WO2013077305A1 - Image decoding device, image decoding method, image coding device - Google Patents
Image decoding device, image decoding method, image coding device Download PDFInfo
- Publication number
- WO2013077305A1 WO2013077305A1 PCT/JP2012/080020 JP2012080020W WO2013077305A1 WO 2013077305 A1 WO2013077305 A1 WO 2013077305A1 JP 2012080020 W JP2012080020 W JP 2012080020W WO 2013077305 A1 WO2013077305 A1 WO 2013077305A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- image
- macroblock
- prediction
- unit
- encoding
- 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/597—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/20—Image signal generators
- H04N13/204—Image signal generators using stereoscopic image cameras
- H04N13/239—Image signal generators using stereoscopic image cameras using two 2D image sensors having a relative position equal to or related to the interocular distance
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/161—Encoding, multiplexing or demultiplexing different image signal components
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/20—Image signal generators
- H04N13/271—Image signal generators wherein the generated image signals comprise depth maps or disparity maps
Definitions
- the present invention relates to an image encoding method, an image encoding device, an image decoding method, an image decoding device, and a program thereof.
- Patent Literature 1 when multi-view video is encoded, a global difference indicating a global difference between an encoding target image and an image of a viewpoint different from the encoding target image is used instead of such a prediction vector.
- a technique for predicting a motion vector of a current block based on a vector and using it as a prediction vector is disclosed.
- Patent Document 1 also discloses that encoding and decoding are performed in a skipped macroblock mode using this prediction vector.
- Non-Patent Document 1 and Patent Document 1 when the skipped macroblock mode is applied to an image having a high spatial correlation such as a depth map in which the encoding target image represents depth information, the skipped macroblock mode is applied. There is a problem that high coding efficiency may not be obtained because the macroblock mode is a method mainly based on correlation in the time direction.
- the present invention has been made in view of the above situation, and an object of the present invention is to provide an image coding method and image code capable of obtaining excellent coding efficiency even in an image having a high spatial correlation.
- An image decoding apparatus, an image decoding method, an image decoding apparatus, and a program thereof are provided.
- the present invention has been made to solve the above-described problems, and one aspect of the present invention is an image encoding method for encoding each macroblock obtained by dividing an image, and includes a macro to be encoded.
- the above-described image encoding method wherein the prediction image is generated by the generation step for each of the encoding target macroblocks based on the adjacent macroblocks. It has the step which selects whether it produces
- the generation step generates the prediction image by intra prediction based on the prediction mode and the pixel value.
- the generation step includes: an adjacent direction of the adjacent macroblock to the macroblock to be encoded;
- the step of determining the prediction mode of the intra prediction is determined by a combination with the prediction mode of the adjacent macroblock.
- another aspect of the present invention is an image encoding apparatus that encodes each macroblock obtained by dividing an image, and prediction when a macroblock adjacent to a macroblock to be encoded is intra-predicted
- a prediction image generation unit that generates a prediction image of the encoding target macroblock based on the mode and the pixel value of the adjacent macroblock is provided.
- an image decoding method for decoding an image encoded for each macroblock obtained by dividing an image, wherein a macroblock adjacent to a macroblock to be decoded is intra-predicted. And a generation step of generating a prediction image of the macroblock to be decoded based on a prediction mode and a pixel value of the adjacent macroblock.
- an image decoding apparatus for decoding an image encoded for each macroblock obtained by dividing an image, and intra prediction is performed on a macroblock adjacent to a decoding target macroblock.
- a prediction image generation unit that generates a prediction image of the macroblock to be decoded based on the prediction mode and the pixel value of the adjacent macroblock.
- prediction is performed when a computer of an image encoding apparatus that encodes each macroblock obtained by dividing an image performs intra prediction on a macroblock adjacent to the macroblock to be encoded.
- This is a program for operating as a prediction image generation unit that generates a prediction image of the encoding target macroblock based on the mode and the pixel value of the adjacent macroblock.
- a computer of an image decoding apparatus that decodes an image encoded for each macroblock obtained by dividing an image, and intra-predicts a macroblock adjacent to the macroblock to be decoded.
- This is a program for operating as a prediction image generation unit that generates a prediction image of the macroblock to be decoded based on the prediction mode and the pixel value of the adjacent macroblock.
- FIG. 1 is a schematic diagram illustrating a configuration example of a three-dimensional image capturing system including an image encoding device according to a first embodiment of the present invention. It is the schematic which shows the structural example of the image coding apparatus which concerns on the 1st Embodiment of this invention. It is the schematic which shows the prediction mode of intra prediction. It is the schematic which shows the structural example of the skipped macroblock part which concerns on the 1st Embodiment of this invention. It is a conceptual diagram which shows an example of the encoding by the skipped macroblock mode which concerns on the 1st Embodiment of this invention. It is a flowchart for demonstrating an example of the image coding process which the image coding apparatus which concerns on the 1st Embodiment of this invention performs.
- FIG. It is a flowchart following FIG. It is a flowchart for demonstrating an example of the skipped macroblock prediction image macroblock production
- the depth map is encoded or decoded in the skipped macroblock mode for each macroblock which is a partial area constituting the depth map including the depth value for each pixel.
- encoding / decoding is not limited to skipped macroblock mode for all macroblocks.
- Each embodiment has a main feature in generating a predicted image. More specifically, in the skipped macroblock mode in each embodiment, when a macroblock is predictively encoded, the prediction image generation method is changed according to the encoding mode of an adjacent block.
- FIG. 1 is a schematic diagram illustrating a configuration example of a three-dimensional image capturing system including an image encoding device according to the first embodiment of the present invention.
- a three-dimensional image capturing system 10 illustrated in FIG. 1 includes an image capturing device 3a, an image capturing device 3b, an image pre-processing unit 2, an image encoding device 1, and a texture image encoding device 4.
- the photographing device 3a and the photographing device 3b are installed at different positions (viewpoints), and images of subjects included in the same field of view (photographing space) are obtained at predetermined time intervals (for example, one every 1/30 seconds). Times) to shoot.
- the imaging device 3 a and the imaging device 3 b define an image signal indicating the captured image as a texture image (sometimes referred to as “two-dimensional image”), and output each texture image to the image preprocessing unit 2. To do.
- This image signal is a signal value (pixel value, luminance value) representing the color or shade of the subject or background included in the subject space, and is an image signal composed of signal values for each pixel arranged on a two-dimensional plane. is there.
- This image signal is an image signal having a signal value representing a color space for each pixel, for example, an RGB signal.
- the RGB signal includes an R signal that represents the luminance value of the red component, a G signal that represents the luminance value of the green component, and a B signal that represents the luminance value of the blue component.
- the reference image is also a signal value (luminance value) representing the color and shading of the subject and background included in the subject space, and is a general two-dimensional signal composed of signal values for each pixel arranged on the two-dimensional plane. It is an image signal.
- the image preprocessing unit 2 uses the texture image input from the imaging device 3a as a reference image, calculates the parallax between the reference image and the texture image input from the other imaging device 3b for each pixel, and the imaging device A depth map corresponding to the texture image input from 3a is generated.
- the depth map (also referred to as depth map, “depth image”, or “distance image”) is a signal value (“depth value”) corresponding to the distance from the viewpoint (shooting device, etc.) of the subject or background included in the subject space. ”,“ Depth value ”,“ depth ”, etc.), and is an image signal composed of signal values (pixel values) for each pixel arranged in a two-dimensional plane.
- the pixels constituting the depth map correspond to the pixels constituting the reference image. Therefore, the depth map is a clue for representing the three-dimensional object space by using the reference image, which is a reference image signal obtained by projecting the object space onto the two-dimensional plane.
- the image preprocessing unit 2 uses the texture image input from the other image capturing device 3b as a reference image, and generates a depth map of the image capturing device 3a from the parallax with the texture image input from the image capturing device 3a. Similarly, a depth map corresponding to the texture image of the photographing apparatus 3b is generated.
- the image preprocessing unit 2 outputs the texture images of the image capturing device 3a and the image capturing device 3b to the texture image encoding device 4 alternately for each frame.
- the image preprocessing unit 2 outputs a depth map corresponding to the texture image to the image encoding device 1. That is, the image preprocessing unit 2 outputs a depth map corresponding to the texture image to the image encoding device 1 at the timing when the texture image is output to the texture image encoding device 4.
- the texture image encoding device 4 converts the input texture image into, for example, ITU-T H.
- a texture image code is generated by encoding using an encoding method corresponding to a decoding method defined in the H.264 standard.
- the number of imaging apparatuses provided in the image capturing system is described as two. However, the number is not limited to this, and may be three or more.
- the depth map and the texture image respectively input to the image encoding device 1 and the texture image encoding device may not be based on images captured by the imaging device 3a and the imaging device 3b, for example, computer graphics These images may be pre-synthesized.
- FIG. 2 is a schematic diagram illustrating a configuration example of the image encoding device 1 according to the present embodiment.
- the image encoding apparatus 1 illustrated in FIG. 2 includes a depth map input unit 101, a reference image memory 102, an intra prediction unit 103, an inter prediction unit 104, a skipped macroblock unit 105, a coding mode determination unit 106, and a motion vector memory.
- an encoding mode memory 108 a switch 109, a subtraction unit 110, a DCT transform / quantization unit 111, an inverse quantization / inverse DCT transform unit 112, an addition unit 113, and an information source coding unit 114.
- the depth map input unit 101 receives the depth map from the image preprocessing unit 2 for each frame, and extracts a macro block (hereinafter, depth macro block) from the input depth map.
- the depth map input unit 101 outputs the extracted depth macroblock to the encoding mode determination unit 106, the intra prediction unit 103, the inter prediction unit 104, and the subtraction unit 110.
- the depth macroblock includes a predetermined number of pixels, for example, 16 pixels in the horizontal direction ⁇ 16 pixels in the vertical direction.
- the depth map input unit 101 shifts the position of the macro block from which the depth macro block is extracted in the raster scan order so that the blocks do not overlap. That is, the depth map input unit 101 sequentially moves the block from which the depth macroblock is extracted from the upper left end of the frame to the right by the number of pixels in the horizontal direction of the block. After the right end of the macroblock from which the depth macroblock is extracted reaches the right end of the frame, the depth map input unit 101 moves the macroblock downward by the number of pixels in the vertical direction of the macroblock and to the left end of the frame. The depth map input unit 101 moves the macroblock from which the depth macroblock is extracted in this way until it reaches the lower right of the frame.
- the extracted depth macroblock may be referred to as an encoding target macroblock or a target macroblock.
- the reference image memory 102 arranges the macro block of the reference image (hereinafter referred to as reference image macro block) input from the adding unit 113 at the position of the encoding target macro block in the corresponding frame and stores it as a reference image.
- This reference image macroblock is a macroblock obtained by encoding and decoding a depth macroblock input in the past.
- An image signal of a frame configured by arranging reference image macroblocks in this way is called a reference image.
- the reference image memory 102 sequentially stores a reference number of frames set in advance from the present, for example, 15 frames of past reference images. When the number of stored frames exceeds the preset number of frames, for example, When the 16th frame reference image is input, all the previous frame reference images are deleted.
- the intra prediction unit 103 receives the target macroblock from the depth map input unit 101, and is a macroblock adjacent to the target macroblock in the same frame as the target macroblock from the reference image memory 102, and performs processing related to encoding. Read the reference image macroblock. Next, the intra prediction unit 103 performs intra-frame prediction based on the read reference image macroblock, and generates an intra predicted image macroblock.
- a specific intra-frame prediction method for example, ITU-T H. There is an intra-frame prediction method described in the H.264 standard.
- FIG. 3 shows a prediction mode (prediction direction) for a luminance signal in intra prediction defined in Non-Patent Document 1.
- the target macroblock is divided into blocks of 4 ⁇ 4 or 8 ⁇ 8 and intraframe prediction is performed, nine prediction modes from 0 to 8 are provided as shown in FIG.
- the target macroblock is not divided and the size is 16 ⁇ 16
- four prediction modes from 0 to 3 are determined as shown in FIG. 3B.
- Intra_DC in FIGS. 3A and 3B is a method of predicting a target macroblock or subblock with an average value of pixels adjacent on the left and above the target macroblock or subblock.
- Intra_Plane in FIG. 3B is a method of interpolating pixel values in the diagonal direction between pixels adjacent to the target macroblock or sub-block and pixels adjacent to the left to obtain predicted values.
- the intra prediction unit 103 regards the depth value of the read reference image macroblock as a luminance value, and performs the above-described intraframe prediction. In addition, the intra prediction unit 103 divides the target macroblock into 16 patterns of 4 ⁇ 4 blocks, a pattern that is divided into 8 ⁇ 8 blocks, and a pattern that is not divided (block size is 16 ⁇ 16). A prediction mode in which an intra prediction image macroblock that is most similar to the target macroblock is generated is selected. As an index of whether the target macroblock and the intra predicted image macroblock are similar, for example, there is SAD (SumSof Absolute Difference, sum of absolute differences).
- SAD SudSof Absolute Difference, sum of absolute differences
- the intra prediction unit 103 compares the SADs of the intra predicted image macroblocks of each pattern, and outputs the intra predicted image macroblock of the pattern having the smallest SAD to the coding mode determination unit 106.
- this invention is not limited by the specific degree calculation method of a specific object macroblock and an intra prediction image macroblock.
- the inter prediction unit 104 divides the target macroblock input from the depth map input unit 101 into one or a plurality of partitions, and sequentially detects a motion vector for each partition.
- the division into one partition means that the division is not substantially performed.
- the inter prediction unit 104 first reads a reference image block constituting a reference image from the reference image memory 102.
- the size (number of pixels) of the reference image block read by the inter prediction unit 104 is the same as the size of the partition to be processed (hereinafter referred to as the target partition) among the one or more partitions.
- the inter prediction unit 104 performs block matching between the target partition in the depth macroblock input from the depth map input unit 101 and the reference image block.
- the position where the reference image block is read from the frame of the past reference image stored in the reference image memory 102 is moved pixel by pixel in the horizontal direction or the vertical direction within a preset range from the position of the target partition.
- the inter prediction unit 104 detects a difference between the coordinates of the target partition and the coordinates of the reference image block most similar to the target partition as a vector.
- the inter prediction unit 104 uses an index value indicating the similarity between the signal value for each pixel included in the target partition and the signal value for each pixel included in the reference image block, for example, SAD (Sum of Absolute Difference, difference (Absolute value sum) is calculated.
- the inter prediction unit 104 determines the reference image block that minimizes the index value as the reference image block that is most similar to the target partition.
- the inter prediction unit 104 calculates a motion vector based on the coordinates of the target partition and the coordinates of the most similar reference image block.
- the inter prediction unit 104 selects a partition size that minimizes the coding cost among the sizes of the partitions constituting the target macroblock. For example, the inter prediction unit 104 performs the following processing on the sizes of all partitions. First, the inter prediction unit 104 calculates the sum of the absolute value of the calculated horizontal component of the motion vector, the absolute value of the vertical component thereof, and the index value between the target partition and the reference block most similar to the target partition as the cost value. To do. The above processing is performed on all partitions constituting the target macroblock to calculate the cost value, and the sum of the cost values is obtained for each partition size. Then, the partition size with the smallest sum of cost values is selected from among the partition sizes.
- an RD cost is used as another partition size selection method.
- the encoding cost J is calculated from the following equation.
- J D + ⁇ ⁇ R
- D is a difference between the target macroblock and an image obtained by encoding and decoding the target macroblock
- R is an expected generated code amount.
- the coefficient ⁇ may be a constant or a function of a quantization parameter that controls the roughness of quantization in the DCT transform / quantization unit 111.
- the present invention is not limited to a specific encoding cost calculation method.
- the inter prediction unit 104 performs motion compensation based on the size of the partition having the minimum cost value and the motion vector calculated for each partition of the size, and generates an inter predicted image macroblock. Specifically, first, the inter prediction unit 104 reads a reference image block at coordinates indicated by motion vectors for each partition from the reference image memory 102. The inter prediction unit 104 generates an inter predicted image macroblock by performing processing for matching the coordinates of the read reference image block with the coordinates of the partition for each partition. The inter prediction unit 104 outputs the generated inter prediction image macroblock to the encoding mode determination unit 106, and outputs the generated motion vector to the information source encoding unit 114 and the switch 109.
- the skipped macroblock unit 105 reads the encoding mode signal of the block adjacent to the target macroblock from the encoding mode memory 108. Similarly, the motion vector of the block adjacent to the target macroblock is read from the motion vector memory 107, and the pixel value of the reference image block adjacent to the target macroblock is read from the reference image memory 102.
- the skipped macroblock unit 105 generates a skip prediction image macroblock based on the coding mode signal, the motion vector, and the pixel value of the block adjacent to the target macroblock.
- the skipped macroblock unit 105 outputs the skip predicted image macroblock to the encoding mode determination unit 106. Further, the skipped macroblock unit 105 may generate a prediction vector from the motion vectors of adjacent blocks. When the skipped macroblock unit 105 generates a prediction vector, the skipped macroblock unit 105 outputs the generated prediction vector to the switch 109. Details of the processing will be described later.
- the coding mode determination unit 106 receives the target macroblock from the depth map input unit 101, the intra prediction image macroblock from the intra prediction unit 103, the inter prediction image macroblock from the inter prediction unit 104, and the skipped macroblock unit 105. Each skip prediction image macroblock is received as an input.
- the coding mode determination unit 106 determines a coding mode with the highest coding efficiency based on the three input predicted image macroblocks. Specifically, for example, the encoding mode determination unit 106 calculates the square error of the signal value for each pixel for each predicted image macroblock and the target macroblock. Then, the encoding mode determination unit 106 sets the sum of the square errors in each prediction image macroblock as the encoding cost of the prediction image macroblock. The encoding mode determination unit 106 calculates the encoding cost for all prediction image macroblocks, and sets the encoding mode corresponding to the prediction image macroblock with the lowest encoding cost to the encoding mode with the highest encoding efficiency. Choose as. As another determination method, for example, there is a method using RD cost. The present invention is not limited to a specific encoding cost calculation method.
- the coding mode determination unit 106 outputs a coding mode signal indicating a coding mode with the highest coding efficiency to the information source coding unit 114, the coding mode memory 108, and the switch 109.
- the encoding mode determination unit 106 outputs the predicted image macroblock corresponding to the encoding mode with the highest encoding efficiency to the subtraction unit 110 and the addition unit 113.
- the coding mode that can be indicated by the coding mode signal includes a skipped macroblock mode indicating that the skipped macroblock unit 105 has generated a predicted image macroblock.
- the motion vector memory 107 regards the motion vector or the prediction vector input from the switch 109 as a motion vector, and stores them in the order of the encoded macro blocks.
- the encoding mode memory 108 stores the encoding mode signal indicating the encoding mode selected by the encoding mode determination unit 106 input from the encoding mode determination unit 106 in the order of the encoded macro blocks.
- the encoding mode signal indicates the encoding mode selected by the encoding mode determination unit 106 and also includes information indicating what partition the target macroblock is divided into. In this embodiment, the size of the partition is 16 pixels horizontally ⁇ 16 pixels vertically, 16 pixels ⁇ 8 pixels, 8 pixels ⁇ 16 pixels, 8 pixels ⁇ 8 pixels, 8 pixels ⁇ 4 pixels, 4 pixels ⁇ 8.
- the present invention is not limited to a specific partition size.
- the encoding mode signal indicates intra prediction as the encoding mode and also includes information indicating the prediction mode of intra prediction.
- the switch 109 receives an encoding mode signal corresponding to the encoding mode selected from the encoding mode determination unit 106, receives a motion vector from the inter prediction unit 104, and receives a prediction vector from the skipped macroblock unit.
- the switch 109 outputs the received motion vector to the motion vector memory 107 when the received encoding mode signal indicates inter prediction.
- the switch 109 outputs the received prediction vector to the motion vector memory 107 when the received coding mode signal indicates the skipped macroblock mode.
- the subtracting unit 110 uses the intra-predicted image macroblock, the inter-predicted image macroblock input from the coding mode determining unit 106, or the signal value of each pixel included in the depth macroblock input from the depth map input unit 101, or A residual signal macroblock is calculated by subtracting the signal value of each pixel included in the skip predicted image macroblock.
- the subtraction unit 110 outputs the calculated residual signal macroblock to the DCT transform / quantization unit 111.
- the DCT transform / quantization unit 111 performs a two-dimensional DCT (Discrete Cosine ⁇ Transform) on the residual signal macroblock input from the subtraction unit 110 to calculate a DCT coefficient as a frequency domain signal. Coefficients are quantized to generate quantized DCT coefficients.
- the quantization is a process of converting an input DCT coefficient into one of discrete representative values.
- the DCT transform / quantization unit 111 outputs the generated quantized DCT coefficient to the inverse quantization / inverse DCT transform unit 112 and the information source coding unit 114.
- the inverse quantization / inverse DCT transform unit 112 performs de-quantization on the quantized DCT coefficient input from the DCT transform / quantization unit 111 to generate an inverse quantized DCT coefficient, and then performs inverse quantization.
- Two-dimensional inverse DCT inverse Discrete Cosine Transform
- the inverse quantization / inverse DCT transform unit 112 outputs the generated decoded residual signal macroblock to the adder 113.
- the addition unit 113 receives the signal value of each pixel included in the intra prediction image macroblock, the inter prediction image macroblock, or the skip prediction image macroblock input from the coding mode determination unit 106, and inverse quantization / inverse DCT transform The signal value of each pixel included in the decoded residual signal macroblock input from the unit 112 is added to generate a reference image macroblock.
- the adding unit 113 stores the generated reference image macroblock in the reference image memory 102.
- the information source encoding unit 114 includes an encoding mode signal input from the encoding mode determination unit, a quantized DCT coefficient input from the DCT transform / quantization unit 111, and a motion vector input from the inter prediction unit 104. Are encoded to generate an encoded stream.
- the information source encoding unit 114 performs, for example, variable length encoding as encoding for generating an encoded stream with a smaller amount of information (number of bits) than input information.
- the variable-length coding is a coding method that compresses the amount of information by converting shorter codes for information with higher appearance frequency into longer codes for information with lower appearance frequency in input information.
- the information source encoding unit 114 outputs the generated encoded stream to the outside of the image encoding device 1.
- FIG. 4 is a schematic diagram illustrating a configuration example of the skipped macroblock unit 105 according to the present embodiment.
- the skipped macroblock unit 105 illustrated in FIG. 4 includes a prediction image generation method selection unit 1051, a prediction vector generation unit 1052, a prediction image macroblock generation unit 1053, a prediction mode determination unit 1054, and an intra prediction image macroblock. And a generation unit 1055.
- the predicted image generation method selection unit 1051 reads the motion vector of the macroblock adjacent to the left, top, and top right of the target macroblock from the motion vector memory 107.
- a preset threshold here, 2
- the predicted image generation method selection unit 1051 sends the motion vector to the predicted vector generation unit 1052. Is output. If there is a block from which a motion vector cannot be read, vector information whose horizontal component and vertical component are 0 is output instead as the motion vector of the block.
- the prediction image generation method selection unit 1051 sends a signal indicating that processing is to be started to the prediction mode determination unit 1054 when the number of blocks from which motion vectors can be read out of three adjacent macroblocks is less than one. To do.
- the predicted image generation method selection unit 1051 generates a predicted image of the target macroblock based on the pixel value of the adjacent block (generated by intra prediction) or based on the motion vector of the adjacent macroblock ( Whether to generate by inter prediction).
- the motion vector of each macroblock exists when the encoding mode of the macroblock is inter prediction or inter prediction of skipped macroblock mode. Therefore, as described above, the determination based on the number of adjacent macroblocks from which the motion vector can be read out means that the determination is based on the number of adjacent macroblocks for which the prediction image is generated by the intra prediction.
- a threshold here, 2). Has been decided.
- the prediction vector generation unit 1052 receives the motion vectors of the blocks adjacent to the left, top, and top right of the target macroblock from the prediction image generation method selection unit 1051.
- the prediction vector generation unit 1052 generates a prediction vector by calculating median values of the horizontal and vertical components of the received motion vector.
- the prediction vector generation unit 1052 outputs the generated prediction vector to the prediction image macroblock generation unit 1053 and the switch 109.
- the prediction image macroblock generation unit 1053 receives the prediction vector from the prediction vector generation unit 1052.
- the prediction image macroblock generation unit 1053 generates a skip prediction image macroblock by performing motion compensation according to the prediction vector.
- the prediction image macroblock generation unit 1053 outputs the generated skip prediction image macroblock to the encoding mode determination unit 106.
- the prediction mode determination unit 1054 starts processing after receiving a signal indicating that processing is to be started from the predicted image generation method selection unit 1051.
- the prediction mode determination unit 1054 reads the encoding mode of the block adjacent to the left, upper left, upper and upper right of the target macroblock from the encoding mode memory 108.
- the prediction mode determination part 1054 determines the prediction mode of intra prediction according to the encoding mode of the adjacent block. A specific determination method will be described with reference to FIG.
- the prediction mode determination unit 1054 confirms whether the encoding mode of the block B indicates 0 of the prediction mode of intra prediction ((a) in FIG. 5).
- the prediction mode determination unit 1054 sets 0 as the intra prediction mode signal when the coding mode of the block B indicates 0 of the prediction mode of intra prediction.
- the prediction mode determination unit 1054 indicates that the encoding mode of block A indicates 1 of the prediction mode of intra prediction. Is confirmed ((b) of FIG. 5).
- the prediction mode determination unit 1054 sets 1 as the intra prediction mode signal when the coding mode of the block A indicates 1 of the prediction mode of intra prediction.
- the prediction mode determination unit 1054 determines that the encoding mode of block C is 16 ⁇ 16. And whether the prediction mode 3 or 7 of the intra prediction is indicated ((c) in FIG. 5). When the block C encoding mode is not 16 ⁇ 16 and the prediction mode determination unit 1054 indicates the intra prediction prediction mode 3 or 7, the prediction mode determination unit 1054 outputs the intra prediction mode signal. The same value as the prediction mode of block C is set.
- the prediction mode determination unit 1054 It is confirmed whether the encoding mode of 4 indicates 4, 5 or 6 of the prediction mode of intra prediction ((d) in FIG. 5).
- the prediction mode determination unit 1054 sets the same value as the prediction mode of the block D as the intra prediction mode signal when the encoding mode of the block D indicates 4, 5 or 6 of the prediction mode of intra prediction.
- the prediction mode determination part 1054 sets 2 as an intra prediction mode signal, when the encoding mode of the block D has not shown 4, 5 or 6 of the prediction mode of intra prediction.
- the prediction mode determination unit 1054 outputs the set intra prediction mode signal to the intra prediction image macroblock generation unit 1055.
- the prediction mode determination unit 1054 performs the order of FIGS. 5A to 5D, that is, the prediction modes 0, 1, (3 or 7), (4, 5 or 6), and 2 in this order. Judgment was made as to whether it was applicable. This is generally the order from the highest occurrence frequency of the prediction mode, but other orders may be used.
- the prediction mode of block B may be 0 when the block B, which is a macro block, is intra-predicted by 16 pixels ⁇ 16 pixels and the prediction mode is 0. Or it is good also as a block at the time of the block B being intra-predicted, Comprising: When the prediction mode of all the blocks adjacent to an object macroblock is 0.
- the intra predicted image macroblock generation unit 1055 receives the intra prediction mode signal from the prediction mode determination unit 1054, and reads the pixel value of the macroblock adjacent to the target macroblock from the reference image memory 102.
- the intra prediction image macroblock generation unit 1055 generates a skip prediction image macroblock from the pixel values of the blocks adjacent to the target macroblock, using intra prediction based on the prediction direction of the intra prediction mode indicated by the intra prediction mode signal. To do.
- an intra prediction image macroblock is 16 pixels x 16 pixels, the prediction direction according to the relationship between the prediction mode and prediction direction shown to Fig.3 (a) is used.
- the intra predicted image macroblock generation unit 1055 outputs the generated skip predicted image macroblock and a signal indicating that the skip predicted image macroblock has been generated by intra prediction to the encoding mode determination unit 106.
- step S101 the depth map input unit 101 inputs a depth map from the image preprocessing unit 2 for each frame. Then, it progresses to step S102.
- step S102 the image encoding device 1 performs the processes in steps S103 to S120 for each macroblock included in the input frame. The order of steps S103 to S105 does not matter.
- step S103 the intra prediction unit 103 reads from the reference image memory 102 a reference image block that has been subjected to processing related to encoding adjacent to the target macroblock in the same frame as the target macroblock.
- the intra prediction unit 103 performs intra-frame prediction based on the read reference macroblock, and generates an intra predicted image macroblock.
- the intra prediction unit 103 outputs the generated intra predicted image macroblock to the encoding mode determination unit 106. Thereafter, the process proceeds to step S104.
- step S104 the inter prediction unit 104 inputs the target macroblock from the depth map input unit 101, and reads the reference image block constituting the reference image from the reference image memory 102.
- the inter prediction unit 104 divides the target macroblock into one or a plurality of partitions, and sequentially detects a motion vector for each partition.
- the inter prediction unit 104 selects the size of the partition that minimizes the coding cost from among the sizes of the partitions constituting the target macroblock.
- the inter prediction unit 104 performs motion compensation or disparity compensation based on the partition size and the motion vector of each partition with the minimum coding cost, and generates an inter prediction image macroblock.
- the inter prediction unit 104 outputs the calculated vector to the information source encoding unit 114 and the switch 109.
- the inter prediction unit 104 outputs the generated inter prediction image macroblock to the encoding mode determination unit 106. Thereafter, the process proceeds to step S105.
- step S105 the skipped macroblock unit 105 reads from the coding mode memory 108 the coding mode signal of the macroblock adjacent to the target macroblock, and from the motion vector memory 107 to the motion vector of the macroblock adjacent to the target macroblock. Then, the pixel value of the reference image macroblock adjacent to the target macroblock is read from the reference image memory 102.
- the skipped macroblock unit 105 generates a skip prediction image macroblock from the read encoding mode signal, the motion vector, and the pixel value of the adjacent reference image block.
- the skipped macroblock unit 105 outputs the skip predicted image macroblock to the encoding mode determination unit 106. If the skipped macroblock unit 105 generates a prediction vector, it outputs the generated prediction vector to the switch 109. Thereafter, the process proceeds to step S106.
- step S106 the encoding mode determination unit 106 skips the target macroblock from the depth map input unit 101, the intra prediction image macroblock from the intra prediction unit 103, the inter prediction image macroblock from the inter prediction unit 104, and the skipped macro.
- the skip prediction image macroblock is received as an input from the block unit 105.
- the encoding mode determination unit 106 selects an encoding mode with the highest encoding efficiency based on the three input predicted image macroblocks.
- the coding mode determination unit 106 outputs a prediction image macroblock corresponding to the selected coding mode to the subtraction unit 110 and the addition unit 113, and generates a coding mode signal corresponding to the selected coding mode.
- the information is output to the information source encoding unit 114, the encoding mode memory 108, and the switch 109. Thereafter, the process proceeds to step S107.
- step S107 the switch 109 receives an encoding mode signal corresponding to the encoding mode selected from the encoding mode determination unit 106, a motion vector from the inter prediction unit 104, and a prediction vector from the skipped macroblock unit 105. .
- the switch 109 outputs a motion vector to the motion vector memory 107 when the encoding mode signal corresponding to the selected encoding mode indicates inter prediction.
- the switch 109 outputs the prediction vector to the motion vector memory 107 when the encoding mode signal corresponding to the selected encoding mode indicates the skipped macroblock mode.
- the motion vector memory 107 stores the motion vector or prediction vector output from the switch 109 as a motion vector. Thereafter, the process proceeds to step S108.
- step S108 the encoding mode memory 108 stores the encoding mode signals corresponding to the selected encoding mode output from the encoding mode determination unit 106 in the order of the encoded macro blocks. Thereafter, the process proceeds to step S109.
- step 109 the subtraction unit 110 receives the intra prediction image macroblock and the inter prediction image macro input from the encoding mode determination unit 106 from the signal values of the respective pixels included in the target macroblock input from the depth map input unit 101.
- a residual signal macroblock is calculated by subtracting the signal value of each pixel included in the block or skip prediction image macroblock.
- the subtraction unit 110 outputs the calculated residual signal macroblock to the DCT transform / quantization unit 111. Then, it progresses to step S110.
- step S110 the DCT transform / quantization unit 111 performs two-dimensional DCT on the residual signal macroblock input from the subtraction unit 110, calculates the DCT coefficient, quantizes the DCT coefficient, Generalized DCT coefficients are generated.
- the DCT transform / quantization unit 111 outputs the generated quantized DCT coefficient to the inverse quantization / inverse DCT transform unit 112 and the information source coding unit 114. Then, it progresses to step S111.
- step S111 the inverse quantization / inverse DCT transformation unit 112 performs inverse quantization on the quantized DCT coefficient input from the DCT transformation / quantization unit 111 to generate an inverse quantization DCT coefficient, and then performs inverse quantization. Two-dimensional inverse DCT is performed on the DCT coefficients to generate a decoded residual signal macroblock. The inverse quantization / inverse DCT transform unit 112 outputs the generated decoded residual signal macroblock to the adder 113. Thereafter, the process proceeds to step S112.
- step S112 the addition unit 113 performs inverse quantization on the signal value of each pixel included in the intra prediction image macroblock, the inter prediction image macroblock, or the skip prediction image macroblock input from the encoding mode determination unit 106.
- a reference image macroblock is generated by adding the signal value of each pixel included in the decoded residual signal macroblock input from the inverse DCT transform unit 112. Thereafter, the process proceeds to step S113.
- step S ⁇ b> 113 the adding unit 113 stores the generated reference image macroblock in the reference image memory 104. Then, it progresses to step S114 of FIG.
- step S114 of FIG. 7 according to the determination result of the encoding mode by the encoding mode determination unit 106, if the encoding mode is the skipped macroblock mode (YES in step S114), the process proceeds to step S115, otherwise (NO in step S114), the process proceeds to step S116.
- step S115 the information source encoding unit 114 encodes the encoding mode signal input from the encoding mode determination unit 106, and generates an encoded stream. Thereafter, the process proceeds to step S119.
- step S116 if the encoding mode is inter prediction (YES in step S116), the process proceeds to step S117. If the encoding mode is intra prediction (NO in step S116), the process proceeds to step S118.
- step S117 the information source encoding unit 114 receives the encoding mode signal input from the encoding mode determination unit 106, the quantized DCT coefficient input from the DCT transform / quantization unit 111, and the input from the inter prediction unit 104.
- the encoded motion vector is encoded to generate an encoded stream.
- step S118 the information source encoding unit 114 encodes the encoding mode signal input from the encoding mode determination unit 106 and the quantized DCT coefficient input from the DCT transform / quantization unit 111 to generate an encoded stream. Is generated. Thereafter, the process proceeds to step S119.
- step S119 the information source encoding unit 114 outputs the generated encoded stream to the outside of the image encoding device 1. Thereafter, the process proceeds to step S120.
- step S120 the image encoding device 1 sequentially changes the macroblocks to be encoded in the raster scan order, and returns to step S103 in FIG. However, if the image encoding device 1 determines that there is no block that has not yet been subjected to encoding processing in the frame of the input depth map, it ends the processing for that frame.
- FIGS. 8 and 9 are flowcharts for explaining an example of the skip predicted image macroblock generation processing in the skipped macroblock unit 105 according to the present embodiment. This process is a process corresponding to step S105 described above.
- step S ⁇ b> 201 the predicted image generation method selection unit 1051 reads from the motion vector memory 107 the motion vectors of macroblocks adjacent to the left, upper, and upper right of the target macroblock. Thereafter, the process proceeds to step S202.
- step S202 the predicted image generation method selection unit 1051 determines whether or not there are two or more blocks from which motion vectors can be read out among the three adjacent macroblocks. If there are two or more (Yes in step S202), the motion vector is output to the prediction vector generation unit 1052, and the process proceeds to step S203. If there are not two or more (No in step S202), the process proceeds to step S206 in FIG.
- the prediction vector generation unit 1052 receives the motion vector of the macroblock adjacent to the left, top and top right of the target macroblock from the prediction image generation method selection unit 1051.
- the prediction vector generation unit 1052 generates a prediction vector by calculating median values of the horizontal and vertical components of the received motion vector.
- the prediction vector generation unit 1052 outputs the generated prediction vector to the prediction image macroblock generation unit 1053. Thereafter, the process proceeds to step S204.
- step S ⁇ b> 204 the predicted image macroblock generation unit 1053 receives the prediction vector from the prediction vector generation unit 1052. Thereafter, the process proceeds to step S205.
- step S205 the predicted image macroblock generation unit 1053 generates a skip predicted image macroblock by performing motion compensation according to the prediction vector.
- the prediction image macroblock generation unit 1053 outputs the generated skip prediction image macroblock to the encoding mode determination unit 106 and ends the process.
- step S206 of FIG. 9 the prediction mode determination unit 1054 reads out the encoding modes of block A, block B, block C, and block D adjacent to the target macroblock from the encoding mode memory 108. Thereafter, the process proceeds to step S207.
- step S207 the prediction mode determination unit 1054 confirms whether the encoding mode of block B indicates 0 of the prediction mode of intra prediction (Yes in step S207), and proceeds to step S208. If not shown (No in step S207), the process proceeds to step S209.
- step S208 the prediction mode determination unit 1054 sets 0 as the intra prediction mode signal of the target macroblock.
- the prediction mode determination unit 1054 outputs the set intra prediction mode signal to the intra prediction image macroblock generation unit 1055. Thereafter, the process proceeds to step S216.
- step S209 the prediction mode determination unit 1054 confirms whether the coding mode of block A indicates 1 of the prediction mode of intra prediction (Yes in step S209), and proceeds to step S210. If not shown (No in step S209), the process proceeds to step S211.
- step S210 the prediction mode determination part 1054 sets 1 as an intra prediction mode signal of an object macroblock. The prediction mode determination unit 1054 outputs the set intra prediction mode signal to the intra prediction image macroblock generation unit 1055. Thereafter, the process proceeds to step S216.
- step S211 the prediction mode determination unit 1054 confirms whether the coding mode of the block C indicates that the block size of the block C is not 16 ⁇ 16 and indicates the prediction mode 3 or 7 of the intra prediction. If yes (Yes in step S211), the process proceeds to step S212. If not indicated (No in step S211), the process proceeds to step S213.
- step S212 the prediction mode determination part 1054 sets the same value as the prediction mode of the block C as an intra prediction mode signal of an object macroblock.
- the prediction mode determination unit 1054 outputs the set intra prediction mode signal to the intra prediction image macroblock generation unit 1055. Thereafter, the process proceeds to step S216.
- step S213 the prediction mode determination unit 1054 confirms whether the encoding mode of the block D indicates 4, 5, or 6 of the prediction mode of intra prediction, and if it indicates (Yes in step S213), The process proceeds to step S214, and if not shown (No in step S213), the process proceeds to step S215.
- step S214 the prediction mode determination unit 1054 sets the same value as the prediction mode of the block D as the intra prediction mode signal of the target macroblock.
- the prediction mode determination unit 1054 outputs the set intra prediction mode signal to the intra prediction image macroblock generation unit 1055. Thereafter, the process proceeds to step S216.
- step S215 the prediction mode determination part 1054 sets 2 as an intra prediction mode signal of an object macroblock.
- the prediction mode determination unit 1054 outputs the set intra prediction mode signal to the intra prediction image macroblock generation unit 1055. Thereafter, the process proceeds to step S216.
- step S216 the intra prediction image macroblock generation unit 1055 receives the intra prediction mode signal from the prediction mode determination unit 1054, and reads the pixel value of the block adjacent to the target macroblock from the reference image memory 102.
- the intra prediction image macroblock generation unit 1055 generates a skip prediction image macroblock from the pixel values of the blocks adjacent to the target macroblock, using intra prediction based on the prediction direction of the intra prediction mode indicated by the intra prediction mode signal. To do.
- the intra predicted image macroblock generation unit 1055 outputs the generated skip predicted image macroblock to the encoding mode determination unit 106, and ends the process.
- the encoding method when encoding in the skipped macroblock mode is changed according to the encoding mode of the block adjacent to the target macroblock. ing. Then, the prediction mode when the encoding method when encoding in the skipped macroblock mode is intra prediction is determined according to the prediction mode when the block adjacent to the target macroblock is encoded by intra prediction. is doing.
- the image decoding apparatus is a partial map that forms a depth map including depth values for each pixel, which is encoded in the skipped macroblock mode according to the image encoding method in the image encoding apparatus 1 described above.
- region is provided.
- FIG. 10 is a schematic diagram illustrating a configuration example of the image decoding apparatus according to the present embodiment.
- the image decoding apparatus 5 illustrated in FIG. 10 includes an information source decoding unit 501, an encoding mode memory 502, a motion vector memory 503, an inverse quantization / inverse DCT transform unit 504, an addition unit 505, a reference image memory 506, and an intra prediction image.
- a generation unit 507, an inter prediction image generation unit 508, a skipped macroblock unit 509, an encoding mode determination unit 510, a switch 511, and an image output unit 512 are configured.
- the information source decoding unit 501 decodes an encoded stream for each block regarding the depth map input from the outside of the image decoding device 5, and generates a quantized DCT coefficient, a motion vector, and an encoding mode signal.
- the decoding method performed by the information source decoding unit 501 is the reverse of the encoding method performed by the information source encoding unit 114 of FIG. That is, when the information source encoding unit 114 performs variable length encoding, the information source decoding unit 501 performs variable length decoding.
- the information source decoding unit 501 outputs the generated motion vector to the inter predicted image generation unit 508 and the switch 511.
- the information source decoding unit 501 When the information source decoding unit 501 generates the quantized DCT coefficient, the information source decoding unit 501 outputs the generated quantized DCT coefficient to the inverse quantization / inverse DCT transform unit 504.
- the information source decoding unit 501 stores the generated encoding mode signal in the encoding mode memory 502, and outputs it to the encoding mode determination unit 510, the intra prediction image generation unit 507, the inter prediction image generation unit 508, and the switch 511.
- the coding mode memory 502 receives the coding mode signal from the information source decoding unit 501 and stores it in the decoding order of the macroblocks.
- the encoding mode memory 502 outputs the stored encoding mode signal to the skipped macroblock unit 509.
- the motion vector memory 503 receives a motion vector or a prediction vector from the switch 511, and stores it in the decoding order of macroblocks.
- the motion vector memory 503 outputs the stored motion vector to the inter predicted image generation unit 508 and the skipped macroblock unit 509.
- the inverse quantization / inverse DCT transform unit 504 performs inverse quantization on the quantized DCT coefficient input from the information source decoding unit 501 to generate an inverse quantized DCT coefficient, and then performs 2 for the inverse quantized DCT coefficient. Dimensional inverse DCT is performed to generate a decoded residual signal block as a spatial domain signal.
- the inverse quantization / inverse DCT transform unit 504 outputs the decoded residual signal block to the adder 505.
- the adding unit 505 receives the signal value of each pixel included in any of the intra predicted image macroblock, the inter predicted image macroblock, or the skip predicted image macroblock input from the coding mode determination unit 510, and the inverse quantization / A reference image macroblock is generated by adding the signal value of each pixel included in the decoded residual signal block input from the inverse DCT transform unit 504.
- the adder 505 stores the generated reference image macroblock in the reference image memory 506 and outputs it to the image output unit 511.
- the reference image memory 506 stores the reference image macroblock input from the adder 505 at the position of the decoding target macroblock in the corresponding frame and stores it as a reference image.
- the reference image memory 506 stores reference images of frames that have been set in advance from the current number of frames (for example, 15 frames), and when the number of stored frames exceeds the number of frames that has been set in advance, for example, the 16th frame. When the reference image is input, all the reference images in the past frames are deleted.
- the intra prediction image generation unit 507 receives the encoding mode signal from the information source decoding unit 501.
- the intra predicted image generation unit 507 reads from the reference image memory 506 a reference image macroblock that has been subjected to processing related to encoding adjacent to the target macroblock in the same frame as the target macroblock.
- the intra-predicted image generation unit 507 performs intra-frame prediction based on the read reference image macroblock and the prediction mode indicated by the encoding mode signal, and generates an intra-predicted image macroblock.
- the intra predicted image generation unit 507 outputs the generated intra predicted image macroblock to the coding mode determination unit 510.
- the inter prediction image generation unit 508 receives the motion vector and the encoding mode signal from the information source decoding unit 501.
- the inter prediction image generation unit 508 reads a reference image block constituting a reference image from the reference image memory 506 for each partition constituting the target macroblock. The size of this partition is determined based on the encoding mode signal.
- the coordinates of the reference image block read by the inter predicted image generation unit 508 are coordinates compensated by adding the motion vector input from the information source decoding unit 501 to the coordinates of the decoding target partition. Further, the size of the reference image block to be read is the same as the size of the corresponding partition.
- the inter prediction image generation unit 508 generates an inter prediction image macroblock by performing processing for matching the coordinates of the read reference image block with the coordinates of the corresponding partition.
- the inter prediction image generation unit 508 outputs the generated inter prediction image macroblock to the encoding mode determination unit 510.
- the skipped macroblock unit 509 reads the encoding mode signal of the block adjacent to the target macroblock from the encoding mode memory 502.
- the skipped macroblock unit 509 reads the motion vector of the block adjacent to the target macroblock from the motion vector memory 503, and reads the pixel value of the reference image block adjacent to the target macroblock from the reference image memory 506.
- the skipped macroblock unit 509 generates a skip predicted image macroblock based on the coding mode, motion vector, and pixel value of a block adjacent to the target macroblock.
- the skipped macroblock unit 509 outputs the skip predicted image macroblock to the encoding mode determination unit 510. Further, the skipped macroblock unit 509 may generate a prediction vector from the motion vectors of adjacent blocks. When the skipped macroblock unit 509 generates a prediction vector, the skipped macroblock unit 509 outputs the generated prediction vector to the switch 511. Details of processing and configuration in the skipped macroblock unit 509 are the same as those of the skipped macroblock unit 105 of the image encoding device 1.
- the encoding mode determination unit 510 includes an encoding mode signal from the information source decoding unit 501, an intra prediction image macroblock from the intra prediction image generation unit 507, and an inter prediction image macroblock from the inter prediction image generation unit 508.
- the skip predicted image macroblock from the skipped macroblock unit 509 is input.
- the coding mode determination unit 510 outputs one of the intra prediction image macroblock, the inter prediction image macroblock, and the skip prediction image macroblock to the addition unit 505 based on the coding mode indicated by the coding mode signal. .
- the switch 511 receives an encoding mode signal and a motion vector from the information source decoding unit 501 and receives a prediction vector from the skipped macroblock unit 509.
- the switch 511 outputs a motion vector to the motion vector memory 503 when the encoding mode signal indicates inter prediction.
- the switch 511 outputs the prediction vector to the motion vector memory 503 when the encoding mode signal indicates the skipped macroblock mode.
- the image output unit 512 generates the reference image for each frame by arranging the reference image macroblock input from the adding unit 505 at the position of the decoding target macroblock in the corresponding frame.
- the image output unit 512 outputs the generated reference image to the outside of the image decoding device 5 for each frame as a decoded depth map.
- FIG. 11 is a flowchart for explaining an example of image decoding processing performed by the image decoding device 5 according to the present embodiment.
- the image decoding device 5 performs the processing of steps S302 to S313 for each macroblock.
- the information source decoding unit 501 inputs an encoded stream from the outside of the image decoding device 5. Thereafter, the process proceeds to step S303.
- step S303 the information source decoding unit 501 performs decoding (variable length decoding in this example) of the encoded stream input in step S302, and generates an encoding mode signal, a quantized DCT coefficient, and a motion vector.
- the information source decoding unit 501 outputs the generated encoding mode signal to the encoding mode determination unit 510, the encoding mode memory 502, the intra prediction image generation unit 507, and the inter prediction image generation unit 508, and generates the generated quantized DCT coefficients. Is output to the inverse quantization / inverse DCT transform unit 504, and the generated motion vector is output to the inter prediction image generation unit 508 and the motion vector memory. Thereafter, the process proceeds to step S304.
- step S304 the inverse quantization / inverse DCT transform unit 504 performs inverse quantization on the quantized DCT coefficient input from the information source decoding unit 501, generates an inverse quantized DCT coefficient, and then performs inverse quantization.
- a two-dimensional inverse DCT is performed on the DCT coefficients to generate a decoded residual signal block.
- the inverse quantization / inverse DCT transform unit 504 outputs the decoded residual signal block to the adder 505. Thereafter, the process proceeds to step S305.
- step S305 the inter prediction image generation unit 508 receives the encoding mode signal and motion vectors corresponding to all partitions in the target macroblock from the information source decoding unit 501.
- the inter prediction image generation unit 508 divides the macroblock into partitions based on the coding mode signal received from the information source decoding unit 501, and performs motion compensation or disparity compensation based on the motion vector for each partition.
- a predicted image macroblock is generated.
- the inter prediction image generation unit 508 outputs the generated inter prediction image macroblock to the encoding mode determination unit 510. Thereafter, the process proceeds to step S306.
- the intra predicted image generation unit 507 receives a coding mode signal from the information source decoding unit 501, and performs processing related to decoding adjacent to the target macroblock in the same frame as the target macroblock from the reference image memory 506. Read the reference image block.
- the intra predicted image generation unit 507 divides the macro block into blocks based on the received encoding mode signal, performs intra-frame prediction based on the reference image macro block read for each block, and converts the intra predicted image macro block into the block. Generate.
- the intra predicted image generation unit 507 outputs the generated intra predicted image macroblock to the coding mode determination unit 510. Thereafter, the process proceeds to step S307.
- step S307 the skipped macroblock unit 509 outputs the coding mode signal of the macroblock adjacent to the target macroblock from the coding mode memory 502, and the motion vector of the macroblock adjacent to the target macroblock from the motion vector memory 503. Then, the pixel value of the reference image block adjacent to the target macroblock is read from the reference image memory 506.
- the skipped macroblock unit 509 generates a skip prediction image macroblock from the read encoding mode signal, the motion vector, and the pixel value of the adjacent reference image block.
- the skipped macroblock unit 509 outputs the skip predicted image macroblock to the encoding mode determination unit 510. Thereafter, the process proceeds to step S308.
- step S308 the encoding mode determination unit 510 performs the encoding mode signal from the information source decoding unit 501, the intra prediction image macroblock from the intra prediction image generation unit 507, and the inter prediction from the inter prediction image generation unit 508.
- An image macroblock and a skip predicted image macroblock from the skipped macroblock unit 509 are input.
- the encoding mode determination unit 510 determines whether to output an intra prediction image macroblock, an inter prediction image macroblock, or a skip prediction image macroblock based on the encoding mode indicated by the encoding mode signal.
- the macro block according to the result is output to the adding unit 505. Thereafter, the process proceeds to step S309.
- step S309 the motion vector memory 503 receives the motion vector from the information source decoding unit 501, and stores it in the decoding order of the macroblocks.
- the motion vector memory 503 outputs the stored motion vector to the inter predicted image generation unit 508 and the skipped macroblock unit 509. Thereafter, the process proceeds to step S310.
- step S310 the encoding mode memory 502 receives the encoding mode signal from the information source decoding unit 501, and stores it in the decoding order of the macroblocks.
- the encoding mode memory 502 outputs the stored encoding mode signal to the skipped macroblock unit 509. Thereafter, the process proceeds to step S311.
- step S311 the addition unit 505 performs the inverse quantization on the signal value of each pixel included in the intra prediction image macroblock, the inter prediction image macroblock, or the skip prediction image macroblock input from the coding mode determination unit 510.
- a reference image macroblock is generated by adding the signal value of each pixel included in the decoded residual signal macroblock input from the inverse DCT transform unit 504. Thereafter, the process proceeds to step S312.
- step S ⁇ b> 312 the adding unit 505 stores the generated reference image macroblock in the reference image memory 506 and outputs the reference image macroblock to the image output unit 512. Thereafter, the process proceeds to step S313.
- step S313 the image decoding apparatus 5 changes the decoding target macroblock in the raster scan order, and the process returns to step S302. However, if the image decoding device 5 determines that there is no macroblock that has not been decoded in the frame of the input encoded stream, the image decoding device 5 ends the processing for the frame.
- the encoding mode of a block adjacent to the one macroblock is encoded.
- a depth prediction image macroblock is generated based on the motion vector and the pixel value.
- a skipped macroblock mode is applied to an area where intra prediction frequently occurs in the depth map, that is, a region having a high spatial direction correlation.
- the image encoding device 1 and the image decoding device 5 in the first embodiment described above record an image encoding program and / or image decoding program on a computer-readable recording medium, and execute the program on the computer. This can also be realized.
- the image encoding program uses the encoding mode signal, the motion vector, and the pixel value of the macroblock adjacent to the target macroblock when encoding the depth map.
- This is a program for causing a computer to execute an image encoding process for generating a skip predicted image macroblock and predictively encoding a depth map using the skip predicted image macroblock.
- the image encoding processing includes a step of selecting a prediction image generation method for one macroblock based on a motion vector of an adjacent macroblock, and a step of generating a prediction vector based on a motion vector of the adjacent macroblock. , Determining a prediction mode for intra prediction from coding mode signals of adjacent macroblocks, and generating a skip prediction image macroblock based on the determined prediction mode and the pixel value of the adjacent macroblock.
- Other application examples are as described in the first embodiment, and a description thereof is omitted.
- the above-described image decoding program is subjected to predictive coding using a skip prediction image macroblock according to the above-described image coding method (or using the above-described image coding apparatus or image coding program).
- This is a program for causing a computer to execute an image decoding step for decoding a macroblock which is a partial region constituting a depth map including a depth value indicating a distance from a viewpoint.
- Other application examples are as described in the first embodiment, and a description thereof is omitted.
- the image encoding program and the image decoding program are executed when the entire image encoding device 1 and / or the entire image decoding device 5 in the first embodiment are configured to be realized by a computer. It is a program that can be incorporated. Of course, you may make it implement
- the above recording medium may be a program medium such as a memory (not shown) such as a ROM (not shown) because processing is performed by a computer, and a program reading device as an external storage device (not shown) is provided in the recording medium. It may be a program medium that can be read by inserting.
- the stored program may be configured to be accessed and executed by a microprocessor that is a main computation / control unit of the computer, or the program read out and read out by the computer It may be downloaded to a program storage area provided and the program may be executed. In this case, it is assumed that the download program is stored in the main device in advance.
- the program medium is a recording medium configured to be separable from the computer main body, and includes a tape system such as a magnetic tape and a cassette tape, a magnetic disk such as a floppy disk (registered trademark) and a hard disk, and a CD-ROM / MO. / MD / DVD and other optical discs, IC cards (including memory cards) / optical cards, etc., or mask ROM, EPROM (Erasable Programmable Read Only Memory), EEPROM (Electrically Erasable Programmable Read Only Memory), It may be a medium that carries a fixed program including a semiconductor memory such as a flash ROM.
- the medium may be a medium that fluidly carries the program so as to download the program from the communication network.
- the download program may be stored in advance in the computer main body, or may be installed from another recording medium.
- the above-mentioned recording medium is read by a digital color image forming apparatus or a program reading apparatus provided in a computer system, whereby the above-described image encoding method and image decoding method are executed.
- the computer system includes a general-purpose image input device such as a WEB camera, a computer that performs various processes such as the image processing method by loading a predetermined program, a display / liquid crystal display that displays the processing results of the computer, and the like.
- Image display device Furthermore, a network card, a modem, and the like are provided as communication means for connecting to a server or the like via a network.
- encoding and decoding of a depth map corresponding to two-viewpoint image signals captured by two cameras have been described.
- a depth map corresponding to a three-viewpoint image signal is input, and a depth map of one viewpoint is encoded by estimating a depth value using a texture image corresponding to the depth map, and an object to be encoded is encoded.
- the depth maps of the three viewpoints can be encoded.
- LSI Large Scale Integration
- IC Integrated Circuit
- the present invention further describes the image encoding method and the image decoding method as described in the processing of the image encoding program and the image decoding program.
- the image encoding device uses the depth prediction image macroblock for each macroblock which is a partial area constituting a depth map including a depth value indicating the distance from the viewpoint for each pixel.
- This is a method for predictive coding of a depth map.
- the image encoding device selects a prediction image generation method for one macroblock based on the motion vector of the adjacent macroblock, and the prediction vector based on the motion vector of the adjacent macroblock.
- Other application examples are as described for the image coding apparatus in the first embodiment.
- the above image decoding method is a partial area constituting a depth map composed of depth values indicating the distance from the viewpoint for each pixel, which is predictively encoded using the skip prediction image macroblock according to the above image encoding method.
- Other application examples are as described for the image decoding apparatus in the first embodiment.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
Abstract
Provided is an image coding method with which it is possible to obtain superior coding efficiency. An image coding method which codes each macroblock into which an image is segmented comprises a step of generating a predict image of a macroblock to be coded, on the basis of a predict mode when macroblocks which are adjacent to the macroblock to be coded are intra-predicted, and the pixel values of the adjacent macroblocks.
Description
本発明は、画像符号化方法、画像符号化装置、画像復号方法、画像復号装置およびそれらのプログラムに関する。
The present invention relates to an image encoding method, an image encoding device, an image decoding method, an image decoding device, and a program thereof.
動画像の符号化においては、フレーム内予測や動き補償フレーム間予測など様々な方式が提案され、国際標準化規格であるMPEG(Moving Picture Experts Group)-2、MPEG-4、MPEG-4 AVC(Advanced Video Coding)/H.264で採用されている。
非特許文献1に記載されたように、MPEG-4 AVC/H.264で採用された方式の一つに、スキップト・マクロブロックモード(skipped macroblock mode)がある。この方式は符号化対象のマクロブロックの情報をまったく符号化せず、復号する際には、符号化されたマクロブロックと隣接するマクロブロックの動きベクトルに基づき予測ベクトルを生成し、その予測ベクトルで動き補償を行うことで、符号化マクロブロックを復号するものである。 In video coding, various methods such as intra-frame prediction and motion compensation inter-frame prediction have been proposed, and MPEG (Moving Picture Experts Group) -2, MPEG-4, MPEG-4 AVC (Advanced Video Coding) / H. H.264.
As described in Non-PatentDocument 1, MPEG-4 AVC / H. One of the methods adopted in H.264 is a skipped macroblock mode. This method does not encode the information of the macroblock to be encoded at all, and when decoding, generates a prediction vector based on the motion vector of the macroblock adjacent to the encoded macroblock, and uses that prediction vector. An encoded macroblock is decoded by performing motion compensation.
非特許文献1に記載されたように、MPEG-4 AVC/H.264で採用された方式の一つに、スキップト・マクロブロックモード(skipped macroblock mode)がある。この方式は符号化対象のマクロブロックの情報をまったく符号化せず、復号する際には、符号化されたマクロブロックと隣接するマクロブロックの動きベクトルに基づき予測ベクトルを生成し、その予測ベクトルで動き補償を行うことで、符号化マクロブロックを復号するものである。 In video coding, various methods such as intra-frame prediction and motion compensation inter-frame prediction have been proposed, and MPEG (Moving Picture Experts Group) -2, MPEG-4, MPEG-4 AVC (Advanced Video Coding) / H. H.264.
As described in Non-Patent
特許文献1には、多視点映像を符号化する場合に、このような予測ベクトルの代わりに、符号化対象画像と符号化対象画像とは異なる視点の画像との全域的な差を示す全域差ベクトルに基づいて、現在ブロックの動きベクトルを予測して、それを予測ベクトルとする技術が開示されている。また、特許文献1には、この予測ベクトルを利用したスキップト・マクロブロックモードで符号化、復号を行うことも開示されている。
In Patent Literature 1, when multi-view video is encoded, a global difference indicating a global difference between an encoding target image and an image of a viewpoint different from the encoding target image is used instead of such a prediction vector. A technique for predicting a motion vector of a current block based on a vector and using it as a prediction vector is disclosed. Patent Document 1 also discloses that encoding and decoding are performed in a skipped macroblock mode using this prediction vector.
しかしながら、上述の非特許文献1および特許文献1の技術においては、符号化対象画像が奥行き情報を表すデプスマップなど空間方向の相関性が高い画像にスキップト・マクロブロックモードを適用したときに、スキップト・マクロブロックモードが主に時間方向の相関に基づく方法であるために高い符号化効率が得られないことがあるという問題がある。
However, in the techniques of Non-Patent Document 1 and Patent Document 1 described above, when the skipped macroblock mode is applied to an image having a high spatial correlation such as a depth map in which the encoding target image represents depth information, the skipped macroblock mode is applied. There is a problem that high coding efficiency may not be obtained because the macroblock mode is a method mainly based on correlation in the time direction.
本発明は、上述のような実状に鑑みてなされたものであり、その目的は、空間方向の相関性が高い画像においても優れた符号化効率を得ることが可能な画像符号化方法、画像符号化装置、画像復号方法、画像復号装置およびそれらのプログラムを提供することにある。
The present invention has been made in view of the above situation, and an object of the present invention is to provide an image coding method and image code capable of obtaining excellent coding efficiency even in an image having a high spatial correlation. An image decoding apparatus, an image decoding method, an image decoding apparatus, and a program thereof are provided.
(1)この発明は上述した課題を解決するためになされたもので、本発明の一態様は、画像を分割したマクロブロック毎に符号化する画像符号化方法であって、符号化対象のマクロブロックに隣接するマクロブロックをイントラ予測した際の予測モードと、前記隣接するマクロブロックの画素値とに基づいて、前記符号化対象のマクロブロックの予測画像を生成する生成ステップを有することを特徴とする。
(1) The present invention has been made to solve the above-described problems, and one aspect of the present invention is an image encoding method for encoding each macroblock obtained by dividing an image, and includes a macro to be encoded. A generation step of generating a prediction image of the encoding target macroblock based on a prediction mode when the macroblock adjacent to the block is intra-predicted and a pixel value of the adjacent macroblock; To do.
(2)また、本発明の他の態様は、上述の画像符号化方法であって、前記隣接するマクロブロックに基づいて、前記符号化対象のマクロブロック毎に、前記予測画像を前記生成ステップにより生成するか否かを選択するステップを有することを特徴とする。
(2) According to another aspect of the present invention, there is provided the above-described image encoding method, wherein the prediction image is generated by the generation step for each of the encoding target macroblocks based on the adjacent macroblocks. It has the step which selects whether it produces | generates, It is characterized by the above-mentioned.
(3)また、本発明の他の態様は、上述の画像符号化方法であって、前記生成ステップは、前記予測モードと、前記画素値に基づいたイントラ予測によって前記予測画像を生成することを特徴とする。
(3) According to another aspect of the present invention, there is provided the above-described image encoding method, wherein the generation step generates the prediction image by intra prediction based on the prediction mode and the pixel value. Features.
(4)また、本発明の他の態様は、上述の画像符号化方法であって、前記生成ステップは、前記隣接するマクロブロックの前記符号化対象のマクロブロックに対する隣接方向と、該隣接方向の前記隣接するマクロブロックの予測モードとの組み合わせによって、前記イントラ予測の予測モードを決定するステップを有することを特徴とする。
(4) According to another aspect of the present invention, there is provided the above-described image encoding method, wherein the generation step includes: an adjacent direction of the adjacent macroblock to the macroblock to be encoded; The step of determining the prediction mode of the intra prediction is determined by a combination with the prediction mode of the adjacent macroblock.
(5)また、本発明の他の態様は、画像を分割したマクロブロック毎に符号化する画像符号化装置であって、符号化対象のマクロブロックに隣接するマクロブロックをイントラ予測した際の予測モードと、前記隣接するマクロブロックの画素値とに基づいて、前記符号化対象のマクロブロックの予測画像を生成する予測画像生成部を具備することを特徴とする。
(5) Further, another aspect of the present invention is an image encoding apparatus that encodes each macroblock obtained by dividing an image, and prediction when a macroblock adjacent to a macroblock to be encoded is intra-predicted A prediction image generation unit that generates a prediction image of the encoding target macroblock based on the mode and the pixel value of the adjacent macroblock is provided.
(6)また、本発明の他の態様は、画像を分割したマクロブロック毎に符号化された画像を復号する画像復号方法であって、復号対象のマクロブロックに隣接するマクロブロックをイントラ予測した際の予測モードと、前記隣接するマクロブロックの画素値とに基づいて、前記復号対象のマクロブロックの予測画像を生成する生成ステップを有することを特徴とする。
(6) According to another aspect of the present invention, there is provided an image decoding method for decoding an image encoded for each macroblock obtained by dividing an image, wherein a macroblock adjacent to a macroblock to be decoded is intra-predicted. And a generation step of generating a prediction image of the macroblock to be decoded based on a prediction mode and a pixel value of the adjacent macroblock.
(7)また、本発明の他の態様は、画像を分割したマクロブロック毎に符号化された画像を復号する画像復号装置であって、復号対象のマクロブロックに隣接するマクロブロックをイントラ予測した際の予測モードと、前記隣接するマクロブロックの画素値とに基づいて、前記復号対象のマクロブロックの予測画像を生成する予測画像生成部を具備することを特徴とする。
(7) According to another aspect of the present invention, there is provided an image decoding apparatus for decoding an image encoded for each macroblock obtained by dividing an image, and intra prediction is performed on a macroblock adjacent to a decoding target macroblock. And a prediction image generation unit that generates a prediction image of the macroblock to be decoded based on the prediction mode and the pixel value of the adjacent macroblock.
(8)また、本発明の他の態様は、画像を分割したマクロブロック毎に符号化する画像符号化装置のコンピュータを、符号化対象のマクロブロックに隣接するマクロブロックをイントラ予測した際の予測モードと、前記隣接するマクロブロックの画素値とに基づいて、前記符号化対象のマクロブロックの予測画像を生成する予測画像生成部として動作させるためのプログラムである。
(8) According to another aspect of the present invention, prediction is performed when a computer of an image encoding apparatus that encodes each macroblock obtained by dividing an image performs intra prediction on a macroblock adjacent to the macroblock to be encoded. This is a program for operating as a prediction image generation unit that generates a prediction image of the encoding target macroblock based on the mode and the pixel value of the adjacent macroblock.
(9)また、本発明の他の態様は、画像を分割したマクロブロック毎に符号化された画像を復号する画像復号装置のコンピュータを、復号対象のマクロブロックに隣接するマクロブロックをイントラ予測した際の予測モードと、前記隣接するマクロブロックの画素値とに基づいて、前記復号対象のマクロブロックの予測画像を生成する予測画像生成部として動作させるためのプログラムである。
(9) According to another aspect of the present invention, a computer of an image decoding apparatus that decodes an image encoded for each macroblock obtained by dividing an image, and intra-predicts a macroblock adjacent to the macroblock to be decoded. This is a program for operating as a prediction image generation unit that generates a prediction image of the macroblock to be decoded based on the prediction mode and the pixel value of the adjacent macroblock.
この発明によれば、空間方向の相関性が高い画像においても優れた符号化効率を得ることが可能になる。
According to the present invention, it is possible to obtain excellent encoding efficiency even in an image having a high correlation in the spatial direction.
以下の各実施形態では、画素毎のデプス値からなるデプスマップを構成する一部の領域であるマクロブロック毎に、スキップト・マクロブロックモードによってデプスマップの符号化又は復号を行う。無論、以下の説明から明らかなように、全てのマクロブロックに対してスキップト・マクロブロックモードで符号化/復号を行うことに限定されるものではない。そして、各実施形態では予測画像の生成に主たる特徴を有する。より具体的には、各実施形態におけるスキップト・マクロブロックモードでは、マクロブロックを予測符号化する際に、隣接ブロックの符号化モードに応じて、予測画像の生成方法を変更するようにしている。
In each of the following embodiments, the depth map is encoded or decoded in the skipped macroblock mode for each macroblock which is a partial area constituting the depth map including the depth value for each pixel. Of course, as will be apparent from the following description, encoding / decoding is not limited to skipped macroblock mode for all macroblocks. Each embodiment has a main feature in generating a predicted image. More specifically, in the skipped macroblock mode in each embodiment, when a macroblock is predictively encoded, the prediction image generation method is changed according to the encoding mode of an adjacent block.
以下、図面を参照しながら本発明の実施形態について詳しく説明する。
(第1の実施形態)
図1は、本発明の第1の実施形態に係る画像符号化装置を備えた3次元画像撮影システムの一構成例を示す概略図である。
図1で例示する3次元画像撮影システム10は、撮影装置3a、撮影装置3b、画像前置処理部2、画像符号化装置1、及びテクスチャ画像符号化装置4を含んで構成される。
撮影装置3a及び撮影装置3bは、互いに異なる位置(視点)に設置され、同一の視野(被写空間)に含まれる被写体の画像を、予め定めた時間間隔で(例えば1/30秒毎に1回)撮影する。撮影装置3a及び撮影装置3bは、撮影した画像を示す画像信号をテクスチャ画像(texture map;「二次元画像」ということがある。)と定め、それぞれのテクスチャ画像を画像前置処理部2に出力する。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
(First embodiment)
FIG. 1 is a schematic diagram illustrating a configuration example of a three-dimensional image capturing system including an image encoding device according to the first embodiment of the present invention.
A three-dimensionalimage capturing system 10 illustrated in FIG. 1 includes an image capturing device 3a, an image capturing device 3b, an image pre-processing unit 2, an image encoding device 1, and a texture image encoding device 4.
The photographingdevice 3a and the photographing device 3b are installed at different positions (viewpoints), and images of subjects included in the same field of view (photographing space) are obtained at predetermined time intervals (for example, one every 1/30 seconds). Times) to shoot. The imaging device 3 a and the imaging device 3 b define an image signal indicating the captured image as a texture image (sometimes referred to as “two-dimensional image”), and output each texture image to the image preprocessing unit 2. To do.
(第1の実施形態)
図1は、本発明の第1の実施形態に係る画像符号化装置を備えた3次元画像撮影システムの一構成例を示す概略図である。
図1で例示する3次元画像撮影システム10は、撮影装置3a、撮影装置3b、画像前置処理部2、画像符号化装置1、及びテクスチャ画像符号化装置4を含んで構成される。
撮影装置3a及び撮影装置3bは、互いに異なる位置(視点)に設置され、同一の視野(被写空間)に含まれる被写体の画像を、予め定めた時間間隔で(例えば1/30秒毎に1回)撮影する。撮影装置3a及び撮影装置3bは、撮影した画像を示す画像信号をテクスチャ画像(texture map;「二次元画像」ということがある。)と定め、それぞれのテクスチャ画像を画像前置処理部2に出力する。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
(First embodiment)
FIG. 1 is a schematic diagram illustrating a configuration example of a three-dimensional image capturing system including an image encoding device according to the first embodiment of the present invention.
A three-dimensional
The photographing
この画像信号は、被写空間に含まれる被写体や背景の色彩や濃淡を表す信号値(画素値、輝度値)であって、二次元平面に配置された画素毎の信号値からなる画像信号である。この画像信号は、画素毎に色空間を表す信号値を有する画像信号、例えばRGB信号である。RGB信号は、赤色成分の輝度値を表すR信号、緑色成分の輝度値を示すG信号、青色成分の輝度値を示すB信号を含む。
This image signal is a signal value (pixel value, luminance value) representing the color or shade of the subject or background included in the subject space, and is an image signal composed of signal values for each pixel arranged on a two-dimensional plane. is there. This image signal is an image signal having a signal value representing a color space for each pixel, for example, an RGB signal. The RGB signal includes an R signal that represents the luminance value of the red component, a G signal that represents the luminance value of the green component, and a B signal that represents the luminance value of the blue component.
画像前置処理部2に入力される画像のうち、撮影装置3a及び撮影装置3bのいずれか一方、例えば撮影装置3aから入力されたテクスチャ画像を基準画像と定め、他の撮影装置(この例では撮影装置3b)から入力されたテクスチャ画像と区別して説明する。従って、基準画像も被写空間に含まれる被写体や背景の色彩や濃淡を表す信号値(輝度値)であって、二次元平面に配置された画素毎の信号値からなる一般的な二次元の画像信号である。
Of the images input to the image preprocessing unit 2, one of the image capturing device 3a and the image capturing device 3b, for example, a texture image input from the image capturing device 3a is defined as a reference image, and another image capturing device (in this example, The description will be made separately from the texture image input from the photographing apparatus 3b). Therefore, the reference image is also a signal value (luminance value) representing the color and shading of the subject and background included in the subject space, and is a general two-dimensional signal composed of signal values for each pixel arranged on the two-dimensional plane. It is an image signal.
画像前置処理部2は、撮影装置3aから入力されたテクスチャ画像を基準画像として、この基準画像と、他の撮影装置3bから入力されたテクスチャ画像との視差を画素毎に算出し、撮影装置3aから入力されたテクスチャ画像に対応するデプスマップを生成する。デプスマップ(depth map、「深度画像」、「距離画像」とも言う)とは、被写空間に含まれる被写体や背景の、視点(撮影装置等)からの距離に対応する信号値(「デプス値」、「深度値」、「デプス」等と呼ぶ)であって、二次元平面に配置された画素毎の信号値(画素値)からなる画像信号である。デプスマップを構成する画素は、基準画像を構成する画素と対応する。従って、デプスマップは、被写空間を二次元平面に射影した基準となる画像信号である基準画像を用いて、三次元の被写空間を表すための手がかりとなる。
The image preprocessing unit 2 uses the texture image input from the imaging device 3a as a reference image, calculates the parallax between the reference image and the texture image input from the other imaging device 3b for each pixel, and the imaging device A depth map corresponding to the texture image input from 3a is generated. The depth map (also referred to as depth map, “depth image”, or “distance image”) is a signal value (“depth value”) corresponding to the distance from the viewpoint (shooting device, etc.) of the subject or background included in the subject space. ”,“ Depth value ”,“ depth ”, etc.), and is an image signal composed of signal values (pixel values) for each pixel arranged in a two-dimensional plane. The pixels constituting the depth map correspond to the pixels constituting the reference image. Therefore, the depth map is a clue for representing the three-dimensional object space by using the reference image, which is a reference image signal obtained by projecting the object space onto the two-dimensional plane.
次に、画像前置処理部2は、他の撮影装置3bから入力されたテクスチャ画像を基準画像として、撮影装置3aから入力されたテクスチャ画像との視差から、撮影装置3aのデプスマップの生成方法と同様にして、撮影装置3bのテクスチャ画像に対応するデプスマップを生成する。画像前置処理部2は、撮影装置3a及び撮影装置3bのテクスチャ画像をフレーム毎に交互にテクスチャ画像符号化装置4に出力する。また、画像前置処理部2は、テクスチャ画像に対応するデプスマップを画像符号化装置1に出力する。すなわち、画像前置処理部2は、テクスチャ画像符号化装置4にテクスチャ画像を出力したタイミングに、該テクスチャ画像に対応するデプスマップを画像符号化装置1に出力する。
Next, the image preprocessing unit 2 uses the texture image input from the other image capturing device 3b as a reference image, and generates a depth map of the image capturing device 3a from the parallax with the texture image input from the image capturing device 3a. Similarly, a depth map corresponding to the texture image of the photographing apparatus 3b is generated. The image preprocessing unit 2 outputs the texture images of the image capturing device 3a and the image capturing device 3b to the texture image encoding device 4 alternately for each frame. In addition, the image preprocessing unit 2 outputs a depth map corresponding to the texture image to the image encoding device 1. That is, the image preprocessing unit 2 outputs a depth map corresponding to the texture image to the image encoding device 1 at the timing when the texture image is output to the texture image encoding device 4.
テクスチャ画像符号化装置4は、入力されたテクスチャ画像を、例えば、非特許文献1である、ITU-T H.264規格で規定されている復号方式に対応する符号化方式を用いて符号化し、テクスチャ画像符号を生成する。
なお、本実施形態では、画像撮影システムが備える撮影装置の数を2台として説明しているが、これに限らず、3台以上であってもよい。また、画像符号化装置1及びテクスチャ画像符号化装置にそれぞれ入力されるデプスマップ及びテクスチャ画像は、撮影装置3a及び撮影装置3bが撮影した画像に基づくものでなくともよく、例えば、コンピュータグラフィックスなどの予め合成された画像であってもよい。 The textureimage encoding device 4 converts the input texture image into, for example, ITU-T H. A texture image code is generated by encoding using an encoding method corresponding to a decoding method defined in the H.264 standard.
In the present embodiment, the number of imaging apparatuses provided in the image capturing system is described as two. However, the number is not limited to this, and may be three or more. Further, the depth map and the texture image respectively input to theimage encoding device 1 and the texture image encoding device may not be based on images captured by the imaging device 3a and the imaging device 3b, for example, computer graphics These images may be pre-synthesized.
なお、本実施形態では、画像撮影システムが備える撮影装置の数を2台として説明しているが、これに限らず、3台以上であってもよい。また、画像符号化装置1及びテクスチャ画像符号化装置にそれぞれ入力されるデプスマップ及びテクスチャ画像は、撮影装置3a及び撮影装置3bが撮影した画像に基づくものでなくともよく、例えば、コンピュータグラフィックスなどの予め合成された画像であってもよい。 The texture
In the present embodiment, the number of imaging apparatuses provided in the image capturing system is described as two. However, the number is not limited to this, and may be three or more. Further, the depth map and the texture image respectively input to the
次に、本実施形態に係る画像符号化装置1の構成例とその機能について、図2を参照しながら説明する。図2は、本実施形態に係る画像符号化装置1の構成例を示す概略図である。
図2で例示する画像符号化装置1は、デプスマップ入力部101、参照画像メモリ102、イントラ予測部103、インター予測部104、スキップト・マクロブロック部105、符号化モード判定部106、動きベクトルメモリ107、符号化モードメモリ108、スイッチ109、減算部110、DCT変換・量子化部111、逆量子化・逆DCT変換部112、加算部113、及び情報源符号化部114を含んで構成される。 Next, a configuration example and functions of theimage encoding device 1 according to the present embodiment will be described with reference to FIG. FIG. 2 is a schematic diagram illustrating a configuration example of the image encoding device 1 according to the present embodiment.
Theimage encoding apparatus 1 illustrated in FIG. 2 includes a depth map input unit 101, a reference image memory 102, an intra prediction unit 103, an inter prediction unit 104, a skipped macroblock unit 105, a coding mode determination unit 106, and a motion vector memory. 107, an encoding mode memory 108, a switch 109, a subtraction unit 110, a DCT transform / quantization unit 111, an inverse quantization / inverse DCT transform unit 112, an addition unit 113, and an information source coding unit 114. .
図2で例示する画像符号化装置1は、デプスマップ入力部101、参照画像メモリ102、イントラ予測部103、インター予測部104、スキップト・マクロブロック部105、符号化モード判定部106、動きベクトルメモリ107、符号化モードメモリ108、スイッチ109、減算部110、DCT変換・量子化部111、逆量子化・逆DCT変換部112、加算部113、及び情報源符号化部114を含んで構成される。 Next, a configuration example and functions of the
The
デプスマップ入力部101は、画像前置処理部2からデプスマップがフレーム毎に入力され、入力されたデプスマップからマクロブロック(以下、デプスマクロブロック)を抽出する。デプスマップ入力部101は、抽出したデプスマクロブロックを、符号化モード判定部106、イントラ予測部103、インター予測部104、及び減算部110に出力する。デプスマクロブロックは、予め定めた数の画素、例えば水平方向16画素×垂直方向16画素からなる。
The depth map input unit 101 receives the depth map from the image preprocessing unit 2 for each frame, and extracts a macro block (hereinafter, depth macro block) from the input depth map. The depth map input unit 101 outputs the extracted depth macroblock to the encoding mode determination unit 106, the intra prediction unit 103, the inter prediction unit 104, and the subtraction unit 110. The depth macroblock includes a predetermined number of pixels, for example, 16 pixels in the horizontal direction × 16 pixels in the vertical direction.
デプスマップ入力部101は、ラスタースキャンの順序でデプスマクロブロックを抽出するマクロブロックの位置を、各ブロックが重ならないようにシフトさせる。即ち、デプスマップ入力部101は、デプスマクロブロックを抽出するブロックをフレームの左上端から順次ブロックの水平方向の画素数だけ右に移動させる。デプスマップ入力部101は、デプスマクロブロックを抽出するマクロブロックの右端がフレームの右端に達した後、そのマクロブロックをマクロブロックの垂直方向の画素数だけ下で、且つフレームの左端に移動させる。デプスマップ入力部101は、このようにしてデプスマクロブロックを抽出するマクロブロックがフレームの右下に達するまで移動させる。なお、以下では、抽出されたデプスマクロブロックを符号化対象マクロブロック又は対象マクロブロックと呼ぶことがある。
The depth map input unit 101 shifts the position of the macro block from which the depth macro block is extracted in the raster scan order so that the blocks do not overlap. That is, the depth map input unit 101 sequentially moves the block from which the depth macroblock is extracted from the upper left end of the frame to the right by the number of pixels in the horizontal direction of the block. After the right end of the macroblock from which the depth macroblock is extracted reaches the right end of the frame, the depth map input unit 101 moves the macroblock downward by the number of pixels in the vertical direction of the macroblock and to the left end of the frame. The depth map input unit 101 moves the macroblock from which the depth macroblock is extracted in this way until it reaches the lower right of the frame. Hereinafter, the extracted depth macroblock may be referred to as an encoding target macroblock or a target macroblock.
参照画像メモリ102は、加算部113から入力された参照画像のマクロブロック(以下、参照画像マクロブロック)を、対応するフレームにおける符号化対象マクロブロックの位置に配置して参照画像として記憶する。この参照画像マクロブロックは、過去に入力されたデプスマクロブロックを符号化し、復号されたマクロブロックである。このように参照画像マクロブロックを配置して構成したフレームの画像信号を参照画像と呼んでいる。参照画像メモリ102は、現在から予め設定されたフレーム数、例えば15フレーム分の過去のフレームの参照画像を順次に記憶し、記憶されたフレーム数が予め設定されたフレーム数を超えたとき、例えば16フレーム目の参照画像が入力された時、それ以前の過去のフレームの参照画像を全て削除する。
The reference image memory 102 arranges the macro block of the reference image (hereinafter referred to as reference image macro block) input from the adding unit 113 at the position of the encoding target macro block in the corresponding frame and stores it as a reference image. This reference image macroblock is a macroblock obtained by encoding and decoding a depth macroblock input in the past. An image signal of a frame configured by arranging reference image macroblocks in this way is called a reference image. The reference image memory 102 sequentially stores a reference number of frames set in advance from the present, for example, 15 frames of past reference images. When the number of stored frames exceeds the preset number of frames, for example, When the 16th frame reference image is input, all the previous frame reference images are deleted.
イントラ予測部103は、デプスマップ入力部101から対象マクロブロックを受け取り、参照画像メモリ102から対象マクロブロックと同一フレーム内の対象マクロブロックに隣接するマクロブロックであって、符号化に係る処理を行った参照画像マクロブロックを読みだす。次に、イントラ予測部103は、読みだした参照画像マクロブロックに基づいてフレーム内予測を行い、イントラ予測画像マクロブロックを生成する。具体的なフレーム内予測の方法としては、例えば非特許文献1である、ITU-T H.264規格書に記載されているフレーム内予測方法がある。
The intra prediction unit 103 receives the target macroblock from the depth map input unit 101, and is a macroblock adjacent to the target macroblock in the same frame as the target macroblock from the reference image memory 102, and performs processing related to encoding. Read the reference image macroblock. Next, the intra prediction unit 103 performs intra-frame prediction based on the read reference image macroblock, and generates an intra predicted image macroblock. As a specific intra-frame prediction method, for example, ITU-T H. There is an intra-frame prediction method described in the H.264 standard.
図3は非特許文献1で規定されている、イントラ予測における輝度信号に対する予測モード(予測方向)を示したものである。対象マクロブロックをサイズが4×4又は8×8のブロックに分割してフレーム内予測をする場合には、図3の(a)にあるように、0から8までの9通りの予測モードが決められており、対象マクロブロックを分割せず、サイズが16×16の場合には、図3の(b)にあるように、0から3までの4通りの予測モードが決められている。なお、図3(a)、図3(b)にあるIntra_DCとは、対象マクロブロック又はサブブロックの上と左に隣接する画素の平均値で対象マクロブロック又はサブブロックを予測する方法である。また、図3(b)にあるIntra_Planeとは対象マクロブロック又はサブブロックの上に隣接する画素と左に隣接する画素を斜め方向に画素値を内挿し予測値とする方法である。
FIG. 3 shows a prediction mode (prediction direction) for a luminance signal in intra prediction defined in Non-Patent Document 1. When the target macroblock is divided into blocks of 4 × 4 or 8 × 8 and intraframe prediction is performed, nine prediction modes from 0 to 8 are provided as shown in FIG. In the case where the target macroblock is not divided and the size is 16 × 16, four prediction modes from 0 to 3 are determined as shown in FIG. 3B. Note that Intra_DC in FIGS. 3A and 3B is a method of predicting a target macroblock or subblock with an average value of pixels adjacent on the left and above the target macroblock or subblock. Also, Intra_Plane in FIG. 3B is a method of interpolating pixel values in the diagonal direction between pixels adjacent to the target macroblock or sub-block and pixels adjacent to the left to obtain predicted values.
イントラ予測部103は、読みだした参照画像マクロブロックのデプス値を輝度値とみなして、上述のフレーム内予測を行う。また、イントラ予測部103は、対象マクロブロックを4×4のブロック16個に分割するパターンと、8×8のブロックに分割するパターンと、分割しない(ブロックのサイズは16×16)パターンごとに対象マクロブロックと最も似ているイントラ予測画像マクロブロックが生成される予測モードを選択する。対象マクロブロックとイントラ予測画像マクロブロックが似ているかどうかの指標としては、例えばSAD(Sum of Absolute Difference、差分絶対値和)がある。イントラ予測部103は、各パターンのイントラ予測画像マクロブロックのSADを比較し、最もSADが小さいパターンのイントラ予測画像マクロブロックを符号化モード判定部106に出力する。なお、本発明は、具体的な対象マクロブロックとイントラ予測画像マクロブロックの類似度算出方法によって限定されるものではない。
The intra prediction unit 103 regards the depth value of the read reference image macroblock as a luminance value, and performs the above-described intraframe prediction. In addition, the intra prediction unit 103 divides the target macroblock into 16 patterns of 4 × 4 blocks, a pattern that is divided into 8 × 8 blocks, and a pattern that is not divided (block size is 16 × 16). A prediction mode in which an intra prediction image macroblock that is most similar to the target macroblock is generated is selected. As an index of whether the target macroblock and the intra predicted image macroblock are similar, for example, there is SAD (SumSof Absolute Difference, sum of absolute differences). The intra prediction unit 103 compares the SADs of the intra predicted image macroblocks of each pattern, and outputs the intra predicted image macroblock of the pattern having the smallest SAD to the coding mode determination unit 106. In addition, this invention is not limited by the specific degree calculation method of a specific object macroblock and an intra prediction image macroblock.
インター予測部104は、デプスマップ入力部101から入力された対象マクロブロックを1つ若しくは複数のパーティションに分割し、各々のパーティションに対して、順次、動きベクトルを検出する。なお、1つのパーティションに分割するとは実質的に分割を実行しないことを指す。
具体的には、インター予測部104は、まず参照画像メモリ102から参照画像を構成する参照画像ブロックを読み出す。インター予測部104が読み出す参照画像ブロックの大きさ(画素数)は上記1又は複数のパーティションのうち、処理の対象となるパーティション(以下、対象パーティションと呼ぶ)の大きさと同一である。ここで、インター予測部104は、デプスマップ入力部101から入力されたデプスマクロブロック内の対象パーティションと参照画像ブロックとの間でブロックマッチングを行う。即ち、参照画像メモリ102に記憶されている過去の参照画像のフレームから参照画像ブロックを読み出す位置を、対象パーティションの位置から予め設定した範囲内において水平方向又は垂直方向に1画素ずつ移動させる。インター予測部104は、対象パーティションの座標と対象パーティションと最も類似する参照画像ブロックの座標との差分を、ベクトルとして検出する。 Theinter prediction unit 104 divides the target macroblock input from the depth map input unit 101 into one or a plurality of partitions, and sequentially detects a motion vector for each partition. The division into one partition means that the division is not substantially performed.
Specifically, theinter prediction unit 104 first reads a reference image block constituting a reference image from the reference image memory 102. The size (number of pixels) of the reference image block read by the inter prediction unit 104 is the same as the size of the partition to be processed (hereinafter referred to as the target partition) among the one or more partitions. Here, the inter prediction unit 104 performs block matching between the target partition in the depth macroblock input from the depth map input unit 101 and the reference image block. That is, the position where the reference image block is read from the frame of the past reference image stored in the reference image memory 102 is moved pixel by pixel in the horizontal direction or the vertical direction within a preset range from the position of the target partition. The inter prediction unit 104 detects a difference between the coordinates of the target partition and the coordinates of the reference image block most similar to the target partition as a vector.
具体的には、インター予測部104は、まず参照画像メモリ102から参照画像を構成する参照画像ブロックを読み出す。インター予測部104が読み出す参照画像ブロックの大きさ(画素数)は上記1又は複数のパーティションのうち、処理の対象となるパーティション(以下、対象パーティションと呼ぶ)の大きさと同一である。ここで、インター予測部104は、デプスマップ入力部101から入力されたデプスマクロブロック内の対象パーティションと参照画像ブロックとの間でブロックマッチングを行う。即ち、参照画像メモリ102に記憶されている過去の参照画像のフレームから参照画像ブロックを読み出す位置を、対象パーティションの位置から予め設定した範囲内において水平方向又は垂直方向に1画素ずつ移動させる。インター予測部104は、対象パーティションの座標と対象パーティションと最も類似する参照画像ブロックの座標との差分を、ベクトルとして検出する。 The
Specifically, the
ここで、インター予測部104は、対象パーティションに含まれる画素毎の信号値と参照画像ブロックに含まれる画素毎の信号値との類似性を示す指標値、例えば、SAD(Sum of Absolute Difference、差分絶対値和)を算出する。インター予測部104は、指標値を最小とする参照画像ブロックを、対象パーティションと最も類似する参照画像ブロックと定める。インター予測部104は、対象パーティションの座標と、最も類似する参照画像ブロックの座標とに基づき動きベクトルを算出する。
Here, the inter prediction unit 104 uses an index value indicating the similarity between the signal value for each pixel included in the target partition and the signal value for each pixel included in the reference image block, for example, SAD (Sum of Absolute Difference, difference (Absolute value sum) is calculated. The inter prediction unit 104 determines the reference image block that minimizes the index value as the reference image block that is most similar to the target partition. The inter prediction unit 104 calculates a motion vector based on the coordinates of the target partition and the coordinates of the most similar reference image block.
また、インター予測部104は、対象マクロブロックを構成する上記パーティションのサイズのうち、符号化コストが最小となるパーティションのサイズを選択する。例えば、インター予測部104は、以下の処理を全てのパーティションのサイズに対して行う。まず、インター予測部104は、算出した動きベクトルの水平成分の絶対値、その垂直成分の絶対値及び対象パーティションと対象パーティションと最も類似する参照ブロックとの間の指標値の和をコスト値として算出する。以上の処理を、対象マクロブロックを構成する全てのパーティションに対して行うことでコスト値を算出し、そのコスト値の和をパーティションのサイズ毎に求めていく。そして、パーティションのサイズのうちコスト値の和が最も小さくなったパーティションのサイズを選択する。
Also, the inter prediction unit 104 selects a partition size that minimizes the coding cost among the sizes of the partitions constituting the target macroblock. For example, the inter prediction unit 104 performs the following processing on the sizes of all partitions. First, the inter prediction unit 104 calculates the sum of the absolute value of the calculated horizontal component of the motion vector, the absolute value of the vertical component thereof, and the index value between the target partition and the reference block most similar to the target partition as the cost value. To do. The above processing is performed on all partitions constituting the target macroblock to calculate the cost value, and the sum of the cost values is obtained for each partition size. Then, the partition size with the smallest sum of cost values is selected from among the partition sizes.
他のパーティションサイズの選択方法としては、例えば、RDコストを用いるものもある。RDコストとは、次式から符号化コストJを算出する。
J = D+λ×R
ここで、Dは対象マクロブロックと対象マクロブロックを符号化し復号した画像との差分であり、Rは予想される発生符号量である。また、係数λは、定数であってもよいし、DCT変換・量子化部111における量子化の粗さを制御する量子化パラメータの関数であってもよい。なお、本発明は、具体的な符号化コストの算出方法によって限定されるものではない。 As another partition size selection method, for example, an RD cost is used. With the RD cost, the encoding cost J is calculated from the following equation.
J = D + λ × R
Here, D is a difference between the target macroblock and an image obtained by encoding and decoding the target macroblock, and R is an expected generated code amount. The coefficient λ may be a constant or a function of a quantization parameter that controls the roughness of quantization in the DCT transform /quantization unit 111. The present invention is not limited to a specific encoding cost calculation method.
J = D+λ×R
ここで、Dは対象マクロブロックと対象マクロブロックを符号化し復号した画像との差分であり、Rは予想される発生符号量である。また、係数λは、定数であってもよいし、DCT変換・量子化部111における量子化の粗さを制御する量子化パラメータの関数であってもよい。なお、本発明は、具体的な符号化コストの算出方法によって限定されるものではない。 As another partition size selection method, for example, an RD cost is used. With the RD cost, the encoding cost J is calculated from the following equation.
J = D + λ × R
Here, D is a difference between the target macroblock and an image obtained by encoding and decoding the target macroblock, and R is an expected generated code amount. The coefficient λ may be a constant or a function of a quantization parameter that controls the roughness of quantization in the DCT transform /
次に、インター予測部104は、コスト値が最小となったパーティションのサイズとそのサイズの各パーティションで算出した動きベクトルとに基づいて動き補償を行い、インター予測画像マクロブロックを生成する。具体的には、まず、インター予測部104は、参照画像メモリ102からパーティション毎に、動きベクトルが差す座標の参照画像ブロックを読み取る。インター予測部104は、パーティション毎に、読みだした参照画像ブロックの座標をパーティションの座標に合わせる処理をすることによってインター予測画像マクロブロックを生成する。
インター予測部104は、生成したインター予測画像マクロブロックを符号化モード判定部106に出力し、生成した動きベクトルを情報源符号化部114とスイッチ109に出力する。 Next, theinter prediction unit 104 performs motion compensation based on the size of the partition having the minimum cost value and the motion vector calculated for each partition of the size, and generates an inter predicted image macroblock. Specifically, first, the inter prediction unit 104 reads a reference image block at coordinates indicated by motion vectors for each partition from the reference image memory 102. The inter prediction unit 104 generates an inter predicted image macroblock by performing processing for matching the coordinates of the read reference image block with the coordinates of the partition for each partition.
Theinter prediction unit 104 outputs the generated inter prediction image macroblock to the encoding mode determination unit 106, and outputs the generated motion vector to the information source encoding unit 114 and the switch 109.
インター予測部104は、生成したインター予測画像マクロブロックを符号化モード判定部106に出力し、生成した動きベクトルを情報源符号化部114とスイッチ109に出力する。 Next, the
The
スキップト・マクロブロック部105は、符号化モードメモリ108から対象マクロブロックに隣接するブロックの符号化モード信号を読み出す。同様に、動きベクトルメモリ107から対象マクロブロックに隣接するブロックの動きベクトルを読出し、参照画像メモリ102から対象マクロブロックに隣接する参照画像ブロックの画素値を読みだす。
The skipped macroblock unit 105 reads the encoding mode signal of the block adjacent to the target macroblock from the encoding mode memory 108. Similarly, the motion vector of the block adjacent to the target macroblock is read from the motion vector memory 107, and the pixel value of the reference image block adjacent to the target macroblock is read from the reference image memory 102.
スキップト・マクロブロック部105は、対象マクロブロックに隣接するブロックの符号化モード信号、動きベクトル、及び画素値に基づいてスキップ予測画像マクロブロックを生成する。スキップト・マクロブロック部105は、スキップ予測画像マクロブロックを符号化モード判定部106に出力する。また、スキップト・マクロブロック部105は、隣接するブロックの動きベクトルから、予測ベクトルを生成する場合がある。スキップト・マクロブロック部105は、予測ベクトルを生成した場合には、生成した予測ベクトルをスイッチ109に出力する。処理の詳細については後述する。
The skipped macroblock unit 105 generates a skip prediction image macroblock based on the coding mode signal, the motion vector, and the pixel value of the block adjacent to the target macroblock. The skipped macroblock unit 105 outputs the skip predicted image macroblock to the encoding mode determination unit 106. Further, the skipped macroblock unit 105 may generate a prediction vector from the motion vectors of adjacent blocks. When the skipped macroblock unit 105 generates a prediction vector, the skipped macroblock unit 105 outputs the generated prediction vector to the switch 109. Details of the processing will be described later.
符号化モード判定部106は、デプスマップ入力部101から対象マクロブロックを、イントラ予測部103からイントラ予測画像マクロブロックを、インター予測部104からインター予測画像マクロブロックを、スキップト・マクロブロック部105からスキップ予測画像マクロブロックを、それぞれ入力として受け取る。
The coding mode determination unit 106 receives the target macroblock from the depth map input unit 101, the intra prediction image macroblock from the intra prediction unit 103, the inter prediction image macroblock from the inter prediction unit 104, and the skipped macroblock unit 105. Each skip prediction image macroblock is received as an input.
そして、符号化モード判定部106は、入力された3つの予測画像マクロブロックに基づいて最も符号化効率の高い符号化モードを決定する。具体的には、例えば、符号化モード判定部106は、予測画像マクロブロックの各々と対象マクロブロックとについて、画素毎に信号値の2乗誤差を算出する。そして、符号化モード判定部106は、各予測画像マクロブロック内の2乗誤差の総和を、その予測画像マクロブロックの符号化コストとする。符号化モード判定部106は、全ての予測画像マクロブロックに対して符号化コストを算出し、符号化コストが最も小さい予測画像マクロブロックに対応する符号化モードを最も符号化効率の高い符号化モードとして選択する。他の決定方法としては、例えば、RDコストを用いるものもある。なお、本発明は、具体的な符号化コストの算出方法によって限定されるものではない。
Then, the coding mode determination unit 106 determines a coding mode with the highest coding efficiency based on the three input predicted image macroblocks. Specifically, for example, the encoding mode determination unit 106 calculates the square error of the signal value for each pixel for each predicted image macroblock and the target macroblock. Then, the encoding mode determination unit 106 sets the sum of the square errors in each prediction image macroblock as the encoding cost of the prediction image macroblock. The encoding mode determination unit 106 calculates the encoding cost for all prediction image macroblocks, and sets the encoding mode corresponding to the prediction image macroblock with the lowest encoding cost to the encoding mode with the highest encoding efficiency. Choose as. As another determination method, for example, there is a method using RD cost. The present invention is not limited to a specific encoding cost calculation method.
符号化モード判定部106は、最も符号化効率の高い符号化モードを示す符号化モード信号を情報源符号化部114と符号化モードメモリ108とスイッチ109に出力する。符号化モード判定部106は、最も符号化効率の高い符号化モードに対応する予測画像マクロブロックを、減算部110と加算部113に出力する。なお、本実施形態では、符号化モード信号が示すことができる符号化モードとして、予測画像マクロブロックをスキップト・マクロブロック部105が生成したことを示すスキップト・マクロブロックモードを含む。
The coding mode determination unit 106 outputs a coding mode signal indicating a coding mode with the highest coding efficiency to the information source coding unit 114, the coding mode memory 108, and the switch 109. The encoding mode determination unit 106 outputs the predicted image macroblock corresponding to the encoding mode with the highest encoding efficiency to the subtraction unit 110 and the addition unit 113. In the present embodiment, the coding mode that can be indicated by the coding mode signal includes a skipped macroblock mode indicating that the skipped macroblock unit 105 has generated a predicted image macroblock.
動きベクトルメモリ107は、スイッチ109から入力された動きベクトル又は予測ベクトルを動きベクトルとみなして、符号化されたマクロブロックの順に記憶する。
符号化モードメモリ108は、符号化モード判定部106から入力された、符号化モード判定部106で選択された符号化モードを示す符号化モード信号を、符号化されたマクロブロックの順に記憶する。なお、符号化モード信号は、符号化モード判定部106で選択された符号化モードを示すと共に、対象マクロブロックをどのようなパーティションに分割したかを示す情報も含む。なお、本実施形態において上記パーティションのサイズは、水平方向16画素×垂直方向16画素、16画素×8画素、8画素×16画素、8画素×8画素、8画素×4画素、4画素×8画素、又は、4画素×4画素であるが、本発明は、具体的なパーティションのサイズで限定されるものではない。また、符号化モード判定部106で選択された符号化モードがイントラ予測の場合には、符号化モード信号は、符号化モードとしてイントラ予測を示すと共に、イントラ予測の予測モードを示す情報も含む。 Themotion vector memory 107 regards the motion vector or the prediction vector input from the switch 109 as a motion vector, and stores them in the order of the encoded macro blocks.
Theencoding mode memory 108 stores the encoding mode signal indicating the encoding mode selected by the encoding mode determination unit 106 input from the encoding mode determination unit 106 in the order of the encoded macro blocks. The encoding mode signal indicates the encoding mode selected by the encoding mode determination unit 106 and also includes information indicating what partition the target macroblock is divided into. In this embodiment, the size of the partition is 16 pixels horizontally × 16 pixels vertically, 16 pixels × 8 pixels, 8 pixels × 16 pixels, 8 pixels × 8 pixels, 8 pixels × 4 pixels, 4 pixels × 8. Although it is a pixel or 4 pixels × 4 pixels, the present invention is not limited to a specific partition size. Further, when the encoding mode selected by the encoding mode determination unit 106 is intra prediction, the encoding mode signal indicates intra prediction as the encoding mode and also includes information indicating the prediction mode of intra prediction.
符号化モードメモリ108は、符号化モード判定部106から入力された、符号化モード判定部106で選択された符号化モードを示す符号化モード信号を、符号化されたマクロブロックの順に記憶する。なお、符号化モード信号は、符号化モード判定部106で選択された符号化モードを示すと共に、対象マクロブロックをどのようなパーティションに分割したかを示す情報も含む。なお、本実施形態において上記パーティションのサイズは、水平方向16画素×垂直方向16画素、16画素×8画素、8画素×16画素、8画素×8画素、8画素×4画素、4画素×8画素、又は、4画素×4画素であるが、本発明は、具体的なパーティションのサイズで限定されるものではない。また、符号化モード判定部106で選択された符号化モードがイントラ予測の場合には、符号化モード信号は、符号化モードとしてイントラ予測を示すと共に、イントラ予測の予測モードを示す情報も含む。 The
The
スイッチ109は、符号化モード判定部106から選択された符号化モードに対応する符号化モード信号を受け取り、インター予測部104から動きベクトルを受け取り、スキップト・マクロブロック部から予測ベクトルを受け取る。スイッチ109は、受け取った符号化モード信号がインター予測を示している場合には、受け取った動きベクトルを動きベクトルメモリ107に出力する。スイッチ109は、受け取った符号化モード信号がスキップト・マクロブロックモードを示している場合には、受け取った予測ベクトルを動きベクトルメモリ107に出力する。
The switch 109 receives an encoding mode signal corresponding to the encoding mode selected from the encoding mode determination unit 106, receives a motion vector from the inter prediction unit 104, and receives a prediction vector from the skipped macroblock unit. The switch 109 outputs the received motion vector to the motion vector memory 107 when the received encoding mode signal indicates inter prediction. The switch 109 outputs the received prediction vector to the motion vector memory 107 when the received coding mode signal indicates the skipped macroblock mode.
減算部110は、デプスマップ入力部101から入力されたデプスマクロブロックに含まれる各画素の信号値から、符号化モード判定部106から入力されたイントラ予測画像マクロブロック、インター予測画像マクロブロック、又はスキップ予測画像マクロブロックに含まれる各画素の信号値を減算して、残差信号マクロブロックを算出する。減算部110は、算出した残差信号マクロブロックをDCT変換・量子化部111に出力する。
The subtracting unit 110 uses the intra-predicted image macroblock, the inter-predicted image macroblock input from the coding mode determining unit 106, or the signal value of each pixel included in the depth macroblock input from the depth map input unit 101, or A residual signal macroblock is calculated by subtracting the signal value of each pixel included in the skip predicted image macroblock. The subtraction unit 110 outputs the calculated residual signal macroblock to the DCT transform / quantization unit 111.
DCT変換・量子化部111は、減算部110から入力された残差信号マクロブロックに対して二次元DCT(Discrete Cosine Transform、離散コサイン変換)を行い周波数領域信号としてDCT係数を算出した後、DCT係数の量子化(quantization)を行い、量子化DCT係数を生成する。ここで、量子化とは、入力されたDCT係数を離散的な代表値の1つに変換する処理である。DCT変換・量子化部111は、生成した量子化DCT係数を、逆量子化・逆DCT変換部112及び情報源符号化部114に出力する。
The DCT transform / quantization unit 111 performs a two-dimensional DCT (Discrete Cosine 、 Transform) on the residual signal macroblock input from the subtraction unit 110 to calculate a DCT coefficient as a frequency domain signal. Coefficients are quantized to generate quantized DCT coefficients. Here, the quantization is a process of converting an input DCT coefficient into one of discrete representative values. The DCT transform / quantization unit 111 outputs the generated quantized DCT coefficient to the inverse quantization / inverse DCT transform unit 112 and the information source coding unit 114.
逆量子化・逆DCT変換部112は、DCT変換・量子化部111から入力された量子化DCT係数に逆量子化(de-quantization)を行い、逆量子化DCT係数を生成した後、逆量子化DCT係数に対して2次元逆DCT(inverse Discrete Cosine Transform、逆離散コサイン変換)を行い、空間領域信号として復号された残差信号マクロブロックを生成する。以下、この復号された残差信号マクロブロックを、復号残差信号マクロブロックと呼ぶ。逆量子化・逆DCT変換部112は、生成した復号残差信号マクロブロックを加算部113に出力する。
The inverse quantization / inverse DCT transform unit 112 performs de-quantization on the quantized DCT coefficient input from the DCT transform / quantization unit 111 to generate an inverse quantized DCT coefficient, and then performs inverse quantization. Two-dimensional inverse DCT (inverse Discrete Cosine Transform) is applied to the generalized DCT coefficient to generate a residual signal macroblock decoded as a spatial domain signal. Hereinafter, the decoded residual signal macroblock is referred to as a decoded residual signal macroblock. The inverse quantization / inverse DCT transform unit 112 outputs the generated decoded residual signal macroblock to the adder 113.
加算部113は、符号化モード判定部106から入力されたイントラ予測画像マクロブロック、インター予測画像マクロブロック、又はスキップ予測画像マクロブロックに含まれる各画素の信号値と、逆量子化・逆DCT変換部112から入力された復号残差信号マクロブロックに含まれる各画素の信号値とを加算して、参照画像マクロブロックを生成する。加算部113は、生成した参照画像マクロブロックを参照画像メモリ102に記憶させる。
The addition unit 113 receives the signal value of each pixel included in the intra prediction image macroblock, the inter prediction image macroblock, or the skip prediction image macroblock input from the coding mode determination unit 106, and inverse quantization / inverse DCT transform The signal value of each pixel included in the decoded residual signal macroblock input from the unit 112 is added to generate a reference image macroblock. The adding unit 113 stores the generated reference image macroblock in the reference image memory 102.
情報源符号化部114は、符号化モード判定部から入力された符号化モード信号と、DCT変換・量子化部111から入力された量子化DCT係数と、インター予測部104から入力された動きベクトルとに対して符号化を施し、符号化ストリームを生成する。情報源符号化部114は、入力された情報よりも情報量(ビット数)が少ない符号化ストリームを生成する符号化として、例えば可変長符号化を行う。可変長符号化とは、入力された情報において出現頻度がより高い情報ほどより短い符号を、出現頻度が低い情報ほどより長い符号に変換することによって、情報量を圧縮する符号化方式である。情報源符号化部114は、生成した符号化ストリームを画像符号化装置1の外部へ出力する。
The information source encoding unit 114 includes an encoding mode signal input from the encoding mode determination unit, a quantized DCT coefficient input from the DCT transform / quantization unit 111, and a motion vector input from the inter prediction unit 104. Are encoded to generate an encoded stream. The information source encoding unit 114 performs, for example, variable length encoding as encoding for generating an encoded stream with a smaller amount of information (number of bits) than input information. The variable-length coding is a coding method that compresses the amount of information by converting shorter codes for information with higher appearance frequency into longer codes for information with lower appearance frequency in input information. The information source encoding unit 114 outputs the generated encoded stream to the outside of the image encoding device 1.
次に、本実施形態に係るスキップト・マクロブロック部105の構成例及びその機能について、図4を参照しながら説明する。図4は、本実施形態に係るスキップト・マクロブロック部105の構成例を示す概略図である。
図4で例示するスキップト・マクロブロック部105は、予測画像生成方法選択部1051と、予測ベクトル生成部1052と、予測画像マクロブロック生成部1053と、予測モード決定部1054と、イントラ予測画像マクロブロック生成部1055とを含んで構成される。 Next, a configuration example and functions of the skippedmacroblock unit 105 according to the present embodiment will be described with reference to FIG. FIG. 4 is a schematic diagram illustrating a configuration example of the skipped macroblock unit 105 according to the present embodiment.
The skippedmacroblock unit 105 illustrated in FIG. 4 includes a prediction image generation method selection unit 1051, a prediction vector generation unit 1052, a prediction image macroblock generation unit 1053, a prediction mode determination unit 1054, and an intra prediction image macroblock. And a generation unit 1055.
図4で例示するスキップト・マクロブロック部105は、予測画像生成方法選択部1051と、予測ベクトル生成部1052と、予測画像マクロブロック生成部1053と、予測モード決定部1054と、イントラ予測画像マクロブロック生成部1055とを含んで構成される。 Next, a configuration example and functions of the skipped
The skipped
予測画像生成方法選択部1051は、動きベクトルメモリ107から対象マクロブロックの左、上及び右上に隣接しているマクロブロックの動きベクトルを読み出す。予測画像生成方法選択部1051は、3つの隣接マクロブロックのうち動きベクトルを読み出すことが出来たブロックが予め設定された閾値(ここでは2)以上の場合には、予測ベクトル生成部1052に動きベクトルを出力する。動きベクトルを読み出すことが出来ないブロックがあった場合には、代わりに水平成分、垂直成分がそれぞれ0のベクトル情報を該ブロックの動きベクトルとして出力する。予測画像生成方法選択部1051は、3つの隣接マクロブロックのうち動きベクトルを読み出すことが出来たブロックが1つ以下の場合には、予測モード決定部1054に処理を開始する旨を示す信号を送出する。
The predicted image generation method selection unit 1051 reads the motion vector of the macroblock adjacent to the left, top, and top right of the target macroblock from the motion vector memory 107. When the block from which the motion vector can be read out of the three adjacent macroblocks is equal to or greater than a preset threshold (here, 2), the predicted image generation method selection unit 1051 sends the motion vector to the predicted vector generation unit 1052. Is output. If there is a block from which a motion vector cannot be read, vector information whose horizontal component and vertical component are 0 is output instead as the motion vector of the block. The prediction image generation method selection unit 1051 sends a signal indicating that processing is to be started to the prediction mode determination unit 1054 when the number of blocks from which motion vectors can be read out of three adjacent macroblocks is less than one. To do.
このように、予測画像生成方法選択部1051は、対象マクロブロックの予測画像を、隣接するブロックの画素値に基づき生成(イントラ予測により生成)するか、隣接するマクロブロックの動きベクトルに基づき生成(インター予測により生成)するかを決定する。各マクロブロックの動きベクトルは、そのマクロブロックの符号化モードがインター予測であるか、スキップト・マクロブロックモードのインター予測であるときに、存在する。したがって、上述のように、動きベクトルを読み出すことができた隣接マクロブロックの数に基づき決定するということは、イントラ予測により予測画像が生成された隣接マクロブロックの数に基づき決定していることになる。すなわち、予測画像生成方法選択部1051は、イントラ予測により予測画像が生成された隣接マクロブロックの数が、閾値(ここでは2)以上のときは、対象マクロブロックの予測画像をイントラ予測で生成すると決定している。
Thus, the predicted image generation method selection unit 1051 generates a predicted image of the target macroblock based on the pixel value of the adjacent block (generated by intra prediction) or based on the motion vector of the adjacent macroblock ( Whether to generate by inter prediction). The motion vector of each macroblock exists when the encoding mode of the macroblock is inter prediction or inter prediction of skipped macroblock mode. Therefore, as described above, the determination based on the number of adjacent macroblocks from which the motion vector can be read out means that the determination is based on the number of adjacent macroblocks for which the prediction image is generated by the intra prediction. Become. That is, the predicted image generation method selection unit 1051 generates the predicted image of the target macroblock by intra prediction when the number of adjacent macroblocks for which the predicted image has been generated by intra prediction is equal to or greater than a threshold (here, 2). Has been decided.
予測ベクトル生成部1052は、予測画像生成方法選択部1051から対象マクロブロックの左、上及び右上に隣接しているブロックの動きベクトルを受け取る。予測ベクトル生成部1052は、受け取った動きベクトルの水平成分と垂直成分それぞれの中央値を算出することで予測ベクトルを生成する。予測ベクトル生成部1052は、生成した予測ベクトルを予測画像マクロブロック生成部1053およびスイッチ109に出力する。
The prediction vector generation unit 1052 receives the motion vectors of the blocks adjacent to the left, top, and top right of the target macroblock from the prediction image generation method selection unit 1051. The prediction vector generation unit 1052 generates a prediction vector by calculating median values of the horizontal and vertical components of the received motion vector. The prediction vector generation unit 1052 outputs the generated prediction vector to the prediction image macroblock generation unit 1053 and the switch 109.
予測画像マクロブロック生成部1053は、予測ベクトル生成部1052から予測ベクトルを受け取る。予測画像マクロブロック生成部1053は、予測ベクトルに従って動き補償をすることによって、スキップ予測画像マクロブロックを生成する。予測画像マクロブロック生成部1053は、生成したスキップ予測画像マクロブロックを符号化モード判定部106に出力する。
The prediction image macroblock generation unit 1053 receives the prediction vector from the prediction vector generation unit 1052. The prediction image macroblock generation unit 1053 generates a skip prediction image macroblock by performing motion compensation according to the prediction vector. The prediction image macroblock generation unit 1053 outputs the generated skip prediction image macroblock to the encoding mode determination unit 106.
予測モード決定部1054は、予測画像生成方法選択部1051から処理を開始する旨を示す信号を受け取ってから処理を開始する。予測モード決定部1054は、符号化モードメモリ108から対象マクロブロックの左、左上、上及び右上に隣接しているブロックの符号化モードを読み出す。そして、予測モード決定部1054は、隣接しているブロックの符号化モードに応じて、イントラ予測の予測モードを決定する。具体的な決定方法は、図5を用いて説明する。
The prediction mode determination unit 1054 starts processing after receiving a signal indicating that processing is to be started from the predicted image generation method selection unit 1051. The prediction mode determination unit 1054 reads the encoding mode of the block adjacent to the left, upper left, upper and upper right of the target macroblock from the encoding mode memory 108. And the prediction mode determination part 1054 determines the prediction mode of intra prediction according to the encoding mode of the adjacent block. A specific determination method will be described with reference to FIG.
図5に示すように、対象マクロブロックの左に隣接するマクロブロックをブロックA、上に隣接するマクロブロックをブロックB、右上に隣接するブロックをブロックC、左上に隣接するブロックをブロックDと呼称することとする。
まず、予測モード決定部1054は、ブロックBの符号化モードがイントラ予測の予測モードの0を示しているかを確認する(図5の(a))。予測モード決定部1054は、ブロックBの符号化モードがイントラ予測の予測モードの0を示している場合には、イントラ予測モード信号として0を設定する。
次に、予測モード決定部1054は、ブロックBの符号化モードがイントラ予測の予測モードの0を示していない場合には、ブロックAの符号化モードがイントラ予測の予測モードの1を示しているかを確認する(図5の(b))。予測モード決定部1054は、ブロックAの符号化モードがイントラ予測の予測モードの1を示している場合には、イントラ予測モード信号として1を設定する。 As shown in FIG. 5, the macroblock adjacent to the left of the target macroblock is referred to as block A, the macroblock adjacent above is referred to as block B, the block adjacent to the upper right is referred to as block C, and the block adjacent to the upper left is referred to as block D. I decided to.
First, the predictionmode determination unit 1054 confirms whether the encoding mode of the block B indicates 0 of the prediction mode of intra prediction ((a) in FIG. 5). The prediction mode determination unit 1054 sets 0 as the intra prediction mode signal when the coding mode of the block B indicates 0 of the prediction mode of intra prediction.
Next, when the encoding mode of block B does not indicate 0 of the prediction mode of intra prediction, the predictionmode determination unit 1054 indicates that the encoding mode of block A indicates 1 of the prediction mode of intra prediction. Is confirmed ((b) of FIG. 5). The prediction mode determination unit 1054 sets 1 as the intra prediction mode signal when the coding mode of the block A indicates 1 of the prediction mode of intra prediction.
まず、予測モード決定部1054は、ブロックBの符号化モードがイントラ予測の予測モードの0を示しているかを確認する(図5の(a))。予測モード決定部1054は、ブロックBの符号化モードがイントラ予測の予測モードの0を示している場合には、イントラ予測モード信号として0を設定する。
次に、予測モード決定部1054は、ブロックBの符号化モードがイントラ予測の予測モードの0を示していない場合には、ブロックAの符号化モードがイントラ予測の予測モードの1を示しているかを確認する(図5の(b))。予測モード決定部1054は、ブロックAの符号化モードがイントラ予測の予測モードの1を示している場合には、イントラ予測モード信号として1を設定する。 As shown in FIG. 5, the macroblock adjacent to the left of the target macroblock is referred to as block A, the macroblock adjacent above is referred to as block B, the block adjacent to the upper right is referred to as block C, and the block adjacent to the upper left is referred to as block D. I decided to.
First, the prediction
Next, when the encoding mode of block B does not indicate 0 of the prediction mode of intra prediction, the prediction
次に、予測モード決定部1054は、ブロックAの符号化モードがイントラ予測の予測モードの1を示していない場合には、ブロックCの符号化モードがブロックCのブロックのサイズが16×16ではなく、且つイントラ予測の予測モードの3又は7を示しているかを確認する(図5の(c))。予測モード決定部1054は、ブロックCの符号化モードがブロックCのブロックのサイズが16×16ではなく、且つイントラ予測の予測モードの3又は7を示している場合には、イントラ予測モード信号としてブロックCの予測モードと同じ値を設定する。
Next, when the encoding mode of block A does not indicate 1 of the prediction mode of intra prediction, the prediction mode determination unit 1054 determines that the encoding mode of block C is 16 × 16. And whether the prediction mode 3 or 7 of the intra prediction is indicated ((c) in FIG. 5). When the block C encoding mode is not 16 × 16 and the prediction mode determination unit 1054 indicates the intra prediction prediction mode 3 or 7, the prediction mode determination unit 1054 outputs the intra prediction mode signal. The same value as the prediction mode of block C is set.
次に、予測モード決定部1054は、ブロックCの符号化モードがブロックCのパーティションのサイズが16×16ではなく、且つイントラ予測の予測モードの3又は7を示していない場合には、ブロックDの符号化モードがイントラ予測の予測モードの4,5又は6を示しているかを確認する(図5の(d))。予測モード決定部1054は、ブロックDの符号化モードがイントラ予測の予測モードの4,5又は6を示している場合には、イントラ予測モード信号としてブロックDの予測モードと同じ値を設定する。
次に、予測モード決定部1054は、ブロックDの符号化モードがイントラ予測の予測モードの4,5又は6を示していない場合には、イントラ予測モード信号として2を設定する。
予測モード決定部1054は、設定したイントラ予測モード信号をイントラ予測画像マクロブロック生成部1055に出力する。 Next, when the encoding mode of the block C is not 16 × 16 and the size of the partition of the block C is 16 × 16 and the predictionmode determination unit 1054 does not indicate the prediction mode 3 or 7 of the intra prediction, the prediction mode determination unit 1054 It is confirmed whether the encoding mode of 4 indicates 4, 5 or 6 of the prediction mode of intra prediction ((d) in FIG. 5). The prediction mode determination unit 1054 sets the same value as the prediction mode of the block D as the intra prediction mode signal when the encoding mode of the block D indicates 4, 5 or 6 of the prediction mode of intra prediction.
Next, the predictionmode determination part 1054 sets 2 as an intra prediction mode signal, when the encoding mode of the block D has not shown 4, 5 or 6 of the prediction mode of intra prediction.
The predictionmode determination unit 1054 outputs the set intra prediction mode signal to the intra prediction image macroblock generation unit 1055.
次に、予測モード決定部1054は、ブロックDの符号化モードがイントラ予測の予測モードの4,5又は6を示していない場合には、イントラ予測モード信号として2を設定する。
予測モード決定部1054は、設定したイントラ予測モード信号をイントラ予測画像マクロブロック生成部1055に出力する。 Next, when the encoding mode of the block C is not 16 × 16 and the size of the partition of the block C is 16 × 16 and the prediction
Next, the prediction
The prediction
なお、本実施形態では、予測モード決定部1054は、図5(a)~(d)の順、すなわち予測モード0、1、(3または7)、(4、5または6)、2の順に該当するかを判定した。これは、一般的に予測モードが発生する頻度が高い方からの順としているが、この他の順であってもよい。
また、ブロックBの予測モードが0であるとは、マクロブロックであるブロックBがイントラ予測される際のブロックが16画素×16画素であり、予測モードが0であるときとしてもよい。あるいは、ブロックBがイントラ予測される際のブロックであって、対象マクロブロックに隣接するブロック全ての予測モードが0であるときとしてもよい。あるいは、ブロックBがイントラ予測される際のブロックであって、対象マクロブロックに隣接するブロックのうち、所定の数以上、または、所定の割合以上の予測モードが0であるときとしてもよい。ブロックAの予測モードが1であるときについても同様である。 In the present embodiment, the predictionmode determination unit 1054 performs the order of FIGS. 5A to 5D, that is, the prediction modes 0, 1, (3 or 7), (4, 5 or 6), and 2 in this order. Judgment was made as to whether it was applicable. This is generally the order from the highest occurrence frequency of the prediction mode, but other orders may be used.
The prediction mode of block B may be 0 when the block B, which is a macro block, is intra-predicted by 16 pixels × 16 pixels and the prediction mode is 0. Or it is good also as a block at the time of the block B being intra-predicted, Comprising: When the prediction mode of all the blocks adjacent to an object macroblock is 0. Or it is good also as a block at the time of the block B being intra-predicted, Comprising: When the prediction mode more than a predetermined number or more than a predetermined ratio is 0 among the blocks adjacent to an object macroblock. The same applies when the prediction mode of block A is 1.
また、ブロックBの予測モードが0であるとは、マクロブロックであるブロックBがイントラ予測される際のブロックが16画素×16画素であり、予測モードが0であるときとしてもよい。あるいは、ブロックBがイントラ予測される際のブロックであって、対象マクロブロックに隣接するブロック全ての予測モードが0であるときとしてもよい。あるいは、ブロックBがイントラ予測される際のブロックであって、対象マクロブロックに隣接するブロックのうち、所定の数以上、または、所定の割合以上の予測モードが0であるときとしてもよい。ブロックAの予測モードが1であるときについても同様である。 In the present embodiment, the prediction
The prediction mode of block B may be 0 when the block B, which is a macro block, is intra-predicted by 16 pixels × 16 pixels and the prediction mode is 0. Or it is good also as a block at the time of the block B being intra-predicted, Comprising: When the prediction mode of all the blocks adjacent to an object macroblock is 0. Or it is good also as a block at the time of the block B being intra-predicted, Comprising: When the prediction mode more than a predetermined number or more than a predetermined ratio is 0 among the blocks adjacent to an object macroblock. The same applies when the prediction mode of block A is 1.
イントラ予測画像マクロブロック生成部1055は、予測モード決定部1054からイントラ予測モード信号を受け取り、参照画像メモリ102から対象マクロブロックに隣接するマクロブロックの画素値を読み出す。イントラ予測画像マクロブロック生成部1055は、イントラ予測モード信号で示されるイントラ予測モードの予測方向に基づいたイントラ予測を用いて、対象マクロブロックに隣接するブロックの画素値からスキップ予測画像マクロブロックを生成する。なお、イントラ予測画像マクロブロックは、16画素×16画素であるが、図3(a)に示す予測モードと予測方向との関係に従った予測方向を用いる。イントラ予測画像マクロブロック生成部1055は、生成したスキップ予測画像マクロブロックとスキップ予測画像マクロブロックをイントラ予測で生成したことを示す信号とを符号化モード判定部106に出力する。
The intra predicted image macroblock generation unit 1055 receives the intra prediction mode signal from the prediction mode determination unit 1054, and reads the pixel value of the macroblock adjacent to the target macroblock from the reference image memory 102. The intra prediction image macroblock generation unit 1055 generates a skip prediction image macroblock from the pixel values of the blocks adjacent to the target macroblock, using intra prediction based on the prediction direction of the intra prediction mode indicated by the intra prediction mode signal. To do. In addition, although an intra prediction image macroblock is 16 pixels x 16 pixels, the prediction direction according to the relationship between the prediction mode and prediction direction shown to Fig.3 (a) is used. The intra predicted image macroblock generation unit 1055 outputs the generated skip predicted image macroblock and a signal indicating that the skip predicted image macroblock has been generated by intra prediction to the encoding mode determination unit 106.
次に、本実施形態に係る画像符号化装置1が行う画像符号化処理について、図6及び図7を参照しながら説明する。図6及び図7は、本実施形態に係る画像符号化装置1が行う画像符号化処理の一例を説明するためのフローチャートである。
まず、ステップS101において、デプスマップ入力部101は、画像前置処理部2からデプスマップをフレーム毎に入力する。その後、ステップS102へ進む。
画像符号化装置1は、ステップS102において、ステップS103~S120の処理を、入力されたフレームに含まれるマクロブロック毎に行う。なお、ステップS103~S105の順序は問わない。 Next, image encoding processing performed by theimage encoding device 1 according to the present embodiment will be described with reference to FIGS. 6 and 7. 6 and 7 are flowcharts for explaining an example of the image encoding process performed by the image encoding device 1 according to this embodiment.
First, in step S101, the depthmap input unit 101 inputs a depth map from the image preprocessing unit 2 for each frame. Then, it progresses to step S102.
In step S102, theimage encoding device 1 performs the processes in steps S103 to S120 for each macroblock included in the input frame. The order of steps S103 to S105 does not matter.
まず、ステップS101において、デプスマップ入力部101は、画像前置処理部2からデプスマップをフレーム毎に入力する。その後、ステップS102へ進む。
画像符号化装置1は、ステップS102において、ステップS103~S120の処理を、入力されたフレームに含まれるマクロブロック毎に行う。なお、ステップS103~S105の順序は問わない。 Next, image encoding processing performed by the
First, in step S101, the depth
In step S102, the
ステップS103において、イントラ予測部103は、参照画像メモリ102から対象マクロブロックと同一フレーム内の対象マクロブロックに隣接する符号化に係る処理を行った参照画像ブロックを読みだす。イントラ予測部103は、読みだした参照マクロブロックに基づいてフレーム内予測を行い、イントラ予測画像マクロブロックを生成する。イントラ予測部103は、生成したイントラ予測画像マクロブロックを符号化モード判定部106に出力する。その後、ステップS104へ進む。
In step S103, the intra prediction unit 103 reads from the reference image memory 102 a reference image block that has been subjected to processing related to encoding adjacent to the target macroblock in the same frame as the target macroblock. The intra prediction unit 103 performs intra-frame prediction based on the read reference macroblock, and generates an intra predicted image macroblock. The intra prediction unit 103 outputs the generated intra predicted image macroblock to the encoding mode determination unit 106. Thereafter, the process proceeds to step S104.
ステップS104において、インター予測部104は、デプスマップ入力部101から対象マクロブロックを入力し、参照画像メモリ102から参照画像を構成する参照画像ブロックを読み出す。インター予測部104は、対象マクロブロックを1つ若しくは複数のパーティションに分割し、各々のパーティションに対して、順次、動きベクトルを検出する。インター予測部104は、対象マクロブロックを構成する上記パーティションのサイズのうち、符号化コストが最小となるパーティションのサイズを選択する。インター予測部104は、符号化コストが最小となったパーティションのサイズと各パーティションの動きベクトルに基づいて動き補償又は視差補償を行い、インター予測画像マクロブロックを生成する。インター予測部104は、算出したベクトルを情報源符号化部114とスイッチ109に出力する。インター予測部104は、生成したインター予測画像マクロブロックを符号化モード判定部106に出力する。その後、ステップS105に進む。
In step S104, the inter prediction unit 104 inputs the target macroblock from the depth map input unit 101, and reads the reference image block constituting the reference image from the reference image memory 102. The inter prediction unit 104 divides the target macroblock into one or a plurality of partitions, and sequentially detects a motion vector for each partition. The inter prediction unit 104 selects the size of the partition that minimizes the coding cost from among the sizes of the partitions constituting the target macroblock. The inter prediction unit 104 performs motion compensation or disparity compensation based on the partition size and the motion vector of each partition with the minimum coding cost, and generates an inter prediction image macroblock. The inter prediction unit 104 outputs the calculated vector to the information source encoding unit 114 and the switch 109. The inter prediction unit 104 outputs the generated inter prediction image macroblock to the encoding mode determination unit 106. Thereafter, the process proceeds to step S105.
ステップS105において、スキップト・マクロブロック部105は、符号化モードメモリ108から対象マクロブロックに隣接するマクロブロックの符号化モード信号と、動きベクトルメモリ107から対象マクロブロックに隣接するマクロブロックの動きベクトルと、参照画像メモリ102から対象マクロブロックに隣接する参照画像マクロブロックの画素値を読みだす。スキップト・マクロブロック部105は、読みだした符号化モード信号と、動きベクトルと、隣接する参照画像ブロックの画素値からスキップ予測画像マクロブロックを生成する。スキップト・マクロブロック部105は、スキップ予測画像マクロブロックを符号化モード判定部106に出力する。スキップト・マクロブロック部105が、予測ベクトルを生成している場合には、生成した予測ベクトルをスイッチ109に出力する。その後、ステップS106に進む。
In step S105, the skipped macroblock unit 105 reads from the coding mode memory 108 the coding mode signal of the macroblock adjacent to the target macroblock, and from the motion vector memory 107 to the motion vector of the macroblock adjacent to the target macroblock. Then, the pixel value of the reference image macroblock adjacent to the target macroblock is read from the reference image memory 102. The skipped macroblock unit 105 generates a skip prediction image macroblock from the read encoding mode signal, the motion vector, and the pixel value of the adjacent reference image block. The skipped macroblock unit 105 outputs the skip predicted image macroblock to the encoding mode determination unit 106. If the skipped macroblock unit 105 generates a prediction vector, it outputs the generated prediction vector to the switch 109. Thereafter, the process proceeds to step S106.
ステップS106において、符号化モード判定部106は、デプスマップ入力部101から対象マクロブロックを、イントラ予測部103からイントラ予測画像マクロブロックを、インター予測部104からインター予測画像マクロブロックを、スキップト・マクロブロック部105からスキップ予測画像マクロブロックを、それぞれ入力として受け取る。符号化モード判定部106は、入力された3つの予測画像マクロブロックに基づいて最も符号化効率の高い符号化モードを選択する。符号化モード判定部106は、選択された符号化モードに対応する予測画像マクロブロックを減算部110と加算部113に出力するとともに、選択された符号化モードに対応する符号化モード信号を生成し情報源符号化部114と符号化モードメモリ108とスイッチ109に出力する。その後、ステップS107に進む。
In step S106, the encoding mode determination unit 106 skips the target macroblock from the depth map input unit 101, the intra prediction image macroblock from the intra prediction unit 103, the inter prediction image macroblock from the inter prediction unit 104, and the skipped macro. The skip prediction image macroblock is received as an input from the block unit 105. The encoding mode determination unit 106 selects an encoding mode with the highest encoding efficiency based on the three input predicted image macroblocks. The coding mode determination unit 106 outputs a prediction image macroblock corresponding to the selected coding mode to the subtraction unit 110 and the addition unit 113, and generates a coding mode signal corresponding to the selected coding mode. The information is output to the information source encoding unit 114, the encoding mode memory 108, and the switch 109. Thereafter, the process proceeds to step S107.
ステップS107において、スイッチ109は、符号化モード判定部106から選択された符号化モードに対応する符号化モード信号と、インター予測部104から動きベクトルと、スキップト・マクロブロック部105から予測ベクトルを受け取る。スイッチ109は、選択された符号化モードに対応する符号化モード信号がインター予測を示している場合には、動きベクトルを動きベクトルメモリ107に出力する。スイッチ109は、選択された符号化モードに対応する符号化モード信号がスキップト・マクロブロックモードを示している場合には、予測ベクトルを動きベクトルメモリ107に出力する。動きベクトルメモリ107は、スイッチ109から出力された動きベクトル又は予測ベクトルを動きベクトルとみなして格納する。その後、ステップS108に進む。
In step S107, the switch 109 receives an encoding mode signal corresponding to the encoding mode selected from the encoding mode determination unit 106, a motion vector from the inter prediction unit 104, and a prediction vector from the skipped macroblock unit 105. . The switch 109 outputs a motion vector to the motion vector memory 107 when the encoding mode signal corresponding to the selected encoding mode indicates inter prediction. The switch 109 outputs the prediction vector to the motion vector memory 107 when the encoding mode signal corresponding to the selected encoding mode indicates the skipped macroblock mode. The motion vector memory 107 stores the motion vector or prediction vector output from the switch 109 as a motion vector. Thereafter, the process proceeds to step S108.
ステップS108において、符号化モードメモリ108は、符号化モード判定部106から出力された選択された符号化モードに対応する符号化モード信号を、符号化されたマクロブロックの順に記憶する。その後、ステップS109に進む。
In step S108, the encoding mode memory 108 stores the encoding mode signals corresponding to the selected encoding mode output from the encoding mode determination unit 106 in the order of the encoded macro blocks. Thereafter, the process proceeds to step S109.
ステップ109において、減算部110は、デプスマップ入力部101から入力された対象マクロブロックに含まれる各画素の信号値から符号化モード判定部106から入力されたイントラ予測画像マクロブロック、インター予測画像マクロブロック、又はスキップ予測画像マクロブロックに含まれる各画素の信号値を減算して、残差信号マクロブロックを算出する。減算部110は、算出した残差信号マクロブロックをDCT変換・量子化部111に出力する。その後、ステップS110に進む。
In step 109, the subtraction unit 110 receives the intra prediction image macroblock and the inter prediction image macro input from the encoding mode determination unit 106 from the signal values of the respective pixels included in the target macroblock input from the depth map input unit 101. A residual signal macroblock is calculated by subtracting the signal value of each pixel included in the block or skip prediction image macroblock. The subtraction unit 110 outputs the calculated residual signal macroblock to the DCT transform / quantization unit 111. Then, it progresses to step S110.
ステップS110において、DCT変換・量子化部111は、減算部110から入力された残差信号マクロブロックに対して二次元DCTを行い、DCT係数を算出した後、DCT係数の量子化を行い、量子化DCT係数を生成する。DCT変換・量子化部111は、生成した量子化DCT係数を逆量子化・逆DCT変換部112及び情報源符号化部114に出力する。その後、ステップS111に進む。
In step S110, the DCT transform / quantization unit 111 performs two-dimensional DCT on the residual signal macroblock input from the subtraction unit 110, calculates the DCT coefficient, quantizes the DCT coefficient, Generalized DCT coefficients are generated. The DCT transform / quantization unit 111 outputs the generated quantized DCT coefficient to the inverse quantization / inverse DCT transform unit 112 and the information source coding unit 114. Then, it progresses to step S111.
ステップS111において、逆量子化・逆DCT変換部112は、DCT変換・量子化部111から入力された量子化DCT係数に逆量子化を行い、逆量子化DCT係数を生成した後、逆量子化DCT係数に対して2次元逆DCTを行い、復号残差信号マクロブロックを生成する。逆量子化・逆DCT変換部112は、生成した復号残差信号マクロブロックを加算部113に出力する。その後、ステップS112に進む。
In step S111, the inverse quantization / inverse DCT transformation unit 112 performs inverse quantization on the quantized DCT coefficient input from the DCT transformation / quantization unit 111 to generate an inverse quantization DCT coefficient, and then performs inverse quantization. Two-dimensional inverse DCT is performed on the DCT coefficients to generate a decoded residual signal macroblock. The inverse quantization / inverse DCT transform unit 112 outputs the generated decoded residual signal macroblock to the adder 113. Thereafter, the process proceeds to step S112.
ステップS112において、加算部113は、符号化モード判定部106から入力されたイントラ予測画像マクロブロック、インター予測画像マクロブロック、又はスキップ予測画像マクロブロックに含まれる各画素の信号値と、逆量子化・逆DCT変換部112から入力された復号残差信号マクロブロックに含まれる各画素の信号値とを加算して、参照画像マクロブロックを生成する。その後、ステップS113に進む。
ステップS113において、加算部113は、生成した参照画像マクロブロックを参照画像メモリ104に記憶する。その後、図7のステップS114に進む。 In step S112, theaddition unit 113 performs inverse quantization on the signal value of each pixel included in the intra prediction image macroblock, the inter prediction image macroblock, or the skip prediction image macroblock input from the encoding mode determination unit 106. A reference image macroblock is generated by adding the signal value of each pixel included in the decoded residual signal macroblock input from the inverse DCT transform unit 112. Thereafter, the process proceeds to step S113.
In step S <b> 113, the addingunit 113 stores the generated reference image macroblock in the reference image memory 104. Then, it progresses to step S114 of FIG.
ステップS113において、加算部113は、生成した参照画像マクロブロックを参照画像メモリ104に記憶する。その後、図7のステップS114に進む。 In step S112, the
In step S <b> 113, the adding
図7のステップS114において、符号化モード判定部106による符号化モードの判定結果に従い、符号化モードがスキップト・マクロブロックモードの場合には(ステップS114でYES)、ステップS115に進み、そうでない場合には(ステップS114でNO)ステップS116に進む。
In step S114 of FIG. 7, according to the determination result of the encoding mode by the encoding mode determination unit 106, if the encoding mode is the skipped macroblock mode (YES in step S114), the process proceeds to step S115, otherwise (NO in step S114), the process proceeds to step S116.
ステップS115において、情報源符号化部114は、符号化モード判定部106から入力された符号化モード信号を符号化し、符号化ストリームを生成する。その後、ステップS119に進む。
ステップS116において、符号化モードがインター予測の場合には(ステップS116でYES)、ステップS117に進み、符号化モードがイントラ予測の場合には(ステップS116でNO)、ステップS118に進む。 In step S115, the informationsource encoding unit 114 encodes the encoding mode signal input from the encoding mode determination unit 106, and generates an encoded stream. Thereafter, the process proceeds to step S119.
In step S116, if the encoding mode is inter prediction (YES in step S116), the process proceeds to step S117. If the encoding mode is intra prediction (NO in step S116), the process proceeds to step S118.
ステップS116において、符号化モードがインター予測の場合には(ステップS116でYES)、ステップS117に進み、符号化モードがイントラ予測の場合には(ステップS116でNO)、ステップS118に進む。 In step S115, the information
In step S116, if the encoding mode is inter prediction (YES in step S116), the process proceeds to step S117. If the encoding mode is intra prediction (NO in step S116), the process proceeds to step S118.
ステップS117において、情報源符号化部114は、符号化モード判定部106から入力された符号化モード信号、DCT変換・量子化部111から入力された量子化DCT係数、及びインター予測部104から入力された動きベクトルを符号化し、符号化ストリームを生成する。その後、ステップS119に進む。
ステップS118において、情報源符号化部114は、符号化モード判定部106から入力された符号化モード信号とDCT変換・量子化部111から入力された量子化DCT係数とを符号化し、符号化ストリームを生成する。その後、ステップS119に進む。 In step S117, the informationsource encoding unit 114 receives the encoding mode signal input from the encoding mode determination unit 106, the quantized DCT coefficient input from the DCT transform / quantization unit 111, and the input from the inter prediction unit 104. The encoded motion vector is encoded to generate an encoded stream. Thereafter, the process proceeds to step S119.
In step S118, the informationsource encoding unit 114 encodes the encoding mode signal input from the encoding mode determination unit 106 and the quantized DCT coefficient input from the DCT transform / quantization unit 111 to generate an encoded stream. Is generated. Thereafter, the process proceeds to step S119.
ステップS118において、情報源符号化部114は、符号化モード判定部106から入力された符号化モード信号とDCT変換・量子化部111から入力された量子化DCT係数とを符号化し、符号化ストリームを生成する。その後、ステップS119に進む。 In step S117, the information
In step S118, the information
ステップS119において、情報源符号化部114は、生成した符号化ストリームを画像符号化装置1の外部へ出力する。その後、ステップS120に進む。
ステップS120において、画像符号化装置1は、符号化対象のマクロブロックをラスタースキャンの順序で順次に変更し、図6のステップS103に戻る。但し、画像符号化装置1は、入力されたデプスマップのフレームに符号化に係る処理がまだ行われていないブロックがないと判定した場合には、そのフレームに対する処理を終了する。 In step S119, the informationsource encoding unit 114 outputs the generated encoded stream to the outside of the image encoding device 1. Thereafter, the process proceeds to step S120.
In step S120, theimage encoding device 1 sequentially changes the macroblocks to be encoded in the raster scan order, and returns to step S103 in FIG. However, if the image encoding device 1 determines that there is no block that has not yet been subjected to encoding processing in the frame of the input depth map, it ends the processing for that frame.
ステップS120において、画像符号化装置1は、符号化対象のマクロブロックをラスタースキャンの順序で順次に変更し、図6のステップS103に戻る。但し、画像符号化装置1は、入力されたデプスマップのフレームに符号化に係る処理がまだ行われていないブロックがないと判定した場合には、そのフレームに対する処理を終了する。 In step S119, the information
In step S120, the
次に、本実施形態に係るスキップト・マクロブロック部105におけるスキップ予測画像マクロブロック生成処理について、図8及び図9を参照しながら説明する。図8及び図9は、本実施形態に係るスキップト・マクロブロック部105におけるスキップ予測画像マクロブロック生成処理の一例を説明するためのフローチャートである。この処理は、上述のステップS105に相当する処理である。
Next, skip predicted image macroblock generation processing in the skipped macroblock unit 105 according to the present embodiment will be described with reference to FIGS. 8 and 9. 8 and 9 are flowcharts for explaining an example of the skip predicted image macroblock generation processing in the skipped macroblock unit 105 according to the present embodiment. This process is a process corresponding to step S105 described above.
ステップS201において、予測画像生成方法選択部1051は、動きベクトルメモリ107から対象マクロブロックの左、上及び右上に隣接しているマクロブロックの動きベクトルを読み出す。その後、ステップS202に進む。
ステップS202において、予測画像生成方法選択部1051は、3つの隣接マクロブロックのうち動きベクトルを読み出すことが出来たブロックが2つ以上あったか否かを判定する。2つ以上あった場合には(ステップS202のYes)、予測ベクトル生成部1052に動きベクトルを出力し、ステップS203に進む。2つ以上なかった場合には(ステップS202のNo)、図9のステップS206に進む。 In step S <b> 201, the predicted image generationmethod selection unit 1051 reads from the motion vector memory 107 the motion vectors of macroblocks adjacent to the left, upper, and upper right of the target macroblock. Thereafter, the process proceeds to step S202.
In step S202, the predicted image generationmethod selection unit 1051 determines whether or not there are two or more blocks from which motion vectors can be read out among the three adjacent macroblocks. If there are two or more (Yes in step S202), the motion vector is output to the prediction vector generation unit 1052, and the process proceeds to step S203. If there are not two or more (No in step S202), the process proceeds to step S206 in FIG.
ステップS202において、予測画像生成方法選択部1051は、3つの隣接マクロブロックのうち動きベクトルを読み出すことが出来たブロックが2つ以上あったか否かを判定する。2つ以上あった場合には(ステップS202のYes)、予測ベクトル生成部1052に動きベクトルを出力し、ステップS203に進む。2つ以上なかった場合には(ステップS202のNo)、図9のステップS206に進む。 In step S <b> 201, the predicted image generation
In step S202, the predicted image generation
ステップ203において、予測ベクトル生成部1052は、予測画像生成方法選択部1051から対象マクロブロックの左、上及び右上に隣接しているマクロブロックの動きベクトルを受け取る。予測ベクトル生成部1052は、受け取った動きベクトルの水平成分と垂直成分それぞれの中央値を算出することで予測ベクトルを生成する。予測ベクトル生成部1052は、生成した予測ベクトルを予測画像マクロブロック生成部1053に出力する。その後、ステップS204に進む。
ステップS204において、予測画像マクロブロック生成部1053は、予測ベクトル生成部1052から予測ベクトルを受け取る。その後、ステップS205に進む。
ステップS205において、予測画像マクロブロック生成部1053は、予測ベクトルに従って動き補償をすることによって、スキップ予測画像マクロブロックを生成する。予測画像マクロブロック生成部1053は、生成したスキップ予測画像マクロブロックを符号化モード判定部106に出力し、処理を終了する。 In step 203, the predictionvector generation unit 1052 receives the motion vector of the macroblock adjacent to the left, top and top right of the target macroblock from the prediction image generation method selection unit 1051. The prediction vector generation unit 1052 generates a prediction vector by calculating median values of the horizontal and vertical components of the received motion vector. The prediction vector generation unit 1052 outputs the generated prediction vector to the prediction image macroblock generation unit 1053. Thereafter, the process proceeds to step S204.
In step S <b> 204, the predicted imagemacroblock generation unit 1053 receives the prediction vector from the prediction vector generation unit 1052. Thereafter, the process proceeds to step S205.
In step S205, the predicted imagemacroblock generation unit 1053 generates a skip predicted image macroblock by performing motion compensation according to the prediction vector. The prediction image macroblock generation unit 1053 outputs the generated skip prediction image macroblock to the encoding mode determination unit 106 and ends the process.
ステップS204において、予測画像マクロブロック生成部1053は、予測ベクトル生成部1052から予測ベクトルを受け取る。その後、ステップS205に進む。
ステップS205において、予測画像マクロブロック生成部1053は、予測ベクトルに従って動き補償をすることによって、スキップ予測画像マクロブロックを生成する。予測画像マクロブロック生成部1053は、生成したスキップ予測画像マクロブロックを符号化モード判定部106に出力し、処理を終了する。 In step 203, the prediction
In step S <b> 204, the predicted image
In step S205, the predicted image
図9のステップS206において、予測モード決定部1054は、符号化モードメモリ108から対象マクロブロックに隣接するブロックA、ブロックB、ブロックC及びブロックDの符号化モードを読み出す。その後、ステップS207に進む。
ステップS207において、予測モード決定部1054は、ブロックBの符号化モードがイントラ予測の予測モードの0を示しているかを確認し、示している場合には(ステップS207のYes)、ステップS208に進み、示していない場合には(ステップS207のNo)、ステップS209に進む。
ステップS208において、予測モード決定部1054は、対象マクロブロックのイントラ予測モード信号として0を設定する。予測モード決定部1054は、設定したイントラ予測モード信号をイントラ予測画像マクロブロック生成部1055に出力する。その後、ステップS216に進む。 In step S206 of FIG. 9, the predictionmode determination unit 1054 reads out the encoding modes of block A, block B, block C, and block D adjacent to the target macroblock from the encoding mode memory 108. Thereafter, the process proceeds to step S207.
In step S207, the predictionmode determination unit 1054 confirms whether the encoding mode of block B indicates 0 of the prediction mode of intra prediction (Yes in step S207), and proceeds to step S208. If not shown (No in step S207), the process proceeds to step S209.
In step S208, the predictionmode determination unit 1054 sets 0 as the intra prediction mode signal of the target macroblock. The prediction mode determination unit 1054 outputs the set intra prediction mode signal to the intra prediction image macroblock generation unit 1055. Thereafter, the process proceeds to step S216.
ステップS207において、予測モード決定部1054は、ブロックBの符号化モードがイントラ予測の予測モードの0を示しているかを確認し、示している場合には(ステップS207のYes)、ステップS208に進み、示していない場合には(ステップS207のNo)、ステップS209に進む。
ステップS208において、予測モード決定部1054は、対象マクロブロックのイントラ予測モード信号として0を設定する。予測モード決定部1054は、設定したイントラ予測モード信号をイントラ予測画像マクロブロック生成部1055に出力する。その後、ステップS216に進む。 In step S206 of FIG. 9, the prediction
In step S207, the prediction
In step S208, the prediction
ステップS209において、予測モード決定部1054は、ブロックAの符号化モードがイントラ予測の予測モードの1を示しているかを確認し、示している場合には(ステップS209のYes)、ステップS210に進み、示していない場合には(ステップS209のNo)、ステップS211に進む。
ステップS210において、予測モード決定部1054は、対象マクロブロックのイントラ予測モード信号として1を設定する。予測モード決定部1054は、設定したイントラ予測モード信号をイントラ予測画像マクロブロック生成部1055に出力する。その後、ステップS216に進む。 In step S209, the predictionmode determination unit 1054 confirms whether the coding mode of block A indicates 1 of the prediction mode of intra prediction (Yes in step S209), and proceeds to step S210. If not shown (No in step S209), the process proceeds to step S211.
In step S210, the predictionmode determination part 1054 sets 1 as an intra prediction mode signal of an object macroblock. The prediction mode determination unit 1054 outputs the set intra prediction mode signal to the intra prediction image macroblock generation unit 1055. Thereafter, the process proceeds to step S216.
ステップS210において、予測モード決定部1054は、対象マクロブロックのイントラ予測モード信号として1を設定する。予測モード決定部1054は、設定したイントラ予測モード信号をイントラ予測画像マクロブロック生成部1055に出力する。その後、ステップS216に進む。 In step S209, the prediction
In step S210, the prediction
ステップS211において、予測モード決定部1054は、ブロックCの符号化モードがブロックCのブロックのサイズが16×16ではなく、且つイントラ予測の予測モードの3又は7を示しているかを確認し、示している場合には(ステップS211のYes)、ステップS212に進み、示していない場合には(ステップS211のNo)、ステップS213に進む。
ステップS212において、予測モード決定部1054は、対象マクロブロックのイントラ予測モード信号としてブロックCの予測モードと同じ値を設定する。予測モード決定部1054は、設定したイントラ予測モード信号をイントラ予測画像マクロブロック生成部1055に出力する。その後、ステップS216に進む。 In step S211, the predictionmode determination unit 1054 confirms whether the coding mode of the block C indicates that the block size of the block C is not 16 × 16 and indicates the prediction mode 3 or 7 of the intra prediction. If yes (Yes in step S211), the process proceeds to step S212. If not indicated (No in step S211), the process proceeds to step S213.
In step S212, the predictionmode determination part 1054 sets the same value as the prediction mode of the block C as an intra prediction mode signal of an object macroblock. The prediction mode determination unit 1054 outputs the set intra prediction mode signal to the intra prediction image macroblock generation unit 1055. Thereafter, the process proceeds to step S216.
ステップS212において、予測モード決定部1054は、対象マクロブロックのイントラ予測モード信号としてブロックCの予測モードと同じ値を設定する。予測モード決定部1054は、設定したイントラ予測モード信号をイントラ予測画像マクロブロック生成部1055に出力する。その後、ステップS216に進む。 In step S211, the prediction
In step S212, the prediction
ステップS213において、予測モード決定部1054は、ブロックDの符号化モードがイントラ予測の予測モードの4、5又は6を示しているかを確認し、示している場合には(ステップS213のYes)、ステップS214に進み、示していない場合には(ステップS213のNo)、ステップS215に進む。
ステップS214において、予測モード決定部1054は、対象マクロブロックのイントラ予測モード信号としてブロックDの予測モードと同じ値を設定する。予測モード決定部1054は、設定したイントラ予測モード信号をイントラ予測画像マクロブロック生成部1055に出力する。その後、ステップS216に進む。 In step S213, the predictionmode determination unit 1054 confirms whether the encoding mode of the block D indicates 4, 5, or 6 of the prediction mode of intra prediction, and if it indicates (Yes in step S213), The process proceeds to step S214, and if not shown (No in step S213), the process proceeds to step S215.
In step S214, the predictionmode determination unit 1054 sets the same value as the prediction mode of the block D as the intra prediction mode signal of the target macroblock. The prediction mode determination unit 1054 outputs the set intra prediction mode signal to the intra prediction image macroblock generation unit 1055. Thereafter, the process proceeds to step S216.
ステップS214において、予測モード決定部1054は、対象マクロブロックのイントラ予測モード信号としてブロックDの予測モードと同じ値を設定する。予測モード決定部1054は、設定したイントラ予測モード信号をイントラ予測画像マクロブロック生成部1055に出力する。その後、ステップS216に進む。 In step S213, the prediction
In step S214, the prediction
ステップS215において、予測モード決定部1054は、対象マクロブロックのイントラ予測モード信号として2を設定する。予測モード決定部1054は、設定したイントラ予測モード信号をイントラ予測画像マクロブロック生成部1055に出力する。その後、ステップS216に進む。
ステップS216において、イントラ予測画像マクロブロック生成部1055は、予測モード決定部1054からイントラ予測モード信号を受け取り、参照画像メモリ102から対象マクロブロックに隣接するブロックの画素値を読み出す。イントラ予測画像マクロブロック生成部1055は、イントラ予測モード信号で示されるイントラ予測モードの予測方向に基づいたイントラ予測を用いて、対象マクロブロックに隣接するブロックの画素値からスキップ予測画像マクロブロックを生成する。イントラ予測画像マクロブロック生成部1055は、生成したスキップ予測画像マクロブロックを符号化モード判定部106に出力し、処理を終了する。 In step S215, the predictionmode determination part 1054 sets 2 as an intra prediction mode signal of an object macroblock. The prediction mode determination unit 1054 outputs the set intra prediction mode signal to the intra prediction image macroblock generation unit 1055. Thereafter, the process proceeds to step S216.
In step S216, the intra prediction imagemacroblock generation unit 1055 receives the intra prediction mode signal from the prediction mode determination unit 1054, and reads the pixel value of the block adjacent to the target macroblock from the reference image memory 102. The intra prediction image macroblock generation unit 1055 generates a skip prediction image macroblock from the pixel values of the blocks adjacent to the target macroblock, using intra prediction based on the prediction direction of the intra prediction mode indicated by the intra prediction mode signal. To do. The intra predicted image macroblock generation unit 1055 outputs the generated skip predicted image macroblock to the encoding mode determination unit 106, and ends the process.
ステップS216において、イントラ予測画像マクロブロック生成部1055は、予測モード決定部1054からイントラ予測モード信号を受け取り、参照画像メモリ102から対象マクロブロックに隣接するブロックの画素値を読み出す。イントラ予測画像マクロブロック生成部1055は、イントラ予測モード信号で示されるイントラ予測モードの予測方向に基づいたイントラ予測を用いて、対象マクロブロックに隣接するブロックの画素値からスキップ予測画像マクロブロックを生成する。イントラ予測画像マクロブロック生成部1055は、生成したスキップ予測画像マクロブロックを符号化モード判定部106に出力し、処理を終了する。 In step S215, the prediction
In step S216, the intra prediction image
以上のように本実施形態に係る画像符号化装置1では、対象マクロブロックに隣接しているブロックの符号化モードに応じて、スキップト・マクロブロックモードで符号化する際の符号化方法を変更している。そして、スキップト・マクロブロックモードで符号化する際の符号化方法がイントラ予測の場合の予測モードを、対象マクロブロックに隣接しているブロックをイントラ予測で符号化した際の予測モードに応じて決定している。
As described above, in the image encoding device 1 according to the present embodiment, the encoding method when encoding in the skipped macroblock mode is changed according to the encoding mode of the block adjacent to the target macroblock. ing. Then, the prediction mode when the encoding method when encoding in the skipped macroblock mode is intra prediction is determined according to the prediction mode when the block adjacent to the target macroblock is encoded by intra prediction. is doing.
次に、本実施形態に係る画像復号装置について説明する。本実施形態に係る画像復号装置は、上述した画像符号化装置1での画像符号化方法に従いスキップト・マクロブロックモードで符号化された、画素毎のデプス値からなるデプスマップを構成する一部の領域であるマクロブロックを復号する画像復号部を備えている。以下、このような画像復号装置の構成例について図10を参照しながら説明する。図10は、本実施形態に係る画像復号装置の構成例を示す概略図である。
Next, the image decoding apparatus according to this embodiment will be described. The image decoding apparatus according to the present embodiment is a partial map that forms a depth map including depth values for each pixel, which is encoded in the skipped macroblock mode according to the image encoding method in the image encoding apparatus 1 described above. The image decoding part which decodes the macroblock which is an area | region is provided. Hereinafter, a configuration example of such an image decoding device will be described with reference to FIG. FIG. 10 is a schematic diagram illustrating a configuration example of the image decoding apparatus according to the present embodiment.
図10で例示する画像復号装置5は、情報源復号部501、符号化モードメモリ502、動きベクトルメモリ503、逆量子化・逆DCT変換部504、加算部505、参照画像メモリ506、イントラ予測画像生成部507、インター予測画像生成部508、スキップト・マクロブロック部509、符号化モード判定部510、スイッチ511、及び画像出力部512を含んで構成される。
The image decoding apparatus 5 illustrated in FIG. 10 includes an information source decoding unit 501, an encoding mode memory 502, a motion vector memory 503, an inverse quantization / inverse DCT transform unit 504, an addition unit 505, a reference image memory 506, and an intra prediction image. A generation unit 507, an inter prediction image generation unit 508, a skipped macroblock unit 509, an encoding mode determination unit 510, a switch 511, and an image output unit 512 are configured.
情報源復号部501は、画像復号装置5の外部から入力された、デプスマップについてのブロック毎の符号化ストリームを復号し、量子化DCT係数、動きベクトル、及び符号化モード信号を生成する。情報源復号部501が行う復号方法は、図2の情報源符号化部114が行った符号化方法とは逆の処理である。即ち、情報源符号化部114が可変長符号化を行った場合は、情報源復号部501は可変長復号を行う。情報源復号部501は、生成した動きベクトルをインター予測画像生成部508とスイッチ511に出力する。情報源復号部501は、量子化DCT係数を生成した場合、生成した量子化DCT係数を逆量子化・逆DCT変換部504に出力する。情報源復号部501は、生成した符号化モード信号を符号化モードメモリ502に記憶させ、符号化モード判定部510とイントラ予測画像生成部507とインター予測画像生成部508とスイッチ511に出力する。
The information source decoding unit 501 decodes an encoded stream for each block regarding the depth map input from the outside of the image decoding device 5, and generates a quantized DCT coefficient, a motion vector, and an encoding mode signal. The decoding method performed by the information source decoding unit 501 is the reverse of the encoding method performed by the information source encoding unit 114 of FIG. That is, when the information source encoding unit 114 performs variable length encoding, the information source decoding unit 501 performs variable length decoding. The information source decoding unit 501 outputs the generated motion vector to the inter predicted image generation unit 508 and the switch 511. When the information source decoding unit 501 generates the quantized DCT coefficient, the information source decoding unit 501 outputs the generated quantized DCT coefficient to the inverse quantization / inverse DCT transform unit 504. The information source decoding unit 501 stores the generated encoding mode signal in the encoding mode memory 502, and outputs it to the encoding mode determination unit 510, the intra prediction image generation unit 507, the inter prediction image generation unit 508, and the switch 511.
符号化モードメモリ502は、情報源復号部501から符号化モード信号を受け取り、マクロブロックの復号順に格納する。符号化モードメモリ502は、格納した符号化モード信号をスキップト・マクロブロック部509に出力する。
動きベクトルメモリ503は、スイッチ511から動きベクトル又は予測ベクトルを受け取り、マクロブロックの復号順に格納する。動きベクトルメモリ503は、格納した動きベクトルをインター予測画像生成部508とスキップト・マクロブロック部509に出力する。 Thecoding mode memory 502 receives the coding mode signal from the information source decoding unit 501 and stores it in the decoding order of the macroblocks. The encoding mode memory 502 outputs the stored encoding mode signal to the skipped macroblock unit 509.
Themotion vector memory 503 receives a motion vector or a prediction vector from the switch 511, and stores it in the decoding order of macroblocks. The motion vector memory 503 outputs the stored motion vector to the inter predicted image generation unit 508 and the skipped macroblock unit 509.
動きベクトルメモリ503は、スイッチ511から動きベクトル又は予測ベクトルを受け取り、マクロブロックの復号順に格納する。動きベクトルメモリ503は、格納した動きベクトルをインター予測画像生成部508とスキップト・マクロブロック部509に出力する。 The
The
逆量子化・逆DCT変換部504は、情報源復号部501から入力された量子化DCT係数に逆量子化を行い、逆量子化DCT係数を生成した後、逆量子化DCT係数に対して2次元逆DCTを行い、空間領域信号として復号残差信号ブロックを生成する。逆量子化・逆DCT変換部504は、復号残差信号ブロックを加算部505に出力する。
The inverse quantization / inverse DCT transform unit 504 performs inverse quantization on the quantized DCT coefficient input from the information source decoding unit 501 to generate an inverse quantized DCT coefficient, and then performs 2 for the inverse quantized DCT coefficient. Dimensional inverse DCT is performed to generate a decoded residual signal block as a spatial domain signal. The inverse quantization / inverse DCT transform unit 504 outputs the decoded residual signal block to the adder 505.
加算部505は、符号化モード判定部510から入力されたイントラ予測画像マクロブロック、インター予測画像マクロブロック、又はスキップ予測画像マクロブロックのいずれかに含まれる各画素の信号値と、逆量子化・逆DCT変換部504から入力された復号残差信号ブロックに含まれる各画素の信号値とを加算して、参照画像マクロブロックを生成する。加算部505は、生成した参照画像マクロブロックを参照画像メモリ506に記憶させ、画像出力部511に出力する。
The adding unit 505 receives the signal value of each pixel included in any of the intra predicted image macroblock, the inter predicted image macroblock, or the skip predicted image macroblock input from the coding mode determination unit 510, and the inverse quantization / A reference image macroblock is generated by adding the signal value of each pixel included in the decoded residual signal block input from the inverse DCT transform unit 504. The adder 505 stores the generated reference image macroblock in the reference image memory 506 and outputs it to the image output unit 511.
参照画像メモリ506は、加算部505から入力された参照画像マクロブロックを、対応するフレームにおける復号対象マクロブロックの位置に配置して参照画像として記憶する。参照画像メモリ506は、現在から予め設定されたフレーム数(例えば15フレーム)過去のフレームの参照画像を記憶し、記憶されたフレーム数が予め設定されたフレーム数を超えたとき、例えば16フレーム目の参照画像が入力された時、それ以前の過去のフレームの参照画像を全て削除する。
The reference image memory 506 stores the reference image macroblock input from the adder 505 at the position of the decoding target macroblock in the corresponding frame and stores it as a reference image. The reference image memory 506 stores reference images of frames that have been set in advance from the current number of frames (for example, 15 frames), and when the number of stored frames exceeds the number of frames that has been set in advance, for example, the 16th frame. When the reference image is input, all the reference images in the past frames are deleted.
イントラ予測画像生成部507は、情報源復号部501から符号化モード信号を入力される。イントラ予測画像生成部507は、参照画像メモリ506から対象マクロブロックと同一フレーム内の対象マクロブロックに隣接する符号化に係る処理を行った参照画像マクロブロックを読みだす。イントラ予測画像生成部507は、読みだした参照画像マクロブロックと符号化モード信号が示す予測モードに基づいてフレーム内予測を行い、イントラ予測画像マクロブロックを生成する。イントラ予測画像生成部507は、生成したイントラ予測画像マクロブロックを符号化モード判定部510に出力する。
The intra prediction image generation unit 507 receives the encoding mode signal from the information source decoding unit 501. The intra predicted image generation unit 507 reads from the reference image memory 506 a reference image macroblock that has been subjected to processing related to encoding adjacent to the target macroblock in the same frame as the target macroblock. The intra-predicted image generation unit 507 performs intra-frame prediction based on the read reference image macroblock and the prediction mode indicated by the encoding mode signal, and generates an intra-predicted image macroblock. The intra predicted image generation unit 507 outputs the generated intra predicted image macroblock to the coding mode determination unit 510.
インター予測画像生成部508は、情報源復号部501から動きベクトルと符号化モード信号を入力される。インター予測画像生成部508は、対象マクロブロックを構成するパーティション毎に参照画像メモリ506から参照画像を構成する参照画像ブロックを読み出す。このパーティションのサイズは、符号化モード信号に基づいて決定される。インター予測画像生成部508が読み出す参照画像ブロックの座標は、復号対象パーティションの座標に情報源復号部501から入力された動きベクトルを加算することによって補償した座標である。また、読み出す参照画像ブロックの大きさは対応するパーティションの大きさと同一である。インター予測画像生成部508は、読みだした参照画像ブロックの座標を、対応するパーティションの座標に合わせる処理をすることによってインター予測画像マクロブロックを生成する。インター予測画像生成部508は、生成したインター予測画像マクロブロックを符号化モード判定部510に出力する。
The inter prediction image generation unit 508 receives the motion vector and the encoding mode signal from the information source decoding unit 501. The inter prediction image generation unit 508 reads a reference image block constituting a reference image from the reference image memory 506 for each partition constituting the target macroblock. The size of this partition is determined based on the encoding mode signal. The coordinates of the reference image block read by the inter predicted image generation unit 508 are coordinates compensated by adding the motion vector input from the information source decoding unit 501 to the coordinates of the decoding target partition. Further, the size of the reference image block to be read is the same as the size of the corresponding partition. The inter prediction image generation unit 508 generates an inter prediction image macroblock by performing processing for matching the coordinates of the read reference image block with the coordinates of the corresponding partition. The inter prediction image generation unit 508 outputs the generated inter prediction image macroblock to the encoding mode determination unit 510.
スキップト・マクロブロック部509は、符号化モードメモリ502から対象マクロブロックに隣接するブロックの符号化モード信号を読み出す。また、スキップト・マクロブロック部509は、動きベクトルメモリ503から対象マクロブロックに隣接するブロックの動きベクトルを読出し、参照画像メモリ506から対象マクロブロックに隣接する参照画像ブロックの画素値を読みだす。
The skipped macroblock unit 509 reads the encoding mode signal of the block adjacent to the target macroblock from the encoding mode memory 502. The skipped macroblock unit 509 reads the motion vector of the block adjacent to the target macroblock from the motion vector memory 503, and reads the pixel value of the reference image block adjacent to the target macroblock from the reference image memory 506.
スキップト・マクロブロック部509は、対象マクロブロックに隣接するブロックの符号化モード、動きベクトル、及び画素値に基づいてスキップ予測画像マクロブロックを生成する。スキップト・マクロブロック部509は、スキップ予測画像マクロブロックを符号化モード判定部510に出力する。また、スキップト・マクロブロック部509は、隣接するブロックの動きベクトルから、予測ベクトルを生成する場合がある。スキップト・マクロブロック部509は、予測ベクトルを生成した場合には、生成した予測ベクトルをスイッチ511に出力する。スキップト・マクロブロック部509における処理および構成の詳細は、画像符号化装置1のスキップト・マクロブロック部105と同様である。
The skipped macroblock unit 509 generates a skip predicted image macroblock based on the coding mode, motion vector, and pixel value of a block adjacent to the target macroblock. The skipped macroblock unit 509 outputs the skip predicted image macroblock to the encoding mode determination unit 510. Further, the skipped macroblock unit 509 may generate a prediction vector from the motion vectors of adjacent blocks. When the skipped macroblock unit 509 generates a prediction vector, the skipped macroblock unit 509 outputs the generated prediction vector to the switch 511. Details of processing and configuration in the skipped macroblock unit 509 are the same as those of the skipped macroblock unit 105 of the image encoding device 1.
符号化モード判定部510は、情報源復号部501からの符号化モード信号と、イントラ予測画像生成部507からのイントラ予測画像マクロブロックと、インター予測画像生成部508からのインター予測画像マクロブロックと、スキップト・マクロブロック部509からのスキップ予測画像マクロブロックとを入力する。符号化モード判定部510は、符号化モード信号が示す符号化モードに基づいて、イントラ予測画像マクロブロック、インター予測画像マクロブロック、又はスキップ予測画像マクロブロックのいずれかを、加算部505に出力する。
The encoding mode determination unit 510 includes an encoding mode signal from the information source decoding unit 501, an intra prediction image macroblock from the intra prediction image generation unit 507, and an inter prediction image macroblock from the inter prediction image generation unit 508. The skip predicted image macroblock from the skipped macroblock unit 509 is input. The coding mode determination unit 510 outputs one of the intra prediction image macroblock, the inter prediction image macroblock, and the skip prediction image macroblock to the addition unit 505 based on the coding mode indicated by the coding mode signal. .
スイッチ511は、情報源復号部501から符号化モード信号と動きベクトルとを受け取り、スキップト・マクロブロック部509から予測ベクトルを受け取る。スイッチ511は、符号化モード信号がインター予測を示している場合には、動きベクトルを動きベクトルメモリ503に出力する。スイッチ511は、符号化モード信号がスキップト・マクロブロックモードを示している場合には、予測ベクトルを動きベクトルメモリ503に出力する。
The switch 511 receives an encoding mode signal and a motion vector from the information source decoding unit 501 and receives a prediction vector from the skipped macroblock unit 509. The switch 511 outputs a motion vector to the motion vector memory 503 when the encoding mode signal indicates inter prediction. The switch 511 outputs the prediction vector to the motion vector memory 503 when the encoding mode signal indicates the skipped macroblock mode.
画像出力部512は、加算部505から入力された参照画像マクロブロックを、対応するフレームにおける復号対象マクロブロックの位置に配置して参照画像をフレーム毎に生成する。画像出力部512は、生成した参照画像を復号デプスマップとしてフレーム毎に画像復号装置5の外部に出力する。
The image output unit 512 generates the reference image for each frame by arranging the reference image macroblock input from the adding unit 505 at the position of the decoding target macroblock in the corresponding frame. The image output unit 512 outputs the generated reference image to the outside of the image decoding device 5 for each frame as a decoded depth map.
次に、本実施形態に係る画像復号装置5が行う画像復号処理について、図11を参照しながら説明する。図11は、本実施形態に係る画像復号装置5が行う画像復号処理の一例を説明するためのフローチャートである。
画像復号装置5は、ステップS301において、ステップS302~S313の処理をマクロブロック毎に行う。
まず、ステップS302において、情報源復号部501は、画像復号装置5の外部から符号化ストリームを入力する。その後、ステップS303に進む。 Next, image decoding processing performed by theimage decoding device 5 according to the present embodiment will be described with reference to FIG. FIG. 11 is a flowchart for explaining an example of image decoding processing performed by the image decoding device 5 according to the present embodiment.
In step S301, theimage decoding device 5 performs the processing of steps S302 to S313 for each macroblock.
First, in step S <b> 302, the informationsource decoding unit 501 inputs an encoded stream from the outside of the image decoding device 5. Thereafter, the process proceeds to step S303.
画像復号装置5は、ステップS301において、ステップS302~S313の処理をマクロブロック毎に行う。
まず、ステップS302において、情報源復号部501は、画像復号装置5の外部から符号化ストリームを入力する。その後、ステップS303に進む。 Next, image decoding processing performed by the
In step S301, the
First, in step S <b> 302, the information
ステップS303において、情報源復号部501は、ステップS302において入力された符号化ストリームの復号(この例では可変長復号)を行い、符号化モード信号と量子化DCT係数と動きベクトルを生成する。情報源復号部501は、生成した符号化モード信号を符号化モード判定部510と符号化モードメモリ502とイントラ予測画像生成部507とインター予測画像生成部508に出力し、生成した量子化DCT係数を逆量子化・逆DCT変換部504に出力し、生成した動きベクトルをインター予測画像生成部508と動きベクトルメモリに出力する。その後、ステップS304に進む。
In step S303, the information source decoding unit 501 performs decoding (variable length decoding in this example) of the encoded stream input in step S302, and generates an encoding mode signal, a quantized DCT coefficient, and a motion vector. The information source decoding unit 501 outputs the generated encoding mode signal to the encoding mode determination unit 510, the encoding mode memory 502, the intra prediction image generation unit 507, and the inter prediction image generation unit 508, and generates the generated quantized DCT coefficients. Is output to the inverse quantization / inverse DCT transform unit 504, and the generated motion vector is output to the inter prediction image generation unit 508 and the motion vector memory. Thereafter, the process proceeds to step S304.
ステップS304において、逆量子化・逆DCT変換部504は、情報源復号部501から入力された量子化DCT係数に対して逆量子化を行い、逆量子化DCT係数を生成した後、逆量子化DCT係数に対して2次元逆DCTを行い、復号残差信号ブロックを生成する。逆量子化・逆DCT変換部504は、復号残差信号ブロックを加算部505に出力する。その後、ステップS305に進む。
In step S304, the inverse quantization / inverse DCT transform unit 504 performs inverse quantization on the quantized DCT coefficient input from the information source decoding unit 501, generates an inverse quantized DCT coefficient, and then performs inverse quantization. A two-dimensional inverse DCT is performed on the DCT coefficients to generate a decoded residual signal block. The inverse quantization / inverse DCT transform unit 504 outputs the decoded residual signal block to the adder 505. Thereafter, the process proceeds to step S305.
ステップS305において、インター予測画像生成部508は、情報源復号部501から符号化モード信号と対象マクロブロック内の全てのパーティションに対応する動きベクトルを受け取る。インター予測画像生成部508は、情報源復号部501から受け取った符号化モード信号に基づいてマクロブロックをパーティションに分割し、パーティション毎に動きベクトルに基づいて動き補償又は視差補償を行うことで、インター予測画像マクロブロックを生成する。インター予測画像生成部508は、生成したインター予測画像マクロブロックを符号化モード判定部510に出力する。その後、ステップS306に進む。
In step S305, the inter prediction image generation unit 508 receives the encoding mode signal and motion vectors corresponding to all partitions in the target macroblock from the information source decoding unit 501. The inter prediction image generation unit 508 divides the macroblock into partitions based on the coding mode signal received from the information source decoding unit 501, and performs motion compensation or disparity compensation based on the motion vector for each partition. A predicted image macroblock is generated. The inter prediction image generation unit 508 outputs the generated inter prediction image macroblock to the encoding mode determination unit 510. Thereafter, the process proceeds to step S306.
ステップS306において、イントラ予測画像生成部507は、情報源復号部501から符号化モード信号を受け取ると共に、参照画像メモリ506から対象マクロブロックと同一フレーム内の対象マクロブロックに隣接する復号に係る処理を行った参照画像ブロックを読みだす。イントラ予測画像生成部507は、受け取った符号化モード信号に基づいてマクロブロックをブロックに分割し、ブロック毎に読みだした参照画像マクロブロックに基づいてフレーム内予測を行い、イントラ予測画像マクロブロックを生成する。イントラ予測画像生成部507は、生成したイントラ予測画像マクロブロックを符号化モード判定部510に出力する。その後、ステップS307へ進む。
In step S306, the intra predicted image generation unit 507 receives a coding mode signal from the information source decoding unit 501, and performs processing related to decoding adjacent to the target macroblock in the same frame as the target macroblock from the reference image memory 506. Read the reference image block. The intra predicted image generation unit 507 divides the macro block into blocks based on the received encoding mode signal, performs intra-frame prediction based on the reference image macro block read for each block, and converts the intra predicted image macro block into the block. Generate. The intra predicted image generation unit 507 outputs the generated intra predicted image macroblock to the coding mode determination unit 510. Thereafter, the process proceeds to step S307.
ステップS307において、スキップト・マクロブロック部509は、符号化モードメモリ502から対象マクロブロックに隣接するマクロブロックの符号化モード信号と、動きベクトルメモリ503から対象マクロブロックに隣接するマクロブロックの動きベクトルと、参照画像メモリ506から対象マクロブロックに隣接する参照画像ブロックの画素値を読みだす。スキップト・マクロブロック部509は、読みだした符号化モード信号と、動きベクトルと、隣接する参照画像ブロックの画素値からスキップ予測画像マクロブロックを生成する。スキップト・マクロブロック部509は、スキップ予測画像マクロブロックを符号化モード判定部510に出力する。その後、ステップS308に進む。
In step S307, the skipped macroblock unit 509 outputs the coding mode signal of the macroblock adjacent to the target macroblock from the coding mode memory 502, and the motion vector of the macroblock adjacent to the target macroblock from the motion vector memory 503. Then, the pixel value of the reference image block adjacent to the target macroblock is read from the reference image memory 506. The skipped macroblock unit 509 generates a skip prediction image macroblock from the read encoding mode signal, the motion vector, and the pixel value of the adjacent reference image block. The skipped macroblock unit 509 outputs the skip predicted image macroblock to the encoding mode determination unit 510. Thereafter, the process proceeds to step S308.
ステップS308において、符号化モード判定部510は、情報源復号部501からの符号化モード信号と、イントラ予測画像生成部507からのイントラ予測画像マクロブロックと、インター予測画像生成部508からのインター予測画像マクロブロックと、スキップト・マクロブロック部509からのスキップ予測画像マクロブロックとを入力する。符号化モード判定部510は、符号化モード信号が示す符号化モードに基づいて、イントラ予測画像マクロブロック、インター予測画像マクロブロック、又はスキップ予測画像マクロブロックのいずれを出力するかを判定し、判定結果に従ったマクロブロックを加算部505に出力する。その後、ステップS309に進む。
In step S308, the encoding mode determination unit 510 performs the encoding mode signal from the information source decoding unit 501, the intra prediction image macroblock from the intra prediction image generation unit 507, and the inter prediction from the inter prediction image generation unit 508. An image macroblock and a skip predicted image macroblock from the skipped macroblock unit 509 are input. The encoding mode determination unit 510 determines whether to output an intra prediction image macroblock, an inter prediction image macroblock, or a skip prediction image macroblock based on the encoding mode indicated by the encoding mode signal. The macro block according to the result is output to the adding unit 505. Thereafter, the process proceeds to step S309.
ステップS309において、動きベクトルメモリ503は、情報源復号部501から動きベクトルを受け取り、マクロブロックの復号順に格納する。動きベクトルメモリ503は、格納した動きベクトルをインター予測画像生成部508とスキップト・マクロブロック部509に出力する。その後、ステップS310に進む。
In step S309, the motion vector memory 503 receives the motion vector from the information source decoding unit 501, and stores it in the decoding order of the macroblocks. The motion vector memory 503 outputs the stored motion vector to the inter predicted image generation unit 508 and the skipped macroblock unit 509. Thereafter, the process proceeds to step S310.
ステップS310において、符号化モードメモリ502は、情報源復号部501から符号化モード信号を受け取り、マクロブロックの復号順に格納する。符号化モードメモリ502は、格納した符号化モード信号をスキップト・マクロブロック部509に出力する。その後、ステップS311に進む。
In step S310, the encoding mode memory 502 receives the encoding mode signal from the information source decoding unit 501, and stores it in the decoding order of the macroblocks. The encoding mode memory 502 outputs the stored encoding mode signal to the skipped macroblock unit 509. Thereafter, the process proceeds to step S311.
ステップS311において、加算部505は、符号化モード判定部510から入力されたイントラ予測画像マクロブロック、インター予測画像マクロブロック、又はスキップ予測画像マクロブロックに含まれる各画素の信号値と、逆量子化・逆DCT変換部504から入力された復号残差信号マクロブロックに含まれる各画素の信号値とを加算して、参照画像マクロブロックを生成する。その後、ステップS312に進む。
In step S311, the addition unit 505 performs the inverse quantization on the signal value of each pixel included in the intra prediction image macroblock, the inter prediction image macroblock, or the skip prediction image macroblock input from the coding mode determination unit 510. A reference image macroblock is generated by adding the signal value of each pixel included in the decoded residual signal macroblock input from the inverse DCT transform unit 504. Thereafter, the process proceeds to step S312.
ステップS312において、加算部505は、生成した参照画像マクロブロックを参照画像メモリ506に記憶させ、画像出力部512に出力する。その後、ステップS313に進む。
ステップS313において、画像復号装置5は、復号対象マクロブロックをラスタースキャンの順序で変更し、ステップS302に戻る。但し、画像復号装置5は、入力された符号化ストリームのフレームにおいて復号が行われていないマクロブロックがないと判定した場合には、そのフレームに対する処理を終了する。 In step S <b> 312, the addingunit 505 stores the generated reference image macroblock in the reference image memory 506 and outputs the reference image macroblock to the image output unit 512. Thereafter, the process proceeds to step S313.
In step S313, theimage decoding apparatus 5 changes the decoding target macroblock in the raster scan order, and the process returns to step S302. However, if the image decoding device 5 determines that there is no macroblock that has not been decoded in the frame of the input encoded stream, the image decoding device 5 ends the processing for the frame.
ステップS313において、画像復号装置5は、復号対象マクロブロックをラスタースキャンの順序で変更し、ステップS302に戻る。但し、画像復号装置5は、入力された符号化ストリームのフレームにおいて復号が行われていないマクロブロックがないと判定した場合には、そのフレームに対する処理を終了する。 In step S <b> 312, the adding
In step S313, the
以上のように、本実施形態では、画素毎のデプス値からなるデプスマップを構成する一部の領域であるマクロブロック毎に符号化する際、上記1つのマクロブロックに隣接するブロックの符号化モードと、動きベクトルと、画素値に基づいてデプス予測画像マクロブロックを生成する。
これにより、本実施形態では、空間方向の相関性が高いデプスマップにおいて、そのデプスマップ内でイントラ予測が頻発している、つまり空間方向の相関性が高い領域に対して、スキップト・マクロブロックモードで符号化する際にイントラ予測を用いることで、対象マクロブロックとより類似した予測画像マクロブロックを生成することができ、符号化効率を向上させることができる。
なお、本実施形態では、画像符号化装置1の符号化の対象および画像復号装置5の復号の対象をデプスマップとしたが、上述の2次元テクスチャ画像としてもよい。 As described above, in the present embodiment, when encoding is performed for each macroblock, which is a partial area constituting a depth map composed of depth values for each pixel, the encoding mode of a block adjacent to the one macroblock is encoded. Then, a depth prediction image macroblock is generated based on the motion vector and the pixel value.
Thereby, in the present embodiment, in a depth map having a high spatial direction correlation, a skipped macroblock mode is applied to an area where intra prediction frequently occurs in the depth map, that is, a region having a high spatial direction correlation. By using intra prediction at the time of encoding, a predicted image macroblock more similar to the target macroblock can be generated, and encoding efficiency can be improved.
In the present embodiment, the encoding target of theimage encoding device 1 and the decoding target of the image decoding device 5 are the depth maps. However, the above-described two-dimensional texture image may be used.
これにより、本実施形態では、空間方向の相関性が高いデプスマップにおいて、そのデプスマップ内でイントラ予測が頻発している、つまり空間方向の相関性が高い領域に対して、スキップト・マクロブロックモードで符号化する際にイントラ予測を用いることで、対象マクロブロックとより類似した予測画像マクロブロックを生成することができ、符号化効率を向上させることができる。
なお、本実施形態では、画像符号化装置1の符号化の対象および画像復号装置5の復号の対象をデプスマップとしたが、上述の2次元テクスチャ画像としてもよい。 As described above, in the present embodiment, when encoding is performed for each macroblock, which is a partial area constituting a depth map composed of depth values for each pixel, the encoding mode of a block adjacent to the one macroblock is encoded. Then, a depth prediction image macroblock is generated based on the motion vector and the pixel value.
Thereby, in the present embodiment, in a depth map having a high spatial direction correlation, a skipped macroblock mode is applied to an area where intra prediction frequently occurs in the depth map, that is, a region having a high spatial direction correlation. By using intra prediction at the time of encoding, a predicted image macroblock more similar to the target macroblock can be generated, and encoding efficiency can be improved.
In the present embodiment, the encoding target of the
(第2の実施形態)
上述の第1の実施形態における画像符号化装置1および画像復号装置5は、コンピュータ読み取り可能な記録媒体に、画像符号化プログラム及び/又は画像復号プログラムを記録しておき、該プログラムをコンピュータに実行させることで実現することもできる。 (Second Embodiment)
Theimage encoding device 1 and the image decoding device 5 in the first embodiment described above record an image encoding program and / or image decoding program on a computer-readable recording medium, and execute the program on the computer. This can also be realized.
上述の第1の実施形態における画像符号化装置1および画像復号装置5は、コンピュータ読み取り可能な記録媒体に、画像符号化プログラム及び/又は画像復号プログラムを記録しておき、該プログラムをコンピュータに実行させることで実現することもできる。 (Second Embodiment)
The
この画像符号化プログラムは、上記第1の実施形態で示したように、デプスマップを符号化する際に、対象マクロブロックに隣接するマクロブロックの符号化モード信号、動きベクトル、及び画素値に応じてスキップ予測画像マクロブロックを生成し、そのスキップ予測画像マクロブロックを用いてデプスマップを予測符号化する画像符号化処理を、コンピュータに実行させるためのプログラムである。
As shown in the first embodiment, the image encoding program uses the encoding mode signal, the motion vector, and the pixel value of the macroblock adjacent to the target macroblock when encoding the depth map. This is a program for causing a computer to execute an image encoding process for generating a skip predicted image macroblock and predictively encoding a depth map using the skip predicted image macroblock.
この画像符号化処理は、1つのマクロブロックについて、隣接するマクロブロックの動きベクトルに基づいて予測画像生成方法を選択するステップと、隣接するマクロブロックの動きベクトルに基づいて予測ベクトルを生成するステップと、隣接するマクロブロックの符号化モード信号からイントラ予測の予測モードを決定するステップと、決定した予測モードと隣接するマクロブロックの画素値に基づいてスキップ予測画像マクロブロックを生成するステップとを有する。その他の応用例については、第1の実施形態で説明した通りであり、その説明を省略する。
The image encoding processing includes a step of selecting a prediction image generation method for one macroblock based on a motion vector of an adjacent macroblock, and a step of generating a prediction vector based on a motion vector of the adjacent macroblock. , Determining a prediction mode for intra prediction from coding mode signals of adjacent macroblocks, and generating a skip prediction image macroblock based on the determined prediction mode and the pixel value of the adjacent macroblock. Other application examples are as described in the first embodiment, and a description thereof is omitted.
また、上述の画像復号プログラムは、上述した画像符号化方法に従い(若しくは、上述した画像符号化装置或いは画像符号化プログラムにて)スキップ予測画像マクロブロックを用いて予測符号化された、画素毎の視点からの距離を示すデプス値からなるデプスマップを構成する一部の領域であるマクロブロックを復号する画像復号ステップを、コンピュータに実行させるためのプログラムである。その他の応用例については、第1の実施形態で説明した通りであり、その説明を省略する。
In addition, the above-described image decoding program is subjected to predictive coding using a skip prediction image macroblock according to the above-described image coding method (or using the above-described image coding apparatus or image coding program). This is a program for causing a computer to execute an image decoding step for decoding a macroblock which is a partial region constituting a depth map including a depth value indicating a distance from a viewpoint. Other application examples are as described in the first embodiment, and a description thereof is omitted.
この画像符号化プログラムや画像復号プログラムは、換言すれば、第1の実施形態における画像符号化装置1の全部及び/又は画像復号装置5の全部をコンピュータで実現するように構成する場合に、実行可能に組み込むプログラムである。無論、第1の実施形態における画像符号化装置1の一部及び/又は画像復号装置5の一部のみを、コンピュータで実現するようにしてもよい。
In other words, the image encoding program and the image decoding program are executed when the entire image encoding device 1 and / or the entire image decoding device 5 in the first embodiment are configured to be realized by a computer. It is a program that can be incorporated. Of course, you may make it implement | achieve only a part of the image coding apparatus 1 in 1st Embodiment, and / or a part of the image decoding apparatus 5 with a computer.
上記の記録媒体としては、コンピュータで処理が行われるために図示しないメモリ、例えばROMのようなプログラムメディアであってもよく、図示しない外部記憶装置としてのプログラム読取装置が設けられ、そこに記録媒体を挿入することで読み取り可能なプログラムメディアであってもよい。いずれの場合においても、格納されているプログラムはコンピュータの主演算・制御部であるマイクロプロセッサがアクセスして実行させる構成であってもよいし、プログラムを読み出し、読み出されたプログラムは、コンピュータが備えるプログラム記憶エリアにダウンロードされて、そのプログラムが実行される方式であってもよい。この場合、ダウンロード用のプログラムは予め本体装置に格納されているものとする。
The above recording medium may be a program medium such as a memory (not shown) such as a ROM (not shown) because processing is performed by a computer, and a program reading device as an external storage device (not shown) is provided in the recording medium. It may be a program medium that can be read by inserting. In any case, the stored program may be configured to be accessed and executed by a microprocessor that is a main computation / control unit of the computer, or the program read out and read out by the computer It may be downloaded to a program storage area provided and the program may be executed. In this case, it is assumed that the download program is stored in the main device in advance.
ここで、上記プログラムメディアは、コンピュータ本体と分離可能に構成される記録媒体であり、磁気テープやカセットテープ等のテープ系、フロッピーディスク(登録商標)やハードディスク等の磁気ディスク並びにCD-ROM/MO/MD/DVD等の光ディスクのディスク系、ICカード(メモリカードを含む)/光カード等のカード系、或いはマスクROM、EPROM(Erasable Programmable Read Only Memory)、EEPROM(Electrically Erasable Programmable Read Only Memory)、フラッシュROM等による半導体メモリを含めた固定的にプログラムを担持する媒体であってもよい。また、この場合、インターネットを含む通信ネットワークを接続可能なシステム構成であることから、通信ネットワークからプログラムをダウンロードするように流動的にプログラムを担持する媒体であってもよい。なお、このように通信ネットワークからプログラムをダウンロードする場合には、そのダウンロード用のプログラムは予めコンピュータ本体に格納しておくか、或いは別の記録媒体からインストールされるものであってもよい。
Here, the program medium is a recording medium configured to be separable from the computer main body, and includes a tape system such as a magnetic tape and a cassette tape, a magnetic disk such as a floppy disk (registered trademark) and a hard disk, and a CD-ROM / MO. / MD / DVD and other optical discs, IC cards (including memory cards) / optical cards, etc., or mask ROM, EPROM (Erasable Programmable Read Only Memory), EEPROM (Electrically Erasable Programmable Read Only Memory), It may be a medium that carries a fixed program including a semiconductor memory such as a flash ROM. In this case, since the system configuration is capable of connecting a communication network including the Internet, the medium may be a medium that fluidly carries the program so as to download the program from the communication network. When the program is downloaded from the communication network in this way, the download program may be stored in advance in the computer main body, or may be installed from another recording medium.
上記の記録媒体は、デジタルカラー画像形成装置やコンピュータシステムに備えられるプログラム読み取り装置により読み取られることで、上述した画像符号化方法や画像復号方法が実行される。なお、上記コンピュータシステムは、WEBカメラなどの汎用画像入力装置、所定のプログラムがロードされることにより上記画像処理方法など様々な処理が行われるコンピュータ、コンピュータの処理結果を表示するディスプレイ・液晶ディスプレイなどの画像表示装置より構成される。さらには、ネットワークを介してサーバなどに接続するための通信手段としてのネットワークカードやモデムなどが備えられる。
The above-mentioned recording medium is read by a digital color image forming apparatus or a program reading apparatus provided in a computer system, whereby the above-described image encoding method and image decoding method are executed. The computer system includes a general-purpose image input device such as a WEB camera, a computer that performs various processes such as the image processing method by loading a predetermined program, a display / liquid crystal display that displays the processing results of the computer, and the like. Image display device. Furthermore, a network card, a modem, and the like are provided as communication means for connecting to a server or the like via a network.
(その他)
なお、全ての実施形態において、2つのカメラで撮影した2視点の画像信号に対応するデプスマップの符号化及び復号について説明したが、2視点より多い複数のカメラで撮影した多視点画像信号に対して適用してもよい。例えば3視点画像信号に対応するデプスマップを入力し、そのうち1つの視点のデプスマップを、該デプスマップに対応するテクスチャ画像を利用してデプス値を推定することで符号化し、符号化する対象を切り替えていくことで、3つの視点のデプスマップの符号化を行うことができる。 (Other)
In all the embodiments, encoding and decoding of a depth map corresponding to two-viewpoint image signals captured by two cameras have been described. However, for multi-viewpoint image signals captured by a plurality of cameras having more than two viewpoints. May be applied. For example, a depth map corresponding to a three-viewpoint image signal is input, and a depth map of one viewpoint is encoded by estimating a depth value using a texture image corresponding to the depth map, and an object to be encoded is encoded. By switching, the depth maps of the three viewpoints can be encoded.
なお、全ての実施形態において、2つのカメラで撮影した2視点の画像信号に対応するデプスマップの符号化及び復号について説明したが、2視点より多い複数のカメラで撮影した多視点画像信号に対して適用してもよい。例えば3視点画像信号に対応するデプスマップを入力し、そのうち1つの視点のデプスマップを、該デプスマップに対応するテクスチャ画像を利用してデプス値を推定することで符号化し、符号化する対象を切り替えていくことで、3つの視点のデプスマップの符号化を行うことができる。 (Other)
In all the embodiments, encoding and decoding of a depth map corresponding to two-viewpoint image signals captured by two cameras have been described. However, for multi-viewpoint image signals captured by a plurality of cameras having more than two viewpoints. May be applied. For example, a depth map corresponding to a three-viewpoint image signal is input, and a depth map of one viewpoint is encoded by estimating a depth value using a texture image corresponding to the depth map, and an object to be encoded is encoded. By switching, the depth maps of the three viewpoints can be encoded.
また、上述した実施形態における画像符号化装置1及び画像復号装置5の一部又は全部を、LSI(Large Scale Integration)等の集積回路又はIC(Integrated Circuit)チップセットとして実現してもよい。画像符号化装置1及び画像復号装置5の各機能ブロックは個別にプロセッサ化してもよいし、一部又は全部を集積してプロセッサ化してもよい。また、集積回路化の手法はLSIに限らず専用回路、又は汎用プロセッサで実現してもよい。また、半導体技術の進歩によりLSIに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いてもよい。
また、本発明は、画像符号化装置、画像復号装置における処理の流れを例示したように、さらには画像符号化プログラム、画像復号プログラムの処理として説明したように、画像符号化方法、画像復号方法としての形態も採り得る。 Moreover, you may implement | achieve part or all of theimage coding apparatus 1 and the image decoding apparatus 5 in embodiment mentioned above as integrated circuits, such as LSI (Large Scale Integration), or IC (Integrated Circuit) chip set. Each functional block of the image encoding device 1 and the image decoding device 5 may be individually made into a processor, or a part or all of them may be integrated into a processor. Further, the method of circuit integration is not limited to LSI, and may be realized by a dedicated circuit or a general-purpose processor. In addition, when an integrated circuit technology that replaces LSI appears due to the advancement of semiconductor technology, an integrated circuit based on the technology may be used.
In addition, as exemplified in the flow of processing in the image encoding device and the image decoding device, the present invention further describes the image encoding method and the image decoding method as described in the processing of the image encoding program and the image decoding program. The form as can also be taken.
また、本発明は、画像符号化装置、画像復号装置における処理の流れを例示したように、さらには画像符号化プログラム、画像復号プログラムの処理として説明したように、画像符号化方法、画像復号方法としての形態も採り得る。 Moreover, you may implement | achieve part or all of the
In addition, as exemplified in the flow of processing in the image encoding device and the image decoding device, the present invention further describes the image encoding method and the image decoding method as described in the processing of the image encoding program and the image decoding program. The form as can also be taken.
この画像符号化方法は、画素毎の視点からの距離を示すデプス値からなるデプスマップを構成する一部の領域であるマクロブロック毎に、画像符号化装置がデプス予測画像マクロブロックを用いて上記デプスマップの予測符号化を行う方法である。そして、この方法は、画像符号化装置が、1つのマクロブロックについて、隣接するマクロブロックの動きベクトルに基づいて予測画像生成方法を選択するステップと、隣接するマクロブロックの動きベクトルに基づいて予測ベクトルを生成するステップと、隣接するマクロブロックの符号化モード信号からイントラ予測の予測モードを決定するステップと、決定した予測モードと隣接するマクロブロックの画素値に基づいてスキップ予測画像マクロブロックを生成する生成ステップとを有する。その他の応用例については、第1の実施形態において画像符号化装置について説明した通りである。
In this image encoding method, the image encoding device uses the depth prediction image macroblock for each macroblock which is a partial area constituting a depth map including a depth value indicating the distance from the viewpoint for each pixel. This is a method for predictive coding of a depth map. In this method, the image encoding device selects a prediction image generation method for one macroblock based on the motion vector of the adjacent macroblock, and the prediction vector based on the motion vector of the adjacent macroblock. , A step of determining a prediction mode for intra prediction from a coding mode signal of an adjacent macroblock, and a skip prediction image macroblock based on the pixel value of the macroblock adjacent to the determined prediction mode Generating step. Other application examples are as described for the image coding apparatus in the first embodiment.
上記の画像復号方法は、上述の画像符号化方法に従いスキップ予測画像マクロブロックを用いて予測符号化された、画素毎の視点からの距離を示すデプス値からなるデプスマップを構成する一部の領域であるマクロブロックを、画像復号装置が復号する画像復号ステップを有する。その他の応用例については、第1の実施形態において画像復号装置について説明した通りである。
The above image decoding method is a partial area constituting a depth map composed of depth values indicating the distance from the viewpoint for each pixel, which is predictively encoded using the skip prediction image macroblock according to the above image encoding method. An image decoding step in which the image decoding apparatus decodes the macroblock. Other application examples are as described for the image decoding apparatus in the first embodiment.
1…画像符号化装置
2…画像前置処理部
3a、3b…撮影装置
4…テクスチャ画像符号化装置
5…画像復号装置
10…3次元画像撮影システム
101…デプスマップ入力部
102…参照画像メモリ
103…イントラ予測部
104…インター予測部
105…スキップト・マクロブロック部
106…符号化モード判定部
107…動きベクトルメモリ
108…符号化モードメモリ
109…スイッチ
110…減算部
111…DCT変換・量子化部
112…逆量子化・逆DCT変換部
113…加算部
114…情報源符号化部
501…情報源復号部
502…符号化モードメモリ
503…動きベクトルメモリ
504…逆量子化・逆DCT変換部
505…加算部
506…参照画像メモリ
507…イントラ予測画像生成部
508…インター予測画像生成部
509…スキップト・マクロブロック部
510…符号化モード判定部
512…画像出力部
1051…予測画像生成方法選択部
1052…予測ベクトル生成部
1053…予測画像マクロブロック生成部
1054…予測モード決定部
1055…イントラ予測画像マクロブロック生成部 DESCRIPTION OFSYMBOLS 1 ... Image encoding apparatus 2 ... Image pre-processing part 3a, 3b ... Imaging | photography apparatus 4 ... Texture image encoding apparatus 5 ... Image decoding apparatus 10 ... Three-dimensional image imaging system 101 ... Depth map input part 102 ... Reference image memory 103 ... Intra prediction unit 104 ... Inter prediction unit 105 ... Skipped macroblock unit 106 ... Coding mode determination unit 107 ... Motion vector memory 108 ... Coding mode memory 109 ... Switch 110 ... Subtraction unit 111 ... DCT transform / quantization unit 112 ... inverse quantization / inverse DCT transform unit 113 ... addition unit 114 ... information source coding unit 501 ... information source decoding unit 502 ... coding mode memory 503 ... motion vector memory 504 ... inverse quantization / inverse DCT transform unit 505 ... addition Unit 506 ... reference image memory 507 ... intra prediction image generation unit 508 ... inter prediction image generation unit 509 Skipped macroblock unit 510 ... Coding mode determination unit 512 ... Image output unit 1051 ... Prediction image generation method selection unit 1052 ... Prediction vector generation unit 1053 ... Prediction image macroblock generation unit 1054 ... Prediction mode determination unit 1055 ... Intra prediction image Macroblock generator
2…画像前置処理部
3a、3b…撮影装置
4…テクスチャ画像符号化装置
5…画像復号装置
10…3次元画像撮影システム
101…デプスマップ入力部
102…参照画像メモリ
103…イントラ予測部
104…インター予測部
105…スキップト・マクロブロック部
106…符号化モード判定部
107…動きベクトルメモリ
108…符号化モードメモリ
109…スイッチ
110…減算部
111…DCT変換・量子化部
112…逆量子化・逆DCT変換部
113…加算部
114…情報源符号化部
501…情報源復号部
502…符号化モードメモリ
503…動きベクトルメモリ
504…逆量子化・逆DCT変換部
505…加算部
506…参照画像メモリ
507…イントラ予測画像生成部
508…インター予測画像生成部
509…スキップト・マクロブロック部
510…符号化モード判定部
512…画像出力部
1051…予測画像生成方法選択部
1052…予測ベクトル生成部
1053…予測画像マクロブロック生成部
1054…予測モード決定部
1055…イントラ予測画像マクロブロック生成部 DESCRIPTION OF
Claims (4)
- 画像を分割したマクロブロック毎に符号化された画像を復号する画像復号装置であって、
デプスマップを復号する画像として、前記デプスマップ内の復号対象のマクロブロックに隣接するマクロブロックをイントラ予測した際の予測モードから、前記復号対象のマクロブロックの予測モードを決定する予測モード決定部と、
前記予測モード決定部が決定した予測モードと、前記隣接するマクロブロックの画素値とに基づいたイントラ予測によって前記復号対象のマクロブロックの予測画像を生成するイントラ予測画像マクロブロック生成部と、
を備えることを特徴とする画像復号装置。 An image decoding apparatus for decoding an image encoded for each macroblock obtained by dividing an image,
A prediction mode determination unit that determines a prediction mode of the decoding target macroblock from a prediction mode when the macroblock adjacent to the decoding target macroblock in the depth map is intra-predicted as an image for decoding the depth map; ,
An intra prediction image macroblock generation unit that generates a prediction image of the macroblock to be decoded by intra prediction based on the prediction mode determined by the prediction mode determination unit and the pixel value of the adjacent macroblock;
An image decoding apparatus comprising: - 前記予測モード決定部は、前記隣接するマクロブロックの前記符号化対象のマクロブロックに対する隣接方向と、該隣接するマクロブロックの予測モードとの組み合わせによって、前記イントラ予測の予測モードを決定することを特徴とする請求項1に記載の画像復号装置。 The prediction mode determination unit determines the prediction mode of the intra prediction based on a combination of an adjacent direction of the adjacent macroblock with respect to the encoding target macroblock and a prediction mode of the adjacent macroblock. The image decoding apparatus according to claim 1.
- 画像を分割したマクロブロック毎に符号化された画像を復号する画像復号方法であって、
デプスマップを復号する画像として、前記デプスマップ内の復号対象のマクロブロックに隣接するマクロブロックをイントラ予測した際の予測モードから、前記復号対象のマクロブロックの予測モードを決定するステップと、
前記決定された予測モードと、前記隣接するマクロブロックの画素値とに基づいたイントラ予測によって前記復号対象のマクロブロックの予測画像を生成する生成ステップと、
を有することを特徴とする画像復号方法。 An image decoding method for decoding an image encoded for each macroblock obtained by dividing an image,
Determining the prediction mode of the decoding target macroblock from the prediction mode when the macroblock adjacent to the decoding target macroblock in the depth map is intra-predicted as an image for decoding the depth map;
Generating a prediction image of the decoding target macroblock by intra prediction based on the determined prediction mode and a pixel value of the adjacent macroblock;
An image decoding method characterized by comprising: - 画像を分割したマクロブロック毎に符号化する画像符号化装置であって、
デプスマップを復号する画像として、前記デプスマップ内の符号化対象のマクロブロックに隣接するマクロブロックをイントラ予測した際の予測モードから、前記符号化対象のマクロブロックの予測モードを決定する予測モード決定部と、
前記決定された予測モードと、前記隣接するマクロブロックの画素値とに基づいたイントラ予測によって前記符号化対象のマクロブロックの予測画像を生成する予測画像生成部と、
を備えることを特徴とする画像符号化装置。 An image encoding device that encodes each macroblock obtained by dividing an image,
Prediction mode determination for determining the prediction mode of the macroblock to be encoded from the prediction mode when the macroblock adjacent to the macroblock to be encoded in the depth map is intra-predicted as an image for decoding the depth map And
A prediction image generation unit that generates a prediction image of the encoding target macroblock by intra prediction based on the determined prediction mode and the pixel value of the adjacent macroblock;
An image encoding device comprising:
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011255175A JP2013110643A (en) | 2011-11-22 | 2011-11-22 | Image coding method, image coding device, image decoding method, image decoding device, and program therefor |
JP2011-255175 | 2011-11-22 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2013077305A1 true WO2013077305A1 (en) | 2013-05-30 |
Family
ID=48469749
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2012/080020 WO2013077305A1 (en) | 2011-11-22 | 2012-11-20 | Image decoding device, image decoding method, image coding device |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2013110643A (en) |
WO (1) | WO2013077305A1 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006128770A (en) * | 2004-10-26 | 2006-05-18 | Nec Corp | Image coding device and method therefor, computer program of image coding device, and portable terminal |
WO2008035665A1 (en) * | 2006-09-20 | 2008-03-27 | Nippon Telegraph And Telephone Corporation | Image encoding method, decoding method, device thereof, image decoding device, program thereof, and storage medium containing the program |
-
2011
- 2011-11-22 JP JP2011255175A patent/JP2013110643A/en active Pending
-
2012
- 2012-11-20 WO PCT/JP2012/080020 patent/WO2013077305A1/en active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006128770A (en) * | 2004-10-26 | 2006-05-18 | Nec Corp | Image coding device and method therefor, computer program of image coding device, and portable terminal |
WO2008035665A1 (en) * | 2006-09-20 | 2008-03-27 | Nippon Telegraph And Telephone Corporation | Image encoding method, decoding method, device thereof, image decoding device, program thereof, and storage medium containing the program |
Non-Patent Citations (1)
Title |
---|
SHIN'YA KADONO ET AL.: "H.264/AVC Kyokasho", KABUSHIKI KAISHA IMPRESS R&D, 1 January 2009 (2009-01-01), pages 114 - 115 * |
Also Published As
Publication number | Publication date |
---|---|
JP2013110643A (en) | 2013-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11412137B2 (en) | Image data encoding/decoding method and apparatus | |
JP6667609B2 (en) | Image encoding device, image encoding method, image decoding device, and image decoding method | |
JP6005087B2 (en) | Image decoding apparatus, image decoding method, image encoding apparatus, image encoding method, and data structure of encoded data | |
JP6072678B2 (en) | Image encoding device, image encoding method, image encoding program, image decoding device, image decoding method, and image decoding program | |
JP5389297B2 (en) | Image decoding apparatus and image decoding method | |
JP6807987B2 (en) | Image coding device, moving image decoding device, moving image coding data and recording medium | |
TWI665908B (en) | Image decoding device, image decoding method, image encoding device, image encoding method, computer-readable recording medium | |
WO2011013253A1 (en) | Prediction-signal producing device using geometric transformation motion-compensation prediction, time-varying image encoding device, and time-varying image decoding device | |
WO2014163200A1 (en) | Color image encoding apparatus, color image decoding apparatus, color image encoding method, and color image decoding method | |
KR20150135457A (en) | Method for encoding a plurality of input images and storage medium and device for storing program | |
JP2013106337A (en) | Image encoding method, image decoding method image encoder, image decoder and program | |
WO2013077305A1 (en) | Image decoding device, image decoding method, image coding device | |
EP4412211A1 (en) | Image encoding/decoding method and apparatus, and recording medium storing bitstream | |
RU2790325C2 (en) | Method and device for inter-frame prediction based on the fusion mode | |
WO2013035452A1 (en) | Image encoding method, image decoding method, and apparatuses and programs thereof | |
WO2012153440A1 (en) | Prediction vector generation method, prediction vector generation device, prediction vector generation program, image encoding method, image encoding device, image encoding program, image decoding method, image decoding device, and image decoding program | |
JP2013153336A (en) | Image encoding method, image decoding method, image encoding device, image encoding program, image decoding device, and image decoding program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 12851444 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 12851444 Country of ref document: EP Kind code of ref document: A1 |