WO2015145504A1 - 画像復号装置、画像復号方法、及び集積回路 - Google Patents

画像復号装置、画像復号方法、及び集積回路 Download PDF

Info

Publication number
WO2015145504A1
WO2015145504A1 PCT/JP2014/005790 JP2014005790W WO2015145504A1 WO 2015145504 A1 WO2015145504 A1 WO 2015145504A1 JP 2014005790 W JP2014005790 W JP 2014005790W WO 2015145504 A1 WO2015145504 A1 WO 2015145504A1
Authority
WO
WIPO (PCT)
Prior art keywords
unit
prediction
image
size
processing
Prior art date
Application number
PCT/JP2014/005790
Other languages
English (en)
French (fr)
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 株式会社ソシオネクスト
Priority to CN201480077416.1A priority Critical patent/CN106134192B/zh
Priority to JP2016509615A priority patent/JP6569665B2/ja
Publication of WO2015145504A1 publication Critical patent/WO2015145504A1/ja
Priority to US15/274,877 priority patent/US10306255B2/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/423Methods 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 characterised by memory arrangements
    • H04N19/426Methods 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 characterised by memory arrangements using memory downsizing methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Definitions

  • the present disclosure relates to an image decoding device and an image decoding method for decoding an encoded stream encoded using a prediction process.
  • the H.265 standard is a conventional encoding standard, H.264.
  • the encoding unit block size is variable with respect to the H.264 standard.
  • the image encoding apparatus according to this technique can also encode with a block size larger than a macroblock (16 ⁇ 16 pixels) which is an encoding unit of the conventional standard. It is possible to encode.
  • H.265 The main profile of the H.265 standard defines a maximum of 64 ⁇ 64 pixel blocks. Furthermore, one picture may be encoded in units of slices having a plurality of CTUs. Note that FIG. 22A shows an example in which one picture is composed of one slice.
  • intra prediction and inter prediction are performed by dividing the CU into blocks called PUs (Prediction Units, prediction units).
  • FIG. An example of division into CU, PU, and TU based on the H.265 standard is shown. Since CTU indicates the maximum CU before quadtree division, it is set to CU hierarchy 0. Each time the quadtree is divided, it is possible to recursively divide into CU hierarchy 1, CU hierarchy 2, and the like.
  • TU can also perform quadtree partitioning recursively within the CU, similar to CU partitioning within a CTU.
  • FIG. It is a figure which shows the structural example of the encoding stream below CU layer data in H.265 standard.
  • FIG. 24A shows the configuration of the CU, PU, and TU.
  • CU and PU indicate a configuration including 64 ⁇ 64 pixel blocks
  • TU indicates an example including four blocks of 32 ⁇ 32.
  • FIG. 24B It is a figure which shows the structural example of the encoding stream below CU layer data in H.265. Note that in FIG. 24B, only symbols necessary for the following description are simply described. It is described in the H.265 standard.
  • the coding unit layer data corresponding to the coding unit shown in FIG. 24B includes a CU division flag and CU data (coding unit data).
  • this CU division flag is “1”, it indicates that the encoding unit is divided into four, and when it is “0”, it indicates that the encoding unit is not divided into four.
  • the PU data includes a flag indicating a reference image (also referred to as a reference index) and information necessary for inter prediction, in addition to a motion vector or an in-plane prediction mode.
  • the TU layer data 0 indicates the TU layer 0 indicating the highest layer, and includes a TU partition flag and TU layer data 1 in the same manner as the CU data.
  • this TU partition flag indicates that the conversion unit is divided into four when it is “1”, and indicates that the conversion unit is not divided into four when it is “0”.
  • FIG. It is a figure which shows PU structure which can be selected for every CU structure in the inter prediction of H.265 standard.
  • 64 ⁇ 64 CU 64 ⁇ 64 PU, 64 ⁇ 32 PU, 32 ⁇ 64 PU, 32 ⁇ 32 PU, 64 ⁇ 16 PU, 64 ⁇ 48 PU, 16 ⁇ 64 PU, 48 ⁇ 64 PU are determined by PartMode. Selected.
  • a flag indicating a motion vector or a reference image (also referred to as a reference index) is specified in the case of inter prediction, and an in-plane prediction mode is specified in the case of intra prediction.
  • FIG. It is a figure which shows the TU structure which can be selected by H.265 standard. Specifically, it consists of 32 ⁇ 32 TU, 16 ⁇ 16 TU, 8 ⁇ 8 TU, and 4 ⁇ 4 TU ⁇ ⁇ , all of which are square.
  • FIG. 27 is a diagram showing an outline of motion compensation processing.
  • the motion compensation process extracts a part of a previously decoded picture indicated by a motion vector and a reference index decoded from an encoded stream, and performs a filter operation to obtain a predicted image. It is a process to generate. H.
  • the maximum 8 TAP filter is used for the filter calculation of the motion compensation process.
  • the reference image extracted from the reference picture is 71 ⁇ 71 pixels.
  • FIG. 27B shows a case where the size of the prediction unit to be predicted is 16 ⁇ 16 pixels.
  • the reference image extracted from the reference picture is 23 ⁇ 23 pixels as in the case of 64 ⁇ 64 PU. Note that when the motion vector indicates an integer position, filter processing is not necessary for the reference image of the prediction unit, and therefore the size of the required reference image may be the same as the size of the prediction unit.
  • the maximum prediction is performed in units of macroblocks.
  • a maximum of 23 ⁇ 23 pixels (529 pixels) is required for a prediction unit of 16 ⁇ 16 pixels (256 pixels) of the H.265 standard.
  • the reference image is acquired with a maximum of 71 ⁇ 71 pixels (5041 pixels) for a prediction unit of 64 ⁇ 64 pixels (4096 pixels). That is, the data size required for one prediction unit is about 9.5 times, and when a reference picture is acquired from an external memory (for example, an external SDRAM), the time for occupying the external memory bus is about 9.5 times.
  • an external memory for example, an external SDRAM
  • Patent Document 2 when the prediction unit PU is divided at the edge of the transform unit TU, since the decoding process of the prediction unit depends on the size of the transform unit, the decoding process of the prediction unit is the size of the transform unit. However, there is a problem that the decoding process of the prediction unit is delayed since the process cannot be started. H. In the H.265 standard, the size of the conversion unit cannot be determined unless the decoding process proceeds to the lowest layer of the TU layer.
  • the larger the prediction unit the larger the circuit area for performing the prediction process.
  • the prediction unit is divided according to the size of the conversion unit and the prediction process is performed, there is a problem that the process cannot be started until the size of the conversion unit is determined. That is, the prediction process is delayed and the prediction process cannot be operated at high speed.
  • the present disclosure increases the external memory bandwidth without occupying the external memory bus when decoding the encoded stream encoded using the prediction process in the prediction unit. It is an object of the present invention to provide an image decoding apparatus and method capable of reducing the circuit area at high speed without performing decoding processing.
  • the encoding unit includes one or more prediction units as a unit of prediction processing, and includes one or more conversion units as a unit of frequency conversion processing, An encoded stream encoded by an encoding process including a prediction process for one or more prediction units and a frequency conversion process for the one or more conversion units is decoded.
  • a dividing unit that divides the prediction unit into a plurality of blocks, and the prediction unit For each block obtained by dividing, a prediction image generation unit that generates a prediction image by performing a decoding process on the prediction image of the prediction unit, and a prediction image generated by the prediction image generation unit are used.
  • Image restoration means for restoring an image.
  • the size of the prediction unit can be suppressed by dividing the prediction unit regardless of the size of the conversion unit.
  • the decoding process can be executed without occupying the external memory bus, without increasing the external memory bandwidth, and without further increasing the area of the prediction processing circuit.
  • the dividing means may divide into the predetermined size or less.
  • the dividing unit divides one block including all the one or more prediction units constituting the encoding unit into four blocks having the same size, and each of the divided blocks is divided. You may divide recursively until it becomes below the size preset in the means.
  • one block including one or more prediction units is divided into four blocks of the same size.
  • the size of the prediction unit can be suppressed by dividing the block into blocks and recursively dividing each of the divided blocks until a predetermined size or less is reached.
  • the decoding process can be executed without occupying the external memory bus, without increasing the external memory bandwidth, and without further increasing the area of the prediction processing circuit.
  • the predicted image generation means may generate a predicted image recursively and in Z order in the blocks recursively divided by the dividing means.
  • one block in which one or more prediction units are grouped into four blocks having the same size Decoding is performed by recursively dividing each divided block until it becomes equal to or smaller than a preset size, and recursively dividing the block to generate a prediction image recursively and in Z order. Can be executed at high speed.
  • the decoding process can be executed at high speed without occupying the external memory bus, without increasing the external memory bandwidth, and without further increasing the area of the prediction processing circuit.
  • the division unit may have a size preset in the division unit of 16 pixels ⁇ 16 pixels.
  • the size of the prediction unit is suppressed by dividing the prediction unit into 16 ⁇ 16 pixels or less regardless of the size of the conversion unit. be able to.
  • the decoding process can be executed without occupying the external memory bus, without increasing the external memory bandwidth, and without further increasing the area of the prediction processing circuit.
  • the predicted image generation means may acquire image data decoded in the past and generate a predicted image.
  • the size of the conversion unit can be increased even for a prediction unit that exceeds a preset size. Regardless of the size, the size of the prediction unit can be reduced by dividing the prediction unit.
  • the decoding process can be executed without occupying the external memory bus, without increasing the external memory bandwidth, and without further increasing the area of the prediction processing circuit.
  • the predicted image generation means may acquire image data decoded in the past from an external memory and generate a predicted image.
  • the decoding process can be executed without occupying the external memory bus, without increasing the external memory bandwidth, and without further increasing the area of the prediction processing circuit.
  • the predicted image generation means may generate a predicted image by performing motion compensation processing using the motion vector of the prediction unit from previously decoded image data.
  • the size of the prediction unit can be suppressed by dividing the prediction unit regardless of the size of the conversion unit.
  • the decoding process can be executed without occupying the external memory bus, without increasing the external memory bandwidth, and without further increasing the area of the prediction processing circuit.
  • the image restoration means may restore the image by adding the residual images subjected to the inverse frequency conversion process.
  • the size of the prediction unit can be suppressed by dividing the prediction unit.
  • the decoding process can be executed without occupying the external memory bus, without increasing the external memory bandwidth, and without further increasing the area of the prediction processing circuit.
  • the encoded stream is H.264. It may be encoded at 265.
  • H. 265 it is possible to restore the encoded stream, and even for a prediction unit that exceeds a preset size, by dividing the prediction unit regardless of the size of the transform unit, The size of the prediction unit can be suppressed.
  • the decoding process can be executed without occupying the external memory bus, without increasing the external memory bandwidth, and without further increasing the area of the prediction processing circuit.
  • the encoding unit includes one or more prediction units as a unit of prediction processing, and includes one or more conversion units as a unit of frequency conversion processing.
  • An image decoding method for decoding an encoded stream encoded by an encoding process including a prediction process for the one or more prediction units and a frequency conversion process for the one or more conversion units.
  • the size of the prediction unit can be suppressed by dividing the prediction unit regardless of the size of the conversion unit.
  • the decoding process can be executed without occupying the external memory bus, without increasing the external memory bandwidth, and without further increasing the area of the prediction processing circuit.
  • the encoding unit includes one or more prediction units as a unit of prediction processing, and includes one or more conversion units as a unit of frequency conversion processing.
  • An encoded stream encoded by an encoding process including a prediction process for one or more prediction units and a frequency conversion process for the one or more conversion units is decoded.
  • the integrated circuit includes a dividing unit that divides the prediction unit into a plurality of blocks regardless of the size of the conversion unit when the size of the prediction unit exceeds a preset size, For each block obtained by dividing the prediction unit, a prediction image generation unit that generates a prediction image by performing a decoding process on the prediction image of the prediction unit, and a prediction image generated by the prediction image generation unit And an image restoration unit that restores an image using.
  • the size of the prediction unit can be suppressed by dividing the prediction unit regardless of the size of the conversion unit. .
  • the decoding process can be executed without occupying the external memory bus, without increasing the external memory bandwidth, and without further increasing the area of the prediction processing circuit.
  • the prediction processing circuit can be further performed without occupying the external memory bus and without increasing the external memory bandwidth regardless of the size of the conversion unit. It is possible to execute the decoding process without increasing the area.
  • FIG. 1 is a block diagram showing a configuration of an image decoding apparatus according to Embodiment 1.
  • FIG. 2 is a block diagram illustrating a configuration of the motion compensation unit according to the first embodiment.
  • FIG. 3 is a flowchart of predictive image generation according to Embodiment 1.
  • FIG. 4 is a diagram illustrating a block configuration example of a CU, a PU, a TU, and a reconstructed image in a case where PU division according to Embodiment 1 is not performed.
  • FIG. 5 is a timing chart showing pipeline processing in the case of not performing PU division according to the first embodiment.
  • FIG. 1 is a block diagram showing a configuration of an image decoding apparatus according to Embodiment 1.
  • FIG. 2 is a block diagram illustrating a configuration of the motion compensation unit according to the first embodiment.
  • FIG. 3 is a flowchart of predictive image generation according to Embodiment 1.
  • FIG. 4 is a diagram illustrating a block configuration example of a
  • FIG. 6 is a diagram illustrating a block configuration example of a CU, PU, TU, and reconstructed image when the conventional PU division according to Embodiment 1 is performed.
  • FIG. 7 is a timing chart showing pipeline processing when the conventional PU division according to the first embodiment is performed.
  • FIG. 8 is a diagram illustrating a block configuration example of a CU, PU, TU, and reconstructed image when the PU division according to Embodiment 1 is performed.
  • FIG. 9 is a timing chart illustrating pipeline processing when the PU division according to the first embodiment is performed.
  • FIG. 10 is a diagram illustrating a block configuration example of a PU when PU partitioning is performed on the 64 ⁇ 64 CU according to the first embodiment.
  • FIG. 10 is a diagram illustrating a block configuration example of a PU when PU partitioning is performed on the 64 ⁇ 64 CU according to the first embodiment.
  • FIG. 11 is a diagram illustrating an example of a block configuration of a PU when PU partitioning is performed on the 64 ⁇ 64 CU according to the first embodiment.
  • FIG. 12 is a diagram illustrating an example of a PU block configuration when PU partitioning is performed on the 32 ⁇ 32 CU according to the first embodiment.
  • FIG. 13 is a diagram illustrating a block configuration example of a PU when PU partitioning is performed on the 32 ⁇ 32 CU according to the first embodiment.
  • FIG. 14 is a diagram illustrating a block configuration example of a CU, a PU, a TU, and a reconstructed image in a case where PU division according to Embodiment 1 is not performed.
  • FIG. 12 is a diagram illustrating an example of a PU block configuration when PU partitioning is performed on the 32 ⁇ 32 CU according to the first embodiment.
  • FIG. 13 is a diagram illustrating a block configuration example of a PU when PU partitioning is performed on the
  • FIG. 15 is a timing chart showing pipeline processing when PU partitioning is not performed according to the first embodiment.
  • FIG. 16 is a diagram illustrating a block configuration example of a CU, a PU, a TU, and a reconstructed image when the PU division according to the first embodiment is performed.
  • FIG. 17 is a timing chart showing pipeline processing when the PU division according to Embodiment 1 is performed.
  • FIG. 18 is a diagram illustrating a block configuration example of a CU, a PU, a TU, and a reconstructed image when the PU partitioning according to the second embodiment is performed.
  • FIG. 19 is a timing chart showing pipeline processing when the PU division according to Embodiment 2 is performed.
  • FIG. 20 is a timing chart showing pipeline processing when the conventional PU division according to the third embodiment is performed.
  • FIG. 21 is a timing chart illustrating pipeline processing when PU division according to the third embodiment is performed.
  • FIG. It is a figure which shows the structural example of the picture in the H.265 standard, and an encoding stream.
  • FIG. It is a figure which shows an example divided into CTU, CU, PU, and TU in the H.265 standard.
  • FIG. It is a figure which shows the structural example of the encoding stream below CU layer data in H.265 standard.
  • FIG. It is a figure which shows PU structure which can be selected for every CU structure in the inter prediction of H.265 standard.
  • FIG. It is a figure which shows the TU structure which can be selected by H.265 standard.
  • FIG. 27 is a diagram showing an outline of the motion compensation process.
  • FIG. 1 is a block diagram showing a configuration of an image decoding apparatus according to the first embodiment.
  • the image decoding apparatus 100 includes a decoding unit 110, an inverse quantization unit 120, an inverse frequency conversion unit 130, a reconstruction unit 140, an in-loop filter unit 150, a motion compensation unit 160, The in-plane prediction unit 170 and the frame memory 180 are provided.
  • Each part basically has a conventional H.264 format. It is assumed that decoding based on the H.265 standard is performed, and the description of the same processing as the conventional one is simplified.
  • the decoding unit 110 decodes the coded stream input to the decoding unit 110 to generate a prediction unit (Prediction Unit (hereinafter referred to as PU) and motion information and reference image information (for example, a flag and reference index for specifying a reference image) and information on CU and PU (for example, size of CU and PU partition mode PartMode) Output to the compensation unit 160.
  • PU Prediction Unit
  • motion information and reference image information for example, a flag and reference index for specifying a reference image
  • CU and PU for example, size of CU and PU partition mode PartMode
  • the decoding part 110 is H.264. Arithmetic decoding and variable length decoding based on the H.265 standard are processed.
  • the motion compensation unit 160 specifies the reference image position of the frame memory 180 from the motion vector, the reference image information, and the information regarding the CU and PU received from the decoding unit 110, and acquires the reference image from the frame memory 180. Motion compensation for the PU is performed from the acquired reference image, a predicted image is generated, and output to the reconstruction unit 140.
  • coefficient data for example, DCT coefficients and transform coefficients
  • TU Transform Unit
  • the inverse quantization unit 120 inversely quantizes the coefficient data received from the decoding unit 110 and outputs the result to the inverse frequency transform unit 130.
  • the inverse frequency transform unit 130 performs inverse frequency transform on the coefficient data after inverse quantization received from the inverse quantization unit 120 in units of TUs, and outputs the result to the reconstruction unit 140 as a residual image.
  • the reconstruction unit 140 adds the residual image received from the inverse frequency conversion unit 130 and the predicted image received from the motion compensation unit 160, and outputs the result to the in-loop filter unit 150 as a reconstructed image.
  • the in-loop filter unit 150 performs an in-loop filter (for example, a deblocking filter or a sample adaptive filter (SAO)) on the reconstructed image received from the reconstructing unit 140, and then outputs the result as a decoded image. Output to the frame memory 180. Thereafter, the decoded image is output from the frame memory 180 to a display unit (not shown).
  • an in-loop filter for example, a deblocking filter or a sample adaptive filter (SAO)
  • the intra prediction mode calculated by the decoding unit 110 is output to the intra prediction unit 170.
  • the in-plane prediction unit 170 performs in-plane prediction from the in-plane prediction mode received from the decoding unit 110, generates a prediction image, and outputs the prediction image to the reconstruction unit 140. Although illustration is omitted, a reconstructed image necessary for in-plane prediction can be acquired from the reconstructing unit 140.
  • the reconstruction unit 140 adds the residual image received from the inverse frequency transform unit 130 and the prediction image received from the in-plane prediction unit 170, and outputs the result as a reconstructed image. Output to the loop filter unit 150.
  • FIG. 2 is a block diagram illustrating a configuration of the motion compensation unit according to the first embodiment.
  • the dividing unit 161 determines whether or not to divide the PU from the CU and PU information received from the decoding unit 110, and in the case of dividing, the PU motion vector and reference image information before dividing for each divided block.
  • the block position information after the division is held, and the information for each divided block is transferred to the frame memory transfer control unit 162 according to the division result. Details of the division method and the processing order of the divided blocks will be described later. If not divided, the PU motion vector, reference image information, and PU position information are transferred to the frame memory transfer control unit 162.
  • the frame memory transfer control unit 162 determines the reference image position of the reference picture in the frame memory 180 to generate a predicted image based on the motion vector, reference image information, block and PU position information received from the dividing unit 161.
  • the reference image data is acquired from the frame memory 180 and transferred to the local reference memory 163.
  • the motion compensation computation unit 164 performs motion compensation computation for each motion compensation reference block using the reference image data stored in the local reference memory 163, generates a prediction image, and outputs the prediction image to the prediction image memory 165.
  • the reconstruction unit 140 adds the predicted image stored in the predicted image memory 165 and the residual image received from the inverse frequency transform unit 130, and outputs the result as a reconstructed image.
  • FIG. 3 is a flowchart of predictive image generation according to the first embodiment.
  • the decoding unit 110 outputs the CU information and PU information acquired from the encoded stream to the dividing unit 161 (step S301).
  • the dividing unit 161 determines whether or not the PU size exceeds a preset threshold size, and when it is determined that the result exceeds (Yes in step S302), the PU size is set to be equal to or smaller than the threshold size. Divide (step S303).
  • the frame memory transfer control unit 162 calculates the position and size of the reference image on the frame memory 180 of each divided block (step S304), and stores the reference image data necessary for motion compensation processing of the motion compensation target block in the frame memory. Obtained from 180 and transferred to the local reference memory 163 (step S306).
  • the frame memory transfer control unit 162 refers to the reference image area indicated by the motion vector for each PU. That is, the position and size of the reference image data necessary for the motion compensation process of the motion compensation target block is calculated (step S305), the reference image is acquired from the frame memory 180, and transferred to the local reference memory 163 (step S306). .
  • the motion compensation computing unit 164 performs motion compensation computation for each motion compensation target block using the reference image data acquired from the local reference memory 163, and outputs the generated predicted image to the predicted image memory 165 (step S307). .
  • FIG. 4 is a diagram illustrating a block configuration example of a CU, a PU, a TU, and a reconstructed image in a case where PU division according to the first embodiment is not performed.
  • FIG. 4A is a diagram illustrating a configuration example of the CU according to the present embodiment.
  • CU0 shown in FIG. 4A has a size of 64 ⁇ 64 pixels.
  • FIG. 4B is a diagram illustrating a configuration example of the TU in the CU0 illustrated in FIG.
  • a TU composed of 32 ⁇ 32 pixels (hereinafter referred to as 32 ⁇ 32 TU; CU and PU are also described) is represented by four conversion units TU0 to TU3.
  • TU0 to TU3 are processed in the order of TU0, TU1, TU2, and TU3.
  • FIG. 4C is a diagram showing a configuration example of a PU in CU0 shown in FIG.
  • FIG. 4C shows two prediction units PU0 and PU1 of 32 ⁇ 64 ⁇ PU. Then, PU0 and PU1 are processed in the order of PU0 and PU1.
  • FIG. 4D is a diagram illustrating a configuration example of a block after the division of CU0 illustrated in FIG.
  • FIG. 4D shows four blocks BK0 to BK3.
  • the four blocks BK0 to BK3 are processed in the order of BK0, BK1, BK2, and BK3.
  • Processing for the four blocks BK0 to BK3 includes reconstruction processing, in-loop filter processing, storage processing in the frame memory 180, and the like.
  • the block division in FIG. 4D is an example of division equal to the TU size, and may be divided equal to the PU size or other division methods.
  • FIG. 5 is a time chart showing pipeline processing when the procedure of FIG. 3 is not applied to the CU, TU, PU, and reconstructed image shown in FIG.
  • TU processing is executed in the order of conversion units TU0, TU1, TU2, and TU3.
  • the decoding process in the decoding unit 110 before the TU process is performed before the TU process, and is not illustrated (also omitted in the subsequent timing charts).
  • the PU process is performed on the prediction units PU0 and PU1.
  • the reconfiguration process is executed for BK0 to BK3, and then the in-loop filter process is executed for BK0 to BK3.
  • the reconfiguration process cannot be started until the PU process is completed for PU0 and the TU process is completed for TU0. That is, there is a delay time between the end of TU0 and the execution of the reconstruction process.
  • PU0 is composed of 32 ⁇ 64 PUs, and the frame memory transfer control unit 162 acquires 39 ⁇ 71 pixels (2769 pixels) of reference images from the frame memory 180, and therefore occupies the external memory bus.
  • FIG. 6 is a diagram illustrating a block configuration example of a CU, a PU, a TU, and a reconstructed image when PU partitioning is performed according to a conventional TU edge.
  • FIGS. 4 (a), 4 (b), 4 (c), and 4 (d) are respectively shown in FIGS. 4 (a), 4 (b), 4 (c), and 4 (d). Since this is the same as the above, description thereof is omitted.
  • FIG. 6 (c ′) is a diagram illustrating a configuration example of a block after the prediction unit in the coding unit CU0 illustrated in FIG. 6 (a) is divided according to the edge of the TU.
  • the configuration of a block that is a unit of processing is indicated by a dotted line (hereinafter, the configuration of the divided blocks is the same).
  • FIG. 6C ' shows four blocks PU0a, PU0b, PU1a, and PU1b. And it processes in order of PU0a, PU1a, PU0b, PU1b.
  • processing for the four blocks PU0a, PU0b, PU1a, and PU1b there are acquisition of a reference image, motion compensation calculation, output processing of a predicted image, and the like.
  • the said process is a process equivalent to PU process, unless it refuses in particular, it describes as PU process (only PU process) with respect to a division block.
  • FIG. 7 is a timing chart showing pipeline processing when PU partitioning is performed on the CU, TU, PU, and reconstructed image shown in FIG. 6 according to the edge of the conventional TU.
  • the predicted images of the divided blocks are output in the same order as the conversion unit. Therefore, compared with the case of FIG. 5, both the difference image and the prediction image of the same area as a difference image required for a reconstruction process are gathered quickly. Therefore, the delay in starting the reconstruction process and the in-loop filter process is reduced. Therefore, the decoding process is speeded up.
  • FIG. 8 (a), FIG. 8 (b), FIG. 8 (c), and FIG. 8 (d) are respectively shown in FIG. 4 (a), FIG. 4 (b), FIG. 4 (c), and FIG. Since it is the same, description is abbreviate
  • the prediction unit in the coding unit CU0 shown in FIG. 8 (a) is set to a predetermined threshold, for example, 16 ⁇ 16 pixels in this case, and the block after the division is performed. It is a figure which shows the example of a structure.
  • FIG. 8C ' shows 16 blocks PU0a to PU0h and PU1a to PU1h.
  • FIG. 9 is a timing chart showing pipeline processing when PU partitioning is performed on the CU, TU, PU, and reconstructed image shown in FIG. 8 according to the procedure of FIG.
  • FIG. 10B is a diagram illustrating a configuration example of a block obtained by dividing 64 ⁇ 32 PU with a threshold size of 16 ⁇ 16 pixels with respect to 64 ⁇ 64 CU.
  • the configuration of the block is indicated by a dotted line, and this dotted line also indicates a block of a unit of processing. 16 blocks PU0a to PU0h and PU1a to PU1h which are units of processing are shown.
  • FIG. 11 is a diagram illustrating an example of a block configuration of a PU when PU division is performed on 64 ⁇ 64 CU according to the procedure of FIG. 3.
  • the PU is composed of asymmetric blocks (referred to as AMP: AsymmetricetMotion Partitions).
  • FIG. 12 is a diagram illustrating an example of a block configuration of a PU when PU division is performed on 32 ⁇ 32 CU according to the procedure of FIG. 3.
  • a block straddling the prediction unit can be processed in units of blocks obtained by dividing the CU into quadtrees regardless of the shape of the prediction unit. It becomes possible to configure a pipeline of image decoding processing in units of square blocks of every ⁇ 16.
  • FIG. 14 is a diagram illustrating a block configuration example of a CU, a PU, a TU, and a reconstructed image when the PU division according to Embodiment 1 is not performed.
  • FIG. 14B is a diagram illustrating a configuration example of the TU in the CU0 illustrated in FIG.
  • a TU composed of 16 ⁇ 16 pixels is shown by four conversion units TU0 to TU3.
  • TU0 to TU3 are processed in the order of TU0, TU1, TU2, and TU3.
  • FIG. 17 is a timing chart showing pipeline processing when PU partitioning is performed on the CU, TU, PU, and reconstructed image shown in FIG. 16 according to the procedure of FIG.
  • the predicted images of the divided blocks are output in the same order as the conversion unit. Therefore, compared with the case of FIG. 15, both the difference image and the prediction image of the same area
  • region required for a reconstruction process are gathered quickly. Therefore, the delay in starting the reconstruction process and the in-loop filter process is reduced. Therefore, the decoding process is speeded up. Further, compared to the case of FIG. 15, it is not necessary to hold the TU processing results of TU1 to TU3 and the PU processing result of PU1 because the reconfiguration processing is started earlier, and a circuit such as a local reference memory or a predicted image memory. The area can also be reduced.
  • PU partitioning is not performed, and the PU size is used for prediction processing without increasing the external memory band. Can be decrypted.
  • the threshold size can be increased if there is no problem with the bus occupancy rate due to the performance improvement of the external memory.
  • the conversion unit is mainly 32 ⁇ 32 ⁇ TU has been described, but the case where the conversion unit is further divided into smaller sizes (for example, TU layer 0, TU layer 1, TU layer 2, etc.) ), The same PU partitioning method is applicable regardless of the TU size.
  • the image decoding apparatus according to the second embodiment is different from the first embodiment in that it relates to a division method for reconstruction processing.
  • FIG. 18 is a diagram illustrating a block configuration example of a CU, PU, TU, and reconstructed image when PU partitioning is performed according to the procedure of FIG.
  • FIG. 18 (a), FIG. 18 (b), FIG. 18 (c), and FIG. 18 (c ′) are respectively shown in FIG. 8 (a), FIG. 8 (b), FIG. 8 (c), and FIG. The description is omitted because it is the same as').
  • FIG. 18 (d) is a diagram illustrating a configuration example after the encoding unit CU0 illustrated in FIG. 18 (a) is divided.
  • FIG. 18D shows 16 blocks BK0 to BK15.
  • the 16 blocks BK0 to BK15 are processed in the order of BK0, BK1,.
  • Processing for the 16 blocks BK0 to BK15 includes reconstruction processing, in-loop filter processing, storage processing in the frame memory 180, and the like.
  • the block division in FIG. 18D is an example of division equal to the size after PU division, and may be further divided into smaller sizes.
  • TU processing is executed in the order of conversion units TU0, TU1, TU2, and TU3.
  • the PU processing is performed on the blocks PU0a to PU0h and PU1a to PU1h. It is executed in order.
  • the reconstruction process is executed for BK0 to BK15, and then the in-loop filter process is executed for BK0 to BK15.
  • the in-loop filter process is executed on the blocks BK0 to BK15 in the order of BK0, BK1, BK2,.
  • the in-loop filter process of the block BK0 starts.
  • the in-loop filter processing of the blocks BK1 to BK15 starts in sequence at the timing when the reconstruction processing of the blocks BK1 to BK15 ends in sequence.
  • the reconstruction processing As described above, by setting the reconstruction processing to about 16 ⁇ 16 which is the threshold size for PU division, it is possible to adopt a pipeline configuration equivalent to the conventional macroblock (16 ⁇ 16 pixels). It is possible to realize processing performance equivalent to Further, by dividing the reconstruction processing unit into smaller units, the built-in memory between the reconstruction unit 140 and the in-loop filter unit 150 can be reduced, and costs can be reduced.
  • the image decoding apparatus according to the third embodiment is different from the first embodiment in that it relates to the processing of the decoding unit 110.
  • the decoding process is executed in the order of PU size, CU type related to the prediction unit, PU data, TU data (TU partition flag, coefficient data related to TU) TU0, TU1, TU2, and TU3.
  • the TU process is executed in the order of the conversion units TU0, TU1, TU2, and TU3.
  • the PU process is executed in the order of PU0a, PU1a, PU0b, and PU1b with respect to the blocks PU0a, PU0b, PU1a, and PU1b.
  • the reconfiguration process is executed for BK0 to BK3, and then the in-loop filter process is executed for BK0 to BK3.
  • the TU processing of TU1 to TU3 starts at the timing when the decoding processing of TU1 to TU3 ends and the TU processing of TU0 to TU2 ends in order.
  • the PU processing starts processing of the PU block divided at the TU edge after the size of the TU is determined. That is, after the decoding process of TU0 to TU3 is completed, the PU process is started for the blocks PU0a, PU1a, PU0b, and PU1b.
  • the reconfiguration process of the block BK0 is started.
  • the TU processing of TU1 to TU3 ends in sequence, and the reconfiguration processing of the blocks BK1 to BK3 starts in sequence at the timing when the PU processing ends in order for the blocks PU1a, PU0b, and PU1b.
  • FIG. 21 is a timing chart illustrating pipeline processing when PU division is performed on the CU, TU, PU, and reconstructed image shown in FIG. 8 according to the procedure of FIG. 3 according to the third embodiment. .
  • decoding processing is executed in the order of PU size, CU type related to the prediction unit, PU data, TU data (TU partition flag, coefficient data related to TU) TU0, TU1, TU2, and TU3.
  • the TU process is executed in the order of the conversion units TU0, TU1, TU2, and TU3.
  • the PU process is executed in the order of PU0a, PU1a, PU0b, and PU1b with respect to the blocks PU0a, PU0b, PU1a, and PU1b.
  • the reconfiguration process is executed for BK0 to BK3, and then the in-loop filter process is executed for BK0 to BK3.
  • the TU processing of TU1 to TU3 starts at the timing when the decoding processing of TU1 to TU3 ends and the TU processing of TU0 to TU2 ends in order.
  • the PU processing starts the processing of the divided PU blocks after the decoding processing of the CU type and PU data related to the PU size and the prediction unit is completed regardless of the size of the TU. That is, after the decoding process of the CU type and PU data related to the PU size and the prediction unit is completed, the PU processing is performed on the blocks PU0a to PU0h and PU1a to PU1h with respect to PU0a to PU0d, PU1a to PU1d, PU0e to PU0h, and PU1e to It is executed in the order of PU1h.
  • reconfiguration processing of block BK0 is started.
  • the TU processing of TU1 to TU3 ends in order and the PU processing of each of the four blocks of blocks PU1a to PU1d, PU0e to PU0h, PU1e to PU1h ends in order, the reconfiguration processing of the blocks BK1 to BK3 is sequentially performed Start.
  • the in-loop filter process is executed on the blocks BK0 to BK3 in the order of BK0, BK1, BK2, BK3.
  • the in-loop filter process of the block BK0 starts.
  • the in-loop filter processing of the blocks BK1 to BK3 starts in order at the timing when the reconstruction processing of the blocks BK1 to BK3 ends in sequence.
  • the configuration diagram has been described.
  • the embodiment may be implemented as a single-chip LSI, or may be configured as an individual LSI.
  • integrated circuit technology comes out to replace LSI's as a result of the advancement of semiconductor technology or a derivative other technology, it is naturally also possible to carry out function block integration using this technology. Biotechnology can be applied.
  • the image decoding apparatus is useful for an image decoding apparatus that decodes an encoded stream that is encoded using a prediction process and a reproduction method thereof.
  • the present invention can also be applied to applications such as DVD recorders, DVD players, Blu-ray disc recorders, Blu-ray disc players, digital TVs, and portable information terminals such as smartphones.

