WO2013035452A1 - Image encoding method, image decoding method, and apparatuses and programs thereof - Google Patents

Image encoding method, image decoding method, and apparatuses and programs thereof Download PDF

Info

Publication number
WO2013035452A1
WO2013035452A1 PCT/JP2012/068776 JP2012068776W WO2013035452A1 WO 2013035452 A1 WO2013035452 A1 WO 2013035452A1 JP 2012068776 W JP2012068776 W JP 2012068776W WO 2013035452 A1 WO2013035452 A1 WO 2013035452A1
Authority
WO
WIPO (PCT)
Prior art keywords
macroblock
image
unit
partition
prediction
Prior art date
Application number
PCT/JP2012/068776
Other languages
French (fr)
Japanese (ja)
Inventor
貴也 山本
内海 端
大津 誠
Original Assignee
シャープ株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by シャープ株式会社 filed Critical シャープ株式会社
Publication of WO2013035452A1 publication Critical patent/WO2013035452A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding

Definitions

  • the present invention relates to an image encoding method, an image decoding method, and an apparatus and a program thereof.
  • MPEG-4 AVC / H As described in Non-Patent Document 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.
  • 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.
  • the encoding target block has one shape, for example, 16 ⁇ 16, You can only choose. Therefore, when there are a plurality of regions having different motions in the encoding target block, there is a problem that the motion compensation cannot be appropriately performed in the skipped macroblock mode and the encoding efficiency is lowered.
  • the present invention has been made in view of the above-described actual situation, and an object of the present invention is to provide an image encoding method, an image decoding method, and the like capable of obtaining excellent encoding efficiency in the skipped macroblock mode. It is providing the apparatus and program of this.
  • the first technical means of the present invention is that the image encoding device performs a skipped macroblock mode for each macroblock which is a partial area constituting an image composed of luminance values for each pixel.
  • the image encoding method performs encoding of the image according to claim 1, wherein the image encoding device converts one macroblock into one macroblock among depth maps each including a depth value indicating a distance from a viewpoint for each pixel.
  • the image coding step includes dividing into a plurality of partitions, generating a prediction vector for each partition, and performing coding in a skipped macroblock mode. It is a thing.
  • the image encoding step converts the one macroblock into a plurality of partitions based on a partition size used when the depth macroblock is encoded.
  • the prediction vector of the partition based on the motion vector of the adjacent macroblock adjacent to the one macroblock and the prediction vector already calculated for the adjacent partition adjacent to the partition for each partition.
  • a calculating step for calculating for calculating.
  • the calculation step is performed on a prediction vector of an adjacent partition or a motion vector of an adjacent macroblock adjacent to the left, top, and right of the partition.
  • the median is calculated as a prediction vector of the partition.
  • the image encoding step includes a step of detecting an edge component from the block of the depth map, and a plurality of the one macroblock based on the detected edge component. Partition prediction based on the partitioning step, and for each partition, a motion vector of an adjacent macroblock adjacent to the one macroblock and a prediction vector already calculated for the adjacent partition adjacent to the partition. And a calculation step for calculating a vector.
  • the calculating step includes, for each partition, among the adjacent partitions and adjacent macroblocks that are adjacent to the left, top, and top right of the partition.
  • a prediction vector of an adjacent partition or a motion vector of an adjacent macroblock having a wide area that touches is used as the prediction vector of the partition.
  • a sixth technical means is an image encoding device that encodes the image in a skipped macroblock mode for each macroblock that is a partial region that configures an image composed of luminance values for each pixel,
  • One macroblock is divided into a plurality of partitions according to a partition of a depth macroblock which is an area corresponding to the one macroblock in a depth map including a depth value indicating a distance from a viewpoint for each pixel, and the partition It is characterized by comprising image encoding means for generating a prediction vector for each time and encoding in a skipped macroblock mode.
  • an image encoding process for encoding the image in a skipped macroblock mode is performed on a computer for each macroblock which is a partial area constituting an image composed of luminance values for each pixel.
  • the image coding step includes dividing the image into a plurality of partitions, generating a prediction vector for each partition, and encoding in a skipped macroblock mode. .
  • the image decoding apparatus includes an image decoding step for decoding a macroblock which is a partial area constituting the image.
  • the image decoding apparatus from the luminance value for each pixel encoded in units of partitions in the skipped macroblock mode according to the image encoding method in any one of the first to fifth technical means.
  • the image decoding means which decodes the macroblock which is a one part area
  • the tenth technical means constitutes an image composed of luminance values for each pixel, encoded in units of partitions by the skipped macroblock mode according to the image encoding method in any one of the first to fifth technical means.
  • An image decoding program for causing a computer to execute an image decoding step for decoding a macroblock which is a partial area.
  • an image can be encoded or decoded with excellent coding efficiency in the skipped macroblock mode.
  • 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 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. It is a flowchart following FIG.
  • an image is encoded or decoded in a skipped macroblock mode for each macroblock which is a partial region constituting an image composed of luminance values for each pixel.
  • encoding / decoding is not limited to skipped macroblock mode for all macroblocks. And in this invention, it has the main characteristics in the production
  • 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.
  • the image photographing system illustrated in FIG. 1 includes a photographing device 3a, a photographing device 3b, an image preprocessing unit 2, and an image encoding device 1.
  • the imaging device 3a and the imaging device 3b are installed at different positions (viewpoints), and take images of subjects included in the same field of view at predetermined time intervals (for example, once every 1/30 seconds).
  • the imaging device 3a and the imaging device 3b each output an image signal indicating a captured image to the image preprocessing unit 2.
  • This image signal is an image signal that is a signal value (luminance value) representing the color and shading of the subject and background included in the subject space, and is composed of signal values for each pixel arranged on a two-dimensional plane.
  • 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 image preprocessing unit 2 may refer to an image input from one of the imaging device 3a and the imaging device 3b, for example, the imaging device 3a, as a texture image (“text map”; “reference image”, “two-dimensional image”). .), And will be described separately from an image input from another imaging device (in this example, the imaging device 3b). Therefore, the texture 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 can also be simply called a “preprocessing unit”.
  • the image preprocessing unit 2 calculates a parallax between the texture image input from the image capturing device 3a and the image input from the other image capturing device 3b for each pixel, and generates a depth map.
  • a depth map (sometimes referred to as depth map, “depth image”, or “distance image”) is a signal value corresponding to a distance from a subject included in the subject space or a background viewpoint (such as a photographing device). It may be referred to as “depth value”, “depth value”, or “depth”), and is an image signal composed of signal values for each pixel arranged on a two-dimensional plane.
  • the pixels constituting the depth map correspond to the pixels constituting the texture image.
  • the depth map is a clue for representing a three-dimensional object space using a texture image that is a reference image signal obtained by projecting the object space in two dimensions.
  • the image preprocessing unit 2 outputs the texture image and the generated depth map to the image encoding device 1.
  • the image encoding device 1 includes the following image encoding means.
  • This image encoding means encodes one macroblock for each pixel in a skipped macroblock mode for each macroblock which is a partial area constituting an image composed of luminance values for each pixel. Divide into multiple partitions according to the partition of the depth macroblock (depth map macroblock) that is the area corresponding to the one macroblock in the depth map consisting of the depth value indicating the distance from, and predict for each partition A vector is generated and encoded in skipped macroblock mode.
  • the number of image capturing apparatuses included 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 texture image and the depth map input to the image encoding device 1 do not have to be based on images captured by the imaging device 3a and the imaging device 3b, and may be images synthesized in advance, for example.
  • FIG. 2 is a schematic diagram illustrating a configuration example of the image encoding device 1 according to the present embodiment.
  • An image encoding apparatus 1 illustrated in FIG. 2 includes a texture image input unit 101, a depth map encoding unit 102, a partition size memory 103, a reference image memory 104, an intra prediction unit 105, an inter prediction unit 106, and a skipped macroblock unit. 107, encoding mode determination unit 108, motion vector memory 109, prediction vector generation unit 110, subtraction unit 111, subtraction unit 112, DCT transform / quantization unit 113, inverse quantization / inverse DCT transform unit 114, addition unit 115, And an information source encoding unit 116.
  • Texture image input unit 101 receives a texture image from the image preprocessing unit 2 for each frame, and extracts a macro block (hereinafter referred to as a texture image macro block) from the input texture image.
  • the texture image input unit 101 outputs the extracted texture image macroblock to the encoding mode determination unit 108, the inter prediction unit 106, and the subtraction unit 111.
  • the texture image macroblock is composed of a predetermined number of pixels, for example, 16 pixels in the horizontal direction ⁇ 16 pixels in the vertical direction.
  • the texture image input unit 101 shifts the position of the macro block from which the texture image macro block is extracted in the raster scan order so that the blocks do not overlap. That is, the texture image input unit 101 sequentially moves the block from which the texture image 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 texture image macroblock is extracted reaches the right end of the frame, the texture image input unit 101 moves the macroblock down by the number of pixels in the vertical direction of the macroblock and to the left end of the frame. . The texture image input unit 101 moves the macroblock from which the texture image macroblock is extracted in this way until it reaches the lower right of the frame.
  • the extracted texture image macroblock may be referred to as an encoding target macroblock or a target macroblock.
  • the depth map encoding unit 102 inputs the depth map from the image preprocessing unit 2 for each frame, and a known image encoding method for each macroblock constituting each frame, for example, ITU-T H.264.
  • the depth map is encoded using an encoding method corresponding to the decoding method described in the H.264 standard.
  • the depth map encoding unit 102 outputs the depth map code generated by encoding to the outside of the image encoding device 1.
  • the depth map encoding unit 102 stores, in the partition size memory 103, the partition size indicating the shape obtained by dividing the macro block when each macro block of the depth map is encoded.
  • 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.
  • the partition size memory 103 stores the partition sizes input from the depth map encoding unit 102 in the order of the encoded macro blocks.
  • the reference image memory 104 stores a reference image macroblock (hereinafter referred to as a reference image macroblock) input from the adder 115 at the position of the encoding target macroblock in the corresponding frame as a reference image.
  • This reference image macroblock is an image macroblock obtained by encoding and decoding a texture image 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 104 sequentially stores a reference number of frames set in advance from the present, for example, 15 frames in the past, and 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 105 reads a reference image block that has been subjected to processing related to encoding adjacent to the top and left of the target macroblock in the same frame as the target macroblock from the reference image memory 104.
  • the size of the reference image block is, for example, 16 pixels in the horizontal direction ⁇ 16 pixels in the vertical direction, 8 pixels ⁇ 8 pixels, 4 pixels ⁇ 4 pixels, but the present invention is not limited to the specific reference macroblock (the macroblock of the reference image). ) Is not limited by the size.
  • the intra prediction unit 105 performs intra-frame prediction based on the read reference macroblock, and generates an intra predicted image macroblock.
  • a specific intra-frame prediction method for example, ITU-T H.264. There is an intra-frame prediction method described in the H.264 standard.
  • the intra prediction unit 105 outputs the generated intra predicted image macroblock to the encoding mode determination unit 108.
  • the inter prediction unit 106 divides the target macroblock input from the texture image 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 106 reads a reference image block constituting a reference image from the reference image memory 104.
  • the size (number of pixels) of the reference image block read by the inter prediction unit 106 is the same as the size of the partition to be processed (hereinafter referred to as the target partition) among the plurality of partitions.
  • the inter prediction unit 106 performs block matching between the target partition in the texture image macroblock input from the texture image input unit 101 and the reference image block. That is, the position at which the reference image block is read from the frame of the past reference image stored in the reference image memory 104 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 106 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 motion vector.
  • the inter prediction unit 106 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 106 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 106 calculates a motion vector based on the coordinates of the target partition and the coordinates of the reference image block determined.
  • the inter prediction unit 106 selects a partition size that minimizes the coding cost from among the sizes of the partitions constituting the target macroblock. For example, the inter prediction unit 106 performs the following processing on the sizes of all partitions. First, the inter prediction unit 106 receives a prediction vector corresponding to the target partition from the prediction vector generation unit 110. The inter prediction unit 106 calculates a difference vector between the calculated motion vector and the input prediction vector, and calculates the absolute value of the horizontal component, the absolute value of the vertical component of the calculated difference vector, and the target partition and the target partition most similar to each other. The sum of the index values with the reference block is calculated as a cost value. 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.
  • 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.
  • the present invention is not limited to a specific encoding cost calculation method.
  • the inter prediction unit 106 performs motion compensation based on the size of the partition having the smallest cost value and the motion vector calculated for each partition of the size, and generates a predicted image macroblock. Specifically, first, the inter prediction unit 106 reads a reference image block at coordinates indicated by motion vectors for each partition from the reference image memory 104. The inter prediction unit 106 generates a 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 106 stores the calculated motion vector in the motion vector memory 109 and outputs it to the subtraction unit 112, and outputs the generated predicted image macroblock to the encoding mode determination unit 108.
  • the skipped macroblock unit 107 determines the partition size of the reference depth macroblock having the same coordinates as that of the target macroblock from the partition size memory 103, and the motion of the partition adjacent to the left, upper, and upper right of the target macroblock from the motion vector memory 109.
  • the vector is read from each of the reference image blocks from the reference image memory 104.
  • an area corresponding to the reference macroblock in the depth map that is, a macroblock having the same coordinates as the reference macroblock is referred to as a reference depth macroblock.
  • a region corresponding to the target macroblock in the depth map that is, a macroblock having the same coordinates as the target macroblock is referred to as a target depth macroblock.
  • the skipped macroblock unit 107 calculates a prediction vector based on the read motion vector.
  • the skipped macroblock unit 107 performs motion compensation based on the calculated prediction vector, thereby generating a predicted image macroblock (hereinafter referred to as a skipped macroblock predicted image macroblock) using the skipped macroblock.
  • the skipped macroblock unit 107 outputs the skipped macroblock predicted image macroblock to the coding mode determination unit 108. Details of the processing will be described later.
  • the encoding mode determination unit 108 receives the target macroblock from the texture image input unit 101, the intra prediction image macroblock from the intra prediction unit 105, the prediction image macroblock from the inter prediction unit 106, and the skipped macroblock unit 107. Macroblock predicted image macroblocks are received as inputs.
  • the coding mode determination unit 108 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 108 calculates the square error of the signal value for each pixel with the target macroblock for each prediction image macroblock, and sums the square errors in the prediction image macroblock. Is the encoding cost. The coding mode determination unit 108 calculates coding costs for all coding modes, and sets the coding mode corresponding to the predicted image macroblock with the lowest coding cost as the coding mode with the highest coding efficiency. To do. 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 encoding mode determination unit 108 outputs an encoding mode signal indicating the encoding mode with the highest encoding efficiency to the information source encoding unit 116.
  • the coding mode determination unit 108 outputs the skipped macroblock predicted image macroblock to the reference image memory 104.
  • the coding mode determination unit 108 selects a code with high coding efficiency from the intra prediction image macroblock or the inter prediction image macroblock.
  • the data corresponding to the conversion mode is output to the subtracting unit 111 and the adding unit 115.
  • the motion vector memory 109 stores the motion vector input from the inter prediction unit 106 for each frame, each block, and each partition.
  • the motion vector memory 109 outputs the stored motion vector to the prediction vector generation unit 110 and the skipped macroblock unit 107.
  • the prediction vector generation unit 110 reads the motion vector of the partition adjacent to the target partition and subjected to the processing related to encoding, for example, the partition adjacent to the left, top, and upper right of the target partition. Based on the read motion vector, the predicted vector generation unit 110 calculates a predicted vector by taking, for example, the median value of the horizontal and vertical components of the three read motion vectors. In addition to the intermediate value, an arbitrary standard such as an average value, a maximum value, or a minimum value may be used. The prediction vector generation unit 110 outputs the calculated prediction vector to the inter prediction unit 106 and the subtraction unit 112.
  • the subtraction unit 111 converts the signal value of each pixel included in the texture image macroblock input from the texture image input unit 101 into an intra prediction image macroblock or inter prediction image macroblock input from the coding mode determination unit 108.
  • the residual signal block is calculated by subtracting the signal value of each pixel included.
  • the subtraction unit 111 outputs the calculated residual signal macroblock to the DCT transform / quantization unit 113.
  • the subtraction unit 112 subtracts the prediction vector input from the prediction vector generation unit 110 from the motion vector input from the inter prediction unit 106 to calculate a difference vector.
  • the subtraction unit 112 outputs the calculated difference vector to the information source encoding unit 116.
  • the DCT transform / quantization unit 113 performs a two-dimensional DCT (Discrete Cosine Transform) on the residual signal macroblock input from the subtraction unit 111 to calculate a DCT coefficient as a frequency domain signal, and then performs DCT. 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 113 outputs the generated quantized DCT coefficient to the inverse quantization / inverse DCT transform unit 114 and the information source coding unit 116.
  • the inverse quantization / inverse DCT transformation unit 114 performs inverse quantization (de-quantization) on the quantized DCT coefficient input from the DCT transformation / quantization unit 113 to generate an inverse quantization DCT coefficient, and then performs inverse quantization.
  • Two-dimensional inverse DCT inverse Discrete Cosine Transform
  • the inverse quantization / inverse DCT transform unit 114 outputs the generated decoded residual signal macroblock to the adder 115.
  • the adder 115 receives the signal value of each pixel included in the intra-predicted image macroblock or inter-predicted image macroblock input from the coding mode determination unit 108 and the decoding input from the inverse quantization / inverse DCT transform unit 114.
  • a reference image macroblock is generated by adding the signal value of each pixel included in the residual signal macroblock.
  • the adder 115 stores the generated reference image macroblock in the reference image memory 104.
  • the information source encoding unit 116 performs encoding on the quantized DCT coefficient input from the DCT transform / quantization unit 113 and the difference vector input from the subtraction unit 112 to generate an encoded stream.
  • the information source encoding unit 116 performs, for example, variable-length encoding as encoding for generating an encoded stream having a smaller amount of information 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 116 does not use the quantized DCT coefficient and the difference vector when the encoding mode signal indicating the skipped macroblock mode is input from the encoding mode determination unit 108.
  • the input encoding mode signal is encoded to generate an encoded stream.
  • the information source encoding unit 116 outputs the generated encoded stream to the outside of the image encoding device 1.
  • FIG. 3 is a schematic diagram illustrating a configuration example of the skipped macroblock unit 107 according to the present embodiment.
  • the skipped macroblock unit 107 illustrated in FIG. 3 includes a skipped macroblock prediction vector generation unit 1071 and a prediction macroblock generation unit 1072.
  • FIG. 4 is a conceptual diagram showing an example of encoding in the skipped macroblock mode according to the present embodiment.
  • FIG. 4A shows an example of a texture image Tf of a frame to be encoded
  • FIG. 4B shows an example of a depth map Df corresponding to the texture image Tf.
  • a square frame at the center of the texture image Tf indicates the target macroblock Tb.
  • a square frame in the center of the depth map Df indicates a region corresponding to the target macroblock in the depth map Df, that is, the target depth macroblock Db that is a macroblock having the same coordinates as the target macroblock Tb.
  • the three dotted rectangular frames around the target macroblock Tb are already encoded macroblocks TbA, TbB, and TbC adjacent to the target macroblock Tb.
  • the arrows coming out of the macro blocks TbB and TbC indicate the motion vectors MvB and MvC used when the macro blocks TbB and TbC are encoded.
  • the target depth macroblock Db has already been encoded and is divided into two partitions Db1 and Db2 each having a size of 8 ⁇ 16.
  • the target macroblock Tb is divided into partitions Tp1 and Tp2 having the same size as the target depth macroblock Db.
  • Arrows extending from the partitions Tp1 and Tp2 of the target macroblock indicate the prediction vectors Pv1 and Pv2 of the partitions.
  • the prediction vector Pv2 has a median value for each of, for example, the horizontal component and the vertical component of the motion vectors MvB and MvC of the macroblocks TbB and TbC adjacent to the upper and upper right of the partition Tp2 and the prediction vector Pv1 of the partition Tp1 adjacent to the left. It is generated by taking. Further, the prediction vector Pv1 is generated by taking median values for, for example, the horizontal component and the vertical component of the motion vectors MvB and MvC and the motion vector of the macroblock TbA adjacent to the left, for example.
  • the median need not be used for calculation of the prediction vector, and the calculation source is not limited to this.
  • the motion vector of the adjacent macroblock used for calculation of the prediction vector exists in units of partitions, that is, when the motion vector of the calculation source is encoded by the skipped macroblock mode
  • the motion vector of the adjacent partition may be used for calculation.
  • one macroblock Tb is divided into a plurality of partitions (Tp1, Tp2 in this example) according to the partitions of the depth macroblock Db (Db1, Db2 in this example).
  • a prediction vector is generated for each partition in the one macroblock Tb, and is encoded by the skipped macroblock mode.
  • the skipped macroblock prediction vector generation unit 1071 calculates the partition size of the reference depth macroblock having the same coordinates as the target macroblock from the partition size memory 103, and the movement of the partition adjacent to the left, top, and top right of the target macroblock. Read a vector.
  • the skipped macroblock prediction vector generation unit 1071 divides the target macroblock into one or a plurality of partitions based on the input partition size, and calculates a prediction vector for each partition.
  • the skipped macroblock prediction vector generation unit 1071 takes the median of the horizontal and vertical components of the motion vectors of the partitions adjacent to the left, top, and upper right of the target partition. A prediction vector is calculated. At this time, as shown in the example using the prediction vector Pv1 when calculating the prediction vector Pv2, if the adjacent partition is included in the same macroblock as the target partition, the adjacent partition is not a motion vector. The prediction vector of the target partition is calculated using the prediction vector. Then, the skipped macroblock prediction vector generation unit 1071 outputs the calculated prediction vector for each partition to the prediction macroblock generation unit 1072.
  • the prediction macroblock generation unit 1072 reads the partition size of the reference depth macroblock having the same coordinates as the target macroblock from the partition size memory 103, and assigns each partition in the target macroblock from the skipped macroblock prediction vector generation unit 1071. Enter the corresponding prediction vector.
  • the prediction macroblock generation unit 1072 performs motion compensation based on the input partition size and the prediction vector of each partition, and generates a skipped macroblock prediction image macroblock.
  • the prediction macroblock generation unit 1072 reads the reference image block at the coordinates indicated by the prediction vector for each partition from the reference image memory 104. At this time, the size of the reference image block is the same as the size of the corresponding partition.
  • the predicted macroblock generation unit 1072 generates a skipped macroblock predicted image macroblock by performing processing for matching the coordinates of the read reference image block with the coordinates of the partition.
  • the prediction macroblock generation unit 1072 outputs the generated skipped macroblock prediction image macroblock to the encoding mode determination unit 108.
  • FIG. 5 is a flowchart for explaining an example of the image encoding process performed by the image encoding device 1 according to the present embodiment.
  • step S101 the texture image input unit 101 inputs a reference image (texture image) from the image preprocessing unit 2 for each frame. Then, it progresses to step S102.
  • step S ⁇ b> 102 the depth map encoding unit 102 inputs the depth map from the image preprocessing unit 2 for each frame, and encodes it for each macroblock constituting each frame.
  • the depth map encoding unit 102 outputs the depth map code generated by encoding to the outside of the image encoding device 1. Thereafter, the process proceeds to step S103.
  • step S103 the depth map encoding unit 102 stores the size of the partition selected at the time of encoding for each macroblock in the partition size memory 103. Thereafter, the process proceeds to step S104.
  • step S104 the image encoding device 1 performs the processing in steps S105 to S122 for each macroblock included in the input frame.
  • step S105 the intra prediction unit 105 reads from the reference image memory 104 a reference image block that has been subjected to processing related to encoding adjacent to the top and left of the target macroblock in the same frame as the target macroblock.
  • the intra prediction unit 105 performs intra-frame prediction based on the read reference macroblock, and generates an intra predicted image macroblock.
  • the intra prediction unit 105 outputs the generated intra predicted image macroblock to the encoding mode determination unit 108. Thereafter, the process proceeds to step S106.
  • step S106 the prediction vector generation unit 110 reads the motion vector of the reference image block adjacent to the target partition from the motion vector memory 109.
  • the prediction vector generation unit 110 extracts the median value of the horizontal component and the median value of the vertical component from the read vector of the adjacent reference image block, and calculates the prediction vector from the extraction result.
  • the prediction vector generation unit 110 calculates the prediction vectors of all partitions in the target macroblock using the above calculation method.
  • the prediction vector generation unit 110 outputs the calculated prediction vector to the inter prediction unit 106 and the subtraction unit 112. Thereafter, the process proceeds to step S107.
  • step S107 the inter prediction unit 106 inputs the target macroblock from the texture image input unit 101 and the prediction vector from the prediction vector generation unit 110, and reads the reference image block constituting the reference image from the reference image memory 104.
  • the inter prediction unit 106 divides the target macroblock into one or a plurality of partitions, and sequentially detects a motion vector for each partition.
  • the inter prediction unit 106 selects the size of the partition that has the minimum coding cost among the sizes of the partitions constituting the target macroblock.
  • the inter prediction unit 106 performs motion compensation based on the size of the partition with the minimum encoding cost and the motion vector of each partition, and generates an inter predicted image macroblock.
  • the inter prediction unit 106 outputs the calculated motion vector to the motion vector memory 109 and the subtraction unit.
  • the inter prediction unit 106 outputs the generated inter prediction image macroblock to the encoding mode determination unit 108. Thereafter, the process proceeds to step S108.
  • step S108 the skipped macroblock unit 107 obtains the motion vector from the motion vector memory 109, and the partition size memory 103, the same display time as the target macroblock, and the size of the partition of the depth macroblock having the same coordinate as the reference image memory.
  • Each of the reference image blocks is read from 104.
  • the skipped macroblock unit 107 calculates a prediction vector of each partition based on the input partition size and motion vector.
  • the skipped macroblock unit 107 performs motion compensation based on the calculated prediction vector, and generates a skipped macroblock prediction image macroblock.
  • the skipped macroblock unit 107 outputs the skipped macroblock predicted image macroblock to the coding mode determination unit 108. Thereafter, the process proceeds to step S109.
  • step S ⁇ b> 109 the encoding mode determination unit 108 selects the target macroblock from the texture image input unit 101, the intra prediction image macroblock from the intra prediction unit 105, and the inter prediction image macroblock from the inter prediction unit 106.
  • the skipped macroblock predicted image macroblock is received as an input from the block unit 107.
  • the encoding mode determination unit 108 determines an encoding mode with the highest encoding efficiency based on the three input predicted image macroblocks. Then, it progresses to step S110.
  • step S110 the encoding mode determination unit 108 generates an encoding mode signal corresponding to the selected encoding mode, and outputs it to the information source encoding unit 116.
  • step S111 the encoding mode determination unit 108 determines the selected encoding mode. If the mode is the skipped macroblock mode (YES in step S111), the process proceeds to step S112, where the intra prediction mode or the inter prediction mode is selected. In the prediction mode (NO in step S111), the process proceeds to step S114.
  • step S112 the encoding mode determination unit 108 stores the skipped macroblock predicted image macroblock in the reference image memory 104 as a reference image block. Thereafter, the process proceeds to step S113.
  • step 113 the information source encoding unit 116 receives an encoding mode signal indicating that the encoding mode is a skipped macroblock mode as an input, and encodes it using variable length encoding. Thereafter, the process proceeds to step S124.
  • step 114 the subtraction unit 111 uses the inter-predicted image macroblock or intra-predicted image macro input from the coding mode determination unit 108 based on the signal value of each pixel included in the target macroblock input from the texture image input unit 101. A signal value of each pixel included in the block is subtracted to calculate a residual signal macroblock. The subtraction unit 111 outputs the calculated residual signal macroblock to the DCT transform / quantization unit 113. Thereafter, the process proceeds to step S115.
  • step S115 the DCT transform / quantization unit 113 performs two-dimensional DCT on the residual signal macroblock input from the subtraction unit 111, calculates a DCT coefficient, quantizes the DCT coefficient, Generalized DCT coefficients are generated.
  • the DCT transform / quantization unit 113 outputs the generated quantized DCT coefficient to the inverse quantization / inverse DCT transform unit 114 and the information source coding unit 116. Thereafter, the process proceeds to step S116.
  • step S116 the inverse quantization / inverse DCT transformation unit 114 performs inverse quantization on the quantized DCT coefficient input from the DCT transformation / quantization unit 113 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 114 outputs the generated decoded residual signal macroblock to the adder 115. Thereafter, the process proceeds to step S117.
  • step S117 the addition unit 115 receives the signal value of each pixel included in the inter prediction image macroblock or the intra prediction image macroblock input from the inter prediction unit 106, and the inverse quantization / inverse DCT conversion unit 114. The signal value of each pixel included in the decoded residual signal macroblock is added to generate a reference image macroblock. Thereafter, the process proceeds to step S118.
  • step S118 the adding unit 115 stores the generated reference image macroblock in the reference image memory 104.
  • step S119 according to the determination result of the encoding mode by the encoding mode determination unit 108, when the encoding mode is inter prediction (YES in step S119), the process proceeds to step S120, and the encoding mode is intra prediction. In that case (NO in step S119), the process proceeds to step S123.
  • step S120 the motion vector memory 109 stores the motion vector of each partition of the target macroblock input from the inter prediction unit 106 for each frame, each block, and each partition. Thereafter, the process proceeds to step S121.
  • step S121 the subtraction unit 112 calculates a difference vector by subtracting the prediction vector input from the prediction vector generation unit 110 from the motion vector input from the inter prediction unit 106.
  • the subtraction unit 112 outputs the calculated difference vector to the information source encoding unit 116. Thereafter, the process proceeds to step S122.
  • step S122 the information source encoding unit 116 receives an encoding mode signal indicating the inter prediction encoding mode input from the encoding mode determination unit 108, and a quantization input from the DCT transform / quantization unit 113.
  • the DCT coefficient and the difference vector input from the subtracting unit 112 are encoded to generate an encoded stream. Thereafter, the process proceeds to step S124.
  • step S123 the information source encoding unit 116 receives the encoding mode signal indicating the intra prediction encoding mode input from the encoding mode determination unit 108 and the quantization input from the DCT transform / quantization unit 113.
  • the DCT coefficients are encoded and an encoded stream is generated. Thereafter, the process proceeds to step S124.
  • step S124 the information source encoding unit 116 outputs the generated encoded stream to the outside of the image encoding device 1. Thereafter, the process proceeds to step S125.
  • step S124 the image encoding device 1 sequentially changes the macroblocks to be encoded in the raster scan order, and returns to step S105. 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 texture image, it ends the processing for that frame.
  • FIG. 7 is a flowchart for explaining an example of a skipped macroblock predicted image macroblock generation process in the skipped macroblock unit 107 according to the present embodiment. This process is a process corresponding to step S108 described above.
  • step S ⁇ b> 201 the skipped macroblock prediction vector generation unit 1071 and the prediction macroblock generation unit 1072 read the partition size of the reference depth macroblock having the same coordinates as the target macroblock from the partition size memory 103. Thereafter, the process proceeds to step S202.
  • step S202 the skipped macroblock unit 107 performs the processing in steps S203 to S205 for each partition in the target macroblock (that is, as many as the number of partitions).
  • step S203 the skipped macroblock prediction vector generation unit 1071 reads the motion vectors of the partitions adjacent to the left, top, and top right of the target macroblock.
  • the skipped macroblock prediction vector generation unit 1071 calculates a prediction vector by taking the median of the horizontal and vertical components of the motion vector or prediction vector of the partition adjacent to the left, top, and top right of the target partition. . Thereafter, the process proceeds to step S204.
  • step S204 the prediction macroblock generation unit 1072 inputs the prediction vector of the target partition from the skipped macroblock prediction vector generation unit 1071.
  • the prediction macroblock generation unit 1072 performs motion compensation based on the prediction vector of the target partition, and generates a skipped macroblock prediction image macroblock.
  • step S205 the skipped macroblock unit 107 sequentially changes the encoding target partition and returns to step S203. However, if the skipped macroblock unit 107 determines that there is no partition in the target macroblock that has not yet been processed for generation of the skipped macroblock predicted image macroblock, the process for the target macroblock is terminated. To do.
  • the one macro block is divided into a plurality of partitions based on the size of the partition used when the depth macro block is encoded. Then, in this image encoding device 1, for each partition, based on the motion vector of the adjacent macroblock adjacent to the one macroblock and the prediction vector already calculated for the adjacent partition adjacent to the partition, A prediction vector is calculated.
  • the median value of the motion vector of the adjacent partition prediction vector or the adjacent macroblock adjacent to the left, upper, and upper right of the partition can be calculated as the partition prediction vector. preferable.
  • the image decoding apparatus constitutes an image composed of luminance values for each pixel, which is encoded in units of partitions in the skipped macroblock mode according to the image encoding method in the image encoding apparatus 1 described above.
  • Image decoding means for decoding a macroblock which is a region of a part.
  • FIG. 8 is a schematic diagram illustrating a configuration example of the image decoding apparatus according to the present embodiment.
  • the image decoding device 4 illustrated in FIG. 8 includes an information source decoding unit 401, a depth map decoding unit 402, a partition size memory 403, an addition unit 404, a motion vector memory 405, a prediction vector generation unit 406, an inverse quantization / inverse DCT transform.
  • the image decoding device 4 illustrated in FIG. 8 includes an information source decoding unit 401, a depth map decoding unit 402, a partition size memory 403, an addition unit 404, a motion vector memory 405, a prediction vector generation unit 406, an inverse quantization / inverse DCT transform.
  • the information source decoding unit 401 decodes an encoded stream for each block input from the outside of the image decoding device 4 to generate a quantized DCT coefficient and a difference vector, or whether the encoding mode is intra prediction or inter prediction. An encoding mode signal indicating any one of the macro block modes is generated.
  • the decoding method performed by the information source decoding unit 401 is a process opposite to the encoding method performed by the information source encoding unit 116. That is, when the information source encoding unit 116 performs variable length encoding, the information source decoding unit 401 performs variable length decoding.
  • the information source decoding unit 401 outputs the generated difference vector to the addition unit 404.
  • the information source decoding unit 401 When the information source decoding unit 401 generates the quantized DCT coefficient, the information source decoding unit 401 outputs the generated quantized DCT coefficient to the inverse quantization / inverse DCT transform unit 407. The information source decoding unit 401 outputs the generated encoding mode signal to the encoding mode determination unit 413.
  • the information source decoding unit 401 When the information source decoding unit 401 generates a coding mode signal indicating the skipped macroblock mode, the information source decoding unit 401 outputs a quantized DCT coefficient indicating that the value is zero to the inverse quantization / inverse DCT transform unit 407. In addition, a difference vector indicating that the value is zero is output to the adding unit 404. In this case, the residual signal described later is also zero, and the image decoding device 4 generates a decoded image without using the residual signal. Therefore, in this case, the inverse quantization / inverse DCT conversion unit 407 may generate a residual signal in which the signal value of each pixel becomes zero, and output the generated residual signal to the addition unit 408.
  • the depth map decoding unit 402 inputs a depth map code from the outside of the image decoding apparatus 4 for each macroblock, and performs a known image decoding method such as ITU-T H.264. Decoding is performed using a decoding method described in the H.264 standard.
  • the depth map decoding unit 402 outputs the depth macroblock generated by decoding to the outside of the image decoding device 4.
  • the depth map decoding unit 402 stores, in the partition size memory 403, the partition size indicating the shape obtained by dividing the macro block when each macro block of the depth map is encoded.
  • the partition size memory 403 stores the partition sizes input from the depth map decoding unit 402 in the order of decoded macroblocks.
  • the addition unit 404 adds the difference vector input from the information source decoding unit 401 and the prediction vector input from the prediction vector generation unit 406 to generate a motion vector.
  • the adder 404 stores the generated motion vector in the motion vector memory 405.
  • the motion vector memory 405 stores the motion vector input from the adding unit 404 for each frame and each block.
  • the motion vector memory 405 outputs the stored motion vector to the inter predicted image generation unit 411 and the skipped macroblock unit 412.
  • the prediction vector generation unit 406 reads the motion vector of the block adjacent to the decoding target block and subjected to the processing related to decoding from the motion vector memory 405.
  • the prediction vector generation unit 406 calculates a prediction vector based on the read motion vector.
  • the process for the prediction vector generation unit 406 to calculate the prediction vector is the same as that of the prediction vector generation unit 110.
  • the prediction vector generation unit 406 outputs the calculated prediction vector to the addition unit 404.
  • the inverse quantization / inverse DCT transform unit 407 performs inverse quantization on the quantized DCT coefficient input from the information source decoding unit 401 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 407 outputs the decoded residual signal block to the adder 408.
  • the adder 408 reverses the signal value of each pixel included in any of the intra-predicted image macroblock, the inter-predicted image macroblock, and the skipped macroblock predicted image macroblock input from the coding mode determining unit 413.
  • a reference image macroblock is generated by adding the signal value of each pixel included in the decoded residual signal block input from the quantization / inverse DCT transform unit 407.
  • the adder 408 stores the generated reference image macroblock in the reference image memory 409 and outputs it to the image output unit 414.
  • the reference image memory 409 stores the reference image macroblock input from the adder 408 at the position of the decoding target macroblock in the corresponding frame and stores it as a reference image.
  • the reference image memory 409 stores a reference image of a frame that is a preset number of frames (for example, 15 frames) from the present, and when the number of stored frames exceeds the preset number of frames, for example, the 16th frame When the reference image is input, all the reference images in the past frames are deleted.
  • the intra-predicted image generation unit 410 reads the reference image macroblock that has been subjected to the processing related to the encoding adjacent to the left and above the target macroblock in the same frame as the target macroblock from the reference image memory 409, and has read it. Intraframe prediction is performed based on the reference image macroblock to generate an intra predicted image macroblock. The intra predicted image generation unit 410 outputs the generated intra predicted image macroblock to the encoding mode determination unit 413.
  • the inter prediction image generation unit 411 reads a motion vector from the motion vector memory 405.
  • the inter prediction image generation unit 411 reads a reference image block constituting a reference image from the reference image memory 409 for each partition constituting the target macroblock.
  • the coordinates at which the inter prediction image generation unit 411 reads out the reference image block are coordinates compensated by adding the motion vector input from the motion vector memory 405 to the coordinates of the decoding target partition, and the size of the reference image block. Is the same size as the corresponding partition.
  • the inter prediction image generation unit 411 generates an inter prediction image macroblock by performing processing for matching the coordinates of the read reference image block with the coordinates of the partition.
  • the inter prediction image generation unit 411 outputs the generated inter prediction image macroblock to the encoding mode determination unit 413.
  • the skipped macroblock unit 412 determines the partition size of the depth macroblock having the same coordinates as that of the target macroblock from the partition size memory 403, and the motion vectors of the partitions adjacent to the left, upper, and upper right of the target macroblock from the motion vector memory 405. Are read out from the reference image memory 409, respectively.
  • the skipped macroblock unit 412 divides the target macroblock into a plurality of partitions based on the size of the read partition, calculates a prediction vector for each partition based on the read motion vector, and calculates the calculated prediction vector. Based on the motion compensation, a skipped macroblock prediction image macroblock is generated.
  • the processing for the skipped macroblock unit 412 to generate the skipped macroblock predicted image macroblock is the same as that of the skipped macroblock unit 107.
  • the skipped macroblock unit 412 outputs the skipped macroblock predicted image macroblock to the encoding mode determination unit 413.
  • the encoding mode determination unit 413 includes an encoding mode signal from the information source decoding unit 401, an intra prediction image macroblock from the intra prediction image generation unit 410, and an inter prediction image macroblock from the inter prediction image generation unit 411. Then, a skipped macroblock prediction image macroblock from the skipped macroblock unit 412 is input. The encoding mode determination unit 413 adds one of the intra prediction image macroblock, the inter prediction image macroblock, and the skipped macroblock prediction image macroblock based on the encoding mode indicated by the encoding mode signal. Output to.
  • the image output unit 414 generates the reference image for each frame by arranging the reference image macroblock input from the adding unit 408 at the position of the decoding target macroblock in the corresponding frame.
  • the image output unit 414 outputs the generated reference image as a decoded texture image for each frame to the outside of the image decoding device 4.
  • FIG. 9 is a flowchart for explaining an example of the image decoding process performed by the image decoding device 4 according to the present embodiment
  • FIG. 10 is a flowchart following FIG.
  • step S301 the image decoding apparatus 4 performs the processing in steps S302 to S319 for each macroblock.
  • step S302 the depth map decoding unit 402 inputs a depth map code from the outside of the image decoding device 4.
  • the depth map decoding unit 402 decodes the input depth map code to generate a depth macroblock.
  • the depth map decoding unit 402 outputs the generated depth macroblock to the outside of the image decoding device 4. Thereafter, the process proceeds to step S303.
  • step S303 the depth map decoding unit 402 stores the partition size of the decoded depth macroblock in the partition size memory 403. Thereafter, the process proceeds to step S304.
  • step S304 the information source decoding unit 401 inputs an encoded stream for each macroblock from the outside of the image decoding device 4. Thereafter, the process proceeds to step S305.
  • step S305 the information source decoding unit 401 decodes the input encoded stream, and generates an encoding mode signal, a quantized DCT coefficient, and a difference vector.
  • the information source decoding unit 401 outputs the generated encoding mode signal to the encoding mode determination unit 413. Thereafter, the process proceeds to step S306.
  • step S306 the information source decoding unit 401 determines whether or not the generated encoding mode signal indicates a skipped macroblock mode. If the information source decoding unit 401 determines that the generated encoding mode signal indicates the skipped macroblock mode (YES in step S306), the information source decoding unit 401 proceeds to step S307. If the information source decoding unit 401 determines that the generated encoding mode signal does not indicate the skipped macroblock mode (NO in step S306), the information source decoding unit 401 proceeds to step S308.
  • step S307 the information source decoding unit 401 outputs a quantized DCT coefficient indicating that the value is zero to the inverse quantization / inverse DCT transform unit 407.
  • the information source decoding unit 401 outputs a difference vector indicating that the value is zero to the adding unit 404. Thereafter, the process proceeds to step S308.
  • step S308 the information source decoding unit 401 determines whether or not the generated encoding mode signal indicates the inter prediction mode. If the information source decoding unit 401 determines that the generated encoding mode signal indicates the inter prediction mode (YES in step S308), the information source decoding unit 401 proceeds to step S310. If the information source decoding unit 401 determines that the generated encoding mode signal does not indicate the inter prediction mode (NO in step S308), the information source decoding unit 401 proceeds to step S309.
  • step S309 the information source decoding unit 401 outputs a difference vector indicating that the value is zero to the adding unit 404. Thereafter, the process proceeds to step S310.
  • step S310 the inverse quantization / inverse DCT transform unit 407 performs inverse quantization on the quantized DCT coefficient input from the information source decoding unit 401, 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 407 outputs the decoded residual signal block to the adder 408. Thereafter, the process proceeds to step S311.
  • step S311 the prediction vector generation unit 406 reads from the motion vector memory 405 the motion vector of the reference block adjacent to the decoding target macroblock and subjected to the processing related to decoding.
  • the prediction vector generation unit 406 calculates a prediction vector based on the read motion vector.
  • the prediction vector generation unit 406 outputs the calculated prediction vector to the addition unit 404. Thereafter, the process proceeds to step S312.
  • step S312 the addition unit 404 adds the difference vector input from the information source decoding unit 401 and the prediction vector input from the prediction vector generation unit 406 to generate a motion vector.
  • the adder 404 stores the generated motion vector in the motion vector memory 405. Thereafter, the process proceeds to step S313.
  • step S313 the inter prediction image generating unit 411 reads out motion vectors corresponding to all partitions in the target macroblock from the motion vector memory 405.
  • the inter prediction image generation unit 411 generates an inter prediction image macroblock by performing motion compensation based on the motion vector read from the motion vector memory 405.
  • the inter prediction image generation unit 411 outputs the generated inter prediction image macroblock to the encoding mode determination unit 413. Thereafter, the process proceeds to step S314.
  • step S314 the intra predicted image generation unit 410 reads, from the reference image memory 409, a reference image block that has been subjected to processing related to decoding on the left and right of the target macroblock in the same frame as the target macroblock.
  • the intra predicted image generation unit 410 performs intra-frame prediction based on the read reference image macroblock, and generates an intra predicted image macroblock.
  • the intra predicted image generation unit 410 outputs the generated intra predicted image macroblock to the encoding mode determination unit 413. Thereafter, the process proceeds to step S315.
  • the skipped macroblock unit 412 obtains the motion vector from the motion vector memory 405, the partition size memory 403 from the reference image memory 409, the partition size of the depth macroblock having the same display time and the same coordinate as the target block. Each reference image block is read out.
  • the skipped macroblock unit 412 performs the same process as the skipped macroblock unit 107 to generate a skipped macroblock predicted image macroblock.
  • the skipped macroblock unit 412 outputs the skipped macroblock predicted image macroblock to the encoding mode determination unit 413. Thereafter, the process proceeds to step S316.
  • step S316 the encoding mode determination unit 413, the encoding mode signal from the information source decoding unit 401, the intra prediction image macroblock from the intra prediction image generation unit 410, and the inter prediction from the inter prediction image generation unit 411.
  • An image macroblock and a skipped macroblock predicted image macroblock from the skipped macroblock unit 412 are input.
  • the encoding mode determination unit 413 adds one of the intra prediction image macroblock, the inter prediction image macroblock, and the skipped macroblock prediction image macroblock based on the encoding mode indicated by the encoding mode signal. Output to. Thereafter, the process proceeds to step S317.
  • step S317 the addition unit 408 includes the signal value of each pixel included in the intra prediction image macroblock, the inter prediction image macroblock, or the skipped macroblock prediction image macroblock input from the encoding mode determination unit 413,
  • the reference image macroblock is generated by adding the signal value of each pixel included in the decoded residual signal macroblock input from the inverse quantization / inverse DCT transform unit 407. Thereafter, the process proceeds to step S318.
  • step S318 the addition unit 408 stores the generated reference image macroblock in the reference image memory 409 and outputs the reference image macroblock to the image output unit 414. Thereafter, the process proceeds to step S319.
  • step S319 the image decoding device 4 changes the decoding target macroblock in the order of raster scan, and returns to step S302. However, if the image decoding device 4 determines that there is no macroblock that has not been decoded in the frame of the input encoded stream, the image decoding device 4 ends the processing for that frame.
  • the motion vector indicating the amount of movement from the past texture image is predicted for each macroblock that is a partial region constituting the texture image including the luminance value for each pixel, and the above
  • the one macroblock of the depth map indicating the motion vector of the partition adjacent to the one macroblock and the depth value indicating the distance from the viewpoint for each pixel.
  • a prediction vector is generated based on the depth macroblock that is an area corresponding to the above and the size of the partition set when the depth macroblock is encoded.
  • the target macroblock when the target macroblock is encoded in the skipped macroblock mode, the target macroblock is divided based on the size of the partition of the depth map of the corresponding frame, and a prediction vector is generated for each partition. Therefore, since a prediction vector is set for each region in the macroblock, it is possible to improve coding efficiency.
  • FIG. 11 is a schematic diagram illustrating a configuration example of an image encoding device according to the second embodiment of the present invention.
  • the image encoding device 5 illustrated in FIG. 11 includes a texture image input unit 101, a depth map encoding unit 502, a depth map memory 503, a reference image memory 104, an intra prediction unit 105, an inter prediction unit 106, and a skipped macroblock unit. 507, encoding mode determination unit 108, motion vector memory 109, prediction vector generation unit 110, subtraction unit 111, subtraction unit 112, DCT transformation / quantization unit 113, inverse quantization / inverse DCT transformation unit 114, addition unit 115, And an information source encoding unit 116.
  • the image encoding device 5 replaces the depth map encoding unit 102, the partition size memory 103, and the skipped macroblock unit 107 of the image encoding device 1 shown in FIG. 2 with a depth map encoding unit 502 and a depth map memory, respectively. 503 and the skipped macroblock unit 507 are different, and the other configurations are the same.
  • the depth map encoding unit 502 receives the depth map from the image preprocessing unit 2 for each frame, and a known image encoding method for each macroblock constituting each frame, for example, ITU-T H.264.
  • the depth map is encoded using an encoding method corresponding to the decoding method described in the H.264 standard.
  • the depth map encoding unit 502 outputs the depth map code generated by encoding to the outside of the image encoding device 1.
  • the depth map encoding unit 502 decodes the generated depth map code to generate an encoded depth map.
  • the depth map encoding unit 502 stores the encoded depth map in the depth map memory 503.
  • the depth map memory 503 stores the encoded depth map input from the depth map encoding unit 502.
  • the skipped macroblock unit 507 reads a motion vector from the motion vector memory 109, reads a depth macroblock at the same coordinates as the target macroblock in the encoded depth map from the depth map memory 503, and reads from the reference image memory 104. Read the reference image block. Also, the skipped macroblock unit 507 generates a skipped macroblock prediction image macroblock based on the read motion vector, the encoded depth map, and the reference image block. The skipped macroblock unit 507 outputs the generated skipped macroblock predicted image macroblock to the coding mode determination unit 108.
  • FIG. 12 is a schematic diagram illustrating a configuration example of the skipped macroblock unit 507 according to the present embodiment.
  • the skipped macroblock unit 507 includes an edge image generation unit 5071, a skipped macroblock prediction vector generation unit 5072, and a prediction macroblock generation unit 5073.
  • the edge image generation unit 5071 performs edge detection processing for detecting an edge component on the target depth macroblock read from the depth map memory 503, and generates an edge image block indicating a region (pixel) in which the edge component is detected. To do.
  • the edge image generation unit 5071 outputs the generated edge image block to the skipped macroblock prediction vector generation unit 5072.
  • An edge is a region where the spatial change of the signal value is remarkable.
  • the edge image block includes, for each pixel, a signal value indicating whether or not an edge is detected, for example, a signal value indicating whether or not the spatial change of the depth value is larger than a preset threshold value.
  • the edge image generation unit 5071 uses, for example, a 3-by-3 Sobel filter shown in Expression (1) in order to generate an edge image block. That is, the Sobel filter is a filter that gives a gradient of signal values between pixels adjacent in the horizontal direction and a gradient of signal values between pixels adjacent in the vertical direction. Of course, the filter is not limited to 3 rows and 3 columns.
  • the edge image generation unit 5071 multiplies a sub-block of 3 pixels in the horizontal direction ⁇ 3 pixels in the vertical direction including the pixel (center pixel) as a center by a Sobel filter, The gradient of the signal value for each pixel is calculated. However, if the center pixel is in the top row, bottom row, leftmost column or rightmost column of the target depth macroblock, the signal value of the top row, bottom row, leftmost column or rightmost column of each sub-block is set. The value is equal to the signal value of the center value.
  • the edge image generation unit 5071 determines a signal value (for example, 1) indicating that it is an edge for a pixel in which the absolute value of the calculated gradient for each pixel is larger than a preset threshold value.
  • the edge image generation unit 5071 determines a signal value (for example, 0) indicating that the calculated absolute value of the gradient for each pixel is not an edge for a pixel that is equal to or smaller than a preset threshold value.
  • the edge image generation unit 5071 outputs a signal value indicating whether or not each pixel is an edge to the skipped macroblock prediction vector generation unit 5072 as an edge image block.
  • the skipped macroblock prediction vector generation unit 5072 receives the edge image block from the edge image generation unit 5071 and the motion vector of the partition adjacent to the left, top, and top right of the target macroblock from the motion vector memory 109 or the same adjacent macroblock. Are respectively received as inputs.
  • the skipped macroblock prediction vector generation unit 5072 divides the target macroblock into a plurality of partitions along the edge of the edge image block.
  • the predicted vector generation unit for skipped macroblock 5072 has a motion vector of a partition adjacent to the target macroblock that has the largest area in contact with the target partition for each partition (processing for each partition is performed). Therefore, a prediction vector of a partition in a target macroblock for which a prediction vector has already been set or a motion vector of an adjacent macroblock is set as a prediction vector.
  • the skipped macroblock prediction vector generation unit 5072 outputs the generated prediction vector of each partition to the prediction macroblock generation unit 5073.
  • the prediction macroblock generation unit 5073 reads the edge image block from the edge image generation unit 5071, and inputs the prediction vector corresponding to each partition in the target macroblock from the skipped macroblock prediction vector generation unit 5072.
  • the prediction macroblock generation unit 5073 performs motion compensation based on the size of each partition based on the input edge image block and the prediction vector of each partition, and generates a skipped macroblock prediction image macroblock.
  • the prediction macroblock generation unit 5073 outputs the generated skipped macroblock prediction image macroblock to the encoding mode determination unit 108.
  • FIG. 13 is a flowchart for explaining an example of an image encoding process performed by the image encoding device 5 according to the present embodiment.
  • the flowchart in FIG. 13 differs from the flowchart in FIG. 5 in that step S103 is replaced with step S403 described later and step S108 is replaced with step S408 described later.
  • step S103 is replaced with step S403 described later
  • step S108 is replaced with step S408 described later.
  • I and II in the flowchart of FIG. 13 follow the I and II of the flowchart in FIG. 6 as in FIG. Since the processes other than step S403 and step S408 are the same as those in the flowchart of FIG.
  • step S403 the depth map encoding unit 502 decodes the generated depth map code to generate an encoded depth map.
  • the depth map encoding unit 502 stores the encoded depth map in the depth map memory 503. Thereafter, the process proceeds to step S104.
  • the skipped macroblock unit 507 receives the motion vector from the motion vector memory 109, the depth macroblock having the same display time and the same coordinate as the target macroblock from the depth map memory 503, and the reference image block from the reference image memory 104. Is read out.
  • the skipped macroblock unit 507 calculates a prediction vector for each partition based on the input depth macroblock and the motion vector.
  • the skipped macroblock unit 507 performs motion compensation based on the calculated prediction vector, and generates a skipped macroblock prediction image macroblock.
  • the skipped macroblock unit 507 outputs the skipped macroblock predicted image macroblock to the coding mode determination unit 108. Thereafter, the process proceeds to step S109.
  • FIG. 14 is a flowchart for explaining an example of a skipped macroblock predicted image macroblock generation process in the skipped macroblock unit 507 according to the present embodiment. This process is a process corresponding to step S408 described above.
  • step S501 the edge image generation unit 5071 reads out the target depth macroblock having the same coordinates as the target macroblock from the depth map memory 503. Thereafter, the process proceeds to step S502.
  • step S502 the edge image generation unit 5071 performs edge detection processing on the target depth macroblock read from the depth map memory 503, and generates an edge image block indicating a region (pixel) where the edge is detected. Thereafter, the process proceeds to step S503.
  • step S503 the skipped macroblock unit 507 divides the target macroblock into a plurality of partitions based on the edge image block, and performs the processing in steps S504 to S506 for each partition.
  • the skipped macroblock prediction vector generation unit 5072 reads the motion vector of the partition adjacent to the left, top, and top right of the target macroblock or the motion vector of the adjacent macroblock from the motion vector memory 109.
  • the skipped macroblock prediction vector generation unit 5072 can be said to be a motion vector of a partition adjacent to the target macroblock having the largest area in contact with the target partition (because a process for each partition is performed, it can be said to be a prediction vector). ), Or a prediction vector of a partition in a target macroblock for which a prediction vector has already been set, or a motion vector of an adjacent macroblock is set as a prediction vector. Thereafter, the process proceeds to step S505.
  • step S505 the prediction macroblock generation unit 5073 reads the edge image block from the edge image generation unit 5071, and inputs the prediction vector of the target partition from the skipped macroblock prediction vector generation unit 5072.
  • the prediction macroblock generation unit 5073 performs motion compensation based on the size of the target partition calculated based on the input edge image block and the prediction vector of the target partition, and generates a skipped macroblock prediction image macroblock. Thereafter, the process proceeds to step S506.
  • step S506 the skipped macroblock unit 507 sequentially changes the partition to be encoded, and returns to step S504. However, if the skipped macroblock unit 507 determines that there is no partition in the target macroblock that has not yet been processed for generation of the skipped macroblock prediction image macroblock, the process for the target macroblock is terminated. To do.
  • the image encoding device 5 detects an edge component from a depth map block, and divides the one macroblock into a plurality of partitions based on the detected edge component.
  • a prediction vector is calculated for each partition, based on the motion vector of the adjacent macroblock adjacent to the one macroblock and the prediction vector already calculated for the adjacent partition adjacent to the partition.
  • the prediction vector or adjacent macro of the adjacent partition having the largest area in contact with the partition. It is preferable that the motion vector of the block is a prediction vector of the partition.
  • the image decoding apparatus constitutes an image composed of luminance values for each pixel, which is encoded in units of partitions in the skipped macroblock mode according to the image encoding method in the image encoding apparatus 5 described above.
  • Image decoding means for decoding a macroblock which is a region of a part.
  • FIG. 15 is a schematic diagram illustrating a configuration example of an image decoding device according to the present embodiment.
  • the image decoding apparatus 6 illustrated in FIG. 15 includes an information source decoding unit 401, a depth map decoding unit 602, a depth map memory 603, an addition unit 404, a motion vector memory 405, a prediction vector generation unit 406, an inverse quantization / inverse DCT transform.
  • the image decoding device 6 replaces the depth map decoding unit 402, the partition size memory 403, and the skipped macroblock unit 412 of the image decoding device 4 shown in FIG. 8 with a depth map decoding unit 602, a depth map memory 603, a skipped
  • the macroblock unit 612 is provided, and the other configurations are the same.
  • the depth map memory 603 and the skipped macroblock unit 612 of the image decoding device 6 are the same as the depth map memory 503 and the skipped macroblock unit 507 of the image encoding device 5 shown in FIG. 11, respectively.
  • the depth map decoding unit 602 inputs a depth map code for each block from the outside of the image decoding device 6, and a known image decoding method such as ITU-T H.264. Decoding is performed using a decoding method described in the H.264 standard.
  • the depth map decoding unit 602 stores the depth map generated by decoding in the depth map memory 603 and outputs the depth map to the outside of the image decoding device 4.
  • the skipped macroblock unit 612 has the same configuration as the skipped macroblock unit 507 shown in FIG. 12, and performs the same processing as the skipped macroblock predicted image macroblock generation processing shown in FIG.
  • FIG. 16 is a flowchart for explaining an example of image decoding processing performed by the image decoding device 6 according to the present embodiment.
  • the flowchart in FIG. 16 differs from the flowchart in FIG. 9 in that step S303 is replaced with step S603, and the other processes are the same.
  • the flowchart III in FIG. 16 is followed by the flowchart III in the flowchart of FIG. 10 as in FIG. 9, but only the processing contents of step S315 are different, and the other processes are the same.
  • step S315 after the processing in FIG. 16 will be described as “step S615” in order to distinguish it from the processing following FIG.
  • step S603 in FIG. 16 is the same as step S403 in the flowchart in FIG. 13, and among the processing contents in FIG. 10 following FIG. 16, the processing contents in step S615 are also the same as step S408 in the flowchart in FIG. Therefore, the description thereof is omitted. Furthermore, since the processes other than step S603 and step S615 are the same as the flowcharts of FIGS. 9 and 10, the description thereof is omitted.
  • the motion vector prediction unit may read the motion vector of the upper left adjacent block from the motion vector memory.
  • an edge component is detected from a block of a depth map, and one macro block (target texture image macro block) is divided into a plurality of partitions based on the detected edge component.
  • a prediction vector is generated.
  • the macroblock when encoding in the skipped macroblock mode for each macroblock which is a partial area constituting an image composed of luminance values for each pixel, The macroblock is divided into a plurality of partitions according to the partition of the depth macroblock which is an area corresponding to the one macroblock in the depth map including the depth value indicating the distance from the viewpoint for each pixel. This is common in that a prediction vector is generated.
  • the one macroblock is divided into a plurality of partitions based on the size of the partition used when the depth macroblock is encoded.
  • the difference is that an edge component is detected from a block of the depth map, and the one macroblock is divided into a plurality of partitions based on the detected edge component.
  • a prediction vector can be set for each region in the target texture image macroblock. It is possible to improve the generation accuracy of predicted macroblocks by motion compensation, and hence the encoding efficiency.
  • encoding and decoding of a single-viewpoint image signal photographed by one camera has been described.
  • the present invention may be applied to a multi-viewpoint image signal photographed by a plurality of cameras.
  • a 3-viewpoint image signal is input, and an image signal of one viewpoint is encoded in a skipped macroblock mode using a depth map obtained from a parallax with an image signal of another viewpoint. By switching, the image signals of the three viewpoints can be encoded.
  • a part of the image encoding device 1, the image decoding device 4, the image encoding device 5, and the image decoding device 6 in the above-described embodiment for example, the intra prediction unit 105, the inter prediction unit 106, and the skipped macroblock unit.
  • encoding mode determination unit 108 prediction vector generation unit 110, subtraction unit 111, subtraction unit 112, DCT transformation / quantization unit 113, inverse quantization / inverse DCT transformation unit 114, addition unit 115, information source coding unit 116, information source decoding unit 401, addition unit 404, prediction vector generation unit 406, inverse quantization / inverse DCT conversion unit 407, addition unit 408, intra prediction image generation unit 410, inter prediction image generation unit 411, skipped macroblock Unit 412, coding mode determination unit 413, skipped macroblock unit 507, and skipped macroblock 612 may be realized by a computer.
  • a program for realizing this control function is recorded on a computer-readable recording medium, and the program recorded on the recording medium is read into a computer system.
  • the “computer system” is a computer system built in the image encoding device 1, the image decoding device 4, the image encoding device 5, or the image decoding device 6, and includes an OS (Operating System) and peripherals. It shall include hardware such as equipment.
  • the “computer-readable recording medium” refers to a storage device such as a flexible medium, a magneto-optical disk, a portable medium such as a ROM or a CD-ROM, and a hard disk incorporated in a computer system.
  • the “computer-readable recording medium” is a medium that dynamically holds a program for a short time, such as a communication line when transmitting a program via a network such as the Internet or a communication line such as a telephone line,
  • a volatile memory inside a computer system that serves as a server or a client may be included that holds a program for a certain period of time.
  • the program may be a program for realizing a part of the functions described above, and may be a program capable of realizing the functions described above in combination with a program already recorded in the computer system. Further, this program is not limited to being distributed via a portable recording medium or a network, but can also be distributed via a broadcast wave.
  • the above-described image encoding program performs an image encoding process for encoding the image in a skipped macroblock mode for each macroblock that is a partial area constituting an image composed of luminance values for each pixel.
  • This is an image encoding program to be executed.
  • one macroblock is divided into a plurality of depth macroblocks according to a partition of a depth macroblock that is an area corresponding to the one macroblock in a depth map including a depth value indicating a distance from a viewpoint for each pixel.
  • Other application examples are as described for the image encoding device.
  • the above-described image decoding program is encoded for each pixel according to the image encoding method described later (or by the above-described image encoding device or the image encoding program) in units of partitions in the skipped macroblock mode.
  • This is a program for causing a computer to execute an image decoding step for decoding a macroblock which is a partial area constituting an image composed of luminance values.
  • Other application examples are as described for the image decoding apparatus.
  • a part or all of the image encoding device 1, the image decoding device 4, the image encoding device 5, and the image decoding device 6 in the above-described embodiment is integrated with an integrated circuit such as LSI (Large Scale Integration) or IC (Integrated). Circuit) may be realized as a chip set.
  • LSI Large Scale Integration
  • IC Integrated
  • Circuit may be realized as a chip set.
  • Each functional block of the image encoding device 1, the image decoding device 4, the image encoding device 5, and the image decoding device 6 may be individually made into a processor, or a part or all of them may be integrated into a processor.
  • the method of circuit integration is not limited to LSI, and may be realized by a dedicated circuit or a general-purpose processor.
  • an integrated circuit based on the technology may be used.
  • 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.
  • image encoding is performed in which the image encoding apparatus encodes the image in a skipped macroblock mode for each macroblock, which is a partial area constituting an image composed of luminance values for each pixel.
  • the image coding apparatus partitions one macroblock into a depth macroblock that is an area corresponding to the one macroblock in a depth map including a depth value indicating a distance from the viewpoint for each pixel.
  • the above-described image decoding method uses a macroblock that is a partial area constituting an image composed of luminance values for each pixel, encoded in units of partitions in the skipped macroblock mode according to the above-described image encoding method.
  • the image decoding apparatus includes an image decoding step for decoding. Other application examples are as described for the image decoding apparatus.
  • information source coding unit 401 ... information source decoding unit, 402 ... depth Map decoding unit, 403 ... partition size memory, 404 ... addition unit, 405 ... motion vector memory, 406 ... prediction vector generation unit, 4 DESCRIPTION OF SYMBOLS 7 ... Dequantization / inverse DCT conversion part, 408 ... Addition part, 409 ... Reference image memory, 410 ... Intra prediction image generation part, 411 ... Inter prediction image generation part, 412 ... Skipped macroblock part, 413 ... Encoding Mode decision unit, 414 ... Image output unit, 502 ... Depth map encoding unit, 503 ... Depth map memory, 507 ... Skipped macroblock unit, 602 ...
  • Depth map decoding unit 603 ... Depth map memory, 612 ... Skipped macro Block unit, 1071... Skipped macroblock prediction vector generation unit, 1072... Prediction macroblock generation unit, 5071. Edge image generation unit, 5072... Skipped macroblock prediction vector generation unit, 5073.

