WO2003063503A1 - Moving picture signal coding method, decoding method, coding apparatus, and decoding apparatus - Google Patents

Moving picture signal coding method, decoding method, coding apparatus, and decoding apparatus Download PDF

Info

Publication number
WO2003063503A1
WO2003063503A1 PCT/JP2003/000664 JP0300664W WO03063503A1 WO 2003063503 A1 WO2003063503 A1 WO 2003063503A1 JP 0300664 W JP0300664 W JP 0300664W WO 03063503 A1 WO03063503 A1 WO 03063503A1
Authority
WO
WIPO (PCT)
Prior art keywords
motion vector
accuracy
block
decoding
decoded
Prior art date
Application number
PCT/JP2003/000664
Other languages
English (en)
French (fr)
Inventor
Yoshinori Suzuki
Original Assignee
Hitachi, 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
Application filed by Hitachi, Ltd. filed Critical Hitachi, Ltd.
Priority to EP03703048A priority Critical patent/EP1469682A4/en
Priority to JP2003563227A priority patent/JP4401783B2/ja
Priority to US10/488,030 priority patent/US8175159B2/en
Priority to KR1020047002817A priority patent/KR100924850B1/ko
Publication of WO2003063503A1 publication Critical patent/WO2003063503A1/ja
Priority to US12/073,757 priority patent/US8194746B2/en
Priority to US12/073,756 priority patent/US8233542B2/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/57Motion estimation characterised by a search window with variable size or shape
    • 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
    • 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/43Hardware specially adapted for motion estimation or compensation
    • 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
    • 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/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/523Motion estimation or motion compensation with sub-pixel accuracy
    • 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/56Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
    • 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

