1460731215-502b8b33-2535-4bb1-aa1a-dd4f40ff8ea9

1. A method of encoding a video signal representing a sequence of pictures to form an encoded video signal, the method comprising:
generating an error concealment algorithm type indicator for a picture or a part thereof, the error concealment algorithm type indicator for providing an indication of a type of error concealment algorithm, said indication to be used as the basis for choosing, in a corresponding decoding process, a particular error concealment algorithm of the type indicated; and
providing the error concealment algorithm type indicator, for use in the corresponding decoding process, separate from an indication of an encoding mode for the picture.
2. A method according to claim 1, comprising generating the error concealment algorithm type indicator to indicate either a temporally-predictive or a non-temporally-predictive type of error concealment algorithm.
3. A method according to claim 1, comprising generating the error concealment algorithm type indicator by:
comparing a first picture of the sequence or a part thereof with a second picture of the sequence;
calculating a measure of similarity between the first picture or said part thereof and said second picture; and
comparing the measure of similarity with a predetermined criterion of similarity.
4. A method according to claim 2, comprising generating the error concealment algorithm type indicator by:
comparing a first picture of the sequence or a part thereof with a second picture of the sequence;
calculating a measure of similarity between the first picture or said part thereof and said second picture; and
comparing the measure of similarity with a predetermined criterion of similarity.
5. A method according to claim 4, comprising:
generating the error concealment algorithm type indicator to indicate that a non-temporally-predictive error concealment algorithm should be used in the corresponding decoding process for the first picture or said part thereof, when the measure of similarity does not meet the predetermined criterion of similarity; and,
generating the error concealment algorithm type indicator to indicate that a temporally-predictive error concealment algorithm should be used in the corresponding decoding process for the first picture or said part thereof when the measure of similarity meets the predetermined criterion of similarity.
6. A method according to claim 5, comprising updating the error concealment algorithm type indicator when the measure of similarity does not meet the predetermined criterion of similarity.
7. A method according to claim 5, comprising including the error concealment algorithm type indicator in a picture header.
8. A method according to claim 5, comprising encoding the video signal according to the H.263 standard and including the error concealment algorithm type indicator in the Supplemental Enhancement Information of the standard.
9. A method according to claim 5, comprising updating the error concealment algorithm type indicator when the measure of similarity does not meet the predetermined criterion of similarity, and leaving the error concealment algorithm type indicator unchanged when the measure of similarity meets the predetermined criterion of similarity.
10. A method according to claim 5, comprising using a scene identifier as the error concealment algorithm type indicator, the scene identifier having the same value for all pictures of a scene, the scene identifier having a different value for each different scene.
11. A method according to claim 5, comprising using a scene identifier as the error concealment algorithm type indicator, the scene identifier having one of two values, with pictures from adjacent scenes having non-identical scene identifier values.
12. A method according to claim 5, comprising including the error concealment algorithm type indicator in a picture segment header andor a macroblock header.
13. A method according to claim 5, comprising generating the error concealment algorithm type indicator to indicate a type of error concealment algorithm to be applied to a specified rectangular area of a picture.
14. A method according to claim 13, comprising generating multiple error concealment algorithm type indicators for a picture, each error concealment algorithm type indicator being specific to one of a plurality of non-overlapping rectangular areas of the picture.
15. An apparatus for encoding a video signal representing a sequence of pictures to form an encoded video signal, the apparatus being configured to:
generate an error concealment algorithm type indicator for a picture or a part thereof, the error concealment algorithm type indicator for providing an indication of a type of error concealment algorithm, said indication to be used as the basis for choosing, in a corresponding decoding process, a particular error concealment algorithm of the type indicated; and
provide the error concealment algorithm type indicator, for use in the corresponding decoding process, separate from an indication of an encoding mode for the picture.
16. An apparatus according to claim 15, wherein the apparatus is configured to generate the error concealment algorithm type indicator to indicate either a temporally-predictive or a non-temporally-predictive type of error concealment algorithm.
17. An apparatus according to claim 28, wherein the apparatus is configured to generate the error concealment algorithm type indicator by:
comparing a first picture of the sequence or a part thereof with a second picture of the sequence;
calculating a measure of similarity between the first picture or said part thereof and said second picture; and
comparing the measure of similarity with a predetermined criterion of similarity.
18. An apparatus according to claim 16, wherein the apparatus is configured to generate the error concealment algorithm type indicator by:
comparing a first picture of the sequence or a part thereof with a second picture of the sequence;
calculating a measure of similarity between the first picture or said part thereof and said second picture; and
comparing the measure of similarity with a predetermined criterion of similarity.
19. An apparatus according to claim 18, wherein the apparatus is configured to:
generate the error concealment algorithm type indicator to indicate that a non-temporally-predictive error concealment algorithm should be used in the corresponding decoding process for the first picture or said part thereof when the measure of similarity does not meet the predetermined criterion of similarity; and
generate the error concealment algorithm type indicator to indicate that a temporally-predictive error concealment algorithm should be used in the corresponding decoding process for the first picture or said part thereof when the measure of similarity meets the predetermined criterion of similarity.
20. An apparatus according to claim 19, wherein the apparatus is configured to update the error concealment algorithm type indicator when the measure of similarity does not meet the predetermined criterion of similarity.
21. An apparatus according to claim 19, wherein the apparatus is configured to include the error concealment algorithm type indicator in a picture header.
22. An apparatus according to claim 19, wherein the apparatus is configured to encode the video signal according to the H.263 standard and to include the error concealment algorithm type indicator in the Supplemental Enhancement Information of the standard.
23. An apparatus according to claim 19, wherein the apparatus is configured to use a scene identifier as the error concealment algorithm type indicator, the scene identifier having the same value for all pictures of a scene, the scene identifier having a different value for each different scene.
24. An apparatus according to claim 19, wherein the apparatus is configured to use a scene identifier as the error concealment algorithm type indicator, the scene identifier having one of two values, with pictures from adjacent scenes having non-identical scene identifier values.
25. An apparatus according to claim 19, wherein the apparatus is configured to include the error concealment algorithm type indicator in a picture segment header andor a macroblock header.
26. An apparatus according to claim 19, wherein the apparatus is configured to generate the error concealment algorithm type indicator to indicate a type of error concealment algorithm to be applied to a specified rectangular area of a picture.
27. An apparatus according to claim 26, wherein the apparatus is configured to provide multiple error concealment algorithm type indicators for a picture, each error concealment algorithm type indicator being specific to one of a plurality of non-overlapping rectangular areas of the picture.
28. An apparatus according to claim 19, wherein the apparatus is configured to update the error concealment algorithm type indicator when the measure of similarity does not meet the predetermined criterion of similarity, and to leave the error concealment algorithm type indicator unchanged when the measure of similarity meets the predetermined criterion of similarity.
29. A portable radio communications device including at least one of an apparatus for encoding a video signal representing a sequence of pictures to form an encoded video signal and an apparatus for decoding an encoded video signal representing a sequence of pictures, the apparatus for encoding a video signal being configured to:
generate an error concealment algorithm type indicator for a picture or a part thereof, the error concealment algorithm type indicator for providing an indication of a type of error concealment algorithm, said indication to be used as the basis for choosing, in a corresponding decoding process, a particular error concealment algorithm of the type indicated; and
provide the error concealment algorithm type indicator, for use in the corresponding decoding process, separate from an indication of an encoding mode for the picture, and