Abstract

 動き補償部(160)は、復号部(110)から受け取った符号化ユニットCUや予測ユニットPUの情報からPUを分割するか否かを分割部(161)で決定し、分割したブロック毎に、分割前のPUの動きベクトルと参照画像情報と分割後のブロック位置情報に基づいて、フレームメモリ転送制御部(162)でフレームメモリ(180)にある参照ピクチャの参照画像位置を特定し、参照画像データを取得し、動き補償演算部(164)で、動き補償対照ブロック毎に動き補償演算を行って予測画像を生成し、再構成部(140)で、逆周波数変換部(130)で生成された残差画像から画像を復元する。

Description

画像復号装置、画像復号方法、及び集積回路
 本開示は、予測処理を用いて符号化された符号化ストリームを復号する画像復号装置及び画像復号方法に関するものである。
 最近、スマートフォンやスマートテレビに代表されるネットワーク配信技術の進展に伴い、より高精細でより高画質な動画配信が普及するようになってきた。一方で、高精細化
を支える通信トラフィックや放送帯域の圧迫が懸念されており、2013年1月に、ITU-T(International Telecommunication UnionTelecommunication Standardization
Sector)が国際標準規格「H.265」として勧告した「HEVC(High Efficiency
Video Coding)」は、同じ品質の動画をH.264(MPEG-4 AVC)の半分のデータ量で圧
縮および伝送できるなど、通信・放送の帯域圧迫の解決策として注目されている。H.2
65規格の詳細については、非特許文献1に記載されている。
 H.265規格では、従来の符号化規格であるH.264規格に対して符合化単位ブロックのサイズが可変になる。そして、この技術に係る画像符合化装置は、従来規格の符合化単位であるマクロブロック(16×16画素)よりも大きなブロックサイズで符合化することも可能であり、高精細な画像を適切に符合化することが可能である。
 具体的には、図22のH.265規格におけるピクチャ及び符号化ストリームの構成例を示す図を用いて説明する。図22(A)に示すように、符合化のデータ単位として、符合化ユニット(CU:Coding Unit)が定義されている。この符合化ユニットは、従来の画像符合化規格におけるマクロブロックと同様に、面内予測を行うイントラ予測と、動き補償を行うインター予測とを切り替えることが可能なデータ単位であり、符合化の最も基本的なブロックとして規定されている。
 この符号化ユニットのサイズは、H.265規格のMain Profileでは、8×8画素、16×16画素、32×32画素、64×64画素のいずれかである。
 H.265規格では、各ピクチャの符合化処理を、最も大きな符号化ユニットCTU(Coding Tree Unit)と呼ばれる画素ブロックの単位で行う。CTUのサイズは、H.264規格やMPEG-2規格のマクロブロック(16×16画素)のように固定ではなく、シーケンスの符合化時に選択できる。
 H.265規格のMain Profileでは、最大64×64画素ブロックと規定される。さらに、1枚のピクチャは複数のCTUを持ったスライス単位で符号化されてもよい。なお、図22(A)は1枚のピクチャが1つのスライスで構成された例を示す。
 なお、イントラ予測やインター予測の一連の符合化処理は、CTUを再帰的に四分木分割することで得られるCUの単位で行われる。
 CUの符号化処理に際して、イントラ予測とインター予測については、CU内をPU(Prediction Unit、予測ユニット)と呼ばれるブロックに分割して行われる。
 また、予測差分信号の周波数変換及び量子化処理は、TU(Transform Unit、周波数変換ユニット)と呼ばれるブロック単位で行われる。
 図22(B)は、符号化ストリームの構成例を示す図である。通常、符号化ストリームは、シーケンスヘッダ、ピクチャヘッダ、スライスヘッダ及びスライスデータから構成される。なお、H.265規格などで符号化された画像符号化ストリームでは、各ヘッダの先頭を示す、スタートコード(Start code、SCと略す)が付加されている。   
  また、シーケンスヘッダは、複数のピクチャのまとまりを示すシーケンスに対するヘッダ情報を示し、ピクチャヘッダは、1枚のピクチャに対するヘッダ情報を示す。スライスヘッダはスライスデータに対するヘッダ情報を示す。スライスデータは、複数のCTU及びCUを示すCUレイヤデータから構成される。なお、H.265規格では、シーケンスヘッダは、SPS(Sequence Parameter Set)とも呼ばれ、ピクチャヘッダは、PPS(PictureParameter Set)とも呼ばれる。
 図23に、CTUをH.265規格に基づいて、CU,PU,TUに分割した一例を示す。CTUは、四分木分割される前の最大CUを示すため、CU階層0とする。四分木分割されるたびに、CU階層1、CU階層2などと再帰的に分割することが可能である。
 TUもCTU内のCU分割と同様、CU内部で再帰的に四分木分割を行うことが可能である。
 PUはこれ以上分割されないCUに対して、1つの予測モード(PU分割モード、PartModeで規定)で分割される。例えば、32×32画素のCUがPart_Nx2NのPU分割モードで分割された場合、32×32画素のCUは16×32画素のPUが2個から構成されることを示す。
 なお、PU分割モードは、イントラ予測の場合、Part_2Nx2NまたはPart_NxNの2つから選択され、インター予測の場合、Part_2Nx2N,Part_2NxN,Part_Nx2N,Part_NxNの同じ大きさのブロックからなる4つの分割モードと、Part_2NxnU,Part_2NxnD,Part_nLx2N,Part_nRx2Nの非対称の大きさのブロック(AMP:Asymmetric MotionPartitionsという)からなる4つの分割モードの、合わせて8つの分割モードから選択できる。
 なお、変換ユニットTUは、PU分割とは独立して、再帰的に四分木分割を行うことが可能である。変換ユニットTUには、予測差分画像に対する周波数成分を示す係数、つまり、変換係数のN×N個で構成される(例えば、Nは、4、8、16、32を示す)。
 図24は、H.265規格におけるCUレイヤデータ以下の符号化ストリームの構成例を示す図である。
 図24(A)は、CU,PU及びTUの構成を示す。CU及びPUは、64×64画素のブロックからなる構成を示し、TUは、32×32の4個のブロックで構成される例を示す。
 図24(B)は、H.265におけるCUレイヤデータ以下の符号化ストリームの構成例を示す図である。なお、図24(B)には、以下の説明に必要な符号のみを簡略して記載しており、詳細は、H.265規格に記載される。
 図24(B)の符号化ユニットに対応する符号化ユニットレイヤデータは、CU分割フラグ、および、CUデータ(符号化ユニットデータ)で構成される。このCU分割フラグは、「1」の場合、符号化ユニットを4分割することを示し、「0」の場合、符号化ユニットを4分割しないことを示す。
 図24(B)では、64x64画素の符号化ユニットは分割されない。すなわち、CU分割フラグは「0」である。さらに、CUデータは、CUタイプ、動きベクトルまたは面内予測モードを示すPUデータ、および、係数を含む変換ユニットから構成されるTUレイヤデータ0で構成される。CUタイプによって、予測ユニットのサイズが決定される。
 PUデータには、動きベクトルまたは面内予測モードのほかに、参照画像を示すフラグ(参照インデックスとも呼ぶ)やインター予測に必要な情報が含まれる。TUレイヤデータ0は、最上位層を示すTU階層0を示し、CUデータと同様に、TU分割フラグ、TUレイヤデータ1から構成される。
 このTU分割フラグは、CU分割フラグと同様に、「1」の場合、変換ユニットを4分割することを示し、「0」の場合、変換ユニットを4分割しないことを示す。
 TUレイヤデータ1は、TU0に対するTU分割フラグ、TUデータ(TU0)、TU1に対するTU分割フラグ、TUデータ(TU1)、TU2に対するTU分割フラグ、TUデータ(TU2)、TU3に対するTU分割フラグ、TUデータ(TU3)で構成される。なお、TUレイヤデータ1におけるTU分割フラグは「0」の例である。
 ここで、TU0以外のTUデータは、直前の変換ユニット(例えば、TU1なら、TU0)までを復号しないと、各TU分割フラグが出現しないため、各TUの大きさが確定しないことがわかる。
 図25は、H.265規格のインター予測におけるCU構成毎に選択可能なPU構成を示す図である。例えば、64×64 CUの場合、64×64 PU,64×32 PU,32×64 PU,32×32PU,64×16 PU,64×48 PU,16×64PU,48×64 PUがPartModeによって、選択される。
 そして、予測ユニット毎に、インター予測の場合、動きベクトルや参照画像を示すフラグ(参照インデックスともいう)が、イントラ予測の場合、面内予測モードが指定される。
 図26は、H.265規格で選択可能なTU構成を示す図である。具体的には、32×32 TU,16×16TU,8×8 TU,4×4TU からなり、全て正方形で構成される。
 ところで、インター予測の場合、動きベクトルが指し示す参照ピクチャから参照画像を取得する必要がある。
 図27は、動き補償処理の概略を示す図である。図27のように、動き補償処理は、符合化ストリームから復号された動きベクトルおよび参照インデックスによって指し示される、過去に復号されたピクチャの一部を取り出し、フィルター演算を行うことによって、予測画像を生成する処理である。H.265規格の場合、動き補償処理のフィルター演算は、最大8TAPフィルターが用いられる。
 例えば、図27(A)に示すように、予測対象の予測ユニットの大きさが64×64画素(64×64 PU)の参照画像に8TAPフィルターが用いられる場合、64×64画素に7画素が垂直方向及び水平方向に付加される。具体的には、動きベクトルの指し示す整数位置を基点とした予測対象予測ユニットから、左に3画素、右に4画素、上に3画素、下に4画素が付加される。したがって、参照ピクチャから取り出される参照画像は、71×71画素である。
 図27(B)は、予測対象の予測ユニットの大きさが16×16画素である場合を示す。8TAPフィルターが用いられる場合、参照ピクチャから取り出される参照画像は、64×64 PUの場合と同様に、23×23画素である。なお、動きベクトルが整数位置を指し示す場合は、予測ユニットの参照画像に対してフィルター処理を必要としないため、必要な参照画像の大きさは、予測ユニットの大きさと同じにしても構わない。
 H.264規格では、最大、マクロブロック単位での予測であったため、同じ大きさの参照画像の取得には、H.265規格の16×16画素(256画素)の予測ユニットに対して、最大23×23画素(529画素)を必要としたが、H.265規格の場合、参照画像の取得には、64×64画素(4096画素)の予測ユニットに対して、最大71×71画素(5041画素)となる。つまり、1つの予測ユニットに必要なデータサイズが約9.5倍となり、参照ピクチャを外部メモリ(例えば、外付けのSDRAM)から取得する場合、外部メモリバスを占有する時間が約9.5倍にも増大することになり、復号処理以外のシステムに与える影響が大きく、例えば、表示用の出画処理等が破綻するという課題がある。
 これに対し、特許文献1のように、動き補償ブロックサイズを固定の大きさにする目的ではあるが、例えば4×4画素や8×8画素の予測ユニットの最小サイズに分割処理することで、対策を行うことが可能である。ただし、小さなサイズに分割すればするほど、フィルター処理に必要な画素数が増大するため、例えば、H.265規格では8TAPフィルターに必要な画素(予測ユニットのサイズに、垂直方向及び水平方向に7画素付加される画素数)の割合が増大してしまい、外部メモリバンド幅に与える影響は大きく、性能破綻をきたすという課題がある。
 例えば、16×16画素の予測ユニットに対して、8TAPフィルターをかけるには参照画像として、23×23画素(529画素)を必要とするが、4×4画素ブロック、16個に分割すると、8TAPフィルターをかけるには参照画像として、11×11画素(121画素)を16個必要とするため、1936画素(=121画素×16個)と、分割する前の約3.6倍もの参照画像を必要とするため、外部メモリバンド幅への影響が大きくなるという課題がある。
 また、特許文献2のように、予測ユニットPUを変換ユニットTUのエッジで分割することで対策を行うことが可能である。ただし、TUサイズが32×32画素である場合、32×32画素の同じサイズの予測ユニットに対して、39×39画素(1521画素)の参照画像の取得が必要となり、16×16画素の予測ユニットに対する参照画像サイズ23×23画素(529画素)に比べ、約3倍のデータサイズを必要とするため、外部メモリバスの占有時間が長く、復号処理以外のシステムに大きく影響し、特に表示用の出画処理等が破綻するという課題がある。
 また、特許文献2のように、予測ユニットPUを変換ユニットTUのエッジで分割する場合、予測ユニットの復号処理が、変換ユニットの大きさに依存するため、予測ユニットの復号処理が変換ユニットの大きさが確定するまで開始できず、予測ユニットの復号処理が遅延するという課題がある。なお、H.265規格では、変換ユニットの大きさは、TUレイヤが最下位層まで復号処理が進まないと、確定できない。
 また、特許文献2のように、予測ユニットを変換ユニットのエッジで分割すると、より小さなTUに分割された場合(例えば、4×4TU)、予測ユニットも変換ユニットに依存して、予測処理する必要があるため、変換サイズより大きな予測ユニットに対しては、予測処理の復号処理性能が悪化するという課題がある。
