WO2003090475A1 - Procede pour calculer un vecteur de mouvement - Google Patents
Procede pour calculer un vecteur de mouvement Download PDFInfo
- Publication number
- WO2003090475A1 WO2003090475A1 PCT/JP2003/004809 JP0304809W WO03090475A1 WO 2003090475 A1 WO2003090475 A1 WO 2003090475A1 JP 0304809 W JP0304809 W JP 0304809W WO 03090475 A1 WO03090475 A1 WO 03090475A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- motion vector
- block
- picture
- motion
- encoded
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/107—Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/109—Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/127—Prioritisation of hardware or computational resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/16—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter for a given display mode, e.g. for interlaced or progressive display mode
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/172—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/423—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/573—Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/577—Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/58—Motion compensation with long-term prediction, i.e. the reference frame for a current frame not being the temporally closest one
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/583—Motion compensation with overlapping blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/184—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
Definitions
- the present invention relates to a moving image encoding method and decoding method, and in particular, a plurality of pictures that are already encoded in the order of display times that have already been encoded or a plurality of pictures that are included in the order of display times or the order of display times. This is related to a method for predictive coding with reference to multiple pictures in both the front and rear. Background art
- the amount of information is compressed by reducing redundancy in the time and spatial directions. Therefore, in inter-picture predictive coding for the purpose of reducing temporal redundancy, motion detection and motion compensation are performed in block units with reference to the forward or backward picture, and the obtained predicted image and the current picture are detected. Encoding is performed on the difference value.
- H.26 which is a moving picture coding method currently being standardized
- a picture that performs only intra-picture prediction coding (I picture) and a picture that performs inter-picture prediction coding with reference to one picture (Hereinafter referred to as “P picture”)
- I picture intra-picture prediction coding
- P picture picture that performs inter-picture prediction coding with reference to one picture
- two pictures in front in display time order, two pictures in rear in display time order, or one picture each in front and rear in display time order A picture (hereinafter referred to as “B picture”) that performs inter-picture predictive coding with reference to a picture has been proposed.
- FIG. 1 is a diagram showing an example of a reference relationship between each picture in the moving picture coding method described above and a picture referred to thereby.
- Picture I 1 does not have a reference picture and performs intra-picture predictive coding
- picture P 1 0 performs inter-picture predictive coding with reference to P 7 ahead in display time order.
- picture B 6 refers to the two pictures ahead in display time order
- picture B 1 2 refers to the two pictures behind in display time order
- picture B 1 8 forwards in display time order
- Inter-picture predictive coding is performed with reference to one picture at the back and each other.
- a direct mode as one prediction mode of bi-directional prediction that performs inter-picture predictive coding by referring to one picture each in front and back in display time order.
- the block to be encoded does not have a motion vector directly, but by referring to the motion vector of the block at the same position in the encoded picture that is nearby in the display time order. Two motion vectors for actual motion compensation are calculated and a predicted image is created.
- Figure 2 shows a case where the coded picture referenced to determine the motion vector in direct mode has a motion vector that refers to only one picture ahead in display time order.
- ⁇ P j indicated by the vertical line segment indicates a mere picture regardless of the picture type.
- picture P 83 is a picture that is currently targeted for encoding, and bi-directional prediction is performed using picture P 82 and picture P 84 as reference pictures.
- the motion vector of the block MB 8 1 is at the same position as the picture P 8 4 which is the encoded back reference picture. It is determined using the motion vector of block MB 8 2.
- this block MB 8 2 has only one of the motion vectors MV 8 1 as motion vectors, the two motion vectors M to be sought V 8 2 and motion vector MV 8 3 are calculated directly by applying scaling to motion vector MV 8 1 and time interval TR 8 1 based on equations 1 (a) and (b).
- the time interval TR 8 1 indicates the time interval from the picture ⁇ 8 4 to the picture ⁇ 8 2, that is, from the picture ⁇ 8 4 to the reference picture indicated by the motion vector MV 8 1.
- the time interval TR 8 2 indicates the time interval from the picture ⁇ 83 to the reference picture indicated by the motion vector ⁇ V 8 2.
- the time interval TR 83 shows the time interval from the picture ⁇ 83 to the reference picture indicated by the motion vector MV 83.
- the spatial prediction of the direct mode for example, encoding is performed in units of macroblocks consisting of 16 pixels XI 6 pixels, and the code of the motion vectors of 3 macroblocks around the macroblock to be encoded is Select one of the motion vectors obtained by referring to the picture that is closest in display time order from the encoding target picture, and select the selected motion vector as the motion vector of the encoding target macro block. And If all three motion vectors refer to the same picture, select their median. If two of the three reference pictures that are closest to the current picture in display time order, the remaining one is regarded as a “0” vector and their median value is selected. To do.
- FIG. 3 (a) is a diagram showing an example of a motion vector prediction method in a case where a forward picture is referred to in the order of display time in the B picture using the conventional direct mode spatial prediction method.
- P indicates a P picture
- B indicates a B picture
- the numbers attached to the picture types of the four pictures on the right side indicate the order in which each picture is encoded.
- the shaded macroblock in picture B4 is the target of encoding.
- the motion vectors for the three encoded macroblocks are already calculated and stored. This motion vector may be obtained by referring to a different picture for each macroblock, even if it is a macroblock in the same picture. Which picture is referenced by each of the three neighboring macroblocks can be known from the reference index of the reference picture used to encode each macroblock. Details of the reference index will be described later.
- motion vectors a and motion vectors are motion vectors a and motion vectors, respectively.
- vector b and motion vector c are obtained by referring to the P-picture whose picture number 1 1 is ⁇ 1 1, It is assumed that the motion vector c has been obtained by referring to the P picture with picture number 11 being “8”.
- the motion vectors 3 and b that are motion vectors that refer to the pixel that is closest to the encoding target pixel in the display time order.
- Two are candidates for motion vectors of the target macroblock.
- the motion vector c is regarded as “0”, and the median value of the motion vector a, motion vector b, and motion vector c is selected, and the motion vector of the macroblock to be encoded is selected. It is assumed to be a tower.
- each macroblock in a picture may be encoded with a field structure that performs interlacing, or may be encoded with a frame structure that does not perform interlace, . Therefore, in MPEG-4, etc., there may be a case where a macro frame encoded with the field structure and a macro block encoded with the frame structure are mixed in one reference frame. Even in such a case, if all three macroblocks surrounding the macroblock to be encoded are encoded with the same structure as the encoding target macroblock, there is a problem using the direct mode spatial prediction method described above. Therefore, one motion vector of the encoding target macroblock can be derived.
- the three neighboring macroblocks are also encoded with the frame structure, or the encoding target macro encoded with the field structure.
- the surrounding 3 macroblocks are also coded in a field structure.
- three motion vectors corresponding to the top fields of the three neighboring macroblocks are used for the top field of the macroblock to be encoded.
- the surrounding 3 macroblocks By using the three motion vectors corresponding to the rock's pottom field, the motion vector of the macroblock to be encoded can be derived for each of the top field and the pottom field by the method described above. it can.
- the block to which the motion vector is referenced is B such as B 6 in Fig. 1.
- the block has a plurality of motion vectors, so that there is a problem that the motion vector calculation by scaling based on Equation 1 cannot be directly applied.
- the accuracy of the motion vector value may not match the predetermined accuracy.
- the encoding target macroblock is either of the field structure or the frame structure. It is not stipulated whether the structure is encoded or not, and the motion vectors of the surrounding macroblocks such as those encoded in the field structure and those encoded in the frame structure are mixed. The method for selecting the motion vector of the macroblock to be encoded is also not specified.
- An object of the present invention is to provide a spatial direction motion vector prediction method with high accuracy in the direct mode even when a block encoded with a field structure and a block encoded with a frame structure coexist. It is to be. Disclosure of the invention
- the motion vector calculation method of the present invention uses a motion vector of a block that constitutes a picture of a moving image as a peripheral that has already been calculated.
- This is a motion vector calculation method derived from the motion vector of a block, and when the block to be derived is encoded or decoded with a frame structure, it is encoded or decoded with a field structure.
- the motion vectors that satisfy certain conditions out of the motion vectors of the top field block and the bottom field block are subject to the above derivation.
- neighboring blocks encoded or decoded in the frame structure are adjacent to each other.
- the motion vector of the target block is derived using the motion vector that satisfies a certain condition among the motion vectors of the two blocks. That. Therefore, even if the block to be derived and the neighboring block have different coding or decoding structures, a motion vector that satisfies a certain condition among the motion vectors of the two blocks in each neighboring block is used.
- the motion vector of the block to be derived can be derived.
- the certain condition is that when the block to be derived is encoded or decoded in a frame structure, the motion field of the top field block is calculated.
- the picture referenced by the vector and the motion vector of the block in the above-mentioned field field is a picture having the same reference index among the referenceable pictures.
- the pictures referenced by the motion vectors of the two adjacent blocks are the same reference index among the pictures that can be referred to. It may be a condition that the picture has.
- the motion vector of the block to be derived is calculated using the average value of the motion vectors of the two blocks. It may be derived.
- FIG. 1 is a schematic diagram for explaining a reference relationship of pictures in a conventional example.
- FIG. 2 is a schematic diagram for explaining the operation of the conventional direct mode.
- FIG. 3 (a) is a diagram showing an example of a motion vector prediction method in the case where a temporal forward picture is referred to in a B picture using a conventional direct mode spatial prediction method.
- Fig. 3 (b) is a diagram showing an example of an illumination list created for each picture to be encoded.
- FIG. 4 is an explanatory diagram of picture numbers and reference indexes.
- FIG. 5 is a diagram showing the concept of an image encoded signal format ⁇ ⁇ ⁇ by a conventional image encoding device.
- FIG. 6 is a block diagram for explaining the operation of encoding according to Embodiment 1 and Embodiment 2 of the present invention.
- FIG. 7 is a schematic diagram for explaining the operation when the block to which the motion vector is referred in the direct mode has two motion vectors that refer to the front in the display time order.
- FIG. 8 is a schematic diagram for comparing the reference relationship of pictures in the display order and the encoding order.
- FIG. 9 is a schematic diagram for explaining the operation when the block to which the motion vector is referenced in the direct mode has two motion vectors that refer to the rear in the display time order.
- FIG. 10 is a schematic diagram for comparing the reference relationship of pictures in the display order and the encoding order.
- FIG. 11 is a block diagram for explaining the decoding operation according to the fifth and sixth embodiments of the present invention.
- Fig. 12 is a schematic diagram for explaining the operation when the block to which the motion vector is referenced in the direct mode has two motion vectors that refer to the front in the display time order.
- Fig. 13 is a schematic diagram for explaining the operation when the block to which the motion vector is referenced in the direct mode has two motion vectors that refer to the rear in the order of display time.
- Fig. 14 is a schematic diagram for explaining the operation when the block to which the motion vector is referenced in the direct mode has two motion vectors that refer to the rear in the order of display time.
- Fig. 15 is a schematic diagram for explaining the operation when the block to which the motion vector is referred in the direct mode has two motion vectors that refer to the front in the display time order.
- FIG. 16 is a schematic diagram for explaining the operation when the block to which the motion vector is referred in the direct mode has two motion vectors that refer to the front in the display time order.
- FIG. 18 is a schematic diagram for explaining the operation when the block to which the motion vector is referred in the direct mode has two motion vectors that refer to the front in the display time order.
- Fig. 19 is a schematic diagram for explaining the operation when the block to which the motion vector is referenced in the direct mode has two motion vectors that refer to the back in the order of display time.
- FIG. 20 is a schematic diagram for explaining the operation when the block to which the motion vector is referred in the direct mode has two motion vectors that refer to the rear in the display time order.
- Figure 21 is a schematic diagram for explaining the operation when the block to which the motion vector is referenced in the direct mode has two motion vectors that refer to the rear in the order of display time.
- Figure 22 is a schematic diagram for explaining the operation when the block to which the motion vector is referenced in the direct mode has one motion vector that refers to the back in the order of display time.
- Fig. 23 is a schematic diagram for explaining the operation when referring to the motion vectors of the surrounding blocks in the direct mode.
- FIG. 24 is a diagram showing a coded sequence.
- Fig. 25 is a diagram showing the relationship between the block to be encoded and the blocks around the block to be encoded.
- Fig. 26 shows the motion vectors of the blocks around the current block.
- FIG. 27 is a diagram showing motion vectors of blocks around the encoding target block.
- Figure 28 shows the motion vectors of the blocks around the current block FIG.
- FIG. 29 is a diagram showing motion vectors of blocks around the encoding target block.
- FIG. 30 is a diagram showing motion vectors of blocks around the encoding target block.
- Fig. 31 shows the motion vectors of the blocks around the encoding target block.
- Fig. 32 shows the motion vectors of the blocks around the encoding target block.
- Fig. 33 shows the motion vectors of the blocks around the encoding target block.
- Figure 34 shows the procedure for determining the motion vector used in the direct mode.
- Fig. 35 shows the relationship between the block to be encoded and the blocks around the block to be encoded.
- FIG. 36 is a diagram showing a procedure for determining the motion vector of the block to be encoded based on the value of the reference index.
- Figure 37 shows the bi-directional prediction in direct mode when there is only one motion vector that refers to a picture stored in memory for a long time.
- Figure 3-8 is a diagram showing bi-directional prediction in the direct mode when there are two motion vectors that refer to pictures stored in the memory for a long time.
- Figure 3-9 shows the motion vector calculation method. It is a figure which shows the flow of a process of.
- FIG. 40 is a block diagram showing the configuration of the moving picture encoding apparatus 100 according to Embodiment 11 of the present invention.
- Fig. 4 1 (a) is a sequence of pictures in time order in the video encoding device 100. It is a figure which shows the order of the input frame.
- Fig. 41 (b) is a diagram showing the order when the frame sequence shown in Fig. 41 (a) is rearranged in the coding order.
- FIG. 42 is a diagram showing the structure of the reference picture list for explaining the first embodiment.
- Figure 43 shows that (a) is a motion model using the direct mode spatial prediction method when a macroblock pair encoded with the field structure and a macroblock pair encoded with the frame structure are mixed. This is a flow chart showing an example of the procedure for calculating the spectrum.
- FIG. 43 (b) is a diagram showing an example of the arrangement of peripheral macroblock pairs to which the present invention is applied when the encoding target macroblock pair is encoded with a frame structure.
- FIG. 43 (c) is a diagram showing an example of the arrangement of peripheral macroblock pairs to which the present invention is applied when the encoding target macroblock pair is encoded with the field structure.
- FIG. 44 is a diagram showing the data configuration of a macroblock pair when encoding with a frame structure and the data configuration of a macroblock pair when encoding with a field structure.
- FIG. 45 is a flowchart showing a more detailed processing procedure in step S 300 shown in FIG.
- FIG. 46 is a relationship display diagram showing the relationship between the reference field index and the reference frame index.
- FIG. 47 is a flowchart showing a more detailed processing procedure in step S 300 shown in FIG.
- FIG. 48 is a diagram showing the positional relationship between the encoding target macroblock pair and the neighboring macroblock pairs for explaining the first embodiment.
- FIG. 49 is a diagram showing the positional relationship between the encoding target macroblock pair and the neighboring macroblock pairs for explaining the first embodiment.
- FIG. 50 is a diagram illustrating an example of the data configuration of the code string 70 0 generated by the code string generation unit 10 4.
- FIG. 51 is a block diagram showing the configuration of moving picture decoding apparatus 8 0 0 that decodes code string 7 0 0 shown in FIG.
- FIG. 52 (a) is a diagram showing an example of the physical format of the flexible disk that is the recording medium body.
- Fig. 52 (b) is a diagram showing the appearance, cross-sectional structure, and flexible disk as seen from the front of the flexible disk.
- FIG. 52 (c) is a diagram showing a configuration for recording and reproducing the above program on the flexible disk FD.
- FIG. 53 is a block diagram showing the overall configuration of a content supply system that implements a content distribution service.
- FIG. 54 shows an example of the appearance of a mobile phone.
- FIG. 55 is a block diagram showing the configuration of the mobile phone.
- FIG. 56 is a diagram for explaining a device that performs the encoding process or the decoding process described in the above embodiment, and a system using this device.
- the present invention solves the problems of the prior art.
- direct mode even when a block that refers to a motion vector belongs to a B picture, the motion vector used for motion compensation is determined without contradiction.
- An object of the present invention is to propose a method for encoding and decoding a moving image that can be performed.
- the reference index will be described first.
- Figure 3 (b) shows the reference picture list created for each picture to be encoded. It is a figure which shows an example of ⁇ 10.
- the reference picture list shown in Fig. 3 (b) ⁇ 1 0 is displayed around the time centered on one B picture, and surrounding pictures that can be referenced by the B picture and their picture types.
- Picture number 11, first reference index 12 and second reference index 13 are shown.
- Picture number 1 1 is, for example, a number indicating the order in which each picture is encoded.
- the first reference index 1 2 is a first index indicating the relative positional relationship of neighboring pictures with respect to the encoding target picture. For example, when the encoding target picture mainly refers to the forward picture in display time order. Used as an index of.
- This list of the first reference index 1 2 is called “reference index list 0 (I i stO) J or ⁇ first reference index list j. Reference index is also called relative index.
- the value of the first reference index 1 2 is first closer to the encoding target picture in display time order than the reference picture having the display time before the encoding target picture. An integer value that is incremented from “0 J” to “1” is assigned. If all the reference pictures having the display time before the current picture to be encoded are assigned a value that is incremented by ⁇ 0 J by ⁇ 1 j, the next display time after the current picture to be encoded is For the reference picture, the following values are assigned from the closest to the current picture in display time order.
- the second reference index 1 3 is a second index indicating the relative positional relationship of the peripheral picture with respect to the encoding target picture.
- This list of the second reference index 1 3 is called “reference index list 1 (li st1) J” or “second reference index list”.
- Second reference index 1 3 An integer value incremented by 1 J from ⁇ 0 J is assigned to the reference picture having the display time after the picture to be encoded, in the order of display time order from the target picture.
- a reference index can be assigned a smaller number for pictures separated by display time, but such a reference index can refer to pictures separated by display time, for example. This is used when encoding efficiency is improved.
- the reference index in a block is represented by a variable-length codeword, and a code with a shorter code length is assigned as the value is smaller. Therefore, for a picture whose coding efficiency is improved by referring to it By assigning a smaller reference index, the code amount of the reference index is reduced, and the coding efficiency is further improved.
- FIG. 4 is an explanatory diagram of picture numbers and reference indexes.
- Figure 4 shows an example of the reference picture list ⁇ , which shows the reference picture used to encode the center B picture (dotted line), its picture number, and the reference index.
- Fig. 4 (A) shows the reference index according to the reference index allocation method in the initial state described with reference to Fig. 3. It shows the case where is assigned.
- Fig. 5 is a conceptual diagram of the image encoded signal format by the conventional image encoding device.
- Picture is an encoded signal for one picture
- Header is a header encoded signal included at the head of the picture
- Blockl is a block encoded signal in direct mode
- Block2 is a block encoded signal by interpolation prediction other than direct mode.
- RidxO and Ridxl are the first reference index and the second reference index, respectively
- MV0 and MV1 are the first motion vector and the second motion vector, respectively.
- the coding block Block2 has two reference indexes RidxO and Ridxl in this order in the coded signal to indicate the two reference pictures used for interpolation.
- first motion vector MV0 and the second motion vector MV1 of the encoding block Block2 are encoded in this order in the encoded signal of the encoding block Block2.
- Whether to use the reference index RidxO or Ridxl can be determined by PredType.
- the picture (first reference picture) referenced by the first motion vector MV0 is indicated by the first reference index R idxO and the picture (second reference picture) referenced by the second motion vector MV1 is indicated. This is indicated by the second reference index R i dx1.
- the motion vector MV0 and MV1 refer to a picture in two directions
- RidxO and Ridxl are used and it is indicated that the picture is referenced in one direction of motion vector MV0 or MV1, RidxO or Ridxl, which is the reference index corresponding to the motion vector, is used.
- RidxO or Ridxl which is the reference index corresponding to the motion vector.
- direct mode is indicated, neither Ridx0 nor Ridxl is used.
- the first reference picture is specified by the first reference index, and is generally a picture having a display time before the current picture to be encoded.
- the second reference picture is specified by the second reference index. In general, the picture has a display time after the picture to be encoded. However, as can be seen from the example of how to add a reference index in Fig. 4, the first reference picture is encoded.
- the second reference picture is a picture having a display time earlier than the current picture.
- the first reference index R i dxO is a reference index indicating the first reference picture referenced by the first motion vector MV0 of the block BI ock2
- the second reference index R idx 1 is the second motion of the block BI ock2. This is a reference index that indicates the second reference picture referenced by vector MV1.
- the buffer control signal (RPSL in Fig. 5 Header) in the encoded signal
- the assignment it is possible to make the reference picture with the second reference index ⁇ 0 J an arbitrary reference picture. For example, as shown in Fig. 4 (B), the assignment of the reference index to the picture number is changed. can do.
- the moving images to be encoded are input to the frame memory 1 0 1 in picture units in time order, and further rearranged in the order in which encoding is performed.
- Each picture is called a block, for example, divided into groups of 16 pixels horizontally 16 pixels vertically, and the subsequent processing is performed in units of blocks.
- the block read from the frame memory 1 0 1 is input to the motion vector detection unit 1 0 6.
- a motion vector of a block to be encoded is detected using an image obtained by decoding an encoded picture stored in the frame memory 105 as a reference picture.
- the mode selection unit 10 07 uses the motion vector obtained by the motion vector detection unit 106 and the encoded pixels stored in the motion vector storage unit 108.
- the optimal prediction mode is determined while referring to the motion vector used in the check.
- the prediction mode obtained by the mode selector 1 0 7 and the predicted image determined by the motion vector used in the prediction mode are input to the difference calculator 1 0 9.
- the difference from the block to be encoded is taken.
- a prediction residual image is generated, and encoding is performed in the prediction residual encoding unit 100.
- the motion vector used in the prediction mode obtained by the mode selection unit 107 is stored in the motion vector storage unit 10 8 for use in later encoding of the picture.
- the above processing flow is the operation when inter-picture predictive coding is selected, but switching to intra-picture predictive coding is performed by switch 1 1 1.
- the code sequence generation unit 103 performs variable-length encoding on the control information such as the moving vector and the image information output from the prediction residual encoding unit 102, and finally The output code string is generated.
- the motion vector is detected for each block or each area into which the block is divided.
- An encoded picture that is positioned forward and backward in the display time order with respect to an image to be encoded is set as a reference picture, and a motion map indicating a position predicted to be optimal in the search area within the picture is displayed.
- a prediction image is created by determining the spectrum and the prediction mode.
- Direct mode is one of the two-way prediction methods that perform inter-picture prediction coding by referring to the two pictures located in front and back in the display time order.
- the block to be encoded does not have a motion vector directly, but refers to the motion vector of the block at the same position in the encoded picture nearby in display time order. Based on the above, two motion vectors for actual motion compensation are calculated and a predicted image is created.
- Figure 7 shows that the coded block referenced to determine the motion vector in direct mode had two motion vectors referencing the two pictures ahead in display time order.
- picture P 2 3 is the picture currently being encoded, and two-way prediction is performed using picture P 2 2 and picture P 24 as reference pictures.
- the block to be encoded is block MB 2 1
- the two motion vectors required at this time are pictures that are encoded backward reference pictures (second reference pictures specified by the second reference index). It is determined using the motion vector of block MB 22 in the same position of P24.
- This block MB 2 2 has two motion vectors MV 2 1 and MV 2 2 as motion vectors, so the two motion vectors MV 2 3 and motion vectors sought are Toll MV 24 cannot be calculated by applying direct scaling as in Equation 1. Therefore, as shown in Equation 2, the motion vector MV_R EF is calculated as the motion vector to which scaling is applied from the average value of the two motion vectors in block MB 2 2, and the time interval at that time is calculated. TR—REF is similarly calculated from the average value. Then, the motion vector MV 2 3 and the motion vector MV 24 are calculated by applying scaling to the motion vector MV—REF and the time interval TR—REF based on Equation 3.
- the time interval TR 2 1 is from picture P 2 4 to picture P 2 1, that is, motion vectors.
- the time interval until the picture referenced by the vector MV 2 1 is shown, and the time interval TR 2 2 shows the time interval until the picture referenced by the motion vector MV 2 2.
- the time interval TR 2 3 indicates the time interval to the picture referenced by the motion vector MV 23
- the time interval TR 2 4 indicates the time interval until the picture referenced by the motion vector MV 24. Yes.
- the time interval between these pictures can be determined based on, for example, information indicating the display time and display order attached to each picture, or the difference between the information.
- the picture to be encoded refers to the adjacent picture, but it can be handled in the same way even when a non-adjacent picture is referenced.
- T R_R E F (T R 2 1 + T R 2 2) / 2
- a block to which a motion vector is referred in the direct mode has a plurality of motion vectors that refer to a picture ahead in the display time order, the plurality of motions.
- Reference a motion vector in direct mode by generating one motion vector using a vector and applying scaling to determine the two motion vectors that will actually be used for motion compensation
- the motion vector M to be scaled is obtained.
- the motion vector MV 2 1 ' is calculated by scaling so that the time interval is the same as the motion vector M V 2 2 for V 2 1. Then, the motion vector MV—R E F is determined by taking the average of the motion vector MV 2 1 ′ and the motion vector MV 2 2. At this time, the time interval T R — R E F uses the time interval T R 2 2 as it is. Note that instead of scaling motion vector MV 2 1 to motion vector MV 2 1 ′, motion vector MV 2 2 is scaled and motion vector MV 2 2 It can be handled in the same way when '.
- the motion vector MV—REF and time interval TR—REF to be scaled are expressed as Instead of using the average of the two motion vectors as shown in 2, the motion vector referring to the picture P 2 2 with the shorter time interval is compared to the picture P 24 referring to the motion vector as shown in Equation 5.
- the motion vector MV 2 1 and the time interval TR 2 1 that refer to the picture P 2 1 with the longer time interval as shown in Equation 6 are set as the motion vector MV—REF and the time interval TR—REF. It can also be used directly.
- each block belonging to picture P 24 to which the motion vector is referenced can realize motion compensation by storing only one of the two motion vectors. It is possible to reduce the capacity of the motion vector storage unit in the device.
- Fig. 8 (a) shows the reference relationship in how pictures are arranged in the order in which they are displayed as moving images, as in Fig. 7.
- Fig. 8 (b) shows the frame memory 10 in Fig. 6. An example of sorting in the order of encoding in 1 is shown.
- picture P23 is a picture that is encoded in direct mode
- picture P24 is a picture that is referenced to a motion vector at that time. Shows chia.
- TR The motion vector MV 2 2 and the time interval TR 2 2 are applied directly as REF.
- the motion vector MV 2 1 and the time interval TR 2 1 are directly applied as the motion vector MV_R EF and the time interval TR—REF as shown in Equation 6.
- the motion vector used in the direct mode is calculated by scaling using the temporal distance between the pixels with respect to the motion vector to be referenced. May be calculated by multiplying the reference motion vector by a constant.
- the constant used for constant multiplication may be changeable when encoding or decoding is performed in units of multiple blocks or in units of multiple pictures.
- Equation 2 (a) or Equation 4 (b) when calculating the motion vector MV_REF, the right side of Equation 2 (a) or Equation 4 (b) is calculated, and then the predetermined motion vector is calculated.
- the accuracy of the image for example, if the motion vector is 12-pixel accuracy, the value may be rounded to the nearest 0.5 pixel).
- the accuracy of the motion vector is not limited to 1/2 pixel accuracy.
- the accuracy of the motion vector can be determined in units of blocks, pictures, or sequences, for example.
- Equation 3 (a), Equation 3 (b), and Equation 4 (a) motion vector MV 2 3 and motion vector MV 2 4 motion vector M
- the right side of Equation 3 (a), Equation 3 (b), and Equation 4 (a) may be calculated, and then rounded to the accuracy of a predetermined motion vector.
- Figure 9 shows the operation when the block referenced to determine the motion vector in the direct mode has two motion vectors that refer to the two pictures behind in the display time order. It is a thing. Picture P 4 3 is the picture currently being encoded, and bi-directional prediction is performed using picture P 4 2 and picture P 4 4 as reference pictures. If the block to be encoded is block MB 4 1, the two motion vectors required at this time are encoded back reference pictures (second reference pictures specified by the second reference index). It is determined using the motion vector of block MB 4 2 at the same position in a picture P 4 4.
- the motion vector M V_R EF is determined from the average value of the two motion vectors of block MB 4 2 as the motion vector to which scaling is applied. Determined from the average value.
- the motion vector MV 4 3 and the motion vector MV 4 4 are calculated by applying scaling to the motion vector M V_R EF and the time interval TR—REF.
- the time interval TR 4 5 is from picture P 4 4 to picture P 4 5, that is, the motion vector MV 4 5 is
- the time interval to the picture to be referenced is shown
- the time interval TR 4 6 shows the time interval to the picture to which the motion vector MV 4 6 refers.
- the time interval TR 4 3 indicates the time interval until the picture referenced by the motion vector MV 4 3
- the time interval TR 4 4 indicates the time interval until the picture referenced by the time interval MV 4 4 Is.
- the time interval between these pictures can be determined based on, for example, information indicating the display time and display order attached to each picture, or the difference between the information. it can.
- the picture to be encoded refers to the adjacent picture, but it can be handled in the same way even when a non-adjacent picture is referenced.
- T R_R E F (T R 4 5 + T R 4 6) / 2
- a block to which a motion vector is referred in the direct mode has a plurality of motion vectors that refer to a picture that is behind in display time order, the plurality of motion vectors.
- Reference a motion vector in direct mode by generating one motion vector using the vector and applying scaling to determine the two motion vectors that will actually be used for motion compensation
- Equation 9 the motion vector M as shown in Equation 9 (a)
- the motion vector MV 4 6 ' is calculated by scaling so that the time interval for V 4 6 is the same as that of motion vector M V 4 5. Then, the motion vector M V — R E F is determined by taking the average of the motion vector M V 4 6 ′ and the motion vector MV 4 5. At this time, the time interval T R — R E F uses the time interval T R 4 1 as it is. Note that instead of scaling motion vector MV 4 6 to motion vector MV 4 6 ', motion vector MV 45 is scaled and motion vector MV 4 5'. Can be handled in the same way.
- Fig. 10 (a) shows the reference relationship in how pictures are arranged in the order in which they are displayed as moving images, as in Fig. 9.
- Fig. 10 (b) shows the frame memory in Fig. 6. An example of rearrangement in the order of encoding in 1 0 1 is shown. Note that picture P 4 3 is a picture that is encoded in direct mode, and picture P 44 is referred to a motion vector at that time.
- FIG. 10 (b) A picture is shown.
- the motion vector that directly refers to the picture that is encoded first is used, so the motion vector MV—REF and Eq. 11 Time interval TR — Movement vector MV 4 6 and time interval TR 4 6 apply directly as REF.
- the motion vector MV—REF and the time interval TR—RE are directly applied to the motion vector MV 45 and the time interval TR 4 5 as in Equation 10. Since each block belonging to picture P 44 to which the motion vector is referenced can store motion compensation by storing only one of the two motion vectors, It is possible to keep the capacity of the motion vector memory small.
- each block belonging to picture P 44 to which the motion vector is referenced does not need to store the motion vector, so the capacity of the motion vector memory in the encoding device is not required. Can be kept small, and the processing for calculating the motion vector can be omitted.
- the motion vector in the direct mode has two motion vectors that refer to the two pictures behind in the display time order
- the motion vector It is also possible to prohibit reference and apply only predictive coding other than direct mode.
- picture P 4 4 in Fig. 9 May have a low correlation with the forward picture in the display time order, so it is possible to generate a more accurate prediction image by prohibiting the direct mode and selecting another prediction method. Become.
- the motion vector used in the direct mode is calculated by scaling using the temporal distance between the pixels with respect to the motion vector to be referenced. This may be calculated by multiplying the referenced motion vector by a constant.
- the constant used for constant multiplication may be changeable when encoding or decoding is performed in units of multiple blocks or in units of multiple pictures.
- Equation 7 (a) and Equation 9 (b) when calculating the motion vector MV-REF, the right side of Equation 7 (a) and Equation 9 (b) is calculated, It may be rounded to the accuracy of the vector.
- the accuracy of the motion vector includes 12 pixels, 13 pixels, and 1 Z4 pixel accuracy.
- the accuracy of the motion vector can be determined in units of blocks, pictures, or sequences, for example.
- motion vector MV 43, motion vector MV 44, motion vector MV 4 6 'in Equation 8 (a), Equation 8 (b), and Equation 9 (a) After calculating the right side of 8 (a), Equation 8 (b), and Equation 9 (a), it may be rounded to the accuracy of a given motion vector.
- a moving picture decoding method according to Embodiment 3 of the present invention will be described with reference to the block diagram shown in FIG. However, it is assumed that the code string generated by the moving picture coding method of Embodiment 1 is input.
- various information such as a prediction mode, motion vector information, and prediction residual encoded data is extracted from the input code string by the code string analyzer 60 1.
- Prediction mode and motion vector information are stored in prediction mode Z motion vector decoding unit. 6 0 8 is output, and the prediction residual encoded data is output to the prediction residual decoding unit 6 0 2.
- the prediction mode motion vector decoding unit 6 08 performs the prediction mode decoding and the motion vector decoding used in the prediction mode. When decoding the motion vector, the decoded motion vector stored in the motion vector storage unit 60 5 is used. The decoded prediction mode and motion vector are output to the motion compensation decoding unit 60 4. Further, the decoded motion vector is stored in the motion vector storage unit 60 5 for use in decoding the motion vector of the subsequent block.
- the motion compensation decoding unit 60 4 uses the decoded picture of the decoded picture stored in the frame memory 63 as a reference picture, and predicts the predicted picture based on the input prediction mode motion vector information. Is generated.
- the prediction image generated in this way is input to the addition operation unit 60 6, and the decoded image is obtained by performing addition with the prediction residual image generated in the prediction residual decoding unit 60 2.
- the operation is performed on a code string that has been subjected to inter-picture predictive coding. Is made.
- the motion vector information is added for each block or for each divided area.
- the decoded picture that is positioned forward and backward in the display time order for the picture to be decoded is used as a reference picture, and motion compensation is performed from within the picture using the decoded motion vector. Create a predicted image.
- the direct mode is one of two-way predictions that performs inter-picture predictive coding by referring to one picture each in front and back in display time order. is there.
- direct mode since the decoding target block has as input a code string that does not have a motion vector directly, refer to the motion vector of the block at the same position in the decoded picture that is nearby in the display time order. As a result, two motion vectors for actual motion compensation are calculated and a predicted image is created.
- Figure 7 shows the operation when the decoded picture referenced to determine the motion vector in the direct mode has two motion vectors referring to the two pictures ahead in display time order. Is shown. Picture P 23 is the picture currently being decoded, and bi-directional prediction is performed using picture P 22 and picture P 24 as reference pictures. Assuming that the block to be decoded is block MB 2 1, the two motion vectors required at this time are pictures that are decoded back reference pictures (second reference pictures specified by the second reference index). It is determined using the motion vector of block MB 2 2 in the same position of P 2 4. This block MB 2 2 has two motion vectors MV 2 1 and MV 2 2 as motion vectors, so the two motion vectors MV 2 3 and MV 24 sought.
- the motion vector MV_R EF is calculated from the average value of the two motion vectors in block MB 2 2 as the motion vector to which scaling is applied, and the time interval TR at that time TR — Calculate REF from the average value in the same way.
- motion vector MV 2 3 and motion vector MV 24 are calculated by applying scaling to motion vector MV—REF and time interval TR—REF based on Equation 3.
- the time interval TR 2 1 indicates the time interval from picture P 24 to picture P 2 1, that is, the picture referenced by the motion vector MV 2 1.
- TR 2 2 indicates the time interval until the picture referenced by the motion vector MV 2 2.
- the time interval TR 2 3 indicates the time interval to the picture referenced by the motion vector MV 2 3, and the time interval TR 2 4 indicates the time interval until the picture referenced by the motion vector MV 2 4. Show.
- the time interval between these pictures can be determined based on, for example, information indicating the display time and display order attached to each picture, or the difference between the information.
- the picture to be decoded refers to the neighboring picture, but it can be applied in the same way even when referring to a picture that is not neighboring.
- a block to which a motion vector is referred in the direct mode has a plurality of motion vectors that refer to a picture ahead in display time order
- the plurality of motion vectors Generate a motion vector using the vector and apply scaling to determine the two motion vectors that will actually be used for motion compensation.
- the motion vector MV—REF and time interval TR—REF to be scaled are calculated.
- 4 can also be used.
- the motion vector MV 2 1 ' is scaled so that the time interval is the same as the motion vector MV 2 2 for the motion vector MV 2 1 as shown in Equation 4 (a). Is calculated.
- the motion vector MV 2 1 'and the motion vector MV 2 2 are averaged.
- the spectrum MV—REF is determined.
- the time interval TR-REF uses the time interval TR 22 as it is. Note that instead of scaling motion vector MV 2 1 to motion vector MV 2 1 ', motion vector MV 2 2 is scaled and motion vector MV 2 2'. Can be handled in the same way.
- the motion vector MV—REF and the time interval TR—REF to be scaled are used. Instead of using the average value of the two motion vectors as shown in Equation 2, refer to picture P 2 2 with the shorter time interval compared to picture P 24 that refers to the motion vector as shown in Equation 5. It is also possible to use the motion vectors MV 2 2 and TR 2 2 directly.
- each block belonging to picture P 24 to which the motion vector is referenced remembers only one of the two motion vectors. Therefore, it is possible to reduce the capacity of the motion vector storage unit in the decoding device, and the two motion vectors MV 2 3 and motion in FIG.
- the average of the two motion vectors is used as shown in Equation 2 as the motion vector MV—REF and time interval TR—REF to be scaled.
- Fig. 8 (a) shows the reference relationship in the arrangement of pictures in the order in which they are displayed as moving images, as in Fig. 7.
- Fig. 8 (b) shows an example of the order of the input code string, that is, the order of re-decoding.
- Picture P 2 3 is a picture to be decoded in the direct mode
- picture P 2 4 is a picture to which a motion vector is referenced at that time.
- the motion vector that directly refers to the picture that is decoded first is used, so the motion vector MV—REF And the motion vector MV 2 2 and the time interval TR 2 2 are applied directly as the time interval TR—REF.
- the motion vector MV 2 REF and the time interval TR 2 1 are directly applied as the motion vector MV—REF and the time interval TR—REF as shown in Equation 6.
- the motion vector used in the direct mode is calculated by scaling the motion vector to be referenced using the temporal distance between the pixels.
- this may be calculated by multiplying the referenced motion vector by a constant.
- the constant used for constant multiplication may be changeable when encoding or decoding is performed in units of multiple blocks or in units of multiple pictures.
- Figure 9 shows the reference pixel used to determine the motion vector in direct mode. The figure shows the behavior when the cutout has two motion vectors that refer to the two pictures behind in the display time order.
- Picture P 43 is the picture currently being decoded, and bi-directional prediction is performed using picture P 42 and picture P 44 as reference pictures.
- the block to be decoded is block MB 4 1
- the two motion vectors required at this time are the decoded backward reference pictures (second reference pictures specified by the second reference index).
- This block MB 4 2 is determined by using the motion vector of block MB 42 at the same position in picture P 4 4, and this block MB 42 is the motion vector MV 4 5 and motion vector.
- the motion vector MV—REF is determined from the average value of the two motion vectors of the motion vector MB 4 2 as the motion vector to which the scaling is applied.
- the time interval TR—REF is determined from the average value in the same way. Then, the motion vector MV 4 3 and the motion vector MV 4 4 are calculated by applying scaling to the motion vector MV_R EF and the time interval T R_ REF based on Equation 8.
- time interval TR 4 5 is the time interval from picture P 44 to picture P 45, that is, the time interval from the picture referenced by motion vector MV 45
- time interval TR 46 is the motion vector MV 4 6
- Time interval TR 4 3 is the time interval until the picture referenced by the motion vector MV 43.
- Time interval TR 44 is the time interval until the picture referenced by the motion vector MV 4 4 It shows the time interval.
- the picture to be decoded refers to the neighboring picture, but it can be handled in the same way even when a picture that is not neighboring is referenced.
- the block to which the motion vector is referred in the direct mode has a plurality of motion vectors that refer to the picture behind in the display time order, the plurality of motions.
- Reference a motion vector in direct mode by generating one motion vector using the vector and applying scaling to determine the two motion vectors that will actually be used for motion compensation
- Equation 9 is used instead of Equation 7. It is also possible to use it.
- the motion vector MV 4 6 is scaled so that the time interval is the same as that of the motion vector MV 4 5 and the motion vector MV 4 6 ' calculate.
- the motion vector M V_R E F is determined by taking the average of the motion vector M V 4 6 ′ and the motion vector MV 4 5.
- the time interval T R — R E F uses the time interval T R 45 as it is. Note that instead of scaling motion vector MV 4 6 to motion vector MV 4 6 ′, motion vector MV 45 is scaled to motion vector MV 45 ′. The case can be handled in the same way.
- the motion vector MV-REF and time interval TR-REF to be scaled are: Instead of using the average of the two motion vectors as shown in Equation 7, the motion vector as shown in Equation 10 It is also possible to directly use the motion vector MV 45 and the time interval TR 45 which refer to the picture P 45 having a shorter time interval with respect to the picture P 4.4 referring to the image P 4.4.
- the motion vector MV 4 6 and the time interval TR 4 6 refer to the pict P 4 6 with the longer time interval as shown in Equation 1 1 and the motion vector MV—REF and time interval TR—REF It can also be used directly as By this method, each block belonging to the picture P 44 to which the motion vector is referenced can realize motion compensation by storing only one of the two motion vectors. It is possible to reduce the capacity of the motion vector storage unit in the decoding device.
- Fig. 10 (a) shows the reference relationship in the order of pictures in the order in which they are displayed as moving images, as in Fig. 9.In Fig. 10 (b), In other words, an example of the order of re-decoding is shown. Note that picture P 43 is a picture that is encoded in the direct mode, and picture P 44 is a picture to which a motion vector is referenced at that time.
- the motion vector MV as shown in Equation 11 — Motion vector MV 4 6 and time interval TR 4 6 are applied directly as REF and time interval T R__R EF.
- the motion vector is as shown in Equation 10 MV_REF and time interval TR—RE “as motion vector MV 4 5 and time interval TR 4 5 are applied directly.
- This method belongs to picture P 4 4 to which motion vector is referenced Since each block can realize motion compensation by storing only one of the two motion vectors, the capacity of the motion vector storage unit in the decoding device can be kept small. Is possible.
- the block referenced to determine the motion vector in the direct mode has two motion vectors that refer to the two pictures behind in the display time order, the two motion vectors to be obtained are determined. It is also possible to perform motion compensation by setting the vector MV 4 3 and the motion vector MV 4 4 to “0”. By this method, each block belonging to the picture P 4 4 to which the motion vector is referenced does not need to store the motion vector, so the motion vector storage unit in the decoding device does not have to store it. The capacity can be kept small, and the processing for calculating the motion vector can be omitted.
- the motion vector used in the direct mode is calculated by scaling the motion vector to be referenced using the temporal distance between the pixels. This may be calculated by multiplying the reference motion vector by a constant.
- the constant used for constant multiplication may be changeable when encoding or decoding is performed in units of multiple blocks or in units of multiple pictures.
- Fig. 12 refers to calculate motion vector in direct mode This shows the behavior when an encoded or decoded block has two motion vectors that refer to the two previous pictures in display time order.
- Picture P 2 3 is the picture currently being encoded or decoded.
- the two motion vectors required at this time are the encoded or decoded backward reference pictures (in the second reference index). (Specified second reference picture) Determined using the motion vector of block MB 2 at the same position in P24.
- block MB 1 is a processing target block
- block MB 1 and block MB 2 are blocks located at the same position on the picture
- dynamic vector MV 2 1 and The motion vector MV 22 is a motion vector used when the block MB 2 is encoded or decoded, and refers to the picture P 2 1 and the picture P 2 2, respectively.
- picture P 2 1, picture P 2 2, and picture P 24 are encoded pictures or decoded pictures.
- Time interval TR 2 1 is the time interval between picture P 2 1 and picture P 24, and time interval TR 22 is the time interval between picture P 2 2 and picture P 24, time interval TR 2 1 ' Denotes a time interval between the picture P 2 1 and the picture P 2 3, and a time interval TR 2 4 ′ denotes a time interval between the picture P 2 3 and the picture P 2 4.
- the motion vector calculation method is as follows. As shown in Fig. 12, the forward motion vector (first one) encoded or decoded first among the motion vectors of block MB 2 in the reference picture P24. Motion vector) Using only MV 2 1, motion vector MV 2 1 ′ and motion vector MV 24 ′ of block MB 1 are calculated by the following formula.
- MV 24 ' -MV 2 1 x TR 24' / TR 2 1
- bi-directional prediction is performed from the picture P 21 and the picture P 24 using the motion vector MV 2 1 ′ and the motion vector MV 2 4 ′.
- the reference picture P 2 4 The motion vector of block MB 2 may be calculated using only the motion vector (second motion vector) MV 2 2 that is encoded or decoded later among the motion vectors of block MB 2. Also, as shown in Embodiment 1 to Embodiment 4, the motion vector of block MB 1 is determined using both motion vector MV 2 1 and motion vector MV 2 2.
- motion vector MV 2 1 or motion vector MV 2 2 which one is selected depends on the block encoded or decoded in time.
- the motion vector may be selected, or it may be arbitrarily set in advance which one to select by the encoding device or the decoding device. Whether picture P 2 1 is in short-term memory (short term buffer) or long-term memory (long term buffer), motion compensation is possible. Short time memory and long time memory will be described later.
- Figure 13 refers to calculating motion vectors in direct mode.
- Two motion vectors refer to the two pictures that have the encoded or decoded blocks later in display time order. The figure shows the operation when holding a crane.
- Picture P 22 is the picture currently being encoded or decoded.
- the two motion vectors required at this time are the encoded or decoded backward reference pictures (second reference picture) P 2 Determined using the motion vector of block MB 2 at the same position in 3.
- block MB 1 is the processing target block.
- Block MB 1 and block MB 2 are blocks that are in the same position on the picture, and motion vector MV 2 4 and motion vector MV 2 5 encode or decode block MB 2 This is the motion vector used when converting to picture P24 and picture P25.
- the picture P 2 1, the picture P 2 3, the picture P 2 4, and the picture P 2 5 are encoded pictures or decoded pictures.
- the time interval TR 24 is the time interval between pictures P 2 3 and P 2 4
- the time interval TR 2 5 is the time interval between pictures P 2 3 and P 2 5
- the time interval TR 2 4 ′ indicates the time interval between the picture P 2 2 and the picture P 24, and the time interval TR 2 1 ′ indicates the time interval between the picture P 2 1 and the picture P 2 2.
- the motion vector is calculated by using only the motion vector MV 2 4 to the picture P 24 of the block MB 2 in the reference picture P 2 3 as shown in Figure 13 and using the motion vector of the block MB 1.
- Tor MV 2 1 'and motion vector MV 24' are calculated by the following formula.
- bi-directional prediction is performed from the picture P 2 1 and the picture P 24 using the motion vector M V 2 1 ′ and the motion vector MV 2 4 ′.
- Time interval TR 24 is the time interval between picture P 23 and picture P 2 4
- time interval TR 2 5 is the time interval between picture P 2 3 and picture P 2 5
- time interval TR 2 5 ' is the time interval between picture P 2 2 and picture P 2
- time interval TR 2 1' is picture P 2 1
- bi-directional prediction is performed from the picture P 2 1 and the picture P 24 using the motion vector M V 2 1 ′ and the motion vector MV 2 5 ′.
- Figure 15 refers to calculating motion vectors in direct mode.
- Two motion vectors refer to a single picture that has an encoded or decoded block in front of the display time. The figure shows the operation when you have a crane.
- Picture P 2 3 is a picture currently being encoded or decoded.
- the two motion vectors required at this time are the encoded or decoded backward reference pictures (specified by the second reference index).
- the second reference picture is determined using the motion vector of block MB 2 in the same position of P24.
- block M B 1 is a processing target block
- block M B 1 and block M B 2 are blocks located at the same position on the picture.
- Motion vector MV 2 1 A and motion vector MV 2 1 B are forward motion vectors used when coding or decoding block MB 2, see picture P 2 1 together doing.
- the picture P 2 1, the picture P 2 2, and the picture P 2 4 are encoded pictures or decoded pictures.
- time interval TR 2 1 A, time interval TR 2 1 B is the time interval between picture P 2 1 and picture P 24, and time interval TR 2 1 'is between picture P 2 1 and picture P 23
- the time interval TR 24 ′ indicates the time interval between the picture P 2 3 and the picture P 24.
- the motion vector calculation method is as follows. As shown in Fig. 15, forward motion vector to picture P 2 1 of block MB 2 in reference picture P 24 Using only MV 2 1 A, the motion vectors MV 2 1 A 'and MV 24' of block MB 1 are calculated by the following equations.
- bi-directional prediction is performed from the picture P 2 1 and the picture P 24 using the motion vector MV 2 1 A ′ and the motion vector MV 2 4 ′.
- the motion vector of the block M B 1 may be calculated using only the forward motion vector MV 2 1 B to the picture P 2 1 of the block M B 2 in the reference picture P 24.
- the motion with respect to the block MB 1 is performed using both the forward motion vector MV 2 1 A and the forward motion vector MV 2 1 B.
- the vector may be determined. In either case, when selecting one of the forward motion vector MV 2 1 A and the forward motion vector MV 2 1 B, which one is selected is encoded or decoded first in time.
- the motion vector (described earlier in the code string) may be selected, or may be arbitrarily set by the encoding device and the decoding device.
- the motion vector encoded or decoded earlier in time means the first motion vector.
- motion compensation is possible for either picture P 2 1 in short-term memory (short term buffer) or long-term memory (long term buffer). Short time memory and long time memory will be described later.
- the motion vector used in the direct mode is calculated by scaling using the temporal distance between the pixels with respect to the motion vector to be referenced. This may be calculated by multiplying the referenced motion vector by a constant.
- the constant used for constant multiplication is coded in units of multiple blocks or multiple pictures. It may be possible to change when converting or decrypting.
- each equation was calculated in the equations for motion vector MV 2 1 ′, motion vector MV 2 4 ′, motion vector MV 2 5 ′, and motion vector MV 2 1 A ′. Later, it may be rounded to the accuracy of a predetermined motion vector.
- the accuracy of motion vectors includes accuracy of 12 pixels, 13 pixels, and 14 pixels. The accuracy of the motion vector can be determined in units of blocks, pictures, or sequences, for example.
- two forward motion vectors that refer to two pictures in which the reference picture used for determining the target motion vector in the direct mode refers to the two pictures ahead in the display time order are used.
- block MB 1 is the processing target block
- block MB 1 and block MB 2 are the same position on the picture
- motion vector MV 2 1 and motion vector MV 2 2 Is the forward motion vector used when encoding or decoding block MB 2 and refers to picture P 2 1 and picture P 2 2, respectively.
- the picture P 2 1, the picture P 2 2, and the picture P 24 are encoded pictures or decoded pictures.
- Time interval TR 2 1 is the time interval between picture P 2 1 and picture P 2 4
- time interval TR 2 2 is the time interval between picture P 2 2 and picture P 2 4
- time interval TR 2 1 ′ indicates the time interval between the picture P 2 1 and the picture P 2 3
- the time interval TR 2 2 ′ indicates the time interval between the picture P 2 2 and the picture P 2 3.
- the block MB 2 in the reference picture P 2 4 is moved forward to the picture P 2 1 MV 2 1 And the forward motion vector MV 2 2 to the picture P 2 2, and the motion to the picture P 2 2 that is close to the target picture P 2 3 in display time order.
- the motion vector MV 2 2 'of block MB 1 is calculated by the following formula.
- motion compensation is performed from picture P 2 2 using motion vector M V 2 2 ′.
- the block MB 2 in the reference picture P 24 moves forward to the picture P 2 1 MV 2 1 and forward to the picture P 2 2
- the motion vector MV 2 1 'of MB 1 is calculated by the following formula.
- motion compensation is performed from picture P 2 1 using motion vector M V 2 1 '.
- the block MB 2 belonging to the reference picture P 2 4 to which the motion vector is referenced moves by storing only one of the two motion vectors. Since compensation can be realized, the capacity of the dynamic vector storage unit can be kept small.
- motion compensation can also be performed from the picture P 22 which is a neighboring picture in the order of display time, as in the first embodiment.
- the motion vector MV N (not shown) used at that time is calculated by the following formula.
- the motion vector obtained above is used.
- the motion compensation block is obtained from the picture P 2 1 and the picture P 2 2 using the toll MV 2 1 ′ and the motion vector MV 2 2 ′, respectively, and the average image is used as an interpolated image in motion compensation.
- This third method increases the amount of computation, but improves the accuracy of motion compensation.
- a motion compensation block can be obtained from the picture P 2 2 using the motion vector MV N and the motion vector MV 2 2 ′, and the average image can be used as an interpolation image in motion compensation.
- the motion vector used in the direct mode is calculated by scaling using the temporal distance between the pixels with respect to the motion vector to be referenced. This may be calculated by multiplying the referenced motion vector by a constant.
- the constant used for constant multiplication may be changeable when encoding or decoding is performed in units of multiple blocks or in units of multiple pictures.
- the right side of each formula is calculated, and then the predetermined motion vector is calculated. You may round to precision.
- the accuracy of the motion vector includes 12 pixels, 1 pixel 3 pixels, and 14 pixel accuracy.
- the accuracy of the motion vector can be determined in units of blocks, pictures, or sequences, for example.
- the reference picture used to determine the motion vector of the block to be encoded or decoded in the direct mode refers to two pictures that refer to the two pictures ahead in the display time order.
- the case of having a forward motion vector is described, but two backward motion vectors (in the second reference index) refer to the two pictures behind in the display time order.
- the reference picture has a specified second motion vector
- only one of the two backward motion vectors can be scaled to calculate the target motion vector. . This will be described below with reference to FIGS. 19 to 22.
- block MB 1 is the processing target block
- block MB 1 and block MB 2 are the blocks located at the same position on the picture
- motion vector MV 24 and motion vector MV 2 5 are This is the backward motion vector (second motion vector in which the reference picture is specified by the second reference index) used when encoding or decoding motion vector MB2.
- the picture P 2 1, the picture P 2 3, the picture P 24, and the picture P 25 are encoded pictures or decoded pictures.
- Time interval TR 24 is the time interval between picture P 2 3 and picture P
- time interval TR 2 5 is the time interval between picture P 2 3 and picture P 25, and time interval TR 24 '
- time interval TR 2 5 ′ indicates a time interval between picture ⁇ 2 2 and picture ⁇ 25.
- the block in reference picture ⁇ 2 3 ⁇ ⁇ ⁇ 2 moves backward to picture ⁇ 24 as shown in Figure 19 and vector MV 2 4 and backward movement to picture ⁇ 25
- you have two backward motion vectors with vector MV 2 5 use only the backward motion vector MV 2 4 to the picture ⁇ 2 4 that is close to the target picture ⁇ 2 2 in display time order.
- the motion vector MV 2 4 'of block ⁇ ⁇ 1 is calculated by the following formula.
- motion compensation is performed from picture P 2 4 using motion vector MV 2 4 ′.
- motion compensation is performed from the neighboring picture P 2 3 in the order of display time as in the first embodiment. It can also be done.
- the motion vector MV N 1 (not shown) used at that time is calculated by the following equation.
- V N 1 M V 2 4 X T R N 1 / T R 24
- the block MB 2 in the reference picture P 23 is moved backward to the picture P 24 and the backward motion vector MV 24 and the picture P 25
- the motion vector MV 25 'of block MB 1 is calculated by the following formula.
- motion compensation is performed from picture P 2 5 using motion vector M V 2 5 '.
- the block MB 2 belonging to the reference picture P 2 3 to which the motion vector is referenced moves by storing only one of the two motion vectors. Since compensation can be realized, the capacity of the motion vector storage unit can be kept small.
- motion compensation can also be performed from picture P 23 that is a neighboring picture in the order of display time in the same manner as in the first embodiment, using backward motion vector M V 25.
- the motion vector MV N 2 (not shown) used at that time is calculated by the following equation.
- This third method increases the amount of computation, but the target picture P 2 2 Accuracy is improved.
- motion compensation blocks from the picture p 2 4 using the above-described motion base-vector MV N 1 and motion base-vector MV N 2 may be the average image and the interpolation image in motion compensation.
- one backward motion vector that refers to one picture that the reference picture used to determine the target motion vector in the direct mode is rear in the display time order.
- the motion vector MV 2 4 ' is calculated by the following formula.
- motion compensation is performed from picture P 2 4 using motion vector M V 2 4 '.
- motion compensation can also be performed from picture P 23 that is a neighboring picture in the order of display time in the same manner as in the first embodiment, using backward motion vector M V 25.
- the motion vector MV N 3 (not shown) used at that time is calculated by the following equation.
- the target motion vector may be calculated by referring to the motion vectors of the surrounding blocks in the same picture, and intra-picture coding is performed. If this is the case, the target motion vector may be calculated by referring to the motion vectors of the surrounding blocks in the same picture.
- Figure 23 shows the movement to be referred to at that time. It shows the positional relationship between the vector and the target block.
- Block MB 1 is the target block and refers to the motion vector of the block containing three pixels in the positional relationship of A, ⁇ , and C. However, if the position of pixel C is out of the screen, and encoding / decoding has not been completed and reference is impossible, pixel D is used instead of the block containing pixel C. The motion vector of the containing block shall be used. By taking the median of the motion vectors of the three blocks including the A, B, and C pixels that are the reference targets, the motion vector that is actually used in the direct mode is obtained.
- motion compensation may be performed using only the forward motion (reference to the first reference picture) using the determined motion vector, or a motion vector parallel to the determined motion vector may be used.
- motion compensation may be performed with a two-way reference (reference to the first reference picture and the second reference picture).
- the median is not taken as in the first calculation method, but from the motion vectors of the three blocks including the A, B, and C pixels to be referenced, the sign
- the motion vector that is used in the direct mode is obtained by taking the motion vector with the highest conversion efficiency.
- motion compensation may be performed only by forward reference (reference to the first reference picture), or using a motion vector parallel to the determined motion vector.
- Motion compensation may be performed with two-way reference (reference using the first reference picture and the second reference picture).
- the information indicating the motion vector with the highest coding efficiency is, for example, as shown in Fig. 24 (a).
- the information indicating the direct mode output from 1 07 is added to the header area of the block in the code string generated by the code string generating unit 103.
- information indicating the vector with the highest coding efficiency may be added to the header area of the macroblock.
- the information indicating the motion vector having the highest coding efficiency is, for example, a number for identifying a block including a pixel to be referred to, and an identification number given to each block. .
- a block is identified by an identification number, only one identification number assigned to each block is used, and one of the motion vectors used when the block corresponding to that one identification number is encoded.
- the motion vector with the highest coding efficiency can be shown by using only the motion vector.
- the coding efficiency is the highest with multiple motion vectors. You may make it show a motion vector. Alternatively, using the identification number assigned to each block for each motion vector of the two-way reference (reference to the first reference picture and the second reference picture), the motion vector with the highest coding efficiency is used. Toll may be shown. By using such a motion vector selection method, a motion vector with the highest coding efficiency can be obtained. However, additional information indicating which motion vector has been selected must be described in the code string, so an extra amount of code is required. Furthermore, the third calculation method is described.
- the motion vector with the smallest reference index value of the reference picture referenced by the motion vector is used as the motion vector used in the direct mode.
- the smallest reference index is generally a motion vector that refers to a picture that is close in display time order or has the highest coding efficiency. Therefore, by using such a motion vector selection method, the closest in display time order, or By using a motion vector that refers to a picture with the highest coding efficiency, a motion vector used in the direct mode is generated, so that the coding efficiency can be improved.
- Figure 23 shows an example using three motion vectors of three blocks including pixel A, pixel B, and pixel C. Two blocks including pixel A and pixel B are the values of the reference index. When is the smallest and refers to the same reference picture, it is recommended to use the motion vector of the block containing pixel A.
- the two blocks including pixel A and pixel C have the smallest reference index value and the same reference.
- the median value may be set to the median value for each horizontal component and vertical component of each motion vector, or the magnitude (absolute value) of each motion vector.
- the median value may be taken.
- a block in the same position as block BL 1 in the back reference picture, a block including each of pixel A, pixel B, and pixel C, and A block including pixel D shown in Fig. 25 may be set to the median value of the motion vectors of these five blocks in total. In this way, the block at the same position as the block BL 1 in the rear illuminating picture close to the periphery of the encoding target pixel is selected.
- the process of calculating the median value of the motion vector can be simplified by using a block containing pixel D to make the number of blocks odd.
- Block BL 1 may be compensated for, or block BL 1 may be divided into areas corresponding to multiple blocks in the back reference picture, and block BL 1 may be compensated for each divided block. It may be.
- Fig. 30 shows the first calculation method described above, in which all blocks including each of pixel A, pixel B, and pixel C have one motion vector that refers to the pictures ahead and behind the picture to be encoded.
- the motion vector MVA f, motion vector MVB f, and motion vector MVC f are selected by the median value of the motion vector MVA f and the motion vector MVC f.
- the backward motion vector used for motion compensation of 1 is selected by the median of motion vector MVA b, motion vector MVB b, and motion vector MVC b.
- the vector MVA f is the forward motion vector of the block containing pixel A
- the motion vector MVA b is the backward motion vector of the block containing pixel A
- the motion vector MVB f is the pixel
- the forward motion vector and motion vector MVB b of the block including B are the backward motion vector and motion vector MVC f of the block including pixel B
- Vector and motion vector MV C b is the backward motion vector of the block containing pixel C.
- the motion vector MV A f etc. is not limited to referring to the picture as shown. The same applies to the following description.
- the coding efficiency is the highest among the motion vectors of the forward reference of the motion vector MV A f, motion vector MVB f, and motion vector MV C f.
- the motion vector is actually used in direct mode.
- the motion vector having the highest coding efficiency among the motion vectors MV A f, motion vectors MV B f, and motion vectors MV C f, which are referenced in advance, is used.
- the motion compensation may be performed using only the forward reference, or the motion vector parallel to the determined motion vector may be used to compensate the motion using the two-way reference.
- one block is selected for each of the forward reference and backward reference motion vectors, and the forward reference and backward reference motion vectors of the block are selected.
- Motion compensation may be used.
- One block is selected as follows: (1) A block including a pixel having a motion vector with the smallest reference index value of a picture referred to by a forward reference motion vector is used. (2) A block having each pixel. The reference index value of the picture referenced by the forward motion vector of the image and the reference index value of the picture referenced by the backward motion vector are added together, and the block with the smallest sum is added. 3 Take the median of the reference index of the picture that the forward reference motion vector refers to, and the block that includes the pixel with the forward reference motion vector that has the median value. The vector is the backward reference motion vector of this block. 4 The median value of the reference index of the picture referenced by the backward reference motion vector is taken.
- the reference index value of the reference picture referenced by the motion vector of the forward reference of the motion vector MVA f, motion vector MVB f, and motion vector MVC f is the smallest. Is the forward reference (first reference) motion vector used in the direct mode. Or, the motion vector with the smallest reference index value of the reference picture referenced by the motion vector of the backward reference of motion vector MVA b, motion vector MVB b, motion vector MVC b is selected. This is the back reference (second reference) motion vector used in direct mode. In the third calculation method, the forward reference motion vector with the smallest reference index value of the reference picture is set to block B, and the forward reference motion vector of 1 is used as the reference index of the reference picture.
- the vector is the backward reference motion vector of block BL 1, but the two of block BL 1 are used by using either the front or rear of the reference picture with the smallest reference index value.
- a motion vector may be derived, and block BL 1 may be compensated for motion using the derived motion vector.
- Figure 31 shows that pixel A has one motion vector that refers to the front and back pictures, pixel B has only a motion vector that refers to the front picture, and pixel C is the back The case where only the motion vector that refers to the picture is included is shown.
- the motion vector referring to the other picture of this block is assumed to be 0, and motion compensation is performed.
- Motion vector of block BL 1 Calculate the motion vector with the smallest reference index value of the reference picture to be referenced.
- the block containing pixel A is the first reference index.
- the value of the smallest first reference index is “0”.
- the motion vector MV B f is blocked.
- BL 1 forward motion vector.
- both the pixel A and the pixel C have the smallest second reference index.
- the pixel B refers to the back picture.
- Set the motion vector MV B b to MV B b 0 and calculate the median of the motion vector MV A b, motion vector MV B b, and motion vector MV C b.
- the resulting motion vector is the backward motion vector of block BL1.
- Figure 32 shows that pixel A has one motion vector that refers to the front and back pictures, pixel B has only a motion vector that refers to the previous picture, and pixel C is moving. Indicates the case where there is no vector and the encoding is performed on the screen.
- Figure 33 shows the case where pixel C is encoded in direct mode.
- Figure 34 shows the procedure for determining the motion vector used in the direct mode.
- Figure 34 shows an example of a method for determining a motion vector using a reference index. Note that R i dx0 and R i dx 1 shown in FIG. 34 are the reference indexes described above.
- Figure 34 (a) shows the procedure for determining the motion vector using the first reference index R i dxO
- Figure 34 (b) shows the procedure for determining the motion vector using the second reference index R i dxl. The procedure to perform is shown. First, Fig. 34 (a) is explained.
- step S3701 the number of blocks that refer to the picture is calculated using the first reference index R i dxO among the blocks including pixel A, blocks including pixel B, and blocks including pixel C.
- step S3701 If the number of blocks calculated in step S3701 is ⁇ 0 J, the number of blocks that refer to the picture is calculated using the second reference index R i dx l in step S3702. If the number of blocks calculated in step S3702 is “0”, the motion vector of the block to be encoded is set to “0” in S3703, and the block to be encoded is motion compensated in two directions. To do. On the other hand, if the number of blocks calculated in step S3702 is greater than or equal to ⁇ 1 j, the motion vector of the coding target block is determined by the number of blocks in which the second reference index R i dx 1 exists in S3704. To do. For example, motion compensation of the current block to be encoded is performed using a motion vector determined by the number of blocks in which the second reference index R i dxl exists.
- step S3701 If the number of blocks calculated in step S3701 is ⁇ 1 j, the block motion vector in which the first reference index R i dxO exists is used in S3705.
- step S3704 may be motion compensation in two directions using one motion vector.
- the motion compensation in the two directions is obtained by, for example, scaling this one motion vector to one motion vector, the same motion vector, and the opposite motion vector. Alternatively, it may be performed using a motion vector in the same direction as one motion vector and a motion vector having a motion vector of “0”.
- FIG. 34 (b) will be described.
- step S3711 the number of blocks in which the second reference index R i dx l exists is calculated.
- step S371 1 the number of blocks in which the first reference index R i dxO exists is further calculated in step S371 2. If the number of blocks calculated in step S3712 is “0”, the motion vector of the encoding target block is set to “0” in S3713, and the encoding target block is motion-compensated in two directions. on the other hand If the number of blocks calculated in step S3712 is greater than or equal to ⁇ 1 j, the motion vector of the current block to be encoded is determined based on the number of blocks in which the first reference index R i dxO exists in S3714. For example, motion compensation of the current block is performed using a motion vector determined by the number of blocks in which the first reference index R i dxO exists.
- step S371 1 If the number of blocks calculated in step S371 1 is ⁇ 1 j, the motion vector of the block in which the second reference index R i dx l exists is used in S371 5.
- FIG. 34 (a) and FIG. 34 (b) were each demonstrated, both processing may be used and only one processing may be used. However, when one of the processes is used, for example, when the process starting from step S3701 shown in Fig. 3 4 (a) is performed and the process of step S3704 is further performed, the process of S371 1 shown in Fig. 3 4 (b) is performed. The following processing should be performed. Also this In other words, when the processing of S3704 is reached, since the processing of step S3712 and subsequent steps is not performed among the processing of step S3711 and subsequent steps, the motion vector can be uniquely determined. In addition, when both the processes in FIGS. 3 4 (a) and 3 4 (b) are used, either process may be performed first or in combination.
- the block around the current block is coded in direct mode
- the reference index of the picture that has been used may be a block that is coded in the direct mode and that is around the block to be coded.
- FIG. 35 is a diagram showing the types of motion vectors that each of the blocks referenced by the encoding target block B L 1 has.
- the block having pixel A is a block that is intra-coded
- the block having pixel B has one motion vector and moves by this one motion vector.
- a block with pixel C is a block that has two motion vectors and is motion compensated in two directions.
- the block having pixel B has a motion vector indicated by the second reference index R i dxl. Since the block having pixel A is an intra-coded block, it does not have a motion vector, that is, does not have a reference index.
- the motion target block may be used for motion compensation in two directions using only this motion vector, or another motion vector may be used using the second reference index Ridxl as shown below. , Two-way motion compensation may be performed.
- step S3711 the number of blocks in which the second reference index Ridxl exists is calculated. As shown in FIG. 35, since the number of blocks in which the second reference index Ridxl exists is one, the motion vector of the block in which the second reference index Ridxl exists is used in step S3715.
- Fig. 36 shows the procedure for determining the motion vector of the block to be encoded based on the value of the reference index indicating the picture referenced by the motion vector of the block having pixels A, B, and C. is there.
- Figures 36 (a) and (b) show the procedure for determining the motion vector based on the first reference index RidxO
- Figure 36 (c) and (d) are based on the second reference index Ridxl. It is a figure which shows the procedure which determines a motion vector.
- Figure 36 (a) shows the procedure based on the first reference index RidxO.
- Figure 36 (c) shows the procedure based on the second reference index Ridxl.
- FIG. 36 (a) shows the procedure based on the first reference index RidxO.
- Fig. 3 (d) shows the procedure based on the second reference index Ridxl. Only 6 (a) and Fig. 3 6 (b) will be described. First, Fig. 36 (a) is explained.
- step S3801 it is determined whether one minimum first reference index RidxO can be selected from the valid first reference index RidxO.
- step S3802 Of the first reference indices R i dxO valid in step S3801, If one small first reference index RidxO can be selected, the motion vector selected in step S3802 is used.
- the motion vector of the block selected by the priority order in step S3803 is used.
- the priority order determines, for example, a motion vector used for motion compensation of the encoding target block in the order of a block having pixel A, a block having pixel B, and a block having pixel C.
- step S3801 If there is no valid first reference index RidxO in step S3801, processing different from S3802 and S3803 is performed in step S3804. For example, the processing following step S3711 described in FIG. 34 (b) may be performed. Next, FIG. 36 (b) will be described. FIG. 36 (b) differs from FIG. 36 (a) in that the processing in step S3803 and step S3804 in FIG. 36 (a) is changed to step S3813 shown in FIG. 36 (b).
- step S3811 it is determined whether one minimum first reference index RidxO can be selected from the valid first reference indexes R i dxO.
- the motion vector selected in step S3812 is used.
- step S3811 If there is no valid first reference index R i dxO in step S3811, processing different from S3812 is performed in step S3813. For example, the processing after step S3711 described in FIG. 34 (b) may be performed.
- the valid first reference index RidxO shown above is the first reference index R i dxO marked with ⁇ J in Fig. 35 (b), and has a motion vector.
- “where xj is written is the reference index. This means that no reference index has been assigned.
- step S3824 in FIG. 36 (c) and in step S3833 in FIG. 36 (d) the processing after step S3701 described in FIG. 34 (a) may be performed. In the following, the method for determining the motion vector will be described in detail with reference to FIG.
- step S3801 it is determined whether one of the smallest first reference index RidxOs can be selected from the valid first reference index RidxOs.
- step S3802 Use the selected motion vector.
- the motion vector of the block selected by priority in step S3803 is used.
- the priority order determines, for example, a motion vector used for motion compensation of the encoding target block in the order of a block having pixel A, a block having pixel B, and a block having pixel C.
- the first reference index RidxO in the block having pixel B is adopted according to the priority, and the block having pixel B
- the motion vector corresponding to the first reference index RidxO is used to compensate the motion of the target block BL1.
- the coding target block BL1 may be compensated for motion in two directions using only the determined motion vector, or another motion vector may be used using the second reference index Ridxl as shown below. You can compensate for motion in two directions using a torr.
- step S3822 the motion vector corresponding to the second reference index R ⁇ dx1 in the block having ⁇ C is used in step S3822. To do.
- the median value of a total of three motion vectors is taken, assuming that the motion vector has a motion vector size of “0”. As regards these points, it is assumed that the motion vector has a motion vector of “0 J, and the average of the three motion vectors is averaged. The average value of the motion vectors of a certain block may be taken.
- the priorities described above are set in the order of, for example, a block having pixel B, a block having pixel A, and a block having pixel C.
- the motion vector to be used for motion compensation of the encoding target block may be determined.
- the motion vector can be uniquely determined by determining the motion vector to be used when motion compensation is performed on the encoding target block using the reference index. Further, according to the above example, it is possible to improve the coding efficiency. In addition, since it is not necessary to determine whether the motion vector is a forward reference or a backward reference using time information, the process for determining the motion vector can be simplified. In addition, there are many patterns in consideration of the prediction mode for each block, the motion vector used in motion compensation, etc., but it is beneficial because it can be processed by a series of flows as described above.
- the motion vector used in the direct mode is calculated by scaling using the temporal distance between the pixels with respect to the motion vector to be referenced. This May be calculated by multiplying the reference motion vector by a constant.
- the constant used for constant multiplication may be changeable when encoding or decoding in units of multiple blocks or in units of multiple pictures.
- the motion vector calculation method using the reference indices R i dxO and R i dx1 may be combined with other calculation methods in addition to the calculation method using the center rod.
- the third calculation method described above if there are multiple motion vectors that refer to the same picture with the smallest reference index among the blocks including pixel A, pixel B, and pixel C, these are not necessarily It is not necessary to calculate the median of the motion vectors, and the average value of these motion vectors may be calculated and the obtained motion vector may be used as the motion vector used in the direct mode of block BL1.
- one motion vector having the highest coding efficiency may be selected from a plurality of motion vectors having the smallest reference index.
- the forward motion vector and the backward motion vector of the block B L 1 may be calculated independently, or may be calculated in association with each other.
- the forward motion vector and the backward motion vector may be calculated from the same motion vector.
- the reference block MB of the reference picture is stored in the forward (first) motion vector that references the reference picture stored in the long-term memory as the first reference picture and the short-time memory. And a backward (second) motion vector that references the stored reference picture as the second reference picture.
- Figure 3 7 shows when only one reference picture is stored in the memory for a long time. It is a figure which shows the two-way prediction in direct mode.
- the difference of the eighth embodiment from the previous embodiments is that the forward (first) motion vector MV21 of the reference picture block MB2 is referred to the reference picture stored in the memory for a long time. It is a point.
- the short-time memory is a memory for temporarily storing reference pictures. For example, pictures are stored in the order in which the pictures are stored in the memory (that is, the order of encoding or decoding). If the memory capacity is insufficient when a picture is newly stored in the short-time memory, the pictures stored in the oldest memory are deleted in order.
- pictures are not always stored in the order of time as in a short-time memory.
- the order in which the images are stored may correspond to the order of the time of the images, or the order of the addresses of the memories in which the images are stored. Therefore, the motion vector M21 that refers to a picture stored in the memory for a long time cannot be scaled based on the time interval.
- the long-time memory is not for temporarily storing the reference picture like the short-term memory, but for storing the reference picture continuously. Therefore, the time interval corresponding to the motion vector stored in the long-time memory is considerably larger than the time interval corresponding to the motion vector stored in the short-time memory.
- Fig. 37 the boundary between the long-time memory and the short-time memory is shown by a vertical dotted line as shown in the figure. Is stored in memory for a short time.
- block MB 1 of picture P 2 3 is the target block.
- Block MB 2 is a reference block located at the same position in block MB 1 and reference picture P 2 4.
- Reference picture P 2 4 Of the motion vectors in block MB2 forward (first) motion vector MV21 is the first motion vector that refers to picture P 2 1 stored in memory for a long time as the first reference picture.
- the backward (second) motion vector MV25 is a second motion vector that refers to the picture P 25 stored in the memory for a short time as the second reference picture.
- the time interval TR21 between the picture P 2 1 and the picture P 2 4 corresponds to the motion vector MV21 that refers to the picture stored in the memory for a long time
- the picture P 2 4 and the picture P 2 5 corresponds to the motion vector MV25 that refers to the picture stored in the short-time memory
- the time interval TR21 between picture P 2 1 and picture P 2 4 corresponds to picture P 2 4
- Time interval with picture P 2 5 May be much larger than TR25 or may be indefinite.
- the motion vector of block MB1 of the target picture P 2 3 is calculated as follows.
- MV21 MV21 '
- the first motion vector MN21 stored in the memory for a long time out of the motion vectors of the block MB2 of the reference picture P 2 4 is used as the first motion vector MV21 'of the target picture.
- the following equation shows that the second motion vector MV24 'of the block MB1 of the target picture P23 to the picture P 24 stored in the memory for a short time is sufficiently smaller than the first motion vector MV21'. This means that it can be ignored.
- the second motion vector MV24 ' is treated as ⁇ 0 ".
- the reference picture stored in the memory for a long time has one motion vector that is referenced as one reference picture and one motion vector that references the reference picture stored in the short-term memory as the second reference picture.
- the motion vector stored in the memory for a long time is used as it is, and the two-way prediction is performed as the motion vector of the block of the target picture.
- the reference picture stored in the long-term memory may be either the first reference picture or the second picture, and the motion vector that references the reference picture stored in the long-term memory MV 2 1 May be a backward moving vector. If the second reference picture is stored in the memory for a long time and the first reference picture is stored in the memory for a short time, scaling is applied to the motion vector that references the first reference picture, and the target Calculate the motion vector of the picture.
- bi-directional prediction processing can be performed without using a considerably long or indefinite time in the memory for a long time.
- the motion vector may be multiplied by a constant to perform two-way prediction.
- the constant used for constant multiplication may be changeable when encoding or decoding is performed in units of multiple blocks or in units of multiple pictures.
- the bi-directional prediction in the direct mode is shown when the reference block MB of the reference picture has two forward motion vectors that refer to the reference picture stored in the long-term memory. .
- FIG. 38 is a diagram showing bi-directional prediction in the direct mode when the reference block MB has two motion vectors that refer to the reference picture stored in the memory for a long time.
- Embodiment 9 differs from Embodiment 8 in that the block of reference picture MB2 motion vector MV21 and motion vector mi 22 both refer to pictures stored in memory for a long time. .
- Fig. 38 the boundary between the long-time memory and the short-time memory is shown as a vertical dotted line as shown in the figure.
- Information about the picture on the left is stored in the memory for a long time.
- Information is stored in memory for a short time.
- Both motion vector MV21 and motion vector MV22 in block MB2 of reference picture P24 refer to pictures stored in memory for a long time.
- the reference picture P21 corresponds to the motion vector MB21
- the reference picture P22 corresponds to the motion vector MV22.
- the time interval TR22 between pictures P22 and P24 corresponding to motion vector MV22 that references picture P22 stored in memory for a long time is the time between pictures P24 and P25 stored in short-time memory. Interval is much larger than TR25 or may be indefinite.
- picture P22 corresponding to motion vector MV22 and picture P21 corresponding to motion vector MV21 are assigned in this order, and picture P21 and picture P22 are stored in memory for a long time. Yes.
- the motion vector of block MB 1 of the target picture is calculated as follows.
- the above equation shows that the motion vector N22 that refers to the picture P21 with the smallest assigned order among the motion vectors of the block MB2 of the reference picture P24 is used as it is, and the motion vector of the block MB 1 of the target picture P23. MV22 'is shown.
- the motion vector that refers to the picture with the smallest assigned order among the motion vectors of the reference picture block stored in the memory for a long time is used as it is and the block of the target picture is used.
- a motion vector it is possible to perform bi-directional prediction processing without using time that is considerably large or indefinite for long-term memory.
- the motion vector may be multiplied by a constant to perform two-way prediction.
- the constant used for constant multiplication may be changeable when encoding or decoding is performed in units of multiple blocks or in units of multiple pictures.
- the motion vector that refers to the first reference picture You may choose. For example, if MV21 is a motion vector that refers to the first reference picture and MV22 is a motion vector that refers to the second reference picture, the motion vector of block MB 1 is the motion for picture P 2 1 The motion vector “0” for vector MV 2 1 and picture P 2 4 is used. (Embodiment 10)
- the motion vector calculation method in the direct mode described in the fifth to ninth embodiments will be described.
- This motion vector calculation method is applied to both image encoding and decoding.
- the block to be encoded or decoded is called the target block MB.
- a block in the same position as the target block in the reference picture of the target block MB is referred to as a reference block.
- FIG. 39 shows the process flow of the motion vector calculation method according to this embodiment.
- Step S1 it is determined whether or not the reference block MB in the reference picture behind the target block MB has a motion vector. If the reference block MB does not have a motion vector (Step S 1; No), the motion vector is predicted in two directions as “0” (Step S 2). The process of calculating is finished.
- step S3 If the reference block MB has a motion vector (step S1; Yes), it is determined whether or not the reference block MB has a forward motion vector (step S3).
- Step S3 If the reference block MB does not have a forward motion vector (step S3; No), the reference block MB has only a backward motion vector, so the number of backward motion vectors is determined. (Step S 1 4). If the number of backward motion vectors in the reference block MB is "2", it is scaled according to one of the calculation methods described in Fig. 19, Fig. 20, O, Fig. 21 and Fig. 22. Two-way prediction is performed using two backward motion vectors (step S 15).
- Step S 1 When the two-way prediction in Step S 15 or Step S 16 ends, the motion vector calculation method processing ends.
- step S4 When the reference block MB has a forward motion vector (step S3; Yes), the number of forward motion vectors of the reference block MB is determined (step S4).
- the reference picture corresponding to the forward motion vector of the reference block MB is stored in the memory for a long time. Or whether it is stored in the memory for a short time (step S5) o
- the forward motion vector of the reference block MB is scaled to use the scaled forward motion vector. Two-way prediction is performed (step S 6).
- the forward motion vector of the reference block MB is determined according to the motion vector calculation method shown in Fig. 37.
- the tor is used without being scaled, and the two-way prediction is performed with the backward motion vector zero (step S 7).
- the process for calculating the motion vector is completed.
- the number of forward motion vectors of the reference block MB is "2"
- the number of motion vectors is determined (step S8).
- step S 8 the target block MB is determined according to the motion vector calculation method shown in Figure 16 The motion vector close to the target picture to which the image belongs belongs in the order of display time, and bi-directional prediction is performed using the scaled motion vector (step S 9). If the number of forward motion vectors corresponding to the reference picture stored in the long-time memory is “1” in step S8, the motion vector is scaled to the picture stored in the short-time memory. Then, bi-directional prediction is performed using the scaled motion vector (step S 1 0).
- step S8 If the number of vectors is “2” in step S8, it is determined whether or not the same picture in the long-time memory is referenced by both of the two forward motion vectors (step S11). If both forward motion vectors refer to the same picture in memory for a long time (step S 1 1; Y es), the motion vector calculation method described in Figure 15 is used. Two-way prediction is performed using the motion vector previously encoded or decoded among the pictures referenced by the two forward motion vectors in the long-time memory (step S 1 2).
- step S11 the length of the motion vector is calculated according to the motion vector calculation method described in Figure 38.
- Two-way prediction is performed using the forward motion vector corresponding to the picture with the smaller order assigned to the picture stored in the time memory (step S 1 3). Since long-term memory stores reference pictures regardless of the actual image time, the forward motion vector to be used for bi-directional prediction is selected according to the order assigned to each reference picture. It has become so.
- the order of reference pictures stored in the long-time memory may coincide with the time of the image, but may simply coincide with the order of the memory addresses. In other words, the order of images stored in the memory for a long time does not necessarily match the time of the images.
- FIG. 40 is a block diagram showing the configuration of the moving picture encoding apparatus 100 according to Embodiment 11 of the present invention.
- the moving image encoding apparatus 100 has a block encoded with a field structure and a block encoded with a frame structure.
- a moving picture coding apparatus capable of coding a moving picture by applying a spatial prediction method in the direct mode even in the case of coexistence, comprising a frame memory 1 0 1, a difference calculation unit 1 0 2, a prediction Error encoding unit 10 3, code sequence generation unit 1 0 4, prediction error decoding unit 1 0 5, addition operation unit 1 0 6, frame memory 1 0 7, motion vector detection unit 1 0 8, Mode selection unit 1 0 9, Encoding control unit 1 1 0, Switch 1 1 1, Switch 1 1 2, Switch 1 1 3, Switch 1 1 4, Switch 1 1 5 It has a cluster memory unit 1 1 6.
- the frame memory 1 0 1 is an image memory that holds an input image in units of pictures.
- the difference calculation unit 102 obtains and outputs a prediction error that is a difference between the input image from the frame memory 1001 and the reference image obtained from the decoded image based on the motion vector.
- the prediction error encoding unit 103 performs frequency conversion on the prediction error obtained by the difference calculation unit 102, quantizes it, and outputs the result.
- the code string generation unit 10 4 performs variable length encoding on the encoding result from the prediction error encoding unit 10 3, converts it into a format of an output encoded bit stream, and encodes it.
- a code string is generated with additional information such as header information describing the relevant information of the prediction error.
- the prediction error decoding unit 1 0 5 performs variable length decoding on the encoding result from the prediction error encoding unit 1 0 3, performs inverse quantization, and then performs inverse frequency conversion such as IDCT conversion to decode the prediction error.
- the addition operation unit 106 adds the reference image to the prediction error that is the decoding result, and outputs a reference image that represents the same one-picture image as the input image with image data that has been encoded and decoded.
- the frame memory 10 07 is an image memory that holds reference images in units of pictures.
- the motion vector detection unit 1 0 8 detects a motion vector for each encoding unit of the encoding target frame.
- the mode selector 1 0 9 selects whether to calculate the motion vector in the direct mode or in another mode.
- the encoding control unit 1 1 0 is stored in the time order input to the frame memory 1 0 1.
- the picture of the input image is swapped in the order of encoding.
- the encoding control unit 110 determines for each unit of a predetermined size of the encoding target frame whether encoding is performed with a field structure or encoding with a frame structure.
- the unit of the predetermined size is a macro block (for example, 16 horizontal pixels and 16 vertical pixels) connected in the vertical direction (hereinafter referred to as a macro block pair).
- pixel values are read from the frame memory 1001 corresponding to the interlace every other horizontal scanning line. Then, each pixel value of the input image is read out, and the read out pixel values are arranged on the memory so as to form a macro block pair to be encoded corresponding to the field structure or frame structure.
- the motion vector storage unit 1 1 6 holds the motion vector of the encoded macroblock and the reference index of the frame referred to by the motion vector. The reference index is held for each macroblock in the encoded macroblock pair.
- FIG. 41 (a) is a diagram showing the order of frames input to the video encoding device 100 in time order in picture units.
- FIG. 41 (b) is a diagram showing the order in which the picture sequence shown in FIG. 41 (a) is rearranged in the order of encoding.
- Fig. 4 (a) vertical lines indicate pictures, and the symbols shown at the bottom right of each picture indicate that the first letter of the alphabet indicates the picture type (I, P or B), and the numbers after the second letter. Indicates the picture numbers in chronological order.
- FIG. 42 shows the structure of reference frame list 300 for explaining the embodiment 11.
- Each picture input to the frame memory 1 0 1 is sent by the encoding control unit 1 1 0. Rearranged in the encoding order. The rearrangement to the coding order is performed based on the reference relationship in inter-picture prediction coding so that the picture used as the reference picture is coded before the picture used as the reference picture. Sorted into
- a P picture uses one of the three neighboring I or P pictures ahead in display time order as a reference picture.
- the B picture uses one of the three neighboring I or P pictures in the display time order and one of the neighboring I or P pictures in the display time order as the reference picture.
- FIG. 4 1 (a) picture P 7 input after picture B 5 and picture B 6 is referred to by picture B 5 and picture B 6, so picture B 5 and picture B 6 Sorted before picture B6.
- picture P 1 0 that was input behind picture B 8 and picture B 9 was input before picture B 8 and picture B 9 and behind picture B 1 1 and picture B 12
- Picture P 1 3 is rearranged ahead of picture B 1 1 and picture B 1 2.
- the result of rearranging the pictures in Fig. 4 1 (a) is as shown in Fig. 4 1 (b).
- Each picture rearranged in the frame memory 10 1 is read in units of a macroblock pair in which two macroblocks are connected in the vertical direction, and each tuna block is horizontal 16 pixels X vertical 16 Let it be the size of the pixel. Therefore, a macroblock pair has a size of 16 horizontal pixels x 32 vertical pixels.
- reference index management in this embodiment that is, reference frame list management, is performed by the encoding control unit 110.
- Picture B 1 1 is a B picture, so it uses a two-way reference picture. Inter-predictor encoding is performed. For picture B 11, two pictures are used as reference pictures: pictures P 10, P 7, and P 4 that are forward in display time order and picture P 13 that is backward in display time order. It is assumed that it is possible to specify which two of these four pictures are selected in units of macroblocks.
- the reference index is assigned by the initial method. In other words, the reference frame list 300 when encoding picture B 11 is as shown in FIG. In this case, the first reference picture is designated by the first reference index in FIG. 42, and the second reference picture is designated by the second reference index in FIG.
- the encoding control unit 110 controls each switch so that the switch 1 1 3 is turned on and the switch 1 1 4 and the switch 1 1 5 are turned off. Therefore, the macroblock pair of picture B 11 read out from the frame memory 10 1 is input to the motion vector detection unit 1 0 8, the mode selection unit 1 0 9, and the difference calculation unit 1 0 2. .
- the motion vector detection unit 10 8 uses the decoded image data of the picture P 10, the picture P 7, the picture P 4 and the picture PI 3 stored in the frame memory 10 7 as a reference picture. The first motion vector and the second motion vector of each macro block included in the macro block pair are detected.
- the mode selection unit 109 determines the encoding mode of the macroblock pair using the motion vector detected by the motion vector detection unit 108.
- the encoding mode of B picture includes, for example, intra-picture encoding, inter-picture predictive encoding using one-way motion vector, inter-picture predictive encoding using two-way motion vector, and direct mode. It can be chosen from.
- the macroblock pair is encoded with a frame structure. Whether to encode with the field structure is also determined.
- FIG. 43 (a) shows a motion vector using the direct mode spatial prediction method when a macroblock pair encoded with the field structure and a macroblock pair encoded with the frame structure are mixed. It is a flow chart showing an example of a toll calculation procedure.
- FIG. 43 (b) is a diagram showing an example of the arrangement of peripheral macroblock pairs to which the present invention is applied when the encoding target macroblock pair is encoded with a frame structure.
- FIG. 43 (c) is a diagram showing an example of the arrangement of peripheral macroblock pairs to which the present invention is applied when the encoding target macroblock pair is encoded with the field structure.
- the macroblock pairs shown by hatching in Fig. 4 3 (b) and Fig. 4 3 (c) are the encoding target macro block pairs.
- the encoding control unit 110 first determines whether to encode the macro block pair to be encoded with the field structure or the frame structure. For example, if there are many peripheral macroblock pairs encoded with a field structure, the target macroblock pair is encoded with a field structure and many are encoded with a frame structure. Encode with frame structure.
- the encoding target macroblock pair can be selected in any structure.
- the motion vector detection unit 10 8 calculates the motion vector of the encoding target macroblock pair according to the determination of the encoding control unit 110.
- the motion vector detection unit 10 8 checks whether the encoding control unit 110 determines to encode with the field structure or to encode with the frame structure (S 3 0 1 ), If it is decided to encode with the frame structure, the motion vector of the encoding target macroblock pair is detected with the frame structure (S 3 0 2) and decided to encode with the field structure. If so, the motion vector of the encoding target macroblock pair is detected in the field structure (S 3 0 3).
- FIG. 44 is a diagram showing a data configuration of a macroblock pair when encoding with a frame structure and a data configuration of a macroblock pair when encoding with a field structure.
- white circles indicate pixels on odd horizontal scanning lines
- black circles hatched with diagonal lines indicate pixels on even horizontal scanning lines.
- the macroblock pair When such a macroblock pair is encoded with a frame structure, the macroblock pair is processed for each of two macroblocks MB1 and MB2, and the two macroblocks MB1 constituting the macroblock pair A motion vector is required for each of the macroblocks MB2.
- the macro block pair When coding in the field structure, the macro block pair is divided into a macro block TF representing the top field and a macro block BF representing the bottom field when interlaced in the horizontal scanning line direction.
- the cluster consists of the two macroblock pairs There is one required for each field.
- FIG. 45 is a flowchart showing a more detailed processing procedure in step S 300 shown in FIG.
- the macroblock pair is denoted as M B P and the macroblock is denoted as M B.
- the mode selector 1 0 9 uses one motion vector for one macroblock MB 1 (upper macroblock) constituting the encoding target macroblock pair by using the spatial prediction of the direct mode. calculate. First, the mode selector 1 0 9 obtains the minimum value of the indices of the pictures referred to by the neighboring macroblock pairs for each of the indices of the first motion vector and the second motion vector (S 5 0 1 ). However, in this case, if the peripheral macroblock pair is encoded with a frame structure, it is determined using only the macroblock adjacent to the encoding target macroblock. Next, it is checked whether or not the peripheral macroblock pair is encoded with the field structure (S 5 0 2). If the peripheral macroblock pair is encoded with the field structure, the peripheral macroblock pair is further configured. Of the fields referenced by the two macroblocks, the number of fields with the smallest index is checked from the reference frame list ⁇ in Fig. 42 (S500).
- the motion vector of the surrounding macroblock pair (S 504).
- the encoding target macroblock of the frame structure has no surroundings in the field structure. This is because two macroblocks in a macroblock pair are adjacent.
- the motion vector of that one macroblock is calculated.
- the motion vector of the surrounding macroblock pair is set as (S 5 0 4 A>. In either case, if the referenced field is a field without the smallest index, the surrounding macroblock pair Let the motion vector be roj (S 5 0 5).
- the motion vector with higher coding efficiency is selected by using only the motion vector of the field to which the reference field has the smallest index among the motion vectors of the surrounding macroblocks. can do.
- the process of S5 0 5 indicates that it is determined that there is no motion vector suitable for prediction.
- step S5002 if the surrounding macroblock pair is encoded with the frame structure, the motion of the macroblock adjacent to the encoding target macroblock in the surrounding macroblock pair is detected.
- the vector be the motion vector of the surrounding macroblock pair (S 5 0 6)
- the mode selection unit 10 9 repeats the processing from step S 5 0 1 to step S 5 0 6 for the three selected peripheral macroblock pairs.
- the mode selection unit 109 checks whether or not one of the three neighboring macroblock pairs is referring to the frame with the smallest index or the field in the frame (S 5 0 7).
- the mode selection unit 1 0 9 compares the reference indices of the three neighboring macroblock pairs with either the reference frame index or the reference field index.
- the reference frame list ⁇ shown in Fig. 4 only has a reference index for each frame, but this reference frame index and the reference field index with an index for each field are constant. Therefore, one of the reference frame list ⁇ or the reference field list ⁇ can be converted into the other reference index by calculation.
- FIG. 46 is a relationship display diagram showing the relationship between the reference field index and the reference frame index.
- the reference field list there are several frames indicated by the first field f 1 and the second field f 2 in time series.
- a reference frame index such as 0, 1, 2,... Is assigned based on the frame including the block to be converted (the frame shown in FIG. 46).
- the first field f 1 and the second field f 2 of each frame are based on the first field f 1 of the frame including the encoding target block (the first field is the encoding target field).
- Reference field indices such as 0, 1, 2,... are assigned.
- This reference field index is calculated from the first field f 1 and the second field f 2 of the frame close to the encoding target field, and if the encoding target block is the first field f 1, the first field f 1 1 is given priority, and if the target block to be encoded is the second field f2, the second field f2 is given priority (for example, the peripheral macroblock encoded with the frame structure is assigned to the reference frame).
- is referenced
- the peripheral block encoded with the field structure is the first of the reference field index ⁇ 2 ”
- the reference frame index of a frame referenced by one neighboring macroblock is equal to one half the value of the reference field index assigned to the reference field of the other neighboring macroblock.
- the surrounding macroblock is treated as referring to the same picture when the precondition of truncation is satisfied.
- the encoding target block included in the first field f 1 indicated by ⁇ in FIG. 46 refers to the first field f 1 of the reference field index ⁇ 2, and is a peripheral macroblock having a frame structure.
- the above peripheral block is treated as referring to the same picture in order to satisfy the above preconditions.
- the surrounding blocks are treated as not referring to the same picture.
- step S5007 if the result of the examination in step S5007 shows that there is one, the motion vector of the surrounding macroblock pair that refers to the frame with the smallest index or the field in that frame is represented as the macroblock to be encoded.
- the motion vector of the lock is assumed (S 5 0 8).
- step S5007 if there is not one, out of the three neighboring macroblock pairs, there are two neighboring macroblock pairs that refer to the frame with the smallest index or the field in that frame. Check if there is more than one (S 5 0 9).
- the motion vector is set to “0” (S 5 1 0), and the median value of the three motion vectors of the surrounding macroblock pair is set as the motion vector of the macroblock to be encoded (S 5 1 1).
- the number is less than 2
- the number of surrounding macroblock pairs that refer to the frame with the smallest index or the field in the frame is "0 J.
- the motion vector of the encoding target macroblock is set to “0” (S 5 1 2).
- one motion vector M V 1 is obtained as a calculation result for one macro block constituting the macro block pair to be encoded, for example, M B 1.
- the mode selection unit 109 also performs the above processing for the motion vector having the second reference index, and performs motion compensation by bi-directional prediction using the two motion vectors obtained. However, if there is no peripheral macroblock with the first or second motion vector in the peripheral macroblock pair, the motion vector in that direction is not used and the motion vector in only one direction is used. The motion compensation is performed by the torque. The same process is repeated for another macroblock in the macroblock pair to be encoded, for example, macroblock MB2. As a result, motion compensation in the direct mode is performed for each of the two macroblocks in one encoding target macroblock pair.
- FIG. 47 is a flowchart showing a more detailed processing procedure in step S 300 shown in FIG.
- the mode selection unit 1 0 9 directly outputs one motion vector MV t for one macroblock constituting the macroblock pair to be encoded, for example, the macroblock TF corresponding to the top field of the macroblock pair. Calculate using spatial prediction of modes. First, Moichi The node selection unit 1 0 9 obtains the minimum value of the indexes of pictures referred to by the neighboring macroblock pairs (S 6 0 1).
- peripheral macroblock pairs are processed in the field structure, only macroblocks in the same field (top field or bottom field) as the encoding target macroblock are considered.
- the peripheral macroblock page is encoded with the frame structure (S 6 0 2), and if it is encoded with the frame structure, 2 Judgment is made based on the index value assigned to each frame by the reference frame list 3 0 0 to determine whether all frames referenced by one macroblock are the frames with the smallest index. (S 6 0 3)
- step S600 If the frame referenced by the two macroblocks is the smallest index as a result of the examination in step S600, the average value of the motion vectors of the two macroblocks is obtained and The motion vector of the surrounding macro block pair is used (S 6 0 4). If one or both of the results of the examination in step S 6 0 3 shows that the referenced frame is a frame that does not have the smallest index, the frame referenced by any of the macroblocks is further minimized.
- the macro block The motion vector is set as the motion vector of the surrounding macroblock pair (S 6 06), and as a result of checking in step S 6 0 5, all macroblocks have the smallest index attached to the referenced frame. If not, the motion vector of the surrounding macroblock pair is set to “0 J (S 6 0 7). Of, frame a frame reference is assigned the lowest index By using only the ⁇ ⁇ motion vector, it is possible to select a motion vector with higher coding efficiency.
- the processing of S 6 0 7 indicates that it is determined that there is no motion vector suitable for prediction.
- step S 6 0 2 when the peripheral macroblock pair is encoded with the field structure, the motion vector of the entire peripheral macroblock pair is changed to the peripheral macroblock pair.
- the motion vector of the macroblock corresponding to the target macroblock in the encoding target macroblock pair is set (S 6 0 8).
- the mode selection unit 10 9 repeats the processing from step S 6 0 1 to step S 6 0 8 for the selected three neighboring macroblock pairs.
- one motion vector for each of the three neighboring macroblock pairs is obtained.
- the motion vector detection unit 10 8 checks whether or not one of the three neighboring macroblock vectors refers to the frame with the smallest index (S 6 0 9). If it is 1, the motion vector of the surrounding macroblock pair that refers to the frame with the smallest index is set as the motion vector of the encoding target macroblock (S 6 10). If the result of the check in step S 6 0 9 is not one, check whether there are two or more peripheral macroblock pairs that refer to the frame with the smallest index among the three peripheral macroblocks.
- one motion vector M V t is obtained as a calculation result for one macro block constituting the encoding target macro block pair, for example, the macro block TF corresponding to the top field.
- the mode selection unit 1 0 9 repeats the above process for the second motion vector (corresponding to the second reference index).
- two motion vectors are obtained for the macroblock TF, and motion compensation is performed by bi-directional prediction using these motion vectors.
- the peripheral macroblock reference refers to only one direction, and it is considered that the encoding efficiency is higher when referring to only one direction for the macroblock to be encoded.
- the same processing is repeated for another macroblock in the macroblock pair to be encoded, for example, the macroblock BF corresponding to the port field.
- the processing in the direct mode is performed for each of the two macroblocks in one macroblock pair to be encoded, for example, the macroblock TF and the macroblock BF.
- the coding structure of the encoding target macroblock pair and the coding structure of the neighboring macroblock pair are different, the average value of the motion vectors of the two macroblocks in the neighboring macroblock pair is obtained.
- the present invention is not limited to this. For example, only when the encoding target macroblock pair and the peripheral macroblock pair have the same encoding structure, the motion of the peripheral macroblock pair is the same.
- the motion vector of the surrounding macroblock pair with a different encoding structure may not be used. More specifically, (1) When the encoding target macroblock pair is encoded with the frame structure, only the motion vector of the peripheral macroblock pair encoded with the frame structure is used. At this time, if none of the motion vectors of the surrounding macroblock pairs encoded with the frame structure refer to the frame with the smallest index, the motion vector of the macroblock pair to be encoded is used. Toll is set to “0”. If the peripheral macroblock pair is encoded with the field structure, the motion vector of the peripheral macroblock pair is set to “0”.
- the motion vector After calculating the motion vector of each neighboring macroblock pair in this way, 3 Of these motion vectors, only one obtained by referring to the frame with the smallest index or its field In the case of, the motion vector is set as the motion vector of the encoding target macroblock pair in the direct mode. Otherwise, the median of the three motion vectors is encoded in the direct mode. The motion vector of the target macroblock pair.
- the present invention is not limited to this.
- the coding is always performed using the frame structure or the field structure. It may be fixed.
- the header of the entire code string or the frame for each frame is used. It may be described in a ramheader.
- the unit of switching may be, for example, a sequence, a GOP, a picture, a slice, etc. In this case, each may be described in a corresponding header in the code string.
- the method of using the motion vector of the surrounding macroblock pair can be used for encoding in the direct mode.
- the motion vector of a macroblock pair can be calculated.
- the header part and the data part may be separated and transmitted separately. In that case, the header part and the data part do not become one bit stream.
- the header part corresponding to the corresponding data part is only transmitted in a different bucket ⁇ , and one bit stream It is the same even if it is not reamed.
- the process of determining the structure using the information of the peripheral blocks can be eliminated, and the process can be simplified.
- a method may be used in which an encoding target macroblock pair is processed with both a frame structure and a field structure, and a structure with high encoding efficiency is selected.
- whether the frame structure or the field structure is selected depends on the macroblock pair in the code string. Described in the part. Even in this case, only when the encoding target macroblock pair and the surrounding macroblock pair have the same encoding structure, the motion vector of the surrounding macroblock pair is used, and the encoding target in the direct mode is used. It goes without saying that the motion vector of a macroblock pair can be calculated.
- information indicating whether the frame structure or the field structure is selected is required in the code string, but it is possible to further reduce the residual signal of motion compensation. Encoding efficiency can be improved.
- the peripheral macroblock pairs have been motion compensated in units of macroblock sizes, but they may be motion compensated in units of different sizes.
- a block including pixels located at a, b, and c is selected for each macroblock of the macroblock pair to be encoded.
- the motion vector is the motion vector of the surrounding macroblock pair, where Fig. 48 (a) shows the case of processing the upper macroblock, and Fig. 48 (b) shows the lower macroblock. The case of processing is shown.
- the pixels at positions a, b, and c as shown in Fig. 49 (a) and (b) are included.
- Processing is performed using a block and a block including pixels at positions a ′, b ′, and c ′.
- the positions a ′, b ′, and c ′ are blocks included in the other macroblock in the same macroblock pair corresponding to the positions of the pixels a, b, and c.
- the motion vector of the block on the left side of the upper encoding target macroblock is The motion vector of BL 1 and BL 2 is used for determination.
- Fig. 49 (a) when the frame Z field structure of the encoding target macroblock pair and the surrounding macroblock pair are different, the motion vector of the block on the left side of the upper encoding target macroblock is The motion vector of BL 1 and BL 2 is used for determination. Also, in the case of Fig.
- the encoding target macroblock page If the frame field structure of the key and the neighboring macroblock pair are different, the motion vector of the left block of the upper macroblock to be encoded is determined using the motion vectors of BL3 and BL4. By using such a processing method, even if the surrounding macroblock is motion compensated in a unit different from the size of the macroblock, the direct mode processing is performed in consideration of the frame ⁇ field difference. It becomes possible.
- the average value of the motion vectors of the blocks included in the macroblock is obtained by It may be the motion vector of the macroblock. Even when neighboring macroblocks are motion-compensated in units different from the macroblock size, it is possible to perform direct mode processing that takes into account the differences in the frame and field.
- FIG. 50 is a diagram illustrating an example of a data configuration of the code string 70 0 generated by the code string generation unit 1 0 4. As shown in the figure, in the code string 7 00 generated by the code string generation unit 10 4, a header Header is provided for each picture Picture.
- This header Header has, for example, an item RPSL indicating the change of the reference frame list ⁇ 10 and an unillustrated item indicating the picture type of the picture, and the item RPSL includes the reference frame list. 1st reference index If there is a change from the initial setting in the assignment method of the values of the index 1 2 and the second reference index 1 3, the assignment method after the change is described.
- the encoded prediction error is recorded for each macroblock.
- the motion vector of the macroblock is described in the item BI oc k 1 describing the prediction error corresponding to the macroblock.
- No information is described, and information indicating that the encoding mode is the direct mode is described in the item PredType indicating the encoding mode of the macroblock.
- the encoded prediction error is described in the item CodedRes.
- the item Pr indicating the coding mode in the item B l ock2 describing the prediction error corresponding to the macroblock Pr edType describes that the coding mode of the macroblock is the inter-picture prediction coding mode.
- the first reference index 12 of the macroblock is written in the item R i dxO and the second reference index 13 is written in the item R i dx l.
- the reference index in the block is represented by a variable-length codeword, and the smaller the value, the shorter the code length code is assigned.
- the motion vector when referring to the front frame of the macroblock is described in item MV0, and the motion vector when referring to the rear frame is described in item MV1.
- the encoded prediction error is described in the item CodedRes.
- FIG. 51 is a block diagram showing the configuration of moving picture decoding apparatus 8 0 0 that decodes code string 7 0 0 shown in FIG.
- the video decoding device 8 0 0 A video decoding device that decodes a code string 7 0 0 in which a prediction error including a macroblock encoded in the direct mode is described.
- the code string analyzer 7 0 1 extracts various data from the input code string 7 0 0.
- the various types of data here include information on coding mode and information on motion vectors.
- the extracted encoding mode information is output to the mode decoding unit 70 3.
- the extracted motion vector information is output to the motion vector decoding unit 7 11.
- the extracted prediction error encoded data is output to the prediction error decoding unit 70 2.
- the prediction error decoding unit 70 2 decodes the input prediction error encoded data to generate a prediction error image.
- the generated prediction error image is output to the switch 7 9. For example, when the switch 7 09 is connected to the terminal b, the prediction error image is output to the adder 7 08.
- the mode decoding unit 70 3 refers to the coding mode information extracted from the code string, and controls the switches 7 09 and 7 10.
- control is performed so that switch 7 09 is connected to terminal a and switch 7 10 is connected to terminal c.
- the mode decoding unit 70 3 When the coding mode is inter-picture coding, control is performed so that switch 7 09 is connected to terminal b and switch 7 10 is connected to terminal d. Further, the mode decoding unit 70 3 outputs the coding mode information to the motion compensation decoding unit 70 5 and the motion vector decoding unit 7 11. The motion vector decoding unit 7 1 1 performs a decoding process on the encoded motion vector input from the code string analysis unit 70 1. Decrypted reference picture The channel number and motion vector are output to the motion compensation decoding unit 70 5 at the same time as being stored in the motion vector storage unit 70 6.
- the mode decoder 7 0 3 controls to connect the switch 7 0 9 to the terminal b and connect the switch 7 1 0 to the terminal d. To do. Further, the mode decoding unit 70 3 also outputs the information of the coding mode to the motion compensation decoding unit 70 5 and the motion vector decoding unit 7 11.
- the motion vector decoding unit 7 1 1 stores the motion vector and reference picture number of the surrounding macro-block pair stored in the motion vector storage unit 700. Use to determine the motion vector used in direct mode. Since the method for determining the motion vector is the same as that described in the operation of the mode selection unit 10 9 in FIG. 40, the description thereof is omitted here.
- the motion compensation decoding unit 70 5 acquires a motion compensation image for each macroblock from the frame memory 70 07.
- the obtained motion compensated image is output to the addition calculation unit 70 8.
- the frame memory 7 07 is a memory that holds a decoded image for each frame.
- the addition operation unit 70 8 adds the input prediction error image and the motion compensated image to generate a decoded image.
- the generated decoded image is output to the frame memory 7 07.
- the encoded peripheral macroblock pair for the encoding target macroblock pair is encoded with the frame structure and the field structure.
- the motion vector can be easily obtained even when the data encoded by is mixed.
- each picture is a unit of a macroblock pair in which two macroblocks are connected in the vertical direction.
- this may be performed by switching the frame structure or field structure in different units, for example, macroblock units.
- P picture coding ⁇ When decoding, each block performs motion compensation from only one picture, and there is only one reference frame list. Therefore, in order to perform the same processing as in the present embodiment for P pictures as well, in this embodiment, two motion vectors (first reference frame list ⁇ and second reference frame list ⁇ and second The process for obtaining the reference frame list may be a process for obtaining one motion vector.
- the motion vectors used in the direct mode are predicted and generated using the motion vectors of the three neighboring macroblock pairs.
- the number may be a different value. For example, only the motion vector of the neighboring macroblock pair on the left may be used.
- FIG. 52 is an explanatory diagram of a storage medium for storing a program for realizing the image encoding method and the image decoding method according to Embodiments 1 to 11 by a computer system.
- Fig. 52 (b) shows the appearance, cross-sectional structure, and flexible disk as seen from the front of the flexible disk
- Fig. 52 (a) shows an example of the physical format ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ of the flexible disk that is the recording medium body Yes.
- the flexible disk FD is built in the case F, and on the surface of the disk, a plurality of tracks Tr are formed concentrically from the outer periphery toward the inner periphery, and each track has 16 sectors in the angular direction. It is divided into Se. Therefore, in the flexible disk storing the program, the image encoding method and the image decoding method as the program are recorded in an area allocated on the flexible disk FD.
- FIG. 52 (c) shows a configuration for recording and reproducing the above program on the flexible disk FD.
- the image encoding method and the image decoding method as the above program are written from the computer system C s via the flexible disk drive.
- the program is read from the flexible disk by a flexible disk drive and transferred to a computer system.
- the flexible disk is used as the recording medium, but the same can be done using an optical disk.
- the recording medium is not limited to this, and any recording medium such as GD-R0M, a memory card, and a ROM cassette can be similarly implemented.
- application examples of the image coding method and image decoding method shown in the above embodiment and a system using the same will be described.
- FIG. 53 is a block diagram showing an overall configuration of a content supply system ex 100 that implements a content distribution service.
- Communication service provider The base is divided into a desired size, and base stations ex 1 0 7 to ex 1 1 0 which are fixed radio stations are installed in each cell.
- This content supply system ex 1 0 0 is, for example, connected to the Internet ex 1 0 1 via the Internet service provider exl 0 2 and the telephone network ex 1 0 4 and the base stations exl 0 7 to ex1 1 0.
- a computer ex 1 1 1, PDA (persona I digital assistant) ex 1 1 2, camera exl 1 3, mobile phone exl 1 4, mobile phone with camera ex 1 1 5, etc. are connected.
- the content supply system exl 0 0 is not limited to the combination as shown in FIG. 53, and may be connected in any combination. Further, each device may be directly connected to the telephone network ex l 04 without going through the base stations ex 10 07 to ex 110 that are fixed radio stations.
- the camera ex l 1 3 is a device that can shoot movies such as a digital video camera.
- the mobile phone uses PDC (Personal Digital Communications), CD MA (Code Division Multiple Access), W—C DMA (Wideband-Code Division Multiple Access), or GSM (Global System for Mobile Communications). ) Type mobile phone or PHS (Personal Handyphone System), etc.
- the streaming monitor ex 1 0 3 is connected from the camera ex 1 1 3 through the base station ex 1 0 9 and the telephone network exl 04, and is encoded by the user using the camera exl 1 3 Live distribution based on the recorded data becomes possible.
- the encoded data may be encoded by the camera exl 13 or by a server that performs data transmission processing. Further, the moving image data shot by the camera ex 1 1 6 may be transmitted to the streaming server ex 1 0 3 via the computer exl 1 1.
- Camera ex 1 1 6 It is a device that can shoot still images and movies such as digital cameras. In this case, the video data may be encoded by the camera ex 1 16 or the computer ex 1 1 1.
- the encoding process is performed in the LSI ex 1 1 7 included in the computer ex l 1 1 and the camera ex l 1 6. It should be noted that some storage media (CD-R) that is a recording medium that can be read by the computer ex l 1 1 etc.
- CD-R storage media
- video data may be transmitted using a camera-equipped mobile phone ex l 15.
- the moving image data at this time is data encoded by L S I of the mobile phone ex 115.
- this content supply system ex l 0 content (for example, a video image of music live) taken by the user with the camera ex 1 1 3.
- Camera ex 1 1 6 etc. is encoded as in the above embodiment.
- the stream data is sent to the streaming server ex 10 0 3 while the streaming server ex 1 0 3 delivers the content data to the requested client.
- Clients include a computer ex 1 1 1, PD A e 1 1 2, a camera ex 1 1 3, a mobile phone ex 1 1 4, etc. that can decode the encoded data.
- the content supply system ex 1 0 0 can receive and play back the encoded data at the client, and can also receive, decode and play back at the client in real time. It is a system that can realize personal broadcasting.
- the image encoding device or the image decoding device described in the above embodiments may be used.
- FIG. 54 is a diagram showing a mobile phone ex1 15 using the image coding method and the image decoding method described in the above embodiment.
- the mobile phone ex1 1 5 is an antenna ex2 0 1 for transmitting and receiving radio waves to and from the base station ex1 1 0, a power camera unit ex 2 0 3 that can take images from a CCD camera, etc., and still images, Display unit ex2 0 2 such as a liquid crystal display that displays the decoded data of the video taken by the camera ex20 3 and the video received by the antenna ex20 1 etc., and operation keys e X 2004 Main unit, sound output unit ex 2 0 8 for sound output for audio output, audio input unit ex 2 0 5 for microphone input for audio input, received video or still image data, reception Recording media ex 20 7 for storing encoded data or decrypted data such as email data, video data or still image data, recording media ex 20 7 to mobile phone exl 1 5 It has a slot part ex 2 0 6 to enable mounting.
- Recording media ex 2 0 7 is a flash that is a kind of EEPR OM (Electrically Erasable and Programmable Read On Iy Memory) that is a nonvolatile memory that can be electrically rewritten and erased in a plastic case such as an SD card.
- EEPR OM Electrically Erasable and Programmable Read On Iy Memory
- the cellular phone ex1 1 5 will be described with reference to FIG.
- the mobile phone ex1 1 5 is a power circuit for the main control unit ex 3 1 1, which is designed to centrally control each part of the main unit with display unit ex 2 0 2 and operation key ex 2 0 4.
- Unit ex 3 1 0, operation input control unit ex3 0 4, image coding unit ex 3 1 2, camera interface unit ex 3 0 3, LCD (Liquid Crystal Display) control unit ex3 0 2, image decoding unit ex3 09, a demultiplexing unit ex 30 8, a recording / reproducing unit ex 3 07, a modulation / demodulation circuit unit ex 3 06 and an audio processing unit ex 3 0 5 are connected to each other via a synchronization bus ex 3 1 3.
- the power circuit part ex3 1 0 supplies power to each part from the battery pack when the end call and power key are turned on by the user's operation. To activate the digital camera phone ex 1 1 5 with camera.
- the cellular phone ex 1 1 5 performs voice processing on the audio signal collected by the voice input unit ex 2 0 5 in the voice call mode based on the control of the main control unit ex 3 1 1 consisting of CPU, ROM, RAM, etc. Part ex3 0 5 is converted to digital audio data, this is subjected to spectrum spreading processing by modulation / demodulation circuit part ex3 0 6, and digital analog conversion processing and frequency conversion processing are performed by transmission / reception circuit part ex 3 0 1 Later, transmit via antenna ex 2 0 1.
- the cellular phone ex 1 1 5 amplifies the received data received by the antenna ex 2 0 1 in the voice call mode, performs frequency conversion processing and analog-digital conversion processing, and performs spectrum despreading at the modulation / demodulation circuit unit ex 3 0 6 After being processed and converted into analog audio data by the audio processing unit ex 3 0 5, this is output via the audio output unit ex 2 0 8.
- the e-mail text input by operating the operation key e X 2 0 4 on the main unit is sent via the operation input control unit ex3 0 4 It is sent to the control unit ex 3 1 1.
- the main control unit ex 3 1 1 performs the spectrum spreading process on the text data in the modulation / demodulation circuit unit ex 3 0 6 and performs the digital / analog conversion process and the frequency conversion process in the transmission / reception circuit unit ex 3 0 1. Transmit to base station ex 1 1 0 via ex 2 0 1.
- the image data captured by the camera unit ex 2 0 3 is supplied to the image encoding unit ex 3 1 2 via the camera interface unit ex 3 0 3.
- the image data captured by the camera unit ex2 0 3 is directly sent to the display unit ex 2 0 2 via the camera interface unit ex3 0 3 and the LCD control unit ex3 0 2. It is also possible to display.
- the image encoding unit ex 3 12 has a configuration including the image encoding device described in the present invention, and the image data supplied from the camera unit ex 203 is added to the image encoding device shown in the above embodiment.
- the cellular phone ex 1 1 5 demultiplexes the audio collected by the audio input unit ex20 5 during imaging by the camera unit ex 2 03 as digital audio data via the audio processing unit ex 3 05. Send to part ex30-8.
- the demultiplexing unit ex3 0 8 multiplexes the encoded image data supplied from the image encoding unit ex3 12 and the audio data supplied from the audio processing unit ex3 0 5 by a predetermined method, and obtains the multiplexed
- the modulated data is spectrum spread processed by the modulation / demodulation circuit unit ex 3 0 6 and is transmitted via the antenna ex 2 0 1 after being subjected to digital analog conversion processing and frequency conversion processing by the transmission / reception circuit unit ex 3 0 1 To do.
- the received / received data received from the base station ex 1 1 0 via the antenna ex2 0 1 is transmitted to the modulation / demodulation circuit unit ex3 0 6.
- the spectrum despreading process is performed, and the resulting multiplexed data is sent to the demultiplexing unit ex308.
- the demultiplexing unit ex3 0 8 separates the multiplexed data to generate a bit stream and audio of the image data. divided into a bit toss tree ⁇ data, to supply the audio data to the audio processing unit ex 3 0 5 supplies the coded picture data to the picture decoding unit e x3 0 9 via the synchronous bus ex3 1 3
- the image decoding unit ex 3 0 9 includes the image decoding apparatus described in the present invention.
- the playback video data is generated by decoding the bit stream of the image data by the decoding method corresponding to the encoding method described in the above embodiment, and this is generated by the LCD controller ex
- the video data included in the video image file linked to the homepage is displayed, for example.
- the audio processing unit ex 3 0 5 converts the audio data into analog audio data, and then supplies this to the audio output unit ex 2 0 8, whereby, for example, a moving image file linked to the homepage Is reproduced.
- a bit stream of video information is transmitted to the communication or broadcast satellite ex 4 10 via radio waves at the broadcast station ex 4 0 9.
- the broadcast satellite ex 4 1 0 receiving this signal transmits a radio wave for broadcasting and receives this radio wave with a home antenna ex 4 0 6 having a satellite broadcast receiving facility, and a television (receiver) ex 4 0 1 or A set top box (STB) ex 4 0 7 or other device decodes the entire bit stream and plays it back.
- STB set top box
- the image decoding apparatus shown in the above embodiment is also used for the reproducing apparatus ex 4 0 3 that reads and decodes the bit stream recorded on the storage medium ex 4 0 2 as a recording medium such as GD or DVD. It can be implemented. In this case, the reproduced video signal is displayed on the monitor ex 4 0 4.
- an image decoding device is installed in a set-top box ex 4 0 7 connected to a cable ex 4 0 5 for cable television or an antenna ex 4 0 6 for satellite terrestrial broadcasting, and this is installed on a TV monitor. A configuration that uses ex 4 0 8 for playback is also possible. At this time, an image decoding device may be incorporated in the television instead of the set top box. Also car with antenna ex 4 1 1 Receive signal from satellite ex 4 1 0 or base station ex 1 0 7 etc. with ex 4 1 2 and play video on display device such as car ex 4 1 2 ex 4 1 3 etc. It is also possible to do.
- the image signal can be encoded by the image encoding device described in the above embodiment and recorded on a recording medium.
- a recorder e X 4 2 0 such as a DVD recorder that records image signals on a DVD disk e X 4 2 1 or a disk recorder that records images on a hard disk. You can also record to SD card e X 4 2 2. If the recorder e X 4 2 0 is equipped with the image decoding device shown in the above embodiment, the image signal recorded on the DVD disc e X 4 2 1 or SD card e X 4 2 2 is played back and monitored. ex 4 0 8 can be displayed.
- the mobile phone ex 1 1 4 and the like have three types of terminals: a transmitting terminal having only an encoder and a receiving terminal having only a decoder.
- the implementation form of can be considered.
- the moving picture coding method or the moving picture decoding method described in the above embodiment can be used in any of the above-described devices and systems, and as a result, the description has been given in the above embodiment. An effect can be obtained.
- the image encoding apparatus according to the present invention is useful as an image encoding apparatus provided in a personal computer, a PDA, a digital broadcast station, a mobile phone, and the like having a communication function.
- the image decoding apparatus is useful as an image decoding apparatus provided in a personal computer having a communication function, PDA, an STB that receives digital broadcasting, a mobile phone, and the like.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
Claims
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
BR0304535-8A BR0304535A (pt) | 2002-04-19 | 2003-04-16 | Método de cálculo de vetor de movimento |
KR10-2003-7014885A KR20040099100A (ko) | 2002-04-19 | 2003-04-16 | 움직임 벡터 계산 방법 |
EP03723121A EP1441537A4 (en) | 2002-04-19 | 2003-04-16 | METHOD FOR CALCULATING A MOTION VECTOR |
US10/480,047 US20040146109A1 (en) | 2002-04-19 | 2003-04-16 | Method for calculation motion vector |
CA002451571A CA2451571A1 (en) | 2002-04-19 | 2003-04-16 | Method for calculating motion vector |
MXPA03011334A MXPA03011334A (es) | 2002-04-19 | 2003-04-16 | Metodo de calculo de un vector de movimiento. |
AU2003235174A AU2003235174A1 (en) | 2002-04-19 | 2003-04-16 | Method for calculating motion vector |
Applications Claiming Priority (22)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002118598 | 2002-04-19 | ||
JP2002-118598 | 2002-04-19 | ||
JP2002-121053 | 2002-04-23 | ||
JP2002121053 | 2002-04-23 | ||
US37864302P | 2002-05-09 | 2002-05-09 | |
US60/378,643 | 2002-05-09 | ||
US37895402P | 2002-05-10 | 2002-05-10 | |
US60/378,954 | 2002-05-10 | ||
JP2002-156266 | 2002-05-29 | ||
JP2002156266 | 2002-05-29 | ||
JP2002177889 | 2002-06-19 | ||
JP2002-177889 | 2002-06-19 | ||
JP2002-193027 | 2002-07-02 | ||
JP2002193027 | 2002-07-02 | ||
JP2002204713 | 2002-07-12 | ||
JP2002-204713 | 2002-07-12 | ||
JP2002262151 | 2002-09-06 | ||
JP2002-262151 | 2002-09-06 | ||
JP2002-290542 | 2002-10-02 | ||
JP2002290542 | 2002-10-02 | ||
JP2002-323096 | 2002-11-06 | ||
JP2002323096 | 2002-11-06 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2003090475A1 true WO2003090475A1 (fr) | 2003-10-30 |
Family
ID=29255790
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2003/004809 WO2003090475A1 (fr) | 2002-04-19 | 2003-04-16 | Procede pour calculer un vecteur de mouvement |
PCT/JP2003/004805 WO2003090473A1 (fr) | 2002-04-19 | 2003-04-16 | Procede de calcul de vecteurs de mouvement |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2003/004805 WO2003090473A1 (fr) | 2002-04-19 | 2003-04-16 | Procede de calcul de vecteurs de mouvement |
Country Status (12)
Country | Link |
---|---|
US (24) | US7940845B2 (ja) |
EP (3) | EP3525466B1 (ja) |
KR (4) | KR101011849B1 (ja) |
CN (2) | CN1290341C (ja) |
AU (2) | AU2003231356B2 (ja) |
CA (2) | CA2451568C (ja) |
ES (5) | ES2745044T3 (ja) |
HU (8) | HUE053955T2 (ja) |
MX (1) | MXPA03011334A (ja) |
MY (1) | MY155930A (ja) |
PT (3) | PT3525464T (ja) |
WO (2) | WO2003090475A1 (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007517437A (ja) * | 2003-12-31 | 2007-06-28 | 中国科学院▲計▼算技▲術▼研究所 | 直接符号化モードでの参照画像ブロックの確定方法 |
JP2007517438A (ja) * | 2003-12-31 | 2007-06-28 | 中国科学院計算技木研究所 | 参照フレームの数を固定する符号化方式で画像の参照ブロックを取得する方法 |
CN102131091A (zh) * | 2010-01-15 | 2011-07-20 | 联发科技股份有限公司 | 解码端运动向量导出方法 |
US8873630B2 (en) | 2002-06-03 | 2014-10-28 | Microsoft Corporation | Spatiotemporal prediction for bidirectionally predictive (B) pictures and motion vector prediction for multi-picture reference motion compensation |
CN105530516A (zh) * | 2010-01-15 | 2016-04-27 | 联发科技股份有限公司 | 解码端运动向量导出方法 |
US9888237B2 (en) | 2002-01-25 | 2018-02-06 | Microsoft Technology Licensing, Llc | Video coding |
Families Citing this family (149)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7266150B2 (en) | 2001-07-11 | 2007-09-04 | Dolby Laboratories, Inc. | Interpolation of video compression frames |
US8111754B1 (en) | 2001-07-11 | 2012-02-07 | Dolby Laboratories Licensing Corporation | Interpolation of video compression frames |
US20030099294A1 (en) * | 2001-11-27 | 2003-05-29 | Limin Wang | Picture level adaptive frame/field coding for digital video content |
CN1290341C (zh) | 2002-04-19 | 2006-12-13 | 松下电器产业株式会社 | 运动矢量的计算方法、动态图像的编码、解码方法及装置 |
US7088776B2 (en) | 2002-07-15 | 2006-08-08 | Apple Computer, Inc. | Method and apparatus for variable accuracy inter-picture timing specification for digital video encoding |
WO2004008775A1 (ja) | 2002-07-15 | 2004-01-22 | Hitachi, Ltd. | 動画像符号化方法及び復号化方法 |
US7154952B2 (en) | 2002-07-19 | 2006-12-26 | Microsoft Corporation | Timestamp-independent motion vector prediction for predictive (P) and bidirectionally predictive (B) pictures |
US6728315B2 (en) | 2002-07-24 | 2004-04-27 | Apple Computer, Inc. | Method and apparatus for variable accuracy inter-picture timing specification for digital video encoding with reduced requirements for division operations |
ES2767066T3 (es) | 2002-08-08 | 2020-06-16 | Godo Kaisha Ip Bridge 1 | Procedimiento de descodificación de imágenes en movimiento |
KR100506864B1 (ko) * | 2002-10-04 | 2005-08-05 | 엘지전자 주식회사 | 모션벡터 결정방법 |
CN101873488B (zh) * | 2002-11-01 | 2012-05-30 | 松下电器产业株式会社 | 动态画像编码方法及装置、动态画像解码方法及装置 |
KR100693669B1 (ko) | 2003-03-03 | 2007-03-09 | 엘지전자 주식회사 | 피일드 매크로 블록의 레퍼런스 픽쳐 결정 방법 |
US20050013498A1 (en) | 2003-07-18 | 2005-01-20 | Microsoft Corporation | Coding of motion vector information |
MXPA06002211A (es) * | 2003-08-26 | 2006-05-19 | Thomson Licensing | Metodo y aparato para reducir al minimo el numero de imagenes de referencia utilizadas para inter-codificacion. |
US7567617B2 (en) | 2003-09-07 | 2009-07-28 | Microsoft Corporation | Predicting motion vectors for fields of forward-predicted interlaced video frames |
US7616692B2 (en) * | 2003-09-07 | 2009-11-10 | Microsoft Corporation | Hybrid motion vector prediction for interlaced forward-predicted fields |
US7623574B2 (en) * | 2003-09-07 | 2009-11-24 | Microsoft Corporation | Selecting between dominant and non-dominant motion vector predictor polarities |
US8064520B2 (en) | 2003-09-07 | 2011-11-22 | Microsoft Corporation | Advanced bi-directional predictive coding of interlaced video |
US7724827B2 (en) | 2003-09-07 | 2010-05-25 | Microsoft Corporation | Multi-layer run level encoding and decoding |
US7400681B2 (en) * | 2003-11-28 | 2008-07-15 | Scientific-Atlanta, Inc. | Low-complexity motion vector prediction for video codec with two lists of reference pictures |
US7379608B2 (en) * | 2003-12-04 | 2008-05-27 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung, E.V. | Arithmetic coding for transforming video and picture data units |
WO2005062625A1 (ja) * | 2003-12-22 | 2005-07-07 | Nec Corporation | 動画像を符号化する方法及び装置 |
US7480334B2 (en) * | 2003-12-23 | 2009-01-20 | Genesis Microchip Inc. | Temporal motion vector filtering |
US7599435B2 (en) * | 2004-01-30 | 2009-10-06 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Video frame encoding and decoding |
US8036271B2 (en) * | 2004-02-24 | 2011-10-11 | Lsi Corporation | Method and apparatus for determining a second picture for temporal direct-mode block prediction |
US7586924B2 (en) | 2004-02-27 | 2009-09-08 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Apparatus and method for coding an information signal into a data stream, converting the data stream and decoding the data stream |
US9743078B2 (en) | 2004-07-30 | 2017-08-22 | Euclid Discoveries, Llc | Standards-compliant model-based video encoding and decoding |
TWI268715B (en) * | 2004-08-16 | 2006-12-11 | Nippon Telegraph & Telephone | Picture encoding method, picture decoding method, picture encoding apparatus, and picture decoding apparatus |
KR20060043118A (ko) * | 2004-10-07 | 2006-05-15 | 엘지전자 주식회사 | 영상 신호의 인코딩 및 디코딩 방법 |
US7813432B2 (en) * | 2004-12-30 | 2010-10-12 | Intel Corporation | Offset buffer for intra-prediction of digital video |
US20090108000A1 (en) * | 2005-11-03 | 2009-04-30 | Hyun Sam Lee | Overflow Preventing Lid for Cooking Receptacle |
JP4616765B2 (ja) * | 2005-12-15 | 2011-01-19 | 富士通株式会社 | 動画像符号化装置 |
EP1972154A4 (en) | 2006-01-09 | 2014-11-19 | Lg Electronics Inc | INTERLAYER PREDICTION METHOD FOR VIDEO SIGNAL |
KR20070074452A (ko) * | 2006-01-09 | 2007-07-12 | 엘지전자 주식회사 | 영상신호의 엔코딩/디코딩시의 레이어간 예측 방법 |
EP1806930A1 (en) * | 2006-01-10 | 2007-07-11 | Thomson Licensing | Method and apparatus for constructing reference picture lists for scalable video |
JP4720543B2 (ja) * | 2006-03-01 | 2011-07-13 | ソニー株式会社 | データ処理装置、データ処理方法およびデータ処理プログラム、記録媒体、ならびに、再生装置、再生方法および再生プログラム |
US8306118B1 (en) * | 2006-03-01 | 2012-11-06 | Maxim Integrated, Inc. | High quality low bitrate video coding by enabling and disabling a non-residual mode |
JP4527677B2 (ja) * | 2006-03-15 | 2010-08-18 | 富士通株式会社 | 動画像符号化方法、動画像符号化装置、動画像符号化プログラム |
US8208553B2 (en) * | 2006-05-04 | 2012-06-26 | Altera Corporation | Methods and apparatus for quarter-pel refinement in a SIMD array processor |
WO2008018626A2 (en) * | 2006-08-10 | 2008-02-14 | Canon Kabushiki Kaisha | Image decoding apparatus |
US8767830B2 (en) * | 2006-09-13 | 2014-07-01 | Vixs Systems, Inc | Neighbor management module for use in video encoding and methods for use therewith |
AU2014210664A1 (en) * | 2006-10-16 | 2014-08-28 | Nokia Technologies Oy | System and method for implementing efficient decoded buffer management in multi-view video coding |
US7907217B2 (en) * | 2006-10-31 | 2011-03-15 | Siemens Medical Solutions Usa, Inc. | Systems and methods of subtraction angiography utilizing motion prediction |
US20080137726A1 (en) * | 2006-12-12 | 2008-06-12 | General Instrument Corporation | Method and Apparatus for Real-Time Video Encoding |
WO2008075663A1 (ja) * | 2006-12-21 | 2008-06-26 | Ajinomoto Co., Inc. | 大腸癌の評価方法、ならびに大腸癌評価装置、大腸癌評価方法、大腸癌評価システム、大腸癌評価プログラムおよび記録媒体 |
US8265159B2 (en) * | 2006-12-27 | 2012-09-11 | Panasonic Corporation | Moving picture decoding apparatus |
KR100809354B1 (ko) * | 2007-02-02 | 2008-03-05 | 삼성전자주식회사 | 복원된 프레임의 프레임율을 업컨버팅하는 장치 및 방법 |
KR100906243B1 (ko) * | 2007-06-04 | 2009-07-07 | 전자부품연구원 | Rgb 색 공간 신호의 영상 부호화 방법 |
US8254455B2 (en) | 2007-06-30 | 2012-08-28 | Microsoft Corporation | Computing collocated macroblock information for direct mode macroblocks |
US8817878B2 (en) * | 2007-11-07 | 2014-08-26 | Broadcom Corporation | Method and system for motion estimation around a fixed reference vector using a pivot-pixel approach |
CN101453656B (zh) * | 2007-11-29 | 2011-06-01 | 华为技术有限公司 | 视频编码、解码方法及装置和视频编解码系统 |
US20090225227A1 (en) * | 2008-03-05 | 2009-09-10 | Panasonic Corporation | Motion vector detecting device |
EP2266318B1 (en) | 2008-03-19 | 2020-04-22 | Nokia Technologies Oy | Combined motion vector and reference index prediction for video coding |
US8355443B2 (en) | 2008-03-27 | 2013-01-15 | CSR Technology, Inc. | Recursive motion for motion detection deinterlacer |
WO2010017166A2 (en) | 2008-08-04 | 2010-02-11 | Dolby Laboratories Licensing Corporation | Overlapped block disparity estimation and compensation architecture |
JP5578775B2 (ja) * | 2008-09-02 | 2014-08-27 | 富士通株式会社 | 符号化装置および復号装置 |
KR101377527B1 (ko) * | 2008-10-14 | 2014-03-25 | 에스케이 텔레콤주식회사 | 복수 개의 참조 픽처의 움직임 벡터 부호화/복호화 방법 및장치와 그를 이용한 영상 부호화/복호화 장치 및 방법 |
KR101590511B1 (ko) | 2009-01-23 | 2016-02-02 | 에스케이텔레콤 주식회사 | 움직임 벡터 부호화/복호화 장치 및 방법과 그를 이용한 영상 부호화/복호화 장치 및 방법 |
US8189666B2 (en) | 2009-02-02 | 2012-05-29 | Microsoft Corporation | Local picture identifier and computation of co-located information |
EP3567853B8 (en) * | 2009-03-23 | 2024-01-03 | Ntt Docomo, Inc. | Image predictive decoding device and image predictive decoding method |
LT3448031T (lt) * | 2009-06-18 | 2021-02-10 | Kabushiki Kaisha Toshiba | Vaizdo dekodavimo aparatas ir dekodavimo būdas |
US9628794B2 (en) | 2009-06-18 | 2017-04-18 | Kabushiki Kaisha Toshiba | Video encoding apparatus and a video decoding apparatus |
US9060176B2 (en) * | 2009-10-01 | 2015-06-16 | Ntt Docomo, Inc. | Motion vector prediction in video coding |
KR101522850B1 (ko) * | 2010-01-14 | 2015-05-26 | 삼성전자주식회사 | 움직임 벡터를 부호화, 복호화하는 방법 및 장치 |
JP5248632B2 (ja) | 2010-01-14 | 2013-07-31 | インテル コーポレイション | 動き推定のための技術 |
AU2013202014A1 (en) * | 2010-01-14 | 2013-04-18 | Samsung Electronics Co., Ltd | Method and apparatus for encoding and decoding motion vector |
WO2011093688A2 (ko) * | 2010-02-01 | 2011-08-04 | 엘지전자 주식회사 | 비디오 신호 처리 방법 및 장치 |
CN110460860A (zh) * | 2010-04-01 | 2019-11-15 | 索尼公司 | 图像处理设备和方法 |
KR101752418B1 (ko) | 2010-04-09 | 2017-06-29 | 엘지전자 주식회사 | 비디오 신호 처리 방법 및 장치 |
RS57809B1 (sr) | 2010-07-09 | 2018-12-31 | Samsung Electronics Co Ltd | Metod za dekodiranje video zapisa korišćenjem objedinjavanja blokova |
US9124898B2 (en) * | 2010-07-12 | 2015-09-01 | Mediatek Inc. | Method and apparatus of temporal motion vector prediction |
ES2820437T3 (es) | 2010-07-20 | 2021-04-21 | Ntt Docomo Inc | Método de codificación predictiva de imágenes, dispositivo de decodificación predictiva de imágenes, método de decodificación predictiva de imágenes y programa de decodificación predictiva de imágenes |
KR101449679B1 (ko) * | 2010-08-18 | 2014-10-15 | 에스케이텔레콤 주식회사 | 영상 부호화/복호화 장치 및 방법, 및 참조픽처 인덱싱 장치 및 방법 |
EP3657798B1 (en) * | 2010-10-06 | 2022-10-12 | NTT DoCoMo, Inc. | Bi-predictive image decoding method |
RU2010144450A (ru) | 2010-10-29 | 2012-05-10 | ЭлЭсАй Корпорейшн (US) | Оценка движения для видео транскодера |
EP4102835A1 (en) | 2010-11-24 | 2022-12-14 | Velos Media International Limited | Motion vector calculation method, picture coding method, picture decoding method, motion vector calculation apparatus, and picture coding and decoding apparatus |
WO2012081246A1 (ja) * | 2010-12-17 | 2012-06-21 | パナソニック株式会社 | 画像符号化方法および画像復号化方法 |
KR101774392B1 (ko) * | 2010-12-22 | 2017-09-04 | 엘지전자 주식회사 | 화면 내 예측 방법 및 이러한 방법을 사용하는 장치 |
US9049455B2 (en) | 2010-12-28 | 2015-06-02 | Panasonic Intellectual Property Corporation Of America | Image coding method of coding a current picture with prediction using one or both of a first reference picture list including a first current reference picture for a current block and a second reference picture list including a second current reference picture for the current block |
PL3554079T3 (pl) | 2011-01-07 | 2023-02-06 | Lg Electronics Inc. | Sposób kodowania informacji wideo, sposób dekodowania informacji wideo i urządzenie do dekodowania przeznaczone do dekodowania informacji wideo |
EP2665271A4 (en) | 2011-01-12 | 2014-06-18 | Panasonic Corp | VIDEO ENCODING METHOD AND VIDEO DECODING METHOD |
TW201246943A (en) * | 2011-01-26 | 2012-11-16 | Panasonic Corp | Video image encoding method, video image encoding device, video image decoding method, video image decoding device, and video image encoding and decoding device |
EP2675167B1 (en) * | 2011-02-10 | 2018-06-20 | Sun Patent Trust | Moving picture encoding method, moving picture encoding device, moving picture decoding method, moving picture decoding device, and moving picture encoding decoding device |
JP6108309B2 (ja) * | 2011-02-22 | 2017-04-05 | サン パテント トラスト | 動画像符号化方法、動画像符号化装置、動画像復号方法、および、動画像復号装置 |
US10171813B2 (en) | 2011-02-24 | 2019-01-01 | Qualcomm Incorporated | Hierarchy of motion prediction video blocks |
WO2012114712A1 (ja) * | 2011-02-25 | 2012-08-30 | パナソニック株式会社 | 画像符号化方法および画像復号化方法 |
WO2012117728A1 (ja) * | 2011-03-03 | 2012-09-07 | パナソニック株式会社 | 動画像符号化方法、動画像復号方法、動画像符号化装置、動画像復号装置、及び動画像符号化復号装置 |
GB2488816A (en) * | 2011-03-09 | 2012-09-12 | Canon Kk | Mapping motion vectors from a plurality of reference frames to a single reference frame |
CN102685479A (zh) * | 2011-03-11 | 2012-09-19 | 华为技术有限公司 | 视频编解码处理方法和装置 |
US9648334B2 (en) | 2011-03-21 | 2017-05-09 | Qualcomm Incorporated | Bi-predictive merge mode based on uni-predictive neighbors in video coding |
WO2012140821A1 (ja) | 2011-04-12 | 2012-10-18 | パナソニック株式会社 | 動画像符号化方法、動画像符号化装置、動画像復号化方法、動画像復号化装置、および動画像符号化復号化装置 |
WO2012160803A1 (ja) | 2011-05-24 | 2012-11-29 | パナソニック株式会社 | 画像符号化方法、画像符号化装置、画像復号方法、画像復号装置、および、画像符号化復号装置 |
PL3614665T3 (pl) | 2011-05-27 | 2022-07-04 | Sun Patent Trust | Sposób kodowania obrazów, urządzenie do kodowania obrazów, sposób dekodowania obrazów, urządzenie do dekodowania obrazów, i urządzenie do kodowania i dekodowania obrazów |
US9485518B2 (en) | 2011-05-27 | 2016-11-01 | Sun Patent Trust | Decoding method and apparatus with candidate motion vectors |
SG194746A1 (en) | 2011-05-31 | 2013-12-30 | Kaba Gmbh | Image encoding method, image encoding device, image decoding method, image decoding device, and image encoding/decoding device |
KR101889582B1 (ko) | 2011-05-31 | 2018-08-20 | 선 페이턴트 트러스트 | 동화상 부호화 방법, 동화상 부호화 장치, 동화상 복호화 방법, 동화상 복호화 장치, 및, 동화상 부호화 복호화 장치 |
JP5786478B2 (ja) * | 2011-06-15 | 2015-09-30 | 富士通株式会社 | 動画像復号装置、動画像復号方法、及び動画像復号プログラム |
PL2725791T3 (pl) | 2011-06-23 | 2024-02-26 | Sun Patent Trust | Sposób dekodowania obrazów, sposób kodowania obrazów |
USRE47366E1 (en) | 2011-06-23 | 2019-04-23 | Sun Patent Trust | Image decoding method and apparatus based on a signal type of the control parameter of the current block |
HUE046468T2 (hu) | 2011-06-24 | 2020-03-30 | Sun Patent Trust | Kódoló eljárás és kódoló berendezés |
WO2012176464A1 (ja) | 2011-06-24 | 2012-12-27 | パナソニック株式会社 | 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置及び画像符号化復号装置 |
MX2013013483A (es) | 2011-06-27 | 2014-02-27 | Panasonic Corp | Metodo de decodificacion de imagenes, metodo de codificacion de imagenes, aparato de decodificacion de imagenes, aparato de codificacion de imagenes y aparato de codificacion y decodificacion de imagenes. |
MY165469A (en) | 2011-06-28 | 2018-03-23 | Sun Patent Trust | Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus |
EP3849192B1 (en) * | 2011-06-28 | 2023-01-11 | LG Electronics, Inc. | Method for deriving a motion vector for video decoding and video encoding |
MX2013010892A (es) | 2011-06-29 | 2013-12-06 | Panasonic Corp | Metodo de decodificacion de imagenes, metodo de codificacion de imagenes, aparato de decodificacion de imagenes, aparato de codificacion de imagenes y aparato de codificacion y decodificacion de imagenes. |
CN103535039B (zh) | 2011-06-30 | 2018-08-28 | 太阳专利托管公司 | 图像解码方法、图像编码方法、图像解码装置、图像编码装置以及图像编解码装置 |
CN103636218B (zh) * | 2011-06-30 | 2017-07-28 | Jvc建伍株式会社 | 图像解码装置和图像解码方法 |
KR102060619B1 (ko) | 2011-06-30 | 2019-12-30 | 선 페이턴트 트러스트 | 화상 복호 방법, 화상 부호화 방법, 화상 복호 장치, 화상 부호화 장치 및 화상 부호화 복호 장치 |
KR102365353B1 (ko) * | 2011-06-30 | 2022-02-23 | 가부시키가이샤 제이브이씨 켄우드 | 화상 부호화 장치, 화상 부호화 방법, 화상 부호화 프로그램, 화상 복호 장치, 화상 복호 방법 및 화상 복호 프로그램 |
ES2908152T3 (es) | 2011-06-30 | 2022-04-27 | Sun Patent Trust | Procedimiento de decodificación de imágenes |
US9232233B2 (en) * | 2011-07-01 | 2016-01-05 | Apple Inc. | Adaptive configuration of reference frame buffer based on camera and background motion |
MX2014000159A (es) | 2011-07-02 | 2014-02-19 | Samsung Electronics Co Ltd | Metodo y aparato para la codificacion de video, y metodo y aparato para la decodificacion de video acompañada por inter prediccion utilizando imagen co-localizada. |
KR102271116B1 (ko) | 2011-07-11 | 2021-06-29 | 선 페이턴트 트러스트 | 화상 복호 방법, 화상 부호화 방법, 화상 복호 장치, 화상 부호화 장치 및 화상 부호화 복호 장치 |
EP2741499A4 (en) | 2011-08-03 | 2014-12-10 | Panasonic Ip Corp America | VIDEO CODING METHOD, VIDEO CODING METHOD, VIDEO CODING DEVICE, VIDEO ENCODING DEVICE AND VIDEO ENCODING / DECODING DEVICE |
CN103858428B (zh) | 2011-10-19 | 2018-07-03 | 太阳专利托管公司 | 图像编码方法、图像编码装置、图像解码方法及图像解码装置 |
JPWO2013065308A1 (ja) * | 2011-11-02 | 2015-04-02 | パナソニック株式会社 | 動画像符号化方法、動画像符号化装置、動画像復号方法、動画像復号装置、および、動画像符号化復号装置 |
JP5485969B2 (ja) * | 2011-11-07 | 2014-05-07 | 株式会社Nttドコモ | 動画像予測符号化装置、動画像予測符号化方法、動画像予測符号化プログラム、動画像予測復号装置、動画像予測復号方法及び動画像予測復号プログラム |
AU2015201551B2 (en) * | 2011-11-08 | 2015-06-18 | Samsung Electronics Co., Ltd. | Method and device for determining motion vector for video coding or video decoding |
BR122015021735A2 (pt) | 2011-11-08 | 2019-08-27 | Samsung Electronics Co Ltd | aparelho para decodificar uma imagem |
WO2013099031A1 (ja) * | 2011-12-28 | 2013-07-04 | 株式会社安川電機 | エンジニアリングツール |
US20130177084A1 (en) * | 2012-01-10 | 2013-07-11 | Qualcomm Incorporated | Motion vector scaling in video coding |
TWI580261B (zh) * | 2012-01-18 | 2017-04-21 | Jvc Kenwood Corp | Dynamic image decoding device, dynamic image decoding method, and dynamic image decoding program |
PL2805511T3 (pl) | 2012-01-20 | 2019-09-30 | Sun Patent Trust | Sposoby i urządzenie do kodowania i dekodowania wideo przy użyciu predykcji wektora ruchu w czasie |
WO2013111596A1 (ja) * | 2012-01-26 | 2013-08-01 | パナソニック株式会社 | 画像符号化方法、画像符号化装置、画像復号方法、画像復号装置、および画像符号化復号装置 |
RU2616555C2 (ru) | 2012-02-03 | 2017-04-17 | Сан Пэтент Траст | Способ кодирования изображений, способ декодирования изображений, устройство кодирования изображений, устройство декодирования изображений и устройство кодирования и декодирования изображений |
JP6421931B2 (ja) | 2012-03-06 | 2018-11-14 | サン パテント トラスト | 動画像符号化方法及び動画像符号化装置 |
US10200709B2 (en) * | 2012-03-16 | 2019-02-05 | Qualcomm Incorporated | High-level syntax extensions for high efficiency video coding |
US9247196B1 (en) * | 2012-08-30 | 2016-01-26 | Ambarella, Inc. | High efficiency video coding for video with interlaced and progressive content using lookahead |
EP2920962A4 (en) | 2012-11-13 | 2016-07-20 | Intel Corp | ADAPTIVE TRANSFORMATION ENCODING OF CONTENT FOR NEXT GENERATION VIDEO |
US9106793B2 (en) | 2013-01-03 | 2015-08-11 | Cisco Technology, Inc. | Method and apparatus for motion based participant switching in multipoint video conferences |
CN105874789B (zh) * | 2014-01-29 | 2019-10-29 | 联发科技股份有限公司 | 利用自适应运动向量精度的方法 |
US10091507B2 (en) | 2014-03-10 | 2018-10-02 | Euclid Discoveries, Llc | Perceptual optimization for model-based video encoding |
US10097851B2 (en) | 2014-03-10 | 2018-10-09 | Euclid Discoveries, Llc | Perceptual optimization for model-based video encoding |
US9621917B2 (en) * | 2014-03-10 | 2017-04-11 | Euclid Discoveries, Llc | Continuous block tracking for temporal prediction in video encoding |
KR101635111B1 (ko) * | 2014-05-15 | 2016-06-30 | 삼성전자주식회사 | 움직임 벡터를 부호화, 복호화하는 방법 및 장치 |
JP2016066922A (ja) * | 2014-09-25 | 2016-04-28 | ソニー株式会社 | 信号処理装置、撮像装置、および、それらにおける信号処理方法。 |
FR3029055B1 (fr) * | 2014-11-24 | 2017-01-13 | Ateme | Procede d'encodage d'image et equipement pour la mise en oeuvre du procede |
US10148965B2 (en) * | 2015-03-04 | 2018-12-04 | Panasonic Intellectual Property Management Co., Ltd. | Moving image coding apparatus and moving image coding method |
CN106303544B (zh) * | 2015-05-26 | 2019-06-11 | 华为技术有限公司 | 一种视频编解码方法、编码器和解码器 |
US20190014326A1 (en) * | 2017-07-06 | 2019-01-10 | Intel Corporation | Imu enhanced reference list management and encoding |
US10602178B1 (en) * | 2017-12-21 | 2020-03-24 | Mozilla Corporation | Systems and methods for frame context selection |
CN116647693A (zh) | 2018-09-06 | 2023-08-25 | Lg电子株式会社 | 编解码设备、存储介质和数据发送设备 |
CN111083489B (zh) | 2018-10-22 | 2024-05-14 | 北京字节跳动网络技术有限公司 | 多次迭代运动矢量细化 |
WO2020098644A1 (en) | 2018-11-12 | 2020-05-22 | Beijing Bytedance Network Technology Co., Ltd. | Bandwidth control methods for inter prediction |
CN113170093B (zh) * | 2018-11-20 | 2023-05-02 | 北京字节跳动网络技术有限公司 | 视频处理中的细化帧间预测 |
JP7241870B2 (ja) | 2018-11-20 | 2023-03-17 | 北京字節跳動網絡技術有限公司 | 部分的な位置に基づく差分計算 |
EP3912357B1 (en) * | 2019-02-20 | 2023-10-04 | Beijing Dajia Internet Information Technology Co., Ltd. | Constrained motion vector derivation for long-term reference pictures in video coding |
KR102635518B1 (ko) | 2019-03-06 | 2024-02-07 | 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 | 변환된 단예측 후보의 사용 |
US11601656B2 (en) * | 2021-06-16 | 2023-03-07 | Western Digital Technologies, Inc. | Video processing in a data storage device |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1032820A (ja) * | 1996-05-14 | 1998-02-03 | Graphics Commun Lab:Kk | 動画像符号化方法および装置 |
JPH114441A (ja) * | 1997-03-07 | 1999-01-06 | Nextlevel Syst Inc | インターレースされたデジタルビデオ用のビデオオブジェクト平面の移動推定及び補償 |
JPH1169356A (ja) * | 1997-08-25 | 1999-03-09 | Mitsubishi Electric Corp | 動画像符号化方式及び動画像復号方式 |
JP2000059784A (ja) * | 1998-03-10 | 2000-02-25 | Sony Corp | 符号化装置および方法、並びに提供媒体 |
JP2001086508A (ja) * | 1999-09-13 | 2001-03-30 | Victor Co Of Japan Ltd | 動画像復号方法及び動画像復号装置 |
Family Cites Families (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US38563A (en) * | 1863-05-19 | Improvement jn lighting gas by electricity | ||
US5086439A (en) * | 1989-04-18 | 1992-02-04 | Mitsubishi Denki Kabushiki Kaisha | Encoding/decoding system utilizing local properties |
JPH0420088A (ja) | 1990-05-14 | 1992-01-23 | Victor Co Of Japan Ltd | フレーム間符号化装置 |
JP3031638B2 (ja) | 1991-01-30 | 2000-04-10 | 富士通株式会社 | 蓄積用動画像符号化方式における補間フレームのベクトル探索方法 |
JPH05137131A (ja) | 1991-11-13 | 1993-06-01 | Sony Corp | フレーム間動き予測方法 |
JPH0662391A (ja) | 1992-08-10 | 1994-03-04 | Nippon Telegr & Teleph Corp <Ntt> | 動画像予測符号化方法 |
US5329365A (en) | 1993-07-07 | 1994-07-12 | Rca Thomson Licensing Corporation | Method and apparatus for providing compressed non-interlaced scanned video signal |
KR0148154B1 (ko) | 1994-06-15 | 1998-09-15 | 김광호 | 움직임크기에 따른 동영상데이타의 부호화방법 및 장치 |
JP3513277B2 (ja) | 1995-08-29 | 2004-03-31 | シャープ株式会社 | 映像符号化装置及び映像復号化装置 |
US5809173A (en) | 1995-04-18 | 1998-09-15 | Advanced Micro Devices, Inc. | Method and apparatus for improved video decompression using previous frame DCT coefficients |
US5724446A (en) | 1995-04-18 | 1998-03-03 | Advanced Micro Devices, Inc. | Video decoder apparatus using non-reference frame as an additional prediction source and method therefor |
DE69630643T2 (de) | 1995-08-29 | 2004-10-07 | Sharp Kk | Videokodierungsvorrichtung |
JP2001224036A (ja) | 1995-10-18 | 2001-08-17 | Sharp Corp | 動画像符号化装置 |
JP3263807B2 (ja) | 1996-09-09 | 2002-03-11 | ソニー株式会社 | 画像符号化装置および画像符号化方法 |
JP3344577B2 (ja) * | 1996-09-09 | 2002-11-11 | ソニー株式会社 | 画像符号化装置および画像符号化方法、画像復号化装置および画像復号化方法、並びに記録方法 |
JP3019787B2 (ja) | 1996-09-20 | 2000-03-13 | 日本電気株式会社 | 動きベクトル検出装置 |
JPH10126787A (ja) | 1996-10-14 | 1998-05-15 | Nec Eng Ltd | Pピクチャの予測ベクトルをオフセットベクトルとした双方向予測ベクトル検出回路 |
US5991447A (en) | 1997-03-07 | 1999-11-23 | General Instrument Corporation | Prediction and coding of bi-directionally predicted video object planes for interlaced digital video |
JP3776735B2 (ja) | 1997-04-09 | 2006-05-17 | 松下電器産業株式会社 | 画像予測復号化方法,画像予測復号化装置,画像予測符号化方法,画像予測符号化装置,及びデータ記憶媒体 |
US6370276B2 (en) | 1997-04-09 | 2002-04-09 | Matsushita Electric Industrial Co., Ltd. | Image predictive decoding method, image predictive decoding apparatus, image predictive coding method, image predictive coding apparatus, and data storage media |
DE69841029D1 (de) | 1997-06-25 | 2009-09-10 | Nippon Telegraph & Telephone | Bewegungsprädiktive Bildkodierungs- und Bilddekodierungsvorrichtung |
US6249318B1 (en) * | 1997-09-12 | 2001-06-19 | 8×8, Inc. | Video coding/decoding arrangement and method therefor |
US6807231B1 (en) * | 1997-09-12 | 2004-10-19 | 8×8, Inc. | Multi-hypothesis motion-compensated video image predictor |
US6396874B1 (en) | 1997-11-12 | 2002-05-28 | Sony Corporation | Decoding method and apparatus and recording method and apparatus for moving picture data |
JP3523481B2 (ja) | 1998-02-23 | 2004-04-26 | シャープ株式会社 | 映像符号化装置及び映像復号化装置並びに映像符号化方法及び映像復号化方法 |
US6274537B1 (en) * | 1998-08-05 | 2001-08-14 | Samsung Electronics Co., Ltd. | Use of alkoxy N-hydroxyalkyl alkanamide as resist removing agent, composition for removing resist, method for preparing the same and resist removing method using the same |
GB2360662B (en) | 1999-05-13 | 2002-01-09 | Nec Corp | Picture coding apparatus |
JP3329768B2 (ja) | 1999-07-05 | 2002-09-30 | 日本電信電話株式会社 | 画像符号化データの再符号化方法およびそのプログラム記録媒体 |
JP2001045475A (ja) | 1999-07-27 | 2001-02-16 | Matsushita Electric Ind Co Ltd | 映像信号階層化符号化装置と映像信号階層化復号化装置及びプログラム記録媒体 |
JP3757088B2 (ja) * | 1999-10-26 | 2006-03-22 | 日本電気株式会社 | 動画像符号化装置および方法 |
WO2001086960A2 (en) * | 2000-05-10 | 2001-11-15 | Picturetel Corporation | Video coding using multiple buffers |
GB2362532B (en) | 2000-05-15 | 2004-05-05 | Nokia Mobile Phones Ltd | Video coding |
KR100744366B1 (ko) | 2000-06-26 | 2007-07-30 | 마츠시타 덴끼 산교 가부시키가이샤 | 광디스크용 편집장치, 컴퓨터-판독가능한 저장매체, 및 편집방법 |
JP4245790B2 (ja) | 2000-08-29 | 2009-04-02 | オリンパス株式会社 | 超音波処置具 |
US6738980B2 (en) * | 2001-11-15 | 2004-05-18 | Industrial Technology Research Institute | Methods and systems for video streaming with VCR functionality |
PT2268039E (pt) * | 2001-11-21 | 2015-10-26 | Google Technology Holdings LLC | Codificação adaptativa de quadro/campo ao nível dos macroblocos para o conteúdo de vídeo digital |
US6980596B2 (en) * | 2001-11-27 | 2005-12-27 | General Instrument Corporation | Macroblock level adaptive frame/field coding for digital video content |
EP2285120A1 (en) * | 2001-11-21 | 2011-02-16 | General Instrument Corporation | Picture level adaptive frame/field coding for digital video content |
US7003035B2 (en) | 2002-01-25 | 2006-02-21 | Microsoft Corporation | Video coding methods and apparatuses |
JP2004088722A (ja) | 2002-03-04 | 2004-03-18 | Matsushita Electric Ind Co Ltd | 動画像符号化方法および動画像復号化方法 |
CN1290341C (zh) * | 2002-04-19 | 2006-12-13 | 松下电器产业株式会社 | 运动矢量的计算方法、动态图像的编码、解码方法及装置 |
KR100506864B1 (ko) | 2002-10-04 | 2005-08-05 | 엘지전자 주식회사 | 모션벡터 결정방법 |
-
2003
- 2003-04-16 CN CNB038004720A patent/CN1290341C/zh not_active Expired - Fee Related
- 2003-04-16 HU HUE19160699A patent/HUE053955T2/hu unknown
- 2003-04-16 CA CA2451568A patent/CA2451568C/en not_active Expired - Lifetime
- 2003-04-16 ES ES17204565T patent/ES2745044T3/es not_active Expired - Lifetime
- 2003-04-16 CA CA002451571A patent/CA2451571A1/en not_active Abandoned
- 2003-04-16 AU AU2003231356A patent/AU2003231356B2/en not_active Expired
- 2003-04-16 HU HUE17204573 patent/HUE044739T2/hu unknown
- 2003-04-16 KR KR1020097025003A patent/KR101011849B1/ko active IP Right Grant
- 2003-04-16 HU HUE17204555 patent/HUE044584T2/hu unknown
- 2003-04-16 HU HUE19160688A patent/HUE054106T2/hu unknown
- 2003-04-16 EP EP19160689.6A patent/EP3525466B1/en not_active Expired - Lifetime
- 2003-04-16 MX MXPA03011334A patent/MXPA03011334A/es unknown
- 2003-04-16 CN CNB038004712A patent/CN1277419C/zh not_active Expired - Lifetime
- 2003-04-16 ES ES17204555T patent/ES2743606T3/es not_active Expired - Lifetime
- 2003-04-16 HU HUE17204565 patent/HUE044582T2/hu unknown
- 2003-04-16 EP EP03723121A patent/EP1441537A4/en not_active Withdrawn
- 2003-04-16 EP EP03725587.4A patent/EP1411729B1/en not_active Expired - Lifetime
- 2003-04-16 WO PCT/JP2003/004809 patent/WO2003090475A1/ja not_active Application Discontinuation
- 2003-04-16 PT PT191606862T patent/PT3525464T/pt unknown
- 2003-04-16 PT PT191606888T patent/PT3525465T/pt unknown
- 2003-04-16 ES ES16157926T patent/ES2742799T3/es not_active Expired - Lifetime
- 2003-04-16 PT PT191606995T patent/PT3525467T/pt unknown
- 2003-04-16 KR KR1020087006472A patent/KR100931750B1/ko active IP Right Grant
- 2003-04-16 HU HUE19160686A patent/HUE053922T2/hu unknown
- 2003-04-16 US US10/480,928 patent/US7940845B2/en active Active
- 2003-04-16 ES ES17204573T patent/ES2745059T3/es not_active Expired - Lifetime
- 2003-04-16 AU AU2003235174A patent/AU2003235174A1/en not_active Abandoned
- 2003-04-16 KR KR10-2003-7014885A patent/KR20040099100A/ko not_active Application Discontinuation
- 2003-04-16 KR KR1020097013226A patent/KR100931746B1/ko active IP Right Grant
- 2003-04-16 WO PCT/JP2003/004805 patent/WO2003090473A1/ja active Application Filing
- 2003-04-16 HU HUE16157926 patent/HUE044616T2/hu unknown
- 2003-04-16 HU HUE17204569A patent/HUE045566T2/hu unknown
- 2003-04-16 ES ES17204569T patent/ES2745058T3/es not_active Expired - Lifetime
- 2003-04-18 MY MYPI20031482A patent/MY155930A/en unknown
-
2007
- 2007-10-26 US US11/976,750 patent/US7733960B2/en not_active Expired - Lifetime
-
2010
- 2010-04-23 US US12/766,254 patent/US8290049B2/en not_active Expired - Lifetime
-
2012
- 2012-09-07 US US13/606,612 patent/US8605789B2/en not_active Expired - Lifetime
-
2013
- 2013-08-30 US US14/015,296 patent/US8964848B2/en not_active Expired - Lifetime
- 2013-08-30 US US14/015,263 patent/US8929453B2/en not_active Expired - Lifetime
- 2013-08-30 US US14/015,406 patent/US8958480B2/en not_active Expired - Lifetime
- 2013-08-30 US US14/015,281 patent/US8971411B2/en not_active Expired - Lifetime
-
2015
- 2015-01-22 US US14/602,696 patent/US9264730B2/en not_active Expired - Fee Related
- 2015-01-22 US US14/602,665 patent/US9083980B2/en not_active Expired - Fee Related
- 2015-12-15 US US14/969,715 patent/US9516338B2/en not_active Expired - Lifetime
- 2015-12-15 US US14/969,627 patent/US9485519B2/en not_active Expired - Lifetime
-
2016
- 2016-10-31 US US15/338,807 patent/US9723324B2/en not_active Expired - Lifetime
- 2016-10-31 US US15/338,754 patent/US9693074B2/en not_active Expired - Lifetime
- 2016-10-31 US US15/338,740 patent/US9723323B2/en not_active Expired - Lifetime
- 2016-10-31 US US15/338,880 patent/US9729896B2/en not_active Expired - Lifetime
- 2016-10-31 US US15/338,830 patent/US9723325B2/en not_active Expired - Lifetime
-
2017
- 2017-07-03 US US15/640,840 patent/US9948948B2/en not_active Expired - Lifetime
- 2017-07-03 US US15/640,829 patent/US10097855B2/en not_active Expired - Lifetime
- 2017-07-03 US US15/640,824 patent/US9948947B2/en not_active Expired - Lifetime
- 2017-07-03 US US15/640,800 patent/US9955181B2/en not_active Expired - Lifetime
-
2018
- 2018-08-31 US US16/119,280 patent/US10397602B2/en not_active Expired - Fee Related
- 2018-08-31 US US16/119,337 patent/US10440386B2/en not_active Expired - Fee Related
- 2018-08-31 US US16/119,446 patent/US10404995B2/en not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1032820A (ja) * | 1996-05-14 | 1998-02-03 | Graphics Commun Lab:Kk | 動画像符号化方法および装置 |
JPH114441A (ja) * | 1997-03-07 | 1999-01-06 | Nextlevel Syst Inc | インターレースされたデジタルビデオ用のビデオオブジェクト平面の移動推定及び補償 |
JPH1169356A (ja) * | 1997-08-25 | 1999-03-09 | Mitsubishi Electric Corp | 動画像符号化方式及び動画像復号方式 |
JP2000059784A (ja) * | 1998-03-10 | 2000-02-25 | Sony Corp | 符号化装置および方法、並びに提供媒体 |
JP2001086508A (ja) * | 1999-09-13 | 2001-03-30 | Victor Co Of Japan Ltd | 動画像復号方法及び動画像復号装置 |
Non-Patent Citations (1)
Title |
---|
See also references of EP1441537A4 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9888237B2 (en) | 2002-01-25 | 2018-02-06 | Microsoft Technology Licensing, Llc | Video coding |
US10284843B2 (en) | 2002-01-25 | 2019-05-07 | Microsoft Technology Licensing, Llc | Video coding |
US8873630B2 (en) | 2002-06-03 | 2014-10-28 | Microsoft Corporation | Spatiotemporal prediction for bidirectionally predictive (B) pictures and motion vector prediction for multi-picture reference motion compensation |
US9185427B2 (en) | 2002-06-03 | 2015-11-10 | Microsoft Technology Licensing, Llc | Spatiotemporal prediction for bidirectionally predictive (B) pictures and motion vector prediction for multi-picture reference motion compensation |
US10116959B2 (en) | 2002-06-03 | 2018-10-30 | Microsoft Technology Licesning, LLC | Spatiotemporal prediction for bidirectionally predictive (B) pictures and motion vector prediction for multi-picture reference motion compensation |
JP2007517437A (ja) * | 2003-12-31 | 2007-06-28 | 中国科学院▲計▼算技▲術▼研究所 | 直接符号化モードでの参照画像ブロックの確定方法 |
JP2007517438A (ja) * | 2003-12-31 | 2007-06-28 | 中国科学院計算技木研究所 | 参照フレームの数を固定する符号化方式で画像の参照ブロックを取得する方法 |
JP4642033B2 (ja) * | 2003-12-31 | 2011-03-02 | 中国科学院計算技木研究所 | 参照フレームの数を固定する符号化方式で画像の参照ブロックを取得する方法 |
JP4670085B2 (ja) * | 2003-12-31 | 2011-04-13 | 中国科学院▲計▼算技▲術▼研究所 | 直接符号化モードでの参照画像ブロックの確定方法 |
CN102131091A (zh) * | 2010-01-15 | 2011-07-20 | 联发科技股份有限公司 | 解码端运动向量导出方法 |
CN102131091B (zh) * | 2010-01-15 | 2013-01-23 | 联发科技股份有限公司 | 解码端运动向量导出方法 |
CN105530516A (zh) * | 2010-01-15 | 2016-04-27 | 联发科技股份有限公司 | 解码端运动向量导出方法 |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2003090475A1 (fr) | Procede pour calculer un vecteur de mouvement | |
US10230978B2 (en) | Filtering strength determination method, moving picture coding method and moving picture decoding method | |
US7894526B2 (en) | Motion estimation method and moving picture coding method | |
US8208549B2 (en) | Decoder, encoder, decoding method and encoding method | |
US7856060B2 (en) | Moving picture coding method and moving picture decoding method for performing inter picture prediction coding and inter picture prediction decoding using previously processed pictures as reference pictures | |
US9426490B2 (en) | Moving picture encoding method and motion picture decoding method | |
US20070071104A1 (en) | Picture coding method and picture decoding method | |
ES2299171T3 (es) | Procedimiento de codificacion de imagenes en movimiento y aparato de codificacion de imagenes en movimiento. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ OM PH PL PT RO RU SC SD SE SG SI SK SL TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG |
|
WWE | Wipo information: entry into national phase |
Ref document number: 1020037014885 Country of ref document: KR |
|
WWE | Wipo information: entry into national phase |
Ref document number: PA/a/2003/011334 Country of ref document: MX |
|
WWE | Wipo information: entry into national phase |
Ref document number: 10480047 Country of ref document: US |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2003723121 Country of ref document: EP Ref document number: 2003235174 Country of ref document: AU |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2005/CHENP/2003 Country of ref document: IN |
|
WWE | Wipo information: entry into national phase |
Ref document number: 038004720 Country of ref document: CN Ref document number: 2451571 Country of ref document: CA |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
WWP | Wipo information: published in national office |
Ref document number: 2003723121 Country of ref document: EP |
|
WWW | Wipo information: withdrawn in national office |
Ref document number: 2003723121 Country of ref document: EP |