the apparatus for decoding an encoded video signal being configured to:
receive an error concealment algorithm type indicator for a picture or a part thereof, the error concealment algorithm type indicator being separate from an indication of an encoding mode for the picture;
use the received error concealment algorithm type indicator as the basis for choosing a particular error concealment algorithm of the type indicated; and
apply the chosen error concealment algorithm to conceal an error in the picture or said part thereof.
30. An apparatus for encoding a video signal representing a sequence of pictures to form an encoded video signal, the apparatus comprising one or more functional units for:
generating an error concealment algorithm type indicator for a picture or a part thereof, the error concealment algorithm type indicator for providing an indication of a type of error concealment algorithm, said indication to be used as the basis for choosing, in a corresponding decoding process, a particular error concealment algorithm of the type indicated; and
providing the error concealment algorithm type indicator, for use in the corresponding decoding process, separate from an indication of an encoding mode for the picture.
31. An apparatus for encoding a video signal representing a sequence of pictures to form an encoded video signal, the apparatus comprising a processor configured to control:
generation of an error concealment algorithm type indicator for a picture or a part thereof, the error concealment algorithm type indicator for providing an indication of a type of error concealment algorithm, said indication to be used as the basis for choosing, in a corresponding decoding process, a particular error concealment algorithm of the type indicated; and
provision of the error concealment algorithm type indicator, for use in the corresponding decoding process, separate from an indication of an encoding mode for the picture.
32. An apparatus for decoding an encoded video signal representing a sequence of pictures, the apparatus comprising a processor configured to control:
reception of an error concealment algorithm type indicator for a picture or a part thereof, the error concealment algorithm type indicator being separate from an indication of an encoding mode for the picture;
choice of a particular error concealment algorithm of a type indicated by the received error concealment algorithm type indicator; and
application of the chosen error concealment algorithm to conceal an error in the picture or said part thereof.