特開2006-311526号公報 国際公開第2013/076888号
'SERIES H: AUDIOVISUAL AND MULTIMEDIA SYSTEMSInfrastructure of audiovisual services - Coding of moving video',[online]. Recommendation ITU-TH.265, 04/2013, [retrieved on 2014-03-17]. Retrieved from the Internet: <URL:http://www.itu.int/rec/dologin_pub.asp?lang=e&id=T-REC-H.265-201304-I!!PDF-E&type=items>.
 上述した従来技術のように、動き補償回路を予測ユニットの最小サイズに合わせて、分割することで、参照画像取得時の外部メモリバスの占有率を低減することは可能である。
 しかしながら、分割サイズが小さくなればなるほど、予測処理におけるフィルター処理に必要な画素数が増大し、外部メモリバンド幅を増大させてしまうという課題がある。外部メモリバンド幅の増大は、出画処理を含めたシステム全体へ影響を与え、アプリケーションの破綻に繋がってしまう。
 また、逆に、予測ユニットが大きくなればなるほど、予測処理を行う回路面積が増大するという課題がある。また、予測ユニットを変換ユニットの大きさに応じて、分割し、予測処理をすると、変換ユニットの大きさが確定するまで処理を開始できない、という課題がある。つまり、予測処理が遅延してしまい、予測処理を高速に動作できない。
 かかる点に鑑みて、本開示は、予測ユニットに予測処理を利用して符合化された符号化ストリームを復号する際に、外部メモリバスを占有させることなく、また、外部メモリバンド幅を増大させることなく、復号処理を高速に、さらに回路面積を抑えることが可能な画像復号装置及びその方法を提供することを課題とする。
 本開示の一形態に係る画像復号装置は、符号化ユニットは、予測処理の単位としては、1以上の予測ユニットから構成され、周波数変換処理の単位としては、1以上の変換ユニットを含み、前記1以上の予測ユニットに対する予測処理と、前記1以上の変換ユニットに対する周波数変換処理とを含む符号化処理によって符号化された符号化ストリームを復号する。具体的には、前記予測ユニットの大きさが予め設定された大きさを超える場合、前記変換ユニットの大きさに関わらず、前記予測ユニットを複数のブロックに分割する分割手段と、前記予測ユニットを分割することで得られたブロック毎に、前記予測ユニットの予測画像に関する復号処理を行うことで予測画像を生成する予測画像生成手段と、前記予測画像生成手段で生成された予測画像を利用して画像を復元する画像復元手段とを備える。
 これによれば、予め設定された大きさを超えるような予測ユニットに対しても、変換ユニットの大きさに関係なく、予測ユニットを分割することで、予測ユニットの大きさを抑えることができる。
 これにより、外部メモリバスを占有させることなく、また、外部メモリバンド幅を増大させることなく、さらに予測処理回路の面積を増大させることなく、復号処理を実行することができる。
 また、前記分割手段は、前記予め設定された大きさ以下に分割してもよい。
 これによれば、予め設定された大きさを超えるような予測ユニットに対しても、変換ユニットの大きさに関係なく、予測ユニットを予め設定された大きさ以下に分割することで、予測ユニットの大きさを抑えることができる。
 これにより、外部メモリバスを占有させることなく、また、外部メモリバンド幅を増大させることなく、さらに予測処理回路の面積を増大させることなく、復号処理を実行することができる。
 また、前記分割手段は、前記符号化ユニットを構成する前記1以上の全ての予測ユニットをまとめた1つのブロックを、同じ大きさの4つのブロックに分割し、前記分割された各ブロックを前記分割手段に予め設定された大きさ以下になるまで再帰的に分割してもよい。
 これによれば、予め設定された大きさを超えるような予測ユニットに対しても、変換ユニットの大きさに関係なく、1以上の予測ユニットをまとめた1つのブロックを、同じ大きさの4つのブロックに分割し、分割された各ブロックを予め設定された大きさ以下になるまで再帰的に分割することで、予測ユニットの大きさを抑えることができる。
 これにより、外部メモリバスを占有させることなく、また、外部メモリバンド幅を増大させることなく、さらに予測処理回路の面積を増大させることなく、復号処理を実行することができる。
