WO2003090473A1 - Procede de calcul de vecteurs de mouvement - Google Patents

Procede de calcul de vecteurs de mouvement Download PDF

Info

Publication number
WO2003090473A1
WO2003090473A1 PCT/JP2003/004805 JP0304805W WO03090473A1 WO 2003090473 A1 WO2003090473 A1 WO 2003090473A1 JP 0304805 W JP0304805 W JP 0304805W WO 03090473 A1 WO03090473 A1 WO 03090473A1
Authority
WO
WIPO (PCT)
Prior art keywords
motion vector
picture
block
motion
pictures
Prior art date
Application number
PCT/JP2003/004805
Other languages
English (en)
French (fr)
Inventor
Satoshi Kondo
Shinya Kadono
Makoto Hagai
Kiyofumi Abe
Original Assignee
Matsushita Electric Industrial Co., Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to EP03725587.4A priority Critical patent/EP1411729B1/en
Application filed by Matsushita Electric Industrial Co., Ltd. filed Critical Matsushita Electric Industrial Co., Ltd.
Priority to US10/480,928 priority patent/US7940845B2/en
Priority to EP17204555.1A priority patent/EP3324623B1/en
Priority to EP19160688.8A priority patent/EP3525465B1/en
Priority to CA2451568A priority patent/CA2451568C/en
Priority to EP17204573.4A priority patent/EP3324626B1/en
Priority to ES03725587.4T priority patent/ES2576629T3/es
Priority to KR1020097013226A priority patent/KR100931746B1/ko
Priority to AU2003231356A priority patent/AU2003231356B2/en
Priority to EP16157926.3A priority patent/EP3054680B1/en
Priority to MXPA03011333A priority patent/MXPA03011333A/es
Priority to EP19160699.5A priority patent/EP3525467B1/en
Priority to EP19160689.6A priority patent/EP3525466B1/en
Priority to EP19160686.2A priority patent/EP3525464B1/en
Priority to BRPI0304534A priority patent/BRPI0304534B1/pt
Priority to EP17204569.2A priority patent/EP3324625B1/en
Priority to EP17204565.0A priority patent/EP3324624B1/en
Priority to KR1020037015504A priority patent/KR101031423B1/ko
Priority to KR1020087006472A priority patent/KR100931750B1/ko
Publication of WO2003090473A1 publication Critical patent/WO2003090473A1/ja
Priority to US11/976,750 priority patent/US7733960B2/en
Priority to US12/766,254 priority patent/US8290049B2/en
Priority to US13/606,612 priority patent/US8605789B2/en
Priority to US14/015,263 priority patent/US8929453B2/en
Priority to US14/015,281 priority patent/US8971411B2/en
Priority to US14/015,406 priority patent/US8958480B2/en
Priority to US14/015,296 priority patent/US8964848B2/en
Priority to US14/602,665 priority patent/US9083980B2/en
Priority to US14/602,696 priority patent/US9264730B2/en
Priority to US14/969,715 priority patent/US9516338B2/en
Priority to US14/969,627 priority patent/US9485519B2/en
Priority to US15/338,830 priority patent/US9723325B2/en
Priority to US15/338,807 priority patent/US9723324B2/en
Priority to US15/338,754 priority patent/US9693074B2/en
Priority to US15/338,880 priority patent/US9729896B2/en
Priority to US15/338,740 priority patent/US9723323B2/en
Priority to US15/640,800 priority patent/US9955181B2/en
Priority to US15/640,840 priority patent/US9948948B2/en
Priority to US15/640,824 priority patent/US9948947B2/en
Priority to US15/640,829 priority patent/US10097855B2/en
Priority to US16/119,280 priority patent/US10397602B2/en
Priority to US16/119,337 priority patent/US10440386B2/en
Priority to US16/119,446 priority patent/US10404995B2/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/103Selection of coding mode or of prediction mode
    • H04N19/105Selection 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/103Selection of coding mode or of prediction mode
    • H04N19/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/127Prioritisation of hardware or computational resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/16Assigned 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/17Methods 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/172Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/17Methods 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/176Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods 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/423Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/58Motion compensation with long-term prediction, i.e. the reference frame for a current frame not being the temporally closest one
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/583Motion compensation with overlapping blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/184Methods 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 L 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”), 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 the order of display time.
  • 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 the 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.
  • “PJ indicates a mere picture regardless of the picture type.
  • picture P 83 is the picture that is currently the object of encoding.
  • Two-way prediction is performed using picture P 8 2 and picture P 8 4 as reference pictures, and the block to be coded in this picture P 8 3 is block MB 8 1, and the motion vector of block MB 8 1 is Is determined using the motion vector of block MB 8 2 at the same position in picture P 84, which is the encoded back reference picture, and this block MB 8 2 moves as motion vector.
  • the two motion vectors M you want 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).
  • MV 8 3 — MV 8 1 ZT R 8 1 X T R 8 3...-Formula 1
  • the time interval TR 8 1 indicates the time interval from picture P 84 to picture P 82, that is, from the picture P 84 to the reference picture indicated by the motion vector MV 8 1. Yes. Further, the time interval TR 8 2 indicates the time interval from the picture ⁇ 8 3 to the reference picture indicated by the motion vector MV 8 2. Further, the time interval T R 83 indicates the time interval from the picture ⁇ 83 to the reference picture indicated by the motion vector MV 83.
  • direct mode there are two methods, the temporal prediction described above and the spatial prediction.
  • the spatial prediction will be explained below.
  • direct mode spatial prediction for example, encoding is performed in units of macroblocks consisting of 16 pixels x 16 pixels, and out of the motion vectors of the three macroblocks surrounding the macroblock to be encoded. 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 for the motion block of the encoding target macro block. It is assumed to be a tower. If all three motion vectors refer to the same picture, select their median. When 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 J vector and their median value is selected.
  • 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.
  • motion vector a and motion vector b are obtained by referring to the P picture whose picture number 1 1 is ⁇ 1 1 J, It is assumed that motion vector c has been obtained by referring to the P-picture whose picture number 1 1 is “8”.
  • motion vectors a and b that are motion vectors that refer to the picture that is closest to the encoding target picture in display time order are 2
  • One is a motion vector candidate for the target macroblock to be encoded.
  • motion vector c is regarded as 0 J
  • the median value of motion vector a, motion vector b, and motion vector c is selected, and the motion vector of the macroblock to be encoded is selected. Toll.
  • each macroblock in a picture may be encoded with a field structure that performs interlace, 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 the three macroblocks around the macroblock to be encoded are encoded with the same structure as the target macroblock, there is no problem using the direct mode spatial prediction method described above. One motion vector of the macroblock to be encoded can be derived.
  • the three neighboring macroblocks are also encoded with the frame structure, or the encoding target macroblock encoded with the field structure
  • the three neighboring macroblocks are also coded in the 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 bottom field of the lock, the motion vector of the macroblock to be encoded can be derived for each of the top field and the bottom field by the method described above.
  • a block to which a motion vector is referenced is a B picture as shown in B 6 of FIG. Since the block has a plurality of motion vectors, the calculation of the motion vector by scaling based on Equation 1 cannot be directly applied. In addition, since the division operation is performed after the motion vector is calculated, the accuracy of the motion vector value (for example, 1 Z 2 pixel or 14 pixel accuracy) may not match the predetermined accuracy.
  • the encoding target macroblock is either the field structure or the frame structure. It is not stipulated whether the encoding is performed in the motion vector of the peripheral block that mixes what is encoded with the field structure and what is encoded with the frame structure. Therefore, the method for selecting the motion vector of the macroblock to be encoded is not specified.
  • the first object of the present invention is to provide a time direction motion vector prediction method with high accuracy in the direct mode even when the block to which the motion vector is referenced is a block belonging to the B picture. .
  • the second object of the present invention is to provide a spatial direction motion vector prediction method with high accuracy in the direct mode even when the block to which the motion vector is referenced belongs to the B picture. It is. Disclosure of the invention
  • the motion vector calculation method of the present invention is a motion vector calculation method when performing inter-picture prediction with reference to a plurality of pictures, and is forward in display time order.
  • a reference step that can refer to a plurality of pictures or a plurality of pictures that are backward in display time order or a plurality of pictures that are both forward and backward in display time order, and a picture to which a block that performs inter-picture prediction belongs.
  • a block that performs inter-picture predictive coding performs motion compensation by referring to a motion vector of a block at the same position of another encoded picture.
  • a single motion vector for use in scaling is generated from the plurality of motion vectors. It is possible to realize motion compensation without contradiction.
  • the motion vector calculation method of the present invention in the reference step, the first picture sequence in which the identification numbers are given in ascending order in preference to the picture ahead in the display time order, and the display time order In the motion compensation step, one picture can be referred to from each of the second pictures arranged in ascending order with priority given to the pictures in the back. It is also possible to use a motion vector that refers to the picture in the first sequence in the block to be processed. to this In this case, even if the block to which the motion vector is referenced is a block belonging to the B picture, the one to be used for motion compensation of the block that performs the inter-picture prediction has the first arrangement. It can be defined as a motion vector that refers to a picture, and motion vector calculation by scaling can be applied.
  • another motion vector calculation method provides a first reference picture that is referred to when a block on an encoding target picture is obtained by motion compensation from a plurality of encoded pictures stored in a storage unit. And a step of adding a first reference index or a second reference index to be used for selecting at least one of the reference pictures among the second reference picture, and the encoding target.
  • a first selection step for selecting a motion vector indicating the median value thereof, and a motion vector selected in the first selection step are used.
  • a derivation step of deriving the motion base-vector that references the picture relevant catcher in picture or forward and backward in the picture or backward in front when motion compensation is performed on a block on the encoding target picture, a plurality of motion vectors having a first reference index among the motion vectors of surrounding blocks around the block on the encoding target picture are included.
  • a motion vector of the block on the picture to be encoded can be derived using a motion vector indicating the median value thereof.
  • the median value of the smallest first reference index value is indicated.
  • Patent Application 2 00 2-1 1 8 5 9 8 J Patent Application 2 00 2-1 1 8 5 9 8 J
  • Patent Application 2 0 0 2-1 2 1 0 5 3 J ⁇ 2-1 5 6 2 6 6 ''
  • patent application 2 0 0 2-1 7 7 8 8 9 '' ⁇ patent application 20 0 2-1 9 3 0 27 ''
  • Patent application 2 00 2-2 0 47 1 3 J ⁇ patent application 2 0 02-2 6 2 1 5 "IJ, I” patent application 2 0 0 2-2 9 0 5 4 2 ",!
  • Patent application 2 00 2— 3 2 3 0 9 6 The contents of J and US provisional applications “6 0/3 7 8 6 4 3 J” and “60 0 3 7 8 9 54 J are incorporated.
  • 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) shows an example of a reference 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 a 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.
  • Figure 12 shows two motion vectors in which the block to which the motion vector is referenced in the direct mode refers to the front in the display time order. It is a schematic diagram for demonstrating operation
  • 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 referenced 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 referenced in the direct mode has two motion vectors that refer to the front in the display time order.
  • Fig. 17 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. 6 is a schematic diagram for explaining the operation in the case of having two motion vectors that refer to the front in order of display time.
  • 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 rear in the display time order.
  • 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 back 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 is a diagram showing motion vectors of blocks around the encoding target block.
  • FIG. 27 is a diagram showing motion vectors of blocks around the encoding target block.
  • Fig. 28 shows the motion vectors of the blocks around the current block.
  • Figure 29 shows the motion vector of the blocks around the current block FIG.
  • 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 target block.
  • Fig. 34 shows the procedure for determining the motion vector to be 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 two-way prediction in the direct mode when there is only one motion vector ⁇ referring to a picture stored in memory for a long time.
  • Fig. 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 long-term memory.
  • Fig. 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 diagram showing the order of frames that are input to the moving image encoding apparatus 100 in time order in units of pictures.
  • Figure 4 1 (b) shows the sequence of frames shown in Figure 4 1 (a) in the coding order. It is a figure which shows the order at the time of rearranging.
  • 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 vector that uses the direct mode spatial prediction method when there are a mixture of macroblock bears encoded in the field structure and macroblock pairs encoded in the frame structure. It 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 the content supply system that implements the 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.
  • the 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. It is an object of the present invention to propose an encoding method and a decoding method of a moving image that can be performed.
  • the reference index will be described first.
  • FIG. 3B shows an example of the reference picture list 10 created for each picture to be encoded.
  • the reference picture list ⁇ 1 0 shown in Fig. 3 (b) is displayed around the time centered on one B picture.
  • the peripheral pictures that can be referred to by the B picture, their picture type, 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 the ⁇ reference index list 0 (I i stO) or the ⁇ first reference index list.
  • a reference index is also called a relative index.
  • the value of the first reference index 1 2 has the display time of the reference picture having the display time before the encoding target picture first. An integer value that is incremented by “0” to “1” from the closest order is assigned.
  • the next display time after the current picture to be encoded For a reference picture with, the successive values are assigned in order of display time to the current picture.
  • 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 13 is called “reference index list 1 (I i st 1)” or ⁇ second reference index list ”.
  • the value of the second reference index 1 3 indicates that the reference picture having the display time later than the current picture to be coded is the closest to the current picture in display time order, from ⁇ 0 to ⁇ 1 j step up 03
  • a reference index can be assigned a smaller number for a picture separated in display time order, but such a reference index can be assigned in display time order, for example. It is used when the picture efficiency is improved by referring to the picture.
  • the reference index in the block is expressed by a variable-length codeword, and the smaller the value, the shorter the code length code is assigned. Therefore, for a picture that improves coding efficiency by referring to it By assigning a smaller reference index, the amount of reference index code is reduced, and the coding efficiency is further improved.
  • FIG. 4 is an explanatory diagram of picture numbers and reference indexes.
  • Fig. 4 shows an example of the reference picture list, which shows the reference picture used to encode the center B picture (dashed line), its picture number, and reference index.
  • Fig. 4 (A) shows the case where the reference index is assigned according to the reference index assignment method in the initial state described with reference to Fig. 3.
  • Figure 5 shows an overview of the image encoded signal format by a conventional image encoding device. It is a mere idea. Picture is the encoded signal for one picture, Header is the header encoded signal included at the head of the picture, Blockl is the encoded signal for the block in direct mode, and BIock2 is the encoded block for interpolation prediction other than direct mode
  • the signals, RidxO and Ridxl are the first reference index and the second reference index, respectively, and MV0 and MV1 are the first motion vector and the second motion vector, respectively.
  • Encoding block Block 2 has two reference indexes RidxO and Ridxl in this order in order to indicate the two reference pictures used for interpolation.
  • first motion vector MV0 and the second motion vector MV1 of the coding block BI ock2 are coded in this order in the coded signal of the coding 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 RidxO
  • the picture (second reference picture) referenced by the second motion vector MV1 is the second. Indicated by reference index Ridxl. For example, if you are shown to refer to a picture in two directions: motion vector ⁇ and MV1
  • R i dxO or R ⁇ dx1 is the reference index for that motion vector. RidxO and Ridxl are not used when direct mode is indicated.
  • 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 and is generally Is a picture having 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.
  • the first reference picture is a picture having a display time after the encoding target picture, and the second reference picture is before the encoding target picture. Even if the picture has a display time is there.
  • 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 B lock2
  • the second reference index R i dx1 is the first index of the block BI ock2 This is a reference index indicating the second reference picture referenced by the 2-motion vector V1.
  • the allocation of the reference picture to the reference index can be arbitrarily changed.
  • the allocation of the reference picture to the reference index can be arbitrarily changed.
  • the assignment of the reference picture to the picture number is changed. can do.
  • the change of the allocation of the reference picture to the reference index is usually performed by selecting it as a reference picture so that the coding efficiency is high.
  • the motion vector with the smallest reference index value of the reference picture referenced by the motion vector is the motion vector used in the direct mode. Efficiency can be increased.
  • 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 a group of 16 pixels horizontally 16 pixels vertically, and the subsequent processing is performed in block units.
  • the block read from the frame memory 1 0 1 is input to the motion vector detection unit 1 0 6.
  • the motion vector of the block to be encoded is detected using an image obtained by decoding the encoded picture 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 picture stored in the motion vector storage unit 108.
  • the optimal prediction mode is determined with reference to the motion vector used in step 1.
  • 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 10 7 is stored in the motion vector storage unit 10 8 for use in the encoding of the subsequent block picture. Is done.
  • 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 the image to be encoded is set as a reference picture, and a motion vector that indicates a position predicted to be optimal in the search area within the picture and A prediction image is created by determining 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. straight W
  • the block to be coded does not have a motion vector directly, but refers to the motion vector of the block at the same position in the coded picture that is nearby in the 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 the case where the coded block referenced to determine the motion vector in direct mode has two motion vectors referencing the two pictures ahead in display time order.
  • the picture P 23 is the picture that is currently the object of encoding, and performs two-way prediction using the pictures P 22 and P 24 as reference pictures.
  • the two motion vectors required at this time are pictographs 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 2 2 at 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—REF is calculated as the motion vector to which scaling is applied, and is calculated from the average value of the two motion vectors of block MB 2 2. The time interval TR—REF is calculated from the average value in the same way. 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 indicates the time interval from picture P 24 to picture P 2 1, that is, the time interval from the picture referenced by the motion vector MV 2 1, and the time interval TR 2 2 indicates the motion vector MV 2 Time interval until the picture referenced by 2 Is shown.
  • 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 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 Equation 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.
  • a single motion vector is generated using the vector, and the motion vector is referenced in direct mode by applying scaling to determine the two motion vectors that will actually be used for motion compensation.
  • REF and time interval TR— the average of motion vector MV 2 1 and motion vector MV 2 2 and the average of time interval TR 2 1 and time interval TR 2 2
  • equation 4 it is also possible to use equation 4 instead of equation 2.
  • the motion vector MV 2 1 ' is calculated by scaling the motion vector MV 2 1 so that the time interval is the same as that of the motion vector MV 2 2 as shown in Equation 4 (a).
  • the motion vector MV-REF is determined by taking the average of the motion vector MV 2 1 'and the motion vector MV 2 2.
  • 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 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 in 2, the motion referring to the picture P 2 2 with the shorter time interval as compared to the picture P 2 4 referring to the motion vector as in Equation 5 It is also possible to use the vector MV 2 2 and the time interval TR 2 2 directly. Similarly, 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 moved. It can also be used directly as the spectrum MV—REF and the time interval TR—REF. By this method, each block belonging to picture P 2 4 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 encoding device.
  • V_R E F MV 2 2... 'Formula 5
  • 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 P 23 is a picture to be encoded in the direct mode
  • picture P 24 is a picture to which a motion vector is referenced at that time.
  • a motion vector that refers to a picture that is first in the encoding order As shown in Equation 5, the motion vector MV—REF and the time interval TR—REF are directly applied to the motion vector MV 2 2 and the time interval TR 2 2.
  • the motion vector MV 2 REF 3 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 using the temporal distance between the pixels with respect to the motion vector to be referred to.
  • 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 2 (a) or Equation 4 (b) when calculating the motion vector MV_R EF, the right side of Equation 2 (a) or Equation 4 (b) is calculated, and then the predetermined motion vector is calculated. May be rounded to the same accuracy (for example, if the motion vector has 1 Z 2 pixel accuracy, the value is 0.5 pixel unit).
  • the accuracy of the motion vector is not limited to 1 Z 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) calculate motion vector MV 2 3, motion vector MV 2 4, motion vector MV 2 1 '. In this case, the sides of Equation 3 (a), Equation 3 (b), and Equation 4 (a) may be calculated and then rounded to a predetermined motion vector accuracy.
  • 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 shown. Picture P 4 3 is a picture currently being encoded, and two-way prediction is performed using picture P 4 2 and picture P 44 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.
  • This block MB 4 2 has two motion vectors MV 4 5 and MV 4 6 as motion vectors, so the two motion vectors MV 4 3 and motion sought
  • the vector MV 4 4 cannot be calculated by applying direct scaling as in Equation 1. Therefore, as shown in Equation 7, the motion vector MV—REF is determined from the average value of the two motion vectors of the block MB 4 2 as the motion vector to which scaling is applied. Time interval TR—REF Is similarly determined from the average value. Then, motion vector MV 4 3 and motion vector MV 4 4 are calculated by applying scaling to motion vector MV—REF and time interval TR—REF based on Equation 8.
  • the time interval TR 4 5 indicates the time interval from the picture P 4 4 to the picture P 45, that is, the picture to which the motion vector MV 4 5 refers
  • the time interval TR 4 6 indicates the motion vector resolution.
  • the time interval until the picture to which MV 4 6 refers is shown.
  • Ma 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 there.
  • 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.... 'Formula 7
  • 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 Generate a motion vector using a vector and apply scaling to determine the two motion vectors that will actually be used for motion compensation.
  • the motion vector M to be scaled is obtained.
  • Eq. 9 it is also possible to use Eq. 9 instead of Eq.
  • 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 MV-REF is determined by taking the average of the motion vector MV 4 6 'and the motion vector MV 4 5.
  • the time interval TR-REF uses the time interval TR 4 1 as it is. Note that instead of scaling motion vector MV 4 6 to motion vector MV 4 6 ', motion vector MV 4 5 is scaled and motion vector MV 4 5'. Can be handled in the same way.
  • V 4 6 ' M V 4 6 / T R 4 6 X T R 4 5
  • the motion vector MV—REF and the time interval TR—REF to be scaled are: Instead of using the average value of the two motion vectors as shown in Equation 7, the picture P 4 5 with the shorter time interval is replaced with the picture P 4 4 that refers to the motion vector as shown in Equation 10 It is also possible to directly use the reference motion vector MV 45 and the time interval TR 45. Similarly, the motion vector MV 4 6 and the time interval TR 4 6 refer to the pixel P 4 6 with the longer time interval as shown in Equation 11 It can also be used directly as the vector MV—REF and the time interval TR—REF.
  • each block belonging to the picture P 4 4 to which the motion vector is referenced can realize motion compensation by storing only one of the two motion vectors. Therefore, the capacity of the motion vector memory in the encoding device can be reduced.
  • Fig. 10 (a) shows the reference relationship in the arrangement of pictures in the order in which they are displayed as moving images, as in Fig. 9, and Fig. 10 (b) shows the frame memory 10 in Fig. 6. An example of rearrangement in the order of encoding in 1 is shown.
  • picture P 43 is a picture that is directly coded in mode
  • picture P 44 is a picture to which a motion vector is referenced at that time.
  • the motion vector MV_R EF and the time interval TR — REF are directly applied to the motion vector MV 4 6 and the time interval TR 4 6 as shown in Equation 11.
  • the motion vector MV—REF and the time interval TR—REF are directly applied to the motion vector MV—45 and the time interval TR 45 as shown in Equation 10.
  • each block belonging to picture P 44 to which the motion vector is referenced can realize motion compensation by storing only one of the two motion vectors.
  • the capacity of the motion vector memory in the encoding device can be kept small.
  • the two motion vectors to be obtained are obtained. 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 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 encoder is reduced. It becomes possible to keep it small, and it is possible to omit the process for calculating the motion vector.
  • direct mode if the picture referenced to determine the motion vector has two motion vectors that refer to the two pictures behind in the display time order, referencing the motion vector is prohibited. However, it is also possible to apply only predictive coding other than direct mode. When referring to two pictures behind in the display time order like picture P 4 4 in Fig. 9, it is possible that the correlation with the picture ahead in the display time order is low. By prohibiting and selecting another forecasting method An accurate predicted image can be generated.
  • 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 1 Z 2 pixel, 1/3 pixel, and 14 pixel accuracy.
  • the accuracy of the motion vector can be determined in units of blocks, pictures, or sequences, for example.
  • motion vector MV 44, motion vector MV 4 6 ′ in Equation 8 (a), Equation 8 (b), and Equation 9 (a) May be rounded to the precision of a given motion vector after calculating the right side of Equation 8 (a), Equation 8 (b), and Equation 9 (a).
  • the moving picture decoding method according to the third embodiment 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.
  • the prediction mode and motion vector information are output to the prediction mode motion vector decoding unit 6 08, and the prediction residual encoded data is output to the prediction residual decoding unit 60 2.
  • the prediction mode / motion vector decoding unit 6 0 8 The measurement mode is decoded and the motion vector used in the prediction mode is decoded. 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. In addition, 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 performs prediction based on the input prediction mode and motion vector information. Generate an image.
  • 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. Is generated. In the above embodiment, 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.
  • To perform motion compensation from within the picture using the decoded motion vector with the decoded picture positioned forward and backward in display time order as the reference picture for the picture to be decoded Create a prediction image.
  • a direct mode as one of two-way prediction that performs inter-picture predictive coding by referring to one picture each at the front and rear in display time order.
  • the decoding target block is input as a code string that does not have a motion vector directly.
  • 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. If the block to be decoded is block MB 2 1, the two motion vectors required at this time are decoded back reference pictures (second reference picture specified by the second reference index). It is determined using the motion vector of block MB 2 2 at the same position in picture P 24. 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 MV 2 MV to be sought.
  • Equation 2 the motion vector M V_R EF is calculated from the average of the two motion vectors of block MB 2 2 as the motion vector to which scaling is applied, and the time at that time is calculated.
  • the interval TR—REF is calculated from the average value in the same way.
  • 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 indicates the time interval from picture P 24 to picture P 2 1, that is, the time interval from the picture referenced by the motion vector MV 2 1, and the time interval TR 2 2 indicates the motion vector MV 2 2 shows the time interval until the picture to be referenced.
  • the time interval TR 2 3 is referenced by the motion vector MV 23.
  • the time interval TR 24 indicates the time interval until the picture to which the motion vector MV 24 refers.
  • 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. In the example of Fig. 7, 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.
  • 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 the vector and applying scaling to determine the two motion vectors that will actually be used for motion compensation
  • the motion vector MV-REF Scale the motion vector MV 2 1 ′ so that the time interval is the same as the motion vector MV 2 2 for V 2 1. Then, the motion vector MV-REF 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 TR-REF uses the time interval TR 22 as it is. Movement vector MV Scaling 2 1 to move vector MV 2 1 'instead of moving vector MV 2 2 to scale motion vector MV 2 2' 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, the motion P It is also possible to use the spectra MV 2 2 and TR 2 2 directly. Similarly, the motion vector MV 2 1 and time interval TR 2 1 referencing picture P 2 1 with the longer time interval as shown in Equation 6 are set as motion vector MV—REF and time interval TR—REF. It can also be used directly. By this method, each block belonging to the picture P 2 4 to which the motion vector is referenced 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.
  • the motion vector MV-REF and the time interval TR-REF to be scaled are: Instead of using the average value of two motion vectors as shown in Equation 2, it is also possible to directly use a motion vector that refers to a picture that is decoded first.
  • 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) the order of the input code strings, i.e. An example of the order of decoding is shown.
  • picture P 23 is a picture to be decoded in the direct mode
  • picture P 24 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—REF and the time interval TR—RE “as shown in Equation 6 are directly applied to the motion vector MV 2 1 and the time interval TR 2 1. Since each block belonging to picture P 2 4 to which the motion vector is referenced can store motion compensation by storing only one of the two motion vectors, decoding It is possible to reduce the capacity of the motion vector storage unit in the device.
  • 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.
  • the motion vector to be referenced may be calculated by multiplying 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 behavior when the picture referenced to determine the motion vector in direct mode has two motion vectors that refer to the two pictures behind in display time order. It is a thing.
  • Picture P 4 Reference numeral 3 denotes a picture currently being decoded, and bi-directional prediction is performed using picture P 4 2 and picture P 44 as reference pictures. If 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 using the motion vector of the block MB 4 2 at the same position of a picture P 4 4, and this block MB 4 2 is the motion vector MV 4 5 and Since there are two motion vectors MV 4 6 and 2 motion vectors MV 4 3 and motion vector MV 4 4 are calculated by applying direct scaling in the same way as Equation 1. I can't. Therefore, as shown in Equation 7, 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 scaling is applied. Similarly, the time interval TR—REF is determined from the average value.
  • time interval TR 4 5 is the time interval from picture P 4 4 to picture P 4 5, that is, the time interval from the picture referenced by motion vector MV 4 5
  • time interval TR 4 6 is the motion vector MV 4
  • the time interval to the picture referenced by 6 is the time interval TR 4 3 is the motion vector MV 4 3
  • the time interval to the picture referenced by the time vector TR 4 4 is the time interval TR 4 4 is the motion vector MV 4 4 is the reference It shows the time interval to the picture to be used.
  • 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.
  • a block in which the motion vector is referred to in the direct mode refers to the picture that is behind in the display time order.
  • one motion vector is generated using the plurality of motion vectors, and two motion vectors that are actually used for motion compensation by applying scaling are used.
  • 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 45. Then, the motion vector MV—REF 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 45 as it is. In addition, instead of scaling motion vector MV 4 6 to motion vector MV 4 6 ', scaling motion vector MV 45 and moving motion vector MV 4 The case of 5 'can be handled in the same way.
  • the motion vector MV-REF and the time interval TR-REF to be scaled are: Instead of using the average of the two motion vectors as shown in Equation 7, refer to picture P 44 with the shorter time interval for picture P 44 that references the motion vector as shown in Equation 10. Using direct motion vector MV 45 and time interval TR 4 5 It is also possible. Similarly, the motion vector MV 4 6 and the time interval TR 4 6 refer to the longer time interval picture P 4 6 as shown in Equation 11 and the vector MV—REF and time interval TR—REF It can also be used directly. With this method, each block belonging to the picture P 4 4 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 4 3 is a picture that is encoded by the direct mode, and picture p 4 4 is a picture to which a motion vector is referenced at that time.
  • the motion vector MV is expressed as in Equation 11 — REF and time interval TR—RE “As motion vector MV 4 6 and time interval TR 4 6 are applied directly.
  • motion vectors refer to pictures that are later in decoding order.
  • the motion vector MV—REF and time interval TR—REF as shown in Equation 10 and the motion vector MV 4 5 and time interval TR 4 5 This method is applied directly.
  • Each block belonging to picture P 4 4 to which the video is referenced can realize motion compensation by storing only one of the two motion vectors. It becomes possible to keep the capacity of the vector storage unit small.
  • the bookmark referenced to determine the motion vector in direct mode has two motion vectors that refer to the two pictures behind in the display time order, the two motions to be obtained It is also possible to perform motion compensation by setting the vector MV 4 3 and the motion vector MV 4 4 to “0”.
  • 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 that the motion vector storage unit in the decoding apparatus 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 using the temporal distance between the pixels with respect to the motion vector to be referenced. May be calculated by multiplying the motion vector to be referenced 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 1 2 refers to calculating motion vectors in direct mode.
  • Two motion vectors refer to the two pictures that have the coded or decoded blocks in front of the display time. If you had a toll The operation is shown.
  • 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). This is determined using the motion vector of block MB 2 at the same position of P 24.
  • block MB 1 is the 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 2 2 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 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 a time interval between the picture P 2 1 and the picture P 2 3
  • a time interval TR 2 4 ′ indicates 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 (the first motion vector encoded or decoded) of the motion vector of the block MB 2 in the reference picture P 2 4 (1 motion vector) Using only MV 2 1, motion vector MV 2 1 ′ and motion vector MV 2 4 ′ of block MB 1 are calculated by the following formula.
  • the motion vector of the block MB 1 may be calculated using only the motion vector (second motion vector) MV 2 2 which is encoded or decoded later among the motion vectors. 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. May be.
  • motion vector MV 2 1 or motion vector MV 2 2 which one is selected depends on the block encoded or decoded in time.
  • a 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), it is possible to compensate for motion. Short time memory and long time memory will be described later.
  • Figure 1 3 refers to calculate motion vector in direct mode.
  • 2 motions refer to two pictures with encoded or decoded blocks later in display time order. This shows the operation when a vector is held.
  • 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 picture (second reference picture) P 2 Determined using the motion vector of block MB 2 at the same position in 3.
  • second reference picture second reference picture
  • block MB 1 is a block to be processed
  • block MB 1 and block MB 2 are blocks that are in the same position on the picture
  • motion vector MV 2 4 Coulter MV 2 5 is a motion vector used when encoding or decoding block MB 2 and refers to picture P 2 4 and picture P 2 5, respectively.
  • 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 2 4 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 a time interval between the picture P 2 2 and the picture P 2 4
  • a time interval TR 2 1 ′ indicates a time interval between the picture P 2 1 and the picture P 2 2.
  • 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 M V 2 4 ′.
  • Time interval TR 2 4 is the time interval between picture P 2 3 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 ′ represents a time interval between the picture P 2 2 and the picture P 25
  • a time interval TR 2 1 ′ represents a time interval between the picture P 2 1 and the picture P 2 2.
  • MV 2 1 ' -MV 2 5 XTR 2 1' / TR 2 5
  • MV 2 5 ' MV 2 5 x TR 2 5' / TR 2 5
  • 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 M V 2 5 ′.
  • Figure 15 refers to calculate motion vector in direct mode.
  • Two blocks refer to one picture that has a coded block or a decoded block in front of display time. This shows the operation when a motion vector is held.
  • Picture P 23 is a picture that is 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). This is determined using the motion vector of block MB 2 in the same position of P 2 4.
  • 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 and time interval TR 2 1 B are the time intervals between picture P 2 1 and picture P 2 4, and time interval TR 2 1 ′ is between picture P 2 1 and picture P 2 3 The time interval between them, the time interval TR 2 4 ′, indicates the time interval between the picture P 2 3 and the picture P 2 4.
  • V 2 4 ' -V 2 1 A x T R 2 4' / T R 2 1 A
  • bi-directional prediction is performed from picture P 2 1 and picture P 24 using motion vector M V 2 1 A ′ and motion vector M V 2 4 ′.
  • the motion vector of the block M B 1 may be calculated using only the forward motion vector M V 21 B to the picture P 21 of the block M B 2 in the reference picture P 24.
  • the forward motion vector MV 2 1 A and the forward motion vector MV 2 1 B are used to The motion vector may be determined. In either case, when selecting either the forward motion vector MV 2 1 A or 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. May be calculated by multiplying the motion vector to be referenced 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.
  • motion vector MV 2 1 ' motion vector MV 2 4'
  • motion In the calculation formulas of vector MV 2 5 'and motion vector MV 2 1 A' it may be rounded to the accuracy of the 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 block to be processed
  • block MB 1 and block MB 2 are blocks located at the same position on the architecture
  • 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 to the picture P 2 2.
  • Forward motion vector When having two forward motion vectors with MV 2 2, it is the closest 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 equation.
  • motion compensation is performed from picture P 2 2 using motion vector MV 2 2 '.
  • the block MB 2 in the reference picture P 24 is moved forward to the picture P 2 1 by the forward motion vector MV 2 1 and before the picture P 2 2
  • the direction motion vector MV 2 2 only the motion vector MV 2 1 to the picture P 2 1 that is distant in display time order is used for the target picture P 23, and the block MB
  • the motion vector MV 2 1 'of 1 is calculated by the following formula.
  • motion compensation is performed from picture P 2 1 using motion vector MV 2 1 '.
  • the block MB 2 belonging to the reference picture P 2 4 to which the motion vector is referenced by these first and second methods stores only one of the two motion vectors. Since motion compensation can be realized, the capacity of the moving 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.
  • M V N M V 2 1 X T R 2 2 '/ T R 2 1
  • This third method increases the amount of computation, but improves the accuracy of motion compensation.
  • a motion compensation block is obtained from the picture P 2 2 using the motion vector M V N and the motion vector M V 2 2 ′, and the average image can be used as an interpolated 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 referred to.
  • 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.
  • motion vector MV 2 1 ′ calculates the right side of each formula and then round it to the accuracy of the specified motion vector. Also good.
  • the accuracy of the motion vector includes 12 pixels, 1 Z 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 reference picture is specified by the second reference index.
  • the target motion vector can be calculated. 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 for 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 2 4, 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 24, and time interval TR 2 5 is the time interval between picture P 2 3 and picture P 2 5, time interval TR 2 4 ' Denotes a time interval between the picture P 2 2 and the picture P 2 4, and a time interval TR 25 ′ denotes a time interval between the picture P 2 2 and the picture P 25.
  • the block MB 2 in the reference picture P 23 moves backward to the picture P 24 vector MV 24 and the backward movement to the picture P 25
  • the motion vector MV 2 4 'of MB 1 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 which is a neighboring picture in the order of display time in the same manner as in the first embodiment, using backward motion vector MV 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 2 4 and the picture P 25
  • the backward motion vector MV 2 5 only to the picture P 25, which is distant in display time order in the target picture P 23
  • the motion vector MV 2 5 'of block MB 1 is calculated by the following formula.
  • motion compensation is performed from picture P 2 5 using motion vector MV 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 dynamic 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.
  • M V N 2 M V 2 5 X T R N 1 / T R 2 5
  • This third method increases the amount of computation, but improves the accuracy of the target picture P 2 2.
  • the reference picture used to determine the target motion vector in the direct mode is one backward motion vector that refers to one picture located behind in display time order. If you have a vector, for example, 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 M V N 3 (not shown) used at that time is calculated by the following formula.
  • M V N 3 M V 2 4 X T R N 1 / T R 2 4
  • Block MB 1 is the target block, and three pixels are in the positional relationship of A, B, C Refer to the motion vector of the block containing. However, if the position of pixel C is out of the screen, or if 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 used in the direct mode is actually 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 having the highest coding efficiency includes, for example, information indicating the direct mode output from the mode selection unit 1 0 7 as shown in FIG. 0 Added to the header area of the block in the code string generated by 3.
  • 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 encoding efficiency is, for example, a number for identifying a block including a pixel to be referred to, and an identification number given for 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. If there are multiple motion vectors, the motion vector with the highest coding efficiency can be obtained using multiple motion vectors. Toll may be shown.
  • the motion with the highest coding efficiency is used. You may make it show a spectrum.
  • the motion vector with the highest coding efficiency can be obtained.
  • additional information indicating which motion vector has been selected must be described in the code string, so an extra amount of code is required.
  • 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 motion vector used in the direct mode is used by using the motion vector that refers to the picture that is closest in display time order or has the highest coding efficiency. That would generate a Improvements can be made.
  • the median value of the three motion vectors may be taken. If there are two motion vectors that refer to the reference picture with the smallest reference index value among the vectors, for example, one of the two motion vectors should be fixedly selected. You can do it. For example, using Fig. 23, among the motion vectors of the three blocks including pixel ⁇ , pixel ⁇ , and pixel C, two blocks including pixel ⁇ and pixel ⁇ are the reference index values. If is the smallest and the same reference picture is referenced, it is recommended that the motion vector of the block containing pixel A be taken.
  • 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.
  • the motion To simplify the process of calculating the median of the it can.
  • Block BL 1 may be motion-compensated, or block BL 1 may be divided corresponding to multiple block areas in the reference picture behind, and block BL 1 may be compensated for each divided block. May be.
  • the first calculation method is used. Any of the calculation methods up to 3 can be used.
  • FIG. 30 shows the case where all the 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 MV A f, motion vector MV B f, and motion vector MV C f are selected by the median of the motion vector MV A f, the motion vector used for motion compensation in block BL 1.
  • the backward motion vector used for motion compensation in block BL 1 is selected by the median of motion vector MV A b, motion vector MV B b, and motion vector MVC b.
  • the moving vector MV A f is the forward motion vector of the block including pixel A
  • the dynamic vector MVA b is the backward motion vector and motion of the block including pixel A
  • the vector MVB f is the forward motion vector of the block containing pixel B
  • the dynamic vector MVB b is the backward motion vector of the block containing pixel B
  • the dynamic vector MVC f is the forward motion vector of the block containing pixel C
  • motion vector MVC b is the backward motion vector of the block containing pixel C.
  • the motion vector MVA f etc. is not limited to the case of referring to the picture as shown. The same applies to the following description.
  • the motion vector MVA f, motion vector MVB f, and motion vector MVC f have the highest coding efficiency among the motion vectors of the forward reference.
  • the motion vector MVA b, motion vector MVB b, motion vector MVC b, and the motion vector with the highest coding efficiency are used in the direct mode.
  • the motion vector with the highest coding efficiency is selected from the motion vectors MVA f, motion vectors MVB f, and motion vectors MVC f that are forward-referenced.
  • motion compensation may be performed only by forward reference, or motion compensation may be performed by bi-directional reference using a motion vector parallel to the determined motion vector.
  • 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.
  • the selection of this one block is: (1) An image having a motion vector with the smallest reference index value of the picture referenced by the motion vector of the forward reference.
  • 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 backward motion vector of motion vector MVA b, motion vector MVB b, motion vector MVC b This is the back reference (second reference) motion vector used in direct mode.
  • the forward reference motion vector with the smallest reference index value of the reference picture is the forward reference motion vector of the block BL1
  • the reference index value of the reference picture is The motion vector of the backward reference with the smallest value is the backward motion vector of block BL1, but the forward index or the backward index with the smallest reference index value of the reference picture is used.
  • One of them may be used to derive two motion vectors of block BL 1 and the motion compensation of block BL 1 may be performed using the derived motion vectors.
  • FIG. 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 this picture is shown.
  • the motion vector that refers to the other picture in this block is 0, and the motion compensation is performed as shown in FIG.
  • the calculation method with 0 may be used.
  • the motion vector MVB f since only the motion vector MVB f that refers to the picture in front of the block that includes pixel B refers to the picture that has the smallest first reference index, the motion vector MVB f is blocked.
  • BL 1 forward motion vector.
  • the pixel B refers to the back picture.
  • the motion vector obtained as a result of the calculation 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 has Indicates a case where there is no motion vector and encoding is performed on the screen.
  • Figure 33 shows the case where pixel C is encoded in direct mode.
  • the motion vector used when the block encoded in the direct mode is encoded. It is better to compensate the motion of block BL 1 using the calculation method shown in Fig. 30 above. Note that whether the motion vector is forward reference or backward reference It depends on the time information that each picture has and the picture to be coded. Therefore, when the motion vector is derived after distinguishing the forward reference and the backward reference, it is determined whether the motion vector of each block is the forward reference or the backward reference. Judgment is made based on the time information of Kucha.
  • 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 dxO and R i dx 1 shown in FIG. 34 are the reference indexes described above.
  • Fig. 34 (a) shows the procedure for determining the motion vector using the first reference index R i dxO
  • Fig. 34 () shows the procedure for determining the motion vector using the second reference index R i dx l. It shows. 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 S3702 the number of blocks that refer to the picture is calculated using the second reference index R RECORD dx 1. 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. On the other hand, if the number of blocks calculated in step S3702 is equal to or greater than ⁇ 1, the motion vector of the current block is determined based on the number of blocks in which the second reference index R i dx 1 exists in S3704. For example, the motion compensation of the coding target block using the motion vector determined by the number of blocks in which the second reference index R i dx l exists I do.
  • step S3701 If the number of blocks calculated in step S3701 is ⁇ 1 j, the block motion vector in which the first reference index RidxO exists is used in S3705.
  • the motion vector which is the median of the three motion vectors is used. If the number of blocks calculated in step S3701 is “3”, the motion vector corresponding to the median of the three motion vectors is used in S3707.
  • the motion compensation in step S3704 may be performed in two directions using a single motion vector. In this case, the motion compensation in two directions is performed by scaling, for example, one motion vector to the motion vector in the same direction as the one motion vector and the motion vector in the opposite direction. It is also possible to do this after obtaining it, or using a motion vector in the same direction as one motion vector and a motion vector with motion vector “0”.
  • FIG. 34 (b) will be described.
  • step S3711 the number of blocks in which the second reference index Ridxl exists is calculated.
  • step S3711 If the number of blocks calculated in step S3711 is ⁇ 0 J, the number of blocks in which the first reference index RidxO exists is further calculated in step S3712. 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 equal to or greater than ⁇ 1, the number of blocks in which the first reference index RidxO exists is determined in S3714. Therefore, the motion vector of the encoding target block is determined. For example, motion compensation is performed on the current block 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 ⁇ dx 1 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.
  • S371 1 shown in Fig. 3 4 (b) is used. The following processing should be performed.
  • the processing of S3704 is reached, since the processing of step S3712 and below is not performed out of the processing of step S3711 and below, the motion vector is uniquely set. Can be determined.
  • either process may be performed first or in combination.
  • 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.
  • the 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.
  • 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 is a diagram showing a procedure for determining a motion vector of a block to be coded based on a reference index value indicating a picture referred to by a motion vector included in a block having pixels A, B, and C.
  • 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 (b) shows the procedure based on the first reference index Ri dxO.
  • Figure 3 6 (d) shows the procedure based on the second reference index Ridxl. Only FIG. 36 (a) and FIG. 36 (b) will be described. First, Fig. 36 (a) is explained.
  • step S3801 it is determined whether one of the smallest first reference indices RidxO can be selected from the valid first reference indices R i dxO.
  • the motion vector selected in step S3802 is used. If there are a plurality of minimum first reference indices R idxO among the first reference indexes RidxO valid in step S3801, 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.
  • step S3812 If one smallest first reference index RidxO can be selected from the valid first reference indexes R RECORD dxO in step S3811, the motion vector selected in step S3812 is used.
  • step S3811 If there is no valid first reference index RidxO 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 ⁇ in Fig. 35 (b), which has a motion vector. This is the reference index that is shown to be. Also, in Fig. 35 (b), "xj" means that no reference index is assigned. Also, step S3824 in Fig. 36 (c), Fig. 36 (d) ) In step S3833 Then, the processing from step S 3701 described with reference to FIG. 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 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.
  • the first reference index RidxO in the block having pixel B is adopted according to priority, and this pixel B has Using the motion vector corresponding to the first reference index RidxO in the block, motion compensation of the block BL1 to be encoded is performed.
  • 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 S3821 it is determined whether one of the smallest second reference indices Ridxl can be selected from the valid second reference indexes Ridxl.
  • the motion vector corresponding to the second reference index R i dx1 in the block having the pixel C is used in step S3822.
  • the median value of a total of three motion vectors is assumed, assuming that the motion vector has a motion vector size of “0”.
  • the reference index is assumed to be the average of the three motion vectors, assuming that the motion vector has a motion vector size of “0”. You may make it take the average value of the motion vector which a certain block has.
  • the priority order described above is set in the order of, for example, the block having pixel B, the block having pixel A, and the block having pixel C, and the motion vector used for motion compensation of the encoding target block is 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 reference motion vector.
  • 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.
  • the motion vector calculation method using the reference indices R i dx0 and R i dx 1 may be combined not only with the median calculation method but also with other calculation methods.
  • 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 resulting 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 37 shows the two-way prediction in the direct mode when only one reference picture is stored in the long-term memory.
  • the difference between Embodiment 8 and the previous embodiments is that
  • the forward (first) motion vector MV21 of the cheer block MB2 refers to the reference picture stored in the memory for a long time.
  • the short-term 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 (ie, 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 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.
  • 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.
  • the forward (first) motion vector MV21 uses picture P 2 1 stored in memory for a long time as the first reference picture.
  • the backward motion (second) motion vector MV25 refers to the second motion that refers to the picture P 25 stored in the memory for a short time as the second motion picture. It is a vector.
  • 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 MB 1 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 is 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, which is sufficiently smaller than the first motion vector MV21' It means that it can be ignored.
  • the second motion vector MV24 ' is treated as "0".
  • one motion vector that refers to the reference picture stored in the long-term memory as the first reference picture and the reference picture that is stored in the short-term memory are referred to as the second reference picture.
  • the reference block MB has a motion vector
  • the motion vector stored in the memory for a long time out of the motion vectors of the reference picture block is used as it is, and the motion vector of the block of the target picture is used as it is.
  • 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, the scaling is applied to the motion vector that references the first reference picture, and the target picture Calculate the motion vector of.
  • 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.
  • bi-directional prediction in the direct mode is performed 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. Show.
  • FIG. 38 is a diagram showing the bi-directional prediction in the direct mode when the reference block MB has two motion vectors referring to the reference picture stored in the memory for a long time.
  • the difference between the ninth embodiment and the eighth embodiment is that both the motion vector MV21 and the motion vector MV22 of the block MB2 of the reference picture are stored in the memory for a long time. It is a point that refers to an existing picture.
  • Fig. 38 the boundary between the long-time memory and the short-time memory is shown by a vertical dotted line as shown in the figure.
  • information on the left picture is stored in the long-time memory
  • 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 between pictures P22 and P24 corresponding to motion vector MV22 that references picture P22 stored in memory for a long time TR22 is the time between pictures P24 and P25 stored in short-time memory. Interval is much larger than TR25 or may be indefinite.
  • incense is assigned in the order of picture P22 corresponding to motion vector MV22 and picture P21 corresponding to motion vector MV21, and picture P21 and picture P22 are stored in the memory for a long time.
  • the motion vector of block MB 1 of the target picture is calculated as follows.
  • the above formula is the motion vector ⁇ 22 that refers to the picture P21 with the smallest allocated order among the motion vectors of the block MB2 of the reference picture P24, and the motion of the block MB 1 of the target picture P23 as it is This means that the vector is MV22 '.
  • the following equation indicates that the backward motion vector MV24 'of the target picture P23 stored in the memory for a short time MB1 is sufficiently smaller than the motion vector MV21' and can be ignored. ing.
  • the backward motion vector MV24 ' is treated as ⁇ 0 ". W
  • the motion of the block of the target picture using the motion vector that refers to the picture with the smallest allocated order among the motion vectors of the block of the reference picture stored in the memory for a long time is used as it is.
  • a vector it is possible to perform bi-directional prediction processing without using a considerably large or indefinite time for a long time 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 MV21 and motion vector MV22 of the reference picture block MB2 both refer to pictures that have been stored in memory for a long time, select the motion vector that refers to the first reference picture. You can do that. For example, if MV21 is a motion vector that refers to the first reference picture and V22 is a motion vector that refers to the second reference picture, the motion vector of block MB 1 is the motion vector for picture P 2 1 The motion vector “0” for MV 2 1 and picture P 2 4 will be 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 is a diagram showing a process flow of the motion vector calculation method according to the present embodiment.
  • the reference block MB in the reference picture behind the target block MB It is determined whether or not has a motion vector (step S 1). If the reference block MB does not have a motion vector (Step S 1; No), the motion vector is predicted as 2 "(Step S 2) and the motion vector 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 S If the reference block M B does not have a forward motion vector (step S
  • step S14 since the reference block MB has only the backward motion vector, the number of backward motion vectors is determined (step S14). Reference If the number of backward motion vectors in block MB is ⁇ 2 ⁇ , it will be scaled according to one of the calculation methods described in Fig. 19, Fig. 20, Fig. 21 and Fig. 22. Two-way prediction is performed using the two backward motion vectors (step S 15).
  • step S 1 6 the motion vector calculation method processing is completed.
  • 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).
  • Step S 5 If the reference picture corresponding to the forward motion vector of the reference block MB is stored in the short-time memory, the scaled forward motion vector is scaled by scaling the forward motion vector of the reference block MB. Two-way prediction is performed using (Step S6).
  • the forward motion vector of the reference block MB is determined according to the motion vector calculation method shown in Fig. 3. The vector is used as it is without being scaled, and 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 forward motion corresponding to the reference picture stored in the memory for a long time in the forward motion vector of the reference block MB The number of motion vectors is determined (step S8).
  • step S8 If the number of forward motion vectors corresponding to the reference picture stored in the memory for a long time is "0" in step S8, the target block MB 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 S9). If the number of forward motion vectors corresponding to the reference picture is "1" in step S8, the motion vector is scaled to the picture stored in the memory for a short time and the scaled motion vector is Is used to perform two-way prediction (step S 1 0).
  • both two forward motion vectors will result in the same picture in the long-term memory. Is referenced Is determined (step S 1 1). 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). .
  • the long 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 pictures with the smaller order assigned to the pictures stored in the temporal 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 determined according to the order assigned to each reference picture. It is to be selected.
  • the order of the reference pictures stored in the long-time memory may coincide with the time of the image, but it may be simply coincident 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 need to 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 applies a spatial mode prediction method in the direct mode even when a block encoded with the field structure and a block encoded with the frame structure are mixed.
  • a video encoding device capable of encoding, a frame memory 1 0 1, difference calculation unit 1 0 2, prediction error encoding unit 1 0 3, code string generation unit 1 0 4, prediction error decoding unit 1 0 5, addition calculation unit 1 0 6, frame memory 1 0 7, motion Vector detection unit 1 0 8, mode selection unit 1 0 9, coding 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 and motion vector storage unit 1 1 6 are provided.
  • 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, and then converts it into a format ⁇ of the encoded bit stream for output.
  • 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 110 replaces the picture of the input image stored in the time order input to the frame memory 1 0 1 in the order of encoding.
  • the encoding control unit 1 1 0 has a unit of a predetermined size of the encoding target frame, Determine whether encoding is performed using the field structure or 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 10 1 corresponding to the interlace and every other horizontal scanning line. Sequentially, 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 coding target macroblock pair 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 macro block in the encoded macro block pair.
  • FIG. 41 (a) is a diagram showing the order of frames that are 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.
  • the vertical line indicates a picture
  • the symbol shown at the bottom right of each picture indicates the first character's alpha-predictive force ⁇ picture type (I, P or B), and the second character.
  • the following numbers indicate the picture numbers in chronological order.
  • FIG. 41 (a) is a diagram showing the order of frames that are 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.
  • the vertical line indicates a picture
  • the symbol shown at the bottom right of each picture indicates the first character's alpha-predictive force ⁇ picture type (I, P or
  • the picture input to the frame memory 1 0 1 are rearranged in the encoding order by the encoding control unit 1 1 0.
  • the rearrangement to the coding order is performed based on the reference relationship in inter-picture prediction coding, and is used as a reference picture. Reordered pictures to be encoded before the picture used as the reference picture.
  • a P picture is assumed to be used as a reference picture of 1 or 3 P pictures in the vicinity in front of the display time.
  • 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. Shall be used.
  • picture P7 input behind picture B5 and picture B6 is referenced by picture B5 and picture B6, so picture B5 Sorted before 5 and picture B6.
  • picture P 1 0 that was input behind picture B 8 and picture B 9 is input before picture B 8 and picture B 9 and after picture B 11 and picture B 12.
  • the previous picture P 1 3 is rearranged in front 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 1 0 1 is read in units of a macroblock pair in which two macroblocks are concatenated in the vertical direction, and each macroblock is horizontal 16 pixels x vertical 1 Suppose the size is 6 pixels. Therefore, a macroblock pair has a size of 16 horizontal pixels x 32 vertical pixels.
  • the encoding process for picture B 11 is described below. It should be noted that reference index management in this embodiment, that is, reference frame list management is performed in the encoding control unit 110.
  • picture B 11 is a B picture
  • picture B 1 1 is a picture P 1 0, P 7 and P 4 which is forward in display time order and picture PI 3 which is backward in display time order
  • picture PI 3 which is backward in display time order
  • the reference index is assigned by the initial method.
  • the reference frame list 300 when encoding the picture B 11 is as shown in FIG.
  • the first reference picture is designated by the first reference index in FIG. 42
  • the second reference picture is designated by the second reference index in FIG.
  • the coding control unit 1 1 0 controls each switch so that switch 1 1 3 is on and switch 1 1 4 and switch 1 1 5 are off. To do. Therefore, the macroblock pair of the 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. Thus, 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 macroblock pair coding mode using the motion vector detected by the motion vector detection unit 108.
  • the B picture coding modes are, for example, intra-picture coding, inter-picture predictive coding using a one-way motion vector, inter-picture predictive coding using a two-way motion vector, and direct mode. It shall be possible to select.
  • an encoding mode other than the direct mode it is also determined whether the macroblock pair is encoded with a frame structure or a field structure.
  • 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 flowchart which shows an example of a 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 that are encoded with the field structure, the encoding target macroblock is encoded with the field structure, and if there are many that are encoded with the frame structure, Encode with frame 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 macroblock pair to be encoded 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 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.
  • One vector is required for each of the two fields that make up the macroblock pair.
  • FIG. 45 is a flowchart showing a more detailed processing procedure in step S 300 shown in FIG.
  • the macroblock pair is denoted as MBP and the macroblock is denoted as MB.
  • the mode selector 1 0 9 calculates one motion vector using the direct mode spatial prediction for one macroblock MB 1 (upper macroblock) constituting the encoding target macroblock pair. .
  • the mode selector 1 0 9 obtains the minimum value of the indexes of the pictures referenced by the neighboring macroblock pairs for each of the indexes 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 macro blocks, 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). This is because, in the case of an interlaced structure, the two macroblocks in the peripheral macroblock pair in the field structure are adjacent to the encoding target macroblock in the frame structure.
  • the motion vector of that one macroblock is set as the motion vector of the surrounding macroblock pair (S 5 0 4 A). In any case, if the referenced field is a field without the smallest index, the motion vector of the peripheral macroblock pair is set to “0” (S 5 0 5).
  • a 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 be selected.
  • 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 in the frame structure, the motion vector of the macroblock adjacent to the encoding target macroblock in the surrounding macroblock pair is selected. Is set as 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. As a result, for each macro block in the macro block pair to be encoded, for example, the macro block MB1, one motion vector for each of the three neighboring macro block pairs is obtained. Next, 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 selector 1 0 9 uses the reference index of the three neighboring macroblock pairs as the reference frame index or reference field index. Compare to any one of Ndex.
  • the reference frame list ⁇ shown in Fig. 42 has only a reference index attached to each frame. Since there is a fixed relationship, it can be converted from one of the reference frame list or reference field list to 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.
  • first field f 1 and the second field f 2 there are several frames indicated by the first field f 1 and the second field f 2 along the time series.
  • Reference frame indexes such as 0, 1, 2,... are assigned based on the frame including the block to be encoded (the frame shown in FIG. 46).
  • 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 (when the first field is an encoding target field).
  • Reference field indexes such as, 0, 1, 2, ... are assigned.
  • this reference field index is obtained 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 If the target block to be coded is the second field f2, the second field f2 is assigned with priority.
  • the peripheral frame block encoded in the frame structure is the reference frame index.
  • the peripheral block encoded in the field structure refers to the first field f 1 of the reference field index ⁇ 2 J, both of the peripheral macro blocks are the same. Treated as referring to a picture.
  • the peripheral macroblock mouth having a frame structure is used.
  • the frame refers to the frame of the reference frame index “1 j”
  • the above peripheral block is treated as referring to the same picture in order to satisfy the above preconditions.
  • the block refers to the first field of the reference field index ⁇ 2 and other neighboring macro blocks refer to the frame with the reference frame index “3”, the above preconditions are not satisfied.
  • the surrounding blocks are treated as not referring to the same picture.
  • 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. If there are two or more frames, if there is a frame with the smallest index or a neighboring macroblock pair that does not refer to a field in that frame, its motion is determined.
  • the median value of the three motion vectors of the peripheral macroblock pair is the macroblock to be encoded. (S5 1 1).
  • the number is less than 2
  • the number of neighboring macroblock pairs that refer to the frame with the smallest index or the field in the frame is ⁇ 0J.
  • 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 encoding target macro block pair, 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 obtained two motion vectors. 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. 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 selects one motion vector MV t for one macro block constituting the encoding target macro block pair, for example, the macro block T corresponding to the top field of the macro block pair.
  • the mode selector 1 0 9 obtains the minimum value of the index of the picture referenced by the neighboring macroblock pair (S 6 0 1). Peripheral macro block
  • the pair is processed in the field structure, only macroblocks with the same field (top field or bottom field) as the target macroblock to be encoded are considered.
  • step S603 If the frame referenced by the two macroblocks is the smallest index as a result of the examination in step S603, the average value of the motion vectors of the two macroblocks is obtained and The motion vector of the macro block pair is used (S 6 0 4). As a result of checking in step S600, if one or both of the referenced frames are frames that do not have the smallest index, the frame referenced by any of the macroblocks is further displayed. It is checked whether or not it has the smallest index (S 6 05).
  • the macro block The motion vector is the motion vector of the surrounding macroblock pair (S606), and as a result of examining in step S600, all macroblocks have the smallest index attached to the referenced frame. If not, the motion vector of the surrounding macroblock pair is set to roj (S 6 0 7). In the above, by using only the motion vector of the frame to which the reference frame has the smallest index among the motion vectors of the surrounding macroblocks, the motion vector with higher coding efficiency is used. Can be selected.
  • the processing of S 6 07 is a motion suitable for prediction. This indicates that there is no negative vector.
  • step S 6 0 2 if the corresponding peripheral macroblock pair is encoded with a field structure, the motion vector of the entire peripheral macroblock pair is determined as the corresponding peripheral macroblock pair. In this case, 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.
  • the macroblock TF 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 there is one, the motion vector of the surrounding macroblock pair referring 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.
  • step S 6 1 1 if there are two or more, the motion vector of the surrounding macro block pair that does not refer to the frame with the smallest index among them is set to “0” (S 6 1 2), The median value of the three motion vectors of the peripheral macro block pair is set as the motion vector of the encoding target macro block (S 6 1 3). If the result of the examination in step S 6 1 1 is less than 2, the number of peripheral macroblock pairs that refer to the frame with the smallest index is “0”, so the motion vector of the macroblock to be encoded is “0” is assumed (S 6 1 4).
  • one motion vector MV t is obtained as a calculation result for one macroblock constituting the encoding target macroblock pair, for example, the macroblock 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 motion vector in that direction is not used, and the motion vector in only one direction is used. Perform motion compensation. This is because the peripheral macroblock reference only refers to one direction, and it is considered that the encoding efficiency is higher when referring to the encoding target macro mouth block only in one direction. It is.
  • the same processing is repeated for another macroblock in the encoding target macroblock pair, for example, the macroblock BF corresponding to the bottom 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 average value of the motion vectors of the two macroblocks in the neighboring macroblock pair is calculated.
  • 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 peripheral macroblock pair When motion vectors are used and the encoding structure is different between the target macroblock pair and the surrounding macroblock pair, the motion of the neighboring macroblock pairs with different encoding structures is changed. You may not use a vector. More specifically, (1) When the encoding target macroblock pair is encoded with the frame structure, only the motion vector of the surrounding 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 set to “0”.
  • the motion vector of the peripheral macroblock pair is set to “0”.
  • 2 When the target macroblock pair is encoded with the field structure, only the motion vector of the surrounding macroblock pair encoded with the field structure is used. At this time, if there is no motion vector of the surrounding macroblock pair encoded with the field structure that refers to the frame with the smallest index, the motion vector of the macroblock pair to be encoded is 0 ”. If the peripheral macroblock pair is encoded with a frame structure, the motion vector of the peripheral macroblock pair is set to “0”.
  • the motion vector is the motion vector of the macroblock pair to be encoded in direct mode, otherwise the median of the three motion vectors is the code in direct mode.
  • whether to encode the macroblock pair to be encoded with the field structure or the frame structure is determined by the majority of the encoding structures of the encoded peripheral macroblock pairs.
  • the present invention is not limited to this.
  • encoding is always performed with a frame structure.
  • it may be fixedly determined so that it is always encoded with a field structure.
  • the header of the entire code string or the frame header for each frame is switched. It may be described in The unit of switching may be, for example, a sequence, GOP, picture, 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 another bucket ⁇ , and one bit ⁇ It is the same even if it is not reamed.
  • the processing can be simplified. .
  • a method may be used in which the encoding target macroblock pair is processed by both the frame structure and the field structure, and a structure with high encoding efficiency is selected.
  • whether the frame structure or the field structure is selected may be described in the header part of the macroblock pair in the code string. Even in this case, only when the encoding target macro block pair and the surrounding macro block pair have the same encoding structure.
  • the motion vector of the macroblock pair to be encoded in the direct mode can be calculated by the method using the motion vector of the surrounding macroblock pair.
  • information indicating whether the frame structure or the field structure is selected is required in the code string, but the residual signal for motion compensation can be further reduced. It is possible to improve the conversion efficiency.
  • 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 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. If the frame structure of the encoding target macroblock pair and the surrounding macroblock pair are different, the pixels at positions a, b, and c as shown in Fig.
  • the processing is performed using the block including the block and the block including the pixel at the 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 determined using the motion vectors of BL1 and BL2.
  • the neighboring macroblock pair is motion compensated in units of a size different from the macroblock size
  • the average value of the motion vectors of the blocks included in the macroblock is obtained to obtain the macroblock. It can also be a motion vector for a block. Even when the surrounding macroblocks are motion compensated in units different from the macroblock size, it is possible to perform direct mode processing that takes into account the difference in the frame '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.
  • an item RPSL indicating a change of the reference frame list 10 and an item (not shown) indicating the picture type of the picture are provided.
  • the item RPSL is a reference frame list. If there is a change from the initial setting in the assignment method of the first reference index 1 2 and second reference index 1 3 of G 1 0, the assignment method after the change is described.
  • the encoded prediction error is recorded for each macroblock. For example, if a macro block is coded using the direct mode spatial prediction, the motion vector of the macro block is described in the item B l ock l describing the prediction error corresponding to the macro block.
  • PredType indicating the encoding mode of the macroblock.
  • the encoded prediction error is described in the item CodedRes.
  • an item that describes the prediction error corresponding to the macroblock B lock2 item that indicates the coding mode Pr edType describes that the encoding mode of the macroblock is the inter-picture predictive encoding 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 dxl.
  • the reference index in the block is represented by a variable-length codeword. 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 moving picture decoding apparatus 800 is a moving picture decoding apparatus for decoding a code string 70 00 in which a prediction error including a macroblock coded in the direct mode is described.
  • Solution Analysis unit 7 O 1 prediction error decoding unit 70 2, mode decoding unit 70 3, motion compensation decoding unit 7 0 5, motion vector storage unit 7 0 6, frame memory 7 0 7, addition
  • a calculation unit 70 8, a switch 7 09, a switch 7 10, and a motion vector decoding unit 7 11 are provided.
  • the code string analyzer 7 0 1 extracts various data from the input code string 7 0 0.
  • the various types of data mentioned here include information on encoding mode and information on motion vectors.
  • the extracted coding 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 also outputs the coding mode information to the motion compensation decoding unit 7 05 and the motion vector decoding unit 7 11. The motion vector decoding unit 7 11 performs a decoding process on the encoded motion vector input from the code string analysis unit 70 1. The decoded reference picture number and motion vector are stored in the motion vector storage unit 706 and simultaneously output to the motion compensation decoding unit 705. When the encoding mode is the direct mode, the mode decoding unit 70 3 controls to connect the switch 7 09 to the terminal b and connect the switch 7 10 to the terminal d.
  • the mode decoding unit 70 3 outputs encoding 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 includes the motion vector and reference picture number of the peripheral macro-pack pair stored in the motion vector storage unit 7 06. 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 described as a unit of a macroblock pair in which two macroblocks are connected in the vertical direction, and processed using either a frame structure or a field structure.
  • processing may be performed by switching the field structure.
  • each block performs motion compensation from only one picture, and there is only one reference frame list.
  • the two motion vectors (first reference frame list and second reference frame list) in the present embodiment are encoded / decoded in this embodiment.
  • the process for obtaining the reference frame list may be a process for obtaining one motion vector.
  • the case where the motion vectors used in the direct mode are predicted and generated using the motion vectors of the three neighboring macroblock pairs has been described.
  • the number of may be different. 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.
  • An example of the physical format of a flexible disk is shown.
  • 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 y program is read from the flexible disk by a flexible disk drive and transferred to the 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 that can record a program, such as GD-R0M, memory card, and 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.
  • the communication service provider area is divided into cells of desired size, and base stations ex 1 0 7 to ex 1 10 which are fixed radio stations are installed in each cell.
  • This content supply system ex 1 0 0 is connected to a computer via, for example, the Internet ex 1 0 1, the Internet service provider ex 1 0 2, the telephone network ex 1 04, and the base stations ex 1 07 to ex 1 1 0.
  • camera ex1 1 3 mobile phone exl 1 4, mobile phone with camera ex 1 1 5, etc.
  • PDA personal digital assistant
  • each device may be directly connected to the telephone network ex 1 0 4 without going through the base stations ex 1 0 7 to ex 1 1 0 which are fixed radio stations.
  • the camera ex 1 1 3 is a device that can shoot movies such as a digital video camera.
  • the mobile phone uses PDC (Personal Diital Communications), CDMA (Code Division Multiple Access), W—CDMA (Wideband-Code Division Multiple Access), or GSM (Global System). For Mobile Communications (Mobile Communications) type mobile phone or PHS (Personal Handyphone System), etc., any of them may be used.
  • the streaming server 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 ex 1 04, and the user transmits using the camera ex 1 1 3 Live distribution based on the encoded data becomes possible. Encoding of the captured data may be performed by the power camera exl 13 or by a server or the like 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.
  • the camera ex 1 1 6 is a device that can shoot still images and movies, such as a digital camera. In this case, even if the video data is encoded by the camera exl 1 6, the computer exl 1 1 You can go either.
  • 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.
  • the image encoding / decoding software may be incorporated into any storage media (CD-ROM, flexible disk, hard disk, etc.) that is a recording medium readable by the computer ex l 1 1 or the like.
  • the video data may be transmitted using a camera-equipped mobile phone ex 1 1 5.
  • the moving image data at this time is data encoded by the LSI included in the mobile phone ex 115.
  • this content supply system ex 1 0 the content (for example, a video image of music live) taken by the user with the camera ex 1 1 3.
  • the stream data is sent to the streaming server ex 1 0 3, while the streaming server ex 1 0 3 distributes the content data to the requested client.
  • Clients include computer ex 1 1 1, PDA ex 1 1 2, camera ex 1 1 3, mobile phone ex l 1 4, etc. that can decode the encoded data. .
  • the content supply system ex l 0 0 can receive and play back the encoded data at the client, and also receive, decode and play back at the client in real time. This makes it possible to implement 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 ex l 15 using the image coding method and the image decoding method described in the above embodiment.
  • Mobile phone ex l 1 5 An antenna ex 2 0 1 for transmitting and receiving radio waves to and from the ground station ex 1 1 0, a camera unit ex 2 0 3 that can take images from a CCD camera, etc., and a still image ex 2 0 3
  • Main unit consisting of a display unit ex2 0 2 such as a liquid crystal display that displays the decoded data of the video taken with the antenna ex 2 0 1 and the video received by the antenna ex 2 0 1, etc.
  • 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, received Recording media for storing encoded data or decoded data, such as email data, video data or still image data ex 2 0 7, recording media ex 2 0 to mobile phone ex 1 1 5 It has a slot ex2 0 6 to enable 7 to be installed.
  • Recording media ex 2 0 7 is a type of EEPROM (EI lyrical and Erasable and Programmable Ie 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. ⁇ Furthermore, the mobile phone ex 1 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 encoding 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 0 9.
  • a demultiplexing unit ex 3 0 8, a recording / reproducing unit ex 3 0 7, a modulation / demodulation circuit unit ex 3 0 6 and an audio processing unit ex 3 0 5 are connected to each other via a synchronization bus ex 3 1 3.
  • the power supply circuit ex3 1 0 can be connected to the digital mobile phone with a camera ex 1 1 5 by supplying power from the battery pack to each part when the end of the call and the power key are turned on by a user operation. Start up in an operable state.
  • the cellular phone ex 1 1 5 is a voice processing unit that collects the audio signal collected by the voice input unit ex 20 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. This is converted into digital audio data by ex 3 0 5, spread spectrum processing is performed by modulation / demodulation circuit unit ex 3 0 6, and digital analog conversion processing and frequency conversion processing are performed by transmission / reception circuit unit ex 3 0 1. Then transmit via antenna ex2 0 1.
  • the mobile phone ex 1 1 5 amplifies the received data received by the antenna ex 2 0 1 in the voice call mode and performs frequency conversion processing and analog-digital conversion processing, and the modulation / demodulation circuit unit ex 3 0 6 reverses the spectrum. After diffusion processing and conversion to analog audio data by the audio processing unit ex 30 5, this is output via the audio output unit ex 208.
  • the text data of the e-mail entered by operating the operation key e X 2 04 on the main unit is sent to the main control unit ex30 4 via the operation input control unit ex30 4.
  • 3 1 Sent to 1.
  • the main control unit ex 3 1 1 performs spectral spread processing on the text data in the modulation / demodulation circuit unit ex 30 6, performs digital analog conversion processing and frequency conversion processing in the transmission / reception circuit unit ex 3 0 1, and then performs antenna processing. Transmit to base station ex 1 1 0 via ex 2 0 1.
  • the image data captured by the camera unit ex 203 is supplied to the image encoding unit ex3 1 2 via the camera interface unit ex 3 03.
  • the image data captured by the camera unit ex 2 0 3 is displayed on the display unit ex 2 0 2 via the camera interface unit ex 3 0 3 and the LCD control unit ex 30 2. It is also possible to display directly on.
  • the image encoding unit ex3 1 2 is configured to include the image encoding apparatus described in the present invention, and the image data supplied from the camera unit ex 20 3 is implemented as described above.
  • the encoded image data is converted into encoded image data by compression encoding by the encoding method used in the image encoding apparatus shown in the form, and this is sent to the demultiplexing unit ex 3 08.
  • the mobile phone ex 1 1 5 uses the audio input unit ex20 5 to collect the audio collected by the camera unit ex 2 0 3 as digital audio data via the audio processing unit ex 3 0 5. Send to demultiplexer ex3 0 8.
  • the demultiplexing unit ex3 0 8 multiplexes the encoded image data supplied from the image encoding unit ex 3 12 and the audio data supplied from the audio processing unit ex 3 0 5 by a predetermined method, and obtains the result.
  • the multiplexed data is subjected to spectrum spreading processing by the modulation / demodulation circuit unit ex 3 0 6, digital digital conversion processing and frequency conversion processing by the transmission / reception circuit unit ex 3 0 1, and then via the antenna ex 2 0 1 Send.
  • the received data received from the base station ex1 1 0 via the antenna ex 2 0 1 is speculated by the modulation / demodulation circuit unit ex3 0 6
  • the traffic is despread, and the resulting multiplexed data is sent to the demultiplexer ex 3 0 8.
  • the demultiplexing unit ex3 0 8 separates the multiplexed data to generate a bit stream and audio of the image data.
  • the encoded image data is supplied to the image decoding unit ex3 0 9 via the synchronization bus ex3 1 3 and the audio data is supplied to the audio processing unit ex 3 0 5 divided into data bitstreams.
  • the image decoding unit ex 309 is configured to include the image decoding device described in the present invention, and the bit stream of the image data corresponds to the encoding method described in the above embodiment.
  • Playback by decoding with the decoding method Image data is generated and supplied to the display unit ex 2 0 2 via the LCD control unit ex 3 0 2, thereby displaying, for example, moving image data included in the moving image file linked to the homepage.
  • 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.
  • the present invention is not limited to the above system, and recently, digital broadcasting by satellite and terrestrial has become a hot topic.
  • at least the image code of the above embodiment is applied to a digital broadcasting system.
  • Either an encoding device or an image decoding device can be incorporated.
  • 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 is used to decode the bitstream and play it back.
  • the image decoding apparatus shown in the above embodiment is also used in the playback apparatus ex 4 0 3 that reads and decodes the bitstream recorded on the storage medium ex 4 0 2 such as a recording medium such as CD 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.
  • an image decoding device may be incorporated in the television instead of the set top box.
  • the car ex 4 1 2 with the antenna ex 4 1 1 receives signals from the satellite ex 4 1 0 or the base station ex 1 0 7 etc. and the car ex 4 1 2 has car navigation ex 4 1 3 etc.
  • the display device It is also possible to reproduce the image.
  • 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 ex 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 the SD card ex 4 2 2 is played back and the monitor ex 4 0 8 can be displayed.
  • the configuration of the car navigation ex4 1 3 excludes, for example, the camera unit ex 2 0 3, the camera interface unit ex 3 0 3, and the image encoding unit e X 3 1 2 from the configuration shown in FIG.
  • the configuration can be considered, and the same can be considered for the computer ex1 1 1 and the television (receiver) ex40 1.
  • the mobile phone ex 1 1 4 and the like have three types of terminals: a transmission 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 shown in the above embodiment can be used in any of the above-described apparatus (1) and system, and as a result, described in the above embodiment. An effect can be obtained.
  • An image encoding apparatus is provided in a personal computer having a communication function, a PDA, a digital broadcasting station, a mobile phone, and the like. It is useful as an image encoding device.
  • 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.

Description

明 細 書 動きべク トル計算方法 技術分野
本発明は、動画像の符号化方法および復号化方法に関するものであり、 特に既に符号化済みの表示時間順で前方にある複数のピクチャもしくは 表示時間順で後方にある複数のピクチャもしくは表示時間順で前方およ び後方の両方にある複数のピクチャを参照して予測符号化を行う方法に 関するものである。 背景技術
一般に動画像の符号化では、 時間方向および空間方向の冗長性を削減 することによって情報量の圧縮を行う。 そこで時間的な冗長性の削減を 目的とするピクチャ間予測符号化では、 前方または後方のピクチャを参 照してプロック単位で動きの検出および動き補償を行い、 得られた予測 画像と現在のピクチャとの差分値に対して符号化を行う。
現在標準化中の動画像符号化方法である H . 2 6 Lでは、 ピクチャ内 予測符号化をのみを行うピクチャ ( I ピクチャ)、および 1 枚のピクチャ を参照してピクチャ間予測符号化を行うピクチャ (以下、 Pピクチャ)、 さらに表示時間順で前方にある 2枚のピクチャもしくは表示時間順で後 方にある 2枚のピクチャもしくは表示時間順で前方および後方にあるそ れぞれ 1 枚ずつのピクチャを参照してピクチャ間予測符号化を行うピク チヤ (以下、 Bピクチャ) が提案されている。
図 1 は上記の動画像符号化方法における各ピクチャと、 それによつて 参照されるピクチャとの参照関係の例を示す図である。 ピクチャ I 1 は参照ピクチャを持たずピクチャ内予測符号化を行い、 ピクチャ P 1 0は表示時間順で前方にある P 7を参照しピクチャ間予測 符号化を行っている。 また、 ピクチャ B 6は表示時間順で前方にある 2 つのピクチャを参照し、 ピクチャ B 1 2は表示時間順で後方にある 2つ のピクチャを参照し、 ピクチャ B 1 8は表示時間順で前方および後方に あるそれぞれ 1 枚ずつのピクチャを参照しピクチャ間予測符号化を行つ ている。
表示時間順で前方および後方にあるそれぞれ 1枚ずつのピクチャを参 照しピクチャ間予測符号化を行う 2方向予測の 1 つの予測モードとして 直接モードがある。 直接モードでは符号化対象のブロックに直接には動 きべク トルを持たせず、 表示時間順で近傍にある符号化済みピクチャ内 の同じ位置にあるブロックの動きべク トルを参照することによって、 実 際に動き補償を行うための 2つの動きベク トルを算出し予測画像を作成 する。
図 2は直接モードにおいて動きべク トルを决定するために参照した符 号化済みのピクチャが、 表示時間順で前方にある 1 枚のピクチャのみを 參照する動きべク トルを持っていた場合の例を示したものである。 同図 において、垂直方向の線分で示す「 P Jはピクチャタイプとは関係なく、 単なるピクチャを示している。 同図では、 例えば、 ピクチャ P 8 3が現 在符号化の対象とされているピクチャであり ピクチャ P 8 2およびピク チヤ P 8 4を参照ピクチャとして 2方向予測を行う。 このピクチャ P 8 3において符号化を行うブロックをブロック M B 8 1 とすると、 ブロッ ク M B 8 1 の動きべク トルは、 符号化済みの後方参照ピクチャであるピ クチャ P 8 4の同じ位置にあるブロック M B 8 2の持つ動きべク トルを 用いて決定される。 このブロック M B 8 2は動きベク トルとして動きべ ク トル M V 8 1 の 1 つだけを有するため、 求める 2つの動きべク トル M V 8 2および動きベク トル MV 8 3は式 1 ( a ) および ( b ) に基づい て直接、 動きべク トル M V 8 1 および時間間隔 T R 8 1 に対してスケー リングを適用することによって算出される。
M V 8 2 =MV 8 1 /T R 8 1 X T R 8 2 ■■ ·.式 1 ( a )
MV 8 3 =— MV 8 1 ZT R 8 1 X T R 8 3 …-式 1
( b )
なお、 このとき時間間隔 T R 8 1 はピクチャ P 8 4からピクチャ P 8 2まで、 つまり、 ピクチャ P 84から、 動きべク 卜ル MV 8 1 が指し示 す参照ピクチャまでの時間の間隔を示している。 さらに、 時間間隔 T R 8 2は、 ピクチャ Ρ 8 3から、 動きベク トル MV 8 2が指し示す参照ピ クチャまでの時間の間隔を示している。 さらに、 時間間隔 T R 8 3は、 ピクチャ Ρ 8 3から、 動きべク トル MV 8 3が指し示す参照ピクチャま での時間の間隔を示している。
また、 直接モードには、 すでに説明した時間的予測と、 空間的予測と の 2つの方法があるが、 以下では、 空間的予測について説明する。 直接 モー ドの空間的予測では、 例えば、 1 6画素 X 1 6画素で構成されるマ クロブロックを単位として符号化を行い、 符号化対象マクロブロックの 周辺 3マクロブロックの動きべク トルのうち、 符号化対象ピクチヤから 表示時間順で最も近い距離にあるピクチャを参照して求められた動きべ ク トルの 1 つを選択し、 選択された動きべク トルを符号化対象マクロブ ロックの動きべク トルとする。 3つの動きべク トルがすべて同じピクチ ャを参照している場合はそれらの中央値を選択する。 3つのうち 2つが 符号化対象ピクチャから表示時間順で最も近い距離にあるピクチャを参 照している場合には残りの 1 つを 「 0 J べク トルとみなして、 それらの 中央値を選択する。 また、 1 つだけが符号化対象ピクチヤから表示時間 順で最も近い距離にあるピクチャを参照している場合にはその動きべク トルを選択する。 このように直接モードでは、 符号化対象のマクロプロ ックに対して動きべク トルを符号化せず、 他のマクロブロックが有する 動きべク トルを用いて動き予測を行う。
図 3 ( a ) は、 従来の直接モードの空間的予測方法を用い、 Bピクチ ャにおいて表示時間順で前方のピクチャを参照する場合の動きベク トル 予測方法の一例を示す図である。 同図において、 Pは Pピクチヤ、 Bは Bピクチャを示し、 右側 4ピクチャのピクチャタイプに付されている数 字は各ピクチャが符号化された順番を示している。 ここでは、 ピクチャ B 4において斜線を付したマクロブロックが符号化対象となっているも のとする。 符号化対象マクロブロックの動きべク トルを、 直接モードの 空間的予測方法を用いて計算する場合、 まず、 符号化対象マクロブロッ クの周辺から、 3つの符号化済みのマクロブロック (破線部) を選択す る。 ここでは、 周辺 3マクロブロックの選択方法は説明を省略する。 符 号化済みの 3マクロブロックの動きべク トルはすでに計算され保持され ている。 この動きべク トルは同一ピクチャ中のマクロブロックであって も、 マクロブロックごとに異なるピクチャを参照して求められている場 合がある。 この周辺 3マクロブロックが、 それぞれどのピクチャを参照 したかは、 各マクロブロックを符号化する際に用いた参照ピクチャの参 照インデックスによって知ることができる。 参照インデックスについて の詳細は後述する。
さて、 例えば、 図 3 ( a ) に示した符号化対象マクロブロックに対し て、 周辺 3マクロブロックが選択され、 各符号化済みマクロブロックの 動きべク トルがそれぞれ動きべク トル a、 動きベク トル bおよび動きべ ク トル cであったとする。 これにおいて、 動きべク トル a と動きべク ト ル b とはピクチャ番号 1 1 が Γ 1 1 Jの Pピクチャを参照して求められ、 動きベク トル cはピクチャ番号 1 1 が 「 8」 の Pピクチヤを参照して求 められていたとする。 この場合、 これらの動きベク トル a 、 bおよび c のうち、 符号化対象ピクチャから表示時間順で最も近い距離にあるピク チヤを参照した動きべク トルである動きべク トル a、 bの 2つが符号化 対象マクロブロックの動きベク トルの候補となる。 この場合、 動きべク トル cを 「 0 J とみなし、 動きベク トル a、 動きベク トル bおよび動き べク トル cの 3つのうちの中央値を選択し、 符号化対象マクロブロック の動きべク トルとする。
ただし、 M P E G - 4などの符号化方式では、 ピクチャ内の各マクロ ブロックを、インタ レースを行うフィールド構造で符号化してもよいし、 インタ レースを行わないフレーム構造で符号化を行ってもよい。従って、 M P E G - 4などでは、 参照フレーム 1 フレーム中には、 フィールド構 造で符号化されたマクロブロックと、 フレーム構造で符号化されたマク ロブロックとが混在する場合が生じる。 このような場合でも、 符号化対 象マクロブロックの周辺 3マクロブロックがいずれも符号化対象マクロ ブロックと同じ構造で符号化されていれば、 前述の直接モードの空間的 予測方法を用いて問題なく符号化対象マクロブロックの動きベク トルを 1 つ導出することができる。 すなわち、 フレーム構造で符号化される符 号化対象マクロブロックに対して、 周辺 3マクロブロックもまたフレー ム構造で符号化されている場合、 または、 フィールド構造で符号化され る符号化対象マクロブロックに対して、 周辺 3マクロブロックもまたフ ィ一ルド構造で符号化されている場合である。 前者の場合は、 すでに説 明した通りである。 また、 後者の場合は、 符号化対象マクロブロックの トップフィールドに対応しては、 周辺 3マクロブロックの トップフィー ルドに対応した 3つの動きベク トルを用いることにより、 また、 符号化 対象マクロブロックのボトムフィールドに対応しては、 周辺 3マクロブ ロックのボトムフィールドに対応した 3つの動きベク トルを用いること により、 トップフィールドとボトムフィールドとのそれぞれについて、 前述の方法で、 符号化対象マクロブロックの動きべク トルを導出するこ とができる。
しかしながら、 直接モードの時間的予測の場合、 ピクチャ間予測符号 化を行うブロックが直接モードによって動き補償を行う際に、 動きべク トルを参照されるブロックが図 1 の B 6のような Bピクチヤに属してい たとき、 前記ブロックは複数の動きべク トルを有するため式 1 に基づい たスケーリングによる動きベク トルの算出を直接適用することができな いという問題が発生する。 また、 動きベク トルの算出後に除算演算を行 うことから、 動きベク トル値の精度 (例えば 1 Z 2画素や 1 4画素精 度) が、 予め定められた精度に一致しない場合が生じる。
また、 空間的予測の場合、 符号化対象マクロブロックと周辺マクロブ 口ックのいずれかが異なる構造で符号化されている場合、 符号化対象マ クロブロックをフィールド構造およびフ レーム構造のいずれの構造で符 号化するかは規定されておらず、 また、 フィール ド構造で符号化された ものとフレーム構造で符号化されたものとが混在するような周辺マク口 ブロックの動きべク トルのうちから、 符号化対象マクロブロックの動き べク トルを選択する方法も規定されていない。
本発明の第 1 の目的は、 動きべク トルを参照されるプロックが Bピク チヤに属するブロックである場合でも、 直接モードにおける精度の良い 時間方向の動きベク トル予測方法を提供することである。
また、 本発明の第 2の目的は、 動きべク トルを参照されるブロックが B ピクチャに属するブロックである場合でも、 直接モードにおける精度の 良い空間方向の動きべク トル予測方法を提供することである。 発明の開示
上記目的を達成するために本発明の動きべク トル計算方法は、 複数の ピクチャを参照してピクチャ間予測を行う際の動きべク トルの計算方法 であって、 表示時間順で前方にある複数のピクチャもしくは表示時間順 で後方にある複数のピクチャもしくは表示時間順で前方および後方の両 方にある複数のピクチャを参照することができる参照ステップと、 ピク チヤ間予測を行うブロックが属するピクチャとは別のピクチャの前記ブ ロックと同じ位置にあるブロックの動きべク トルを参照して、 前記ピク チヤ間予測を行うブロックの動き補償を行う場合に、 前記動きべク トル を参照されるブロックに対してすでに求められている動きべク トルのう ち、 所定の条件を満足する少なく とも 1 つの動きべク トルを用いて前記 ピクチャ間予測を行うブロックの動きベク トルを計算する動き補償ステ ップとを含む。 従って、 本発明の動きベク トル計算方法によると、 ピク チヤ間予測符号化を行うプロックが符号化済みの別のピクチャの同じ位 置にあるブロックの動きベク トルを参照して動き補償を行う際に、 動き べク トルを参照されるブロックが複数の動きべク トルを有していた場合 前記複数の動きべク トルからスケーリングに用いるための 1 つの動きべ ク トルを生成することによって、 前記動き補償を矛盾無く実現すること を可能とする。
また、 本発明の前記動きベク トル計算方法において、 前記参照ステツ プでは、 表示時間順で前方にあるピクチャを優先して識別番号を昇順で 付与された第 1 のピクチャの並びと、 表示時間順で後方にあるピクチャ を優先して識別番号を昇順で付与された第 2のピクチャの並びとから、 それぞれ 1 つのピクチャを参照することができ、 前記動き補償ステツプ では、 前記動きべク トルを参照されるブロックにおいて前記第 1 の並び にあるピクチャを参照する動きべク トルを用いるとしてもよい。 これに おいて、 動きベク トルを参照されるプロックが前記 Bピクチャに属する ブロックである場合でも、 前記ピクチャ間予測を行うブロックの動き補 償を行う場合に用いるべき 1 つを、 前記第 1 の並びにあるピクチャを参 照する動きべク トルと定め、 スケーリングによる動きべク トルの算出を 適用することができる。
さらに、 本発明の他の動きベク トル計算方法は、 記憶部に格納されて いる複数の符号化済ピクチャから符号化対象ピクチャ上のブロックを動 き補償により求めるときに参照する第 1 の参照ピクチャと第 2の参照ピ クチャのうち少なく とも一方の参照ピクチャを選択するときに用いる第 1 参照ィンデックスまたは第 2参照ィンデックスを前記符号化済ピクチ ャに対して付与する付与ステップと、 前記符号化対象ピクチャ上のプロ ックを動き補償するときに、 前記符号化対象ピクチャ上のブロックの周 囲にある周辺ブロックの動きベク トルのうち第 1参照インデックスを有 する動きべク トルが複数あるとき、 それらの中央値を示す動きべク トル を選択する第 1 選択ステップと、 前記第 1選択ステップで選択された動 きべク トルを用いて前記符号化対象ピクチャより表示時間順で、 前方に あるピクチャまたは後方にあるピクチャまたは前方と後方にあるピクチ ャを参照する動きべク トルを導出する導出ステップとを含む。 従って、 前記符号化対象ピクチャ上のブロックを動き補償するときに、 前記符号 化対象ピクチャ上のブロックの周囲にある周辺ブロックの動きべク トル のうち第 1参照インデックスを有する動きべク トルが複数あるとき、 そ れらの中央値を示す動きべク トルを用いて、 前記符号化対象ピクチャ上 のブロックの動きべク トルを導出することができる。
また、 本発明の前記動きベク トル計算方法において、 前記第 1選択ス テツプでは、 第 1 参照インデックスを有する動きベク トルのうち、 さら に、 第 1参照ィンデックスの値が最小のものの中央値を示す動きべク 卜 ルを選択すると してもよい。
なお、 この明細書は、 前の日本国特許出願 Γ特願 2 00 2 - 1 1 8 5 9 8 J、「特願 2 0 0 2 - 1 2 1 0 5 3 J、「待願 2 0 0 2 - 1 5 6 2 6 6」、 Γ特願 2 0 0 2 - 1 7 7 8 8 9」、 Γ特願 20 0 2 - 1 9 3 0 27」、 Γ特 願 2 00 2 - 2 0 47 1 3 J、 Γ特願 2 0 02 - 2 6 2 1 5 "I J、 I "特願 2 0 0 2 - 2 9 0 5 4 2」、!"特願 2 00 2— 3 2 3 0 9 6 J、米国仮出願「 6 0/ 3 7 8 6 4 3 J および 「 6 0ノ 3 7 8 9 54 J の内容を取り込む。 図面の簡単な説明
図 1 は、従来例のピクチャの参照関係を説明するための模式図である。 図 2は、 従来例の直接モードの動作を説明するための模式図である。 図 3 ( a ) は、 従来の直接モードの空間的予測方法を用い、 Bピクチ ャにおいて時間的前方ピクチャを参照する場合の動きベク トル予測方法 の一例を示す図である。
図 3 ( b ) は、 各符号化対象ピクチャに作成される参照リス トの一例 を示す図である。
図 4は、 ピクチャ番号と参照インデックスの説明図である。
図 5は、 従来の画像符号化装置による画像符号化信号フォーマツ トの 概念を示す図である。
図 6は、 本発明の実施の形態 1 および実施の形態 2による符号化の動 作を説明するためのブロック図である。
図 7は、 直接モードにおいて動きべク トルを参照されるブロックが表 示時間順で前方を参照する 2つの動きベク トルを持っていた場合の動作 を説明するための模式図である。
図 8は、 表示の順番および符号化の順番におけるピクチャの参照関係 を比較するための模式図である。 図 9は、 直接モードにおいて動きべク トルを参照されるブロックが表 示時間順で後方を参照する 2つの動きべク トルを持っていた場合の動作 を説明するための模式図である。
図 1 0は、 表示の順番および符号化の順番におけるピクチャの参照関 係を比較するための模式図である。
図 1 1 は、 本発明の実施の形態 5および実施の形態 6による復号化の 動作を説明するためのブロック図である。
図 1 2は、 直接モードにおいて動きべク 卜ルを参照されるブロックが 表示時間順で前方を参照する 2つの動きべク。トルを持っていた場合の動 作を説明するための模式図である。
図 1 3は、 直接モードにおいて動きベク トルを参照されるブロックが 表示時間順で後方を参照する 2つの動きベク トルを持っていた場合の動 作を説明するための模式図である。
図 1 4は、 直接モードにおいて動きベク トルを参照されるブロックが 表示時間順で後方を参照する 2つの動きべク トルを持っていた場合の動 作を説明するための模式図である。
図 1 5は、 直接モードにおいて動きベク トルを参照されるブロックが 表示時間順で前方を参照する 2つの動きベク トルを持っていた場合の動 作を説明するための模式図である。
図 1 6は、 直接モードにおいて動きべク トルを参照されるブロックが 表示時間順で前方を参照する 2つの動きベク トルを持っていた場合の動 作を説明するための模式図である。
図 1 7は、 直接モードにおいて動きベク トルを参照されるブロックが 表示時間順で前方を参照する 2つの動きべク 卜ルを持っていた場合の動 作を説明するための模式図である。
図 1 8は、 直接モー ドにおいて動きベク トルを参照されるブロックが 表示時間順で前方を参照する 2つの動きベク トルを持っていた場合の動 作を説明するための模式図である。
図 1 9は、 直接モー ドにおいて動きベク トルを参照されるブロックが 表示時間順で後方を参照する 2つの動きベク トルを持っていた場合の動 作を説明するための模式図である。
図 2 0は、 直接モー ドにおいて動きべク トルを参照されるブロックが 表示時間順で後方を参照する 2つの動きベク トルを持っていた場合の動 作を説明するための模式図である。
図 2 1 は、 直接モードにおいて動きべク トルを参照されるブロックが 表示時間順で後方を参照する 2つの動きべク トルを持っていた場合の動 作を説明するための模式図である。
図 2 2は、 直接モードにおいて動きべク トルを参照されるブロックが 表示時間順で後方を参照する 1 つの動きべク トルを持っていた場合の動 作を説明するための模式図である。
図 2 3は、 直接モードにおいて周辺ブロックの動きべク トルを参照す る場合の動作を説明するための模式図である。
図 2 4は、 符号化列を示す図である。
図 2 5は、 符号化対象ブロックと符号化対象ブロックの周囲のブロッ クとの関係を示す図である。
図 2 6は、 符号化対象ブロックの周囲のブロックが有する動きべク 卜 ルを示す図である。
図 2 7は、 符号化対象ブロックの周囲のブロックが有する動きべク 卜 ルを示す図である。
図 2 8は、 符号化対象ブロックの周囲のブロックが有する動きべク ト ルを示す図である。
図 2 9は、 符号化対象ブロックの周囲のブロックが有する動きべク ト ルを示す図である。
図 3 0は、 符号化対象ブロックの周囲のブロックが有する動きべク ト ルを示す図である。
図 3 1 は、 符号化対象ブロックの周囲のブロックが有する動きべク ト ルを示す図である。
図 3 2は、 符号化対象ブロックの周囲のブロックが有する動きべク ト ルを示す図である。
図 3 3は、 符号化対象ブロックの周囲のブロックが有する動きべク ト ルを示す図である。
図 3 4は、 直接モードにおいて使用する動きベク トルを決定する手順 を示す図である。
図 3 5は、 符号化対象ブロックと符号化対象ブロックの周囲のブロッ クとの関係を示す図である。
図 3 6は、 参照インデックスの値によって符号化対象ブロックの動き べク トルを決定する手順を示す図である。
図 3 7は、 長時間メモリ に保存されているピクチャを參照する動きべ ク トルカ《 1 つだけの場合の直接モードにおける 2方向予測を示す図であ る。
図 3 8は、 長時間メモリ に保存されているピクチャを参照する動きべ ク トルが 2つある場合の直接モードにおける 2方向予測を示す図である, 図 3 9は、 動きべク トル計算方法の処理の流れを示す図である。
図 4 0は、 本発明の実施形態 1 1 に係る動画像符号化装置 1 0 0の構 成を示すブロック図である。
図 4 1 ( a ) は、 動画像符号化装置 1 0 0に時間順にピクチャ単位で 入力されるフ レームの順序を示す図である。
図 4 1 ( b ) は、 図 4 1 ( a ) に示したフ レームの並びを符号化の順 に並び替えた場合の順序を示す図である。
図 4 2は、 第 1 の実施の形態を説明するための、 参照ピクチャリス ト の構造を示す図である。
図 4 3は、 ( a ) は、 フィールド構造で符号化されるマクロブロックべ ァとフ レーム構造で符号化されるマクロブロックペアとが混在する場合 の直接モード空間的予測方法を用いた動きべク トル計算手順の一例を示 すフローチヤ一トである。
図 4 3 ( b ) は、 符号化対象マクロブロックペアがフ レーム構造で符 号化される場合において本発明が適用される周辺マクロブロックペアの 配置の一例を示す図である。
図 4 3 ( c ) は、 符号化対象マクロブロックペアがフィール ド構造で 符号化される場合において本発明が適用される周辺マクロブロックペア の配置の一例を示す図である。
図 4 4は、 フ レーム構造で符号化する場合のマクロブロックペアのデ —タ構成とフィール ド構造で符号化する場合のマクロブロックペアのデ ータ構成とを示す図である。
図 4 5は、 図 4 3に示したステップ S 3 0 2における、 より詳細な処 理手順を示すフローチヤ一トである。
図 4 6は、 参照フィールドインデックスと参照フレームインデックス との関係を示す関係表示図である。
図 4 7は、 図 4 3に示したステップ S 3 0 3における、 より詳細な処 理手順を示すフローチヤ一卜である。
図 4 8は、 第 1 の実施の形態を説明するための、 符号化対象マクロブ ロックペアと周辺マクロブロックペアの位置関係を示す図である。
図 4 9は、 第 1 の実施の形態を説明するための、 符号化対象マクロブ ロックペアと周辺マクロブロックペアの位置関係を示す図である。 図 5 0は、 符号列生成部 1 0 4によって生成される符号列 7 0 0のデ ータ構成の一例を示す図である。
図 5 1 は、 図 5 0に示した符号列 7 0 0を復号化する動画像復号化装 置 8 0 0の構成を示すブロック図である。
図 5 2 ( a ) は、 記録媒体本体であるフレキシブルディスクの物理フ ォーマツ 卜の例を示す図である。
図 5 2 ( b ) は、 フレキシブルディスクの正面からみた外観、 断面構 造、 及びフレキシブルディスクを示す図である。
図 5 2 ( c ) は、 フレキシブルディスク F Dに上記プログラムの記録 再生を行うための構成を示す図である。
図 5 3は、 コンテンツ配信サービスを実現するコンテンツ供給システ 厶の全体構成を示すプロック図である。
図 5 4は、 携帯電話の外観の一例を示す図である。
図 5 5は、 携帯電話の構成を示すブロック図である。
図 5 6は、 上記実施の形態で示した符号化処理または復号化処理を行 う機器、 およびこの機器を用いたシステムを説明する図である。 発明を実施するための最良の形態
本発明は従来の技術の問題点を解決するものであり、 直接モードにお いて、 動きベク トルを参照するブロックが Bピクチャに属する場合でも 矛盾無く動き補償に用いる動きベク トルを決定することを可能とする動 画像の符号化方法および復号化方法を提案することを目的とする。 ここ で、 まず参照インデックスについて説明する。
図 3 ( b ) は、 各符号化対象ピクチャに作成される参照ピクチャ リス ト 1 0の一例を示す図である。 図 3 ( b ) に示す参照ピクチャリス 卜 1 0には、 1 つの Bピクチャを中心として、時間的にその前後に表示され、 その Bピクチャが参照可能な周辺ピクチャと、それらのピクチャタイプ、 ピクチャ番号 1 1 、 第 1参照インデックス 1 2および第 2参照インデッ クス 1 3が示されている。 ピクチャ番号 1 1 は、 例えば、 各ピクチャが 符号化された順序を示す番号である。 第 1参照インデックス 1 2は、 符 号化対象ピクチャに対する周辺ピクチャの相対的位置関係を示す第 1 の ィンデックスであって、 例えば主に符号化対象ピクチャが表示時間順で 前方のピクチャを参照する場合のインデックスと して用いられる。 この 第 1 参照イ ンデックス 1 2のリス トは、 Γ参照イ ンデックスリス ト 0 ( I i stO)」 または Γ第 1 参照インデックスリス ト」 と呼ばれる。 また、 参照インデックスは相対インデックスとも呼ばれる。 図 3 ( b ) の参照 ピクチャリス 卜 1 0では、 第 1参照インデックス 1 2の値には、 まず、 符号化対象ピクチャより前の表示時刻を持つ参照ピクチャに対し、 符号 化対象ピクチャに表示時間順で近い順より 「 0」 から 「 1 」 ずつ繰り上 がる整数値が割り当てられる。 符号化対象ピクチャよリ前の表示時刻を 持つ参照ピクチャすベてに対して 「0」 から 「 1 」 ずつ繰り上がる値が 割リ当てられたら、 次に符号化対象ピクチャよリ後の表示時刻を持つ参 照ピクチャに対し、 符号化対象ピクチャに表示時間順で近い順から続き の値が割リ当てられる。
第 2参照インデックス 1 3は、 符号化対象ピクチャに対する周辺ピク チヤの相対的位置関係を示す第 2のインデックスであって、 例えば主に 符号化対象ピクチャが表示時間順で後方のピクチャを参照する場合のィ ンデックスと して用いられる。 この第 2参照インデックス 1 3のリス 卜 は、 「参照インデックスリス ト 1 ( I i st 1 )」 または Γ第 2参照インデック スリス ト」 と呼ばれる。 第 2参照インデックス 1 3の値には、 まず、 符 号化対象ピクチャより後の表示時刻を持つ参照ピクチャに対し、 符号化 対象ピクチャに表示時間順で近い順よリ、 Γ 0」 から Γ 1 j ずつ繰り上が 03
る整数値が割リ当てられる。 符号化対象よリ後の表示時刻を持つ参照ピ クチャすべてに対し 「 0 J から 「 1 」 ずつ繰り上がる値が割り当てられ たら、 次に符号化対象ピクチャよリ前の表示時刻を持つ参照ピクチャに 対し、 符号化対象ピクチャに表示時間順で近い順から続きの値が割リ当 てられる。 従って、 この参照ピクチャリス ト 1 0をみれば、 第 1 参照ィ ンデックス 1 2、 第 2参照インデックス 1 3は、 参照インデックスの値 が小さい参照ピクチャほど符号化対象ピクチャに表示時間順で近接して いることがわかる。 以上では、 参照インデックスの初期状態での番号の 割リ当て方について説明したが、 参照ィンデックスの番号の割リ当て方 はピクチャ単位やスライス単位で変更することが可能である。 参照イン デックスの番号の割り当て方は、 例えば、 表示時間順で離れたピクチャ に対して小さい番号を割リ当てることもできるが、 そのような参照ィン デックスは、 例えば、 表示時間順で離れたピクチャを参照する方が、 符 号化効率が向上するような場合に用いられる。 すなわち、 ブロック中の 参照インデックスは可変長符号語により表現され、 値が小さいほど短い 符号長のコ一ドが割リ当てられているので、 参照することにより符号化 効率が向上するピクチャに対して、 より小さな参照インデックスを割り 当てることにより、 参照インデックスの符号量を減らし、 さらに符号化 効率の向上を行うものである。
図 4はピクチャ番号と参照インデックスの説明図である。 図 4は参照 ピクチャリス トの例を示しており、 中央の Bピクチャ (破線のもの) を 符号化する際に用いる参照ピクチャおよびそのピクチャ番号と参照イン デックスを示したものである。 図 4 ( A ) は、 図 3を用いて説明した、 初期状態での参照インデックスの割り当て方により、 参照インデックス を割り当てた場合を示している。
図 5は従来の画像符号化装置による画像符号化信号フォーマツ トの概 念図である。 Pictureは 1 ピクチャ分の符号化信号、 Headerはピクチャ 先頭に含まれるへッダ符号化信号、 Blockl は直接モードによるブロック の符号化信号、 B I ock2は直接モード以外の補間予測によるブロックの符 号化信号、 RidxO, Ridxl はそれぞれ第 1参照インデックスと第 2参照ィ ンデックス、 MV0, MV1 はそれぞれ第 1 動きべク トルと第 2動きべク トル を示す。 符号化プロック Block2では、補間に使用する 2つの参照ピクチ ャを示すため 2つの参照インデックス RidxO, Ridxl を符号化信号中にこ の順で有する。 また、 符号化ブロック B I ock2の第 1動きべク トル MV0 と、第 2動きべク トル MV1 とは符号化ブロック Block2の符号化信号内に この順で符号化される。 参照インデックス RidxO, Ridxl のいずれを使用 するかは Pr edTypeにより判断することができる。 また、第 1動きべク 卜 ル MV0が参照するピクチャ (第 1参照ピクチャ) を第 1 参照インデック ス RidxOで示し、 第 2動きべク トル MV1 が参照するピクチャ (第 2参照 ピクチャ) を第 2参照インデックス Ridxl で示す。 例えば、 動きべク ト ル醫 と MV1 の 2方向でピクチャを参照することが示される場佘は
RidxOと Ridxl が用いられ、 動きべク トル MV0または MV1 のいずれか 1 方向でピクチャを参照することが示される場合は、 その動きべク トルに 応じた参照インデックスである R i dxOまたは R ί dx1 が用いられ、 直接モ ードが示されている場合は RidxO、 Ridxl ともに用いられない。第 1 参照 ピクチャは、 第 1参照インデックスにより指定され、 一般的には符号化 対象ピクチャより前の表示時刻を持つピクチャであり、 第 2参照ピクチ ャは、 第 2参照インデックスにより指定され、 一般的には符号化対象ピ クチャより後の表示時刻を持つピクチャである。 ただし、 図 4の参照ィ ンデックスの付与方法例からわかるように、 第 1参照ピクチャが符号化 対象ピクチャより後の表示時刻を持つピクチャであり、 第 2参照ピクチ ャが符号化対象ピクチャより前の表示時刻を持つピクチャである場合も ある。第 1参照インデックス R i dxOは、 ブロック B l ock2の第 1 動きべク トル MV0が参照した第 1参照ピクチャを示す参照インデックスであり、 第 2参照インデックス R i dx 1 は、 ブロック B I ock2の第 2動きべク トル V1 が参照した第 2参照ピクチャを示す参照ィンデックスである。
一方、 符号化信号中のバッファ制御信号 (図 5 Heade r内の RPSL) を 用いて明示的に指示することにより、 参照ィンデックスに対する参照ピ クチャの割り当てを任意に変更することができる。 この割り当ての変更 により、 第 2参照インデック が 「 0」 の参照ピクチャを任意の参照ピ クチャにすることも可能で、例えば、図 4 (B)に示すようにピクチャ番号 に対する参照インデックスの割り当てを変更することができる。
このように、 参照インデックスに対する参照ピクチャの割り当てを任 意に変更することができるため、 また、 この参照インデックスに対する 参照ピクチャの割り当ての変更は、 通常、 参照ピクチャとして選択する ことにより符号化効率が高くなるピクチャに対してより小さい参照ィン デックスを割り当てるため、 動きベク トルが参照する参照ピクチャの参 照インデックスの値が一番小さくなる動きベク トルを直接モードにおい て使用する動きベク トルとすると符号化効率を高めることができる。 (実施の形態 1 )
本発明の実施の形態 1 の動画像符号化方法を図 6に示したブロック図 を用いて説明する。
符号化対象となる動画像は時間順にピクチャ単位でフレームメモリ 1 0 1 に入力され、 さらに符号化が行われる順に並び替えられる。 各々の ピクチャはプロックと呼ばれる、 例えば水平 1 6 X垂直 1 6画素のグル ープに分割され、 ブロック単位で以降の処理が行われる。
フ レームメモリ 1 0 1から読み出されたブロックは動きべク トル検出 部 1 0 6に入力される。 ここではフ レームメモリ 1 0 5に蓄積されてい る符号化済みのピクチャを復号化した画像を参照ピクチャとして用いて 符号化対象と しているブロックの動きべク トル検出を行う。 このときモ —ド選択部 1 0 7では、 動きベク トル検出部 1 0 6で得られた動きべク トルや、 動きべク トル記憶部 1 0 8に記憶されている符号化済みのピク チヤで用いた動きべク トルを参照しつつ、最適な予測モー ドを決定する。 モード選択部 1 0 7で得られた予測モードとその予測モードで用いる動 きべク トルによって決定された予測画像が差分演算部 1 0 9に入力され. 符号化対象のブロックとの差分をとることにより予測残差画像が生成さ れ、 予測残差符号化部 1 0 2において符号化が行われる。 また、 モー ド 選択部 1 0 7で得られた予測モードで用いる動きベク トルは、 後のプロ ックゃピクチャの符号化で利用するために、 動きべク 卜ル記憶部 1 0 8 に記憶される。 以上の処理の流れは、 ピクチャ間予測符号化が選択され た場合の動作であつたが、 スィッチ 1 1 1 によってピクチャ内予測符号 化との切り替えがなされる。 最後に、 符号列生成部 1 0 3によって、 動 きべク トル等の制御情報および予測残差符号化部 1 0 2から出力される 画像情報等に対し、 可変長符号化を施し最終的に出力される符号列が生 成される。
以上符号化の流れの概要を示したが、 動きべク トル検出部 1 0 6およ びモード選択部 1 0 7における処理の詳細について以下で説明する。 動きベク トルの検出は、 ブロックごともしくはブロックを分割した領 域ごとに行われる。 符号化の対象としている画像に対して表示時間順で 前方および後方に位置する符号化済みのピクチャを参照ピクチャとし、 そのピクチャ内の探索領域において最適と予測される位置を示す動きべ ク トルおよび予測モードを決定することにより予測画像を作成する。 表示時間順で前方および後方にある 2枚のピクチャを参照し、 ピクチ ャ間予測符号化を行う 2方向予測の 1 つとして、 直接モードがある。 直 W
接モードでは符号化対象のブロックに、 直接には動きべク トルを持たせ ず、 表示時間順で近傍にある符号化済みピクチャ内の同じ位置にあるブ ロックの動きべク トルを参照することによって、 実際に動き補償を行う ための 2つの動きべク トルを算出し、 予測画像を作成する。
図 7は、 直接モードにおいて動きベク トルを決定するために参照した 符号化済みのブロックが、 表示時間順で前方にある 2枚のピクチャを参 照する 2つの動きベク トルを持っていた場合の動作を示したものである, ピクチャ P 2 3が現在符号化の対象としているピクチャであり、 ピクチ ャ P 2 2およぴピクチャ P 24を参照ピクチャとして 2方向予測を行う ものである。 符号化を行うブロックをブロック M B 2 1 とすると、 この とき必要とされる 2つの動きべク トルは符号化済みの後方参照ピクチャ (第 2参照インデックスで指定される第 2参照ピクチャ) であるピクチ P 24の同じ位置にあるブロック M B 2 2の持つ動きべク トルを用い て決定される。 このブロック M B 2 2は動きべク トルと して動きべク ト ル MV 2 1 および動きべク トル MV 2 2の 2つを有するため、 求める 2 つの動きべク トル MV 2 3および動きべク トル MV 24を式 1 と同様に 直接スケーリングを適用することによって算出することはできない。 そ こで式 2のように、 スケーリングを適用する動きべク トルと して動きべ ク トル MV—R E Fをブロック M B 2 2の持つ 2つの動きべク トルの平 均値から算出し、 その時の時間間隔 T R— R E Fを同様に平均値から算 出する。 そして、 式 3に基づいて動きベク トル MV— R E Fおよび時間 間隔 T R— R E Fに対してスケーリングを適用することによって動きべ ク トル MV 2 3および動きべク トル MV 24を算出する。 このとき時間 間隔 T R 2 1 はピクチャ P 24からピクチャ P 2 1 まで、 つまり動きべ ク トル M V 2 1 が参照するピクチャまでの時間の間隔を示し、 時間間隔 T R 2 2は動きべク トル M V 2 2が参照するピクチャまでの時間の間隔 を示している。 また、 時間間隔 T R 2 3は動きベク トル M V 2 3が参照 するピクチヤまでの時間の間隔を示し、 時間間隔 T R 2 4は動きべク 卜 ル M V 2 4が参照するピクチャまでの時間の間隔を示している。 これら のピクチャ間の時間間隔は、 例えば各ピクチャに付される表示時間や表 示順序を示す情報、 またはその情報の差に基づいて決定することができ る。 なお、 図 7の例では符号化の対象とするピクチャは隣のピクチャを 参照しているが、 隣でないピクチャを参照した場合でも同様に扱うこと が可能である。
M V_R E F = ( V 2 1 + M V 2 2 ) / 2 …'式 2 ( a )
T R_ R E F = ( T R 2 1 + T R 2 2 ) / 2 式 2
( b )
M V 2 3 = M V— R E F T R— R E F X T R 2 3 式 3
( a )
M V 2 4 = - M V_ R E F / T R_R E F X T R 2 4 式 3
( )
以上のように上記実施の形態では、 直接モードにおいて動きべク トル を参照されるブロックが表示時間順で前方にあるピクチャを参照する複 数の動きべク トルを有する場合に、 前記複数の動きべク トルを用いて 1 つの動きベク トルを生成し、 スケーリングを適用して実際に動き補償に 使用するための 2つの動きべク トルを決定することにより、 直接モード において動きベク トルを參照されるブロックが Bピクチャに属する場合 においても矛盾無く直接モードを用いたピクチャ間予測符号化を可能と する符号化方法を示した。
なお、 図 7における 2つの動きベク トル M V 2 3および動きベク トル M V 2 4を求める際に、 スケーリ ングを施す対象となる動きべク トル M V— R E Fおよび時間間隔 T R— R E Fを算出するために、 動きべク ト ル MV 2 1 と動きべク トル MV 2 2との平均値および時間間隔 T R 2 1 と時間間隔 T R 2 2との平均値をとる方法として、 式 2の替わりに式 4 を用いることも可能である。 まず、 式 4 ( a ) のように動きベク トル M V 2 1 に対して時間間隔が動きべク トル M V 2 2と同じになるようにス ケーリングを施し動きべク 卜ル MV 2 1 'を算出する。そして動きべク ト ル MV 2 1 ' と動きべク 卜 レ MV 2 2との平均をとることにより動きべ ク トル MV— R E Fが決定される。 このとき時間間隔 T R— R E Fは時 間間隔 T R 2 2をそのまま用いることになる。 なお、 動きベク トル M V 2 1 に対してスケーリングを施して動きべク トル M V 2 1 'とする替わ りに動きべク トル MV 2 2に対してスケーリングを施して動きべク 卜ル M V 2 2'とする場合も同様に扱うことが可能である。
MV 2 1 ' =M V 2 1 / T R 2 1 X T R 2 2 ■■■■式 4
( a )
M V_R E F = (MV 2 1 ' +M V 2 2 ) / 2 …'式 4
( b )
T R一 R E F = T R 2 2 …'式 4
( c )
なお、 図 7における 2つの動きべク トル MV 2 3および動きべク トル MV 24を算出する際に、 スケーリングを施す対象となる動きベク トル MV— R E Fおよび時間間隔 T R— R E Fと して、 式 2のように 2つの 動きべク トルの平均値を用いる替わりに、 式 5のように動きべク 卜ルを 参照するピクチャ P 2 4に対する時間間隔の短い方のピクチャ P 2 2を 参照する動きべク トル M V 2 2および時間間隔 T R 2 2を直接用いるこ とも可能である。 同様に、 式 6のように時間間隔の長い方のピクチャ P 2 1 を参照する動きべク トル M V 2 1 および時間間隔 T R 2 1 を動きべ ク トル MV— R E Fおよび時間間隔 T R— R E Fとして直接用いること も可能である。 この方法 より、 動きベク トルを参照されるピクチャ P 2 4に属するそれぞれのブロックは、 2つの動きべク トルのうちの片方 のみを記憶しておく ことで動き補償を実現することができるため、 符号 化装置における動きべク 卜ル記憶部の容量を小さく抑えることが可能と なる。
V_R E F = MV 2 2 …'式 5
( a )
T R— R E F = T R 2 2 …'式 5
( b )
MV_R E F =MV 2 1 …'式 6
( a )
T R一 R E F = T R 2 1 .■ ·■式 6
( b )
なお、 図 7における 2つの動きべク トル MV 2 3および動きべク トル MV 24を算出する際に、 スケーリ ングを施す対象となる動きべク トル MV_R E Fおよび時間間隔 T R— R E Fと して、 式 2のように 2つの 動きべク トルの平均値を用いる替わりに、 符号化される順番が先である ピクチャを参照する動きべク トルを直接用いることも可能である。 図 8 ( a ) は図 7 と同じように動画像と して表示される順番でのピクチャの 並び方における参照関係を示したものであり、 図 8 ( b ) では図 6のフ レームメモリ 1 0 1 において符号化される順番に並び替えられた一例を 示している。 なお、 ピクチャ P 2 3が直接モードによって符号化を行う ピクチャ、 ピクチャ P 24がそのときに動きべク トルを参照されるピク チヤを示している。 図 8 ( b ) のように並び替えたとき、 符号化される 順番が先であるピクチャを参照する動きベク トルを直接用いることから. 式 5のように動きベク トル MV— R E Fおよび時間間隔 T R— R E Fと して動きべク トル M V 2 2および時間間隔 T R 2 2が直接適用される。 同様に、 符号化される順番が後であるピクチャを参照する動きべク トル を直接用いることも可能である。 この場合は、 式 6のように動きべク ト ル MV— R E Fおよび時間間隔 T R— R E Fと して動きべク トル MV 2 1^3よび時間間隔 T R 2 1 が直接適用される。 この方法により、 動きべ ク トルを参照されるピクチャ P 24に属するそれぞれのブロックは、 2 つの動きベク トルのうちの片方のみを記憶しておく ことで動き補償を実 現することができるため、 符号化装置における動きべク トル記憶器の容 量を小さく抑えることが可能となる。
なお、 本実施の形態においては、 参照する動きべク トルに対してピク チヤ間の時間的距離を用いてスケ一リングすることにより、 直接モード において用いる動きべク トルを計算する場合について説明したが、 これ は参照する動きべク トルを定数倍して計算しても良い。 ここで、 定数倍 に使用される定数は、 複数ブロック単位または複数ピクチャ単位で符号 化または復号化する場合に、 変更可能と しても良い。
なお、 式 2 ( a ) または式 4 ( b ) において、 動きベク トル MV_R E Fを計算する際には、 式 2 ( a ) または式 4 ( b ) の右辺を計算した 後、 所定の動きベク トルの精度 (例えば、 1 Z 2画素精度の動きべク ト ルであれば、 0. 5画素単位の値) に丸めても良い。 動きベク トルの精 度としては、 1 Z 2画素精度に限るものではない。 またこの動きべク ト ルの精度は、 例えば、 ブロック単位、 ピクチャ単位、 シーケンス単位で 決定することができる。 また、 式 3 ( a )、 式 3 ( b )、 式 4 ( a ) にお いて、 動きべク トル MV 2 3、 動きべク トル MV 2 4、 動きべク トル M V 2 1 'を計算する際には、 式 3 ( a )、 式 3 ( b )、 式 4 ( a ) のお辺を 計算した後、 所定の動きべク トルの精度に丸めても良い。 (実施の形態 2 )
図 6に基づいた符号化処理の概要は実施の形態 1 と全く同等である。 こ こでは直接モードにおける 2方向予測の動作について図 9を用いてそ の詳細を説明する。
図 9は直接モードにおいて動きべク トルを決定するために参照したブ ロックが、 表示時間順で後方にある 2枚のピクチャを参照する 2つの動 きべク トルを持っていた場合の動作を示したものである。 ピクチャ P 4 3が現在符号化の対象としているピクチャであり ピクチャ P 4 2および ピクチャ P 4 4を参照ピクチャとして 2方向予測を行うものである。 符 号化を行うブロックをブロック M B 4 1 とすると、 このとき必要とされ る 2つの動きべク トルは符号化済みの後方参照ピクチャ (第 2参照イン デックスで指定される第 2参照ピクチャ) であるピクチャ P 4 4の同じ 位置にあるブロック M B 4 2の持つ動きべク トルを用いて決定される。 このブロック M B 4 2は動きべク トルと して動きべク トル M V 4 5およ び動きべク トル M V 4 6の 2つを有するため、 求める 2つの動きべク 卜 ル M V 4 3および動きべク トル M V 4 4を式 1 と同様に直接スケーリン グを適用することによって算出することはできない。 そこで式 7のよう に、 スケーリングを適用する動きべク トルとして動きべク トル M V— R E Fをブロック M B 4 2の持つ 2つの動きべク トルの平均値から決定し. その時の時間間隔 T R— R E Fを同様に平均値から決定する。 そして、 式 8に基づいて動きべク トル M V— R E Fおよび時間間隔 T R— R E F に対してスケーリングを適用することによって動きべク トル M V 4 3お よび動きべク トル M V 4 4を算出する。 このとき時間間隔 T R 4 5はピ クチャ P 4 4からピクチャ P 4 5まで、 つまり動きべク トル M V 4 5が 参照するピクチャまでの時間の間隔を示し、 時間間隔 T R 4 6は動きべ ク トゾレ MV 4 6が参照するピクチャまでの時間の間隔を示している。 ま た、 時間間隔 T R 4 3は動きベク トル M V 4 3が参照するピクチャまで の時間の間隔を示し、 時間間隔 T R 4 4は時間間隔 M V 4 4が参照する ピクチャまでの時間の間隔を示すものである。 これらのピクチャ間の時 間間隔は、 実施の形態 1 で説明したのと同様に、 例えば各ピクチャに付 される表示時間や表示順序を示す情報、 またはその情報の差に基づいて 決定することができる。 なお、 図 9の例では符号化の対象とするピクチ ャは隣のピクチャを参照しているが、 隣でないピクチャを参照した場合 でも同様に扱うことが可能である。
M V_R E F = (M V 4 5 +M V 4 6 ) / 2 …'式 7 ( a )
T R_R E F = ( T R 4 5 + T R 4 6 ) / 2. …'式 7
( b )
M V 4 3 = - M V_R E F / T R_R E F X T R 4 3 .. ·■式 8
( a )
M V 4 4 = M V_R E F/ T R_R E F X T R 4 4 …-式 8
( b )
以上のように上記実施の形態では、 直接モードにおいて動きべク トル を参照されるブロックが表示時間順で後方にあるピクチャを参照する複 数の動きべク トルを有する場合に、 前記複数の動きべク トルを用いて 1 つの動きベク トルを生成し、 スケーリングを適用して実際に動き補償に 使用するための 2つの動きべク トルを決定することにより、 直接モード において動きべク 卜ルを参照されるブロックが Bピクチャに属する場合 においても矛盾無く直接モードを用いたピクチャ間予測符号化を可能と する符号化方法を示した。
なお、 図 9における 2つの動きべク トル M V 4 3および動きべク トル M V 4 4を求める際に、 スケーリングを施す対象となる動きべク トル M V— R E Fおよび時間間隔 T R_R E Fを算出するために、 動きべク ト ル M V 4 5と動きベク トル M V 4 6との平均値および時間間隔 T R 4 5 と時間間隔 T R 4 6との平均値をとる方法と して、 式 7の替わりに式 9 を用いることも可能である。 まず、 式 9 ( a ) のように動きベク トル M V 4 6に対して時間間隔が動きべク トル M V 4 5と同じになるようにス ケ一リングを施し動きべク トル M V 4 6 'を算出する。そして動きべク ト ル M V 4 6 'と動きベク トル M V 4 5 との平均をとることにより動きべ ク トル M V— R E Fが決定される。 このとき時間間隔 T R— R E Fは時 間間隔 T R 4 1 をそのまま用いることになる。 なお、 動きベク トル M V 4 6に対してスケーリングを施して動きべク トル M V 4 6 ' とする替わ りに動きべク トル M V 4 5に対してスケーリングを施して動きべク トル M V 4 5 ' とする場合も同様に扱うことが可能である。
V 4 6 ' = M V 4 6 / T R 4 6 X T R 4 5 ■■■■式 9
( a )
M V__R E F = (M V 4 6 ' +M V 4 5 ) / 2. ·■ '.式 9
( b )
T R_R E F = T R 4 5 …'式 9
( c )
なお、 図 9における 2つの動きべク トル M V 4 3および動きべク トル MV 4 4を算出する際に、 スケーリングを施す対象となる動きベク トル MV— R E Fおよび時間間隔 T R— R E Fと して、 式 7のように 2つの 動きべク トルの平均値を用いる替わりに、 式 1 0のように動きべク トル を参照するピクチャ P 4 4に対して時間間隔の短い方のピクチャ P 4 5 を参照する動きべク トル M V 4 5および時間間隔 T R 4 5を直接用いる ことも可能である。 同様に、 式 1 1 のように時間間隔の長い方のピクチ ャ P 4 6を参照する動きベク トル M V 4 6および時間間隔 T R 4 6を動 きべク トル M V— R E Fおよび時間間隔 T R— R E Fと して直接用いる ことも可能である。 この方法により、 動きベク トルを参照されるピクチ ャ P 4 4に属するそれぞれのブロックは、 2つの動きべク トルのうちの 片方のみを記憶しておく ことで動き補償を実現することができるため、 符号化装置における動きべク トル記憶器の容量を小さく抑えることが可 能となる。
M V_R E F =M V 4 5 式 1 0
( a )
T R_R E F = T R 4 5 '…式 1 0 ( b )
M V_R E F =M V 4 6 ——式 1 1
( a )
T R_R E F = T R 4 6 ——式 1 1
( b )
なお、 図 9における 2つの動きベク トル M V 4 3および動きベク トル M V 4 4を算出する際に、 スケーリ ングを施す対象となる動きべク トル M V— R E Fおよび時間間隔 T R— R E Fとして、 式 7のように 2つの 動きべク トルの平均値を用いる替わりに、 符号化される順番が先である ピクチャを参照する動きべク トルを直接用いることも可能である。 図 1 0 ( a ) は図 9 と同じように動画像として表示される順番でのピクチャ の並び方における参照関係を示したものであり、 図 1 0 ( b ) では図 6 のフ レームメモリ 1 0 1 において符号化される順番に並び替えられた一 例を示している。 なお、 ピクチャ P 4 3が直接モー ドによって符号化を 行うピクチャ、 ピクチャ P 4 4がそのときに動きべク トルを参照される ピクチャを示している。 図 1 0 ( b ) のように並び替えたとき、 符号化 される順番が先であるピクチャを参照する動きベク トルを直接用いるこ とから、 式 1 1 のように動きベク トル MV_R E Fおよび時間間隔 T R — R E Fとして動きべク トル MV 4 6および時間間隔 T R 4 6が直接適 用される。 同様に、 符号化される順番が後であるピクチャを參照する動 きべク トルを直接用いることも可能である。 この場合は、 式 1 0のよう に動きべク トル MV— R E Fおよび時間間隔 T R— R E Fと して動きべ ク トル MV 4 5および時間間隔 T R 4 5が直接適用される。 この方法に より、 動きべク トルを参照されるピクチャ P 44に属するそれぞれのブ ロックは、 2つの動きべク トルのうちの片方のみを記憶しておく ことで 動き補償を実現することができるため、 符号化装置における動きべク ト ル記憶器の容量を小さく抑えることが可能となる。
なお、 直接モードにおいて動きべク トルを決定するために参照したピ クチャが表示時間順で後方にある 2枚のピクチヤを参照する 2つの動き べク トルを持っていた場合、 求める 2つの動きべク トル MV 4 3および 動きべク トル MV 4 4を「 0」と して動き補償を行うことも可能である。 この方法により、 動きベク トルを参照されるピクチャ P 44に属するそ れぞれのプロックは、 動きべク トルを記憶しておく必要が無いため符号 化装置における動きべク トル記憶器の容量を小さく抑えることが可能と なり、 さらに動きべク トル算出のための処理を省略することが可能とな る。
なお、 直接モードにおいて動きベク トルを決定するために参照したピ クチャが表示時間順で後方にある 2枚のピクチャを参照する 2つの動き ベク トルを持っていた場合、 動きベク トルの参照を禁止し、 直接モード 以外の予測符号化のみを適用させることも可能である。 図 9のピクチャ P 4 4のように表示時間順で後方にある 2枚のピクチャを参照する場合 は、 表示時間順で前方にあるピクチャとの相関が低い可能性が考えられ るため、 直接モードを禁止し別の予測方法を選択することにより、 より 正確な予測画像を生成することが可能となる。
なお、 本実施の形態においては、 参照する動きべク トルに対してピク チヤ間の時間的距離を用いてスケーリングすることにより、 直接モード において用いる動きべク トルを計算する場合について説明したが、 これ は参照する動きべク トルを定数倍して計算しても良い。 ここで、 定数倍 に使用される定数は、 複数ブロック単位または複数ピクチャ単位で符号 化または復号化する場合に、 変更可能としても良い。
なお、 式 7 ( a )、 式 9 ( b ) において、 動きべク トル MV一 R E Fを 計算する際には、 式 7 ( a )、 式 9 ( b ) の右辺を計算した後、 所定の動 きベク トルの精度に丸めても良い。 動きベク トルの精度としては、 1 Z 2画素、 1 / 3画素、 1 4画素精度等がある。 またこの動きベク トル の精度は、 例えば、 ブロック単位、 ピクチャ単位、 シーケンス単位で決 定することができる。 また、 式 8 ( a )、 式 8 ( b )、 式 9 ( a ) におい て、 動きべク トル MV 4 3、 動きべク トル MV 44、 動きべク トル MV 4 6 'を計算する際には、 式 8 ( a )、 式 8 ( b )、 式 9 ( a ) の右辺を計 算した後、 所定の動きべク トルの精度に丸めても良い。
(実施の形態 3 )
本発明の実施の形態 3の動画像復号化方法を図 1 1 に示したプロック 図を用いて説明する。 ただし、 実施の形態 1 の動画像符号化方法で生成 された符号列が入力されるものとする。
まず入力された符号列から符号列解析器 60 1 によって予測モード、 動きべク トル情報および予測残差符号化データ等の各種の情報が抽出さ れる。
予測モードや動きべク トル情報は予測モード 動きべク トル復号化部 6 0 8に対して出力され、 予測残差符号化データは予測残差復号化部 6 0 2に出力される。 予測モード/動きベク トル復号化部 6 0 8では、 予 測モー ドの復号化と、 その予測モー ドで用いる動きべク トルの復号化と を行う。 動きべク トルの復号化の際には、 動きベク トル記憶部 6 0 5に 記憶されている復号化済みの動きべク トルを利用する。 復号化された予 測モードおよび動きべク トルは、 動き補償復号部 6 0 4に対して出力さ れる。 また、 復号化された動きべク トルは、 後のブロックの動きべク 卜 ルの復号化で利用するために、動きべク トル記憶部 6 0 5に記憶される。 動き補償復号部 6 0 4ではフ レームメモリ 6 0 3に蓄積されている復号 化済みのピクチャの復号化画像を参照ピクチャとし、 入力された予測モ ードゃ動きべク トル情報に基づいて予測画像を生成する。 このようにし て生成された予測画像は加算演算部 6 0 6に入力され、 予測残差復号化 部 6 0 2において生成された予測残差画像との加算を行うことによリ復 号化画像が生成される。 以上の実施の形態はピクチャ間予測符号化がな されている符号列に対する動作であつたが、 スィッチ 6 0 7によってピ クチャ内予測符号化がなされている符号列に対する復号化処理との切り 替えがなされる。
以上復号化の流れの概要を示したが、 動き補償復号部 6 0 4における 処理の詳細について以下で説明する。
動きべク トル情報はブロックごともしくはブロックを分割した領域ご とに付加されている。 復号化の対象としているピクチャに対して表示時 間順で前方および後方に位置する復号化済みのピクチャを参照ピクチャ とし、 復号化された動きべク トルによってそのピクチャ内から動き補償 を行うための予測画像を作成する。
表示時間順で前方および後方にあるそれぞれ 1枚ずつのピクチャを参 照しピクチャ間予測符号化を行う 2方向予測の 1 つとして直接モードが ある。 直接モー ドでは復号化対象のブロックが動きべク トルを直接持た ない符号列を入力とするため、 表示時間順で近傍にある復号化済みピク チヤ内の同じ位置にあるブロックの動きベク トルを参照することによつ て、 実際に動き補償を行うための 2つの動きベク トルを算出し予測画像 を作成する。
図 7は直接モードにおいて動きベク トルを決定するために参照した復 号化済みのピクチャが、 表示時間順で前方にある 2枚のピクチャを参照 する 2つの動きベク トルを持っていた場合の動作を示したものである。 ピクチャ P 2 3が現在復号化の対象と しているピクチャであり、 ピクチ ャ P 2 2およびピクチャ P 24を参照ピクチャとして 2方向予測を行う ものである。 復号化を行うブロックをブロック M B 2 1 とすると、 この とき必要とされる 2つの動きべク 卜ルは復号化済みの後方参照ピクチャ (第 2参照インデックスで指定される第 2参照ピクチャ) であるピクチ ャ P 24の同じ位置にあるブロック M B 2 2の持つ動きベク トルを用い て決定される。 このブロック MB 2 2は動きべク トルとして動きべク 卜 ル MV 2 1 および動きべク トル MV 2 2の 2つを有するため、 求める 2 つの動きべク トル M V 2 3および動きべク トル MV 24を式 1 と同様に 直接スケーリングを適用することによって算出することはできない。 そ こで式 2のように、 スケーリングを適用する動きべク 卜ルとして動きべ ク トル M V_R E Fをブロック M B 2 2の持つ 2つの動きべク トルの平 均値から算出し、 その時の時間間隔 T R— R E Fを同様に平均値から算 出する。 そして、 式 3に基づいて動きベク トル MV— R E Fおよび時間 間隔 T R— R E Fに対してスケーリングを適用することによって動きべ ク トル MV 2 3および動きべク トル MV 24を算出する。 このとき時間 間隔 T R 2 1 はピクチャ P 24からピクチャ P 2 1 まで、 つまり動きべ ク トル M V 2 1 が参照するピクチャまでの時間の間隔を示し、 時間間隔 T R 2 2は動きべク トル M V 2 2が参照するピクチャまでの時間の間隔 を示している。 また、 時間間隔 T R 2 3は動きベク トル M V 23が参照 するピクチャまでの時間の間隔を示し、 時間間隔 T R 2 4は動きべク 卜 ル M V 24が参照するピクチャまでの時間の間隔を示している。 これら のピクチャ間の時間間隔は、 例えば各ピクチャに付される表示時間や表 示順序を示す情報、 またはその情報の差に基づいて決定することができ る。 なお、 図 7の例では復号化の対象とするピクチャは隣のピクチャを 参照しているが、 隣でないピクチャを参照した場合でも同様に扱うこと が可能である。
以上のように上記実施の形態では、 直接モードにおいて動きべク トル を参照されるブロックが表示時間順で前方にあるピクチャを参照する複 数の動きべク トルを有する場合に、 前記複数の動きべク トルを用いて 1 つの動きべク トルを生成し、 スケーリングを適用して実際に動き補償に 使用するための 2つの動きべク トルを決定することにより、 直接モード において動きベク トルを参照されるブロックが Bピクチャに属する場合 においても矛盾無く直接モードを用いたピクチャ間予測復号化を可能と する復号化方法を示した。
なお、 図 7における 2つの動きべク トル MV 2 3および動きべク トル MV 2 4を求める際に、 スケーリングを施す対象となる動きべク トル M
V— R E Fおよび時間間隔 T R— R E Fを算出するために、 動きべク ト ル MV 2 1 と動きべク トル MV 2 2との平均値および時間間隔 T R 2 1 と時間間隔 T R 2 2との平均値をとる方法として、 式 2の替わりに式 4 を用いることも可能である。 まず、 式 4 ( a ) のように動きベク トル M
V 2 1 に対して時間間隔が動きべク トル M V 2 2と同じになるようにス ケーリングを施し動きべク トル MV 2 1 'を算出する。そして動きべク 卜 ル M V 2 1 ' と動きべク トル MV 2 2 との平均をとることにより動きべ ク トル MV— R E Fが決定される。 このとき時間間隔 T R— R E Fは時 間間隔 T R 2 2をそのまま用いることになる。 なお、 動きベク トル MV 2 1 に対してスケーリ ングを施して動きべク トル MV 2 1 ' とする替わ りに動きべク 卜ル MV 2 2に対してスケーリ ングを施して動きべク 卜ル MV 2 2 'とする場合も同様に扱うことが可能である。
なお、 図 7における 2つの動きべク トル MV 2 3および動きべク トル MV 24を算出する際に、 スケーリングを施す対象となる動きベク トル MV— R E Fおよび時間間隔 T R— R E Fとして、 式 2のように 2つの 動きべク トルの平均値を用いる替わりに、 式 5のように動きべク トルを 参照するピクチャ P 2 4に対して時間間隔の短い方のピクチャ P 2 2を 参照する動きべク トル MV 2 2および T R 2 2を直接用いることも可能 である。 同様に、 式 6のように時間間隔の長い方のピクチャ P 2 1 を参 照する動きべク トル M V 2 1 および時間間隔 T R 2 1 を動きべク トル M V— R E Fおよび時間間隔 T R— R E Fとして直接用いることも可能で ある。 この方法により、 動きベク トルを参照されるピクチャ P 2 4に属 するそれぞれのブロックは、 2つの動きべク トルのうちの片方のみを記 憶しておく ことで動き補償を実現することができるため、 復号化装置に おける動きべク トル記憶部の容量を小さく抑えることが可能となる。 なお、 図 7における 2つの動きべク 卜ル MV 2 3および動きべク 卜ル MV 24を算出する際に、 スケーリングを施す対象となる動きべク トル MV— R E Fおよび時間間隔 T R— R E Fとして、 式 2のように 2つの 動きベク トルの平均値を用いる替わりに、 復号化される順番が先である ピクチャを参照する動きべク トルを直接用いることも可能である。 図 8 ( a ) は図 7 と同じように動画像として表示される順番でのピクチャの 並び方における参照関係を示したものであり、 図 8 ( b ) では入力され た符号列の順番、 つまリ復号化される順番の一例を示している。 なお、 ピクチャ P 2 3が直接モードによって復号化を行うピクチャ、 ピクチャ P 2 4がそのときに動きべク 卜ルを参照されるピクチャを示している。 図 8 ( b ) のような並び順を考えたとき、 復号化される順番が先である ピクチャを参照する動きべク トルを直接用いることから、 式 5のように 動きベク トル M V— R E Fおよび時間間隔 T R— R E Fとして動きべク トル M V 2 2および時間間隔 T R 2 2が直接適用される。 同様に、 復号 化される順番が後であるピクチャを参照する動きべク トルを直接用いる ことも可能である。 この場合は、 式 6のように動きべク トル M V— R E Fおよび時間間隔 T R— R E 「と して動きべク トル M V 2 1 および時間 間隔 T R 2 1 が直接適用される。 この方法によリ、 動きべク トルを参照 されるピクチャ P 2 4に属するそれぞれのブロックは、 2つの動きべク トルのうちの片方のみを記憶しておく ことで動き補償を実現することが できるため、 復号化装置における動きべク トル記憶部の容量を小さく抑 えることが可能となる。
なお、 本実施の形態においては、 参照する動きベク トルに対してピク チヤ間の時間的距離を用いてスケーリングすることにより、 直接モード において用いる動きベク トルを計算する場合について説明したが、 これ は参照する動きベク トルを定数倍して計算しても良い。 ここで、 定数倍 に使用される定数は、 複数ブロック単位または複数ピクチャ単位で符号 化または復号化する場合に、 変更可能としても良い。
(実施の形態 4 )
図 1 1 に基づいた復号化処理の概要は実施の形態 3と全く同等である, ここでは直接モードにおける 2方向予測の動作について図 9を用いてそ の詳細を説明する。 ただし、 実施の形態 2の動画像符号化方法で生成さ れた符号列が入力されるものとする。
図 9は直接モードにおいて動きベク トルを決定するために参照したピ クチャが、 表示時間順で後方にある 2枚のピクチャを参照する 2つの動 きべク トルを持っていた場合の動作を示したものである。 ピクチャ P 4 3が現在復号化の対象としているピクチャであり、 ピクチャ P 4 2およ ぴピクチャ P 4 4を参照ピクチャと して 2方向予測を行うものである。 復号化を行うブロックをブロック M B 4 1 とすると、 このとき必要とさ れる 2つの動きべク 卜ルは復号化済みの後方参照ピクチャ (第 2参照ィ ンデックスで指定される第 2参照ピクチャ) であるピクチャ P 4 4の同 じ位置にあるブロック M B 4 2の持つ動きベク トルを用いて決定される, このブロック M B 4 2は動きべク トルと して動きべク トル M V 4 5およ び動きべク トル M V 4 6の 2つを有するため、 求める 2つの動きべク 卜 ル M V 4 3および動きべク トル M V 4 4を式 1 と同様に直接スケーリン グを適用することによって算出することはできない。 そこで式 7のよう に、 スケーリングを適用する動きべク トルと して動きべク トル M V— R E Fを動きべク トル M B 4 2の持つ 2つの動きべク トルの平均値から決 定し、 その時の時間間隔 T R—R E Fを同様に平均値から決定する。 そ して、 式 8に基づいて動きべク トル M V— R E Fおよび時間間隔 T R— R E Fに対してスケーリングを適用することによって動きべク トル M V 4 3および動きべク トル M V 4 4を算出する。 このとき時間間隔 T R 4 5はピクチャ P 4 4からピクチャ P 4 5まで、 つまり動きべク トル M V 4 5が参照するピクチャまでの時間の間隔を、 時間間隔 T R 4 6は動き べク トル M V 4 6が参照するピクチャまでの時間の間隔を、 時間間隔 T R 4 3は動きべク トル M V 4 3が参照するピクチャまでの時間の間隔を 時間間隔 T R 4 4は動きべク トル M V 4 4が参照するピクチャまでの時 間の間隔を示すものである。 なお、 図 9の例では復号化の対象とするピ クチャは隣のピクチャを参照しているが、 隣でないピクチャを参照した 場合でも同様に扱うことが可能である。
以上のように上記実施の形態では、 直接モードにおいて動きベク トル を参照されるプロックが表示時間順で後方にあるピクチャを参照する複 数の動きべク トルを有する場合に、 前記複数の動きべク トルを用いて 1 つの動きべク トルを生成し、 スケーリングを適用して実際に動き補償に 使用するための 2つの動きべク ルを決定することにより、 直接モード において動きベク トルを参照されるブロックが Bピクチャに属する場合 においても矛盾無く直接モードを用いたピクチャ間予測復号化を可能と する復号化方法を示した。
なお、 図 9における 2つの動きべク トル MV 4 3および動きべク トル MV 4 4を求める際に、 スケーリングを施す対象となる動きべク トル M
V— R E Fおよび時間間隔 T R_R E Fを算出するために、 動きべク 卜 ル MV 4 5と動きべク トル MV 4 6との平均値および時間間隔 T R 45 と時間間隔 T R 4 6との平均値をとる方法と して、 式 7の替わりに式 9 を用いることも可能である。 まず、 式 9 ( a ) のように動きベク トル M
V 4 6に対して時間間隔が動きべク トル M V 4 5と同じになるようにス ケ一リ ングを施し動きべク トル MV 4 6 'を算出する。そして動きべク ト ル M V 4 6 ' と動きべク トル MV 4 5 との平均をとることにより動きべ ク トル MV— R E Fが決定される。 このとき時間間隔 T R— R E Fは時 間間隔 T R 4 5をそのまま用いることになる。 なお、 動きベク トル M V 4 6に対してスケ一リ ングを施して動きべク トル M V 4 6 'とする替わ りに動きべク トル MV 45に対してスケーリングを施して動きべク トル MV 4 5 'とする場合も同様に扱うことが可能である。
なお、 図 9における 2つの動きべク 卜ル MV 4 3および動きべク トル MV 4 4を算出する際に、 スケーリングを施す対象となる動きべク トル MV— R E Fおよび時間間隔 T R— R E Fとして、 式 7のように 2つの 動きべク トルの平均値を用いる替わりに、 式 1 0のように動きべク トル を参照するピクチャ P 44に対して時間間隔の短い方のピクチャ P 4 5 を参照する動きベク トル M V 45および時間間隔 T R 4 5を直接用いる ことも可能である。 同様に、 式 1 1 のように時間間隔の長い方のピクチ ャ P 4 6を参照する動きベク トル M V 4 6および時間間隔 T R 4 6を動 きベク トル M V— R E Fおよび時間間隔 T R— R E Fと して直接用いる ことも可能である。 この方法により、 動きベク トルを参照されるピクチ ャ P 4 4に属するそれぞれのブロックは、 2つの動きベク トルのうちの 片方のみを記憶しておく ことで動き補償を実現することができるため、 復号化装置における動きべク トル記憶部の容量を小さく抑えることが可 能となる。
なお、 図 9における 2つの動きべク トル M V 4 3および動きべク トル M V 4 4を算出する際に、 スケーリングを施す対象となる動きベク トル M V— R E Fおよび時間間隔 T R— R E Fと して、 式 7のように 2つの 動きべク トルの平均値を用いる替わりに、 復号化される順番が先である ピクチャを参照する動きべク トルを直接用いることも可能である。 図 1 0 ( a ) は図 9と同じように動画像として表示される順番でのピクチャ の並び方における参照関係を示したものであり、 図 1 0 ( b ) では入力 された符号列の順番、 つまリ復号化される順番の一例を示している。 な お、 ピクチャ P 4 3が直接モードによって符号化を行う ピクチャ、 ピク チヤ p 4 4がそのときに動きべク トルを参照されるピクチャを示してい る。 図 1 0 ( b ) のような並び順を考えたとき、 復号化される順番が先 であるピクチャを参照する動きべク トルを直接用いることから、 式 1 1 のように動きべク トル M V— R E Fおよび時間間隔 T R— R E 「と して 動きべク トル M V 4 6および時間間隔 T R 4 6が直接適用される。 同様 に、 復号化される順番が後であるピクチャを参照する動きべク トルを直 接用いることも可能である。 この場合は、 式 1 0のように動きべク トル M V— R E Fおよび時間間隔 T R— R E Fと して動きべク トル M V 4 5 および時間間隔 T R 4 5が直接適用される。 この方法により、 動きべク トルを参照されるピクチャ P 4 4に属するそれぞれのブロックは、 2つ の動きべク トルのうちの片方のみを記憶しておく ことで動き補償を実現 することができるため、 復号化装置における動きべク トル記憶部の容量 を小さく抑えることが可能となる。
なお、 直接モードにおいて動きベク トルを決定するために参照したブ 口ックが表示時間順で後方にある 2枚のピクチャを参照する 2つの動き べク トルを持っていた場合、 求める 2つの動きべク トル M V 4 3および 動きベク トル M V 4 4を「 0」として動き補償を行うことも可能である。 この方法により、 動きべク トルを参照されるピクチャ P 4 4に属するそ れぞれのプロックは、 動きべク トルを記憶しておく必要が無いため復号 化装置における動きべク トル記憶部の容量を小さく抑えることが可能と なり、 さらに動きべク トル算出のための処理を省略することが可能とな る。
なお、 本実施の形態においては、 参照する動きベク トルに対してピク チヤ間の時間的距離を用いてスケーリングすることにより、 直接モード において用いる動きべク トルを計算する場合について説明したが、 これ は参照する動きベク トルを定数倍して計算しても良い。 ここで、 定数倍 に使用される定数は、 複数ブロック単位または複数ピクチャ単位で符号 化または復号化する場合に、 変更可能と しても良い。
(実施の形態 5 )
上記実施の形態 1 から実施の形態 4までに示した符号化方法または復 号化方法に限らず、 以下に示す動きべク トル計算方法を用いて符号化方 法または復号化方法を実現することができる。
図 1 2は直接モードにおいて動きべク トルを計算するために参照する 符号化済みのブロックまたは復号化済みのブロックが、 表示時間順で前 方にある 2枚のピクチャを参照する 2つの動きベク トルを持っていた場 合の動作を示したものである。 ピクチャ P 2 3が現在符号化または復号 化の対象としているピクチャである。 符号化または復号化を行うブロッ クをブロック M B 1 とすると、 このとき必要とされる 2つの動きべク ト ルは符号化済みのまたは復号化済みの後方参照ピクチャ (第 2参照ィン デックスで指定される第 2参照ピクチャ) P 2 4の同じ位置にあるプロ ック M B 2の持つ動きベク トルを用いて決定される。 なお、 図 1 2にお いて、 ブロック M B 1 が処理対象ブロックであり、 ブロック M B 1 とブ ロック M B 2とはピクチャ上で互いに同位置にあるブロックであり、 動 きべク トル M V 2 1 と動きべク 卜ル M V 2 2とはブロック M B 2を符号 化または復号化するときに用いた動きベク トルであり、 それぞれピクチ ャ P 2 1 、 ピクチャ P 2 2を参照している。 また、 ピクチャ P 2 1 、 ピ クチャ P 2 2、 ピクチャ P 2 4は符号化済みピクチャまたは復号化済み ピクチャである。 また、 時間間隔 T R 2 1 はピクチャ P 2 1 とピクチャ P 2 4との間の時間間隔、 時間間隔 T R 2 2はピクチャ P 2 2とピクチ ャ P 2 4との間の時間間隔、時間間隔 T R 2 1 'はピクチャ P 2 1 とピク チヤ P 2 3との間の時間間隔、時間間隔 T R 2 4 'はピクチャ P 2 3とピ クチャ P 2 4との間の時間間隔を示す。
動きべク トル計算方法としては、 図 1 2に示すように参照ピクチャ P 2 4におけるブロック M B 2の動きべク トルのうち先に符号化または復 号化された前方向動きべク トル (第 1 動きべク トル) M V 2 1 のみを用 い、 ブロック M B 1 の動きベク トル M V 2 1 '、 動きベク トル M V 2 4 ' は以下の式により計算される。
M V 2 1 ' = M V 2 1 X T R 2 1 ' / T R 2 1
M V 2 4 ' = - M V 2 1 X T R 2 4 ' T R 2 1
そして動きべク トル M V 2 1 '、 動きべク トル M V 2 4 'を用いてピク チヤ P 2 1 、 ピクチャ P 2 4から 2方向予測を行う。 なお、 動きべク ト ル M V 2 1 のみを用いてブロック M B 1 の動きべク トル M V 2 1 ' と動 きべク 卜ル M V 2 4 'とを計算する代わりに、参照ピクチャ P 2 4におけ るブロック M B 2の動きベク トルのうち後に符号化または復号化された 動きベク トル (第 2動きベク トル) M V 2 2のみを用いてブロック M B 1 の動きべク トルを計算してもよい。 また、 実施の形態 1 から実施の形 態 4で示したように、 動きべク トル M V 2 1 と動きべク トル M V 2 2と の両者を用いて、 ブロック M B 1 の動きベク トルを決定しても良い。 い ずれも動きべク トル M V 2 1 と動きべク トル M V 2 2とのいずれか一方 を選択する場合に、 いずれを選択するかは、 時間的に先に符号化または 復号化されたブロックの動きべク トルを選択するようにしてもよいし、 符号化装置、 復号化装置でいずれを選択するかあらかじめ任意に設定し ておいてもよい。 また、 ピクチャ P 2 1 が短時間メモリ (Short Term Buffer) にあっても長時間メモリ (Long Term Buffer) にあっても、 ど ちらでも動き補償することは可能である。 短時間メモリ、 長時間メモリ については、 後述する。
図 1 3は直接モー ドにおいて動きべク トルを計算するために参照する 符号化済みのプロックまたは復号化済みのプロックが、 表示時間順で後 方にある 2枚のピクチャを参照する 2つの動きベク トルを持っていた場 合の動作を示したものである。 ピクチャ P 2 2が現在符号化または復号 化の対象と しているピクチャである。 符号化または復号化を行うブロッ クをブロック M B 1 とすると、 このとき必要とされる 2つの動きべク ト ルは符号化済みのまたは復号化済みの後方参照ピクチャ (第 2参照ピク チヤ) P 2 3の同じ位置にあるブロック M B 2の持つ動きべク トルを用 いて決定される。 なお、 図 1 3において、 ブロック M B 1 が処理対象ブ ロックであり、 ブロック M B 1 とブロック M B 2とはピクチャ上で互い に同位置にあるブロックであり、 動きべク トル M V 2 4と動きべク トル M V 2 5はブロック M B 2を符号化または復号化するときに用いた動き ベク トルであり、 それぞれピクチャ P 2 4、 ピクチャ P 2 5を参照して いる。 また、 ピクチャ P 2 1 、 ピクチャ P 2 3、 ピクチャ P 2 4、 ピク チヤ P 2 5は符号化済みピクチャまたは復号化済みピクチャである。 ま た、 時間間隔 T R 2 4はピクチャ P 2 3 とピクチャ P 2 4との間の時間 間隔、 時間間隔 T R 2 5はピクチャ P 2 3とピクチャ P 2 5との間の時 間間隔、時間間隔 T R 2 4 'はピクチャ P 2 2とピクチャ P 2 4との間の 時間間隔、時間間隔 T R 2 1 'はピクチャ P 2 1 とピクチャ P 2 2との間 の時間間隔を示す。
動きべク トル計算方法と しては、 図 1 3に示すように参照ピクチャ P 2 3におけるブロック M B 2のピクチャ P 2 4への動きベク トル M V 2 4のみを用い、 ブロック M B 1 の動きべク トル M V 2 1 '、動きべク トル M V 2 4 'は以下の式により計算される。
M V 2 1 ' = - M V 2 4 X T R 2 1 ' / T R 2 4
M V 2 4 ' = M V 2 4 x T R 2 4 ' / T R 2 4
そして動きべク 卜ル M V 2 1 '、 動きべク トル M V 2 4 'を用いてピク チヤ P 2 1 、 ピクチャ P 2 4から 2方向予測を行う。
なお、 図 1 4に示すように参照ピクチャ P 2 3におけるブロック M B 2のピクチャ P 2 5への動きべク トル M V 2 5のみを用いた場合、 プロ ック M B 1 の動きベク トル M V 2 1 '、 動きべク トル M V 2 5 'は以下の 式により計算される。 なお、 時間間隔 T R 2 4はピクチャ P 2 3 とピク チヤ P 2 4との間の時間間隔、 時間間隔 T R 2 5はピクチャ P 2 3とピ クチャ P 2 5との間の時間間隔、時間間隔 T R 2 5 'はピクチャ P 2 2と ピクチャ P 2 5との間の時間間隔、時間間隔 T R 2 1 'はピクチャ P 2 1 とピクチャ P 2 2との間の時間間隔を示す。
M V 2 1 ' = - M V 2 5 X T R 2 1 ' / T R 2 5 M V 2 5 ' = M V 2 5 x T R 2 5 ' / T R 2 5
そして動きべク トル M V 2 1 '、 動きべク 卜ル M V 2 5 'を用いてピク チヤ P 2 1 、 ピクチャ P 2 4から 2方向予測を行う。
図 1 5は直接モ一ドにおいて動きべク トルを計算するために参照する 符号化済みのブロックまたは復号化済みのブロックが、 表示時間順で前 方にある 1 枚のピクチャを参照する 2つの動きべク トルを持っていた場 合の動作を示したものである。 ピクチャ P 2 3は、 現在符号化または復 号化の対象と しているピクチャである。 符号化または復号化を行うプロ ックをブロック M B 1 とすると、 このとき必要とされる 2つの動きべク トルは符号化済みのまたは復号化済みの後方参照ピクチャ (第 2参照ィ ンデックスで指定される第 2参照ピクチャ) P 2 4の同じ位置にあるブ ロック M B 2の持つ動きべク トルを用いて決定される。 なお、 図 1 5に おいて、 ブロック M B 1 が処理対象ブロックであり、 ブロック M B 1 と ブロック M B 2とはピクチャ上で互いに同位置にあるブロックである。 動きべク トル M V 2 1 Aと動きべク トル M V 2 1 Bとはブロック M B 2 を符号化または復号化するときに用いた前方向動きべク トルであり、 共 にピクチャ P 2 1 を参照している。 また、 ピクチャ P 2 1 、 ピクチャ P 2 2、 ピクチャ P 2 4は符号化済みピクチャまたは復号化済みピクチャ である。 また、 時間間隔 T R 2 1 A、 時間間隔 T R 2 1 Bはピクチャ P 2 1 とピクチャ P 2 4との間の時間間隔、時間間隔 T R 2 1 'はピクチャ P 2 1 とピクチャ P 2 3との間の時間間隔、時間間隔 T R 2 4 'はピクチ ャ P 2 3 とピクチャ P 2 4との間の時間間隔を示す。
動きベク トル計算方法としては、 図 1 5に示すように参照ピクチャ P 2 4におけるブロック M B 2のピクチャ P 2'1 への前方向動きベク トル M V 2 1 Aのみを用い、 ブロック M B 1 の動きべク トル M V 2 1 A'、 M V 2 4 'は以下の式により計算される。 M V 2 1 A ' = M V 2 1 A x T R 2 1 ' / T R 2 1 A
M V 2 4 ' = - V 2 1 A x T R 2 4 ' / T R 2 1 A
そして動きべク トル M V 2 1 A'、 動きべク トル M V 2 4 'を用いてピ クチャ P 2 1 、 ピクチャ P 2 4から 2方向予測を行う。
なお、 参照ピクチャ P 2 4におけるブロック M B 2のピクチャ P 2 1 への前方向動きべク トル M V 2 1 Bのみを用い、 ブロック M B 1 の動き べク トルを計算してもよい。 また、 実施の形態 1 から実施の形態 4で示 したように、 前方向動きべク 卜ル M V 2 1 Aと前方向動きべク トル M V 2 1 Bとの両者を用いて、 ブロック M B 1 に対する動きべク トルを決定 しても良い。 いずれも前方向動きベク トル M V 2 1 Aと前方向動きべク トル M V 2 1 Bとのいずれか一方を選択する場合に、 いずれを選択する かは、 時間的に先に符号化または復号化されている (符号列中に先に記 述されている) 動きべク トルを選択するようにしてもよいし、 符号化装 置、 復号化装置で任意に設定してもよい。 ここで、 時間的に先に符号化 または復号化されている動きべク トルとは、 第 1動きベク トルのことを 意味する。 また、 ピクチャ P 2 1 が短時間メモリ (Short Term Buffer) にあっても長時間メモリ (Long Term Buffer) にあっても、 どちらでも 動き補償することは可能である。 短時間メモリ、 長時間メモリについて は、 後述する。
なお、 本実施の形態においては、 参照する動きベク トルに対してピク チヤ間の時間的距離を用いてスケーリングすることにより、 直接モード において用いる動きべク トルを計算する場合について説明したが、 これ は参照する動きベク トルを定数倍して計算しても良い。 ここで、 定数倍 に使用される定数は、 複数ブロック単位または複数ピクチャ単位で符号 化または復号化する場合に、 変更可能としても良い。
なお、 上記の動きベク トル M V 2 1 '、 動きベク トル M V 2 4 '、 動き べク トル M V 2 5 'および動きべク トル M V 2 1 A'の計算式においては. 各式のお辺を計算した後、 所定の動きべク トルの精度に丸めても良い。 動きベク トルの精度としては、 1 2画素、 1 3画素、 1 4画素精 度等がある。 またこの動きベク トルの精度は、 例えば、 ブロック単位、 ピクチャ単位、 シーケンス単位で決定することができる。
(実施の形態 6 )
本実施の形態 6においては、 直接モードにおいて対象動きべク トルを 決定するために用いた参照ピクチャが表示時間順で前方にある 2枚のピ クチャを参照する 2つの前方向動きべク トルを持っている場合に、 2つ の前方向動きべク トルのうち一方のみをスケーリングして対象動きべク トルを計算することができる方法について図 1 6から図 1 8を用いて説 明する。 なお、 ブロック M B 1 が処理対象ブロックであり、 ブロック M B 1 とブロック M B 2とはヒ°クチャ上で互いに同位置にあるブロックで あり、 動きべク トル M V 2 1 と動きべク トル M V 2 2とはブロック M B 2を符号化または復号化するときに用いた前方向動きべク トルであり、 それぞれピクチャ P 2 1 、 ピクチャ P 2 2を参照している。 また、 ピク チヤ P 2 1 、 ピクチャ P 2 2、 ピクチャ P 2 4は符号化済みピクチャま たは復号化済みピクチャである。 また、 時間間隔 T R 2 1 はピクチャ P 2 1 とピクチャ P 2 4との間の時間間隔、 時間間隔 T R 2 2はピクチャ P 2 2とピクチャ P 2 4との間の時間間隔、時間間隔 T R 2 1 'はピクチ ャ P 2 1 とピクチャ P 2 3 との間の時間間隔、時間間隔 T R 2 2 'はピク チヤ P 2 2とピクチャ P 2 3との間の時間間隔を示す。
第 1 の方法としては、 図 1 6に示すように参照ピクチャ P 2 4におけ るブロック M B 2が、 ピクチャ P 2 1 への前方向動きべク トル M V 2 1 と、 ピクチャ P 2 2への前方向動きベク トル M V 2 2との 2つの前方向 動きべク トルを有するとき、 対象ピクチャ P 2 3に表示時間順で近いピ クチャ P 2 2への動きべク トル MV 2 2のみを用い、 ブロック MB 1 の 動きべク トル MV 2 2'は以下の式により計算される。
M V 2 2 ' = M V 2 2 x T R 2 2 'ノ T R 2 2
そして動きべク トル MV 2 2 'を用いてピクチャ P 2 2から動き補償 を行う。
第 2の方法と しては、 図 1 7に示すように参照ピクチャ P 24におけ るブロック M B 2がピクチャ P 2 1 への前方向動きべク トル MV 2 1 と ピクチャ P 2 2への前方向動きベク トル MV 2 2 との 2つの前方向動き べク トルを有するとき、 対象ピクチャ P 23に表示時間順で遠いピクチ ャ P 2 1 への動きベク トル MV 2 1 のみを用い、 ブロック M B 1 の動き べク トル MV 2 1 'は以下の式により計算される。
M V 2 1 ' = M V 2 1 X T R 2 1 ' / T R 2 1
そして動きべク トル MV 2 1 'を用いてピクチャ P 2 1 から動き補償 を行う。
これら第 1 、 第 2の方法により、 動きべク トルを参照される参照ピク チヤ P 2 4に属するブロック M B 2は、 2つの動きべク トルのうちの片 方のみを記憶しておく ことで動き補償を実現することができるため、 動 きべク トル記憶部の容量を小さく抑えることが可能となる。
なお、 前方向動きべク トル M V 2 1 を用いながら、 実施の形態 1 と同 様に表示時間順で近傍のピクチャであるピクチャ P 2 2から動き補償を 行うこともできる。 その時に用いる動きべク トル MV N (図示せず) は 以下の式によリ計算される。
M V N = M V 2 1 X T R 2 2 '/T R 2 1
なお、 第 3の方法として、 図 1 8に示すように上記で求めた動きべク トル MV 2 1 'と動きべク トル MV 2 2'とを用いてそれぞれピクチャ P 2 1 とピクチャ P 2 2とから動き補償ブロックを取得し、 その平均画像 を動き補償における補間画像とする。
この第 3の方法により、 計算量は増加するが、 動き補償の精度は向上 する。
さらに、上記動きべク トル M V Nと動きべク トル M V 2 2 'とを用いて ピクチャ P 2 2から動き補償ブロックを取得し、 その平均画像を動き補 償における補間画像とすることもできる。
なお、 本実施の形態においては、 参照する動きべク トルに対してピク チヤ間の時間的距離を用いてスケ一リングすることにより、 直接モード において用いる動きべク トルを計算する場合について説明したが、 これ は参照する動きベク トルを定数倍して計算しても良い。 ここで、 定数倍 に使用される定数は、 複数ブロック単位または複数ピクチャ単位で符号 化または復号化する場合に、 変更可能と しても良い。
なお、 上記の動きベク トル M V 2 1 '、 動きベク トル M V 2 2 '、 動き べク トル M V Nの計算式においては、 各式の右辺を計算した後、 所定の 動きベク トルの精度に丸めても良い。 動きベク トルの精度としては、 1 2画素、 1 Z 3画素、 1 4画素精度等がある。 またこの動きべク ト ルの精度は、 例えば、 ブロック単位、 ピクチャ単位、 シーケンス単位で 決定することができる。
(実施の形態 7 )
上記実施の形態 6では直接モードにおいて符号化または復号化対象ブ ロックの動きべク トルを決定するために用いた参照ピクチャが、 表示時 間順で前方にある 2枚のピクチャを参照する 2つの前方向動きベク トル を持っている場合について述べたが、 表示時間順で後方にある 2枚のピ クチャを参照する 2つの後方向動きべク トル (第 2参照インデックスで 参照ピクチャが指定される第 2動きベク トル) を持っている場合につい ても同様に、 2つの後方向動きべク トルのうち一方のみをスケーリング して対象動きベク トルを計算することができる。 以下、 図 1 9から図 2 2を用いて説明する。なお、ブロック M B 1 が処理対象ブロックであり、 ブロック M B 1 とブロック M B 2とはピクチャ上で互いに同位置にある ブロックであり、 動きべク トル MV 24と動きべク トル MV 2 5とは、 動きべク トル M B 2を符号化または復号化するときに用いた後方向動き べク トル (第 2参照インデックスで参照ピクチヤが指定される第 2動き ベク トル) である。 また、 ピクチャ P 2 1 、 ピクチャ P 2 3、 ピクチャ P 2 4およぴピクチャ P 2 5は符号化済みピクチャまたは復号化済みピ クチャである。 また、 時間間隔 T R 24はピクチャ P 2 3とピクチャ P 24との間の時間間隔、 時間間隔 T R 2 5はピクチャ P 2 3とピクチャ P 2 5との間の時間間隔、時間間隔 T R 2 4 'はピクチャ P 2 2とピクチ P 2 4との間の時間間隔、時間間隔 T R 25 'はピクチャ P 2 2とピク チヤ P 2 5との間の時間間隔を示す。
第 1 の方法と しては、 図 1 9に示すように参照ピクチャ P 23におけ るブロック M B 2がピクチャ P 24への後方向動きべク トル MV 24と ピクチャ P 2 5への後方向動きべク トル MV 2 5との 2つの後方向動き べク トルを有するとき、 対象ピクチャ P 2 2に表示時間順で近いピクチ ャ P 24への後方向動きべク トル MV 24のみを用い、 ブロック MB 1 の動きベク トル MV 2 4 'は以下の式により計算される。
M V 24 ' = M V 2 4 x T R 2 4'ノ T R 2 4
そして動きべク トル M V 2 4 'を用いてピクチャ P 2 4から動き補償 を行う。
なお、 後方向動きベク トル M V 2 4を用いながら、 実施の形態 1 と同 様に表示時間順で近傍のピクチャであるピクチャ P 2 3から動き補償を 行うこともできる。 その時に用いる動きベク トル MV N 1 (図示せず) は以下の式により計算される。 M V N 1 = M V 2 4 x T R N 1 /T R 24
第 2の方法と しては、 図 20に示すように参照ピクチャ P 2 3におけ るブロック M B 2がピクチャ P 2 4への後方向動きべク トル MV 2 4と ピクチャ P 2 5への後方向動きべク 卜ル MV 2 5との 2つの後方向動き ベク トルを有するとき、 対象ピクチャ P 2 3に表示時間順で遠いピクチ ャ P 2 5への後方向動きべク トル MV 2 5のみを用い、 ブロック M B 1 の動きべク トル MV 2 5 'は以下の式により計算される。
M V 2 5 ' = M V 2 5 x T R 2 5 'ZT R 2 5
そして動きべク トル MV 2 5 'を用いてピクチャ P 2 5から動き補償 を行う。
これら第 1 、 第 2の方法により、 動きベク トルを参照される参照ピク チヤ P 2 3に属するブロック M B 2は、 2つの動きべク トルのうちの片 方のみを記憶しておく ことで動き補償を実現することができるため、 動 きべク トル記憶部の容量を小さく抑えることが可能となる。
なお、 後方向動きべク トル M V 2 5を用いながら、 実施の形態 1 と同 様に表示時間順で近傍のピクチャであるピクチャ P 2 3から動き補償を 行うこともできる。 その時に用いる動きベク トル MV N 2 (図示せず) は以下の式によリ計算される。
M V N 2 = M V 2 5 X T R N 1 /T R 2 5
さらに、 第 3の方法として、 図 2 1 に示すように上記で求めた動きべ ク トル M V 2 4 'と動きべク トル MV 2 5 ' を用いてそれぞれピクチャ P 24とピクチャ P 2 5とから動き補償ブロックを取得し、 その平均画 像を動き補償における補間画像とする。
この第 3の方法によリ、 計算量は増加するが、 対象ピクチャ P 2 2の 精度は向上する。
なお、 上記動きべク トル MV N 1 と動きべク トル MV N 2とを用いて ピクチャ P 2 4から動き補償ブロックを取得し、 その平均画像を動き補 償における補間画像とすることもできる。
また、 図 2 2に示すように直接モードにおいて対象動きべク 卜ルを決 定するために用いた参照ピクチャが表示時間順で後方にある 1枚のピク チヤを参照する 1 つの後方向動きべク トルを持っている場合は、 例えば 以下の式により動きべク トル MV 2 4 'は計算される。
M V 2 4 ' = M V 2 4 x T R 2 4 ' / T R 2 4
そして動きベク トル M V 2 4 'を用いてピクチャ P 2 4から動き補償 を行う。
なお、 後方向動きべク トル M V 2 5を用いながら、 実施の形態 1 と同 様に表示時間順で近傍のピクチャであるピクチャ P 2 3から動き補償を 行うこともできる。 その時に用いる動きべク トル M V N 3 (図示せず) は以下の式によリ計算される。
M V N 3 = M V 2 4 X T R N 1 /T R 2 4
なお、 本実施の形態においては、 図 1 9から図 2 2を用いて、 表示時 間順で後方にある 2枚のピクチャを参照する 2つの後方向動きベク トル を持っている場合、 および表示時間順で後方にある 1 枚のピクチャを参 照する 1 つの後方向動きべク トルを持っている場合に、 その後方向動き べク トルをスケーリングして対象動きべク トルを計算する場合について 説明したが、 これは後方動きベク トルを用いず、 同一ピクチャ内の周辺 ブロックの動きべク トルを参照して対象動きべク トルを計算しても良い し、 ピクチャ内符号化が行われている場合に同一ピクチャ内の周辺プロ ックの動きべク トルを参照して対象動きべク トルを計算しても良い。 ま ず、 第 1 の計算方法について述べる。 図 2 3は、 その際に参照する動 きべク トルと対象ブロックとの位置関係を示したものである。 ブロック M B 1 が対象ブロックであり、 A、 B、 Cの位置関係にある 3つの画素 を含むブロックの動きべク トルを参照する。 ただし、 画素 Cの位置が画 面外であったリ、 符号化ノ復号化が済んでいない状態であったり して参 照不可となる場合には、 画素 Cを含むブロックの代わりに画素 Dを含む ブロックの動きべク トルを用いるものとする。 参照の対象となった A、 B、 Cの画素を含む 3つのブロックが持つ動きベク トルの中央値を取る ことによって、実際に直接モードにおいて使用する動きベク トルとする。
3つのブロックが持つ動きべク トルの中央値を取ることにより、 3つの 動きべク トルのうちどの動きべク トルを選択したかという付加情報を符 号列中に記述する必要がなく、 かつブロック M B 1 の実際の動きに近い 動きを表現する動きべク トルを得ることができる。 この場合、 決定した 動きベク トルを用いて、 前方参照 (第 1 参照ピクチャへの参照) のみで 動き補償しても良いし、 その決定した動きべク トルと平行な動きべク 卜 ルを用いて、 2方向参照 (第 1参照ピクチャおよび第 2参照ピクチャへ の参照) で動き補償しても良い。
次に、 第 2の計算方法について述べる。
第 2の計算方法では第 1 の計算方法のように中央値を取らずに、 参照 の対象となった A、 B、 Cの画素を含む 3つのブロックが持つ動きべク トルの中から、 符号化効率が一番高くなる動きべク トルを取ることによ つて実際に直接モードにおいて使用する動きベク トルとする。この場合、 決定した動きべク トルを用いて、前方参照(第 1参照ピクチャへの参照) のみで動き補償しても良いし、 その決定した動きべク トルと平行な動き ベク トルを用いて、 2方向参照 (第 1参照ピクチャと第 2参照ピクチャ とを用いた参照) で動き補償しても良い。 符号化効率の一番高い動きべ ク トルを示す情報は、 例えば図 2 4 ( a ) に示すように、 モード選択部 1 0 7から出力される直接モードを示す情報とともに、 符号列生成部 1 0 3によって生成される符号列におけるプロックのヘッダ領域に付加さ れる。 なお、 図 2 4 ( b ) に示すように符号化効率の一番高いベク トル を示す情報はマクロブロックのヘッダ領域に付加してもよい。 また、 符 号化効率の一番高い動きべク トルを示す情報とは、 例えば、 参照の対象 となった画素を含むブロックを識別する番号であって、 ブロック毎に与 えられる識別番号である。また、識別番号でプロックが識別されるとき、 ブロック毎に与えた識別番号を 1 つだけ用いて、 その 1 つの識別番号に 対応するブロックを符号化したときに用いた動きベク トルのうち一方の みを用いて符号化効率が一番高くなる動きベク トルを示すようにしても. 動きべク トルが複数あるときに複数の動きべク トルを用いて符号化効率 が一番高くなる動きベク トルを示すようにしてもよい。 または、 2方向 参照 (第 1 参照ピクチャおよび第 2参照ピクチャへの参照) のそれぞれ の動きべク トル毎にブロック毎に与えられた識別番号を用いて、 符号化 効率が一番高くなる動きべク トルを示すようにしてもよい。 このような 動きべク トルの選択方法を用いることにより、 必ず符号化効率が一番高 くなる動きべク トルを取ることができる。 ただし、 どの動きべク トルを 選択したかを示す付加情報を符号列中に記述しなければならないため、 そのための符号量は余分に必要となる。 さらに、 第 3の計算方法につい て述べる。
第 3の計算方法では、 動きべク トルが参照する参照ピクチャの参照ィ ンデックスの値が一番小さくなる動きべク トルを直接モードにおいて使 用する動きべク トルとする。 参照インデックスが最小であるということ は、 一般的には表示時間順で近いピクチャを参照している、 または符号 化効率が最も高くなる動きベク トルである。 よって、 このような動きべ ク トルの選択方法を用いることにより、 表示時間順で最も近い、 または 符号化効率が最も高くなるピクチャを参照する動きべク トルを用いて、 直接モードで用いる動きべク トルを生成することになリ、 符号化効率の 向上を図ることができる。
なお、 3本の動きべク トルのうち 3本とも同一の参照ピクチャを参照 している場合は、 3本の動きべク トルの中央値をとるようにすればよい また、 3本の動きべク トルのうち参照インデックスの値が一番小さい参 照ピクチャを参照する動きベク トルが 2本ある場合は、 例えば、 2本の 動きべク トルのうち、 どちらか一方を固定的に選択するようにすればよ い。 図 2 3を用いて例を示すとすれば、 画素 Α、 画素 Βおよび画素 Cを 含む 3つのブロックが持つ動きべク トルのうち、 画素 Αおよび画素 Βを 含む 2つのブロックが参照インデックスの値が一番小さく、 かつ同一の 参照ピクチャを参照する場合、 画素 Aを含むブロックが持つ動きべク ト ルをとるようにするとよい。 ただし、 それぞれ画素 A、 画素 B、 画素 C を含む 3つのブロックが持つ動きベク トルのうち、 画素 A、 画素 Cを含 む 2つのプロックが参照ィンデックスの値が一番小さく、 かつ同一の参 照ピクチャを参照する場合、 ブロック B L 1 に位置関係で近い画素 Aを 含むブロックが持つ動きべク トルをとるようにするとよい。
なお、 上記中央値は、 各動きべク トルの水平方向成分と垂直方向成分 それぞれに対して中央値をとるようにしてもよいし、 各動きべク トルの 大きさ (絶対値) に対して中央値をとるようにしてもよい。
また、 動きべク トルの中央値は図 2 5に示すような場合、 後方の参照 ピクチャにおいてブロック B L 1 と同位置にあるブロックと、 画素 A , 画素 B、 画素 Cそれぞれを含むブロックと、 さらに図 2 5に示す画素 D を含むブロック、 これら合計 5つのブロックが有する動きべク トルの中 央値を取るようにしてもよい。このように符号化対象画素の周囲に近い、 後方の参照ピクチャにおいてブロック B L 1 と同位置にあるブロックを 用いたときには、 ブロック数を奇数にするために画素 Dを含むブロック を用いると、 動きべク トルの中央値を算出する処理を簡単にすることが できる。 なお、 後方の参照ピクチャにおいてブロック B L 1 と同位置に ある領域に複数のプロックがまたがっている場合、 この複数のブロック のうちブロック B L 1 と重なる領域が最も大きいブロックにおける動き べク トルを用いてブロック B L 1 の動き補償をしてもよいし、 あるいは ブロック B L 1 を後方の参照ピクチャにおける複数のプロックの領域に 対応して分けて、 分けたブロック毎にブロック B L 1 を動き補償するよ うにしてもよい。
さらに、 具体的な例を挙げて説明する。
図 2 6や図 2 7に示すように画素 A, 画素 B, 画素 Cを含むブロック 全てが符号化対象ピクチャより前方のピクチャを参照する動きべク トル の場合、 上記第 1 の計算方法から第 3の計算方法まで、 いずれを用いて もよい。
同様に、 図 2 8や図 2 9に示すように画素 A, 画素 B, 画素 Cを含む プロック全てが符号化対象ピクチャよリ後方のピクチャを参照する動き ベク トルの場合、 上記第 1 の計算方法から第 3の計算方法まで、 いずれ を用いてもよい。
次に、 図 3 0に示す場合について説明する。 図 3 0は、 画素 A, 画素 B, 画素 Cそれぞれを含むブロック全てが符号化対象ピクチャより前方 と後方のピクチャを参照する動きベク トルを 1 本ずつ有する場合を示す, 上記第 1 の計算方法によれば、 ブロック B L 1 の動き補償に用いる前 方の動きべク トルは動きべク トル MV A f 、 動きべク トル MV B f 、 動 きべク トル MV C f の中央値により選択され、 ブロック B L 1 の動き補 償に用いる後方の動きべク トルは動きべク トル MV A b、 動きべク トル MV B b、 動きベク トル M V C bの中央値により選択される。 なお、 動 きべク トル MV A f は画素 Aを含むブロックの前方向動きべク トル、 動 きべク トル M V A bは画素 Aを含むブロックの後方向動きべク トル、 動 きべク 卜ル M V B f は画素 Bを含むブロックの前方向動きべク 卜ル、 動 きべク 卜ル M V B bは画素 Bを含むブロックの後方向動きべク トル、 動 きべク トル M V C f は画素 Cを含むブロックの前方向動きべク トル、 動 きべク トル M V C bは画素 Cを含むブロックの後方向動きべク トルであ る。 また、 動きべク トル M V A f 等は、 図示するようなピクチャを参照 する場合に限られない。 これらは以下の説明でも同様である。
上記第 2の計算方法によれば、 動きベク トル M V A f 、 動きベク トル M V B f 、 動きべク トル M V C f の前方参照の動きべク トルの中から符 号化効率が一番高くなる動きベク トルと、 動きベク トル M V A b、 動き べク トル M V B b、 動きべク トル M V C bの後方参照の動きべク トルの 中から符号化効率が一番高くなる動きベク トルとを取ることによって実 際に直接モードにおいて使用する動きベク トルとする。 この場合、 動き べク トル M V A f 、 動きべク トル M V B f 、 動きべク トル M V C f の前 方参照の動きべク トルの中から符号化効率が一番高くなる動きべク トル を用いて、 前方参照のみで動き補償しても良いし、 その決定した動きべ ク トルと平行な動きべク トルを用いて、 2方向参照で動き補償しても良 い。 なお、 符号化効率が一番高くなるように、 前方参照と後方参照の動 きベク トルそれぞれについて選択せず、 1 つのブロックを選択し、 その ブロックが有する前方参照と後方参照の動きベク トルを用いて動き補償 しても良い。 このとき、 符号化効率が一番高くなるように選択された前 方参照の動きべク トルを有する画素を有するブロックと、 符号化効率が 一番高くなるように選択された後方参照の動きベク トルを有する画素を 有するブロックとを示す情報を選択する場合に比べて、 選択を示す情報 が少なくて済むため、 符号化効率を向上させることができる。 また、 こ の 1 つのプロックの選択は、 ①前方参照の動きべク トルが参照するピク チヤの参照インデックスの値が一番小さくなる動きベク トルを有する画 素を含むブロックとする、 ②各画素を有するプロックの前方参照の動き べク トルが参照するピクチャの参照ィンデックスの値と、 後方参照の動 きべク トルが参照するピクチャの参照ィンデックスの値とを加算し、 加 算した値が最小となるプロックとする、 ③前方参照の動きべク トルが参 照するピクチャの参照インデックスの中央値をとリ、 中央値を有する前 方参照の動きべク トルを有する画素を含むブロックとし、 後方参照の動 きべク トルは、 このブロックの有する後方参照の動きべク トルとする、 ④後方参照の動きべク トルが参照するピクチャの参照ィンデックスの中 央値をとリ、 中央値を有する後方参照の動きべク トルを有する画素を含 むブロックとし、 前方参照の動きベク トルは、 このブロックの有する前 方参照の動きべク トルとする、 のいずれかを採用すればよい。 なお、 後 方参照の動きべク トルが全て同一のピクチャを参照している場合は、 上 記①と③のプロックの選択方法が適している。
上記第 3の計算方法では、 動きべク トル M V A f 、 動きべク トル M V B f 、 動きべク トル M V C f の前方参照の動きべク トルが参照する参照 ピクチャの参照インデックスの値が一番小さくなる動きベク トルを直接 モードにおいて使用する前方参照(第 1 の参照)の動きベク トルとする。 または、 動きべク トル M V A b、 動きべク トル M V B b、 動きべク トル M V C bの後方参照の動きベク トルが参照する参照ピクチャの参照イン デックスの値が一番小さくなる動きべク トルを直接モードにおいて使用 する後方参照 (第 2の参照) の動きべク トルとする。 なお、 第 3の計算 方法では、 参照ピクチャの参照ィンデックスの値が一番小さくなる前方 参照の動きべク トルをブロック B L 1 の前方参照の動きべク トルと し、 参照ピクチャの参照ィンデックスの値が一番小さくなる後方参照の動き べク トルをブロック B L 1 の後方参照の動きべク トルとしたが、 参照ピ クチャの参照インデックスの値が一番小さくなる前方または後方のいず れか一方を用いてブロック B L 1 の 2つの動きべク トルを導出し、 導出 された動きべク トルを用いてブロック B L 1 を動き補償しても良い。 次に、 図 3 1 に示す場合について説明する。 図 3 1 は、 画素 Aが前方 と後方のピクチャを参照する動きべク トルを 1本ずつ有し、 画素 Bが前 方のピクチャを参照する動きべク トルのみを有し、 画素 Cが後方のピク チヤを参照する動きべク トルのみを有する場合を示す。
このように一方のピクチャを参照する動きベク トルのみ有する画素を 含むブロックがあるとき、 このブロックの他方のピクチャを参照する動 きべク トルが 0であるとして、 動き補償するために上記図 3 0での計算 方法を用いれば良い。 具体的には、 図 3 0での第 1 の計算方法または第 3の計算方法を用い、 MV C f = M V B b = 0と して計算すればよい。 すなわち、 第 1 の計算方法では、 ブロック B L 1 の前方向動きべク トル を計算するときには、 画素 Cが前方のピクチャを参照する動きべク トル MV C f を MV C f = 0として、 動きベク トル MV A f 、 動きベク トル MV B f および動きべク トル MV C f の中央値を計算する。 また、 プロ ック B L 1 の後方向動きべク トルを計算するときには、 画素 Bが後方の ピクチャを参照する動きべク トル MV B bを MV B b = 0として、 動き べク トル MV A b、 動きべク トル M V B bおよび動きべク トル M V C b の中央値を計算する。
第 3の計算方法では、 画素 Cが前方のピクチャを参照する動きべク ト ル MV C f と画素 Bが後方のピクチャを参照する動きべク トル M V B b とを MV C f =MV B b = 0と して、 ブロック B L 1 の動きべク トルカ 参照する参照ピクチャの参照ィンデックスの値が一番小さくなる動きべ ク トルを計算する。 例えば、 画素 Aを含むプロックが第 1 参照ィンデッ クス 「 0」 のピクチャを参照し、 画素 Bを含むブロックが第 1参照イン デックス 「 1 」 のピクチャを参照している場合、 最小の第 1参照インデ ックスの値は 「 0」 である。 従って、 画素 Bを含むブロックの前方のピ りチャを参照する動きべク トル M V B f だけが、 最小の第 1参照ィンデ ックスを有するピクチャを参照しているので、 動きべク トル M V B f を ブロック B L 1 の前方向動きベク トルとする。 また、 例えば、 画素 A、 画素 Cのいずれもが第 2参照インデックスが最小の、 例えば、 第 2参照 インデックスが 「 0」 の後方ピクチャを参照している場合、 画素 Bが後 方のピクチャを参照する動きべク トル M V B bを MV B b = 0として、 動きべク 卜ル M V A b、 動きべク 卜ル M V B bおよび動きべク 卜ル M V C bの中央値を計算する。 計算の結果得られた動きべク トルをブロック B L 1 の後方向動きベク トルとする。
次に、 図 3 2に示す場合について説明する。 図 3 2は、 画素 Aが前方 と後方のピクチャを参照する動きべク トルを 1 本ずつ有し、 画素 Bが前 方のピクチャを参照する動きべク 卜ルのみを有し、 画素 Cが動きべク 卜 ルを有さず、 画面内符号化される場合を示す。
このように、 参照対象となった画素 Cを含むブロックが画面内符号化 されているとき、 このブロックの前方と後方のピクチャを参照する動き べク トルを共に 「 0」 であるとして、 動き補償するために上記図 3 0で の計算方法を用いれば良い。 具体的には、 M V C f = M V C b = 0とし て計算すればよい。 なお、 図 3 0の場合は、 M V B b = 0である。
最後に、 図 3 3に示す場合について説明する。 図 3 3は、 画素 Cが直 接モードによって符号化されている場合について示している。
このように、 参照対象となった画素に、 直接モードによって符号化さ れているブロックがあるとき、 直接モードによって符号化されているブ ロックが符号化されるときに用いられた動きべク トルを用いた上で、 上 記図 3 0での計算方法を用いてブロック B L 1 の動き補償をするとよい なお、 動きべク トルが前方参照と後方参照のどちらかであるかは、 参 照されるピクチャと符号化されるピクチャ、 それぞれのピクチャが有す る時間情報によって決まる。 よって、 前方参照と後方参照を区別した上 で、 動きべク トルを導出する場合は、 それぞれのブロックが有する動き べク トルが、 前方参照と後方参照のどちらかであるかを、 それぞれのピ クチャが有する時間情報によって判断する。
さらに、上記で説明した計算方法を組み合わせた例について説明する。 図 3 4は直接モードにおいて使用する動きべク トルを決定する手順を示 す図である。 図 3 4は参照インデックスを用いて動きべク トルを決定す る方法の一例である。 なお、 図 3 4に示す R i dxO、 R i dx 1 は上記で説明し た参照インデックスである。図 3 4 ( a ) は第 1 参照インデックス R i dxO によって動きベク トルを決定する手順を示しており、 図 3 4 ( ) は第 2参照インデックス R i dx l によって動きベク トルを決定する手順を示し ている。 まず、 図 3 4 ( a ) について説明する。
ステップ S3701 において画素 Aを含むブロック、 画素 Bを含むブロッ クおよび画素 Cを含むブロックのうち、 第 1参照インデックス R i dxOを 用いてピクチャを参照するブロックの数を計算する。
ステップ S3701 において計算されたプロックの数が Γ 0 J であれば、 さらにステップ S3702において第 2参照インデックス R ί dx 1 を用いてピ クチャを参照するブロックの数を計算する。 ステップ S3702において計 算されたブロックの数が 「0」 であれば、 S3703 において符号化対象ブ ロックの動きべク トルを 「 0」 として符号化対象ブロックを 2方向で動 き補償をする。 一方ステツプ S3702において計算されたプロックの数が Γ 1 」 以上であれば、 S3704において第 2参照インデックス R i dx 1 が存 在するブロックの数によって符号化対象ブロックの動きベク トルを決定 する。 例えば、 第 2参照インデックス R i dx l が存在するブロックの数に よって決定された動きベク トルを用いて符号化対象ブロックの動き補償 を行う。
ステップ S3701 において計算されたブロックの数が Γ 1 j であれば、 S3705 において第 1参照ィンデックス RidxO が存在するプロックの動き べク トルを使用する。
ステップ S3701 において計算されたブロックの数が Γ 2 J であれば、 S3706 において第 1参照ィンデックス RidxO が存在しないブロックにつ いて仮に第 1参照インデックス R i dxOに MV=0の動きべク トルがあるもの として、 3本の動きべク トルの中央値にあたる動きべク トルを使用する。 ステップ S3701 において計算されたブロックの数が 「 3」 であれば、 S3707 において 3本の動きべク トルの中央値にあたる動きべク トルを使 用する。 なお、 ステップ S3704.における動き補償は、 1 本の動きべク ト ルを用いて 2方向の動き補償をしてもよい。 ここでの 2方向の動き補償 は、 1 本の動きべク トルと同一方向の動きべク トルと反対方向の動きべ ク トルとをこの 1本の動きべク トルを例えばスケーリングすることによ つて求めた上で行ってもよいし、 あるいは 1 本の動きベク トルと同一方 向の動きべク トルと動きべク トルが 「 0」 の動きべク トルとを用いて行 つてもよい。 次に、 図 3 4 ( b ) について説明する。
ステップ S3711 において第 2参照ィンデックス Ridxl が存在するプロ ックの数を計算する。
ステップ S3711 において計算されたブロックの数が Γ 0 J であれば、 さらにステップ S3712において第 1参照ィンデックス RidxOが存在する ブロックの数を計算する。 ステップ S3712において計算されたプロック の数が 「 0」 であれば、 S3713 において符号化対象ブロックの動きべク トルを 「 0」 として符号化対象ブロックを 2方向で動き補償する。 一方 ステップ S3712において計算されたブロックの数が Γ 1 」以上であれば、 S3714において第 1参照ィンデックス RidxOが存在するプロックの数に よって符号化対象ブロックの動きベク トルを決定する。 例えば、 第 1参 照インデックス R i dxOが存在するプロックの数によって決定された動き べク トルを用いて符号化対象ブロックの動き補償を行う。
ステップ S371 1 において計算されたブロックの数が Γ 1 j であれば、 S371 5 において第 2参照インデックス R ί dx 1 が存在するブロックの動き ベク トルを使用する。
ステップ S371 1 において計算されたプロックの数が Γ 2 J であれば、 S371 6 において第 2参照ィンデックス R i dx l が存在しないプロックにつ いて仮に第 2参照インデックス R i dxlに MV=0の動きべク トルがあるもの として、 3本の動きべク トルの中央値にあたる動きべク トルを使用する。 ステップ S371 1 において計算されたプロックの数が Γ 3 j であれば、 S371 7 において 3本の動きべク トルの中央値にあたる動きべク トルを使 用する。 なお、 ステップ S371 4における動き補償は、 1 本の動きべク ト ルを用いて 2方向の動き補償をしてもよい。 ここでの 2方向の動き補償 は、 1 本の動きベク トルと同一方向の動きベク トルと反対方向の動きべ ク トルとをこの 1 本の動きべク トルを例えばスケーリングすることによ つて求めた上で行ってもよいし、 あるいは 1 本の動きべク トルと同一方 向の動きべク トルと動きべク トルが 「 0」 の動きべク トルとを用いて行 つてもよい。
なお、 図 3 4 ( a ) と図 3 4 ( b ) それぞれについて説明したが、 両 方の処理を用いてもよいし、 一方の処理のみを用いても良い。 ただし、 —方の処理を用いる場合、 例えば、 図 3 4 ( a ) に示すステップ S3701 から始まる処理を行う場合で、 さらにステップ S3704の処理に至る場合 は、 図 3 4 ( b ) に示す S371 1 の処理以下を行うと良い。 また、 このよ うに、 S3704の処理に至る場合は、 ス亍ップ S371 1 以下の処理のうちス テツプ S371 2以下の処理を行うことが無いため、 動きべク トルを一意に 决定することができる。 また、 図 3 4 ( a ) と図 3 4 ( b ) の両方の処 理を用いる場合、 どちらの処理を先にしてもよく、 また併せて行っても 良い。 また、 符号化対象ブロックの周囲にあるブロックが直接モードに よって符号化されているブロックであるとき、 直接モードによって符号 化されているブロックが符号化されたときに用いられた動きべク トルカ 参照していたピクチャの参照インデックスを、 直接モードによって符号 化されているブロックであって符号化対象ブロックの周囲にあるブロッ クが有しているものと してもよい。
以下、 具体的なブロックの例を用いて動きべク トルの決定方法につい て詳しく説明する。 図 3 5は符号化対象ブロック B L 1 が参照するプロ ックそれぞれが有する動きベク トルの種類を示す図である。 図 35 ( a ) において、 画素 Aを有するブロックは画面内符号化されるブロックであ リ、 画素 Bを有するブロックは動きベク トルを 1本有し、 この 1本の動 きべク トルで動き補償されるブロックであり、 画素 Cを有するブロック は動きべク トルを 2本有して 2方向で動き補償されるブロックである。 また、 画素 Bを有するブロックは第 2参照インデックス R i dx l に示され る動きべク トルを有している。 画素 Aを有するブロックは画面内符号化 されるブロックであるため、 動きベク トルを有さず、 すなわち参照イン デックスも有さない。
ステップ S3701 において第 1参照インデックス R i dxOが存在するプロ ックの数を計算する。 図 35 に示すように第 1参照インデックス R i dxO が存在するブロックの数は 2本であるため、 ステップ S3706において第 1参照ィンデックス R i dxOが存在しないプロックについて仮に第 1参照 インデックス R i dxOに MV=0の動きべク トルがあるものとして、 3本の動 きベク トルの中央値にあたる動きベク トルを使用する。 この動きべク ト ルのみを用いて符号化対象プロックを 2方向の動き補償をしてもよいし, または、 以下に示すように第 2参照インデックス R i dx1 を用いて別の動 きベク トルを用いて、 2方向の動き補償をしてもよい。
ステップ S3711 において第 2参照インデックス Ridxl が存在するプロ ックの数を計算する。 図 35 に示すように第 2参照インデックス Ridxl が存在するブロックの数は 1 本であるため、 ステップ S3715において第 2参照インデックス Ridxl が存在するブロックの動きべク トルを使用す る。
さらに、 上記で説明した計算方法を組み合わせた別の例について説明 する。 図 3 6は画素 A、 B、 Cそれぞれを有するブロックが有する動き ベク トルが参照するピクチャを示す参照インデックスの値によって、 符 号化対象ブロックの動きべク トルを決定する手順を示す図である。 図 3 6 ( a ) ( b ) は第 1 参照インデックス RidxOを基準に動きべク トルを决 定する手順を示す図であり、 図 3 6 ( c ) ( d ) は第 2参照インデックス Ridxl を基準に動きべク トルを決定する手順を示す図である。 また、 図 3 6 ( a ) が第 1参照インデックス RidxOを基準にした手順を示してい るところを図 3 6 ( c ) は第 2参照インデックス Ridxl を基準にした手 順を示しており、 図 3 6 ( b ) が第 1参照インデックス Ri dxOを基準に した手順を示していると ころを図 3 6 ( d ) は第 2参照インデックス Ridxl を基準にした手順を示しているため、 以下の説明では図 3 6 ( a ) と図 3 6 ( b ) のみについて説明する。 まず図 3 6 ( a ) について説明 する。
ステップ S3801 において有効な第 1参照インデックス R i dxOの中で最 小の第 1参照ィンデックス RidxOを 1 つ選択できるか判断する。
ステツプ S3801 において有効な第 1参照ィンデックス RidxOの中で最 小の第 1参照ィンデックス RidxOを 1 つ選択できる場合、ステツプ S3802 において選択された動きべク トルを使用する。 ステップ S3801 において有効な第 1参照ィンデックス RidxOの中で最 小の第 1参照インデックス R i dxOが複数ある場合、 ステップ S3803にお いて優先順位によって選択されたブロックが有する動きベク トルを使用 する。 ここで、 優先順位とは、 例えば画素 Aを有するブロック、 画素 B を有するブロック、 画素 Cを有するブロックの順で符号化対象ブロック の動き補償に使用する動きべク トルを決定する。
ステップ S3801 において有効な第 1参照ィンデックス RidxOがない場 合、 ステップ S3804において S3802や S3803とは違う処理を行う。 例え ば、 図 3 4 ( b ) で説明したステップ S3711 以下の処理をすればよい。 次に、 図 3 6 ( b ) について説明する。 図 3 6 ( b ) が図 3 6 ( a ) と 異なる点は、 図 3 6 ( a ) におけるステップ S3803 とステップ S3804に おける処理を図 3 6 ( b ) に示すステップ S3813と した点である。
ステップ S3811 において有効な第 1 参照インデックス R i dxOの中で最 小の第 1参照ィンデックス RidxOを 1 つ選択できるか判断する。
ステップ S3811 において有効な第 1 参照インデックス R ί dxOの中で最 小の第 1参照インデックス RidxOを 1 つ選択できる場合、ステップ S3812 において選択された動きべク トルを使用する。
ステップ S3811 において有効な第 1 参照ィンデックス RidxOがない場 合、 ステップ S3813において S3812 とは違う処理を行う。 例えば、 図 3 4 ( b ) で説明したステップ S3711 以下の処理をすればよい。
なお、 上記で示した有効な第 1 参照インデックス RidxO とは図 3 5 ( b ) で Γ〇」 が記されている第 1 参照インデックス R i dxOのことであ リ、 動きべク トルを有していることが示されている参照インデックスの ことである。 また、 図 3 5 ( b ) 中、 「 xj が記されているところは、 参 照インデックスが割り当てられていないことを意味する。 また、 図 3 6 ( c ) におけるステップ S3824、 図 3 6 ( d ) におけるステップ S3833 では、図 3 4 ( a )で説明したステップ S 3701 以下の処理をすればよい。 以下、 具体的なブロックの例を用いて動きべク トルの決定方法につい て図 3 5を用いて詳しく説明する。
ステツプ S3801 において有効な第 1 参照ィンデックス RidxOの中で最 小の第 1 参照ィンデックス RidxOを 1 つ選択できるか判断する。
図 3 5に示す場合、有効な第 1参照インデックス RidxOは 2つあるが、 ステップ S3801 において有効な第 1参照ィンデックス RidxOの中で最小 の第 1参照ィンデックス RidxO を 1 つ選択できる場合、 ステップ S3802 において選択された動きべク トルを使用する。
ステップ S3801 において有効な第 1参照インデックス R i dxOの中で最 小の第 1 参照インデックス RidxOが複数ある場合、 ステップ S3803にお いて優先順位によって選択されたプロックが有する動きべク トルを使用 する。 ここで、 優先順位とは、 例えば画素 Aを有するブロック、 画素 B を有するブロック、 画素 Cを有するブロックの順で符号化対象ブロック の動き補償に使用する動きべク トルを決定する。 画素 Bを有するブロッ クと画素 Cを有するブロックとで同一の第 1 参照インデックス RidxOを 有する場合、 優先順位によリ画素 Bを有するプロックにおける第 1参照 インデックス RidxOが採用され、 この画素 Bを有するブロックにおける 第 1参照インデックス RidxOに対応した動きベク トルを用いて符号化対 象ブロック BL1 の動き補償がされる。 このとき、 決定された動きべク ト ルのみを用いて符号化対象ブロック BL1 を 2方向で動き補償してもよい し、 以下に示すように第 2参照インデックス Ridxl を用いて別の動きべ ク トルを用いて、 2方向の動き補償をしてもよい。
ステップ S3821 において有効な第 2参照インデックス Ridxl の中で最 小の第 2参照ィンデックス Ridxl を 1 つ選択できるか判断する。
図 3 5に示す場合、 有効な第 2参照インデックス Ridxl は 1 つである ため、 ステップ S3822において画素 Cを有するブロックにおける第 2参 照インデックス R i dx1 に対応した動きべク 卜ルを使用する。
なお、 上記で参照インデックスを有さないブロックについて、 動きべ ク トルの大きさが 「 0」 の動きベク トルを有しているものと して、 合計 3つの動きベク トルの中央値をとるようにした点に関しては、 動きべク トルの大きさが 「 0」 の動きべク トルを有しているものとして、 合計 3 つの動きべク トルの平均値をとるようにしても、 参照インデックスを有 するブロックが有する動きべク トルの平均値をとるようにしてもよい。 なお、 上記で説明した優先順位を、 例えば画素 Bを有するブロック、 画素 Aを有するブロック、 画素 Cを有するブロックの順とし、 符号化対 象ブロックの動き補償に使用する動きベク トルを決定するようにしても よい。
このように、 参照インデックスを用いて符号化対象ブロックを動き補 償をするときに用いる動きべク トルを決定することにより、 動きべク 卜 ルを一意に決定することができる。 また、 上述の例に拠れば、 符号化効 率の向上も図ることが可能である。 また、 時刻情報を用いて動きべク ト ルが前方参照か後方参照かを判断する必要が無いため、 動きべク トルを 決定するための処理を簡略させることができる。 また、 ブロック毎の予 測モード、 動き補償で用いられる動きべク トル等を考慮すると多くのパ ターンが存在するが、 上述のように一連の流れによって処理することが でき有益である。
なお、 本実施の形態においては、 参照する動きべク トルに対してピク チヤ間の時間的距離を用いてスケーリングすることによリ、 直接モード において用いる動きべク トルを計算する場合について説明したが、 これ は参照する動きベク トルを定数倍して計算しても良い。 ここで、 定数倍 に使用される定数は、 複数ブロック単位または複数ピクチャ単位で符号 化または復号化する場合に、 変更可能と しても良い。
なお、 参照インデックス R i dx0, R i dx 1 を用いた動きべク トルの計算方 法は、 中央値を用いた計算方法だけでなく、 他の計算方法と組み合わせ てもよい。 例えば、 前述の第 3の計算方法において、 それぞれ画素 A、 画素 B、 画素 Cを含むブロックのうち、 参照インデックスが最小となる 同じピクチャを参照する動きべク トルが複数ある場合に、 必ずしもそれ らの動きべク トルの中央値を計算する必要はなく、 それらの平均値を計 算し、 得られた動きベク トルを、 ブロック B L 1 の直接モー ドにおいて 用いる動きベク トルと してもよい。 あるいは、 参照インデックスが最小 となる複数の動きべク小ルの中から、 例えば、 符号化効率が最も高くな る動きべク トルを 1 つ選択すると してもよい。
また、 ブロック B L 1 の前方向動きべク トルと後方向動きべク トルと をそれぞれ独立して計算してもよいし、 関連付けて計算してもよい。 例 えば、 前方向動きべク トルと後方向動きべク トルとを同じ動きべク トル から計算してもよい。
また、 計算の結果得られた前方向動きべク トルと後方向動きべク トル とのいずれか一方をブロック B L 1 の動きべク トルとしてもよい。 (実施の形態 8 )
本実施の形態では、 参照ピクチャの参照ブロック M Bが、 長時間メモ リに保存されている参照ピクチャを第 1参照ピクチャと して参照する前 方向 (第 1 ) 動きベク トルと、 短時間メモリに保存されている参照ピク チヤを第 2参照ピクチャとして参照する後方向 (第 2 ) 動きベク トルと を有している。
図 3 7は長時間メモリに参照ピクチャが 1 つだけ保存されている場合 の直接モー ドにおける 2方向予測を示す図である。
実施の形態 8がこれまでの複数の実施の形態と異なる点は、 参照ピク チヤのブロック MB2の前方向 (第 1 ) 動きべク トル MV21 が長時間メモリ に保存されている参照ピクチャを参照している点である。
短時間メモリは、 一時的に参照ピクチャを保存するためのメモリであ リ、 例えぱピクチャがメモリに保存された順番 (すなわち符号化または 復号化の順序) でピクチャが保存されている。 そして、 ピクチャを短時 間メモリに新しく保存する際にメモリ容量が足りない場合には、 最も古 く メモリに保存されたピクチャから順に削除する。
長時間メモリでは、 必ずしも短時間メモリのように時刻の順番でピク チヤが保存されているとは限らない。 例えば、 画像を保存する順番とし ては画像の時刻の順番を対応させても良いし、 画像が保存されているメ モリのア ドレスの順番を対応させても良い。 したがって、 長時間メモリ に保存されているピクチャを参照する動きべク トル M21 を時間間隔に基 づいてスケ一リングすることはできない。
長時間メモリは短期間メモリのように一時的に参照ピクチャを保存す るためのものではなく、 継続的に参照ピクチャを保存するためのもので ある。 したがって、 長時間メモリに保存されている動きべク トルに対応 する時間間隔は、 短時間メモリに保存されている動きべク トルに対応す る時間間隔より相当大きい。
図 3 7において、長時間メモリ と短時間メモリの境界は図示した通り、 縦の点線で示されており、 これより左のピクチャに関する情報は長時間 メモリに保存され、 これよリ右のピクチャに対する情報は短時間メモリ に保存される。 ここでピクチャ P 2 3のブロック M B 1 が対象ブロック である。 また、 ブロック M B 2はブロック M B 1 と参照ピクチャ P 2 4 内において同じ位置にある参照ブロックである。 参照ピクチャ P 2 4の ブロック MB2 の動きべク トルのうち前方向 (第 1 ) 動きべク トル MV21 は長時間メモリに保存されているピクチャ P 2 1 を第 1 参照ピクチャと して参照する第 1動きべク トルであり、後方向(第 2 )動きべク トル MV25 は短時間メモリに保存されているピクチャ P 2 5を第 2参照ピクチャと して参照する第 2動きべク トルである。
前述の通り、 ピクチャ P 2 1 とピクチャ P 2 4との時間間隔 TR21 は、 長時間メモリに保存されているピクチャを参照する動きべク トル MV21 に対応し、 ピクチャ P 2 4とピクチャ P 2 5 との時間間隔 TR25は、短時 間メモリに保存されているピクチャを参照する動きベク トル MV25 に対 応し、 ピクチャ P 2 1 とピクチャ P 2 4との時間間隔 TR21 は、 ピクチャ P 2 4とピクチャ P 2 5との時間間隔 TR25より相当大きいか、不定とな ることがある。
したがって、 これまでの実施の形態のように参照ピクチャ P 2 4のブ ロック MB2の動きべク トルをスケーリングして対象ピクチャ P 2 3のブ ロック MB 1 の動きべク トルを求めるのではなく、 以下のような方法で対 象ピクチャ P 2 3のブロック MB 1 の動きべク 卜ルを計算する。
MV21 = MV21 '
MV24' = 0
上の式は、 参照ピクチャ P 2 4のブロック MB2の動きべク トルのうち 長時間メモリに保存されている第 1 動きべク トル MN21 をそのまま対象 ピクチャの第 1 動きベク トル MV21 'とするということを表している。 下の式は、 短時間メモリに保存されているピクチャ P 2 4への、 対象 ピクチャ P23のブロック MB1 の第 2動きべク トル MV24'は、 第 1 動きべ ク トル MV21 'よリも十分小さいので、 無視できるということを表してい る。 第 2動きべク トル MV24'は" 0 "として扱われる。
以上のようにして、 長時間メモリに保存されている参照ピクチャを第 1 参照ピクチャとして参照する 1 つの動きべク トルと短時間メモリに保 存されている参照ピクチャを第 2の参照ピクチャとして参照する 1 つの 動きべク トルとを参照ブロック M Bが有する場合、 参照ピクチャのプロ ックの動きべク トルのうち、 長時間メモリに保存された動きべク トルを そのまま使用して対象ピクチャのブロックの動きベク トルとして 2方向 予測をする。
なお、 長時間メモリに保存された参照ピクチャは、 第 1 参照ピクチャ または第 2ピクチャのいずれのピクチャであってもよく、 長時間メモリ に保存された参照ピクチャを参照する動きべク トル M V 2 1 は後方向動 きべク トルであってもよい。 また、 第 2参照ピクチャが長時間メモリに 保存され、第 1参照ピクチャが短時間メモリに保存されている場合には、 第 1 参照ピクチャを参照する動きベク トルにスケーリングを適用し、 対 象ピクチャの動きべク トルを計算する。
これにより、 長時間メ モリの相当大きい、 または不定となる時間を用 いないで 2方向予測の処理を行うことができる。
なお、 参照する動きべク 卜ルをそのまま使用するのではなく、 その動 きベク トルを定数倍して 2方向予測をしても良い。
また、 定数倍に使用される定数は、 複数ブロック単位または複数ピク チヤ単位で符号化または復号化する場合に、 変更可能と しても良い。 (実施の形態 9 )
本実施の形態では、 参照ピクチャの参照ブロック M Bが、 長時間メモ リに保存されている参照ピクチャを参照する 2つの前方向動きべク トル を有している場合の直接モードにおける 2方向予測を示す。
図 3 8は、 参照プロック M Bが長時間メモリに保存された参照ピクチ ャを参照する 2つの動きベク トルを有する場合の直接モードにおける 2 方向予測を示す図である。
実施の形態 9が実施の形態 8と異なる点は、 参照ピクチャのブロック MB2の動きべク トル MV21 と動きべク トル MV22両方が長時間メモリに保 存されているピクチャを参照する点である。
図 3 8において、長時間メモリと短時間メモリの境界は図示した通り、 縦の点線で示されており、 これよリ左のピクチャに関する情報は長時間 メモリに保存され、 これより右のピクチャに対する情報は短時間メモリ に保存される。 参照ピクチャ P24 のブロック MB2 の動きべク トル MV21 及び動きべク トル MV22は、 2つとも長時間メモリに保存されたピクチャ を参照している。参照ピクチャ P21 には動きべク トル MB21 が対応し、参 照ピクチャ P22には動きべク トル MV22が対応している。
長時間メモリに保存されているピクチャ P22を参照する動きべク トル MV22 に対応してピクチャ P22 と P24 との時間間隔 TR22は、 短時間メモ リに保存されているピクチャ P24とピクチャ P25との時間間隔 TR25よリ 相当大きい、 または不定となることがある。
図 3 8において、 動きべク トル MV22に対応するピクチャ P22、 動きべ ク トル MV21 に対応するピクチャ P21 の順で順香が割り当てられて、ピク チヤ P21、 ピクチャ P22が長時間メモリに保存されている。 図 3 8では 以下のように対象ピクチャのブロック MB 1 の動きべク トルを計算する。
MV22 ' = V22
V24' = 0
上の式は、 参照ピクチャ P24のブロック MB2の動きべク トルのうち、 最も割リ当てられた順番が小さいピクチャ P21 を参照する動きべク トル 圖 22をそのまま対象ピクチャ P23のブロック MB 1 の動きべク トル MV22 ' とするということを表している。
下の式は、 短時間メモリに保存されている対象ピクチャ P23のプロッ ク MB 1の後方向動きべク トル MV24'は動きべク トル MV21 'よりも十分小さ いので、無視できるということを表している。後方向動きべク トル MV24' は〃 0 "と して扱われる。 W
以上のようにして、 長時間メモリに保存された参照ピクチャのブロッ クの動きベク トルのうち最も割り当てられた順番が小さいピクチャを参 照する動きベク トルをそのまま使用して対象ピクチャのブロックの動き ベク トルとすることで、 長時間メモリの相当大きい、 または不定となる 時間を用いないで 2方向予測の処理を行うことができる。
なお、 参照する動きべク トルをそのまま使用するのではなく、 その動 きべク トルを定数倍して 2方向予測をしても良い。
また、 定数倍に使用される定数は、 複数ブロック単位または複数ピク チヤ単位で符号化または復号化する場合に、 変更可能と しても良い。 さらに、参照ピクチヤのブロック MB2の動きベク トル MV21 と動きべク トル MV22 との両方が長時間メモリに保存されているピクチャを参照す る場合、 第 1 参照ピクチャを参照する動きべク トルを選択すると しても よい。例えば、 MV21 が第 1参照ピクチャを参照する動きベク トルであり、 V22が第 2参照ピクチャを参照する動きべク トルである場合、 ブロック M B 1 の動きベク トルはピクチャ P 2 1 に対する動きベク トル M V 2 1 とピクチャ P 2 4に対する動きベク トル " 0 " とを用いることになる。 (実施の形態 1 0 )
本実施の形態では、 実施の形態 5から実施の形態 9に記載された直接 モードにおける動きべク トル計算方法について説明を行う。 この動きべ ク トル計算方法は、 画像の符号化または復号化の際いずれにも適用され る。 ここでは、 符号化または復号化の対象のブロックを対象ブロック M Bという。 また、 対象ブロック M Bの参照ピクチャ中において対象プロ ックと同じ位置にあるブロックを参照ブロックという。
図 3 9は、 本実施の形態に係る動きべク トル計算方法の処理の流れを 示す図である。
まず、 対象ブロック M Bの後方の参照ピクチャ中の参照ブロック M B が動きベク トルを有するか否かが判定される (ステップ S 1 )。参照ブロ ック M Bが動きべク トルを有していなければ (ステップ S 1 ; N o )、 動 きベク トルが 0 "と して 2方向予測されて (ステップ S 2 ) 動きべク ト ルを計算する処理が終了する。
参照ブロック M Bが動きベク トルを有していれば (ステップ S 1 ; Y e s )、参照プロック M Bが前方向動きべク トルを有するか否かが判定さ れる (ステップ S 3 )。
参照ブロック M Bが前方向動きべク トルを有しない場合 (ステップ S
3 ; N o )、参照ブロック M Bは後方向動きべク トルしか有していないの で、 その後方向動きべク トルの数が判定される (ステップ S 1 4 )。 参照 ブロック M Bの後方向動きべク トルの数が〃 2〃の場合、図 1 9、図 2 0、 図 2 1 および図 2 2で記載されたいずれかの計算方法にしたがってスケ ーリ ングされた 2つの後方向動きべク トルを用いて 2方向予測が行われ る (ステップ S 1 5 )。
一方、 参照ブロック M Bの後方向動きべク トルの数が" 1 "の場合、 参 照ブロック M Bが有する唯一の後方向動きベク トルをスケーリングして. スケーリ ングされた後方向動きベク トルを用いて動き補償が行われる (ステップ S 1 6 )。ステップ S 1 5またはステップ S 1 6の 2方向予測 が終了すると、 動きべク トルの計算方法の処理が終了する。
また、 参照ブロック M Bが前方向動きべク トルを有する場合 (ステツ プ S 3 ; Y e s )、参照ブロック M Bの前方向動きべク トルの数が判定さ れる (ステップ S 4 )。
参照プロック M Bの前方向動きべク トルの数が〃 1 "の場合、 参照プロ ック M Bの前方向動きベク トルに対応する参照ピクチャが長時間メモリ または短時間メモリ いずれに保存されているかが判定される (ステップ
S 5 )。 参照ブロック M Bの前方向動きべク トルに対応する参照ピクチャが短 時間メモリに保存されている場合、 参照ブロック M Bの前方向動きべク トルをスケーリングして、 スケーリングされた前方向動きべク トルを用 いて 2方向予測が行われる (ステップ S 6 )。
参照ブロック M Bの前方向動きべク トルに対応する参照ピクチャが長 時間メモリに保存されている場合、 図 3 フに示された動きべク トル計算 方法にしたがって、 参照ブロック M Bの前方向動きべク トルがスケ一リ ングされずずにそのまま用いられ、 後方向動きべク トルゼロとして 2方 向予測が行われる (ステップ S 7 )。ステップ S 6またはステップ S 7の 2方向予測が終了すると、 動きベク トルの計算方法の処理が終了する。 参照プロック M Bの前方向動きべク トルの数が" 2 "の場合、 参照プロ ック M Bの前方向動きべク トルの内、 長時間メモリに保存されている参 照ピクチャに対応する前方向動きべク トルの数が判定される (ステップ S 8 )。
長時間メモリに保存されている参照ピクチャに対応する前方向動きべ ク トルの数がステップ S 8において" 0〃の場合、 図 1 6に示した動きべ ク トル計算方法にしたがって、 対象プロック M Bが属する対象ピクチャ に表示時間順で近い動きべク トルをスケーリングして、 スケーリングさ れた動きべク トルを用いて 2方向予測が行われる (ステップ S 9 )。 長時間メモリ に保存されている参照ピクチャに対応する前方向動きべ ク トルの数がステツプ S 8において" 1〃の場合、 短時間メモリに保存さ れたピクチャを動きべク トルをスケーリングして、 スケーリングされた 動きベク トルを用いて 2方向予測が行われる (ステップ S 1 0 )。
長時間メモリに保存されている参照ピクチャに対応する前方向動きべ ク トルの数がステップ S 8において〃 2〃の場合、 2つの前方向動きべク トル両方によって、 長時間メモリ内の同じピクチャが参照されているか が判定される (ステップ S 1 1 )。 2つの前方向動きべク トル両方によつ て長時間メモリ内の同じピクチャが参照されている場合 (ステップ S 1 1 ; Y e s )、 図 1 5に記載した動きべク トル計算方法にしたがって、 長 時間メモリ内の 2つの前方向動きベク トルに参照されているピクチャの 内で先に符号化または復号化された動きべク トルを用いて 2方向予測が 行われる (ステップ S 1 2 )。
2つの前方向動きベク トル両方によって長時間メモリ内の同じピクチ ャが参照されていない場合 (ステップ S 1 1 ; N o ) , 図 3 8に記載され た動きべク トル計算方法にしたがって、 長時間メモリに保存されたピク チヤに割リ当てられた順番が小さいピクチャに対応する前方向動きべク トルを用いて 2方向予測が行われる (ステップ S 1 3 )。長時間メモリで は実際の画像の時刻とは関係なく参照ピクチャが保存されているので、 各参照ピクチャに割リ当てられた順番にしたがって 2方向予測に用いら れるべき前方向動きべク トルが選択されるようになっている。 また、 長 時間メモリに保存される参照ピクチャの順番は画像の時刻と一致する場 合もあるが、単にメモリのァ ドレスの順番と一致させても良い。つまリ、 長時間メモリに保存される画像の順序は必ずしも画像の時刻と一致して いなくてもよい。 ステップ S 1 2、 1 3の 2方向予測が終了すると、 動 きべク トルの計算方法の処理が終了する。
(実施の形態 1 1 )
以下、本発明の実施の形態 1 1 について図面を用いて詳細に説明する。 図 4 0は、 本発明の実施形態 1 1 に係る動画像符号化装置 1 0 0の構 成を示すブロック図である。 動画像符号化装置 1 0 0は、 フィール ド構 瑋で符号化されたプロックとフレーム構造で符号化されたプロックとが 混在する場合にも直接モードの空間的予測方法を適用して動画像の符号 化を行うことができる動画像符号化装置であって、 フレームメモリ 1 0 1 、差分演算部 1 0 2、予測誤差符号化部 1 0 3、符号列生成部 1 0 4、 予測誤差復号化部 1 0 5、 加算演算部 1 0 6、 フ レームメモリ 1 0 7、 動きべク トル検出部 1 0 8、モー ド選択部 1 0 9、符号化制御部 1 1 0、 スィ ッチ 1 1 1 、 スィ ッチ 1 1 2、 スィ ッチ 1 1 3、 スィ ッチ 1 1 4、 スィッチ 1 1 5および動きべク トル記憶部 1 1 6を備える。
フ レームメモリ 1 0 1 は、 入力画像をピクチャ単位で保持する画像メ モリである。 差分演算部 1 0 2は、 フレームメモリ 1 0 1 からの入力画 像と、 動きべク トルに基づいて復号化画像から求められた参照画像との 差分である予測誤差を求めて出力する。 予測誤差符号化部 1 0 3は、 差 分演算部 1 0 2で求められた予測誤差に周波数変換を施し、 量子化して 出力する。 符号列生成部 1 0 4は、 予測誤差符号化部 1 0 3からの符号 化結果を可変長符号化した後、 出力用の符号化ビッ トス トリームのフォ —マツ 卜に変換し、 符号化された予測誤差の関連情報を記述したヘッダ 情報などの付加情報を付して符号列を生成する。 予測誤差復号化部 1 0 5は、 予測誤差符号化部 1 0 3からの符号化結果を可変長復号化し、 逆 量子化した後、 I D C T変換などの逆周波数変換を施し、 予測誤差に復 号化する。 加算演算部 1 0 6は、 復号化結果である予測誤差に前記参照 画像を加算して、 符号化および復号化を経た画像データで入力画像と同 じ 1 ピクチャの画像を表した参照画像を出力する。 フ レームメモリ 1 0 7は、 参照画像をピクチャ単位で保持する画像メモリである。
動きべク トル検出部 1 0 8は、 符号化対象フ レームの符号化単位ごと に、 動きべク トルを検出する。 モード選択部 1 0 9は、 動きべク トルを 直接モードで計算するか他のモードで計算するかを選択する。 符号化制 御部 1 1 0は、 フ レームメモリ 1 0 1 に入力された時間順で格納されて いる入力画像のピクチャを、 符号化される順に入れ替える。 さらに、 符 号化制御部 1 1 0は、符号化対象フ レームの所定の大きさの単位ごとに、 フィールド構造で符号化を行うか、 フレーム構造で符号化を行うかを判 定する。 ここでは、 所定の大きさの単位はマクロブロック (例えば水平 1 6画素、 垂直 1 6画素) を縦方向に 2つ連結したもの (以下ではマク ロブロックペアと呼ぶ) とする。 フィールド構造で符号化するのであれ ばフ レームメモリ 1 0 1 からイ ンタ レースに対応して 1 水平走査線おき に画素値を読み出し、 フレーム単位で符号化するのであればフレームメ モリ 1 0 1 から順次、 入力画像の各画素値を読み出して、 読み出された 各画素値がフィールド構造またはフレーム構造に対応した符号化対象マ クロプロックペアを構成するようにメモリ上に配置する。 動きべク トル 記憶部 1 1 6は、 符号化済みマクロブロックの動きべク トルと、 その動 きべク トルが参照するフレームの参照インデックスとを保持する。 参照 インデックスについては、 符号化済みマクロブロックペア中の各マクロ プロックのそれぞれについて保持する。
次に、 以上のように構成された動画像符号化装置 1 0 0の動作につい て説明する。 入力画像は時間順にピクチャ単位でフレームメモリ 1 0 1 に入力される。 図 4 1 ( a ) は、 動画像符号化装置 1 0 0に時間順にピ クチャ単位で入力されるフ レームの順序を示す図である。 図 4 1 ( b ) は、 図 4 1 ( a ) に示したピクチャの並びを符号化の順に並び替えた場 合の順序を示す図である。 図 4 1 ( a ) において、 縦線はピクチャを示 し、 各ピクチャの右下に示す記号は、 一文字目のアルファべッ 卜力《ピク チヤタイプ ( I 、 Pまたは B ) を示し、 2文字目以降の数字が時間順の ピクチャ番号を示している。 また、 図 4 2は、 実施の形態 1 1 を説明す るための、 参照フレームリス ト 3 0 0の構造を示す図である。 フレーム メモリ 1 0 1 に入力された各ピクチャは、 符号化制御部 1 1 0によって 符号化順に並び替えられる。 符号化順への並び替えは、 ピクチャ間予測 符号化における参照関係に基づいて行われ、 参照ピクチヤとして用いら れるピクチャが、 参照ピクチヤとして用いるピクチャよりも先に符号化 されるように並び替えられる。
例えば、 Pピクチャは、 表示時間順で前方にある近傍の 1 または Pピ クチャ 3枚のうち 1枚を参照ピクチャと して用いるとする。 また、 Bピ クチャは、 表示時間順で前方にある近傍の I または Pピクチャ 3枚のう ち 1 枚と、 表示時間順で後方にある近傍の I または Pピクチャの 1枚と を参照ピクチャとして用いるものとする。 具体的には、 図 4 1 ( a ) で はピクチャ B 5およぴピクチャ B 6の後方に入力されていたピクチャ P 7は、 ピクチャ B 5およびピクチャ B 6によって参照されるため、 ピク チヤ B 5およぴピクチャ B 6の前に並び替えられる。 同様に、 ピクチャ B 8およびピクチャ B 9の後方に入力されていたピクチャ P 1 0はピク チヤ B 8およびピクチャ B 9の前方に、 ピクチャ B 1 1 およぴピクチャ B 1 2の後方に入力されていたピクチャ P 1 3はピクチャ B 1 1 および ピクチャ B 1 2の前方に並び替えられる。 これにより、 図 4 1 ( a ) の ピクチャを並び替えた結果は、 図 4 1 ( b ) のようになる。
フ レームメモリ 1 0 1 で並び替えが行われた各ピクチャは、 マクロブ ロックを垂直方向に 2つ連結したマクロブロックペアの単位で読み出さ れるものと し、 各マクロブロックは水平 1 6画素 X垂直 1 6画素の大き さであるとする。 従って、 マクロブロックペアは、 水平 1 6画素 X垂直 3 2画素の大きさとなる。 以下、 ピクチャ B 1 1 の符号化処理について 説明する。 なお、 本実施の形態における参照インデックスの管理、 すな わち参照フ レームリス 卜の管理は符号化制御部 1 1 0において行うもの とする。
ピクチャ B 1 1 は Bピクチヤであるので、 2方向参照を用いたピクチ ャ間予測符号化を行う。 ピクチャ B 1 1 は表示時間順で前方にあるピク チヤ P 1 0、 P 7、 P 4と表示時間順で後方にあるピクチャ P I 3のう ちの 2つのピクチャを参照ピクチャと して用いるものとする。 これらの 4つのピクチャのうち、 いずれの 2つのピクチャを選択するかは、 マク ロブロック単位で指定することができるとする。 また、 ここでは、 参照 インデックスは初期状態の方法で割り当てるものとする。 すなわちピク チヤ B 1 1 の符号化時における参照フレームリス ト 3 0 0は図 4 2に示 す通り となる。 この場合の参照画像は、 第 1 の参照ピクチャは図 4 2の 第 1参照インデックスにより指定し、 第 2の参照ピクチャは図 4 2の第 2参照インデックスにより指定するものとなる。
ピクチャ B 1 1 の処理においては、 符号化制御部 1 1 0は、 スィッチ 1 1 3がオン、 スィッチ 1 1 4とスィッチ 1 1 5とがオフになるように 各スィ ッチを制御するものとする。 よって、 フレームメモリ 1 0 1 から 読み出されたピクチャ B 1 1 のマクロブロックペアは、 動きベク トル検 出部 1 0 8、モード選択部 1 0 9および差分演算部 1 0 2に入力される。 動きべク トル検出部 1 0 8では、 フ レームメモリ 1 0 7に蓄積されたピ クチャ P 1 0、 ピクチャ P 7、 ピクチャ P 4およびピクチャ P I 3の復 号化画像データを参照ピクチャとして用いることにより、 マクロブロッ クペアに含まれる各マクロブロックの第 1 の動きベク トルと第 2の動き べク トルとの検出を行う。 モード選択部 1 0 9では、 動きべク トル検出 部 1 0 8で検出された動きべク トルを用いてマクロブロックペアの符号 化モードを決定する。 ここで、 Bピクチャの符号化モードは、 例えば、 ピクチャ内符号化、一方向動きベク トルを用いたピクチャ間予測符号化、 二方向動きベク トルを用いたピクチャ間予測符号化および直接モードか ら選択することができるものとする。 また、 直接モード以外の符号化モ —ドを選択する場合には、 マクロブロックペアをフレーム構造で符号化 するか、 フィール ド構造で符号化するかも併せて決定する。
ここでは、 直接モー ドの空間的予測方法を用いて動きべク トルを計算 する方法について説明する。 図 4 3 ( a ) は、 フィール ド構造で符号化 されるマクロブロックペアとフ レーム構造で符号化されるマクロブロッ クペアとが混在する場合の直接モード空間的予測方法を用いた動きべク トル計算手順の一例を示すフローチャートである。 図 4 3 ( b ) は、 符 号化対象マクロブロックペアがフ レーム構造で符号化される場合におい て本発明が適用される周辺マクロブロックペアの配置の一例を示す図で ある。 図 4 3 ( c ) は、 符号化対象マクロブロックペアがフィールド構 造で符号化される場合において本発明が適用される周辺マクロブロック ペアの配置の一例を示す図である。 図 4 3 ( b ) および図 4 3 ( c ) に 斜線で示すマクロブロックペアは、 符号化対象マクロブロックペアであ る。
符号化対象マクロブ口ックペアが直接モードの空間的予測を用いて符 号化される場合、 当該符号化対象マクロブロックペアの周辺の 3つの符 号化済みマクロブロックペアが選択される。 この場合、 符号化対象マク ロブロックペアは、 フィール ド構造またはフ レーム構造のいずれで符号 化されてもよい。 従って、 符号化制御部 1 1 0は、 まず、 符号化対象マ クロブロックペアをフィールド構造で符号化するか、 フ レーム構造で符 号化するかを決定する。 例えば、 周辺マクロブロックペアのうちフィー ルド構造で符号化されたものが多い場合、 符号化対象マクロブロックべ ァをフィールド構造で符号化し、 フ レーム構造で符号化されたものが多 い場合、 フ レーム構造で符号化する。 このように、 符号化対象マクロブ ロックペアをフ レーム構造で符号化するか、 フィールド構造で符号化す るかを、 周辺ブロックの情報を用いて決定することにより、 符号化対象 マクロブロックペアをいずれの構造で符号化したかを示す情報を符号列 中に記述する必要がなくなり、 かつ周囲のマクロブロックペアから構造 を予測しているため、 適した構造を選択することができる。 次いで、 動きべク トル検出部 1 0 8は、 符号化制御部 1 1 0の決定に 従って、 符号化対象マクロブロックペアの動きべク トルを計算する。 ま ず、 動きべク トル検出部 1 0 8は、 符号化制御部 1 1 0がフィールド構 造で符号化すると決定したのか、 フ レーム構造で符号化すると決定した のかを調べ(S 3 0 1 )、 フ レーム構造で符号化すると決定されている場 合は、 符号化対象マクロブロックペアの動きべク トルをフレーム構造で 検出し (S 3 0 2 )、 フィール ド構造で符号化すると決定されている場合 は、 符号化対象マクロブロックペアの動きべク トルをフィール ド構造で 検出する (S 3 0 3 )。
図 4 4は、 フ レーム構造で符号化する場合のマクロブロックペアのデ ータ構成とフィールド構造で符号化する場合のマクロブロックペアのデ ータ構成とを示す図である。 同図において、 白丸は奇数水平走査線上の 画素を示し、 斜線でハッチングした黒丸は偶数水平走査線上の画素を示 している。 入力画像を表す各フレームからマクロブロックペアを切り出 した場合、 図 4 4中央に示すように、 奇数水平走査線上の画素と偶数水 平走査線上の画素とは垂直方向に交互に配置されている。 このようなマ クロブロックペアをフ レーム構造で符号化する場合、 当該マクロブロッ クペアは 2つのマクロブロック M B 1 およびマクロブロック M B 2毎に 処理され、 マクロブロックペアを構成する 2つのマクロブロック M B 1 とマクロブロック M B 2とのそれぞれについて動きべク トルが求められ る。 また、 フィール ド構造で符号化する場合、 当該マクロブロックペア は、 水平走査線方向にインタ レースした場合の トップフィール ドを表す マクロブロック T Fとボトムフィールドを表すマクロブロック B Fとに 分けられ、 その動きベク トルは、 マクロブロックペアを構成する 2つの フィール ドにそれぞれ 1 つ求められる。
このようなマクロブロックペアを前提として、 図 4 3 ( b ) に示すよ うに、 符号化対象マクロブロックペアをフレーム構造で符号化する場合 について説明する。 図 4 5は、 図 4 3に示したステップ S 3 0 2におけ る、 より詳細な処理手順を示すフローチャートである。 なお、 同図にお いて、マクロブロックペアを M B P、マクロブロックを M Bと表記する。 モード選択部 1 0 9は、 まず、 符号化対象マクロブロックペアを構成 する 1 つのマクロブロック M B 1 (上部のマクロブロック) について、 1 つの動きベク トルを直接モードの空間的予測を用いて計算する。まず、 モード選択部 1 0 9は、 周辺マクロブロックペアが参照するピクチャの インデックスのうちの最小値を第 1 動きべク トルと第 2動きべク トルの インデックスのそれぞれについて求める (S 5 0 1 )。 ただしこの場合、 周辺マクロブロックペアがフ レーム構造で符号化されている場合には、 符号化対象マクロブロックに隣接するマクロブロックのみを用いて決定 する。 次に、 周辺マクロブロックペアがフィール ド構造で符号化されて いるか否かを調べ(S 5 0 2 )、 フィール ド構造で符号化されている場合 にはさらに、 当該周辺マクロブロックペアを構成する 2つのマクロプロ ックによつて参照されたフィールドのうち、 いくつのフィールドが最小 のインデックスが付されたフィールドであるかを、 図 4 2の参照フレー ムリス 卜から調べる (S 5 0 3 )。
ステップ S 5 0 3において調べた結果、 2つのマクロブロックによつ て参照されたフィールドがいずれも最小のインデックス (すなわち同じ インデックス) が付されたフィールドである場合には、 2つのマクロブ ロックの動きべク トルの平均値を求め、 当該周辺マクロブロックペアの 動きべク トルとする(S 5 0 4 )。これはインタ レース構造で考えた場合、 フレ一厶構造の符号化対象マクロブロックには、 フィール ド構造の周辺 マクロブロックペアの 2つのマクロブロックが隣接するためである。 ステップ S 5 0 3において調べた結果、 1 つのマクロブロックによつ て参照されたフィールドのみが最小のインデックスが付されたフィ一ル ドである場合には、 その 1 つのマクロブロックの動きべク トルを当該周 辺マクロブロックペアの動きベク トルとする (S 5 0 4 A)。 いずれも、 参照されたフィール ドが最小のインデックスが付されていないフィール ドである場合には、 当該周辺マクロブロックペアの動きべク トルを「 0」 とする ( S 5 0 5 )。
上記において、 周辺マクロブロックの動きべク トルのうち、 参照する フィールドが最小のインデックスが付されているフィールドの動きべク トルのみを用いることにより、 より符号化効率の高い動きべク トルを選 択することができる。 S 5 0 5の処理は、 予測に適した動きべク トルが ないと判断していることを示している。
ステップ S 5 0 2において調べた結果、 当該周辺マクロブロックペア がフレーム構造で符号化されている場合には、 当該周辺マクロブロック ペアのうち、 符号化対象マクロブロックに隣接するマクロブロックの動 きベク トルを当該周辺マクロブロックペアの動きベク トルとする (S 5 0 6 )。
モード選択部 1 0 9は、 上記ステップ S 5 0 1 からステップ S 5 0 6 までの処理を、 選択された 3つの周辺マクロブロックペアについて繰り 返す。 この結果、 符号化対象マクロブロックペア内の 1 つのマクロプロ ック、 例えば、 マクロブロック M B 1 について、 3つの周辺マクロブロ ックペアの動きべク トルがそれぞれ 1 つずつ求められたことになる。 次いで、 モード選択部 1 0 9は、 3つの周辺マクロブロックペアのう ち、 インデックスが最小のフレームまたはそのフレーム内のフィールド を参照しているものが 1 つであるか否かを調べる ( S 5 0 7 )。
この場合、 モード選択部 1 0 9は、 3つの周辺マクロブロックペアの 参照インデックスを参照フレームインデックスまたは参照フィールドィ ンデックスのいずれかに統一して比較する。 図 4 2に示した参照フレー ムリス 卜には、 フレームごとに参照インデックスが付されているだけで あるが、 この参照フレームインデックスと、 フィールドごとにインデッ クスが付されている参照フィール ドインデックスとは一定の関係にある ので、 参照フ レームリス トまたは参照フィールドリス トの一方から計算 によって他方の参照インデックスに変換することができる。
図 4 6は、 参照フィールドインデックスと参照フレームインデックス との関係を示す関係表示図である。
この図 4 6に示すように、 参照フィールドリス トには、 第 1 フィール ド f 1 及び第 2フィールド f 2により示されるフレームが時系列に沿つ て幾つか存在し、 各フ レームには、 符号化対象ブロックを含むフ レーム (図 4 6中ので示すフ レーム) を基準に、 0 , 1 , 2 , …といった参照 フレームインデックスが割り当てられている。 また、 各フレームの第 1 フィールド f 1及び第 2フィールド f 2には、 符号化対象プロックを含 むフレームの第 1 フィールド f 1 を基準に (第 1 フィールドが符号化対 象フィールドである場合)、 0, 1 , 2 , …といった参照フィールドイン デックスが割り当てられている。 なお、 この参照フィール ドインデック スは、 符号化対象フィールドに近いフレームの第 1 フィールド f 1 及び 第 2 フィール ド f 2から、 符号化対象プロックが第 1 フィールド f 1 で あれば第 1 フィール ド f 1 を優先させて、 符号化対象ブロックが第 2フ ィールド f 2であれば第 2フィールド f 2を優先させて割り当てられる, 例えば、 フレーム構造で符号化された周辺マク口プロックが参照フレ —ムインデックス 「 1 」 のフレームを参照しており、 フィールド構造で 符号化された周辺ブロックが参照フィール ドインデックス Γ 2 J の第 1 フィール ド f 1 を参照しているときには、 上記周辺マクロブロックはい ずれも同一ピクチャを参照していると して扱われる。 すなわち、 1 つの 周辺マクロブロックによって参照されるフレームの参照フ レームインデ ックスが、 他の 1 つの周辺マクロブロックの参照フィールドに割り当て られた参照フィールドインデックスの二分の一の値に等しい (小数点以 下は切り捨て) という前提条件を満たすときに、 その周辺マクロブロッ クは同一のピクチャを参照していると して扱われる。
例えば、 図 4 6中の厶で示す第 1 フィールド f 1 に含まれる符号化対 象ブロックが参照フィールドインデックス Γ 2 J の第 1 フィールド f 1 を参照しておリ、 フレーム構造である周辺マクロブ口ックが参照フレー ムインデックス 「 1 j のフレームを参照しているときには、 上記前提条 件を満たすため、 上記周辺ブロックは同一のピクチャを参照していると して扱われる。 一方、 ある周辺マクロブロックが参照フィールドインデ ックス Γ 2」 の第 1 フィールドを参照しており、 他の周辺マクロブロッ クが参照フレームインデックス 「 3」 のフレームを参照しているときに は、 上記前提条件を満たさないため、 その周辺ブロックは同一のピクチ ャを参照していないと して扱われる。
上記のように、ステップ S 5 0 7において調べた結果、 1 つであれば、 インデックスが最小のフレームまたはそのフレーム内のフィールドを参 照した周辺マクロブロックペアの動きべク トルを、 符号化対象マクロブ ロックの動きベク トルとする (S 5 0 8 )。ステップ S 5 0 7で調べた結 果、 1 つでなければ、 さらに、 3つの周辺マクロブロックペアのうち、 インデックスが最小のフレームまたはそのフレーム内のフィールドを参 照した周辺マクロブロックペアが 2つ以上あるか否かを調べ(S 5 0 9 ) , 2つ以上あれば、 その中でさらにインデックスが最小のフレームまたは そのフレーム内のフィールドを参照していない周辺マクロブロックペア があればその動きべク トルを 「0」 と した上 (S 5 1 0 )、 周辺マクロブ ロックペアの 3つの動きベク トルの中央値を符号化対象マクロブロック の動きべク トルとする (S 5 1 1 )。 また、 ステップ S 5 0 9で調べた結 果、 2つ未満であれば、 インデックスが最小のフレームまたはそのフ レ ーム内のフィール ドを参照した周辺マクロブロックペアの数は Γ 0 J な ので、 符号化対象マクロブロックの動きベク トルを 「 0」 とする (S 5 1 2 )。
以上の処理の結果、 符号化対象マクロブロックペアを構成する 1 つの マクロブロック例えば、 M B 1 について、 1 つの動きベク トル M V 1 が 計算結果として得られる。 モード選択部 1 0 9は、 上記処理を、 第 2の 参照インデックスを有する動きべク トルについても行い、 得られた 2つ の動きべク トルを用いて 2方向予測により動き補償を行う。 ただし、 周 辺マクロブロックペアのうち、 第 1 または第 2の動きべク トルを有する 周辺マクロブロックが存在しない場合には、 その方向の動きべク トルは 用いず、 1 方向のみの動きベク トルによリ動き補償を行う。 また、 符号 化対象マクロブロックペア内のもう 1 つのマクロブロック、 例えば、 マ クロブロック. M B 2についても同じ処理を繰り返す。 この結果、 1 つの 符号化対象マクロブロックペアにおける 2つの各マクロブロックについ て、 直接モードによる動き補償を行ったことになる。
次に、 図 4 3 ( c ) のように、 符号化対象マクロブロックペアをフィ 一ルド構造で符号化する場合について説明する。 図 4 7は、 図 4 3に示 したステップ S 3 0 3における、 より詳細な処理手順を示すフローチヤ ートである。 モード選択部 1 0 9は、 符号化対象マクロブロックペアを 構成する 1 つのマクロブロック、 例えば、 当該マクロブロックペアの ト ップフィールドに対応するマクロブロック T 「について、 1 つの動きべ ク 卜ル M V t を直接モードの空間的予測を用いて計算する。 まず、 モ一 ド選択部 1 0 9は、 周辺マクロブロックペアが参照するピクチャのイン デックスのうち最小値を求める (S 6 0 1 )。 ただし、 周辺マクロブロッ クペアがフィールド構造で処理されている場合には、 符号化対象マクロ ブロックと同一フィール ド(トップフィール ドまたはボトムフィール ド) のマクロブロックについてのみ考える。 次いで、 周辺マクロブロックぺ ァがフレーム構造で符号化されているか否かを調べ (S 6 0 2 )、 フレー ム構造で符号化されている場合にはさらに、 当該周辺マクロブロックぺ ァ内の 2つのマクロブロックによって參照されたフレームがいずれも最 小のインデックスが付されたフレームであるか否かを、 参照フレームリ ス ト 3 0 0によって各フレームに付与されたインデックスの値を基に判 断する ( S 6 0 3 )。
ステップ S 60 3において調べた結果、 2つのマクロブロックによつ て参照されたフレームがいずれも最小のインデックスである場合には、 2つのマクロブロックの動きべク トルの平均値を求め、 当該周辺マクロ ブロックペアの動きべク トルとする ( S 6 0 4)。ステップ S 6 0 3にお いて調べた結果、 一方または両方とも、 参照したフレームが最小のイン デックスを有しないフレームである場合には、 さらに、 いずれかのマク ロブロックによって参照されたフ レームが最小のインデックスを有して いるか否かを調べ ( S 6 05 )、 調べた結果、 いずれか一方のマクロプロ ックが参照したフレームに最小のインデックスが付されている場合には そのマクロブロックの動きベク トルを当該周辺マクロブロックペアの動 きべク トルと し (S 60 6 )、 ステップ S 6 0 5で調べた結果、 いずれの マクロブロックも、 参照したフレームに最小のインデックスが付されて いない場合には、 当該周辺マクロブロックペアの動きベク トルを r oj とする ( S 6 0 7 )。 上記において、 周辺マクロブロックの動きべク トル のうち、 参照するフ レームが最小のインデックスが付されているフ レー ムの動きベク トルのみを用いることにより、 より符号化効率の高い動き べク トルを選択することができる。 S 6 07の処理は、 予測に適した動 きベク トルがないと判断していることを示している。
また、 ステップ S 6 0 2において調べた結果、 当該周辺マクロブロッ クペアがフィールド構造で符,号化されている場合には、 当該周辺マクロ ブロックペア全体の動きべク トルを、 当該周辺マクロブロックペアにお いて、 符号化対象マクロブロックペア内の対象マクロブロックに対応す るマクロブロックの動きべク トルとする (S 6 0 8 )。モード選択部 1 0 9は、 上記ステップ S 6 0 1 からステップ S 6 0 8までの処理を、 選択 された 3つの周辺マクロブロックペアについて繰り返す。 この結果、 符 号化対象マクロブロックペア内の 1 つのマクロブロック、 例えば、 マク ロブロック T Fについて、 3つの周辺マクロブロックペアの動きべク 卜 ルがそれぞれ 1 つずつ求められたことになる。
次いで、 動きベク トル検出部 1 0 8は、 3つの周辺マクロブロックべ ァのうち、 インデックスが最小のフレームを参照しているものが 1 つで あるか否かを調べ (S 6 0 9 )、 1 つであれば、 インデックスが最小のフ レームを参照した周辺マクロブロックペアの動きベク トルを、 符号化対 象マクロブロックの動きべク トルとする (S 6 1 0 )。ステップ S 6 0 9 で調べた結果、 1 つでなければ、 さらに、 3つの周辺マクロブロックべ ァのうち、 インデックスが最小のフレームを参照した周辺マクロブロッ クペアが 2つ以上あるか否かを調べ (S 6 1 1 )、 2つ以上あれば、 その 中でさらにインデックスが最小のフレームを参照していない周辺マクロ ブロックペアの動きべク トルを 「 0」 と した上 (S 6 1 2 )、 周辺マクロ ブロックペアの 3つの動きベク トルの中央値を符号化対象マクロブロッ クの動きべク トルとする (S 6 1 3 )。 また、 ステップ S 6 1 1 で調べた 結果、 2つ未満であれば、 インデックスが最小のフレームを参照した周 辺マクロブロックペアの数は 「 0」 なので、 符号化対象マクロブロック の動きベク トルを 「 0」 とする (S 6 1 4 )。 以上の処理の結果、 符号化対象マクロブロックペアを構成する 1 つの マクロブロック例えば、 トップフィールドに対応するマクロブロック T Fについて、 1 つの動きベク トル M V tが計算結果として得られる。 モ —ド選択部 1 0 9は、 上記処理を、 第 2の動きベク トル (第 2の参照ィ ンデックスに対応) についても繰り返す。 これにより、 マクロブロック T Fについて 2つの動きべク トルが得られ、 これらの動きべク トルを用 いて 2方向予測による動き補償を行う。 ただし、 周辺マクロブロックぺ ァのうち、 第 1 または第 2の動きべク トルを有する周辺マクロブロック が存在しない場合には、 その方向の動きベク トルは用いず、 1方向のみ の動きベク トルにより動き補償を行う。 これは、 周辺マクロブロックべ ァが一方向のみしか参照していないということは、 符号化対象マク口ブ 口ックについても一方向のみを参照する方が、 符号化効率が高くなると 考えられるからである。
また、符号化対象マクロブロックペア内のもう 1 つのマクロブロック、 例えば、 ボトムフィールドに対応するマクロブロック B Fについても同 じ処理繰り返す。 この結果、 1 つの符号化対象マクロブロックペアにお ける 2つの各マクロブロック、 例えば、 マクロブロック T Fとマクロブ ロック B Fとについて、 直接モードによる処理を行ったことになる。 なお、 ここでは符号化対象マクロブロックペアの符号化構造と周辺マ クロブロックペアの符号化構造とが異なる場合には、 周辺マクロブロッ クペア内の 2つのマクロプロックの動きべク トルの平均値を求めるなど の処理を行って計算したが、 本発明はこれに限定されず、 例えば、 符号 化対象マクロブロックペアと周辺マクロプロックペアとで符号化構造が 同じ場合にのみ、 その周辺マクロブロックペアの動きべク トルを用い、 符号化対象マクロブロックペアと周辺マクロブロックペアとで符号化構 造が異なる場合には、 符号化構造が異なる周辺マクロブ口ックペアの動 きベク トルを用いないとしてもよい。 より具体的には、 まず、 ①符号化 対象マクロブロックペアがフ レーム構造で符号化される場合、 フ レーム 構造で符号化されている周辺マクロブロックペアの動きベク トルのみを 用いる。 この際に、 フレーム構造で符号化されている周辺マクロブロッ クペアの動きべク トルのうち、 インデックスが最小のフ レームを参照し たものがない場合、 符号化対象マクロブロックペアの動きべク トルを 「 0」 とする。 また、 周辺マクロブロックペアがフィール ド構造で符号 化されている場合、 その周辺マクロブロックペアの動きべク トルを「 0」 とする。 次に②符号化対象マクロブ口ックペアがフィール ド構造で符号 化される場合、 フィール ド構造で符号化されている周辺マクロブロック ペアの動きベク トルのみを用いる。 この際に、 フィールド構造で符号化 されている周辺マクロブロックペアの動きべク トルのうち、 インデック スが最小のフレームを参照したものがない場合、 符号化対象マクロブ口 ックペアの動きベク トルを 「 0」 とする。 また、 周辺マクロブロックぺ ァがフレーム構造で符号化されている場合、 その周辺マクロブロックぺ ァの動きべク 卜ルを 「 0」 とする。 このようにして各周辺マクロブロッ クペアの動きべク トルを計算した後、 ③これらの動きべク トルのうち、 最小のインデックスを有するフ レームまたはそのフィールドを參照して 得られたものが 1 つだけの場合は、 その動きべク トルを直接モードにお ける符号化対象マクロブロックペアの動きベク トルとし、 そうでない場 合には、 3つの動きべク トルの中央値を直接モー ドにおける符号化対象 マクロブロックペアの動きべク トルとする。
また、 上記説明では、 符号化対象マクロブロックペアをフィールド構 造で符号化するかフ レーム構造で符号化するかを、 符号化済みの周辺マ クロブロックペアの符号化構造の多数決で決定したが、 本発明はこれに 限定されず、例えば、直接モー ドでは、必ずフ レーム構造で符号化する、 または必ずフィ一ルド構造で符号化するというように固定的に定めてお いてもよい。 この場合、 例えば、 符号化対象となるフレームごとにフィ —ルド構造で符号化するかまたはフレーム構造で符号化するかを切り替 える場合には、 符号列全体のヘッダまたはフ レームごとのフレームへッ ダなどに記述すると してもよい。 切り替えの単位は、 例えば、 シーゲン ス、 G O P、 ピクチャ、 スライスなどであってもよく 、 この場合には、 それぞれ符号列中の対応するヘッダなどに記述しておけばよい。 このよ うにした場合でも、 符号化対象マクロブロックペアと周辺マクロブロッ クペアとで符号化構造が同じ場合にのみ、 その周辺マクロブロックペア の動きべク トルを用いる方法で、 直接モードにおける符号化対象マクロ ブロックペアの動きベク トルを計算することができることはいうまでも ない。 更に、 パケッ ト等で伝送する場合はヘッダ部とデータ部を分離し て別に伝送してもよい。 その場合は、 ヘッダ部とデータ部が 1 つのビッ 卜ス トリームとなることはない。 しかしながら、 パケッ トの場合は、 伝 送する順序が多少前後することがあっても、 対応するデータ部に対応す るヘッダ部が別のバケツ 卜で伝送されるだけであり、 1 つのビッ トス 卜 リームとなっていなくても同じである。 このように、 フレーム構造を用 いるのかフィールド構造を用いるのかを固定的に定めることにより、 周 辺ブロックの情報を用いて構造を決定する処理がなくなリ、 処理の簡略 化を図ることができる。
またさらには、 直接モードにおいて、 符号化対象マクロブロックペア をフレーム構造とフィールド構造の両者で処理し、 符号化効率が高い構 造を選択する方法を用いてもよい。 この場合、 フレーム構造とフィール ド構造のいずれを選択したかは、 符号列中のマクロブロックペアのへッ ダ部に記述すればよい。 このようにした場合でも、 符号化対象マクロブ ロックペアと周辺マクロブロックペアとで符号化構造が同じ場合にのみ その周辺マクロブロックペアの動きべク トルを用いる方法で、 直接モー ドにおける符号化対象マクロブロックペアの動きベク トルを計算するこ とができることはいうまでもない。このような方法を用いることにより、 フレーム構造とフィールド構造のいずれを選択したかを示す情報が符号 列中に必要となるが、 動き補償の残差信号をより削減することが可能と なり、 符号化効率の向上を図ることができる。
また上記の説明においては、 周辺マクロブロックペアはマクロブロッ クの大きさを単位と して動き補償されている場合について説明したが、 これは異なる大きさを単位として動き補償されていてもよい。この場合、 図 4 8 ( a )、 ( b ) に示すように、 符号化対象マクロブロックペアのそ れぞれのマクロブロックに対して、 a、 b、 cに位置する画素を含むブ ロックの動きべク トルを周辺マクロブロックペアの動きべク トルとする, ここで図 4 8 ( a ) は、 上部のマクロブロックを処理する場合を示し、 図 4 8 ( b ) は下部のマクロブロックを処理する場合を示している。 こ こで、 符号化対象マクロブロックペアと周辺マクロブロックペアとのフ レームノフィール ド構造が異なる場合、 図 4 9 ( a )、 ( b ) に示すよう な a、 b、 cの位置の画素を含むブロックと位置 a '、 b '、 c 'の画素を 含むブロックとを用いて処理を行う。 ここで位置 a '、 b '、 c 'は、 画素 a、 b、 cの位置に対応する同一マクロブロックペア内のもう一方のマ クロブロックに含まれるブロックである。 例えぱ図 4 9 ( a ) の場合、 符号化対象マクロブロックペアと周辺マクロブロックペアとのフ レーム フィール ド構造が異なる場合、 上部の符号化対象マクロブロックの左 側のブロックの動きべク トルは、 B L 1 と B L 2の動きべク トルを用い て決定する。 また、 図 4 9 ( b ) の場合、 符号化対象マクロブロックべ ァと周辺マクロブロックペアとのフ レーム/フィールド構造が異なる場 合、 上部の符号化対象マクロブロックの左側のブロックの動きべク トル は、 B L 3と B L 4の動きベク トルを用いて決定する。 このような処理 方法を用いることにより、 周辺マクロブロックがマクロブロックの大き さとは異なる単位で動き補償されている場合でも、 フ レーム , フィール ドの差を考慮した直接モ一ドの処理を行うことが可能となる。
また、 周辺マクロブロックペアがマクロブロックの大きさとは異なる 大きさを単位として動き補償されている場合には、 マクロブロックに含 まれるブロックの動きべク トルの平均値を求めることにより、 そのマク ロブロックの動きべク トルと しても良い。 周辺マクロブロックがマクロ ブロックの大きさとは異なる単位で動き補償されている場合でも、 フ レ ーム ' フィール ドの差を考慮した直接モー ドの処理を行うことが可能と なる。
さて、 上記のように、 動きべク トルが検出され、 検出され動きべク ト ルに基づいてピクチャ間予測符号化が行われた結果、 動きべク トル検出 部 1 0 8によって検出された動きベク トル、 符号化された予測誤差画像 は、 マクロブロックごとに符号列中に格納される。 ただし、 直接モー ド で符号化されたマクロブロックの動きべク トルについては、 単に直接モ 一ドで符号化されたことが記述されるだけで、 動きべク トルおよび参照 ィンデックスは符号列に記述されない。 図 5 0は、 符号列生成部 1 0 4 によって生成される符号列 7 0 0のデータ構成の一例を示す図である。 同図のように、 符号列生成部 1 0 4によって生成された符号列 7 0 0に は、 ピクチャ P i ctu r eごとにヘッダ Heade rが設けられている。 このへッ ダ Heade r には、例えば、参照フレームリス ト 1 0の変更を示す項目 RPSL および当該ピクチャのピクチャタイプを示す図示しない項目などが設け られており、項目 RPSLに-は、参照フレームリス ト 1 0の第 1参照インデ ックス 1 2および第 2参照インデックス 1 3の値の割り当て方に初期設 定から変更があった場合、 変更後の割り当て方が記述される。 —方、 符号化された予測誤差は、 マクロブロックごとに記録される。 例えば、 あるマクロプロックが直接モードの空間的予測を用いて符号化 されている場合には、 そのマクロブロックに対応する予測誤差を記述す る項目 B l ock l において、当該マクロブロックの動きベク トルは記述され ず、当該マクロブロックの符号化モー ドを示す項目 Pr edType に符号化モ ードが直接モードであることを示す情報が記述される。 また、 当該マク ロブロックペアがフレーム構造またはフィ一ルド構造のいずれで符号化 するかを前述の符号化効率の観点から選択するような場合には、 フレー ム構造またはフィールド構造のいずれが選択されたかを示す情報が記述 される。 これに続いて、符号化された予測誤差が項目 CodedResに記述さ れる。 また、 別のマクロブロックがピクチャ間予測符号化モードで符号 化されたマクロブロックである場合、 そのマクロブロックに対応する予 測誤差を記述する項目 B l ock2 の中の符号化モー ドを示す項目 Pr edType に、 当該マクロブロックの符号化モードがピクチャ間予測符号化モード であることが記述される。 この場合、 符号化モードのほか、 さらに、 当 該マクロブロックの第 1参照インデックス 1 2が項目 R i dxOに、 第 2参 照インデックス 1 3が項目 R i dxl に書き込まれる。 ブロック中の参照ィ ンデックスは可変長符号語によリ表現され、 値が小さいほど短い符号長 のコードが割り当てられている。 また、 続いて、 当該マクロブロックの 前方フ レーム参照時の動きベク トルが項目 MV0に、 後方フ レーム参照時 の動きべク トルが項目 MV 1 に記述される。 これに続いて、 符号化された 予測誤差が項目 CodedResに記述される。
図 5 1 は、 図 5 0に示した符号列 7 0 0を復号化する動画像復号化装 置 8 0 0の構成を示すブロック図である。 動画像復号化装置 8 0 0は、 直接モー ドで符号化されたマクロブロックを含んだ予測誤差が記述され ている符号列 7 0 0を復号化する動画像復号化装置であって、 符号列解 析部 7 O 1 、 予測誤差復号化部 7 0 2、 モ一ド復号部 7 0 3、 動き補償 復号部 7 0 5、 動きベク トル記憶部 7 0 6、 フ レームメ モリ 7 0 7、 加 算演算部 7 0 8、 スィッチ 7 0 9及びスィツチ 7 1 0、 動きべク トル復 号化部 7 1 1 を備える。 符号列解析部 7 0 1 は、 入力された符号列 7 0 0から各種データを抽出する。 ここでいう各種データとは、 符号化モー ドの情報および動きべク トルに関する情報などである。 抽出された符号 化モードの情報は、 モード復号部 7 0 3に出力される。 また、 抽出され た動きべク トル情報は、 動きべク トル復号化部 7 1 1 に出力される。 さ らに、 抽出された予測誤差符号化データは、 予測誤差復号化部 7 0 2に 対して出力される。 予測誤差復号化部 7 0 2は、 入力された予測誤差符 号化データの復号化を行い、 予測誤差画像を生成する。 生成された予測 誤差画像はスィッチ 7 0 9に対して出力される。 例えば、 スィッチ 7 0 9が端子 bに接続されているときには、 予測誤差画像は加算器 7 0 8に 対して出力される。
モー ド復号部 7 0 3は、 符号列から抽出された符号化モード情報を参 照し、 スィッチ 7 0 9とスィッチ 7 1 0との制御を行う。 符号化モード がピクチャ内符号化である場合には、スィッチ 7 0 9を端子 aに接続し、 スィッチ 7 1 0を端子 cに接続するように制御する。
符号化モードがピクチャ間符号化である場合には、 スィッチ 7 0 9を端 子 bに接続し、 スィッチ 7 1 0を端子 dに接続するように制御する。 さ らに、 モード復号部 7 0 3では、 符号化モードの情報を動き補償復号部 7 0 5と動きべク 卜ル復号化部 7 1 1 に対しても出力する。 動きべク ト ル復号化部 7 1 1 は、 符号列解析部 7 0 1 から入力された、 符号化され た動きべク トルに対して、 復号化処理を行う。 復号化された参照ピクチ ャ番号と動きべク トルは、 動きべク トル記憶部 7 0 6に保持されると同 時に、 動き補償復号部 7 0 5に対して出力される。 符号化モードが直接モードである場合には、 モード復号部 7 0 3は、 スィ ッチ 7 0 9を端子 bに接続し、 スィ ッチ 7 1 0を端子 dに接続する ように制御する。 さらに、 モー ド復号部 7 0 3では、 符号化モー ドの情 報を動き補償復号部 7 0 5と動きべク トル復号化部 7 1 1 に対しても出 力する。 動きべク トル復号化部 7 1 1 は、 符号化モードが直接モードで ある場合、 動きべク トル記憶部 7 0 6に記憶されている周辺マクロプロ ックペアの動きべク トルと参照ピクチャ番号とを用いて、 直接モードで 用いる動きベク トルを決定する。 この動きベク トルの決定方法は、 図 4 0のモード選択部 1 0 9の動作で説明した内容と同様であるので、 ここ では説明は省略する。
復号化された参照ピクチャ番号と動きべク トルとに基づいて、 動き補 償復号部 7 0 5は、 フレームメモリ 7 0 7からマクロブロックごとに動 き補償画像を取得する。 取得された動き補償画像は加算演算部 7 0 8に 出力される。 フ レームメモリ 7 0 7は、 復号化画像をフ レームごとに保 持するメモリである。 加算演算部 7 0 8は、 入力された予測誤差画像と 動き補償画像とを加算し、 復号化画像を生成する。 生成された復号化画 像は、 フ レームメモリ 7 0 7に対して出力される。
以上のように、 本実施の形態によれば、 直接モードの空間的予測方法 において、 符号化対象マクロブロックペアに対する符号化済み周辺マク ロブロックペアに、 フレーム構造で符号化されたものとフィールド構造 で符号化されたものとが混在する場合においても、 容易に動きべク トル を求めることができる。
なお、 上記の実施の形態においては、 各ピクチャはマクロブロックを 垂直方向に 2つ連結したマクロブロックペアの単位で、 フレーム構造ま たはフィール ド構造のいずれかを用いて処理される場合について説明し たが、 これは、 異なる単位、 例えばマクロブロック単位でフ レーム構造 またはフィール ド構造を切り替えて処理しても良い。
また、 上記の実施の形態においては、 Bピクチャ中のマクロブロック を直接モ一ドで処理する場合について説明したが、 これは Pピクチャで も同様の処理を行うことができる。 Pピクチャの符号化 ■ 復号化時にお いては、 各ブロックは 1 つのピクチャからのみ動き補償を行い、 また参 照フレームリス トは 1 つしかない。 そのため、 Pピクチャでも本実施の 形態と同様の処理を行うには、 本実施の形態において符号化 ■ 復号化対 象ブロックの 2つの動きべク トル (第 1 の参照フレームリス トと第 2の 参照フ レームリス ト) を求める処理を、 1 つの動きベク トルを求める処 理とすれば良い。
また、 上記の実施の形態においては、 3つの周辺マクロブロックペア の動きべク 卜ルを用いて、 直接モードで用いる動きべク 卜ルを予測生成 する場合について説明したが、 用いる周辺マクロブロックペアの数は異 なる値であっても良い。 例えば、 左隣の周辺マクロブロックペアの動き ベク トルのみを用いるような場合が考えられる。
(実施の形態 1 2 )
さらに、 上記各実施の形態で示した画像符号化方法および画像復号化 方法の構成を実現するためのプログラムを、 フレキシブルディスク等の 記憶媒体に記録するようにすることにより、 上記各実施の形態で示した 処理を、 独立したコンピュータシステムにおいて簡単に実施することが 可能となる。
図 5 2は、 上記実施の形態 1 から実施の形態 1 1 の画像符号化方法お よび画像復号化方法をコンピュータシステムにより実現するためのプロ グラムを格納するための記憶媒体についての説明図である。
図 5 2 ( b ) は、 フレキシブルディスクの正面からみた外観、 断面構 造、 及びフレキシブルディスクを示し、 図 5 2 ( a ) は、 記録媒体本体 であるフレキシブルディスクの物理フォーマツ 卜の例を示している。 フ レキシブルディスク F Dはケース F内に内蔵され、 該ディスクの表面に は、 同心円状に外周からは内周に向かって複数の トラック T rが形成さ れ、 各トラックは角度方向に 1 6のセクタ S eに分割されている。 従つ て、 上記プログラムを格納したフレキシブルディスクでは、 上記フレキ シブルディスク F D上に割り当てられた領域に、 上記プログラムとして の画像符号化方法および画像復号化方法が記録されている。
また、 図 5 2 ( c ) は、 フレキシブルディスク F Dに上記プログラム の記録再生を行うための構成を示す。 上記プログラムをフレキシブルデ イスク F Dに記録する場合は、 コンピュータシステム C sから上記プロ グラムと しての画像符号化方法および画像復号化方法をフレキシブルデ イスク ドライブを介して書き込む。 また、 フレキシブルディスク内のプ ログラムによリ上記画像符号化方法および画像復号化方法をコンピュー タシステム中に構築する場合は、 フレキシブルディスク ドライブによ y プログラムをフレキシブルディスクから読み出し、 コンピュータシステ ムに転送する。
なお、 上記説明では、 記録媒体と してフレキシブルディスクを用いて 説明を行ったが、光ディスクを用いても同様に行うことができる。また、 記録媒体はこれに限らず、 GD-R0M、 メモリカード、 R O Mカセッ ト等、 プログラムを記録できるものであれば同様に実施することができる。 さらにここで、 上記実施の形態で示した画像符号化方法や画像復号化 方法の応用例とそれを用いたシステムを説明する。
図 5 3は、 コンテンツ配信サービスを実現するコンテンツ供給システ ム ex l 0 0の全体構成を示すブロック図である。通信サービスの提供ェ リアを所望の大きさに分割し、 各セル内にそれぞれ固定無線局である基 地局 ex 1 0 7 ~ ex 1 1 0が設置されている。 このコンテンツ供給システム ex 1 0 0は、例えば、 インターネッ 卜 ex 1 0 1 にインターネッ トサービスプロバイダ ex 1 0 2およぴ電話網 ex 1 04、 および基地局 ex1 07〜ex1 1 0を介して、 コンピュータ ex 1 1 1 、 P D A (personal digital assistant) ex 1 1 2、 カメラ ex1 1 3、 携帯電話 exl 1 4、 カメラ付きの携帯電話 e x 1 1 5などの各機 器が接続される。
しかし、 コンテンツ供給システム exl 00は図 5 3のような組合せに 限定されず、いずれかを組み合わせて接続するようにしてもよい。また、 固定無線局である基地局 ex 1 0 7〜ex 1 1 0を介さずに、各機器が電話 網 ex 1 0 4に直接接続されてもよい。
カメラ ex 1 1 3はディジタルビデオカメラ等の動画撮影が可能な機 器である。また、携帯電話は、 P D C (Personal Di ital Communications) 方式、 C DM A (Code Di ision Multiple Access) 方式、 W— C DM A (Wideband-Code Division Multiple Access ) 方式、 若し く は G S M (Global System for Mobi le Communications) 方式の携帯電話機、 また は P H S (Personal Handyphone System) 等であり、 いずれでも構わな い。
また、ス トリ一ミングサーバ ex 1 0 3は、 カメラ ex 1 1 3から基地局 ex 1 0 9、電話網 ex 1 04を通じて接続されておリ、 カメラ ex 1 1 3を 用いてユーザが送信する符号化処理されたデータに基づいたライブ配信 等が可能になる。撮影したデータの符号化処理は力メラ exl 1 3で行つ ても、 データの送信処理をするサーバ等で行ってもよい。 また、 カメラ ex 1 1 6で撮影した動画データはコンピュータ exl 1 1 を介してス ト リーミングサーバ ex 1 0 3に送信されてもよい。カメラ ex 1 1 6はディ ジタルカメラ等の静止画、 動画が撮影可能な機器である。 この場合、 動 画データの符号化はカメラ exl 1 6で行ってもコンピュータ exl 1 1 で行ってもどちらでもよい。 また、 符号化処理はコンピュータ ex l 1 1 やカメ ラ ex l 1 6が有する L S I ex 1 1 7において処理するこどにな る。 なお、 画像符号化 '復号化用のソフ トウェアをコンピュータ ex l 1 1 等で読み取り可能な記録媒体である何らかの蓄積メディア (C D— R O M、 フレキシブルディスク、 ハードディスクなど) に組み込んでもよ い。 さらに、 カメラ付きの携帯電話 ex 1 1 5で動画データを送信しても よい。 このときの動画データは携帯電話 ex 1 1 5が有する L S I で符号 化処理されたデータである。
このコンテンツ供給システム ex 1 0 0では、ユーザがカメラ ex 1 1 3 . カメラ ex l 1 6等で撮影しているコンテンツ (例えば、 音楽ライブを撮 影した映像等) を上記実施の形態同様に符号化処理してス トリーミング サーバ ex 1 0 3に送信する一方で、ス トリーミングサーバ ex 1 0 3は要 求のあったクライアン卜に対して上記コンテンツデータをス トリー厶配 信する。 クライアン トと しては、 上記符号化処理されたデータを復号化 することが可能な、 コンピュータ ex 1 1 1 、 P D A ex 1 1 2、 カメラ ex 1 1 3、 携帯電話 ex l 1 4等がある。 このようにすることでコ ンテンツ 供給システム ex l 0 0は、符号化されたデータをクライアントにおいて 受信して再生することができ、 さらにクライアン トにおいてリアルタイ 厶で受信して復号化し、 再生することにより、 個人放送をも実現可能に なるシステムである。
このシステムを構成する各機器の符号化、 復号化には上記各実施の形 態で示した画像符号化装置あるいは画像復号化装置を用いるようにすれ ばよい。
その一例と して携帯電話について説明する。
図 5 4は、 上記実施の形態で説明した画像符号化方法と画像復号化方 法を用いた携帯電話 ex l 1 5を示す図である。携帯電話 ex l 1 5は、基 地局 ex 1 1 0との間で電波を送受信するためのアンテナ ex 2 0 1 、 C C Dカメラ等の映像、 静止画を撮ることが可能なカメラ部 ex 2 0 3、 カメ ラ部 ex 2 0 3で撮影した映像、アンテナ ex 2 0 1 で受信した映像等が復 号化されたデータを表示する液晶ディスプレイ等の表示部 ex2 0 2、操 作キ一 e X 2 0 4群から構成される本体部、 音声出力をするためのスピ 一力等の音声出力部 ex 2 0 8、音声入力をするためのマイク等の音声入 力部 ex 2 0 5、 撮影した動画もしくは静止画のデータ、 受信したメール のデータ、 動画のデータもしくは静止画のデータ等、 符号化されたデー タまたは復号化されたデータを保存するための記録メディア ex 2 0 7、 携帯電話 ex 1 1 5に記録メディア ex 2 0 7を装着可能とするためのス ロッ ト部 ex2 0 6を有している。記録メディア ex 2 0 7は S Dカード等 のプラスチックケース内に電気的に書換えや消去が可能な不揮発性メ モ リである E E P R O M ( E I ectr ical ly Erasable and Programmab I e Read On I y Memory) の一種であるフラッシュメモリ素子を格納したものである < さらに、 携帯電話 ex 1 1 5について図 5 5を用いて説明する。 携帯電 話 ex1 1 5は表示部 ex 2 0 2及び操作キー e x 2 0 4を備えた本体部 の各部を統括的に制御するようになされた主制御部 ex 3 1 1 に対して、 電源回路部 ex 3 1 0、 操作入力制御部 ex3 0 4、 画像符号化部 ex 3 1 2、 カメ ラインターフェース部 ex 3 0 3、 L C D (Liquid Crystal Display) 制御部 ex3 0 2、 画像復号化部 ex3 0 9、 多重分離部 ex 3 0 8、 記録再生部 ex3 0 7、 変復調回路部 ex3 0 6及び音声処理部 ex3 0 5が同期バス ex3 1 3を介して互いに接続されている。
電源回路部 ex3 1 0は、ユーザの操作によリ終話及び電源キーがオン 状態にされると、 パッテリパックから各部に対して電力を供給すること によ リカメラ付ディジタル携帯電話 ex 1 1 5を動作可能な状態に起動 する。 携帯電話 ex 1 1 5は、 C P U、 R O M及び R A M等でなる主制御部 ex 3 1 1 の制御に基づいて、音声通話モー ド時に音声入力部 ex 20 5で集 音した音声信号を音声処理部 ex 3 0 5によってディジタル音声データ に変換し、 これを変復調回路部 ex 3 0 6でスぺク 卜ラム拡散処理し、 送 受信回路部 ex3 0 1 でディジタルアナログ変換処理及び周波数変換処 理を施した後にアンテナ ex2 0 1 を介して送信する。また携帯電話機 ex 1 1 5は、音声通話モード時にアンテナ ex 2 0 1 で受信した受信データ を増幅して周波数変換処理及びアナログディジタル変換処理を施し、 変 復調回路部 ex 3 0 6でスペク トラム逆拡散処理し、音声処理部 ex 30 5 によってアナログ音声データに変換した後、 これを音声出力部 ex 208 を介して出力する。
さらに、 データ通信モー ド時に電子メールを送信する場合、 本体部の 操作キー e X 2 04の操作によって入力された電子メールのテキストデ —タは操作入力制御部 ex30 4を介して主制御部 ex 3 1 1 に送出され る。主制御部 ex 3 1 1 は、テキストデータを変復調回路部 ex 30 6でス ぺク トラ厶拡散処理し、送受信回路部 ex 3 0 1 でディジタルアナログ変 換処理及び周波数変換処理を施した後にアンテナ ex 2 0 1 を介して基 地局 ex 1 1 0へ送信する。
データ通信モード時に画像データを送信する場合、カメラ部 ex 203 で撮像された画像データをカメラインターフヱース部 ex 3 03を介し て画像符号化部 ex3 1 2に供給する。 また、 画像データを送信しない場 合には、 カメラ部 ex 2 0 3で撮像した画像データをカメラインターフエ ース部 ex 3 0 3及び L C D制御部 ex 30 2を介して表示部 ex 2 0 2に 直接表示することも可能である。
画像符号化部 ex3 1 2は、本願発明で説明した画像符号化装置を備え た構成であり、 カメラ部 ex 20 3から供給された画像データを上記実施 の形態で示した画像符号化装置に用いた符号化方法によつて圧縮符号化 することにより符号化画像データに変換し、 これを多重分離部 ex 3 08 に送出する。 また、 このとき同時に携帯電話機 ex 1 1 5は、 カメ ラ部 ex 2 0 3で撮像中に音声入力部 ex20 5で集音した音声を音声処理部 ex 3 0 5を介してディジタルの音声データ として多重分離部 ex3 0 8に 送出する。
多重分離部 ex3 0 8は、画像符号化部 ex 3 1 2から供給された符号化 画像データと音声処理部 ex 3 0 5から供給された音声データとを所定 の方式で多重化し、その結果得られる多重化データを変復調回路部 ex 3 0 6でスぺク トラム拡散処理し、送受信回路部 ex 3 0 1 でディジタルァ ナログ変換処理及び周波数変換処理を施した後にアンテナ ex 2 0 1 を 介して送信する。
データ通信モード時にホームページ等にリンクされた動画像ファイル のデータを受信する場合、アンテナ ex 2 0 1 を介して基地局 ex1 1 0か ら受信した受信データを変復調回路部 ex3 0 6でスぺク トラ厶逆拡散 処理し、 その結果得られる多重化データを多重分離部 ex 3 0 8に送出す る。
また、 アンテナ ex 2 0 1 を介して受信された多重化データを復号化す るには、 多重分離部 ex3 0 8は、 多重化データを分離することによリ画 像データのビッ トス トリームと音声データのビッ トス トリームとに分け 同期バス ex3 1 3を介して当該符号化画像データを画像復号化部 ex3 0 9に供給すると共に当該音声データを音声処理部 ex 3 0 5に供給す る。
次に、 画像復号化部 ex 3 09は、 本願発明で説明した画像復号化装置 を備えた構成であり、 画像データのビッ トス トリ一ムを上記実施の形態 で示した符号化方法に対応した復号化方法で復号することにより再生動 画像データを生成し、 これを L C D制御部 ex 3 0 2を介して表示部 ex 2 0 2に供給し、 これにより、 例えばホームページにリンクされた動画 像ファイルに含まれる動画データが表示される。 このとき同時に音声処 理部 ex 3 0 5は、 音声データをアナログ音声データに変換した後、 これ を音声出力部 ex 2 0 8に供給し、 これにより、 例えばホームページにリ ンクされた動画像ファイルに含まる音声データが再生される。
なお、 上記システムの例に限られず、 最近は衛星、 地上波によるディ ジタル放送が話題となっておリ、 図 5 6に示すようにディジタル放送用 システムにも上記実施の形態の少なく とも画像符号化装置または画像復 号化装置のいずれかを組み込むことができる。 具体的には、 放送局 ex 4 0 9では映像情報のビッ トス トリームが電波を介して通信または放送衛 星 ex 4 1 0に伝送される。 これを受けた放送衛星 ex 4 1 0は、放送用の 電波を発信し、 この電波を衛星放送受信設備をもつ家庭のアンテナ ex 4 0 6で受信し、 テレビ (受信機) ex 4 0 1 またはセッ ト トツプボックス ( S T B ) ex 4 0 7などの装置により ビッ トス トリームを復号化してこ れを再生する。 また、 記録媒体である CDや DVD等の蓄積メディア ex 4 0 2に記録したビッ トス トリー厶を読み取り、復号化する再生装置 ex 4 0 3にも上記実施の形態で示した画像復号化装置を実装することが可能 である。この場合、再生された映像信号はモニタ ex 4 0 4に表示される。 また、 ケーブルテレビ用のケーブル ex 4 0 5または衛星 地上波放送の アンテナ ex 4 0 6に接続されたセッ ト トップボックス ex 4 0 7内に画 像復号化装置を実装し、 これをテレビのモニタ ex 4 0 8で再生する構成 も考えられる。 このときセッ ト トップボックスではなく、 テレビ内に画 像復号化装置を組み込んでも良い。 また、 アンテナ ex 4 1 1 を有する車 ex 4 1 2で衛星 ex 4 1 0からまたは基地局 ex 1 0 7等から信号を受信 し、車 ex 4 1 2が有するカーナビゲ一シヨン ex 4 1 3等の表示装置に動 画を再生することも可能である。
更に、画像信号を上記実施の形態で示した画像符号化装置で符号化し、 記録媒体に記録することもできる。 具体例としては、 DVD ディスク e X 4 2 1 に画像信号を記録する DVD レコーダや、 ハードディスクに記録す るディスク レコーダなどのレコーダ e X 4 2 0がある。 更に SDカード e X 4 2 2に記録することもできる。 レコーダ e x 4 2 0が上記実施の形 態で示した画像復号化装置を備えていれば、 DVD ディスク e X 4 2 1や SDカード e x 4 2 2に記録した画像信号を再生し、モニタ e x 4 0 8で 表示することができる。
なお、 カーナビゲーシヨン ex4 1 3の構成は例えば図 5 5に示す構成 のうち、 カメラ部 ex 2 0 3 とカメラインタ一フェース部 ex 3 0 3、画像 符号化部 e X 3 1 2を除いた構成が考えられ、 同様なことがコンビユー タ ex1 1 1 やテレビ (受信機) ex40 1等でも考えられる。
また、 上記携帯電話 ex 1 1 4等の端末は、 符号化器■復号化器を両方 持つ送受信型の端末の他に、 符号化器のみの送信端末、 復号化器のみの 受信端末の 3通りの実装形式が考えられる。
このように、 上記実施の形態で示した動画像符号化方法あるいは動画 像復号化方法を上述したいずれの機器 ■ システムに用いることは可能で あり、 そうすることで、 上記実施の形態で説明した効果を得ることがで きる。
また、 本発明はかかる上記実施形態に限定されるものではなく、 本発 明の範囲を逸脱することなく種々の変形または修正が可能である。 産業上の利用の可能性
本発明に係る画像符号化装置は、 通信機能を備えるパーソナルコンビ ユータ、 P D A、 ディジタル放送の放送局および携帯電話機などに備え られる画像符号化装置と して有用である。
また、 本発明に係る画像復号化装置は、 通信機能を備えるパーソナル コンピュータ、 P D A、 ディジタル放送を受信する S T Bおよび携帯電 話機などに備えられる画像復号化装置と して有用である。

Claims

請 求 の 範 囲
1 . 複数のピクチャを参照してピクチャ間予測を行う際の動きべク 卜 ルの計算方法であって、
表示時間順で前方にある複数のピクチャもしくは表示時間順で後方 にある複数のピクチャもしくは表示時間順で前方および後方の両方にあ る複数のピクチャを参照することができる参照ステップと、
ピクチャ間予測を行うブロックが属するピクチャとは別のピクチャ の前記ブロックと同じ位置にあるブロックの動きベク トルを参照して、 前記ピクチャ間予測を行うブロックの動き補償を行う場合に、 前記動き ベク トルを参照されるブロックに対してすでに求められている動きべク トルのうち、 所定の条件を満足する少なく とも 1 つの動きべク トルを用 いて前記ピクチャ間予測を行うブロックの動きベク トルを計算する動き 補償ステップとを含む
ことを特徴とする動きべク トル計算方法。
2 . 前記参照ステップでは、 表示時間順で前方にあるピクチャを優先 して識別番号を昇順で付与された第 1 のピクチャの並びと、 表示時間順 で後方にあるピクチャを優先して識別番号を昇順で付与された第 2のピ クチャの並ぴとから、 それぞれ 1 つのピクチャを参照することができ、 前記動き補償ステップでは、 前記動きべク トルを参照されるブロック において前記第 1 の並びにあるピクチャを参照する動きべク トルを用い る
ことを特徴とする請求の範囲 1記載の動きベク トル計算方法。
3 . 前記動き補償ステップでは、 前記第 2の並びにあるピクチャのう ち最小の識別番号を有するピクチャを前記別のピクチャと し、 前記ピク チヤ間予測を行うブロックの動きベク トルを計算する
ことを特徴とする請求の範囲 2記載の動きベク トル計算方法。
4 . 前記動き補償ステップでは、 前記動きベク トルを参照されるプロ ックが、 長時間メモリに保存されるピクチャを参照する動きべク トルを 複数有する時、 ピクチャ間予測を行うブロックの動きべク トルと して、 前記長時間メモリに保存されるピクチャを参照する動きべク トルのうち 前記第 1 の並びにあるピクチャを参照する動きべク トルを用いる
ことを特徴とする請求の範囲 2記載の動きべク トル計算方法。
5 . 前記動き補償ステップでは、 前記動きべク トルを参照されるプロ ックにおいて表示時間順で前方にあるピクチャを参照する動きベク トル のうち、 少なく とも 1 つを用いて前記ピクチャ間予測を行うブロックの 動きべク トルを計算する
ことを特徴とする請求の範囲 1 記載の動きべク トル計算方法。
6 . 前記動き補償ステップでは、 前記動きべク トルを参照されるプロ ックが 1 または複数の動きべク トルを有する時、 先に符号化または復号 化された動きべク トル、 または先に符号列に記述された動きべク トルを 用いて前記ピクチャ間予測を行うブロックの動きベク トルを計算する ことを特徴とする請求の範囲 1 記載の動きベク トル計算方法。
7 . 前記動き補償ステップでは、 前記動きベク トルを参照されるプロ ックが、 表示時間順で前方または後方にあるピクチャを参照する複数の 動きべク トルを有する時、 前記複数の動きべク トルのうちの少なく とも 1 つを用いて前記ピクチャ間予測を行うブロックの 1 つの動きべク トル を計算する
ことを特徴とする請求の範囲 1記載の動きベク トル計算方法。
8 . 前記動き補償ステップでは、 前記動きベク トルを参照されるプロ ックが表示時間順で前方または後方にあるピクチャを参照する複数の動 きべク トルを有する場合に、 前記複数の動きべク トルのうちピクチャ間 予測を行うピクチャに表示時間順で近いピクチャを参照する 1 つの動き べク トルまたは表示時間順で遠いピクチャを参照する 1 つの動きべク ト ルを用いて、 動き補償を行うための動きべク トルを計算する
ことを特徴とする請求の範囲 1記載の動きベク トル計算方法。
9 . 前記動き補償ステップでは、 前記動きべク トルを参照されるプロ ックが、 長時間メモリに保存されているピクチャを参照する動きべク ト ルを 1 つ有する時、 前記ピクチャ間予測を行うブロックの動きべク トル として、 前記長時間メモリに保存されているピクチャを参照する動きべ ク トルを割り当てる
ことを特徴とする請求の範囲 1 ~ 8のいずれか 1 項に記載の動きべク トル計算方法。
1 0 . 前記動き補償ステップでは、
前記動きべク トルを参照されるブロックが、 長時間メモリに保存され ているピクチャを参照する動きべク トルを少なく とも 1 つ有する時、 前 記長時間メモリに保存されているピクチャを参照する動きべク トルが、 前記動きべク トルを参照されるプロックのピクチャよリ表示時間順で前 方にあるピクチャを参照する動きべク トルである場合、 その動きべク ト ルを前記ピクチャ間予測を行うブロックの動きベク トルとする ことを特徴とする請求の範囲 1 ~ 8のいずれか 1項に記載の動きべク トル計算方法。
1 1 . 前記動き補償ステップでは、 さらに、 前記ピクチャ間予測を行 うブロックの動きべク トルの計算を行う途中段階、 または最終結果に対 して、 所定の動きベク トルの精度への丸め演算を行う
ことを特徴とする請求の範囲 1 〜 8のいずれか 1項に記載の動きべク 卜ル計算方法。
1 2 . 複数のピクチャを参照してピクチャ間予測を行う際の動きべク トルの計算方法であって、
記憶部に格納されている複数の符号化済ピクチャから符号化対象ピク チヤ上のブロックを動き補償により求めるときに参照する第 1 の参照ピ クチャと第 2の参照ピクチャのうち少なく とも一方の参照ピクチャを選 択するときに用いる第 1参照インデックスまたは第 2参照インデックス を前記符号化済ピクチャに対して付与する付与ステップと、
前記符号化対象ピクチャ上のブロックを動き補償するときに、 前記符 号化対象ピクチャ上のブロックの周囲にある周辺ブロックの動きべク ト ルのうち第 1参照インデックスを有する動きべク トルが複数あるとき、 それらの中央値を示す動きベク トルを選択する第 1選択ステップと、 前記第 1 選択ステップで選択された動きべク トルを用いて前記符号化 対象ピクチャより表示時間順で、 前方にあるピクチャまたは後方にある ピクチャまたは前方と後方にあるピクチャを参照する動きベク トルを導 出する導出ステップと
を含むことを特徴とする動きべク トル計算方法。
1 3 . 前記第 1選択ステップでは、 第 1参照インデックスを有する動 きべク トルのうち、 さらに、 第 1参照インデックスの値が最小のものの 中央値を示す動きべク トルを選択する
ことを特徴とする請求の範囲 1 2記載の動きべク トル計算方法。
1 4 . 前記第 1選択ステップは、 さらに、 前記符号化対象ピクチャ上 のブロックの周囲にある周辺ブロックの動きべク 卜ルのうち第 2参照ィ ンデックスを有する動きべク トルが複数あるとき、 それらの中央値を示 す動きべク トルを選択する第 2選択ステップを含む
ことを特徴とする請求の範囲 1 3記載の動きべク トル計算方法。
1 5 . 前記第 2選択ステップでは、 第 2参照インデックスを有する動 きべク トルのうち、 さらに、 第 2参照インデックスの値が最小のものの 中央値を示す動きべク トルを選択する
ことを特徴とする請求の範囲 1 4記載の動きべク トル計算方法。
1 6 . 前記導出ステップでは、 前記第 1選択ステップにおいて選択さ れた動きべク トルを、 前記符号化対象ピクチャ上のブロックが前記符号 化対象ピクチャょリ表示時間順で前方にあるピクチャを参照する際の動 きべク トルとし、 前記第 2選択ステップにおいて選択された動きべク ト ルを、 前記符号化対象ピクチャ上のブロックが前記符号化対象ピクチャ より表示時間順で後方にあるピクチャを参照する際の動きベク トルとす る
ことを特徴とする請求の範囲 1 5記載の動きべク トル計算方法。
1 7 . 前記導出ステップでは、 前記第 1選択ステップにおいて選択さ れた動きべク トルを、 前記符号化対象ピクチャ上のブロックが前記第 1 の参照ピクチャを参照する際の動きべク トルとし、 前記第 2選択ステツ プにおいて選択された動きべク トルを、 前記符号化対象ピクチャ上のブ ロックが前記第 2の参照ピクチャを参照する際の動きべク トルとする ことを特徴とする請求の範囲 1 5記載の動きべク トル計算方法。
1 8 . 前記周辺プロックが他のプロックが有する動きべク トルを用い て符号化する直接モードのブロックであるとき、 前記他のブロックを符 号化または復号化するときに実質的に用いた動きべク トルを前記直接モ ードのブロックの動きべク トルとする
ことを特徴とする請求の範囲 1 2記載の動きべク トル計算方法。
1 9 . 前記動きべク トル計算方法では、 前記第 1 選択ステツプに代え て、
前記符号化対象ピクチャ上のブロックを動き補償するときに、 前記符 号化対象ピクチャ上のブロックの周囲にある周辺ブロックの動きべク 卜 ルのうち最小の第 1参照インデックスを有する動きベク トルの数に応じ て動きベク トルの導出方法を決定する判断ステップを含み、
前記導出ステップでは、 前記選択された動きべク トルの代わりに、 決 定された動きベク トル導出方法を用いて前記符号化対象ピクチャより表 示時間順で前方にあるピクチャまたは後方にあるピクチャまたは前方と 後方にあるピクチャを参照する動きべク トルを導出すると
を含むことを特徴とする請求の範囲 1 2記載の動きべク トル計算方法,
PCT/JP2003/004805 2002-04-19 2003-04-16 Procede de calcul de vecteurs de mouvement WO2003090473A1 (fr)

Priority Applications (42)

Application Number Priority Date Filing Date Title
MXPA03011333A MXPA03011333A (es) 2002-04-19 2003-04-16 Metodo para calcular vectores de movimiento.
EP16157926.3A EP3054680B1 (en) 2002-04-19 2003-04-16 Motion vector calculating method
EP17204555.1A EP3324623B1 (en) 2002-04-19 2003-04-16 Motion vector calculating method
EP19160688.8A EP3525465B1 (en) 2002-04-19 2003-04-16 Picture decoding method and apparatus
CA2451568A CA2451568C (en) 2002-04-19 2003-04-16 Motion vector calculation method
EP17204573.4A EP3324626B1 (en) 2002-04-19 2003-04-16 Motion vector calculating method
ES03725587.4T ES2576629T3 (es) 2002-04-19 2003-04-16 Método de cálculo de vectores de movimiento
KR1020097013226A KR100931746B1 (ko) 2002-04-19 2003-04-16 움직임 벡터 계산방법
EP19160699.5A EP3525467B1 (en) 2002-04-19 2003-04-16 Bitstream decoding method and apparatus
EP03725587.4A EP1411729B1 (en) 2002-04-19 2003-04-16 Motion vector calculating method
US10/480,928 US7940845B2 (en) 2002-04-19 2003-04-16 Motion vector calculating method
AU2003231356A AU2003231356B2 (en) 2002-04-19 2003-04-16 Motion vector calculation method
EP19160689.6A EP3525466B1 (en) 2002-04-19 2003-04-16 Motion vector determining method and apparatus
EP19160686.2A EP3525464B1 (en) 2002-04-19 2003-04-16 Picture coding and decoding method and system
BRPI0304534A BRPI0304534B1 (pt) 2002-04-19 2003-04-16 método e aparelho para determinar o vetor de movimento
EP17204569.2A EP3324625B1 (en) 2002-04-19 2003-04-16 Motion vector calculating method
EP17204565.0A EP3324624B1 (en) 2002-04-19 2003-04-16 Motion vector calculating method
KR1020037015504A KR101031423B1 (ko) 2002-04-19 2003-04-16 움직임 벡터 계산방법
KR1020087006472A KR100931750B1 (ko) 2002-04-19 2003-04-16 움직임 벡터 계산방법
US11/976,750 US7733960B2 (en) 2002-04-19 2007-10-26 Motion vector calculation method
US12/766,254 US8290049B2 (en) 2002-04-19 2010-04-23 Motion vector calculation method
US13/606,612 US8605789B2 (en) 2002-04-19 2012-09-07 Motion vector calculation method
US14/015,296 US8964848B2 (en) 2002-04-19 2013-08-30 Motion vector calculation method
US14/015,263 US8929453B2 (en) 2002-04-19 2013-08-30 Motion vector calculation method
US14/015,281 US8971411B2 (en) 2002-04-19 2013-08-30 Motion vector calculation method
US14/015,406 US8958480B2 (en) 2002-04-19 2013-08-30 Motion vector calculation method
US14/602,665 US9083980B2 (en) 2002-04-19 2015-01-22 Motion vector calculation method
US14/602,696 US9264730B2 (en) 2002-04-19 2015-01-22 Motion vector calculation method
US14/969,715 US9516338B2 (en) 2002-04-19 2015-12-15 Motion vector calculation method
US14/969,627 US9485519B2 (en) 2002-04-19 2015-12-15 Motion vector calculation method
US15/338,740 US9723323B2 (en) 2002-04-19 2016-10-31 Motion vector calculation method
US15/338,754 US9693074B2 (en) 2002-04-19 2016-10-31 Motion vector calculation method
US15/338,807 US9723324B2 (en) 2002-04-19 2016-10-31 Motion vector calculation method
US15/338,830 US9723325B2 (en) 2002-04-19 2016-10-31 Motion vector calculation method
US15/338,880 US9729896B2 (en) 2002-04-19 2016-10-31 Motion vector calculation method
US15/640,800 US9955181B2 (en) 2002-04-19 2017-07-03 Motion vector calculation method
US15/640,840 US9948948B2 (en) 2002-04-19 2017-07-03 Motion vector calculation method
US15/640,824 US9948947B2 (en) 2002-04-19 2017-07-03 Motion vector calculation method
US15/640,829 US10097855B2 (en) 2002-04-19 2017-07-03 Motion vector calculation method
US16/119,280 US10397602B2 (en) 2002-04-19 2018-08-31 Motion vector calculation method
US16/119,337 US10440386B2 (en) 2002-04-19 2018-08-31 Motion vector calculation method
US16/119,446 US10404995B2 (en) 2002-04-19 2018-08-31 Motion vector calculation method

Applications Claiming Priority (22)

Application Number Priority Date Filing Date Title
JP2002118598 2002-04-19
JP2002-118598 2002-04-19
JP2002121053 2002-04-23
JP2002-121053 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
JP2002-177889 2002-06-19
JP2002177889 2002-06-19
JP2002193027 2002-07-02
JP2002-193027 2002-07-02
JP2002-204713 2002-07-12
JP2002204713 2002-07-12
JP2002262151 2002-09-06
JP2002-262151 2002-09-06
JP2002-290542 2002-10-02
JP2002290542 2002-10-02
JP2002323096 2002-11-06
JP2002-323096 2002-11-06

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US10/480,928 A-371-Of-International US7940845B2 (en) 2002-04-19 2003-04-16 Motion vector calculating method
US11/976,750 Continuation US7733960B2 (en) 2002-04-19 2007-10-26 Motion vector calculation method

Publications (1)

Publication Number Publication Date
WO2003090473A1 true WO2003090473A1 (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 Before (1)

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

Country Status (12)

Country Link
US (24) US7940845B2 (ja)
EP (3) EP3525466B1 (ja)
KR (4) KR20040099100A (ja)
CN (2) CN1277419C (ja)
AU (2) AU2003235174A1 (ja)
CA (2) CA2451571A1 (ja)
ES (5) ES2745058T3 (ja)
HU (8) HUE053955T2 (ja)
MX (1) MXPA03011334A (ja)
MY (1) MY155930A (ja)
PT (3) PT3525464T (ja)
WO (2) WO2003090475A1 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007517438A (ja) * 2003-12-31 2007-06-28 中国科学院計算技木研究所 参照フレームの数を固定する符号化方式で画像の参照ブロックを取得する方法
JP2007517437A (ja) * 2003-12-31 2007-06-28 中国科学院▲計▼算技▲術▼研究所 直接符号化モードでの参照画像ブロックの確定方法
JPWO2005062625A1 (ja) * 2003-12-22 2007-07-19 日本電気株式会社 動画像を符号化する方法及び装置
TWI419569B (zh) * 2003-12-23 2013-12-11 Tamiras Per Pte Ltd Llc 在數位視訊序列進行瞬時移動向量過濾的方法
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
US9402087B2 (en) 2004-08-16 2016-07-26 Nippon Telegraph And Telephone Corporation Picture encoding method, picture decoding method, picture encoding apparatus, picture decoding apparatus, picture encoding program, and picture decoding program
US9888237B2 (en) 2002-01-25 2018-02-06 Microsoft Technology Licensing, Llc Video coding

Families Citing this family (148)

* Cited by examiner, † Cited by third party
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
PT3525464T (pt) 2002-04-19 2021-04-06 Panasonic Ip Corp America Método e sistema de codificação e descodificação de imagem
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
CN1312927C (zh) * 2002-07-15 2007-04-25 株式会社日立制作所 动态图像编码方法及解码方法
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
ES2653437T3 (es) 2002-08-08 2018-02-07 Godo Kaisha Ip Bridge 1 Procedimiento de descodificación de imágenes en movimiento
KR100506864B1 (ko) 2002-10-04 2005-08-05 엘지전자 주식회사 모션벡터 결정방법
ES2496979T3 (es) * 2002-11-01 2014-09-22 Panasonic Intellectual Property Corporation Of America Procedimiento de codificación de imágenes en movimiento y procedimiento de decodificación de imágenes en movimiento
KR100693669B1 (ko) * 2003-03-03 2007-03-09 엘지전자 주식회사 피일드 매크로 블록의 레퍼런스 픽쳐 결정 방법
US20050013498A1 (en) 2003-07-18 2005-01-20 Microsoft Corporation Coding of motion vector information
CN1875637A (zh) * 2003-08-26 2006-12-06 汤姆森特许公司 最小化用于相互编码的参考画面数目的方法和装置
US8064520B2 (en) 2003-09-07 2011-11-22 Microsoft Corporation Advanced bi-directional predictive coding of interlaced video
US7616692B2 (en) * 2003-09-07 2009-11-10 Microsoft Corporation Hybrid motion vector prediction for interlaced forward-predicted fields
US7724827B2 (en) 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
US7623574B2 (en) * 2003-09-07 2009-11-24 Microsoft Corporation Selecting between dominant and non-dominant motion vector predictor polarities
US7567617B2 (en) * 2003-09-07 2009-07-28 Microsoft Corporation Predicting motion vectors for fields of forward-predicted interlaced video frames
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
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
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
JP2009514592A (ja) * 2005-11-03 2009-04-09 チェフェル カンパニー リミテッド 調理容器用オーバーフロー防止蓋
JP4616765B2 (ja) * 2005-12-15 2011-01-19 富士通株式会社 動画像符号化装置
KR100904442B1 (ko) 2006-01-09 2009-06-24 엘지전자 주식회사 영상 신호의 레이어 간 예측 방법
KR20070074453A (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
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
JP4720543B2 (ja) * 2006-03-01 2011-07-13 ソニー株式会社 データ処理装置、データ処理方法およびデータ処理プログラム、記録媒体、ならびに、再生装置、再生方法および再生プログラム
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
US8559510B2 (en) * 2006-08-10 2013-10-15 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. 大腸癌の評価方法、ならびに大腸癌評価装置、大腸癌評価方法、大腸癌評価システム、大腸癌評価プログラムおよび記録媒体
JP4427086B2 (ja) * 2006-12-27 2010-03-03 パナソニック株式会社 動画像復号化装置
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
ES2812473T3 (es) 2008-03-19 2021-03-17 Nokia Technologies Oy Vector de movimiento combinado y predicción de índice de referencia para la codificación de vídeo
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
ES2850074T3 (es) * 2009-06-18 2021-08-25 Toshiba Kk Aparato de decodificación de vídeo y procedimiento de decodificación de vídeo
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
AU2013202014A1 (en) * 2010-01-14 2013-04-18 Samsung Electronics Co., Ltd Method and apparatus for encoding and decoding motion vector
KR101522850B1 (ko) * 2010-01-14 2015-05-26 삼성전자주식회사 움직임 벡터를 부호화, 복호화하는 방법 및 장치
JP5248632B2 (ja) 2010-01-14 2013-07-31 インテル コーポレイション 動き推定のための技術
US20110176611A1 (en) * 2010-01-15 2011-07-21 Yu-Wen Huang Methods for decoder-side motion vector derivation
CN102131091B (zh) * 2010-01-15 2013-01-23 联发科技股份有限公司 解码端运动向量导出方法
WO2011093688A2 (ko) * 2010-02-01 2011-08-04 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
MX2012010863A (es) * 2010-04-01 2012-10-15 Sony Corp Dispositivo y metodo de procesamiento de imagenes.
KR101752418B1 (ko) * 2010-04-09 2017-06-29 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
EP2580912B1 (en) 2010-07-09 2017-01-25 Samsung Electronics Co., Ltd Method for decoding video by using block merging
US9124898B2 (en) * 2010-07-12 2015-09-01 Mediatek Inc. Method and apparatus of temporal motion vector prediction
ES2785606T3 (es) 2010-07-20 2020-10-07 Ntt Docomo Inc Dispositivo de decodificación predictiva de imágenes, método de decodificación predictiva de imágenes
US9602813B2 (en) * 2010-08-18 2017-03-21 Sk Telecom Co., Ltd. Image encoding/decoding device and method, and reference picture indexing device and method
DK3001686T3 (da) * 2010-10-06 2020-03-23 Ntt Docomo Inc Indretning, fremgangsmåde og program til biprædiktiv billedafkodning
RU2010144450A (ru) 2010-10-29 2012-05-10 ЭлЭсАй Корпорейшн (US) Оценка движения для видео транскодера
WO2012070235A1 (ja) * 2010-11-24 2012-05-31 パナソニック株式会社 動きベクトル算出方法、画像符号化方法、画像復号方法、動きベクトル算出装置および画像符号化復号装置
US10778969B2 (en) 2010-12-17 2020-09-15 Sun Patent Trust Image coding method and image decoding method
ES2934221T3 (es) * 2010-12-22 2023-02-20 Lg Electronics Inc Método de intrapredicción y aparato que utiliza el método
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
KR102292708B1 (ko) 2011-01-07 2021-08-23 엘지전자 주식회사 영상 정보 부호화 방법 및 복호화 방법과 이를 이용한 장치
CN106851306B (zh) 2011-01-12 2020-08-04 太阳专利托管公司 动态图像解码方法和动态图像解码装置
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
JP5323273B2 (ja) * 2011-02-10 2013-10-23 パナソニック株式会社 動画像符号化方法、及び動画像符号化装置
WO2012114694A1 (ja) 2011-02-22 2012-08-30 パナソニック株式会社 動画像符号化方法、動画像符号化装置、動画像復号方法、および、動画像復号装置
US10171813B2 (en) 2011-02-24 2019-01-01 Qualcomm Incorporated Hierarchy of motion prediction video blocks
JP5883431B2 (ja) * 2011-02-25 2016-03-15 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America 画像符号化方法および画像復号化方法
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
PL3136727T3 (pl) 2011-04-12 2018-11-30 Sun Patent Trust Sposób kodowania ruchomych obrazów i urządzenie do kodowania ruchomych obrazów
WO2012160803A1 (ja) 2011-05-24 2012-11-29 パナソニック株式会社 画像符号化方法、画像符号化装置、画像復号方法、画像復号装置、および、画像符号化復号装置
CA2834123C (en) 2011-05-27 2020-02-11 Panasonic Corporation Image coding method, image coding apparatus, image decoding method, image decoding apparatus, and image coding and decoding apparatus
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
EP4270953A3 (en) 2011-05-31 2023-11-22 Sun Patent Trust Video decoding method, video decoding device
JP5786478B2 (ja) * 2011-06-15 2015-09-30 富士通株式会社 動画像復号装置、動画像復号方法、及び動画像復号プログラム
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
MX2013013508A (es) 2011-06-23 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.
TWI581615B (zh) 2011-06-24 2017-05-01 Sun Patent Trust A decoding method, a coding method, a decoding device, an encoding device, and a coding / decoding device
EP2725792B1 (en) 2011-06-24 2018-08-22 Sun Patent Trust Image decoding method and image decoding device
AU2012277214B2 (en) 2011-06-27 2016-05-05 Sun Patent Trust Decoding method, coding method, decoding apparatus, coding apparatus, and coding and decoding apparatus
WO2013001765A1 (ja) 2011-06-28 2013-01-03 パナソニック株式会社 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置及び画像符号化復号装置
EP2728875B1 (en) 2011-06-28 2019-01-09 LG Electronics Inc. Method for setting motion vector list
WO2013001767A1 (ja) 2011-06-29 2013-01-03 パナソニック株式会社 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置及び画像符号化復号装置
KR102060619B1 (ko) 2011-06-30 2019-12-30 선 페이턴트 트러스트 화상 복호 방법, 화상 부호화 방법, 화상 복호 장치, 화상 부호화 장치 및 화상 부호화 복호 장치
KR102200578B1 (ko) 2011-06-30 2021-01-11 가부시키가이샤 제이브이씨 켄우드 화상 부호화 장치, 화상 부호화 방법, 화상 부호화 프로그램, 화상 복호 장치, 화상 복호 방법 및 화상 복호 프로그램
KR102365353B1 (ko) * 2011-06-30 2022-02-23 가부시키가이샤 제이브이씨 켄우드 화상 부호화 장치, 화상 부호화 방법, 화상 부호화 프로그램, 화상 복호 장치, 화상 복호 방법 및 화상 복호 프로그램
AU2012277220B2 (en) 2011-06-30 2016-08-11 Sun Patent Trust Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus
KR101900986B1 (ko) 2011-06-30 2018-09-20 선 페이턴트 트러스트 화상 복호 방법, 화상 부호화 방법, 화상 복호 장치, 화상 부호화 장치, 및, 화상 부호화 복호 장치
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.
CN106851295B (zh) 2011-07-11 2019-10-18 太阳专利托管公司 编码方法及编码装置
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 太阳专利托管公司 图像编码方法、图像编码装置、图像解码方法及图像解码装置
KR102365524B1 (ko) 2011-11-02 2022-02-23 타지반 투 엘엘씨 동화상 부호화 방법, 동화상 부호화 장치, 동화상 복호 방법, 동화상 복호 장치, 및, 동화상 부호화 복호 장치
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
RU2566957C2 (ru) 2011-11-08 2015-10-27 Самсунг Электроникс Ко., Лтд. Способ и устройство для определения вектора движения в кодировании или декодировании видео
WO2013099031A1 (ja) * 2011-12-28 2013-07-04 株式会社安川電機 エンジニアリングツール
US20130177084A1 (en) * 2012-01-10 2013-07-11 Qualcomm Incorporated Motion vector scaling in video coding
TWI580259B (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
JPWO2013111596A1 (ja) * 2012-01-26 2015-05-11 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America 動画像符号化方法および動画像符号化装置
CA2827194C (en) 2012-02-03 2018-01-16 Panasonic Corporation Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus
EP2824920A4 (en) 2012-03-06 2016-02-17 Panasonic Ip Corp America VIDEO CODING METHOD, VIDEO CODING METHOD, VIDEO COORDING DEVICE, VIDEO CODING DEVICE AND VIDEO CODING / DECODING DEVICE
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
CN104704827B (zh) 2012-11-13 2019-04-12 英特尔公司 用于下一代视频的内容自适应变换译码
US9106793B2 (en) 2013-01-03 2015-08-11 Cisco Technology, Inc. Method and apparatus for motion based participant switching in multipoint video conferences
EP3085085A4 (en) * 2014-01-29 2017-11-08 MediaTek Inc. Method and apparatus for adaptive motion vector precision
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
CN116647695A (zh) 2018-09-06 2023-08-25 Lg电子株式会社 图像解码设备、图像编码设备和数据发送设备
CN111083491A (zh) 2018-10-22 2020-04-28 北京字节跳动网络技术有限公司 细化运动矢量的利用
WO2020098655A1 (en) 2018-11-12 2020-05-22 Beijing Bytedance Network Technology Co., Ltd. Motion vector storage for inter prediction
CN117319644A (zh) 2018-11-20 2023-12-29 北京字节跳动网络技术有限公司 基于部分位置的差计算
WO2020103870A1 (en) * 2018-11-20 2020-05-28 Beijing Bytedance Network Technology Co., Ltd. Inter prediction with refinement in video processing
CN117119181B (zh) * 2019-02-20 2024-03-26 北京达佳互联信息技术有限公司 用于视频编码和视频解码的方法、计算设备和存储介质
JP2022521554A (ja) 2019-03-06 2022-04-08 北京字節跳動網絡技術有限公司 変換された片予測候補の利用
US11601656B2 (en) * 2021-06-16 2023-03-07 Western Digital Technologies, Inc. Video processing in a data storage device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05137131A (ja) * 1991-11-13 1993-06-01 Sony Corp フレーム間動き予測方法
JP2001045498A (ja) * 1996-09-09 2001-02-16 Sony Corp 画像符号化装置および画像符号化方法、画像復号化装置および画像復号化方法、並びに記録媒体および記録方法
JP2001224036A (ja) * 1995-10-18 2001-08-17 Sharp Corp 動画像符号化装置
JP2001268581A (ja) * 1997-04-09 2001-09-28 Matsushita Electric Ind Co Ltd 画像予測復号化方法,画像予測復号化装置,画像予測符号化方法,画像予測符号化装置,及びデータ記憶媒体

Family Cites Families (43)

* Cited by examiner, † Cited by third party
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 富士通株式会社 蓄積用動画像符号化方式における補間フレームのベクトル探索方法
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 シャープ株式会社 映像符号化装置及び映像復号化装置
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
US5809173A (en) * 1995-04-18 1998-09-15 Advanced Micro Devices, Inc. Method and apparatus for improved video decompression using previous frame DCT coefficients
EP1274254B1 (en) * 1995-08-29 2011-07-06 Sharp Kabushiki Kaisha Video coding device and video decoding device with a motion compensated interframe prediction
JP2872109B2 (ja) * 1996-05-14 1999-03-17 株式会社グラフィックス・コミュニケーション・ラボラトリーズ 動画像符号化方法および装置
JP3263807B2 (ja) * 1996-09-09 2002-03-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
US6005980A (en) * 1997-03-07 1999-12-21 General Instrument Corporation Motion estimation and compensation of video object planes for interlaced digital video
SG65064A1 (en) * 1997-04-09 1999-05-25 Matsushita Electric Ind Co Ltd Image predictive decoding method image predictive decoding apparatus image predictive coding method image predictive coding apparatus and data storage media
DE69838281T2 (de) 1997-06-25 2008-05-15 Nippon Telegraph And Telephone Corp. Bewegungsprädiktives bildkodierungsverfahren sowie speichermedium zur speicherung des entsprechenden programms
JPH1169356A (ja) * 1997-08-25 1999-03-09 Mitsubishi Electric Corp 動画像符号化方式及び動画像復号方式
US6807231B1 (en) * 1997-09-12 2004-10-19 8×8, Inc. Multi-hypothesis motion-compensated video image predictor
US6249318B1 (en) * 1997-09-12 2001-06-19 8×8, Inc. Video coding/decoding arrangement and method therefor
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 シャープ株式会社 映像符号化装置及び映像復号化装置並びに映像符号化方法及び映像復号化方法
JP3724204B2 (ja) * 1998-03-10 2005-12-07 ソニー株式会社 符号化装置および方法、並びに記録媒体
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 映像信号階層化符号化装置と映像信号階層化復号化装置及びプログラム記録媒体
JP2001086508A (ja) * 1999-09-13 2001-03-30 Victor Co Of Japan Ltd 動画像復号方法及び動画像復号装置
JP3757088B2 (ja) * 1999-10-26 2006-03-22 日本電気株式会社 動画像符号化装置および方法
US7253831B2 (en) * 2000-05-10 2007-08-07 Polycom, Inc. Video coding using multiple buffers
GB2362532B (en) * 2000-05-15 2004-05-05 Nokia Mobile Phones Ltd Video coding
US7027711B2 (en) * 2000-06-26 2006-04-11 Matsushita Electric Industrial Co., Ltd. Editing apparatus for an optical disk, computer-readable storage medium, and computer program
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
CA2468087C (en) * 2001-11-21 2013-06-25 General Instrument Corporation Macroblock level adaptive frame/field coding for digital video content
EP2268041A1 (en) 2001-11-21 2010-12-29 General Instrument Corporation Picture level adaptive frame/field coding for digital video content
US6980596B2 (en) * 2001-11-27 2005-12-27 General Instrument Corporation Macroblock 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 動画像符号化方法および動画像復号化方法
PT3525464T (pt) * 2002-04-19 2021-04-06 Panasonic Ip Corp America Método e sistema de codificação e descodificação de imagem
KR100506864B1 (ko) 2002-10-04 2005-08-05 엘지전자 주식회사 모션벡터 결정방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05137131A (ja) * 1991-11-13 1993-06-01 Sony Corp フレーム間動き予測方法
JP2001224036A (ja) * 1995-10-18 2001-08-17 Sharp Corp 動画像符号化装置
JP2001045498A (ja) * 1996-09-09 2001-02-16 Sony Corp 画像符号化装置および画像符号化方法、画像復号化装置および画像復号化方法、並びに記録媒体および記録方法
JP2001268581A (ja) * 1997-04-09 2001-09-28 Matsushita Electric Ind Co Ltd 画像予測復号化方法,画像予測復号化装置,画像予測符号化方法,画像予測符号化装置,及びデータ記憶媒体

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP1411729A4 *

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10284843B2 (en) 2002-01-25 2019-05-07 Microsoft Technology Licensing, Llc Video coding
US9888237B2 (en) 2002-01-25 2018-02-06 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
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
US9571854B2 (en) 2002-06-03 2017-02-14 Microsoft Technology Licensing, Llc 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
US7835438B2 (en) 2003-12-22 2010-11-16 Nec Corporation Method and device for encoding moving picture using reference frequency of reference frame
JP4702059B2 (ja) * 2003-12-22 2011-06-15 日本電気株式会社 動画像を符号化する方法及び装置
JPWO2005062625A1 (ja) * 2003-12-22 2007-07-19 日本電気株式会社 動画像を符号化する方法及び装置
TWI419569B (zh) * 2003-12-23 2013-12-11 Tamiras Per Pte Ltd Llc 在數位視訊序列進行瞬時移動向量過濾的方法
JP4670085B2 (ja) * 2003-12-31 2011-04-13 中国科学院▲計▼算技▲術▼研究所 直接符号化モードでの参照画像ブロックの確定方法
JP4642033B2 (ja) * 2003-12-31 2011-03-02 中国科学院計算技木研究所 参照フレームの数を固定する符号化方式で画像の参照ブロックを取得する方法
JP2007517438A (ja) * 2003-12-31 2007-06-28 中国科学院計算技木研究所 参照フレームの数を固定する符号化方式で画像の参照ブロックを取得する方法
JP2007517437A (ja) * 2003-12-31 2007-06-28 中国科学院▲計▼算技▲術▼研究所 直接符号化モードでの参照画像ブロックの確定方法
US9402087B2 (en) 2004-08-16 2016-07-26 Nippon Telegraph And Telephone Corporation Picture encoding method, picture decoding method, picture encoding apparatus, picture decoding apparatus, picture encoding program, and picture decoding program

Also Published As

Publication number Publication date
EP1411729A4 (en) 2007-03-07
KR20100005233A (ko) 2010-01-14
EP1411729A1 (en) 2004-04-21
US8958480B2 (en) 2015-02-17
KR20040099100A (ko) 2004-11-26
HUE045566T2 (hu) 2020-01-28
US20170048544A1 (en) 2017-02-16
HUE053922T2 (hu) 2021-07-28
US7940845B2 (en) 2011-05-10
US9693074B2 (en) 2017-06-27
AU2003231356B2 (en) 2009-10-01
EP1441537A1 (en) 2004-07-28
US10440386B2 (en) 2019-10-08
US20100202539A1 (en) 2010-08-12
US20190014341A1 (en) 2019-01-10
PT3525465T (pt) 2021-05-10
HUE044739T2 (hu) 2019-11-28
HUE044582T2 (hu) 2019-11-28
US20170324976A1 (en) 2017-11-09
ES2742799T3 (es) 2020-02-17
US20140064376A1 (en) 2014-03-06
US20040136461A1 (en) 2004-07-15
US9723323B2 (en) 2017-08-01
US20160112716A1 (en) 2016-04-21
US9723325B2 (en) 2017-08-01
US20170085907A1 (en) 2017-03-23
US9948947B2 (en) 2018-04-17
US8964848B2 (en) 2015-02-24
US20170048546A1 (en) 2017-02-16
US20080063075A1 (en) 2008-03-13
AU2003235174A1 (en) 2003-11-03
US10404995B2 (en) 2019-09-03
PT3525467T (pt) 2021-04-08
US20170048547A1 (en) 2017-02-16
US20170302955A1 (en) 2017-10-19
US9955181B2 (en) 2018-04-24
US20180376162A1 (en) 2018-12-27
US8929453B2 (en) 2015-01-06
EP3525466A1 (en) 2019-08-14
KR20080031519A (ko) 2008-04-08
US20170302956A1 (en) 2017-10-19
CA2451568A1 (en) 2003-10-30
ES2745058T3 (es) 2020-02-27
US20140064375A1 (en) 2014-03-06
CN1518834A (zh) 2004-08-04
ES2743606T3 (es) 2020-02-20
HUE053955T2 (hu) 2021-08-30
ES2745044T3 (es) 2020-02-27
US20120328024A1 (en) 2012-12-27
US9723324B2 (en) 2017-08-01
US8290049B2 (en) 2012-10-16
EP3525466B1 (en) 2022-02-09
KR101011849B1 (ko) 2011-01-31
CN1290341C (zh) 2006-12-13
HUE044584T2 (hu) 2019-11-28
US20150172701A1 (en) 2015-06-18
HUE044616T2 (hu) 2019-11-28
MXPA03011334A (es) 2004-04-20
KR100931746B1 (ko) 2009-12-14
US8971411B2 (en) 2015-03-03
US9485519B2 (en) 2016-11-01
US20150131736A1 (en) 2015-05-14
US20170048545A1 (en) 2017-02-16
US20190020891A1 (en) 2019-01-17
US9083980B2 (en) 2015-07-14
US9729896B2 (en) 2017-08-08
KR20090086610A (ko) 2009-08-13
EP1411729B1 (en) 2016-03-23
ES2745059T3 (es) 2020-02-27
CN1518833A (zh) 2004-08-04
US20140072047A1 (en) 2014-03-13
US10097855B2 (en) 2018-10-09
PT3525464T (pt) 2021-04-06
CN1277419C (zh) 2006-09-27
CA2451568C (en) 2012-08-21
AU2003231356A1 (en) 2003-11-03
US20160100185A1 (en) 2016-04-07
US20140072046A1 (en) 2014-03-13
US10397602B2 (en) 2019-08-27
US9516338B2 (en) 2016-12-06
MY155930A (en) 2015-12-31
US9948948B2 (en) 2018-04-17
WO2003090475A1 (fr) 2003-10-30
CA2451571A1 (en) 2003-10-30
HUE054106T2 (hu) 2021-08-30
US7733960B2 (en) 2010-06-08
KR100931750B1 (ko) 2009-12-14
US9264730B2 (en) 2016-02-16
US20170302957A1 (en) 2017-10-19
EP1441537A4 (en) 2006-06-07
US8605789B2 (en) 2013-12-10

Similar Documents

Publication Publication Date Title
WO2003090473A1 (fr) Procede de calcul de vecteurs de mouvement
US7894526B2 (en) Motion estimation method and moving picture coding method
US8208549B2 (en) Decoder, encoder, decoding method and encoding method
JP5346076B2 (ja) 奥行きを用いた視点間スキップモード
US8126056B2 (en) Moving picture coding method, and moving picture decoding 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
WO2004040915A1 (ja) 動画像符号化方法および動画像復号化方法
US20070071104A1 (en) Picture coding method and picture decoding method

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 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: 1020037015504

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: PA/a/2003/011333

Country of ref document: MX

WWE Wipo information: entry into national phase

Ref document number: 2003231356

Country of ref document: AU

Ref document number: 2003725587

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 10480928

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2017/CHENP/2003

Country of ref document: IN

WWE Wipo information: entry into national phase

Ref document number: 038004712

Country of ref document: CN

Ref document number: 2451568

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: 2003725587

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 1020087006472

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 1020097013226

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 1020097025003

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 1020107014568

Country of ref document: KR