The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.

1. A method for optimizing binary codes in a language having access to a zoned decimal type variable, comprising:
detecting, for each variable, an area including access to a zoned decimal type variable and not including an instruction that possibly causes a side effect, from said binary codes read into a memory; and
performing, in said detected area, at least one of a process for converting said zoned decimal type variable to a binary type variable and a process for deleting packunpack code such that a converted result does not change even upon a condition that the packunpack code is deleted from said binary codes.
2. The method according to claim 1, further comprising deleting a code of a residue calculation instruction for digit alignment from said binary codes after said step of performing said process.
3. The method according to claim 2, wherein said step of deleting a code of a residue calculation instruction comprises the steps of:
(A) upon a condition that said variable is an n1-digit variable and further a condition n1\u2267n2 is satisfied for a residue calculation instruction for making the variable an n2-digit variable, deleting a code of a residue calculation instruction for making said variable an n1-digit variable;
(B) upon a condition that case (A) does not apply,
(a) upon a condition that said variable is unsigned,
(a1) upon a condition that operations of addition, multiplication, or subtraction are continuous in said detected area and only in case the range of operations in which it can be guaranteed that no binary calculation overflow occurs is known at the time of compilation, deleting, from said binary codes, a code of a residue calculation instruction other than a code of the last one residue calculation instruction among the guaranteed continuous operations;
(a2) upon a condition that case (a1) does not apply, guaranteeing that the number of digits is correct before an operation that does not satisfy (a1);

(b) upon a condition that said variable is signed,
(b1) upon a condition that operations of addition, multiplication, or subtraction are continuous in said detected area and only in case the range of operations in which it can be guaranteed that a sign does not change during the continuous operations and that no binary calculation overflow occurs is known at the time of compilation, deleting, from said binary codes, a code of a residue calculation instruction other than a code of the last one residue calculation instruction among the guaranteed continuous operations; and
(b2) upon a condition that case (b1) does not apply, guaranteeing that the number of digits is correct before an operation that does not satisfy (b1).
4. The method according to claim 2, further comprising reducing an operation strength of each remaining residue calculation instruction in said binary codes after said step of deleting a code of a residue calculation instruction for digit alignment from said binary codes,
wherein said operation strength is reduced by replacing said residue calculation operation with the following equation:
result=(numerator<denominator&&numerator>=0)?numerator:(numerator%denominator).
5. The method according to claim 3, wherein said step of guaranteeing in (a2) comprises generating a code of a residue calculation instruction for guaranteeing that said number of digits is correct before said operation that does not satisfy (a1), and inserting said generated code of said residue calculation instruction into said binary codes.
6. The method according to claim 3, wherein said step of guaranteeing in (b2) comprises generating a code of a residue calculation instruction for guaranteeing that said number of digits is correct before said operation that does not satisfy (b1), and inserting said generated code of said residue calculation instruction into said binary codes.
7. The method according to claim 1, wherein said step of detecting comprises:
generating a set, hereinafter also referred to as GEN(B), of variables accessed after an instruction that possibly causes a side effect in each block of said binary codes, and a set, hereinafter also referred to as KILL(B), containing all variables in each block in case said instruction that possibly causes a side effect exists, said KILL(B) being an empty set in case an instruction that possibly causes a side effect does not exist;
determining a set, hereinafter also referred to as IN(B), of variables at the beginning of each block from a set, hereinafter also referred to as OUT(B), of variables at the end of each block, said GEN(B), and said KILL(B);
setting set information modified at each instruction in each block as additional information for said instruction in said block, said set information being determined on the basis of said IN(B); and
regarding an area in which each variable is continuous as an area not including said instruction that possibly causes a side effect for said variable with respect to said additional information set for each instruction.
8. The method according to claim 7, wherein said generating comprises:
determining whether an instruction in each block is an access to a variable and whether said instruction possibly causes a side effect;
repeating said determination for each instruction in the order of execution; and
generating said GEN(B) and said KILL(B) from a result of said determination.
9. The method according to claim 7, wherein said OUT(B) and said IN(B) are determined from the following data flow equations:
OUT(B)=(IN(B)\u2212KILL(B))\u222aGEN(B);and
IN(B)=\u2229N\u03b5Pred(B)OUT(N),