Abstract

The objective of the invention is to obtain an excellent encoding efficiency in a skipped macroblock mode. For each macroblock that is a partial area constituting a texture image (Tf) comprising the brightness value of each pixel, a skipped macroblock mode is used to perform the encoding of the texture image. At this moment, a single macroblock (Tb) is divided into a plurality of partitions (Tp1, Tp2) in accordance with the partitions (Db1, Db2) of a depth macroblock (Db), which is an area corresponding to the single macroblock (Tb), in a depth map comprising the depth value indicating the distance from the view point of each pixel. Further, a predicted vector is generated for each of the partitions (Tp1, Tp2) and encoded by use of the skipped macroblock mode.

Description

画像符号化方法、画像復号方法、並びにそれらの装置及びプログラムImage encoding method, image decoding method, and apparatus and program thereof
 本発明は、画像符号化方法、画像復号方法、並びにそれらの装置及びプログラムに関する。 The present invention relates to an image encoding method, an image decoding method, and an apparatus and a program thereof.
 動画像の符号化においては、フレーム内予測や動き補償フレーム間予測など様々な方式が提案され、国際標準化規格であるMPEG(Moving Picture Experts Group)-2、MPEG-4、MPEG-4 AVC(Advanced Video Coding)/H.264で採用されている。 In video coding, various methods such as intra-frame prediction and motion-compensated inter-frame prediction have been proposed, and MPEG (Moving Picture Experts Group) -2, MPEG-4, MPEG-4 AVC (Advanced Video Coding) / H. H.264.
 非特許文献1に記載されたように、MPEG-4 AVC/H.264で採用された方式の一つに、スキップト・マクロブロックモード(skipped macroblock mode)がある。この方式は符号化対象のマクロブロックの情報をまったく符号化せず、復号する際には、符号化されたマクロブロックと隣接するマクロブロックの動きベクトルに基づき予測ベクトルを生成し、その予測ベクトルで動き補償を行うことで、符号化マクロブロックを復号するものである。 As described in Non-Patent Document 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には、多視点映像を符号化する場合に、このような予測ベクトルの代わりに、符号化対象画像と符号化対象画像とは異なる視点の画像との全域的な差を示す全域差ベクトルに基づいて、現在ブロックの動きベクトルを予測して、それを予測ベクトルとする技術が開示されている。また、特許文献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.