また、前記予測画像生成手段は、前記分割手段によって前記再帰的に分割されたブロックを再帰的に且つZ順に予測画像を生成してもよい。
 これによれば、予め設定された大きさを超えるような予測ユニットに対しても、変換ユニットの大きさに関係なく、1以上の予測ユニットをまとめた1つのブロックを同じ大きさの4つのブロックに分割し、分割された各ブロックを予め設定された大きさ以下になるまで再帰的に分割し、再帰的に分割されたブロックを再帰的に且つZ順に予測画像を生成することで、復号処理を高速に実行することができる。
 これにより、外部メモリバスを占有させることなく、また、外部メモリバンド幅を増大させることなく、さらに予測処理回路の面積を増大させることなく、復号処理を高速に実行することができる。
 また、前記分割手段は、前記分割手段に予め設定された大きさが16画素×16画素であってもよい。
 これによれば、16×16画素を超えるような予測ユニットに対しても、変換ユニットの大きさに関係なく、16×16画素以下に予測ユニットに分割することで、予測ユニットの大きさを抑えることができる。
 これにより、外部メモリバスを占有させることなく、また、外部メモリバンド幅を増大させることなく、さらに予測処理回路の面積を増大させることなく、復号処理を実行することができる。
 また、前記予測画像生成手段は、過去に復号された画像データを取得し、予測画像を生成してもよい。
 これによれば、過去に復号された画像データを取得し、予測画像を生成することが可能になり、さらに、予め設定された大きさを超えるような予測ユニットに対しても、変換ユニットの大きさに関係なく、予測ユニットを分割することで、予測ユニットの大きさを抑えることができる。
 これにより、外部メモリバスを占有させることなく、また、外部メモリバンド幅を増大させることなく、さらに予測処理回路の面積を増大させることなく、復号処理を実行することができる。
 また、前記予測画像生成手段は、過去に復号された画像データを外部メモリから取得し、予測画像を生成してもよい。
 これによれば、過去に復号された画像データを外部メモリから取得することで、予測画像を生成することが可能になり、さらに、予め設定された大きさを超えるような予測ユニットに対しても、変換ユニットの大きさに関係なく、予測ユニットを分割することで、予測ユニットの大きさを抑えることができる。
 これにより、外部メモリバスを占有させることなく、また、外部メモリバンド幅を増大させることなく、さらに予測処理回路の面積を増大させることなく、復号処理を実行することができる。
 また、前記予測画像生成手段は、過去に復号された画像データから前記予測ユニットの動きベクトルを用いて、動き補償処理を行い、予測画像を生成してもよい。
 これによれば、過去に復号された画像データから予測ユニットの動きベクトルを用いて、動き補償処理を行い、予測画像を生成することが可能になり、さらに、予め設定された大きさを超えるような予測ユニットに対しても、変換ユニットの大きさに関係なく、予測ユニットを分割することで、予測ユニットの大きさを抑えることができる。
 これにより、外部メモリバスを占有させることなく、また、外部メモリバンド幅を増大させることなく、さらに予測処理回路の面積を増大させることなく、復号処理を実行することができる。
 また、前記画像復元手段は、逆周波数変換処理された残差画像を加算することで画像を復元してもよい。
 これによれば、予測画像に逆周波数変換処理された残差画像を加算することで画像復元することが可能になり、さらに、予め設定された大きさを超えるような予測ユニットに対しても、変換ユニットの大きさに関係なく、予測ユニットを分割することで、予測ユニットの大きさを抑えることができる。
 これにより、外部メモリバスを占有させることなく、また、外部メモリバンド幅を増大させることなく、さらに予測処理回路の面積を増大させることなく、復号処理を実行することができる。
 前記符合化ストリームは、H.265で符合化されてもよい。
 これによれば、H.265で符号化ストリームを復元することが可能になり、さらに、予め設定された大きさを超えるような予測ユニットに対しても、変換ユニットの大きさに関係なく、予測ユニットを分割することで、予測ユニットの大きさを抑えることができる。
 これにより、外部メモリバスを占有させることなく、また、外部メモリバンド幅を増大させることなく、さらに予測処理回路の面積を増大させることなく、復号処理を実行することができる。
 本開示の一形態に係る画像復号方法は、符号化ユニットは、予測処理の単位としては、1以上の予測ユニットから構成され、周波数変換処理の単位としては、1以上の変換ユニットから構成され、前記1以上の予測ユニットに対する予測処理と、前記1以上の変換ユニットに対する周波数変換処理とを含む符号化処理によって符号化された符号化ストリームを復号する画像復号方法である。具体的には、前記予測ユニットの大きさが予め設定された大きさを超える場合、前記変換ユニットの大きさに関わらず、前記予測ユニットを複数のブロックに分割する分割ステップと、前記予測ユニットを分割することで得られたブロック毎に、前記予測ユニットの予測画像に関する復号処理を行うことで予測画像を生成する予測画像生成ステップと、前記予測画像生成ステップで生成された予測画像を利用して画像を復元する画像復元ステップとを含む。
 これによれば、予め設定された大きさを超えるような予測ユニットに対しても、変換ユニットの大きさに関わらず、予測ユニットを分割することで、予測ユニットの大きさを抑えることができる。
 これにより、外部メモリバスを占有させることなく、また、外部メモリバンド幅を増大させることなく、さらに予測処理回路の面積を増大させることなく、復号処理を実行することができる。
 本開示の一形態に係る集積回路は、符号化ユニットは、予測処理の単位としては、1以上の予測ユニットから構成され、周波数変換処理の単位としては、1以上の変換ユニットから構成され、前記1以上の予測ユニットに対する予測処理と、前記1以上の変換ユニットに対する周波数変換処理とを含む符号化処理によって符号化された符号化ストリームを復号する。
 具体的には、集積回路は、前記予測ユニットの大きさが予め設定された大きさを超える場合、前記変換ユニットの大きさに関わらず、前記予測ユニットを複数のブロックに分割する分割部と、前記予測ユニットを分割することで得られたブロック毎に、前記予測ユニットの予測画像に関する復号処理を行うことで予測画像を生成する予測画像生成部と、前記予測画像生成部で生成された予測画像を利用して画像を復元する画像復元部とを備える。
 これによれば、予め設定された大きさを超えるような予測ユニットに対しても、前記変換ユニットの大きさに関わらず、予測ユニットを分割することで、予測ユニットの大きさを抑えることができる。
 これにより、外部メモリバスを占有させることなく、また、外部メモリバンド幅を増大させることなく、さらに予測処理回路の面積を増大させることなく、復号処理を実行することができる。
 以上のように、本開示にかかる画像復号装置によれば、変換ユニットの大きさに関わらず、外部メモリバスを占有させることなく、また、外部メモリバンド幅を増大させることなく、さらに予測処理回路の面積を増大させることなく、復号処理を実行することができる。