wherein the OUT(N) is a set of variables at the end of a block N immediately before a block B being processed with said equations, the variables being accessed after an instruction that possibly causes a side effect.
10. The method according to claim 7, wherein said step of setting comprises:
determining whether an instruction in each block is an access to a variable and whether said instruction possibly causes a side effect and modifying said set information of the IN(B);
setting said set information modified at each instruction in each block as the additional information for said instruction in said block, said set information being determined on the basis of said IN(B); and
repeating said determination and said modification of said set information of said IN(B) for each instruction in the order of execution.
11. The method according to claim 1, wherein said process for deleting the packunpack code from the binary codes comprises:
for a variable for which a write operation is performed in said area not including an instruction that possibly causes a side effect, deleting, from said binary codes, a code other than the first and last type conversion instructions among packunpack codes for said zoned decimal type variable in said area not including an instruction that possibly causes a side effect; and
for a variable for which a write operation is not performed in said area not including an instruction that possibly causes a side effect, deleting, from said binary codes, a code other than the first type conversion instruction among packunpack codes for said zoned decimal type variable in said area not including an instruction that possibly causes a side effect.
12. The method according to claim 11, wherein said process for deleting the packunpack code from the binary codes further comprises:
in response to deleting said code other than said type conversion instruction(s), further deleting a sign processing code associated with said deleted code from said binary codes.
13. The method according to claim 1, wherein:
said process for converting said zoned decimal type variable into said binary type variable comprises estimating a cost difference before and after said conversion process and performing said conversion process upon a condition that an estimated cost after said conversion process is lower than an estimated cost before said conversion process, and
said process for deleting the packunpack code from said binary codes is performed for a part not subjected to said conversion process as a result of calculation of estimation of said cost difference.
14. The method according to claim 13, wherein said cost difference before and after the conversion process is determined with the following equation:
cost difference=a difference in cost of accessing a variable by an instruction between a case in which said variable is a zoned decimal type variable and a case in which said variable is a binary type variable, multiplied by the frequency of execution of said instruction+a cost of converting into said binary type variable multiplied by the frequency of execution of entering each detected area+a cost of converting into said zoned decimal type variable multiplied by the frequency of execution of exiting from each detected area+a cost of a residue calculation instruction for digit alignment multiplied by the frequency of execution of said residue calculation instruction.
15. The method according to claim 1, wherein said instruction that possibly causes a side effect is one of an instruction that possibly causes process inconsistency upon a condition that said zoned decimal type variable is converted into said binary type variable, and an instruction that possibly causes process inconsistency upon a condition that the packunpack code is deleted.
16. The method according to claim 1, wherein said instruction that possibly causes a side effect is at least one of:
an instruction that executes an instruction out of a compilation scope;
an instruction that possibly causes an exception observable from an application; and
an instruction that changes at least one of a base address register and an index register of the variable.
17-19. (canceled)
20. A computer program product for optimizing binary codes in a language having access to a zoned decimal type variable, the computer program product comprising:
a computer readable storage medium having computer readable non-transient program code embodied therein, the computer readable program code comprising:
computer readable program code configured to perform the steps of a method according to claim 1.