WO2013172074A1 - 画像処理装置及び画像処理方法 - Google Patents

画像処理装置及び画像処理方法 Download PDF

Info

Publication number
WO2013172074A1
WO2013172074A1 PCT/JP2013/056302 JP2013056302W WO2013172074A1 WO 2013172074 A1 WO2013172074 A1 WO 2013172074A1 JP 2013056302 W JP2013056302 W JP 2013056302W WO 2013172074 A1 WO2013172074 A1 WO 2013172074A1
Authority
WO
WIPO (PCT)
Prior art keywords
unit
size
prediction
block
setting
Prior art date
Application number
PCT/JP2013/056302
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 CN201380024085.0A priority Critical patent/CN104272734A/zh
Priority to EP13790183.1A priority patent/EP2852158A4/en
Priority to JP2014515520A priority patent/JP5900612B2/ja
Priority to US14/386,862 priority patent/US20150043638A1/en
Publication of WO2013172074A1 publication Critical patent/WO2013172074A1/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/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • 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
    • H04N19/33Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the spatial domain
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Definitions

  • the present disclosure relates to an image processing apparatus and an image processing method.
  • Scalable encoding (also referred to as SVC (Scalable Video Coding) generally refers to a technique for hierarchically encoding a layer that transmits a coarse image signal and a layer that transmits a fine image signal.
  • Typical attributes hierarchized in scalable coding are mainly the following three types. Spatial scalability: Spatial resolution or image size is layered. -Time scalability: Frame rate is layered. -SNR (Signal to Noise Ratio) scalability: SN ratio is hierarchized. In addition, bit depth scalability and chroma format scalability are also discussed, although not yet adopted by the standard.
  • encoding efficiency can be improved by encoding parameters that can be shared between layers only within one layer.
  • the quad-tree structure is formed from the beginning in the enhancement layer while completely ignoring the macroblock structure in the base layer, the mapping of blocks between layers is lost. In this case, it becomes difficult to reuse various parameters set for each block between layers, the advantages of scalable coding are lost, and coding efficiency is reduced.
  • a first setting unit that sets a macroblock in a base layer that is decoded by a first encoding method based on a macroblock having a fixed size, and encoding that is recursively divided into blocks
  • An image processing apparatus comprising: a second setting unit that sets a coding unit according to a block size set by the first setting unit in an enhancement layer decoded by a second coding method based on a unit Is provided.
  • the image processing apparatus can typically be realized as an image decoding apparatus that decodes an image.
  • a macroblock is set in a base layer that is decoded by a first encoding scheme based on a macroblock having a fixed size, and an encoding unit that is recursively divided into blocks.
  • An image processing method includes: setting an encoding unit in an enhancement layer decoded by a second encoding method based on the block size according to a block size set in the base layer.
  • the first setting unit that sets the macroblock in the base layer encoded by the first encoding method based on the macroblock having a fixed size, and the block division recursively.
  • a second setting unit that sets a coding unit according to a block size set by the first setting unit in an enhancement layer encoded by the second coding method based on the coding unit.
  • the image processing apparatus can typically be realized as an image encoding apparatus that encodes an image.
  • a macroblock is set in a base layer that is encoded by a first encoding scheme based on a macroblock having a fixed size, and recursive block division encoding is performed.
  • an image processing method including: setting an encoding unit in an enhancement layer encoded by a second encoding method based on a unit according to a block size set in the base layer.
  • FIG. 20 is a block diagram illustrating an example of a detailed configuration of a block setting unit illustrated in FIG. 19.
  • FIG. 20 is a block diagram illustrating an example of a detailed configuration of an inverse orthogonal transform unit illustrated in FIG. 19.
  • FIG. 20 is a block diagram which shows an example of a detailed structure of the intra estimation part shown in FIG.
  • FIG. 20 is a block diagram illustrating an example of a detailed configuration of an inter prediction unit illustrated in FIG. 19.
  • the base layer is a layer that expresses the coarsest image that is encoded first.
  • the base layer coded stream may be decoded independently without decoding the other layer coded streams.
  • a layer other than the base layer is a layer called an enhancement layer (enhancement layer) that represents a finer image.
  • the enhancement layer encoded stream is encoded using information included in the base layer encoded stream. Accordingly, in order to reproduce the enhancement layer image, both the base layer and enhancement layer encoded streams are decoded.
  • the number of layers handled in scalable coding may be any number of two or more.
  • the lowest layer is the base layer
  • the remaining layers are enhancement layers.
  • the higher enhancement layer encoded stream may be encoded and decoded using information contained in the lower enhancement layer or base layer encoded stream.
  • a layer on which the dependency is made is referred to as a lower layer
  • a layer on which the dependency is concerned is referred to as an upper layer.
  • FIG. 1 shows three layers L1, L2 and L3 to be scalable encoded.
  • Layer L1 is a base layer
  • layers L2 and L3 are enhancement layers.
  • spatial scalability is taken as an example among various types of scalability.
  • the ratio of the spatial resolution of layer L3 to layer L1 is 4: 1.
  • the base layer L1 is encoded by a macroblock-based image encoding method such as MPEG2 or AVC.
  • the block B1 of the base layer L1 is one macro block.
  • the size of the macroblock is fixedly defined, and the macroblock B1 has a size of 16 ⁇ 16 pixels.
  • the enhancement layer L2 is also encoded by the macroblock-based image encoding method, the scalability ratio of the layer L2 to the layer L1 is 2.0, so the image in the enhancement layer L2 corresponding to the block B1
  • the region can be divided into four macroblocks B21, B22, B23 and B24.
  • FIG. 2 is an explanatory diagram for explaining a quad-tree structure of a coding unit in HEVC.
  • an image IM01 in which a person's face is shown is shown.
  • the image IM01 is first divided into a plurality of LCUs (maximum coding units: Large Coding Units) having a size specified in the sequence parameter set (SPS).
  • SPS sequence parameter set
  • each LCU is recursively divided into one or more CUs (Coding Units) within a range that is not less than the SCU (Smallest Coding Unit) specified in the SPS. .
  • the right side of FIG. 2 shows an enlarged view of LCU0 crossing a texture boundary being recursively divided into a plurality of CUs. In the region near the texture boundary, a smaller CU is set by repeating the division, and in other regions, a larger CU is set by reducing the number of divisions. For example, if the size of LCU0 is 64 ⁇ 64 pixels, the size of CU01 is 32 ⁇ 32 pixels, the size of CU02 is 16 ⁇ 16 pixels, and the size of CU03 is 8 ⁇ 8 pixels.
  • each CU is divided into a plurality of TUs (transform units) that are orthogonal transform processing units. Further, each CU is divided into a plurality of PUs (prediction units) which are processing units for intra prediction or inter prediction. According to such recursive block division, it is possible to increase the encoding efficiency of a high-definition image by flexibly changing the size of the processing unit of the encoding process according to the content of the image.
  • the base layer L1 is encoded with AVC and the enhancement layer L2 is encoded with HEVC, according to the simplest technique, it is composed of blocks B21, B22, B23 and B24.
  • one CU of 32 ⁇ 32 pixels corresponding to the block B1 can be set in the enhancement layer L2.
  • the quad-tree structure is formed from the beginning in the enhancement layer L2 while completely ignoring the macroblock structure in the base layer L1, the mapping of blocks between layers is lost. In this case, it becomes difficult to reuse various parameters set for each block between layers, and the coding efficiency is not optimized.
  • mapping of blocks between layers in the multi-codec scalable coding is defined so that these problems are solved or at least partially improved.
  • An example of the configuration of an apparatus that encodes or decodes an image according to the mapping will be described.
  • the base layer is encoded with AVC (Advanced Video Coding) and the enhancement layer is encoded with HEVC (High Efficiency Video Coding).
  • AVC Advanced Video Coding
  • HEVC High Efficiency Video Coding
  • the technology according to the present disclosure is not limited to such an example, and other image encoding scheme combinations (for example, the base layer is encoded with MPEG2 and the enhancement layer is encoded with HEVC). Applicable. Further, the technology according to the present disclosure can be applied not only to the spatial scalability illustrated in FIG. 1 but also to SNR scalability, bit depth scalability, and chroma format scalability.
  • mapping for coding units As a basic concept of mapping related to CU, in the technology according to the present disclosure, a CU is set in an enhancement layer encoded by HEVC in accordance with a block size of a macroblock set in the base layer. That is, in the enhancement layer, the Quad-Tree structure is not formed from scratch, but the Quad-Tree structure is formed using the macroblock size in the base layer.
  • the LCU size in the enhancement layer is set equal to or larger than the product of the macroblock size and the scalability ratio in the base layer.
  • the actually set LCU size may be determined deterministically as a size closest to the product among available sizes, or may be selected from a plurality of sizes narrowed down based on the product. Good. Each LCU set in this way may be flexibly divided into smaller CUs regardless of the macroblock size in the base layer.
  • FIG. 3A is an explanatory diagram for describing a first method for setting the HEVC LCU size.
  • the LCU size is determined by decisive action.
  • the left side of FIG. 3A shows a macroblock having a block size of 16 ⁇ 16 pixels in AVC.
  • the right side of FIG. 3A shows four LCUs each having four types of block sizes (64 ⁇ 64 pixels, 32 ⁇ 32 pixels, 16 ⁇ 16 pixels, and 8 ⁇ 8 pixels) that can be used in HEVC.
  • the scalability ratio SR 2.0
  • the LCU size in the enhancement layer may be set to 32 ⁇ 32 pixels.
  • the LCU size when 3.0 ⁇ SR, the LCU size is 64 ⁇ 64 pixels, and when 1.5 ⁇ SR ⁇ 3.0, the LCU size is 32 ⁇ 32 pixels, and 1.0 ⁇ When SR ⁇ 1.5, the LCU size may be set to 16 ⁇ 16 pixels. According to such a first method, the LCU size can be determined in the enhancement layer without additionally encoding a parameter indicating the LCU size.
  • FIG. 3B is an explanatory diagram for describing a second method for setting the HEVC LCU size.
  • an LCU size of 64 ⁇ 64 pixels is selected, and if not, an LCU size of 32 ⁇ 32 pixels is selected. May be.
  • a parameter indicating the LCU size is additionally generated in the enhancement layer, and the generated parameter is encoded.
  • the candidates for the LCU size to be selected are narrowed down, the number of bits of the parameter to be additionally encoded can be smaller than in the case where all types of LCU sizes can be selected. In the example of FIG.
  • the number of bits of the additionally encoded parameter is 1, for example, the parameter value “0” may indicate 64 ⁇ 64 pixels, and the parameter value “1” may indicate 32 ⁇ 32 pixels (that is, The reverse may also be true). According to such a second method, it is possible to reduce the code amount of the parameter indicating the LCU size while leaving the flexibility of selection of the LCU size in the enhancement layer.
  • the method for narrowing down the candidates for the LCU size is not limited to the method illustrated in FIG. 3B.
  • the scalability ratio is not equal to a power of 2
  • an LCU size that matches the product of the macroblock size and the scalability ratio is not available in HEVC.
  • LCU size candidates may be narrowed down to the smallest of the available LCU sizes larger than the product and the largest of the available LCU sizes smaller than the product.
  • the scalability ratio SR 1.5
  • a 1-bit parameter indicating which LCU size has been selected is generated, and the generated parameter is encoded.
  • the decoder decodes such parameters and selects the LCU size with reference to the decoded parameters. Similar ideas may be applied to narrowing down the SCU size, TU size, and PU size described below.
  • the SCU size in the enhancement layer can be set to a value equal to or smaller than the LCU size so that a desired block division is possible.
  • the SCU size may be determined without depending on the block size of the base layer. Instead, the SCU size may be determined according to the product of the sub macroblock size and the scalability ratio when the sub macroblock size is defined in the base layer.
  • FIG. 4A is an explanatory diagram for describing a first technique for setting the SVC size of HEVC.
  • the SCU size is determined by decisive action.
  • the left side of FIG. 4A shows a sub macroblock having a block size of 8 ⁇ 8 pixels in AVC.
  • the right side of FIG. 4A shows four SCUs each having four types of block sizes (64 ⁇ 64 pixels, 32 ⁇ 32 pixels, 16 ⁇ 16 pixels, and 8 ⁇ 8 pixels).
  • the SCU size in the enhancement layer may be set to 16 ⁇ 16 pixels.
  • the SCU size when 3.0 ⁇ SR, the SCU size is 32 ⁇ 32 pixels, and when 1.5 ⁇ SR ⁇ 3.0, the SCU size is 32 ⁇ 32 pixels, and 1.0 ⁇ When SR ⁇ 1.5, the SCU size may be set to 16 ⁇ 16 pixels. According to such a first method, the SCU size can be determined in the enhancement layer without additionally encoding a parameter indicating the SCU size.
  • FIG. 4B is an explanatory diagram for describing a second method for setting the SVC size of HEVC.
  • the SCU size is selected from a plurality of sizes equal to or smaller than the LCU size.
  • the LCU size is set to 32 ⁇ 32 pixels.
  • SCU size candidates may include 32 ⁇ 32 pixels, 16 ⁇ 16 pixels, and 8 ⁇ 8 pixels.
  • a smaller SCU size may be selected if it is desirable to allow finer block partitioning.
  • a parameter indicating the SCU size (SCU size information) is additionally generated in the enhancement layer, and the generated parameter is encoded.
  • the parameter value “0” can indicate 32 ⁇ 32 pixels
  • the parameter value “1” can indicate 16 ⁇ 16 pixels
  • the parameter value “2” can indicate 8 ⁇ 8 pixels.
  • mapping for conversion unit The basic idea of mapping for TUs is similar to mapping for CUs.
  • the size of the TU set in the enhancement layer is determined according to the size of the transform block set in the base layer, that is, the DCT (Discrete Cosine Transform) size.
  • the DCT size of a transform block that is a unit of orthogonal transform is selected from 8 ⁇ 8 pixels and 4 ⁇ 4 pixels.
  • the size (that is, TU size) of a transform block that is a unit of orthogonal transform is selected from 32 ⁇ 32 pixels, 16 ⁇ 16 pixels, 8 ⁇ 8 pixels, and 4 ⁇ 4 pixels.
  • the TU size actually set in the enhancement layer may be determined as a size closest to the product of the DCT size set in the base layer and the scalability ratio among the available sizes. Instead, the TU size that is actually set may be selected from a plurality of sizes that are narrowed down based on the product.
  • FIG. 5A is an explanatory diagram for describing a first method for setting a HEVC TU.
  • the TU size is determined by decisive action.
  • a dotted line frame indicates that a DCT size of 8 ⁇ 8 pixels is set in AVC.
  • the right side of FIG. 5A shows four TUs each having four types of TU sizes (32 ⁇ 32 pixels, 16 ⁇ 16 pixels, 8 ⁇ 8 pixels, and 4 ⁇ 4 pixels) that can be used in HEVC.
  • the scalability ratio SR 2.0
  • the TU size in the enhancement layer may be set to 16 ⁇ 16 pixels.
  • the TU size when 3.0 ⁇ SR, the TU size is 32 ⁇ 32 pixels, and when 1.5 ⁇ SR ⁇ 3.0, the TU size is 16 ⁇ 16 pixels, and 1.0 ⁇ When SR ⁇ 1.5, the TU size may be set to 8 ⁇ 8 pixels. According to such a first method, the TU size can be determined in the enhancement layer without additionally encoding a parameter indicating the TU size.
  • FIG. 5B is an explanatory diagram for describing a second method for setting a HEVC TU.
  • the TU size is selected from one or more size candidates that are narrowed down based on the product of the DCT size and the scalability ratio.
  • the coding efficiency is improved.
  • the TU size candidates in the enhancement layer are narrowed down to two types of 32 ⁇ 32 pixels and 16 ⁇ 16 pixels. Then, a parameter (TU size information) indicating the actually set TU size is additionally generated, and the generated parameter is encoded.
  • a parameter indicating the actually set TU size is additionally generated, and the generated parameter is encoded.
  • the TU size candidates in the enhancement layer are narrowed down to two types of 8 ⁇ 8 pixels and 4 ⁇ 4 pixels. Then, a parameter (TU size information) indicating the actually set TU size is additionally generated, and the generated parameter is encoded.
  • TU size candidates are narrowed down, the number of bits of the parameter to be additionally encoded can be smaller than in the case where all types of TU sizes can be selected. According to such a second method, in the enhancement layer, it is possible to reduce the code amount of the parameter indicating the TU size while leaving the flexibility of selecting the TU size.
  • mapping for prediction units The basic idea of mapping for PU is similar to mapping for TU.
  • the size of the PU set in the enhancement layer is determined according to the size of the prediction block set in the base layer.
  • the size of a prediction block (that is, the prediction block size) serving as a prediction processing unit is selected from 16 ⁇ 16 pixels, 8 ⁇ 8 pixels, and 4 ⁇ 4 pixels for intra prediction.
  • the size (ie, PU size) of a prediction block serving as a prediction processing unit is 64 ⁇ 64 pixels, 32 ⁇ 32 pixels, 16 ⁇ 16 pixels, 8 ⁇ 8 pixels, and 4 ⁇ 4 pixels for intra prediction. Selected.
  • non-square prediction block sizes are also available.
  • the PU size actually set in the enhancement layer may be determined as a size closest to the product of the predicted block size set in the base layer and the scalability ratio among the available sizes. Instead, the PU size that is actually set may be selected from a plurality of sizes that are narrowed down based on the product.
  • FIG. 6A is an explanatory diagram for describing a first method for setting a PU of HEVC.
  • intra prediction is an object of description.
  • the PU size is determined by decisive action.
  • a dotted line frame indicates that a predicted block size of 4 ⁇ 4 pixels is set in AVC.
  • the right side of FIG. 6A shows four PUs each having four types of PU sizes (32 ⁇ 32 pixels, 16 ⁇ 16 pixels, 8 ⁇ 8 pixels, and 4 ⁇ 4 pixels).
  • the scalability ratio SR 2.0
  • the PU size in the enhancement layer may be set to 8 ⁇ 8 pixels.
  • the PU size when 6.0 ⁇ SR, the PU size is 32 ⁇ 32 pixels, and when 3.0 ⁇ SR ⁇ 6.0, the PU size is 16 ⁇ 16 pixels, and 1.5 ⁇ SR.
  • the PU size When SR ⁇ 3.0, the PU size may be set to 8 ⁇ 8 pixels, and when 1.0 ⁇ SR ⁇ 1.5, the PU size may be set to 4 ⁇ 4 pixels.
  • the PU size can be determined in the enhancement layer without additionally encoding a parameter indicating the PU size.
  • FIG. 6B is an explanatory diagram for explaining a second method for setting the PU of HEVC.
  • intra prediction is an object of description.
  • the PU size is selected from one or more size candidates that are narrowed down based on the product of the predicted block size and the scalability ratio.
  • a prediction block size larger than 4 ⁇ 4 pixels has not been selected in the base layer, encoding is performed even if a prediction block size larger than 8 ⁇ 8 pixels is excluded from the candidates in the enhancement layer. It can be said that there is no negative effect on efficiency. Therefore, in this case, PU size candidates in the enhancement layer are narrowed down to two types of 8 ⁇ 8 pixels and 4 ⁇ 4 pixels. Then, a parameter (PU size information) indicating the actually set PU size is additionally generated, and the generated parameter is encoded.
  • the PU size candidates in the enhancement layer are only 16 ⁇ 16 pixels. Become. In this case, a 16 ⁇ 16 pixel PU size may inevitably be set in the enhancement layer, and a parameter indicating the PU size is not generated. In any case, since the PU size candidates are narrowed down, the number of bits of the parameter to be additionally encoded can be smaller than in the case where all types of PU sizes can be selected. According to such a second method, in the enhancement layer, it is possible to reduce the code amount of the parameter indicating the PU size while leaving the flexibility of selecting the PU size.
  • FIG. 7A shows prediction block size candidates that can be used in AVC inter prediction.
  • inter prediction when a prediction block having a size of 8 ⁇ 8 pixels or less is used in AVC, that is, when division into sub-macro blocks is used, a sub-macro block indicating the shape and size of the sub-macro block is used.
  • a parameter called type is encoded. Therefore, in the enhancement layer, PU size candidates may be narrowed down depending on whether division into sub macroblocks is used, that is, whether a sub macroblock type is encoded.
  • FIG. 7B is an explanatory diagram for describing a third method for setting the PU size for HEVC inter prediction.
  • PU size information indicating the actually set PU size
  • PU size candidates in the enhancement layer can be narrowed down to a size of 8 ⁇ 8 pixels or less. . Then, a parameter (PU size information) indicating the actually set PU size is additionally generated, and the generated parameter is encoded.
  • the PU size candidates are narrowed down, the number of bits of the parameter to be additionally encoded can be smaller than in the case where all types of PU sizes can be selected.
  • the code amount of the parameter indicating the PU size can be reduced while leaving the flexibility of selecting the PU size.
  • FIG. 8 is a block diagram illustrating a schematic configuration of an image encoding device 10 according to an embodiment that supports scalable encoding.
  • the image encoding device 10 includes a first encoding unit 1a, a second encoding unit 1b, a common memory 2, and a multiplexing unit 3.
  • the first encoding unit 1a encodes the base layer image and generates an encoded stream of the base layer.
  • the second encoding unit 1b encodes the enhancement layer image and generates an enhancement layer encoded stream.
  • the common memory 2 stores information commonly used between layers.
  • the multiplexing unit 3 multiplexes the encoded stream of the base layer generated by the first encoding unit 1a and the encoded stream of one or more enhancement layers generated by the second encoding unit 1b. A multiplexed stream of layers is generated.
  • FIG. 9 is a block diagram illustrating a schematic configuration of an image decoding device 60 according to an embodiment that supports scalable coding.
  • the image decoding device 60 includes a demultiplexing unit 5, a first decoding unit 6 a, a second decoding unit 6 b, and a common memory 7.
  • the demultiplexing unit 5 demultiplexes the multi-layer multiplexed stream into a base layer encoded stream and one or more enhancement layer encoded streams.
  • the first decoding unit 6a decodes the base layer image from the base layer encoded stream.
  • the second decoding unit 6b decodes the enhancement layer image from the enhancement layer encoded stream.
  • the common memory 7 stores information commonly used between layers.
  • the configuration of the first encoding unit 1a for encoding the base layer and the configuration of the second encoding unit 1b for encoding the enhancement layer are: Although there are differences in encoding schemes, they are similar to each other. Some parameters generated or acquired by the first encoding unit 1a are buffered using the common memory 2 and reused by the second encoding unit 1b. In the next section, the configuration of the first encoding unit 1a and the second encoding unit 1b will be described in detail.
  • the configuration of the first decoding unit 6 a for decoding the base layer and the configuration of the second decoding unit 6 b for decoding the enhancement layer are image coding. Although there are differences in methods, they are similar to each other. Some parameters generated or acquired by the first decoding unit 6a are buffered using the common memory 7 and reused by the second decoding unit 6b. Further, in the next section, the configuration of the first decoding unit 6a and the second decoding unit 6b will be described in detail.
  • FIG. 10 is a block diagram illustrating an example of the configuration of the first encoding unit 1a and the second encoding unit 1b illustrated in FIG.
  • the first encoding unit 1a includes a rearrangement buffer 11, a block setting unit 12a, a subtraction unit 13, an orthogonal transformation unit 14a, a quantization unit 15, a lossless encoding unit 16a, an accumulation buffer 17, and a rate control.
  • the second encoding unit 1b includes a block setting unit 12b, an orthogonal transform instead of the block setting unit 12a, the orthogonal transform unit 14a, the lossless encoding unit 16a, the inverse orthogonal transform unit 22a, the intra prediction unit 30a, and the inter prediction unit 40a.
  • the rearrangement buffer 11 rearranges images included in a series of image data.
  • the rearrangement buffer 11 rearranges the images according to a GOP (Group of Pictures) structure related to the encoding process, and then outputs the rearranged image data to the block setting unit 12a or 12b.
  • GOP Group of Pictures
  • the block setting unit 12a sets one or more macroblocks in the base layer image data input from the rearrangement buffer 11.
  • the macroblock size is fixedly defined in AVC, and the macroblock size is stored in advance in the common memory 2. Then, the block setting unit 12a outputs the image data to the subtraction unit 13, the intra prediction unit 30a, and the inter prediction unit 40a for each set macroblock.
  • the block setting unit 12b sets the LCU size and the SCU size for the enhancement layer image data input from the rearrangement buffer 11.
  • the setting of the LCU size and the SCU size may be changed for each sequence.
  • the block setting unit 12b can determine the LCU size using the macroblock size and the scalability ratio stored in the common memory 2.
  • the SCU size may be further determined by referring to a sub macroblock size that can be stored by the common memory 2. Then, the block setting unit 12b outputs the image data to the subtraction unit 13, the intra prediction unit 30b, and the inter prediction unit 40b for each set LCU.
  • the subtraction unit 13 is supplied with image data input from the block setting unit 12a or 12b and predicted image data input from the intra prediction unit 30a or 30b or the inter prediction unit 40a or 40b described later.
  • the subtraction unit 13 calculates prediction error data that is a difference between the image data input from the rearrangement buffer 11 and the prediction image data, and outputs the calculated prediction error data to the orthogonal transformation unit 14a or 14b.
  • the orthogonal transform unit 14a sets a transform block in the macro block for the base layer prediction error data input from the subtraction unit 13, and performs orthogonal transform for each set transform block.
  • the orthogonal transform executed by the orthogonal transform unit 14a may be, for example, a discrete cosine transform (DCT).
  • the size of the transform block set by the orthogonal transform unit 14a is 8 ⁇ 8 pixels or 4 ⁇ 4 pixels.
  • the orthogonal transform unit 14 a outputs transform coefficient data acquired by orthogonal transform processing for each transform block to the quantization unit 15. Further, the orthogonal transform unit 14 a causes the common memory 2 to buffer DCT size information indicating the size of each set transform block.
  • the orthogonal transform unit 14b sets the TU in the LCU for the enhancement layer prediction error data input from the subtraction unit 13, and performs orthogonal transform for each set TU.
  • the orthogonal transform performed by the orthogonal transform unit 14b may also be a discrete cosine transform (DCT).
  • the size of the TU set by the orthogonal transform unit 14b is 32 ⁇ 32 pixels, 16 ⁇ 16 pixels, 8 ⁇ 8 pixels, or 4 ⁇ 4 pixels.
  • the orthogonal transform unit 14 b can determine the TU size to be set in the enhancement layer using the DCT size information and the scalability ratio of the base layer stored in the common memory 2.
  • the orthogonal transform unit 14 b outputs transform coefficient data acquired by the orthogonal transform process for each TU to the quantization unit 15.
  • the quantization unit 15 is supplied with transform coefficient data input from the orthogonal transform unit 14a or 14b and a rate control signal from the rate control unit 18 described later.
  • the quantization unit 15 quantizes the transform coefficient data and outputs the quantized transform coefficient data (hereinafter referred to as quantized data) to the lossless encoding unit 16a or 16b and the inverse quantization unit 21.
  • the quantization unit 15 changes the bit rate of the quantized data by switching the quantization parameter (quantization scale) based on the rate control signal from the rate control unit 18.
  • the lossless encoding unit 16a generates a base layer encoded stream by performing lossless encoding processing on the base layer quantized data input from the quantization unit 15. Further, the lossless encoding unit 16a encodes information on various block sizes set in the base layer, and multiplexes the encoding parameters in the header area of the encoded stream.
  • the information encoded here may include, for example, DCT size information, information related to intra prediction, and information related to inter prediction. Then, the lossless encoding unit 16 a outputs the generated encoded stream to the accumulation buffer 17.
  • the lossless encoding unit 16b generates an enhancement layer encoded stream by performing lossless encoding processing on the enhancement layer quantized data input from the quantization unit 15. Further, the lossless encoding unit 16b encodes information regarding various block sizes set in the enhancement layer, and multiplexes the encoding parameter in the header region of the encoded stream.
  • the information encoded here may include, for example, scalability ratio, block size information, a split flag (split_flag) indicating block division in each LCU, information on intra prediction, and information on inter prediction. Then, the lossless encoding unit 16 b outputs the generated encoded stream to the accumulation buffer 17.
  • the accumulation buffer 17 temporarily accumulates the base layer encoded stream input from the lossless encoding unit 16a and the enhancement layer encoded stream input from the lossless encoding unit 16b using a storage medium such as a semiconductor memory. To do. Then, the accumulation buffer 17 outputs the accumulated encoded stream to a transmission unit (not shown) (for example, a communication interface or a connection interface with a peripheral device) at a rate corresponding to the bandwidth of the transmission path.
  • a transmission unit for example, a communication interface or a connection interface with a peripheral device
  • the rate control unit 18 monitors the free capacity of the accumulation buffer 17. Then, the rate control unit 18 generates a rate control signal according to the free capacity of the accumulation buffer 17 and outputs the generated rate control signal to the quantization unit 15. For example, the rate control unit 18 generates a rate control signal for reducing the bit rate of the quantized data when the free capacity of the storage buffer 17 is small. For example, when the free capacity of the accumulation buffer 17 is sufficiently large, the rate control unit 18 generates a rate control signal for increasing the bit rate of the quantized data.
  • the inverse quantization unit 21 performs an inverse quantization process on the quantized data input from the quantization unit 15. Then, the inverse quantization unit 21 outputs transform coefficient data acquired by the inverse quantization process to the inverse orthogonal transform unit 22a or 22b.
  • the inverse orthogonal transform unit 22a restores prediction error data by performing an inverse orthogonal transform process on the transform coefficient data of the base layer input from the inverse quantization unit 21 for each transform block set by the orthogonal transform unit 14a. To do. Then, the inverse orthogonal transform unit 22 a outputs the restored prediction error data to the addition unit 23.
  • the inverse orthogonal transform unit 22b restores the prediction error data by performing an inverse orthogonal transform process on the enhancement layer transform coefficient data input from the inverse quantization unit 21 for each TU set by the orthogonal transform unit 14b. . Then, the inverse orthogonal transform unit 22 b outputs the restored prediction error data to the addition unit 23.
  • the adding unit 23 adds the restored prediction error data input from the inverse orthogonal transform unit 22a or 22b and the predicted image data input from the intra prediction unit 30a or 30b or the inter prediction unit 40a or 40b, Decoded image data (so-called reconstructed image) is generated. Then, the addition unit 23 outputs the generated decoded image data to the deblock filter 24 and the frame memory 25.
  • the deblocking filter 24 performs a filtering process for reducing block distortion that occurs during image coding.
  • the deblocking filter 24 removes block distortion by filtering the decoded image data input from the adding unit 23, and outputs the decoded image data after filtering to the frame memory 25.
  • the frame memory 25 stores the decoded image data input from the adder 23 and the decoded image data after filtering input from the deblock filter 24 using a storage medium.
  • the selector 26 reads out the decoded image data before filtering used for intra prediction from the frame memory 25, and supplies the read decoded image data to the intra prediction unit 30a or 30b as reference image data. Further, the selector 26 reads out the decoded image data after filtering used for inter prediction from the frame memory 25, and supplies the read out decoded image data to the inter prediction unit 40a or 40b as reference image data.
  • the selector 27 In the intra prediction mode, the selector 27 outputs the prediction image data as a result of the intra prediction output from the intra prediction unit 30a or 30b to the subtraction unit 13 and information related to the intra prediction to the lossless encoding unit 16a or 16b. Output. Further, in the inter prediction mode, the selector 27 outputs the prediction image data as a result of the inter prediction output from the inter prediction unit 40a or 40b to the subtraction unit 13 and also transmits information regarding the inter prediction to the lossless encoding unit 16a or To 16b. The selector 27 switches between the intra prediction mode and the inter prediction mode according to the size of the cost function value.
  • the intra prediction unit 30a performs an intra prediction process for each AVC prediction block based on the original image data and decoded image data of the base layer. For example, the intra prediction unit 30a sets a prediction block in a macroblock, and executes intra prediction for each set prediction block.
  • the size of the prediction block set by the intra prediction unit 30a is 16 ⁇ 16 pixels, 8 ⁇ 8 pixels, or 4 ⁇ 4 pixels.
  • the intra prediction unit 30a evaluates the prediction result in each prediction mode using a predetermined cost function.
  • the intra prediction unit 30a selects the prediction mode with the smallest cost function value, that is, the prediction mode with the highest compression rate, as the optimum prediction mode.
  • the intra prediction unit 30a generates base layer predicted image data in accordance with the optimal prediction mode.
  • the intra prediction unit 30 a outputs information related to intra prediction including prediction mode information representing the selected optimal prediction mode, cost function values, and predicted image data to the selector 27. Further, the intra prediction unit 30 a buffers the prediction block size information by the common memory 2.
  • the intra prediction unit 30b performs an intra prediction process for each PU of HEVC based on the original image data and decoded image data of the enhancement layer. For example, the intra prediction unit 30b sets PUs in the LCU and executes intra prediction for each set PU.
  • the size of the PU set by the intra prediction unit 30b is 64 ⁇ 64 pixels, 32 ⁇ 32 pixels, 16 ⁇ 16 pixels, 8 ⁇ 8 pixels, or 4 ⁇ 4 pixels.
  • the intra prediction unit 30b may determine the PU size to be set in the enhancement layer using the base layer prediction block size information and the scalability ratio stored in the common memory 2. Next, the intra prediction unit 30b evaluates the prediction result in each prediction mode using a predetermined cost function.
  • the intra prediction unit 30b selects a prediction mode with the smallest cost function value, that is, a prediction mode with the highest compression rate, as the optimum prediction mode. Moreover, the intra estimation part 30b produces
  • the inter prediction unit 40a performs inter prediction processing (motion search processing) for each AVC prediction block based on the original image data and decoded image data of the base layer. For example, the inter prediction unit 40a sets a prediction block in a macroblock, and performs inter prediction for each set prediction block. The size of the prediction block set by the inter prediction unit 40a is one of the seven sizes shown in FIG. 7A. Next, the inter prediction unit 40a evaluates the prediction result in each prediction mode using a predetermined cost function. Next, the inter prediction unit 40a selects a prediction mode with the smallest cost function value, that is, a prediction mode with the highest compression rate, as the optimum prediction mode. In addition, the inter prediction unit 40a generates base layer predicted image data according to the optimal prediction mode.
  • inter prediction processing motion search processing
  • the inter prediction unit 40 a outputs information related to inter prediction including motion information corresponding to the selected optimal prediction mode, cost function values, and predicted image data to the selector 27.
  • the inter prediction unit 40 a causes the common memory 2 to buffer the predicted block size information.
  • the predicted block size information may include a sub macroblock type.
  • the inter prediction unit 40b performs inter prediction processing (motion search processing) for each PU of HEVC based on the original image data and decoded image data of the enhancement layer. For example, the inter prediction unit 40b sets PUs in the LCU and performs inter prediction for each set PU. The inter prediction unit 40b may determine the PU size to be set in the enhancement layer using the base layer prediction block size information and the scalability ratio stored in the common memory 2. Next, the inter prediction unit 40b evaluates the prediction result in each prediction mode using a predetermined cost function. Next, the inter prediction unit 40b selects a prediction mode in which the cost function value is minimum, that is, a prediction mode in which the compression rate is the highest, as the optimal prediction mode.
  • inter prediction processing motion search processing
  • the inter prediction unit 40b generates enhancement layer predicted image data according to the optimal prediction mode. Then, the inter prediction unit 40 b outputs information on inter prediction including motion information corresponding to the selected optimal prediction mode, a cost function value, and predicted image data to the selector 27.
  • the first encoding unit 1a executes the series of encoding processes described here for a series of image data of the base layer.
  • the second encoding unit 1b performs the series of encoding processes described here on a series of image data of the enhancement layer.
  • the enhancement layer encoding process may be repeated by the number of enhancement layers.
  • FIG. 11 is a block diagram illustrating an example of a detailed configuration of the block setting units 12a and 12b illustrated in FIG.
  • the block setting unit 12a includes a setting control unit 111a and a macroblock setting unit 112a.
  • the block setting unit 12b includes a setting control unit 111b and a CU setting unit 112b.
  • the setting control unit 111a of the block setting unit 12a acquires a fixed macroblock size stored in advance in the common memory 2, and sets a macroblock having the acquired size as a macroblock.
  • the setting unit 112a is instructed.
  • the macroblock setting unit 112a sets one or more macroblocks in the base layer image data in accordance with an instruction from the setting control unit 111a. Then, the macroblock setting unit 112a outputs the image data to the subtraction unit 13, the intra prediction unit 30a, and the inter prediction unit 40a for each set macroblock.
  • the setting control unit 111b of the block setting unit 12b acquires the macroblock size stored in the common memory 2 and the scalability ratio between the base layer and the enhancement layer.
  • the scalability ratio may be stored in advance by the common memory 2 or may be calculated from the resolution data of the two layers. Then, the setting control unit 111b instructs the CU setting unit 112b to set the LCU size and the SCU size determined using the macroblock size and the scalability ratio.
  • the CU setting unit 112b sets the LCU size and the SCU size in the enhancement layer in response to an instruction from the setting control unit 111b.
  • the CU setting unit 112b may determine the LCU size in a definitive manner by multiplying the macroblock size by the scalability ratio according to the first method described with reference to FIG. 3A. Instead, the CU setting unit 112b determines the size selected from a plurality of size candidates to be narrowed down based on the product of the macroblock size and the scalability ratio according to the second method described with reference to FIG. 3B. May be determined as In the latter case, the CU setting unit 112b generates LCU size information indicating the selected LCU size.
  • the CU setting unit 112b determines the SCU size by deterministically by multiplying the sub macroblock size stored in advance by the common memory 2 by the scalability ratio according to the first method described with reference to FIG. 4A. Also good. Instead, the CU setting unit 112b may determine a size selected from a plurality of size candidates equal to or smaller than the LCU size as the SCU size according to the second method described with reference to FIG. 4B. In the latter case, the CU setting unit 112b generates SCU size information indicating the selected SCU size.
  • the CU setting unit 112b outputs the image data to the subtraction unit 13, the intra prediction unit 30b, and the inter prediction unit 40b for each LCU. Further, when generating the LCU size information or the SCU size information, the macroblock setting unit 112b outputs the generated size information to the lossless encoding unit 16b.
  • FIG. 12 is a block diagram illustrating an example of a detailed configuration of the orthogonal transform units 14a and 14b illustrated in FIG.
  • the orthogonal transform unit 14a includes a transform control unit 121a, a 4 ⁇ 4 transform unit 122a, an 8 ⁇ 8 transform unit 123a, and a size determination unit 126a.
  • the orthogonal transform unit 14b includes a transform control unit 121b, a 4 ⁇ 4 transform unit 122b, an 8 ⁇ 8 transform unit 123b, a 16 ⁇ 16 transform unit 124b, a 32 ⁇ 32 transform unit 125b, and a size determination unit 126b.
  • the transformation control unit 121a of the orthogonal transformation unit 14a sets a 4 ⁇ 4 pixel transformation block in a macro block for the prediction error data of the base layer, and sets each transformation block set.
  • the orthogonal transformation is executed by the 4 ⁇ 4 conversion unit 122a.
  • the transform control unit 121a sets a transform block of 8 ⁇ 8 pixels in the macroblock, and causes the 8 ⁇ 8 transform unit 123a to perform orthogonal transform for each set transform block.
  • the conversion control unit 121a causes the size determination unit 126a to determine the optimum DCT size.
  • the 4 ⁇ 4 conversion unit 122a performs 4 ⁇ 4 pixel two-dimensional DCT on the prediction error data for each conversion block set by the conversion control unit 121a. Then, the 4 ⁇ 4 conversion unit 122a outputs the conversion coefficient data to the size determination unit 126a.
  • the 8 ⁇ 8 conversion unit 123a performs 8 ⁇ 8 pixel two-dimensional DCT on the prediction error data for each conversion block set by the conversion control unit 121a. Then, the 8 ⁇ 8 conversion unit 123a outputs the conversion coefficient data to the size determination unit 126a.
  • the size determination unit 126a determines an optimal DCT size based on the conversion coefficient data input from the 4 ⁇ 4 conversion unit 122a and the 8 ⁇ 8 conversion unit 123a, and quantizes the conversion coefficient data corresponding to the optimal DCT size. To the unit 15. Further, the size determination unit 126a outputs DCT size information indicating an optimal DCT size to the lossless encoding unit 16a and the inverse orthogonal transform unit 22a, and causes the common memory 2 to buffer the DCT size information.
  • the transformation control unit 121b of the orthogonal transformation unit 14b acquires DCT size information and a scalability ratio stored in the common memory 2. Then, the conversion control unit 121b sets a TU having one or more sizes determined using the DCT size and the scalability ratio in the LCU.
  • the conversion control unit 121b sets a TU having a size determined by decisive decision by multiplying the DCT size by the scalability ratio in the enhancement layer LCU. . Then, the conversion control unit 121b predicts the conversion unit corresponding to the determined TU size among the 4 ⁇ 4 conversion unit 122b, the 8 ⁇ 8 conversion unit 123b, the 16 ⁇ 16 conversion unit 124b, and the 32 ⁇ 32 conversion unit 125b. Perform orthogonal transformation on the error data.
  • the conversion control unit 121b adds TUs each having one or more TU sizes to be narrowed down based on the product of the DCT size and the scalability ratio according to the second method described with reference to FIG. 5B. May be set. Then, the transform control unit 121b performs orthogonal transform on the prediction error data to the corresponding transform unit among the 4 ⁇ 4 transform unit 122b, the 8 ⁇ 8 transform unit 123b, the 16 ⁇ 16 transform unit 124b, and the 32 ⁇ 32 transform unit 125b. Are executed respectively. When the second method is employed, the conversion control unit 121b causes the size determination unit 126b to determine the optimal TU size.
  • the 4 ⁇ 4 conversion unit 122b performs a 2 ⁇ DCT of 4 ⁇ 4 pixels on the prediction error data.
  • the 8 ⁇ 8 conversion unit 123b performs 8 ⁇ 8 pixel two-dimensional DCT on the prediction error data.
  • the 16 ⁇ 16 conversion unit 124b performs 16 ⁇ 16 pixel two-dimensional DCT on the prediction error data.
  • the 32 ⁇ 32 conversion unit 125b performs a 32 ⁇ 32 pixel two-dimensional DCT on the prediction error data.
  • the size determination unit 126b selects an optimum TU size based on the conversion coefficient data input from the corresponding conversion units. judge. Then, the size determination unit 126b outputs transform coefficient data corresponding to the optimum TU size to the quantization unit 15. Further, the size determination unit 126b outputs TU size information indicating the optimal TU size to the lossless encoding unit 16b and the inverse orthogonal transform unit 22b.
  • FIG. 13 is a block diagram illustrating an example of a detailed configuration of the intra prediction units 30a and 30b illustrated in FIG.
  • the intra prediction unit 30a includes a prediction control unit 131a, a prediction unit 132a, and a mode determination unit 133a.
  • the intra prediction unit 30b includes a prediction control unit 131b, a prediction unit 132b, and a mode determination unit 133b.
  • the prediction control unit 131a of the intra prediction unit 30a controls the base layer intra prediction process. More specifically, the prediction control unit 131a sets prediction blocks having various sizes in the macroblock of the base layer, and causes the prediction unit 132a to perform intra prediction in various prediction modes. And the prediction control part 131a makes the mode determination part 133a determine the optimal prediction block size and prediction mode.
  • the prediction unit 132a is a decoded image input from the frame memory 25 in various prediction modes (for example, DC prediction, horizontal prediction, vertical prediction, and plane prediction) for each prediction block set by the prediction control unit 131a. Predictive image data is generated using the data. Then, the prediction unit 132a outputs the generated predicted image data to the mode determination unit 133a.
  • various prediction modes for example, DC prediction, horizontal prediction, vertical prediction, and plane prediction
  • the mode determination unit 133a calculates a cost function value by comparing the predicted image data input from the prediction unit 132a with the original image data, and selects a combination of a prediction block size and a prediction mode that minimizes the cost function value. To do. Then, the mode determination unit 133a outputs information related to intra prediction including prediction mode information representing a combination of an optimal prediction block size and a prediction mode, a cost function value, and prediction image data to the selector 27. Further, the mode determination unit 133a causes the common memory 2 to buffer the predicted block size information.
  • the prediction control unit 131b of the intra prediction unit 30b controls the enhancement layer intra prediction process. More specifically, the prediction control unit 131b sets one or more PUs in the enhancement layer LCU, and causes the prediction unit 132b to perform intra prediction in various prediction modes. And the prediction control part 131b makes the mode determination part 133b determine the optimal prediction mode.
  • the prediction control unit 131b acquires base layer prediction block size information and scalability ratio stored in the common memory 2 in order to determine the PU size. And the prediction control part 131b determines PU size which should be set in LCU using a prediction block size and a scalability ratio.
  • the prediction control unit 131b sets, in the LCU, a PU having a PU size determined by a decisive decision by multiplying the prediction block size by the scalability ratio according to the first method described with reference to FIG. 6A. Also good. Instead, the prediction control unit 131b determines PUs each having one or more PU sizes to be narrowed down based on the product of the prediction block size and the scalability ratio according to the second method described with reference to FIG. 6B. It may be set within.
  • the prediction unit 132b decodes input from the frame memory 25 in various prediction modes (for example, DC prediction, angle prediction, plane prediction, and luminance-based color difference prediction) for each PU set by the prediction control unit 131b. Predictive image data is generated using the image data. Then, the prediction unit 132b outputs the generated predicted image data to the mode determination unit 133b.
  • various prediction modes for example, DC prediction, angle prediction, plane prediction, and luminance-based color difference prediction
  • the mode determination unit 133b calculates the cost function value by comparing the predicted image data input from the prediction unit 132b with the original image data, and selects the combination of the PU size and the prediction mode that minimizes the cost function value. . Then, the mode determination unit 133b outputs information related to intra prediction including prediction mode information, cost function values, and predicted image data to the selector 27.
  • the information generated by the mode determination unit 133b may include PU size information as illustrated in FIG. 6B.
  • FIG. 14 is a block diagram illustrating an example of a detailed configuration of the inter prediction units 40a and 40b illustrated in FIG.
  • the inter prediction unit 40a includes a prediction control unit 141a, a prediction unit 142a, and a mode determination unit 143a.
  • the inter prediction unit 40b includes a prediction control unit 141b, a prediction unit 142b, and a mode determination unit 143b.
  • the prediction control unit 141a of the inter prediction unit 40a controls base layer inter prediction processing. More specifically, the prediction control unit 141a sets prediction blocks having various sizes in the macroblock of the base layer. In addition, the prediction control unit 141a sets a reference image for each prediction block. Then, the prediction control unit 141a causes the prediction unit 142a to perform inter prediction in various prediction modes. And the prediction control part 141a makes the mode determination part 143a determine the optimal prediction block size and prediction mode.
  • the prediction unit 142a calculates a motion vector for each prediction block set by the prediction control unit 141a, and generates predicted image data using the calculated motion vector and reference image data. Then, the predicting unit 142a outputs the motion vector information and the predicted image data to the mode determining unit 143a.
  • the mode determination unit 143a calculates a cost function value by comparing the predicted image data input from the prediction unit 142a with the original image data, and selects a combination of a prediction block size and a prediction mode that minimizes the cost function value. To do. Then, the mode determination unit 143a generates prediction block size information, prediction mode information, and motion information (motion vector information and reference image information) according to the selected optimal combination. The mode determination unit 143a outputs the information regarding the inter prediction, the cost function value, and the predicted image data to the selector 27. Further, the mode determination unit 143a causes the common memory 2 to buffer the prediction block size information (which may include the sub macroblock type).
  • the prediction control unit 141b of the inter prediction unit 40b controls enhancement layer inter prediction processing. More specifically, the prediction control unit 141b sets one or more PUs in the enhancement layer LCU, and causes the prediction unit 142b to perform inter prediction. Then, the prediction control unit 141b causes the mode determination unit 143b to determine an optimal prediction mode.
  • the prediction control unit 141b acquires the prediction block size information of the base layer stored in the common memory 2 and the scalability ratio in order to determine the PU size. And the prediction control part 141b determines PU size which should be set in LCU using a prediction block size and a scalability ratio.
  • the prediction control unit 141b may set, in the LCU, a PU having a PU size that is determined by multiplying the prediction block size by the scalability ratio. Instead, the prediction control unit 141b may set PUs each having one or more PU sizes narrowed down based on the product of the prediction block size and the scalability ratio in the LCU. Further, the prediction control unit 141b may set, in the LCU, PUs each having one or more PU sizes to be narrowed down depending on whether a sub macroblock type exists for a corresponding prediction block in the base layer. .
  • the prediction unit 142b calculates a motion vector for each PU set by the prediction control unit 141b, and generates predicted image data using the calculated motion vector and reference image data. Then, the predicting unit 142b outputs the motion vector information and the predicted image data to the mode determining unit 143b.
  • the mode determination unit 143b calculates the cost function value by comparing the predicted image data input from the prediction unit 142b with the original image data, and selects the combination of the PU size and the prediction mode that minimizes the cost function value. . And the mode determination part 143b produces
  • the mode determination unit 143b outputs the information regarding the inter prediction, the cost function value, and the predicted image data to the selector 27.
  • the information generated by the mode determination unit 143b may include PU size information indicating the PU size selected from the narrowed down PU sizes.
  • FIG. 15A is a flowchart showing a first example of the flow of block setting processing in the enhancement layer during encoding.
  • the block setting process shown in FIG. 15A includes the first method for setting the LCU size described using FIG. 3A and the first method for setting the SCU size described using FIG. 4A. Processing according to the combination.
  • the setting control unit 111b of the block setting unit 12b for the enhancement layer acquires block size information indicating the macroblock size and the sub macroblock size of the base layer from the common memory 2 (step S110a).
  • the setting control unit 111b acquires a scalability ratio between the base layer and the enhancement layer (step S111).
  • the CU setting unit 112b determines the enhancement layer LCU size by multiplying the macroblock size indicated by the block size information by the scalability ratio (step S112a). Further, the CU setting unit 112b determines the SCU size of the enhancement layer by a decisive decision by multiplying the sub-macro block size indicated by the block size information by the scalability ratio (step S114a).
  • the CU setting unit 112b sets an LCU having the LCU size determined in step S112a in the enhancement layer (step S115a).
  • segmentation from each LCU to CU may be determined according to the result of orthogonal transformation, intra prediction, and inter prediction.
  • the lossless encoding unit 16b generates a division flag indicating the block division based on the LCU size and the SCU size determined by the CU setting unit 112b (step S117).
  • FIG. 15B is a flowchart illustrating a second example of the flow of block setting processing in the enhancement layer during encoding.
  • the block setting process shown in FIG. 15B includes the second method for setting the LCU size described with reference to FIG. 3B and the second method for setting the SCU size described with reference to FIG. 4B. Processing according to the combination.
  • the setting control unit 111b of the block setting unit 12b for the enhancement layer acquires block size information indicating the macroblock size of the base layer from the common memory 2 (step S110b).
  • the setting control unit 111b acquires a scalability ratio between the base layer and the enhancement layer (step S111).
  • the CU setting unit 112b determines one or more candidates for the enhancement layer LCU size based on the product of the macroblock size and the scalability ratio (step S112b).
  • the CU setting unit 112b selects an LCU size to be set from the narrowed-down LCU size candidates (step S113). Further, the CU setting unit 112b selects the SCU size to be set from one or more candidates of the SCU size equal to or smaller than the LCU size selected in step S113 (step S114b).
  • the CU setting unit 112b sets the LCU having the LCU size selected in step S113 in the enhancement layer (step S115b). Further, the CU setting unit 112b generates parameters indicating the selected LCU size and SCU size (step S116).
  • the parameters generated here are encoded by the lossless encoding unit 16b and inserted into, for example, the SPS.
  • the block division from each LCU into CUs can be determined according to the results of orthogonal transform, intra prediction and inter prediction. Then, the lossless encoding unit 16b generates a division flag indicating the block division based on the LCU size and the SCU size selected by the CU setting unit 112b (step S117).
  • FIG. 16A is a flowchart illustrating a first example of the flow of orthogonal transform processing in the enhancement layer during encoding.
  • the orthogonal transform process illustrated in FIG. 16A is a process according to the first method for setting the TU size described with reference to FIG. 5A.
  • the transformation control unit 121b of the orthogonal transformation unit 14b for the enhancement layer acquires DCT size information indicating the DCT size set in the base layer from the common memory 2 (step S120).
  • the conversion control unit 121b acquires a scalability ratio between the base layer and the enhancement layer (step S121).
  • the transformation control unit 121b determines the size of the TU in the enhancement layer corresponding to the transformation block in the base layer by multiplying the DCT size indicated by the DCT size information by the scalability ratio (step) S122a). Then, the conversion control unit 121b sets a TU having the determined TU size in the enhancement layer.
  • the conversion unit corresponding to the TU size determined in step S122a is subjected to conversion control.
  • Orthogonal transformation is executed for the TU set by the unit 121b (step S123a).
  • the transform unit outputs transform coefficient data obtained as a result of the orthogonal transform to the quantization unit 15 (step S125a).
  • FIG. 16B is a flowchart illustrating a second example of the flow of orthogonal transform processing in the enhancement layer during encoding.
  • the orthogonal transform process illustrated in FIG. 16B is a process according to the second method for setting the TU size described with reference to FIG. 5B.
  • the transform control unit 121b of the orthogonal transform unit 14b for the enhancement layer acquires DCT size information indicating the DCT size set in the base layer from the common memory 2 (step S120).
  • the conversion control unit 121b acquires a scalability ratio between the base layer and the enhancement layer (step S121).
  • the transformation control unit 121b determines one or more TU size candidates for the TUs in the enhancement layer corresponding to the transformed blocks in the base layer, based on the product of the DCT size and the scalability ratio (step S122b). And the conversion control part 121b sets TU which has TU size as a determined candidate in an enhancement layer.
  • the conversion unit corresponding to the TU size determined in step S122b is the TU size.
  • orthogonal transformation is executed (step S123b).
  • the size determining unit 126b determines the optimum TU size from one or more TU size candidates by comparing the transform coefficient data obtained as a result of the orthogonal transform (step S124). Then, the size determination unit 126b outputs transform coefficient data corresponding to the optimum TU size to the quantization unit 15 (step S125b). In addition, the size determination unit 126b generates a parameter indicating the optimal TU size, and outputs the generated parameter to the lossless encoding unit 16b and the inverse orthogonal transform unit 22b (step S126).
  • FIG. 17A is a flowchart showing a first example of the flow of intra prediction processing in the enhancement layer at the time of encoding.
  • the intra prediction process illustrated in FIG. 17A is a process according to the first method for setting the PU size described with reference to FIG. 6A.
  • the prediction control unit 131b of the intra prediction unit 30b for the enhancement layer acquires prediction block size information indicating the prediction block size set in the base layer from the common memory 2 (step S130). ).
  • the prediction control unit 131b acquires a scalability ratio between the base layer and the enhancement layer (step S131).
  • the prediction control unit 131b determines the size of the PU in the enhancement layer corresponding to the prediction block in the base layer by multiplying the prediction block size indicated by the prediction block size information by the scalability ratio. (Step S132a). Then, the prediction control unit 131b sets a PU having the determined PU size in the enhancement layer.
  • the prediction unit 132b performs intra prediction in various prediction modes for the PU set by the prediction control unit 131b (step S133a).
  • the mode determination unit 133b selects an optimal prediction mode by comparing the predicted image data input from the prediction unit 132b with the original image data (step S134a).
  • the mode determination part 133b produces
  • FIG. 17B is a flowchart illustrating a second example of the flow of intra prediction processing in the enhancement layer during encoding.
  • the intra prediction process illustrated in FIG. 17B is a process according to the second method for setting the PU size described with reference to FIG. 6B.
  • the prediction control unit 131b of the intra prediction unit 30b for the enhancement layer acquires prediction block size information indicating the prediction block size set in the base layer from the common memory 2 (step S130). ).
  • the prediction control unit 131b acquires a scalability ratio between the base layer and the enhancement layer (step S131).
  • the prediction control unit 131b determines one or more PU size candidates for PUs in the enhancement layer corresponding to the prediction block in the base layer with reference to the product of the prediction block size and the scalability ratio (Ste S132b). And the prediction control part 131b sets PU which has PU size as a determined candidate in an enhancement layer.
  • the prediction unit 132b performs intra prediction in various prediction modes for each PU having a PU size as a candidate (step S133b).
  • the mode determination unit 133b selects the optimal PU size and prediction mode by comparing the predicted image data input from the prediction unit 132b with the original image data (step S134b).
  • the mode determination part 133b produces
  • FIG. 18A is a flowchart illustrating a first example of the flow of inter prediction processing in the enhancement layer during encoding.
  • the inter prediction process illustrated in FIG. 18A is a process in which the first method for setting the PU size described with reference to FIG. 6A is applied to inter prediction.
  • the prediction control unit 141b of the inter prediction unit 40b for the enhancement layer acquires prediction block size information indicating the prediction block size set in the base layer from the common memory 2 (step S140a).
  • the prediction control unit 141b acquires a scalability ratio between the base layer and the enhancement layer (step S141).
  • the prediction control unit 141b determines the size of the PU in the enhancement layer corresponding to the prediction block in the base layer by multiplying the prediction block size indicated by the prediction block size information by the scalability ratio. (Step S142a). Then, the prediction control unit 141b sets a PU having the determined PU size in the enhancement layer.
  • the prediction unit 142b performs inter prediction in various prediction modes for the PU set by the prediction control unit 141b (step S143a).
  • the mode determination unit 143b selects the optimal prediction mode by comparing the predicted image data input from the prediction unit 142b with the original image data (step S144a).
  • the mode determination part 143b produces
  • FIG. 18B is a flowchart illustrating a second example of the flow of inter prediction processing in the enhancement layer during encoding.
  • the inter prediction process illustrated in FIG. 18B is a process according to the third method for setting the PU size described with reference to FIG. 7B.
  • the prediction control unit 141b of the inter prediction unit 40b for the enhancement layer obtains from the common memory 2 a sub macroblock type indicating whether division into sub macroblocks is used in the base layer. (Step S140b). Next, the prediction control unit 141b acquires a scalability ratio between the base layer and the enhancement layer (step S141).
  • the prediction control unit 141b refers to the sub-macroblock type, and determines whether the prediction block in the base layer is divided into sub-macroblocks for the PU in the enhancement layer corresponding to the prediction block.
  • One or more PU size candidates are determined (step S142b).
  • the prediction control part 141b sets PU which has PU size as a determined candidate in an enhancement layer.
  • the prediction unit 142b performs inter prediction in various prediction modes for each PU having a PU size as a candidate (step S143b).
  • the mode determination unit 143b selects an optimal PU size and prediction mode by comparing the predicted image data input from the prediction unit 142b with the original image data (step S144b).
  • the mode determination part 143b produces
  • FIG. 19 is a block diagram illustrating an example of the configuration of the first decoding unit 6a and the second decoding unit 6b illustrated in FIG.
  • the first decoding unit 6a includes a lossless decoding unit 61a, a block setting unit 62a, an inverse quantization unit 63, an inverse orthogonal transform unit 64a, an addition unit 65, a deblock filter 66, a rearrangement buffer 67, D / A (Digital to Analogue) conversion unit 68, frame memory 69, selectors 70 and 71, intra prediction unit 80a, and inter prediction unit 90a.
  • D / A Digital to Analogue
  • the second decoding unit 6b includes a lossless decoding unit 61a, a block setting unit 62a, an inverse orthogonal transform unit 64a, an intra prediction unit 80a, and an inter prediction unit 90a instead of a lossless decoding unit 61b, a block setting unit 62b, and an inverse orthogonal transform unit. 64b, an intra prediction unit 80b, and an inter prediction unit 90b.
  • the lossless decoding unit 61a decodes the base layer encoded stream input via the transmission path in accordance with the encoding method used at the time of encoding, and generates base layer quantized data. Further, the lossless decoding unit 61a decodes information multiplexed in the header area of the encoded stream.
  • the information decoded by the lossless decoding unit 61a may include, for example, DCT size information, information related to intra prediction, and information related to inter prediction.
  • the lossless decoding unit 61b decodes the enhancement layer encoded stream input via the transmission path in accordance with the encoding method used for encoding, and generates enhancement layer quantized data.
  • the lossless decoding unit 61b decodes information multiplexed in the header area of the encoded stream.
  • the information decoded by the lossless decoding unit 61b may include, for example, scalability ratio, block size information, division flag, information on intra prediction, and information on inter prediction.
  • the block setting unit 62a sets a macroblock having a fixed size in the base layer. Then, for each set macroblock, the block setting unit 62a outputs quantized data to the inverse quantization unit 63, information related to intra prediction to the intra prediction unit 80a, and information related to inter prediction to the inter prediction unit 90a. .
  • the macro block size is stored in advance by the common memory 7.
  • the block setting unit 62b sets a CU in the enhancement layer according to the macroblock size set by the block setting unit 62a. More specifically, the block setting unit 62b first sets the LCU in the enhancement layer, and further recursively blocks the LCU according to the LCU size, the SCU size, and the partition flag, thereby allocating the CU in each LCU. Set.
  • the block setting unit 62 b can determine the LCU size using the scalability ratio and the macroblock size stored in the common memory 7.
  • the SCU size may be further determined by referring to a sub macroblock size that can be stored by the common memory 7.
  • the block setting unit 62b outputs the quantized data to the inverse quantization unit 63, information related to intra prediction to the intra prediction unit 80b, and information related to inter prediction to the inter prediction unit 90b.
  • the inverse quantization unit 63 inversely quantizes the quantized data input from the block setting unit 62a or 62b to generate transform coefficient data. Then, the inverse quantization unit 63 outputs the generated transform coefficient data to the inverse orthogonal transform unit 64a or 64b.
  • the inverse orthogonal transform unit 64a sets a transform block in the macroblock according to the DCT size information decoded by the lossless decoding unit 61a, and performs inverse orthogonal transform on the transform coefficient data of the base layer input from the inverse quantization unit 63. Execute.
  • the inverse orthogonal transform executed by the inverse orthogonal transform unit 64a may be, for example, an inverse discrete cosine transform (inverse DCT).
  • the DCT size is 8 ⁇ 8 pixels or 4 ⁇ 4 pixels.
  • the inverse orthogonal transform unit 64 a outputs prediction error data acquired by the inverse orthogonal transform process for each transform block to the addition unit 65. Further, the inverse orthogonal transform unit 64 a causes the common memory 7 to buffer DCT size information indicating the size of each set transform block.
  • the inverse orthogonal transform unit 64b sets a TU in each CU set by the block setting unit 62b, and performs inverse orthogonal transform on the enhancement layer transform coefficient data input from the inverse quantization unit 63.
  • the inverse orthogonal transform executed by the inverse orthogonal transform unit 64b may also be an inverse DCT.
  • the size of the TU set by the inverse orthogonal transform unit 64b is 32 ⁇ 32 pixels, 16 ⁇ 16 pixels, 8 ⁇ 8 pixels, or 4 ⁇ 4 pixels.
  • the inverse orthogonal transform unit 64 b can determine the TU size to be set in the enhancement layer using the DCT size information and the scalability ratio of the base layer stored in the common memory 7.
  • the inverse orthogonal transform unit 64 b outputs transform coefficient data acquired by the orthogonal transform process for each TU to the adder unit 65.
  • the addition unit 65 adds the prediction error data input from the inverse orthogonal transform unit 64a or 64b and the prediction image data input from the selector 71 to generate decoded image data. Then, the addition unit 65 outputs the generated decoded image data to the deblock filter 66 and the frame memory 69.
  • the deblock filter 66 removes block distortion by filtering the decoded image data input from the adder 65, and outputs the filtered decoded image data to the rearrangement buffer 67 and the frame memory 69.
  • the rearrangement buffer 67 generates a series of time-series image data by rearranging the images input from the deblocking filter 66. Then, the rearrangement buffer 67 outputs the generated image data to the D / A conversion unit 68.
  • the D / A converter 68 converts the digital image data input from the rearrangement buffer 67 into an analog image signal. Then, the D / A conversion unit 68 displays an image by outputting an analog image signal to a display (not shown) connected to the image decoding device 60, for example.
  • the frame memory 69 stores the decoded image data before filtering input from the adding unit 65 and the decoded image data after filtering input from the deblocking filter 66 using a storage medium.
  • the selector 70 switches the output destination of the image data from the frame memory 69 between the intra prediction unit 80a or 80b and the inter prediction unit 90a or 90b for each block in the image. For example, when the intra prediction mode is designated by the parameter to be decoded, the selector 70 outputs the decoded image data before filtering supplied from the frame memory 69 to the intra prediction unit 80a or 80b as reference image data. Further, when the inter prediction mode is designated, the selector 70 outputs the decoded image data after filtering supplied from the frame memory 69 to the inter prediction unit 90a or 90b as reference image data.
  • the selector 71 switches the output source of the predicted image data to be supplied to the adding unit 65 between the intra prediction unit 80a or 80b and the inter prediction unit 90a or 90b. For example, the selector 71 supplies the predicted image data output from the intra prediction unit 80a or 80b to the addition unit 65 when the intra prediction mode is designated by the parameter to be decoded. Further, when the inter prediction mode is designated, the selector 71 supplies the predicted image data output from the inter prediction unit 90a or 90b to the adding unit 65.
  • the intra prediction unit 80a performs base layer intra prediction processing based on information related to intra prediction input from the block setting unit 62a for each macroblock and reference image data from the frame memory 69, and generates predicted image data. .
  • the intra prediction unit 80a sets a prediction block in a macroblock according to the prediction block size information, and executes intra prediction according to the prediction mode information for each set prediction block.
  • the size of the prediction block set by the intra prediction unit 80a is 16 ⁇ 16 pixels, 8 ⁇ 8 pixels, or 4 ⁇ 4 pixels.
  • the intra prediction unit 80a outputs the generated base layer predicted image data to the selector 71. Further, the intra prediction unit 80 a causes the common memory 7 to buffer the predicted block size information.
  • the intra prediction unit 80b performs the intra prediction process of the enhancement layer based on the information related to intra prediction input for each LCU from the block setting unit 62b and the reference image data from the frame memory 69, and generates predicted image data. For example, the intra prediction unit 80b sets a PU in each CU, and executes intra prediction according to the prediction mode information for each set PU.
  • the size of the PU set by the intra prediction unit 80b is 64 ⁇ 64 pixels, 32 ⁇ 32 pixels, 16 ⁇ 16 pixels, 8 ⁇ 8 pixels, or 4 ⁇ 4 pixels.
  • the intra prediction unit 80b may determine the PU size to be set in the enhancement layer using the base layer prediction block size information and the scalability ratio stored in the common memory 7. Then, the intra prediction unit 80b outputs the generated predicted image data of the enhancement layer to the selector 71.
  • the inter prediction unit 90a performs base layer inter prediction processing based on information related to inter prediction input for each macroblock from the block setting unit 62a and reference image data from the frame memory 69, and generates predicted image data. .
  • the inter prediction unit 90a sets a prediction block in a macroblock according to prediction block size information, and performs inter prediction (motion compensation) using motion information for each set prediction block.
  • the size of the prediction block set by the inter prediction unit 90a is one of the seven sizes shown in FIG. 7A.
  • the inter prediction unit 90 a outputs the generated base layer predicted image data to the selector 71.
  • the inter prediction unit 90 a causes the common memory 7 to buffer the predicted block size information.
  • the predicted block size information may include a sub macroblock type.
  • the inter prediction unit 90 b performs enhancement layer inter prediction processing based on information related to inter prediction input for each LCU from the block setting unit 62 b and reference image data from the frame memory 69, and generates predicted image data. For example, the inter prediction unit 90b sets PUs in each CU, and performs inter prediction using motion information for each set PU. The inter prediction unit 90b may determine the PU size to be set in the enhancement layer using the base layer prediction block size information and the scalability ratio stored in the common memory 7. Then, the inter prediction unit 90b outputs the generated predicted image data of the enhancement layer to the selector 71.
  • the first decoding unit 6a executes the series of decoding processes described here for a series of image data of the base layer.
  • the second decoding unit 6b performs the series of decoding processes described here on a series of image data of the enhancement layer.
  • the enhancement layer decoding process may be repeated by the number of enhancement layers.
  • FIG. 20 is a block diagram illustrating an example of a detailed configuration of the block setting units 62a and 62b illustrated in FIG.
  • the block setting unit 62a includes a setting control unit 161a and a macroblock setting unit 162a.
  • the block setting unit 62b includes a setting control unit 161b, a size setting unit 162b, and a CU setting unit 163b.
  • the setting control unit 161a of the block setting unit 62a acquires a fixed macroblock size stored in advance in the common memory 7, and sets a macroblock having the acquired size as a macroblock.
  • the setting unit 162a is instructed.
  • the macroblock setting unit 162a sets one or more macroblocks in the base layer in response to an instruction from the setting control unit 161a. Then, the macroblock setting unit 162a, for each set macroblock, the quantized data to the inverse quantization unit 63, information about intra prediction to the intra prediction unit 80a, and information about inter prediction to the inter prediction unit 90a, respectively. Output.
  • the setting control unit 161b of the block setting unit 62b acquires the macroblock size stored in the common memory 7 and the scalability ratio between the base layer and the enhancement layer.
  • the scalability ratio may be directly indicated by a parameter decoded by the lossless decoding unit 61b, or may be calculated from two layers of resolution data. Then, the setting control unit 161b instructs the size setting unit 162b to set the LCU size and the SCU size determined using the macroblock size and the scalability ratio.
  • the size setting unit 162b sets the LCU size and the SCU size in the enhancement layer in response to an instruction from the setting control unit 161b.
  • the size setting unit 162b may determine the LCU size in a determined manner by multiplying the macroblock size by the scalability ratio according to the first method described with reference to FIG. 3A. Instead, the size setting unit 162b is decoded by the lossless decoding unit 61b after narrowing down the size candidates based on the product of the macroblock size and the scalability ratio according to the second method described with reference to FIG. 3B.
  • the LCU size may be selected with reference to the LCU size information.
  • the size setting unit 162b determines the SCU size by deterministically by multiplying the sub macroblock size stored in advance by the common memory 7 by the scalability ratio according to the first method described with reference to FIG. 4A. Also good. Instead, the size setting unit 162b refers to the SCU size information decoded by the lossless decoding unit 61b from a plurality of size candidates equal to or smaller than the LCU size according to the second method described with reference to FIG. 4B. May be selected.
  • the CU setting unit 163b recursively divides the LCU into blocks according to the LCU size and SCU size set by the size setting unit 162b, and the division flag decoded by the lossless decoding unit 61b, so that the CU is included in each LCU. Set. Then, for each LCU, the CU setting unit 163b outputs quantized data to the inverse quantization unit 63, information related to intra prediction to the intra prediction unit 80b, and information related to inter prediction to the inter prediction unit 90b.
  • FIG. 21 is a block diagram illustrating an example of a detailed configuration of the inverse orthogonal transform units 64a and 64b illustrated in FIG.
  • the inverse orthogonal transform unit 64a includes a transform control unit 171a, a 4 ⁇ 4 transform unit 172a, and an 8 ⁇ 8 transform unit 173a.
  • the inverse orthogonal transform unit 64b includes a transform control unit 171b, a 4 ⁇ 4 transform unit 172b, an 8 ⁇ 8 transform unit 173b, a 16 ⁇ 16 transform unit 174b, and a 32 ⁇ 32 transform unit 175b.
  • the transform control unit 171a of the inverse orthogonal transform unit 64a sets a transform block having a DCT size indicated by the DCT size information decoded by the lossless decoding unit 61a in a macroblock. . Then, the transform control unit 171a converts the base layer transform coefficient data input from the inverse quantization unit 63 into the transform unit corresponding to the set DCT size among the 4 ⁇ 4 transform unit 172a and the 8 ⁇ 8 transform unit 173a. Inverse orthogonal transformation is performed on. In addition, the conversion control unit 171a causes the common memory 7 to buffer DCT size information indicating the size of each conversion block.
  • the 4 ⁇ 4 transform unit 172a When the transform block having the size of 4 ⁇ 4 pixels is set, the 4 ⁇ 4 transform unit 172a performs 4 ⁇ 4 pixel two-dimensional inverse DCT on transform coefficient data of the transform block. Then, the 4 ⁇ 4 conversion unit 172a outputs the prediction error data to the addition unit 65.
  • the 8 ⁇ 8 transform unit 173a When a transform block having a size of 8 ⁇ 8 pixels is set, the 8 ⁇ 8 transform unit 173a performs 8 ⁇ 8 pixel two-dimensional inverse DCT on transform coefficient data of the transform block. Then, the 8 ⁇ 8 conversion unit 173a outputs the prediction error data to the addition unit 65.
  • the transformation control unit 171b of the inverse orthogonal transformation unit 64b acquires DCT size information and scalability ratio stored in the common memory 7. Then, the conversion control unit 171b sets a TU having a size determined by using the DCT size and the scalability ratio in each CU of the enhancement layer.
  • the conversion control unit 171b may determine the TU size in a determined manner by multiplying the DCT size by the scalability ratio according to the first method described with reference to FIG. 5A. Instead, the conversion control unit 171b performs decoding by the lossless decoding unit 61b after narrowing down the size candidates based on the product of the DCT size and the scalability ratio according to the second method described with reference to FIG. 5B.
  • the TU size may be selected with reference to the TU size information.
  • the conversion control unit 171a reverses the conversion unit corresponding to the set TU size among the 4 ⁇ 4 conversion unit 172b, the 8 ⁇ 8 conversion unit 173b, the 16 ⁇ 16 conversion unit 174b, and the 32 ⁇ 32 conversion unit 175b.
  • the inverse orthogonal transform is performed on the enhancement layer transform coefficient data input from the quantization unit 63.
  • the 4 ⁇ 4 conversion unit 172b When the TU having the size of 4 ⁇ 4 pixels is set, the 4 ⁇ 4 conversion unit 172b performs the 4 ⁇ 4 pixel two-dimensional inverse DCT on the conversion coefficient data of the TU. Then, the 4 ⁇ 4 conversion unit 172b outputs the prediction error data to the addition unit 65.
  • the 8 ⁇ 8 conversion unit 173b When a TU having a size of 8 ⁇ 8 pixels is set, the 8 ⁇ 8 conversion unit 173b performs 8 ⁇ 8 pixel two-dimensional inverse DCT on the conversion coefficient data of the TU. Then, the 8 ⁇ 8 conversion unit 173b outputs the prediction error data to the addition unit 65.
  • the 16 ⁇ 16 conversion unit 174b When a TU having a size of 16 ⁇ 16 pixels is set, the 16 ⁇ 16 conversion unit 174b performs 16 ⁇ 16 pixel two-dimensional inverse DCT on the conversion coefficient data of the TU. Then, the 16 ⁇ 16 conversion unit 174b outputs the prediction error data to the addition unit 65.
  • the 32 ⁇ 32 conversion unit 175b When a TU having a size of 32 ⁇ 32 pixels is set, the 32 ⁇ 32 conversion unit 175b performs a 32 ⁇ 32 pixel two-dimensional inverse DCT on the conversion coefficient data of the TU. Then, the 32 ⁇ 32 conversion unit 175b outputs the prediction error data to the addition unit 65.
  • FIG. 22 is a block diagram illustrating an example of a detailed configuration of the intra prediction units 80a and 80b illustrated in FIG.
  • the intra prediction unit 80a includes a prediction control unit 181a, a mode acquisition unit 182a, and a prediction unit 183a.
  • the intra prediction unit 80b includes a prediction control unit 181b, a mode acquisition unit 182b, and a prediction unit 183b.
  • the prediction control unit 181a of the intra prediction unit 80a controls the base layer intra prediction process. More specifically, the prediction control unit 181a sets a prediction block having a size indicated by the prediction block size information decoded by the lossless decoding unit 61a in the macroblock.
  • the mode acquisition unit 182a acquires prediction mode information decoded by the lossless decoding unit 61a. Then, the prediction control unit 181a causes the prediction unit 183a to perform intra prediction in the prediction mode indicated by the prediction mode information. Further, the prediction control unit 181a causes the common memory 7 to buffer prediction block size information indicating the size of each prediction block.
  • the prediction unit 183a generates prediction image data using the decoded image data input from the frame memory 69 in the prediction mode indicated by the prediction mode information for each prediction block set by the prediction control unit 181a. Then, the prediction unit 183a outputs the generated predicted image data to the addition unit 65.
  • the prediction control unit 181b of the intra prediction unit 80b controls enhancement layer intra prediction processing. More specifically, the prediction control unit 181b sets a PU in each CU of the enhancement layer. The prediction control unit 181b acquires the scalability ratio and the base layer prediction block size information stored in the common memory 7 in order to determine the PU size. And the prediction control part 181b determines PU size which should be set using a prediction block size and a scalability ratio.
  • the prediction control unit 181b may determine the PU size by multiplying the prediction block size by the scalability ratio according to the first method described with reference to FIG. 6A. Instead, the prediction control unit 181b narrows down the size candidates based on the product of the prediction block size and the scalability ratio according to the second method described with reference to FIG. 6B, and then is decoded by the lossless decoding unit 61b.
  • the PU size may be selected with reference to the PU size information.
  • the mode acquisition unit 182b acquires prediction mode information decoded by the lossless decoding unit 61b.
  • the prediction unit 183b generates predicted image data using the decoded image data input from the frame memory 69 in the prediction mode indicated by the prediction mode information for each PU set by the prediction control unit 181b. Then, the prediction unit 183b outputs the generated predicted image data to the addition unit 65.
  • FIG. 23 is a block diagram illustrating an example of a detailed configuration of the inter prediction units 90a and 90b illustrated in FIG.
  • the inter prediction unit 90a includes a prediction control unit 191a, an information acquisition unit 192a, and a prediction unit 193a.
  • the inter prediction unit 90b includes a prediction control unit 191b, an information acquisition unit 192b, and a prediction unit 193b.
  • the prediction control unit 191a of the inter prediction unit 90a controls base layer inter prediction processing. More specifically, the prediction control unit 191a sets a prediction block having a size indicated by the prediction block size information decoded by the lossless decoding unit 61a in the macroblock. In addition, the information acquisition unit 192a acquires prediction mode information and motion information decoded by the lossless decoding unit 61a. Then, the prediction control unit 191a causes the prediction unit 193a to perform inter prediction in the prediction mode indicated by the prediction mode information. Further, the prediction control unit 191a causes the common memory 7 to buffer prediction block size information indicating the size of each prediction block (which may include a sub macroblock type).
  • the prediction unit 193a generates prediction image data for each prediction block set by the prediction control unit 191a using the motion information and the decoded image data input from the frame memory 69 in the prediction mode indicated by the prediction mode information. . Then, the prediction unit 193a outputs the generated predicted image data to the addition unit 65.
  • the prediction control unit 191b of the inter prediction unit 90b controls enhancement layer inter prediction processing. More specifically, the prediction control unit 191b sets a PU in each CU of the enhancement layer. In order to determine the PU size, the prediction control unit 191b acquires the scalability ratio and the base layer prediction block size information stored in the common memory 7. And the prediction control part 191b determines PU size which should be set using a prediction block size and a scalability ratio.
  • the prediction control unit 191b may determine the PU size by multiplying the prediction block size by the scalability ratio. Instead, the prediction control unit 191b selects the PU size by referring to the PU size information decoded by the lossless decoding unit 61b after narrowing down the size candidates based on the product of the prediction block size and the scalability ratio. May be. In addition, the prediction control unit 141b refers to the PU size information decoded by the lossless decoding unit 61b after narrowing down the size candidates according to whether the sub-macroblock type exists for the corresponding prediction block in the base layer. The PU size may be selected.
  • the information acquisition unit 192b acquires prediction mode information and motion information decoded by the lossless decoding unit 61b. For each PU set by the prediction control unit 191b, the prediction unit 193b generates predicted image data using the decoded image data input from the frame memory 69 according to the motion vector information and reference image information included in the motion information. . Then, the predicting unit 193b outputs the generated predicted image data to the adding unit 65.
  • FIG. 24A is a flowchart illustrating a first example of the flow of block setting processing in the enhancement layer during decoding.
  • the block setting process shown in FIG. 24A includes the first method for setting the LCU size described with reference to FIG. 3A and the first method for setting the SCU size described with reference to FIG. 4A. Processing according to the combination.
  • the setting control unit 161b of the block setting unit 62b for the enhancement layer acquires block size information indicating the macroblock size and the sub macroblock size of the base layer (step S160a).
  • the setting control unit 161b acquires a scalability ratio between the base layer and the enhancement layer (step S161).
  • the size setting unit 162b multiplies the macroblock size indicated by the block size information by the scalability ratio, thereby determining the enhancement layer LCU size (step S164a). Further, the size setting unit 162b multiplies the sub macroblock size indicated by the block size information by the scalability ratio, thereby determining the enhancement layer SCU size (step S166a).
  • the LCU size and SCU size determined in step S164a and step S166a may be set for each sequence in the enhancement layer.
  • the size setting unit 162b sets the LCU having the LCU size determined in step S164a in the enhancement layer (step S167a).
  • the CU setting unit 163b recursively divides the LCU into blocks according to the LCU size and the SCU size set by the size setting unit 162b and the division flag decoded by the lossless decoding unit 61b.
  • the CU is set to (step S168).
  • FIG. 24B is a flowchart illustrating a second example of the flow of block setting processing in the enhancement layer during decoding.
  • the block setting process shown in FIG. 24B includes the second method for setting the LCU size described with reference to FIG. 3B and the second method for setting the SCU size described with reference to FIG. 4B. Processing according to the combination.
  • the setting control unit 161b of the block setting unit 62b for the enhancement layer acquires block size information indicating the macroblock size of the base layer (step S160b).
  • the setting control unit 161b acquires a scalability ratio between the base layer and the enhancement layer (step S161).
  • the setting control unit 161b acquires parameters indicating the LCU size and the SCU size decoded by the lossless decoding unit 61b (step S162b).
  • the size setting unit 162b determines one or more candidates for the LCU size based on the product of the macroblock size and the scalability ratio (step S163b). Next, the size setting unit 162b selects the LCU size specified by the parameter decoded by the lossless decoding unit 61b from among the candidates for the LCU size (step S164b). Further, the size setting unit 162b determines one or more SCU size candidates having a size equal to or smaller than the selected LCU size (step S165b). Next, the size setting unit 162b selects the SCU size specified by the parameter decoded by the lossless decoding unit 61b from among the SCU size candidates (step S164b). The LCU size and SCU size selected in step S164b and step S166b may be set for each sequence in the enhancement layer.
  • the size setting unit 162b sets the LCU having the LCU size selected in step S164b in the enhancement layer (step S167b).
  • the CU setting unit 163b recursively divides the LCU into blocks according to the LCU size and the SCU size set by the size setting unit 162b and the division flag decoded by the lossless decoding unit 61b.
  • the CU is set to (step S168).
  • FIG. 25A is a flowchart illustrating a first example of the flow of inverse orthogonal transform processing in the enhancement layer during decoding.
  • the inverse orthogonal transform process illustrated in FIG. 25A is a process according to the first method for setting the TU size described with reference to FIG. 5A.
  • the transformation control unit 171b of the inverse orthogonal transformation unit 64b for the enhancement layer acquires DCT size information indicating the DCT size of the base layer from the common memory 7 (step S170).
  • the conversion control unit 171b obtains a scalability ratio between the base layer and the enhancement layer (step S171).
  • the conversion control unit 171b multiplies the DCT size by the scalability ratio to determine the enhancement layer TU size by a decisive rule (step S174a).
  • the conversion control unit 171b sets a TU having the determined TU size in each CU of the enhancement layer (step S175a).
  • the conversion unit corresponding to the TU size determined by the conversion control unit 171b is: Inverse orthogonal transformation is executed for the set TU (step S176).
  • FIG. 25B is a flowchart illustrating a second example of the flow of inverse orthogonal transform processing in the enhancement layer during decoding.
  • the inverse orthogonal transform process illustrated in FIG. 25B is a process according to the second method for setting the TU size described with reference to FIG. 5B.
  • the transform control unit 171b of the inverse orthogonal transform unit 64b for the enhancement layer acquires DCT size information indicating the DCT size of the base layer from the common memory 7 (step S170).
  • the conversion control unit 171b obtains a scalability ratio between the base layer and the enhancement layer (step S171).
  • the conversion control unit 171b obtains TU size information decoded by the lossless decoding unit 61b (step S172).
  • the conversion control unit 171b determines one or more candidates for the TU size based on the product of the DCT size and the scalability ratio (step S173). Next, the conversion control unit 171b selects a TU size specified by the TU size information from the TU size candidates (step S174b). Next, the conversion control unit 171b sets a TU having the selected TU size in each CU of the enhancement layer (step S175b).
  • the conversion unit corresponding to the TU size selected by the conversion control unit 171b is: Inverse orthogonal transformation is executed for the set TU (step S176).
  • FIG. 26A is a flowchart illustrating a first example of the flow of intra prediction processing in the enhancement layer during decoding.
  • the intra prediction process illustrated in FIG. 26A is a process according to the first method for setting the PU size described with reference to FIG. 6A.
  • the prediction control unit 181b of the intra prediction unit 80b for the enhancement layer acquires prediction block size information indicating the prediction block size of the base layer from the common memory 7 (step S180).
  • the prediction control unit 181b obtains a scalability ratio between the base layer and the enhancement layer (step S181).
  • the prediction control unit 181b multiplies the prediction block size by the scalability ratio, thereby determining the PU size of the enhancement layer by a decisive action (step S184a).
  • the prediction control unit 181b sets a PU having the determined PU size in each CU of the enhancement layer (step S185a).
  • the mode acquisition unit 182b acquires the prediction mode information decoded by the lossless decoding unit 61b for the PU set by the prediction control unit 181b (step S186). And the prediction part 183b performs intra prediction according to the prediction mode shown by prediction mode information about PU set by the prediction control part 181b (step S187).
  • FIG. 26B is a flowchart illustrating a second example of the flow of the intra prediction process in the enhancement layer at the time of decoding.
  • the intra prediction process illustrated in FIG. 26B is a process according to the second method for setting the PU size described with reference to FIG. 6B.
  • the prediction control unit 181b of the intra prediction unit 80b for the enhancement layer acquires prediction block size information indicating the prediction block size of the base layer from the common memory 7 (step S180).
  • the prediction control unit 181b acquires a scalability ratio between the base layer and the enhancement layer (step S181).
  • the prediction control unit 181b acquires PU size information decoded by the lossless decoding unit 61b (step S182).
  • the prediction control unit 181b determines one or more PU size candidates based on the product of the prediction block size and the scalability ratio (step S183). Next, the prediction control unit 181b selects a PU size specified by the PU size information from among PU size candidates (step S184b). Next, the prediction control unit 181b sets a PU having the selected PU size in each CU of the enhancement layer (step S185b).
  • the mode acquisition unit 182b acquires the prediction mode information decoded by the lossless decoding unit 61b for the PU set by the prediction control unit 181b (step S186). And the prediction part 183b performs intra prediction according to the prediction mode shown by prediction mode information about PU set by the prediction control part 181b (step S187).
  • FIG. 27A is a flowchart illustrating a first example of the flow of inter prediction processing in the enhancement layer during decoding.
  • the inter prediction process illustrated in FIG. 27A is a process in which the first method for setting the PU size described with reference to FIG. 6A is applied to inter prediction.
  • the prediction control unit 191b of the inter prediction unit 90b for the enhancement layer acquires prediction block size information indicating the prediction block size of the base layer from the common memory 7 (step S190a).
  • the prediction control unit 191b acquires a scalability ratio between the base layer and the enhancement layer (step S191).
  • the prediction control unit 191b multiplies the prediction block size by the scalability ratio, thereby determining the PU size of the enhancement layer (step S194a).
  • the prediction control unit 191b sets a PU having the determined PU size in each CU of the enhancement layer (step S195a).
  • the information acquisition unit 192b acquires the prediction mode information and motion information decoded by the lossless decoding unit 61b for the PU set by the prediction control unit 191b (step S196). And the prediction part 193b performs inter prediction using motion information according to the prediction mode shown by prediction mode information about PU set by the prediction control part 191b (step S197).
  • FIG. 27B is a flowchart illustrating a second example of the flow of inter prediction processing in the enhancement layer during decoding.
  • the inter prediction process illustrated in FIG. 27B is a process according to the third method for setting the PU size described with reference to FIG. 7B.
  • the prediction control unit 191b of the inter prediction unit 90b for the enhancement layer receives the prediction block size information including the sub-macroblock type specified for the corresponding prediction block of the base layer in the common memory 7. (Step S190b). Next, the prediction control unit 191b acquires a scalability ratio between the base layer and the enhancement layer (step S191). Next, the prediction control unit 191b obtains PU size information decoded by the lossless decoding unit 61b (step S192).
  • the prediction control unit 191b determines one or more candidates for the PU size by referring to the sub macroblock type (step S193). Next, the prediction control unit 191b selects a PU size specified by the PU size information from among PU size candidates (step S194b). Next, the prediction control unit 191b sets a PU having the selected PU size in each CU of the enhancement layer (step S195b).
  • the information acquisition unit 192b acquires the prediction mode information and motion information decoded by the lossless decoding unit 61b for the PU set by the prediction control unit 191b (step S196). And the prediction part 193b performs inter prediction using motion information according to the prediction mode shown by prediction mode information about PU set by the prediction control part 191b (step S197).
  • the image encoding device 10 and the image decoding device 60 are a transmitter or a receiver in satellite broadcasting, cable broadcasting such as cable TV, distribution on the Internet, and distribution to terminals by cellular communication,
  • the present invention can be applied to various electronic devices such as a recording device that records an image on a medium such as an optical disk, 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 an optical disk, a magnetic disk, and a flash memory
  • a playback device that reproduces an image from these storage media.
  • FIG. 28 illustrates an example of a schematic configuration of a television apparatus to which the above-described embodiment is applied.
  • the television apparatus 900 includes an antenna 901, a tuner 902, a demultiplexer 903, a decoder 904, a video signal processing unit 905, a display unit 906, an audio signal processing unit 907, a speaker 908, an external interface 909, a control unit 910, a user interface 911, And a bus 912.
  • Tuner 902 extracts a signal of a desired channel from a broadcast signal received via antenna 901, and demodulates the extracted signal. Then, the tuner 902 outputs the encoded bit stream obtained by the demodulation to the demultiplexer 903. In other words, the tuner 902 serves as a transmission unit in the television apparatus 900 that receives an encoded stream in which an image is encoded.
  • the demultiplexer 903 separates the video stream and audio stream of the viewing target program from the encoded bit stream, and outputs each separated stream to the decoder 904. In addition, 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 a video or an image on a video screen of a display device (for example, a liquid crystal display, a plasma display, or an OLED).
  • a display device for example, a liquid crystal display, a plasma display, or an OLED.
  • the audio signal processing unit 907 performs reproduction processing such as D / A conversion and amplification on the audio data input from the decoder 904, and outputs audio from the speaker 908.
  • the audio signal processing unit 907 may perform additional processing such as noise removal on the audio data.
  • the external interface 909 is an interface for connecting the television apparatus 900 to an external device or a network.
  • a video stream or an audio stream received via the external interface 909 may be decoded by the decoder 904. That is, the external interface 909 also has a role as a transmission unit in the television apparatus 900 that receives an encoded stream in which an image is encoded.
  • the control unit 910 has a processor such as a CPU (Central Processing Unit) and a memory such as a RAM (Random Access Memory) and a ROM (Read Only Memory).
  • 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 device 900 is activated, for example.
  • the CPU controls the operation of the television device 900 according to an operation signal input from the user interface 911, for example, by executing the program.
  • the user interface 911 is connected to the control unit 910.
  • the user interface 911 includes, for example, buttons and switches for the user to operate the television device 900, a remote control signal receiving unit, and the like.
  • the user interface 911 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 910.
  • the bus 912 connects the tuner 902, the demultiplexer 903, the decoder 904, the video signal processing unit 905, the audio signal processing unit 907, the external interface 909, and the control unit 910 to each other.
  • the decoder 904 has the function of the image decoding apparatus 60 according to the above-described embodiment. Thereby, for the multi-codec scalable decoding of images in the television apparatus 900, an improved mechanism for setting blocks in the enhancement layer can be adopted, and the encoding efficiency can be increased.
  • FIG. 29 illustrates an example of a schematic configuration of a mobile phone to which the above-described embodiment is applied.
  • a mobile phone 920 includes an antenna 921, a communication unit 922, an audio codec 923, a speaker 924, a microphone 925, a camera unit 926, an image processing unit 927, a demultiplexing unit 928, a recording / reproducing unit 929, a display unit 930, a control unit 931, an operation A portion 932 and a bus 933.
  • the antenna 921 is connected to the communication unit 922.
  • the speaker 924 and the microphone 925 are connected to the audio codec 923.
  • the operation unit 932 is connected to the control unit 931.
  • the bus 933 connects the communication unit 922, the audio codec 923, the camera unit 926, the image processing unit 927, the demultiplexing unit 928, the recording / reproducing unit 929, the display unit 930, and the control unit 931 to each other.
  • the mobile phone 920 has various operation modes including a voice call mode, a data communication mode, a shooting mode, and a videophone mode, and is used for sending and receiving voice signals, sending and receiving e-mail or image data, taking images, and recording data. Perform the action.
  • the analog voice signal generated by the microphone 925 is supplied to the voice codec 923.
  • the audio codec 923 converts an analog audio signal into audio data, A / D converts the converted 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 expands the audio data and performs D / A conversion to generate an analog audio signal. Then, the audio codec 923 supplies the generated audio signal to the speaker 924 to output audio.
  • the control unit 931 generates character data constituting the e-mail in response to an operation by the user via the operation unit 932.
  • the control unit 931 causes the display unit 930 to display characters.
  • the control unit 931 generates e-mail data in response to a transmission instruction from the user via the operation unit 932, and outputs the generated e-mail data to the communication unit 922.
  • the communication unit 922 encodes and modulates email data and generates a transmission signal. Then, the communication unit 922 transmits the generated transmission signal to a base station (not shown) via the antenna 921.
  • the communication unit 922 amplifies a radio signal received via the antenna 921 and performs frequency conversion to acquire a received signal.
  • the communication unit 922 demodulates and decodes the received signal to restore the email data, and outputs the restored email data to the control unit 931.
  • the control unit 931 displays the content of the electronic mail on the display unit 930 and stores the electronic mail data in the storage medium of the recording / reproducing unit 929.
  • the recording / reproducing unit 929 has an arbitrary readable / writable storage medium.
  • the storage medium may be a built-in storage medium such as a RAM or a flash memory, or an externally mounted storage medium such as a hard disk, a magnetic disk, a magneto-optical disk, an optical disk, a USB memory, or a memory card. May be.
  • 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 recording / playback unit 929.
  • the demultiplexing unit 928 multiplexes the video stream encoded by the image processing unit 927 and the audio stream input from the audio codec 923, and the multiplexed stream is the communication unit 922. Output to.
  • the communication unit 922 encodes and modulates the stream and generates a transmission signal. Then, the communication unit 922 transmits the generated transmission signal to a base station (not shown) via the antenna 921.
  • the communication unit 922 amplifies a radio signal received via the antenna 921 and performs frequency conversion to acquire a received signal.
  • These transmission signal and reception signal may include an encoded bit stream.
  • the communication unit 922 demodulates and decodes the received signal to restore the stream, and outputs the restored stream to the demultiplexing unit 928.
  • the demultiplexing unit 928 separates the video stream and the audio stream from the input stream, and outputs the video stream to the image processing unit 927 and the audio stream to the audio codec 923.
  • the image processing unit 927 decodes the video stream and generates video data.
  • the video data is supplied to the display unit 930, and a series of images is displayed on the display unit 930.
  • the audio codec 923 decompresses the audio stream and performs D / A conversion to generate an analog audio signal. Then, the audio codec 923 supplies the generated audio signal to the speaker 924 to output audio.
  • the image processing unit 927 has the functions of the image encoding device 10 and the image decoding device 60 according to the above-described embodiment. Accordingly, an improved mechanism for setting blocks in the enhancement layer can be adopted for multi-codec scalable encoding and decoding of images in the mobile phone 920, and encoding efficiency can be increased.
  • FIG. 30 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 device 940 includes a tuner 941, an external interface 942, an encoder 943, an HDD (Hard Disk Drive) 944, a disk drive 945, a selector 946, a decoder 947, an OSD (On-Screen Display) 948, a control unit 949, and a user interface. 950.
  • Tuner 941 extracts a signal of a desired channel from a broadcast signal received via an antenna (not shown), and demodulates the extracted signal. Then, the tuner 941 outputs the encoded bit stream obtained by the demodulation to the selector 946. That is, the tuner 941 has a role as a transmission unit in the recording / reproducing apparatus 940.
  • the external interface 942 is an interface for connecting the recording / reproducing apparatus 940 to an external device or a network.
  • the external interface 942 may be, for example, an IEEE 1394 interface, a network interface, a USB interface, or a flash memory interface.
  • video data and audio data received via the external interface 942 are input to the encoder 943. That is, the external interface 942 serves as a transmission unit in the recording / reproducing device 940.
  • the encoder 943 encodes video data and audio data when the video data and audio data input from the external interface 942 are not encoded. Then, the encoder 943 outputs the encoded bit stream to the selector 946.
  • the HDD 944 records an encoded bit stream in which content data such as video and audio is compressed, various programs, and other data on an internal hard disk. Also, the HDD 944 reads out these data from the hard disk when playing back video and audio.
  • the disk drive 945 performs recording and reading of data to and from the mounted recording medium.
  • the recording medium loaded in the disk drive 945 may be, 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. .
  • 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 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 device 940 according to an operation signal input from the user interface 950, for example, by executing the program.
  • the user interface 950 is connected to the control unit 949.
  • the user interface 950 includes, for example, buttons and switches for the user to operate the recording / reproducing device 940, a remote control signal receiving unit, and the like.
  • the user interface 950 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 949.
  • the encoder 943 has the function of the image encoding apparatus 10 according to the above-described embodiment.
  • the decoder 947 has the function of the image decoding device 60 according to the above-described embodiment.
  • FIG. 31 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 or a CMOS, 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.
  • the signal processing unit 963 performs various camera signal processing such as knee correction, gamma correction, and color correction on the image signal input from the imaging unit 962.
  • the signal processing unit 963 outputs the image data after the camera signal processing to the image processing unit 964.
  • the image processing unit 964 encodes the image data input from the signal processing unit 963 and generates encoded data. Then, the image processing unit 964 outputs the generated encoded data to the external interface 966 or the media drive 968. The image processing unit 964 also decodes encoded data input from the external interface 966 or the media drive 968 to generate image data. Then, the image processing unit 964 outputs the generated image data to the display unit 965. In addition, the image processing unit 964 may display the image by outputting the image data input from the signal processing unit 963 to the display unit 965. Further, the image processing unit 964 may superimpose display data acquired from the OSD 969 on an image output to the display unit 965.
  • the OSD 969 generates a GUI image such as a menu, a button, or a cursor, 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 mounted on the media drive 968 may be any readable / writable removable medium such as a magnetic disk, a magneto-optical disk, an optical disk, or a semiconductor memory. Further, a recording medium may be fixedly attached to 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.
  • a non-portable storage unit such as an internal hard disk drive or an SSD (Solid State Drive) may be configured.
  • the control unit 970 includes a processor such as a CPU and memories such as a RAM and a ROM.
  • the memory stores a program executed by the CPU, program data, and the like.
  • the program stored in the memory is read and executed by the CPU when the imaging device 960 is activated, for example.
  • the CPU controls the operation of the imaging device 960 according to an operation signal input from the user interface 971, for example, by executing the program.
  • the user interface 971 is connected to the control unit 970.
  • the user interface 971 includes, for example, buttons and switches for the user to operate the imaging device 960.
  • the user interface 971 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 970.
  • the image processing unit 964 has the functions of the image encoding device 10 and the image decoding device 60 according to the above-described embodiment. Accordingly, an improved mechanism for setting blocks in the enhancement layer can be adopted for multi-codec scalable encoding and decoding of images in the imaging device 960, and encoding efficiency can be increased.
  • the data transmission system 1000 includes a stream storage device 1001 and a distribution server 1002.
  • Distribution server 1002 is connected to several terminal devices via network 1003.
  • Network 1003 may be a wired network, a wireless network, or a combination thereof.
  • FIG. 32 shows a PC (Personal Computer) 1004, an AV device 1005, a tablet device 1006, and a mobile phone 1007 as examples of terminal devices.
  • PC Personal Computer
  • the stream storage device 1001 stores, for example, stream data 1011 including a multiplexed stream generated by the image encoding device 10.
  • the multiplexed stream includes a base layer (BL) encoded stream and an enhancement layer (EL) encoded stream.
  • the distribution server 1002 reads the stream data 1011 stored in the stream storage device 1001, and at least a part of the read stream data 1011 is transmitted via the network 1003 to the PC 1004, the AV device 1005, the tablet device 1006, and the mobile phone 1007. Deliver to.
  • the distribution server 1002 selects a stream to be distributed based on some condition such as the capability of the terminal device or the communication environment. For example, the distribution server 1002 may avoid the occurrence of delay, overflow, or processor overload in the terminal device by not distributing an encoded stream having a high image quality that exceeds the image quality that can be handled by the terminal device. . The distribution server 1002 may avoid occupying the communication band of the network 1003 by not distributing an encoded stream having high image quality. On the other hand, the distribution server 1002 distributes all of the multiplexed streams to the terminal device when there is no risk to be avoided or when it is determined to be appropriate based on a contract with the user or some condition. Good.
  • the distribution server 1002 reads the stream data 1011 from the stream storage device 1001. Then, the distribution server 1002 distributes the stream data 1011 as it is to the PC 1004 having high processing capability. Also, since the AV device 1005 has low processing capability, the distribution server 1002 generates stream data 1012 including only the base layer encoded stream extracted from the stream data 1011, and distributes the stream data 1012 to the AV device 1005. To do. Also, the distribution server 1002 distributes the stream data 1011 as it is to the tablet device 1006 that can communicate at a high communication rate. Further, since the cellular phone 1007 can communicate only at a low communication rate, the distribution server 1002 distributes the stream data 1012 including only the base layer encoded stream to the cellular phone 1007.
  • the multiplexed stream By using the multiplexed stream in this way, the amount of traffic to be transmitted can be adjusted adaptively.
  • the code amount of the stream data 1011 is reduced as compared with the case where each layer is individually encoded, even if the entire stream data 1011 is distributed, the load on the network 1003 is suppressed. Is done. Furthermore, memory resources of the stream storage device 1001 are also saved.
  • the hardware performance of terminal devices varies from device to device.
  • the communication capacity of the network 1003 also varies.
  • the capacity available for data transmission can change from moment to moment due to the presence of other traffic. Therefore, the distribution server 1002 transmits terminal information regarding the hardware performance and application capability of the terminal device, the communication capacity of the network 1003, and the like through signaling with the distribution destination terminal device before starting the distribution of the stream data. And network information may be acquired. Then, the distribution server 1002 can select a stream to be distributed based on the acquired information.
  • extraction of a layer to be decoded may be performed in the terminal device.
  • the PC 1004 may display a base layer image extracted from the received multiplexed stream and decoded on the screen. Further, the PC 1004 may extract a base layer encoded stream from the received multiplexed stream to generate stream data 1012, store the generated stream data 1012 in a storage medium, or transfer the stream data 1012 to another device. .
  • the configuration of the data transmission system 1000 shown in FIG. 32 is merely an example.
  • the data transmission system 1000 may include any number of stream storage devices 1001, a distribution server 1002, a network 1003, and terminal devices.
  • the data transmission system 1100 includes a broadcast station 1101 and a terminal device 1102.
  • the broadcast station 1101 broadcasts a base layer encoded stream 1121 on the terrestrial channel 1111.
  • the broadcast station 1101 transmits an enhancement layer encoded stream 1122 to the terminal device 1102 via the network 1112.
  • the terminal device 1102 has a reception function for receiving a terrestrial broadcast broadcast by the broadcast station 1101, and receives a base layer encoded stream 1121 via the terrestrial channel 1111. Also, the terminal device 1102 has a communication function for communicating with the broadcast station 1101 and receives the enhancement layer encoded stream 1122 via the network 1112.
  • the terminal device 1102 receives the base layer encoded stream 1121 in accordance with an instruction from the user, decodes the base layer image from the received encoded stream 1121, and displays the base layer image on the screen. Good. Further, the terminal device 1102 may store the decoded base layer image in a storage medium or transfer it to another device.
  • the terminal device 1102 receives, for example, the enhancement layer encoded stream 1122 via the network 1112 in accordance with an instruction from the user, and receives the base layer encoded stream 1121 and the enhancement layer encoded stream 1122. Multiplexed streams may be generated by multiplexing. Also, the terminal apparatus 1102 may decode the enhancement layer image from the enhancement layer encoded stream 1122 and display the enhancement layer image on the screen. In addition, the terminal device 1102 may store the decoded enhancement layer image in a storage medium or transfer it to another device.
  • the encoded stream of each layer included in the multiplexed stream can be transmitted via a different communication channel for each layer. Accordingly, it is possible to distribute the load applied to each channel and suppress the occurrence of communication delay or overflow.
  • the communication channel used for transmission may be dynamically selected according to some condition. For example, a base layer encoded stream 1121 having a relatively large amount of data is transmitted via a communication channel having a wide bandwidth, and an enhancement layer encoded stream 1122 having a relatively small amount of data is transmitted via a communication channel having a small bandwidth. Can be transmitted. Further, the communication channel for transmitting the encoded stream 1122 of a specific layer may be switched according to the bandwidth of the communication channel. Thereby, the load applied to each channel can be more effectively suppressed.
  • the configuration of the data transmission system 1100 shown in FIG. 33 is merely an example.
  • the data transmission system 1100 may include any number of communication channels and terminal devices.
  • the system configuration described here may be used for purposes other than broadcasting.
  • the data transmission system 1200 includes an imaging device 1201 and a stream storage device 1202.
  • the imaging device 1201 performs scalable coding on image data generated by imaging the subject 1211 and generates a multiplexed stream 1221.
  • the multiplexed stream 1221 includes a base layer encoded stream and an enhancement layer encoded stream. Then, the imaging device 1201 supplies the multiplexed stream 1221 to the stream storage device 1202.
  • the stream storage device 1202 stores the multiplexed stream 1221 supplied from the imaging device 1201 with different image quality for each mode. For example, the stream storage device 1202 extracts the base layer encoded stream 1222 from the multiplexed stream 1221 in the normal mode, and stores the extracted base layer encoded stream 1222. On the other hand, the stream storage device 1202 stores the multiplexed stream 1221 as it is in the high image quality mode. Thereby, the stream storage device 1202 can record a high-quality stream with a large amount of data only when it is desired to record a video with high quality. Therefore, it is possible to save memory resources while suppressing the influence of image quality degradation on the user.
  • the imaging device 1201 is assumed to be a surveillance camera.
  • the monitoring target for example, an intruder
  • the normal mode is selected.
  • the video is recorded with low image quality (that is, only the base layer coded stream 1222 is stored).
  • the monitoring target for example, the subject 1211 as an intruder
  • the high image quality mode is selected. In this case, since the captured image is likely to be important, priority is given to the high image quality, and the video is recorded with high image quality (that is, the multiplexed stream 1221 is stored).
  • the mode is selected by the stream storage device 1202 based on the image analysis result, for example.
  • the imaging device 1201 may select a mode. In the latter case, the imaging device 1201 may supply the base layer encoded stream 1222 to the stream storage device 1202 in the normal mode and supply the multiplexed stream 1221 to the stream storage device 1202 in the high image quality mode.
  • the selection criteria for selecting the mode may be any standard.
  • the mode may be switched according to the volume of sound acquired through a microphone or the waveform of sound. Further, the mode may be switched periodically. In addition, the mode may be switched according to an instruction from the user.
  • the number of selectable modes may be any number as long as the number of layers to be layered does not exceed.
  • the configuration of the data transmission system 1200 shown in FIG. 34 is merely an example.
  • the data transmission system 1200 may include any number of imaging devices 1201. Further, the system configuration described here may be used in applications other than the surveillance camera.
  • FIG. 35 is an explanatory diagram for describing a multi-view codec.
  • a sequence of frames of three views captured at three viewpoints is shown. Each view is given a view ID (view_id). Any one of the plurality of views is designated as a base view. Views other than the base view are called non-base views.
  • a view with a view ID “0” is a base view
  • two views with a view ID “1” or “2” are non-base views.
  • each view may correspond to a layer.
  • the non-base view image is encoded and decoded with reference to the base view image (other non-base view images may also be referred to).
  • FIG. 36 is a block diagram illustrating a schematic configuration of an image encoding device 10v that supports a multi-view codec.
  • the image encoding device 10v includes a first layer encoding unit 1c, a second layer encoding unit 1d, a common memory 2, and a multiplexing unit 3.
  • the function of the first encoding unit 1c is the same as that of the first encoding unit 1a described with reference to FIG. 8 except that it receives a base view image instead of a base layer image as an input.
  • the first layer encoding unit 1c encodes the base view image and generates an encoded stream of the first layer.
  • the function of the second encoding unit 1d is the same as the function of the second encoding unit 1b described with reference to FIG. 8 except that it receives a non-base view image instead of the enhancement layer image as an input.
  • the second layer encoding unit 1d encodes the non-base view image and generates a second layer encoded stream.
  • the common memory 2 stores information commonly used between layers.
  • the multiplexing unit 3 multiplexes the encoded stream of the first layer generated by the first layer encoding unit 1c and the encoded stream of the second layer generated by the second layer encoding unit 1d. A multiplexed stream of layers is generated.
  • FIG. 37 is a block diagram showing a schematic configuration of an image decoding device 60v that supports a multi-view codec.
  • the image decoding device 60v includes a demultiplexing unit 5, a first layer decoding unit 6c, a second layer decoding unit 6d, and a common memory 7.
  • the demultiplexer 5 demultiplexes the multi-layer multiplexed stream into the first layer encoded stream and the second layer encoded stream.
  • the function of the first layer decoding unit 6c is the same as the function of the first decoding unit 6a described with reference to FIG. 9 except that it receives an encoded stream in which a base view image is encoded instead of a base layer image as an input. It is equivalent.
  • the first layer decoding unit 6c decodes the base view image from the encoded stream of the first layer.
  • the function of the second decoding unit 6d is the function of the second decoding unit 6b described with reference to FIG. 9 except that it receives an encoded stream in which a non-base view image is encoded instead of the enhancement layer image as an input. Is equivalent to The second layer decoding unit 6d decodes the non-base view image from the second layer encoded stream.
  • the common memory 7 stores information commonly used between layers.
  • encoding efficiency may be improved by setting blocks in a non-base view layer according to the technique according to the present disclosure.
  • the technology according to the present disclosure may be applied to a streaming protocol.
  • a streaming protocol For example, in MPEG-DASH (Dynamic Adaptive Streaming over HTTP), a plurality of encoded streams having different parameters such as resolution are prepared in advance in a streaming server. Then, the streaming server dynamically selects appropriate data to be streamed from a plurality of encoded streams in units of segments, and distributes the selected data.
  • the technology according to the present disclosure may be employed.
  • a multi-codec scalable in which a base layer is encoded by a macroblock-based image encoding scheme and an enhancement layer is encoded by a CU-based image encoding scheme that is recursively divided into blocks.
  • a CU is set in the enhancement layer according to the block size set in the base layer. Therefore, higher encoding efficiency can be achieved as compared with a method of forming a Quad-Tree structure from scratch in the enhancement layer.
  • the maximum size of the CU that is, the LCU size is determined using the block size in the base layer and the scalability ratio between layers.
  • the block division into CUs in the LCU does not necessarily depend on the block size in the base layer. Therefore, the coding efficiency of the enhancement layer can be optimized by taking advantage of the flexibility of the Quad-Tree structure unique to HEVC, without being constrained by the lattice-like macroblock structure of the base layer.
  • the LCU size is determined by using the macroblock size and the scalability ratio, it is not necessary to encode the block size information in the enhancement layer, so that the code amount can be reduced. Further, when the candidates for the LCU size are narrowed down based on the product of the macroblock size and the scalability ratio, the flexibility of setting the LCU size can be obtained while reducing the code amount.
  • 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.
  • a first setting unit that sets a macroblock in a base layer decoded by a first coding scheme based on a macroblock having a fixed size
  • a second encoding unit is set according to the block size set by the first setting unit in the enhancement layer decoded by the second encoding method based on the encoding unit that is recursively divided into blocks.
  • An image processing apparatus comprising: (2) The image processing apparatus according to (1), wherein the second setting unit determines a size of a coding unit using a macroblock size and a scalability ratio between layers.
  • the image processing apparatus according to (3) or (4), wherein the second setting unit determines a minimum size of an encoding unit according to a parameter acquired from an encoded stream.
  • a first prediction unit that sets a first prediction block in the base layer and executes intra prediction or inter prediction for the first prediction block;
  • a second prediction block corresponding to the first prediction block is set in the enhancement layer using the size of the first prediction block and the scalability ratio, and intra prediction is performed for the second prediction block.
  • a second prediction unit that performs inter prediction;
  • the image processing apparatus according to any one of (2) to (6), further including: (8)
  • the second prediction unit determines the size of the second prediction block by multiplying the size of the first prediction block set by the first prediction unit by the scalability ratio.
  • the second prediction unit is a parameter acquired from an encoded stream among a plurality of sizes narrowed down based on a product of the size of the first prediction block set by the first prediction unit and the scalability ratio.
  • the image processing device according to (7), wherein the size selected according to is determined as the size of the second prediction block.
  • the first prediction unit and the second prediction unit perform inter prediction, The second prediction unit is obtained from an encoded stream among a plurality of sizes narrowed down according to whether the first prediction unit uses division into sub-macroblocks when setting the first prediction block. Determining a size selected according to a parameter to be the size of the second prediction block; The image processing apparatus according to (7).
  • a first transform unit that sets a first transform block in the base layer and performs inverse orthogonal transform on the first transform block; Using the size of the first transform block and the scalability ratio, a second transform block corresponding to the first transform block is set in the enhancement layer, and the second transform block is inversely orthogonal.
  • the second conversion unit is a parameter acquired from an encoded stream among a plurality of sizes narrowed down based on a product of the size of the first conversion block set by the first conversion unit and the scalability ratio.
  • An image processing method including: (15) A first setting unit that sets a macroblock in a base layer that is encoded by a first encoding scheme based on a macroblock having a fixed size; A coding unit is set according to the block size set by the first setting unit in the enhancement layer coded by the second coding method based on the coding unit that is recursively divided into blocks.
  • An image processing apparatus comprising: (16) The image processing device according to (15), wherein the second setting unit determines a size of a coding unit using a macroblock size and a scalability ratio between layers. (17) The image processing device according to (16), wherein the second setting unit determines a maximum size of a coding unit by multiplying the macroblock size by the scalability ratio. (18) The image processing apparatus according to (17), wherein the second setting unit determines a minimum size of a coding unit by multiplying a sub macroblock size by the scalability ratio. (19) The image processing apparatus according to (17), wherein the second setting unit generates a parameter indicating a size selected as a minimum size of a coding unit.
  • Image encoding device (image processing device) 12a Block setting unit (first setting unit) 12b Block setting unit (second setting unit) 14a Orthogonal transformation unit (first transformation unit) 14b Orthogonal transformation unit (second transformation unit) 30a Intra prediction unit (first prediction unit) 30b Intra prediction unit (second prediction unit) 40a Inter prediction unit (first prediction unit) 40b Inter prediction unit (second prediction unit) 60 Image decoding device (image processing device) 62a Block setting unit (first setting unit) 62b Block setting unit (second setting unit) 64a Inverse orthogonal transform unit (first transform unit) 64b Inverse orthogonal transform unit (second transform unit) 80a Intra prediction unit (first prediction unit) 80b Intra prediction unit (second prediction unit) 90a Inter prediction unit (first prediction unit) 90b Inter prediction unit (second prediction unit)