特表2010-516158号公報Special table 2010-516158
 しかしながら、非特許文献1及び特許文献1に記載のスキップト・マクロブロックモードは、符号化対象ブロックの形状を示す情報も符号化しないため、符号化対象ブロックの形状は1通り、例えば16×16、しか選択できない。そのため、符号化対象ブロック内に動きの異なる領域が複数存在する場合に、スキップト・マクロブロックモードでは適切に動き補償ができず、符号化効率が低下してしまう問題がある。 However, since the skipped macroblock mode described in Non-Patent Document 1 and Patent Document 1 does not encode information indicating the shape of the encoding target block, the encoding target block has one shape, for example, 16 × 16, You can only choose. Therefore, when there are a plurality of regions having different motions in the encoding target block, there is a problem that the motion compensation cannot be appropriately performed in the skipped macroblock mode and the encoding efficiency is lowered.
 本発明は、上述のような実状に鑑みてなされたものであり、その目的は、スキップト・マクロブロックモードにおいて優れた符号化効率を得ることが可能な画像符号化方法、画像復号方法、並びにそれらの装置及びプログラムを提供することにある。 The present invention has been made in view of the above-described actual situation, and an object of the present invention is to provide an image encoding method, an image decoding method, and the like capable of obtaining excellent encoding efficiency in the skipped macroblock mode. It is providing the apparatus and program of this.
 上記課題を解決するために、本発明の第1の技術手段は、画素毎の輝度値からなる画像を構成する一部の領域であるマクロブロック毎に、画像符号化装置がスキップト・マクロブロックモードによって前記画像の符号化を行う画像符号化方法であって、前記画像符号化装置が、1つのマクロブロックを、画素毎の視点からの距離を示す深度値からなるデプスマップのうち前記1つのマクロブロックに対応する領域であるデプスマクロブロックのパーティションに従って、複数のパーティションに分割し、前記パーティション毎に予測ベクトルを生成し、スキップト・マクロブロックモードによって符号化する画像符号化ステップを有することを特徴としたものである。 In order to solve the above-mentioned problem, the first technical means of the present invention is that the image encoding device performs a skipped macroblock mode for each macroblock which is a partial area constituting an image composed of luminance values for each pixel. The image encoding method performs encoding of the image according to claim 1, wherein the image encoding device converts one macroblock into one macroblock among depth maps each including a depth value indicating a distance from a viewpoint for each pixel. In accordance with a partition of a depth macroblock which is an area corresponding to a block, the image coding step includes dividing into a plurality of partitions, generating a prediction vector for each partition, and performing coding in a skipped macroblock mode. It is a thing.
 第2の技術手段は、第1の技術手段において、前記画像符号化ステップは、前記デプスマクロブロックを符号化した際に用いられたパーティションのサイズに基づいて、前記1つのマクロブロックを複数のパーティションに分割するステップと、前記パーティション毎に、前記1つのマクロブロックに隣接する隣接マクロブロックの動きベクトルと、前記パーティションに隣接する隣接パーティションについて既に算出された予測ベクトルとに基づき、前記パーティションの予測ベクトルを算出する算出ステップとを有することを特徴としたものである。 According to a second technical means, in the first technical means, the image encoding step converts the one macroblock into a plurality of partitions based on a partition size used when the depth macroblock is encoded. The prediction vector of the partition based on the motion vector of the adjacent macroblock adjacent to the one macroblock and the prediction vector already calculated for the adjacent partition adjacent to the partition for each partition. And a calculating step for calculating.
 第3の技術手段は、第2の技術手段において、前記算出ステップは、前記パーティション毎に、前記パーティションの左と上と右上に隣接する、隣接パーティションの予測ベクトル又は隣接マクロブロックの動きベクトルについての中央値を、前記パーティションの予測ベクトルとして算出することを特徴としたものである。 According to a third technical means, in the second technical means, for each partition, the calculation step is performed on a prediction vector of an adjacent partition or a motion vector of an adjacent macroblock adjacent to the left, top, and right of the partition. The median is calculated as a prediction vector of the partition.
 第4の技術手段は、第1の技術手段において、前記画像符号化ステップは、前記デプスマップのブロックからエッジ成分を検出するステップと、検出したエッジ成分に基づいて前記1つのマクロブロックを複数のパーティションに分割するステップと、前記パーティション毎に、前記1つのマクロブロックに隣接する隣接マクロブロックの動きベクトルと、前記パーティションに隣接する隣接パーティションについて既に算出された予測ベクトルとに基づき、前記パーティションの予測ベクトルを算出する算出ステップとを有することを特徴としたものである。 According to a fourth technical means, in the first technical means, the image encoding step includes a step of detecting an edge component from the block of the depth map, and a plurality of the one macroblock based on the detected edge component. Partition prediction based on the partitioning step, and for each partition, a motion vector of an adjacent macroblock adjacent to the one macroblock and a prediction vector already calculated for the adjacent partition adjacent to the partition. And a calculation step for calculating a vector.
 第5の技術手段は、第4の技術手段において、前記算出ステップは、前記パーティション毎に、前記パーティションの左と上と右上に隣接する、隣接パーティション及び隣接マクロブロックの中から、最も前記パーティションと接する面積の広い、隣接パーティションの予測ベクトル又は隣接マクロブロックの動きベクトルを、前記パーティションの予測ベクトルとすることを特徴としたものである。 According to a fifth technical means, in the fourth technical means, the calculating step includes, for each partition, among the adjacent partitions and adjacent macroblocks that are adjacent to the left, top, and top right of the partition. A prediction vector of an adjacent partition or a motion vector of an adjacent macroblock having a wide area that touches is used as the prediction vector of the partition.
 第6の技術手段は、画素毎の輝度値からなる画像を構成する一部の領域であるマクロブロック毎に、スキップト・マクロブロックモードによって前記画像の符号化を行う画像符号化装置であって、1つのマクロブロックを、画素毎の視点からの距離を示す深度値からなるデプスマップのうち前記1つのマクロブロックに対応する領域であるデプスマクロブロックのパーティションに従って、複数のパーティションに分割し、前記パーティション毎に予測ベクトルを生成し、スキップト・マクロブロックモードによって符号化する画像符号化手段を備えたことを特徴としたものである。 A sixth technical means is an image encoding device that encodes the image in a skipped macroblock mode for each macroblock that is a partial region that configures an image composed of luminance values for each pixel, One macroblock is divided into a plurality of partitions according to a partition of a depth macroblock which is an area corresponding to the one macroblock in a depth map including a depth value indicating a distance from a viewpoint for each pixel, and the partition It is characterized by comprising image encoding means for generating a prediction vector for each time and encoding in a skipped macroblock mode.
 第7の技術手段は、画素毎の輝度値からなる画像を構成する一部の領域であるマクロブロック毎に、スキップト・マクロブロックモードによって前記画像の符号化を行う画像符号化処理を、コンピュータに実行させるための画像符号化プログラムであって、前記画像符号化処理は、1つのマクロブロックを、画素毎の視点からの距離を示す深度値からなるデプスマップのうち前記1つのマクロブロックに対応する領域であるデプスマクロブロックのパーティションに従って、複数のパーティションに分割し、前記パーティション毎に予測ベクトルを生成し、スキップト・マクロブロックモードによって符号化する画像符号化ステップを有することを特徴としたものである。 According to a seventh technical means, an image encoding process for encoding the image in a skipped macroblock mode is performed on a computer for each macroblock which is a partial area constituting an image composed of luminance values for each pixel. An image encoding program for execution, wherein the image encoding process corresponds to one macroblock in a depth map including a depth value indicating a distance from a viewpoint for each pixel. In accordance with a partition of a depth macroblock that is an area, the image coding step includes dividing the image into a plurality of partitions, generating a prediction vector for each partition, and encoding in a skipped macroblock mode. .
 第8の技術手段は、画像復号方法において、第1~第5のいずれか1の技術手段における画像符号化方法に従いスキップト・マクロブロックモードによってパーティション単位で符号化された、画素毎の輝度値からなる画像を構成する一部の領域であるマクロブロックを、画像復号装置が復号する画像復号ステップを有することを特徴としたものである。 According to an eighth technical means, in the image decoding method, from the luminance value for each pixel encoded in units of partitions in the skipped macroblock mode according to the image encoding method in any one of the first to fifth technical means. The image decoding apparatus includes an image decoding step for decoding a macroblock which is a partial area constituting the image.
 第9の技術手段は、画像復号装置において、第1~第5のいずれか1の技術手段における画像符号化方法に従いスキップト・マクロブロックモードによってパーティション単位で符号化された、画素毎の輝度値からなる画像を構成する一部の領域であるマクロブロックを復号する画像復号手段を備えたことを特徴としたものである。 According to a ninth technical means, in the image decoding apparatus, from the luminance value for each pixel encoded in units of partitions in the skipped macroblock mode according to the image encoding method in any one of the first to fifth technical means. The image decoding means which decodes the macroblock which is a one part area | region which comprises the image which becomes is characterized by the above-mentioned.
 第10の技術手段は、第1~第5のいずれか1の技術手段における画像符号化方法に従いスキップト・マクロブロックモードによってパーティション単位で符号化された、画素毎の輝度値からなる画像を構成する一部の領域であるマクロブロックを復号する画像復号ステップを、コンピュータに実行させるための画像復号プログラムである。 The tenth technical means constitutes an image composed of luminance values for each pixel, encoded in units of partitions by the skipped macroblock mode according to the image encoding method in any one of the first to fifth technical means. An image decoding program for causing a computer to execute an image decoding step for decoding a macroblock which is a partial area.
 本発明によれば、スキップト・マクロブロックモードにおいて優れた符号化効率で画像を符号化又は復号することが可能になる。 According to the present invention, an image can be encoded or decoded with excellent coding efficiency in the skipped macroblock mode.
本発明の第1の実施形態に係る画像符号化装置を備えた3次元画像撮影システムの一構成例を示す概略図である。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. 本発明の第1の実施形態に係る画像符号化装置の構成例を示す概略図である。It is the schematic which shows the structural example of the image coding apparatus which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係るスキップト・マクロブロック部の構成例を示す概略図である。It is the schematic which shows the structural example of the skipped macroblock part which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係るスキップト・マクロブロックモードによる符号化の一例を示す概念図である。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. 本発明の第1の実施形態に係る画像符号化装置が行う画像符号化処理の一例を説明するためのフローチャートである。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. 図5に続くフローチャートである。It is a flowchart following FIG. 本発明の第1の実施形態に係るスキップト・マクロブロック部におけるスキップト・マクロブロック予測画像マクロブロック生成処理の一例を説明するためのフローチャートである。It is a flowchart for demonstrating an example of the skipped macroblock prediction image macroblock production | generation process in the skipped macroblock part which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係る画像復号装置の構成例を示す概略図である。It is the schematic which shows the structural example of the image decoding apparatus which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係る画像復号装置が行う画像復号処理の一例を説明するためのフローチャートである。It is a flowchart for demonstrating an example of the image decoding process which the image decoding apparatus concerning the 1st Embodiment of this invention performs. 図9に続くフローチャートである。It is a flowchart following FIG. 本発明の第2の実施形態に係る画像符号化装置の構成例を示す概略図である。It is the schematic which shows the structural example of the image coding apparatus which concerns on the 2nd Embodiment of this invention. 本発明の第2の実施形態に係るスキップト・マクロブロック部の構成例を示す概略図である。It is the schematic which shows the structural example of the skipped macroblock part which concerns on the 2nd Embodiment of this invention. 本発明の第2の実施形態に係る画像符号化装置が行う画像符号化処理の一例を説明するためのフローチャートである。It is a flowchart for demonstrating an example of the image coding process which the image coding apparatus which concerns on the 2nd Embodiment of this invention performs. 本発明の第2の実施形態に係るスキップト・マクロブロック部におけるスキップト・マクロブロック予測画像マクロブロック生成処理の一例を説明するためのフローチャートである。It is a flowchart for demonstrating an example of the skipped macroblock prediction image macroblock production | generation process in the skipped macroblock part which concerns on the 2nd Embodiment of this invention. 本発明の第2の実施形態に係る画像復号装置の構成例を示す概略図である。It is the schematic which shows the structural example of the image decoding apparatus which concerns on the 2nd Embodiment of this invention. 本発明の第2の実施形態に係る画像復号装置が行う画像復号処理の一例を説明するためのフローチャートである。It is a flowchart for demonstrating an example of the image decoding process which the image decoding apparatus which concerns on the 2nd Embodiment of this invention performs.
 本発明では、画素毎の輝度値からなる画像を構成する一部の領域であるマクロブロック毎に、スキップト・マクロブロックモードによって画像の符号化又は復号を行う。無論、以下の説明から明らかなように、全てのマクロブロックに対してスキップト・マクロブロックモードで符号化/復号を行うことに限定されるものではない。そして、本発明では予測ベクトルの生成に主たる特徴を有する。より具体的には、本発明におけるスキップト・マクロブロックモードでは、マクロブロックを予測符号化する際に、深度値のデプスマップに関するパーティション毎に予測ベクトルを得るようにしている。
 以下、図面を参照しながら本発明の実施形態について詳しく説明する。
In the present invention, an image is encoded or decoded in a skipped macroblock mode for each macroblock which is a partial region constituting an image composed of luminance values 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. And in this invention, it has the main characteristics in the production | generation of a prediction vector. More specifically, in the skipped macroblock mode according to the present invention, when a macroblock is predictively encoded, a prediction vector is obtained for each partition related to the depth value depth map.
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
(第1の実施形態)
 図1は、本発明の第1の実施形態に係る画像符号化装置を備えた3次元画像撮影システムの一構成例を示す概略図である。
 図1で例示する画像撮影システムは、撮影装置3a、撮影装置3b、画像前置処理部2、及び画像符号化装置1を含んで構成される。