図1は、実施の形態1に係る画像復号装置の構成を示すブロック図である。 図2は、実施の形態1に係る動き補償部の構成を示すブロック図である。 図3は、実施の形態1に係る予測画像生成のフローチャートである。 図4は、実施の形態1に係るPU分割をしない場合に関する、CU,PU,TU、再構成画像のブロック構成例を示す図である。 図5は、実施の形態1に係るPU分割をしない場合に関する、パイプライン処理を示すタイミングチャートである。 図6は、実施の形態1に係る従来のPU分割を実施した場合に関する、CU,PU,TU、再構成画像のブロック構成例を示す図である。 図7は、実施の形態1に係る従来のPU分割を実施した場合に関する、パイプライン処理を示すタイミングチャートである。 図8は、実施の形態1に係るPU分割を実施した場合に関する、CU,PU,TU、再構成画像のブロック構成例を示す図である。 図9は、実施の形態1に係るPU分割を実施した場合に関する、パイプライン処理を示すタイミングチャートである。 図10は、実施の形態1に係る64×64CUに対してPU分割を実施した場合に関する、PUのブロック構成例を示す図である。 図11は、実施の形態1に係る64×64CUに対してPU分割を実施した場合に関する、PUのブロック構成例を示す図である。 図12は、実施の形態1に係る32×32CUに対してPU分割を実施した場合に関する、PUのブロック構成例を示す図である。 図13は、実施の形態1に係る32×32CUに対してPU分割を実施した場合に関する、PUのブロック構成例を示す図である。 図14は、実施の形態1に係るPU分割をしない場合に関する、CU,PU,TU、再構成画像のブロック構成例を示す図である。 図15は、実施の形態1に係るPU分割をしない場合に関する、パイプライン処理を示すタイミングチャートである。 図16は、実施の形態1に係るPU分割を実施した場合に関する、CU,PU,TU、再構成画像のブロック構成例を示す図である。 図17は、実施の形態1に係るPU分割を実施した場合に関する、パイプライン処理を示すタイミングチャートである。 図18は、実施の形態2に係るPU分割を実施した場合に関する、CU,PU,TU、再構成画像のブロック構成例を示す図である。 図19は、実施の形態2に係るPU分割を実施した場合に関する、パイプライン処理を示すタイミングチャートである。 図20は、実施の形態3に係る従来のPU分割を実施した場合に関する、パイプライン処理を示すタイミングチャートである。 図21は、実施の形態3に係るPU分割を実施した場合に関する、パイプライン処理を示すタイミングチャートである。 図22は、H.265規格におけるピクチャ及び符号化ストリームの構成例を示す図である。 図23は、H.265規格におけるCTU,CU,PU,TU分割した一例を示す図である。 図24は、H.265規格におけるCUレイヤデータ以下の符号化ストリームの構成例を示す図である。 図25は、H.265規格のインター予測におけるCU構成毎に選択可能なPU構成を示す図である。 図26は、H.265規格で選択可能なTU構成を示す図である。 図27は、動き補償処理の概略を示す図である。
 以下、図面を参照しつつ、本開示の実施の形態について説明する。
 <実施の形態1>
 以下、本開示の実施の形態1における画像復号装置について説明する。
 図1は、実施の形態1に係る画像復号装置の構成を示すブロック図である。
 図1の示すように、画像復号装置100は、復号部110と、逆量子化部120と、逆周波数変換部130と、再構成部140と、インループフィルター部150と、動き補償部160と、面内予測部170と、フレームメモリ180とを備える。各部は、基本的には、従来におけるH.265規格に基づく復号を行うものとし、従来と同様の処理については説明を簡略化する。
 復号部110は、入力された符合化ストリームの符合化ユニット(Coding Unit。以下、CUと呼ぶ)がインター予測の場合、復号部110に入力された符号化ストリームを復号して、予測ユニット(Prediction Unit。以下、PUと呼ぶ)の動きベクトル及び参照画像情報(例えば、参照画像を特定するためのフラグ、参照インデックス)及びCUやPUに関する情報(例えば、CUの大きさやPU分割モードPartMode)を動き補償部160へ出力する。なお、復号部110は、H.265規格に基づく、算術復号や可変長復号などを処理する。
 動き補償部160は、復号部110から受け取った動きベクトル及び参照画像情報及びCUやPUに関する情報からフレームメモリ180の参照画像位置を特定し、フレームメモリ180から参照画像を取得する。取得した参照画像からPUに対する動き補償を行い、予測画像を生成し、再構成部140へ出力する。
 一方、復号部110で復号された周波数変換ユニット(Transform Unit。以下、TUと呼ぶ)の周波数成分の係数データ(例えば、DCT係数や変換係数)を逆量子化部120へ出力する。逆量子化部120は、復号部110から受け取った係数データを逆量子化し、結果を逆周波数変換部130へ出力する。逆周波数変換部130は、逆量子化部120から受け取った逆量子化後の係数データをTU単位で逆周波数変換し、残差画像として、再構成部140へ結果を出力する。
 再構成部140は、逆周波数変換部130から受け取った残差画像と、動き補償部160から受け取った予測画像とを加算し、再構成画像として、結果をインループフィルター部150へ出力する。
 インループフィルター部150は、再構成部140から受け取った再構成画像にインループフィルター(例えば、デブロッキングフィルターやサンプル適応フィルター(SAO:Sample AdaptiveFilter))を行った上で、復号画像として、結果をフレームメモリ180へ出力する。その後、復号画像は、フレームメモリ180から表示部(図示省略)へ出力される。
 また、時間的に異なる参照画像を用いないIピクチャやイントラ予測ブロックである予測ユニットでは、復号部110で算出した面内予測モードを面内予測部170へ出力する。
 面内予測部170は、復号部110から受け取った面内予測モードから面内予測を行い、予測画像を生成し、再構成部140へ出力する。なお、図示は省略しているが、面内予測に必要な再構成画像は、再構成部140から取得することが可能である。
 再構成部140は、インター予測の場合と同様に、逆周波数変換部130から受け取った残差画像と、面内予測部170から受け取った予測画像とを加算し、再構成画像として、結果をインループフィルター部150へ出力する。
 インループフィルター部150以降の処理は、インター予測と同じため、省略する。
 次に、動き補償部160について、詳細を説明する。
 図2は、実施の形態1に係る動き補償部の構成を示すブロック図である。
 分割部161は、復号部110から受け取ったCUやPUの情報からPUを分割するかどうかを決定し、分割する場合は、分割したブロック毎に、分割する前のPUの動きベクトルと参照画像情報と分割後のブロック位置情報を保持し、その分割結果に応じて、分割されたブロック毎の情報をフレームメモリ転送制御部162へ転送する。なお、分割方法や分割されたブロックの処理順に関しては、後で詳細を説明する。また、分割しない場合は、PUの動きベクトルや参照画像情報やPUの位置情報をフレームメモリ転送制御部162へ転送する。
 フレームメモリ転送制御部162は、分割部161から受け取った動きベクトルや参照画像情報やブロックやPUの位置情報を元に、予測画像を生成するためにフレームメモリ180にある参照ピクチャの参照画像位置を特定し、フレームメモリ180から参照画像データを取得し、局所参照メモリ163へ転送する。
 動き補償演算部164は、局所参照メモリ163に格納された参照画像データを用いて、動き補償対照ブロック毎に、動き補償演算を行い、予測画像を生成し、予測画像メモリ165に出力する。
 再構成部140は、予測画像メモリ165に格納された予測画像と、逆周波数変換部130から受け取った残差画像とを加算し、再構成画像として、結果を出力する。
 図3は、実施の形態1に係る予測画像生成のフローチャートである。
 まず、復号部110は、符合化ストリームから取得したCU情報およびPU情報を分割部161へ出力する(ステップS301)。
 次に、分割部161では、PUサイズが予め設定された閾値のサイズを超えるかを求め、その結果が超えると判断された場合(ステップS302でYes)、PUサイズが閾値サイズ以下になるように分割する(ステップS303)。
 フレームメモリ転送制御部162は、分割された各ブロックのフレームメモリ180上の参照画像の位置およびサイズを算出し(ステップS304)、動き補償対象ブロックの動き補償処理に必要な参照画像データをフレームメモリ180から取得し、局所参照メモリ163に転送する(ステップS306)。
 なお、分割部161で、PUサイズが予め設定された閾値のサイズを超えないと判断された場合(ステップS302でNo)、フレームメモリ転送制御部162は、PU毎の動きベクトルが指し示す参照画像領域、つまり、動き補償対象ブロックの動き補償処理に必要な参照画像データの位置とサイズを算出し(ステップS305)、フレームメモリ180から参照画像を取得し、局所参照メモリ163に転送する(ステップS306)。
 動き補償演算部164は、局所参照メモリ163から取得した参照画像データを用いて、動き補償対象ブロック毎に動き補償演算を行い、生成された予測画像を予測画像メモリ165に出力する(ステップS307)。
 次に、PUサイズ毎の分割方法について、従来の場合と本開示との差異を分かりやすくするために、より詳細な分割方法について、以下に説明する。
 図4は、実施の形態1に係るPU分割をしない場合に関する、CU,PU,TU、再構成画像のブロック構成例を示す図である。
 図4(a)は、本実施の形態に係るCUの構成例を示す図である。図4(a)に示されたCU0は、64×64画素のサイズを有する。
 図4(b)は、図4(a)に示されたCU0におけるTUの構成例を示す図である。図4(b)には、32×32画素で構成されたTU(以下、32×32 TUと記載。CU,PUも同様に記載)が4個の変換ユニットTU0~TU3で示されている。そして、TU0~TU3は、TU0,TU1,TU2,TU3の順で処理される。4個の変換ユニットTU0~TU3に対する処理として、逆量子化、逆周波数変換等があり、結果を残差画像として出力する。
 図4(c)は、図4(a)に示されたCU0におけるPUの構成例を示す図である。図4(c)には、32×64 PUが2個の予測ユニットPU0,PU1が示されている。そして、PU0及びPU1は、PU0,PU1の順で処理される。
 図4(d)は、図4(a)に示されたCU0の分割後のブロックの構成例を示す図である。図4(d)には、4個のブロックBK0~BK3が示されている。そして、4個のブロックBK0~BK3は、BK0,BK1,BK2,BK3の順で処理される。4個のブロックBK0~BK3に対する処理として、再構成処理、インループフィルター処理及びフレームメモリ180への格納処理等がある。なお、図4(d)におけるブロック分割は、TUサイズと同等に分割した一例であり、PUサイズと同等に分割しても構わないし、他の分割方法でも構わない。
 図5は、図4に示されたCU,TU,PU、再構成画像に、図3の手順が適用されなかった場合のパイプライン処理を示すタイムチャートである。図5の例では、TU処理が、変換ユニットTU0,TU1,TU2,TU3の順で実行される。なお、TU処理前の復号部110での復号処理はTU処理以前に行われており、図示は省略している(以降のタイミングチャートでも同様に省略している)。同時に、PU処理が、予測ユニットPU0,PU1に対して、実行される。その後、再構成処理が、BK0~BK3に実行され、その後、インループフィルター処理がBK0~BK3に対して、実行される。
 図5の例では、PU処理がPU0に対して終了して、かつ、TU処理がTU0に対して終了するまで、再構成処理が開始できない。つまり、TU0が終了してから再構築処理を実行するまでに遅延時間が生じてしまう。また、PU0は、32×64 PUから構成され、フレームメモリ転送制御部162がフレームメモリ180から39×71画素(2769画素)もの参照画像を取得するため、外部メモリバスを占有してしまう。
 図6は、従来のTUのエッジに応じてPU分割を実施した場合に関する、CU,PU,TU、再構成画像のブロック構成例を示す図である。
 図6(a)、図6(b)、図6(c)、図6(d)は、それぞれ、図4(a)、図4(b)、図4(c)、図4(d)と同じであるため、説明を省略する。
 図6(c’)は、図6(a)に示された符合化ユニットCU0における予測ユニットをTUのエッジに応じて、分割された後のブロックの構成例を示す図である。なお、点線で処理の単位となるブロックの構成を示す(以下、分割されたブロックの構成に関しては同じである)。図6(c’)には、4個のブロックPU0a,PU0b,PU1a,PU1bが示されている。そして、PU0a,PU1a,PU0b,PU1bの順で処理される。4個のブロックPU0a,PU0b,PU1a,PU1bに対する処理として、参照画像の取得、動き補償演算、および、予測画像の出力処理等がある。なお、上記処理は、PU処理と同等の処理であるため、特に断らなければ、分割ブロックに対するPU処理(単に、PU処理)と記載する。
 図7は、図6に示されたCU,TU,PU、再構成画像に、従来のTUのエッジに応じてPU分割を実施した場合に関する、パイプライン処理を示すタイミングチャートである。
 図7の例では、TU処理が、変換ユニットTU0,TU1,TU2,TU3の順で実行される。同時に、PU処理が、ブロックPU0a,PU0b,PU1a,PU1bに対して、PU0a,PU1a,PU0b,PU1bの順で実行される。その後、再構成処理が、BK0~BK3に実行され、その後、インループフィルター処理がBK0~BK3に対して、実行される。ここで、TU0に対してTU処理が終了し、ブロックPU0aに対してPU処理が終了した後、ブロックBK0の再構成処理が開始する。同様にTU1~TU3のTU処理が順に終了し、ブロックPU1a,PU0b,PU1bに対して、PU処理が順に終了するタイミングで、ブロックBK1~BK3の再構成処理が順に開始する。
 また、インループフィルター処理が、ブロックBK0~BK3に対して、BK0,BK1,BK2,BK3の順で実行される。ここで、ブロックBK0の再構成処理が終了した後、ブロックBK0のインループフィルター処理が開始する。同様に、ブロックBK1~BK3の再構成処理が順に終了するタイミングで、ブロックBK1~BK3のインループフィルター処理が順に開始する。
 図7の例では、分割後のブロックの予測画像は、変換ユニットと同じ順序で出力される。そのため、図5の場合に比べ、再構成処理に必要な、差分画像、および、差分画像と同じ領域の予測画像の両方が、早く揃う。したがって、再構成処理およびインループフィルター処理の開始の遅延が小さくなる。よって、復号処理が高速化する。
 しかしながら、分割後のブロックPU0a,PU1a,PU0b,PU1bは、32×32画素から構成され、各分割後のブロックPU0a,PU1a,PU0b,PU1bは、フレームメモリ転送制御部162がフレームメモリ180からそれぞれ39×39画素(1521画素)もの参照画像を取得するため、外部メモリバスを占有してしまう。
 図8は、図3の手順に従ってPU分割を実施した場合に関する、CU,PU,TU、再構成画像のブロック構成例を示す図である。
 図8(a)、図8(b)、図8(c)、図8(d)は、それぞれ、図4(a)、図4(b)、図4(c)、図4(d)と同じであるため、説明を省略する。
 図8(c’)では、図8(a)に示された符合化ユニットCU0における予測ユニットを予め設定された閾値、例えば、今回の場合、16×16画素として、分割された後のブロックの構成例を示す図である。図8(c’)には、16個のブロックPU0a~PU0h,PU1a~PU1hが示されている。そして、ブロックPU0a,PU0b,PU0c,PU0d,PU1a,PU1b,PU1c,PU1d,PU0e,PU0f,PU0g,PU0h,PU1e,PU1f,PU1g,PU1hの順で処理される。つまり、CU0を四分木分割されたブロックを再帰的に四分木分割された順番でZ順に処理されることになる。
 図9は、図8に示されたCU,TU,PU、再構成画像に、図3の手順に従ってPU分割を実施した場合に関する、パイプライン処理を示すタイミングチャートである。
 図9の例では、TU処理が、変換ユニットTU0,TU1,TU2,TU3の順で実行される。同時に、PU処理が、ブロックPU0a~PU0h,PU1a~PU1hに対して、PU0a,PU0b,PU0c,PU0d,PU1a,PU1b,PU1c,PU1d,PU0e,PU0f,PU0g,PU0h,PU1e,PU1f,PU1g,PU1hの順で実行される。その後、再構成処理が、BK0~BK3に実行され、その後、インループフィルター処理がBK0~BK3に対して、実行される。ここで、TU0に対してTU処理が終了し、ブロックPU0a~PU0dに対してPU処理が終了した後、ブロックBK0の再構成処理が開始する。同様にTU1~TU3のTU処理が順に終了し、ブロックPU1a~PU1d,PU0e~PU0h,PU1e~PU1hの各4ブロックずつのPU処理が順に終了するタイミングで、ブロックBK1~BK3の再構成処理が順に開始する。
 また、インループフィルター処理が、ブロックBK0~BK3に対して、BK0,BK1,BK2,BK3の順で実行される。ここで、ブロックBK0の再構成処理が終了した後、ブロックBK0のインループフィルター処理が開始する。同様に、ブロックBK1~BK3の再構成処理が順に終了するタイミングで、ブロックBK1~BK3のインループフィルター処理が順に開始する。
 図9の例では、分割後のブロックの予測画像は、変換ユニットと同じ順序で出力される。そのため、図5の場合に比べ、再構成処理に必要な、差分画像、および、差分画像と同じ領域の予測画像の両方が、早く揃う。したがって、再構成処理およびインループフィルター処理の開始の遅延が小さくなる。よって、復号処理が高速化する。
 また、分割後のブロックPU0a~PU0h,PU1a~PU1hは、16×16画素から構成され、フレームメモリ転送制御部162がフレームメモリ180から23×23画素(529画素)の参照画像を取得するため、従来のマクロブロックと同等の転送サイズとなるため、外部メモリバスを占有させることはない。また、従来と同程度のメモリバンド幅にて、復号処理を実現することが可能である。
 図10は、図3の手順に従って、64×64 CU に対してPU分割を実施した場合に関する、PUのブロック構成例を示す図である。
 以下、PU分割を実施する閾値サイズは、例えば、今回の場合、16×16画素とする。
 図10(a)は、64×64 CU に対して、64×64 PU を閾値サイズ16×16画素で分割されたブロックの構成例を示す図である。なお、ブロックの構成を点線で示し、この点線は同時に処理の単位のブロックも示している。処理の単位となる16個のブロックPU0a~PU0pが示されている。そして、ブロックPU0a,PU0b,・・・,PU0pの順で処理される。つまり、64x64 CUを四分木分割されたブロックを再帰的に四分木分割された順番(例えば、Z順)で処理されることになる。
 図10(b)は、64×64 CU に対して、64×32 PU を閾値サイズ16×16画素で分割されたブロックの構成例を示す図である。なお、ブロックの構成を点線で示し、この点線は同時に処理の単位のブロックも示している。処理の単位となる16個のブロックPU0a~PU0h,PU1a~PU1hが示されている。そして、ブロックPU0a,PU0b,PU0c,PU0d,PU0e,PU0f,PU0g,PU0h,PU1a,PU1b,PU1c,PU1d,PU1e,PU1f,PU1g,PU1hの順で処理される。つまり、64×64 CUを四分木分割されたブロックを再帰的に四分木分割された順番(例えば、Z順)で処理されることになる。
 図10(c)は、64×64 CU に対して、32×64 PU を閾値サイズ16×16画素で分割されたブロックの構成例を示す図である。なお、ブロックの構成を点線で示し、この点線は同時に処理の単位のブロックも示している。処理の単位となる16個のブロックPU0a~PU0h,PU1a~PU1hが示されている。そして、ブロックPU0a,PU0b,PU0c,PU0d,PU1a,PU1b,PU1c,PU1d,PU0e,PU0f,PU0g,PU0h,PU1e,PU1f,PU1g,PU1hの順で処理される。つまり、64×64 CUを四分木分割されたブロックを再帰的に四分木分割された順番(例えば、Z順)で処理されることになる。
 図10(d)は、64×64 CU に対して、32×32 PU を閾値サイズ16×16画素で分割されたブロックの構成例を示す図である。なお、ブロックの構成を点線で示し、この点線は同時に処理の単位のブロックも示している。処理の単位となる16個のブロックPU0a~PU0d,PU1a~PU1d,PU2a~PU2d,PU3a~PU3dが示されている。そして、ブロックPU0a,PU0b,PU0c,PU0d,PU1a,PU1b,PU1c,PU1d,PU2a,PU2b,PU2c,PU2d,PU3a,PU3b,PU3c,PU3dの順で処理される。つまり、64×64 CUを四分木分割されたブロックを再帰的に四分木分割された順番(例えば、Z順)で処理されることになる。
 図11は、図3の手順に従って、64×64 CU に対してPU分割を実施した場合に関する、PUのブロック構成例を示す図である。特に、PUが非対称のブロック(AMP:Asymmetric MotionPartitionsと呼ぶ)で構成される。
 以下、PU分割を実施する閾値サイズは、例えば、今回の場合、16×16画素とする。
 図11(e)は、64×64 CU に対して、64×16 PU及び64×48 PU を閾値サイズ16×16画素で分割されたブロックの構成例を示す図である。なお、ブロックの構成を点線で示し、この点線は同時に処理の単位のブロックも示している。処理の単位となる16個のブロックPU0a~PU0d,PU1a~PU1lが示されている。そして、ブロックPU0a,PU0b,PU1a,PU1b,PU0c,PU0d,PU1c~PU1lの順で処理される。つまり、64×64 CUを四分木分割されたブロックを再帰的に四分木分割された順番(例えば、Z順)で処理されることになる。
 図11(f)は、64×64 CU に対して、64×48 PU及び64×16 PU を閾値サイズ16×16画素で分割されたブロックの構成例を示す図である。なお、ブロックの構成を点線で示し、この点線は同時に処理の単位のブロックも示している。処理の単位となる16個のブロックPU0a~PU0l,PU1a~PU1dが示されている。そして、ブロックPU0a~PU0j,PU1a,PU1b,PU0k,PU0l,PU1c,PU1dの順で処理される。つまり、64×64 CUを四分木分割されたブロックを再帰的に四分木分割された順番(例えば、Z順)で処理されることになる。
 図11(g)は、64×64 CU に対して、16×64 PU及び48×64 PU を閾値サイズ16×16画素で分割されたブロックの構成例を示す図である。なお、ブロックの構成を点線で示し、この点線は同時に処理の単位のブロックも示している。処理の単位となる16個のブロックPU0a~PU0d,PU1a~PU1lが示されている。そして、ブロックPU0a,PU1a,PU0b,PU1b,PU1c~PU1f,PU0c,PU1g,PU0d,PU1h,PU1i~PU1lの順で処理される。つまり、64×64 CUを四分木分割されたブロックを再帰的に四分木分割された順番(例えば、Z順)で処理されることになる。
 図11(h)は、64×64 CU に対して、48×64 PU及び16×64 PU を閾値サイズ16×16画素で分割されたブロックの構成例を示す図である。なお、ブロックの構成を点線で示し、この点線は同時に処理の単位のブロックも示している。処理の単位となる16個のブロックPU0a~PU0l,PU1a~PU1dが示されている。そして、ブロックPU0a~PU0d,PU0e,PU1a,PU0f,PU1b,PU0g~PU0j,PU0k,PU1c,PU0l,PU1dの順で処理される。つまり、64×64 CUを四分木分割されたブロックを再帰的に四分木分割された順番(例えば、Z順)で処理されることになる。
 つまり、64×64 CU に対しては、図10(a)~図10(d)、図11(e)~図11(h)で示されるように、全て同じ16×16のブロックに分割され、全て同じ順番で処理されることになる。
 図12は、図3の手順に従って、32×32 CU に対してPU分割を実施した場合に関する、PUのブロック構成例を示す図である。
 図12(a)は、32×32 CU に対して、32×32 PU を閾値サイズ16×16画素で分割されたブロックの構成例を示す図である。なお、ブロックの構成を点線で示し、この点線は同時に処理の単位のブロックも示している。処理の単位となる4個のブロックPU0a~PU0dが示されている。そして、ブロックPU0a,PU0b,PU0c,PU0dの順で処理される。つまり、32×32 CUを四分木分割されたブロックを四分木分割された順番(例えば、Z順)で処理されることになる。
 図12(b)は、32×32 CU に対して、32×16 PU を閾値サイズ16×16画素で分割されたブロックの構成例を示す図である。なお、ブロックの構成を点線で示し、この点線は同時に処理の単位のブロックも示している。処理の単位となる4個のブロックPU0a,PU0b,PU1a,PU1bが示されている。そして、ブロックPU0a,PU0b,PU1a,PU1bの順で処理される。つまり、32×32 CUを四分木分割されたブロックを四分木分割された順番(例えば、Z順)で処理されることになる。
 図12(c)は、32×32 CU に対して、16×32 PU を閾値サイズ16×16画素で分割されたブロックの構成例を示す図である。なお、ブロックの構成を点線で示し、この点線は同時に処理の単位のブロックも示している。処理の単位となる4個のブロックPU0a,PU0b,PU1a,PU1bが示されている。そして、ブロックPU0a,PU1a,PU0b,PU1bの順で処理される。つまり、32×32 CUを四分木分割されたブロックを四分木分割された順番(例えば、Z順)で処理されることになる。
 図12(d)は、32×32 CU に対して、16×16 PU では、閾値サイズ16×16画素と同じため、PU分割されない構成例を示す図である。4個のブロックPU0,PU1,PU2,PU3が示されている。そして、ブロックPU0,PU1,PU2,PU3の順で処理される。つまり、32×32 CUを四分木分割されたブロックを四分木分割された順番(例えば、Z順)で処理されることになる。
 図13は、図3の手順に従って、32×32 CU に対してPU分割を実施した場合に関する、PUのブロック構成例を示す図である。特に、PUが非対称のブロック(AMP)で構成される。
 図13(e)は、32×32 CU に対して、32×8 PUおよび32×24 PU を閾値サイズ16×16画素で分割されたブロックの構成例を示す図である。なお、ブロックの構成を点線で示し、さらに、実線と点線で、処理の単位となる6個のブロックPU0a,PU0b,PU1a~PU1dが示されている。そして、ブロックPU0a,PU1a,PU0b,PU1b,PU1c,PU1dの順で処理される。つまり、32×32 CUを四分木分割された16×16ブロックをもとにした順番(例えば、Z順。16×16ブロック内もZ順)で処理されることになる。
 図13(f)は、32×32 CU に対して、32×24 PUおよび32×8 PU を閾値サイズ16×16画素で分割されたブロックの構成例を示す図である。なお、ブロックの構成を点線で示し、さらに、実線と点線で、処理の単位となる6個のブロックPU0a~PU0d,PU1a,PU1bが示されている。そして、ブロックPU0a,PU0b,PU0c,PU1a,PU0d,PU1bの順で処理される。つまり、32×32 CUを四分木分割された16×16ブロックをもとにした順番(例えば、Z順。16×16ブロック内もZ順)で処理されることになる。
 図13(g)は、32×32 CU に対して、8×32PUおよび24×32PU を閾値サイズ16×16画素で分割されたブロックの構成例を示す図である。なお、ブロックの構成を点線で示し、さらに、実線と点線で、処理の単位となる6個のブロックPU0a,PU0b,PU1a~PU1dが示されている。そして、ブロックPU0a,PU1a,PU1b,PU0b,PU1c,PU1dの順で処理される。つまり、32×32 CUを四分木分割された16×16ブロックをもとにした順番(例えば、Z順。16×16ブロック内もZ順)で処理されることになる。
 図13(h)は、32×32 CU に対して、24×32PUおよび8×32PU を閾値サイズ16×16画素で分割されたブロックの構成例を示す図である。なお、ブロックの構成を点線で示し、さらに、実線と点線で、処理の単位となる6個のブロックPU0a~PU0d,PU1a,PU1bが示されている。そして、ブロックPU0a,PU0b,PU1a,PU0c,PU0d,PU1bの順で処理される。つまり、32×32 CUを四分木分割された16×16ブロックをもとにした順番(例えば、Z順。16×16ブロック内もZ順)で処理されることになる。
 つまり、32×32 CU に対しては、図12(a)~図12(d)、図13(e)~図13(h)で示されるように、32×32 CUを四分木分割された16×16ブロックをもとにした順番(例えば、Z順)でかつ、16×16ブロック内も分かれる場合は、Z順で処理されることになる。なお、上記Z順は、もし処理の単位のブロックが上下2つのブロックで構成された場合、上、下の順番で処理され、もし処理の単位のブロックが左右2つのブロックで構成された場合、左、右の順番で処理されることを意味する。したがって、同じ位置の同じ16×16のブロックであっても、処理の単位のブロックの処理の順は異なる。例えば、図13(e)と図13(g)の左上の16×16ブロックを見た場合、図13(e)では、PU0a,PU1aというように、上、下の順番となるが、図13(g)では、左、右の順となる。したがって、予測ユニットを跨ったブロックに関しても、予測ユニットの形状に関わらず、CUを四分木分割したブロック単位で処理することができ、しいては、予測ユニットの形状に関わらず、例えば、16×16毎の正方形のブロック単位で画像復号処理のパイプラインを構成することが可能になる。
 PUが非対称のブロック(AMP)で構成される場合について、以下に説明する。
 図14は、実施の形態1に係るPU分割をしない場合に関する、CU,PU,TU、再構成画像のブロック構成例を示す図である。
 図14(a)は、本実施の形態に係るCUの構成例を示す図である。図14(a)に示されたCU0は、32×32画素のサイズを有する。
 図14(b)は、図14(a)に示されたCU0におけるTUの構成例を示す図である。図14(b)には、16×16 画素で構成されたTUが4個の変換ユニットTU0~TU3で示されている。そして、TU0~TU3は、TU0,TU1,TU2,TU3の順で処理される。4個の変換ユニットTU0~TU3に対する処理として、逆量子化、逆周波数変換等があり、結果を残差画像として出力する。
 図14(c)は、図14(a)に示されたCU0におけるPUの構成例を示す図である。図14(c)には、32×8PUおよび32×24 PUが2個の予測ユニットPU0,PU1が示されている。そして、PU0,PU1は、PU0,PU1の順で処理される。
 図14(d)は、図14(a)に示されたCU0の分割後のブロックの構成例を示す図である。図14(d)には、4個のブロックBK0~BK3が示されている。そして、4個のブロックBK0~BK3は、BK0,BK1,BK2,BK3の順で処理される。4個のブロックBK0~BK3に対する処理として、再構成処理、インループフィルター処理及びフレームメモリ180への格納処理等がある。なお、図14(d)におけるブロック分割は、TUサイズと同等に分割した一例であり、PUサイズと同等に分割しても構わないし、他の分割方法でも構わない。
 図15は、図14に示されたCU,TU,PU、再構成画像に、図3の手順が適用されなかった場合のパイプライン処理を示すタイムチャートである。図15の例では、TU処理が、変換ユニットTU0,TU1,TU2,TU3の順で実行される。なお、TU処理前の復号部110での復号処理はTU処理以前に行われており、図示は省略している(以降のタイミングチャートでも同様に省略している)。同時に、PU処理が、予測ユニットPU0,PU1に対して、実行される。その後、再構成処理が、BK0~BK3に実行され、その後、インループフィルター処理がBK0~BK3に対して、実行される。
 図15の例では、TU処理がTU0に対して終了し、且つ、PU処理がPU0,PU1に対して終了するまで、再構成処理が開始できない。つまり、TU0が終了してから再構築処理を実行するまでに遅延時間が生じてしまう。
 図16は、図3の手順に従ってPU分割を実施した場合に関する、CU,PU,TU、再構成画像のブロック構成例を示す図である。
 図16(a)、図16(b)、図16(c)、図16(d)は、それぞれ、図14(a)、図14(b)、図14(c)、図14(d)と同じであるため、説明を省略する。
 図16(c’)では、図16(a)に示された符合化ユニットCU0における予測ユニットを予め設定された閾値、例えば、今回の場合、16×16画素として、分割された後のブロックの構成例を示す図である。図16(c’)には、ブロックの構成を点線で示し、さらに、実線と点線で処理の単位となる6個のブロックPU0a,PU0b,PU1a~PU1dが示されている。そして、ブロックPU0a,PU1a,PU0b,PU0b,PU1b,PU1c,PU1dの順で処理される。つまり、CU0を四分木分割されたブロックを四分木分割された順番でZ順に処理されることになる。
 図17は、図16に示されたCU,TU,PU、再構成画像に、図3の手順に従ってPU分割を実施した場合に関する、パイプライン処理を示すタイミングチャートである。
 図17の例では、TU処理が、変換ユニットTU0,TU1,TU2,TU3の順で実行される。同時に、PU処理が、ブロックPU0a,PU0b,PU1a~PU1dに対して、PU0a,PU1a,PU0b,PU1b,PU1c,PU1dの順で実行される。その後、再構成処理が、BK0~BK3に実行され、その後、インループフィルター処理がBK0~BK3に対して、実行される。ここで、TU0に対してTU処理が終了し、ブロックPU0a,PU1aに対してPU処理が終了した後、ブロックBK0の再構成処理が開始する。同様にTU1~TU3のTU処理が順に終了し、ブロックPU0b,PU1bの2ブロックと、PU1c,PU1dの各1ブロックずつのPU処理が順に終了するタイミングで、ブロックBK1~BK3の再構成処理が順に開始する。
 また、インループフィルター処理が、ブロックBK0~BK3に対して、BK0,BK1,BK2,BK3の順で実行される。ここで、ブロックBK0の再構成処理が終了した後、ブロックBK0のインループフィルター処理が開始する。同様に、ブロックBK1~BK3の再構成処理が順に終了するタイミングで、ブロックBK1~BK3のインループフィルター処理が順に開始する。
 図17の例では、分割後のブロックの予測画像は、変換ユニットと同じ順序で出力される。そのため、図15の場合に比べ、再構成処理に必要な、差分画像、および、差分画像と同じ領域の予測画像の両方が、早く揃う。したがって、再構成処理およびインループフィルター処理の開始の遅延が小さくなる。よって、復号処理が高速化する。また、図15の場合に比べ、再構成処理を開始が早くなる分、TU1~TU3のTU処理結果やPU1のPU処理結果を保持しておく必要がなく、局所参照メモリや予測画像メモリといった回路面積の削減もすることができる。
 上記のように、PU分割する閾値サイズを16×16程度にすることで、参照画像の取得には、従来のマクロブロック(16×16画素)程度と同等の転送サイズとなるため、外部メモリバスを占有させることはなく、また、従来と同程度のメモリバンド幅にて、復号処理を実現することが可能である。また、PU分割することで、内蔵の局所参照メモリ163や予測画像メモリ165を小さくすることができ、コストを抑えることが可能である。また、動き補償演算部164もPUサイズの規格最大である64×64画素に対応した回路を搭載する必要もなく、動き補償演算部164の面積を小さくすることが可能である。
 なお、PU分割する閾値サイズと同等もしくはそれ以下のCUサイズに対しては、PU分割を行うことなく、PUの大きさをそのままで予測処理することで、外部メモリのバンドを増大させることもなく、復号することが可能である。
 なお、外部メモリの性能向上により、バス占有率に問題ないのであれば、閾値サイズを大きくすることも可能である。
 また、本明細では、予測ユニットがインター予測である場合に関して、説明してきたが、イントラ予測である場合に関しても同様のPU分割方法が適用可能である。
 また、本明細では、変換ユニットが主に32×32 TUの場合に関して、説明してきたが、さらに小さなサイズに分割された場合に関しても(例えば、TU階層0,TU階層1,TU階層2などの場合)、TUサイズに関係なく、同様のPU分割方法が適用可能である。
 <実施の形態2>
 以下、本開示の実施の形態2における画像復号装置について説明する。実施の形態2に係る画像復号装置は、再構成処理の分割方法に関する点が実施の形態1と異なる。
 図18は、図3の手順に従ってPU分割を実施した場合に関する、CU,PU,TU、再構成画像のブロック構成例を示す図である。
 図18(a)、図18(b)、図18(c)、図18(c’)は、それぞれ、図8(a)、図8(b)、図8(c)、図8(c’)と同じであるため、説明を省略する。
 図18(d)では、図18(a)に示された符合化ユニットCU0の分割後の構成例を示す図である。図18(d)には、16個のブロックBK0~BK15が示されている。そして、16個のブロックBK0~BK15は、BK0,BK1,・・・,BK15の順で処理される。16個のブロックBK0~BK15に対する処理として、再構成処理、インループフィルター処理及びフレームメモリ180への格納処理等がある。なお、図18(d)におけるブロック分割は、PUの分割後のサイズと同等に分割した一例であり、その他にさらに小さく分割しても構わない。
 つまり、再構成処理において、CU0を四分木分割されたブロックを再帰的に四分木分割された順番で処理されることになる。
 図19は、図18に示されたCU,TU,PU、再構成画像に、図3の手順に従ってPU分割を実施した場合に関する、パイプライン処理を示すタイミングチャートである。
 図19の例では、TU処理が、変換ユニットTU0,TU1,TU2,TU3の順で実行される。同時に、PU処理が、ブロックPU0a~PU0h,PU1a~PU1hに対して、PU0a,PU0b,PU0c,PU0d,PU1a,PU1b,PU1c,PU1d,PU0e,PU0f,PU0g,PU0h,PU1e,PU1f,PU1g,PU1hの順で実行される。その後、再構成処理が、BK0~BK15に実行され、その後、インループフィルター処理がBK0~BK15に対して、実行される。
 ここで、TU0に対してTU処理が終了し、ブロックPU0a~PU0dに対してPU処理が終了した後、ブロックBK0~BK3の再構成処理が開始する。同様にTU1~TU3のTU処理が順に終了し、ブロックPU1a~PU1d,PU0e~PU0h,PU1e~PU1hの各4ブロックのPU処理が順に終了するタイミングで、ブロックBK4~BK7,BK8~BK11,BK12~BK15の再構成処理が順に開始する。
 また、インループフィルター処理が、ブロックBK0~BK15に対して、BK0,BK1,BK2,・・,BK15の順で実行される。ここで、ブロックBK0の再構成処理が終了した後、ブロックBK0のインループフィルター処理が開始する。同様に、ブロックBK1~BK15の再構成処理が順に終了するタイミングで、ブロックBK1~BK15のインループフィルター処理が順に開始する。
 図19の例では、再構成画像が16×16の単位で分割され処理されるため、インループフィルター処理もより細かな処理単位で実行されるため、図9の場合に比べ、インループフィルターの処理に必要な再構成画像がより早く揃う。したがって、インループフィルター処理の開始の遅延が小さくなる。よって、復号処理が高速化する。
 上記のように、再構成処理をPU分割する閾値サイズである16×16程度にすることで、従来のマクロブロック(16×16画素)と同等のパイプライン構成をとることが可能であり、従来と同等の処理性能を実現することが可能である。また、再構成処理単位をより小さく分割することで、再構成部140とインループフィルター部150間の内蔵メモリを小さくすることができ、コストを抑えることが可能である。
 <実施の形態3>
 以下、本開示の実施の形態3における画像復号装置について説明する。実施の形態3に係る画像復号装置は、復号部110の処理に関する点が実施の形態1と異なる。
 図20および図21では、復号部110の処理をパイプラインに追加している。
 図20は、実施の形態3に係る、図6に示されたCU,TU,PU、再構成画像に、従来のPU分割を実施した場合に関する、パイプライン処理を示すタイミングチャートである。
 図20の例では、PUサイズや予測ユニットに関するCUタイプやPUデータ、TUデータ(TU分割フラグ、TUに関する係数データ)TU0,TU1,TU2,TU3の順で復号処理が実行される。TU処理は、変換ユニットTU0,TU1,TU2,TU3の順で実行される。PU処理は、ブロックPU0a,PU0b,PU1a,PU1bに対して、PU0a,PU1a,PU0b,PU1bの順で実行される。その後、再構成処理が、BK0~BK3に実行され、その後、インループフィルター処理がBK0~BK3に対して、実行される。
 ここで、TU0の復号処理が終了すると、TU0のTU処理を開始する。同様にTU1~TU3の復号処理が終了し、TU0~TU2のTU処理が順に終了するタイミングで、TU1~TU3のTU処理が開始する。
 PU処理は、TUの大きさが確定した後、TUのエッジで分割したPUブロックの処理を開始する。すなわち、TU0~TU3の復号処理が終了後、ブロックPU0a,PU1a,PU0b,PU1bに対して、PU処理を開始する。ここで、TU0に対してTU処理が終了し、ブロックPU0aに対してPU処理が終了した後、ブロックBK0の再構成処理が開始する。同様にTU1~TU3のTU処理が順に終了し、ブロックPU1a,PU0b,PU1bに対して、PU処理が順に終了するタイミングで、ブロックBK1~BK3の再構成処理が順に開始する。
 また、インループフィルター処理が、ブロックBK0~BK3に対して、BK0,BK1,BK2,BK3の順で実行される。ここで、ブロックBK0の再構成処理が終了した後、ブロックBK0のインループフィルター処理が開始する。同様に、ブロックBK1~BK3の再構成処理が順に終了するタイミングで、ブロックBK1~BK3のインループフィルター処理が順に開始する。
 図21は、実施の形態3に係る、図8に示されたCU,TU,PU、再構成画像に、図3の手順に従ってPU分割を実施した場合に関する、パイプライン処理を示すタイミングチャートである。
 図21の例では、PUサイズや予測ユニットに関するCUタイプやPUデータ、TUデータ(TU分割フラグ、TUに関する係数データ)TU0,TU1,TU2,TU3の順で復号処理が実行される。TU処理は、変換ユニットTU0,TU1,TU2,TU3の順で実行される。PU処理は、ブロックPU0a,PU0b,PU1a,PU1bに対して、PU0a,PU1a,PU0b,PU1bの順で実行される。その後、再構成処理が、BK0~BK3に実行され、その後、インループフィルター処理がBK0~BK3に対して、実行される。
 ここで、TU0の復号処理が終了すると、TU0のTU処理を開始する。同様にTU1~TU3の復号処理が終了し、TU0~TU2のTU処理が順に終了するタイミングで、TU1~TU3のTU処理が開始する。
 PU処理は、TUの大きさに関わらず、PUサイズや予測ユニットに関するCUタイプやPUデータの復号処理が終了した後、分割されたPUブロックの処理を開始する。すなわち、PUサイズや予測ユニットに関するCUタイプやPUデータの復号処理が終了後、PU処理が、ブロックPU0a~PU0h,PU1a~PU1hに対して、PU0a~PU0d,PU1a~PU1d,PU0e~PU0h,PU1e~PU1hの順で実行される。ここで、TU0に対してTU処理が終了し、ブロックPU0a~PU0dに対してPU処理が終了した後、ブロックBK0の再構成処理が開始する。同様にTU1~TU3のTU処理が順に終了し、ブロックPU1a~PU1d,PU0e~PU0h,PU1e~PU1hの各4ブロックずつのPU処理が順に終了するタイミングで、ブロックBK1~BK3の再構成処理が順に開始する。
 また、インループフィルター処理が、ブロックBK0~BK3に対して、BK0,BK1,BK2,BK3の順で実行される。ここで、ブロックBK0の再構成処理が終了した後、ブロックBK0のインループフィルター処理が開始する。同様に、ブロックBK1~BK3の再構成処理が順に終了するタイミングで、ブロックBK1~BK3のインループフィルター処理が順に開始する。
 図21の例では、予測ユニットのPU処理がCUタイプ及びPUデータの復号処理直後に、開始される。そのため、図20の場合に比べ、再構成処理に必要な、差分画像、および、差分画像と同じ領域の予測画像の両方が、早く揃う。したがって、再構成処理およびインループフィルター処理の開始の遅延が小さくなる。よって、復号処理が高速化する。
 <その他の実施の形態>
 なお、実施の形態1乃至3では、その構成図を説明したが、実施の形態はこれだけでなく、1チップのLSIとして実現してもよいし、個別のLSIとして構成されてもよい。さらに、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。また、コンピューター上で実行されるプログラムとして実現されてもよい。
 本開示にかかる画像復号装置は、予測処理を用いて符号化された符号化ストリームを復号する画像復号装置およびその再生方法に有用である。また、DVDレコーダ、DVDプレーヤ、ブルーレイディスクレコーダ、ブルーレイディスクプレーヤやデジタルTV、さらにはスマートフォンなどの携帯情報端末等の用途にも応用可能である。
 100 画像復号装置
 110 復号部
 120 逆量子化部
 130 逆周波数変換部
 140 再構成部
 150 インループフィルター部
 160 動き補償部
 161 分割部
 162 フレームメモリ転送制御部
 163 局所参照メモリ
 164 動き補償演算部
 165 予測画像メモリ
 170 面内予測部
 180 フレームメモリ

Claims (12)

  1.  符号化ユニットは、予測処理の単位として、1以上の予測ユニットから構成され、周波数変換処理の単位としては、1以上の変換ユニットから構成され、
     前記1以上の予測ユニットに対する予測処理と、前記1以上の変換ユニットに対する周波数変換処理とを含む符号化処理によって符号化された符号化ストリームを復号する画像復号装置であって、
     前記予測ユニットの大きさが予め設定された大きさを超える場合、前記変換ユニットの大きさに関わらず、前記予測ユニットを複数のブロックに分割する分割手段と、
     前記予測ユニットを分割することで得られたブロック毎に、前記予測ユニットの予測画像に関する復号処理を行うことで予測画像を生成する予測画像生成手段と、
     前記予測画像生成手段で生成された予測画像を利用して画像を復元する画像復元手段とを備える
    ことを特徴とする画像復号装置。
  2.  前記分割手段は、前記予め設定された大きさ以下に分割する
    ことを特徴とする請求項1記載の画像復号装置。
  3.  前記分割手段は、前記符号化ユニットを構成する前記1以上の全ての予測ユニットをまとめた1つのブロックを、同じ大きさの4つのブロックに分割し、前記分割された各ブロックを前記分割手段に予め設定された大きさ以下になるまで再帰的に分割する
    ことを特徴とする請求項1記載の画像復号装置。
  4.  前記予測画像生成手段は、前記分割手段によって前記再帰的に分割されたブロックを再帰的に且つZ順に予測画像を生成する
    ことを特徴とする請求項3記載の画像復号装置。
  5.  前記分割手段は、前記分割手段に予め設定された大きさが16画素×16画素である
    ことを特徴とする請求項1~4のいずれか1項に記載の画像復号装置。
  6.  前記予測画像生成手段は、過去に復号された画像データを取得し、予測画像を生成する
    ことを特徴とする請求項1~5のいずれか1項に記載の画像復号装置。
  7.  前記予測画像生成手段は、過去に復号された画像データを外部メモリから取得し、予測画像を生成する
    ことを特徴とする請求項1~6のいずれか1項に記載の画像復号装置。
  8.  前記予測画像生成手段は、過去に復号された画像データから前記予測ユニットの動きベクトルを用いて、動き補償処理を行い、予測画像を生成する
    ことを特徴とする請求項1~7のいずれか1項に記載の画像復号装置。
  9.  前記画像復元手段は、逆周波数変換処理された残差画像を加算することで画像を復元する
    ことを特徴とする請求項1~8のいずれか1項に記載の画像復号装置。
  10.  前記符号化ストリームは、H.265で符号化されている
    ことを特徴とする請求項1~9のいずれか1項に記載の画像復号装置。
  11.  符号化ユニットは、予測処理の単位としては、1以上の予測ユニットから構成され、周波数変換処理単位としては、1以上の変換ユニットから構成され、
     前記1以上の予測ユニットに対する予測処理と、前記1以上の変換ユニットに対する周波数変換処理とを含む符号化処理によって符号化された符号化ストリームを復号する画像復号方法であって、
     前記予測ユニットの大きさが予め設定された大きさを超える場合、前記変換ユニットの大きさに関わらず、前記予測ユニットを複数のブロックに分割する分割ステップと、
     前記予測ユニットを分割することで得られたブロック毎に、前記予測ユニットの予測画像に関する復号処理を行うことで予測画像を生成する予測画像生成ステップと、
     前記予測画像生成ステップで生成された予測画像を利用して画像を復元する画像復元ステップとを含む
    ことを特徴とする画像復号方法。
  12.  符号化ユニットは、予測処理の単位としては、1以上の予測ユニットから構成され、周波数変換の処理としては、1以上の変換ユニットから構成され、
     前記1以上の予測ユニットに対する予測処理と、前記1以上の変換ユニットに対する周波数変換処理とを含む符号化処理によって符号化された符号化ストリームを復号する集積回路であって、
     前記予測ユニットの大きさが予め設定された大きさを超える場合、前記変換ユニットの大きさに関わらず、前記予測ユニットを複数のブロックに分割する分割部と、
     前記予測ユニットを分割することで得られたブロック毎に、前記予測ユニットの予測画像に関する復号処理を行うことで予測画像を生成する予測画像生成部と、
     前記予測画像生成部で生成された予測画像を利用して画像を復元する画像復元部とを備える
    ことを特徴とする集積回路。
PCT/JP2014/005790 2014-03-25 2014-11-18 画像復号装置、画像復号方法、及び集積回路 WO2015145504A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201480077416.1A CN106134192B (zh) 2014-03-25 2014-11-18 图像解码装置、图像解码方法及集成电路
JP2016509615A JP6569665B2 (ja) 2014-03-25 2014-11-18 画像復号装置、画像復号方法、及び集積回路
US15/274,877 US10306255B2 (en) 2014-03-25 2016-09-23 Image decoding device, image decoding method, and integrated circuit

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2014062418 2014-03-25
JP2014-062418 2014-03-25

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US15/274,877 Continuation US10306255B2 (en) 2014-03-25 2016-09-23 Image decoding device, image decoding method, and integrated circuit

Publications (1)

Publication Number Publication Date
WO2015145504A1 true WO2015145504A1 (ja) 2015-10-01

Family

ID=54194106

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/005790 WO2015145504A1 (ja) 2014-03-25 2014-11-18 画像復号装置、画像復号方法、及び集積回路

Country Status (4)

Country Link
US (1) US10306255B2 (ja)
JP (1) JP6569665B2 (ja)
CN (1) CN106134192B (ja)
WO (1) WO2015145504A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3700204A4 (en) * 2017-10-20 2020-08-26 Fujitsu Limited MOVING IMAGE ENCODING DEVICE, MOVING IMAGE ENCODING PROCESS, MOVING IMAGE ENCODING COMPUTER PROGRAM, MOVING IMAGE DECODING DEVICE, MOVING IMAGE DECODING PROCESS AND PROGRAM MOVING IMAGE DECODING COMPUTING
MX2020002143A (es) * 2017-12-06 2020-07-20 Fujitsu Ltd Metodos y aparatos para codificar y decodificar informacion de modo y dispositivo electronico.
CN110198440B (zh) * 2018-03-29 2022-11-18 腾讯科技(深圳)有限公司 编码预测信息的确定及视频编码的方法、装置及可读介质
CN116684594A (zh) * 2018-04-30 2023-09-01 寰发股份有限公司 照度补偿方法及相应的电子装置
WO2020119525A1 (zh) * 2018-12-13 2020-06-18 华为技术有限公司 一种帧间预测的方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006311526A (ja) * 2005-03-31 2006-11-09 Matsushita Electric Ind Co Ltd 画像復号装置、画像復号方法、画像復号プログラム、画像復号集積回路
WO2013076888A1 (ja) * 2011-11-21 2013-05-30 パナソニック株式会社 画像処理装置および画像処理方法
WO2013076897A1 (ja) * 2011-11-24 2013-05-30 パナソニック株式会社 画像処理装置および画像処理方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8588304B2 (en) * 2005-03-31 2013-11-19 Panasonic Corporation Video decoding device, video decoding method, video decoding program, and video decoding integrated circuit
GB0822605D0 (en) * 2008-12-11 2009-01-21 Pneumacare Ltd Method and apparatus for monitoring an object
US10033997B2 (en) * 2010-06-23 2018-07-24 Panasonic Intellectual Property Management Co., Ltd. Image decoding apparatus, image decoding method, integrated circuit, and program
CN103125119B (zh) * 2010-10-04 2016-10-26 松下知识产权经营株式会社 图像处理装置、图像编码方法以及图像处理方法
KR20120070479A (ko) * 2010-12-21 2012-06-29 한국전자통신연구원 화면 내 예측 방향 정보 부호화/복호화 방법 및 그 장치
US9392301B2 (en) * 2011-07-01 2016-07-12 Qualcomm Incorporated Context adaptive entropy coding for non-square blocks in video coding
KR101600615B1 (ko) * 2011-07-22 2016-03-14 구글 테크놀로지 홀딩스 엘엘씨 비디오 코딩에서 직사각형 변환을 스캐닝하기 위한 장치 및 방법
US8893102B2 (en) * 2011-07-27 2014-11-18 Oracle International Corporation Method and system for performing backward-driven path-sensitive dataflow analysis
MY167316A (en) * 2011-11-04 2018-08-16 Sharp Kk Arithmetic decoding device, image decoding device, arithmetic coding device, image coding device, and arithmetic decoding method
EP4009640A1 (en) * 2011-11-08 2022-06-08 Electronics and Telecommunications Research Institute Method and device for sharing a candidate list
CN108174205A (zh) * 2011-12-05 2018-06-15 Lg 电子株式会社 帧内预测的方法和设备
KR102001332B1 (ko) * 2012-12-29 2019-07-17 애플 인크. 콘텐츠를 스크롤할지 선택할지 결정하기 위한 디바이스, 방법 및 그래픽 사용자 인터페이스

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006311526A (ja) * 2005-03-31 2006-11-09 Matsushita Electric Ind Co Ltd 画像復号装置、画像復号方法、画像復号プログラム、画像復号集積回路
WO2013076888A1 (ja) * 2011-11-21 2013-05-30 パナソニック株式会社 画像処理装置および画像処理方法
WO2013076897A1 (ja) * 2011-11-24 2013-05-30 パナソニック株式会社 画像処理装置および画像処理方法

Also Published As

Publication number Publication date
US20170013270A1 (en) 2017-01-12
JP6569665B2 (ja) 2019-09-04
CN106134192A (zh) 2016-11-16
JPWO2015145504A1 (ja) 2017-04-13
CN106134192B (zh) 2020-08-11
US10306255B2 (en) 2019-05-28

Similar Documents

Publication Publication Date Title
US10841607B2 (en) Inter prediction method and apparatus based on history-based motion vector
US11445209B2 (en) History-based image coding method and apparatus
US11601640B2 (en) Image coding method using history-based motion information and apparatus for the same
KR101540168B1 (ko) 전이 영역 내의 샘플들의 식별
CN113853797B (zh) 使用变换索引的图像编码
TW201444350A (zh) 方形區塊預測
JP6569665B2 (ja) 画像復号装置、画像復号方法、及び集積回路
JP2023158171A (ja) マトリックスに基づくイントラ予測装置及び方法
JP2022513203A (ja) 2次変換に基づく映像コーディング方法及びその装置
CN114402598A (zh) 使用滤波的图像编码/解码方法和装置及发送比特流的方法
JP2014230031A (ja) 画像符号化装置、及び画像符号化プログラム
RU2780018C1 (ru) Способ и устройство декодирования изображения и способ и устройство кодирования изображения в системе кодирования изображения
RU2795696C2 (ru) Преобразование при кодировании изображений на основе внутреннего прогнозирования
RU2795799C2 (ru) Преобразование для матричного внутреннего прогнозирования при кодировании изображений

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2016509615

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14887414

Country of ref document: EP

Kind code of ref document: A1