Landscapes

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

Abstract

【課題】マルチコーデックのスケーラブル符号化における、エンハンスメントレイヤにブロックを設定するための改善された仕組みを提供すること。 【解決手段】固定的なサイズを有するマクロブロックに基づく第1の符号化方式で復号されるベースレイヤ内にマクロブロックを設定する第1設定部と、再帰的にブロック分割される符号化単位に基づく第2の符号化方式で復号されるエンハンスメントレイヤ内に、前記第1設定部により設定されるブロックサイズに応じて、符号化単位を設定する第2設定部と、を備える画像処理装置を提供する。

Description

画像処理装置及び画像処理方法
 本開示は、画像処理装置及び画像処理方法に関する。
 現在、H.264/AVCよりも符号化効率をさらに向上することを目的として、ITU-TとISO/IECとの共同の標準化団体であるJCTVC(Joint Collaboration Team-Video Coding)により、HEVC(High Efficiency Video Coding)と呼ばれる画像符号化方式の標準化が進められている。HEVC規格については、2012年2月に最初のドラフト版の仕様であるCommittee draftが発行されている(例えば、下記非特許文献1参照)。
 また、異なる画像符号化方式で符号化ストリームを復号することを可能とするために、スケーラブル符号化におけるベースレイヤを旧来の画像符号化方式で符号化し、エンハンスメントレイヤをHEVCで符号化することも提案されている(例えば、下記非特許文献2参照)。
 スケーラブル符号化(SVC(Scalable Video Coding)ともいう)とは、一般には、粗い画像信号を伝送するレイヤと精細な画像信号を伝送するレイヤとを階層的に符号化する技術をいう。スケーラブル符号化において階層化される典型的な属性は、主に次の3種類である。
  -空間スケーラビリティ:空間解像度あるいは画像サイズが階層化される。
  -時間スケーラビリティ:フレームレートが階層化される。
  -SNR(Signal to Noise Ratio)スケーラビリティ:SN比が階層化される。