(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.
The image photographing system illustrated in FIG. 1 includes a photographing device 3a, a photographing device 3b, an image preprocessing unit 2, and an image encoding device 1.
 撮影装置3a及び撮影装置3bは、互いに異なる位置(視点)に設置され、同一の視野に含まれる被写体の画像を、予め定めた時間間隔で(例えば1/30秒毎に1回)撮影する。撮影装置3a及び撮影装置3bは、撮影した画像を示す画像信号をそれぞれ画像前置処理部2に出力する。 The imaging device 3a and the imaging device 3b are installed at different positions (viewpoints), and take images of subjects included in the same field of view at predetermined time intervals (for example, once every 1/30 seconds). The imaging device 3a and the imaging device 3b each output an image signal indicating a captured image to the image preprocessing unit 2.
 この画像信号は、被写空間に含まれる被写体や背景の色彩や濃淡を表す信号値(輝度値)であって、二次元平面に配置された画素毎の信号値からなる画像信号である。この画像信号は、画素毎に色空間を表す信号値を有する画像信号、例えばRGB信号である。RGB信号は、赤色成分の輝度値を表すR信号、緑色成分の輝度値を示すG信号、青色成分の輝度値を示すB信号を含む。 This image signal is an image signal that is a signal value (luminance value) representing the color and shading of the subject and background included in the subject space, and is composed of signal values for each pixel arranged on a two-dimensional plane. 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から入力された画像をテクスチャ画像(texture map;「基準画像」、「二次元画像」ということがある。)と定め、他の撮影装置(この例では撮影装置3b)から入力された画像と区別して説明する。従って、テクスチャ画像も被写空間に含まれる被写体や背景の色彩や濃淡を表す信号値(輝度値)であって、二次元平面に配置された画素毎の信号値からなる一般的な二次元の画像信号である。画像前置処理部2は、単に「前処理部」とも呼べる。 The image preprocessing unit 2 may refer to an image input from one of the imaging device 3a and the imaging device 3b, for example, the imaging device 3a, as a texture image (“text map”; “reference image”, “two-dimensional image”). .), And will be described separately from an image input from another imaging device (in this example, the imaging device 3b). Therefore, the texture 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 can also be simply called a “preprocessing unit”.
 画像前置処理部2は、撮影装置3aから入力されたテクスチャ画像と、他の撮影装置3bから入力された画像との視差を画素毎に算出し、デプスマップを生成する。デプスマップ(depth map、「深度画像」、「距離画像」ということがある。)とは、被写空間に含まれる被写体や背景の視点(撮影装置等)からの距離に対応する信号値(「デプス値」、「深度値」、「デプス」ということがある。)であって、二次元平面に配置された画素毎の信号値からなる画像信号である。デプスマップを構成する画素は、テクスチャ画像を構成する画素と対応する。従って、デプスマップは、被写空間を二次元に射影した基準となる画像信号であるテクスチャ画像を用いて、三次元の被写空間を表すための手がかりとなる。画像前置処理部2は、テクスチャ画像と生成したデプスマップとを画像符号化装置1に出力する。 The image preprocessing unit 2 calculates a parallax between the texture image input from the image capturing device 3a and the image input from the other image capturing device 3b for each pixel, and generates a depth map. A depth map (sometimes referred to as depth map, “depth image”, or “distance image”) is a signal value corresponding to a distance from a subject included in the subject space or a background viewpoint (such as a photographing device). It may be referred to as “depth value”, “depth value”, or “depth”), and is an image signal composed of signal values for each pixel arranged on a two-dimensional plane. The pixels constituting the depth map correspond to the pixels constituting the texture image. Therefore, the depth map is a clue for representing a three-dimensional object space using a texture image that is a reference image signal obtained by projecting the object space in two dimensions. The image preprocessing unit 2 outputs the texture image and the generated depth map to the image encoding device 1.
 画像符号化装置1は、次の画像符号化手段を備える。この画像符号化手段は、画素毎の輝度値からなる画像を構成する一部の領域であるマクロブロック毎に、スキップト・マクロブロックモードで符号化する際、1つのマクロブロックを、画素毎の視点からの距離を示す深度値からなるデプスマップのうち上記1つのマクロブロックに対応する領域であるデプスマクロブロック(デプスマップのマクロブロック)のパーティションに従って、複数のパーティションに分割し、そのパーティション毎に予測ベクトルを生成し、スキップト・マクロブロックモードによって符号化する。 The image encoding device 1 includes the following image encoding means. This image encoding means encodes one macroblock for each pixel in a skipped macroblock mode for each macroblock which is a partial area constituting an image composed of luminance values for each pixel. Divide into multiple partitions according to the partition of the depth macroblock (depth map macroblock) that is the area corresponding to the one macroblock in the depth map consisting of the depth value indicating the distance from, and predict for each partition A vector is generated and encoded in skipped macroblock mode.
 なお、本実施形態では、画像撮影システムが備える撮影装置の数を2台として説明しているが、これに限らず、3台以上であってもよい。また、画像符号化装置1が入力されるテクスチャ画像及びデプスマップは、撮影装置3a及び撮影装置3bが撮影した画像に基づくものでなくともよく、例えば、予め合成された画像であってもよい。 In the present embodiment, the number of image capturing apparatuses included 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 texture image and the depth map input to the image encoding device 1 do not have to be based on images captured by the imaging device 3a and the imaging device 3b, and may be images synthesized in advance, for example.
 次に、本実施形態に係る画像符号化装置1の構成例とその機能について、図2を参照しながら説明する。図2は、本実施形態に係る画像符号化装置1の構成例を示す概略図である。 Next, a configuration example and functions of the image 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.
 図2で例示する画像符号化装置1は、テクスチャ画像入力部101、デプスマップ符号化部102、パーティションサイズメモリ103、参照画像メモリ104、イントラ予測部105、インター予測部106、スキップト・マクロブロック部107、符号化モード判定部108、動きベクトルメモリ109、予測ベクトル生成部110、減算部111、減算部112、DCT変換・量子化部113、逆量子化・逆DCT変換部114、加算部115、及び情報源符号化部116を含んで構成される。 An image encoding apparatus 1 illustrated in FIG. 2 includes a texture image input unit 101, a depth map encoding unit 102, a partition size memory 103, a reference image memory 104, an intra prediction unit 105, an inter prediction unit 106, and a skipped macroblock unit. 107, encoding mode determination unit 108, motion vector memory 109, prediction vector generation unit 110, subtraction unit 111, subtraction unit 112, DCT transform / quantization unit 113, inverse quantization / inverse DCT transform unit 114, addition unit 115, And an information source encoding unit 116.
 テクスチャ画像入力部101は、画像前置処理部2からテクスチャ画像がフレーム毎に入力され、入力されたテクスチャ画像からマクロブロック(以下、テクスチャ画像マクロブロック)を抽出する。テクスチャ画像入力部101は、抽出したテクスチャ画像マクロブロックを、符号化モード判定部108、インター予測部106、及び減算部111に出力する。テクスチャ画像マクロブロックは、予め定めた数の画素、例えば水平方向16画素×垂直方向16画素からなる。 Texture image input unit 101 receives a texture image from the image preprocessing unit 2 for each frame, and extracts a macro block (hereinafter referred to as a texture image macro block) from the input texture image. The texture image input unit 101 outputs the extracted texture image macroblock to the encoding mode determination unit 108, the inter prediction unit 106, and the subtraction unit 111. The texture image macroblock is composed of a predetermined number of pixels, for example, 16 pixels in the horizontal direction × 16 pixels in the vertical direction.
 テクスチャ画像入力部101は、ラスタースキャンの順序でテクスチャ画像マクロブロックを抽出するマクロブロックの位置を、各ブロックが重ならないようにシフトさせる。即ち、テクスチャ画像入力部101は、テクスチャ画像マクロブロックを抽出するブロックをフレームの左上端から順次ブロックの水平方向の画素数だけ右に移動させる。テクスチャ画像入力部101は、テクスチャ画像マクロブロックを抽出するマクロブロックの右端がフレームの右端に達した後、そのマクロブロックをマクロブロックの垂直方向の画素数だけ下で、且つフレームの左端に移動させる。テクスチャ画像入力部101は、このようにしてテクスチャ画像マクロブロックを抽出するマクロブロックがフレームの右下に達するまで移動させる。なお、以下では、抽出されたテクスチャ画像マクロブロックを符号化対象マクロブロック又は対象マクロブロックと呼ぶことがある。 The texture image input unit 101 shifts the position of the macro block from which the texture image macro block is extracted in the raster scan order so that the blocks do not overlap. That is, the texture image input unit 101 sequentially moves the block from which the texture image 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 texture image macroblock is extracted reaches the right end of the frame, the texture image input unit 101 moves the macroblock down by the number of pixels in the vertical direction of the macroblock and to the left end of the frame. . The texture image input unit 101 moves the macroblock from which the texture image macroblock is extracted in this way until it reaches the lower right of the frame. Hereinafter, the extracted texture image macroblock may be referred to as an encoding target macroblock or a target macroblock.
 デプスマップ符号化部102は、画像前置処理部2からデプスマップをフレーム毎に入力し、各フレームを構成するマクロブロック毎に公知の画像符号化方法、例えばITU-T H.264規格書に記載されている復号方法に対応する符号化方法を用いてデプスマップを符号化する。デプスマップ符号化部102は、符号化して生成したデプスマップ符号を画像符号化装置1の外部に出力する。 The depth map encoding unit 102 inputs the depth map from the image preprocessing unit 2 for each frame, and a known image encoding method for each macroblock constituting each frame, for example, ITU-T H.264. The depth map is encoded using an encoding method corresponding to the decoding method described in the H.264 standard. The depth map encoding unit 102 outputs the depth map code generated by encoding to the outside of the image encoding device 1.
 デプスマップ符号化部102は、デプスマップの各マクロブロックを符号化した際にマクロブロックを分割した形状を示すパーティションのサイズをパーティションサイズメモリ103に記憶する。なお、本実施形態において上記パーティションのサイズは、水平方向16画素×垂直方向16画素、16画素×8画素、8画素×16画素、8画素×8画素、8画素×4画素、4画素×8画素、又は、4画素×4画素であるが、本発明は、具体的なパーティションのサイズで限定されるものではない。 The depth map encoding unit 102 stores, in the partition size memory 103, the partition size indicating the shape obtained by dividing the macro block when each macro block of the depth map is encoded. 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.
 パーティションサイズメモリ103は、デプスマップ符号化部102から入力されたパーティションのサイズを、符号化されたマクロブロックの順に記憶する。 The partition size memory 103 stores the partition sizes input from the depth map encoding unit 102 in the order of the encoded macro blocks.
 参照画像メモリ104は、加算部115から入力された参照画像のマクロブロック(以下、参照画像マクロブロック)を、対応するフレームにおける符号化対象マクロブロックの位置に配置して参照画像として記憶する。この参照画像マクロブロックは、過去に入力されたテクスチャ画像マクロブロックを符号化し、復号された画像マクロブロックである。このように参照画像マクロブロックを配置して構成したフレームの画像信号を参照画像と呼んでいる。参照画像メモリ104は、現在から予め設定されたフレーム数、例えば15フレーム分の過去のフレームの参照画像を順次に記憶し、記憶されたフレーム数が予め設定されたフレーム数を超えたとき、例えば16フレーム目の参照画像が入力された時、それ以前の過去のフレームの参照画像を全て削除する。 The reference image memory 104 stores a reference image macroblock (hereinafter referred to as a reference image macroblock) input from the adder 115 at the position of the encoding target macroblock in the corresponding frame as a reference image. This reference image macroblock is an image macroblock obtained by encoding and decoding a texture image 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 104 sequentially stores a reference number of frames set in advance from the present, for example, 15 frames in the past, and 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.
 イントラ予測部105は、参照画像メモリ104から対象マクロブロックと同一フレーム内の対象マクロブロックの上と左に隣接する符号化に係る処理を行った参照画像ブロックを読みだす。参照画像ブロックのサイズは、例えば、水平方向16画素×垂直方向16画素、8画素×8画素、4画素×4画素であるが、本発明は、具体的な参照マクロブロック(参照画像のマクロブロック)のサイズで限定されるものではない。イントラ予測部105は、読みだした参照マクロブロックに基づいてフレーム内予測を行い、イントラ予測画像マクロブロックを生成する。具体的なフレーム内予測の方法としては、例えばITU-T H.264規格書に記載されているフレーム内予測方法がある。イントラ予測部105は、生成したイントラ予測画像マクロブロックを符号化モード判定部108に出力する。 The intra prediction unit 105 reads a reference image block that has been subjected to processing related to encoding adjacent to the top and left of the target macroblock in the same frame as the target macroblock from the reference image memory 104. The size of the reference image block is, for example, 16 pixels in the horizontal direction × 16 pixels in the vertical direction, 8 pixels × 8 pixels, 4 pixels × 4 pixels, but the present invention is not limited to the specific reference macroblock (the macroblock of the reference image). ) Is not limited by the size. The intra prediction unit 105 performs intra-frame prediction based on the read reference macroblock, and generates an intra predicted image macroblock. As a specific intra-frame prediction method, for example, ITU-T H.264. There is an intra-frame prediction method described in the H.264 standard. The intra prediction unit 105 outputs the generated intra predicted image macroblock to the encoding mode determination unit 108.
 インター予測部106は、テクスチャ画像入力部101から入力された対象マクロブロックを1つ若しくは複数のパーティションに分割し、各々のパーティションに対して、順次、動きベクトルを検出する。なお、1つのパーティションに分割するとは実質的に分割を実行しないことを指す。 The inter prediction unit 106 divides the target macroblock input from the texture image 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.
 具体的には、まず、インター予測部106は、参照画像メモリ104から参照画像を構成する参照画像ブロックを読み出す。インター予測部106が読み出す参照画像ブロックの大きさ(画素数)は上記複数パーティションのうち、処理の対象となるパーティション(以下、対象パーティションと呼ぶ)の大きさと同一である。ここで、インター予測部106は、テクスチャ画像入力部101から入力されたテクスチャ画像マクロブロック内の対象パーティションと参照画像ブロックとの間でブロックマッチングを行う。即ち、参照画像メモリ104に記憶されている過去の参照画像のフレームから参照画像ブロックを読み出す位置を、対象パーティションの位置から予め設定した範囲内において水平方向又は垂直方向に1画素ずつ移動させる。インター予測部106は、対象パーティションの座標と対象パーティションと最も類似する参照画像ブロックの座標との差分を、動きベクトルとして検出する。 Specifically, first, the inter prediction unit 106 reads a reference image block constituting a reference image from the reference image memory 104. The size (number of pixels) of the reference image block read by the inter prediction unit 106 is the same as the size of the partition to be processed (hereinafter referred to as the target partition) among the plurality of partitions. Here, the inter prediction unit 106 performs block matching between the target partition in the texture image macroblock input from the texture image input unit 101 and the reference image block. That is, the position at which the reference image block is read from the frame of the past reference image stored in the reference image memory 104 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 106 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 motion vector.
 ここで、インター予測部106は、対象パーティションに含まれる画素毎の信号値と参照画像ブロックに含まれる画素毎の信号値との類似性を示す指標値、例えば、SAD(Sum of Absolute Difference、差分絶対値和)を算出する。インター予測部106は、指標値を最小とする参照画像ブロックを、対象パーティションと最も類似する参照画像ブロックと定める。インター予測部106は、対象パーティションの座標と定めた参照画像ブロックの座標に基づき動きベクトルを算出する。 Here, the inter prediction unit 106 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 106 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 106 calculates a motion vector based on the coordinates of the target partition and the coordinates of the reference image block determined.
 また、インター予測部106は、対象マクロブロックを構成する上記パーティションのサイズのうち、符号化コストが最小となるパーティションのサイズを選択する。例えば、インター予測部106は、以下の処理を全てのパーティションのサイズに対して行う。まず、インター予測部106は、予測ベクトル生成部110から対象パーティションに対応する予測ベクトルが入力される。インター予測部106は、算出した動きベクトルと入力された予測ベクトルの差分ベクトルを算出し、算出した差分ベクトルの水平成分の絶対値、その垂直成分の絶対値及び対象パーティションと対象パーティションと最も類似する参照ブロックとの間の指標値の和をコスト値として算出する。以上の処理を、対象マクロブロックを構成する全てのパーティションに対して行うことでコスト値を算出し、そのコスト値の和をパーティションのサイズ毎に求めていく。そして、パーティションのサイズのうちコスト値の和が最も小さくなったパーティションのサイズを選択する。 Also, the inter prediction unit 106 selects a partition size that minimizes the coding cost from among the sizes of the partitions constituting the target macroblock. For example, the inter prediction unit 106 performs the following processing on the sizes of all partitions. First, the inter prediction unit 106 receives a prediction vector corresponding to the target partition from the prediction vector generation unit 110. The inter prediction unit 106 calculates a difference vector between the calculated motion vector and the input prediction vector, and calculates the absolute value of the horizontal component, the absolute value of the vertical component of the calculated difference vector, and the target partition and the target partition most similar to each other. The sum of the index values with the reference block is calculated as a cost value. 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
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
 ここで、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. The present invention is not limited to a specific encoding cost calculation method.
 次に、インター予測部106は、コスト値が最小となったパーティションのサイズとそのサイズの各パーティションで算出した動きベクトルとに基づいて動き補償を行い、予測画像マクロブロックを生成する。具体的には、まず、インター予測部106は、参照画像メモリ104からパーティション毎に、動きベクトルが差す座標の参照画像ブロックを読み取る。インター予測部106は、パーティション毎に、読みだした参照画像ブロックの座標をパーティションの座標に合わせる処理をすることによって予測画像マクロブロックを生成する。 Next, the inter prediction unit 106 performs motion compensation based on the size of the partition having the smallest cost value and the motion vector calculated for each partition of the size, and generates a predicted image macroblock. Specifically, first, the inter prediction unit 106 reads a reference image block at coordinates indicated by motion vectors for each partition from the reference image memory 104. The inter prediction unit 106 generates a 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.
 インター予測部106は、算出した動きベクトルを動きベクトルメモリ109に記憶すると共に減算部112に出力し、生成した予測画像マクロブロックを符号化モード判定部108に出力する。 The inter prediction unit 106 stores the calculated motion vector in the motion vector memory 109 and outputs it to the subtraction unit 112, and outputs the generated predicted image macroblock to the encoding mode determination unit 108.
 スキップト・マクロブロック部107は、パーティションサイズメモリ103から対象マクロブロックと同一座標の参照デプスマクロブロックのパーティションのサイズを、動きベクトルメモリ109から対象マクロブロックの左、上、右上に隣接するパーティションの動きベクトルを、参照画像メモリ104から参照画像ブロックを、それぞれ読みだす。ここで、デプスマップにおける参照マクロブロックに対応する領域、つまり参照マクロブロックと同座標のマクロブロックを、参照デプスマクロブロックと呼ぶ。同様に、デプスマップにおける対象マクロブロックに対応する領域、つまり対象マクロブロックと同座標のマクロブロックを、対象デプスマクロブロックと呼ぶ。 The skipped macroblock unit 107 determines the partition size of the reference depth macroblock having the same coordinates as that of the target macroblock from the partition size memory 103, and the motion of the partition adjacent to the left, upper, and upper right of the target macroblock from the motion vector memory 109. The vector is read from each of the reference image blocks from the reference image memory 104. Here, an area corresponding to the reference macroblock in the depth map, that is, a macroblock having the same coordinates as the reference macroblock is referred to as a reference depth macroblock. Similarly, a region corresponding to the target macroblock in the depth map, that is, a macroblock having the same coordinates as the target macroblock is referred to as a target depth macroblock.
 スキップト・マクロブロック部107は、読みこんだ動きベクトルに基づき予測ベクトルを算出する。そして、スキップト・マクロブロック部107は、算出した予測ベクトルに基づき動き補償を行うことで、スキップト・マクロブロックによる予測画像マクロブロック(以下、スキップト・マクロブロック予測画像マクロブロック)を生成する。スキップト・マクロブロック部107は、スキップト・マクロブロック予測画像マクロブロックを符号化モード判定部108に出力する。処理の詳細については後述する。 The skipped macroblock unit 107 calculates a prediction vector based on the read motion vector. The skipped macroblock unit 107 performs motion compensation based on the calculated prediction vector, thereby generating a predicted image macroblock (hereinafter referred to as a skipped macroblock predicted image macroblock) using the skipped macroblock. The skipped macroblock unit 107 outputs the skipped macroblock predicted image macroblock to the coding mode determination unit 108. Details of the processing will be described later.
 符号化モード判定部108は、テクスチャ画像入力部101から対象マクロブロックを、イントラ予測部105からイントラ予測画像マクロブロックを、インター予測部106から予測画像マクロブロックを、スキップト・マクロブロック部107からスキップト・マクロブロック予測画像マクロブロックを、それぞれ入力として受け取る。 The encoding mode determination unit 108 receives the target macroblock from the texture image input unit 101, the intra prediction image macroblock from the intra prediction unit 105, the prediction image macroblock from the inter prediction unit 106, and the skipped macroblock unit 107. Macroblock predicted image macroblocks are received as inputs.
 そして、符号化モード判定部108は、入力された3つの予測画像マクロブロックに基づいて最も符号化効率の高い符号化モードを決定する。具体的には、例えば、符号化モード判定部108は、予測画像マクロブロック毎に対象マクロブロックとの画素毎に信号値の2乗誤差を算出し、予測画像マクロブロック内の2乗誤差の和を符号化コストとする。符号化モード判定部108は、全ての符号化モードに対して符号化コストを算出し、符号化コストが最も小さい予測画像マクロブロックに対応する符号化モードを最も符号化効率の高い符号化モードとする。他の決定方法としては、例えば、RDコストを用いるものもある。なお、本発明は、具体的な符号化コストの算出方法によって限定されるものではない。 Then, the coding mode determination unit 108 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 108 calculates the square error of the signal value for each pixel with the target macroblock for each prediction image macroblock, and sums the square errors in the prediction image macroblock. Is the encoding cost. The coding mode determination unit 108 calculates coding costs for all coding modes, and sets the coding mode corresponding to the predicted image macroblock with the lowest coding cost as the coding mode with the highest coding efficiency. To do. 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.
 符号化モード判定部108は、最も符号化効率の高い符号化モードを示す符号化モード信号を情報源符号化部116に出力する。符号化モード判定部108は、最も符号化効率の高い符号化モードがスキップト・マクロブロックモードであった場合には、スキップト・マクロブロック予測画像マクロブロックを参照画像メモリ104に出力する。符号化モード判定部108は、最も符号化効率の高い符号化モードがイントラ予測若しくはインター予測であった場合には、イントラ予測画像マクロブロックかインター予測画像マクロブロックのうち、符号化効率の高い符号化モードに対応するものを、減算部111と加算部115に出力する。 The encoding mode determination unit 108 outputs an encoding mode signal indicating the encoding mode with the highest encoding efficiency to the information source encoding unit 116. When the coding mode with the highest coding efficiency is the skipped macroblock mode, the coding mode determination unit 108 outputs the skipped macroblock predicted image macroblock to the reference image memory 104. When the coding mode with the highest coding efficiency is intra prediction or inter prediction, the coding mode determination unit 108 selects a code with high coding efficiency from the intra prediction image macroblock or the inter prediction image macroblock. The data corresponding to the conversion mode is output to the subtracting unit 111 and the adding unit 115.
 動きベクトルメモリ109は、インター予測部106から入力された動きベクトルを、フレーム毎、ブロック毎、及びパーティション毎に記憶する。動きベクトルメモリ109は、格納している動きベクトルを予測ベクトル生成部110とスキップト・マクロブロック部107に出力する。 The motion vector memory 109 stores the motion vector input from the inter prediction unit 106 for each frame, each block, and each partition. The motion vector memory 109 outputs the stored motion vector to the prediction vector generation unit 110 and the skipped macroblock unit 107.
 予測ベクトル生成部110は、対象パーティションに隣接し、符号化に係る処理を行ったパーティション、例えば対象パーティションの左、上、及び右上に隣接するパーティションの動きベクトルを読み出す。予測ベクトル生成部110は、読み出した動きベクトルに基づき、例えば読み込んだ3つの動きベクトルの水平成分と垂直成分の中央値を取ることで予測ベクトルを算出する。なお、中間値以外にも平均値や最大値、最小値など任意の基準のものを用いても構わない。予測ベクトル生成部110は、算出した予測ベクトルをインター予測部106及び減算部112に出力する。 The prediction vector generation unit 110 reads the motion vector of the partition adjacent to the target partition and subjected to the processing related to encoding, for example, the partition adjacent to the left, top, and upper right of the target partition. Based on the read motion vector, the predicted vector generation unit 110 calculates a predicted vector by taking, for example, the median value of the horizontal and vertical components of the three read motion vectors. In addition to the intermediate value, an arbitrary standard such as an average value, a maximum value, or a minimum value may be used. The prediction vector generation unit 110 outputs the calculated prediction vector to the inter prediction unit 106 and the subtraction unit 112.
 減算部111は、テクスチャ画像入力部101から入力されたテクスチャ画像マクロブロックに含まれる各画素の信号値から、符号化モード判定部108から入力されたイントラ予測画像マクロブロック又はインター予測画像マクロブロックに含まれる各画素の信号値を減算して、残差信号ブロックを算出する。減算部111は、算出した残差信号マクロブロックをDCT変換・量子化部113に出力する。 The subtraction unit 111 converts the signal value of each pixel included in the texture image macroblock input from the texture image input unit 101 into an intra prediction image macroblock or inter prediction image macroblock input from the coding mode determination unit 108. The residual signal block is calculated by subtracting the signal value of each pixel included. The subtraction unit 111 outputs the calculated residual signal macroblock to the DCT transform / quantization unit 113.
 減算部112は、インター予測部106から入力された動きベクトルから、予測ベクトル生成部110から入力された予測ベクトルを減算して、差分ベクトルを算出する。減算部112は、算出した差分ベクトルを情報源符号化部116に出力する。 The subtraction unit 112 subtracts the prediction vector input from the prediction vector generation unit 110 from the motion vector input from the inter prediction unit 106 to calculate a difference vector. The subtraction unit 112 outputs the calculated difference vector to the information source encoding unit 116.
 DCT変換・量子化部113は、減算部111から入力された残差信号マクロブロックに対して二次元DCT(Discrete Cosine Transform、離散コサイン変換)を行い周波数領域信号としてDCT係数を算出した後、DCT係数の量子化(quantization)を行い、量子化DCT係数を生成する。ここで、量子化とは、入力されたDCT係数を離散的な代表値の1つに変換する処理である。DCT変換・量子化部113は、生成した量子化DCT係数を、逆量子化・逆DCT変換部114及び情報源符号化部116に出力する。 The DCT transform / quantization unit 113 performs a two-dimensional DCT (Discrete Cosine Transform) on the residual signal macroblock input from the subtraction unit 111 to calculate a DCT coefficient as a frequency domain signal, and then performs DCT. 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 113 outputs the generated quantized DCT coefficient to the inverse quantization / inverse DCT transform unit 114 and the information source coding unit 116.
 逆量子化・逆DCT変換部114は、DCT変換・量子化部113から入力された量子化DCT係数に逆量子化(de-quantization)を行い、逆量子化DCT係数を生成した後、逆量子化DCT係数に対して2次元逆DCT(inverse Discrete Cosine Transform、離散コサイン変換)を行い、空間領域信号として復号された残差信号マクロブロックを生成する。以下、この残差信号マクロブロックを、復号残差信号マクロブロックと呼ぶ。逆量子化・逆DCT変換部114は、生成した復号残差信号マクロブロックを加算部115に出力する。 The inverse quantization / inverse DCT transformation unit 114 performs inverse quantization (de-quantization) on the quantized DCT coefficient input from the DCT transformation / quantization unit 113 to generate an inverse quantization DCT coefficient, and then performs inverse quantization. Two-dimensional inverse DCT (inverse Discrete Cosine Transform) is performed on the generalized DCT coefficients to generate a residual signal macroblock decoded as a spatial domain signal. Hereinafter, this residual signal macroblock is referred to as a decoded residual signal macroblock. The inverse quantization / inverse DCT transform unit 114 outputs the generated decoded residual signal macroblock to the adder 115.
 加算部115は、符号化モード判定部108から入力されたイントラ予測画像マクロブロック若しくはインター予測画像マクロブロックに含まれる各画素の信号値と、逆量子化・逆DCT変換部114から入力された復号残差信号マクロブロックに含まれる各画素の信号値とを加算して、参照画像マクロブロックを生成する。加算部115は、生成した参照画像マクロブロックを参照画像メモリ104に記憶する。 The adder 115 receives the signal value of each pixel included in the intra-predicted image macroblock or inter-predicted image macroblock input from the coding mode determination unit 108 and the decoding input from the inverse quantization / inverse DCT transform unit 114. A reference image macroblock is generated by adding the signal value of each pixel included in the residual signal macroblock. The adder 115 stores the generated reference image macroblock in the reference image memory 104.
 情報源符号化部116は、DCT変換・量子化部113から入力された量子化DCT係数と減算部112から入力された差分ベクトルとに対して符号化を施し、符号化ストリームを生成する。情報源符号化部116は、入力された情報よりも情報量が少ない符号化ストリームを生成する符号化として、例えば可変長符号化を行う。可変長符号化とは、入力された情報において出現頻度がより高い情報ほどより短い符号を、出現頻度が低い情報ほどより長い符号に変換することによって、情報量を圧縮する符号化方式である。 The information source encoding unit 116 performs encoding on the quantized DCT coefficient input from the DCT transform / quantization unit 113 and the difference vector input from the subtraction unit 112 to generate an encoded stream. The information source encoding unit 116 performs, for example, variable-length encoding as encoding for generating an encoded stream having a smaller amount of information 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.
 但し、情報源符号化部116は、符号化モード判定部108からスキップト・マクロブロックモードであることを示す符号化モード信号を入力された場合には、量子化DCT係数と差分ベクトルを用いずに、入力された符号化モード信号を符号化して符号化ストリームとして生成する。情報源符号化部116は、生成した符号化ストリームを画像符号化装置1の外部へ出力する。 However, the information source encoding unit 116 does not use the quantized DCT coefficient and the difference vector when the encoding mode signal indicating the skipped macroblock mode is input from the encoding mode determination unit 108. The input encoding mode signal is encoded to generate an encoded stream. The information source encoding unit 116 outputs the generated encoded stream to the outside of the image encoding device 1.
 次に、本実施形態に係るスキップト・マクロブロック部107の構成例及びその機能について、図3を参照しながら説明する。図3は、本実施形態に係るスキップト・マクロブロック部107の構成例を示す概略図である。 Next, a configuration example and functions of the skipped macroblock unit 107 according to the present embodiment will be described with reference to FIG. FIG. 3 is a schematic diagram illustrating a configuration example of the skipped macroblock unit 107 according to the present embodiment.
 図3で例示するスキップト・マクロブロック部107は、スキップト・マクロブロック用予測ベクトル生成部1071及び予測マクロブロック生成部1072を含んで構成される。 The skipped macroblock unit 107 illustrated in FIG. 3 includes a skipped macroblock prediction vector generation unit 1071 and a prediction macroblock generation unit 1072.
 各部1071、1072の説明に先立ち、本実施形態に係るスキップト・マクロブロックモードによる符号化の一例について、図4を参照しながら説明する。図4は、本実施形態に係るスキップト・マクロブロックモードによる符号化の一例を示す概念図である。 Prior to the description of the units 1071 and 1072, an example of encoding in the skipped macroblock mode according to the present embodiment will be described with reference to FIG. FIG. 4 is a conceptual diagram showing an example of encoding in the skipped macroblock mode according to the present embodiment.
 図4(A)は、符号化対象のフレームのテクスチャ画像Tfの一例を示しており、図4(B)はそのテクスチャ画像Tfに対応するデプスマップDfの一例を示している。テクスチャ画像Tfの中央の正方形の枠は、対象マクロブロックTbを示している。また、デプスマップDfの中央の正方形の枠は、デプスマップDfにおける対象マクロブロックに対応する領域、つまり対象マクロブロックTbと同座標のマクロブロックである対象デプスマクロブロックDbを示している。 4A shows an example of a texture image Tf of a frame to be encoded, and FIG. 4B shows an example of a depth map Df corresponding to the texture image Tf. A square frame at the center of the texture image Tf indicates the target macroblock Tb. A square frame in the center of the depth map Df indicates a region corresponding to the target macroblock in the depth map Df, that is, the target depth macroblock Db that is a macroblock having the same coordinates as the target macroblock Tb.
 対象マクロブロックTbの周囲にある3個の点線の矩形の枠は、対象マクロブロックTbに隣接する既に符号化済みのマクロブロックTbA、TbB、TbCである。マクロブロックTbB、TbCから出ている矢印は、マクロブロックTbB、TbCを符号化する際に使用された動きベクトルMvB、MvCを示している。 The three dotted rectangular frames around the target macroblock Tb are already encoded macroblocks TbA, TbB, and TbC adjacent to the target macroblock Tb. The arrows coming out of the macro blocks TbB and TbC indicate the motion vectors MvB and MvC used when the macro blocks TbB and TbC are encoded.
 対象デプスマクロブロックDbは、既に符号化済みであり、その際にサイズが8×16の2つのパーティションDb1、Db2に分割されたものとする。対象マクロブロックTbは、スキップト・マクロブロックモードで符号化される際には、対象デプスマクロブロックDbと同じサイズのパーティションTp1、Tp2に分割される。対象マクロブロックの各パーティションTp1、Tp2から出ている矢印は各パーティションの予測ベクトルPv1、Pv2を示している。 It is assumed that the target depth macroblock Db has already been encoded and is divided into two partitions Db1 and Db2 each having a size of 8 × 16. When the target macroblock Tb is encoded in the skipped macroblock mode, the target macroblock Tb is divided into partitions Tp1 and Tp2 having the same size as the target depth macroblock Db. Arrows extending from the partitions Tp1 and Tp2 of the target macroblock indicate the prediction vectors Pv1 and Pv2 of the partitions.
 例として、予測ベクトルPv2の生成方法について説明する。予測ベクトルPv2は、パーティションTp2の上と右上に隣接するマクロブロックTbB、TbCの動きベクトルMvB、MvCと左に隣接するパーティションTp1の予測ベクトルPv1の、例えば、水平成分、垂直成分それぞれについて中央値をとることで生成される。また、予測ベクトルPv1は、動きベクトルMvB、MvCと、左に隣接するマクロブロックTbAの動きベクトルの、例えば、水平成分、垂直成分それぞれについて中央値をとることで生成される。無論、予測ベクトルの算出には中央値を用いなくてもよいし、算出元もこれに限ったものではない。 As an example, a method for generating the prediction vector Pv2 will be described. The prediction vector Pv2 has a median value for each of, for example, the horizontal component and the vertical component of the motion vectors MvB and MvC of the macroblocks TbB and TbC adjacent to the upper and upper right of the partition Tp2 and the prediction vector Pv1 of the partition Tp1 adjacent to the left. It is generated by taking. Further, the prediction vector Pv1 is generated by taking median values for, for example, the horizontal component and the vertical component of the motion vectors MvB and MvC and the motion vector of the macroblock TbA adjacent to the left, for example. Of course, the median need not be used for calculation of the prediction vector, and the calculation source is not limited to this.
 また、予測ベクトルの算出に用いる隣接するマクロブロックの動きベクトルが、パーティション単位で存在するものである場合、つまり算出元の動きベクトルがスキップト・マクロブロックモードによって符号化されたものである場合には、隣接する方のパーティションの動きベクトルを算出に用いればよい。 Also, when the motion vector of the adjacent macroblock used for calculation of the prediction vector exists in units of partitions, that is, when the motion vector of the calculation source is encoded by the skipped macroblock mode The motion vector of the adjacent partition may be used for calculation.
 このように、本実施形態では、本発明の主たる特徴として、1つのマクロブロックTbを、デプスマクロブロックDbのパーティション(この例ではDb1、Db2)に従って複数のパーティション(この例ではTp1、Tp2)に分割し、上記1つのマクロブロックTbにおけるパーティション毎に予測ベクトルを生成し、スキップト・マクロブロックモードによって符号化する。 Thus, in the present embodiment, as a main feature of the present invention, one macroblock Tb is divided into a plurality of partitions (Tp1, Tp2 in this example) according to the partitions of the depth macroblock Db (Db1, Db2 in this example). A prediction vector is generated for each partition in the one macroblock Tb, and is encoded by the skipped macroblock mode.
 図3に戻ってこのような処理について説明する。スキップト・マクロブロック用予測ベクトル生成部1071は、パーティションサイズメモリ103から対象マクロブロックと同一座標の参照デプスマクロブロックのパーティションのサイズと、対象マクロブロックの左、上、及び右上に隣接するパーティションの動きベクトルを読み出す。スキップト・マクロブロック用予測ベクトル生成部1071は、入力されたパーティションのサイズに基づき、対象マクロブロックを一つ若しくは複数のパーティションに分割し、そのパーティション毎に予測ベクトルを算出する。 Referring back to FIG. 3, such processing will be described. The skipped macroblock prediction vector generation unit 1071 calculates the partition size of the reference depth macroblock having the same coordinates as the target macroblock from the partition size memory 103, and the movement of the partition adjacent to the left, top, and top right of the target macroblock. Read a vector. The skipped macroblock prediction vector generation unit 1071 divides the target macroblock into one or a plurality of partitions based on the input partition size, and calculates a prediction vector for each partition.
 スキップト・マクロブロック用予測ベクトル生成部1071は、予測ベクトル生成部110と同様に、対象パーティションの左、上、及び右上に隣接するパーティションの動きベクトルの水平成分と垂直成分の中央値を取ることで予測ベクトルを算出する。このとき、予測ベクトルPv2の算出時に予測ベクトルPv1を用いた例を挙げたように、隣接するパーティションが対象パーティションと同じマクロブロック内に含まれている場合には、動きベクトルではなく、隣接するパーティションの予測ベクトルを用いて対象パーティションの予測ベクトルを算出する。そして、スキップト・マクロブロック用予測ベクトル生成部1071は、算出したパーティション毎の予測ベクトルを予測マクロブロック生成部1072に出力する。 Similar to the prediction vector generation unit 110, the skipped macroblock prediction vector generation unit 1071 takes the median of the horizontal and vertical components of the motion vectors of the partitions adjacent to the left, top, and upper right of the target partition. A prediction vector is calculated. At this time, as shown in the example using the prediction vector Pv1 when calculating the prediction vector Pv2, if the adjacent partition is included in the same macroblock as the target partition, the adjacent partition is not a motion vector. The prediction vector of the target partition is calculated using the prediction vector. Then, the skipped macroblock prediction vector generation unit 1071 outputs the calculated prediction vector for each partition to the prediction macroblock generation unit 1072.
 予測マクロブロック生成部1072は、パーティションサイズメモリ103から対象マクロブロックと同一座標の参照デプスマクロブロックのパーティションのサイズを読み出し、スキップト・マクロブロック用予測ベクトル生成部1071から対象マクロブロック内の各パーティションに対応する予測ベクトルを入力する。予測マクロブロック生成部1072は、入力されたパーティションのサイズと各パーティションの予測ベクトルに基づいて動き補償を行い、スキップト・マクロブロック予測画像マクロブロックを生成する。 The prediction macroblock generation unit 1072 reads the partition size of the reference depth macroblock having the same coordinates as the target macroblock from the partition size memory 103, and assigns each partition in the target macroblock from the skipped macroblock prediction vector generation unit 1071. Enter the corresponding prediction vector. The prediction macroblock generation unit 1072 performs motion compensation based on the input partition size and the prediction vector of each partition, and generates a skipped macroblock prediction image macroblock.
 具体的には、まず、予測マクロブロック生成部1072は、参照画像メモリ104からパーティション毎に、予測ベクトルが差す座標の参照画像ブロックを読み取る。このとき参照画像ブロックの大きさは対応するパーティションの大きさと同じである。予測マクロブロック生成部1072は、読みだした参照画像ブロックの座標をパーティションの座標に合わせる処理をすることによってスキップト・マクロブロック予測画像マクロブロックを生成する。予測マクロブロック生成部1072は、生成したスキップト・マクロブロック予測画像マクロブロックを符号化モード判定部108に出力する。 Specifically, first, the prediction macroblock generation unit 1072 reads the reference image block at the coordinates indicated by the prediction vector for each partition from the reference image memory 104. At this time, the size of the reference image block is the same as the size of the corresponding partition. The predicted macroblock generation unit 1072 generates a skipped macroblock predicted image macroblock by performing processing for matching the coordinates of the read reference image block with the coordinates of the partition. The prediction macroblock generation unit 1072 outputs the generated skipped macroblock prediction image macroblock to the encoding mode determination unit 108.
 次に、本実施形態に係る画像符号化装置1が行う画像符号化処理について、図5を参照しながら説明する。図5は、本実施形態に係る画像符号化装置1が行う画像符号化処理の一例を説明するためのフローチャートである。 Next, image encoding processing performed by the image encoding device 1 according to the present embodiment will be described with reference to FIG. FIG. 5 is a flowchart for explaining an example of the image encoding process performed by the image encoding device 1 according to the present embodiment.
 まず、ステップS101において、テクスチャ画像入力部101は、画像前置処理部2から基準画像(テクスチャ画像)をフレーム毎に入力する。その後、ステップS102へ進む。ステップS102において、デプスマップ符号化部102は、画像前置処理部2からデプスマップをフレーム毎に入力し、各フレームを構成するマクロブロック毎に符号化する。デプスマップ符号化部102は、符号化して生成したデプスマップ符号を画像符号化装置1の外部に出力する。その後、ステップS103へ進む。 First, in step S101, the texture image input unit 101 inputs a reference image (texture image) from the image preprocessing unit 2 for each frame. Then, it progresses to step S102. In step S <b> 102, the depth map encoding unit 102 inputs the depth map from the image preprocessing unit 2 for each frame, and encodes it for each macroblock constituting each frame. The depth map encoding unit 102 outputs the depth map code generated by encoding to the outside of the image encoding device 1. Thereafter, the process proceeds to step S103.
 ステップS103において、デプスマップ符号化部102は、マクロブロック毎の符号の際に選択したパーティションのサイズをパーティションサイズメモリ103に記憶する。その後、ステップS104へ進む。ステップS104において、画像符号化装置1は、ステップS105~S122の処理を、入力されたフレームに含まれるマクロブロック毎に行う。 In step S103, the depth map encoding unit 102 stores the size of the partition selected at the time of encoding for each macroblock in the partition size memory 103. Thereafter, the process proceeds to step S104. In step S104, the image encoding device 1 performs the processing in steps S105 to S122 for each macroblock included in the input frame.
 ステップS105において、イントラ予測部105は、参照画像メモリ104から対象マクロブロックと同一フレーム内の対象マクロブロックの上と左に隣接する符号化に係る処理を行った参照画像ブロックを読みだす。イントラ予測部105は、読みだした参照マクロブロックに基づいてフレーム内予測を行い、イントラ予測画像マクロブロックを生成する。イントラ予測部105は、生成したイントラ予測画像マクロブロックを符号化モード判定部108に出力する。その後、ステップS106へ進む。 In step S105, the intra prediction unit 105 reads from the reference image memory 104 a reference image block that has been subjected to processing related to encoding adjacent to the top and left of the target macroblock in the same frame as the target macroblock. The intra prediction unit 105 performs intra-frame prediction based on the read reference macroblock, and generates an intra predicted image macroblock. The intra prediction unit 105 outputs the generated intra predicted image macroblock to the encoding mode determination unit 108. Thereafter, the process proceeds to step S106.
 ステップS106において、予測ベクトル生成部110は、動きベクトルメモリ109から対象パーティションに隣接する参照画像ブロックの動きベクトルを読み出す。予測ベクトル生成部110は、読み出した隣接する参照画像ブロックのベクトルから水平成分の中央値及び垂直成分の中央値を抽出し、抽出結果から予測ベクトルを算出する。予測ベクトル生成部110は、上記算出方法を用いて、対象マクロブロック内の全てのパーティションの予測ベクトルを算出する。予測ベクトル生成部110は、算出した予測ベクトルをインター予測部106及び減算部112に出力する。その後、ステップS107へ進む。 In step S106, the prediction vector generation unit 110 reads the motion vector of the reference image block adjacent to the target partition from the motion vector memory 109. The prediction vector generation unit 110 extracts the median value of the horizontal component and the median value of the vertical component from the read vector of the adjacent reference image block, and calculates the prediction vector from the extraction result. The prediction vector generation unit 110 calculates the prediction vectors of all partitions in the target macroblock using the above calculation method. The prediction vector generation unit 110 outputs the calculated prediction vector to the inter prediction unit 106 and the subtraction unit 112. Thereafter, the process proceeds to step S107.
 ステップS107において、インター予測部106は、テクスチャ画像入力部101から対象マクロブロックと予測ベクトル生成部110から予測ベクトルを入力し、参照画像メモリ104から参照画像を構成する参照画像ブロックを読み出す。インター予測部106は、対象マクロブロックを1つ若しくは複数のパーティションに分割し、各々のパーティションに対して、順次、動きベクトルを検出する。インター予測部106は、対象マクロブロックを構成する上記パーティションのサイズのうち、符号化コストが最小となるパーティションのサイズを選択する。インター予測部106は、符号化コストが最小となったパーティションのサイズと各パーティションの動きベクトルに基づいて動き補償を行い、インター予測画像マクロブロックを生成する。インター予測部106は、算出した動きベクトルを動きベクトルメモリ109及び減算部に出力する。インター予測部106は、生成したインター予測画像マクロブロックを符号化モード判定部108に出力する。その後、ステップS108に進む。 In step S107, the inter prediction unit 106 inputs the target macroblock from the texture image input unit 101 and the prediction vector from the prediction vector generation unit 110, and reads the reference image block constituting the reference image from the reference image memory 104. The inter prediction unit 106 divides the target macroblock into one or a plurality of partitions, and sequentially detects a motion vector for each partition. The inter prediction unit 106 selects the size of the partition that has the minimum coding cost among the sizes of the partitions constituting the target macroblock. The inter prediction unit 106 performs motion compensation based on the size of the partition with the minimum encoding cost and the motion vector of each partition, and generates an inter predicted image macroblock. The inter prediction unit 106 outputs the calculated motion vector to the motion vector memory 109 and the subtraction unit. The inter prediction unit 106 outputs the generated inter prediction image macroblock to the encoding mode determination unit 108. Thereafter, the process proceeds to step S108.
 ステップS108において、スキップト・マクロブロック部107は、動きベクトルメモリ109から動きベクトルを、パーティションサイズメモリ103から対象マクロブロックと同一表示時刻、同一座標のデプスマクロブロックのパーティションのサイズとを、参照画像メモリ104から参照画像ブロックを、それぞれ読みだす。スキップト・マクロブロック部107は、入力されたパーティションのサイズと動きベクトルに基づいて各パーティションの予測ベクトルを算出する。スキップト・マクロブロック部107は、算出した予測ベクトルに基づいて動き補償を行い、スキップト・マクロブロック予測画像マクロブロックを生成する。スキップト・マクロブロック部107は、スキップト・マクロブロック予測画像マクロブロックを符号化モード判定部108に出力する。その後、ステップS109に進む。 In step S108, the skipped macroblock unit 107 obtains the motion vector from the motion vector memory 109, and the partition size memory 103, the same display time as the target macroblock, and the size of the partition of the depth macroblock having the same coordinate as the reference image memory. Each of the reference image blocks is read from 104. The skipped macroblock unit 107 calculates a prediction vector of each partition based on the input partition size and motion vector. The skipped macroblock unit 107 performs motion compensation based on the calculated prediction vector, and generates a skipped macroblock prediction image macroblock. The skipped macroblock unit 107 outputs the skipped macroblock predicted image macroblock to the coding mode determination unit 108. Thereafter, the process proceeds to step S109.
 ステップS109において、符号化モード判定部108は、テクスチャ画像入力部101から対象マクロブロックを、イントラ予測部105からイントラ予測画像マクロブロックを、インター予測部106からインター予測画像マクロブロックを、スキップト・マクロブロック部107からスキップト・マクロブロック予測画像マクロブロックを、それぞれ入力として受け取る。符号化モード判定部108は、入力された3つの予測画像マクロブロックに基づいて最も符号化効率の高い符号化モードを決定する。その後、ステップS110に進む。 In step S <b> 109, the encoding mode determination unit 108 selects the target macroblock from the texture image input unit 101, the intra prediction image macroblock from the intra prediction unit 105, and the inter prediction image macroblock from the inter prediction unit 106. The skipped macroblock predicted image macroblock is received as an input from the block unit 107. The encoding mode determination unit 108 determines an encoding mode with the highest encoding efficiency based on the three input predicted image macroblocks. Then, it progresses to step S110.
 ステップS110において、符号化モード判定部108は、選択された符号化モードに対応する符号化モード信号を生成し情報源符号化部116に出力する。その後、ステップS111において、符号化モード判定部108は選択された符号化モードの判定を行い、スキップト・マクロブロックモードの場合には(ステップS111でYES)、ステップS112に進み、イントラ予測モード若しくはインター予測モードの場合には(ステップS111でNO)、ステップS114に進む。 In step S110, the encoding mode determination unit 108 generates an encoding mode signal corresponding to the selected encoding mode, and outputs it to the information source encoding unit 116. After that, in step S111, the encoding mode determination unit 108 determines the selected encoding mode. If the mode is the skipped macroblock mode (YES in step S111), the process proceeds to step S112, where the intra prediction mode or the inter prediction mode is selected. In the prediction mode (NO in step S111), the process proceeds to step S114.
 ステップS112において、符号化モード判定部108は、スキップト・マクロブロック予測画像マクロブロックを参照画像ブロックとして参照画像メモリ104に記憶する。その後、ステップS113に進む。 In step S112, the encoding mode determination unit 108 stores the skipped macroblock predicted image macroblock in the reference image memory 104 as a reference image block. Thereafter, the process proceeds to step S113.
 ステップ113において、情報源符号化部116は、符号化モードがスキップト・マクロブロックモードであることを示す符号化モード信号を入力として受け取り、可変長符号化を用いて符号化する。その後、ステップS124に進む。 In step 113, the information source encoding unit 116 receives an encoding mode signal indicating that the encoding mode is a skipped macroblock mode as an input, and encodes it using variable length encoding. Thereafter, the process proceeds to step S124.
 ステップ114において、減算部111は、テクスチャ画像入力部101から入力された対象マクロブロックに含まれる各画素の信号値から符号化モード判定部108から入力されたインター予測画像マクロブロック若しくはイントラ予測画像マクロブロックに含まれる各画素の信号値を減算して、残差信号マクロブロックを算出する。減算部111は、算出した残差信号マクロブロックをDCT変換・量子化部113に出力する。その後、ステップS115に進む。 In step 114, the subtraction unit 111 uses the inter-predicted image macroblock or intra-predicted image macro input from the coding mode determination unit 108 based on the signal value of each pixel included in the target macroblock input from the texture image input unit 101. A signal value of each pixel included in the block is subtracted to calculate a residual signal macroblock. The subtraction unit 111 outputs the calculated residual signal macroblock to the DCT transform / quantization unit 113. Thereafter, the process proceeds to step S115.
 ステップS115において、DCT変換・量子化部113は、減算部111から入力された残差信号マクロブロックに対して二次元DCTを行い、DCT係数を算出した後、DCT係数の量子化を行い、量子化DCT係数を生成する。DCT変換・量子化部113は、生成した量子化DCT係数を逆量子化・逆DCT変換部114及び情報源符号化部116に出力する。その後、ステップS116に進む。 In step S115, the DCT transform / quantization unit 113 performs two-dimensional DCT on the residual signal macroblock input from the subtraction unit 111, calculates a DCT coefficient, quantizes the DCT coefficient, Generalized DCT coefficients are generated. The DCT transform / quantization unit 113 outputs the generated quantized DCT coefficient to the inverse quantization / inverse DCT transform unit 114 and the information source coding unit 116. Thereafter, the process proceeds to step S116.
 ステップS116において、逆量子化・逆DCT変換部114は、DCT変換・量子化部113から入力された量子化DCT係数に逆量子化を行い、逆量子化DCT係数を生成した後、逆量子化DCT係数に対して2次元逆DCTを行い、復号残差信号マクロブロックを生成する。逆量子化・逆DCT変換部114は、生成した復号残差信号マクロブロックを加算部115に出力する。その後、ステップS117に進む。 In step S116, the inverse quantization / inverse DCT transformation unit 114 performs inverse quantization on the quantized DCT coefficient input from the DCT transformation / quantization unit 113 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 114 outputs the generated decoded residual signal macroblock to the adder 115. Thereafter, the process proceeds to step S117.
 ステップS117において、加算部115は、インター予測部106から入力されたインター予測画像マクロブロック若しくはイントラ予測画像マクロブロックに含まれる各画素の信号値と、逆量子化・逆DCT変換部114から入力された復号残差信号マクロブロックに含まれる各画素の信号値とを加算して、参照画像マクロブロックを生成する。その後、ステップS118に進む。 In step S117, the addition unit 115 receives the signal value of each pixel included in the inter prediction image macroblock or the intra prediction image macroblock input from the inter prediction unit 106, and the inverse quantization / inverse DCT conversion unit 114. The signal value of each pixel included in the decoded residual signal macroblock is added to generate a reference image macroblock. Thereafter, the process proceeds to step S118.
 ステップS118において、加算部115は、生成した参照画像マクロブロックを参照画像メモリ104に記憶する。その後、ステップS119において、符号化モード判定部108による符号化モードの判定結果に従い、符号化モードがインター予測の場合には(ステップS119でYES)、ステップS120に進み、符号化モードがイントラ予測の場合には(ステップS119でNO)、ステップS123に進む。 In step S118, the adding unit 115 stores the generated reference image macroblock in the reference image memory 104. Thereafter, in step S119, according to the determination result of the encoding mode by the encoding mode determination unit 108, when the encoding mode is inter prediction (YES in step S119), the process proceeds to step S120, and the encoding mode is intra prediction. In that case (NO in step S119), the process proceeds to step S123.
 ステップS120において、動きベクトルメモリ109は、インター予測部106から入力された対象マクロブロックの各パーティションの動きベクトルを、フレーム毎、ブロック毎、及びパーティション毎に記憶する。その後、ステップS121に進む。 In step S120, the motion vector memory 109 stores the motion vector of each partition of the target macroblock input from the inter prediction unit 106 for each frame, each block, and each partition. Thereafter, the process proceeds to step S121.
 ステップS121において、減算部112は、インター予測部106から入力された動きベクトルから予測ベクトル生成部110から入力された予測ベクトルを減算して差分ベクトルを算出する。減算部112は、算出した差分ベクトルを情報源符号化部116に出力する。その後、ステップS122に進む。 In step S121, the subtraction unit 112 calculates a difference vector by subtracting the prediction vector input from the prediction vector generation unit 110 from the motion vector input from the inter prediction unit 106. The subtraction unit 112 outputs the calculated difference vector to the information source encoding unit 116. Thereafter, the process proceeds to step S122.
 ステップS122において、情報源符号化部116は、符号化モード判定部108から入力されたインター予測符号化モードであることを示す符号化モード信号、DCT変換・量子化部113から入力された量子化DCT係数、及び減算部112から入力された差分ベクトルを符号化し、符号化ストリームを生成する。その後、ステップS124に進む。 In step S122, the information source encoding unit 116 receives an encoding mode signal indicating the inter prediction encoding mode input from the encoding mode determination unit 108, and a quantization input from the DCT transform / quantization unit 113. The DCT coefficient and the difference vector input from the subtracting unit 112 are encoded to generate an encoded stream. Thereafter, the process proceeds to step S124.
 ステップS123において、情報源符号化部116は、符号化モード判定部108から入力されたイントラ予測符号化モードであることを示す符号化モード信号とDCT変換・量子化部113から入力された量子化DCT係数とを符号化し、符号化ストリームを生成する。その後、ステップS124に進む。 In step S123, the information source encoding unit 116 receives the encoding mode signal indicating the intra prediction encoding mode input from the encoding mode determination unit 108 and the quantization input from the DCT transform / quantization unit 113. The DCT coefficients are encoded and an encoded stream is generated. Thereafter, the process proceeds to step S124.
 ステップS124において、情報源符号化部116は、生成した符号化ストリームを画像符号化装置1の外部へ出力する。その後、ステップS125に進む。
 ステップS124において、画像符号化装置1は、符号化対象のマクロブロックをラスタースキャンの順序で順次に変更し、ステップS105に戻る。但し、画像符号化装置1は、入力されたテクスチャ画像のフレームに符号化に係る処理がまだ行われていないブロックがないと判定した場合には、そのフレームに対する処理を終了する。
