WO2015151791A1 - 画像復号装置および方法 - Google Patents

画像復号装置および方法 Download PDF

Info

Publication number
WO2015151791A1
WO2015151791A1 PCT/JP2015/057837 JP2015057837W WO2015151791A1 WO 2015151791 A1 WO2015151791 A1 WO 2015151791A1 JP 2015057837 W JP2015057837 W JP 2015057837W WO 2015151791 A1 WO2015151791 A1 WO 2015151791A1
Authority
WO
WIPO (PCT)
Prior art keywords
unit
image
data
filter processing
processing
Prior art date
Application number
PCT/JP2015/057837
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 JP2016511513A priority Critical patent/JP6824034B2/ja
Priority to US15/128,008 priority patent/US10440397B2/en
Publication of WO2015151791A1 publication Critical patent/WO2015151791A1/ja
Priority to US16/423,399 priority patent/US10779009B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Definitions

  • the present disclosure relates to an image decoding apparatus and method, and more particularly to an image decoding apparatus and method capable of suppressing an increase in the load of decoding processing.
  • HEVC High Efficiency Video Coding
  • the present disclosure has been made in view of such a situation, and makes it possible to suppress an increase in the load of decoding processing.
  • a decoding unit that generates decoded image data by decoding encoded data obtained by encoding image data for each CU (Coding Unit) that is recursively divided, and the encoded data
  • a filter processing unit that performs filter processing on the decoded image data generated by the decoding unit according to the information set for each data unit corresponding to the header information of
  • the filter processing unit may perform the filter process on the decoded image data by skipping a reference to information set for each CU unit to be referred to when performing the filter process.
  • the filter processing unit When the filter processing unit indicates that the condition for the value of the header information does not need to refer to the information set for each CU, the information set for each CU unit to be referred to when performing the filter process Reference to can be skipped.
  • the filter processing unit can perform filter processing on the decoded image data in units of coding tree blocks (CTBs).
  • CTBs coding tree blocks
  • the filter processing unit can perform deblocking filter processing as the filter processing.
  • the filter processing unit can skip the reference to the information set for each CU to be referred to when performing the filter processing, when the following expression is satisfied as the condition.
  • the filter processing unit may skip reference to information set for each CU to be referred to when performing the filter processing, when the picture is configured of one slice.
  • the filter processing unit refers to information set for each CU unit to be referred to when performing the filter process when slice_qp_delta of each slice header in the picture is the same when the picture is configured of a plurality of slices You can skip
  • the filter processing unit can perform sample adaptive offset processing as the filter processing.
  • the filter processing unit can skip the reference to the information set for each CU to be referred to when performing the filter processing, when the following expression is satisfied as the condition.
  • decoded image data is generated by decoding encoded data obtained by encoding image data for each CU (Coding Unit) recursively divided, and generating encoded image data.
  • the present invention is an image decoding method for performing filter processing on the generated decoded image data in accordance with information set for each data unit corresponding to header information.
  • decoded image data is generated by decoding encoded data obtained by encoding image data for each CU (Coding Unit) that is recursively divided, and a header of the encoded data is generated.
  • the filtering process is performed on the generated decoded image data according to the information set for each data unit corresponding to the information.
  • encoded data obtained by encoding image data can be decoded.
  • Fig. 24 is a diagram illustrating an example main configuration of a multi-viewpoint image decoding device to which the present technology is applied. It is a figure which shows the example of a hierarchy image coding system. It is a figure which shows the main structural examples of the hierarchy image coding apparatus to which this technique is applied. It is a figure which shows the main structural examples of the hierarchy image decoding apparatus to which this technique is applied. It is a block diagram showing an example of main composition of a computer. It is a block diagram showing an example of a schematic structure of a television set. It is a block diagram which shows an example of a rough structure of a mobile telephone.
  • a coding tree block (Coding tree block)) is defined as a fixed size coding unit.
  • the image data of one picture is divided and encoded by the CTB, and the encoded data of each CTB is decoded in order at the decoder.
  • the CTB can be further divided into 8x8, 16x16, 32x32 and 64x64 coding units (CU (Coding Unit)).
  • FIG. 1 is an example of division of a CU. In the case of the example of FIG. 1, one CTB is divided into 19 CUs.
  • transquant_bypass_enabled_flag when the value of transquant_bypass_enabled_flag is “1”, flag information indicating whether to skip scaling, conversion processing, and loop filter in that CU for each CU There is cu_transquant_bypass_flag which is
  • the pcm_flag of CU4 is “1”
  • the cu_transquant_bypass_flag of CU10 is “1”.
  • TU Transform Unit
  • FIG. 3 is a diagram showing an example in which the value of Qp Y changes for each CU.
  • CTB that is, in a picture
  • a large number of CUs can be formed, and thus referring to the information of each CU may increase the load of filtering.
  • ⁇ Filter control> Therefore, according to the information set for each data unit corresponding to the header information of the encoded data, the encoded data obtained by encoding the image data is decoded for each CU (Coding Unit) divided recursively. Filter processing is performed on the decoded image data generated by By doing this, it is possible to suppress the use of information of an unnecessarily small data unit, and to suppress an increase in the load of the decoding process.
  • the header information is information for each layer (sequence / picture / slice / tile / maximum coding unit / coding unit etc.) prior to data set in each layer or information (to be referred to) or each layer. It means parsing (referring) information independently of the set data. For example, video parameter set (VPS (Video Parameter Set)), sequence parameter set (SPS (Sequence Parameter Set)), picture parameter set (PPS (Picture Parameter Set)), slice header (Slice Header), null unit type (nal_unit_typ) Information such as SEI (Supplemental Enhancement Information) corresponds to header information.
  • the header information includes not only information explicitly defined as the syntax of the bit stream but also information located at the beginning of each layer.
  • FIG. 4 is a block diagram illustrating an exemplary main configuration of an image decoding device which is an aspect of an image processing device to which the present technology is applied.
  • the image decoding apparatus 100 shown in FIG. 4 decodes encoded data generated by the image encoding apparatus (not shown) encoding image data according to the HEVC encoding system.
  • the image decoding apparatus 100 includes an accumulation buffer 111, a lossless decoding unit 112, an inverse quantization unit 113, an inverse orthogonal transformation unit 114, an operation unit 115, a loop filter 116, and a screen rearrangement buffer 117. .
  • the image decoding apparatus 100 further includes a frame memory 118, an intra prediction unit 119, an inter prediction unit 120, and a predicted image selection unit 121.
  • the image decoding apparatus 100 includes a filter control unit 122.
  • the accumulation buffer 111 is also a receiving unit that receives the encoded data transmitted from the encoding side.
  • the accumulation buffer 111 receives and accumulates the transmitted encoded data, and supplies the encoded data to the lossless decoding unit 112 at a predetermined timing.
  • the lossless decoding unit 112 decodes the encoded data supplied from the accumulation buffer 111 using the HEVC method. For example, the lossless decoding unit 112 decodes the encoded data for each of CUs (coding units) that are recursively divided.
  • the lossless decoding unit 112 supplies the quantized coefficient data obtained by decoding to the inverse quantization unit 113.
  • the lossless decoding unit 112 determines whether the intra prediction mode is selected as the optimum prediction mode or the inter prediction mode is selected based on the information on the optimum prediction mode added to the encoded data, and the optimum The information on the prediction mode is supplied to the mode of the intra prediction unit 119 and the inter prediction unit 120 which is determined to be selected. For example, when the intra prediction mode is selected as the optimum prediction mode on the encoding side, information on the optimum prediction mode is supplied to the intra prediction unit 119. Also, for example, when the inter prediction mode is selected as the optimum prediction mode on the encoding side, information on the optimum prediction mode is supplied to the inter prediction unit 120.
  • the lossless decoding unit 112 supplies information necessary for inverse quantization, such as a quantization matrix and a quantization parameter, to the inverse quantization unit 113.
  • the lossless decoding unit 112 supplies header information such as a sequence parameter set (SPS), a picture parameter set (PPS), and a slice header to the filter control unit 122.
  • SPS sequence parameter set
  • PPS picture parameter set
  • slice header a slice header
  • the inverse quantization unit 113 inversely quantizes the quantized coefficient data obtained by being decoded by the lossless decoding unit 112 by a method corresponding to the encoding side quantization method.
  • the inverse quantization unit 113 supplies the obtained coefficient data to the inverse orthogonal transform unit 114.
  • the inverse orthogonal transformation unit 114 performs inverse orthogonal transformation on the orthogonal transformation coefficient supplied from the inverse quantization unit 113 according to a scheme corresponding to the orthogonal transformation scheme on the encoding side.
  • the inverse orthogonal transformation unit 114 obtains residual data corresponding to a state before orthogonal transformation on the encoding side by the inverse orthogonal transformation processing. Residual data obtained by the inverse orthogonal transformation is supplied to the calculation unit 115.
  • the operation unit 115 acquires residual data from the inverse orthogonal transform unit 114.
  • the calculation unit 115 acquires a prediction image from the intra prediction unit 119 or the inter prediction unit 120 via the prediction image selection unit 121.
  • the arithmetic unit 115 adds the difference image and the prediction image to obtain a reconstructed image corresponding to the image before the prediction image is subtracted on the encoding side.
  • the calculation unit 115 supplies the reconstructed image to the loop filter 116 and the intra prediction unit 119.
  • the loop filter 116 appropriately performs loop filter processing including deblock filter processing, SAO processing, and the like on the supplied reconstructed image to generate a decoded image.
  • the loop filter 116 removes block distortion by performing deblocking filter processing on the reconstructed image.
  • the loop filter 116 performs SAO processing on the deblock filter processing result (reconstructed image subjected to block distortion removal), thereby reducing ringing, correcting pixel value deviation, etc.
  • the type of filter processing performed by the loop filter 116 is arbitrary, and filter processing other than that described above may be performed. Also, the loop filter 116 may perform filter processing using the filter coefficient supplied from the encoding side.
  • the loop filter 116 supplies the decoded image, which is the filter processing result, to the screen rearrangement buffer 117 and the frame memory 118.
  • the screen rearrangement buffer 117 rearranges the images. That is, the order of the frames rearranged for the order of encoding on the encoding side is rearranged to the order of the original display.
  • the screen rearrangement buffer 117 outputs the decoded image data in which the order of the frames is rearranged to the outside of the image decoding apparatus 100.
  • the frame memory 118 stores the supplied decoded image, and at the predetermined timing or based on an external request from the inter prediction unit 120 or the like, the inter prediction unit 120 uses the stored decoded image as a reference image. Supply.
  • the intra prediction unit 119 performs intra prediction using the reconstructed image supplied from the calculation unit 115 as a reference image in the intra prediction mode used on the encoding side, and generates a prediction image.
  • the intra prediction unit 119 supplies the generated predicted image to the predicted image selection unit 121.
  • the inter prediction unit 120 acquires information (optimal prediction mode information, reference image information, and the like) obtained by decoding the header information from the lossless decoding unit 112.
  • the inter prediction unit 120 performs inter prediction using the reference image acquired from the frame memory 118 in the inter prediction mode indicated by the optimal prediction mode information acquired from the lossless decoding unit 112, and generates a prediction image.
  • the prediction image selection unit 121 supplies the prediction image from the intra prediction unit 119 or the prediction image from the inter prediction unit 120 to the calculation unit 115. Then, in the operation unit 115, the predicted image generated using the motion vector is added to the residual data supplied from the inverse orthogonal transform unit 114, and the original image is decoded. That is, a reconstructed image is generated.
  • the filter control unit 122 acquires header information transmitted from the encoding side, such as, for example, a sequence parameter set (SPS), a picture parameter set (PPS), and a slice header, through the lossless decoding unit 112.
  • the filter control unit 122 determines the data unit of the information used for the filtering process of the loop filter 116 based on the acquired header information. For example, the filter control unit 122 selects whether to use information in CU units.
  • the filter control unit 122 generates filter control information for controlling the operation of the loop filter 116 so as to perform the loop filter process using the determined (selected) data unit information, and transmits the filter control information to the loop filter 116. Supply.
  • FIG. 5 An example of the syntax of the sequence parameter set (SPS) is shown in FIG. 5 and FIG. As described above, when pcm_enabled_flag shown in the fourth line from the bottom of FIG. 5 is “1”, pcm_loop_filter_disabled_flag exists and pcm_flag exists for each CU as shown in the third line from the top of FIG. .
  • the filter control unit 122 refers to various header information such as SPS and PPS, and generates filter control information based on the value.
  • the filter control unit 122 includes a deblocking filter control information generation unit 131 and an SAO control information generation unit 132.
  • the deblocking filter control information generation unit 131 refers to the header information such as SPS, PPS, slice header and the like supplied from the lossless decoding unit 112 to determine a data unit of information used for the deblocking filter process. For example, when the deblocking filter control information generation unit 131 indicates that the condition for the value of the header information indicates that it is not necessary to refer to the information set for each CU, the CU to be referred to when performing the filtering process. It skips the reference to the information set for each unit. In other words, for example, when the deblocking filter control information generation unit 131 indicates that the condition for the value of the header information indicates that the information set for each CU needs to be referred to, the filtering process is performed. Refer to the information set for each CU unit to be referred to.
  • the deblocking filter control information generation unit 131 selects to use the information in units of CUs, based on the header information.
  • the control information generation unit for deblocking filter 131 refers to pcm_loop_filter_disabled_flag (the third line from the top of FIG. 6) of the sequence parameter set (SPS), and when the value is true (“1”), CU unit Choose to use the information.
  • the deblocking filter control information generation unit 131 selects to use information in CU units, based on the header information. For example, the deblocking filter control information generation unit 131 refers to transquant_bypass_enabled_flag of the picture parameter set (PPS), and when the value is true (“1”), selects to use information in CU units.
  • PPS picture parameter set
  • FIG. 8 An example of the syntax of the picture parameter set (PPS) is shown in FIG. 8 and FIG.
  • transquant_bypass_enabled_flag shown in the 22nd line from the top of FIG. 8 is true (“1”)
  • cu_transquant_bypass_flag exists for each CU. Therefore, in this case, the deblocking filter control information generation unit 131 selects the use of CU unit information in the deblocking filter process.
  • the deblocking filter control information generation unit 131 selects to use the information in CU units, based on the header information.
  • the control information generation unit for deblocking filter 131 refers to cu_qp_delta_enabled_flag of the picture parameter set (PPS), and when the value is true (“1”), selects to use information in CU units.
  • the deblocking filter control information generation unit 131 selects the use of CU unit information in the deblocking filter process.
  • the deblocking filter control information generation unit 131 when there are a plurality of slices in the current picture to be processed and there is a possibility that the quantization parameter may change for each slice, the deblocking filter control information generation unit 131 generates Choose to use the information. For example, the deblocking filter control information generation unit 131 compares slice_qp_delta of the slice header (slice_segment_header) with each other for slices, and selects the use of CU unit information if they are not identical to each other.
  • FIG. 10 An example of the syntax of the slice header is shown in FIG. 10, FIG. 11 and FIG.
  • slice_qp_delta shown in the 29th line from the top of FIG. 11 is not common among the slices, the deblocking filter control information generation unit 131 selects to use information in CU units in the deblocking filter process.
  • the deblocking filter control information generation unit 131 selects not to use CU unit information in the deblocking filter process.
  • the deblocking filter control information generation unit 131 supplies the loop filter 116 with the thus generated dbk_simple_flag.
  • the SAO control information generation unit 132 refers to the header information such as SPS and PPS supplied from the lossless decoding unit 112 to determine the data unit of the information used for the SAO process. For example, when the condition for the value of the header information indicates that it is not necessary to refer to the information set for each CU, the SAO control information generator 132 refers to each CU unit to be referred to when performing the filtering process. Skip references to the information set in. In other words, for example, when the condition for the value of the header information indicates that the information set for each CU needs to be referred to, the SAO control information generation unit 132 refers to when performing the filtering process. The information set for each CU unit to be referred is referred to.
  • the SAO control information generation unit 132 selects to use the information in CU units based on the header information. For example, the SAO control information generation unit 132 refers to pcm_loop_filter_disabled_flag (the third line from the top in FIG. 6) of the sequence parameter set (SPS), and when the value is true (“1”), the information in CU units is Choose to use.
  • pcm_loop_filter_disabled_flag the third line from the top in FIG. 6
  • SPS sequence parameter set
  • the SAO control information generation unit 132 selects to use information in CU units, based on the header information. For example, the SAO control information generation unit 132 refers to transquant_bypass_enabled_flag (the 22nd line from the top in FIG. 8) of the picture parameter set (PPS), and when the value is true (“1”), the information in CU units is Choose to use.
  • transquant_bypass_enabled_flag the 22nd line from the top in FIG. 8
  • PPS picture parameter set
  • the SAO control information generation unit 132 selects not to use the CU unit information in the SAO process.
  • the SAO control information generation unit 132 supplies the generated sao_simple_flag to the loop filter 116.
  • FIG. 13 is a block diagram showing a main configuration example of the loop filter 116. As shown in FIG. As shown in FIG. 13, the loop filter 116 includes a deblocking filter processing unit 141 and an SAO processing unit 142.
  • the deblocking filter processing unit 141 performs deblocking filter processing on the reconstructed image supplied from the computing unit 115. At this time, the deblocking filter processing unit 141 acquires the deblocking filter control information dbk_simple_flag supplied from the filter control unit 122, and performs deblocking filter processing based on the value. That is, the deblocking filter processing unit 141 performs the deblocking filter process according to the information set for each data unit corresponding to the header information.
  • the deblocking filter processing unit 141 performs deblocking filter processing using information in CU units. That is, when the deblocking filter processing unit 141 indicates that the condition for the value of the header information needs to refer to the information set for each CU, the deblocking filter processing unit 141 is set for each CU to be referred to when performing the filtering process. Deblocking filtering is performed with reference to the received information. For example, the deblocking filter processing unit 141 refers to cu_transquant_bypass_flag or pcm_flag of the CU and performs deblocking filter processing using the value.
  • FIG. 14 An example of the syntax of CU is shown in FIG. 14 and FIG.
  • cu_transquant_bypass_flag exists in the third line from above
  • pcm_flag exists in the sixteenth line from above.
  • the deblocking filter processing unit 141 performs deblocking filter processing using these values.
  • the deblocking filter processing unit 141 performs deblocking filter processing without using information in CU units. That is, when the condition for the value of header information indicates that it is not necessary to refer to the information set for each CU, the deblocking filter processing unit 141 is set for each CU to be referred to when performing the filtering process. The deblocking filter processing is performed by skipping the reference to the stored information. The deblocking filter processing unit 141 supplies the reconstructed image subjected to the deblocking filter processing to the SAO processing unit 142.
  • the SAO processing unit 142 performs SAO processing on the reconstructed image subjected to the deblocking filter processing supplied from the deblocking filter processing unit 141. At that time, the SAO processing unit 142 acquires SAO control information sao_simple_flag supplied from the filter control unit 122, and performs SAO processing based on the value. That is, the SAO processing unit 142 performs the SAO process according to the information set for each data unit corresponding to the header information.
  • the SAO processing unit 142 performs the SAO process using the information in CU units. That is, when the SAO processing unit 142 indicates that the condition for the value of the header information needs to refer to the information set for each CU, the information set for each CU unit to be referred to when performing the filtering process Perform SAO processing with reference to. For example, the SAO processing unit 142 refers to cu_transquant_bypass_flag (the third line from the top in FIG. 14) and pcm_flag (the sixteenth line from the top in FIG. 14) of the CU and performs the SAO process using the values.
  • cu_transquant_bypass_flag the third line from the top in FIG. 14
  • pcm_flag the sixteenth line from the top in FIG. 14
  • the SAO processing unit 142 performs the SAO process without using the information in units of CUs. That is, when the condition for the value of the header information indicates that it is not necessary to refer to the information set for each CU, the SAO processing unit 142 sets the information set for each CU to be referred to when performing the filtering process. Skip the reference to and perform SAO processing.
  • the SAO processing unit 142 supplies the reconstructed image (that is, the decoded image) subjected to the SAO processing to the screen rearrangement buffer 117 and the frame memory 118.
  • the image decoding apparatus 100 performs the loop filter process without referring to the information of the unnecessarily small data unit. As it can be performed, it is possible to suppress an increase in the load of decoding processing.
  • step S101 the accumulation buffer 111 accumulates the transmitted bit stream.
  • step S102 the lossless decoding unit 112 decodes the bit stream supplied from the accumulation buffer 111. That is, the I picture, P picture, and B picture encoded by the encoding side are decoded. At this time, various information other than the image information included in the bit stream such as header information is also decoded.
  • step S103 the filter control unit 122 generates filter control information.
  • step S104 the inverse quantization unit 113 inversely quantizes the quantized coefficient obtained by the process of step S102.
  • step S105 the inverse orthogonal transformation unit 114 performs inverse orthogonal transformation on the orthogonal transformation coefficient obtained by the process of step S104. By this processing, residual data of the luminance component and prediction residual data of the chrominance component are restored.
  • the intra prediction unit 119 or the inter prediction unit 120 performs prediction processing to generate a prediction image. That is, the prediction process is performed in the prediction mode applied at the time of encoding determined by the lossless decoding unit 112. More specifically, for example, when intra prediction is applied at the time of encoding, the intra prediction unit 119 generates a prediction image in the intra prediction mode which is determined to be optimal at the time of encoding. Also, for example, when inter prediction is applied at the time of encoding, the inter prediction unit 120 generates a prediction image in the inter prediction mode that is determined to be optimal at the time of encoding.
  • step S107 the calculation unit 115 adds the predicted image generated in step S106 to the residual data restored by the process of step S105. This provides a reconstructed image.
  • step S108 the loop filter 116 performs loop filter processing including deblocking filter processing, SAO processing, and the like on the reconstructed image obtained by the processing in step S107.
  • step S109 the screen rearrangement buffer 117 rearranges the frames of the decoded image obtained by the process of step S108. That is, the order of the frames rearranged during encoding is rearranged to the original display order.
  • the decoded image in which the frames are rearranged is output to the outside of the image decoding apparatus 100.
  • step S110 the frame memory 118 stores the decoded image obtained by the process of step S108.
  • step S110 ends, the decoding process ends.
  • the deblocking filter control information generation unit 131 of the filter control unit 122 performs a deblocking filter control information generation process in step S121.
  • step S122 the SAO control information generation unit 132 of the filter control unit 122 performs SAO control information generation processing.
  • step S122 When the process of step S122 ends, the filter control information generation process ends, and the process returns to FIG.
  • step S135 the deblocking filter control information generation unit 131 determines whether the number of slices of the current picture to be processed (the number of slice segments) is "1". When the picture is configured by a plurality of slices, the deblocking filter control information generation unit 131 refers to the information set for each CU unit to be referred to when performing the filter process. Therefore, when it is determined that the number of slice segments is more than one, the process proceeds to step S136.
  • the processing proceeds to step S137.
  • the deblocking filter control information generation unit 131 refers to each CU unit to be referred to when performing the filter process. Skip references to the information set in.
  • step S139 the deblocking filter control information generation unit 131 determines whether the current slice is the last slice (slice segment) belonging to the current picture. If it is determined that the process is not the last, the process returns to step S136 to repeat the subsequent processes.
  • step S139 If it is determined in step S139 that the current slice is the last slice (slice segment) belonging to the current picture, the process proceeds to step S140.
  • step S135 When it is determined in step S135 that the number of slices of the current picture (the number of slice segments) is "1", the processing in steps S136 to S139 is omitted, and the process proceeds to step S140. That is, when the picture is configured by one slice, the deblocking filter control information generation unit 131 skips the reference to the information set for each CU to be referred to when performing the filter processing.
  • step S140 the deblocking filter control information generation unit 131 generates the deblocking filter control information dbk_simple_flag, and sets the value to “1”.
  • step S140 ends, the process returns to FIG.
  • step S138 If it is determined in step S138 that slice_qp_delta is not first_slice_qp_delta, that is, it is determined that the quantization parameter of the current slice does not match the quantization parameter of the first slice of the current picture, the process proceeds to step S141.
  • step S141 the deblocking filter control information generation unit 131 generates deblocking filter control information dbk_simple_flag, and sets the value to “0”.
  • step S141 When the process of step S141 ends, the process returns to FIG.
  • step S153 the SAO control information generation unit 132 generates the SAO control information sao_simple_flag, and sets the value to “1”.
  • the control information generation process for SAO ends, and the process returns to FIG.
  • step S154 the SAO control information generation unit 132 generates the SAO control information sao_simple_flag, and sets the value to “0”.
  • the control information generation process for SAO ends, and the process returns to FIG.
  • the deblocking filter processing unit 141 of the loop filter 116 performs deblocking filter processing in step S161.
  • step S162 the SAO processing unit 142 of the loop filter 116 performs SAO processing.
  • step S162 ends, the loop filter process ends, and the process returns to FIG.
  • step S172 the deblocking filter processing unit 141 performs deblocking filter processing in units of CTBs that do not use information in units of CUs.
  • the deblocking filter process ends, and the process returns to FIG.
  • step S173 the deblocking filter processing unit 141 performs CU-based deblocking filter processing using information in CU units.
  • the deblocking filter process ends, and the process returns to FIG.
  • the deblocking filter processing unit 141 calculates boundary strength for an edge (edge) in a picture in step S181.
  • step S183 the deblocking filter processing unit 141 acquires information of the i-th edge.
  • step S184 the deblocking filter processing unit 141 determines whether to apply a deblocking filter to the current edge to be processed. If it is determined that the deblocking filter is to be applied, the process proceeds to step S185.
  • step S185 the deblocking filter processing unit 141 obtains the information of the CU to which the pixel adjacent to the current edge belongs.
  • step S186 the deblocking filter processing unit 141 calculates qP L from the quantization parameter Qp Y of the CU, and derives ⁇ and tc, which are parameters for the deblocking filter.
  • step S187 the deblocking filter processing unit 141 applies a deblocking filter to the current edge.
  • step S188 When the process of step S188 ends, the process proceeds to step S189. If it is determined in step S184 that the deblocking filter is not to be applied, the process proceeds to step S189.
  • step S189 the deblocking filter processing unit 141 determines whether the current edge is the last edge of the current picture. If it is determined that the current edge is not the last edge of the current picture, the process proceeds to step S190.
  • step S190 ends, the process returns to step S183, and the subsequent processes are repeated.
  • step S189 If it is determined in step S189 that the current edge is the last edge of the current picture, the CU-based deblocking filter process ends, and the process returns to FIG.
  • the deblocking filter processing using information in units of CUs must refer to each CU, and the processing load is large. If deblocking filtering is performed without confirming header information, deblocking filtering in units of CUs must be performed. Therefore, even if the information in units of CUs is not necessary, the information in units of CUs must be referred to, which may increase the load of the deblocking filter processing unnecessarily.
  • the deblocking filter processing unit 141 calculates boundary strength for an edge in a picture in step S201.
  • step S202 the deblocking filter processing unit 141 derives ⁇ and tc common to the pictures.
  • step S204 the deblocking filter processing unit 141 acquires information of the i-th edge.
  • step S205 the deblocking filter processing unit 141 determines whether to apply a deblocking filter. If it is determined that the deblocking filter is to be applied, the process proceeds to step S206.
  • step S206 the deblocking filter processing unit 141 applies a deblocking filter to the current edge.
  • the process of step S206 ends, the process proceeds to step S207. If it is determined in step S205 that the deblocking filter process is not to be performed, the process of step S206 is omitted, and the process proceeds to step S207.
  • step S207 the deblocking filter processing unit 141 determines whether the current edge is the last edge of the current picture. If it is determined that the current edge is not the last edge of the current picture, the process proceeds to step S208.
  • the process of step S208 ends the process returns to step S204, and the subsequent processes are repeated.
  • step S207 If it is determined in step S207 that the current edge is the last edge of the current picture, the CU-based deblocking filter process ends, and the process returns to FIG.
  • the deblocking filter process using information in CTB units can perform the deblocking filter process without referring to each CU, and can suppress an increase in processing load. That is, as described above, the deblocking filter processing unit 141 refers to the header information to confirm that the information in CU units is unnecessary, and the deblocking filter processing in CU units is performed according to the necessity / unnecessity. Properly use deblocking filtering in CTB units. By doing this, the deblocking filter processing unit 141 can suppress an unnecessary increase in the load of the deblocking filter processing.
  • step S212 the SAO processing unit 142 performs SAO processing in units of CTB that does not use information in units of CU.
  • the deblocking filter process ends, and the process returns to FIG.
  • step S213 the deblocking filter processing unit 141 performs SAO processing in units of CUs using information in units of CUs.
  • the SAO process ends, and the process returns to FIG.
  • step S222 the SAO processing unit 142 acquires information of the i-th CTB.
  • step S225 the SAO processing unit 142 acquires information of the j-th CU.
  • step S227 the SAO processing unit 142 adds an offset for the CU.
  • step S228 the SAO processing unit 142 determines whether the current CU is the last CU of the current CTB to be processed. If it is determined that it is not the last CU, the process proceeds to step S229.
  • step S229 ends the process returns to step S225 and repeats the subsequent processes. That is, a series of processes from step S225 to step S228 are performed for all CUs in the current CTB.
  • step S230 the SAO processing unit 142 determines whether it is the last CTB of the current picture. If it is determined that the CTB is not the last one, the process proceeds to step S231.
  • step S231 the process returns to step S235, and the subsequent processes are repeated.
  • step S230 If it is determined in step S230 that the CTB is the last one, the CU unit SAO process ends, and the process returns to FIG.
  • the SAO process using information in units of CUs must refer to each CU, and the processing load is large.
  • this CU unit of SAO processing must be performed. Therefore, even if the information in units of CUs is unnecessary, the information in units of CUs must be referred to, which may increase the load of the SAO process unnecessarily.
  • step S242 the SAO processing unit 142 acquires information of the i-th CTB.
  • step S244 the SAO processing unit 142 calculates SaoOffsetVal.
  • step S245 the SAO processing unit 142 adds an offset to the CTB.
  • step S245 the process proceeds to step S246.
  • step S243 the processing proceeds to step S246.
  • step S246 the SAO processing unit 142 determines whether it is the last CTB of the current picture. If it is determined that the CTB is not the last one, the process proceeds to step S247.
  • step S247 ends the process returns to step S242 and repeats the subsequent processes.
  • step S246 If it is determined in step S246 that the CTB is the last one, the CTB-based SAO process ends, and the process returns to FIG.
  • the SAO process can be performed without referring to each CU, and an increase in processing load can be suppressed. That is, as described above, the SAO processing unit 142 refers to the header information to confirm that the information in CU units is unnecessary, and the SAO processing in CU units and the SAO in CTB units according to the necessity / unnecessity. Use the process appropriately. By doing this, the SAO processing unit 142 can suppress an unnecessary increase in the load of the SAO processing.
  • the load on deblocking filter processing is reduced when it can be performed in CTB units. can do.
  • the image decoding apparatus 100 does not have to refer to information of an unnecessarily small unit at the time of the filtering process, so that an increase in the processing load can be suppressed. it can.
  • the application scope of the present technology can be applied to any image decoding apparatus capable of decoding encoded data obtained by encoding image data and performing filtering processing at the time of decoding.
  • the present technology is, for example, MPEG, H.
  • image information bit stream
  • orthogonal transformation such as discrete cosine transformation and motion compensation as in 26x etc. via satellite broadcasting, cable television, the Internet, or network media such as a cellular phone
  • the present technology can be applied to an image decoding apparatus used in processing on storage media such as an optical disk, a magnetic disk, and a flash memory.
  • FIG. 27 shows an example of a multi-viewpoint image coding method.
  • the multi-viewpoint image includes images of a plurality of viewpoints (views).
  • the multiple views of this multi-view image are encoded using the base view that performs encoding / decoding using only the image of its own view without using information of other views, and the information of other views. It consists of a non-base view that performs decoding.
  • Non-base view encoding / decoding may use base view information or may use other non-base view information.
  • the multi-viewpoint image is encoded for each viewpoint. And when decoding the coding data obtained by doing so, the coding data of each viewpoint are each decoded (that is, for every viewpoint).
  • the method described above in the first embodiment may be applied to such decoding of each viewpoint. By doing this, it is possible to suppress an increase in the load of decoding processing for the images of the respective viewpoints. That is, also in the case of a multi-viewpoint image, it is possible to suppress an increase in the load of decoding processing.
  • FIG. 28 is a diagram showing a multi-viewpoint image coding apparatus which performs the above-described multi-viewpoint image coding.
  • the multi-viewpoint image coding device 600 includes a coding unit 601, a coding unit 602, and a multiplexing unit 603.
  • the encoding unit 601 encodes a base view image to generate a base view image coded stream.
  • the encoding unit 602 encodes the non-base view image to generate a non-base view image coded stream.
  • the multiplexing unit 603 multiplexes the base view image coded stream generated by the coding unit 601 and the non-base view image coded stream generated by the coding unit 602 to generate a multi-view image coded stream. Do.
  • FIG. 29 is a diagram illustrating a multi-viewpoint image decoding apparatus that performs the above-described multi-viewpoint image decoding.
  • the multi-viewpoint image decoding device 610 includes a demultiplexing unit 611, a decoding unit 612, and a decoding unit 613.
  • a demultiplexing unit 611 demultiplexes a multi-view image coded stream in which the base view image coded stream and the non-base view image coded stream are multiplexed, and the base view image coded stream and the non-base view image. Extract the coded stream.
  • the decoding unit 612 decodes the base view image coded stream extracted by the demultiplexing unit 611 to obtain a base view image.
  • the decoding unit 613 decodes the non-base view image coded stream extracted by the demultiplexing unit 611 to obtain a non-base view image.
  • the image decoding apparatus 100 described above may be applied as the decoding unit 612 and the decoding unit 613 of such a multi-viewpoint image decoding apparatus 610.
  • the method described in the first embodiment can be applied to decoding of encoded data of a multi-viewpoint image as well. That is, the multi-viewpoint image decoding device 610 can suppress an increase in load of decoding processing of encoded data of the multi-viewpoint image.
  • FIG. 30 shows an example of the hierarchical image coding method.
  • Hierarchical image coding (scalable coding) is to image data into a plurality of layers (layering) so as to have a scalability (scalability) function with respect to predetermined parameters, and to code each layer.
  • hierarchical image decoding hierarchical image coding (scalable decoding) is decoding corresponding to the hierarchical image coding.
  • the hierarchized image includes images of a plurality of hierarchies (layers) having different values of the predetermined parameter.
  • a plurality of layers of this hierarchical image are encoded using a base layer that performs encoding / decoding using only an image of its own layer without using an image of another layer, and an image of another layer It consists of a non-base layer (also referred to as an enhancement layer) that performs decoding.
  • the non-base layer may use an image of the base layer, or may use an image of another non-base layer.
  • the non-base layer is configured by data (difference data) of a difference image between its own image and an image of another layer so that redundancy is reduced.
  • difference data difference data
  • a base layer and a non-base layer also referred to as an enhancement layer
  • an image of lower quality than the original image can be obtained only with the data of the base layer.
  • an original image that is, a high quality image
  • images of various qualities can be easily obtained depending on the situation.
  • image compression information of only a base layer is transmitted, and a moving image with low space-time resolution or poor image quality is reproduced
  • image compression information of the enhancement layer is transmitted in addition to the base layer, and the space-time resolution is high, or It is possible to transmit image compression information according to the capabilities of the terminal or the network from the server without performing transcoding processing, such as reproducing high-quality moving images.
  • the hierarchical image is encoded layer by layer. And when decoding the coding data obtained by doing so, the coding data of each layer are each decoded (namely, layer by layer).
  • the method described above in the first embodiment may be applied to such decoding of each layer. By doing this, it is possible to suppress an increase in the load of the decoding process for the image of each layer. That is, also in the case of hierarchical images, an increase in the load of decoding processing can be suppressed.
  • FIG. 31 is a diagram showing a hierarchical image coding apparatus which performs the above-mentioned hierarchical image coding.
  • the layered image coding device 620 includes a coding unit 621, a coding unit 622, and a multiplexing unit 623.
  • the encoding unit 621 encodes a base layer image to generate a base layer image coded stream.
  • the encoding unit 622 encodes the non-base layer image to generate a non-base layer image coded stream.
  • the multiplexing unit 623 multiplexes the base layer image coded stream generated by the coding unit 621 and the non-base layer image coded stream generated by the coding unit 622 to generate a hierarchical image coded stream. .
  • FIG. 32 is a diagram showing a hierarchical image decoding apparatus that performs the hierarchical image decoding described above.
  • the hierarchical image decoding device 630 includes a demultiplexing unit 631, a decoding unit 632, and a decoding unit 633.
  • a demultiplexing unit 631 demultiplexes the hierarchical image coded stream in which the base layer image coded stream and the non-base layer image coded stream are multiplexed, and the base layer image coded stream and the non-base layer image code Extract the stream of
  • the decoding unit 632 decodes the base layer image coded stream extracted by the demultiplexing unit 631 to obtain a base layer image.
  • the decoding unit 633 decodes the non-base layer image coded stream extracted by the demultiplexing unit 631 to obtain a non-base layer image.
  • the image decoding apparatus 100 described above may be applied as the decoding unit 632 and the decoding unit 633 of such a hierarchical image decoding apparatus 630.
  • the method described in the first embodiment can be applied to decoding of encoded data of hierarchical images. That is, the hierarchical image decoding device 630 can correctly decode the encoded data of the hierarchical image encoded by the various methods described in the above embodiments. Therefore, the hierarchical image decoding device 630 can suppress an increase in load of decoding processing of encoded data of the hierarchical image.
  • Fourth embodiment> ⁇ Computer>
  • the series of processes described above can be performed by hardware or software.
  • a program that configures the software is installed on a computer.
  • the computer includes, for example, a general-purpose personal computer that can execute various functions by installing a computer incorporated in dedicated hardware and various programs.
  • FIG. 33 is a block diagram showing an example of a hardware configuration of a computer that executes the series of processes described above according to a program.
  • a central processing unit (CPU) 801, a read only memory (ROM) 802, and a random access memory (RAM) 803 are mutually connected via a bus 804.
  • An input / output interface 810 Also connected to the bus 804 is an input / output interface 810.
  • An input unit 811, an output unit 812, a storage unit 813, a communication unit 814, and a drive 815 are connected to the input / output interface 810.
  • the input unit 811 includes, for example, a keyboard, a mouse, a microphone, a touch panel, an input terminal, and the like.
  • the output unit 812 includes, for example, a display, a speaker, and an output terminal.
  • the storage unit 813 includes, for example, a hard disk, a RAM disk, and a non-volatile memory.
  • the communication unit 814 is, for example, a network interface.
  • the drive 815 drives removable media 821 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory.
  • the CPU 801 loads the program stored in the storage unit 813 into the RAM 803 via the input / output interface 810 and the bus 804 and executes the program. Processing is performed.
  • the RAM 803 also stores data necessary for the CPU 801 to execute various processes.
  • the program executed by the computer (CPU 801) can be recorded and applied to, for example, a removable medium 821 as a package medium or the like.
  • the program can be installed in the storage unit 813 via the input / output interface 810 by attaching the removable media 821 to the drive 815.
  • the program can also be provided via a wired or wireless transmission medium such as a local area network, the Internet, or digital satellite broadcasting. In that case, the program can be received by the communication unit 814 and installed in the storage unit 813.
  • a wired or wireless transmission medium such as a local area network, the Internet, or digital satellite broadcasting.
  • the program can be received by the communication unit 814 and installed in the storage unit 813.
  • this program can be installed in advance in the ROM 802 or the storage unit 813.
  • the program executed by the computer may be a program that performs processing in chronological order according to the order described in this specification, in parallel, or when necessary, such as when a call is made. It may be a program to be processed.
  • the step of describing the program to be recorded on the recording medium is not limited to processing performed chronologically in the order described, but not necessarily parallel processing It also includes processing to be executed individually.
  • a system means a set of a plurality of components (apparatus, modules (parts), etc.), and it does not matter whether all the components are in the same case. Therefore, a plurality of devices housed in separate housings and connected via a network, and one device housing a plurality of modules in one housing are all systems. .
  • the configuration described above as one device (or processing unit) may be divided and configured as a plurality of devices (or processing units). Conversely, the configuration described as a plurality of devices (or processing units) in the above may be collectively configured as one device (or processing unit). Further, it goes without saying that configurations other than those described above may be added to the configuration of each device (or each processing unit). Furthermore, part of the configuration of one device (or processing unit) may be included in the configuration of another device (or other processing unit) if the configuration or operation of the entire system is substantially the same. .
  • the present technology can have a cloud computing configuration in which one function is shared and processed by a plurality of devices via a network.
  • each step described in the above-described flowchart can be executed by one device or in a shared manner by a plurality of devices.
  • the plurality of processes included in one step can be executed by being shared by a plurality of devices in addition to being executed by one device.
  • the image decoding apparatus includes, for example, a transmitter or a receiver in optical satellite broadcasting, cable broadcasting such as cable TV, distribution on the Internet, and distribution to terminals by cellular communication, an optical disk, a magnetic disk,
  • the present invention can be applied to various electronic devices such as a recording device which records an image on a medium such as a flash memory or a reproducing device which reproduces an image from the storage medium.
  • a recording device which records an image on a medium such as a flash memory
  • reproducing device which reproduces an image from the storage medium.
  • FIG. 34 shows an example of a schematic configuration of a television set to which the embodiment described above is applied.
  • the television device 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 (I / F) unit 909, and a control unit.
  • a user interface (I / F) unit 911 and a bus 912 are provided.
  • the tuner 902 extracts a signal of a desired channel from a broadcast signal received via the antenna 901, and demodulates the extracted signal. Then, the tuner 902 outputs the coded bit stream obtained by demodulation to the demultiplexer 903. That is, the tuner 902 has a role as a transmission unit in the television apparatus 900 which receives a coded stream in which an image is coded.
  • the demultiplexer 903 separates the video stream and audio stream of the program to be viewed from the coded bit stream, and outputs the separated streams to the decoder 904. Also, the demultiplexer 903 extracts auxiliary data such as an EPG (Electronic Program Guide) from the encoded bit stream, and supplies the extracted data to the control unit 910. When the coded bit stream is scrambled, the demultiplexer 903 may perform descrambling.
  • 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. Further, the decoder 904 outputs the 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 a video. Also, the video signal processing unit 905 may cause the display unit 906 to display an application screen supplied via the network. Further, the video signal processing unit 905 may perform additional processing such as noise removal on the video data according to the setting. Furthermore, the video signal processing unit 905 may generate an image of a graphical user interface (GUI) such as a menu, a button, or a cursor, for example, and may superimpose the generated image on the output image.
  • GUI graphical user interface
  • the display unit 906 is driven by a drive signal supplied from the video signal processing unit 905, and displays an image on the image surface of a display device (for example, a liquid crystal display, a plasma display, or OELD (Organic ElectroLuminescence Display) (organic EL display)). Or display an image.
  • a display device for example, a liquid crystal display, a plasma display, or OELD (Organic ElectroLuminescence Display) (organic EL display)). Or display an image.
  • the audio signal processing unit 907 performs reproduction processing such as D / A conversion and amplification on audio data input from the decoder 904, and causes the speaker 908 to output audio. Further, the audio signal processing unit 907 may perform additional processing such as noise removal on the audio data.
  • the external interface unit 909 is an interface for connecting the television device 900 to an external device or a network.
  • a video stream or an audio stream received via the external interface unit 909 may be decoded by the decoder 904. That is, the external interface unit 909 also has a role as a transmission unit in the television apparatus 900 that receives the encoded stream in which the image is encoded.
  • the control unit 910 includes a processor such as a CPU, and memories such as a RAM and a ROM.
  • the memory stores a program executed by the CPU, program data, EPG data, data acquired via a network, and the like.
  • the program stored by the memory is read and executed by the CPU, for example, when the television device 900 is started.
  • the CPU controls the operation of the television apparatus 900 according to an operation signal input from, for example, the user interface unit 911 by executing a program.
  • the user interface unit 911 is connected to the control unit 910.
  • the user interface unit 911 has, for example, buttons and switches for the user to operate the television device 900, and a receiver for remote control signals.
  • the user interface unit 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 mutually 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 unit 909, and the control unit 910.
  • the decoder 904 may have the function of the image decoding device 100. That is, the decoder 904 may decode the encoded data by the method described in the first embodiment. By doing so, the television apparatus 900 can suppress an increase in the load of decoding processing of the received encoded bit stream.
  • FIG. 35 shows an example of a schematic configuration of a mobile phone to which the embodiment described above is applied.
  • the 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 multiplexing and separating unit 928, a recording and reproducing unit 929, a display unit 930, a control unit 931, an operation.
  • a unit 932 and a bus 933 are provided.
  • 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 mutually 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.
  • the cellular phone 920 can transmit and receive audio signals, transmit and receive electronic mail or image data, capture an image, and record data in various operation modes including a voice call mode, a data communication mode, a shooting mode, and a videophone mode. Do 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, and A / D converts and compresses the converted audio data. Then, the audio codec 923 outputs the compressed audio data to the communication unit 922.
  • the communication unit 922 encodes and modulates audio data to generate 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 also amplifies and frequency-converts a radio signal received via the antenna 921 to obtain a reception signal.
  • the communication unit 922 demodulates and decodes the received signal to generate audio data, and outputs the generated audio data to the audio codec 923.
  • the audio codec 923 decompresses and D / A converts audio data 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 an electronic mail in accordance with an operation by the user via the operation unit 932. Further, the control unit 931 causes the display unit 930 to display characters. Further, the control unit 931 generates electronic mail data in response to a transmission instruction from the user via the operation unit 932, and outputs the generated electronic mail data to the communication unit 922.
  • a communication unit 922 encodes and modulates electronic mail data to generate 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 also amplifies and frequency-converts a radio signal received via the antenna 921 to obtain a reception signal.
  • the communication unit 922 demodulates and decodes the received signal to restore the e-mail data, and outputs the restored e-mail data to the control unit 931.
  • the control unit 931 causes the display unit 930 to display the contents of the e-mail, and also supplies the e-mail data to the recording and reproduction unit 929 to write the data on the storage medium.
  • the recording and reproducing unit 929 includes an arbitrary readable and writable storage medium.
  • the storage medium may be a built-in storage medium such as RAM or flash memory, and may be an externally mounted type such as hard disk, magnetic disk, magneto-optical disk, optical disk, USB (Universal Serial Bus) memory, or memory card Storage media.
  • the camera unit 926 captures an image of 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, supplies the encoded stream to the recording and reproduction unit 929, and causes the recording medium to write the encoded stream.
  • the recording / reproducing unit 929 reads out the encoded stream recorded in the storage medium and outputs the read encoded stream to the image processing unit 927.
  • the image processing unit 927 decodes the encoded stream input from the recording / reproducing unit 929, supplies the image data to the display unit 930, and displays the image.
  • 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 communication unit 922 multiplexes the multiplexed stream.
  • Output to The communication unit 922 encodes and modulates the stream to generate a transmission signal.
  • the communication unit 922 transmits the generated transmission signal to a base station (not shown) via the antenna 921.
  • the communication unit 922 also amplifies and frequency-converts a radio signal received via the antenna 921 to obtain a reception signal.
  • the transmission signal and the reception signal may include a coded 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 to generate video data.
  • the video data is supplied to the display unit 930, and the display unit 930 displays a series of images.
  • the audio codec 923 decompresses and D / A converts the audio stream 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 may have the function of the image decoding apparatus 100. That is, the image processing unit 927 may decode the encoded data by the method described in the first embodiment. By doing this, the mobile phone 920 can suppress an increase in the load of decoding processing of the encoded stream (video stream).
  • FIG. 36 shows an example of a schematic configuration of a recording and reproducing apparatus to which the embodiment described above is applied.
  • the recording / reproducing device 940 encodes, for example, audio data and video data of the received broadcast program, and records the encoded data on a recording medium.
  • the recording and reproduction device 940 may encode, for example, audio data and video data acquired from another device and record the encoded data on a recording medium.
  • the recording / reproducing device 940 reproduces the data recorded on the recording medium on the monitor and the speaker, for example, in accordance with the user's instruction. At this time, the recording / reproducing device 940 decodes the audio data and the video data.
  • the recording / reproducing apparatus 940 includes a tuner 941, an external interface (I / F) unit 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, and control.
  • the 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 coded bit stream obtained by 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 unit 942 is an interface for connecting the recording and reproducing device 940 to an external device or a network.
  • the external interface unit 942 may be, for example, an IEEE (Institute of Electrical and Electronic Engineers) 1394 interface, a network interface, a USB interface, a flash memory interface, or the like.
  • video data and audio data received via the external interface unit 942 are input to the encoder 943. That is, the external interface unit 942 has a role 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 unit 942 are not encoded. Then, the encoder 943 outputs the coded bit stream to the selector 946.
  • the HDD 944 records an encoded bit stream obtained by compressing content data such as video and audio, various programs, and other data in an internal hard disk. Also, the HDD 944 reads these data from the hard disk when playing back video and audio.
  • the disk drive 945 records and reads data on the mounted recording medium.
  • the recording medium mounted on the disk drive 945 is, for example, a DVD (Digital Versatile Disc) disk (DVD-Video, DVD-RAM (DVD-Random Access Memory), DVD-R (DVD-Recordable), DVD-RW (DVD- Rewritable, DVD + R (DVD + Recordable), DVD + RW (DVD + Rewritable), etc., Blu-ray (registered trademark) disc, etc. may be used.
  • DVD Digital Versatile Disc
  • DVD-Video DVD-Video
  • DVD-RAM DVD-Random Access Memory
  • DVD-R DVD-Recordable
  • DVD-RW DVD- Rewritable
  • DVD + R DVD + Recordable
  • DVD + RW DVD + Rewritable
  • Blu-ray registered trademark
  • the selector 946 selects the coded bit stream input from the tuner 941 or the encoder 943 at the time of video and audio recording, and outputs the selected coded bit stream to the HDD 944 or the disk drive 945. Also, the selector 946 outputs the encoded bit stream input from the HDD 944 or the disk drive 945 to the decoder 947 at the time of reproduction of video and audio.
  • the decoder 947 decodes the coded bit stream to generate video data and audio data. Then, the decoder 947 outputs the generated video data to the OSD 948. Further, the decoder 947 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.
  • the OSD 948 may superimpose an image of a GUI such as a menu, a button, or a cursor on the video to be displayed.
  • the control unit 949 includes a processor such as a CPU, and memories such as a RAM and a ROM.
  • the memory stores programs executed by the CPU, program data, and the like.
  • the program stored by the memory is read and executed by the CPU, for example, when the recording and reproducing device 940 is started.
  • the CPU controls the operation of the recording / reproducing apparatus 940 in accordance with an operation signal input from, for example, the user interface unit 950 by executing a program.
  • the user interface unit 950 is connected to the control unit 949.
  • the user interface unit 950 includes, for example, a button and a switch for the user to operate the recording and reproducing device 940, a receiver of a remote control signal, and the like.
  • the user interface unit 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 decoder 947 may have the function of the image decoding apparatus 100. That is, the decoder 947 may decode the encoded data by the method described in the first embodiment. By doing this, the recording / reproducing device 940 can suppress an increase in the load of decoding processing of the coded bit stream.
  • FIG. 37 shows an example of a schematic configuration of an imaging device to which the embodiment described above is applied.
  • the imaging device 960 captures an object to generate an image, encodes image data, and records the image data in 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 (I / F) unit 966, a memory unit 967, a media drive 968, an OSD 969, and a control unit 970. , A user interface (I / F) unit 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 unit 971 is connected to the control unit 970.
  • the bus 972 mutually connects the image processing unit 964, the external interface unit 966, the memory unit 967, the media drive 968, the OSD 969, and the control unit 970.
  • the optical block 961 has a focus lens, an aperture mechanism, and the like.
  • the optical block 961 forms an optical image of a subject on the imaging surface of the imaging unit 962.
  • the imaging unit 962 includes an image sensor such as a charge coupled device (CCD) or a complementary metal oxide semiconductor (CMOS), and converts an optical image formed on an imaging surface into an image signal as an electrical signal by photoelectric conversion. Then, the imaging unit 962 outputs the image signal to the signal processing unit 963.
  • CCD charge coupled device
  • CMOS complementary metal oxide semiconductor
  • the signal processing unit 963 performs various camera signal processing such as knee correction, gamma correction, and color correction on the image signal input from the imaging unit 962.
  • the signal processing unit 963 outputs the image data after 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 to generate encoded data. Then, the image processing unit 964 outputs the generated encoded data to the external interface unit 966 or the media drive 968. Also, the image processing unit 964 decodes the encoded data input from the external interface unit 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.
  • the image processing unit 964 may output the image data input from the signal processing unit 963 to the display unit 965 to display an image. The image processing unit 964 may superimpose the display data acquired from the OSD 969 on the image to be output to the display unit 965.
  • the OSD 969 generates an image of a GUI such as a menu, a button, or a cursor, for example, and outputs the generated image to the image processing unit 964.
  • a GUI such as a menu, a button, or a cursor
  • the external interface unit 966 is configured as, for example, a USB input / output terminal.
  • the external interface unit 966 connects the imaging device 960 and the printer, for example, when printing an image.
  • a drive is connected to the external interface unit 966 as necessary.
  • removable media such as a magnetic disk or an optical disk may be attached to the drive, and a program read from the removable media may be installed in the imaging device 960.
  • the external interface unit 966 may be configured as a network interface connected to a network such as a LAN or the Internet. That is, the external interface unit 966 has a role as a transmission unit in the imaging device 960.
  • the recording medium mounted in the media drive 968 may be, for example, any readable / writable removable medium such as a magnetic disk, a magneto-optical disk, an optical disk, or a semiconductor memory.
  • the recording medium may be fixedly attached to the media drive 968, and a non-portable storage unit such as, for example, a built-in hard disk drive or a solid state drive (SSD) may be configured.
  • SSD solid state drive
  • the control unit 970 includes a processor such as a CPU, and memories such as a RAM and a ROM.
  • the memory stores programs executed by the CPU, program data, and the like.
  • the program stored by the memory is read and executed by the CPU, for example, when the imaging device 960 starts up.
  • the CPU controls the operation of the imaging device 960 according to an operation signal input from, for example, the user interface unit 971 by executing a program.
  • the user interface unit 971 is connected to the control unit 970.
  • the user interface unit 971 includes, for example, buttons and switches for the user to operate the imaging device 960.
  • the user interface unit 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 may have the function of the image decoding device 100. That is, the image processing unit 964 may decode the encoded data by the method described in the first embodiment. By doing this, the imaging device 960 can suppress an increase in the load of decoding processing of encoded data.
  • the present technology is also applicable to HTTP streaming, such as MPEG DASH, which selects and uses an appropriate one of a plurality of pieces of encoded data having different resolutions and the like prepared in advance in units of segments. Can. That is, information on encoding and decoding can also be shared among such multiple pieces of encoded data.
  • FIG. 38 illustrates an example of a schematic configuration of a video set to which the present technology is applied.
  • the video set 1300 shown in FIG. 38 is such a multi-functionalized configuration, and the device having a function related to image encoding and / or decoding may be included in the function. It is a combination of devices with other related functions.
  • a video set 1300 includes modules such as a video module 1311, an external memory 1312, a power management module 1313, and a front end module 1314, and related modules such as connectivity 1321, a camera 1322 and a sensor 1323. And a device having a function.
  • a module is a component that combines several component functions that are related to one another into components with a cohesive function.
  • the specific physical configuration is arbitrary, for example, it is conceivable that a plurality of processors having respective functions, electronic circuit elements such as resistors and capacitors, and other devices are disposed and integrated on a wiring board or the like. . It is also conceivable to combine a module with another module or processor to make a new module.
  • the video module 1311 is a combination of the configuration having the function related to image processing, and includes an application processor, a video processor, a broadband modem 1333 and an RF module 1334.
  • the processor is one in which a configuration having a predetermined function is integrated on a semiconductor chip by SoC (System On a Chip), and there is also one called a system LSI (Large Scale Integration) or the like.
  • the configuration having the predetermined function may be a logic circuit (hardware configuration), a CPU, a ROM, a RAM, etc., and a program (software configuration) to be executed using them. And both may be combined.
  • a program has a logic circuit and a CPU, a ROM, a RAM, etc., a part of the function is realized by a logic circuit (hardware configuration), and another program is executed on the CPU (software configuration) It may be realized by
  • the application processor 1331 in FIG. 38 is a processor that executes an application related to image processing.
  • the application executed in the application processor 1331 can not only perform arithmetic processing in order to realize a predetermined function, but can also control the configuration inside and outside the video module 1311 such as the video processor 1332 as necessary. .
  • the video processor 1332 is a processor having a function related to image encoding and / or decoding.
  • the broadband modem 1333 generates analog signals by digitally modulating data (digital signals) to be transmitted by wired or wireless (or both) broadband communications performed via broadband links such as the Internet and public telephone networks. It converts or demodulates an analog signal received by the broadband communication to convert it into data (digital signal).
  • the broadband modem 1333 processes arbitrary information such as, for example, image data processed by the video processor 1332, a stream encoded with the image data, an application program, setting data, and the like.
  • the RF module 1334 is a module that performs frequency conversion, modulation / demodulation, amplification, filter processing, and the like on an RF (Radio Frequency) signal transmitted / received via an antenna. For example, the RF module 1334 performs frequency conversion and the like on the baseband signal generated by the broadband modem 1333 to generate an RF signal. Also, for example, the RF module 1334 performs frequency conversion or the like on the RF signal received via the front end module 1314 to generate a baseband signal.
  • RF Radio Frequency
  • the application processor 1331 and the video processor 1332 may be integrated into one processor.
  • the external memory 1312 is a module provided outside the video module 1311 and having a storage device used by the video module 1311.
  • the storage device of the external memory 1312 may be realized by any physical configuration, it is generally used to store a large amount of data such as image data in units of frames.
  • a relatively inexpensive and large-capacity semiconductor memory such as a dynamic random access memory (DRAM).
  • DRAM dynamic random access memory
  • the power management module 1313 manages and controls the power supply to the video module 1311 (each configuration in the video module 1311).
  • the front end module 1314 is a module that provides the RF module 1334 with a front end function (a circuit of transmitting and receiving ends on the antenna side). As shown in FIG. 38, the front end module 1314 has, for example, an antenna unit 1351, a filter 1352, and an amplification unit 1353.
  • the antenna unit 1351 includes an antenna that transmits and receives a wireless signal and a configuration around the antenna.
  • the antenna unit 1351 transmits the signal supplied from the amplification unit 1353 as a wireless signal, and supplies the received wireless signal to the filter 1352 as an electric signal (RF signal).
  • the filter 1352 performs filter processing or the like on the RF signal received via the antenna unit 1351, and supplies the processed RF signal to the RF module 1334.
  • the amplification unit 1353 amplifies the RF signal supplied from the RF module 1334 and supplies it to the antenna unit 1351.
  • the connectivity 1321 is a module having a function related to connection with the outside.
  • the physical configuration of the connectivity 1321 is arbitrary.
  • the connectivity 1321 has a configuration having a communication function other than the communication standard supported by the broadband modem 1333, an external input / output terminal, and the like.
  • the connectivity 1321 conforms to a wireless communication standard such as Bluetooth (registered trademark), IEEE 802.11 (for example, Wi-Fi (Wireless Fidelity (registered trademark)), NFC (Near Field Communication), IrDA (InfraRed Data Association)
  • a module having a function, an antenna that transmits and receives a signal conforming to the standard, or the like may be included.
  • the connectivity 1321 has a module having a communication function conforming to a wired communication standard such as Universal Serial Bus (USB) or High-Definition Multimedia Interface (HDMI (registered trademark)), or a terminal conforming to the standard. You may do so.
  • the connectivity 1321 may have another data (signal) transmission function or the like such as an analog input / output terminal.
  • the connectivity 1321 may include a device to which data (signal) is to be transmitted.
  • a drive in which the connectivity 1321 reads data from or writes data to a recording medium such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory (not only a removable media drive but also a hard disk, solid state drive (SSD) , NAS (Network Attached Storage), etc.
  • the connectivity 1321 may include an output device (such as a monitor or a speaker) of an image or sound.
  • the camera 1322 is a module having a function of capturing an image of a subject and obtaining image data of the subject.
  • the image data obtained by the imaging of the camera 1322 is supplied to, for example, a video processor 1332 and encoded.
  • the sensor 1323 is, for example, an audio sensor, an ultrasonic sensor, an optical sensor, an illuminance sensor, an infrared sensor, an image sensor, a rotation sensor, an angle sensor, an angular velocity sensor, a velocity sensor, an acceleration sensor, an inclination sensor, a magnetic identification sensor, an impact sensor, It is a module having an arbitrary sensor function such as a temperature sensor.
  • the data detected by the sensor 1323 is, for example, supplied to the application processor 1331 and used by an application or the like.
  • the configuration described above as a module may be realized as a processor, and conversely, the configuration described as a processor may be realized as a module.
  • video set 1300 configured as described above, the present technology can be applied to the video processor 1332 as described later.
  • video set 1300 can be implemented as a set to which the present technology is applied.
  • FIG. 39 shows an example of a schematic configuration of a video processor 1332 (FIG. 38) to which the present technology is applied.
  • the video processor 1332 receives an input of a video signal and an audio signal and decodes the encoded video data and audio data, and decodes the video signal and the audio data. And a function of reproducing and outputting an audio signal.
  • the video processor 1332 includes a video input processing unit 1401, a first image scaling unit 1402, a second image scaling unit 1403, a video output processing unit 1404, a frame memory 1405, and a memory control unit 1406.
  • the video processor 1332 has an encoding / decoding engine 1407, video ES (Elementary Stream) buffers 1408A and 1408B, and audio ES buffers 1409A and 1409B.
  • the video processor 1332 further includes an audio encoder 1410, an audio decoder 1411, a multiplexer (MUX (Multiplexer)) 1412, a demultiplexer (DMUX (Demultiplexer)) 1413, and a stream buffer 1414.
  • MUX Multiplexer
  • DMUX demultiplexer
  • the video input processing unit 1401 acquires a video signal input from, for example, the connectivity 1321 (FIG. 38) or the like, and converts the video signal into digital image data.
  • the first image scaling unit 1402 performs format conversion, image scaling processing, and the like on image data.
  • the second image scaling unit 1403 performs image scaling processing on the image data according to the format at the output destination via the video output processing unit 1404, or the same as the first image scaling unit 1402. Format conversion, image enlargement / reduction processing, etc.
  • the video output processing unit 1404 performs format conversion, conversion to an analog signal, and the like on the image data and outputs the reproduced video signal to, for example, the connectivity 1321 or the like.
  • the frame memory 1405 is a memory for image data shared by the video input processing unit 1401, the first image scaling unit 1402, the second image scaling unit 1403, the video output processing unit 1404, and the encoding / decoding engine 1407. .
  • the frame memory 1405 is realized, for example, as a semiconductor memory such as a DRAM.
  • the memory control unit 1406 receives a synchronization signal from the encode / decode engine 1407 and controls write / read access to the frame memory 1405 according to the access schedule to the frame memory 1405 written in the access management table 1406A.
  • the access control table 1406A is updated by the memory control unit 1406 in accordance with the processing executed by the encoding / decoding engine 1407, the first image scaling unit 1402, the second image scaling unit 1403 and the like.
  • the encoding / decoding engine 1407 performs encoding processing of image data and decoding processing of a video stream which is data obtained by encoding the image data. For example, the encoding / decoding engine 1407 encodes the image data read from the frame memory 1405 and sequentially writes the image data as a video stream in the video ES buffer 1408A. Also, for example, the video stream is sequentially read from the video ES buffer 1408 B and decoded, and is sequentially written to the frame memory 1405 as image data. The encoding / decoding engine 1407 uses the frame memory 1405 as a work area in these encoding and decoding. Also, the encoding / decoding engine 1407 outputs a synchronization signal to the memory control unit 1406, for example, at the timing of starting processing for each macroblock.
  • the video ES buffer 1408 A buffers the video stream generated by the encoding / decoding engine 1407 and supplies the buffer to the multiplexer (MUX) 1412.
  • the video ES buffer 1408 B buffers the video stream supplied from the demultiplexer (DMUX) 1413 and supplies the video stream to the encode / decode engine 1407.
  • the audio ES buffer 1409A buffers the audio stream generated by the audio encoder 1410 and supplies the buffer to the multiplexer (MUX) 1412.
  • the audio ES buffer 1409 B buffers the audio stream supplied from the demultiplexer (DMUX) 1413 and supplies the audio stream to the audio decoder 1411.
  • the audio encoder 1410 digitally converts, for example, an audio signal input from the connectivity 1321 or the like, and encodes the signal according to a predetermined method such as the MPEG audio method or the AC3 (Audio Code number 3) method.
  • the audio encoder 1410 sequentially writes an audio stream, which is data obtained by encoding an audio signal, into the audio ES buffer 1409A.
  • the audio decoder 1411 decodes the audio stream supplied from the audio ES buffer 1409B, performs conversion to an analog signal, and the like, for example, and supplies the reproduced audio signal to, for example, the connectivity 1321 and the like.
  • a multiplexer (MUX) 1412 multiplexes the video stream and the audio stream.
  • the method of this multiplexing ie, the format of the bit stream generated by multiplexing
  • the multiplexing unit (MUX) 1412 can also add predetermined header information or the like to the bit stream. That is, the multiplexing unit (MUX) 1412 can convert the format of the stream by multiplexing.
  • the multiplexing unit (MUX) 1412 converts a video stream and an audio stream into a transport stream, which is a bit stream of a transfer format, by multiplexing the video stream and the audio stream.
  • the multiplexing unit (MUX) 1412 converts the video stream and the audio stream into data (file data) of a file format for recording by multiplexing.
  • a demultiplexing unit (DMUX) 1413 demultiplexes a bitstream in which a video stream and an audio stream are multiplexed in a method corresponding to multiplexing by the multiplexing unit (MUX) 1412. That is, the demultiplexer (DMUX) 1413 extracts a video stream and an audio stream from the bit stream read from the stream buffer 1414 (separate the video stream and the audio stream). That is, the demultiplexer (DMUX) 1413 can convert the format of the stream by demultiplexing (inverse conversion of conversion by the multiplexer (MUX) 1412).
  • the demultiplexer unit (DMUX) 1413 acquires a transport stream supplied from, for example, the connectivity 1321 or the broadband modem 1333 via the stream buffer 1414, and demultiplexes the transport stream to obtain a video stream and an audio stream. And can be converted to Also, for example, the demultiplexer unit (DMUX) 1413 acquires file data read from various recording media by the connectivity 1321, for example, through the stream buffer 1414, and demultiplexes the file data to obtain a video stream and audio. It can be converted to a stream.
  • the stream buffer 1414 buffers the bit stream.
  • the stream buffer 1414 buffers the transport stream supplied from the multiplexing unit (MUX) 1412 and, for example, to the connectivity 1321 or the broadband modem 1333 or the like at a predetermined timing or based on an external request or the like. Supply.
  • MUX multiplexing unit
  • the stream buffer 1414 buffers the file data supplied from the multiplexing unit (MUX) 1412 and supplies the file data to, for example, the connectivity 1321 or the like at a predetermined timing or based on an external request or the like, Record on various recording media.
  • MUX multiplexing unit
  • the stream buffer 1414 buffers the transport stream acquired via, for example, the connectivity 1321 or the broadband modem 1333 or the like, and the demultiplexer unit (DMUX) at a predetermined timing or based on an external request or the like. Supply to 1413.
  • DMUX demultiplexer unit
  • the stream buffer 1414 buffers file data read from various recording media, for example, in the connectivity 1321 or the like, and at a predetermined timing or based on an external request or the like, the demultiplexer unit (DMUX) 1413. Supply to
  • a video signal input from the connectivity 1321 or the like to the video processor 1332 is converted into digital image data of a predetermined format such as 4: 2: 2 Y / Cb / Cr format in the video input processing unit 1401, and is converted to frame memory 1405. It will be written sequentially.
  • This digital image data is read by the first image scaling unit 1402 or the second image scaling unit 1403, and format conversion and scaling processing to a predetermined format such as 4: 2: 0 Y / Cb / Cr format is performed. And are written to the frame memory 1405 again.
  • This image data is encoded by the encoding / decoding engine 1407 and written to the video ES buffer 1408A as a video stream.
  • an audio signal input from the connectivity 1321 or the like to the video processor 1332 is encoded by the audio encoder 1410 and written as an audio stream to the audio ES buffer 1409A.
  • the video stream of the video ES buffer 1408A and the audio stream of the audio ES buffer 1409A are read and multiplexed by the multiplexer (MUX) 1412 and converted to a transport stream or file data.
  • the transport stream generated by the multiplexer (MUX) 1412 is buffered in the stream buffer 1414 and then output to the external network via, for example, the connectivity 1321 or the broadband modem 1333.
  • the file data generated by the multiplexing unit (MUX) 1412 is buffered in the stream buffer 1414, and then output to, for example, the connectivity 1321 and the like, and recorded in various recording media.
  • a transport stream input from an external network to the video processor 1332 via the connectivity 1321 or the broadband modem 1333 is buffered in the stream buffer 1414 and then demultiplexed by the demultiplexer (DMUX) 1413.
  • DMUX demultiplexer
  • file data read from various recording media in connectivity 1321 and the like and input to the video processor 1332 is buffered in the stream buffer 1414 and then demultiplexed by the demultiplexer (DMUX) 1413. That is, the transport stream or file data input to the video processor 1332 is separated into a video stream and an audio stream by the demultiplexer (DMUX) 1413.
  • the audio stream is supplied to the audio decoder 1411 via the audio ES buffer 1409B and decoded to reproduce the audio signal. Also, after the video stream is written to the video ES buffer 1408 B, it is sequentially read and decoded by the encoding / decoding engine 1407 and written to the frame memory 1405. The decoded image data is scaled by the second image scaling unit 1403 and written to the frame memory 1405. Then, the decoded image data is read by the video output processing unit 1404, converted into a predetermined format such as 4: 2: 2 Y / Cb / Cr format, and further converted into an analog signal, and the video signal is converted. Is reproduced and output.
  • the present technology when the present technology is applied to the video processor 1332 configured as described above, the present technology according to each embodiment described above may be applied to the encoding / decoding engine 1407. That is, for example, the encoding / decoding engine 1407 may have the function of the image decoding apparatus 100 described above. By doing so, the video processor 1332 can obtain the same effect as the effect described above with reference to FIGS. 1 to 26.
  • the present technology (that is, the function of the image decoding apparatus 100) may be realized by hardware such as a logic circuit or may be realized by software such as an embedded program. It may be realized by both of them.
  • FIG. 40 shows another example of a schematic configuration of a video processor 1332 to which the present technology is applied.
  • the video processor 1332 has a function of encoding / decoding video data in a predetermined scheme.
  • the video processor 1332 has a control unit 1511, a display interface 1512, a display engine 1513, an image processing engine 1514, and an internal memory 1515. Also, the video processor 1332 has a codec engine 1516, a memory interface 1517, a multiplexing / demultiplexing unit (MUX DMUX) 1518, a network interface 1519, and a video interface 1520.
  • MUX DMUX multiplexing / demultiplexing unit
  • the control unit 1511 controls the operation of each processing unit in the video processor 1332 such as the display interface 1512, the display engine 1513, the image processing engine 1514, and the codec engine 1516.
  • the control unit 1511 has, for example, a main CPU 1531, a sub CPU 1532 and a system controller 1533.
  • the main CPU 1531 executes a program or the like for controlling the operation of each processing unit in the video processor 1332.
  • the main CPU 1531 generates a control signal according to the program or the like and supplies it to each processing unit (that is, controls the operation of each processing unit).
  • the sub CPU 1532 plays an auxiliary role of the main CPU 1531.
  • the sub CPU 1532 executes a child process or a subroutine of a program or the like executed by the main CPU 1531.
  • the system controller 1533 controls operations of the main CPU 1531 and the sub CPU 1532 such as designating programs executed by the main CPU 1531 and the sub CPU 1532.
  • the display interface 1512 outputs image data to, for example, the connectivity 1321 under the control of the control unit 1511.
  • the display interface 1512 converts image data of digital data into an analog signal, and outputs the converted signal as a reproduced video signal or the image data of digital data as it is to a monitor of the connectivity 1321 or the like.
  • the display engine 1513 performs various conversion processing such as format conversion, size conversion, color gamut conversion, and the like on the image data under the control of the control unit 1511 so as to match the hardware specifications of the monitor device or the like displaying the image. I do.
  • the image processing engine 1514 performs predetermined image processing, such as filter processing for improving the image quality, on the image data under the control of the control unit 1511.
  • the internal memory 1515 is a memory provided in the video processor 1332 shared by the display engine 1513, the image processing engine 1514, and the codec engine 1516.
  • the internal memory 1515 is used, for example, for data exchange between the display engine 1513, the image processing engine 1514, and the codec engine 1516.
  • the internal memory 1515 stores data supplied from the display engine 1513, the image processing engine 1514, or the codec engine 1516, and the data is displayed on the display engine 1513, as required (eg, on request).
  • the image processing engine 1514 or codec engine 1516 is supplied.
  • This internal memory 1515 may be realized by any storage device, but is generally used to store small-capacity data such as image data in units of blocks and parameters, etc. It is desirable to realize by a semiconductor memory that has a relatively small capacity (compared to, for example, the external memory 1312) such as a static random access memory, but has a high response speed.
  • the codec engine 1516 performs processing relating to encoding and decoding of image data.
  • the encoding / decoding method to which this codec engine 1516 corresponds is arbitrary, and the number may be one or more.
  • the codec engine 1516 may be provided with codec functions of a plurality of encoding / decoding methods, and one of them may be selected to encode image data or decode encoded data.
  • the codec engine 1516 includes, for example, MPEG-2 Video 1541, AVC / H. 264 1542, HEVC / H. It has HEVC / H.265 (Multi-view) 1545 and MPEG-DASH 1551.
  • the MPEG-2 Video 1541 is a functional block that encodes and decodes image data according to the MPEG-2 system.
  • AVC / H.2641542 is a functional block that encodes or decodes image data according to the AVC method.
  • HEVC / H.2651543 is a functional block that encodes and decodes image data according to the HEVC scheme.
  • HEVC / H.265 (Scalable) 1544 is a functional block that performs scalable encoding or scalable decoding of image data according to the HEVC scheme.
  • HEVC / H.265 (Multi-view) 1545 is a functional block that performs multi-view coding and multi-view decoding of image data according to the HEVC method.
  • the MPEG-DASH 1551 is a functional block that transmits and receives image data in accordance with the MPEG-Dynamic Adaptive Streaming over HTTP (MPEG-DASH) method.
  • MPEG-DASH is a technology that performs streaming of video using HTTP (HyperText Transfer Protocol), and selects and transmits, in units of segments, an appropriate one from a plurality of pieces of encoded data having different resolutions prepared in advance and the like. To be one of the features.
  • the MPEG-DASH 1551 performs generation of a stream conforming to the standard, transmission control of the stream, and the like, and encoding and decoding of image data can be performed according to the MPEG-2 Video 1541 to HEVC / H.265 (Multi-view) 1545 described above.
  • the memory interface 1517 is an interface for the external memory 1312. Data supplied from the image processing engine 1514 and the codec engine 1516 are supplied to the external memory 1312 via the memory interface 1517. Also, data read from the external memory 1312 is supplied to the video processor 1332 (image processing engine 1514 or codec engine 1516) via the memory interface 1517.
  • a multiplexing / demultiplexing unit (MUX DMUX) 1518 multiplexes or demultiplexes various data related to an image, such as a bit stream of encoded data, an image data, a video signal, and the like.
  • the method of multiplexing / demultiplexing is optional.
  • the multiplexing / demultiplexing unit (MUX DMUX) 1518 can not only combine a plurality of data into one but also add predetermined header information or the like to the data.
  • the multiplexing / demultiplexing unit (MUX DMUX) 1518 not only divides one data into a plurality of data but also adds predetermined header information etc. to each divided data.
  • the multiplexing / demultiplexing unit (MUX DMUX) 1518 can convert the data format by multiplexing / demultiplexing.
  • the multiplexing / demultiplexing unit (MUX DMUX) 1518 multiplexes a bit stream to transport stream, which is a bit stream of transfer format, or data of file format for recording (file data). Can be converted to Of course, inverse conversion is also possible by demultiplexing.
  • the network interface 1519 is an interface for, for example, the broadband modem 1333 or the connectivity 1321.
  • the video interface 1520 is an interface for the connectivity 1321, the camera 1322, and the like, for example.
  • a transport stream is received from the external network via the connectivity 1321 or the broadband modem 1333 or the like
  • the transport stream is supplied to the multiplexing / demultiplexing unit (MUX DMUX) 1518 via the network interface 1519. It is demultiplexed and decoded by the codec engine 1516.
  • the image data obtained by the decoding of the codec engine 1516 is subjected, for example, to predetermined image processing by the image processing engine 1514, to predetermined conversion by the display engine 1513, and to, for example, the connectivity 1321 via the display interface 1512.
  • the image is supplied and displayed on a monitor.
  • image data obtained by the decoding of the codec engine 1516 is re-encoded by the codec engine 1516, multiplexed by the multiplexing / demultiplexing unit (MUX DMUX) 1518, and converted into file data, and video
  • MUX DMUX multiplexing / demultiplexing unit
  • the information is output to the connectivity 1321 or the like via the interface 1520 and recorded in various recording media.
  • file data of encoded data obtained by encoding image data and read out from a recording medium (not shown) by the connectivity 1321 or the like is multiplexed / demultiplexed (MUX DMUX) via the video interface 1520.
  • 1516 are demultiplexed and decoded by codec engine 1516.
  • the image data obtained by the decoding of the codec engine 1516 is subjected to predetermined image processing by the image processing engine 1514, subjected to predetermined conversion by the display engine 1513, and supplied to, for example, the connectivity 1321 through the display interface 1512. , That image is displayed on the monitor.
  • image data obtained by the decoding of the codec engine 1516 is re-encoded by the codec engine 1516, multiplexed by the multiplexing / demultiplexing unit (MUX DMUX) 1518, and converted into a transport stream, For example, it is supplied to the connectivity 1321 or the broadband modem 1333 via the network interface 1519 and transmitted to another device (not shown).
  • MUX DMUX multiplexing / demultiplexing unit
  • image data and other data are exchanged between the processing units in the video processor 1332 using, for example, the internal memory 1515 or the external memory 1312.
  • the power management module 1313 controls, for example, the power supply to the control unit 1511.
  • the present technology when the present technology is applied to the video processor 1332 configured as described above, the present technology according to each embodiment described above may be applied to the codec engine 1516. That is, for example, the codec engine 1516 may have a functional block for realizing the image decoding apparatus 100 described above. By doing so, the video processor 1332 can obtain the same effect as the effect described above with reference to FIGS. 1 to 26.
  • the present technology (that is, the function of the image decoding apparatus 100) may be realized by hardware such as a logic circuit or may be realized by software such as an embedded program. It may be realized by both of them.
  • the configuration of the video processor 1332 is arbitrary, and may be other than the two examples described above.
  • the video processor 1332 may be configured as one semiconductor chip, but may be configured as a plurality of semiconductor chips.
  • a three-dimensional stacked LSI in which a plurality of semiconductors are stacked may be used.
  • it may be realized by a plurality of LSIs.
  • Video set 1300 can be incorporated into various devices for processing image data.
  • the video set 1300 can be incorporated into the television 900 (FIG. 34), the mobile phone 920 (FIG. 35), the recording / reproducing device 940 (FIG. 36), the imaging device 960 (FIG. 37), and the like.
  • the device can obtain the same effect as the effect described above with reference to FIGS.
  • each configuration of the video set 1300 described above can be implemented as a configuration to which the present technology is applied, as long as the video processor 1332 is included.
  • the video processor 1332 can be implemented as a video processor to which the present technology is applied.
  • the processor or the video module 1311 or the like indicated by the dotted line 1341 can be implemented as a processor or module or the like to which the present technology is applied.
  • the video module 1311, the external memory 1312, the power management module 1313, and the front end module 1314 may be combined to be implemented as a video unit 1361 to which the present technology is applied.
  • any configuration including the video processor 1332 can be incorporated into various devices that process image data as in the case of the video set 1300.
  • a video processor 1332 a processor indicated by a dotted line 1341, a video module 1311 or a video unit 1361, a television device 900 (FIG. 34), a mobile phone 920 (FIG. 35), a recording / reproducing device 940 (FIG. 36) It can be incorporated into the imaging device 960 (FIG. 37) or the like. Then, by incorporating any of the configurations to which the present technology is applied, the device can obtain the same effects as the effects described above with reference to FIGS. 1 to 26 as in the case of the video set 1300. .
  • the method of transmitting such information is not limited to such an example.
  • the information may be transmitted or recorded as separate data associated with the coded bit stream without being multiplexed into the coded bit stream.
  • the term “associate” allows an image (a slice or a block, which may be a part of an image) included in a bitstream to be linked at the time of decoding with information corresponding to the image. Means That is, the information may be transmitted on a different transmission path from the image (or bit stream).
  • the information may be recorded on a recording medium (or another recording area of the same recording medium) different from the image (or bit stream).
  • the information and the image (or bit stream) may be associated with each other in any unit such as, for example, a plurality of frames, one frame, or a part in a frame.
  • a decoding unit that generates decoded image data by decoding encoded data obtained by encoding image data for each CU (Coding Unit) that is recursively divided
  • An image decoding apparatus comprising: a filter processing unit that performs filter processing on the decoded image data generated by the decoding unit according to information set for each data unit corresponding to header information of the encoded data.
  • the filter processing unit skips the reference to the information set for each CU unit to be referred to when performing the filter process, and performs the filter process on the decoded image data as described in (1) Image decoding device.
  • the filter processing unit sets for each CU to be referred to when performing the filtering process.
  • the image decoding apparatus according to (2) which skips the reference to the stored information.
  • the filter processing unit performs the filter process on the decoded image data in units of a coding tree block (CTB).
  • CTB coding tree block
  • the image decoding apparatus according to (5).
  • the filter processing unit skips the reference to the information set for each CU to be referred to when the filter processing is performed.
  • the image according to (6) Decoding device When the picture is constituted by one slice, the filter processing unit skips the reference to the information set for each CU to be referred to when the filter processing is performed.
  • the filter processing unit is set for each CU unit to be referred to when the filter processing is performed when slice_qp_delta of each slice header in the picture is the same when the picture is configured of a plurality of slices.
  • the image decoding device according to (6) or (7), which skips the reference to the information.
  • the image decoding apparatus according to any one of (3) to (8), wherein the filter processing unit performs sample adaptive offset processing as the filter processing.
  • the image decoding apparatus as described in (9).
  • (11) Decoded image data is generated by decoding encoded data obtained by encoding image data for each CU (Coding Unit) recursively divided, An image decoding method for filtering the generated decoded image data according to information set for each data unit corresponding to header information of the encoded data.

Landscapes

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

Abstract

 本開示は、復号処理の負荷の増大を抑制することができるようにする画像復号装置および方法に関する。 画像データが符号化された符号化データを再帰的に分割されたCU(Coding Unit)毎に復号することにより、復号画像データを生成する復号部と、前記符号化データのヘッダ情報に対応するデータ単位毎に設定された情報に応じて、前記復号部により生成された前記復号画像データに対してフィルタ処理を行うフィルタ処理部とを備えるようにする。本開示は、例えば、画像復号装置等に適用することができる。

Description

画像復号装置および方法
 本開示は、画像復号装置および方法に関し、特に、復号処理の負荷の増大を抑制することができるようにした画像復号装置および方法に関する。
 動画像符号化効率の向上を目的として、HEVC(High Efficiency Video Coding)と呼ばれる符号化方式の標準化が進められておりバージョン1(version 1)の策定は既に完了している(例えば、非特許文献1参照)。
Benjamin Bross, Gary J. Sullivan, Ye-Kui Wang, "Editors' proposed corrections to HEVC version 1", JCTVC-M0432_v3, 2013/4/25
 そのバージョン1では、8x8, 16x16, 32x32, 64x64のコーディングユニット(CU(Coding Unit))ごとにロスレスで符号化することが可能で、その場合は、デブロッキングフィルタ(Deblocking filter)やサンプルアダプティブオフセット(SAO(Sample Adaptive Offset))等のループフィルタ(loop filter)処理によってピクセルの値を変えてはいけない。また、Coding Unit ごとに量子化パラメータ(Qp)を変えることが可能であり、コーディングユニット同士の境界のエッジ(edge)に対して デブロッキングフィルタ処理を行う場合、各コーディングユニットの量子化パラメータ(Qp)の値を参照しなければならない。
 そのため、ループフィルタ処理においては 各コーディングユニットの情報を参照しなければならず、復号処理の負荷が増大するおそれがあった。
 本開示は、このような状況に鑑みてなされたものであり、復号処理の負荷の増大を抑制することができるようにするものである。
 本技術の一側面は、画像データが符号化された符号化データを再帰的に分割されたCU(Coding Unit)毎に復号することにより、復号画像データを生成する復号部と、前記符号化データのヘッダ情報に対応するデータ単位毎に設定された情報に応じて、前記復号部により生成された前記復号画像データに対してフィルタ処理を行うフィルタ処理部とを備える画像復号装置である。
 前記フィルタ処理部は、前記フィルタ処理を行う際に参照するCU単位毎に設定された情報に対する参照をスキップして、前記復号画像データに対して前記フィルタ処理を行うことができる。
 前記フィルタ処理部は、前記ヘッダ情報の値に対する条件がCU単位毎に設定された情報を参照する必要がないことを示す場合、前記フィルタ処理を行う際に参照するCU単位毎に設定された情報に対する参照をスキップすることができる。
 前記フィルタ処理部は、CTB(Coding Tree Block)単位で、前記復号画像データに対してフィルタ処理を行うことができる。
 前記フィルタ処理部は、前記フィルタ処理として、デブロッキングフィルタ処理を行うことができる。
 前記フィルタ処理部は、前記条件として以下の式を満たす場合に、前記フィルタ処理を行う際に参照するCU単位毎に設定された情報に対する参照をスキップすることができる。
  pcm_loop_filter_disabled_flag == 0
  transquant_bypass_enabled_flag ==0
  cu_qp_delta_enabled_flag == 0
 前記フィルタ処理部は、ピクチャが1つのスライスで構成される場合に、前記フィルタ処理を行う際に参照するCU単位毎に設定された情報に対する参照をスキップすることができる。
 前記フィルタ処理部は、ピクチャが複数のスライスで構成される場合に、ピクチャ内の各スライスヘッダのslice_qp_deltaが同じ場合に、前記フィルタ処理を行う際に参照するCU単位毎に設定された情報に対する参照をスキップすることができる。
 前記フィルタ処理部は、前記フィルタ処理として、サンプルアダプティブオフセット処理を行うことができる。
 前記フィルタ処理部は、前記条件として以下の式を満たす場合に、前記フィルタ処理を行う際に参照するCU単位毎に設定された情報に対する参照をスキップすることができる。
  pcm_loop_filter_disabled_flag == 0
  transquant_bypass_enabled_flag ==0
 本技術の一側面は、また、画像データが符号化された符号化データを再帰的に分割されたCU(Coding Unit)毎に復号することにより、復号画像データを生成し、前記符号化データのヘッダ情報に対応するデータ単位毎に設定された情報に応じて、生成された前記復号画像データに対してフィルタ処理を行う画像復号方法である。
 本技術の一側面においては、画像データが符号化された符号化データが再帰的に分割されたCU(Coding Unit)毎に復号されることにより、復号画像データが生成され、符号化データのヘッダ情報に対応するデータ単位毎に設定された情報に応じて、生成された復号画像データに対してフィルタ処理が行われる。
 本開示によれば、画像データが符号化された符号化データを復号することができる。特に、復号処理の負荷の増大を抑制することができる。
コーディングユニットの構成例を説明する図である。 コーディングユニット単位の情報の例を説明する図である。 コーディングユニット単位の情報の例を説明する図である。 画像復号装置の主な構成例を示すブロック図である。 シーケンスパラメータセットのシンタクスの例を示す図である。 シーケンスパラメータセットのシンタクスの例を示す図である。 フィルタ制御部の主な構成例を示すブロック図である。 ピクチャパラメータセットのシンタクスの例を示す図である。 ピクチャパラメータセットのシンタクスの例を示す図である。 スライスヘッダのシンタクスの例を示す図である。 スライスヘッダのシンタクスの例を示す図である。 スライスヘッダのシンタクスの例を示す図である。 ループフィルタの主な構成例を示すブロック図である。 コーディングユニットのシンタクスの例を示す図である。 コーディングユニットのシンタクスの例を示す図である。 復号処理の流れの例を説明するフローチャートである。 フィルタ制御情報生成処理の流れの例を説明するフローチャートである。 デブロッキングフィルタ用制御情報生成処理の流れの例を説明するフローチャートである。 SAO用制御情報生成処理の流れの例を説明するフローチャートである。 ループフィルタ処理の流れの例を説明するフローチャートである。 デブロッキングフィルタ処理の流れの例を説明するフローチャートである。 CU単位デブロッキングフィルタ処理の流れの例を説明するフローチャートである。 CTB単位デブロッキングフィルタ処理の流れの例を説明するフローチャートである。 SAO処理の流れの例を説明するフローチャートである。 CU単位SAO処理の流れの例を説明するフローチャートである。 CTB単位SAO処理の流れの例を説明するフローチャートである。 多視点画像符号化方式の例を示す図である。 本技術を適用した多視点画像符号化装置の主な構成例を示す図である。 本技術を適用した多視点画像復号装置の主な構成例を示す図である。 階層画像符号化方式の例を示す図である。 本技術を適用した階層画像符号化装置の主な構成例を示す図である。 本技術を適用した階層画像復号装置の主な構成例を示す図である。 コンピュータの主な構成例を示すブロック図である。 テレビジョン装置の概略的な構成の一例を示すブロック図である。 携帯電話機の概略的な構成の一例を示すブロック図である。 記録再生装置の概略的な構成の一例を示すブロック図である。 撮像装置の概略的な構成の一例を示すブロック図である。 ビデオセットの概略的な構成の一例を示すブロック図である。 ビデオプロセッサの概略的な構成の一例を示すブロック図である。 ビデオプロセッサの概略的な構成の他の例を示すブロック図である。
 以下、本開示を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行う。
 1.第1の実施の形態(画像復号装置)
 2.第2の実施の形態(多視点画像復号装置)
 3.第3の実施の形態(階層画像復号装置)
 4.第4の実施の形態(コンピュータ)
 5.第5の実施の形態(応用例)
 6.第6の実施の形態(セット・ユニット・モジュール・プロセッサ)
 <1.第1の実施の形態>
  <HEVC>
 HEVCでは固定サイズの符号化単位として コーディングツリーブロック(CTB(Coding tree block))が定義されている。1ピクチャの画像データは、そのCTBで分割されて符号化されており、デコーダにおいては、各CTBの符号化データが順に復号される。そのCTBはさらに8x8, 16x16, 32x32, 64x64のコーディングユニット(CU(Coding Unit))に分割することが可能である。
 図1は、CUの分割例である。図1の例の場合では、1CTBが19個のCUに分割されている。
 ところで、シーケンスパラメータセット(SPS(Sequence Parameter Set))において、PCMが存在するか否かを示すフラグ情報であるpcm_enabled_flagが「0」の場合、そのSPSに含まれる、PCMが有効のときループフィルタを無効にするか否かを示すフラグ情報であるpcm_loop_filter_disabled_flagの値は暗黙的に「0」となる。また、そのシーケンス内のCUに含まれる、そのCUにおいてpcm_sampleおよびtransform_treeのシンタクス構造が存在するか否かを示すフラグ情報であるpcm_flagの値も暗黙的に「0」となる。
 これに対して、pcm_enabled_flag = 1の場合、pcm_loop_filter_disabled_flagが存在し、CU毎にpcm_flagが存在する。
 同様に、ピクチャパラメータセット(PPS(Picture Parameter Set))において、transquant_bypass_enabled_flagの値が「1」の場合、CUごとに、そのCUにおいてスケーリング、変換処理、ループフィルタをスキップするか否かを示すフラグ情報であるcu_transquant_bypass_flag が存在する。
 図2は、pcm_flag = 1やcu_transquant_bypass_flag = 1であるCUが存在する場合の、CTBの構成例を示す図である。図2の例の場合、CU4のpcm_flagが「1」であり、CU10のcu_transquant_bypass_flagが「1」である。
 pcm_loop_filter_disabled_flag = 1かつpcm_flag = 1のCU(すなわち、PCMデータのCU)や、cu_transquant_bypass_flag = 1のCU(ロスレスのCU)に対して、デブロッキングフィルタやサンプルアダプティブオフセット(SAO(Sample Adaptive Offset))の処理を行う場合、HEVCの規格としてそのCU内のピクセル値を変えてはいけない。すなわち、これらのCU内のピクセル値は、フィルタ処理がかけられた後、フィルタ処理を行う前の値に戻される。
 また、PPSにおいて、このPPSに、輝度信号の符号化ツリーブロックサイズとcu_qp_delta_absとcu_qp_delta_sign_flagを含む最小の符号化ユニットサイズとの差分を示すdiff_cu_qp_delta_depthが存在するか否か、かつ、変換ユニット(TU(Transform Unit))に、カレント符号化ユニットの量子化パラメータとその予測値との差分値を示すcu_qp_delta_absが存在し得るか否かを示すフラグ情報であるcu_qp_delta_enabled_flagが「1」の場合、CU毎に、量子化パラメータQpYを変えることができる。
 図3は、CU毎にそのQpYの値が変わる例を示す図である。ここではCU4, CU9, CU10のQpYがそれぞれ10, 20, 15であり、デブロッキングフィルタの処理で計算されるqPL = ( ( QpQ + QpP + 1 ) >> 1 ) の値はCUの境界ごとに異なる値となる。
 図2、図3のような場合においてデブロッキングフィルタ処理を行うときは、CU単位でpcm_flag, cu_transquant_bypass_flag, QpYを取得し、処理に利用する必要がある。また、図2、図3のような場合においてSAO処理を行うときは、CU単位で pcm_flag, cu_transquant_bypass_flagを取得し、処理に利用する必要がある。
 図1に示されるように、CTBには、すなわち、ピクチャには、多数のCUを形成することができるので、このように各CUの情報を参照すると、フィルタ処理の負荷が増大するおそれがあった。
 換言するに、ピクチャ内の全CUについて、pcm_flag = 0, cu_transquant_bypass_flag = 0, QpY = 固定値であれば、デブロッキングフィルタ処理やSAO処理において、これらのCU単位の情報を参照する必要は無く、フィルタ処理の負荷の増大を抑制することができる。
  <フィルタ制御>
 そこで、符号化データのヘッダ情報に対応するデータ単位毎に設定された情報に応じて、画像データが符号化された符号化データを再帰的に分割されたCU(Coding Unit)毎に復号することにより生成された復号画像データに対してフィルタ処理を行うようにする。このようにすることにより、不要に小さなデータ単位の情報を用いることを抑制することができ、復号処理の負荷の増大を抑制することができる。
 ヘッダ情報とは、各階層(シーケンス/ピクチャ/スライス/タイル/最大符号化単位/符号化単位等)に対して、各階層に設定されたデータに先立ってパース(参照する)情報又は各階層に設定されたデータとは独立してパース(参照する)情報を意味する。例えば、ビデオパラメータセット(VPS(Video Parameter Set))、シーケンスパラメータセット(SPS(Sequence Parameter Set))、ピクチャパラメータセット(PPS(Picture Parameter Set))、スライスヘッダ(Slice Header)、ナルユニットタイプ(nal_unit_typ)、SEI(Supplemental Enhancement Information)等の情報がヘッダ情報に該当する。ヘッダ情報は、ビットストリームのシンタクスとして明示的に定義された情報だけではなく、各階層の先頭に位置する情報も含む。
  <画像復号装置>
 図4は、本技術を適用した画像処理装置の一態様である画像復号装置の主な構成例を示すブロック図である。図4に示される画像復号装置100は、図示せぬ画像符号化装置が画像データをHEVC符号化方式により符号化して生成した符号化データを復号する。
 図4に示されるように画像復号装置100は、蓄積バッファ111、可逆復号部112、逆量子化部113、逆直交変換部114、演算部115、ループフィルタ116、および画面並べ替えバッファ117を有する。また、画像復号装置100は、フレームメモリ118、イントラ予測部119、インター予測部120、および予測画像選択部121を有する。さらに、画像復号装置100は、フィルタ制御部122を有する。
 蓄積バッファ111は、符号化側から伝送されてきた符号化データを受け取る受け取り部でもある。蓄積バッファ111は、その伝送されてきた符号化データを受け取って、蓄積し、所定のタイミングにおいてその符号化データを可逆復号部112に供給する。可逆復号部112は、蓄積バッファ111より供給された符号化データをHEVC方式で復号する。例えば、可逆復号部112は、その符号化データを再帰的に分割されたCU(Coding Unit)毎に復号する。可逆復号部112は、復号して得られた量子化された係数データを、逆量子化部113に供給する。
 また、可逆復号部112は、符号化データに付加された最適な予測モードに関する情報に基づいて、最適な予測モードとしてイントラ予測モードが選択されたかインター予測モードが選択されたかを判定し、その最適な予測モードに関する情報を、イントラ予測部119およびインター予測部120の内、選択されたと判定したモードの方に供給する。例えば符号化側において最適な予測モードとしてイントラ予測モードが選択された場合、その最適な予測モードに関する情報がイントラ予測部119に供給される。また、例えば符号化側において最適な予測モードとしてインター予測モードが選択された場合、その最適な予測モードに関する情報がインター予測部120に供給される。
 さらに、可逆復号部112は、例えば、量子化行列や量子化パラメータ等の、逆量子化に必要な情報を逆量子化部113に供給する。
 また、可逆復号部112は、シーケンスパラメータセット(SPS)、ピクチャパラメータセット(PPS)、スライスヘッダ等のヘッダ情報を、フィルタ制御部122に供給する。
 逆量子化部113は、可逆復号部112により復号されて得られた量子化された係数データを、符号化側の量子化方式に対応する方式で逆量子化する。逆量子化部113は、得られた係数データを逆直交変換部114に供給する。
 逆直交変換部114は、逆量子化部113から供給される直交変換係数を、符号化側の直交変換方式に対応する方式で逆直交変換する。逆直交変換部114は、この逆直交変換処理により、符号化側において直交変換される前の状態に対応する残差データを得る。逆直交変換されて得られた残差データは、演算部115に供給される。
 演算部115は、逆直交変換部114から残差データを取得する。また、演算部115は、予測画像選択部121を介して、イントラ予測部119若しくはインター予測部120から予測画像を取得する。演算部115は、差分画像と予測画像とを加算し、符号化側において予測画像が減算される前の画像に対応する再構成画像を得る。演算部115は、その再構成画像をループフィルタ116およびイントラ予測部119に供給する。
 ループフィルタ116は、供給された再構成画像に対して、デブロックフィルタ処理やSAO処理等を含むループフィルタ処理を適宜施して復号画像を生成する。例えば、ループフィルタ116は、再構成画像に対してデブロックフィルタ処理を行うことにより、ブロック歪を除去する。また、例えば、ループフィルタ116は、そのデブロックフィルタ処理結果(ブロック歪みの除去が行われた再構成画像)に対して、SAO処理を行うことにより、リンギングの低減や画素値のズレの補正等による画質改善を行う。
 なお、ループフィルタ116が行うフィルタ処理の種類は任意であり、上述した以外のフィルタ処理を行ってもよい。また、ループフィルタ116が、符号化側から供給されたフィルタ係数を用いてフィルタ処理を行うようにしてもよい。
 ループフィルタ116は、フィルタ処理結果である復号画像を画面並べ替えバッファ117およびフレームメモリ118に供給する。
 画面並べ替えバッファ117は、画像の並べ替えを行う。すなわち、符号化側において符号化の順番のために並べ替えられたフレームの順番が、元の表示の順番に並べ替えられる。画面並べ替えバッファ117は、フレームの順番を並べ替えた復号画像データを画像復号装置100の外部に出力する。
 フレームメモリ118は、供給される復号画像を記憶し、所定のタイミングにおいて、若しくは、インター予測部120等の外部の要求に基づいて、記憶している復号画像を参照画像として、インター予測部120に供給する。
 イントラ予測部119には、ヘッダ情報を復号して得られたイントラ予測モードを示す情報等が可逆復号部112から適宜供給される。イントラ予測部119は、符号化側において用いられたイントラ予測モードで、演算部115から供給される再構成画像を参照画像として用いてイントラ予測を行い、予測画像を生成する。イントラ予測部119は、生成した予測画像を予測画像選択部121に供給する。
 インター予測部120は、ヘッダ情報を復号して得られた情報(最適予測モード情報、参照画像情報等)を可逆復号部112から取得する。
 インター予測部120は、可逆復号部112から取得された最適予測モード情報が示すインター予測モードで、フレームメモリ118から取得した参照画像を用いてインター予測を行い、予測画像を生成する。
 予測画像選択部121は、イントラ予測部119からの予測画像またはインター予測部120からの予測画像を、演算部115に供給する。そして、演算部115においては、動きベクトルが用いられて生成された予測画像と逆直交変換部114から供給される残差データとが加算されて元の画像が復号される。すなわち、再構成画像が生成される。
 フィルタ制御部122は、例えば、シーケンスパラメータセット(SPS)、ピクチャパラメータセット(PPS)、スライスヘッダ等の、符号化側から伝送されたヘッダ情報を、可逆復号部112を介して取得する。フィルタ制御部122は、取得したヘッダ情報に基づいて、ループフィルタ116のフィルタ処理に用いられる情報のデータ単位を決定する。例えば、フィルタ制御部122は、CU単位の情報を用いるか否かを選択する。
 フィルタ制御部122は、その決定(選択)したデータ単位の情報を用いてループフィルタ処理を行うようにループフィルタ116の動作を制御するフィルタ制御情報を生成し、そのフィルタ制御情報をループフィルタ116に供給する。
 シーケンスパラメータセット(SPS)のシンタクスの例を図5および図6に示す。上述したように、図5の下から4行目に示されるpcm_enabled_flagが「1」の場合、図6の上から3行目に示されるように、pcm_loop_filter_disabled_flagが存在し、CU毎にpcm_flagが存在する。
 このような場合に、フィルタ制御部122は、SPSやPPS等、各種ヘッダ情報を参照し、その値に基づいて、フィルタ制御情報を生成する。
  <フィルタ制御部>
 図7にそのフィルタ制御部122の主な構成例を示す。図7に示されるように、フィルタ制御部122は、デブロッキングフィルタ用制御情報生成部131とSAO用制御情報生成部132とを有する。
 デブロッキングフィルタ用制御情報生成部131は、可逆復号部112から供給されるSPS、PPS、スライスヘッダ等のヘッダ情報を参照して、デブロッキングフィルタ処理に用いられる情報のデータ単位を決定する。例えば、デブロッキングフィルタ用制御情報生成部131は、これらのヘッダ情報の値に対する条件がCU単位毎に設定された情報を参照する必要が無いことを示す場合、フィルタ処理を行う際に参照するCU単位毎に設定された情報に対する参照をスキップさせる。換言するに、例えば、デブロッキングフィルタ用制御情報生成部131は、これらのヘッダ情報の値に対する条件がCU単位毎に設定された情報を参照する必要があることを示す場合、フィルタ処理を行う際に参照するCU単位毎に設定された情報を参照させる。
 例えば、デブロッキングフィルタ用制御情報生成部131は、ヘッダ情報に基づいて、PCMデータに対するフィルタ処理が無効の場合、CU単位の情報を用いることを選択する。例えば、デブロッキングフィルタ用制御情報生成部131は、シーケンスパラメータセット(SPS)のpcm_loop_filter_disabled_flag(図6の上から3行目)を参照し、その値が真(「1」)の場合、CU単位の情報を用いることを選択する。
 また、例えば、デブロッキングフィルタ用制御情報生成部131は、ヘッダ情報に基づいて、CU単位でフィルタ処理をスキップする可能性がある場合、CU単位の情報を用いることを選択する。例えば、デブロッキングフィルタ用制御情報生成部131は、ピクチャパラメータセット(PPS)のtransquant_bypass_enabled_flagを参照し、その値が真(「1」)の場合、CU単位の情報を用いることを選択する。
 ピクチャパラメータセット(PPS)のシンタクスの例を図8および図9に示す。図8の上から22行目に示されるtransquant_bypass_enabled_flagが真(「1」)の場合、CU毎にcu_transquant_bypass_flagが存在する。そこで、この場合、デブロッキングフィルタ用制御情報生成部131は、デブロッキングフィルタ処理の際にCU単位の情報を用いることを選択する。
 さらに、例えば、デブロッキングフィルタ用制御情報生成部131は、ヘッダ情報に基づいて、CU単位で量子化パラメータが変化する可能性がある場合、CU単位の情報を用いることを選択する。例えば、デブロッキングフィルタ用制御情報生成部131は、ピクチャパラメータセット(PPS)のcu_qp_delta_enabled_flagを参照し、その値が真(「1」)の場合、CU単位の情報を用いることを選択する。
 図8の上から14行目に示されるcu_qp_delta_enabled_flagが真(「1」)の場合、CU毎に、diff_cu_qp_delta_depthおよびcu_qp_delta_absのうち、少なくともいずれか一方が存在し得る。つまり、CU単位で量子化パラメータが変化する可能性がある。そこで、この場合、デブロッキングフィルタ用制御情報生成部131は、デブロッキングフィルタ処理の際にCU単位の情報を用いることを選択する。
 また、例えば、デブロッキングフィルタ用制御情報生成部131は、処理対象であるカレントピクチャ内に複数のスライスが存在し、かつ、スライス毎に量子化パラメータが変化する可能性がある場合、CU単位の情報を用いることを選択する。例えば、デブロッキングフィルタ用制御情報生成部131は、スライスヘッダ(slice_segment_header)のslice_qp_deltaをスライス同士で比較し、互いに同一でない場合、CU単位の情報を用いることを選択する。
 スライスヘッダのシンタクスの例を図10、図11、および図12に示す。図11の上から29行目に示されるslice_qp_deltaがスライス同士で共通でない場合、デブロッキングフィルタ用制御情報生成部131は、デブロッキングフィルタ処理の際にCU単位の情報を用いることを選択する。
 これに対して、pcm_loop_filter_disabled_flag, transquant_bypass_enabled_flag, cu_qp_delta_enabled_flagのいずれも値が偽(「0」)であり、かつ、スライス毎に量子化パラメータが変化する可能性がない場合(例えば、ピクチャが1つのスライスで構成される場合、または、ピクチャ内の各スライスヘッダのslice_qp_deltaが同じ場合)、デブロッキングフィルタ用制御情報生成部131は、デブロッキングフィルタ処理の際にCU単位の情報を用いないことを選択する。
 デブロッキングフィルタ用制御情報生成部131は、デブロッキングフィルタ用制御情報dbk_simple_flagを生成し、その値を、以上のような選択(決定)を反映させる値に決定する。例えば、デブロッキングフィルタ用制御情報生成部131は、デブロッキングフィルタ処理の際にCU単位の情報を用いない場合、dbk_simple_flag = 1をセットする。また、例えば、デブロッキングフィルタ用制御情報生成部131は、デブロッキングフィルタ処理の際にCU単位の情報を用いる場合、dbk_simple_flag = 0をセットする。
 デブロッキングフィルタ用制御情報生成部131は、このように生成したdbk_simple_flagを、ループフィルタ116に供給する。
 SAO用制御情報生成部132は、可逆復号部112から供給されるSPSやPPS等のヘッダ情報を参照して、SAO処理に用いられる情報のデータ単位を決定する。例えば、SAO用制御情報生成部132は、これらのヘッダ情報の値に対する条件がCU単位毎に設定された情報を参照する必要が無いことを示す場合、フィルタ処理を行う際に参照するCU単位毎に設定された情報に対する参照をスキップさせる。換言するに、例えば、SAO用制御情報生成部132は、これらのヘッダ情報の値に対する条件がCU単位毎に設定された情報を参照する必要があることを示す場合、フィルタ処理を行う際に参照するCU単位毎に設定された情報を参照させる。
 例えば、SAO用制御情報生成部132は、ヘッダ情報に基づいて、PCMデータに対するフィルタ処理が無効の場合、CU単位の情報を用いることを選択する。例えば、SAO用制御情報生成部132は、シーケンスパラメータセット(SPS)のpcm_loop_filter_disabled_flag(図6の上から3行目)を参照し、その値が真(「1」)の場合、CU単位の情報を用いることを選択する。
 また、例えば、SAO用制御情報生成部132は、ヘッダ情報に基づいて、CU単位でフィルタ処理をスキップする可能性がある場合、CU単位の情報を用いることを選択する。例えば、SAO用制御情報生成部132は、ピクチャパラメータセット(PPS)のtransquant_bypass_enabled_flag(図8の上から22行目)を参照し、その値が真(「1」)の場合、CU単位の情報を用いることを選択する。
 これに対して、pcm_loop_filter_disabled_flag, transquant_bypass_enabled_flagのいずれも値が偽(「0」)である場合、SAO用制御情報生成部132は、SAO処理の際にCU単位の情報を用いないことを選択する。
 SAO用制御情報生成部132は、SAO用制御情報sao_simple_flagを生成し、その値を、以上のような選択(決定)を反映させる値に決定する。例えば、SAO用制御情報生成部132は、SAO処理の際にCU単位の情報を用いない場合、sao_simple_flag = 1をセットする。また、例えば、SAO用制御情報生成部132は、SAO処理の際にCU単位の情報を用いる場合、sao_simple_flag = 0をセットする。
 SAO用制御情報生成部132は、このように生成したsao_simple_flagを、ループフィルタ116に供給する。
  <ループフィルタ>
 図13は、ループフィルタ116の主な構成例を示すブロック図である。図13に示されるように、ループフィルタ116は、デブロッキングフィルタ処理部141およびSAO処理部142を有する。
 デブロッキングフィルタ処理部141は、演算部115から供給される再構成画像に対してデブロッキングフィルタ処理を行う。デブロッキングフィルタ処理部141は、その際、フィルタ制御部122から供給されるデブロッキングフィルタ用制御情報dbk_simple_flagを取得し、その値に基づいてデブロッキングフィルタ処理を行う。つまり、デブロッキングフィルタ処理部141は、ヘッダ情報に対応するデータ単位毎に設定された情報に応じて、デブロッキングフィルタ処理を行う。
 例えば、dbk_simple_flag == 0の場合、デブロッキングフィルタ処理部141は、CU単位の情報を用いてデブロッキングフィルタ処理を行う。つまり、デブロッキングフィルタ処理部141は、ヘッダ情報の値に対する条件がCU単位毎に設定された情報を参照する必要があることを示す場合、フィルタ処理を行う際に参照するCU単位毎に設定された情報を参照してデブロッキングフィルタ処理を行う。例えば、デブロッキングフィルタ処理部141は、CUのcu_transquant_bypass_flagやpcm_flagを参照し、その値を用いてデブロッキングフィルタ処理を行う。
 CUのシンタクスの例を図14および図15に示す。図14の例の場合、上から3行目にcu_transquant_bypass_flagが存在し、上から16行目にpcm_flagが存在する。デブロッキングフィルタ処理部141は、これらの値を用いてデブロッキングフィルタ処理を行う。
 また、例えば、dbk_simple_flag == 1の場合、デブロッキングフィルタ処理部141は、CU単位の情報を用いずにデブロッキングフィルタ処理を行う。つまり、デブロッキングフィルタ処理部141は、ヘッダ情報の値に対する条件がCU単位毎に設定された情報を参照する必要が無いことを示す場合、フィルタ処理を行う際に参照するCU単位毎に設定された情報に対する参照をスキップしてデブロッキングフィルタ処理を行う。デブロッキングフィルタ処理部141は、デブロッキングフィルタ処理を行った再構成画像をSAO処理部142に供給する。
 SAO処理部142は、デブロッキングフィルタ処理部141から供給されるデブロッキングフィルタ処理が行われた再構成画像に対してSAO処理を行う。SAO処理部142は、その際、フィルタ制御部122から供給されるSAO用制御情報sao_simple_flagを取得し、その値に基づいてSAO処理を行う。つまり、SAO処理部142は、ヘッダ情報に対応するデータ単位毎に設定された情報に応じて、SAO処理を行う。
 例えば、sao_simple_flag == 0の場合、SAO処理部142は、CU単位の情報を用いてSAO処理を行う。つまり、SAO処理部142は、ヘッダ情報の値に対する条件がCU単位毎に設定された情報を参照する必要があることを示す場合、フィルタ処理を行う際に参照するCU単位毎に設定された情報を参照してSAO処理を行う。例えば、SAO処理部142は、CUのcu_transquant_bypass_flag(図14の上から3行目)やpcm_flag(図14の上から16行目)を参照し、その値を用いてSAO処理を行う。
 また、例えば、sao_simple_flag == 1の場合、SAO処理部142は、CU単位の情報を用いずにSAO処理を行う。つまり、SAO処理部142は、ヘッダ情報の値に対する条件がCU単位毎に設定された情報を参照する必要が無いことを示す場合、フィルタ処理を行う際に参照するCU単位毎に設定された情報に対する参照をスキップしてSAO処理を行う。SAO処理部142は、SAO処理を行った再構成画像(すなわち、復号画像)を画面並べ替えバッファ117やフレームメモリ118に供給する。
 以上のようにヘッダ情報に対応するデータ単位毎に設定された情報に応じてループフィルタ処理を行うことにより、画像復号装置100は、不要に小さいデータ単位の情報を参照せずにループフィルタ処理を行うことができるので、復号処理の負荷の増大を抑制することができる。
  <復号処理の流れ>
 次に、画像復号装置100により実行される各処理の流れの例を説明する。最初に、復号処理の流れの例を、図16のフローチャートを参照して説明する。
 復号処理が開始されると、ステップS101において、蓄積バッファ111は、伝送されてきたビットストリームを蓄積する。ステップS102において、可逆復号部112は、蓄積バッファ111から供給されるビットストリームを復号する。すなわち、符号化側により符号化されたIピクチャ、Pピクチャ、並びにBピクチャが復号される。このとき、ヘッダ情報などのビットストリームに含められた画像情報以外の各種情報も復号される。
 ステップS103において、フィルタ制御部122は、フィルタ制御情報を生成する。
 ステップS104において、逆量子化部113は、ステップS102の処理により得られた、量子化された係数を逆量子化する。
 ステップS105において、逆直交変換部114は、ステップS104の処理により得られた直交変換係数を逆直交変換する。この処理により、輝度成分の残差データと色差成分の予測残差データが復元される。
 ステップS106において、イントラ予測部119若しくはインター予測部120は、予測処理を行い、予測画像を生成する。つまり、可逆復号部112において判定された、符号化の際に適用された予測モードで予測処理が行われる。より具体的には、例えば、符号化の際にイントラ予測が適用された場合、イントラ予測部119が、符号化の際に最適とされたイントラ予測モードで予測画像を生成する。また、例えば、符号化の際にインター予測が適用された場合、インター予測部120が、符号化の際に最適とされたインター予測モードで予測画像を生成する。
 ステップS107において、演算部115は、ステップS105の処理により復元された残差データに、ステップS106において生成された予測画像を加算する。これにより再構成画像が得られる。
 ステップS108において、ループフィルタ116は、ステップS107の処理により得られた再構成画像に対して、デブロックフィルタ処理やSAO処理等を含むループフィルタ処理を行う。
 ステップS109において、画面並べ替えバッファ117は、ステップS108の処理により得られた復号画像のフレームの並べ替えを行う。すなわち、符号化の際に並べ替えられたフレームの順序が、元の表示の順序に並べ替えられる。フレームが並べ替えられた復号画像は、画像復号装置100の外部に出力される。
 ステップS110において、フレームメモリ118は、ステップS108の処理により得られた復号画像を記憶する。
 ステップS110の処理が終了すると、復号処理が終了する。
  <フィルタ制御情報生成処理の流れ>
 次に、このような復号処理のステップS103において実行されるフィルタ制御情報生成処理の流れの例を、図17のフローチャートを参照して説明する。
 フィルタ制御情報生成処理が開始されると、フィルタ制御部122のデブロッキングフィルタ用制御情報生成部131は、ステップS121において、デブロッキングフィルタ用制御情報生成処理を行う。
 ステップS122において、フィルタ制御部122のSAO用制御情報生成部132は、SAO用制御情報生成処理を行う。
 ステップS122の処理が終了すると、フィルタ制御情報生成処理が終了し、処理は図16に戻る。
  <デブロッキングフィルタ用制御情報生成処理の流れ>
 次に、図18のフローチャートを参照して、図17のステップS121において実行されるデブロッキングフィルタ用制御情報生成処理の流れの例を説明する。
 デブロッキングフィルタ用制御情報生成処理が開始されると、デブロッキングフィルタ用制御情報生成部131は、ステップS131において、is_first_slice = 0を設定する。
 ステップS132において、デブロッキングフィルタ用制御情報生成部131は、pcm_loop_filter_disabled_flag == 0であるか否かを判定する。pcm_loop_filter_disabled_flag == 0であると判定された場合、処理はステップS133に進む。
 ステップS133において、デブロッキングフィルタ用制御情報生成部131は、transquant_bypass_enabled_flag == 0であるか否かを判定する。transquant_bypass_enabled_flag == 0であると判定された場合、処理はステップS134に進む。
 ステップS134において、デブロッキングフィルタ用制御情報生成部131は、cu_qp_delta_enabled_flag == 0であるか否かを判定する。cu_qp_delta_enabled_flag == 0であると判定された場合、処理はステップS135に進む。
 ステップS135において、デブロッキングフィルタ用制御情報生成部131は、処理対象であるカレントピクチャのスライスの数(slice segment数)が「1」であるか否かを判定する。デブロッキングフィルタ用制御情報生成部131は、ピクチャが複数のスライスで構成される場合に、フィルタ処理を行う際に参照するCU単位毎に設定された情報を参照させる。したがって、slice segment数が複数であると判定された場合、処理はステップS136に進む。
 ステップS136において、デブロッキングフィルタ用制御情報生成部131は、is_first_slice == 0であるか否か、すなわち、処理対象であるカレントスライスが、カレントピクチャの最初のスライスであるか否かを判定する。そして、カレントスライスがカレントピクチャの最初のスライスである(つまり、is_first_slice == 0)と判定された場合、処理は、ステップS137に進む。
 ステップS137において、デブロッキングフィルタ用制御情報生成部131は、is_first_slice = 1, first_slice_qp_delta = slice_qp_deltaを設定する。ステップS137の処理が終了すると、処理はステップS136に戻り、それ以降の処理を繰り返す。
 また、ステップS136において、is_first_slice == 1 である、すなわち、カレントスライスがカレントピクチャの最初のスライスでないと判定された場合、処理はステップS138に進む。
 ステップS138において、デブロッキングフィルタ用制御情報生成部131は、slice_qp_delta == first_slice_qp_deltaであるか否か、つまり、カレントスライスの量子化パラメータがカレントピクチャの最初のスライスの量子化パラメータと一致するか否かを判定する。slice_qp_delta == first_slice_qp_deltaである、つまり、カレントスライスの量子化パラメータがカレントピクチャの最初のスライスの量子化パラメータと一致すると判定された場合、処理は、ステップS139に進む。つまり、デブロッキングフィルタ用制御情報生成部131は、ピクチャが複数のスライスで構成される場合に、ピクチャ内の各スライスヘッダのslice_qp_deltaが同じであれば、フィルタ処理を行う際に参照するCU単位毎に設定された情報に対する参照をスキップさせる。
 ステップS139において、デブロッキングフィルタ用制御情報生成部131は、カレントスライスが、カレントピクチャに属する最後のスライス(slice segment)であるか否かを判定する。最後でないと判定された場合、処理はステップS136に戻り、それ以降の処理を繰り返す。
 また、ステップS139において、カレントスライスが、カレントピクチャに属する最後のスライス(slice segment)であると判定された場合、処理はステップS140に進む。
 また、ステップS135において、カレントピクチャのスライスの数(slice segment数)が「1」であると判定された場合、ステップS136乃至ステップS139の処理が省略され、処理はステップS140に進む。つまり、デブロッキングフィルタ用制御情報生成部131は、ピクチャが1つのスライスで構成される場合に、フィルタ処理を行う際に参照するCU単位毎に設定された情報に対する参照をスキップさせる。
 ステップS140において、デブロッキングフィルタ用制御情報生成部131は、デブロッキングフィルタ用制御情報dbk_simple_flagを生成し、その値を「1」にセットする。
 ステップS140の処理が終了すると、処理は図17に戻る。
 また、ステップS132において、pcm_loop_filter_disabled_flag == 1であると判定された場合、処理はステップS141に進む。
 さらに、ステップS133において、transquant_bypass_enabled_flag == 1であると判定された場合、処理はステップS141に進む。
 また、ステップS134において、cu_qp_delta_enabled_flag == 1であると判定された場合、処理はステップS141に進む。
 また、ステップS138において、slice_qp_delta == first_slice_qp_deltaでない、つまり、カレントスライスの量子化パラメータがカレントピクチャの最初のスライスの量子化パラメータと一致しないと判定された場合、処理は、ステップS141に進む。
 ステップS141において、デブロッキングフィルタ用制御情報生成部131は、デブロッキングフィルタ用制御情報dbk_simple_flagを生成し、その値を「0」にセットする。
 ステップS141の処理が終了すると、処理は図17に戻る。
  <SAO制御情報生成処理の流れ>
 次に、図19のフローチャートを参照して、図17のステップS122において実行されるSAO用制御情報生成処理の流れの例を説明する。
 SAO用制御情報生成処理が開始されると、SAO用制御情報生成部132は、ステップS151において、pcm_loop_filter_disabled_flag == 0であるか否かを判定する。pcm_loop_filter_disabled_flag == 0であると判定された場合、処理はステップS152に進む。
 ステップS152において、SAO用制御情報生成部132は、transquant_bypass_enabled_flag == 0であるか否かを判定する。transquant_bypass_enabled_flag == 0であると判定された場合、処理はステップS153に進む。
 ステップS153において、SAO用制御情報生成部132は、SAO用制御情報sao_simple_flagを生成し、その値を「1」にセットする。ステップS153の処理が終了するとSAO用制御情報生成処理が終了し、処理は図17に戻る。
 ところで、ステップS151において、pcm_loop_filter_disabled_flag == 1であると判定された場合、処理はステップS154に進む。また、ステップS152において、transquant_bypass_enabled_flag == 1であると判定された場合、処理はステップS154に進む。
 ステップS154において、SAO用制御情報生成部132は、SAO用制御情報sao_simple_flagを生成し、その値を「0」にセットする。ステップS154の処理が終了するとSAO用制御情報生成処理が終了し、処理は図17に戻る。
  <ループフィルタ処理の流れ>
 次に、図16のステップS108において実行されるループフィルタ処理の流れの例を、図20のフローチャートを参照して説明する。
 ループフィルタ処理が開始されると、ループフィルタ116のデブロッキングフィルタ処理部141は、ステップS161において、デブロッキングフィルタ処理を行う。
 ステップS162において、ループフィルタ116のSAO処理部142は、SAO処理を行う。
 ステップS162の処理が終了するとループフィルタ処理が終了し、処理は図16に戻る。
  <デブロッキングフィルタ処理の流れ>
 次に、図21のフローチャートを参照して、図20のステップS161において実行されるデブロッキングフィルタ処理の流れの例を説明する。
 デブロッキングフィルタ処理が開始されると、デブロッキングフィルタ処理部141は、ステップS171において、フィルタ制御部122から供給されるデブロッキングフィルタ用制御情報dbk_simple_flagの値が「1」であるか否かを判定する。dbk_simple_flag == 1であると判定された場合、処理はステップS172に進む。
 ステップS172において、デブロッキングフィルタ処理部141は、CU単位の情報を利用しないCTB単位のデブロッキングフィルタ処理を行う。ステップS172の処理が終了すると、デブロッキングフィルタ処理が終了し、処理は、図20に戻る。
 また、ステップS171において、dbk_simple_flag == 0であると判定された場合、処理はステップS173に進む。
 ステップS173において、デブロッキングフィルタ処理部141は、CU単位の情報を利用するCU単位のデブロッキングフィルタ処理を行う。ステップS173の処理が終了すると、デブロッキングフィルタ処理が終了し、処理は、図20に戻る。
  <CU単位デブロッキングフィルタ処理の流れ>
 次に、図22のフローチャートを参照して、図21のステップS173において実行されるCU単位デブロッキングフィルタ処理の流れの例を説明する。
 CU単位デブロッキングフィルタ処理が開始されると、デブロッキングフィルタ処理部141は、ステップS181において、ピクチャ内のエッジ(edge)に対して、境界強度を算出する。
 ステップS182において、デブロッキングフィルタ処理部141は、i = 0 を設定する。ステップS183において、デブロッキングフィルタ処理部141は、i番目のエッジの情報を取得する。
 ステップS184において、デブロッキングフィルタ処理部141は、処理対象であるカレントエッジに対してデブロッキングフィルタをかけるか否かを判定する。デブロッキングフィルタをかけると判定された場合、処理は、ステップS185に進む。
 ステップS185において、デブロッキングフィルタ処理部141は、そのカレントエッジに隣接するピクセルが属するCUの情報を取得する。
 ステップS186において、デブロッキングフィルタ処理部141は、CUの量子化パラメータQpYからqPLを算出し、デブロッキングフィルタ用のパラメータであるβとtcとを導出する。
 ステップS187において、デブロッキングフィルタ処理部141は、カレントエッジに対してデブロッキングフィルタをかける。
 ステップS188において、デブロッキングフィルタ処理部141は、そのカレントエッジに隣接するピクセルが属するCUにおいて、(pcm_flag == 1 and pcm_loop_filter_disabled_flag = 1) or (cu_transquant_bypass_flag = 1)であれば、デブロッキングフィルタをかけることによって値が変わったピクセルの値を、デブロッキングフィルタをかける前の値に戻す。
 ステップS188の処理が終了すると、処理は、ステップS189に進む。また、ステップS184において、デブロッキングフィルタをかけないと判定された場合、処理はステップS189に進む。
 ステップS189において、デブロッキングフィルタ処理部141は、カレントエッジがカレントピクチャの最後のエッジであるか否かを判定する。カレントエッジがカレントピクチャの最後のエッジでないと判定された場合、処理は、ステップS190に進む。
 ステップS190において、デブロッキングフィルタ処理部141は、i = i + 1を設定する。すなわち、処理対象を次のエッジに移す。ステップS190のの処理が終了すると、処理はステップS183に戻り、それ以降の処理を繰り返す。
 また、ステップS189において、カレントエッジがカレントピクチャの最後のエッジであると判定された場合、CU単位デブロッキングフィルタ処理が終了し、処理は図21に戻る。
 以上のように、CU単位の情報を利用するデブロッキングフィルタ処理は、各CUを参照しなければならず、処理の負荷が大きい。ヘッダ情報を確認せずにデブロッキングフィルタ処理を行う場合、このCU単位のデブロッキングフィルタ処理を行わなければならない。したがって、仮にCU単位の情報が不要であっても、CU単位の情報を参照しなければならず、不要にデブロッキングフィルタ処理の負荷が増大するおそれがあった。
  <CTB単位デブロッキングフィルタ処理の流れ>
 次に、図23のフローチャートを参照して、図21のステップS172において実行されるCTB単位デブロッキングフィルタ処理の流れの例を説明する。
 CTB単位デブロッキングフィルタ処理が開始されると、デブロッキングフィルタ処理部141は、ステップS201において、ピクチャ内のエッジに対して境界強度を算出する。
 ステップS202において、デブロッキングフィルタ処理部141は、ピクチャで共通のβ、tcを導出する。
 ステップS203において、デブロッキングフィルタ処理部141は、i = 0を設定する。
 ステップS204において、デブロッキングフィルタ処理部141は、i番目のエッジの情報を取得する。
 ステップS205において、デブロッキングフィルタ処理部141は、デブロッキングフィルタをかけるか否かを判定する。デブロッキングフィルタをかけると判定された場合、処理はステップS206に進む。
 ステップS206において、デブロッキングフィルタ処理部141は、そのカレントエッジに対してデブロッキングフィルタをかける。ステップS206の処理が終了すると、処理はステップS207に進む。また、ステップS205において、デブロッキングフィルタ処理をかけないと判定されると、ステップS206の処理が省略され、処理はステップS207に進む。
 ステップS207において、デブロッキングフィルタ処理部141は、カレントエッジがカレントピクチャの最後のエッジであるか否かを判定する。カレントエッジがカレントピクチャの最後のエッジでないと判定された場合、処理は、ステップS208に進む。
 ステップS208において、デブロッキングフィルタ処理部141は、i = i + 1を設定する。ステップS208の処理が終了すると、処理はステップS204に戻り、それ以降の処理を繰り返す。
 また、ステップS207において、カレントエッジがカレントピクチャの最後のエッジであると判定された場合、CU単位デブロッキングフィルタ処理が終了し、処理は図21に戻る。
 以上のように、CTB単位の情報を利用するデブロッキングフィルタ処理は、各CUを参照せずにデブロッキングフィルタ処理を行うことができ、処理の負荷の増大を抑制することができる。つまり、デブロッキングフィルタ処理部141は、上述したように、ヘッダ情報を参照してCU単位の情報が不要であることを確認し、その必要・不要に応じて、CU単位のデブロッキングフィルタ処理とCTB単位のデブロッキングフィルタ処理とを適切に使い分ける。このようにすることにより、デブロッキングフィルタ処理部141は、デブロッキングフィルタ処理の負荷の不要な増大を抑制することができる。
  <SAO処理の流れ>
 次に、図24のフローチャートを参照して、図20のステップS162において実行されるSAO処理の流れの例を説明する。
 SAO処理が開始されると、SAO処理部142は、ステップS211において、フィルタ制御部122から供給されるSAO用制御情報sao_simple_flagの値が「1」であるか否かを判定する。sao_simple_flag == 1であると判定された場合、処理はステップS212に進む。
 ステップS212において、SAO処理部142は、CU単位の情報を利用しないCTB単位のSAO処理を行う。ステップS212の処理が終了すると、デブロッキングフィルタ処理が終了し、処理は、図20に戻る。
 また、ステップS211において、sao_simple_flag == 0であると判定された場合、処理はステップS213に進む。
 ステップS213において、デブロッキングフィルタ処理部141は、CU単位の情報を利用するCU単位のSAO処理を行う。ステップS213の処理が終了すると、SAO処理が終了し、処理は、図20に戻る。
  <CU単位SAO処理の流れ>
 次に、図25のフローチャートを参照して、図24のステップS213において実行されるCU単位SAO処理の流れの例を説明する。
 CU単位SAO処理が開始されると、SAO処理部142は、ステップS221において、i = 0を設定する。
 ステップS222において、SAO処理部142は、i番目のCTBの情報を取得する。
 ステップS223において、SAO処理部142は、SaoTypeIdx == 0であるか否かを判定する。SaoTypeIdx == 0でないと判定された場合、処理はステップS224に進む。
 ステップS224において、SAO処理部142は、SaoOffsetValを算出し、j = 0を設定する。
 ステップS225において、SAO処理部142は、j番目のCUの情報を取得する。
 ステップS226において、SAO処理部142は、(pcm_flag == 1 and pcm_loop_filter_disabled_flag =1) or (cu_transquant_bypass_flag == 1)であるか否かを判定する。(pcm_flag == 1 and pcm_loop_filter_disabled_flag =1) or (cu_transquant_bypass_flag == 1)でないと判定された場合、処理はステップS227に進む。
 ステップS227において、SAO処理部142は、CUに対するオフセットを加算する。ステップS227の処理が終了すると、処理はステップS228に進む。また、ステップS226において、(pcm_flag == 1 and pcm_loop_filter_disabled_flag =1) or (cu_transquant_bypass_flag == 1)であると判定された場合、処理はステップS228に進む。
 ステップS228において、SAO処理部142は、カレントCUが処理対象であるカレントCTBの最後のCUであるか否かを判定する。最後のCUでないと判定された場合、処理はステップS229に進む。
 ステップS229において、SAO処理部142は、j = j + 1を設定する。すなわち、処理対象を次のCUに移す。ステップS229の処理が終了すると、処理は、ステップS225に戻り、それ以降の処理を繰り返す。つまり、カレントCTB内の全てのCUについてステップS225乃至ステップS228の一連の処理が行われる。
 また、ステップS228において、最後のCUであると判定された場合、処理はステップS230に進む。また、ステップS223において、SaoTypeIdx == 0であると判定された場合、処理はステップS230に進む。
 ステップS230において、SAO処理部142は、カレントピクチャの最後のCTBであるか否かを判定する。最後のCTBではないと判定された場合、処理はステップS231に進む。
 ステップS231において、SAO処理部142は、i = i + 1 を設定する。すなわち、処理対象を次のCTBに移す。ステップS231の処理が終了すると、処理はステップS235に戻り、それ以降の処理を繰り返す。
 また、ステップS230において、最後のCTBであると判定された場合、CU単位SAO処理が終了し、処理は図24に戻る。
 以上のように、CU単位の情報を利用するSAO処理は、各CUを参照しなければならず、処理の負荷が大きい。ヘッダ情報を確認せずにSAO処理を行う場合、このCU単位のSAO処理を行わなければならない。したがって、仮にCU単位の情報が不要であっても、CU単位の情報を参照しなければならず、不要にSAO処理の負荷が増大するおそれがあった。
  <CTB単位SAO処理の流れ>
 次に、図26のフローチャートを参照して、図24のステップS212において実行されCTB単位SAO処理の流れの例を説明する。
 CTB単位SAO処理が開始されると、SAO処理部142は、ステップS241において、i = 0を設定する。
 ステップS242において、SAO処理部142は、i番目のCTBの情報を取得する。
 ステップS243において、SAO処理部142は、SaoTypeIdx == 0であるか否かを判定する。SaoTypeIdx == 0でないと判定された場合、処理は、ステップS244に進む。
 ステップS244において、SAO処理部142は、SaoOffsetValを算出する。
 ステップS245において、SAO処理部142は、CTBに対するオフセットを加算する。ステップS245の処理が終了すると、処理は、ステップS246に進む。また、ステップS243において、SaoTypeIdx == 0であると判定される場合、処理は、ステップS246に進む。
 ステップS246において、SAO処理部142は、カレントピクチャの最後のCTBであるか否かを判定する。最後のCTBでないと判定された場合、処理はステップS247に進む。
 ステップS247において、SAO処理部142は、i = i + 1を設定する。つまり、処理対象を次のCTBに移す。ステップS247の処理が終了すると、処理は、ステップS242に戻り、それ以降の処理を繰り返す。
 また、ステップS246において、最後のCTBであると判定された場合、CTB単位SAO処理が終了し、処理は図24に戻る。
 以上のように、CTB単位の情報を利用するSAO処理は、各CUを参照せずにSAO処理を行うことができ、処理の負荷の増大を抑制することができる。つまり、SAO処理部142は、上述したように、ヘッダ情報を参照してCU単位の情報が不要であることを確認し、その必要・不要に応じて、CU単位のSAO処理とCTB単位のSAO処理とを適切に使い分ける。このようにすることにより、SAO処理部142は、SAO処理の負荷の不要な増大を抑制することができる。
 つまり、符号化されたビットストリーム内からデブロッキングフィルタ処理をCTB単位で行うことができるか否かをあらかじめ計算することで、CTB単位で行うことが可能な場合はデブロッキングフィルタ処理の負荷を削減することができる。
 同様に、符号化されたビットストリーム内からSAO処理をCTB単位で行うことができるかのフラグをあらかじめ計算することで、CTB単位で行うことが可能な場合はSAOの処理の負荷を削減することが可能になる。
 したがって、以上のように各処理を実行することにより、画像復号装置100は、フィルタ処理の際に、不要に小さい単位の情報を参照しなくてよいので、処理の負荷の増大を抑制することができる。
 本技術の適用範囲は、画像データが符号化された符号化データを復号可能な、復号の際にフィルタ処理を行うあらゆる画像復号装置に適用することができる。
 また、本技術は、例えば、MPEG、H.26x等の様に、離散コサイン変換等の直交変換と動き補償によって圧縮された画像情報(ビットストリーム)を、衛星放送、ケーブルテレビジョン、インターネット、または携帯電話機などのネットワークメディアを介して受信する際に用いられる画像復号装置に適用することができる。また、本技術は、光、磁気ディスク、およびフラッシュメモリのような記憶メディア上で処理する際に用いられる画像復号装置に適用することができる。
 <2.第2の実施の形態>
  <多視点画像復号への適用>
 上述した一連の処理は、多視点画像復号に適用することができる。図27は、多視点画像符号化方式の一例を示す。
 図27に示されるように、多視点画像は、複数の視点(ビュー(view))の画像を含む。この多視点画像の複数のビューは、他のビューの情報を利用せずに自身のビューの画像のみを用いて符号化・復号を行うベースビューと、他のビューの情報を利用して符号化・復号を行うノンベースビューとによりなる。ノンベースビューの符号化・復号は、ベースビューの情報を利用するようにしても良いし、他のノンベースビューの情報を利用するようにしてもよい。
 図27の例のような多視点画像を符号化する場合、多視点画像は、視点毎に符号化される。そして、そのようにして得られた符号化データを復号する場合、各視点の符号化データは、それぞれ(すなわち視点毎に)復号される。このような各視点の復号に対して、第1の実施の形態において上述した方法を適用するようにしてもよい。このようにすることにより、各視点の画像について、復号処理の負荷の増大を抑制することができる。つまり、多視点画像の場合も同様に、復号処理の負荷の増大を抑制することができる。
  <多視点画像符号化装置>
 図28は、上述した多視点画像符号化を行う多視点画像符号化装置を示す図である。図28に示されるように、多視点画像符号化装置600は、符号化部601、符号化部602、および多重化部603を有する。
 符号化部601は、ベースビュー画像を符号化し、ベースビュー画像符号化ストリームを生成する。符号化部602は、ノンベースビュー画像を符号化し、ノンベースビュー画像符号化ストリームを生成する。多重化部603は、符号化部601において生成されたベースビュー画像符号化ストリームと、符号化部602において生成されたノンベースビュー画像符号化ストリームとを多重化し、多視点画像符号化ストリームを生成する。
  <多視点画像復号装置>
 図29は、上述した多視点画像復号を行う多視点画像復号装置を示す図である。図29に示されるように、多視点画像復号装置610は、逆多重化部611、復号部612、および復号部613を有する。
 逆多重化部611は、ベースビュー画像符号化ストリームとノンベースビュー画像符号化ストリームとが多重化された多視点画像符号化ストリームを逆多重化し、ベースビュー画像符号化ストリームと、ノンベースビュー画像符号化ストリームとを抽出する。復号部612は、逆多重化部611により抽出されたベースビュー画像符号化ストリームを復号し、ベースビュー画像を得る。復号部613は、逆多重化部611により抽出されたノンベースビュー画像符号化ストリームを復号し、ノンベースビュー画像を得る。
 例えば、このような多視点画像復号装置610の復号部612および復号部613として、上述した画像復号装置100を適用すればよい。このようにすることにより、多視点画像の符号化データの復号においても、第1の実施の形態において説明した方法を適用することができる。すなわち、多視点画像復号装置610は、多視点画像の符号化データの復号処理の負荷の増大を抑制することができる。
 <3.第3の実施の形態>
  <階層画像復号への適用>
 また、上述した一連の処理は、階層画像復号(スケーラブル復号)に適用することができる。図30は、階層画像符号化方式の一例を示す。
 階層画像符号化(スケーラブル符号化)は、画像データを、所定のパラメータについてスケーラビリティ(scalability)機能を有するように、画像を複数レイヤ化(階層化)し、レイヤ毎に符号化するものである。階層画像復号は、その階層画像符号化(スケーラブル復号)は、その階層画像符号化に対応する復号である。
 図30に示されるように、画像の階層化においては、スケーラビリティ機能を有する所定のパラメータを基準として1の画像が複数の画像(レイヤ)に分割される。つまり、階層化された画像(階層画像)は、その所定のパラメータの値が互いに異なる複数の階層(レイヤ)の画像を含む。この階層画像の複数のレイヤは、他のレイヤの画像を利用せずに自身のレイヤの画像のみを用いて符号化・復号を行うベースレイヤと、他のレイヤの画像を利用して符号化・復号を行うノンベースレイヤ(エンハンスメントレイヤとも称する)とによりなる。ノンベースレイヤは、ベースレイヤの画像を利用するようにしても良いし、他のノンベースレイヤの画像を利用するようにしてもよい。
 一般的に、ノンベースレイヤは、冗長性が低減されるように、自身の画像と、他のレイヤの画像との差分画像のデータ(差分データ)により構成される。例えば、1の画像をベースレイヤとノンベースレイヤ(エンハンスメントレイヤとも称する)に2階層化した場合、ベースレイヤのデータのみで元の画像よりも低品質な画像が得られ、ベースレイヤのデータとノンベースレイヤのデータを合成することで、元の画像(すなわち高品質な画像)が得られる。
 このように画像を階層化することにより、状況に応じて多様な品質の画像を容易に得ることができる。例えば携帯電話のような、処理能力の低い端末に対しては、ベースレイヤ(base layer)のみの画像圧縮情報を伝送し、空間時間解像度の低い、或いは、画質の良くない動画像を再生し、テレビやパーソナルコンピュータのような、処理能力の高い端末に対しては、ベースレイヤ(base layer)に加えて、エンハンスメントレイヤ(enhancement layer)の画像圧縮情報を伝送し、空間時間解像度の高い、或いは、画質の高い動画像を再生するといったように、トランスコード処理を行うことなく、端末やネットワークの能力に応じた画像圧縮情報を、サーバから送信することが可能となる。
 図30の例のような階層画像を符号化する場合、階層画像は、レイヤ毎に符号化される。そして、そのようにして得られた符号化データを復号する場合、各レイヤの符号化データは、それぞれ(すなわちレイヤ毎に)復号される。このような各レイヤの復号に対して、第1の実施の形態において上述した方法を適用するようにしてもよい。このようにすることにより、各レイヤの画像について、復号処理の負荷の増大を抑制することができる。つまり、階層画像の場合も同様に、復号処理の負荷の増大を抑制することができる。
  <階層画像符号化装置>
 図31は、上述した階層画像符号化を行う階層画像符号化装置を示す図である。図31に示されるように、階層画像符号化装置620は、符号化部621、符号化部622、および多重化部623を有する。
 符号化部621は、ベースレイヤ画像を符号化し、ベースレイヤ画像符号化ストリームを生成する。符号化部622は、ノンベースレイヤ画像を符号化し、ノンベースレイヤ画像符号化ストリームを生成する。多重化部623は、符号化部621において生成されたベースレイヤ画像符号化ストリームと、符号化部622において生成されたノンベースレイヤ画像符号化ストリームとを多重化し、階層画像符号化ストリームを生成する。
  <階層画像復号装置>
 図32は、上述した階層画像復号を行う階層画像復号装置を示す図である。図32に示されるように、階層画像復号装置630は、逆多重化部631、復号部632、および復号部633を有する。
 逆多重化部631は、ベースレイヤ画像符号化ストリームとノンベースレイヤ画像符号化ストリームとが多重化された階層画像符号化ストリームを逆多重化し、ベースレイヤ画像符号化ストリームと、ノンベースレイヤ画像符号化ストリームとを抽出する。復号部632は、逆多重化部631により抽出されたベースレイヤ画像符号化ストリームを復号し、ベースレイヤ画像を得る。復号部633は、逆多重化部631により抽出されたノンベースレイヤ画像符号化ストリームを復号し、ノンベースレイヤ画像を得る。
 例えば、このような階層画像復号装置630の復号部632および復号部633として、上述した画像復号装置100を適用すればよい。このようにすることにより、階層画像の符号化データの復号においても、第1の実施の形態において説明した方法を適用することができる。すなわち、階層画像復号装置630は、以上の各実施の形態において説明した各種方法で符号化された階層画像の符号化データを正しく復号することができる。したがって、階層画像復号装置630は、階層画像の符号化データの復号処理の負荷の増大を抑制することができる。
 <4.第4の実施の形態>
  <コンピュータ>
 上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここでコンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータ等が含まれる。
 図33は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
 図33に示されるコンピュータ800において、CPU(Central Processing Unit)801、ROM(Read Only Memory)802、RAM(Random Access Memory)803は、バス804を介して相互に接続されている。
 バス804にはまた、入出力インタフェース810も接続されている。入出力インタフェース810には、入力部811、出力部812、記憶部813、通信部814、およびドライブ815が接続されている。
 入力部811は、例えば、キーボード、マウス、マイクロホン、タッチパネル、入力端子などよりなる。出力部812は、例えば、ディスプレイ、スピーカ、出力端子などよりなる。記憶部813は、例えば、ハードディスク、RAMディスク、不揮発性のメモリなどよりなる。通信部814は、例えば、ネットワークインタフェースよりなる。ドライブ815は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブルメディア821を駆動する。
 以上のように構成されるコンピュータでは、CPU801が、例えば、記憶部813に記憶されているプログラムを、入出力インタフェース810およびバス804を介して、RAM803にロードして実行することにより、上述した一連の処理が行われる。RAM803にはまた、CPU801が各種の処理を実行する上において必要なデータなども適宜記憶される。
 コンピュータ(CPU801)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア821に記録して適用することができる。その場合、プログラムは、リムーバブルメディア821をドライブ815に装着することにより、入出力インタフェース810を介して、記憶部813にインストールすることができる。
 また、このプログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することもできる。その場合、プログラムは、通信部814で受信し、記憶部813にインストールすることができる。
 その他、このプログラムは、ROM802や記憶部813に、あらかじめインストールしておくこともできる。
 なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
 また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
 また、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、全ての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
 また、以上において、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。
 以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
 例えば、本技術は、1つの機能を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
 また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
 さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
 上述した実施形態に係る画像復号装置は、例えば、衛星放送、ケーブルTVなどの有線放送、インターネット上での配信、及びセルラー通信による端末への配信などにおける送信機若しくは受信機、光ディスク、磁気ディスク及びフラッシュメモリなどの媒体に画像を記録する記録装置、又は、これら記憶媒体から画像を再生する再生装置などの様々な電子機器に応用され得る。以下、4つの応用例について説明する。
 <5.第5の実施の形態>
  <第1の応用例:テレビジョン受像機>
 図34は、上述した実施形態を適用したテレビジョン装置の概略的な構成の一例を示している。テレビジョン装置900は、アンテナ901、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、表示部906、音声信号処理部907、スピーカ908、外部インタフェース(I/F)部909、制御部910、ユーザインタフェース(I/F)部911、及びバス912を備える。
 チューナ902は、アンテナ901を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ902は、復調により得られた符号化ビットストリームをデマルチプレクサ903へ出力する。即ち、チューナ902は、画像が符号化されている符号化ストリームを受信する、テレビジョン装置900における伝送部としての役割を有する。
 デマルチプレクサ903は、符号化ビットストリームから視聴対象の番組の映像ストリーム及び音声ストリームを分離し、分離した各ストリームをデコーダ904へ出力する。また、デマルチプレクサ903は、符号化ビットストリームからEPG(Electronic Program Guide)などの補助的なデータを抽出し、抽出したデータを制御部910に供給する。なお、デマルチプレクサ903は、符号化ビットストリームがスクランブルされている場合には、デスクランブルを行ってもよい。
 デコーダ904は、デマルチプレクサ903から入力される映像ストリーム及び音声ストリームを復号する。そして、デコーダ904は、復号処理により生成される映像データを映像信号処理部905へ出力する。また、デコーダ904は、復号処理により生成される音声データを音声信号処理部907へ出力する。
 映像信号処理部905は、デコーダ904から入力される映像データを再生し、表示部906に映像を表示させる。また、映像信号処理部905は、ネットワークを介して供給されるアプリケーション画面を表示部906に表示させてもよい。また、映像信号処理部905は、映像データについて、設定に応じて、例えばノイズ除去などの追加的な処理を行ってもよい。さらに、映像信号処理部905は、例えばメニュー、ボタン又はカーソルなどのGUI(Graphical User Interface)の画像を生成し、生成した画像を出力画像に重畳してもよい。
 表示部906は、映像信号処理部905から供給される駆動信号により駆動され、表示デバイス(例えば、液晶ディスプレイ、プラズマディスプレイ又はOELD(Organic ElectroLuminescence Display)(有機ELディスプレイ)など)の映像面上に映像又は画像を表示する。
 音声信号処理部907は、デコーダ904から入力される音声データについてD/A変換及び増幅などの再生処理を行い、スピーカ908から音声を出力させる。また、音声信号処理部907は、音声データについてノイズ除去などの追加的な処理を行ってもよい。
 外部インタフェース部909は、テレビジョン装置900と外部機器又はネットワークとを接続するためのインタフェースである。例えば、外部インタフェース部909を介して受信される映像ストリーム又は音声ストリームが、デコーダ904により復号されてもよい。即ち、外部インタフェース部909もまた、画像が符号化されている符号化ストリームを受信する、テレビジョン装置900における伝送部としての役割を有する。
 制御部910は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、プログラムデータ、EPGデータ、及びネットワークを介して取得されるデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、テレビジョン装置900の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース部911から入力される操作信号に応じて、テレビジョン装置900の動作を制御する。
 ユーザインタフェース部911は、制御部910と接続される。ユーザインタフェース部911は、例えば、ユーザがテレビジョン装置900を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース部911は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部910へ出力する。
 バス912は、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、音声信号処理部907、外部インタフェース部909及び制御部910を相互に接続する。
 このように構成されたテレビジョン装置900において、デコーダ904が、画像復号装置100の機能を有するようにしてもよい。つまり、デコーダ904が、符号化データを第1の実施の形態において説明した方法で復号するようにしてもよい。このようにすることにより、テレビジョン装置900は、受信した符号化ビットストリームの復号処理の負荷の増大を抑制することができる。
  <第2の応用例:携帯電話機>
 図35は、上述した実施形態を適用した携帯電話機の概略的な構成の一例を示している。携帯電話機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(Universal Serial Bus)メモリ、又はメモリカードなどの外部装着型の記憶媒体であってもよい。
 また、撮影モードにおいて、例えば、カメラ部926は、被写体を撮像して画像データを生成し、生成した画像データを画像処理部927へ出力する。画像処理部927は、カメラ部926から入力される画像データを符号化し、符号化ストリームを記録再生部929に供給し、その記憶媒体に書き込ませる。
 さらに、画像表示モードにおいて、記録再生部929は、記憶媒体に記録されている符号化ストリームを読み出して画像処理部927へ出力する。画像処理部927は、記録再生部929から入力される符号化ストリームを復号し、画像データを表示部930に供給し、その画像を表示させる。
 また、テレビ電話モードにおいて、例えば、多重分離部928は、画像処理部927により符号化された映像ストリームと、音声コーデック923から入力される音声ストリームとを多重化し、多重化したストリームを通信部922へ出力する。通信部922は、ストリームを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号を、アンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。これら送信信号及び受信信号には、符号化ビットストリームが含まれ得る。そして、通信部922は、受信信号を復調及び復号してストリームを復元し、復元したストリームを多重分離部928へ出力する。多重分離部928は、入力されるストリームから映像ストリーム及び音声ストリームを分離し、映像ストリームを画像処理部927、音声ストリームを音声コーデック923へ出力する。画像処理部927は、映像ストリームを復号し、映像データを生成する。映像データは、表示部930に供給され、表示部930により一連の画像が表示される。音声コーデック923は、音声ストリームを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック923は、生成した音声信号をスピーカ924に供給して音声を出力させる。
 このように構成された携帯電話機920において、例えば画像処理部927が、画像復号装置100の機能を有するようにしてもよい。つまり、画像処理部927が、符号化データを第1の実施の形態において説明した方法で復号するようにしてもよい。このようにすることにより、携帯電話機920は、符号化ストリーム(映像ストリーム)の復号処理の負荷の増大を抑制することができる。
  <第3の応用例:記録再生装置>
 図36は、上述した実施形態を適用した記録再生装置の概略的な構成の一例を示している。記録再生装置940は、例えば、受信した放送番組の音声データ及び映像データを符号化して記録媒体に記録する。また、記録再生装置940は、例えば、他の装置から取得される音声データ及び映像データを符号化して記録媒体に記録してもよい。また、記録再生装置940は、例えば、ユーザの指示に応じて、記録媒体に記録されているデータをモニタ及びスピーカ上で再生する。このとき、記録再生装置940は、音声データおよび映像データを復号する。
 記録再生装置940は、チューナ941、外部インタフェース(I/F)部942、エンコーダ943、HDD(Hard Disk Drive)944、ディスクドライブ945、セレクタ946、デコーダ947、OSD(On-Screen Display)948、制御部949、およびユーザインタフェース(I/F)部950を備える。
 チューナ941は、アンテナ(図示せず)を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ941は、復調により得られた符号化ビットストリームをセレクタ946へ出力する。即ち、チューナ941は、記録再生装置940における伝送部としての役割を有する。
 外部インタフェース部942は、記録再生装置940と外部機器又はネットワークとを接続するためのインタフェースである。外部インタフェース部942は、例えば、IEEE(Institute of Electrical and Electronic Engineers)1394インタフェース、ネットワークインタフェース、USBインタフェース、又はフラッシュメモリインタフェースなどであってよい。例えば、外部インタフェース部942を介して受信される映像データおよび音声データは、エンコーダ943へ入力される。即ち、外部インタフェース部942は、記録再生装置940における伝送部としての役割を有する。
 エンコーダ943は、外部インタフェース部942から入力される映像データおよび音声データが符号化されていない場合に、映像データおよび音声データを符号化する。そして、エンコーダ943は、符号化ビットストリームをセレクタ946へ出力する。
 HDD944は、映像および音声などのコンテンツデータが圧縮された符号化ビットストリーム、各種プログラムおよびその他のデータを内部のハードディスクに記録する。また、HDD944は、映像および音声の再生時に、これらデータをハードディスクから読み出す。
 ディスクドライブ945は、装着されている記録媒体へのデータの記録および読み出しを行う。ディスクドライブ945に装着される記録媒体は、例えばDVD(Digital Versatile Disc)ディスク(DVD-Video、DVD-RAM(DVD - Random Access Memory)、DVD-R(DVD - Recordable)、DVD-RW(DVD - Rewritable)、DVD+R(DVD + Recordable)、DVD+RW(DVD + Rewritable)等)又はBlu-ray(登録商標)ディスクなどであってよい。
 セレクタ946は、映像および音声の記録時には、チューナ941又はエンコーダ943から入力される符号化ビットストリームを選択し、選択した符号化ビットストリームをHDD944又はディスクドライブ945へ出力する。また、セレクタ946は、映像及び音声の再生時には、HDD944又はディスクドライブ945から入力される符号化ビットストリームをデコーダ947へ出力する。
 デコーダ947は、符号化ビットストリームを復号し、映像データ及び音声データを生成する。そして、デコーダ947は、生成した映像データをOSD948へ出力する。また、デコーダ947は、生成した音声データを外部のスピーカへ出力する。
 OSD948は、デコーダ947から入力される映像データを再生し、映像を表示する。また、OSD948は、表示する映像に、例えばメニュー、ボタン又はカーソルなどのGUIの画像を重畳してもよい。
 制御部949は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、記録再生装置940の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース部950から入力される操作信号に応じて、記録再生装置940の動作を制御する。
 ユーザインタフェース部950は、制御部949と接続される。ユーザインタフェース部950は、例えば、ユーザが記録再生装置940を操作するためのボタンおよびスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース部950は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部949へ出力する。
 このように構成された記録再生装置940において、例えばデコーダ947が、画像復号装置100の機能を有するようにしてもよい。つまり、デコーダ947が、符号化データを第1の実施の形態において説明した方法で復号するようにしてもよい。このようにすることにより、記録再生装置940は、符号化ビットストリームの復号処理の負荷の増大を抑制することができる。
  <第4の応用例:撮像装置>
 図37は、上述した実施形態を適用した撮像装置の概略的な構成の一例を示している。撮像装置960は、被写体を撮像して画像を生成し、画像データを符号化して記録媒体に記録する。
 撮像装置960は、光学ブロック961、撮像部962、信号処理部963、画像処理部964、表示部965、外部インタフェース(I/F)部966、メモリ部967、メディアドライブ968、OSD969、制御部970、ユーザインタフェース(I/F)部971、およびバス972を備える。
 光学ブロック961は、撮像部962に接続される。撮像部962は、信号処理部963に接続される。表示部965は、画像処理部964に接続される。ユーザインタフェース部971は、制御部970に接続される。バス972は、画像処理部964、外部インタフェース部966、メモリ部967、メディアドライブ968、OSD969、および制御部970を相互に接続する。
 光学ブロック961は、フォーカスレンズ及び絞り機構などを有する。光学ブロック961は、被写体の光学像を撮像部962の撮像面に結像させる。撮像部962は、CCD(Charge Coupled Device)又はCMOS(Complementary Metal Oxide Semiconductor)などのイメージセンサを有し、撮像面に結像した光学像を光電変換によって電気信号としての画像信号に変換する。そして、撮像部962は、画像信号を信号処理部963へ出力する。
 信号処理部963は、撮像部962から入力される画像信号に対してニー補正、ガンマ補正、色補正などの種々のカメラ信号処理を行う。信号処理部963は、カメラ信号処理後の画像データを画像処理部964へ出力する。
 画像処理部964は、信号処理部963から入力される画像データを符号化し、符号化データを生成する。そして、画像処理部964は、生成した符号化データを外部インタフェース部966またはメディアドライブ968へ出力する。また、画像処理部964は、外部インタフェース部966またはメディアドライブ968から入力される符号化データを復号し、画像データを生成する。そして、画像処理部964は、生成した画像データを表示部965へ出力する。また、画像処理部964は、信号処理部963から入力される画像データを表示部965へ出力して画像を表示させてもよい。また、画像処理部964は、OSD969から取得される表示用データを、表示部965へ出力する画像に重畳してもよい。
 OSD969は、例えばメニュー、ボタン又はカーソルなどのGUIの画像を生成して、生成した画像を画像処理部964へ出力する。
 外部インタフェース部966は、例えばUSB入出力端子として構成される。外部インタフェース部966は、例えば、画像の印刷時に、撮像装置960とプリンタとを接続する。また、外部インタフェース部966には、必要に応じてドライブが接続される。ドライブには、例えば、磁気ディスク又は光ディスクなどのリムーバブルメディアが装着され、リムーバブルメディアから読み出されるプログラムが、撮像装置960にインストールされ得る。さらに、外部インタフェース部966は、LAN又はインターネットなどのネットワークに接続されるネットワークインタフェースとして構成されてもよい。即ち、外部インタフェース部966は、撮像装置960における伝送部としての役割を有する。
 メディアドライブ968に装着される記録媒体は、例えば、磁気ディスク、光磁気ディスク、光ディスク、又は半導体メモリなどの、読み書き可能な任意のリムーバブルメディアであってよい。また、メディアドライブ968に記録媒体が固定的に装着され、例えば、内蔵型ハードディスクドライブ又はSSD(Solid State Drive)のような非可搬性の記憶部が構成されてもよい。
 制御部970は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、撮像装置960の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース部971から入力される操作信号に応じて、撮像装置960の動作を制御する。
 ユーザインタフェース部971は、制御部970と接続される。ユーザインタフェース部971は、例えば、ユーザが撮像装置960を操作するためのボタン及びスイッチなどを有する。ユーザインタフェース部971は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部970へ出力する。
 このように構成された撮像装置960において、例えば画像処理部964が、画像復号装置100の機能を有するようにしてもよい。つまり、画像処理部964が、符号化データを第1の実施の形態において説明した方法で復号するようにしてもよい。このようにすることにより、撮像装置960は、符号化データの復号処理の負荷の増大を抑制することができる。
 なお、本技術は、予め用意された解像度等が互いに異なる複数の符号化データの中から適切なものをセグメント単位で選択して使用する、例えばMPEG DASH等のようなHTTPストリーミングにも適用することができる。つまり、このような複数の符号化データ間で、符号化や復号に関する情報を共有することもできる。
 <6.第6の実施の形態>
  <実施のその他の例>
 以上において本技術を適用する装置やシステム等の例を説明したが、本技術は、これに限らず、このような装置またはシステムを構成する装置に搭載するあらゆる構成、例えば、システムLSI(Large Scale Integration)等としてのプロセッサ、複数のプロセッサ等を用いるモジュール、複数のモジュール等を用いるユニット、ユニットにさらにその他の機能を付加したセット等(すなわち、装置の一部の構成)として実施することもできる。
  <ビデオセット>
 本技術をセットとして実施する場合の例について、図38を参照して説明する。図38は、本技術を適用したビデオセットの概略的な構成の一例を示している。
 近年、電子機器の多機能化が進んでおり、その開発や製造において、その一部の構成を販売や提供等として実施する場合、1機能を有する構成として実施を行う場合だけでなく、関連する機能を有する複数の構成を組み合わせ、複数の機能を有する1セットとして実施を行う場合も多く見られるようになってきた。
 図38に示されるビデオセット1300は、このような多機能化された構成であり、画像の符号化や復号(いずれか一方でもよいし、両方でも良い)に関する機能を有するデバイスに、その機能に関連するその他の機能を有するデバイスを組み合わせたものである。
 図38に示されるように、ビデオセット1300は、ビデオモジュール1311、外部メモリ1312、パワーマネージメントモジュール1313、およびフロントエンドモジュール1314等のモジュール群と、コネクティビティ1321、カメラ1322、およびセンサ1323等の関連する機能を有するデバイスとを有する。
 モジュールは、互いに関連するいくつかの部品的機能をまとめ、まとまりのある機能を持った部品としたものである。具体的な物理的構成は任意であるが、例えば、それぞれ機能を有する複数のプロセッサ、抵抗やコンデンサ等の電子回路素子、その他のデバイス等を配線基板等に配置して一体化したものが考えられる。また、モジュールに他のモジュールやプロセッサ等を組み合わせて新たなモジュールとすることも考えられる。
 図38の例の場合、ビデオモジュール1311は、画像処理に関する機能を有する構成を組み合わせたものであり、アプリケーションプロセッサ、ビデオプロセッサ、ブロードバンドモデム1333、およびRFモジュール1334を有する。
 プロセッサは、所定の機能を有する構成をSoC(System On a Chip)により半導体チップに集積したものであり、例えばシステムLSI(Large Scale Integration)等と称されるものもある。この所定の機能を有する構成は、論理回路(ハードウエア構成)であってもよいし、CPU、ROM、RAM等と、それらを用いて実行されるプログラム(ソフトウエア構成)であってもよいし、その両方を組み合わせたものであってもよい。例えば、プロセッサが、論理回路とCPU、ROM、RAM等とを有し、機能の一部を論理回路(ハードウエア構成)により実現し、その他の機能をCPUにおいて実行されるプログラム(ソフトウエア構成)により実現するようにしてもよい。
 図38のアプリケーションプロセッサ1331は、画像処理に関するアプリケーションを実行するプロセッサである。このアプリケーションプロセッサ1331において実行されるアプリケーションは、所定の機能を実現するために、演算処理を行うだけでなく、例えばビデオプロセッサ1332等、ビデオモジュール1311内外の構成を必要に応じて制御することもできる。
 ビデオプロセッサ1332は、画像の符号化・復号(その一方若しくは両方)に関する機能を有するプロセッサである。
 ブロードバンドモデム1333は、インターネットや公衆電話回線網等の広帯域の回線を介して行われる有線若しくは無線(またはその両方)の広帯域通信により送信するデータ(デジタル信号)をデジタル変調する等してアナログ信号に変換したり、その広帯域通信により受信したアナログ信号を復調してデータ(デジタル信号)に変換したりする。ブロードバンドモデム1333は、例えば、ビデオプロセッサ1332が処理する画像データ、画像データが符号化されたストリーム、アプリケーションプログラム、設定データ等、任意の情報を処理する。
 RFモジュール1334は、アンテナを介して送受信されるRF(Radio Frequency)信号に対して、周波数変換、変復調、増幅、フィルタ処理等を行うモジュールである。例えば、RFモジュール1334は、ブロードバンドモデム1333により生成されたベースバンド信号に対して周波数変換等を行ってRF信号を生成する。また、例えば、RFモジュール1334は、フロントエンドモジュール1314を介して受信されたRF信号に対して周波数変換等を行ってベースバンド信号を生成する。
 なお、図38において点線1341に示されるように、アプリケーションプロセッサ1331とビデオプロセッサ1332を、一体化し、1つのプロセッサとして構成されるようにしてもよい。
 外部メモリ1312は、ビデオモジュール1311の外部に設けられた、ビデオモジュール1311により利用される記憶デバイスを有するモジュールである。この外部メモリ1312の記憶デバイスは、どのような物理構成により実現するようにしてもよいが、一般的にフレーム単位の画像データのような大容量のデータの格納に利用されることが多いので、例えばDRAM(Dynamic Random Access Memory)のような比較的安価で大容量の半導体メモリにより実現するのが望ましい。
 パワーマネージメントモジュール1313は、ビデオモジュール1311(ビデオモジュール1311内の各構成)への電力供給を管理し、制御する。
 フロントエンドモジュール1314は、RFモジュール1334に対してフロントエンド機能(アンテナ側の送受信端の回路)を提供するモジュールである。図38に示されるように、フロントエンドモジュール1314は、例えば、アンテナ部1351、フィルタ1352、および増幅部1353を有する。
 アンテナ部1351は、無線信号を送受信するアンテナおよびその周辺の構成を有する。アンテナ部1351は、増幅部1353から供給される信号を無線信号として送信し、受信した無線信号を電気信号(RF信号)としてフィルタ1352に供給する。フィルタ1352は、アンテナ部1351を介して受信されたRF信号に対してフィルタ処理等を行い、処理後のRF信号をRFモジュール1334に供給する。増幅部1353は、RFモジュール1334から供給されるRF信号を増幅し、アンテナ部1351に供給する。
 コネクティビティ1321は、外部との接続に関する機能を有するモジュールである。コネクティビティ1321の物理構成は、任意である。例えば、コネクティビティ1321は、ブロードバンドモデム1333が対応する通信規格以外の通信機能を有する構成や、外部入出力端子等を有する。
 例えば、コネクティビティ1321が、Bluetooth(登録商標)、IEEE 802.11(例えばWi-Fi(Wireless Fidelity、登録商標))、NFC(Near Field Communication)、IrDA(InfraRed Data Association)等の無線通信規格に準拠する通信機能を有するモジュールや、その規格に準拠した信号を送受信するアンテナ等を有するようにしてもよい。また、例えば、コネクティビティ1321が、USB(Universal Serial Bus)、HDMI(登録商標)(High-Definition Multimedia Interface)等の有線通信規格に準拠する通信機能を有するモジュールや、その規格に準拠した端子を有するようにしてもよい。さらに、例えば、コネクティビティ1321が、アナログ入出力端子等のその他のデータ(信号)伝送機能等を有するようにしてもよい。
 なお、コネクティビティ1321が、データ(信号)の伝送先のデバイスを含むようにしてもよい。例えば、コネクティビティ1321が、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等の記録媒体に対してデータの読み出しや書き込みを行うドライブ(リムーバブルメディアのドライブだけでなく、ハードディスク、SSD(Solid State Drive)、NAS(Network Attached Storage)等も含む)を有するようにしてもよい。また、コネクティビティ1321が、画像や音声の出力デバイス(モニタやスピーカ等)を有するようにしてもよい。
 カメラ1322は、被写体を撮像し、被写体の画像データを得る機能を有するモジュールである。カメラ1322の撮像により得られた画像データは、例えば、ビデオプロセッサ1332に供給されて符号化される。
 センサ1323は、例えば、音声センサ、超音波センサ、光センサ、照度センサ、赤外線センサ、イメージセンサ、回転センサ、角度センサ、角速度センサ、速度センサ、加速度センサ、傾斜センサ、磁気識別センサ、衝撃センサ、温度センサ等、任意のセンサ機能を有するモジュールである。センサ1323により検出されたデータは、例えば、アプリケーションプロセッサ1331に供給されてアプリケーション等により利用される。
 以上においてモジュールとして説明した構成をプロセッサとして実現するようにしてもよいし、逆にプロセッサとして説明した構成をモジュールとして実現するようにしてもよい。
 以上のような構成のビデオセット1300において、後述するようにビデオプロセッサ1332に本技術を適用することができる。したがって、ビデオセット1300は、本技術を適用したセットとして実施することができる。
  <ビデオプロセッサの構成例>
 図39は、本技術を適用したビデオプロセッサ1332(図38)の概略的な構成の一例を示している。
 図39の例の場合、ビデオプロセッサ1332は、ビデオ信号およびオーディオ信号の入力を受けてこれらを所定の方式で符号化する機能と、符号化されたビデオデータおよびオーディオデータを復号し、ビデオ信号およびオーディオ信号を再生出力する機能とを有する。
 図39に示されるように、ビデオプロセッサ1332は、ビデオ入力処理部1401、第1画像拡大縮小部1402、第2画像拡大縮小部1403、ビデオ出力処理部1404、フレームメモリ1405、およびメモリ制御部1406を有する。また、ビデオプロセッサ1332は、エンコード・デコードエンジン1407、ビデオES(Elementary Stream)バッファ1408Aおよび1408B、並びに、オーディオESバッファ1409Aおよび1409Bを有する。さらに、ビデオプロセッサ1332は、オーディオエンコーダ1410、オーディオデコーダ1411、多重化部(MUX(Multiplexer))1412、逆多重化部(DMUX(Demultiplexer))1413、およびストリームバッファ1414を有する。
 ビデオ入力処理部1401は、例えばコネクティビティ1321(図38)等から入力されたビデオ信号を取得し、デジタル画像データに変換する。第1画像拡大縮小部1402は、画像データに対してフォーマット変換や画像の拡大縮小処理等を行う。第2画像拡大縮小部1403は、画像データに対して、ビデオ出力処理部1404を介して出力する先でのフォーマットに応じて画像の拡大縮小処理を行ったり、第1画像拡大縮小部1402と同様のフォーマット変換や画像の拡大縮小処理等を行ったりする。ビデオ出力処理部1404は、画像データに対して、フォーマット変換やアナログ信号への変換等を行って、再生されたビデオ信号として例えばコネクティビティ1321等に出力する。
 フレームメモリ1405は、ビデオ入力処理部1401、第1画像拡大縮小部1402、第2画像拡大縮小部1403、ビデオ出力処理部1404、およびエンコード・デコードエンジン1407によって共用される画像データ用のメモリである。フレームメモリ1405は、例えばDRAM等の半導体メモリとして実現される。
 メモリ制御部1406は、エンコード・デコードエンジン1407からの同期信号を受けて、アクセス管理テーブル1406Aに書き込まれたフレームメモリ1405へのアクセススケジュールに従ってフレームメモリ1405に対する書き込み・読み出しのアクセスを制御する。アクセス管理テーブル1406Aは、エンコード・デコードエンジン1407、第1画像拡大縮小部1402、第2画像拡大縮小部1403等で実行される処理に応じて、メモリ制御部1406により更新される。
 エンコード・デコードエンジン1407は、画像データのエンコード処理、並びに、画像データが符号化されたデータであるビデオストリームのデコード処理を行う。例えば、エンコード・デコードエンジン1407は、フレームメモリ1405から読み出した画像データを符号化し、ビデオストリームとしてビデオESバッファ1408Aに順次書き込む。また、例えば、ビデオESバッファ1408Bからビデオストリームを順次読み出して復号し、画像データとしてフレームメモリ1405に順次書き込む。エンコード・デコードエンジン1407は、これらの符号化や復号において、フレームメモリ1405を作業領域として使用する。また、エンコード・デコードエンジン1407は、例えばマクロブロック毎の処理を開始するタイミングで、メモリ制御部1406に対して同期信号を出力する。
 ビデオESバッファ1408Aは、エンコード・デコードエンジン1407によって生成されたビデオストリームをバッファリングして、多重化部(MUX)1412に供給する。ビデオESバッファ1408Bは、逆多重化部(DMUX)1413から供給されたビデオストリームをバッファリングして、エンコード・デコードエンジン1407に供給する。
 オーディオESバッファ1409Aは、オーディオエンコーダ1410によって生成されたオーディオストリームをバッファリングして、多重化部(MUX)1412に供給する。オーディオESバッファ1409Bは、逆多重化部(DMUX)1413から供給されたオーディオストリームをバッファリングして、オーディオデコーダ1411に供給する。
 オーディオエンコーダ1410は、例えばコネクティビティ1321等から入力されたオーディオ信号を例えばデジタル変換し、例えばMPEGオーディオ方式やAC3(AudioCode number 3)方式等の所定の方式で符号化する。オーディオエンコーダ1410は、オーディオ信号が符号化されたデータであるオーディオストリームをオーディオESバッファ1409Aに順次書き込む。オーディオデコーダ1411は、オーディオESバッファ1409Bから供給されたオーディオストリームを復号し、例えばアナログ信号への変換等を行って、再生されたオーディオ信号として例えばコネクティビティ1321等に供給する。
 多重化部(MUX)1412は、ビデオストリームとオーディオストリームとを多重化する。この多重化の方法(すなわち、多重化により生成されるビットストリームのフォーマット)は任意である。また、この多重化の際に、多重化部(MUX)1412は、所定のヘッダ情報等をビットストリームに付加することもできる。つまり、多重化部(MUX)1412は、多重化によりストリームのフォーマットを変換することができる。例えば、多重化部(MUX)1412は、ビデオストリームとオーディオストリームとを多重化することにより、転送用のフォーマットのビットストリームであるトランスポートストリームに変換する。また、例えば、多重化部(MUX)1412は、ビデオストリームとオーディオストリームとを多重化することにより、記録用のファイルフォーマットのデータ(ファイルデータ)に変換する。
 逆多重化部(DMUX)1413は、多重化部(MUX)1412による多重化に対応する方法で、ビデオストリームとオーディオストリームとが多重化されたビットストリームを逆多重化する。つまり、逆多重化部(DMUX)1413は、ストリームバッファ1414から読み出されたビットストリームからビデオストリームとオーディオストリームとを抽出する(ビデオストリームとオーディオストリームとを分離する)。つまり、逆多重化部(DMUX)1413は、逆多重化によりストリームのフォーマットを変換(多重化部(MUX)1412による変換の逆変換)することができる。例えば、逆多重化部(DMUX)1413は、例えばコネクティビティ1321やブロードバンドモデム1333等から供給されたトランスポートストリームを、ストリームバッファ1414を介して取得し、逆多重化することにより、ビデオストリームとオーディオストリームとに変換することができる。また、例えば、逆多重化部(DMUX)1413は、例えばコネクティビティ1321により各種記録媒体から読み出されたファイルデータを、ストリームバッファ1414を介して取得し、逆多重化することにより、ビデオストリームとオーディオストリームとに変換することができる。
 ストリームバッファ1414は、ビットストリームをバッファリングする。例えば、ストリームバッファ1414は、多重化部(MUX)1412から供給されたトランスポートストリームをバッファリングし、所定のタイミングにおいて、若しくは外部からの要求等に基づいて、例えばコネクティビティ1321やブロードバンドモデム1333等に供給する。
 また、例えば、ストリームバッファ1414は、多重化部(MUX)1412から供給されたファイルデータをバッファリングし、所定のタイミングにおいて、若しくは外部からの要求等に基づいて、例えばコネクティビティ1321等に供給し、各種記録媒体に記録させる。
 さらに、ストリームバッファ1414は、例えばコネクティビティ1321やブロードバンドモデム1333等を介して取得したトランスポートストリームをバッファリングし、所定のタイミングにおいて、若しくは外部からの要求等に基づいて、逆多重化部(DMUX)1413に供給する。
 また、ストリームバッファ1414は、例えばコネクティビティ1321等において各種記録媒体から読み出されたファイルデータをバッファリングし、所定のタイミングにおいて、若しくは外部からの要求等に基づいて、逆多重化部(DMUX)1413に供給する。
 次に、このような構成のビデオプロセッサ1332の動作の例について説明する。例えば、コネクティビティ1321等からビデオプロセッサ1332に入力されたビデオ信号は、ビデオ入力処理部1401において4:2:2Y/Cb/Cr方式等の所定の方式のデジタル画像データに変換され、フレームメモリ1405に順次書き込まれる。このデジタル画像データは、第1画像拡大縮小部1402または第2画像拡大縮小部1403に読み出されて、4:2:0Y/Cb/Cr方式等の所定の方式へのフォーマット変換および拡大縮小処理が行われ、再びフレームメモリ1405に書き込まれる。この画像データは、エンコード・デコードエンジン1407によって符号化され、ビデオストリームとしてビデオESバッファ1408Aに書き込まれる。
 また、コネクティビティ1321等からビデオプロセッサ1332に入力されたオーディオ信号は、オーディオエンコーダ1410によって符号化され、オーディオストリームとして、オーディオESバッファ1409Aに書き込まれる。
 ビデオESバッファ1408Aのビデオストリームと、オーディオESバッファ1409Aのオーディオストリームは、多重化部(MUX)1412に読み出されて多重化され、トランスポートストリーム若しくはファイルデータ等に変換される。多重化部(MUX)1412により生成されたトランスポートストリームは、ストリームバッファ1414にバッファされた後、例えばコネクティビティ1321やブロードバンドモデム1333等を介して外部ネットワークに出力される。また、多重化部(MUX)1412により生成されたファイルデータは、ストリームバッファ1414にバッファされた後、例えばコネクティビティ1321等に出力され、各種記録媒体に記録される。
 また、例えばコネクティビティ1321やブロードバンドモデム1333等を介して外部ネットワークからビデオプロセッサ1332に入力されたトランスポートストリームは、ストリームバッファ1414にバッファされた後、逆多重化部(DMUX)1413により逆多重化される。また、例えばコネクティビティ1321等において各種記録媒体から読み出され、ビデオプロセッサ1332に入力されたファイルデータは、ストリームバッファ1414にバッファされた後、逆多重化部(DMUX)1413により逆多重化される。つまり、ビデオプロセッサ1332に入力されたトランスポートストリームまたはファイルデータは、逆多重化部(DMUX)1413によりビデオストリームとオーディオストリームとに分離される。
 オーディオストリームは、オーディオESバッファ1409Bを介してオーディオデコーダ1411に供給され、復号されてオーディオ信号が再生される。また、ビデオストリームは、ビデオESバッファ1408Bに書き込まれた後、エンコード・デコードエンジン1407により順次読み出されて復号されてフレームメモリ1405に書き込まれる。復号された画像データは、第2画像拡大縮小部1403によって拡大縮小処理されて、フレームメモリ1405に書き込まれる。そして、復号された画像データは、ビデオ出力処理部1404に読み出されて、4:2:2Y/Cb/Cr方式等の所定の方式にフォーマット変換され、さらにアナログ信号に変換されて、ビデオ信号が再生出力される。
 このように構成されるビデオプロセッサ1332に本技術を適用する場合、エンコード・デコードエンジン1407に、上述した各実施形態に係る本技術を適用すればよい。つまり、例えば、エンコード・デコードエンジン1407が、上述した画像復号装置100の機能を有するようにすればよい。このようにすることにより、ビデオプロセッサ1332は、図1乃至図26を参照して上述した効果と同様の効果を得ることができる。
 なお、エンコード・デコードエンジン1407において、本技術(すなわち、画像復号装置100の機能)は、論理回路等のハードウエアにより実現するようにしてもよいし、組み込みプログラム等のソフトウエアにより実現するようにしてもよいし、それらの両方により実現するようにしてもよい。
  <ビデオプロセッサの他の構成例>
 図40は、本技術を適用したビデオプロセッサ1332の概略的な構成の他の例を示している。図40の例の場合、ビデオプロセッサ1332は、ビデオデータを所定の方式で符号化・復号する機能を有する。
 より具体的には、図40に示されるように、ビデオプロセッサ1332は、制御部1511、ディスプレイインタフェース1512、ディスプレイエンジン1513、画像処理エンジン1514、および内部メモリ1515を有する。また、ビデオプロセッサ1332は、コーデックエンジン1516、メモリインタフェース1517、多重化・逆多重化部(MUX DMUX)1518、ネットワークインタフェース1519、およびビデオインタフェース1520を有する。
 制御部1511は、ディスプレイインタフェース1512、ディスプレイエンジン1513、画像処理エンジン1514、およびコーデックエンジン1516等、ビデオプロセッサ1332内の各処理部の動作を制御する。
 図40に示されるように、制御部1511は、例えば、メインCPU1531、サブCPU1532、およびシステムコントローラ1533を有する。メインCPU1531は、ビデオプロセッサ1332内の各処理部の動作を制御するためのプログラム等を実行する。メインCPU1531は、そのプログラム等に従って制御信号を生成し、各処理部に供給する(つまり、各処理部の動作を制御する)。サブCPU1532は、メインCPU1531の補助的な役割を果たす。例えば、サブCPU1532は、メインCPU1531が実行するプログラム等の子プロセスやサブルーチン等を実行する。システムコントローラ1533は、メインCPU1531およびサブCPU1532が実行するプログラムを指定する等、メインCPU1531およびサブCPU1532の動作を制御する。
 ディスプレイインタフェース1512は、制御部1511の制御の下、画像データを例えばコネクティビティ1321等に出力する。例えば、ディスプレイインタフェース1512は、デジタルデータの画像データをアナログ信号に変換し、再生されたビデオ信号として、またはデジタルデータの画像データのまま、コネクティビティ1321のモニタ装置等に出力する。
 ディスプレイエンジン1513は、制御部1511の制御の下、画像データに対して、その画像を表示させるモニタ装置等のハードウエアスペックに合わせるように、フォーマット変換、サイズ変換、色域変換等の各種変換処理を行う。
 画像処理エンジン1514は、制御部1511の制御の下、画像データに対して、例えば画質改善のためのフィルタ処理等、所定の画像処理を施す。
 内部メモリ1515は、ディスプレイエンジン1513、画像処理エンジン1514、およびコーデックエンジン1516により共用される、ビデオプロセッサ1332の内部に設けられたメモリである。内部メモリ1515は、例えば、ディスプレイエンジン1513、画像処理エンジン1514、およびコーデックエンジン1516の間で行われるデータの授受に利用される。例えば、内部メモリ1515は、ディスプレイエンジン1513、画像処理エンジン1514、またはコーデックエンジン1516から供給されるデータを格納し、必要に応じて(例えば、要求に応じて)、そのデータを、ディスプレイエンジン1513、画像処理エンジン1514、またはコーデックエンジン1516に供給する。この内部メモリ1515は、どのような記憶デバイスにより実現するようにしてもよいが、一般的にブロック単位の画像データやパラメータ等といった小容量のデータの格納に利用することが多いので、例えばSRAM(Static Random Access Memory)のような比較的(例えば外部メモリ1312と比較して)小容量だが応答速度が高速な半導体メモリにより実現するのが望ましい。
 コーデックエンジン1516は、画像データの符号化や復号に関する処理を行う。このコーデックエンジン1516が対応する符号化・復号の方式は任意であり、その数は1つであってもよいし、複数であってもよい。例えば、コーデックエンジン1516は、複数の符号化・復号方式のコーデック機能を備え、その中から選択されたもので画像データの符号化若しくは符号化データの復号を行うようにしてもよい。
 図40に示される例において、コーデックエンジン1516は、コーデックに関する処理の機能ブロックとして、例えば、MPEG-2 Video1541、AVC/H.2641542、HEVC/H.2651543、HEVC/H.265(Scalable)1544、HEVC/H.265(Multi-view)1545、およびMPEG-DASH1551を有する。
 MPEG-2 Video1541は、画像データをMPEG-2方式で符号化したり復号したりする機能ブロックである。AVC/H.2641542は、画像データをAVC方式で符号化したり復号したりする機能ブロックである。HEVC/H.2651543は、画像データをHEVC方式で符号化したり復号したりする機能ブロックである。HEVC/H.265(Scalable)1544は、画像データをHEVC方式でスケーラブル符号化したりスケーラブル復号したりする機能ブロックである。HEVC/H.265(Multi-view)1545は、画像データをHEVC方式で多視点符号化したり多視点復号したりする機能ブロックである。
 MPEG-DASH1551は、画像データをMPEG-DASH(MPEG-Dynamic Adaptive Streaming over HTTP)方式で送受信する機能ブロックである。MPEG-DASHは、HTTP(HyperText Transfer Protocol)を使ってビデオのストリーミングを行う技術であり、予め用意された解像度等が互いに異なる複数の符号化データの中から適切なものをセグメント単位で選択し伝送することを特徴の1つとする。MPEG-DASH1551は、規格に準拠するストリームの生成やそのストリームの伝送制御等を行い、画像データの符号化・復号については、上述したMPEG-2 Video1541乃至HEVC/H.265(Multi-view)1545を利用する。
 メモリインタフェース1517は、外部メモリ1312用のインタフェースである。画像処理エンジン1514やコーデックエンジン1516から供給されるデータは、メモリインタフェース1517を介して外部メモリ1312に供給される。また、外部メモリ1312から読み出されたデータは、メモリインタフェース1517を介してビデオプロセッサ1332(画像処理エンジン1514若しくはコーデックエンジン1516)に供給される。
 多重化・逆多重化部(MUX DMUX)1518は、符号化データのビットストリーム、画像データ、ビデオ信号等、画像に関する各種データの多重化や逆多重化を行う。この多重化・逆多重化の方法は任意である。例えば、多重化の際に、多重化・逆多重化部(MUX DMUX)1518は、複数のデータを1つにまとめるだけでなく、所定のヘッダ情報等をそのデータに付加することもできる。また、逆多重化の際に、多重化・逆多重化部(MUX DMUX)1518は、1つのデータを複数に分割するだけでなく、分割した各データに所定のヘッダ情報等を付加することもできる。つまり、多重化・逆多重化部(MUX DMUX)1518は、多重化・逆多重化によりデータのフォーマットを変換することができる。例えば、多重化・逆多重化部(MUX DMUX)1518は、ビットストリームを多重化することにより、転送用のフォーマットのビットストリームであるトランスポートストリームや、記録用のファイルフォーマットのデータ(ファイルデータ)に変換することができる。もちろん、逆多重化によりその逆変換も可能である。
 ネットワークインタフェース1519は、例えばブロードバンドモデム1333やコネクティビティ1321等向けのインタフェースである。ビデオインタフェース1520は、例えばコネクティビティ1321やカメラ1322等向けのインタフェースである。
 次に、このようなビデオプロセッサ1332の動作の例について説明する。例えば、コネクティビティ1321やブロードバンドモデム1333等を介して外部ネットワークからトランスポートストリームを受信すると、そのトランスポートストリームは、ネットワークインタフェース1519を介して多重化・逆多重化部(MUX DMUX)1518に供給されて逆多重化され、コーデックエンジン1516により復号される。コーデックエンジン1516の復号により得られた画像データは、例えば、画像処理エンジン1514により所定の画像処理が施され、ディスプレイエンジン1513により所定の変換が行われ、ディスプレイインタフェース1512を介して例えばコネクティビティ1321等に供給され、その画像がモニタに表示される。また、例えば、コーデックエンジン1516の復号により得られた画像データは、コーデックエンジン1516により再符号化され、多重化・逆多重化部(MUX DMUX)1518により多重化されてファイルデータに変換され、ビデオインタフェース1520を介して例えばコネクティビティ1321等に出力され、各種記録媒体に記録される。
 さらに、例えば、コネクティビティ1321等により図示せぬ記録媒体から読み出された、画像データが符号化された符号化データのファイルデータは、ビデオインタフェース1520を介して多重化・逆多重化部(MUX DMUX)1518に供給されて逆多重化され、コーデックエンジン1516により復号される。コーデックエンジン1516の復号により得られた画像データは、画像処理エンジン1514により所定の画像処理が施され、ディスプレイエンジン1513により所定の変換が行われ、ディスプレイインタフェース1512を介して例えばコネクティビティ1321等に供給され、その画像がモニタに表示される。また、例えば、コーデックエンジン1516の復号により得られた画像データは、コーデックエンジン1516により再符号化され、多重化・逆多重化部(MUX DMUX)1518により多重化されてトランスポートストリームに変換され、ネットワークインタフェース1519を介して例えばコネクティビティ1321やブロードバンドモデム1333等に供給され図示せぬ他の装置に伝送される。
 なお、ビデオプロセッサ1332内の各処理部の間での画像データやその他のデータの授受は、例えば、内部メモリ1515や外部メモリ1312を利用して行われる。また、パワーマネージメントモジュール1313は、例えば制御部1511への電力供給を制御する。
 このように構成されるビデオプロセッサ1332に本技術を適用する場合、コーデックエンジン1516に、上述した各実施形態に係る本技術を適用すればよい。つまり、例えば、コーデックエンジン1516が、上述した画像復号装置100を実現する機能ブロックを有するようにすればよい。このようにすることにより、ビデオプロセッサ1332は、図1乃至図26を参照して上述した効果と同様の効果を得ることができる。
 なお、コーデックエンジン1516において、本技術(すなわち、画像復号装置100の機能)は、論理回路等のハードウエアにより実現するようにしてもよいし、組み込みプログラム等のソフトウエアにより実現するようにしてもよいし、それらの両方により実現するようにしてもよい。
 以上にビデオプロセッサ1332の構成を2例示したが、ビデオプロセッサ1332の構成は任意であり、上述した2例以外のものであってもよい。また、このビデオプロセッサ1332は、1つの半導体チップとして構成されるようにしてもよいが、複数の半導体チップとして構成されるようにしてもよい。例えば、複数の半導体を積層する3次元積層LSIとしてもよい。また、複数のLSIにより実現されるようにしてもよい。
  <装置への適用例>
 ビデオセット1300は、画像データを処理する各種装置に組み込むことができる。例えば、ビデオセット1300は、テレビジョン装置900(図34)、携帯電話機920(図35)、記録再生装置940(図36)、撮像装置960(図37)等に組み込むことができる。ビデオセット1300を組み込むことにより、その装置は、図1乃至図26を参照して上述した効果と同様の効果を得ることができる。
 なお、上述したビデオセット1300の各構成の一部であっても、ビデオプロセッサ1332を含むものであれば、本技術を適用した構成として実施することができる。例えば、ビデオプロセッサ1332のみを本技術を適用したビデオプロセッサとして実施することができる。また、例えば、上述したように点線1341により示されるプロセッサやビデオモジュール1311等を、本技術を適用したプロセッサやモジュール等として実施することができる。さらに、例えば、ビデオモジュール1311、外部メモリ1312、パワーマネージメントモジュール1313、およびフロントエンドモジュール1314を組み合わせ、本技術を適用したビデオユニット1361として実施することもできる。いずれの構成の場合であっても、図1乃至図26を参照して上述した効果と同様の効果を得ることができる。
 つまり、ビデオプロセッサ1332を含むものであればどのような構成であっても、ビデオセット1300の場合と同様に、画像データを処理する各種装置に組み込むことができる。例えば、ビデオプロセッサ1332、点線1341により示されるプロセッサ、ビデオモジュール1311、または、ビデオユニット1361を、テレビジョン装置900(図34)、携帯電話機920(図35)、記録再生装置940(図36)、撮像装置960(図37)等に組み込むことができる。そして、本技術を適用したいずれかの構成を組み込むことにより、その装置は、ビデオセット1300の場合と同様に、図1乃至図26を参照して上述した効果と同様の効果を得ることができる。
 また、本明細書では、各種情報が、符号化ストリームに多重化されて、符号化側から復号側へ伝送される例について説明した。しかしながら、これら情報を伝送する手法はかかる例に限定されない。例えば、これら情報は、符号化ビットストリームに多重化されることなく、符号化ビットストリームと関連付けられた別個のデータとして伝送され又は記録されてもよい。ここで、「関連付ける」という用語は、ビットストリームに含まれる画像(スライス若しくはブロックなど、画像の一部であってもよい)と当該画像に対応する情報とを復号時にリンクさせ得るようにすることを意味する。即ち、情報は、画像(又はビットストリーム)とは別の伝送路上で伝送されてもよい。また、情報は、画像(又はビットストリーム)とは別の記録媒体(又は同一の記録媒体の別の記録エリア)に記録されてもよい。さらに、情報と画像(又はビットストリーム)とは、例えば、複数フレーム、1フレーム、又はフレーム内の一部分などの任意の単位で互いに関連付けられてよい。
 なお、本技術は以下のような構成も取ることができる。
 (1) 画像データが符号化された符号化データを再帰的に分割されたCU(Coding Unit)毎に復号することにより、復号画像データを生成する復号部と、
 前記符号化データのヘッダ情報に対応するデータ単位毎に設定された情報に応じて、前記復号部により生成された前記復号画像データに対してフィルタ処理を行うフィルタ処理部と
 を備える画像復号装置。
 (2) 前記フィルタ処理部は、前記フィルタ処理を行う際に参照するCU単位毎に設定された情報に対する参照をスキップして、前記復号画像データに対して前記フィルタ処理を行う
 (1)に記載の画像復号装置。
 (3) 前記フィルタ処理部は、前記ヘッダ情報の値に対する条件がCU単位毎に設定された情報を参照する必要がないことを示す場合、前記フィルタ処理を行う際に参照するCU単位毎に設定された情報に対する参照をスキップする
 (2)に記載の画像復号装置。
 (4) 前記フィルタ処理部は、CTB(Coding Tree Block)単位で、前記復号画像データに対してフィルタ処理を行う
 (3)に記載の画像復号装置。
 (5) 前記フィルタ処理部は、前記フィルタ処理として、デブロッキングフィルタ処理を行う
 (3)または(4)に記載の画像復号装置。
 (6) 前記フィルタ処理部は、前記条件として以下の式を満たす場合に、前記フィルタ処理を行う際に参照するCU単位毎に設定された情報に対する参照をスキップする:
  pcm_loop_filter_disabled_flag == 0
  transquant_bypass_enabled_flag ==0
  cu_qp_delta_enabled_flag == 0
 (5)に記載の画像復号装置。
 (7) 前記フィルタ処理部は、ピクチャが1つのスライスで構成される場合に、前記フィルタ処理を行う際に参照するCU単位毎に設定された情報に対する参照をスキップする
 (6)に記載の画像復号装置。
 (8) 前記フィルタ処理部は、ピクチャが複数のスライスで構成される場合に、ピクチャ内の各スライスヘッダのslice_qp_deltaが同じ場合に、前記フィルタ処理を行う際に参照するCU単位毎に設定された情報に対する参照をスキップする
 (6)または(7)に記載の画像復号装置。
 (9) 前記フィルタ処理部は、前記フィルタ処理として、サンプルアダプティブオフセット処理
を行う
 (3)乃至(8)のいずれかに記載の画像復号装置。
 (10) 前記フィルタ処理部は、前記条件として以下の式を満たす場合に、前記フィルタ処理を行う際に参照するCU単位毎に設定された情報に対する参照をスキップする:
  pcm_loop_filter_disabled_flag == 0
  transquant_bypass_enabled_flag ==0
 (9)に記載の画像復号装置。
 (11) 画像データが符号化された符号化データを再帰的に分割されたCU(Coding Unit)毎に復号することにより、復号画像データを生成し、
 前記符号化データのヘッダ情報に対応するデータ単位毎に設定された情報に応じて、生成された前記復号画像データに対してフィルタ処理を行う
 画像復号方法。
 100 画像復号装置, 112 可逆復号部, 116 ループフィルタ, 122 フィルタ制御部, 131 デブロッキングフィルタ用制御情報生成部, 132 SAO用制御情報生成部, 141 デブロッキングフィルタ処理部, 142 SAO処理部

Claims (11)

  1.  画像データが符号化された符号化データを再帰的に分割されたCU(Coding Unit)毎に復号することにより、復号画像データを生成する復号部と、
     前記符号化データのヘッダ情報に対応するデータ単位毎に設定された情報に応じて、前記復号部により生成された前記復号画像データに対してフィルタ処理を行うフィルタ処理部と
     を備える画像復号装置。
  2.  前記フィルタ処理部は、前記フィルタ処理を行う際に参照するCU単位毎に設定された情報に対する参照をスキップして、前記復号画像データに対して前記フィルタ処理を行う
     請求項1に記載の画像復号装置。
  3.  前記フィルタ処理部は、前記ヘッダ情報の値に対する条件がCU単位毎に設定された情報を参照する必要がないことを示す場合、前記フィルタ処理を行う際に参照するCU単位毎に設定された情報に対する参照をスキップする
     請求項2に記載の画像復号装置。
  4.  前記フィルタ処理部は、CTB(Coding Tree Block)単位で、前記復号画像データに対してフィルタ処理を行う
     請求項3に記載の画像復号装置。
  5.  前記フィルタ処理部は、前記フィルタ処理として、デブロッキングフィルタ処理を行う
     請求項3に記載の画像復号装置。
  6.  前記フィルタ処理部は、前記条件として以下の式を満たす場合に、前記フィルタ処理を行う際に参照するCU単位毎に設定された情報に対する参照をスキップする:
      pcm_loop_filter_disabled_flag == 0
      transquant_bypass_enabled_flag ==0
      cu_qp_delta_enabled_flag == 0
     請求項5に記載の画像復号装置。
  7.  前記フィルタ処理部は、ピクチャが1つのスライスで構成される場合に、前記フィルタ処理を行う際に参照するCU単位毎に設定された情報に対する参照をスキップする
     請求項6に記載の画像復号装置。
  8.  前記フィルタ処理部は、ピクチャが複数のスライスで構成される場合に、ピクチャ内の各スライスヘッダのslice_qp_deltaが同じ場合に、前記フィルタ処理を行う際に参照するCU単位毎に設定された情報に対する参照をスキップする
     請求項6に記載の画像復号装置。
  9.  前記フィルタ処理部は、前記フィルタ処理として、サンプルアダプティブオフセット処理
    を行う
     請求項3に記載の画像復号装置。
  10.  前記フィルタ処理部は、前記条件として以下の式を満たす場合に、前記フィルタ処理を行う際に参照するCU単位毎に設定された情報に対する参照をスキップする:
      pcm_loop_filter_disabled_flag == 0
      transquant_bypass_enabled_flag ==0
     請求項9に記載の画像復号装置。
  11.  画像データが符号化された符号化データを再帰的に分割されたCU(Coding Unit)毎に復号することにより、復号画像データを生成し、
     前記符号化データのヘッダ情報に対応するデータ単位毎に設定された情報に応じて、生成された前記復号画像データに対してフィルタ処理を行う
     画像復号方法。
PCT/JP2015/057837 2014-03-31 2015-03-17 画像復号装置および方法 WO2015151791A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2016511513A JP6824034B2 (ja) 2014-03-31 2015-03-17 画像復号装置および方法
US15/128,008 US10440397B2 (en) 2014-03-31 2015-03-17 Image decoding device and method
US16/423,399 US10779009B2 (en) 2014-03-31 2019-05-28 Image decoding device and method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2014071170 2014-03-31
JP2014-071170 2014-03-31

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US15/128,008 A-371-Of-International US10440397B2 (en) 2014-03-31 2015-03-17 Image decoding device and method
US16/423,399 Continuation US10779009B2 (en) 2014-03-31 2019-05-28 Image decoding device and method

Publications (1)

Publication Number Publication Date
WO2015151791A1 true WO2015151791A1 (ja) 2015-10-08

Family

ID=54240123

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2015/057837 WO2015151791A1 (ja) 2014-03-31 2015-03-17 画像復号装置および方法

Country Status (3)

Country Link
US (2) US10440397B2 (ja)
JP (1) JP6824034B2 (ja)
WO (1) WO2015151791A1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021101204A1 (ko) * 2019-11-18 2021-05-27 엘지전자 주식회사 필터링을 위한 정보의 시그널링 기반 영상 코딩 장치 및 방법
WO2021101205A1 (ko) * 2019-11-18 2021-05-27 엘지전자 주식회사 영상 코딩 장치 및 방법
WO2021101200A1 (ko) * 2019-11-18 2021-05-27 엘지전자 주식회사 루프 필터링을 제어하기 위한 영상 코딩 장치 및 방법
WO2021101203A1 (ko) * 2019-11-18 2021-05-27 엘지전자 주식회사 필터링 기반 영상 코딩 장치 및 방법
RU2801594C1 (ru) * 2019-11-18 2023-08-11 ЭлДжи ЭЛЕКТРОНИКС ИНК. Способ и устройство кодирования изображения для управления контурной фильтрацией

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019530311A (ja) * 2016-09-02 2019-10-17 ヴィド スケール インコーポレイテッド 360度ビデオ情報をシグナリングするための方法およびシステム
EP3989176A4 (en) * 2019-07-17 2022-08-17 Sony Group Corporation INFORMATION PROCESSING DEVICE AND METHOD
KR20220100047A (ko) * 2019-12-23 2022-07-14 엘지전자 주식회사 필터링 기반 영상 코딩 장치 및 방법
CN115104318A (zh) * 2019-12-23 2022-09-23 Lg电子株式会社 基于子画面的图像编码设备和方法
GB2593222A (en) * 2020-03-20 2021-09-22 Canon Kk High level syntax for video coding and decoding

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013141094A (ja) * 2011-12-28 2013-07-18 Sharp Corp 画像復号装置、画像符号化装置、画像フィルタ装置、および符号化データのデータ構造
JP2013229866A (ja) * 2012-03-30 2013-11-07 Jvc Kenwood Corp 画像復号装置、画像復号方法、画像復号プログラム、受信装置、受信方法、及び受信プログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8055783B2 (en) * 2005-08-22 2011-11-08 Utc Fire & Security Americas Corporation, Inc. Systems and methods for media stream processing
JP5850214B2 (ja) * 2011-01-11 2016-02-03 ソニー株式会社 画像処理装置および方法、プログラム、並びに記録媒体
IN2014CN04356A (ja) * 2012-01-19 2015-09-04 Mitsubishi Electric Corp
CA2868088A1 (en) * 2012-01-20 2013-07-25 Samsung Electronics Co., Ltd. Video encoding method and apparatus and video decoding method and apparatus using unified syntax for parallel processing
WO2013145773A1 (ja) 2012-03-30 2013-10-03 株式会社Jvcケンウッド 画像符号化装置、画像符号化方法、画像符号化プログラム、送信装置、送信方法、及び送信プログラム、並びに画像復号装置、画像復号方法、画像復号プログラム、受信装置、受信方法、及び受信プログラム
US9706200B2 (en) * 2012-06-18 2017-07-11 Qualcomm Incorporated Unification of signaling lossless coding mode and pulse code modulation (PCM) mode in video coding
KR102111436B1 (ko) * 2014-01-06 2020-05-18 에스케이 텔레콤주식회사 다중 영상의 단일 비트 스트림 생성방법 및 생성장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013141094A (ja) * 2011-12-28 2013-07-18 Sharp Corp 画像復号装置、画像符号化装置、画像フィルタ装置、および符号化データのデータ構造
JP2013229866A (ja) * 2012-03-30 2013-11-07 Jvc Kenwood Corp 画像復号装置、画像復号方法、画像復号プログラム、受信装置、受信方法、及び受信プログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"Recommendation ITU-T H.265", HIGH EFFICIENCY VIDEO CODING, April 2013 (2013-04-01), pages 46,50,152 - 153,157- 159, XP055224026 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021101204A1 (ko) * 2019-11-18 2021-05-27 엘지전자 주식회사 필터링을 위한 정보의 시그널링 기반 영상 코딩 장치 및 방법
WO2021101205A1 (ko) * 2019-11-18 2021-05-27 엘지전자 주식회사 영상 코딩 장치 및 방법
WO2021101200A1 (ko) * 2019-11-18 2021-05-27 엘지전자 주식회사 루프 필터링을 제어하기 위한 영상 코딩 장치 및 방법
WO2021101203A1 (ko) * 2019-11-18 2021-05-27 엘지전자 주식회사 필터링 기반 영상 코딩 장치 및 방법
CN115023954A (zh) * 2019-11-18 2022-09-06 Lg电子株式会社 用于控制环路滤波的图像编码装置和方法
RU2801594C1 (ru) * 2019-11-18 2023-08-11 ЭлДжи ЭЛЕКТРОНИКС ИНК. Способ и устройство кодирования изображения для управления контурной фильтрацией
RU2802374C1 (ru) * 2019-11-18 2023-08-28 ЭлДжи ЭЛЕКТРОНИКС ИНК. Устройство и способ кодирования изображения для управления контурной фильтрацией
US11743468B2 (en) 2019-11-18 2023-08-29 Lg Electronics Inc. Filtering-based image coding device and method
RU2810653C2 (ru) * 2019-11-18 2023-12-28 ЭлДжи ЭЛЕКТРОНИКС ИНК. Способ и устройство кодирования изображения для управления контурной фильтрацией

Also Published As

Publication number Publication date
US10440397B2 (en) 2019-10-08
US20170099501A1 (en) 2017-04-06
JPWO2015151791A1 (ja) 2017-04-13
US10779009B2 (en) 2020-09-15
US20190281323A1 (en) 2019-09-12
JP6824034B2 (ja) 2021-02-03

Similar Documents

Publication Publication Date Title
JP6642631B2 (ja) 画像復号装置および方法
WO2015151791A1 (ja) 画像復号装置および方法
JP6365540B2 (ja) 画像処理装置および方法
JP6287035B2 (ja) 復号装置および復号方法
US20190020877A1 (en) Image processing apparatus and method
WO2015137145A1 (ja) 画像符号化装置および方法、並びに画像復号装置および方法
JP6528765B2 (ja) 画像復号装置および方法
US10595021B2 (en) Image processing device and method
JP6497562B2 (ja) 画像符号化装置および方法
JP6690741B2 (ja) 画像符号化装置および方法、並びに、プログラム
WO2015053116A1 (ja) 復号装置および復号方法、並びに、符号化装置および符号化方法
US20180302629A1 (en) Image processing apparatus and method
WO2015056566A1 (ja) 画像処理装置および方法
JP6477930B2 (ja) 符号化装置および符号化方法
US20160286218A1 (en) Image encoding device and method, and image decoding device and method
JP6341067B2 (ja) 画像処理装置および方法
WO2017169722A1 (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: 15772848

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2016511513

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 15128008

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15772848

Country of ref document: EP

Kind code of ref document: A1