さらに、標準規格で未だ採用されていないものの、ビット深度スケーラビリティ及びクロマフォーマットスケーラビリティもまた議論されている。
 スケーラブル符号化では、レイヤ間で共有可能なパラメータを1つのレイヤ内でのみ符号化することで、符号化効率を高めることができる。
Benjamin Bross, Woo-Jin Han, Jens-Rainer Ohm, Gary J. Sullivan, Thomas Wiegand, "High efficiency video coding (HEVC) text specification draft 6"(JCTVC-H1003 ver20, 2012年2月17日) Ajay Luthra, Jens-Rainer Ohm, Joern Ostermann, "Draft requirements for the scalable enhancement of HEVC"(ISO/IEC JTC1/SC29/WG11 N12400,2011年11月)
 しかしながら、HEVCでは、画像を再帰的にブロック分割することにより形成されるQuad-Tree構造内の符号化単位ごとに符号化処理が行われる。これに対し、MPEG2又はAVCなどの旧来の画像符号化方式では、固定的なサイズを有するマクロブロックごとに符号化処理が行われる。そして、ベースレイヤを旧来の画像符号化方式で、エンハンスメントレイヤをHEVCでそれぞれ符号化しようとするマルチコーデックのスケーラブル符号化において、レイヤ間でどのようにブロック構造をマッピングすべきかについての最適な解決策は未だ提示されていない。
 例えば、ベースレイヤにおけるマクロブロック構造を全く無視してエンハンスメントレイヤにおいてQuad-Tree構造を一から形成するとすれば、レイヤ間のブロックのマッピングが失われる。この場合、ブロックごとに設定される様々なパラメータをレイヤ間で再利用することが困難となり、スケーラブル符号化の利点が失われ、符号化効率は低下する。
 そこで、マルチコーデックのスケーラブル符号化において、エンハンスメントレイヤにブロックを設定するための改善された仕組みが提供されることが望ましい。
 本開示によれば、固定的なサイズを有するマクロブロックに基づく第1の符号化方式で復号されるベースレイヤ内にマクロブロックを設定する第1設定部と、再帰的にブロック分割される符号化単位に基づく第2の符号化方式で復号されるエンハンスメントレイヤ内に、前記第1設定部により設定されるブロックサイズに応じて、符号化単位を設定する第2設定部と、を備える画像処理装置が提供される。
 上記画像処理装置は、典型的には、画像を復号する画像復号装置として実現され得る。
 また、本開示によれば、固定的なサイズを有するマクロブロックに基づく第1の符号化方式で復号されるベースレイヤ内にマクロブロックを設定することと、再帰的にブロック分割される符号化単位に基づく第2の符号化方式で復号されるエンハンスメントレイヤ内に、前記ベースレイヤ内に設定されたブロックサイズに応じて、符号化単位を設定することと、を含む画像処理方法が提供される。
 また、本開示によれば、固定的なサイズを有するマクロブロックに基づく第1の符号化方式で符号化されるベースレイヤ内にマクロブロックを設定する第1設定部と、再帰的にブロック分割される符号化単位に基づく第2の符号化方式で符号化されるエンハンスメントレイヤ内に、前記第1設定部により設定されるブロックサイズに応じて、符号化単位を設定する第2設定部と、を備える画像処理装置が提供される。
 上記画像処理装置は、典型的には、画像を符号化する画像符号化装置として実現され得る。
 また、本開示によれば、固定的なサイズを有するマクロブロックに基づく第1の符号化方式で符号化されるベースレイヤ内にマクロブロックを設定することと、再帰的にブロック分割される符号化単位に基づく第2の符号化方式で符号化されるエンハンスメントレイヤ内に、前記ベースレイヤ内に設定されるブロックサイズに応じて、符号化単位を設定することと、を含む画像処理方法が提供される。
 本開示に係る技術によれば、マルチコーデックのスケーラブル符号化における、エンハンスメントレイヤにブロックを設定するための改善された仕組みに従って、符号化効率を高めることができる。
スケーラブル符号化について説明するための説明図である。 HEVCにおける符号化単位のQuad-Tree構造について説明するための説明図である。 HEVCのLCUサイズを設定するための第1の手法について説明するための説明図である。 HEVCのLCUサイズを設定するための第2の手法について説明するための説明図である。 HEVCのSCUサイズを設定するための第1の手法について説明するための説明図である。 HEVCのSCUサイズを設定するための第2の手法について説明するための説明図である。 HEVCのTUサイズを設定するための第1の手法について説明するための説明図である。 HEVCのTUサイズを設定するための第2の手法について説明するための説明図である。 HEVCのPUサイズを設定するための第1の手法について説明するための説明図である。 HEVCのPUサイズを設定するための第2の手法について説明するための説明図である。 AVCのインター予測において利用可能な予測ブロックサイズの候補を示す説明図である。 HEVCのインター予測のPUサイズを設定するための第3の手法について説明するための説明図である。 一実施形態に係る画像符号化装置の概略的な構成を示すブロック図である。 一実施形態に係る画像復号装置の概略的な構成を示すブロック図である。 図8に示した第1符号化部及び第2符号化部の構成の一例を示すブロック図である。 図10に示したブロック設定部の詳細な構成の一例を示すブロック図である。 図10に示した直交変換部の詳細な構成の一例を示すブロック図である。 図10に示したイントラ予測部の詳細な構成の一例を示すブロック図である。 図10に示したインター予測部の詳細な構成の一例を示すブロック図である。 符号化時のエンハンスメントレイヤにおけるブロック設定処理の流れの第1の例を示すフローチャートである。 符号化時のエンハンスメントレイヤにおけるブロック設定処理の流れの第2の例を示すフローチャートである。 符号化時のエンハンスメントレイヤにおける直交変換処理の流れの第1の例を示すフローチャートである。 符号化時のエンハンスメントレイヤにおける直交変換処理の流れの第2の例を示すフローチャートである。 符号化時のエンハンスメントレイヤにおけるイントラ予測処理の流れの第1の例を示すフローチャートである。 符号化時のエンハンスメントレイヤにおけるイントラ予測処理の流れの第2の例を示すフローチャートである。 符号化時のエンハンスメントレイヤにおけるインター予測処理の流れの第1の例を示すフローチャートである。 符号化時のエンハンスメントレイヤにおけるインター予測処理の流れの第2の例を示すフローチャートである。 図9に示した第1復号部及び第2復号部の構成の一例を示すブロック図である。 図19に示したブロック設定部の詳細な構成の一例を示すブロック図である。 図19に示した逆直交変換部の詳細な構成の一例を示すブロック図である。 図19に示したイントラ予測部の詳細な構成の一例を示すブロック図である。 図19に示したインター予測部の詳細な構成の一例を示すブロック図である。 復号時のエンハンスメントレイヤにおけるブロック設定処理の流れの第1の例を示すフローチャートである。 復号時のエンハンスメントレイヤにおけるブロック設定処理の流れの第2の例を示すフローチャートである。 復号時のエンハンスメントレイヤにおける逆直交変換処理の流れの第1の例を示すフローチャートである。 復号時のエンハンスメントレイヤにおける逆直交変換処理の流れの第2の例を示すフローチャートである。 復号時のエンハンスメントレイヤにおけるイントラ予測処理の流れの第1の例を示すフローチャートである。 復号時のエンハンスメントレイヤにおけるイントラ予測処理の流れの第2の例を示すフローチャートである。 復号時のエンハンスメントレイヤにおけるインター予測処理の流れの第1の例を示すフローチャートである。 復号時のエンハンスメントレイヤにおけるインター予測処理の流れの第2の例を示すフローチャートである。 テレビジョン装置の概略的な構成の一例を示すブロック図である。 携帯電話機の概略的な構成の一例を示すブロック図である。 記録再生装置の概略的な構成の一例を示すブロック図である。 撮像装置の概略的な構成の一例を示すブロック図である。 スケーラブル符号化の用途の第1の例について説明するための説明図である。 スケーラブル符号化の用途の第2の例について説明するための説明図である。 スケーラブル符号化の用途の第3の例について説明するための説明図である。 マルチビューコーデックについて説明するための説明図である。 マルチビューコーデックのための画像符号化装置の概略的な構成を示すブロック図である。 マルチビューコーデックのための画像復号装置の概略的な構成を示すブロック図である。
 以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
 また、以下の順序で説明を行う。
  1.概要
   1-1.課題の説明
   1-2.符号化単位に関するマッピング
   1-3.変換単位に関するマッピング
   1-4.予測単位に関するマッピング
   1-5.エンコーダの基本的な構成例
   1-6.デコーダの基本的な構成例
  2.一実施形態に係る符号化部の構成例
   2-1.全体的な構成
   2-2.ブロック設定部の詳細な構成
   2-3.直交変換部の詳細な構成
   2-4.イントラ予測部の詳細な構成
   2-5.インター予測部の詳細な構成
  3.一実施形態に係る符号化時の処理の流れ
   3-1.ブロック設定処理
   3-2.直交変換処理
   3-3.イントラ予測処理
   3-4.インター予測処理
  4.一実施形態に係る復号部の構成例
   4-1.全体的な構成
   4-2.ブロック設定部の詳細な構成
   4-3.逆直交変換部の詳細な構成
   4-4.イントラ予測部の詳細な構成
   4-5.インター予測部の詳細な構成
  5.一実施形態に係る復号時の処理の流れ
   5-1.ブロック設定処理
   5-2.逆直交変換処理
   5-3.イントラ予測処理
   5-4.インター予測処理
  6.応用例
   6-1.様々な製品への応用
   6-2.スケーラブル符号化の様々な用途
   6-3.その他
  7.まとめ
 <1.概要>
  [1-1.課題の説明]
 スケーラブル符号化においては、一連の画像をそれぞれ含む複数のレイヤが符号化される。ベースレイヤ(base layer)は、最初に符号化される、最も粗い画像を表現するレイヤである。ベースレイヤの符号化ストリームは、他のレイヤの符号化ストリームを復号することなく、独立して復号され得る。ベースレイヤ以外のレイヤは、エンハンスメントレイヤ(enhancement layer)と呼ばれる、より精細な画像を表現するレイヤである。エンハンスメントレイヤの符号化ストリームは、ベースレイヤの符号化ストリームに含まれる情報を用いて符号化される。従って、エンハンスメントレイヤの画像を再現するためには、ベースレイヤ及びエンハンスメントレイヤの双方の符号化ストリームが復号されることになる。スケーラブル符号化において扱われるレイヤの数は、2つ以上のいかなる数であってもよい。3つ以上のレイヤが符号化される場合には、最下位のレイヤがベースレイヤ、残りの複数のレイヤがエンハンスメントレイヤである。より上位のエンハンスメントレイヤの符号化ストリームは、より下位のエンハンスメントレイヤ又はベースレイヤの符号化ストリームに含まれる情報を用いて符号化され及び復号され得る。本明細書では、依存関係を有する少なくとも2つのレイヤのうち、依存される側のレイヤを下位レイヤ(lower layer)、依存する側のレイヤを上位レイヤ(upper layer)という。
 図1は、スケーラブル符号化される3つのレイヤL1、L2及びL3を示している。レイヤL1はベースレイヤであり、レイヤL2及びL3はエンハンスメントレイヤである。なお、ここでは、様々な種類のスケーラビリティのうち、空間スケーラビリティを例にとっている。レイヤL2のレイヤL1に対する空間解像度の比は、2:1(即ち、スケーラビリティ比SR=2.0)である。レイヤL3のレイヤL1に対する空間解像度の比は、4:1である。なお、スケーラビリティ比は、かかる例に限定されない。例えば、SR=1.5という非整数のスケーラビリティ比もまた採用され得る。
 ここで、ベースレイヤL1が、MPEG2又はAVCなどの、マクロブロックベースの画像符号化方式で符号化されるものとする。ベースレイヤL1のブロックB1は、1つのマクロブロックである。マクロブロックのサイズは固定的に定義されており、マクロブロックB1は、16×16画素のサイズを有する。さらに、エンハンスメントレイヤL2もまたマクロブロックベースの画像符号化方式で符号化されるとすると、レイヤL2のレイヤL1に対するスケーラビリティ比は2.0であるため、ブロックB1に対応するエンハンスメントレイヤL2内の画像領域は、4つのマクロブロックB21、B22、B23及びB24に分割され得る。
 これに対し、エンハンスメントレイヤL2がHEVCで符号化されるとすると、事情は異なる。HEVCでは、画像を再帰的にブロック分割することにより形成されるQuad-Tree(四分木)構造内の符号化単位ごとに符号化処理が行われる。図2は、HEVCにおける符号化単位のQuad-Tree構造について説明するための説明図である。図2の左には、人物の顔が映っている画像IM01が示されている。画像IM01は、まず、シーケンスパラメータセット(SPS)内で指定されるサイズを有する複数のLCU(最大符号化単位:Largest Coding Unit)に分割される。利用可能な最大のLCUサイズは、64×64画素である。さらに、各LCUは、同じくSPS内で指定されるSCU(最小符号化単位:Smallest Coding Unit)を下回らない範囲で、1つ以上のCU(符号化単位:Coding Unit)に再帰的に分割される。図2の右には、テクスチャ境界が横切るLCU0が複数のCUに再帰的に分割される様子が拡大して示されている。テクスチャ境界の近傍領域では、分割を繰り返すことでより小さいCUが設定され、それ以外の領域では、分割の回数をより少なくすることでより大きいCUが設定されている。例えば、LCU0のサイズが64×64画素であるとすると、CU01のサイズは32×32画素、CU02のサイズは16×16画素、CU03のサイズは8×8画素である。さらに、図示していないものの、各CUは、それぞれ直交変換の処理単位となる複数のTU(変換単位:Transform Unit)に分割される。また、各CUは、それぞれイントラ予測又はインター予測の処理単位となる複数のPU(予測単位:Prediction Unit)に分割される。このような再帰的なブロック分割によれば、画像の内容に応じて符号化処理の処理単位のサイズを柔軟に変化させて、高精細な画像の符号化効率を高めることができる。
 再び図1を参照すると、ベースレイヤL1がAVCで符号化され、エンハンスメントレイヤL2がHEVCで符号化される場合に、最も単純な手法によれば、ブロックB21、B22、B23及びB24から構成される、ブロックB1に対応する32×32画素の1つのCUがエンハンスメントレイヤL2に設定され得る。しかし、ブロックB21、B22、B23及びB24のうち例えばブロックB21にのみ何らかのテクスチャが存在する場合には、これら4つのブロックから構成される1つのCUではなく、より小さいCUを設定する方が符号化効率の観点で望ましい可能性がある。逆に、隣接する周囲の領域との間でテクスチャが共通している場合には、上記4つのブロックから構成される1つのCUではなく、より大きいCUを設定する方が望ましい可能性もある。従って、ベースレイヤL1の格子状のマクロブロック構造を単純にエンハンスメントレイヤL2において再利用する手法では、HEVCに特有のQuad-Tree構造の利点を享受できず、符号化効率は最適化されない。
 また、ベースレイヤL1におけるマクロブロック構造を全く無視してエンハンスメントレイヤL2においてQuad-Tree構造を一から形成するとすれば、レイヤ間のブロックのマッピングが失われる。この場合、ブロックごとに設定される様々なパラメータをレイヤ間で再利用することが困難となり、やはり符号化効率は最適化されない。
 そこで、本明細書では、これら問題点が解決され又は少なくとも部分的に改善されるように、マルチコーデックのスケーラブル符号化におけるレイヤ間のブロックのマッピングを定義する。そして、そのマッピングに従って画像を符号化し又は復号する装置の構成の一例を説明する。
 なお、以下の説明では、一例として、ベースレイヤがAVC(Advanced Video Coding)で符号化され、エンハンスメントレイヤがHEVC(High Efficiency Video Coding)で符号化されるものとする。但し、本開示に係る技術は、かかる例に限定されず、他の画像符号化方式の組合せ(例えば、ベースレイヤがMPEG2で符号化され、エンハンスメントレイヤがHEVCで符号化される、など)にも適用可能である。また、本開示に係る技術は、図1に例示した空間スケーラビリティのみならず、SNRスケーラビリティ、ビット深度スケーラビリティ及びクロマフォーマットスケーラビリティにも適用可能である。
  [1-2.符号化単位に関するマッピング]
 CUに関するマッピングの基本的な考え方として、本開示に係る技術では、ベースレイヤ内に設定されるマクロブロックのブロックサイズに応じて、HEVCで符号化されるエンハンスメントレイヤ内にCUを設定する。即ち、エンハンスメントレイヤでは、Quad-Tree構造が一から形成されるのではなく、ベースレイヤにおけるマクロブロックサイズを利用してQuad-Tree構造が形成される。
 より具体的には、エンハンスメントレイヤにおけるLCUサイズを、ベースレイヤにおけるマクロブロックサイズとスケーラビリティ比との積と同等か又は当該積よりも大きい値に設定する。実際に設定されるLCUサイズは、利用可能なサイズのうち上記積に最も近いサイズとして決め打ちで(deterministically)決定されてもよく、又は上記積を基準として絞り込まれる複数のサイズから選択されてもよい。このように設定される各LCUは、ベースレイヤにおけるマクロブロックサイズに関わらず、より小さいCUに柔軟に分割されてよい。
 図3Aは、HEVCのLCUサイズを設定するための第1の手法について説明するための説明図である。第1の手法では、LCUサイズは、決め打ちで決定される。図3Aの左には、AVCにおいて16×16画素のブロックサイズを有するマクロブロックが示されている。図3Aの右には、HEVCにおいて利用可能な4種類のブロックサイズ(64×64画素、32×32画素、16×16画素及び8×8画素)をそれぞれ有する4つのLCUが示されている。例えば、スケーラビリティ比SR=2.0である場合には、マクロブロックサイズとスケーラビリティ比との積は、16×2.0=32である。この場合、エンハンスメントレイヤにおけるLCUサイズは、32×32画素に決め打ちで設定されてよい。同様にして、3.0≦SRである場合にはLCUサイズは64×64画素に、1.5≦SR<3.0である場合にはLCUサイズは32×32画素に、1.0≦SR<1.5である場合にはLCUサイズは16×16画素にそれぞれ決め打ちで設定されてよい。このような第1の手法によれば、エンハンスメントレイヤにおいて、LCUサイズを示すパラメータを追加的に符号化することなく、LCUサイズを決定することができる。
 図3Bは、HEVCのLCUサイズを設定するための第2の手法について説明するための説明図である。第2の手法では、LCUサイズは、マクロブロックサイズとスケーラビリティ比との積を基準として絞り込まれる1つ以上のサイズの候補から選択される。例えば、スケーラビリティ比SR=2.0である場合には、マクロブロックサイズとスケーラビリティ比との積は、16×2.0=32である。そこで、エンハンスメントレイヤにおけるLCUサイズは、当該積以上の2種類のサイズ、即ち64×64画素及び32×32画素から選択される。例えば、ベースレイヤにおけるマクロブロックに対応する領域よりも広いCUを設定することが望ましい場合には64×64画素のLCUサイズが選択され、そうでない場合には32×32画素のLCUサイズが選択されてもよい。第2の手法では、エンハンスメントレイヤにおいて、LCUサイズを示すパラメータ(LCUサイズ情報)が追加的に生成され、生成されたパラメータが符号化される。但し、選択されるLCUサイズの候補が絞り込まれるため、追加的に符号化されるパラメータのビット数は、全ての種類のLCUサイズが選択可能である場合と比較して少なくて済む。図3Bの例では、追加的に符号化されるパラメータのビット数は1であり、例えばパラメータ値“0”は64×64画素、パラメータ値“1”は32×32画素をそれぞれ示し得る(その逆であってもよい)。このような第2の手法によれば、エンハンスメントレイヤにおいて、LCUサイズの選択の柔軟性を残しつつ、LCUサイズを示すパラメータの符号量を削減することができる。
 なお、LCUサイズの候補を絞り込むための手法は、図3Bに例示した手法に限定されない。例えば、スケーラビリティ比が2のべき乗に等しくない場合には、HEVCにおいて、マクロブロックサイズとスケーラビリティ比との積に一致するLCUサイズは利用可能でない。この場合、LCUサイズの候補は、上記積よりも大きい利用可能なLCUサイズのうちの最小のサイズと、上記積よりも小さい利用可能なLCUサイズのうちの最大のサイズとに絞り込まれてもよい。例えば、スケーラビリティ比SR=1.5であれば、マクロブロックサイズとスケーラビリティ比との積は、16×1.5=24である。従って、LCUサイズの候補は、16×16画素及び32×32画素の2種類に絞り込まれてもよい。この場合、いずれのLCUサイズが選択されたかを示す1ビットのパラメータが生成され、生成されたパラメータが符号化される。デコーダは、かかるパラメータを復号し、復号したパラメータを参照してLCUサイズを選択する。以下に説明するSCUサイズ、TUサイズ及びPUサイズの絞り込みについても同様のアイディアが適用されてよい。
 エンハンスメントレイヤにおけるSCUサイズは、所望のブロック分割が可能となるように、LCUサイズ以下の値に設定され得る。SCUサイズは、ベースレイヤのブロックサイズに依存することなく決定されてもよい。その代わりに、SCUサイズは、ベースレイヤにおいてサブマクロブロックサイズが定義されている場合には、サブマクロブロックサイズとスケーラビリティ比との積に応じて決定されてもよい。
 図4Aは、HEVCのSCUサイズを設定するための第1の手法について説明するための説明図である。第1の手法では、SCUサイズは、決め打ちで決定される。図4Aの左には、AVCにおいて8×8画素のブロックサイズを有するサブマクロブロックが示されている。図4Aの右には、4種類のブロックサイズ(64×64画素、32×32画素、16×16画素及び8×8画素)をそれぞれ有する4つのSCUが示されている。例えば、スケーラビリティ比SR=2.0である場合には、サブマクロブロックサイズとスケーラビリティ比との積は、8×2.0=16である。この場合、エンハンスメントレイヤにおけるSCUサイズは、16×16画素に決め打ちで設定されてよい。同様にして、3.0≦SRである場合にはSCUサイズは32×32画素に、1.5≦SR<3.0である場合にはSCUサイズは32×32画素に、1.0≦SR<1.5である場合にはSCUサイズは16×16画素にそれぞれ決め打ちで設定されてよい。このような第1の手法によれば、エンハンスメントレイヤにおいて、SCUサイズを示すパラメータを追加的に符号化することなく、SCUサイズを決定することができる。
 図4Bは、HEVCのSCUサイズを設定するための第2の手法について説明するための説明図である。第2の手法では、SCUサイズは、LCUサイズ以下の複数のサイズから選択される。例えば、図4Bにおいて、LCUサイズは、32×32画素に設定されている。従って、SCUサイズの候補は、32×32画素、16×16画素及び8×8画素を含み得る。例えば、より細かいブロック分割を可能とすることが望ましい場合には、より小さいSCUサイズが選択されてよい。第2の手法では、エンハンスメントレイヤにおいて、SCUサイズを示すパラメータ(SCUサイズ情報)が追加的に生成され、生成されたパラメータが符号化される。図4Bの例では、パラメータ値“0”は32×32画素、パラメータ値“1”は16×16画素、パラメータ値“2”は8×8画素、をそれぞれ示し得る。
 なお、本項で説明したLCUを設定するための手法とSCUを設定するための手法とは、どのように組合わされてもよい。
  [1-3.変換単位に関するマッピング]
 TUに関するマッピングの基本的な考え方は、CUに関するマッピングと類似する。本開示に係る技術では、ベースレイヤ内に設定される変換ブロックのサイズ、即ちDCT(Discrete Cosine Transform)サイズに応じて、エンハンスメントレイヤ内に設定されるTUのサイズが決定される。
 AVCでは、直交変換の処理単位となる変換ブロックのDCTサイズは、8×8画素及び4×4画素から選択される。HEVCでは、直交変換の処理単位となる変換ブロックのサイズ(即ち、TUサイズ)は、32×32画素、16×16画素、8×8画素及び4×4画素から選択される。エンハンスメントレイヤにおいて実際に設定されるTUサイズは、利用可能なサイズのうち、ベースレイヤにおいて設定されたDCTサイズとスケーラビリティ比との積に最も近いサイズとして決め打ちで決定されてもよい。その代わりに、上記積を基準として絞り込まれる複数のサイズから、実際に設定されるTUサイズが選択されてもよい。
 図5Aは、HEVCのTUを設定するための第1の手法について説明するための説明図である。第1の手法では、TUサイズは、決め打ちで決定される。図5Aの左には、AVCにおいて8×8画素のDCTサイズが設定されたことが、点線枠で示されている。図5Aの右には、HEVCにおいて利用可能な4種類のTUサイズ(32×32画素、16×16画素、8×8画素及び4×4画素)をそれぞれ有する4つのTUが示されている。例えば、スケーラビリティ比SR=2.0である場合には、DCTサイズとスケーラビリティ比との積は、8×2.0=16である。この場合、エンハンスメントレイヤにおけるTUサイズは、16×16画素に決め打ちで設定されてよい。同様にして、3.0≦SRである場合にはTUサイズは32×32画素に、1.5≦SR<3.0である場合にはTUサイズは16×16画素に、1.0≦SR<1.5である場合にはTUサイズは8×8画素にそれぞれ決め打ちで設定されてよい。このような第1の手法によれば、エンハンスメントレイヤにおいて、TUサイズを示すパラメータを追加的に符号化することなく、TUサイズを決定することができる。
 図5Bは、HEVCのTUを設定するための第2の手法について説明するための説明図である。第2の手法では、TUサイズは、DCTサイズとスケーラビリティ比との積を基準として絞り込まれる1つ以上のサイズの候補から選択される。例えば、スケーラビリティ比SR=2.0であって、ベースレイヤにおいて設定されたDCTサイズが8×8画素であるものとする。この場合、DCTサイズとスケーラビリティ比との積は、8×2.0=16である。ここで、ベースレイヤにおいて8×8画素よりも小さいDCTサイズが選択されなかった事実を考慮すれば、エンハンスメントレイヤにおいて16×16画素よりも小さいDCTサイズを候補から除外しても、符号化効率にネガティブな影響は生じないと言える。よって、この場合、エンハンスメントレイヤにおけるTUサイズの候補は、32×32画素及び16×16画素の2種類に絞り込まれる。そして、実際に設定されたTUサイズを示すパラメータ(TUサイズ情報)が追加的に生成され、生成されたパラメータが符号化される。同様に、例えば、スケーラビリティ比SR=2.0であって、ベースレイヤにおいて設定されたDCTサイズが4×4画素であるものとする。この場合、DCTサイズとスケーラビリティ比との積は、4×2.0=8.0である。ここで、ベースレイヤにおいて4×4画素よりも大きいDCTサイズが選択されなかった事実を考慮すれば、エンハンスメントレイヤにおいて8×8画素よりも大きいDCTサイズを候補から除外しても、符号化効率にネガティブな影響は生じないと言える。よって、この場合、エンハンスメントレイヤにおけるTUサイズの候補は、8×8画素及び4×4画素の2種類に絞り込まれる。そして、実際に設定されたTUサイズを示すパラメータ(TUサイズ情報)が追加的に生成され、生成されたパラメータが符号化される。いずれの場合にも、TUサイズの候補が絞り込まれるため、追加的に符号化されるパラメータのビット数は、全ての種類のTUサイズが選択可能である場合と比較して少なくて済む。このような第2の手法によれば、エンハンスメントレイヤにおいて、TUサイズの選択の柔軟性を残しつつ、TUサイズを示すパラメータの符号量を削減することができる。
  [1-4.予測単位に関するマッピング]
 PUに関するマッピングの基本的な考え方は、TUに関するマッピングと類似する。本開示に係る技術では、ベースレイヤ内に設定される予測ブロックのサイズに応じて、エンハンスメントレイヤ内に設定されるPUのサイズが決定される。
 AVCでは、予測の処理単位となる予測ブロックのサイズ(即ち、予測ブロックサイズ)は、イントラ予測について、16×16画素、8×8画素及び4×4画素から選択される。インター予測(動き補償)については、8×16画素、16×8画素、4×8画素及び8×4画素の非正方形の予測ブロックサイズもまた利用可能である。HEVCでは、予測の処理単位となる予測ブロックのサイズ(即ち、PUサイズ)は、イントラ予測について、64×64画素、32×32画素、16×16画素、8×8画素及び4×4画素から選択される。インター予測(動き補償)については、非正方形の予測ブロックサイズもまた利用可能である。エンハンスメントレイヤにおいて実際に設定されるPUサイズは、利用可能なサイズのうち、ベースレイヤにおいて設定された予測ブロックサイズとスケーラビリティ比との積に最も近いサイズとして決め打ちで決定されてもよい。その代わりに、上記積を基準として絞り込まれる複数のサイズから、実際に設定されるPUサイズが選択されてもよい。
 図6Aは、HEVCのPUを設定するための第1の手法について説明するための説明図である。ここでは、一例として、イントラ予測を説明の対象とする。第1の手法では、PUサイズは、決め打ちで決定される。図6Aの左には、AVCにおいて4×4画素の予測ブロックサイズが設定されたことが、点線枠で示されている。図6Aの右には、4種類のPUサイズ(32×32画素、16×16画素、8×8画素及び4×4画素)をそれぞれ有する4つのPUが示されている。例えば、スケーラビリティ比SR=2.0である場合には、予測ブロックサイズとスケーラビリティ比との積は、4×2.0=8.0である。この場合、エンハンスメントレイヤにおけるPUサイズは、8×8画素に決め打ちで設定されてよい。同様にして、6.0≦SRである場合にはPUサイズは32×32画素に、3.0≦SR<6.0である場合にはPUサイズは16×16画素に、1.5≦SR<3.0である場合にはPUサイズは8×8画素に、1.0≦SR<1.5である場合にはPUサイズは4×4画素に、それぞれ決め打ちで設定されてよい。このような第1の手法によれば、エンハンスメントレイヤにおいて、PUサイズを示すパラメータを追加的に符号化することなく、PUサイズを決定することができる。
 図6Bは、HEVCのPUを設定するための第2の手法について説明するための説明図である。ここでは、一例として、イントラ予測を説明の対象とする。第2の手法では、PUサイズは、予測ブロックサイズとスケーラビリティ比との積を基準として絞り込まれる1つ以上のサイズの候補から選択される。例えば、スケーラビリティ比SR=2.0であって、ベースレイヤにおいて設定された予測ブロックサイズが16×16画素であるものとする。この場合、予測ブロックサイズとスケーラビリティ比との積は、16×2.0=32である。ここで、ベースレイヤにおいて16×16画素よりも小さい予測ブロックサイズが選択されなかった事実を考慮すれば、エンハンスメントレイヤにおいて32×32画素よりも小さい予測ブロックサイズを候補から除外しても、符号化効率にネガティブな影響は生じないと言える。よって、この場合、エンハンスメントレイヤにおけるPUサイズの候補は、64×64画素及び32×32画素の2種類に絞り込まれる。そして、実際に設定されたPUサイズを示すパラメータ(PUサイズ情報)が追加的に生成され、生成されたパラメータが符号化される。同様に、例えば、スケーラビリティ比SR=2.0であって、ベースレイヤにおいて設定された予測ブロックサイズが4×4画素であるものとする。この場合、予測ブロックサイズとスケーラビリティ比との積は、4×2.0=8.0である。ここで、ベースレイヤにおいて4×4画素よりも大きい予測ブロックサイズが選択されなかった事実を考慮すれば、エンハンスメントレイヤにおいて8×8画素よりも大きい予測ブロックサイズを候補から除外しても、符号化効率にネガティブな影響は生じないと言える。よって、この場合、エンハンスメントレイヤにおけるPUサイズの候補は、8×8画素及び4×4画素の2種類に絞り込まれる。そして、実際に設定されたPUサイズを示すパラメータ(PUサイズ情報)が追加的に生成され、生成されたパラメータが符号化される。スケーラビリティ比SR=2.0であって、ベースレイヤにおいて設定された予測ブロックサイズが8×8画素である場合には、絞り込みの結果として、エンハンスメントレイヤにおけるPUサイズの候補は16×16画素のみとなる。この場合、エンハンスメントレイヤにおいて必然的に16×16画素のPUサイズが設定されてよく、PUサイズを示すパラメータは生成されない。いずれの場合にも、PUサイズの候補が絞り込まれるため、追加的に符号化されるパラメータのビット数は、全ての種類のPUサイズが選択可能である場合と比較して少なくて済む。このような第2の手法によれば、エンハンスメントレイヤにおいて、PUサイズの選択の柔軟性を残しつつ、PUサイズを示すパラメータの符号量を削減することができる。
 なお、図6A及び図6Bを用いて説明した2つの手法は、利用可能な予測ブロックの候補が異なるものの、HEVCのインター予測のPUを設定するために使用されてもよい。
 図7Aは、AVCのインター予測において利用可能な予測ブロックサイズの候補を示している。インター予測に際して、AVCでは、8×8画素以下のサイズを有する予測ブロックが使用される場合、即ちサブマクロブロックへの分割が使用される場合に、サブマクロブロックの形状及びサイズを示すサブマクロブロックタイプというパラメータが符号化される。そこで、エンハンスメントレイヤでは、サブマクロブロックへの分割が使用されたか、即ちサブマクロブロックタイプが符号化されているかに応じて、PUサイズの候補を絞り込んでもよい。
 図7Bは、HEVCのインター予測のPUサイズを設定するための第3の手法について説明するための説明図である。第3の手法では、PUサイズは、ベースレイヤの対応するブロックについてサブマクロブロックタイプが符号化されたかに応じて絞り込まれる。例えば、スケーラビリティ比SR=2.0であって、ベースレイヤにおいてサブマクロブロックタイプが符号化されていない場合、エンハンスメントレイヤにおけるPUサイズの候補は、16×16画素以上のサイズに絞り込まれ得る。そして、実際に設定されたPUサイズを示すパラメータ(PUサイズ情報)が追加的に生成され、生成されたパラメータが符号化される。一方、例えば、スケーラビリティ比SR=2.0であって、ベースレイヤにおいてサブマクロブロックタイプが符号化されている場合、エンハンスメントレイヤにおけるPUサイズの候補は、8×8画素以下のサイズに絞り込まれ得る。そして、実際に設定されたPUサイズを示すパラメータ(PUサイズ情報)が追加的に生成され、生成されたパラメータが符号化される。いずれの場合にも、PUサイズの候補が絞り込まれるため、追加的に符号化されるパラメータのビット数は、全ての種類のPUサイズが選択可能である場合と比較して少なくて済む。このような第3の手法においても、エンハンスメントレイヤにおいて、PUサイズの選択の柔軟性を残しつつ、PUサイズを示すパラメータの符号量を削減することができる。
  [1-5.エンコーダの基本的な構成例]
 図8は、スケーラブル符号化をサポートする、一実施形態に係る画像符号化装置10の概略的な構成を示すブロック図である。図8を参照すると、画像符号化装置10は、第1符号化部1a、第2符号化部1b、共通メモリ2及び多重化部3を備える。
 第1符号化部1aは、ベースレイヤ画像を符号化し、ベースレイヤの符号化ストリームを生成する。第2符号化部1bは、エンハンスメントレイヤ画像を符号化し、エンハンスメントレイヤの符号化ストリームを生成する。共通メモリ2は、レイヤ間で共通的に利用される情報を記憶する。多重化部3は、第1符号化部1aにより生成されるベースレイヤの符号化ストリームと、第2符号化部1bにより生成される1つ以上のエンハンスメントレイヤの符号化ストリームとを多重化し、マルチレイヤの多重化ストリームを生成する。
  [1-6.デコーダの基本的な構成例]
 図9は、スケーラブル符号化をサポートする、一実施形態に係る画像復号装置60の概略的な構成を示すブロック図である。図9を参照すると、画像復号装置60は、逆多重化部5、第1復号部6a、第2復号部6b及び共通メモリ7を備える。
 逆多重化部5は、マルチレイヤの多重化ストリームをベースレイヤの符号化ストリーム及び1つ以上のエンハンスメントレイヤの符号化ストリームに逆多重化する。第1復号部6aは、ベースレイヤの符号化ストリームからベースレイヤ画像を復号する。第2復号部6bは、エンハンスメントレイヤの符号化ストリームからエンハンスメントレイヤ画像を復号する。共通メモリ7は、レイヤ間で共通的に利用される情報を記憶する。
 図8に例示した画像符号化装置10において、ベースレイヤの符号化のための第1符号化部1aの構成と、エンハンスメントレイヤの符号化のための第2符号化部1bの構成とは、画像符号化方式の違いは存在するものの、互いに類似する。第1符号化部1aにより生成され又は取得されるいくつかのパラメータは、共通メモリ2を用いてバッファリングされ、第2符号化部1bにより再利用される。次節では、そのような第1符号化部1a及び第2符号化部1bの構成について詳細に説明する。
 同様に、図9に例示した画像復号装置60において、ベースレイヤの復号のための第1復号部6aの構成と、エンハンスメントレイヤの復号のための第2復号部6bの構成とは、画像符号化方式の違いは存在するものの、互いに類似する。第1復号部6aにより生成され又は取得されるいくつかのパラメータは、共通メモリ7を用いてバッファリングされ、第2復号部6bにより再利用される。さらに次の節では、そのような第1復号部6a及び第2復号部6bの構成について詳細に説明する。
 <2.一実施形態に係る符号化部の構成例>
  [2-1.全体的な構成]
 図10は、図8に示した第1符号化部1a及び第2符号化部1bの構成の一例を示すブロック図である。図10を参照すると、第1符号化部1aは、並び替えバッファ11、ブロック設定部12a、減算部13、直交変換部14a、量子化部15、可逆符号化部16a、蓄積バッファ17、レート制御部18、逆量子化部21、逆直交変換部22a、加算部23、デブロックフィルタ24、フレームメモリ25、セレクタ26及び27、イントラ予測部30a、及びインター予測部40aを備える。第2符号化部1bは、ブロック設定部12a、直交変換部14a、可逆符号化部16a、逆直交変換部22a、イントラ予測部30a及びインター予測部40aの代わりに、ブロック設定部12b、直交変換部14b、可逆符号化部16b、逆直交変換部22b、イントラ予測部30b及びインター予測部40bを備える。
 並び替えバッファ11は、一連の画像データに含まれる画像を並び替える。並び替えバッファ11は、符号化処理に係るGOP(Group of Pictures)構造に応じて画像を並び替えた後、並び替え後の画像データをブロック設定部12a又は12bへ出力する。
 ブロック設定部12aは、並び替えバッファ11から入力されるベースレイヤの画像データに、1つ以上のマクロブロックを設定する。例えば、AVCにおいてマクロブロックサイズは固定的に定義されており、マクロブロックサイズは共通メモリ2により予め記憶される。そして、ブロック設定部12aは、設定したマクロブロックごとに、画像データを減算部13、イントラ予測部30a、及びインター予測部40aへ出力する。
 ブロック設定部12bは、並び替えバッファ11から入力されるエンハンスメントレイヤの画像データについて、LCUサイズ及びSCUサイズを設定する。LCUサイズ及びSCUサイズの設定は、シーケンスごとに変更されてよい。ブロック設定部12bは、共通メモリ2により記憶されるマクロブロックサイズ及びスケーラビリティ比を用いて、LCUサイズを決定し得る。SCUサイズは、さらに共通メモリ2により記憶され得るサブマクロブロックサイズを参照することにより決定されてもよい。そして、ブロック設定部12bは、設定されたLCUごとに、画像データを減算部13、イントラ予測部30b、及びインター予測部40bへ出力する。
 減算部13には、ブロック設定部12a又は12bから入力される画像データ、及び後に説明するイントラ予測部30a若しくは30b又はインター予測部40a若しくは40bから入力される予測画像データが供給される。減算部13は、並び替えバッファ11から入力される画像データと予測画像データとの差分である予測誤差データを算出し、算出した予測誤差データを直交変換部14a又は14bへ出力する。
 直交変換部14aは、減算部13から入力されるベースレイヤの予測誤差データについて、マクロブロック内に変換ブロックを設定して、設定した変換ブロックごとに直交変換を実行する。直交変換部14aにより実行される直交変換は、例えば、離散コサイン変換(DCT)であってよい。直交変換部14aにより設定される変換ブロックのサイズは、8×8画素又は4×4画素である。直交変換部14aは、変換ブロックごとに直交変換処理により取得される変換係数データを量子化部15へ出力する。また、直交変換部14aは、設定した各変換ブロックのサイズを示すDCTサイズ情報を、共通メモリ2によりバッファリングさせる。
 直交変換部14bは、減算部13から入力されるエンハンスメントレイヤの予測誤差データについて、LCU内にTUを設定して、設定したTUごとに直交変換を実行する。直交変換部14bにより実行される直交変換もまた、離散コサイン変換(DCT)であってよい。直交変換部14bにより設定されるTUのサイズは、32×32画素、16×16画素、8×8画素又は4×4画素である。直交変換部14bは、共通メモリ2により記憶されるベースレイヤのDCTサイズ情報及びスケーラビリティ比を用いて、エンハンスメントレイヤに設定すべきTUサイズを決定し得る。直交変換部14bは、TUごとに直交変換処理により取得される変換係数データを量子化部15へ出力する。
 量子化部15には、直交変換部14a又は14bから入力される変換係数データ、及び後に説明するレート制御部18からのレート制御信号が供給される。量子化部15は、変換係数データを量子化し、量子化後の変換係数データ(以下、量子化データという)を可逆符号化部16a又は16b及び逆量子化部21へ出力する。また、量子化部15は、レート制御部18からのレート制御信号に基づいて量子化パラメータ(量子化スケール)を切り替えることにより、量子化データのビットレートを変化させる。
 可逆符号化部16aは、量子化部15から入力されるベースレイヤの量子化データについて可逆符号化処理を行うことにより、ベースレイヤの符号化ストリームを生成する。また、可逆符号化部16aは、ベースレイヤ内に設定された様々なブロックサイズに関する情報を符号化して、符号化パラメータを符号化ストリームのヘッダ領域内に多重化する。ここで符号化される情報は、例えば、DCTサイズ情報、イントラ予測に関する情報及びインター予測に関する情報を含み得る。そして、可逆符号化部16aは、生成した符号化ストリームを蓄積バッファ17へ出力する。
 可逆符号化部16bは、量子化部15から入力されるエンハンスメントレイヤの量子化データについて可逆符号化処理を行うことにより、エンハンスメントレイヤの符号化ストリームを生成する。また、可逆符号化部16bは、エンハンスメントレイヤ内に設定された様々なブロックサイズに関する情報を符号化して、符号化パラメータを符号化ストリームのヘッダ領域内に多重化する。ここで符号化される情報は、例えば、スケーラビリティ比、ブロックサイズ情報、各LCU内のブロック分割を示す分割フラグ(split_flag)、イントラ予測に関する情報及びインター予測に関する情報を含み得る。そして、可逆符号化部16bは、生成した符号化ストリームを蓄積バッファ17へ出力する。
 蓄積バッファ17は、可逆符号化部16aから入力されるベースレイヤの符号化ストリーム及び可逆符号化部16bから入力されるエンハンスメントレイヤの符号化ストリームを半導体メモリなどの記憶媒体を用いて一時的に蓄積する。そして、蓄積バッファ17は、蓄積した符号化ストリームを、伝送路の帯域に応じたレートで、図示しない伝送部(例えば、通信インタフェース又は周辺機器との接続インタフェースなど)へ出力する。
 レート制御部18は、蓄積バッファ17の空き容量を監視する。そして、レート制御部18は、蓄積バッファ17の空き容量に応じてレート制御信号を生成し、生成したレート制御信号を量子化部15へ出力する。例えば、レート制御部18は、蓄積バッファ17の空き容量が少ない時には、量子化データのビットレートを低下させるためのレート制御信号を生成する。また、例えば、レート制御部18は、蓄積バッファ17の空き容量が十分大きい時には、量子化データのビットレートを高めるためのレート制御信号を生成する。
 逆量子化部21は、量子化部15から入力される量子化データについて逆量子化処理を行う。そして、逆量子化部21は、逆量子化処理により取得される変換係数データを、逆直交変換部22a又は22bへ出力する。
 逆直交変換部22aは、逆量子化部21から入力されるベースレイヤの変換係数データについて、直交変換部14aにより設定された変換ブロックごとに逆直交変換処理を行うことにより、予測誤差データを復元する。そして、逆直交変換部22aは、復元した予測誤差データを加算部23へ出力する。
 逆直交変換部22bは、逆量子化部21から入力されるエンハンスメントレイヤの変換係数データについて、直交変換部14bにより設定されたTUごとに逆直交変換処理を行うことにより、予測誤差データを復元する。そして、逆直交変換部22bは、復元した予測誤差データを加算部23へ出力する。
 加算部23は、逆直交変換部22a又は22bから入力される復元された予測誤差データとイントラ予測部30a若しくは30b又はインター予測部40a若しくは40bから入力される予測画像データとを加算することにより、復号画像データ(いわゆるリコンストラクト画像)を生成する。そして、加算部23は、生成した復号画像データをデブロックフィルタ24及びフレームメモリ25へ出力する。
 デブロックフィルタ24は、画像の符号化時に生じるブロック歪みを減少させるためのフィルタリング処理を行う。デブロックフィルタ24は、加算部23から入力される復号画像データをフィルタリングすることによりブロック歪みを除去し、フィルタリング後の復号画像データをフレームメモリ25へ出力する。
 フレームメモリ25は、加算部23から入力される復号画像データ、及びデブロックフィルタ24から入力されるフィルタリング後の復号画像データを記憶媒体を用いて記憶する。
 セレクタ26は、イントラ予測のために使用されるフィルタリング前の復号画像データをフレームメモリ25から読み出し、読み出した復号画像データを参照画像データとしてイントラ予測部30a又は30bに供給する。また、セレクタ26は、インター予測のために使用されるフィルタリング後の復号画像データをフレームメモリ25から読み出し、読み出した復号画像データを参照画像データとしてインター予測部40a又は40bに供給する。
 セレクタ27は、イントラ予測モードにおいて、イントラ予測部30a又は30bから出力されるイントラ予測の結果としての予測画像データを減算部13へ出力すると共に、イントラ予測に関する情報を可逆符号化部16a又は16bへ出力する。また、セレクタ27は、インター予測モードにおいて、インター予測部40a又は40bから出力されるインター予測の結果としての予測画像データを減算部13へ出力すると共に、インター予測に関する情報を可逆符号化部16a又は16bへ出力する。セレクタ27は、イントラ予測モードとインター予測モードとを、コスト関数値の大きさに応じて切り替える。
 イントラ予測部30aは、ベースレイヤの原画像データ及び復号画像データに基づいて、AVCの予測ブロックごとにイントラ予測処理を行う。例えば、イントラ予測部30aは、マクロブロック内に予測ブロックを設定し、設定した予測ブロックごとにイントラ予測を実行する。イントラ予測部30aにより設定される予測ブロックのサイズは、16×16画素、8×8画素又は4×4画素である。次に、イントラ予測部30aは、各予測モードによる予測結果を所定のコスト関数を用いて評価する。次に、イントラ予測部30aは、コスト関数値が最小となる予測モード、即ち圧縮率が最も高くなる予測モードを、最適な予測モードとして選択する。また、イントラ予測部30aは、当該最適な予測モードに従ってベースレイヤの予測画像データを生成する。そして、イントラ予測部30aは、選択した最適な予測モードを表す予測モード情報を含むイントラ予測に関する情報、コスト関数値、及び予測画像データを、セレクタ27へ出力する。また、イントラ予測部30aは、予測ブロックサイズ情報を共通メモリ2によりバッファリングさせる。
 イントラ予測部30bは、エンハンスメントレイヤの原画像データ及び復号画像データに基づいて、HEVCのPUごとにイントラ予測処理を行う。例えば、イントラ予測部30bは、LCU内にPUを設定し、設定したPUごとにイントラ予測を実行する。イントラ予測部30bにより設定されるPUのサイズは、64×64画素、32×32画素、16×16画素、8×8画素又は4×4画素である。イントラ予測部30bは、共通メモリ2により記憶されるベースレイヤの予測ブロックサイズ情報及びスケーラビリティ比を用いて、エンハンスメントレイヤに設定すべきPUサイズを決定し得る。次に、イントラ予測部30bは、各予測モードによる予測結果を所定のコスト関数を用いて評価する。次に、イントラ予測部30bは、コスト関数値が最小となる予測モード、即ち圧縮率が最も高くなる予測モードを、最適な予測モードとして選択する。また、イントラ予測部30bは、当該最適な予測モードに従ってエンハンスメントレイヤの予測画像データを生成する。そして、イントラ予測部30bは、選択した最適な予測モードを表す予測モード情報を含むイントラ予測に関する情報、コスト関数値、及び予測画像データを、セレクタ27へ出力する。
 インター予測部40aは、ベースレイヤの原画像データ及び復号画像データに基づいて、AVCの予測ブロックごとにインター予測処理(動き探索処理)を行う。例えば、インター予測部40aは、マクロブロック内に予測ブロックを設定し、設定した予測ブロックごとにインター予測を実行する。インター予測部40aにより設定される予測ブロックのサイズは、図7Aに示した7種類のサイズのいずれかである。次に、インター予測部40aは、各予測モードによる予測結果を所定のコスト関数を用いて評価する。次に、インター予測部40aは、コスト関数値が最小となる予測モード、即ち圧縮率が最も高くなる予測モードを、最適な予測モードとして選択する。また、インター予測部40aは、当該最適な予測モードに従ってベースレイヤの予測画像データを生成する。そして、インター予測部40aは、選択した最適な予測モードに対応する動き情報を含むインター予測に関する情報、コスト関数値、及び予測画像データを、セレクタ27へ出力する。また、インター予測部40aは、予測ブロックサイズ情報を共通メモリ2によりバッファリングさせる。当該予測ブロックサイズ情報は、サブマクロブロックタイプを含み得る。
 インター予測部40bは、エンハンスメントレイヤの原画像データ及び復号画像データに基づいて、HEVCのPUごとにインター予測処理(動き探索処理)を行う。例えば、インター予測部40bは、LCU内にPUを設定し、設定したPUごとにインター予測を実行する。インター予測部40bは、共通メモリ2により記憶されるベースレイヤの予測ブロックサイズ情報及びスケーラビリティ比を用いて、エンハンスメントレイヤに設定すべきPUサイズを決定し得る。次に、インター予測部40bは、各予測モードによる予測結果を所定のコスト関数を用いて評価する。次に、インター予測部40bは、コスト関数値が最小となる予測モード、即ち圧縮率が最も高くなる予測モードを、最適な予測モードとして選択する。また、インター予測部40bは、当該最適な予測モードに従ってエンハンスメントレイヤの予測画像データを生成する。そして、インター予測部40bは、選択した最適な予測モードに対応する動き情報を含むインター予測に関する情報、コスト関数値、及び予測画像データを、セレクタ27へ出力する。
 第1符号化部1aは、ここで説明した一連の符号化処理を、ベースレイヤの一連の画像データについて実行する。第2符号化部1bは、ここで説明した一連の符号化処理を、エンハンスメントレイヤの一連の画像データについて実行する。エンハンスメントレイヤが複数存在する場合には、エンハンスメントレイヤの符号化処理は、エンハンスメントレイヤの数だけ繰り返されてもよい。
  [2-2.ブロック設定部の詳細な構成]
 図11は、図10に示したブロック設定部12a及び12bの詳細な構成の一例を示すブロック図である。図11を参照すると、ブロック設定部12aは、設定制御部111a及びマクロブロック設定部112aを有する。ブロック設定部12bは、設定制御部111b及びCU設定部112bを有する。
   (1)ベースレイヤのブロック設定処理
 ブロック設定部12aの設定制御部111aは、共通メモリ2により予め記憶される固定的なマクロブロックサイズを取得し、取得したサイズを有するマクロブロックの設定をマクロブロック設定部112aに指示する。
 マクロブロック設定部112aは、設定制御部111aからの指示に応じて、ベースレイヤの画像データに1つ以上のマクロブロックを設定する。そして、マクロブロック設定部112aは、設定したマクロブロックごとに、画像データを減算部13、イントラ予測部30a、及びインター予測部40aへ出力する。
   (2)エンハンスメントレイヤのブロック設定処理
 ブロック設定部12bの設定制御部111bは、共通メモリ2により記憶されるマクロブロックサイズ、及びベースレイヤとエンハンスメントレイヤとの間のスケーラビリティ比を取得する。スケーラビリティ比は、予め共通メモリ2により記憶されてもよく、又は2つのレイヤの解像度データから計算されてもよい。そして、設定制御部111bは、マクロブロックサイズとスケーラビリティ比とを用いて決定されるLCUサイズ及びSCUサイズの設定を、CU設定部112bに指示する。
 CU設定部112bは、設定制御部111bからの指示に応じて、エンハンスメントレイヤ内にLCUサイズ及びSCUサイズを設定する。CU設定部112bは、図3Aを用いて説明した第1の手法に従って、マクロブロックサイズにスケーラビリティ比を乗じることにより、LCUサイズを決め打ちで決定してもよい。その代わりに、CU設定部112bは、図3Bを用いて説明した第2の手法に従って、マクロブロックサイズとスケーラビリティ比との積を基準として絞り込まれる複数のサイズ候補から選択されるサイズを、LCUサイズとして決定してもよい。後者の場合には、CU設定部112bは、選択したLCUサイズを示すLCUサイズ情報を生成する。
 また、CU設定部112bは、図4Aを用いて説明した第1の手法に従って、共通メモリ2により予め記憶されるサブマクロブロックサイズにスケーラビリティ比を乗じることにより、SCUサイズを決め打ちで決定してもよい。その代わりに、CU設定部112bは、図4Bを用いて説明した第2の手法に従って、LCUサイズ以下の複数のサイズ候補から選択されるサイズを、SCUサイズとして決定してもよい。後者の場合には、CU設定部112bは、選択したSCUサイズを示すSCUサイズ情報を生成する。
 そして、CU設定部112bは、LCUごとに、画像データを減算部13、イントラ予測部30b、及びインター予測部40bへ出力する。また、マクロブロック設定部112bは、LCUサイズ情報又はSCUサイズ情報を生成した場合には、生成したこれらサイズ情報を可逆符号化部16bへ出力する。
  [2-3.直交変換部の詳細な構成]
 図12は、図10に示した直交変換部14a及び14bの詳細な構成の一例を示すブロック図である。図12を参照すると、直交変換部14aは、変換制御部121a、4×4変換部122a、8×8変換部123a及びサイズ判定部126aを有する。直交変換部14bは、変換制御部121b、4×4変換部122b、8×8変換部123b、16×16変換部124b、32×32変換部125b及びサイズ判定部126bを有する。
   (1)ベースレイヤの直交変換処理
 直交変換部14aの変換制御部121aは、ベースレイヤの予測誤差データについて、マクロブロック内に4×4画素の変換ブロックを設定して、設定した変換ブロックごとに4×4変換部122aに直交変換を実行させる。また、変換制御部121aは、同様にマクロブロック内に8×8画素の変換ブロックを設定して、設定した変換ブロックごとに8×8変換部123aに直交変換を実行させる。そして、変換制御部121aは、最適なDCTサイズをサイズ判定部126aに判定させる。
 4×4変換部122aは、変換制御部121aにより設定される変換ブロックごとに、予測誤差データについて4×4画素の2次元DCTを実行する。そして、4×4変換部122aは、変換係数データをサイズ判定部126aへ出力する。8×8変換部123aは、変換制御部121aにより設定される変換ブロックごとに、予測誤差データについて8×8画素の2次元DCTを実行する。そして、8×8変換部123aは、変換係数データをサイズ判定部126aへ出力する。
 サイズ判定部126aは、4×4変換部122a及び8×8変換部123aから入力される変換係数データに基づいて最適なDCTサイズを判定し、最適なDCTサイズに対応する変換係数データを量子化部15へ出力する。また、サイズ判定部126aは、最適なDCTサイズを示すDCTサイズ情報を可逆符号化部16a及び逆直交変換部22aへ出力すると共に、当該DCTサイズ情報を共通メモリ2によりバッファリングさせる。
   (2)エンハンスメントレイヤの直交変換処理
 直交変換部14bの変換制御部121bは、共通メモリ2により記憶されるDCTサイズ情報、及びスケーラビリティ比を取得する。そして、変換制御部121bは、DCTサイズとスケーラビリティ比とを用いて決定される1つ以上のサイズを有するTUをLCU内に設定する。
 例えば、変換制御部121bは、図5Aを用いて説明した第1の手法に従って、DCTサイズにスケーラビリティ比を乗じることにより決め打ちで決定されるサイズを有するTUを、エンハンスメントレイヤのLCU内に設定する。そして、変換制御部121bは、4×4変換部122b、8×8変換部123b、16×16変換部124b及び32×32変換部125bのうち、決定したTUサイズに対応する変換部に、予測誤差データについての直交変換を実行させる。
 その代わりに、変換制御部121bは、図5Bを用いて説明した第2の手法に従って、DCTサイズとスケーラビリティ比との積を基準として絞り込まれる1つ以上のTUサイズをそれぞれ有するTUを、LCU内に設定してもよい。そして、変換制御部121bは、4×4変換部122b、8×8変換部123b、16×16変換部124b及び32×32変換部125bのうち対応する変換部に、予測誤差データについての直交変換をそれぞれ実行させる。第2の手法が採用される場合には、変換制御部121bは、最適なTUサイズをサイズ判定部126bに判定させる。
 4×4変換部122bは、予測誤差データについて4×4画素の2次元DCTを実行する。8×8変換部123bは、予測誤差データについて8×8画素の2次元DCTを実行する。16×16変換部124bは、予測誤差データについて16×16画素の2次元DCTを実行する。32×32変換部125bは、予測誤差データについて32×32画素の2次元DCTを実行する。
 サイズ判定部126bは、同じ位置の予測誤差データについて変換制御部121bにより複数のTUサイズが設定された場合に、対応する複数の変換部から入力される変換係数データに基づいて最適なTUサイズを判定する。そして、サイズ判定部126bは、最適なTUサイズに対応する変換係数データを量子化部15へ出力する。また、サイズ判定部126bは、最適なTUサイズを示すTUサイズ情報を可逆符号化部16b及び逆直交変換部22bへ出力する。
  [2-4.イントラ予測部の詳細な構成]
 図13は、図10に示したイントラ予測部30a及び30bの詳細な構成の一例を示すブロック図である。図13を参照すると、イントラ予測部30aは、予測制御部131a、予測部132a及びモード判定部133aを有する。イントラ予測部30bは、予測制御部131b、予測部132b及びモード判定部133bを有する。
   (1)ベースレイヤのイントラ予測処理
 イントラ予測部30aの予測制御部131aは、ベースレイヤのイントラ予測処理を制御する。より具体的には、予測制御部131aは、ベースレイヤのマクロブロック内に様々なサイズを有する予測ブロックを設定して、様々な予測モードで予測部132aにイントラ予測を実行させる。そして、予測制御部131aは、最適な予測ブロックサイズ及び予測モードをモード判定部133aに判定させる。
 予測部132aは、予測制御部131aにより設定される予測ブロックごとに、(例えば、DC予測、水平予測、垂直予測及び平面予測などの)様々な予測モードで、フレームメモリ25から入力される復号画像データを用いて予測画像データを生成する。そして、予測部132aは、生成した予測画像データをモード判定部133aへ出力する。
 モード判定部133aは、予測部132aから入力される予測画像データを原画像データと比較することによりコスト関数値を算出し、コスト関数値が最小となる予測ブロックサイズと予測モードとの組合せを選択する。そして、モード判定部133aは、最適な予測ブロックサイズと予測モードとの組合せを表す予測モード情報を含むイントラ予測に関する情報、コスト関数値、及び予測画像データを、セレクタ27へ出力する。また、モード判定部133aは、予測ブロックサイズ情報を共通メモリ2によりバッファリングさせる。
   (2)エンハンスメントレイヤのイントラ予測処理
 イントラ予測部30bの予測制御部131bは、エンハンスメントレイヤのイントラ予測処理を制御する。より具体的には、予測制御部131bは、エンハンスメントレイヤのLCU内に1つ以上のPUを設定して、様々な予測モードで予測部132bにイントラ予測を実行させる。そして、予測制御部131bは、最適な予測モードをモード判定部133bに判定させる。
 予測制御部131bは、PUサイズを決定するために、共通メモリ2により記憶されるベースレイヤの予測ブロックサイズ情報、及びスケーラビリティ比を取得する。そして、予測制御部131bは、予測ブロックサイズとスケーラビリティ比とを用いて、LCU内に設定すべきPUサイズを決定する。
 例えば、予測制御部131bは、図6Aを用いて説明した第1の手法に従って、予測ブロックサイズにスケーラビリティ比を乗じることにより決め打ちで決定されるPUサイズを有するPUを、LCU内に設定してもよい。その代わりに、予測制御部131bは、図6Bを用いて説明した第2の手法に従って、予測ブロックサイズとスケーラビリティ比との積を基準として絞り込まれる1つ以上のPUサイズをそれぞれ有するPUを、LCU内に設定してもよい。
 予測部132bは、予測制御部131bにより設定されるPUごとに、(例えば、DC予測、角度予測、平面予測及び輝度ベース色差予測などの)様々な予測モードで、フレームメモリ25から入力される復号画像データを用いて予測画像データを生成する。そして、予測部132bは、生成した予測画像データをモード判定部133bへ出力する。
 モード判定部133bは、予測部132bから入力される予測画像データを原画像データと比較することによりコスト関数値を算出し、コスト関数値が最小となるPUサイズと予測モードとの組合せを選択する。そして、モード判定部133bは、予測モード情報を含むイントラ予測に関する情報、コスト関数値、及び予測画像データを、セレクタ27へ出力する。予測制御部131bにより複数のPUサイズが設定された場合には、モード判定部133bにより生成される情報は、図6Bに例示したようなPUサイズ情報を含み得る。
  [2-5.インター予測部の詳細な構成]
 図14は、図10に示したインター予測部40a及び40bの詳細な構成の一例を示すブロック図である。図14を参照すると、インター予測部40aは、予測制御部141a、予測部142a及びモード判定部143aを有する。インター予測部40bは、予測制御部141b、予測部142b及びモード判定部143bを有する。
   (1)ベースレイヤのインター予測処理
 インター予測部40aの予測制御部141aは、ベースレイヤのインター予測処理を制御する。より具体的には、予測制御部141aは、ベースレイヤのマクロブロック内に様々なサイズを有する予測ブロックを設定する。また、予測制御部141aは、予測ブロックごとに参照画像を設定する。そして、予測制御部141aは、様々な予測モードで予測部142aにインター予測を実行させる。そして、予測制御部141aは、最適な予測ブロックサイズ及び予測モードをモード判定部143aに判定させる。
 予測部142aは、予測制御部141aにより設定される予測ブロックごとに、動きベクトルを算出し、算出した動きベクトルと参照画像データとを用いて、予測画像データを生成する。そして、予測部142aは、動きベクトル情報と予測画像データとをモード判定部143aへ出力する。
 モード判定部143aは、予測部142aから入力される予測画像データを原画像データと比較することによりコスト関数値を算出し、コスト関数値が最小となる予測ブロックサイズと予測モードとの組合せを選択する。そして、モード判定部143aは、選択した最適な組合せに従って、予測ブロックサイズ情報、予測モード情報、及び動き情報(動きベクトル情報及び参照画像情報)を生成する。モード判定部143aは、これらインター予測に関する情報、コスト関数値、及び予測画像データを、セレクタ27へ出力する。また、モード判定部143aは、(サブマクロブロックタイプを含み得る)予測ブロックサイズ情報を共通メモリ2によりバッファリングさせる。
   (2)エンハンスメントレイヤのインター予測処理
 インター予測部40bの予測制御部141bは、エンハンスメントレイヤのインター予測処理を制御する。より具体的には、予測制御部141bは、エンハンスメントレイヤのLCU内に1つ以上のPUを設定して、予測部142bにインター予測を実行させる。そして、予測制御部141bは、最適な予測モードをモード判定部143bに判定させる。
 予測制御部141bは、PUサイズを決定するために、共通メモリ2により記憶されるベースレイヤの予測ブロックサイズ情報、及びスケーラビリティ比を取得する。そして、予測制御部141bは、予測ブロックサイズとスケーラビリティ比とを用いて、LCU内に設定すべきPUサイズを決定する。
 例えば、予測制御部141bは、予測ブロックサイズにスケーラビリティ比を乗じることにより決め打ちで決定されるPUサイズを有するPUを、LCU内に設定してもよい。その代わりに、予測制御部141bは、予測ブロックサイズとスケーラビリティ比との積を基準として絞り込まれる1つ以上のPUサイズをそれぞれ有するPUを、LCU内に設定してもよい。また、予測制御部141bは、ベースレイヤ内の対応する予測ブロックについてサブマクロブロックタイプが存在するかに応じて絞り込まれる1つ以上のPUサイズをそれぞれ有するPUを、LCU内に設定してもよい。
 予測部142bは、予測制御部141bにより設定されるPUごとに、動きベクトルを算出し、算出した動きベクトルと参照画像データとを用いて、予測画像データを生成する。そして、予測部142bは、動きベクトル情報と予測画像データとをモード判定部143bへ出力する。
 モード判定部143bは、予測部142bから入力される予測画像データを原画像データと比較することによりコスト関数値を算出し、コスト関数値が最小となるPUサイズと予測モードとの組合せを選択する。そして、モード判定部143bは、選択した最適な組合せに従って、予測モード情報及び動き情報を生成する。モード判定部143bは、これらインター予測に関する情報、コスト関数値、及び予測画像データを、セレクタ27へ出力する。予測制御部141bにより複数のPUサイズが設定された場合には、モード判定部143bにより生成される情報は、絞り込まれたPUサイズのうち選択されたPUサイズを示すPUサイズ情報を含み得る。
 <3.一実施形態に係る符号化時の処理の流れ>
 次に、図15A~図18Bを用いて、一実施形態に係る符号化時の処理の流れについて説明する。なお、説明の簡明さのために、本開示に係る技術の要旨に直接的に関連しない処理の説明は省略される。
  [3-1.ブロック設定処理]
   (1)第1の例
 図15Aは、符号化時のエンハンスメントレイヤにおけるブロック設定処理の流れの第1の例を示すフローチャートである。図15Aに示したブロック設定処理は、図3Aを用いて説明したLCUサイズを設定するための第1の手法と、図4Aを用いて説明したSCUサイズを設定するための第1の手法との組合せに従った処理である。
 図15Aを参照すると、まず、エンハンスメントレイヤのためのブロック設定部12bの設定制御部111bは、ベースレイヤのマクロブロックサイズ及びサブマクロブロックサイズを示すブロックサイズ情報を、共通メモリ2から取得する(ステップS110a)。次に、設定制御部111bは、ベースレイヤとエンハンスメントレイヤとの間のスケーラビリティ比を取得する(ステップS111)。
 次に、CU設定部112bは、ブロックサイズ情報により示されるマクロブロックサイズにスケーラビリティ比を乗じることにより、エンハンスメントレイヤのLCUサイズを、決め打ちで決定する(ステップS112a)。また、CU設定部112bは、ブロックサイズ情報により示されるサブマクロブロックサイズにスケーラビリティ比を乗じることにより、エンハンスメントレイヤのSCUサイズを、決め打ちで決定する(ステップS114a)。
 次に、CU設定部112bは、ステップS112aにおいて決定したLCUサイズを有するLCUをエンハンスメントレイヤ内に設定する(ステップS115a)。なお、各LCUからのCUへのブロック分割は、直交変換、イントラ予測及びインター予測の結果に従って決定され得る。そして、可逆符号化部16bは、当該ブロック分割を示す分割フラグを、CU設定部112bにより決定されたLCUサイズとSCUサイズとに基づいて生成する(ステップS117)。
   (2)第2の例
 図15Bは、符号化時のエンハンスメントレイヤにおけるブロック設定処理の流れの第2の例を示すフローチャートである。図15Bに示したブロック設定処理は、図3Bを用いて説明したLCUサイズを設定するための第2の手法と、図4Bを用いて説明したSCUサイズを設定するための第2の手法との組合せに従った処理である。
 図15Bを参照すると、まず、エンハンスメントレイヤのためのブロック設定部12bの設定制御部111bは、ベースレイヤのマクロブロックサイズを示すブロックサイズ情報を、共通メモリ2から取得する(ステップS110b)。次に、設定制御部111bは、ベースレイヤとエンハンスメントレイヤとの間のスケーラビリティ比を取得する(ステップS111)。
 次に、CU設定部112bは、マクロブロックサイズとスケーラビリティ比との積を基準として、エンハンスメントレイヤのLCUサイズの1つ以上の候補を決定する(ステップS112b)。次に、CU設定部112bは、絞り込まれたLCUサイズの候補から、設定すべきLCUサイズを選択する(ステップS113)。また、CU設定部112bは、ステップS113において選択したLCUサイズ以下のSCUサイズの1つ以上の候補から、設定すべきSCUサイズを選択する(ステップS114b)。
 次に、CU設定部112bは、ステップS113において選択したLCUサイズを有するLCUをエンハンスメントレイヤ内に設定する(ステップS115b)。また、CU設定部112bは、選択したLCUサイズ及びSCUサイズを示すパラメータを生成する(ステップS116)。ここで生成されるパラメータは、可逆符号化部16bにより符号化され、例えばSPS内に挿入される。
 各LCUからのCUへのブロック分割は、直交変換、イントラ予測及びインター予測の結果に従って決定され得る。そして、可逆符号化部16bは、当該ブロック分割を示す分割フラグを、CU設定部112bにより選択されたLCUサイズとSCUサイズとに基づいて生成する(ステップS117)。
  [3-2.直交変換処理]
   (1)第1の例
 図16Aは、符号化時のエンハンスメントレイヤにおける直交変換処理の流れの第1の例を示すフローチャートである。図16Aに示した直交変換処理は、図5Aを用いて説明したTUサイズを設定するための第1の手法に従った処理である。
 図16Aを参照すると、まず、エンハンスメントレイヤのための直交変換部14bの変換制御部121bは、ベースレイヤにおいて設定されたDCTサイズを示すDCTサイズ情報を、共通メモリ2から取得する(ステップS120)。次に、変換制御部121bは、ベースレイヤとエンハンスメントレイヤとの間のスケーラビリティ比を取得する(ステップS121)。
 次に、変換制御部121bは、DCTサイズ情報により示されるDCTサイズにスケーラビリティ比を乗じることにより、ベースレイヤ内の変換ブロックに対応するエンハンスメントレイヤ内のTUのサイズを、決め打ちで決定する(ステップS122a)。そして、変換制御部121bは、決定したTUサイズを有するTUを、エンハンスメントレイヤ内に設定する。
 次に、4×4変換部122b、8×8変換部123b、16×16変換部124b及び32×32変換部125bのうち、ステップS122aにおいて決定されたTUサイズに対応する変換部は、変換制御部121bにより設定されたTUについて、直交変換を実行する(ステップS123a)。そして、当該変換部は、直交変換の結果として得られる変換係数データを、量子化部15へ出力する(ステップS125a)。
   (2)第2の例
 図16Bは、符号化時のエンハンスメントレイヤにおける直交変換処理の流れの第2の例を示すフローチャートである。図16Bに示した直交変換処理は、図5Bを用いて説明したTUサイズを設定するための第2の手法に従った処理である。
 図16Bを参照すると、まず、エンハンスメントレイヤのための直交変換部14bの変換制御部121bは、ベースレイヤにおいて設定されたDCTサイズを示すDCTサイズ情報を、共通メモリ2から取得する(ステップS120)。次に、変換制御部121bは、ベースレイヤとエンハンスメントレイヤとの間のスケーラビリティ比を取得する(ステップS121)。
 次に、変換制御部121bは、DCTサイズとスケーラビリティ比との積を基準として、ベースレイヤ内の変換ブロックに対応するエンハンスメントレイヤ内のTUについての1つ以上のTUサイズの候補を決定する(ステップS122b)。そして、変換制御部121bは、決定した候補としてのTUサイズを有するTUを、エンハンスメントレイヤ内に設定する。
 次に、4×4変換部122b、8×8変換部123b、16×16変換部124b及び32×32変換部125bのうち、ステップS122bにおいて決定されたTUサイズに対応する変換部は、TUサイズの候補ごとに、直交変換を実行する(ステップS123b)。
 次に、サイズ判定部126bは、直交変換の結果として得られる変換係数データを比較することにより、1つ以上のTUサイズの候補から最適なTUサイズを判定する(ステップS124)。そして、サイズ判定部126bは、最適なTUサイズに対応する変換係数データを量子化部15へ出力する(ステップS125b)。また、サイズ判定部126bは、最適なTUサイズを示すパラメータを生成し、生成したパラメータを可逆符号化部16b及び逆直交変換部22bへ出力する(ステップS126)。
  [3-3.イントラ予測処理]
   (1)第1の例
 図17Aは、符号化時のエンハンスメントレイヤにおけるイントラ予測処理の流れの第1の例を示すフローチャートである。図17Aに示したイントラ予測処理は、図6Aを用いて説明したPUサイズを設定するための第1の手法に従った処理である。
 図17Aを参照すると、まず、エンハンスメントレイヤのためのイントラ予測部30bの予測制御部131bは、ベースレイヤにおいて設定された予測ブロックサイズを示す予測ブロックサイズ情報を、共通メモリ2から取得する(ステップS130)。次に、予測制御部131bは、ベースレイヤとエンハンスメントレイヤとの間のスケーラビリティ比を取得する(ステップS131)。
 次に、予測制御部131bは、予測ブロックサイズ情報により示される予測ブロックサイズにスケーラビリティ比を乗じることにより、ベースレイヤ内の予測ブロックに対応するエンハンスメントレイヤ内のPUのサイズを、決め打ちで決定する(ステップS132a)。そして、予測制御部131bは、決定したPUサイズを有するPUを、エンハンスメントレイヤ内に設定する。
 次に、予測部132bは、予測制御部131bにより設定されたPUについて、様々な予測モードでのイントラ予測を実行する(ステップS133a)。次に、モード判定部133bは、予測部132bから入力される予測画像データを原画像データと比較することにより、最適な予測モードを選択する(ステップS134a)。
 そして、モード判定部133bは、選択した最適な予測モードを示す予測モード情報を生成する(ステップS136)。そして、モード判定部133bは、イントラ予測に関する情報、コスト関数値、及び予測画像データを、セレクタ27へ出力する。
   (2)第2の例
 図17Bは、符号化時のエンハンスメントレイヤにおけるイントラ予測処理の流れの第2の例を示すフローチャートである。図17Bに示したイントラ予測処理は、図6Bを用いて説明したPUサイズを設定するための第2の手法に従った処理である。
 図17Bを参照すると、まず、エンハンスメントレイヤのためのイントラ予測部30bの予測制御部131bは、ベースレイヤにおいて設定された予測ブロックサイズを示す予測ブロックサイズ情報を、共通メモリ2から取得する(ステップS130)。次に、予測制御部131bは、ベースレイヤとエンハンスメントレイヤとの間のスケーラビリティ比を取得する(ステップS131)。
 次に、予測制御部131bは、予測ブロックサイズとスケーラビリティ比との積を基準として、ベースレイヤ内の予測ブロックに対応するエンハンスメントレイヤ内のPUについての1つ以上のPUサイズの候補を決定する(ステップS132b)。そして、予測制御部131bは、決定した候補としてのPUサイズを有するPUを、エンハンスメントレイヤ内に設定する。
 次に、予測部132bは、候補としてのPUサイズをそれぞれ有するPUごとに、様々な予測モードでのイントラ予測を実行する(ステップS133b)。次に、モード判定部133bは、予測部132bから入力される予測画像データを原画像データと比較することにより、最適なPUサイズ及び予測モードを選択する(ステップS134b)。
 そして、モード判定部133bは、選択した最適なPUサイズを示すパラメータを生成する(ステップS135b)。また、モード判定部133bは、最適な予測モードを示す予測モード情報を生成する(ステップS136)。そして、モード判定部133bは、イントラ予測に関する情報、コスト関数値、及び予測画像データを、セレクタ27へ出力する。
  [3-4.インター予測処理]
   (1)第1の例
 図18Aは、符号化時のエンハンスメントレイヤにおけるインター予測処理の流れの第1の例を示すフローチャートである。図18Aに示したインター予測処理は、図6Aを用いて説明したPUサイズを設定するための第1の手法をインター予測に応用した処理である。
 図18Aを参照すると、まず、エンハンスメントレイヤのためのインター予測部40bの予測制御部141bは、ベースレイヤにおいて設定された予測ブロックサイズを示す予測ブロックサイズ情報を、共通メモリ2から取得する(ステップS140a)。次に、予測制御部141bは、ベースレイヤとエンハンスメントレイヤとの間のスケーラビリティ比を取得する(ステップS141)。
 次に、予測制御部141bは、予測ブロックサイズ情報により示される予測ブロックサイズにスケーラビリティ比を乗じることにより、ベースレイヤ内の予測ブロックに対応するエンハンスメントレイヤ内のPUのサイズを、決め打ちで決定する(ステップS142a)。そして、予測制御部141bは、決定したPUサイズを有するPUを、エンハンスメントレイヤ内に設定する。
 次に、予測部142bは、予測制御部141bにより設定されたPUについて、様々な予測モードでのインター予測を実行する(ステップS143a)。次に、モード判定部143bは、予測部142bから入力される予測画像データを原画像データと比較することにより、最適な予測モードを選択する(ステップS144a)。
 そして、モード判定部143bは、選択した最適な予測モードを示す予測モード情報及び動き情報を生成する(ステップS146)。そして、モード判定部143bは、インター予測に関する情報、コスト関数値、及び予測画像データを、セレクタ27へ出力する。
   (2)第2の例
 図18Bは、符号化時のエンハンスメントレイヤにおけるインター予測処理の流れの第2の例を示すフローチャートである。図18Bに示したインター予測処理は、図7Bを用いて説明したPUサイズを設定するための第3の手法に従った処理である。
 図18Bを参照すると、まず、エンハンスメントレイヤのためのインター予測部40bの予測制御部141bは、ベースレイヤにおいてサブマクロブロックへの分割が使用されたかを示すサブマクロブロックタイプを、共通メモリ2から取得する(ステップS140b)。次に、予測制御部141bは、ベースレイヤとエンハンスメントレイヤとの間のスケーラビリティ比を取得する(ステップS141)。
 次に、予測制御部141bは、サブマクロブロックタイプを参照し、ベースレイヤ内の予測ブロックについてサブマクロブロックへの分割が使用されたかに応じて、当該予測ブロックに対応するエンハンスメントレイヤ内のPUについての1つ以上のPUサイズの候補を決定する(ステップS142b)。そして、予測制御部141bは、決定した候補としてのPUサイズを有するPUを、エンハンスメントレイヤ内に設定する。
 次に、予測部142bは、候補としてのPUサイズをそれぞれ有するPUごとに、様々な予測モードでのインター予測を実行する(ステップS143b)。次に、モード判定部143bは、予測部142bから入力される予測画像データを原画像データと比較することにより、最適なPUサイズ及び予測モードを選択する(ステップS144b)。
 そして、モード判定部143bは、選択した最適なPUサイズを示すパラメータを生成する(ステップS145)。また、モード判定部143bは、最適な予測モードを示す予測モード情報及び動き情報を生成する(ステップS146)。そして、モード判定部143bは、インター予測に関する情報、コスト関数値、及び予測画像データを、セレクタ27へ出力する。
 <4.一実施形態に係る復号部の構成例>
  [4-1.全体的な構成]
 図19は、図9に示した第1復号部6a及び第2復号部6bの構成の一例を示すブロック図である。図19を参照すると、第1復号部6aは、可逆復号部61a、ブロック設定部62a、逆量子化部63、逆直交変換部64a、加算部65、デブロックフィルタ66、並び替えバッファ67、D/A(Digital to Analogue)変換部68、フレームメモリ69、セレクタ70及び71、イントラ予測部80a並びにインター予測部90aを備える。第2復号部6bは、可逆復号部61a、ブロック設定部62a、逆直交変換部64a、イントラ予測部80a及びインター予測部90aの代わりに、可逆復号部61b、ブロック設定部62b、逆直交変換部64b、イントラ予測部80b及びインター予測部90bを備える。
 可逆復号部61aは、伝送路を介して入力されるベースレイヤの符号化ストリームを、符号化の際に使用された符号化方式に従って復号し、ベースレイヤの量子化データを生成する。また、可逆復号部61aは、符号化ストリームのヘッダ領域に多重化されている情報を復号する。可逆復号部61aにより復号される情報は、例えば、DCTサイズ情報、イントラ予測に関する情報及びインター予測に関する情報を含み得る。
 可逆復号部61bは、伝送路を介して入力されるエンハンスメントレイヤの符号化ストリームを、符号化の際に使用された符号化方式に従って復号し、エンハンスメントレイヤの量子化データを生成する。また、可逆復号部61bは、符号化ストリームのヘッダ領域に多重化されている情報を復号する。可逆復号部61bにより復号される情報は、例えば、スケーラビリティ比、ブロックサイズ情報、分割フラグ、イントラ予測に関する情報及びインター予測に関する情報を含み得る。
 ブロック設定部62aは、ベースレイヤ内に固定的なサイズを有するマクロブロックを設定する。そして、ブロック設定部62aは、設定したマクロブロックごとに、量子化データを逆量子化部63へ、イントラ予測に関する情報をイントラ予測部80aへ、インター予測に関する情報をインター予測部90aへそれぞれ出力する。マクロブロックサイズは、共通メモリ7により予め記憶される。
 ブロック設定部62bは、ブロック設定部62aにより設定されるマクロブロックサイズに応じて、エンハンスメントレイヤ内にCUを設定する。より具体的には、ブロック設定部62bは、まずLCUをエンハンスメントレイヤ内に設定し、さらに、LCUサイズ、SCUサイズ及び分割フラグに従ってLCUを再帰的にブロック分割することにより、各LCU内にCUを設定する。ブロック設定部62bは、スケーラビリティ比、及び共通メモリ7により記憶されるマクロブロックサイズを用いて、LCUサイズを決定し得る。SCUサイズは、さらに共通メモリ7により記憶され得るサブマクロブロックサイズを参照することにより決定されてもよい。そして、ブロック設定部62bは、設定したLCUごとに、量子化データを逆量子化部63へ、イントラ予測に関する情報をイントラ予測部80bへ、インター予測に関する情報をインター予測部90bへそれぞれ出力する。
 逆量子化部63は、ブロック設定部62a又は62bから入力される量子化データを逆量子化し、変換係数データを生成する。そして、逆量子化部63は、生成した変換係数データを逆直交変換部64a又は64bへ出力する。
 逆直交変換部64aは、可逆復号部61aにより復号されるDCTサイズ情報に従ってマクロブロック内に変換ブロックを設定して、逆量子化部63から入力されるベースレイヤの変換係数データについて逆直交変換を実行する。逆直交変換部64aにより実行される逆直交変換は、例えば、逆離散コサイン変換(逆DCT)であってよい。DCTサイズは、8×8画素又は4×4画素である。逆直交変換部64aは、変換ブロックごとに逆直交変換処理により取得される予測誤差データを加算部65へ出力する。また、逆直交変換部64aは、設定した各変換ブロックのサイズを示すDCTサイズ情報を、共通メモリ7によりバッファリングさせる。
 逆直交変換部64bは、ブロック設定部62bにより設定される各CU内にTUを設定して、逆量子化部63から入力されるエンハンスメントレイヤの変換係数データについて逆直交変換を実行する。逆直交変換部64bにより実行される逆直交変換もまた、逆DCTであってよい。逆直交変換部64bにより設定されるTUのサイズは、32×32画素、16×16画素、8×8画素又は4×4画素である。逆直交変換部64bは、共通メモリ7により記憶されるベースレイヤのDCTサイズ情報及びスケーラビリティ比を用いて、エンハンスメントレイヤに設定すべきTUサイズを決定し得る。逆直交変換部64bは、TUごとに直交変換処理により取得される変換係数データを加算部65へ出力する。
 加算部65は、逆直交変換部64a又は64bから入力される予測誤差データと、セレクタ71から入力される予測画像データとを加算することにより、復号画像データを生成する。そして、加算部65は、生成した復号画像データをデブロックフィルタ66及びフレームメモリ69へ出力する。
 デブロックフィルタ66は、加算部65から入力される復号画像データをフィルタリングすることによりブロック歪みを除去し、フィルタリング後の復号画像データを並び替えバッファ67及びフレームメモリ69へ出力する。
 並び替えバッファ67は、デブロックフィルタ66から入力される画像を並び替えることにより、時系列の一連の画像データを生成する。そして、並び替えバッファ67は、生成した画像データをD/A変換部68へ出力する。
 D/A変換部68は、並び替えバッファ67から入力されるデジタル形式の画像データをアナログ形式の画像信号に変換する。そして、D/A変換部68は、例えば、画像復号装置60と接続されるディスプレイ(図示せず)にアナログ画像信号を出力することにより、画像を表示させる。
 フレームメモリ69は、加算部65から入力されるフィルタリング前の復号画像データ、及びデブロックフィルタ66から入力されるフィルタリング後の復号画像データを記憶媒体を用いて記憶する。
 セレクタ70は、画像内のブロックごとに、フレームメモリ69からの画像データの出力先をイントラ予測部80a又は80bとインター予測部90a又は90bとの間で切り替える。例えば、セレクタ70は、復号されるパラメータによりイントラ予測モードが指定された場合には、フレームメモリ69から供給されるフィルタリング前の復号画像データを参照画像データとしてイントラ予測部80a又は80bへ出力する。また、セレクタ70は、インター予測モードが指定された場合には、フレームメモリ69から供給されるフィルタリング後の復号画像データを参照画像データとしてインター予測部90a又は90bへ出力する。
 セレクタ71は、加算部65へ供給すべき予測画像データの出力元をイントラ予測部80a又は80bとインター予測部90a又は90bとの間で切り替える。例えば、セレクタ71は、復号されるパラメータによりイントラ予測モードが指定された場合には、イントラ予測部80a又は80bから出力される予測画像データを加算部65へ供給する。また、セレクタ71は、インター予測モードが指定された場合には、インター予測部90a又は90bから出力される予測画像データを加算部65へ供給する。
 イントラ予測部80aは、ブロック設定部62aからマクロブロックごとに入力されるイントラ予測に関する情報とフレームメモリ69からの参照画像データとに基づいてベースレイヤのイントラ予測処理を行い、予測画像データを生成する。例えば、イントラ予測部80aは、予測ブロックサイズ情報に従ってマクロブロック内に予測ブロックを設定し、設定した予測ブロックごとに、予測モード情報に従ってイントラ予測を実行する。イントラ予測部80aにより設定される予測ブロックのサイズは、16×16画素、8×8画素又は4×4画素である。そして、イントラ予測部80aは、生成したベースレイヤの予測画像データをセレクタ71へ出力する。また、イントラ予測部80aは、予測ブロックサイズ情報を共通メモリ7によりバッファリングさせる。
 イントラ予測部80bは、ブロック設定部62bからLCUごとに入力されるイントラ予測に関する情報とフレームメモリ69からの参照画像データとに基づいてエンハンスメントレイヤのイントラ予測処理を行い、予測画像データを生成する。例えば、イントラ予測部80bは、各CU内にPUを設定し、設定したPUごとに、予測モード情報に従ってイントラ予測を実行する。イントラ予測部80bにより設定されるPUのサイズは、64×64画素、32×32画素、16×16画素、8×8画素又は4×4画素である。イントラ予測部80bは、共通メモリ7により記憶されるベースレイヤの予測ブロックサイズ情報及びスケーラビリティ比を用いて、エンハンスメントレイヤに設定すべきPUサイズを決定し得る。そして、イントラ予測部80bは、生成したエンハンスメントレイヤの予測画像データをセレクタ71へ出力する。
 インター予測部90aは、ブロック設定部62aからマクロブロックごとに入力されるインター予測に関する情報とフレームメモリ69からの参照画像データとに基づいてベースレイヤのインター予測処理を行い、予測画像データを生成する。例えば、インター予測部90aは、予測ブロックサイズ情報に従ってマクロブロック内に予測ブロックを設定し、設定した予測ブロックごとに、動き情報を用いてインター予測(動き補償)を実行する。インター予測部90aにより設定される予測ブロックのサイズは、図7Aに示した7種類のサイズのいずれかである。そして、インター予測部90aは、生成したベースレイヤの予測画像データをセレクタ71へ出力する。また、インター予測部90aは、予測ブロックサイズ情報を共通メモリ7によりバッファリングさせる。当該予測ブロックサイズ情報は、サブマクロブロックタイプを含み得る。
 インター予測部90bは、ブロック設定部62bからLCUごとに入力されるインター予測に関する情報とフレームメモリ69からの参照画像データとに基づいてエンハンスメントレイヤのインター予測処理を行い、予測画像データを生成する。例えば、インター予測部90bは、各CU内にPUを設定し、設定したPUごとに、動き情報を用いてインター予測を実行する。インター予測部90bは、共通メモリ7により記憶されるベースレイヤの予測ブロックサイズ情報及びスケーラビリティ比を用いて、エンハンスメントレイヤに設定すべきPUサイズを決定し得る。そして、インター予測部90bは、生成したエンハンスメントレイヤの予測画像データをセレクタ71へ出力する。
 第1復号部6aは、ここで説明した一連の復号処理を、ベースレイヤの一連の画像データについて実行する。第2復号部6bは、ここで説明した一連の復号処理を、エンハンスメントレイヤの一連の画像データについて実行する。エンハンスメントレイヤが複数存在する場合には、エンハンスメントレイヤの復号処理は、エンハンスメントレイヤの数だけ繰り返されてもよい。
  [4-2.ブロック設定部の詳細な構成]
 図20は、図19に示したブロック設定部62a及び62bの詳細な構成の一例を示すブロック図である。図20を参照すると、ブロック設定部62aは、設定制御部161a及びマクロブロック設定部162aを有する。ブロック設定部62bは、設定制御部161b、サイズ設定部162b及びCU設定部163bを有する。
   (1)ベースレイヤのブロック設定処理
 ブロック設定部62aの設定制御部161aは、共通メモリ7により予め記憶される固定的なマクロブロックサイズを取得し、取得したサイズを有するマクロブロックの設定をマクロブロック設定部162aに指示する。
 マクロブロック設定部162aは、設定制御部161aからの指示に応じて、ベースレイヤ内に1つ以上のマクロブロックを設定する。そして、マクロブロック設定部162aは、設定したマクロブロックごとに、量子化データを逆量子化部63へ、イントラ予測に関する情報をイントラ予測部80aへ、インター予測に関する情報をインター予測部90aへ、それぞれ出力する。
   (2)エンハンスメントレイヤのブロック設定処理
 ブロック設定部62bの設定制御部161bは、共通メモリ7により記憶されるマクロブロックサイズ、及びベースレイヤとエンハンスメントレイヤとの間のスケーラビリティ比を取得する。スケーラビリティ比は、可逆復号部61bにより復号されるパラメータにより直接的に示されてもよく、又は2つのレイヤの解像度データから計算されてもよい。そして、設定制御部161bは、マクロブロックサイズとスケーラビリティ比とを用いて決定されるLCUサイズ及びSCUサイズの設定を、サイズ設定部162bに指示する。
 サイズ設定部162bは、設定制御部161bからの指示に応じて、エンハンスメントレイヤ内にLCUサイズ及びSCUサイズを設定する。サイズ設定部162bは、図3Aを用いて説明した第1の手法に従って、マクロブロックサイズにスケーラビリティ比を乗じることにより、LCUサイズを決め打ちで決定してもよい。その代わりに、サイズ設定部162bは、図3Bを用いて説明した第2の手法に従って、マクロブロックサイズとスケーラビリティ比との積を基準としてサイズ候補を絞り込んだ上で、可逆復号部61bにより復号されるLCUサイズ情報を参照してLCUサイズを選択してもよい。
 また、サイズ設定部162bは、図4Aを用いて説明した第1の手法に従って、共通メモリ7により予め記憶されるサブマクロブロックサイズにスケーラビリティ比を乗じることにより、SCUサイズを決め打ちで決定してもよい。その代わりに、サイズ設定部162bは、図4Bを用いて説明した第2の手法に従って、LCUサイズ以下の複数のサイズ候補から、可逆復号部61bにより復号されるSCUサイズ情報を参照してSCUサイズを選択してもよい。
 CU設定部163bは、サイズ設定部162bにより設定されるLCUサイズ及びSCUサイズ、並びに可逆復号部61bにより復号される分割フラグに従って、LCUを再帰的にブロック分割することにより、各LCU内にCUを設定する。そして、CU設定部163bは、LCUごとに、量子化データを逆量子化部63へ、イントラ予測に関する情報をイントラ予測部80bへ、インター予測に関する情報をインター予測部90bへそれぞれ出力する。
  [4-3.逆直交変換部の詳細な構成]
 図21は、図19に示した逆直交変換部64a及び64bの詳細な構成の一例を示すブロック図である。図21を参照すると、逆直交変換部64aは、変換制御部171a、4×4変換部172a及び8×8変換部173aを有する。逆直交変換部64bは、変換制御部171b、4×4変換部172b、8×8変換部173b、16×16変換部174b及び32×32変換部175bを有する。
   (1)ベースレイヤの逆直交変換処理
 逆直交変換部64aの変換制御部171aは、可逆復号部61aにより復号されるDCTサイズ情報により示されるDCTサイズを有する変換ブロックを、マクロブロック内に設定する。そして、変換制御部171aは、4×4変換部172a及び8×8変換部173aのうち、設定したDCTサイズに対応する変換部に、逆量子化部63から入力されるベースレイヤの変換係数データについて逆直交変換を実行させる。また、変換制御部171aは、各変換ブロックのサイズを示すDCTサイズ情報を、共通メモリ7によりバッファリングさせる。
 4×4変換部172aは、4×4画素のサイズを有する変換ブロックが設定された場合に、当該変換ブロックの変換係数データについて4×4画素の2次元逆DCTを実行する。そして、4×4変換部172aは、予測誤差データを加算部65へ出力する。8×8変換部173aは、8×8画素のサイズを有する変換ブロックが設定された場合に、当該変換ブロックの変換係数データについて8×8画素の2次元逆DCTを実行する。そして、8×8変換部173aは、予測誤差データを加算部65へ出力する。
   (2)エンハンスメントレイヤの逆直交変換処理
 逆直交変換部64bの変換制御部171bは、共通メモリ7により記憶されるDCTサイズ情報、及びスケーラビリティ比を取得する。そして、変換制御部171bは、DCTサイズとスケーラビリティ比とを用いて決定されるサイズを有するTUをエンハンスメントレイヤの各CU内に設定する。
 例えば、変換制御部171bは、図5Aを用いて説明した第1の手法に従って、DCTサイズにスケーラビリティ比を乗じることにより、TUサイズを決め打ちで決定してもよい。その代わりに、変換制御部171bは、図5Bを用いて説明した第2の手法に従って、DCTサイズとスケーラビリティ比との積を基準としてサイズ候補を絞り込んだ上で、可逆復号部61bにより復号されるTUサイズ情報を参照してTUサイズを選択してもよい。そして、変換制御部171aは、4×4変換部172b、8×8変換部173b、16×16変換部174b及び32×32変換部175bのうち、設定したTUサイズに対応する変換部に、逆量子化部63から入力されるエンハンスメントレイヤの変換係数データについて逆直交変換を実行させる。
 4×4変換部172bは、4×4画素のサイズを有するTUが設定された場合に、当該TUの変換係数データについて4×4画素の2次元逆DCTを実行する。そして、4×4変換部172bは、予測誤差データを加算部65へ出力する。8×8変換部173bは、8×8画素のサイズを有するTUが設定された場合に、当該TUの変換係数データについて8×8画素の2次元逆DCTを実行する。そして、8×8変換部173bは、予測誤差データを加算部65へ出力する。16×16変換部174bは、16×16画素のサイズを有するTUが設定された場合に、当該TUの変換係数データについて16×16画素の2次元逆DCTを実行する。そして、16×16変換部174bは、予測誤差データを加算部65へ出力する。32×32変換部175bは、32×32画素のサイズを有するTUが設定された場合に、当該TUの変換係数データについて32×32画素の2次元逆DCTを実行する。そして、32×32変換部175bは、予測誤差データを加算部65へ出力する。
  [4-4.イントラ予測部の詳細な構成]
 図22は、図19に示したイントラ予測部80a及び80bの詳細な構成の一例を示すブロック図である。図22を参照すると、イントラ予測部80aは、予測制御部181a、モード取得部182a及び予測部183aを有する。イントラ予測部80bは、予測制御部181b、モード取得部182b及び予測部183bを有する。
   (1)ベースレイヤのイントラ予測処理
 イントラ予測部80aの予測制御部181aは、ベースレイヤのイントラ予測処理を制御する。より具体的には、予測制御部181aは、可逆復号部61aにより復号される予測ブロックサイズ情報により示されるサイズを有する予測ブロックを、マクロブロック内に設定する。また、モード取得部182aは、可逆復号部61aにより復号される予測モード情報を取得する。そして、予測制御部181aは、予測モード情報により示される予測モードで、予測部183aにイントラ予測を実行させる。また、予測制御部181aは、各予測ブロックのサイズを示す予測ブロックサイズ情報を、共通メモリ7によりバッファリングさせる。
 予測部183aは、予測制御部181aにより設定される予測ブロックごとに、予測モード情報により示される予測モードで、フレームメモリ69から入力される復号画像データを用いて予測画像データを生成する。そして、予測部183aは、生成した予測画像データを加算部65へ出力する。
   (2)エンハンスメントレイヤのイントラ予測処理
 イントラ予測部80bの予測制御部181bは、エンハンスメントレイヤのイントラ予測処理を制御する。より具体的には、予測制御部181bは、エンハンスメントレイヤの各CU内にPUを設定する。予測制御部181bは、PUサイズを決定するために、スケーラビリティ比、及び共通メモリ7により記憶されるベースレイヤの予測ブロックサイズ情報を取得する。そして、予測制御部181bは、予測ブロックサイズとスケーラビリティ比とを用いて、設定すべきPUサイズを決定する。
 例えば、予測制御部181bは、図6Aを用いて説明した第1の手法に従って、予測ブロックサイズにスケーラビリティ比を乗じることにより、PUサイズを決め打ちで決定してもよい。その代わりに、予測制御部181bは、図6Bを用いて説明した第2の手法に従って、予測ブロックサイズとスケーラビリティ比との積を基準としてサイズ候補を絞り込んだ上で、可逆復号部61bにより復号されるPUサイズ情報を参照してPUサイズを選択してもよい。
 モード取得部182bは、可逆復号部61bにより復号される予測モード情報を取得する。予測部183bは、予測制御部181bにより設定されるPUごとに、予測モード情報により示される予測モードで、フレームメモリ69から入力される復号画像データを用いて予測画像データを生成する。そして、予測部183bは、生成した予測画像データを加算部65へ出力する。
  [4-5.インター予測部の詳細な構成]
 図23は、図19に示したインター予測部90a及び90bの詳細な構成の一例を示すブロック図である。図23を参照すると、インター予測部90aは、予測制御部191a、情報取得部192a及び予測部193aを有する。インター予測部90bは、予測制御部191b、情報取得部192b及び予測部193bを有する。
   (1)ベースレイヤのインター予測処理
 インター予測部90aの予測制御部191aは、ベースレイヤのインター予測処理を制御する。より具体的には、予測制御部191aは、可逆復号部61aにより復号される予測ブロックサイズ情報により示されるサイズを有する予測ブロックを、マクロブロック内に設定する。また、情報取得部192aは、可逆復号部61aにより復号される予測モード情報及び動き情報を取得する。そして、予測制御部191aは、予測モード情報により示される予測モードで、予測部193aにインター予測を実行させる。また、予測制御部191aは、各予測ブロックのサイズを示す(サブマクロブロックタイプを含み得る)予測ブロックサイズ情報を、共通メモリ7によりバッファリングさせる。
 予測部193aは、予測制御部191aにより設定される予測ブロックごとに、予測モード情報により示される予測モードで、動き情報及びフレームメモリ69から入力される復号画像データを用いて予測画像データを生成する。そして、予測部193aは、生成した予測画像データを加算部65へ出力する。
   (2)エンハンスメントレイヤのインター予測処理
 インター予測部90bの予測制御部191bは、エンハンスメントレイヤのインター予測処理を制御する。より具体的には、予測制御部191bは、エンハンスメントレイヤの各CU内にPUを設定する。予測制御部191bは、PUサイズを決定するために、スケーラビリティ比、及び共通メモリ7により記憶されるベースレイヤの予測ブロックサイズ情報を取得する。そして、予測制御部191bは、予測ブロックサイズとスケーラビリティ比とを用いて、設定すべきPUサイズを決定する。
 例えば、予測制御部191bは、予測ブロックサイズにスケーラビリティ比を乗じることにより、PUサイズを決め打ちで決定してもよい。その代わりに、予測制御部191bは、予測ブロックサイズとスケーラビリティ比との積を基準としてサイズ候補を絞り込んだ上で、可逆復号部61bにより復号されるPUサイズ情報を参照してPUサイズを選択してもよい。また、予測制御部141bは、ベースレイヤ内の対応する予測ブロックについてサブマクロブロックタイプが存在するかに応じてサイズ候補を絞り込んだ上で、可逆復号部61bにより復号されるPUサイズ情報を参照してPUサイズを選択してもよい。
 情報取得部192bは、可逆復号部61bにより復号される予測モード情報及び動き情報を取得する。予測部193bは、予測制御部191bにより設定されるPUごとに、動き情報に含まれる動きベクトル情報及び参照画像情報に従って、フレームメモリ69から入力される復号画像データを用いて予測画像データを生成する。そして、予測部193bは、生成した予測画像データを加算部65へ出力する。
 <5.一実施形態に係る復号時の処理の流れ>
 次に、図24A~図27Bを用いて、一実施形態に係る復号時の処理の流れについて説明する。なお、説明の簡明さのために、本開示に係る技術の要旨に直接的に関連しない処理の説明は省略される。
  [5-1.ブロック設定処理]
   (1)第1の例
 図24Aは、復号時のエンハンスメントレイヤにおけるブロック設定処理の流れの第1の例を示すフローチャートである。図24Aに示したブロック設定処理は、図3Aを用いて説明したLCUサイズを設定するための第1の手法と、図4Aを用いて説明したSCUサイズを設定するための第1の手法との組合せに従った処理である。
 図24Aを参照すると、まず、エンハンスメントレイヤのためのブロック設定部62bの設定制御部161bは、ベースレイヤのマクロブロックサイズ及びサブマクロブロックサイズを示すブロックサイズ情報を取得する(ステップS160a)。次に、設定制御部161bは、ベースレイヤとエンハンスメントレイヤとの間のスケーラビリティ比を取得する(ステップS161)。
 次に、サイズ設定部162bは、ブロックサイズ情報により示されるマクロブロックサイズにスケーラビリティ比を乗じることにより、エンハンスメントレイヤのLCUサイズを、決め打ちで決定する(ステップS164a)。また、サイズ設定部162bは、ブロックサイズ情報により示されるサブマクロブロックサイズにスケーラビリティ比を乗じることにより、エンハンスメントレイヤのSCUサイズを、決め打ちで決定する(ステップS166a)。ステップS164a及びステップS166aにおいて決定されたLCUサイズ及びSCUサイズは、エンハンスメントレイヤ内の各シーケンスに設定され得る。
 次に、サイズ設定部162bは、ステップS164aにおいて決定したLCUサイズを有するLCUをエンハンスメントレイヤ内に設定する(ステップS167a)。次に、CU設定部163bは、サイズ設定部162bにより設定されるLCUサイズ及びSCUサイズ、並びに可逆復号部61bにより復号される分割フラグに従って、LCUを再帰的にブロック分割することにより、各LCU内にCUを設定する(ステップS168)。
   (2)第2の例
 図24Bは、復号時のエンハンスメントレイヤにおけるブロック設定処理の流れの第2の例を示すフローチャートである。図24Bに示したブロック設定処理は、図3Bを用いて説明したLCUサイズを設定するための第2の手法と、図4Bを用いて説明したSCUサイズを設定するための第2の手法との組合せに従った処理である。
 図24Bを参照すると、まず、エンハンスメントレイヤのためのブロック設定部62bの設定制御部161bは、ベースレイヤのマクロブロックサイズを示すブロックサイズ情報を取得する(ステップS160b)。次に、設定制御部161bは、ベースレイヤとエンハンスメントレイヤとの間のスケーラビリティ比を取得する(ステップS161)。次に、設定制御部161bは、可逆復号部61bにより復号されるLCUサイズ及びSCUサイズを示すパラメータを取得する(ステップS162b)。
 次に、サイズ設定部162bは、マクロブロックサイズとスケーラビリティ比との積を基準として、LCUサイズの1つ以上の候補を決定する(ステップS163b)。次に、サイズ設定部162bは、LCUサイズの候補のうち、可逆復号部61bにより復号されるパラメータにより指定されるLCUサイズを選択する(ステップS164b)。また、サイズ設定部162bは、選択したLCUサイズ以下のサイズを有する1つ以上のSCUサイズの候補を決定する(ステップS165b)。次に、サイズ設定部162bは、SCUサイズの候補のうち、可逆復号部61bにより復号されるパラメータにより指定されるSCUサイズを選択する(ステップS164b)。ステップS164b及びステップS166bにおいて選択されたLCUサイズ及びSCUサイズは、エンハンスメントレイヤ内の各シーケンスに設定され得る。
 次に、サイズ設定部162bは、ステップS164bにおいて選択したLCUサイズを有するLCUをエンハンスメントレイヤ内に設定する(ステップS167b)。次に、CU設定部163bは、サイズ設定部162bにより設定されるLCUサイズ及びSCUサイズ、並びに可逆復号部61bにより復号される分割フラグに従って、LCUを再帰的にブロック分割することにより、各LCU内にCUを設定する(ステップS168)。
  [5-2.逆直交変換処理]
   (1)第1の例
 図25Aは、復号時のエンハンスメントレイヤにおける逆直交変換処理の流れの第1の例を示すフローチャートである。図25Aに示した逆直交変換処理は、図5Aを用いて説明したTUサイズを設定するための第1の手法に従った処理である。
 図25Aを参照すると、まず、エンハンスメントレイヤのための逆直交変換部64bの変換制御部171bは、ベースレイヤのDCTサイズを示すDCTサイズ情報を、共通メモリ7から取得する(ステップS170)。次に、変換制御部171bは、ベースレイヤとエンハンスメントレイヤとの間のスケーラビリティ比を取得する(ステップS171)。
 次に、変換制御部171bは、DCTサイズにスケーラビリティ比を乗じることにより、エンハンスメントレイヤのTUサイズを、決め打ちで決定する(ステップS174a)。次に、変換制御部171bは、決定したTUサイズを有するTUを、エンハンスメントレイヤの各CU内に設定する(ステップS175a)。
 次に、4×4変換部172b、8×8変換部173b、16×16変換部174b及び32×32変換部175bのうち、変換制御部171bにより決定されたTUサイズに対応する変換部は、設定されたTUについて、逆直交変換を実行する(ステップS176)。
   (2)第2の例
 図25Bは、復号時のエンハンスメントレイヤにおける逆直交変換処理の流れの第2の例を示すフローチャートである。図25Bに示した逆直交変換処理は、図5Bを用いて説明したTUサイズを設定するための第2の手法に従った処理である。
 図25Bを参照すると、まず、エンハンスメントレイヤのための逆直交変換部64bの変換制御部171bは、ベースレイヤのDCTサイズを示すDCTサイズ情報を、共通メモリ7から取得する(ステップS170)。次に、変換制御部171bは、ベースレイヤとエンハンスメントレイヤとの間のスケーラビリティ比を取得する(ステップS171)。次に、変換制御部171bは、可逆復号部61bにより復号されるTUサイズ情報を取得する(ステップS172)
 次に、変換制御部171bは、DCTサイズとスケーラビリティ比との積を基準として、TUサイズの1つ以上の候補を決定する(ステップS173)。次に、変換制御部171bは、TUサイズの候補のうち、TUサイズ情報により指定されるTUサイズを選択する(ステップS174b)。次に、変換制御部171bは、選択したTUサイズを有するTUを、エンハンスメントレイヤの各CU内に設定する(ステップS175b)。
 次に、4×4変換部172b、8×8変換部173b、16×16変換部174b及び32×32変換部175bのうち、変換制御部171bにより選択されたTUサイズに対応する変換部は、設定されたTUについて、逆直交変換を実行する(ステップS176)。
  [5-3.イントラ予測処理]
   (1)第1の例
 図26Aは、復号時のエンハンスメントレイヤにおけるイントラ予測処理の流れの第1の例を示すフローチャートである。図26Aに示したイントラ予測処理は、図6Aを用いて説明したPUサイズを設定するための第1の手法に従った処理である。
 図26Aを参照すると、まず、エンハンスメントレイヤのためのイントラ予測部80bの予測制御部181bは、ベースレイヤの予測ブロックサイズを示す予測ブロックサイズ情報を、共通メモリ7から取得する(ステップS180)。次に、予測制御部181bは、ベースレイヤとエンハンスメントレイヤとの間のスケーラビリティ比を取得する(ステップS181)。
 次に、予測制御部181bは、予測ブロックサイズにスケーラビリティ比を乗じることにより、エンハンスメントレイヤのPUサイズを、決め打ちで決定する(ステップS184a)。次に、予測制御部181bは、決定したPUサイズを有するPUを、エンハンスメントレイヤの各CU内に設定する(ステップS185a)。
 次に、モード取得部182bは、予測制御部181bにより設定されたPUについて可逆復号部61bにより復号された予測モード情報を取得する(ステップS186)。そして、予測部183bは、予測制御部181bにより設定されたPUについて、予測モード情報により示される予測モードに従ってイントラ予測を実行する(ステップS187)。
   (2)第2の例
 図26Bは、復号時のエンハンスメントレイヤにおけるイントラ予測処理の流れの第2の例を示すフローチャートである。図26Bに示したイントラ予測処理は、図6Bを用いて説明したPUサイズを設定するための第2の手法に従った処理である。
 図26Bを参照すると、まず、エンハンスメントレイヤのためのイントラ予測部80bの予測制御部181bは、ベースレイヤの予測ブロックサイズを示す予測ブロックサイズ情報を、共通メモリ7から取得する(ステップS180)。次に、予測制御部181bは、ベースレイヤとエンハンスメントレイヤとの間のスケーラビリティ比を取得する(ステップS181)。次に、予測制御部181bは、可逆復号部61bにより復号されるPUサイズ情報を取得する(ステップS182)。
 次に、予測制御部181bは、予測ブロックサイズとスケーラビリティ比との積を基準として、PUサイズの1つ以上の候補を決定する(ステップS183)。次に、予測制御部181bは、PUサイズの候補のうち、PUサイズ情報により指定されるPUサイズを選択する(ステップS184b)。次に、予測制御部181bは、選択したPUサイズを有するPUを、エンハンスメントレイヤの各CU内に設定する(ステップS185b)。
 次に、モード取得部182bは、予測制御部181bにより設定されたPUについて可逆復号部61bにより復号された予測モード情報を取得する(ステップS186)。そして、予測部183bは、予測制御部181bにより設定されたPUについて、予測モード情報により示される予測モードに従ってイントラ予測を実行する(ステップS187)。
  [5-4.インター予測処理]
   (1)第1の例
 図27Aは、復号時のエンハンスメントレイヤにおけるインター予測処理の流れの第1の例を示すフローチャートである。図27Aに示したインター予測処理は、図6Aを用いて説明したPUサイズを設定するための第1の手法をインター予測に応用した処理である。
 図27Aを参照すると、まず、エンハンスメントレイヤのためのインター予測部90bの予測制御部191bは、ベースレイヤの予測ブロックサイズを示す予測ブロックサイズ情報を、共通メモリ7から取得する(ステップS190a)。次に、予測制御部191bは、ベースレイヤとエンハンスメントレイヤとの間のスケーラビリティ比を取得する(ステップS191)。
 次に、予測制御部191bは、予測ブロックサイズにスケーラビリティ比を乗じることにより、エンハンスメントレイヤのPUサイズを、決め打ちで決定する(ステップS194a)。次に、予測制御部191bは、決定したPUサイズを有するPUを、エンハンスメントレイヤの各CU内に設定する(ステップS195a)。
 次に、情報取得部192bは、予測制御部191bにより設定されたPUについて可逆復号部61bにより復号された予測モード情報及び動き情報を取得する(ステップS196)。そして、予測部193bは、予測制御部191bにより設定されたPUについて、予測モード情報により示される予測モードに従い、動き情報を用いてインター予測を実行する(ステップS197)。
   (2)第2の例
 図27Bは、復号時のエンハンスメントレイヤにおけるインター予測処理の流れの第2の例を示すフローチャートである。図27Bに示したインター予測処理は、図7Bを用いて説明したPUサイズを設定するための第3の手法に従った処理である。
 図27Bを参照すると、まず、エンハンスメントレイヤのためのインター予測部90bの予測制御部191bは、ベースレイヤの対応する予測ブロックについて指定されたサブマクロブロックタイプを含む予測ブロックサイズ情報を、共通メモリ7から取得する(ステップS190b)。次に、予測制御部191bは、ベースレイヤとエンハンスメントレイヤとの間のスケーラビリティ比を取得する(ステップS191)。次に、予測制御部191bは、可逆復号部61bにより復号されるPUサイズ情報を取得する(ステップS192)。
 次に、予測制御部191bは、サブマクロブロックタイプを参照することにより、PUサイズの1つ以上の候補を決定する(ステップS193)。次に、予測制御部191bは、PUサイズの候補のうち、PUサイズ情報により指定されるPUサイズを選択する(ステップS194b)。次に、予測制御部191bは、選択したPUサイズを有するPUを、エンハンスメントレイヤの各CU内に設定する(ステップS195b)。
 次に、情報取得部192bは、予測制御部191bにより設定されたPUについて可逆復号部61bにより復号された予測モード情報及び動き情報を取得する(ステップS196)。そして、予測部193bは、予測制御部191bにより設定されたPUについて、予測モード情報により示される予測モードに従い、動き情報を用いてインター予測を実行する(ステップS197)。
 <6.応用例>
  [6-1.様々な製品への応用]
 上述した実施形態に係る画像符号化装置10及び画像復号装置60は、衛星放送、ケーブルTVなどの有線放送、インターネット上での配信、及びセルラー通信による端末への配信などにおける送信機若しくは受信機、光ディスク、磁気ディスク及びフラッシュメモリなどの媒体に画像を記録する記録装置、又は、これら記憶媒体から画像を再生する再生装置などの様々な電子機器に応用され得る。以下、4つの応用例について説明する。
   (1)第1の応用例
 図28は、上述した実施形態を適用したテレビジョン装置の概略的な構成の一例を示している。テレビジョン装置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から供給される駆動信号により駆動され、表示デバイス(例えば、液晶ディスプレイ、プラズマディスプレイ又はOLEDなど)の映像面上に映像又は画像を表示する。
 音声信号処理部907は、デコーダ904から入力される音声データについてD/A変換及び増幅などの再生処理を行い、スピーカ908から音声を出力させる。また、音声信号処理部907は、音声データについてノイズ除去などの追加的な処理を行ってもよい。
 外部インタフェース909は、テレビジョン装置900と外部機器又はネットワークとを接続するためのインタフェースである。例えば、外部インタフェース909を介して受信される映像ストリーム又は音声ストリームが、デコーダ904により復号されてもよい。即ち、外部インタフェース909もまた、画像が符号化されている符号化ストリームを受信する、テレビジョン装置900における伝送手段としての役割を有する。
 制御部910は、CPU(Central Processing Unit)などのプロセッサ、並びにRAM(Random Access Memory)及びROM(Read Only Memory)などのメモリを有する。メモリは、CPUにより実行されるプログラム、プログラムデータ、EPGデータ、及びネットワークを介して取得されるデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、テレビジョン装置900の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース911から入力される操作信号に応じて、テレビジョン装置900の動作を制御する。
 ユーザインタフェース911は、制御部910と接続される。ユーザインタフェース911は、例えば、ユーザがテレビジョン装置900を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース911は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部910へ出力する。
 バス912は、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、音声信号処理部907、外部インタフェース909及び制御部910を相互に接続する。
 このように構成されたテレビジョン装置900において、デコーダ904は、上述した実施形態に係る画像復号装置60の機能を有する。それにより、テレビジョン装置900での画像のマルチコーデックのスケーラブル復号のために、エンハンスメントレイヤにブロックを設定する改善された仕組みを採用し、符号化効率を高めることができる。
   (2)第2の応用例
 図29は、上述した実施形態を適用した携帯電話機の概略的な構成の一例を示している。携帯電話機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メモリ、又はメモリカードなどの外部装着型の記憶媒体であってもよい。
 また、撮影モードにおいて、例えば、カメラ部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は、上述した実施形態に係る画像符号化装置10及び画像復号装置60の機能を有する。それにより、携帯電話機920での画像のマルチコーデックのスケーラブル符号化及び復号のために、エンハンスメントレイヤにブロックを設定する改善された仕組みを採用し、符号化効率を高めることができる。
   (3)第3の応用例
 図30は、上述した実施形態を適用した記録再生装置の概略的な構成の一例を示している。記録再生装置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は、上述した実施形態に係る画像符号化装置10の機能を有する。また、デコーダ947は、上述した実施形態に係る画像復号装置60の機能を有する。それにより、記録再生装置940での画像のマルチコーデックのスケーラブル符号化及び復号のために、エンハンスメントレイヤにブロックを設定する改善された仕組みを採用し、符号化効率を高めることができる。
   (4)第4の応用例
 図31は、上述した実施形態を適用した撮像装置の概略的な構成の一例を示している。撮像装置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又はCMOSなどのイメージセンサを有し、撮像面に結像した光学像を光電変換によって電気信号としての画像信号に変換する。そして、撮像部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は、上述した実施形態に係る画像符号化装置10及び画像復号装置60の機能を有する。それにより、撮像装置960での画像のマルチコーデックのスケーラブル符号化及び復号のために、エンハンスメントレイヤにブロックを設定する改善された仕組みを採用し、符号化効率を高めることができる。
  [6-2.スケーラブル符号化の様々な用途]
 上述したスケーラブル符号化の利点は、様々な用途において享受され得る。以下、3つの用途の例について説明する。
   (1)第1の例
 第1の例において、スケーラブル符号化は、データの選択的な伝送のために利用される。図32を参照すると、データ伝送システム1000は、ストリーム記憶装置1001及び配信サーバ1002を含む。配信サーバ1002は、ネットワーク1003を介して、いくつかの端末装置と接続される。ネットワーク1003は、有線ネットワークであっても無線ネットワークであってもよく、又はそれらの組合せであってもよい。図32には、端末装置の例として、PC(Personal Computer)1004、AV機器1005、タブレット装置1006及び携帯電話機1007が示されている。
 ストリーム記憶装置1001は、例えば、画像符号化装置10により生成される多重化ストリームを含むストリームデータ1011を記憶する。多重化ストリームは、ベースレイヤ(BL)の符号化ストリーム及びエンハンスメントレイヤ(EL)の符号化ストリームを含む。配信サーバ1002は、ストリーム記憶装置1001に記憶されているストリームデータ1011を読み出し、読み出したストリームデータ1011の少なくとも一部分を、ネットワーク1003を介して、PC1004、AV機器1005、タブレット装置1006、及び携帯電話機1007へ配信する。
 端末装置へのストリームの配信の際、配信サーバ1002は、端末装置の能力又は通信環境などの何らかの条件に基づいて、配信すべきストリームを選択する。例えば、配信サーバ1002は、端末装置が扱うことのできる画質を上回るほど高い画質を有する符号化ストリームを配信しないことにより、端末装置における遅延、オーバフロー又はプロセッサの過負荷の発生を回避してもよい。また、配信サーバ1002は、高い画質を有する符号化ストリームを配信しないことにより、ネットワーク1003の通信帯域が占有されることを回避してもよい。一方、配信サーバ1002は、これら回避すべきリスクが存在しない場合、又はユーザとの契約若しくは何らかの条件に基づいて適切だと判断される場合に、多重化ストリームの全てを端末装置へ配信してもよい。
 図32の例では、配信サーバ1002は、ストリーム記憶装置1001からストリームデータ1011を読み出す。そして、配信サーバ1002は、高い処理能力を有するPC1004へ、ストリームデータ1011をそのまま配信する。また、AV機器1005は低い処理能力を有するため、配信サーバ1002は、ストリームデータ1011から抽出されるベースレイヤの符号化ストリームのみを含むストリームデータ1012を生成し、ストリームデータ1012をAV機器1005へ配信する。また、配信サーバ1002は、高い通信レートで通信可能であるタブレット装置1006へストリームデータ1011をそのまま配信する。また、携帯電話機1007は低い通信レートでしか通信できないため、配信サーバ1002は、ベースレイヤの符号化ストリームのみを含むストリームデータ1012を携帯電話機1007へ配信する。
 このように多重化ストリームを用いることにより、伝送されるトラフィックの量を適応的に調整することができる。また、個々のレイヤがそれぞれ単独に符号化されるケースと比較して、ストリームデータ1011の符号量は削減されるため、ストリームデータ1011の全体が配信されるとしても、ネットワーク1003に掛かる負荷は抑制される。さらに、ストリーム記憶装置1001のメモリリソースも節約される。
 端末装置のハードウエア性能は、装置ごとに異なる。また、端末装置において実行されるアプリケーションのケイパビリティも様々である。さらに、ネットワーク1003の通信容量もまた様々である。データ伝送のために利用可能な容量は、他のトラフィックの存在に起因して、時々刻々と変化し得る。そこで、配信サーバ1002は、ストリームデータの配信を開始する前に、配信先の端末装置との間のシグナリングを通じて、端末装置のハードウエア性能及びアプリケーションケイパビリティなどに関する端末情報と、ネットワーク1003の通信容量などに関するネットワーク情報とを取得してもよい。そして、配信サーバ1002は、取得した情報に基づいて、配信すべきストリームを選択し得る。
 なお、復号すべきレイヤの抽出は、端末装置において行われてもよい。例えば、PC1004は、受信した多重化ストリームから抽出され復号されるベースレイヤ画像をその画面に表示してもよい。また、PC1004は、受信した多重化ストリームからベースレイヤの符号化ストリームを抽出してストリームデータ1012を生成し、生成したストリームデータ1012を記憶媒体に記憶させ、又は他の装置へ転送してもよい。
 図32に示したデータ伝送システム1000の構成は一例に過ぎない。データ伝送システム1000は、いかなる数のストリーム記憶装置1001、配信サーバ1002、ネットワーク1003、及び端末装置を含んでもよい。
   (2)第2の例
 第2の例において、スケーラブル符号化は、複数の通信チャネルを介するデータの伝送のために利用される。図33を参照すると、データ伝送システム1100は、放送局1101及び端末装置1102を含む。放送局1101は、地上波チャネル1111上で、ベースレイヤの符号化ストリーム1121を放送する。また、放送局1101は、ネットワーク1112を介して、エンハンスメントレイヤの符号化ストリーム1122を端末装置1102へ送信する。
 端末装置1102は、放送局1101により放送される地上波放送を受信するための受信機能を有し、地上波チャネル1111を介してベースレイヤの符号化ストリーム1121を受信する。また、端末装置1102は、放送局1101と通信するための通信機能を有し、ネットワーク1112を介してエンハンスメントレイヤの符号化ストリーム1122を受信する。
 端末装置1102は、例えば、ユーザからの指示に応じて、ベースレイヤの符号化ストリーム1121を受信し、受信した符号化ストリーム1121からベースレイヤ画像を復号してベースレイヤ画像を画面に表示してもよい。また、端末装置1102は、復号したベースレイヤ画像を記憶媒体に記憶させ、又は他の装置へ転送してもよい。
 また、端末装置1102は、例えば、ユーザからの指示に応じて、ネットワーク1112を介してエンハンスメントレイヤの符号化ストリーム1122を受信し、ベースレイヤの符号化ストリーム1121とエンハンスメントレイヤの符号化ストリーム1122とを多重化することにより多重化ストリームを生成してもよい。また、端末装置1102は、エンハンスメントレイヤの符号化ストリーム1122からエンハンスメントレイヤ画像を復号してエンハンスメントレイヤ画像を画面に表示してもよい。また、端末装置1102は、復号したエンハンスメントレイヤ画像を記憶媒体に記憶させ、又は他の装置へ転送してもよい。
 上述したように、多重化ストリームに含まれる各レイヤの符号化ストリームは、レイヤごとに異なる通信チャネルを介して伝送され得る。それにより、個々のチャネルに掛かる負荷を分散させて、通信の遅延若しくはオーバフローの発生を抑制することができる。
 また、何らかの条件に応じて、伝送のために使用される通信チャネルが動的に選択されてもよい。例えば、データ量が比較的多いベースレイヤの符号化ストリーム1121は帯域幅の広い通信チャネルを介して伝送され、データ量が比較的少ないエンハンスメントレイヤの符号化ストリーム1122は帯域幅の狭い通信チャネルを介して伝送され得る。また、特定のレイヤの符号化ストリーム1122が伝送される通信チャネルが、通信チャネルの帯域幅に応じて切り替えられてもよい。それにより、個々のチャネルに掛かる負荷をより効果的に抑制することができる。
 なお、図33に示したデータ伝送システム1100の構成は一例に過ぎない。データ伝送システム1100は、いかなる数の通信チャネル及び端末装置を含んでもよい。また、放送以外の用途において、ここで説明したシステムの構成が利用されてもよい。
   (3)第3の例
 第3の例において、スケーラブル符号化は、映像の記憶のために利用される。図34を参照すると、データ伝送システム1200は、撮像装置1201及びストリーム記憶装置1202を含む。撮像装置1201は、被写体1211を撮像することにより生成される画像データをスケーラブル符号化し、多重化ストリーム1221を生成する。多重化ストリーム1221は、ベースレイヤの符号化ストリーム及びエンハンスメントレイヤの符号化ストリームを含む。そして、撮像装置1201は、多重化ストリーム1221をストリーム記憶装置1202へ供給する。
 ストリーム記憶装置1202は、撮像装置1201から供給される多重化ストリーム1221を、モードごとに異なる画質で記憶する。例えば、ストリーム記憶装置1202は、通常モードにおいて、多重化ストリーム1221からベースレイヤの符号化ストリーム1222を抽出し、抽出したベースレイヤの符号化ストリーム1222を記憶する。これに対し、ストリーム記憶装置1202は、高画質モードにおいて、多重化ストリーム1221をそのまま記憶する。それにより、ストリーム記憶装置1202は、高画質での映像の記録が望まれる場合にのみ、データ量の多い高画質のストリームを記録することができる。そのため、画質の劣化のユーザへの影響を抑制しながら、メモリリソースを節約することができる。
 例えば、撮像装置1201は、監視カメラであるものとする。撮像画像に監視対象(例えば侵入者)が映っていない場合には、通常モードが選択される。この場合、撮像画像は重要でない可能性が高いため、データ量の削減が優先され、映像は低画質で記録される(即ち、ベースレイヤの符号化ストリーム1222のみが記憶される)。これに対し、撮像画像に監視対象(例えば、侵入者である被写体1211)が映っている場合には、高画質モードが選択される。この場合、撮像画像は重要である可能性が高いため、画質の高さが優先され、映像は高画質で記録される(即ち、多重化ストリーム1221が記憶される)。
 図34の例では、モードは、例えば画像解析結果に基づいて、ストリーム記憶装置1202により選択される。しかしながら、かかる例に限定されず、撮像装置1201がモードを選択してもよい。後者の場合、撮像装置1201は、通常モードにおいて、ベースレイヤの符号化ストリーム1222をストリーム記憶装置1202へ供給し、高画質モードにおいて、多重化ストリーム1221をストリーム記憶装置1202へ供給してもよい。
 なお、モードを選択するための選択基準は、いかなる基準であってもよい。例えば、マイクロフォンを通じて取得される音声の大きさ又は音声の波形などに応じて、モードが切り替えられてもよい。また、周期的にモードが切り替えられてもよい。また、ユーザがらの指示に応じてモードが切り替えられてもよい。さらに、選択可能なモードの数は、階層化されるレイヤの数を超えない限り、いかなる数であってもよい。
 図34に示したデータ伝送システム1200の構成は一例に過ぎない。データ伝送システム1200は、いかなる数の撮像装置1201を含んでもよい。また、監視カメラ以外の用途において、ここで説明したシステムの構成が利用されてもよい。
  [6-3.その他]
   (1)マルチビューコーデックへの応用
 マルチビューコーデックは、マルチレイヤコーデックの一種であり、いわゆる多視点映像を符号化し及び復号するための画像符号化方式である。図35は、マルチビューコーデックについて説明するための説明図である。図35を参照すると、3つの視点においてそれぞれ撮影される3つのビューのフレームのシーケンスが示されている。各ビューには、ビューID(view_id)が付与される。これら複数のビューのうちいずれか1つのビューが、ベースビュー(base view)に指定される。ベースビュー以外のビューは、ノンベースビューと呼ばれる。図35の例では、ビューIDが“0”であるビューがベースビューであり、ビューIDが“1”又は“2”である2つのビューがノンベースビューである。これらビューが階層的に符号化される場合、各ビューがレイヤに相当し得る。図中に矢印で示したように、ノンベースビューの画像は、ベースビューの画像を参照して符号化され及び復号される(他のノンベースビューの画像も参照されてよい)。
 図36は、マルチビューコーデックをサポートする画像符号化装置10vの概略的な構成を示すブロック図である。図36を参照すると、画像符号化装置10vは、第1レイヤ符号化部1c、第2レイヤ符号化部1d、共通メモリ2及び多重化部3を備える。
 第1レイヤ符号化部1cの機能は、入力としてベースレイヤ画像の代わりにベースビュー画像を受け取ることを除き、図8を用いて説明した第1符号化部1aの機能と同等である。第1レイヤ符号化部1cは、ベースビュー画像を符号化し、第1レイヤの符号化ストリームを生成する。第2レイヤ符号化部1dの機能は、入力としてエンハンスメントレイヤ画像の代わりにノンベースビュー画像を受け取ることを除き、図8を用いて説明した第2符号化部1bの機能と同等である。第2レイヤ符号化部1dは、ノンベースビュー画像を符号化し、第2レイヤの符号化ストリームを生成する。共通メモリ2は、レイヤ間で共通的に利用される情報を記憶する。多重化部3は、第1レイヤ符号化部1cにより生成される第1レイヤの符号化ストリームと、第2レイヤ符号化部1dにより生成される第2レイヤの符号化ストリームとを多重化し、マルチレイヤの多重化ストリームを生成する。
 図37は、マルチビューコーデックをサポートする画像復号装置60vの概略的な構成を示すブロック図である。図37を参照すると、画像復号装置60vは、逆多重化部5、第1レイヤ復号部6c、第2レイヤ復号部6d及び共通メモリ7を備える。
 逆多重化部5は、マルチレイヤの多重化ストリームを第1レイヤの符号化ストリーム及び第2レイヤの符号化ストリームに逆多重化する。第1レイヤ復号部6cの機能は、入力としてベースレイヤ画像の代わりにベースビュー画像が符号化された符号化ストリームを受け取ることを除き、図9を用いて説明した第1復号部6aの機能と同等である。第1レイヤ復号部6cは、第1レイヤの符号化ストリームからベースビュー画像を復号する。第2レイヤ復号部6dの機能は、入力としてエンハンスメントレイヤ画像の代わりにノンベースビュー画像が符号化された符号化ストリームを受け取ることを除き、図9を用いて説明した第2復号部6bの機能と同等である。第2レイヤ復号部6dは、第2レイヤの符号化ストリームからノンベースビュー画像を復号する。共通メモリ7は、レイヤ間で共通的に利用される情報を記憶する。
 マルチビューの画像データを符号化し又は復号する際、本開示に係る技術に従ってノンベースビューのレイヤにブロックを設定することにより、符号化効率が高められてもよい。
   (2)ストリーミング技術への応用
 本開示に係る技術は、ストリーミングプロトコルに適用されてもよい。例えば、MPEG-DASH(Dynamic Adaptive Streaming over HTTP)では、解像度などのパラメータが互いに異なる複数の符号化ストリームがストリーミングサーバにおいて予め用意される。そして、ストリーミングサーバは、複数の符号化ストリームからストリーミングすべき適切なデータをセグメント単位で動的に選択し、選択したデータを配信する。このようなストリーミングプロトコルにおいて、本開示に係る技術が採用されてもよい。
 <7.まとめ>
 ここまで、図1~図37を用いて、画像符号化装置10及び画像復号装置60の様々な実施形態について説明した。上述した実施形態によれば、マクロブロックベースの画像符号化方式でベースレイヤが符号化され、再帰的にブロック分割されるCUベースの画像符号化方式でエンハンスメントレイヤが符号化されるマルチコーデックのスケーラブル符号化において、ベースレイヤ内に設定されるブロックサイズに応じて、エンハンスメントレイヤ内にCUが設定される。従って、エンハンスメントレイヤにおいてQuad-Tree構造を一から形成する手法と比較して、高い符号化効率を達成することができる。
 また、上述した実施形態によれば、CUの最大サイズ、即ちLCUサイズが、ベースレイヤにおけるブロックサイズとレイヤ間のスケーラビリティ比とを用いて、決定される。それに対し、LCU内のCUへのブロック分割は、必ずしもベースレイヤにおけるブロックサイズに依存しない。従って、ベースレイヤの格子状のマクロブロック構造にとらわれることなく、HEVCに特有のQuad-Tree構造の柔軟性の利点を生かして、エンハンスメントレイヤの符号化効率を最適化することができる。LCUサイズがマクロブロックサイズ及びスケーラビリティ比を用いて決め打ちで決定される場合には、エンハンスメントレイヤにおいてブロックサイズ情報を符号化しなくてよいため、符号量を削減することができる。また、LCUサイズの候補がマクロブロックサイズとスケーラビリティ比との積を基準として絞り込まれる場合には、符号量を削減しつつ、LCUサイズの設定の柔軟性を獲得することもできる。
 なお、本明細書では、様々な情報が、符号化ストリームのヘッダに多重化されて、符号化側から復号側へ伝送される例について主に説明した。しかしながら、これら情報を伝送する手法はかかる例に限定されない。例えば、これら情報は、符号化ビットストリームに多重化されることなく、符号化ビットストリームと関連付けられた別個のデータとして伝送され又は記録されてもよい。ここで、「関連付ける」という用語は、ビットストリームに含まれる画像(スライス若しくはブロックなど、画像の一部であってもよい)と当該画像に対応する情報とを復号時にリンクさせ得るようにすることを意味する。即ち、情報は、画像(又はビットストリーム)とは別の伝送路上で伝送されてもよい。また、情報は、画像(又はビットストリーム)とは別の記録媒体(又は同一の記録媒体の別の記録エリア)に記録されてもよい。さらに、情報と画像(又はビットストリーム)とは、例えば、複数フレーム、1フレーム、又はフレーム内の一部分などの任意の単位で互いに関連付けられてよい。
 以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
 なお、以下のような構成も本開示の技術的範囲に属する。
(1)
 固定的なサイズを有するマクロブロックに基づく第1の符号化方式で復号されるベースレイヤ内にマクロブロックを設定する第1設定部と、
 再帰的にブロック分割される符号化単位に基づく第2の符号化方式で復号されるエンハンスメントレイヤ内に、前記第1設定部により設定されるブロックサイズに応じて、符号化単位を設定する第2設定部と、
 を備える画像処理装置。
(2)
 前記第2設定部は、マクロブロックサイズとレイヤ間のスケーラビリティ比とを用いて、符号化単位のサイズを決定する、前記(1)に記載の画像処理装置。
(3)
 前記第2設定部は、前記マクロブロックサイズに前記スケーラビリティ比を乗じることにより、符号化単位の最大サイズを決定する、前記(2)に記載の画像処理装置。
(4)
 前記第2設定部は、前記マクロブロックサイズと前記スケーラビリティ比との積を基準として絞り込まれる複数のサイズのうち、符号化ストリームから取得されるパラメータに従って選択されるサイズを、符号化単位の最大サイズとして決定する、前記(2)に記載の画像処理装置。
(5)
 前記第2設定部は、サブマクロブロックサイズに前記スケーラビリティ比を乗じることにより、符号化単位の最小サイズを決定する、前記(3)又は前記(4)に記載の画像処理装置。
(6)
 前記第2設定部は、符号化ストリームから取得されるパラメータに従って、符号化単位の最小サイズを決定する、前記(3)又は前記(4)に記載の画像処理装置。
(7)
 前記ベースレイヤ内に第1の予測ブロックを設定して、当該第1の予測ブロックについてイントラ予測又はインター予測を実行する第1予測部と、
 前記第1の予測ブロックのサイズと前記スケーラビリティ比とを用いて、前記エンハンスメントレイヤ内に前記第1の予測ブロックに対応する第2の予測ブロックを設定して、当該第2の予測ブロックについてイントラ予測又はインター予測を実行する第2予測部と、
 をさらに備える、前記(2)~(6)のいずれか1項に記載の画像処理装置。
(8)
 前記第2予測部は、前記第1予測部により設定される前記第1の予測ブロックのサイズに前記スケーラビリティ比を乗じることにより、前記第2の予測ブロックのサイズを決定する、前記(7)に記載の画像処理装置。
(9)
 前記第2予測部は、前記第1予測部により設定される前記第1の予測ブロックのサイズと前記スケーラビリティ比との積を基準として絞り込まれる複数のサイズのうち、符号化ストリームから取得されるパラメータに従って選択されるサイズを、前記第2の予測ブロックのサイズとして決定する、前記(7)に記載の画像処理装置。
(10)
 前記第1予測部及び前記第2予測部は、インター予測を実行し、
 前記第2予測部は、前記第1の予測ブロックを設定する際に前記第1予測部によりサブマクロブロックへの分割が使用されたかに応じて絞り込まれる複数のサイズのうち、符号化ストリームから取得されるパラメータに従って選択されるサイズを、前記第2の予測ブロックのサイズとして決定する、
 前記(7)に記載の画像処理装置。
(11)
 前記ベースレイヤ内に第1の変換ブロックを設定して、当該第1の変換ブロックについて逆直交変換を実行する第1変換部と、
 前記第1の変換ブロックのサイズと前記スケーラビリティ比とを用いて、前記エンハンスメントレイヤ内に前記第1の変換ブロックに対応する第2の変換ブロックを設定して、当該第2の変換ブロックについて逆直交変換を実行する第2変換部と、
 をさらに備える、前記(2)~(10)のいずれか1項に記載の画像処理装置。
(12)
 前記第2変換部は、前記第1変換部により設定される前記第1の変換ブロックのサイズに前記スケーラビリティ比を乗じることにより、前記第2の変換ブロックのサイズを決定する、前記(11)に記載の画像処理装置。
(13)
 前記第2変換部は、前記第1変換部により設定される前記第1の変換ブロックのサイズと前記スケーラビリティ比との積を基準として絞り込まれる複数のサイズのうち、符号化ストリームから取得されるパラメータに従って選択されるサイズを、前記第2の変換ブロックのサイズとして決定する、前記(11)に記載の画像処理装置。
(14)
 固定的なサイズを有するマクロブロックに基づく第1の符号化方式で復号されるベースレイヤ内にマクロブロックを設定することと、
 再帰的にブロック分割される符号化単位に基づく第2の符号化方式で復号されるエンハンスメントレイヤ内に、前記ベースレイヤ内に設定されたブロックサイズに応じて、符号化単位を設定することと、
 を含む画像処理方法。
(15)
 固定的なサイズを有するマクロブロックに基づく第1の符号化方式で符号化されるベースレイヤ内にマクロブロックを設定する第1設定部と、
 再帰的にブロック分割される符号化単位に基づく第2の符号化方式で符号化されるエンハンスメントレイヤ内に、前記第1設定部により設定されるブロックサイズに応じて、符号化単位を設定する第2設定部と、
 を備える画像処理装置。
(16)
 前記第2設定部は、マクロブロックサイズとレイヤ間のスケーラビリティ比とを用いて、符号化単位のサイズを決定する、前記(15)に記載の画像処理装置。
(17)
 前記第2設定部は、前記マクロブロックサイズに前記スケーラビリティ比を乗じることにより、符号化単位の最大サイズを決定する、前記(16)に記載の画像処理装置。
(18)
 前記第2設定部は、サブマクロブロックサイズに前記スケーラビリティ比を乗じることにより、符号化単位の最小サイズを決定する、前記(17)に記載の画像処理装置。
(19)
 前記第2設定部は、符号化単位の最小サイズとして選択されるサイズを示すパラメータを生成する、前記(17)に記載の画像処理装置。
(20)
 固定的なサイズを有するマクロブロックに基づく第1の符号化方式で符号化されるベースレイヤ内にマクロブロックを設定することと、
 再帰的にブロック分割される符号化単位に基づく第2の符号化方式で符号化されるエンハンスメントレイヤ内に、前記ベースレイヤ内に設定されるブロックサイズに応じて、符号化単位を設定することと、
 を含む画像処理方法。
 10    画像符号化装置(画像処理装置)
 12a   ブロック設定部(第1設定部)
 12b   ブロック設定部(第2設定部)
 14a   直交変換部(第1変換部)
 14b   直交変換部(第2変換部)
 30a   イントラ予測部(第1予測部)
 30b   イントラ予測部(第2予測部)
 40a   インター予測部(第1予測部)
 40b   インター予測部(第2予測部)
 60    画像復号装置(画像処理装置)
 62a   ブロック設定部(第1設定部)
 62b   ブロック設定部(第2設定部)
 64a   逆直交変換部(第1変換部)
 64b   逆直交変換部(第2変換部)
 80a   イントラ予測部(第1予測部)
 80b   イントラ予測部(第2予測部)
 90a   インター予測部(第1予測部)
 90b   インター予測部(第2予測部)
 

Claims (20)

  1.  固定的なサイズを有するマクロブロックに基づく第1の符号化方式で復号されるベースレイヤ内にマクロブロックを設定する第1設定部と、
     再帰的にブロック分割される符号化単位に基づく第2の符号化方式で復号されるエンハンスメントレイヤ内に、前記第1設定部により設定されるブロックサイズに応じて、符号化単位を設定する第2設定部と、
     を備える画像処理装置。
  2.  前記第2設定部は、マクロブロックサイズとレイヤ間のスケーラビリティ比とを用いて、符号化単位のサイズを決定する、請求項1に記載の画像処理装置。
  3.  前記第2設定部は、前記マクロブロックサイズに前記スケーラビリティ比を乗じることにより、符号化単位の最大サイズを決定する、請求項2に記載の画像処理装置。
  4.  前記第2設定部は、前記マクロブロックサイズと前記スケーラビリティ比との積を基準として絞り込まれる複数のサイズのうち、符号化ストリームから取得されるパラメータに従って選択されるサイズを、符号化単位の最大サイズとして決定する、請求項2に記載の画像処理装置。
  5.  前記第2設定部は、サブマクロブロックサイズに前記スケーラビリティ比を乗じることにより、符号化単位の最小サイズを決定する、請求項3に記載の画像処理装置。
  6.  前記第2設定部は、符号化ストリームから取得されるパラメータに従って、符号化単位の最小サイズを決定する、請求項3に記載の画像処理装置。
  7.  前記ベースレイヤ内に第1の予測ブロックを設定して、当該第1の予測ブロックについてイントラ予測又はインター予測を実行する第1予測部と、
     前記第1の予測ブロックのサイズと前記スケーラビリティ比とを用いて、前記エンハンスメントレイヤ内に前記第1の予測ブロックに対応する第2の予測ブロックを設定して、当該第2の予測ブロックについてイントラ予測又はインター予測を実行する第2予測部と、
     をさらに備える、請求項2に記載の画像処理装置。
  8.  前記第2予測部は、前記第1予測部により設定される前記第1の予測ブロックのサイズに前記スケーラビリティ比を乗じることにより、前記第2の予測ブロックのサイズを決定する、請求項7に記載の画像処理装置。
  9.  前記第2予測部は、前記第1予測部により設定される前記第1の予測ブロックのサイズと前記スケーラビリティ比との積を基準として絞り込まれる複数のサイズのうち、符号化ストリームから取得されるパラメータに従って選択されるサイズを、前記第2の予測ブロックのサイズとして決定する、請求項7に記載の画像処理装置。
  10.  前記第1予測部及び前記第2予測部は、インター予測を実行し、
     前記第2予測部は、前記第1の予測ブロックを設定する際に前記第1予測部によりサブマクロブロックへの分割が使用されたかに応じて絞り込まれる複数のサイズのうち、符号化ストリームから取得されるパラメータに従って選択されるサイズを、前記第2の予測ブロックのサイズとして決定する、
     請求項7に記載の画像処理装置。
  11.  前記ベースレイヤ内に第1の変換ブロックを設定して、当該第1の変換ブロックについて逆直交変換を実行する第1変換部と、
     前記第1の変換ブロックのサイズと前記スケーラビリティ比とを用いて、前記エンハンスメントレイヤ内に前記第1の変換ブロックに対応する第2の変換ブロックを設定して、当該第2の変換ブロックについて逆直交変換を実行する第2変換部と、
     をさらに備える、請求項2に記載の画像処理装置。
  12.  前記第2変換部は、前記第1変換部により設定される前記第1の変換ブロックのサイズに前記スケーラビリティ比を乗じることにより、前記第2の変換ブロックのサイズを決定する、請求項11に記載の画像処理装置。
  13.  前記第2変換部は、前記第1変換部により設定される前記第1の変換ブロックのサイズと前記スケーラビリティ比との積を基準として絞り込まれる複数のサイズのうち、符号化ストリームから取得されるパラメータに従って選択されるサイズを、前記第2の変換ブロックのサイズとして決定する、請求項11に記載の画像処理装置。
  14.  固定的なサイズを有するマクロブロックに基づく第1の符号化方式で復号されるベースレイヤ内にマクロブロックを設定することと、
     再帰的にブロック分割される符号化単位に基づく第2の符号化方式で復号されるエンハンスメントレイヤ内に、前記ベースレイヤ内に設定されたブロックサイズに応じて、符号化単位を設定することと、
     を含む画像処理方法。
  15.  固定的なサイズを有するマクロブロックに基づく第1の符号化方式で符号化されるベースレイヤ内にマクロブロックを設定する第1設定部と、
     再帰的にブロック分割される符号化単位に基づく第2の符号化方式で符号化されるエンハンスメントレイヤ内に、前記第1設定部により設定されるブロックサイズに応じて、符号化単位を設定する第2設定部と、
     を備える画像処理装置。
  16.  前記第2設定部は、マクロブロックサイズとレイヤ間のスケーラビリティ比とを用いて、符号化単位のサイズを決定する、請求項15に記載の画像処理装置。
  17.  前記第2設定部は、前記マクロブロックサイズに前記スケーラビリティ比を乗じることにより、符号化単位の最大サイズを決定する、請求項16に記載の画像処理装置。
  18.  前記第2設定部は、サブマクロブロックサイズに前記スケーラビリティ比を乗じることにより、符号化単位の最小サイズを決定する、請求項17に記載の画像処理装置。
  19.  前記第2設定部は、符号化単位の最小サイズとして選択されるサイズを示すパラメータを生成する、請求項17に記載の画像処理装置。
  20.  固定的なサイズを有するマクロブロックに基づく第1の符号化方式で符号化されるベースレイヤ内にマクロブロックを設定することと、
     再帰的にブロック分割される符号化単位に基づく第2の符号化方式で符号化されるエンハンスメントレイヤ内に、前記ベースレイヤ内に設定されるブロックサイズに応じて、符号化単位を設定することと、
     を含む画像処理方法。
     
PCT/JP2013/056302 2012-05-15 2013-03-07 画像処理装置及び画像処理方法 WO2013172074A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201380024085.0A CN104272734A (zh) 2012-05-15 2013-03-07 图像处理装置和图像处理方法
EP13790183.1A EP2852158A4 (en) 2012-05-15 2013-03-07 IMAGE PROCESSING DEVICE AND IMAGE PROCESSING METHOD
JP2014515520A JP5900612B2 (ja) 2012-05-15 2013-03-07 画像処理装置及び画像処理方法
US14/386,862 US20150043638A1 (en) 2012-05-15 2013-03-07 Image processing apparatus and image processing method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2012-111271 2012-05-15
JP2012111271 2012-05-15

Publications (1)

Publication Number Publication Date
WO2013172074A1 true WO2013172074A1 (ja) 2013-11-21

Family

ID=49583497

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/056302 WO2013172074A1 (ja) 2012-05-15 2013-03-07 画像処理装置及び画像処理方法

Country Status (5)

Country Link
US (1) US20150043638A1 (ja)
EP (1) EP2852158A4 (ja)
JP (1) JP5900612B2 (ja)
CN (1) CN104272734A (ja)
WO (1) WO2013172074A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016187140A (ja) * 2015-03-27 2016-10-27 日本電信電話株式会社 ブロックサイズ決定方法、ブロックサイズ決定装置及びブロックサイズ決定プログラム
WO2020054060A1 (ja) * 2018-09-14 2020-03-19 株式会社ソシオネクスト 動画像符号化方法及び動画像符号化装置

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101605773B1 (ko) * 2014-09-25 2016-04-01 현대자동차주식회사 단말 장치, 그를 가지는 차량 및 단말 장치의 제어 방법
KR102390413B1 (ko) * 2017-03-03 2022-04-25 에스케이텔레콤 주식회사 영상 부호화 또는 복호화하기 위한 장치 및 방법
CN109547791B (zh) * 2018-10-26 2020-12-22 西安科锐盛创新科技有限公司 图像帧内预测方法及其装置
CN112839226B (zh) * 2019-11-25 2024-02-23 深信服科技股份有限公司 一种图像编码、解码方法、相关装置及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001008214A (ja) * 1999-06-18 2001-01-12 Matsushita Electric Ind Co Ltd 映像信号階層化符号化装置および映像信号階層化復号化装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1170437C (zh) * 1999-06-08 2004-10-06 松下电器产业株式会社 图像信号混洗装置和方法
KR20060109247A (ko) * 2005-04-13 2006-10-19 엘지전자 주식회사 베이스 레이어 픽처를 이용하는 영상신호의 엔코딩/디코딩방법 및 장치
ATE466453T1 (de) * 2006-05-05 2010-05-15 Thomson Licensing Vereinfachte bewegungsprädiktion zwischen schichten für die skalierbare videocodierung
KR20100095992A (ko) * 2009-02-23 2010-09-01 한국과학기술원 비디오 부호화에서의 분할 블록 부호화 방법, 비디오 복호화에서의 분할 블록 복호화 방법 및 이를 구현하는 기록매체
US20130070855A1 (en) * 2011-09-17 2013-03-21 Qualcomm Incorporated Hybrid motion vector coding modes for video coding
TWI616087B (zh) * 2012-01-31 2018-02-21 Vid衡器股份有限公司 可縮放高效率視訊編碼(hevc)參考圖集(rps)傳訊
CN104247423B (zh) * 2012-03-21 2018-08-07 联发科技(新加坡)私人有限公司 可伸缩视频编码系统的帧内模式编码方法和装置
WO2013145021A1 (ja) * 2012-03-30 2013-10-03 株式会社日立製作所 画像復号方法及び画像復号装置
US20130287109A1 (en) * 2012-04-29 2013-10-31 Qualcomm Incorporated Inter-layer prediction through texture segmentation for video coding

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001008214A (ja) * 1999-06-18 2001-01-12 Matsushita Electric Ind Co Ltd 映像信号階層化符号化装置および映像信号階層化復号化装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
AJAY LUTHRA; JENS-RAINER OHM; JOERN OSTERMANN: "Draft requirements for the scalable enhancement of HEVC", JTC I/SC29/WG I N12400, November 2011 (2011-11-01)
BENJAMIN BROSS; WOO-JIN HAN; JENS-RAINER OHM; GARY J. SULLIVAN; THOMAS WIEGAND: "High efficiency video coding (HEVC) text specification draft 6", JCTVC-H1003 VER20, 17 February 2012 (2012-02-17)
DANNY HONG ET AL.: "Scalability Support in HEVC", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11 6TH MEETING, 14 July 2011 (2011-07-14), TORINO, IT, XP030049273 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016187140A (ja) * 2015-03-27 2016-10-27 日本電信電話株式会社 ブロックサイズ決定方法、ブロックサイズ決定装置及びブロックサイズ決定プログラム
WO2020054060A1 (ja) * 2018-09-14 2020-03-19 株式会社ソシオネクスト 動画像符号化方法及び動画像符号化装置
US11516481B2 (en) 2018-09-14 2022-11-29 Socionext Inc. Video encoding method and video encoding device

Also Published As

Publication number Publication date
EP2852158A4 (en) 2015-11-18
JP5900612B2 (ja) 2016-04-06
US20150043638A1 (en) 2015-02-12
JPWO2013172074A1 (ja) 2016-01-12
EP2852158A1 (en) 2015-03-25
CN104272734A (zh) 2015-01-07

Similar Documents

Publication Publication Date Title
RU2606303C2 (ru) Устройство декодирования и способ декодирования и устройство кодирования и способ кодирования
KR102216571B1 (ko) 텔레비전 장치, 휴대 전화기, 재생 장치, 카메라 및 신호 처리 방법
JP6399366B2 (ja) 画像処理装置および方法、プログラム、並びに記録媒体
US20230055659A1 (en) Image processing device and method using adaptive offset filter in units of largest coding unit
WO2015104891A1 (ja) 画像処理装置及び画像処理方法
JP2016103850A (ja) 画像処理装置、画像処理方法、プログラム及び記録媒体
WO2013164922A1 (ja) 画像処理装置及び画像処理方法
WO2015053001A1 (ja) 画像処理装置及び画像処理方法
JP5900612B2 (ja) 画像処理装置及び画像処理方法
WO2016147836A1 (ja) 画像処理装置および方法
WO2013088833A1 (ja) 画像処理装置及び画像処理方法
WO2013157308A1 (ja) 画像処理装置及び画像処理方法
US9930353B2 (en) Image decoding device and method
WO2014148070A1 (ja) 画像処理装置及び画像処理方法
WO2014103764A1 (ja) 画像処理装置および方法
WO2015052979A1 (ja) 画像処理装置及び画像処理方法
WO2014050311A1 (ja) 画像処理装置及び画像処理方法
WO2014097703A1 (ja) 画像処理装置及び画像処理方法
WO2017126331A1 (ja) 画像処理装置および方法
WO2015098231A1 (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: 13790183

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2014515520

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 14386862

Country of ref document: US

REEP Request for entry into the european phase

Ref document number: 2013790183

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2013790183

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE