WO2013015118A1 - Image processing apparatus and method - Google Patents

Image processing apparatus and method Download PDF

Info

Publication number
WO2013015118A1
WO2013015118A1 PCT/JP2012/067718 JP2012067718W WO2013015118A1 WO 2013015118 A1 WO2013015118 A1 WO 2013015118A1 JP 2012067718 W JP2012067718 W JP 2012067718W WO 2013015118 A1 WO2013015118 A1 WO 2013015118A1
Authority
WO
WIPO (PCT)
Prior art keywords
unit
motion vector
address
prediction
image
Prior art date
Application number
PCT/JP2012/067718
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 WO2013015118A1 publication Critical patent/WO2013015118A1/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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • H04N19/433Hardware specially adapted for motion estimation or compensation characterised by techniques for memory access

Definitions

  • the present disclosure relates to an image processing apparatus and method, and more particularly, to an image processing apparatus and method capable of reducing memory access.
  • MPEG2 (ISO / IEC 13818-2) is defined as a general-purpose image encoding system, and is a standard that covers both interlaced scanning images and progressive scanning images, as well as standard resolution images and high-definition images.
  • MPEG2 is currently widely used in a wide range of applications for professional and consumer applications.
  • a code amount (bit rate) of 4 to 8 Mbps is assigned to an interlaced scanned image having a standard resolution of 720 ⁇ 480 pixels.
  • a high resolution interlaced scanned image having 1920 ⁇ 1088 pixels is assigned a code amount (bit rate) of 18 to 22 Mbps.
  • bit rate code amount
  • MPEG2 was mainly intended for high-quality encoding suitable for broadcasting, but it did not support encoding methods with a lower code amount (bit rate) than MPEG1, that is, a higher compression rate. With the widespread use of mobile terminals, the need for such an encoding system is expected to increase in the future, and the MPEG4 encoding system has been standardized accordingly. Regarding the image coding system, the standard was approved as an international standard in December 1998 as ISO / IEC 14496-2.
  • H.264 and MPEG-4 Part 10 Advanced Video Coding, hereinafter referred to as H.264 / AVC.
  • the present disclosure has been made in view of such a situation, and can reduce memory access when reading out motion vectors that are temporally different from surrounding motion vectors.
  • the pixel position on the lower right in the divided region obtained by dividing the image indicated by the address calculated when obtaining the prediction vector of temporal correlation is outside the region of the current decoding unit.
  • the lower right pixel position in the divided region obtained by dividing the image indicated by the address calculated when the image processing apparatus obtains the prediction vector of the time correlation is the current decoding. If it is outside the unit area, the address is corrected so as to return the pixel position to the current decoding unit area, and a motion vector corresponding to the divided area indicated by the corrected address is calculated as the time correlation prediction.
  • the image is set as a vector, and the image is generated by decoding the bitstream using the motion vector generated using the set temporal correlation prediction vector.
  • the lower right pixel position in the divided region obtained by dividing the image indicated by the address calculated when the prediction vector of the temporal correlation is obtained is the current encoding unit region. If it is outside, an address correction unit that corrects the address so as to return the pixel position to the region of the current coding unit, and a motion vector corresponding to the divided region indicated by the address corrected by the address correction unit.
  • the lower right pixel position in the divided region obtained by dividing the image indicated by the address calculated when the image processing apparatus obtains the prediction vector of the time correlation is the current code. If it is outside the area of the encoding unit, the address is corrected so as to return the pixel position to the area of the current encoding unit, and a motion vector corresponding to the divided area indicated by the corrected address is set to the time.
  • the prediction image is set as a correlation prediction vector, and the image is encoded using a prediction image predicted from a motion vector corresponding to the set temporal correlation prediction vector.
  • An image processing apparatus includes a first address calculated when obtaining a temporal correlation prediction vector, and an upper left pixel position of a divided region into which the image is divided, which is indicated by the first address.
  • the second address calculated when the prediction unit area including the same is the same as the intra area
  • the second address is corrected to indicate the adjacent divided area adjacent to the divided area
  • An address correction unit configured to set the motion vector corresponding to the adjacent divided region indicated by the address corrected by the address correction unit as the prediction vector of the time correlation, and the time correlation set by the setting unit.
  • a decoding unit that generates a picture by decoding a bitstream using a motion vector generated using the prediction vector.
  • An image processing method includes a first address calculated when the image processing apparatus obtains a prediction vector of temporal correlation, and a divided region obtained by dividing the image indicated by the first address.
  • the second unit address calculated when the prediction unit region including the upper left pixel position is intra is the same as the second divided region, the second divided region is adjacent to the divided region.
  • the motion vector corresponding to the adjacent divided area indicated by the corrected address is set as the temporal correlation prediction vector, and the motion vector generated using the set temporal correlation prediction vector Is used to decode the bitstream to generate the image.
  • An image processing apparatus includes a first address calculated when obtaining a prediction vector of time correlation, and a pixel position at the upper left of a divided region obtained by dividing the image, which is indicated by the first address
  • the second address is corrected to indicate the adjacent divided area adjacent to the divided area
  • An address correction unit configured to set the motion vector corresponding to the adjacent divided region indicated by the address corrected by the address correction unit as the prediction vector of the time correlation, and the time correlation set by the setting unit.
  • An encoding unit that encodes the image using a predicted image predicted from a motion vector corresponding to the predicted vector.
  • An image processing method includes a first address calculated when the image processing apparatus obtains a temporal correlation prediction vector and a divided region obtained by dividing the image indicated by the first address.
  • the second unit address calculated when the prediction unit region including the upper left pixel position is intra is the same as the second divided region, the second divided region is adjacent to the divided region.
  • the motion vector corresponding to the adjacent divided region indicated by the corrected address is set as the prediction vector of the time correlation, and is predicted from the motion vector corresponding to the set prediction vector of the time correlation.
  • the image is encoded using the predicted image.
  • the image processing device when the region of the prediction unit including the pixel position at the upper left of the current divided region obtained by dividing the image is an intra, the image processing device is adjacent to the pixel position.
  • a motion vector of a region of a different prediction unit including an adjacent pixel position or a motion vector of a region of another prediction unit included in the current divided region is selected, and the selected motion vector corresponds to the current divided region.
  • the motion vector is set as a motion vector, and the image is generated by decoding the bitstream using the motion vector generated using the set prediction vector of the time correlation.
  • the image processing device includes an adjacent pixel position adjacent to the pixel position when the prediction unit area including the upper left pixel position of the current divided area obtained by dividing the image is an intra.
  • a motion vector of a different prediction unit region or a motion vector of another prediction unit region included in the current divided region and sets the selected motion vector as a motion vector corresponding to the current divided region A setting unit; and an encoding unit that encodes the image using a predicted image predicted from a motion vector corresponding to the temporal correlation prediction vector set by the setting unit.
  • the address is corrected so that the pixel position is pulled back into the region of the current decoding unit, and a motion vector corresponding to the divided region indicated by the corrected address is set as the prediction vector of the time correlation. Then, the motion vector generated using the read prediction vector of the time correlation is used to decode the bit stream to generate the image.
  • the lower right pixel position in the divided region obtained by dividing the image indicated by the address calculated when obtaining the prediction vector of the temporal correlation is outside the region of the current coding unit.
  • the address is corrected so that the pixel position is pulled back into the area of the current coding unit, and a motion vector stored corresponding to the divided area indicated by the corrected address is the prediction vector of the time correlation.
  • the image is encoded using a predicted image predicted from a motion vector corresponding to the set temporal correlation prediction vector.
  • a first address calculated when obtaining a temporal correlation prediction vector and a pixel position at the upper left of a divided region obtained by dividing the image indicated by the first address are included.
  • the second address calculated when the prediction unit area is intra is the same, the second address is corrected so as to indicate an adjacent divided area adjacent to the divided area.
  • a motion vector stored corresponding to the adjacent divided region indicated by the address is set as the temporal correlation prediction vector. Then, the image is generated by decoding the bitstream using the motion vector generated using the set temporal correlation prediction vector.
  • a first address calculated when obtaining a prediction vector of temporal correlation and a pixel position at the upper left of the divided region obtained by dividing the image indicated by the first address are included.
  • the second address calculated when the prediction unit area is intra is the same, the second address is corrected so as to indicate an adjacent divided area adjacent to the divided area.
  • a motion vector stored corresponding to the adjacent divided region indicated by the address is set as the temporal correlation prediction vector.
  • the image is encoded using a predicted image predicted from a motion vector corresponding to the set temporal correlation prediction vector.
  • the different prediction including the adjacent pixel position adjacent to the pixel position A motion vector of a unit region or a motion vector of another prediction unit region included in the current divided region is selected, and the selected motion vector is set as a motion vector corresponding to the current divided region. Then, the image is generated by decoding the bitstream using the motion vector generated using the set temporal correlation prediction vector.
  • the above-described image processing apparatus may be an independent apparatus, or may be an internal block constituting one image encoding apparatus or image decoding apparatus.
  • an image can be processed.
  • memory access can be reduced.
  • FIG. 20 is a block diagram illustrating a main configuration example of a computer. It is a block diagram which shows an example of a schematic structure of a television apparatus. It is a block diagram which shows an example of a schematic structure of a mobile telephone. It is a block diagram which shows an example of a schematic structure of a recording / reproducing apparatus. It is a block diagram which shows an example of a schematic structure of an imaging device.
  • FIG. 1 illustrates a configuration of an embodiment of an image encoding device as an image processing device to which the present disclosure is applied.
  • the image encoding device 100 includes an A / D (Analog / Digital) conversion unit 101, a screen rearrangement buffer 102, a calculation unit 103, an orthogonal transformation unit 104, a quantization unit 105, and a lossless encoding unit 106. And a storage buffer 107.
  • the image encoding device 100 includes an inverse quantization unit 108, an inverse orthogonal transform unit 109, a calculation unit 110, a deblock filter 111, a frame memory 112, a selection unit 113, an intra prediction unit 114, a motion prediction / compensation unit 115, A selection unit 116 and a rate control unit 117 are included.
  • the image encoding device 100 further includes a motion vector difference generation unit 121 and a motion vector storage memory 122.
  • the A / D conversion unit 101 performs A / D conversion on the input image data, outputs it to the screen rearrangement buffer 102, and stores it.
  • the screen rearrangement buffer 102 rearranges the stored frame images in the display order in the order of frames for encoding in accordance with the GOP (Group of Picture) structure.
  • the screen rearrangement buffer 102 supplies the image with the rearranged frame order to the arithmetic unit 103.
  • the screen rearrangement buffer 102 also supplies the image in which the order of the frames is rearranged to the intra prediction unit 114 and the motion prediction / compensation unit 115.
  • the calculation unit 103 subtracts the prediction image supplied from the intra prediction unit 114 or the motion prediction / compensation unit 115 via the selection unit 116 from the image read from the screen rearrangement buffer 102, and orthogonalizes the difference information.
  • the data is output to the conversion unit 104.
  • the calculation unit 103 subtracts the prediction image supplied from the intra prediction unit 114 from the image read from the screen rearrangement buffer 102.
  • the arithmetic unit 103 subtracts the predicted image supplied from the motion prediction / compensation unit 115 from the image read from the screen rearrangement buffer 102.
  • the orthogonal transform unit 104 performs orthogonal transform such as discrete cosine transform and Karhunen-Loeve transform on the difference information supplied from the computation unit 103 and supplies the transform coefficient to the quantization unit 105.
  • the quantization unit 105 quantizes the transform coefficient output from the orthogonal transform unit 104.
  • the quantization unit 105 supplies the quantized transform coefficient to the lossless encoding unit 106.
  • the lossless encoding unit 106 performs lossless encoding such as variable length encoding and arithmetic encoding on the quantized transform coefficient.
  • the lossless encoding unit 106 acquires information indicating the intra prediction mode or information indicating the inter prediction mode, motion vector difference information, and the like from the motion vector difference generation unit 121. Although not shown, reference picture information and the like are acquired from the motion prediction / compensation unit 115.
  • the lossless encoding unit 106 encodes the quantized transform coefficient and also transmits information such as intra prediction mode information, inter prediction mode information, reference picture information, and motion vector difference information, as header information of encoded data. As a part of (multiplex).
  • the lossless encoding unit 106 supplies the encoded data obtained by encoding to the accumulation buffer 107 for accumulation.
  • the lossless encoding unit 106 performs lossless encoding processing such as variable length encoding or arithmetic encoding.
  • lossless encoding processing such as variable length encoding or arithmetic encoding.
  • variable length coding include CAVLC (Context-Adaptive Variable Length Coding).
  • arithmetic coding include CABAC (Context-Adaptive Binary Arithmetic Coding).
  • the transform coefficient quantized by the quantization unit 105 is also supplied to the inverse quantization unit 108.
  • the inverse quantization unit 108 inversely quantizes the quantized transform coefficient by a method corresponding to the quantization by the quantization unit 105.
  • the inverse quantization unit 108 supplies the obtained transform coefficient to the inverse orthogonal transform unit 109.
  • the inverse orthogonal transform unit 109 performs inverse orthogonal transform on the supplied transform coefficient by a method corresponding to the orthogonal transform processing by the orthogonal transform unit 104.
  • the inversely orthogonal transformed output (restored difference information) is supplied to the calculation unit 110.
  • the calculation unit 110 uses the inverse prediction unit 114 or the motion prediction / compensation unit 115 via the selection unit 116 for the inverse orthogonal transformation result supplied from the inverse orthogonal transformation unit 109, that is, the restored difference information.
  • the images are added to obtain a locally decoded image (decoded image).
  • the calculation unit 110 adds the prediction image supplied from the intra prediction unit 114 to the difference information.
  • the calculation unit 110 adds the predicted image supplied from the motion prediction / compensation unit 115 to the difference information.
  • the addition result is supplied to the deblock filter 111 and the frame memory 112.
  • the deblocking filter 111 removes block distortion of the decoded image by appropriately performing deblocking filter processing.
  • the frame memory 112 outputs the stored reference image to the intra prediction unit 114 or the motion prediction / compensation unit 115 via the selection unit 113 at a predetermined timing.
  • the frame memory 112 supplies the reference image to the intra prediction unit 114 via the selection unit 113.
  • the frame memory 112 supplies the reference image to the motion prediction / compensation unit 115 via the selection unit 113.
  • the selection unit 113 supplies the reference image to the intra prediction unit 114 when the reference image supplied from the frame memory 112 is an image to be subjected to intra coding. Further, when the reference image supplied from the frame memory 112 is an image to be subjected to inter coding, the selection unit 113 supplies the reference image to the motion prediction / compensation unit 115.
  • the intra prediction unit 114 performs intra prediction (intra-screen prediction) that generates a predicted image using pixel values in the screen.
  • the intra prediction unit 114 performs intra prediction in a plurality of modes (intra prediction modes).
  • the intra prediction unit 114 generates predicted images in all intra prediction modes, obtains cost function values, evaluates each predicted image, and selects an optimal intra mode.
  • the intra prediction unit 114 supplies the prediction image generated in the optimal intra mode to the selection unit 116, and the cost function value of the optimal intra mode (hereinafter referred to as an intra cost function value). Is supplied to the motion vector difference generation unit 121.
  • the motion prediction / compensation unit 115 uses the input image supplied from the screen rearrangement buffer 102 and the reference image supplied from the frame memory 112 via the selection unit 113 for the image to be inter-coded, Motion prediction is performed for all inter prediction modes. Then, the motion prediction / compensation unit 115 performs motion compensation processing according to the detected motion vector, and generates a prediction image (inter prediction image information).
  • the motion prediction / compensation unit 115 evaluates each prediction image by selecting cost function values for all inter prediction modes, and selects an optimal inter mode. When selecting the optimal inter mode, the motion prediction / compensation unit 115 supplies the prediction image generated in the optimal inter mode to the selection unit 116. In addition, the motion prediction / compensation unit 115 includes the cost function value of the optimal inter mode (hereinafter referred to as an inter cost function value), motion vector information, division information of a coding unit region (CU) to be processed, and address information. , Size information, and the like are supplied to the motion vector difference generation unit 121.
  • an inter cost function value the cost function value of the optimal inter mode
  • the selection unit 116 supplies the output of the intra prediction unit 114 to the calculation unit 103 and the calculation unit 110 in the case of an image on which intra coding is performed, corresponding to the information from the motion vector difference generation unit 121.
  • the selection unit 116 supplies the output of the motion prediction / compensation unit 115 to the calculation unit 103 and the calculation unit 110 in the case of an image to be inter-coded in response to the information from the motion vector difference generation unit 121.
  • the rate control unit 117 controls the quantization operation rate of the quantization unit 105 based on the compressed image stored in the storage buffer 107 so that overflow or underflow does not occur.
  • the motion vector difference generation unit 121 uses the information from the motion prediction / compensation unit 115 to generate spatial correlation prediction vector information and temporal correlation prediction vector information from the motion vector information of the peripheral region around the target prediction region.
  • the motion vector generation unit 221 uses the motion vector information stored in the motion vector storage memory 122 to generate temporal correlation prediction vector information.
  • the spatial correlation prediction vector is also referred to as a spatial prediction vector
  • the temporal correlation prediction vector is also referred to as a temporal prediction vector as appropriate.
  • the motion vector difference generation unit 121 generates motion vector difference information that is a difference between the generated prediction vector information and the motion vector information from the motion prediction / compensation unit 115. In addition, the motion vector difference generation unit 121 determines an optimum mode using the intra cost function value from the intra prediction unit 114 and the inter cost function value from the motion prediction / compensation unit 115. The motion vector difference generation unit 121 supplies the determined optimal mode information to the selection unit 116.
  • the motion vector difference generation unit 121 stores the motion vector information of the optimal mode in the motion vector storage memory 122.
  • the motion vector difference generation unit 121 supplies the generated motion vector difference information to the lossless encoding unit 106 together with the optimal mode information.
  • the motion vector storage memory 122 stores motion vector information stored by the motion vector difference generation unit 121 and used when the motion vector difference generation unit 121 generates a temporal correlation prediction vector. .
  • H.264 / AVC format it is possible to divide one macro block into a plurality of motion compensation blocks and to have different motion information for each. That is, H. In the H.264 / AVC format, a hierarchical structure is defined by macroblocks and sub-macroblocks. For example, in the High Efficiency Video Coding (HEVC) format, as shown in FIG. 2, a coding unit (CU (Coding) Unit)).
  • HEVC High Efficiency Video Coding
  • CU is also called Coding Tree Block (CTB).
  • CTB Coding Tree Block
  • This is an area (partial area of an image in picture units) serving as an encoding (decoding) processing unit that plays the same role as a macroblock in the H.264 / AVC format.
  • the latter is fixed to a size of 16 ⁇ 16 pixels, whereas the size of the former is not fixed, and is specified in the image compression information in each sequence.
  • the maximum size (LCU (Largest Coding Unit)) and the minimum size ((SCU (Smallest Coding Unit)) are specified. Is done.
  • the LCU size is 128 and the maximum hierarchical depth is 5.
  • split_flag is “1”
  • the 2N ⁇ 2N size CU is divided into N ⁇ N size CUs that are one level below.
  • the CU is divided into prediction units (Prediction Units (PU)) that are regions (partial regions of images in units of pictures) that are processing units of intra or inter prediction, and are regions that are processing units of orthogonal transformation It is divided into transform units (Transform Unit (TU)), which is (a partial area of an image in units of pictures).
  • Prediction Units PU
  • transform Unit Transform Unit
  • H In the case of an encoding method in which a CU is defined and various processes are performed in units of the CU as in the HEVC method above, H. It can be considered that a macroblock in the H.264 / AVC format corresponds to an LCU. However, since the CU has a hierarchical structure as shown in FIG. 2, the size of the LCU in the highest hierarchy is H.264, for example, 128 ⁇ 128 pixels. Generally, it is set larger than the macroblock of the H.264 / AVC format.
  • This disclosure is not limited to coding schemes that use CU, PU, TU, etc. as in the HEVC scheme, but also H.264.
  • the present invention can also be applied to an encoding method using macroblocks in the H.264 / AVC format. That is, since both the unit and the block indicate a region serving as a processing unit, the following description will be made using the term “processing unit region” so as to include both as appropriate.
  • the unit indicates a region as a processing unit.
  • the H.264 / AVC format it is a block.
  • the merge mode In the merge mode, a total of five vectors of the vector information of these four spatial positions and vector information of the Colocated picture (ColPU vector information) are set as candidates for the target PU, and RD (rate-distortion) is selected from the candidates. In this mode, the optimal vector is used.
  • the Colocated picture is also referred to as ColPic.
  • ColPU is a PU that is spatially the same position as the target PU in a previously encoded or decoded picture, and is referred to as time vector information of the target PU.
  • the vector having the smallest difference (mvd) from the motion vector obtained by motion search among the six vectors of the vector information of these five spatial positions and the vector information of ColPU is the predicted motion vector.
  • the predicted motion vector is hereinafter also referred to as a predicted vector as appropriate.
  • the decoding side reconstructs the motion vector by transmitting the difference and information indicating which vector of the six vectors of the mvp index (mvp_idx) is used in the stream. be able to. Thereby, encoding performance can be improved.
  • FIG. 5 is a diagram for explaining a ColPU determination method.
  • FIG. 5A shows the first processing.
  • the upper left 4 ⁇ 4 pixel shown in A of FIG. 5 is the target PU
  • the upper left pixel position of the target PU is set to (0,0)
  • the size 4 of the target PU is added thereto
  • the PU including the pixel at the position (0,0) obtained by rounding the position 4,4) by 16 is determined as ColPU.
  • the process is performed as shown in FIG. 5B.
  • the upper left pixel position of the target PU is set to (0, 0). Then, (2,2) obtained by adding 2 which is half of the size 4 of the target PU to (0,0), and (-1), the position (1,1) decremented by 16 is rounded by 16 (0,0)
  • the PU including this pixel is determined as ColPU.
  • the ColPU described above is a PU including the upper left pixel of each divided area obtained by dividing the screen into 16 ⁇ 16 pixel units.
  • the motion vector of the PU is used as ColMV.
  • ColMV will be described in detail with reference to FIGS. 6 and 7 below.
  • N, N + 1, and N + 2 pictures are sequentially shown along the time axis t.
  • a memory in which vector information is stored is shown below the picture.
  • the vector information stored during the N process is read from the ColPU position according to the ColPU determination method at the time of processing the N + 1. .
  • the read vector information is used as ColMV in N + 1 pictures.
  • the PU motion vector including the upper left pixel of the divided area divided into 16 ⁇ 16 pixels is stored regardless of the PU size.
  • FIG. 7 a part of a picture divided into 16 ⁇ 16 pixels is shown, and below that, a vector stored in the memory is conceptually shown.
  • the upper left circle in the 16 ⁇ 16 pixel divided area indicates a pixel.
  • the divided area divided into 16 ⁇ 16 pixels in the upper left consists of four PUs, Pl0_0, Pl0_1, Pl0_2, and Pl0_3. Among them, the vector mv00 (Pl0_0) of Pl0_0 that is the PU including the upper left pixel of the divided area is stored in the memory. Saved.
  • the divided area divided into 16 ⁇ 16 pixels located below the upper left divided area is composed of two PUs Pl2_0 and Pl2_1, and of these, the vector mv01 (Pl2_0) of Pl2_0 which is the PU including the upper left pixel of the divided area Is stored in memory.
  • the divided area divided into 16 ⁇ 16 pixels located to the right of the upper left divided area is composed of one PU of Pl1_0.
  • the vector mv10 (Pl1_0) of Pl1_0 which is the PU including the upper left pixel of the divided area is the memory. Saved in.
  • the divided area divided into 16 ⁇ 16 pixels located below the divided area of Pl1_0 is composed of two PUs, Pl3_0 and Pl3_1, and of these, the vector mv11 (Pl1_0) of Pl3_0 which is the PU including the upper left pixel of the divided area Is stored in memory.
  • FIG. 8 a part of a picture divided into 16 ⁇ 16 pixels in the case of LCU 32 ⁇ 32 is shown.
  • the data (motion vector information) read out as ColPU information is a small square that is hatched.
  • the data (motion vector information) read as ColPU information is a small white square.
  • the motion vector difference generation unit 121 illustrated in FIG. 9 performs control to read data by changing the data read position when the read position exceeds the boundary of the LCU.
  • FIG. 9 is a block diagram illustrating a configuration example of the motion vector difference generation unit.
  • the motion vector difference generation unit 121 includes a motion vector difference generation control unit 131, a temporal prediction vector generation unit 132, an in-picture prediction vector generation unit 133, a peripheral motion vector storage unit 134, an optimal mode determination unit 135, and an inter / intra determination unit 136. It is comprised so that it may contain.
  • the motion prediction / compensation unit 115 supplies CU size information, CU partition information, CU address information, motion vector information, and inter cost function values to the motion vector difference generation control unit 131.
  • the motion vector difference generation control unit 131 gives a prediction vector generation instruction to the in-picture prediction vector generation unit 133 and the temporal prediction vector generation unit 132. At that time, the motion vector difference generation control unit 131 supplies CU / PU address information and CU / PU size information to the 16 ⁇ 16 address correction unit 142. The motion vector difference generation control unit 131 supplies the optimal mode determination unit 135 with the inter cost function value and the motion vector information from the motion prediction / compensation unit 115 to determine the optimal mode.
  • the temporal prediction vector generation unit 132 is a unit that generates a temporal correlation prediction vector.
  • the temporal prediction vector generation unit 132 is configured to include a 16 ⁇ 16 address generation unit 141, a 16 ⁇ 16 address correction unit 142, and a memory access control unit 143.
  • the 16 ⁇ 16 address generation unit 141 calculates the address of the 16 ⁇ 16 area to be referenced, and the calculated 16 ⁇ 16 address information is used as the 16 ⁇ 16 address correction unit 142. To supply.
  • the 16 ⁇ 16 address generation unit 141 calculates the address of the 16 ⁇ 16 area in the case of intra, and the calculated 16 ⁇ 16 address information is converted into 16 ⁇ 16 address information. It is supplied to the 16 address correction unit 142.
  • the 16 ⁇ 16 address correction unit 142 is supplied with CU / PU address information and CU / PU size information from the motion vector difference generation control unit 131.
  • the 16 ⁇ 16 address correction unit 142 is supplied with 16 ⁇ 16 address information from the 16 ⁇ 16 address generation unit 141.
  • the 16 ⁇ 16 address correction unit 142 determines whether the reference using the 16 ⁇ 16 address information from the 16 ⁇ 16 address generation unit 141 is a reference beyond the CU, using the supplied information. . When the reference is beyond the CU, the 16 ⁇ 16 address correction unit 142 corrects the 16 ⁇ 16 address information so that the reference is pulled back into the CU, and the corrected 16 ⁇ 16 address information is accessed in the memory. This is supplied to the control unit 143. If the reference is not beyond the CU, the 16 ⁇ 16 address correction unit 142 supplies the 16 ⁇ 16 address information from the 16 ⁇ 16 address generation unit 141 to the memory access control unit 143.
  • the memory access control unit 143 issues a request to the motion vector storage memory 122 to read out the PU motion vector including the upper left pixel position of the divided region corresponding to the 16 ⁇ 16 address information from the 16 ⁇ 16 address correction unit 142. Do. That is, the memory access control unit 143 sets the motion vector of the PU including the upper left pixel position of the divided region corresponding to the 16 ⁇ 16 address information from the 16 ⁇ 16 address correction unit 142 as a temporal correlation prediction vector, A request to read the set time correlation prediction vector is made. In response to this request, motion vector information is supplied from the motion vector storage memory 122 to the inter / intra determination unit 136.
  • the intra-picture prediction vector generation unit 133 reads the motion vector information stored in the peripheral motion vector storage unit 134 under the control of the motion vector difference generation control unit 131, and generates a spatial prediction vector.
  • the intra-frame prediction vector generation unit 133 supplies the spatial prediction vector information to the optimum mode determination unit 135.
  • the peripheral motion vector storage unit 134 includes a memory and stores motion vector information in the processing target picture.
  • the optimal mode determination unit 135 determines whether or not the spatial prediction vector from the in-picture prediction vector generation unit 133 and the temporal prediction vector from the inter / intra determination unit 136 can be referred to.
  • the optimum mode determination unit 135 determines a mode in which the generated bit amount of the difference from the motion vector information calculated by the motion prediction / compensation unit 115 is the smallest among the referenceable motion vectors.
  • the inter-cost function value and the motion vector information are supplied to the optimum mode determination unit 135 from the motion vector difference generation control unit 131.
  • the intra mode function value is supplied from the intra prediction unit 114 to the optimal mode determination unit 135.
  • the optimum mode determination unit 135 also uses these cost function values to determine whether the region to be processed is encoded as an intra region or an inter region.
  • the optimal mode determination unit 135 supplies the determined optimal mode information and motion vector difference information to the lossless encoding unit 106.
  • the optimal mode determination unit 135 also stores motion vector information corresponding to the optimal mode in the motion vector storage memory 122. Although not shown, the optimum mode determination unit 135 also causes the peripheral motion vector storage unit 134 to store the motion vector information.
  • the inter / intra determination unit 136 supplies the motion vector information to the optimum mode determination unit 135 as temporal prediction vector information.
  • the inter / intra determination unit 136 instructs the 16 ⁇ 16 address generation unit 141 to re-read. This re-reading instruction is performed only once.
  • FIG. 10 is a diagram illustrating a ColPU determination method in the HEVC scheme.
  • the ColPU determination method described above with reference to FIG. 10 the ColPU determination method described above with reference to FIG.
  • xPRb in the formula (1) shown in the example of FIG. 10 indicates the pixel position in the horizontal direction at the lower right of the PU.
  • YPRb in Expression (2) indicates the pixel position in the vertical direction at the lower right of the PU.
  • LCU 32 ⁇ 32 is shown.
  • the hatched area located at the lower left is the PU (16 ⁇ 16) to be processed.
  • the PU that includes the pixel that touches the lower right of the processing target PU becomes the ColPU. .
  • the 16 ⁇ 16 address correction unit 142 decrements by 1 with respect to the vertical direction of the pixel as shown in the above-described equation (3).
  • the pixel becomes a pixel included in the PU (ie, LCU) adjacent to the right of the processing target PU.
  • the PU on the right side of the processing target PU that is the PU including the upper left pixel becomes the ColPU, and the reference relationship in the same LCU can be obtained.
  • step S101 the A / D converter 101 performs A / D conversion on the input image.
  • step S102 the screen rearrangement buffer 102 stores the A / D converted image, and rearranges the picture from the display order to the encoding order.
  • step S103 the calculation unit 103 calculates the difference between the image rearranged by the process in step S102 and the predicted image.
  • the predicted image is supplied from the motion prediction / compensation unit 115 in the case of inter prediction and from the intra prediction unit 114 in the case of intra prediction to the calculation unit 103 via the selection unit 116.
  • the data amount of difference data is reduced compared to the original image data. Therefore, the data amount can be compressed as compared with the case where the image is encoded as it is.
  • step S104 the orthogonal transform unit 104 orthogonally transforms the difference information generated by the process in step S103. Specifically, orthogonal transformation such as discrete cosine transformation and Karhunen-Loeve transformation is performed, and transformation coefficients are output.
  • orthogonal transformation such as discrete cosine transformation and Karhunen-Loeve transformation is performed, and transformation coefficients are output.
  • step S107 the inverse orthogonal transform unit 109 performs inverse orthogonal transform on the orthogonal transform coefficient obtained by the process in step S106 with characteristics corresponding to the characteristics of the orthogonal transform unit 104.
  • step S108 the calculation unit 110 adds the predicted image to the locally decoded difference information, and generates a locally decoded image (an image corresponding to the input to the calculation unit 103).
  • step S109 the deblock filter 111 performs a deblock filter process on the image generated by the process in step S108. As a result, block distortion (that is, area distortion of a processing unit) is removed.
  • step S110 the frame memory 112 stores an image from which block distortion has been removed by the process in step S109. It should be noted that an image that has not been filtered by the deblocking filter 111 is also supplied from the computing unit 110 and stored in the frame memory 112.
  • the intra prediction unit 114 performs an intra prediction process in the intra prediction mode. That is, the intra prediction unit 114 generates predicted images in all intra prediction modes, obtains an intra cost function value, evaluates each predicted image, and selects an optimal intra mode. When selecting the optimal intra mode, the intra prediction unit 114 supplies the prediction image generated in the optimal intra mode to the selection unit 116, and supplies the intra cost function value of the optimal intra mode to the motion vector difference generation unit 121. To do.
  • the motion prediction / compensation unit 115 performs an inter motion prediction process for performing motion prediction and motion compensation in the inter prediction mode. That is, the motion prediction / compensation unit 115 uses the input image supplied from the screen rearrangement buffer 102 and the reference image supplied from the frame memory 112 via the selection unit 113 to perform motion for all inter prediction modes. Make a prediction. The motion prediction / compensation unit 115 performs motion compensation processing according to the detected motion vector, generates a predicted image, obtains an inter-cost function value, evaluates each predicted image, and selects an optimal inter mode. .
  • the motion prediction / compensation unit 115 supplies the prediction image generated in the optimal inter mode to the selection unit 116.
  • the motion prediction / compensation unit 115 supplies the inter-cost function value, motion vector information, information on the target region (CU), and the like of the optimal inter mode to the motion vector difference generation unit 121.
  • step S113 the motion vector difference generation unit 121 uses the information from the motion prediction / compensation unit 115 to perform a motion vector difference generation process. Details of the motion vector difference generation processing will be described later with reference to FIG.
  • step S113 motion vector difference information is generated, and an optimal mode is determined using the intra cost function value from the intra prediction unit 114 and the inter cost function value from the motion prediction / compensation unit 115.
  • the motion vector difference generation unit 121 supplies the generated motion vector difference information to the lossless encoding unit 106 together with the optimal mode information. Further, the motion vector difference generation unit 121 supplies information on the determined optimum mode to the selection unit 116.
  • the motion prediction / compensation unit 115 transmits a reference image index or the like to the lossless encoding unit 106.
  • step S114 the selection unit 116 selects the prediction image in the optimal mode based on the information supplied from the motion vector difference generation unit 121. That is, the selection unit 116 selects either the prediction image generated by the intra prediction unit 114 or the prediction image generated by the motion prediction / compensation unit 115.
  • step S115 the lossless encoding unit 106 encodes the transform coefficient quantized by the process in step S105. That is, lossless encoding such as variable length encoding or arithmetic encoding is performed on the difference image (secondary difference image in the case of inter).
  • the lossless encoding unit 106 encodes information regarding the prediction mode of the prediction image selected by the process of step S114, and adds the encoded information to the encoded data obtained by encoding the difference image. That is, the lossless encoding unit 106 also encodes mode information, motion vector difference information, and the like supplied from the motion vector difference generation unit 121 and adds them to the encoded data.
  • step S116 the accumulation buffer 107 accumulates the encoded data output from the lossless encoding unit 106.
  • the encoded data stored in the storage buffer 107 is appropriately read out and transmitted to the decoding side via the transmission path.
  • step S117 the rate control unit 117 controls the quantization operation rate of the quantization unit 105 so that overflow or underflow does not occur based on the compressed image accumulated in the accumulation buffer 107 by the process in step S116. To do.
  • step S117 ends, the encoding process ends.
  • CU size information CU partition information, CU address information, motion vector information, intercost function values, and the like are supplied to the motion vector difference generation control unit 131.
  • the motion vector difference generation control unit 131 gives a vector generation instruction to the in-picture prediction vector generation unit 133 and the temporal prediction vector generation unit 132.
  • the intra-picture prediction vector generation unit 133 generates a spatial correlation prediction vector in step S131.
  • the in-picture prediction vector generation unit 133 reads the motion vector information stored in the peripheral motion vector storage unit 134 and generates a spatial prediction vector.
  • the intra-frame prediction vector generation unit 133 supplies the spatial prediction vector information to the optimum mode determination unit 135.
  • step S132 the temporal prediction vector generation unit 132 generates a temporal correlation prediction vector. Details of this temporal correlation prediction vector generation processing will be described later with reference to FIG. 14, but temporal prediction vector information is supplied to the optimum mode determination unit 135 by the processing in step S ⁇ b> 132.
  • the inter-cost function value and the motion vector information are supplied to the optimum mode determination unit 135 from the motion vector difference generation control unit 131.
  • the intra mode function value is supplied from the intra prediction unit 114 to the optimal mode determination unit 135.
  • step S133 the optimum mode determination unit 135 determines whether or not all the surrounding areas are not referable. When at least one of the spatial prediction vector information and the temporal prediction vector information is supplied, the optimum mode determination unit 135 determines that all the surrounding areas are not referable, and the process proceeds to step S134.
  • step S134 when there is an overlapping prediction vector in the supplied spatial prediction vector information and temporal prediction vector information, the optimum mode determination unit 135 deletes it.
  • step S135 the optimum mode determination unit 135 generates motion vector difference information. That is, the optimal mode determination unit 135 performs motion vector difference information that is a difference between the motion vector information supplied from the motion vector difference generation control unit 131 and the prediction vector information for each of the supplied spatial prediction vector information and temporal prediction vector information. Is generated.
  • step S136 the optimal mode determination unit 135 determines the minimum prediction vector of the motion vector difference using the generated motion vector difference information.
  • the optimal mode determination unit 135 determines that all the surrounding areas cannot be referred to, and proceeds to step S137.
  • step S137 the optimum mode determination unit 135 generates motion vector difference information using 0 as a prediction vector.
  • step S138 the optimum mode determination unit 135 determines the optimum mode. That is, the optimal mode determination unit 135 determines an optimal mode by comparing the inter cost function value from the motion vector difference generation control unit 131 and the intra cost function value from the intra prediction unit 114.
  • the optimal mode determination unit 135 stores the motion vector information in the motion vector storage memory 122 in step S139. Specifically, as described above with reference to FIG. 7, the optimal mode determination unit 135 saves the motion vector information of the PU including the upper left pixel of the divided area for each 16 ⁇ 16 divided area as a motion vector. Save in the memory 122. This motion vector information is also stored in the peripheral motion vector storage unit 134.
  • step S140 the optimal mode determination unit 135 supplies the optimal mode information to the lossless encoding unit 106.
  • the optimal mode is the inter prediction mode
  • motion vector difference information about the optimal mode and the index (mvp_idx) of the minimum prediction vector determined in step S136 are also supplied to the lossless encoding unit 106.
  • FIG. 13 is an example in the case of obtaining the predicted motion vector mvp.
  • the processes of steps S135 and S136 are excluded from the process of FIG. 13, and the optimum one of the inter, intra, and merge modes is determined when determining the optimal mode in step S138.
  • the merge index (merge_idx) is supplied to the lossless encoding unit 106 together with the optimum mode information.
  • the process for generating the temporal correlation prediction vector in step S132 and the process for storing the motion vector in step S139 perform basically the same process. Is omitted.
  • the 16 ⁇ 16 address generation unit 141 is supplied with a prediction vector generation instruction from the motion vector difference generation control unit 131. In step S141, the 16 ⁇ 16 address generation unit 141 calculates an address of a 16 ⁇ 16 area to be referred to. The 16 ⁇ 16 address generation unit 141 supplies the calculated 16 ⁇ 16 address information to the 16 ⁇ 16 address correction unit 142.
  • the 16 ⁇ 16 address correction unit 142 is further supplied with CU / PU address information and CU / PU size information from the motion vector difference generation control unit 131.
  • step S142 the 16 ⁇ 16 address correction unit 142 uses the supplied information to determine whether the reference using the 16 ⁇ 16 address information from the 16 ⁇ 16 address generation unit 141 is a reference beyond the CU. Determine whether. That is, in step S142, it is determined whether or not the lower right pixel position of the divided area indicated by the 16 ⁇ 16 address information exceeds the boundary of the processing target CU.
  • the 16 ⁇ 16 address correcting unit 142 corrects the 16 ⁇ 16 address information so that the reference is pulled back into the CU. Specifically, the 16 ⁇ 16 address correcting unit 142 performs pull-back on the 16 ⁇ 16 address information in the vertical direction using Expression (3).
  • the 16 ⁇ 16 address correcting unit 142 supplies the 16 ⁇ 16 address information corrected as a result of the pull back to the memory access control unit 143.
  • step S142 If it is determined in step S142 that the reference is not beyond the CU, the process in step S143 is skipped. That is, the 16 ⁇ 16 address correction unit 142 supplies the 16 ⁇ 16 address information from the 16 ⁇ 16 address generation unit 141 to the memory access control unit 143.
  • the memory access control unit 143 requests the motion vector storage memory 122 to read the motion vector indicated by the 16 ⁇ 16 address information from the 16 ⁇ 16 address correction unit 142. That is, the memory access control unit 143 sets the motion vector indicated by the 16 ⁇ 16 address information from the address correction unit 142 as a temporal correlation prediction vector, and makes a request to read the set temporal correlation prediction vector.
  • step S144 the motion vector storage memory 122 reads the motion vector information in response to the request from the memory access control unit 143, and supplies the motion vector information to the inter / intra determination unit 136.
  • step S145 the inter / intra determination unit 136 determines whether or not the motion vector information read from the motion vector storage memory 122 indicates an intra (picture).
  • step S146 the 16 ⁇ 16 address generation unit 141 calculates the address of the 16 ⁇ 16 area in the case of intra.
  • the 16 ⁇ 16 address generation unit 141 supplies the calculated 16 ⁇ 16 address information to the 16 ⁇ 16 address correction unit 142.
  • step S147 the 16 ⁇ 16 address correction unit 142 uses the supplied information to determine whether the reference using the 16 ⁇ 16 address information from the 16 ⁇ 16 address generation unit 141 is a reference beyond the CU. Determine whether.
  • the 16 ⁇ 16 address correcting unit 142 corrects the 16 ⁇ 16 address information so that the reference is pulled back into the CU in step S148. Specifically, the 16 ⁇ 16 address correcting unit 142 performs pull-back on the 16 ⁇ 16 address information in the vertical direction using Expression (3).
  • the 16 ⁇ 16 address correcting unit 142 supplies the 16 ⁇ 16 address information corrected as a result of the pull back to the memory access control unit 143.
  • step S147 If it is determined in step S147 that the reference does not exceed the CU, the process in step S148 is skipped. That is, the 16 ⁇ 16 address correction unit 142 supplies the 16 ⁇ 16 address information from the 16 ⁇ 16 address generation unit 141 to the memory access control unit 143.
  • the memory access control unit 143 requests the motion vector storage memory 122 to read the motion vector indicated by the 16 ⁇ 16 address information from the 16 ⁇ 16 address correction unit 142. That is, the memory access control unit 143 sets the motion vector indicated by the 16 ⁇ 16 address information from the address correction unit 142 as a temporal correlation prediction vector, and makes a request to read the set temporal correlation prediction vector.
  • step S 149 the motion vector storage memory 122 reads the motion vector information in response to the request from the memory access control unit 143 and supplies it to the inter / intra determination unit 136.
  • the inter / intra determination unit 136 supplies the motion vector information from the motion vector storage memory 122 to the optimum mode determination unit 135 as temporal prediction vector information.
  • step S145 if it is determined in step S145 that the read motion vector information indicates an intra, steps S146 to S149 are skipped. That is, the motion vector information read in step S144 is supplied to the optimum mode determination unit 135 as temporal prediction vector information.
  • the address is corrected so that the reference is pulled back into the LCU.
  • the LCU is not straddled in the vertical direction, so that the Col vector information is not re-read.
  • both processes point to the same PU.
  • the PU size is 8 ⁇ 8 or less, ColPU cannot be used for a PU that does not touch the right end or the lower end divided by 16 ⁇ 16 pixels.
  • the vector (ColMV) is not a candidate for the merge mode described above with reference to FIG. 3 or the prediction vector mvp described above with reference to FIG. The degree of freedom in selecting a vector is reduced.
  • the motion vector difference generation unit 121 shown in FIG. 15 controls to read the data by changing the data reading position.
  • FIG. 15 is a block diagram illustrating another configuration example of the motion vector difference generation unit.
  • the motion vector difference generation unit 121 in FIG. 15 includes the screen prediction vector generation unit 133, the peripheral motion vector storage unit 134, the optimum mode determination unit 135, and the inter / intra determination unit 136, and the motion vector difference generation in FIG. This is common with the unit 121. In addition, since it repeats about the common part, the description is abbreviate
  • the motion vector difference generation unit 121 in FIG. 15 the point that the motion vector difference generation control unit 131 is replaced with the motion vector difference generation control unit 151, and the time prediction vector generation unit 132 is replaced with the time prediction vector generation unit 152. This is different from the motion vector difference generation unit 121 of FIG.
  • the motion vector difference generation control unit 151 gives a prediction vector generation instruction to the in-picture prediction vector generation unit 133 and the temporal prediction vector generation unit 152. In addition, the motion vector difference generation control unit 151 supplies the optimal mode determination unit 135 with the inter cost function value and the motion vector information from the motion prediction / compensation unit 115 to determine the optimal mode.
  • the motion vector difference generation control unit 151 does not supply CU or PU information to the 16 ⁇ 16 address correction unit 162.
  • the temporal prediction vector generation unit 152 is common to the temporal prediction vector generation unit 132 of FIG. 9 in that it includes a memory access control unit 143.
  • temporal prediction vector generation unit 152 the 16 ⁇ 16 address generation unit 141 is replaced with a 16 ⁇ 16 address generation unit 161, and the 16 ⁇ 16 address correction unit 142 is replaced with a 16 ⁇ 16 address correction unit 162.
  • 9 temporal prediction vector generation unit 132 is different.
  • the 16 ⁇ 16 address generation unit 161 calculates the address of the 16 ⁇ 16 area to be referenced, and the calculated 16 ⁇ 16 address information is used as the 16 ⁇ 16 address correction unit 162. To supply.
  • the 16 ⁇ 16 address generation unit 161 calculates the address of the 16 ⁇ 16 area in the case of intra when there is a re-reading instruction from the inter / intra determination unit 136.
  • the 16 ⁇ 16 address generation unit 161 determines whether the address calculated by the first calculation and the address calculated by the second calculation (in the case of intra) are the same. If they are the same, the addresses are the same. A coincidence flag indicating that is generated.
  • the 16 ⁇ 16 address generation unit 161 supplies the generated match flag to the 16 ⁇ 16 address correction unit 162.
  • the 16 ⁇ 16 address correction unit 162 supplies the 16 ⁇ 16 address information from the 16 ⁇ 16 address generation unit 161 to the memory access control unit 143. Further, when receiving the flag from the 16 ⁇ 16 address generation unit 161, the 16 ⁇ 16 address correction unit 162 corrects the first 16 ⁇ 16 address so that the address is different from the first time. The 16 ⁇ 16 address correction unit 162 supplies the corrected 16 ⁇ 16 address information to the memory access control unit 143.
  • FIG. 16 is a diagram showing a picture in the case of PU4 ⁇ 4.
  • the lower left pixel position (xPtr, yPtr) of the processing target PU can be expressed by the following equation (4).
  • xPtr xP + nPSW -1
  • yPtr yP + nPSW -1 (4)
  • the hatched pixel position in FIG. 16 (hereinafter referred to as the hatch position) is the first process and 2 in the ColPU calculation method described above with reference to FIG. It is the position where the same PU is pointed out in the second processing.
  • the 16 ⁇ 16 address correction unit 162 determines that the processing target PU belongs to 16 ⁇ 16. The address is corrected so as to indicate 16 ⁇ 16 on the right side of the area.
  • the 16 ⁇ 16 address correcting unit 162 When the right 16 ⁇ 16 is outside the screen, the 16 ⁇ 16 address correcting unit 162 indicates the 16 ⁇ 16 area adjacent to the left of the 16 ⁇ 16 area to which the processing target PU belongs. Correct the address.
  • the pixel position P1 shown in FIG. 17 is 11 with 16 remainders, and the conditional expression of both the x and y components of Expression (4) holds. Therefore, the 16 ⁇ 16 address correcting unit 162 adds +16 only in the horizontal direction of the pixel position P1 and moves it to the pixel position P2 of the 16 ⁇ 16 region adjacent to the right. Thereafter, the pixel position P2 becomes a hatched pixel position P3 by the rounding process at 16.
  • the 16 ⁇ 16 address generation unit 161 is supplied with a prediction vector generation instruction from the motion vector difference generation control unit 151.
  • the 16 ⁇ 16 address generation unit 141 calculates the address of the 16 ⁇ 16 area to be referred to.
  • the 16 ⁇ 16 address generation unit 141 supplies the calculated 16 ⁇ 16 address information to the 16 ⁇ 16 address correction unit 142.
  • the 16 ⁇ 16 address correction unit 142 supplies the 16 ⁇ 16 address information from the 16 ⁇ 16 address generation unit 141 to the memory access control unit 143.
  • the memory access control unit 143 requests the motion vector storage memory 122 to read the motion vector indicated by the 16 ⁇ 16 address information from the 16 ⁇ 16 address correction unit 142. That is, the memory access control unit 143 sets the motion vector indicated by the 16 ⁇ 16 address information from the address correction unit 142 as a temporal correlation prediction vector, and makes a request to read the set temporal correlation prediction vector.
  • step S152 the motion vector storage memory 122 reads the motion vector information in response to the request from the memory access control unit 143, and supplies the motion vector information to the inter / intra determination unit 136.
  • step S153 when it is determined that the read motion vector information indicates an intra, the inter / intra determination unit 136 instructs the 16 ⁇ 16 address generation unit 161 to re-read. This re-reading instruction is performed only once.
  • step S154 the 16 ⁇ 16 address generation unit 161 calculates the address of the 16 ⁇ 16 area in the case of intra.
  • step S155 the 16 ⁇ 16 address generation unit 161 determines whether the address calculated in the first time is the same as the address calculated in the second time (in the case of intra).
  • the 16 ⁇ 16 address generation unit 161 determines in step S155 that the addresses are the same, the 16 ⁇ 16 address generation unit 161 generates a match flag indicating that the addresses are the same, and uses the generated match flag as the 16 ⁇ 16 address correction unit 162. To supply.
  • the 16 ⁇ 16 address correcting unit 162 corrects the first 16 ⁇ 16 address so that the address becomes different from the first address in step S156. That is, the 16 ⁇ 16 address correction unit 162 corrects the 16 ⁇ 16 address by performing +16 in the horizontal direction of the first 16 ⁇ 16 address so as to indicate the region to the right of the region to which the 16 ⁇ 16 address belongs. .
  • the 16 ⁇ 16 address correction unit 162 supplies the corrected 16 ⁇ 16 address information to the memory access control unit 143.
  • step S155 If it is determined in step S155 that the addresses are different, no match flag is generated and step S156 is also skipped. That is, the 16 ⁇ 16 address correction unit 162 supplies the memory access control unit 143 with a second 16 ⁇ 16 address different from the first 16 ⁇ 16 address.
  • the memory access control unit 143 requests the motion vector storage memory 122 to read the motion vector indicated by the 16 ⁇ 16 address information from the 16 ⁇ 16 address correction unit 142. That is, the memory access control unit 143 sets the motion vector indicated by the 16 ⁇ 16 address information from the address correction unit 142 as a temporal correlation prediction vector, and makes a request to read the set temporal correlation prediction vector.
  • step S157 the motion vector storage memory 122 reads the motion vector information in response to the request from the memory access control unit 143 and supplies the motion vector information to the inter / intra determination unit 136.
  • the inter / intra determination unit 136 supplies the motion vector information from the motion vector storage memory 122 to the optimum mode determination unit 135 as temporal prediction vector information.
  • step S153 if it is determined in step S153 that the read motion vector information indicates an intra, steps S154 to S157 are skipped. That is, the motion vector information read in step S152 is supplied to the optimum mode determination unit 135 as temporal phase prediction vector information.
  • the viewpoint is changed to the motion vector storage side. That is, when the motion vector difference generation unit 121 illustrated in FIG. 19 stores the motion vector, if the processing target region is intra prediction, the motion vector difference generation unit 121 stores an available motion vector at a predetermined position in the vicinity.
  • FIG. 19 is a block diagram illustrating still another configuration example of the motion vector difference generation unit.
  • the motion vector difference generation unit 121 of FIG. 9 is the same as the motion vector difference generation unit 121 of FIG. 9 in that it includes a screen prediction vector generation unit 133 and a peripheral motion vector storage unit 134. In addition, since it repeats about the common part, the description is abbreviate
  • the motion vector difference generation unit 121 in FIG. 19 the point that the motion vector difference generation control unit 131 is replaced with the motion vector difference generation control unit 171, and the temporal prediction vector generation unit 132 is replaced with the temporal prediction vector generation unit 172. This is different from the motion vector difference generation unit 121 of FIG.
  • the motion vector difference generation unit 121 in FIG. 19 is different from the motion vector difference generation unit 121 in FIG. 9 in that the optimal mode determination unit 135 is replaced with an optimal mode determination unit 173.
  • the motion vector difference generation unit 121 in FIG. 19 is different from the motion vector difference generation unit 121 in FIG. 9 in that the inter / intra determination unit 136 is removed and the storage vector selection unit 174 is added. ing.
  • the motion vector difference generation control unit 171 gives a prediction vector generation instruction to the in-picture prediction vector generation unit 133 and the temporal prediction vector generation unit 172. In addition, the motion vector difference generation control unit 171 supplies the intermode function value and the motion vector information from the motion prediction / compensation unit 115 to the optimal mode determination unit 173 to determine the optimal mode.
  • the temporal prediction vector generation unit 172 is common to the temporal prediction vector generation unit 132 of FIG. 9 in that it includes a memory access control unit 143.
  • the temporal prediction vector generation unit 172 has the point that the 16 ⁇ 16 address generation unit 141 is replaced with the 16 ⁇ 16 address generation unit 181 and the point that the 16 ⁇ 16 address correction unit 142 is removed are the temporal prediction vectors in FIG. Different from the generation unit 132.
  • the 16 ⁇ 16 address generation unit 161 calculates the address of the 16 ⁇ 16 area to be referenced under the control of the motion vector difference generation control unit 171, and supplies the calculated 16 ⁇ 16 address information to the memory access control unit 143. To do.
  • the optimal mode determination unit 173 determines whether the spatial prediction vector from the in-picture prediction vector generation unit 133 and the temporal prediction vector from the motion vector storage memory 122 can be referred to.
  • the optimum mode determination unit 173 determines a mode in which the generated bit amount of the difference from the motion vector information calculated by the motion prediction / compensation unit 115 is the smallest among the referenceable motion vectors.
  • the inter-cost function value and the motion vector information are supplied from the motion vector difference generation control unit 171 to the optimum mode determination unit 173.
  • An intra cost function value is supplied from the intra prediction unit 114 to the optimal mode determination unit 173.
  • the optimal mode determination unit 173 also uses these cost function values to determine whether the region to be processed is encoded as an intra region or an inter region.
  • the optimal mode determination unit 173 supplies the determined optimal mode information and motion vector difference information to the lossless encoding unit 106. Further, the optimum mode determination unit 173 supplies the motion vector information and the intra area information to the storage vector selection unit 174.
  • the storage vector selection unit 174 stores the motion vector information of the processing target area in the motion vector storage memory 122. At that time, the saved vector selection unit 174 refers to the motion vector information and intra region information from the optimum mode determination unit 173, the vector and mode information of the surrounding region from the surrounding motion vector storage unit 134, and the like.
  • the storage vector selection unit 174 causes the peripheral motion vector storage unit 134 to store the motion vector information and the mode information.
  • a part of the screen divided in units of 16 ⁇ 16 pixels is shown.
  • the motion vector storage memory 122 a motion vector is stored for each 16 ⁇ 16 divided region.
  • a lower right 16 ⁇ 16 region surrounded by a thick frame is a motion vector storage processing target region (divided region), and a pixel position P is shown at the upper left position of the processing target region.
  • Also shown are pixel location A, pixel location B, and pixel location C that touch pixel location P.
  • the pixel position A adjacent to the left of the pixel position P is the upper right pixel position of the 16 ⁇ 16 area adjacent to the left of the processing target area.
  • the pixel position B in contact with the upper left of the pixel position P is the lower right pixel position of the 16 ⁇ 16 area at the upper left of the processing target area.
  • the pixel position C adjacent on the pixel position P is the lower left pixel position of the 16 ⁇ 16 area adjacent to the processing target area.
  • the saved vector selection unit 174 first saves the vector information of the PU including the pixel position P at the upper left of the 16 ⁇ 16 area in the motion vector saving memory 122, similarly to the processing described above with reference to FIG. However, if the PU is an intra region, the saved vector selection unit 174, if the motion vector information of the PU including the surrounding pixel positions is available, it is used as the processing target 16 ⁇ 16 region. It is stored in the motion vector storage memory 122 as vector information.
  • the saved vector selection unit 174 determines whether or not the motion vector information of the PU including the pixel position A is available when the PU including the pixel position P at the upper left of the 16 ⁇ 16 region is an intra. Determine whether. If the motion vector information of the PU including the pixel position A is available, the saved vector selection unit 174 sets the motion vector information as vector information of the 16 ⁇ 16 region to be processed, and the set motion vector information Save.
  • the stored vector selection unit 174 determines whether or not the motion vector information of the PU including the pixel position B is usable if the motion vector information of the PU including the pixel position A is not usable. If the motion vector information of the PU including the pixel position B is available, the saved vector selection unit 174 sets the motion vector information as vector information of the 16 ⁇ 16 region to be processed, and the set motion vector information Save.
  • the saved vector selection unit 174 determines whether or not the motion vector information of the PU including the pixel position C is usable if the motion vector information of the PU including the pixel position B is not usable. If the motion vector information of the PU including the pixel position C is available, the saved vector selection unit 174 sets the motion vector information as vector information of the 16 ⁇ 16 region to be processed, and the set motion vector information Save.
  • the saved vector selection unit 174 sets the intra as the 16 ⁇ 16 region vector information to be processed, and sets the motion vector thus set. To save the information.
  • vector information outside the 16 ⁇ 16 area is used as a storage candidate, but vector information inside the 16 ⁇ 16 area that is a motion vector storage unit can also be used as a storage candidate. It is.
  • a 16 ⁇ 16 pixel divided region which is a processing target region, is shown in the screen.
  • the processing target area is further divided into 8 ⁇ 8 pixel areas.
  • the pixel position A is shown at the upper left position of the 8 ⁇ 8 area at the upper left of the processing target area.
  • a pixel position B is shown at the upper left position of the 8 ⁇ 8 area at the upper right of the processing target area.
  • a pixel position C is shown at the upper left position of the 8 ⁇ 8 area at the lower left of the processing target area.
  • a pixel position D is shown at the upper left position of the 8 ⁇ 8 area at the lower right of the processing target area.
  • the storage vector selection unit 174 stores the vector information of the PU (PI0_0) including the upper left pixel position A in the 16 ⁇ 16 region in the motion vector storage memory 122, similarly to the processing described above with reference to FIG. .
  • the PU is an intra region
  • the saved vector selection unit 174 if the motion vector information of the PU including the surrounding pixel positions is available, it is used as the processing target 16 ⁇ 16 region.
  • the motion vector information is set as vector information, and the set motion vector information is stored in the motion vector storage memory 122.
  • the saved vector selection unit 174 can use the motion vector information of the PU (PI1_0) including the pixel position B when the PU including the pixel position A at the upper left of the 16 ⁇ 16 region is intra. It is determined whether or not there is. If the motion vector information of the PU including the pixel position B is available, the saved vector selection unit 174 sets the motion vector information as vector information of the 16 ⁇ 16 region to be processed, and the set motion vector information Save.
  • the saved vector selection unit 174 determines whether the motion vector information of the PU including the pixel position C (PI2_0) is available. To do. If the motion vector information of the PU including the pixel position C is available, the saved vector selection unit 174 sets the motion vector information as vector information of the 16 ⁇ 16 region to be processed, and the set motion vector information Save.
  • the stored vector selection unit 174 determines whether or not the motion vector information of the PU including the pixel position D is usable when the motion vector information of the PU including the pixel position C is not usable. If the motion vector information of the PU including the pixel position D (PI3_0) is available, the saved vector selection unit 174 sets the motion vector information as vector information of the 16 ⁇ 16 region to be processed, and sets the motion vector information. Save motion vector information.
  • the saved vector selection unit 174 sets that the intra is the vector information of the 16 ⁇ 16 region to be processed and sets the set vector information Save.
  • FIG. 22 is a flowchart for explaining an example of the time correlation prediction vector generation process in step S132 of FIG.
  • the 16 ⁇ 16 address generation unit 181 is supplied with a prediction vector generation instruction from the motion vector difference generation control unit 171. In step S161, the 16 ⁇ 16 address generation unit 181 calculates the address of the 16 ⁇ 16 area to be referred to. The 16 ⁇ 16 address generation unit 181 supplies the calculated 16 ⁇ 16 address information to the memory access control unit 143.
  • the memory access control unit 143 requests the motion vector storage memory 122 to read the motion vector indicated by the 16 ⁇ 16 address information from the 16 ⁇ 16 address generation unit 181.
  • step S162 the motion vector storage memory 122 reads motion vector information in response to a request from the memory access control unit 143, and supplies the motion vector information to the optimal mode determination unit 173 as time correlation prediction vector information.
  • the motion vector is stored in the motion vector storage memory 122 as described above with reference to FIGS. 20 and 21, the motion vector is stored even for an intra.
  • the process of reading the motion vector again can be omitted.
  • the conventional intra readout method may be used only when none of the motion vectors described above with reference to FIG. 20 or FIG. 21 is available and stored as intra.
  • FIG. 23 is a flowchart for explaining the flow of the storage process described above with reference to FIG. 20 described above, and will be described with reference to FIG.
  • step S138 of FIG. 13 when the optimum mode of the processing target region is determined, the optimum mode determination unit 173 supplies the motion vector information and the intra region information of the optimum mode to the saved vector selection unit 174.
  • step S171 the saved vector selection unit 174 determines whether or not the processing target region (the thick 16 ⁇ 16 region in FIG. 20) is inter based on the intra region information from the optimum mode determination unit 173. . That is, in step S171, the saved vector selection unit 174 determines whether or not the PU including the pixel position P shown in FIG. If it is determined in step S171 that the processing target area is inter, the process proceeds to step S172.
  • step S172 the saved vector selection unit 174 sets the motion vector information of the PU including the pixel position P as the motion vector information of the processing target region, and saves the set motion vector information in the motion vector saving memory 122. Thereafter, the processing returns to step S139 in FIG.
  • step S171 If it is determined in step S171 that the processing target area is intra, the process proceeds to step S173.
  • the saved vector selection unit 174 obtains the motion vector information and mode information of the PU including the pixel position A shown in FIG.
  • step S173 the saved vector selection unit 174 determines whether or not the pixel position A is available. That is, the saved vector selection unit 174 determines whether or not the motion vector information of the PU including the pixel position A is available in step S173.
  • step S173 If the mode information of the PU including the pixel position A is intra, and it is determined in step S173 that the pixel position A is not usable, the process proceeds to step S175.
  • the saved vector selection unit 174 obtains the motion vector information and mode information of the PU including the pixel position B shown in FIG.
  • step S175 the storage vector selection unit 174 determines whether or not the pixel position B is available. That is, the saved vector selection unit 174 determines whether or not the motion vector information of the PU including the pixel position B is available in step S175.
  • step S175 If the mode information of the PU including the pixel position B is inter, and it is determined in step S175 that the pixel position B is available, the process proceeds to step S176.
  • step S176 the saved vector selection unit 174 sets the motion vector information of the PU including the pixel position B as the vector information of the processing target area, and saves the set motion vector information in the motion vector saving memory 122. Thereafter, the processing returns to step S139 in FIG.
  • step S175 If the PU mode information including the pixel position B is intra, and it is determined in step S175 that the pixel position A is not usable, the process proceeds to step S177.
  • the saved vector selection unit 174 acquires the motion vector information and mode information of the PU including the pixel position C shown in FIG.
  • step S177 the storage vector selection unit 174 determines whether or not the pixel position C is available. That is, in step S177, the saved vector selection unit 174 determines whether or not the PU motion vector information including the pixel position C is available.
  • step S178 the storage vector selection unit 174 sets the motion vector information of the PU including the pixel position C as the vector information of the processing target region, and stores the set motion vector information in the motion vector storage memory 122. Thereafter, the processing returns to step S139 in FIG.
  • step S177 If the mode information of the PU including the pixel position C is intra, and it is determined in step S177 that the pixel position C is not usable, the process proceeds to step S179.
  • step S178 the storage vector selection unit 174 sets that the processing target area is intra as the vector information of the processing target area, and stores the set motion vector information in the motion vector storage memory 122. Thereafter, the processing returns to step S139 in FIG.
  • FIG. 24 is a flowchart for explaining the flow of the storage process described above with reference to FIG. 21 described above, and will be described with reference to FIG.
  • step S138 of FIG. 13 when the optimum mode of the processing target region is determined, the optimum mode determination unit 173 supplies the motion vector information or the intra region information of the optimum mode to the saved vector selection unit 174.
  • step S181 the save vector selection unit 174 saves the motion vector of the processing target region (16 ⁇ 16 region shown in FIG. 21), and thus based on the motion vector information or the intra region information from the optimum mode determination unit 173. Then, it is determined whether or not the pixel position A shown in FIG. 21 is available. That is, in step S181, the saved vector selection unit 174 determines whether or not the PU motion vector information including the pixel position A is available.
  • step S181 If it is determined in step S181 that the pixel position A is available, the process proceeds to step S182.
  • step S182 the saved vector selection unit 174 sets the motion vector information of the PU (Pl0_0 in FIG. 21) including the pixel position A from the optimal mode determination unit 173 as the vector information of the processing target region, and the set motion Vector information is stored in the motion vector storage memory 122. Thereafter, the processing returns to step S139 in FIG.
  • step S183 the saved vector selection unit 174 determines whether or not the pixel position B shown in FIG. 21 is available based on the motion vector information or the intra area information from the optimal mode determination unit 173. That is, in step S183, the saved vector selection unit 174 determines whether or not the motion vector information of the PU including the pixel position B is available.
  • step S181 If it is determined in step S181 that the pixel position B is available, the process proceeds to step S184.
  • step S184 the saved vector selection unit 174 sets the motion vector information of the PU (Pl1_0 in FIG. 21) including the pixel position B from the optimal mode determination unit 173 as the vector information of the processing target region, and sets the set motion.
  • Vector information is stored in the motion vector storage memory 122. Thereafter, the processing returns to step S139 in FIG.
  • step S185 the saved vector selection unit 174 determines whether or not the pixel position C shown in FIG. 21 is available based on the motion vector information or the intra area information from the optimum mode determination unit 173. That is, in step S185, the saved vector selection unit 174 determines whether or not the PU motion vector information including the pixel position C is available.
  • step S185 If it is determined in step S185 that the pixel position C is available, the process proceeds to step S186.
  • the saved vector selection unit 174 sets the motion vector information of the PU (Pl2_0 in FIG. 21) including the pixel position C from the optimum mode determination unit 173 as the vector information of the processing target region, and the set motion Vector information is stored in the motion vector storage memory 122. Thereafter, the processing returns to step S139 in FIG.
  • step S185 determines whether or not the pixel position C is not usable. If it is determined in step S185 that the pixel position C is not usable, the process proceeds to step S187.
  • step S187 the saved vector selection unit 174 determines whether or not the pixel position D shown in FIG. 21 is available based on the motion vector information or the intra area information from the optimum mode determination unit 173. That is, in step S187, the saved vector selection unit 174 determines whether or not the PU motion vector information including the pixel position D is available.
  • step S187 If it is determined in step S187 that the pixel position D is available, the process proceeds to step S188.
  • the saved vector selection unit 174 sets the motion vector information of the PU (Pl3_0 in FIG. 21) including the pixel position D from the optimum mode determination unit 173 as the vector information of the processing target region, and the set motion Vector information is stored in the motion vector storage memory 122. Thereafter, the processing returns to step S139 in FIG.
  • step S188 If it is determined in step S188 that the pixel position D is not available, the process proceeds to step S189.
  • the storage vector selection unit 174 sets that it is intra as the motion vector information of the processing target region, and stores the set motion vector information in the motion vector storage memory 122. Thereafter, the processing returns to step S139 in FIG.
  • FIG. 25 illustrates a configuration of an embodiment of an image decoding device as an image processing device to which the present disclosure is applied.
  • An image decoding apparatus 200 shown in FIG. 25 is a decoding apparatus corresponding to the image encoding apparatus 100 of FIG.
  • encoded data encoded by the image encoding device 100 is transmitted to the image decoding device 200 corresponding to the image encoding device 100 via a predetermined transmission path and decoded.
  • the image decoding apparatus 200 includes a storage buffer 201, a lossless decoding unit 202, an inverse quantization unit 203, an inverse orthogonal transform unit 204, a calculation unit 205, a deblock filter 206, a screen rearrangement buffer 207, And a D / A converter 208.
  • the image decoding apparatus 200 includes a frame memory 209, a selection unit 210, an intra prediction unit 211, a motion prediction / compensation unit 212, and a selection unit 213.
  • the image decoding apparatus 200 includes a motion vector generation unit 221 and a motion vector storage memory 222.
  • the accumulation buffer 201 accumulates the transmitted encoded data. This encoded data is encoded by the image encoding device 100.
  • the lossless decoding unit 202 decodes the encoded data read from the accumulation buffer 201 at a predetermined timing by a method corresponding to the encoding method of the lossless encoding unit 106 in FIG.
  • the inverse quantization unit 203 inversely quantizes the coefficient data (quantization coefficient) obtained by decoding by the lossless decoding unit 202 by a method corresponding to the quantization method of the quantization unit 105 in FIG. That is, the inverse quantization unit 203 uses the quantization parameter supplied from the image coding apparatus 100 to perform inverse quantization of the quantization coefficient by the same method as the inverse quantization unit 108 in FIG.
  • the inverse quantization unit 203 supplies the inversely quantized coefficient data, that is, the orthogonal transform coefficient, to the inverse orthogonal transform unit 204. Further, the inverse quantization unit 203 supplies the quantization parameter obtained when the inverse quantization is performed to the deblocking filter 206 and the quantization parameter difference detection unit 221.
  • the inverse orthogonal transform unit 204 is a method corresponding to the orthogonal transform method of the orthogonal transform unit 104 in FIG. Corresponding decoding residual data is obtained.
  • the decoded residual data obtained by the inverse orthogonal transform is supplied to the calculation unit 205.
  • a prediction image is supplied to the calculation unit 205 from the intra prediction unit 211 or the motion prediction / compensation unit 212 via the selection unit 213.
  • the calculation unit 205 adds the decoded residual data and the prediction image, and obtains decoded image data corresponding to the image data before the prediction image is subtracted by the calculation unit 103 of the image encoding device 100.
  • the arithmetic unit 205 supplies the decoded image data to the deblock filter 206.
  • the deblock filter 206 is configured basically in the same manner as the deblock filter 111 of the image encoding device 100.
  • the deblocking filter 206 removes block distortion of the decoded image by appropriately performing deblocking filter processing.
  • the deblocking filter 206 supplies the filter processing result to the screen rearrangement buffer 207.
  • the screen rearrangement buffer 207 rearranges images. That is, the order of frames rearranged for the encoding order by the screen rearrangement buffer 102 in FIG. 1 is rearranged in the original display order.
  • the D / A conversion unit 208 D / A converts the image supplied from the screen rearrangement buffer 207, outputs it to a display (not shown), and displays it.
  • the output of the deblock filter 206 is further supplied to the frame memory 209.
  • the frame memory 209, the selection unit 210, the intra prediction unit 211, the motion prediction / compensation unit 212, and the selection unit 213 are the frame memory 112, the selection unit 113, the intra prediction unit 114, and the motion prediction / compensation unit of the image encoding device 100. 115 and the selection unit 116 respectively.
  • the selection unit 210 reads out the inter-processed image and the referenced image from the frame memory 209 and supplies them to the motion prediction / compensation unit 212. Further, the selection unit 210 reads an image used for intra prediction from the frame memory 209 and supplies the image to the intra prediction unit 211.
  • the intra prediction unit 211 is appropriately supplied from the lossless decoding unit 202 with information indicating the intra prediction mode obtained by decoding the header information. Based on this information, the intra prediction unit 211 generates a prediction image from the reference image acquired from the frame memory 209 and supplies the generated prediction image to the selection unit 213.
  • the motion prediction / compensation unit 212 is supplied with prediction mode information, motion vector information, reference frame information, flags, various parameters, and the like from the motion vector generation unit 221.
  • the motion prediction / compensation unit 212 generates a prediction image from the reference image acquired from the frame memory 209 based on the information supplied from the motion vector generation unit 221, and supplies the generated prediction image to the selection unit 213. .
  • the selection unit 213 selects the prediction image generated by the motion prediction / compensation unit 212 or the intra prediction unit 211 and supplies the selected prediction image to the calculation unit 205.
  • Information obtained by decoding the header information is stored in the motion vector generation unit 221 as a lossless decoding unit. 202.
  • the motion vector generation unit 221 generates a prediction vector of spatial correlation and temporal correlation from the motion vector of the surrounding area.
  • the motion vector generation unit 221 generates temporal prediction vector information using the motion vector information stored in the motion vector storage memory 222.
  • the motion vector generation unit 221 generates (reconstructs) motion vector information by adding the prediction vector information indicated by the prediction vector index and the motion vector difference information among the generated prediction vector information.
  • the motion vector generation unit 221 supplies the generated motion vector information to the motion prediction / compensation unit 212 together with other information obtained by decoding the header information.
  • the motion vector storage memory 222 stores the motion vector information stored by the motion vector generation unit 221 and used when the motion vector generation unit 221 generates a temporal prediction vector.
  • FIG. 26 is a block diagram illustrating a configuration example of the motion vector generation unit. 26 is a unit corresponding to the motion vector difference generation unit in FIG.
  • the motion vector generation unit 221 includes a motion vector generation control unit 231, a temporal prediction vector generation unit 232, an in-picture prediction vector generation unit 233, a peripheral motion vector storage unit 234, a motion vector reconstruction unit 235, an inter / Intra determination unit 236 is included.
  • CU size information From the lossless decoding unit 202, CU size information, CU partition information, CU address information, motion vector difference information, and prediction mode information are supplied to the motion vector generation control unit 231.
  • the motion vector generation control unit 231 is a unit corresponding to the motion vector difference generation control unit 131 of FIG.
  • the motion vector generation control unit 231 gives a prediction vector generation instruction to the in-picture prediction vector generation unit 233 and the temporal prediction vector generation unit 232.
  • the motion vector generation control unit 231 supplies CU / PU address information and CU / PU size information to the 16 ⁇ 16 address correction unit 242.
  • the motion vector generation control unit 231 supplies the motion vector difference information from the lossless decoding unit 202 to the motion vector reconstruction unit 235 to reconstruct the motion vector.
  • the temporal prediction vector generation unit 232 is a unit corresponding to the temporal prediction vector generation unit 132 in FIG. 9 and is a unit that generates a temporal correlation prediction vector.
  • the temporal prediction vector generation unit 232 is configured to include a 16 ⁇ 16 address generation unit 241, a 16 ⁇ 16 address correction unit 242, and a memory access control unit 243.
  • the 16 ⁇ 16 address generation unit 241 is a unit corresponding to the 16 ⁇ 16 address generation unit 141 of FIG.
  • the 16 ⁇ 16 address generation unit 241 calculates the address of the 16 ⁇ 16 area to be referenced under the control of the motion vector generation control unit 231, and sends the calculated 16 ⁇ 16 address information to the 16 ⁇ 16 address correction unit 242. Supply.
  • the 16 ⁇ 16 address generation unit 241 calculates the address of the 16 ⁇ 16 area in the case of intra, and the calculated 16 ⁇ 16 address information is converted into 16 ⁇ 16 address information.
  • the 16 address correction unit 242 is supplied.
  • the 16 ⁇ 16 address correction unit 242 is supplied with CU / PU address information and CU / PU size information from the motion vector generation control unit 231.
  • the 16 ⁇ 16 address correction unit 242 is supplied with 16 ⁇ 16 address information from the 16 ⁇ 16 address generation unit 241.
  • the 16 ⁇ 16 address correcting unit 242 is a unit corresponding to the 16 ⁇ 16 address correcting unit 142 in FIG.
  • the 16 ⁇ 16 address correction unit 242 uses the supplied information to determine whether the reference using the 16 ⁇ 16 address information from the 16 ⁇ 16 address generation unit 241 is a reference beyond the CU. . If the reference exceeds the CU, the 16 ⁇ 16 address correction unit 242 corrects the 16 ⁇ 16 address information so that the reference is pulled back into the CU, and the corrected 16 ⁇ 16 address information is accessed in the memory. This is supplied to the control unit 243. If the reference is not beyond the CU, the 16 ⁇ 16 address correction unit 242 supplies the 16 ⁇ 16 address information from the 16 ⁇ 16 address generation unit 141 to the memory access control unit 243.
  • the memory access control unit 243 is a unit corresponding to the memory access control unit 143 in FIG.
  • the memory access control unit 243 requests the motion vector storage memory 222 to read the motion vector indicated by the 16 ⁇ 16 address information from the 16 ⁇ 16 address correction unit 242. That is, the memory access control unit 243 sets the motion vector indicated by the 16 ⁇ 16 address information from the 16 ⁇ 16 address correction unit 242 as a temporal correlation prediction vector, and makes a request to read the set temporal correlation prediction vector. . In response to this request, motion vector information is supplied from the motion vector storage memory 222 to the inter / intra determination unit 236.
  • the in-picture prediction vector generation unit 233 is a part corresponding to the in-picture prediction vector generation unit 133 in FIG.
  • the intra-picture prediction vector generation unit 233 reads the motion vector information stored in the peripheral motion vector storage unit 234 under the control of the motion vector generation control unit 231 and generates spatial prediction vector information.
  • the in-picture prediction vector generation unit 233 supplies the spatial prediction vector information to the motion vector reconstruction unit 235.
  • the peripheral motion vector storage unit 234 includes a memory and stores motion vector information in the processing target picture.
  • the motion vector reconstruction unit 235 is supplied with motion vector difference information and a prediction vector index from the motion vector generation control unit 231.
  • the motion vector reconstruction unit 235 determines whether the spatial prediction vector from the in-picture prediction vector generation unit 233 and the temporal prediction vector from the inter / intra determination unit 236 can be referred to.
  • the motion vector reconstruction unit 235 generates motion vector information by adding the motion vector indicated by the prediction vector index as a prediction vector among the referenceable motion vectors, and the motion vector difference information.
  • the motion vector reconstruction unit 235 supplies the generated motion vector information to the motion prediction / compensation unit 212 together with other decoded information (prediction mode information, reference frame information, flags, various parameters, and the like).
  • the motion vector reconstruction unit 235 stores the generated motion vector information in the motion vector storage memory 222. Although not shown, the motion vector reconstruction unit 235 causes the peripheral motion vector storage unit 234 to store the motion vector information.
  • the inter / intra determination unit 236 corresponds to the inter / intra determination unit 136 of FIG.
  • the inter / intra determination unit 236 supplies the motion vector information to the motion vector reconstruction unit 235 as a temporal prediction vector.
  • the inter / intra determination unit 236 instructs the 16 ⁇ 16 address generation unit 241 to re-read. This re-reading instruction is performed only once.
  • step S201 the accumulation buffer 201 accumulates the transmitted encoded data.
  • step S202 the lossless decoding unit 202 decodes the encoded data supplied from the accumulation buffer 201. That is, the I picture, P picture, and B picture encoded by the lossless encoding unit 106 in FIG. 1 are decoded.
  • motion vector difference information ⁇ prediction vector index (mvp_index)
  • reference frame information ⁇ prediction vector index (mvp_index)
  • prediction mode information intra prediction mode or inter prediction mode
  • information such as flags and quantization parameters
  • the prediction mode information is intra prediction mode information
  • the prediction mode information is supplied to the intra prediction unit 211.
  • the prediction mode information is inter prediction mode information
  • motion vector difference information corresponding to the prediction mode information is supplied to the motion vector generation unit 221.
  • step S203 the inverse quantization unit 203 inversely quantizes the quantized orthogonal transform coefficient obtained by decoding by the lossless decoding unit 202.
  • step S204 the inverse orthogonal transform unit 204 performs inverse orthogonal transform on the orthogonal transform coefficient obtained by inverse quantization by the inverse quantization unit 203 by a method corresponding to the orthogonal transform unit 104 in FIG. As a result, the difference information corresponding to the input of the orthogonal transform unit 104 (output of the calculation unit 103) in FIG. 1 is decoded.
  • step S205 the calculation unit 205 adds the predicted image to the difference information obtained by the process in step S204. As a result, the original image data is decoded.
  • step S206 the deblocking filter 206 appropriately filters the decoded image obtained by the process in step S205. Thereby, block distortion is appropriately removed from the decoded image.
  • step S207 the frame memory 209 stores the filtered decoded image.
  • step S208 the intra prediction unit 211 or the motion vector generation unit 221 determines whether or not intra coding is performed in accordance with the prediction mode information supplied from the lossless decoding unit 202.
  • the intra prediction unit 211 acquires the intra prediction mode from the lossless decoding unit 202 in step S209. In step S210, the intra prediction unit 211 generates a prediction image according to the intra prediction mode acquired in step S209. The intra prediction unit 211 outputs the generated predicted image to the selection unit 213.
  • step S211 the motion vector generation unit 221 performs a motion vector generation process. This motion vector generation process will be described later with reference to FIG.
  • a prediction vector is generated using the motion vectors of the peripheral region around the processing target region.
  • a motion vector is generated by reconstructing a motion vector using the generated prediction vector and motion vector difference information (difference value).
  • the motion vector generation unit 221 supplies the generated motion vector information and information such as the prediction mode information, such as parameters decoded by the lossless decoding unit 202, to the motion prediction / compensation unit 212.
  • step S ⁇ b> 212 the motion prediction / compensation unit 212 uses the information from the motion vector generation unit 221 to generate a prediction image from the reference image acquired from the frame memory 209, and supplies the generated prediction image to the selection unit 213. .
  • step S213 the selection unit 213 selects a predicted image. That is, the prediction unit 213 is supplied with the prediction image generated by the intra prediction unit 211 or the prediction image generated by the motion prediction / compensation unit 212. The selection unit 213 selects the side to which the predicted image is supplied, and supplies the predicted image to the calculation unit 205. This predicted image is added to the difference information by the process of step S205.
  • step S214 the screen rearrangement buffer 207 rearranges the frames of the decoded image data. That is, the order of frames of the decoded image data rearranged for encoding by the screen rearrangement buffer 102 (FIG. 1) of the image encoding device 100 is rearranged to the original display order.
  • step S215 the D / A converter 208 D / A converts the decoded image data in which the frames are rearranged in the screen rearrangement buffer 207.
  • the decoded image data is output to a display (not shown), and the image is displayed.
  • the motion vector difference information corresponding to the prediction mode information is supplied to the motion vector generation control unit 231.
  • the motion vector generation control unit 231 acquires the supplied prediction mode information and the like. For example, the motion vector generation control unit 231 acquires prediction mode information, motion vector difference information, CU size information, CU partition information, CU address information, and the like. Furthermore, the motion vector generation control unit 231 also obtains a prediction vector index, a reference image index, and the like.
  • the motion vector generation control unit 231 gives a prediction vector generation instruction to the in-picture prediction vector generation unit 233 and the temporal prediction vector generation unit 232.
  • the intra-picture prediction vector generation unit 233 generates a spatial correlation prediction vector in step S232.
  • the intra-picture prediction vector generation unit 233 reads the motion vector information stored in the peripheral motion vector storage unit 234, and generates a spatial correlation prediction vector.
  • the intra-frame prediction vector generation unit 233 supplies the generated spatial correlation prediction vector information to the motion vector reconstruction unit 235.
  • step S233 the temporal prediction vector generation unit 232 generates a temporal correlation prediction vector.
  • the details of this temporal correlation prediction vector generation processing will be described later with reference to FIG. 29, but temporal correlation prediction vector information is supplied to the motion vector reconstruction unit 235 by the processing in step S233.
  • step S234 the motion vector reconstruction unit 235 determines whether or not all the surrounding areas are unreferenceable. When at least one of the spatial prediction vector information and the temporal prediction vector information is supplied, the motion vector reconstruction unit 235 determines that all the surrounding areas are not referable, and the process proceeds to step S235.
  • step S235 the motion vector reconstruction unit 235 deletes, when there is an overlapping prediction vector from the supplied spatial prediction vector information and temporal prediction vector information.
  • step S236 the motion vector reconstruction unit 235 obtains a prediction vector index from the motion vector generation control unit 231.
  • step S237 when there are a plurality of prediction vectors, the motion vector reconstruction unit 235 determines the prediction vector indicated by the prediction vector index acquired in step S236 as the prediction vector.
  • the motion vector reconstruction unit 235 indicates that all the surrounding areas cannot be referred to. Determine and proceed to step S238.
  • step S2308 the motion vector reconstruction unit 235 sets 0 as a prediction vector.
  • step S239 the motion vector reconstruction unit 235 generates a motion vector by adding the prediction vector determined in step S237 or S238 to the motion vector difference from the motion vector generation control unit 231.
  • the motion vector reconstruction unit 235 stores the generated motion vector information in the motion vector storage memory 122. Specifically, as described above with reference to FIG. 7, the motion vector reconstruction unit 235 uses the motion vector information of the PU including the upper left pixel position of the divided region for each 16 ⁇ 16 divided region as a motion. Save in the vector storage memory 222. The motion vector information stored in the motion vector storage memory 222 is used to generate a prediction vector for a later picture in time. This motion vector information is also stored in the peripheral motion vector storage unit 134.
  • the motion vector reconstruction unit 235 supplies the generated motion vector information and information such as parameters decoded by the lossless decoding unit 202 such as prediction mode information to the motion prediction / compensation unit 212.
  • step S239 is excluded from the processing of FIG. Then, the index acquired in step S236 of FIG. 28 becomes a merge index (merge_idx), and a motion vector, not a prediction vector, is determined in step S237 or S238.
  • merge_idx merge index
  • the process for generating the temporal correlation prediction vector in step S233 and the process for saving the motion vector in step S240 perform basically the same process. Is omitted.
  • the 16 ⁇ 16 address generation unit 241 is supplied with a prediction vector generation instruction from the motion vector generation control unit 231. In step S261, the 16 ⁇ 16 address generation unit 241 calculates the address of the 16 ⁇ 16 area to be referred to. The 16 ⁇ 16 address generation unit 241 supplies the calculated 16 ⁇ 16 address information to the 16 ⁇ 16 address correction unit 242.
  • the 16 ⁇ 16 address correction unit 242 is further supplied with CU / PU address information and CU / PU size information from the motion vector generation control unit 231.
  • step S262 the 16 ⁇ 16 address correction unit 242 uses the supplied information to determine whether the reference using the 16 ⁇ 16 address information from the 16 ⁇ 16 address generation unit 141 is a reference beyond the CU. Determine whether. That is, in step S262, it is determined whether the lower right pixel position of the divided area indicated by the 16 ⁇ 16 address information exceeds the boundary of the CU to be processed.
  • the 16 ⁇ 16 address correcting unit 242 corrects the 16 ⁇ 16 address information so that the reference is pulled back into the CU. Specifically, the 16 ⁇ 16 address correction unit 242 pulls back the 16 ⁇ 16 address information in the vertical direction using Expression (3).
  • the 16 ⁇ 16 address correcting unit 242 supplies the 16 ⁇ 16 address information corrected as a result of the pull back to the memory access control unit 243.
  • step S263 If it is determined in step S262 that the reference does not exceed the CU, the process in step S263 is skipped. That is, the 16 ⁇ 16 address correction unit 242 supplies the 16 ⁇ 16 address information from the 16 ⁇ 16 address generation unit 241 to the memory access control unit 243.
  • the memory access control unit 243 requests the motion vector storage memory 222 to read the motion vector indicated by the 16 ⁇ 16 address information from the 16 ⁇ 16 address correction unit 242. That is, the memory access control unit 243 sets a motion vector indicated by the 16 ⁇ 16 address information from the address correction unit 242 as a time correlation prediction vector, and makes a request to read the set time correlation prediction vector.
  • step S 264 the motion vector storage memory 222 reads the motion vector information in response to the request from the memory access control unit 243 and supplies the motion vector information to the inter / intra determination unit 236.
  • step S265 the inter / intra determination unit 236 determines whether or not the motion vector information read from the motion vector storage memory 222 indicates an intra (picture).
  • step S265 when it is determined that the read motion vector information indicates an intra, the inter / intra determination unit 236 instructs the 16 ⁇ 16 address generation unit 241 to re-read. This re-reading instruction is performed only once.
  • step S266 the 16 ⁇ 16 address generation unit 241 calculates the address of the 16 ⁇ 16 area in the case of intra.
  • the 16 ⁇ 16 address generation unit 141 supplies the calculated 16 ⁇ 16 address information to the 16 ⁇ 16 address correction unit 242.
  • step S267 the 16 ⁇ 16 address correction unit 242 uses the supplied information to determine whether the reference using the 16 ⁇ 16 address information from the 16 ⁇ 16 address generation unit 241 is a reference beyond the CU. Determine whether.
  • the 16 ⁇ 16 address correcting unit 242 corrects the 16 ⁇ 16 address information so that the reference is pulled back into the CU in step S268. Specifically, the 16 ⁇ 16 address correction unit 242 pulls back the 16 ⁇ 16 address information in the vertical direction using Expression (3).
  • the 16 ⁇ 16 address correcting unit 242 supplies the 16 ⁇ 16 address information corrected as a result of the pull back to the memory access control unit 243.
  • step S267 If it is determined in step S267 that the reference does not exceed the CU, the process in step S268 is skipped. That is, the 16 ⁇ 16 address correction unit 242 supplies the 16 ⁇ 16 address information from the 16 ⁇ 16 address generation unit 141 to the memory access control unit 143.
  • the memory access control unit 243 requests the motion vector storage memory 222 to read the motion vector indicated by the 16 ⁇ 16 address information from the 16 ⁇ 16 address correction unit 242. That is, the memory access control unit 243 sets a motion vector indicated by the 16 ⁇ 16 address information from the address correction unit 242 as a time correlation prediction vector, and makes a request to read the set time correlation prediction vector.
  • step S269 the motion vector storage memory 222 reads the motion vector information in response to the request from the memory access control unit 243, and supplies the motion vector information to the inter / intra determination unit 236.
  • the inter / intra determination unit 236 supplies the motion vector information from the motion vector storage memory 222 to the motion vector reconstruction unit 235 as temporal correlation prediction vector information.
  • step S265 if it is determined in step S265 that the read motion vector information indicates an intra, steps S266 to S269 are skipped. That is, the motion vector information read in step S264 is supplied to the motion vector reconstruction unit 235 as temporal correlation prediction vector information.
  • the address is corrected so that the reference is pulled back into the LCU. .
  • the LCU is not straddled in the vertical direction, so that the Col vector information is not re-read.
  • FIG. 30 is a block diagram illustrating another configuration example of the motion vector generation unit.
  • the motion vector generation unit in FIG. 30 corresponds to the motion vector difference generation unit in FIG.
  • the motion vector generation unit 221 of FIG. 30 includes a screen prediction vector generation unit 233, a peripheral motion vector storage unit 234, a motion vector reconstruction unit 235, and an inter / intra determination unit 236, and the motion vector generation unit of FIG. 221 is common.
  • the description is abbreviate
  • the motion vector generation unit 221 in FIG. 30 is different from the motion vector generation control unit 231 in the motion vector generation control unit 251 and the temporal prediction vector generation unit 232 in the temporal prediction vector generation unit 252 in FIG. This is different from the motion vector generation unit 221.
  • the motion vector generation control unit 251 is a unit corresponding to the motion vector difference generation control unit 151 in FIG.
  • the motion vector generation control unit 251 gives a prediction vector generation instruction to the in-picture prediction vector generation unit 233 and the temporal prediction vector generation unit 252.
  • the motion vector generation control unit 251 supplies the motion vector difference information from the lossless decoding unit 202 to the motion vector reconstruction unit 235 to reconstruct the motion vector.
  • the motion vector generation control unit 251 does not supply CU or PU information to the 16 ⁇ 16 address correction unit 262.
  • the temporal prediction vector generation unit 252 is a unit corresponding to the temporal prediction vector generation unit 152 in FIG.
  • the temporal prediction vector generation unit 252 is common to the temporal prediction vector generation unit 232 of FIG. 26 in that it includes a memory access control unit 243.
  • the 16 ⁇ 16 address generation unit 241 is replaced with a 16 ⁇ 16 address generation unit 261
  • the 16 ⁇ 16 address correction unit 242 is replaced with a 16 ⁇ 16 address correction unit 262. This is different from the 26 temporal prediction vector generation units 232.
  • the 16 ⁇ 16 address generation unit 261 is a unit corresponding to the 16 ⁇ 16 address generation unit 161 in FIG.
  • the 16 ⁇ 16 address generation unit 261 calculates the address of the 16 ⁇ 16 area to be referenced under the control of the motion vector generation control unit 251, and sends the calculated 16 ⁇ 16 address information to the 16 ⁇ 16 address correction unit 262. Supply.
  • the 16 ⁇ 16 address generation unit 261 calculates the address of the 16 ⁇ 16 area in the case of intra when there is a reread instruction from the inter / intra determination unit 236.
  • the 16 ⁇ 16 address generation unit 261 determines whether the address calculated in the first time and the address calculated in the second time (in the case of intra) are the same, and if they are the same, the addresses are the same. A coincidence flag indicating that is generated.
  • the 16 ⁇ 16 address generation unit 261 supplies the generated match flag to the 16 ⁇ 16 address correction unit 262.
  • the 16 ⁇ 16 address correcting unit 262 is a unit corresponding to the 16 ⁇ 16 address correcting unit 162 in FIG.
  • the 16 ⁇ 16 address correction unit 262 supplies the 16 ⁇ 16 address information from the 16 ⁇ 16 address generation unit 261 to the memory access control unit 243. Further, when receiving the flag from the 16 ⁇ 16 address generation unit 261, the 16 ⁇ 16 address correction unit 262 corrects the first 16 ⁇ 16 address so that the address is different from the first time.
  • the 16 ⁇ 16 address correction unit 262 supplies the corrected 16 ⁇ 16 address information to the memory access control unit 243.
  • the 16 ⁇ 16 address generation unit 261 is supplied with a prediction vector generation instruction from the motion vector generation control unit 251. In step S271, the 16 ⁇ 16 address generation unit 261 calculates the address of the 16 ⁇ 16 area to be referred to. The 16 ⁇ 16 address generation unit 261 supplies the calculated 16 ⁇ 16 address information to the 16 ⁇ 16 address correction unit 262.
  • the 16 ⁇ 16 address correction unit 262 supplies the 16 ⁇ 16 address information from the 16 ⁇ 16 address generation unit 261 to the memory access control unit 243.
  • the memory access control unit 243 requests the motion vector storage memory 222 to read the motion vector indicated by the 16 ⁇ 16 address information from the 16 ⁇ 16 address correction unit 262. That is, the memory access control unit 243 sets a motion vector indicated by the 16 ⁇ 16 address information from the address correction unit 242 as a time correlation prediction vector, and makes a request to read the set time correlation prediction vector.
  • step S272 the motion vector storage memory 222 reads the motion vector information in response to the request from the memory access control unit 243, and supplies the motion vector information to the inter / intra determination unit 236.
  • step S273 the inter / intra determination unit 236 determines whether or not the motion vector information read from the motion vector storage memory 222 indicates an intra (picture).
  • step S273 when it is determined that the read motion vector information indicates an intra, the inter / intra determination unit 236 instructs the 16 ⁇ 16 address generation unit 261 to re-read. This re-reading instruction is performed only once.
  • step S274 the 16 ⁇ 16 address generation unit 261 calculates the address of the 16 ⁇ 16 area in the case of intra.
  • step S275 the 16 ⁇ 16 address generation unit 261 determines whether the address calculated in the first time and the address calculated in the second time (in the case of intra) are the same.
  • the 16 ⁇ 16 address generation unit 261 determines in step S275 that the addresses are the same, the 16 ⁇ 16 address generation unit 261 generates a match flag indicating that the addresses are the same, and uses the generated match flag as the 16 ⁇ 16 address correction unit 262. To supply.
  • the 16 ⁇ 16 address correcting unit 262 When receiving the coincidence flag, the 16 ⁇ 16 address correcting unit 262 corrects the first 16 ⁇ 16 address so as to be different from the first address in step S276. That is, the 16 ⁇ 16 address correcting unit 262 corrects the 16 ⁇ 16 address by performing +16 in the horizontal direction of the first 16 ⁇ 16 address so as to indicate an area to the right of the region to which the 16 ⁇ 16 address belongs. . The 16 ⁇ 16 address correction unit 262 supplies the corrected 16 ⁇ 16 address information to the memory access control unit 243.
  • step S275 If it is determined in step S275 that the addresses are different, no match flag is generated and step S276 is also skipped. That is, the 16 ⁇ 16 address correction unit 262 supplies the second 16 ⁇ 16 address different from the first 16 ⁇ 16 address to the memory access control unit 243.
  • the memory access control unit 243 requests the motion vector storage memory 222 to read the motion vector indicated by the 16 ⁇ 16 address information from the 16 ⁇ 16 address correction unit 242. That is, the memory access control unit 243 sets a motion vector indicated by the 16 ⁇ 16 address information from the address correction unit 242 as a time correlation prediction vector, and makes a request to read the set time correlation prediction vector.
  • step S277 the motion vector storage memory 222 reads the motion vector information in response to the request from the memory access control unit 243, and supplies the motion vector information to the inter / intra determination unit 236.
  • the inter / intra determination unit 236 supplies the motion vector information from the motion vector storage memory 222 to the motion vector reconstruction unit 235 as temporal correlation prediction vector information.
  • step S273 if it is determined in step S273 that the read motion vector information indicates an intra, steps S274 to S277 are skipped. That is, the motion vector information read in step S272 is supplied to the motion vector reconstruction unit 235 as temporal correlation prediction vector information.
  • FIG. 32 is a block diagram illustrating still another configuration example of the motion vector generation unit. Note that the motion vector generation unit in FIG. 32 corresponds to the motion vector difference generation unit in FIG.
  • the motion vector generation unit 221 in FIG. 26 is the same as the motion vector generation unit 221 in FIG. 26 in that the motion vector generation unit 221 in FIG. 32 includes a screen prediction vector generation unit 233 and a peripheral motion vector storage unit 234.
  • the description is abbreviate
  • the motion vector generation unit 221 in FIG. 32 is that the motion vector generation control unit 231 is replaced with the motion vector generation control unit 271, and the temporal prediction vector generation unit 232 is replaced with the temporal prediction vector generation unit 272. This is different from the motion vector generation unit 221.
  • the motion vector generation unit 221 in FIG. 32 is different from the motion vector generation unit 221 in FIG. 26 in that the motion vector reconstruction unit 235 is replaced with a motion vector reconstruction unit 273.
  • the motion vector generation unit 221 in FIG. 32 is different from the motion vector generation unit 221 in FIG. 26 in that the inter / intra determination unit 236 is removed and a storage vector selection unit 274 is added. .
  • the motion vector generation control unit 271 is a unit corresponding to the motion vector difference generation control unit 171 of FIG.
  • the motion vector generation control unit 271 gives an instruction to generate a prediction vector to the in-picture prediction vector generation unit 233 and the temporal prediction vector generation unit 272.
  • the motion vector generation control unit 271 supplies the motion vector difference information from the lossless decoding unit 202 to the motion vector reconstruction unit 273 to reconstruct the motion vector.
  • the motion vector generation control unit 271 supplies the intra region information to the storage vector selection unit 274 and causes the motion vector storage memory 222 to store the motion vector.
  • the temporal prediction vector generation unit 272 is a unit corresponding to the temporal prediction vector generation unit 172 of FIG.
  • the temporal prediction vector generation unit 272 is common to the temporal prediction vector generation unit 232 in FIG. 26 in that the temporal prediction vector generation unit 272 includes a memory access control unit 243.
  • the temporal prediction vector generation unit 272 is different from the time prediction vector in FIG. 26 in that the 16 ⁇ 16 address generation unit 241 is replaced with the 16 ⁇ 16 address generation unit 281 and the 16 ⁇ 16 address correction unit 242 is excluded. This is different from the generation unit 232.
  • the motion vector reconstruction unit 273 is a unit corresponding to the motion vector reconstruction unit 173 of FIG. It is determined whether the spatial prediction vector from the in-picture prediction vector generation unit 233 and the temporal prediction vector from the motion vector storage memory 222 can be referred to.
  • the motion vector reconstruction unit 273 generates motion vector information by adding the motion vector indicated by the prediction vector index as a prediction vector among the referenceable motion vectors, and the motion vector difference information.
  • the motion vector reconstruction unit 273 supplies the generated motion vector information to the motion prediction / compensation unit 212 together with other decoded information (prediction mode information, reference frame information, flags, various parameters, and the like).
  • the storage vector selection unit 274 is a unit corresponding to the storage vector selection unit 174 of FIG.
  • the saved vector selection unit 274 saves the motion vector information of the processing target area, which is a divided area obtained by dividing the screen into 16 ⁇ 16, in the motion vector saving memory 222.
  • the save vector selection unit 274 receives the motion vector information from the motion vector reconstruction unit 273, the information on the intra region from the motion vector generation control unit 271, and the vector and mode information of the peripheral region from the peripheral motion vector storage unit 234. And so on.
  • the storage vector selection unit 274 causes the peripheral motion vector storage unit 234 to store motion vector information and mode information.
  • the 16 ⁇ 16 address generation unit 281 is supplied with a prediction vector generation instruction from the motion vector generation control unit 271. In step S281, the 16 ⁇ 16 address generation unit 281 calculates the address of the 16 ⁇ 16 area to be referred to. The 16 ⁇ 16 address generation unit 281 supplies the calculated 16 ⁇ 16 address information to the memory access control unit 243.
  • the memory access control unit 243 requests the motion vector storage memory 222 to read the motion vector indicated by the 16 ⁇ 16 address information from the 16 ⁇ 16 address generation unit 281.
  • FIG. 34 is a flowchart illustrating the flow of the storage process described above with reference to FIG. 20 described above, and will be described with reference to FIG. In each step of FIG. 34, basically the same processing as the processing in each step of FIG. 23 described above is performed.
  • the motion vector reconstruction unit 273 supplies the generated motion vector information to the saved vector selection unit 274.
  • the motion vector generation control unit 271 supplies the intra area information to the saved vector selection unit 274.
  • step S301 based on the intra area information from the motion vector generation control unit 271, the saved vector selection unit 274 determines whether or not the processing target area (that is, the 16 ⁇ 16 area with a thick frame in FIG. 20) is inter. Determine. That is, in step S301, the saved vector selection unit 274 determines whether or not the PU including the pixel position P shown in FIG. If it is determined in step S301 that the processing target area is inter, the process proceeds to step S302.
  • the processing target area that is, the 16 ⁇ 16 area with a thick frame in FIG. 20
  • step S302 the storage vector selection unit 274 sets the motion vector information from the motion vector reconstruction unit 273 as the vector information of the processing target region, and stores the set motion vector information in the motion vector storage memory 122. Thereafter, the processing returns to step S240 in FIG.
  • step S301 If it is determined in step S301 that the processing target area is intra, the process proceeds to step S303.
  • the saved vector selection unit 274 obtains the motion vector information and mode information of the PU including the pixel position A shown in FIG.
  • step S303 the storage vector selection unit 274 determines whether or not the pixel position A is available. That is, in step S303, the saved vector selection unit 274 determines whether or not the PU motion vector information including the pixel position A is available.
  • step S304 the save vector selection unit 274 sets the motion vector information of the PU including the pixel position A as the vector information of the processing target area, and saves the set motion vector information in the motion vector save memory 122. Thereafter, the processing returns to step S240 in FIG.
  • step S303 If the PU mode information including the pixel position A is intra, and it is determined in step S303 that the pixel position A is not usable, the process proceeds to step S305.
  • the saved vector selection unit 274 obtains the motion vector information and mode information of the PU including the pixel position B shown in FIG.
  • the saved vector selection unit 274 determines whether or not the pixel position B is available in step S305. That is, the saved vector selection unit 274 determines whether or not the motion vector information of the PU including the pixel position B is available in step S305.
  • step S ⁇ b> 306 the save vector selection unit 274 sets the motion vector information of the PU including the pixel position B as the vector information of the processing target area, and saves the set motion vector information in the motion vector save memory 122. Thereafter, the processing returns to step S240 in FIG.
  • step S305 If the PU mode information including the pixel position B is intra, and it is determined in step S305 that the pixel position A is not usable, the process proceeds to step S307.
  • the saved vector selection unit 274 obtains the motion vector information and mode information of the PU including the pixel position C shown in FIG.
  • step S307 the storage vector selection unit 274 determines whether or not the pixel position C is available. That is, in step S307, the saved vector selection unit 274 determines whether or not the PU motion vector information including the pixel position C is available.
  • step S308 the save vector selection unit 274 sets the motion vector information of the PU including the pixel position C as the vector information of the processing target area, and saves the set motion vector information in the motion vector save memory 122. Thereafter, the processing returns to step S240 in FIG.
  • step S307 If the mode information of the PU including the pixel position C is intra and it is determined in step S307 that the pixel position C is not usable, the process proceeds to step S309.
  • step S308 the saved vector selection unit 274 saves the information as intra in the motion vector saving memory 122 as vector information of the processing target area. Thereafter, the processing returns to step S240 in FIG.
  • FIG. 35 is a flowchart for explaining the flow of the storage process described above with reference to FIG. 21 described above, and will be described with reference to FIG.
  • FIG. 35 basically the same processing as the processing in each step of FIG. 24 described above is performed.
  • the motion vector reconstruction unit 273 supplies the generated motion vector information to the saved vector selection unit 274.
  • the motion vector generation control unit 271 supplies the intra area information to the saved vector selection unit 274.
  • step S311 the save vector selection unit 274 stores the motion vector of the processing target region (16 ⁇ 16 region shown in FIG. 21), and based on the intra region information from the motion vector generation control unit 271, FIG. It is determined whether or not the pixel position A shown in FIG. That is, in step S311, the saved vector selection unit 274 determines whether or not the motion vector information of the PU including the pixel position A is available.
  • step S311 If it is determined in step S311 that the pixel position A is available, the process proceeds to step S312.
  • step S312 the saved vector selection unit 274 sets and sets the motion vector information of the PU (Pl0_0 in FIG. 21) including the pixel position A from the motion vector reconstruction unit 273 as the vector information of the processing target region.
  • the motion vector information is stored in the motion vector storage memory 122. Thereafter, the processing returns to step S240 in FIG.
  • step S311 If it is determined in step S311 that the pixel position A is not usable, the process proceeds to step S313.
  • step S313 the saved vector selection unit 274 determines whether or not the pixel position B shown in FIG. 21 is available based on the intra area information from the motion vector generation control unit 271. That is, in step S313, the saved vector selection unit 274 determines whether or not the PU motion vector information including the pixel position B is available.
  • step S311 If it is determined in step S311 that the pixel position B is available, the process proceeds to step S314.
  • step S314 the saved vector selection unit 274 sets and sets the motion vector information of the PU (Pl1_0 in FIG. 21) including the pixel position B from the motion vector reconstruction unit 273 as the vector information of the processing target region.
  • the motion vector information is stored in the motion vector storage memory 122. Thereafter, the processing returns to step S240 in FIG.
  • step S313 If it is determined in step S313 that the pixel position B is not usable, the process proceeds to step S315.
  • step S315 the saved vector selection unit 274 determines whether or not the pixel position C shown in FIG. 21 is available based on the intra area information from the motion vector generation control unit 271. That is, the saved vector selection unit 274 determines whether or not the motion vector information of the PU including the pixel position C is available in step S315.
  • step S316 the saved vector selection unit 274 sets and sets the motion vector information of the PU (Pl2_0 in FIG. 21) including the pixel position C from the motion vector reconstruction unit 273 as the vector information of the processing target region.
  • the motion vector information is stored in the motion vector storage memory 122. Thereafter, the processing returns to step S240 in FIG.
  • step S315 If it is determined in step S315 that the pixel position C is not usable, the process proceeds to step S317.
  • step S317 the saved vector selection unit 274 determines whether or not the pixel position D shown in FIG. 21 is available based on the intra area information from the motion vector generation control unit 271. That is, in step S317, the saved vector selection unit 274 determines whether or not the motion vector information of the PU including the pixel position D is available.
  • step S317 If it is determined in step S317 that the pixel position D is available, the process proceeds to step S318.
  • step S3108 the saved vector selection unit 274 sets and sets the motion vector information of the PU (Pl3_0 in FIG. 21) including the pixel position D from the motion vector reconstruction unit 273 as the vector information of the processing target region.
  • the motion vector information is stored in the motion vector storage memory 122. Thereafter, the processing returns to step S240 in FIG.
  • step S318 If it is determined in step S318 that the pixel position D is not usable, the process proceeds to step S319.
  • step S 319 the saved vector selection unit 274 sets that it is intra as the vector information of the processing target area, and saves the set motion vector information in the motion vector save memory 122. Thereafter, the processing returns to step S240 in FIG.
  • step S3108 the motion vector storage processing target region and the position of ColPU are substantially determined on a one-to-one basis. As described above, rereading of the vector information is suppressed.
  • the HEVC scheme is used as the encoding scheme.
  • the present disclosure is not limited to this, and other encoding schemes / decoding schemes that perform processing using time-correlated motion vectors are applied. be able to.
  • this disclosure includes, for example, MPEG, When receiving image information (bitstream) compressed by orthogonal transform such as discrete cosine transform and motion compensation, such as 26x, via network media such as satellite broadcasting, cable television, the Internet, or mobile phones.
  • the present invention can be applied to an image encoding device and an image decoding device used in the above.
  • the present disclosure can be applied to an image encoding device and an image decoding device that are used when processing on a storage medium such as an optical disk, a magnetic disk, and a flash memory.
  • the present disclosure can also be applied to motion prediction / compensation devices included in such image encoding devices and image decoding devices.
  • a CPU (Central Processing Unit) 501 of a computer 500 has various programs according to a program stored in a ROM (Read Only Memory) 502 or a program loaded from a storage unit 513 into a RAM (Random Access Memory) 503. Execute the process.
  • the RAM 503 also appropriately stores data necessary for the CPU 501 to execute various processes.
  • the CPU 501, the ROM 502, and the RAM 503 are connected to each other via a bus 504.
  • An input / output interface 510 is also connected to the bus 504.
  • the input / output interface 510 includes an input unit 511 including a keyboard and a mouse, a display including a CRT (Cathode Ray Tube) and an LCD (Liquid Crystal Display), an output unit 512 including a speaker, and a hard disk.
  • a communication unit 514 including a storage unit 513 and a modem is connected. The communication unit 514 performs communication processing via a network including the Internet.
  • a drive 515 is connected to the input / output interface 510 as necessary, and a removable medium 521 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory is appropriately mounted, and a computer program read from them is It is installed in the storage unit 513 as necessary.
  • a removable medium 521 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory is appropriately mounted, and a computer program read from them is It is installed in the storage unit 513 as necessary.
  • a program constituting the software is installed from a network or a recording medium.
  • the recording medium is distributed to distribute the program to the user separately from the apparatus main body, and includes a magnetic disk (including a flexible disk) on which the program is recorded, an optical disk ( It only consists of removable media 521 consisting of CD-ROM (compact disc -read only memory), DVD (including digital Versatile disc), magneto-optical disk (including MD (mini disc)), or semiconductor memory. Rather, it is composed of a ROM 502 on which a program is recorded and a hard disk included in the storage unit 513, which is distributed to the user in a state of being pre-installed in the apparatus main body.
  • a magnetic disk including a flexible disk
  • an optical disk It only consists of removable media 521 consisting of CD-ROM (compact disc -read only memory), DVD (including digital Versatile disc), magneto-optical disk (including MD (mini disc)), or semiconductor memory. Rather, it is composed of a ROM 502 on which a program is recorded and a hard disk included in the storage unit 513, which is
  • the program executed by the computer may be a program that is processed in time series in the order described in this specification, or in parallel or at a necessary timing such as when a call is made. It may be a program for processing.
  • the step of describing the program recorded on the recording medium is not limited to the processing performed in chronological order according to the described order, but may be performed in parallel or It also includes processes that are executed individually.
  • system represents the entire apparatus composed of a plurality of devices (apparatuses).
  • the configuration described as one device (or processing unit) may be divided and configured as a plurality of devices (or processing units).
  • the configurations described above as a plurality of devices (or processing units) may be combined into a single device (or processing unit).
  • a configuration other than that described above may be added to the configuration of each device (or each processing unit).
  • a part of the configuration of a certain device (or processing unit) may be included in the configuration of another device (or other processing unit). . That is, the present technology is not limited to the above-described embodiment, and various modifications can be made without departing from the gist of the present technology.
  • An image encoding device and an image decoding device include a transmitter or a receiver in optical broadcasting, satellite broadcasting, cable broadcasting such as cable TV, distribution on the Internet, and distribution to terminals by cellular communication, etc.
  • the present invention can be applied to various electronic devices such as a recording device that records an image on a medium such as a magnetic disk and a flash memory, or a playback device that reproduces an image from these storage media.
  • a recording device that records an image on a medium such as a magnetic disk and a flash memory
  • a playback device that reproduces an image from these storage media.
  • FIG. 37 shows an example of a schematic configuration of a television apparatus to which the above-described embodiment is applied.
  • the television apparatus 900 includes an antenna 901, a tuner 902, a demultiplexer 903, a decoder 904, a video signal processing unit 905, a display unit 906, an audio signal processing unit 907, a speaker 908, an external interface 909, a control unit 910, a user interface 911, And a bus 912.
  • Tuner 902 extracts a signal of a desired channel from a broadcast signal received via antenna 901, and demodulates the extracted signal. Then, the tuner 902 outputs the encoded bit stream obtained by the demodulation to the demultiplexer 903. In other words, the tuner 902 serves as a transmission unit in the television apparatus 900 that receives an encoded stream in which an image is encoded.
  • the demultiplexer 903 separates the video stream and audio stream of the viewing target program from the encoded bit stream, and outputs each separated stream to the decoder 904. Further, the demultiplexer 903 extracts auxiliary data such as EPG (Electronic Program Guide) from the encoded bit stream, and supplies the extracted data to the control unit 910. Note that the demultiplexer 903 may perform descrambling when the encoded bit stream is scrambled.
  • EPG Electronic Program Guide
  • the decoder 904 decodes the video stream and audio stream input from the demultiplexer 903. Then, the decoder 904 outputs the video data generated by the decoding process to the video signal processing unit 905. In addition, the decoder 904 outputs audio data generated by the decoding process to the audio signal processing unit 907.
  • the video signal processing unit 905 reproduces the video data input from the decoder 904 and causes the display unit 906 to display the video.
  • the video signal processing unit 905 may cause the display unit 906 to display an application screen supplied via a network.
  • the video signal processing unit 905 may perform additional processing such as noise removal on the video data according to the setting.
  • the video signal processing unit 905 may generate a GUI (Graphical User Interface) image such as a menu, a button, or a cursor, and superimpose the generated image on the output image.
  • GUI Graphic User Interface
  • the display unit 906 is driven by a drive signal supplied from the video signal processing unit 905, and displays an image on a video screen of a display device (for example, a liquid crystal display, a plasma display, or an OELD (Organic ElectroLuminescence Display) (organic EL display)). Or an image is displayed.
  • a display device for example, a liquid crystal display, a plasma display, or an OELD (Organic ElectroLuminescence Display) (organic EL display)). Or an image is displayed.
  • the audio signal processing unit 907 performs reproduction processing such as D / A conversion and amplification on the audio data input from the decoder 904, and outputs audio from the speaker 908.
  • the audio signal processing unit 907 may perform additional processing such as noise removal on the audio data.
  • the external interface 909 is an interface for connecting the television apparatus 900 to an external device or a network.
  • a video stream or an audio stream received via the external interface 909 may be decoded by the decoder 904. That is, the external interface 909 also has a role as a transmission unit in the television apparatus 900 that receives an encoded stream in which an image is encoded.
  • the control unit 910 includes a processor such as a CPU and memories such as a RAM and a ROM.
  • the memory stores a program executed by the CPU, program data, EPG data, data acquired via a network, and the like.
  • the program stored in the memory is read and executed by the CPU when the television apparatus 900 is activated.
  • the CPU executes the program to control the operation of the television device 900 according to an operation signal input from the user interface 911, for example.
  • the user interface 911 is connected to the control unit 910.
  • the user interface 911 includes, for example, buttons and switches for the user to operate the television device 900, a remote control signal receiving unit, and the like.
  • the user interface 911 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 910.
  • the bus 912 connects the tuner 902, the demultiplexer 903, the decoder 904, the video signal processing unit 905, the audio signal processing unit 907, the external interface 909, and the control unit 910 to each other.
  • the decoder 904 has the function of the image decoding apparatus according to the above-described embodiment. Therefore, when decoding an image by the television apparatus 900, it is possible to reduce memory access when reading out motion vectors that are temporally different from surrounding motion vectors.
  • FIG. 38 shows an example of a schematic configuration of a mobile phone to which the above-described embodiment is applied.
  • a mobile phone 920 includes an antenna 921, a communication unit 922, an audio codec 923, a speaker 924, a microphone 925, a camera unit 926, an image processing unit 927, a demultiplexing unit 928, a recording / reproducing unit 929, a display unit 930, a control unit 931, an operation A portion 932 and a bus 933.
  • the antenna 921 is connected to the communication unit 922.
  • the speaker 924 and the microphone 925 are connected to the audio codec 923.
  • the operation unit 932 is connected to the control unit 931.
  • the bus 933 connects the communication unit 922, the audio codec 923, the camera unit 926, the image processing unit 927, the demultiplexing unit 928, the recording / reproducing unit 929, the display unit 930, and the control unit 931 to each other.
  • the mobile phone 920 has various operation modes including a voice call mode, a data communication mode, a shooting mode, and a videophone mode, and is used for sending and receiving voice signals, sending and receiving e-mail or image data, taking images, and recording data. Perform the action.
  • the analog voice signal generated by the microphone 925 is supplied to the voice codec 923.
  • the audio codec 923 converts an analog audio signal into audio data, A / D converts the compressed audio data, and compresses it. Then, the audio codec 923 outputs the compressed audio data to the communication unit 922.
  • the communication unit 922 encodes and modulates the audio data and generates a transmission signal. Then, the communication unit 922 transmits the generated transmission signal to a base station (not shown) via the antenna 921. In addition, the communication unit 922 amplifies a radio signal received via the antenna 921 and performs frequency conversion to acquire a received signal.
  • the communication unit 922 demodulates and decodes the received signal to generate audio data, and outputs the generated audio data to the audio codec 923.
  • the audio codec 923 decompresses the audio data and performs D / A conversion to generate an analog audio signal. Then, the audio codec 923 supplies the generated audio signal to the speaker 924 to output audio.
  • the control unit 931 generates character data constituting the e-mail in response to an operation by the user via the operation unit 932.
  • the control unit 931 causes the display unit 930 to display characters.
  • the control unit 931 generates e-mail data in response to a transmission instruction from the user via the operation unit 932, and outputs the generated e-mail data to the communication unit 922.
  • the communication unit 922 encodes and modulates email data and generates a transmission signal. Then, the communication unit 922 transmits the generated transmission signal to a base station (not shown) via the antenna 921.
  • the communication unit 922 amplifies a radio signal received via the antenna 921 and performs frequency conversion to acquire a received signal.
  • the communication unit 922 demodulates and decodes the received signal to restore the email data, and outputs the restored email data to the control unit 931.
  • the control unit 931 displays the content of the electronic mail on the display unit 930 and stores the electronic mail data in the storage medium of the recording / reproducing unit 929.
  • the recording / reproducing unit 929 has an arbitrary readable / writable storage medium.
  • the storage medium may be a built-in storage medium such as RAM or flash memory, and is externally mounted such as a hard disk, magnetic disk, magneto-optical disk, optical disk, USB (Unallocated Space Space Bitmap) memory, or memory card. It may be a storage medium.
  • the camera unit 926 images a subject to generate image data, and outputs the generated image data to the image processing unit 927.
  • the image processing unit 927 encodes the image data input from the camera unit 926 and stores the encoded stream in the storage medium of the storage / playback unit 929.
  • the demultiplexing unit 928 multiplexes the video stream encoded by the image processing unit 927 and the audio stream input from the audio codec 923, and the multiplexed stream is the communication unit 922. Output to.
  • the communication unit 922 encodes and modulates the stream and generates a transmission signal. Then, the communication unit 922 transmits the generated transmission signal to a base station (not shown) via the antenna 921.
  • the communication unit 922 amplifies a radio signal received via the antenna 921 and performs frequency conversion to acquire a received signal.
  • These transmission signal and reception signal may include an encoded bit stream.
  • the communication unit 922 demodulates and decodes the received signal to restore the stream, and outputs the restored stream to the demultiplexing unit 928.
  • the demultiplexing unit 928 separates the video stream and the audio stream from the input stream, and outputs the video stream to the image processing unit 927 and the audio stream to the audio codec 923.
  • the image processing unit 927 decodes the video stream and generates video data.
  • the video data is supplied to the display unit 930, and a series of images is displayed on the display unit 930.
  • the audio codec 923 decompresses the audio stream and performs D / A conversion to generate an analog audio signal. Then, the audio codec 923 supplies the generated audio signal to the speaker 924 to output audio.
  • the image processing unit 927 has the functions of the image encoding device and the image decoding device according to the above-described embodiment. Accordingly, when the mobile phone 920 encodes and decodes an image, it is possible to reduce memory access when reading out temporally different motion vectors from the surrounding motion vectors.
  • FIG. 39 shows an example of a schematic configuration of a recording / reproducing apparatus to which the above-described embodiment is applied.
  • the recording / reproducing device 940 encodes audio data and video data of a received broadcast program and records the encoded data on a recording medium.
  • the recording / reproducing device 940 may encode audio data and video data acquired from another device and record them on a recording medium, for example.
  • the recording / reproducing device 940 reproduces data recorded on the recording medium on a monitor and a speaker, for example, in accordance with a user instruction. At this time, the recording / reproducing device 940 decodes the audio data and the video data.
  • the recording / reproducing apparatus 940 includes a tuner 941, an external interface 942, an encoder 943, an HDD (Hard Disk Drive) 944, a disk drive 945, a selector 946, a decoder 947, an OSD (On-Screen Display) 948, a control unit 949, and a user interface. 950.
  • Tuner 941 extracts a signal of a desired channel from a broadcast signal received via an antenna (not shown), and demodulates the extracted signal. Then, the tuner 941 outputs the encoded bit stream obtained by the demodulation to the selector 946. That is, the tuner 941 has a role as a transmission unit in the recording / reproducing apparatus 940.
  • the external interface 942 is an interface for connecting the recording / reproducing apparatus 940 to an external device or a network.
  • the external interface 942 may be, for example, an IEEE1394 interface, a network interface, a USB interface, or a flash memory interface.
  • video data and audio data received via the external interface 942 are input to the encoder 943. That is, the external interface 942 serves as a transmission unit in the recording / reproducing device 940.
  • the encoder 943 encodes video data and audio data when the video data and audio data input from the external interface 942 are not encoded. Then, the encoder 943 outputs the encoded bit stream to the selector 946.
  • the HDD 944 records an encoded bit stream in which content data such as video and audio is compressed, various programs, and other data on an internal hard disk. Further, the HDD 944 reads out these data from the hard disk when reproducing video and audio.
  • the disk drive 945 performs recording and reading of data to and from the mounted recording medium.
  • the recording medium mounted on the disk drive 945 is, for example, a DVD disk (DVD-Video, DVD-RAM, DVD-R, DVD-RW, DVD + R, DVD + RW, etc.) or a Blu-ray (registered trademark) disk. It may be.
  • the selector 946 selects an encoded bit stream input from the tuner 941 or the encoder 943 when recording video and audio, and outputs the selected encoded bit stream to the HDD 944 or the disk drive 945. In addition, the selector 946 outputs the encoded bit stream input from the HDD 944 or the disk drive 945 to the decoder 947 during video and audio reproduction.
  • the decoder 947 decodes the encoded bit stream and generates video data and audio data. Then, the decoder 947 outputs the generated video data to the OSD 948. The decoder 904 outputs the generated audio data to an external speaker.
  • OSD 948 reproduces the video data input from the decoder 947 and displays the video. Further, the OSD 948 may superimpose a GUI image such as a menu, a button, or a cursor on the video to be displayed.
  • the control unit 949 includes a processor such as a CPU and memories such as a RAM and a ROM.
  • the memory stores a program executed by the CPU, program data, and the like.
  • the program stored in the memory is read and executed by the CPU when the recording / reproducing apparatus 940 is activated, for example.
  • the CPU controls the operation of the recording / reproducing apparatus 940 in accordance with an operation signal input from the user interface 950, for example, by executing the program.
  • the user interface 950 is connected to the control unit 949.
  • the user interface 950 includes, for example, buttons and switches for the user to operate the recording / reproducing device 940, a remote control signal receiving unit, and the like.
  • the user interface 950 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 949.
  • the encoder 943 has the function of the image encoding apparatus according to the above-described embodiment.
  • the decoder 947 has the function of the image decoding apparatus according to the above-described embodiment.
  • FIG. 40 illustrates an example of a schematic configuration of an imaging apparatus to which the above-described embodiment is applied.
  • the imaging device 960 images a subject to generate an image, encodes the image data, and records it on a recording medium.
  • the imaging device 960 includes an optical block 961, an imaging unit 962, a signal processing unit 963, an image processing unit 964, a display unit 965, an external interface 966, a memory 967, a media drive 968, an OSD 969, a control unit 970, a user interface 971, and a bus. 972.
  • the optical block 961 is connected to the imaging unit 962.
  • the imaging unit 962 is connected to the signal processing unit 963.
  • the display unit 965 is connected to the image processing unit 964.
  • the user interface 971 is connected to the control unit 970.
  • the bus 972 connects the image processing unit 964, the external interface 966, the memory 967, the media drive 968, the OSD 969, and the control unit 970 to each other.
  • the optical block 961 includes a focus lens and a diaphragm mechanism.
  • the optical block 961 forms an optical image of the subject on the imaging surface of the imaging unit 962.
  • the imaging unit 962 includes an image sensor such as a CCD (Charge-Coupled Device) or a CMOS (Complementary Metal-Oxide Semiconductor), and converts an optical image formed on the imaging surface into an image signal as an electrical signal by photoelectric conversion. Then, the imaging unit 962 outputs the image signal to the signal processing unit 963.
  • CCD Charge-Coupled Device
  • CMOS Complementary Metal-Oxide Semiconductor
  • the signal processing unit 963 performs various camera signal processing such as knee correction, gamma correction, and color correction on the image signal input from the imaging unit 962.
  • the signal processing unit 963 outputs the image data after the camera signal processing to the image processing unit 964.
  • the image processing unit 964 encodes the image data input from the signal processing unit 963 and generates encoded data. Then, the image processing unit 964 outputs the generated encoded data to the external interface 966 or the media drive 968. The image processing unit 964 also decodes encoded data input from the external interface 966 or the media drive 968 to generate image data. Then, the image processing unit 964 outputs the generated image data to the display unit 965. In addition, the image processing unit 964 may display the image by outputting the image data input from the signal processing unit 963 to the display unit 965. Further, the image processing unit 964 may superimpose display data acquired from the OSD 969 on an image output to the display unit 965.
  • the OSD 969 generates a GUI image such as a menu, a button, or a cursor, and outputs the generated image to the image processing unit 964.
  • the external interface 966 is configured as a USB input / output terminal, for example.
  • the external interface 966 connects the imaging device 960 and a printer, for example, when printing an image.
  • a drive is connected to the external interface 966 as necessary.
  • a removable medium such as a magnetic disk or an optical disk is attached to the drive, and a program read from the removable medium can be installed in the imaging device 960.
  • the external interface 966 may be configured as a network interface connected to a network such as a LAN or the Internet. That is, the external interface 966 has a role as a transmission unit in the imaging device 960.
  • the recording medium mounted on the media drive 968 may be any readable / writable removable medium such as a magnetic disk, a magneto-optical disk, an optical disk, or a semiconductor memory.
  • a recording medium may be fixedly mounted on the media drive 968, and a non-portable storage unit such as an internal hard disk drive or an SSD (Solid State Drive) may be configured.
  • the control unit 970 includes a processor such as a CPU and memories such as a RAM and a ROM.
  • the memory stores a program executed by the CPU, program data, and the like.
  • the program stored in the memory is read and executed by the CPU when the imaging device 960 is activated, for example.
  • the CPU controls the operation of the imaging device 960 according to an operation signal input from the user interface 971 by executing the program.
  • the user interface 971 is connected to the control unit 970.
  • the user interface 971 includes, for example, buttons and switches for the user to operate the imaging device 960.
  • the user interface 971 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 970.
  • the image processing unit 964 has the functions of the image encoding device and the image decoding device according to the above-described embodiment. Thereby, when the image is encoded and decoded by the imaging device 960, memory access when reading out temporally different motion vectors from the surrounding motion vectors can be reduced.
  • the method for transmitting such information is not limited to such an example.
  • these pieces of information may be transmitted or recorded as separate data associated with the encoded bitstream without being multiplexed into the encoded bitstream.
  • the term “associate” means that an image (which may be a part of an image such as a slice or a block) included in the bitstream and information corresponding to the image can be linked at the time of decoding. Means. That is, information may be transmitted on a transmission path different from that of the image (or bit stream).
  • Information may be recorded on a recording medium (or another recording area of the same recording medium) different from the image (or bit stream). Furthermore, the information and the image (or bit stream) may be associated with each other in an arbitrary unit such as a plurality of frames, one frame, or a part of the frame.
  • this technique can also take the following structures.
  • An image processing apparatus comprising: a decoding unit that decodes a bitstream and generates the image using a motion vector generated using the temporal correlation prediction vector set by the setting unit.
  • the setting unit reads a motion vector corresponding to the divided region indicated by the address corrected by the address correcting unit as a temporal correlation prediction vector from a memory that stores the motion vector for each divided region.
  • the image processing apparatus according to 1).
  • (3) The image processing apparatus according to (1) or (2), wherein the address correction unit corrects the address by subtracting 1 from the address.
  • the address correction unit pulls back the y coordinate of the lower right pixel position into the current decoding unit area.
  • the image processing apparatus is When the lower right pixel position in the divided area obtained by dividing the image indicated by the address calculated when obtaining the prediction vector of temporal correlation is outside the current decoding unit area, the pixel position is set to the current decoding unit area. Correcting the address so as to return to the region, and setting a motion vector corresponding to the divided region indicated by the corrected address as the prediction vector of the time correlation, An image processing method for generating the image by decoding a bitstream using a motion vector generated using the set prediction vector of the time correlation.
  • the pixel position is An address correction unit that corrects the address so as to return to the current encoding unit area;
  • a setting unit that sets a motion vector corresponding to a divided region indicated by the address corrected by the address correction unit as the prediction vector of the time correlation;
  • An image processing apparatus comprising: an encoding unit that encodes the image using a prediction image predicted from a motion vector corresponding to the temporal correlation prediction vector set by the setting unit.
  • the image processing apparatus When the lower right pixel position in the divided area obtained by dividing the image indicated by the address calculated when obtaining the temporal correlation prediction vector is outside the current encoding unit area, the pixel position is converted to the current encoding. Correct the address to pull back into the unit area, A motion vector corresponding to the divided region indicated by the corrected address is set as the temporal correlation prediction vector; An image processing method for encoding the image using a predicted image predicted from a motion vector corresponding to the set temporal correlation prediction vector. (8) A prediction unit area including a first address calculated when obtaining a prediction vector of temporal correlation and an upper left pixel position of a divided area obtained by dividing the image indicated by the first address is intra.
  • An address correction unit that corrects the second address to indicate an adjacent divided region adjacent to the divided region when the second address calculated in the case is the same;
  • a setting unit that sets a motion vector corresponding to an adjacent divided region indicated by the address corrected by the address correcting unit as a prediction vector of the time correlation;
  • An image processing apparatus comprising: a decoding unit that decodes a bitstream and generates the image using a motion vector generated using the temporal correlation prediction vector set by the setting unit. (9)
  • the setting unit reads a motion vector corresponding to an adjacent divided region indicated by the address corrected by the address correction unit as a temporal correlation prediction vector from a memory that stores a motion vector for each divided region.
  • a prediction unit area including a first address calculated when obtaining a prediction vector of time correlation and an upper left pixel position of a divided area obtained by dividing the image indicated by the first address is intra.
  • An address correction unit that corrects the second address to indicate an adjacent divided region adjacent to the divided region when the second address calculated in the case is the same;
  • a setting unit that sets a motion vector corresponding to an adjacent divided region indicated by the address corrected by the address correcting unit as a prediction vector of the time correlation;
  • An image processing apparatus comprising: an encoding unit that encodes the image using a prediction image predicted from a motion vector corresponding to the temporal correlation prediction vector set by the setting unit.
  • the image processing apparatus When the prediction unit region including the first address calculated when obtaining the temporal correlation prediction vector and the upper left pixel position of the divided region obtained by dividing the image indicated by the first address is intra.
  • the second address calculated in the above is the same, the second address is corrected to indicate an adjacent divided area adjacent to the divided area, A motion vector corresponding to the adjacent divided region indicated by the corrected address is set as a prediction vector of the time correlation; An image processing method for encoding the image using a predicted image predicted from a motion vector corresponding to the set temporal correlation prediction vector.
  • the setting unit stores the selected motion vector as a motion vector corresponding to the current divided region in a memory that stores a motion vector used for obtaining a temporal correlation prediction vector for each divided region.
  • the image processing apparatus according to (14).
  • (16) The image processing device according to (14) or (15), wherein the adjacent pixel position is a pixel position adjacent to the left, upper left, or upper side with respect to the pixel position.
  • (17) When the prediction unit region including the pixel position at the upper left of the current divided region is intra, the setting unit determines a region of a different prediction unit including an adjacent pixel position adjacent to the left of the pixel position.
  • a motion vector of a different prediction unit area including an adjacent pixel position adjacent to the upper left of the pixel position is selected.
  • a motion vector of a region of a different prediction unit including an adjacent pixel position adjacent to the pixel position is selected.
  • the image processing apparatus When the prediction unit region including the upper left pixel position of the current divided region obtained by dividing the image is an intra, the motion vector of a different prediction unit region including an adjacent pixel position adjacent to the pixel position, or the Select a motion vector of another prediction unit region included in the current divided region, set the selected motion vector as a motion vector corresponding to the current divided region, An image processing method for generating the image by decoding a bitstream using a motion vector generated using the set prediction vector of the time correlation.
  • the image processing apparatus is When the prediction unit region including the upper left pixel position of the current divided region obtained by dividing the image is an intra, the motion vector of a different prediction unit region including an adjacent pixel position adjacent to the pixel position, or the Select a motion vector of another prediction unit region included in the current divided region, set the selected motion vector as a motion vector corresponding to the current divided region, An image processing method for encoding the image using a predicted image predicted from a motion vector corresponding to the set temporal correlation prediction vector.
  • Optimal mode determination unit 136 inter / intra determination unit, 141 16 ⁇ 16 address generation unit, 142 16 ⁇ 16 address correction unit, 143 memory access control unit, 151 motion vector difference generation control unit, 152 temporal prediction vector generation unit, 161 16 ⁇ 16 address generation unit, 162 16 ⁇ 16 address correction unit, 171 motion vector difference generation control unit, 172 temporal prediction vector generation unit, 173 optimal mode determination unit, 174 save vector Selection unit, 181 16 ⁇ 16 address generation unit, 200 image decoding device, 221 motion vector generation unit, 222 motion vector storage memory, 231 motion vector generation control unit, 232 temporal prediction vector generation unit, 233 intra prediction vector generation unit, 234 peripheral motion vector storage unit, 235 motion vector reconstruction unit, 236 inter / intra determination unit, 241 16 ⁇

Abstract

This disclosure relates to an image processing apparatus and method for achieving reduction of memory accesses. A 16 × 16 address correcting unit determines whether or not a reference, which uses 16 × 16 address information from a 16 × 16 address generating unit, extends beyond a CU. If yes, the 16 × 16 address correcting unit corrects the 16 × 16 address information such that the reference is pulled back into the CU. The 16 × 16 address correcting unit then supplies the corrected 16 × 16 address information to a memory access control unit. The memory access control unit makes a request to a motion vector storing memory to read therefrom a motion vector indicated by the 16 × 16 address information supplied from the 16 × 16 address correcting unit. This disclosure is applicable, for example, to an image processing apparatus.

Description

画像処理装置および方法Image processing apparatus and method
 本開示は画像処理装置および方法に関し、特に、メモリアクセスを低減することができるようにした画像処理装置および方法に関する。 The present disclosure relates to an image processing apparatus and method, and more particularly, to an image processing apparatus and method capable of reducing memory access.
 近年、画像情報をデジタルとして取り扱い、その際、効率の高い情報の伝送、蓄積を目的とし、画像情報特有の冗長性を利用して、離散コサイン変換等の直交変換と動き補償により圧縮する符号化方式を採用して画像を圧縮符号する装置が普及しつつある。この符号化方式には、例えば、MPEG(Moving Picture Experts Group)などがある。 In recent years, image information has been handled as digital data, and at that time, for the purpose of efficient transmission and storage of information, encoding is performed by orthogonal transform such as discrete cosine transform and motion compensation using redundancy unique to image information. An apparatus that employs a method to compress and code an image is becoming widespread. Examples of this encoding method include MPEG (Moving Picture Experts Group).
 特に、MPEG2(ISO/IEC 13818-2)は、汎用画像符号化方式として定義されており、飛び越し走査画像及び順次走査画像の双方、並びに標準解像度画像及び高精細画像を網羅する標準である。例えば、MPEG2は、プロフェッショナル用途及びコンシューマ用途の広範なアプリケーションに現在広く用いられている。MPEG2圧縮方式を用いることにより、例えば720×480画素を持つ標準解像度の飛び越し走査画像であれば4乃至8Mbpsの符号量(ビットレート)が割り当てられる。また、MPEG2圧縮方式を用いることにより、例えば1920×1088画素を持つ高解像度の飛び越し走査画像であれば18乃至22 Mbpsの符号量(ビットレート)が割り当てられる。これにより、高い圧縮率と良好な画質の実現が可能である。 In particular, MPEG2 (ISO / IEC 13818-2) is defined as a general-purpose image encoding system, and is a standard that covers both interlaced scanning images and progressive scanning images, as well as standard resolution images and high-definition images. For example, MPEG2 is currently widely used in a wide range of applications for professional and consumer applications. By using the MPEG2 compression method, for example, a code amount (bit rate) of 4 to 8 Mbps is assigned to an interlaced scanned image having a standard resolution of 720 × 480 pixels. Further, by using the MPEG2 compression method, for example, a high resolution interlaced scanned image having 1920 × 1088 pixels is assigned a code amount (bit rate) of 18 to 22 Mbps. As a result, a high compression rate and good image quality can be realized.
 MPEG2は主として放送用に適合する高画質符号化を対象としていたが、MPEG1より低い符号量(ビットレート)、つまりより高い圧縮率の符号化方式には対応していなかった。携帯端末の普及により、今後そのような符号化方式のニーズは高まると思われ、これに対応してMPEG4符号化方式の標準化が行われた。画像符号化方式に関しては、1998年12月にISO/IEC 14496-2としてその規格が国際標準に承認された。 MPEG2 was mainly intended for high-quality encoding suitable for broadcasting, but it did not support encoding methods with a lower code amount (bit rate) than MPEG1, that is, a higher compression rate. With the widespread use of mobile terminals, the need for such an encoding system is expected to increase in the future, and the MPEG4 encoding system has been standardized accordingly. Regarding the image coding system, the standard was approved as an international standard in December 1998 as ISO / IEC 14496-2.
 標準化のスケジュールとしては、2003年3月にはH.264及びMPEG-4 Part10 (Advanced Video Coding、以下H.264/AVCと記す)という国際標準となっている。 The standardization schedule is H.03 in March 2003. H.264 and MPEG-4 Part 10 (Advanced Video Coding, hereinafter referred to as H.264 / AVC).
 さらに、このH.264/AVCの拡張として、RGBや4:2:2、4:4:4といった、業務用に必要な符号化ツールや、MPEG-2で規定されていた8x8DCTや量子化マトリクスをも含んだFRExt (Fidelity Range Extension) の標準化が2005年2月に完了した。これにより、H.264/AVCを用いて、映画に含まれるフィルムノイズをも良好に表現することが可能な符号化方式となって、Blu-Ray Disc(商標)等の幅広いアプリケーションに用いられる運びとなった。 Furthermore, this H. As an extension of H.264 / AVC, FRExt including RGB, 4: 2: 2, 4: 4: 4 coding tools necessary for business use, 8x8DCT and quantization matrix defined by MPEG-2 (FidelityFiRange Extension) standardization was completed in February 2005. As a result, H.C. Using 264 / AVC, it has become an encoding method that can express film noise contained in movies well, and has been used in a wide range of applications such as Blu-Ray Disc (trademark).
 しかしながら、昨今、ハイビジョン画像の4倍の、4000×2000画素程度の画像を圧縮したい、あるいは、インターネットのような、限られた伝送容量の環境において、ハイビジョン画像を配信したいといった、更なる高圧縮率符号化に対するニーズが高まっている。このため、先述の、ITU-T傘下のVCEG (=Video Coding Expert Group) において、符号化効率の改善に関する検討が継続され行なわれている。 However, these days, we want to compress images with a resolution of 4000 x 2000 pixels, which is four times higher than high-definition images, or deliver high-definition images in a limited transmission capacity environment such as the Internet. There is a growing need for encoding. For this reason, in the above-described VCEG (= Video Coding Expert Group) under the ITU-T, studies on improving the coding efficiency are being continued.
 そして、現在、H.264/AVCより更なる符号化効率の向上を目的として、ITU-TとISO/IECとの共同の標準化団体であるJCTVC (Joint Collaboration Team - Video Coding) により、HEVC (High Efficiency Video Coding) と呼ばれる符号化方式の標準化が進められている。HEVCにおいては、ドラフトとして非特許文献1が発行されている。 And now H. It is called HEVC (High Efficiency) Video (Coding) by JCTVC (Joint Collaboration (Team-Video Coding)), which is a joint standardization organization of ITU-T and ISO / IEC, for the purpose of further improving encoding efficiency than H.264 / AVC. Standardization of the encoding method is underway. In HEVC, Non-Patent Document 1 is issued as a draft.
 HEVCにおいては、上述したH.264/AVCにおけるdirect(ダイレクトモード)およびpmvに代わる技術として、merge(マージモード)およびmvp(予測動きベクトル)が提案されている。どちらの場合も、周辺の動きベクトルのうち最適な動きベクトルを用いるものであるが、周辺の動きベクトルのうち、時間的に異なる動きベクトルを読み出す際のメモリアクセスが非効率的であった。 In HEVC, H. Merge (merge mode) and mvp (predicted motion vector) have been proposed as techniques to replace direct (direct mode) and pmv in H.264 / AVC. In either case, the optimal motion vector is used among the peripheral motion vectors, but memory access when reading out temporally different motion vectors from the peripheral motion vectors is inefficient.
 本開示は、このような状況に鑑みてなされたものであり、周辺の動きベクトルのうち、時間的に異なる動きベクトルを読み出す際のメモリアクセスを低減することができるものである。 The present disclosure has been made in view of such a situation, and can reduce memory access when reading out motion vectors that are temporally different from surrounding motion vectors.
 本開示の第1の側面の画像処理装置は、時間相関の予測ベクトルを求める際に算出されるアドレスが示す、画像を分割した分割領域における右下のピクセル位置が、カレント復号単位の領域の外にある場合、前記ピクセル位置を前記カレント復号単位の領域内に戻すように前記アドレスを補正するアドレス補正部と、前記アドレス補正部により補正されたアドレスが示す分割領域に対応する動きベクトルを、前記時間相関の予測ベクトルとして設定する設定部と、前記設定部により設定された前記時間相関の予測ベクトルを用いて生成される動きベクトルを用いて、ビットストリームを復号して前記画像を生成する復号部とを備える。 In the image processing device according to the first aspect of the present disclosure, the pixel position on the lower right in the divided region obtained by dividing the image indicated by the address calculated when obtaining the prediction vector of temporal correlation is outside the region of the current decoding unit. The address correction unit for correcting the address so as to return the pixel position to the region of the current decoding unit, and a motion vector corresponding to the divided region indicated by the address corrected by the address correction unit, A setting unit that sets the prediction vector for temporal correlation, and a decoding unit that generates the image by decoding the bitstream using the motion vector generated using the prediction vector for temporal correlation set by the setting unit. With.
 本開示の第1の側面の画像処理方法は、画像処理装置が、時間相関の予測ベクトルを求める際に算出されるアドレスが示す、画像を分割した分割領域における右下のピクセル位置が、カレント復号単位の領域の外にある場合、前記ピクセル位置を前記カレント復号単位の領域内に戻すように前記アドレスを補正し、補正されたアドレスが示す分割領域に対応する動きベクトルを、前記時間相関の予測ベクトルとして設定し、設定された前記時間相関の予測ベクトルを用いて生成される動きベクトルを用いて、ビットストリームを復号して前記画像を生成する。 According to the image processing method of the first aspect of the present disclosure, the lower right pixel position in the divided region obtained by dividing the image indicated by the address calculated when the image processing apparatus obtains the prediction vector of the time correlation is the current decoding. If it is outside the unit area, the address is corrected so as to return the pixel position to the current decoding unit area, and a motion vector corresponding to the divided area indicated by the corrected address is calculated as the time correlation prediction. The image is set as a vector, and the image is generated by decoding the bitstream using the motion vector generated using the set temporal correlation prediction vector.
 本開示の第2の側面の画像処理装置は、時間相関の予測ベクトルを求める際に算出されるアドレスが示す、画像を分割した分割領域における右下のピクセル位置が、カレント符号化単位の領域の外にある場合、前記ピクセル位置を前記カレント符号化単位の領域内に戻すように前記アドレスを補正するアドレス補正部と、前記アドレス補正部により補正されたアドレスが示す分割領域に対応する動きベクトルを、前記時間相関の予測ベクトルとして設定する設定部と、前記設定部により設定された前記時間相関の予測ベクトルに対応する動きベクトルから予測される予測画像を用いて前記画像を符号化する符号化部とを備える。 In the image processing device according to the second aspect of the present disclosure, the lower right pixel position in the divided region obtained by dividing the image indicated by the address calculated when the prediction vector of the temporal correlation is obtained is the current encoding unit region. If it is outside, an address correction unit that corrects the address so as to return the pixel position to the region of the current coding unit, and a motion vector corresponding to the divided region indicated by the address corrected by the address correction unit. A setting unit that sets the prediction vector of the time correlation, and an encoding unit that encodes the image using a prediction image predicted from a motion vector corresponding to the prediction vector of the time correlation set by the setting unit With.
 本開示の第2の側面の画像処理方法は、画像処理装置が、時間相関の予測ベクトルを求める際に算出されるアドレスが示す、画像を分割した分割領域における右下のピクセル位置が、カレント符号化単位の領域の外にある場合、前記ピクセル位置を前記カレント符号化単位の領域内に戻すように前記アドレスを補正し、補正されたアドレスが示す分割領域に対応するる動きベクトルを、前記時間相関の予測ベクトルとして設定し、設定された前記時間相関の予測ベクトルに対応する動きベクトルから予測される予測画像を用いて前記画像を符号化する。 In the image processing method according to the second aspect of the present disclosure, the lower right pixel position in the divided region obtained by dividing the image indicated by the address calculated when the image processing apparatus obtains the prediction vector of the time correlation is the current code. If it is outside the area of the encoding unit, the address is corrected so as to return the pixel position to the area of the current encoding unit, and a motion vector corresponding to the divided area indicated by the corrected address is set to the time. The prediction image is set as a correlation prediction vector, and the image is encoded using a prediction image predicted from a motion vector corresponding to the set temporal correlation prediction vector.
 本開示の第3の側面の画像処理装置は、時間相関の予測ベクトルを求める際に算出される第1のアドレスと、前記第1のアドレスが示す、画像を分割した分割領域の左上のピクセル位置が含まれる予測単位の領域がイントラであった場合に算出される第2のアドレスとが同じである場合に、前記第2のアドレスを、前記分割領域に隣接する隣接分割領域を示すように補正するアドレス補正部と、前記アドレス補正部により補正されたアドレスが示す隣接分割領域に対応する動きベクトルを、前記時間相関の予測ベクトルとして設定する設定部と、前記設定部により設定された前記時間相関の予測ベクトルを用いて生成される動きベクトルを用いて、ビットストリームを復号して前記画像を生成する復号部とを備える。 An image processing apparatus according to a third aspect of the present disclosure includes a first address calculated when obtaining a temporal correlation prediction vector, and an upper left pixel position of a divided region into which the image is divided, which is indicated by the first address. When the second address calculated when the prediction unit area including the same is the same as the intra area, the second address is corrected to indicate the adjacent divided area adjacent to the divided area An address correction unit configured to set the motion vector corresponding to the adjacent divided region indicated by the address corrected by the address correction unit as the prediction vector of the time correlation, and the time correlation set by the setting unit. A decoding unit that generates a picture by decoding a bitstream using a motion vector generated using the prediction vector.
 本開示の第3の側面の画像処理方法は、画像処理装置が、時間相関の予測ベクトルを求める際に算出される第1のアドレスと、前記第1のアドレスが示す、画像を分割した分割領域の左上のピクセル位置が含まれる予測単位の領域がイントラであった場合に算出される第2のアドレスとが同じである場合に、前記第2のアドレスを、前記分割領域に隣接する隣接分割領域を示すように補正し、補正されたアドレスが示す隣接分割領域に対応する動きベクトルを、前記時間相関の予測ベクトルとして設定し、設定された前記時間相関の予測ベクトルを用いて生成される動きベクトルを用いて、ビットストリームを復号して前記画像を生成する。 An image processing method according to a third aspect of the present disclosure includes a first address calculated when the image processing apparatus obtains a prediction vector of temporal correlation, and a divided region obtained by dividing the image indicated by the first address. When the second unit address calculated when the prediction unit region including the upper left pixel position is intra is the same as the second divided region, the second divided region is adjacent to the divided region. The motion vector corresponding to the adjacent divided area indicated by the corrected address is set as the temporal correlation prediction vector, and the motion vector generated using the set temporal correlation prediction vector Is used to decode the bitstream to generate the image.
 本開示の第4の側面の画像処理装置は、時間相関の予測ベクトルを求める際に算出される第1のアドレスと、前記第1のアドレスが示す、画像を分割した分割領域の左上のピクセル位置が含まれる予測単位の領域がイントラであった場合に算出される第2のアドレスとが同じである場合に、前記第2のアドレスを、前記分割領域に隣接する隣接分割領域を示すように補正するアドレス補正部と、前記アドレス補正部により補正されたアドレスが示す隣接分割領域に対応する動きベクトルを、前記時間相関の予測ベクトルとして設定する設定部と、前記設定部により設定された前記時間相関の予測ベクトルに対応する動きベクトルから予測される予測画像を用いて前記画像を符号化する符号化部とを備える。 An image processing apparatus according to a fourth aspect of the present disclosure includes a first address calculated when obtaining a prediction vector of time correlation, and a pixel position at the upper left of a divided region obtained by dividing the image, which is indicated by the first address When the second address calculated when the prediction unit area including the same is the same as the intra area, the second address is corrected to indicate the adjacent divided area adjacent to the divided area An address correction unit configured to set the motion vector corresponding to the adjacent divided region indicated by the address corrected by the address correction unit as the prediction vector of the time correlation, and the time correlation set by the setting unit. An encoding unit that encodes the image using a predicted image predicted from a motion vector corresponding to the predicted vector.
 本開示の第4の側面の画像処理方法は、画像処理装置が、時間相関の予測ベクトルを求める際に算出される第1のアドレスと、前記第1のアドレスが示す、画像を分割した分割領域の左上のピクセル位置が含まれる予測単位の領域がイントラであった場合に算出される第2のアドレスとが同じである場合に、前記第2のアドレスを、前記分割領域に隣接する隣接分割領域を示すように補正し、補正されたアドレスが示す隣接分割領域に対応する動きベクトルを、前記時間相関の予測ベクトルとして設定し、設定された前記時間相関の予測ベクトルに対応する動きベクトルから予測される予測画像を用いて前記画像を符号化する。 An image processing method according to a fourth aspect of the present disclosure includes a first address calculated when the image processing apparatus obtains a temporal correlation prediction vector and a divided region obtained by dividing the image indicated by the first address. When the second unit address calculated when the prediction unit region including the upper left pixel position is intra is the same as the second divided region, the second divided region is adjacent to the divided region. The motion vector corresponding to the adjacent divided region indicated by the corrected address is set as the prediction vector of the time correlation, and is predicted from the motion vector corresponding to the set prediction vector of the time correlation. The image is encoded using the predicted image.
 本開示の第5の側面の画像処理装置は、画像を分割したカレント分割領域の左上のピクセル位置が含まれる予測単位の領域がイントラであった場合、前記ピクセル位置に隣接する隣接ピクセル位置が含まれる異なる予測単位の領域の動きベクトル、または、前記カレント分割領域に含まれる他の予測単位の領域の動きベクトルを選択し、選択した動きベクトルを、前記カレント分割領域に対応する動きベクトルとして設定する設定部と、前記設定部により設定された前記時間相関の予測ベクトルを用いて生成される動きベクトルを用いて、ビットストリームを復号して前記画像を生成する復号部とを備える。 The image processing apparatus according to the fifth aspect of the present disclosure includes an adjacent pixel position adjacent to the pixel position when the prediction unit area including the upper left pixel position of the current divided area obtained by dividing the image is an intra. A motion vector of a different prediction unit region or a motion vector of another prediction unit region included in the current divided region, and sets the selected motion vector as a motion vector corresponding to the current divided region A setting unit; and a decoding unit configured to decode the bitstream and generate the image using a motion vector generated using the temporal correlation prediction vector set by the setting unit.
 本開示の第5の側面の画像処理方法は、画像処理装置が、画像を分割したカレント分割領域の左上のピクセル位置が含まれる予測単位の領域がイントラであった場合、前記ピクセル位置に隣接する隣接ピクセル位置が含まれる異なる予測単位の領域の動きベクトル、または、前記カレント分割領域に含まれる他の予測単位の領域の動きベクトルを選択し、選択した動きベクトルを、前記カレント分割領域に対応する動きベクトルとして設定し、設定された前記時間相関の予測ベクトルを用いて生成される動きベクトルを用いて、ビットストリームを復号して前記画像を生成する。 In the image processing method according to the fifth aspect of the present disclosure, when the region of the prediction unit including the pixel position at the upper left of the current divided region obtained by dividing the image is an intra, the image processing device is adjacent to the pixel position. A motion vector of a region of a different prediction unit including an adjacent pixel position or a motion vector of a region of another prediction unit included in the current divided region is selected, and the selected motion vector corresponds to the current divided region. The motion vector is set as a motion vector, and the image is generated by decoding the bitstream using the motion vector generated using the set prediction vector of the time correlation.
 本開示の第6の側面の画像処理装置は、画像を分割したカレント分割領域の左上のピクセル位置が含まれる予測単位の領域がイントラであった場合、前記ピクセル位置に隣接する隣接ピクセル位置が含まれる異なる予測単位の領域の動きベクトル、または、前記カレント分割領域に含まれる他の予測単位の領域の動きベクトルを選択し、選択した動きベクトルを、前記カレント分割領域に対応する動きベクトルとして設定する設定部と、前記設定部により設定された前記時間相関の予測ベクトルに対応する動きベクトルから予測される予測画像を用いて前記画像を符号化する符号化部とを備える。 The image processing device according to the sixth aspect of the present disclosure includes an adjacent pixel position adjacent to the pixel position when the prediction unit area including the upper left pixel position of the current divided area obtained by dividing the image is an intra. A motion vector of a different prediction unit region or a motion vector of another prediction unit region included in the current divided region, and sets the selected motion vector as a motion vector corresponding to the current divided region A setting unit; and an encoding unit that encodes the image using a predicted image predicted from a motion vector corresponding to the temporal correlation prediction vector set by the setting unit.
 本開示の第6の側面の画像処理方法は、画像処理装置が、画像を分割したカレント分割領域の左上のピクセル位置が含まれる予測単位の領域がイントラであった場合、前記ピクセル位置に隣接する隣接ピクセル位置が含まれる異なる予測単位の領域の動きベクトル、または、前記カレント分割領域に含まれる他の予測単位の領域の動きベクトルを選択し、選択した動きベクトルを、前記カレント分割領域に対応する動きベクトルとして設定し、設定された前記時間相関の予測ベクトルに対応する動きベクトルから予測される予測画像を用いて前記画像を符号化する。 In the image processing method according to the sixth aspect of the present disclosure, when the region of the prediction unit including the pixel position at the upper left of the current divided region obtained by dividing the image is an intra, the image processing device is adjacent to the pixel position. A motion vector of a region of a different prediction unit including an adjacent pixel position or a motion vector of a region of another prediction unit included in the current divided region is selected, and the selected motion vector corresponds to the current divided region. It sets as a motion vector, The said image is encoded using the prediction image estimated from the motion vector corresponding to the set prediction vector of the said time correlation.
 本開示の第1の側面においては、時間相関の予測ベクトルを求める際に算出されるアドレスが示す、画像を分割した分割領域における右下のピクセル位置が、カレント復号単位の領域の外にある場合、前記ピクセル位置を前記カレント復号単位の領域内に引き戻すように前記アドレスが補正され、補正されたアドレスが示す分割領域に対応する動きベクトルが、前記時間相関の予測ベクトルとして設定される。そして、読み出された前記時間相関の予測ベクトルを用いて生成される動きベクトルを用いて、ビットストリームを復号して前記画像が生成される。 In the first aspect of the present disclosure, when the lower right pixel position in the divided region obtained by dividing the image indicated by the address calculated when obtaining the temporal correlation prediction vector is outside the current decoding unit region The address is corrected so that the pixel position is pulled back into the region of the current decoding unit, and a motion vector corresponding to the divided region indicated by the corrected address is set as the prediction vector of the time correlation. Then, the motion vector generated using the read prediction vector of the time correlation is used to decode the bit stream to generate the image.
 本開示の第2の側面においては、時間相関の予測ベクトルを求める際に算出されるアドレスが示す、画像を分割した分割領域における右下のピクセル位置が、カレント符号化単位の領域の外にある場合、前記ピクセル位置を前記カレント符号化単位の領域内に引き戻すように前記アドレスが補正され、補正されたアドレスが示す分割領域に対応して保存されている動きベクトルが、前記時間相関の予測ベクトルとして設定される。そして、設定された前記時間相関の予測ベクトルに対応する動きベクトルから予測される予測画像を用いて前記画像が符号化される。 In the second aspect of the present disclosure, the lower right pixel position in the divided region obtained by dividing the image indicated by the address calculated when obtaining the prediction vector of the temporal correlation is outside the region of the current coding unit. In this case, the address is corrected so that the pixel position is pulled back into the area of the current coding unit, and a motion vector stored corresponding to the divided area indicated by the corrected address is the prediction vector of the time correlation. Set as Then, the image is encoded using a predicted image predicted from a motion vector corresponding to the set temporal correlation prediction vector.
 本開示の第3の側面においては、時間相関の予測ベクトルを求める際に算出される第1のアドレスと、前記第1のアドレスが示す、画像を分割した分割領域の左上のピクセル位置が含まれる予測単位の領域がイントラであった場合に算出される第2のアドレスとが同じである場合に、前記第2のアドレスが、前記分割領域に隣接する隣接分割領域を示すように補正され、補正されたアドレスが示す隣接分割領域に対応して保存されている動きベクトルが、前記時間相関の予測ベクトルとして設定される。そして、設定された前記時間相関の予測ベクトルを用いて生成される動きベクトルを用いて、ビットストリームを復号して前記画像が生成される。 In the third aspect of the present disclosure, a first address calculated when obtaining a temporal correlation prediction vector and a pixel position at the upper left of a divided region obtained by dividing the image indicated by the first address are included. When the second address calculated when the prediction unit area is intra is the same, the second address is corrected so as to indicate an adjacent divided area adjacent to the divided area. A motion vector stored corresponding to the adjacent divided region indicated by the address is set as the temporal correlation prediction vector. Then, the image is generated by decoding the bitstream using the motion vector generated using the set temporal correlation prediction vector.
 本開示の第4の側面においては、時間相関の予測ベクトルを求める際に算出される第1のアドレスと、前記第1のアドレスが示す、画像を分割した分割領域の左上のピクセル位置が含まれる予測単位の領域がイントラであった場合に算出される第2のアドレスとが同じである場合に、前記第2のアドレスが、前記分割領域に隣接する隣接分割領域を示すように補正され、補正されたアドレスが示す隣接分割領域に対応して保存されている動きベクトルが、前記時間相関の予測ベクトルとして設定される。そして、設定された前記時間相関の予測ベクトルに対応する動きベクトルから予測される予測画像を用いて前記画像が符号化される。 In the fourth aspect of the present disclosure, a first address calculated when obtaining a prediction vector of temporal correlation and a pixel position at the upper left of the divided region obtained by dividing the image indicated by the first address are included. When the second address calculated when the prediction unit area is intra is the same, the second address is corrected so as to indicate an adjacent divided area adjacent to the divided area. A motion vector stored corresponding to the adjacent divided region indicated by the address is set as the temporal correlation prediction vector. Then, the image is encoded using a predicted image predicted from a motion vector corresponding to the set temporal correlation prediction vector.
 本開示の第5の側面においては、画像を分割したカレント分割領域の左上のピクセル位置が含まれる予測単位の領域がイントラであった場合、前記ピクセル位置に隣接する隣接ピクセル位置が含まれる異なる予測単位の領域の動きベクトル、または、前記カレント分割領域に含まれる他の予測単位の領域の動きベクトルを選択し、選択した動きベクトルが、前記カレント分割領域に対応する動きベクトルとして設定される。そして、設定された前記時間相関の予測ベクトルを用いて生成される動きベクトルを用いて、ビットストリームを復号して前記画像が生成される。 In the fifth aspect of the present disclosure, when the region of the prediction unit including the pixel position at the upper left of the current divided region obtained by dividing the image is an intra, the different prediction including the adjacent pixel position adjacent to the pixel position A motion vector of a unit region or a motion vector of another prediction unit region included in the current divided region is selected, and the selected motion vector is set as a motion vector corresponding to the current divided region. Then, the image is generated by decoding the bitstream using the motion vector generated using the set temporal correlation prediction vector.
 本開示の第6の側面においては、画像を分割したカレント分割領域の左上のピクセル位置が含まれる予測単位の領域がイントラであった場合、前記ピクセル位置に隣接する隣接ピクセル位置が含まれる異なる予測単位の領域の動きベクトル、または、前記カレント分割領域に含まれる他の予測単位の領域の動きベクトルを選択し、選択した動きベクトルが、前記カレント分割領域に対応する動きベクトルとして設定される。そして、設定された前記時間相関の予測ベクトルに対応する動きベクトルから予測される予測画像を用いて前記画像が符号化される。 In the sixth aspect of the present disclosure, when an area of a prediction unit including the pixel position at the upper left of a current divided area obtained by dividing an image is an intra, different prediction including an adjacent pixel position adjacent to the pixel position A motion vector of a unit region or a motion vector of another prediction unit region included in the current divided region is selected, and the selected motion vector is set as a motion vector corresponding to the current divided region. Then, the image is encoded using a predicted image predicted from a motion vector corresponding to the set temporal correlation prediction vector.
 なお、上述の画像処理装置は、独立した装置であっても良いし、1つの画像符号化装置または画像復号装置を構成している内部ブロックであってもよい。 Note that the above-described image processing apparatus may be an independent apparatus, or may be an internal block constituting one image encoding apparatus or image decoding apparatus.
 本開示によれば、画像を処理することができる。特に、メモリアクセスを低減することができる。 According to the present disclosure, an image can be processed. In particular, memory access can be reduced.
画像符号化装置の主な構成例を示すブロック図である。It is a block diagram which shows the main structural examples of an image coding apparatus. コーディングユニットの構成例を説明する図である。It is a figure explaining the structural example of a coding unit. マージモードを説明する図である。It is a figure explaining merge mode. 予測動きベクトルを説明する図である。It is a figure explaining a prediction motion vector. ColPUの決定方法を説明する図である。It is a figure explaining the determination method of ColPU. ColMVの保存と読み出しを説明する図である。It is a figure explaining preservation | save and reading of ColMV. ColMVの保存方法を説明する図である。It is a figure explaining the preservation | save method of ColMV. ColMVの読み出し方法を説明する図である。It is a figure explaining the reading method of ColMV. 動きベクトル差分生成部の構成例を示すブロック図である。It is a block diagram which shows the structural example of a motion vector difference production | generation part. HEVC方式において規定されているColPUの決定方法を示す図である。It is a figure which shows the determination method of ColPU prescribed | regulated in the HEVC system. 16×16アドレス補正部によるアドレス補正方法を説明する図である。It is a figure explaining the address correction method by a 16x16 address correction part. 符号化処理の流れの例を説明するフローチャートである。It is a flowchart explaining the example of the flow of an encoding process. 動きベクトル差分生成処理の流れの例を説明するフローチャートである。It is a flowchart explaining the example of the flow of a motion vector difference production | generation process. 時間相関の予測ベクトルの生成処理の流れの例を説明するフローチャートである。It is a flowchart explaining the example of the flow of the production | generation process of the prediction vector of a time correlation. 動きベクトル差分生成部の他の構成例を示すブロック図である。It is a block diagram which shows the other structural example of a motion vector difference production | generation part. 1回目の処理と2回目の処理で同じPUをさしてしまう位置を説明する図である。It is a figure explaining the position which points the same PU by the process of the 1st time, and the process of the 2nd time. 16×16アドレス補正部によるアドレス補正方法を説明する図である。It is a figure explaining the address correction method by a 16x16 address correction part. 時間相関の予測ベクトルの生成処理の流れの他の例を説明するフローチャートである。It is a flowchart explaining the other example of the flow of a production | generation process of the prediction vector of a time correlation. 動きベクトル差分生成部のさらに他の構成例を示すブロック図である。It is a block diagram which shows the further another structural example of a motion vector difference production | generation part. 動きベクトルの保存方法を説明する図である。It is a figure explaining the preservation | save method of a motion vector. 動きベクトルの保存方法の他の例を説明する図である。It is a figure explaining the other example of the preservation | save method of a motion vector. 時間相関の予測ベクトルの生成処理の流れのさらに他の例を説明するフローチャートである。It is a flowchart explaining the further another example of the flow of a production | generation process of the prediction vector of a time correlation. 動きベクトルの保存処理の流れを説明するフローチャートである。It is a flowchart explaining the flow of the preservation | save process of a motion vector. 動きベクトルの保存処理の流れの他の例を説明するフローチャートである。It is a flowchart explaining the other example of the flow of a preservation | save process of a motion vector. 画像復号装置の主な構成例を示すブロック図である。It is a block diagram which shows the main structural examples of an image decoding apparatus. 動きベクトル生成部の構成例を示すブロック図である。It is a block diagram which shows the structural example of a motion vector production | generation part. 復号処理の流れの例を説明するフローチャートである。It is a flowchart explaining the example of the flow of a decoding process. 動きベクトル生成処理の流れの例を説明するフローチャートである。It is a flowchart explaining the example of the flow of a motion vector production | generation process. 時間相関の予測ベクトルの生成処理の流れを説明するフローチャートである。It is a flowchart explaining the flow of the production | generation process of the prediction vector of a time correlation. 動きベクトル生成部の他の構成例を示すブロック図である。It is a block diagram which shows the other structural example of a motion vector production | generation part. 時間相関の予測ベクトルの生成処理の流れの他の例を説明するフローチャートである。It is a flowchart explaining the other example of the flow of a production | generation process of the prediction vector of a time correlation. 動きベクトル生成部のさらに他の構成例を示すブロック図である。It is a block diagram which shows the further another structural example of a motion vector production | generation part. 時間相関の予測ベクトルの生成処理の流れのさらに他の例を説明するフローチャートである。It is a flowchart explaining the further another example of the flow of a production | generation process of the prediction vector of a time correlation. 動きベクトルの保存処理の流れを説明するフローチャートである。It is a flowchart explaining the flow of the preservation | save process of a motion vector. 動きベクトルの保存処理の流れの他の例を説明するフローチャートである。It is a flowchart explaining the other example of the flow of a preservation | save process of a motion vector. コンピュータの主な構成例を示すブロック図である。And FIG. 20 is a block diagram illustrating a main configuration example of a computer. テレビジョン装置の概略的な構成の一例を示すブロック図である。It is a block diagram which shows an example of a schematic structure of a television apparatus. 携帯電話機の概略的な構成の一例を示すブロック図である。It is a block diagram which shows an example of a schematic structure of a mobile telephone. 記録再生装置の概略的な構成の一例を示すブロック図である。It is a block diagram which shows an example of a schematic structure of a recording / reproducing apparatus. 撮像装置の概略的な構成の一例を示すブロック図である。It is a block diagram which shows an example of a schematic structure of an imaging device.
 以下、本開示を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行う。
1.第1の実施の形態(画像符号化装置)
2.第2の実施の形態(画像復号装置)
3.第3の実施の形態(コンピュータ)
4.第4の実施の形態(テレビジョン受像機)
5.第5の実施の形態(携帯電話機)
6.第6の実施の形態(ハードディスクレコーダ)
7.第7の実施の形態(カメラ)
Hereinafter, modes for carrying out the present disclosure (hereinafter referred to as embodiments) will be described. The description will be given in the following order.
1. First Embodiment (Image Encoding Device)
2. Second embodiment (image decoding apparatus)
3. Third embodiment (computer)
4). Fourth embodiment (television receiver)
5. Fifth embodiment (mobile phone)
6). Sixth embodiment (hard disk recorder)
7). Seventh embodiment (camera)
 <1.第1の実施の形態>
[画像符号化装置の構成例]
 図1は、本開示を適用した画像処理装置としての画像符号化装置の一実施の形態の構成を表している。
<1. First Embodiment>
[Configuration Example of Image Encoding Device]
FIG. 1 illustrates a configuration of an embodiment of an image encoding device as an image processing device to which the present disclosure is applied.
 図1に示される画像符号化装置100は、予測処理を用いて画像データを符号化する。ここで、符号化方式としては、例えば、HEVC(High Efficiency Video Coding)方式などが用いられる。 The image encoding device 100 shown in FIG. 1 encodes image data using a prediction process. Here, as the encoding method, for example, HEVC (High) Efficiency Video Coding) method or the like is used.
 図1の例において、画像符号化装置100は、A/D(Analog / Digital)変換部101、画面並べ替えバッファ102、演算部103、直交変換部104、量子化部105、可逆符号化部106、および蓄積バッファ107を有する。また、画像符号化装置100は、逆量子化部108、逆直交変換部109、演算部110、デブロックフィルタ111、フレームメモリ112、選択部113、イントラ予測部114、動き予測・補償部115、選択部116、およびレート制御部117を有する。 In the example of FIG. 1, the image encoding device 100 includes an A / D (Analog / Digital) conversion unit 101, a screen rearrangement buffer 102, a calculation unit 103, an orthogonal transformation unit 104, a quantization unit 105, and a lossless encoding unit 106. And a storage buffer 107. In addition, the image encoding device 100 includes an inverse quantization unit 108, an inverse orthogonal transform unit 109, a calculation unit 110, a deblock filter 111, a frame memory 112, a selection unit 113, an intra prediction unit 114, a motion prediction / compensation unit 115, A selection unit 116 and a rate control unit 117 are included.
 画像符号化装置100は、さらに、動きベクトル差分生成部121および動きベクトル保存メモリ122を有する。 The image encoding device 100 further includes a motion vector difference generation unit 121 and a motion vector storage memory 122.
 A/D変換部101は、入力された画像データをA/D変換し、画面並べ替えバッファ102に出力し、記憶させる。 The A / D conversion unit 101 performs A / D conversion on the input image data, outputs it to the screen rearrangement buffer 102, and stores it.
 画面並べ替えバッファ102は、記憶した表示の順番のフレームの画像を、GOP(Group of Picture)構造に応じて、符号化のためのフレームの順番に並べ替える。画面並べ替えバッファ102は、フレームの順番を並び替えた画像を、演算部103に供給する。また、画面並べ替えバッファ102は、フレームの順番を並び替えた画像を、イントラ予測部114および動き予測・補償部115にも供給する。 The screen rearrangement buffer 102 rearranges the stored frame images in the display order in the order of frames for encoding in accordance with the GOP (Group of Picture) structure. The screen rearrangement buffer 102 supplies the image with the rearranged frame order to the arithmetic unit 103. The screen rearrangement buffer 102 also supplies the image in which the order of the frames is rearranged to the intra prediction unit 114 and the motion prediction / compensation unit 115.
 演算部103は、画面並べ替えバッファ102から読み出された画像から、選択部116を介してイントラ予測部114若しくは動き予測・補償部115から供給される予測画像を減算し、その差分情報を直交変換部104に出力する。 The calculation unit 103 subtracts the prediction image supplied from the intra prediction unit 114 or the motion prediction / compensation unit 115 via the selection unit 116 from the image read from the screen rearrangement buffer 102, and orthogonalizes the difference information. The data is output to the conversion unit 104.
 例えば、イントラ符号化が行われる画像の場合、演算部103は、画面並べ替えバッファ102から読み出された画像から、イントラ予測部114から供給される予測画像を減算する。また、例えば、インター符号化が行われる画像の場合、演算部103は、画面並べ替えバッファ102から読み出された画像から、動き予測・補償部115から供給される予測画像を減算する。 For example, in the case of an image on which intra coding is performed, the calculation unit 103 subtracts the prediction image supplied from the intra prediction unit 114 from the image read from the screen rearrangement buffer 102. For example, in the case of an image on which inter coding is performed, the arithmetic unit 103 subtracts the predicted image supplied from the motion prediction / compensation unit 115 from the image read from the screen rearrangement buffer 102.
 直交変換部104は、演算部103から供給される差分情報に対して、離散コサイン変換、カルーネン・レーベ変換等の直交変換を施し、その変換係数を量子化部105に供給する。 The orthogonal transform unit 104 performs orthogonal transform such as discrete cosine transform and Karhunen-Loeve transform on the difference information supplied from the computation unit 103 and supplies the transform coefficient to the quantization unit 105.
 量子化部105は、直交変換部104が出力する変換係数を量子化する。量子化部105は、量子化された変換係数を可逆符号化部106に供給する。 The quantization unit 105 quantizes the transform coefficient output from the orthogonal transform unit 104. The quantization unit 105 supplies the quantized transform coefficient to the lossless encoding unit 106.
 可逆符号化部106は、その量子化された変換係数に対して、可変長符号化、算術符号化等の可逆符号化を施す。 The lossless encoding unit 106 performs lossless encoding such as variable length encoding and arithmetic encoding on the quantized transform coefficient.
 可逆符号化部106は、イントラ予測モードを示す情報またはインター予測モードを示す情報、および動きベクトル差分情報などを動きベクトル差分生成部121から取得する。なお、図示されていないが、参照ピクチャ情報などは、動き予測・補償部115から取得される。 The lossless encoding unit 106 acquires information indicating the intra prediction mode or information indicating the inter prediction mode, motion vector difference information, and the like from the motion vector difference generation unit 121. Although not shown, reference picture information and the like are acquired from the motion prediction / compensation unit 115.
 可逆符号化部106は、量子化された変換係数を符号化するとともに、イントラ予測モード情報、インター予測モード情報、参照ピクチャ情報、および動きベクトル差分情報、などの情報を、符号化データのヘッダ情報の一部とする(多重化する)。可逆符号化部106は、符号化して得られた符号化データを蓄積バッファ107に供給して蓄積させる。 The lossless encoding unit 106 encodes the quantized transform coefficient and also transmits information such as intra prediction mode information, inter prediction mode information, reference picture information, and motion vector difference information, as header information of encoded data. As a part of (multiplex). The lossless encoding unit 106 supplies the encoded data obtained by encoding to the accumulation buffer 107 for accumulation.
 例えば、可逆符号化部106においては、可変長符号化または算術符号化等の可逆符号化処理が行われる。可変長符号化としては、CAVLC(Context-Adaptive Variable Length Coding)などがあげられる。算術符号化としては、CABAC(Context-Adaptive Binary Arithmetic Coding)などがあげられる。 For example, the lossless encoding unit 106 performs lossless encoding processing such as variable length encoding or arithmetic encoding. Examples of variable length coding include CAVLC (Context-Adaptive Variable Length Coding). Examples of arithmetic coding include CABAC (Context-Adaptive Binary Arithmetic Coding).
 蓄積バッファ107は、可逆符号化部106から供給された符号化データを、一時的に保持し、所定のタイミングにおいて、符号化された符号化画像として、例えば、後段の図示せぬ記録装置や伝送路などに出力する。 The accumulation buffer 107 temporarily stores the encoded data supplied from the lossless encoding unit 106, and, for example, as a encoded image encoded at a predetermined timing, for example, a recording device or a transmission device (not shown) in the subsequent stage. Output to the road.
 また、量子化部105において量子化された変換係数は、逆量子化部108にも供給される。逆量子化部108は、その量子化された変換係数を、量子化部105による量子化に対応する方法で逆量子化する。逆量子化部108は、得られた変換係数を、逆直交変換部109に供給する。 Also, the transform coefficient quantized by the quantization unit 105 is also supplied to the inverse quantization unit 108. The inverse quantization unit 108 inversely quantizes the quantized transform coefficient by a method corresponding to the quantization by the quantization unit 105. The inverse quantization unit 108 supplies the obtained transform coefficient to the inverse orthogonal transform unit 109.
 逆直交変換部109は、供給された変換係数を、直交変換部104による直交変換処理に対応する方法で逆直交変換する。逆直交変換された出力(復元された差分情報)は、演算部110に供給される。 The inverse orthogonal transform unit 109 performs inverse orthogonal transform on the supplied transform coefficient by a method corresponding to the orthogonal transform processing by the orthogonal transform unit 104. The inversely orthogonal transformed output (restored difference information) is supplied to the calculation unit 110.
 演算部110は、逆直交変換部109より供給された逆直交変換結果、すなわち、復元された差分情報に、選択部116を介してイントラ予測部114若しくは動き予測・補償部115から供給される予測画像を加算し、局部的に復号された画像(復号画像)を得る。 The calculation unit 110 uses the inverse prediction unit 114 or the motion prediction / compensation unit 115 via the selection unit 116 for the inverse orthogonal transformation result supplied from the inverse orthogonal transformation unit 109, that is, the restored difference information. The images are added to obtain a locally decoded image (decoded image).
 例えば、差分情報が、イントラ符号化が行われる画像に対応する場合、演算部110は、その差分情報にイントラ予測部114から供給される予測画像を加算する。また、例えば、差分情報が、インター符号化が行われる画像に対応する場合、演算部110は、その差分情報に動き予測・補償部115から供給される予測画像を加算する。 For example, when the difference information corresponds to an image on which intra coding is performed, the calculation unit 110 adds the prediction image supplied from the intra prediction unit 114 to the difference information. For example, when the difference information corresponds to an image on which inter coding is performed, the calculation unit 110 adds the predicted image supplied from the motion prediction / compensation unit 115 to the difference information.
 その加算結果は、デブロックフィルタ111およびフレームメモリ112に供給される。 The addition result is supplied to the deblock filter 111 and the frame memory 112.
 デブロックフィルタ111は、適宜デブロックフィルタ処理を行うことにより復号画像のブロック歪を除去する。 The deblocking filter 111 removes block distortion of the decoded image by appropriately performing deblocking filter processing.
 フレームメモリ112は、所定のタイミングにおいて、蓄積されている参照画像を、選択部113を介してイントラ予測部114または動き予測・補償部115に出力する。 The frame memory 112 outputs the stored reference image to the intra prediction unit 114 or the motion prediction / compensation unit 115 via the selection unit 113 at a predetermined timing.
 例えば、イントラ符号化が行われる画像の場合、フレームメモリ112は、参照画像を、選択部113を介してイントラ予測部114に供給する。また、例えば、インター符号化が行われる場合、フレームメモリ112は、参照画像を、選択部113を介して動き予測・補償部115に供給する。 For example, in the case of an image on which intra coding is performed, the frame memory 112 supplies the reference image to the intra prediction unit 114 via the selection unit 113. For example, when inter coding is performed, the frame memory 112 supplies the reference image to the motion prediction / compensation unit 115 via the selection unit 113.
 選択部113は、フレームメモリ112から供給される参照画像がイントラ符号化を行う画像である場合、その参照画像をイントラ予測部114に供給する。また、選択部113は、フレームメモリ112から供給される参照画像がインター符号化を行う画像である場合、その参照画像を動き予測・補償部115に供給する。 The selection unit 113 supplies the reference image to the intra prediction unit 114 when the reference image supplied from the frame memory 112 is an image to be subjected to intra coding. Further, when the reference image supplied from the frame memory 112 is an image to be subjected to inter coding, the selection unit 113 supplies the reference image to the motion prediction / compensation unit 115.
 イントラ予測部114は、画面内の画素値を用いて予測画像を生成するイントラ予測(画面内予測)を行う。イントラ予測部114は、複数のモード(イントラ予測モード)によりイントラ予測を行う。 The intra prediction unit 114 performs intra prediction (intra-screen prediction) that generates a predicted image using pixel values in the screen. The intra prediction unit 114 performs intra prediction in a plurality of modes (intra prediction modes).
 イントラ予測部114は、全てのイントラ予測モードで予測画像を生成し、コスト関数値を求めることで、各予測画像を評価し、最適イントラモードを選択する。イントラ予測部114は、最適イントラモードを選択すると、その最適イントラモードで生成された予測画像を、選択部116に供給し、その最適イントラモードのコスト関数値(以下、イントラコスト関数値と称する)を動きベクトル差分生成部121に供給する。 The intra prediction unit 114 generates predicted images in all intra prediction modes, obtains cost function values, evaluates each predicted image, and selects an optimal intra mode. When selecting the optimal intra mode, the intra prediction unit 114 supplies the prediction image generated in the optimal intra mode to the selection unit 116, and the cost function value of the optimal intra mode (hereinafter referred to as an intra cost function value). Is supplied to the motion vector difference generation unit 121.
 動き予測・補償部115は、インター符号化が行われる画像について、画面並べ替えバッファ102から供給される入力画像と、選択部113を介してフレームメモリ112から供給される参照画像とを用いて、全てのインター予測モードについて動き予測を行う。そして、動き予測・補償部115は、検出された動きベクトルに応じて動き補償処理を行い、予測画像(インター予測画像情報)を生成する。 The motion prediction / compensation unit 115 uses the input image supplied from the screen rearrangement buffer 102 and the reference image supplied from the frame memory 112 via the selection unit 113 for the image to be inter-coded, Motion prediction is performed for all inter prediction modes. Then, the motion prediction / compensation unit 115 performs motion compensation processing according to the detected motion vector, and generates a prediction image (inter prediction image information).
 動き予測・補償部115は、全てのインター予測モードについて、コスト関数値を求めることで、各予測画像を評価し、最適インターモードを選択する。動き予測・補償部115は、最適インターモードを選択すると、その最適インターモードで生成された予測画像を、選択部116に供給する。また、動き予測・補償部115は、その最適インターモードのコスト関数値(以下、インターコスト関数値と称する)、動きベクトル情報および処理対象の符号化単位の領域(CU)の分割情報、アドレス情報、およびサイズ情報などを、動きベクトル差分生成部121に供給する。 The motion prediction / compensation unit 115 evaluates each prediction image by selecting cost function values for all inter prediction modes, and selects an optimal inter mode. When selecting the optimal inter mode, the motion prediction / compensation unit 115 supplies the prediction image generated in the optimal inter mode to the selection unit 116. In addition, the motion prediction / compensation unit 115 includes the cost function value of the optimal inter mode (hereinafter referred to as an inter cost function value), motion vector information, division information of a coding unit region (CU) to be processed, and address information. , Size information, and the like are supplied to the motion vector difference generation unit 121.
 選択部116は、動きベクトル差分生成部121からの情報に対応して、イントラ符号化を行う画像の場合、イントラ予測部114の出力を演算部103や演算部110に供給する。選択部116は、動きベクトル差分生成部121からの情報に対応して、インター符号化を行う画像の場合、動き予測・補償部115の出力を演算部103や演算部110に供給する。 The selection unit 116 supplies the output of the intra prediction unit 114 to the calculation unit 103 and the calculation unit 110 in the case of an image on which intra coding is performed, corresponding to the information from the motion vector difference generation unit 121. The selection unit 116 supplies the output of the motion prediction / compensation unit 115 to the calculation unit 103 and the calculation unit 110 in the case of an image to be inter-coded in response to the information from the motion vector difference generation unit 121.
 レート制御部117は、蓄積バッファ107に蓄積された圧縮画像に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部105の量子化動作のレートを制御する。 The rate control unit 117 controls the quantization operation rate of the quantization unit 105 based on the compressed image stored in the storage buffer 107 so that overflow or underflow does not occur.
 動きベクトル差分生成部121は、動き予測・補償部115からの情報を用い、対象予測領域の周辺にある周辺領域の動きベクトル情報から、空間相関予測ベクトル情報および時間相関予測ベクトル情報を生成する。特に、動きベクトル生成部221は、動きベクトル保存メモリ122に記憶されている動きベクトル情報を用いて、時間相関予測ベクトル情報を生成する。 The motion vector difference generation unit 121 uses the information from the motion prediction / compensation unit 115 to generate spatial correlation prediction vector information and temporal correlation prediction vector information from the motion vector information of the peripheral region around the target prediction region. In particular, the motion vector generation unit 221 uses the motion vector information stored in the motion vector storage memory 122 to generate temporal correlation prediction vector information.
 なお、以下、適宜、空間相関予測ベクトルを、空間予測ベクトルとも称し、時間相関予測ベクトルを、時間予測ベクトルとも称する。 Note that, hereinafter, the spatial correlation prediction vector is also referred to as a spatial prediction vector, and the temporal correlation prediction vector is also referred to as a temporal prediction vector as appropriate.
 動きベクトル差分生成部121は、生成した予測ベクトル情報と、動き予測・補償部115からの動きベクトル情報との差分である動きベクトル差分情報を生成する。また、動きベクトル差分生成部121は、イントラ予測部114からのイントラコスト関数値と、動き予測・補償部115からのインターコスト関数値とを用いて、最適モードを決定する。動きベクトル差分生成部121は、決定した最適モードの情報を、選択部116に供給する。 The motion vector difference generation unit 121 generates motion vector difference information that is a difference between the generated prediction vector information and the motion vector information from the motion prediction / compensation unit 115. In addition, the motion vector difference generation unit 121 determines an optimum mode using the intra cost function value from the intra prediction unit 114 and the inter cost function value from the motion prediction / compensation unit 115. The motion vector difference generation unit 121 supplies the determined optimal mode information to the selection unit 116.
 動きベクトル差分生成部121は、最適モードの動きベクトル情報を、動きベクトル保存メモリ122に保存する。動きベクトル差分生成部121は、生成した動きベクトル差分情報を、最適モード情報とともに、可逆符号化部106に供給する。 The motion vector difference generation unit 121 stores the motion vector information of the optimal mode in the motion vector storage memory 122. The motion vector difference generation unit 121 supplies the generated motion vector difference information to the lossless encoding unit 106 together with the optimal mode information.
 動きベクトル保存メモリ122は、動きベクトル差分生成部121により記憶された動きベクトル情報であって、動きベクトル差分生成部121が時間相関予測ベクトルを生成する際に用いられる動きベクトル情報を記憶している。 The motion vector storage memory 122 stores motion vector information stored by the motion vector difference generation unit 121 and used when the motion vector difference generation unit 121 generates a temporal correlation prediction vector. .
 [コーディングユニット]
 H.264/AVC方式においては、1つのマクロブロックを、複数の動き補償ブロックに分割し、それぞれに対して異なる動き情報を持たせることが可能であった。すなわち、H.264/AVC方式においては、マクロブロックとサブマクロブロックによる階層構造が規定されているが、例えば、HEVC(High Efficiency Video Coding)方式においては、図2に示されるように、コーディングユニット(CU(Coding Unit))が規定されている。
[Coding unit]
H. In the H.264 / AVC format, it is possible to divide one macro block into a plurality of motion compensation blocks and to have different motion information for each. That is, H. In the H.264 / AVC format, a hierarchical structure is defined by macroblocks and sub-macroblocks. For example, in the High Efficiency Video Coding (HEVC) format, as shown in FIG. 2, a coding unit (CU (Coding) Unit)).
 CUは、Coding Tree Block(CTB)とも呼ばれ、H.264/AVC方式におけるマクロブロックと同様の役割を果たす、符号化(復号)の処理単位となる領域(ピクチャ単位の画像の部分領域)である。後者は、16×16画素の大きさに固定されているのに対し、前者の大きさは固定されておらず、それぞれのシーケンスにおいて、画像圧縮情報中において指定されることになる。 CU is also called Coding Tree Block (CTB). This is an area (partial area of an image in picture units) serving as an encoding (decoding) processing unit that plays the same role as a macroblock in the H.264 / AVC format. The latter is fixed to a size of 16 × 16 pixels, whereas the size of the former is not fixed, and is specified in the image compression information in each sequence.
 例えば、出力となる符号化データに含まれるシーケンスパラメータセット(SPS(Sequence Parameter Set))において、CUの最大サイズ(LCU(Largest Coding Unit))と最小サイズ((SCU(Smallest Coding Unit))が規定される。 For example, in the sequence parameter set (SPS (Sequence Parameter Co)) included in the output encoded data, the maximum size (LCU (Largest Coding Unit)) and the minimum size ((SCU (Smallest Coding Unit)) are specified. Is done.
 それぞれのLCU内においては、SCUのサイズを下回らない範囲で、split-flag=1とすることにより、より小さなサイズのCUに分割することができる。図2の例では、LCUの大きさが128であり、最大階層深度が5となる。2N×2Nの大きさのCUは、split_flagの値が「1」である時、1つ下の階層となる、N×Nの大きさのCUに分割される。 In each LCU, split-flag = 1 can be divided into smaller CUs within a range that does not fall below the SCU size. In the example of FIG. 2, the LCU size is 128 and the maximum hierarchical depth is 5. When the value of split_flag is “1”, the 2N × 2N size CU is divided into N × N size CUs that are one level below.
 更に、CUは、イントラ若しくはインター予測の処理単位となる領域(ピクチャ単位の画像の部分領域)であるプレディクションユニット(Prediction Unit(PU))に分割され、また、直交変換の処理単位となる領域(ピクチャ単位の画像の部分領域)である、トランスフォームユニット(Transform Unit(TU))に分割される。現在、HEVC方式においては、4×4及び8×8に加え、16×16及び32×32直交変換を用いることが可能である。 Further, the CU is divided into prediction units (Prediction Units (PU)) that are regions (partial regions of images in units of pictures) that are processing units of intra or inter prediction, and are regions that are processing units of orthogonal transformation It is divided into transform units (Transform Unit (TU)), which is (a partial area of an image in units of pictures). At present, in the HEVC system, it is possible to use 16 × 16 and 32 × 32 orthogonal transforms in addition to 4 × 4 and 8 × 8.
 以上のHEVC方式のように、CUを定義し、そのCUを単位として各種処理を行うような符号化方式の場合、H.264/AVC方式におけるマクロブロックはLCUに相当すると考えることができる。ただし、CUは図2に示されるように階層構造を有するので、その最上位階層のLCUのサイズは、例えば128×128画素のように、H.264/AVC方式のマクロブロックより大きく設定されることが一般的である。 In the case of an encoding method in which a CU is defined and various processes are performed in units of the CU as in the HEVC method above, H. It can be considered that a macroblock in the H.264 / AVC format corresponds to an LCU. However, since the CU has a hierarchical structure as shown in FIG. 2, the size of the LCU in the highest hierarchy is H.264, for example, 128 × 128 pixels. Generally, it is set larger than the macroblock of the H.264 / AVC format.
 本開示は、HEVC方式のようなCU、PU、およびTU等を用いる符号化方式だけでなく、H.264/AVC方式におけるマクロブロックを用いる符号化方式にも適用することができる。すなわち、ユニットも、ブロックも、処理単位となる領域を示すものであるので、以下、適宜、どちらも含むように、処理単位の領域という文言を用いて説明する。 This disclosure is not limited to coding schemes that use CU, PU, TU, etc. as in the HEVC scheme, but also H.264. The present invention can also be applied to an encoding method using macroblocks in the H.264 / AVC format. That is, since both the unit and the block indicate a region serving as a processing unit, the following description will be made using the term “processing unit region” so as to include both as appropriate.
 ただし、以下において、HEVC方式を例として説明する場合には、ユニットを用いて説明するが、そのユニットは、処理単位となる領域を示すものであり、H.264/AVC方式においてはブロックである。 However, in the following, when the HEVC method is described as an example, the description will be made using a unit. The unit indicates a region as a processing unit. In the H.264 / AVC format, it is a block.
[マージモード]
 次に、HEVC方式におけるマージモードについて、図3を参照して説明する。図3の例においては、対象PU(CurrentPU)が示されている。対象PUの周囲には、「A」,「B」,「C」,「D」がそれぞれ付された四角で表わされる4つの空間位置が示されている。
[Merge mode]
Next, the merge mode in the HEVC method will be described with reference to FIG. In the example of FIG. 3, the target PU (CurrentPU) is shown. Around the target PU, four spatial positions represented by squares with “A”, “B”, “C”, and “D”, respectively, are shown.
 マージモードは、対象PUについて、これら4つの空間位置のベクトル情報と、Colocatedピクチャのベクトル情報(ColPUのベクトル情報)の計5つのベクトルを候補とし、その候補の中から、RD(rate-distortion)の観点で最適なベクトルを用いるモードである。Colocatedピクチャは、以下、ColPicとも称される。 In the merge mode, a total of five vectors of the vector information of these four spatial positions and vector information of the Colocated picture (ColPU vector information) are set as candidates for the target PU, and RD (rate-distortion) is selected from the candidates. In this mode, the optimal vector is used. Hereinafter, the Colocated picture is also referred to as ColPic.
 なお、ColPUは、以前に符号化または復号されたピクチャにおける、対象PUと空間的に同じ位置のPUであり、対象PUの時間ベクトル情報として参照するPUである。 Note that ColPU is a PU that is spatially the same position as the target PU in a previously encoded or decoded picture, and is referred to as time vector information of the target PU.
 そして、マージモードの場合、復号側には、ベクトル情報を送らず、マージインデックス(merge_idx)という、5つのうちどの動きベクトル情報を用いたかを示す情報をストリームに含めて伝送する。これにより、符号化効率を向上させることができる。 In the case of the merge mode, vector information is not sent to the decoding side, and information indicating which of the five motion vector information is used, such as a merge index (merge_idx), is transmitted in the stream. Thereby, encoding efficiency can be improved.
[予測動きベクトルmvp]
 次に、HEVC方式における予測動きベクトルmvpについて図4を参照して説明する。図4の例においては、対象PU(予測ユニット)が示されている。対象PUの周囲には、「A」,「A」,「B」,「B」,「B」がそれぞれ付された四角で表わされる5つの空間位置が示されている。
[Predicted motion vector mvp]
Next, the prediction motion vector mvp in the HEVC scheme will be described with reference to FIG. In the example of FIG. 4, a target PU (prediction unit) is shown. Around the target PU, five spatial positions represented by squares with “A 0 ”, “A 1 ”, “B 0 ”, “B 1 ”, and “B 2 ”, respectively, are shown.
 対象PUについて、これら5つの空間位置のベクトル情報と、ColPUのベクトル情報の計6つのベクトルのうち、動き探索によって求められた動きベクトルとの差分(mvd)が最小となるベクトルが、予測動きベクトルとして用いられる。なお、予測動きベクトルのことを、以下、適宜、予測ベクトルとも称する。 For the target PU, the vector having the smallest difference (mvd) from the motion vector obtained by motion search among the six vectors of the vector information of these five spatial positions and the vector information of ColPU is the predicted motion vector. Used as The predicted motion vector is hereinafter also referred to as a predicted vector as appropriate.
 復号側には、その差分と、mvpインデックス(mvp_idx)という6つのベクトルのうちどのベクトルの差分を用いたかを示す情報をストリームに含めて伝送することにより、復号側で、動きベクトルを再構築することができる。これにより、符号化性能を高めることができる。 The decoding side reconstructs the motion vector by transmitting the difference and information indicating which vector of the six vectors of the mvp index (mvp_idx) is used in the stream. be able to. Thereby, encoding performance can be improved.
[ColPUの決定方法]
 図5は、ColPUの決定方法を説明する図である。図5のAは、1番目の処理を示している。まず、図5のAに示される左上の4×4ピクセルを対象PUとした場合、対象PUの左上のピクセル位置を(0,0)とし、そこに、対象PUのサイズ4を加算し、(4,4)という位置を16で丸めた位置(0,0)のピクセルを含むPUが、ColPUと決定される。
[How to determine ColPU]
FIG. 5 is a diagram for explaining a ColPU determination method. FIG. 5A shows the first processing. First, when the upper left 4 × 4 pixel shown in A of FIG. 5 is the target PU, the upper left pixel position of the target PU is set to (0,0), and the size 4 of the target PU is added thereto, The PU including the pixel at the position (0,0) obtained by rounding the position 4,4) by 16 is determined as ColPU.
 なお、1番目の処理で算出されたColPUが、イントラブロック、または画面外のピクセルであって、Not Available(利用不可)と判定された場合には、図5のBに示されるように処理される。 If the ColPU calculated in the first process is an intra block or a pixel outside the screen and is determined to be Not Available (unusable), the process is performed as shown in FIG. 5B. The
 具体的には、図5のBに示される左上の4×4ピクセルを対象PUとした場合、対象PUの左上のピクセル位置が(0,0)とされる。そして、(0,0)に、対象PUのサイズ4の半分である2を加算した(2,2)から、それぞれ-1した位置(1,1)を16で丸めた位置(0,0)のピクセルを含むPUが、ColPUと決定される。 Specifically, when the upper left 4 × 4 pixel shown in B of FIG. 5 is the target PU, the upper left pixel position of the target PU is set to (0, 0). Then, (2,2) obtained by adding 2 which is half of the size 4 of the target PU to (0,0), and (-1), the position (1,1) decremented by 16 is rounded by 16 (0,0) The PU including this pixel is determined as ColPU.
[colMVの説明]
 上述したColPUは、画面を16×16のピクセル単位に分割した各分割領域の左上のピクセルを含むPUである。そのPUの動きベクトルがColMVとして利用される。ColMVについて、次の図6および図7を参照して詳しく説明する。
[Description of colMV]
The ColPU described above is a PU including the upper left pixel of each divided area obtained by dividing the screen into 16 × 16 pixel units. The motion vector of the PU is used as ColMV. ColMV will be described in detail with reference to FIGS. 6 and 7 below.
 図6の例においては、時間軸tに沿って、N,N+1,N+2のピクチャが順に示されている。また、ピクチャの下には、ベクトル情報が保存されるメモリが示されている。 6, N, N + 1, and N + 2 pictures are sequentially shown along the time axis t. A memory in which vector information is stored is shown below the picture.
 例えば、N+1のピクチャのColPicがNのピクチャである場合、Nの処理中に保存したベクトル情報は、N+1を処理する時間に、ColPUの決定方法に従ったColPUの位置から読み出される。そして、その読み出されたベクトル情報は、N+1のピクチャにおいてColMVとして利用される。 For example, if the ColPic of an N + 1 picture is an N picture, the vector information stored during the N process is read from the ColPU position according to the ColPU determination method at the time of processing the N + 1. . The read vector information is used as ColMV in N + 1 pictures.
 なお、ベクトル情報の保存時には、図7に示されるように、PUサイズにはよらず、16×16ピクセルに分割した分割領域の左上のピクセルを含むPUの動きベクトルが保存される。 When the vector information is stored, as shown in FIG. 7, the PU motion vector including the upper left pixel of the divided area divided into 16 × 16 pixels is stored regardless of the PU size.
 図7の例においては、16×16ピクセルに分割されたピクチャの一部が示されており、その下には、メモリに保存されるベクトルが概念的に示されている。図7の例において、16×16ピクセルの分割領域における左上の丸はピクセルを示している。 In the example of FIG. 7, a part of a picture divided into 16 × 16 pixels is shown, and below that, a vector stored in the memory is conceptually shown. In the example of FIG. 7, the upper left circle in the 16 × 16 pixel divided area indicates a pixel.
 左上の16×16ピクセルに分割した分割領域は、Pl0_0,Pl0_1,Pl0_2,Pl0_3の4つのPUからなり、そのうち、分割領域の左上のピクセルを含むPUであるPl0_0のベクトルmv00(Pl0_0)がメモリに保存される。 The divided area divided into 16 × 16 pixels in the upper left consists of four PUs, Pl0_0, Pl0_1, Pl0_2, and Pl0_3. Among them, the vector mv00 (Pl0_0) of Pl0_0 that is the PU including the upper left pixel of the divided area is stored in the memory. Saved.
 左上の分割領域の下に位置する16×16ピクセルに分割した分割領域は、Pl2_0,Pl2_1の2つのPUからなり、そのうち、分割領域の左上のピクセルを含むPUであるPl2_0のベクトルmv01(Pl2_0)がメモリに保存される。 The divided area divided into 16 × 16 pixels located below the upper left divided area is composed of two PUs Pl2_0 and Pl2_1, and of these, the vector mv01 (Pl2_0) of Pl2_0 which is the PU including the upper left pixel of the divided area Is stored in memory.
 左上の分割領域の右に位置する16×16ピクセルに分割した分割領域は、Pl1_0の1つのPUからなり、そのうち、分割領域の左上のピクセルを含むPUであるPl1_0のベクトルmv10(Pl1_0)がメモリに保存される。 The divided area divided into 16 × 16 pixels located to the right of the upper left divided area is composed of one PU of Pl1_0. Among them, the vector mv10 (Pl1_0) of Pl1_0 which is the PU including the upper left pixel of the divided area is the memory. Saved in.
 Pl1_0の分割領域の下に位置する16×16ピクセルに分割した分割領域は、Pl3_0,Pl3_1の2つのPUからなり、そのうち、分割領域の左上のピクセルを含むPUであるPl3_0のベクトルmv11(Pl1_0)がメモリに保存される。 The divided area divided into 16 × 16 pixels located below the divided area of Pl1_0 is composed of two PUs, Pl3_0 and Pl3_1, and of these, the vector mv11 (Pl1_0) of Pl3_0 which is the PU including the upper left pixel of the divided area Is stored in memory.
 なお、図7の例においては、LCUが32×32ピクセルの例が示されているため、1CUあたり4つのベクトル情報のセットがメモリに保存されることになる。 Note that, in the example of FIG. 7, an example in which the LCU is 32 × 32 pixels is shown, so that a set of four vector information per CU is stored in the memory.
 ここで、対象ピクチャから、ColPicの動きベクトル情報を読み込む際には、LCU(CUの最大)をまたぐ参照が許されているため、LCUをラスタスキャン順に処理を行っている場合に、過去に一度読み込んだデータの再読み込みが必要になってしまう。これは、メモリアクセスの観点で効率がよくない。 Here, when reading ColPic motion vector information from the target picture, references across LCUs (maximum CUs) are allowed, so when processing LCUs in raster scan order, once in the past The read data will need to be reloaded. This is not efficient from the viewpoint of memory access.
 図8の例においては、LCU32×32の場合の16×16ピクセルに分割されたピクチャの一部が示されている。 In the example of FIG. 8, a part of a picture divided into 16 × 16 pixels in the case of LCU 32 × 32 is shown.
 LCU(1,0)の処理中に、ColPUの情報として読み出されるデータ(動きベクトル情報)は、ハッチがなされている小さい四角となる。LCUの処理がラスタスキャン順に進んで、LCU(1,1)の処理となったときに、ColPUの情報として読み出されるデータ(動きベクトル情報)は、白い小さい四角となる。 During the processing of LCU (1,0), the data (motion vector information) read out as ColPU information is a small square that is hatched. When the LCU process proceeds in the raster scan order and becomes the LCU (1, 1) process, the data (motion vector information) read as ColPU information is a small white square.
 すなわち、LCU(1,0)の処理中に、LCU(1,1)のデータの一部がLCUのラインをまたいで読み出されており、さらに、LCU(1,1) の処理中に、LCU(1,1)の下のLCUのデータの一部がLCUのラインをまたいで読み出されている。 That is, during the processing of LCU (1,0), a part of the data of LCU (1,1) is read across the LCU line, and further, during the processing of LCU (1,1) Part of the LCU data under LCU (1,1) is read across the LCU line.
 ハードウエアでの構成を考えた場合には、ColPUの情報は、DRAMに格納される可能性が高く、データの再読み込みは帯域面での負荷増大となってしまう。DRAMアクセスを軽減するという観点で読み込んだデータを、別の記憶装置(SRAMやレジスタ)に保存しておくことも考えられるが、回路資産を新たに要求することになってしまう。 When considering the hardware configuration, ColPU information is likely to be stored in DRAM, and data reloading increases the bandwidth load. Although it is conceivable to store the read data in another storage device (SRAM or register) from the viewpoint of reducing DRAM access, a new circuit asset is required.
 そこで、図9に示される動きベクトル差分生成部121は、読み出す位置がLCUの境界を超える場合、データの読み出し位置を変更して、データを読み出すように制御する。 Therefore, the motion vector difference generation unit 121 illustrated in FIG. 9 performs control to read data by changing the data read position when the read position exceeds the boundary of the LCU.
[動きベクトル差分生成部の構成例]
 次に、画像符号化装置100の各部について説明する。図9は、動きベクトル差分生成部の構成例を示すブロック図である。
[Configuration example of motion vector difference generation unit]
Next, each part of the image coding apparatus 100 will be described. FIG. 9 is a block diagram illustrating a configuration example of the motion vector difference generation unit.
 動きベクトル差分生成部121は、動きベクトル差分生成制御部131、時間予測ベクトル生成部132、画内予測ベクトル生成部133、周辺動きベクトル保存部134、最適モード判定部135、インター/イントラ判定部136を含むように構成されている。 The motion vector difference generation unit 121 includes a motion vector difference generation control unit 131, a temporal prediction vector generation unit 132, an in-picture prediction vector generation unit 133, a peripheral motion vector storage unit 134, an optimal mode determination unit 135, and an inter / intra determination unit 136. It is comprised so that it may contain.
 動き予測・補償部115から、CUサイズ情報、CU分割情報、CUアドレス情報、動きベクトル情報、インターコスト関数値が、動きベクトル差分生成制御部131に供給される。 The motion prediction / compensation unit 115 supplies CU size information, CU partition information, CU address information, motion vector information, and inter cost function values to the motion vector difference generation control unit 131.
 動きベクトル差分生成制御部131は、画内予測ベクトル生成部133および時間予測ベクトル生成部132に対して、予測ベクトル生成の指示を与える。その際、動きベクトル差分生成制御部131は、16×16アドレス補正部142に対して、CU/PUアドレス情報とCU/PUサイズ情報を供給する。動きベクトル差分生成制御部131は、最適モード判定部135に、動き予測・補償部115からのインターコスト関数値、および動きベクトル情報を供給し、最適モードを判定させる。 The motion vector difference generation control unit 131 gives a prediction vector generation instruction to the in-picture prediction vector generation unit 133 and the temporal prediction vector generation unit 132. At that time, the motion vector difference generation control unit 131 supplies CU / PU address information and CU / PU size information to the 16 × 16 address correction unit 142. The motion vector difference generation control unit 131 supplies the optimal mode determination unit 135 with the inter cost function value and the motion vector information from the motion prediction / compensation unit 115 to determine the optimal mode.
 時間予測ベクトル生成部132は、時間相関の予測ベクトルを生成する部である。時間予測ベクトル生成部132は、16×16アドレス生成部141、16×16アドレス補正部142、およびメモリアクセス制御部143を含むように構成されている。 The temporal prediction vector generation unit 132 is a unit that generates a temporal correlation prediction vector. The temporal prediction vector generation unit 132 is configured to include a 16 × 16 address generation unit 141, a 16 × 16 address correction unit 142, and a memory access control unit 143.
 16×16アドレス生成部141は、動きベクトル差分生成制御部131の制御のもと、参照する16×16領域のアドレスを計算し、計算した16×16アドレス情報を、16×16アドレス補正部142に供給する。 Under the control of the motion vector difference generation control unit 131, the 16 × 16 address generation unit 141 calculates the address of the 16 × 16 area to be referenced, and the calculated 16 × 16 address information is used as the 16 × 16 address correction unit 142. To supply.
 また、16×16アドレス生成部141は、インター/イントラ判定部136から再読み込み指示があると、イントラの場合の16×16領域のアドレスを計算し、計算した16×16アドレス情報を、16×16アドレス補正部142に供給する。 Further, when there is a re-read instruction from the inter / intra determination unit 136, the 16 × 16 address generation unit 141 calculates the address of the 16 × 16 area in the case of intra, and the calculated 16 × 16 address information is converted into 16 × 16 address information. It is supplied to the 16 address correction unit 142.
 16×16アドレス補正部142には、動きベクトル差分生成制御部131からCU/PUアドレス情報とCU/PUサイズ情報が供給される。また、16×16アドレス補正部142には、16×16アドレス生成部141から、16×16アドレス情報が供給される。 The 16 × 16 address correction unit 142 is supplied with CU / PU address information and CU / PU size information from the motion vector difference generation control unit 131. The 16 × 16 address correction unit 142 is supplied with 16 × 16 address information from the 16 × 16 address generation unit 141.
 16×16アドレス補正部142は、供給された情報を用いて、16×16アドレス生成部141からの16×16アドレス情報を用いた参照が、CUを越えた参照であるか否かを判定する。CUを越えた参照である場合、16×16アドレス補正部142は、その参照をCU内に引き戻すように、16×16アドレス情報の補正を行い、補正された16×16アドレス情報を、メモリアクセス制御部143に供給する。CUを越えた参照ではない場合、16×16アドレス補正部142は、16×16アドレス生成部141からの16×16アドレス情報をメモリアクセス制御部143に供給する。 The 16 × 16 address correction unit 142 determines whether the reference using the 16 × 16 address information from the 16 × 16 address generation unit 141 is a reference beyond the CU, using the supplied information. . When the reference is beyond the CU, the 16 × 16 address correction unit 142 corrects the 16 × 16 address information so that the reference is pulled back into the CU, and the corrected 16 × 16 address information is accessed in the memory. This is supplied to the control unit 143. If the reference is not beyond the CU, the 16 × 16 address correction unit 142 supplies the 16 × 16 address information from the 16 × 16 address generation unit 141 to the memory access control unit 143.
 メモリアクセス制御部143は、動きベクトル保存メモリ122に対して、16×16アドレス補正部142からの16×16アドレス情報が対応する分割領域の左上のピクセル位置を含むPUの動きベクトルを読み出すリクエストを行う。すなわち、メモリアクセス制御部143は、16×16アドレス補正部142からの16×16アドレス情報が対応する分割領域の左上のピクセル位置を含むPUの動きベクトルを、時間相関の予測ベクトルとして設定し、設定した時間相関の予測ベクトルを読み出すリクエストを行う。このリクエストに対応して、動きベクトル保存メモリ122から動きベクトル情報が、インター/イントラ判定部136に供給される。 The memory access control unit 143 issues a request to the motion vector storage memory 122 to read out the PU motion vector including the upper left pixel position of the divided region corresponding to the 16 × 16 address information from the 16 × 16 address correction unit 142. Do. That is, the memory access control unit 143 sets the motion vector of the PU including the upper left pixel position of the divided region corresponding to the 16 × 16 address information from the 16 × 16 address correction unit 142 as a temporal correlation prediction vector, A request to read the set time correlation prediction vector is made. In response to this request, motion vector information is supplied from the motion vector storage memory 122 to the inter / intra determination unit 136.
 画内予測ベクトル生成部133は、動きベクトル差分生成制御部131からの制御のもと、周辺動きベクトル保存部134に記憶されている動きベクトル情報を読み出して、空間予測ベクトルを生成する。画内予測ベクトル生成部133は、空間予測ベクトル情報を、最適モード判定部135に供給する。 The intra-picture prediction vector generation unit 133 reads the motion vector information stored in the peripheral motion vector storage unit 134 under the control of the motion vector difference generation control unit 131, and generates a spatial prediction vector. The intra-frame prediction vector generation unit 133 supplies the spatial prediction vector information to the optimum mode determination unit 135.
 周辺動きベクトル保存部134は、メモリなどで構成され、処理対象のピクチャ内の動きベクトル情報を保存している。 The peripheral motion vector storage unit 134 includes a memory and stores motion vector information in the processing target picture.
 最適モード判定部135は、画内予測ベクトル生成部133からの空間予測ベクトルと、インター/イントラ判定部136からの時間予測ベクトルが参照可能であるか否かを判定する。最適モード判定部135は、参照可能である動きベクトルのうち、動き予測・補償部115により算出された動きベクトル情報との差分の発生ビット量が最小となるモードを判定する。 The optimal mode determination unit 135 determines whether or not the spatial prediction vector from the in-picture prediction vector generation unit 133 and the temporal prediction vector from the inter / intra determination unit 136 can be referred to. The optimum mode determination unit 135 determines a mode in which the generated bit amount of the difference from the motion vector information calculated by the motion prediction / compensation unit 115 is the smallest among the referenceable motion vectors.
 また、最適モード判定部135には、動きベクトル差分生成制御部131からインターコスト関数値および動きベクトル情報が供給される。最適モード判定部135には、イントラ予測部114からイントラコスト関数値が供給される。最適モード判定部135は、これらのコスト関数値を用いて、処理対象の領域をイントラ領域として符号化するか、インター領域として符号化するかの判定も行う。 Also, the inter-cost function value and the motion vector information are supplied to the optimum mode determination unit 135 from the motion vector difference generation control unit 131. The intra mode function value is supplied from the intra prediction unit 114 to the optimal mode determination unit 135. The optimum mode determination unit 135 also uses these cost function values to determine whether the region to be processed is encoded as an intra region or an inter region.
 最適モード判定部135は、決定した最適モード情報と、動きベクトル差分情報を、可逆符号化部106に供給する。また、最適モード判定部135は、最適モードに対応する動きベクトル情報を、動きベクトル保存メモリ122に保存させる。なお、図示はされていないが、最適モード判定部135は、周辺動きベクトル保存部134にも、動きベクトル情報を保存させる。 The optimal mode determination unit 135 supplies the determined optimal mode information and motion vector difference information to the lossless encoding unit 106. The optimal mode determination unit 135 also stores motion vector information corresponding to the optimal mode in the motion vector storage memory 122. Although not shown, the optimum mode determination unit 135 also causes the peripheral motion vector storage unit 134 to store the motion vector information.
 インター/イントラ判定部136は、動きベクトル保存メモリ122から読み出された動きベクトル情報がインターを示している場合、その動きベクトル情報を、時間予測ベクトル情報として、最適モード判定部135に供給する。インター/イントラ判定部136は、動きベクトル保存メモリ122から読み出された動きベクトル情報がイントラを示している場合、16×16アドレス生成部141に対して、再読み込み指示を行う。なお、この再読み込み指示は、1度だけ行われる。 When the motion vector information read from the motion vector storage memory 122 indicates inter, the inter / intra determination unit 136 supplies the motion vector information to the optimum mode determination unit 135 as temporal prediction vector information. When the motion vector information read from the motion vector storage memory 122 indicates intra, the inter / intra determination unit 136 instructs the 16 × 16 address generation unit 141 to re-read. This re-reading instruction is performed only once.
[ColMV情報の読み出し方法]
 図10は、HEVC方式におけるColPUの決定方法を示す図である。図10の例においては、1乃至4として、図5を参照して上述したColPUの決定方法が記載されている。
[How to read ColMV information]
FIG. 10 is a diagram illustrating a ColPU determination method in the HEVC scheme. In the example of FIG. 10, the ColPU determination method described above with reference to FIG.
 そして、図10の例に示される式(1)のxPRbは、PUの右下の水平方向のピクセル位置を示している。式(2)のyPRbは、PUの右下の垂直方向のピクセル位置を示している。 And xPRb in the formula (1) shown in the example of FIG. 10 indicates the pixel position in the horizontal direction at the lower right of the PU. YPRb in Expression (2) indicates the pixel position in the vertical direction at the lower right of the PU.
 16×16アドレス補正部142は、この式(2)のyPRbが、LCUの境界を超えるか否かを判定し、次の式(3)に示されるように、境界を超えると判定した場合、yPRbをLCU内に引き戻す処理を行う。 When the 16 × 16 address correcting unit 142 determines whether yPRb of the equation (2) exceeds the boundary of the LCU and determines that the yPRb exceeds the boundary as shown in the following equation (3), Performs processing to pull back yPRb into the LCU.
 if(yPRb%LCUSizeY==0)
 yPRb = yPRb - 1            ・・・(3)
 式(3)のif内がLCUサイズを超えている条件を示している。
if (yPRb% LCUSizeY == 0)
yPRb = yPRb-1 (3)
The inside of if of Formula (3) shows a condition that exceeds the LCU size.
 なお、ここでは、垂直方向のみに引き戻しを行うが、水平方向に対しても、本処理は適用可能である。水平方向は、次の処理CUとなるので、時間的処理の連続性の観点より利用されるまでの時間が短いので、利用可能であると考えられる。 Note that, here, pulling back is performed only in the vertical direction, but the present processing can also be applied to the horizontal direction. Since the horizontal direction is the next processing CU, it can be used because the time until it is used is short from the viewpoint of continuity of temporal processing.
 式(3)の処理の後、図10に示される2以降の処理が実行される。これにより、LCUを垂直方向にまたぐColPUの参照を制限することが可能となる。その結果、ColMV情報の読み出し時におけるメモリアクセス回数を削減することができる。 After the process of Expression (3), the processes after 2 shown in FIG. 10 are executed. This makes it possible to limit ColPU references that cross the LCU in the vertical direction. As a result, the number of memory accesses when reading ColMV information can be reduced.
 図11の例においては、LCU32×32が示されている。LCU32×32において、左下に位置するハッチング領域は、処理対象のPU(16×16)である。ColPUの決定方法に則って計算すると、処理対象のPUの右下に接するピクセルを含むPUが、ColPUとなるが、そのPUは、処理対象のPUに対してLCUをまたぐ参照関係となってしまう。 In the example of FIG. 11, LCU 32 × 32 is shown. In the LCU 32 × 32, the hatched area located at the lower left is the PU (16 × 16) to be processed. When calculating according to the ColPU determination method, the PU that includes the pixel that touches the lower right of the processing target PU becomes the ColPU. .
 そこで、16×16アドレス補正部142は、上述した式(3)に示されるように、ピクセルの垂直方向に関して-1する。これにより、ピクセルは、処理対象のPUの右隣のPU(すなわち、LCU)に含まれるピクセルとなる。これに対して、まるめ処理が施されるので、結果、左上のピクセルを含むPUである処理対象のPUの右隣のPUがColPUとなり、同じLCU内の参照関係とすることができる。 Therefore, the 16 × 16 address correction unit 142 decrements by 1 with respect to the vertical direction of the pixel as shown in the above-described equation (3). As a result, the pixel becomes a pixel included in the PU (ie, LCU) adjacent to the right of the processing target PU. On the other hand, since the rounding process is performed, as a result, the PU on the right side of the processing target PU that is the PU including the upper left pixel becomes the ColPU, and the reference relationship in the same LCU can be obtained.
[符号化処理の流れ]
 次に、以上のような画像符号化装置100により実行される各処理の流れについて説明する。最初に、図12のフローチャートを参照して、符号化処理の流れの例を説明する。
[Flow of encoding process]
Next, the flow of each process executed by the image encoding device 100 as described above will be described. First, an example of the flow of encoding processing will be described with reference to the flowchart of FIG.
 ステップS101において、A/D変換部101は入力された画像をA/D変換する。ステップS102において、画面並べ替えバッファ102は、A/D変換された画像を記憶し、各ピクチャの表示する順番から符号化する順番への並べ替えを行う。 In step S101, the A / D converter 101 performs A / D conversion on the input image. In step S102, the screen rearrangement buffer 102 stores the A / D converted image, and rearranges the picture from the display order to the encoding order.
 ステップS103において、演算部103は、ステップS102の処理により並び替えられた画像と、予測画像との差分を演算する。予測画像は、インター予測する場合は動き予測・補償部115から、イントラ予測する場合はイントラ予測部114から、選択部116を介して演算部103に供給される。 In step S103, the calculation unit 103 calculates the difference between the image rearranged by the process in step S102 and the predicted image. The predicted image is supplied from the motion prediction / compensation unit 115 in the case of inter prediction and from the intra prediction unit 114 in the case of intra prediction to the calculation unit 103 via the selection unit 116.
 差分データは元の画像データに較べてデータ量が低減される。したがって、画像をそのまま符号化する場合に較べて、データ量を圧縮することができる。 The data amount of difference data is reduced compared to the original image data. Therefore, the data amount can be compressed as compared with the case where the image is encoded as it is.
 ステップS104において、直交変換部104は、ステップS103の処理により生成された差分情報を直交変換する。具体的には、離散コサイン変換、カルーネン・レーベ変換等の直交変換が行われ、変換係数が出力される。 In step S104, the orthogonal transform unit 104 orthogonally transforms the difference information generated by the process in step S103. Specifically, orthogonal transformation such as discrete cosine transformation and Karhunen-Loeve transformation is performed, and transformation coefficients are output.
 ステップS105において、量子化部105は、ステップS104の処理により得られた直交変換係数を量子化する。 In step S105, the quantization unit 105 quantizes the orthogonal transform coefficient obtained by the process in step S104.
 ステップS105の処理により量子化された差分情報は、次のようにして局部的に復号される。すなわち、ステップS106において、逆量子化部108は、ステップS105の処理により生成された量子化された直交変換係数(量子化係数とも称する)を量子化部105の特性に対応する特性で逆量子化する。 The difference information quantized by the process of step S105 is locally decoded as follows. That is, in step S106, the inverse quantization unit 108 inversely quantizes the quantized orthogonal transform coefficient (also referred to as a quantization coefficient) generated by the process in step S105 with characteristics corresponding to the characteristics of the quantization unit 105. To do.
 ステップS107において、逆直交変換部109は、ステップS106の処理により得られた直交変換係数を、直交変換部104の特性に対応する特性で逆直交変換する。 In step S107, the inverse orthogonal transform unit 109 performs inverse orthogonal transform on the orthogonal transform coefficient obtained by the process in step S106 with characteristics corresponding to the characteristics of the orthogonal transform unit 104.
 ステップS108において、演算部110は、予測画像を局部的に復号された差分情報に加算し、局部的に復号された画像(演算部103への入力に対応する画像)を生成する。 In step S108, the calculation unit 110 adds the predicted image to the locally decoded difference information, and generates a locally decoded image (an image corresponding to the input to the calculation unit 103).
 ステップS109において、デブロックフィルタ111は、ステップS108の処理により生成された画像に対して、デブロックフィルタ処理を行う。これによりブロック歪み(すなわち、処理単位の領域歪み)が除去される。 In step S109, the deblock filter 111 performs a deblock filter process on the image generated by the process in step S108. As a result, block distortion (that is, area distortion of a processing unit) is removed.
 ステップS110において、フレームメモリ112は、ステップS109の処理によりブロック歪みが除去された画像を記憶する。なお、フレームメモリ112にはデブロックフィルタ111によりフィルタ処理されていない画像も演算部110から供給され、記憶される。 In step S110, the frame memory 112 stores an image from which block distortion has been removed by the process in step S109. It should be noted that an image that has not been filtered by the deblocking filter 111 is also supplied from the computing unit 110 and stored in the frame memory 112.
 ステップS111において、イントラ予測部114は、イントラ予測モードのイントラ予測処理を行う。すなわち、イントラ予測部114は、全てのイントラ予測モードで予測画像を生成し、イントラコスト関数値を求めることで、各予測画像を評価し、最適イントラモードを選択する。イントラ予測部114は、最適イントラモードを選択すると、その最適イントラモードで生成された予測画像を、選択部116に供給し、その最適イントラモードのイントラコスト関数値を動きベクトル差分生成部121に供給する。 In step S111, the intra prediction unit 114 performs an intra prediction process in the intra prediction mode. That is, the intra prediction unit 114 generates predicted images in all intra prediction modes, obtains an intra cost function value, evaluates each predicted image, and selects an optimal intra mode. When selecting the optimal intra mode, the intra prediction unit 114 supplies the prediction image generated in the optimal intra mode to the selection unit 116, and supplies the intra cost function value of the optimal intra mode to the motion vector difference generation unit 121. To do.
 ステップS112において、動き予測・補償部115は、インター予測モードでの動き予測や動き補償を行うインター動き予測処理を行う。すなわち、動き予測・補償部115は、画面並べ替えバッファ102から供給される入力画像と、選択部113を介してフレームメモリ112から供給される参照画像とを用いて、全てのインター予測モードについて動き予測を行う。動き予測・補償部115は、検出された動きベクトルに応じて動き補償処理を行い、予測画像を生成し、インターコスト関数値を求めることで、各予測画像を評価し、最適インターモードを選択する。 In step S112, the motion prediction / compensation unit 115 performs an inter motion prediction process for performing motion prediction and motion compensation in the inter prediction mode. That is, the motion prediction / compensation unit 115 uses the input image supplied from the screen rearrangement buffer 102 and the reference image supplied from the frame memory 112 via the selection unit 113 to perform motion for all inter prediction modes. Make a prediction. The motion prediction / compensation unit 115 performs motion compensation processing according to the detected motion vector, generates a predicted image, obtains an inter-cost function value, evaluates each predicted image, and selects an optimal inter mode. .
 動き予測・補償部115は、最適インターモードを選択すると、その最適インターモードで生成された予測画像を、選択部116に供給する。また、動き予測・補償部115は、その最適インターモードのインターコスト関数値、動きベクトル情報および対象領域(CU)の情報などを、動きベクトル差分生成部121に供給する。 When the optimal inter mode is selected, the motion prediction / compensation unit 115 supplies the prediction image generated in the optimal inter mode to the selection unit 116. In addition, the motion prediction / compensation unit 115 supplies the inter-cost function value, motion vector information, information on the target region (CU), and the like of the optimal inter mode to the motion vector difference generation unit 121.
 ステップS113において、動きベクトル差分生成部121は、動き予測・補償部115からの情報を用い、動きベクトル差分生成処理を行う。この動きベクトル差分生成処理の詳細は、図13を参照して後述する。 In step S113, the motion vector difference generation unit 121 uses the information from the motion prediction / compensation unit 115 to perform a motion vector difference generation process. Details of the motion vector difference generation processing will be described later with reference to FIG.
 ステップS113の処理により、動きベクトル差分情報が生成されるとともに、イントラ予測部114からのイントラコスト関数値と、動き予測・補償部115からのインターコスト関数値とを用いて、最適モードが決定される。 Through the processing in step S113, motion vector difference information is generated, and an optimal mode is determined using the intra cost function value from the intra prediction unit 114 and the inter cost function value from the motion prediction / compensation unit 115. The
 動きベクトル差分生成部121は、生成した動きベクトル差分情報を、最適モード情報とともに、可逆符号化部106に供給する。また、動きベクトル差分生成部121は、決定した最適モードの情報を、選択部116に供給する。 The motion vector difference generation unit 121 supplies the generated motion vector difference information to the lossless encoding unit 106 together with the optimal mode information. Further, the motion vector difference generation unit 121 supplies information on the determined optimum mode to the selection unit 116.
 なお、インター予測モードが最適モードに決定された場合、それが動き予測・補償部115に通知されるので、動き予測・補償部115は、可逆符号化部106に参照画像インデックスなどを送信する。 Note that, when the inter prediction mode is determined to be the optimum mode, the motion prediction / compensation unit 115 is notified of this, so the motion prediction / compensation unit 115 transmits a reference image index or the like to the lossless encoding unit 106.
 ステップS114において、選択部116は、動きベクトル差分生成部121から供給された情報に基づいて、最適モードの予測画像を選択する。つまり、選択部116は、イントラ予測部114により生成された予測画像と、動き予測・補償部115により生成された予測画像のいずれか一方を選択する。 In step S114, the selection unit 116 selects the prediction image in the optimal mode based on the information supplied from the motion vector difference generation unit 121. That is, the selection unit 116 selects either the prediction image generated by the intra prediction unit 114 or the prediction image generated by the motion prediction / compensation unit 115.
 ステップS115において、可逆符号化部106は、ステップS105の処理により量子化された変換係数を符号化する。すなわち、差分画像(インターの場合、2次差分画像)に対して、可変長符号化や算術符号化等の可逆符号化が行われる。 In step S115, the lossless encoding unit 106 encodes the transform coefficient quantized by the process in step S105. That is, lossless encoding such as variable length encoding or arithmetic encoding is performed on the difference image (secondary difference image in the case of inter).
 また、可逆符号化部106は、ステップS114の処理により選択された予測画像の予測モードに関する情報を符号化し、差分画像を符号化して得られる符号化データに付加する。つまり、可逆符号化部106は、動きベクトル差分生成部121から供給されるモード情報や動きベクトル差分情報なども符号化し、符号化データに付加する。 Also, the lossless encoding unit 106 encodes information regarding the prediction mode of the prediction image selected by the process of step S114, and adds the encoded information to the encoded data obtained by encoding the difference image. That is, the lossless encoding unit 106 also encodes mode information, motion vector difference information, and the like supplied from the motion vector difference generation unit 121 and adds them to the encoded data.
 ステップS116において、蓄積バッファ107は、可逆符号化部106から出力される符号化データを蓄積する。蓄積バッファ107に蓄積された符号化データは、適宜読み出され、伝送路を介して復号側に伝送される。 In step S116, the accumulation buffer 107 accumulates the encoded data output from the lossless encoding unit 106. The encoded data stored in the storage buffer 107 is appropriately read out and transmitted to the decoding side via the transmission path.
 ステップS117において、レート制御部117は、ステップS116の処理により蓄積バッファ107に蓄積された圧縮画像に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部105の量子化動作のレートを制御する。 In step S117, the rate control unit 117 controls the quantization operation rate of the quantization unit 105 so that overflow or underflow does not occur based on the compressed image accumulated in the accumulation buffer 107 by the process in step S116. To do.
 ステップS117の処理が終了すると、符号化処理が終了される。 When the process of step S117 ends, the encoding process ends.
[動きベクトル差分生成処理の流れ]
 次に、図13のフローチャートを参照して、図12のステップS113において実行される動きベクトル差分生成処理の流れの例を説明する。
[Flow of motion vector difference generation processing]
Next, an example of the flow of motion vector difference generation processing executed in step S113 in FIG. 12 will be described with reference to the flowchart in FIG.
 動き予測・補償部115から、CUサイズ情報、CU分割情報、CUアドレス情報、動きベクトル情報、インターコスト関数値などが、動きベクトル差分生成制御部131に供給される。 From the motion prediction / compensation unit 115, CU size information, CU partition information, CU address information, motion vector information, intercost function values, and the like are supplied to the motion vector difference generation control unit 131.
 動きベクトル差分生成制御部131は、画内予測ベクトル生成部133および時間予測ベクトル生成部132に対して、ベクトル生成の指示を与える。 The motion vector difference generation control unit 131 gives a vector generation instruction to the in-picture prediction vector generation unit 133 and the temporal prediction vector generation unit 132.
 これに対応して、画内予測ベクトル生成部133は、ステップS131において、空間相関の予測ベクトルを生成する。画内予測ベクトル生成部133は、周辺動きベクトル保存部134に記憶されている動きベクトル情報を読み出して、空間予測ベクトルを生成する。画内予測ベクトル生成部133は、空間予測ベクトル情報を、最適モード判定部135に供給する。 Correspondingly, the intra-picture prediction vector generation unit 133 generates a spatial correlation prediction vector in step S131. The in-picture prediction vector generation unit 133 reads the motion vector information stored in the peripheral motion vector storage unit 134 and generates a spatial prediction vector. The intra-frame prediction vector generation unit 133 supplies the spatial prediction vector information to the optimum mode determination unit 135.
 時間予測ベクトル生成部132は、ステップS132において、時間相関の予測ベクトルを生成する。この時間相関の予測ベクトル生成処理の詳細は、図14を参照して後述するが、ステップS132の処理により、時間予測ベクトル情報が、最適モード判定部135に供給される。 In step S132, the temporal prediction vector generation unit 132 generates a temporal correlation prediction vector. Details of this temporal correlation prediction vector generation processing will be described later with reference to FIG. 14, but temporal prediction vector information is supplied to the optimum mode determination unit 135 by the processing in step S <b> 132.
 また、最適モード判定部135には、動きベクトル差分生成制御部131からインターコスト関数値および動きベクトル情報が供給される。最適モード判定部135には、イントラ予測部114からイントラコスト関数値が供給される。 Also, the inter-cost function value and the motion vector information are supplied to the optimum mode determination unit 135 from the motion vector difference generation control unit 131. The intra mode function value is supplied from the intra prediction unit 114 to the optimal mode determination unit 135.
 ステップS133において、最適モード判定部135は、周辺領域がすべて参照不可であるか否かを判定する。空間予測ベクトル情報および時間予測ベクトル情報が1つでも供給された場合、最適モード判定部135は、周辺領域がすべて参照不可ではないと判定し、ステップS134に進む。 In step S133, the optimum mode determination unit 135 determines whether or not all the surrounding areas are not referable. When at least one of the spatial prediction vector information and the temporal prediction vector information is supplied, the optimum mode determination unit 135 determines that all the surrounding areas are not referable, and the process proceeds to step S134.
 ステップS134において、最適モード判定部135は、供給された空間予測ベクトル情報および時間予測ベクトル情報のうち、重複する予測ベクトルがある場合、それを削除する。 In step S134, when there is an overlapping prediction vector in the supplied spatial prediction vector information and temporal prediction vector information, the optimum mode determination unit 135 deletes it.
 ステップS135において、最適モード判定部135は、動きベクトル差分情報を生成する。すなわち、最適モード判定部135は、供給された空間予測ベクトル情報および時間予測ベクトル情報毎に、動きベクトル差分生成制御部131から供給された動きベクトル情報と予測ベクトル情報の差分である動きベクトル差分情報を生成する。 In step S135, the optimum mode determination unit 135 generates motion vector difference information. That is, the optimal mode determination unit 135 performs motion vector difference information that is a difference between the motion vector information supplied from the motion vector difference generation control unit 131 and the prediction vector information for each of the supplied spatial prediction vector information and temporal prediction vector information. Is generated.
 ステップS136において、最適モード判定部135は、生成した動きベクトル差分情報を用いて、動きベクトル差分の最小の予測ベクトルを決定する。 In step S136, the optimal mode determination unit 135 determines the minimum prediction vector of the motion vector difference using the generated motion vector difference information.
 一方、空間予測ベクトル情報および時間予測ベクトル情報が1つも供給されなかった場合、最適モード判定部135は、周辺領域がすべて参照不可であると判定し、ステップS137に進む。 On the other hand, when neither the spatial prediction vector information nor the temporal prediction vector information is supplied, the optimal mode determination unit 135 determines that all the surrounding areas cannot be referred to, and proceeds to step S137.
 ステップS137において、最適モード判定部135は、0を予測ベクトルとして、動きベクトル差分情報を生成する。 In step S137, the optimum mode determination unit 135 generates motion vector difference information using 0 as a prediction vector.
 ステップS138において、最適モード判定部135は、最適モードを決定する。すなわち、最適モード判定部135は、動きベクトル差分生成制御部131からインターコスト関数値と、イントラ予測部114からイントラコスト関数値を比較することにより、最適なモードを決定する。 In step S138, the optimum mode determination unit 135 determines the optimum mode. That is, the optimal mode determination unit 135 determines an optimal mode by comparing the inter cost function value from the motion vector difference generation control unit 131 and the intra cost function value from the intra prediction unit 114.
 ステップS138において決定された最適なモードがインター予測モードの場合、ステップS139において、最適モード判定部135は、動きベクトル情報を、動きベクトル保存メモリ122に保存する。具体的には、最適モード判定部135は、図7を参照して上述したように、16×16の分割領域毎に、分割領域の左上のピクセルを含むPUの動きベクトル情報を、動きベクトル保存メモリ122に保存する。なお、この動きベクトル情報は、周辺動きベクトル保存部134にも保存される。 When the optimal mode determined in step S138 is the inter prediction mode, the optimal mode determination unit 135 stores the motion vector information in the motion vector storage memory 122 in step S139. Specifically, as described above with reference to FIG. 7, the optimal mode determination unit 135 saves the motion vector information of the PU including the upper left pixel of the divided area for each 16 × 16 divided area as a motion vector. Save in the memory 122. This motion vector information is also stored in the peripheral motion vector storage unit 134.
 ステップS140において、最適モード判定部135は、最適モード情報を、可逆符号化部106に供給する。また、最適モードがインター予測モードの場合、最適モードについての動きベクトル差分情報や、ステップS136において決定された最小の予測ベクトルのインデックス(mvp_idx)も、可逆符号化部106に供給される。 In step S140, the optimal mode determination unit 135 supplies the optimal mode information to the lossless encoding unit 106. When the optimal mode is the inter prediction mode, motion vector difference information about the optimal mode and the index (mvp_idx) of the minimum prediction vector determined in step S136 are also supplied to the lossless encoding unit 106.
 これらの情報は、図12のステップS115において、可逆符号化部106によりストリームのヘッダに付加される。 These pieces of information are added to the stream header by the lossless encoding unit 106 in step S115 of FIG.
 なお、図13の例は、予測動きベクトルmvpを求める場合の例である。マージモードの場合、図13の処理のうち、ステップS135およびS136の処理が除かれ、ステップS138において、最適モードを決定する際に、インター、イントラ、マージモードのうち、最適なものが決定される。そして、最適モードがマージモードの場合、最適モード情報とともに、マージインデックス(merge_idx)が可逆符号化部106に供給される。 Note that the example of FIG. 13 is an example in the case of obtaining the predicted motion vector mvp. In the merge mode, the processes of steps S135 and S136 are excluded from the process of FIG. 13, and the optimum one of the inter, intra, and merge modes is determined when determining the optimal mode in step S138. . When the optimum mode is the merge mode, the merge index (merge_idx) is supplied to the lossless encoding unit 106 together with the optimum mode information.
 すなわち、マージモードの場合も、ステップS132における時間相関の予測ベクトルを生成する処理とステップS139における動きベクトルを保存する処理は、基本的に同様の処理を行うので、以下においても、マージモードの場合の図示を省略する。 That is, even in the merge mode, the process for generating the temporal correlation prediction vector in step S132 and the process for storing the motion vector in step S139 perform basically the same process. Is omitted.
[時間相関の予測ベクトルの生成処理の流れ]
 次に、図14のフローチャートを参照して、図13のステップS132において実行される時間相関の予測ベクトルの生成処理の流れの例を説明する。
[Flow of prediction vector generation processing for time correlation]
Next, an example of the flow of the time correlation prediction vector generation process executed in step S132 of FIG. 13 will be described with reference to the flowchart of FIG.
 16×16アドレス生成部141には、動きベクトル差分生成制御部131から、予測ベクトル生成の指示が供給される。16×16アドレス生成部141は、ステップS141において、参照する16×16領域のアドレスを計算する。16×16アドレス生成部141は、計算した16×16アドレス情報を、16×16アドレス補正部142に供給する。 The 16 × 16 address generation unit 141 is supplied with a prediction vector generation instruction from the motion vector difference generation control unit 131. In step S141, the 16 × 16 address generation unit 141 calculates an address of a 16 × 16 area to be referred to. The 16 × 16 address generation unit 141 supplies the calculated 16 × 16 address information to the 16 × 16 address correction unit 142.
 16×16アドレス補正部142には、さらに、動きベクトル差分生成制御部131からCU/PUアドレス情報とCU/PUサイズ情報が供給される。 The 16 × 16 address correction unit 142 is further supplied with CU / PU address information and CU / PU size information from the motion vector difference generation control unit 131.
 ステップS142において、16×16アドレス補正部142は、供給された情報を用いて、16×16アドレス生成部141からの16×16アドレス情報を用いた参照が、CUを越えた参照であるか否かを判定する。すなわち、ステップS142においては、16×16アドレス情報が示す分割領域の右下のピクセル位置が、処理対象のCUの境界を越えているか否かが判定される。 In step S142, the 16 × 16 address correction unit 142 uses the supplied information to determine whether the reference using the 16 × 16 address information from the 16 × 16 address generation unit 141 is a reference beyond the CU. Determine whether. That is, in step S142, it is determined whether or not the lower right pixel position of the divided area indicated by the 16 × 16 address information exceeds the boundary of the processing target CU.
 ステップS142において、CUを越えた参照であると判定された場合、16×16アドレス補正部142は、その参照をCU内に引き戻すように、16×16アドレス情報の補正を行う。具体的には、16×16アドレス補正部142は、16×16アドレス情報に対して、式(3)を用いて、垂直方向に引き戻しを行う。 If it is determined in step S142 that the reference is beyond the CU, the 16 × 16 address correcting unit 142 corrects the 16 × 16 address information so that the reference is pulled back into the CU. Specifically, the 16 × 16 address correcting unit 142 performs pull-back on the 16 × 16 address information in the vertical direction using Expression (3).
 16×16アドレス補正部142は、引き戻しの結果、補正された16×16アドレス情報を、メモリアクセス制御部143に供給する。 The 16 × 16 address correcting unit 142 supplies the 16 × 16 address information corrected as a result of the pull back to the memory access control unit 143.
 ステップS142において、CUを越えた参照ではないと判定された場合、ステップS143の処理はスキップされる。すなわち、16×16アドレス補正部142は、16×16アドレス生成部141からの16×16アドレス情報を、メモリアクセス制御部143に供給する。 If it is determined in step S142 that the reference is not beyond the CU, the process in step S143 is skipped. That is, the 16 × 16 address correction unit 142 supplies the 16 × 16 address information from the 16 × 16 address generation unit 141 to the memory access control unit 143.
 メモリアクセス制御部143は、動きベクトル保存メモリ122に対して、16×16アドレス補正部142からの16×16アドレス情報が示す動きベクトルを読み出すリクエストを行う。すなわち、メモリアクセス制御部143は、アドレス補正部142からの16×16アドレス情報が示す動きベクトルを、時間相関の予測ベクトルとして設定し、設定した時間相関の予測ベクトルを読み出すリクエストを行う。 The memory access control unit 143 requests the motion vector storage memory 122 to read the motion vector indicated by the 16 × 16 address information from the 16 × 16 address correction unit 142. That is, the memory access control unit 143 sets the motion vector indicated by the 16 × 16 address information from the address correction unit 142 as a temporal correlation prediction vector, and makes a request to read the set temporal correlation prediction vector.
 ステップS144において、動きベクトル保存メモリ122は、メモリアクセス制御部143からのリクエストに対応して、動きベクトル情報を読み出し、インター/イントラ判定部136に供給する。 In step S144, the motion vector storage memory 122 reads the motion vector information in response to the request from the memory access control unit 143, and supplies the motion vector information to the inter / intra determination unit 136.
 ステップS145において、インター/イントラ判定部136は、動きベクトル保存メモリ122から読み出した動きベクトル情報が、イントラ(ピクチャ)を示しているか否かを判定する。 In step S145, the inter / intra determination unit 136 determines whether or not the motion vector information read from the motion vector storage memory 122 indicates an intra (picture).
 ステップS145において、読み出した動きベクトル情報が、イントラを示していると判定された場合、このPUがイントラ領域であるので、インター/イントラ判定部136は、16×16アドレス生成部141に対して、再読み込み指示を行う。なお、この再読み込み指示は、一度だけ行われる。 If it is determined in step S145 that the read motion vector information indicates an intra, since this PU is an intra area, the inter / intra determination unit 136 determines that the 16 × 16 address generation unit 141 Instruct to reload. This re-reading instruction is performed only once.
 ステップS146において、16×16アドレス生成部141は、イントラの場合の16×16領域のアドレスを計算する。16×16アドレス生成部141は、計算した16×16アドレス情報を、16×16アドレス補正部142に供給する。 In step S146, the 16 × 16 address generation unit 141 calculates the address of the 16 × 16 area in the case of intra. The 16 × 16 address generation unit 141 supplies the calculated 16 × 16 address information to the 16 × 16 address correction unit 142.
 ステップS147において、16×16アドレス補正部142は、供給された情報を用いて、16×16アドレス生成部141からの16×16アドレス情報を用いた参照が、CUを越えた参照であるか否かを判定する。 In step S147, the 16 × 16 address correction unit 142 uses the supplied information to determine whether the reference using the 16 × 16 address information from the 16 × 16 address generation unit 141 is a reference beyond the CU. Determine whether.
 ステップS147において、CUを越えた参照であると判定された場合、16×16アドレス補正部142は、ステップS148において、その参照をCU内に引き戻すように、16×16アドレス情報の補正を行う。具体的には、16×16アドレス補正部142は、16×16アドレス情報に対して、式(3)を用いて、垂直方向に引き戻しを行う。 If it is determined in step S147 that the reference exceeds the CU, the 16 × 16 address correcting unit 142 corrects the 16 × 16 address information so that the reference is pulled back into the CU in step S148. Specifically, the 16 × 16 address correcting unit 142 performs pull-back on the 16 × 16 address information in the vertical direction using Expression (3).
 16×16アドレス補正部142は、引き戻しの結果、補正された16×16アドレス情報を、メモリアクセス制御部143に供給する。 The 16 × 16 address correcting unit 142 supplies the 16 × 16 address information corrected as a result of the pull back to the memory access control unit 143.
 ステップS147において、CUを越えた参照ではないと判定された場合、ステップS148の処理はスキップされる。すなわち、16×16アドレス補正部142は、16×16アドレス生成部141からの16×16アドレス情報を、メモリアクセス制御部143に供給する。 If it is determined in step S147 that the reference does not exceed the CU, the process in step S148 is skipped. That is, the 16 × 16 address correction unit 142 supplies the 16 × 16 address information from the 16 × 16 address generation unit 141 to the memory access control unit 143.
 メモリアクセス制御部143は、動きベクトル保存メモリ122に対して、16×16アドレス補正部142からの16×16アドレス情報が示す動きベクトルを読み出すリクエストを行う。すなわち、メモリアクセス制御部143は、アドレス補正部142からの16×16アドレス情報が示す動きベクトルを、時間相関の予測ベクトルとして設定し、設定した時間相関の予測ベクトルを読み出すリクエストを行う。 The memory access control unit 143 requests the motion vector storage memory 122 to read the motion vector indicated by the 16 × 16 address information from the 16 × 16 address correction unit 142. That is, the memory access control unit 143 sets the motion vector indicated by the 16 × 16 address information from the address correction unit 142 as a temporal correlation prediction vector, and makes a request to read the set temporal correlation prediction vector.
 ステップS149において、動きベクトル保存メモリ122は、メモリアクセス制御部143からのリクエストに対応して、動きベクトル情報を読み出し、インター/イントラ判定部136に供給する。 In step S 149, the motion vector storage memory 122 reads the motion vector information in response to the request from the memory access control unit 143 and supplies it to the inter / intra determination unit 136.
 インター/イントラ判定部136は、動きベクトル保存メモリ122からの動きベクトル情報を、時間予測ベクトル情報として、最適モード判定部135に供給する。 The inter / intra determination unit 136 supplies the motion vector information from the motion vector storage memory 122 to the optimum mode determination unit 135 as temporal prediction vector information.
 一方、ステップS145において、読み出した動きベクトル情報が、イントラを示していると判定された場合、ステップS146乃至S149はスキップされる。すなわち、ステップS144で読み出された動きベクトル情報が、時間予測ベクトル情報として、最適モード判定部135に供給される。 On the other hand, if it is determined in step S145 that the read motion vector information indicates an intra, steps S146 to S149 are skipped. That is, the motion vector information read in step S144 is supplied to the optimum mode determination unit 135 as temporal prediction vector information.
 以上のように、参照先がLCUをまたぐ参照関係となってしまう場合に、その参照がLCU内に引き戻されるように、アドレスの補正を行うようにした。これにより、ラスタスキャン順の処理において、垂直方向にLCUを跨がないので、Colベクトル情報の読み直しがなくなる。 As described above, when the reference destination has a reference relationship across LCUs, the address is corrected so that the reference is pulled back into the LCU. As a result, in the raster scan order processing, the LCU is not straddled in the vertical direction, so that the Col vector information is not re-read.
 すなわち、過去に一度読み込んだデータの再読み込みは行われないので、効率よく、メモリアクセスを行うことができる。 That is, since data read once in the past is not re-read, memory access can be performed efficiently.
 ところで、図5を参照して上述したように、ColPUを決定する場合、図5のAを参照して上述した1番目の処理が行われ、1番目の処理で算出されたColPUが利用不可であると判定された場合、図5のBを参照して上述した2番目の処理が行われる。 Incidentally, as described above with reference to FIG. 5, when determining ColPU, the first process described above with reference to FIG. 5A is performed, and the ColPU calculated in the first process cannot be used. If it is determined that there is, the second process described above with reference to FIG. 5B is performed.
 しかしながら、図5のAと図5のBの例は、どちらの処理も、結果として、同じPUが指されてしまう。このように、PUサイズが8×8以下の場合、16×16ピクセルで区切られた右端または下端に接しないPUに関しては、ColPUが利用不可になってしまう。 However, in the examples of FIG. 5A and FIG. 5B, both processes point to the same PU. As described above, when the PU size is 8 × 8 or less, ColPU cannot be used for a PU that does not touch the right end or the lower end divided by 16 × 16 pixels.
 ColPUが利用不可になってしまうと、そのベクトル(ColMV)が、図3を参照して上述したマージモードや、図4を参照して上述した予測ベクトルmvpの候補とならないことで、最適な予測ベクトルを選択する自由度が狭められてしまう。 If ColPU becomes unavailable, the vector (ColMV) is not a candidate for the merge mode described above with reference to FIG. 3 or the prediction vector mvp described above with reference to FIG. The degree of freedom in selecting a vector is reduced.
 そこで、図15に示される動きベクトル差分生成部121は、1番目の処理のアドレスと2番目の処理のアドレスが同じ場合、データの読み出し位置を変更して、データを読み出すように制御する。 Therefore, when the first processing address and the second processing address are the same, the motion vector difference generation unit 121 shown in FIG. 15 controls to read the data by changing the data reading position.
[動きベクトル差分生成部の他の構成例]
 図15は、動きベクトル差分生成部の他の構成例を示すブロック図である。
[Another configuration example of the motion vector difference generation unit]
FIG. 15 is a block diagram illustrating another configuration example of the motion vector difference generation unit.
 図15の動きベクトル差分生成部121は、画面予測ベクトル生成部133、周辺動きベクトル保存部134、最適モード判定部135、およびインター/イントラ判定部136を備える点で、図9の動きベクトル差分生成部121と共通している。なお、共通している部分については、繰り返しになるので適宜その説明を省略する。 The motion vector difference generation unit 121 in FIG. 15 includes the screen prediction vector generation unit 133, the peripheral motion vector storage unit 134, the optimum mode determination unit 135, and the inter / intra determination unit 136, and the motion vector difference generation in FIG. This is common with the unit 121. In addition, since it repeats about the common part, the description is abbreviate | omitted suitably.
 図15の動きベクトル差分生成部121は、動きベクトル差分生成制御部131が、動きベクトル差分生成制御部151に入れ替わり、時間予測ベクトル生成部132が、時間予測ベクトル生成部152に入れ替わった点が、図9の動きベクトル差分生成部121と異なっている。 In the motion vector difference generation unit 121 in FIG. 15, the point that the motion vector difference generation control unit 131 is replaced with the motion vector difference generation control unit 151, and the time prediction vector generation unit 132 is replaced with the time prediction vector generation unit 152. This is different from the motion vector difference generation unit 121 of FIG.
 動きベクトル差分生成制御部151は、画内予測ベクトル生成部133および時間予測ベクトル生成部152に対して、予測ベクトル生成の指示を与える。また、動きベクトル差分生成制御部151は、最適モード判定部135に、動き予測・補償部115からのインターコスト関数値、および動きベクトル情報を供給し、最適モードを判定させる。 The motion vector difference generation control unit 151 gives a prediction vector generation instruction to the in-picture prediction vector generation unit 133 and the temporal prediction vector generation unit 152. In addition, the motion vector difference generation control unit 151 supplies the optimal mode determination unit 135 with the inter cost function value and the motion vector information from the motion prediction / compensation unit 115 to determine the optimal mode.
 なお、動きベクトル差分生成制御部151は、図9の動きベクトル差分生成制御部131と異なり、16×16アドレス補正部162に対して、CUやPUの情報を供給しない。 Note that, unlike the motion vector difference generation control unit 131 in FIG. 9, the motion vector difference generation control unit 151 does not supply CU or PU information to the 16 × 16 address correction unit 162.
 時間予測ベクトル生成部152は、メモリアクセス制御部143を備える点が、図9の時間予測ベクトル生成部132と共通している。 The temporal prediction vector generation unit 152 is common to the temporal prediction vector generation unit 132 of FIG. 9 in that it includes a memory access control unit 143.
 時間予測ベクトル生成部152は、16×16アドレス生成部141が、16×16アドレス生成部161に入れ替わり、16×16アドレス補正部142が、16×16アドレス補正部162に入れ替わった点が、図9の時間予測ベクトル生成部132と異なっている。 In the temporal prediction vector generation unit 152, the 16 × 16 address generation unit 141 is replaced with a 16 × 16 address generation unit 161, and the 16 × 16 address correction unit 142 is replaced with a 16 × 16 address correction unit 162. 9 temporal prediction vector generation unit 132 is different.
 16×16アドレス生成部161は、動きベクトル差分生成制御部131の制御のもと、参照する16×16領域のアドレスを計算し、計算した16×16アドレス情報を、16×16アドレス補正部162に供給する。 Under the control of the motion vector difference generation control unit 131, the 16 × 16 address generation unit 161 calculates the address of the 16 × 16 area to be referenced, and the calculated 16 × 16 address information is used as the 16 × 16 address correction unit 162. To supply.
 16×16アドレス生成部161は、インター/イントラ判定部136から再読み込み指示があると、イントラの場合の16×16領域のアドレスを計算する。16×16アドレス生成部161は、1回目の計算によるアドレスと、2回目(イントラの場合)の計算によるアドレスが同じであるか否かを判定し、同じであった場合、アドレスが同じであることを示す一致フラグを生成する。16×16アドレス生成部161は、生成した一致フラグを、16×16アドレス補正部162に供給する。 The 16 × 16 address generation unit 161 calculates the address of the 16 × 16 area in the case of intra when there is a re-reading instruction from the inter / intra determination unit 136. The 16 × 16 address generation unit 161 determines whether the address calculated by the first calculation and the address calculated by the second calculation (in the case of intra) are the same. If they are the same, the addresses are the same. A coincidence flag indicating that is generated. The 16 × 16 address generation unit 161 supplies the generated match flag to the 16 × 16 address correction unit 162.
 16×16アドレス補正部162は、16×16アドレス生成部161からの16×16アドレス情報をメモリアクセス制御部143に供給する。また、16×16アドレス補正部162は、16×16アドレス生成部161からのフラグを受けた場合、1回目とは異なるアドレスになるように、1回目の16×16アドレスを補正する。16×16アドレス補正部162は、補正された16×16アドレス情報を、メモリアクセス制御部143に供給する。 The 16 × 16 address correction unit 162 supplies the 16 × 16 address information from the 16 × 16 address generation unit 161 to the memory access control unit 143. Further, when receiving the flag from the 16 × 16 address generation unit 161, the 16 × 16 address correction unit 162 corrects the first 16 × 16 address so that the address is different from the first time. The 16 × 16 address correction unit 162 supplies the corrected 16 × 16 address information to the memory access control unit 143.
[アドレス補正方法]
 図16は、PU4×4の場合のピクチャを示す図である。
[Address correction method]
FIG. 16 is a diagram showing a picture in the case of PU4 × 4.
 処理対象PUの左下のピクセル位置(xPtr,yPtr)は、次の式(4)で表すことができる。

 xPtr = xP + nPSW -1
  yPtr = yP + nPSW -1             ・・・(4)
The lower left pixel position (xPtr, yPtr) of the processing target PU can be expressed by the following equation (4).

xPtr = xP + nPSW -1
yPtr = yP + nPSW -1 (4)
 最小のPU単位が4×4ピクセルなので、図16のハッチングされているピクセル位置(以下、ハッチング位置と称する)が、図5を参照して上述したColPUの算出方法上、1回目の処理と2回目の処理で、同じPUをさしてしまう位置である。 Since the minimum PU unit is 4 × 4 pixels, the hatched pixel position in FIG. 16 (hereinafter referred to as the hatch position) is the first process and 2 in the ColPU calculation method described above with reference to FIG. It is the position where the same PU is pointed out in the second processing.
 そこで、(xPtr,yPtr)が、図16のハッチング位置であることは、次の式(5)の2つの条件が成立するか否かで表すことができる。 Therefore, the fact that (xPtr, yPtr) is the hatching position in FIG. 16 can be expressed by whether or not the two conditions of the following equation (5) are satisfied.
 xPtr%16 = 3 or 7 or 11
  yPtr%16 = 3 or 7 or 11             ・・・(5)
xPtr% 16 = 3 or 7 or 11
yPtr% 16 = 3 or 7 or 11 (5)
 1回目の処理において、インター/イントラ判定部136により再読み込みが指示された場合に、上述した式(4)が成立するとき、16×16アドレス補正部162は、処理対象PUが属する16×16領域の、右隣の16×16を指すように、アドレスを補正する。 In the first processing, when re-reading is instructed by the inter / intra determination unit 136, when the above-described formula (4) is satisfied, the 16 × 16 address correction unit 162 determines that the processing target PU belongs to 16 × 16. The address is corrected so as to indicate 16 × 16 on the right side of the area.
 なお、右隣の16×16が、画面外となる場合には、16×16アドレス補正部162は、処理対象PUが属する16×16領域の、左隣の16×16領域を指すように、アドレスを補正する。 When the right 16 × 16 is outside the screen, the 16 × 16 address correcting unit 162 indicates the 16 × 16 area adjacent to the left of the 16 × 16 area to which the processing target PU belongs. Correct the address.
 例えば、図17に示されるピクセル位置P1は、16の剰余でそれぞれ11となり、式(4)のx、yの両成分の条件式が成り立つ。そこで、16×16アドレス補正部162は、ピクセル位置P1の水平方向のみに+16して、右隣の16×16領域のピクセル位置P2に移動させる。その後、ピクセル位置P2は、16での丸め処理により、ハッチングされたピクセル位置P3となる。 For example, the pixel position P1 shown in FIG. 17 is 11 with 16 remainders, and the conditional expression of both the x and y components of Expression (4) holds. Therefore, the 16 × 16 address correcting unit 162 adds +16 only in the horizontal direction of the pixel position P1 and moves it to the pixel position P2 of the 16 × 16 region adjacent to the right. Thereafter, the pixel position P2 becomes a hatched pixel position P3 by the rounding process at 16.
[時間相関の予測ベクトルの生成処理の流れ]
 次に、図15の動きベクトル差分生成部121の場合の各処理の流れについて説明する。ただし、図15の動きベクトル差分生成部121の場合の画像符号化装置100の符号化処理は、図12を参照して上述した符号化処理と同様の流れである。また、動きベクトル差分生成処理の流れは、図13を参照して上述した動きベクトル差分生成処理の流れと同様の流れである。
[Time correlation prediction vector generation process flow]
Next, the flow of each process in the case of the motion vector difference generation unit 121 in FIG. 15 will be described. However, the encoding process of the image encoding device 100 in the case of the motion vector difference generation unit 121 in FIG. 15 is the same flow as the encoding process described above with reference to FIG. The flow of the motion vector difference generation process is the same as the flow of the motion vector difference generation process described above with reference to FIG.
 したがって、異なる処理が施される図13のステップS132における時間相関の予測ベクトルの生成処理の詳細について、図18のフローチャートを参照して説明する。 Therefore, the details of the process for generating the prediction vector of the time correlation in step S132 of FIG. 13 in which different processes are performed will be described with reference to the flowchart of FIG.
 16×16アドレス生成部161には、動きベクトル差分生成制御部151から、予測ベクトル生成の指示が供給される。16×16アドレス生成部141は、ステップS151において、参照する16×16領域のアドレスを計算する。16×16アドレス生成部141は、計算した16×16アドレス情報を、16×16アドレス補正部142に供給する。 The 16 × 16 address generation unit 161 is supplied with a prediction vector generation instruction from the motion vector difference generation control unit 151. In step S151, the 16 × 16 address generation unit 141 calculates the address of the 16 × 16 area to be referred to. The 16 × 16 address generation unit 141 supplies the calculated 16 × 16 address information to the 16 × 16 address correction unit 142.
 16×16アドレス補正部142は、16×16アドレス生成部141からの16×16アドレス情報を、メモリアクセス制御部143に供給する。 The 16 × 16 address correction unit 142 supplies the 16 × 16 address information from the 16 × 16 address generation unit 141 to the memory access control unit 143.
 メモリアクセス制御部143は、動きベクトル保存メモリ122に対して、16×16アドレス補正部142からの16×16アドレス情報が示す動きベクトルを読み出すリクエストを行う。すなわち、メモリアクセス制御部143は、アドレス補正部142からの16×16アドレス情報が示す動きベクトルを、時間相関の予測ベクトルとして設定し、設定した時間相関の予測ベクトルを読み出すリクエストを行う。 The memory access control unit 143 requests the motion vector storage memory 122 to read the motion vector indicated by the 16 × 16 address information from the 16 × 16 address correction unit 142. That is, the memory access control unit 143 sets the motion vector indicated by the 16 × 16 address information from the address correction unit 142 as a temporal correlation prediction vector, and makes a request to read the set temporal correlation prediction vector.
 ステップS152において、動きベクトル保存メモリ122は、メモリアクセス制御部143からのリクエストに対応して、動きベクトル情報を読み出し、インター/イントラ判定部136に供給する。 In step S152, the motion vector storage memory 122 reads the motion vector information in response to the request from the memory access control unit 143, and supplies the motion vector information to the inter / intra determination unit 136.
 ステップS153において、インター/イントラ判定部136は、動きベクトル保存メモリ122から読み出した動きベクトル情報が、イントラ(ピクチャ)を示しているか否かを判定する。 In step S153, the inter / intra determination unit 136 determines whether or not the motion vector information read from the motion vector storage memory 122 indicates an intra (picture).
 ステップS153において、読み出した動きベクトル情報が、イントラを示していると判定された場合、インター/イントラ判定部136は、16×16アドレス生成部161に対して、再読み込み指示を行う。なお、この再読み込み指示は、一度だけ行われる。 In step S153, when it is determined that the read motion vector information indicates an intra, the inter / intra determination unit 136 instructs the 16 × 16 address generation unit 161 to re-read. This re-reading instruction is performed only once.
 ステップS154において、16×16アドレス生成部161は、イントラの場合の16×16領域のアドレスを計算する。 In step S154, the 16 × 16 address generation unit 161 calculates the address of the 16 × 16 area in the case of intra.
 16×16アドレス生成部161は、ステップS155において、1回目の計算によるアドレスと、2回目(イントラの場合)の計算によるアドレスが同じであるか否かを判定する。 In step S155, the 16 × 16 address generation unit 161 determines whether the address calculated in the first time is the same as the address calculated in the second time (in the case of intra).
 16×16アドレス生成部161は、ステップS155において、アドレスが同じであると判定した場合、アドレスが同じであることを示す一致フラグを生成し、生成した一致フラグを、16×16アドレス補正部162に供給する。 If the 16 × 16 address generation unit 161 determines in step S155 that the addresses are the same, the 16 × 16 address generation unit 161 generates a match flag indicating that the addresses are the same, and uses the generated match flag as the 16 × 16 address correction unit 162. To supply.
 16×16アドレス補正部162は、一致フラグを受け取ると、ステップS156において、1回目とは異なるアドレスになるように、1回目の16×16アドレスを補正する。すなわち、16×16アドレス補正部162は、1回目の16×16アドレスの水平方向に、16×16アドレスが属する領域の右となりの領域を指すように+16して、16×16アドレスを補正する。16×16アドレス補正部162は、補正された16×16アドレス情報を、メモリアクセス制御部143に供給する。 When the match flag is received, the 16 × 16 address correcting unit 162 corrects the first 16 × 16 address so that the address becomes different from the first address in step S156. That is, the 16 × 16 address correction unit 162 corrects the 16 × 16 address by performing +16 in the horizontal direction of the first 16 × 16 address so as to indicate the region to the right of the region to which the 16 × 16 address belongs. . The 16 × 16 address correction unit 162 supplies the corrected 16 × 16 address information to the memory access control unit 143.
 また、ステップS155において、アドレスが異なると判定された場合、一致フラグは生成されず、ステップS156もスキップされる。すなわち、16×16アドレス補正部162は、1回目の16×16アドレスとは異なる2回目の16×16アドレスを、メモリアクセス制御部143に供給する。 If it is determined in step S155 that the addresses are different, no match flag is generated and step S156 is also skipped. That is, the 16 × 16 address correction unit 162 supplies the memory access control unit 143 with a second 16 × 16 address different from the first 16 × 16 address.
 メモリアクセス制御部143は、動きベクトル保存メモリ122に対して、16×16アドレス補正部142からの16×16アドレス情報が示す動きベクトルを読み出すリクエストを行う。すなわち、メモリアクセス制御部143は、アドレス補正部142からの16×16アドレス情報が示す動きベクトルを、時間相関の予測ベクトルとして設定し、設定した時間相関の予測ベクトルを読み出すリクエストを行う。 The memory access control unit 143 requests the motion vector storage memory 122 to read the motion vector indicated by the 16 × 16 address information from the 16 × 16 address correction unit 142. That is, the memory access control unit 143 sets the motion vector indicated by the 16 × 16 address information from the address correction unit 142 as a temporal correlation prediction vector, and makes a request to read the set temporal correlation prediction vector.
 ステップS157において、動きベクトル保存メモリ122は、メモリアクセス制御部143からのリクエストに対応して、動きベクトル情報を読み出し、インター/イントラ判定部136に供給する。 In step S157, the motion vector storage memory 122 reads the motion vector information in response to the request from the memory access control unit 143 and supplies the motion vector information to the inter / intra determination unit 136.
 インター/イントラ判定部136は、動きベクトル保存メモリ122からの動きベクトル情報を、時間予測ベクトル情報として、最適モード判定部135に供給する。 The inter / intra determination unit 136 supplies the motion vector information from the motion vector storage memory 122 to the optimum mode determination unit 135 as temporal prediction vector information.
 一方、ステップS153において、読み出した動きベクトル情報が、イントラを示していると判定された場合、ステップS154乃至S157はスキップされる。すなわち、ステップS152で読み出された動きベクトル情報が、時間相予測ベクトル情報として、最適モード判定部135に供給される。 On the other hand, if it is determined in step S153 that the read motion vector information indicates an intra, steps S154 to S157 are skipped. That is, the motion vector information read in step S152 is supplied to the optimum mode determination unit 135 as temporal phase prediction vector information.
 以上のように、1回目の計算によるアドレスと2回目の計算によるアドレスが一致する場合、そのアドレスを、隣の16×16領域に移動させるようにした。これにより、同じアドレスを読み出してしまうメモリアクセスを抑制するとともに、マージモードや予測ベクトルの候補が減ってしまうことを抑制することができる。 As described above, when the address calculated by the first calculation coincides with the address calculated by the second calculation, the address is moved to the adjacent 16 × 16 area. As a result, it is possible to suppress memory access that reads the same address, and to suppress a decrease in merge mode and prediction vector candidates.
 その結果、効率よくメモリアクセスを行うことができるとともに、符号化効率を改善することもできる。 As a result, memory access can be performed efficiently and coding efficiency can be improved.
 ここで、メモリアクセスの観点で考えると、1回目のColPU情報から、イントラであるか否かを判定して、再度、異なるColPU情報を読み出すのは、アクセスが増えてしまうという点で冗長である。 Here, from the viewpoint of memory access, it is redundant in terms of increasing access to determine whether or not it is intra from the first ColPU information and read different ColPU information again. .
 そこで、上記説明においては、ColMV情報の読み出し側で、読み出すColPUの位置を決める方法について説明してきたが、次は、動きベクトルの保存側に視点を変える。すなわち、次の図19に示される動きベクトル差分生成部121は、動きベクトルを保存する際に、処理対象領域がイントラ予測であったら、周辺の所定の位置の利用可能な動きベクトルを保存する。 Therefore, in the above description, the method of determining the position of the ColPU to be read on the ColMV information reading side has been described. Next, the viewpoint is changed to the motion vector storage side. That is, when the motion vector difference generation unit 121 illustrated in FIG. 19 stores the motion vector, if the processing target region is intra prediction, the motion vector difference generation unit 121 stores an available motion vector at a predetermined position in the vicinity.
[動きベクトル差分生成部の他の構成例]
 図19は、動きベクトル差分生成部のさらに他の構成例を示すブロック図である。
[Another configuration example of the motion vector difference generation unit]
FIG. 19 is a block diagram illustrating still another configuration example of the motion vector difference generation unit.
 図19の動きベクトル差分生成部121は、画面予測ベクトル生成部133、および周辺動きベクトル保存部134を備える点で、図9の動きベクトル差分生成部121と共通している。なお、共通している部分については、繰り返しになるので適宜その説明を省略する。 19 is the same as the motion vector difference generation unit 121 of FIG. 9 in that it includes a screen prediction vector generation unit 133 and a peripheral motion vector storage unit 134. In addition, since it repeats about the common part, the description is abbreviate | omitted suitably.
 図19の動きベクトル差分生成部121は、動きベクトル差分生成制御部131が、動きベクトル差分生成制御部171に入れ替わり、時間予測ベクトル生成部132が、時間予測ベクトル生成部172に入れ替わった点が、図9の動きベクトル差分生成部121と異なっている。図19の動きベクトル差分生成部121は、最適モード判定部135が、最適モード判定部173に入れ替わった点が、図9の動きベクトル差分生成部121と異なっている。 In the motion vector difference generation unit 121 in FIG. 19, the point that the motion vector difference generation control unit 131 is replaced with the motion vector difference generation control unit 171, and the temporal prediction vector generation unit 132 is replaced with the temporal prediction vector generation unit 172. This is different from the motion vector difference generation unit 121 of FIG. The motion vector difference generation unit 121 in FIG. 19 is different from the motion vector difference generation unit 121 in FIG. 9 in that the optimal mode determination unit 135 is replaced with an optimal mode determination unit 173.
 さらに、図19の動きベクトル差分生成部121は、インター/イントラ判定部136が除かれた点と、保存ベクトル選択部174が追加された点とが、図9の動きベクトル差分生成部121と異なっている。 Further, the motion vector difference generation unit 121 in FIG. 19 is different from the motion vector difference generation unit 121 in FIG. 9 in that the inter / intra determination unit 136 is removed and the storage vector selection unit 174 is added. ing.
 動きベクトル差分生成制御部171は、画内予測ベクトル生成部133および時間予測ベクトル生成部172に対して、予測ベクトル生成の指示を与える。また、動きベクトル差分生成制御部171は、最適モード判定部173に、動き予測・補償部115からのインターコスト関数値、および動きベクトル情報を供給し、最適モードを判定させる。 The motion vector difference generation control unit 171 gives a prediction vector generation instruction to the in-picture prediction vector generation unit 133 and the temporal prediction vector generation unit 172. In addition, the motion vector difference generation control unit 171 supplies the intermode function value and the motion vector information from the motion prediction / compensation unit 115 to the optimal mode determination unit 173 to determine the optimal mode.
 時間予測ベクトル生成部172は、メモリアクセス制御部143を備える点が、図9の時間予測ベクトル生成部132と共通している。 The temporal prediction vector generation unit 172 is common to the temporal prediction vector generation unit 132 of FIG. 9 in that it includes a memory access control unit 143.
 時間予測ベクトル生成部172は、16×16アドレス生成部141が、16×16アドレス生成部181に入れ替わった点と、16×16アドレス補正部142が除かれた点が、図9の時間予測ベクトル生成部132と異なっている。 The temporal prediction vector generation unit 172 has the point that the 16 × 16 address generation unit 141 is replaced with the 16 × 16 address generation unit 181 and the point that the 16 × 16 address correction unit 142 is removed are the temporal prediction vectors in FIG. Different from the generation unit 132.
 16×16アドレス生成部161は、動きベクトル差分生成制御部171の制御のもと、参照する16×16領域のアドレスを計算し、計算した16×16アドレス情報を、メモリアクセス制御部143に供給する。 The 16 × 16 address generation unit 161 calculates the address of the 16 × 16 area to be referenced under the control of the motion vector difference generation control unit 171, and supplies the calculated 16 × 16 address information to the memory access control unit 143. To do.
 最適モード判定部173は、画内予測ベクトル生成部133からの空間予測ベクトルと、動きベクトル保存メモリ122からの時間予測ベクトルが参照可能であるか否かを判定する。最適モード判定部173は、参照可能である動きベクトルのうち、動き予測・補償部115により算出された動きベクトル情報との差分の発生ビット量が最小となるモードを判定する。 The optimal mode determination unit 173 determines whether the spatial prediction vector from the in-picture prediction vector generation unit 133 and the temporal prediction vector from the motion vector storage memory 122 can be referred to. The optimum mode determination unit 173 determines a mode in which the generated bit amount of the difference from the motion vector information calculated by the motion prediction / compensation unit 115 is the smallest among the referenceable motion vectors.
 また、最適モード判定部173には、動きベクトル差分生成制御部171からインターコスト関数値および動きベクトル情報が供給される。最適モード判定部173には、イントラ予測部114からイントラコスト関数値が供給される。最適モード判定部173は、これらのコスト関数値を用いて、処理対象の領域がイントラ領域として符号化するか、インター領域として符号化するかの判定も行う。 Also, the inter-cost function value and the motion vector information are supplied from the motion vector difference generation control unit 171 to the optimum mode determination unit 173. An intra cost function value is supplied from the intra prediction unit 114 to the optimal mode determination unit 173. The optimal mode determination unit 173 also uses these cost function values to determine whether the region to be processed is encoded as an intra region or an inter region.
 最適モード判定部173は、決定した最適モード情報と、動きベクトル差分情報を、可逆符号化部106に供給する。また、最適モード判定部173は、動きベクトル情報とイントラ領域の情報を、保存ベクトル選択部174に供給する。 The optimal mode determination unit 173 supplies the determined optimal mode information and motion vector difference information to the lossless encoding unit 106. Further, the optimum mode determination unit 173 supplies the motion vector information and the intra area information to the storage vector selection unit 174.
 保存ベクトル選択部174は、処理対象領域の動きベクトル情報を、動きベクトル保存メモリ122に保存する。その際、保存ベクトル選択部174は、最適モード判定部173から動きベクトル情報とイントラ領域の情報、周辺動きベクトル保存部134からの周辺領域のベクトルとモード情報などを参照する。 The storage vector selection unit 174 stores the motion vector information of the processing target area in the motion vector storage memory 122. At that time, the saved vector selection unit 174 refers to the motion vector information and intra region information from the optimum mode determination unit 173, the vector and mode information of the surrounding region from the surrounding motion vector storage unit 134, and the like.
 なお、図示はされていないが、保存ベクトル選択部174は、周辺動きベクトル保存部134にも、動きベクトル情報とモード情報を保存させる。 Although not shown, the storage vector selection unit 174 causes the peripheral motion vector storage unit 134 to store the motion vector information and the mode information.
[動きベクトル情報の保存方法]
 図20の例においては、16×16ピクセル単位で分割された画面の一部が示されている。動きベクトル保存メモリ122においては、16×16の分割領域毎に動きベクトルが保存される。太枠で囲まれている右下の16×16領域が、動きベクトル保存の処理対象領域(分割領域)であり、処理対象領域の左上の位置には、ピクセル位置Pが示されている。ピクセル位置Pに接する、ピクセル位置A、ピクセル位置B、およびピクセル位置Cも示されている。
[How to save motion vector information]
In the example of FIG. 20, a part of the screen divided in units of 16 × 16 pixels is shown. In the motion vector storage memory 122, a motion vector is stored for each 16 × 16 divided region. A lower right 16 × 16 region surrounded by a thick frame is a motion vector storage processing target region (divided region), and a pixel position P is shown at the upper left position of the processing target region. Also shown are pixel location A, pixel location B, and pixel location C that touch pixel location P.
 ピクセル位置Pの左に隣接するピクセル位置Aは、処理対象領域の左隣の16×16領域の右上のピクセル位置である。ピクセル位置Pの左上に接するピクセル位置Bは、処理対象領域の左上の16×16領域の右下のピクセル位置である。ピクセル位置Pの上に隣接するピクセル位置Cは、処理対象領域の上隣の16×16領域の左下のピクセル位置である。 The pixel position A adjacent to the left of the pixel position P is the upper right pixel position of the 16 × 16 area adjacent to the left of the processing target area. The pixel position B in contact with the upper left of the pixel position P is the lower right pixel position of the 16 × 16 area at the upper left of the processing target area. The pixel position C adjacent on the pixel position P is the lower left pixel position of the 16 × 16 area adjacent to the processing target area.
 保存ベクトル選択部174は、まず、図7を参照して上述した処理と同様に、16×16領域の左上のピクセル位置Pを含むPUのベクトル情報を動きベクトル保存メモリ122に保存する。ただし、保存ベクトル選択部174は、そのPUがイントラ領域である場合には、周囲のピクセル位置が含まれるPUの動きベクトル情報が利用可能であれば、それを、処理対象の16×16領域のベクトル情報として動きベクトル保存メモリ122に保存する。 The saved vector selection unit 174 first saves the vector information of the PU including the pixel position P at the upper left of the 16 × 16 area in the motion vector saving memory 122, similarly to the processing described above with reference to FIG. However, if the PU is an intra region, the saved vector selection unit 174, if the motion vector information of the PU including the surrounding pixel positions is available, it is used as the processing target 16 × 16 region. It is stored in the motion vector storage memory 122 as vector information.
 具体的には、保存ベクトル選択部174は、16×16領域の左上のピクセル位置Pを含むPUがイントラであった場合、ピクセル位置Aが含まれるPUの動きベクトル情報が利用可能であるか否かを判定する。保存ベクトル選択部174は、ピクセル位置Aが含まれるPUの動きベクトル情報が利用可能であれば、その動きベクトル情報を、処理対象の16×16領域のベクトル情報として設定し、設定した動きベクトル情報を保存する。 Specifically, the saved vector selection unit 174 determines whether or not the motion vector information of the PU including the pixel position A is available when the PU including the pixel position P at the upper left of the 16 × 16 region is an intra. Determine whether. If the motion vector information of the PU including the pixel position A is available, the saved vector selection unit 174 sets the motion vector information as vector information of the 16 × 16 region to be processed, and the set motion vector information Save.
 保存ベクトル選択部174は、ピクセル位置Aが含まれるPUの動きベクトル情報が利用不可能であれば、ピクセル位置Bが含まれるPUの動きベクトル情報が利用可能であるか否かを判定する。保存ベクトル選択部174は、ピクセル位置Bが含まれるPUの動きベクトル情報が利用可能であれば、その動きベクトル情報を、処理対象の16×16領域のベクトル情報として設定し、設定した動きベクトル情報を保存する。 The stored vector selection unit 174 determines whether or not the motion vector information of the PU including the pixel position B is usable if the motion vector information of the PU including the pixel position A is not usable. If the motion vector information of the PU including the pixel position B is available, the saved vector selection unit 174 sets the motion vector information as vector information of the 16 × 16 region to be processed, and the set motion vector information Save.
 保存ベクトル選択部174は、ピクセル位置Bが含まれるPUの動きベクトル情報が利用不可能であれば、ピクセル位置Cが含まれるPUの動きベクトル情報が利用可能であるか否かを判定する。保存ベクトル選択部174は、ピクセル位置Cが含まれるPUの動きベクトル情報が利用可能であれば、その動きベクトル情報を、処理対象の16×16領域のベクトル情報として設定し、設定した動きベクトル情報を保存する。 The saved vector selection unit 174 determines whether or not the motion vector information of the PU including the pixel position C is usable if the motion vector information of the PU including the pixel position B is not usable. If the motion vector information of the PU including the pixel position C is available, the saved vector selection unit 174 sets the motion vector information as vector information of the 16 × 16 region to be processed, and the set motion vector information Save.
 保存ベクトル選択部174は、ピクセル位置Cが含まれるPUの動きベクトル情報が利用不可能であれば、イントラであることを、処理対象の16×16領域のベクトル情報として設定し、設定した動きベクトル情報を保存する。 If the motion vector information of the PU including the pixel position C is not available, the saved vector selection unit 174 sets the intra as the 16 × 16 region vector information to be processed, and sets the motion vector thus set. To save the information.
 なお、図20の例の場合、LCUをまたぐか否かについては言及されていないが、ラスタスキャン順での情報の保存が必要になることから、実際には、LCUをまたぐ場合には、利用不可能と判定させることが望ましい。 In the case of the example in FIG. 20, there is no mention of whether or not to cross LCUs. However, since it is necessary to store information in the raster scan order, in actuality, when crossing LCUs, It is desirable to make it judged impossible.
 また、図20の例においては、16×16領域の外側のベクトル情報を保存の候補としていたが、動きベクトル保存単位である16×16領域の内側のベクトル情報を保存の候補とすることも可能である。 In the example of FIG. 20, vector information outside the 16 × 16 area is used as a storage candidate, but vector information inside the 16 × 16 area that is a motion vector storage unit can also be used as a storage candidate. It is.
 図21の例においては、画面のうち、処理対象領域である、16×16ピクセルの分割領域が示されている。処理対象領域は、さらに、8×8ピクセルの領域に分割されている。 In the example of FIG. 21, a 16 × 16 pixel divided region, which is a processing target region, is shown in the screen. The processing target area is further divided into 8 × 8 pixel areas.
 処理対象領域の左上の8×8領域の左上の位置には、ピクセル位置Aが示されている。処理対象領域の右上の8×8領域の左上の位置には、ピクセル位置Bが示されている。処理対象領域の左下の8×8領域の左上の位置には、ピクセル位置Cが示されている。処理対象領域の右下の8×8領域の左上の位置には、ピクセル位置Dが示されている。 The pixel position A is shown at the upper left position of the 8 × 8 area at the upper left of the processing target area. A pixel position B is shown at the upper left position of the 8 × 8 area at the upper right of the processing target area. A pixel position C is shown at the upper left position of the 8 × 8 area at the lower left of the processing target area. A pixel position D is shown at the upper left position of the 8 × 8 area at the lower right of the processing target area.
 保存ベクトル選択部174は、まず、図7を参照して上述した処理と同様に、16×16領域の左上のピクセル位置Aを含むPU(PI0_0)のベクトル情報を動きベクトル保存メモリ122に保存する。ただし、保存ベクトル選択部174は、そのPUがイントラ領域である場合には、周囲のピクセル位置が含まれるPUの動きベクトル情報が利用可能であれば、それを、処理対象の16×16領域のベクトル情報として設定し、設定した動きベクトル情報を動きベクトル保存メモリ122に保存する。 First, the storage vector selection unit 174 stores the vector information of the PU (PI0_0) including the upper left pixel position A in the 16 × 16 region in the motion vector storage memory 122, similarly to the processing described above with reference to FIG. . However, if the PU is an intra region, the saved vector selection unit 174, if the motion vector information of the PU including the surrounding pixel positions is available, it is used as the processing target 16 × 16 region. The motion vector information is set as vector information, and the set motion vector information is stored in the motion vector storage memory 122.
 具体的には、保存ベクトル選択部174は、16×16領域の左上のピクセル位置Aを含むPUがイントラであった場合、ピクセル位置Bが含まれるPU(PI1_0)の動きベクトル情報が利用可能であるか否かを判定する。保存ベクトル選択部174は、ピクセル位置Bが含まれるPUの動きベクトル情報が利用可能であれば、その動きベクトル情報を、処理対象の16×16領域のベクトル情報として設定し、設定した動きベクトル情報を保存する。 Specifically, the saved vector selection unit 174 can use the motion vector information of the PU (PI1_0) including the pixel position B when the PU including the pixel position A at the upper left of the 16 × 16 region is intra. It is determined whether or not there is. If the motion vector information of the PU including the pixel position B is available, the saved vector selection unit 174 sets the motion vector information as vector information of the 16 × 16 region to be processed, and the set motion vector information Save.
 保存ベクトル選択部174は、ピクセル位置Bが含まれるPUの動きベクトル情報が利用不可能であれば、ピクセル位置C(PI2_0)が含まれるPUの動きベクトル情報が利用可能であるか否かを判定する。保存ベクトル選択部174は、ピクセル位置Cが含まれるPUの動きベクトル情報が利用可能であれば、その動きベクトル情報を、処理対象の16×16領域のベクトル情報として設定し、設定した動きベクトル情報を保存する。 If the motion vector information of the PU including the pixel position B is not available, the saved vector selection unit 174 determines whether the motion vector information of the PU including the pixel position C (PI2_0) is available. To do. If the motion vector information of the PU including the pixel position C is available, the saved vector selection unit 174 sets the motion vector information as vector information of the 16 × 16 region to be processed, and the set motion vector information Save.
 保存ベクトル選択部174は、ピクセル位置Cが含まれるPUの動きベクトル情報が利用不可能であれば、ピクセル位置Dが含まれるPUの動きベクトル情報が利用可能であるか否かを判定する。保存ベクトル選択部174は、ピクセル位置D(PI3_0)が含まれるPUの動きベクトル情報が利用可能であれば、その動きベクトル情報を、処理対象の16×16領域のベクトル情報として設定し、設定した動きベクトル情報を保存する。 The stored vector selection unit 174 determines whether or not the motion vector information of the PU including the pixel position D is usable when the motion vector information of the PU including the pixel position C is not usable. If the motion vector information of the PU including the pixel position D (PI3_0) is available, the saved vector selection unit 174 sets the motion vector information as vector information of the 16 × 16 region to be processed, and sets the motion vector information. Save motion vector information.
 保存ベクトル選択部174は、ピクセル位置Dが含まれるPUの動きベクトル情報が利用不可能であれば、イントラであることを、処理対象の16×16領域のベクトル情報として設定し、設定したベクトル情報を保存する。 If the motion vector information of the PU including the pixel position D is not available, the saved vector selection unit 174 sets that the intra is the vector information of the 16 × 16 region to be processed and sets the set vector information Save.
[時間相関の予測ベクトルの生成処理の流れ]
 次に、図19の動きベクトル差分生成部121の場合の各処理の流れについて説明する。ただし、図19の動き動きベクトル差分生成部121の場合の画像符号化装置100の符号化処理は、図12を参照して上述した符号化処理と同様の流れである。また、動きベクトル差分生成処理の流れは、図13を参照して上述した動きベクトル差分生成処理の流れと同様の流れである。
[Time correlation prediction vector generation process flow]
Next, the flow of each process in the case of the motion vector difference generation unit 121 in FIG. 19 will be described. However, the encoding process of the image encoding device 100 in the case of the motion vector difference generation unit 121 in FIG. 19 is the same flow as the encoding process described above with reference to FIG. The flow of the motion vector difference generation process is the same as the flow of the motion vector difference generation process described above with reference to FIG.
 したがって、図13のステップS132における時間相関の予測ベクトルの生成処理と、ステップS139における動きベクトル保存処理の詳細が異なっているので、それらの処理について順に説明する。 Therefore, since the details of the time correlation prediction vector generation process in step S132 of FIG. 13 and the motion vector storage process in step S139 are different, these processes will be described in order.
 図22は、図13のステップS132における時間相関の予測ベクトルの生成処理の例を説明するフローチャートである。 FIG. 22 is a flowchart for explaining an example of the time correlation prediction vector generation process in step S132 of FIG.
 16×16アドレス生成部181には、動きベクトル差分生成制御部171から、予測ベクトル生成の指示が供給される。16×16アドレス生成部181は、ステップS161において、参照する16×16領域のアドレスを計算する。16×16アドレス生成部181は、計算した16×16アドレス情報を、メモリアクセス制御部143に供給する。 The 16 × 16 address generation unit 181 is supplied with a prediction vector generation instruction from the motion vector difference generation control unit 171. In step S161, the 16 × 16 address generation unit 181 calculates the address of the 16 × 16 area to be referred to. The 16 × 16 address generation unit 181 supplies the calculated 16 × 16 address information to the memory access control unit 143.
 メモリアクセス制御部143は、動きベクトル保存メモリ122に対して、16×16アドレス生成部181からの16×16アドレス情報が示す動きベクトルを読み出すリクエストを行う。 The memory access control unit 143 requests the motion vector storage memory 122 to read the motion vector indicated by the 16 × 16 address information from the 16 × 16 address generation unit 181.
 ステップS162において、動きベクトル保存メモリ122は、メモリアクセス制御部143からのリクエストに対応して、動きベクトル情報を読み出し、時間相関予測ベクトル情報として、最適モード判定部173に供給する。 In step S162, the motion vector storage memory 122 reads motion vector information in response to a request from the memory access control unit 143, and supplies the motion vector information to the optimal mode determination unit 173 as time correlation prediction vector information.
 すなわち、動きベクトル保存メモリ122には、図20および図21を参照して上述したように動きベクトルが保存されるので、イントラであっても動きベクトルが保存されている。これにより、図14または図18を参照して上述した例のように、イントラの場合、再度動きベクトルを読み出す処理を省くことができる。 That is, since the motion vector is stored in the motion vector storage memory 122 as described above with reference to FIGS. 20 and 21, the motion vector is stored even for an intra. As a result, as in the example described above with reference to FIG. 14 or FIG. 18, in the case of an intra, the process of reading the motion vector again can be omitted.
 なお、図20または図21を参照して上述した動きベクトルがどれも利用不可能でイントラであることが保存される場合だけ、従来のイントラの場合の読み出し方法を使用してもよい。 Note that the conventional intra readout method may be used only when none of the motion vectors described above with reference to FIG. 20 or FIG. 21 is available and stored as intra.
[動きベクトル保存処理の流れ]
 次に、図23のフローチャートを参照して、図13のステップS139の動きベクトル保存処理の例について説明する。なお、図23は、上述した図20を参照して上述した保存処理の流れを説明するフローチャートであり、図20を参照して説明する。
[Flow of motion vector saving process]
Next, an example of the motion vector storage process in step S139 in FIG. 13 will be described with reference to the flowchart in FIG. FIG. 23 is a flowchart for explaining the flow of the storage process described above with reference to FIG. 20 described above, and will be described with reference to FIG.
 図13のステップS138において、処理対象領域の最適モードが決まると、最適モード判定部173は、最適モードの動きベクトル情報およびイントラ領域情報を、保存ベクトル選択部174に供給する。 In step S138 of FIG. 13, when the optimum mode of the processing target region is determined, the optimum mode determination unit 173 supplies the motion vector information and the intra region information of the optimum mode to the saved vector selection unit 174.
 ステップS171において、保存ベクトル選択部174は、最適モード判定部173からのイントラ領域情報に基づいて、処理対象領域(図20の太枠の16×16領域)がインターであるか否かを判定する。すなわち、保存ベクトル選択部174は、ステップS171において、図20に示されるピクセル位置Pを含むPUがインターであるか否かを判定する。ステップS171において、処理対象領域がインターであると判定された場合、処理は、ステップS172に進む。 In step S171, the saved vector selection unit 174 determines whether or not the processing target region (the thick 16 × 16 region in FIG. 20) is inter based on the intra region information from the optimum mode determination unit 173. . That is, in step S171, the saved vector selection unit 174 determines whether or not the PU including the pixel position P shown in FIG. If it is determined in step S171 that the processing target area is inter, the process proceeds to step S172.
 ステップS172において、保存ベクトル選択部174は、ピクセル位置Pを含むPUの動きベクトル情報を、処理対象領域の動きベクトル情報として設定し、設定した動きベクトル情報を、動きベクトル保存メモリ122に保存する。その後、処理は、図13のステップS139に戻る。 In step S172, the saved vector selection unit 174 sets the motion vector information of the PU including the pixel position P as the motion vector information of the processing target region, and saves the set motion vector information in the motion vector saving memory 122. Thereafter, the processing returns to step S139 in FIG.
 ステップS171において、処理対象領域がイントラであると判定された場合、処理は、ステップS173に進む。保存ベクトル選択部174は、周辺動きベクトル保存部134から、図20に示されるピクセル位置Aが含まれるPUの動きベクトル情報やモード情報を取得する。 If it is determined in step S171 that the processing target area is intra, the process proceeds to step S173. The saved vector selection unit 174 obtains the motion vector information and mode information of the PU including the pixel position A shown in FIG.
 保存ベクトル選択部174は、ステップS173において、ピクセル位置Aが利用可能であるか否かを判定する。すなわち、保存ベクトル選択部174は、ステップS173において、ピクセル位置Aが含まれるPUの動きベクトル情報が、利用可能であるか否かを判定する。 In step S173, the saved vector selection unit 174 determines whether or not the pixel position A is available. That is, the saved vector selection unit 174 determines whether or not the motion vector information of the PU including the pixel position A is available in step S173.
 ピクセル位置Aが含まれるPUのモード情報がインターであり、ステップS173において、ピクセル位置Aが利用可能であると判定された場合、処理は、ステップS174に進む。ステップS174において、保存ベクトル選択部174は、ピクセル位置Aが含まれるPUの動きベクトル情報を、処理対象領域のベクトル情報として設定し、設定した動きベクトル情報を、動きベクトル保存メモリ122に保存する。その後、処理は、図13のステップS139に戻る。 If the mode information of the PU including the pixel position A is inter, and it is determined in step S173 that the pixel position A is available, the process proceeds to step S174. In step S 174, the saved vector selection unit 174 sets the motion vector information of the PU including the pixel position A as the vector information of the processing target area, and saves the set motion vector information in the motion vector saving memory 122. Thereafter, the processing returns to step S139 in FIG.
 ピクセル位置Aが含まれるPUのモード情報がイントラであり、ステップS173において、ピクセル位置Aが利用不可能であると判定された場合、処理は、ステップS175に進む。保存ベクトル選択部174は、周辺動きベクトル保存部134から、図20に示されるピクセル位置Bが含まれるPUの動きベクトル情報やモード情報を取得する。 If the mode information of the PU including the pixel position A is intra, and it is determined in step S173 that the pixel position A is not usable, the process proceeds to step S175. The saved vector selection unit 174 obtains the motion vector information and mode information of the PU including the pixel position B shown in FIG.
 保存ベクトル選択部174は、ステップS175において、ピクセル位置Bが利用可能であるか否かを判定する。すなわち、保存ベクトル選択部174は、ステップS175において、ピクセル位置Bが含まれるPUの動きベクトル情報が、利用可能であるか否かを判定する。 In step S175, the storage vector selection unit 174 determines whether or not the pixel position B is available. That is, the saved vector selection unit 174 determines whether or not the motion vector information of the PU including the pixel position B is available in step S175.
 ピクセル位置Bが含まれるPUのモード情報がインターであり、ステップS175において、ピクセル位置Bが利用可能であると判定された場合、処理は、ステップS176に進む。ステップS176において、保存ベクトル選択部174は、ピクセル位置Bが含まれるPUの動きベクトル情報を、処理対象領域のベクトル情報として設定し、設定した動きベクトル情報を、動きベクトル保存メモリ122に保存する。その後、処理は、図13のステップS139に戻る。 If the mode information of the PU including the pixel position B is inter, and it is determined in step S175 that the pixel position B is available, the process proceeds to step S176. In step S176, the saved vector selection unit 174 sets the motion vector information of the PU including the pixel position B as the vector information of the processing target area, and saves the set motion vector information in the motion vector saving memory 122. Thereafter, the processing returns to step S139 in FIG.
 ピクセル位置Bが含まれるPUのモード情報がイントラであり、ステップS175において、ピクセル位置Aが利用不可能であると判定された場合、処理は、ステップS177に進む。保存ベクトル選択部174は、周辺動きベクトル保存部134から、図20に示されるピクセル位置Cが含まれるPUの動きベクトル情報やモード情報を取得する。 If the PU mode information including the pixel position B is intra, and it is determined in step S175 that the pixel position A is not usable, the process proceeds to step S177. The saved vector selection unit 174 acquires the motion vector information and mode information of the PU including the pixel position C shown in FIG.
 保存ベクトル選択部174は、ステップS177において、ピクセル位置Cが利用可能であるか否かを判定する。すなわち、保存ベクトル選択部174は、ステップS177において、ピクセル位置Cが含まれるPUの動きベクトル情報が、利用可能であるか否かを判定する。 In step S177, the storage vector selection unit 174 determines whether or not the pixel position C is available. That is, in step S177, the saved vector selection unit 174 determines whether or not the PU motion vector information including the pixel position C is available.
 ピクセル位置Cが含まれるPUのモード情報がインターであり、ステップS177において、ピクセル位置Cが利用可能であると判定された場合、処理は、ステップS178に進む。ステップS178において、保存ベクトル選択部174は、ピクセル位置Cが含まれるPUの動きベクトル情報を、処理対象領域のベクトル情報として設定し、設定した動きベクトル情報を、動きベクトル保存メモリ122に保存する。その後、処理は、図13のステップS139に戻る。 If the mode information of the PU including the pixel position C is inter and it is determined in step S177 that the pixel position C is usable, the process proceeds to step S178. In step S178, the storage vector selection unit 174 sets the motion vector information of the PU including the pixel position C as the vector information of the processing target region, and stores the set motion vector information in the motion vector storage memory 122. Thereafter, the processing returns to step S139 in FIG.
 ピクセル位置Cが含まれるPUのモード情報がイントラであり、ステップS177において、ピクセル位置Cが利用不可能であると判定された場合、処理は、ステップS179に進む。 If the mode information of the PU including the pixel position C is intra, and it is determined in step S177 that the pixel position C is not usable, the process proceeds to step S179.
 ステップS178において、保存ベクトル選択部174は、処理対象領域がイントラであることを、処理対象領域のベクトル情報として設定し、設定した動きベクトル情報を、動きベクトル保存メモリ122に保存する。その後、処理は、図13のステップS139に戻る。 In step S178, the storage vector selection unit 174 sets that the processing target area is intra as the vector information of the processing target area, and stores the set motion vector information in the motion vector storage memory 122. Thereafter, the processing returns to step S139 in FIG.
 以上のように、動きベクトル保存の処理対象領域とColPUの位置が1対1でほぼ決まるので、図22を参照して上述したように、動きベクトル情報の読み直しが抑制される。 As described above, since the position to be processed for motion vector storage and the position of ColPU are substantially determined on a one-to-one basis, as described above with reference to FIG. 22, re-reading of motion vector information is suppressed.
 これにより、メモリアクセスを低減することができるとともに、予測ベクトルmvpとしてColが利用可能になる可能性が高くなるので、圧縮性能を改善することができる。 This makes it possible to reduce memory access and increase the possibility that Col can be used as the prediction vector mvp, so that the compression performance can be improved.
 次に、図24のフローチャートを参照して、図13のステップS139の動きベクトル保存処理の他の例について説明する。なお、図24は、上述した図21を参照して上述した保存処理の流れを説明するフローチャートであり、図21を参照して説明する。 Next, another example of the motion vector storing process in step S139 in FIG. 13 will be described with reference to the flowchart in FIG. FIG. 24 is a flowchart for explaining the flow of the storage process described above with reference to FIG. 21 described above, and will be described with reference to FIG.
 図13のステップS138において、処理対象領域の最適モードが決まると、最適モード判定部173は、最適モードの動きベクトル情報またはイントラ領域情報を、保存ベクトル選択部174に供給する。 In step S138 of FIG. 13, when the optimum mode of the processing target region is determined, the optimum mode determination unit 173 supplies the motion vector information or the intra region information of the optimum mode to the saved vector selection unit 174.
 ステップS181において、保存ベクトル選択部174は、処理対象領域(図21に示される16×16領域)の動きベクトルを保存するため、最適モード判定部173からの動きベクトル情報またはイントラ領域情報に基づいて、図21に示されるピクセル位置Aが利用可能であるか否かを判定する。すなわち、保存ベクトル選択部174は、ステップS181において、ピクセル位置Aが含まれるPUの動きベクトル情報が、利用可能であるか否かを判定する。 In step S181, the save vector selection unit 174 saves the motion vector of the processing target region (16 × 16 region shown in FIG. 21), and thus based on the motion vector information or the intra region information from the optimum mode determination unit 173. Then, it is determined whether or not the pixel position A shown in FIG. 21 is available. That is, in step S181, the saved vector selection unit 174 determines whether or not the PU motion vector information including the pixel position A is available.
 ステップS181において、ピクセル位置Aが利用可能であると判定された場合、処理は、ステップS182に進む。ステップS182において、保存ベクトル選択部174は、最適モード判定部173からのピクセル位置Aが含まれるPU(図21のPl0_0)の動きベクトル情報を、処理対象領域のベクトル情報として設定し、設定した動きベクトル情報を、動きベクトル保存メモリ122に保存する。その後、処理は、図13のステップS139に戻る。 If it is determined in step S181 that the pixel position A is available, the process proceeds to step S182. In step S182, the saved vector selection unit 174 sets the motion vector information of the PU (Pl0_0 in FIG. 21) including the pixel position A from the optimal mode determination unit 173 as the vector information of the processing target region, and the set motion Vector information is stored in the motion vector storage memory 122. Thereafter, the processing returns to step S139 in FIG.
 ステップS181において、ピクセル位置Aが利用不可能であると判定された場合、処理は、ステップS183に進む。ステップS183において、保存ベクトル選択部174は、最適モード判定部173からの動きベクトル情報またはイントラ領域情報に基づいて、図21に示されるピクセル位置Bが利用可能であるか否かを判定する。すなわち、保存ベクトル選択部174は、ステップS183において、ピクセル位置Bが含まれるPUの動きベクトル情報が、利用可能であるか否かを判定する。 If it is determined in step S181 that the pixel position A is not usable, the process proceeds to step S183. In step S183, the saved vector selection unit 174 determines whether or not the pixel position B shown in FIG. 21 is available based on the motion vector information or the intra area information from the optimal mode determination unit 173. That is, in step S183, the saved vector selection unit 174 determines whether or not the motion vector information of the PU including the pixel position B is available.
 ステップS181において、ピクセル位置Bが利用可能であると判定された場合、処理は、ステップS184に進む。ステップS184において、保存ベクトル選択部174は、最適モード判定部173からのピクセル位置Bが含まれるPU(図21のPl1_0)の動きベクトル情報を、処理対象領域のベクトル情報として設定し、設定した動きベクトル情報を動きベクトル保存メモリ122に保存する。その後、処理は、図13のステップS139に戻る。 If it is determined in step S181 that the pixel position B is available, the process proceeds to step S184. In step S184, the saved vector selection unit 174 sets the motion vector information of the PU (Pl1_0 in FIG. 21) including the pixel position B from the optimal mode determination unit 173 as the vector information of the processing target region, and sets the set motion. Vector information is stored in the motion vector storage memory 122. Thereafter, the processing returns to step S139 in FIG.
 ステップS183において、ピクセル位置Bが利用不可能であると判定された場合、処理は、ステップS185に進む。ステップS185において、保存ベクトル選択部174は、最適モード判定部173からの動きベクトル情報またはイントラ領域情報に基づいて、図21に示されるピクセル位置Cが利用可能であるか否かを判定する。すなわち、保存ベクトル選択部174は、ステップS185において、ピクセル位置Cが含まれるPUの動きベクトル情報が、利用可能であるか否かを判定する。 If it is determined in step S183 that the pixel position B is not available, the process proceeds to step S185. In step S185, the saved vector selection unit 174 determines whether or not the pixel position C shown in FIG. 21 is available based on the motion vector information or the intra area information from the optimum mode determination unit 173. That is, in step S185, the saved vector selection unit 174 determines whether or not the PU motion vector information including the pixel position C is available.
 ステップS185において、ピクセル位置Cが利用可能であると判定された場合、処理は、ステップS186に進む。ステップS186において、保存ベクトル選択部174は、最適モード判定部173からのピクセル位置Cが含まれるPU(図21のPl2_0)の動きベクトル情報を、処理対象領域のベクトル情報として設定し、設定した動きベクトル情報を動きベクトル保存メモリ122に保存する。その後、処理は、図13のステップS139に戻る。 If it is determined in step S185 that the pixel position C is available, the process proceeds to step S186. In step S186, the saved vector selection unit 174 sets the motion vector information of the PU (Pl2_0 in FIG. 21) including the pixel position C from the optimum mode determination unit 173 as the vector information of the processing target region, and the set motion Vector information is stored in the motion vector storage memory 122. Thereafter, the processing returns to step S139 in FIG.
 ステップS185において、ピクセル位置Cが利用不可能であると判定された場合、処理は、ステップS187に進む。ステップS187において、保存ベクトル選択部174は、最適モード判定部173からの動きベクトル情報またはイントラ領域情報に基づいて、図21に示されるピクセル位置Dが利用可能であるか否かを判定する。すなわち、保存ベクトル選択部174は、ステップS187において、ピクセル位置Dが含まれるPUの動きベクトル情報が、利用可能であるか否かを判定する。 If it is determined in step S185 that the pixel position C is not usable, the process proceeds to step S187. In step S187, the saved vector selection unit 174 determines whether or not the pixel position D shown in FIG. 21 is available based on the motion vector information or the intra area information from the optimum mode determination unit 173. That is, in step S187, the saved vector selection unit 174 determines whether or not the PU motion vector information including the pixel position D is available.
 ステップS187において、ピクセル位置Dが利用可能であると判定された場合、処理は、ステップS188に進む。ステップS188において、保存ベクトル選択部174は、最適モード判定部173からのピクセル位置Dが含まれるPU(図21のPl3_0)の動きベクトル情報を、処理対象領域のベクトル情報として設定し、設定した動きベクトル情報を動きベクトル保存メモリ122に保存する。その後、処理は、図13のステップS139に戻る。 If it is determined in step S187 that the pixel position D is available, the process proceeds to step S188. In step S188, the saved vector selection unit 174 sets the motion vector information of the PU (Pl3_0 in FIG. 21) including the pixel position D from the optimum mode determination unit 173 as the vector information of the processing target region, and the set motion Vector information is stored in the motion vector storage memory 122. Thereafter, the processing returns to step S139 in FIG.
 ステップS188において、ピクセル位置Dが利用不可能であると判定された場合、処理は、ステップS189に進む。ステップS189において、保存ベクトル選択部174は、イントラであることを、処理対象領域の動きベクトル情報として設定し、設定した動きベクトル情報を動きベクトル保存メモリ122に保存する。その後、処理は、図13のステップS139に戻る。 If it is determined in step S188 that the pixel position D is not available, the process proceeds to step S189. In step S189, the storage vector selection unit 174 sets that it is intra as the motion vector information of the processing target region, and stores the set motion vector information in the motion vector storage memory 122. Thereafter, the processing returns to step S139 in FIG.
 以上のように、図24の例の場合も、動きベクトル保存の処理対象領域とColPUの位置が1対1でほぼ決まるので、図22を参照して上述したように、動きベクトル情報の読み直しが抑制される。 As described above, in the case of the example in FIG. 24 as well, since the position of the motion vector storage target region and the ColPU are almost determined on a one-to-one basis, as described above with reference to FIG. It is suppressed.
 これにより、メモリアクセスを低減することができるとともに、予測ベクトルとしてColが利用可能になる可能性が高くなるので、圧縮性能を改善することができる。 This makes it possible to reduce memory access and increase the possibility that Col can be used as a prediction vector, thereby improving the compression performance.
<2.第2の実施の形態>
[画像復号装置]
 図25は、本開示を適用した画像処理装置としての画像復号装置の一実施の形態の構成を表している。図25に示される画像復号装置200は、図1の画像符号化装置100に対応する復号装置である。
<2. Second Embodiment>
[Image decoding device]
FIG. 25 illustrates a configuration of an embodiment of an image decoding device as an image processing device to which the present disclosure is applied. An image decoding apparatus 200 shown in FIG. 25 is a decoding apparatus corresponding to the image encoding apparatus 100 of FIG.
 画像符号化装置100より符号化された符号化データは、所定の伝送路を介して、この画像符号化装置100に対応する画像復号装置200に伝送され、復号されるものとする。 Suppose that encoded data encoded by the image encoding device 100 is transmitted to the image decoding device 200 corresponding to the image encoding device 100 via a predetermined transmission path and decoded.
 図25に示されるように、画像復号装置200は、蓄積バッファ201、可逆復号部202、逆量子化部203、逆直交変換部204、演算部205、デブロックフィルタ206、画面並べ替えバッファ207、およびD/A変換部208を有する。また、画像復号装置200は、フレームメモリ209、選択部210、イントラ予測部211、動き予測・補償部212、および選択部213を有する。 As shown in FIG. 25, the image decoding apparatus 200 includes a storage buffer 201, a lossless decoding unit 202, an inverse quantization unit 203, an inverse orthogonal transform unit 204, a calculation unit 205, a deblock filter 206, a screen rearrangement buffer 207, And a D / A converter 208. The image decoding apparatus 200 includes a frame memory 209, a selection unit 210, an intra prediction unit 211, a motion prediction / compensation unit 212, and a selection unit 213.
 さらに、画像復号装置200は、動きベクトル生成部221および動きベクトル保存メモリ222を有する。 Furthermore, the image decoding apparatus 200 includes a motion vector generation unit 221 and a motion vector storage memory 222.
 蓄積バッファ201は、伝送されてきた符号化データを蓄積する。この符号化データは、画像符号化装置100により符号化されたものである。可逆復号部202は、蓄積バッファ201から所定のタイミングで読み出された符号化データを、図1の可逆符号化部106の符号化方式に対応する方式で復号する。 The accumulation buffer 201 accumulates the transmitted encoded data. This encoded data is encoded by the image encoding device 100. The lossless decoding unit 202 decodes the encoded data read from the accumulation buffer 201 at a predetermined timing by a method corresponding to the encoding method of the lossless encoding unit 106 in FIG.
 逆量子化部203は、可逆復号部202により復号されて得られた係数データ(量子化係数)を、図1の量子化部105の量子化方式に対応する方式で逆量子化する。つまり、逆量子化部203は、画像符号化装置100から供給された量子化パラメータを用いて、図1の逆量子化部108と同様の方法で量子化係数の逆量子化を行う。 The inverse quantization unit 203 inversely quantizes the coefficient data (quantization coefficient) obtained by decoding by the lossless decoding unit 202 by a method corresponding to the quantization method of the quantization unit 105 in FIG. That is, the inverse quantization unit 203 uses the quantization parameter supplied from the image coding apparatus 100 to perform inverse quantization of the quantization coefficient by the same method as the inverse quantization unit 108 in FIG.
 逆量子化部203は、逆量子化された係数データ、つまり、直交変換係数を、逆直交変換部204に供給する。また、逆量子化部203は、逆量子化した際の量子化パラメータを、デブロックフィルタ206および量子化パラメータ差分検出部221に供給する。逆直交変換部204は、図1の直交変換部104の直交変換方式に対応する方式で、その直交変換係数を逆直交変換し、画像符号化装置100において直交変換される前の残差データに対応する復号残差データを得る。 The inverse quantization unit 203 supplies the inversely quantized coefficient data, that is, the orthogonal transform coefficient, to the inverse orthogonal transform unit 204. Further, the inverse quantization unit 203 supplies the quantization parameter obtained when the inverse quantization is performed to the deblocking filter 206 and the quantization parameter difference detection unit 221. The inverse orthogonal transform unit 204 is a method corresponding to the orthogonal transform method of the orthogonal transform unit 104 in FIG. Corresponding decoding residual data is obtained.
 逆直交変換されて得られた復号残差データは、演算部205に供給される。また、演算部205には、選択部213を介して、イントラ予測部211若しくは動き予測・補償部212から予測画像が供給される。 The decoded residual data obtained by the inverse orthogonal transform is supplied to the calculation unit 205. In addition, a prediction image is supplied to the calculation unit 205 from the intra prediction unit 211 or the motion prediction / compensation unit 212 via the selection unit 213.
 演算部205は、その復号残差データと予測画像とを加算し、画像符号化装置100の演算部103により予測画像が減算される前の画像データに対応する復号画像データを得る。演算部205は、その復号画像データをデブロックフィルタ206に供給する。 The calculation unit 205 adds the decoded residual data and the prediction image, and obtains decoded image data corresponding to the image data before the prediction image is subtracted by the calculation unit 103 of the image encoding device 100. The arithmetic unit 205 supplies the decoded image data to the deblock filter 206.
 デブロックフィルタ206は、画像符号化装置100のデブロックフィルタ111と基本的に同様に構成される。デブロックフィルタ206は、適宜デブロックフィルタ処理を行うことにより復号画像のブロック歪を除去する。デブロックフィルタ206は、そのフィルタ処理結果を、画面並べ替えバッファ207に供給する。 The deblock filter 206 is configured basically in the same manner as the deblock filter 111 of the image encoding device 100. The deblocking filter 206 removes block distortion of the decoded image by appropriately performing deblocking filter processing. The deblocking filter 206 supplies the filter processing result to the screen rearrangement buffer 207.
 画面並べ替えバッファ207は、画像の並べ替えを行う。すなわち、図1の画面並べ替えバッファ102により符号化の順番のために並べ替えられたフレームの順番が、元の表示の順番に並べ替えられる。D/A変換部208は、画面並べ替えバッファ207から供給された画像をD/A変換し、図示せぬディスプレイに出力し、表示させる。 The screen rearrangement buffer 207 rearranges images. That is, the order of frames rearranged for the encoding order by the screen rearrangement buffer 102 in FIG. 1 is rearranged in the original display order. The D / A conversion unit 208 D / A converts the image supplied from the screen rearrangement buffer 207, outputs it to a display (not shown), and displays it.
 デブロックフィルタ206の出力は、さらに、フレームメモリ209に供給される。 The output of the deblock filter 206 is further supplied to the frame memory 209.
 フレームメモリ209、選択部210、イントラ予測部211、動き予測・補償部212、および選択部213は、画像符号化装置100のフレームメモリ112、選択部113、イントラ予測部114、動き予測・補償部115、および選択部116にそれぞれ対応する。 The frame memory 209, the selection unit 210, the intra prediction unit 211, the motion prediction / compensation unit 212, and the selection unit 213 are the frame memory 112, the selection unit 113, the intra prediction unit 114, and the motion prediction / compensation unit of the image encoding device 100. 115 and the selection unit 116 respectively.
 選択部210は、インター処理される画像と参照される画像をフレームメモリ209から読み出し、動き予測・補償部212に供給する。また、選択部210は、イントラ予測に用いられる画像をフレームメモリ209から読み出し、イントラ予測部211に供給する。 The selection unit 210 reads out the inter-processed image and the referenced image from the frame memory 209 and supplies them to the motion prediction / compensation unit 212. Further, the selection unit 210 reads an image used for intra prediction from the frame memory 209 and supplies the image to the intra prediction unit 211.
 イントラ予測部211には、ヘッダ情報を復号して得られたイントラ予測モードを示す情報等が可逆復号部202から適宜供給される。イントラ予測部211は、この情報に基づいて、フレームメモリ209から取得した参照画像から予測画像を生成し、生成した予測画像を選択部213に供給する。 The intra prediction unit 211 is appropriately supplied from the lossless decoding unit 202 with information indicating the intra prediction mode obtained by decoding the header information. Based on this information, the intra prediction unit 211 generates a prediction image from the reference image acquired from the frame memory 209 and supplies the generated prediction image to the selection unit 213.
 動き予測・補償部212には、予測モード情報、動きベクトル情報、参照フレーム情報、フラグ、および各種パラメータ等などが、動きベクトル生成部221から供給される。 The motion prediction / compensation unit 212 is supplied with prediction mode information, motion vector information, reference frame information, flags, various parameters, and the like from the motion vector generation unit 221.
 動き予測・補償部212は、動きベクトル生成部221から供給されるそれらの情報に基づいて、フレームメモリ209から取得した参照画像から予測画像を生成し、生成した予測画像を選択部213に供給する。 The motion prediction / compensation unit 212 generates a prediction image from the reference image acquired from the frame memory 209 based on the information supplied from the motion vector generation unit 221, and supplies the generated prediction image to the selection unit 213. .
 選択部213は、動き予測・補償部212またはイントラ予測部211により生成された予測画像を選択し、演算部205に供給する。 The selection unit 213 selects the prediction image generated by the motion prediction / compensation unit 212 or the intra prediction unit 211 and supplies the selected prediction image to the calculation unit 205.
 動きベクトル生成部221には、ヘッダ情報を復号して得られた情報(予測モード情報、動きベクトル差分情報、予測ベクトルインデックス(mvp_index)、参照フレーム情報、フラグ、および各種パラメータ等)が可逆復号部202から供給される。 Information obtained by decoding the header information (prediction mode information, motion vector difference information, prediction vector index (mvp_index), reference frame information, flags, various parameters, etc.) is stored in the motion vector generation unit 221 as a lossless decoding unit. 202.
 動きベクトル生成部221は、周辺領域の動きベクトルから、空間相関および時間相関の予測ベクトルを生成する。特に、動きベクトル生成部221は、動きベクトル保存メモリ222に記憶されている動きベクトル情報を用いて、時間予測ベクトル情報を生成する。 The motion vector generation unit 221 generates a prediction vector of spatial correlation and temporal correlation from the motion vector of the surrounding area. In particular, the motion vector generation unit 221 generates temporal prediction vector information using the motion vector information stored in the motion vector storage memory 222.
 動きベクトル生成部221は、生成された予測ベクトル情報のうち、予測ベクトルインデックスが示す予測ベクトル情報と、動きベクトル差分情報とを加算することで、動きベクトル情報を生成(再構成)する。動きベクトル生成部221は、生成した動きベクトル情報を、ヘッダ情報を復号して得られた他の情報とともに、動き予測・補償部212に供給する。 The motion vector generation unit 221 generates (reconstructs) motion vector information by adding the prediction vector information indicated by the prediction vector index and the motion vector difference information among the generated prediction vector information. The motion vector generation unit 221 supplies the generated motion vector information to the motion prediction / compensation unit 212 together with other information obtained by decoding the header information.
 動きベクトル保存メモリ222は、動きベクトル生成部221により記憶された動きベクトル情報であって、動きベクトル生成部221が時間予測ベクトルを生成する際に用いられる動きベクトル情報を記憶している。 The motion vector storage memory 222 stores the motion vector information stored by the motion vector generation unit 221 and used when the motion vector generation unit 221 generates a temporal prediction vector.
[動きベクトル生成部の構成例]
 次に、画像復号装置200の各部について説明する。図26は、動きベクトル生成部の構成例を示すブロック図である。なお、図26の動きベクトル生成部は、図9の動きベクトル差分生成部に対応する部である。
[Configuration example of motion vector generation unit]
Next, each part of the image decoding apparatus 200 will be described. FIG. 26 is a block diagram illustrating a configuration example of the motion vector generation unit. 26 is a unit corresponding to the motion vector difference generation unit in FIG.
 図26の例において、動きベクトル生成部221は、動きベクトル生成制御部231、時間予測ベクトル生成部232、画内予測ベクトル生成部233、周辺動きベクトル保存部234、動きベクトル再構成部235、インター/イントラ判定部236を含むように構成されている。 In the example of FIG. 26, the motion vector generation unit 221 includes a motion vector generation control unit 231, a temporal prediction vector generation unit 232, an in-picture prediction vector generation unit 233, a peripheral motion vector storage unit 234, a motion vector reconstruction unit 235, an inter / Intra determination unit 236 is included.
 可逆復号部202から、CUサイズ情報、CU分割情報、CUアドレス情報、動きベクトル差分情報、および予測モード情報が、動きベクトル生成制御部231に供給される。 From the lossless decoding unit 202, CU size information, CU partition information, CU address information, motion vector difference information, and prediction mode information are supplied to the motion vector generation control unit 231.
 動きベクトル生成制御部231は、図9の動きベクトル差分生成制御部131に対応する部である。動きベクトル生成制御部231は、画内予測ベクトル生成部233および時間予測ベクトル生成部232に対して、予測ベクトル生成の指示を与える。その際、動きベクトル生成制御部231は、16×16アドレス補正部242に対して、CU/PUアドレス情報とCU/PUサイズ情報を供給する。動きベクトル生成制御部231は、動きベクトル再構成部235に、可逆復号部202からの動きベクトル差分情報を供給し、動きベクトルを再構成させる。 The motion vector generation control unit 231 is a unit corresponding to the motion vector difference generation control unit 131 of FIG. The motion vector generation control unit 231 gives a prediction vector generation instruction to the in-picture prediction vector generation unit 233 and the temporal prediction vector generation unit 232. At this time, the motion vector generation control unit 231 supplies CU / PU address information and CU / PU size information to the 16 × 16 address correction unit 242. The motion vector generation control unit 231 supplies the motion vector difference information from the lossless decoding unit 202 to the motion vector reconstruction unit 235 to reconstruct the motion vector.
 時間予測ベクトル生成部232は、図9の時間予測ベクトル生成部132に対応する部であり、時間相関の予測ベクトルを生成する部である。時間予測ベクトル生成部232は、16×16アドレス生成部241、16×16アドレス補正部242、およびメモリアクセス制御部243を含むように構成されている。 The temporal prediction vector generation unit 232 is a unit corresponding to the temporal prediction vector generation unit 132 in FIG. 9 and is a unit that generates a temporal correlation prediction vector. The temporal prediction vector generation unit 232 is configured to include a 16 × 16 address generation unit 241, a 16 × 16 address correction unit 242, and a memory access control unit 243.
 16×16アドレス生成部241は、図9の16×16アドレス生成部141に対応する部である。16×16アドレス生成部241は、動きベクトル生成制御部231の制御のもと、参照する16×16領域のアドレスを計算し、計算した16×16アドレス情報を、16×16アドレス補正部242に供給する。 The 16 × 16 address generation unit 241 is a unit corresponding to the 16 × 16 address generation unit 141 of FIG. The 16 × 16 address generation unit 241 calculates the address of the 16 × 16 area to be referenced under the control of the motion vector generation control unit 231, and sends the calculated 16 × 16 address information to the 16 × 16 address correction unit 242. Supply.
 また、16×16アドレス生成部241は、インター/イントラ判定部236から再読み込み指示があると、イントラの場合の16×16領域のアドレスを計算し、計算した16×16アドレス情報を、16×16アドレス補正部242に供給する。 Further, when there is a re-read instruction from the inter / intra determination unit 236, the 16 × 16 address generation unit 241 calculates the address of the 16 × 16 area in the case of intra, and the calculated 16 × 16 address information is converted into 16 × 16 address information. The 16 address correction unit 242 is supplied.
 16×16アドレス補正部242には、動きベクトル生成制御部231からCU/PUアドレス情報とCU/PUサイズ情報が供給される。また、16×16アドレス補正部242には、16×16アドレス生成部241から、16×16アドレス情報が供給される。 The 16 × 16 address correction unit 242 is supplied with CU / PU address information and CU / PU size information from the motion vector generation control unit 231. The 16 × 16 address correction unit 242 is supplied with 16 × 16 address information from the 16 × 16 address generation unit 241.
 16×16アドレス補正部242は、図9の16×16アドレス補正部142に対応する部である。16×16アドレス補正部242は、供給された情報を用いて、16×16アドレス生成部241からの16×16アドレス情報を用いた参照が、CUを越えた参照であるか否かを判定する。CUを越えた参照である場合、16×16アドレス補正部242は、その参照をCU内に引き戻すように、16×16アドレス情報の補正を行い、補正された16×16アドレス情報を、メモリアクセス制御部243に供給する。CUを越えた参照ではない場合、16×16アドレス補正部242は、16×16アドレス生成部141からの16×16アドレス情報をメモリアクセス制御部243に供給する。 The 16 × 16 address correcting unit 242 is a unit corresponding to the 16 × 16 address correcting unit 142 in FIG. The 16 × 16 address correction unit 242 uses the supplied information to determine whether the reference using the 16 × 16 address information from the 16 × 16 address generation unit 241 is a reference beyond the CU. . If the reference exceeds the CU, the 16 × 16 address correction unit 242 corrects the 16 × 16 address information so that the reference is pulled back into the CU, and the corrected 16 × 16 address information is accessed in the memory. This is supplied to the control unit 243. If the reference is not beyond the CU, the 16 × 16 address correction unit 242 supplies the 16 × 16 address information from the 16 × 16 address generation unit 141 to the memory access control unit 243.
 メモリアクセス制御部243は、図9のメモリアクセス制御部143に対応する部である。メモリアクセス制御部243は、動きベクトル保存メモリ222に対して、16×16アドレス補正部242からの16×16アドレス情報が示す動きベクトルを読み出すリクエストを行う。すなわち、メモリアクセス制御部243は、16×16アドレス補正部242からの16×16アドレス情報が示す動きベクトルを、時間相関の予測ベクトルとして設定し、設定した時間相関の予測ベクトルを読み出すリクエストを行う。このリクエストに対応して、動きベクトル保存メモリ222から動きベクトル情報が、インター/イントラ判定部236に供給される。 The memory access control unit 243 is a unit corresponding to the memory access control unit 143 in FIG. The memory access control unit 243 requests the motion vector storage memory 222 to read the motion vector indicated by the 16 × 16 address information from the 16 × 16 address correction unit 242. That is, the memory access control unit 243 sets the motion vector indicated by the 16 × 16 address information from the 16 × 16 address correction unit 242 as a temporal correlation prediction vector, and makes a request to read the set temporal correlation prediction vector. . In response to this request, motion vector information is supplied from the motion vector storage memory 222 to the inter / intra determination unit 236.
 画内予測ベクトル生成部233は、図9の画内予測ベクトル生成部133に対応する部である。画内予測ベクトル生成部233は、動きベクトル生成制御部231からの制御のもと、周辺動きベクトル保存部234に記憶されている動きベクトル情報を読み出して、空間予測ベクトル情報を生成する。画内予測ベクトル生成部233は、空間予測ベクトル情報を、動きベクトル再構成部235に供給する。 The in-picture prediction vector generation unit 233 is a part corresponding to the in-picture prediction vector generation unit 133 in FIG. The intra-picture prediction vector generation unit 233 reads the motion vector information stored in the peripheral motion vector storage unit 234 under the control of the motion vector generation control unit 231 and generates spatial prediction vector information. The in-picture prediction vector generation unit 233 supplies the spatial prediction vector information to the motion vector reconstruction unit 235.
 周辺動きベクトル保存部234は、メモリなどで構成され、処理対象のピクチャ内の動きベクトル情報を保存している。 The peripheral motion vector storage unit 234 includes a memory and stores motion vector information in the processing target picture.
 動きベクトル再構成部235には、動きベクトル生成制御部231から動きベクトル差分情報と予測ベクトルインデックスが供給される。動きベクトル再構成部235は、画内予測ベクトル生成部233からの空間予測ベクトルと、インター/イントラ判定部236からの時間予測ベクトルが参照可能であるか否かを判定する。 The motion vector reconstruction unit 235 is supplied with motion vector difference information and a prediction vector index from the motion vector generation control unit 231. The motion vector reconstruction unit 235 determines whether the spatial prediction vector from the in-picture prediction vector generation unit 233 and the temporal prediction vector from the inter / intra determination unit 236 can be referred to.
 動きベクトル再構成部235は、参照可能である動きベクトルのうち、予測ベクトルインデックスが示す動きベクトルを予測ベクトルとして、動きベクトル差分情報と加算することで、動きベクトル情報を生成する。動きベクトル再構成部235は、生成した動きベクトル情報を、他の復号された情報(予測モード情報、参照フレーム情報、フラグ、および各種パラメータ等)とともに、動き予測・補償部212に供給する。 The motion vector reconstruction unit 235 generates motion vector information by adding the motion vector indicated by the prediction vector index as a prediction vector among the referenceable motion vectors, and the motion vector difference information. The motion vector reconstruction unit 235 supplies the generated motion vector information to the motion prediction / compensation unit 212 together with other decoded information (prediction mode information, reference frame information, flags, various parameters, and the like).
 また、動きベクトル再構成部235は、生成した動きベクトル情報を、動きベクトル保存メモリ222に保存させる。なお、図示はされていないが、動きベクトル再構成部235は、周辺動きベクトル保存部234にも、動きベクトル情報を保存させる。 The motion vector reconstruction unit 235 stores the generated motion vector information in the motion vector storage memory 222. Although not shown, the motion vector reconstruction unit 235 causes the peripheral motion vector storage unit 234 to store the motion vector information.
 インター/イントラ判定部236は、図9のインター/イントラ判定部136に対応する。インター/イントラ判定部236は、動きベクトル保存メモリ222から読み出された動きベクトル情報がインターを示している場合、その動きベクトル情報を、時間予測ベクトルとして、動きベクトル再構成部235に供給する。インター/イントラ判定部236は、動きベクトル保存メモリ222から読み出された動きベクトル情報がイントラを示している場合、16×16アドレス生成部241に対して、再読み込み指示を行う。なお、この再読み込み指示は、1度だけ行われる。 The inter / intra determination unit 236 corresponds to the inter / intra determination unit 136 of FIG. When the motion vector information read from the motion vector storage memory 222 indicates inter, the inter / intra determination unit 236 supplies the motion vector information to the motion vector reconstruction unit 235 as a temporal prediction vector. When the motion vector information read from the motion vector storage memory 222 indicates an intra, the inter / intra determination unit 236 instructs the 16 × 16 address generation unit 241 to re-read. This re-reading instruction is performed only once.
[復号処理の流れ]
 次に、以上のような画像復号装置200により実行される各処理の流れについて説明する。最初に、図27のフローチャートを参照して、復号処理の流れの例を説明する。
[Decoding process flow]
Next, the flow of each process executed by the image decoding apparatus 200 as described above will be described. First, an example of the flow of decoding processing will be described with reference to the flowchart of FIG.
 復号処理が開始されると、ステップS201において、蓄積バッファ201は、伝送されてきた符号化データを蓄積する。ステップS202において、可逆復号部202は、蓄積バッファ201から供給される符号化データを復号する。すなわち、図1の可逆符号化部106により符号化されたIピクチャ、Pピクチャ、並びにBピクチャが復号される。 When the decoding process is started, in step S201, the accumulation buffer 201 accumulates the transmitted encoded data. In step S202, the lossless decoding unit 202 decodes the encoded data supplied from the accumulation buffer 201. That is, the I picture, P picture, and B picture encoded by the lossless encoding unit 106 in FIG. 1 are decoded.
 このとき、動きベクトル差分情報、予測ベクトルインデックス(mvp_index)、参照フレーム情報、予測モード情報(イントラ予測モード、またはインター予測モード)、並びに、フラグや量子化パラメータ等の情報も復号される。 At this time, motion vector difference information, prediction vector index (mvp_index), reference frame information, prediction mode information (intra prediction mode or inter prediction mode), and information such as flags and quantization parameters are also decoded.
 予測モード情報がイントラ予測モード情報である場合、予測モード情報は、イントラ予測部211に供給される。予測モード情報がインター予測モード情報である場合、予測モード情報と対応する動きベクトル差分情報などは、動きベクトル生成部221に供給される。 When the prediction mode information is intra prediction mode information, the prediction mode information is supplied to the intra prediction unit 211. When the prediction mode information is inter prediction mode information, motion vector difference information corresponding to the prediction mode information is supplied to the motion vector generation unit 221.
 ステップS203において、逆量子化部203は、可逆復号部202により復号されて得られた、量子化された直交変換係数を逆量子化する。ステップS204において逆直交変換部204は逆量子化部203により逆量子化されて得られた直交変換係数を、図1の直交変換部104に対応する方法で逆直交変換する。これにより図1の直交変換部104の入力(演算部103の出力)に対応する差分情報が復号されたことになる。 In step S203, the inverse quantization unit 203 inversely quantizes the quantized orthogonal transform coefficient obtained by decoding by the lossless decoding unit 202. In step S204, the inverse orthogonal transform unit 204 performs inverse orthogonal transform on the orthogonal transform coefficient obtained by inverse quantization by the inverse quantization unit 203 by a method corresponding to the orthogonal transform unit 104 in FIG. As a result, the difference information corresponding to the input of the orthogonal transform unit 104 (output of the calculation unit 103) in FIG. 1 is decoded.
 ステップS205において、演算部205は、ステップS204の処理により得られた差分情報に、予測画像を加算する。これにより元の画像データが復号される。 In step S205, the calculation unit 205 adds the predicted image to the difference information obtained by the process in step S204. As a result, the original image data is decoded.
 ステップS206において、デブロックフィルタ206は、ステップS205の処理により得られた復号画像を適宜フィルタリングする。これにより適宜復号画像からブロック歪みが除去される。 In step S206, the deblocking filter 206 appropriately filters the decoded image obtained by the process in step S205. Thereby, block distortion is appropriately removed from the decoded image.
 ステップS207において、フレームメモリ209は、フィルタリングされた復号画像を記憶する。 In step S207, the frame memory 209 stores the filtered decoded image.
 ステップS208において、イントラ予測部211、または動きベクトル生成部221は、可逆復号部202から供給される予測モード情報に対応して、イントラ符号化されているか否かを判定する。 In step S208, the intra prediction unit 211 or the motion vector generation unit 221 determines whether or not intra coding is performed in accordance with the prediction mode information supplied from the lossless decoding unit 202.
 ステップS208において、イントラ符号化されていると判定された場合、ステップS209において、イントラ予測部211は、可逆復号部202からのイントラ予測モードを取得する。ステップS210において、イントラ予測部211は、ステップS209で取得したイントラ予測モードに応じて、予測画像を生成する。イントラ予測部211は、生成した予測画像を、選択部213に出力する。 If it is determined in step S208 that intra coding is performed, the intra prediction unit 211 acquires the intra prediction mode from the lossless decoding unit 202 in step S209. In step S210, the intra prediction unit 211 generates a prediction image according to the intra prediction mode acquired in step S209. The intra prediction unit 211 outputs the generated predicted image to the selection unit 213.
 一方、予測モード情報が、インター予測モードまたはマージモードなどであり、ステップS208において、イントラ符号化されていないと判定された場合、処理は、ステップS211に進む。ステップS211において、動きベクトル生成部221は、動きベクトル生成処理を行う。この動きベクトル生成処理は、図28を参照して後述される。 On the other hand, when the prediction mode information is the inter prediction mode or the merge mode, and it is determined in step S208 that the intra coding has not been performed, the process proceeds to step S211. In step S211, the motion vector generation unit 221 performs a motion vector generation process. This motion vector generation process will be described later with reference to FIG.
 ステップS211の処理により、可逆復号部202から供給されるそれらの情報に基づいて、処理対象領域の周辺にある周辺領域の動きベクトルを用いて、予測ベクトルが生成される。生成された予測ベクトルと動きベクトル差分情報(差分値)を用いて、動きベクトルが再構成されることにより、動きベクトルが生成される。 By the processing in step S211, based on the information supplied from the lossless decoding unit 202, a prediction vector is generated using the motion vectors of the peripheral region around the processing target region. A motion vector is generated by reconstructing a motion vector using the generated prediction vector and motion vector difference information (difference value).
 動きベクトル生成部221は、生成した動きベクトル情報と予測モード情報など、可逆復号部202により復号されたパラメータなどの情報とを、動き予測・補償部212に供給する。 The motion vector generation unit 221 supplies the generated motion vector information and information such as the prediction mode information, such as parameters decoded by the lossless decoding unit 202, to the motion prediction / compensation unit 212.
 動き予測・補償部212は、ステップS212において、動きベクトル生成部221からの情報を用いて、フレームメモリ209から取得した参照画像から予測画像を生成し、生成した予測画像を選択部213に供給する。 In step S <b> 212, the motion prediction / compensation unit 212 uses the information from the motion vector generation unit 221 to generate a prediction image from the reference image acquired from the frame memory 209, and supplies the generated prediction image to the selection unit 213. .
 ステップS213において、選択部213は予測画像を選択する。すなわち、選択部213には、イントラ予測部211により生成された予測画像、若しくは、動き予測・補償部212により生成された予測画像が供給される。選択部213は、その予測画像が供給された側を選択し、その予測画像を演算部205に供給する。この予測画像は、ステップS205の処理により差分情報に加算される。 In step S213, the selection unit 213 selects a predicted image. That is, the prediction unit 213 is supplied with the prediction image generated by the intra prediction unit 211 or the prediction image generated by the motion prediction / compensation unit 212. The selection unit 213 selects the side to which the predicted image is supplied, and supplies the predicted image to the calculation unit 205. This predicted image is added to the difference information by the process of step S205.
 ステップS214において、画面並べ替えバッファ207は、復号画像データのフレームの並べ替えを行う。すなわち、復号画像データの、画像符号化装置100の画面並べ替えバッファ102(図1)により符号化のために並べ替えられたフレームの順序が、元の表示の順序に並べ替えられる。 In step S214, the screen rearrangement buffer 207 rearranges the frames of the decoded image data. That is, the order of frames of the decoded image data rearranged for encoding by the screen rearrangement buffer 102 (FIG. 1) of the image encoding device 100 is rearranged to the original display order.
 ステップS215において、D/A変換部208は、画面並べ替えバッファ207においてフレームが並べ替えられた復号画像データをD/A変換する。この復号画像データが図示せぬディスプレイに出力され、その画像が表示される。 In step S215, the D / A converter 208 D / A converts the decoded image data in which the frames are rearranged in the screen rearrangement buffer 207. The decoded image data is output to a display (not shown), and the image is displayed.
[動きベクトル生成処理の流れ]
 次に、図28のフローチャートを参照して、図27のステップS211において実行される動きベクトル生成処理の流れの例を説明する。
[Flow of motion vector generation processing]
Next, an example of the flow of motion vector generation processing executed in step S211 of FIG. 27 will be described with reference to the flowchart of FIG.
 図27のステップS202の処理により、予測モード情報がインター予測モード情報である場合、予測モード情報と対応する動きベクトル差分情報などは、動きベクトル生成制御部231に供給される。 27, when the prediction mode information is the inter prediction mode information, the motion vector difference information corresponding to the prediction mode information is supplied to the motion vector generation control unit 231.
 動きベクトル生成制御部231は、ステップS231において、供給されたそれらの情報である予測モード情報などを取得する。例えば、動きベクトル生成制御部231は、予測モード情報、動きベクトル差分情報、CUサイズ情報、CU分割情報、およびCUアドレス情報などを取得する。さらに、動きベクトル生成制御部231は、予測ベクトルのインデックス、および参照画像インデックスなども取得する。 In step S231, the motion vector generation control unit 231 acquires the supplied prediction mode information and the like. For example, the motion vector generation control unit 231 acquires prediction mode information, motion vector difference information, CU size information, CU partition information, CU address information, and the like. Furthermore, the motion vector generation control unit 231 also obtains a prediction vector index, a reference image index, and the like.
 動きベクトル生成制御部231は、画内予測ベクトル生成部233および時間予測ベクトル生成部232に対して、予測ベクトル生成の指示を与える。 The motion vector generation control unit 231 gives a prediction vector generation instruction to the in-picture prediction vector generation unit 233 and the temporal prediction vector generation unit 232.
 これに対応して、画内予測ベクトル生成部233は、ステップS232において、空間相関の予測ベクトルを生成する。画内予測ベクトル生成部233は、周辺動きベクトル保存部234に記憶されている動きベクトル情報を読み出して、空間相関予測ベクトルを生成する。画内予測ベクトル生成部233は、生成した空間相関予測ベクトル情報を、動きベクトル再構成部235に供給する。 Correspondingly, the intra-picture prediction vector generation unit 233 generates a spatial correlation prediction vector in step S232. The intra-picture prediction vector generation unit 233 reads the motion vector information stored in the peripheral motion vector storage unit 234, and generates a spatial correlation prediction vector. The intra-frame prediction vector generation unit 233 supplies the generated spatial correlation prediction vector information to the motion vector reconstruction unit 235.
 時間予測ベクトル生成部232は、ステップS233において、時間相関の予測ベクトルを生成する。この時間相関の予測ベクトル生成処理の詳細は、図29を参照して後述するが、ステップS233の処理により、時間相関予測ベクトル情報が動きベクトル再構成部235に供給される。 In step S233, the temporal prediction vector generation unit 232 generates a temporal correlation prediction vector. The details of this temporal correlation prediction vector generation processing will be described later with reference to FIG. 29, but temporal correlation prediction vector information is supplied to the motion vector reconstruction unit 235 by the processing in step S233.
 ステップS234において、動きベクトル再構成部235は、周辺領域がすべて参照不可であるか否かを判定する。空間予測ベクトル情報および時間予測ベクトル情報が1つでも供給された場合、動きベクトル再構成部235は、周辺領域がすべて参照不可ではないと判定し、ステップS235に進む。 In step S234, the motion vector reconstruction unit 235 determines whether or not all the surrounding areas are unreferenceable. When at least one of the spatial prediction vector information and the temporal prediction vector information is supplied, the motion vector reconstruction unit 235 determines that all the surrounding areas are not referable, and the process proceeds to step S235.
 ステップS235において、動きベクトル再構成部235は、供給された空間予測ベクトル情報および時間予測ベクトル情報のうち、重複する予測ベクトルがある場合、それを削除する。 In step S235, the motion vector reconstruction unit 235 deletes, when there is an overlapping prediction vector from the supplied spatial prediction vector information and temporal prediction vector information.
 ステップS236において、動きベクトル再構成部235は、動きベクトル生成制御部231から予測ベクトルインデックスを取得する。 In step S236, the motion vector reconstruction unit 235 obtains a prediction vector index from the motion vector generation control unit 231.
 ステップS237において、動きベクトル再構成部235は、予測ベクトルが複数あった場合、ステップS236において取得された予測ベクトルインデックスが示す予測ベクトルを、予測ベクトルとして決定する。 In step S237, when there are a plurality of prediction vectors, the motion vector reconstruction unit 235 determines the prediction vector indicated by the prediction vector index acquired in step S236 as the prediction vector.
 一方、イントラであったり、画面外であったりして、空間予測ベクトル情報および時間予測ベクトル情報が1つも供給されなかった場合、動きベクトル再構成部235は、周辺領域がすべて参照不可であると判定し、ステップS238に進む。 On the other hand, if neither spatial prediction vector information nor temporal prediction vector information is supplied because it is intra or off the screen, the motion vector reconstruction unit 235 indicates that all the surrounding areas cannot be referred to. Determine and proceed to step S238.
 ステップS238において、動きベクトル再構成部235は、0を予測ベクトルとする。 In step S238, the motion vector reconstruction unit 235 sets 0 as a prediction vector.
 ステップS239において、動きベクトル再構成部235は、ステップS237またはS238において決定された予測ベクトルを、動きベクトル生成制御部231からの動きベクトル差分に加算することで、動きベクトルを生成する。 In step S239, the motion vector reconstruction unit 235 generates a motion vector by adding the prediction vector determined in step S237 or S238 to the motion vector difference from the motion vector generation control unit 231.
 ステップS240において、動きベクトル再構成部235は、生成した動きベクトルの情報を、動きベクトル保存メモリ122に保存する。具体的には、動きベクトル再構成部235は、図7を参照して上述したように、16×16の分割領域毎に、分割領域の左上のピクセル位置を含むPUの動きベクトル情報を、動きベクトル保存メモリ222に保存する。動きベクトル保存メモリ222に保存された動きベクトル情報は、時間的に後のピクチャの予測ベクトル生成に用いられる。なお、この動きベクトル情報は、周辺動きベクトル保存部134にも保存される。 In step S240, the motion vector reconstruction unit 235 stores the generated motion vector information in the motion vector storage memory 122. Specifically, as described above with reference to FIG. 7, the motion vector reconstruction unit 235 uses the motion vector information of the PU including the upper left pixel position of the divided region for each 16 × 16 divided region as a motion. Save in the vector storage memory 222. The motion vector information stored in the motion vector storage memory 222 is used to generate a prediction vector for a later picture in time. This motion vector information is also stored in the peripheral motion vector storage unit 134.
 その後、動きベクトル再構築部235は、生成した動きベクトル情報と、予測モード情報など、可逆復号部202により復号されたパラメータなどの情報とを、動き予測・補償部212に供給し、処理は、図27のステップS211に戻る。 After that, the motion vector reconstruction unit 235 supplies the generated motion vector information and information such as parameters decoded by the lossless decoding unit 202 such as prediction mode information to the motion prediction / compensation unit 212. Returning to step S211 of FIG.
 なお、図28の例は、予測ベクトルmvpを求める場合の例である。マージモードの場合、動きベクトル差分情報は符号化側から送られてこないので、図28の処理のうち、ステップS239の処理が除かれる。そして、図28のステップS236で取得されるインデックスが、マージインデックス(merge_idx)となり、ステップS237またはS238において予測ベクトルではなく動きベクトルが決定される。 Note that the example of FIG. 28 is an example of obtaining the prediction vector mvp. In the merge mode, since the motion vector difference information is not sent from the encoding side, the processing of step S239 is excluded from the processing of FIG. Then, the index acquired in step S236 of FIG. 28 becomes a merge index (merge_idx), and a motion vector, not a prediction vector, is determined in step S237 or S238.
 すなわち、マージモードの場合も、ステップS233における時間相関の予測ベクトルを生成する処理とステップS240における動きベクトルを保存する処理は、基本的に同様の処理を行うので、以下においても、マージモードの場合の図示を省略する。 That is, even in the merge mode, the process for generating the temporal correlation prediction vector in step S233 and the process for saving the motion vector in step S240 perform basically the same process. Is omitted.
[時間相関の予測ベクトルの生成処理の流れ]
 次に、図29のフローチャートを参照して、図28のステップS233において実行される時間相関の予測ベクトルの生成処理の流れの例を説明する。なお、図29の各ステップにおいては、上述した図14の各ステップにおける処理と基本的に同様の処理が行われる。
[Flow of prediction vector generation processing for time correlation]
Next, an example of the flow of the time correlation prediction vector generation process executed in step S233 of FIG. 28 will be described with reference to the flowchart of FIG. In each step of FIG. 29, basically the same processing as the processing in each step of FIG. 14 described above is performed.
 16×16アドレス生成部241には、動きベクトル生成制御部231から、予測ベクトル生成の指示が供給される。16×16アドレス生成部241は、ステップS261において、参照する16×16領域のアドレスを計算する。16×16アドレス生成部241は、計算した16×16アドレス情報を、16×16アドレス補正部242に供給する。 The 16 × 16 address generation unit 241 is supplied with a prediction vector generation instruction from the motion vector generation control unit 231. In step S261, the 16 × 16 address generation unit 241 calculates the address of the 16 × 16 area to be referred to. The 16 × 16 address generation unit 241 supplies the calculated 16 × 16 address information to the 16 × 16 address correction unit 242.
 16×16アドレス補正部242には、さらに、動きベクトル生成制御部231からCU/PUアドレス情報とCU/PUサイズ情報が供給される。 The 16 × 16 address correction unit 242 is further supplied with CU / PU address information and CU / PU size information from the motion vector generation control unit 231.
 ステップS262において、16×16アドレス補正部242は、供給された情報を用いて、16×16アドレス生成部141からの16×16アドレス情報を用いた参照が、CUを越えた参照であるか否かを判定する。すなわち、ステップS262においては、16×16アドレス情報が示す分割領域の右下のピクセル位置が、処理対象のCUの境界を越えているか否かが判定される。 In step S262, the 16 × 16 address correction unit 242 uses the supplied information to determine whether the reference using the 16 × 16 address information from the 16 × 16 address generation unit 141 is a reference beyond the CU. Determine whether. That is, in step S262, it is determined whether the lower right pixel position of the divided area indicated by the 16 × 16 address information exceeds the boundary of the CU to be processed.
 ステップS262において、CUを越えた参照であると判定された場合、16×16アドレス補正部242は、その参照をCU内に引き戻すように、16×16アドレス情報の補正を行う。具体的には、16×16アドレス補正部242は、16×16アドレス情報に対して、式(3)を用いて、垂直方向に引き戻しを行う。 When it is determined in step S262 that the reference is beyond the CU, the 16 × 16 address correcting unit 242 corrects the 16 × 16 address information so that the reference is pulled back into the CU. Specifically, the 16 × 16 address correction unit 242 pulls back the 16 × 16 address information in the vertical direction using Expression (3).
 16×16アドレス補正部242は、引き戻しの結果、補正された16×16アドレス情報を、メモリアクセス制御部243に供給する。 The 16 × 16 address correcting unit 242 supplies the 16 × 16 address information corrected as a result of the pull back to the memory access control unit 243.
 ステップS262において、CUを越えた参照ではないと判定された場合、ステップS263の処理はスキップされる。すなわち、16×16アドレス補正部242は、16×16アドレス生成部241からの16×16アドレス情報を、メモリアクセス制御部243に供給する。 If it is determined in step S262 that the reference does not exceed the CU, the process in step S263 is skipped. That is, the 16 × 16 address correction unit 242 supplies the 16 × 16 address information from the 16 × 16 address generation unit 241 to the memory access control unit 243.
 メモリアクセス制御部243は、動きベクトル保存メモリ222に対して、16×16アドレス補正部242からの16×16アドレス情報が示す動きベクトルを読み出すリクエストを行う。すなわち、メモリアクセス制御部243は、アドレス補正部242からの16×16アドレス情報が示す動きベクトルを、時間相関の予測ベクトルとして設定し、設定した時間相関の予測ベクトルを読み出すリクエストを行う。 The memory access control unit 243 requests the motion vector storage memory 222 to read the motion vector indicated by the 16 × 16 address information from the 16 × 16 address correction unit 242. That is, the memory access control unit 243 sets a motion vector indicated by the 16 × 16 address information from the address correction unit 242 as a time correlation prediction vector, and makes a request to read the set time correlation prediction vector.
 ステップS264において、動きベクトル保存メモリ222は、メモリアクセス制御部243からのリクエストに対応して、動きベクトル情報を読み出し、インター/イントラ判定部236に供給する。 In step S 264, the motion vector storage memory 222 reads the motion vector information in response to the request from the memory access control unit 243 and supplies the motion vector information to the inter / intra determination unit 236.
 ステップS265において、インター/イントラ判定部236は、動きベクトル保存メモリ222から読み出した動きベクトル情報が、イントラ(ピクチャ)を指しているか否かを判定する。 In step S265, the inter / intra determination unit 236 determines whether or not the motion vector information read from the motion vector storage memory 222 indicates an intra (picture).
 ステップS265において、読み出した動きベクトル情報が、イントラを指していると判定された場合、インター/イントラ判定部236は、16×16アドレス生成部241に対して、再読み込み指示を行う。なお、この再読み込み指示は、一度だけ行われる。 In step S265, when it is determined that the read motion vector information indicates an intra, the inter / intra determination unit 236 instructs the 16 × 16 address generation unit 241 to re-read. This re-reading instruction is performed only once.
 ステップS266において、16×16アドレス生成部241は、イントラの場合の16×16領域のアドレスを計算する。16×16アドレス生成部141は、計算した16×16アドレス情報を、16×16アドレス補正部242に供給する。 In step S266, the 16 × 16 address generation unit 241 calculates the address of the 16 × 16 area in the case of intra. The 16 × 16 address generation unit 141 supplies the calculated 16 × 16 address information to the 16 × 16 address correction unit 242.
 ステップS267において、16×16アドレス補正部242は、供給された情報を用いて、16×16アドレス生成部241からの16×16アドレス情報を用いた参照が、CUを越えた参照であるか否かを判定する。 In step S267, the 16 × 16 address correction unit 242 uses the supplied information to determine whether the reference using the 16 × 16 address information from the 16 × 16 address generation unit 241 is a reference beyond the CU. Determine whether.
 ステップS267において、CUを越えた参照であると判定された場合、16×16アドレス補正部242は、ステップS268において、その参照をCU内に引き戻すように、16×16アドレス情報の補正を行う。具体的には、16×16アドレス補正部242は、16×16アドレス情報に対して、式(3)を用いて、垂直方向に引き戻しを行う。 If it is determined in step S267 that the reference exceeds the CU, the 16 × 16 address correcting unit 242 corrects the 16 × 16 address information so that the reference is pulled back into the CU in step S268. Specifically, the 16 × 16 address correction unit 242 pulls back the 16 × 16 address information in the vertical direction using Expression (3).
 16×16アドレス補正部242は、引き戻しの結果、補正された16×16アドレス情報を、メモリアクセス制御部243に供給する。 The 16 × 16 address correcting unit 242 supplies the 16 × 16 address information corrected as a result of the pull back to the memory access control unit 243.
 ステップS267において、CUを越えた参照ではないと判定された場合、ステップS268の処理はスキップされる。すなわち、16×16アドレス補正部242は、16×16アドレス生成部141からの16×16アドレス情報を、メモリアクセス制御部143に供給する。 If it is determined in step S267 that the reference does not exceed the CU, the process in step S268 is skipped. That is, the 16 × 16 address correction unit 242 supplies the 16 × 16 address information from the 16 × 16 address generation unit 141 to the memory access control unit 143.
 メモリアクセス制御部243は、動きベクトル保存メモリ222に対して、16×16アドレス補正部242からの16×16アドレス情報が示す動きベクトルを読み出すリクエストを行う。すなわち、メモリアクセス制御部243は、アドレス補正部242からの16×16アドレス情報が示す動きベクトルを、時間相関の予測ベクトルとして設定し、設定した時間相関の予測ベクトルを読み出すリクエストを行う。 The memory access control unit 243 requests the motion vector storage memory 222 to read the motion vector indicated by the 16 × 16 address information from the 16 × 16 address correction unit 242. That is, the memory access control unit 243 sets a motion vector indicated by the 16 × 16 address information from the address correction unit 242 as a time correlation prediction vector, and makes a request to read the set time correlation prediction vector.
 ステップS269において、動きベクトル保存メモリ222は、メモリアクセス制御部243からのリクエストに対応して、動きベクトル情報を読み出し、インター/イントラ判定部236に供給する。 In step S269, the motion vector storage memory 222 reads the motion vector information in response to the request from the memory access control unit 243, and supplies the motion vector information to the inter / intra determination unit 236.
 インター/イントラ判定部236は、動きベクトル保存メモリ222からの動きベクトル情報を、時間相関予測ベクトル情報として、動きベクトル再構成部235に供給する。 The inter / intra determination unit 236 supplies the motion vector information from the motion vector storage memory 222 to the motion vector reconstruction unit 235 as temporal correlation prediction vector information.
 一方、ステップS265において、読み出した動きベクトル情報が、イントラを指していると判定された場合、ステップS266乃至S269はスキップされる。すなわち、ステップS264で読み出された動きベクトル情報が、時間相関予測ベクトル情報として、動きベクトル再構成部235に供給される。 On the other hand, if it is determined in step S265 that the read motion vector information indicates an intra, steps S266 to S269 are skipped. That is, the motion vector information read in step S264 is supplied to the motion vector reconstruction unit 235 as temporal correlation prediction vector information.
 以上のように、復号側でも、符号化側と同様に、参照先がLCUをまたぐ参照関係となってしまう場合に、その参照がLCU内に引き戻されるように、アドレスの補正を行うようにした。これにより、ラスタスキャン順の処理において、垂直方向にLCUを跨がないので、Colベクトル情報の読み直しがなくなる。 As described above, on the decoding side, as with the encoding side, when the reference destination has a reference relationship that crosses the LCU, the address is corrected so that the reference is pulled back into the LCU. . As a result, in the raster scan order processing, the LCU is not straddled in the vertical direction, so that the Col vector information is not re-read.
 すなわち、過去に一度読み込んだデータの再読み込みは行われないので、効率よく、メモリアクセスを行うことができる。 That is, since data read once in the past is not re-read, memory access can be performed efficiently.
[動きベクトル生成部の他の構成例]
 図30は、動きベクトル生成部の他の構成例を示すブロック図である。なお、図30の動きベクトル生成部は、図15の動きベクトル差分生成部に対応する部である。
[Another configuration example of the motion vector generation unit]
FIG. 30 is a block diagram illustrating another configuration example of the motion vector generation unit. The motion vector generation unit in FIG. 30 corresponds to the motion vector difference generation unit in FIG.
 図30の動きベクトル生成部221は、画面予測ベクトル生成部233、周辺動きベクトル保存部234、動きベクトル再構成部235、およびインター/イントラ判定部236を備える点で、図26の動きベクトル生成部221と共通している。なお、共通している部分については、繰り返しになるので適宜その説明を省略する。 The motion vector generation unit 221 of FIG. 30 includes a screen prediction vector generation unit 233, a peripheral motion vector storage unit 234, a motion vector reconstruction unit 235, and an inter / intra determination unit 236, and the motion vector generation unit of FIG. 221 is common. In addition, since it repeats about the common part, the description is abbreviate | omitted suitably.
 図30の動きベクトル生成部221は、動きベクトル生成制御部231が、動きベクトル生成制御部251に入れ替わり、時間予測ベクトル生成部232が、時間予測ベクトル生成部252に入れ替わった点が、図26の動きベクトル生成部221と異なっている。 The motion vector generation unit 221 in FIG. 30 is different from the motion vector generation control unit 231 in the motion vector generation control unit 251 and the temporal prediction vector generation unit 232 in the temporal prediction vector generation unit 252 in FIG. This is different from the motion vector generation unit 221.
 動きベクトル生成制御部251は、図15の動きベクトル差分生成制御部151に対応する部である。動きベクトル生成制御部251は、画内予測ベクトル生成部233および時間予測ベクトル生成部252に対して、予測ベクトル生成の指示を与える。動きベクトル生成制御部251は、動きベクトル再構成部235に、可逆復号部202からの動きベクトル差分情報を供給し、動きベクトルを再構成させる。 The motion vector generation control unit 251 is a unit corresponding to the motion vector difference generation control unit 151 in FIG. The motion vector generation control unit 251 gives a prediction vector generation instruction to the in-picture prediction vector generation unit 233 and the temporal prediction vector generation unit 252. The motion vector generation control unit 251 supplies the motion vector difference information from the lossless decoding unit 202 to the motion vector reconstruction unit 235 to reconstruct the motion vector.
 なお、動きベクトル生成制御部251は、図26の動きベクトル生成制御部231と異なり、16×16アドレス補正部262に対して、CUやPUの情報を供給しない。 Note that, unlike the motion vector generation control unit 231 in FIG. 26, the motion vector generation control unit 251 does not supply CU or PU information to the 16 × 16 address correction unit 262.
 時間予測ベクトル生成部252は、図15の時間予測ベクトル生成部152に対応する部である。時間予測ベクトル生成部252は、メモリアクセス制御部243を備える点が、図26の時間予測ベクトル生成部232と共通している。 The temporal prediction vector generation unit 252 is a unit corresponding to the temporal prediction vector generation unit 152 in FIG. The temporal prediction vector generation unit 252 is common to the temporal prediction vector generation unit 232 of FIG. 26 in that it includes a memory access control unit 243.
 時間予測ベクトル生成部252は、16×16アドレス生成部241が、16×16アドレス生成部261に入れ替わり、16×16アドレス補正部242が、16×16アドレス補正部262に入れ替わった点が、図26の時間予測ベクトル生成部232と異なっている。 In the temporal prediction vector generation unit 252, the 16 × 16 address generation unit 241 is replaced with a 16 × 16 address generation unit 261, and the 16 × 16 address correction unit 242 is replaced with a 16 × 16 address correction unit 262. This is different from the 26 temporal prediction vector generation units 232.
 16×16アドレス生成部261は、図15の16×16アドレス生成部161に対応する部である。16×16アドレス生成部261は、動きベクトル生成制御部251の制御のもと、参照する16×16領域のアドレスを計算し、計算した16×16アドレス情報を、16×16アドレス補正部262に供給する。 The 16 × 16 address generation unit 261 is a unit corresponding to the 16 × 16 address generation unit 161 in FIG. The 16 × 16 address generation unit 261 calculates the address of the 16 × 16 area to be referenced under the control of the motion vector generation control unit 251, and sends the calculated 16 × 16 address information to the 16 × 16 address correction unit 262. Supply.
 16×16アドレス生成部261は、インター/イントラ判定部236から再読み込み指示があると、イントラの場合の16×16領域のアドレスを計算する。16×16アドレス生成部261は、1回目の計算によるアドレスと、2回目(イントラの場合)の計算によるアドレスが同じであるか否かを判定し、同じであった場合、アドレスが同じであることを示す一致フラグを生成する。16×16アドレス生成部261は、生成した一致フラグを、16×16アドレス補正部262に供給する。 The 16 × 16 address generation unit 261 calculates the address of the 16 × 16 area in the case of intra when there is a reread instruction from the inter / intra determination unit 236. The 16 × 16 address generation unit 261 determines whether the address calculated in the first time and the address calculated in the second time (in the case of intra) are the same, and if they are the same, the addresses are the same. A coincidence flag indicating that is generated. The 16 × 16 address generation unit 261 supplies the generated match flag to the 16 × 16 address correction unit 262.
 16×16アドレス補正部262は、図15の16×16アドレス補正部162に対応する部である。16×16アドレス補正部262は、16×16アドレス生成部261からの16×16アドレス情報をメモリアクセス制御部243に供給する。また、16×16アドレス補正部262は、16×16アドレス生成部261からのフラグを受けた場合、1回目とは異なるアドレスになるように、1回目の16×16アドレスを補正する。16×16アドレス補正部262は、補正された16×16アドレス情報を、メモリアクセス制御部243に供給する。 The 16 × 16 address correcting unit 262 is a unit corresponding to the 16 × 16 address correcting unit 162 in FIG. The 16 × 16 address correction unit 262 supplies the 16 × 16 address information from the 16 × 16 address generation unit 261 to the memory access control unit 243. Further, when receiving the flag from the 16 × 16 address generation unit 261, the 16 × 16 address correction unit 262 corrects the first 16 × 16 address so that the address is different from the first time. The 16 × 16 address correction unit 262 supplies the corrected 16 × 16 address information to the memory access control unit 243.
[時間相関の予測ベクトルの生成処理の流れ]
 次に、図30の動きベクトル生成部221の場合の各処理の流れについて説明する。ただし、図30の動きベクトル生成部221の場合の画像復号装置200の復号処理は、図27を参照して上述した復号処理と同様の流れである。また、動きベクトル生成処理の流れは、図28を参照して上述した動きベクトル生成処理の流れと同様の流れである。
[Time correlation prediction vector generation process flow]
Next, the flow of each process in the case of the motion vector generation unit 221 in FIG. 30 will be described. However, the decoding process of the image decoding apparatus 200 in the case of the motion vector generation unit 221 in FIG. 30 is the same flow as the decoding process described above with reference to FIG. The flow of motion vector generation processing is the same as the flow of motion vector generation processing described above with reference to FIG.
 したがって、異なる処理が施される図28のステップS233における時間相関の予測ベクトルの生成処理の詳細について、図31のフローチャートを参照して説明する。なお、図31の各ステップにおいては、上述した図18の各ステップにおける処理と基本的に同様の処理が行われる。 Therefore, the details of the process for generating the prediction vector of the time correlation in step S233 of FIG. 28 in which different processes are performed will be described with reference to the flowchart of FIG. In each step of FIG. 31, basically the same processing as the processing in each step of FIG. 18 described above is performed.
 16×16アドレス生成部261には、動きベクトル生成制御部251から、予測ベクトル生成の指示が供給される。16×16アドレス生成部261は、ステップS271において、参照する16×16領域のアドレスを計算する。16×16アドレス生成部261は、計算した16×16アドレス情報を、16×16アドレス補正部262に供給する。 The 16 × 16 address generation unit 261 is supplied with a prediction vector generation instruction from the motion vector generation control unit 251. In step S271, the 16 × 16 address generation unit 261 calculates the address of the 16 × 16 area to be referred to. The 16 × 16 address generation unit 261 supplies the calculated 16 × 16 address information to the 16 × 16 address correction unit 262.
 16×16アドレス補正部262は、16×16アドレス生成部261からの16×16アドレス情報を、メモリアクセス制御部243に供給する。 The 16 × 16 address correction unit 262 supplies the 16 × 16 address information from the 16 × 16 address generation unit 261 to the memory access control unit 243.
 メモリアクセス制御部243は、動きベクトル保存メモリ222に対して、16×16アドレス補正部262からの16×16アドレス情報が示す動きベクトルを読み出すリクエストを行う。すなわち、メモリアクセス制御部243は、アドレス補正部242からの16×16アドレス情報が示す動きベクトルを、時間相関の予測ベクトルとして設定し、設定した時間相関の予測ベクトルを読み出すリクエストを行う。 The memory access control unit 243 requests the motion vector storage memory 222 to read the motion vector indicated by the 16 × 16 address information from the 16 × 16 address correction unit 262. That is, the memory access control unit 243 sets a motion vector indicated by the 16 × 16 address information from the address correction unit 242 as a time correlation prediction vector, and makes a request to read the set time correlation prediction vector.
 ステップS272において、動きベクトル保存メモリ222は、メモリアクセス制御部243からのリクエストに対応して、動きベクトル情報を読み出し、インター/イントラ判定部236に供給する。 In step S272, the motion vector storage memory 222 reads the motion vector information in response to the request from the memory access control unit 243, and supplies the motion vector information to the inter / intra determination unit 236.
 ステップS273において、インター/イントラ判定部236は、動きベクトル保存メモリ222から読み出した動きベクトル情報が、イントラ(ピクチャ)を示しているか否かを判定する。 In step S273, the inter / intra determination unit 236 determines whether or not the motion vector information read from the motion vector storage memory 222 indicates an intra (picture).
 ステップS273において、読み出した動きベクトル情報が、イントラを示していると判定された場合、インター/イントラ判定部236は、16×16アドレス生成部261に対して、再読み込み指示を行う。なお、この再読み込み指示は、一度だけ行われる。 In step S273, when it is determined that the read motion vector information indicates an intra, the inter / intra determination unit 236 instructs the 16 × 16 address generation unit 261 to re-read. This re-reading instruction is performed only once.
 ステップS274において、16×16アドレス生成部261は、イントラの場合の16×16領域のアドレスを計算する。 In step S274, the 16 × 16 address generation unit 261 calculates the address of the 16 × 16 area in the case of intra.
 16×16アドレス生成部261は、ステップS275において、1回目の計算によるアドレスと、2回目(イントラの場合)の計算によるアドレスが同じであるか否かを判定する。 In step S275, the 16 × 16 address generation unit 261 determines whether the address calculated in the first time and the address calculated in the second time (in the case of intra) are the same.
 16×16アドレス生成部261は、ステップS275において、アドレスが同じであると判定した場合、アドレスが同じであることを示す一致フラグを生成し、生成した一致フラグを、16×16アドレス補正部262に供給する。 If the 16 × 16 address generation unit 261 determines in step S275 that the addresses are the same, the 16 × 16 address generation unit 261 generates a match flag indicating that the addresses are the same, and uses the generated match flag as the 16 × 16 address correction unit 262. To supply.
 16×16アドレス補正部262は、一致フラグを受け取ると、ステップS276において、1回目とは異なるアドレスになるように、1回目の16×16アドレスを補正する。すなわち、16×16アドレス補正部262は、1回目の16×16アドレスの水平方向に、16×16アドレスが属する領域の右となりの領域を指すように+16して、16×16アドレスを補正する。16×16アドレス補正部262は、補正された16×16アドレス情報を、メモリアクセス制御部243に供給する。 When receiving the coincidence flag, the 16 × 16 address correcting unit 262 corrects the first 16 × 16 address so as to be different from the first address in step S276. That is, the 16 × 16 address correcting unit 262 corrects the 16 × 16 address by performing +16 in the horizontal direction of the first 16 × 16 address so as to indicate an area to the right of the region to which the 16 × 16 address belongs. . The 16 × 16 address correction unit 262 supplies the corrected 16 × 16 address information to the memory access control unit 243.
 また、ステップS275において、アドレスが異なると判定された場合、一致フラグは生成されず、ステップS276もスキップされる。すなわち、16×16アドレス補正部262は、1回目の16×16アドレスとは異なる2回目の16×16アドレスを、メモリアクセス制御部243に供給する。 If it is determined in step S275 that the addresses are different, no match flag is generated and step S276 is also skipped. That is, the 16 × 16 address correction unit 262 supplies the second 16 × 16 address different from the first 16 × 16 address to the memory access control unit 243.
 メモリアクセス制御部243は、動きベクトル保存メモリ222に対して、16×16アドレス補正部242からの16×16アドレス情報が示す動きベクトルを読み出すリクエストを行う。すなわち、メモリアクセス制御部243は、アドレス補正部242からの16×16アドレス情報が示す動きベクトルを、時間相関の予測ベクトルとして設定し、設定した時間相関の予測ベクトルを読み出すリクエストを行う。 The memory access control unit 243 requests the motion vector storage memory 222 to read the motion vector indicated by the 16 × 16 address information from the 16 × 16 address correction unit 242. That is, the memory access control unit 243 sets a motion vector indicated by the 16 × 16 address information from the address correction unit 242 as a time correlation prediction vector, and makes a request to read the set time correlation prediction vector.
 ステップS277において、動きベクトル保存メモリ222は、メモリアクセス制御部243からのリクエストに対応して、動きベクトル情報を読み出し、インター/イントラ判定部236に供給する。 In step S277, the motion vector storage memory 222 reads the motion vector information in response to the request from the memory access control unit 243, and supplies the motion vector information to the inter / intra determination unit 236.
 インター/イントラ判定部236は、動きベクトル保存メモリ222からの動きベクトル情報を、時間相関予測ベクトル情報として、動きベクトル再構成部235に供給する。 The inter / intra determination unit 236 supplies the motion vector information from the motion vector storage memory 222 to the motion vector reconstruction unit 235 as temporal correlation prediction vector information.
 一方、ステップS273において、読み出した動きベクトル情報が、イントラを指していると判定された場合、ステップS274乃至S277はスキップされる。すなわち、ステップS272で読み出された動きベクトル情報が、時間相関予測ベクトル情報として、動きベクトル再構成部235に供給される。 On the other hand, if it is determined in step S273 that the read motion vector information indicates an intra, steps S274 to S277 are skipped. That is, the motion vector information read in step S272 is supplied to the motion vector reconstruction unit 235 as temporal correlation prediction vector information.
 以上のように、復号側でも、符号化側と同様に、1回目の計算によるアドレスと2回目の計算によるアドレスが一致する場合、そのアドレスを、隣の16×16領域に移動させるようにした。これにより、同じアドレスを読み出してしまうメモリアクセスを抑制するとともに、マージモードや予測ベクトルの候補が減ってしまうことを抑制することができる。 As described above, on the decoding side, similarly to the encoding side, when the address calculated by the first calculation matches the address calculated by the second calculation, the address is moved to the adjacent 16 × 16 area. . As a result, it is possible to suppress memory access that reads the same address, and to suppress a decrease in merge mode and prediction vector candidates.
 その結果、効率よくメモリアクセスを行うことができるとともに、符号化効率を改善することもできる。 As a result, memory access can be performed efficiently and coding efficiency can be improved.
[動きベクトル差分生成部の他の構成例]
 図32は、動きベクトル生成部のさらに他の構成例を示すブロック図である。なお、図32の動きベクトル生成部は、図19の動きベクトル差分生成部に対応する部である。
[Another configuration example of the motion vector difference generation unit]
FIG. 32 is a block diagram illustrating still another configuration example of the motion vector generation unit. Note that the motion vector generation unit in FIG. 32 corresponds to the motion vector difference generation unit in FIG.
 図32の動きベクトル生成部221は、画面予測ベクトル生成部233、および周辺動きベクトル保存部234を備える点で、図26の動きベクトル生成部221と共通している。なお、共通している部分については、繰り返しになるので適宜その説明を省略する。 32 is the same as the motion vector generation unit 221 in FIG. 26 in that the motion vector generation unit 221 in FIG. 32 includes a screen prediction vector generation unit 233 and a peripheral motion vector storage unit 234. In addition, since it repeats about the common part, the description is abbreviate | omitted suitably.
 図32の動きベクトル生成部221は、動きベクトル生成制御部231が、動きベクトル生成制御部271に入れ替わり、時間予測ベクトル生成部232が、時間予測ベクトル生成部272に入れ替わった点が、図26の動きベクトル生成部221と異なっている。図32の動きベクトル生成部221は、動きベクトル再構成部235が、動きベクトル再構成部273に入れ替わった点が、図26の動きベクトル生成部221と異なっている。 The motion vector generation unit 221 in FIG. 32 is that the motion vector generation control unit 231 is replaced with the motion vector generation control unit 271, and the temporal prediction vector generation unit 232 is replaced with the temporal prediction vector generation unit 272. This is different from the motion vector generation unit 221. The motion vector generation unit 221 in FIG. 32 is different from the motion vector generation unit 221 in FIG. 26 in that the motion vector reconstruction unit 235 is replaced with a motion vector reconstruction unit 273.
 さらに、図32の動きベクトル生成部221は、インター/イントラ判定部236が除かれた点と、保存ベクトル選択部274が追加された点とが、図26の動きベクトル生成部221と異なっている。 Further, the motion vector generation unit 221 in FIG. 32 is different from the motion vector generation unit 221 in FIG. 26 in that the inter / intra determination unit 236 is removed and a storage vector selection unit 274 is added. .
 動きベクトル生成制御部271は、図19の動きベクトル差分生成制御部171に対応する部である。動きベクトル生成制御部271は、画内予測ベクトル生成部233および時間予測ベクトル生成部272に対して、予測ベクトル生成の指示を与える。動きベクトル生成制御部271は、動きベクトル再構成部273に、可逆復号部202からの動きベクトル差分情報を供給し、動きベクトルを再構成させる。また、動きベクトル生成制御部271は、イントラ領域情報を、保存ベクトル選択部274に供給して、動きベクトルを、動きベクトル保存メモリ222に保存させる。 The motion vector generation control unit 271 is a unit corresponding to the motion vector difference generation control unit 171 of FIG. The motion vector generation control unit 271 gives an instruction to generate a prediction vector to the in-picture prediction vector generation unit 233 and the temporal prediction vector generation unit 272. The motion vector generation control unit 271 supplies the motion vector difference information from the lossless decoding unit 202 to the motion vector reconstruction unit 273 to reconstruct the motion vector. In addition, the motion vector generation control unit 271 supplies the intra region information to the storage vector selection unit 274 and causes the motion vector storage memory 222 to store the motion vector.
 時間予測ベクトル生成部272は、図19の時間予測ベクトル生成部172に対応する部である。時間予測ベクトル生成部272は、メモリアクセス制御部243を備える点が、図26の時間予測ベクトル生成部232と共通している。 The temporal prediction vector generation unit 272 is a unit corresponding to the temporal prediction vector generation unit 172 of FIG. The temporal prediction vector generation unit 272 is common to the temporal prediction vector generation unit 232 in FIG. 26 in that the temporal prediction vector generation unit 272 includes a memory access control unit 243.
 時間予測ベクトル生成部272は、16×16アドレス生成部241が、16×16アドレス生成部281に入れ替わった点と、16×16アドレス補正部242が除かれた点が、図26の時間予測ベクトル生成部232と異なっている。 The temporal prediction vector generation unit 272 is different from the time prediction vector in FIG. 26 in that the 16 × 16 address generation unit 241 is replaced with the 16 × 16 address generation unit 281 and the 16 × 16 address correction unit 242 is excluded. This is different from the generation unit 232.
 16×16アドレス生成部281は、図19の16×16アドレス生成部181に対応する部である。16×16アドレス生成部281は、動きベクトル生成制御部271の制御のもと、参照する16×16領域のアドレスを計算し、計算した16×16アドレス情報を、メモリアクセス制御部243に供給する。 The 16 × 16 address generation unit 281 is a unit corresponding to the 16 × 16 address generation unit 181 in FIG. The 16 × 16 address generation unit 281 calculates an address of a 16 × 16 area to be referenced under the control of the motion vector generation control unit 271, and supplies the calculated 16 × 16 address information to the memory access control unit 243. .
 動きベクトル再構成部273は、図19の動きベクトル再構成部173と対応する部である。画内予測ベクトル生成部233からの空間予測ベクトルと、動きベクトル保存メモリ222からの時間予測ベクトルが参照可能であるか否かを判定する。動きベクトル再構成部273は、参照可能である動きベクトルのうち、予測ベクトルインデックスが示す動きベクトルを予測ベクトルとして、動きベクトル差分情報と加算することで、動きベクトル情報を生成する。動きベクトル再構成部273は、生成した動きベクトル情報を、他の復号された情報(予測モード情報、参照フレーム情報、フラグ、および各種パラメータ等)とともに、動き予測・補償部212に供給する。 The motion vector reconstruction unit 273 is a unit corresponding to the motion vector reconstruction unit 173 of FIG. It is determined whether the spatial prediction vector from the in-picture prediction vector generation unit 233 and the temporal prediction vector from the motion vector storage memory 222 can be referred to. The motion vector reconstruction unit 273 generates motion vector information by adding the motion vector indicated by the prediction vector index as a prediction vector among the referenceable motion vectors, and the motion vector difference information. The motion vector reconstruction unit 273 supplies the generated motion vector information to the motion prediction / compensation unit 212 together with other decoded information (prediction mode information, reference frame information, flags, various parameters, and the like).
 動きベクトル再構成部273は、動きベクトル情報を、保存ベクトル選択部274に供給する。 The motion vector reconstruction unit 273 supplies the motion vector information to the saved vector selection unit 274.
 保存ベクトル選択部274は、図19の保存ベクトル選択部174に対応する部である。保存ベクトル選択部274は、画面を16×16に分割した分割領域である、処理対象領域の動きベクトル情報を、動きベクトル保存メモリ222に保存する。その際、保存ベクトル選択部274は、動きベクトル再構成部273から動きベクトル情報と、動きベクトル生成制御部271からのイントラ領域の情報、周辺動きベクトル保存部234からの周辺領域のベクトルとモード情報などを参照する。 The storage vector selection unit 274 is a unit corresponding to the storage vector selection unit 174 of FIG. The saved vector selection unit 274 saves the motion vector information of the processing target area, which is a divided area obtained by dividing the screen into 16 × 16, in the motion vector saving memory 222. At that time, the save vector selection unit 274 receives the motion vector information from the motion vector reconstruction unit 273, the information on the intra region from the motion vector generation control unit 271, and the vector and mode information of the peripheral region from the peripheral motion vector storage unit 234. And so on.
 なお、図示はされていないが、保存ベクトル選択部274は、周辺動きベクトル保存部234にも、動きベクトル情報とモード情報を保存させる。 Although not shown, the storage vector selection unit 274 causes the peripheral motion vector storage unit 234 to store motion vector information and mode information.
 [時間相関の予測ベクトルの生成処理の流れ]
 次に、図32の動きベクトル生成部221の場合の各処理の流れについて説明する。ただし、図32の動きベクトル生成部221の場合の画像復号装置200の復号処理は、図27を参照して上述した復号処理と同様の流れである。また、動きベクトル生成処理の流れは、図28を参照して上述した動きベクトル生成処理の流れと同様の流れである。
[Time correlation prediction vector generation process flow]
Next, the flow of each process in the case of the motion vector generation unit 221 in FIG. 32 will be described. However, the decoding process of the image decoding apparatus 200 in the case of the motion vector generation unit 221 in FIG. 32 is the same flow as the decoding process described above with reference to FIG. The flow of motion vector generation processing is the same as the flow of motion vector generation processing described above with reference to FIG.
 したがって、図28のステップS233における時間相関の予測ベクトルの生成処理と、ステップS240における動きベクトル保存処理の詳細が異なっているので、それらの処理について順に説明する。 Therefore, the details of the time-correlated prediction vector generation process in step S233 in FIG. 28 and the motion vector storage process in step S240 are different, and these processes will be described in order.
 図33は、図28のステップS233における時間相関の予測ベクトルの生成処理の例を説明するフローチャートである。 FIG. 33 is a flowchart for explaining an example of processing for generating a temporal correlation prediction vector in step S233 of FIG.
 16×16アドレス生成部281には、動きベクトル生成制御部271から、予測ベクトル生成の指示が供給される。16×16アドレス生成部281は、ステップS281において、参照する16×16領域のアドレスを計算する。16×16アドレス生成部281は、計算した16×16アドレス情報を、メモリアクセス制御部243に供給する。 The 16 × 16 address generation unit 281 is supplied with a prediction vector generation instruction from the motion vector generation control unit 271. In step S281, the 16 × 16 address generation unit 281 calculates the address of the 16 × 16 area to be referred to. The 16 × 16 address generation unit 281 supplies the calculated 16 × 16 address information to the memory access control unit 243.
 メモリアクセス制御部243は、動きベクトル保存メモリ222に対して、16×16アドレス生成部281からの16×16アドレス情報が示す動きベクトルを読み出すリクエストを行う。 The memory access control unit 243 requests the motion vector storage memory 222 to read the motion vector indicated by the 16 × 16 address information from the 16 × 16 address generation unit 281.
 ステップS282において、動きベクトル保存メモリ222は、メモリアクセス制御部243からのリクエストに対応して、動きベクトル情報を読み出し、時間相関予測ベクトル情報として、動きベクトル再構成部273に供給する。 In step S282, the motion vector storage memory 222 reads motion vector information in response to the request from the memory access control unit 243, and supplies the motion vector information to the motion vector reconstruction unit 273 as temporal correlation prediction vector information.
 すなわち、動きベクトル保存メモリ222には、図35および図36を参照して後述されるように動きベクトルが保存されるので、イントラであっても動きベクトルが保存されている。これにより、従来や、あるいは、図29または図31を参照して上述した例のように、イントラの場合に再度動きベクトルを読み出す処理を省くことができる。 That is, since the motion vector is stored in the motion vector storage memory 222 as will be described later with reference to FIGS. 35 and 36, the motion vector is stored even for an intra. As a result, it is possible to omit the process of reading the motion vector again in the case of intra, as in the prior art or the example described above with reference to FIG. 29 or FIG.
[動きベクトル保存処理の流れ]
 次に、図34のフローチャートを参照して、図28のステップS240の動きベクトル保存処理の例について説明する。図34は、上述した図20を参照して上述した保存処理の流れを説明するフローチャートであり、図20を参照して説明する。なお、図34の各ステップにおいては、上述した図23の各ステップにおける処理と基本的に同様の処理が行われる。
[Flow of motion vector saving process]
Next, an example of the motion vector storing process in step S240 in FIG. 28 will be described with reference to the flowchart in FIG. FIG. 34 is a flowchart illustrating the flow of the storage process described above with reference to FIG. 20 described above, and will be described with reference to FIG. In each step of FIG. 34, basically the same processing as the processing in each step of FIG. 23 described above is performed.
 図28のステップS239において、動きベクトルが生成されると、動きベクトル再構成部273は、生成した動きベクトル情報を、保存ベクトル選択部274に供給する。また、動きベクトル生成制御部271は、イントラ領域情報を、保存ベクトル選択部274に供給する。 28, when a motion vector is generated in step S239 in FIG. 28, the motion vector reconstruction unit 273 supplies the generated motion vector information to the saved vector selection unit 274. In addition, the motion vector generation control unit 271 supplies the intra area information to the saved vector selection unit 274.
 ステップS301において、保存ベクトル選択部274は、動きベクトル生成制御部271からのイントラ領域情報に基づいて、処理対象領域(すなわち、図20の太枠の16×16領域)がインターであるか否かを判定する。すなわち、保存ベクトル選択部274は、ステップS301において、図20に示されるピクセル位置Pを含むPUがインターであるか否かを判定する。ステップS301において、処理対象領域がインターであると判定された場合、処理は、ステップS302に進む。 In step S301, based on the intra area information from the motion vector generation control unit 271, the saved vector selection unit 274 determines whether or not the processing target area (that is, the 16 × 16 area with a thick frame in FIG. 20) is inter. Determine. That is, in step S301, the saved vector selection unit 274 determines whether or not the PU including the pixel position P shown in FIG. If it is determined in step S301 that the processing target area is inter, the process proceeds to step S302.
 ステップS302において、保存ベクトル選択部274は、動きベクトル再構成部273からの動きベクトル情報を、処理対象領域のベクトル情報として設定し、設定した動きベクトル情報を、動きベクトル保存メモリ122に保存する。その後、処理は、図28のステップS240に戻る。 In step S302, the storage vector selection unit 274 sets the motion vector information from the motion vector reconstruction unit 273 as the vector information of the processing target region, and stores the set motion vector information in the motion vector storage memory 122. Thereafter, the processing returns to step S240 in FIG.
 ステップS301において、処理対象領域がイントラであると判定された場合、処理は、ステップS303に進む。保存ベクトル選択部274は、周辺動きベクトル保存部234から、図20に示されるピクセル位置Aが含まれるPUの動きベクトル情報やモード情報を取得する。 If it is determined in step S301 that the processing target area is intra, the process proceeds to step S303. The saved vector selection unit 274 obtains the motion vector information and mode information of the PU including the pixel position A shown in FIG.
 保存ベクトル選択部274は、ステップS303において、ピクセル位置Aが利用可能であるか否かを判定する。すなわち、保存ベクトル選択部274は、ステップS303において、ピクセル位置Aが含まれるPUの動きベクトル情報が、利用可能であるか否かを判定する。 In step S303, the storage vector selection unit 274 determines whether or not the pixel position A is available. That is, in step S303, the saved vector selection unit 274 determines whether or not the PU motion vector information including the pixel position A is available.
 ピクセル位置Aが含まれるPUのモード情報がインターであり、ステップS303において、ピクセル位置Aが利用可能であると判定された場合、処理は、ステップS304に進む。ステップS304において、保存ベクトル選択部274は、ピクセル位置Aが含まれるPUの動きベクトル情報を、処理対象領域のベクトル情報として設定し、設定した動きベクトル情報を、動きベクトル保存メモリ122に保存する。その後、処理は、図28のステップS240に戻る。 If the PU mode information including the pixel position A is inter and it is determined in step S303 that the pixel position A is available, the process proceeds to step S304. In step S304, the save vector selection unit 274 sets the motion vector information of the PU including the pixel position A as the vector information of the processing target area, and saves the set motion vector information in the motion vector save memory 122. Thereafter, the processing returns to step S240 in FIG.
 ピクセル位置Aが含まれるPUのモード情報がイントラであり、ステップS303において、ピクセル位置Aが利用不可能であると判定された場合、処理は、ステップS305に進む。保存ベクトル選択部274は、周辺動きベクトル保存部234から、図20に示されるピクセル位置Bが含まれるPUの動きベクトル情報やモード情報を取得する。 If the PU mode information including the pixel position A is intra, and it is determined in step S303 that the pixel position A is not usable, the process proceeds to step S305. The saved vector selection unit 274 obtains the motion vector information and mode information of the PU including the pixel position B shown in FIG.
 保存ベクトル選択部274は、ステップS305において、ピクセル位置Bが利用可能であるか否かを判定する。すなわち、保存ベクトル選択部274は、ステップS305において、ピクセル位置Bが含まれるPUの動きベクトル情報が、利用可能であるか否かを判定する。 The saved vector selection unit 274 determines whether or not the pixel position B is available in step S305. That is, the saved vector selection unit 274 determines whether or not the motion vector information of the PU including the pixel position B is available in step S305.
 ピクセル位置Bが含まれるPUのモード情報がインターであり、ステップS305において、ピクセル位置Bが利用可能であると判定された場合、処理は、ステップS306に進む。ステップS306において、保存ベクトル選択部274は、ピクセル位置Bが含まれるPUの動きベクトル情報を、処理対象領域のベクトル情報として設定し、設定した動きベクトル情報を、動きベクトル保存メモリ122に保存する。その後、処理は、図28のステップS240に戻る。 If the mode information of the PU including the pixel position B is inter and it is determined in step S305 that the pixel position B is usable, the process proceeds to step S306. In step S <b> 306, the save vector selection unit 274 sets the motion vector information of the PU including the pixel position B as the vector information of the processing target area, and saves the set motion vector information in the motion vector save memory 122. Thereafter, the processing returns to step S240 in FIG.
 ピクセル位置Bが含まれるPUのモード情報がイントラであり、ステップS305において、ピクセル位置Aが利用不可能であると判定された場合、処理は、ステップS307に進む。保存ベクトル選択部274は、周辺動きベクトル保存部234から、図20に示されるピクセル位置Cが含まれるPUの動きベクトル情報やモード情報を取得する。 If the PU mode information including the pixel position B is intra, and it is determined in step S305 that the pixel position A is not usable, the process proceeds to step S307. The saved vector selection unit 274 obtains the motion vector information and mode information of the PU including the pixel position C shown in FIG.
 保存ベクトル選択部274は、ステップS307において、ピクセル位置Cが利用可能であるか否かを判定する。すなわち、保存ベクトル選択部274は、ステップS307において、ピクセル位置Cが含まれるPUの動きベクトル情報が、利用可能であるか否かを判定する。 In step S307, the storage vector selection unit 274 determines whether or not the pixel position C is available. That is, in step S307, the saved vector selection unit 274 determines whether or not the PU motion vector information including the pixel position C is available.
 ピクセル位置Cが含まれるPUのモード情報がインターであり、ステップS307において、ピクセル位置Cが利用可能であると判定された場合、処理は、ステップS308に進む。ステップS308において、保存ベクトル選択部274は、ピクセル位置Cが含まれるPUの動きベクトル情報を、処理対象領域のベクトル情報として設定し、設定した動きベクトル情報を、動きベクトル保存メモリ122に保存する。その後、処理は、図28のステップS240に戻る。 If the mode information of the PU including the pixel position C is inter and it is determined in step S307 that the pixel position C is available, the process proceeds to step S308. In step S <b> 308, the save vector selection unit 274 sets the motion vector information of the PU including the pixel position C as the vector information of the processing target area, and saves the set motion vector information in the motion vector save memory 122. Thereafter, the processing returns to step S240 in FIG.
 ピクセル位置Cが含まれるPUのモード情報がイントラであり、ステップS307において、ピクセル位置Cが利用不可能であると判定された場合、処理は、ステップS309に進む。 If the mode information of the PU including the pixel position C is intra and it is determined in step S307 that the pixel position C is not usable, the process proceeds to step S309.
 ステップS308において、保存ベクトル選択部274は、イントラであることを、処理対象領域のベクトル情報として、動きベクトル保存メモリ122に保存する。その後、処理は、図28のステップS240に戻る。 In step S308, the saved vector selection unit 274 saves the information as intra in the motion vector saving memory 122 as vector information of the processing target area. Thereafter, the processing returns to step S240 in FIG.
 以上のように、動きベクトル保存の処理対象領域とColPUの位置が1対1でほぼ決まるので、図22を参照して上述したように、ベクトル情報の読み直しが抑制される。 As described above, since the position of the motion vector storage target region and the ColPU are almost determined on a one-to-one basis, rereading of vector information is suppressed as described above with reference to FIG.
 これにより、メモリアクセスを低減することができるとともに、予測ベクトルmvpとしてColが利用可能になる可能性が高くなるので、圧縮性能を改善することができる。 This makes it possible to reduce memory access and increase the possibility that Col can be used as the prediction vector mvp, so that the compression performance can be improved.
 次に、図35のフローチャートを参照して、図28のステップS240の動きベクトル保存処理の他の例について説明する。図35は、上述した図21を参照して上述した保存処理の流れを説明するフローチャートであり、図22を参照して説明する。なお、図35の各ステップにおいては、上述した図24の各ステップにおける処理と基本的に同様の処理が行われる。 Next, another example of the motion vector storing process in step S240 in FIG. 28 will be described with reference to the flowchart in FIG. FIG. 35 is a flowchart for explaining the flow of the storage process described above with reference to FIG. 21 described above, and will be described with reference to FIG. In each step of FIG. 35, basically the same processing as the processing in each step of FIG. 24 described above is performed.
 図28のステップS239において、動きベクトルが生成されると、動きベクトル再構成部273は、生成した動きベクトル情報を、保存ベクトル選択部274に供給する。また、動きベクトル生成制御部271は、イントラ領域情報を、保存ベクトル選択部274に供給する。 28, when a motion vector is generated in step S239 in FIG. 28, the motion vector reconstruction unit 273 supplies the generated motion vector information to the saved vector selection unit 274. In addition, the motion vector generation control unit 271 supplies the intra area information to the saved vector selection unit 274.
 ステップS311において、保存ベクトル選択部274は、処理対象領域(図21に示される16×16領域)の動きベクトルを保存するため、動きベクトル生成制御部271からのイントラ領域情報に基づいて、図21に示されるピクセル位置Aが利用可能であるか否かを判定する。すなわち、保存ベクトル選択部274は、ステップS311において、ピクセル位置Aが含まれるPUの動きベクトル情報が、利用可能であるか否かを判定する。 In step S311, the save vector selection unit 274 stores the motion vector of the processing target region (16 × 16 region shown in FIG. 21), and based on the intra region information from the motion vector generation control unit 271, FIG. It is determined whether or not the pixel position A shown in FIG. That is, in step S311, the saved vector selection unit 274 determines whether or not the motion vector information of the PU including the pixel position A is available.
 ステップS311において、ピクセル位置Aが利用可能であると判定された場合、処理は、ステップS312に進む。ステップS312において、保存ベクトル選択部274は、動きベクトル再構成部273からのピクセル位置Aが含まれるPU(図21のPl0_0)の動きベクトル情報を、処理対象領域のベクトル情報として設定し、設定した動きベクトル情報を、動きベクトル保存メモリ122に保存する。その後、処理は、図28のステップS240に戻る。 If it is determined in step S311 that the pixel position A is available, the process proceeds to step S312. In step S312, the saved vector selection unit 274 sets and sets the motion vector information of the PU (Pl0_0 in FIG. 21) including the pixel position A from the motion vector reconstruction unit 273 as the vector information of the processing target region. The motion vector information is stored in the motion vector storage memory 122. Thereafter, the processing returns to step S240 in FIG.
 ステップS311において、ピクセル位置Aが利用不可能であると判定された場合、処理は、ステップS313に進む。ステップS313において、保存ベクトル選択部274は、動きベクトル生成制御部271からのイントラ領域情報に基づいて、図21に示されるピクセル位置Bが利用可能であるか否かを判定する。すなわち、保存ベクトル選択部274は、ステップS313において、ピクセル位置Bが含まれるPUの動きベクトル情報が、利用可能であるか否かを判定する。 If it is determined in step S311 that the pixel position A is not usable, the process proceeds to step S313. In step S313, the saved vector selection unit 274 determines whether or not the pixel position B shown in FIG. 21 is available based on the intra area information from the motion vector generation control unit 271. That is, in step S313, the saved vector selection unit 274 determines whether or not the PU motion vector information including the pixel position B is available.
 ステップS311において、ピクセル位置Bが利用可能であると判定された場合、処理は、ステップS314に進む。ステップS314において、保存ベクトル選択部274は、動きベクトル再構成部273からのピクセル位置Bが含まれるPU(図21のPl1_0)の動きベクトル情報を、処理対象領域のベクトル情報として設定し、設定した動きベクトル情報を、動きベクトル保存メモリ122に保存する。その後、処理は、図28のステップS240に戻る。 If it is determined in step S311 that the pixel position B is available, the process proceeds to step S314. In step S314, the saved vector selection unit 274 sets and sets the motion vector information of the PU (Pl1_0 in FIG. 21) including the pixel position B from the motion vector reconstruction unit 273 as the vector information of the processing target region. The motion vector information is stored in the motion vector storage memory 122. Thereafter, the processing returns to step S240 in FIG.
 ステップS313において、ピクセル位置Bが利用不可能であると判定された場合、処理は、ステップS315に進む。ステップS315において、保存ベクトル選択部274は、動きベクトル生成制御部271からのイントラ領域情報に基づいて、図21に示されるピクセル位置Cが利用可能であるか否かを判定する。すなわち、保存ベクトル選択部274は、ステップS315において、ピクセル位置Cが含まれるPUの動きベクトル情報が、利用可能であるか否かを判定する。 If it is determined in step S313 that the pixel position B is not usable, the process proceeds to step S315. In step S315, the saved vector selection unit 274 determines whether or not the pixel position C shown in FIG. 21 is available based on the intra area information from the motion vector generation control unit 271. That is, the saved vector selection unit 274 determines whether or not the motion vector information of the PU including the pixel position C is available in step S315.
 ステップS315において、ピクセル位置Cが利用可能であると判定された場合、処理は、ステップS316に進む。ステップS316において、保存ベクトル選択部274は、動きベクトル再構成部273からのピクセル位置Cが含まれるPU(図21のPl2_0)の動きベクトル情報を、処理対象領域のベクトル情報として設定し、設定した動きベクトル情報を、動きベクトル保存メモリ122に保存する。その後、処理は、図28のステップS240に戻る。 If it is determined in step S315 that the pixel position C is available, the process proceeds to step S316. In step S316, the saved vector selection unit 274 sets and sets the motion vector information of the PU (Pl2_0 in FIG. 21) including the pixel position C from the motion vector reconstruction unit 273 as the vector information of the processing target region. The motion vector information is stored in the motion vector storage memory 122. Thereafter, the processing returns to step S240 in FIG.
 ステップS315において、ピクセル位置Cが利用不可能であると判定された場合、処理は、ステップS317に進む。ステップS317において、保存ベクトル選択部274は、動きベクトル生成制御部271からのイントラ領域情報に基づいて、図21に示されるピクセル位置Dが利用可能であるか否かを判定する。すなわち、保存ベクトル選択部274は、ステップS317において、ピクセル位置Dが含まれるPUの動きベクトル情報が、利用可能であるか否かを判定する。 If it is determined in step S315 that the pixel position C is not usable, the process proceeds to step S317. In step S317, the saved vector selection unit 274 determines whether or not the pixel position D shown in FIG. 21 is available based on the intra area information from the motion vector generation control unit 271. That is, in step S317, the saved vector selection unit 274 determines whether or not the motion vector information of the PU including the pixel position D is available.
 ステップS317において、ピクセル位置Dが利用可能であると判定された場合、処理は、ステップS318に進む。ステップS318において、保存ベクトル選択部274は、動きベクトル再構成部273からのピクセル位置Dが含まれるPU(図21のPl3_0)の動きベクトル情報を、処理対象領域のベクトル情報として設定し、設定した動きベクトル情報を、動きベクトル保存メモリ122に保存する。その後、処理は、図28のステップS240に戻る。 If it is determined in step S317 that the pixel position D is available, the process proceeds to step S318. In step S318, the saved vector selection unit 274 sets and sets the motion vector information of the PU (Pl3_0 in FIG. 21) including the pixel position D from the motion vector reconstruction unit 273 as the vector information of the processing target region. The motion vector information is stored in the motion vector storage memory 122. Thereafter, the processing returns to step S240 in FIG.
 ステップS318において、ピクセル位置Dが利用不可能であると判定された場合、処理は、ステップS319に進む。ステップS319において、保存ベクトル選択部274は、イントラであることを、処理対象領域のベクトル情報として設定し、設定した動きベクトル情報を、動きベクトル保存メモリ122に保存する。その後、処理は、図28のステップS240に戻る。 If it is determined in step S318 that the pixel position D is not usable, the process proceeds to step S319. In step S 319, the saved vector selection unit 274 sets that it is intra as the vector information of the processing target area, and saves the set motion vector information in the motion vector save memory 122. Thereafter, the processing returns to step S240 in FIG.
 以上のように、図35の例においても、ステップS318でNoと判定される場合以外、動きベクトル保存の処理対象領域とColPUの位置が1対1でほぼ決まるので、図21を参照して上述したように、ベクトル情報の読み直しが抑制される。 As described above, also in the example of FIG. 35, except for the case where No is determined in step S318, the motion vector storage processing target region and the position of ColPU are substantially determined on a one-to-one basis. As described above, rereading of the vector information is suppressed.
 これにより、メモリアクセスを低減することができるとともに、予測ベクトルとしてColが利用可能になる可能性が高くなるので、圧縮性能を改善することができる。 This makes it possible to reduce memory access and increase the possibility that Col can be used as a prediction vector, thereby improving the compression performance.
 以上においては、符号化方式としてHEVC方式をベースに用いるようにしたが、本開示はこれに限らず、時間相関の動きベクトルを用いて処理を行う、その他の符号化方式/復号方式を適用することができる。 In the above description, the HEVC scheme is used as the encoding scheme. However, the present disclosure is not limited to this, and other encoding schemes / decoding schemes that perform processing using time-correlated motion vectors are applied. be able to.
 なお、本開示は、例えば、MPEG、H.26x等の様に、離散コサイン変換等の直交変換と動き補償によって圧縮された画像情報(ビットストリーム)を、衛星放送、ケーブルテレビジョン、インターネット、または携帯電話機などのネットワークメディアを介して受信する際に用いられる画像符号化装置および画像復号装置に適用することができる。また、本開示は、光、磁気ディスク、およびフラッシュメモリのような記憶メディア上で処理する際に用いられる画像符号化装置および画像復号装置に適用することができる。さらに、本開示は、それらの画像符号化装置および画像復号装置などに含まれる動き予測補償装置にも適用することができる。 Note that this disclosure includes, for example, MPEG, When receiving image information (bitstream) compressed by orthogonal transform such as discrete cosine transform and motion compensation, such as 26x, via network media such as satellite broadcasting, cable television, the Internet, or mobile phones. The present invention can be applied to an image encoding device and an image decoding device used in the above. In addition, the present disclosure can be applied to an image encoding device and an image decoding device that are used when processing on a storage medium such as an optical disk, a magnetic disk, and a flash memory. Furthermore, the present disclosure can also be applied to motion prediction / compensation devices included in such image encoding devices and image decoding devices.
 <3.第3の実施の形態>
 [コンピュータ]
 上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な汎用のパーソナルコンピュータなどが含まれる。
<3. Third Embodiment>
[Computer]
The series of processes described above can be executed by hardware or can be executed by software. When a series of processing is executed by software, a program constituting the software is installed in the computer. Here, the computer includes a computer incorporated in dedicated hardware, a general-purpose personal computer capable of executing various functions by installing various programs, and the like.
 図36において、コンピュータ500のCPU(Central Processing Unit)501は、ROM(Read Only Memory)502に記憶されているプログラム、または記憶部513からRAM(Random Access Memory)503にロードされたプログラムに従って各種の処理を実行する。RAM503にはまた、CPU501が各種の処理を実行する上において必要なデータなども適宜記憶される。 In FIG. 36, a CPU (Central Processing Unit) 501 of a computer 500 has various programs according to a program stored in a ROM (Read Only Memory) 502 or a program loaded from a storage unit 513 into a RAM (Random Access Memory) 503. Execute the process. The RAM 503 also appropriately stores data necessary for the CPU 501 to execute various processes.
 CPU501、ROM502、およびRAM503は、バス504を介して相互に接続されている。このバス504にはまた、入出力インタフェース510も接続されている。 The CPU 501, the ROM 502, and the RAM 503 are connected to each other via a bus 504. An input / output interface 510 is also connected to the bus 504.
 入出力インタフェース510には、キーボード、マウスなどよりなる入力部511、CRT(Cathode Ray Tube)やLCD(Liquid Crystal Display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部512、ハードディスクなどより構成される記憶部513、モデムなどより構成される通信部514が接続されている。通信部514は、インターネットを含むネットワークを介しての通信処理を行う。 The input / output interface 510 includes an input unit 511 including a keyboard and a mouse, a display including a CRT (Cathode Ray Tube) and an LCD (Liquid Crystal Display), an output unit 512 including a speaker, and a hard disk. A communication unit 514 including a storage unit 513 and a modem is connected. The communication unit 514 performs communication processing via a network including the Internet.
 入出力インタフェース510にはまた、必要に応じてドライブ515が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア521が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部513にインストールされる。 A drive 515 is connected to the input / output interface 510 as necessary, and a removable medium 521 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory is appropriately mounted, and a computer program read from them is It is installed in the storage unit 513 as necessary.
 上述した一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、ネットワークや記録媒体からインストールされる。 When the above-described series of processing is executed by software, a program constituting the software is installed from a network or a recording medium.
 この記録媒体は、例えば、図36に示されるように、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc - Read Only Memory),DVD(Digital Versatile Disc)を含む)、光磁気ディスク(MD(Mini Disc)を含む)、若しくは半導体メモリなどよりなるリムーバブルメディア521により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM502や、記憶部513に含まれるハードディスクなどで構成される。 For example, as shown in FIG. 36, the recording medium is distributed to distribute the program to the user separately from the apparatus main body, and includes a magnetic disk (including a flexible disk) on which the program is recorded, an optical disk ( It only consists of removable media 521 consisting of CD-ROM (compact disc -read only memory), DVD (including digital Versatile disc), magneto-optical disk (including MD (mini disc)), or semiconductor memory. Rather, it is composed of a ROM 502 on which a program is recorded and a hard disk included in the storage unit 513, which is distributed to the user in a state of being pre-installed in the apparatus main body.
 なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。 The program executed by the computer may be a program that is processed in time series in the order described in this specification, or in parallel or at a necessary timing such as when a call is made. It may be a program for processing.
 また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。 Further, in the present specification, the step of describing the program recorded on the recording medium is not limited to the processing performed in chronological order according to the described order, but may be performed in parallel or It also includes processes that are executed individually.
 また、本明細書において、システムとは、複数のデバイス(装置)により構成される装置全体を表すものである。 In addition, in this specification, the system represents the entire apparatus composed of a plurality of devices (apparatuses).
 また、以上において、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。つまり、本技術は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。 Also, in the above, the configuration described as one device (or processing unit) may be divided and configured as a plurality of devices (or processing units). Conversely, the configurations described above as a plurality of devices (or processing units) may be combined into a single device (or processing unit). Of course, a configuration other than that described above may be added to the configuration of each device (or each processing unit). Furthermore, if the configuration and operation of the entire system are substantially the same, a part of the configuration of a certain device (or processing unit) may be included in the configuration of another device (or other processing unit). . That is, the present technology is not limited to the above-described embodiment, and various modifications can be made without departing from the gist of the present technology.
 上述した実施形態に係る画像符号化装置及び画像復号装置は、衛星放送、ケーブルTVなどの有線放送、インターネット上での配信、及びセルラー通信による端末への配信などにおける送信機若しくは受信機、光ディスク、磁気ディスク及びフラッシュメモリなどの媒体に画像を記録する記録装置、又は、これら記憶媒体から画像を再生する再生装置などの様々な電子機器に応用され得る。以下、4つの応用例について説明する。 An image encoding device and an image decoding device according to the above-described embodiments include a transmitter or a receiver in optical broadcasting, satellite broadcasting, cable broadcasting such as cable TV, distribution on the Internet, and distribution to terminals by cellular communication, etc. The present invention can be applied to various electronic devices such as a recording device that records an image on a medium such as a magnetic disk and a flash memory, or a playback device that reproduces an image from these storage media. Hereinafter, four application examples will be described.
 <4.第4の実施の形態> 
[第1の応用例:テレビジョン受像機]
 図37は、上述した実施形態を適用したテレビジョン装置の概略的な構成の一例を示している。テレビジョン装置900は、アンテナ901、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、表示部906、音声信号処理部907、スピーカ908、外部インタフェース909、制御部910、ユーザインタフェース911、及びバス912を備える。
<4. Fourth Embodiment>
[First application example: television receiver]
FIG. 37 shows an example of a schematic configuration of a television apparatus to which the above-described embodiment is applied. The television apparatus 900 includes an antenna 901, a tuner 902, a demultiplexer 903, a decoder 904, a video signal processing unit 905, a display unit 906, an audio signal processing unit 907, a speaker 908, an external interface 909, a control unit 910, a user interface 911, And a bus 912.
 チューナ902は、アンテナ901を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ902は、復調により得られた符号化ビットストリームをデマルチプレクサ903へ出力する。即ち、チューナ902は、画像が符号化されている符号化ストリームを受信する、テレビジョン装置900における伝送手段としての役割を有する。 Tuner 902 extracts a signal of a desired channel from a broadcast signal received via antenna 901, and demodulates the extracted signal. Then, the tuner 902 outputs the encoded bit stream obtained by the demodulation to the demultiplexer 903. In other words, the tuner 902 serves as a transmission unit in the television apparatus 900 that receives an encoded stream in which an image is encoded.
 デマルチプレクサ903は、符号化ビットストリームから視聴対象の番組の映像ストリーム及び音声ストリームを分離し、分離した各ストリームをデコーダ904へ出力する。また、デマルチプレクサ903は、符号化ビットストリームからEPG(Electronic Program Guide)などの補助的なデータを抽出し、抽出したデータを制御部910に供給する。なお、デマルチプレクサ903は、符号化ビットストリームがスクランブルされている場合には、デスクランブルを行ってもよい。 The demultiplexer 903 separates the video stream and audio stream of the viewing target program from the encoded bit stream, and outputs each separated stream to the decoder 904. Further, the demultiplexer 903 extracts auxiliary data such as EPG (Electronic Program Guide) from the encoded bit stream, and supplies the extracted data to the control unit 910. Note that the demultiplexer 903 may perform descrambling when the encoded bit stream is scrambled.
 デコーダ904は、デマルチプレクサ903から入力される映像ストリーム及び音声ストリームを復号する。そして、デコーダ904は、復号処理により生成される映像データを映像信号処理部905へ出力する。また、デコーダ904は、復号処理により生成される音声データを音声信号処理部907へ出力する。 The decoder 904 decodes the video stream and audio stream input from the demultiplexer 903. Then, the decoder 904 outputs the video data generated by the decoding process to the video signal processing unit 905. In addition, the decoder 904 outputs audio data generated by the decoding process to the audio signal processing unit 907.
 映像信号処理部905は、デコーダ904から入力される映像データを再生し、表示部906に映像を表示させる。また、映像信号処理部905は、ネットワークを介して供給されるアプリケーション画面を表示部906に表示させてもよい。また、映像信号処理部905は、映像データについて、設定に応じて、例えばノイズ除去などの追加的な処理を行ってもよい。さらに、映像信号処理部905は、例えばメニュー、ボタン又はカーソルなどのGUI(Graphical User Interface)の画像を生成し、生成した画像を出力画像に重畳してもよい。 The video signal processing unit 905 reproduces the video data input from the decoder 904 and causes the display unit 906 to display the video. In addition, the video signal processing unit 905 may cause the display unit 906 to display an application screen supplied via a network. Further, the video signal processing unit 905 may perform additional processing such as noise removal on the video data according to the setting. Furthermore, the video signal processing unit 905 may generate a GUI (Graphical User Interface) image such as a menu, a button, or a cursor, and superimpose the generated image on the output image.
 表示部906は、映像信号処理部905から供給される駆動信号により駆動され、表示デバイス(例えば、液晶ディスプレイ、プラズマディスプレイ又はOELD(Organic ElectroLuminescence Display)(有機ELディスプレイ)など)の映像面上に映像又は画像を表示する。 The display unit 906 is driven by a drive signal supplied from the video signal processing unit 905, and displays an image on a video screen of a display device (for example, a liquid crystal display, a plasma display, or an OELD (Organic ElectroLuminescence Display) (organic EL display)). Or an image is displayed.
 音声信号処理部907は、デコーダ904から入力される音声データについてD/A変換及び増幅などの再生処理を行い、スピーカ908から音声を出力させる。また、音声信号処理部907は、音声データについてノイズ除去などの追加的な処理を行ってもよい。 The audio signal processing unit 907 performs reproduction processing such as D / A conversion and amplification on the audio data input from the decoder 904, and outputs audio from the speaker 908. The audio signal processing unit 907 may perform additional processing such as noise removal on the audio data.
 外部インタフェース909は、テレビジョン装置900と外部機器又はネットワークとを接続するためのインタフェースである。例えば、外部インタフェース909を介して受信される映像ストリーム又は音声ストリームが、デコーダ904により復号されてもよい。即ち、外部インタフェース909もまた、画像が符号化されている符号化ストリームを受信する、テレビジョン装置900における伝送手段としての役割を有する。 The external interface 909 is an interface for connecting the television apparatus 900 to an external device or a network. For example, a video stream or an audio stream received via the external interface 909 may be decoded by the decoder 904. That is, the external interface 909 also has a role as a transmission unit in the television apparatus 900 that receives an encoded stream in which an image is encoded.
 制御部910は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、プログラムデータ、EPGデータ、及びネットワークを介して取得されるデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、テレビジョン装置900の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース911から入力される操作信号に応じて、テレビジョン装置900の動作を制御する。 The control unit 910 includes a processor such as a CPU and memories such as a RAM and a ROM. The memory stores a program executed by the CPU, program data, EPG data, data acquired via a network, and the like. For example, the program stored in the memory is read and executed by the CPU when the television apparatus 900 is activated. The CPU executes the program to control the operation of the television device 900 according to an operation signal input from the user interface 911, for example.
 ユーザインタフェース911は、制御部910と接続される。ユーザインタフェース911は、例えば、ユーザがテレビジョン装置900を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース911は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部910へ出力する。 The user interface 911 is connected to the control unit 910. The user interface 911 includes, for example, buttons and switches for the user to operate the television device 900, a remote control signal receiving unit, and the like. The user interface 911 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 910.
 バス912は、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、音声信号処理部907、外部インタフェース909及び制御部910を相互に接続する。 The bus 912 connects the tuner 902, the demultiplexer 903, the decoder 904, the video signal processing unit 905, the audio signal processing unit 907, the external interface 909, and the control unit 910 to each other.
 このように構成されたテレビジョン装置900において、デコーダ904は、上述した実施形態に係る画像復号装置の機能を有する。それにより、テレビジョン装置900での画像の復号に際して、周辺の動きベクトルのうち、時間的に異なる動きベクトルを読み出す際のメモリアクセスを低減することができる。 In the thus configured television apparatus 900, the decoder 904 has the function of the image decoding apparatus according to the above-described embodiment. Thereby, when decoding an image by the television apparatus 900, it is possible to reduce memory access when reading out motion vectors that are temporally different from surrounding motion vectors.
 <5.第5の実施の形態>
 [第2の応用例:携帯電話機]
 図38は、上述した実施形態を適用した携帯電話機の概略的な構成の一例を示している。携帯電話機920は、アンテナ921、通信部922、音声コーデック923、スピーカ924、マイクロホン925、カメラ部926、画像処理部927、多重分離部928、記録再生部929、表示部930、制御部931、操作部932、及びバス933を備える。
<5. Fifth embodiment>
[Second application example: mobile phone]
FIG. 38 shows an example of a schematic configuration of a mobile phone to which the above-described embodiment is applied. A mobile phone 920 includes an antenna 921, a communication unit 922, an audio codec 923, a speaker 924, a microphone 925, a camera unit 926, an image processing unit 927, a demultiplexing unit 928, a recording / reproducing unit 929, a display unit 930, a control unit 931, an operation A portion 932 and a bus 933.
 アンテナ921は、通信部922に接続される。スピーカ924及びマイクロホン925は、音声コーデック923に接続される。操作部932は、制御部931に接続される。バス933は、通信部922、音声コーデック923、カメラ部926、画像処理部927、多重分離部928、記録再生部929、表示部930、及び制御部931を相互に接続する。 The antenna 921 is connected to the communication unit 922. The speaker 924 and the microphone 925 are connected to the audio codec 923. The operation unit 932 is connected to the control unit 931. The bus 933 connects the communication unit 922, the audio codec 923, the camera unit 926, the image processing unit 927, the demultiplexing unit 928, the recording / reproducing unit 929, the display unit 930, and the control unit 931 to each other.
 携帯電話機920は、音声通話モード、データ通信モード、撮影モード及びテレビ電話モードを含む様々な動作モードで、音声信号の送受信、電子メール又は画像データの送受信、画像の撮像、及びデータの記録などの動作を行う。 The mobile phone 920 has various operation modes including a voice call mode, a data communication mode, a shooting mode, and a videophone mode, and is used for sending and receiving voice signals, sending and receiving e-mail or image data, taking images, and recording data. Perform the action.
 音声通話モードにおいて、マイクロホン925により生成されるアナログ音声信号は、音声コーデック923に供給される。音声コーデック923は、アナログ音声信号を音声データへ変換し、変換された音声データをA/D変換し圧縮する。そして、音声コーデック923は、圧縮後の音声データを通信部922へ出力する。通信部922は、音声データを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号を、アンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部922は、受信信号を復調及び復号して音声データを生成し、生成した音声データを音声コーデック923へ出力する。音声コーデック923は、音声データを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック923は、生成した音声信号をスピーカ924に供給して音声を出力させる。 In the voice call mode, the analog voice signal generated by the microphone 925 is supplied to the voice codec 923. The audio codec 923 converts an analog audio signal into audio data, A / D converts the compressed audio data, and compresses it. Then, the audio codec 923 outputs the compressed audio data to the communication unit 922. The communication unit 922 encodes and modulates the audio data and generates a transmission signal. Then, the communication unit 922 transmits the generated transmission signal to a base station (not shown) via the antenna 921. In addition, the communication unit 922 amplifies a radio signal received via the antenna 921 and performs frequency conversion to acquire a received signal. Then, the communication unit 922 demodulates and decodes the received signal to generate audio data, and outputs the generated audio data to the audio codec 923. The audio codec 923 decompresses the audio data and performs D / A conversion to generate an analog audio signal. Then, the audio codec 923 supplies the generated audio signal to the speaker 924 to output audio.
 また、データ通信モードにおいて、例えば、制御部931は、操作部932を介するユーザによる操作に応じて、電子メールを構成する文字データを生成する。また、制御部931は、文字を表示部930に表示させる。また、制御部931は、操作部932を介するユーザからの送信指示に応じて電子メールデータを生成し、生成した電子メールデータを通信部922へ出力する。通信部922は、電子メールデータを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号を、アンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部922は、受信信号を復調及び復号して電子メールデータを復元し、復元した電子メールデータを制御部931へ出力する。制御部931は、表示部930に電子メールの内容を表示させると共に、電子メールデータを記録再生部929の記憶媒体に記憶させる。 Further, in the data communication mode, for example, the control unit 931 generates character data constituting the e-mail in response to an operation by the user via the operation unit 932. In addition, the control unit 931 causes the display unit 930 to display characters. In addition, the control unit 931 generates e-mail data in response to a transmission instruction from the user via the operation unit 932, and outputs the generated e-mail data to the communication unit 922. The communication unit 922 encodes and modulates email data and generates a transmission signal. Then, the communication unit 922 transmits the generated transmission signal to a base station (not shown) via the antenna 921. In addition, the communication unit 922 amplifies a radio signal received via the antenna 921 and performs frequency conversion to acquire a received signal. Then, the communication unit 922 demodulates and decodes the received signal to restore the email data, and outputs the restored email data to the control unit 931. The control unit 931 displays the content of the electronic mail on the display unit 930 and stores the electronic mail data in the storage medium of the recording / reproducing unit 929.
 記録再生部929は、読み書き可能な任意の記憶媒体を有する。例えば、記憶媒体は、RAM又はフラッシュメモリなどの内蔵型の記憶媒体であってもよく、ハードディスク、磁気ディスク、光磁気ディスク、光ディスク、USB(Unallocated Space Bitmap)メモリ、又はメモリカードなどの外部装着型の記憶媒体であってもよい。 The recording / reproducing unit 929 has an arbitrary readable / writable storage medium. For example, the storage medium may be a built-in storage medium such as RAM or flash memory, and is externally mounted such as a hard disk, magnetic disk, magneto-optical disk, optical disk, USB (Unallocated Space Space Bitmap) memory, or memory card. It may be a storage medium.
 また、撮影モードにおいて、例えば、カメラ部926は、被写体を撮像して画像データを生成し、生成した画像データを画像処理部927へ出力する。画像処理部927は、カメラ部926から入力される画像データを符号化し、符号化ストリームを記憶再生部929の記憶媒体に記憶させる。 In the shooting mode, for example, the camera unit 926 images a subject to generate image data, and outputs the generated image data to the image processing unit 927. The image processing unit 927 encodes the image data input from the camera unit 926 and stores the encoded stream in the storage medium of the storage / playback unit 929.
 また、テレビ電話モードにおいて、例えば、多重分離部928は、画像処理部927により符号化された映像ストリームと、音声コーデック923から入力される音声ストリームとを多重化し、多重化したストリームを通信部922へ出力する。通信部922は、ストリームを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号を、アンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。これら送信信号及び受信信号には、符号化ビットストリームが含まれ得る。そして、通信部922は、受信信号を復調及び復号してストリームを復元し、復元したストリームを多重分離部928へ出力する。多重分離部928は、入力されるストリームから映像ストリーム及び音声ストリームを分離し、映像ストリームを画像処理部927、音声ストリームを音声コーデック923へ出力する。画像処理部927は、映像ストリームを復号し、映像データを生成する。映像データは、表示部930に供給され、表示部930により一連の画像が表示される。音声コーデック923は、音声ストリームを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック923は、生成した音声信号をスピーカ924に供給して音声を出力させる。 Further, in the videophone mode, for example, the demultiplexing unit 928 multiplexes the video stream encoded by the image processing unit 927 and the audio stream input from the audio codec 923, and the multiplexed stream is the communication unit 922. Output to. The communication unit 922 encodes and modulates the stream and generates a transmission signal. Then, the communication unit 922 transmits the generated transmission signal to a base station (not shown) via the antenna 921. In addition, the communication unit 922 amplifies a radio signal received via the antenna 921 and performs frequency conversion to acquire a received signal. These transmission signal and reception signal may include an encoded bit stream. Then, the communication unit 922 demodulates and decodes the received signal to restore the stream, and outputs the restored stream to the demultiplexing unit 928. The demultiplexing unit 928 separates the video stream and the audio stream from the input stream, and outputs the video stream to the image processing unit 927 and the audio stream to the audio codec 923. The image processing unit 927 decodes the video stream and generates video data. The video data is supplied to the display unit 930, and a series of images is displayed on the display unit 930. The audio codec 923 decompresses the audio stream and performs D / A conversion to generate an analog audio signal. Then, the audio codec 923 supplies the generated audio signal to the speaker 924 to output audio.
 このように構成された携帯電話機920において、画像処理部927は、上述した実施形態に係る画像符号化装置及び画像復号装置の機能を有する。それにより、携帯電話機920での画像の符号化及び復号に際して、周辺の動きベクトルのうち、時間的に異なる動きベクトルを読み出す際のメモリアクセスを低減することができる。 In the mobile phone 920 configured as described above, the image processing unit 927 has the functions of the image encoding device and the image decoding device according to the above-described embodiment. Accordingly, when the mobile phone 920 encodes and decodes an image, it is possible to reduce memory access when reading out temporally different motion vectors from the surrounding motion vectors.
 <6.第6の実施の形態>
 [第3の応用例:記録再生装置]
 図39は、上述した実施形態を適用した記録再生装置の概略的な構成の一例を示している。記録再生装置940は、例えば、受信した放送番組の音声データ及び映像データを符号化して記録媒体に記録する。また、記録再生装置940は、例えば、他の装置から取得される音声データ及び映像データを符号化して記録媒体に記録してもよい。また、記録再生装置940は、例えば、ユーザの指示に応じて、記録媒体に記録されているデータをモニタ及びスピーカ上で再生する。このとき、記録再生装置940は、音声データ及び映像データを復号する。
<6. Sixth Embodiment>
[Third application example: recording / reproducing apparatus]
FIG. 39 shows an example of a schematic configuration of a recording / reproducing apparatus to which the above-described embodiment is applied. For example, the recording / reproducing device 940 encodes audio data and video data of a received broadcast program and records the encoded data on a recording medium. In addition, the recording / reproducing device 940 may encode audio data and video data acquired from another device and record them on a recording medium, for example. In addition, the recording / reproducing device 940 reproduces data recorded on the recording medium on a monitor and a speaker, for example, in accordance with a user instruction. At this time, the recording / reproducing device 940 decodes the audio data and the video data.
 記録再生装置940は、チューナ941、外部インタフェース942、エンコーダ943、HDD(Hard Disk Drive)944、ディスクドライブ945、セレクタ946、デコーダ947、OSD(On-Screen Display)948、制御部949、及びユーザインタフェース950を備える。 The recording / reproducing apparatus 940 includes a tuner 941, an external interface 942, an encoder 943, an HDD (Hard Disk Drive) 944, a disk drive 945, a selector 946, a decoder 947, an OSD (On-Screen Display) 948, a control unit 949, and a user interface. 950.
 チューナ941は、アンテナ(図示せず)を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ941は、復調により得られた符号化ビットストリームをセレクタ946へ出力する。即ち、チューナ941は、記録再生装置940における伝送手段としての役割を有する。 Tuner 941 extracts a signal of a desired channel from a broadcast signal received via an antenna (not shown), and demodulates the extracted signal. Then, the tuner 941 outputs the encoded bit stream obtained by the demodulation to the selector 946. That is, the tuner 941 has a role as a transmission unit in the recording / reproducing apparatus 940.
 外部インタフェース942は、記録再生装置940と外部機器又はネットワークとを接続するためのインタフェースである。外部インタフェース942は、例えば、IEEE1394インタフェース、ネットワークインタフェース、USBインタフェース、又はフラッシュメモリインタフェースなどであってよい。例えば、外部インタフェース942を介して受信される映像データ及び音声データは、エンコーダ943へ入力される。即ち、外部インタフェース942は、記録再生装置940における伝送手段としての役割を有する。 The external interface 942 is an interface for connecting the recording / reproducing apparatus 940 to an external device or a network. The external interface 942 may be, for example, an IEEE1394 interface, a network interface, a USB interface, or a flash memory interface. For example, video data and audio data received via the external interface 942 are input to the encoder 943. That is, the external interface 942 serves as a transmission unit in the recording / reproducing device 940.
 エンコーダ943は、外部インタフェース942から入力される映像データ及び音声データが符号化されていない場合に、映像データ及び音声データを符号化する。そして、エンコーダ943は、符号化ビットストリームをセレクタ946へ出力する。 The encoder 943 encodes video data and audio data when the video data and audio data input from the external interface 942 are not encoded. Then, the encoder 943 outputs the encoded bit stream to the selector 946.
 HDD944は、映像及び音声などのコンテンツデータが圧縮された符号化ビットストリーム、各種プログラムおよびその他のデータを内部のハードディスクに記録する。また、HDD944は、映像及び音声の再生時に、これらデータをハードディスクから読み出す。 The HDD 944 records an encoded bit stream in which content data such as video and audio is compressed, various programs, and other data on an internal hard disk. Further, the HDD 944 reads out these data from the hard disk when reproducing video and audio.
 ディスクドライブ945は、装着されている記録媒体へのデータの記録及び読み出しを行う。ディスクドライブ945に装着される記録媒体は、例えばDVDディスク(DVD-Video、DVD-RAM、DVD-R、DVD-RW、DVD+R、DVD+RW等)又はBlu-ray(登録商標)ディスクなどであってよい。 The disk drive 945 performs recording and reading of data to and from the mounted recording medium. The recording medium mounted on the disk drive 945 is, for example, a DVD disk (DVD-Video, DVD-RAM, DVD-R, DVD-RW, DVD + R, DVD + RW, etc.) or a Blu-ray (registered trademark) disk. It may be.
 セレクタ946は、映像及び音声の記録時には、チューナ941又はエンコーダ943から入力される符号化ビットストリームを選択し、選択した符号化ビットストリームをHDD944又はディスクドライブ945へ出力する。また、セレクタ946は、映像及び音声の再生時には、HDD944又はディスクドライブ945から入力される符号化ビットストリームをデコーダ947へ出力する。 The selector 946 selects an encoded bit stream input from the tuner 941 or the encoder 943 when recording video and audio, and outputs the selected encoded bit stream to the HDD 944 or the disk drive 945. In addition, the selector 946 outputs the encoded bit stream input from the HDD 944 or the disk drive 945 to the decoder 947 during video and audio reproduction.
 デコーダ947は、符号化ビットストリームを復号し、映像データ及び音声データを生成する。そして、デコーダ947は、生成した映像データをOSD948へ出力する。また、デコーダ904は、生成した音声データを外部のスピーカへ出力する。 The decoder 947 decodes the encoded bit stream and generates video data and audio data. Then, the decoder 947 outputs the generated video data to the OSD 948. The decoder 904 outputs the generated audio data to an external speaker.
 OSD948は、デコーダ947から入力される映像データを再生し、映像を表示する。また、OSD948は、表示する映像に、例えばメニュー、ボタン又はカーソルなどのGUIの画像を重畳してもよい。 OSD 948 reproduces the video data input from the decoder 947 and displays the video. Further, the OSD 948 may superimpose a GUI image such as a menu, a button, or a cursor on the video to be displayed.
 制御部949は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、記録再生装置940の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース950から入力される操作信号に応じて、記録再生装置940の動作を制御する。 The control unit 949 includes a processor such as a CPU and memories such as a RAM and a ROM. The memory stores a program executed by the CPU, program data, and the like. The program stored in the memory is read and executed by the CPU when the recording / reproducing apparatus 940 is activated, for example. The CPU controls the operation of the recording / reproducing apparatus 940 in accordance with an operation signal input from the user interface 950, for example, by executing the program.
 ユーザインタフェース950は、制御部949と接続される。ユーザインタフェース950は、例えば、ユーザが記録再生装置940を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース950は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部949へ出力する。 The user interface 950 is connected to the control unit 949. The user interface 950 includes, for example, buttons and switches for the user to operate the recording / reproducing device 940, a remote control signal receiving unit, and the like. The user interface 950 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 949.
 このように構成された記録再生装置940において、エンコーダ943は、上述した実施形態に係る画像符号化装置の機能を有する。また、デコーダ947は、上述した実施形態に係る画像復号装置の機能を有する。それにより、記録再生装置940での画像の符号化及び復号に際して、周辺の動きベクトルのうち、時間的に異なる動きベクトルを読み出す際のメモリアクセスを低減することができる。 In the thus configured recording / reproducing apparatus 940, the encoder 943 has the function of the image encoding apparatus according to the above-described embodiment. The decoder 947 has the function of the image decoding apparatus according to the above-described embodiment. Thereby, when an image is encoded and decoded by the recording / reproducing apparatus 940, memory access when reading out temporally different motion vectors among peripheral motion vectors can be reduced.
 <7.第7の実施の形態>
 [第4の応用例:撮像装置]
 図40は、上述した実施形態を適用した撮像装置の概略的な構成の一例を示している。撮像装置960は、被写体を撮像して画像を生成し、画像データを符号化して記録媒体に記録する。
<7. Seventh Embodiment>
[Fourth Application Example: Imaging Device]
FIG. 40 illustrates an example of a schematic configuration of an imaging apparatus to which the above-described embodiment is applied. The imaging device 960 images a subject to generate an image, encodes the image data, and records it on a recording medium.
 撮像装置960は、光学ブロック961、撮像部962、信号処理部963、画像処理部964、表示部965、外部インタフェース966、メモリ967、メディアドライブ968、OSD969、制御部970、ユーザインタフェース971、及びバス972を備える。 The imaging device 960 includes an optical block 961, an imaging unit 962, a signal processing unit 963, an image processing unit 964, a display unit 965, an external interface 966, a memory 967, a media drive 968, an OSD 969, a control unit 970, a user interface 971, and a bus. 972.
 光学ブロック961は、撮像部962に接続される。撮像部962は、信号処理部963に接続される。表示部965は、画像処理部964に接続される。ユーザインタフェース971は、制御部970に接続される。バス972は、画像処理部964、外部インタフェース966、メモリ967、メディアドライブ968、OSD969、及び制御部970を相互に接続する。 The optical block 961 is connected to the imaging unit 962. The imaging unit 962 is connected to the signal processing unit 963. The display unit 965 is connected to the image processing unit 964. The user interface 971 is connected to the control unit 970. The bus 972 connects the image processing unit 964, the external interface 966, the memory 967, the media drive 968, the OSD 969, and the control unit 970 to each other.
 光学ブロック961は、フォーカスレンズ及び絞り機構などを有する。光学ブロック961は、被写体の光学像を撮像部962の撮像面に結像させる。撮像部962は、CCD(Charge Coupled Device)又はCMOS(Complementary Metal Oxide Semiconductor)などのイメージセンサを有し、撮像面に結像した光学像を光電変換によって電気信号としての画像信号に変換する。そして、撮像部962は、画像信号を信号処理部963へ出力する。 The optical block 961 includes a focus lens and a diaphragm mechanism. The optical block 961 forms an optical image of the subject on the imaging surface of the imaging unit 962. The imaging unit 962 includes an image sensor such as a CCD (Charge-Coupled Device) or a CMOS (Complementary Metal-Oxide Semiconductor), and converts an optical image formed on the imaging surface into an image signal as an electrical signal by photoelectric conversion. Then, the imaging unit 962 outputs the image signal to the signal processing unit 963.
 信号処理部963は、撮像部962から入力される画像信号に対してニー補正、ガンマ補正、色補正などの種々のカメラ信号処理を行う。信号処理部963は、カメラ信号処理後の画像データを画像処理部964へ出力する。 The signal processing unit 963 performs various camera signal processing such as knee correction, gamma correction, and color correction on the image signal input from the imaging unit 962. The signal processing unit 963 outputs the image data after the camera signal processing to the image processing unit 964.
 画像処理部964は、信号処理部963から入力される画像データを符号化し、符号化データを生成する。そして、画像処理部964は、生成した符号化データを外部インタフェース966又はメディアドライブ968へ出力する。また、画像処理部964は、外部インタフェース966又はメディアドライブ968から入力される符号化データを復号し、画像データを生成する。そして、画像処理部964は、生成した画像データを表示部965へ出力する。また、画像処理部964は、信号処理部963から入力される画像データを表示部965へ出力して画像を表示させてもよい。また、画像処理部964は、OSD969から取得される表示用データを、表示部965へ出力する画像に重畳してもよい。 The image processing unit 964 encodes the image data input from the signal processing unit 963 and generates encoded data. Then, the image processing unit 964 outputs the generated encoded data to the external interface 966 or the media drive 968. The image processing unit 964 also decodes encoded data input from the external interface 966 or the media drive 968 to generate image data. Then, the image processing unit 964 outputs the generated image data to the display unit 965. In addition, the image processing unit 964 may display the image by outputting the image data input from the signal processing unit 963 to the display unit 965. Further, the image processing unit 964 may superimpose display data acquired from the OSD 969 on an image output to the display unit 965.
 OSD969は、例えばメニュー、ボタン又はカーソルなどのGUIの画像を生成して、生成した画像を画像処理部964へ出力する。 The OSD 969 generates a GUI image such as a menu, a button, or a cursor, and outputs the generated image to the image processing unit 964.
 外部インタフェース966は、例えばUSB入出力端子として構成される。外部インタフェース966は、例えば、画像の印刷時に、撮像装置960とプリンタとを接続する。また、外部インタフェース966には、必要に応じてドライブが接続される。ドライブには、例えば、磁気ディスク又は光ディスクなどのリムーバブルメディアが装着され、リムーバブルメディアから読み出されるプログラムが、撮像装置960にインストールされ得る。さらに、外部インタフェース966は、LAN又はインターネットなどのネットワークに接続されるネットワークインタフェースとして構成されてもよい。即ち、外部インタフェース966は、撮像装置960における伝送手段としての役割を有する。 The external interface 966 is configured as a USB input / output terminal, for example. The external interface 966 connects the imaging device 960 and a printer, for example, when printing an image. Further, a drive is connected to the external interface 966 as necessary. For example, a removable medium such as a magnetic disk or an optical disk is attached to the drive, and a program read from the removable medium can be installed in the imaging device 960. Further, the external interface 966 may be configured as a network interface connected to a network such as a LAN or the Internet. That is, the external interface 966 has a role as a transmission unit in the imaging device 960.
 メディアドライブ968に装着される記録媒体は、例えば、磁気ディスク、光磁気ディスク、光ディスク、又は半導体メモリなどの、読み書き可能な任意のリムーバブルメディアであってよい。また、メディアドライブ968に記録媒体が固定的に装着され、例えば、内蔵型ハードディスクドライブ又はSSD(Solid State Drive)のような非可搬性の記憶部が構成されてもよい。 The recording medium mounted on the media drive 968 may be any readable / writable removable medium such as a magnetic disk, a magneto-optical disk, an optical disk, or a semiconductor memory. In addition, a recording medium may be fixedly mounted on the media drive 968, and a non-portable storage unit such as an internal hard disk drive or an SSD (Solid State Drive) may be configured.
 制御部970は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、撮像装置960の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース971から入力される操作信号に応じて、撮像装置960の動作を制御する。 The control unit 970 includes a processor such as a CPU and memories such as a RAM and a ROM. The memory stores a program executed by the CPU, program data, and the like. The program stored in the memory is read and executed by the CPU when the imaging device 960 is activated, for example. For example, the CPU controls the operation of the imaging device 960 according to an operation signal input from the user interface 971 by executing the program.
 ユーザインタフェース971は、制御部970と接続される。ユーザインタフェース971は、例えば、ユーザが撮像装置960を操作するためのボタン及びスイッチなどを有する。ユーザインタフェース971は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部970へ出力する。 The user interface 971 is connected to the control unit 970. The user interface 971 includes, for example, buttons and switches for the user to operate the imaging device 960. The user interface 971 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 970.
 このように構成された撮像装置960において、画像処理部964は、上述した実施形態に係る画像符号化装置及び画像復号装置の機能を有する。それにより、撮像装置960での画像の符号化及び復号に際して、周辺の動きベクトルのうち、時間的に異なる動きベクトルを読み出す際のメモリアクセスを低減することができる。 In the imaging device 960 configured as described above, the image processing unit 964 has the functions of the image encoding device and the image decoding device according to the above-described embodiment. Thereby, when the image is encoded and decoded by the imaging device 960, memory access when reading out temporally different motion vectors from the surrounding motion vectors can be reduced.
 なお、本明細書では、差分量子化パラメータ等の各種情報が、符号化ストリームに多重化されて、符号化側から復号側へ伝送される例について説明した。しかしながら、これら情報を伝送する手法はかかる例に限定されない。例えば、これら情報は、符号化ビットストリームに多重化されることなく、符号化ビットストリームと関連付けられた別個のデータとして伝送され又は記録されてもよい。ここで、「関連付ける」という用語は、ビットストリームに含まれる画像(スライス若しくはブロックなど、画像の一部であってもよい)と当該画像に対応する情報とを復号時にリンクさせ得るようにすることを意味する。即ち、情報は、画像(又はビットストリーム)とは別の伝送路上で伝送されてもよい。また、情報は、画像(又はビットストリーム)とは別の記録媒体(又は同一の記録媒体の別の記録エリア)に記録されてもよい。さらに、情報と画像(又はビットストリーム)とは、例えば、複数フレーム、1フレーム、又はフレーム内の一部分などの任意の単位で互いに関連付けられてよい。 In the present specification, an example in which various types of information such as differential quantization parameters are multiplexed in the encoded stream and transmitted from the encoding side to the decoding side has been described. However, the method for transmitting such information is not limited to such an example. For example, these pieces of information may be transmitted or recorded as separate data associated with the encoded bitstream without being multiplexed into the encoded bitstream. Here, the term “associate” means that an image (which may be a part of an image such as a slice or a block) included in the bitstream and information corresponding to the image can be linked at the time of decoding. Means. That is, information may be transmitted on a transmission path different from that of the image (or bit stream). Information may be recorded on a recording medium (or another recording area of the same recording medium) different from the image (or bit stream). Furthermore, the information and the image (or bit stream) may be associated with each other in an arbitrary unit such as a plurality of frames, one frame, or a part of the frame.
 以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示はかかる例に限定されない。本開示の属する技術の分野における通常の知識を有する者であれば、請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。 The preferred embodiments of the present disclosure have been described in detail above with reference to the accompanying drawings, but the present disclosure is not limited to such examples. It is obvious that a person having ordinary knowledge in the technical field to which the present disclosure belongs can come up with various changes or modifications within the scope of the technical idea described in the claims. Of course, it is understood that these also belong to the technical scope of the present disclosure.
 なお、本技術は以下のような構成も取ることができる。
 (1) 時間相関の予測ベクトルを求める際に算出されるアドレスが示す、画像を分割した分割領域における右下のピクセル位置が、カレント復号単位の領域の外にある場合、前記ピクセル位置を前記カレント復号単位の領域内に戻すように前記アドレスを補正するアドレス補正部と、
 前記アドレス補正部により補正されたアドレスが示す分割領域に対応する動きベクトルを、前記時間相関の予測ベクトルとして設定する設定部と、
 前記設定部により設定された前記時間相関の予測ベクトルを用いて生成される動きベクトルを用いて、ビットストリームを復号して前記画像を生成する復号部と
 を備える画像処理装置。
 (2) 前記設定部は、前記アドレス補正部により補正されたアドレスが示す分割領域に対応する動きベクトルを、前記時間相関の予測ベクトルとして、分割領域毎に動きベクトルを保存するメモリから読み出す
 前記(1)に記載の画像処理装置。
 (3) 前記アドレス補正部は、前記アドレスから1を引いて、前記アドレスを補正する
 前記(1)または(2)に記載の画像処理装置。
 (4) 前記アドレス補正部は、前記右下のピクセル位置のy座標が、前記カレント復号単位領域の外にある場合、前記右下のピクセル位置のy座標を前記カレント復号単位の領域内に引き戻すように前記アドレスを補正する
 前記(1)乃至(3)のいずれかに記載の画像処理装置。
 (5) 画像処理装置が、
 時間相関の予測ベクトルを求める際に算出されるアドレスが示す、画像を分割した分割領域における右下のピクセル位置が、カレント復号単位の領域の外にある場合、前記ピクセル位置を前記カレント復号単位の領域内に戻すように前記アドレスを補正し、補正されたアドレスが示す分割領域に対応する動きベクトルを、前記時間相関の予測ベクトルとして設定し、
 設定された前記時間相関の予測ベクトルを用いて生成される動きベクトルを用いて、ビットストリームを復号して前記画像を生成する
 画像処理方法。
 (6) 時間相関の予測ベクトルを求める際に算出されるアドレスが示す、画像を分割した分割領域における右下のピクセル位置が、カレント符号化単位の領域の外にある場合、前記ピクセル位置を前記カレント符号化単位の領域内に戻すように前記アドレスを補正するアドレス補正部と、
 前記アドレス補正部により補正されたアドレスが示す分割領域に対応する動きベクトルを、前記時間相関の予測ベクトルとして設定する設定部と、
 前記設定部により設定された前記時間相関の予測ベクトルに対応する動きベクトルから予測される予測画像を用いて前記画像を符号化する符号化部と
 を備える画像処理装置。
 (7) 画像処理装置が、
 時間相関の予測ベクトルを求める際に算出されるアドレスが示す、画像を分割した分割領域における右下のピクセル位置が、カレント符号化単位の領域の外にある場合、前記ピクセル位置を前記カレント符号化単位の領域内に引き戻すように前記アドレスを補正し、
 補正されたアドレスが示す分割領域に対応する動きベクトルを、前記時間相関の予測ベクトルとして設定し、
 設定された前記時間相関の予測ベクトルに対応する動きベクトルから予測される予測画像を用いて前記画像を符号化する
 画像処理方法。
 (8) 時間相関の予測ベクトルを求める際に算出される第1のアドレスと、前記第1のアドレスが示す、画像を分割した分割領域の左上のピクセル位置が含まれる予測単位の領域がイントラであった場合に算出される第2のアドレスとが同じである場合に、前記第2のアドレスを、前記分割領域に隣接する隣接分割領域を示すように補正するアドレス補正部と、
 前記アドレス補正部により補正されたアドレスが示す隣接分割領域に対応する動きベクトルを、前記時間相関の予測ベクトルとして設定する設定部と、
 前記設定部により設定された前記時間相関の予測ベクトルを用いて生成される動きベクトルを用いて、ビットストリームを復号して前記画像を生成する復号部と
 を備える画像処理装置。
 (9) 前記設定部は、前記アドレス補正部により補正されたアドレスが示す隣接分割領域に対応する動きベクトルを、前記時間相関の予測ベクトルとして、分割領域毎に動きベクトルを保存するメモリから読み出す
 前記(8)に記載の画像処理装置。
 (10) 前記アドレス補正部は、前記第2のアドレスのx座標に対して±16することで、前記第2のアドレスを補正する
 前記(9)に記載の画像処理装置。
 (11) 画像処理装置が、
 時間相関の予測ベクトルを求める際に算出される第1のアドレスと、前記第1のアドレスが示す、画像を分割した分割領域の左上のピクセル位置が含まれる予測単位の領域がイントラであった場合に算出される第2のアドレスとが同じである場合に、前記第2のアドレスを、前記分割領域に隣接する隣接分割領域を示すように補正し、
 補正されたアドレスが示す隣接分割領域に対応する動きベクトルを、前記時間相関の予測ベクトルとして設定し、
 設定された前記時間相関の予測ベクトルを用いて生成される動きベクトルを用いて、ビットストリームを復号して前記画像を生成する
 画像処理方法。
 (12) 時間相関の予測ベクトルを求める際に算出される第1のアドレスと、前記第1のアドレスが示す、画像を分割した分割領域の左上のピクセル位置が含まれる予測単位の領域がイントラであった場合に算出される第2のアドレスとが同じである場合に、前記第2のアドレスを、前記分割領域に隣接する隣接分割領域を示すように補正するアドレス補正部と、
 前記アドレス補正部により補正されたアドレスが示す隣接分割領域に対応する動きベクトルを、前記時間相関の予測ベクトルとして設定する設定部と、
 前記設定部により設定された前記時間相関の予測ベクトルに対応する動きベクトルから予測される予測画像を用いて前記画像を符号化する符号化部と
 を備える画像処理装置。
 (13) 画像処理装置が、
 時間相関の予測ベクトルを求める際に算出される第1のアドレスと、前記第1のアドレスが示す、画像を分割した分割領域の左上のピクセル位置が含まれる予測単位の領域がイントラであった場合に算出される第2のアドレスとが同じである場合に、前記第2のアドレスを、前記分割領域に隣接する隣接分割領域を示すように補正し、
 補正されたアドレスが示す隣接分割領域に対応する動きベクトルを、前記時間相関の予測ベクトルとして設定し、
 設定された前記時間相関の予測ベクトルに対応する動きベクトルから予測される予測画像を用いて前記画像を符号化する
 画像処理方法。
 (14) 画像を分割したカレント分割領域の左上のピクセル位置が含まれる予測単位の領域がイントラであった場合、前記ピクセル位置に隣接する隣接ピクセル位置が含まれる異なる予測単位の領域の動きベクトル、または、前記カレント分割領域に含まれる他の予測単位の領域の動きベクトルを選択し、選択した動きベクトルを、前記カレント分割領域に対応する動きベクトルとして設定する設定部と、
 前記設定部より設定された前記時間相関の予測ベクトルを用いて生成される動きベクトルを用いて、ビットストリームを復号して前記画像を生成する復号部と
 を備える画像処理装置。
 (15) 前記設定部は、選択した動きベクトルを、前記カレント分割領域に対応する動きベクトルとして、時間相関の予測ベクトルを求める際に用いられる動きベクトルを分割領域毎に保存するメモリに保存する
 前記(14)に記載の画像処理装置。
 (16) 前記隣接ピクセル位置は、前記ピクセル位置に対して、左、左上、または上に隣接しているピクセル位置である
 前記(14)または(15)に記載の画像処理装置。
 (17) 前記設定部は、カレント分割領域の左上のピクセル位置が含まれる予測単位の領域がイントラであった場合、前記ピクセル位置の左に隣接する隣接ピクセル位置が含まれる異なる予測単位の領域の動きベクトルを選択し、
 前記ピクセル位置の左に隣接する隣接ピクセル位置が含まれる予測単位の領域がイントラであった場合、前記ピクセル位置の左上に隣接する隣接ピクセル位置が含まれる異なる予測単位の領域の動きベクトルを選択し、
 前記ピクセル位置の左上に隣接する隣接ピクセル位置が含まれる予測単位の領域がイントラであった場合、前記ピクセル位置の上に隣接する隣接ピクセル位置が含まれる異なる予測単位の領域の動きベクトルを選択する
 前記(14)乃至(16)のいずれかに記載の画像処理装置。
 (18) 画像処理装置が、
 画像を分割したカレント分割領域の左上のピクセル位置が含まれる予測単位の領域がイントラであった場合、前記ピクセル位置に隣接する隣接ピクセル位置が含まれる異なる予測単位の領域の動きベクトル、または、前記カレント分割領域に含まれる他の予測単位の領域の動きベクトルを選択し、選択した動きベクトルを、前記カレント分割領域に対応する動きベクトルとして設定し、
 設定された前記時間相関の予測ベクトルを用いて生成される動きベクトルを用いて、ビットストリームを復号して前記画像を生成する
 画像処理方法。
 (19) 画像を分割したカレント分割領域の左上のピクセル位置が含まれる予測単位の領域がイントラであった場合、前記ピクセル位置に隣接する隣接ピクセル位置が含まれる異なる予測単位の領域の動きベクトル、または、前記カレント分割領域に含まれる他の予測単位の領域の動きベクトルを選択し、選択した動きベクトルを、前記カレント分割領域に対応する動きベクトルとして設定する設定部と、
 前記設定部により設定された前記時間相関の予測ベクトルに対応する動きベクトルから予測される予測画像を用いて前記画像を符号化する符号化部と
 を備える画像処理装置。
 (20) 画像処理装置が、
 画像を分割したカレント分割領域の左上のピクセル位置が含まれる予測単位の領域がイントラであった場合、前記ピクセル位置に隣接する隣接ピクセル位置が含まれる異なる予測単位の領域の動きベクトル、または、前記カレント分割領域に含まれる他の予測単位の領域の動きベクトルを選択し、選択した動きベクトルを、前記カレント分割領域に対応する動きベクトルとして設定し、
 前記設定された前記時間相関の予測ベクトルに対応する動きベクトルから予測される予測画像を用いて前記画像を符号化する
 画像処理方法。
In addition, this technique can also take the following structures.
(1) When the lower right pixel position in the divided region obtained by dividing the image indicated by the address calculated when obtaining the prediction vector of the time correlation is outside the current decoding unit region, the pixel position is An address correction unit for correcting the address so as to return it to the area of the decoding unit;
A setting unit that sets a motion vector corresponding to a divided region indicated by the address corrected by the address correction unit as the prediction vector of the time correlation;
An image processing apparatus comprising: a decoding unit that decodes a bitstream and generates the image using a motion vector generated using the temporal correlation prediction vector set by the setting unit.
(2) The setting unit reads a motion vector corresponding to the divided region indicated by the address corrected by the address correcting unit as a temporal correlation prediction vector from a memory that stores the motion vector for each divided region. The image processing apparatus according to 1).
(3) The image processing apparatus according to (1) or (2), wherein the address correction unit corrects the address by subtracting 1 from the address.
(4) When the y coordinate of the lower right pixel position is outside the current decoding unit area, the address correction unit pulls back the y coordinate of the lower right pixel position into the current decoding unit area. The image processing apparatus according to any one of (1) to (3), wherein the address is corrected as follows.
(5) The image processing apparatus is
When the lower right pixel position in the divided area obtained by dividing the image indicated by the address calculated when obtaining the prediction vector of temporal correlation is outside the current decoding unit area, the pixel position is set to the current decoding unit area. Correcting the address so as to return to the region, and setting a motion vector corresponding to the divided region indicated by the corrected address as the prediction vector of the time correlation,
An image processing method for generating the image by decoding a bitstream using a motion vector generated using the set prediction vector of the time correlation.
(6) When the lower right pixel position in the divided region obtained by dividing the image indicated by the address calculated when obtaining the prediction vector of the time correlation is outside the region of the current coding unit, the pixel position is An address correction unit that corrects the address so as to return to the current encoding unit area;
A setting unit that sets a motion vector corresponding to a divided region indicated by the address corrected by the address correction unit as the prediction vector of the time correlation;
An image processing apparatus comprising: an encoding unit that encodes the image using a prediction image predicted from a motion vector corresponding to the temporal correlation prediction vector set by the setting unit.
(7) The image processing apparatus
When the lower right pixel position in the divided area obtained by dividing the image indicated by the address calculated when obtaining the temporal correlation prediction vector is outside the current encoding unit area, the pixel position is converted to the current encoding. Correct the address to pull back into the unit area,
A motion vector corresponding to the divided region indicated by the corrected address is set as the temporal correlation prediction vector;
An image processing method for encoding the image using a predicted image predicted from a motion vector corresponding to the set temporal correlation prediction vector.
(8) A prediction unit area including a first address calculated when obtaining a prediction vector of temporal correlation and an upper left pixel position of a divided area obtained by dividing the image indicated by the first address is intra. An address correction unit that corrects the second address to indicate an adjacent divided region adjacent to the divided region when the second address calculated in the case is the same;
A setting unit that sets a motion vector corresponding to an adjacent divided region indicated by the address corrected by the address correcting unit as a prediction vector of the time correlation;
An image processing apparatus comprising: a decoding unit that decodes a bitstream and generates the image using a motion vector generated using the temporal correlation prediction vector set by the setting unit.
(9) The setting unit reads a motion vector corresponding to an adjacent divided region indicated by the address corrected by the address correction unit as a temporal correlation prediction vector from a memory that stores a motion vector for each divided region. The image processing apparatus according to (8).
(10) The image processing apparatus according to (9), wherein the address correction unit corrects the second address by performing ± 16 with respect to an x coordinate of the second address.
(11) An image processing apparatus
When the prediction unit region including the first address calculated when obtaining the temporal correlation prediction vector and the upper left pixel position of the divided region obtained by dividing the image indicated by the first address is intra. When the second address calculated in the above is the same, the second address is corrected to indicate an adjacent divided area adjacent to the divided area,
A motion vector corresponding to the adjacent divided region indicated by the corrected address is set as a prediction vector of the time correlation;
An image processing method for generating the image by decoding a bitstream using a motion vector generated using the set prediction vector of the time correlation.
(12) A prediction unit area including a first address calculated when obtaining a prediction vector of time correlation and an upper left pixel position of a divided area obtained by dividing the image indicated by the first address is intra. An address correction unit that corrects the second address to indicate an adjacent divided region adjacent to the divided region when the second address calculated in the case is the same;
A setting unit that sets a motion vector corresponding to an adjacent divided region indicated by the address corrected by the address correcting unit as a prediction vector of the time correlation;
An image processing apparatus comprising: an encoding unit that encodes the image using a prediction image predicted from a motion vector corresponding to the temporal correlation prediction vector set by the setting unit.
(13) The image processing apparatus
When the prediction unit region including the first address calculated when obtaining the temporal correlation prediction vector and the upper left pixel position of the divided region obtained by dividing the image indicated by the first address is intra. When the second address calculated in the above is the same, the second address is corrected to indicate an adjacent divided area adjacent to the divided area,
A motion vector corresponding to the adjacent divided region indicated by the corrected address is set as a prediction vector of the time correlation;
An image processing method for encoding the image using a predicted image predicted from a motion vector corresponding to the set temporal correlation prediction vector.
(14) When the prediction unit region including the upper left pixel position of the current divided region obtained by dividing the image is intra, a motion vector of a different prediction unit region including an adjacent pixel position adjacent to the pixel position; Alternatively, a setting unit that selects a motion vector of a region of another prediction unit included in the current divided region, and sets the selected motion vector as a motion vector corresponding to the current divided region;
An image processing apparatus comprising: a decoding unit that decodes a bitstream and generates the image using a motion vector generated by using the temporal correlation prediction vector set by the setting unit.
(15) The setting unit stores the selected motion vector as a motion vector corresponding to the current divided region in a memory that stores a motion vector used for obtaining a temporal correlation prediction vector for each divided region. The image processing apparatus according to (14).
(16) The image processing device according to (14) or (15), wherein the adjacent pixel position is a pixel position adjacent to the left, upper left, or upper side with respect to the pixel position.
(17) When the prediction unit region including the pixel position at the upper left of the current divided region is intra, the setting unit determines a region of a different prediction unit including an adjacent pixel position adjacent to the left of the pixel position. Select a motion vector,
When a prediction unit area including an adjacent pixel position adjacent to the left of the pixel position is intra, a motion vector of a different prediction unit area including an adjacent pixel position adjacent to the upper left of the pixel position is selected. ,
When a prediction unit region including an adjacent pixel position adjacent to the upper left of the pixel position is an intra, a motion vector of a region of a different prediction unit including an adjacent pixel position adjacent to the pixel position is selected. The image processing apparatus according to any one of (14) to (16).
(18) The image processing apparatus
When the prediction unit region including the upper left pixel position of the current divided region obtained by dividing the image is an intra, the motion vector of a different prediction unit region including an adjacent pixel position adjacent to the pixel position, or the Select a motion vector of another prediction unit region included in the current divided region, set the selected motion vector as a motion vector corresponding to the current divided region,
An image processing method for generating the image by decoding a bitstream using a motion vector generated using the set prediction vector of the time correlation.
(19) When the prediction unit region including the upper left pixel position of the current divided region obtained by dividing the image is intra, a motion vector of a different prediction unit region including an adjacent pixel position adjacent to the pixel position; Or a setting unit that selects a motion vector of a region of another prediction unit included in the current divided region, and sets the selected motion vector as a motion vector corresponding to the current divided region;
An image processing apparatus comprising: an encoding unit that encodes the image using a prediction image predicted from a motion vector corresponding to the temporal correlation prediction vector set by the setting unit.
(20) The image processing apparatus is
When the prediction unit region including the upper left pixel position of the current divided region obtained by dividing the image is an intra, the motion vector of a different prediction unit region including an adjacent pixel position adjacent to the pixel position, or the Select a motion vector of another prediction unit region included in the current divided region, set the selected motion vector as a motion vector corresponding to the current divided region,
An image processing method for encoding the image using a predicted image predicted from a motion vector corresponding to the set temporal correlation prediction vector.
  100 画像符号化装置, 121 動きベクトル差分生成部, 122 動きベクトル保存メモリ, 131 動きベクトル差分生成制御部, 132 時間予測ベクトル生成部, 133 画内予測ベクトル生成部, 134 周辺動きベクトル保存部, 135 最適モード判定部, 136 インター/イントラ判定部, 141 16×16アドレス生成部, 142 16×16アドレス補正部, 143 メモリアクセス制御部, 151 動きベクトル差分生成制御部, 152 時間予測ベクトル生成部, 161 16×16アドレス生成部, 162 16×16アドレス補正部, 171 動きベクトル差分生成制御部, 172 時間予測ベクトル生成部, 173 最適モード判定部, 174 保存ベクトル選択部, 181 16×16アドレス生成部, 200 画像復号装置, 221 動きベクトル生成部, 222 動きベクトル保存メモリ, 231 動きベクトル生成制御部, 232 時間予測ベクトル生成部, 233 画内予測ベクトル生成部, 234 周辺動きベクトル保存部, 235 動きベクトル再構成部, 236 インター/イントラ判定部, 241 16×16アドレス生成部, 242 16×16アドレス補正部, 243 メモリアクセス制御部, 251 動きベクトル生成制御部, 252 時間予測ベクトル生成部, 261 16×16アドレス生成部, 262 16×16アドレス補正部, 271 動きベクトル生成制御部, 272 時間予測ベクトル生成部, 273 動きベクトル再構成部, 274 保存ベクトル選択部, 181 16×16アドレス生成部 100 image encoding device, 121 motion vector difference generation unit, 122 motion vector storage memory, 131 motion vector difference generation control unit, 132 temporal prediction vector generation unit, 133 intra prediction vector generation unit, 134 peripheral motion vector storage unit, 135 Optimal mode determination unit, 136 inter / intra determination unit, 141 16 × 16 address generation unit, 142 16 × 16 address correction unit, 143 memory access control unit, 151 motion vector difference generation control unit, 152 temporal prediction vector generation unit, 161 16 × 16 address generation unit, 162 16 × 16 address correction unit, 171 motion vector difference generation control unit, 172 temporal prediction vector generation unit, 173 optimal mode determination unit, 174 save vector Selection unit, 181 16 × 16 address generation unit, 200 image decoding device, 221 motion vector generation unit, 222 motion vector storage memory, 231 motion vector generation control unit, 232 temporal prediction vector generation unit, 233 intra prediction vector generation unit, 234 peripheral motion vector storage unit, 235 motion vector reconstruction unit, 236 inter / intra determination unit, 241 16 × 16 address generation unit, 242 16 × 16 address correction unit, 243 memory access control unit, 251 motion vector generation control unit, 252 temporal prediction vector generation unit, 261 16 × 16 address generation unit, 262 16 × 16 address correction unit, 271 motion vector generation control unit, 272 temporal prediction vector generation unit, 273 motion vector Reconstruction unit, 274 storage vector selection unit, 181 16 × 16 address generator

Claims (20)

  1.  時間相関の予測ベクトルを求める際に算出されるアドレスが示す、画像を分割した分割領域における右下のピクセル位置が、カレント復号単位の領域の外にある場合、前記ピクセル位置を前記カレント復号単位の領域内に戻すように前記アドレスを補正するアドレス補正部と、
     前記アドレス補正部により補正されたアドレスが示す分割領域に対応する動きベクトルを、前記時間相関の予測ベクトルとして設定する設定部と、
     前記設定部により設定された前記時間相関の予測ベクトルを用いて生成される動きベクトルを用いて、ビットストリームを復号して前記画像を生成する復号部と
     を備える画像処理装置。
    When the lower right pixel position in the divided area obtained by dividing the image indicated by the address calculated when obtaining the prediction vector of temporal correlation is outside the current decoding unit area, the pixel position is set to the current decoding unit area. An address correction unit that corrects the address so as to return it to the area;
    A setting unit that sets a motion vector corresponding to a divided region indicated by the address corrected by the address correction unit as the prediction vector of the time correlation;
    An image processing apparatus comprising: a decoding unit that decodes a bitstream and generates the image using a motion vector generated using the temporal correlation prediction vector set by the setting unit.
  2.  前記設定部は、前記アドレス補正部により補正されたアドレスが示す分割領域に対応する動きベクトルを、前記時間相関の予測ベクトルとして、分割領域毎に動きベクトルを保存するメモリから読み出す
     請求項1に記載の画像処理装置。
    The said setting part reads the motion vector corresponding to the division area which the address correct | amended by the said address correction | amendment part shows as a prediction vector of the said time correlation from the memory which preserve | saves a motion vector for every division area. Image processing apparatus.
  3.  前記アドレス補正部は、前記アドレスから1を引いて、前記アドレスを補正する
     請求項2に記載の画像処理装置。
    The image processing apparatus according to claim 2, wherein the address correction unit corrects the address by subtracting 1 from the address.
  4.  前記アドレス補正部は、前記右下のピクセル位置のy座標が、前記カレント復号単位領域の外にある場合、前記右下のピクセル位置のy座標を前記カレント復号単位の領域内に戻すように前記アドレスを補正する
     請求項1に記載の画像処理装置。
    When the y coordinate of the lower right pixel position is outside the current decoding unit area, the address correction unit returns the y coordinate of the lower right pixel position to the current decoding unit area. The image processing apparatus according to claim 1, wherein the address is corrected.
  5.  画像処理装置が、
     時間相関の予測ベクトルを求める際に算出されるアドレスが示す、画像を分割した分割領域における右下のピクセル位置が、カレント復号単位の領域の外にある場合、前記ピクセル位置を前記カレント復号単位の領域内に戻すように前記アドレスを補正し、
     補正されたアドレスが示す分割領域に対応する動きベクトルを、前記時間相関の予測ベクトルとして設定し、
     設定された前記時間相関の予測ベクトルを用いて生成される動きベクトルを用いて、ビットストリームを復号して前記画像を生成する
     画像処理方法。
    The image processing device
    When the lower right pixel position in the divided area obtained by dividing the image indicated by the address calculated when obtaining the prediction vector of temporal correlation is outside the current decoding unit area, the pixel position is set to the current decoding unit area. Correct the address to return to the area,
    A motion vector corresponding to the divided region indicated by the corrected address is set as the temporal correlation prediction vector;
    An image processing method for generating the image by decoding a bitstream using a motion vector generated using the set prediction vector of the time correlation.
  6.  時間相関の予測ベクトルを求める際に算出されるアドレスが示す、画像を分割した分割領域における右下のピクセル位置が、カレント符号化単位の領域の外にある場合、前記ピクセル位置を前記カレント符号化単位の領域内に戻すように前記アドレスを補正するアドレス補正部と、
     前記アドレス補正部により補正されたアドレスが示す分割領域に対応する動きベクトルを、前記時間相関の予測ベクトルとして設定する設定部と、
     前記設定部により設定された前記時間相関の予測ベクトルに対応する動きベクトルから予測される予測画像を用いて前記画像を符号化する符号化部と
     を備える画像処理装置。
    When the lower right pixel position in the divided area obtained by dividing the image indicated by the address calculated when obtaining the temporal correlation prediction vector is outside the current encoding unit area, the pixel position is converted to the current encoding. An address correction unit that corrects the address so as to return it to the unit area;
    A setting unit that sets a motion vector corresponding to a divided region indicated by the address corrected by the address correction unit as the prediction vector of the time correlation;
    An image processing apparatus comprising: an encoding unit that encodes the image using a prediction image predicted from a motion vector corresponding to the temporal correlation prediction vector set by the setting unit.
  7.  画像処理装置が、
     時間相関の予測ベクトルを求める際に算出されるアドレスが示す、画像を分割した分割領域における右下のピクセル位置が、カレント符号化単位の領域の外にある場合、前記ピクセル位置を前記カレント符号化単位の領域内に引き戻すように前記アドレスを補正し、
     補正されたアドレスが示す分割領域に対応する動きベクトルを、前記時間相関の予測ベクトルとして設定し、
     設定された前記時間相関の予測ベクトルに対応する動きベクトルから予測される予測画像を用いて前記画像を符号化する
     画像処理方法。
    The image processing device
    When the lower right pixel position in the divided area obtained by dividing the image indicated by the address calculated when obtaining the temporal correlation prediction vector is outside the current encoding unit area, the pixel position is converted to the current encoding. Correct the address to pull back into the unit area,
    A motion vector corresponding to the divided region indicated by the corrected address is set as the temporal correlation prediction vector;
    An image processing method for encoding the image using a predicted image predicted from a motion vector corresponding to the set temporal correlation prediction vector.
  8.  時間相関の予測ベクトルを求める際に算出される第1のアドレスと、前記第1のアドレスが示す、画像を分割した分割領域の左上のピクセル位置が含まれる予測単位の領域がイントラであった場合に算出される第2のアドレスとが同じである場合に、前記第2のアドレスを、前記分割領域に隣接する隣接分割領域を示すように補正するアドレス補正部と、
     前記アドレス補正部により補正されたアドレスが示す隣接分割領域に対応する動きベクトルを、前記時間相関の予測ベクトルとして設定する設定部と、
     前記設定部により設定された前記時間相関の予測ベクトルを用いて生成される動きベクトルを用いて、ビットストリームを復号して前記画像を生成する復号部と
     を備える画像処理装置。
    When the prediction unit region including the first address calculated when obtaining the temporal correlation prediction vector and the upper left pixel position of the divided region obtained by dividing the image indicated by the first address is intra. An address correction unit that corrects the second address so as to indicate an adjacent divided area adjacent to the divided area,
    A setting unit that sets a motion vector corresponding to an adjacent divided region indicated by the address corrected by the address correcting unit as a prediction vector of the time correlation;
    An image processing apparatus comprising: a decoding unit that decodes a bitstream and generates the image using a motion vector generated using the temporal correlation prediction vector set by the setting unit.
  9.  前記設定部は、前記アドレス補正部により補正されたアドレスが示す隣接分割領域に対応する動きベクトルを、前記時間相関の予測ベクトルとして、分割領域毎に動きベクトルを保存するメモリから読み出す
     請求項8に記載の画像処理装置。
    The said setting part reads the motion vector corresponding to the adjacent division area which the address correct | amended by the said address correction | amendment part shows as a prediction vector of the said time correlation from the memory which preserve | saves a motion vector for every division area. The image processing apparatus described.
  10.  前記アドレス補正部は、前記第2のアドレスのx座標に対して±16することで、前記第2のアドレスを補正する
     請求項9に記載の画像処理装置。
    The image processing apparatus according to claim 9, wherein the address correction unit corrects the second address by performing ± 16 with respect to an x coordinate of the second address.
  11.  画像処理装置が、
     時間相関の予測ベクトルを求める際に算出される第1のアドレスと、前記第1のアドレスが示す、画像を分割した分割領域の左上のピクセル位置が含まれる予測単位の領域がイントラであった場合に算出される第2のアドレスとが同じである場合に、前記第2のアドレスを、前記分割領域に隣接する隣接分割領域を示すように補正し、
     補正されたアドレスが示す隣接分割領域に対応する動きベクトルを、前記時間相関の予測ベクトルとして設定し、
     設定された前記時間相関の予測ベクトルを用いて生成される動きベクトルを用いて、ビットストリームを復号して前記画像を生成する
     画像処理方法。
    The image processing device
    When the prediction unit region including the first address calculated when obtaining the temporal correlation prediction vector and the upper left pixel position of the divided region obtained by dividing the image indicated by the first address is intra. When the second address calculated in the above is the same, the second address is corrected to indicate an adjacent divided area adjacent to the divided area,
    A motion vector corresponding to the adjacent divided region indicated by the corrected address is set as a prediction vector of the time correlation;
    An image processing method for generating the image by decoding a bitstream using a motion vector generated using the set prediction vector of the time correlation.
  12.  時間相関の予測ベクトルを求める際に算出される第1のアドレスと、前記第1のアドレスが示す、画像を分割した分割領域の左上のピクセル位置が含まれる予測単位の領域がイントラであった場合に算出される第2のアドレスとが同じである場合に、前記第2のアドレスを、前記分割領域に隣接する隣接分割領域を示すように補正するアドレス補正部と、
     前記アドレス補正部により補正されたアドレスが示す隣接分割領域に対応する動きベクトルを、前記時間相関の予測ベクトルとして設定する設定部と、
     前記設定部により設定された前記時間相関の予測ベクトルに対応する動きベクトルから予測される予測画像を用いて前記画像を符号化する符号化部と
     を備える画像処理装置。
    When the prediction unit region including the first address calculated when obtaining the temporal correlation prediction vector and the upper left pixel position of the divided region obtained by dividing the image indicated by the first address is intra. An address correction unit that corrects the second address so as to indicate an adjacent divided area adjacent to the divided area,
    A setting unit that sets a motion vector corresponding to an adjacent divided region indicated by the address corrected by the address correcting unit as a prediction vector of the time correlation;
    An image processing apparatus comprising: an encoding unit that encodes the image using a prediction image predicted from a motion vector corresponding to the temporal correlation prediction vector set by the setting unit.
  13.  画像処理装置が、
     時間相関の予測ベクトルを求める際に算出される第1のアドレスと、前記第1のアドレスが示す、画像を分割した分割領域の左上のピクセル位置が含まれる予測単位の領域がイントラであった場合に算出される第2のアドレスとが同じである場合に、前記第2のアドレスを、前記分割領域に隣接する隣接分割領域を示すように補正し、
     補正されたアドレスが示す隣接分割領域に対応する動きベクトルを、前記時間相関の予測ベクトルとして設定し、
     設定された前記時間相関の予測ベクトルに対応する動きベクトルから予測される予測画像を用いて前記画像を符号化する
     画像処理方法。
    The image processing device
    When the prediction unit region including the first address calculated when obtaining the temporal correlation prediction vector and the upper left pixel position of the divided region obtained by dividing the image indicated by the first address is intra. When the second address calculated in the above is the same, the second address is corrected to indicate an adjacent divided area adjacent to the divided area,
    A motion vector corresponding to the adjacent divided region indicated by the corrected address is set as a prediction vector of the time correlation;
    An image processing method for encoding the image using a predicted image predicted from a motion vector corresponding to the set temporal correlation prediction vector.
  14.  画像を分割したカレント分割領域の左上のピクセル位置が含まれる予測単位の領域がイントラであった場合、前記ピクセル位置に隣接する隣接ピクセル位置が含まれる異なる予測単位の領域の動きベクトル、または、前記カレント分割領域に含まれる他の予測単位の領域の動きベクトルを選択し、選択した動きベクトルを、前記カレント分割領域に対応する動きベクトルとして設定する設定部と、
     前記設定部により設定された前記時間相関の予測ベクトルを用いて生成される動きベクトルを用いて、ビットストリームを復号して前記画像を生成する復号部と
     を備える画像処理装置。
    When the prediction unit region including the upper left pixel position of the current divided region obtained by dividing the image is an intra, the motion vector of a different prediction unit region including an adjacent pixel position adjacent to the pixel position, or the A setting unit that selects a motion vector of a region of another prediction unit included in the current divided region, and sets the selected motion vector as a motion vector corresponding to the current divided region;
    An image processing apparatus comprising: a decoding unit that decodes a bitstream and generates the image using a motion vector generated using the temporal correlation prediction vector set by the setting unit.
  15.  前記設定部は、選択した動きベクトルを、前記カレント分割領域に対応する動きベクトルとして、時間相関の予測ベクトルを求める際に用いられる動きベクトルを分割領域毎に保存するメモリに保存する
     請求項14に記載の画像処理装置。
    The setting unit stores the selected motion vector as a motion vector corresponding to the current divided region in a memory that stores a motion vector used for obtaining a temporal correlation prediction vector for each divided region. The image processing apparatus described.
  16.  前記隣接ピクセル位置は、前記ピクセル位置に対して、左、左上、または上に隣接しているピクセル位置である
     請求項15に記載の画像処理装置。
    The image processing device according to claim 15, wherein the adjacent pixel position is a pixel position adjacent to the left, upper left, or upper side with respect to the pixel position.
  17.  前記設定部は、カレント分割領域の左上のピクセル位置が含まれる予測単位の領域がイントラであった場合、前記ピクセル位置の左に隣接する隣接ピクセル位置が含まれる異なる予測単位の領域の動きベクトルを選択し、
     前記ピクセル位置の左に隣接する隣接ピクセル位置が含まれる予測単位の領域がイントラであった場合、前記ピクセル位置の左上に隣接する隣接ピクセル位置が含まれる異なる予測単位の領域の動きベクトルを選択し、
     前記ピクセル位置の左上に隣接する隣接ピクセル位置が含まれる予測単位の領域がイントラであった場合、前記ピクセル位置の上に隣接する隣接ピクセル位置が含まれる異なる予測単位の領域の動きベクトルを選択する
     請求項16に規制の画像処理装置。
    When the prediction unit region including the upper left pixel position of the current divided region is intra, the setting unit calculates a motion vector of a different prediction unit region including an adjacent pixel position adjacent to the left of the pixel position. Selected,
    When a prediction unit area including an adjacent pixel position adjacent to the left of the pixel position is intra, a motion vector of a different prediction unit area including an adjacent pixel position adjacent to the upper left of the pixel position is selected. ,
    If a prediction unit region including an adjacent pixel position adjacent to the upper left of the pixel position is intra, a motion vector of a region of a different prediction unit including an adjacent pixel position adjacent to the pixel position is selected. The image processing apparatus regulated in claim 16.
  18.  画像処理装置が、
     画像を分割したカレント分割領域の左上のピクセル位置が含まれる予測単位の領域がイントラであった場合、前記ピクセル位置に隣接する隣接ピクセル位置が含まれる異なる予測単位の領域の動きベクトル、または、前記カレント分割領域に含まれる他の予測単位の領域の動きベクトルを選択し、選択した動きベクトルを、前記カレント分割領域に対応する動きベクトルとして設定し、
     設定された前記時間相関の予測ベクトルを用いて生成される動きベクトルを用いて、ビットストリームを復号して前記画像を生成する
     画像処理方法。
    The image processing device
    When the prediction unit region including the upper left pixel position of the current divided region obtained by dividing the image is an intra, the motion vector of a different prediction unit region including an adjacent pixel position adjacent to the pixel position, or the Select a motion vector of another prediction unit region included in the current divided region, set the selected motion vector as a motion vector corresponding to the current divided region,
    An image processing method for generating the image by decoding a bitstream using a motion vector generated using the set prediction vector of the time correlation.
  19.  画像を分割したカレント分割領域の左上のピクセル位置が含まれる予測単位の領域がイントラであった場合、前記ピクセル位置に隣接する隣接ピクセル位置が含まれる異なる予測単位の領域の動きベクトル、または、前記カレント分割領域に含まれる他の予測単位の領域の動きベクトルを選択し、選択した動きベクトルを、前記カレント分割領域に対応する動きベクトルとして設定する設定部と、
     前記設定部により設定された前記時間相関の予測ベクトルに対応する動きベクトルから予測される予測画像を用いて前記画像を符号化する符号化部と
     を備える画像処理装置。
    When the prediction unit region including the upper left pixel position of the current divided region obtained by dividing the image is an intra, the motion vector of a different prediction unit region including an adjacent pixel position adjacent to the pixel position, or the A setting unit that selects a motion vector of a region of another prediction unit included in the current divided region, and sets the selected motion vector as a motion vector corresponding to the current divided region;
    An image processing apparatus comprising: an encoding unit that encodes the image using a prediction image predicted from a motion vector corresponding to the temporal correlation prediction vector set by the setting unit.
  20.  画像処理装置が、
     画像を分割したカレント分割領域の左上のピクセル位置が含まれる予測単位の領域がイントラであった場合、前記ピクセル位置に隣接する隣接ピクセル位置が含まれる異なる予測単位の領域の動きベクトル、または、前記カレント分割領域に含まれる他の予測単位の領域の動きベクトルを選択し、選択した動きベクトルを、前記カレント分割領域に対応する動きベクトルとして設定し、
     設定された前記時間相関の予測ベクトルに対応する動きベクトルから予測される予測画像を用いて前記画像を符号化する
     画像処理方法。
    The image processing device
    When the prediction unit region including the upper left pixel position of the current divided region obtained by dividing the image is an intra, the motion vector of a different prediction unit region including an adjacent pixel position adjacent to the pixel position, or the Select a motion vector of another prediction unit region included in the current divided region, set the selected motion vector as a motion vector corresponding to the current divided region,
    An image processing method for encoding the image using a predicted image predicted from a motion vector corresponding to the set temporal correlation prediction vector.
PCT/JP2012/067718 2011-07-28 2012-07-11 Image processing apparatus and method WO2013015118A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2011-165574 2011-07-28
JP2011165574A JP2013030978A (en) 2011-07-28 2011-07-28 Image processing device and method

Publications (1)

Publication Number Publication Date
WO2013015118A1 true WO2013015118A1 (en) 2013-01-31

Family

ID=47600970

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/067718 WO2013015118A1 (en) 2011-07-28 2012-07-11 Image processing apparatus and method

Country Status (2)

Country Link
JP (1) JP2013030978A (en)
WO (1) WO2013015118A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113170103B (en) * 2018-12-07 2024-03-15 松下电器(美国)知识产权公司 Encoding device, decoding device, encoding method, and decoding method

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0220988A (en) * 1988-07-08 1990-01-24 Fujitsu Ltd Moving vector detection system for animation encoding device
JP2004040575A (en) * 2002-07-04 2004-02-05 Sony Corp Motion-compensating unit

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0220988A (en) * 1988-07-08 1990-01-24 Fujitsu Ltd Moving vector detection system for animation encoding device
JP2004040575A (en) * 2002-07-04 2004-02-05 Sony Corp Motion-compensating unit

Non-Patent Citations (9)

* Cited by examiner, † Cited by third party
Title
BIN LI ET AL.: "On motion information compression", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11 5TH MEETING, March 2011 (2011-03-01), GENEVA, CH *
EDOUARD FRANCOIS ET AL.: "On memory compression for motion vector prediction", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11 5TH MEETING, March 2011 (2011-03-01), GENEVA, CH *
IL-KOO KIM ET AL.: "Improved motion vector decimation", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11 5TH MEETING, March 2011 (2011-03-01), GENEVA, CH *
SEUNGWOOK PARK ET AL.: "Modifications of temporal mv memory compression and temporal mv predictor", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11 5TH MEETING, March 2011 (2011-03-01), GENEVA, CH *
SHIGERU FUKUSHIMA ET AL.: "Partition size based selection for motion vector compression", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11 5TH MEETING, March 2011 (2011-03-01), GENEVA, CH *
SUNG-CHANG LIM ET AL.: "Dynamic range restriction of temporal motion vector", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11 5TH MEETING, March 2011 (2011-03-01), GENEVA, CH *
TAICHIRO SHIODERA ET AL.: "Modified motion vector memory compression", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11 5TH MEETING, March 2011 (2011-03-01), GENEVA, CH *
TOSHIYASU SUGIO ET AL.: "Modified motion vector compression method", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11 5TH MEETING, March 2011 (2011-03-01), GENEVA, CH *
XUN GUO ET AL.: "Motion Vector Decimation for Temporal Prediction", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11 5TH MEETING, March 2011 (2011-03-01), GENEVA, CH *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113170103B (en) * 2018-12-07 2024-03-15 松下电器(美国)知识产权公司 Encoding device, decoding device, encoding method, and decoding method

Also Published As

Publication number Publication date
JP2013030978A (en) 2013-02-07

Similar Documents

Publication Publication Date Title
JP5741076B2 (en) Image processing apparatus and image processing method
JP5979405B2 (en) Image processing apparatus and method
JP6274103B2 (en) Image processing apparatus and method
JP2018057009A (en) Image processing device, method, and program
JP2013150173A (en) Image processing apparatus and method
US20230247217A1 (en) Image processing apparatus and method
JP5982734B2 (en) Image processing apparatus and method
JP6316346B2 (en) Image processing apparatus, image processing method, program, and recording medium
WO2012176684A1 (en) Image processing device and method
JP2013012995A (en) Image processing device and method
WO2013065570A1 (en) Image processing device and method
US20140092979A1 (en) Image processing apparatus and method
WO2014050731A1 (en) Image processing device and method
JPWO2013108688A1 (en) Image processing apparatus and method
WO2014103774A1 (en) Image processing device and method
WO2012173022A1 (en) Image processing device and method
WO2013065567A1 (en) Image processing device and method
WO2013015118A1 (en) Image processing apparatus and method
JP2013085096A (en) Image processing device and method
WO2014141899A1 (en) Image processing device and method
JP6217997B2 (en) Image processing apparatus and method
JP2018029347A (en) Image processing apparatus and method
WO2013002105A1 (en) Image processing device and method
JP2019146225A (en) Image processing device and method
JP2013012996A (en) Image processing device and method

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

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

Country of ref document: EP

Kind code of ref document: A1