WO2011125211A1 - 画像符号化方法及び画像復号化方法 - Google Patents
画像符号化方法及び画像復号化方法 Download PDFInfo
- Publication number
- WO2011125211A1 WO2011125211A1 PCT/JP2010/056400 JP2010056400W WO2011125211A1 WO 2011125211 A1 WO2011125211 A1 WO 2011125211A1 JP 2010056400 W JP2010056400 W JP 2010056400W WO 2011125211 A1 WO2011125211 A1 WO 2011125211A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- block
- motion
- information
- motion information
- blocks
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/521—Processing of motion vectors for estimating the reliability of the determined motion vectors or motion vector field, e.g. for smoothing the motion vector field or for correcting motion vectors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/109—Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
- H04N19/139—Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
- H04N19/15—Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/182—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/96—Tree coding, e.g. quad-tree coding
Definitions
- the present invention relates to an encoding and decoding method for moving images and still images.
- H.264 video coding methods that have greatly improved coding efficiency have been jointly developed by ITU-T Rec. H.264 and ISO / IEC 96 14496-10 (hereinafter referred to as H.264) in collaboration with ITU-T and ISO / IEC. 264)).
- prediction processing, conversion processing, and entropy encoding processing are performed in units of rectangular blocks (for example, 16 ⁇ 16 pixel block units, 8 ⁇ 8 pixel block units, etc.).
- motion compensation is performed on a rectangular block to be encoded (encoding target block) with reference to an already encoded frame (reference frame) to perform prediction in the time direction.
- motion compensation it is necessary to encode motion information including a motion vector as spatial shift information between an encoding target block and a block referred to in a reference frame and send the encoded motion information to the decoding side. Furthermore, when motion compensation is performed using a plurality of reference frames, it is necessary to encode a reference frame number together with motion information. For this reason, the amount of codes related to motion information and reference frame numbers may increase.
- a motion vector to be assigned to an encoding target block is derived from a motion vector assigned to an already encoded block, and prediction is performed based on the derived motion vector.
- There is a direct mode for generating an image see Patent Document 1 and Patent Document 2).
- the direct mode since the motion vector is not encoded, the code amount of the motion information can be reduced.
- the direct mode is adopted in H.264 / AVC, for example.
- the motion vector of the encoding target block is predicted and generated by a fixed method of calculating the motion vector from the median value of the motion vector of the encoded block adjacent to the encoding target block. For this reason, the freedom degree of motion vector calculation is low.
- the present invention has been made to solve the above-described problems, and an object thereof is to provide an image encoding and image decoding method with high encoding efficiency.
- An image encoding method includes a first step of selecting at least one motion reference block from among encoded pixel blocks having motion information, and motion to be applied to an encoding target block.
- a second step of selecting, from among the motion reference blocks, at least one usable block having pixel information and having different motion information, and selecting one of the available blocks A third step of selecting a block, a fourth step of generating a predicted image of the target block using the motion information of the selected block, and encoding a prediction error between the predicted image and the original image
- a selection table for identifying the selected block by referring to a code table determined in advance according to the number of the available blocks.
- Information includes a sixth step of encoding, the.
- An image decoding method is applied to a decoding target block and a first step of selecting at least one motion reference block from among decoded pixel blocks having motion information.
- a second step of selecting at least one usable block having motion information candidates and having different motion information from among the motion reference blocks, and in advance according to the number of usable blocks A third step of obtaining selection information for specifying the selected block by decoding the input encoded data with reference to a predetermined code table, and according to the selection information, 4th step of selecting one selected block from the above, and using the motion information of the selected block, the decoding target block
- encoding efficiency can be improved.
- FIG. 1 It is a block diagram which shows roughly the structure of the image coding apparatus which concerns on 1st Embodiment. It is a figure which shows an example of the size of the macroblock which is a process unit of the encoding of the image decoding part shown in FIG. It is a figure which shows the other example of the size of the macroblock which is a process unit of the encoding of the image decoding part shown in FIG. It is a figure which shows the order in which the image encoding part shown in FIG. 1 encodes the pixel block in an encoding object frame. It is a figure which shows an example of the motion information frame which the motion information memory shown in FIG. 1 hold
- FIG. 10 is a diagram illustrating an example of an available block selected from the motion reference blocks illustrated in FIG.
- FIG. 8 shows an example of the available block information which the available block acquisition part of FIG. 1 outputs. It is a figure which shows an example of the identity determination of the motion information between blocks by the available block acquisition part of FIG. It is a figure which shows the other example of the identity determination of the motion information between the blocks by the available block acquisition part of FIG. It is a figure which shows the further another example of the identity determination of the motion information between blocks by the available block acquisition part of FIG. It is a figure which shows the other example of the identity determination of the motion information between the blocks by the available block acquisition part of FIG. It is a figure which shows the further another example of the identity determination of the motion information between blocks by the available block acquisition part of FIG.
- FIG. 13 shows the other example of the identity determination of the motion information between the blocks by the available block acquisition part of FIG.
- FIG. 13 It is a block diagram which shows schematically the structure of the estimation part of FIG. It is a figure which shows the group of the motion information which the time direction motion information acquisition part of FIG. 13 outputs. It is explanatory drawing explaining the interpolation process of the minority pixel precision which can be utilized in the motion compensation process by the motion compensation part of FIG. It is a flowchart which shows an example of operation
- FIG. 2 is a block diagram schematically showing a configuration of a variable length coding unit in FIG. 1. It is a figure which shows the example which produces
- H. 2 is a diagram illustrating a code table corresponding to mb_type and mb_type at the time of B slice in H.264. It is a figure which shows an example of the code table which concerns on embodiment.
- H. 2 is a diagram illustrating a code table corresponding to mb_type and mb_type at the time of P slice in H.264. It is a figure which shows the other example of the code table which concerns on embodiment.
- FIG. 27 is a block diagram schematically showing a configuration of a prediction unit in FIG. 26. It is a block diagram which shows roughly the structure of the 2nd estimation part of FIG.
- FIG. 27 is a block diagram schematically showing a configuration of a variable length coding unit in FIG. 26. It is a figure which shows an example of the macroblock layer syntax according to 2nd Embodiment. It is a figure which shows the other example of the macroblock layer syntax according to 2nd Embodiment. It is a block diagram which shows roughly the image decoding apparatus which concerns on 3rd Embodiment.
- FIG. 27 is a block diagram schematically showing a configuration of a prediction unit in FIG. 26. It is a block diagram which shows roughly the structure of the 2nd estimation part of FIG.
- FIG. 27 is a block diagram schematically showing a configuration of a variable length coding unit in FIG. 26. It is a figure which shows an example of the macroblock layer syntax according to 2nd Embodiment. It is a figure which shows the
- FIG. 32 is a block diagram showing in more detail the encoded sequence decoding unit shown in FIG. 31.
- FIG. 32 is a block diagram showing the prediction unit shown in FIG. 31 in more detail. It is a block diagram which shows roughly the image decoding apparatus which concerns on 4th Embodiment.
- FIG. 34 is a block diagram illustrating in more detail the encoded string decoding unit illustrated in FIG. 33. It is a block diagram which shows the prediction part shown in FIG. 33 in detail.
- FIG. 1 schematically shows the configuration of an image coding apparatus according to the first embodiment of the present invention.
- the image encoding device includes an image encoding unit 100, an encoding control unit 150, and an output buffer 120.
- This image encoding apparatus may be realized by hardware such as an LSI chip, or may be realized by causing a computer to execute an image encoding program.
- the original image (input image signal) 10 that is a moving image or a still image is input to the image encoding unit 100, for example, in units of pixel blocks obtained by dividing the original image.
- the image encoding unit 100 compresses and encodes the input image signal 10 to generate encoded data 14.
- the generated encoded data 14 is temporarily stored in the output buffer 120 and sent to a storage system (storage medium) or a transmission system (communication line) (not shown) at an output timing managed by the encoding control unit 150. .
- the encoding control unit 150 controls overall encoding processing of the image encoding unit 100 such as feedback control of generated code amount, quantization control, prediction mode control, and entropy encoding control. Specifically, the encoding control unit 150 provides the encoding control information 50 to the image encoding unit 100 and receives the feedback information 51 from the image encoding unit 100 as appropriate.
- the encoding control information 50 includes prediction information, motion information 18 and quantization parameter information.
- the prediction information includes prediction mode information and block size information.
- the motion information 18 includes a motion vector, a reference frame number, and a prediction direction (unidirectional prediction, bidirectional prediction).
- the quantization parameter information includes a quantization parameter such as a quantization width (quantization step size) and a quantization matrix.
- the feedback information 51 includes the amount of code generated by the image encoding unit 100, and is used, for example, to determine a quantization parameter.
- the image encoding unit 100 encodes the input image signal 10 in units of pixel blocks obtained by dividing the original image (for example, macroblocks, sub-blocks, 1 pixel, etc.). For this reason, the input image signal 10 is sequentially input to the image encoding unit 100 in units of pixel blocks obtained by dividing the original image.
- the encoding processing unit is a macro block, and a pixel block (macro block) that is an encoding target and corresponds to the input image signal 10 is simply referred to as an encoding target block.
- an image frame including an encoding target block, that is, an encoding target image frame is referred to as an encoding target frame.
- Such an encoding target block may be, for example, a 16 ⁇ 16 pixel block as shown in FIG. 2A or a 64 ⁇ 64 pixel block as shown in FIG. 2B.
- the encoding target block may be a 32 ⁇ 32 pixel block, an 8 ⁇ 8 pixel block, or the like.
- the shape of the macroblock is not limited to the square shape as shown in FIGS. 2A and 2B, and may be set to an arbitrary shape such as a rectangular shape.
- the processing unit is not limited to a pixel block such as a macroblock, and may be a frame or a field.
- the encoding process for each pixel block in the encoding target frame may be executed in any order.
- the pixel blocks are arranged row by row from the upper left pixel block of the encoding target frame to the lower right pixel block, that is, in raster scan order. It is assumed that the encoding process is performed on
- a motion information memory 108 and an available block acquisition unit 109 includes a prediction unit 101, a subtracter 102, a transform / quantization unit 103, a variable length coding unit 104, an inverse quantization / inverse transform unit 105, an adder 106, and a frame memory 107.
- a motion information memory 108 and an available block acquisition unit 109 includes a prediction unit 101, a subtracter 102, a transform / quantization unit 103, a variable length coding unit 104, an inverse quantization / inverse transform unit 105, an adder 106, and a frame memory 107.
- a motion information memory 108 and an available block acquisition unit 109 includes a motion information memory 108 and an available block acquisition unit 109.
- the input image signal 10 is input to the prediction unit 101 and the subtracter 102.
- the subtracter 102 receives the input image signal 10 and also receives the predicted image signal 11 from the prediction unit 101 described later.
- the subtractor 102 calculates a difference between the input image signal 10 and the predicted image signal 11 and generates a prediction error image signal 12.
- the transform / quantization unit 103 receives the prediction error image signal 12 from the subtractor 102, performs a conversion process on the received prediction error image signal 12, and generates a transform coefficient.
- the transformation process is, for example, orthogonal transformation such as discrete cosine transformation (DCT: Discrete Cosine Transform).
- the transform / quantization unit 103 may generate transform coefficients using a technique such as wavelet transform and independent component analysis instead of the discrete cosine transform.
- the transform / quantization unit 103 quantizes the generated transform coefficient based on the quantization parameter given by the encoding control unit 150.
- the quantized transform coefficient (transform coefficient information) 13 is output to the variable length coding unit 104 and the inverse quantization / inverse transform unit 105.
- the inverse quantization / inverse transform unit 105 inversely quantizes the quantized transform coefficient 13 according to the quantization parameter given by the encoding control unit 150, that is, the same quantization parameter as the transform / quantization unit 103. . Subsequently, the inverse quantization / inverse transform unit 105 performs inverse transform on the inversely quantized transform coefficient to generate a decoded prediction error signal 15.
- the inverse transformation process by the inverse quantization / inverse transformation unit 105 matches the inverse transformation process of the transformation process by the transformation / quantization unit 103.
- the inverse transform process is inverse discrete cosine transform (IDCT: Inverse Discrete Cosine Transform) or inverse wavelet transform.
- IDCT Inverse Discrete Cosine Transform
- the adder 106 receives the decoded prediction error signal 15 from the inverse quantization / inverse transform unit 105, and further receives the predicted image signal 11 from the prediction unit 101.
- the adder 106 adds the decoded prediction error signal 15 and the predicted image signal 11 to generate a local decoded image signal 16.
- the generated local decoded image signal 16 is stored as a reference image signal 17 in the frame memory 107.
- the reference image signal 17 stored in the frame memory 107 is read and referred to by the prediction unit 101 when a subsequent encoding target block is encoded.
- the prediction unit 101 receives the reference image signal 17 from the frame memory 107 and also receives available block information 30 from an available block acquisition unit 109 described later. Further, the prediction unit 101 receives reference motion information 19 from a motion information memory 108 described later. The prediction unit 101 generates the prediction image signal 11, the motion information 18, and the selected block information 31 of the encoding target block based on the reference image signal 17, the reference motion information 19, and the available block information 30. Specifically, the prediction unit 101 generates motion information 18 and selected block information 31 based on the available block information 30 and the reference motion information 19, and based on the motion information 18. A motion compensation unit 113 that generates the predicted image signal 11 is provided. The predicted image signal 11 is sent to the subtracter 102 and the adder 106. The motion information 18 is stored in the motion information memory 108 for subsequent prediction processing on the current block. The selected block information 31 is sent to the variable length coding unit 104. The prediction unit 101 will be described in detail later.
- FIG. 4 shows an example of the configuration of the motion information memory 108.
- the motion information memory 108 stores reference motion information 19 in units of frames, and the reference motion information 19 forms a motion information frame 25.
- the motion information memory 108 sequentially receives motion information 18 relating to encoded blocks, and as a result, the motion information memory 108 holds a plurality of motion information frames 25 having different encoding times.
- the reference motion information 19 is held in the motion information frame 25 in predetermined block units (for example, 4 ⁇ 4 pixel block units).
- the motion vector block 28 illustrated in FIG. 4 indicates a pixel block having the same size as the encoding target block, the usable block, the selection block, and the like, and is, for example, a 16 ⁇ 16 pixel block.
- a motion vector is assigned to the motion vector block 28 for each 4 ⁇ 4 pixel block.
- Inter prediction processing using motion vector blocks is referred to as motion vector block prediction processing.
- the reference motion information 19 held in the motion information memory 108 is read by the prediction unit 101 when the motion information 18 is generated.
- the motion information 18 included in the available block as described later refers to the reference motion information 19 held in the area in the motion information memory 108 where the available block is located.
- the motion information memory 108 is not limited to the example in which the reference motion information 19 is stored in units of 4 ⁇ 4 pixel blocks, and the reference motion information 19 may be stored in units of other pixel blocks.
- the pixel block unit related to the reference motion information 19 may be one pixel or a 2 ⁇ 2 pixel block.
- the shape of the pixel block related to the reference motion information 19 is not limited to a square shape, and may be an arbitrary shape.
- the available block acquisition unit 109 in FIG. 1 acquires the reference motion information 19 from the motion information memory 108, and based on the acquired reference motion information 19, from the plurality of blocks that have already been encoded, the prediction unit 101 An available block that can be used for the prediction process is selected.
- the selected available block is sent to the prediction unit 101 and the variable length coding unit 104 as available block information 30.
- a coded block that is a candidate for selecting an available block is referred to as a motion reference block.
- a method for selecting a motion reference block and an available block will be described in detail later.
- variable length coding unit 104 uses the selected block information 31 from the prediction unit 101, and the coding parameters such as the prediction information and the quantization parameter from the coding control unit 150.
- the available block information 30 is received from 109.
- the variable length coding unit 104 performs entropy coding (for example, isometric coding, Huffman coding, arithmetic coding, etc.) on the quantized transform coefficient 13, selected block information 31, usable block information 30, and coding parameters. )
- the coding parameters include all parameters necessary for decoding such as information on transform coefficients and information on quantization, as well as selected block information 31 and prediction information.
- the generated encoded data 14 is temporarily stored in the output buffer 120 and sent to a storage system or transmission system (not shown).
- FIG. 5 shows the processing procedure of the input image signal 10.
- the prediction image signal 11 is generated by the prediction unit 101 (step S501).
- the predicted image signal 11 in step S501 one of the available blocks described later is selected as a selected block, and the predicted image is selected using the selected block information 31, the motion information of the selected block, and the reference image signal 17.
- a signal 11 is created.
- the difference between the predicted image signal 11 and the input image signal 10 is calculated by the subtracter 102, and the predicted error image signal 12 is generated (step S502).
- step S503 orthogonal transformation and quantization are performed on the prediction error image signal 12 by the transform / quantization unit 103, and transform coefficient information 13 is generated (step S503).
- the transform coefficient information 13 and the selected block information 31 are sent to the variable length encoding unit 104, subjected to variable length encoding, and encoded data 14 is generated (step S504).
- step S504 the code table is switched so that the code table has the same number of entries as the number of available blocks according to the selected block information 31, and the selected block information 31 is variable-length encoded.
- the encoded data bit stream 20 is sent to a storage system (not shown) or a transmission path.
- the transform coefficient information 13 generated in step S503 is inversely quantized by the inverse quantization / inverse transform unit 105, subjected to inverse transform processing, and becomes the decoded prediction error signal 15 (step S505).
- the decoded prediction error signal 15 is added to the reference image signal 17 used in step S501 to become a local decoded image signal 16 (step S506), and stored as a reference image signal in the frame memory 107 (step S507).
- the prediction unit 101 generates the predicted image signal 11 broadly, and can be broadly divided into intra prediction (intraframe) that generates a predicted image using the reference image signal 17 related to the encoding target frame (or field). Prediction) and inter prediction (interframe prediction) for generating a predicted image using the reference image signal 17 related to one or more encoded reference frames (reference fields).
- the prediction unit 101 selectively switches between intra prediction and inter prediction, and generates the predicted image signal 11 of the encoding target block.
- FIG. 6A shows an example of inter prediction by the motion compensation unit 113.
- inter prediction as shown in FIG. 6A, from a block (also referred to as a prediction block) 23 in a reference frame one frame before encoding that is the same position as the current block to be encoded.
- the predicted image signal 11 is generated using the reference image signal 17 related to the block 24 at the position spatially shifted according to the motion vector 18 a included in the motion information 18. That is, in the generation of the predicted image signal 11, the reference image signal 17 related to the block 24 in the reference frame specified by the position (coordinates) of the encoding target block and the motion vector 18a included in the motion information 18 is used. .
- inter prediction motion compensation with a small pixel accuracy (for example, a 1/2 pixel accuracy or a 1/4 pixel accuracy) is possible, and a value of an interpolation pixel is generated by performing a filtering process on the reference image signal 17. Is done. For example, H.M. In H.264, it is possible to perform interpolation processing up to 1/4 pixel accuracy on the luminance signal.
- motion compensation with 1 ⁇ 4 pixel accuracy is performed, the information amount of the motion information 18 is four times the integer pixel accuracy.
- any encoded reference frame may be used as shown in FIG. 6B.
- a reference frame number When reference image signals 17 relating to a plurality of reference frames having different time positions are held, information indicating which time position the reference image signal 17 is generated from the reference image signal 17 is represented by a reference frame number.
- the reference frame number is included in the motion information 18.
- the reference frame number can be changed on an area basis (picture, block basis, etc.). That is, a different reference frame can be used for each pixel block.
- the reference frame number of this region is set to 0, and when the encoded reference frame two frames before is used for prediction, The reference frame number of this area is set to 1.
- the reference frame number is always set to 0.
- a block size suitable for a coding target block can be selected from a plurality of motion compensation blocks. That is, the encoding target block may be divided into a plurality of small pixel blocks, and motion compensation may be performed for each small pixel block.
- 7A to 7C show the size of the motion compensation block in units of macroblocks
- FIG. 7D shows the size of the motion compensation block in units of sub-blocks (pixel blocks of 8 ⁇ 8 pixels or less).
- the motion compensation block is a 64 ⁇ 64 pixel block, a 64 ⁇ 32 pixel block, a 32 ⁇ 64 pixel block, a 32 ⁇ 32 pixel block, or the like.
- the motion compensation block is a 32 ⁇ 32 pixel block, a 32 ⁇ 16 pixel block, a 16 ⁇ 32 pixel block, or a 16 ⁇ 16 pixel.
- a block or the like can be selected.
- the motion compensation block is a 16 ⁇ 16 pixel block, a 16 ⁇ 8 pixel block, an 8 ⁇ 16 pixel block, or an 8 ⁇ 8 pixel. It can be set to a block or the like.
- FIG. 7B when the encoding target block is 32 ⁇ 32 pixels, the motion compensation block is a 32 ⁇ 32 pixel block, a 32 ⁇ 16 pixel block, a 16 ⁇ 32 pixel block, or a 16 ⁇ 16 pixel.
- FIG. 7C when the encoding target block is 16 ⁇ 16 pixels, the motion compensation block is a 16 ⁇ 16 pixel block, a 16 ⁇ 8 pixel block, an 8 ⁇ 16 pixel block, or an 8 ⁇ 8 pixel. It can be set to a block or the like.
- the motion compensation block is an 8 ⁇ 8 pixel block, an 8 ⁇ 4 pixel block, a 4 ⁇ 8 pixel block, or 4 ⁇ 4.
- a pixel block or the like can be selected.
- the optimal value is determined according to the local property of the input image signal 10.
- the shape and motion vector of the motion compensation block can be used.
- the macroblocks and sub-macroblocks in FIGS. 7A to 7D can be arbitrarily combined.
- the encoding target block is a 64 ⁇ 64 pixel block as shown in FIG. 7A
- each block size shown in FIG. 7B is set for each of the four 32 ⁇ 32 pixel blocks obtained by dividing the 64 ⁇ 64 pixel block.
- a block of 64 ⁇ 64 to 16 ⁇ 16 pixels can be used hierarchically.
- the block size shown in FIG. 7D can be selected, a block size of 64 ⁇ 64 to 4 ⁇ 4 can be used hierarchically.
- the motion reference block is selected from the encoding target frame and the encoded region (block) in the reference frame according to a method determined by both the image encoding device of FIG. 1 and an image decoding device described later.
- the FIG. 8A shows an example of the arrangement of motion reference blocks selected according to the position of the encoding target block.
- nine motion reference blocks A to D and TA to TE are selected from the encoding target frame and the encoded region in the reference frame.
- motion reference blocks A, B, C, and D adjacent to the left, upper, upper right, and upper left of the encoding target block are selected as motion reference blocks from the encoding target frame, and from the reference frame,
- a block TA at the same position as the encoding target block and four pixel blocks TB, TC, TD, TE adjacent to the right, bottom, left and top of the block TA are selected as motion reference blocks.
- the motion reference block selected from the encoding target frame is referred to as a spatial direction motion reference block
- the motion reference block selected from the reference frame is referred to as a temporal direction motion reference block.
- a symbol p assigned to each motion reference block in FIG. 8A indicates an index of the motion reference block.
- the indexes are numbered in the order of motion reference blocks in the temporal direction and the spatial direction.
- the order is not limited to this, and the order is not necessarily limited as long as the indexes do not overlap.
- the motion reference blocks in the temporal direction and the spatial direction may be numbered out of order.
- the spatial direction motion reference block is not limited to the example illustrated in FIG. 8A, and as illustrated in FIG. 8B, a block to which the pixels a, b, c, and d adjacent to the encoding target block belong (for example, a macro block or a sub block). Macroblock etc.).
- the relative position (dx, dy) from the upper left pixel e in the encoding target block to each of the pixels a, b, c, d is set as shown in FIG. 8C.
- the macroblock is shown as being an N ⁇ N pixel block.
- all the blocks A1 to A4, B1, B2, C, and D adjacent to the encoding target block may be selected as the spatial direction motion reference block.
- the number of spatial direction motion reference blocks is 8.
- the temporal direction motion reference block may have a part of each block TA-TE overlapping, and as shown in FIG. 8F, the blocks TA-TE are arranged apart from each other. It does not matter.
- a portion where the temporal direction motion reference blocks TA and TB overlap is indicated by hatching.
- the temporal direction motion reference block is not limited to the example of the block at the position corresponding to the encoding target block (Collocate position) and the block positioned around it, and is arranged at any position in the reference frame. It may be a block.
- the block in the reference frame specified by the position of the reference block and the motion information 18 included in any of the encoded blocks adjacent to the encoding target block is set as the central block (for example, the block TA).
- the central block and its surrounding blocks may be selected as the temporal direction motion reference block.
- the time direction reference blocks may not be arranged at equal intervals from the central block.
- the size of the motion reference block is not necessarily the same size as the encoding target block.
- the size of the motion reference block may be larger or smaller than the encoding target block.
- the motion reference block is not limited to a square shape, and may be set to an arbitrary shape such as a rectangular shape. In addition, the motion reference block may be set to any size.
- the motion reference block and the available block may be arranged only in either the time direction or the spatial direction. Further, the motion reference block and the usable block in the time direction may be arranged according to the type of slice such as the P slice and the B slice, and the motion reference block and the usable block in the spatial direction may be arranged.
- FIG. 9 shows a method in which the available block acquisition unit 109 selects an available block from the motion reference blocks.
- An available block is a block in which motion information can be applied to an encoding target block, and has different motion information.
- the available block acquisition unit 109 refers to the reference motion information 19 and determines whether or not each motion reference block is an available block according to the method shown in FIG. 9, and outputs the available block information 30.
- a motion reference block whose index p is zero is selected (S800).
- the motion reference blocks are processed in order from the index p of 0 to M ⁇ 1 (M represents the number of motion reference blocks). Further, the description will be made assuming that the availability determination process for the motion reference block having the index p of 0 to p ⁇ 1 is completed, and the index of the motion reference block to be determined as to whether or not the index is p is p. .
- the available block acquisition unit 109 determines whether or not the motion reference block p has the motion information 18, that is, whether or not at least one motion vector is assigned (S801). If the motion reference block p does not have a motion vector, that is, the time direction motion reference block p is a block in an I slice that does not have motion information, or in the time direction motion reference block p When all the small pixel blocks are intra prediction encoded, the process proceeds to step S805. In step S805, the motion reference block p is determined as an unusable block.
- step S802 If the motion reference block p has motion information in step S801, the process proceeds to step S802.
- the available block acquisition unit 109 selects a motion reference block q (available block q) that has already been selected as an available block.
- q is a value smaller than p.
- the available block acquisition unit 109 compares the motion information 18 of the motion reference block p with the motion information 18 of the available block q to determine whether or not the same motion information is included (S803). .
- the process proceeds to step S805, and the motion reference block p is not available. It is determined.
- step S803 If it is determined in step S803 that the motion information 18 of the motion reference block p and the motion information 18 of the available block q are not the same for all available blocks q satisfying q ⁇ p, the process proceeds to step S804. .
- step S804 the available block acquisition unit 109 determines the motion reference block p as an available block.
- the available block acquisition unit 109 determines whether the availability determination has been performed for all the motion reference blocks ( S806). If there is a motion reference block for which the availability determination has not been executed, for example, if p ⁇ M ⁇ 1, the process proceeds to step S807. Subsequently, the available block acquisition unit 109 increments the index p by 1 (step S807), and executes steps S801 to S806 again. When the availability determination is executed for all the motion reference blocks in step S806, the availability determination process ends.
- each motion reference block is an available block or an unavailable block.
- the available block acquisition unit 109 generates usable block information 30 including information on available blocks.
- the amount of information related to the available block information 30 is reduced, and as a result, the amount of encoded data 14 can be reduced.
- FIG. 10 shows an example of the result of executing the availability determination process for the motion reference block shown in FIG. 8A.
- An example of the available block information 30 relating to the example of FIG. 10 is shown in FIG.
- the available block information 30 includes an index of a motion reference block, availability, and a motion reference block name.
- the prediction unit 101 selects one optimum usable block from these usable blocks as a selected block, and outputs information (selected block information) 31 regarding the selected block.
- the selected block information 31 includes the number of available blocks and the index value of the selected available block. For example, when the number of available blocks is 4, the corresponding selected block information 31 is encoded by the variable-length encoding unit 104 using a code table whose maximum entry is 4.
- step S801 in FIG. 9 when at least one of the blocks in the temporal direction motion reference block p is an intra prediction encoded block, the available block acquisition unit 109 uses the motion reference block p. It may be determined as an impossible block. In other words, the process may proceed to step S802 only when all the blocks in the temporal direction motion reference block p are encoded by inter prediction.
- 12A to 12E show an example in which it is determined that the motion information 18 of the motion reference block p and the motion information 18 of the available block q are the same in the comparison of the motion information 18 in step S803.
- 12A to 12E each show a plurality of hatched blocks and two white blocks.
- FIG. 12A to FIG. 12E to simplify the explanation, it is assumed that the motion information 18 of these two white blocks is compared without considering the shaded blocks.
- One of the two white blocks is a motion reference block p, and the other is a motion reference block q (usable block q) that has already been determined to be usable. Unless otherwise specified, any of the two white blocks may be the motion reference block p.
- FIG. 12A shows an example in which both the motion reference block p and the available block q are spatial blocks.
- the motion information 18 of the blocks A and B is the same, it is determined that the motion information 18 is the same. At this time, the sizes of the blocks A and B do not have to be the same.
- FIG. 12B shows an example in which one of the motion reference block p and the available block q is the block A in the spatial direction, and the other is the block TB in the temporal direction.
- FIG. 12C shows another example in which one of the motion reference block p and the available block q is the block A in the spatial direction and the other is the block TB in the temporal direction.
- FIG. 12C shows a case where the block TB in the time direction is divided into a plurality of small blocks, and there are a plurality of small blocks having the motion information 18.
- the motion information 18 is the same. It is determined. At this time, the sizes of the blocks A and TB do not have to be the same.
- FIG. 12D shows an example in which the motion reference block p and the available block q are both temporal blocks. In this case, if the motion information 18 of the blocks TB and TE is the same, it is determined that the motion information 18 is the same.
- FIG. 12E shows another example in which the motion reference block p and the available block q are both temporal blocks.
- FIG. 12E shows a case where the blocks TB and TE in the time direction are each divided into a plurality of small blocks, and there are a plurality of small blocks each having the motion information 18.
- the motion information 18 is compared for each small block in the block, and if the motion information 18 is the same for all the small blocks, the motion information 18 of the block TB and the motion information 18 of the block TE are the same. It is determined that there is.
- FIG. 12F shows still another example in which the motion reference block p and the available block q are both temporal blocks.
- FIG. 12F shows a case where the block TE in the time direction is divided into a plurality of small blocks, and there are a plurality of small blocks having the motion information 18 in the block TE.
- all the motion information 18 of the block TE is the same motion information 18 and the same as the motion information 18 included in the block TD, it is determined that the motion information 18 of the blocks TD and TE is the same.
- step S803 it is determined whether the motion information 18 of the motion reference block p and the motion information 18 of the available block q are the same.
- the number of available blocks q to be compared with the motion reference block p has been described as 1.
- the motion information of the motion reference block p 18 may be compared with the motion information 18 of each available block q.
- scaling described later when scaling described later is applied, the motion information 18 after scaling becomes the motion information 18 described above.
- the determination that the motion information of the motion reference block p is the same as the motion information of the available block q is not limited to the case where the motion vectors included in the motion information completely match. For example, if the norm of the difference between two motion vectors is within a predetermined range, the motion information of the motion reference block p and the motion information of the available block q may be regarded as substantially the same.
- FIG. 13 shows a more detailed configuration of the prediction unit 101.
- the prediction unit 101 receives the available block information 30, the reference motion information 19, and the reference image signal 17, and outputs the prediction image signal 11, the motion information 18, and the selected block information 31.
- the motion information selection unit 118 includes a spatial direction motion information acquisition unit 110, a time direction motion information acquisition unit 111, and a motion information changeover switch 112.
- the spatial direction motion information acquisition unit 110 receives the usable block information 30 and the reference motion information 19 related to the spatial direction motion reference block.
- the spatial direction motion information acquisition unit 110 outputs motion information 18A including motion information included in each available block located in the spatial direction and an index value of the available block.
- the spatial direction motion information acquisition unit 110 When the information shown in FIG. 11 is input as the usable block information 30, the spatial direction motion information acquisition unit 110 generates two motion information outputs 18A, and each motion information output 18A includes an available block and this usage.
- the motion information 19 included in the possible block is included.
- the time direction motion information acquisition unit 111 receives the available block information 30 and the reference motion information 19 related to the time direction motion reference block.
- the time direction motion information acquisition unit 111 outputs the motion information 19 included in the available time direction motion reference block specified by the available block information 30 and the index value of the available block as motion information 18B.
- the temporal direction motion reference block is divided into a plurality of small pixel blocks, and each small pixel block has motion information 19.
- the motion information 18B output from the temporal direction motion information acquisition unit 111 includes a group of motion information 19 included in each small pixel block in the available block, as illustrated in FIG.
- motion compensation prediction can be executed on the encoding target block in units of small pixel blocks obtained by dividing the encoding target block.
- the time direction motion information acquisition unit 111 When the information shown in FIG. 11 is input as the usable block information 30, the time direction motion information acquisition unit 111 generates two motion information outputs 18B, and each motion information output includes an available block and this usable information. It includes a group of motion information 19 that the block has.
- the time direction motion information acquisition unit 111 obtains an average value or representative value of motion vectors included in the motion information 19 of each pixel small block, and outputs the average value or representative value of the motion vectors as motion information 18B. It doesn't matter.
- the motion information changeover switch 112 in FIG. 13 selects an appropriate usable block as a selected block based on the motion information 18A and 18B output from the spatial direction motion information acquisition unit 110 and the temporal direction motion information acquisition unit 111. Then, the motion information 18 (or group of motion information 18) corresponding to the selected block is output to the motion compensation unit 113.
- the motion information changeover switch 112 outputs selected block information 31 related to the selected block.
- the selected block information 31 includes the name of the index p or the motion reference block, and is also simply referred to as selection information.
- the selected block information 31 is not limited to the name of the index p and the motion reference block, and may be any information as long as the position of the selected block can be specified.
- the motion information changeover switch 112 selects an available block that minimizes the coding cost derived by the cost equation shown in the following Equation 1 as a selected block.
- J represents the coding cost
- D represents the coding distortion that represents the sum of square errors between the input image signal 10 and the reference image signal 17.
- R indicates the code amount estimated by provisional encoding
- ⁇ The Lagrange undetermined coefficient determined by the quantization width or the like is shown.
- the coding cost J may be calculated using only the code amount R or the encoding distortion D instead of the equation 1, and the value obtained by approximating the code amount R or the encoding distortion D is used.
- a cost function may be created.
- the coding distortion D is not limited to the sum of square errors, and may be the sum of absolute values of prediction errors (SAD: sums of absolute absolute differences).
- SAD sums of absolute absolute differences
- the motion compensation unit 113 derives the position of the pixel block from which the reference image signal 17 is extracted as the predicted image signal 11 based on the motion information (or a group of motion information) included in the selected block selected by the motion information selection unit 118. To do.
- the motion compensation unit 113 divides a pixel block from which the reference image signal 17 is extracted as the predicted image signal 11 into small pixel blocks (for example, 4 ⁇ 4 pixel blocks).
- the prediction image signal 11 is acquired from the reference image signal 17 by applying the corresponding motion information 18 to each of these small pixel blocks.
- the position of the block from which the predicted image signal 11 is acquired is, for example, a position shifted from the small pixel block in the spatial direction according to the motion vector 18a included in the motion information 18, as shown in FIG. 4A.
- the motion compensation process for the encoding target block is H.264. Similar to the H.264 motion compensation process can be used.
- an interpolation method with 1/4 pixel accuracy will be specifically described. In 1/4 pixel precision interpolation, if each component of the motion vector is a multiple of 4, the motion vector points to an integer pixel position. In other cases, the motion vector indicates a predicted position corresponding to the interpolation position with fractional accuracy.
- x and y indicate vertical and horizontal indexes indicating the head position (for example, the upper left vertex) of the prediction target block
- x_pos and y_pos indicate the corresponding prediction position of the reference image signal 17.
- (mv_x, mv_y) indicates a motion vector having a 1/4 pixel accuracy.
- a predicted pixel is generated for the determined pixel position by interpolation or interpolation of the corresponding pixel position of the reference image signal 17.
- FIG. An example of H.264 prediction pixel generation is shown.
- squares indicated by capital letters (hatched squares) indicate pixels at integer positions
- squares displayed by shading indicate interpolation pixels at 1/2 pixel positions. Yes.
- a square displayed in white indicates an interpolation pixel corresponding to a 1/4 pixel position.
- the half pixel interpolation process corresponding to the positions of the alphabets b and h is calculated by the following Equation 3.
- alphabets for example, b, h, C1, etc.
- Formula 3 and Formula 4 indicate pixel values of pixels to which the same alphabet is assigned in FIG. “>>” indicates a right shift operation, and “>> 5” corresponds to division by 32. That is, the interpolation pixel at the 1/2 pixel position is calculated using a 6-tap FIR (FiniteFiImpulse Response) filter (tap coefficient: (1, -5, 20, 20, -5, 1) / 32).
- FIR FiniteFiImpulse Response
- the interpolated pixel at the 1/4 pixel position is calculated using a 2-tap average value filter (tap coefficients: (1/2, 1/2)).
- the interpolation process of 1/2 pixel corresponding to the alphabet j existing in the middle of the four integer pixel positions is generated by using both directions of 6 taps in the vertical direction and 6 taps in the horizontal direction.
- Interpolated pixel values are generated in the same manner for pixel positions other than those described.
- interpolation processing is not limited to the examples of Equation 3 and Equation 4, and may be generated using other interpolation coefficients.
- the interpolation coefficient may be a fixed value given from the encoding control unit 150, or the interpolation coefficient is optimized for each frame based on the encoding cost described above, and the optimized interpolation coefficient is calculated. May be used.
- a motion reference block is a macroblock (for example, a 16 ⁇ 16 pixel block)
- the present invention is not limited to a macroblock, and a 16 ⁇ 8 pixel block unit.
- the prediction process may be executed in units of 8 ⁇ 16 pixel blocks, 8 ⁇ 8 pixel blocks, 8 ⁇ 4 pixel blocks, 4 ⁇ 8 pixel blocks, or 4 ⁇ 4 pixel blocks.
- the information regarding the motion vector block is derived for each pixel block.
- the above prediction processing may be performed in units larger than 16 ⁇ 16 pixel blocks, such as 32 ⁇ 32 pixel block units, 32 ⁇ 16 pixel block units, and 64 ⁇ 64 pixel block units.
- a negative value (inversion vector) of the reference motion vector may be substituted, or
- a weighted average value or median value, maximum value, and minimum value using a reference motion vector corresponding to a small block and a reference motion vector adjacent to the reference motion vector may be substituted.
- FIG. 16 schematically shows the operation of the prediction unit 101.
- a reference frame motion reference frame
- the motion reference frame is typically a reference frame having the smallest temporal distance from the encoding target frame and is a temporally past reference frame.
- the motion reference frame is a frame encoded immediately before the encoding target frame.
- any reference frame in which the motion information 18 is stored in the motion information memory 108 may be acquired as a motion reference frame.
- the spatial direction motion information acquisition unit 110 and the temporal direction motion information acquisition unit 111 each acquire the available block information 30 output from the available block acquisition unit 109 (step S1502).
- the motion information changeover switch 112 selects one of the available blocks as a selected block according to Equation 1, for example (step S1503). Subsequently, the motion compensation unit 113 copies the motion information included in the selected block to be encoded (step S1504). At this time, if the selected block is a spatial direction reference block, as shown in FIG. 17, the motion information 18 included in this selected block is copied to the encoded reference block. If the selected block is a temporal direction reference block, the group of motion information 18 included in the selected block is copied to the encoding target block together with the position information. Next, motion compensation is executed using the motion information 18 or the group of motion information 18 copied by the motion compensation unit 113, and the predicted image signal 11 and the motion information 18 used for motion compensation prediction are output.
- FIG. 18 shows a more detailed configuration of the variable length coding unit 104.
- the variable length coding unit 104 includes a parameter coding unit 114, a transform coefficient coding unit 115, a selected block coding unit 116, and a multiplexing unit 117.
- the parameter encoding unit 114 encodes parameters necessary for decoding, such as prediction mode information, block size information, and quantization parameter information, excluding the transform coefficient information 13 and the selected block information 31, and generates encoded data 14A.
- the transform coefficient encoding unit 115 encodes the transform coefficient information 13 to generate encoded data 14B.
- the selected block encoding unit 116 encodes the selected block information 31 with reference to the available block information 30, and generates encoded data 14C.
- the available block information 30 includes an index and availability of a motion reference block corresponding to the index, a motion that cannot be used among a plurality of preset motion reference blocks. Excluding the reference block, only the available motion reference block is converted into syntax (stds_idx). In FIG. 19, five motion reference blocks out of nine motion reference blocks cannot be used, and syntax stds_idx is assigned in order from 0 to four motion reference blocks excluding these. In this example, since the selected block information to be encoded is not selected from nine, but is selected from four available blocks, the allocated code amount (bin number) can be reduced on average.
- FIG. 20 shows an example of a code table indicating binary information (bin) of syntax stds_idx and syntax stds_idx.
- the syntax stds_idx can be represented by 3 bits or less.
- the binary information (bin) of the syntax stds_idx may be binarized so that every stds_idx has the same bin number for every number of usable blocks, and binarized according to a binarization method determined by prior learning. It doesn't matter. Also, a plurality of binarization methods may be prepared and switched appropriately for each encoding target block.
- Entropy coding for example, isometric coding, Huffman coding, arithmetic coding, etc.
- Entropy coding can be applied to these coding units 114, 115, 116, and the generated coded data 14A, 14B, 14C is multiplexed by the multiplexing unit 117 and output.
- the description is given assuming an example in which a frame encoded one frame before the encoding target frame is referred to as a reference frame.
- a reference frame a frame encoded one frame before the encoding target frame
- the motion vector and reference in the reference motion information 19 included in the selected block are described.
- the motion vector may be scaled (or normalized) using the frame number, and the reference motion information 19 may be applied to the encoding target block.
- Tc shown in FIG. 21 indicates a time distance (POC (number indicating the display order) distance) between the encoding target frame and the motion reference frame, and is calculated by the following Equation 5.
- Tr [i] shown in FIG. 21 indicates a time distance between the motion reference frame and the frame i referred to by the selected block, and is calculated by the following Equation 6.
- curPOC indicates the POC (Picture Order) Count of the encoding target frame
- colPOC indicates the POC of the motion reference frame
- refPOC indicates the POC of the frame i referenced by the selected block.
- Clip min, max, target
- DiffPicOrderCnt (x, y) is a function for calculating the difference between two POCs.
- the motion vector MV is calculated by the following Equation 7.
- Abs (x) indicates a function that extracts the absolute value of x.
- the motion vector MVr assigned to the selected block is converted into a motion vector MV between the encoding target frame and the motion first reference frame.
- a scaling coefficient (DistScaleFactor [i]) is obtained for all time distances tr that the motion reference frame can take according to the following Equation 8.
- the number of scaling factors is equal to the number of frames referenced by the selected block, that is, the number of reference frames.
- Equation 8 The tx calculation shown in Equation 8 may be tabulated in advance.
- the motion vector MV can be calculated only by multiplication, addition, and shift operation by using the following formula 9.
- the motion information 18 after scaling is applied to the processing of the usable block acquisition unit 109 together with the prediction unit 101.
- the reference frame referred to by the encoding target block is a motion reference frame.
- FIG. 22 shows a syntax structure in the image encoding unit 100.
- the syntax mainly includes three parts, namely, a high level syntax 901, a slice level syntax 904, and a macroblock level syntax 907.
- the high-level syntax 901 holds higher layer syntax information above the slice.
- the slice level syntax 904 holds information necessary for each slice, and the macroblock level syntax 907 holds data required for each macroblock shown in FIGS. 7A to 7D.
- High level syntax 901 includes sequence and picture level syntax such as sequence parameter set syntax 902 and picture parameter set syntax 903.
- the slice level syntax 904 includes a slice header syntax 905, a slice data syntax 906, and the like.
- the macroblock level syntax 907 includes a macroblock layer syntax 908, a macroblock prediction syntax 909, and the like.
- FIG. 23A and FIG. 23B show examples of macroblock layer syntax.
- the available_block_num shown in FIGS. 23A and 23B indicates the number of available blocks. If this is a value larger than 1, the selected block information needs to be encoded.
- stds_idx indicates selected block information, and stds_idx is encoded using the above-described code table corresponding to the number of available blocks.
- FIG. 23A shows the syntax when the selected block information is encoded after mb_type.
- mode indicated by mb_type is a defined size or a defined mode (TARGET_MODE)
- available_block_num is a value greater than 1
- stds_idx is encoded.
- stds_idx is encoded when the motion information of the selected block is available when the block size is 64 ⁇ 64 pixels, 32 ⁇ 32 pixels, 16 ⁇ 16 pixels, or in the direct mode.
- FIG. 23B shows the syntax when the selected block information is encoded before mb_type.
- available_block_num is a value larger than 1, stds_idx is encoded. If available_block_num is 0, H. Since conventional motion compensation represented by H.264 is performed, mb_type is encoded.
- syntax elements not defined in the present invention can be inserted between the rows of the tables shown in FIGS. 23A and 23B, and other conditional branch descriptions may be included.
- the syntax table can be divided and integrated into a plurality of tables.
- each syntax element described in the macroblock layer syntax may be changed as specified in a macroblock data syntax described later.
- FIG. 2 is a code table corresponding to mb_type and mb_type at the time of B slice in H.264.
- N shown in FIG. 24A is a value representing the size of the block to be encoded, such as 16, 32, 64, and M is half the value of N. Therefore, when mb_type is 4 to 21, it indicates that the encoding target block is a rectangular block.
- L0, L1, and Bi in FIG. 24A indicate unidirectional prediction (List0 direction only), unidirectional prediction (List1 direction only), and bidirectional prediction, respectively.
- mb_type includes information indicating which of L0, L1, and Bi is predicted for each of the two rectangular blocks in the encoding target block.
- B_Sub means that the above process is performed on each pixel block obtained by dividing a macroblock into four.
- the encoding target block is further encoded with mb_type assigned to each of four 32 ⁇ 32 pixel blocks obtained by dividing the macroblock into four. It becomes.
- stds_idx is Spatial Left (a pixel block adjacent to the left side of the encoding target block)
- FIG. 25A is a code table when stds_idx information is included in mb_type information, and shows an example of a code table corresponding to mb_type and mb_type in a B slice.
- FIG. 25B shows another example of mb_type related to the P slice. The description of FIG. 25B is omitted because it is similar to the B slice.
- mb_type and the binarization method (binization) are not limited to the examples shown in FIGS. 25A and 25B, and mb_type may be encoded according to another order and binarization method.
- B_STDS_X and P_STDS_X do not need to be continuous and may be arranged between each mb_type.
- the binarization method (binization) may be designed based on the selection frequency learned in advance.
- the present invention can also be applied to an extended macroblock that performs motion compensation prediction by collecting a plurality of macroblocks.
- any order may be used for the scan order of encoding.
- the present invention can be applied to a line scan or a Z scan.
- the image coding apparatus selects an available block from a plurality of motion reference blocks, and applies a motion reference block to an encoding target block according to the selected number of available blocks.
- the information for specifying is generated, and this information is encoded. Therefore, according to the image coding apparatus according to the present embodiment, it is possible to perform motion compensation in units of small pixel blocks that are finer than the current block while reducing the amount of code related to motion vector information. Can be realized.
- FIG. 26 shows an image encoding device according to the second embodiment of the present invention.
- the image coding unit 200 according to the present embodiment is different from the first embodiment in the configuration of a prediction unit 201 and a variable length coding unit 204.
- the prediction unit 201 includes a first prediction unit 101 and a second prediction unit 202, and selectively generates a predicted image signal 11 by selectively switching the first and second prediction units 101 and 202.
- the first prediction unit 101 has the same configuration as the prediction unit 101 (FIG.
- the second prediction unit 202 performs motion compensation on the current block using one motion vector.
- the predicted image signal 11 is generated according to a prediction method (second prediction method) such as H.264.
- the second prediction unit 202 uses the input image signal 10 and the reference image signal 17 from the frame memory to generate a predicted image signal 11B.
- FIG. 28 schematically shows the configuration of the second prediction unit 202.
- the second prediction unit 202 includes a motion information acquisition unit 205 that generates the motion information 21 using the input image signal 10 and the reference image signal 17, and the reference image signal 17 and the motion information 21. Is used to generate a predicted image signal 11A.
- the motion information acquisition unit 205 obtains a motion vector to be assigned to the encoding target block based on the input image signal 10 and the reference image signal 17 by, for example, block matching. As an evaluation criterion for matching, a value obtained by accumulating the difference between the input image signal 10 and the interpolated image after matching for each pixel is used.
- the motion information acquisition unit 205 may determine an optimal motion vector using a value obtained by converting the difference between the predicted image signal 11 and the input image signal 10. Further, an optimal motion vector may be determined in consideration of the size of the motion vector and the amount of code of the motion vector and the reference frame number, or using Equation 1. The matching method may be executed based on search range information provided from the outside of the image encoding device, or may be executed hierarchically for each pixel accuracy. Further, the motion information given by the encoding control unit 150 may be used as the output 21 of the motion information acquisition unit 205 without performing the search process.
- the prediction unit 101 in FIG. 27 further includes a prediction method changeover switch 203 that selects and outputs one of the prediction image signal 11A from the first prediction unit 101 and the prediction image signal 11B from the second prediction unit 202.
- the prediction method changeover switch 203 uses the input image signal 10 for each of the predicted image signals 11A and 11B to obtain an encoding cost according to, for example, Equation 1 so that the prediction image becomes smaller.
- One of the signals 11A and 11B is selected and output as the predicted image signal 11.
- the prediction method changeover switch 203 together with the motion information 18 and the selected block information 31, predictive switching indicating whether the output predicted image signal 11 is output from either the first prediction unit 101 or the second prediction unit 202.
- Information 32 is also output.
- the output motion information 18 is encoded by the variable length encoding unit 204 and then multiplexed on the encoded data 14.
- FIG. 29 schematically shows the configuration of the variable length coding unit 204.
- the variable length encoding unit 204 illustrated in FIG. 29 includes a motion information encoding unit 217 in addition to the configuration of the variable length encoding unit 104 illustrated in FIG. 29, unlike the selected block encoding unit 116 in FIG. 18, the selected block encoding unit 216 encodes the prediction switching information 32 to generate encoded data 14D.
- the selected block encoding unit 216 further encodes the available block information 30 and the selected block information 31.
- the encoded usable block information 30 and the selected block information 31 are included in the encoded data 14D.
- the motion information encoding unit 217 encodes the motion information 18 and generates encoded data 14E.
- Each of the selected block encoding unit 216 and the motion information encoding unit 217 performs a prediction process based on prediction switching information 32 indicating whether or not a predicted image has been generated by motion compensated prediction using the motion information of the selected block. It is determined which one of the first prediction unit 101 and the second prediction unit 202 has been executed.
- the multiplexing unit 117 receives the encoded data 14A, B, D, E from the parameter encoding unit 114, the transform coefficient encoding unit 115, the selected block encoding unit 216, and the motion information encoding unit, and receives the encoded data 14A, B, D, E are multiplexed.
- the available_block_num shown in FIG. 30A indicates the number of available blocks. When this is a value greater than 1, the selected block encoding unit 216 encodes the selected block information 31.
- stds_flag is a flag indicating whether or not the motion information of the selected block is used as motion information of the encoding target block in motion compensation prediction, that is, the prediction method changeover switch 203 is the first prediction unit 101 and the second prediction unit. A flag indicating which of 202 is selected. When the number of available blocks is larger than 1 and stds_flag is 1, it indicates that the motion information of the selected block is used for motion compensation prediction.
- stds_flag the motion information of the selected block is not used and Similarly to H.264, the difference value obtained by directly or predicting the information of the motion information 18 is encoded. Furthermore, stds_idx indicates selected block information, and the code table corresponding to the number of usable blocks is as described above.
- FIG. 30A shows the syntax when the selected block information is encoded after mb_type. Only when the mode indicated by mb_type is a predetermined size or a predetermined mode, stds_flag and stds_idx are encoded. For example, stds_flag and stds_idx are encoded when the motion information of the selected block is available when the block size is 64 ⁇ 64, 32 ⁇ 32, 16 ⁇ 16, or in the direct mode.
- FIG. 30B shows the syntax when the selected block information is encoded before mb_type. For example, when stds_flag is 1, mb_type does not need to be encoded. If stds_flag is 0, mb_type is encoded.
- the image coding apparatus uses the first prediction unit 101 according to the first embodiment and the prediction scheme such as H.264 so that the coding cost is reduced.
- the input image signal is compressed and encoded by selectively switching between the second prediction unit 202 and the second prediction unit 202. Therefore, in the image coding apparatus according to the second embodiment, the coding efficiency is improved as compared with the image coding apparatus according to the first embodiment.
- FIG. 31 schematically shows an image decoding apparatus according to the third embodiment.
- the image decoding apparatus includes an image decoding unit 300, a decoding control unit 350, and an output buffer 308.
- the image decoding unit 300 is controlled by the decoding control unit 350.
- An image decoding apparatus according to the third embodiment corresponds to the image encoding apparatus according to the first embodiment. That is, the decoding process by the image decoding apparatus in FIG. 31 has a complementary relationship with the encoding process by the image encoding process in FIG.
- the image decoding device in FIG. 31 may be realized by hardware such as an LSI chip, or may be realized by causing a computer to execute an image decoding program.
- the image decoding apparatus in FIG. 31 includes an encoded sequence decoding unit 301, an inverse quantization / inverse conversion unit 302, an adder 303, a frame memory 304, a prediction unit 305, a motion information memory 306, and an available block acquisition unit 307. I have.
- encoded data 80 from a storage system or transmission system (not shown) is input to the encoded string decoding unit 301.
- the encoded data 80 corresponds to, for example, the encoded data 14 transmitted in a multiplexed state from the image encoding device in FIG.
- a pixel block (for example, a macro block) that is a decoding target is simply referred to as a decoding target block.
- An image frame including a decoding target block is referred to as a decoding target frame.
- decoding is performed by syntax analysis based on the syntax for each frame or field. Specifically, the coded sequence decoding unit 301 sequentially performs variable length decoding on the code sequence of each syntax, and provides prediction information such as transform coefficient information 33, selected block information 61, block size information, and prediction mode information. Including the encoding parameters relating to the decoding target block.
- the decoding parameters include the transform coefficient 33, the selected block information 61, and the prediction information, and include all parameters necessary for decoding such as information about the transform coefficient and information about the quantization.
- Prediction information, information on transform coefficients, and information on quantization are input to the decoding control unit 350 as control information 71.
- the decoding control unit 350 gives the decoding control information 70 including parameters necessary for decoding such as prediction information and quantization parameters to each unit of the image decoding unit 300.
- the encoded sequence decoding unit 301 simultaneously decodes the encoded data 80 to obtain prediction information and selected block information 61, as will be described later.
- the motion information 38 including the motion vector and the reference frame number may not be decoded.
- the transform coefficient 33 decoded by the coded sequence decoding unit 301 is sent to the inverse quantization / inverse transform unit 302.
- Various information relating to the quantization decoded by the coded sequence decoding unit 301, that is, the quantization parameter and the quantization matrix are given to the decoding control unit 350, and when the inverse quantization is performed, the inverse quantization / inverse transformation is performed.
- the inverse quantization / inverse transform unit 302 inversely quantizes the transform coefficient 33 according to the loaded information related to quantization, and then performs inverse transform processing (for example, inverse discrete cosine transform) to obtain the prediction error signal 34. obtain.
- inverse transform processing for example, inverse discrete cosine transform
- the inverse transform process by the inverse quantization / inverse transform unit 302 in FIG. 31 is an inverse transform of the transform process by the transform / quantization unit in FIG.
- the inverse quantization / inverse transform unit 302 executes the corresponding inverse quantization and inverse wavelet transform.
- the prediction error signal 34 restored by the inverse quantization / inverse transform unit 302 is input to the adder 303.
- the adder 303 adds the prediction error signal 34 and the prediction image signal 35 generated by the prediction unit 305 described later to generate a decoded image signal 36.
- the generated decoded image signal 36 is output from the image decoding unit 300, temporarily stored in the output buffer 308, and then output according to the output timing managed by the decoding control unit 350.
- the decoded image signal 36 is stored as a reference image signal 37 in the frame memory 304.
- the reference image signal 37 is sequentially read from the frame memory 304 for each frame or field and is input to the prediction unit 305.
- the available block acquisition unit 307 receives reference motion information 39 from a motion information memory 306, which will be described later, and outputs usable block information 60.
- the operation of the available block acquisition unit 307 is the same as that of the available block acquisition unit 109 (FIG. 1) described in the first embodiment.
- the motion information memory 306 receives the motion information 38 from the prediction unit 305 and temporarily stores it as reference motion information 39.
- the motion information memory 306 temporarily stores the motion information 38 output from the prediction unit 305 as reference motion information 39.
- FIG. 4 shows an example of the motion information memory 306.
- the motion information memory 306 holds a plurality of motion information frames 26 having different encoding times.
- the motion information 38 or the group of motion information 38 that has been decoded is stored as reference motion information 39 in the motion information frame 26 corresponding to the decoding time.
- the reference motion information 39 is stored, for example, in units of 4 ⁇ 4 pixel blocks.
- the reference motion information 39 held in the motion information memory 306 is read and referenced by the prediction unit 305 when generating the motion information 38 of the decoding target block.
- the motion reference block is a candidate block that is selected from the already decoded regions according to a predetermined method by the above-described image encoding device and image decoding device.
- FIG. 8A shows an example regarding an available block.
- a total of nine motion reference blocks of four motion reference blocks in the decoding target frame and five motion reference blocks in the reference frame are arranged.
- the motion reference blocks A, B, C, and D in the decoding target frame in FIG. 8A are blocks adjacent to the decoding target block on the left, upper, upper right, and upper left.
- a motion reference block selected from decoding target frames including a decoding target block is referred to as a spatial direction motion reference block.
- the motion reference block TA in the reference frame is a pixel block at the same position as the decoding target block in the reference frame, and the pixel blocks TB, TC, TD, TE in contact with the motion reference block TA are moved. Selected as a reference block.
- a motion reference block selected from among the pixel blocks in the reference frame is referred to as a temporal direction motion reference block.
- a frame in which the temporal direction motion reference block is located is referred to as a motion reference frame.
- the spatial direction motion reference block is not limited to the example shown in FIG. 8A.
- the pixel block to which the pixels a, b, c, and d adjacent to the decoding target block belong is used as the spatial direction motion reference block. It does not matter if it is selected.
- the relative positions (dx, dy) of the pixels a, b, c, d with respect to the upper left pixel in the decoding target block are shown in FIG. 8C.
- all the pixel blocks A1 to A4, B1, B2, C, and D adjacent to the decoding target block may be selected as the spatial direction motion reference block.
- the number of spatial direction motion reference blocks is eight.
- the time direction motion reference blocks TA to TE may partially overlap each other as shown in FIG. 8E, or may be separated from each other as shown in FIG. 8F.
- the temporal direction motion reference block does not necessarily need to be located around the block at the Collocate position, and may be a pixel block at any position within the motion reference frame. For example, using the motion information of an already decoded block adjacent to the decoding target block, the reference block indicated by the motion vector included in the motion information is selected as the center of the motion reference block (for example, block TA). It doesn't matter.
- the reference blocks in the time direction may not be arranged at equal intervals.
- the motion reference block May be selected from any number and position.
- the size of the motion reference block is not necessarily the same size as the decoding target block.
- the size of the motion reference block may be larger than the size of the decoding target block, may be smaller, or may be an arbitrary size.
- the shape of the motion reference block is not limited to a square shape, and may be a rectangular shape.
- the available block is a pixel block selected from the motion reference blocks, and is a pixel block to which motion information can be applied to the decoding target block.
- the available blocks have different motion information.
- the available blocks are selected by executing the available block determination process shown in FIG. 9 for a total of nine motion reference blocks in the decoding target frame and the reference frame as shown in FIG. 8A, for example. .
- FIG. 10 shows the result of executing the available block determination process shown in FIG.
- a shaded pixel block indicates an unusable block
- a white block indicates an available block. That is, two of the spatial direction motion reference blocks and two of the temporal direction motion reference blocks are determined as usable blocks.
- the motion information selection unit 314 in the prediction unit 305 can use one of the available blocks arranged in the temporal and spatial directions according to the selected block information 61 received from the selected block decoding unit 323. Select a block as the selected block.
- the available block acquisition unit 307 has the same function as the available block acquisition unit 109 of the first embodiment, acquires the reference motion information 39 from the motion information memory 306, and can be used or used for each motion reference block.
- the available block information 60 which is information indicating an impossible block, is output.
- the available block acquisition unit 307 determines whether or not the motion reference block (index p) has motion information (step S801). That is, in step S801, it is determined whether or not at least one small pixel block in the motion reference block p has motion information. When it is determined that the motion reference block p does not have motion information, that is, the temporal motion reference block is a block in the I slice without motion information, or all the small blocks in the temporal motion reference block If the pixel block has been subjected to intra prediction decoding, the process proceeds to step S805. In step S805, the motion reference block p is determined as an unusable block.
- step S801 When it is determined in step S801 that the motion reference block p has motion information, the available block acquisition unit 307 selects a motion reference block q (referred to as an available block q) that has already been determined as an available block. (Step S802).
- q is a value smaller than p.
- the available block acquisition unit 307 compares the motion information of the motion reference block p with the motion information of the available block q for all q, and the motion reference block p can use the available block q. It is determined whether or not the same motion information is included (S803). If the motion reference block p has the same motion vector as that of the available block q, the process proceeds to step S805.
- step S805 the motion reference block p is converted into an unavailable block by the available block acquisition unit 307. Determined.
- the motion reference block p has motion information different from all the available blocks q, the motion reference block p is determined as an available block by the available block acquisition unit 307 in step S804.
- the usable block information 60 By executing the above-described usable block determination process for all motion reference blocks, it is determined for each motion reference block whether the block is usable or unavailable, and usable block information 60 is generated.
- An example of the usable block information 60 is shown in FIG.
- the available block information 60 includes the index p and availability of the motion reference block, as shown in FIG. In FIG. 11, the usable block information 60 indicates that motion reference blocks whose indexes p are 0, 1, 5 and 8 are selected as usable blocks, and the number of usable blocks is four.
- step S801 in FIG. 9 when at least one of the blocks in the temporal direction motion reference block p is an intra prediction encoded block, the available block acquisition unit 307 uses the motion reference block p. It may be determined as an impossible block. In other words, the process may proceed to step S802 only when all the blocks in the temporal direction motion reference block p are encoded by inter prediction.
- 12A to 12E show examples in which it is determined that the motion information 38 of the motion reference block p and the motion information 38 of the available block q are the same in the comparison of the motion information 38 in step S803.
- 12A to 12E each show a plurality of hatched blocks and two white blocks.
- FIG. 12A to FIG. 12E in order to simplify the description, it is assumed that the motion information 38 of these two white blocks is compared without considering the shaded blocks.
- One of the two white blocks is a motion reference block p, and the other is a motion reference block q (usable block q) that has already been determined to be usable. Unless otherwise specified, any of the two white blocks may be the motion reference block p.
- FIG. 12A shows an example in which both the motion reference block p and the available block q are spatial blocks.
- the motion information 38 of the blocks A and B is the same, it is determined that the motion information 38 is the same. At this time, the sizes of the blocks A and B do not have to be the same.
- FIG. 12B shows an example in which one of the motion reference block p and the available block q is the block A in the spatial direction, and the other is the block TB in the temporal direction.
- FIG. 12C shows another example in which one of the motion reference block p and the available block q is the block A in the spatial direction and the other is the block TB in the temporal direction.
- FIG. 12C shows a case where the block TB in the time direction is divided into a plurality of small blocks and there are a plurality of small blocks having the motion information 38.
- the motion information 38 is the same. It is determined. At this time, the sizes of the blocks A and TB do not have to be the same.
- FIG. 12D shows an example in which the motion reference block p and the available block q are both temporal blocks. In this case, if the motion information 38 of the blocks TB and TE is the same, it is determined that the motion information 38 is the same.
- FIG. 12E shows another example in which the motion reference block p and the available block q are both temporal blocks.
- FIG. 12E shows a case where the blocks TB and TE in the time direction are each divided into a plurality of small blocks, and there are a plurality of small blocks each having motion information 38.
- the motion information 38 is compared for each small block in the block, and if the motion information 38 is the same for all the small blocks, the motion information 38 of the block TB and the motion information 38 of the block TE are the same. It is determined that there is.
- FIG. 12F shows still another example in which the motion reference block p and the available block q are both temporal blocks.
- FIG. 12F shows a case where the block TE in the time direction is divided into a plurality of small blocks, and there are a plurality of small blocks having the motion information 38 in the block TE.
- all the motion information 38 of the block TE is the same motion information 38 and is the same as the motion information 38 included in the block TD, it is determined that the motion information 38 of the blocks TD and TE is the same.
- step S803 it is determined whether or not the motion information 38 of the motion reference block p and the motion information 38 of the available block q are the same.
- the number of available blocks q to be compared with the motion reference block p has been described as 1.
- the motion information of the motion reference block p 38 may be compared with the motion information 38 of each available block q.
- scaling described later is applied, the motion information 38 after scaling becomes the motion information 38 described above.
- the determination that the motion information of the motion reference block p is the same as the motion information of the available block q is not limited to the case where the motion vectors included in the motion information completely match. For example, if the norm of the difference between two motion vectors is within a predetermined range, the motion information of the motion reference block p and the motion information of the available block q may be regarded as substantially the same.
- FIG. 32 is a block diagram showing the encoded string decoding unit 301 in more detail.
- the encoded sequence decoding unit 301 separates the encoded data 80 into syntax units, a separating unit 320, a transform coefficient decoding unit 322 for decoding transform coefficients, and decoding selected block information.
- a parameter decoding unit 321 that decodes a prediction block size, a parameter relating to quantization, and the like.
- the parameter decoding unit 321 receives the encoded data 80A including parameters related to the prediction block size and quantization from the demultiplexing unit, and generates the control information 71 by decoding the encoded data 80A.
- the transform coefficient decoding unit 322 receives the encoded transform coefficient 80B from the separation unit 320, decodes the encoded transform coefficient 80B, and obtains transform coefficient information 33.
- the selected block decoding unit 323 receives the encoded data 80C relating to the selected block and the available block information 60 as inputs, and outputs selected block information 61.
- the input available block information 60 indicates the availability for each motion reference block, as shown in FIG.
- the prediction unit 305 includes a motion information selection unit 314 and a motion compensation unit 313.
- the motion information selection unit 314 includes a spatial direction motion information acquisition unit 310, a time direction motion information acquisition unit 311, and motion information.
- a changeover switch 312 is provided.
- the prediction unit 305 basically has the same configuration and function as the prediction unit 101 described in the first embodiment.
- the prediction unit 305 receives the available block information 60, the selected block information 61, the reference motion information 39, and the reference image signal 37, and outputs a predicted image signal 35 and motion information 38.
- the spatial direction motion information acquisition unit 310 and the temporal direction motion information acquisition unit 311 have the same functions as the spatial direction motion information acquisition unit 110 and the temporal direction motion information acquisition unit 111 described in the first embodiment, respectively.
- the spatial direction motion information acquisition unit 310 uses the available block information 60 and the reference motion information 39 to generate motion information 38A including motion information and an index for each available block located in the spatial direction.
- the time direction motion information acquisition unit 311 uses the available block information 60 and the reference motion information 39, and motion information (or a group of motion information) including motion information and an index of each available block located in the time direction. 38B is generated.
- one of the motion information 38 A from the spatial direction motion information acquisition unit 310 and the motion information (or group of motion information) 38 B from the time direction motion information acquisition unit 311 is selected according to the selected block information 61.
- the motion information 38 is obtained.
- the selected motion information 38 is sent to the motion compensation unit 313 and the motion information memory 306.
- the motion compensation unit 313 performs motion compensation prediction according to the selected motion information 38 in the same manner as the motion compensation unit 113 described in the first embodiment, and generates a predicted image signal 35.
- FIG. 22 shows a syntax structure in the image decoding unit 300.
- the syntax mainly includes three parts, namely, a high level syntax 901, a slice level syntax 904, and a macroblock level syntax 907.
- the high-level syntax 901 holds higher layer syntax information above the slice.
- the slice level syntax 904 holds information necessary for each slice, and the macroblock level syntax 907 holds data required for each macroblock shown in FIGS. 7A to 7D.
- High level syntax 901 includes sequence and picture level syntax such as sequence parameter set syntax 902 and picture parameter set syntax 903.
- the slice level syntax 904 includes a slice header syntax 905, a slice data syntax 906, and the like.
- the macroblock level syntax 907 includes a macroblock layer syntax 908, a macroblock prediction syntax 909, and the like.
- FIG. 23A and FIG. 23B show examples of macroblock layer syntax.
- the available_block_num shown in FIGS. 23A and 23B indicates the number of available blocks. When this is a value larger than 1, the selected block information needs to be decoded.
- stds_idx indicates selected block information, and stds_idx is encoded using the above-described code table corresponding to the number of available blocks.
- FIG. 23A shows a syntax in the case of decoding selected block information after mb_type.
- the prediction mode indicated by mb_type is a predetermined size or a predetermined mode (TARGET_MODE)
- available_block_num is a value larger than 1
- stds_idx is decoded.
- stds_idx is encoded when the motion information of the selected block is available when the block size is 64 ⁇ 64 pixels, 32 ⁇ 32 pixels, 16 ⁇ 16 pixels, or in the direct mode.
- FIG. 23B shows the syntax when the selected block information is decoded before mb_type.
- available_block_num is greater than 1, stds_idx is decoded. If available_block_num is 0, H. Since conventional motion compensation represented by H.264 is performed, mb_type is encoded.
- a syntax element that is not defined in the present invention can be inserted between the rows of the table, or other conditional branch descriptions may be included.
- the syntax table can be divided and integrated into a plurality of tables.
- each syntax element described in the macroblock layer syntax may be changed as specified in a macroblock data syntax described later.
- the image decoding apparatus decodes the image encoded by the above-described image encoding apparatus according to the first embodiment. Therefore, the image decoding according to the present embodiment can reproduce a high-quality decoded image from relatively small encoded data.
- FIG. 34 schematically shows an image decoding apparatus according to the fourth embodiment.
- the image decoding apparatus includes an image decoding unit 400, a decoding control unit 350, and an output buffer 308.
- An image decoding apparatus according to the fourth embodiment corresponds to the image encoding apparatus according to the second embodiment.
- parts and operations different from those of the third embodiment will be mainly described.
- the image decoding unit 400 according to the present embodiment is different from the third embodiment in an encoded sequence decoding unit 401 and a prediction unit 405.
- the prediction unit 405 of the present embodiment includes a prediction method (first prediction method) that performs motion compensation using motion information included in the selected block,
- the prediction image signal 35 is generated by selectively switching a prediction method (second prediction method) such as H.264 that performs motion compensation on a decoding target block using one motion vector.
- FIG. 35 is a block diagram showing the encoded string decoding unit 401 in more detail.
- the encoded sequence decoding unit 401 illustrated in FIG. 35 includes a motion information decoding unit 424 in addition to the configuration of the encoded sequence decoding unit 301 illustrated in FIG. 35, unlike the selected block decoding unit 323 shown in FIG. 32, the selected block decoding unit 423 decodes the encoded data 80C related to the selected block to obtain the prediction switching information 62.
- the prediction switching information 62 indicates which one of the first and second prediction methods is used by the prediction unit 101 in the image encoding device in FIG.
- the selected block decoding unit 423 When the prediction switching information 62 indicates that the prediction unit 101 has used the first prediction method, that is, when the decoding target block is encoded by the first prediction method, the selected block decoding unit 423 performs encoding. The selected block information in the data 80C is decoded to obtain selected block information 61. When the prediction switching information 62 indicates that the prediction unit 101 uses the second prediction method, that is, when the decoding target block is encoded by the second prediction method, the selected block decoding unit 423 selects the selected block information. Without decoding the motion information, the motion information decoding unit 424 decodes the encoded motion information 80D to obtain the motion information 40.
- FIG. 36 is a block diagram showing the prediction unit 405 in more detail.
- a prediction unit 405 illustrated in FIG. 34 includes a first prediction unit 305, a second prediction unit 410, and a prediction method changeover switch 411.
- the second prediction unit 410 performs motion compensation prediction similar to the motion compensation unit 313 in FIG. 33 using the motion information 40 and the reference image signal 37 decoded by the coded sequence decoding unit 401, and performs the prediction image signal. 35B is generated.
- the first prediction unit 305 is the same as the prediction unit 305 described in the third embodiment, and generates a predicted image signal 35B.
- the prediction method changeover switch 411 selects one of the prediction image signal 35B from the second prediction unit 410 and the prediction image signal 35A from the first prediction unit 305 based on the prediction switching information 62.
- the prediction image signal 35 of the prediction unit 405 is output.
- the prediction method changeover switch 411 sends the motion information used by the selected first prediction unit 305 or second prediction unit 410 to the motion information memory 306 as motion information 38.
- the available_block_num shown in FIG. 30A indicates the number of available blocks.
- the selected block decoding unit 423 decodes the selected block information in the encoded data 80C.
- stds_flag is a flag indicating whether or not the motion information of the selected block is used as motion information of the decoding target block in motion compensation prediction, that is, the prediction method changeover switch 411 has the first prediction unit 305 and the second prediction unit. This is a flag indicating which of 410 has been selected.
- the number of available blocks is larger than 1 and stds_flag is 1, it indicates that the motion information of the selected block is used for motion compensation prediction.
- stds_flag the motion information of the selected block is not used and Similarly to H.264, a difference value obtained by directly or predicting motion information is encoded. Furthermore, stds_idx indicates selected block information, and the code table corresponding to the number of usable blocks is as described above.
- FIG. 30A shows a syntax in the case of decoding selected block information after mb_type. Only when the prediction mode indicated by mb_type is a predetermined block size or a predetermined mode, stds_flag and stds_idx are decoded. For example, when the block size is 64 ⁇ 64, 32 ⁇ 32, 16 ⁇ 16, or in the direct mode, stds_flag and stds_idx are decoded.
- FIG. 30B shows the syntax when the selected block information is decoded before mb_type. For example, when stds_flag is 1, mb_type does not need to be decoded. If stds_flag is 0, mb_type is decoded.
- the image decoding apparatus decodes the image encoded by the image encoding apparatus according to the second embodiment described above. Therefore, the image decoding according to the present embodiment can reproduce a high-quality decoded image from relatively small encoded data.
- the present invention is not limited to the above-described embodiment as it is, and can be embodied by modifying constituent elements without departing from the scope of the invention in the implementation stage.
- various inventions can be formed by appropriately combining a plurality of components disclosed in the embodiment. For example, some components may be deleted from all the components shown in the embodiment. Furthermore, you may combine the component covering different embodiment suitably.
- the processing target frame is divided into rectangular blocks such as 16 ⁇ 16 pixel blocks, and the pixel blocks from the upper left pixel block to the lower right pixel block as shown in FIG.
- the encoding or decoding order is not limited to this example.
- the encoding or decoding order may be an order from the lower right to the upper left of the screen or an order from the upper right to the lower left.
- the encoding or decoding order may be a spiral order from the central part of the screen to the peripheral part, or an order from the peripheral part to the central part of the screen.
- the case where the luminance signal and the color difference signal are not divided but limited to one color signal component is described as an example.
- different prediction processes may be used for the luminance signal and the color difference signal, or the same prediction process may be used.
- the prediction method selected for the color difference signal is encoded / decoded in the same manner as the luminance signal.
- the image encoding / decoding method according to the present invention has industrial applicability because it can improve the encoding efficiency.
- DESCRIPTION OF SYMBOLS 10 ... Input image signal, 11 ... Predictive image signal, 12 ... Prediction error image signal, 13 ... Quantization transform coefficient, 14 ... Encoded data, 15 ... Decoded prediction error signal, 16 ... Local decoded image signal, 17 ... Reference image Signal, 18 ... motion information, 20 ... bit stream, 21 ... motion information, 25, 26 ... information frame, 30 ... usable block information, 31 ... selected block information, 32 ... prediction switching information, 33 ... transform coefficient information, 34 ... Prediction error signal, 35 ... Predictive image signal, 36 ... Decoded image signal, 37 ... Reference image signal, 38 ... Motion information, 39 ... Reference motion information, 40 ... Motion information, 50 ...
- Coding control information 51 ... Feedback information , 60 ... Available block information, 61 ... Selected block information, 62 ... Prediction switching information, 70 ... Decoding control information, 71 ... Control information, 80 ... Encoded data, 100 ... Image encoding unit 101 ... Prediction unit 102 ... Subtractor 103 ... Transform / quantization unit 104 ... Variable length encoding unit 105 ... Inverse quantization / inverse transform unit 106 ... Adder 107 ... Frame memory , 108 ... Information memory, 109 ... Available block acquisition unit, 110 ... Spatial direction motion information acquisition unit, 111 ... Time direction motion information acquisition unit, 112 ... Information changeover switch, 113 ... Motion compensation unit, 114 ...
- Parameter encoding unit 115 ... transform coefficient encoding unit, 116 ... selected block encoding unit, 117 ... multiplexing unit, 118 ... motion information selection unit, 120 ... output buffer, 150 ... encoding control unit, 200 ... image encoding unit, 201 ... Prediction unit, 202 ... Second prediction unit, 203 ... Prediction method changeover switch, 204 ... Variable length coding unit, 205 ... Motion information acquisition unit, 216 ... Selected block coding unit, 217 Motion information encoding unit, 300 ... image decoding unit, 301 ... encoded sequence decoding unit, 301 ... code sequence decoding unit, 302 ... inverse quantization / inverse transform unit, 303 ...
- Selected block decoding unit 424 ...
- Information decoding unit 901 ... High level syntax, 902 ... Sequence parameter set syntax, 903 ... Picture parameter set syntax, 904 ... Slice level syntax, 905 ... Slice header syntax, 906 ... Slice data syntax, 907 ... Macro block level syntax, 908 ... Macro block Layer syntax, 909 ... Macroblock prediction syntax.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
図1は、本発明の第1の実施形態に係る画像符号化装置の構成を概略的に示している。この画像符号化装置は、図1に示されるように、画像符号化部100、符号化制御部150及び出力バッファ120を備えている。この画像符号化装置は、LSIチップなどのハードウェアにより実現されてもよく、或いは、コンピュータに画像符号化プログラムを実行させることにより実現されても構わない。
図1の画像符号化部100には、複数の予測モードが用意されており、各予測モードは、予測画像信号11の生成方法及び動き補償ブロックサイズが互いに異なる。予測部101が予測画像信号11を生成する方法としては、具体的には大きく分けて、符号化対象フレーム(又は、フィールド)に関する参照画像信号17を用いて予測画像を生成するイントラ予測(フレーム内予測)と、1以上の符号化済みの参照フレーム(参照フィールド)に関する参照画像信号17を用いて予測画像を生成するインター予測(フレーム間予測)とがある。予測部101は、イントラ予測及びインター予測を選択的に切り替えて、符号化対象ブロックの予測画像信号11を生成する。
動き参照ブロックは、図1の画像符号化装置及び後述する画像復号化装置の両方によって取り決められた方法に従って、符号化対象フレーム及び参照フレーム内の符号化済みの領域(ブロック)の中から選択される。図8Aは、符号化対象ブロックの位置に応じて選択される動き参照ブロックの配置の一例を示している。図8Aの例では、9つの動き参照ブロックA~D及びTA~TEが符号化対象フレーム及び参照フレーム内の符号化済みの領域から選択される。具体的には、符号化対象フレームからは、符号化対象ブロックの左、上、右上、左上に隣接する4つのブロックA,B,C,Dが動き参照ブロックとして選択され、参照フレームからは、符号化対象ブロックと同一位置のブロックTA、並びにこのブロックTAの右、下、左及び上に隣接する4つの画素ブロックTB,TC,TD,TEが動き参照ブロックとして選択される。本実施形態では、符号化対象フレームから選択された動き参照ブロックを空間方向動き参照ブロックと称し、参照フレームから選択された動き参照ブロックを時間方向動き参照ブロックと称す。図8Aの各動き参照ブロックに付与されている記号pは、動き参照ブロックのインデクスを示す。このインデクスは、時間方向、空間方向の動き参照ブロックの順にナンバリングされているが、これに限らず、インデクスが重複しなければ、必ずしもこの順序でなくても構わない。例えば、時間方向及び空間方向の動き参照ブロックは、順序がばらばらにナンバリングされていても構わない。
まず、スライス又はフレーム毎に、下記数式8に従って、動き参照フレームが取りうる全ての時間距離trに関してスケーリング係数(DistScaleFactor[i])を求める。スケーリング係数の数は、選択ブロックが参照するフレームの数、即ち、参照フレームの数と等しい。
図26は、本発明の第2の実施形態に係る画像符号化装置を示している。第2の実施形態では、第1の実施形態と異なる部分及び動作について主に説明する。本実施形態に係る画像符号化部200は、図26に示されるように、第1の実施形態とは予測部201及び可変長符号化部204の構成が異なる。予測部201は、図27に示すように、第1予測部101及び第2予測部202を備え、これら第1及び第2予測部101、202を選択的に切り替えて予測画像信号11を生成する。第1予測部101は、第1の実施形態に係る予測部101(図1)と同じ構成を有し、選択ブロックが有する動き情報18を用いて動き補償する予測方式(第1予測方式)に従って、予測画像信号11を生成する。第2予測部202は、符号化対象ブロックに対して、1つの動きベクトルを用いて動き補償する、H.264のような予測方式(第2予測方式)に従って、予測画像信号11を生成する。第2予測部202は、入力画像信号10及びフレームメモリからの参照画像信号17を使用して、予測画像信号11Bを生成する。
図31は、第3の実施形態に係る画像復号化装置を概略的に示している。この画像復号化装置は、図31に示されるように、画像復号化部300、復号化制御部350及び出力バッファ308を備えている。画像復号化部300は、復号化制御部350により制御される。第3の実施形態に係る画像復号化装置は、第1の実施形態に係る画像符号化装置に対応する。即ち、図31の画像復号化装置による復号処理は、図1の画像符号化処理による符号化処理と相補的な関係を有している。図31の画像復号化装置は、LSIチップなどのハードウェアにより実現されてもよく、或いは、コンピュータに画像復号化プログラムを実行させることにより実現されても構わない。
予測部305は、図33に示すように、動き情報選択部314及び動き補償部313を備え、動き情報選択部314は、空間方向動き情報取得部310、時間方向動き情報取得部311及び動き情報切替スイッチ312を備える。予測部305は、基本的には、第1の実施形態で説明した予測部101と同一の構成及び機能を持つ。
図34は、第4の実施形態に係る画像復号化装置を概略的に示している。画像復号化装置は、図34に示されるように、画像復号化部400、復号化制御部350及び出力バッファ308を備える。第4の実施形態に係る画像復号化装置は、第2の実施形態に係る画像符号化装置に対応する。第4の実施形態では、第3の実施形態と異なる部分及び動作について主に説明する。本実施形態に係る画像復号化部400は、図34に示されるように、第3の実施形態とは符号化列復号化部401及び予測部405が異なる。
Claims (12)
- 動き情報を有する符号化済みの画素ブロックの中から、少なくとも1つの動き参照ブロックを選択する第1ステップと、
符号化対象ブロックに適用する動き情報の候補を有する画素ブロックであって、互いに異なる動き情報を有する少なくとも1つの利用可能ブロックを、前記動き参照ブロックの中から選択する第2ステップと、
前記利用可能ブロックの中から、1つの選択ブロックを選択する第3ステップと、
前記選択ブロックの動き情報を使用して、前記符号化対象ブロックの予測画像を生成する第4ステップと、
前記予測画像と原画像との間の予測誤差を符号化する第5ステップと、
前記利用可能ブロックの数に応じて予め定められた符号表を参照して、前記選択ブロックを特定する選択情報を符号化する第6ステップと、
を具備することを特徴とする画像符号化方法。 - 前記第1ステップは、
(A)前記符号化対象ブロックが属する符号化対象フレーム、及び、
(B)前記符号化対象フレームとは異なる時刻に表示される第1参照フレーム、
に含まれる画素ブロックの中から、前記動き参照ブロックを選択し、
前記第4ステップは、
前記選択ブロックが前記符号化対象フレーム内の画素ブロックである場合には、前記動き情報を用いて前記予測画像を生成するとともに、
前記選択ブロックが前記第1参照フレーム内の画素ブロックである場合には、前記動き情報及び前記第1参照フレームに関する情報を用いて前記予測画像を生成する、
ことを特徴とする請求項1に記載の画像符号化方法。 - 前記選択ブロックが前記第1参照フレーム内の画素ブロックであり、かつ、前記選択ブロックがサブブロック単位の動き情報を有する場合、前記第4ステップはサブブロックの動き情報を用いて前記予測画像を生成する、ことを特徴とする請求項2に記載の符号化方法。
- 前記第4ステップは、前記選択ブロックが前記第1参照フレーム内の画素ブロックである場合には、
前記符号化対象フレームと前記第1参照フレームとの間の第1の時間距離、及び、
前記第1参照フレームと前記選択ブロックが参照する第2参照フレームとの間の第2の時間距離、
を使用して、前記選択ブロックの動きベクトルを前記符号化対象フレームと前記第1参照フレームとの間の動きベクトルに変換する、
ことを特徴とする請求項3に記載の符号化方法。 - 前記予測画像が前記選択ブロックの動き情報を用いた動き補償予測により生成されたかどうかを示すモード情報を符号化する第7ステップをさらに有することを特徴とする請求項4に記載の符号化方法。
- 前記利用可能ブロックとして選択可能な画素ブロックが前記動き参照ブロックの中に存在しない場合、前記第7ステップは前記モード情報の符号化を省略する、ことを特徴とする請求項5に記載の符号化方法。
- 動き情報を有する復号化済みの画素ブロックの中から、少なくとも1つの動き参照ブロックを選択する第1ステップと、
復号化対象ブロックに適用する動き情報の候補を有する画素ブロックであって、互いに異なる動き情報を有する少なくとも1つの利用可能ブロックを、前記動き参照ブロックの中から選択する第2ステップと、
前記利用可能ブロックの数に応じて予め定められた符号表を参照して、入力された符号化データを復号化することにより、選択ブロックを特定するための選択情報を求める第3ステップと、
前記選択情報に従って、前記利用可能ブロックの中から1つの選択ブロックを選択する第4ステップと、
前記選択ブロックの動き情報を使用して、前記復号化対象ブロックの予測画像を生成する第5ステップと、
前記符号化データから前記復号化対象ブロックの予測残差を復号する第6ステップと、
前記予測画像と前記予測残差から復号画像を求める第7ステップと、
を有する画像復号化方法。 - 前記第1ステップは、
(A)前記復号化対象ブロックが属する復号化対象フレーム、及び、
(B)前記復号化対象フレームとは異なる時刻に表示される第1参照フレーム、
に含まれる画素ブロックの中から、前記動き参照ブロックを選択し、
前記第5ステップは、
前記選択ブロックが前記復号化対象フレーム内の画素ブロックである場合には、前記動き情報を用いて前記予測画像を生成するとともに、
前記選択ブロックが前記第1参照フレーム内の画素ブロックである場合には、前記動き情報及び前記第1参照フレームに関する情報を用いて前記予測画像を生成する、
ことを特徴とする請求項7に記載の画像復号化方法。 - 前記選択ブロックが前記第1参照フレーム内の画素ブロックであり、かつ、前記選択ブロックがサブブロック単位の動き情報を有する場合、前記第5ステップはサブブロックの動き情報を用いて前記予測画像を生成する、ことを特徴とする請求項8に記載の復号化方法。
- 前記第5ステップは、前記選択ブロックが前記第1参照フレーム内の画素ブロックである場合には、
前記復号化対象フレームと前記第1参照フレームとの間の第1の時間距離、及び、
前記第1参照フレームと前記選択ブロックが参照する第2参照フレームとの間の第2の時間距離、
を使用して、前記選択ブロックの動きベクトルを前記復号化対象フレームと前記第1参照フレームとの間の動きベクトルに変換する、
ことを特徴とする請求項9に記載の復号化方法。 - 前記符号化データを復号することにより、前記選択ブロックの動き情報を用いた動き補償予測により前記予測画像が生成されるべきかどうかを示すモード情報を求める第8ステップをさらに有することを特徴とする請求項10に記載の復号化方法。
- 前記利用可能ブロックとして選択可能な画素ブロックが前記動き参照ブロックの中に存在しない場合、前記第8ステップは前記モード情報の復号を省略する、ことを特徴とする請求項11に記載の復号化方法。
Priority Applications (27)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2010/056400 WO2011125211A1 (ja) | 2010-04-08 | 2010-04-08 | 画像符号化方法及び画像復号化方法 |
JP2012509253A JP5368631B2 (ja) | 2010-04-08 | 2010-04-08 | 画像符号化方法、装置、及びプログラム |
CN201080066017.7A CN102823248B (zh) | 2010-04-08 | 2010-04-08 | 图像编码方法以及图像编码装置 |
JP2012509275A JP5367161B2 (ja) | 2010-04-08 | 2010-11-26 | 画像符号化方法、装置、及びプログラム |
SG10201502340WA SG10201502340WA (en) | 2010-04-08 | 2010-11-26 | Image encoding method and image decoding method |
SG2012075347A SG184542A1 (en) | 2010-04-08 | 2010-11-26 | Image encoding method and image decoding method |
CN201080066019.6A CN102835109B (zh) | 2010-04-08 | 2010-11-26 | 图像编码方法以及图像编码装置 |
PCT/JP2010/071178 WO2011125256A1 (ja) | 2010-04-08 | 2010-11-26 | 画像符号化方法及び画像復号化方法 |
EP10849496.4A EP2557790A4 (en) | 2010-04-08 | 2010-11-26 | PROCESS FOR PICTURE CODING AND IMAGE DECODING |
EP18152576.7A EP3340627A1 (en) | 2010-04-08 | 2010-11-26 | Image decoding method |
CN201310142233.0A CN103227923B (zh) | 2010-04-08 | 2010-11-26 | 图像解码方法以及图像解码装置 |
US13/647,140 US10009623B2 (en) | 2010-04-08 | 2012-10-08 | Image encoding method and image decoding method |
US13/647,124 US20130028328A1 (en) | 2010-04-08 | 2012-10-08 | Image encoding method and image decoding method |
JP2013186629A JP5649701B2 (ja) | 2010-04-08 | 2013-09-09 | 画像復号化方法、装置、及びプログラム |
US14/190,909 US9794587B2 (en) | 2010-04-08 | 2014-02-26 | Image encoding method and image decoding method |
US14/190,779 US10560717B2 (en) | 2010-04-08 | 2014-02-26 | Image encoding method and image decoding method |
US14/190,929 US9538181B2 (en) | 2010-04-08 | 2014-02-26 | Image encoding method and image decoding method |
US15/350,265 US9906812B2 (en) | 2010-04-08 | 2016-11-14 | Image encoding method and image decoding method |
US15/698,336 US10715828B2 (en) | 2010-04-08 | 2017-09-07 | Image encoding method and image decoding method |
US15/698,934 US10091525B2 (en) | 2010-04-08 | 2017-09-08 | Image encoding method and image decoding method |
US16/117,609 US10542281B2 (en) | 2010-04-08 | 2018-08-30 | Image encoding method and image decoding method |
US16/250,430 US10779001B2 (en) | 2010-04-08 | 2019-01-17 | Image encoding method and image decoding method |
US16/890,734 US10999597B2 (en) | 2010-04-08 | 2020-06-02 | Image encoding method and image decoding method |
US16/939,479 US11265574B2 (en) | 2010-04-08 | 2020-07-27 | Image encoding method and image decoding method |
US17/219,065 US20210218986A1 (en) | 2010-04-08 | 2021-03-31 | Image encoding method and image decoding method |
US17/573,020 US11889107B2 (en) | 2010-04-08 | 2022-01-11 | Image encoding method and image decoding method |
US18/536,396 US20240107057A1 (en) | 2010-04-08 | 2023-12-12 | Image encoding method and image decoding method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2010/056400 WO2011125211A1 (ja) | 2010-04-08 | 2010-04-08 | 画像符号化方法及び画像復号化方法 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/647,124 Continuation US20130028328A1 (en) | 2010-04-08 | 2012-10-08 | Image encoding method and image decoding method |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2011125211A1 true WO2011125211A1 (ja) | 2011-10-13 |
Family
ID=44762196
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2010/056400 WO2011125211A1 (ja) | 2010-04-08 | 2010-04-08 | 画像符号化方法及び画像復号化方法 |
PCT/JP2010/071178 WO2011125256A1 (ja) | 2010-04-08 | 2010-11-26 | 画像符号化方法及び画像復号化方法 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2010/071178 WO2011125256A1 (ja) | 2010-04-08 | 2010-11-26 | 画像符号化方法及び画像復号化方法 |
Country Status (6)
Country | Link |
---|---|
US (15) | US10009623B2 (ja) |
EP (2) | EP3340627A1 (ja) |
JP (1) | JP5368631B2 (ja) |
CN (3) | CN102823248B (ja) |
SG (2) | SG10201502340WA (ja) |
WO (2) | WO2011125211A1 (ja) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012209911A (ja) * | 2010-12-20 | 2012-10-25 | Sony Corp | 画像処理装置および方法 |
JP2013528992A (ja) * | 2010-04-22 | 2013-07-11 | 聯發科技股▲ふん▼有限公司 | 動き予測方法 |
JP2013530658A (ja) * | 2010-07-09 | 2013-07-25 | サムスン エレクトロニクス カンパニー リミテッド | ブロック併合を利用したビデオ符号化方法及びその装置、ブロック併合を利用したビデオ復号化方法及びその装置 |
JP2014511618A (ja) * | 2011-02-24 | 2014-05-15 | クゥアルコム・インコーポレイテッド | 動き予測ビデオブロックの階層 |
JP2014209762A (ja) * | 2010-12-17 | 2014-11-06 | エレクトロニクス アンド テレコミュニケーションズ リサーチ インスチチュートElectronics And Telecommunicationsresearch Institute | 映像復号化方法 |
US9503736B2 (en) | 2010-07-09 | 2016-11-22 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding video by using block merging, and method and apparatus for decoding video by using block merging |
CN107257482A (zh) * | 2012-02-07 | 2017-10-17 | 松下知识产权经营株式会社 | 图像处理装置、图像处理方法、程序以及集成电路 |
JP2017200215A (ja) * | 2017-06-16 | 2017-11-02 | 株式会社東芝 | 動画像符号化方法及び動画像復号化方法 |
JP2018085751A (ja) * | 2018-01-05 | 2018-05-31 | 株式会社東芝 | 動画像符号化方法及び動画像復号化方法 |
US10009623B2 (en) | 2010-04-08 | 2018-06-26 | Kabushiki Kaisha Toshiba | Image encoding method and image decoding method |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102390352B1 (ko) | 2011-01-07 | 2022-04-25 | 엘지전자 주식회사 | 영상 정보 부호화 방법 및 복호화 방법과 이를 이용한 장치 |
CN102595118B (zh) * | 2011-01-14 | 2015-04-08 | 华为技术有限公司 | 一种编解码中的预测方法和预测器 |
JP2012151576A (ja) | 2011-01-18 | 2012-08-09 | Hitachi Ltd | 画像符号化方法、画像符号化装置、画像復号方法及び画像復号装置 |
JP5807588B2 (ja) * | 2011-03-08 | 2015-11-10 | 株式会社Jvcケンウッド | 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム、並びに、送信装置、送信方法及び送信プログラム |
JP5682582B2 (ja) * | 2011-03-08 | 2015-03-11 | 株式会社Jvcケンウッド | 動画像復号装置、動画像復号方法及び動画像復号プログラム、並びに、受信装置、受信方法及び受信プログラム |
WO2012134046A2 (ko) | 2011-04-01 | 2012-10-04 | 주식회사 아이벡스피티홀딩스 | 동영상의 부호화 방법 |
USRE47366E1 (en) | 2011-06-23 | 2019-04-23 | Sun Patent Trust | Image decoding method and apparatus based on a signal type of the control parameter of the current block |
EP4228264B1 (en) | 2011-06-23 | 2024-07-31 | Sun Patent Trust | Image decoding device, image encoding device |
CN106878722B (zh) | 2011-06-24 | 2019-11-12 | 太阳专利托管公司 | 解码方法、解码装置、编码方法、编码装置 |
KR102067683B1 (ko) | 2011-06-24 | 2020-01-17 | 선 페이턴트 트러스트 | 화상 복호 방법, 화상 부호화 방법, 화상 복호 장치, 화상 부호화 장치 및 화상 부호화 복호 장치 |
RU2608244C2 (ru) | 2011-06-27 | 2017-01-17 | Сан Пэтент Траст | Способ кодирования изображений, способ декодирования изображений, устройство кодирования изображений, устройство декодирования изображений и устройство кодирования и декодирования изображений |
CN103563377B (zh) | 2011-06-28 | 2017-05-10 | 太阳专利托管公司 | 解码方法及解码装置 |
MX2013010892A (es) | 2011-06-29 | 2013-12-06 | Panasonic Corp | Metodo de decodificacion de imagenes, metodo de codificacion de imagenes, aparato de decodificacion de imagenes, aparato de codificacion de imagenes y aparato de codificacion y decodificacion de imagenes. |
MY167090A (en) | 2011-06-30 | 2018-08-10 | Sun Patent Trust | Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus |
AU2012277219A1 (en) | 2011-06-30 | 2013-09-19 | Sun Patent Trust | Image decoding method, image encoding method, image decoding device, image encoding device, and image encoding/decoding device |
RU2604680C2 (ru) | 2011-07-11 | 2016-12-10 | Сан Пэтент Траст | Способ декодирования изображений, способ кодирования изображений, устройство декодирования изображений, устройство кодирования изображений и устройство кодирования и декодирования изображений |
US9344743B2 (en) * | 2011-08-24 | 2016-05-17 | Texas Instruments Incorporated | Flexible region based sample adaptive offset (SAO) and adaptive loop filter (ALF) |
JP2013126182A (ja) * | 2011-12-15 | 2013-06-24 | Samsung Electronics Co Ltd | 撮像装置及び画像処理方法 |
US9532080B2 (en) | 2012-05-31 | 2016-12-27 | Sonic Ip, Inc. | Systems and methods for the reuse of encoding information in encoding alternative streams of video data |
US9350990B2 (en) | 2013-02-28 | 2016-05-24 | Sonic Ip, Inc. | Systems and methods of encoding multiple video streams with adaptive quantization for adaptive bitrate streaming |
US9357210B2 (en) * | 2013-02-28 | 2016-05-31 | Sonic Ip, Inc. | Systems and methods of encoding multiple video streams for adaptive bitrate streaming |
SG10201803221XA (en) * | 2013-04-08 | 2018-06-28 | Dolby Int Ab | Method for encoding and method for decoding a lut and corresponding devices |
KR102260146B1 (ko) * | 2014-03-31 | 2021-06-03 | 인텔렉추얼디스커버리 주식회사 | 시점 간 움직임 병합 후보 유도 방법 및 장치 |
JP6482191B2 (ja) * | 2014-06-12 | 2019-03-13 | キヤノン株式会社 | 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム |
US10306258B2 (en) | 2016-01-29 | 2019-05-28 | Google Llc | Last frame motion vector partitioning |
US10469841B2 (en) * | 2016-01-29 | 2019-11-05 | Google Llc | Motion vector prediction using prior frame residual |
CN113612994B (zh) | 2016-03-15 | 2023-10-27 | 寰发股份有限公司 | 具有仿射运动补偿的视频编解码的方法 |
WO2017195608A1 (ja) * | 2016-05-13 | 2017-11-16 | シャープ株式会社 | 動画像復号装置 |
CN106299084B (zh) * | 2016-08-30 | 2018-10-16 | 开发晶照明(厦门)有限公司 | Led封装结构 |
US10356439B2 (en) * | 2017-06-29 | 2019-07-16 | Intel Corporation | Flexible frame referencing for display transport |
CN111919448A (zh) * | 2018-01-26 | 2020-11-10 | 韩国电子通信研究院 | 用于使用时间运动信息的图像编码和图像解码的方法和设备 |
WO2019147067A1 (ko) * | 2018-01-26 | 2019-08-01 | 한국전자통신연구원 | 시간적 움직임 정보를 이용하는 영상 부호화 및 영상 복호화를 위한 방법 및 장치 |
US10841617B2 (en) | 2018-11-27 | 2020-11-17 | Semiconductor Components Industries, Llc | Methods and apparatus for successive intra block prediction |
AU2019435947A1 (en) * | 2019-03-20 | 2021-10-14 | V-Nova International Ltd | Processing of residuals in video coding |
US11558637B1 (en) * | 2019-12-16 | 2023-01-17 | Meta Platforms, Inc. | Unified search window to support multiple video encoding standards |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004040785A (ja) * | 2002-06-03 | 2004-02-05 | Microsoft Corp | 双方向予測(b)ピクチャの時空間予測および複数ピクチャ参照動き補償の動きベクトル予測 |
JP2004104159A (ja) * | 2002-07-03 | 2004-04-02 | Ntt Docomo Inc | 可変長符号生成装置、可変長復号装置、可変長符号生成方法、及び可変長復号方法 |
JP2004165703A (ja) * | 2002-09-20 | 2004-06-10 | Toshiba Corp | 動画像符号化方法及び復号化方法 |
JP2010010950A (ja) * | 2008-06-25 | 2010-01-14 | Toshiba Corp | 画像符号化/復号化方法及び装置 |
Family Cites Families (123)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5217634A (en) | 1975-07-31 | 1977-02-09 | Matsushita Electric Works Ltd | Heat-proofing processd power board |
JPS58138655A (ja) | 1982-02-12 | 1983-08-17 | Toshiba Corp | 文書印刷制御装置 |
JP2811600B2 (ja) | 1990-05-15 | 1998-10-15 | 須賀工業株式会社 | ヒートパイプ式熱交換器 |
GB9215102D0 (en) | 1992-07-16 | 1992-08-26 | Philips Electronics Uk Ltd | Tracking moving objects |
JP3778960B2 (ja) | 1994-06-29 | 2006-05-24 | 株式会社東芝 | 動画像符号化方法及び装置 |
US6961375B1 (en) | 1997-02-06 | 2005-11-01 | Sony Corporation | Picture coding device and method, picture transmitting device and method and recording medium |
JPH10224800A (ja) * | 1997-02-07 | 1998-08-21 | Matsushita Electric Ind Co Ltd | 動きベクトル符号化方法および復号化方法 |
JP3775630B2 (ja) | 1998-07-29 | 2006-05-17 | Kddi株式会社 | 動画像の領域分割符号化装置 |
DE19835845A1 (de) | 1998-08-07 | 2000-02-10 | Siemens Ag | Verfahren und Anordnung zur Bewegungsschätzung in einem digitalisierten Bild mit Bildpunkten |
JP3662171B2 (ja) | 2000-06-05 | 2005-06-22 | 三菱電機株式会社 | 符号化装置及び符号化方法 |
US7116372B2 (en) * | 2000-10-20 | 2006-10-03 | Matsushita Electric Industrial Co., Ltd. | Method and apparatus for deinterlacing |
JP4644939B2 (ja) | 2001-01-17 | 2011-03-09 | 日本電気株式会社 | 動画像符号化装置および動画像符号化方法 |
JP4068317B2 (ja) | 2001-07-27 | 2008-03-26 | Necディスプレイソリューションズ株式会社 | 液晶表示装置 |
US7280594B2 (en) * | 2001-10-29 | 2007-10-09 | Parthuseeva Ltd. | Method and apparatus for motion estimation in a sequence of digital images |
CN101715128B (zh) * | 2001-11-21 | 2014-01-01 | 摩托罗拉移动有限责任公司 | 对具有多个图像的图像序列进行编码的方法及设备 |
JP4193406B2 (ja) | 2002-04-16 | 2008-12-10 | 三菱電機株式会社 | 映像データ変換装置および映像データ変換方法 |
CN101631247B (zh) | 2002-04-18 | 2011-07-27 | 株式会社东芝 | 运动图像编码/解码方法和装置 |
JP2004208259A (ja) * | 2002-04-19 | 2004-07-22 | Matsushita Electric Ind Co Ltd | 動きベクトル計算方法 |
JP3807342B2 (ja) | 2002-04-25 | 2006-08-09 | 三菱電機株式会社 | デジタル信号符号化装置、デジタル信号復号装置、デジタル信号算術符号化方法、およびデジタル信号算術復号方法 |
US7277486B2 (en) * | 2002-05-03 | 2007-10-02 | Microsoft Corporation | Parameterization for fading compensation |
US7609767B2 (en) * | 2002-05-03 | 2009-10-27 | Microsoft Corporation | Signaling for fading compensation |
JP2004023458A (ja) | 2002-06-17 | 2004-01-22 | Toshiba Corp | 動画像符号化/復号化方法及び装置 |
JP4724351B2 (ja) | 2002-07-15 | 2011-07-13 | 三菱電機株式会社 | 画像符号化装置、画像符号化方法、画像復号装置、画像復号方法、および通信装置 |
KR100774296B1 (ko) * | 2002-07-16 | 2007-11-08 | 삼성전자주식회사 | 움직임 벡터 부호화 방법, 복호화 방법 및 그 장치 |
KR100865034B1 (ko) * | 2002-07-18 | 2008-10-23 | 엘지전자 주식회사 | 모션 벡터 예측 방법 |
US7154952B2 (en) | 2002-07-19 | 2006-12-26 | Microsoft Corporation | Timestamp-independent motion vector prediction for predictive (P) and bidirectionally predictive (B) pictures |
KR100976017B1 (ko) | 2002-08-08 | 2010-08-17 | 파나소닉 주식회사 | 동화상의 부호화 방법 및 복호화 방법 |
KR100506864B1 (ko) | 2002-10-04 | 2005-08-05 | 엘지전자 주식회사 | 모션벡터 결정방법 |
JP2004179687A (ja) | 2002-11-22 | 2004-06-24 | Toshiba Corp | 動画像符号化/復号化方法及び装置 |
JP4373702B2 (ja) | 2003-05-07 | 2009-11-25 | 株式会社エヌ・ティ・ティ・ドコモ | 動画像符号化装置、動画像復号化装置、動画像符号化方法、動画像復号化方法、動画像符号化プログラム及び動画像復号化プログラム |
GB0319697D0 (en) * | 2003-08-21 | 2003-09-24 | Falanx Microsystems As | Method of and apparatus for differential encoding and decoding |
JP2005124001A (ja) | 2003-10-17 | 2005-05-12 | Ntt Docomo Inc | 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、動画像復号装置、動画像復号方法、及び動画像復号プログラム |
US7400681B2 (en) * | 2003-11-28 | 2008-07-15 | Scientific-Atlanta, Inc. | Low-complexity motion vector prediction for video codec with two lists of reference pictures |
US7379608B2 (en) * | 2003-12-04 | 2008-05-27 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung, E.V. | Arithmetic coding for transforming video and picture data units |
JP4591657B2 (ja) | 2003-12-22 | 2010-12-01 | キヤノン株式会社 | 動画像符号化装置及びその制御方法、プログラム |
KR101000926B1 (ko) | 2004-03-11 | 2010-12-13 | 삼성전자주식회사 | 영상의 불연속성을 제거하기 위한 필터 및 필터링 방법 |
US20050207490A1 (en) * | 2004-03-18 | 2005-09-22 | Wang Jason N | Stored picture index for AVC coding |
JP4247680B2 (ja) | 2004-07-07 | 2009-04-02 | ソニー株式会社 | 符号化装置、符号化方法、符号化方法のプログラム及び符号化方法のプログラムを記録した記録媒体 |
CN101023672A (zh) | 2004-07-12 | 2007-08-22 | 诺基亚公司 | 在可调整视频编码中用于运动预测的***和方法 |
JP2006074474A (ja) * | 2004-09-02 | 2006-03-16 | Toshiba Corp | 動画像符号化装置、動画像符号化方法および動画像符号化プログラム |
CN100568974C (zh) | 2004-09-08 | 2009-12-09 | 松下电器产业株式会社 | 动态图像编码方法及动态图像解码方法 |
CN100525454C (zh) | 2004-09-14 | 2009-08-05 | 华为技术有限公司 | 帧间预测模式的选择方法 |
DE602005018796D1 (de) | 2004-09-16 | 2010-02-25 | Thomson Licensing | Verfahren und vorrichtung zur schnelllaufentscheidung für interframes |
JP4835855B2 (ja) | 2004-10-07 | 2011-12-14 | 日本電気株式会社 | 動画像符号化の装置、方法及びプログラムと、動画像復号の装置方法及びプログラム |
JP4032049B2 (ja) * | 2004-10-18 | 2008-01-16 | 株式会社東芝 | 動きベクトル検出方法及びその装置 |
EP1808025B1 (en) * | 2004-11-04 | 2016-03-09 | Thomson Licensing | Method and apparatus for fast mode decision of b-frames in a video encoder |
KR100886191B1 (ko) * | 2004-12-06 | 2009-02-27 | 엘지전자 주식회사 | 영상 블록을 디코딩 하는 방법 |
US7983341B2 (en) * | 2005-02-24 | 2011-07-19 | Ericsson Television Inc. | Statistical content block matching scheme for pre-processing in encoding and transcoding |
JP4504230B2 (ja) * | 2005-03-02 | 2010-07-14 | 株式会社東芝 | 動画像処理装置、動画像処理方法、及び動画像処理プログラム |
JP4502203B2 (ja) | 2005-03-17 | 2010-07-14 | ルネサスエレクトロニクス株式会社 | 画像符号化装置、及び画像復号化装置 |
CN1698964A (zh) | 2005-06-08 | 2005-11-23 | 石家庄欣榕科技开发有限公司 | 振动简摆式双腔颚式破碎机 |
KR100678911B1 (ko) * | 2005-07-21 | 2007-02-05 | 삼성전자주식회사 | 방향적 인트라 예측의 적용을 확장하여 비디오 신호를인코딩하고 디코딩하는 방법 및 장치 |
EP1965589A1 (en) | 2005-11-30 | 2008-09-03 | Kabushiki Kaisha Toshiba | Image encoding/image decoding method and image encoding/image decoding apparatus |
JP4643453B2 (ja) | 2006-01-10 | 2011-03-02 | 株式会社東芝 | 情報処理装置及び情報処理装置の動画像復号方法 |
EP1993292B1 (en) * | 2006-03-09 | 2013-05-15 | NEC Corporation | Dynamic image encoding method and device and program using the same |
US9300956B2 (en) * | 2006-04-20 | 2016-03-29 | Thomson Licensing | Method and apparatus for redundant video encoding |
CN101998120B (zh) | 2006-05-24 | 2014-07-30 | 松下电器产业株式会社 | 图像编码装置、图像编码方法及图像编码集成电路 |
CN100508608C (zh) | 2006-06-02 | 2009-07-01 | 清华大学 | 一种无预测循环的抗误码视频编解码方法 |
EP2030450B1 (en) | 2006-06-19 | 2015-01-07 | LG Electronics Inc. | Method and apparatus for processing a video signal |
US20080002770A1 (en) * | 2006-06-30 | 2008-01-03 | Nokia Corporation | Methods, apparatus, and a computer program product for providing a fast inter mode decision for video encoding in resource constrained devices |
TWI344792B (en) * | 2006-07-12 | 2011-07-01 | Lg Electronics Inc | A method and apparatus for processing a signal |
JP4712643B2 (ja) | 2006-08-17 | 2011-06-29 | 富士通セミコンダクター株式会社 | フレーム間予測処理装置、フレーム間予測方法、画像符号化装置及び画像復号装置 |
AU2006230691B2 (en) | 2006-10-19 | 2010-11-25 | Canon Kabushiki Kaisha | Video Source Coding with Decoder Side Information |
KR101023263B1 (ko) * | 2006-10-30 | 2011-03-21 | 니폰덴신뎅와 가부시키가이샤 | 예측 참조 정보 생성방법, 동영상 부호화 및 복호방법, 그들의 장치 및 그들의 프로그램을 기록한 기억매체 |
US20080101474A1 (en) | 2006-11-01 | 2008-05-01 | Yi-Jen Chiu | Optimizing the storage and reducing the computation of reference picture list processing in video decoding |
US8351513B2 (en) * | 2006-12-19 | 2013-01-08 | Allot Communications Ltd. | Intelligent video signal encoding utilizing regions of interest information |
US8311120B2 (en) * | 2006-12-22 | 2012-11-13 | Qualcomm Incorporated | Coding mode selection using information of other coding modes |
KR101383540B1 (ko) * | 2007-01-03 | 2014-04-09 | 삼성전자주식회사 | 복수의 움직임 벡터 프리딕터들을 사용하여 움직임 벡터를추정하는 방법, 장치, 인코더, 디코더 및 복호화 방법 |
EP2105021A4 (en) | 2007-01-17 | 2011-03-02 | Lg Electronics Inc | METHOD AND APPARATUS FOR PROCESSING A VIDEO SIGNAL |
KR101365574B1 (ko) | 2007-01-29 | 2014-02-20 | 삼성전자주식회사 | 영상 부호화 방법 및 장치, 복호화 방법 및 장치 |
CA2676709C (en) * | 2007-02-23 | 2013-06-25 | Nippon Telegraph And Telephone Corporation | Video encoding method and decoding method, apparatuses therefor, programs therefor, and storage media which store the programs |
CN101669367A (zh) * | 2007-03-02 | 2010-03-10 | Lg电子株式会社 | 用于解码/编码视频信号的方法及设备 |
US8358699B2 (en) * | 2007-04-09 | 2013-01-22 | Cavium, Inc. | Method and system for selection of reference picture and mode decision |
WO2008127597A2 (en) * | 2007-04-12 | 2008-10-23 | Thomson Licensing | Method and apparatus for context dependent merging for skip-direct modes for video encoding and decoding |
EP2149262A4 (en) | 2007-04-25 | 2010-09-01 | Lg Electronics Inc | METHOD AND DEVICE FOR DECODING / CODING A VIDEO SIGNAL |
JP4788649B2 (ja) * | 2007-04-27 | 2011-10-05 | 株式会社日立製作所 | 動画像記録方法及びその装置 |
US8917775B2 (en) | 2007-05-02 | 2014-12-23 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding and decoding multi-view video data |
US8254455B2 (en) | 2007-06-30 | 2012-08-28 | Microsoft Corporation | Computing collocated macroblock information for direct mode macroblocks |
JP4325708B2 (ja) | 2007-07-05 | 2009-09-02 | ソニー株式会社 | データ処理装置、データ処理方法およびデータ処理プログラム、符号化装置、符号化方法および符号化プログラム、ならびに、復号装置、復号方法および復号プログラム |
TWI338869B (en) * | 2007-08-03 | 2011-03-11 | Via Tech Inc | Method and apparatus for block-based digital encoded picture |
CN101785317B (zh) * | 2007-08-15 | 2013-10-16 | 汤姆逊许可证公司 | 使用区域视差向量的多视角编码视频中的运动跳过模式的方法和装置 |
EP2191652B1 (en) * | 2007-09-02 | 2017-02-08 | Lg Electronics Inc. | A method and an apparatus for processing a video signal |
US8023562B2 (en) * | 2007-09-07 | 2011-09-20 | Vanguard Software Solutions, Inc. | Real-time video coding/decoding |
TWI410139B (zh) * | 2007-09-12 | 2013-09-21 | Sony Corp | Image processing apparatus and image processing method |
WO2009041215A1 (ja) * | 2007-09-25 | 2009-04-02 | Sharp Kabushiki Kaisha | 動画像符号化装置及び動画像復号装置 |
EP2210421A4 (en) * | 2007-10-16 | 2013-12-04 | Lg Electronics Inc | METHOD AND APPARATUS FOR PROCESSING A VIDEO SIGNAL |
WO2009115901A2 (en) | 2008-03-19 | 2009-09-24 | Nokia Corporation | Combined motion vector and reference index prediction for video coding |
JP4990927B2 (ja) * | 2008-03-28 | 2012-08-01 | 三星電子株式会社 | 動きベクトル情報の符号化/復号化方法及び装置 |
CN102017627B (zh) | 2008-04-25 | 2013-05-01 | 汤姆森许可贸易公司 | 使用基于深度信息的视差估计的多视点视频编码 |
US8654850B2 (en) * | 2008-05-20 | 2014-02-18 | Panasonic Corporation | Image coding device and image coding method |
KR20090129926A (ko) * | 2008-06-13 | 2009-12-17 | 삼성전자주식회사 | 영상 부호화 방법 및 그 장치, 영상 복호화 방법 및 그 장치 |
CN102090065A (zh) | 2008-07-10 | 2011-06-08 | 三菱电机株式会社 | 图像编码装置、图像解码装置、图像编码方法以及图像解码方法 |
CN102113326A (zh) * | 2008-08-04 | 2011-06-29 | 杜比实验室特许公司 | 重叠块差异估计和补偿体系结构 |
WO2010016534A1 (ja) * | 2008-08-08 | 2010-02-11 | シャープ株式会社 | 動画像符号化装置および動画像復号装置 |
US8213503B2 (en) | 2008-09-05 | 2012-07-03 | Microsoft Corporation | Skip modes for inter-layer residual video coding and decoding |
JP5680283B2 (ja) * | 2008-09-19 | 2015-03-04 | 株式会社Nttドコモ | 動画像符号化装置、動画像復号装置、動画像符号化方法、動画像復号方法、動画像符号化プログラム、及び動画像復号プログラム |
US8724697B2 (en) | 2008-09-26 | 2014-05-13 | Qualcomm Incorporated | Locating motion vectors for video data units |
JP5422168B2 (ja) | 2008-09-29 | 2014-02-19 | 株式会社日立製作所 | 動画像符号化方法および動画像復号化方法 |
WO2010041855A2 (en) | 2008-10-06 | 2010-04-15 | Lg Electronics Inc. | A method and an apparatus for processing a video signal |
KR101279573B1 (ko) * | 2008-10-31 | 2013-06-27 | 에스케이텔레콤 주식회사 | 움직임 벡터 부호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치 |
WO2010064396A1 (ja) * | 2008-12-03 | 2010-06-10 | 株式会社日立製作所 | 動画像復号化方法および動画像符号化方法 |
US20110286523A1 (en) * | 2009-01-29 | 2011-11-24 | Anthony Peter Dencher | Method and apparatus for efficient hardware motion estimation |
CA3091657C (en) * | 2009-06-18 | 2023-03-28 | Kabushiki Kaisha Toshiba | Video encoding apparatus, video decoding apparatus and related methods |
WO2010146696A1 (ja) | 2009-06-18 | 2010-12-23 | 株式会社 東芝 | 動画像符号化装置及び動画像復号化装置 |
KR101452859B1 (ko) * | 2009-08-13 | 2014-10-23 | 삼성전자주식회사 | 움직임 벡터를 부호화 및 복호화하는 방법 및 장치 |
US9060176B2 (en) | 2009-10-01 | 2015-06-16 | Ntt Docomo, Inc. | Motion vector prediction in video coding |
KR101522850B1 (ko) | 2010-01-14 | 2015-05-26 | 삼성전자주식회사 | 움직임 벡터를 부호화, 복호화하는 방법 및 장치 |
KR101768207B1 (ko) | 2010-01-19 | 2017-08-16 | 삼성전자주식회사 | 축소된 예측 움직임 벡터의 후보들에 기초해 움직임 벡터를 부호화, 복호화하는 방법 및 장치 |
BR112012019560B1 (pt) * | 2010-02-05 | 2021-08-24 | Telefonaktiebolaget Lm Ericsson | Método para gerenciar candidatos a vetor de movimento predito, e, aparelhos de codificação e de decodificação de vídeo |
US8681873B2 (en) * | 2010-02-19 | 2014-03-25 | Skype | Data compression for video |
US9313526B2 (en) | 2010-02-19 | 2016-04-12 | Skype | Data compression for video |
US9078009B2 (en) * | 2010-02-19 | 2015-07-07 | Skype | Data compression for video utilizing non-translational motion information |
WO2011125211A1 (ja) | 2010-04-08 | 2011-10-13 | 株式会社 東芝 | 画像符号化方法及び画像復号化方法 |
KR101497845B1 (ko) | 2010-07-06 | 2015-03-02 | 노키아 코포레이션 | 가변장 부호화를 위해 신택스 요소 및 코드워드 사이의 매핑을 결정하는 방법 및 장치 |
US20130107962A1 (en) * | 2011-10-26 | 2013-05-02 | Intellectual Discovery Co., Ltd. | Scalable video coding method and apparatus using inter prediction mode |
JP5444497B2 (ja) | 2013-09-11 | 2014-03-19 | 株式会社東芝 | 画像符号化方法及び画像復号化方法 |
JP5479648B1 (ja) | 2013-12-10 | 2014-04-23 | 株式会社東芝 | 画像符号化方法及び画像復号化方法 |
JP2014131293A (ja) | 2014-01-23 | 2014-07-10 | Toshiba Corp | 画像符号化方法及び画像復号化方法 |
JP2014131295A (ja) | 2014-01-23 | 2014-07-10 | Toshiba Corp | 画像符号化方法及び画像復号化方法 |
JP5571262B2 (ja) | 2014-01-23 | 2014-08-13 | 株式会社東芝 | 画像符号化方法及び画像復号化方法 |
WO2016008161A1 (en) | 2014-07-18 | 2016-01-21 | Mediatek Singapore Pte. Ltd. | Temporal derived bi-directional motion vector predictor |
US10187655B2 (en) * | 2015-09-30 | 2019-01-22 | Apple Inc. | Memory-to-memory low resolution motion estimation systems and methods |
US10721489B2 (en) * | 2016-09-06 | 2020-07-21 | Qualcomm Incorporated | Geometry-based priority for the construction of candidate lists |
-
2010
- 2010-04-08 WO PCT/JP2010/056400 patent/WO2011125211A1/ja active Application Filing
- 2010-04-08 CN CN201080066017.7A patent/CN102823248B/zh active Active
- 2010-04-08 JP JP2012509253A patent/JP5368631B2/ja active Active
- 2010-11-26 WO PCT/JP2010/071178 patent/WO2011125256A1/ja active Application Filing
- 2010-11-26 SG SG10201502340WA patent/SG10201502340WA/en unknown
- 2010-11-26 CN CN201310142233.0A patent/CN103227923B/zh active Active
- 2010-11-26 SG SG2012075347A patent/SG184542A1/en unknown
- 2010-11-26 CN CN201080066019.6A patent/CN102835109B/zh active Active
- 2010-11-26 EP EP18152576.7A patent/EP3340627A1/en not_active Ceased
- 2010-11-26 EP EP10849496.4A patent/EP2557790A4/en not_active Ceased
-
2012
- 2012-10-08 US US13/647,140 patent/US10009623B2/en active Active
- 2012-10-08 US US13/647,124 patent/US20130028328A1/en not_active Abandoned
-
2014
- 2014-02-26 US US14/190,929 patent/US9538181B2/en active Active
- 2014-02-26 US US14/190,779 patent/US10560717B2/en active Active
- 2014-02-26 US US14/190,909 patent/US9794587B2/en active Active
-
2016
- 2016-11-14 US US15/350,265 patent/US9906812B2/en active Active
-
2017
- 2017-09-07 US US15/698,336 patent/US10715828B2/en active Active
- 2017-09-08 US US15/698,934 patent/US10091525B2/en active Active
-
2018
- 2018-08-30 US US16/117,609 patent/US10542281B2/en active Active
-
2019
- 2019-01-17 US US16/250,430 patent/US10779001B2/en active Active
-
2020
- 2020-06-02 US US16/890,734 patent/US10999597B2/en active Active
- 2020-07-27 US US16/939,479 patent/US11265574B2/en active Active
-
2021
- 2021-03-31 US US17/219,065 patent/US20210218986A1/en active Pending
-
2022
- 2022-01-11 US US17/573,020 patent/US11889107B2/en active Active
-
2023
- 2023-12-12 US US18/536,396 patent/US20240107057A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004040785A (ja) * | 2002-06-03 | 2004-02-05 | Microsoft Corp | 双方向予測(b)ピクチャの時空間予測および複数ピクチャ参照動き補償の動きベクトル予測 |
JP2004104159A (ja) * | 2002-07-03 | 2004-04-02 | Ntt Docomo Inc | 可変長符号生成装置、可変長復号装置、可変長符号生成方法、及び可変長復号方法 |
JP2004165703A (ja) * | 2002-09-20 | 2004-06-10 | Toshiba Corp | 動画像符号化方法及び復号化方法 |
JP2010010950A (ja) * | 2008-06-25 | 2010-01-14 | Toshiba Corp | 画像符号化/復号化方法及び装置 |
Non-Patent Citations (1)
Title |
---|
TAKESHI CHUJOH: "Description of video coding technology proposal by TOSHIBA, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11", JCTVC-A117R1, 15 April 2010 (2010-04-15), pages 4 - 6 * |
Cited By (43)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10715828B2 (en) | 2010-04-08 | 2020-07-14 | Kabushiki Kaisha Toshiba | Image encoding method and image decoding method |
US10009623B2 (en) | 2010-04-08 | 2018-06-26 | Kabushiki Kaisha Toshiba | Image encoding method and image decoding method |
US10091525B2 (en) | 2010-04-08 | 2018-10-02 | Kabushiki Kaisha Toshiba | Image encoding method and image decoding method |
US11265574B2 (en) | 2010-04-08 | 2022-03-01 | Kabushiki Kaisha Toshiba | Image encoding method and image decoding method |
US10999597B2 (en) | 2010-04-08 | 2021-05-04 | Kabushiki Kaisha Toshiba | Image encoding method and image decoding method |
US10779001B2 (en) | 2010-04-08 | 2020-09-15 | Kabushiki Kaisha Toshiba | Image encoding method and image decoding method |
US10560717B2 (en) | 2010-04-08 | 2020-02-11 | Kabushiki Kaisha Toshiba | Image encoding method and image decoding method |
US10542281B2 (en) | 2010-04-08 | 2020-01-21 | Kabushiki Kaisha Toshiba | Image encoding method and image decoding method |
US11889107B2 (en) | 2010-04-08 | 2024-01-30 | Kabushiki Kaisha Toshiba | Image encoding method and image decoding method |
JP2013528992A (ja) * | 2010-04-22 | 2013-07-11 | 聯發科技股▲ふん▼有限公司 | 動き予測方法 |
JP2014103698A (ja) * | 2010-04-22 | 2014-06-05 | Mediatek Inc | 動きベクトル予測方法 |
US9503736B2 (en) | 2010-07-09 | 2016-11-22 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding video by using block merging, and method and apparatus for decoding video by using block merging |
JP2015100137A (ja) * | 2010-07-09 | 2015-05-28 | サムスン エレクトロニクス カンパニー リミテッド | ビデオ復号化方法及びビデオ復号化装置 |
US9635367B2 (en) | 2010-07-09 | 2017-04-25 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding video by using block merging, and method and apparatus for decoding video by using block merging |
JP2013530658A (ja) * | 2010-07-09 | 2013-07-25 | サムスン エレクトロニクス カンパニー リミテッド | ブロック併合を利用したビデオ符号化方法及びその装置、ブロック併合を利用したビデオ復号化方法及びその装置 |
US9554138B2 (en) | 2010-07-09 | 2017-01-24 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding video by using block merging, and method and apparatus for decoding video by using block merging |
JP2015100136A (ja) * | 2010-07-09 | 2015-05-28 | サムスン エレクトロニクス カンパニー リミテッド | ビデオ復号化方法及びビデオ復号化装置 |
JP2015136146A (ja) * | 2010-07-09 | 2015-07-27 | サムスン エレクトロニクス カンパニー リミテッド | ビデオ復号化方法及びビデオ復号化装置 |
JP2015136145A (ja) * | 2010-07-09 | 2015-07-27 | サムスン エレクトロニクス カンパニー リミテッド | ビデオ復号化方法及びビデオ復号化装置 |
US10212427B2 (en) | 2010-07-09 | 2019-02-19 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding video by using block merging, and method and apparatus for decoding video by using block merging |
US9800872B2 (en) | 2010-07-09 | 2017-10-24 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding video by using block merging, and method and apparatus for decoding video by using block merging |
JP2014209762A (ja) * | 2010-12-17 | 2014-11-06 | エレクトロニクス アンド テレコミュニケーションズ リサーチ インスチチュートElectronics And Telecommunicationsresearch Institute | 映像復号化方法 |
US11206424B2 (en) | 2010-12-17 | 2021-12-21 | Electronics And Telecommunications Research Institute | Method and apparatus for inter prediction using motion vector candidate based on temporal motion prediction |
JP2020174362A (ja) * | 2010-12-17 | 2020-10-22 | エレクトロニクス アンド テレコミュニケーションズ リサーチ インスチチュートElectronics And Telecommunications Research Institute | 映像復号化方法 |
JP2019110595A (ja) * | 2010-12-17 | 2019-07-04 | エレクトロニクス アンド テレコミュニケーションズ リサーチ インスチチュートElectronics And Telecommunications Research Institute | 映像復号化方法 |
US10397599B2 (en) | 2010-12-17 | 2019-08-27 | Electronics And Telecommunications Research Institute | Method and apparatus for inter prediction using motion vector candidate based on temporal motion prediction |
JP2018038050A (ja) * | 2010-12-17 | 2018-03-08 | エレクトロニクス アンド テレコミュニケーションズ リサーチ インスチチュートElectronics And Telecommunications Research Institute | 映像復号化方法 |
JP2016158296A (ja) * | 2010-12-17 | 2016-09-01 | エレクトロニクス アンド テレコミュニケーションズ リサーチ インスチチュートElectronics And Telecommunications Research Institute | 映像復号化方法 |
JP7210687B2 (ja) | 2010-12-17 | 2023-01-23 | エレクトロニクス アンド テレコミュニケーションズ リサーチ インスチチュート | 映像復号化方法 |
JP2022040120A (ja) * | 2010-12-17 | 2022-03-10 | エレクトロニクス アンド テレコミュニケーションズ リサーチ インスチチュート | 映像復号化方法 |
JP6992128B2 (ja) | 2010-12-17 | 2022-01-13 | エレクトロニクス アンド テレコミュニケーションズ リサーチ インスチチュート | 映像復号化方法 |
JP7448694B2 (ja) | 2010-12-17 | 2024-03-12 | エレクトロニクス アンド テレコミュニケーションズ リサーチ インスチチュート | 映像復号化方法 |
US11743486B2 (en) | 2010-12-17 | 2023-08-29 | Electronics And Telecommunications Research Institute | Method and apparatus for inter prediction using motion vector candidate based on temporal motion prediction |
US10708614B2 (en) | 2010-12-17 | 2020-07-07 | Electronics And Telecommunications Research Institute | Method and apparatus for inter prediction using motion vector candidate based on temporal motion prediction |
JP2023026683A (ja) * | 2010-12-17 | 2023-02-24 | エレクトロニクス アンド テレコミュニケーションズ リサーチ インスチチュート | 映像復号化方法 |
JP2012209911A (ja) * | 2010-12-20 | 2012-10-25 | Sony Corp | 画像処理装置および方法 |
JP2014511618A (ja) * | 2011-02-24 | 2014-05-15 | クゥアルコム・インコーポレイテッド | 動き予測ビデオブロックの階層 |
US10171813B2 (en) | 2011-02-24 | 2019-01-01 | Qualcomm Incorporated | Hierarchy of motion prediction video blocks |
US10659791B2 (en) | 2011-02-24 | 2020-05-19 | Qualcomm Incorporated | Hierarchy of motion prediction video blocks |
JP2018033187A (ja) * | 2012-02-07 | 2018-03-01 | パナソニックIpマネジメント株式会社 | 画像処理装置および画像処理方法 |
CN107257482A (zh) * | 2012-02-07 | 2017-10-17 | 松下知识产权经营株式会社 | 图像处理装置、图像处理方法、程序以及集成电路 |
JP2017200215A (ja) * | 2017-06-16 | 2017-11-02 | 株式会社東芝 | 動画像符号化方法及び動画像復号化方法 |
JP2018085751A (ja) * | 2018-01-05 | 2018-05-31 | 株式会社東芝 | 動画像符号化方法及び動画像復号化方法 |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5368631B2 (ja) | 画像符号化方法、装置、及びプログラム | |
CN113039787A (zh) | 解码器侧运动矢量细化 | |
CN113678452A (zh) | 对解码器侧运动矢量细化的约束 | |
JP5479648B1 (ja) | 画像符号化方法及び画像復号化方法 | |
JP5444497B2 (ja) | 画像符号化方法及び画像復号化方法 | |
JP5571262B2 (ja) | 画像符号化方法及び画像復号化方法 | |
JP6609004B2 (ja) | 画像符号化方法及び画像復号化方法 | |
JP6367452B2 (ja) | 画像符号化方法及び画像復号化方法 | |
JP6370977B2 (ja) | 画像符号化方法及び画像復号化方法 | |
JP6980889B2 (ja) | 画像符号化方法及び画像復号化方法 | |
JP6271694B2 (ja) | 画像符号化方法及び画像復号化方法 | |
JP6961781B2 (ja) | 画像符号化方法及び画像復号化方法 | |
JP6795666B2 (ja) | 画像符号化方法及び画像復号化方法 | |
JP7399332B2 (ja) | 画像符号化方法及び画像復号化方法 | |
JP6196341B2 (ja) | 画像符号化方法及び画像復号化方法 | |
JP5659314B1 (ja) | 画像符号化方法及び画像復号化方法 | |
JP5509398B1 (ja) | 画像符号化方法及び画像復号化方法 | |
JP5571229B2 (ja) | 画像符号化方法及び画像復号化方法 | |
JP2014131293A (ja) | 画像符号化方法及び画像復号化方法 | |
JP2014131295A (ja) | 画像符号化方法及び画像復号化方法 | |
WO2012008040A1 (ja) | 画像符号化方法及び画像復号化方法 | |
JP5367161B2 (ja) | 画像符号化方法、装置、及びプログラム | |
JP2015053729A (ja) | 画像符号化方法及び画像復号化方法 | |
JP5649701B2 (ja) | 画像復号化方法、装置、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 201080066017.7 Country of ref document: CN |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 10849454 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2012509253 Country of ref document: JP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 10849454 Country of ref document: EP Kind code of ref document: A1 |