Definitions

  • the present invention relates to a moving picture signal coding method, a decoding method, a coding apparatus and a decoding apparatus, and more particularly to a motion vector coding and decoding technique.
  • FIG. 3 An outline of the encoding / decoding processing of a moving image will be described.
  • moving picture coding is performed by the coding apparatus shown in FIG.
  • one frame of the video to be encoded is composed of one luminance signal (Y signal: 61) and two color difference signals (Cr signal: 62, Cb signal: 63).
  • the image size of the chrominance signal is half that of the luminance signal both vertically and horizontally.
  • each frame of a moving image is divided into small blocks, and playback processing is performed in block units called macro blocks.
  • the macro block includes one Y signal block 30 of 16 ⁇ 16 pixels, and a Cr signal block 31 and a Cb signal block 31 of 8 ⁇ 8 pixels which spatially match the Y signal block 30.
  • the encoding of the image signal is processed on a macroblock basis. Coding is roughly classified into intra coding (intra mode) and predictive coding (inter mode).
  • the input Mac mouth block image 201 to be encoded is divided into DCT encoding blocks, and the DCT converter 203 directly performs DCT 203, Converted to coefficients. Replacement) 5 ⁇
  • Each transform coefficient is 204 by a quantizer and encoded by a multiplexer 206.
  • the DCT coding block size is generally 8 ⁇ 8 pixels in the conventional coding method, but recently, DCT transform using a 4 ⁇ 4 pixel size has been studied in MPEG-4 Part 10 (Advanced Video Coding) and the like.
  • each macro block is divided into 24 4 ⁇ 4 pixel blocks, and each DCT is converted by DCT converter 203 into 16 DCT coefficients.
  • a part of the quantized DCT coefficient is decoded into an input macroblock by an inverse quantization unit 207 and an inverse DCT unit 208 of a local decoder 220 and synthesized into a frame memory 210.
  • Local decoder 220 creates a decoded image similar to that of a decoding device described later.
  • the image stored in the frame memory 210 is used for prediction in the time direction described later.
  • This intra coding is placed in macroblocks (including the first coded frame) that do not have a part similar to the previous frame, or in parts where it is desired to eliminate the accumulation operation error associated with DCT.
  • motion compensation In the case of inter (predictive coding) coding, motion compensation between the input macroblock image 201 and the decoded image (reference frame) of the coded frame stored in the frame memory 210 is performed by the motion compensator 211. Done. Motion compensation refers to searching a reference frame for a part similar to the contents of the target macroblock (generally, selecting a part with a small sum of absolute values or squared errors of the prediction error signal in the block). This is a temporal compression technique that encodes the amount of motion (motion vector).
  • FIG. 4 shows the processing structure for motion compensation.
  • FIG. 4 is a diagram showing a prediction block 75 and a motion vector 76 on a previous frame 73 (reference frame) for a luminance signal block 72 of a current frame 71 surrounded by a thick frame.
  • the motion vector 76 indicates the movement from the block 74 (broken line) on the previous frame corresponding to the same position spatially to the thick frame block of the current frame to the predicted block 75 area on the previous frame (
  • the motion vector length for the color difference signal is No. and no encoding).
  • the detected motion vector is subjected to difference processing with the predicted motion vector obtained from the MV predictor 215 (predicted from the motion vector of the adjacent block), and then encoded by the multiplexer 206. Is done.
  • the predicted macroblock image 213 extracted from the previous frame due to the motion compensation is subjected to a difference process between the input macroblock image 201 of the current frame and the differentiator 202 to generate a differential macroblock image. Is
  • the differential macroblock image is divided into 24 4 ⁇ 4 pixel blocks, and each is converted into 16 DCT coefficients by the DCT converter 203.
  • Each DCT coefficient is quantized by a quantizer 204 and encoded by a multiplexer 206.
  • the quantized DCT coefficients are decoded into a difference macroblock image by the inverse quantizer 207 and the inverse DCT unit 208 of the local decoder 220, and added to the predicted macroblock image by the adder 209. After that, it is synthesized into the frame memory 210.
  • the number of motion vectors to be encoded in one macroblock is one, but the macroblock is further divided into small blocks, and the motion vector is calculated and encoded for each small block.
  • the method is common.
  • Fig. 7 shows the macroblock division type (luminance component) when performing motion compensation.
  • Type 51 to Type 54 is selected for each of the four 8 ⁇ 8 blocks 54-0 to 54-3, and is further selected from five types of types 54a, 54b, 54c, 54d and intra coding.
  • the encoding accuracy of a motion vector is handled down to an integer pixel or less.
  • 1/2 pixel precision and 1/4 pixel precision can be selected for each bit data.
  • the method of calculating the predicted value with integer pixel accuracy or less is omitted.
  • a 1/2 pixel accuracy a 2-tap linear filter is used, and for a 1/4 pixel accuracy, an 8-tap filter and a 2-tap filter are adaptively applied according to the pixel position.
  • MPEG-4 Part 10 is studying to represent a motion vector with 1/4 pixel accuracy, and a predicted value is calculated using a 6-tap filter and a 2-tap filter.
  • the prediction performance is improved by using a filter with a long tap number.
  • P_Pi a frame constituted by forward predictive coding or Intora encoding C ture, bidirectional coded coding or intra-coding
  • the frame composed of these is called a BP image.
  • the INTRA / INTER decision unit 214 shown in Fig. 13 decides whether to perform each macroblock by predictive coding or intra coding, and multiplexes the decision result 218.
  • Encoder 206 for encoding Decoding of a coded signal of a moving image is performed in the reverse procedure of coding. Generally, this is performed by the moving picture decoding apparatus shown in FIG.
  • the decoding unit 501 analyzes the input coded data and quantizes the motion vector related information and macroblock type information to the MV predictor 508.
  • the DCT coefficient information is distributed to the inverse quantizer 502. If the macroblock type is intra-coded, the decoded quantized DCT coefficient information is converted by the inverse quantizer 502 and inverse DCT unit 503 into inverse quantum Performs inverse DCT processing and reproduces macroblock images. If the prediction mode of the macroblock is predictive coding, the MV predictor 508 calculates the decoded motion vector from the decoded difference motion vector and the predicted motion vector, and the motion compensator 504 Is input to The motion compensator 504 extracts a predicted macroblock image from the frame memory 507 in which the decoded image of the previous frame is stored according to the amount of motion.
  • the coded data relating to the prediction error signal is subjected to inverse quantization / inverse DCT processing for each 4 ⁇ 4 pixel block in an inverse quantizer 502 and an inverse DCT unit 503 to reproduce a differential macroblock image.
  • the predicted macroblock image and the difference macroblock image are added by the adder 505 to reproduce the macroblock image.
  • the reproduced macroblock image is combined with the decoded frame image by the combiner 506.
  • the decoded frame image is stored in the frame memory 50 for prediction of the next frame.
  • Conventionally known motion compensation coding of video signals includes multiple types of motion vectors included in a block, and the coding accuracy of the motion vector is as high as 1/8 pixel accuracy.
  • a method is being considered.
  • due to the relationship between the number of motion vector codes there is a tendency to select a coding method with a small number of motion vectors even when a block includes a plurality of motions.
  • a predicted pixel with integer pixel precision or less is generated using a filter with a long tap number
  • a memory access problem that the number of pixels in a reference image used to generate one predicted block increases. But appear. This problem is particularly problematic when performing motion compensation.
  • an object of the present invention is to provide a moving image signal encoding method, a decoding method, and a method capable of reducing the amount of motion vector code and reducing motion prediction error information due to an increase in the number of blocks in an encoding block.
  • An object of the present invention is to provide an encoding device and a decoding device.
  • Another object of the present invention is to reduce the memory access range at the time of motion compensation in an encoding device and a decoding device. Disclosure of the invention
  • the present invention divides an image into a plurality of coding blocks, predicts a motion vector in a coding block from a motion vector at an adjacent position, and calculates a motion vector to be coded.
  • a moving image encoding method including a step of encoding a motion vector and a differential motion vector calculated from the predicted motion vector in block units.
  • the motion vector is coded.
  • the accuracy of the differential motion vector is selected for each coding block by preparing several types of differential motion vector accuracy, and information on the selected accuracy and the differential motion of the accuracy are selected.
  • the determination of the accuracy value (hereinafter abbreviated as mv_shift value) associated with the encoding of the differential motion vector and the encoding process are performed for all macroblocks.
  • the mv_shift value of a specific macroblock is used. This includes the case where encoding is omitted.
  • an image of a coded block is reproduced by using a code obtained by the moving image coding according to the present invention, in a procedure reverse to the coding procedure.
  • multiple precisions of the motion vector are prepared, and different precisions are assigned to the horizontal and vertical components of the motion vector.
  • Each component is corrected to the assigned precision, and a difference motion vector calculated from the corrected prediction motion vector and the motion vector with the assigned precision is encoded.
  • the setting of the mv_shi ft value is performed in accordance with the process in which the code to be decoded is encoded. For example, in coding, the type of macroblock, or mv- in the surrounding situation. In the reproduction of a code whose shift value is not encoded, the decoding macroblock type or mv- in the surrounding situation. The shi ft value is determined and processed.
  • FIG. 1 is a diagram showing an example of the data syntax of a forward prediction frame.
  • FIG. 2 is a diagram illustrating an example of the data syntax of a bidirectional prediction frame.
  • FIG. 3 is a diagram illustrating the macroblock division.
  • FIG. 4 is a diagram illustrating the principle of motion compensation.
  • FIG. 3 is a diagram showing a block configuration used for the following.
  • FIG. 6 is a diagram showing a macro block configuration showing a block unit for performing DCT processing and encoding processing.
  • FIG. 7 is a diagram showing a configuration of a luminance block indicating a block unit for performing motion compensation.
  • FIG. 3 is a diagram illustrating generation of a predicted motion vector.
  • FIG. 9 is a diagram showing an example of a code table of the motion vector accuracy.
  • FIG. 10 is a diagram illustrating a method of predicting motion vector accuracy.
  • FIG. 11 is a diagram showing a code table of a macroblock type and a code table of an 8x8 partition type in P-Picture according to the embodiment of the present invention.
  • FIG. 12 is a diagram showing a code table of a macroblock type and a code table of an 8x8 partition type in B_Picture according to the embodiment of the present invention.
  • FIG. 13 is a block diagram showing a general configuration of a video encoding device.
  • FIG. 14 is a block diagram showing a general configuration of the main video decoding device.
  • FIG. 15 is a diagram illustrating an example of a macroblock type code table in the conventional method.
  • FIG. 16 is a diagram showing a configuration example of the universal coding table.
  • FIG. 17 is a diagram illustrating a configuration example of a macroblock having a frame structure in a field signal.
  • FIG. 18 is a flowchart of a process of switching the coding accuracy of the motion vector according to the block size.
  • ⁇ 19 is a flowchart of a process of switching the encoding accuracy of a motion vector with a component of the motion vector according to the embodiment of the present invention.
  • FIG. 20 is a flowchart of a process of switching the motion vector coding precision by the motion vector component and the macroblock configuration in the embodiment of the present invention.
  • FIG. 21 shows the relationship between the block size and the motion vector in the embodiment of the present invention.
  • 13 is a flowchart of a process of switching the encoding accuracy of a motion vector in a minute and a macro block configuration.
  • FIG. 22 is another example of a flowchart of a process of switching the coding precision of a motion vector by a block size, a motion vector component, and a macroblock configuration in the embodiment of the present invention.
  • FIG. 23 is an example of a flowchart of a process of switching the coding accuracy of a motion vector based on the components of the block size and the motion vector in the embodiment of the present invention.
  • c Figure 2 5 is another example of a flow diagram of the processing for switching the coding accuracy of a motion base-vector in Ingredient block size and motion base-vector in the embodiment of the present invention, video according to the invention
  • FIG. 4 is a configuration diagram of an embodiment of a motion vector encoding unit of the image encoding device.
  • FIG. 26 is a configuration diagram of an embodiment of a decoding unit of a motion vector of the moving picture decoding apparatus according to the present invention.
  • FIG. 27 is a configuration diagram of an embodiment of the motion vector encoding unit of the video encoding device according to the present invention.
  • FIG. 28 is a configuration diagram of an embodiment of the motion vector decoding unit of the video decoding device according to the present invention.
  • FIG. 29 is a configuration diagram of an embodiment of the motion vector coding unit of the video coding device according to the present invention.
  • FIG. 30 is a configuration diagram of an embodiment of a motion vector decoding and decoding unit of the moving picture decoding apparatus according to the present invention.
  • FIG. 31 is a configuration diagram of an embodiment of a motion vector coding unit of the video coding device according to the present invention.
  • FIG. 32 is a configuration diagram of an embodiment of a motion vector decoding unit of the video decoding device according to the present invention.
  • FIG. 33 is a block diagram of the motion vector coding unit of the video coding apparatus according to the present invention. It is a lineblock diagram of an example.
  • FIG. 34 is a configuration diagram of an embodiment of the decoding unit of the motion vector of the moving picture decoding apparatus according to the present invention.
  • FIG. 35 is a configuration diagram of an embodiment of a motion vector encoding unit of the video encoding device according to the present invention.
  • FIG. 36 is a configuration diagram of an embodiment of a motion vector decoding unit of the video decoding device according to the present invention.
  • FIG. 37 is a configuration diagram of an embodiment of the motion vector encoding unit of the video encoding device according to the present invention.
  • FIG. 38 is a configuration diagram of an embodiment of the motion vector decoding unit of the video decoding device according to the present invention.
  • FIG. 39 is a configuration diagram of an embodiment of a motion vector coding unit of the video coding device according to the present invention.
  • FIG. 40 is a configuration diagram of an embodiment of a decoding unit of a motion vector of the moving picture decoding apparatus according to the present invention.
  • FIG. 41 is a configuration diagram of an embodiment of the motion vector encoding unit of the video encoding device according to the present invention.
  • FIG. 42 is a configuration diagram of an embodiment of the decoding unit of the motion vector of the moving picture decoding apparatus according to the present invention.
  • FIG. 43 is a configuration diagram of an embodiment of a motion vector encoding unit of the video encoding device according to the present invention.
  • FIG. 44 is a configuration diagram of an embodiment of a motion vector decoding unit of the video decoding device according to the present invention.
  • FIG. 45 is a configuration diagram of an embodiment of a motion vector coding unit of the video coding device according to the present invention.
  • FIG. 46 shows the motion vector decoding unit of the video decoding apparatus according to the present invention. It is a lineblock diagram of an example.
  • FIG. 47 is a configuration diagram of an embodiment of the motion vector encoding unit of the video encoding device according to the present invention.
  • FIG. 48 is a configuration diagram of an embodiment of the decoding unit of the motion vector of the moving picture decoding apparatus according to the present invention.
  • Fig. 1 Data syntax of SP-Picture
  • Fig. 2 Part of SB-Picture data syntax (CBP15 and later are omitted because they are the same as Fig. 1 after CBP15).
  • the description will be made assuming that the data (motion vector accuracy information) 13 does not appear in the data syntax.
  • the description of I-picture is omitted because it is not included in the features of the present invention.
  • the picture header! 0 includes data related to the reproduction information of the frame such as the image size and the reproduction time.
  • picture typell is frame type information, which is a type of I-picture, P-picture, B-picture, and is encoded here.
  • Tcoeff chromal7 corresponds to the macroblock data, and the number of macroblocks in the frame is reduced.
  • MB typel2 one mode is selected for each macroblock from the macroblock modes shown in Table 95 (P-picture) or Table 96 (B-Picture) in Fig. 15, and the c SKIP mode to be coded is This means that a macroblock image corresponding to the same spatial position is cut out and copied from the decoded image of the frame.
  • M and N of IntraMXN in the table indicate the small block size when performing spatial prediction.
  • MX N indicates a small block unit when performing motion compensation. Modes 1 to 4 are supported.
  • Direct means direct prediction.
  • Block 1 and Block 2 identify two small blocks in mode 2 or mode 3 in Fig. 7, and the prediction direction of each small block is Forward (forward prediction), Backward (backward prediction), Bi-directional ( Bidirectional prediction). If you select 8x8 (split) in MB typel2, 8x8 Partition 18 will occur. In other macroblock modes, 8x8 Partition 18 does not occur. In 8x8 Partition 18, one mode is selected for each 8x8 partition from the 8x8 partition modes shown in Table 92 (P_picture) in FIG. 11 or Table 94 (B-Picture) in FIG. 12 and encoded. Intra in the table indicates spatial prediction. MXN indicates a small block unit when performing motion compensation, and corresponds to partition 1 to partition 4 in Fig. 7, respectively. Direct means direct prediction.
  • Prediction indicates whether the prediction direction of each small block is Forward (forward prediction), Backward (backward prediction), or Bi-directional (bidirectional prediction).
  • MVD14 indicates the encoded data of the differential motion vector in P-Picture. Therefore, this data is not generated when MB typel2 is IntraMXN.
  • MVD14 is repeatedly coded for the number of vectors indicated by MB type and 8X8 Partition. For example, in the case of 16 ⁇ 8, the number of differential motion vectors to be encoded is two, and each motion vector is composed of two components, horizontal and vertical, so that four MVDs are consecutive. Encoded.
  • MVDFW23 and MVDBW24 indicate the coded data of the differential motion vector in B-Picture.
  • MVDFW23 occurs when the macroblock contains a motion vector associated with forward prediction (including bidirectional prediction) indicated by MB type 12 and 8x8 Partition 18.
  • MVDBW24 is backward prediction (including bidirectional prediction) indicated by MB type 12 and 8x8 Partition 18. Occurs when the macro block contains the motion vector associated with. Therefore, this data does not occur in the case of MB type12 S IntraMXN or Direct. If MB typel2 is MXN and there is a motion vector associated with forward prediction (including bi-directional prediction), MVDFW23 will perform forward prediction (including bi-directional prediction) indicated by MB type and 8X8 Partition.
  • MVDBW24 uses the backward prediction (bidirectional prediction) indicated by MB type and 8X8 Partition. (Including the number of differential motion vectors X2, horizontal and vertical components).
  • CBP15 is coded data indicating whether 16 quantized DCT coefficients (significant coefficients) other than 0 are included in the 24 DCT blocks shown in FIG.
  • coding the presence / absence information of the significant coefficient for each of the 24 DCT blocks increases the additional information.Therefore, here, as shown in Fig. 6, the 4 DCT blocks are significant in 8x8 block units. The presence or absence of the coefficient is coded.
  • Tcoeff lumal6 indicates encoded data of the quantized DCT coefficient in the luminance block 40.
  • 16 quantized coefficients are coded in ascending order of number.However, CBP shows that there are no significant coefficients. For blocks, the encoding process is omitted.
  • Tcoeff chromal7 indicates encoded data of the quantized DCT coefficient in the luminance block 40.
  • 16 quantization coefficients are coded in the order of 4X4 blocks 41-0, 41-2, 41-3, 41-4, 42-0, 42-1, 42-3, 42-4. It is. However, for signal components for which there is no significant coefficient in CBP15, In this case, the encoding process is omitted.
  • the coding methods for macroblock-level coded data shown in Figs. 1 and 2 are as follows: Universal VLC (UVLC) using only one type of variable-length code table, fixed-length coding and variable-length coding (each coding An encoding method in which different code tables are prepared for the elements) and an arithmetic encoding (for example, see Non-Patent Document 1) can be considered.
  • Table 83 in Figure 16 shows the structure of the UVLC, where the value of Xn is '0' or '1'.
  • Table 84 shows an example of an actual variable-length code table.
  • each code is replaced by binary data of several bits, and each bit is coded according to the occurrence probability model indicating the probability of occurrence of 0s and 1s. think of.
  • This method is called CABAC (Context-based Adaptive Binary Arithmetic Coding) and is described in Witten et al., "Arithmetic Coding for Data Compression", Comm. Of the ACM, 30 (6), 1987, pp. .520-541).
  • the present invention is particularly characterized by a motion vector encoder / decoder. That is, the processing of the MV Dprecision section 3 in the data MVD syntax shown in FIGS.
  • the configuration and the signal processing method of the MV unit 508 and the motion compensation unit 504 have characteristics.
  • the configuration of the other parts and the signal processing method are substantially the same as those of the conventional apparatus and method, and an embodiment of the characteristic portion of the present invention will be described below.
  • the motion vector coding unit divides an image into a plurality of coding blocks, and converts an image signal of the coding block and a motion vector in the coding block from a motion vector at an adjacent position.
  • the motion vector to be predicted and encoded and the differential motion vector calculated from the predicted motion vector In moving picture coding (hereinafter abbreviated as motion compensation coding of moving pictures), which is coded in units of ticks, several types of differential motion vector precision are prepared, and the differential motion vector is calculated for each decoding block.
  • This method selects the accuracy and encodes the information of the selected accuracy and the difference motion vector of the information of the accuracy.
  • the small block for which the motion vector is to be encoded is assumed to be 50.
  • the motion vector of the three blocks located at the adjacent positions A, B, and C is used as an index to calculate the intermediate value, and the motion vector of the intermediate value is calculated. Is the predicted motion vector. If the block at position C is not coded or located outside the image due to the macroblock position, the motion of the block located at position D instead of position C The vector is used as one of the candidate motion vectors. If the blocks at positions A, B, C, and D do not have a motion vector, the prediction process is performed with the motion vector as the zero vector.
  • the above-described prediction method is based on block 51-0 of mode 1 (51) and small blocks 54a-0, 54b-0, 54b-1, 54c-0, 54c-2 of mode 4 (54) in FIG. Pd 54d—0 to 54d-3 Pd Use the same prediction method.
  • Figure 8 shows two small blocks (52-0, 52-1) of mode 2 (52) and two small blocks (53-0, 53-1) of mode 3 (53).
  • the motion vector of the block located at the base of the arrow is used as the predicted value.
  • the motion vector for the chrominance component is not coded, and the motion vector for the luminance component is divided by 2 and used. .
  • MV 1/4 pixel accuracy table Assuming that the current motion vector component is quadrupled, and PMV is the quarter-pixel precision representation of the predicted motion vector component quadrupled, the MV value for each accuracy candidate in this representation Is restricted as follows.
  • the effect of the motion vector code amount was added to the absolute value sum or square error sum of the prediction error signal in the motion vector estimation.
  • Prepare an evaluation function At this time, the optimal evaluation value of each small block is calculated for each accuracy of (MV-PMV), and after the motion vector estimation processing of all small blocks in the macroblock is completed, the small block for each accuracy is calculated.
  • the accuracy with which the sum of the evaluation values is small is determined as the accuracy of the difference motion vector.
  • the differential motion vector MVD to be encoded is calculated by equation (1).
  • MVD (MV-PMV) >> mv_shift (1)
  • Mv-shi ft in equation (1) is the value shown in Table 81 in FIG. Equation (1) is obtained by subtracting the predicted motion vector component PMV from the motion vector component MV, and then arithmetically shifting the value to the right by the number indicated by mv—shift to obtain the differential motion vector component MVD. It is shown that.
  • the value obtained by subtracting the predicted motion vector component PMV from the motion vector component MV is 1 times a multiple of mv—shift
  • the differential motion vector component MVD processed by the arithmetic right bit shift is a multiple of 1 C Picture type power SP-Picture
  • mv-shift power S Encoded data element shown in data MVD prec is ions in Fig.
  • MVD shown in data MVD 14 Encoded as an encoding element.
  • mv-shift is the encoded data element shown in data MVD precisionl3 in Fig. 2
  • MVD is data MVDFW23 (when MVD is a forward motion differential motion vector) or data It is encoded as the encoded data element shown in MVDBW24 (when MVD is the differential motion vector for backward prediction).
  • MVD precision coding is omitted for macroblocks in which the coded data (MVD14 or MVDFW23 and MVDBW24) of the differential motion vector are not generated.
  • P-Picture MB type power S IntraMXN or MB type power S 8x8 (split) with 8x8 partition power of 4 / J blocks S all in intra
  • UVLC or arithmetic coding is used as the coding method.
  • Table 81 in FIG. 9 are examples of coding codes when UVLC is used.
  • the generated value of the predicted motion vector of the coded MB (7C in Fig. 10) is the mv of the MB immediately above (7A in Fig. 10) and the MB directly above (7B in Fig. 10). Encode according to the occurrence probability table calculated from the shift value.
  • Equation (2) shows that the value obtained by adding the predicted motion vector component PMV to the value obtained by arithmetically shifting the differential motion vector component MVD left by the number indicated by mv_shift to the decoded motion vector component MV is obtained. Is shown.
  • the decoded differential motion vector component MVD is changed from a multiple of 1 to a multiple of l «mv_shift (corresponding to the MV-PMV on the encoding side). PMV By adding, the decoded motion vector component MV is restored to the original accuracy value.
  • the method of motion estimation is the same as in the three cases of 1/4 pixel accuracy, 1/2 pixel accuracy, and 1 pixel accuracy, and a description thereof will be omitted.
  • the differential motion vector MVD is calculated by equation (1).
  • the value obtained by subtracting the predicted motion vector component PMV from the motion vector component MV is 1 times the multiple of mv_shift
  • the difference motion vector component MVD obtained by the arithmetic right bit shift processing is a multiple of 1 And is calculated by the above equation (1).
  • Mv-shift in equation (1) is the value shown in Table 82 in Fig. 9.
  • the processing on the decoding side is also a 1/4 pixel precision candidate for the accuracy of the differential motion vector. This is the same as the three cases of 1/2 pixel accuracy and 1 pixel accuracy.
  • the decoded MV value of each motion vector component is reproduced from the decoded mv_shift value, the decoded MVD and the PMV according to the above formula (2). Is done. Equation (2) indicates that the value obtained by adding the predicted motion vector component PMV to the value obtained by arithmetically shifting the differential motion vector component MVD to the left by the number indicated by mv_shift becomes the decoded motion vector component MV. Show.
  • the decoded differential motion vector component MVD becomes a multiple of 1 to a multiple of 1 ⁇ mv_shift (corresponding to the MV-PMV on the encoding side).
  • the decoded motion vector component MV is restored to the original accuracy value.
  • MV value for all small blocks in the macroblock is a multiple of 4 for both horizontal and vertical components. MV.
  • MV for which the MV value of all small blocks in a macroblock is a multiple of 2 for both horizontal and vertical components.
  • MV 1/4 pixel accuracy: MV for which the MV value of all small blocks in the macroblock is a multiple of 1 for both horizontal and vertical components. Therefore, in order to reflect the effect of this method on the coding characteristics, the effect of the motion vector code amount is added to the sum of the absolute value or the square error of the prediction error signal in the motion vector estimation. Prepare an evaluation function. At this time, the optimal evaluation value of each small block is calculated for each accuracy of the MV, and after the motion vector estimation processing of all small blocks in the macroblock is completed, the evaluation value of the small block for each accuracy is calculated. By calculating the added value of, the accuracy of the difference motion vector can be determined with a small sum of the evaluation values.
  • the differential motion vector MVD to be encoded is given by the following equation:
  • Equation (3) is a value shown in Table 81 of FIG. Equation (3) is obtained by subtracting the predicted motion vector component PMV from the motion vector component MV by the arithmetic bit shift to the right by the number indicated by mv_shift, and then immediately to the left by the arithmetic bit shift. On the other hand, it shows that the value obtained by performing the second arithmetic right bit shift by the number indicated by mv_shift is the differential motion vector component MVD.
  • the continuous right and left bit shift processes for the predicted motion vector component serve to convert the value of the predicted motion vector component PMV into the same value as MV and a multiple of mv_shift. To fulfill. Also, the differential motion vector component MVD becomes a multiple of 1 by the second arithmetic right bit shift process.
  • the forecast number converted to a multiple of 1 The value obtained by multiplying the turtle component by 1 mv_shift is equivalent to the “predicted motion vector component converted to a value of 1 ku mv-shift times” in the above equation, and the motion vector component MV is 1 mv_shift Therefore, no information is lost by using the following formula.
  • Equation (5) Reproduce the decoded MV value of each motion vector component. Equation (5) is obtained by arithmetically shifting the differential motion vector component MVD to the left by the number indicated by mv-shift, and the predicted motion vector component PMV by the number indicated by mv_shift to the right by the arithmetic bit. Immediately after the shift, the value obtained by adding the arithmetic bit-shifted value to the left indicates that it is the motion vector component MV.
  • the predicted vector component converted to a multiple of 1 is The value obtained by multiplying 1 by mv-1 shift is equivalent to the predicted motion vector component converted to a multiple of 1 by mv_shift in the above equation, and the differential motion vector component DMV is a multiple of 1, so No loss of information occurs by using equation (6).
  • the candidates for the accuracy of the difference motion vector are 1/8 pixel accuracy, 1/4 pixel accuracy, 1/2 pixel accuracy, and 1 pixel accuracy.
  • MV is a value obtained by multiplying the motion vector component of 1/8 pixel precision expression by 8 and PMV. Is a value obtained by multiplying the predicted motion vector component of 1/8 pixel precision expression by 8 times, The value of MV for accuracy detection is limited as follows.
  • MV for which the MV value of all small blocks in the macroblock is a multiple of 8 for both horizontal and vertical components.
  • the motion estimation method is the same as the three cases of 1/4 pixel accuracy, 1/2 pixel accuracy, and 1 pixel accuracy, and therefore, the encoding is omitted here.
  • the differential motion vector MVD to be encoded is given by the following equation:
  • MVD (MV-((PMV) mv-shift) ku mv-shif)> mv-shift (3)
  • mv-shift is the value shown in Table 82 in Figure 9.
  • the formula is the value obtained by subtracting the value of the motion vector component MV from the motion vector component MV by the arithmetic bit shift to the right by the number indicated by mv_shif1: and then immediately to the left by the arithmetic bit bit shift.
  • the second calculation It shows that the value obtained by performing the right bit shift becomes the differential motion vector component MVD.
  • the successive right and left bit shift processes for the predicted motion vector component convert the value of the predicted motion vector component PMV into the same multiple of l «mv_shift as the MV. Fulfill.
  • the second motion right bit shift process results in a value that is a multiple of the differential motion vector component MVD force S1.
  • the explanation of the accuracy of the difference motion vector is the same as that of the three cases of 1/4 pixel accuracy, 1/2 pixel accuracy, and 1 pixel accuracy. Is omitted, but the encoding code when UVLC is used follows Table 82 instead of Table 81. However, the number of operation steps can be reduced by simplifying the above equation as follows. This is effective when implementing circuit design. In this equation, the motion vector component MV. And the predicted motion vector component PMV are converted into multiples of 1 before performing the difference processing.
  • MVD (MV >> mv_shif t)-(PMV >> mv_shif t) (4)
  • the accuracy of the differential motion vector is the same as that of the three cases of 1/4 pixel accuracy, 1/2 pixel accuracy, and 1 pixel accuracy.
  • MV (MVD x mv-shift) + ((PMV >> mv-shift) x mv_shift) (5)
  • the decoded MV value of each motion vector component is reproduced. This equation is obtained by arithmetically shifting the differential motion vector component MVD to the left by the number indicated by mv_shift to the left, and the predicted motion vector component PMV by the number of mv-shifts to the right by the arithmetic bit shift. Immediately to the left plus the arithmetic bit-shifted value Is the decoded motion vector component MV.
  • the continuous right and left bit shift processes for the predicted motion vector component and the process of arithmetically shifting the MVD to the left by the number indicated by the differential motion vector component mv_shi ft are as follows. It plays the role of converting each component into a multiple of mv_shi ft. Therefore, the decoded motion vector component MV is a multiple of the original 1 ⁇ mv ⁇ 1shift. Note that the number of operation steps can be reduced by simplifying this equation as follows. This is effective when implementing circuit design. In this equation, the left arithmetic bit shift is applied to the value obtained by adding the decoded differential motion vector DMV to the predicted motion vector component PMV converted to a multiple of 1 and the number indicated by mv—shi ft.
  • the first embodiment adjusts the accuracy of the difference motion vector actually encoded. Therefore, the calculation is simpler than in the second embodiment.
  • the accuracy of the motion vector to be encoded is adjusted, so that the search pixel assuming each accuracy does not depend on the prediction vector. Therefore, although when pursuing only coding performance is effective Example 1, the memory access reduction method described later, Example 2 c rather Example 3 is effective>
  • the encoding method and the decoding method that are determined in advance according to the block mode without encoding the mv_shift value as much as possible are used.
  • This is a method to prevent the code amount of the mv -shift value from increasing in the region where the selectivity of the clock is high.
  • encoding and decoding of a differential motion vector are performed with a predefined default motion vector accuracy. By this processing, the encoding and decoding processing of the motion vector accuracy information is omitted.
  • the encoding side and the decoding side are set to perform encoding and decoding processing with 1/4 pixel precision or 1/8 pixel precision.
  • encoding / decoding of accuracy information is omitted.
  • the macroblock of MB type 16x16 is set as the mode that omits the encoding / decoding processing of the accuracy information, but the target can be further extended.
  • the macro block with MB type of 16x16 is set as the mode that skips the encoding / decoding processing of the accuracy information, and the number of motion vectors to be encoded is large.
  • up to macro blocks with MB types of 16x16, 16x8 and 8x16 may be set as the mode in which encoding of precision information is omitted.
  • the default value of the motion vector accuracy can be set in the range of 0-3 (0-2 for 1/4 MC type), like the mv-shift value. Switch by unit.
  • the code of the default value shall be included in the header part at the beginning of the data in the case of the bit stream unit, and included in the picture header data in the case of the frame unit. In the case of bit stream unit, if it is determined in advance by the encoding side and the decoding side, it is not necessary to include it in the encoded data.
  • the unit may be fixed for the entire frame or fixed for the entire sequence. Fixing the precision selection switching unit simplifies the encoding / decoding process. Therefore, in a simple encoding / decoding method that considers the implementation cost, it is effective to fix the accuracy switching unit in frame units or sequence units.
  • the fourth embodiment is a method of uniquely determining a shift value from the surrounding situation. That is, by predicting the mv_shift value of the encoding target macroblock from the adjacent macroblock power, the code amount of the mv-shift value is reduced. For example, the mv-shift value of the current macroblock (macroblock 7C in FIG. 10) is predicted from the mv_shift value of the macroblock (7A) immediately above and the macroblock (7B) immediately above. As a prediction method, there is a method of predicting from the sum of the mv_shift values of 7A and 7B.
  • the MB type combination there is a line control means to encode the mv_shift value. Note that this specific example is merely an example, and there are many combinations of the types of adjacent macroblocks used for prediction, the prediction method, the types of MB types for control, and the types of classification at the time of control.
  • the amount of reduction in the code amount of the mv-shift value is large by extending the controlling MB type to two or less differential motion vectors, or by extending the control point of the added value to two or less. It becomes.
  • the means for switching the coding accuracy of the motion vector in the above-described embodiment includes the following modifications.
  • the prediction of the encoding accuracy of the motion vector is 1/8 pixel accuracy, 1/4 pixel accuracy, 1/2 pixel accuracy, and 1 pixel accuracy.
  • the present invention is not limited to this. For example, when including up to 1/16 pixel accuracy, or when using two types of 1/2 pixel accuracy and 1 pixel accuracy.
  • the encoding accuracy information of the motion vector is encoded in units of macroblocks.
  • the encoding accuracy information of the motion vector is switched for each of a plurality of macroblock groups.
  • the motion compensation block in the macroblock is divided into four types as shown in FIG. 7.
  • the motion vector coding method in this specification uses the motion compensation block division mode. There are no restrictions on the configuration of the motion vector coding block, as it can be implemented even if the type and number of modes are changed.
  • the encoding method of the encoded data is UVLC calculation.
  • the motion vector coding method described in the present specification which describes the technique coding, can be implemented without being limited to the type of entropy coding.
  • the configuration of the UVLC code table and the method of arithmetic coding / decoding are not limited to the tables in the embodiments.
  • the default value of the mv_shift value is used for the 16x16, 16x8, and 8x16 modes, but this default value can be applied to a part of the 8x8 (split) Part mode.
  • different values may be allocated to the power S for which the default value is set in units of bitstreams or frames, and to each macroblock.
  • the default value is set to 1
  • 16x8 and 8x16 modes the default value is set to 0.
  • the coding accuracy of the differential motion vector (or motion vector) to be applied is specified in units of frame or sequence. It may be encoded and transmitted (in the case of a sequence unit, it is not necessary to encode the accuracy information if the encoding precision in each mode is determined in advance on the encoding side and the decoding side). As described above, fixing the unit for switching the selection of the encoding accuracy simplifies the encoding / decoding process. The implementation cost is further reduced by increasing the mode that defines the default value. In an encoding / decoding system that requires a simpler configuration, it is effective to fix the unit of switching the encoding accuracy for more modes.
  • the motion compensator 211 is provided to the motion compensator 211 in accordance with the combination of the MB type and the 8 ⁇ 8 Partion.
  • mv Decision processing of 0N / 0FF encoding of shift value
  • motion estimation processing considering mv_shift value
  • the processing to be conveyed to the heavy pack 206 is added.
  • a process of encoding the mv_shift value as MVD precision is added to the multiplexer 206.
  • the decoder 501 determines the mv_shift value according to the decoded value of the MB type and 8x8 Partition by 0N / 0FF according to the decoding value of the MB type and 8x8 Partition, and decodes the MVD precision as mv_shift value ⁇ is provided with a processing unit for adding a process of transmitting the mv-shift value to the MV predictor 508. Also provided is a processing sound
  • FIG. 25, FIG. 27, FIG. 29, FIG. 31, FIG. 33, FIG. 35, FIG. 37, FIG. 39 and FIG. 41 all show a moving picture coding apparatus according to the present invention.
  • FIG. 2 is a block diagram showing a configuration of a main part (encoding unit of a motion vector) of the embodiment.
  • Fig. 26, Fig. 28, Fig. 30, Fig. 32, Fig. 34, Fig. 36, Fig. 38, Fig. 40 and Fig. 42 are-Fig. 25, Fig. 27, Fig. 29 respectively , FIG. 31, FIG. 33, FIG. 35, FIG. 37, FIG. 39 and FIG. 41, a main part of an embodiment of the moving picture decoding apparatus according to the present invention corresponding to the coding apparatus shown in FIG.
  • FIG. 4 is a block diagram illustrating a configuration.
  • FIG. 4 is a block diagram showing a configuration of a main part (encoding section of a motion vector) of the embodiment of FIG.
  • the apparatus of FIG. 2 5 and 2 6 are each comprised of circuits to execute the equation (1) and (2) of Example 1, shift (m V _Shift) determining the external input values (motion base-vector (Determined at the time of detection).
  • the MV prediction unit 215 uses the memory 101 storing the motion vector MV of each block to create a predicted motion vector PMV.
  • the subtractor 102 obtains the difference MV-PMV.
  • the right shift processing unit 103 shifts the MV-PMV right.
  • a memory 101 storing a motion vector MV, a left shift processing unit 113, and an adder 112 are provided in order to perform inverse processing on the code side. .
  • the devices shown in FIGS. 27 and 28 are each configured by a circuit that executes the equations (1) and (2) of the first embodiment, and the shift (mv_shift) value is determined by an external input (when the motion vector is detected). Is determined and controlled by any one of the conditions such as the macro block type.
  • Shift value selector 104 If you select a particular plot Kutaipu, m V - select shift value, the control circuit 1 0 5, the moiety force from Mv- shift values of al, corresponding to the block type mv — Process the right shift processing unit 103 with the shift value.
  • the apparatus of Figure 2 9 and 3 0 is configured by a circuit for executing each type of each Example 1 (1) ⁇ Pi (2), the type of shift (m V _Shift) values determined macro block It is determined and controlled only by such conditions.
  • the apparatus shown in FIGS. 31 and 32 is composed of a circuit for executing equations (3) and (5) of the second embodiment, respectively, and the shift (mv-shift) value is determined by an external input (motion vector detection). Is sometimes controlled).
  • the precision correction processing unit 106 performs the processing of (PMV >> mv-shift) ⁇ mv_shift in Expression (3).
  • the devices of FIGS. 33 and 34 are constituted by circuits for executing equations (3) and (5) of the second embodiment, respectively, and the determination of the shift (mv-shift) value is performed by an external input (motion vector detection). Is sometimes determined) and controlled by one of the conditions such as the type of macroblock.
  • the devices of FIGS. 35 and 36 are each configured by a circuit that executes the equations (3) and (5) of the second embodiment, and the determination of the shift (mv_shift) value is controlled only by the macroblock type and the like. Is done.
  • the devices shown in FIGS. 37 and 38 are constituted by circuits for executing equations (4) and (6) of the second embodiment, respectively, and the shift (mv-shift) value is determined by an external input (movement). (Determined at the time of vector detection).
  • the devices shown in FIG. 39 and FIG. 4 ⁇ are each configured by a circuit that executes the equations (4) and (6) of the second embodiment, and the shift (mv—shi ft) value is determined by an external input (moving solid). (Determined at the time of detection of a torque) and macro block type.
  • the apparatus of FIG. 41 and FIG. 42 each include a circuit for executing equations (4) and (6) of the second embodiment, and the determination of the shift (mv_shift) value is based on the conditions such as the type of the macro block. Determined and controlled by either.
  • FIG. 18 is a processing flowchart of the encoding method according to the fifth embodiment.
  • the fifth embodiment is an encoding / decoding method for switching the accuracy of an encoding motion vector in order to solve a problem that a memory access area is expanded by motion compensation using a filter having a long tap number.
  • the predicted values generated using a long filter are only predicted pixels with pixel accuracy or less. Therefore, the memory access area can be reduced by limiting the motion vector coding accuracy to integer pixels. However, limiting the encoding accuracy of the motion vector to integer pixels reduces the prediction performance. Therefore, in the fifth embodiment, the pixel accuracy is limited in accordance with the degree to which the expansion of the memory access range affects device mounting or software mounting. In particular, the motion vector coding accuracy is limited only when the block size during motion compensation is small.
  • the encoding apparatus of the present embodiment first determines the block size as shown in FIG. 18 (processing 801), and performs mv_shift Select a value.
  • the 8x8 Partition 2 (8x4) t 8x8 Partition 3 (4x8) has 1/2 pixel precision (processing 8 1 1)
  • the 8x8 Partition 3 (4x4) has integer pixel precision (processing 812).
  • mv_shift is 1 for 8x4 and 4x8 pixel blocks
  • mv—shift is 2 for 4x4 pixel blocks
  • mv—shift is 0 for blocks of other pixel sizes.
  • the above-mentioned precision switching is applied only to B-picture, using P-picture and B-picture, and in P-picture, motion compensation is performed at 1/4 pixel accuracy regardless of the block size. May be performed.
  • the block size for performing motion compensation with integer pixel precision is only 4x4-but this may be extended to 8x4 and 4x8.
  • mv-shift is set to 2 for blocks of 8x4, 4x8, and 4x4 pixel sizes
  • mv-shift is set to 0 for blocks of other pixel sizes.
  • the encoding unit and the decoding unit of the motion vector in the moving picture encoding apparatus and the decoding apparatus according to the present embodiment are configured in the same manner as in FIGS. 41 and 42, respectively.
  • FIG. 19, FIG. 45 and FIG. 46 are a flowchart of an encoding method according to a sixth embodiment of the present invention, a main part configuration diagram of an encoding device, and a main configuration diagram of a decoding device, respectively.
  • This embodiment also solves the problem that the memory access area is enlarged by motion compensation using a filter with a long tap number. Encode components with different encoding precisions to limit the memory access range.
  • the shift selecting unit 124 of the encoding device determines whether or not the motion vector is a vertical component (process 801), and selects mv-1 shi ft.
  • the type adaptation unit 124 drives the right shift processing unit 103 with the selected mv-shift to perform motion compensation.
  • the vertical component of the motion vector is set to integer pixel precision (processing 812)
  • the horizontal component is set to 1/4 pixel precision (processing 813)
  • the vertical component is encoded.
  • the m V _ S hift when / decrypt 2 the mv one shift at the time of encoding / decoding a horizontal component to zero.
  • the method of the present embodiment for limiting the coding accuracy of the vertical component of the motion vector, which is greatly affected by the expansion of the memory access range, has a large effect.
  • Image data is generally stored in memory in raster scan order from upper left to lower right. Therefore, when extending the access range from a certain pixel to an adjacent pixel, one pixel in the horizontal direction means one pixel, but one pixel in the vertical direction means one line. Therefore, the number of memory accesses in the vertical direction is larger than that in the horizontal direction.
  • the horizontal memory Since the expansion of the access range occurs in word units or dword units, the effect is not so large.
  • the method of limiting the coding accuracy of the vertical motion vector is effective from the viewpoint of reducing the memory access range.
  • the processing as shown in FIG. 23 may be performed by combining the methods of the fifth and sixth embodiments. That is, the shift selection unit 124 calculates the vertical component of the motion vector only for blocks of 8x4, 4x8, and 4x4 pixel size. Limit to integer pixels. Furthermore, means for switching the vector components that limit the range according to the block size is also effective.
  • the influence of the expansion of the memory access area has a larger effect as the block size is smaller, but this can also be applied to the aspect ratio of the block.
  • the ratio of the vertical and horizontal sizes of the blocks is different, the influence of the expansion of the access range increases as the size of the component decreases.
  • FIG. 24, FIG. 43 and FIG. 44 are a processing flow diagram of an encoding method according to a seventh embodiment of the present invention, a main configuration diagram of an encoding device, and a main configuration diagram of a decoding device, respectively.
  • the shift value selecting section 124 of the encoding device (FIG. 43) and the decoding device (FIG. 44) has a block size of 8 ⁇ 4 (vertical X horizontal). ),
  • FIG. 20, FIG. 47 and FIG. 48 are respectively a flowchart of an encoding method processing according to the eighth embodiment of the present invention, a main configuration diagram of an encoding device, and a main configuration diagram of a decoding device. It is.
  • This embodiment is a method of limiting the vertical component of a motion vector to even pixel accuracy when an input image is an interlace signal and a macroblock has a frame structure in the seventh embodiment.
  • FIG. 17 shows a macroblock when encoding / decoding an interlaced signal in a frame structure.
  • the solid line in the figure indicates an odd field (top field), and the broken line indicates an even field (bottom field).
  • the odd-valued motion vector is obtained by generating the predicted value on the odd field from the even field on the reference image and generating the predicted value on the even field from the odd field on the reference image.
  • the display time is different between the odd field and the even field, so that the odd vertical component vector does not actually occur.
  • the vertical component of the motion vector is limited to even pixel accuracy when the input image is an interlaced signal and the macroblock has a frame structure.
  • mv-shift when encoding / decoding the vertical component is set to 3 (Fig. 20 Processing 803, 814), and mv_sh i when encoding / decoding the horizontal component is used.
  • ft is set to 0 (FIG. 20, processing 813).
  • FIG. 21 processing 801 only blocks of 8 ⁇ 4, 4 ⁇ 8 and 4 ⁇ 4 pixel sizes are used (FIG. 21 processing 801).
  • the vertical component of the motion vector may be limited to integer pixels.
  • an encoding method for interlaced signals there is an adaptive method in which a frame structure, a field structure, and a frame structure and a field structure are switched for each macroblock, and the encoding accuracy of a motion vector is determined according to the method. You may change the selection method.
  • the encoding method of a frame structure may be the same regardless of signal scanning.
  • the frame structure and the field structure Performs encoding / decoding of small-size blocks with the vertical motion vector encoding precision limited to integer pixel precision (Fig. 20 and Fig. 21 and ⁇ 22 processing 812).
  • the coding accuracy of the vertical motion vector is limited to even pixel accuracy in the frame structure for small-sized blocks (see Fig. 20 and Fig. 20).
  • encoding / decoding is performed only with integer pixel precision (the processing 812 in FIGS. 20 and 21).
  • the processing 814 in Fig. 22 the coding accuracy of the vertical motion vector is limited to even pixel accuracy regardless of the block size (processing 814 in Fig. 22), and in the field structure, the size of the block is small.
  • the encoding / decoding may be limited to the integer pixel precision (FIG. 22, process 801 and process 812).
  • the encoding / decoding processing of the mv_shift value is not required. Therefore, the MVD prediction l 3 in FIGS. 1 and 2 and the mv_shi f1: in FIGS. 11 and 12 are not necessary. Also, in FIG. 13, there is no need to transmit the mv_shift value from the motion compensator 211 to the multiplexer 206. Further, in FIG. 14, there is no need to perform a process of transmitting the mv_shift value from the code decoder 501 to the MV predictor 508. The mv—shi ft value is determined by the MV predictor 508 according to the prediction mode.
  • the memory access range reduction method according to the eighth embodiment uses a means for switching the accuracy between the coding motion vector and the prediction motion vector. Is limited to integer pixels. "
  • Limiting the coding accuracy of the vertical component of the motion vector to integer pixels or even pixels '' means the accuracy of motion compensation, the type of motion vector coding accuracy to be prepared, and the type of motion vector.
  • the block size for switching the encoding precision is not limited to the above embodiment.
  • a method that limits the motion vector to 1/2 pixel precision instead of integer pixel precision is also proposed. It can be realized by the invention.
  • the present invention is an apparatus and a system for transmitting, storing, and displaying moving images, and is used in an industrial field that requires a technology for encoding digital information with a smaller code amount of image information.

Description

明細 : 動画像信号の符号化方法、 複号化方法、 符号化装置及ぴ復号化装置 技 fe分野
本発明は、 動画像信号の符号化方法、 復号化方法、 符号化装置及び復 号化装置、 特に、 動きべク トルの符号化及び複号化技術に関するもので ある。 背景技術
動画像の符号化 ·復号化処理の概要について説明する。 動画像の符号 化は、 一般的に、図 13 の符号化装置で行われる。符号化の対象となる動 画像の 1 フレームは、 図 3に示すように、 1個の輝度信号(Y 信号: 61) と 2個の色差信号(Cr 信号 : 62, Cb 信号: 63)で構成されており、 色差 信号の画像サイズは縦横とも輝度信号の 1/2 となる。 一般のビデオ規格 では、 動画像の各フレームを小ブロックに分割し、 マクロプロックと呼 ばれるブロック単位で再生処理を行う。
上記マクロブロックは、図 5に示ように、 16x16 画素の 1個の Y 信号 ブロック 30 と、 それと空間的に一致する 8x8 画素の Cr信号ブロック 31 並びに Cb 信号ブロック 31 で構成されている。 画像信号の符号化は. 上記マク ロブロック単位で処理される。 符号化には、 大きく分けて、 ィ ントラ符号化(ィントラモー ド)、 と予測符号化(ィンターモー ド)とがあ る。
図 1 3の画像信号の符号化装置において、 イントラ符号化の場合は、 符号化対象の入力マク口ブロック画像 201 は、 DCT符号化プロックに分 割され DCT変換器 203 で直接 DCT203 を行い、 DCT係数に変換される。 差替え) 5鈸 各変換係数は量子化器で 204され、 多重化器 206で符号化される。
DCT 符号化ブロックサイズは従来の符号化方式では 8 X 8 画素が一般 的であるが、 最近では MPEG- 4 Part 10 (Advanced Vi deo Coding)等で 4x4画素サイズによる DCT変換も検討されている。
図 6に示すように、 各マクロブロックは 24個の 4x4画素ブロックに 分割され、 DCT変換器 203 でそれぞれ 16個の DCT係数に変換される。 量子化された DCT係数はの一部は、 局部復号器 220 の逆量子化,器 207 と 逆 DCT器 208で、 入力マクロブロックに復号され、 フレームメモリ 210 に合成される。 局部復号器 220は、 後述の復号装置と同様の復号画像を 作成する。 フレームメモリ 210に蓄積された画像は後述の時間方向の予 測に用いられる。 このイン トラ符号化は、 前フレームに似通った部分が ないマクロブロック(第 1符号化フレームも含む)や、 DCT に伴う蓄積演 算誤差を解消したい部分等に配置される。
イ ンター (予測符号化) 符号化の場合は、 入力マクロブロック画像 201 とフレームメモリ 210 に蓄積されている符号化済みフレームの復号 画像(参照フレーム)間の動き補償処理が、 動き補償器 211で行われる。 動き補償とは、 参照フレームから対象マクロブロックの内容と似通った 部分(一般的には、 プロック内の予測誤差信号の絶対値和あるいは 2乗 誤差和が小さい部分を選択する)を検索し、 その動き量(動きべク トル) を符号化する時間方向の圧縮技術である。
図 4に動き捕償の処理構造を示す。 図 4は、太枠で囲んだ現フレーム 71 の輝度信号プロック 72 について、 前フレーム 73 (参照フレーム)上の 予測ブロック 75 と動きべク トル 76 を示した図である。 動きべク トル 76 は、 現フレームの太枠ブロックに対して空間的に同位置に相当する 前フレーム上のブロック 74 (破線)から、 前フレーム上の予測ブロック 75 領域までの移動分を示す (色差信号用の動きべク トル長は、 輝度信 号の半分とし、 符号化はしない)。 検出された動きべク トルは、 MV 予測 器 215 から得られる予測動きべク トル(隣接プロックの動きべク トルか ら予測)との間で差分処理きれた後、 多重化器 206 で符号化される。 動 き捕償により前フレームから抜き出された予測マクロブ口ック画像 213 は、 現フレームの入力マクロブ口ック画像 201 との間で差分器 202にて 差分処理され、 差分マクロブロック画像が生成される。
差分マクロブロック画像は、 図 6に示すように、 24 個の 4x4 画素ブ ロックに分割され、 DCT変換器 203 でそれぞれ 16個の DCT係数に変換 される。 各 DCT係数は、 量子化器 204にて量子化され、 多重化器 206で 符号化される。 インター符号化の場合も、 量子化 DCT係数を局部復号器 220の逆量子化器 207 と逆 DCT器 208で、 差分マクロブロック画像に復 号し、 加算器 209にて予測マクロブロック画像と加算した後、 フレーム メモリ 210に合成する。 なお、 ここでは、 1マクロブロックで符号化す る動きべク トルの数を 1本としているが、 マクロブロックを更に小プロ ックに分割し、 小ブロック毎に動きベク トルを算出し符号化する方法が 一般的である。 例えば、 MPEG- 4 Part 10 (Advanced Vi deo Coding)では、 動き補償を行う際のマクロブロック分割タイプ(輝度成分)を図 7として 考える。 基本はタイプ 51〜タイプ 54 の 4種類である。 タイプ 54 は、 4個の 8 X 8 ブロック 54- 0〜54- 3 それぞれにつレヽて、 更にタイプ 54a, 54b, 54c, 54dとイントラ符号化の 5種類から選択する。
更に、予測符号化の動き補償方法としては、 時間的に過去のフ レーム の情報を用いて動き捕償を行う前方向予測符号化と、 時間的に過去と未 来のフレームの情報を用いて動き捕償を行う双方向予測符号化に分けら れる。 上記前方向予測符号化の動き補償では、 前方予測のみを扱うが、 双方向符号化の動き捕償では、 前方予測の他に、 後方予測、 双方向予測 並びに時間的に未来のフレームにおける動きべク トル情報を利用して双 方向から予測を行う直接予測を极う。
動きべク トルの符号化精度は、. 整数画素以下の精度まで扱うことがー 般的である。 例えば、 MPEG - 4 Part 2 の Advanced Simple Profi l e では、 1/2画素精度と 1/4画素精度がビッ トデータ毎に選択することが可能と なっている。 整数画素精度以下の予測値の算出方法については、 説明を 省く力 1/2画素精度では 2 タップの線形フィルタ、 1/4画素精度では 8 タップフィルタと 2 タップフィルタを画素位置に応じて適応的に用い ている。 また、 MPEG- 4 Part 10 でも 1/4 画素精度で動きべク トルを表 現することが検討されており、, 6 タップフィルタと 2 タップフィルタを. 用いて予測値を算出する。 このよ う に、 長いタップ数のフィルタを用い ることにより予測性能が向上する。
全てのマクロブロックに対してイ ントラ符号化を適用したフレームを I - Pi cture , 前方向予測符号化あるいはィントラ符号化にて構成される フレームを P_Pi Cture、 双方向符号化符号化あるいはイントラ符号化に て構成されるフ レームを B-P i cture と呼ぶ。 P- Pi cture あるいは B- Pictureでは、 図 1 3 の INTRA/INTER判定器 214にて、 各マクロブロ ッ クを予測符号化とイ ントラ符号化のいずれで行うかを判定し、 判定結果 218を多重化器 206で符号化する。 動画像の符号化信号の複号化は、 符号化と逆の手順で行われる。 一般 的に、図 1 4の動画像復号装置で行われる。
符号解読部 501では、 入力された符号化データを解析し、 動きべタ ト ル関連情報とマクロブロックタイプ情報を MV 予測器 508 に、 量子化
DCT係数情報を逆量子化器 502 に振り分ける。 マクロブロックタイプが イン トラ符号化であった場合には、 復号した量子化 DCT係数情報を、 逆 量子化器 502 と逆 DCT器 503 において、 4 X 4画素プロック毎に逆量子 化 ' 逆 DCT処理し、 マクロブロック画像を再生する。 マクロブロックの 予測モードが予測符号化.であった場合には、 MV 予測器 508 にて復号差 分動きべク トルと予測動きべク トルから復号動きべク トルが算出され、 動き補償器 504に入力される。 動き補償器 504では、 動き量に従って、 前フレームの復号画像が蓄積されているフレームメモリ 507から予測マ クロブロック画像を抜き出す。
次に、 予測誤差信号に関する符号化データを、 逆量子化器 502 と逆 DCT器 503において、 4 X 4画素ブロック毎に、 逆量子化■逆 DCT処理し, 差分マクロブロック画像を再生する。 そして、 予測マクロブロック画像 と差分マクロブロック画像を加算器 505にて加算処理し、 マクロプロッ ク画像を再生する。 再生されたマクロブロック画像 、 合成器 506にて 復号フレーム画像に合成される。 また、 復号フレーム画像は、 次フレー ムの予測用にフレームメモリ 50ァ に蓄積される。
本発明に関連する文献として、 特許公開公報 (特開平 1 1 一 4 6 3 6 4号公報) がある。 この文献では、 ブロック単位で符号化 ·復号化処理 を行う動画像の符号化 ·復号化方法において、 数種類の動きべク トル精 度を用意し、 複数個束ねたブロック単位で動きべク トルの符号化精度を 切り換える手段が、 記載されている。
従来知られている動画像信号の動き補償符号化では、 プロックに含ま れる動きベク トル数が複数種類用意されており、 動きベク トルの符号化 精度が 1 /8画素精度のように高い符号化方式が検討されている。 しかし ながら、 動きベク トルの符号量の関係から、 ブロックに複数の動きが含 まれる場合でも、 少ない動きべク トル数で符号化する方法が選択される 傾向がある。 また、 整数画素精度以下の予測画素を長いタップ数のフィ ルタを用いて生成する場合には、 1個の予測ブロックを生成するために 用いる参照画像内の画素数が大きくなるというメモリ アクセスの問題が 発生する。 この間題は、 特に動き捕償を行う際に問題となる。
従って、 本発明の目的は、 動きベク トルの符号量を削減及び符号化ブ 口ック内のプロック数の増大による動き予測誤差情報の削減ができる動 画像信号の符号化方法、 復号化方法、 符号化装置及び復号化装置を提供 することである。
本発明の他の目的は、 符号化装置及ぴ復号化装置において、 動き補償 時メモリアクセス範囲を低減するこ とである。 発明の開示
上記目的を達成するため、 本発明は、 画像を複数の符号化ブロックに 分割し、 符号化プロック内の動きべク トルを隣接位置の動きべク トルカ、 ら予測し、 符号化すべき動きべク トルとその予測動きべク トルより算出 される差分動きべク トルをブロ ック単位で符号化する手順を含む動画像 符号化方法において、
動きベク トルを符号化が、 ( 1 ) 差分動きベク トルの精度を数種類用 意し、 符号化プロック毎に差分動きべク トルの精度を選定し、 選定した 精度の情報及びその精度の差分動きべク トルとを符号化する手順をもつ 又は ( 2 ) 動きベク トルの精度を数種類用意し、 符号化ブロック毎に動 きベク トルの精度を選定し、 選定した精度の情報と、 選定した精度に修 正した予測動きべク トルと選定した精度の動きべク トルより算出される 差分動きべク トルとを符号化する手順をもつ。
ここで、上記 (1 ) 及ぴ (2) の場合において、 差分動きベク トルの符 号化に伴う精度値 (以下、 mv_shift 値とも略称) の決定及び符号化処 理は、 全てのマクロブロックで行う他、 マクロブロックのタイプ (例え ば、 符号化動きべク トルの数の大小) や周囲の状況 (例えば、 隣接マク ロブロックルの状況) を利用し、 特定マクロブロックの mv_shi ft 値の 符号化を省略する場合を含む。
上記 (2) の場合、動きべク トルの水平成分と垂直成分で異なる精度を 割り当て、各成分は割り当てられた精度の動きべク トルから算出された 差分べク トルを符号化するようにしてもよい。
本発明の動画像の復号化は、 本発明の動画像符号化による符号を用い て、 符号化の手順と逆の手順によって、 符号化ブロックの画像再生を行 う。 即ち、 動きべク トルの精度を複数用意し、 動きべク トルの水平成分 と垂直成分で異なる精度を割り当てる。 各成分は該割り当てられた精度 に修正し、 該修正予測動きべク トルと割り当てられた精度の動きべク ト ルから算出される差分動きべク トルを符号化する。
さらに、 復号化の ·場合にも、 mv_shi ft 値の設定は、 復号すべき符号 が符号化された処理に対応して行われる。 例えば、 符号化において、 マ クロブロックのタイプ、 あるいは周囲の状況で mv— shi ft 値が符号化さ れていない符号の再生においては、 復号マクロブロックのタイプ、 ある いは周囲の状況で mv— shi ft値が決定、 処理される。
本発明の目的、 特徴、 符号化装置及び複号化装置の構成は以下の図面 を伴う実施例の説明によってさらに明確にされる。 図面の簡単な説明
図 1は、 前方向予測フレームのデータシンタ ックスの例を示した図であ る。
図 2は、 双方向予測フレームのデータシンタックスの例を示した図であ る。
図 3は、 マク ロフロ ック分割を説明する図である。
図 4は、 動き補償の原理を説明する図である。
図 5は、 マク ロブロックに含まれる有意 DCT係数の有無を符号化する際 に利用するブロック構成を示す図である。
図 6は、 DCT 処理並びに符号化処理を行うブロック単位を示すマクロブ 口ック構成を示す図である。
図 7は、 動き捕償を行うプロック単位を示す輝度プロックの構成を示す 図である。
図 3は、 予測動きべク トルの生成を説明する図である。
図 9は、 動きべク トル精度の符号表の例を示した図である。
図 1 0は、 動きべク トル精度の予測方法を説明する図である。
図 1 1は、 本発明の実施例による P-P i ctureにおけるマクロブロックタ イブの符号表と 8x8パーティションタイプの符号表を示す図である。 図 1 2は、 本発明の実施例による B_P i ctureにおけるマクロブロックタ イブの符号表と 8x8パーティションタイプの符号表を示す図である。 図 1 3は、 動画像符号化装置の一般的構成を示すブロック図である。 図 1 4は、 本動画像復号化装置の一般的構成を示すプロック図である。 図 1 5は、 従来法におけるマクロブロックタイプの符号表の例を説明し た図である。
図 1 6は、 ユニバーサル符号化表の構成例を示した図である。
図 1 7は、 フィールド信号におけるフレーム構造のマクロブロックの構 成例を示した図である。
図 1 8は、 ブロックサイズで動きベク トルの符号化精度を切り換える処 理の流れ図である。
囪 1 9は、 本発明の実施例における動きべク トルの成分で動きべク トル の符号化精度を切り換える処理の流れ図である。
図 2 0は、 本発明の実施例における動きべク トルの成分とマクロブロッ ク構成で動きべク トルの符号化精度を切り換える処理の流れ図である。 図 2 1は、 本発明の実施例におけるブロックサイズと動きべク トルの成 分とマク口プロック構成で動きべク トルの符号化精度を切り換える処理 の流れ図である。
図 2 2は、 本発明の実施例におけるブロックサイ.ズと動きべク トルの成 分とマクロプロック構成で動きべク トルの符号化精度を切り換える処理 の流れ図の別例である。
図 2 3は ·、 本発明の実施例におけるブロックサイズと動きべク トルの成 分で動きべク トルの符号化精度を切り換える処理の流れ図の例である。 図 2 4は、 本発明の実施例におけるブロックサイズと動きべク トルの成 分で動きべク トルの符号化精度を切り換える処理の流れ図の別例である c 図 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は、 本発明による動画像符号化装置の動きべク トルの符号化部の 実施例の構成図である。
図 3 8は、 本発明による動画像復号化装置の動きベク トルの復号化部の 実施例の構成図である。
図 3 9は、 本発明による動画像符号化装置の動きべク トルの符号化部の 実施例の構成図である。
図 4 0は、 本発明による動画像複号化装置の動きべク トルの複号化部の 実施例の構成図である。
図 4 1は、 本発明による動画像符号化装置の動きベク トルの符号化部の 実施例の構成図である。
図 4 2は、 本発明による動画像複号化装置の動きべク トルの複号化部の 実施例の構成図である。
図 4 3は、 本発明による動画像符号化装置の動きベク トルの符号化部の 実施例の構成図である。
図 4 4は、 本発明による動画像復号化装置の動きべク トルの復号化部の 実施例の構成図である。
図 4 5は、 本発明による動画像符号化装置の動きべク トルの符号化部の 実施例の構成図である。
図 4 6は、 本発明による動画像復号化装置の動きべク トルの復号化部の 実施例の構成図である。
図 4 7は、 本発明による動画像符号化装置の動きべク トルの符号化部の 実施例の構成図である。
図 4 8は、 本発明による動画像複号化装置の動きべク トルの複号化部の 実施例の構成図である。 発明を実施するための最良の形態
本発明の実施例を説明する前に、以下の説明の理解を容易にするため、 符号化装置の多重化器で作成される符号データのデータシンタックスに ついて説明する。
図 1力 S P- Pictureのデータシンタ ックス、 図 2力 S B— Pictureデータシ ンタックスの一部(CBP15 以降は図 1 と同じであるため省略)を示す。 な お、 ここでは、 データ (動きベク トル精度情報) 13 は、 データシンタ ックス内に現れないものとして説明する。 また、 I- picture については、 本発明の特徴に含まれないため説明を省略する。
picture header! 0 には画像サイズ、 再生時刻等フ レームの再生情報 に関するデータが含まれる。 picture typell は、 フレームタイプ情報 で、 I一 Picture, P— Picture, B— Picture の種 U力 Sここで符号ィ匕される。 MB typel2 力、ら Tcoeff chromal7 がマクロブロックデータにあたり、 フ レーム内のマク ロブロック数だけ燥り返される。 MB typel2 では図 15 の表 95 (P - picture)又は表 96 (B- Picture)に示されるマクロブロック モードからマクロブロック毎に 1つのモードが選択され、 符号化される c SKIP モー ドは、 前フレームの復号画像から空間的に同一位置に相当 するマクロプロック画像を切り出しコピーすることを意味する。 表内の IntraMXN の M, N は空間予測を行う際の小ブロックサイズを示す。 MX N は動き補償を行う際の小ブロック単位を示しており、 それぞれ図 7の モード 1〜モー ド 4に対応している。
Directは、 直接予測を意味する。 Block 1並びに Block 2は、 図 7の モード 2又はモード 3における 2個の小ブロックを識別しており、 各小 ブロックの予測方向が Forward (前方予測)、 Backward (後方予測)、 Bi-directional (双方向予測)のいずれであるかを示す。 MB typel2 で 8x8 (split)を選択したマクロブロックにつレ、ては、 8x8 Partition 18 が発生する。 それ以外のマク ロブロックモードでは、 8x8 Partition 18 は発生しなレ、。 8x8 Partition 18では、 図 11の表 92 (P_picture)又は 図 12 の表 94 (B - Picture)に示される 8x8 パーティショ ンモードから 8x8 パーティショ ン毎に 1つのモードが選択され、 符号化される。 表内 の Intra は空間予測を示す。 MXN は動き補償を行う際の小ブロック単 位を示しており、 それぞれ図 7のパーティショ ン 1〜パーティショ ン 4 に対応している。 Directは、 直接予測を意味する。
Prediction は、 各小ブロ ックの予測方向が Forward (前方予測)、 Backward (後方予測)、 Bi-directional (双方向予測)のいずれであるか を示す。 MVD14 は、 P- Picture における差分動きべク トルの符号化デー タを示す。 従って、 MB typel2 が IntraMXN の場合には、 このデータは 発生しない。 MB typel2力 S MXNの場合には、 MVD14は、 MB type と 8X8 Partition が示すベタ トル数だけ繰り返し符号化される。 例えば、 16 X 8 の場合には、 符号化すべき差分動きべク トル数が 2個であり、 各動き ベタ トルは水平、 垂直の 2成分から構成されるため、 4個の MVDが連続 して符号化される。 MVDFW23 と MVDBW24 は、 B- Picture における差分動 きべク トルの符号化データを示す。 MVDFW23 は、 MB type 12 と 8x8 Partition 18 が示す前方予測 (双方向予測も含む) に伴う動きべク ト ルを含むマクロブロックである場合に発生する。 同様に、 MVDBW24 は、 MB type 12 と 8x8 Partition 18 が示す後方予測 (双方向予測も含む) に伴う動きべク トルを含むマクロブ口ックである場合に発生する。 従つ て、 MB typel2 力 S IntraMXN あるいは Direct の場合の場合には、 この データは発生しない。 MB typel2 が MXN であり、 前方予測 (双方向予 測も含む) に伴う動きベク トルが存在する場合には、 MVDFW23 は、 MB type と 8X8 Partition が示す前方予測 (双方向予測も含む) に伴うベ ク トル数(差分動きべク トル数 X 2、 水平 ·垂直成分)だけ繰り返し符号 ィ匕される。 同様に、 MB typel2 力 S MXN であり、 後方予測 (双方向予測 も含む) に伴う動きべク トルが存在する場合には、 MVDBW24 は、 MB type と 8X8 Partition が示す後方予測 (双方向予測も含む) に伴うベ ク トル数(差分動きベク トル数 X 2、 水平 ·垂直成分)だけ繰り返し符号 ィ匕される。
CBP15 は、 図 6に示される 24個の DCT ブロックについて、 0以外の 量子化 DCT係数(有意係数)が 16 個係数に含まれているか否かを示す符 号化データである。 伹し、 24 個の各 DCT ブロックについてそれぞれ有 意係数の有無情報を符号化すると付加情報が大きくなるため、 ここでは、 図 6に示すように 4個の DCT ブロックをまとめた 8X8 ブロック単位で 有意係数の有無を符号化するものとする。
Tcoeff lumal6 は、 輝度ブロック 40 における量子化 DCT係数の符号 化データを示す。 符号化は、 4X4 ブロック 40- 0力 ら 4x4ブロック 40 - 15 まで、 番号の小さい順にそれぞれ 16個の量子化係数が符号化される 但し、 CBP にて有意係数が無いことが示されている 8X8 ブロックにつ いては、 符号化処理が省略される。
Tcoeff chromal7 は、 輝度ブロック 40 における量子化 DCT係数の符 号化データを示す。 符号化は、 4X4ブロック 41-0, 41-2, 41-3, 41-4, 42-0, 42-1, 42-3, 42- 4 の順にそれぞれ 16個の量子化係数が符号化さ れる。 但し、 CBP15 で有意係数が無いことが示されている信号成分につ いては、 符号化処理が省略される。
図 1 と 2に示したマクロブロックレベルの符号化データの符号化方法 については、 1種類の可変長符号表のみを用いる Universal VLC(UVLC), 固定長符号化と可変長符号化(各符号化要素に異なる符号表を用意)を組 み合わせた符号化方法並びに、 算術符号化 (例えば、 非特許文献 1参 照) 等が考えられる。 図 1 6の表 83 が UVLC の構成を示しており、 Xn の値は '0' 又は '1' となる。 表 84 に、 実際の可変長符号表の例を示 す。 算術符号化の具体的な方法としては、 各符号の意味を数ビッ トのバ イナリーデータに置き換え、 各ビッ トを各々の 0 と 1の発生確率を示す 生起確率モデルに応じて符号化する方法を考える。 こ の方法は、 CABAC (Context-based Adaptive Binary Arithmetic Coding)と呼はれて レヽる ( Witten et al. , " Arithmetic Coding for Data Compression", Comm. of the ACM, 30 (6), 1987, pp.520-541) 。 本発明は、特に、 動きベク トルの符号化部/複号化部に特徴をもつ。 即 ち、 図 1及び図 2のデータ MVDシンタツタスで M V Dprecisionl3部 の処理、 図 13 の符号化装置の MV予測部部 215、 動き捕償部 2 1 1部. 及ぴ図 14の復号化装置の MV部 508、 動き補償部 5 0 4部の構成並び 信号処理方法にの特徴をもつ。 他の部分の構成及び信号処理方法は従来 の装置、 方法と実質的に同じであり、 以下本発明の特徴部の実施例につ いて説明する。
<実施例 1 >
本実施は、 動きべク トルの符号化部は、 画像を複数の符号化ブロック に分割し、 上記符号化プロックの画像信号及び上記符号化プロック内の 動きベク トルを隣接位置の動きベク トルから予測し、 符号化すべき動き ベタ トルとその予測動きべク トルより算出される差分動きべク トルをブ 口ック単位で符号化する動画像符号化 (以下動画像の動き補償符号化と 略称) において、 差分動きベク トルの精度を数種類用意し、 複号化プロ ック毎に差分動きベク トルの精度を選定し、 選定した精度の情報及びそ の精度の情報の差分動きべク トルを符号化する方法である。
まず、 上記予測動きベク トルの生成を図 8を用いて説明する。 ここで、 動きベク トルを符号化する対象の小ブロックを 50 とする。 小ブロック 50では、 動きベク トルの水平 ·垂直成分それぞれについて、 隣接位置 A, B, C に位置する 3ブロックの動きベク トルを候捕としてその中間値を 計算し、 中間値の動きべク トルを予測動きべク トルとする。 伹し、 符号 化順序ゃマクロブ口ック位置の関係で位置 Cのブロックが符号化前の場 合や画像の外に位置する場合には、 位置 Cの代わりに位置 Dに位置する ブロックの動きべク トルを候補動きべク トルの 1つとして用いる。 なお, 位置 A, B, C, D のブロックが動きべク トルを持たない場合には、 その 動きベク トルを 0ベク トルとして予測処理を行う。 この際、 3個の候補 ブロックのうち 2個が動きべク トルを持たない場合には、 残りの 1つの 候補動きベク トルを予測動きベク トルとする。 上述の予測方法は、 図 7 のモード 1 (51 )のブロック 51-0, モー ド 4 (54)の小ブロック 54a - 0、 54b— 0、 54b— 1、 54c— 0、 54c— 2並ぴ ίこ 54d— 0〜54d—3 こつ ヽて ίま、 同じ予 測方法を用いる。
モー ド 2 (52)の 2個の小ブロック(52-0, 52- 1 )、 モー ド 3 (53 )の 2個 の小ブロック(53-0, 53- 1 )については、 図 8に示す矢印の根元に位置す るブロックの動きベク トルを予測値とする。 なお、 いずれのモードにお いても、 色差成分用の動きべク トルは符号化せず、 輝度成分の動きべク トルを 2で割る等して使用する。 .
本実施例 1では、 まず、 差分動きべク トルの精度の候補を、 1 /4 画素 精度、 1 /2画素精度、 1画素精度の 3種類とする。 MVを 1 /4画素精度表 現の動きべク トル成分を 4倍した値、 PMV を 1/4画素精度表現の'予測動 きベク トル成分を 4倍した値とすると、 この表現で、 各精度候補に対す る MVの値は以下のように制限される。
1画素精度 : マクロブロック内の全小ブロックにおける(MV PMV)の値が 水平,垂直成分とも 4の倍数となる MV。
1/2 画素精度 : マクロブロック内の全小ブロックにおける(MV- PMV)の値 が水平 ·垂直成分とも 2の倍数となる MV。
1/4 画素精度 : マクロブロック内の全小ブロックにおける(MV- PMV)の値 が水平 ·垂直成分 も 1 の倍数となる MV。
従って、 本方式の効果を符号化特性に反映させるためには動きべク ト ル推定において、 予測誤差信号の絶対値和或いは 2乗誤差和に、 動きべ ク トルの符号量の影響を加えた評価関数を用意する。 この際、 各小プロ ックの最適評価値を(MV - PMV)の各精度について算出し、 マクロブロック 内の全小ブロックの動きべク トル推定処理が終了した後、 各精度につい て小ブロックの評価値の加算値を計算することにより、 評価値の総和が 小さい精度を差分動きべク トルの精度と決定する。 符号化する差分動き ベク トル MVDは式 ( 1 ) で算出される。
MVD = (MV - PMV) >>mv_shift ( 1 )
式 ( 1 ) 中の mv— shi ftは、 図 9の表 81に示す値である。 式 ( 1 ) は- 動きべク トル成分 MV から予測動きべク トル成分 PMV を引いた値を、 mv— shift で示す数だけ右に算術ビッ トシフ トした値が差分動きべク ト ル成分 MVD であることを示す。 ここで、 動きべク トル成分 MV から予測 動きべク トル成分 PMVを引いた値は 1くく mv— shift の倍数であり、 算術右 ビッ トシフ ト処理した差分動きべク トル成分 MVDが 1 の倍数の値となる c Pi cture type 力 S P— Picture の場合には、 mv— shift 力 S図 1 のデータ MVD prec i s ions に示す符号化データ要素、 MVD がデータ MVD 14 に示す 符号化要素として符号化される。 Picture type が B - Picture の場合に は、 mv— shift が図 2のデータ MVD precisionl3 に示す符号化データ要 素、 MVD がデータ MVDFW23 (MVD が前方予測の差分動きべク トルの場 合) 又はデータ MVDBW24 (MVD が後方予測の差分動きべク トルの場合) に示す符号化データ要素として符号化される。 なお、 MVD precision の 符号化は差分動きべク トルの符号化データ (MVD14 又は、 MVDFW23 と MVDBW24)が発生しないマクロブロックでは省略される。 具体的には、 P - Picture: MB type 力 S IntraMXN又 ίま、 MB type 力 S 8x8 (split)で 4個の /Jヽブロックの 8x8 partition力 S全て intraの場合、 B— Picture: MB type 力 S IntraMXN又は Direct の場合、 さらに MB type力 S 8x8 (split)で 4個 の/ J、プロックの 8x8 partition力 S全て intra又は direct の場合である。 従来例に示したように、 符号化方法としては、 UVLC や算術符号化等 を採用する。 図 9の表 81 に示すコードは、 UVLCを使用した場合の符号 化コードの例である。 算術符号化の場合には、 例えば符号化 MB (図 10 の 7C)の予測動きべク トルの生成値は、 直左 MB (図 10 の 7A)と直上 MB (図 10 の 7B)の mv— shift 値から算出される発生確率テーブルに従つ て符号化する。
複号化側では、 復号 mv一 shift値と復号 MVD並びに PMVから、 以下の 式、
MV = (MVDくく mv— shift) + PMV ( 2 )
に従って、 务動きべク トル成分の復号、 即ち MV 値を再生 (復号化) す る。 式 (2 ) は、 差分動きべク トル成分 MVD を mv_shift で示す数だけ 左に算術ビッ トシフ トした値に予測動きべク トル成分 PMVを加えた値が 復号動きぺク トル成分 MV になることを示す。 この算術左ビッ トシフ ト 処理によ り、 復号された差分動きべク トル成分 MVD は 1 の倍数から l«mv_shift の倍数(符号化側の MV- PMV に対応)となる。 この値に PMV を加えることで復号動きべク トル成分 MV は元の精度の値に復元される。 次に、 差分動きべク トルの精度の候補が、 1/8 画素精度、 1/4 画素精 度、 1/2画素精度、 1画素精度の 4種類の場合について述べる。 MVを 1/8 画素精度表現の動きべク トル成分を 8倍した値、 PMV を 1/8画素精度表 現の予測動きベク トル成分を 8倍した値とすると、 この表現で、 各精度 候補に対する MVの値は以下のように制限される。
1画素精度 : マクロブロック内の全小ブロックにおける(MV-PMV)の値が 水平 ·垂直成分とも 8の倍数となる MV。
1/2 画素精度 : マクロブロック内の全小ブロックにおける(MV - PMV)の値 が水平 ·垂直成分とも 4の倍数となる MV。
1/ 画素精度 : マクロブロック内の全小プロックにおける(MV - PMV)の値 が水平 ·垂直成分とも 2 の倍数となる MV。
1/8 画素精度 : マクロブロック内の全小ブロックにおける(MV - PMV)の値 が水平 ·垂直成分とも 1 の倍数となる MV。
動き推定の方法については、 1/4 画素精度、 1/2 画素精度、 1 画素精度 の 3種類の場合と同じであるため、 説明を省略する。 差分動きべク トル MVD は式 ( 1 ) で算出される。 ここで、 動きべク トル成分 MV から予測 動きべク トル成分 PMVを引いた値は 1くく mv_shift の倍数であり、 算術右 ビッ トシフ ト処理した差分動きべク トル成分 MVDが 1の倍数の値となり, 前述の式 ( 1 ) で算出される。 式 ( 1 ) 中の mv— shift は、 図 9の表 82 に示す値である。
mv_shift と MVD の符号化方法ついては、 差分動きべク トルの精度の 候補が、 1/4 画素精度、 1/2 画素精度、 1 画素精度の 3種類の場合と同 じであるため、 説明を省略するが、 UVLC を使用した場合の符号化コ ー ドは、 表 81ではなく表 82に従うことなる。
復号化側の処理も、 差分動きべク トルの精度の候補が、 1/4 画素精度. 1/2画素精度、 1画素精度の 3種類の場合と同じであり、 復号 mv_shift 値と復号 MVD並びに PMVから、 前述の式 ( 2 ) に従って、 各動きべク ト ル成分の復号 MV 値が再生される。 式 ( 2 ) は、 差分動きべク トル成分 MVD を mv_shift で示す数だけ左に算術ビッ トシフ トした値に予測動き ベタ トル成分 PMV を加えた値が復号動きべク トル成分 MV になることを 示す。 この算術左ビッ トシフ ト処理により、 復号された差分動きべク ト ル成分 MVDは 1の倍数から 1〈く mv_shiftの倍数(符号化側の MV- PMVに対 応)となる。 この値に PMVを加えることで復号動きべク トル成分 MVは元 の精度の値に復元される。
<実施例 2〉
本実施 2は、 動画像の動き補償符号化において、 動きベク トルの精度 を複数種類用意し、 マク ロプロック毎に動きべク トルの精度を選定し、 選定した精度情報と、 その選定した精度に修正した予測動きべク トルと その選定した精度に修正した符号化動きべク トルから算出される差分動 きべク トルを符号化する方法である。
まず、 予測動きべク トルと符号化動きべク トルの精度の候補を、 1/4 画素精度、 1/2画素精度、 1画素精度の 3種類とする。 MVを 1/4画素精 度表現の動きべク トル成分を 4倍した値、 PMV を 1/4画素精度表現の予 測動きべク トル成分を 4倍した値とすると、 この表現で、 各精度候補に 対する MVの値は以下のように制限される。
1画素精度 : マクロブロック内の全小ブロックにおける MV の値が水 平 ·垂直成分とも 4の倍数となる. MV。
1/2 画素精度 : マクロブロック内の全小プロックにおける MV の値が水 平 ·垂直成分とも 2の倍数となる MV。
1/4 画素精度 : マクロブロック内の全小ブロックにおける MV の値が水 平■垂直成分とも 1 の倍数となる MV。 従って、 本方式の効果を符号化特性に反映されるためには動きべク ト ル推定において、 予測誤差信号の絶対値和或いは 2乗誤差和に、 動きべ タ トルの符号量の影響を加えた評価関数を用意する。 この際、 各小プロ ックの最適評価値を MV の各精度について算出してき、 マクロブロック 内の全小ブロ ックの動きベク トル推定処理が終了した後、 各精度につい て小プロックの評価値の加算値を計算することにより、 評価値の総和が 小さい精度を差分動きべク トルの精度を決定できる。 符号化する差分動 きべク トノレ MVDは以下の式、
MVD = (MV - ((PMV》mv_shift)くく mv— shift) )》mv— shift ( 3 ) で算出される。 式 ( 3 ) 中の mv_shift は、 図 9の表 8 1に示す値であ る。 式 ( 3 ) は、 動きべク トル成分 MV 力 ら、 予測動きべク トル成分 PMV を mv_shift で示す数だけ右に算術ビッ トシフ トのち直ちに左に算 術ビッ トシフ トした値を引いた値に対して、 さらに mv_shift で示す数 だけ第 2の算術右ビッ トシフ トを実施した値が差分動きべク トル成分 MVD になることを示す。 ここで、 予測動きベク トル成分に対する連続す る右ビッ トシフ ト処理並びに左ビッ トシフ ト処理は、 予測動きべク トル 成分 PMV の値を MV と同じ 1くく mv_shift の倍数の値に変換する役割を果 たす。 また、 第 2の算術右ビッ トシフ ト処理により、 差分動きべク トル 成分 MVDが 1の倍数の値となる。
このよ うに、 符号化動きベク トルの精度を切り換える方法で'は、 動き 推定の際に PMV の精度を考慮する必要はないが、 MVD の生成処理の際に, PMV 予測動きべク トルの精度を mv_shift の精度に落とす処理を行う必 要がある。 但し、 式 (3 ) は下記のように簡略化することにより、 演算 ステップ数を削減できる。 回路設計等の実装時に有効である。 この式で は、 動きべク トル成分 MV と予測動きべク トル成分 PMV を 1の倍数の値 に変換してから差分処理を実施している。 「 1の倍数に変換した予測べ タ トル成分を 1くく mv_shift倍した値」 は上式における 「1くく mv— shift倍 の値に変換した予測動きベク トル成分」 と同等であり、 また動きべタ ト ル成分 MV は 1くく mv_shift の倍数であるため、 下記の式を用いることに よる情報の欠落は発生しない。
MVD = (MV》mv— shi ft) -(PMV》mv— shift)。 (4 )
mv— shift と MVD のデータシンタ ックス図 1 と図 2への割り当てと符 号化方法については、 差分動きべク トルの精度を切り換える方法と同じ であるため説明を省略する。
復号化側では、 復号 mv一 shift値と復号 MVD並びに PMVから、 以下の 式、
MV = (MVD<<mv_shift) + ( (PMV》mv— shift)くく mv— shift) ( 5 ) に従って、 各動きべク トル成分の復号 MV 値を再生する。 この式 ( 5 ) は、 差分動きべク トル成分 MVD を mv— shift で示す数だけ左に算術ビッ トシフ トした値に、 予測動きべク トル成分 PMV を mv_shift で示す数だ け右に算術ビッ トシフ トのち直ちに左に算術ビッ トシフ トした値を加え た値が復.号動きべク トル成分 MV になることを示す。 ここで、 予測動き ベタ トル成分に対する連続する右ビッ トシフ ト処理並びに左ビッ トシフ ト処理と、 MVD を差分動きべク トル成分 mv— shift で示す数だけ左に算 術ビッ トシフ トする処理は、 各成分を 1くく mv_shiftの倍数の値に変換す る役割を果たしている。 従って、 復号動きべク トル成分 MV は元の l«mv_shift の倍数となる。 なお、 式 ( 5 ) は下記のように簡略化する ことにより、 演算ステップ数を削減できる。 回路設計等の実装時に有効 である。 式 ( 5 ) では、 1の倍数の値に変換した予測動きベク トル成分 PMV に復号した差分動きべク トル DMV を加算した値に対して、 mv_shifi で示す数だけ左算術ビッ トシフ トを施した値が復号動きべク トル成分 MV になるこ とを示す。 「 1 の倍数に変換した予測ベク トル成分を 1くく mv一 shift 倍した値」 は上式における 「1くく mv_shift の倍数に変換し た予測動きベク トル成分」 と同等であり、 また差分動きベク トル成分 DMV は 1の倍数であるため、 下記式 ( 6 ) を用いることによる情報の欠 落は発生しない。
MV = (MVD + (PMV》mv— shift) )くく mv— shift ( 6 )
次に、 差分動きべク トルの精度の候補が、 1/8 画素精度、 1/4 画素精度、 1/2画素精度、 1画素精度の 4種類の場合について述べる。 MVを 1/8画 素精度表現の動きべク トル成分を 8倍した値、 PMV.を 1/8画素精度表現 の予測動きべク トル成分を 8倍した値とすると、 この表現で、 各精度候 捕に対する MVの値は以下のように制限される。
1画素精度 : マクロブロック内の全小ブロックにおける MV の値が水 平 ·垂直成分とも 8 の倍数となる MV。
1/2 画素精度 : マクロブロック内の全小プロックにおける MV の値が水 平 ·垂直成分とも 4の倍数となる MV。
1/4 画素精度 : マク ロプロ ック内の全小ブロックにおける MV の値が水 平 ·垂直成分とも 2の倍数となる MV。
1/8 画素精度 : マクロブロック内の全小ブロックにおける MV の値が水 平 ·垂直成分とも 1 の倍数となる MV。
動き推定の方法については、 1/4 画素精度、 1/2 画素精度、 1 画素精度 の 3種類の場合と同じであるため、 説明を省略する符号化する。 符号化 する差分動きべク トル MVDは以下の式、
MVD = (MV- ( (PMV》mv— shift)くく mv—shif )》mv— shift ( 3 ) で算出される。 式中の mv— shiftは、 図 9の表 82に示す値である。 この 式は、 動きべク トル成分 MVから予測動きべク トル成分 PMVを mv_shif1: で示す数だけ右に算術ビッ トシフ トのち直ちに左に算術ビッビッ トシフ トした値を引いた値に対して、 さらに mv_shift で示す数だけ第 2の算 術右ビッ トシフ トを実施した値が差分動きべク トル成分 MVDになること を示す。 ここで'、 予測動きベク トル成分に対する連続する右ビッ トシフ ト処理並びに左ビッ トシフ ト処理は、 予測動きべク トル成分 PMV の値を MVと同じ l «mv_shiftの倍数の値に変換する役割を果たす。
また、 第 2 の算術右ビッ トシフ ト処理により、 差分動きべク トル成分 MVD力 S 1の倍数の値となる。
mv一 shift と MVD の符号化方法ついては、 差分動きべク トルの精度の候 補が、 1/4 画素精度、 1/2 画素精度、 1 画素精度の 3種類の場合と同じ であるため、 説明を省略するが、 UVLC を使用した場合の符号化コード は、 表 8 1ではなく表 8 2に従うことなる。 但し、 上式は下記のように 簡略化することにより、 演算ステップ数を削減できる。 回路設計等の実 装時に有効である。 この式では、 動きべク トル成分 MV. と予測動きべク トル成分 PMVを 1の倍数の値に変換してから差分処理を実施している。 「 1 の倍数に変換した予測べク トル成分を 1くく mv_shift倍した値」 は上 式における 「1くく mv— shift の倍数に変換した予測動きべク トル成分」 と 同等であり、 また動きべク トル成分 MV は 1くく mv— shift の倍数であるた め、 下記の式を用いることによる情報の欠落は発生しない。
MVD = (MV>>mv_shif t) - (PMV>>mv_shif t) ( 4 )
復号化側の処理も、 差分動きべク トルの精度の候捕が、 1/4 画素精度、 1/2画素精度、 1画素精度の 3種類の場合と同じであり、 復号 mv— shift 値と復号 MVD並びに PMVから、 以下の式、
MV = (MVDくく mv— shift) + ( (PMV》mv— shift)くく mv_shift) ( 5 ) に従って、 各動きべク トル成分の復号 MV 値が再生される。 この式は、 差分動きべク トル成分 MVD を mv_shift で示す数だけ左に算術ビッ トシ フ トした値に、 予測動きべク トル成分 PMV を mv一 shift で示す数だけ右 に算術ビッ トシフ トのち直ちに左に算術ビッ トシフ トした値を加えた値 が復号動きべク トル成分 MV になることを示す。 ここで、 予測動きべク トル成分に対する連続する右ビッ トシフ ト処理並びに左ビッ トシフ ト処 理と、 MVD を差分動きべク トル成分 mv_shi ft で示す数だけ左に算術ビ ッ トシフトする処理は、 各成分を 1くく mv_shi ftの倍数の値に変換する役 割を果たしている。 従って、 復号動きべク トル成分 MV は元の 1くく mv一 shift の倍数となる。 なお、 この式は下記のように簡略化するこ とにより、 演算ステップ数を削減できる。 回路設計等の実装時に有効で ある。 この式では、 1の倍数の値に変換した予測動きベク トル成分 PMV に復号した差分動きぺク トル DMV を加算した値に対して、 mv— shi ft で 示す数だけ左算術ビッ トシフ トを施した値が復号動きべク トル成分 MV になる こ と を示す。 「 1 の倍数に変換した予測ベク トル成分を mv— sh i ft 倍した値」 は上式における 「mv— shift の倍数に変換した予測 動きベク トル成分」 と同等であり、 また差分動きベク トル成分 DMVは 1 の倍数であるため、 下記の式を用いることによる情報の欠落は発生しな い。
MV = (MVD + (PMV》mv— shi ft) )くく mv— shift ( 6 ) 上記実施例 1及び 2を比較すると、 実施例 1は実際に符号化する差分 動きべク トルの精度を調整するため、 実施例 2に比較して演算が簡単で ある。 これに対して、 実施例 2は、 符号化すべき動きベク トルの精度を 調整するため、 各精度を想定した場合の探索画素が予測べク トルに依存 しない。 従って、 符号化性能のみを追求する場合には実施例 1が有効で あるが、 後述するメモリアクセス削減方法では、 実施例 2が有効である c く実施例 3 >
本実施例 3は、 mv_shi ft 値の符号化を極力行わずに、 ブロックモー ドに応じて予め決めておく符号化方法及ぴ復号化方法で、 マクロブロッ クの選択率が高い領域での、 mv— shift 値の符号量の増大防止する方法 である。 即ち、 マク ロブロックに伴う動きべク トル数が少ないモードで は、 予め規定したデフォルトの動きべク トル精度で差分動きべク トルの 符号化並びに復号化処理を行う。 この処理により、 動きベク トル精度情 報の符号化並びに復号化処理を省略する。
例えば、 MB type力 S 16 X 16 のマク ロブロックでは、 1/4画素精度或い は 1/8画素精度で符号化並びに複号化処理を行うように符号化側と復号 側で設定し、 これらのモードのマクロプロックでは精度情報の符号化 · 復号化処理を省略する。 ここでは、 MB type が 16x16 のマクロブロック のみを精度情報の符号化 ·複号化処理を省略するモードとして設定して いるが、 その対象をさ らに拡張できる。 例えば、 MB type が 16x16, 16x8並びに 8x16 のマクロブロックを 1/4画素精度或いは 1/8画素精度 で符号化並びに複号化処理を行うように符号化側と復号側で設定するこ とも有効である。 また、 P- Pi cture では、 MB type が 16x16 のマクロブ 口ックのみを精度情報の符号化 ·復号化処理を省略するモードとして設 定し、 符号化する動きべク トル数が多い B- Picture では、 MB type が 16x16, 16x8 並びに 8x16 のマクロブロックまでを精度情報の符号化 . 複号化処理を省略するモードとして設定してもよい。
なお、 上記動きべク トル精度の default 値は、 mv— shift 値と同様に 0-3 (1/4 MC typeのときには 0-2)の範囲で設定可能であり、 ビッ トス ト リーム単位或いはフレーム単位で切り換える。 この際、 default 値の符 号は、 ビッ トス トリーム単位の場合にはデータの始めのヘッダ部、 フレ ーム単位の場合には picture header データに含まれるものとする。 な お、 ビッ トス ト リ ーム単位の場合においては、 符号化側と複号化側で予 め定めておけば、 符号化データに含める必要はない。
さらに、 図 1 5 の表 95 と表 96 の替わりに、 図 1 1 の表 91 と図 1 2 の表 93に示すような mv_shiftの値を規定したマクロブロックタイプを 用意することにより、 mV_Shift 値の符号化に伴う付加情報を削減する ことができる。 また、 mv_shift 値を算術符号化する際に、 マクロブロ ックに含まれる動きべク トル数の基づいて、 符号化に用いる確率モデル を適応的に切り換えることで、 符号化効率を向上させることができる。 なお、 ここでは、 mv— shift の切り換え単位をマクロブロック単位とし ているが、 8 X 8 毎に切り換える場合も考えられる。 このよ うな処理は- MB— type に 8 X 8毎に処理するモードと 16 X 16毎に処理するモードを設 けることにより実現できる。 また、.表 81又は表 82に 8x8毎に切り換え るモードを設け、 更に 4個の mv— shift 値を 8x8 毎に符号化する方法で も実現できる。
またさらに、 差分動きべク トル或いは動きべク トルの精度の選択切り 換え単位と して、 フレーム全体で固定にする場合やシーケンス全体で固 定にするようにしてもよい。 精度の選択切り換え単位を固定することは. 符号化/復号化処理を簡略化することになる。 従って、 実装コス トを考 慮したシンプルな符号化/復号化方式では、 精度の切り換え単位をフレ ーム単位やシーケンス単位で固定することが有効である。
く実施例 4 >
、本実施例 4は、 周囲の状況からシフ ト値を一意に判定する方法であ る。 即ち、 隣接マク ロブロ ック力 ら符号化対象マク ロブロ ックの mv_shift 値を予測することにより、 mv— shift 値の符号量を削減する。 例えば、 符号化対象マクロブロック (図 1 0のマクロブロック 7C)の mv— shift 値を、 直左のマクロブロック (7A)、 直上のマクロブロ ック (7B)の mv_shift 値から予測する。 予測方法と しては、 7A と 7B の mv_shift 値の加算値から予測する方法がある。 具体的な利用手段とし ては、 加算値が 0であ り 、 7C の MB type が 16x16 の場合には、 mv— shift値(MVD preci si on)の符号化を省略し規定値として 1/8画素精 度或いは 1/4画素精度を符号化 ·復号化側の両者で用い、 それ以外の加 算値と MB type の組み合わせの場合には、 mv_shift 値の符号化を行制 御手段がある。 なお、 この具体例は一例であり、 予測に用いる隣接マク ロブロ ックの種類、 予測方法、 制御を行う MB type の種類、 制御時の場 合分け種類等の組み合わせは多種ある。 例えば、 制御を行う MB typeを 2個以下の差分動きべク トルまで拡張したり、 加算値の制御ボイントを 2以下に拡張したりすることで、 mv— shift 値の符号量の削減量は大き くなる。 また、 動きベク トルの予測のような方法で隣接 MB の mv一 shift 値から現 MB の mv_shift値を予測し、 その差分値を符号化する方法等が ある。
上述の実施例の動きべク トルの符号化精度切り換える手段には次のよ うな変形も含まれる。
本実施例では、 動きべク トルの符号化精度の候捕を 1/8 画素精度、 1/4 画素精度、 1/2 画素精度、 1 画素精度としているが、 これに限定さ れない。 例えば 1/ 16画素精度まで含める場合や、 1/2画素精度、 1画素 精度の 2種類とする場合。
また、 上記実施例では、 動きべク トルの符号化精度情報の符号化をマク ロブ口ック単位で行っているが、 複数のマクロブロックグループ毎に動 きベク トルの符号化精度情報を切り換える方法。
さらに、 上記実施例では、 マクロブロックにおける動き捕償ブロックの 分割モードを図 7に示した 4種類と しているが、 本明細書 動きべク ト ル符号化方法は、 動き捕償プロックの分割モー ドの種類と数が変更され ても実施できるため、 動きべク トルの符号化プロック構成は限定されな い
また、 上記実施例では、 符号化データの符号化方式として UVLC ゃ算 術符号化を説明した、 本明細書の動きベク トル符号化方法は、 ェントロ ピー符号化の種類に限定されず実施できる。 また、 UVLC の符号表の構 成や算術符号化/復号化の構成の方法も実施例の表には限定されない。 またさらに、 本実施例では、 16x16, 16x8 並びに 8x16 モードについて mv_shift 値の default 値を利用 しているが、 こ の default 値を 8x8 (spl it)の一部の Part it i onモードに適用できる。 また、 実施例では、 default 値の設定をビッ トス トリーム単位又はフレーム単位としている 力 S、 各マクロブロック単位について、 異なる値を割り当てもよい。 例え ば、 16x 16 モードでは、 default値を 1 と設定し、 16x8 と 8x16 モード では、 default値を 0 と設定する方法がある。 総括的に言えば、 マク ロ ブロックモードゃ 8x8 Part it ionモードについて、 それぞれ適用する差 分動きべク トル(或いは動きべク トル)の符号化精度をフレーム単位或い はシーケンス単位で規定し、 符号化伝送すればよい(シーケンス単位の 場合には、 予め符号化側と復号化側で各モードにおける符号化精度を決 めておけば、 精度情報の符号化は必要ない)。 前述のように、 符号化精 度の選択切り換え単位を固定することは、 符号化/複号化処理を簡略化 することになる。 default 値を規定するモー ドを増やすことにより、 実 装コス トはさらに低減される。 よりシンプルな構成を必要とする符号化 /複号化方式では、 より多くのモードに対して、 符号化精度の切り換え 単位を固定することが有効である。
以上は本発明による動画像の符号化方法及び復号化方法の実施例につ いて説明した。本発明による動画像の符号化装置及び複号化装置は、 実 施例の方法図 1 3の符号化装置については、 まず、 動き補償器 211 に MB type と 8x8 Part it ion の組み合わせに応じて mv— shift 値の符号化 を 0N/0FF する判定処理、 mv_shift 値を考慮した動き推定処理、 mv_shift を伴う MVD, MVDFW, MVDBWの算出処理並びに mv_shif t値を多 重化罨 206 に伝える処理が追加される。 また、 多重化器 206 に mv_shift 値を MVD precision として符号化する処理を追加する。 図 1 4 の復号化装置については、 符号解読器 501 に MB type と 8x8 Partitionの復号値に応じて mv_shift値の復号化を 0N/0FFする判定処 理、 MVD precision を mv_shift値として復号する処理並ぴに mv— shift 値を MV予測器 508 に伝える処理を加える処理部を設ける。 また、 MV予 lj器 508 こ mv_shiftを伴う MVD, MVDFW, MVDBWを MV ίこ再生,する処理音 |5 を設ける。
図 2 5、 図 2 7、 図 2 9、 図 3 1、 図 3 3、 図 3 5、 図 3 7、 図 3 9及 び図 4 1 は、 何れも本発明による動画像の符号化装置の実施例の要部 (動きべク トルの符号化部) 構成を示すプロック図である。 図 2 6、 図 2 8、 図 3 0、 図 3 2、 図 3 4、 図 3 6、 図 3 8、 図 4 0及ぴ図 4 2は- それぞれ図 2 5、 図 2 7、 図 2 9、 図 3 1、 図 3 3、 図 3 5、 図 3 7、 図 3 9及ぴ図 4 1の符号化装置に対応する本発明による動画像の復号化 装置の実施例の要部 (動きベク トルの復号化部) 構成を示すブロック図 である。 の実施例の要部 (動きベク トルの符号化部) 構成を示すブロッ ク図である。
各図において、 実質的に同じ機能プロックについては同一番号を付し ている。各図の装置の構成、 動作は、 上記実施例 1ないし 4の説明によ つて、 容易に実現できるので、 上記各実施例との対応のみ示し、 詳細な 説明は省く。 ...
図 2 5 と図 2 6の装置は、 それぞれ実施例 1の式 ( 1 ) 及び ( 2 ) を 実行する回路で構成され、 シフ ト (mV_shift)値の決定が外部入力 (動き べク トル検出時に求まる) のみによって制御される。 MV予測部 215 は 各ブロ ックの動きベク トル MVを記憶したメモリ 101 を利用し、 予測動 きべク トル PMVを作る。減算器 102は、 これらの差分 MV - PMVをえる。 右シフ ト処理部 103は MV-PMVを右シフ トする。復号側では、 符号側の逆 処理を行うため、 動きベク トル M Vを記憶したメモリ 101、 左シフ ト処 理部 11 3及び加算器 1 1 2が設けられる。 .
図 2 7と図 2 8 の装置は、 それぞれ実施例 1 の式 ( 1 ) 及び ( 2 ) を 実行する回路で構成され、 シフ ト (mv_shift)値の決定が外部入力 (動き べク トル検出時に求まる) とマクロブロックのタイプ等の条件のいずれ かによつて決定され、 制御される。シフ ト値選択部 104 は特定のプロッ クタイプを選択した場合、 mV— shift 値を選択し、 制御回路 1 0 5で、 該部力、らの mv— shift値から、 ブロックタイプに対応した mv— shift値で 右シフ ト処理部 103を処理する。
図 2 9 と図 3 0 の装置は、 それぞれ実施例 1 のそれぞれ式 ( 1 ) 及ぴ ( 2 ) を実行する回路で構成され、 シフ ト (mV_shift)値の決定がマク ロ ブロックのタイプ等の条件のみによって決定され、 制御される。
図 3 1 と図 3 2の装置は、 それぞれ実施例 2の式 ( 3 ) 及び ( 5 ) を 実行する回路で構成され、 シフ ト (mv一 shift)値の決定が外部入力 (動き ベタ トル検出時に求まる) のみによって制御される。精度修正処理部 106は、 式 (3 ) の(PMV》mv— shift)《mv_shift の処理を行う。
図 3 3 と図 3 4の装置は、 それぞれ実施例 2の式 ( 3 ) 及び ( 5 ) を 実行する回路で構成され、 シフ ト(mv— shift)値の決定が外部入力 (動き ベク トル検出時に求まる) とマクロブロックのタイプ等の条件のいずれ かのよって決定され、 制御される。
図 3 5 と図 3 6 の装置は、 それぞれ実施例 2の式 ( 3 ) 及ぴ ( 5 ) を 実行する回路で構成され、 シフ ト(mv_shift)値の決定がマクロブロック のタイプ等のみによって制御される。
図 3 7と図 3 8 の装置は、 それぞれ実施例 2の式 ( 4 ) 及び ( 6 ) を 実行する回路で構成され、 シフ ト(mv一 shift)値の決定が外部入力 (動き ベク トル検出時に求まる) のみによって制御される。
図 3 9 と図 4 ◦の装置は、 それぞれ実施例 2の式 ( 4 ) 及ぴ ( 6 ) を 実行する回路で構成され、 シフ ト (mv— shi ft)値の決定が外部入力 (動き ベタ トル検出時に求まる) とマクロブロックのタイプ等の条件のいずれ かのよって決定され、 制御される。
図 4 1 と図 4 2の装置は、 それぞれ実施例 2のそれぞれ式 ( 4 ) 及び ( 6 ) を実行する回路で構成され、 シフ ト (mv_shift)値の決定がマクロ ブロックのタイプ等の条件のいずれかのよって決定され、 制御される。 く実施例 5 >
図 18は、 実施例 5の符号化方法の処理フロー図である。
本実施例 5は長いタップ数のフィルタを用いた動き補償でメモリァク セス領域が拡大する問題を解決するため、 符号化動きべク トルの精度を 切り換える符号化'復号化方法である。
長いフィルタを用いて生成する予測値は、 画素精度以下の予測画素の みである。 従って、 動きベク トルの符号化精度を整数画素に限定するこ とにより、 メモリ アクセス領域は削減できる。 しかし、 動きべク トルの 符号化精度を整数画素に限定することは、 予測性能を低減させる。 そこ で、 本実施例 5では、 メモリ アクセス範囲の拡大が装置実装或いはソフ トウエア実装に影響する程度に応じて、 画素精度を制限する。 特に、 動 き捕償時のブロックサイズが小さい場合についてのみ、 動きベク トルの 符号化精度を制限する。
メモリアクセス領域の拡大に伴う影響は、 ブロックサイズが小さいほ ど大きくなる。 サイズの小さぃブロックは本来ァクセスする画素数が少 ない。 そのため、 サイズの大きいブロックと小さいブロックを比較する と、 元のアクセス範囲に対する拡大アクセス領域の比率は、 ブロックサ ィズが小さいほど大きい。 本実施例の符号化装置方 は、 1/4 画素精度の動き補償を図 7のプロ ック分割に対して行う場合、 図 1 8のように、 まずブロックサイズ判別 し (処理 801 ) 、 mv_shift 値を選択する。 本実施例の場合には、 8x8 Part ition 2 (8x4) t 8x8 Part ition 3 (4x8)では 1/2 画素精度 (処理 8 1 1 ) , 8x8 Part ition 3 (4x4)では整数画素精度 (処理 812) 、 8x8 画 素並びにそれ以上の大きなサイズのブロックでは、 1/4 画素精度 (図 1 8 処理 813) を選択し、 選択された mv— shi ft で、 右シフ ト処理分 103 , を駆動して動き補償を行う。 動きべク トルの符号化時には、 8x4 と 4x8 画素サイズのブ口ックでは mv_shiftを 1、 4x4画素サイズのプロックで は mv— shift を 2、 それ以外の画素サイズのブロックでは mv— shift を 0 とする。
また、 P— pi cture と B— pi cture を用レヽた方式で ίま、 B— pi cture のみこ 上記精度切り換えを適用し、 P- picture では、 ブロックサイズに関わら ず 1/4画素精度で動き補償を行うようにしてもよい。 なお、 ここでは、 整数画素精度で動き捕償を行うプロックサイズを 4x4のみとしているが- これを、 8x4 と 4x8まで拡張してもよい。この場合、 8x4 と 4x8 と 4x4画 素サイズのブロックでは mv— shift を 2、 それ以外の画素サイズのプロ ックでは mv— shiftを 0 とする。
本実施例による動画像の符号化装置及ぴ復号化装置における動きべク トルの符号化部及び復号化部は、 それぞれ前記図 4 1及び図 4 2 と同様 に構成される。
く実施例 6 >
図 1 9,図 4 5及ぴ図 4 6は,それぞれ本発明の実施例 6の符号化方法 処理フロー図、 符号化装置の要部構成図及ぴ復号装置の要部構成図であ る。 本実施例も長いタップ数のフィルタを用いた動き捕償でメモリァク セス領域が拡大する問題を解決するため、 動きべク トルの垂直'水平各 成分を異なる符号化精度で符号化することにより、 メモリ アクセス範囲 を制限する。
符号化装置のシフ ト選択部 124は、 図 1 9 のよ うに、 動きべク トルカ 垂直成分か否かをし (処理 801 ) 、 mv一 shi ft を選択する。 タイプ適応部 124 は、 選択された mv— shi ft で、 右シフ ト処理部 103 を駆動して動き 補償を行う。 本実施例では、 1 /4 画素精度の動き補償で、 動きべク トル の垂直成分を整数画素精度 (処理 812) 、 水平成分を 1 /4画素精度 (処 理 813) とし、 垂直成分を符号化/復号化する際の mV_Shift を 2、 水平 成分を符号化/復号化する際の mv一 shiftを 0 とする。
本実施例のメモリ アクセス範囲拡大の影響が大きい動きべク トルの垂 直成分の符号化精度を制限する方法は効果が大きい。 画像データは、 左 上から右下に向けてラスタスキヤン順でメモリに保存されているのが一 般的である。 そのため、 ある画素から隣接画素にアクセス範囲を広げる 場合、 水平方向の 1画素は 1画素分を意味するが、 垂直方向の 1画素は 1 ライン分を意味する。 従って、 垂直方向へのメモリ アクセスに伴うェ 数は、 水平方向のそれよりも大きい。 さらに、 1画素 lbyt eの画素デー タを、 byt e 単位(1画素)ではなく、 word単位( 2画素毎).や dword 単位 ( 4画素毎)で保存する実装方法では、 水平方向へのメモリアクセス範囲 の拡大は、 word 単位或いは dword 単位で発生するため、 その影響はあ まり大きくない。 これに対して、 垂直方向では 1画素分のアクセスであ つても、 メモリ アクセス範囲は必ず拡大される。 従って、 垂直方向の動 きべク トルの符号化精度を制限する方法は、 メモリ アクセス範囲の縮小 という観点で効果的である。
また、 実施例 5及び実施例 6 の方法を綜合して、 図 2 3のよ うな処理 を行うようにしてもよい。 即ち、 シフト選択部 124 は、 8x4, 4x8 並ぴ に 4x4画素サイズのブロックについてのみ、 動きべク トルの垂直成分を 整数画素に制限する。 さらに、 ブロックサイズに応じて、 範囲を制限す るべク トル成分を切り替える手段も有効である。
上述のように、 メモリアクセス領域の拡大に伴う影響は、 ブロックサ ィズが小さレ、ほど大きいが、 これは、 ブロックの縦横比率にも言える。 つまり、 ブロックの縦横サイズの比率が異なる場合には、 サイズの小さ い成分ほどアクセス範囲拡大の影響は大きくなる。 図 7のプロック分割 で考えると、 サイズが 4画素の成分に対して制限をかけることが有効と 言える。
<実施例 Ί >
図 2 4、 図 4 3及び図 4 4は、 それぞれ、 本発明の実施例 7の符号化 方法の処理フロー図、 符号化装置の要部構成図及ぴ復号装置の要部構成 図である。
本実施例は、 符号化装置 (図 4 3 ) 、 複号化装置 (図 4 4 ) のシフ ト 値選択部 124 は図 2 4の処理フローに示すように、 ブロックサイズが 8x4 (縦 X 横)のときは水平成分を整数画素精度(mv_shi ft=2)で垂直成分 を 1/4画素精度(mv_shift=0)、 ブロックサイズが 4x8 (縦 x横)のときは 水平成分を 1 /4 画素精度(mv_sh i f1:=0)で垂直成分を整数画素精度 (mv_shift=2) , ブロックサイズが 4x4 (縦 x横)のときは水平 ·垂直成分 とも整数画素精度(mv— shi ft=2)とする。 なお、 予測性能の観点から、 8x4 と 4x8 モードの水平 ·垂直成分の扱いを入れ替えてもよい。 これは. サイズが小さい成分ほど精度の高い予測方法が有効という概念に起因す る。 いずれの方法を適用するかは、 メモリアクセス制限の必要性、 符号 化性能、 ビッ トレー ト等のアプリケーショ ンによつ—て決定される。
く実施例 8 >
図 2 0、 図 4 7及び図 4 8は、 それぞれ、 本発明の実施例 8の符号化 方法処理フロー図、 符号化装置の要部構成図及び復号装置の要部構成図 である。 本実施例は、 実施例 7において、 入力画像がインタ レー„ス信号 であり、 マクロブロックがフレーム構造の場合に、 動きベク トルの垂直 成分を偶数画素精度に制限する方法である。
図 1 7は、 インタレース信号をフレーム構造で符号化/復号化する場 合のマクロブロックを示す。 図上の実線は奇数フィールド(top f i e l d)、 破線は偶数フィールド(bottom fi e l d)を意味する。 図 1 7から、 奇数値 の動きべク トルは、 奇数フィールド上の予測値を参照画像上の偶数フィ ールドから生成され、 偶数ブイールド上の予測値を参照画像上の奇数フ ィールドから生成される。 インタレース信号では、 奇数フィールドと偶 数フィール ドは表示時刻が異なるため、 奇数値の垂直成分ベク トルは、 実際には発生しない。
そこで、 本実施例では、 入力画像がインタレース信号で、 マクロブロ ックがフレーム構造の場合について動きべク トルの垂直成分を偶数画素 精度に制限する。 符号化/複号化装置において、 垂直成分を符号化/復号 化する際の mv— shi ftを 3 (図 2 0 処理 803、 814) 、 水平成分を符号化 /複号化する際の mv_sh i ftを 0 (図 2 0 処理 813) とする。 このインタ レース信号のフレーム構造場合も、 図 21及ぴ図 22 の流れ図に示すよう に、 実施例 7の方法と組み合わせて、 8x4, 4x8 並びに 4x4 画素サイズ のブロックについてのみ (図 2 1 処理 801 ) 、 動きベク トルの垂直成 分を整数画素に制限するするようにしてもよい。 さらに、 インタレース 信号の符号化方式としては、 フレーム構造、 フィール ド構造並びにフレ ーム構造とフィールド構造をマクロブロック毎に切り換える適応方式が あり、 その方法に応じて動きべク トルの符号化精度の選定方法を変える ようにしてもよい。 例えば、 ィンタレース信号とプログレツシブ信号を 扱う符号化規格では、 フレーム構造の符号化方式は信号走査に関わらず 同じ場合がある。 この場合には、 フレーム構造並びにフィールド構造で は、 小さいサイズのブロックについて、 垂直方向の動きべク トノレの符号 化精度を整数画素精度に限定して符号化/復号化 (図 2 0と図 2 1並び に囪 2 2 処理 812) し、 フレーム構造とフィール ド構造をマクロブロ ック毎に切り換える適応方式では、 小さいサイズのブロックについて、 フレーム構造では垂直方向の動きべク トルの符号化精度を偶数画素精度 に限定し (図 2 0 と図 2 1 の処理 814) 、 フィールド構造では整数画素 精度に限定して符号化/復号化する (図 2 0 と図 2 1 の処理 812) とい う方法でもよレ、。なお、 この際、 フ レーム構造ではブロックのサイズに 関わらず垂直方向の動きべク トルの符号化精度を偶数画素精度に限定し (図 2 2の処理 814) 、 フィールド構造では小さいサイズのブロックに ついて整数画素精度に限定して符号化/復号化する (図 2 2 処理 801 と 処理 812) という方法でもよい。
実施例 7 及び 8のメモリ アクセス範囲低減方式では、 mv_shift 値の 符号化/複号化処理は必要ない。 従って、 図 1 、 図 2における MVD Predi ct ion l 3 と図 1 1 と図 1 2における mv_shi f1: は必要ない。 また、 図 1 3において、 mv_shift 値を動き補償器 211 から多重化器 206 に伝 える処理は必要ない。 さらに、 図 1 4 .において、 mv_shift 値を符号解 読器 501から MV予測器 508に伝える処理は必要ない。 mv— shi ft値は、 予測モードに従って MV予測器 508で決められる。
なお、 本実施例 8のメモリ アクセス範囲低減方式は、 符号化動きべク トルと予測動きべク トルの精度を切り換える手段を用いて 「ブロックサ ィズに応じて動きべク トルの符号化精度を整数画素に限定すること」 、
「動きべク トルの垂直成分の符号化精度を整数画素或いは偶数画素に限 定すること」 であり、 動き補償の精度、 用意する動きべク トル符号化精 度の種類並びに動きべク トルの符号化精度を切り換えるプロックサイズ については、 上記実施例に限定されるものではない。 また、 動きべタ ト ルの精度を ]_/2画素精度に限定することでメモリアクセス範囲が低減さ れる動き補償方式では、 動きべク トルを整数画素精度ではなく、 1 /2 画 素精度に限定する方法も本発明で実現できる。 産業上の利用可能性
本発明は動画像を伝送、 蓄積、 表示する装置、 システム.で、 画像情報 をより少ない符号量のディジタル信号を符号化する技術を必要とする産 業上の分野で利用される。

Claims

請求の範囲
1 - 画像を複数の符号化ブロックに分割し、 符号化ブロックの動きべ ク トルを隣接ブロックの動きべク トルから予測して予測動きべク トルと し、 符号化すべき動きべク トルとその予測動きべク トルより算出される 差分動きべク トルをプロッグ単位で符号化する手順を含む動画像の符号 化方法であって、
差分動きべク トルの精度を数種類用意し、 符号化プロック毎に差分動 きべク トルの精度を選定し、 選定した精度の情報及びその精度の差分動 きベク トルとを符号化する手順を有する。
2 . 画像を複数の符号化ブロックに分割し、 符号化ブロックの動きべ ク トルを隣接ブロ ックの動きべク トルから予測して予測動きべク トルと し、 符号化すべき動きべク トルとその予測動きべク トルより算出される 差分動きべク トルをプロック単位で符号化する手順を含む動画像の符号 化方法であって、
動きべク トルの精度を数種類用意し、 符号化プロック毎に動きべク ト ルの精度を選定し、.上記選定した精度の情報及び上記選定した精度に修 正した予測動きべク トルと選定した精度の動きべク トルより算出される 差分動きべク トルとを符号化する手順を有する。
3 . 画像を複数の復号ブロックに分割し、 復号ブロ ックの動きべク 卜 ノ を隣接プロ ックの復号動きべク トルから予測し、 復号差分動きべク ト ルと予測動きべク トルより復号動きべク トルを算出する手段を含む動画 像複号化方法であって、
差分動きべク トルの精度を数種類用意し、 復号ブ口ック毎に差分動き べク トルの精度情報とその精度の差分動きべク トルを復号化し、 復号差 分動きべク トルの精度を予測動きべク トルと同じ精度に修正した後、 精 度修正した復号差分動きべ トルと予測動きべク トルから復号ブ口ック の動きべク トルを算出する手順を有する。
4 . 画像を複数の復号ブ口ックに分割し、 復号ブ口ックの動きべク ト ルを隣接プロックの復号動きべク トルから予測し、 復号差分動きべク ト ルと予測動きべク トルより復号動きべク トルを算出する手段を含む動画 像復号化方法であって、 動きべク トルの精度を数種類用意し、 復号プロ ック毎に動きべク トルの精度情報とその精度の差分動きべク トルを復号 化し、 予測動きべク トルの精度を復号精度情報と同じ精度に修正した後、 復号差分動きべク トルと精度修正した予測動きべク トルから復号ブ口ッ クの動きべク トルを算出する手順をもつ。
5 . 請求項 1の動画像の符号化方法であって、 更に、 差分動きべタ ト ルの精度を付加情報として符号化するか、 或いは固定の精度に規定する かを示す識別情報を含み、 かつ符号化プロックの種類として符号化すベ き動きべク トルの数が異なる複数のブロックタイプを用意し、 差分動き べク トルの精度と符号化ブロック内の動きべク トル数とこの組み合わせ に該当するプロックタイプとを選定する手順を含み、 符号化プロックの プロックタイプが付加情報として差分動きべク トルの精度を符号化する ことを示す場合にはプロックタイプと選定した精度め情報とその精度の 差分動きべク トルとを符号化し、 符号化プロックのプロックタイプが規 定の精度で差分動きべク トルを符号化することを示す場合にはプロック タイプと規定精度の差分動きべク トルとを符号化する。
6 . 請求項 2記載の動画像の符号化方法であって、 更に、 動きべク トルの精度を付加情報として符号化するか、 或いは固定の精度に規定す るかを示す識別情報を含み、 かつ符号化プロックの種類として符号化す べき動きべク トルの数が異なる複数のブロックタイプを用意し、 動きべ ク トルの精度と符号化ブロック内の動きべク トル数とこの組み合わせに 該当するブロックタイプとを選定する手順を含み、
ブロックタイプが付加情報として動きべク トルの精度を符号化すること を示す場合には、 ブロックタイプと、 選定した精度の情報と、 選定した 精度に修正した予測動きべク トルと選定した精度の動きべク トルより算 出される差分動きべク トルとを符号化し、
プロックタイプが規定の精度で動きべク トルを符号化することを示す場 令には、 ブロックタイプと、 規定精度に修正した予測動きベク トルと規 定精度の動きべク トルよ り算出される差分動きべク トルを符号化する手 順を有する。
7 . 請求項 3記載の動画像の復号化方法であって、 さらに、 差分動き ベタ トルの精度を付加情報として復号するか、 或いは固定の精度に規定 するかを示す識別情報を含み、 かつ復号ブ口ックの種類として復号すべ き動きべク トルの数が異なる複数のプロックタイプを用意し、 復号すべ きブロックのブロックタイプを復号する手順を有し、
復号ブロックタイプが付加情報として差分動きべク トルの精度を復号 することを示す場合には精度の情報とその精度の差分動きべク トルとを 号し、
復号プロックタイプが規定の精度で差分動きべク トルを復号することを 示す場合には規定精度の差分動きべク トルを復号し、
復号差分動きべク トルの精度を予測動きべク トルと同じ精度に修正し た後、 镥度修正した復号差分動きべク トルと予測動きべク トルから復号 ブロックの動きべク トルを算出する手順を有する。
8 . 請求項 4記載のの動画像の復号化方法であって、 さらに、 動きべ ク トルの精度を付加情報として復号するか、 或いは固定の精度に規定す るかを示す識別情報を含み、 かつ復号ブロックの種類として復号すべき 動きべク トルの数が異なる複数のプロックタイプを用意し、 ブロック夕 ィプを復号しする手順を有し、
復号ブロックタイプが付加情報として動きべク トルの精度を復号する ことを示す場合には精度の情報とその精度の差分動きべク トルとを復号 し、
復号ブロックタイプが規定の精度で動きべク トルを復号することを示 す場合には規定精度の差分動きべク トルを復号し、 復号差分動きべク ト ルと精度修正した予測動きべク トルから復号ブロックの動きべク トルを 算出することする手順を有する。
9 . 請求項 1記載の動画像の符号化方法であって、 さらに、
ブロック内で符号化すべき動きべク トルの数が異なる複数種の小ブロッ ク形状を用意し、 前記差分動きベク トルの精度、 小ブロック形状種及び 前記差分動きべク トルの精度を付加情報として符号化するか否かを決定 し、 前記決定に応じて一意に定まる識別情報をブロック毎に符号化して 出力する手順を有する。
1 0 . 請求項 1記載の動画像の符号化方法であって、 さらに、 ブロッ ク内で符号化すべき動きべク トルの数が異なる複数種の小プロック形状 を用意し、 前記動きベク トルの精度、 小ブロック形状種、 及び、 前記動 きべク トルの精度を付加情報として符号化するか否かを決定する手順と、 各ブロックについて、 付加情報として動きべク トルの精度を符号化す る場合は、 前記決定に応じて一意定まる識別情報、 選定した精度の情報 及び選定した精度に修正した予測動きべク トルと選定した精度の動きべ ク トルより算出される差分動きべク トルとを符号化して出力し、
付加情報として動きベク トルの精度を符号化しない場合は、 前記決定 に応じて一意定まる識別情報、 該識別情報に応じた精度に修正した予測 動きべクトルと該精度の動きべク トルより算出される差分動きべク トル とを符号化して出力する手順を有する。 1 1 . 画像を複数のブロックに分割し、 該ブロックの動きベク トルを 隣接する復号動きべク トルから予測し、 復号差分動きべクトルと予測し た動きベク トルより該ブロックの動きベク トルを算出する手順を含む動 画像の復号化方法であって、
前記復号差分動きべク トルの精度を複数用意し、 ブロック内で復号化 すべき動きべク トルの数が異なる複数種の小プロック形状を用意し、 前 記復号差分動きベクトルの精度、 小ブロック形状種、 及び、 前記復号差 分動きべク トルの精度を付加情報として復号化するか否かに応じて一意 に定まるブロック毎に符号化された識別情報を受け取り、 複合化した該 識別情報に従って複合化を行う手順を有する。
1 2 . 請求項 1記載の動画像符号化方法であって、 さらに、
プロック内で符号化すべき動きべク トルの数が異なる複数種の小ブロッ ク形状タイプを用意し、 前記各小ブロック形状について、 差分動きべク トル精度をデフォルト値で固定するか可変値とするかが規定されており、 前記差分動きベク トルの精度、 小ブロック形状種及び差分動きベク トル の精度を付加情報として符号化するか否かを決定する手順、 前記デフォ ルト値と前記決定に応じて一意に定まる識別情報をコード化し、 符号化 データに含めて出力する手順を有する。
1 3 . 画像を複数の復号ブ口ックに分割し、 該ブロックの動きべク ト ルを隣接位置の復号動きベク トルから予測し、 前記ブロックの動きべク トルを復号し、 復号差分動きべク トルと予測動きべク トルよ り復号動き ベタ トルを算出する手順を含む動画像復号化方法であって、
差分動きべク トルの精度を複数用意し、 プロック内で復号すべき動きべ ク トル数が異なる複数種の小プロック形状タイプを用意し、 前記各小ブ ロック形状について、 差分動きベク トル精度をデフォルト値で固定する か可変値とするかが規定されており、 前記デフォルト値と、 前記差分動 きべク トルの精度情報或いは差分動きべク トルの精度を付加情報として 復号するかデフオルト値とするかを示す情報と小プロック形状種とを一 意に定める識別情報を符号化データから解読する手順を有する。
1 4 . 画像を複数の符号化ブロックに分割し、 符号化ブロック内の動 きべク トルを隣接位置の動きべク トルから予測し、 符号化すべき動きべ ク トルとその予測動きべク トルより算出される差分動きべク トルをプロ ック単位で符号化する手順を含む動画像符号化方法であって、
動きべク トルの精度を数種類用意し、 上記動きべク トルと上記予測動き べク トルのビッ ト列のデータ長は用意されている精度のうち最も高い精 度のベタ トル値を表現できる長さであり、 動きべク トル精度を選定し、 上記動きべク トルと上記予測動きべク トルのビッ ト列を選定した精度よ り高い精度の数値を表すためのビッ ト分だけ右に算術シフ トした修正動 きベク トルと修正予測動きベク トルのビッ ト列をそれぞれ算出し、 上記 修正予測動きべク トル並びに上記修正動きべク トルから算出される差分 動きべク トルを符号化する手順を有する。
1 5 . 画像を複数の符号化ブロックに分割し、 符号化ブロック内の動 きべク トルを隣接位置の動きべク トルから予測し、 符号化すべき動きべ ク トルとその予測動きべク トルよ り算出される差分動きべク トルをプロ ック単位で符号化する手順を含む動画像符号化方法であって、 動きべク トルの精度を数種類用意し、 上記動きべク トルと上記予測動きべク トル のビッ ト列のデータ長は用意されている精度のうち最も高い精度のベタ トル値を表現できる長さであり、 符号化プロックの種類と して符号化す べき動きベク トル数が異なる複数のブロックタイプを用意し、 さらに各 プロックタイプは動きべク トルの精度を規定する識別情報を含んでおり, 動きべク トル精度とブロック内の動きべク トル数の組み合わせに該当す るブロックタイプを選定し、 上記動きべク トルと上記予測動きべク トル のビッ ト列を選定した精度より高い精度の数値を表すためのビッ ト分だ け右に算術シフ ト した修正動きべク トルと修正予測動きべク トルのビッ ト列をそれぞれ算出し、 ブロックタイプと、 上記修正予測動きベク トル 並びに上記修正動きべク トルより算出される差分動きべク トルとを符号 化する手順を有する。 1 6 . 画像を複数の復号ブロックに分割し、 復号ブロック内の動きべ ク トルを隣接位置の復号動きべク トルから予測し、 復号差分動きべク ト ルと予測動きべク トルより復号動きべク トルを算出する手段を含む動画 像複号化方法であって、 動きべク トルの精度を数種類用意し、 上記動き べク トルと上記予測動きべク トルのビッ ト列のデータ長は用意されてい る精度のうち最も高い精度のベク トル値を表現できる長さであり、 差分 動きべク トルを復号化し、 上記予測動きべク トルのビッ ト列を上記規定 精度より高い精度の数値を表すためのビッ ト分だけ右に算術シフ トした 修正予測動きべク トルのビッ ト列を算出し、 上記復号差分動きべク トル と修正予測動きべク トルから規定精度のベタ トル値を表現できるデータ 長の動きべク トルを算出し、 該動きべク トルを上記復号動きべク トルの データ長に変換する手順を有する。
1 7 . 画像を複数の復号ブ口 ックに分割し、 復号ブロック内の動きべ ク トルを隣接位置の復号動きべク トルから予測し、 復号差分動きべク ト ルと予測動きべク トルより復号動きべク トルを算出する手段を含む動画 像復号化方法であって、 動きべク トルの精度を数種類用意し、 上記動き ベタ トルと上記予測動きべク トルのビッ ト列のデータ長は用意されてい る精度のうち最も高い精度のベタ トル値を表現できる長さであり、 復号 ブロックの種類と して復号すべき動きべク トル数が異なる複数のブロッ クタイプを用意し、 さらに各ブロックタイプは、 動きべク トルの精度を 規定する識別情報を含んでおり、 ブロックタイプを復号し、 復号プロッ クタイプにより規定される精度の差分動きべク トルを復号化し、 上記予 測動きべク トルのビッ ト列から上記規定精度を高い精度の数値を表すた めのビッ ト分だけ右に算術シフ ト した修正予測動きべク トルのビッ ト列 を算出し、 上記復号差分動きべク トルと該修正予測動きべク トルから復 号ブロックタイプにより規定される精度のべク トル値を表現できるデー タ長の動きべク トルを算出し、 該動きべク トルを上記復号動きべク トル のデータ長に変換する手順を有する。
1 8 . 画像を複数の符号化ブロックに分割し、 符号化ブロ ック内の動 きベク トルを隣接位置の動きベク トルから予測し、 符号化すべき動きべ ク トルとその予測動きべク トルより算出される差分動きべク トルをプロ ック単位で符号化する手順を含む動画像の符号化方法であって、 動きべク トルの精度を複数用意し、 動きべク トルの水平成分と垂直成 分で異なる精度を割り当て、 上記予測べク トルの各成分を該割り当てら れた精度に修正し、 上記修正された予測動きべク トルと割り当てられた 精度の動きべク トルから算出される差分動きべク トルを符号化する手順 を有する。
1 9 . 請求項 1 8記載の動画像符号化方法であって、 上記は像が順次 走査された画像であり、 上記動きべク トルの精度は 3種類以上であり、 上記動きべク トルの水平成分と垂直成分で異なる精度を割り当ては動き ベタ トルの水平成分に第 1の精度、 フィールド構造の符号化プロックに おける動きべク トルの垂直成分に第 1の精度より低い第 2の精度、 フレ ーム構造の符号化プロックにおける動きべク トルの垂直成分に第 2 の精 度より低い第 3 の精度を割り当てる。
2 0 . 画像を複数の復号ブロックに分割し、 復号ブロック内の動きべ ク トルを隣接位置の復号動きべク トルから予測し、 復号差分動きべク ト ルと予測動きべク トルより復号動きべク トルを算出する手段を含む動画 像復号化方法であって、
動きべク トルの精度を数種類用意し、 動きべク トルの水平成分と、 垂 直成分に異なる精度が割り当てられており、 差分動きべク トルを復号化 し、 上記予測動きベク トルの各成分を割り当てられた精度に修正し、 上 記復号差分動きべク トルと修正予測動きべク トルから割り当てられた精 度で動きべク トルの各成分を算出し、 該動きべク トルの各成分を上記復 号動きベク トルの精度に変換するものであって、 前記水平成分の精度は 前記垂直成分より高い。
2 1 . 請求項 2 0記載の動画像複号化方法であって、 上記画像が順次 走查であり、 上記動きべク トルの精度を 3種類以上であり、 動きべク ト ルの水平成分と、 垂直成分に異なる精度が害 !jり当てが動きべク トルの水 平成分に第 1の精度、 フィールド構造の復号プロックにおける動きべク トルの垂直成分に第 1 の精度より低い第 2の精度、 フ レーム構造の復号 ブロックにおける動きべク トルの垂直成分に第 2の精度より低い第 3の 精度を割り当て、 、 差分動きベク トルを複号化し、 上記予測動きべク ト ルの各成分を割り当てられた精度に修正し、 上記復号差分動きべク トル
10. と修正予測動きべク トルから割り当てられた精度で動きべク トルの各成 分を算出し、 該動きべク トルの各成分を上記復号動きべク トルの精度に 変換する手順を有する。
PCT/JP2003/000664 2002-01-24 2003-01-24 Moving picture signal coding method, decoding method, coding apparatus, and decoding apparatus WO2003063503A1 (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
EP03703048A EP1469682A4 (en) 2002-01-24 2003-01-24 SIGNAL CODING METHOD FOR MOVABLE IMAGES, DECODING METHOD, CODING DEVICE AND DECODING DEVICE
JP2003563227A JP4401783B2 (ja) 2002-01-24 2003-01-24 動画像の符号化方法
US10/488,030 US8175159B2 (en) 2002-01-24 2003-01-24 Moving picture signal coding method, decoding method, coding apparatus, and decoding apparatus
KR1020047002817A KR100924850B1 (ko) 2002-01-24 2003-01-24 동화상 신호의 부호화 방법 및 복호화 방법
US12/073,757 US8194746B2 (en) 2002-01-24 2008-03-10 Moving picture signal coding method, decoding method, coding apparatus, and decoding apparatus
US12/073,756 US8233542B2 (en) 2002-01-24 2008-03-10 Moving picture signal coding method, decoding method, coding apparatus, and decoding apparatus

Applications Claiming Priority (10)

Application Number Priority Date Filing Date Title
JP2002-14974 2002-01-24
JP2002014974 2002-01-24
JP2002-36130 2002-02-14
JP2002036130 2002-02-14
JP2002093541 2002-03-29
JP2002-93541 2002-03-29
JP2002-267555 2002-09-13
JP2002267555 2002-09-13
JP2002-330209 2002-11-14
JP2002330209 2002-11-14

Related Child Applications (3)

Application Number Title Priority Date Filing Date
US10488030 A-371-Of-International 2003-01-24
US12/073,756 Division US8233542B2 (en) 2002-01-24 2008-03-10 Moving picture signal coding method, decoding method, coding apparatus, and decoding apparatus
US12/073,757 Division US8194746B2 (en) 2002-01-24 2008-03-10 Moving picture signal coding method, decoding method, coding apparatus, and decoding apparatus

Publications (1)

Publication Number Publication Date
WO2003063503A1 true WO2003063503A1 (en) 2003-07-31

Family

ID=27617870

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2003/000664 WO2003063503A1 (en) 2002-01-24 2003-01-24 Moving picture signal coding method, decoding method, coding apparatus, and decoding apparatus

Country Status (7)

Country Link
US (2) US8194746B2 (ja)
EP (1) EP1469682A4 (ja)
JP (2) JP4401783B2 (ja)
KR (2) KR100924850B1 (ja)
CN (1) CN1265649C (ja)
HK (1) HK1095461A1 (ja)
WO (1) WO2003063503A1 (ja)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004008772A1 (ja) * 2002-07-15 2004-01-22 Mitsubishi Denki Kabushiki Kaisha 画像符号化装置、画像符号化方法、画像復号装置、画像復号方法、および通信装置
JP2007521696A (ja) * 2003-10-09 2007-08-02 トムソン ライセンシング エラー・コンシールメントのための直接モード導出プロセス
JP2007532036A (ja) * 2003-09-07 2007-11-08 マイクロソフト コーポレーション インターレース・ビデオの進歩した双方向予測コーディング
JP2008048200A (ja) * 2006-08-17 2008-02-28 Fujitsu Ltd フレーム間予測処理装置、フレーム間予測方法、画像符号化装置及び画像復号装置
JP2008515298A (ja) * 2004-09-29 2008-05-08 ▲騰▼▲訊▼科技(深▲セン▼)有限公司 動き推定の実現方法
WO2012008162A1 (ja) * 2010-07-15 2012-01-19 パナソニック株式会社 画像復号化方法、画像符号化方法、画像復号化装置、画像符号化装置、プログラムおよび集積回路
JP2013509063A (ja) * 2009-10-20 2013-03-07 トムソン ライセンシング 画像シーケンスのブロックを符号化する方法およびこのブロックを再構成する方法
JP2013509020A (ja) * 2009-10-14 2013-03-07 トムソン ライセンシング 動き情報の適応型符号化方法及び装置
JP2013543713A (ja) * 2010-10-13 2013-12-05 クゥアルコム・インコーポレイテッド ビデオ符号化のための適応動きベクトル解像度信号伝達
US8917768B2 (en) 2003-07-18 2014-12-23 Microsoft Corporation Coding of motion vector information
US9237355B2 (en) 2010-02-19 2016-01-12 Qualcomm Incorporated Adaptive motion resolution for video coding
WO2018110203A1 (ja) * 2016-12-16 2018-06-21 シャープ株式会社 動画像復号装置、および動画像符号化装置
JP2018533298A (ja) * 2015-09-24 2018-11-08 エルジー エレクトロニクス インコーポレイティド 映像コーディングシステムにおけるamvrに基づく映像コーディング方法及び装置
JP2019169964A (ja) * 2014-10-07 2019-10-03 クゥアルコム・インコーポレイテッドQualcomm Incorporated イントラbcとインターの統合
US10531113B2 (en) 2014-10-31 2020-01-07 Samsung Electronics Co., Ltd. Method and device for encoding/decoding motion vector
JP2020523954A (ja) * 2017-06-12 2020-08-06 ホアウェイ・テクノロジーズ・カンパニー・リミテッド 動きベクトル(mv)精度の選択およびシグナリング

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100493200C (zh) * 2002-01-24 2009-05-27 株式会社日立制作所 运动图像的编码方法、解码方法、编码装置及解码装置
KR100624429B1 (ko) * 2003-07-16 2006-09-19 삼성전자주식회사 칼라 영상을 위한 비디오 부호화/복호화 장치 및 그 방법
KR100694098B1 (ko) 2005-04-04 2007-03-12 한국과학기술원 산술 복호 방법 및 그 장치
KR100827093B1 (ko) * 2006-10-13 2008-05-02 삼성전자주식회사 영상 부호화 방법 및 장치
KR101365574B1 (ko) * 2007-01-29 2014-02-20 삼성전자주식회사 영상 부호화 방법 및 장치, 복호화 방법 및 장치
US8942289B2 (en) * 2007-02-21 2015-01-27 Microsoft Corporation Computational complexity and precision control in transform-based digital media codec
KR100939917B1 (ko) * 2008-03-07 2010-02-03 에스케이 텔레콤주식회사 움직임 예측을 통한 부호화 시스템 및 움직임 예측을 통한부호화 방법
WO2009115901A2 (en) * 2008-03-19 2009-09-24 Nokia Corporation Combined motion vector and reference index prediction for video coding
JP5422168B2 (ja) * 2008-09-29 2014-02-19 株式会社日立製作所 動画像符号化方法および動画像復号化方法
CN102239694A (zh) * 2008-12-08 2011-11-09 夏普株式会社 图像编码器和图像解码器
TW201041404A (en) * 2009-03-06 2010-11-16 Sony Corp Image processing device and method
WO2011021913A2 (ko) * 2009-08-21 2011-02-24 에스케이텔레콤 주식회사 차분 움직임 벡터의 정밀도를 고려한 움직임 벡터 부호화/복호화 방법 및 장치, 및 그를 위한 영상처리 장치 및 방법
KR101780921B1 (ko) * 2010-04-01 2017-09-21 소니 주식회사 화상 처리 장치, 방법 및 기록매체
HUE034476T2 (en) * 2010-04-23 2018-02-28 M&K Holdings Inc Equipment for image coding
CN102378000B (zh) * 2010-08-13 2013-07-17 炬力集成电路设计有限公司 一种视频解码装置和方法
US20120051431A1 (en) * 2010-08-25 2012-03-01 Qualcomm Incorporated Motion direction based adaptive motion vector resolution signaling for video coding
KR101479130B1 (ko) * 2010-10-18 2015-01-07 에스케이 텔레콤주식회사 차분 움직임벡터 부호화/복호화 장치 및 방법, 및 그것을 이용한 영상 부호화/복호화 장치 및 방법
US9749657B2 (en) * 2011-01-21 2017-08-29 Sharp Kabushiki Kaisha Buffer compression for motion vector competition
JP2013172323A (ja) 2012-02-21 2013-09-02 Toshiba Corp 動き検出装置、画像処理装置および画像処理システム
GB2512829B (en) * 2013-04-05 2015-05-27 Canon Kk Method and apparatus for encoding or decoding an image with inter layer motion information prediction according to motion information compression scheme
US9749642B2 (en) 2014-01-08 2017-08-29 Microsoft Technology Licensing, Llc Selection of motion vector precision
US9942560B2 (en) 2014-01-08 2018-04-10 Microsoft Technology Licensing, Llc Encoding screen capture data
US9774881B2 (en) * 2014-01-08 2017-09-26 Microsoft Technology Licensing, Llc Representing motion vectors in an encoded bitstream
CN104661031B (zh) * 2015-02-16 2017-12-22 华为技术有限公司 用于视频图像编码和解码的方法、编码设备和解码设备
CN109218733B (zh) * 2017-06-30 2022-03-29 华为技术有限公司 一种确定预测运动矢量预测的方法以及相关设备
CN116016921A (zh) * 2017-07-07 2023-04-25 三星电子株式会社 用于对运动矢量进行编码和解码的设备和方法
EP3691274A4 (en) 2017-09-28 2021-04-28 Samsung Electronics Co., Ltd. CODING METHOD AND DEVICE FOR IT AND DECODING METHOD AND DEVICE FOR IT
CN116347099A (zh) * 2018-06-19 2023-06-27 北京字节跳动网络技术有限公司 没有运动矢量预测截断的选择的运动矢量差精度
CN116033150A (zh) * 2018-09-08 2023-04-28 北京字节跳动网络技术有限公司 不同视频块尺寸的仿射模式计算
TW202025737A (zh) 2018-09-19 2020-07-01 大陸商北京字節跳動網絡技術有限公司 仿射模式中自適應運動矢量分辨率的快速算法
CN113498609B (zh) * 2018-12-31 2023-06-20 北京达佳互联信息技术有限公司 用于视频编解码的依赖图片分辨率的配置
CN111416982A (zh) * 2019-01-04 2020-07-14 北京三星通信技术研究有限公司 对运动矢量信息进行编/解码的方法及装置
EP3895429A4 (en) 2019-01-31 2022-08-10 Beijing Bytedance Network Technology Co., Ltd. CONTEXT FOR CODE AN ADAPTIVE MOTION VECTOR RESOLUTION IN AFFINE MODE
WO2020192747A1 (en) * 2019-03-27 2020-10-01 Beijing Bytedance Network Technology Co., Ltd. Motion information precision alignment in affine advanced motion vector prediction
WO2020254459A1 (en) * 2019-06-20 2020-12-24 Interdigital Vc Holdings France, Sas Motion vector processing for video encoding and decoding
CN114402610A (zh) 2019-09-13 2022-04-26 北京字节跳动网络技术有限公司 视频编解码中的加权样点双向预测

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09154140A (ja) * 1995-11-29 1997-06-10 Nec Corp 動画像の動き補償回路
JPH1146364A (ja) * 1997-07-28 1999-02-16 Victor Co Of Japan Ltd 動き補償符号化装置、復号化装置、符号化方法及び復号化方法
JPH1188888A (ja) * 1997-06-25 1999-03-30 Nippon Telegr & Teleph Corp <Ntt> 動きベクトル予測符号化方法および動きベクトル復号方法、予測符号化装置および復号装置、並びに、動きベクトルの予測符号化プログラムおよび復号プログラムを記録した記録媒体
JPH11262018A (ja) * 1998-03-09 1999-09-24 Victor Co Of Japan Ltd 動き補償符号化装置、動き補償符号化方法、及び動き補償符号記録媒体

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5428396A (en) * 1991-08-03 1995-06-27 Sony Corporation Variable length coding/decoding method for motion vectors
FR2725577B1 (fr) * 1994-10-10 1996-11-29 Thomson Consumer Electronics Procede de codage ou de decodage de vecteurs mouvement et dispositif de codage ou de decodage mettant en oeuvre ledit procede
DE69619002T2 (de) * 1995-03-10 2002-11-21 Toshiba Kawasaki Kk Bildkodierungs-/-dekodierungsvorrichtung
JP4142180B2 (ja) * 1998-10-29 2008-08-27 富士通株式会社 動きベクトル符号化装置および復号装置
US6738423B1 (en) * 2000-01-21 2004-05-18 Nokia Mobile Phones Ltd. Method for encoding and decoding video information, a motion compensated video encoder and a corresponding decoder
KR100359115B1 (ko) * 2000-05-24 2002-11-04 삼성전자 주식회사 영상 코딩 방법
US6859494B2 (en) 2001-07-27 2005-02-22 General Instrument Corporation Methods and apparatus for sub-pixel motion estimation
US6950469B2 (en) * 2001-09-17 2005-09-27 Nokia Corporation Method for sub-pixel value interpolation

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09154140A (ja) * 1995-11-29 1997-06-10 Nec Corp 動画像の動き補償回路
JPH1188888A (ja) * 1997-06-25 1999-03-30 Nippon Telegr & Teleph Corp <Ntt> 動きベクトル予測符号化方法および動きベクトル復号方法、予測符号化装置および復号装置、並びに、動きベクトルの予測符号化プログラムおよび復号プログラムを記録した記録媒体
JPH1146364A (ja) * 1997-07-28 1999-02-16 Victor Co Of Japan Ltd 動き補償符号化装置、復号化装置、符号化方法及び復号化方法
JPH11262018A (ja) * 1998-03-09 1999-09-24 Victor Co Of Japan Ltd 動き補償符号化装置、動き補償符号化方法、及び動き補償符号記録媒体

Cited By (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8401079B2 (en) 2002-07-15 2013-03-19 Mitsubishi Denki Kabushiki Kaisha Image coding apparatus, image coding method, image decoding apparatus, image decoding method and communication apparatus
US8045616B2 (en) 2002-07-15 2011-10-25 Mitsubishi Denki Kabushiki Kaisha Image coding device, image coding method, image decoding device, image decoding method and communication apparatus
WO2004008772A1 (ja) * 2002-07-15 2004-01-22 Mitsubishi Denki Kabushiki Kaisha 画像符号化装置、画像符号化方法、画像復号装置、画像復号方法、および通信装置
US8917768B2 (en) 2003-07-18 2014-12-23 Microsoft Corporation Coding of motion vector information
US9148668B2 (en) 2003-07-18 2015-09-29 Microsoft Technology Licensing, Llc Coding of motion vector information
JP2007532036A (ja) * 2003-09-07 2007-11-08 マイクロソフト コーポレーション インターレース・ビデオの進歩した双方向予測コーディング
JP2011139525A (ja) * 2003-09-07 2011-07-14 Microsoft Corp インターレース・ビデオの進歩した双方向予測コーディング
JP4763607B2 (ja) * 2003-09-07 2011-08-31 マイクロソフト コーポレーション インターレース・ビデオの進歩した双方向予測コーディング
JP2007521696A (ja) * 2003-10-09 2007-08-02 トムソン ライセンシング エラー・コンシールメントのための直接モード導出プロセス
US8804830B2 (en) 2004-09-29 2014-08-12 Tencent Technology (Shenzhen) Company Limited Method for performing motion estimation
JP2008515298A (ja) * 2004-09-29 2008-05-08 ▲騰▼▲訊▼科技(深▲セン▼)有限公司 動き推定の実現方法
JP4669517B2 (ja) * 2004-09-29 2011-04-13 ▲騰▼▲訊▼科技(深▲セン▼)有限公司 動き推定の実現方法
JP2008048200A (ja) * 2006-08-17 2008-02-28 Fujitsu Ltd フレーム間予測処理装置、フレーム間予測方法、画像符号化装置及び画像復号装置
JP4712643B2 (ja) * 2006-08-17 2011-06-29 富士通セミコンダクター株式会社 フレーム間予測処理装置、フレーム間予測方法、画像符号化装置及び画像復号装置
JP2020188483A (ja) * 2009-10-14 2020-11-19 インターデジタル マディソン パテント ホールディングス 動き情報の適応型符号化方法及び装置
JP2013509020A (ja) * 2009-10-14 2013-03-07 トムソン ライセンシング 動き情報の適応型符号化方法及び装置
JP2016167837A (ja) * 2009-10-14 2016-09-15 トムソン ライセンシングThomson Licensing 動き情報の適応型符号化方法及び装置
JP2018067949A (ja) * 2009-10-14 2018-04-26 トムソン ライセンシングThomson Licensing 動き情報の適応型符号化方法及び装置
JP7179037B2 (ja) 2009-10-14 2022-11-28 インターデジタル マディソン パテント ホールディングス, エスアーエス 動き情報の適応型符号化方法及び装置
JP2013509063A (ja) * 2009-10-20 2013-03-07 トムソン ライセンシング 画像シーケンスのブロックを符号化する方法およびこのブロックを再構成する方法
US10142650B2 (en) 2009-10-20 2018-11-27 Interdigital Madison Patent Holdings Motion vector prediction and refinement using candidate and correction motion vectors
US9237355B2 (en) 2010-02-19 2016-01-12 Qualcomm Incorporated Adaptive motion resolution for video coding
WO2012008162A1 (ja) * 2010-07-15 2012-01-19 パナソニック株式会社 画像復号化方法、画像符号化方法、画像復号化装置、画像符号化装置、プログラムおよび集積回路
JP2013543713A (ja) * 2010-10-13 2013-12-05 クゥアルコム・インコーポレイテッド ビデオ符号化のための適応動きベクトル解像度信号伝達
JP2019169964A (ja) * 2014-10-07 2019-10-03 クゥアルコム・インコーポレイテッドQualcomm Incorporated イントラbcとインターの統合
US10531113B2 (en) 2014-10-31 2020-01-07 Samsung Electronics Co., Ltd. Method and device for encoding/decoding motion vector
US10848780B2 (en) 2014-10-31 2020-11-24 Samsung Electronics Co., Ltd. Method and device for encoding/decoding motion vector
US11483584B2 (en) 2014-10-31 2022-10-25 Samsung Electronics Co., Ltd. Method and device for encoding/decoding motion vector
US11818388B2 (en) 2014-10-31 2023-11-14 Samsung Electronics Co., Ltd. Method and device for encoding/decoding motion vector
US11818387B2 (en) 2014-10-31 2023-11-14 Samsung Electronics Co., Ltd. Method and device for encoding/decoding motion vector
US11818389B2 (en) 2014-10-31 2023-11-14 Samsung Electronics Co., Ltd. Method and device for encoding/decoding motion vector
US11831904B2 (en) 2014-10-31 2023-11-28 Samsung Electronics Co., Ltd. Method and device for encoding/decoding motion vector
JP2018533298A (ja) * 2015-09-24 2018-11-08 エルジー エレクトロニクス インコーポレイティド 映像コーディングシステムにおけるamvrに基づく映像コーディング方法及び装置
WO2018110203A1 (ja) * 2016-12-16 2018-06-21 シャープ株式会社 動画像復号装置、および動画像符号化装置
JP2020523954A (ja) * 2017-06-12 2020-08-06 ホアウェイ・テクノロジーズ・カンパニー・リミテッド 動きベクトル(mv)精度の選択およびシグナリング
US11223847B2 (en) 2017-06-12 2022-01-11 Huawei Technologies Co., Ltd. Selection and signaling of motion vector (MV) precisions
US11272207B2 (en) 2017-06-12 2022-03-08 Futurewei Technologies, Inc. Selection and signaling of motion vector (MV) precisions
US11843800B2 (en) 2017-06-12 2023-12-12 Huawei Technologies Co., Ltd. Selection and signaling of motion vector (MV) precisions

Also Published As

Publication number Publication date
KR20040075317A (ko) 2004-08-27
US20080310511A1 (en) 2008-12-18
JPWO2003063503A1 (ja) 2005-05-26
EP1469682A4 (en) 2010-01-27
HK1095461A1 (en) 2007-05-04
KR100962759B1 (ko) 2010-06-09
US20080165856A1 (en) 2008-07-10
CN1265649C (zh) 2006-07-19
KR20070108571A (ko) 2007-11-12
CN1550110A (zh) 2004-11-24
JP5042267B2 (ja) 2012-10-03
US8233542B2 (en) 2012-07-31
JP4401783B2 (ja) 2010-01-20
JP2009171608A (ja) 2009-07-30
EP1469682A1 (en) 2004-10-20
US8194746B2 (en) 2012-06-05
KR100924850B1 (ko) 2009-11-02

Similar Documents

Publication Publication Date Title
JP4401783B2 (ja) 動画像の符号化方法
JP6513847B2 (ja) 動画像符号化方法
JP4724351B2 (ja) 画像符号化装置、画像符号化方法、画像復号装置、画像復号方法、および通信装置
WO2005081541A1 (ja) 画像情報符号化装置および画像情報符号化方法
US8175159B2 (en) Moving picture signal coding method, decoding method, coding apparatus, and decoding apparatus
JP4355319B2 (ja) 動画像復号化方法
JP2008136232A (ja) 動画像復号化方法
CN100493200C (zh) 运动图像的编码方法、解码方法、编码装置及解码装置
JP2004048522A (ja) 動画像の符号化方法及び復号化方法
JP2008118701A (ja) 動画像復号化方法
JP5017087B2 (ja) 動画像復号化方法
JP2008118700A (ja) 動画像復号化方法

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): CN JP KR US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT SE SI SK TR

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2003563227

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 2003703048

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 1020047002817

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 20038009390

Country of ref document: CN

Ref document number: 10488030

Country of ref document: US

WWP Wipo information: published in national office

Ref document number: 2003703048

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 1020077023512

Country of ref document: KR