In step S124, the information source encoding unit 116 outputs the generated encoded stream to the outside of the image encoding device 1. Thereafter, the process proceeds to step S125.
In step S124, the image encoding device 1 sequentially changes the macroblocks to be encoded in the raster scan order, and returns to step S105. 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 texture image, it ends the processing for that frame.
 次に、本実施形態に係るスキップト・マクロブロック部107におけるスキップト・マクロブロック予測画像マクロブロック生成処理について、図7を参照しながら説明する。図7は、本実施形態に係るスキップト・マクロブロック部107におけるスキップト・マクロブロック予測画像マクロブロック生成処理の一例を説明するためのフローチャートである。この処理は、上述のステップS108に相当する処理である。 Next, the skipped macroblock prediction image macroblock generation processing in the skipped macroblock unit 107 according to the present embodiment will be described with reference to FIG. FIG. 7 is a flowchart for explaining an example of a skipped macroblock predicted image macroblock generation process in the skipped macroblock unit 107 according to the present embodiment. This process is a process corresponding to step S108 described above.
 まず、ステップS201において、スキップト・マクロブロック用予測ベクトル生成部1071及び予測マクロブロック生成部1072は、パーティションサイズメモリ103から対象マクロブロックと同一座標の参照デプスマクロブロックのパーティションのサイズを読み出す。その後、ステップS202に進む。 First, in step S <b> 201, the skipped macroblock prediction vector generation unit 1071 and the prediction macroblock generation unit 1072 read the partition size of the reference depth macroblock having the same coordinates as the target macroblock from the partition size memory 103. Thereafter, the process proceeds to step S202.
 ステップS202において、スキップト・マクロブロック部107は、ステップS203~S205の処理を、対象マクロブロック内のパーティション毎に(つまりパーティションの数だけ)行う。 In step S202, the skipped macroblock unit 107 performs the processing in steps S203 to S205 for each partition in the target macroblock (that is, as many as the number of partitions).
 ステップS203において、スキップト・マクロブロック用予測ベクトル生成部1071は、対象マクロブロックの左、上、右上に隣接するパーティションの動きベクトルを読み出す。スキップト・マクロブロック用予測ベクトル生成部1071は、対象パーティションの左、上、及び右上に隣接するパーティションの動きベクトル若しくは予測ベクトルの水平成分と垂直成分の中央値を取ることで、予測ベクトルを算出する。その後、ステップS204に進む。 In step S203, the skipped macroblock prediction vector generation unit 1071 reads the motion vectors of the partitions adjacent to the left, top, and top right of the target macroblock. The skipped macroblock prediction vector generation unit 1071 calculates a prediction vector by taking the median of the horizontal and vertical components of the motion vector or prediction vector of the partition adjacent to the left, top, and top right of the target partition. . Thereafter, the process proceeds to step S204.
 ステップS204において、予測マクロブロック生成部1072は、スキップト・マクロブロック用予測ベクトル生成部1071から対象パーティションの予測ベクトルを入力する。予測マクロブロック生成部1072は、対象パーティションの予測ベクトルに基づいて動き補償を行い、スキップト・マクロブロック予測画像マクロブロックを生成する。 In step S204, the prediction macroblock generation unit 1072 inputs the prediction vector of the target partition from the skipped macroblock prediction vector generation unit 1071. The prediction macroblock generation unit 1072 performs motion compensation based on the prediction vector of the target partition, and generates a skipped macroblock prediction image macroblock.
 ステップS205において、スキップト・マクロブロック部107は、符号化対象のパーティションを順次変更し、ステップS203に戻る。但し、スキップト・マクロブロック部107は、対象マクロブロックにスキップト・マクロブロック予測画像マクロブロック生成にかかる処理がまだ行われていないパーティションがないと判定した場合には、その対象マクロブロックに対する処理を終了する。 In step S205, the skipped macroblock unit 107 sequentially changes the encoding target partition and returns to step S203. However, if the skipped macroblock unit 107 determines that there is no partition in the target macroblock that has not yet been processed for generation of the skipped macroblock predicted image macroblock, the process for the target macroblock is terminated. To do.
 以上のように本実施形態に係る画像符号化装置1では、デプスマクロブロックを符号化した際に用いられたパーティションのサイズに基づいて、上記1つのマクロブロックを複数のパーティションに分割している。そして、この画像符号化装置1では、パーティション毎に、上記1つのマクロブロックに隣接する隣接マクロブロックの動きベクトルと、パーティションに隣接する隣接パーティションについて既に算出された予測ベクトルとに基づき、上記パーティションの予測ベクトルを算出している。ここで、上述したように、パーティション毎に、パーティションの左と上と右上に隣接する、隣接パーティションの予測ベクトル又は隣接マクロブロックの動きベクトルについての中央値を、パーティションの予測ベクトルとして算出することが好ましい。 As described above, in the image encoding device 1 according to the present embodiment, the one macro block is divided into a plurality of partitions based on the size of the partition used when the depth macro block is encoded. Then, in this image encoding device 1, for each partition, based on the motion vector of the adjacent macroblock adjacent to the one macroblock and the prediction vector already calculated for the adjacent partition adjacent to the partition, A prediction vector is calculated. Here, as described above, for each partition, the median value of the motion vector of the adjacent partition prediction vector or the adjacent macroblock adjacent to the left, upper, and upper right of the partition can be calculated as the partition prediction vector. preferable.
 次に、本実施形態に係る画像復号装置について説明する。本実施形態に係る画像復号装置は、上述した画像符号化装置1での画像符号化方法に従いスキップト・マクロブロックモードによってパーティション単位で符号化された、画素毎の輝度値からなる画像を構成する一部の領域であるマクロブロックを復号する画像復号手段を備えている。以下、このような画像復号装置の構成例について図8を参照しながら説明する。図8は、本実施形態に係る画像復号装置の構成例を示す概略図である。 Next, the image decoding apparatus according to this embodiment will be described. The image decoding apparatus according to the present embodiment constitutes an image composed of luminance values for each pixel, which is encoded in units of partitions in the skipped macroblock mode according to the image encoding method in the image encoding apparatus 1 described above. Image decoding means for decoding a macroblock which is a region of a part. Hereinafter, a configuration example of such an image decoding device will be described with reference to FIG. FIG. 8 is a schematic diagram illustrating a configuration example of the image decoding apparatus according to the present embodiment.
 図8で例示する画像復号装置4は、情報源復号部401、デプスマップ復号部402、パーティションサイズメモリ403、加算部404、動きベクトルメモリ405、予測ベクトル生成部406、逆量子化・逆DCT変換部407、加算部408、参照画像メモリ409、イントラ予測画像生成部410、インター予測画像生成部411、スキップト・マクロブロック部412、符号化モード決定部413、及び画像出力部414を含んで構成される。 The image decoding device 4 illustrated in FIG. 8 includes an information source decoding unit 401, a depth map decoding unit 402, a partition size memory 403, an addition unit 404, a motion vector memory 405, a prediction vector generation unit 406, an inverse quantization / inverse DCT transform. Unit 407, addition unit 408, reference image memory 409, intra prediction image generation unit 410, inter prediction image generation unit 411, skipped macroblock unit 412, coding mode determination unit 413, and image output unit 414. The
 情報源復号部401は、画像復号装置4の外部から入力されたブロック毎の符号化ストリームを復号し、量子化DCT係数と差分ベクトルを生成、又は符号化モードがイントラ予測かインター予測かスキップト・マクロブロックモードのいずれかであることを示す符号化モード信号を生成する。情報源復号部401が行う復号方法は、情報源符号化部116が行った符号化方法とは逆の処理である。即ち、情報源符号化部116が可変長符号化を行った場合は、情報源復号部401は可変長復号を行う。情報源復号部401は、生成した差分ベクトルを加算部404に出力する。情報源復号部401は、量子化DCT係数を生成した場合、生成した量子化DCT係数を逆量子化・逆DCT変換部407に出力する。情報源復号部401は、生成した符号化モード信号を符号化モード決定部413に出力する。 The information source decoding unit 401 decodes an encoded stream for each block input from the outside of the image decoding device 4 to generate a quantized DCT coefficient and a difference vector, or whether the encoding mode is intra prediction or inter prediction. An encoding mode signal indicating any one of the macro block modes is generated. The decoding method performed by the information source decoding unit 401 is a process opposite to the encoding method performed by the information source encoding unit 116. That is, when the information source encoding unit 116 performs variable length encoding, the information source decoding unit 401 performs variable length decoding. The information source decoding unit 401 outputs the generated difference vector to the addition unit 404. When the information source decoding unit 401 generates the quantized DCT coefficient, the information source decoding unit 401 outputs the generated quantized DCT coefficient to the inverse quantization / inverse DCT transform unit 407. The information source decoding unit 401 outputs the generated encoding mode signal to the encoding mode determination unit 413.
 情報源復号部401は、スキップト・マクロブロックモードであることを示す符号化モード信号を生成した場合、値がゼロであることを示す量子化DCT係数を逆量子化・逆DCT変換部407に出力すると共に、値がゼロであることを示す差分ベクトルを加算部404に出力する。この場合、後述する残差信号もゼロとなり、画像復号装置4は残差信号を用いずに復号画像を生成する。従って、この場合には、逆量子化・逆DCT変換部407が各画素の信号値がゼロとなる残差信号を生成し、生成した残差信号を加算部408に出力してもよい。 When the information source decoding unit 401 generates a coding mode signal indicating the skipped macroblock mode, the information source decoding unit 401 outputs a quantized DCT coefficient indicating that the value is zero to the inverse quantization / inverse DCT transform unit 407. In addition, a difference vector indicating that the value is zero is output to the adding unit 404. In this case, the residual signal described later is also zero, and the image decoding device 4 generates a decoded image without using the residual signal. Therefore, in this case, the inverse quantization / inverse DCT conversion unit 407 may generate a residual signal in which the signal value of each pixel becomes zero, and output the generated residual signal to the addition unit 408.
 デプスマップ復号部402は、画像復号装置4の外部からデプスマップ符号をマクロブロック毎に入力し、公知の画像復号方法、例えばITU-T H.264規格書に記載された復号方法を用いて復号する。デプスマップ復号部402は、復号して生成したデプスマクロブロックを画像復号装置4の外部に出力する。 The depth map decoding unit 402 inputs a depth map code from the outside of the image decoding apparatus 4 for each macroblock, and performs a known image decoding method such as ITU-T H.264. Decoding is performed using a decoding method described in the H.264 standard. The depth map decoding unit 402 outputs the depth macroblock generated by decoding to the outside of the image decoding device 4.
 デプスマップ復号部402は、デプスマップの各マクロブロックを符号化した際にマクロブロックを分割した形状を示すパーティションのサイズをパーティションサイズメモリ403に記憶する。 The depth map decoding unit 402 stores, in the partition size memory 403, the partition size indicating the shape obtained by dividing the macro block when each macro block of the depth map is encoded.
 パーティションサイズメモリ403は、デプスマップ復号部402から入力されたパーティションのサイズを、復号されたマクロブロックの順に記憶する。 The partition size memory 403 stores the partition sizes input from the depth map decoding unit 402 in the order of decoded macroblocks.
 加算部404は、情報源復号部401から入力された差分ベクトルと予測ベクトル生成部406から入力された予測ベクトルとを加算して、動きベクトルを生成する。加算部404は、生成した動きベクトルを動きベクトルメモリ405に記憶する。 The addition unit 404 adds the difference vector input from the information source decoding unit 401 and the prediction vector input from the prediction vector generation unit 406 to generate a motion vector. The adder 404 stores the generated motion vector in the motion vector memory 405.
 動きベクトルメモリ405は、加算部404から入力された動きベクトルを、フレーム毎及びブロック毎に記憶する。動きベクトルメモリ405は、記憶した動きベクトルをインター予測画像生成部411及びスキップト・マクロブロック部412に出力する。 The motion vector memory 405 stores the motion vector input from the adding unit 404 for each frame and each block. The motion vector memory 405 outputs the stored motion vector to the inter predicted image generation unit 411 and the skipped macroblock unit 412.
 予測ベクトル生成部406は、動きベクトルメモリ405から復号対象ブロックに隣接し、復号に係る処理を行ったブロックの動きベクトルを読み出す。予測ベクトル生成部406は、読み出した動きベクトルに基づいて予測ベクトルを算出する。予測ベクトル生成部406が予測ベクトルを算出するための処理は予測ベクトル生成部110と同様である。予測ベクトル生成部406は、算出した予測ベクトルを加算部404に出力する。 The prediction vector generation unit 406 reads the motion vector of the block adjacent to the decoding target block and subjected to the processing related to decoding from the motion vector memory 405. The prediction vector generation unit 406 calculates a prediction vector based on the read motion vector. The process for the prediction vector generation unit 406 to calculate the prediction vector is the same as that of the prediction vector generation unit 110. The prediction vector generation unit 406 outputs the calculated prediction vector to the addition unit 404.
 逆量子化・逆DCT変換部407は、情報源復号部401から入力された量子化DCT係数に逆量子化を行い、逆量子化DCT係数を生成した後、逆量子化DCT係数に対して2次元逆DCTを行い、空間領域信号として復号残差信号ブロックを生成する。逆量子化・逆DCT変換部407は、復号残差信号ブロックを加算部408に出力する。 The inverse quantization / inverse DCT transform unit 407 performs inverse quantization on the quantized DCT coefficient input from the information source decoding unit 401 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 407 outputs the decoded residual signal block to the adder 408.
 加算部408は、符号化モード決定部413から入力されたイントラ予測画像マクロブロック、インター予測画像マクロブロック、若しくはスキップト・マクロブロック予測画像マクロブロックのいずれかに含まれる各画素の信号値と、逆量子化・逆DCT変換部407から入力された復号残差信号ブロックに含まれる各画素の信号値とを加算して、参照画像マクロブロックを生成する。加算部408は、生成した参照画像マクロブロックを参照画像メモリ409に記憶し、画像出力部414に出力する。 The adder 408 reverses the signal value of each pixel included in any of the intra-predicted image macroblock, the inter-predicted image macroblock, and the skipped macroblock predicted image macroblock input from the coding mode determining unit 413. A reference image macroblock is generated by adding the signal value of each pixel included in the decoded residual signal block input from the quantization / inverse DCT transform unit 407. The adder 408 stores the generated reference image macroblock in the reference image memory 409 and outputs it to the image output unit 414.
 参照画像メモリ409は、加算部408から入力された参照画像マクロブロックを、対応するフレームにおける復号対象マクロブロックの位置に配置して参照画像として記憶する。参照画像メモリ409は、現在から予め設定されたフレーム数(例えば15フレーム)過去のフレームの参照画像を記憶し、記憶されたフレーム数が予め設定されたフレーム数を超えたとき、例えば16フレーム目の参照画像が入力された時、それ以前の過去のフレームの参照画像を全て削除する。 The reference image memory 409 stores the reference image macroblock input from the adder 408 at the position of the decoding target macroblock in the corresponding frame and stores it as a reference image. The reference image memory 409 stores a reference image of a frame that is a preset number of frames (for example, 15 frames) from the present, and when the number of stored frames exceeds the preset number of frames, for example, the 16th frame When the reference image is input, all the reference images in the past frames are deleted.
 イントラ予測画像生成部410は、参照画像メモリ409から対象マクロブロックと同一フレーム内の対象マクロブロックの左と上に隣接する符号化に係る処理を行った参照画像マクロブロックを読みだし、読みだした参照画像マクロブロックに基づいてフレーム内予測を行い、イントラ予測画像マクロブロックを生成する。イントラ予測画像生成部410は、生成したイントラ予測画像マクロブロックを符号化モード決定部413に出力する。 The intra-predicted image generation unit 410 reads the reference image macroblock that has been subjected to the processing related to the encoding adjacent to the left and above the target macroblock in the same frame as the target macroblock from the reference image memory 409, and has read it. Intraframe prediction is performed based on the reference image macroblock to generate an intra predicted image macroblock. The intra predicted image generation unit 410 outputs the generated intra predicted image macroblock to the encoding mode determination unit 413.
 インター予測画像生成部411は、動きベクトルメモリ405から動きベクトルを読みだす。インター予測画像生成部411は、対象マクロブロックを構成するパーティション毎に参照画像メモリ409から参照画像を構成する参照画像ブロックを読み出す。インター予測画像生成部411が参照画像ブロックを読み出す座標は、復号対象パーティションの座標に動きベクトルメモリ405から入力された動きベクトルを加算することによって補償した座標であり、また、参照画像ブロックの大きさは対応するパーティションの大きさと同一である。インター予測画像生成部411は、読みだした参照画像ブロックの座標をパーティションの座標に合わせる処理をすることによってインター予測画像マクロブロックを生成する。インター予測画像生成部411は、生成したインター予測画像マクロブロックを符号化モード決定部413に出力する。 The inter prediction image generation unit 411 reads a motion vector from the motion vector memory 405. The inter prediction image generation unit 411 reads a reference image block constituting a reference image from the reference image memory 409 for each partition constituting the target macroblock. The coordinates at which the inter prediction image generation unit 411 reads out the reference image block are coordinates compensated by adding the motion vector input from the motion vector memory 405 to the coordinates of the decoding target partition, and the size of the reference image block. Is the same size as the corresponding partition. The inter prediction image generation unit 411 generates an inter prediction image macroblock by performing processing for matching the coordinates of the read reference image block with the coordinates of the partition. The inter prediction image generation unit 411 outputs the generated inter prediction image macroblock to the encoding mode determination unit 413.
 スキップト・マクロブロック部412は、パーティションサイズメモリ403から対象マクロブロックと同一座標のデプスマクロブロックのパーティションのサイズを、動きベクトルメモリ405から対象マクロブロックの左、上、右上に隣接するパーティションの動きベクトルを、参照画像メモリ409から参照画像ブロックを、それぞれ読みだす。スキップト・マクロブロック部412は、読みこんだパーティションのサイズに基づいて対象マクロブロックを複数のパーティションに分割し、読みこんだ動きベクトルに基づいてパーティション毎に予測ベクトルを算出し、算出した予測ベクトルに基づき動き補償を行うことで、スキップト・マクロブロック予測画像マクロブロックを生成する。スキップト・マクロブロック部412がスキップト・マクロブロック予測画像マクロブロックを生成するための処理はスキップト・マクロブロック部107と同様である。スキップト・マクロブロック部412は、スキップト・マクロブロック予測画像マクロブロックを符号化モード決定部413に出力する。 The skipped macroblock unit 412 determines the partition size of the depth macroblock having the same coordinates as that of the target macroblock from the partition size memory 403, and the motion vectors of the partitions adjacent to the left, upper, and upper right of the target macroblock from the motion vector memory 405. Are read out from the reference image memory 409, respectively. The skipped macroblock unit 412 divides the target macroblock into a plurality of partitions based on the size of the read partition, calculates a prediction vector for each partition based on the read motion vector, and calculates the calculated prediction vector. Based on the motion compensation, a skipped macroblock prediction image macroblock is generated. The processing for the skipped macroblock unit 412 to generate the skipped macroblock predicted image macroblock is the same as that of the skipped macroblock unit 107. The skipped macroblock unit 412 outputs the skipped macroblock predicted image macroblock to the encoding mode determination unit 413.
 符号化モード決定部413は、情報源復号部401からの符号化モード信号と、イントラ予測画像生成部410からのイントラ予測画像マクロブロックと、インター予測画像生成部411からのインター予測画像マクロブロックと、スキップト・マクロブロック部412からのスキップト・マクロブロック予測画像マクロブロックとを入力する。符号化モード決定部413は、符号化モード信号が示す符号化モードに基づいて、イントラ予測画像マクロブロック、インター予測画像マクロブロック、若しくはスキップト・マクロブロック予測画像マクロブロックのいずれかを、加算部408に出力する。 The encoding mode determination unit 413 includes an encoding mode signal from the information source decoding unit 401, an intra prediction image macroblock from the intra prediction image generation unit 410, and an inter prediction image macroblock from the inter prediction image generation unit 411. Then, a skipped macroblock prediction image macroblock from the skipped macroblock unit 412 is input. The encoding mode determination unit 413 adds one of the intra prediction image macroblock, the inter prediction image macroblock, and the skipped macroblock prediction image macroblock based on the encoding mode indicated by the encoding mode signal. Output to.
 画像出力部414は、加算部408から入力された参照画像マクロブロックを、対応するフレームにおける復号対象マクロブロックの位置に配置して参照画像をフレーム毎に生成する。画像出力部414は、生成した参照画像を復号テクスチャ画像としてフレーム毎に画像復号装置4の外部に出力する。 The image output unit 414 generates the reference image for each frame by arranging the reference image macroblock input from the adding unit 408 at the position of the decoding target macroblock in the corresponding frame. The image output unit 414 outputs the generated reference image as a decoded texture image for each frame to the outside of the image decoding device 4.
 次に、本実施形態に係る画像復号装置4が行う画像復号処理について、図9及び図10を参照しながら説明する。図9は、本実施形態に係る画像復号装置4が行う画像復号処理の一例を説明するためのフローチャートで、図10は、図9に続くフローチャートである。 Next, image decoding processing performed by the image decoding device 4 according to the present embodiment will be described with reference to FIGS. 9 and 10. FIG. 9 is a flowchart for explaining an example of the image decoding process performed by the image decoding device 4 according to the present embodiment, and FIG. 10 is a flowchart following FIG.
 ステップS301において、画像復号装置4は、ステップS302~S319の処理をマクロブロック毎に行う。 In step S301, the image decoding apparatus 4 performs the processing in steps S302 to S319 for each macroblock.
 まず、ステップS302において、デプスマップ復号部402は、画像復号装置4の外部からデプスマップ符号を入力する。デプスマップ復号部402は、入力されたデプスマップ符号を復号し、デプスマクロブロックを生成する。デプスマップ復号部402は、生成したデプスマクロブロックを画像復号装置4の外部に出力する。その後、ステップS303に進む。 First, in step S302, the depth map decoding unit 402 inputs a depth map code from the outside of the image decoding device 4. The depth map decoding unit 402 decodes the input depth map code to generate a depth macroblock. The depth map decoding unit 402 outputs the generated depth macroblock to the outside of the image decoding device 4. Thereafter, the process proceeds to step S303.
 ステップS303において、デプスマップ復号部402は、復号したデプスマクロブロックのパーティションのサイズをパーティションサイズメモリ403に記憶する。その後、ステップS304に進む。 In step S303, the depth map decoding unit 402 stores the partition size of the decoded depth macroblock in the partition size memory 403. Thereafter, the process proceeds to step S304.
 ステップS304において、情報源復号部401は、画像復号装置4の外部からマクロブロック毎の符号化ストリームを入力する。その後、ステップS305に進む。
 ステップS305において、情報源復号部401は、入力された符号化ストリームを復号し、符号化モード信号と量子化DCT係数と差分ベクトルを生成する。情報源復号部401は、生成した符号化モード信号を符号化モード決定部413に出力する。その後、ステップS306に進む。
In step S304, the information source decoding unit 401 inputs an encoded stream for each macroblock from the outside of the image decoding device 4. Thereafter, the process proceeds to step S305.
In step S305, the information source decoding unit 401 decodes the input encoded stream, and generates an encoding mode signal, a quantized DCT coefficient, and a difference vector. The information source decoding unit 401 outputs the generated encoding mode signal to the encoding mode determination unit 413. Thereafter, the process proceeds to step S306.
 ステップS306において、情報源復号部401は、生成した符号化モード信号がスキップト・マクロブロックモードであることを示しているか否かを判定する。情報源復号部401は、生成した符号化モード信号がスキップト・マクロブロックモードであることを示していると判定した場合(ステップS306でYES)、ステップS307に進む。情報源復号部401は、生成した符号化モード信号がスキップト・マクロブロックモードであることを示していないと判定した場合(ステップS306でNO)、ステップS308に進む。 In step S306, the information source decoding unit 401 determines whether or not the generated encoding mode signal indicates a skipped macroblock mode. If the information source decoding unit 401 determines that the generated encoding mode signal indicates the skipped macroblock mode (YES in step S306), the information source decoding unit 401 proceeds to step S307. If the information source decoding unit 401 determines that the generated encoding mode signal does not indicate the skipped macroblock mode (NO in step S306), the information source decoding unit 401 proceeds to step S308.
 ステップS307において、情報源復号部401は、値がゼロであることを示す量子化DCT係数を逆量子化・逆DCT変換部407に出力する。情報源復号部401は、値がゼロであることを示す差分ベクトルを加算部404に出力する。その後、ステップS308に進む。 In step S307, the information source decoding unit 401 outputs a quantized DCT coefficient indicating that the value is zero to the inverse quantization / inverse DCT transform unit 407. The information source decoding unit 401 outputs a difference vector indicating that the value is zero to the adding unit 404. Thereafter, the process proceeds to step S308.
 ステップS308において、情報源復号部401は、生成した符号化モード信号がインター予測モードであることを示しているか否かを判定する。情報源復号部401は、生成した符号化モード信号がインター予測モードであることを示していると判定した場合(ステップS308でYES)、ステップS310に進む。情報源復号部401は、生成した符号化モード信号がインター予測モードであることを示していないと判定した場合(ステップS308でNO)、ステップS309に進む。 In step S308, the information source decoding unit 401 determines whether or not the generated encoding mode signal indicates the inter prediction mode. If the information source decoding unit 401 determines that the generated encoding mode signal indicates the inter prediction mode (YES in step S308), the information source decoding unit 401 proceeds to step S310. If the information source decoding unit 401 determines that the generated encoding mode signal does not indicate the inter prediction mode (NO in step S308), the information source decoding unit 401 proceeds to step S309.
 ステップS309において、情報源復号部401は、値がゼロであることを示す差分ベクトルを加算部404に出力する。その後、ステップS310に進む。
 ステップS310において、逆量子化・逆DCT変換部407は、情報源復号部401から入力された量子化DCT係数に対して逆量子化を行い、逆量子化DCT係数を生成した後、逆量子化DCT係数に対して2次元逆DCTを行い、復号残差信号ブロックを生成する。逆量子化・逆DCT変換部407は、復号残差信号ブロックを加算部408に出力する。その後、ステップS311に進む。
In step S309, the information source decoding unit 401 outputs a difference vector indicating that the value is zero to the adding unit 404. Thereafter, the process proceeds to step S310.
In step S310, the inverse quantization / inverse DCT transform unit 407 performs inverse quantization on the quantized DCT coefficient input from the information source decoding unit 401, 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 407 outputs the decoded residual signal block to the adder 408. Thereafter, the process proceeds to step S311.
 ステップS311において、予測ベクトル生成部406は、動きベクトルメモリ405から復号対象マクロブロックに隣接し、復号に係る処理を行った参照ブロックの動きベクトルを読み出す。予測ベクトル生成部406は、読み出した動きベクトルに基づいて予測ベクトルを算出する。予測ベクトル生成部406は、算出した予測ベクトルを加算部404に出力する。その後、ステップS312に進む。 In step S311, the prediction vector generation unit 406 reads from the motion vector memory 405 the motion vector of the reference block adjacent to the decoding target macroblock and subjected to the processing related to decoding. The prediction vector generation unit 406 calculates a prediction vector based on the read motion vector. The prediction vector generation unit 406 outputs the calculated prediction vector to the addition unit 404. Thereafter, the process proceeds to step S312.
 ステップS312において、加算部404は、情報源復号部401から入力された差分ベクトルと予測ベクトル生成部406から入力された予測ベクトルとを加算して、動きベクトルを生成する。加算部404は、生成した動きベクトルを動きベクトルメモリ405に記憶する。その後、ステップS313に進む。 In step S312, the addition unit 404 adds the difference vector input from the information source decoding unit 401 and the prediction vector input from the prediction vector generation unit 406 to generate a motion vector. The adder 404 stores the generated motion vector in the motion vector memory 405. Thereafter, the process proceeds to step S313.
 ステップS313において、インター予測画像生成部411は、動きベクトルメモリ405から対象マクロブロック内の全てのパーティションに対応する動きベクトルを読みだす。インター予測画像生成部411は、動きベクトルメモリ405から読み出した動きベクトルに基づいて動き補償を行うことで、インター予測画像マクロブロックを生成する。インター予測画像生成部411は、生成したインター予測画像マクロブロックを符号化モード決定部413に出力する。その後、ステップS314に進む。 In step S313, the inter prediction image generating unit 411 reads out motion vectors corresponding to all partitions in the target macroblock from the motion vector memory 405. The inter prediction image generation unit 411 generates an inter prediction image macroblock by performing motion compensation based on the motion vector read from the motion vector memory 405. The inter prediction image generation unit 411 outputs the generated inter prediction image macroblock to the encoding mode determination unit 413. Thereafter, the process proceeds to step S314.
 ステップS314において、イントラ予測画像生成部410は、参照画像メモリ409から対象マクロブロックと同一フレーム内の対象マクロブロックの上と左に隣接する復号に係る処理を行った参照画像ブロックを読みだす。イントラ予測画像生成部410は、読みだした参照画像マクロブロックに基づいてフレーム内予測を行い、イントラ予測画像マクロブロックを生成する。イントラ予測画像生成部410は、生成したイントラ予測画像マクロブロックを符号化モード決定部413に出力する。その後、ステップS315へ進む。 In step S314, the intra predicted image generation unit 410 reads, from the reference image memory 409, a reference image block that has been subjected to processing related to decoding on the left and right of the target macroblock in the same frame as the target macroblock. The intra predicted image generation unit 410 performs intra-frame prediction based on the read reference image macroblock, and generates an intra predicted image macroblock. The intra predicted image generation unit 410 outputs the generated intra predicted image macroblock to the encoding mode determination unit 413. Thereafter, the process proceeds to step S315.
 ステップS315において、スキップト・マクロブロック部412は、動きベクトルメモリ405から動きベクトルを、パーティションサイズメモリ403から対象ブロックと同一表示時刻、同一座標のデプスマクロブロックのパーティションのサイズを、参照画像メモリ409から参照画像ブロックを、それぞれ読みだす。スキップト・マクロブロック部412は、スキップト・マクロブロック部107と同じ処理を行うことによってスキップト・マクロブロック予測画像マクロブロックを生成する。スキップト・マクロブロック部412は、スキップト・マクロブロック予測画像マクロブロックを符号化モード決定部413に出力する。その後、ステップS316に進む。 In step S315, the skipped macroblock unit 412 obtains the motion vector from the motion vector memory 405, the partition size memory 403 from the reference image memory 409, the partition size of the depth macroblock having the same display time and the same coordinate as the target block. Each reference image block is read out. The skipped macroblock unit 412 performs the same process as the skipped macroblock unit 107 to generate a skipped macroblock predicted image macroblock. The skipped macroblock unit 412 outputs the skipped macroblock predicted image macroblock to the encoding mode determination unit 413. Thereafter, the process proceeds to step S316.
 ステップS316において、符号化モード決定部413は、情報源復号部401からの符号化モード信号と、イントラ予測画像生成部410からのイントラ予測画像マクロブロックと、インター予測画像生成部411からのインター予測画像マクロブロックと、スキップト・マクロブロック部412からのスキップト・マクロブロック予測画像マクロブロックとを入力する。符号化モード決定部413は、符号化モード信号が示す符号化モードに基づいて、イントラ予測画像マクロブロック、インター予測画像マクロブロック、若しくはスキップト・マクロブロック予測画像マクロブロックのいずれかを、加算部408に出力する。その後、ステップS317に進む。 In step S316, the encoding mode determination unit 413, the encoding mode signal from the information source decoding unit 401, the intra prediction image macroblock from the intra prediction image generation unit 410, and the inter prediction from the inter prediction image generation unit 411. An image macroblock and a skipped macroblock predicted image macroblock from the skipped macroblock unit 412 are input. The encoding mode determination unit 413 adds one of the intra prediction image macroblock, the inter prediction image macroblock, and the skipped macroblock prediction image macroblock based on the encoding mode indicated by the encoding mode signal. Output to. Thereafter, the process proceeds to step S317.
 ステップS317において、加算部408は、符号化モード決定部413から入力されたイントラ予測画像マクロブロック、インター予測画像マクロブロック、若しくはスキップト・マクロブロック予測画像マクロブロックに含まれる各画素の信号値と、逆量子化・逆DCT変換部407から入力された復号残差信号マクロブロックに含まれる各画素の信号値とを加算して、参照画像マクロブロックを生成する。その後、ステップS318に進む。 In step S317, the addition unit 408 includes the signal value of each pixel included in the intra prediction image macroblock, the inter prediction image macroblock, or the skipped macroblock prediction image macroblock input from the encoding mode determination unit 413, The reference image macroblock is generated by adding the signal value of each pixel included in the decoded residual signal macroblock input from the inverse quantization / inverse DCT transform unit 407. Thereafter, the process proceeds to step S318.
 ステップS318において、加算部408は、生成した参照画像マクロブロックを参照画像メモリ409に記憶し、画像出力部414に出力する。その後、ステップS319に進む。 In step S318, the addition unit 408 stores the generated reference image macroblock in the reference image memory 409 and outputs the reference image macroblock to the image output unit 414. Thereafter, the process proceeds to step S319.
 ステップS319において、画像復号装置4は、復号対象マクロブロックをラスタースキャンの順序で変更し、ステップS302に戻る。但し、画像復号装置4は、入力された符号化ストリームのフレームにおいて復号が行われていないマクロブロックがないと判定した場合には、そのフレームに対する処理を終了する。 In step S319, the image decoding device 4 changes the decoding target macroblock in the order of raster scan, and returns to step S302. However, if the image decoding device 4 determines that there is no macroblock that has not been decoded in the frame of the input encoded stream, the image decoding device 4 ends the processing for that frame.
 以上のように、本実施形態では、画素毎の輝度値からなるテクスチャ画像を構成する一部の領域であるマクロブロック毎に、過去のテクスチャ画像からの移動量を示す動きベクトルを予測して上記テクスチャ画像をスキップト・マクロブロックモードで符号化する際、上記1つのマクロブロックに隣接するパーティションの動きベクトルと、画素毎の視点からの距離を示す深度値からなるデプスマップのうち上記1つのマクロブロックに対応する領域であるデプスマクロブロックと、デプスマクロブロックを符号化する際に設定されたパーティションのサイズとに基づいて、予測ベクトルを生成する。 As described above, in the present embodiment, the motion vector indicating the amount of movement from the past texture image is predicted for each macroblock that is a partial region constituting the texture image including the luminance value for each pixel, and the above When encoding a texture image in the skipped macroblock mode, the one macroblock of the depth map indicating the motion vector of the partition adjacent to the one macroblock and the depth value indicating the distance from the viewpoint for each pixel. A prediction vector is generated based on the depth macroblock that is an area corresponding to the above and the size of the partition set when the depth macroblock is encoded.
 これにより、本実施形態では、対象マクロブロックをスキップト・マクロブロックモードで符号化する際に、対応するフレームのデプスマップのパーティションのサイズに基づいて分割し、そのパーティション毎に予測ベクトルを生成する。そのため、マクロブロック内の各領域毎に予測ベクトルが設定されるため、符号化効率を向上させることができる。 Thus, in the present embodiment, when the target macroblock is encoded in the skipped macroblock mode, the target macroblock is divided based on the size of the partition of the depth map of the corresponding frame, and a prediction vector is generated for each partition. Therefore, since a prediction vector is set for each region in the macroblock, it is possible to improve coding efficiency.
(第2の実施形態)
 図11は、本発明の第2の実施形態に係る画像符号化装置の構成例を示す概略図である。
(Second Embodiment)
FIG. 11 is a schematic diagram illustrating a configuration example of an image encoding device according to the second embodiment of the present invention.
 図11で例示する画像符号化装置5は、テクスチャ画像入力部101、デプスマップ符号化部502、デプスマップメモリ503、参照画像メモリ104、イントラ予測部105、インター予測部106、スキップト・マクロブロック部507、符号化モード判定部108、動きベクトルメモリ109、予測ベクトル生成部110、減算部111、減算部112、DCT変換・量子化部113、逆量子化・逆DCT変換部114、加算部115、及び情報源符号化部116を含んで構成される。画像符号化装置5は、図2に示す画像符号化装置1のデプスマップ符号化部102、パーティションサイズメモリ103、スキップト・マクロブロック部107に代えて、それぞれデプスマップ符号化部502、デプスマップメモリ503、スキップト・マクロブロック部507を備える点が異なり、その他の構成は同じである。 The image encoding device 5 illustrated in FIG. 11 includes a texture image input unit 101, a depth map encoding unit 502, a depth map memory 503, a reference image memory 104, an intra prediction unit 105, an inter prediction unit 106, and a skipped macroblock unit. 507, encoding mode determination unit 108, motion vector memory 109, prediction vector generation unit 110, subtraction unit 111, subtraction unit 112, DCT transformation / quantization unit 113, inverse quantization / inverse DCT transformation unit 114, addition unit 115, And an information source encoding unit 116. The image encoding device 5 replaces the depth map encoding unit 102, the partition size memory 103, and the skipped macroblock unit 107 of the image encoding device 1 shown in FIG. 2 with a depth map encoding unit 502 and a depth map memory, respectively. 503 and the skipped macroblock unit 507 are different, and the other configurations are the same.
 デプスマップ符号化部502は、画像前置処理部2からデプスマップをフレーム毎に入力し、各フレームを構成するマクロブロック毎に公知の画像符号化方法、例えばITU-T H.264規格書に記載されている復号方法に対応する符号化方法を用いてデプスマップを符号化する。デプスマップ符号化部502は、符号化して生成したデプスマップ符号を画像符号化装置1の外部に出力する。 The depth map encoding unit 502 receives the depth map from the image preprocessing unit 2 for each frame, and a known image encoding method for each macroblock constituting each frame, for example, ITU-T H.264. The depth map is encoded using an encoding method corresponding to the decoding method described in the H.264 standard. The depth map encoding unit 502 outputs the depth map code generated by encoding to the outside of the image encoding device 1.
 デプスマップ符号化部502は、生成したデプスマップ符号を復号し符号化済みデプスマップを生成する。デプスマップ符号化部502は、符号化済みデプスマップをデプスマップメモリ503に記憶する。
 デプスマップメモリ503は、デプスマップ符号化部502から入力された符号化済みデプスマップを記憶する。
The depth map encoding unit 502 decodes the generated depth map code to generate an encoded depth map. The depth map encoding unit 502 stores the encoded depth map in the depth map memory 503.
The depth map memory 503 stores the encoded depth map input from the depth map encoding unit 502.
 スキップト・マクロブロック部507は、動きベクトルメモリ109から動きベクトルを読み出し、デプスマップメモリ503から符号化済みデプスマップ内にある対象マクロブロックと同座標にあるデプスマクロブロックを読み出し、参照画像メモリ104から参照画像ブロックを読みだす。また、スキップト・マクロブロック部507は、読み出した動きベクトル、符号化済みデプスマップ及び参照画像ブロックに基づきスキップト・マクロブロック予測画像マクロブロックを生成する。スキップト・マクロブロック部507は、生成したスキップト・マクロブロック予測画像マクロブロックを符号化モード判定部108に出力する。 The skipped macroblock unit 507 reads a motion vector from the motion vector memory 109, reads a depth macroblock at the same coordinates as the target macroblock in the encoded depth map from the depth map memory 503, and reads from the reference image memory 104. Read the reference image block. Also, the skipped macroblock unit 507 generates a skipped macroblock prediction image macroblock based on the read motion vector, the encoded depth map, and the reference image block. The skipped macroblock unit 507 outputs the generated skipped macroblock predicted image macroblock to the coding mode determination unit 108.
 次に、本実施形態に係るスキップト・マクロブロック部507の構成例及びその機能について、図12を参照しながら説明する。図12は、本実施形態に係るスキップト・マクロブロック部507の構成例を示す概略図である。 Next, a configuration example and functions of the skipped macroblock unit 507 according to the present embodiment will be described with reference to FIG. FIG. 12 is a schematic diagram illustrating a configuration example of the skipped macroblock unit 507 according to the present embodiment.
 スキップト・マクロブロック部507は、エッジ画像生成部5071、スキップト・マクロブロック用予測ベクトル生成部5072、及び予測マクロブロック生成部5073を含んで構成される。 The skipped macroblock unit 507 includes an edge image generation unit 5071, a skipped macroblock prediction vector generation unit 5072, and a prediction macroblock generation unit 5073.
 エッジ画像生成部5071は、デプスマップメモリ503から読み出した対象デプスマクロブロックに対して、エッジ成分を検出するエッジ検出処理を施し、エッジ成分が検出された領域(画素)を示すエッジ画像ブロックを生成する。エッジ画像生成部5071は、生成したエッジ画像ブロックをスキップト・マクロブロック用予測ベクトル生成部5072に出力する。 The edge image generation unit 5071 performs edge detection processing for detecting an edge component on the target depth macroblock read from the depth map memory 503, and generates an edge image block indicating a region (pixel) in which the edge component is detected. To do. The edge image generation unit 5071 outputs the generated edge image block to the skipped macroblock prediction vector generation unit 5072.
 エッジとは、信号値の空間的な変化が著しい領域である。エッジ画像ブロックは、エッジが検出されたか否かを示す信号値、例えば深度値の空間的変化が予め設定された閾値よりも大きいか否かを示す信号値を画素毎に含む。 An edge is a region where the spatial change of the signal value is remarkable. The edge image block includes, for each pixel, a signal value indicating whether or not an edge is detected, for example, a signal value indicating whether or not the spatial change of the depth value is larger than a preset threshold value.
 エッジ画像生成部5071は、エッジ画像ブロックを生成するために、例えば、式(1)に示す3行3列のSobelフィルタを用いる。即ち、Sobelフィルタは、水平方向に隣接する画素間の信号値の勾配と垂直方向に隣接する画素間の信号値の勾配を与えるフィルタである。無論、フィルタは3行3列に限ったものではない。 The edge image generation unit 5071 uses, for example, a 3-by-3 Sobel filter shown in Expression (1) in order to generate an edge image block. That is, the Sobel filter is a filter that gives a gradient of signal values between pixels adjacent in the horizontal direction and a gradient of signal values between pixels adjacent in the vertical direction. Of course, the filter is not limited to 3 rows and 3 columns.
Figure JPOXMLDOC01-appb-M000001
Figure JPOXMLDOC01-appb-M000001
 ここで、エッジ画像生成部5071は、対象デプスマクロブロックに含まれる画素毎に、その画素(中心画素)を中心に含む水平方向3画素×垂直方向3画素のサブブロックにSobelフィルタを乗じて、画素毎の信号値の勾配を算出する。但し、中心画素が対象デプスマクロブロックの最上行、最下行、最左列又は最右列にある場合には、各々サブブロックの最上行、最下行、最左列又は最右列の信号値を、中心値の信号値と等しい値とする。 Here, for each pixel included in the target depth macroblock, the edge image generation unit 5071 multiplies a sub-block of 3 pixels in the horizontal direction × 3 pixels in the vertical direction including the pixel (center pixel) as a center by a Sobel filter, The gradient of the signal value for each pixel is calculated. However, if the center pixel is in the top row, bottom row, leftmost column or rightmost column of the target depth macroblock, the signal value of the top row, bottom row, leftmost column or rightmost column of each sub-block is set. The value is equal to the signal value of the center value.
 エッジ画像生成部5071は、算出した画素毎の勾配の絶対値が予め設定された閾値よりも大きい画素について、エッジであることを示す信号値(例えば1)を定める。エッジ画像生成部5071は、算出した画素毎の勾配の絶対値が予め設定された閾値と等しい又はその閾値よりも小さい画素について、エッジでないことを示す信号値(例えば0)を定める。 The edge image generation unit 5071 determines a signal value (for example, 1) indicating that it is an edge for a pixel in which the absolute value of the calculated gradient for each pixel is larger than a preset threshold value. The edge image generation unit 5071 determines a signal value (for example, 0) indicating that the calculated absolute value of the gradient for each pixel is not an edge for a pixel that is equal to or smaller than a preset threshold value.
 エッジ画像生成部5071は、画素毎のエッジであるか否かを示す信号値をエッジ画像ブロックとしてスキップト・マクロブロック用予測ベクトル生成部5072に出力する。 The edge image generation unit 5071 outputs a signal value indicating whether or not each pixel is an edge to the skipped macroblock prediction vector generation unit 5072 as an edge image block.
 スキップト・マクロブロック用予測ベクトル生成部5072は、エッジ画像生成部5071からエッジ画像ブロックを、動きベクトルメモリ109から対象マクロブロックの左、上、右上に隣接するパーティションの動きベクトル又は同じく隣接するマクロブロックの動きベクトルを、それぞれ入力として受け取る。スキップト・マクロブロック用予測ベクトル生成部5072は、エッジ画像ブロックのエッジに沿って対象マクロブロックを複数のパーティションに分割する。 The skipped macroblock prediction vector generation unit 5072 receives the edge image block from the edge image generation unit 5071 and the motion vector of the partition adjacent to the left, top, and top right of the target macroblock from the motion vector memory 109 or the same adjacent macroblock. Are respectively received as inputs. The skipped macroblock prediction vector generation unit 5072 divides the target macroblock into a plurality of partitions along the edge of the edge image block.
 スキップト・マクロブロック用予測ベクトル生成部5072は、パーティション毎に、対象となっているパーティションと最も接している面積が広い、対象マクロブロックに隣接しているパーティションの動きベクトル(パーティション毎の処理が施されているため予測ベクトルと言える)、若しくは既に予測ベクトルを設定した対象マクロブロック内のパーティションの予測ベクトル、若しくは隣接マクロブロックの動きベクトルを、予測ベクトルとして設定する。スキップト・マクロブロック用予測ベクトル生成部5072は、生成した各パーティションの予測ベクトルを予測マクロブロック生成部5073に出力する。 The predicted vector generation unit for skipped macroblock 5072 has a motion vector of a partition adjacent to the target macroblock that has the largest area in contact with the target partition for each partition (processing for each partition is performed). Therefore, a prediction vector of a partition in a target macroblock for which a prediction vector has already been set or a motion vector of an adjacent macroblock is set as a prediction vector. The skipped macroblock prediction vector generation unit 5072 outputs the generated prediction vector of each partition to the prediction macroblock generation unit 5073.
 予測マクロブロック生成部5073は、エッジ画像生成部5071からエッジ画像ブロックを読み出し、スキップト・マクロブロック用予測ベクトル生成部5072から対象マクロブロック内の各パーティションに対応する予測ベクトルを入力する。予測マクロブロック生成部5073は、入力されたエッジ画像ブロックに基づいた各パーティションのサイズと各パーティションの予測ベクトルに基づいて動き補償を行い、スキップト・マクロブロック予測画像マクロブロックを生成する。予測マクロブロック生成部5073は、生成したスキップト・マクロブロック予測画像マクロブロックを符号化モード判定部108に出力する。 The prediction macroblock generation unit 5073 reads the edge image block from the edge image generation unit 5071, and inputs the prediction vector corresponding to each partition in the target macroblock from the skipped macroblock prediction vector generation unit 5072. The prediction macroblock generation unit 5073 performs motion compensation based on the size of each partition based on the input edge image block and the prediction vector of each partition, and generates a skipped macroblock prediction image macroblock. The prediction macroblock generation unit 5073 outputs the generated skipped macroblock prediction image macroblock to the encoding mode determination unit 108.
 次に、本実施形態に係る画像符号化装置5が行う画像符号化処理について説明する。
 図13は、本実施形態に係る画像符号化装置5が行う画像符号化処理の一例を説明するためのフローチャートである。図13のフローチャートは、図5のフローチャートに対して、ステップS103が後述するステップS403に代わっている点と、ステップS108が後述するステップS408に代わっている点が異なっており、それ以外の処理は同一である。また、図13のフローチャートのI、IIも図5と同様にそれぞれ図6のフローチャートのI、IIに続く。なお、ステップS403及びステップS408以外の処理については図5のフローチャートと同一のため説明を省略する。
Next, an image encoding process performed by the image encoding device 5 according to the present embodiment will be described.
FIG. 13 is a flowchart for explaining an example of an image encoding process performed by the image encoding device 5 according to the present embodiment. The flowchart in FIG. 13 differs from the flowchart in FIG. 5 in that step S103 is replaced with step S403 described later and step S108 is replaced with step S408 described later. Are the same. Also, I and II in the flowchart of FIG. 13 follow the I and II of the flowchart in FIG. 6 as in FIG. Since the processes other than step S403 and step S408 are the same as those in the flowchart of FIG.
 ステップS403において、デプスマップ符号化部502は、生成したデプスマップ符号を復号し符号化済みデプスマップを生成する。デプスマップ符号化部502は、符号化済みデプスマップをデプスマップメモリ503に記憶する。その後、ステップS104に進む。 In step S403, the depth map encoding unit 502 decodes the generated depth map code to generate an encoded depth map. The depth map encoding unit 502 stores the encoded depth map in the depth map memory 503. Thereafter, the process proceeds to step S104.
 ステップS408において、スキップト・マクロブロック部507は、動きベクトルメモリ109から動きベクトルを、デプスマップメモリ503から対象マクロブロックと同一表示時刻、同一座標のデプスマクロブロックを、参照画像メモリ104から参照画像ブロックを、それぞれ読みだす。スキップト・マクロブロック部507は、入力されたデプスマクロブロックと動きベクトルに基づいて各パーティションの予測ベクトルを算出する。スキップト・マクロブロック部507は、算出した予測ベクトルに基づいて動き補償を行い、スキップト・マクロブロック予測画像マクロブロックを生成する。スキップト・マクロブロック部507は、スキップト・マクロブロック予測画像マクロブロックを符号化モード判定部108に出力する。その後、ステップS109に進む。 In step S408, the skipped macroblock unit 507 receives the motion vector from the motion vector memory 109, the depth macroblock having the same display time and the same coordinate as the target macroblock from the depth map memory 503, and the reference image block from the reference image memory 104. Is read out. The skipped macroblock unit 507 calculates a prediction vector for each partition based on the input depth macroblock and the motion vector. The skipped macroblock unit 507 performs motion compensation based on the calculated prediction vector, and generates a skipped macroblock prediction image macroblock. The skipped macroblock unit 507 outputs the skipped macroblock predicted image macroblock to the coding mode determination unit 108. Thereafter, the process proceeds to step S109.
 次に、本実施形態に係るスキップト・マクロブロック部507におけるスキップト・マクロブロック予測画像マクロブロック生成処理について、図14を参照しながら説明する。図14は、本実施形態に係るスキップト・マクロブロック部507におけるスキップト・マクロブロック予測画像マクロブロック生成処理の一例を説明するためのフローチャートである。この処理は、上述のステップS408に相当する処理である。 Next, the skipped macroblock prediction image macroblock generation processing in the skipped macroblock unit 507 according to the present embodiment will be described with reference to FIG. FIG. 14 is a flowchart for explaining an example of a skipped macroblock predicted image macroblock generation process in the skipped macroblock unit 507 according to the present embodiment. This process is a process corresponding to step S408 described above.
 まず、ステップS501において、エッジ画像生成部5071は、デプスマップメモリ503から対象マクロブロックと同一座標の対象デプスマクロブロックを読み出す。その後、ステップS502に進む。 First, in step S501, the edge image generation unit 5071 reads out the target depth macroblock having the same coordinates as the target macroblock from the depth map memory 503. Thereafter, the process proceeds to step S502.
 ステップS502において、エッジ画像生成部5071は、デプスマップメモリ503から読み出した対象デプスマクロブロックにエッジ検出処理を行い、エッジが検出された領域(画素)を示すエッジ画像ブロックを生成する。その後、ステップS503に進む。 In step S502, the edge image generation unit 5071 performs edge detection processing on the target depth macroblock read from the depth map memory 503, and generates an edge image block indicating a region (pixel) where the edge is detected. Thereafter, the process proceeds to step S503.
 ステップS503において、スキップト・マクロブロック部507は、エッジ画像ブロックに基づき対象マクロブロックを複数のパーティションに分割し、ステップS504~S506の処理を全てのパーティションに対してパーティション毎に行う。 In step S503, the skipped macroblock unit 507 divides the target macroblock into a plurality of partitions based on the edge image block, and performs the processing in steps S504 to S506 for each partition.
 ステップS504において、スキップト・マクロブロック用予測ベクトル生成部5072は、動きベクトルメモリ109から対象マクロブロックの左、上、右上に隣接するパーティションの動きベクトル又は同じく隣接するマクロブロックの動きベクトルを読み出す。スキップト・マクロブロック用予測ベクトル生成部5072は、対象パーティションと最も接している面積が広い、対象マクロブロックに隣接しているパーティションの動きベクトル(パーティション毎の処理が施されているため予測ベクトルと言える)、若しくは既に予測ベクトルを設定した対象マクロブロック内のパーティションの予測ベクトル、若しくは隣接マクロブロックの動きベクトルを、予測ベクトルとして設定する。その後、ステップS505に進む。 In step S504, the skipped macroblock prediction vector generation unit 5072 reads the motion vector of the partition adjacent to the left, top, and top right of the target macroblock or the motion vector of the adjacent macroblock from the motion vector memory 109. The skipped macroblock prediction vector generation unit 5072 can be said to be a motion vector of a partition adjacent to the target macroblock having the largest area in contact with the target partition (because a process for each partition is performed, it can be said to be a prediction vector). ), Or a prediction vector of a partition in a target macroblock for which a prediction vector has already been set, or a motion vector of an adjacent macroblock is set as a prediction vector. Thereafter, the process proceeds to step S505.
 ステップS505において、予測マクロブロック生成部5073は、エッジ画像生成部5071からエッジ画像ブロックを読み出し、スキップト・マクロブロック用予測ベクトル生成部5072から対象パーティションの予測ベクトルを入力する。予測マクロブロック生成部5073は、入力されたエッジ画像ブロックに基づいて算出した対象パーティションのサイズと対象パーティションの予測ベクトルに基づいて動き補償を行い、スキップト・マクロブロック予測画像マクロブロックを生成する。その後、ステップS506に進む。 In step S505, the prediction macroblock generation unit 5073 reads the edge image block from the edge image generation unit 5071, and inputs the prediction vector of the target partition from the skipped macroblock prediction vector generation unit 5072. The prediction macroblock generation unit 5073 performs motion compensation based on the size of the target partition calculated based on the input edge image block and the prediction vector of the target partition, and generates a skipped macroblock prediction image macroblock. Thereafter, the process proceeds to step S506.
 ステップS506において、スキップト・マクロブロック部507は、符号化対象のパーティションを順次変更し、ステップS504に戻る。但し、スキップト・マクロブロック部507は、対象マクロブロックにスキップト・マクロブロック予測画像マクロブロック生成にかかる処理がまだ行われていないパーティションがないと判定した場合には、その対象マクロブロックに対する処理を終了する。 In step S506, the skipped macroblock unit 507 sequentially changes the partition to be encoded, and returns to step S504. However, if the skipped macroblock unit 507 determines that there is no partition in the target macroblock that has not yet been processed for generation of the skipped macroblock prediction image macroblock, the process for the target macroblock is terminated. To do.
 以上のように本実施形態に係る画像符号化装置5では、デプスマップのブロックからエッジ成分を検出し、検出したエッジ成分に基づいて上記1つのマクロブロックを複数のパーティションに分割している。そして、この画像符号化装置5では、パーティション毎に、上記1つのマクロブロックに隣接する隣接マクロブロックの動きベクトルと、パーティションに隣接する隣接パーティションについて既に算出された予測ベクトルとに基づき、上記パーティションの予測ベクトルを算出している。ここで、上述したように、パーティション毎に、パーティションの左と上と右上に隣接する、隣接パーティション及び隣接マクロブロックの中から、最も上記パーティションと接する面積の広い、隣接パーティションの予測ベクトル又は隣接マクロブロックの動きベクトルを、上記パーティションの予測ベクトルとすることが好ましい。 As described above, the image encoding device 5 according to the present embodiment detects an edge component from a depth map block, and divides the one macroblock into a plurality of partitions based on the detected edge component. In this image encoding device 5, for each partition, based on the motion vector of the adjacent macroblock adjacent to the one macroblock and the prediction vector already calculated for the adjacent partition adjacent to the partition, A prediction vector is calculated. Here, as described above, for each partition, among adjacent partitions and adjacent macroblocks adjacent to the left, top, and upper right of the partition, the prediction vector or adjacent macro of the adjacent partition having the largest area in contact with the partition. It is preferable that the motion vector of the block is a prediction vector of the partition.
 次に、本実施形態に係る画像復号装置について説明する。本実施形態に係る画像復号装置は、上述した画像符号化装置5での画像符号化方法に従いスキップト・マクロブロックモードによってパーティション単位で符号化された、画素毎の輝度値からなる画像を構成する一部の領域であるマクロブロックを復号する画像復号手段を備えている。以下、このような画像復号装置の構成例について図15を参照しながら説明する。図15は、本実施形態に係る画像復号装置の構成例を示す概略図である。 Next, the image decoding apparatus according to this embodiment will be described. The image decoding apparatus according to the present embodiment constitutes an image composed of luminance values for each pixel, which is encoded in units of partitions in the skipped macroblock mode according to the image encoding method in the image encoding apparatus 5 described above. Image decoding means for decoding a macroblock which is a region of a part. Hereinafter, a configuration example of such an image decoding device will be described with reference to FIG. FIG. 15 is a schematic diagram illustrating a configuration example of an image decoding device according to the present embodiment.
 図15で例示する画像復号装置6は、情報源復号部401、デプスマップ復号部602、デプスマップメモリ603、加算部404、動きベクトルメモリ405、予測ベクトル生成部406、逆量子化・逆DCT変換部407、加算部408、参照画像メモリ409、イントラ予測画像生成部410、インター予測画像生成部411、スキップト・マクロブロック部612、及び画像出力部414を含んで構成される。 The image decoding apparatus 6 illustrated in FIG. 15 includes an information source decoding unit 401, a depth map decoding unit 602, a depth map memory 603, an addition unit 404, a motion vector memory 405, a prediction vector generation unit 406, an inverse quantization / inverse DCT transform. A unit 407, an addition unit 408, a reference image memory 409, an intra prediction image generation unit 410, an inter prediction image generation unit 411, a skipped macroblock unit 612, and an image output unit 414.
 画像復号装置6は、図8に示す画像復号装置4のデプスマップ復号部402、パーティションサイズメモリ403、スキップト・マクロブロック部412に代えて、それぞれデプスマップ復号部602、デプスマップメモリ603、スキップト・マクロブロック部612を備える点が異なり、その他の構成は同じである。また、画像復号装置6のデプスマップメモリ603、スキップト・マクロブロック部612は、それぞれ図11に示す画像符号化装置5のデプスマップメモリ503、スキップト・マクロブロック部507と同じである。 The image decoding device 6 replaces the depth map decoding unit 402, the partition size memory 403, and the skipped macroblock unit 412 of the image decoding device 4 shown in FIG. 8 with a depth map decoding unit 602, a depth map memory 603, a skipped The difference is that the macroblock unit 612 is provided, and the other configurations are the same. Further, the depth map memory 603 and the skipped macroblock unit 612 of the image decoding device 6 are the same as the depth map memory 503 and the skipped macroblock unit 507 of the image encoding device 5 shown in FIG. 11, respectively.
 デプスマップ復号部602は、画像復号装置6の外部からデプスマップ符号をブロック毎に入力し、公知の画像復号方法、例えばITU-T H.264規格書に記載された復号方法を用いて復号する。デプスマップ復号部602は、復号して生成したデプスマップをデプスマップメモリ603に記憶し、画像復号装置4の外部に出力する。 The depth map decoding unit 602 inputs a depth map code for each block from the outside of the image decoding device 6, and a known image decoding method such as ITU-T H.264. Decoding is performed using a decoding method described in the H.264 standard. The depth map decoding unit 602 stores the depth map generated by decoding in the depth map memory 603 and outputs the depth map to the outside of the image decoding device 4.
 また、スキップト・マクロブロック部612は、図12に示すスキップト・マクロブロック部507と同様な構成を備え、図14に示すスキップト・マクロブロック予測画像マクロブロック生成処理と同様な処理を行う。 Also, the skipped macroblock unit 612 has the same configuration as the skipped macroblock unit 507 shown in FIG. 12, and performs the same processing as the skipped macroblock predicted image macroblock generation processing shown in FIG.
 次に、本実施形態に係る画像復号装置6が行う画像復号処理について、図16及び図10を参照しながら説明する。図16は、本実施形態に係る画像復号装置6が行う画像復号処理の一例を説明するためのフローチャートである。図16のフローチャートは、図9のフローチャートに対してステップS303がステップS603に代わっている点が異なり、それ以外の処理は同一である。また、図16のフローチャートのIIIには図9と同様に図10のフローチャートのIIIが続くが、そのうちステップS315の処理内容が異なっているだけで、それ以外の処理は同一である。以下、図16の処理を経た後のステップS315を図9に続く処理と区別するために、「ステップS615」として説明する。 Next, image decoding processing performed by the image decoding device 6 according to the present embodiment will be described with reference to FIGS. FIG. 16 is a flowchart for explaining an example of image decoding processing performed by the image decoding device 6 according to the present embodiment. The flowchart in FIG. 16 differs from the flowchart in FIG. 9 in that step S303 is replaced with step S603, and the other processes are the same. Also, the flowchart III in FIG. 16 is followed by the flowchart III in the flowchart of FIG. 10 as in FIG. 9, but only the processing contents of step S315 are different, and the other processes are the same. Hereinafter, step S315 after the processing in FIG. 16 will be described as “step S615” in order to distinguish it from the processing following FIG.
 なお、図16のステップS603は図13のフローチャートのステップS403と処理が同一であり、また図16に続く図10の処理内容のうちステップS615の処理内容も図13のフローチャートのステップS408と同一であるため、その説明を省略する。さらに、ステップS603及びステップS615以外の処理については図9及び図10のフローチャートと同一のため、その説明を省略する。 Note that step S603 in FIG. 16 is the same as step S403 in the flowchart in FIG. 13, and among the processing contents in FIG. 10 following FIG. 16, the processing contents in step S615 are also the same as step S408 in the flowchart in FIG. Therefore, the description thereof is omitted. Furthermore, since the processes other than step S603 and step S615 are the same as the flowcharts of FIGS. 9 and 10, the description thereof is omitted.
 また、符号化対象ブロック又は復号対象ブロックがフレームの右端のブロックである場合には、右上隣のブロックが存在しない。そのため、本実施形態に係る動きベクトル予測部は、動きベクトルメモリから左上隣のブロックの動きベクトルを読み出してもよい。 Also, when the encoding target block or decoding target block is the rightmost block of the frame, there is no block on the upper right. Therefore, the motion vector prediction unit according to the present embodiment may read the motion vector of the upper left adjacent block from the motion vector memory.
 以上のように、本実施形態では、デプスマップのブロックからエッジ成分を検出し、検出したエッジ成分に基づいて1つのマクロブロック(対象テクスチャ画像マクロブロック)を複数のパーティションに分割し、そのパーティション毎に予測ベクトルを生成している。 As described above, in the present embodiment, an edge component is detected from a block of a depth map, and one macro block (target texture image macro block) is divided into a plurality of partitions based on the detected edge component. A prediction vector is generated.
 つまり、本実施形態では、第1の実施形態と比べ、画素毎の輝度値からなる画像を構成する一部の領域であるマクロブロック毎に、スキップト・マクロブロックモードで符号化する際、1つのマクロブロックを、画素毎の視点からの距離を示す深度値からなるデプスマップのうち上記1つのマクロブロックに対応する領域であるデプスマクロブロックのパーティションに従って、複数のパーティションに分割し、そのパーティション毎に予測ベクトルを生成する点で共通している。そして、第1の実施形態では、デプスマクロブロックを符号化した際に用いられたパーティションのサイズに基づいて、上記1つのマクロブロックを複数のパーティションに分割しているのに対し、本実施形態では、デプスマップのブロックからエッジ成分を検出し、検出したエッジ成分に基づいて上記1つのマクロブロックを複数のパーティションに分割している点が異なる。 That is, in this embodiment, compared with the first embodiment, when encoding in the skipped macroblock mode for each macroblock which is a partial area constituting an image composed of luminance values for each pixel, The macroblock is divided into a plurality of partitions according to the partition of the depth macroblock which is an area corresponding to the one macroblock in the depth map including the depth value indicating the distance from the viewpoint for each pixel. This is common in that a prediction vector is generated. In the first embodiment, the one macroblock is divided into a plurality of partitions based on the size of the partition used when the depth macroblock is encoded. In the present embodiment, The difference is that an edge component is detected from a block of the depth map, and the one macroblock is divided into a plurality of partitions based on the detected edge component.
 これにより本実施形態では、第1の実施形態と同様に、スキップト・マクロブロックモードで符号化する際に、対象テクスチャ画像マクロブロック内の領域毎に予測ベクトルを設定することができるため、適切な動き補償による予測マクロブロックの生成精度、ひいては符号化効率の向上を達成することができる。 As a result, in this embodiment, as in the first embodiment, when encoding in the skipped macroblock mode, a prediction vector can be set for each region in the target texture image macroblock. It is possible to improve the generation accuracy of predicted macroblocks by motion compensation, and hence the encoding efficiency.
(その他)
 なお、全ての実施形態において、1つのカメラで撮影した単一視点の画像信号の符号化及び復号について説明したが、本発明を複数のカメラで撮影した多視点画像信号に対して適用してもよい。例えば3視点画像信号を入力し、そのうち1つの視点の画像信号を、他の視点の画像信号との視差から得たデプスマップを利用してスキップト・マクロブロックモードで符号化し、符号化する対象を切り替えていくことで、3つの視点の画像信号の符号化を行うことができる。
(Other)
In all the embodiments, encoding and decoding of a single-viewpoint image signal photographed by one camera has been described. However, the present invention may be applied to a multi-viewpoint image signal photographed by a plurality of cameras. Good. For example, a 3-viewpoint image signal is input, and an image signal of one viewpoint is encoded in a skipped macroblock mode using a depth map obtained from a parallax with an image signal of another viewpoint. By switching, the image signals of the three viewpoints can be encoded.
 また、上述した実施形態における画像符号化装置1、画像復号装置4、画像符号化装置5、及び画像復号装置6の一部、例えば、イントラ予測部105、インター予測部106、スキップト・マクロブロック部107、符号化モード判定部108、予測ベクトル生成部110、減算部111、減算部112、DCT変換・量子化部113、逆量子化・逆DCT変換部114、加算部115、情報源符号化部116、情報源復号部401、加算部404、予測ベクトル生成部406、逆量子化・逆DCT変換部407、加算部408、イントラ予測画像生成部410、インター予測画像生成部411、スキップト・マクロブロック部412、符号化モード決定部413、スキップト・マクロブロック部507及びスキップト・マクロブロック部612をコンピュータで実現するようにしてもよい。 In addition, a part of the image encoding device 1, the image decoding device 4, the image encoding device 5, and the image decoding device 6 in the above-described embodiment, for example, the intra prediction unit 105, the inter prediction unit 106, and the skipped macroblock unit. 107, encoding mode determination unit 108, prediction vector generation unit 110, subtraction unit 111, subtraction unit 112, DCT transformation / quantization unit 113, inverse quantization / inverse DCT transformation unit 114, addition unit 115, information source coding unit 116, information source decoding unit 401, addition unit 404, prediction vector generation unit 406, inverse quantization / inverse DCT conversion unit 407, addition unit 408, intra prediction image generation unit 410, inter prediction image generation unit 411, skipped macroblock Unit 412, coding mode determination unit 413, skipped macroblock unit 507, and skipped macroblock 612 may be realized by a computer.
 その場合、この制御機能を実現するためのプログラム(画像符号化プログラム及び/又は画像復号プログラム)をコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、画像符号化装置1、画像復号装置4、画像符号化装置5又は画像復号装置6に内蔵されたコンピュータシステムであって、OS(Operating System)や周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるものであってもよい。また、このプログラムは、可搬の記録媒体やネットワークを介して流通させるに限らず、放送波を介して流通させることもできる。 In that case, a program (an image encoding program and / or an image decoding program) for realizing this control function is recorded on a computer-readable recording medium, and the program recorded on the recording medium is read into a computer system. , May be realized by executing. Here, the “computer system” is a computer system built in the image encoding device 1, the image decoding device 4, the image encoding device 5, or the image decoding device 6, and includes an OS (Operating System) and peripherals. It shall include hardware such as equipment. The “computer-readable recording medium” refers to a storage device such as a flexible medium, a magneto-optical disk, a portable medium such as a ROM or a CD-ROM, and a hard disk incorporated in a computer system. Furthermore, the “computer-readable recording medium” is a medium that dynamically holds a program for a short time, such as a communication line when transmitting a program via a network such as the Internet or a communication line such as a telephone line, In this case, a volatile memory inside a computer system that serves as a server or a client may be included that holds a program for a certain period of time. The program may be a program for realizing a part of the functions described above, and may be a program capable of realizing the functions described above in combination with a program already recorded in the computer system. Further, this program is not limited to being distributed via a portable recording medium or a network, but can also be distributed via a broadcast wave.
 上述の画像符号化プログラムは、画素毎の輝度値からなる画像を構成する一部の領域であるマクロブロック毎に、スキップト・マクロブロックモードによって上記画像の符号化を行う画像符号化処理を、コンピュータに実行させるための画像符号化プログラムである。この画像符号化処理は、1つのマクロブロックを、画素毎の視点からの距離を示す深度値からなるデプスマップのうち上記1つのマクロブロックに対応する領域であるデプスマクロブロックのパーティションに従って、複数のパーティションに分割し、そのパーティション毎に予測ベクトルを生成し、スキップト・マクロブロックモードによって符号化する画像符号化ステップを有する。その他の応用例については、画像符号化装置について説明した通りである。 The above-described image encoding program performs an image encoding process for encoding the image in a skipped macroblock mode for each macroblock that is a partial area constituting an image composed of luminance values for each pixel. This is an image encoding program to be executed. In this image encoding process, one macroblock is divided into a plurality of depth macroblocks according to a partition of a depth macroblock that is an area corresponding to the one macroblock in a depth map including a depth value indicating a distance from a viewpoint for each pixel. There is an image encoding step of dividing into partitions, generating a prediction vector for each partition, and encoding in a skipped macroblock mode. Other application examples are as described for the image encoding device.
 また、上述の画像復号プログラムは、後述の画像符号化方法に従い(若しくは、上述した画像符号化装置或いは画像符号化プログラムにて)スキップト・マクロブロックモードによってパーティション単位で符号化された、画素毎の輝度値からなる画像を構成する一部の領域であるマクロブロックを復号する画像復号ステップを、コンピュータに実行させるためのプログラムである。その他の応用例については、画像復号装置について説明した通りである。 In addition, the above-described image decoding program is encoded for each pixel according to the image encoding method described later (or by the above-described image encoding device or the image encoding program) in units of partitions in the skipped macroblock mode. This is a program for causing a computer to execute an image decoding step for decoding a macroblock which is a partial area constituting an image composed of luminance values. Other application examples are as described for the image decoding apparatus.
 また、上述した実施形態における画像符号化装置1、画像復号装置4、画像符号化装置5、及び画像復号装置6の一部又は全部を、LSI(Large Scale Integration)等の集積回路又はIC(Integrated Circuit)チップセットとして実現してもよい。画像符号化装置1、画像復号装置4、画像符号化装置5、及び画像復号装置6の各機能ブロックは個別にプロセッサ化してもよいし、一部又は全部を集積してプロセッサ化してもよい。また、集積回路化の手法はLSIに限らず専用回路、又は汎用プロセッサで実現してもよい。また、半導体技術の進歩によりLSIに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いてもよい。 In addition, a part or all of the image encoding device 1, the image decoding device 4, the image encoding device 5, and the image decoding device 6 in the above-described embodiment is integrated with an integrated circuit such as LSI (Large Scale Integration) or IC (Integrated). Circuit) may be realized as a chip set. Each functional block of the image encoding device 1, the image decoding device 4, the image encoding device 5, and the image decoding device 6 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.
 この画像符号化方法は、画素毎の輝度値からなる画像を構成する一部の領域であるマクロブロック毎に、画像符号化装置がスキップト・マクロブロックモードによって上記画像の符号化を行う画像符号化方法であって、画像符号化装置が、1つのマクロブロックを、画素毎の視点からの距離を示す深度値からなるデプスマップのうち上記1つのマクロブロックに対応する領域であるデプスマクロブロックのパーティションに従って、複数のパーティションに分割し、そのパーティション毎に予測ベクトルを生成し、スキップト・マクロブロックモードによって符号化する画像符号化ステップを有するものとする。その他の応用例については、画像符号化装置について説明した通りである。 In this image encoding method, image encoding is performed in which the image encoding apparatus encodes the image in a skipped macroblock mode for each macroblock, which is a partial area constituting an image composed of luminance values for each pixel. In this method, the image coding apparatus partitions one macroblock into a depth macroblock that is an area corresponding to the one macroblock in a depth map including a depth value indicating a distance from the viewpoint for each pixel. Thus, it is assumed that there is an image encoding step of dividing into a plurality of partitions, generating a prediction vector for each partition, and encoding in a skipped macroblock mode. Other application examples are as described for the image encoding device.
 また、上述の画像復号方法は、上述した画像符号化方法に従いスキップト・マクロブロックモードによってパーティション単位で符号化された、画素毎の輝度値からなる画像を構成する一部の領域であるマクロブロックを、画像復号装置が復号する画像復号ステップを有するものとする。その他の応用例については、画像復号装置について説明した通りである。 In addition, the above-described image decoding method uses a macroblock that is a partial area constituting an image composed of luminance values for each pixel, encoded in units of partitions in the skipped macroblock mode according to the above-described image encoding method. The image decoding apparatus includes an image decoding step for decoding. Other application examples are as described for the image decoding apparatus.
1,5…画像符号化装置、2…画像前置処理部、3a、3b…撮影装置、4,6…画像復号装置、101…テクスチャ画像入力部、102…デプスマップ符号化部、103…パーティションサイズメモリ、104…参照画像メモリ、105…イントラ予測部、106…インター予測部、107…スキップト・マクロブロック部、108…符号化モード判定部、109…動きベクトルメモリ、110…予測ベクトル生成部、111、112…減算部、113…DCT変換・量子化部、114…逆量子化・逆DCT変換部、115…加算部、116…情報源符号化部、401…情報源復号部、402…デプスマップ復号部、403…パーティションサイズメモリ、404…加算部、405…動きベクトルメモリ、406…予測ベクトル生成部、407…逆量子化・逆DCT変換部、408…加算部、409…参照画像メモリ、410…イントラ予測画像生成部、411…インター予測画像生成部、412…スキップト・マクロブロック部、413…符号化モード決定部、414…画像出力部、502…デプスマップ符号化部、503…デプスマップメモリ、507…スキップト・マクロブロック部、602…デプスマップ復号部、603…デプスマップメモリ、612…スキップト・マクロブロック部、1071…スキップト・マクロブロック用予測ベクトル生成部、1072…予測マクロブロック生成部、5071…エッジ画像生成部、5072…スキップト・マクロブロック用予測ベクトル生成部、5073…予測マクロブロック生成部。 DESCRIPTION OF SYMBOLS 1,5 ... Image coding apparatus, 2 ... Image pre-processing part, 3a, 3b ... Imaging | photography apparatus, 4,6 ... Image decoding apparatus, 101 ... Texture image input part, 102 ... Depth map coding part, 103 ... Partition Size memory 104 ... Reference image memory 105 ... Intra prediction unit 106 ... Inter prediction unit 107 107 Skipped macroblock unit 108 ... Coding mode determination unit 109 109 Motion vector memory 110 110 Prediction vector generation unit 111, 112 ... subtracting unit, 113 ... DCT transform / quantization unit, 114 ... inverse quantization / inverse DCT transform unit, 115 ... addition unit, 116 ... information source coding unit, 401 ... information source decoding unit, 402 ... depth Map decoding unit, 403 ... partition size memory, 404 ... addition unit, 405 ... motion vector memory, 406 ... prediction vector generation unit, 4 DESCRIPTION OF SYMBOLS 7 ... Dequantization / inverse DCT conversion part, 408 ... Addition part, 409 ... Reference image memory, 410 ... Intra prediction image generation part, 411 ... Inter prediction image generation part, 412 ... Skipped macroblock part, 413 ... Encoding Mode decision unit, 414 ... Image output unit, 502 ... Depth map encoding unit, 503 ... Depth map memory, 507 ... Skipped macroblock unit, 602 ... Depth map decoding unit, 603 ... Depth map memory, 612 ... Skipped macro Block unit, 1071... Skipped macroblock prediction vector generation unit, 1072... Prediction macroblock generation unit, 5071. Edge image generation unit, 5072... Skipped macroblock prediction vector generation unit, 5073.

Claims (10)

  1.  画素毎の輝度値からなる画像を構成する一部の領域であるマクロブロック毎に、画像符号化装置がスキップト・マクロブロックモードによって前記画像の符号化を行う画像符号化方法であって、
     前記画像符号化装置が、1つのマクロブロックを、画素毎の視点からの距離を示す深度値からなるデプスマップのうち前記1つのマクロブロックに対応する領域であるデプスマクロブロックのパーティションに従って、複数のパーティションに分割し、前記パーティション毎に予測ベクトルを生成し、スキップト・マクロブロックモードによって符号化する画像符号化ステップを有することを特徴とする画像符号化方法。
    An image encoding method in which an image encoding device encodes the image in a skipped macroblock mode for each macroblock that is a partial area constituting an image composed of luminance values for each pixel,
    The image encoding device includes a plurality of macroblocks according to a partition of a depth macroblock that is an area corresponding to the one macroblock in a depth map including a depth value indicating a distance from a viewpoint for each pixel. An image encoding method comprising: an image encoding step of dividing into partitions, generating a prediction vector for each partition, and encoding in a skipped macroblock mode.
  2.  前記画像符号化ステップは、
     前記デプスマクロブロックを符号化した際に用いられたパーティションのサイズに基づいて、前記1つのマクロブロックを複数のパーティションに分割するステップと、
     前記パーティション毎に、前記1つのマクロブロックに隣接する隣接マクロブロックの動きベクトルと、前記パーティションに隣接する隣接パーティションについて既に算出された予測ベクトルとに基づき、前記パーティションの予測ベクトルを算出する算出ステップとを有することを特徴とする請求項1に記載の画像符号化方法。
    The image encoding step includes:
    Dividing the one macroblock into a plurality of partitions based on the size of the partition used when the depth macroblock was encoded;
    For each partition, a calculation step of calculating a prediction vector of the partition based on a motion vector of an adjacent macroblock adjacent to the one macroblock and a prediction vector already calculated for an adjacent partition adjacent to the partition; The image encoding method according to claim 1, further comprising:
  3.  前記算出ステップは、
     前記パーティション毎に、前記パーティションの左と上と右上に隣接する、隣接パーティションの予測ベクトル又は隣接マクロブロックの動きベクトルについての中央値を、前記パーティションの予測ベクトルとして算出することを特徴とする請求項2に記載の画像符号化方法。
    The calculating step includes:
    The median value of a prediction vector of an adjacent partition or a motion vector of an adjacent macroblock adjacent to the left, top, and right of the partition for each partition is calculated as the prediction vector of the partition. 3. The image encoding method according to 2.
  4.  前記画像符号化ステップは、
     前記デプスマップのブロックからエッジ成分を検出するステップと、
     検出したエッジ成分に基づいて前記1つのマクロブロックを複数のパーティションに分割するステップと、
     前記パーティション毎に、前記1つのマクロブロックに隣接する隣接マクロブロックの動きベクトルと、前記パーティションに隣接する隣接パーティションについて既に算出された予測ベクトルとに基づき、前記パーティションの予測ベクトルを算出する算出ステップとを有することを特徴とする請求項1に記載の画像符号化方法。
    The image encoding step includes:
    Detecting an edge component from the block of the depth map;
    Dividing the one macroblock into a plurality of partitions based on the detected edge components;
    For each partition, a calculation step of calculating a prediction vector of the partition based on a motion vector of an adjacent macroblock adjacent to the one macroblock and a prediction vector already calculated for an adjacent partition adjacent to the partition; The image encoding method according to claim 1, further comprising:
  5.  前記算出ステップは、
     前記パーティション毎に、前記パーティションの左と上と右上に隣接する、隣接パーティション及び隣接マクロブロックの中から、最も前記パーティションと接する面積の広い、隣接パーティションの予測ベクトル又は隣接マクロブロックの動きベクトルを、前記パーティションの予測ベクトルとすることを特徴とする請求項4に記載の画像符号化方法。
    The calculating step includes:
    For each partition, a prediction vector of a neighboring partition or a motion vector of a neighboring macroblock having the largest area in contact with the partition among neighboring partitions and neighboring macroblocks adjacent to the left, top, and right of the partition, The image encoding method according to claim 4, wherein the prediction vector of the partition is used.
  6.  画素毎の輝度値からなる画像を構成する一部の領域であるマクロブロック毎に、スキップト・マクロブロックモードによって前記画像の符号化を行う画像符号化装置であって、
     1つのマクロブロックを、画素毎の視点からの距離を示す深度値からなるデプスマップのうち前記1つのマクロブロックに対応する領域であるデプスマクロブロックのパーティションに従って、複数のパーティションに分割し、前記パーティション毎に予測ベクトルを生成し、スキップト・マクロブロックモードによって符号化する画像符号化手段を備えたことを特徴とする画像符号化装置。
    An image encoding device that encodes the image in a skipped macroblock mode for each macroblock that is a partial area constituting an image composed of luminance values for each pixel,
    One macroblock is divided into a plurality of partitions according to a partition of a depth macroblock which is an area corresponding to the one macroblock in a depth map including a depth value indicating a distance from a viewpoint for each pixel, and the partition An image coding apparatus comprising image coding means for generating a prediction vector for each time and coding in a skipped macroblock mode.
  7.  画素毎の輝度値からなる画像を構成する一部の領域であるマクロブロック毎に、スキップト・マクロブロックモードによって前記画像の符号化を行う画像符号化処理を、コンピュータに実行させるための画像符号化プログラムであって、
     前記画像符号化処理は、1つのマクロブロックを、画素毎の視点からの距離を示す深度値からなるデプスマップのうち前記1つのマクロブロックに対応する領域であるデプスマクロブロックのパーティションに従って、複数のパーティションに分割し、前記パーティション毎に予測ベクトルを生成し、スキップト・マクロブロックモードによって符号化する画像符号化ステップを有することを特徴とする画像符号化プログラム。
    Image coding for causing a computer to execute image coding processing for coding the image in a skipped macroblock mode for each macroblock which is a partial area constituting an image composed of luminance values for each pixel A program,
    In the image encoding process, one macroblock is divided into a plurality of depth macroblocks according to partitions of a depth macroblock that is an area corresponding to the one macroblock in a depth map including a depth value indicating a distance from a viewpoint for each pixel. An image encoding program comprising an image encoding step of dividing into partitions, generating a prediction vector for each partition, and encoding in a skipped macroblock mode.
  8.  請求項1~5のいずれか1項に記載の画像符号化方法に従いスキップト・マクロブロックモードによってパーティション単位で符号化された、画素毎の輝度値からなる画像を構成する一部の領域であるマクロブロックを、画像復号装置が復号する画像復号ステップを有することを特徴とする画像復号方法。 A macro that is a partial area constituting an image composed of luminance values for each pixel, encoded in units of partitions in the skipped macroblock mode according to the image encoding method according to any one of claims 1 to 5. An image decoding method comprising: an image decoding step in which an image decoding apparatus decodes a block.
  9.  請求項1~5のいずれか1項に記載の画像符号化方法に従いスキップト・マクロブロックモードによってパーティション単位で符号化された、画素毎の輝度値からなる画像を構成する一部の領域であるマクロブロックを復号する画像復号手段を備えたことを特徴とする画像復号装置。 A macro that is a partial area constituting an image composed of luminance values for each pixel, encoded in units of partitions in the skipped macroblock mode according to the image encoding method according to any one of claims 1 to 5. An image decoding apparatus comprising image decoding means for decoding a block.
  10.  請求項1~5のいずれか1項に記載の画像符号化方法に従いスキップト・マクロブロックモードによってパーティション単位で符号化された、画素毎の輝度値からなる画像を構成する一部の領域であるマクロブロックを復号する画像復号ステップを、コンピュータに実行させるための画像復号プログラム。 A macro that is a partial area constituting an image composed of luminance values for each pixel, encoded in units of partitions in the skipped macroblock mode according to the image encoding method according to any one of claims 1 to 5. An image decoding program for causing a computer to execute an image decoding step for decoding a block.
PCT/JP2012/068776 2011-09-05 2012-07-25 Image encoding method, image decoding method, and apparatuses and programs thereof WO2013035452A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2011-192521 2011-09-05
JP2011192521 2011-09-05

Publications (1)

Publication Number Publication Date
WO2013035452A1 true WO2013035452A1 (en) 2013-03-14

Family

ID=47831904

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/068776 WO2013035452A1 (en) 2011-09-05 2012-07-25 Image encoding method, image decoding method, and apparatuses and programs thereof

Country Status (1)

Country Link
WO (1) WO2013035452A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010041856A2 (en) * 2008-10-06 2010-04-15 Lg Electronics Inc. A method and an apparatus for processing a video signal
JP2011511597A (en) * 2008-02-05 2011-04-07 トムソン ライセンシング Method and apparatus for implicit block partitioning in video encoding and decoding
WO2011048903A1 (en) * 2009-10-20 2011-04-28 シャープ株式会社 Video encoding device, video decoding device, and data structure
JP2011519227A (en) * 2008-04-25 2011-06-30 トムソン ライセンシング Depth signal encoding
JP2011519226A (en) * 2008-04-25 2011-06-30 トムソン ライセンシング Inter-view skip mode using depth

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011511597A (en) * 2008-02-05 2011-04-07 トムソン ライセンシング Method and apparatus for implicit block partitioning in video encoding and decoding
JP2011519227A (en) * 2008-04-25 2011-06-30 トムソン ライセンシング Depth signal encoding
JP2011519226A (en) * 2008-04-25 2011-06-30 トムソン ライセンシング Inter-view skip mode using depth
WO2010041856A2 (en) * 2008-10-06 2010-04-15 Lg Electronics Inc. A method and an apparatus for processing a video signal
WO2011048903A1 (en) * 2009-10-20 2011-04-28 シャープ株式会社 Video encoding device, video decoding device, and data structure

Similar Documents

Publication Publication Date Title
JP6615287B2 (en) Image decoding device
JP6261660B2 (en) Image encoding device, image decoding device, image encoding method, and image decoding method
JP6072678B2 (en) Image encoding device, image encoding method, image encoding program, image decoding device, image decoding method, and image decoding program
TWI608728B (en) Image decoding device, image decoding method, image coding device, image coding method, coding data
JP6789256B2 (en) Image coding device, moving image coding method, moving image decoding device and moving image decoding method
TW201340724A (en) Disparity vector prediction in video coding
JP2014123988A (en) Image decoder and image decoding method
JP6307152B2 (en) Image encoding apparatus and method, image decoding apparatus and method, and program thereof
WO2014163200A1 (en) Color image encoding apparatus, color image decoding apparatus, color image encoding method, and color image decoding method
WO2012043541A1 (en) Prediction vector generation method, image encoding method, image decoding method, prediction vector generation device, image encoding device, image decoding device, prediction vector generation program, image encoding program, and image decoding program
JP6039178B2 (en) Image encoding apparatus, image decoding apparatus, method and program thereof
CN113615194B (en) DMVR using decimated prediction blocks
WO2012161318A1 (en) Image encoding device, image decoding device, image encoding method, image decoding method and program
JP2013106337A (en) Image encoding method, image decoding method image encoder, image decoder and program
KR102630798B1 (en) SBTMVP-based image or video coding
JP6386466B2 (en) Video encoding apparatus and method, and video decoding apparatus and method
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
RU2790325C2 (en) Method and device for inter-frame prediction based on the fusion mode
WO2013077305A1 (en) Image decoding device, image decoding method, image coding device
JP2013153336A (en) Image encoding method, image decoding method, image encoding device, image encoding program, image decoding device, and image decoding program
JP6232117B2 (en) Image encoding method, image decoding method, and recording medium
JP2013179554A (en) Image encoding device, image decoding device, image encoding method, image decoding method, and program
JP2012124946A (en) Prediction vector generating method, image encoding method, image decoding method, prediction vector generator, image encoder, image decoder, prediction vector generating program, image encoding program 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: 12830841

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP