WO2014103774A1 - 画像処理装置および方法 - Google Patents

画像処理装置および方法 Download PDF

Info

Publication number
WO2014103774A1
WO2014103774A1 PCT/JP2013/083598 JP2013083598W WO2014103774A1 WO 2014103774 A1 WO2014103774 A1 WO 2014103774A1 JP 2013083598 W JP2013083598 W JP 2013083598W WO 2014103774 A1 WO2014103774 A1 WO 2014103774A1
Authority
WO
WIPO (PCT)
Prior art keywords
motion information
unit
block
encoding
image
Prior art date
Application number
PCT/JP2013/083598
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 US14/648,350 priority Critical patent/US20150304678A1/en
Priority to CN201380066967.3A priority patent/CN104885464A/zh
Priority to JP2014554329A priority patent/JPWO2014103774A1/ja
Publication of WO2014103774A1 publication Critical patent/WO2014103774A1/ja

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/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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/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/187Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a scalable video layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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
    • H04N19/517Processing of motion vectors by encoding

Definitions

  • the present disclosure relates to an image processing apparatus and method, and more particularly, to an image processing apparatus and method capable of suppressing a reduction in encoding efficiency.
  • 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 did not support encoding methods with a lower code amount (bit rate) than MPEG1, that is, a higher compression rate.
  • bit rate code amount
  • MPEG4 encoding system has been standardized accordingly.
  • the standard was approved as an international standard in December 1998 as ISO / IEC 14496-2.
  • H.26L International Telecommunication Union Telecommunication Standardization Sector
  • Q6 / 16 VCEG Video Coding Expert Group
  • H.26L is known to achieve higher encoding efficiency than the conventional encoding schemes such as MPEG2 and MPEG4, although a large amount of calculation is required for encoding and decoding.
  • Joint ⁇ ⁇ ⁇ ⁇ Model of Enhanced-Compression Video Coding has been implemented based on this H.26L and incorporating functions not supported by H.26L to achieve higher coding efficiency. It was broken.
  • AVC Advanced Video Coding
  • HEVC High Efficiency Video Video Coding
  • JCTVC Joint Collaboration Collaboration Team Video Coding
  • ISO / IEC ISO / IEC
  • the standardization of the encoding method called is being advanced.
  • CommitteeCommitdraft which is the first draft version specification, was issued in February 2012 (see Non-Patent Document 1, for example).
  • the conventional image encoding methods such as MPEG-2 and AVC have a scalability function for encoding an image by layering it into a plurality of layers.
  • a mobile phone or other low-processing-capacity terminal transmits image compression information of only the base layer (base layer), and reproduces a moving image with low spatiotemporal resolution or poor image quality.
  • base layer the image compression information of the enhancement layer is transmitted, and the space-time resolution is high.
  • AMVP Advanced Motion Vector Prediction
  • Merge Merge
  • This disclosure has been made in view of such a situation, and is intended to suppress a reduction in encoding efficiency.
  • One aspect of the present technology provides hierarchical image encoded data obtained by encoding a plurality of hierarchized image data, and motion information encoded data obtained by encoding the motion information used for encoding the image data.
  • the motion information encoding received by the receiving unit using the motion information of the peripheral block of a different layer from the current block when the motion information of the receiving unit and the peripheral block of the same layer as the current block is unavailable A motion information decoding unit that decodes data, and the motion information obtained by decoding the motion information encoded data by the motion information decoding unit, to decode the hierarchical image encoded data received by the receiving unit
  • An image processing apparatus including a decoding unit.
  • the motion information decoding unit uses the motion information of the peripheral block to encode the motion information used for encoding the image data when the motion information of the peripheral block in the same layer as the current block is available. Reconstructing the predicted motion information used, using the reconstructed predicted motion information, decoding the motion information encoded data, and when motion information of neighboring blocks in the same layer as the current block is unavailable, Using the motion information of peripheral blocks in a layer different from the current block, the predicted motion information used for encoding the motion information used for encoding the image data is reconstructed, and the reconstructed predicted motion information is used. Thus, the motion information encoded data can be decoded.
  • the motion information decoding unit corresponds to the peripheral block in a layer different from the current block, instead of unavailable motion information of the peripheral block in the same layer as the current block in AMVP (Advanced Motion Vector Prediction) mode. Available motion information of neighboring blocks can be used as a candidate for the predicted motion information.
  • AMVP Advanced Motion Vector Prediction
  • the motion information decoding unit corresponds to the peripheral block in a layer different from the current block, instead of the unusable motion information in which the scaling process in the time axis direction of the peripheral block in the same layer as the current block is performed.
  • Available motion information that is subjected to scaling processing in the time axis direction of peripheral blocks is used as a candidate for the predicted motion information, and unavailable data that is not subjected to scaling processing in the time axis direction of peripheral blocks in the same layer as the current block.
  • available motion information of a peripheral block corresponding to the peripheral block in a layer different from the current block and not subjected to scaling processing in the time axis direction can be used as a candidate for the predicted motion information. .
  • the motion information decoding unit can perform the scaling process in the spatial direction on the motion information of peripheral blocks in a layer different from the current block according to the resolution ratio between layers.
  • the motion information decoding unit compensates for a missing number in the prediction motion information candidate list in the merge mode with available motion information of a peripheral block corresponding to the peripheral block in a layer different from the current block. Can do.
  • the receiving unit further receives, in the candidate list, control information that specifies whether to use motion information of a block in the same layer as the current block and to use motion information of a block in a layer different from the current block. be able to.
  • the motion information decoding unit based on the control information received by the receiving unit, when using motion information of blocks in the same layer as the current block for the candidate list, to compensate for missing numbers in the candidate list,
  • the candidate list is compensated for missing numbers in the same layer as the current block.
  • Block motion information can be used.
  • the motion information decoding unit can compensate for the missing number in the candidate list by using motion information of a block different from the neighboring block that is a collocated block in a layer different from the current block.
  • One aspect of the present technology also includes hierarchical image encoded data obtained by encoding a plurality of hierarchized image data, and motion information encoded data obtained by encoding the motion information used for encoding the image data.
  • the received motion information encoded data is decoded using the motion information of the peripheral block in a layer different from the current block, It is an image processing method for decoding received hierarchical image encoded data using motion information obtained by decoding the motion information encoded data.
  • an encoding unit that encodes image data that has been hierarchized using motion information, and the motion information of peripheral blocks in the same layer as the current block are unavailable, the current block A motion information encoding unit that encodes the motion information used for encoding the image data by the encoding unit using motion information of peripheral blocks in a different layer from the encoding unit, and the image data by the encoding unit
  • An image processing apparatus comprising: a transmission unit that transmits hierarchical image encoded data obtained by encoding the motion information and the motion information encoded data obtained by encoding the motion information by the motion information encoding unit It is.
  • the motion information encoding unit generates predicted motion information using the motion information of the peripheral block when the motion information of the peripheral block in the same layer as the current block is available, and uses the generated predicted motion information
  • predicted motion information is generated using motion information of a neighboring block in a layer different from the current block
  • the motion information can be encoded using the predicted motion information.
  • the motion information encoding unit corresponds to the peripheral block in a layer different from the current block, instead of the unusable motion information of the peripheral block in the same layer as the current block in AMVP (Advanced Motion Vector Prediction) mode.
  • Available motion information of neighboring blocks to be used can be a candidate for the predicted motion information.
  • the motion information encoding unit corresponds to the peripheral block in a layer different from the current block, instead of the unusable motion information in which the temporal block scaling process is performed on the peripheral block in the same layer as the current block.
  • An available motion information that is subjected to scaling processing in the time axis direction of the peripheral block to be used as a candidate for the predicted motion information, and that is not subjected to scaling processing in the time axis direction of the peripheral block in the same layer as the current block instead of such motion information, available motion information that is not subjected to scaling processing in the time axis direction of peripheral blocks corresponding to the peripheral blocks in a layer different from that of the current block may be used as the predicted motion information candidates. it can.
  • the motion information encoding unit can perform the scaling process in the spatial direction on the motion information of peripheral blocks in a layer different from the current block according to the resolution ratio between layers.
  • the motion information encoding unit compensates for a missing number in the prediction motion information candidate list in the merge mode with available motion information of a peripheral block corresponding to the peripheral block in a layer different from the current block. be able to.
  • the transmission unit further transmits, to the candidate list, control information that specifies whether to use motion information of a block in the same layer as the current block or to use motion information of a block in a layer different from the current block. can do.
  • the motion information encoding unit uses the motion information of a block in a layer different from the current block to compensate for the missing number in the candidate list.
  • motion information of a block having a layer different from that of the current block is used in the candidate list, motion information of a block of the same layer as the current block can be used to compensate for a missing number in the candidate list.
  • the motion information encoding unit can compensate for the missing number in the candidate list by using motion information of a block different from the neighboring block that is a collocated block in a layer different from the current block.
  • a layer different from the current block is used.
  • the motion information used for encoding the image data is encoded using the motion information of the peripheral blocks of the image, the hierarchical image encoded data obtained by encoding the image data, and the motion information is encoded.
  • This is an image processing method for transmitting motion information encoded data obtained by converting into motion information.
  • hierarchical image encoded data obtained by encoding multiple hierarchized image data and motion information encoded data obtained by encoding motion information used for encoding the image data include: When the motion information of the peripheral block in the same layer as the current block is unavailable, the motion information of the peripheral block in a layer different from the current block is used, the received motion information encoded data is decoded, and the motion information The received hierarchical image encoded data is decoded using the motion information obtained by decoding the encoded data.
  • the peripheral of a layer different from the current block is used, the motion information used to encode the image data is encoded, the hierarchical image encoded data obtained by encoding the image data, and the motion information are encoded.
  • the motion information encoded data thus transmitted is transmitted.
  • an image can be encoded and decoded.
  • a reduction in encoding efficiency can be suppressed.
  • FIG. 12 It is a figure explaining the structural example of a coding unit. It is a figure explaining the example of spatial scalable encoding. It is a figure explaining the example of temporal scalable encoding. It is a figure explaining the example of the scalable encoding of a signal noise ratio. It is a figure explaining AMVP. It is a figure explaining merge (Merge). It is a figure explaining encoding of ID of a candidate list. It is a figure explaining filling of a missing number list. It is a figure explaining the case of cropping. It is a figure explaining utilization of the motion information of a base layer. It is a figure which shows the example of the syntax of a sequence parameter set.
  • FIG. 12 is a diagram subsequent to FIG.
  • FIG. 11 illustrating an example of the syntax of the sequence parameter set. It is a figure which shows the example of a slice header. It is a figure following FIG. 13 which shows the example of a slice header. It is a figure following FIG. 14 which shows the example of a slice header. It is a block diagram which shows the main structural examples of a scalable encoding apparatus. It is a block diagram which shows the main structural examples of a base layer image coding part. It is a block diagram which shows the main structural examples of an enhancement layer image coding part. It is a block diagram which shows the main structural examples of a motion information encoding part. It is a flowchart explaining the example of the flow of an encoding process.
  • FIG. 26 It is a flowchart explaining the example of the flow of a base layer encoding process. It is a flowchart explaining the example of the flow of an enhancement layer encoding process. It is a flowchart explaining the example of the flow of a motion prediction and compensation process. It is a flowchart explaining the example of the flow of a motion information encoding process. It is a flowchart explaining the example of the flow of AMVP processing. It is a flowchart explaining the example of the flow of a spatial prediction motion information search process. It is a flowchart following FIG. 26 for explaining an example of the flow of the spatial prediction motion information search process. It is a flowchart explaining the other example of the flow of a spatial prediction motion information search process.
  • FIG. 26 for explaining an example of the flow of the spatial prediction motion information search process.
  • FIG. 29 is a flowchart following FIG. 28 for explaining another example of the flow of the spatial prediction motion information search process. It is a flowchart explaining the example of the flow of a time prediction motion information search process. It is a flowchart explaining the example of the flow of a merge process. It is a flowchart explaining the example of the flow of a base layer motion information selection process. It is a flowchart explaining the example of the flow of a layer control process. It is a block diagram which shows the main structural examples of a scalable decoding apparatus. It is a block diagram which shows the main structural examples of a base layer image decoding part. It is a block diagram which shows the main structural examples of an enhancement layer image decoding part.
  • FIG. 20 is a block diagram which shows the main structural examples of a motion information decoding 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 base layer decoding process. It is a flowchart explaining the example of the flow of an enhancement layer decoding process. It is a flowchart explaining the example of the flow of a prediction process. It is a flowchart explaining the example of the flow of a motion information decoding process. It is a figure which shows the example of a hierarchy image coding system. It is a figure which shows the example of a multiview image encoding system. And FIG. 20 is a block diagram illustrating a main configuration example of a computer.
  • ⁇ Coding unit> In the AVC (Advanced Video Coding) method, a hierarchical structure is defined by macroblocks and sub-macroblocks. However, a macroblock of 16 pixels ⁇ 16 pixels is not optimal for a large image frame such as UHD (Ultra High Definition; 4000 pixels ⁇ 2000 pixels), which is a target of the next generation encoding method.
  • UHD Ultra High Definition
  • a coding unit (Coding Unit)) is defined.
  • CU also called Coding Tree Block (CTB)
  • CTB Coding Tree Block
  • the maximum size (LCU (Largest Coding Unit)) and the minimum size (SCU (Smallest Coding Unit)) are specified.
  • 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
  • a macro block in the AVC method corresponds to an LCU
  • a block (sub block) corresponds to a CU. Then you can think.
  • a motion compensation block in the AVC method can be considered to correspond to a PU.
  • the size of the LCU of the highest hierarchy is generally set larger than the macro block of the AVC method, for example, 128 ⁇ 128 pixels.
  • the LCU also includes a macroblock in the AVC scheme
  • the CU also includes a block (sub-block) in the AVC scheme.
  • “block” used in the following description indicates an arbitrary partial area in the picture, and its size, shape, characteristics, and the like are not limited. That is, the “block” includes an arbitrary area (processing unit) such as a TU, PU, SCU, CU, LCU, sub-block, macroblock, or slice. Of course, other partial areas (processing units) are also included. When it is necessary to limit the size, processing unit, etc., it will be described as appropriate.
  • JM Job Model
  • JM JM
  • High Complexity Mode Low Complexity Mode.
  • a cost function value for each prediction mode Mode is calculated, and a prediction mode that minimizes the cost function value is selected as the optimum mode for the block or macroblock.
  • is a whole set of candidate modes for encoding the block or macroblock
  • D is a difference energy between the decoded image and the input image when encoded in the prediction mode.
  • is a Lagrange undetermined multiplier given as a function of the quantization parameter.
  • R is the total code amount when encoding is performed in this mode, including orthogonal transform coefficients.
  • D is the difference energy between the predicted image and the input image, unlike the case of High Complexity Mode.
  • QP2Quant QP
  • HeaderBit is a code amount related to information belonging to Header, such as a motion vector and mode, which does not include an orthogonal transform coefficient.
  • Scalable encoding is a scheme in which an image is divided into a plurality of layers (hierarchical) and encoded for each layer.
  • one image is divided into a plurality of images (layers) based on predetermined parameters.
  • each layer is composed of difference data so that redundancy is reduced.
  • a base layer and an enhancement layer an image with lower quality than the original image can be obtained with only the base layer data, and the base layer data and the enhancement layer data are combined.
  • the original image that is, a high quality image
  • image compression information of only the base layer (base layer) is transmitted, and a moving image with low spatiotemporal resolution or poor image quality is played
  • base layer For terminals with high processing power, such as televisions and personal computers, in addition to the base layer (base layer), image enhancement information of the enhancement layer (enhancement layer) is transmitted.
  • Image compression information corresponding to the capabilities of the terminal and the network can be transmitted from the server without performing transcoding processing, such as playing a moving image with high image quality.
  • spatial scalability As a parameter for giving such scalability, for example, there is a spatial resolution as shown in FIG. 2 (spatial scalability). In the case of this spatial scalability (spatial scalability), the resolution is different for each layer. That is, as shown in FIG. 2, enhancement in which each picture is synthesized with a base layer having a spatially lower resolution than the original image and the base layer image to obtain the original image (original spatial resolution). Layered into two layers. Of course, this number of hierarchies is an example, and the number of hierarchies can be hierarchized.
  • temporal resolution as shown in FIG. 3 (temporal scalability).
  • the frame rate is different for each layer. That is, in this case, as shown in FIG. 3, layers are layered at different frame rates, and by adding a high frame rate layer to a low frame rate layer, a higher frame rate moving image is obtained. By adding all the layers, the original moving image (original frame rate) can be obtained.
  • This number of hierarchies is an example, and can be hierarchized to an arbitrary number of hierarchies.
  • each picture has two layers of enhancement layers in which the original image (original SNR) is obtained by combining the base layer with a lower SNR than the original image and the base layer image. Is layered.
  • the base layer image compression information information related to the low PSNR image is transmitted, and the enhancement layer (enhancement layer) image compression information is added to this to reconstruct a high PSNR image. It is possible.
  • this number of hierarchies is an example, and the number of hierarchies can be hierarchized.
  • the base layer (base layer) consists of an 8-bit (bit) image, and by adding an enhancement layer (enhancement layer) to this, the bit-depth scalability (bit-depth scalability) can be obtained. is there.
  • base layer (base ⁇ ⁇ layer) consists of component images in 4: 2: 0 format, and by adding the enhancement layer (enhancement layer) to this, chroma scalability (chroma) scalability).
  • inter-picture prediction is adopted as one of the methods for generating a predicted image.
  • AMVP Two methods are defined: Advanced (Motion) Vector (Prediction) and Merge.
  • a predicted value (also referred to as predicted motion information) of motion information in the current block is generated from motion information in a peripheral block (peripheral PU) located around the current block (PU) to be processed.
  • a difference value between the predicted motion information and the motion information of the current block is calculated, and the difference value is included in the bit stream of the image data and transmitted as the motion information encoding result.
  • predicted motion information generated from the neighboring blocks is used as motion information for the current block. Then, index information indicating the predicted motion information is included in the bit stream of the image data and transmitted.
  • the predicted motion information includes motion information of a temporal peripheral block that is a peripheral block in the time direction of the current block (also referred to as temporal peripheral motion information), and a spatial peripheral block that is a peripheral block in the spatial direction.
  • Motion information also referred to as spatial direction peripheral motion information.
  • spatial direction peripheral motion information is the motion information of peripheral block A0, peripheral block B0, peripheral block C, peripheral block D, and peripheral block E. is there.
  • the temporal direction peripheral motion information is the peripheral block CR and the peripheral block H of the picture of the collocated block (Co-located-PU).
  • one of the peripheral block A0 and the peripheral block E in FIG. 5 is selected as a predicted motion information candidate.
  • One of block C, peripheral block B0, and peripheral block D is selected.
  • VEC1 is the motion information of the current block
  • ref_idx and list are the same motion information
  • VEC2 is the motion information of the current block
  • ref_idx is the same, but the list is different motion information
  • VEC3 is The motion information of the current block is different from ref_idx but the list is the same
  • VEC4 is the motion information of the current block
  • ref_idx and list are different motion information.
  • the candidates for the spatial direction peripheral motion information are searched (scanned) in the following order.
  • Scan VEC1 of peripheral block E and peripheral block A0 (1) Scan VEC1 of peripheral block E and peripheral block A0. (2) Scan VEC2, 3, and 4 of peripheral block E and peripheral block A0. (3) Scan VEC1 of peripheral block C, peripheral block B0, and peripheral block D. (4) Scan VEC2, 3, and 4 of peripheral block C, peripheral block B0, and peripheral block D.
  • the scanning process ends when the corresponding motion information is detected.
  • the motion information of the peripheral block CR is used as a candidate for predicted motion information. Used.
  • the spatial peripheral motion information is the motion information of the peripheral blocks 1 to 5.
  • the temporal direction peripheral motion information is the peripheral block CR6 and the peripheral block H6 of the picture of the collocated block (Co-located PU).
  • the motion information of the peripheral blocks 1 to 4 in FIG. 6 is used as a predicted motion information candidate, and a candidate list is generated. Is done. If at least one piece of motion information of the peripheral blocks 1 to 4 is unavailable, the motion information of the peripheral block 5 is used.
  • the number of prediction motion information candidates in the merge mode (the size of the candidate list) is always fixed to five. That is, as shown in FIG. 7, the list size (List Size) of the index (Merge_idx) is fixed to 5. Thereby, CABAC and motion prediction can be processed independently.
  • this candidate list may be missing. If missing numbers are generated in the candidate list, the encoding efficiency may be reduced. Therefore, in order to prevent missing numbers from appearing in the candidate list, for example, as shown in FIG. 8, a compensation method such as combined merge (Combined bi-directional merge) or zero vector merge (Zero vector merge) has been considered.
  • Zero vector merging is a method of generating a new candidate using a zero vector and filling it.
  • an enhancement layer that refers to information of the base layer (Baselayer) during encoding
  • a part of the whole image can be cropped and encoded.
  • the motion information of the neighboring blocks that are available in the base layer is not available (not available) (not available) in the enhancement layer. It is also conceivable that
  • motion information has a high correlation between a base layer and an enhancement layer.
  • the available peripheral motion information of the base layer is used instead of the unusable peripheral motion information in the enhancement layer.
  • the upper side shows an enhancement layer block
  • the lower side shows a base layer block.
  • the large block (Curr PU) at the upper left of FIG. 10 shows the enhancement layer current block (the block to be processed), and the blocks with the peripheral numbers are the peripheral blocks in the spatial direction of the enhancement layer current block.
  • the large block in the upper right of FIG. 10 indicates a block at the same position in a picture different from the current block of the enhancement layer.
  • the block with CR and the block with H are peripheral blocks in the temporal direction of the current block of the enhancement layer ( This block can be a collocated block.
  • the large block (Curr PU) at the bottom left of Fig. 10 shows the current block of the base layer.
  • this block is a block corresponding to the current block of the enhancement layer that exists at the same position as the current block of the enhancement layer.
  • the blocks to which the peripheral numbers are attached are the peripheral blocks in the spatial direction of the current block of the base layer.
  • the large block in the lower right of FIG. 10 shows a block at the same position in a picture different from the current block of the base layer, and a block with CR and a block with H are peripheral blocks in the time direction of the current block of the base layer ( This block can be a collocated block.
  • the motion information of the block 2 of the base layer is applied as substitute information of the motion information of the block 2 of the enhancement layer.
  • the enhancement layer depends on the scalability ratio (resolution ratio) between the base layer and the enhancement layer.
  • the base layer motion information to be applied instead of the motion information may be scaled.
  • the base layer motion information applied instead of the enhancement layer motion information is also scaled in the time axis direction when the current block motion information is different from the reference index. ) Processing may be performed.
  • unscaled motion information in the base layer is used as alternative information for unscaled motion information in the enhancement layer
  • base layer is used as alternative information in scaled motion information in the enhancement layer.
  • Scaled motion information at may be used.
  • ⁇ In merge mode> if there is a missing number in the prediction motion information candidate list in the enhancement layer, the base layer available motion information is supplemented in the candidate list. In other words, if there is a missing number in the candidate list, the motion information of the current block in the base layer corresponding to the current block in the enhancement layer is supplemented in the candidate list.
  • the peripheral block CR6 in FIG. 6 when the peripheral block CR6 in FIG. 6 is a collocated block and the motion information is used as collocated motion information, a compensation process is performed using the motion information of the peripheral block H6.
  • the compensation process may be performed using the motion information of the peripheral block CR6.
  • the compensation process by combined merge cannot be applied, and only the compensation by zero vector merge can be applied. For this reason, particularly when the current picture is a P picture, the conventional compensation method may not be able to improve the encoding efficiency.
  • the above-described method for compensating for the base layer motion information can be compensated for even if the enhancement layer current picture is a P picture, if the base layer motion information is available. Therefore, even if the current picture is a P picture, the encoding efficiency can be improved.
  • this compensation method may be used in combination with other compensation methods such as combined merge (also referred to as Combined Merge-Candidate) and zero vector merge (also referred to as Zero Merge-Candidate).
  • combined merge also referred to as Combined Merge-Candidate
  • zero vector merge also referred to as Zero Merge-Candidate
  • a base layer predictor may be used instead of a temporal predictor in a single-layer HEVC. That is, instead of using base layer motion information for missing number compensation, base layer motion information may be used instead of motion information of neighboring blocks in the time direction when generating a candidate list.
  • a base layer predictor may be used to compensate for the missing number list. Further, when a base layer predictor is designated as collocated motion information, a temporal predictor may be used to compensate for the missing number list.
  • information (for example, a flag) that specifies which of the temporal predictor and the base layer predictor is used as collocated motion information is transmitted in a slice header (SliceHeader) of encoded data obtained by encoding image data. You may make it do.
  • sliceHeader slice header
  • information may be transmitted as information (for example, an indicator) specifying a predictor to be used for the candidate flag.
  • FIG. 11 to FIG. 15 show specific examples of syntax in the case of transmitting such an indicator.
  • 11 and 12 are diagrams illustrating an example of the syntax of the sequence parameter set.
  • 13 to 15 are diagrams illustrating examples of syntax of slice segment headers.
  • a parameter sps_col_mvp_indicator that designates a predictor used for the candidate list is transmitted for the current sequence to be processed.
  • a parameter slice_col_mvp_indicator that designates a predictor used in the candidate list is transmitted.
  • a candidate list is created only by a spatial predictor that is motion information of peripheral blocks in the spatial direction.
  • a candidate list is created only by the spatial predictor and the motion information (col_baselayer_mv) of the base layer.
  • the value of the parameter sps_col_mvp_indicator is “2”, a candidate list is created based on the spatial predictor (spatial predictor) and the motion information (col_tmvp) of the peripheral blocks in the time direction.
  • a candidate list is created based on the spatial predictor (spatial predictor), the motion information of the base layer (col_baselayer_mv), and the motion information of the neighboring blocks in the time direction (col_tmvp). .
  • the base layer image encoding / decoding may be based on the AVC encoding method.
  • the encoding efficiency in the enhancement layer can be improved.
  • FIG. 16 is a block diagram illustrating a main configuration example of a scalable encoding device.
  • a scalable encoding device 100 shown in FIG. 16 is an image information processing device that encodes image data in a scalable manner, and encodes each layer of image data layered into a base layer and an enhancement layer.
  • the parameters used as the criteria for this hierarchization are arbitrary.
  • the scalable encoding device 100 includes a common information generation unit 101, an encoding control unit 102, a base layer image encoding unit 103, a motion information encoding unit 104, and an enhancement layer image encoding unit 105.
  • the common information generation unit 101 acquires information related to encoding of image data that is stored in, for example, a NAL unit. In addition, the common information generation unit 101 acquires necessary information from the base layer image encoding unit 103, the motion information encoding unit 104, the enhancement layer image encoding unit 105, and the like as necessary. The common information generation unit 101 generates common information that is information regarding all layers based on the information. The common information includes, for example, a video parameter set. The common information generation unit 101 outputs the generated common information to the outside of the scalable encoding device 100, for example, as a NAL unit. Note that the common information generation unit 101 also supplies the generated common information to the encoding control unit 102. Furthermore, the common information generation unit 101 supplies part or all of the generated common information to the base layer image encoding unit 103 to the enhancement layer image encoding unit 105 as necessary.
  • the encoding control unit 102 controls the encoding of each layer by controlling the base layer image encoding unit 103 to the enhancement layer image encoding unit 105 based on the common information supplied from the common information generation unit 101. To do.
  • the base layer image encoding unit 103 acquires base layer image information (base layer image information).
  • the base layer image encoding unit 103 encodes the base layer image information without using information of other layers, generates base layer encoded data (base layer encoded data), and outputs the encoded data. Further, the base layer image encoding unit 103 supplies the motion information obtained at the time of encoding to the motion information encoding unit 104.
  • the heel motion information encoding unit 104 encodes motion information obtained by motion prediction in the enhancement layer image encoding unit 105.
  • the motion information encoding unit 104 generates predicted motion information that is a predicted value of the motion information of the current block, using the motion information of the peripheral blocks located around the current block to be processed as the peripheral motion information.
  • the motion information encoding unit 104 uses the motion information acquired from the enhancement layer image encoding unit 105 as peripheral motion information.
  • the motion information encoding unit 104 uses the available motion information acquired from the base layer image encoding unit 103 as peripheral motion information instead of the unavailable motion information.
  • the motion information encoding unit 104 encodes the motion information of the current block using the predicted motion information generated in this way, and returns the encoding result to the enhancement layer image encoding unit 105.
  • the enhancement layer image encoding unit 105 acquires enhancement layer image information (enhancement layer image information).
  • the enhancement layer image encoding unit 105 encodes the enhancement layer image information.
  • the enhancement layer image encoding unit 105 supplies the motion information of the current block to the motion information encoding unit 104 in order to encode the motion information of the current block. Further, the enhancement layer image encoding unit 105 acquires the motion information encoding result of the current block from the motion information encoding unit 104.
  • the enhancement layer image encoding unit 105 generates and outputs enhancement layer encoded data (enhancement layer encoded data) through such encoding.
  • FIG. 17 is a block diagram illustrating a main configuration example of the base layer image encoding unit 103 in FIG. 16.
  • the base layer image encoding unit 103 includes an A / D conversion unit 111, a screen rearrangement buffer 112, a calculation unit 113, an orthogonal transformation unit 114, a quantization unit 115, a lossless encoding unit 116, The storage buffer 117, the inverse quantization unit 118, and the inverse orthogonal transform unit 119 are included.
  • the base layer image encoding unit 103 includes a calculation unit 120, a loop filter 121, a frame memory 122, a selection unit 123, an intra prediction unit 124, a motion prediction / compensation unit 125, a predicted image selection unit 126, and a rate control unit 127.
  • the A / D conversion unit 111 performs A / D conversion on the input image data (base layer image information), and supplies the converted image data (digital data) to the screen rearrangement buffer 112 for storage.
  • the screen rearrangement buffer 112 rearranges the images of the frames in the stored display order in the order of frames for encoding according to the GOP (Group Of Picture), and rearranges the images in the order of the frames. It supplies to the calculating part 113.
  • the screen rearrangement buffer 112 also supplies the image in which the frame order is rearranged to the intra prediction unit 124 and the motion prediction / compensation unit 125.
  • the calculation unit 113 subtracts the predicted image supplied from the intra prediction unit 124 or the motion prediction / compensation unit 125 via the predicted image selection unit 126 from the image read from the screen rearrangement buffer 112, and the difference information Is output to the orthogonal transform unit 114. For example, in the case of an image on which intra coding is performed, the calculation unit 113 subtracts the prediction image supplied from the intra prediction unit 124 from the image read from the screen rearrangement buffer 112. For example, in the case of an image on which inter coding is performed, the calculation unit 113 subtracts the prediction image supplied from the motion prediction / compensation unit 125 from the image read from the screen rearrangement buffer 112.
  • the orthogonal transform unit 114 performs orthogonal transform such as discrete cosine transform and Karhunen-Loeve transform on the difference information supplied from the computation unit 113.
  • the orthogonal transform unit 114 supplies the transform coefficient to the quantization unit 115.
  • the quantization unit 115 quantizes the transform coefficient supplied from the orthogonal transform unit 114.
  • the quantization unit 115 sets a quantization parameter based on the information regarding the target value of the code amount supplied from the rate control unit 127, and performs the quantization.
  • the quantization unit 115 supplies the quantized transform coefficient to the lossless encoding unit 116.
  • the lossless encoding unit 116 encodes the transform coefficient quantized by the quantization unit 115 using an arbitrary encoding method. Since the coefficient data is quantized under the control of the rate control unit 127, the code amount becomes the target value set by the rate control unit 127 (or approximates the target value).
  • the lossless encoding unit 116 acquires information indicating the intra prediction mode from the intra prediction unit 124, and acquires information indicating the inter prediction mode, difference motion vector information, and the like from the motion prediction / compensation unit 125. Furthermore, the lossless encoding unit 116 appropriately generates a base layer NAL unit including a sequence parameter set (SPS), a picture parameter set (PPS), and the like.
  • SPS sequence parameter set
  • PPS picture parameter set
  • the lossless encoding unit 116 encodes these various types of information by an arbitrary encoding method, and uses (multiplexes) a part of the encoded data (also referred to as an encoded stream).
  • the lossless encoding unit 116 supplies the encoded data obtained by encoding to the accumulation buffer 117 for accumulation.
  • Examples of the encoding method of the lossless encoding unit 116 include variable length encoding or arithmetic encoding.
  • Examples of variable length coding include H.264.
  • CAVLC Context-Adaptive Variable Length Coding
  • Examples of arithmetic coding include CABAC (Context-Adaptive Binary Arithmetic Coding).
  • the cocoon accumulation buffer 117 temporarily holds the encoded data (base layer encoded data) supplied from the lossless encoding unit 116.
  • the accumulation buffer 117 outputs the stored base layer encoded data to, for example, a recording device (recording medium) (not shown) or a transmission path at a later stage at a predetermined timing. That is, the accumulation buffer 117 is also a transmission unit that transmits encoded data.
  • the transform coefficient quantized by the quantization unit 115 is also supplied to the inverse quantization unit 118.
  • the inverse quantization unit 118 inversely quantizes the quantized transform coefficient by a method corresponding to the quantization by the quantization unit 115.
  • the inverse quantization unit 118 supplies the obtained transform coefficient to the inverse orthogonal transform unit 119.
  • the inverse orthogonal transform unit 119 performs inverse orthogonal transform on the transform coefficient supplied from the inverse quantization unit 118 by a method corresponding to the orthogonal transform processing by the orthogonal transform unit 114.
  • the inversely orthogonal transformed output (restored difference information) is supplied to the calculation unit 120.
  • the calculation unit 120 uses the prediction image selection unit 126 to perform prediction from the intra prediction unit 124 or the motion prediction / compensation unit 125 on the restored difference information, which is the inverse orthogonal transform result supplied from the inverse orthogonal transform unit 119.
  • the images are added to obtain a locally decoded image (decoded image).
  • the decoded image is supplied to the loop filter 121 or the frame memory 122.
  • the loop filter 121 includes a deblocking filter, an adaptive loop filter, and the like, and appropriately performs a filtering process on the reconstructed image supplied from the calculation unit 120.
  • the loop filter 121 removes block distortion of the reconstructed image by performing deblocking filter processing on the reconstructed image.
  • the loop filter 121 improves the image quality by performing loop filter processing using a Wiener filter on the deblock filter processing result (reconstructed image from which block distortion has been removed). I do.
  • the loop filter 121 supplies a filter processing result (hereinafter referred to as a decoded image) to the frame memory 122.
  • the loop filter 121 may further perform other arbitrary filter processing on the reconstructed image. Further, the loop filter 121 can supply information such as filter coefficients used for the filter processing to the lossless encoding unit 116 and encode the information as necessary.
  • the frame memory 122 stores the reconstructed image supplied from the calculation unit 120 and the decoded image supplied from the loop filter 121, respectively.
  • the frame memory 122 supplies the stored reconstructed image to the intra prediction unit 124 via the selection unit 123 at a predetermined timing or based on a request from the outside such as the intra prediction unit 124.
  • the frame memory 122 also stores the decoded image stored at a predetermined timing or based on a request from the outside such as the motion prediction / compensation unit 125 via the selection unit 123. 125.
  • the kite frame memory 122 stores the supplied decoded image, and supplies the stored decoded image as a reference image to the selection unit 123 at a predetermined timing.
  • the eyelid selection unit 123 selects a supply destination of the reference image supplied from the frame memory 122. For example, in the case of intra prediction, the selection unit 123 supplies the reference image (pixel value in the current picture) supplied from the frame memory 122 to the motion prediction / compensation unit 125. For example, in the case of inter prediction, the selection unit 123 supplies the reference image supplied from the frame memory 122 to the motion prediction / compensation unit 125.
  • the intra prediction unit 124 performs intra prediction (intra-screen prediction) that generates a predicted image using a pixel value in a current picture that is a reference image supplied from the frame memory 122 via the selection unit 123.
  • the intra prediction unit 124 performs this intra prediction in a plurality of intra prediction modes prepared in advance.
  • the intra prediction unit 124 generates prediction images in all candidate intra prediction modes, evaluates the cost function value of each prediction image using the input image supplied from the screen rearrangement buffer 112, and selects the optimum mode. select. When the optimal intra prediction mode is selected, the intra prediction unit 124 supplies the predicted image generated in the optimal mode to the predicted image selection unit 126.
  • the intra prediction unit 124 appropriately supplies the intra prediction mode information indicating the adopted intra prediction mode to the lossless encoding unit 116 for encoding.
  • the heel motion prediction / compensation unit 125 performs motion prediction (inter prediction) using the input image supplied from the screen rearrangement buffer 112 and the reference image supplied from the frame memory 122 via the selection unit 123.
  • the motion prediction / compensation unit 125 performs a motion compensation process according to the detected motion vector, and generates a prediction image (inter prediction image information).
  • the motion prediction / compensation unit 125 performs such inter prediction in a plurality of inter prediction modes prepared in advance.
  • the heel motion prediction / compensation unit 125 generates a prediction image in all candidate inter prediction modes.
  • the motion prediction / compensation unit 125 evaluates the cost function value of each predicted image using the input image supplied from the screen rearrangement buffer 112 and information on the generated differential motion vector, and selects an optimal mode. .
  • the motion prediction / compensation unit 125 supplies the predicted image generated in the optimal mode to the predicted image selection unit 126.
  • the motion prediction / compensation unit 125 supplies information indicating the employed inter prediction mode, information necessary for performing processing in the inter prediction mode, and the like to the lossless encoding unit 116 when decoding the encoded data. And encoding.
  • the necessary information includes, for example, information on the generated differential motion vector and a flag indicating an index of the predicted motion vector as predicted motion vector information.
  • the predicted image selection unit 126 selects a supply source of the predicted image to be supplied to the calculation unit 113 or the calculation unit 120.
  • the prediction image selection unit 126 selects the intra prediction unit 124 as a supply source of the prediction image, and supplies the prediction image supplied from the intra prediction unit 124 to the calculation unit 113 and the calculation unit 120.
  • the predicted image selection unit 126 selects the motion prediction / compensation unit 125 as a supply source of the predicted image, and calculates the predicted image supplied from the motion prediction / compensation unit 125 as the calculation unit 113.
  • the rate control unit 127 controls the rate of the quantization operation of the quantization unit 115 based on the code amount of the encoded data stored in the storage buffer 117 so that no overflow or underflow occurs.
  • the motion prediction / compensation unit 125 supplies the motion information of the current block detected by motion prediction to the motion information encoding unit 104 as the motion information of the base layer.
  • FIG. 18 is a block diagram illustrating a main configuration example of the enhancement layer image encoding unit 105 in FIG. 16. As shown in FIG. 18, the enhancement layer image encoding unit 105 has basically the same configuration as the base layer image encoding unit 103 of FIG.
  • each unit of the enhancement layer image encoding unit 105 performs processing for encoding enhancement layer image information, not the base layer. That is, the A / D conversion unit 111 of the enhancement layer image encoding unit 105 performs A / D conversion on the enhancement layer image information, and the accumulation buffer 117 of the enhancement layer image encoding unit 105 converts the enhancement layer encoded data into, for example, Then, the data is output to a recording device (recording medium), a transmission path, etc., not shown.
  • the enhancement layer image encoding unit 105 includes a motion prediction / compensation unit 135 instead of the motion prediction / compensation unit 125.
  • the heel motion prediction / compensation unit 135 uses the motion information encoding unit 104 to encode motion information. That is, the motion prediction / compensation unit 125 encodes the motion information of the current block using only the peripheral motion information of the base layer, whereas the motion prediction / compensation unit 135 uses only the peripheral motion information of the enhancement layer. Alternatively, the motion information of the current block can be encoded using the peripheral motion information of the base layer.
  • the ⁇ ⁇ ⁇ motion prediction / compensation unit 135 supplies the motion information of the current block detected by motion prediction for each mode to the motion information encoding unit 104 as enhancement layer motion information.
  • the motion prediction / compensation unit 135 acquires a coding result for each supplied motion information.
  • the motion prediction / compensation unit 135 calculates a cost function value using the encoding result and determines an optimal inter prediction mode.
  • FIG. 19 is a block diagram illustrating a main configuration example of the motion information encoding unit 104 of FIG.
  • the motion information encoding unit 104 includes a motion information scaling unit 151, a base layer motion information buffer 152, an enhancement layer motion information buffer 153, an AMVP processing unit 154, a merge processing unit 155, and an optimal predictor setting. Part 156.
  • the motion information scaling unit 151 acquires the base layer motion information from the motion prediction / compensation unit 125 of the base layer image encoding unit 103, and according to the spatial direction scaling ratio (eg, resolution ratio) of the base layer and the enhancement layer. Then, the motion information is subjected to scaling processing (conversion processing (enlargement or reduction)) in the spatial direction.
  • the motion information scaling unit 151 supplies the scaled motion information to the base layer motion information buffer 152.
  • the base layer motion information buffer 152 stores the scaled base layer motion information supplied from the motion information scaling unit 151.
  • the base layer motion information buffer 152 uses the stored base layer motion information as base layer motion information, as appropriate, for the AMVP processing unit 154 (candidate setting unit 161) and the merge processing unit 155 (candidate list generation unit 171). To supply.
  • the enhancement layer motion information buffer 153 acquires and stores the motion information of the current block supplied from the motion prediction / compensation unit 135 of the enhancement layer image encoding unit 105.
  • the enhancement layer motion information buffer 153 uses the stored enhancement layer motion information as the enhancement layer peripheral motion information, as appropriate, for the AMVP processing unit 154 (candidate setting unit 161) and the merge processing unit 155 (candidate list generation unit 171). ).
  • AMVP processing section 154 sets prediction motion information candidates corresponding to the motion information of the current block in the enhancement layer in AMVP mode. At that time, the AMVP processing unit 154 acquires the motion information of the enhancement layer stored in the enhancement layer motion information buffer 153 as peripheral motion information as necessary. In addition, the AMVP processing unit 154 acquires base layer motion information stored in the base layer motion information buffer 152 as peripheral motion information as necessary. The AMVP processing unit 154 uses these peripheral motion information to set prediction motion information candidates. The AMVP processing unit 154 supplies the set predictive motion information candidates to the optimal predictor setting unit 156.
  • the merge processing unit 155 generates a candidate list of predicted motion information corresponding to the motion information of the current block of the enhancement layer in the merge mode. At that time, the merge processing unit 155 acquires enhancement layer motion information stored in the enhancement layer motion information buffer 153 as peripheral motion information as necessary. In addition, the merge processing unit 155 acquires the base layer motion information stored in the base layer motion information buffer 152 as peripheral motion information as necessary. The merge processing unit 155 generates a candidate list using the peripheral motion information. The merge processing unit 155 supplies the generated candidate list to the optimal predictor setting unit 156.
  • the optimal predictor setting unit 156 uses the prediction motion information candidates supplied from the AMVP processing unit 154 and the candidate list supplied from the merge processing unit 155 to perform the motion prediction / compensation unit of the enhancement layer image encoding unit 105.
  • An optimal predictor for the motion information of the current block of the enhancement layer supplied from 135 is set. That is, the optimal predictor setting unit 156 calculates the cost function value of the encoding result for each obtained candidate, and selects the candidate having the smallest value as the optimal predictor.
  • the optimal predictor setting unit 156 encodes the motion information of the current block supplied from the motion prediction / compensation unit 135 using the optimal predictor. More specifically, the optimal predictor setting unit 156 obtains a difference (difference motion information) between the motion information and the predicted motion information.
  • the optimal predictor setting unit 156 obtains the encoding result (difference motion information) in this way for each mode, and supplies the obtained encoding result to the motion prediction / compensation unit 135.
  • the AMVP processing unit 154 includes a candidate setting unit 161, an availability determination unit 162, a spatial scaling unit 163, a time scaling unit 164, and a base layer motion information selection unit 165.
  • the haze candidate setting unit 161 sets prediction motion information candidates of the motion information of the current block obtained by the motion prediction / compensation unit 135 for the enhancement layer encoding performed by the enhancement layer image encoding unit 105.
  • the candidate setting unit 161 acquires enhancement layer peripheral motion information from the enhancement layer motion information buffer 153, and uses the peripheral motion information as a candidate for predicted motion information.
  • the haze candidate setting unit 161 supplies the peripheral layer motion information of the enhancement layer to the availability determination unit 162, determines the availability of the peripheral motion information, and acquires the determination result.
  • the candidate setting unit 161 acquires the peripheral motion information of the base layer from the base layer motion information buffer 152, and uses the peripheral motion information of the base layer instead of the motion information of the enhancement layer. Are candidates for the predicted motion information.
  • the eyelid candidate setting unit 161 supplies the peripheral motion information to the spatial scaling unit 163, performs the scaling process in the spatial direction, and acquires the scaled peripheral motion information.
  • the eyelid candidate setting unit 161 supplies the peripheral motion information to the time scaling unit 164, performs the scaling process in the time direction, and acquires the scaled peripheral motion information.
  • the eyelid candidate setting unit 161 uses the base layer motion information selected by the base layer motion information selection unit 165.
  • the eyelid candidate setting unit 161 supplies the set predicted motion information candidates to the optimum predictor setting unit 156.
  • the heel availability determination unit 162 determines the availability of the motion information supplied from the candidate setting unit 161 and supplies the determination result to the candidate setting unit 161.
  • the eaves space scaling unit 163 performs a scaling process in the spatial direction of the motion information supplied from the candidate setting unit 161 and supplies the scaled motion information to the candidate setting unit 161.
  • the heel time scaling unit 164 performs a time direction scaling process on the motion information supplied from the candidate setting unit 161 and supplies the motion information subjected to the scaling process to the candidate setting unit 161.
  • the base layer motion information selection unit 165 selects the base layer motion information used as the collocated motion information by the candidate setting unit 161 according to the base layer encoding result by the base layer image encoding unit 103. More specifically, the base layer motion information selection unit 165 selects base layer motion information that is not used as collocated motion information in base layer coding, as enhancement layer collocated motion information. For example, when the motion information of the peripheral block CR6 of the base layer is used as the collocated motion information in the base layer encoding, the base layer motion information selection unit 165 converts the motion information of the peripheral block H6 of the base layer into the enhancement layer. Is selected as collocated motion information in the encoding of.
  • the base layer motion information selection unit 165 when the motion information of the peripheral block H6 of the base layer is used as the collocated motion information, the base layer motion information selection unit 165, the motion information of the peripheral block CR6 of the base layer, Selected as collocated motion information in enhancement layer coding.
  • the base layer motion information selection unit 165 is used as described above.
  • the motion information of the base layer selected by is used.
  • the merge processing unit 155 includes a candidate list generation unit 171, a layer control information setting unit 172, a layer control unit 173, an availability determination unit 174, and a base layer motion information selection unit 175.
  • the candidate list generation unit 171 generates a merge mode candidate list for obtaining predicted motion information of the motion information of the current block obtained in the motion prediction / compensation unit 135 for the enhancement layer coding by the enhancement layer image coding unit 105. Generate.
  • the number of candidates (the length of the candidate list) is arbitrary, but is preferably a predetermined number so that CABAC and motion prediction can be processed independently. In the following description, the number of candidates is five.
  • the wrinkle candidate list generation unit 171 acquires enhancement layer peripheral motion information from the enhancement layer motion information buffer 153, and generates a candidate list using the peripheral motion information.
  • the candidate list generation unit 171 acquires the peripheral motion information of the base layer from the base layer motion information buffer 152, and A candidate list is generated using the peripheral motion information. For example, when generating a candidate list using a base layer predictor instead of a temporal predictor under the control of the layer control unit 173, the candidate list generating unit 171 acquires base layer peripheral motion information from the base layer motion information buffer 152. .
  • the wrinkle candidate list generation unit 171 supplies the peripheral layer motion information of the enhancement layer to the availability determination unit 174, determines the availability of the peripheral motion information, and acquires the determination result.
  • the candidate list generation unit 171 acquires the peripheral motion information of the base layer from the base layer motion information buffer 152, and compensates the base layer peripheral motion information for the missing number of the candidate list. To do.
  • the eyelid candidate list generation unit 171 uses the base layer motion information selected by the base layer motion information selection unit 175.
  • the cocoon candidate list generation unit 171 supplies the generated candidate list to the optimal predictor setting unit 156.
  • Layer control information setting unit 172 sets information (layer control information) for selecting a predictor used for generating a candidate list. For example, the layer control information setting unit 172 sets layer control information (for example, sps_col_mvp_indicator or slice_col_mvp_indicator) for selecting whether to use a temporal predictor and whether to use a base layer predictor. The layer control information setting unit 172 supplies the layer control information set in this way to the layer control unit 173. Also, the layer control information setting unit 172 supplies the layer control information set in this way to the lossless encoding unit 116 of the enhancement layer image encoding unit 105 and transmits it to the decoding side.
  • layer control information setting unit 172 sets information (layer control information) for selecting a predictor used for generating a candidate list. For example, the layer control information setting unit 172 sets layer control information (for example, sps_col_mvp_indicator or slice_col_mvp_indicator) for selecting whether to use
  • the heel layer control unit 173 controls the layer of the peripheral motion information used by the candidate list generation unit 171 to generate the candidate list. More specifically, the layer control unit 173 controls whether the peripheral motion information of the enhancement layer or the peripheral motion information of the base layer is used for generating the candidate list. As described above, the candidate list generation unit 171 acquires peripheral motion information according to the control of the layer control unit 173.
  • the heel availability determination unit 174 determines the availability of the motion information supplied from the candidate list generation unit 171 and supplies the determination result to the candidate list generation unit 171.
  • the base layer motion information selection unit 175 selects the base layer motion information used as the collocated motion information by the candidate list generation unit 171 according to the base layer encoding result by the base layer image encoding unit 103. More specifically, the base layer motion information selection unit 175 selects base layer motion information that is not used as collocated motion information in base layer encoding, as enhancement layer collocated motion information. For example, when the motion information of the peripheral block CR6 of the base layer is used as the collocated motion information in the base layer encoding, the base layer motion information selection unit 175 converts the motion information of the peripheral block H6 of the base layer into the enhancement layer. Is selected as collocated motion information in the encoding of.
  • the candidate list generation unit 171 uses the base layer motion information instead of the enhancement layer motion information as the collocated motion information in the enhancement layer encoding, the base layer motion information selection unit in this way.
  • the motion information of the base layer selected by 175 is used.
  • the scalable coding apparatus 100 when the peripheral motion information of the enhancement layer is unavailable, instead of the motion information of the enhancement layer, Since the predicted motion information is obtained using the peripheral motion information, it is possible to suppress a decrease in prediction accuracy and a decrease in encoding efficiency. Thereby, the scalable encoding device 100 can suppress a reduction in image quality due to encoding / decoding.
  • step S101 the encoding control unit 102 of the scalable encoding device 100 sets the first layer as a processing target.
  • step S102 the encoding control unit 102 determines whether or not the current layer to be processed is a base layer. If it is determined that the current layer is the base layer, the process proceeds to step S103.
  • step S103 the base layer image encoding unit 103 performs base layer encoding processing.
  • step S103 the process proceeds to step S106.
  • step S102 If it is determined in step S102 that the current layer is an enhancement layer, the process proceeds to step S104.
  • step S104 the encoding control unit 102 determines a base layer corresponding to the current layer (that is, a reference destination).
  • step S105 the enhancement layer image encoding unit 105 performs an enhancement layer encoding process.
  • the process of step S105 ends, the process proceeds to step S106.
  • step S106 the encoding control unit 102 determines whether all layers have been processed. If it is determined that there is an unprocessed layer, the process proceeds to step S107.
  • step S107 the encoding control unit 102 sets the next unprocessed layer as a processing target (current layer).
  • the process of step S107 ends, the process returns to step S102.
  • the processing from step S102 to step S107 is repeatedly executed, and each layer is encoded.
  • step S106 If it is determined in step S106 that all layers have been processed, the encoding process ends.
  • step S121 the A / D conversion unit 111 of the base layer image encoding unit 103 performs A / D conversion on the input base layer image information (image data).
  • step S122 the screen rearrangement buffer 112 stores the A / D converted base layer image information (digital data), and rearranges the pictures from the display order to the encoding order.
  • step S123 the intra prediction unit 124 performs an intra prediction process in the intra prediction mode.
  • step S124 the motion prediction / compensation unit 125 performs a motion prediction / compensation process for performing motion prediction or motion compensation in the inter prediction mode.
  • step S ⁇ b> 125 the predicted image selection unit 126 determines an optimum mode based on the cost function values output from the intra prediction unit 124 and the motion prediction / compensation unit 125. That is, the predicted image selection unit 126 selects one of the predicted image generated by the intra prediction unit 124 and the predicted image generated by the motion prediction / compensation unit 125.
  • step S126 the calculation unit 113 calculates the difference between the image rearranged by the process of step S122 and the predicted image selected by the process of step S125. The data amount of the 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 S127 the orthogonal transform unit 114 performs an orthogonal transform process on the difference information generated by the process in step S126.
  • step S1208 the quantization unit 115 quantizes the orthogonal transform coefficient obtained by the process of step S127, using the quantization parameter calculated by the rate control unit 127.
  • the difference information quantized by the processing in step S128 is locally decoded as follows. That is, in step S129, the inverse quantization unit 118 inversely quantizes the quantized coefficient (also referred to as a quantization coefficient) generated by the process in step S128 with characteristics corresponding to the characteristics of the quantization unit 115. . In step S130, the inverse orthogonal transform unit 119 performs inverse orthogonal transform on the orthogonal transform coefficient obtained by the process of step S127. In step S131, the calculation unit 120 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 113).
  • step S132 the loop filter 121 filters the image generated by the process in step S131. Thereby, block distortion and the like are removed.
  • step S133 the frame memory 122 stores an image from which block distortion has been removed by the process of step S132. Note that an image that has not been filtered by the loop filter 121 is also supplied to the frame memory 122 from the computing unit 120 and stored therein. The image stored in the frame memory 122 is used for the processing in step S123 and the processing in step S124.
  • step S134 the motion information scaling unit 151 of the motion information encoding unit 104 performs the scaling process on the base layer motion information obtained by the process of step S124 according to the scaling ratio of the base layer and the enhancement layer in the spatial direction.
  • step S135 the base layer motion information buffer 152 of the motion information encoding unit 104 stores the base layer motion information scaled in step S134.
  • step S136 the lossless encoding unit 116 of the base layer image encoding unit 103 encodes the coefficient quantized by the process of step S128. That is, lossless encoding such as variable length encoding or arithmetic encoding is performed on the data corresponding to the difference image.
  • the lossless encoding unit 116 encodes information on the prediction mode of the prediction image selected by the process of step S125, and adds the encoded information to the encoded data obtained by encoding the difference image. That is, the lossless encoding unit 116 encodes and encodes the optimal intra prediction mode information supplied from the intra prediction unit 124 or the information corresponding to the optimal inter prediction mode supplied from the motion prediction / compensation unit 125. Append to data.
  • step S137 the accumulation buffer 117 accumulates the base layer encoded data obtained by the process in step S136.
  • the base layer encoded data stored in the storage buffer 117 is appropriately read and transmitted to the decoding side via a transmission path or a recording medium.
  • step S138 the rate control unit 127 determines the quantum of the quantization unit 115 so that no overflow or underflow occurs based on the code amount (generated code amount) of the encoded data accumulated in the accumulation buffer 117 in step S137. Control the rate of activation.
  • the base layer encoding process is executed in units of pictures, for example. That is, the base layer encoding process is executed for each picture in the current layer. However, each process in the base layer encoding process is performed for each processing unit.
  • Steps S151 to S153 of the enhancement layer encoding process and steps S155 to S166 are the same as steps S121 to S123, step S125 to S133, and steps S136 to S136 of the base layer encoding process of FIG. It is executed in the same manner as each process in step S138. However, each process of the enhancement layer encoding process is performed on the enhancement layer image information by each processing unit of the enhancement layer image encoding unit 105.
  • step S154 the motion prediction / compensation unit 135 of the enhancement layer image encoding unit 105 performs a motion prediction / compensation process on the enhancement layer image information. Details of the motion prediction / compensation processing will be described later.
  • the enhancement layer encoding process ends, and the process returns to FIG.
  • the enhancement layer encoding process is executed in units of pictures, for example. That is, the enhancement layer encoding process is executed for each picture in the current layer. However, each process in the enhancement layer encoding process is performed for each processing unit.
  • step S181 the motion prediction / compensation unit 135 of the enhancement layer image encoding unit 105 performs a motion search process for each mode.
  • step S182 the motion prediction / compensation unit 135 performs a motion information encoding process on the motion information in each mode obtained by the process in step S181. Details of the motion information encoding process will be described later.
  • step S183 the motion prediction / compensation unit 135 calculates a cost function value for each mode based on the processing results in steps S181 and S182.
  • step S184 the motion prediction / compensation unit 135 determines an optimal inter prediction mode based on the cost function value of each mode calculated in step S183.
  • step S185 the motion prediction / compensation unit 135 performs motion compensation in the optimal inter prediction mode selected in step S184, and generates a predicted image.
  • the generated predicted image is supplied to the predicted image selection unit 126 together with information about the optimal inter prediction mode.
  • step S186 the enhancement layer motion information buffer 153 of the motion information encoding unit 104 stores the motion information of the current block in the optimal inter prediction mode selected in step S184 as enhancement layer motion information.
  • step S186 When the process of step S186 ends, the motion prediction / compensation process ends, and the process returns to FIG.
  • the AMVP processing unit 154 of the motion information encoding unit 104 performs AMVP processing in step S201, and sets a candidate for predicted motion information in AMVP mode. Details of the AMVP process will be described later.
  • step S202 the merge processing unit 155 of the motion information encoding unit 104 performs a merge process and generates a candidate list of predicted motion information in the merge mode. Details of the merge process will be described later.
  • step S203 the optimal predictor setting unit 156 of the motion information encoding unit 104 calculates a cost function value for each predicted motion information candidate set in step S201 and step S202.
  • step S204 the optimum predictor setting unit 156 obtains the optimum predictor based on the cost function value obtained in step S203.
  • step S205 the optimal predictor setting unit 156 encodes the motion information of the current block in the enhancement layer using the optimal predictor obtained in step S204.
  • the optimal predictor setting unit 156 supplies the motion information encoding result (difference between the motion information and the predicted motion information) to the motion prediction / compensation unit 135.
  • step S205 When the process of step S205 is finished, the motion information encoding process is finished, and the process returns to FIG.
  • the AMVP processing unit 154 searches for the spatial prediction motion information that is the prediction motion information using the motion information of the peripheral blocks in the spatial direction for the peripheral block E and the peripheral block A0 in step S221. .
  • step S222 the AMVP processing unit 154 searches the spatial prediction motion information for the peripheral block C, the peripheral block B0, and the peripheral block D. This process is the same as step S221 except that the blocks to be processed are different.
  • step S223 the AMVP processing unit 154 searches for temporal prediction motion information that is prediction motion information using motion information of neighboring blocks in the temporal direction.
  • step S223 ends, the AMVP process ends, and the process returns to FIG.
  • the candidate setting unit 161 of the AMVP processing unit 154 has the same ref_idx and list as the motion information of the current block from the enhancement layer motion information buffer 153 in step S241 in FIG.
  • the enhancement layer searches for unscaled peripheral motion information (VEC1) in the same direction.
  • step S242 the candidate setting unit 161 determines whether or not motion information is detected by the search in step S241. If it is determined that unscaled peripheral motion information (VEC1) in the same direction has not been detected in the enhancement layer, the process proceeds to step S243.
  • VEC1 unscaled peripheral motion information
  • step S243 the candidate setting unit 161 acquires, from the base layer motion information buffer 152, base layer peripheral motion information that has the same ref_idx and list as the current block motion information, and causes the availability determination unit 162 to determine availability.
  • the base layer searches for unscaled peripheral motion information (VEC1) in the same direction.
  • step S244 the candidate setting unit 161 determines whether or not motion information is detected by the search in step S243. If it is determined that unscaled peripheral motion information (VEC1) in the same direction has not been detected in the base layer, the process proceeds to step S245.
  • VEC1 unscaled peripheral motion information
  • step S245 the candidate setting unit 161 acquires peripheral motion information of an enhancement layer that has the same motion information of the current block and ref_idx but a different list from the enhancement layer motion information buffer 153, and provides the availability determination unit 162 with availability. By making the determination, the unscaled peripheral motion information (VEC2) in the reverse direction is searched in the enhancement layer.
  • VEC2 the unscaled peripheral motion information
  • step S246 the candidate setting unit 161 determines whether or not motion information is detected by the search in step S245. When it is determined that the unscaled peripheral motion information (VEC2) in the reverse direction has not been detected in the enhancement layer, the process proceeds to step S247.
  • VEC2 unscaled peripheral motion information
  • step S247 the candidate setting unit 161 acquires, from the base layer motion information buffer 152, peripheral motion information of the base layer that has the same ref_idx but different list from the current block motion information, and provides the availability determination unit 162 with availability.
  • the base layer searches for unscaled peripheral motion information (VEC2) in the reverse direction.
  • step S248 the candidate setting unit 161 determines whether or not motion information is detected by the search in step S247. If it is determined that the unscaled peripheral motion information (VEC2) in the reverse direction has not been detected in the base layer, the process proceeds to step S251 in FIG.
  • step S251 of FIG. 27 the candidate setting unit 161 acquires, from the enhancement layer motion information buffer 153, peripheral layer motion information of an enhancement layer having the same list but different motion information and ref_idx of the current block, and the availability determination unit 162. By searching for availability, the scaled peripheral motion information (VEC3) in the same direction is searched in the enhancement layer.
  • step S252 the candidate setting unit 161 determines whether or not motion information is detected by the search in step S251. If it is determined that scaled peripheral motion information (VEC3) in the same direction has not been detected in the enhancement layer, the process proceeds to step S253.
  • VEC3 scaled peripheral motion information
  • step S ⁇ b> 253 the candidate setting unit 161 acquires, from the base layer motion information buffer 152, base layer peripheral motion information that has the same list but different motion information and ref_idx of the current block, and provides the availability determination unit 162 with availability. By making the determination, the base layer searches for scaled peripheral motion information (VEC3) in the same direction.
  • VEC3 scaled peripheral motion information
  • step S254 the candidate setting unit 161 determines whether or not motion information is detected by the search in step S253. If it is determined that scaled peripheral motion information (VEC3) in the same direction has not been detected in the base layer, the process proceeds to step S255.
  • VEC3 scaled peripheral motion information
  • step S ⁇ b> 255 the candidate setting unit 161 acquires, from the enhancement layer motion information buffer 153, enhancement layer peripheral motion information that is different from the current block motion information and ref_idx and list, and causes the availability determination unit 162 to determine availability.
  • step S256 the candidate setting unit 161 determines whether or not motion information is detected by the search in step S255. If it is determined that the scaled peripheral motion information (VEC4) in the reverse direction has not been detected in the enhancement layer, the process proceeds to step S257.
  • VEC4 scaled peripheral motion information
  • step S257 the candidate setting unit 161 acquires, from the base layer motion information buffer 152, base layer peripheral motion information that is different from the current block motion information and ref_idx and list, and causes the availability determination unit 162 to determine availability.
  • the scaled peripheral motion information (VEC4) in the reverse direction is searched.
  • step S258 the candidate setting unit 161 determines whether or not motion information is detected by the search in step S257. When it is determined that the scaled peripheral motion information (VEC4) in the reverse direction has not been detected in the base layer, the process proceeds to step S260.
  • VEC4 scaled peripheral motion information
  • step S242 in FIG. 26 If it is determined in step S242 in FIG. 26 that unscaled peripheral motion information (VEC1) in the same direction is detected in the enhancement layer, unscaled peripheral in the same direction in the base layer in step S244 in FIG. If it is determined that motion information (VEC1) has been detected, if it is determined in step S246 in FIG. 26 that reverse unscaled peripheral motion information (VEC2) has been detected in the enhancement layer, or If it is determined in step S248 that the unscaled peripheral motion information (VEC2) in the reverse direction is detected in the base layer, the process proceeds to step S260 in FIG.
  • step S252 in FIG. 27 If it is determined in step S252 in FIG. 27 that the same direction of scaled peripheral motion information (VEC3) has been detected in the enhancement layer, in step S254 of FIG. 27, the base layer in the same direction of scaled peripheral motion information. If it is determined that (VEC3) has been detected, if it is determined in step S256 in FIG. 27 that scaled peripheral motion information (VEC4) in the reverse direction has been detected in the enhancement layer, or in step S258 in FIG. If it is determined that the scaled peripheral motion information (VEC4) in the reverse direction is detected in the base layer, the process proceeds to step S259 in FIG.
  • step S259 the temporal scaling unit 164 performs a scaling process on the detected spatial prediction motion information in the temporal direction.
  • the process of step S259 ends, the process proceeds to step S260.
  • step S260 the candidate setting unit 161 sets the spatial prediction motion information detected as described above as the AMVP mode predictor candidate and supplies it to the optimal predictor setting unit 156.
  • step S260 When the process of step S260 is finished, the spatial prediction motion information search process is finished, and the process returns to FIG.
  • the search order of the peripheral motion information may be changed as shown in the flowcharts of FIGS. 28 and 29, for example. That is, unscaled peripheral motion information (VEC1 and VEC2) is searched for the enhancement layer (steps S281 and S283 in FIG. 28), and unscaled peripheral motion information (VEC1 and VEC2) is searched for the base layer (FIG. 28). Step S285 and step S287), the scaled peripheral motion information (VEC3 and VEC4) is searched for the enhancement layer (step S291 and step S293 in FIG. 29), and the scaled peripheral motion information (VEC3 and VEC4) is searched for the base layer. (Steps S295 and S297 in FIG. 29) may be performed.
  • the temporal prediction motion information search process in the example shown in the flowcharts of FIGS. 28 and 29 is executed in the same manner as the example shown in the flowcharts of FIGS. 26 and 27 except that the search order of the peripheral motion information is different.
  • the candidate setting unit 161 acquires the motion information of the peripheral block H of the enhancement layer from the enhancement layer motion information buffer 153 in step S321, and provides the availability determination unit 162 with availability. By making the determination, it is determined whether or not the motion information of the peripheral block H is unavailable. If it is determined that the motion information of the peripheral block H is available, the process proceeds to step S322.
  • step S322 the candidate setting unit 161 sets the motion information of the peripheral block H as a predictor candidate in the AMVP mode and supplies it to the optimal predictor setting unit 156.
  • the temporal prediction motion information search process ends, and the process returns to FIG.
  • step S321 in FIG. 30 determines whether the motion information of the peripheral block H is unavailable.
  • step S323 the candidate setting unit 161 acquires the motion information of the peripheral block CR of the enhancement layer from the enhancement layer motion information buffer 153, and causes the availability determination unit 162 to determine the availability, so that the motion information of the peripheral block CR is obtained. It is determined whether or not it is unavailable. If it is determined that the motion information of the peripheral block CR is available, the process proceeds to step S324.
  • step S324 the candidate setting unit 161 sets the motion information of the peripheral block CR as a candidate for the predictor in the AMVP mode and supplies it to the optimal predictor setting unit 156.
  • the temporal motion prediction information search process ends, and the process returns to FIG.
  • step S323 in FIG. 30 when it is determined in step S323 in FIG. 30 that the motion information of the peripheral block CR is unavailable, the process proceeds to step S325.
  • step S325 the base layer motion information selection unit 165 determines whether or not the motion information of the peripheral block CR is used as collocated motion information in the base layer. If it is determined that the motion information of the peripheral block CR is used as collocated motion information in the base layer, the process proceeds to step S326.
  • step S326 the base layer motion information selection unit 165 selects the peripheral block H of the base layer. Based on the selection, candidate setting section 161 sets base layer H motion information as a candidate for a predictor in AMVP mode, and supplies it to optimal predictor setting section 156.
  • step S326 ends, the temporal prediction motion information search process ends, and the process returns to FIG.
  • step S325 of FIG. 30 determines whether the motion information of the peripheral block H is used as collocated motion information in the base layer. If it is determined in step S325 of FIG. 30 that the motion information of the peripheral block H is used as collocated motion information in the base layer, the process proceeds to step S327.
  • step S327 the base layer motion information selection unit 165 selects the peripheral block CR of the base layer. Based on the selection, candidate setting section 161 sets base layer CR motion information as a candidate for a predictor in AMVP mode, and supplies it to optimal predictor setting section 156.
  • step S327 ends, the temporal prediction motion information search process ends, and the process returns to FIG.
  • the availability determination unit 162 of the merge processing unit 155 determines the availability of the peripheral layer motion information of the enhancement layer read from the enhancement layer motion information buffer 153 by the candidate list generation unit 171 in step S341. judge.
  • step S342 the candidate list generation unit 171 generates a merge mode candidate list using the peripheral motion information of the enhancement layer determined to be available in step S341.
  • step S343 the candidate list generation unit 171 determines whether or not there is a missing number in the candidate list generated as described above. If it is determined that it exists, the process proceeds to step S344.
  • step S344 the candidate list generation unit 171 reads the base layer peripheral motion information from the base layer motion information buffer 152, causes the availability determination unit 174 to determine the availability, and uses the available base layer peripheral motion information in the candidate list. To compensate.
  • step S344 ends, the merge process ends, and the process returns to FIG. If it is determined in step S343 in FIG. 31 that there is no missing number in the candidate list, the process in step S344 is omitted, the merge process ends, and the process returns to FIG.
  • the scalable encoding device 100 can suppress a reduction in encoding efficiency and an image quality due to encoding / decoding.
  • ⁇ Flow of base layer motion information selection processing> As described above, in the base layer, when the peripheral block CR6 in FIG. 6 is a collocated block and the motion information is used as collocated motion information, the motion information of the peripheral block H6 is used. When the motion information of the peripheral block H6 is used as the collocated motion information in the base layer, the compensation processing may be performed using the motion information of the peripheral block CR6.
  • the base layer motion information selection unit 175 performs base layer motion information selection processing.
  • the base layer motion information selection unit 175 determines whether or not the motion information of the peripheral block CR6 is used as collocated motion information in the base layer in step S361. In the base layer encoding, when it is determined that the motion information of the neighboring block CR6 is used as collocated motion information, the process proceeds to step S362.
  • step S362 the base layer motion information selection unit 175 sets the motion information of the peripheral block H6 to be supplemented to the candidate list when the candidate list generation unit 171 supplements the temporal motion information of the base layer in the time direction.
  • step S362 ends, the base layer motion information selection process ends.
  • step S361 If it is determined in step S361 that the motion information of the neighboring block H6 has been used as collocated motion information in base layer encoding, the process proceeds to step S363.
  • step S363 the base layer motion information selection unit 175 sets the motion information of the peripheral block CR6 to be supplemented in the candidate list when the candidate list generation unit 171 supplements the peripheral motion information in the time direction of the base layer.
  • the base layer motion information selection process ends.
  • step S344 of the merge process in FIG. 31 the candidate list generation unit 171 performs the base layer motion information selection process step in the peripheral block CR6 and the peripheral block H6 when supplementing the peripheral motion information in the time direction of the base layer.
  • the motion information set in step S362 or step S363 is compensated.
  • the scalable encoding device 100 can suppress a reduction in encoding efficiency and suppress a reduction in image quality due to encoding / decoding.
  • a base layer predictor may be used instead of the temporal predictor in the single-tier HEVC.
  • the layer control information setting unit 172 sets layer control information for controlling whether a temporal predictor or a base layer predictor is used for generating a candidate list in step S381.
  • step S382 the candidate list generation unit 171 sets the motion information of the spatial peripheral blocks of the enhancement layer in the candidate list. At that time, the candidate list generation unit 171 sets the motion information of the spatial peripheral blocks in the candidate list by performing a merge process as described with reference to the flowchart of FIG. 31, for example.
  • step S383 the layer control unit 173 determines whether or not to generate a candidate list using the base layer motion information instead of the temporal predictor, based on the layer control information set in step S381. For example, if the value of the parameter sps_col_mvp_indicator or the parameter slice_col_mvp_indicator is “1” or “3” and it is determined that the candidate list is generated using the motion information of the base layer, the process proceeds to step S384.
  • step S384 the candidate list generating unit 171 sets the base layer motion information as collocated motion information in the candidate list.
  • a temporal predictor may be used to compensate for the missing number list.
  • step S384 When the process of step S384 ends, the process proceeds to step S385. If it is determined in step S383 that a candidate list is generated without using base layer motion information, the process proceeds to step S385.
  • step S385 the layer control unit 173 determines whether to generate a candidate list using a temporal predictor based on the layer control information set in step S381. For example, if the value of the parameter sps_col_mvp_indicator or the parameter slice_col_mvp_indicator is “2” or “3” and it is determined that the candidate list is generated using the temporal predictor, the process proceeds to step S386.
  • step S386 the candidate list generation unit 171 sets the temporal predictor as the collocated motion information in the candidate list.
  • base layer motion information may be used to compensate for the missing number list.
  • step S386 When the process of step S386 ends, the process proceeds to step S387. If it is determined in step S385 that the candidate list is generated without using the temporal predictor, the process proceeds to step S387.
  • step S387 the layer control information setting unit 172 supplies the layer control information set in step S381 to the lossless encoding unit 116 of the enhancement layer image encoding unit 105 for transmission to the decoding side.
  • step S387 ends, the layer control process ends.
  • the scalable encoding device 100 can suppress a reduction in encoding efficiency and suppress a reduction in image quality due to encoding / decoding.
  • FIG. 34 is a block diagram illustrating a main configuration example of a scalable decoding device corresponding to the scalable encoding device 100 of FIG.
  • the scalable decoding device 200 shown in FIG. 34 performs scalable decoding on encoded data obtained by scalable encoding of image data by the scalable encoding device 100 by a method corresponding to the encoding method, for example.
  • the scalable decoding device 200 includes a common information acquisition unit 201, a decoding control unit 202, a base layer image decoding unit 203, a motion information decoding unit 204, and an enhancement layer image decoding unit 205.
  • the common information acquisition unit 201 acquires common information (for example, a video parameter set (VPS)) transmitted from the encoding side.
  • the common information acquisition unit 201 extracts information related to decoding from the acquired common information and supplies it to the decoding control unit 202.
  • the common information acquisition unit 201 supplies part or all of the common information to the base layer image decoding unit 203 to the enhancement layer image decoding unit 205 as appropriate.
  • the decoding control unit 202 acquires information about decoding supplied from the common information acquisition unit 201, and controls the base layer image decoding unit 203 to the enhancement layer image decoding unit 205 based on the information, thereby Control decryption.
  • the base layer image decoding unit 203 is an image decoding unit corresponding to the base layer image encoding unit 103, and for example, base layer encoded data obtained by encoding base layer image information by the base layer image encoding unit 103. To get.
  • the base layer image decoding unit 203 decodes the base layer encoded data without using the information of other layers, reconstructs the base layer image information, and outputs it. Further, the base layer image decoding unit 203 supplies the motion information obtained at the time of decoding to the motion information decoding unit 204.
  • the heel motion information decoding unit 204 decodes the motion information transmitted from the encoding side, which is used in the motion compensation processing in the enhancement layer image decoding unit 205. From the encoding side, a difference between motion information and predicted motion information is transmitted. The motion information decoding unit 204 generates predicted motion information using peripheral motion information, and obtains motion information from the difference transmitted from the encoding side using the predicted motion information. When generating such predicted motion information, the motion information decoding unit 204 uses the motion information acquired from the enhancement layer image decoding unit 205 as peripheral motion information. However, when the motion information is unavailable, the motion information decoding unit 204 uses the available motion information acquired from the base layer image decoding unit 203 as the peripheral motion information instead of the unavailable motion information. The motion information decoding unit 204 decodes the motion information of the current block using the predicted motion information generated in this way, and returns the encoding result to the enhancement layer image decoding unit 205.
  • the enhancement layer image decoding unit 205 is an image decoding unit corresponding to the enhancement layer image encoding unit 105, for example, enhancement layer encoded data obtained by encoding enhancement layer image information by the enhancement layer image encoding unit 105. To get.
  • the enhancement layer image decoding unit 205 decodes the enhancement layer encoded data.
  • the enhancement layer image decoding unit 205 causes the motion information decoding unit 204 to decode the encoded data of motion information (difference between motion information and predicted motion information) transmitted from the encoding side.
  • the enhancement layer image decoding unit 205 performs motion compensation using the motion information obtained by such decoding, generates a prediction image, reconstructs the enhancement layer image information using the prediction image, and outputs it. .
  • FIG. 35 is a block diagram illustrating an exemplary main configuration of the base layer image decoding unit 203 of FIG.
  • the base layer image decoding unit 203 includes a storage buffer 211, a lossless decoding unit 212, an inverse quantization unit 213, an inverse orthogonal transform unit 214, a calculation unit 215, a loop filter 216, a screen rearrangement buffer 217, And a D / A converter 218.
  • the base layer image decoding unit 203 includes a frame memory 219, a selection unit 220, an intra prediction unit 221, a motion compensation unit 222, and a selection unit 223.
  • Accumulation buffer 211 is also a receiving unit that receives transmitted base layer encoded data.
  • the accumulation buffer 211 receives and accumulates the transmitted base layer encoded data, and supplies the encoded data to the lossless decoding unit 212 at a predetermined timing.
  • Information necessary for decoding such as prediction mode information is added to the base layer encoded data.
  • the lossless decoding unit 212 decodes the information supplied from the accumulation buffer 211 and encoded by the lossless encoding unit 116 by a method corresponding to the encoding method of the lossless encoding unit 116.
  • the lossless decoding unit 212 supplies the quantized coefficient data of the difference image obtained by decoding to the inverse quantization unit 213.
  • the lossless decoding unit 212 appropriately extracts and acquires NAL units including a video parameter set (VPS), a sequence parameter set (SPS), a picture parameter set (PPS), and the like included in the base layer encoded data.
  • the lossless decoding unit 212 extracts information on the optimum prediction mode from the information, determines whether the intra prediction mode or the inter prediction mode is selected as the optimum prediction mode based on the information, and Information regarding the optimal prediction mode is supplied to the mode determined to be selected from the intra prediction unit 221 and the motion compensation unit 222. That is, for example, when the intra prediction mode is selected as the optimal prediction mode in the base layer image encoding unit 103, information regarding the optimal prediction mode is supplied to the intra prediction unit 221. For example, when the inter prediction mode is selected as the optimal prediction mode in the base layer image encoding unit 103, information regarding the optimal prediction mode is supplied to the motion compensation unit 222.
  • the lossless decoding unit 212 extracts information necessary for inverse quantization, such as a quantization matrix and a quantization parameter, from the NAL unit or the like, and supplies it to the inverse quantization unit 213.
  • the inverse quantization unit 213 inversely quantizes the quantized coefficient data obtained by decoding by the lossless decoding unit 212 using a method corresponding to the quantization method of the quantization unit 115.
  • the inverse quantization unit 213 is a processing unit similar to the inverse quantization unit 118. That is, the description of the inverse quantization unit 213 can be applied to the inverse quantization unit 118. However, the data input / output destinations and the like need to be changed appropriately according to the device.
  • the inverse quantization unit 213 supplies the obtained coefficient data to the inverse orthogonal transform unit 214.
  • the inverse orthogonal transform unit 214 performs inverse orthogonal transform on the coefficient data supplied from the inverse quantization unit 213 using a method corresponding to the orthogonal transform method of the orthogonal transform unit 114.
  • the inverse orthogonal transform unit 214 is a processing unit similar to the inverse orthogonal transform unit 119. That is, the description of the inverse orthogonal transform unit 214 can be applied to the inverse orthogonal transform unit 119. However, the data input / output destinations and the like need to be changed appropriately according to the device.
  • the inverse orthogonal transform unit 214 obtains decoded residual data corresponding to the residual data before being orthogonally transformed by the orthogonal transform unit 114 by the inverse orthogonal transform process.
  • the decoded residual data obtained by the inverse orthogonal transform is supplied to the calculation unit 215.
  • a prediction image is supplied to the calculation unit 215 from the intra prediction unit 221 or the motion compensation unit 222 via the selection unit 223.
  • the calculating unit 215 adds the decoded residual data and the predicted image, and obtains decoded image data corresponding to the image data before the predicted image is subtracted by the calculating unit 113.
  • the arithmetic unit 215 supplies the decoded image data to the loop filter 216.
  • the loop filter 216 appropriately performs filtering processing including a deblocking filter and an adaptive loop filter on the supplied decoded image, and supplies it to the screen rearranging buffer 217 and the frame memory 219.
  • the loop filter 216 removes block distortion of the decoded image by performing a deblocking filter process on the decoded image.
  • the loop filter 216 performs image quality improvement by performing loop filter processing using a Wiener filter on the deblock filter processing result (decoded image from which block distortion has been removed). Do.
  • the loop filter 216 is a processing unit similar to the loop filter 121.
  • the decoded image output from the calculation unit 215 can be supplied to the screen rearrangement buffer 217 and the frame memory 219 without passing through the loop filter 216. That is, part or all of the filter processing by the loop filter 216 can be omitted.
  • the screen rearrangement buffer 217 rearranges the decoded images. That is, the order of frames rearranged for the encoding order by the screen rearrangement buffer 112 is rearranged in the original display order.
  • the D / A conversion unit 218 performs D / A conversion on the image supplied from the screen rearrangement buffer 217, and outputs and displays the image on a display (not shown).
  • the frame memory 219 stores the supplied decoded image, and uses the stored decoded image as a reference image at a predetermined timing or based on an external request such as the intra prediction unit 221 or the motion compensation unit 222. This is supplied to the selection unit 220.
  • the eyelid selection unit 220 selects a reference image supply destination supplied from the frame memory 219.
  • the selection unit 220 supplies the reference image supplied from the frame memory 219 to the intra prediction unit 221 when decoding an intra-coded image.
  • the selection unit 220 supplies the reference image supplied from the frame memory 219 to the motion compensation unit 222 when decoding an inter-encoded image.
  • the intra prediction unit 221 is appropriately supplied with information indicating the intra prediction mode obtained by decoding the header information from the lossless decoding unit 212.
  • the intra prediction unit 221 performs intra prediction using the reference image acquired from the frame memory 219 in the intra prediction mode used in the intra prediction unit 124, and generates a predicted image.
  • the intra prediction unit 221 supplies the generated predicted image to the selection unit 223.
  • the eyelid motion compensation unit 222 acquires information (optimum prediction mode information, reference image information, etc.) obtained by decoding the header information from the lossless decoding unit 212.
  • the heel motion compensation unit 222 performs motion compensation using the reference image acquired from the frame memory 219 in the inter prediction mode indicated by the optimal prediction mode information acquired from the lossless decoding unit 212, and generates a predicted image.
  • the eyelid motion compensation unit 222 supplies the generated predicted image to the selection unit 223.
  • the motion compensation unit 222 supplies motion information of the current block used for generating a predicted image (motion compensation) to the motion information decoding unit 204.
  • the eyelid selection unit 223 supplies the prediction image from the intra prediction unit 221 or the prediction image from the motion compensation unit 222 to the calculation unit 215.
  • the arithmetic unit 215 adds the predicted image generated using the motion vector and the decoded residual data (difference image information) from the inverse orthogonal transform unit 214 to decode the original image.
  • FIG. 36 is a block diagram illustrating a main configuration example of the enhancement layer image decoding unit 205 of FIG. As shown in FIG. 36, the enhancement layer image decoding unit 205 has basically the same configuration as the base layer image decoding unit 203 in FIG.
  • each unit of the enhancement layer image decoding unit 205 performs a process for decoding enhancement layer encoded data, not the base layer. That is, the accumulation buffer 211 of the enhancement layer image decoding unit 205 stores the enhancement layer encoded data, and the D / A conversion unit 218 of the enhancement layer image decoding unit 205 displays the enhancement layer image information, for example, in the subsequent stage. Output to a recording device (recording medium) or transmission path.
  • the enhancement layer image decoding unit 205 includes a motion compensation unit 232 instead of the motion compensation unit 222.
  • the heel motion compensation unit 232 uses the motion information decoding unit 204 to decode the encoded motion information transmitted from the encoding side. That is, while the motion compensation unit 222 decodes the motion information encoded in the current block using only the peripheral motion information of the base layer, the motion compensation unit 232 uses only the peripheral motion information of the enhancement layer. In addition, the encoded motion information of the current block can be decoded using the peripheral motion information of the base layer.
  • the heel motion information is transmitted from the encoding side as a difference (difference motion information) of predicted motion information.
  • the motion compensation unit 232 supplies the difference motion information to the motion information decoding unit 204 to reconstruct the motion information.
  • the motion compensation unit 232 acquires the reconstructed motion information and performs motion compensation using the motion information.
  • FIG. 37 is a block diagram illustrating a main configuration example of the motion information decoding unit 204 of FIG.
  • the motion information decoding unit 204 includes a motion information scaling unit 251, a base layer motion information buffer 252, an enhancement layer motion information buffer 253, an AMVP processing unit 254, a merge processing unit 255, and a predictor decoding unit 256.
  • the motion information scaling unit 251 acquires the motion information of the base layer from the motion compensation unit 222 of the base layer image decoding unit 203, and the motion information scaling unit 251 performs the motion according to the scaling ratio (for example, resolution ratio) between the base layer and the enhancement layer in the spatial direction. The information is scaled in the spatial direction.
  • the motion information scaling unit 251 supplies the scaled motion information to the base layer motion information buffer 252.
  • the base layer motion information buffer 252 stores the scaled base layer motion information supplied from the motion information scaling unit 251.
  • the base layer motion information buffer 252 uses the stored base layer motion information as base layer motion information, as appropriate, for the AMVP processing unit 254 (candidate setting unit 261) and the merge processing unit 255 (candidate list generation unit 271). To supply.
  • the enhancement layer motion information buffer 253 acquires and stores the motion information of the current block supplied from the motion compensation unit 232 of the enhancement layer image decoding unit 205.
  • the enhancement layer motion information buffer 253 uses the stored enhancement layer motion information as the enhancement layer peripheral motion information, as appropriate, for the AMVP processing unit 254 (candidate setting unit 261) and the merge processing unit 255 (candidate list generation unit 271). ).
  • AMVP processing section 254 sets a prediction motion information candidate corresponding to the motion information of the current block of the enhancement layer in AMVP mode. At this time, the AMVP processing unit 254 acquires enhancement layer motion information stored in the enhancement layer motion information buffer 253 as peripheral motion information as necessary. In addition, the AMVP processing unit 254 acquires the base layer motion information stored in the base layer motion information buffer 252 as peripheral motion information as necessary. The AMVP processing unit 254 sets prediction motion information candidates using the peripheral motion information. The AMVP processing unit 254 supplies the set prediction motion information candidates to the predictor decoding unit 256.
  • the merge processing unit 255 generates a candidate list of predicted motion information corresponding to the motion information of the current block of the enhancement layer in the merge mode. At that time, the merge processing unit 255 acquires enhancement layer motion information stored in the enhancement layer motion information buffer 253 as peripheral motion information as necessary. In addition, the merge processing unit 255 acquires the base layer motion information stored in the base layer motion information buffer 252 as peripheral motion information as necessary. The merge processing unit 255 generates a candidate list using the peripheral motion information. The merge processing unit 255 supplies the generated candidate list to the predictor decoding unit 256.
  • the predictor decoding unit 256 receives the prediction motion information candidates supplied from the AMVP processing unit 254 and the merge processing unit 255 based on the information related to inter prediction supplied from the motion compensation unit 232 of the enhancement layer image decoding unit 205. From the supplied candidate list, the prediction motion information of the current block of the enhancement layer supplied from the motion compensation unit 232 of the enhancement layer image decoding unit 205 is reconstructed, and the reconstructed prediction motion information is used as the enhancement layer. The motion information is reconstructed by adding to the difference motion information supplied from the motion compensation unit 232 of the image decoding unit 205.
  • the predictor decoding unit 256 supplies the motion information of the current block of the enhancement layer obtained in this way to the motion compensation unit 232.
  • the AMVP processing unit 254 includes a candidate setting unit 261, an availability determination unit 262, a spatial scaling unit 263, a time scaling unit 264, and a base layer motion information selection unit 265.
  • the cocoon candidate setting unit 261 sets a candidate for predicted motion information of the current block of the enhancement layer.
  • the candidate setting unit 261 acquires the peripheral motion information of the enhancement layer from the enhancement layer motion information buffer 253, and sets the peripheral motion information as a candidate for predicted motion information.
  • the eyelid candidate setting unit 261 supplies the peripheral layer motion information of the enhancement layer to the availability determination unit 262, determines the availability of the peripheral motion information, and acquires the determination result.
  • the candidate setting unit 261 acquires the base layer peripheral motion information from the base layer motion information buffer 252 and substitutes the base layer peripheral motion information for the enhancement layer motion information. Are candidates for the predicted motion information.
  • the eyelid candidate setting unit 261 supplies the peripheral motion information to the spatial scaling unit 263, performs the scaling process in the spatial direction, and acquires the scaled peripheral motion information.
  • the eyelid candidate setting unit 261 supplies the peripheral motion information to the time scaling unit 264, performs the scaling process in the time direction, and acquires the scaled peripheral motion information.
  • the heel candidate setting unit 261 uses the base layer motion information selected by the base layer motion information selection unit 265 when using the base layer motion information instead of the enhancement layer motion information for the collocated motion information.
  • the cocoon candidate setting unit 261 supplies the set prediction motion information candidates to the predictor decoding unit 256.
  • the heel availability determination unit 262 determines the availability of the motion information supplied from the candidate setting unit 261, and supplies the determination result to the candidate setting unit 261.
  • the eaves space scaling unit 263 performs a scaling process in the spatial direction of the motion information supplied from the candidate setting unit 261 and supplies the motion information subjected to the scaling process to the candidate setting unit 261.
  • the heel time scaling unit 264 performs a time-direction scaling process on the motion information supplied from the candidate setting unit 261 and supplies the scaled motion information to the candidate setting unit 261.
  • the base layer motion information selection unit 265 selects base layer motion information used by the candidate setting unit 261 as collocated motion information according to the decoding result of the base layer by the base layer image decoding unit 203. More specifically, the base layer motion information selection unit 265 selects base layer motion information that is not used as collocated motion information in base layer decoding, as enhancement layer collocated motion information. For example, when base layer peripheral block CR6 motion information is used as collocated motion information in base layer decoding, base layer motion information selection section 265 converts base layer peripheral block H6 motion information into enhancement layer Select as collocated motion information in decoding.
  • the base layer motion information selection unit 265 adds the motion information of the base layer peripheral block CR6 to the enhancement. Select as collocated motion information in layer decoding.
  • the candidate setting unit 261 uses the base layer motion information selecting unit 265 as described above.
  • the motion information of the selected base layer is used.
  • the merge processing unit 255 includes a candidate list generation unit 271, a layer control information acquisition unit 272, a layer control unit 273, an availability determination unit 274, and a base layer motion information selection unit 275.
  • the cocoon candidate list generation unit 271 generates a merge mode candidate list for obtaining prediction motion information of the current block of the enhancement layer by the enhancement layer image decoding unit 205.
  • the eyelid candidate list generation unit 271 acquires enhancement layer peripheral motion information from the enhancement layer motion information buffer 253, and generates a candidate list using the peripheral motion information.
  • the candidate list generation unit 271 acquires the peripheral motion information of the base layer from the base layer motion information buffer 252; A candidate list is generated using the peripheral motion information.
  • the candidate list generation unit 271 acquires base layer peripheral motion information from the base layer motion information buffer 252 when generating a candidate list using a base layer predictor instead of a temporal predictor according to the control of the layer control unit 273. .
  • the haze candidate list generation unit 271 supplies the peripheral layer motion information of the enhancement layer to the availability determination unit 274, determines the availability of the peripheral motion information, and acquires the determination result.
  • the candidate list generation unit 271 acquires the peripheral motion information of the base layer from the base layer motion information buffer 152, and compensates the base layer peripheral motion information for the missing number of the candidate list. To do.
  • the wrinkle candidate list generation unit 271 uses the base layer motion information selected by the base layer motion information selection unit 275.
  • the cocoon candidate list generation unit 271 supplies the generated candidate list to the predictor decoding unit 256.
  • the layer control information acquisition unit 272 acquires layer control information (for example, sps_col_mvp_indicator, slice_col_mvp_indicator, etc.) transmitted from the encoding side from the lossless decoding unit 212.
  • the layer control information acquisition unit 272 supplies the layer control information acquired in this way to the layer control unit 273.
  • the heel layer control unit 273 controls the layer of the peripheral motion information used by the candidate list generation unit 271 to generate the candidate list based on the layer control information supplied from the layer control information acquisition unit 272. More specifically, the layer control unit 273 controls whether the peripheral motion information of the enhancement layer or the peripheral motion information of the base layer is used for generating the candidate list. As described above, the candidate list generation unit 271 acquires peripheral motion information according to the control of the layer control unit 273.
  • the heel availability determination unit 274 determines the availability of the motion information supplied from the candidate list generation unit 271 and supplies the determination result to the candidate list generation unit 271.
  • the base layer motion information selection unit 275 selects the base layer motion information used as the collocated motion information by the candidate list generation unit 271 according to the decoding result of the base layer by the base layer image decoding unit 203. More specifically, the base layer motion information selection unit 275 selects base layer motion information that is not used as collocated motion information in base layer decoding, as enhancement layer collocated motion information. For example, when base layer peripheral block CR6 motion information is used as collocated motion information in the base layer decoding, the base layer motion information selection unit 275 converts the motion information of the base layer peripheral block H6 into the enhancement layer Select as collocated motion information in decoding.
  • the base layer motion information selection unit 275 performs the enhancement of the motion information of the peripheral block CR6 of the base layer. Select as collocated motion information in layer decoding.
  • the base layer motion information selecting unit 275 is used in this way.
  • the motion information of the base layer selected by is used.
  • the scalable decoding device 200 when the enhancement layer peripheral motion information is unavailable, instead of the enhancement layer motion information, the peripheral motion information of the base layer Therefore, the motion information can be correctly decoded. Thereby, the scalable decoding apparatus 200 can suppress a reduction in prediction accuracy and a reduction in encoding efficiency. Therefore, the scalable encoding device 100 can suppress a reduction in image quality due to encoding / decoding.
  • step S401 the decoding control unit 202 of the scalable decoding device 200 sets the first layer as a processing target.
  • step S402 the decoding control unit 202 determines whether or not the current layer to be processed is a base layer. If it is determined that the current layer is the base layer, the process proceeds to step S403.
  • step S403 the base layer image decoding unit 203 performs base layer decoding processing.
  • step S403 ends, the process proceeds to step S406.
  • step S402 If it is determined in step S402 that the current layer is an enhancement layer, the process proceeds to step S404.
  • step S404 the decoding control unit 202 determines a base layer corresponding to the current layer (that is, a reference destination).
  • step S405 the enhancement layer image decoding unit 205 performs enhancement layer decoding processing.
  • step S405 ends, the process proceeds to step S406.
  • step S406 the decoding control unit 202 determines whether all layers have been processed. If it is determined that there is an unprocessed layer, the process proceeds to step S407.
  • step S407 the decoding control unit 202 sets the next unprocessed layer as a processing target (current layer).
  • the process of step S407 ends, the process returns to step S402.
  • the processing from step S402 to step S407 is repeatedly executed, and each layer is decoded.
  • step S406 If it is determined in step S406 that all layers have been processed, the decoding process ends.
  • step S421 the accumulation buffer 211 of the base layer image decoding unit 203 accumulates the base layer bit stream transmitted from the encoding side.
  • step S422 the lossless decoding unit 212 decodes the base layer bitstream (encoded difference image information) supplied from the accumulation buffer 211. That is, the I picture, P picture, and B picture encoded by the lossless encoding unit 116 are decoded. At this time, various information other than the difference image information included in the bit stream such as header information is also decoded.
  • step S423 the inverse quantization unit 213 inversely quantizes the quantized coefficient obtained by the process in step S422.
  • step S424 the inverse orthogonal transform unit 214 performs inverse orthogonal transform on the current block (current TU).
  • step S425 the intra prediction unit 221 or the motion compensation unit 222 performs a prediction process to generate a predicted image. That is, the prediction process is performed in the prediction mode that is determined in the lossless decoding unit 212 and applied at the time of encoding. More specifically, for example, when intra prediction is applied at the time of encoding, the intra prediction unit 221 generates a prediction image in the intra prediction mode that is optimized at the time of encoding. For example, when inter prediction is applied at the time of encoding, the motion compensation unit 222 generates a prediction image in an inter prediction mode that is optimized at the time of encoding.
  • step S426 the calculation unit 215 adds the predicted image generated in step S425 to the difference image information generated by the inverse orthogonal transform process in step S424. As a result, the original image is decoded.
  • step S427 the loop filter 216 appropriately performs loop filter processing on the decoded image obtained in step S426.
  • step S428 the screen rearrangement buffer 217 rearranges the images filtered in step S427. That is, the order of frames rearranged for encoding by the screen rearrangement buffer 112 is rearranged in the original display order.
  • step S429 the D / A conversion unit 218 performs D / A conversion on the image in which the frame order is rearranged in step S428. This image is output to a display (not shown), and the image is displayed.
  • step S430 the frame memory 219 stores the image subjected to the loop filter process in step S427.
  • step S431 the motion information scaling unit 251 of the motion information decoding unit 204 performs the scaling process on the base layer motion information obtained by the prediction process in step S425 according to the spatial direction scaling ratio of the base layer and the enhancement layer.
  • step S432 the base layer motion information buffer 252 of the motion information decoding unit 204 stores the base layer motion information scaled in step S431.
  • the base layer decoding process ends, and the process returns to FIG.
  • the base layer decoding process is executed in units of pictures, for example. That is, the base layer decoding process is executed for each picture in the current layer. However, each process in the base layer decoding process is performed for each processing unit.
  • Steps S451 to S454 of the enhancement layer decoding process and steps S456 to S460 are executed in the same manner as the steps S421 to S424 and steps S426 to S430 of the base layer decoding process. .
  • each process of the enhancement layer decoding process is performed on the enhancement layer encoded data by each processing unit of the enhancement layer image decoding unit 205.
  • step S455 the intra prediction unit 221 and the motion compensation unit 232 perform prediction processing on the enhancement layer encoded data.
  • the enhancement layer decoding process ends, and the process returns to FIG.
  • the enhancement layer decoding process is executed in units of pictures, for example. That is, the enhancement layer decoding process is executed for each picture in the current layer. However, each process in the enhancement layer decoding process is performed for each processing unit.
  • the motion compensation unit 232 determines in step S481 whether or not the prediction mode is inter prediction. When it determines with it being inter prediction, a process progresses to step S482.
  • step S482 the motion information decoding unit 204 performs motion information decoding processing to reconstruct the motion information of the current block.
  • step S483 the motion compensation unit 232 performs motion compensation using the motion information obtained by the process in step S482, and generates a predicted image.
  • the prediction process ends, and the process returns to FIG.
  • step S481 when it is determined in step S481 that the prediction is intra prediction, the process proceeds to step S484.
  • step S484 the intra prediction unit 221 generates a prediction image in the optimal intra prediction mode that is the intra prediction mode employed at the time of encoding.
  • the predictor decoding unit 256 transmits the predictor information, which is information related to the encoding / decoding of motion information in the enhancement layer, transmitted from the encoding side in step S501, to the lossless decoding unit 212. Get from.
  • step S502 the predictor decoding unit 256 determines whether the employed predicted motion information is in the AMVP mode based on the predictor information. If it is determined that the AMVP mode is set, the process proceeds to step S503.
  • step S503 the AMVP processing unit 254 performs AMVP processing similar to that on the encoding side as described with reference to the flowcharts of FIGS. 25 to 30 to set AMVP prediction motion information candidates.
  • the process proceeds to step S505.
  • step S502 If it is determined in step S502 that the mode is not AMVP mode, the process proceeds to step S504.
  • step S504 the merge processing unit 255 performs merge processing similar to that on the encoding side as described with reference to the flowchart of FIG. When the merge process ends, the process proceeds to step S505.
  • step S505 the predictor decoding unit 256 reconstructs the predicted motion information of the current block using the processing result in step S503 or step S504.
  • step S506 the predictor decoding unit 256 reconstructs the motion information of the current block using the prediction motion information obtained in step S505 and the difference motion information acquired from the lossless decoding unit 212.
  • the predictor decoding unit 256 supplies the motion information to the motion compensation unit 232 to generate a predicted image.
  • the enhancement layer motion information buffer 253 stores the motion information of the current block of the enhancement layer.
  • step S507 When the process of step S507 ends, the motion information decoding process ends, and the process returns to FIG.
  • the scalable decoding device 200 can suppress a reduction in encoding efficiency and suppress a reduction in image quality due to encoding / decoding.
  • image data is hierarchized into a plurality of layers by scalable coding, but the number of layers is arbitrary. Further, for example, as shown in the example of FIG. 43, some pictures may be hierarchized.
  • the enhancement layer in the encoding / decoding, the enhancement layer has been described as being processed using the information of the base layer. However, the enhancement layer is not limited to this, and other enhancement layers that have been processed are processed. Processing may be performed using information.
  • the layers described above include views in multi-view image encoding / decoding. That is, the present technology can be applied to multi-view image encoding / multi-view image decoding.
  • FIG. 44 shows an example of a multi-view image encoding method.
  • a multi-viewpoint image includes images of a plurality of viewpoints (views), and a predetermined one viewpoint image among the plurality of viewpoints is designated as a base-view image.
  • Each viewpoint image other than the base view image is treated as a non-base view image.
  • each view image is encoded / decoded.
  • the above-described method may be applied to the encoding / decoding of each view. Good. That is, motion information or the like may be shared among a plurality of views in such multi-viewpoint encoding / decoding.
  • prediction motion information candidates are generated using only the motion information of the own view, and for the non-base view, the motion information of the base view is also used to generate the prediction motion information.
  • the application range of the present technology can be applied to any image encoding device and image decoding device based on a scalable encoding / decoding method.
  • the present technology is disclosed in, for example, MPEG, H.264, and the like.
  • image information compressed by orthogonal transformation such as discrete cosine transformation and motion compensation, such as 26x
  • 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 technology 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, magnetic disk, and flash memory.
  • Third Embodiment> ⁇ Computer>
  • the series of processes described above can be executed by hardware or can be executed by software.
  • a program constituting the software is installed in the computer.
  • the computer includes, for example, a general-purpose personal computer that can execute various functions by installing a computer incorporated in dedicated hardware and various programs.
  • FIG. 45 is a block diagram showing an example of the hardware configuration of a computer that executes the above-described series of processing by a program.
  • a CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • An input / output interface 810 is also connected to the bus 804.
  • An input unit 811, an output unit 812, a storage unit 813, a communication unit 814, and a drive 815 are connected to the input / output interface 810.
  • the bag input unit 811 includes, for example, a keyboard, a mouse, a microphone, a touch panel, an input terminal, and the like.
  • the output unit 812 includes, for example, a display, a speaker, an output terminal, and the like.
  • the storage unit 813 includes, for example, a hard disk, a RAM disk, a nonvolatile memory, and the like.
  • the communication unit 814 includes a network interface, for example.
  • the drive 815 drives a removable medium 821 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory.
  • the CPU 801 loads the program stored in the storage unit 813 into the RAM 803 via the input / output interface 810 and the bus 804 and executes the program, for example. Is performed.
  • the RAM 803 also appropriately stores data necessary for the CPU 801 to execute various processes.
  • the program executed by the computer (CPU 801) can be recorded and applied to, for example, a removable medium 821 as a package medium or the like.
  • the program can be provided via a wired or wireless transmission medium such as a local area network, the Internet, or digital satellite broadcasting.
  • the program can be installed in the storage unit 813 via the input / output interface 810 by attaching the removable medium 821 to the drive 815.
  • the program can be received by the communication unit 814 via a wired or wireless transmission medium and installed in the storage unit 813.
  • the program can be installed in the ROM 802 or the storage unit 813 in advance.
  • 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.
  • the system means a set of a plurality of components (devices, modules (parts), etc.), and it does not matter whether all the components are in the same housing. Accordingly, a plurality of devices housed in separate housings and connected via a network and a single device housing a plurality of modules in one housing are all systems. .
  • 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). .
  • the present technology can take a configuration of cloud computing in which one function is shared by a plurality of devices via a network and is jointly processed.
  • each step described in the above flowchart can be executed by one apparatus or can be shared by a plurality of apparatuses.
  • the plurality of processes included in the one step can be executed by being shared by a plurality of apparatuses in addition to being executed by one apparatus.
  • 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. 46 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.
  • the tuner 902 extracts a signal of a desired channel from a broadcast signal received via the antenna 901, and demodulates the extracted signal. Then, the tuner 902 outputs the encoded bit stream obtained by the demodulation to the demultiplexer 903. That is, the tuner 902 has a role as a transmission unit in the television device 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 device 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 bag 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.
  • a bus 912 connects a tuner 902, a demultiplexer 903, a decoder 904, a video signal processing unit 905, an audio signal processing unit 907, an external interface 909, and a control unit 910 to each other.
  • the decoder 904 has the function of the scalable decoding device 200 according to the above-described embodiment. Accordingly, when decoding an image with the television device 900, it is possible to achieve a reduction in encoding efficiency and to suppress a reduction in image quality due to encoding / decoding.
  • FIG. 47 shows an example of a schematic configuration of a mobile phone to which the above-described embodiment is applied.
  • a cellular 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 cage 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.
  • control unit 931 in the data communication mode, for example, the control unit 931 generates character data constituting an 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.
  • 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 a readable / writable arbitrary 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 scalable encoding device 100 and the scalable decoding device 200 according to the above-described embodiment. Accordingly, when encoding and decoding an image with the mobile phone 920, it is possible to suppress a reduction in encoding efficiency and to suppress a reduction in image quality due to encoding / decoding.
  • FIG. 48 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 serves as a transmission unit in the recording / reproducing apparatus 940.
  • the external interface 942 is an interface for connecting the recording / reproducing device 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.
  • Encoder 943 encodes video data and audio data when video data and audio data input from 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 are 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 records and reads 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.
  • the 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.
  • a GUI image such as a menu, a button, or a cursor
  • the bag 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 scalable encoding apparatus 100 according to the above-described embodiment.
  • the decoder 947 has the function of the scalable decoding device 200 according to the above-described embodiment.
  • FIG. 49 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 eyelid 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 haze image processing unit 964 encodes the image data input from the signal processing unit 963 to generate 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, for example, 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 loaded in 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 bag 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 scalable encoding device 100 and the scalable decoding device 200 according to the above-described embodiment. Therefore, when encoding and decoding an image by the imaging device 960, it is possible to suppress a reduction in encoding efficiency and to suppress a reduction in image quality due to encoding / decoding.
  • scalable coding> ⁇ First system> Next, a specific usage example of scalable encoded data that has been subjected to scalable encoding (hierarchical encoding) will be described.
  • the scalable coding is used for selection of data to be transmitted, for example, as in the example shown in FIG.
  • the distribution server 1002 reads the scalable encoded data stored in the scalable encoded data storage unit 1001, and via the network 1003, the personal computer 1004, the AV device 1005, the tablet This is distributed to the terminal device such as the device 1006 and the mobile phone 1007.
  • the distribution server 1002 selects and transmits encoded data of appropriate quality according to the capability of the terminal device, the communication environment, and the like. Even if the distribution server 1002 transmits high-quality data unnecessarily, a high-quality image is not always obtained in the terminal device, which may cause a delay or an overflow. Moreover, there is a possibility that the communication band is unnecessarily occupied or the load on the terminal device is unnecessarily increased. On the other hand, even if the distribution server 1002 transmits unnecessarily low quality data, there is a possibility that an image with sufficient image quality cannot be obtained in the terminal device. Therefore, the distribution server 1002 appropriately reads and transmits the scalable encoded data stored in the scalable encoded data storage unit 1001 as encoded data having an appropriate quality with respect to the capability and communication environment of the terminal device. .
  • the scalable encoded data storage unit 1001 stores scalable encoded data (BL + EL) 1011 encoded in a scalable manner.
  • the scalable encoded data (BL + EL) 1011 is encoded data including both a base layer and an enhancement layer, and is a data that can be decoded to obtain both a base layer image and an enhancement layer image. It is.
  • Distribution server 1002 selects an appropriate layer according to the capability of the terminal device that transmits data, the communication environment, and the like, and reads the data of that layer. For example, the distribution server 1002 reads high-quality scalable encoded data (BL + EL) 1011 from the scalable encoded data storage unit 1001 and transmits it to the personal computer 1004 and the tablet device 1006 with high processing capability as they are. . On the other hand, for example, the distribution server 1002 extracts base layer data from the scalable encoded data (BL + EL) 1011 for the AV device 1005 and the cellular phone 1007 having a low processing capability, and performs scalable encoding. Although it is data of the same content as the data (BL + EL) 1011, it is transmitted as scalable encoded data (BL) 1012 having a lower quality than the scalable encoded data (BL + EL) 1011.
  • BL scalable encoded data
  • scalable encoded data By using scalable encoded data in this way, the amount of data can be easily adjusted, so that the occurrence of delays and overflows can be suppressed, and unnecessary increases in the load on terminal devices and communication media can be suppressed. be able to.
  • scalable encoded data (BL + EL) 1011 since scalable encoded data (BL + EL) 1011 has reduced redundancy between layers, the amount of data can be reduced as compared with the case where encoded data of each layer is used as individual data. . Therefore, the storage area of the scalable encoded data storage unit 1001 can be used more efficiently.
  • the hardware performance of the terminal device varies depending on the device.
  • the application which a terminal device performs is also various, the capability of the software is also various.
  • the network 1003 serving as a communication medium can be applied to any communication network including wired, wireless, or both, such as the Internet and a LAN (Local Area Network), and has various data transmission capabilities. Furthermore, there is a risk of change due to other communications.
  • the distribution server 1002 communicates with the terminal device that is the data transmission destination before starting data transmission, and the hardware performance of the terminal device, the performance of the application (software) executed by the terminal device, etc. Information regarding the capability of the terminal device and information regarding the communication environment such as the available bandwidth of the network 1003 may be obtained. The distribution server 1002 may select an appropriate layer based on the information obtained here.
  • the layer extraction may be performed by the terminal device.
  • the personal computer 1004 may decode the transmitted scalable encoded data (BL + EL) 1011 and display a base layer image or an enhancement layer image. Further, for example, the personal computer 1004 extracts the base layer scalable encoded data (BL) 1012 from the transmitted scalable encoded data (BL + EL) 1011 and stores it or transfers it to another device. The base layer image may be displayed after decoding.
  • the data transmission system 1000 may be any system as long as it transmits a scalable encoded data to a terminal device by selecting an appropriate layer according to the capability of the terminal device or a communication environment. Can be applied to the system.
  • the present technology is applied in the same manner as the application to the hierarchical encoding / decoding described above in the first embodiment and the second embodiment. Effects similar to those described above in the first embodiment and the second embodiment can be obtained.
  • scalable coding is used for transmission via a plurality of communication media, for example, as in the example shown in FIG.
  • a broadcasting station 1101 transmits base layer scalable encoded data (BL) 1121 by terrestrial broadcasting 1111. Also, the broadcast station 1101 transmits enhancement layer scalable encoded data (EL) 1122 via an arbitrary network 1112 including a wired or wireless communication network or both (for example, packetized transmission).
  • BL base layer scalable encoded data
  • EL enhancement layer scalable encoded data
  • Terminal device 1102 has a reception function of terrestrial broadcast 1111 broadcasted by broadcast station 1101 and receives base layer scalable encoded data (BL) 1121 transmitted via terrestrial broadcast 1111.
  • the terminal apparatus 1102 further has a communication function for performing communication via the network 1112, and receives enhancement layer scalable encoded data (EL) 1122 transmitted via the network 1112.
  • BL base layer scalable encoded data
  • EL enhancement layer scalable encoded data
  • the terminal device 1102 decodes the base layer scalable encoded data (BL) 1121 acquired via the terrestrial broadcast 1111 according to, for example, a user instruction, and obtains or stores a base layer image. Or transmit to other devices.
  • BL base layer scalable encoded data
  • the terminal device 1102 for example, in response to a user instruction, the base layer scalable encoded data (BL) 1121 acquired via the terrestrial broadcast 1111 and the enhancement layer scalable encoded acquired via the network 1112 Data (EL) 1122 is combined to obtain scalable encoded data (BL + EL), or decoded to obtain an enhancement layer image, stored, or transmitted to another device.
  • BL base layer scalable encoded data
  • EL enhancement layer scalable encoded acquired via the network 1112 Data
  • the scalable encoded data can be transmitted via, for example, different communication media for each layer. Therefore, the load can be distributed, and the occurrence of delay and overflow can be suppressed.
  • a communication medium used for transmission may be selected for each layer.
  • scalable encoded data (BL) 1121 of a base layer having a relatively large amount of data is transmitted via a communication medium having a wide bandwidth
  • scalable encoded data (EL) 1122 having a relatively small amount of data is transmitted. You may make it transmit via a communication medium with a narrow bandwidth.
  • the communication medium for transmitting the enhancement layer scalable encoded data (EL) 1122 is switched between the network 1112 and the terrestrial broadcast 1111 according to the available bandwidth of the network 1112. May be.
  • the number of layers is arbitrary, and the number of communication media used for transmission is also arbitrary.
  • the number of terminal devices 1102 serving as data distribution destinations is also arbitrary.
  • broadcasting from the broadcasting station 1101 has been described as an example, but the usage example is not limited to this.
  • the data transmission system 1100 can be applied to any system as long as it is a system that divides scalable encoded data into a plurality of layers and transmits them through a plurality of lines.
  • the present technology is applied in the same manner as the application to the hierarchical encoding / decoding described above in the first and second embodiments. Effects similar to those described above in the first embodiment and the second embodiment can be obtained.
  • scalable encoding is used for storing encoded data as in the example shown in FIG. 52, for example.
  • the imaging device 1201 performs scalable coding on image data obtained by imaging the subject 1211, and as scalable coded data (BL + EL) 1221, a scalable coded data storage device 1202. To supply.
  • the scalable encoded data storage device 1202 stores the scalable encoded data (BL + EL) 1221 supplied from the imaging device 1201 with quality according to the situation. For example, in the normal case, the scalable encoded data storage device 1202 extracts base layer data from the scalable encoded data (BL + EL) 1221, and the base layer scalable encoded data ( BL) 1222. On the other hand, for example, in the case of attention, the scalable encoded data storage device 1202 stores scalable encoded data (BL + EL) 1221 with high quality and a large amount of data.
  • the scalable encoded data storage device 1202 can store an image with high image quality only when necessary, so that an increase in the amount of data can be achieved while suppressing a reduction in the value of the image due to image quality degradation. And the use efficiency of the storage area can be improved.
  • the imaging device 1201 is a surveillance camera.
  • the monitoring target for example, an intruder
  • the content of the captured image is likely to be unimportant, so reduction of the data amount is given priority, and the image data (scalable coding) Data) is stored in low quality.
  • the image quality is given priority and the image data (scalable) (Encoded data) is stored with high quality.
  • the imaging apparatus 1201 may make a determination, and the determination result may be transmitted to the scalable encoded data storage device 1202.
  • the criterion for determining whether the time is normal or noting is arbitrary, and the content of the image as the criterion is arbitrary. Of course, conditions other than the contents of the image can also be used as the criterion. For example, it may be switched according to the volume or waveform of the recorded sound, may be switched at every predetermined time, or may be switched by an external instruction such as a user instruction.
  • the number of states is arbitrary, for example, normal, slightly attention, attention, very attention, etc.
  • three or more states may be switched.
  • the upper limit number of states to be switched depends on the number of layers of scalable encoded data.
  • the imaging apparatus 1201 may determine the number of layers for scalable coding according to the state. For example, in a normal case, the imaging apparatus 1201 may generate base layer scalable encoded data (BL) 1222 with low quality and a small amount of data, and supply the scalable encoded data storage apparatus 1202 to the scalable encoded data storage apparatus 1202. For example, when attention is paid, the imaging device 1201 generates scalable encoded data (BL + EL) 1221 having a high quality and a large amount of data, and supplies the scalable encoded data storage device 1202 to the scalable encoded data storage device 1202. May be.
  • BL base layer scalable encoded data
  • BL + EL scalable encoded data
  • the surveillance camera has been described as an example.
  • the use of the imaging system 1200 is arbitrary and is not limited to the surveillance camera.
  • the first technique and the second embodiment are applied in the same manner as the application to the hierarchical encoding / decoding described above, whereby the first technique is applied. Effects similar to those described above in the second embodiment and the second embodiment can be obtained.
  • the present technology can also be applied to HTTP streaming such as MPEGASHDASH, for example, by selecting an appropriate piece of data from a plurality of encoded data with different resolutions prepared in advance. Can do. That is, information regarding encoding and decoding can be shared among a plurality of such encoded data.
  • 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.
  • a receiving unit that receives hierarchical image encoded data obtained by encoding image data that has been formed into a plurality of hierarchies, and motion information encoded data obtained by encoding motion information used for encoding the image data; , A motion for decoding the motion information encoded data received by the receiving unit using motion information of a peripheral block of a layer different from that of the current block when motion information of a peripheral block of the same layer as the current block is unavailable;
  • An information decoding unit An image processing apparatus comprising: a decoding unit that decodes the hierarchical image encoded data received by the receiving unit using motion information obtained by decoding the motion information encoded data by the motion information decoding unit.
  • the motion information decoding unit includes: When the motion information of the peripheral block in the same layer as the current block is available, the motion information of the peripheral block is used to re-predict the predicted motion information used for encoding the motion information used for encoding the image data. Using the predicted motion information constructed and reconstructed, the motion information encoded data is decoded, When motion information of peripheral blocks in the same layer as the current block is unavailable, motion information used for encoding the image data is encoded using motion information of peripheral blocks in a layer different from the current block.
  • the image processing device according to any one of (1), (3) to (9), wherein the predicted motion information used is reconstructed, and the motion information encoded data is decoded using the reconstructed predicted motion information .
  • the motion information decoding unit in AMVP (Advanced Motion Vector Prediction) mode, instead of the unavailable motion information of the peripheral block in the same layer as the current block, the peripheral block in a layer different from the current block
  • AMVP Advanced Motion Vector Prediction
  • the image processing device according to any one of (1), (2), and (4) to (9), wherein available motion information of a peripheral block corresponding to is a candidate for the predicted motion information.
  • the motion information decoding unit The time axis direction of the peripheral block corresponding to the peripheral block in a layer different from the current block, instead of the unusable motion information in which the scaling process in the time axis direction of the peripheral block in the same layer as the current block is performed
  • the available motion information that is subjected to the scaling process is used as the predicted motion information candidate
  • the time axis of the peripheral block corresponding to the peripheral block in a layer different from the current block instead of the unusable motion information that is not subjected to scaling processing in the time axis direction of the peripheral block in the same layer as the current block
  • the image processing apparatus according to any one of (1) to (3) and (5) to (9), wherein available motion information that is not subjected to direction scaling processing is used as a candidate for the predicted motion information.
  • the motion information decoding unit performs a scaling process in a spatial direction on motion information of peripheral blocks in a layer different from the current block according to a resolution ratio between layers.
  • (1) to (4), (6) The image processing device according to any one of (9) to (9).
  • the motion information decoding unit may identify a missing number of the candidate list of the predicted motion information in the merge mode based on available motion information of a peripheral block corresponding to the peripheral block in a layer different from the current block.
  • the image processing apparatus according to any one of (1) to (5) and (7) to (9).
  • the control unit further specifies, in the candidate list, whether motion information of a block in the same layer as the current block is used, and whether motion information of a block in a layer different from the current block is used.
  • the image processing apparatus according to any one of (1) to (6), (8), and (9).
  • the motion information decoding unit is based on the control information received by the receiving unit, When using motion information of blocks in the same layer as the current block for the candidate list, motion information of blocks in a layer different from the current block is used to compensate for missing numbers in the candidate list, When motion information of a block of a different layer from the current block is used for the candidate list, motion information of a block of the same layer as the current block is used to compensate for the missing number of the candidate list (1) to (7), The image processing apparatus according to any one of (9).
  • the motion information decoding unit compensates for a missing number in the candidate list by using motion information of a block different from a neighboring block that is a collocated block in a layer different from the current block.
  • an encoding unit that encodes image data that has been hierarchized using motion information;
  • the motion used for encoding the image data by the encoding unit using the motion information of the peripheral block of a layer different from the current block A motion information encoding unit that encodes information;
  • the encoded image data obtained by encoding the image data by the encoding unit and the motion information encoded data obtained by encoding the motion information by the motion information encoding unit are transmitted.
  • An image processing apparatus comprising: a transmission unit.
  • the motion information encoding unit may When motion information of a peripheral block in the same layer as the current block is available, predicted motion information is generated using the motion information of the peripheral block, and the motion information is encoded using the generated predicted motion information, When motion information of a neighboring block in the same layer as the current block is unavailable, predicted motion information is generated using motion information of a neighboring block in a layer different from the current block, and the generated predicted motion information is used to generate the motion information.
  • the image processing apparatus according to any one of (11) and (13) to (19), wherein the motion information is encoded.
  • the motion information encoding unit replaces the peripheral information in a layer different from the current block in place of the unavailable motion information of the peripheral block in the same layer as the current block.
  • the image processing device according to any one of (11), (12), and (14) to (19), wherein available motion information of a peripheral block corresponding to a block is used as a candidate for the predicted motion information.
  • the motion information encoding unit includes: The time axis direction of the peripheral block corresponding to the peripheral block in a layer different from the current block, instead of the unusable motion information in which the scaling process in the time axis direction of the peripheral block in the same layer as the current block is performed
  • the available motion information that is subjected to the scaling process is used as the predicted motion information candidate
  • the time axis of the peripheral block corresponding to the peripheral block in a layer different from the current block instead of the unusable motion information that is not subjected to scaling processing in the time axis direction of the peripheral block in the same layer as the current block
  • the image processing apparatus according to any one of (11) to (13) and (15) to (19), wherein available motion information that is not subjected to direction scaling processing is used as the predicted motion information candidate.
  • the motion information encoding unit performs scaling processing on the motion information of peripheral blocks in a layer different from the current block in a spatial direction according to a resolution ratio between layers. (11) to (14), (16 ) To (19). (16) In the merge mode, the motion information encoding unit uses the motion number of the prediction block of the candidate list of the prediction motion information as the available motion information of the peripheral block corresponding to the peripheral block in a layer different from the current block.
  • the image processing apparatus according to any one of (11) to (15) and (17) to (19).
  • the transmission unit further controls whether to use motion information of a block in the same layer as the current block and motion information of a block in a layer different from the current block in the candidate list.
  • the image processing apparatus according to any one of (11) to (16), (18), and (19), which transmits information.
  • the motion information encoding unit may When using motion information of blocks in the same layer as the current block for the candidate list, motion information of blocks in a layer different from the current block is used to compensate for missing numbers in the candidate list, When motion information of a block in a layer different from that of the current block is used in the candidate list, motion information of a block in the same layer as the current block is used to compensate for the missing number in the candidate list (11) to (17), (19) The image processing apparatus according to any one of (19).
  • the motion information encoding unit compensates for a missing number in the candidate list by using motion information of a block different from a neighboring block that is a collocated block in a layer different from the current block.
  • (11) to (18) An image processing apparatus according to any one of the above. (20) Encode the multi-layered image data using motion information, When the motion information of the peripheral block of the same layer as the current block is unavailable, the motion information used for encoding the image data is encoded using the motion information of the peripheral block of a layer different from the current block, An image processing method for transmitting hierarchical image encoded data obtained by encoding the image data and motion information encoded data obtained by encoding the motion information.
  • 100 scalable encoding device 101 common information generation unit, 102 encoding control unit, 103 base layer image encoding unit, 104 motion information encoding unit, 105 enhancement layer image encoding unit, 116 lossless encoding unit, 125 motion prediction ⁇ Compensator, 135 motion prediction / compensation unit, 151 motion information scaling unit, 152 base layer motion information buffer, 153 enhancement layer motion information buffer, 154 AMVP processing unit, 155 merge processing unit, 156 optimal predictor setting unit, 161 candidate setting 162 availability determination unit, 163 space scaling unit, 164 time scaling unit, 165 base layer motion information selection unit, 171 Candidate list generation unit, 172 layer control information setting unit, 173 layer control unit, 174 availability determination unit, 175 base layer motion information selection unit, 200 scalable decoding device, 201 common information acquisition unit, 202 decoding control unit, 203 base layer image Decoding unit, 204 ⁇ ⁇ motion information decoding unit, 205 enhancement layer image decoding unit, 212 lossless decoding unit, 222 motion compensation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本開示は、符号化効率の低減を抑制することができるようにする画像処理装置および方法に関する。 階層化された画像データの符号化・復号において、カレントブロックと同階層の周辺ブロックの動き情報がアンアベイラブルな場合、前記カレントブロックと異なる階層の周辺ブロックの動き情報を用いて、前記画像データの符号化・復号に用いられる動き情報の予測動き情報を生成する。本開示は、例えば、画像処理装置に適用することができる。

Description

画像処理装置および方法
  本開示は画像処理装置および方法に関し、特に、符号化効率の低減を抑制することができるようにした画像処理装置および方法に関する。
  近年、画像情報をデジタルとして取り扱い、その際、効率の高い情報の伝送、蓄積を目的とし、画像情報特有の冗長性を利用して、離散コサイン変換等の直交変換と動き補償により圧縮する符号化方式を採用して画像を圧縮符号する装置が普及しつつある。この符号化方式には、例えば、MPEG(Moving Picture Experts Group)などがある。
  特に、MPEG2(ISO/IEC 13818-2)は、汎用画像符号化方式として定義されており、飛び越し走査画像及び順次走査画像の双方、並びに標準解像度画像及び高精細画像を網羅する標準である。例えば、MPEG2は、プロフェッショナル用途及びコンシューマ用途の広範なアプリケーションに現在広く用いられている。MPEG2圧縮方式を用いることにより、例えば720×480画素を持つ標準解像度の飛び越し走査画像であれば4乃至8Mbpsの符号量(ビットレート)が割り当てられる。また、MPEG2圧縮方式を用いることにより、例えば1920×1088画素を持つ高解像度の飛び越し走査画像であれば18乃至22 Mbpsの符号量(ビットレート)が割り当てられる。これにより、高い圧縮率と良好な画質の実現が可能である。
  MPEG2は主として放送用に適合する高画質符号化を対象としていたが、MPEG1より低い符号量(ビットレート)、つまりより高い圧縮率の符号化方式には対応していなかった。携帯端末の普及により、今後そのような符号化方式のニーズは高まると思われ、これに対応してMPEG4符号化方式の標準化が行われた。画像符号化方式に関しては、1998年12月にISO/IEC 14496-2としてその規格が国際標準に承認された。
  更に、近年、当初テレビ会議用の画像符号化を目的として、H.26L (ITU-T(International Telecommunication Union Telecommunication Standardization Sector) Q6/16 VCEG(Video Coding Expert Group))という標準の規格化が進められた。H.26LはMPEG2やMPEG4といった従来の符号化方式に比べ、その符号化、復号化により多くの演算量が要求されるものの、より高い符号化効率が実現されることが知られている。また、現在、MPEG4の活動の一環として、このH.26Lをベースに、H.26Lではサポートされない機能をも取り入れ、より高い符号化効率を実現する標準化がJoint Model of Enhanced-Compression Video Codingとして行われた。
  標準化のスケジュールとしては、2003年3月にはH.264及びMPEG-4 Part10 (Advanced Video Coding、以下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(商標)等の幅広いアプリケーションに用いられる運びとなった。
  しかしながら、昨今、ハイビジョン画像の4倍の、4000×2000画素程度の画像を圧縮したい、あるいは、インターネットのような、限られた伝送容量の環境において、ハイビジョン画像を配信したいといった、更なる高圧縮率符号化に対するニーズが高まっている。このため、先述の、ITU-T傘下のVCEGにおいて、符号化効率の改善に関する検討が継続され行なわれている。
  そこで、現在、AVCより更なる符号化効率の向上を目的として、ITU-Tと、ISO/IECの共同の標準化団体であるJCTVC(Joint Collaboration Team - Video Coding)により、HEVC(High Efficiency Video Coding)と呼ばれる符号化方式の標準化が進められている。HEVC規格については、2012年2月に最初のドラフト版仕様であるCommittee draftが発行されている(例えば、非特許文献1参照)。
  ところで、これまでの、MPEG-2やAVCといった画像符号化方式は、画像を複数のレイヤに階層化して符号化するスケーラビリティ(scalability)機能を有していた。
  すなわち、例えば携帯電話のような、処理能力の低い端末に対しては、ベースレイヤ(base layer)のみの画像圧縮情報を伝送し、空間時間解像度の低い、或いは、画質の良くない動画像を再生し、テレビやパーソナルコンピュータのような、処理能力の高い端末に対しては、ベースレイヤ(base layer)に加えて、エンハンスメントレイヤ(enhancement layer)の画像圧縮情報を伝送し、空間時間解像度の高い、或いは、画質の高い動画像を再生するといったように、トランスコード処理を行うことなく、端末やネットワークの能力に応じた画像圧縮情報を、サーバから送信することが可能となる。
  ところで、HEVCにおいては、AMVP(Advanced Motion Vector Prediction)と、マージ(Merge)という、2つの動きベクトル情報符号化方式が規定されている(例えば、非特許文献2参照)。
Benjamin Bross, Woo-Jin Han, Jens-Rainer Ohm, Gary J. Sullivan, Thomas Wiegand, "High efficiency video coding (HEVC) text specification draft 9", JCTVC-H1003 v9, Joint Collaborative Team on Video Coding (JCT-VC)of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 11th Meeting: Shanghai, CN, 10-19 Octorber, 2012 Toshiyasu Sugio, Takahiro Nishi, "Parsing Robustness for Merge/AMVP", JCTVC-F470, Joint Collaborative Team on Video Coding (JCT-VC)of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG116th Meeting: Torino, IT, 14-22 July, 2011
  しかしながら、従来の方法では、処理対象であるカレントブロックについて、アンアベイラブル(unavailable)である時空間隣接動きベクトル情報(カレントブロックの周辺に位置する周辺ブロックの動き情報)が多数存在すると、符号化効率が低減してしまう恐れがあった。
  本開示は、このような状況に鑑みてなされたものであり、符号化効率の低減を抑制することができるようにするものである。
  本技術の一側面は、複数階層化された画像データが符号化された階層画像符号化データと、前記画像データの符号化に用いられた動き情報が符号化された動き情報符号化データとを受け取る受け取り部と、カレントブロックと同階層の周辺ブロックの動き情報がアンアベイラブルな場合、前記カレントブロックと異なる階層の周辺ブロックの動き情報を用いて、前記受け取り部により受け取られた前記動き情報符号化データを復号する動き情報復号部と、前記動き情報復号部により前記動き情報符号化データが復号されて得られた動き情報を用いて、前記受け取り部による受け取られた前記階層画像符号化データを復号する復号部とを備える画像処理装置である。
  前記動き情報復号部は、前記カレントブロックと同階層の周辺ブロックの動き情報がアベイラブルな場合、前記周辺ブロックの動き情報を用いて、前記画像データの符号化に用いられた動き情報の符号化に用いた予測動き情報を再構築し、再構築した前記予測動き情報を用いて、前記動き情報符号化データを復号し、前記カレントブロックと同階層の周辺ブロックの動き情報がアンアベイラブルな場合、前記カレントブロックと異なる階層の周辺ブロックの動き情報を用いて、前記画像データの符号化に用いられた動き情報の符号化に用いた予測動き情報を再構築し、再構築した前記予測動き情報を用いて、前記動き情報符号化データを復号することができる。
  前記動き情報復号部は、AMVP(Advanced Motion Vector Prediction)モードにおける、前記カレントブロックと同階層の周辺ブロックのアンアベイラブルな動き情報の代わりに、前記カレントブロックと異なる階層の、前記周辺ブロックに対応する周辺ブロックのアベイラブルな動き情報を前記予測動き情報の候補とすることができる。
  前記動き情報復号部は、前記カレントブロックと同階層の周辺ブロックの、時間軸方向のスケーリング処理が行われるアンアベイラブルな動き情報の代わりに、前記カレントブロックと異なる階層の、前記周辺ブロックに対応する周辺ブロックの、時間軸方向のスケーリング処理が行われるアベイラブルな動き情報を前記予測動き情報の候補とし、前記カレントブロックと同階層の周辺ブロックの、時間軸方向のスケーリング処理が行われないアンアベイラブルな動き情報の代わりに、前記カレントブロックと異なる階層の、前記周辺ブロックに対応する周辺ブロックの、時間軸方向のスケーリング処理が行われないアベイラブルな動き情報を前記予測動き情報の候補とすることができる。
  前記動き情報復号部は、階層間の解像度比に応じて、前記カレントブロックと異なる階層の周辺ブロックの動き情報を、空間方向にスケーリング処理することができる。
  前記動き情報復号部は、マージ(Merge)モードにおける、前記予測動き情報の候補リストの欠番を、前記カレントブロックと異なる階層の、前記周辺ブロックに対応する周辺ブロックのアベイラブルな動き情報により補填することができる。
  前記受け取り部は、さらに、前記候補リストに、前記カレントブロックと同階層のブロックの動き情報を用いるか、並びに、前記カレントブロックと異なる階層のブロックの動き情報を用いるかを指定する制御情報を受け取ることができる。
  前記動き情報復号部は、前記受け取り部により受け取られた前記制御情報に基づいて、前記候補リストに、前記カレントブロックと同階層のブロックの動き情報を用いる場合、前記候補リストの欠番の補填に、前記カレントブロックと異なる階層のブロックの動き情報を用い、前記候補リストに、前記カレントブロックと異なる階層のブロックの動き情報を用いる場合、前記候補リストの欠番の補填に、前記カレントブロックと同階層のブロックの動き情報を用いることができる。
  前記動き情報復号部は、前記カレントブロックと異なる階層においてコロケーテッドブロックとされた周辺ブロックと異なるブロックの動き情報により、前記候補リストの欠番を補填することができる。
  本技術の一側面は、また、複数階層化された画像データが符号化された階層画像符号化データと、前記画像データの符号化に用いられた動き情報が符号化された動き情報符号化データとを受け取り、カレントブロックと同階層の周辺ブロックの動き情報がアンアベイラブルな場合、前記カレントブロックと異なる階層の周辺ブロックの動き情報を用いて、受け取られた前記動き情報符号化データを復号し、前記動き情報符号化データが復号されて得られた動き情報を用いて、受け取られた前記階層画像符号化データを復号する画像処理方法である。
  本技術の他の側面は、複数階層化された画像データを、動き情報を用いて符号化する符号化部と、カレントブロックと同階層の周辺ブロックの動き情報がアンアベイラブルな場合、前記カレントブロックと異なる階層の周辺ブロックの動き情報を用いて、前記符号化部による前記画像データの符号化に用いられた前記動き情報を符号化する動き情報符号化部と、前記符号化部により前記画像データが符号化されて得られた階層画像符号化データと、前記動き情報符号化部により前記動き情報が符号化されて得られた動き情報符号化データとを伝送する伝送部とを備える画像処理装置である。
  前記動き情報符号化部は、前記カレントブロックと同階層の周辺ブロックの動き情報がアベイラブルな場合、前記周辺ブロックの動き情報を用いて予測動き情報を生成し、生成した前記予測動き情報を用いて前記動き情報を符号化し、前記カレントブロックと同階層の周辺ブロックの動き情報がアンアベイラブルな場合、前記カレントブロックと異なる階層の周辺ブロックの動き情報を用いて予測動き情報を生成し、生成した前記予測動き情報を用いて前記動き情報を符号化することができる。
  前記動き情報符号化部は、AMVP(Advanced Motion Vector Prediction)モードにおける、前記カレントブロックと同階層の周辺ブロックのアンアベイラブルな動き情報の代わりに、前記カレントブロックと異なる階層の、前記周辺ブロックに対応する周辺ブロックのアベイラブルな動き情報を前記予測動き情報の候補とすることができる。
  前記動き情報符号化部は、前記カレントブロックと同階層の周辺ブロックの、時間軸方向のスケーリング処理が行われるアンアベイラブルな動き情報の代わりに、前記カレントブロックと異なる階層の、前記周辺ブロックに対応する周辺ブロックの、時間軸方向のスケーリング処理が行われるアベイラブルな動き情報を前記予測動き情報の候補とし、前記カレントブロックと同階層の周辺ブロックの、時間軸方向のスケーリング処理が行われないアンアベイラブルな動き情報の代わりに、前記カレントブロックと異なる階層の、前記周辺ブロックに対応する周辺ブロックの、時間軸方向のスケーリング処理が行われないアベイラブルな動き情報を前記予測動き情報の候補とすることができる。
  前記動き情報符号化部は、階層間の解像度比に応じて、前記カレントブロックと異なる階層の周辺ブロックの動き情報を、空間方向にスケーリング処理することができる。
  前記動き情報符号化部は、マージ(Merge)モードにおける、前記予測動き情報の候補リストの欠番を、前記カレントブロックと異なる階層の、前記周辺ブロックに対応する周辺ブロックのアベイラブルな動き情報により補填することができる。
  前記伝送部は、さらに、前記候補リストに、前記カレントブロックと同階層のブロックの動き情報を用いるか、並びに、前記カレントブロックと異なる階層のブロックの動き情報を用いるかを指定する制御情報を伝送することができる。
  前記動き情報符号化部は、前記候補リストに、前記カレントブロックと同階層のブロックの動き情報を用いる場合、前記候補リストの欠番の補填に、前記カレントブロックと異なる階層のブロックの動き情報を用い、前記候補リストに、前記カレントブロックと異なる階層のブロックの動き情報を用いる場合、前記候補リストの欠番の補填に、前記カレントブロックと同階層のブロックの動き情報を用いることができる。
  前記動き情報符号化部は、前記カレントブロックと異なる階層においてコロケーテッドブロックとされた周辺ブロックと異なるブロックの動き情報により、前記候補リストの欠番を補填することができる。
  本技術の他の側面は、また、複数階層化された画像データを、動き情報を用いて符号化し、カレントブロックと同階層の周辺ブロックの動き情報がアンアベイラブルな場合、前記カレントブロックと異なる階層の周辺ブロックの動き情報を用いて、前記画像データの符号化に用いられた前記動き情報を符号化し、前記画像データが符号化されて得られた階層画像符号化データと、前記動き情報が符号化されて得られた動き情報符号化データとを伝送する画像処理方法である。
  本技術の一側面においては、複数階層化された画像データが符号化された階層画像符号化データと、画像データの符号化に用いられた動き情報が符号化された動き情報符号化データとが受け取られ、カレントブロックと同階層の周辺ブロックの動き情報がアンアベイラブルな場合、カレントブロックと異なる階層の周辺ブロックの動き情報が用いられて、受け取られた動き情報符号化データが復号され、動き情報符号化データが復号されて得られた動き情報が用いられて、受け取られた階層画像符号化データが復号される。
  本技術の他の側面においては、複数階層化された画像データが動き情報を用いて符号化され、カレントブロックと同階層の周辺ブロックの動き情報がアンアベイラブルな場合、カレントブロックと異なる階層の周辺ブロックの動き情報が用いられて、画像データの符号化に用いられた動き情報が符号化され、画像データが符号化されて得られた階層画像符号化データと、動き情報が符号化されて得られた動き情報符号化データとが伝送される。
  本開示によれば、画像を符号化・復号することができる。特に、符号化効率の低減を抑制することができる。
コーディングユニットの構成例を説明する図である。 スペーシャルなスケーラブル符号化の例を説明する図である。 テンポラルなスケーラブル符号化の例を説明する図である。 信号雑音比のスケーラブル符号化の例を説明する図である。 AMVPについて説明する図である。 マージ(Merge)について説明する図である。 候補リストのIDの符号化を説明する図である。 欠番リストの補填について説明する図である。 クロッピングの場合について説明する図である。 ベースレイヤの動き情報の利用について説明する図である。 シーケンスパラメータセットのシンタクスの例を示す図である。 シーケンスパラメータセットのシンタクスの例を示す、図11に続く図である。 スライスヘッダの例を示す図である。 スライスヘッダの例を示す、図13に続く図である。 スライスヘッダの例を示す、図14に続く図である。 スケーラブル符号化装置の主な構成例を示すブロック図である。 ベースレイヤ画像符号化部の主な構成例を示すブロック図である。 エンハンスメントレイヤ画像符号化部の主な構成例を示すブロック図である。 動き情報符号化部の主な構成例を示すブロック図である。 符号化処理の流れの例を説明するフローチャートである。 ベースレイヤ符号化処理の流れの例を説明するフローチャートである。 エンハンスメントレイヤ符号化処理の流れの例を説明するフローチャートである。 動き予測・補償処理の流れの例を説明するフローチャートである。 動き情報符号化処理の流れの例を説明するフローチャートである。 AMVP処理の流れの例を説明するフローチャートである。 空間予測動き情報探索処理の流れの例を説明するフローチャートである。 空間予測動き情報探索処理の流れの例を説明する、図26に続くフローチャートである。 空間予測動き情報探索処理の流れの、他の例を説明するフローチャートである。 空間予測動き情報探索処理の流れの、他の例を説明する、図28に続くフローチャートである。 時間予測動き情報探索処理の流れの例を説明するフローチャートである。 マージ処理の流れの例を説明するフローチャートである。 ベースレイヤ動き情報選択処理の流れの例を説明するフローチャートである。 レイヤ制御処理の流れの例を説明するフローチャートである。 スケーラブル復号装置の主な構成例を示すブロック図である。 ベースレイヤ画像復号部の主な構成例を示すブロック図である。 エンハンスメントレイヤ画像復号部の主な構成例を示すブロック図である。 動き情報復号部の主な構成例を示すブロック図である。 復号処理の流れの例を説明するフローチャートである。 ベースレイヤ復号処理の流れの例を説明するフローチャートである。 エンハンスメントレイヤ復号処理の流れの例を説明するフローチャートである。 予測処理の流れの例を説明するフローチャートである。 動き情報復号処理の流れの例を説明するフローチャートである。 階層画像符号化方式の例を示す図である。 多視点画像符号化方式の例を示す図である。 コンピュータの主な構成例を示すブロック図である。 テレビジョン装置の概略的な構成の一例を示すブロック図である。 携帯電話機の概略的な構成の一例を示すブロック図である。 記録再生装置の概略的な構成の一例を示すブロック図である。 撮像装置の概略的な構成の一例を示すブロック図である。 スケーラブル符号化利用の一例を示すブロック図である。 スケーラブル符号化利用の他の例を示すブロック図である。 スケーラブル符号化利用のさらに他の例を示すブロック図である。
  以下、本開示を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行う。
  0.概要
  1.第1の実施の形態(画像符号化装置)
  2.第2の実施の形態(画像復号装置)
  3.その他
  4.第3の実施の形態(コンピュータ)
  5.応用例
  6.スケーラブル符号化の応用例
  <0.概要>
    <符号化方式>
  以下においては、HEVC(High Efficiency Video Coding)方式の画像符号化・復号に適用する場合を例に、本技術を説明する。
    <コーディングユニット>
  AVC(Advanced Video Coding)方式においては、マクロブロックとサブマクロブロックによる階層構造が規定されている。しかしながら、16画素×16画素のマクロブロックでは、次世代符号化方式の対象となるような、UHD(Ultra High Definition;4000画素×2000画素)といった大きな画枠に対して最適ではない。
  これに対して、HEVC方式においては、図1に示されるように、コーディングユニット(CU(Coding Unit))が規定されている。
  CUは、Coding Tree Block(CTB)とも呼ばれ、AVC方式におけるマクロブロックと同様の役割を果たす、ピクチャ単位の画像の部分領域である。後者は、16×16画素の大きさに固定されているのに対し、前者の大きさは固定されておらず、それぞれのシーケンスにおいて、画像圧縮情報中において指定されることになる。
  例えば、出力となる符号化データに含まれるシーケンスパラメータセット(SPS(Sequence Parameter Set))において、CUの最大サイズ(LCU(Largest Coding Unit))と最小サイズ(SCU(Smallest Coding Unit))が規定される。
  それぞれのLCU内においては、SCUのサイズを下回らない範囲で、split-flag=1とすることにより、より小さなサイズのCUに分割することができる。図1の例では、LCUの大きさが128であり、最大階層深度が5となる。2N×2Nの大きさのCUは、split_flagの値が「1」である時、1つ下の階層となる、N×Nの大きさのCUに分割される。
  更に、CUは、イントラ若しくはインター予測の処理単位となる領域(ピクチャ単位の画像の部分領域)であるプレディクションユニット(Prediction Unit(PU))に分割され、また、直交変換の処理単位となる領域(ピクチャ単位の画像の部分領域)である、トランスフォームユニット(Transform Unit(TU))に分割される。現在、HEVC方式においては、4×4及び8×8に加え、16×16及び32×32直交変換を用いることが可能である。
  以上のHEVC方式のように、CUを定義し、そのCUを単位として各種処理を行うような符号化方式の場合、AVC方式におけるマクロブロックはLCUに相当し、ブロック(サブブロック)はCUに相当すると考えることができる。また、AVC方式における動き補償ブロックは、PUに相当すると考えることができる。ただし、CUは、階層構造を有するので、その最上位階層のLCUのサイズは、例えば128×128画素のように、AVC方式のマクロブロックより大きく設定されることが一般的である。
  よって、以下、LCUは、AVC方式におけるマクロブロックをも含むものとし、CUは、AVC方式におけるブロック(サブブロック)をも含むものとする。つまり、以下の説明に用いる「ブロック」は、ピクチャ内の任意の部分領域を示し、その大きさ、形状、および特性等は限定されない。つまり、「ブロック」には、例えば、TU、PU、SCU、CU、LCU、サブブロック、マクロブロック、またはスライス等任意の領域(処理単位)が含まれる。もちろん、これら以外の部分領域(処理単位)も含まれる。サイズや処理単位等を限定する必要がある場合は、適宜説明する。
    <モード選択>
  ところで、AVCそしてHEVC符号化方式において、より高い符号化効率を達成するには、適切な予測モードの選択が重要である。
  かかる選択方式の例として、JM (Joint Model) と呼ばれるH.264/MPEG-4 AVCの参照ソフトウエア (http://iphome.hhi.de/suehring/tml/index.htm において公開されている) に実装されている方法を挙げることが出来る。
  JMにおいては、以下に述べる、High Complexity Modeと、Low Complexity Modeの2通りのモード判定方法を選択することが可能である。どちらも、それぞれの予測モードModeに関するコスト関数値を算出し、これを最小にする予測モードを当該ブロック乃至マクロブロックに対する最適モードとして選択する。
  High Complexity Modeにおけるコスト関数は、以下の式(1)のように示される。
Figure JPOXMLDOC01-appb-I000001
  ここで、Ωは、当該ブロック乃至マクロブロックを符号化するための候補モードの全体集合、Dは、当該予測モードで符号化した場合の、復号画像と入力画像の差分エネルギーである。λは、量子化パラメータの関数として与えられるLagrange未定乗数である。Rは、直交変換係数を含んだ、当該モードで符号化した場合の総符号量である。
  つまり、High Complexity Modeでの符号化を行うには、上記パラメータD及びRを算出するため、全ての候補モードにより、一度、仮エンコード処理を行う必要があり、より高い演算量を要する。
  Low Complexity Modeにおけるコスト関数は、以下の式(2)のように示される。
Figure JPOXMLDOC01-appb-I000002
  ここで、Dは、High Complexity Modeの場合と異なり、予測画像と入力画像の差分エネルギーとなる。QP2Quant(QP)は、量子化パラメータQPの関数として与えられ、HeaderBitは、直交変換係数を含まない、動きベクトルや、モードといった、Headerに属する情報に関する符号量である。
  すなわち、Low Complexity Modeにおいては、それぞれの候補モードに関して、予測処理を行う必要があるが、復号画像までは必要ないため、符号化処理まで行う必要はない。このため、High Complexity Modeより低い演算量での実現が可能である。
    <階層符号化>
  ところで、これまでの、MPEG2、AVCといった画像符号化方式は、図2乃至図4に示されるような、スケーラビリティ(scalability)機能を有していた。スケーラブル符号化(階層符号化)とは、画像を複数レイヤ化(階層化)し、レイヤ毎に符号化する方式である。
  画像の階層化においては、所定のパラメータを基準として1の画像が複数の画像(レイヤ)に分割される。基本的に各レイヤは、冗長性が低減されるように、差分データにより構成される。例えば、1の画像をベースレイヤとエンハンスメントレイヤに2階層化した場合、ベースレイヤのデータのみで元の画像よりも低品質な画像が得られ、ベースレイヤのデータとエンハンスメントレイヤのデータを合成することで、元の画像(すなわち高品質な画像)が得られる。
  このように画像を階層化することにより、状況に応じて多様な品質の画像を容易に得ることができる。例えば携帯電話のような、処理能力の低い端末に対しては、ベースレイヤ(base layer)のみの画像圧縮情報を伝送し、空間時間解像度の低い、或いは、画質の良くない動画像を再生し、テレビやパーソナルコンピュータのような、処理能力の高い端末に対しては、ベースレイヤ(base layer)に加えて、エンハンスメントレイヤ(enhancement layer)の画像圧縮情報を伝送し、空間時間解像度の高い、或いは、画質の高い動画像を再生するといったように、トランスコード処理を行うことなく、端末やネットワークの能力に応じた画像圧縮情報を、サーバから送信することが可能となる。
  このようなスケーラビリティ性を持たせるパラメータとして、例えば、図2に示されるような、空間解像度がある(spatial scalability)。このスペーシャルスケーラビリティ(spatial scalability)の場合、レイヤ毎に解像度が異なる。つまり、図2に示されるように、各ピクチャが、元の画像より空間的に低解像度のベースレイヤと、ベースレイヤの画像と合成することにより元の画像(元の空間解像度)が得られるエンハンスメントレイヤの2階層に階層化される。もちろん、この階層数は一例であり、任意の階層数に階層化することができる。
  また、このようなスケーラビリティ性を持たせるパラメータとして、他には、例えば、図3に示されるような、時間解像度がある(temporal scalability)。このテンポラルスケーラビリティ(temporal scalability)の場合、レイヤ毎にフレームレートが異なる。つまり、この場合、図3に示されるように、互いに異なるフレームレートのレイヤに階層化されており、低フレームレートのレイヤに、高フレームレートのレイヤを加えることで、より高フレームレートの動画像を得ることができ、全てのレイヤを加えることで、元の動画像(元のフレームレート)を得ることができる。この階層数は一例であり、任意の階層数に階層化することができる。
  また、このようなスケーラビリティ性を持たせるパラメータとして、他には、例えば、信号雑音比(SNR(Signal to Noise ratio))がある(SNR scalability)。このSNRスケーラビリティ(SNR scalability)の場合、レイヤ毎にSN比が異なる。つまり、図4に示されるように、各ピクチャが、元の画像よりSNRの低いベースレイヤと、ベースレイヤの画像と合成することにより元の画像(元のSNR)が得られるエンハンスメントレイヤの2階層に階層化される。すなわち、ベースレイヤ(base layer)画像圧縮情報においては、低PSNRの画像に関する情報が伝送されており、これに、エンハンスメントレイヤ(enhancement layer)画像圧縮情報を加えることで、高PSNR画像を再構築することが可能である。もちろん、この階層数は一例であり、任意の階層数に階層化することができる。
  スケーラビリティ性を持たせるパラメータは、上述した例以外であっても、もちろんよい。例えば、ベースレイヤ(base layer)が8ビット(bit)画像よりなり、これにエンハンスメントレイヤ(enhancement layer)を加えることにより、10ビット(bit)画像が得られるビット深度スケーラビリティ(bit-depth scalability)がある。
  また、ベースレイヤ(base layer)が4:2:0フォーマットのコンポーネント画像よりなり、これにエンハンスメントレイヤ(enhancement layer)を加えることにより、4:2:2フォーマットのコンポーネント画像が得られるクロマスケーラビリティ(chroma scalability)がある。
    <動き情報の符号化>
  HEVCにおいて定められている動き情報の符号化方式について述べる。
  HEVCにおいては、予測画像の生成方法の1つとして、画面間予測(インター予測)が採用されているが、その際生成される動き情報(動きベクトルを含む情報)の符号化方式として、AMVP(Advanced Motion Vector Prediction)とマージ(Merge)との2つの方式が規定されている。
  どちらも、処理対象であるカレントブロック(PU)の周辺に位置する周辺ブロック(周辺PU)における動き情報から、カレントブロックにおける動き情報の予測値(予測動き情報とも称する)を生成する。AMVPモードの場合、その予測動き情報とカレントブロックの動き情報との差分値が算出され、その差分値が、動き情報の符号化結果として、画像データのビットストリーム中に含められて伝送される。また、マージ(Merge)モードの場合、周辺ブロックから生成された予測動き情報が、カレントブロックの動き情報とされる。そして、予測動き情報を示すインデックス情報が、画像データのビットストリーム中に含められて伝送される。
  予測動き情報は、カレントブロックの、時間方向に周辺に位置するブロックである時間周辺ブロックの動き情報(時間方向周辺動き情報とも称する)、および、空間方向に周辺に位置するブロックである空間周辺ブロックの動き情報(空間方向周辺動き情報とも称する)を用いて生成される。
  AMVPモードの場合、例えば図5のカレントブロック(CurrentPU)に対して、空間方向周辺動き情報は、周辺ブロックA0、周辺ブロックB0、周辺ブロックC、周辺ブロックD、および周辺ブロックEの各動き情報である。また、例えば図5のカレントブロック(Current PU)に対して、時間方向周辺動き情報は、コロケーテッドブロック(Co-located PU)のピクチャの、周辺ブロックCRおよび周辺ブロックHである。
  このAMVPモードにおいて、空間方向周辺動き情報から予測動き情報の候補を生成する場合、予測動き情報の候補として、図5の、周辺ブロックA0および周辺ブロックEの中から1つ選択され、さらに、周辺ブロックC、周辺ブロックB0、および周辺ブロックDの中から1つ選択される。
  以下では、VEC1を、カレントブロックの動き情報と、ref_idxも、listも同じ動き情報とし、VEC2を、カレントブロックの動き情報と、ref_idxは同じであるが、listが異なる動き情報とし、VEC3を、カレントブロックの動き情報と、ref_idxは異なるが、listが同一である動き情報とし、VEC4を、カレントブロックの動き情報と、ref_idxも、listも異なる動き情報であるとする。
  空間方向周辺動き情報の候補は、以下のような順で探索(スキャン)される。
  (1)周辺ブロックEおよび周辺ブロックA0のVEC1のスキャンを行う。
  (2)周辺ブロックEおよび周辺ブロックA0のVEC2,3,4のスキャンを行う。
  (3)周辺ブロックC、周辺ブロックB0、および周辺ブロックDのVEC1のスキャンを行う。
  (4)周辺ブロックC、周辺ブロックB0、および周辺ブロックDのVEC2,3,4のスキャンを行う。
  上記スキャン処理は、該当する動き情報が検出された時点で終了となる。
  なお、VEC3,4に関しては、以下の式(3)のような、スケーリング(scaling)処理が施される。
Figure JPOXMLDOC01-appb-I000003
  また、時間方向周辺動き情報から予測動き情報の候補を生成する場合、図5の周辺ブロックHの動き情報がアンアベイラブル(unavailable)のときは、周辺ブロックCRの動き情報が予測動き情報の候補として用いられる。
  次に、マージ(Merge)モードの場合の動き情報の符号化方式について述べる。
  マージモードの場合、例えば図6のカレントブロック(CurrentPU)に対して、空間方向周辺動き情報は、周辺ブロック1乃至周辺ブロック5の各動き情報である。また、例えば図6のカレントブロック(Current PU)に対して、時間方向周辺動き情報は、コロケーテッドブロック(Co-located PU)のピクチャの、周辺ブロックCR6および周辺ブロックH6である。
  このマージモードにおいて、空間方向周辺動き情報から予測動き情報の候補を生成する場合、予測動き情報の候補として、図6の、周辺ブロック1乃至周辺ブロック4の動き情報が用いられ、候補リストが生成される。この周辺ブロック1乃至周辺ブロック4の各動き情報の内、1つでもアンアベイラブル(unavailable)なものがあれば、周辺ブロック5の動き情報が用いられる。
  また、時間方向周辺動き情報から予測動き情報の候補を生成する場合、図6の周辺ブロックH6の動き情報がアンアベイラブル(unavailable)のときは、周辺ブロックCR6の動き情報が用いられる。
  このようにして、マージモードにおける予測動き情報の候補の数(候補リストのサイズ)は、常に5つに固定されている。つまり、図7に示されるように、インデックス(Merge_idx)のリストサイズ(List Size)は5に固定されている。これにより、CABACと動き予測とを独立して処理することができる。
  なお、アンアベイラブル(unavailable)な周辺動き情報が存在すると、この候補リストに欠番が生じる恐れがある。候補リストに欠番が生じると符号化効率が低減する恐れがある。そこで候補リストに欠番を生じさせないようにするために、例えば図8に示されるように、コンバインドマージ(Combined bi-directional Merge)やゼロベクトルマージ(Zero vector Merge)等の補填方法が考えられた。
  コンバインドマージは、既に候補リストに用いられている動き情報を用いて新たな候補を生成し、補填する方法である。ゼロベクトルマージは、ゼロベクトルを用いて新たな候補を生成し、補填する方法である。
  しかしながら、コンバインドマージの場合、カレントブロックの動き情報との相関性に関わらず、単純に周辺ブロックの動き情報を補填するだけであり、しかも他の候補として採用されている動き情報が補填されるだけなので、一般的に、予測動き情報の予測精度の向上は期待することができない。ゼロベクトルマージの場合は、さらにカレントブロックの動き情報との相関性が低く、予測動き情報の予測精度の向上は期待することができない。
  したがって、このような補填方法を用いて予測動き情報を生成する場合、符号化効率が低減する恐れがあった。
  特に、階層化された画像データを符号化・復号する階層符号化・階層復号(スケーラブル符号化・スケーラブル復号)の場合、符号化の際にベースレイヤ(Baselayer)の情報を参照するエンハンスメントレイヤ(Enhancementlayer)において、全画像の一部をクロッピング(cropping)して符号化することができる。
  このようなクロッピングを行う場合、図9に示されるように、ベースレイヤではアベイラブル(Available)であった周辺ブロックの動き情報が、エンハンスメントレイヤにおいてはアンアベイラブル(unavailable)(ノットアベイラブル(Not Available)とも称する)となることも考えられる。
    <ベースレイヤの動き情報の利用>
  ところで、スケーラブル符号化・スケーラブル復号の場合、一般的に、ベースレイヤとエンハンスメントレイヤとの間で、動き情報は高い相関性を有する。
  そこで、スケーラブル符号化・スケーラブル復号における動き情報の符号化・復号において、エンハンスメントレイヤにおいてアンアベイラブルな周辺動き情報の代わりに、ベースレイヤのアベイラブルな周辺動き情報を利用するようにする。
    <AMVPモードの場合>
  図10において、上側がエンハンスメントレイヤ(Enhancementlayer)のブロックを示し、下側がベースレイヤ(Baselayer)のブロックを示している。
  図10左上の大きなブロック(Curr PU)がエンハンスメントレイヤのカレントブロック(処理対象のブロック)を示し、その周辺の数字を付したブロックが、エンハンスメントレイヤのカレントブロックの空間方向の周辺ブロックである。図10右上の大きなブロックが、エンハンスメントレイヤのカレントブロックと異なるピクチャの同じ位置のブロックを示し、CRを付したブロックと、Hを付したブロックが、エンハンスメントレイヤのカレントブロックの時間方向の周辺ブロック(コロケーテッドブロック)となり得るブロックである。
  図10左下の大きなブロック(Curr PU)がベースレイヤのカレントブロックを示す。すなわち、このブロックは、エンハンスメントレイヤのカレントブロックと同じ位置に存在する、エンハンスメントレイヤのカレントブロックに対応するブロックである。
  また、その周辺の数字を付したブロックが、ベースレイヤのカレントブロックの空間方向の周辺ブロックである。図10右下の大きなブロックがベースレイヤのカレントブロックと異なるピクチャの同じ位置のブロックを示し、CRを付したブロックと、Hを付したブロックが、ベースレイヤのカレントブロックの時間方向の周辺ブロック(コロケーテッドブロック)となり得るブロックである。
  AMVPモードの場合、この図10において、例えば、エンハンスメントレイヤのブロック2がアンアベイラブル(unavailable)であるが、そのブロックに対応するベースレイヤ(Baselayer)のブロック2がアベイラブル(available)であるとする。
  この場合、ベースレイヤのブロック2の動き情報を、エンハンスメントレイヤのブロック2の動き情報の代替情報として適用する。
  その際、ベースレイヤとエンハンスメントレイヤとで空間方向の解像度が異なる場合、すなわち、スペーシャルスケーラビリティ(Spatial Scalability)である場合、ベースレイヤとエンハンスメントレイヤとのスケーラビリティ比(解像度比)に応じて、エンハンスメントレイヤの動き情報の代わりに適用するベースレイヤの動き情報を、スケーリング(scaling)処理するようにしてもよい。
  なお、エンハンスメントレイヤの動き情報の代わりに適用するベースレイヤの動き情報についても、エンハンスメントレイヤの動き情報の場合と同様に、カレントブロックの動き情報と参照インデックスが異なる場合、時間軸方向のスケーリング(scaling)処理を行うようにしてもよい。
  また、エンハンスメントレイヤのアンスケールド(unscaled)動き情報の代替情報として、ベースレイヤにおけるアンスケールド(unscaled)動き情報が用いられ、エンハンスメントレイヤにおけるスケールド(scaled)動き情報の代替情報として、ベースレイヤにおけるスケールド(scaled)動き情報が用いられるようにしてもよい。
    <マージモードの場合>
  また、マージモードの場合、エンハンスメントレイヤにおいて予測動き情報の候補リストに欠番があった場合、ベースレイヤのアベイラブルな動き情報を候補リストに補填する。すなわち、候補リストに欠番があった場合、エンハンスメントレイヤのカレントブロックに対応する、ベースレイヤのカレントブロックの動き情報を候補リストに補填する。
  なお、ベースレイヤにおいて、図6の周辺ブロックCR6が、コロケーテッドブロックとされ、その動き情報がコロケーテッド(Collocated)動き情報として用いられた場合、周辺ブロックH6の動き情報を用いて補填処理を行い、ベースレイヤにおいて、周辺ブロックH6の動き情報がコロケーテッド動き情報として用いられた場合、周辺ブロックCR6の動き情報を用いて補填処理を行うようにしてもよい。
  カレントピクチャがPピクチャである場合、コンバインドマージによる補填処理は適用することが出来ず、ゼロベクトルマージによる補填しか適用することができない。そのため、特に、カレントピクチャがPピクチャである場合、従来の補填方法では、符号化効率を向上させることが出来ない恐れがあった。
  上述したベースレイヤの動き情報を補填する方法は、エンハンスメントレイヤのカレントピクチャがPピクチャであっても、ベースレイヤの動き情報がアベイラブルであれば補填することができる。そのため、カレントピクチャがPピクチャであっても、符号化効率を向上させることができる。
  なお、この補填方法を、コンバインドマージ(Combined Merge Candidateとも称する)やゼロベクトルマージ(Zero Merge Candidateとも称する)等の他の補填方法と併用するようにしてもよい。
  また、候補リストにおいて、単一階層のHEVCにおけるテンポラルプレディクタ(temporal predictor)の代わりに、ベースレイヤプレディクタ(baselayer predictor)を用いるようにしても良い。つまり、ベースレイヤの動き情報を欠番の補填に用いるのではなく、候補リストの生成の際に、時間方向の周辺ブロックの動き情報ではなく、ベースレイヤの動き情報を用いるようにしてもよい。
  その際、コロケーテッド動き情報としてテンポラルプレディクタが指定される場合、欠番リストを補填するために、ベースレイヤプレディクタを用いるようにしてもよい。また、コロケーテッド動き情報としてベースレイヤプレディクタが指定される場合、欠番リストを補填するために、テンポラルプレディクタを用いるようにしてもよい。
  さらに、テンポラルプレディクタとベースレイヤプレディクタのどちらをコロケーテッド動き情報とするかを指定する情報(例えば、フラグ(flag))を、画像データが符号化された符号化データのスライスヘッダ(SliceHeader)等において伝送するようにしても良い。例えば、そのような情報を、候補フラグに使用するプレディクタを指定する情報(例えば、インジケータ(indicatior))として伝送するようにしてもよい。
  図11乃至図15に、そのようなインジケータを伝送する場合のシンタクスの具体例を示す。図11および図12は、シーケンスパラメータセットのシンタクスの例を示す図である。図13乃至図15は、スライスセグメントヘッダのシンタクスの例を示す図である。
  図12に示されるように、シーケンスパラメータセットにおいて、処理対象であるカレントシーケンスについて、候補リストに用いるプレディクタを指定するパラメータsps_col_mvp_indicatorが伝送される。また、図14に示されるように、そのパラメータsps_col_mvp_indicatorの値が「0」でなく(sps_col_mvp_indicator != 0)、かつ、処理対象であるカレントピクチャがIDRピクチャでない(!IdrPicFlag)場合、処理対象であるカレントスライスについて、候補リストに用いるプレディクタを指定するパラメータslice_col_mvp_indicatorが伝送される。
  なお、パラメータsps_col_mvp_indicatorの値が「0」である場合、空間方向の周辺ブロックの動き情報であるスペーシャルプレディクタ(spatial predictor)のみにより候補リストが作成される。また、パラメータsps_col_mvp_indicatorの値が「1」である場合、スペーシャルプレディクタおよびベースレイヤの動き情報(col_baselayer_mv)のみにより候補リストが作成される。さらに、パラメータsps_col_mvp_indicatorの値が「2」である場合、スペーシャルプレディクタ(spatial predictor)および時間方向の周辺ブロックの動き情報(col_tmvp)により候補リストが作成される。また、パラメータsps_col_mvp_indicatorの値が「3」である場合、スペーシャルプレディクタ(spatial predictor)、ベースレイヤの動き情報(col_baselayer_mv)、および時間方向の周辺ブロックの動き情報(col_tmvp)により候補リストが作成される。
  パラメータslice_col_mvp_indicatorも同様である。
  なお、ベースレイヤの画像符号化・復号が、AVC符号化方式に基づくものであっても良い。
  以上のような処理を行うことにより、エンハンスメントレイヤにおける符号化効率を向上させることができる。
  次に、以上のような本技術について、具体的な装置への適用例について説明する。
  <1.第1の実施の形態>
    <スケーラブル符号化装置>
  図16は、スケーラブル符号化装置の主な構成例を示すブロック図である。
  図16に示されるスケーラブル符号化装置100は、画像データをスケーラブル符号化する画像情報処理装置であり、ベースレイヤとエンハンスメントレイヤに階層化された画像データの各レイヤを符号化する。この階層化の基準として用いるパラメータ(スケーラビリティを持たせるパラメータ)は任意である。スケーラブル符号化装置100は、共通情報生成部101、符号化制御部102、ベースレイヤ画像符号化部103、動き情報符号化部104、およびエンハンスメントレイヤ画像符号化部105を有する。
  共通情報生成部101は、例えばNALユニットに格納するような画像データの符号化に関する情報を取得する。また、共通情報生成部101は、必要に応じて、ベースレイヤ画像符号化部103、動き情報符号化部104、およびエンハンスメントレイヤ画像符号化部105などから必要な情報を取得する。共通情報生成部101は、それらの情報を基に全レイヤに関する情報である共通情報を生成する。共通情報には、例えば、ビデオパラメータセット等が含まれる。共通情報生成部101は、生成した共通情報を、例えばNALユニットとして、スケーラブル符号化装置100の外部に出力する。なお、共通情報生成部101は、生成した共通情報を、符号化制御部102にも供給する。さらに、共通情報生成部101は、必要に応じて、生成した共通情報の一部若しくは全部をベースレイヤ画像符号化部103乃至エンハンスメントレイヤ画像符号化部105にも供給する。
  符号化制御部102は、共通情報生成部101から供給される共通情報に基づいて、ベースレイヤ画像符号化部103乃至エンハンスメントレイヤ画像符号化部105を制御することにより、各レイヤの符号化を制御する。
  ベースレイヤ画像符号化部103は、ベースレイヤの画像情報(ベースレイヤ画像情報)を取得する。ベースレイヤ画像符号化部103は、他のレイヤの情報を利用せずに、そのベースレイヤ画像情報を符号化し、ベースレイヤの符号化データ(ベースレイヤ符号化データ)を生成し、出力する。また、ベースレイヤ画像符号化部103は、符号化の際に得られた動き情報を動き情報符号化部104に供給する。
  動き情報符号化部104は、エンハンスメントレイヤ画像符号化部105における動き予測により得られる動き情報の符号化を行う。動き情報符号化部104は、処理対象であるカレントブロックの周辺に位置する周辺ブロックの動き情報を周辺動き情報として用いて、カレントブロックの動き情報の予測値である予測動き情報を生成する。このような予測動き情報の生成の際、動き情報符号化部104は、エンハンスメントレイヤ画像符号化部105から取得した動き情報を周辺動き情報として用いる。ただし、その動き情報がアンアベイラブルな場合、動き情報符号化部104は、そのアンアベイラブルな動き情報の代わりに、ベースレイヤ画像符号化部103から取得したアベイラブルな動き情報を周辺動き情報として用いる。動き情報符号化部104は、このようにして生成した予測動き情報を用いてカレントブロックの動き情報を符号化し、その符号化結果をエンハンスメントレイヤ画像符号化部105に戻す。
  エンハンスメントレイヤ画像符号化部105は、エンハンスメントレイヤの画像情報(エンハンスメントレイヤ画像情報)を取得する。エンハンスメントレイヤ画像符号化部105は、そのエンハンスメントレイヤ画像情報を符号化する。なお、エンハンスメントレイヤ画像符号化部105は、カレントブロックの動き情報を符号化するために、そのカレントブロックの動き情報を動き情報符号化部104に供給する。また、エンハンスメントレイヤ画像符号化部105は、動き情報符号化部104から、そのカレントブロックの動き情報の符号化結果を取得する。エンハンスメントレイヤ画像符号化部105は、このような符号化により、エンハンスメントレイヤの符号化データ(エンハンスメントレイヤ符号化データ)を生成し、出力する。
    <ベースレイヤ画像符号化部>
  図17は、図16のベースレイヤ画像符号化部103の主な構成例を示すブロック図である。図17に示されるように、ベースレイヤ画像符号化部103は、A/D変換部111、画面並べ替えバッファ112、演算部113、直交変換部114、量子化部115、可逆符号化部116、蓄積バッファ117、逆量子化部118、および逆直交変換部119を有する。また、ベースレイヤ画像符号化部103は、演算部120、ループフィルタ121、フレームメモリ122、選択部123、イントラ予測部124、動き予測・補償部125、予測画像選択部126、およびレート制御部127を有する。
  A/D変換部111は、入力された画像データ(ベースレイヤ画像情報)をA/D変換し、変換後の画像データ(デジタルデータ)を、画面並べ替えバッファ112に供給し、記憶させる。画面並べ替えバッファ112は、記憶した表示の順番のフレームの画像を、GOP(Group Of Picture)に応じて、符号化のためのフレームの順番に並べ替え、フレームの順番を並び替えた画像を、演算部113に供給する。また、画面並べ替えバッファ112は、フレームの順番を並び替えた画像を、イントラ予測部124および動き予測・補償部125にも供給する。
  演算部113は、画面並べ替えバッファ112から読み出された画像から、予測画像選択部126を介してイントラ予測部124若しくは動き予測・補償部125から供給される予測画像を減算し、その差分情報を直交変換部114に出力する。例えば、イントラ符号化が行われる画像の場合、演算部113は、画面並べ替えバッファ112から読み出された画像から、イントラ予測部124から供給される予測画像を減算する。また、例えば、インター符号化が行われる画像の場合、演算部113は、画面並べ替えバッファ112から読み出された画像から、動き予測・補償部125から供給される予測画像を減算する。
  直交変換部114は、演算部113から供給される差分情報に対して、離散コサイン変換やカルーネン・レーベ変換等の直交変換を施す。直交変換部114は、その変換係数を量子化部115に供給する。
  量子化部115は、直交変換部114から供給される変換係数を量子化する。量子化部115は、レート制御部127から供給される符号量の目標値に関する情報に基づいて量子化パラメータを設定し、その量子化を行う。量子化部115は、量子化された変換係数を可逆符号化部116に供給する。
  可逆符号化部116は、量子化部115において量子化された変換係数を任意の符号化方式で符号化する。係数データは、レート制御部127の制御の下で量子化されているので、この符号量は、レート制御部127が設定した目標値となる(若しくは目標値に近似する)。
  また、可逆符号化部116は、イントラ予測のモードを示す情報などをイントラ予測部124から取得し、インター予測のモードを示す情報や差分動きベクトル情報などを動き予測・補償部125から取得する。さらに、可逆符号化部116は、シーケンスパラメータセット(SPS)、およびピクチャパラメータセット(PPS)等を含むベースレイヤのNALユニットを適宜生成する。
  可逆符号化部116は、これらの各種情報を任意の符号化方式で符号化し、符号化データ(符号化ストリームとも称する)の一部とする(多重化する)。可逆符号化部116は、符号化して得られた符号化データを蓄積バッファ117に供給して蓄積させる。
  可逆符号化部116の符号化方式としては、例えば、可変長符号化または算術符号化等が挙げられる。可変長符号化としては、例えば、H.264/AVC方式で定められているCAVLC(Context-Adaptive Variable Length Coding)などが挙げられる。算術符号化としては、例えば、CABAC(Context-Adaptive Binary Arithmetic Coding)などが挙げられる。
  蓄積バッファ117は、可逆符号化部116から供給された符号化データ(ベースレイヤ符号化データ)を、一時的に保持する。蓄積バッファ117は、所定のタイミングにおいて、保持しているベースレイヤ符号化データを、例えば、後段の図示せぬ記録装置(記録媒体)や伝送路などに出力する。すなわち、蓄積バッファ117は、符号化データを伝送する伝送部でもある。
  また、量子化部115において量子化された変換係数は、逆量子化部118にも供給される。逆量子化部118は、その量子化された変換係数を、量子化部115による量子化に対応する方法で逆量子化する。逆量子化部118は、得られた変換係数を、逆直交変換部119に供給する。
  逆直交変換部119は、逆量子化部118から供給された変換係数を、直交変換部114による直交変換処理に対応する方法で逆直交変換する。逆直交変換された出力(復元された差分情報)は、演算部120に供給される。
  演算部120は、逆直交変換部119から供給された逆直交変換結果である、復元された差分情報に、予測画像選択部126を介してイントラ予測部124若しくは動き予測・補償部125からの予測画像を加算し、局部的に復号された画像(復号画像)を得る。その復号画像は、ループフィルタ121またはフレームメモリ122に供給される。
  ループフィルタ121は、デブロックフィルタや適応ループフィルタ等を含み、演算部120から供給される再構成画像に対して適宜フィルタ処理を行う。例えば、ループフィルタ121は、再構成画像に対してデブロックフィルタ処理を行うことにより再構成画像のブロック歪を除去する。また、例えば、ループフィルタ121は、そのデブロックフィルタ処理結果(ブロック歪みの除去が行われた再構成画像)に対して、ウィナーフィルタ(Wiener Filter)を用いてループフィルタ処理を行うことにより画質改善を行う。ループフィルタ121は、フィルタ処理結果(以下、復号画像と称する)をフレームメモリ122に供給する。
  なお、ループフィルタ121が、再構成画像に対してさらに、他の任意のフィルタ処理を行うようにしてもよい。また、ループフィルタ121は、必要に応じて、フィルタ処理に用いたフィルタ係数等の情報を可逆符号化部116に供給し、それを符号化させるようにすることもできる。
  フレームメモリ122は、演算部120から供給される再構成画像と、ループフィルタ121から供給される復号画像とをそれぞれ記憶する。フレームメモリ122は、所定のタイミングにおいて、若しくは、イントラ予測部124等の外部からの要求に基づいて、記憶している再構成画像を、選択部123を介してイントラ予測部124に供給する。また、フレームメモリ122は、所定のタイミングにおいて、若しくは、動き予測・補償部125等の外部からの要求に基づいて、記憶している復号画像を、選択部123を介して、動き予測・補償部125に供給する。
  フレームメモリ122は、供給される復号画像を記憶し、所定のタイミングにおいて、記憶している復号画像を参照画像として、選択部123に供給する。
  選択部123は、フレームメモリ122から供給される参照画像の供給先を選択する。例えば、イントラ予測の場合、選択部123は、フレームメモリ122から供給される参照画像(カレントピクチャ内の画素値)を動き予測・補償部125に供給する。また、例えば、インター予測の場合、選択部123は、フレームメモリ122から供給される参照画像を動き予測・補償部125に供給する。
  イントラ予測部124は、選択部123を介してフレームメモリ122から供給される参照画像であるカレントピクチャ内の画素値を用いて予測画像を生成するイントラ予測(画面内予測)を行う。イントラ予測部124は、予め用意された複数のイントラ予測モードでこのイントラ予測を行う。
  イントラ予測部124は、候補となる全てのイントラ予測モードで予測画像を生成し、画面並べ替えバッファ112から供給される入力画像を用いて各予測画像のコスト関数値を評価し、最適なモードを選択する。イントラ予測部124は、最適なイントラ予測モードを選択すると、その最適なモードで生成された予測画像を、予測画像選択部126に供給する。
  また、上述したように、イントラ予測部124は、採用されたイントラ予測モードを示すイントラ予測モード情報等を、適宜可逆符号化部116に供給し、符号化させる。
  動き予測・補償部125は、画面並べ替えバッファ112から供給される入力画像と、選択部123を介してフレームメモリ122から供給される参照画像とを用いて動き予測(インター予測)を行う。動き予測・補償部125は、検出された動きベクトルに応じて動き補償処理を行い、予測画像(インター予測画像情報)を生成する。動き予測・補償部125は、予め用意された複数のインター予測モードでこのようなインター予測を行う。
  動き予測・補償部125は、候補となる全てのインター予測モードで予測画像を生成する。動き予測・補償部125は、画面並べ替えバッファ112から供給される入力画像と、生成した差分動きベクトルの情報などを用いて、各予測画像のコスト関数値を評価し、最適なモードを選択する。動き予測・補償部125は、最適なインター予測モードを選択すると、その最適なモードで生成された予測画像を、予測画像選択部126に供給する。
  動き予測・補償部125は、採用されたインター予測モードを示す情報や、符号化データを復号する際に、そのインター予測モードで処理を行うために必要な情報等を可逆符号化部116に供給し、符号化させる。必要な情報としては、例えば、生成された差分動きベクトルの情報や、予測動きベクトル情報として、予測動きベクトルのインデックスを示すフラグなどがある。
  予測画像選択部126は、演算部113や演算部120に供給する予測画像の供給元を選択する。例えば、イントラ符号化の場合、予測画像選択部126は、予測画像の供給元としてイントラ予測部124を選択し、そのイントラ予測部124から供給される予測画像を演算部113や演算部120に供給する。また、例えば、インター符号化の場合、予測画像選択部126は、予測画像の供給元として動き予測・補償部125を選択し、その動き予測・補償部125から供給される予測画像を演算部113や演算部120に供給する。
  レート制御部127は、蓄積バッファ117に蓄積された符号化データの符号量に基づいて、オーバフローあるいはアンダーフローが発生しないように、量子化部115の量子化動作のレートを制御する。
  なお、動き予測・補償部125は、各モードについて、動き予測により検出されたカレントブロックの動き情報を、ベースレイヤの動き情報として動き情報符号化部104に供給する。
    <エンハンスメントレイヤ画像符号化部>
  図18は、図16のエンハンスメントレイヤ画像符号化部105の主な構成例を示すブロック図である。図18に示されるように、エンハンスメントレイヤ画像符号化部105は、図17のベースレイヤ画像符号化部103と基本的に同様の構成を有する。
  ただし、エンハンスメントレイヤ画像符号化部105の各部は、ベースレイヤではなく、エンハンスメントレイヤ画像情報の符号化についての処理を行う。つまり、エンハンスメントレイヤ画像符号化部105のA/D変換部111は、エンハンスメントレイヤ画像情報をA/D変換し、エンハンスメントレイヤ画像符号化部105の蓄積バッファ117は、エンハンスメントレイヤ符号化データを、例えば、後段の図示せぬ記録装置(記録媒体)や伝送路などに出力する。
  また、エンハンスメントレイヤ画像符号化部105は、動き予測・補償部125の代わりに、動き予測・補償部135を有する。
  動き予測・補償部135は、動き情報符号化部104を用いて、動き情報の符号化を行う。つまり、動き予測・補償部125がベースレイヤの周辺動き情報のみを用いてカレントブロックの動き情報の符号化を行うのに対して、動き予測・補償部135は、エンハンスメントレイヤの周辺動き情報だけでなく、ベースレイヤの周辺動き情報も用いて、カレントブロックの動き情報の符号化を行うことができる。
  動き予測・補償部135は、各モードについて、動き予測により検出されたカレントブロックの動き情報を、エンハンスメントレイヤの動き情報として動き情報符号化部104に供給する。また、動き予測・補償部135は、供給した各動き情報について、符号化結果を取得する。動き予測・補償部135は、その符号化結果を用いてコスト関数値を算出し、最適なインター予測モードを決定する。
    <動き情報符号化部>
  図19は、図16の動き情報符号化部104の主な構成例を示すブロック図である。
  図19に示されるように、動き情報符号化部104は、動き情報スケーリング部151、ベースレイヤ動き情報バッファ152、エンハンスメントレイヤ動き情報バッファ153、AMVP処理部154、マージ処理部155、および最適プレディクタ設定部156を有する。
  動き情報スケーリング部151は、ベースレイヤ画像符号化部103の動き予測・補償部125からベースレイヤの動き情報を取得し、ベースレイヤとエンハンスメントレイヤの空間方向のスケーリング比(例えば解像度比)に応じて、その動き情報を空間方向にスケーリング処理(変換処理(拡大若しくは縮小))する。動き情報スケーリング部151は、スケーリング処理した動き情報をベースレイヤ動き情報バッファ152に供給する。
  ベースレイヤ動き情報バッファ152は、動き情報スケーリング部151から供給された、スケーリング処理されたベースレイヤの動き情報を記憶する。ベースレイヤ動き情報バッファ152は、記憶しているベースレイヤの動き情報を、ベースレイヤの動き情報として、適宜、AMVP処理部154(候補設定部161)やマージ処理部155(候補リスト生成部171)に供給する。
  エンハンスメントレイヤ動き情報バッファ153は、エンハンスメントレイヤ画像符号化部105の動き予測・補償部135から供給されるカレントブロックの動き情報を取得し、記憶する。エンハンスメントレイヤ動き情報バッファ153は、記憶しているエンハンスメントレイヤの動き情報を、エンハンスメントレイヤの周辺動き情報として、適宜、AMVP処理部154(候補設定部161)やマージ処理部155(候補リスト生成部171)に供給する。
  AMVP処理部154は、AMVPモードで、エンハンスメントレイヤのカレントブロックの動き情報に対応する予測動き情報の候補を設定する。その際、AMVP処理部154は、エンハンスメントレイヤ動き情報バッファ153に記憶されているエンハンスメントレイヤの動き情報を必要に応じて周辺動き情報として取得する。また、AMVP処理部154は、ベースレイヤ動き情報バッファ152に記憶されているベースレイヤの動き情報を必要に応じて周辺動き情報として取得する。AMVP処理部154は、これらの周辺動き情報を用いて、予測動き情報の候補を設定する。AMVP処理部154は、設定した予測動き情報の候補を、最適プレディクタ設定部156に供給する。
  マージ処理部155は、マージモードで、エンハンスメントレイヤのカレントブロックの動き情報に対応する予測動き情報の候補リストを生成する。その際、マージ処理部155は、エンハンスメントレイヤ動き情報バッファ153に記憶されているエンハンスメントレイヤの動き情報を必要に応じて周辺動き情報として取得する。また、マージ処理部155は、ベースレイヤ動き情報バッファ152に記憶されているベースレイヤの動き情報を必要に応じて周辺動き情報として取得する。マージ処理部155は、これらの周辺動き情報を用いて、候補リストを生成する。マージ処理部155は、生成した候補リストを、最適プレディクタ設定部156に供給する。
  最適プレディクタ設定部156は、AMVP処理部154から供給された予測動き情報の候補、および、マージ処理部155から供給された候補リストを用いて、エンハンスメントレイヤ画像符号化部105の動き予測・補償部135から供給されるエンハンスメントレイヤのカレントブロックの動き情報についての最適なプレディクタを設定する。つまり、最適プレディクタ設定部156は、得られた各候補について、符号化結果のコスト関数値を算出し、その値が最も小さくなる候補を最適なプレディクタとして選択する。最適プレディクタ設定部156は、その最適なプレディクタを用いて、動き予測・補償部135から供給されるカレントブロックの動き情報を符号化する。より具体的には、最適プレディクタ設定部156は、動き情報と予測動き情報との差分(差分動き情報)を求める。最適プレディクタ設定部156は、各モードについて、このように符号化結果(差分動き情報)を求め、得られた符号化結果を動き予測・補償部135に供給する。
  図19に示されるように、AMVP処理部154は、候補設定部161、アベイラビリティ判定部162、空間スケーリング部163、時間スケーリング部164、およびベースレイヤ動き情報選択部165を有する。
  候補設定部161は、エンハンスメントレイヤ画像符号化部105によるエンハンスメントレイヤの符号化について、動き予測・補償部135において得られるカレントブロックの動き情報の予測動き情報の候補を設定する。候補設定部161は、エンハンスメントレイヤ動き情報バッファ153からエンハンスメントレイヤの周辺動き情報を取得し、その周辺動き情報を予測動き情報の候補とする。
  候補設定部161は、エンハンスメントレイヤの周辺動き情報をアベイラビリティ判定部162に供給し、その周辺動き情報のアベイラビリティを判定させ、その判定結果を取得する。エンハンスメントレイヤの周辺動き情報がアンアベイラブルの場合、候補設定部161は、ベースレイヤ動き情報バッファ152からベースレイヤの周辺動き情報を取得し、そのベースレイヤの周辺動き情報をエンハンスメントレイヤの動き情報の代わりに予測動き情報の候補とする。
  候補設定部161は、空間方向のスケーリング処理が必要な場合、周辺動き情報を空間スケーリング部163に供給し、空間方向のスケーリング処理を行わせ、スケーリング処理された周辺動き情報を取得する。
  候補設定部161は、時間方向のスケーリング処理が必要な場合、周辺動き情報を時間スケーリング部164に供給し、時間方向のスケーリング処理を行わせ、スケーリング処理された周辺動き情報を取得する。
  候補設定部161は、コロケーテッド動き情報について、エンハンスメントレイヤの動き情報の代わりにベースレイヤの動き情報を用いる場合、ベースレイヤ動き情報選択部165により選択されたベースレイヤの動き情報を用いる。
  候補設定部161は、設定した予測動き情報の候補を最適プレディクタ設定部156に供給する。
  アベイラビリティ判定部162は、候補設定部161から供給される動き情報のアベイラビリティを判定し、その判定結果を候補設定部161に供給する。
  空間スケーリング部163は、候補設定部161から供給される動き情報の空間方向のスケーリング処理を行い、そのスケーリング処理された動き情報を候補設定部161に供給する。
  時間スケーリング部164は、候補設定部161から供給される動き情報の時間方向のスケーリング処理を行い、そのスケーリング処理された動き情報を候補設定部161に供給する。
  ベースレイヤ動き情報選択部165は、ベースレイヤ画像符号化部103によるベースレイヤの符号化結果に応じて、候補設定部161がコロケーテッド動き情報として用いるベースレイヤの動き情報を選択する。より具体的には、ベースレイヤ動き情報選択部165は、ベースレイヤの符号化においてコロケーテッド動き情報として使用されていないベースレイヤの動き情報を、エンハンスメントレイヤのコロケーテッド動き情報として選択する。例えば、ベースレイヤの符号化において、ベースレイヤの周辺ブロックCR6の動き情報がコロケーテッド動き情報として使用された場合、ベースレイヤ動き情報選択部165は、ベースレイヤの周辺ブロックH6の動き情報を、エンハンスメントレイヤの符号化におけるコロケーテッド動き情報として選択する。また、例えば、ベースレイヤの符号化において、ベースレイヤの周辺ブロックH6の動き情報がコロケーテッド動き情報として使用された場合、ベースレイヤ動き情報選択部165は、ベースレイヤの周辺ブロックCR6の動き情報を、エンハンスメントレイヤの符号化におけるコロケーテッド動き情報として選択する。
  上述したように、候補設定部161は、エンハンスメントレイヤの符号化において、コロケーテッド動き情報として、エンハンスメントレイヤの動き情報の代わりにベースレイヤの動き情報を用いる場合、このようにベースレイヤ動き情報選択部165により選択されたベースレイヤの動き情報を用いる。
  また、図19に示されるように、マージ処理部155は、候補リスト生成部171、レイヤ制御情報設定部172、レイヤ制御部173、アベイラビリティ判定部174、およびベースレイヤ動き情報選択部175を有する。
  候補リスト生成部171は、エンハンスメントレイヤ画像符号化部105によるエンハンスメントレイヤの符号化について、動き予測・補償部135において得られるカレントブロックの動き情報の予測動き情報を得るためのマージモードの候補リストを生成する。この候補の数(候補リストの長さ)は任意であるが、CABACと動き予測を独立して処理することができるように、予め定められた所定の数であるのが望ましい。以下においては、候補の数を5つとして説明する。
  候補リスト生成部171は、エンハンスメントレイヤ動き情報バッファ153からエンハンスメントレイヤの周辺動き情報を取得し、その周辺動き情報を用いて候補リストを生成する。
  候補リスト生成部171は、レイヤ制御部173により、ベースレイヤの動き情報を用いて候補リストを生成するように制御される場合、ベースレイヤ動き情報バッファ152からベースレイヤの周辺動き情報を取得し、その周辺動き情報を用いて候補リストを生成する。例えば、候補リスト生成部171は、レイヤ制御部173の制御に従って、テンポラルプレディクタではなくベースレイヤプレディクタを用いて候補リストを生成する場合、ベースレイヤ動き情報バッファ152からベースレイヤの周辺動き情報を取得する。
  候補リスト生成部171は、エンハンスメントレイヤの周辺動き情報をアベイラビリティ判定部174に供給し、その周辺動き情報のアベイラビリティを判定させ、その判定結果を取得する。エンハンスメントレイヤの周辺動き情報がアンアベイラブルの場合、候補リスト生成部171は、ベースレイヤ動き情報バッファ152からベースレイヤの周辺動き情報を取得し、そのベースレイヤの周辺動き情報を候補リストの欠番に補填する。
  候補リスト生成部171は、コロケーテッド動き情報について、エンハンスメントレイヤの動き情報の代わりにベースレイヤの動き情報を用いる場合、ベースレイヤ動き情報選択部175により選択されたベースレイヤの動き情報を用いる。
  候補リスト生成部171は、生成した候補リストを最適プレディクタ設定部156に供給する。
  レイヤ制御情報設定部172は、候補リストの生成に用いるプレディクタを選択する情報(レイヤ制御情報)を設定する。例えば、レイヤ制御情報設定部172は、テンポラルプレディクタを用いるか否か、並びに、ベースレイヤプレディクタを用いるか否かを選択するレイヤ制御情報(例えば、sps_col_mvp_indicatorやslice_col_mvp_indicator等)を設定する。レイヤ制御情報設定部172は、このように設定したレイヤ制御情報を、レイヤ制御部173に供給する。また、レイヤ制御情報設定部172は、このように設定したレイヤ制御情報を、エンハンスメントレイヤ画像符号化部105の可逆符号化部116に供給し、復号側に伝送させる。
  レイヤ制御部173は、レイヤ制御情報設定部172から取得したレイヤ制御情報に基づいて、候補リスト生成部171が候補リストの生成に用いる周辺動き情報のレイヤを制御する。より具体的には、レイヤ制御部173が、候補リストの生成に、エンハンスメントレイヤの周辺動き情報を用いるのか、ベースレイヤの周辺動き情報を用いるのかを制御する。上述したように、候補リスト生成部171は、このレイヤ制御部173の制御に従って、周辺動き情報を取得する。
  アベイラビリティ判定部174は、候補リスト生成部171から供給される動き情報のアベイラビリティを判定し、その判定結果を候補リスト生成部171に供給する。
  ベースレイヤ動き情報選択部175は、ベースレイヤ画像符号化部103によるベースレイヤの符号化結果に応じて、候補リスト生成部171がコロケーテッド動き情報として用いるベースレイヤの動き情報を選択する。より具体的には、ベースレイヤ動き情報選択部175は、ベースレイヤの符号化においてコロケーテッド動き情報として使用されていないベースレイヤの動き情報を、エンハンスメントレイヤのコロケーテッド動き情報として選択する。例えば、ベースレイヤの符号化において、ベースレイヤの周辺ブロックCR6の動き情報がコロケーテッド動き情報として使用された場合、ベースレイヤ動き情報選択部175は、ベースレイヤの周辺ブロックH6の動き情報を、エンハンスメントレイヤの符号化におけるコロケーテッド動き情報として選択する。また、例えば、ベースレイヤの符号化において、ベースレイヤの周辺ブロックH6の動き情報がコロケーテッド動き情報として使用された場合、ベースレイヤ動き情報選択部175は、ベースレイヤの周辺ブロックCR6の動き情報を、エンハンスメントレイヤの符号化におけるコロケーテッド動き情報として選択する。
  上述したように、候補リスト生成部171は、エンハンスメントレイヤの符号化において、コロケーテッド動き情報として、エンハンスメントレイヤの動き情報の代わりにベースレイヤの動き情報を用いる場合、このようにベースレイヤ動き情報選択部175により選択されたベースレイヤの動き情報を用いる。
  以上のように、スケーラブル符号化装置100は、エンハンスメントレイヤの符号化における動き情報の符号化において、エンハンスメントレイヤの周辺動き情報がアンアベイラブルな場合、そのエンハンスメントレイヤの動き情報の代わりに、ベースレイヤの周辺動き情報を用いて予測動き情報を求めるので、予測精度の低減を抑制し、符号化効率の低減を抑制することができる。これにより、スケーラブル符号化装置100は、符号化・復号による画質の低減を抑制することができる。
    <符号化処理の流れ>
  次に、以上のようなスケーラブル符号化装置100により実行される各処理の流れについて説明する。最初に、図20のフローチャートを参照して、符号化処理の流れの例を説明する。スケーラブル符号化装置100は、ピクチャ毎にこの符号化処理を実行する。
  符号化処理が開始されると、ステップS101において、スケーラブル符号化装置100の符号化制御部102は、最初のレイヤを処理対象とする。
  ステップS102において、符号化制御部102は、処理対象であるカレントレイヤがベースレイヤであるか否かを判定する。カレントレイヤがベースレイヤであると判定された場合、処理は、ステップS103に進む。
  ステップS103において、ベースレイヤ画像符号化部103は、ベースレイヤ符号化処理を行う。ステップS103の処理が終了すると、処理は、ステップS106に進む。
  また、ステップS102において、カレントレイヤがエンハンスメントレイヤであると判定された場合、処理は、ステップS104に進む。ステップS104において、符号化制御部102は、カレントレイヤに対応する(すなわち、参照先とする)ベースレイヤを決定する。
  ステップS105において、エンハンスメントレイヤ画像符号化部105は、エンハンスメントレイヤ符号化処理を行う。ステップS105の処理が終了すると、処理は、ステップS106に進む。
  ステップS106において、符号化制御部102は、全てのレイヤを処理したか否かを判定する。未処理のレイヤが存在すると判定された場合、処理は、ステップS107に進む。
  ステップS107において、符号化制御部102は、次の未処理のレイヤを処理対象(カレントレイヤ)とする。ステップS107の処理が終了すると、処理は、ステップS102に戻る。ステップS102乃至ステップS107の処理が繰り返し実行され、各レイヤが符号化される。
  そして、ステップS106において、全てのレイヤが処理されたと判定された場合、符号化処理が終了する。
    <ベースレイヤ符号化処理の流れ>
  次に、図21のフローチャートを参照して、図20のステップS103において実行されるベースレイヤ符号化処理の流れの例を説明する。
  ステップS121において、ベースレイヤ画像符号化部103のA/D変換部111は入力されたベースレイヤの画像情報(画像データ)をA/D変換する。ステップS122において、画面並べ替えバッファ112は、A/D変換されたベースレイヤの画像情報(デジタルデータ)を記憶し、各ピクチャを、表示する順番から符号化する順番へ並べ替える。
  ステップS123において、イントラ予測部124は、イントラ予測モードのイントラ予測処理を行う。ステップS124において、動き予測・補償部125は、インター予測モードでの動き予測や動き補償を行う動き予測・補償処理を行う。ステップS125において、予測画像選択部126は、イントラ予測部124および動き予測・補償部125から出力された各コスト関数値に基づいて、最適なモードを決定する。つまり、予測画像選択部126は、イントラ予測部124により生成された予測画像と、動き予測・補償部125により生成された予測画像のいずれか一方を選択する。ステップS126において、演算部113は、ステップS122の処理により並び替えられた画像と、ステップS125の処理により選択された予測画像との差分を演算する。差分データは元の画像データに較べてデータ量が低減される。したがって、画像をそのまま符号化する場合に較べて、データ量を圧縮することができる。
  ステップS127において、直交変換部114は、ステップS126の処理により生成された差分情報に対する直交変換処理を行う。ステップS128において、量子化部115は、レート制御部127により算出された量子化パラメータを用いて、ステップS127の処理により得られた直交変換係数を量子化する。
  ステップS128の処理により量子化された差分情報は、次のようにして局部的に復号される。すなわち、ステップS129において、逆量子化部118は、ステップS128の処理により生成された量子化された係数(量子化係数とも称する)を、量子化部115の特性に対応する特性で逆量子化する。ステップS130において、逆直交変換部119は、ステップS127の処理により得られた直交変換係数を逆直交変換する。ステップS131において、演算部120は、予測画像を局部的に復号された差分情報に加算し、局部的に復号された画像(演算部113への入力に対応する画像)を生成する。
  ステップS132においてループフィルタ121は、ステップS131の処理により生成された画像をフィルタリングする。これによりブロック歪み等が除去される。ステップS133において、フレームメモリ122は、ステップS132の処理によりブロック歪みの除去等が行われた画像を記憶する。なお、フレームメモリ122にはループフィルタ121によりフィルタ処理されていない画像も演算部120から供給され、記憶される。このフレームメモリ122に記憶された画像は、ステップS123の処理やステップS124の処理に利用される。
  ステップS134において、動き情報符号化部104の動き情報スケーリング部151は、ステップS124の処理により得られたベースレイヤの動き情報を、ベースレイヤとエンハンスメントレイヤの空間方向のスケーリング比に応じてスケーリング処理する。
  ステップS135において、動き情報符号化部104のベースレイヤ動き情報バッファ152は、ステップS134においてスケーリング処理されたベースレイヤの動き情報を記憶する。
  ステップS136において、ベースレイヤ画像符号化部103の可逆符号化部116は、ステップS128の処理により量子化された係数を符号化する。すなわち、差分画像に対応するデータに対して、可変長符号化や算術符号化等の可逆符号化が行われる。
  また、このとき、可逆符号化部116は、ステップS125の処理により選択された予測画像の予測モードに関する情報を符号化し、差分画像を符号化して得られる符号化データに付加する。つまり、可逆符号化部116は、イントラ予測部124から供給される最適イントラ予測モード情報、または、動き予測・補償部125から供給される最適インター予測モードに応じた情報なども符号化し、符号化データに付加する。
  ステップS137において蓄積バッファ117は、ステップS136の処理により得られたベースレイヤ符号化データを蓄積する。蓄積バッファ117に蓄積されたベースレイヤ符号化データは、適宜読み出され、伝送路や記録媒体を介して復号側に伝送される。
  ステップS138においてレート制御部127は、ステップS137において蓄積バッファ117に蓄積された符号化データの符号量(発生符号量)に基づいて、オーバフローあるいはアンダーフローが発生しないように、量子化部115の量子化動作のレートを制御する。
  ステップS138の処理が終了すると、ベースレイヤ符号化処理が終了し、処理は図20に戻る。ベースレイヤ符号化処理は、例えば、ピクチャ単位で実行される。つまり、カレントレイヤの各ピクチャに対してベースレイヤ符号化処理が実行される。ただし、ベースレイヤ符号化処理内の各処理は、それぞれの処理単位毎に行われる。
    <エンハンスメントレイヤ符号化処理の流れ>
  次に、図22のフローチャートを参照して、図20のステップS105において実行されるエンハンスメントレイヤ符号化処理の流れの例を説明する。
  エンハンスメントレイヤ符号化処理のステップS151乃至ステップS153、並びに、ステップS155乃至ステップS166の各処理は、図21のベースレイヤ符号化処理のステップS121乃至ステップS123、ステップS125乃至ステップS133、並びに、ステップS136乃至ステップS138の各処理と同様に実行される。ただし、エンハンスメントレイヤ符号化処理の各処理は、エンハンスメントレイヤ画像符号化部105の各処理部により、エンハンスメントレイヤ画像情報に対して行われる。
  なお、ステップS154において、エンハンスメントレイヤ画像符号化部105の動き予測・補償部135は、エンハンスメントレイヤ画像情報に対して、動き予測・補償処理を行う。この動き予測・補償処理の詳細については後述する。
  ステップS166の処理が終了すると、エンハンスメントレイヤ符号化処理が終了され、処理は図20に戻る。エンハンスメントレイヤ符号化処理は、例えば、ピクチャ単位で実行される。つまり、カレントレイヤの各ピクチャに対してエンハンスメントレイヤ符号化処理が実行される。ただし、エンハンスメントレイヤ符号化処理内の各処理は、それぞれの処理単位毎に行われる。
    <動き予測・補償処理の流れ>
  次に、図23のフローチャートを参照して、図22のステップS154において実行される動き予測・補償処理の流れの例を説明する。
  エンハンスメントレイヤの動き予測・補償処理が開始されると、ステップS181において、エンハンスメントレイヤ画像符号化部105の動き予測・補償部135は、各モードについて動き探索処理を行う。
  ステップS182において、動き予測・補償部135は、ステップS181の処理により得られた各モードの動き情報について、動き情報符号化処理を行う。この動き情報符号化処理の詳細については後述する。
  ステップS183において、動き予測・補償部135は、ステップS181およびステップS182の各処理結果を踏まえ、各モードについてコスト関数値を算出する。
  ステップS184において、動き予測・補償部135は、ステップS183において算出された各モードのコスト関数値に基づいて、最適なインター予測モードを判定する。
  ステップS185において、動き予測・補償部135は、ステップS184において選ばれた最適なインター予測モードで動き補償を行い、予測画像を生成する。生成された予測画像は、最適なインター予測モードに関する情報等とともに、予測画像選択部126に供給される。
  ステップS186において、動き情報符号化部104のエンハンスメントレイヤ動き情報バッファ153は、ステップS184において選ばれた最適なインター予測モードの、カレントブロックの動き情報を、エンハンスメントレイヤの動き情報として記憶する。
  ステップS186の処理が終了すると、動き予測・補償処理が終了し、処理は図22に戻る。
    <動き情報符号化処理の流れ>
  次に、図24のフローチャートを参照して、図23のステップS182において実行される動き情報符号化処理の流れの例を説明する。
  動き情報符号化処理が開始されると、動き情報符号化部104のAMVP処理部154は、ステップS201において、AMVP処理を行い、AMVPモードの予測動き情報の候補を設定する。AMVP処理の詳細については後述する。
  ステップS202において、動き情報符号化部104のマージ処理部155は、マージ処理を行い、マージモードの予測動き情報の候補リストを生成する。マージ処理の詳細については後述する。
  ステップS203において、動き情報符号化部104の最適プレディクタ設定部156は、ステップS201およびステップS202において設定された予測動き情報の各候補について、コスト関数値を算出する。
  ステップS204において、最適プレディクタ設定部156は、ステップS203において求めたコスト関数値に基づいて、最適プレディクタを求める。
  ステップS205において、最適プレディクタ設定部156は、ステップS204において求めた最適プレディクタを用いて、エンハンスメントレイヤのカレントブロックの動き情報を符号化する。最適プレディクタ設定部156は、その動き情報の符号化結果(動き情報と予測動き情報との差分)を動き予測・補償部135に供給する。
  ステップS205の処理が終了すると、動き情報符号化処理が終了し、処理は図23に戻る。
    <AMVP処理の流れ>
  次に、図25のフローチャートを参照して、図24のステップS201において実行されるAMVP処理の流れの例を説明する。
  AMVP処理が開始されると、AMVP処理部154は、ステップS221において、周辺ブロックEおよび周辺ブロックA0について、空間方向の周辺ブロックの動き情報を用いた予測動き情報である空間予測動き情報を探索する。
  ステップS222において、AMVP処理部154は、周辺ブロックC、周辺ブロックB0、および周辺ブロックDについて空間予測動き情報を探索する。この処理は、処理対象とするブロックが異なること以外は、ステップS221と同様の処理である。
  ステップS223において、AMVP処理部154は、時間方向の周辺ブロックの動き情報を用いた予測動き情報である時間予測動き情報を探索する。
  ステップS223の処理が終了すると、AMVP処理が終了し、処理は図24に戻る。
    <空間予測動き情報探索処理の流れ>
  次に、図26および図27のフローチャートを参照して、図25のステップS221やステップS222において実行される空間予測動き情報探索処理の流れの例を説明する。
  空間予測動き情報探索処理が開始されると、AMVP処理部154の候補設定部161は、図26のステップS241において、エンハンスメントレイヤ動き情報バッファ153から、カレントブロックの動き情報とref_idxもlistも同じであるエンハンスメントレイヤの周辺動き情報を取得し、アベイラビリティ判定部162にアベイラビリティを判定させることにより、エンハンスメントレイヤで同方向のアンスケールド周辺動き情報(VEC1)を探索する。
  ステップS242において、候補設定部161は、ステップS241の探索により動き情報が検出されたか否かを判定する。エンハンスメントレイヤで同方向のアンスケールド周辺動き情報(VEC1)が検出されなかったと判定された場合、処理はステップS243に進む。
  ステップS243において、候補設定部161は、ベースレイヤ動き情報バッファ152から、カレントブロックの動き情報とref_idxもlistも同じであるベースレイヤの周辺動き情報を取得し、アベイラビリティ判定部162にアベイラビリティを判定させることにより、ベースレイヤで同方向のアンスケールド周辺動き情報(VEC1)を探索する。
  ステップS244において、候補設定部161は、ステップS243の探索により動き情報が検出されたか否かを判定する。ベースレイヤで同方向のアンスケールド周辺動き情報(VEC1)が検出されなかったと判定された場合、処理はステップS245に進む。
  ステップS245において、候補設定部161は、エンハンスメントレイヤ動き情報バッファ153から、カレントブロックの動き情報とref_idxが同じであるがlistが異なるエンハンスメントレイヤの周辺動き情報を取得し、アベイラビリティ判定部162にアベイラビリティを判定させることにより、エンハンスメントレイヤで逆方向のアンスケールド周辺動き情報(VEC2)を探索する。
  ステップS246において、候補設定部161は、ステップS245の探索により動き情報が検出されたか否かを判定する。エンハンスメントレイヤで逆方向のアンスケールド周辺動き情報(VEC2)が検出されなかったと判定された場合、処理はステップS247に進む。
  ステップS247において、候補設定部161は、ベースレイヤ動き情報バッファ152から、カレントブロックの動き情報とref_idxが同じであるがlistが異なるベースレイヤの周辺動き情報を取得し、アベイラビリティ判定部162にアベイラビリティを判定させることにより、ベースレイヤで逆方向のアンスケールド周辺動き情報(VEC2)を探索する。
  ステップS248において、候補設定部161は、ステップS247の探索により動き情報が検出されたか否かを判定する。ベースレイヤで逆方向のアンスケールド周辺動き情報(VEC2)が検出されなかったと判定された場合、処理は図27のステップS251に進む。
  図27のステップS251において、候補設定部161は、エンハンスメントレイヤ動き情報バッファ153から、カレントブロックの動き情報とref_idxが異なるがlistが同じであるエンハンスメントレイヤの周辺動き情報を取得し、アベイラビリティ判定部162にアベイラビリティを判定させることにより、エンハンスメントレイヤで同方向のスケールド周辺動き情報(VEC3)を探索する。
  ステップS252において、候補設定部161は、ステップS251の探索により動き情報が検出されたか否かを判定する。エンハンスメントレイヤで同方向のスケールド周辺動き情報(VEC3)が検出されなかったと判定された場合、処理はステップS253に進む。
  ステップS253において、候補設定部161は、ベースレイヤ動き情報バッファ152から、カレントブロックの動き情報とref_idxが異なるがlistが同じであるベースレイヤの周辺動き情報を取得し、アベイラビリティ判定部162にアベイラビリティを判定させることにより、ベースレイヤで同方向のスケールド周辺動き情報(VEC3)を探索する。
  ステップS254において、候補設定部161は、ステップS253の探索により動き情報が検出されたか否かを判定する。ベースレイヤで同方向のスケールド周辺動き情報(VEC3)が検出されなかったと判定された場合、処理はステップS255に進む。
  ステップS255において、候補設定部161は、エンハンスメントレイヤ動き情報バッファ153から、カレントブロックの動き情報とref_idxもlistも異なるエンハンスメントレイヤの周辺動き情報を取得し、アベイラビリティ判定部162にアベイラビリティを判定させることにより、エンハンスメントレイヤで逆方向のスケールド周辺動き情報(VEC4)を探索する。
  ステップS256において、候補設定部161は、ステップS255の探索により動き情報が検出されたか否かを判定する。エンハンスメントレイヤで逆方向のスケールド周辺動き情報(VEC4)が検出されなかったと判定された場合、処理はステップS257に進む。
  ステップS257において、候補設定部161は、ベースレイヤ動き情報バッファ152から、カレントブロックの動き情報とref_idxもlistも異なるベースレイヤの周辺動き情報を取得し、アベイラビリティ判定部162にアベイラビリティを判定させることにより、ベースレイヤで逆方向のスケールド周辺動き情報(VEC4)を探索する。
  ステップS258において、候補設定部161は、ステップS257の探索により動き情報が検出されたか否かを判定する。ベースレイヤで逆方向のスケールド周辺動き情報(VEC4)が検出されなかったと判定された場合、処理はステップS260に進む。
  また、図26のステップS242において、エンハンスメントレイヤで同方向のアンスケールド周辺動き情報(VEC1)が検出されたと判定された場合、図26のステップS244において、ベースレイヤで同方向のアンスケールド周辺動き情報(VEC1)が検出されたと判定された場合、図26のステップS246において、エンハンスメントレイヤで逆方向のアンスケールド周辺動き情報(VEC2)が検出されたと判定された場合、若しくは、図26のステップS248において、ベースレイヤで逆方向のアンスケールド周辺動き情報(VEC2)が検出されたと判定された場合、処理は図27のステップS260に進む。
  また、図27のステップS252において、エンハンスメントレイヤで同方向のスケールド周辺動き情報(VEC3)が検出されたと判定された場合、図27のステップS254において、ベースレイヤで同方向のスケールド周辺動き情報(VEC3)が検出されたと判定された場合、図27のステップS256において、エンハンスメントレイヤで逆方向のスケールド周辺動き情報(VEC4)が検出されたと判定された場合、若しくは、図27のステップS258において、ベースレイヤで逆方向のスケールド周辺動き情報(VEC4)が検出されたと判定された場合、処理は図27のステップS259に進む。
  ステップS259において、時間スケーリング部164は、検出された空間予測動き情報を時間方向にスケーリング処理する。ステップS259の処理が終了すると、処理はステップS260に進む。
  ステップS260において、候補設定部161は、以上のように検出した空間予測動き情報をAMVPモードのプレディクタの候補とし、最適プレディクタ設定部156に供給する。
  ステップS260の処理が終了すると、空間予測動き情報探索処理が終了し、処理は図25に戻る。
  なお、各周辺動き情報の探索順は、例えば図28および図29のフローチャートに示されるような順に変えても良い。つまり、エンハンスメントレイヤについてアンスケールド周辺動き情報(VEC1およびVEC2)を探索し(図28のステップS281およびステップS283)、ベースレイヤについてアンスケールド周辺動き情報(VEC1およびVEC2)を探索し(図28のステップS285およびステップS287)、エンハンスメントレイヤについてスケールド周辺動き情報(VEC3およびVEC4)を探索し(図29のステップS291およびステップS293)、ベースレイヤについてスケールド周辺動き情報(VEC3およびVEC4)を探索する(図29のステップS295およびステップS297)ようにしてもよい。
  図28および図29のフローチャートに示される例の時間予測動き情報探索処理は、周辺動き情報の探索順が異なること以外は、図26および図27のフローチャートに示される例の場合と同様に実行される。
    <時間予測動き情報探索処理の流れ>
  次に、図30のフローチャートを参照して、図25のステップS223において実行される時間予測動き情報探索処理の流れの例を説明する。
  時間予測動き情報探索処理が開始されると、候補設定部161は、ステップS321において、エンハンスメントレイヤ動き情報バッファ153から、エンハンスメントレイヤの周辺ブロックHの動き情報を取得し、アベイラビリティ判定部162にアベイラビリティを判定させることにより、周辺ブロックHの動き情報がアンアベイラブルであるか否かを判定する。周辺ブロックHの動き情報がアベイラブルであると判定された場合、処理はステップS322に進む。
  ステップS322において、候補設定部161は、周辺ブロックHの動き情報をAMVPモードのプレディクタの候補とし、最適プレディクタ設定部156に供給する。ステップS322の処理が終了すると、時間予測動き情報探索処理が終了し、処理は図25に戻る。
  また、図30のステップS321において、周辺ブロックHの動き情報がアンアベイラブルであると判定された場合、処理はステップS323に進む。
  ステップS323において、候補設定部161は、エンハンスメントレイヤ動き情報バッファ153から、エンハンスメントレイヤの周辺ブロックCRの動き情報を取得し、アベイラビリティ判定部162にアベイラビリティを判定させることにより、周辺ブロックCRの動き情報がアンアベイラブルであるか否かを判定する。周辺ブロックCRの動き情報がアベイラブルであると判定された場合、処理はステップS324に進む。
  ステップS324において、候補設定部161は、周辺ブロックCRの動き情報をAMVPモードのプレディクタの候補とし、最適プレディクタ設定部156に供給する。ステップS324の処理が終了すると、時間予測動き情報探索処理が終了し、処理は図25に戻る。
  また、図30のステップS323において、周辺ブロックCRの動き情報がアンアベイラブルであると判定された場合、処理はステップS325に進む。
  ステップS325において、ベースレイヤ動き情報選択部165は、ベースレイヤにおいて周辺ブロックCRの動き情報がコロケーテッド動き情報として用いられているか否かを判定する。ベースレイヤにおいて周辺ブロックCRの動き情報がコロケーテッド動き情報として用いられていると判定された場合、処理はステップS326に進む。
  ステップS326において、ベースレイヤ動き情報選択部165は、ベースレイヤの周辺ブロックHを選択する。候補設定部161は、その選択に基づいて、ベースレイヤのHの動き情報をAMVPモードのプレディクタの候補とし、最適プレディクタ設定部156に供給する。ステップS326の処理が終了すると、時間予測動き情報探索処理が終了し、処理は図25に戻る。
  また、図30のステップS325において、ベースレイヤにおいて周辺ブロックHの動き情報がコロケーテッド動き情報として用いられていると判定された場合、処理はステップS327に進む。
  ステップS327において、ベースレイヤ動き情報選択部165は、ベースレイヤの周辺ブロックCRを選択する。候補設定部161は、その選択に基づいて、ベースレイヤのCRの動き情報をAMVPモードのプレディクタの候補とし、最適プレディクタ設定部156に供給する。ステップS327の処理が終了すると、時間予測動き情報探索処理が終了し、処理は図25に戻る。
    <マージ処理の流れ>
  次に、図31のフローチャートを参照して、図24のステップS202において実行されるマージ処理の流れの例を説明する。
  マージ処理が開始されると、マージ処理部155のアベイラビリティ判定部162は、ステップS341において、候補リスト生成部171によって、エンハンスメントレイヤ動き情報バッファ153から読み出されたエンハンスメントレイヤの周辺動き情報のアベイラビリティを判定する。
  ステップS342において、候補リスト生成部171は、ステップS341においてアベイラブルであると判定されたエンハンスメントレイヤの周辺動き情報を用いてマージモードの候補リストを生成する。
  ステップS343において、候補リスト生成部171は、以上のように生成した候補リストに欠番が存在するか否かを判定する。存在すると判定された場合、処理はステップS344に進む。
  ステップS344において、候補リスト生成部171は、ベースレイヤ動き情報バッファ152からベースレイヤの周辺動き情報を読み出し、アベイラビリティ判定部174にそのアベイラビリティを判定させ、アベイラブルなベースレイヤの周辺動き情報を候補リストに補填する。
  ステップS344の処理が終了すると、マージ処理が終了し、処理は図24に戻る。また、図31のステップS343において、候補リストに欠番が存在しないと判定された場合、ステップS344の処理が省略され、マージ処理が終了し、処理は図24に戻る。
  以上のように各処理を実行することにより、スケーラブル符号化装置100は、符号化効率の低減を抑制し、符号化・復号による画質の低減を抑制することができる。
    <ベースレイヤ動き情報選択処理の流れ>
  なお、上述したように、ベースレイヤにおいて、図6の周辺ブロックCR6が、コロケーテッドブロックとされ、その動き情報がコロケーテッド(Collocated)動き情報として用いられた場合、周辺ブロックH6の動き情報を用いて補填処理を行い、ベースレイヤにおいて、周辺ブロックH6の動き情報がコロケーテッド動き情報として用いられた場合、周辺ブロックCR6の動き情報を用いて補填処理を行うようにしてもよい。
  その場合、ベースレイヤ動き情報選択部175は、ベースレイヤ動き情報選択処理を行う。
  図32のフローチャートを参照して、そのベースレイヤ動き情報選択処理の流れの例を説明する。
  ベースレイヤ動き情報選択処理が開始されると、ベースレイヤ動き情報選択部175は、ステップS361において、周辺ブロックCR6の動き情報が、ベースレイヤにおけるコロケーテッド動き情報として用いられたか否かを判定する。ベースレイヤの符号化において、周辺ブロックCR6の動き情報がコロケーテッド動き情報として用いられたと判定された場合、処理はステップS362に進む。
  ステップS362において、ベースレイヤ動き情報選択部175は、候補リスト生成部171がベースレイヤの時間方向の周辺動き情報を補填する場合、周辺ブロックH6の動き情報を候補リストに補填するように設定する。ステップS362の処理が終了すると、ベースレイヤ動き情報選択処理が終了する。
  また、ステップS361において、ベースレイヤの符号化において周辺ブロックH6の動き情報がコロケーテッド動き情報として用いられたと判定された場合、処理はステップS363に進む。
  ステップS363において、ベースレイヤ動き情報選択部175は、候補リスト生成部171がベースレイヤの時間方向の周辺動き情報を補填する場合、周辺ブロックCR6の動き情報を候補リストに補填するように設定する。ステップS363の処理が終了すると、ベースレイヤ動き情報選択処理が終了する。
  候補リスト生成部171は、図31のマージ処理のステップS344において、ベースレイヤの時間方向の周辺動き情報を補填する場合、周辺ブロックCR6および周辺ブロックH6の内、このベースレイヤ動き情報選択処理のステップS362若しくはステップS363において設定された方の動き情報を補填する。
  このようにすることにより、スケーラブル符号化装置100は、符号化効率の低減を抑制し、符号化・復号による画質の低減を抑制することができる。
    <レイヤ制御処理の流れ>
  また、上述したように、候補リストにおいて、単一階層のHEVCにおけるテンポラルプレディクタの代わりに、ベースレイヤプレディクタを用いるようにしても良い。
  候補リストの生成に、テンポラルプレディクタを用いるかベースレイヤプレディクタを用いるかを制御するために実行されるレイヤ制御処理の流れの例を、図33のフローチャートを参照して説明する。
  レイヤ制御処理が開始されると、レイヤ制御情報設定部172は、ステップS381において、候補リストの生成に、テンポラルプレディクタを用いるかベースレイヤプレディクタを用いるかを制御するレイヤ制御情報を設定する。
  ステップS382において、候補リスト生成部171は、エンハンスメントレイヤの空間周辺ブロックの動き情報を候補リストに設定する。その際、候補リスト生成部171は、例えば図31のフローチャートを参照して説明したようなマージ処理を行うことにより、空間周辺ブロックの動き情報を候補リストに設定する。
  ステップS383において、レイヤ制御部173は、ステップS381において設定されたレイヤ制御情報に基づいて、テンポラルプレディクタの代わりにベースレイヤの動き情報を利用して候補リストを生成するか否かを判定する。例えば、パラメータsps_col_mvp_indicatorやパラメータslice_col_mvp_indicatorの値が「1」若しくは「3」であり、ベースレイヤの動き情報を利用して候補リストを生成すると判定された場合、処理はステップS384に進む。
  ステップS384において、候補リスト生成部171は、ベースレイヤの動き情報をコロケーテッド動き情報として候補リストに設定する。なお、ベースレイヤの動き情報がアンアベイラブルな場合、欠番リストを補填するためにテンポラルプレディクタが用いられるようにしてもよい。
  ステップS384の処理が終了すると、処理はステップS385に進む。また、ステップS383において、ベースレイヤの動き情報を利用せずに候補リストを生成すると判定された場合、処理はステップS385に進む。
  ステップS385において、レイヤ制御部173は、ステップS381において設定されたレイヤ制御情報に基づいて、テンポラルプレディクタを利用して候補リストを生成するか否かを判定する。例えば、パラメータsps_col_mvp_indicatorやパラメータslice_col_mvp_indicatorの値が「2」若しくは「3」であり、テンポラルプレディクタを利用して候補リストを生成すると判定された場合、処理はステップS386に進む。
  ステップS386において、候補リスト生成部171は、テンポラルプレディクタをコロケーテッド動き情報として候補リストに設定する。なお、テンポラルプレディクタがアンアベイラブルな場合、欠番リストを補填するためにベースレイヤの動き情報が用いられるようにしてもよい。
  ステップS386の処理が終了すると、処理はステップS387に進む。また、ステップS385において、テンポラルプレディクタを利用せずに候補リストを生成すると判定された場合、処理はステップS387に進む。
  ステップS387において、レイヤ制御情報設定部172は、ステップS381において設定したレイヤ制御情報をエンハンスメントレイヤ画像符号化部105の可逆符号化部116に供給し、復号側に伝送させる。
  ステップS387の処理が終了すると、レイヤ制御処理が終了する。
  このようにすることにより、スケーラブル符号化装置100は、符号化効率の低減を抑制し、符号化・復号による画質の低減を抑制することができる。
  <2.第2の実施の形態>
    <スケーラブル復号装置>
  次に、以上のようにスケーラブル符号化(階層符号化)された符号化データ(ビットストリーム)の復号について説明する。図34は、図16のスケーラブル符号化装置100に対応するスケーラブル復号装置の主な構成例を示すブロック図である。図34に示されるスケーラブル復号装置200は、例えばスケーラブル符号化装置100により画像データがスケーラブル符号化されて得られた符号化データを、その符号化方法に対応する方法でスケーラブル復号する。
  図34に示されるように、スケーラブル復号装置200は、共通情報取得部201、復号制御部202、ベースレイヤ画像復号部203、動き情報復号部204、およびエンハンスメントレイヤ画像復号部205を有する。
  共通情報取得部201は、符号化側から伝送される共通情報(例えば、ビデオパラメータセット(VPS))を取得する。共通情報取得部201は、取得した共通情報より復号に関する情報を抽出し、それを復号制御部202に供給する。また、共通情報取得部201は、共通情報の一部若しくは全部を、ベースレイヤ画像復号部203乃至エンハンスメントレイヤ画像復号部205に適宜供給する。
  復号制御部202は、共通情報取得部201から供給された復号に関する情報を取得し、その情報に基づいて、ベースレイヤ画像復号部203乃至エンハンスメントレイヤ画像復号部205を制御することにより、各レイヤの復号を制御する。
  ベースレイヤ画像復号部203は、ベースレイヤ画像符号化部103に対応する画像復号部であり、例えばベースレイヤ画像符号化部103によりベースレイヤ画像情報が符号化されて得られたベースレイヤ符号化データを取得する。ベースレイヤ画像復号部203は、他のレイヤの情報を利用せずに、そのベースレイヤ符号化データを復号し、ベースレイヤ画像情報を再構築し、出力する。また、ベースレイヤ画像復号部203は、復号の際に得られた動き情報を動き情報復号部204に供給する。
  動き情報復号部204は、エンハンスメントレイヤ画像復号部205における動き補償処理において利用される、符号化側から伝送された動き情報の復号を行う。符号化側からは、動き情報と予測動き情報の差分が伝送される。動き情報復号部204は、周辺動き情報を用いて予測動き情報を生成し、その予測動き情報を用いて、符号化側から伝送された差分から動き情報を得る。このような予測動き情報の生成の際、動き情報復号部204は、エンハンスメントレイヤ画像復号部205から取得した動き情報を周辺動き情報として用いる。ただし、その動き情報がアンアベイラブルな場合、動き情報復号部204は、そのアンアベイラブルな動き情報の代わりに、ベースレイヤ画像復号部203から取得したアベイラブルな動き情報を周辺動き情報として用いる。動き情報復号部204は、このようにして生成した予測動き情報を用いてカレントブロックの動き情報を復号し、その符号化結果をエンハンスメントレイヤ画像復号部205に戻す。
  エンハンスメントレイヤ画像復号部205は、エンハンスメントレイヤ画像符号化部105に対応する画像復号部であり、例えばエンハンスメントレイヤ画像符号化部105によりエンハンスメントレイヤ画像情報が符号化されて得られたエンハンスメントレイヤ符号化データを取得する。エンハンスメントレイヤ画像復号部205は、そのエンハンスメントレイヤ符号化データを復号する。その際、エンハンスメントレイヤ画像復号部205は、符号化側から伝送された動き情報の符号化データ(動き情報と予測動き情報の差分)を、動き情報復号部204に復号させる。エンハンスメントレイヤ画像復号部205は、このような復号されて得られた動き情報を用いて動き補償を行い、予測画像を生成し、その予測画像を用いてエンハンスメントレイヤ画像情報を再構築し、出力する。
    <ベースレイヤ画像復号部>
  図35は、図34のベースレイヤ画像復号部203の主な構成例を示すブロック図である。図35に示されるようにベースレイヤ画像復号部203は、蓄積バッファ211、可逆復号部212、逆量子化部213、逆直交変換部214、演算部215、ループフィルタ216、画面並べ替えバッファ217、およびD/A変換部218を有する。また、ベースレイヤ画像復号部203は、フレームメモリ219、選択部220、イントラ予測部221、動き補償部222、および選択部223を有する。
  蓄積バッファ211は、伝送されてきたベースレイヤ符号化データを受け取る受け取り部でもある。蓄積バッファ211は、伝送されてきたベースレイヤ符号化データを受け取って、蓄積し、所定のタイミングにおいてその符号化データを可逆復号部212に供給する。このベースレイヤ符号化データには、予測モード情報などの復号に必要な情報が付加されている。
  可逆復号部212は、蓄積バッファ211より供給された、可逆符号化部116により符号化された情報を、可逆符号化部116の符号化方式に対応する方式で復号する。可逆復号部212は、復号して得られた差分画像の量子化された係数データを、逆量子化部213に供給する。
  また、可逆復号部212は、ベースレイヤ符号化データに含まれるビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、およびピクチャパラメータセット(PPS)等を含むNALユニットを適宜抽出し、取得する。可逆復号部212は、それらの情報から、最適な予測モードに関する情報を抽出し、その情報に基づいて最適な予測モードにイントラ予測モードが選択されたかインター予測モードが選択されたかを判定し、その最適な予測モードに関する情報を、イントラ予測部221および動き補償部222の内、選択されたと判定したモードの方に供給する。つまり、例えば、ベースレイヤ画像符号化部103において最適な予測モードとしてイントラ予測モードが選択された場合、その最適な予測モードに関する情報がイントラ予測部221に供給される。また、例えば、ベースレイヤ画像符号化部103において最適な予測モードとしてインター予測モードが選択された場合、その最適な予測モードに関する情報が動き補償部222に供給される。
  さらに、可逆復号部212は、例えば、量子化行列や量子化パラメータ等の、逆量子化に必要な情報をNALユニット等から抽出し、それを逆量子化部213に供給する。
  逆量子化部213は、可逆復号部212により復号されて得られた量子化された係数データを、量子化部115の量子化方式に対応する方式で逆量子化する。なお、この逆量子化部213は、逆量子化部118と同様の処理部である。つまり、逆量子化部213の説明は、逆量子化部118にも準用することができる。ただし、データの入出力先等は、装置に応じて適宜、変えて読む必要がある。逆量子化部213は、得られた係数データを逆直交変換部214に供給する。
  逆直交変換部214は、逆量子化部213から供給される係数データを、直交変換部114の直交変換方式に対応する方式で逆直交変換する。なお、この逆直交変換部214は、逆直交変換部119と同様の処理部である。つまり、逆直交変換部214の説明は、逆直交変換部119にも準用することができる。ただし、データの入出力先等は、装置に応じて適宜、変えて読む必要がある。
  逆直交変換部214は、この逆直交変換処理により、直交変換部114において直交変換される前の残差データに対応する復号残差データを得る。逆直交変換されて得られた復号残差データは、演算部215に供給される。また、演算部215には、選択部223を介して、イントラ予測部221若しくは動き補償部222から予測画像が供給される。
  演算部215は、その復号残差データと予測画像とを加算し、演算部113により予測画像が減算される前の画像データに対応する復号画像データを得る。演算部215は、その復号画像データをループフィルタ216に供給する。
  ループフィルタ216は、供給された復号画像に対して、デブロックフィルタや適応ループフィルタ等を含むフィルタ処理を適宜施し、それを画面並べ替えバッファ217およびフレームメモリ219に供給する。例えば、ループフィルタ216は、復号画像に対してデブロックフィルタ処理を行うことにより復号画像のブロック歪を除去する。また、例えば、ループフィルタ216は、そのデブロックフィルタ処理結果(ブロック歪みの除去が行われた復号画像)に対して、ウィナーフィルタ(Wiener Filter)を用いてループフィルタ処理を行うことにより画質改善を行う。なお、このループフィルタ216は、ループフィルタ121と同様の処理部である。
  なお、演算部215から出力される復号画像は、ループフィルタ216を介さずに画面並べ替えバッファ217やフレームメモリ219に供給することができる。つまり、ループフィルタ216によるフィルタ処理の一部若しくは全部は省略することができる。
  画面並べ替えバッファ217は、復号画像の並べ替えを行う。すなわち、画面並べ替えバッファ112により符号化の順番のために並べ替えられたフレームの順番が、元の表示の順番に並べ替えられる。D/A変換部218は、画面並べ替えバッファ217から供給された画像をD/A変換し、図示せぬディスプレイに出力し、表示させる。
  フレームメモリ219は、供給される復号画像を記憶し、所定のタイミングにおいて、若しくは、イントラ予測部221や動き補償部222等の外部の要求に基づいて、記憶している復号画像を参照画像として、選択部220に供給する。
  選択部220は、フレームメモリ219から供給される参照画像の供給先を選択する。選択部220は、イントラ符号化された画像を復号する場合、フレームメモリ219から供給される参照画像をイントラ予測部221に供給する。また、選択部220は、インター符号化された画像を復号する場合、フレームメモリ219から供給される参照画像を動き補償部222に供給する。
  イントラ予測部221には、ヘッダ情報を復号して得られたイントラ予測モードを示す情報等が可逆復号部212から適宜供給される。イントラ予測部221は、イントラ予測部124において用いられたイントラ予測モードで、フレームメモリ219から取得した参照画像を用いてイントラ予測を行い、予測画像を生成する。イントラ予測部221は、生成した予測画像を選択部223に供給する。
  動き補償部222は、ヘッダ情報を復号して得られた情報(最適予測モード情報、参照画像情報等)を可逆復号部212から取得する。
  動き補償部222は、可逆復号部212から取得された最適予測モード情報が示すインター予測モードで、フレームメモリ219から取得した参照画像を用いて動き補償を行い、予測画像を生成する。
  動き補償部222は、生成した予測画像を選択部223に供給する。また、動き補償部222は、予測画像の生成(動き補償)に用いたカレントブロックの動き情報を動き情報復号部204に供給する。
  選択部223は、イントラ予測部221からの予測画像または動き補償部222からの予測画像を、演算部215に供給する。そして、演算部215においては、動きベクトルが用いられて生成された予測画像と逆直交変換部214からの復号残差データ(差分画像情報)とが加算されて元の画像が復号される。
    <エンハンスメントレイヤ画像符号化部>
  図36は、図34のエンハンスメントレイヤ画像復号部205の主な構成例を示すブロック図である。図36に示されるように、エンハンスメントレイヤ画像復号部205は、図35のベースレイヤ画像復号部203と基本的に同様の構成を有する。
  ただし、エンハンスメントレイヤ画像復号部205の各部は、ベースレイヤではなく、エンハンスメントレイヤ符号化データの復号についての処理を行う。つまり、エンハンスメントレイヤ画像復号部205の蓄積バッファ211は、エンハンスメントレイヤ符号化データを記憶し、エンハンスメントレイヤ画像復号部205のD/A変換部218は、エンハンスメントレイヤ画像情報を、例えば、後段の図示せぬ記録装置(記録媒体)や伝送路などに出力する。
  また、エンハンスメントレイヤ画像復号部205は、動き補償部222の代わりに、動き補償部232を有する。
  動き補償部232は、動き情報復号部204を用いて、符号化側から伝送された、符号化された動き情報の復号を行う。つまり、動き補償部222がベースレイヤの周辺動き情報のみを用いて、カレントブロックの符号化された動き情報の復号を行うのに対して、動き補償部232は、エンハンスメントレイヤの周辺動き情報だけでなく、ベースレイヤの周辺動き情報も用いて、カレントブロックの符号化された動き情報の復号を行うことができる。
  動き情報は、予測動き情報の差分(差分動き情報)として、符号化側から伝送される。動き補償部232は、その差分動き情報を動き情報復号部204に供給し、動き情報を再構築させる。動き補償部232は、再構築された動き情報を取得し、その動き情報を用いて動き補償を行う。
    <動き情報復号部>
  図37は、図34の動き情報復号部204の主な構成例を示すブロック図である。
  図37に示されるように、動き情報復号部204は、動き情報スケーリング部251、ベースレイヤ動き情報バッファ252、エンハンスメントレイヤ動き情報バッファ253、AMVP処理部254、マージ処理部255、およびプレディクタ復号部256を有する。
  動き情報スケーリング部251は、ベースレイヤ画像復号部203の動き補償部222からベースレイヤの動き情報を取得し、ベースレイヤとエンハンスメントレイヤの空間方向のスケーリング比(例えば解像度比)に応じて、その動き情報を空間方向にスケーリング処理する。動き情報スケーリング部251は、スケーリング処理した動き情報をベースレイヤ動き情報バッファ252に供給する。
  ベースレイヤ動き情報バッファ252は、動き情報スケーリング部251から供給された、スケーリング処理されたベースレイヤの動き情報を記憶する。ベースレイヤ動き情報バッファ252は、記憶しているベースレイヤの動き情報を、ベースレイヤの動き情報として、適宜、AMVP処理部254(候補設定部261)やマージ処理部255(候補リスト生成部271)に供給する。
  エンハンスメントレイヤ動き情報バッファ253は、エンハンスメントレイヤ画像復号部205の動き補償部232から供給されるカレントブロックの動き情報を取得し、記憶する。エンハンスメントレイヤ動き情報バッファ253は、記憶しているエンハンスメントレイヤの動き情報を、エンハンスメントレイヤの周辺動き情報として、適宜、AMVP処理部254(候補設定部261)やマージ処理部255(候補リスト生成部271)に供給する。
  AMVP処理部254は、AMVPモードで、エンハンスメントレイヤのカレントブロックの動き情報に対応する予測動き情報の候補を設定する。その際、AMVP処理部254は、エンハンスメントレイヤ動き情報バッファ253に記憶されているエンハンスメントレイヤの動き情報を必要に応じて周辺動き情報として取得する。また、AMVP処理部254は、ベースレイヤ動き情報バッファ252に記憶されているベースレイヤの動き情報を必要に応じて周辺動き情報として取得する。AMVP処理部254は、これらの周辺動き情報を用いて、予測動き情報の候補を設定する。AMVP処理部254は、設定した予測動き情報の候補を、プレディクタ復号部256に供給する。
  マージ処理部255は、マージモードで、エンハンスメントレイヤのカレントブロックの動き情報に対応する予測動き情報の候補リストを生成する。その際、マージ処理部255は、エンハンスメントレイヤ動き情報バッファ253に記憶されているエンハンスメントレイヤの動き情報を必要に応じて周辺動き情報として取得する。また、マージ処理部255は、ベースレイヤ動き情報バッファ252に記憶されているベースレイヤの動き情報を必要に応じて周辺動き情報として取得する。マージ処理部255は、これらの周辺動き情報を用いて、候補リストを生成する。マージ処理部255は、生成した候補リストを、プレディクタ復号部256に供給する。
  プレディクタ復号部256は、エンハンスメントレイヤ画像復号部205の動き補償部232から供給されるインター予測に関する情報に基づいて、AMVP処理部254から供給された予測動き情報の候補、および、マージ処理部255から供給された候補リストの中から、エンハンスメントレイヤ画像復号部205の動き補償部232から供給されるエンハンスメントレイヤのカレントブロックの予測動き情報を再構築し、その再構築された予測動き情報を、エンハンスメントレイヤ画像復号部205の動き補償部232から供給される差分動き情報に加算して動き情報を再構築する。
  プレディクタ復号部256は、このようにして得られたエンハンスメントレイヤのカレントブロックの動き情報を、動き補償部232に供給する。
  図37に示されるように、AMVP処理部254は、候補設定部261、アベイラビリティ判定部262、空間スケーリング部263、時間スケーリング部264、およびベースレイヤ動き情報選択部265を有する。
  候補設定部261は、エンハンスメントレイヤのカレントブロックの予測動き情報の候補を設定する。候補設定部261は、エンハンスメントレイヤ動き情報バッファ253からエンハンスメントレイヤの周辺動き情報を取得し、その周辺動き情報を予測動き情報の候補とする。
  候補設定部261は、エンハンスメントレイヤの周辺動き情報をアベイラビリティ判定部262に供給し、その周辺動き情報のアベイラビリティを判定させ、その判定結果を取得する。エンハンスメントレイヤの周辺動き情報がアンアベイラブルの場合、候補設定部261は、ベースレイヤ動き情報バッファ252からベースレイヤの周辺動き情報を取得し、そのベースレイヤの周辺動き情報をエンハンスメントレイヤの動き情報の代わりに予測動き情報の候補とする。
  候補設定部261は、空間方向のスケーリング処理が必要な場合、周辺動き情報を空間スケーリング部263に供給し、空間方向のスケーリング処理を行わせ、スケーリング処理された周辺動き情報を取得する。
  候補設定部261は、時間方向のスケーリング処理が必要な場合、周辺動き情報を時間スケーリング部264に供給し、時間方向のスケーリング処理を行わせ、スケーリング処理された周辺動き情報を取得する。
  候補設定部261は、コロケーテッド動き情報について、エンハンスメントレイヤの動き情報の代わりにベースレイヤの動き情報を用いる場合、ベースレイヤ動き情報選択部265により選択されたベースレイヤの動き情報を用いる。
  候補設定部261は、設定した予測動き情報の候補をプレディクタ復号部256に供給する。
  アベイラビリティ判定部262は、候補設定部261から供給される動き情報のアベイラビリティを判定し、その判定結果を候補設定部261に供給する。
  空間スケーリング部263は、候補設定部261から供給される動き情報の空間方向のスケーリング処理を行い、そのスケーリング処理された動き情報を候補設定部261に供給する。
  時間スケーリング部264は、候補設定部261から供給される動き情報の時間方向のスケーリング処理を行い、そのスケーリング処理された動き情報を候補設定部261に供給する。
  ベースレイヤ動き情報選択部265は、ベースレイヤ画像復号部203によるベースレイヤの復号結果に応じて、候補設定部261がコロケーテッド動き情報として用いるベースレイヤの動き情報を選択する。より具体的には、ベースレイヤ動き情報選択部265は、ベースレイヤの復号においてコロケーテッド動き情報として使用されていないベースレイヤの動き情報を、エンハンスメントレイヤのコロケーテッド動き情報として選択する。例えば、ベースレイヤの復号において、ベースレイヤの周辺ブロックCR6の動き情報がコロケーテッド動き情報として使用された場合、ベースレイヤ動き情報選択部265は、ベースレイヤの周辺ブロックH6の動き情報を、エンハンスメントレイヤの復号におけるコロケーテッド動き情報として選択する。また、例えば、ベースレイヤの復号において、ベースレイヤの周辺ブロックH6の動き情報がコロケーテッド動き情報として使用された場合、ベースレイヤ動き情報選択部265は、ベースレイヤの周辺ブロックCR6の動き情報を、エンハンスメントレイヤの復号におけるコロケーテッド動き情報として選択する。
  上述したように、候補設定部261は、エンハンスメントレイヤの復号において、コロケーテッド動き情報として、エンハンスメントレイヤの動き情報の代わりにベースレイヤの動き情報を用いる場合、このようにベースレイヤ動き情報選択部265により選択されたベースレイヤの動き情報を用いる。
  また、図37に示されるように、マージ処理部255は、候補リスト生成部271、レイヤ制御情報取得部272、レイヤ制御部273、アベイラビリティ判定部274、およびベースレイヤ動き情報選択部275を有する。
  候補リスト生成部271は、エンハンスメントレイヤ画像復号部205によるエンハンスメントレイヤのカレントブロックの予測動き情報を得るためのマージモードの候補リストを生成する。
  候補リスト生成部271は、エンハンスメントレイヤ動き情報バッファ253からエンハンスメントレイヤの周辺動き情報を取得し、その周辺動き情報を用いて候補リストを生成する。
  候補リスト生成部271は、レイヤ制御部273により、ベースレイヤの動き情報を用いて候補リストを生成するように制御される場合、ベースレイヤ動き情報バッファ252からベースレイヤの周辺動き情報を取得し、その周辺動き情報を用いて候補リストを生成する。例えば、候補リスト生成部271は、レイヤ制御部273の制御に従って、テンポラルプレディクタではなくベースレイヤプレディクタを用いて候補リストを生成する場合、ベースレイヤ動き情報バッファ252からベースレイヤの周辺動き情報を取得する。
  候補リスト生成部271は、エンハンスメントレイヤの周辺動き情報をアベイラビリティ判定部274に供給し、その周辺動き情報のアベイラビリティを判定させ、その判定結果を取得する。エンハンスメントレイヤの周辺動き情報がアンアベイラブルの場合、候補リスト生成部271は、ベースレイヤ動き情報バッファ152からベースレイヤの周辺動き情報を取得し、そのベースレイヤの周辺動き情報を候補リストの欠番に補填する。
  候補リスト生成部271は、コロケーテッド動き情報について、エンハンスメントレイヤの動き情報の代わりにベースレイヤの動き情報を用いる場合、ベースレイヤ動き情報選択部275により選択されたベースレイヤの動き情報を用いる。
  候補リスト生成部271は、生成した候補リストをプレディクタ復号部256に供給する。
  レイヤ制御情報取得部272は、符号化側から伝送されたレイヤ制御情報(例えば、sps_col_mvp_indicatorやslice_col_mvp_indicator等)を可逆復号部212から取得する。レイヤ制御情報取得部272は、このように取得したレイヤ制御情報を、レイヤ制御部273に供給する。
  レイヤ制御部273は、レイヤ制御情報取得部272から供給されたレイヤ制御情報に基づいて、候補リスト生成部271が候補リストの生成に用いる周辺動き情報のレイヤを制御する。より具体的には、レイヤ制御部273が、候補リストの生成に、エンハンスメントレイヤの周辺動き情報を用いるのか、ベースレイヤの周辺動き情報を用いるのかを制御する。上述したように、候補リスト生成部271は、このレイヤ制御部273の制御に従って、周辺動き情報を取得する。
  アベイラビリティ判定部274は、候補リスト生成部271から供給される動き情報のアベイラビリティを判定し、その判定結果を候補リスト生成部271に供給する。
  ベースレイヤ動き情報選択部275は、ベースレイヤ画像復号部203によるベースレイヤの復号結果に応じて、候補リスト生成部271がコロケーテッド動き情報として用いるベースレイヤの動き情報を選択する。より具体的には、ベースレイヤ動き情報選択部275は、ベースレイヤの復号においてコロケーテッド動き情報として使用されていないベースレイヤの動き情報を、エンハンスメントレイヤのコロケーテッド動き情報として選択する。例えば、ベースレイヤの復号において、ベースレイヤの周辺ブロックCR6の動き情報がコロケーテッド動き情報として使用された場合、ベースレイヤ動き情報選択部275は、ベースレイヤの周辺ブロックH6の動き情報を、エンハンスメントレイヤの復号におけるコロケーテッド動き情報として選択する。また、例えば、ベースレイヤの復号において、ベースレイヤの周辺ブロックH6の動き情報がコロケーテッド動き情報として使用された場合、ベースレイヤ動き情報選択部275は、ベースレイヤの周辺ブロックCR6の動き情報を、エンハンスメントレイヤの復号におけるコロケーテッド動き情報として選択する。
  上述したように、候補リスト生成部271は、エンハンスメントレイヤの復号において、コロケーテッド動き情報として、エンハンスメントレイヤの動き情報の代わりにベースレイヤの動き情報を用いる場合、このようにベースレイヤ動き情報選択部275により選択されたベースレイヤの動き情報を用いる。
  以上のように、スケーラブル復号装置200は、エンハンスメントレイヤの復号における動き情報の復号において、エンハンスメントレイヤの周辺動き情報がアンアベイラブルな場合、そのエンハンスメントレイヤの動き情報の代わりに、ベースレイヤの周辺動き情報を用いて予測動き情報を求めるので、動き情報を正しく復号することができる。これにより、スケーラブル復号装置200は、予測精度の低減を抑制し、符号化効率の低減を抑制することができる。したがって、スケーラブル符号化装置100は、符号化・復号による画質の低減を抑制することができる。
    <復号処理の流れ>
  次に、以上のようなスケーラブル復号装置200により実行される各処理の流れについて説明する。最初に、図38のフローチャートを参照して、復号処理の流れの例を説明する。スケーラブル復号装置200は、ピクチャ毎にこの復号処理を実行する。
  復号処理が開始されると、ステップS401において、スケーラブル復号装置200の復号制御部202は、最初のレイヤを処理対象とする。
  ステップS402において、復号制御部202は、処理対象であるカレントレイヤがベースレイヤであるか否かを判定する。カレントレイヤがベースレイヤであると判定された場合、処理は、ステップS403に進む。
  ステップS403において、ベースレイヤ画像復号部203は、ベースレイヤ復号処理を行う。ステップS403の処理が終了すると、処理は、ステップS406に進む。
  また、ステップS402において、カレントレイヤがエンハンスメントレイヤであると判定された場合、処理はステップS404に進む。ステップS404において、復号制御部202は、カレントレイヤに対応する(すなわち、参照先とする)ベースレイヤを決定する。
  ステップS405において、エンハンスメントレイヤ画像復号部205は、エンハンスメントレイヤ復号処理を行う。ステップS405の処理が終了すると、処理はステップS406に進む。
  ステップS406において、復号制御部202は、全てのレイヤを処理したか否かを判定する。未処理のレイヤが存在すると判定された場合、処理はステップS407に進む。
  ステップS407において、復号制御部202は、次の未処理のレイヤを処理対象(カレントレイヤ)とする。ステップS407の処理が終了すると、処理はステップS402に戻る。ステップS402乃至ステップS407の処理が繰り返し実行され、各レイヤが復号される。
  そして、ステップS406において、全てのレイヤが処理されたと判定された場合、復号処理が終了する。
    <ベースレイヤ復号処理の流れ>
  次に、図39のフローチャートを参照して、図38のステップS403において実行されるベースレイヤ復号処理の流れの例を説明する。
  ベースレイヤ復号処理が開始されると、ステップS421において、ベースレイヤ画像復号部203の蓄積バッファ211は、符号化側から伝送されたベースレイヤのビットストリームを蓄積する。ステップS422において、可逆復号部212は、蓄積バッファ211から供給されるベースレイヤのビットストリーム(符号化された差分画像情報)を復号する。すなわち、可逆符号化部116により符号化されたIピクチャ、Pピクチャ、並びにBピクチャが復号される。このとき、ヘッダ情報などのビットストリームに含められた差分画像情報以外の各種情報も復号される。
  ステップS423において、逆量子化部213は、ステップS422の処理により得られた、量子化された係数を逆量子化する。
  ステップS424において、逆直交変換部214は、カレントブロック(カレントTU)を逆直交変換する。
  ステップS425において、イントラ予測部221若しくは動き補償部222は、予測処理を行い、予測画像を生成する。つまり、可逆復号部212において判定された、符号化の際に適用された予測モードで予測処理が行われる。より具体的には、例えば、符号化の際にイントラ予測が適用された場合、イントラ予測部221が、符号化の際に最適とされたイントラ予測モードで予測画像を生成する。また、例えば、符号化の際にインター予測が適用された場合、動き補償部222が、符号化の際に最適とされたインター予測モードで予測画像を生成する。
  ステップS426において、演算部215は、ステップS424の逆直交変換処理により生成された差分画像情報に、ステップS425において生成された予測画像を加算する。これにより元の画像が復号される。
  ステップS427において、ループフィルタ216は、ステップS426において得られた復号画像に対して、ループフィルタ処理を適宜行う。
  ステップS428において、画面並べ替えバッファ217は、ステップS427においてフィルタ処理された画像の並べ替えを行う。すなわち画面並べ替えバッファ112により符号化のために並べ替えられたフレームの順序が、元の表示の順序に並べ替えられる。
  ステップS429において、D/A変換部218は、ステップS428においてフレームの順序が並べ替えられた画像をD/A変換する。この画像が図示せぬディスプレイに出力され、画像が表示される。
  ステップS430において、フレームメモリ219は、ステップS427においてループフィルタ処理された画像を記憶する。
  ステップS431において、動き情報復号部204の動き情報スケーリング部251は、ステップS425の予測処理により得られたベースレイヤの動き情報を、ベースレイヤとエンハンスメントレイヤの空間方向のスケーリング比に応じてスケーリング処理する。
  ステップS432において、動き情報復号部204のベースレイヤ動き情報バッファ252は、ステップS431においてスケーリング処理されたベースレイヤの動き情報を記憶する。
  ステップS431の処理が終了すると、ベースレイヤ復号処理が終了し、処理は図38に戻る。ベースレイヤ復号処理は、例えば、ピクチャ単位で実行される。つまり、カレントレイヤの各ピクチャに対してベースレイヤ復号処理が実行される。ただし、ベースレイヤ復号処理内の各処理は、それぞれの処理単位毎に行われる。
    <エンハンスメントレイヤ復号処理の流れ>
  次に、図40のフローチャートを参照して、図38のステップS405において実行されるエンハンスメントレイヤ復号処理の流れの例を説明する。
  エンハンスメントレイヤ復号処理のステップS451乃至ステップS454、並びに、ステップS456乃至ステップS460の各処理は、ベースレイヤ復号処理のステップS421乃至ステップS424、並びに、ステップS426乃至ステップS430の各処理と同様に実行される。ただし、エンハンスメントレイヤ復号処理の各処理は、エンハンスメントレイヤ画像復号部205の各処理部により、エンハンスメントレイヤ符号化データに対して行われる。
  なお、ステップS455において、イントラ予測部221および動き補償部232は、エンハンスメントレイヤ符号化データに対して、予測処理を行う。
  ステップS460の処理が終了すると、エンハンスメントレイヤ復号処理が終了され、処理は図38に戻る。エンハンスメントレイヤ復号処理は、例えば、ピクチャ単位で実行される。つまり、カレントレイヤの各ピクチャに対してエンハンスメントレイヤ復号処理が実行される。ただし、エンハンスメントレイヤ復号処理内の各処理は、それぞれの処理単位毎に行われる。
    <予測処理の流れ>
  次に、図41のフローチャートを参照して、図40のステップS455において実行される予測処理の流れの例を説明する。
  予測処理が開始されると、動き補償部232は、ステップS481において、予測モードがインター予測であるか否かを判定する。インター予測であると判定した場合、処理はステップS482に進む。
  ステップS482において、動き情報復号部204は、動き情報復号処理を行い、カレントブロックの動き情報を再構築する。
  ステップS483において、動き補償部232は、ステップS482の処理により得られた動き情報を用いて動き補償を行い、予測画像を生成する。予測画像が生成されると、予測処理が終了し、処理は図40に戻る。
  また、ステップS481において、イントラ予測であると判定された場合、処理はステップS484に進む。ステップS484において、イントラ予測部221は、符号化の際に採用されたイントラ予測モードである最適イントラ予測モードで予測画像を生成する。ステップS484の処理が終了すると、予測処理が終了し、処理は図40に戻る。
    <動き情報復号処理の流れ>
  次に、図42のフローチャートを参照して、図41のステップS482において実行される動き情報復号処理の流れの例を説明する。
  動き情報復号処理が開始されると、プレディクタ復号部256は、ステップS501において、符号化側から伝送された、エンハンスメントレイヤにおける動き情報の符号化・復号に関する情報であるプレディクタ情報を、可逆復号部212から取得する。
  ステップS502において、プレディクタ復号部256は、そのプレディクタ情報に基づいて、採用された予測動き情報がAMVPモードであるか否かを判定する。AMVPモードであると判定された場合、処理はステップS503に進む。
  ステップS503において、AMVP処理部254は、図25乃至図30のフローチャートを参照して説明したような符号化側と同様のAMVP処理を行うことにより、AMVPの予測動き情報の候補を設定する。AMVP処理が終了すると、処理はステップS505に進む。
  また、ステップS502において、AMVPモードでないと判定された場合、処理はステップS504に進む。
  ステップS504において、マージ処理部255は、図31等のフローチャートを参照して説明したような符号化側と同様のマージ処理を行うことにより、マージモードの予測動き情報の候補を設定する。マージ処理が終了すると、処理はステップS505に進む。
  ステップS505において、プレディクタ復号部256は、ステップS503若しくはステップS504の処理結果を用いて、カレントブロックの予測動き情報を再構築する。
  ステップS506において、プレディクタ復号部256は、ステップS505において得られた予測動き情報、および、可逆復号部212から取得した差分動き情報を用いて、カレントブロックの動き情報を再構築する。プレディクタ復号部256は、その動き情報を動き補償部232に供給し、予測画像を生成させる。
  ステップS507において、エンハンスメントレイヤ動き情報バッファ253は、エンハンスメントレイヤのカレントブロックの動き情報を記憶する。
  ステップS507の処理が終了すると、動き情報復号処理が終了し、処理は図41に戻る。
  以上のように各処理を実行することにより、スケーラブル復号装置200は、符号化効率の低減を抑制し、符号化・復号による画質の低減を抑制することができる。
  <3.その他>
  以上においては、スケーラブル符号化により画像データが階層化されて複数レイヤ化されるように説明したが、そのレイヤ数は任意である。また、例えば、図43の例に示されるように、一部のピクチャが階層化されるようにしてもよい。また、以上においては、符号化・復号において、エンハンスメントレイヤは、ベースレイヤの情報を利用して処理されるように説明したが、これに限らず、エンハンスメントレイヤが、処理済の他のエンハンスメントレイヤの情報を利用して処理されるようにしてもよい。
  また、以上に説明したレイヤには、多視点画像符号化・復号におけるビューも含まれる。つまり、本技術は、多視点画像符号化・多視点画像復号に適用することができる。図44は、多視点画像符号化方式の一例を示す。
  図44に示されるように、多視点画像は、複数の視点(ビュー)の画像を含み、その複数の視点のうちの所定の1つの視点の画像が、ベースビューの画像に指定されている。ベースビューの画像以外の各視点の画像は、ノンベースビューの画像として扱われる。
  図44のような多視点画像を符号化・復号する場合、各ビューの画像を符号化・復号するが、この各ビューの符号化・復号に対して、上述した方法を適用するようにしてもよい。つまり、動き情報等を、このような多視点符号化・復号における複数のビューにおいて共有するようにしてもよい。
  例えば、ベースビューについては、自身のビューの動き情報のみを用いて予測動き情報の候補を生成するようにし、ノンベースビューについては、ベースビューの動き情報も利用して予測動き情報を生成するようにする。
  このようにすることにより、上述した階層符号化・復号の場合と同様に、多視点符号化・復号においても、符号化効率の低減を抑制することができる。
  以上のように、本技術の適用範囲は、スケーラブルな符号化・復号方式に基づくあらゆる画像符号化装置及び画像復号装置に適用することができる。
  また、本技術は、例えば、MPEG、H.26x等の様に、離散コサイン変換等の直交変換と動き補償によって圧縮された画像情報(ビットストリーム)を、衛星放送、ケーブルテレビジョン、インターネット、または携帯電話機などのネットワークメディアを介して受信する際に用いられる画像符号化装置および画像復号装置に適用することができる。また、本技術は、光、磁気ディスク、およびフラッシュメモリのような記憶メディア上で処理する際に用いられる画像符号化装置および画像復号装置に適用することができる。
  <4.第3の実施の形態>
    <コンピュータ>
  上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここでコンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータ等が含まれる。
  図45は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
  図45に示されるコンピュータ800において、CPU(Central Processing Unit)801、ROM(Read Only Memory)802、RAM(Random Access Memory)803は、バス804を介して相互に接続されている。
  バス804にはまた、入出力インタフェース810も接続されている。入出力インタフェース810には、入力部811、出力部812、記憶部813、通信部814、およびドライブ815が接続されている。
  入力部811は、例えば、キーボード、マウス、マイクロホン、タッチパネル、入力端子などよりなる。出力部812は、例えば、ディスプレイ、スピーカ、出力端子などよりなる。記憶部813は、例えば、ハードディスク、RAMディスク、不揮発性のメモリなどよりなる。通信部814は、例えば、ネットワークインタフェースよりなる。ドライブ815は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブルメディア821を駆動する。
  以上のように構成されるコンピュータでは、CPU801が、例えば、記憶部813に記憶されているプログラムを、入出力インタフェース810およびバス804を介して、RAM803にロードして実行することにより、上述した一連の処理が行われる。RAM803にはまた、CPU801が各種の処理を実行する上において必要なデータなども適宜記憶される。
  コンピュータ(CPU801)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア821に記録して適用することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
  コンピュータでは、プログラムは、リムーバブルメディア821をドライブ815に装着することにより、入出力インタフェース810を介して、記憶部813にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部814で受信し、記憶部813にインストールすることができる。その他、プログラムは、ROM802や記憶部813に、あらかじめインストールしておくことができる。
  なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
  また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
  また、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、全ての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
  また、以上において、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。
  以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
  例えば、本技術は、1つの機能を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
  また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
  さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
  上述した実施形態に係る画像符号化装置及び画像復号装置は、衛星放送、ケーブルTVなどの有線放送、インターネット上での配信、及びセルラー通信による端末への配信などにおける送信機若しくは受信機、光ディスク、磁気ディスク及びフラッシュメモリなどの媒体に画像を記録する記録装置、又は、これら記憶媒体から画像を再生する再生装置などの様々な電子機器に応用され得る。以下、4つの応用例について説明する。
  <5.応用例>
    <第1の応用例:テレビジョン受像機>
  図46は、上述した実施形態を適用したテレビジョン装置の概略的な構成の一例を示している。テレビジョン装置900は、アンテナ901、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、表示部906、音声信号処理部907、スピーカ908、外部インタフェース909、制御部910、ユーザインタフェース911、及びバス912を備える。
  チューナ902は、アンテナ901を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ902は、復調により得られた符号化ビットストリームをデマルチプレクサ903へ出力する。即ち、チューナ902は、画像が符号化されている符号化ストリームを受信する、テレビジョン装置900における伝送部としての役割を有する。
  デマルチプレクサ903は、符号化ビットストリームから視聴対象の番組の映像ストリーム及び音声ストリームを分離し、分離した各ストリームをデコーダ904へ出力する。また、デマルチプレクサ903は、符号化ビットストリームからEPG(Electronic Program Guide)などの補助的なデータを抽出し、抽出したデータを制御部910に供給する。なお、デマルチプレクサ903は、符号化ビットストリームがスクランブルされている場合には、デスクランブルを行ってもよい。
  デコーダ904は、デマルチプレクサ903から入力される映像ストリーム及び音声ストリームを復号する。そして、デコーダ904は、復号処理により生成される映像データを映像信号処理部905へ出力する。また、デコーダ904は、復号処理により生成される音声データを音声信号処理部907へ出力する。
  映像信号処理部905は、デコーダ904から入力される映像データを再生し、表示部906に映像を表示させる。また、映像信号処理部905は、ネットワークを介して供給されるアプリケーション画面を表示部906に表示させてもよい。また、映像信号処理部905は、映像データについて、設定に応じて、例えばノイズ除去などの追加的な処理を行ってもよい。さらに、映像信号処理部905は、例えばメニュー、ボタン又はカーソルなどのGUI(Graphical User Interface)の画像を生成し、生成した画像を出力画像に重畳してもよい。
  表示部906は、映像信号処理部905から供給される駆動信号により駆動され、表示デバイス(例えば、液晶ディスプレイ、プラズマディスプレイ又はOELD(Organic ElectroLuminescence Display)(有機ELディスプレイ)など)の映像面上に映像又は画像を表示する。
  音声信号処理部907は、デコーダ904から入力される音声データについてD/A変換及び増幅などの再生処理を行い、スピーカ908から音声を出力させる。また、音声信号処理部907は、音声データについてノイズ除去などの追加的な処理を行ってもよい。
  外部インタフェース909は、テレビジョン装置900と外部機器又はネットワークとを接続するためのインタフェースである。例えば、外部インタフェース909を介して受信される映像ストリーム又は音声ストリームが、デコーダ904により復号されてもよい。即ち、外部インタフェース909もまた、画像が符号化されている符号化ストリームを受信する、テレビジョン装置900における伝送部としての役割を有する。
  制御部910は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、プログラムデータ、EPGデータ、及びネットワークを介して取得されるデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、テレビジョン装置900の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース911から入力される操作信号に応じて、テレビジョン装置900の動作を制御する。
  ユーザインタフェース911は、制御部910と接続される。ユーザインタフェース911は、例えば、ユーザがテレビジョン装置900を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース911は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部910へ出力する。
  バス912は、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、音声信号処理部907、外部インタフェース909及び制御部910を相互に接続する。
  このように構成されたテレビジョン装置900において、デコーダ904は、上述した実施形態に係るスケーラブル復号装置200の機能を有する。それにより、テレビジョン装置900での画像の復号に際して、符号化効率の低減の抑制を実現し、符号化・復号による画質の低減の抑制を実現することができることができる。
    <第2の応用例:携帯電話機>
  図47は、上述した実施形態を適用した携帯電話機の概略的な構成の一例を示している。携帯電話機920は、アンテナ921、通信部922、音声コーデック923、スピーカ924、マイクロホン925、カメラ部926、画像処理部927、多重分離部928、記録再生部929、表示部930、制御部931、操作部932、及びバス933を備える。
  アンテナ921は、通信部922に接続される。スピーカ924及びマイクロホン925は、音声コーデック923に接続される。操作部932は、制御部931に接続される。バス933は、通信部922、音声コーデック923、カメラ部926、画像処理部927、多重分離部928、記録再生部929、表示部930、及び制御部931を相互に接続する。
  携帯電話機920は、音声通話モード、データ通信モード、撮影モード及びテレビ電話モードを含む様々な動作モードで、音声信号の送受信、電子メール又は画像データの送受信、画像の撮像、及びデータの記録などの動作を行う。
  音声通話モードにおいて、マイクロホン925により生成されるアナログ音声信号は、音声コーデック923に供給される。音声コーデック923は、アナログ音声信号を音声データへ変換し、変換された音声データをA/D変換し圧縮する。そして、音声コーデック923は、圧縮後の音声データを通信部922へ出力する。通信部922は、音声データを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号を、アンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部922は、受信信号を復調及び復号して音声データを生成し、生成した音声データを音声コーデック923へ出力する。音声コーデック923は、音声データを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック923は、生成した音声信号をスピーカ924に供給して音声を出力させる。
  また、データ通信モードにおいて、例えば、制御部931は、操作部932を介するユーザによる操作に応じて、電子メールを構成する文字データを生成する。また、制御部931は、文字を表示部930に表示させる。また、制御部931は、操作部932を介するユーザからの送信指示に応じて電子メールデータを生成し、生成した電子メールデータを通信部922へ出力する。通信部922は、電子メールデータを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号を、アンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部922は、受信信号を復調及び復号して電子メールデータを復元し、復元した電子メールデータを制御部931へ出力する。制御部931は、表示部930に電子メールの内容を表示させると共に、電子メールデータを記録再生部929の記憶媒体に記憶させる。
  記録再生部929は、読み書き可能な任意の記憶媒体を有する。例えば、記憶媒体は、RAM又はフラッシュメモリなどの内蔵型の記憶媒体であってもよく、ハードディスク、磁気ディスク、光磁気ディスク、光ディスク、USB(Unallocated Space Bitmap)メモリ、又はメモリカードなどの外部装着型の記憶媒体であってもよい。
  また、撮影モードにおいて、例えば、カメラ部926は、被写体を撮像して画像データを生成し、生成した画像データを画像処理部927へ出力する。画像処理部927は、カメラ部926から入力される画像データを符号化し、符号化ストリームを記憶再生部929の記憶媒体に記憶させる。
  また、テレビ電話モードにおいて、例えば、多重分離部928は、画像処理部927により符号化された映像ストリームと、音声コーデック923から入力される音声ストリームとを多重化し、多重化したストリームを通信部922へ出力する。通信部922は、ストリームを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号を、アンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。これら送信信号及び受信信号には、符号化ビットストリームが含まれ得る。そして、通信部922は、受信信号を復調及び復号してストリームを復元し、復元したストリームを多重分離部928へ出力する。多重分離部928は、入力されるストリームから映像ストリーム及び音声ストリームを分離し、映像ストリームを画像処理部927、音声ストリームを音声コーデック923へ出力する。画像処理部927は、映像ストリームを復号し、映像データを生成する。映像データは、表示部930に供給され、表示部930により一連の画像が表示される。音声コーデック923は、音声ストリームを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック923は、生成した音声信号をスピーカ924に供給して音声を出力させる。
  このように構成された携帯電話機920において、画像処理部927は、上述した実施形態に係るスケーラブル符号化装置100及びスケーラブル復号装置200の機能を有する。それにより、携帯電話機920での画像の符号化及び復号に際して、符号化効率の低減を抑制し、符号化・復号による画質の低減を抑制することができる。
    <第3の応用例:記録再生装置>
  図48は、上述した実施形態を適用した記録再生装置の概略的な構成の一例を示している。記録再生装置940は、例えば、受信した放送番組の音声データ及び映像データを符号化して記録媒体に記録する。また、記録再生装置940は、例えば、他の装置から取得される音声データ及び映像データを符号化して記録媒体に記録してもよい。また、記録再生装置940は、例えば、ユーザの指示に応じて、記録媒体に記録されているデータをモニタ及びスピーカ上で再生する。このとき、記録再生装置940は、音声データ及び映像データを復号する。
  記録再生装置940は、チューナ941、外部インタフェース942、エンコーダ943、HDD(Hard Disk Drive)944、ディスクドライブ945、セレクタ946、デコーダ947、OSD(On-Screen Display)948、制御部949、及びユーザインタフェース950を備える。
  チューナ941は、アンテナ(図示せず)を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ941は、復調により得られた符号化ビットストリームをセレクタ946へ出力する。即ち、チューナ941は、記録再生装置940における伝送部としての役割を有する。
  外部インタフェース942は、記録再生装置940と外部機器又はネットワークとを接続するためのインタフェースである。外部インタフェース942は、例えば、IEEE1394インタフェース、ネットワークインタフェース、USBインタフェース、又はフラッシュメモリインタフェースなどであってよい。例えば、外部インタフェース942を介して受信される映像データ及び音声データは、エンコーダ943へ入力される。即ち、外部インタフェース942は、記録再生装置940における伝送部としての役割を有する。
  エンコーダ943は、外部インタフェース942から入力される映像データ及び音声データが符号化されていない場合に、映像データ及び音声データを符号化する。そして、エンコーダ943は、符号化ビットストリームをセレクタ946へ出力する。
  HDD944は、映像及び音声などのコンテンツデータが圧縮された符号化ビットストリーム、各種プログラムおよびその他のデータを内部のハードディスクに記録する。また、HDD944は、映像及び音声の再生時に、これらデータをハードディスクから読み出す。
  ディスクドライブ945は、装着されている記録媒体へのデータの記録及び読み出しを行う。ディスクドライブ945に装着される記録媒体は、例えばDVDディスク(DVD-Video、DVD-RAM、DVD-R、DVD-RW、DVD+R、DVD+RW等)又はBlu-ray(登録商標)ディスクなどであってよい。
  セレクタ946は、映像及び音声の記録時には、チューナ941又はエンコーダ943から入力される符号化ビットストリームを選択し、選択した符号化ビットストリームをHDD944又はディスクドライブ945へ出力する。また、セレクタ946は、映像及び音声の再生時には、HDD944又はディスクドライブ945から入力される符号化ビットストリームをデコーダ947へ出力する。
  デコーダ947は、符号化ビットストリームを復号し、映像データ及び音声データを生成する。そして、デコーダ947は、生成した映像データをOSD948へ出力する。また、デコーダ904は、生成した音声データを外部のスピーカへ出力する。
  OSD948は、デコーダ947から入力される映像データを再生し、映像を表示する。また、OSD948は、表示する映像に、例えばメニュー、ボタン又はカーソルなどのGUIの画像を重畳してもよい。
  制御部949は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、記録再生装置940の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース950から入力される操作信号に応じて、記録再生装置940の動作を制御する。
  ユーザインタフェース950は、制御部949と接続される。ユーザインタフェース950は、例えば、ユーザが記録再生装置940を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース950は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部949へ出力する。
  このように構成された記録再生装置940において、エンコーダ943は、上述した実施形態に係るスケーラブル符号化装置100の機能を有する。また、デコーダ947は、上述した実施形態に係るスケーラブル復号装置200の機能を有する。それにより、記録再生装置940での画像の符号化及び復号に際して、符号化効率の低減を抑制し、符号化・復号による画質の低減を抑制することができる。
    <第4の応用例:撮像装置>
  図49は、上述した実施形態を適用した撮像装置の概略的な構成の一例を示している。撮像装置960は、被写体を撮像して画像を生成し、画像データを符号化して記録媒体に記録する。
  撮像装置960は、光学ブロック961、撮像部962、信号処理部963、画像処理部964、表示部965、外部インタフェース966、メモリ967、メディアドライブ968、OSD969、制御部970、ユーザインタフェース971、及びバス972を備える。
  光学ブロック961は、撮像部962に接続される。撮像部962は、信号処理部963に接続される。表示部965は、画像処理部964に接続される。ユーザインタフェース971は、制御部970に接続される。バス972は、画像処理部964、外部インタフェース966、メモリ967、メディアドライブ968、OSD969、及び制御部970を相互に接続する。
  光学ブロック961は、フォーカスレンズ及び絞り機構などを有する。光学ブロック961は、被写体の光学像を撮像部962の撮像面に結像させる。撮像部962は、CCD(Charge Coupled Device)又はCMOS(Complementary Metal Oxide Semiconductor)などのイメージセンサを有し、撮像面に結像した光学像を光電変換によって電気信号としての画像信号に変換する。そして、撮像部962は、画像信号を信号処理部963へ出力する。
  信号処理部963は、撮像部962から入力される画像信号に対してニー補正、ガンマ補正、色補正などの種々のカメラ信号処理を行う。信号処理部963は、カメラ信号処理後の画像データを画像処理部964へ出力する。
  画像処理部964は、信号処理部963から入力される画像データを符号化し、符号化データを生成する。そして、画像処理部964は、生成した符号化データを外部インタフェース966又はメディアドライブ968へ出力する。また、画像処理部964は、外部インタフェース966又はメディアドライブ968から入力される符号化データを復号し、画像データを生成する。そして、画像処理部964は、生成した画像データを表示部965へ出力する。また、画像処理部964は、信号処理部963から入力される画像データを表示部965へ出力して画像を表示させてもよい。また、画像処理部964は、OSD969から取得される表示用データを、表示部965へ出力する画像に重畳してもよい。
  OSD969は、例えばメニュー、ボタン又はカーソルなどのGUIの画像を生成して、生成した画像を画像処理部964へ出力する。
  外部インタフェース966は、例えばUSB入出力端子として構成される。外部インタフェース966は、例えば、画像の印刷時に、撮像装置960とプリンタとを接続する。また、外部インタフェース966には、必要に応じてドライブが接続される。ドライブには、例えば、磁気ディスク又は光ディスクなどのリムーバブルメディアが装着され、リムーバブルメディアから読み出されるプログラムが、撮像装置960にインストールされ得る。さらに、外部インタフェース966は、LAN又はインターネットなどのネットワークに接続されるネットワークインタフェースとして構成されてもよい。即ち、外部インタフェース966は、撮像装置960における伝送部としての役割を有する。
  メディアドライブ968に装着される記録媒体は、例えば、磁気ディスク、光磁気ディスク、光ディスク、又は半導体メモリなどの、読み書き可能な任意のリムーバブルメディアであってよい。また、メディアドライブ968に記録媒体が固定的に装着され、例えば、内蔵型ハードディスクドライブ又はSSD(Solid State Drive)のような非可搬性の記憶部が構成されてもよい。
  制御部970は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、撮像装置960の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース971から入力される操作信号に応じて、撮像装置960の動作を制御する。
  ユーザインタフェース971は、制御部970と接続される。ユーザインタフェース971は、例えば、ユーザが撮像装置960を操作するためのボタン及びスイッチなどを有する。ユーザインタフェース971は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部970へ出力する。
  このように構成された撮像装置960において、画像処理部964は、上述した実施形態に係るスケーラブル符号化装置100及びスケーラブル復号装置200の機能を有する。それにより、撮像装置960での画像の符号化及び復号に際して、符号化効率の低減を抑制し、符号化・復号による画質の低減を抑制することができる。
  <6.スケーラブル符号化の応用例>
    <第1のシステム>
  次に、スケーラブル符号化(階層符号化)されたスケーラブル符号化データの具体的な利用例について説明する。スケーラブル符号化は、例えば、図50に示される例のように、伝送するデータの選択のために利用される。
  図50に示されるデータ伝送システム1000において、配信サーバ1002は、スケーラブル符号化データ記憶部1001に記憶されているスケーラブル符号化データを読み出し、ネットワーク1003を介して、パーソナルコンピュータ1004、AV機器1005、タブレットデバイス1006、および携帯電話機1007等の端末装置に配信する。
  その際、配信サーバ1002は、端末装置の能力や通信環境等に応じて、適切な品質の符号化データを選択して伝送する。配信サーバ1002が不要に高品質なデータを伝送しても、端末装置において高画質な画像を得られるとは限らず、遅延やオーバフローの発生要因となる恐れがある。また、不要に通信帯域を占有したり、端末装置の負荷を不要に増大させたりしてしまう恐れもある。逆に、配信サーバ1002が不要に低品質なデータを伝送しても、端末装置において十分な画質の画像を得ることができない恐れがある。そのため、配信サーバ1002は、スケーラブル符号化データ記憶部1001に記憶されているスケーラブル符号化データを、適宜、端末装置の能力や通信環境等に対して適切な品質の符号化データとして読み出し、伝送する。
  例えば、スケーラブル符号化データ記憶部1001は、スケーラブルに符号化されたスケーラブル符号化データ(BL+EL)1011を記憶するとする。このスケーラブル符号化データ(BL+EL)1011は、ベースレイヤとエンハンスメントレイヤの両方を含む符号化データであり、復号することにより、ベースレイヤの画像およびエンハンスメントレイヤの画像の両方を得ることができるデータである。
  配信サーバ1002は、データを伝送する端末装置の能力や通信環境等に応じて、適切なレイヤを選択し、そのレイヤのデータを読み出す。例えば、配信サーバ1002は、処理能力の高いパーソナルコンピュータ1004やタブレットデバイス1006に対しては、高品質なスケーラブル符号化データ(BL+EL)1011をスケーラブル符号化データ記憶部1001から読み出し、そのまま伝送する。これに対して、例えば、配信サーバ1002は、処理能力の低いAV機器1005や携帯電話機1007に対しては、スケーラブル符号化データ(BL+EL)1011からベースレイヤのデータを抽出し、スケーラブル符号化データ(BL+EL)1011と同じコンテンツのデータであるが、スケーラブル符号化データ(BL+EL)1011よりも低品質なスケーラブル符号化データ(BL)1012として伝送する。
  このようにスケーラブル符号化データを用いることにより、データ量を容易に調整することができるので、遅延やオーバフローの発生を抑制したり、端末装置や通信媒体の負荷の不要な増大を抑制したりすることができる。また、スケーラブル符号化データ(BL+EL)1011は、レイヤ間の冗長性が低減されているので、各レイヤの符号化データを個別のデータとする場合よりもそのデータ量を低減させることができる。したがって、スケーラブル符号化データ記憶部1001の記憶領域をより効率よく使用することができる。
  なお、パーソナルコンピュータ1004乃至携帯電話機1007のように、端末装置には様々な装置を適用することができるので、端末装置のハードウエアの性能は、装置によって異なる。また、端末装置が実行するアプリケーションも様々であるので、そのソフトウエアの能力も様々である。さらに、通信媒体となるネットワーク1003も、例えばインターネットやLAN(Local Area Network)等、有線若しくは無線、またはその両方を含むあらゆる通信回線網を適用することができ、そのデータ伝送能力は様々である。さらに、他の通信等によっても変化する恐れがある。
  そこで、配信サーバ1002は、データ伝送を開始する前に、データの伝送先となる端末装置と通信を行い、端末装置のハードウエア性能や、端末装置が実行するアプリケーション(ソフトウエア)の性能等といった端末装置の能力に関する情報、並びに、ネットワーク1003の利用可能帯域幅等の通信環境に関する情報を得るようにしてもよい。そして、配信サーバ1002が、ここで得た情報を基に、適切なレイヤを選択するようにしてもよい。
  なお、レイヤの抽出は、端末装置において行うようにしてもよい。例えば、パーソナルコンピュータ1004が、伝送されたスケーラブル符号化データ(BL+EL)1011を復号し、ベースレイヤの画像を表示しても良いし、エンハンスメントレイヤの画像を表示しても良い。また、例えば、パーソナルコンピュータ1004が、伝送されたスケーラブル符号化データ(BL+EL)1011から、ベースレイヤのスケーラブル符号化データ(BL)1012を抽出し、記憶したり、他の装置に転送したり、復号してベースレイヤの画像を表示したりするようにしてもよい。
  もちろん、スケーラブル符号化データ記憶部1001、配信サーバ1002、ネットワーク1003、および端末装置の数はいずれも任意である。また、以上においては、配信サーバ1002がデータを端末装置に伝送する例について説明したが、利用例はこれに限定されない。データ伝送システム1000は、スケーラブル符号化された符号化データを端末装置に伝送する際、端末装置の能力や通信環境等に応じて、適切なレイヤを選択して伝送するシステムであれば、任意のシステムに適用することができる。
  そして、以上のようなデータ伝送システム1000においても、第1の実施の形態および第2の実施の形態において上述した階層符号化・階層復号への適用と同様に本技術を適用することにより、第1の実施の形態および第2の実施の形態において上述した効果と同様の効果を得ることができる。
    <第2のシステム>
  また、スケーラブル符号化は、例えば、図51に示される例のように、複数の通信媒体を介する伝送のために利用される。
  図51に示されるデータ伝送システム1100において、放送局1101は、地上波放送1111により、ベースレイヤのスケーラブル符号化データ(BL)1121を伝送する。また、放送局1101は、有線若しくは無線またはその両方の通信網よりなる任意のネットワーク1112を介して、エンハンスメントレイヤのスケーラブル符号化データ(EL)1122を伝送する(例えばパケット化して伝送する)。
  端末装置1102は、放送局1101が放送する地上波放送1111の受信機能を有し、この地上波放送1111を介して伝送されるベースレイヤのスケーラブル符号化データ(BL)1121を受け取る。また、端末装置1102は、ネットワーク1112を介した通信を行う通信機能をさらに有し、このネットワーク1112を介して伝送されるエンハンスメントレイヤのスケーラブル符号化データ(EL)1122を受け取る。
  端末装置1102は、例えばユーザ指示等に応じて、地上波放送1111を介して取得したベースレイヤのスケーラブル符号化データ(BL)1121を、復号してベースレイヤの画像を得たり、記憶したり、他の装置に伝送したりする。
  また、端末装置1102は、例えばユーザ指示等に応じて、地上波放送1111を介して取得したベースレイヤのスケーラブル符号化データ(BL)1121と、ネットワーク1112を介して取得したエンハンスメントレイヤのスケーラブル符号化データ(EL)1122とを合成して、スケーラブル符号化データ(BL+EL)を得たり、それを復号してエンハンスメントレイヤの画像を得たり、記憶したり、他の装置に伝送したりする。
  以上のように、スケーラブル符号化データは、例えばレイヤ毎に異なる通信媒体を介して伝送させることができる。したがって、負荷を分散させることができ、遅延やオーバフローの発生を抑制することができる。
  また、状況に応じて、伝送に使用する通信媒体を、レイヤ毎に選択することができるようにしてもよい。例えば、データ量が比較的多いベースレイヤのスケーラブル符号化データ(BL)1121を帯域幅の広い通信媒体を介して伝送させ、データ量が比較的少ないエンハンスメントレイヤのスケーラブル符号化データ(EL)1122を帯域幅の狭い通信媒体を介して伝送させるようにしてもよい。また、例えば、エンハンスメントレイヤのスケーラブル符号化データ(EL)1122を伝送する通信媒体を、ネットワーク1112とするか、地上波放送1111とするかを、ネットワーク1112の利用可能帯域幅に応じて切り替えるようにしてもよい。もちろん、任意のレイヤのデータについて同様である。
  このように制御することにより、データ伝送における負荷の増大を、より抑制することができる。
  もちろん、レイヤ数は任意であり、伝送に利用する通信媒体の数も任意である。また、データ配信先となる端末装置1102の数も任意である。さらに、以上においては、放送局1101からの放送を例に説明したが、利用例はこれに限定されない。データ伝送システム1100は、スケーラブル符号化された符号化データを、レイヤを単位として複数に分割し、複数の回線を介して伝送するシステムであれば、任意のシステムに適用することができる。
  そして、以上のようなデータ伝送システム1100においても、第1の実施の形態および第2の実施の形態において上述した階層符号化・階層復号への適用と同様に本技術を適用することにより、第1の実施の形態および第2の実施の形態において上述した効果と同様の効果を得ることができる。
    <第3のシステム>
  また、スケーラブル符号化は、例えば、図52に示される例のように、符号化データの記憶に利用される。
  図52に示される撮像システム1200において、撮像装置1201は、被写体1211を撮像して得られた画像データをスケーラブル符号化し、スケーラブル符号化データ(BL+EL)1221として、スケーラブル符号化データ記憶装置1202に供給する。
  スケーラブル符号化データ記憶装置1202は、撮像装置1201から供給されるスケーラブル符号化データ(BL+EL)1221を、状況に応じた品質で記憶する。例えば、通常時の場合、スケーラブル符号化データ記憶装置1202は、スケーラブル符号化データ(BL+EL)1221からベースレイヤのデータを抽出し、低品質でデータ量の少ないベースレイヤのスケーラブル符号化データ(BL)1222として記憶する。これに対して、例えば、注目時の場合、スケーラブル符号化データ記憶装置1202は、高品質でデータ量の多いスケーラブル符号化データ(BL+EL)1221のまま記憶する。
  このようにすることにより、スケーラブル符号化データ記憶装置1202は、必要な場合のみ、画像を高画質に保存することができるので、画質劣化による画像の価値の低減を抑制しながら、データ量の増大を抑制することができ、記憶領域の利用効率を向上させることができる。
  例えば、撮像装置1201が監視カメラであるとする。撮像画像に監視対象(例えば侵入者)が写っていない場合(通常時の場合)、撮像画像の内容は重要でない可能性が高いので、データ量の低減が優先され、その画像データ(スケーラブル符号化データ)は、低品質に記憶される。これに対して、撮像画像に監視対象が被写体1211として写っている場合(注目時の場合)、その撮像画像の内容は重要である可能性が高いので、画質が優先され、その画像データ(スケーラブル符号化データ)は、高品質に記憶される。
  なお、通常時であるか注目時であるかは、例えば、スケーラブル符号化データ記憶装置1202が、画像を解析することにより判定しても良い。また、撮像装置1201が判定し、その判定結果をスケーラブル符号化データ記憶装置1202に伝送するようにしてもよい。
  なお、通常時であるか注目時であるかの判定基準は任意であり、判定基準とする画像の内容は任意である。もちろん、画像の内容以外の条件を判定基準とすることもできる。例えば、収録した音声の大きさや波形等に応じて切り替えるようにしてもよいし、所定の時間毎に切り替えるようにしてもよいし、ユーザ指示等の外部からの指示によって切り替えるようにしてもよい。
  また、以上においては、通常時と注目時の2つの状態を切り替える例を説明したが、状態の数は任意であり、例えば、通常時、やや注目時、注目時、非常に注目時等のように、3つ以上の状態を切り替えるようにしてもよい。ただし、この切り替える状態の上限数は、スケーラブル符号化データのレイヤ数に依存する。
  また、撮像装置1201が、スケーラブル符号化のレイヤ数を、状態に応じて決定するようにしてもよい。例えば、通常時の場合、撮像装置1201が、低品質でデータ量の少ないベースレイヤのスケーラブル符号化データ(BL)1222を生成し、スケーラブル符号化データ記憶装置1202に供給するようにしてもよい。また、例えば、注目時の場合、撮像装置1201が、高品質でデータ量の多いベースレイヤのスケーラブル符号化データ(BL+EL)1221を生成し、スケーラブル符号化データ記憶装置1202に供給するようにしてもよい。
  以上においては、監視カメラを例に説明したが、この撮像システム1200の用途は任意であり、監視カメラに限定されない。
  そして、以上のような撮像システム1200においても、第1の実施の形態および第2の実施の形態において上述した階層符号化・階層復号への適用と同様に本技術を適用することにより、第1の実施の形態および第2の実施の形態において上述した効果と同様の効果を得ることができる。
  なお、本技術は、予め用意された解像度等が互いに異なる複数の符号化データの中から適切なものをセグメント単位で選択して使用する、例えばMPEG DASH等のようなHTTPストリーミングにも適用することができる。つまり、このような複数の符号化データ間で、符号化や復号に関する情報を共有することもできる。
  また、本明細書では、各種情報が、符号化ストリームに多重化されて、符号化側から復号側へ伝送される例について説明した。しかしながら、これら情報を伝送する手法はかかる例に限定されない。例えば、これら情報は、符号化ビットストリームに多重化されることなく、符号化ビットストリームと関連付けられた別個のデータとして伝送され又は記録されてもよい。ここで、「関連付ける」という用語は、ビットストリームに含まれる画像(スライス若しくはブロックなど、画像の一部であってもよい)と当該画像に対応する情報とを復号時にリンクさせ得るようにすることを意味する。即ち、情報は、画像(又はビットストリーム)とは別の伝送路上で伝送されてもよい。また、情報は、画像(又はビットストリーム)とは別の記録媒体(又は同一の記録媒体の別の記録エリア)に記録されてもよい。さらに、情報と画像(又はビットストリーム)とは、例えば、複数フレーム、1フレーム、又はフレーム内の一部分などの任意の単位で互いに関連付けられてよい。
  以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示はかかる例に限定されない。本開示の属する技術の分野における通常の知識を有する者であれば、請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
  なお、本技術は以下のような構成も取ることができる。
  (1)  複数階層化された画像データが符号化された階層画像符号化データと、前記画像データの符号化に用いられた動き情報が符号化された動き情報符号化データとを受け取る受け取り部と、
  カレントブロックと同階層の周辺ブロックの動き情報がアンアベイラブルな場合、前記カレントブロックと異なる階層の周辺ブロックの動き情報を用いて、前記受け取り部により受け取られた前記動き情報符号化データを復号する動き情報復号部と、
  前記動き情報復号部により前記動き情報符号化データが復号されて得られた動き情報を用いて、前記受け取り部による受け取られた前記階層画像符号化データを復号する復号部と
  を備える画像処理装置。
  (2)  前記動き情報復号部は、
    前記カレントブロックと同階層の周辺ブロックの動き情報がアベイラブルな場合、前記周辺ブロックの動き情報を用いて、前記画像データの符号化に用いられた動き情報の符号化に用いた予測動き情報を再構築し、再構築した前記予測動き情報を用いて、前記動き情報符号化データを復号し、
    前記カレントブロックと同階層の周辺ブロックの動き情報がアンアベイラブルな場合、前記カレントブロックと異なる階層の周辺ブロックの動き情報を用いて、前記画像データの符号化に用いられた動き情報の符号化に用いた予測動き情報を再構築し、再構築した前記予測動き情報を用いて、前記動き情報符号化データを復号する
  (1)、(3)乃至(9)のいずれかに記載の画像処理装置。
  (3)  前記動き情報復号部は、AMVP(Advanced Motion Vector Prediction)モードにおける、前記カレントブロックと同階層の周辺ブロックのアンアベイラブルな動き情報の代わりに、前記カレントブロックと異なる階層の、前記周辺ブロックに対応する周辺ブロックのアベイラブルな動き情報を前記予測動き情報の候補とする
  (1)、(2)、(4)乃至(9)のいずれかに記載の画像処理装置。
  (4)  前記動き情報復号部は、
    前記カレントブロックと同階層の周辺ブロックの、時間軸方向のスケーリング処理が行われるアンアベイラブルな動き情報の代わりに、前記カレントブロックと異なる階層の、前記周辺ブロックに対応する周辺ブロックの、時間軸方向のスケーリング処理が行われるアベイラブルな動き情報を前記予測動き情報の候補とし、
    前記カレントブロックと同階層の周辺ブロックの、時間軸方向のスケーリング処理が行われないアンアベイラブルな動き情報の代わりに、前記カレントブロックと異なる階層の、前記周辺ブロックに対応する周辺ブロックの、時間軸方向のスケーリング処理が行われないアベイラブルな動き情報を前記予測動き情報の候補とする
  (1)乃至(3)、(5)乃至(9)のいずれかに記載の画像処理装置。
  (5)  前記動き情報復号部は、階層間の解像度比に応じて、前記カレントブロックと異なる階層の周辺ブロックの動き情報を、空間方向にスケーリング処理する
  (1)乃至(4)、(6)乃至(9)のいずれかに記載の画像処理装置。
  (6)  前記動き情報復号部は、マージ(Merge)モードにおける、前記予測動き情報の候補リストの欠番を、前記カレントブロックと異なる階層の、前記周辺ブロックに対応する周辺ブロックのアベイラブルな動き情報により補填する
  (1)乃至(5)、(7)乃至(9)のいずれかに記載の画像処理装置。
  (7)  前記受け取り部は、さらに、前記候補リストに、前記カレントブロックと同階層のブロックの動き情報を用いるか、並びに、前記カレントブロックと異なる階層のブロックの動き情報を用いるかを指定する制御情報を受け取る
  (1)乃至(6)、(8)、(9)のいずれかに記載の画像処理装置。
  (8)  前記動き情報復号部は、前記受け取り部により受け取られた前記制御情報に基づいて、
    前記候補リストに、前記カレントブロックと同階層のブロックの動き情報を用いる場合、前記候補リストの欠番の補填に、前記カレントブロックと異なる階層のブロックの動き情報を用い、
    前記候補リストに、前記カレントブロックと異なる階層のブロックの動き情報を用いる場合、前記候補リストの欠番の補填に、前記カレントブロックと同階層のブロックの動き情報を用いる
  (1)乃至(7)、(9)のいずれかに記載の画像処理装置。
  (9)  前記動き情報復号部は、前記カレントブロックと異なる階層においてコロケーテッドブロックとされた周辺ブロックと異なるブロックの動き情報により、前記候補リストの欠番を補填する
  (1)乃至(8)のいずれかに記載の画像処理装置。
  (10)  複数階層化された画像データが符号化された階層画像符号化データと、前記画像データの符号化に用いられた動き情報が符号化された動き情報符号化データとを受け取り、
  カレントブロックと同階層の周辺ブロックの動き情報がアンアベイラブルな場合、前記カレントブロックと異なる階層の周辺ブロックの動き情報を用いて、受け取られた前記動き情報符号化データを復号し、
  前記動き情報符号化データが復号されて得られた動き情報を用いて、受け取られた前記階層画像符号化データを復号する
  画像処理方法。
  (11)  複数階層化された画像データを、動き情報を用いて符号化する符号化部と、
  カレントブロックと同階層の周辺ブロックの動き情報がアンアベイラブルな場合、前記カレントブロックと異なる階層の周辺ブロックの動き情報を用いて、前記符号化部による前記画像データの符号化に用いられた前記動き情報を符号化する動き情報符号化部と、
  前記符号化部により前記画像データが符号化されて得られた階層画像符号化データと、前記動き情報符号化部により前記動き情報が符号化されて得られた動き情報符号化データとを伝送する伝送部と
  を備える画像処理装置。
  (12)  前記動き情報符号化部は、
    前記カレントブロックと同階層の周辺ブロックの動き情報がアベイラブルな場合、前記周辺ブロックの動き情報を用いて予測動き情報を生成し、生成した前記予測動き情報を用いて前記動き情報を符号化し、
    前記カレントブロックと同階層の周辺ブロックの動き情報がアンアベイラブルな場合、前記カレントブロックと異なる階層の周辺ブロックの動き情報を用いて予測動き情報を生成し、生成した前記予測動き情報を用いて前記動き情報を符号化する
  (11)、(13)乃至(19)のいずれかに記載の画像処理装置。
  (13)  前記動き情報符号化部は、AMVP(Advanced Motion Vector Prediction)モードにおける、前記カレントブロックと同階層の周辺ブロックのアンアベイラブルな動き情報の代わりに、前記カレントブロックと異なる階層の、前記周辺ブロックに対応する周辺ブロックのアベイラブルな動き情報を前記予測動き情報の候補とする
  (11)、(12)、(14)乃至(19)のいずれかに記載の画像処理装置。
  (14)  前記動き情報符号化部は、
    前記カレントブロックと同階層の周辺ブロックの、時間軸方向のスケーリング処理が行われるアンアベイラブルな動き情報の代わりに、前記カレントブロックと異なる階層の、前記周辺ブロックに対応する周辺ブロックの、時間軸方向のスケーリング処理が行われるアベイラブルな動き情報を前記予測動き情報の候補とし、
    前記カレントブロックと同階層の周辺ブロックの、時間軸方向のスケーリング処理が行われないアンアベイラブルな動き情報の代わりに、前記カレントブロックと異なる階層の、前記周辺ブロックに対応する周辺ブロックの、時間軸方向のスケーリング処理が行われないアベイラブルな動き情報を前記予測動き情報の候補とする
  (11)乃至(13)、(15)乃至(19)のいずれかに記載の画像処理装置。
  (15)  前記動き情報符号化部は、階層間の解像度比に応じて、前記カレントブロックと異なる階層の周辺ブロックの動き情報を、空間方向にスケーリング処理する
  (11)乃至(14)、(16)乃至(19)のいずれかに記載の画像処理装置。
  (16)  前記動き情報符号化部は、マージ(Merge)モードにおける、前記予測動き情報の候補リストの欠番を、前記カレントブロックと異なる階層の、前記周辺ブロックに対応する周辺ブロックのアベイラブルな動き情報により補填する
  (11)乃至(15)、(17)乃至(19)のいずれかに記載の画像処理装置。
  (17)  前記伝送部は、さらに、前記候補リストに、前記カレントブロックと同階層のブロックの動き情報を用いるか、並びに、前記カレントブロックと異なる階層のブロックの動き情報を用いるかを指定する制御情報を伝送する
  (11)乃至(16)、(18)、(19)のいずれかに記載の画像処理装置。
  (18)  前記動き情報符号化部は、
    前記候補リストに、前記カレントブロックと同階層のブロックの動き情報を用いる場合、前記候補リストの欠番の補填に、前記カレントブロックと異なる階層のブロックの動き情報を用い、
    前記候補リストに、前記カレントブロックと異なる階層のブロックの動き情報を用いる場合、前記候補リストの欠番の補填に、前記カレントブロックと同階層のブロックの動き情報を用いる
  (11)乃至(17)、(19)のいずれかに記載の画像処理装置。
  (19)  前記動き情報符号化部は、前記カレントブロックと異なる階層においてコロケーテッドブロックとされた周辺ブロックと異なるブロックの動き情報により、前記候補リストの欠番を補填する
  (11)乃至(18)のいずれかに記載の画像処理装置。
  (20)  複数階層化された画像データを、動き情報を用いて符号化し、
  カレントブロックと同階層の周辺ブロックの動き情報がアンアベイラブルな場合、前記カレントブロックと異なる階層の周辺ブロックの動き情報を用いて、前記画像データの符号化に用いられた前記動き情報を符号化し、
  前記画像データが符号化されて得られた階層画像符号化データと、前記動き情報が符号化されて得られた動き情報符号化データとを伝送する
  画像処理方法。
  100  スケーラブル符号化装置,  101  共通情報生成部,  102  符号化制御部,  103  ベースレイヤ画像符号化部,  104  動き情報符号化部,  105  エンハンスメントレイヤ画像符号化部,  116  可逆符号化部,  125  動き予測・補償部,  135  動き予測・補償部,  151  動き情報スケーリング部,  152  ベースレイヤ動き情報バッファ,  153  エンハンスメントレイヤ動き情報バッファ,  154  AMVP処理部,  155  マージ処理部,  156  最適プレディクタ設定部,  161  候補設定部,  162  アベイラビリティ判定部,  163  空間スケーリング部,  164  時間スケーリング部,  165  ベースレイヤ動き情報選択部,  171  候補リスト生成部,  172  レイヤ制御情報設定部,  173  レイヤ制御部,  174  アベイラビリティ判定部,  175  ベースレイヤ動き情報選択部,  200  スケーラブル復号装置,  201  共通情報取得部,  202  復号制御部,  203  ベースレイヤ画像復号部,  204  動き情報復号部,  205  エンハンスメントレイヤ画像復号部,  212  可逆復号部,  222  動き補償部,  232  動き補償部,  251  動き情報スケーリング部,  252  ベースレイヤ動き情報バッファ,  253  エンハンスメントレイヤ動き情報バッファ,  254  AMVP処理部,  255  マージ処理部,  256  プレディクタ復号部,  261  候補設定部,  262  アベイラビリティ判定部,  263  空間スケーリング部,  264  時間スケーリング部,  265  ベースレイヤ動き情報選択部,  271  候補リスト生成部,  272  レイヤ制御情報取得部,  273  レイヤ制御部,  274  アベイラビリティ判定部,  275  ベースレイヤ動き情報選択部

Claims (20)

  1.   複数階層化された画像データが符号化された階層画像符号化データと、前記画像データの符号化に用いられた動き情報が符号化された動き情報符号化データとを受け取る受け取り部と、
      カレントブロックと同階層の周辺ブロックの動き情報がアンアベイラブルな場合、前記カレントブロックと異なる階層の周辺ブロックの動き情報を用いて、前記受け取り部により受け取られた前記動き情報符号化データを復号する動き情報復号部と、
      前記動き情報復号部により前記動き情報符号化データが復号されて得られた動き情報を用いて、前記受け取り部による受け取られた前記階層画像符号化データを復号する復号部と
      を備える画像処理装置。
  2.   前記動き情報復号部は、
        前記カレントブロックと同階層の周辺ブロックの動き情報がアベイラブルな場合、前記周辺ブロックの動き情報を用いて、前記画像データの符号化に用いられた動き情報の符号化に用いた予測動き情報を再構築し、再構築した前記予測動き情報を用いて、前記動き情報符号化データを復号し、
        前記カレントブロックと同階層の周辺ブロックの動き情報がアンアベイラブルな場合、前記カレントブロックと異なる階層の周辺ブロックの動き情報を用いて、前記画像データの符号化に用いられた動き情報の符号化に用いた予測動き情報を再構築し、再構築した前記予測動き情報を用いて、前記動き情報符号化データを復号する
      請求項1に記載の画像処理装置。
  3.   前記動き情報復号部は、AMVP(Advanced Motion Vector Prediction)モードにおける、前記カレントブロックと同階層の周辺ブロックのアンアベイラブルな動き情報の代わりに、前記カレントブロックと異なる階層の、前記周辺ブロックに対応する周辺ブロックのアベイラブルな動き情報を前記予測動き情報の候補とする
      請求項2に記載の画像処理装置。
  4.   前記動き情報復号部は、
        前記カレントブロックと同階層の周辺ブロックの、時間軸方向のスケーリング処理が行われるアンアベイラブルな動き情報の代わりに、前記カレントブロックと異なる階層の、前記周辺ブロックに対応する周辺ブロックの、時間軸方向のスケーリング処理が行われるアベイラブルな動き情報を前記予測動き情報の候補とし、
        前記カレントブロックと同階層の周辺ブロックの、時間軸方向のスケーリング処理が行われないアンアベイラブルな動き情報の代わりに、前記カレントブロックと異なる階層の、前記周辺ブロックに対応する周辺ブロックの、時間軸方向のスケーリング処理が行われないアベイラブルな動き情報を前記予測動き情報の候補とする
      請求項3に記載の画像処理装置。
  5.   前記動き情報復号部は、階層間の解像度比に応じて、前記カレントブロックと異なる階層の周辺ブロックの動き情報を、空間方向にスケーリング処理する
      請求項2に記載の画像処理装置。
  6.   前記動き情報復号部は、マージ(Merge)モードにおける、前記予測動き情報の候補リストの欠番を、前記カレントブロックと異なる階層の、前記周辺ブロックに対応する周辺ブロックのアベイラブルな動き情報により補填する
      請求項2に記載の画像処理装置。
  7.   前記受け取り部は、さらに、前記候補リストに、前記カレントブロックと同階層のブロックの動き情報を用いるか、並びに、前記カレントブロックと異なる階層のブロックの動き情報を用いるかを指定する制御情報を受け取る
      請求項6に記載の画像処理装置。
  8.   前記動き情報復号部は、前記受け取り部により受け取られた前記制御情報に基づいて、
        前記候補リストに、前記カレントブロックと同階層のブロックの動き情報を用いる場合、前記候補リストの欠番の補填に、前記カレントブロックと異なる階層のブロックの動き情報を用い、
        前記候補リストに、前記カレントブロックと異なる階層のブロックの動き情報を用いる場合、前記候補リストの欠番の補填に、前記カレントブロックと同階層のブロックの動き情報を用いる
      請求項7に記載の画像処理装置。
  9.   前記動き情報復号部は、前記カレントブロックと異なる階層においてコロケーテッドブロックとされた周辺ブロックと異なるブロックの動き情報により、前記候補リストの欠番を補填する
      請求項6に記載の画像処理装置。
  10.   複数階層化された画像データが符号化された階層画像符号化データと、前記画像データの符号化に用いられた動き情報が符号化された動き情報符号化データとを受け取り、
      カレントブロックと同階層の周辺ブロックの動き情報がアンアベイラブルな場合、前記カレントブロックと異なる階層の周辺ブロックの動き情報を用いて、受け取られた前記動き情報符号化データを復号し、
      前記動き情報符号化データが復号されて得られた動き情報を用いて、受け取られた前記階層画像符号化データを復号する
      画像処理方法。
  11.   複数階層化された画像データを、動き情報を用いて符号化する符号化部と、
      カレントブロックと同階層の周辺ブロックの動き情報がアンアベイラブルな場合、前記カレントブロックと異なる階層の周辺ブロックの動き情報を用いて、前記符号化部による前記画像データの符号化に用いられた前記動き情報を符号化する動き情報符号化部と、
      前記符号化部により前記画像データが符号化されて得られた階層画像符号化データと、前記動き情報符号化部により前記動き情報が符号化されて得られた動き情報符号化データとを伝送する伝送部と
      を備える画像処理装置。
  12.   前記動き情報符号化部は、
        前記カレントブロックと同階層の周辺ブロックの動き情報がアベイラブルな場合、前記周辺ブロックの動き情報を用いて予測動き情報を生成し、生成した前記予測動き情報を用いて前記動き情報を符号化し、
        前記カレントブロックと同階層の周辺ブロックの動き情報がアンアベイラブルな場合、前記カレントブロックと異なる階層の周辺ブロックの動き情報を用いて予測動き情報を生成し、生成した前記予測動き情報を用いて前記動き情報を符号化する
      請求項11に記載の画像処理装置。
  13.   前記動き情報符号化部は、AMVP(Advanced Motion Vector Prediction)モードにおける、前記カレントブロックと同階層の周辺ブロックのアンアベイラブルな動き情報の代わりに、前記カレントブロックと異なる階層の、前記周辺ブロックに対応する周辺ブロックのアベイラブルな動き情報を前記予測動き情報の候補とする
      請求項12に記載の画像処理装置。
  14.   前記動き情報符号化部は、
        前記カレントブロックと同階層の周辺ブロックの、時間軸方向のスケーリング処理が行われるアンアベイラブルな動き情報の代わりに、前記カレントブロックと異なる階層の、前記周辺ブロックに対応する周辺ブロックの、時間軸方向のスケーリング処理が行われるアベイラブルな動き情報を前記予測動き情報の候補とし、
        前記カレントブロックと同階層の周辺ブロックの、時間軸方向のスケーリング処理が行われないアンアベイラブルな動き情報の代わりに、前記カレントブロックと異なる階層の、前記周辺ブロックに対応する周辺ブロックの、時間軸方向のスケーリング処理が行われないアベイラブルな動き情報を前記予測動き情報の候補とする
      請求項13に記載の画像処理装置。
  15.   前記動き情報符号化部は、階層間の解像度比に応じて、前記カレントブロックと異なる階層の周辺ブロックの動き情報を、空間方向にスケーリング処理する
      請求項12に記載の画像処理装置。
  16.   前記動き情報符号化部は、マージ(Merge)モードにおける、前記予測動き情報の候補リストの欠番を、前記カレントブロックと異なる階層の、前記周辺ブロックに対応する周辺ブロックのアベイラブルな動き情報により補填する
      請求項12に記載の画像処理装置。
  17.   前記伝送部は、さらに、前記候補リストに、前記カレントブロックと同階層のブロックの動き情報を用いるか、並びに、前記カレントブロックと異なる階層のブロックの動き情報を用いるかを指定する制御情報を伝送する
      請求項16に記載の画像処理装置。
  18.   前記動き情報符号化部は、
        前記候補リストに、前記カレントブロックと同階層のブロックの動き情報を用いる場合、前記候補リストの欠番の補填に、前記カレントブロックと異なる階層のブロックの動き情報を用い、
        前記候補リストに、前記カレントブロックと異なる階層のブロックの動き情報を用いる場合、前記候補リストの欠番の補填に、前記カレントブロックと同階層のブロックの動き情報を用いる
      請求項17に記載の画像処理装置。
  19.   前記動き情報符号化部は、前記カレントブロックと異なる階層においてコロケーテッドブロックとされた周辺ブロックと異なるブロックの動き情報により、前記候補リストの欠番を補填する
      請求項16に記載の画像処理装置。
  20.   複数階層化された画像データを、動き情報を用いて符号化し、
      カレントブロックと同階層の周辺ブロックの動き情報がアンアベイラブルな場合、前記カレントブロックと異なる階層の周辺ブロックの動き情報を用いて、前記画像データの符号化に用いられた前記動き情報を符号化し、
      前記画像データが符号化されて得られた階層画像符号化データと、前記動き情報が符号化されて得られた動き情報符号化データとを伝送する
      画像処理方法。
PCT/JP2013/083598 2012-12-26 2013-12-16 画像処理装置および方法 WO2014103774A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US14/648,350 US20150304678A1 (en) 2012-12-26 2013-12-16 Image processing device and method
CN201380066967.3A CN104885464A (zh) 2012-12-26 2013-12-16 图像处理装置和方法
JP2014554329A JPWO2014103774A1 (ja) 2012-12-26 2013-12-16 画像処理装置および方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2012283613 2012-12-26
JP2012-283613 2012-12-26

Publications (1)

Publication Number Publication Date
WO2014103774A1 true WO2014103774A1 (ja) 2014-07-03

Family

ID=51020862

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/083598 WO2014103774A1 (ja) 2012-12-26 2013-12-16 画像処理装置および方法

Country Status (4)

Country Link
US (1) US20150304678A1 (ja)
JP (1) JPWO2014103774A1 (ja)
CN (1) CN104885464A (ja)
WO (1) WO2014103774A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017201678A1 (zh) * 2016-05-24 2017-11-30 华为技术有限公司 图像预测方法和相关设备
CN106027538A (zh) * 2016-05-30 2016-10-12 东软集团股份有限公司 加载图片的方法及装置、发送图片资源的方法及装置
JP7323641B2 (ja) * 2019-05-21 2023-08-08 北京字節跳動網絡技術有限公司 アフィンモードのための適応動きベクトル差分分解
WO2021027774A1 (en) 2019-08-10 2021-02-18 Beijing Bytedance Network Technology Co., Ltd. Subpicture dependent signaling in video bitstreams
CN114631317B (zh) 2019-10-18 2024-03-15 北京字节跳动网络技术有限公司 子图片的参数集信令中的语法约束

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012191513A (ja) * 2011-03-11 2012-10-04 Sony Corp 画像処理装置および方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002315004A (ja) * 2001-04-09 2002-10-25 Ntt Docomo Inc 画像符号化方法及び装置、画像復号方法及び装置、並びに画像処理システム
JP2006211304A (ja) * 2005-01-28 2006-08-10 Matsushita Electric Ind Co Ltd 映像符号化装置、映像復号化装置、映像符号化方法、映像復号化方法、映像符号化プログラムおよび映像復号化プログラム
KR20070075267A (ko) * 2006-01-10 2007-07-18 엘지전자 주식회사 영상 신호를 인코딩 및 디코딩 하는 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012191513A (ja) * 2011-03-11 2012-10-04 Sony Corp 画像処理装置および方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
KIRAN MISRA ET AL.: "Description of scalable video coding technology proposal by Sharp (proposal 1", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG 16 WP3 AND ISO/IEC JTC1/SC29/WG11 11TH MEETING, 10 October 2012 (2012-10-10), SHANGHAI, CN, pages 15 , 16 , 18 - 21 *

Also Published As

Publication number Publication date
US20150304678A1 (en) 2015-10-22
JPWO2014103774A1 (ja) 2017-01-12
CN104885464A (zh) 2015-09-02

Similar Documents

Publication Publication Date Title
JP6508554B2 (ja) 画像処理装置および方法、並びに、プログラム
JP6296179B2 (ja) 画像処理装置および方法、記録媒体、並びに、プログラム
JP2018164300A (ja) 画像復号装置および方法
JP6300046B2 (ja) 画像処理装置および方法
WO2013108689A1 (ja) 画像処理装置および方法
WO2014050731A1 (ja) 画像処理装置および方法
US9961366B2 (en) Image processing apparatus and method that prohibits bi-prediction based on block size
JPWO2014050676A1 (ja) 画像処理装置および方法
JPWO2013108688A1 (ja) 画像処理装置および方法
WO2014103774A1 (ja) 画像処理装置および方法
WO2014156708A1 (ja) 画像復号装置および方法
WO2013157308A1 (ja) 画像処理装置及び画像処理方法
WO2014103764A1 (ja) 画像処理装置および方法
WO2013084775A1 (ja) 画像処理装置および方法
WO2014141899A1 (ja) 画像処理装置および方法
WO2015098563A1 (ja) 画像符号化装置および方法、並びに画像復号装置および方法
JPWO2014002900A1 (ja) 画像処理装置および画像処理方法
WO2015064401A1 (ja) 画像処理装置および方法
WO2013002105A1 (ja) 画像処理装置および方法
WO2014141964A1 (ja) 画像処理装置および方法
WO2014156707A1 (ja) 画像符号化装置および方法、並びに、画像復号装置および方法
WO2014156705A1 (ja) 復号装置および復号方法、並びに、符号化装置および符号化方法

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2014554329

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 14648350

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13867043

Country of ref document: EP

Kind code of ref document: A1