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

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

Info

Publication number
WO2014084106A1
WO2014084106A1 PCT/JP2013/081342 JP2013081342W WO2014084106A1 WO 2014084106 A1 WO2014084106 A1 WO 2014084106A1 JP 2013081342 W JP2013081342 W JP 2013081342W WO 2014084106 A1 WO2014084106 A1 WO 2014084106A1
Authority
WO
WIPO (PCT)
Prior art keywords
unit
image
threshold
encoding
bit depth
Prior art date
Application number
PCT/JP2013/081342
Other languages
English (en)
French (fr)
Inventor
佐藤 数史
Original Assignee
ソニー株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソニー株式会社 filed Critical ソニー株式会社
Priority to US14/441,907 priority Critical patent/US10812826B2/en
Priority to CN201380061145.6A priority patent/CN104798374B/zh
Priority to CN201811057200.5A priority patent/CN109257606B/zh
Priority to KR1020157013382A priority patent/KR102289112B1/ko
Priority to EP13858063.4A priority patent/EP2916547A4/en
Priority to MX2015006476A priority patent/MX352965B/es
Priority to BR112015011920A priority patent/BR112015011920A2/pt
Priority to RU2015119487A priority patent/RU2651209C2/ru
Priority to JP2014550146A priority patent/JPWO2014084106A1/ja
Publication of WO2014084106A1 publication Critical patent/WO2014084106A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • 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/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • 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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding

Definitions

  • the present disclosure relates to an image processing apparatus and method, and more particularly, to an image processing apparatus and method capable of suppressing reduction in image quality.
  • MPEG2 (ISO / IEC 13818-2) is defined as a general-purpose image encoding system, and is a standard that covers both interlaced scanning images and progressive scanning images, as well as standard resolution images and high-definition images.
  • MPEG2 is currently widely used in a wide range of applications for professional and consumer applications.
  • a code amount (bit rate) of 4 to 8 Mbps is assigned to an interlaced scanned image having a standard resolution of 720 ⁇ 480 pixels.
  • a high resolution interlaced scanned image having 1920 ⁇ 1088 pixels is assigned a code amount (bit rate) of 18 to 22 Mbps.
  • bit rate code amount
  • MPEG2 was mainly intended for high-quality encoding suitable for broadcasting, but did not support encoding methods with a lower code amount (bit rate) than MPEG1, that is, a higher compression rate.
  • bit rate code amount
  • MPEG4 encoding system has been standardized accordingly.
  • the standard was approved as an international standard in December 1998 as ISO / IEC 14496-2.
  • H.26L International Telecommunication Union Telecommunication Standardization Sector
  • Q6 / 16 VCEG Video Coding Expert Group
  • H.26L is known to achieve higher encoding efficiency than the conventional encoding schemes such as MPEG2 and MPEG4, although a large amount of calculation is required for encoding and decoding.
  • Joint ⁇ ⁇ ⁇ ⁇ Model of Enhanced-Compression Video Coding has been implemented based on this H.26L and incorporating functions not supported by H.26L to achieve higher coding efficiency. It was broken.
  • AVC Advanced Video Coding
  • HEVC High Efficiency Video Video Coding
  • JCTVC Joint Collaboration Collaboration Team Video Coding
  • ISO / IEC ISO / IEC
  • the standardization of the encoding method called is being advanced.
  • CommitteeCommitdraft which is the first draft version specification, was issued in February 2012 (see Non-Patent Document 1, for example).
  • boundary value smoothing Boundary Value Smoothing processing is defined for the purpose of reducing block distortion when the prediction mode is DC mode, horizontal (Horizontal) mode, or vertical (Vertical) mode. Yes.
  • contour noise countermeasure processing has been proposed in order to reduce the phenomenon that the contour is visible in the flat portion of the image (see, for example, Non-Patent Document 2).
  • the characteristics of the peripheral pixels of the current block to be processed are identified by threshold determination processing. If the result of the threshold determination process is true, that is, if the surrounding pixels have predetermined characteristics, the bi-linear interpolation process is used instead of the [1 2 1] / 4 filter processing described above. (Also referred to as bilinear filter processing) is performed.
  • the threshold value is fixed. That is, the same value is set as the threshold regardless of the characteristics of the image data to be encoded / decoded, such as the bit depth. For this reason, in the selection of filter processing for peripheral pixels in intra prediction, there has been a risk that image quality may be reduced unnecessarily because appropriate selection cannot be performed.
  • the present disclosure has been made in view of such a situation, and is intended to suppress a reduction in image quality.
  • a threshold value for identifying a feature of a peripheral pixel of a current block in an intra prediction process when decoding encoded data obtained by encoding image data is set according to the bit depth of the image data.
  • the threshold setting unit can bit-shift the threshold set in advance as an initial value according to the bit depth.
  • the threshold setting unit can set the threshold to 8 when the bit depth of the image data is 8 bits.
  • a judgment unit that determines the bit depth of the image data is further provided, and the threshold setting unit can set the threshold according to the bit depth determined by the determination unit.
  • a receiving unit that receives the bit depth of the image data may be further provided, and the threshold setting unit may set the threshold according to the bit depth received by the receiving unit.
  • a reception unit configured to receive a threshold value set in accordance with a bit depth of the transmitted image data, wherein the filter processing unit is identified using the threshold value received by the reception unit;
  • the surrounding pixels can be filtered using a filter according to the above feature.
  • the filter processing unit can perform low-pass filter processing on the surrounding pixels when a value representing the characteristics of the surrounding pixels exceeds the threshold set by the threshold setting unit.
  • the filter processing unit can perform bilinear filter processing on the surrounding pixels when the value representing the characteristics of the surrounding pixels does not exceed the threshold set by the threshold setting unit.
  • a threshold for identifying features of peripheral pixels of the current block in the intra prediction process when decoding encoded data obtained by encoding image data is set to the bit depth of the image data.
  • the image processing method is configured to filter the peripheral pixels using a filter according to the characteristics of the peripheral pixels that are set according to the identified threshold values and identified using the set threshold value.
  • a threshold for identifying the characteristics of the peripheral pixels of the current block in the intra prediction process when decoding encoded data obtained by encoding image data depends on the bit depth of the image data.
  • the surrounding pixels are filtered using a filter according to the characteristics of the surrounding pixels that are set and identified using the set threshold.
  • an image can be encoded and decoded.
  • reduction in image quality can be suppressed.
  • FIG. 20 is a block diagram illustrating a main configuration example of a computer. It is a block diagram which shows an example of a schematic structure of a television apparatus. It is a block diagram which shows an example of a schematic structure of a mobile telephone. It is a block diagram which shows an example of a schematic structure of a recording / reproducing apparatus.
  • ⁇ Coding unit> In the AVC (Advanced Video Coding) method, a hierarchical structure is defined by macroblocks and sub-macroblocks. However, a macroblock of 16 pixels ⁇ 16 pixels is not optimal for a large image frame such as UHD (Ultra High Definition; 4000 pixels ⁇ 2000 pixels), which is a target of the next generation encoding method.
  • UHD Ultra High Definition
  • a coding unit (Coding Unit)) is defined.
  • CU also called Coding Tree Block (CTB)
  • CTB Coding Tree Block
  • the maximum size (LCU (Largest Coding Unit)) and the minimum size (SCU (Smallest Coding Unit)) are specified.
  • the LCU size is 128 and the maximum hierarchical depth is 5.
  • split_flag is “1”
  • the 2N ⁇ 2N size CU is divided into N ⁇ N size CUs that are one level below.
  • the CU is divided into prediction units (Prediction Units (PU)) that are regions (partial regions of images in units of pictures) that are processing units of intra or inter prediction, and are regions that are processing units of orthogonal transformation It is divided into transform units (Transform Unit (TU)), which is (a partial area of an image in units of pictures).
  • Prediction Units PU
  • transform Unit Transform Unit
  • a macro block in the AVC method corresponds to an LCU
  • a block (sub block) corresponds to a CU. Then you can think.
  • a motion compensation block in the AVC method can be considered to correspond to a PU.
  • the size of the LCU of the highest hierarchy is generally set larger than the macro block of the AVC method, for example, 128 ⁇ 128 pixels.
  • the LCU also includes a macroblock in the AVC scheme
  • the CU also includes a block (sub-block) in the AVC scheme.
  • “block” used in the following description indicates an arbitrary partial area in the picture, and its size, shape, characteristics, and the like are not limited. That is, the “block” includes an arbitrary area (processing unit) such as a TU, PU, SCU, CU, LCU, sub-block, macroblock, or slice. Of course, other partial areas (processing units) are also included. When it is necessary to limit the size, processing unit, etc., it will be described as appropriate.
  • JM Job Model
  • JM JM
  • High Complexity Mode Low Complexity Mode.
  • a cost function value for each prediction mode Mode is calculated, and a prediction mode that minimizes the cost function value is selected as the optimum mode for the block or macroblock.
  • is a whole set of candidate modes for encoding the block or macroblock
  • D is a difference energy between the decoded image and the input image when encoded in the prediction mode.
  • is a Lagrange undetermined multiplier given as a function of the quantization parameter.
  • R is the total code amount when encoding is performed in this mode, including orthogonal transform coefficients.
  • D is the difference energy between the predicted image and the input image, unlike the case of High Complexity Mode.
  • QP2Quant QP
  • HeaderBit is a code amount related to information belonging to Header, such as a motion vector and mode, which does not include an orthogonal transform coefficient.
  • intra prediction processing is performed by 8 directions + DC prediction
  • HEVC as shown in FIG. 2B
  • intra prediction is performed by 32 directions + DC prediction.
  • a prediction is made.
  • HE HE
  • planar (Planar) prediction as shown in FIG. 3 is defined.
  • planar prediction process prediction pixels included in the current block are generated by bi-linear interpolation from the peripheral pixels (already encoded pixels) of the current block to be processed.
  • the planar (Planar) prediction process can improve the coding efficiency of a region having a gradation.
  • an intra prediction mode encoding process using three most probable modes is performed. That is, the intra prediction mode (Above) of neighboring blocks adjacent to the current block, the intra prediction mode (Left) of neighboring blocks adjacent to the left of the current block, and the intra prediction in those neighboring blocks (Above and Left)
  • a mode determined by a combination of modes is set as a candidate for an intra prediction mode (also referred to as a candidate mode), and an optimum one of these three candidate modes is adopted as the intra prediction mode for the current block.
  • the index number is transmitted. Otherwise, the prediction block mode information is transmitted with a fixed length of 5 bits.
  • FIG. 5 is a diagram illustrating MDIS (Mode Dependent Intra Smoothing) defined in HEVC.
  • this filter processing is not applied when the block size of the current block is 4 ⁇ 4.
  • this filtering process is applied to the prediction mode in the 45 degree direction.
  • this filtering process is applied to prediction modes in directions other than three directions close to horizontal and three directions close to vertical.
  • this filter processing is applied to a prediction mode in a direction other than horizontal and vertical.
  • boundary value smoothing as shown in FIG. 6 is performed for the purpose of reducing block distortion when the prediction mode is a direct current (DC) mode, a horizontal (Horizontal) mode, or a vertical (Vertical) mode. (Boundary Value Smoothing) processing is specified.
  • the prediction mode is a direct current (DC) mode prediction (DC prediction)
  • DC prediction direct current
  • Filter processing smoothing processing shown in FIG. 6 is performed for both pixels.
  • the prediction mode is prediction in the horizontal mode (Horizontal prediction)
  • the filter processing is performed on the neighboring pixels adjacent to the top side (Top) of the current block.
  • the filter processing is performed on the neighboring pixels adjacent to the left side (Left) of the current block.
  • Non-Patent Document 2 a contour noise countermeasure process described in Non-Patent Document 2 has been proposed.
  • the contour noise countermeasure processing described in Non-Patent Document 2 the banding that has occurred in the decoded image area 11 is suppressed as shown in FIG. 8, and a smooth gradation can be obtained. .
  • FIG. 9 is a diagram showing an example of the contour noise countermeasure process.
  • threshold determination processing as shown in the following equations (3) and (4) is performed using the peripheral pixels of the current block as shown in FIG.
  • the threshold value THRESHOLD is fixed at 8.
  • the characteristics of the surrounding pixels of the current block are determined. That is, it is determined whether or not the periphery of the current block is a flat portion where changes in lightness, color, density, etc. that can cause banding are flat.
  • the result of this threshold determination processing is true, that is, when it is determined that the change around the current block is a flat portion in which brightness, color, density, etc. that can cause banding are flat, as shown in FIG.
  • bilinear interpolation (bi-linear interpolation) as shown in the following equations (5) to (9) Processing is performed.
  • This process is applied only to 32 ⁇ 32 blocks, and a flag indicating whether or not to apply this process (on / off) is set in a sequence parameter set (SPS (Sequence Parameter Set)). It is prescribed.
  • SPS Sequence Parameter Set
  • Non-Patent Document 2 the threshold value is fixed. For this reason, in the selection of filter processing for peripheral pixels in intra prediction, there has been a risk that image quality may be reduced unnecessarily because appropriate selection cannot be performed.
  • a value calculated from pixel values of peripheral pixels of the current block is compared with the threshold value.
  • this threshold is a fixed value, for example, the value may not be appropriate for the bit depth of the image data. In this case, a correct determination result cannot be obtained as a result of the threshold determination process described above, and there is a possibility that the image quality of the decoded image is unnecessarily reduced without selecting an appropriate filter.
  • the user or the like cannot adjust the image quality of the decoded image by adjusting the threshold value.
  • this threshold value can be set according to the bit depth of the image data. By doing so, it is possible to suppress a reduction in image quality. Further, the image quality of the decoded image can be adjusted by making the threshold variable.
  • FIG. 10 is a block diagram illustrating an example of a configuration of an image encoding device that is an aspect of an image processing device to which the present technology is applied.
  • the image encoding device 100 illustrated in FIG. 10 encodes moving image image data using, for example, HEVC prediction processing or prediction processing based on the HEVC prediction processing.
  • the image encoding device 100 includes an A / D conversion unit 101, a screen rearrangement buffer 102, a calculation unit 103, an orthogonal transformation unit 104, a quantization unit 105, a lossless encoding unit 106, and a storage buffer 107. , An inverse quantization unit 108, and an inverse orthogonal transform unit 109.
  • the image encoding device 100 includes a calculation unit 110, a loop filter 111, a frame memory 112, an intra prediction unit 113, an inter prediction unit 114, a predicted image selection unit 115, and a rate control unit 116.
  • the A / D converter 101 performs A / D conversion on the input image data, and supplies the converted image data (digital data) to the screen rearrangement buffer 102 for storage.
  • the screen rearrangement buffer 102 rearranges the images of the frames in the stored display order in the order of frames for encoding in accordance with GOP (Group Of Picture), and the images in which the order of the frames is rearranged. This is supplied to the calculation unit 103.
  • the screen rearrangement buffer 102 also supplies the image in which the order of the frames is rearranged to the intra prediction unit 113 and the inter prediction unit 114.
  • the calculation unit 103 subtracts the prediction image supplied from the intra prediction unit 113 or the inter prediction unit 114 via the prediction image selection unit 115 from the image read out from the screen rearrangement buffer 102, and orthogonalizes the difference information.
  • the data is output to the conversion unit 104.
  • the calculation unit 103 subtracts the prediction image supplied from the intra prediction unit 113 from the image read from the screen rearrangement buffer 102.
  • the calculation unit 103 subtracts the prediction image supplied from the inter prediction unit 114 from the image read from the screen rearrangement buffer 102.
  • the orthogonal transform unit 104 performs orthogonal transform such as discrete cosine transform and Karhunen-Loeve transform on the difference information supplied from the computation unit 103.
  • the orthogonal transform unit 104 supplies the transform coefficient to the quantization unit 105.
  • the quantization unit 105 quantizes the transform coefficient supplied from the orthogonal transform unit 104.
  • the quantization unit 105 sets a quantization parameter based on the information regarding the target value of the code amount supplied from the rate control unit 116, and performs the quantization.
  • the quantization unit 105 supplies the quantized transform coefficient to the lossless encoding unit 106.
  • the lossless encoding unit 106 encodes the transform coefficient quantized by the quantization unit 105 using an arbitrary encoding method. Since the coefficient data is quantized under the control of the rate control unit 116, the code amount becomes a target value set by the rate control unit 116 (or approximates the target value).
  • the lossless encoding unit 106 acquires information indicating the mode of intra prediction from the intra prediction unit 113, and acquires information indicating the mode of inter prediction, difference motion vector information, and the like from the inter prediction unit 114.
  • the lossless encoding unit 106 encodes these various types of information by an arbitrary encoding method, and uses (multiplexes) the information as a part of header information of encoded data (also referred to as an encoded stream).
  • the lossless encoding unit 106 supplies the encoded data obtained by encoding to the accumulation buffer 107 for accumulation.
  • Examples of the encoding method of the lossless encoding unit 106 include variable length encoding or arithmetic encoding.
  • Examples of variable length coding include H.264.
  • CAVLC Context-Adaptive Variable Length Coding
  • Examples of arithmetic coding include CABAC (Context-Adaptive Binary Arithmetic Coding).
  • the cocoon accumulation buffer 107 temporarily holds the encoded data supplied from the lossless encoding unit 106.
  • the accumulation buffer 107 outputs the stored encoded data to the outside of the image encoding device 100 at a predetermined timing. That is, the accumulation buffer 107 is also a transmission unit that transmits encoded data.
  • the transform coefficient quantized by the quantization unit 105 is also supplied to the inverse quantization unit 108.
  • the inverse quantization unit 108 inversely quantizes the quantized transform coefficient by a method corresponding to the quantization by the quantization unit 105.
  • the inverse quantization unit 108 supplies the obtained transform coefficient to the inverse orthogonal transform unit 109.
  • the inverse orthogonal transform unit 109 performs inverse orthogonal transform on the transform coefficient supplied from the inverse quantization unit 108 by a method corresponding to the orthogonal transform processing by the orthogonal transform unit 104.
  • the inversely orthogonal transformed output (restored difference information) is supplied to the calculation unit 110.
  • the calculation unit 110 adds the predicted image from the intra prediction unit 113 or the inter prediction unit 114 via the predicted image selection unit 115 to the restored difference information that is the inverse orthogonal transform result supplied from the inverse orthogonal transform unit 109. Addition is performed to obtain a locally reconstructed image (hereinafter referred to as a reconstructed image).
  • the reconstructed image is supplied to the loop filter 111 or the intra prediction unit 113.
  • the loop filter 111 includes a deblocking filter, an adaptive loop filter, and the like, and appropriately performs a filtering process on the reconstructed image supplied from the calculation unit 110.
  • the loop filter 111 removes block distortion of the reconstructed image by performing deblocking filter processing on the reconstructed image.
  • the loop filter 111 improves the image quality by performing loop filter processing using a Wiener filter on the deblocking filter processing result (reconstructed image from which block distortion has been removed). I do.
  • the loop filter 111 may further perform other arbitrary filter processing on the reconstructed image. Further, the loop filter 111 can supply information such as filter coefficients used for the filter processing to the lossless encoding unit 106 and encode it as necessary.
  • the loop filter 111 supplies the filter processing result (hereinafter referred to as a decoded image) to the frame memory 112.
  • the frame memory 112 stores the supplied decoded image, and supplies the stored decoded image to the inter prediction unit 114 as a reference image at a predetermined timing.
  • the intra prediction unit 113 performs intra prediction (intra-screen prediction) that generates a predicted image using pixel values in a processing target picture that is a reconstructed image supplied as a reference image from the calculation unit 110.
  • the intra prediction unit 113 performs this intra prediction in a plurality of intra prediction modes prepared in advance.
  • the intra prediction unit 113 generates predicted images in all candidate intra prediction modes, evaluates the cost function value of each predicted image using the input image supplied from the screen rearrangement buffer 102, and selects the optimum mode. select. When the intra prediction unit 113 selects the optimal intra prediction mode, the intra prediction unit 113 supplies the predicted image generated in the optimal mode to the predicted image selection unit 115.
  • the intra prediction unit 113 supplies the intra prediction mode information indicating the adopted intra prediction mode and the like to the lossless encoding unit 106 as appropriate, and encodes the information.
  • the inter prediction unit 114 performs inter prediction processing (motion prediction processing and compensation processing) using the input image supplied from the screen rearrangement buffer 102 and the reference image supplied from the frame memory 112. More specifically, the inter prediction unit 114 performs motion compensation processing according to motion vectors detected by performing motion prediction as inter prediction processing, and generates a prediction image (inter prediction image information). The inter prediction unit 114 performs such inter prediction in a plurality of inter prediction modes prepared in advance.
  • Inter prediction unit 114 generates a prediction image in all candidate inter prediction modes.
  • the inter prediction unit 114 evaluates the cost function value of each predicted image using the input image supplied from the screen rearrangement buffer 102, information on the generated difference motion vector, and the like, and selects an optimal mode. When the optimal inter prediction mode is selected, the inter prediction unit 114 supplies the predicted image generated in the optimal mode to the predicted image selection unit 115.
  • the inter prediction unit 114 supplies information indicating the employed inter prediction mode, information necessary for performing processing in the inter prediction mode, and the like to the lossless encoding unit 106 when decoding encoded data.
  • the necessary information includes, for example, information on the generated differential motion vector and a flag indicating an index of the predicted motion vector as predicted motion vector information.
  • the predicted image selection unit 115 selects a supply source of the predicted image supplied to the calculation unit 103 or the calculation unit 110.
  • the prediction image selection unit 115 selects the intra prediction unit 113 as a supply source of the prediction image, and supplies the prediction image supplied from the intra prediction unit 113 to the calculation unit 103 and the calculation unit 110.
  • the prediction image selection unit 115 selects the inter prediction unit 114 as a supply source of the prediction image, and calculates the prediction image supplied from the inter prediction unit 114 as the calculation unit 103 or the calculation unit 110. To supply.
  • the rate control unit 116 controls the quantization operation rate of the quantization unit 105 based on the code amount of the encoded data accumulated in the accumulation buffer 107 so that overflow or underflow does not occur.
  • the cocoon image encoding apparatus 100 further includes a threshold setting unit 121 and a filter processing unit 122.
  • the threshold value setting unit 121 sets a threshold value used in the filtering process performed on the neighboring pixels of the current block of the intra prediction performed in the filter processing unit 122, and the threshold value information indicating the set threshold value (the updated threshold value) is the filter processing unit. 122.
  • the threshold setting unit 121 may set the threshold according to the bit depth of the image data to be encoded.
  • the threshold setting unit 121 acquires information on the bit depth of image data, which is a parameter transmitted to the decoding side as a sequence parameter set (SPS) or the like from the lossless encoding unit 106, and the bit depth The bit depth of the image data may be determined based on the information regarding the threshold, and a threshold value corresponding to the bit depth may be set.
  • the threshold setting unit 121 acquires image information (including information on image data and image data) from the screen rearrangement buffer 102, and based on the image information (by analyzing the image information), the image The bit depth of the data may be determined and a threshold value corresponding to the bit depth may be set.
  • the threshold value setting unit 121 may update the threshold value by bit shifting an initial value (for example, 8) of a predetermined threshold value according to the determined bit depth.
  • an initial value for example, 8 bits
  • the threshold setting unit 121 determines the difference between the actual bit depth of the image data and the number of bits of 8 bits. Accordingly, the initial value may be bit-shifted.
  • the threshold value setting unit 121 supplies threshold information indicating the updated threshold value to the lossless encoding unit 106, and a sequence parameter set (SPS) or a picture parameter set (PPS (Picture Parameter Set)) ) Etc., it may be transmitted to the decoding side.
  • the threshold setting unit 121 may encode the threshold information (for example, golomb encoding) and supply the encoded information as threshold encoding information.
  • the threshold setting unit 121 determines the bit depth of image data based on image information
  • the threshold setting unit 121 supplies information related to the bit depth to the lossless encoding unit 106, and a sequence parameter set (SPS) or picture parameter It may be transmitted to the decoding side as a set (PPS) or the like.
  • the threshold setting unit 121 may encode information (eg, golomb encoding) on the bit depth and supply the encoded information as bit depth encoding information.
  • the threshold setting unit 121 generates flag information (threshold change flag) indicating whether or not the threshold has been updated (changed), and supplies the threshold change flag to the lossless encoding unit 106.
  • the data may be transmitted to the decoding side.
  • the decoding side for example, an image decoding device
  • the decoding side can easily identify whether or not the threshold has been updated (changed) based on the value of the threshold change flag. That is, it is possible to easily control whether or not the decoding side (for example, the image decoding apparatus) performs the process of updating (changing) the threshold value in the same manner as the encoding side (for example, the image encoding apparatus 100).
  • the threshold value setting unit 121 may set the threshold value in accordance with an external instruction from the user or the like.
  • the value designated by the user or the like corresponds to the updated value described above. That is, the threshold value is supplied to the filter processing unit 122.
  • the threshold value setting unit 121 supplies threshold value information indicating the set threshold value to the lossless encoding unit 106, and as a sequence parameter set (SPS), a picture parameter set (PPS), or the like on the decoding side. You may make it transmit.
  • the threshold setting unit 121 may encode the threshold information (for example, golomb encoding) and supply the encoded information as threshold encoding information.
  • the threshold setting unit 121 may generate a threshold change flag, supply it to the lossless encoding unit 106, and transmit it to the decoding side.
  • the threshold setting unit 121 may update (change) the threshold specified by the user or the like according to the bit depth of the image data to be encoded.
  • the threshold setting unit 121 may acquire information on the bit depth of the image data from the lossless encoding unit 106 and determine the bit depth of the image data based on the information on the bit depth.
  • the threshold setting unit 121 may acquire image information from the screen rearrangement buffer 102 and determine the bit depth of the image data based on the image information.
  • the threshold value setting unit 121 may update the threshold value by bit-shifting the threshold value specified by the user or the like according to the determined bit depth.
  • a threshold value suitable for a case where the bit depth is 8 bits is specified, and the threshold value setting unit 121 determines that the bit depth is different from the actual bit depth of the image data and the number of bits of 8 bits.
  • the specified threshold value may be bit-shifted.
  • contouring_artefact_threshold For example, a threshold specified by the outside of the user or the like is set as contouring_artefact_threshold.
  • This contouring_artefact_threshold is specified as a value corresponding to the case where the bit depth of the image data to be encoded is 8 bits.
  • the threshold setting unit 121 bit-shifts the contouring_artefact_threshold as shown in the following equation (10).
  • the threshold value setting unit 121 supplies threshold value information indicating the updated threshold value to the lossless encoding unit 106 and performs decoding as a sequence parameter set (SPS), a picture parameter set (PPS), or the like. You may make it transmit to the side.
  • the threshold setting unit 121 may encode the threshold information (for example, golomb encoding) and supply the encoded information as threshold encoding information.
  • the threshold value setting unit 121 supplies threshold value information indicating a threshold value before updating (threshold value specified by the outside such as a user) to the lossless encoding unit 106, and a sequence parameter set (SPS) or A picture parameter set (PPS) or the like may be transmitted to the decoding side.
  • the threshold setting unit 121 may encode the threshold information (for example, golomb encoding) and supply the encoded information as threshold encoding information.
  • the threshold value setting unit 121 further supplies information regarding the bit depth to the lossless encoding unit 106 and transmits the information to the decoding side as a sequence parameter set (SPS), a picture parameter set (PPS), or the like. Good.
  • the threshold setting unit 121 may encode information (eg, golomb encoding) on the bit depth and supply the encoded information as bit depth encoding information.
  • the threshold setting unit 121 generates a threshold change flag, supplies it to the lossless encoding unit 106, and transmits it to the decoding side as a sequence parameter set (SPS), a picture parameter set (PPS), or the like. You may do it.
  • SPS sequence parameter set
  • PPS picture parameter set
  • the threshold setting unit 121 may be configured to set (update) the threshold based on any parameter other than the bit depth.
  • the initial value of the threshold value described above is arbitrary, but may be “8”, for example.
  • the threshold value setting unit 121 can prohibit the application of the bilinear interpolation process by setting “0” as the threshold value, and can apply the filter process described with reference to FIG. 5. . That is, when the threshold is “0”, the method described in Non-Patent Document 2 is disabled.
  • the haze filter processing unit 122 acquires threshold information from the threshold setting unit 121, and uses the threshold to perform filter processing on the peripheral pixels of the current block that is the processing target of intra prediction. For example, the filter processing unit 122 performs threshold determination processing as shown in Expression (3) and Expression (4) using the threshold acquired from the threshold setting unit 121, and identifies the characteristics of the peripheral pixels of the current block. You may do it.
  • the filter processing unit 122 applies to the surrounding pixels.
  • the filter processing also referred to as low-pass filter processing described with reference to FIG. 5 may be performed.
  • the filter processing unit 122 replaces the low-pass filter processing.
  • Bilinear interpolation processing also referred to as bilinear filter processing
  • equations (5) to (9) may be performed.
  • the heel filter processing unit 122 When the peripheral pixel of the current block that is the target of intra prediction processing is acquired from the intra prediction unit 113, the heel filter processing unit 122 performs the above-described filter processing on the peripheral pixels. Then, the filter processing unit 122 supplies the peripheral pixels after the filter processing to the intra prediction unit 113. The intra prediction unit 113 performs intra prediction using the peripheral pixels after the filter processing. By doing in this way, the intra estimation part 113 can produce
  • the threshold value setting unit 121 sets a threshold value for identifying features of peripheral pixels of the current block in the intra prediction process when encoding image data according to the bit depth of the image data. Therefore, the intra prediction unit 113 can generate a predicted image in which an appropriate filter processing result is reflected on the image data. That is, the image encoding device 100 can suppress the occurrence of noise such as banding in the decoded image, and can suppress the reduction in the image quality of the decoded image.
  • the intra prediction unit 113 reflects the external image quality designation of the user or the like on the predicted image. Can be made. That is, the image encoding device 100 can control the image quality of the decoded image.
  • the filtering process on the peripheral pixels of the current block by the filter processing unit 322 is performed in the intra prediction mode (that is, the current block). May be controlled according to the block size).
  • banding as shown in FIG. 7 is noticeable when the bit depth of image data is as small as 8 bits, for example, but when the bit depth is as large as 10 bits, for example. Is suppressed (not visually noticeable). Therefore, an upper limit of the bit depth to which the bilinear filter processing described in Non-Patent Document 2 is applied may be provided.
  • the bilinear filter processing described in Non-Patent Document 2 may be applied only when the bit depth is 8 bits, and may not be applied in other cases.
  • the bilinear filter processing described in Non-Patent Document 2 can be applied only to luminance signal processing, but may also be applied to color difference signal processing. That is, the present technology can be applied not only to the luminance signal but also to the color difference signal.
  • the present technology can be applied to each channel independently.
  • the base layer transmits parameters such as threshold values and bit depths, flags, and the like
  • parameters and flags transmitted in the base layer may be referred to.
  • FIG. 11 is a block diagram illustrating a main configuration example of the threshold setting unit 121 and the filter processing unit 122 when the threshold setting unit 121 in FIG. 10 sets a threshold according to the bit depth of image data to be encoded. It is.
  • the threshold setting unit 121 includes a bit depth determination unit 131, a threshold bit shift unit 132, and an encoding unit 133.
  • the bit depth determination unit 131 determines the bit depth of the image data to be encoded, and supplies information indicating the bit depth to the threshold bit shift unit 132.
  • the bit depth determination unit 131 acquires information related to the bit depth of the image data from the lossless encoding unit 106 and determines the bit depth of the image data based on the information related to the bit depth. Also, for example, the bit depth determination unit 131 acquires image information from the screen rearrangement buffer 102 and determines the bit depth of the image data based on the image information.
  • the bit depth determination unit 131 when information indicating the determined bit depth is transmitted to the decoding side, the bit depth determination unit 131 also supplies information indicating the bit depth to the encoding unit 133.
  • the threshold bit shift unit 132 bit-shifts a predetermined threshold (initial value) set in advance according to the information indicating the bit depth supplied from the bit depth determination unit 131, thereby updating (changing) the threshold. Do.
  • the threshold bit shift unit 132 a value suitable for a bit depth of 8 bits is preset as an initial value of the threshold.
  • the threshold bit shift unit 132 acquires information indicating the bit depth from the bit depth determination unit 131, the threshold bit shift unit 132 bit-shifts the initial value by the difference between the bit depth of the image data indicated by the information and the number of bits of 8 bits.
  • the threshold-value bit shift unit 132 supplies information (threshold information) indicating the updated (changed) threshold value to the surrounding pixel determination unit 142 of the filter processing unit 122.
  • the threshold bit shift unit 132 also supplies the threshold information to the encoding unit 133.
  • the cocoon encoding unit 133 performs golomb encoding on the supplied information, and supplies the obtained Golomb code to the lossless encoding unit 106 for transmission to the decoding side. For example, when transmitting information indicating the bit depth to the decoding side, the encoding unit 133 acquires information indicating the bit depth from the bit depth determination unit 131 and performs Golomb encoding on the information indicating the bit depth. The encoding unit 133 supplies the Golomb code (also referred to as bit depth encoding information) of information indicating the obtained bit depth to the lossless encoding unit 106 and transmits it to the decoding side.
  • Golomb code also referred to as bit depth encoding information
  • the encoding unit 133 when transmitting threshold information indicating a threshold after update (change) to the decoding side, acquires threshold information indicating the threshold after update (change) from the threshold bit shift unit 132, and The threshold information is Golomb encoded.
  • the encoding unit 133 supplies the Golomb code (also referred to as threshold encoding information) of the obtained threshold information to the lossless encoding unit 106 and transmits it to the decoding side.
  • the encoding unit 133 may generate a threshold change flag indicating whether or not the threshold has been updated (changed), supply the threshold change flag to the lossless encoding unit 106, and transmit the threshold change flag to the decoding side.
  • the filter processing unit 122 includes a mode / block size buffer 141, a surrounding pixel determination unit 142, a filter determination unit 143, a low-pass filter unit 144, and a bilinear filter unit 145.
  • the heel mode / block size buffer 141 acquires, from the intra prediction unit 113, the block size of the current block and information (mode / block size) related to the candidate prediction mode, and holds the information.
  • the eyelid mode block size buffer 141 supplies information (block size) about the held block size to the surrounding pixel determination unit 142 at a predetermined timing or based on a request from another.
  • the mode / block size buffer 141 transmits information (mode) regarding the held mode and information (block size) regarding the block size to the filter determination unit 143 at a predetermined timing or based on a request from others. Supply.
  • the peripheral pixel determination unit 142 acquires, from the intra prediction unit 113, peripheral pixels adjacent to the upper side and the left side of the current block related to candidate prediction modes. In addition, the peripheral pixel determination unit 142 acquires threshold information from the threshold bit shift unit 132. Further, the peripheral pixel determination unit 142 acquires information (block size) regarding the block size from the mode / block size buffer 141.
  • the peripheral pixel determination unit 142 is a mode in which the current block is a predetermined size (for example, 32 ⁇ 32) (or a size within a predetermined range) based on information on the block size acquired from the mode / block size buffer 141. In this case, using the threshold information acquired from the threshold bit shift unit 132, threshold determination processing for selecting a filter to be used for the filter processing on the peripheral pixels acquired from the intra prediction unit 113 is performed. That is, the surrounding pixel determination unit 142 determines the characteristics of the surrounding pixels (for example, whether or not the change in brightness, color, density, etc. is a pixel in a flat portion).
  • the heel peripheral pixel determination unit 142 supplies the determination result to the filter determination unit 143.
  • the surrounding pixel determination unit 142 supplies the surrounding pixels of the current block acquired from the intra prediction unit 113 to the low-pass filter unit 144 and the bilinear filter unit 145.
  • the eaves filter determination unit 143 acquires information (mode) regarding the mode and information (block size) regarding the block size from the mode / block size buffer 141. In addition, the filter determination unit 143 acquires the determination result of the threshold determination process from the surrounding pixel determination unit 142. The filter determining unit 143 uses them to determine the type of filtering process to be executed and how to apply it. For example, the filter determining unit 143 determines which of the low-pass filter processing and the bilinear filter processing is applied to the peripheral pixels of the current block, how to perform the filter processing, and the like.
  • the ⁇ filter determination unit 143 supplies control information for controlling the execution of the filter processing to the low-pass filter unit 144 and the bilinear filter unit 145 according to the determination.
  • the filter determination unit 143 supplies control information indicating how to execute the filter processing to the selected processing unit among the low-pass filter unit 144 and the bilinear filter unit 145, and the processing that has not been selected.
  • the control information for instructing to stop the filtering process (that is, the control information for preventing the filtering process from being executed) is supplied to the unit.
  • the low pass filter unit 144 performs low pass filter processing as described with reference to FIG. 5 on the peripheral pixels of the current block supplied from the peripheral pixel determination unit 142 according to the control information supplied from the filter determination unit 143. Do.
  • the low-pass filter unit 144 supplies the peripheral pixels subjected to the low-pass filter process (filtered peripheral pixels) to the intra prediction unit 113.
  • the bilinear filter unit 145 describes the peripheral pixels of the current block supplied from the peripheral pixel determination unit 142 according to the control information supplied from the filter determination unit 143 with reference to Expressions (5) to (9). Bilinear filter processing as described above is performed.
  • the bilinear filter unit 145 supplies the peripheral pixels subjected to bilinear filter processing (filtered peripheral pixels) to the intra prediction unit 113.
  • the threshold setting unit 121 can set a threshold corresponding to the bit depth of the image data (appropriate for the bit depth), and the filter processing unit 122 can set the bit depth of the image data.
  • An appropriate filter can be selected for the surrounding pixels, and the filtering process can be performed on the surrounding pixels using the filter.
  • the intra prediction unit 113 performs an appropriate filtering process on the bit depth of the image data. A predicted image can be generated using the neighboring pixels. That is, by doing so, the image encoding device 100 can suppress a reduction in the image quality of the decoded image.
  • step S101 the A / D conversion unit 101 performs A / D conversion on the input image.
  • step S102 the screen rearrangement buffer 102 stores the A / D converted image, and rearranges the picture from the display order to the encoding order.
  • the threshold value setting unit 121 sets a threshold value for identifying the characteristics of the peripheral pixels of the current block in the intra prediction process when encoding image data.
  • step S104 the intra prediction unit 113 performs an intra prediction process in the intra prediction mode.
  • the filter processing unit 122 may perform filter processing on the peripheral pixels of the current block using the threshold set in step S103.
  • the intra prediction unit 113 performs intra prediction using the filtered peripheral pixels.
  • step S105 the inter prediction unit 114 performs inter prediction processing for performing motion prediction and motion compensation in the inter prediction mode.
  • step S ⁇ b> 106 the predicted image selection unit 115 determines an optimal mode based on the cost function values output from the intra prediction unit 113 and the inter prediction unit 114. That is, the predicted image selection unit 115 selects one of the predicted image generated by the intra prediction unit 113 and the predicted image generated by the inter prediction unit 114.
  • step S107 the calculation unit 103 calculates the difference between the image rearranged by the process of step S102 and the predicted image selected by the process of step S106.
  • the difference data is reduced in data amount compared to the original image data. Therefore, the data amount can be compressed as compared with the case where the image is encoded as it is.
  • step S108 the orthogonal transform unit 104 orthogonally transforms the difference information generated by the process in step S106.
  • the quantization unit 105 quantizes the orthogonal transform coefficient obtained by the process in step S108, using the quantization parameter calculated by the rate control unit 116.
  • step S ⁇ b> 110 the inverse quantization unit 108 inversely quantizes the quantized coefficient (also referred to as a quantization coefficient) generated by the process in step S ⁇ b> 109 with characteristics corresponding to the characteristics of the quantization unit 105.
  • step S111 the inverse orthogonal transform unit 109 performs inverse orthogonal transform on the orthogonal transform coefficient obtained by the process of step S110.
  • step S112 the calculation unit 110 adds the predicted image to the locally decoded difference information, and generates a locally decoded image (an image corresponding to the input to the calculation unit 103).
  • step S113 the loop filter 111 filters the image generated by the process in step S112. Thereby, block distortion and the like are removed.
  • step S114 the frame memory 112 stores the decoded image on which the loop filter process has been performed by the process in step S113.
  • step S115 the lossless encoding unit 106 encodes the coefficient quantized by the process in step S109. That is, lossless encoding such as variable length encoding or arithmetic encoding is performed on the data corresponding to the difference image.
  • the lossless encoding unit 106 encodes information related to the prediction mode of the prediction image selected by the process of step S106, and adds the encoded information to the encoded data obtained by encoding the difference image.
  • the lossless encoding unit 106 also encodes the optimal intra prediction mode information supplied from the intra prediction unit 113 or the information corresponding to the optimal inter prediction mode supplied from the inter prediction unit 114, and the like into encoded data. Append.
  • step S116 the accumulation buffer 107 accumulates the encoded data obtained by the process in step S115.
  • the encoded data stored in the storage buffer 107 is appropriately read and transmitted to the decoding side via a transmission path or a recording medium.
  • step S117 the rate control unit 116 causes the quantization unit 105 to prevent overflow or underflow from occurring based on the code amount (generated code amount) of the encoded data accumulated in the accumulation buffer 107 by the process in step S116. Controls the rate of quantization operation. Further, the rate control unit 116 supplies information regarding the quantization parameter to the quantization unit 105.
  • step S117 ends, the encoding process ends.
  • ⁇ Threshold setting process flow> referring to the flowchart of FIG. 13, an example in which the threshold setting unit 121 of the example of FIG. 11 determines the bit depth of the image data based on the information regarding the bit depth is executed in step S103 of FIG. An example of the flow of threshold setting processing will be described. In FIG. 13, a case will be described in which threshold coding information indicating a threshold after updating and a threshold change flag are transmitted to the decoding side.
  • step S131 the threshold bit shift unit 132 determines whether to set an initial value prepared in advance as a threshold. If it is determined to update the threshold, the process proceeds to step S132.
  • step S ⁇ b> 132 the bit depth determination unit 131 acquires information related to the bit depth from the lossless encoding unit 106.
  • step S133 the bit depth determination unit 131 determines the bit depth of the image data to be encoded based on the information regarding the bit depth acquired in step S132.
  • step S134 the threshold bit shift unit 132 bit shifts the threshold (initial value) according to the determination result (determined bit depth) in step S133.
  • the threshold bit shift unit 132 supplies the updated threshold value to the surrounding pixel determination unit 142 of the filter processing unit 122.
  • step S135 the encoding unit 133 encodes threshold value information indicating the threshold value after bit shift (after update) generated in step S134.
  • step S136 the encoding unit 133 supplies the threshold encoding information indicating the updated threshold value obtained by the process in step S135 to the lossless encoding unit 106, and transmits it to the decoding side.
  • step S136 When the process of step S136 is completed, the process proceeds to step S137. If it is determined in step S131 that an initial value is set as the threshold value, the process proceeds to step S137.
  • step S137 the encoding unit 133 sets a threshold change flag indicating whether or not the threshold has been updated (changed).
  • the encoding unit 133 sets a threshold value change flag having a value indicating that the threshold value has been updated (changed).
  • the encoding unit 133 sets a threshold value change flag that indicates that the threshold value has not been updated (changed).
  • step S138 the encoding unit 133 supplies the threshold value change flag set in step S137 to the lossless encoding unit 106 and transmits it to the decoding side.
  • step S138 When the process of step S138 ends, the threshold setting process ends, and the process returns to FIG.
  • the threshold setting unit 121 can set a threshold corresponding to the bit depth of the image data (appropriate for the bit depth).
  • step S137 and step S138 can be omitted.
  • the processes in steps S135 and S136 described above can be omitted.
  • step S151 the neighboring pixel determination unit 142 performs intra prediction based on the block size acquired from the mode / block size buffer 141 and the threshold information acquired from the threshold bit shift unit 132.
  • the characteristics of the peripheral pixels of the current block acquired from the unit 113 are determined.
  • step S152 the filter determination unit 143 determines a filter to be used for peripheral pixels of the current block based on the mode and block size acquired from the mode / block size buffer 141 and the determination result in step S151.
  • step S153 the one selected from the low pass filter unit 144 and the bilinear filter unit 145 by the process of step S152 performs the filter process on the peripheral pixels of the current block.
  • the low-pass filter unit 144 performs low-pass filter processing on the surrounding pixels in the manner determined by the filter determination unit 143.
  • the bilinear filter unit 145 performs bilinear filter processing on the surrounding pixels in the manner determined by the filter determination unit 143.
  • step S154 the intra prediction unit 113 performs intra prediction in each mode using the peripheral pixels filtered in step S153 (or peripheral pixels that are not filtered if omitted).
  • step S155 the intra prediction unit 113 calculates a cost function value for the intra prediction result of each mode performed in step S154.
  • step S156 the intra prediction unit 113 determines the optimal intra prediction mode based on the cost function value of each mode calculated in step S155.
  • step S157 the intra prediction unit 113 generates a prediction image in the optimal intra prediction mode determined in step S156.
  • step S157 When the process of step S157 ends, the intra prediction process ends, and the process returns to FIG.
  • the filter processing unit 122 selects an appropriate filter for the bit depth of the image data, and performs filter processing on the surrounding pixels using the filter.
  • the intra-prediction unit 113 can generate a predicted image using peripheral pixels that have been appropriately filtered with respect to the bit depth of the image data.
  • the image encoding device 100 can suppress a reduction in the image quality of the decoded image.
  • the threshold value setting unit 121 of the example of FIG. 11 performs threshold value setting executed in step S ⁇ b> 103 of FIG. 12 for an example of determining the bit depth of image data based on image information.
  • An example of the flow of processing will be described.
  • the case where the threshold value encoding information and threshold value change flag which show the threshold value after an update are transmitted to the decoding side is demonstrated.
  • or step S178 is performed similarly to each process of step S131, step S134 thru
  • step S171 in FIG. 15 If it is determined in step S171 in FIG. 15 that the threshold value is updated, the process proceeds to step S172.
  • step S172 the bit depth determination unit 131 acquires image information from the screen rearrangement buffer 102.
  • step S173 the bit depth determination unit 131 determines the bit depth of the image data to be encoded based on the image information acquired in step S172.
  • step S173 ends, the process proceeds to step S174.
  • step S178 When the process of step S178 ends, the threshold setting process ends, and the process returns to FIG.
  • the threshold setting unit 121 can set a threshold corresponding to the bit depth of the image data (appropriate for the bit depth). Therefore, also in this case, the image encoding device 100 can suppress a reduction in the image quality of the decoded image.
  • step S175 and step S176 can be omitted.
  • the threshold value setting unit 121 of the example of FIG. 11 determines the bit depth of the image data based on the image information, and further transmits the determined bit depth to the decoding side.
  • An example of the flow of threshold setting processing executed in step S103 in FIG. 12 will be described as an example.
  • the case where a threshold value change flag is further transmitted to the decoding side is demonstrated.
  • or step S194, step S197, and step S198 is performed similarly to each process of step S171 thru
  • step S194 in FIG. 16 ends, the process proceeds to step S195.
  • step S195 the encoding unit 133 encodes information indicating the bit depth determined in step S193.
  • step S196 the encoding unit 133 supplies the bit depth encoding information obtained by the process of step S195 to the lossless encoding unit 106, and transmits it to the decoding side.
  • step S196 When the process of step S196 ends, the process proceeds to step S197.
  • the threshold setting unit 121 can set a threshold corresponding to the bit depth of the image data (appropriate for the bit depth). Therefore, also in this case, the image encoding device 100 can suppress a reduction in the image quality of the decoded image.
  • step S197 and step S198 can be omitted.
  • step S195 and step S196 can be omitted.
  • FIG. 17 is a block diagram illustrating a main configuration example of the threshold setting unit 121 and the filter processing unit 122 when the threshold setting unit 121 in FIG. 10 sets a threshold according to an external instruction from a user or the like.
  • the threshold setting unit 121 includes a threshold setting unit 151 and an encoding unit 133.
  • Threshold setting unit 151 accepts specification of a threshold from the outside such as a user, for example, and sets the threshold according to the specification.
  • the threshold setting unit 151 supplies information indicating the set threshold (threshold information) to the surrounding pixel determination unit 142 of the filter processing unit 122.
  • the threshold bit shift unit 132 when transmitting the threshold information to the decoding side, the threshold bit shift unit 132 also supplies the threshold information to the encoding unit 133.
  • the encoding unit 133 performs Golomb encoding on the supplied information, supplies the obtained Golomb code to the lossless encoding unit 106, and transmits it to the decoding side. For example, when transmitting threshold information indicating the set threshold to the decoding side, the encoding unit 133 acquires the threshold information supplied from the threshold setting unit 151 and performs Golomb encoding on the threshold information. The encoding unit 133 supplies the threshold encoding information obtained in this way to the lossless encoding unit 106 and transmits it to the decoding side.
  • the encoding unit 133 generates a threshold change flag indicating whether or not the threshold has been updated (changed), supplies the threshold change flag to the lossless encoding unit 106, and transmits the threshold change flag to the decoding side. It may be.
  • filter processing unit 122 has the same configuration as in FIG. 11 and performs the same processing as in FIG.
  • the threshold setting unit 121 can set a threshold corresponding to the bit depth of the image data (appropriate for the bit depth), and the filter processing unit 122 can set the bit depth of the image data.
  • An appropriate filter can be selected for the surrounding pixels, and the filtering process can be performed on the surrounding pixels using the filter.
  • the intra prediction unit 113 performs an appropriate filtering process on the bit depth of the image data. A predicted image can be generated using the neighboring pixels. That is, by doing so, the image encoding device 100 can suppress a reduction in the image quality of the decoded image.
  • the threshold setting unit 121 can set this threshold according to external designation of the user or the like, so that the intra prediction unit 113 predicts image quality designation by the user or the like from the predicted image. Can be reflected. That is, the image encoding device 100 can control the image quality of the decoded image.
  • step S211, step S216, and step S217 are executed in the same manner as the processes of step S131, step S137, and step S138 in the example of FIG.
  • step S211 in FIG. 18 If it is determined in step S211 in FIG. 18 that the threshold value is updated, the process proceeds to step S212.
  • step S212 the threshold setting unit 151 accepts designation of a value from the outside such as a user, for example.
  • step S213 the threshold value setting unit 151 sets the value specified by the designation accepted in step S212 as the threshold value.
  • step S214 the encoding unit 133 encodes the threshold set in step S213.
  • step S215 the encoding unit 133 supplies the threshold encoding information obtained by the processing in step S214 to the lossless encoding unit 106 and transmits the same to the decoding side.
  • step S215 When the process of step S215 ends, the process proceeds to step S216. If it is determined in step S211 that an initial value is set as the threshold value, the process proceeds to step S216.
  • step S217 ends, the threshold setting process ends, and the process returns to FIG.
  • the threshold setting unit 121 can set a threshold corresponding to the bit depth of the image data (appropriate for the bit depth). Therefore, the image encoding device 100 can suppress a reduction in the image quality of the decoded image.
  • the threshold value setting unit 121 can set this threshold value according to an external designation from the user or the like. That is, the image encoding device 100 can control the image quality of the decoded image.
  • FIG. 19 illustrates the threshold setting unit 121 and the filter when the threshold setting unit 121 illustrated in FIG. 10 updates (changes) the threshold specified by the user or the like according to the bit depth of the image data to be encoded.
  • 3 is a block diagram illustrating a main configuration example of a processing unit 122.
  • the threshold setting unit 121 includes a bit depth determination unit 131, a threshold bit shift unit 132, an encoding unit 133, and a threshold setting unit 151.
  • the bit depth determination unit 131 and the encoding unit 133 perform the same processing as in FIG.
  • the threshold setting unit 151 performs the same process as in FIG.
  • the threshold setting unit 151 supplies the set threshold value to the threshold bit shift unit 132.
  • the threshold bit shift unit 132 updates (changes) the threshold value by bit-shifting the threshold value according to the information indicating the bit depth supplied from the bit depth determination unit 131, as in the case of FIG. Do.
  • the threshold bit shift unit 132 bit shifts the threshold supplied from the threshold setting unit 151, that is, a threshold set based on an external designation such as a user.
  • the threshold-value bit shift unit 132 supplies information (threshold information) indicating the updated (changed) threshold value to the surrounding pixel determination unit 142 of the filter processing unit 122.
  • threshold bit shift unit 132 When threshold information indicating a threshold value after updating (change) (that is, a threshold value bit-shifted by the threshold bit shift unit 132) is transmitted to the decoding side, the threshold bit shift unit 132 encodes the threshold information. Also supplied to the conversion unit 133.
  • threshold information indicating a threshold before update (change) that is, a threshold set by the threshold setting unit 151
  • the threshold bit shift unit 132 supplies threshold value information indicating the threshold before the update (change) (that is, the threshold set by the threshold setting unit 151) to the encoding unit 133.
  • the encoding unit 133 encodes threshold information indicating a threshold before the update (change) (that is, a threshold set by the threshold setting unit 151), and the obtained threshold encoding information is a lossless encoding unit. 106 to be transmitted.
  • filter processing unit 122 has the same configuration as in FIG. 11 and performs the same processing as in FIG.
  • the threshold setting unit 121 can not only set the threshold according to an external designation from the user or the like, but also set the threshold according to the bit depth of the image data (with respect to the bit depth). Can be updated to the appropriate value. That is, the filter processing unit 122 can select an appropriate filter with respect to the bit depth of the image data, and can perform filter processing on the surrounding pixels using the filter. It is possible to generate a predicted image using peripheral pixels that have been subjected to appropriate filter processing with respect to the bit depth. That is, the image coding apparatus 100 can control the image quality of the decoded image and can suppress a reduction in the image quality of the decoded image.
  • the threshold value setting unit 121 of the example of FIG. 19 determines the bit depth of the image data based on the information related to the bit depth, and further, threshold coding indicating the threshold value before update
  • the threshold value setting unit 121 of the example of FIG. 19 determines the bit depth of the image data based on the information related to the bit depth, and further, threshold coding indicating the threshold value before update
  • transmitting information to the decoding side an example of the flow of threshold setting processing executed in step S103 of FIG. 12 will be described.
  • FIG. 20 a case where the threshold change flag is also transmitted to the decoding side will be described.
  • or step S233 is performed similarly to each process of step S211 thru
  • step S236 the threshold bit shift unit 132 bit shifts the threshold set in step S233 according to the determination result (determined bit depth) in step S133.
  • the threshold bit shift unit 132 supplies the updated threshold value to the surrounding pixel determination unit 142 of the filter processing unit 122.
  • step S237 the encoding unit 133 encodes threshold information indicating the threshold set in step S233, that is, the threshold before bit shift (before update).
  • step S2308 the encoding unit 133 supplies the threshold encoding information indicating the threshold before update, which is obtained in step S237, to the lossless encoding unit 106 and transmits it to the decoding side.
  • step S238 When the process of step S238 ends, the process proceeds to step S239. If it is determined in step S231 that an initial value is set as the threshold value, the process proceeds to step S239.
  • each process of step S239 and step S240 is performed similarly to each process of step S137 and step S138 of the example of FIG.
  • step S240 When the process of step S240 ends, the threshold setting process ends, and the process returns to FIG.
  • the threshold setting unit 121 can set a threshold corresponding to the bit depth of the image data (appropriate for the bit depth). Further, the threshold setting unit 121 can set a threshold according to an external designation from the user or the like.
  • step S239 and step S240 can be omitted.
  • the threshold setting unit 121 determines the bit depth of the image data based on the image information instead of the information regarding the bit depth, the processing in steps S234 and S235 in FIG. 20 is performed in steps S172 and S172 in FIG. What is necessary is just to replace with each process of S173.
  • the threshold setting unit 121 in the example of FIG. 19 determines the bit depth of the image data based on the image information, and further, with the threshold coding information indicating the threshold before the update.
  • An example of the flow of threshold setting processing executed in step S103 in FIG. 12 will be described as an example in which information indicating the bit depth is also transmitted to the decoding side.
  • FIG. 21 a case where the threshold value change flag is also transmitted to the decoding side will be described.
  • or step S253 is performed similarly to each process of step S231 thru
  • or step S258 is performed similarly to each process of step S236 thru
  • step S260 When the process of step S260 ends, the process proceeds to step S261. If it is determined in step S251 that an initial value is set as the threshold value, the process proceeds to step S261.
  • each process of step S261 and step S262 is performed similarly to each process of step S239 and step S240 of the example of FIG.
  • step S262 When the process of step S262 ends, the threshold setting process ends, and the process returns to FIG.
  • the threshold setting unit 121 can set a threshold corresponding to the bit depth of the image data (appropriate for the bit depth). Further, the threshold setting unit 121 can set a threshold according to an external designation from the user or the like.
  • the threshold value setting unit 121 of the example of FIG. 19 determines the bit depth of the image data based on the information regarding the bit depth, and further, threshold coding indicating the updated threshold value
  • transmitting information to the decoding side an example of the flow of threshold setting processing executed in step S103 of FIG. 12 will be described.
  • FIG. 22 a case where the threshold value change flag is also transmitted to the decoding side will be described.
  • or step S286 is performed similarly to each process of step S231 thru
  • step S287 the threshold bit shift unit 132 encodes threshold information indicating the threshold after bit shift (after update) obtained in step S286.
  • step S288 the encoding unit 133 supplies the threshold encoding information indicating the updated threshold value obtained in step S287 to the lossless encoding unit 106 and transmits the same to the decoding side.
  • step S288 When the process of step S288 ends, the process proceeds to step S289. If it is determined in step S281 that an initial value is set as the threshold value, the process proceeds to step S289.
  • each process of step S289 and step S290 is performed similarly to each process of step S239 and step S240 of the example of FIG.
  • step S290 When the process of step S290 ends, the threshold setting process ends, and the process returns to FIG.
  • the threshold setting unit 121 can set a threshold corresponding to the bit depth of the image data (appropriate for the bit depth). Further, the threshold setting unit 121 can set a threshold according to an external designation from the user or the like.
  • the threshold setting unit 121 determines the bit depth of the image data based on the image information instead of the information regarding the bit depth, the processes in steps S284 and S285 in FIG. 22 are performed in steps S172 and S172 in FIG. What is necessary is just to replace with each process of S173.
  • FIG. 23 is a block diagram illustrating a main configuration example of an image decoding apparatus corresponding to the image encoding apparatus 100 in FIG. 10, which is an aspect of an image processing apparatus to which the present technology is applied.
  • the image decoding device 300 shown in FIG. 23 decodes the encoded data generated by the image encoding device 100 using a decoding method corresponding to the encoding method.
  • the image decoding apparatus 300 includes a storage buffer 301, a lossless decoding unit 302, an inverse quantization unit 303, an inverse orthogonal transform unit 304, a calculation unit 305, a loop filter 306, a screen rearrangement buffer 307, and a D A / A converter 308 is included. Further, the image decoding apparatus 300 includes a frame memory 309, an intra prediction unit 310, an inter prediction unit 311 and a predicted image selection unit 312.
  • Accumulation buffer 301 is also a receiving unit that receives transmitted encoded data.
  • the accumulation buffer 301 receives and accumulates the transmitted encoded data, and supplies the encoded data to the lossless decoding unit 302 at a predetermined timing. Information necessary for decoding such as prediction mode information is added to the encoded data.
  • the lossless decoding unit 302 decodes the information supplied from the accumulation buffer 301 and encoded by the lossless encoding unit 106 of FIG. 10 using a decoding method corresponding to the encoding method.
  • the lossless decoding unit 302 supplies the quantized coefficient data of the difference image obtained by decoding to the inverse quantization unit 303.
  • the lossless decoding unit 302 determines whether the intra prediction mode is selected as the optimal prediction mode or the inter prediction mode is selected, and information on the optimal prediction mode is stored in the intra prediction unit 310 and the inter prediction unit 311. It is supplied to the mode determined to be selected. That is, for example, when the intra prediction mode is selected as the optimal prediction mode in the image encoding device 100, information regarding the optimal prediction mode is supplied to the intra prediction unit 310. For example, when the inter prediction mode is selected as the optimal prediction mode in the image encoding device 100, information regarding the optimal prediction mode is supplied to the inter prediction unit 311.
  • the lossless decoding unit 302 supplies information necessary for inverse quantization, such as a quantization matrix and a quantization parameter, to the inverse quantization unit 303, for example.
  • the inverse quantization unit 303 inversely quantizes the quantized coefficient data obtained by decoding by the lossless decoding unit 302 using a method corresponding to the quantization method of the quantization unit 105 in FIG.
  • the inverse quantization unit 303 is a processing unit similar to the inverse quantization unit 108 of the image encoding device 100 in FIG. That is, the description of the inverse quantization unit 303 can be applied mutatis mutandis to the inverse quantization unit 108. However, the data input / output destinations and the like need to be changed appropriately according to the device.
  • the inverse quantization unit 303 supplies the obtained coefficient data to the inverse orthogonal transform unit 304.
  • the inverse orthogonal transform unit 304 performs inverse orthogonal transform on the orthogonal transform coefficient supplied from the inverse quantization unit 303 by a method corresponding to the orthogonal transform method of the orthogonal transform unit 104 in FIG.
  • the inverse orthogonal transform unit 304 is a processing unit similar to the inverse orthogonal transform unit 109 of the image encoding device 100 in FIG. That is, the description of the inverse orthogonal transform unit 304 can be applied mutatis mutandis to the inverse orthogonal transform unit 109. However, the data input / output destinations and the like need to be changed appropriately according to the device.
  • the inverse orthogonal transform unit 304 obtains decoded residual data corresponding to the residual data before being orthogonally transformed in the image encoding device 100 by the inverse orthogonal transform process.
  • the decoded residual data obtained by the inverse orthogonal transform is supplied to the calculation unit 305.
  • a predicted image is supplied to the calculation unit 305 from the intra prediction unit 310 or the inter prediction unit 311 via the predicted image selection unit 312.
  • the heel calculation unit 305 adds the difference image and the prediction image, and obtains a reconstructed image corresponding to the image before the prediction image is subtracted by the calculation unit 103 of the image encoding device 100.
  • the calculation unit 305 supplies the reconstructed image to the loop filter 306 and the intra prediction unit 310.
  • the loop filter 306 appropriately performs loop filter processing including deblock filter processing and adaptive loop filter processing on the supplied reconstructed image to generate a decoded image. For example, the loop filter 306 removes block distortion by performing deblocking filter processing on the reconstructed image. Further, for example, the loop filter 306 improves the image quality by performing loop filter processing on the deblock filter processing result (reconstructed image from which block distortion has been removed) using a Wiener filter. I do.
  • the type of filter processing performed by the loop filter 306 is arbitrary, and filter processing other than that described above may be performed. Further, the loop filter 306 may perform the filter process using the filter coefficient supplied from the image encoding device 100 of FIG.
  • the loop filter 306 supplies the decoded image as the filter processing result to the screen rearrangement buffer 307 and the frame memory 309.
  • the screen rearrangement buffer 307 rearranges images. That is, the order of frames rearranged for the encoding order by the screen rearrangement buffer 102 in FIG. 10 is rearranged in the original display order.
  • the D / A conversion unit 308 D / A converts the image supplied from the screen rearrangement buffer 307, outputs it to a display (not shown), and displays it.
  • the frame memory 309 stores the supplied decoded image, and stores the stored decoded image as a reference image in the inter prediction unit 311 at a predetermined timing or based on an external request from the inter prediction unit 311 or the like. Supply.
  • the intra prediction unit 310 is appropriately supplied from the lossless decoding unit 302 with information indicating the intra prediction mode obtained by decoding the header information.
  • the intra prediction unit 310 performs intra prediction using the reference image acquired from the frame memory 309 in the intra prediction mode used in the intra prediction unit 113 in FIG. 10, and generates a predicted image.
  • the intra prediction unit 310 supplies the generated predicted image to the predicted image selection unit 312.
  • the inter prediction unit 311 acquires information (optimum prediction mode information, reference image information, etc.) obtained by decoding the header information from the lossless decoding unit 302.
  • the inter prediction unit 311 performs inter prediction using the reference image acquired from the frame memory 309 in the inter prediction mode indicated by the optimal prediction mode information acquired from the lossless decoding unit 302, and generates a predicted image.
  • the predicted image selection unit 312 supplies the prediction image from the intra prediction unit 310 or the prediction image from the inter prediction unit 311 to the calculation unit 305. Then, the arithmetic unit 305 adds the predicted image generated using the motion vector and the decoded residual data (difference image information) from the inverse orthogonal transform unit 304 to decode the original image. That is, the inter prediction unit 311, the lossless decoding unit 302, the inverse quantization unit 303, the inverse orthogonal transform unit 304, and the calculation unit 305 use a motion vector to decode encoded data and generate an original image. But there is.
  • the heel image decoding apparatus 300 further includes a threshold setting unit 321 and a filter processing unit 322.
  • the heel threshold value setting unit 321 basically performs the same processing as the threshold value setting unit 121. That is, the threshold value setting unit 321 is performed in the threshold value for identifying the characteristics of the peripheral pixels of the current block in the intra prediction process when decoding the encoded data obtained by encoding the image data, that is, the filter processing unit 322.
  • the threshold used for the filter processing on the peripheral pixels of the current block of intra prediction is set according to the bit depth of the image data.
  • the threshold value setting unit 321 can also set the threshold value using the information supplied from the lossless decoding unit 302 and transmitted from the encoding side.
  • the threshold setting unit 321 supplies threshold information indicating the set threshold (updated threshold) to the filter processing unit 322.
  • the threshold setting unit 321 may set the threshold according to the bit depth of the image data to be encoded.
  • the threshold setting unit 321 acquires information on the bit depth of image data, which is a parameter transmitted from the encoding side as a sequence parameter set (SPS) or the like from the lossless decoding unit 302, and the bit depth The bit depth of the image data may be determined based on the information regarding the threshold, and a threshold value corresponding to the bit depth may be set. Further, for example, the threshold setting unit 321 acquires image information (including information on image data and image data) of the decoded image from the frame memory 309 and the like, and based on the image information (by analyzing the image information). The bit depth of the image data may be determined and a threshold value corresponding to the bit depth may be set.
  • SPS sequence parameter set
  • the threshold value setting unit 321 may update the threshold value by bit-shifting an initial value (for example, 8) of a predetermined threshold value according to the determined bit depth.
  • an initial value for example, 8 bits
  • the threshold setting unit 321 determines the difference between the actual bit depth of the image data and the number of bits of 8 bits. Accordingly, the initial value may be bit-shifted.
  • the threshold setting unit 321 acquires the threshold change flag transmitted from the encoding side, and determines whether or not the threshold has been updated based on the value of the threshold change flag. Also good. In this way, the image decoding apparatus 300 can easily identify whether or not the threshold has been updated (changed) based on the value of the threshold change flag. That is, the image decoding apparatus 300 can easily control whether or not to perform a process of updating (changing) the threshold value in the same manner as the encoding side (for example, the image encoding apparatus 100).
  • the threshold setting unit 321 may set this threshold according to information transmitted from the encoding side.
  • the threshold value setting unit 321 acquires the bit depth encoding information supplied from the encoding side from the lossless decoding unit 302 and updates the threshold value according to the bit depth obtained by decoding it. It may be. At this time, for example, the threshold value setting unit 321 updates the threshold value by bit-shifting an initial value (for example, 8) of a predetermined threshold value according to the bit depth indicated by the information transmitted from the encoding side. You may do it.
  • the threshold setting unit 321 further acquires threshold coding information indicating the threshold before update supplied from the encoding side from the lossless decoding unit 302, and sets the threshold obtained by decoding the threshold coding information. Similarly, updating may be performed according to the obtained bit depth. Also in this case, the threshold value may be similarly updated by bit shift.
  • the threshold setting unit 321 may determine whether or not the threshold has been updated based on the value of the threshold change flag transmitted from the encoding side.
  • the threshold value setting unit 321 obtains threshold value encoding information indicating the updated threshold value supplied from the encoding side from the lossless decoding unit 302, and the threshold value obtained by decoding the threshold value encoding information. May be set.
  • the threshold setting unit 321 may determine whether or not the threshold has been updated based on the value of the threshold change flag transmitted from the encoding side.
  • the threshold setting unit 321 may determine the bit depth of the image data to be encoded, and update (change) the threshold transmitted from the encoding side according to the bit depth. .
  • the threshold value setting unit 321 acquires threshold coding information indicating the threshold before update supplied from the encoding side from the lossless decoding unit 302 and decodes the threshold coding information to indicate the threshold before updating. Further, as described above, the bit depth is determined from the information regarding the bit depth transmitted from the encoding side, the image information of the decoded image obtained from the frame memory 309, and the like, and the threshold value is determined according to the bit depth. May be updated. Also in this case, the threshold value may be similarly updated by bit shift.
  • the threshold setting unit 321 may determine whether or not the threshold has been updated based on the value of the threshold change flag transmitted from the encoding side.
  • the bit shift of the wrinkle threshold may be performed, for example, as in the above-described equation (10).
  • the threshold value setting unit 321 may perform golomb decoding on parameters and flags transmitted as Golomb codes.
  • the threshold setting unit 321 may be able to set (update) the threshold based on any parameter other than the bit depth.
  • the initial value of the threshold value described above is arbitrary, but may be “8”, for example.
  • the threshold setting unit 321 may prohibit the application of the bilinear interpolation process and apply the filtering process described with reference to FIG. 5. . That is, when the threshold is “0”, the method described in Non-Patent Document 2 may be disabled.
  • the filter processing unit 322 performs the same processing as the filter processing unit 122 for intra prediction by the intra prediction unit 310, that is, intra prediction processing when decoding encoded data obtained by encoding image data. That is, the filter processing unit 322 acquires threshold value information from the threshold setting unit 321 and uses the threshold value to perform filter processing on peripheral pixels of the current block that is the processing target of intra prediction by the intra prediction unit 310. For example, the filter processing unit 322 uses the threshold acquired from the threshold setting unit 321 to perform threshold determination processing as shown in Expression (3) and Expression (4) to identify the characteristics of the peripheral pixels of the current block. You may do it.
  • the filter processing unit 322 performs the processing on the peripheral pixels.
  • the filter processing also referred to as low-pass filter processing described with reference to FIG. 5 may be performed.
  • the filter processing unit 322 replaces the low-pass filter processing.
  • Bilinear interpolation processing also referred to as bilinear filter processing
  • equations (5) to (9) may be performed.
  • the filter processing unit 322 acquires the peripheral pixels of the current block that is the processing target of the intra prediction from the intra prediction unit 310, the ⁇ ⁇ ⁇ ⁇ filter processing unit 322 performs the above filter processing on the peripheral pixels. Then, the filter processing unit 322 supplies the peripheral pixels after the filter processing to the intra prediction unit 310. In that case, the intra prediction unit 310 performs intra prediction using the peripheral pixels after the filter processing. By doing in this way, the intra estimation part 310 can produce
  • the threshold value setting unit 321 sets a threshold value for identifying the characteristics of the peripheral pixels of the current block in the intra prediction process when decoding image data according to the bit depth of the image data. Therefore, the intra prediction unit 310 can generate a predicted image in which an appropriate filter processing result is reflected on the image data. That is, the image decoding apparatus 300 can suppress the occurrence of noise such as banding in the decoded image, and can suppress the reduction in the image quality of the decoded image.
  • the filtering process on the peripheral pixels of the current block by the filter processing unit 322 is performed in the intra prediction mode (that is, the current block). May be controlled according to the block size).
  • an upper limit of the bit depth to which the bilinear filter processing described in Non-Patent Document 2 is applied may be provided.
  • the bilinear filter processing described in Non-Patent Document 2 may be applied only when the bit depth is 8 bits, and may not be applied in other cases.
  • the bilinear filter processing described in Non-Patent Document 2 can be applied only to luminance signal processing, but is also applied to color difference signal processing. You may be made to do. That is, the present technology can be applied not only to the luminance signal but also to the color difference signal.
  • the present technology can be applied to each channel independently.
  • parameters and flags such as threshold values and bit depths only in the base layer.
  • Etc. and in the non-base layer (enhancement layer), parameters and flags transmitted in the base layer may be referred to.
  • FIG. 24 is a block diagram illustrating a main configuration example of the threshold setting unit 321 and the filter processing unit 322 when the threshold setting unit 321 in FIG. 23 sets a threshold according to the bit depth of the decoded image data. .
  • the threshold setting unit 321 includes a bit depth determination unit 331 and a threshold bit shift unit 332.
  • the bit depth determination unit 331 determines the bit depth of the image data, and supplies information indicating the bit depth to the threshold bit shift unit 332.
  • the bit depth determination unit 331 acquires, from the lossless decoding unit 302, information related to the bit depth of image data transmitted as, for example, a sequence parameter set from the encoding side (for example, the image encoding device 100), and the bit depth The bit depth of the image data is determined based on the information related to the image data. Further, for example, the bit depth determination unit 331 acquires image information of the decoded image from the frame memory 309 and determines the bit depth of the image data based on the image information.
  • the threshold bit shift unit 332 updates (changes) the threshold value by bit-shifting a predetermined threshold value (initial value) set in advance according to the information indicating the bit depth supplied from the bit depth determination unit 331. Do.
  • the threshold bit shift unit 332 uses a value suitable for the case where the bit depth is 8 bits (the same value as the initial value set on the encoding side (for example, the image encoding device 100)) as the initial value of the threshold. It is set in advance.
  • the threshold bit shift unit 332 acquires information indicating the bit depth from the bit depth determination unit 331, the threshold bit shift unit 332 bit-shifts the initial value by the difference between the bit depth of the image data indicated by the information and the number of bits of 8 bits.
  • the threshold value bit shift unit 332 supplies information (threshold information) indicating the updated (changed) threshold value to the surrounding pixel determination unit 342 of the filter processing unit 322.
  • the filter processing unit 322 includes a mode / block size buffer 341, a surrounding pixel determination unit 342, a filter determination unit 343, a low-pass filter unit 344, and a bilinear filter unit 345.
  • the haze filter processing unit 322 is a processing unit similar to the filter processing unit 122 and performs the same processing. That is, the mode / block size buffer 341, the surrounding pixel determination unit 342, the filter determination unit 343, the low pass filter unit 344, and the bilinear filter unit 345 are respectively the surrounding pixel determination unit 142, the filter determination unit 143, the low pass filter unit 144, And a processing unit similar to the bilinear filter unit 145.
  • the heel mode / block size buffer 341 acquires, from the intra prediction unit 310, the block size and mode information (mode / block size) of the current block related to the candidate prediction mode, and holds the information.
  • the eyelid mode block size buffer 341 supplies information (block size) on the held block size to the neighboring pixel determination unit 342 at a predetermined timing or based on a request from another. Also, the mode / block size buffer 341 sends information (mode) regarding the held mode and information (block size) regarding the block size to the filter determination unit 343 at a predetermined timing or based on a request from another. Supply.
  • the peripheral pixel determination unit 342 acquires, from the intra prediction unit 310, peripheral pixels adjacent to the upper side and the left side of the current block regarding candidate prediction modes. In addition, the surrounding pixel determination unit 342 acquires threshold information from the threshold bit shift unit 332. Further, the peripheral pixel determination unit 342 acquires information (block size) regarding the block size from the mode / block size buffer 341.
  • the peripheral pixel determination unit 342 is a mode in which the current block has a predetermined size (for example, 32 ⁇ 32) (or a size within a predetermined range) based on information on the block size acquired from the mode / block size buffer 341. In this case, using the threshold information acquired from the threshold bit shift unit 332, threshold determination processing for selecting a filter to be used for the filter processing on the peripheral pixels acquired from the intra prediction unit 310 is performed. That is, the surrounding pixel determination unit 342 determines the characteristics of the surrounding pixels (for example, whether or not the change in brightness, color, density, etc. is a pixel in a flat portion).
  • the heel peripheral pixel determination unit 342 supplies the determination result to the filter determination unit 343.
  • the surrounding pixel determination unit 342 supplies the surrounding pixels of the current block acquired from the intra prediction unit 310 to the low-pass filter unit 344 and the bilinear filter unit 345.
  • the eaves filter determination unit 343 acquires information (mode) regarding the mode and information (block size) regarding the block size from the mode / block size buffer 341. In addition, the filter determination unit 343 acquires the determination result of the threshold determination process from the surrounding pixel determination unit 342. The filter determination unit 343 determines the type of filtering process to be executed and how to apply the filtering process using them. For example, the filter determination unit 343 determines which of the low-pass filter processing and the bilinear filter processing is applied to the peripheral pixels of the current block, how to perform the filter processing, and the like.
  • the haze filter determination unit 343 supplies control information for controlling the execution of the filter processing to the low-pass filter unit 344 and the bilinear filter unit 345 according to the determination. That is, the filter determination unit 343 supplies control information indicating how to execute the filter process to the selected processing unit among the low-pass filter unit 344 and the bilinear filter unit 345, and the process that has not been selected.
  • the control information for instructing to stop the filtering process (that is, the control information for preventing the filtering process from being executed) is supplied to the unit.
  • the low-pass filter unit 344 performs low-pass filter processing as described with reference to FIG. 5 on the peripheral pixels of the current block supplied from the peripheral pixel determination unit 342 in accordance with the control information supplied from the filter determination unit 343. Do.
  • the low-pass filter unit 344 supplies the peripheral pixels subjected to the low-pass filter process (filtered peripheral pixels) to the intra prediction unit 310.
  • the bilinear filter unit 345 describes the peripheral pixels of the current block supplied from the peripheral pixel determination unit 342 according to the control information supplied from the filter determination unit 343 with reference to Equations (5) to (9). Bilinear filter processing as described above is performed.
  • the bilinear filter unit 345 supplies the peripheral pixels subjected to the bilinear filter process (filtered peripheral pixels) to the intra prediction unit 310.
  • the threshold setting unit 321 can set a threshold corresponding to the bit depth of the image data (appropriate for the bit depth), and the filter processing unit 322 can set the bit depth of the image data.
  • An appropriate filter can be selected for the surrounding pixels, and the filter processing can be performed on the surrounding pixels using the filter.
  • the intra prediction unit 310 performs an appropriate filtering process on the bit depth of the image data. A predicted image can be generated using the neighboring pixels. That is, by doing in this way, the image decoding apparatus 300 can suppress a reduction in the image quality of the decoded image.
  • the accumulation buffer 301 accumulates the transmitted bit stream in step S301.
  • the lossless decoding unit 302 decodes the bitstream (encoded difference image information) supplied from the accumulation buffer 301. That is, the I picture, P picture, and B picture encoded by the lossless encoding unit 106 in FIG. 10 are decoded. At this time, various information other than the difference image information included in the bit stream such as header information is also decoded.
  • step S303 the threshold value setting unit 321 sets a threshold value for identifying the characteristics of the peripheral pixels of the current block in the intra prediction process when decoding the encoded data obtained by encoding the image data.
  • step S304 the inverse quantization unit 303 inversely quantizes the quantized coefficient obtained by the process in step S302.
  • step S305 the inverse orthogonal transform unit 304 performs inverse orthogonal transform on the coefficient inversely quantized in step S304.
  • the intra prediction unit 310 or the inter prediction unit 311 performs a prediction process to generate a predicted image. That is, the prediction process is performed in the prediction mode determined in the lossless decoding unit 302 and applied at the time of encoding. More specifically, for example, when intra prediction is applied at the time of encoding, the intra prediction unit 310 generates a prediction image in the intra prediction mode optimized at the time of encoding. Further, for example, when inter prediction is applied at the time of encoding, the inter prediction unit 311 generates a prediction image in the inter prediction mode that is optimized at the time of encoding.
  • the filter processing unit 322 may perform filter processing on the peripheral pixels of the current block using the threshold set in step S303. When this filter processing is performed, the intra prediction unit 310 performs intra prediction using the filtered peripheral pixels.
  • step S307 the calculation unit 305 adds the predicted image generated in step S306 to the difference image information obtained by the inverse orthogonal transform in step S305. As a result, the original image is decoded.
  • step S308 the loop filter 306 appropriately performs a loop filter process including a deblock filter process and an adaptive loop filter process on the reconstructed image obtained by the process in step S307.
  • step S309 the screen rearrangement buffer 307 rearranges the images filtered in step S308. That is, the order of frames rearranged for encoding by the screen rearrangement buffer 102 of the image encoding device 100 is rearranged to the original display order.
  • step S310 the D / A conversion unit 308 performs D / A conversion on the image in which the frame order is rearranged in step S309. This image is output to a display (not shown), and the image is displayed.
  • step S311 the frame memory 309 stores the image filtered in step S308.
  • step S311 When the process of step S311 is finished, the decoding process is finished.
  • the threshold setting unit 321 of the example of FIG. 24 determines the bit depth of the image data based on the information regarding the bit depth transmitted from the encoding side as a sequence parameter set or the like.
  • An example of the flow of threshold setting processing executed in step S303 in FIG. 25 will be described as an example.
  • FIG. 26 the case where a threshold value change flag is transmitted from the encoding side is demonstrated.
  • step S331 the bit depth determination unit 331 acquires from the lossless decoding unit 302 the threshold value change flag transmitted from the encoding side (for example, the image encoding device 100).
  • step S332 the bit depth determination unit 331 determines whether or not to set an initial value prepared in advance as a threshold based on the value of the threshold change flag acquired in step S331. If it is determined to update the threshold, the process proceeds to step S333.
  • step S333 the bit depth determination unit 331 acquires, from the lossless decoding unit 302, information regarding the bit depth transmitted from the encoding side, for example, as a sequence parameter set (SPS) or the like.
  • SPS sequence parameter set
  • step S334 the bit depth determination unit 331 determines the bit depth of the image data based on the information regarding the bit depth acquired in step S333.
  • step S335 the threshold bit shift unit 332 bit shifts the threshold (initial value) according to the determination result (determined bit depth) in step S334.
  • the threshold bit shift unit 332 supplies the updated threshold value to the surrounding pixel determination unit 342 of the filter processing unit 322.
  • step S335 When the process of step S335 ends, the threshold setting process ends, and the process returns to FIG. If it is determined in step S331 that an initial value is set as the threshold value, the threshold value setting process ends, and the process returns to FIG.
  • the threshold setting unit 321 can set a threshold corresponding to the bit depth of image data (appropriate for the bit depth).
  • step S331 when the threshold value change flag is not transmitted from the encoding side, the processing in step S331 described above can be omitted. In this case, the determination in step S332 is performed based on information other than the threshold change flag, such as information on the bit depth.
  • the lossless decoding unit 302 determines whether or not the optimal prediction mode is the intra prediction mode based on the optimal prediction mode information and the like transmitted from the encoding side in step S351. When it is determined that the optimal prediction mode is intra prediction, the process proceeds to step S352.
  • step S352 the intra prediction unit 310 performs intra prediction and generates a predicted image.
  • the filter processing unit 322 may perform filter processing on the peripheral pixels of the current block using the threshold set in step S303 in FIG.
  • the intra prediction unit 310 performs intra prediction using the filtered peripheral pixels.
  • step S351 when it is determined that the optimal prediction mode is inter prediction, the process proceeds to step S353.
  • step S353 the inter prediction unit 311 performs inter prediction and generates a predicted image. That is, the inter prediction unit 311 generates a prediction image by performing compensation processing using motion vector information transmitted from the encoding side.
  • the prediction process ends, and the process returns to FIG.
  • step S371 the intra prediction unit 310 transmits the intra mode information indicating the optimal intra prediction mode (the adopted intra prediction mode) transmitted as the optimal prediction mode information from the encoding side. Obtained from the lossless decoding unit 302.
  • the surrounding pixel determination unit 342 determines the periphery of the current block acquired from the intra prediction unit 310 based on the block size acquired from the mode / block size buffer 341 and the threshold information acquired from the threshold bit shift unit 332 The feature of the pixel (for example, whether or not the periphery of the current block is a flat portion with lightness, color, density, etc.) is determined.
  • step S373 the filter determination unit 343 determines a filter to be used for peripheral pixels of the current block based on the mode and block size acquired from the mode / block size buffer 341 and the determination result in step S372.
  • step S374 the one selected from the low pass filter unit 344 and the bilinear filter unit 345 by the process in step S373 performs the filter process on the peripheral pixels of the current block.
  • the low-pass filter unit 344 performs low-pass filter processing on the surrounding pixels in the manner determined by the filter determination unit 343.
  • the bilinear filter unit 345 performs bilinear filter processing on the surrounding pixels in the manner determined by the filter determination unit 343.
  • step S375 the intra prediction unit 310 is specified in the intra mode information acquired in step S351 using the peripheral pixels filtered in step S374 (or peripheral pixels that are not filtered if omitted). Intra prediction is performed in the optimal intra prediction mode to generate a predicted image.
  • step S375 When the process of step S375 ends, the intra prediction process ends, and the process returns to FIG.
  • the filter processing unit 322 selects an appropriate filter with respect to the bit depth of the image data, and performs filter processing on the surrounding pixels using the filter.
  • the intra prediction unit 310 can generate a predicted image using peripheral pixels that have been subjected to appropriate filter processing with respect to the bit depth of the image data.
  • the image decoding apparatus 300 can suppress a reduction in the image quality of the decoded image.
  • the threshold value setting unit 321 of the example of FIG. 24 determines the bit depth of the image data based on the image information, and the threshold value setting executed in step S303 of FIG. An example of the flow of processing will be described.
  • FIG. 29 a case where the threshold value change flag is transmitted from the encoding side will be described.
  • each process of step S391, step S392, and step S395 is performed similarly to each process of step S331, step S332, and step S335 of the example of FIG.
  • step S392 in FIG. 29 If it is determined in step S392 in FIG. 29 that the threshold value is updated, the process proceeds to step S393.
  • step S393 the bit depth determination unit 331 acquires the image information of the decoded image from the frame memory 309.
  • step S394 the bit depth determination unit 331 determines the bit depth of the image data based on the image information acquired in step S393.
  • the process of step S394 ends, the process proceeds to step S395.
  • step S395 When the process of step S395 is finished, the threshold setting process is finished, and the process returns to FIG. If it is determined in step S392 that an initial value is set as the threshold value, the threshold value setting process ends, and the process returns to FIG.
  • the threshold setting unit 321 can set a threshold corresponding to the bit depth of the image data (appropriate for the bit depth). Therefore, also in this case, the image decoding device 300 can suppress a reduction in the image quality of the decoded image.
  • step S391 when the threshold value change flag is not transmitted from the encoding side, the processing in step S391 described above can be omitted. In this case, the determination in step S392 is performed based on information other than the threshold change flag, such as image information.
  • FIG. 30 is a block diagram illustrating a main configuration example of the threshold setting unit 321 and the filter processing unit 322 when the threshold setting unit 321 in FIG. 23 sets a threshold based on the bit depth transmitted from the encoding side. is there.
  • the threshold setting unit 321 includes a decoding unit 351 and a threshold bit shift unit 332.
  • the decoding unit 351 acquires bit depth encoding information transmitted from the encoding side, decodes it, and obtains information indicating the bit depth. For example, the decoding unit 351 obtains information indicating the bit depth by Golomb decoding the bit depth encoding information which is a Golomb code. The decoding unit 351 supplies information indicating the obtained bit depth to the threshold bit shift unit 332.
  • Threshold bit shift unit 332 bit shifts a predetermined threshold value (initial value) according to the information indicating the bit depth supplied from decoding unit 351.
  • the threshold bit shift unit 332 supplies threshold information indicating the threshold value after bit shift (updated threshold value) to the surrounding pixel determination unit 342.
  • the decoding unit 351 may further acquire a threshold value change flag transmitted from the encoding side from the lossless decoding unit 302, and determine whether to update the threshold value according to the value.
  • the decoding unit 351 may further acquire threshold value encoding information transmitted from the encoding side, decode it, and obtain threshold value information indicating a threshold value before update.
  • the decoding unit 351 may golom-decode threshold coding information that is a Golomb code to obtain threshold information indicating a pre-update threshold set on the coding side. In that case, the decoding unit 351 supplies the obtained threshold information to the threshold bit shift unit 332.
  • the threshold bit shift unit 332 bit-shifts the threshold value before update indicated by the threshold information supplied from the decoding unit 351 according to the information indicating the bit depth supplied from the decoding unit 351.
  • the threshold bit shift unit 332 supplies threshold information indicating the threshold value after bit shift (updated threshold value) to the surrounding pixel determination unit 342.
  • filter processing unit 322 has the same configuration as in FIG. 24 and performs the same processing as in FIG.
  • the threshold setting unit 321 can set a threshold corresponding to the bit depth of the image data (appropriate for the bit depth), and the filter processing unit 122 can set the bit depth of the image data.
  • An appropriate filter can be selected for the surrounding pixels, and the filter processing can be performed on the surrounding pixels using the filter.
  • the intra prediction unit 310 performs an appropriate filtering process on the bit depth of the image data. A predicted image can be generated using the neighboring pixels. That is, by doing in this way, the image decoding apparatus 300 can suppress a reduction in the image quality of the decoded image.
  • the threshold setting unit 321 can use the threshold set on the encoding side, so the intra prediction unit 310 reflects the designation of image quality on the encoding side in the predicted image. be able to. That is, the image decoding apparatus 300 can reflect the control of the image quality by the encoding side on the decoded image.
  • each process of step S411 and step S412 is performed similarly to each process of step S331 and step S332 of the example of FIG.
  • step S412 in FIG. 31 If it is determined in step S412 in FIG. 31 that the threshold value is updated, the process proceeds to step S413.
  • step S413 the decoding unit 351 acquires bit depth encoding information from the lossless decoding unit 302.
  • step S414 the decoding unit 351 decodes the bit depth encoding information acquired in step S413.
  • step S415 the threshold bit shift unit 332 bit shifts the threshold (initial value) prepared in advance according to the bit depth obtained in step S414.
  • step S415 When the process of step S415 is completed, the threshold setting process is terminated, and the process returns to FIG. If it is determined in step S412 that an initial value is set as the threshold value, the threshold value setting process ends, and the process returns to FIG.
  • the threshold setting unit 321 can set a threshold corresponding to the bit depth of the image data (appropriate for the bit depth). Therefore, also in this case, the image decoding device 300 can suppress a reduction in the image quality of the decoded image.
  • step S411 when the threshold value change flag is not transmitted from the encoding side, the processing in step S411 described above can be omitted. In this case, the determination in step S412 is performed based on information other than the threshold change flag, such as bit depth encoding information.
  • or step S434 is performed similarly to each process of step S411 thru
  • step S434 in FIG. 32 ends, the process proceeds to step S435.
  • step S435 the decoding unit 351 obtains threshold coding information from the lossless decoding unit 302.
  • step S436 the decoding unit 351 decodes the threshold coding information acquired in step S435, and obtains threshold information indicating the threshold before update.
  • step S437 the threshold bit shift unit 332 bit-shifts the pre-update threshold obtained in step S436 according to the bit depth obtained in step S434.
  • step S437 ends, the threshold setting process ends, and the process returns to FIG. If it is determined in step S432 that an initial value is set as the threshold value, the threshold value setting process ends, and the process returns to FIG.
  • the threshold setting unit 321 can set a threshold corresponding to the bit depth of the image data (appropriate for the bit depth). Therefore, also in this case, the image decoding device 300 can suppress a reduction in the image quality of the decoded image.
  • the threshold setting unit 321 can use a threshold set on the encoding side. Therefore, the image decoding apparatus 300 can reflect the control of the image quality by the encoding side on the decoded image.
  • step S431 when the threshold value change flag is not transmitted from the encoding side, the process of step S431 described above can be omitted. In this case, the determination in step S432 is performed based on information other than the threshold change flag, such as bit depth encoding information and threshold encoding information.
  • FIG. 33 shows the main values of the threshold setting unit 321 and the filter processing unit 322 when the threshold setting unit 321 in FIG. 23 sets the updated threshold transmitted from the encoding side as the threshold used in the filter processing unit 322. It is a block diagram which shows a structural example.
  • the threshold setting unit 321 includes a decoding unit 361.
  • the decoding unit 361 acquires threshold coding information transmitted from the coding side, decodes it, and obtains threshold information indicating the updated threshold. For example, the decoding unit 361 obtains threshold information by Golomb decoding threshold coding information that is a Golomb code. The decoding unit 361 supplies the threshold value information indicating the updated threshold value obtained in this way to the neighboring pixel determination unit 342.
  • the decoding unit 361 may further acquire a threshold value change flag transmitted from the encoding side from the lossless decoding unit 302, and determine whether to update the threshold value according to the value.
  • filter processing unit 322 has the same configuration as in FIG. 24 and performs the same processing as in FIG.
  • the threshold value setting unit 321 can set the threshold value set on the encoding side as the threshold value used by the filter processing unit 322. Therefore, the intra prediction unit 310 can be set according to the encoding side.
  • the designation of image quality can be reflected in the predicted image. That is, the image decoding apparatus 300 can reflect the control of the image quality by the encoding side on the decoded image.
  • the threshold value setting unit 321 of the example of FIG. 30 sets the threshold value updated on the encoding side as the threshold value used by the filter processing unit 322.
  • An example of the flow of threshold setting processing executed in S303 will be described. Note that FIG. 34 illustrates a case where the threshold value change flag is transmitted from the encoding side.
  • each process of step S451 and step S452 is performed similarly to each process of step S431 and step S432 of the example of FIG.
  • step S452 in FIG. 34 If it is determined in step S452 in FIG. 34 that the updated threshold value is set, the process proceeds to step S453.
  • step S453 the decoding unit 361 obtains threshold coding information from the lossless decoding unit 302.
  • step S454 the decoding unit 361 decodes the threshold encoding information acquired in step S453, and acquires threshold information indicating the threshold updated on the encoding side.
  • step S454 When the process of step S454 ends, the threshold setting process ends, and the process returns to FIG. If it is determined in step S452 that an initial value is set as the threshold value, the threshold value setting process ends, and the process returns to FIG.
  • the threshold setting unit 321 can use the threshold set on the encoding side. Therefore, the image decoding apparatus 300 can reflect the control of the image quality by the encoding side on the decoded image.
  • step S451 if the threshold value change flag is not transmitted from the encoding side, the processing in step S451 described above can be omitted. In this case, the determination in step S452 is performed based on information other than the threshold change flag, such as threshold encoding information.
  • FIG. 35 shows a threshold value setting unit 321 and a filter processing unit 322 in the case where the threshold value before update transmitted from the encoding side is updated according to the bit depth of the image data decoded by the threshold value setting unit 321 in FIG. It is a block diagram which shows the main structural examples.
  • the threshold setting unit 321 includes a bit depth determination unit 331, a threshold bit shift unit 332, and a decoding unit 351.
  • the bit depth determination unit 331 acquires, from the lossless decoding unit 302, information regarding the bit depth of image data transmitted as, for example, a sequence parameter set from the encoding side (for example, the image encoding device 100), and information regarding the bit depth Is used to determine the bit depth of the image data. Further, for example, the bit depth determination unit 331 acquires image information of the decoded image from the frame memory 309 and determines the bit depth of the image data based on the image information. The bit depth determination unit 331 supplies information indicating the bit depth determined as described above to the threshold bit shift unit 332.
  • the decoding unit 351 obtains threshold coding information transmitted from the coding side, decodes it, and obtains threshold information indicating a threshold before update. For example, the decoding unit 351 obtains threshold information by Golomb decoding threshold coding information that is a Golomb code. The decoding unit 351 supplies the threshold value information indicating the pre-update threshold value thus obtained to the threshold bit shift unit 332.
  • the threshold bit shift unit 332 is set on the encoding side by bit-shifting the pre-update threshold supplied from the decoding unit 351 according to the information indicating the bit depth supplied from the bit depth determination unit 331. Update (change) the threshold.
  • the threshold value bit shift unit 332 is supplied from the decoding unit 351 with a threshold value suitable for a case where the bit depth is 8 bits, as the pre-update threshold value set on the encoding side.
  • the threshold value bit shift unit 332 acquires information indicating the bit depth from the bit depth determination unit 331, the threshold value before update is bit shifted by the difference between the bit depth of the image data indicated by the information and the number of bits of 8 bits. To do.
  • the threshold value bit shift unit 332 supplies information (threshold information) indicating the updated (changed) threshold value to the surrounding pixel determination unit 342 of the filter processing unit 322.
  • bit depth determination unit 331 may further acquire a threshold change flag transmitted from the encoding side from the lossless decoding unit 302, and determine whether to update the threshold according to the value. .
  • filter processing unit 322 has the same configuration as in FIG. 24 and performs the same processing as in FIG.
  • the threshold setting unit 321 can update the threshold set on the encoding side according to the bit depth of the image data, and the filter processing unit 122 can set the bit depth of the image data.
  • An appropriate filter can be selected for the surrounding pixels, and the filter processing can be performed on the surrounding pixels using the filter, and the intra prediction unit 310 has been subjected to the appropriate filter processing on the bit depth of the image data.
  • a predicted image can be generated using peripheral pixels. That is, by doing in this way, the image decoding apparatus 300 can suppress a reduction in the image quality of the decoded image.
  • the threshold value setting unit 321 of the example of FIG. 35 updates the threshold value set on the encoding side based on the bit depth of the image data.
  • An example of the flow of threshold setting processing executed in S303 will be described.
  • FIG. 36 a case where the threshold value change flag is transmitted from the encoding side will be described.
  • or step S474 is performed similarly to each process of step S331 thru
  • step S476 in FIG. 36 the process proceeds to step S477.
  • step S477 the threshold bit shift unit 332 bit-shifts the pre-update threshold obtained in step S476 according to the bit depth obtained in step S474.
  • step S477 ends, the threshold setting process ends, and the process returns to FIG. If it is determined in step S472 that an initial value is set as the threshold value, the threshold value setting process ends, and the process returns to FIG.
  • the threshold setting unit 321 can set a threshold corresponding to the bit depth of the image data (appropriate for the bit depth). Therefore, also in this case, the image decoding device 300 can suppress a reduction in the image quality of the decoded image.
  • the threshold setting unit 321 can use a threshold set on the encoding side. Therefore, the image decoding apparatus 300 can reflect the control of the image quality by the encoding side on the decoded image.
  • step S471 when the threshold value change flag is not transmitted from the encoding side, the processing in step S471 described above can be omitted. In this case, the determination in step S472 is performed based on information other than the threshold change flag, such as information about the bit depth and threshold coding information.
  • step S393 and step S394 of FIG. 29 may be executed instead of the processing of step S473 and step S474.
  • the application range of the present technology can be applied to all image encoding devices and image decoding devices that encode and decode images using intra prediction.
  • the present technology is disclosed in, for example, MPEG, H.264, and the like.
  • image information such as discrete cosine transformation and motion compensation, such as 26x
  • network media such as satellite broadcasting, cable television, the Internet, or mobile phones.
  • the present invention can be applied to an image encoding device and an image decoding device used in the above.
  • the present technology can be applied to an image encoding device and an image decoding device that are used when processing on a storage medium such as an optical, magnetic disk, and flash memory.
  • the present technology can also be applied to intra prediction apparatuses included in such image encoding apparatuses and image decoding apparatuses.
  • FIG. 37 shows an example of a multi-view image encoding method.
  • the multi-viewpoint image includes images of a plurality of viewpoints (views). Multiple views of this multi-viewpoint image are encoded using the base view that encodes and decodes using only the image of its own view without using the image of the other view, and the image of the other view.
  • -It consists of a non-base view that performs decoding. For the non-base view, an image of the base view may be used, or an image of another non-base view may be used.
  • each view image is encoded / decoded.
  • the first embodiment and the second embodiment The method described above in the embodiment may be applied. By doing so, it is possible to suppress a reduction in image quality of each view.
  • the flags and parameters used in the method described in the first embodiment and the second embodiment may be shared. By doing in this way, transmission of redundant information can be suppressed and the amount of information to be transmitted (code amount) can be reduced (that is, reduction in encoding efficiency can be suppressed).
  • a threshold value used for selection of filter processing for peripheral pixels of the current block in intra prediction a bit depth of image data, a threshold value change flag indicating that the threshold value has been changed, or the like. You may make it share in encoding and decoding.
  • FIG. 38 is a diagram illustrating a multi-view image encoding apparatus that performs the multi-view image encoding described above.
  • the multi-view image encoding apparatus 600 includes an encoding unit 601, an encoding unit 602, and a multiplexing unit 603.
  • the cocoon encoding unit 601 encodes the base view image and generates a base view image encoded stream.
  • the encoding unit 602 encodes the non-base view image and generates a non-base view image encoded stream.
  • the multiplexing unit 603 multiplexes the base view image encoded stream generated by the encoding unit 601 and the non-base view image encoded stream generated by the encoding unit 602 to generate a multi-view image encoded stream. To do.
  • the image encoding device 100 (FIG. 10) can be applied to the encoding unit 601 and the encoding unit 602 of the multi-view image encoding device 600. That is, in the encoding for each view, the threshold used for selecting the filter processing for intra prediction can be controlled, and the reduction in image quality of each view can be suppressed.
  • the encoding unit 601 and the encoding unit 602 can control intra prediction filter processing using the same flags and parameters (for example, a threshold value, a bit depth, and the like) (that is, flags and parameters). Parameter can be shared), so that a reduction in encoding efficiency can be suppressed.
  • FIG. 39 is a diagram illustrating a multi-view image decoding apparatus that performs the above-described multi-view image decoding.
  • the multi-view image decoding device 610 includes a demultiplexing unit 611, a decoding unit 612, and a decoding unit 613.
  • the demultiplexing unit 611 demultiplexes the multi-view image encoded stream in which the base view image encoded stream and the non-base view image encoded stream are multiplexed, and the base view image encoded stream and the non-base view image The encoded stream is extracted.
  • the decoding unit 612 decodes the base view image encoded stream extracted by the demultiplexing unit 611 to obtain a base view image.
  • the decoding unit 613 decodes the non-base view image encoded stream extracted by the demultiplexing unit 611 to obtain a non-base view image.
  • the image decoding device 300 (FIG. 23) can be applied to the decoding unit 612 and the decoding unit 613 of the multi-view image decoding device 610. That is, in decoding for each view, it is possible to control a threshold value used for selecting a filter process for intra prediction, and it is possible to suppress a reduction in image quality of each view.
  • the decoding unit 612 and the decoding unit 613 can control intra prediction filter processing using the same flags and parameters (for example, a threshold value, a bit depth, and the like) (that is, the flags and parameters are set). Therefore, it is possible to suppress a reduction in encoding efficiency.
  • FIG. 40 shows an example of a hierarchical image encoding method.
  • Hierarchical image coding is a method in which image data is divided into a plurality of layers (hierarchized) so as to have a scalability function with respect to a predetermined parameter, and is encoded for each layer.
  • the hierarchical image encoding (scalable decoding) is decoding corresponding to the hierarchical image encoding.
  • the hierarchized image includes images of a plurality of hierarchies (layers) having different predetermined parameter values.
  • a plurality of layers of this hierarchical image are encoded / decoded using only the image of the own layer without using the image of the other layer, and encoded / decoded using the image of the other layer.
  • It consists of a non-base layer (also called enhancement layer) that performs decoding.
  • the non-base layer an image of the base layer may be used, or an image of another non-base layer may be used.
  • the non-base layer is composed of difference image data (difference data) between its own image and an image of another layer so that redundancy is reduced.
  • difference image data difference data
  • an image with lower quality than the original image can be obtained using only the base layer data.
  • an original image that is, a high-quality image
  • image compression information of only the base layer (base layer) is transmitted, and a moving image with low spatiotemporal resolution or poor image quality is played
  • base layer For terminals with high processing power, such as televisions and personal computers, in addition to the base layer (base layer), image enhancement information of the enhancement layer (enhancement layer) is transmitted.
  • Image compression information corresponding to the capabilities of the terminal and the network can be transmitted from the server without performing transcoding processing, such as playing a moving image with high image quality.
  • the image of each layer is encoded / decoded.
  • the first embodiment and the second embodiment In the embodiment, the method described above may be applied. By doing so, it is possible to suppress a reduction in image quality of each layer.
  • the flags and parameters used in the methods described in the first embodiment and the second embodiment may be shared. By doing in this way, transmission of redundant information can be suppressed and the amount of information to be transmitted (code amount) can be reduced (that is, reduction in encoding efficiency can be suppressed).
  • a threshold value used for selection of filter processing for peripheral pixels of the current block in intra prediction, a bit depth of image data, or a threshold value change flag indicating that the threshold value has been changed is set for each layer. You may make it share in encoding and decoding.
  • parameters having a scalability function are arbitrary.
  • the spatial resolution as shown in FIG. 41 may be used as the parameter (spatial scalability).
  • the resolution of the image is different for each layer. That is, as shown in FIG. 41, each picture is synthesized with a base layer having a spatial resolution lower than that of the original image and an image of the base layer, so that the original image (original spatial resolution) is obtained. Layered into two layers.
  • this number of hierarchies is an example, and the number of hierarchies can be hierarchized.
  • time resolution as shown in FIG. 42 may be applied (temporal scalability).
  • the frame rate is different for each layer. That is, in this case, as shown in FIG. 42, the layers are hierarchized into different frame rate layers, and by adding a high frame rate layer to a low frame rate layer, a higher frame rate moving image is obtained. By adding all the layers, the original moving image (original frame rate) can be obtained.
  • This number of hierarchies is an example, and can be hierarchized to an arbitrary number of hierarchies.
  • a signal-to-noise ratio (SNR (Signal to Noise ratio)) may be applied (SNR ⁇ ⁇ scalability) as a parameter for providing such scalability.
  • SNR Signal-to-noise ratio
  • the SN ratio is different for each layer. That is, as shown in FIG. 43, each picture has two layers of enhancement layers in which the original image (original SNR) is obtained by combining the base layer with a lower SNR than the original image and the base layer image. Is layered. In other words, in the base layer image compression information, information related to the low PSNR image is transmitted, and the enhancement layer (enhancement layer) image compression information is added to this to reconstruct a high PSNR image. It is possible.
  • this number of hierarchies is an example, and the number of hierarchies can be hierarchized.
  • the base layer (base layer) consists of 8-bit (bit) images, and by adding an enhancement layer (enhancement layer) to this, the bit depth scalability (bit-depth ⁇ ⁇ ⁇ scalability) from which a 10-bit (bit) image can be obtained is there.
  • the base layer (base layer) consists of component images in 4: 2: 0 format, and by adding an enhancement layer (enhancement layer) to this, the chroma scalability (chroma) scalability).
  • FIG. 44 is a diagram illustrating a hierarchical image encoding apparatus that performs the hierarchical image encoding described above.
  • the hierarchical image encoding device 620 includes an encoding unit 621, an encoding unit 622, and a multiplexing unit 623.
  • the cocoon encoding unit 621 encodes the base layer image and generates a base layer image encoded stream.
  • the encoding unit 622 encodes the non-base layer image and generates a non-base layer image encoded stream.
  • the multiplexing unit 623 multiplexes the base layer image encoded stream generated by the encoding unit 621 and the non-base layer image encoded stream generated by the encoding unit 622 to generate a hierarchical image encoded stream. .
  • the image encoding device 100 (FIG. 10) can be applied to the encoding unit 621 and the encoding unit 622 of the hierarchical image encoding device 620. That is, in encoding for each layer, it is possible to control a threshold value used for selecting a filter process for intra prediction, and it is possible to suppress a reduction in image quality of each layer.
  • the encoding unit 621 and the encoding unit 622 can control intra prediction filter processing using the same flags and parameters (for example, threshold value, bit depth, and the like) (that is, flags and parameters). Parameter can be shared), so that a reduction in encoding efficiency can be suppressed.
  • FIG. 45 is a diagram illustrating a hierarchical image decoding apparatus that performs the above-described hierarchical image decoding.
  • the hierarchical image decoding device 630 includes a demultiplexing unit 631, a decoding unit 632, and a decoding unit 633.
  • the demultiplexing unit 631 demultiplexes the hierarchical image encoded stream in which the base layer image encoded stream and the non-base layer image encoded stream are multiplexed, and the base layer image encoded stream and the non-base layer image code Stream.
  • the decoding unit 632 decodes the base layer image encoded stream extracted by the demultiplexing unit 631 to obtain a base layer image.
  • the decoding unit 633 decodes the non-base layer image encoded stream extracted by the demultiplexing unit 631 to obtain a non-base layer image.
  • the image decoding device 300 (FIG. 23) can be applied to the decoding unit 632 and the decoding unit 633 of the hierarchical image decoding device 630. That is, in decoding for each layer, it is possible to control a threshold value used for selecting a filter process for intra prediction, and it is possible to suppress a reduction in image quality of each layer.
  • the decoding unit 612 and the decoding unit 613 can control intra prediction filter processing using the same flags and parameters (for example, a threshold value, a bit depth, and the like) (that is, the flags and parameters are set). Therefore, it is possible to suppress a reduction in encoding efficiency.
  • the present technology is disclosed in, for example, MPEG, H.264, and the like.
  • image information such as discrete cosine transformation and motion compensation, such as 26x
  • network media such as satellite broadcasting, cable television, the Internet, or mobile phones.
  • the present invention can be applied to an image encoding device and an image decoding device used in the above.
  • the present technology can be applied to an image encoding device and an image decoding device that are used when processing on a storage medium such as an optical, magnetic disk, and flash memory.
  • the present technology can also be applied to a quantization device or an inverse quantization device included in the image encoding device, the image decoding device, and the like.
  • the series of processes described above can be executed by hardware or can be executed by software.
  • a program constituting the software is installed in the computer.
  • the computer includes, for example, a general-purpose personal computer that can execute various functions by installing a computer incorporated in dedicated hardware and various programs.
  • FIG. 46 is a block diagram showing a hardware configuration example of a computer that executes the above-described series of processing by a program.
  • a CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • An input / output interface 810 is also connected to the bus 804.
  • An input unit 811, an output unit 812, a storage unit 813, a communication unit 814, and a drive 815 are connected to the input / output interface 810.
  • the bag input unit 811 includes, for example, a keyboard, a mouse, a microphone, a touch panel, an input terminal, and the like.
  • the output unit 812 includes, for example, a display, a speaker, an output terminal, and the like.
  • the storage unit 813 includes, for example, a hard disk, a RAM disk, a nonvolatile memory, and the like.
  • the communication unit 814 includes a network interface, for example.
  • the drive 815 drives a removable medium 821 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory.
  • the CPU 801 loads the program stored in the storage unit 813 into the RAM 803 via the input / output interface 810 and the bus 804 and executes the program, for example. Is performed.
  • the RAM 803 also appropriately stores data necessary for the CPU 801 to execute various processes.
  • the program executed by the computer (CPU 801) can be recorded and applied to, for example, a removable medium 821 as a package medium or the like.
  • the program can be provided via a wired or wireless transmission medium such as a local area network, the Internet, or digital satellite broadcasting.
  • the program can be installed in the storage unit 813 via the input / output interface 810 by attaching the removable medium 821 to the drive 815.
  • the program can be received by the communication unit 814 via a wired or wireless transmission medium and installed in the storage unit 813.
  • the program can be installed in the ROM 802 or the storage unit 813 in advance.
  • the program executed by the computer may be a program that is processed in time series in the order described in this specification, or in parallel or at a necessary timing such as when a call is made. It may be a program for processing.
  • the step of describing the program recorded on the recording medium is not limited to the processing performed in chronological order according to the described order, but may be performed in parallel or It also includes processes that are executed individually.
  • the system means a set of a plurality of components (devices, modules (parts), etc.), and it does not matter whether all the components are in the same housing. Accordingly, a plurality of devices housed in separate housings and connected via a network and a single device housing a plurality of modules in one housing are all systems. .
  • the configuration described as one device (or processing unit) may be divided and configured as a plurality of devices (or processing units). Conversely, the configurations described above as a plurality of devices (or processing units) may be combined into a single device (or processing unit). Of course, a configuration other than that described above may be added to the configuration of each device (or each processing unit). Furthermore, if the configuration and operation of the entire system are substantially the same, a part of the configuration of a certain device (or processing unit) may be included in the configuration of another device (or other processing unit). .
  • the present technology can take a configuration of cloud computing in which one function is shared by a plurality of devices via a network and is jointly processed.
  • each step described in the above flowchart can be executed by one apparatus or can be shared by a plurality of apparatuses.
  • the plurality of processes included in the one step can be executed by being shared by a plurality of apparatuses in addition to being executed by one apparatus.
  • An image encoding device and an image decoding device include a transmitter or a receiver in optical broadcasting, satellite broadcasting, cable broadcasting such as cable TV, distribution on the Internet, and distribution to terminals by cellular communication, etc.
  • the present invention can be applied to various electronic devices such as a recording device that records an image on a medium such as a magnetic disk and a flash memory, or a playback device that reproduces an image from these storage media.
  • a recording device that records an image on a medium such as a magnetic disk and a flash memory
  • a playback device that reproduces an image from these storage media.
  • FIG. 47 illustrates an example of a schematic configuration of a television device to which the above-described embodiment is applied.
  • the television apparatus 900 includes an antenna 901, a tuner 902, a demultiplexer 903, a decoder 904, a video signal processing unit 905, a display unit 906, an audio signal processing unit 907, a speaker 908, an external interface 909, a control unit 910, a user interface 911, And a bus 912.
  • the tuner 902 extracts a signal of a desired channel from a broadcast signal received via the antenna 901, and demodulates the extracted signal. Then, the tuner 902 outputs the encoded bit stream obtained by the demodulation to the demultiplexer 903. That is, the tuner 902 has a role as a transmission unit in the television device 900 that receives an encoded stream in which an image is encoded.
  • the demultiplexer 903 separates the video stream and audio stream of the viewing target program from the encoded bit stream, and outputs each separated stream to the decoder 904. Further, the demultiplexer 903 extracts auxiliary data such as EPG (Electronic Program Guide) from the encoded bit stream, and supplies the extracted data to the control unit 910. Note that the demultiplexer 903 may perform descrambling when the encoded bit stream is scrambled.
  • EPG Electronic Program Guide
  • the decoder 904 decodes the video stream and audio stream input from the demultiplexer 903. Then, the decoder 904 outputs the video data generated by the decoding process to the video signal processing unit 905. In addition, the decoder 904 outputs audio data generated by the decoding process to the audio signal processing unit 907.
  • the video signal processing unit 905 reproduces the video data input from the decoder 904 and causes the display unit 906 to display the video.
  • the video signal processing unit 905 may cause the display unit 906 to display an application screen supplied via a network.
  • the video signal processing unit 905 may perform additional processing such as noise removal on the video data according to the setting.
  • the video signal processing unit 905 may generate a GUI (Graphical User Interface) image such as a menu, a button, or a cursor, and superimpose the generated image on the output image.
  • GUI Graphic User Interface
  • the display unit 906 is driven by a drive signal supplied from the video signal processing unit 905, and displays an image on a video screen of a display device (for example, a liquid crystal display, a plasma display, or an OELD (Organic ElectroLuminescence Display) (organic EL display)). Or an image is displayed.
  • a display device for example, a liquid crystal display, a plasma display, or an OELD (Organic ElectroLuminescence Display) (organic EL display)). Or an image is displayed.
  • the audio signal processing unit 907 performs reproduction processing such as D / A conversion and amplification on the audio data input from the decoder 904, and outputs audio from the speaker 908.
  • the audio signal processing unit 907 may perform additional processing such as noise removal on the audio data.
  • the external interface 909 is an interface for connecting the television device 900 to an external device or a network.
  • a video stream or an audio stream received via the external interface 909 may be decoded by the decoder 904. That is, the external interface 909 also has a role as a transmission unit in the television apparatus 900 that receives an encoded stream in which an image is encoded.
  • the bag control unit 910 includes a processor such as a CPU and memories such as a RAM and a ROM.
  • the memory stores a program executed by the CPU, program data, EPG data, data acquired via a network, and the like.
  • the program stored in the memory is read and executed by the CPU when the television apparatus 900 is activated.
  • the CPU executes the program to control the operation of the television device 900 according to an operation signal input from the user interface 911, for example.
  • the user interface 911 is connected to the control unit 910.
  • the user interface 911 includes, for example, buttons and switches for the user to operate the television device 900, a remote control signal receiving unit, and the like.
  • the user interface 911 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 910.
  • a bus 912 connects a tuner 902, a demultiplexer 903, a decoder 904, a video signal processing unit 905, an audio signal processing unit 907, an external interface 909, and a control unit 910 to each other.
  • the decoder 904 has the function of the image decoding apparatus 300 (FIG. 23) according to the above-described embodiment. Accordingly, it is possible to suppress a reduction in image quality when the television device 900 decodes an image.
  • FIG. 48 shows an example of a schematic configuration of a mobile phone to which the above-described embodiment is applied.
  • a cellular phone 920 includes an antenna 921, a communication unit 922, an audio codec 923, a speaker 924, a microphone 925, a camera unit 926, an image processing unit 927, a demultiplexing unit 928, a recording / reproducing unit 929, a display unit 930, a control unit 931, an operation A portion 932 and a bus 933.
  • the cage antenna 921 is connected to the communication unit 922.
  • the speaker 924 and the microphone 925 are connected to the audio codec 923.
  • the operation unit 932 is connected to the control unit 931.
  • the bus 933 connects the communication unit 922, the audio codec 923, the camera unit 926, the image processing unit 927, the demultiplexing unit 928, the recording / reproducing unit 929, the display unit 930, and the control unit 931 to each other.
  • the mobile phone 920 has various operation modes including a voice call mode, a data communication mode, a shooting mode, and a videophone mode, and is used for sending and receiving voice signals, sending and receiving e-mail or image data, taking images, and recording data. Perform the action.
  • the analog voice signal generated by the microphone 925 is supplied to the voice codec 923.
  • the audio codec 923 converts an analog audio signal into audio data, A / D converts the compressed audio data, and compresses it. Then, the audio codec 923 outputs the compressed audio data to the communication unit 922.
  • the communication unit 922 encodes and modulates the audio data and generates a transmission signal. Then, the communication unit 922 transmits the generated transmission signal to a base station (not shown) via the antenna 921. In addition, the communication unit 922 amplifies a radio signal received via the antenna 921 and performs frequency conversion to acquire a received signal.
  • the communication unit 922 demodulates and decodes the received signal to generate audio data, and outputs the generated audio data to the audio codec 923.
  • the audio codec 923 decompresses the audio data and performs D / A conversion to generate an analog audio signal. Then, the audio codec 923 supplies the generated audio signal to the speaker 924 to output audio.
  • control unit 931 in the data communication mode, for example, the control unit 931 generates character data constituting an e-mail in response to an operation by the user via the operation unit 932. In addition, the control unit 931 causes the display unit 930 to display characters. In addition, the control unit 931 generates e-mail data in response to a transmission instruction from the user via the operation unit 932, and outputs the generated e-mail data to the communication unit 922.
  • the communication unit 922 encodes and modulates email data and generates a transmission signal. Then, the communication unit 922 transmits the generated transmission signal to a base station (not shown) via the antenna 921. In addition, the communication unit 922 amplifies a radio signal received via the antenna 921 and performs frequency conversion to acquire a received signal.
  • the communication unit 922 demodulates and decodes the received signal to restore the email data, and outputs the restored email data to the control unit 931.
  • the control unit 931 displays the content of the electronic mail on the display unit 930 and stores the electronic mail data in the storage medium of the recording / reproducing unit 929.
  • the recording / reproducing unit 929 has a readable / writable arbitrary storage medium.
  • the storage medium may be a built-in storage medium such as a RAM or a flash memory, or an externally mounted type such as a hard disk, magnetic disk, magneto-optical disk, optical disk, USB (Universal Serial Bus) memory, or memory card. It may be a storage medium.
  • the camera unit 926 images a subject to generate image data, and outputs the generated image data to the image processing unit 927.
  • the image processing unit 927 encodes the image data input from the camera unit 926 and stores the encoded stream in the storage medium of the storage / playback unit 929.
  • the demultiplexing unit 928 multiplexes the video stream encoded by the image processing unit 927 and the audio stream input from the audio codec 923, and the multiplexed stream is the communication unit 922. Output to.
  • the communication unit 922 encodes and modulates the stream and generates a transmission signal. Then, the communication unit 922 transmits the generated transmission signal to a base station (not shown) via the antenna 921.
  • the communication unit 922 amplifies a radio signal received via the antenna 921 and performs frequency conversion to acquire a received signal.
  • These transmission signal and reception signal may include an encoded bit stream.
  • the communication unit 922 demodulates and decodes the received signal to restore the stream, and outputs the restored stream to the demultiplexing unit 928.
  • the demultiplexing unit 928 separates the video stream and the audio stream from the input stream, and outputs the video stream to the image processing unit 927 and the audio stream to the audio codec 923.
  • the image processing unit 927 decodes the video stream and generates video data.
  • the video data is supplied to the display unit 930, and a series of images is displayed on the display unit 930.
  • the audio codec 923 decompresses the audio stream and performs D / A conversion to generate an analog audio signal. Then, the audio codec 923 supplies the generated audio signal to the speaker 924 to output audio.
  • the image processing unit 927 has the functions of the image encoding device 100 (FIG. 10) and the image decoding device 300 (FIG. 23) according to the above-described embodiment. Thereby, when the mobile phone 920 encodes and decodes an image, it is possible to suppress a reduction in image quality.
  • FIG. 49 shows an example of a schematic configuration of a recording / reproducing apparatus to which the above-described embodiment is applied.
  • the recording / reproducing device 940 encodes audio data and video data of a received broadcast program and records the encoded data on a recording medium.
  • the recording / reproducing device 940 may encode audio data and video data acquired from another device and record them on a recording medium, for example.
  • the recording / reproducing device 940 reproduces data recorded on the recording medium on a monitor and a speaker, for example, in accordance with a user instruction. At this time, the recording / reproducing device 940 decodes the audio data and the video data.
  • the recording / reproducing apparatus 940 includes a tuner 941, an external interface 942, an encoder 943, an HDD (Hard Disk Drive) 944, a disk drive 945, a selector 946, a decoder 947, an OSD (On-Screen Display) 948, a control unit 949, and a user interface. 950.
  • Tuner 941 extracts a signal of a desired channel from a broadcast signal received via an antenna (not shown), and demodulates the extracted signal. Then, the tuner 941 outputs the encoded bit stream obtained by the demodulation to the selector 946. That is, the tuner 941 serves as a transmission unit in the recording / reproducing apparatus 940.
  • the external interface 942 is an interface for connecting the recording / reproducing device 940 to an external device or a network.
  • the external interface 942 may be, for example, an IEEE1394 interface, a network interface, a USB interface, or a flash memory interface.
  • video data and audio data received via the external interface 942 are input to the encoder 943. That is, the external interface 942 serves as a transmission unit in the recording / reproducing device 940.
  • Encoder 943 encodes video data and audio data when video data and audio data input from external interface 942 are not encoded. Then, the encoder 943 outputs the encoded bit stream to the selector 946.
  • the HDD 944 records an encoded bit stream in which content data such as video and audio are compressed, various programs, and other data on an internal hard disk. Further, the HDD 944 reads out these data from the hard disk when reproducing video and audio.
  • the disk drive 945 records and reads data to and from the mounted recording medium.
  • the recording medium mounted on the disk drive 945 is, for example, a DVD disk (DVD-Video, DVD-RAM, DVD-R, DVD-RW, DVD + R, DVD + RW, etc.) or a Blu-ray (registered trademark) disk. It may be.
  • the selector 946 selects an encoded bit stream input from the tuner 941 or the encoder 943 when recording video and audio, and outputs the selected encoded bit stream to the HDD 944 or the disk drive 945. In addition, the selector 946 outputs the encoded bit stream input from the HDD 944 or the disk drive 945 to the decoder 947 during video and audio reproduction.
  • the decoder 947 decodes the encoded bit stream and generates video data and audio data. Then, the decoder 947 outputs the generated video data to the OSD 948. The decoder 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. Further, the OSD 948 may superimpose a GUI image such as a menu, a button, or a cursor on the video to be displayed.
  • a GUI image such as a menu, a button, or a cursor
  • the bag control unit 949 includes a processor such as a CPU and memories such as a RAM and a ROM.
  • the memory stores a program executed by the CPU, program data, and the like.
  • the program stored in the memory is read and executed by the CPU when the recording / reproducing apparatus 940 is activated, for example.
  • the CPU controls the operation of the recording / reproducing apparatus 940 in accordance with an operation signal input from the user interface 950, for example, by executing the program.
  • the user interface 950 is connected to the control unit 949.
  • the user interface 950 includes, for example, buttons and switches for the user to operate the recording / reproducing device 940, a remote control signal receiving unit, and the like.
  • the user interface 950 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 949.
  • the encoder 943 has the function of the image encoding apparatus 100 (FIG. 10) according to the above-described embodiment.
  • the decoder 947 has the function of the image decoding device 300 (FIG. 23) according to the above-described embodiment. Thereby, it is possible to suppress a reduction in image quality when encoding and decoding an image in the recording / reproducing apparatus 940.
  • FIG. 50 illustrates an example of a schematic configuration of an imaging apparatus to which the above-described embodiment is applied.
  • the imaging device 960 images a subject to generate an image, encodes the image data, and records it on a recording medium.
  • the imaging device 960 includes an optical block 961, an imaging unit 962, a signal processing unit 963, an image processing unit 964, a display unit 965, an external interface 966, a memory 967, a media drive 968, an OSD 969, a control unit 970, a user interface 971, and a bus. 972.
  • the optical block 961 is connected to the imaging unit 962.
  • the imaging unit 962 is connected to the signal processing unit 963.
  • the display unit 965 is connected to the image processing unit 964.
  • the user interface 971 is connected to the control unit 970.
  • the bus 972 connects the image processing unit 964, the external interface 966, the memory 967, the media drive 968, the OSD 969, and the control unit 970 to each other.
  • the optical block 961 includes a focus lens and a diaphragm mechanism.
  • the optical block 961 forms an optical image of the subject on the imaging surface of the imaging unit 962.
  • the imaging unit 962 includes an image sensor such as a CCD (Charge-Coupled Device) or a CMOS (Complementary Metal-Oxide Semiconductor), and converts an optical image formed on the imaging surface into an image signal as an electrical signal by photoelectric conversion. Then, the imaging unit 962 outputs the image signal to the signal processing unit 963.
  • CCD Charge-Coupled Device
  • CMOS Complementary Metal-Oxide Semiconductor
  • the eyelid signal processing unit 963 performs various camera signal processing such as knee correction, gamma correction, and color correction on the image signal input from the imaging unit 962.
  • the signal processing unit 963 outputs the image data after the camera signal processing to the image processing unit 964.
  • the haze image processing unit 964 encodes the image data input from the signal processing unit 963 to generate encoded data. Then, the image processing unit 964 outputs the generated encoded data to the external interface 966 or the media drive 968. The image processing unit 964 also decodes encoded data input from the external interface 966 or the media drive 968 to generate image data. Then, the image processing unit 964 outputs the generated image data to the display unit 965. In addition, the image processing unit 964 may display the image by outputting the image data input from the signal processing unit 963 to the display unit 965. Further, the image processing unit 964 may superimpose display data acquired from the OSD 969 on an image output to the display unit 965.
  • the OSD 969 generates a GUI image such as a menu, a button, or a cursor, for example, and outputs the generated image to the image processing unit 964.
  • the external interface 966 is configured as a USB input / output terminal, for example.
  • the external interface 966 connects the imaging device 960 and a printer, for example, when printing an image.
  • a drive is connected to the external interface 966 as necessary.
  • a removable medium such as a magnetic disk or an optical disk is attached to the drive, and a program read from the removable medium can be installed in the imaging device 960.
  • the external interface 966 may be configured as a network interface connected to a network such as a LAN or the Internet. That is, the external interface 966 has a role as a transmission unit in the imaging device 960.
  • the recording medium loaded in the media drive 968 may be any readable / writable removable medium such as a magnetic disk, a magneto-optical disk, an optical disk, or a semiconductor memory.
  • a recording medium may be fixedly mounted on the media drive 968, and a non-portable storage unit such as an internal hard disk drive or an SSD (Solid State Drive) may be configured.
  • the bag control unit 970 includes a processor such as a CPU and memories such as a RAM and a ROM.
  • the memory stores a program executed by the CPU, program data, and the like.
  • the program stored in the memory is read and executed by the CPU when the imaging device 960 is activated, for example.
  • the CPU controls the operation of the imaging device 960 according to an operation signal input from the user interface 971 by executing the program.
  • the user interface 971 is connected to the control unit 970.
  • the user interface 971 includes, for example, buttons and switches for the user to operate the imaging device 960.
  • the user interface 971 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 970.
  • the image processing unit 964 has the functions of the image encoding device 100 (FIG. 10) and the image decoding device 300 (FIG. 23) according to the above-described embodiment. Accordingly, it is possible to suppress a reduction in image quality when an image is encoded and decoded by the imaging device 960.
  • Scalable encoding is used for selection of data to be transmitted, for example, as in the example shown in FIG.
  • the distribution server 1002 reads the scalable encoded data stored in the scalable encoded data storage unit 1001, and via the network 1003, the personal computer 1004, the AV device 1005, the tablet This is distributed to the terminal device such as the device 1006 and the mobile phone 1007.
  • the distribution server 1002 selects and transmits encoded data of appropriate quality according to the capability of the terminal device, the communication environment, and the like. Even if the distribution server 1002 transmits high-quality data unnecessarily, a high-quality image is not always obtained in the terminal device, which may cause a delay or an overflow. Moreover, there is a possibility that the communication band is unnecessarily occupied or the load on the terminal device is unnecessarily increased. On the other hand, even if the distribution server 1002 transmits unnecessarily low quality data, there is a possibility that an image with sufficient image quality cannot be obtained in the terminal device. Therefore, the distribution server 1002 appropriately reads and transmits the scalable encoded data stored in the scalable encoded data storage unit 1001 as encoded data having an appropriate quality with respect to the capability and communication environment of the terminal device. .
  • the scalable encoded data storage unit 1001 stores scalable encoded data (BL + EL) 1011 encoded in a scalable manner.
  • the scalable encoded data (BL + EL) 1011 is encoded data including both a base layer and an enhancement layer, and is a data that can be decoded to obtain both a base layer image and an enhancement layer image. It is.
  • Distribution server 1002 selects an appropriate layer according to the capability of the terminal device that transmits data, the communication environment, and the like, and reads the data of that layer. For example, the distribution server 1002 reads high-quality scalable encoded data (BL + EL) 1011 from the scalable encoded data storage unit 1001 and transmits it to the personal computer 1004 and the tablet device 1006 with high processing capability as they are. . On the other hand, for example, the distribution server 1002 extracts base layer data from the scalable encoded data (BL + EL) 1011 for the AV device 1005 and the cellular phone 1007 having a low processing capability, and performs scalable encoding. Although it is data of the same content as the data (BL + EL) 1011, it is transmitted as scalable encoded data (BL) 1012 having a lower quality than the scalable encoded data (BL + EL) 1011.
  • BL scalable encoded data
  • scalable encoded data By using scalable encoded data in this way, the amount of data can be easily adjusted, so that the occurrence of delays and overflows can be suppressed, and unnecessary increases in the load on terminal devices and communication media can be suppressed. be able to.
  • scalable encoded data (BL + EL) 1011 since scalable encoded data (BL + EL) 1011 has reduced redundancy between layers, the amount of data can be reduced as compared with the case where encoded data of each layer is used as individual data. . Therefore, the storage area of the scalable encoded data storage unit 1001 can be used more efficiently.
  • the hardware performance of the terminal device varies depending on the device.
  • the application which a terminal device performs is also various, the capability of the software is also various.
  • the network 1003 serving as a communication medium can be applied to any communication network including wired, wireless, or both, such as the Internet and a LAN (Local Area Network), and has various data transmission capabilities. Furthermore, there is a risk of change due to other communications.
  • the distribution server 1002 communicates with the terminal device that is the data transmission destination before starting data transmission, and the hardware performance of the terminal device, the performance of the application (software) executed by the terminal device, etc. Information regarding the capability of the terminal device and information regarding the communication environment such as the available bandwidth of the network 1003 may be obtained. The distribution server 1002 may select an appropriate layer based on the information obtained here.
  • the layer extraction may be performed by the terminal device.
  • the personal computer 1004 may decode the transmitted scalable encoded data (BL + EL) 1011 and display a base layer image or an enhancement layer image. Further, for example, the personal computer 1004 extracts the base layer scalable encoded data (BL) 1012 from the transmitted scalable encoded data (BL + EL) 1011 and stores it or transfers it to another device. The base layer image may be displayed after decoding.
  • the data transmission system 1000 may be any system as long as it transmits a scalable encoded data to a terminal device by selecting an appropriate layer according to the capability of the terminal device or a communication environment. Can be applied to the system.
  • the present technology is applied in the same manner as the application to the hierarchical encoding / decoding described above with reference to FIGS. Effects similar to those described above with reference to FIGS. 40 to 45 can be obtained.
  • scalable coding is used for transmission via a plurality of communication media as in the example shown in FIG. 52, for example.
  • a broadcasting station 1101 transmits base layer scalable encoded data (BL) 1121 by terrestrial broadcasting 1111. Also, the broadcast station 1101 transmits enhancement layer scalable encoded data (EL) 1122 via an arbitrary network 1112 including a wired or wireless communication network or both (for example, packetized transmission).
  • BL base layer scalable encoded data
  • EL enhancement layer scalable encoded data
  • Terminal device 1102 has a reception function of terrestrial broadcast 1111 broadcasted by broadcast station 1101 and receives base layer scalable encoded data (BL) 1121 transmitted via terrestrial broadcast 1111.
  • the terminal apparatus 1102 further has a communication function for performing communication via the network 1112, and receives enhancement layer scalable encoded data (EL) 1122 transmitted via the network 1112.
  • BL base layer scalable encoded data
  • EL enhancement layer scalable encoded data
  • the terminal device 1102 decodes the base layer scalable encoded data (BL) 1121 acquired via the terrestrial broadcast 1111 according to, for example, a user instruction, and obtains or stores a base layer image. Or transmit to other devices.
  • BL base layer scalable encoded data
  • the terminal device 1102 for example, in response to a user instruction, the base layer scalable encoded data (BL) 1121 acquired via the terrestrial broadcast 1111 and the enhancement layer scalable encoded acquired via the network 1112 Data (EL) 1122 is combined to obtain scalable encoded data (BL + EL), or decoded to obtain an enhancement layer image, stored, or transmitted to another device.
  • BL base layer scalable encoded data
  • EL enhancement layer scalable encoded acquired via the network 1112 Data
  • the scalable encoded data can be transmitted via, for example, different communication media for each layer. Therefore, the load can be distributed, and the occurrence of delay and overflow can be suppressed.
  • a communication medium used for transmission may be selected for each layer.
  • scalable encoded data (BL) 1121 of a base layer having a relatively large amount of data is transmitted via a communication medium having a wide bandwidth
  • scalable encoded data (EL) 1122 having a relatively small amount of data is transmitted. You may make it transmit via a communication medium with a narrow bandwidth.
  • the communication medium for transmitting the enhancement layer scalable encoded data (EL) 1122 is switched between the network 1112 and the terrestrial broadcast 1111 according to the available bandwidth of the network 1112. May be.
  • the number of layers is arbitrary, and the number of communication media used for transmission is also arbitrary.
  • the number of terminal devices 1102 serving as data distribution destinations is also arbitrary.
  • broadcasting from the broadcasting station 1101 has been described as an example, but the usage example is not limited to this.
  • the data transmission system 1100 can be applied to any system as long as it is a system that divides scalable encoded data into a plurality of layers and transmits them through a plurality of lines.
  • the present technology is applied in the same manner as the application to the hierarchical encoding / decoding described above with reference to FIGS. Effects similar to those described above with reference to FIGS. 40 to 45 can be obtained.
  • scalable encoding is used for storing encoded data as in the example shown in FIG. 53, for example.
  • the imaging device 1201 performs scalable coding on image data obtained by imaging the subject 1211, and obtains scalable coded data (BL + EL) 1221 as a scalable coded data storage device 1202. To supply.
  • the scalable encoded data storage device 1202 stores the scalable encoded data (BL + EL) 1221 supplied from the imaging device 1201 with quality according to the situation. For example, in the normal case, the scalable encoded data storage device 1202 extracts base layer data from the scalable encoded data (BL + EL) 1221, and the base layer scalable encoded data ( BL) 1222. On the other hand, for example, in the case of attention, the scalable encoded data storage device 1202 stores scalable encoded data (BL + EL) 1221 with high quality and a large amount of data.
  • the scalable encoded data storage device 1202 can store an image with high image quality only when necessary, so that an increase in the amount of data can be achieved while suppressing a reduction in the value of the image due to image quality degradation. And the use efficiency of the storage area can be improved.
  • the imaging device 1201 is a surveillance camera.
  • the monitoring target for example, an intruder
  • the content of the captured image is likely to be unimportant, so reduction of the data amount is given priority, and the image data (scalable coding) Data) is stored in low quality.
  • the image quality is given priority and the image data (scalable) (Encoded data) is stored with high quality.
  • the imaging apparatus 1201 may make a determination, and the determination result may be transmitted to the scalable encoded data storage device 1202.
  • the criterion for determining whether the time is normal or noting is arbitrary, and the content of the image as the criterion is arbitrary. Of course, conditions other than the contents of the image can also be used as the criterion. For example, it may be switched according to the volume or waveform of the recorded sound, may be switched at every predetermined time, or may be switched by an external instruction such as a user instruction.
  • the number of states is arbitrary, for example, normal, slightly attention, attention, very attention, etc.
  • three or more states may be switched.
  • the upper limit number of states to be switched depends on the number of layers of scalable encoded data.
  • the imaging apparatus 1201 may determine the number of layers for scalable coding according to the state. For example, in a normal case, the imaging apparatus 1201 may generate base layer scalable encoded data (BL) 1222 with low quality and a small amount of data, and supply the scalable encoded data storage apparatus 1202 to the scalable encoded data storage apparatus 1202. For example, when attention is paid, the imaging device 1201 generates scalable encoded data (BL + EL) 1221 having a high quality and a large amount of data, and supplies the scalable encoded data storage device 1202 to the scalable encoded data storage device 1202. May be.
  • BL base layer scalable encoded data
  • BL + EL scalable encoded data
  • the surveillance camera has been described as an example.
  • the use of the imaging system 1200 is arbitrary and is not limited to the surveillance camera.
  • the present technology is applied in the same manner as the application to the hierarchical encoding / decoding described above with reference to FIGS.
  • the effect similar to the effect mentioned above with reference to FIG. 45 can be acquired.
  • the present technology can also be applied to HTTP streaming such as MPEGASHDASH, for example, by selecting an appropriate piece of data from a plurality of encoded data with different resolutions prepared in advance. Can do. That is, information regarding encoding and decoding can be shared among a plurality of such encoded data.
  • FIG. 54 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. 54 has such a multi-functional configuration, and a device having a function related to image encoding and decoding (either one or both) can be used for the function. It is a combination of devices having other related functions.
  • the video set 1300 includes a module group such as a video module 1311, an external memory 1312, a power management module 1313, and a front-end module 1314, and an associated module 1321, a camera 1322, a sensor 1323, and the like. And a device having a function.
  • a cocoon module is a component that has several functions that are related to each other and that have a coherent function.
  • the specific physical configuration is arbitrary. For example, a plurality of processors each having a function, electronic circuit elements such as resistors and capacitors, and other devices arranged on a wiring board or the like can be considered. . It is also possible to combine the module with another module, a processor, or the like to form a new module.
  • the video module 1311 is a combination of configurations having functions related to image processing, and includes an application processor 1331, a video processor 1332, a broadband modem 1333, and an RF module 1334.
  • the processor is a configuration in which a configuration having a predetermined function is integrated on a semiconductor chip by an SoC (System On Chip), and for example, there is also 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, and the like, and a program (software configuration) executed using them. , Or a combination of both.
  • a processor has a logic circuit and a CPU, ROM, RAM, etc., a part of the function is realized by a logic circuit (hardware configuration), and other functions are executed by the CPU (software configuration) It may be realized by.
  • the application processor 1331 in FIG. 54 is a processor that executes an application related to image processing.
  • the application executed in the application processor 1331 not only performs arithmetic processing to realize a predetermined function, but also can control the internal and external configurations of 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 / decoding (one or both of them).
  • the broadband modem 1333 converts the data (digital signal) transmitted by wired or wireless (or both) broadband communication via a broadband line such as the Internet or a public telephone line network into an analog signal by digitally modulating the data.
  • the analog signal received by the broadband communication is demodulated and converted into data (digital signal).
  • the broadband modem 1333 processes arbitrary information such as image data processed by the video processor 1332, a stream obtained by encoding 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 RF Frequency) signal transmitted and received via an antenna. For example, the RF module 1334 generates an RF signal by performing frequency conversion or the like on the baseband signal generated by the broadband modem 1333. Further, for example, the RF module 1334 generates a baseband signal by performing frequency conversion or the like on the RF signal received via the front end module 1314.
  • RF Radio RF Frequency
  • the application processor 1331 and the video processor 1332 may be integrated into a single processor.
  • the external memory 1312 is a module having a storage device that is provided outside the video module 1311 and is used by the video module 1311.
  • the storage device of the external memory 1312 may be realized by any physical configuration, but is generally used for storing a large amount of data such as image data in units of frames. For example, it is desirable to realize it with a relatively inexpensive and large-capacity semiconductor memory such as DRAM (Dynamic Random Access Memory).
  • the power management module 1313 manages and controls power supply to the video module 1311 (each component 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 on a transmitting / receiving end on the antenna side). As illustrated in FIG. 54, the front end module 1314 includes, for example, an antenna unit 1351, a filter 1352, and an amplification unit 1353.
  • Antenna unit 1351 has an antenna for transmitting and receiving a radio signal and its peripheral configuration.
  • the antenna unit 1351 transmits the signal supplied from the amplification unit 1353 as a radio signal, and supplies the received radio signal to the filter 1352 as an electric signal (RF signal).
  • the filter 1352 performs a filtering process on the RF signal received via the antenna unit 1351 and supplies the processed RF signal to the RF module 1334.
  • the amplifying unit 1353 amplifies the RF signal supplied from the RF module 1334 and supplies the amplified RF signal to the antenna unit 1351.
  • 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 communication 1321 is compliant with wireless communication standards such as Bluetooth (registered trademark), IEEE 802.11 (for example, Wi-Fi (Wireless Fidelity, registered trademark)), NFC (Near Field Communication), IrDA (InfraRed Data Association), etc. You may make it have a module which has a function, an antenna etc. which transmit / receive the signal based on the standard.
  • the connectivity 1321 has a module having a communication function compliant with a wired communication standard such as USB (Universal Serial Bus), HDMI (registered trademark) (High-Definition Multimedia Interface), or a terminal compliant with the standard. You may do it.
  • the connectivity 1321 may have other data (signal) transmission functions such as analog input / output terminals.
  • the connectivity 1321 may include a data (signal) transmission destination device.
  • the drive 1321 reads and writes data to and from a recording medium such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory (not only a removable medium drive, but also a hard disk, SSD (Solid State Drive) NAS (including Network Attached Storage) and the like.
  • the connectivity 1321 may include an image or audio output device (a monitor, a speaker, or the like).
  • the eyelid camera 1322 is a module having a function of capturing an image of a subject and obtaining image data of the subject.
  • Image data obtained by imaging by the camera 1322 is supplied to, for example, a video processor 1332 and encoded.
  • the sensor 1323 includes, for example, a voice 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 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, or conversely, the configuration described as a processor may be realized as a module.
  • the present technology can be applied to the video processor 1332 as described later. Therefore, the video set 1300 can be implemented as a set to which the present technology is applied.
  • FIG. 55 shows an example of a schematic configuration of a video processor 1332 (FIG. 54) to which the present technology is applied.
  • the video processor 1332 receives the video signal and the audio signal, encodes them in a predetermined method, decodes the encoded video data and audio data, A function of reproducing and outputting an audio signal.
  • the video processor 1332 includes a video input processing unit 1401, a first image enlargement / reduction unit 1402, a second image enlargement / reduction unit 1403, a video output processing unit 1404, a frame memory 1405, and a memory control unit 1406.
  • the video processor 1332 includes an encoding / decoding engine 1407, video ES (ElementaryElementStream) buffers 1408A and 1408B, and audio ES buffers 1409A and 1409B.
  • the video processor 1332 includes an audio encoder 1410, an audio decoder 1411, a multiplexing unit (MUX (Multiplexer)) 1412, a demultiplexing unit (DMUX (Demultiplexer)) 1413, and a stream buffer 1414.
  • MUX Multiplexing unit
  • DMUX Demultiplexer
  • the video input processing unit 1401 acquires a video signal input from, for example, the connectivity 1321 (FIG. 54) and converts it into digital image data.
  • the first image enlargement / reduction unit 1402 performs format conversion, image enlargement / reduction processing, and the like on the image data.
  • the second image enlargement / reduction unit 1403 performs image enlargement / reduction processing on the image data in accordance with the format of the output destination via the video output processing unit 1404, or is the same as the first image enlargement / reduction unit 1402. Format conversion and image enlargement / reduction processing.
  • 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 (FIG. 54).
  • 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 as a semiconductor memory such as a DRAM, for example.
  • the memory control unit 1406 receives the synchronization signal from the encoding / decoding engine 1407, and controls the writing / reading 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 management table 1406A is updated by the memory control unit 1406 in accordance with processing executed by the encoding / decoding engine 1407, the first image enlargement / reduction unit 1402, the second image enlargement / reduction unit 1403, and the like.
  • the encoding / decoding engine 1407 performs encoding processing of image data and decoding processing of a video stream that 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 data as a video stream in the video ES buffer 1408A. Further, for example, the video stream is sequentially read from the video ES buffer 1408B, decoded, and sequentially written in the frame memory 1405 as image data.
  • the encoding / decoding engine 1407 uses the frame memory 1405 as a work area in the encoding and decoding. Also, the encoding / decoding engine 1407 outputs a synchronization signal to the memory control unit 1406, for example, at a timing at which processing for each macroblock is started.
  • the video ES buffer 1408A buffers the video stream generated by the encoding / decoding engine 1407 and supplies the buffered video stream to the multiplexing unit (MUX) 1412.
  • the video ES buffer 1408B buffers the video stream supplied from the demultiplexer (DMUX) 1413 and supplies the buffered video stream to the encoding / decoding engine 1407.
  • the audio ES buffer 1409A buffers the audio stream generated by the audio encoder 1410 and supplies the buffered audio stream to the multiplexing unit (MUX) 1412.
  • the audio ES buffer 1409B buffers the audio stream supplied from the demultiplexer (DMUX) 1413 and supplies the buffered audio stream to the audio decoder 1411.
  • the audio encoder 1410 converts, for example, an audio signal input from the connectivity 1321 (FIG. 54), for example, into a digital format, and encodes the audio signal using a predetermined method such as an MPEG audio method or an AC3 (Audio Code number 3) method.
  • the audio encoder 1410 sequentially writes an audio stream, which is data obtained by encoding an audio signal, in 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, for example, and supplies the reproduced audio signal to, for example, the connectivity 1321 (FIG. 54).
  • Multiplexer (MUX) 1412 multiplexes the video stream and the audio stream.
  • the multiplexing method (that is, the format of the bit stream generated by multiplexing) is arbitrary.
  • 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 stream format by multiplexing. For example, the multiplexing unit (MUX) 1412 multiplexes the video stream and the audio stream to convert it into a transport stream that is a bit stream in a transfer format. Further, for example, the multiplexing unit (MUX) 1412 multiplexes the video stream and the audio stream, thereby converting the data into file format data (file data) for recording.
  • the demultiplexing unit (DMUX) 1413 demultiplexes the bit stream in which the video stream and the audio stream are multiplexed by a method corresponding to the multiplexing by the multiplexing unit (MUX) 1412. That is, the demultiplexer (DMUX) 1413 extracts the video stream and the audio stream from the bit stream read from the stream buffer 1414 (separates the video stream and the audio stream). That is, the demultiplexer (DMUX) 1413 can convert the stream format by demultiplexing (inverse conversion of the conversion by the multiplexer (MUX) 1412). For example, the demultiplexer (DMUX) 1413 obtains the transport stream supplied from, for example, the connectivity 1321 and the broadband modem 1333 (both in FIG.
  • the demultiplexing unit (DMUX) 1413 obtains the file data read from various recording media by the connectivity 1321 (FIG. 54) via the stream buffer 1414 and demultiplexes it, for example. It can be converted into a video stream and an audio stream.
  • DMUX demultiplexing unit
  • 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, at the predetermined timing or based on a request from the outside, for example, the connectivity 1321 or the broadband modem 1333 (whichever Are also supplied to FIG.
  • MUX multiplexing unit
  • the stream buffer 1414 buffers the file data supplied from the multiplexing unit (MUX) 1412 and, for example, the connectivity 1321 (FIG. 54) or the like at a predetermined timing or based on an external request or the like. To be recorded on various recording media.
  • MUX multiplexing unit
  • the connectivity 1321 FIG. 54
  • the stream buffer 1414 buffers the transport stream acquired through, for example, the connectivity 1321 and the broadband modem 1333 (both of which are shown in FIG. 54), and performs reverse processing at a predetermined timing or based on an external request or the like.
  • the data is supplied to a multiplexing unit (DMUX) 1413.
  • DMUX multiplexing unit
  • the stream buffer 1414 buffers file data read from various recording media in the connectivity 1321 (FIG. 54), for example, and at a predetermined timing or based on an external request or the like, a demultiplexing unit (DMUX) 1413.
  • DMUX demultiplexing unit
  • a video signal input to the video processor 1332 from the connectivity 1321 (FIG. 54) or the like is converted into digital image data of a predetermined format such as 4: 2: 2Y / Cb / Cr format by the video input processing unit 1401.
  • the data is sequentially written into the frame memory 1405.
  • This digital image data is read by the first image enlargement / reduction unit 1402 or the second image enlargement / reduction unit 1403, and format conversion to a predetermined method such as 4: 2: 0Y / Cb / Cr method and enlargement / reduction processing are performed. Is written again in the frame memory 1405.
  • This image data is encoded by the encoding / decoding engine 1407 and written as a video stream in the video ES buffer 1408A.
  • an audio signal input to the video processor 1332 from the connectivity 1321 (FIG. 54) or the like is encoded by the audio encoder 1410 and written as an audio stream in 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 multiplexing unit (MUX) 1412 and converted into a transport stream or file data.
  • the transport stream generated by the multiplexing unit (MUX) 1412 is buffered in the stream buffer 1414 and then output to the external network via, for example, the connectivity 1321 and the broadband modem 1333 (both of which are shown in FIG. 54).
  • 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 (FIG. 54) and recorded on various recording media.
  • the transport stream input from the 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 (DMUX) 1413 is demultiplexed.
  • DMUX demultiplexed
  • the file data read from various recording media in the connectivity 1321 (FIG. 54) and inputted to the video processor 1332 is buffered in the stream buffer 1414 and then demultiplexed by the demultiplexer (DMUX) 1413. It becomes. 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.
  • the video stream is written to the video ES buffer 1408B, and then sequentially read and decoded by the encoding / decoding engine 1407, and written to the frame memory 1405.
  • the decoded image data is enlarged / reduced by the second image enlargement / reduction unit 1403 and written to the frame memory 1405.
  • the decoded image data is read out to the video output processing unit 1404, format-converted to a predetermined system such as 4: 2: 2Y / Cb / Cr system, and further converted into an analog signal to be converted into a video signal. Is played out.
  • 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 functions of the image encoding device and the image decoding device according to the above-described embodiments. In this way, the video processor 1332 can obtain the same effects as those described above with reference to FIGS.
  • the present technology (that is, the functions of the image encoding device and the image decoding device according to each embodiment described above) may be realized by hardware such as a logic circuit. It may be realized by software such as an embedded program, or may be realized by both of them.
  • FIG. 56 illustrates another example of a schematic configuration of the video processor 1332 (FIG. 54) to which the present technology is applied.
  • the video processor 1332 has a function of encoding / decoding video data by a predetermined method.
  • the video processor 1332 includes a control unit 1511, a display interface 1512, a display engine 1513, an image processing engine 1514, and an internal memory 1515.
  • the video processor 1332 includes 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 eyelid 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 includes, for example, a main CPU 1531, a sub CPU 1532, and a system controller 1533.
  • the main CPU 1531 executes a program and 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 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 such as a program executed by the main CPU 1531, a subroutine, or the like.
  • the system controller 1533 controls operations of the main CPU 1531 and the sub CPU 1532 such as designating a program to be executed by the main CPU 1531 and the sub CPU 1532.
  • the display interface 1512 outputs image data to, for example, the connectivity 1321 (FIG. 54) or the like under the control of the control unit 1511.
  • the display interface 1512 converts image data of digital data into an analog signal, and outputs it to a monitor device or the like of the connectivity 1321 (FIG. 54) as a reproduced video signal or as image data of the digital data.
  • the display engine 1513 Under the control of the control unit 1511, the display engine 1513 performs various conversion processes such as format conversion, size conversion, color gamut conversion, and the like so as to match the image data with hardware specifications such as a monitor device that displays the image. I do.
  • the eyelid image processing engine 1514 performs predetermined image processing such as filter processing for improving image quality on the image data under the control of the control unit 1511.
  • the internal memory 1515 is a memory provided inside the video processor 1332 that is 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 performed 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 stores the data as needed (eg, upon request). This is supplied to the image processing engine 1514 or the codec engine 1516.
  • the internal memory 1515 may be realized by any storage device, but is generally used for storing a small amount of data such as image data or parameters in units of blocks. It is desirable to realize a semiconductor memory having a relatively small capacity but a high response speed (for example, as compared with the external memory 1312) such as “Static Random Access Memory”.
  • the codec engine 1516 performs processing related to encoding and decoding of image data.
  • the encoding / decoding scheme supported by the codec engine 1516 is arbitrary, and the number thereof may be one or plural.
  • the codec engine 1516 may be provided with codec functions of a plurality of encoding / decoding schemes, and may be configured to perform encoding of image data or decoding of encoded data using one selected from them.
  • the codec engine 1516 includes, for example, MPEG-2 video 1541, AVC / H.2641542, HEVC / H.2651543, HEVC / H.265 (Scalable) 1544, as functional blocks for processing related to the codec.
  • HEVC / H.265 (Multi-view) 1545 and MPEG-DASH 1551 are included.
  • “MPEG-2” Video 1541 is a functional block that encodes and decodes image data in the MPEG-2 format.
  • AVC / H.2641542 is a functional block that encodes and decodes image data using the AVC method.
  • HEVC / H.2651543 is a functional block that encodes and decodes image data using the HEVC method.
  • HEVC / H.265 (Scalable) 1544 is a functional block that performs scalable encoding and scalable decoding of image data using the HEVC method.
  • HEVC / H.265 (Multi-view) 1545 is a functional block that multi-view encodes or multi-view decodes image data using the HEVC method.
  • MPEG-DASH 1551 is a functional block that transmits and receives image data in the MPEG-DASH (MPEG-Dynamic Adaptive Streaming over HTTP) method.
  • MPEG-DASH is a technology for streaming video using HTTP (HyperText Transfer Protocol), and selects and transmits appropriate data from multiple encoded data with different resolutions prepared in advance in segments. This is one of the features.
  • MPEG-DASH 1551 generates a stream compliant with the standard, controls transmission of the stream, and the like.
  • MPEG-2 Video 1541 to HEVC / H.265 (Multi-view) 1545 described above are used. Is used.
  • the memory interface 1517 is an interface for the external memory 1312. Data supplied from the image processing engine 1514 or the codec engine 1516 is supplied to the external memory 1312 via the memory interface 1517. The data read from the external memory 1312 is supplied to the video processor 1332 (the image processing engine 1514 or the codec engine 1516) via the memory interface 1517.
  • a multiplexing / demultiplexing unit (MUX DMUX) 1518 multiplexes and demultiplexes various data related to images such as a bit stream of encoded data, image data, and a video signal.
  • This multiplexing / demultiplexing method is arbitrary.
  • 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 or the like to each divided data. it can.
  • the multiplexing / demultiplexing unit (MUX DMUX) 1518 can convert the data format by multiplexing / demultiplexing.
  • the multiplexing / demultiplexing unit (MUX DMUX) 1518 multiplexes the bitstream, thereby transporting the transport stream, which is a bit stream in a transfer format, or data in a file format for recording (file data).
  • the transport stream which is a bit stream in a transfer format, or data in a file format for recording (file data).
  • file data file format for recording
  • the network interface 1519 is an interface for a broadband modem 1333, connectivity 1321 (both in FIG. 54), and the like.
  • the video interface 1520 is an interface for connectivity 1321, a camera 1322 (both are FIG. 54), and the like.
  • the transport stream is multiplexed / demultiplexed (MUX DMUX) via the network interface 1519.
  • 1518 is demultiplexed and decoded by the codec engine 1516.
  • the image data obtained by decoding by 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 connected to, for example, the connectivity 1321 (see FIG. 54), and the image is displayed on the monitor.
  • image data obtained by decoding by the codec engine 1516 is re-encoded by the codec engine 1516, multiplexed by a multiplexing / demultiplexing unit (MUX DMUX) 1518, converted into file data, and video
  • MUX DMUX multiplexing / demultiplexing unit
  • the data is output to, for example, the connectivity 1321 (FIG. 54) via the interface 1520 and recorded on various recording media.
  • encoded data file data obtained by encoding image data read from a recording medium (not shown) by the connectivity 1321 (FIG. 54) is multiplexed / demultiplexed via the video interface 1520. Is supplied to a unit (MUX DMUX) 1518, demultiplexed, and decoded by the codec engine 1516.
  • Image data obtained by decoding by 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, for example, connectivity 1321 via the display interface 1512 (FIG. 54). And the image is displayed on the monitor.
  • image data obtained by decoding by 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,
  • MUX DMUX multiplexing / demultiplexing unit
  • the connectivity 1321 and the broadband modem 1333 are supplied via the network interface 1519 and transmitted to another device (not shown).
  • image data and other data are exchanged between the processing units in the video processor 1332 using, for example, the internal memory 1515 and the external memory 1312.
  • the power management module 1313 controls power supply to the control unit 1511, for example.
  • the present technology when the present technology is applied to the video processor 1332 configured as described above, the present technology according to each of the above-described embodiments may be applied to the codec engine 1516. That is, for example, the codec engine 1516 may have a functional block that realizes the image encoding device and the image decoding device according to the above-described embodiments. In this way, the video processor 1332 can obtain the same effects as those described above with reference to FIGS.
  • the present technology (that is, the functions of the image encoding device and the image decoding device according to each of the above-described embodiments) may be realized by hardware such as a logic circuit or an embedded program. It may be realized by software such as the above, or 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. For example, a three-dimensional stacked LSI in which a plurality of semiconductors are stacked may be used. Further, it may be realized by a plurality of LSIs.
  • Video set 1300 can be incorporated into various devices that process image data.
  • the video set 1300 can be incorporated in the television device 900 (FIG. 47), the mobile phone 920 (FIG. 48), the recording / reproducing device 940 (FIG. 49), the imaging device 960 (FIG. 50), or the like.
  • the apparatus can obtain the same effects as those described above with reference to FIGS.
  • the video set 1300 includes, for example, terminal devices such as the personal computer 1004, the AV device 1005, the tablet device 1006, and the mobile phone 1007 in the data transmission system 1000 in FIG. 51, the broadcasting station 1101 in the data transmission system 1100 in FIG. It can also be incorporated into the terminal device 1102, the imaging device 1201 in the imaging system 1200 of FIG. 53, the scalable encoded data storage device 1202, and the like.
  • terminal devices such as the personal computer 1004, the AV device 1005, the tablet device 1006, and the mobile phone 1007 in the data transmission system 1000 in FIG. 51, the broadcasting station 1101 in the data transmission system 1100 in FIG. It can also be incorporated into the terminal device 1102, the imaging device 1201 in the imaging system 1200 of FIG. 53, the scalable encoded data storage device 1202, and the like.
  • the apparatus can obtain the same effects as those 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 it includes the video processor 1332.
  • the video processor 1332 can be implemented as a video processor to which the present technology is applied.
  • the processor, the video module 1311 and the like indicated by the dotted line 1341 can be implemented as a processor or a module 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 can be combined and implemented as a video unit 1361 to which the present technology is applied. In any case, the same effects as those described above with reference to FIGS. 1 to 36 can be obtained.
  • 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. 47), a mobile phone 920 (FIG. 48), a recording / playback device 940 (FIG. 49), Imaging device 960 (FIG. 50), terminal devices such as personal computer 1004, AV device 1005, tablet device 1006, and mobile phone 1007 in data transmission system 1000 in FIG. 51, broadcast station 1101 and terminal in data transmission system 1100 in FIG.
  • the apparatus 1102 can be incorporated in the apparatus 1102, the imaging apparatus 1201 in the imaging system 1200 of FIG. 53, the scalable encoded data storage apparatus 1202, and the like. Then, by incorporating any configuration to which the present technology is applied, the apparatus can obtain the same effects as those described above with reference to FIGS. 1 to 36, as in the case of the video set 1300. .
  • this technique selects and uses an appropriate one of a plurality of pieces of encoded data having different resolutions prepared in advance for each segment, for example, an HTTP streaming content such as MPEG DASH to be described later
  • the present invention can also be applied to a reproduction system and a Wi-Fi standard wireless communication system.
  • FIG. 57 is an explanatory diagram showing the configuration of the content reproduction system.
  • the content reproduction system includes content servers 1610 and 1611, a network 1612, and a content reproduction device 1620 (client device).
  • the content servers 1610 and 1611 and the content reproduction device 1620 are connected via a network 1612.
  • the network 1612 is a wired or wireless transmission path for information transmitted from a device connected to the network 1612.
  • the network 1612 may include a public line network such as the Internet, a telephone line network, and a satellite communication network, various LANs (Local Area Networks) including Ethernet (registered trademark), a WAN (Wide Area Network), and the like.
  • the network 1612 may include a dedicated line network such as IP-VPN (Internet Protocol-Virtual Private Network).
  • the content server 1610 encodes the content data, and generates and stores the data file including the encoded data and the meta information of the encoded data.
  • the content server 1610 generates an MP4 format data file, the encoded data corresponds to “mdat” and the meta information corresponds to “moov”.
  • the content data may be music data such as music, lectures and radio programs, video data such as movies, television programs, video programs, photographs, documents, pictures and charts, games and software, etc. .
  • the content server 1610 generates a plurality of data files at different bit rates for the same content.
  • the content server 1611 includes the URL information of the content server 1610 in the content playback device 1620, including information on parameters to be added to the URL by the content playback device 1620. Send.
  • the matter will be specifically described with reference to FIG.
  • FIG. 58 is an explanatory diagram showing a data flow in the content reproduction system of FIG.
  • the content server 1610 encodes the same content data at different bit rates, and generates, for example, a 2 Mbps file A, a 1.5 Mbps file B, and a 1 Mbps file C as shown in FIG. In comparison, file A has a high bit rate, file B has a standard bit rate, and file C has a low bit rate.
  • the encoded data of each file is divided into a plurality of segments.
  • the encoded data of file A is divided into segments “A1”, “A2”, “A3”,... “An”
  • the encoded data of file B is “B1”, “B2”, “B3”,... “Bn” is segmented
  • the encoded data of file C is segmented as “C1”, “C2”, “C3”,. .
  • Each segment consists of one or more video encoded data and audio encoded data that can be reproduced independently, starting with an MP4 sync sample (for example, IDR-picture for AVC / H.264 video encoding). It may be constituted by. For example, when video data of 30 frames per second is encoded by a GOP (Group of Picture) having a fixed length of 15 frames, each segment is 2 seconds worth of video and audio encoded data corresponding to 4 GOPs. Alternatively, it may be video and audio encoded data for 10 seconds corresponding to 20 GOP.
  • an MP4 sync sample for example, IDR-picture for AVC / H.264 video encoding.
  • GOP Group of Picture
  • each segment is 2 seconds worth of video and audio encoded data corresponding to 4 GOPs.
  • it may be video and audio encoded data for 10 seconds corresponding to 20 GOP.
  • the reproduction range (the range of the time position from the beginning of the content) by the segments having the same arrangement order in each file is the same.
  • the playback ranges of the segment “A2”, the segment “B2”, and the segment “C2” are the same and each segment is encoded data for 2 seconds
  • the segment “A2”, the segment “B2”, and The playback range of the segment “C2” is 2 to 4 seconds for the content.
  • the content server 1610 When the content server 1610 generates the files A to C composed of such a plurality of segments, the content server 1610 stores the files A to C. Then, as shown in FIG. 58, content server 1610 sequentially transmits segments constituting different files to content reproduction device 1620, and content reproduction device 1620 performs streaming reproduction of the received segment.
  • the content server 1610 transmits a playlist file (MPD: MediaMPPresentation Description) including the bit rate information and access information of each encoded data to the content playback device 1620, and the content playback device 1620. Selects one of a plurality of bit rates based on the MPD, and requests the content server 1610 to transmit a segment corresponding to the selected bit rate.
  • MPD MediaMPPresentation Description
  • FIG. 57 only one content server 1610 is shown, but it goes without saying that the present disclosure is not limited to such an example.
  • FIG. 59 is an explanatory diagram showing a specific example of MPD.
  • MPD includes access information regarding a plurality of encoded data having different bit rates (BANDWIDTH).
  • BANDWIDTH bit rates
  • the MPD shown in FIG. 59 indicates that each encoded data of 256 Kbps, 1.024 Mbps, 1.384 Mbps, 1.536 Mbps, and 2.048 Mbps exists, and includes access information regarding each encoded data.
  • the content playback device 1620 can dynamically change the bit rate of encoded data to be streamed based on the MPD.
  • FIG. 57 shows a mobile terminal as an example of the content playback device 1620
  • the content playback device 1620 is not limited to such an example.
  • the content playback device 1620 is an information processing device such as a PC (Personal Computer), a home video processing device (DVD recorder, VCR, etc.), a PDA (Personal Digital Assistant), a home game device, or a home appliance.
  • the content playback device 1620 may be an information processing device such as a mobile phone, a PHS (Personal Handyphone System), a portable music playback device, a portable video processing device, or a portable game device.
  • PHS Personal Handyphone System
  • FIG. 60 is a functional block diagram showing the configuration of the content server 1610.
  • the content server 1610 includes a file generation unit 1631, a storage unit 1632, and a communication unit 1633.
  • the habit file generation unit 1631 includes an encoder 1641 that encodes content data, and generates a plurality of encoded data having the same content and different bit rates, and the MPD described above. For example, when the file generation unit 1631 generates encoded data of 256 Kbps, 1.024 Mbps, 1.384 Mbps, 1.536 Mbps, and 2.048 Mbps, the MPD as illustrated in FIG. 59 is generated.
  • the heel storage unit 1632 stores a plurality of encoded data and MPD having different bit rates generated by the file generation unit 1631.
  • the storage unit 1632 may be a storage medium such as a nonvolatile memory, a magnetic disk, an optical disk, and an MO (Magneto-Optical) disk.
  • Non-volatile memory includes, for example, EEPROM (Electrically Erasable Programmable Read-Only ⁇ Memory) and EPROM (Erasable Programmable ROM).
  • Examples of the magnetic disk include a hard disk and a disk type magnetic disk.
  • Examples of the optical disc include CD (Compact Disc), DVD-R (Digital Versatile Disc Recordable), and BD (Blu-Ray Disc (registered trademark)).
  • Communication unit 1633 is an interface with content reproduction device 1620 and communicates with content reproduction device 1620 via network 1612. More specifically, the communication unit 1633 has a function as an HTTP server that communicates with the content reproduction device 1620 according to HTTP. For example, the communication unit 1633 transmits the MPD to the content reproduction device 1620, extracts encoded data requested from the content reproduction device 1620 based on the MPD according to HTTP from the storage unit 1632, and transmits the encoded data to the content reproduction device 1620 as an HTTP response. Transmit encoded data.
  • FIG. 61 is a functional block diagram showing the configuration of the content playback device 1620.
  • the content reproduction device 1620 includes a communication unit 1651, a storage unit 1652, a reproduction unit 1653, a selection unit 1654, and a current location acquisition unit 1656.
  • Communication unit 1651 is an interface with content server 1610, requests data from content server 1610, and acquires data from content server 1610. More specifically, the communication unit 1651 has a function as an HTTP client that communicates with the content reproduction device 1620 according to HTTP. For example, the communication unit 1651 can selectively acquire an MPD or encoded data segment from the content server 1610 by using HTTP Range.
  • the storage unit 1652 stores various information related to content reproduction. For example, the segments acquired from the content server 1610 by the communication unit 1651 are sequentially buffered. The segments of the encoded data buffered in the storage unit 1652 are sequentially supplied to the reproduction unit 1653 by FIFO (First In First Out).
  • FIFO First In First Out
  • the storage unit 1652 adds a parameter to the URL by the communication unit 1651 based on an instruction to add a parameter to the URL of the content described in the MPD requested from the content server 1611 described later, and accesses the URL.
  • the definition to do is memorized.
  • the playback unit 1653 sequentially plays back the segments supplied from the storage unit 1652. Specifically, the playback unit 1653 performs segment decoding, DA conversion, rendering, and the like.
  • the selection unit 1654 sequentially selects within the same content which segment of the encoded data corresponding to which bit rate included in the MPD is to be acquired. For example, when the selection unit 1654 sequentially selects the segments “A1”, “B2”, and “A3” in accordance with the bandwidth of the network 1612, the communication unit 1651 causes the segment “A1” from the content server 1610 as illustrated in FIG. ”,“ B2 ”, and“ A3 ”are acquired sequentially.
  • the current location acquisition unit 1656 acquires the current position of the content playback device 1620, and may be configured with a module that acquires the current location, such as a GPS (Global Positioning System) receiver.
  • the current location acquisition unit 1656 may acquire the current position of the content reproduction device 1620 using a wireless network.
  • FIG. 62 is an explanatory diagram showing a configuration example of the content server 1611. As illustrated in FIG. 62, the content server 1611 includes a storage unit 1671 and a communication unit 1672.
  • the bag storage unit 1671 stores the URL information of the MPD.
  • the MPD URL information is transmitted from the content server 1611 to the content reproduction device 1620 in response to a request from the content reproduction device 1620 that requests content reproduction.
  • the storage unit 1671 stores definition information when the content playback device 1620 adds a parameter to the URL described in the MPD.
  • Communication unit 1672 is an interface with content reproduction device 1620 and communicates with content reproduction device 1620 via network 1612. That is, the communication unit 1672 receives an MPD URL information request from the content reproduction device 1620 that requests content reproduction, and transmits the MPD URL information to the content reproduction device 1620.
  • the MPD URL transmitted from the communication unit 1672 includes information for adding a parameter by the content reproduction device 1620.
  • the parameters added to the MPD URL by the content playback device 1620 can be variously set by definition information shared by the content server 1611 and the content playback device 1620. For example, information such as the current position of the content playback device 1620, the user ID of the user who uses the content playback device 1620, the memory size of the content playback device 1620, the storage capacity of the content playback device 1620, and the like. Can be added to the MPD URL.
  • the encoder 1641 of the content server 1610 has the function of the image encoding device according to the above-described embodiment.
  • the playback unit 1653 of the content playback device 1620 has the function of the image decoding device according to the above-described embodiment.
  • an increase in storage capacity necessary for encoding / decoding can be suppressed by transmitting / receiving data encoded by the present technology.
  • wireless packet transmission / reception is performed until a specific application is operated after a P2P (Peer to Peer) connection is established.
  • P2P Peer to Peer
  • wireless packet transmission / reception is performed from the time when the specific application to be used is specified until the P2P connection is established and the specific application is operated. Thereafter, after connection in the second layer, radio packet transmission / reception is performed when a specific application is started.
  • FIG. 63 and FIG. 64 are examples of wireless packet transmission / reception until the above-described P2P (Peer to Peer) connection is established and a specific application is operated. It is a sequence chart. Specifically, an example of a procedure for establishing a direct connection leading to a connection based on the Wi-Fi Direct (Direct) standard (sometimes referred to as Wi-Fi P2P) standardized by the Wi-Fi Alliance is shown.
  • Direct Wi-Fi Direct
  • Wi-Fi Direct multiple wireless communication devices detect each other's presence (Device Discovery, Service Discovery).
  • WPS Wi-Fi Protected Setup
  • Wi-Fi Direct a communication group is formed by determining whether a plurality of wireless communication devices play a role as a parent device (Group Owner) or a child device (Client).
  • some packet transmission / reception is omitted.
  • packet exchange for using WPS is necessary, and packet exchange is also necessary for exchange of Authentication Request / Response.
  • FIG. 63 and FIG. 64 illustration of these packet exchanges is omitted, and only the second and subsequent connections are shown.
  • 63 and 64 show examples of communication processing between the first wireless communication device 1701 and the second wireless communication device 1702, but the same applies to communication processing between other wireless communication devices.
  • Device Discovery is performed between the first wireless communication device 1701 and the second wireless communication device 1702 (1711).
  • the first wireless communication device 1701 transmits a Probe request (response request signal) and receives a Probe response (response signal) for the Probe request from the second wireless communication device 1702.
  • the first wireless communication device 1701 and the second wireless communication device 1702 can discover each other's presence.
  • Device Discovery can acquire the device name and type (TV, PC, smartphone, etc.) of the other party.
  • Service Discovery is performed between the first wireless communication device 1701 and the second wireless communication device 1702 (1712).
  • the first wireless communication device 1701 transmits a Service Discovery Query that inquires about the service supported by the second wireless communication device 1702 discovered by Device Discovery.
  • the first wireless communication device 1701 receives a Service Discovery Response from the second wireless communication device 1702, thereby acquiring a service supported by the second wireless communication device 1702.
  • a service or the like that can be executed by the other party can be acquired by Service Discovery.
  • Services that can be executed by the other party are, for example, service and protocol (DLNA (Digital Living Network Alliance) DMR (Digital Media Renderer), etc.).
  • DLNA Digital Living Network Alliance
  • DMR Digital Media Renderer
  • connection partner selection operation (connection partner selection operation) is performed by the user (1713).
  • This connection partner selection operation may occur only in one of the first wireless communication device 1701 and the second wireless communication device 1702.
  • a connection partner selection screen is displayed on the display unit of the first wireless communication device 1701, and the second wireless communication device 1702 is selected as a connection partner on the connection partner selection screen by a user operation.
  • Group Owner Negotiation is performed between the first wireless communication device 1701 and the second wireless communication device 1702 (1714).
  • 63 and 64 show an example in which the first wireless communication device 1701 becomes a group owner (Group Owner) 1715 and the second wireless communication device 1702 becomes a client 1716 based on the result of Group Owner Negotiation.
  • each process (1717 to 1720) is performed between the first wireless communication device 1701 and the second wireless communication device 1702, thereby establishing a direct connection. That is, Association (L2 (second layer) link establishment) (1717) and Secure link establishment (1718) are sequentially performed. Further, L4 setup (1720) on L3 by IP ⁇ Address Assignment (1719), SSDP (Simple Service Discovery Protocol) or the like is sequentially performed. L2 (layer2) means the second layer (data link layer), L3 (layer3) means the third layer (network layer), and L4 (layer4) means the fourth layer (transport layer) ).
  • the user designates or activates a specific application (application designation / activation operation) (1721).
  • This application designation / activation operation may occur only in one of the first wireless communication device 1701 and the second wireless communication device 1702.
  • an application designation / startup operation screen is displayed on the display unit of the first wireless communication apparatus 1701, and a specific application is selected by a user operation on the application designation / startup operation screen.
  • connection between AP (Access Point) and STA (Station) is performed within the range of the specifications before Wi-Fi Direct (standardized by IEEE802.11).
  • AP Access Point
  • STA Selection
  • Wi-Fi Direct standardized by IEEE802.11
  • connection partner when searching for a connection candidate partner in Device Discovery or Service Discovery (option), information on the connection partner can be acquired.
  • the information of the connection partner is, for example, a basic device type, a corresponding specific application, or the like. And based on the acquired information of a connection other party, a user can be made to select a connection other party.
  • FIG. 65 shows a configuration example of a frame format (frame ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ format) transmitted and received in this communication process.
  • FIG. 65 is a diagram schematically illustrating a configuration example of a frame format transmitted and received in communication processing performed by each device serving as the basis of the present technology. That is, FIG. 65 shows a configuration example of a MAC frame for establishing a connection in the second layer. Specifically, it is an example of a frame format of Association Request / Response (1787) for realizing the sequence shown in FIG.
  • the MAC frame is composed of Frame control (1751) to FCS (1758), and frame control (1751) to sequence control (1756) is a MAC header.
  • the MAC frame (Frame body (1757)) shown in FIG. 63 is basically an Association Request / Response frame format described in sections 7.2.3.4 and 7.2.3.5 of the IEEE802.11-2007 specification. is there. However, the difference is that not only Information Element (hereinafter abbreviated as IE) (1759) defined in the IEEE802.11 specification, but also an IE that has been independently expanded.
  • IE Information Element
  • IE Type Information Element ID (1761)
  • Length field (1762) and the OUI field (1763) follow, followed by vendor specific content (1764).
  • IE “type” (1765) As the content of “Vendor” specific “content” (1764), a field (IE “type” (1765)) indicating the type of “vendor” specific “IE” is first provided. Then, it is conceivable that a plurality of subelements (1766) can be stored thereafter.
  • the contents of the subelement (1766) include the name (1767) of a specific application to be used and the role of the device (1768) during the operation of the specific application.
  • information such as a specific application or a port number used for its control (information for L4 setup) (1769) and information related to Capability in a specific application (Capability information) (1770) can be included.
  • the Capability information is information for specifying, for example, that audio transmission / reproduction is supported, video transmission / reproduction, and the like when the specific application to be specified is DLNA.
  • the method for transmitting such information is not limited to such an example.
  • these pieces of information may be transmitted or recorded as separate data associated with the encoded bitstream without being multiplexed into the encoded bitstream.
  • the term “associate” means that an image (which may be a part of an image such as a slice or a block) included in the bitstream and information corresponding to the image can be linked at the time of decoding. Means. That is, information may be transmitted on a transmission path different from that of the image (or bit stream).
  • Information may be recorded on a recording medium (or another recording area of the same recording medium) different from the image (or bit stream). Furthermore, the information and the image (or bit stream) may be associated with each other in an arbitrary unit such as a plurality of frames, one frame, or a part of the frame.
  • this technique can also take the following structures.
  • Threshold value setting for setting a threshold value for identifying features of peripheral pixels of the current block in the intra prediction process when decoding encoded data obtained by encoding image data according to the bit depth of the image data
  • An image processing apparatus comprising: a filter processing unit configured to filter the peripheral pixels using a filter corresponding to a feature of the peripheral pixels identified using the threshold set by the threshold setting unit.
  • the image processing device according to any one of (1), (3) to (8), wherein the threshold value setting unit bit-shifts the threshold value set in advance as an initial value according to the bit depth.
  • the threshold value setting unit sets the threshold value to 8 when the bit depth of the image data is 8 bits.
  • the image processing apparatus according to any one of (8). (7) When the value representing the feature of the surrounding pixel exceeds the threshold set by the threshold setting unit, the filter processing unit performs low-pass filtering on the surrounding pixel. (1) to (6), (8 ). (8) The filter processing unit performs bilinear filter processing on the peripheral pixel when a value representing the feature of the peripheral pixel does not exceed the threshold set by the threshold setting unit. (1) to (7) An image processing apparatus according to claim 1.
  • a threshold value for identifying features of peripheral pixels of the current block in the intra prediction process when decoding encoded data obtained by encoding image data is set according to the bit depth of the image data, An image processing method for filtering the surrounding pixels by using a filter corresponding to the characteristics of the surrounding pixels identified by using the set threshold value.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)

Abstract

本開示は、画質の低減を抑制することができるようにする画像処理装置および方法に関する。 画像データが符号化された符号化データを復号する際のイントラ予測処理におけるカレントブロックの周辺画素の特徴を識別するための閾値を、前記画像データのビット深度に応じて設定する閾値設定部と、前記閾値設定部により設定された前記閾値を利用して識別される前記周辺画素の特徴に応じたフィルタを用いて、前記周辺画素をフィルタ処理するフィルタ処理部とを備える。本開示は、例えば、画像処理装置に適用することができる。

Description

画像処理装置および方法
  本開示は画像処理装置および方法に関し、特に、画質の低減を抑制することができるようにした画像処理装置および方法に関する。
  近年、画像情報をデジタルとして取り扱い、その際、効率の高い情報の伝送、蓄積を目的とし、画像情報特有の冗長性を利用して、離散コサイン変換等の直交変換と動き補償により圧縮する符号化方式を採用して画像を圧縮符号する装置が普及しつつある。この符号化方式には、例えば、MPEG(Moving Picture Experts Group)などがある。
  特に、MPEG2(ISO/IEC 13818-2)は、汎用画像符号化方式として定義されており、飛び越し走査画像及び順次走査画像の双方、並びに標準解像度画像及び高精細画像を網羅する標準である。例えば、MPEG2は、プロフェッショナル用途及びコンシューマ用途の広範なアプリケーションに現在広く用いられている。MPEG2圧縮方式を用いることにより、例えば720×480画素を持つ標準解像度の飛び越し走査画像であれば4乃至8Mbpsの符号量(ビットレート)が割り当てられる。また、MPEG2圧縮方式を用いることにより、例えば1920×1088画素を持つ高解像度の飛び越し走査画像であれば18乃至22 Mbpsの符号量(ビットレート)が割り当てられる。これにより、高い圧縮率と良好な画質の実現が可能である。
  MPEG2は主として放送用に適合する高画質符号化を対象としていたが、MPEG1より低い符号量(ビットレート)、つまりより高い圧縮率の符号化方式には対応していなかった。携帯端末の普及により、今後そのような符号化方式のニーズは高まると思われ、これに対応してMPEG4符号化方式の標準化が行われた。画像符号化方式に関しては、1998年12月にISO/IEC 14496-2としてその規格が国際標準に承認された。
  更に、近年、当初テレビ会議用の画像符号化を目的として、H.26L (ITU-T(International Telecommunication Union Telecommunication Standardization Sector) Q6/16 VCEG(Video Coding Expert Group))という標準の規格化が進められた。H.26LはMPEG2やMPEG4といった従来の符号化方式に比べ、その符号化、復号化により多くの演算量が要求されるものの、より高い符号化効率が実現されることが知られている。また、現在、MPEG4の活動の一環として、このH.26Lをベースに、H.26Lではサポートされない機能をも取り入れ、より高い符号化効率を実現する標準化がJoint Model of Enhanced-Compression Video Codingとして行われた。
  標準化のスケジュールとしては、2003年3月にはH.264及びMPEG-4 Part10 (Advanced Video Coding、以下AVCと記す)という名の元に国際標準となった。
  さらに、このH.264/AVCの拡張として、RGBや4:2:2、4:4:4といった、業務用に必要な符号化ツールや、MPEG-2で規定されていた8x8DCTや量子化マトリクスをも含んだFRExt (Fidelity Range Extension) の標準化が2005年2月に完了した。これにより、H.264/AVCを用いて、映画に含まれるフィルムノイズをも良好に表現することが可能な符号化方式となって、Blu-Ray Disc(商標)等の幅広いアプリケーションに用いられる運びとなった。
  しかしながら、昨今、ハイビジョン画像の4倍の、4000×2000画素程度の画像を圧縮したい、あるいは、インターネットのような、限られた伝送容量の環境において、ハイビジョン画像を配信したいといった、更なる高圧縮率符号化に対するニーズが高まっている。このため、先述の、ITU-T傘下のVCEGにおいて、符号化効率の改善に関する検討が継続され行なわれている。
  そこで、現在、AVCより更なる符号化効率の向上を目的として、ITU-Tと、ISO/IECの共同の標準化団体であるJCTVC(Joint Collaboration Team - Video Coding)により、HEVC(High Efficiency Video Coding)と呼ばれる符号化方式の標準化が進められている。HEVC規格については、2012年2月に最初のドラフト版仕様であるCommittee draftが発行されている(例えば、非特許文献1参照)。
  ところで、AVC符号化方式のイントラ8×8予測モードにおいては、処理対象であるカレントブロックの周辺画素に対して[1 2 1]/4フィルタ処理を行っていた。HEVCにおいては、ブロックサイズと、予測モードに応じて、このフィルタ処理のオン・オフ(on/off)が決定される。
  また、HEVCにおいては、予測モードが、DCモード、水平(Horizontal)モード、垂直(Vertical)モードである場合の、ブロック歪の低減を目的として、バウンダリバリュースムージング(Boundary Value Smoothing)処理が規定されている。
  さらに、画像の平坦部において、輪郭が見えてしまうという現象を低減させるために、輪郭ノイズ対策処理が提案された(例えば、非特許文献2参照)。
  この非特許文献2に記載の方法においては、処理対象であるカレントブロックの周辺画素について、閾値判定処理によりその特徴が識別される。その閾値判定処理の結果が真である場合、すなわち、周辺画素が所定の特徴を有する場合、上述した[1 2 1]/4フィルタ処理の代わりに、バイリニアインターポレーション(bi-linear interpolation)処理(バイリニアフィルタ処理とも称する)が行われる。
Benjamin Bross, Woo-Jin Han, Jens-Rainer Ohm, Gary J. Sullivan, Thomas Wiegand, "High efficiency video coding (HEVC) text specification draft 8", JCTVC-H1003_d7, Joint Collaborative Team on Video Coding (JCT-VC)of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, 10th Meeting: Stockholm, SE, 11-20 July 2012 TK Tan, Y. Suzuki, " Contouring artefact and solution ", JCTVC-K0139, Joint Collaborative Team on Video Coding (JCT-VC)of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 1111th Meeting: Shanghai, CN, 10-19 Oct. 2012
  しかしながら、非特許文献2に記載の方法では、閾値が固定されていた。つまり、符号化・復号の処理対象である画像データの、例えばビット深度等の特徴に関わらず、閾値として同じ値が設定されることになった。そのため、イントラ予測における周辺画素に対するフィルタ処理の選択において、適切な選択を行うことができずに不要に画質を低減させてしまう恐れがあった。
  本開示は、このような状況に鑑みてなされたものであり、画質の低減を抑制することができるようにするものである。
  本技術の一側面は、画像データが符号化された符号化データを復号する際のイントラ予測処理におけるカレントブロックの周辺画素の特徴を識別するための閾値を、前記画像データのビット深度に応じて設定する閾値設定部と、前記閾値設定部により設定された前記閾値を利用して識別される前記周辺画素の特徴に応じたフィルタを用いて、前記周辺画素をフィルタ処理するフィルタ処理部とを備える画像処理装置である。
  前記閾値設定部は、初期値として予め定められた前記閾値を、前記ビット深度に応じてビットシフトすることができる。
  前記閾値設定部は、前記画像データのビット深度が8ビットの場合、前記閾値を8に設定することができる。
  前記画像データのビット深度を判定する判定部をさらに備え、前記閾値設定部は、前記判定部により判定されたビット深度に応じて、前記閾値を設定することができる。
  前記画像データのビット深度を受け取る受け取り部をさらに備え、前記閾値設定部は、前記受け取り部により受け取られた前記ビット深度に応じて、前記閾値を設定することができる。
  伝送された、前記画像データのビット深度に応じて設定された閾値を受け取る受け取り部をさらに備え、前記フィルタ処理部は、前記受け取り部により受け取られた前記閾値を利用して識別される前記周辺画素の特徴に応じたフィルタを用いて、前記周辺画素をフィルタ処理することができる。
  前記フィルタ処理部は、前記周辺画素の特徴を表す値が前記閾値設定部により設定された前記閾値を超える場合、前記周辺画素をローパスフィルタ処理することができる。
  前記フィルタ処理部は、前記周辺画素の特徴を表す値が前記閾値設定部により設定された前記閾値を超えない場合、前記周辺画素をバイリニアフィルタ処理することができる。
  本技術の一側面は、また、画像データが符号化された符号化データを復号する際のイントラ予測処理におけるカレントブロックの周辺画素の特徴を識別するための閾値を、前記画像データのビット深度に応じて設定し、設定された前記閾値を利用して識別される前記周辺画素の特徴に応じたフィルタを用いて、前記周辺画素をフィルタ処理する画像処理方法である。
  本技術の一側面においては、画像データが符号化された符号化データを復号する際のイントラ予測処理におけるカレントブロックの周辺画素の特徴を識別するための閾値が、画像データのビット深度に応じて設定され、設定された閾値を利用して識別される周辺画素の特徴に応じたフィルタを用いて、周辺画素がフィルタ処理される。
  本開示によれば、画像を符号化・復号することができる。特に、画質の低減を抑制することができる。
コーディングユニットの構成例を説明する図である。 アンギュラー(Angular)予測の例を説明する図である。 プレイナー(Planar)予測の例を説明する図である。 モストプロバブルモード(MostProbableMode)の例を説明する図である。 MDIS(Mode Dependent Intra Smoothing)の例を説明する図である。 バウンダリバリュースムージング(Boundary Value Smoothing)処理の例を説明する図である。 復号画像の例を示す図である。 復号画像の他の例を示す図である。 閾値判定処理の様子の例を示す図である。 画像符号化装置の主な構成例を示すブロック図である。 閾値設定部およびフィルタ処理部の主な構成例を示すブロック図である。 符号化処理の流れの例を説明するフローチャートである。 閾値設定処理の流れの例を説明するフローチャートである。 イントラ予測処理の流れの例を説明するフローチャートである。 閾値設定処理の流れの、他の例を説明するフローチャートである。 閾値設定処理の流れの、さらに他の例を説明するフローチャートである。 閾値設定部およびフィルタ処理部の他の構成例を示すブロック図である。 閾値設定処理の流れの、さらに他の例を説明するフローチャートである。 閾値設定部およびフィルタ処理部の、さらに他の構成例を示すブロック図である。 閾値設定処理の流れの、さらに他の例を説明するフローチャートである。 閾値設定処理の流れの、さらに他の例を説明するフローチャートである。 閾値設定処理の流れの、さらに他の例を説明するフローチャートである。 画像復号装置の主な構成例を示すブロック図である。 閾値設定部およびフィルタ処理部の主な構成例を示すブロック図である。 復号処理の流れの例を説明するフローチャートである。 閾値設定処理の流れの例を説明するフローチャートである。 予測処理の流れの例を説明するフローチャートである。 イントラ予測処理の流れの例を説明するフローチャートである。 閾値設定処理の流れの、他の例を説明するフローチャートである。 閾値設定部およびフィルタ処理部の他の構成例を示すブロック図である。 閾値設定処理の流れの、さらに他の例を説明するフローチャートである。 閾値設定処理の流れの、さらに他の例を説明するフローチャートである。 閾値設定部およびフィルタ処理部の、さらに他の構成例を示すブロック図である。 閾値設定処理の流れの、さらに他の例を説明するフローチャートである。 閾値設定部およびフィルタ処理部の、さらに他の構成例を示すブロック図である。 閾値設定処理の流れの、さらに他の例を説明するフローチャートである。 多視点画像符号化方式の例を示す図である。 本技術を適用した多視点画像符号化装置の主な構成例を示す図である。 本技術を適用した多視点画像復号装置の主な構成例を示す図である。 階層画像符号化方式の例を示す図である。 スペーシャルなスケーラブル符号化の例を説明する図である。 テンポラルなスケーラブル符号化の例を説明する図である。 信号雑音比のスケーラブル符号化の例を説明する図である。 本技術を適用した階層画像符号化装置の主な構成例を示す図である。 本技術を適用した階層画像復号装置の主な構成例を示す図である。 コンピュータの主な構成例を示すブロック図である。 テレビジョン装置の概略的な構成の一例を示すブロック図である。 携帯電話機の概略的な構成の一例を示すブロック図である。 記録再生装置の概略的な構成の一例を示すブロック図である。 撮像装置の概略的な構成の一例を示すブロック図である。 スケーラブル符号化利用の一例を示すブロック図である。 スケーラブル符号化利用の他の例を示すブロック図である。 スケーラブル符号化利用のさらに他の例を示すブロック図である。 ビデオセットの概略的な構成の一例を示すブロック図である。 ビデオプロセッサの概略的な構成の一例を示すブロック図である。 ビデオプロセッサの概略的な構成の他の例を示すブロック図である。 コンテンツ再生システムの構成を示した説明図である。 コンテンツ再生システムにおけるデータの流れを示した説明図である。 MPDの具体例を示した説明図である。 コンテンツ再生システムのコンテンツサーバの構成を示した機能ブロック図である。 コンテンツ再生システムのコンテンツ再生装置の構成を示した機能ブロック図である。 コンテンツ再生システムのコンテンツサーバの構成を示した機能ブロック図である。 無線通信システムの各装置による通信処理例を示すシーケンスチャートである。 無線通信システムの各装置による通信処理例を示すシーケンスチャートである。 無線通信システムの各装置による通信処理において送受信されるフレームフォーマット(frame format)の構成例を模式的に示す図である。 無線通信システムの各装置による通信処理例を示すシーケンスチャートである。
  以下、本開示を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行う。
  0.概要
  1.第1の実施の形態(画像符号化装置)
  2.第2の実施の形態(画像復号装置)
  3.第3の実施の形態(多視点画像符号化・多視点画像復号装置)
  4.第4の実施の形態(階層画像符号化・階層画像復号装置)
  5.第5の実施の形態(コンピュータ)
  6.応用例
  7.スケーラブル符号化の応用例
 8.第6の実施の形態(セット・ユニット・モジュール・プロセッサ)
 9.第7の実施の形態(MPEG-DASHのコンテンツ再生システムの応用例)
 10.第8の実施の形態(Wi-Fi規格の無線通信システムの応用例)
  <0.概要>
    <符号化方式>
  以下においては、HEVC(High Efficiency Video Coding)方式の画像符号化・復号に適用する場合を例に、本技術を説明する。
    <コーディングユニット>
  AVC(Advanced Video Coding)方式においては、マクロブロックとサブマクロブロックによる階層構造が規定されている。しかしながら、16画素×16画素のマクロブロックでは、次世代符号化方式の対象となるような、UHD(Ultra High Definition;4000画素×2000画素)といった大きな画枠に対して最適ではない。
  これに対して、HEVC方式においては、図1に示されるように、コーディングユニット(CU(Coding Unit))が規定されている。
  CUは、Coding Tree Block(CTB)とも呼ばれ、AVC方式におけるマクロブロックと同様の役割を果たす、ピクチャ単位の画像の部分領域である。後者は、16×16画素の大きさに固定されているのに対し、前者の大きさは固定されておらず、それぞれのシーケンスにおいて、画像圧縮情報中において指定されることになる。
  例えば、出力となる符号化データに含まれるシーケンスパラメータセット(SPS(Sequence Parameter Set))において、CUの最大サイズ(LCU(Largest Coding Unit))と最小サイズ(SCU(Smallest Coding Unit))が規定される。
  それぞれのLCU内においては、SCUのサイズを下回らない範囲で、split-flag=1とすることにより、より小さなサイズのCUに分割することができる。図1の例では、LCUの大きさが128であり、最大階層深度が5となる。2N×2Nの大きさのCUは、split_flagの値が「1」である時、1つ下の階層となる、N×Nの大きさのCUに分割される。
  更に、CUは、イントラ若しくはインター予測の処理単位となる領域(ピクチャ単位の画像の部分領域)であるプレディクションユニット(Prediction Unit(PU))に分割され、また、直交変換の処理単位となる領域(ピクチャ単位の画像の部分領域)である、トランスフォームユニット(Transform Unit(TU))に分割される。現在、HEVC方式においては、4×4及び8×8に加え、16×16及び32×32直交変換を用いることが可能である。
  以上のHEVC方式のように、CUを定義し、そのCUを単位として各種処理を行うような符号化方式の場合、AVC方式におけるマクロブロックはLCUに相当し、ブロック(サブブロック)はCUに相当すると考えることができる。また、AVC方式における動き補償ブロックは、PUに相当すると考えることができる。ただし、CUは、階層構造を有するので、その最上位階層のLCUのサイズは、例えば128×128画素のように、AVC方式のマクロブロックより大きく設定されることが一般的である。
  よって、以下、LCUは、AVC方式におけるマクロブロックをも含むものとし、CUは、AVC方式におけるブロック(サブブロック)をも含むものとする。つまり、以下の説明に用いる「ブロック」は、ピクチャ内の任意の部分領域を示し、その大きさ、形状、および特性等は限定されない。つまり、「ブロック」には、例えば、TU、PU、SCU、CU、LCU、サブブロック、マクロブロック、またはスライス等任意の領域(処理単位)が含まれる。もちろん、これら以外の部分領域(処理単位)も含まれる。サイズや処理単位等を限定する必要がある場合は、適宜説明する。
    <モード選択>
  ところで、AVCそしてHEVC符号化方式において、より高い符号化効率を達成するには、適切な予測モードの選択が重要である。
  かかる選択方式の例として、JM (Joint Model) と呼ばれるH.264/MPEG-4 AVCの参照ソフトウエア (http://iphome.hhi.de/suehring/tml/index.htm において公開されている) に実装されている方法を挙げることが出来る。
  JMにおいては、以下に述べる、High Complexity Modeと、Low Complexity Modeの2通りのモード判定方法を選択することが可能である。どちらも、それぞれの予測モードModeに関するコスト関数値を算出し、これを最小にする予測モードを当該ブロック乃至マクロブロックに対する最適モードとして選択する。
  High Complexity Modeにおけるコスト関数は、以下の式(1)のように示される。
Figure JPOXMLDOC01-appb-M000001
  ここで、Ωは、当該ブロック乃至マクロブロックを符号化するための候補モードの全体集合、Dは、当該予測モードで符号化した場合の、復号画像と入力画像の差分エネルギーである。λは、量子化パラメータの関数として与えられるLagrange未定乗数である。Rは、直交変換係数を含んだ、当該モードで符号化した場合の総符号量である。
  つまり、High Complexity Modeでの符号化を行うには、上記パラメータD及びRを算出するため、全ての候補モードにより、一度、仮エンコード処理を行う必要があり、より高い演算量を要する。
  Low Complexity Modeにおけるコスト関数は、以下の式(2)のように示される。
Figure JPOXMLDOC01-appb-M000002
  ここで、Dは、High Complexity Modeの場合と異なり、予測画像と入力画像の差分エネルギーとなる。QP2Quant(QP)は、量子化パラメータQPの関数として与えられ、HeaderBitは、直交変換係数を含まない、動きベクトルや、モードといった、Headerに属する情報に関する符号量である。
  すなわち、Low Complexity Modeにおいては、それぞれの候補モードに関して、予測処理を行う必要があるが、復号画像までは必要ないため、符号化処理まで行う必要はない。このため、High Complexity Modeより低い演算量での実現が可能である。
    <イントラ予測>
  AVCではイントラ4×4予測、イントラ8×8予測、並びに、イントラ16×16予測が存在するのに対し、HEVCでは、4×4乃至64×64画素ブロックについて、図2に示されるような、アンギュラー(Angular)予測が適用される。
  すなわち、AVCでは、図2のAに示されるように、8方向+直流予測によりイントラ予測処理が行われるのに対し、HEVCでは図2のBに示されるように、32方向+直流予測によりイントラ予測が行なわれる。これにより、予測精度が向上する。
  また、HEVCにおいては、図3に示されるような、プレイナー(Planar)予測が規定されている。
  プレイナー(Planar)予測処理においては、処理対象であるカレントブロックの周辺画素(既に符号化済みの画素)から、バイリニアインターポレーション(bi-linear interpolation)により、カレントブロックに含まれる予測画素が生成される。プレイナー(Planar)予測処理は、グラデーション(gradation)のあるような領域の符号化効率を向上させることができる。
  HEVCにおいては、図4に示されるように、3つのモストプロバブルモード(MostProbableMode)を用いたイントラ予測モードの符号化処理が行われる。すなわち、カレントブロックの上に隣接する周辺ブロックのイントラ予測モード(Above)、カレントブロックの左に隣接する周辺ブロックのイントラ予測モード(Left)、および、それらの周辺ブロック(AboveおよびLeft)におけるイントラ予測モードの組み合わせにより決定されるモードを、イントラ予測モードの候補(候補モードとも称する)とし、この3つの候補モードの中から、最適なものをカレントブロックのイントラ予測モードとして採用する。
  カレントブロックの予測モードと、モストプロバブルモード(MostProbableMode)のどれかが同一である場合には、そのインデックス(index)番号を伝送する。そうでない場合には、予測ブロックのモード情報を、5ビットの固定長により伝送する。
    <イントラ予測におけるフィルタ処理>
  図5は、HEVCにおいて規定されているMDIS(Mode Dependent Intra Smoothing)を説明する図である。
  AVCの場合、イントラ8×8予測モードにおいて、カレントブロックの周辺画素に対して、図5に示されるように、[1 2 1]/4フィルタ処理が行われる。これに対して、HEVCにおいては、ブロックサイズと予測モードに応じて、このフィルタ処理のオン・オフ(on/off)(すなわち、このフィルタ処理を適用するか否か)が決定される。
  より具体的には、カレントブロックのブロックサイズが4×4の場合、このフィルタ処理は適用されない。カレントブロックのブロックサイズが8×8の場合、45度方向の予測モードに対して、このフィルタ処理が適用される。カレントブロックのブロックサイズが16×16の場合、水平(horizontal)に近い3方向、並びに、垂直(vertical)に近い3方向以外の方向の予測モードに対して、このフィルタ処理が適用される。カレントブロックのブロックサイズが32×32の場合、水平(horizontal)および垂直(vertical)以外の方向の予測モードに対して、このフィルタ処理が適用される。
  更に、また、HEVCにおいては、予測モードが直流(DC)モード、水平(Horizontal)モード、垂直(Vertical)モードである場合のブロック歪の低減を目的として、図6に示されるようなバウンダリバリュースムージング(Boundary Value Smoothing)処理が規定されている。
  例えば、予測モードが直流(DC)モードである予測(DC予測)の場合、処理対象であるカレントブロックの上辺(Top)に隣接する周辺画素、および、カレントブロックの左辺(Left)に隣接する周辺画素の両方について、図6に示されるフィルタ処理(スムージング(Smoothing)処理)を行う。また、予測モードが水平(Horizontal)モードである予測(Horizontal予測)の場合、カレントブロックの上辺(Top)に隣接する周辺画素について、図6に示されるフィルタ処理(スムージング(Smoothing)処理)を行う。予測モードが垂直(Vertical)モードである予測(Vertical予測)の場合、カレントブロックの左辺(Left)に隣接する周辺画素について、図6に示されるフィルタ処理(スムージング(Smoothing)処理)を行う。
  このようなインター予測により画像を符号化・復号すると、得られる復号画像において、図7の領域11に示されるような明度・色彩・濃度等の変化が平坦な部分において、帯状の濃度ムラ(所謂バンディング)が発生し、輪郭が見えてしまう現象が発生する恐れがあった。
  そこで、非特許文献2に記載される輪郭ノイズ対策処理が提案された。この非特許文献2に記載の輪郭ノイズ対策処理を行うことにより、復号画像の領域11において発生していたバンディングは、図8に示されるように抑えられ、滑らかなグラデーションが得られるようになった。
  この非特許文献2に記載の輪郭ノイズ対策処理について、より具体的に説明する。図9は、この輪郭ノイズ対策処理の様子の例を示す図である。輪郭ノイズ対策処理においては、まず、図9に示されるようなカレントブロックの周辺画素を用いて、以下の式(3)および式(4)に示されるような閾値判定処理が行われる。
Figure JPOXMLDOC01-appb-M000003
  式(3)において、閾値THRESHOLDの値は8に固定されている。このような閾値判定処理により、カレントブロックの周辺画素の特徴が判定される。つまり、カレントブロック周辺が、バンディングが発生し得る明度・色彩・濃度等の変化が平坦な部分であるか否かが判定される。この閾値判定処理の結果が真である場合、すなわち、カレントブロック周辺が、バンディングが発生し得る明度・色彩・濃度等の変化が平坦な部分であると判定された場合、図9に示されるようなカレントブロックの周辺画素に対して、図5を参照して説明したフィルタ処理の代わりに、以下の式(5)乃至式(9)に示されるようなバイリニアインターポレーション(bi-linear interpolation)処理が行われる。
Figure JPOXMLDOC01-appb-M000004
  この処理は、32×32ブロックに対してのみ適用され、また、シーケンスパラメータセット(SPS(Sequence Parameter Set))において、この処理を適用するか否か(on/off)を示すフラグ(flag)が規定されている。
  しかしながら、非特許文献2に記載の方法では、閾値が固定されていた。そのため、イントラ予測における周辺画素に対するフィルタ処理の選択において、適切な選択を行うことができずに不要に画質を低減させてしまう恐れがあった。
  閾値判定処理においては、式(3)および式(4)に示されるように、カレントブロックの周辺画素の画素値より算出される値と閾値とが比較される。しかしながら、この閾値が固定値であるとすると、例えば画像データのビット深度に対してその値が適切でない場合が考えられる。その場合、上述した閾値判定処理の結果として正しい判定結果が得られず、適切なフィルタが選択されずに不要に復号画像の画質を低減させてしまう恐れがあった。
  また、例えば、符号化・復号の際の内部演算において画像データのビット深度を変更する場合も考えられる。このような場合においても、同様に、固定値の閾値が内部演算におけるビット深度に対して適切でなく、不適切な閾値判定処理結果が得られ、不要に復号画像の画質を低減させてしまう恐れがあった。
  さらに、例えば、ユーザ等が、この閾値を調整することによって復号画像の画質を調整することができなかった。
  そこで、本技術は、この閾値を可変とする。例えば、画像データのビット深度に応じてこの閾値を設定することができるようにする。このようにすることにより、画質の低減を抑制することができる。また、閾値を可変とすることにより、復号画像の画質を調整することができる。
  次に、以上のような本技術について、具体的な装置への適用例について説明する。
  <1.第1の実施の形態>
    <画像符号化装置>
  図10は、本技術を適用した画像処理装置の一態様である画像符号化装置の構成の一例を示すブロック図である。図10に示される画像符号化装置100は、例えば、HEVCの予測処理、またはそれに準ずる方式の予測処理を用いて動画像の画像データを符号化する。
  図10に示されるように画像符号化装置100は、A/D変換部101、画面並べ替えバッファ102、演算部103、直交変換部104、量子化部105、可逆符号化部106、蓄積バッファ107、逆量子化部108、および逆直交変換部109を有する。また、画像符号化装置100は、演算部110、ループフィルタ111、フレームメモリ112、イントラ予測部113、インター予測部114、予測画像選択部115、およびレート制御部116を有する。
  A/D変換部101は、入力された画像データをA/D変換し、変換後の画像データ(デジタルデータ)を、画面並べ替えバッファ102に供給し、記憶させる。画面並べ替えバッファ102は、記憶した表示の順番のフレームの画像を、GOP(Group Of Picture)に応じて、符号化のためのフレームの順番に並べ替え、フレームの順番を並び替えた画像を、演算部103に供給する。また、画面並べ替えバッファ102は、フレームの順番を並び替えた画像を、イントラ予測部113およびインター予測部114にも供給する。
  演算部103は、画面並べ替えバッファ102から読み出された画像から、予測画像選択部115を介してイントラ予測部113若しくはインター予測部114から供給される予測画像を減算し、その差分情報を直交変換部104に出力する。例えば、イントラ符号化が行われる画像の場合、演算部103は、画面並べ替えバッファ102から読み出された画像から、イントラ予測部113から供給される予測画像を減算する。また、例えば、インター符号化が行われる画像の場合、演算部103は、画面並べ替えバッファ102から読み出された画像から、インター予測部114から供給される予測画像を減算する。
  直交変換部104は、演算部103から供給される差分情報に対して、離散コサイン変換やカルーネン・レーベ変換等の直交変換を施す。直交変換部104は、その変換係数を量子化部105に供給する。
  量子化部105は、直交変換部104から供給される変換係数を量子化する。量子化部105は、レート制御部116から供給される符号量の目標値に関する情報に基づいて量子化パラメータを設定し、その量子化を行う。量子化部105は、量子化された変換係数を可逆符号化部106に供給する。
  可逆符号化部106は、量子化部105において量子化された変換係数を任意の符号化方式で符号化する。係数データは、レート制御部116の制御の下で量子化されているので、この符号量は、レート制御部116が設定した目標値となる(若しくは目標値に近似する)。
  また、可逆符号化部106は、イントラ予測のモードを示す情報などをイントラ予測部113から取得し、インター予測のモードを示す情報や差分動きベクトル情報などをインター予測部114から取得する。
  可逆符号化部106は、これらの各種情報を任意の符号化方式で符号化し、符号化データ(符号化ストリームとも称する)のヘッダ情報の一部とする(多重化する)。可逆符号化部106は、符号化して得られた符号化データを蓄積バッファ107に供給して蓄積させる。
  可逆符号化部106の符号化方式としては、例えば、可変長符号化または算術符号化等が挙げられる。可変長符号化としては、例えば、H.264/AVC方式で定められているCAVLC(Context-Adaptive Variable Length Coding)などが挙げられる。算術符号化としては、例えば、CABAC(Context-Adaptive Binary Arithmetic Coding)などが挙げられる。
  蓄積バッファ107は、可逆符号化部106から供給された符号化データを、一時的に保持する。蓄積バッファ107は、所定のタイミングにおいて、保持している符号化データを、画像符号化装置100の外部に出力する。すなわち、蓄積バッファ107は、符号化データを伝送する伝送部でもある。
  また、量子化部105において量子化された変換係数は、逆量子化部108にも供給される。逆量子化部108は、その量子化された変換係数を、量子化部105による量子化に対応する方法で逆量子化する。逆量子化部108は、得られた変換係数を、逆直交変換部109に供給する。
  逆直交変換部109は、逆量子化部108から供給された変換係数を、直交変換部104による直交変換処理に対応する方法で逆直交変換する。逆直交変換された出力(復元された差分情報)は、演算部110に供給される。
  演算部110は、逆直交変換部109から供給された逆直交変換結果である、復元された差分情報に、予測画像選択部115を介してイントラ予測部113若しくはインター予測部114からの予測画像を加算し、局所的に再構成された画像(以下、再構成画像と称する)を得る。その再構成画像は、ループフィルタ111またはイントラ予測部113に供給される。
  ループフィルタ111は、デブロックフィルタや適応ループフィルタ等を含み、演算部110から供給される再構成画像に対して適宜フィルタ処理を行う。例えば、ループフィルタ111は、再構成画像に対してデブロックフィルタ処理を行うことにより再構成画像のブロック歪を除去する。また、例えば、ループフィルタ111は、そのデブロックフィルタ処理結果(ブロック歪みの除去が行われた再構成画像)に対して、ウィナーフィルタ(Wiener Filter)を用いてループフィルタ処理を行うことにより画質改善を行う。
  なお、ループフィルタ111が、再構成画像に対してさらに、他の任意のフィルタ処理を行うようにしてもよい。また、ループフィルタ111は、必要に応じて、フィルタ処理に用いたフィルタ係数等の情報を可逆符号化部106に供給し、それを符号化させるようにすることもできる。
  ループフィルタ111は、フィルタ処理結果(以下、復号画像と称する)をフレームメモリ112に供給する。
  フレームメモリ112は、供給される復号画像を記憶し、所定のタイミングにおいて、記憶している復号画像を参照画像としてインター予測部114に供給する。
  イントラ予測部113は、演算部110から参照画像として供給される再構成画像である処理対象ピクチャ内の画素値を用いて予測画像を生成するイントラ予測(画面内予測)を行う。イントラ予測部113は、予め用意された複数のイントラ予測モードでこのイントラ予測を行う。
  イントラ予測部113は、候補となる全てのイントラ予測モードで予測画像を生成し、画面並べ替えバッファ102から供給される入力画像を用いて各予測画像のコスト関数値を評価し、最適なモードを選択する。イントラ予測部113は、最適なイントラ予測モードを選択すると、その最適なモードで生成された予測画像を、予測画像選択部115に供給する。
  また、上述したように、イントラ予測部113は、採用されたイントラ予測モードを示すイントラ予測モード情報等を、適宜可逆符号化部106に供給し、符号化させる。
  インター予測部114は、画面並べ替えバッファ102から供給される入力画像と、フレームメモリ112から供給される参照画像とを用いてインター予測処理(動き予測処理および補償処理)を行う。より具体的には、インター予測部114は、インター予測処理として、動き予測を行って検出された動きベクトルに応じて動き補償処理を行い、予測画像(インター予測画像情報)を生成する。インター予測部114は、予め用意された複数のインター予測モードでこのようなインター予測を行う。
  インター予測部114は、候補となる全てのインター予測モードで予測画像を生成する。インター予測部114は、画面並べ替えバッファ102から供給される入力画像と、生成した差分動きベクトルの情報などを用いて、各予測画像のコスト関数値を評価し、最適なモードを選択する。インター予測部114は、最適なインター予測モードを選択すると、その最適なモードで生成された予測画像を、予測画像選択部115に供給する。
  インター予測部114は、採用されたインター予測モードを示す情報や、符号化データを復号する際に、そのインター予測モードで処理を行うために必要な情報等を可逆符号化部106に供給し、符号化させる。必要な情報としては、例えば、生成された差分動きベクトルの情報や、予測動きベクトル情報として、予測動きベクトルのインデックスを示すフラグなどがある。
  予測画像選択部115は、演算部103や演算部110に供給する予測画像の供給元を選択する。例えば、イントラ符号化の場合、予測画像選択部115は、予測画像の供給元としてイントラ予測部113を選択し、そのイントラ予測部113から供給される予測画像を演算部103や演算部110に供給する。また、例えば、インター符号化の場合、予測画像選択部115は、予測画像の供給元としてインター予測部114を選択し、そのインター予測部114から供給される予測画像を演算部103や演算部110に供給する。
  レート制御部116は、蓄積バッファ107に蓄積された符号化データの符号量に基づいて、オーバフローあるいはアンダーフローが発生しないように、量子化部105の量子化動作のレートを制御する。
  画像符号化装置100は、さらに、閾値設定部121およびフィルタ処理部122を有する。
  閾値設定部121は、フィルタ処理部122において行われる、イントラ予測のカレントブロックの周辺画素に対するフィルタ処理に用いられる閾値を設定し、設定した閾値(更新後の閾値)を示す閾値情報をフィルタ処理部122に供給する。
  例えば、閾値設定部121が、符号化対象である画像データのビット深度に応じて閾値を設定するようにしてもよい。
  この場合、例えば、閾値設定部121が、可逆符号化部106から、シーケンスパラメータセット(SPS)等として復号側に伝送されるパラメータである、画像データのビット深度に関する情報を取得し、そのビット深度に関する情報に基づいて、画像データのビット深度を判定し、そのビット深度に応じた閾値を設定するようにしてもよい。また、例えば、閾値設定部121が、画面並べ替えバッファ102から画像情報(画像データや画像データに関する情報を含む)を取得し、その画像情報に基づいて(画像情報を解析することにより)、画像データのビット深度を判定し、そのビット深度に応じた閾値を設定するようにしてもよい。
  また、この場合、例えば、閾値設定部121が、判定したビット深度に応じて、予め定められた閾値の初期値(例えば8)をビットシフトすることにより閾値を更新するようにしてもよい。その際、例えば、初期値として、ビット深度が8ビットの場合に適した値が予め設定されており、閾値設定部121が、画像データの実際のビット深度と8ビットとのビット数の差に応じて、初期値をビットシフトするようにしてもよい。
  さらに、この場合、例えば、閾値設定部121が、その更新後の閾値を示す閾値情報を、可逆符号化部106に供給し、シーケンスパラメータセット(SPS)やピクチャパラメータセット(PPS(Picture Parameter Set))等として、復号側に伝送させるようにしてもよい。その際、例えば、閾値設定部121が、その閾値情報を符号化(例えば、ゴロム(golomb)符号化)し、閾値符号化情報として供給するようにしてもよい。また、例えば、閾値設定部121が、画像情報に基づいて画像データのビット深度を判定する場合、そのビット深度に関する情報を、可逆符号化部106に供給し、シーケンスパラメータセット(SPS)やピクチャパラメータセット(PPS)等として、復号側に伝送させるようにしてもよい。その際、例えば、閾値設定部121が、そのビット深度に関する情報を符号化(例えば、ゴロム(golomb)符号化)し、ビット深度符号化情報として供給するようにしてもよい。
  また、この場合、例えば、閾値設定部121が、閾値を更新(変更)したか否かを示すフラグ情報(閾値変更フラグ)を生成し、その閾値変更フラグを、可逆符号化部106に供給し、復号側に伝送させるようにしてもよい。このようにすることにより、復号側(例えば画像復号装置)においては、その閾値変更フラグの値に基づいて、閾値が更新(変更)されたか否かを容易に識別することができる。つまり、復号側(例えば画像復号装置)が、閾値を符号化側(例えば画像符号化装置100)と同様に更新(変更)する処理を行うか否かを容易に制御することができる。
  また、例えば、閾値設定部121が、ユーザ等の外部の指示に従って、この閾値を設定するようにしてもよい。この場合、ユーザ等により指定された値が、上述した更新後の値に対応する。つまり、その値の閾値がフィルタ処理部122に供給される。
  この場合、例えば、閾値設定部121が、その設定された閾値を示す閾値情報を、可逆符号化部106に供給し、シーケンスパラメータセット(SPS)やピクチャパラメータセット(PPS)等として、復号側に伝送させるようにしてもよい。その際、例えば、閾値設定部121が、その閾値情報を符号化(例えば、ゴロム(golomb)符号化)し、閾値符号化情報として供給するようにしてもよい。
  また、この場合、例えば、閾値設定部121が、閾値変更フラグを生成し、可逆符号化部106に供給し、復号側に伝送させるようにしてもよい。
  さらに、例えば、閾値設定部121が、ユーザ等の外部により指定された閾値を、符号化対象である画像データのビット深度に応じて更新(変更)するようにしてもよい。
  この場合、例えば、閾値設定部121が、可逆符号化部106から画像データのビット深度に関する情報を取得し、そのビット深度に関する情報に基づいて画像データのビット深度を判定するようにしてもよい。また、例えば、閾値設定部121が、画面並べ替えバッファ102から画像情報を取得し、その画像情報に基づいて画像データのビット深度を判定するようにしてもよい。
  また、この場合、例えば、閾値設定部121が、判定したビット深度に応じて、ユーザ等の外部により指定された閾値をビットシフトすることにより閾値を更新するようにしてもよい。その際、例えば、ビット深度が8ビットの場合に適した閾値が指定されるようにし、閾値設定部121が、画像データの実際のビット深度と8ビットとのビット数の差に応じて、その指定された閾値をビットシフトするようにしてもよい。
  例えば、ユーザ等の外部により指定される閾値をcontouring_artefact_thresholdとする。このcontouring_artefact_thresholdは、符号化対象の画像データのビット深度が8ビットの場合に相当する値として指定される。画像データの実際のビット深度がnビット(n≧8)の場合、閾値設定部121は、contouring_artefact_thresholdを、以下の式(10)のようにビットシフトする。
Figure JPOXMLDOC01-appb-M000005
  さらに、この場合、例えば、閾値設定部121が、その更新後の閾値を示す閾値情報を、可逆符号化部106に供給し、シーケンスパラメータセット(SPS)やピクチャパラメータセット(PPS)等として、復号側に伝送させるようにしてもよい。その際、例えば、閾値設定部121が、その閾値情報を符号化(例えば、ゴロム(golomb)符号化)し、閾値符号化情報として供給するようにしてもよい。
  また、この場合、例えば、閾値設定部121が、更新前の閾値(ユーザ等の外部により指定された閾値)を示す閾値情報を、可逆符号化部106に供給し、シーケンスパラメータセット(SPS)やピクチャパラメータセット(PPS)等として、復号側に伝送させるようにしてもよい。その際、例えば、閾値設定部121が、その閾値情報を符号化(例えば、ゴロム(golomb)符号化)し、閾値符号化情報として供給するようにしてもよい。
  その際、さらに、閾値設定部121が、ビット深度に関する情報を可逆符号化部106に供給し、シーケンスパラメータセット(SPS)やピクチャパラメータセット(PPS)等として、復号側に伝送させるようにしてもよい。その際、例えば、閾値設定部121が、そのビット深度に関する情報を符号化(例えば、ゴロム(golomb)符号化)し、ビット深度符号化情報として供給するようにしてもよい。
  また、この場合、例えば、閾値設定部121が、閾値変更フラグを生成し、可逆符号化部106に供給し、シーケンスパラメータセット(SPS)やピクチャパラメータセット(PPS)等として、復号側に伝送させるようにしてもよい。
  なお、閾値設定部121が、ビット深度以外の任意のパラメータに基づいて、閾値の設定(更新)を行うことができるようにしてもよい。また、上述した閾値の初期値は、任意であるが、例えば、「8」としてもよい。なお、閾値設定部121は、閾値として「0」を設定することにより、バイリニアインターポレーション処理の適用を禁止し、図5を参照して説明したフィルタ処理が適用されるようにすることができる。つまり、閾値が「0」である場合、非特許文献2に記載の方法がdisableとされる。
  フィルタ処理部122は、閾値設定部121から閾値情報を取得し、その閾値を用いて、イントラ予測の処理対象であるカレントブロックの周辺画素に対するフィルタ処理を行う。例えば、フィルタ処理部122が、閾値設定部121から取得した閾値を用いて、式(3)および式(4)に示されるような閾値判定処理を行い、カレントブロックの周辺画素の特徴を識別するようにしてもよい。
  また、例えば、その判定結果が偽である場合、すなわち、カレントブロック周辺が、明度・色彩・濃度等の変化が平坦な部分でないと判定された場合、フィルタ処理部122が、周辺画素に対して、図5を参照して説明したフィルタ処理(ローパスフィルタ処理とも称する)を行うようにしてもよい。
  さらに、例えば、その判定結果が真である場合、すなわち、カレントブロック周辺が、明度・色彩・濃度等が平坦な部分であると判定された場合、フィルタ処理部122が、ローパスフィルタ処理に代えて、式(5)乃至式(9)に示されるようなバイリニアインターポレーション処理(バイリニアフィルタ処理とも称する)を行うようにしてもよい。
  フィルタ処理部122は、イントラ予測部113から、イントラ予測の処理対象であるカレントブロックの周辺画素を取得すると、その周辺画素に対して、以上のようなフィルタ処理を行う。そして、フィルタ処理部122は、そのフィルタ処理後の周辺画素をイントラ予測部113に供給する。イントラ予測部113は、そのフィルタ処理後の周辺画素を用いてイントラ予測を行う。このようにすることにより、イントラ予測部113は、フィルタ処理結果を反映させた予測画像を生成することができる。
  つまり、上述したように、閾値設定部121が、画像データを符号化する際のイントラ予測処理におけるカレントブロックの周辺画素の特徴を識別するための閾値を、画像データのビット深度等に応じて設定することができるので、イントラ予測部113は、画像データに対して適切なフィルタ処理結果を反映させた予測画像を生成することができる。つまり、画像符号化装置100は、復号画像におけるバンディング等のノイズの発生を抑制することができ、復号画像の画質の低減を抑制することができる。
  また、上述したように、閾値設定部121が、ユーザ等の外部の指定に従ってこの閾値を設定することができるので、イントラ予測部113は、そのユーザ等の外部による画質の指定を予測画像に反映させることができる。つまり、画像符号化装置100は、復号画像の画質を制御することができる。
  なお、図5や式(5)乃至式(9)等を参照して説明したように、フィルタ処理部322によるカレントブロックの周辺画素に対するフィルタ処理のかけ方は、イントラ予測モード(すなわち、カレントブロックのブロックサイズ)に応じて制御されるようにしてもよい。
  なお、図7に示されたようなバンディング(輪郭歪)は、画像データのビット深度が例えば8ビットのように少ない場合に顕著に観測されるが、ビット深度が例えば10ビットのように多い場合は抑制される(視覚的に目立たない)。そこで、非特許文献2に記載のバイリニアフィルタ処理を適用するビット深度の上限を設けるようにしてもよい。例えば、非特許文献2に記載のバイリニアフィルタ処理は、ビット深度が8ビットの場合のみ適用され、それ以外の場合には適用されないようにしてもよい。
  また、非特許文献2に記載のバイリニアフィルタ処理は、輝度信号の処理に対してのみ適用されるようにすることもできるが、色差信号の処理に対しても適用されるようにしてもよい。つまり、本技術は、輝度信号だけでなく、色差信号にも適用することができる。
  また、入力信号が4:4:4やRGBであり、それぞれの色成分チャネルを独立に処理する場合、それぞれのチャネルに独立に本技術を適用することもできる。
  更に、また、階層画像符号化(スケーラブル符号化)・階層画像復号(スケーラブル復号)を行う場合、ベースレイヤ(baselayer)のみにおいて、例えば閾値やビット深度等のパラメータやフラグ等を伝送するようにし、ノンベースレイヤ(エンハンスメントレイヤ(enhancementlayer))においては、ベースレイヤにおいて伝送されたパラメータやフラグが参照されるようにしても良い。
    <閾値設定部・フィルタ処理部>
  図11は、図10の閾値設定部121が符号化対象である画像データのビット深度に応じて閾値を設定する場合の、閾値設定部121およびフィルタ処理部122の主な構成例を示すブロック図である。
  図11の例の場合、閾値設定部121は、ビット深度判定部131、閾値ビットシフト部132、および符号化部133を有する。
  ビット深度判定部131は、符号化対象の画像データのビット深度を判定し、そのビット深度を示す情報を閾値ビットシフト部132に供給する。
  例えば、ビット深度判定部131は、可逆符号化部106から、画像データのビット深度に関する情報を取得し、そのビット深度に関する情報に基づいて、画像データのビット深度を判定する。また、例えば、ビット深度判定部131は、画面並べ替えバッファ102から画像情報を取得し、その画像情報に基づいて画像データのビット深度を判定する。
  なお、判定したビット深度を示す情報を復号側に伝送する場合、ビット深度判定部131は、そのビット深度を示す情報を符号化部133にも供給する。
  閾値ビットシフト部132は、ビット深度判定部131から供給されたビット深度を示す情報に応じて、予め定められた所定の閾値(初期値)をビットシフトすることにより、閾値の更新(変更)を行う。
  例えば、閾値ビットシフト部132には、ビット深度が8ビットの場合に適した値が、閾値の初期値として予め設定されている。閾値ビットシフト部132は、ビット深度判定部131からビット深度を示す情報を取得すると、その情報が示す画像データのビット深度と、8ビットとのビット数の差分だけ、初期値をビットシフトする。
  閾値ビットシフト部132は、更新(変更)後の閾値を示す情報(閾値情報)をフィルタ処理部122の周辺画素判定部142に供給する。
  また、更新(変更)後の閾値を示す閾値情報を復号側に伝送する場合、閾値ビットシフト部132は、その閾値情報を符号化部133にも供給する。
  符号化部133は、供給された情報をゴロム(golomb)符号化し、得られたゴロム符号を可逆符号化部106に供給し、復号側に伝送させる。例えば、ビット深度を示す情報を復号側に伝送する場合、符号化部133は、ビット深度判定部131からビット深度を示す情報を取得し、そのビット深度を示す情報をゴロム符号化する。符号化部133は、得られたビット深度を示す情報のゴロム符号(ビット深度符号化情報とも称する)を可逆符号化部106に供給し、復号側に伝送させる。
  また、例えば、更新(変更)後の閾値を示す閾値情報を復号側に伝送する場合、符号化部133は、閾値ビットシフト部132から更新(変更)後の閾値を示す閾値情報を取得し、その閾値情報をゴロム符号化する。符号化部133は、得られた閾値情報のゴロム符号(閾値符号化情報とも称する)を可逆符号化部106に供給し、復号側に伝送させる。
  なお、符号化部133が、閾値を更新(変更)したか否かを示す閾値変更フラグを生成し、可逆符号化部106に供給し、復号側に伝送させるようにしてもよい。
  また、図11に示されるように、フィルタ処理部122は、モード・ブロックサイズバッファ141、周辺画素判定部142、フィルタ決定部143、ローパスフィルタ部144、およびバイリニアフィルタ部145を有する。
  モード・ブロックサイズバッファ141は、イントラ予測部113から、候補となる予測モードに関する、カレントブロックのブロックサイズおよびモードに関する情報(モード・ブロックサイズ)を取得し、保持する。
  モード・ブロックサイズバッファ141は、所定のタイミングにおいて、若しくは、他からの要求に基づいて、保持しているブロックサイズに関する情報(ブロックサイズ)を周辺画素判定部142に供給する。また、モード・ブロックサイズバッファ141は、所定のタイミングにおいて、若しくは、他からの要求に基づいて、保持しているモードに関する情報(モード)およびブロックサイズに関する情報(ブロックサイズ)をフィルタ決定部143に供給する。
  周辺画素判定部142は、イントラ予測部113から、候補となる予測モードに関する、カレントブロックの上辺および左辺に隣接する周辺画素を取得する。また、周辺画素判定部142は、閾値ビットシフト部132から閾値情報を取得する。さらに、周辺画素判定部142は、モード・ブロックサイズバッファ141からブロックサイズに関する情報(ブロックサイズ)を取得する。
  周辺画素判定部142は、モード・ブロックサイズバッファ141から取得したブロックサイズに関する情報に基づいて、カレントブロックが所定のサイズ(例えば32×32)(若しくは、所定の範囲内のサイズ)のモードである場合、閾値ビットシフト部132から取得した閾値情報を用いて、イントラ予測部113から取得した周辺画素に対するフィルタ処理に用いるフィルタの選択のための閾値判定処理を行う。つまり、周辺画素判定部142は、周辺画素の特徴(例えば、明度・色彩・濃度等の変化が平坦な部分の画素であるか否か)を判定する。
  周辺画素判定部142は、その判定結果をフィルタ決定部143に供給する。また、周辺画素判定部142は、イントラ予測部113から取得したカレントブロックの周辺画素を、ローパスフィルタ部144およびバイリニアフィルタ部145に供給する。
  フィルタ決定部143は、モード・ブロックサイズバッファ141からモードに関する情報(モード)およびブロックサイズに関する情報(ブロックサイズ)を取得する。また、フィルタ決定部143は、周辺画素判定部142から閾値判定処理の判定結果を取得する。フィルタ決定部143は、それらを用いて、実行するフィルタ処理の種類やそのかけ方を決定する。例えば、フィルタ決定部143は、ローパスフィルタ処理およびバイリニアフィルタ処理のいずれを、カレントブロックの周辺画素に対してかけるか、さらに、どのようにそのフィルタ処理を行うか等を決定する。
  フィルタ決定部143は、その決定に従って、フィルタ処理の実行を制御する制御情報を、ローパスフィルタ部144およびバイリニアフィルタ部145に供給する。つまり、フィルタ決定部143は、ローパスフィルタ部144およびバイリニアフィルタ部145の内、選択した処理部に、そのフィルタ処理をどのように実行するかを指示する制御情報を供給し、選択しなかった処理部に、フィルタ処理の停止を指示する制御情報(すなわち、フィルタ処理を実行させないようにする制御情報)を供給する。
  ローパスフィルタ部144は、フィルタ決定部143から供給される制御情報に従って、周辺画素判定部142から供給されるカレントブロックの周辺画素に対して、図5を参照して説明したようなローパスフィルタ処理を行う。ローパスフィルタ部144は、ローパスフィルタ処理を施した周辺画素(フィルタ処理後周辺画素)をイントラ予測部113に供給する。
  バイリニアフィルタ部145は、フィルタ決定部143から供給される制御情報に従って、周辺画素判定部142から供給されるカレントブロックの周辺画素に対して、式(5)乃至式(9)を参照して説明したようなバイリニアフィルタ処理を行う。バイリニアフィルタ部145は、バイリニアフィルタ処理を施した周辺画素(フィルタ処理後周辺画素)をイントラ予測部113に供給する。
  以上のようにすることにより、閾値設定部121は、画像データのビット深度に応じた(ビット深度に対して適切な)閾値を設定することができ、フィルタ処理部122は、画像データのビット深度に対して適切なフィルタを選択し、周辺画素に対して、そのフィルタを用いてフィルタ処理を行うことができ、イントラ予測部113は、画像データのビット深度に対して適切なフィルタ処理が施された周辺画素を用いて予測画像を生成することができる。つまり、このようにすることにより、画像符号化装置100は、復号画像の画質の低減を抑制することができる。
    <符号化処理の流れ>
  次に、図10に示される画像符号化装置100により実行される符号化処理の流れの例を、図12のフローチャートを参照して説明する。
  ステップS101において、A/D変換部101は入力された画像をA/D変換する。ステップS102において、画面並べ替えバッファ102は、A/D変換された画像を記憶し、各ピクチャの表示する順番から符号化する順番への並べ替えを行う。
  ステップS103において、閾値設定部121は、画像データを符号化する際のイントラ予測処理におけるカレントブロックの周辺画素の特徴を識別するための閾値を設定する。
  ステップS104において、イントラ予測部113は、イントラ予測モードのイントラ予測処理を行う。ここで、フィルタ処理部122が、ステップS103において設定された閾値を用いて、カレントブロックの周辺画素に対するフィルタ処理を行う場合もある。このフィルタ処理が行われた場合、イントラ予測部113は、そのフィルタ処理された周辺画素を用いてイントラ予測を行う。
  ステップS105において、インター予測部114は、インター予測モードでの動き予測や動き補償を行うインター予測処理を行う。
  ステップS106において、予測画像選択部115は、イントラ予測部113およびインター予測部114から出力された各コスト関数値に基づいて、最適なモードを決定する。つまり、予測画像選択部115は、イントラ予測部113により生成された予測画像と、インター予測部114により生成された予測画像のいずれか一方を選択する。
  ステップS107において、演算部103は、ステップS102の処理により並び替えられた画像と、ステップS106の処理により選択された予測画像との差分を演算する。差分データは元の画像データに比べてデータ量が低減される。したがって、画像をそのまま符号化する場合に較べて、データ量を圧縮することができる。
  ステップS108において、直交変換部104は、ステップS106の処理により生成された差分情報を直交変換する。ステップS109において、量子化部105は、レート制御部116により算出された量子化パラメータを用いて、ステップS108の処理により得られた直交変換係数を量子化する。
  ステップS110において、逆量子化部108は、ステップS109の処理により生成された量子化された係数(量子化係数とも称する)を、量子化部105の特性に対応する特性で逆量子化する。ステップS111において、逆直交変換部109は、ステップS110の処理により得られた直交変換係数を逆直交変換する。
  ステップS112において、演算部110は、予測画像を局部的に復号された差分情報に加算し、局部的に復号された画像(演算部103への入力に対応する画像)を生成する。
  ステップS113においてループフィルタ111は、ステップS112の処理により生成された画像をフィルタリングする。これによりブロック歪み等が除去される。
  ステップS114において、フレームメモリ112は、ステップS113の処理によりループフィルタ処理が施された復号画像を記憶する。
  ステップS115において、可逆符号化部106は、ステップS109の処理により量子化された係数を符号化する。すなわち、差分画像に対応するデータに対して、可変長符号化や算術符号化等の可逆符号化が行われる。
  また、このとき、可逆符号化部106は、ステップS106の処理により選択された予測画像の予測モードに関する情報を符号化し、差分画像を符号化して得られる符号化データに付加する。つまり、可逆符号化部106は、イントラ予測部113から供給される最適イントラ予測モード情報、または、インター予測部114から供給される最適インター予測モードに応じた情報なども符号化し、符号化データに付加する。
  ステップS116において蓄積バッファ107は、ステップS115の処理により得られた符号化データを蓄積する。蓄積バッファ107に蓄積された符号化データは、適宜読み出され、伝送路や記録媒体を介して復号側に伝送される。
  ステップS117においてレート制御部116は、ステップS116の処理により蓄積バッファ107に蓄積された符号化データの符号量(発生符号量)に基づいて、オーバフローあるいはアンダーフローが発生しないように、量子化部105の量子化動作のレートを制御する。また、レート制御部116は、量子化パラメータに関する情報を、量子化部105に供給する。
  ステップS117の処理が終了すると、符号化処理が終了される。
    <閾値設定処理の流れ>
  次に、図13のフローチャートを参照して、図11の例の閾値設定部121が、ビット深度に関する情報に基づいて画像データのビット深度を判定する例について、図12のステップS103において実行される閾値設定処理の流れの例を説明する。なお、図13においては、更新後の閾値を示す閾値符号化情報および閾値変更フラグが復号側に伝送される場合について説明する。
  閾値設定処理が開始されると、ステップS131において、閾値ビットシフト部132は、予め用意されている初期値を閾値として設定するか否かを判定する。閾値を更新すると判定された場合、処理はステップS132に進む。
  ステップS132において、ビット深度判定部131は、可逆符号化部106からビット深度に関する情報を取得する。
  ステップS133において、ビット深度判定部131は、ステップS132において取得したビット深度に関する情報に基づいて、符号化対象である画像データのビット深度を判定する。
  ステップS134において、閾値ビットシフト部132は、ステップS133の判定結果(判定されたビット深度)に応じて、閾値(初期値)をビットシフトする。閾値ビットシフト部132は、更新された閾値をフィルタ処理部122の周辺画素判定部142に供給する。
  ステップS135において、符号化部133は、ステップS134において生成されたビットシフト後(更新後)の閾値を示す閾値情報を符号化する。
  ステップS136において、符号化部133は、ステップS135の処理により得られた、更新後の閾値を示す閾値符号化情報を可逆符号化部106に供給し、復号側に伝送させる。
  ステップS136の処理が終了すると、処理は、ステップS137に進む。また、ステップS131において、閾値として初期値を設定すると判定された場合、処理はステップS137に進む。
  ステップS137において、符号化部133は、閾値が更新(変更)されたか否かを示す閾値変更フラグを設定する。つまり、例えば、ステップS131乃至ステップS136の処理が行われた場合、符号化部133は、閾値が更新(変更)されたことを示す値の閾値変更フラグを設定する。また、例えば、ステップS131において閾値として初期値を設定すると判定された場合、符号化部133は、閾値が更新(変更)されていないことを示す値の閾値変更フラグを設定する。
  ステップS138において、符号化部133は、ステップS137において設定された閾値変更フラグを、可逆符号化部106に供給し、復号側に伝送させる。
  ステップS138の処理が終了すると、閾値設定処理が終了し、処理は、図12に戻る。
  以上のように閾値設定処理を実行することにより、閾値設定部121は、画像データのビット深度に応じた(ビット深度に対して適切な)閾値を設定することができる。
  なお、閾値変更フラグが復号側に伝送されない(つまり、閾値変更フラグを生成しない)ようにする場合、上述したステップS137およびステップS138の処理を省略することができる。
  また、更新後の閾値を示す閾値符号化情報が復号側に伝送されない(つまり、閾値符号化情報を生成しない)ようにする場合、上述したステップS135およびステップS136の処理を省略することができる。
    <イントラ予測処理の流れ>
  次に、図14のフローチャートを参照して、図12のステップS104において実行されるイントラ予測処理の流れの例を説明する。
  イントラ予測処理が開始されると、ステップS151において、周辺画素判定部142は、モード・ブロックサイズバッファ141から取得したブロックサイズ、および、閾値ビットシフト部132から取得した閾値情報に基づいて、イントラ予測部113から取得したカレントブロックの周辺画素の特徴(例えば、カレントブロック周辺が、明度・色彩・濃度等が平坦な部分であるか否か)を判定する。
  ステップS152において、フィルタ決定部143は、モード・ブロックサイズバッファ141から取得したモードおよびブロックサイズ、並びに、ステップS151の判定結果に基づいて、カレントブロックの周辺画素に対して使用するフィルタを決定する。
  ステップS153において、ローパスフィルタ部144およびバイリニアフィルタ部145の内、ステップS152の処理により選択された方は、カレントブロックの周辺画素に対してフィルタ処理を行う。例えば、ステップS152においてローパスフィルタが選択された場合、ステップS153において、ローパスフィルタ部144は、フィルタ決定部143により決定されたかけ方で、周辺画素に対してローパスフィルタ処理を行う。また、例えば、ステップS152においてバイリニアフィルタが選択された場合、ステップS153において、バイリニアフィルタ部145は、フィルタ決定部143により決定されたかけ方で、周辺画素に対してバイリニアフィルタ処理を行う。
  なお、これらのフィルタ処理は、一部のモードに対して省略することもできる。
  ステップS154において、イントラ予測部113は、ステップS153においてフィルタ処理された周辺画素(省略された場合は、フィルタ処理されていない周辺画素)を用いて、各モードでイントラ予測を行う。
  ステップS155において、イントラ予測部113は、ステップS154において行った各モードのイントラ予測結果についてコスト関数値を算出する。
  ステップS156において、イントラ予想部113は、ステップS155において算出した各モードのコスト関数値に基づいて、最適イントラ予測モードを決定する。
  ステップS157において、イントラ予測部113は、ステップS156において決定した最適イントラ予測モードで予測画像を生成する。
  ステップS157の処理が終了すると、イントラ予測処理が終了し、処理は、図12に戻る。
  以上のようにイントラ予測処理を実行することにより、フィルタ処理部122は、画像データのビット深度に対して適切なフィルタを選択し、周辺画素に対して、そのフィルタを用いてフィルタ処理を行うことができ、イントラ予測部113は、画像データのビット深度に対して適切なフィルタ処理が施された周辺画素を用いて予測画像を生成することができる。
  つまり、以上のように各処理を実行することにより、画像符号化装置100は、復号画像の画質の低減を抑制することができる。
    <閾値設定処理の流れ>
  次に、図15のフローチャートを参照して、図11の例の閾値設定部121が、画像情報に基づいて画像データのビット深度を判定する例について、図12のステップS103において実行される閾値設定処理の流れの例を説明する。なお、図15においては、更新後の閾値を示す閾値符号化情報および閾値変更フラグが復号側に伝送される場合について説明する。
  図15の例の場合、ステップS171、ステップS174乃至ステップS178の各処理は、図13の例の、ステップS131、ステップS134乃至ステップS138の各処理と同様に実行される。
  図15のステップS171において閾値を更新すると判定された場合、処理はステップS172に進む。
  ステップS172において、ビット深度判定部131は、画面並べ替えバッファ102から画像情報を取得する。
  ステップS173において、ビット深度判定部131は、ステップS172において取得した画像情報に基づいて、符号化対象である画像データのビット深度を判定する。ステップS173の処理が終了すると、処理は、ステップS174に進む。
  ステップS178の処理が終了すると、閾値設定処理が終了し、処理は、図12に戻る。
  このようにしても、閾値設定部121は、画像データのビット深度に応じた(ビット深度に対して適切な)閾値を設定することができる。したがって、この場合も、画像符号化装置100は、復号画像の画質の低減を抑制することができる。
  なお、閾値変更フラグが復号側に伝送されない(つまり、閾値変更フラグを生成しない)ようにする場合、ステップS177およびステップS178の処理を省略することができる。
  また、更新後の閾値を示す閾値符号化情報が復号側に伝送されない(つまり、閾値符号化情報を生成しない)ようにする場合、ステップS175およびステップS176の処理を省略することができる。
    <閾値設定処理の流れ>
  次に、図16のフローチャートを参照して、図11の例の閾値設定部121が、画像情報に基づいて画像データのビット深度を判定し、さらに、その判定したビット深度を復号側に伝送する例について、図12のステップS103において実行される閾値設定処理の流れの例を説明する。なお、図16においては、さらに、閾値変更フラグが復号側に伝送される場合について説明する。
  図16の例の場合、ステップS191乃至ステップS194、ステップS197、ステップS198の各処理は、図15の例の、ステップS171乃至ステップS174、ステップS177、ステップS178の各処理と同様に実行される。
  図16のステップS194の処理が終了すると、処理はステップS195に進む。
  ステップS195において、符号化部133は、ステップS193において判定されたビット深度を示す情報を符号化する。
  ステップS196において、符号化部133は、ステップS195の処理により得られたビット深度符号化情報を可逆符号化部106に供給し、復号側に伝送させる。
  ステップS196の処理が終了すると、処理は、ステップS197に進む。
  このようにしても、閾値設定部121は、画像データのビット深度に応じた(ビット深度に対して適切な)閾値を設定することができる。したがって、この場合も、画像符号化装置100は、復号画像の画質の低減を抑制することができる。
  なお、閾値変更フラグが復号側に伝送されない(つまり、閾値変更フラグを生成しない)ようにする場合、ステップS197およびステップS198の処理を省略することができる。
  また、ビット深度符号化情報が復号側に伝送されない(つまり、ビット深度符号化情報を生成しない)ようにする場合、ステップS195およびステップS196の処理を省略することができる。
    <閾値設定部・フィルタ処理部>
  図17は、図10の閾値設定部121がユーザ等の外部の指示に従って閾値を設定する場合の、閾値設定部121およびフィルタ処理部122の主な構成例を示すブロック図である。
  図17の例の場合、閾値設定部121は、閾値設定部151および符号化部133を有する。
  閾値設定部151は、例えばユーザ等の外部からの、閾値の指定を受け付け、その指定に従って閾値を設定する。閾値設定部151は、設定した閾値を示す情報(閾値情報)を、フィルタ処理部122の周辺画素判定部142に供給する。
  また、その閾値情報を復号側に伝送する場合、閾値ビットシフト部132は、その閾値情報を符号化部133にも供給する。
  符号化部133は、図11の場合と同様に、供給された情報をゴロム(golomb)符号化し、得られたゴロム符号を可逆符号化部106に供給し、復号側に伝送させる。例えば、設定された閾値を示す閾値情報を復号側に伝送する場合、符号化部133は、閾値設定部151から供給された閾値情報を取得し、その閾値情報をゴロム符号化する。符号化部133は、このようにして得られた閾値符号化情報を可逆符号化部106に供給し、復号側に伝送させる。
  なお、図11の場合と同様に、符号化部133が、閾値を更新(変更)したか否かを示す閾値変更フラグを生成し、可逆符号化部106に供給し、復号側に伝送させるようにしてもよい。
  なお、フィルタ処理部122は、図11の場合と同様の構成を有し、図11の場合と同様の処理を行う。
  以上のようにすることにより、閾値設定部121は、画像データのビット深度に応じた(ビット深度に対して適切な)閾値を設定することができ、フィルタ処理部122は、画像データのビット深度に対して適切なフィルタを選択し、周辺画素に対して、そのフィルタを用いてフィルタ処理を行うことができ、イントラ予測部113は、画像データのビット深度に対して適切なフィルタ処理が施された周辺画素を用いて予測画像を生成することができる。つまり、このようにすることにより、画像符号化装置100は、復号画像の画質の低減を抑制することができる。
  また、図17の例の場合、閾値設定部121が、ユーザ等の外部の指定に従ってこの閾値を設定することができるので、イントラ予測部113は、そのユーザ等の外部による画質の指定を予測画像に反映させることができる。つまり、画像符号化装置100は、復号画像の画質を制御することができる。
    <閾値設定処理の流れ>
  次に、図18のフローチャートを参照して、図17の例の閾値設定部121が、図12のステップS103において実行される閾値設定処理の流れの例を説明する。なお、図18においては、設定された閾値を示す閾値符号化情報および閾値変更フラグが復号側に伝送される場合について説明する。
  図18の例の場合、ステップS211、ステップS216、ステップS217の各処理は、図13の例の、ステップS131、ステップS137、ステップS138の各処理と同様に実行される。
  図18のステップS211において閾値を更新すると判定された場合、処理はステップS212に進む。
  ステップS212において、閾値設定部151は、例えばユーザ等の外部からの値の指定を受け付ける。
  ステップS213において、閾値設定部151は、ステップS212において受け付けられた指定により指定される値を閾値として設定する。
  ステップS214において、符号化部133は、ステップS213において設定された閾値を符号化する。
  ステップS215において、符号化部133は、ステップS214の処理により得られた閾値符号化情報を可逆符号化部106に供給し、復号側に伝送させる。
  ステップS215の処理が終了すると、処理は、ステップS216に進む。また、ステップS211において、閾値として初期値を設定すると判定された場合、処理はステップS216に進む。
  そして、ステップS217の処理が終了すると、閾値設定処理が終了し、処理は、図12に戻る。
  以上のように閾値設定処理を実行することにより、閾値設定部121は、画像データのビット深度に応じた(ビット深度に対して適切な)閾値を設定することができる。したがって、画像符号化装置100は、復号画像の画質の低減を抑制することができる。
  また、図18の例の場合、閾値設定部121が、ユーザ等の外部の指定に従ってこの閾値を設定することができる。つまり、画像符号化装置100は、復号画像の画質を制御することができる。
    <閾値設定部・フィルタ処理部>
  図19は、図10の閾値設定部121がユーザ等の外部により指定された閾値を、符号化対象である画像データのビット深度に応じて更新(変更)する場合の、閾値設定部121およびフィルタ処理部122の主な構成例を示すブロック図である。
  図19の例の場合、閾値設定部121は、ビット深度判定部131、閾値ビットシフト部132、符号化部133、および閾値設定部151を有する。
  この場合、ビット深度判定部131および符号化部133は、図11の場合と同様の処理を行う。また、この場合、閾値設定部151は、図17の場合と同様の処理を行う。ただし、閾値設定部151は、設定した閾値を閾値ビットシフト部132に供給する。
  この場合、閾値ビットシフト部132は、図11の場合と同様に、ビット深度判定部131から供給されたビット深度を示す情報に応じて閾値をビットシフトすることにより、閾値の更新(変更)を行う。ただし、この場合、閾値ビットシフト部132は、閾値設定部151から供給される閾値、つまり、例えばユーザ等の外部の指定に基づいて設定された閾値をビットシフトする。
  閾値ビットシフト部132は、更新(変更)後の閾値を示す情報(閾値情報)をフィルタ処理部122の周辺画素判定部142に供給する。
  なお、更新(変更)後の閾値(つまり、閾値ビットシフト部132によりビットシフトされた後の閾値)を示す閾値情報を復号側に伝送する場合、閾値ビットシフト部132は、その閾値情報を符号化部133にも供給する。
  また、更新(変更)前の閾値(つまり、閾値設定部151により設定された閾値)を示す閾値情報を復号側に伝送することもできる。その場合、閾値ビットシフト部132は、その更新(変更)前の閾値(つまり、閾値設定部151により設定された閾値)を示す閾値情報を符号化部133に供給する。この場合、符号化部133は、その更新(変更)前の閾値(つまり、閾値設定部151により設定された閾値)を示す閾値情報を符号化し、得られた閾値符号化情報を可逆符号化部106に供給して伝送させる。
  なお、フィルタ処理部122は、図11の場合と同様の構成を有し、図11の場合と同様の処理を行う。
  以上のようにすることにより、閾値設定部121は、ユーザ等の外部の指定に従ってこの閾値を設定することができるだけでなく、その閾値を、画像データのビット深度に応じた(ビット深度に対して適切な)値に更新することができる。つまり、フィルタ処理部122は、画像データのビット深度に対して適切なフィルタを選択し、周辺画素に対して、そのフィルタを用いてフィルタ処理を行うことができ、イントラ予測部113は、画像データのビット深度に対して適切なフィルタ処理が施された周辺画素を用いて予測画像を生成することができる。すなわち、画像符号化装置100は、復号画像の画質を制御することができるとともに、復号画像の画質の低減を抑制することができる。
    <閾値設定処理の流れ>
  次に、図20のフローチャートを参照して、図19の例の閾値設定部121が、ビット深度に関する情報に基づいて画像データのビット深度を判定し、さらに、更新前の閾値を示す閾値符号化情報を復号側に伝送させる例について、図12のステップS103において実行される閾値設定処理の流れの例を説明する。なお、図20においては、閾値変更フラグも復号側に伝送させる場合について説明する。
  図20の例の場合、ステップS231乃至ステップS233の各処理は、図18の例の、ステップS211乃至ステップS213の各処理と同様に実行される。
  また、図20の例の場合、ステップS234およびステップS235の各処理は、図13のステップS132およびステップS133の各処理と同様に実行される。
  ステップS236において、閾値ビットシフト部132は、ステップS133の判定結果(判定されたビット深度)に応じて、ステップS233において設定された閾値をビットシフトする。閾値ビットシフト部132は、更新された閾値をフィルタ処理部122の周辺画素判定部142に供給する。
  ステップS237において、符号化部133は、ステップS233において設定された閾値、すなわち、ビットシフト前(更新前)の閾値を示す閾値情報を符号化する。
  ステップS238において、符号化部133は、ステップS237において得られた、更新前の閾値を示す閾値符号化情報を可逆符号化部106に供給し、復号側に伝送させる。
  ステップS238の処理が終了すると、処理は、ステップS239に進む。また、ステップS231において、閾値として初期値を設定すると判定された場合、処理はステップS239に進む。
  図20の例の場合、ステップS239およびステップS240の各処理は、図13の例の、ステップS137およびステップS138の各処理と同様に実行される。
  ステップS240の処理が終了すると、閾値設定処理が終了し、処理は、図12に戻る。
  以上のように閾値設定処理を実行することにより、閾値設定部121は、画像データのビット深度に応じた(ビット深度に対して適切な)閾値を設定することができる。また、閾値設定部121は、ユーザ等の外部の指定に従って閾値を設定することができる。
  なお、閾値変更フラグが復号側に伝送されない(つまり、閾値変更フラグを生成しない)ようにする場合、上述したステップS239およびステップS240の処理を省略することができる。
  なお、閾値設定部121が、ビット深度に関する情報の代わりに画像情報に基づいて画像データのビット深度を判定する場合、図20のステップS234およびステップS235の各処理を、図15のステップS172およびステップS173の各処理に置き換えればよい。
    <閾値設定処理の流れ>
  次に、図21のフローチャートを参照して、図19の例の閾値設定部121が、画像情報に基づいて画像データのビット深度を判定し、さらに、更新前の閾値を示す閾値符号化情報とともに、そのビット深度を示す情報も復号側に伝送させる例について、図12のステップS103において実行される閾値設定処理の流れの例を説明する。なお、図21においては、閾値変更フラグも復号側に伝送される場合について説明する。
  図21の例の場合、ステップS251乃至ステップS253の各処理は、図20の例の、ステップS231乃至ステップS233の各処理と同様に実行される。
  また、図21の例の場合、ステップS254およびステップS255の各処理は、図15のステップS172およびステップS173の各処理と同様に実行される。
  さらに、図21の例の場合、ステップS256乃至ステップS258の各処理は、図21の例の、ステップS236乃至ステップS238の各処理と同様に実行される。
  また、図21の例の場合、ステップS259およびステップS260の各処理は、図16のステップS195およびステップS196の各処理と同様に実行される。
  ステップS260の処理が終了すると、処理は、ステップS261に進む。また、ステップS251において、閾値として初期値を設定すると判定された場合、処理はステップS261に進む。
  さらに、図20の例の場合、ステップS261およびステップS262の各処理は、図20の例の、ステップS239およびステップS240の各処理と同様に実行される。
  ステップS262の処理が終了すると、閾値設定処理が終了し、処理は、図12に戻る。
  以上のように閾値設定処理を実行することにより、閾値設定部121は、画像データのビット深度に応じた(ビット深度に対して適切な)閾値を設定することができる。また、閾値設定部121は、ユーザ等の外部の指定に従って閾値を設定することができる。
  なお、閾値変更フラグが復号側に伝送されない(つまり、閾値変更フラグを生成しない)ようにする場合、上述したステップS261およびステップS262の処理を省略することができる。
    <閾値設定処理の流れ>
  次に、図22のフローチャートを参照して、図19の例の閾値設定部121が、ビット深度に関する情報に基づいて画像データのビット深度を判定し、さらに、更新後の閾値を示す閾値符号化情報を復号側に伝送させる例について、図12のステップS103において実行される閾値設定処理の流れの例を説明する。なお、図22においては、閾値変更フラグも復号側に伝送させる場合について説明する。
  図22の例の場合、ステップS281乃至ステップS286の各処理は、図20の例の、ステップS231乃至ステップS236の各処理と同様に実行される。
  ステップS287において、閾値ビットシフト部132は、ステップS286において得られたビットシフト後(更新後)の閾値を示す閾値情報を符号化する。
  ステップS288において、符号化部133は、ステップS287において得られた、更新後の閾値を示す閾値符号化情報を可逆符号化部106に供給し、復号側に伝送させる。
  ステップS288の処理が終了すると、処理は、ステップS289に進む。また、ステップS281において、閾値として初期値を設定すると判定された場合、処理はステップS289に進む。
  図22の例の場合、ステップS289およびステップS290の各処理は、図20の例の、ステップS239およびステップS240の各処理と同様に実行される。
  ステップS290の処理が終了すると、閾値設定処理が終了し、処理は、図12に戻る。
  以上のように閾値設定処理を実行することにより、閾値設定部121は、画像データのビット深度に応じた(ビット深度に対して適切な)閾値を設定することができる。また、閾値設定部121は、ユーザ等の外部の指定に従って閾値を設定することができる。
  なお、閾値変更フラグが復号側に伝送されない(つまり、閾値変更フラグを生成しない)ようにする場合、上述したステップS289およびステップS290の処理を省略することができる。
  なお、閾値設定部121が、ビット深度に関する情報の代わりに画像情報に基づいて画像データのビット深度を判定する場合、図22のステップS284およびステップS285の各処理を、図15のステップS172およびステップS173の各処理に置き換えればよい。
  <2.第2の実施の形態>
    <画像復号装置>
  次に、以上のように符号化された符号化データ(符号化ストリーム)の復号について説明する。図23は、本技術を適用した画像処理装置の一態様である、図10の画像符号化装置100に対応する画像復号装置の主な構成例を示すブロック図である。
  図23に示される画像復号装置300は、画像符号化装置100が生成した符号化データを、その符号化方法に対応する復号方法で復号する。
  図23に示されるように画像復号装置300は、蓄積バッファ301、可逆復号部302、逆量子化部303、逆直交変換部304、演算部305、ループフィルタ306、画面並べ替えバッファ307、およびD/A変換部308を有する。また、画像復号装置300は、フレームメモリ309、イントラ予測部310、インター予測部311、および予測画像選択部312を有する。
  蓄積バッファ301は、伝送されてきた符号化データを受け取る受け取り部でもある。蓄積バッファ301は、伝送されてきた符号化データを受け取って、蓄積し、所定のタイミングにおいてその符号化データを可逆復号部302に供給する。符号化データには、予測モード情報などの復号に必要な情報が付加されている。可逆復号部302は、蓄積バッファ301より供給された、図10の可逆符号化部106により符号化された情報を、その符号化方式に対応する復号方式で復号する。可逆復号部302は、復号して得られた差分画像の量子化された係数データを、逆量子化部303に供給する。
  また、可逆復号部302は、最適な予測モードにイントラ予測モードが選択されたかインター予測モードが選択されたかを判定し、その最適な予測モードに関する情報を、イントラ予測部310およびインター予測部311の内、選択されたと判定したモードの方に供給する。つまり、例えば、画像符号化装置100において最適な予測モードとしてイントラ予測モードが選択された場合、その最適な予測モードに関する情報がイントラ予測部310に供給される。また、例えば、画像符号化装置100において最適な予測モードとしてインター予測モードが選択された場合、その最適な予測モードに関する情報がインター予測部311に供給される。
  さらに、可逆復号部302は、例えば、量子化行列や量子化パラメータ等の、逆量子化に必要な情報を逆量子化部303に供給する。
  逆量子化部303は、可逆復号部302により復号されて得られた量子化された係数データを、図10の量子化部105の量子化方式に対応する方式で逆量子化する。なお、この逆量子化部303は、図10の画像符号化装置100の逆量子化部108と同様の処理部である。つまり、逆量子化部303の説明は、逆量子化部108にも準用することができる。ただし、データの入出力先等は、装置に応じて適宜、変えて読む必要がある。
  逆量子化部303は、得られた係数データを逆直交変換部304に供給する。
  逆直交変換部304は、逆量子化部303から供給される直交変換係数を、必要に応じて、図10の直交変換部104の直交変換方式に対応する方式で逆直交変換する。なお、この逆直交変換部304は、図10の画像符号化装置100の逆直交変換部109と同様の処理部である。つまり、逆直交変換部304の説明は、逆直交変換部109にも準用することができる。ただし、データの入出力先等は、装置に応じて適宜、変えて読む必要がある。
  逆直交変換部304は、この逆直交変換処理により、画像符号化装置100において直交変換される前の残差データに対応する復号残差データを得る。逆直交変換されて得られた復号残差データは、演算部305に供給される。また、演算部305には、予測画像選択部312を介して、イントラ予測部310若しくはインター予測部311から予測画像が供給される。
  演算部305は、差分画像と予測画像とを加算し、画像符号化装置100の演算部103により予測画像が減算される前の画像に対応する再構成画像を得る。演算部305は、その再構成画像をループフィルタ306およびイントラ予測部310に供給する。
  ループフィルタ306は、供給された再構成画像に対して、デブロックフィルタ処理や適応ループフィルタ処理等を含むループフィルタ処理を適宜施して復号画像を生成する。例えば、ループフィルタ306は、再構成画像に対してデブロックフィルタ処理を行うことにより、ブロック歪を除去する。また、例えば、ループフィルタ306は、そのデブロックフィルタ処理結果(ブロック歪みの除去が行われた再構成画像)に対して、ウィナーフィルタ(Wiener Filter)を用いてループフィルタ処理を行うことにより画質改善を行う。
  なお、ループフィルタ306が行うフィルタ処理の種類は任意であり、上述した以外のフィルタ処理を行ってもよい。また、ループフィルタ306が、図10の画像符号化装置100から供給されたフィルタ係数を用いてフィルタ処理を行うようにしてもよい。
  ループフィルタ306は、フィルタ処理結果である復号画像を画面並べ替えバッファ307およびフレームメモリ309に供給する。
  画面並べ替えバッファ307は、画像の並べ替えを行う。すなわち、図10の画面並べ替えバッファ102により符号化の順番のために並べ替えられたフレームの順番が、元の表示の順番に並べ替えられる。D/A変換部308は、画面並べ替えバッファ307から供給された画像をD/A変換し、図示せぬディスプレイに出力し、表示させる。
  フレームメモリ309は、供給される復号画像を記憶し、所定のタイミングにおいて、若しくは、インター予測部311等の外部の要求に基づいて、記憶している復号画像を参照画像として、インター予測部311に供給する。
  イントラ予測部310には、ヘッダ情報を復号して得られたイントラ予測モードを示す情報等が可逆復号部302から適宜供給される。イントラ予測部310は、図10のイントラ予測部113において用いられたイントラ予測モードで、フレームメモリ309から取得した参照画像を用いてイントラ予測を行い、予測画像を生成する。イントラ予測部310は、生成した予測画像を予測画像選択部312に供給する。
  インター予測部311は、ヘッダ情報を復号して得られた情報(最適予測モード情報、参照画像情報等)を可逆復号部302から取得する。
  インター予測部311は、可逆復号部302から取得された最適予測モード情報が示すインター予測モードで、フレームメモリ309から取得した参照画像を用いてインター予測を行い、予測画像を生成する。
  予測画像選択部312は、イントラ予測部310からの予測画像またはインター予測部311からの予測画像を、演算部305に供給する。そして、演算部305においては、動きベクトルが用いられて生成された予測画像と逆直交変換部304からの復号残差データ(差分画像情報)とが加算されて元の画像が復号される。すなわち、インター予測部311、可逆復号部302、逆量子化部303、逆直交変換部304、演算部305は、動きベクトルを用いて、符号化データを復号し、元の画像を生成する復号部でもある。
  画像復号装置300は、さらに、閾値設定部321およびフィルタ処理部322を有する。
  閾値設定部321は、基本的に閾値設定部121と同様の処理を行う。つまり、閾値設定部321は、画像データが符号化された符号化データを復号する際のイントラ予測処理におけるカレントブロックの周辺画素の特徴を識別するための閾値、すなわち、フィルタ処理部322において行われる、イントラ予測のカレントブロックの周辺画素に対するフィルタ処理に用いられる閾値を、画像データのビット深度に応じて設定する。
  ただし、閾値設定部321は、可逆復号部302から供給される、符号化側から伝送される情報を用いて、その閾値を設定することもできる。閾値設定部321は、設定した閾値(更新後の閾値)を示す閾値情報をフィルタ処理部322に供給する。
  例えば、閾値設定部321が、符号化対象である画像データのビット深度に応じて閾値を設定するようにしてもよい。
  この場合、例えば、閾値設定部321が、可逆復号部302から、シーケンスパラメータセット(SPS)等として符号化側から伝送されるパラメータである、画像データのビット深度に関する情報を取得し、そのビット深度に関する情報に基づいて、画像データのビット深度を判定し、そのビット深度に応じた閾値を設定するようにしてもよい。また、例えば、閾値設定部321が、フレームメモリ309等から復号画像の画像情報(画像データや画像データに関する情報を含む)を取得し、その画像情報に基づいて(画像情報を解析することにより)、画像データのビット深度を判定し、そのビット深度に応じた閾値を設定するようにしてもよい。
  また、この場合、例えば、閾値設定部321が、判定したビット深度に応じて、予め定められた閾値の初期値(例えば8)をビットシフトすることにより閾値を更新するようにしてもよい。その際、例えば、初期値として、ビット深度が8ビットの場合に適した値が予め設定されており、閾値設定部321が、画像データの実際のビット深度と8ビットとのビット数の差に応じて、初期値をビットシフトするようにしてもよい。
  また、この場合、例えば、閾値設定部321が、符号化側から伝送された閾値変更フラグを取得し、その閾値変更フラグの値に基づいて、閾値が更新されたか否かを判定するようにしてもよい。このようにすることにより、画像復号装置300は、その閾値変更フラグの値に基づいて、閾値が更新(変更)されたか否かを容易に識別することができる。つまり、画像復号装置300は、閾値を符号化側(例えば画像符号化装置100)と同様に更新(変更)する処理を行うか否かを容易に制御することができる。
  また、例えば、閾値設定部321が、符号化側から伝送される情報に従って、この閾値を設定するようにしてもよい。
  この場合、例えば、閾値設定部321が、符号化側から供給されたビット深度符号化情報を可逆復号部302から取得し、それを復号して得られるビット深度に応じて、閾値を更新するようにしてもよい。その際、例えば、閾値設定部321が、符号化側から伝送された情報により示されるビット深度に応じて、予め定められた閾値の初期値(例えば8)をビットシフトすることにより閾値を更新するようにしてもよい。
  また、この場合、例えば、閾値設定部321が、符号化側から供給された更新前の閾値を示す閾値符号化情報を、可逆復号部302からさらに取得し、それを復号して得られる閾値を、同様に得たビット深度に応じて、更新するようにしてもよい。その際も、閾値の更新は、同様にビットシフトにより行うようにしてもよい。
  さらに、この場合も、閾値設定部321が、符号化側から伝送された閾値変更フラグの値に基づいて、閾値が更新されたか否かを判定するようにしてもよい。
  また、この場合、例えば、閾値設定部321が、符号化側から供給された更新後の閾値を示す閾値符号化情報を、可逆復号部302から取得するようにし、それを復号して得られる閾値を設定するようにしてもよい。
  さらに、この場合も、閾値設定部321が、符号化側から伝送された閾値変更フラグの値に基づいて、閾値が更新されたか否かを判定するようにしてもよい。
  さらに、例えば、閾値設定部321が、符号化対象である画像データのビット深度を判定し、そのビット深度に応じて、符号化側から伝送された閾値を更新(変更)するようにしてもよい。
  この場合、例えば、閾値設定部321が、符号化側から供給された更新前の閾値を示す閾値符号化情報を可逆復号部302から取得し、それを復号して更新前の閾値を示す閾値情報を取得し、さらに、上述したように符号化側から伝送されたビット深度に関する情報や、フレームメモリ309より得た復号画像の画像情報等からビット深度を判定し、そのビット深度に応じて、閾値を更新するようにしてもよい。その際も、閾値の更新は、同様にビットシフトにより行うようにしてもよい。
  さらに、この場合も、閾値設定部321が、符号化側から伝送された閾値変更フラグの値に基づいて、閾値が更新されたか否かを判定するようにしてもよい。
  閾値のビットシフトは、閾値設定部121の場合と同様に、例えば、上述した式(10)のように行われるようにしてもよい。
  さらに、閾値設定部321が、ゴロム符号として伝送されるパラメータやフラグを、ゴロム(golomb)復号するようにしてもよい。
  なお、閾値設定部321が、ビット深度以外の任意のパラメータに基づいて、閾値の設定(更新)を行うことができるようにしてもよい。また、上述した閾値の初期値は、任意であるが、例えば、「8」としてもよい。なお、閾値設定部321は、閾値として「0」が設定されている場合、バイリニアインターポレーション処理の適用を禁止し、図5を参照して説明したフィルタ処理が適用されるようにしてもよい。つまり、閾値が「0」である場合、非特許文献2に記載の方法がdisableとされるようにしてもよい。
  フィルタ処理部322は、イントラ予測部310によるイントラ予測、すなわち、画像データが符号化された符号化データを復号する際のイントラ予測処理に対して、フィルタ処理部122と同様の処理を行う。つまり、フィルタ処理部322は、閾値設定部321から閾値情報を取得し、その閾値を用いて、イントラ予測部310によるイントラ予測の処理対象であるカレントブロックの周辺画素に対するフィルタ処理を行う。例えば、フィルタ処理部322が、閾値設定部321から取得した閾値を用いて、式(3)および式(4)に示されるような閾値判定処理を行い、カレントブロックの周辺画素の特徴を識別するようにしてもよい。
  また、例えば、その判定結果が偽である場合、すなわち、カレントブロック周辺が、明度・色彩・濃度等の変化が平坦な部分でないと判定された場合、フィルタ処理部322が、周辺画素に対して、図5を参照して説明したフィルタ処理(ローパスフィルタ処理とも称する)を行うようにしてもよい。
  さらに、例えば、その判定結果が真である場合、すなわち、カレントブロック周辺が、明度・色彩・濃度等が平坦な部分であると判定された場合、フィルタ処理部322が、ローパスフィルタ処理に代えて、式(5)乃至式(9)に示されるようなバイリニアインターポレーション処理(バイリニアフィルタ処理とも称する)を行うようにしてもよい。
  フィルタ処理部322は、イントラ予測部310から、イントラ予測の処理対象であるカレントブロックの周辺画素を取得すると、その周辺画素に対して、以上のようなフィルタ処理を行う。そして、フィルタ処理部322は、そのフィルタ処理後の周辺画素をイントラ予測部310に供給する。その場合、イントラ予測部310は、そのフィルタ処理後の周辺画素を用いてイントラ予測を行う。このようにすることにより、イントラ予測部310は、フィルタ処理結果を反映させた予測画像を生成することができる。
  つまり、上述したように、閾値設定部321が、画像データを復号する際のイントラ予測処理におけるカレントブロックの周辺画素の特徴を識別するための閾値を、画像データのビット深度等に応じて設定することができるので、イントラ予測部310は、画像データに対して適切なフィルタ処理結果を反映させた予測画像を生成することができる。つまり、画像復号装置300は、復号画像におけるバンディング等のノイズの発生を抑制することができ、復号画像の画質の低減を抑制することができる。
  なお、図5や式(5)乃至式(9)等を参照して説明したように、フィルタ処理部322によるカレントブロックの周辺画素に対するフィルタ処理のかけ方は、イントラ予測モード(すなわち、カレントブロックのブロックサイズ)に応じて制御されるようにしてもよい。
  なお、画像復号装置300においても、非特許文献2に記載のバイリニアフィルタ処理を適用するビット深度の上限を設けるようにしてもよい。例えば、非特許文献2に記載のバイリニアフィルタ処理は、ビット深度が8ビットの場合のみ適用され、それ以外の場合には適用されないようにしてもよい。
  同様に、画像復号装置300においても、非特許文献2に記載のバイリニアフィルタ処理は、輝度信号の処理に対してのみ適用されるようにすることもできるが、色差信号の処理に対しても適用されるようにしてもよい。つまり、本技術は、輝度信号だけでなく、色差信号にも適用することができる。
  また、画像復号装置300においても、入力信号が4:4:4やRGBであり、それぞれの色成分チャネルを独立に処理する場合、それぞれのチャネルに独立に本技術を適用することもできる。
  更に、また、画像復号装置300においても、階層画像符号化(スケーラブル符号化)・階層画像復号(スケーラブル復号)を行う場合、ベースレイヤ(baselayer)のみにおいて、例えば閾値やビット深度等のパラメータやフラグ等を伝送するようにし、ノンベースレイヤ(エンハンスメントレイヤ(enhancementlayer))においては、ベースレイヤにおいて伝送されたパラメータやフラグが参照されるようにしても良い。
    <閾値設定部・フィルタ処理部>
  図24は、図23の閾値設定部321が復号された画像データのビット深度に応じて閾値を設定する場合の、閾値設定部321およびフィルタ処理部322の主な構成例を示すブロック図である。
  図24の例の場合、閾値設定部321は、ビット深度判定部331および閾値ビットシフト部332を有する。
  ビット深度判定部331は、画像データのビット深度を判定し、そのビット深度を示す情報を閾値ビットシフト部332に供給する。
  例えば、ビット深度判定部331は、符号化側(例えば画像符号化装置100)から、例えばシーケンスパラメータセット等として伝送された画像データのビット深度に関する情報を可逆復号部302から取得し、そのビット深度に関する情報に基づいて、画像データのビット深度を判定する。また、例えば、ビット深度判定部331は、フレームメモリ309から復号画像の画像情報を取得し、その画像情報に基づいて画像データのビット深度を判定する。
  閾値ビットシフト部332は、ビット深度判定部331から供給されたビット深度を示す情報に応じて、予め定められた所定の閾値(初期値)をビットシフトすることにより、閾値の更新(変更)を行う。
  例えば、閾値ビットシフト部332には、ビット深度が8ビットの場合に適した値(符号化側(例えば画像符号化装置100)に設定された初期値と同じ値)が、閾値の初期値として予め設定されている。閾値ビットシフト部332は、ビット深度判定部331からビット深度を示す情報を取得すると、その情報が示す画像データのビット深度と、8ビットとのビット数の差分だけ、初期値をビットシフトする。
  閾値ビットシフト部332は、更新(変更)後の閾値を示す情報(閾値情報)をフィルタ処理部322の周辺画素判定部342に供給する。
  また、図11に示されるように、フィルタ処理部322は、モード・ブロックサイズバッファ341、周辺画素判定部342、フィルタ決定部343、ローパスフィルタ部344、およびバイリニアフィルタ部345を有する。
  フィルタ処理部322は、フィルタ処理部122と同様の処理部であり、同様の処理を行う。つまり、モード・ブロックサイズバッファ341、周辺画素判定部342、フィルタ決定部343、ローパスフィルタ部344、およびバイリニアフィルタ部345は、それぞれ、周辺画素判定部142、フィルタ決定部143、ローパスフィルタ部144、およびバイリニアフィルタ部145と同様の処理部である。
  モード・ブロックサイズバッファ341は、イントラ予測部310から、候補となる予測モードに関する、カレントブロックのブロックサイズおよびモードに関する情報(モード・ブロックサイズ)を取得し、保持する。
  モード・ブロックサイズバッファ341は、所定のタイミングにおいて、若しくは、他からの要求に基づいて、保持しているブロックサイズに関する情報(ブロックサイズ)を周辺画素判定部342に供給する。また、モード・ブロックサイズバッファ341は、所定のタイミングにおいて、若しくは、他からの要求に基づいて、保持しているモードに関する情報(モード)およびブロックサイズに関する情報(ブロックサイズ)をフィルタ決定部343に供給する。
  周辺画素判定部342は、イントラ予測部310から、候補となる予測モードに関する、カレントブロックの上辺および左辺に隣接する周辺画素を取得する。また、周辺画素判定部342は、閾値ビットシフト部332から閾値情報を取得する。さらに、周辺画素判定部342は、モード・ブロックサイズバッファ341からブロックサイズに関する情報(ブロックサイズ)を取得する。
  周辺画素判定部342は、モード・ブロックサイズバッファ341から取得したブロックサイズに関する情報に基づいて、カレントブロックが所定のサイズ(例えば32×32)(若しくは、所定の範囲内のサイズ)のモードである場合、閾値ビットシフト部332から取得した閾値情報を用いて、イントラ予測部310から取得した周辺画素に対するフィルタ処理に用いるフィルタの選択のための閾値判定処理を行う。つまり、周辺画素判定部342は、周辺画素の特徴(例えば、明度・色彩・濃度等の変化が平坦な部分の画素であるか否か)を判定する。
  周辺画素判定部342は、その判定結果をフィルタ決定部343に供給する。また、周辺画素判定部342は、イントラ予測部310から取得したカレントブロックの周辺画素を、ローパスフィルタ部344およびバイリニアフィルタ部345に供給する。
  フィルタ決定部343は、モード・ブロックサイズバッファ341からモードに関する情報(モード)およびブロックサイズに関する情報(ブロックサイズ)を取得する。また、フィルタ決定部343は、周辺画素判定部342から閾値判定処理の判定結果を取得する。フィルタ決定部343は、それらを用いて、実行するフィルタ処理の種類やそのかけ方を決定する。例えば、フィルタ決定部343は、ローパスフィルタ処理およびバイリニアフィルタ処理のいずれを、カレントブロックの周辺画素に対してかけるか、さらに、どのようにそのフィルタ処理を行うか等を決定する。
  フィルタ決定部343は、その決定に従って、フィルタ処理の実行を制御する制御情報を、ローパスフィルタ部344およびバイリニアフィルタ部345に供給する。つまり、フィルタ決定部343は、ローパスフィルタ部344およびバイリニアフィルタ部345の内、選択した処理部に、そのフィルタ処理をどのように実行するかを指示する制御情報を供給し、選択しなかった処理部に、フィルタ処理の停止を指示する制御情報(すなわち、フィルタ処理を実行させないようにする制御情報)を供給する。
  ローパスフィルタ部344は、フィルタ決定部343から供給される制御情報に従って、周辺画素判定部342から供給されるカレントブロックの周辺画素に対して、図5を参照して説明したようなローパスフィルタ処理を行う。ローパスフィルタ部344は、ローパスフィルタ処理を施した周辺画素(フィルタ処理後周辺画素)をイントラ予測部310に供給する。
  バイリニアフィルタ部345は、フィルタ決定部343から供給される制御情報に従って、周辺画素判定部342から供給されるカレントブロックの周辺画素に対して、式(5)乃至式(9)を参照して説明したようなバイリニアフィルタ処理を行う。バイリニアフィルタ部345は、バイリニアフィルタ処理を施した周辺画素(フィルタ処理後周辺画素)をイントラ予測部310に供給する。
  以上のようにすることにより、閾値設定部321は、画像データのビット深度に応じた(ビット深度に対して適切な)閾値を設定することができ、フィルタ処理部322は、画像データのビット深度に対して適切なフィルタを選択し、周辺画素に対して、そのフィルタを用いてフィルタ処理を行うことができ、イントラ予測部310は、画像データのビット深度に対して適切なフィルタ処理が施された周辺画素を用いて予測画像を生成することができる。つまり、このようにすることにより、画像復号装置300は、復号画像の画質の低減を抑制することができる。
    <復号処理の流れ>
  次に、以上のような画像復号装置300により実行される復号処理の流れの例を、図25のフローチャートを参照して説明する。
  復号処理が開始されると、ステップS301において、蓄積バッファ301は、伝送されてきたビットストリームを蓄積する。ステップS302において、可逆復号部302は、蓄積バッファ301から供給されるビットストリーム(符号化された差分画像情報)を復号する。すなわち、図10の可逆符号化部106により符号化されたIピクチャ、Pピクチャ、並びにBピクチャが復号される。このとき、ヘッダ情報などのビットストリームに含められた差分画像情報以外の各種情報も復号される。
  ステップS303において、閾値設定部321は、画像データが符号化された符号化データを復号する際のイントラ予測処理におけるカレントブロックの周辺画素の特徴を識別するための閾値を設定する。
  ステップS304において、逆量子化部303は、ステップS302の処理により得られた、量子化された係数を逆量子化する。
  ステップS305において、逆直交変換部304は、ステップS304において逆量子化された係数を逆直交変換する。
  ステップS306において、イントラ予測部310若しくはインター予測部311は、予測処理を行い、予測画像を生成する。つまり、可逆復号部302において判定された、符号化の際に適用された予測モードで予測処理が行われる。より具体的には、例えば、符号化の際にイントラ予測が適用された場合、イントラ予測部310が、符号化の際に最適とされたイントラ予測モードで予測画像を生成する。また、例えば、符号化の際にインター予測が適用された場合、インター予測部311が、符号化の際に最適とされたインター予測モードで予測画像を生成する。
  ここで、イントラ予測部310がイントラ予測を行う場合、フィルタ処理部322が、ステップS303において設定された閾値を用いて、カレントブロックの周辺画素に対するフィルタ処理を行う場合もある。このフィルタ処理が行われた場合、イントラ予測部310は、そのフィルタ処理された周辺画素を用いてイントラ予測を行う。
  ステップS307において、演算部305は、ステップS305において逆直交変換されて得られた差分画像情報に、ステップS306において生成された予測画像を加算する。これにより元の画像が復号される。
  ステップS308において、ループフィルタ306は、ステップS307の処理により得られた再構成画像に対して、デブロックフィルタ処理や適応ループフィルタ処理等を含むループフィルタ処理を適宜行う。
  ステップS309において、画面並べ替えバッファ307は、ステップS308においてフィルタ処理された画像の並べ替えを行う。すなわち画像符号化装置100の画面並べ替えバッファ102により符号化のために並べ替えられたフレームの順序が、元の表示の順序に並べ替えられる。
  ステップS310において、D/A変換部308は、ステップS309においてフレームの順序が並べ替えられた画像をD/A変換する。この画像が図示せぬディスプレイに出力され、画像が表示される。
  ステップS311において、フレームメモリ309は、ステップS308においてフィルタ処理された画像を記憶する。
  ステップS311の処理が終了すると、復号処理が終了される。
    <閾値設定処理の流れ>
  次に、図26のフローチャートを参照して、図24の例の閾値設定部321が、シーケンスパラメータセット等として符号化側から伝送されたビット深度に関する情報に基づいて画像データのビット深度を判定する例について、図25のステップS303において実行される閾値設定処理の流れの例を説明する。なお、図26においては、閾値変更フラグが符号化側から伝送される場合について説明する。
  閾値設定処理が開始されると、ステップS331において、ビット深度判定部331は、符号化側(例えば画像符号化装置100)から伝送された閾値変更フラグを可逆復号部302から取得する。
  ステップS332において、ビット深度判定部331は、ステップS331において取得した閾値変更フラグの値に基づいて、予め用意されている初期値を閾値として設定するか否かを判定する。閾値を更新すると判定された場合、処理はステップS333に進む。
  ステップS333において、ビット深度判定部331は、例えばシーケンスパラメータセット(SPS)等として符号化側から伝送されたビット深度に関する情報を可逆復号部302から取得する。
  ステップS334において、ビット深度判定部331は、ステップS333において取得したビット深度に関する情報に基づいて、画像データのビット深度を判定する。
  ステップS335において、閾値ビットシフト部332は、ステップS334の判定結果(判定されたビット深度)に応じて、閾値(初期値)をビットシフトする。閾値ビットシフト部332は、更新された閾値をフィルタ処理部322の周辺画素判定部342に供給する。
  ステップS335の処理が終了すると、閾値設定処理が終了し、処理は、図25に戻る。また、ステップS331において、閾値として初期値を設定すると判定された場合、閾値設定処理が終了し、処理は、図25に戻る。
  以上のように閾値設定処理を実行することにより、閾値設定部321は、画像データのビット深度に応じた(ビット深度に対して適切な)閾値を設定することができる。
  なお、閾値変更フラグが符号化側から伝送されない場合、上述したステップS331の処理を省略することができる。その場合、ステップS332の判定は、例えば、ビット深度に関する情報等、閾値変更フラグ以外の情報に基づいて行われる。
    <予測処理の流れ>
  次に、図27のフローチャートを参照して、図25のステップS306において実行される予測処理の流れの例を説明する。
  予測処理が開始されると、可逆復号部302は、ステップS351において、符号化側から伝送された最適予測モード情報等に基づいて、最適予測モードがイントラ予測モードであるか否かを判定する。最適予測モードがイントラ予測であると判定された場合、処理は、ステップS352に進む。
  ステップS352において、イントラ予測部310は、イントラ予測を行い、予測画像を生成する。その際、フィルタ処理部322は、図25のステップS303において設定された閾値を用いて、カレントブロックの周辺画素に対するフィルタ処理を行う場合もある。そのフィルタ処理が行われた場合、イントラ予測部310は、そのフィルタ処理された周辺画素を用いてイントラ予測を行う。ステップS352の処理が終了すると、予測処理が終了し、処理は、図25に戻る。
  また、ステップS351において、最適予測モードがインター予測であると判定された場合、処理は、ステップS353に進む。
  ステップS353において、インター予測部311は、インター予測を行い、予測画像を生成する。つまり、インター予測部311は、符号化側から伝送された動きベクトル情報等を用いて補償処理を行う等して予測画像を生成する。ステップS353の処理が終了すると、予測処理が終了し、処理は、図25に戻る。
    <イントラ予測処理の流れ>
  次に、図28のフローチャートを参照して、図27のステップS352において実行されるイントラ予測処理の流れの例を説明する。
  イントラ予測処理が開始されると、ステップS371において、イントラ予測部310は、符号化側から最適予測モード情報として伝送された、最適イントラ予測モード(採用されたイントラ予測モード)を示すイントラモード情報を可逆復号部302から取得する。
  ステップS372において、周辺画素判定部342は、モード・ブロックサイズバッファ341から取得したブロックサイズ、および、閾値ビットシフト部332から取得した閾値情報に基づいて、イントラ予測部310から取得したカレントブロックの周辺画素の特徴(例えば、カレントブロック周辺が、明度・色彩・濃度等が平坦な部分であるか否か)を判定する。
  ステップS373において、フィルタ決定部343は、モード・ブロックサイズバッファ341から取得したモードおよびブロックサイズ、並びに、ステップS372の判定結果に基づいて、カレントブロックの周辺画素に対して使用するフィルタを決定する。
  ステップS374において、ローパスフィルタ部344およびバイリニアフィルタ部345の内、ステップS373の処理により選択された方は、カレントブロックの周辺画素に対してフィルタ処理を行う。例えば、ステップS373においてローパスフィルタが選択された場合、ステップS374において、ローパスフィルタ部344は、フィルタ決定部343により決定されたかけ方で、周辺画素に対してローパスフィルタ処理を行う。また、例えば、ステップS373においてバイリニアフィルタが選択された場合、ステップS374において、バイリニアフィルタ部345は、フィルタ決定部343により決定されたかけ方で、周辺画素に対してバイリニアフィルタ処理を行う。
  なお、これらのフィルタ処理は、一部のモードに対して省略することもできる。
  ステップS375において、イントラ予測部310は、ステップS374においてフィルタ処理された周辺画素(省略された場合は、フィルタ処理されていない周辺画素)を用いて、ステップS351において取得したイントラモード情報において指定される最適イントラ予測モードでイントラ予測を行い、予測画像を生成する。
  ステップS375の処理が終了すると、イントラ予測処理が終了し、処理は、図27に戻る。
  以上のようにイントラ予測処理を実行することにより、フィルタ処理部322は、画像データのビット深度に対して適切なフィルタを選択し、周辺画素に対して、そのフィルタを用いてフィルタ処理を行うことができ、イントラ予測部310は、画像データのビット深度に対して適切なフィルタ処理が施された周辺画素を用いて予測画像を生成することができる。
  つまり、以上のように各処理を実行することにより、画像復号装置300は、復号画像の画質の低減を抑制することができる。
    <閾値設定処理の流れ>
  次に、図29のフローチャートを参照して、図24の例の閾値設定部321が、画像情報に基づいて画像データのビット深度を判定する例について、図25のステップS303において実行される閾値設定処理の流れの例を説明する。なお、図29においては、閾値変更フラグが符号化側から伝送される場合について説明する。
  図29の例の場合、ステップS391、ステップS392、およびステップS395の各処理は、図26の例の、ステップS331、ステップS332、およびステップS335の各処理と同様に実行される。
  図29のステップS392において閾値を更新すると判定された場合、処理はステップS393に進む。
  ステップS393において、ビット深度判定部331は、フレームメモリ309から復号画像の画像情報を取得する。
  ステップS394において、ビット深度判定部331は、ステップS393において取得した画像情報に基づいて画像データのビット深度を判定する。ステップS394の処理が終了すると、処理は、ステップS395に進む。
  そのステップS395の処理が終了すると、閾値設定処理が終了し、処理は、図25に戻る。また、ステップS392において、閾値として初期値を設定すると判定された場合、閾値設定処理が終了し、処理は、図25に戻る。
  このようにしても、閾値設定部321は、画像データのビット深度に応じた(ビット深度に対して適切な)閾値を設定することができる。したがって、この場合も、画像復号装置300は、復号画像の画質の低減を抑制することができる。
  なお、閾値変更フラグが符号化側から伝送されない場合、上述したステップS391の処理を省略することができる。その場合、ステップS392の判定は、例えば、画像情報等、閾値変更フラグ以外の情報に基づいて行われる。
    <閾値設定部・フィルタ処理部>
  図30は、図23の閾値設定部321が符号化側から伝送されたビット深度に基づいて閾値を設定する場合の、閾値設定部321およびフィルタ処理部322の主な構成例を示すブロック図である。
  図30の例の場合、閾値設定部321は、復号部351および閾値ビットシフト部332を有する。
  復号部351は、符号化側から伝送されるビット深度符号化情報を取得し、それを復号してビット深度を示す情報を得る。例えば、復号部351は、ゴロム符号であるビット深度符号化情報をゴロム復号してビット深度を示す情報を得る。復号部351は、得たビット深度を示す情報を閾値ビットシフト部332に供給する。
  閾値ビットシフト部332は、復号部351から供給されたビット深度を示す情報に応じて、予め定められた閾値(初期値)をビットシフトする。閾値ビットシフト部332は、ビットシフト後の閾値(更新後の閾値)を示す閾値情報を周辺画素判定部342に供給する。
  なお、復号部351が、符号化側から伝送される閾値変更フラグを可逆復号部302からさらに取得し、その値に応じて、閾値を更新するか否かを決定するようにしてもよい。
  また、復号部351が、符号化側から伝送される閾値符号化情報をさらに取得し、それを復号して、更新前の閾値を示す閾値情報を得るようにしてもよい。例えば、復号部351は、ゴロム符号である閾値符号化情報をゴロム復号して、符号化側において設定された更新前の閾値を示す閾値情報を得るようにしてもよい。その場合、復号部351は、得た閾値情報を閾値ビットシフト部332に供給する。
  その場合、閾値ビットシフト部332は、復号部351から供給されたビット深度を示す情報に応じて、復号部351から供給された閾値情報が示す更新前の閾値をビットシフトする。閾値ビットシフト部332は、ビットシフト後の閾値(更新後の閾値)を示す閾値情報を周辺画素判定部342に供給する。
  なお、フィルタ処理部322は、図24の場合と同様の構成を有し、図24の場合と同様の処理を行う。
  以上のようにすることにより、閾値設定部321は、画像データのビット深度に応じた(ビット深度に対して適切な)閾値を設定することができ、フィルタ処理部122は、画像データのビット深度に対して適切なフィルタを選択し、周辺画素に対して、そのフィルタを用いてフィルタ処理を行うことができ、イントラ予測部310は、画像データのビット深度に対して適切なフィルタ処理が施された周辺画素を用いて予測画像を生成することができる。つまり、このようにすることにより、画像復号装置300は、復号画像の画質の低減を抑制することができる。
  また、図30の例の場合、閾値設定部321が、符号化側において設定された閾値を用いることができるので、イントラ予測部310は、その符号化側による画質の指定を予測画像に反映させることができる。つまり、画像復号装置300は、符号化側による画質の制御を復号画像に反映させることができる。
    <閾値設定処理の流れ>
  次に、図31のフローチャートを参照して、図30の例の閾値設定部321が、符号化側において指定されるビット深度に基づいて閾値を更新する例について、図25のステップS303において実行される閾値設定処理の流れの例を説明する。なお、図31においては、閾値変更フラグが符号化側から伝送される場合について説明する。
  図31の例の場合、ステップS411およびステップS412の各処理は、図26の例の、ステップS331およびステップS332の各処理と同様に実行される。
  図31のステップS412において閾値を更新すると判定された場合、処理はステップS413に進む。
  ステップS413において、復号部351は、可逆復号部302からビット深度符号化情報を取得する。
  ステップS414において、復号部351は、ステップS413において取得したビット深度符号化情報を復号する。
  ステップS415において、閾値ビットシフト部332は、ステップS414において得られたビット深度に応じて、予め用意された閾値(初期値)をビットシフトする。
  そのステップS415の処理が終了すると、閾値設定処理が終了し、処理は、図25に戻る。また、ステップS412において、閾値として初期値を設定すると判定された場合、閾値設定処理が終了し、処理は、図25に戻る。
  このようにしても、閾値設定部321は、画像データのビット深度に応じた(ビット深度に対して適切な)閾値を設定することができる。したがって、この場合も、画像復号装置300は、復号画像の画質の低減を抑制することができる。
  なお、閾値変更フラグが符号化側から伝送されない場合、上述したステップS411の処理を省略することができる。その場合、ステップS412の判定は、例えば、ビット深度符号化情報等、閾値変更フラグ以外の情報に基づいて行われる。
    <閾値設定処理の流れ>
  次に、図32のフローチャートを参照して、図30の例の閾値設定部321が、符号化側において指定されるビット深度に基づいて、符号化側において設定された閾値を更新する例について、図25のステップS303において実行される閾値設定処理の流れの例を説明する。なお、図32においては、閾値変更フラグが符号化側から伝送される場合について説明する。
  図32の例の場合、ステップS431乃至ステップS434の各処理は、図31の例の、ステップS411乃至ステップS414の各処理と同様に実行される。
  図32のステップS434の処理が終了すると、処理はステップS435に進む。
  ステップS435において、復号部351は、可逆復号部302から閾値符号化情報を取得する。
  ステップS436において、復号部351は、ステップS435において取得した閾値符号化情報を復号し、更新前の閾値を示す閾値情報を得る。
  ステップS437において、閾値ビットシフト部332は、ステップS434において得られたビット深度に応じて、ステップS436において得られた更新前の閾値をビットシフトする。
  そのステップS437の処理が終了すると、閾値設定処理が終了し、処理は、図25に戻る。また、ステップS432において、閾値として初期値を設定すると判定された場合、閾値設定処理が終了し、処理は、図25に戻る。
  このようにしても、閾値設定部321は、画像データのビット深度に応じた(ビット深度に対して適切な)閾値を設定することができる。したがって、この場合も、画像復号装置300は、復号画像の画質の低減を抑制することができる。
  また、閾値設定部321は、符号化側において設定された閾値を用いることができる。したがって、画像復号装置300は、符号化側による画質の制御を復号画像に反映させることができる。
  なお、閾値変更フラグが符号化側から伝送されない場合、上述したステップS431の処理を省略することができる。その場合、ステップS432の判定は、例えば、ビット深度符号化情報や閾値符号化情報等、閾値変更フラグ以外の情報に基づいて行われる。
    <閾値設定部・フィルタ処理部>
  図33は、図23の閾値設定部321が符号化側から伝送された更新後の閾値を、フィルタ処理部322において用いられる閾値として設定する場合の、閾値設定部321およびフィルタ処理部322の主な構成例を示すブロック図である。
  図33の例の場合、閾値設定部321は、復号部361を有する。
  復号部361は、符号化側から伝送される閾値符号化情報を取得し、それを復号して更新後の閾値を示す閾値情報を得る。例えば、復号部361は、ゴロム符号である閾値符号化情報をゴロム復号して閾値情報を得る。復号部361は、このようにして得た更新後の閾値を示す閾値情報を周辺画素判定部342に供給する。
  なお、復号部361が、符号化側から伝送される閾値変更フラグを可逆復号部302からさらに取得し、その値に応じて、閾値を更新するか否かを決定するようにしてもよい。
  なお、フィルタ処理部322は、図24の場合と同様の構成を有し、図24の場合と同様の処理を行う。
  以上のようにすることにより、閾値設定部321は、符号化側において設定された閾値を、フィルタ処理部322が用いる閾値として設定することができるので、イントラ予測部310は、その符号化側による画質の指定を予測画像に反映させることができる。つまり、画像復号装置300は、符号化側による画質の制御を復号画像に反映させることができる。
    <閾値設定処理の流れ>
  次に、図34のフローチャートを参照して、図30の例の閾値設定部321が、符号化側において更新された閾値を、フィルタ処理部322が用いる閾値として設定する例について、図25のステップS303において実行される閾値設定処理の流れの例を説明する。なお、図34においては、閾値変更フラグが符号化側から伝送される場合について説明する。
  図34の例の場合、ステップS451およびステップS452の各処理は、図32の例の、ステップS431およびステップS432の各処理と同様に実行される。
  図34のステップS452において更新後の閾値を設定すると判定された場合、処理はステップS453に進む。
  ステップS453において、復号部361は、可逆復号部302から閾値符号化情報を取得する。
  ステップS454において、復号部361は、ステップS453において取得した閾値符号化情報を復号し、符号化側において更新された閾値を示す閾値情報を取得する。
  ステップS454の処理が終了すると、閾値設定処理が終了し、処理は、図25に戻る。また、ステップS452において、閾値として初期値を設定すると判定された場合、閾値設定処理が終了し、処理は、図25に戻る。
  このようにしても、閾値設定部321は、符号化側において設定された閾値を用いることができる。したがって、画像復号装置300は、符号化側による画質の制御を復号画像に反映させることができる。
  なお、閾値変更フラグが符号化側から伝送されない場合、上述したステップS451の処理を省略することができる。その場合、ステップS452の判定は、例えば、閾値符号化情報等、閾値変更フラグ以外の情報に基づいて行われる。
    <閾値設定部・フィルタ処理部>
  図35は、図23の閾値設定部321が復号された画像データのビット深度に応じて、符号化側から伝送された更新前の閾値を更新する場合の、閾値設定部321およびフィルタ処理部322の主な構成例を示すブロック図である。
  図35の例の場合、閾値設定部321は、ビット深度判定部331、閾値ビットシフト部332、および復号部351を有する。
  ビット深度判定部331は、符号化側(例えば画像符号化装置100)から、例えばシーケンスパラメータセット等として伝送された画像データのビット深度に関する情報を可逆復号部302から取得し、そのビット深度に関する情報に基づいて、画像データのビット深度を判定する。また、例えば、ビット深度判定部331は、フレームメモリ309から復号画像の画像情報を取得し、その画像情報に基づいて画像データのビット深度を判定する。ビット深度判定部331は、以上のようにして判定したビット深度を示す情報を閾値ビットシフト部332に供給する。
  復号部351は、符号化側から伝送される閾値符号化情報を取得し、それを復号して更新前の閾値を示す閾値情報を得る。例えば、復号部351は、ゴロム符号である閾値符号化情報をゴロム復号して閾値情報を得る。復号部351は、このようにして得た更新前の閾値を示す閾値情報を閾値ビットシフト部332に供給する。
  閾値ビットシフト部332は、ビット深度判定部331から供給されたビット深度を示す情報に応じて、復号部351から供給される更新前の閾値をビットシフトすることにより、符号化側において設定された閾値の更新(変更)を行う。
  例えば、閾値ビットシフト部332には、符号化側において設定された更新前の閾値として、ビット深度が8ビットの場合に適した値の閾値が復号部351から供給される。閾値ビットシフト部332は、ビット深度判定部331からビット深度を示す情報を取得すると、その情報が示す画像データのビット深度と、8ビットとのビット数の差分だけ、更新前の閾値をビットシフトする。
  閾値ビットシフト部332は、更新(変更)後の閾値を示す情報(閾値情報)をフィルタ処理部322の周辺画素判定部342に供給する。
  なお、ビット深度判定部331が、符号化側から伝送される閾値変更フラグを可逆復号部302からさらに取得し、その値に応じて、閾値を更新するか否かを決定するようにしてもよい。
  なお、フィルタ処理部322は、図24の場合と同様の構成を有し、図24の場合と同様の処理を行う。
  以上のようにすることにより、閾値設定部321は、符号化側において設定された閾値を、画像データのビット深度に応じて更新することができ、フィルタ処理部122は、画像データのビット深度に対して適切なフィルタを選択し、周辺画素に対して、そのフィルタを用いてフィルタ処理を行うことができ、イントラ予測部310は、画像データのビット深度に対して適切なフィルタ処理が施された周辺画素を用いて予測画像を生成することができる。つまり、このようにすることにより、画像復号装置300は、復号画像の画質の低減を抑制することができる。
    <閾値設定処理の流れ>
  次に、図36のフローチャートを参照して、図35の例の閾値設定部321が、画像データのビット深度に基づいて、符号化側において設定された閾値を更新する例について、図25のステップS303において実行される閾値設定処理の流れの例を説明する。なお、図36においては、閾値変更フラグが符号化側から伝送される場合について説明する。
  図36の例の場合、ステップS471乃至ステップS474の各処理は、図26の例の、ステップS331乃至ステップS334の各処理と同様に実行される。
  また、図36の例の場合、ステップS475およびステップS476の各処理は、図32の例の、ステップS435およびステップS436の各処理と同様に実行される。
  図36のステップS476の処理が終了すると、処理はステップS477に進む。
  ステップS477において、閾値ビットシフト部332は、ステップS474において得られたビット深度に応じて、ステップS476において得られた更新前の閾値をビットシフトする。
  そのステップS477の処理が終了すると、閾値設定処理が終了し、処理は、図25に戻る。また、ステップS472において、閾値として初期値を設定すると判定された場合、閾値設定処理が終了し、処理は、図25に戻る。
  このようにしても、閾値設定部321は、画像データのビット深度に応じた(ビット深度に対して適切な)閾値を設定することができる。したがって、この場合も、画像復号装置300は、復号画像の画質の低減を抑制することができる。
  また、閾値設定部321は、符号化側において設定された閾値を用いることができる。したがって、画像復号装置300は、符号化側による画質の制御を復号画像に反映させることができる。
  なお、閾値変更フラグが符号化側から伝送されない場合、上述したステップS471の処理を省略することができる。その場合、ステップS472の判定は、例えば、ビット深度に関する情報や閾値符号化情報等、閾値変更フラグ以外の情報に基づいて行われる。
  なお、ビット深度判定部331が画像情報に基づいてビット深度を判定する場合、ステップS473およびステップS474の処理の代わりに、図29のステップS393およびステップS394の処理を実行すればよい。
  以上のように、本技術の適用範囲は、イントラ予測を用いて画像を符号化・復号するあらゆる画像符号化装置及び画像復号装置に適用することができる。
  また、本技術は、例えば、MPEG、H.26x等の様に、離散コサイン変換等の直交変換と動き補償によって圧縮された画像情報(ビットストリーム)を、衛星放送、ケーブルテレビジョン、インターネット、または携帯電話機などのネットワークメディアを介して受信する際に用いられる画像符号化装置および画像復号装置に適用することができる。また、本技術は、光、磁気ディスク、およびフラッシュメモリのような記憶メディア上で処理する際に用いられる画像符号化装置および画像復号装置に適用することができる。さらに、本技術は、それらの画像符号化装置および画像復号装置などに含まれるイントラ予測装置にも適用することができる。
  <3.第3の実施の形態>
    <多視点画像符号化・多視点画像復号への適用>
  上述した一連の処理は、多視点画像符号化・多視点画像復号に適用することができる。図37は、多視点画像符号化方式の一例を示す。
  図37に示されるように、多視点画像は、複数の視点(ビュー(view))の画像を含む。この多視点画像の複数のビューは、他のビューの画像を利用せずに自身のビューの画像のみを用いて符号化・復号を行うベースビューと、他のビューの画像を利用して符号化・復号を行うノンベースビューとによりなる。ノンベースビューは、ベースビューの画像を利用するようにしても良いし、他のノンベースビューの画像を利用するようにしてもよい。
  図37のような多視点画像を符号化・復号する場合、各ビューの画像を符号化・復号するが、この各ビューの符号化・復号に対して、第1の実施の形態および第2の実施の形態において上述した方法を適用するようにしてもよい。このようにすることにより、各ビューの画質の低減を抑制することができる。
  さらに、各ビューの符号化・復号において、第1の実施の形態および第2の実施の形態において上述した方法において使用されるフラグやパラメータを共有するようにしてもよい。このようにすることにより、冗長な情報の伝送を抑制し、伝送する情報量(符号量)を低減することができる(つまり、符号化効率の低減を抑制することができる)。
  より具体的には、例えば、イントラ予測におけるカレントブロックの周辺画素に対するフィルタ処理の選択に利用する閾値、画像データのビット深度、または、閾値を変更したことを示す閾値変更フラグ等を、各ビューの符号化・復号において共有するようにしてもよい。
  もちろん、これら以外の必要な情報も、各ビューの符号化・復号において共有するようにしてもよい。
    <多視点画像符号化装置>
  図38は、上述した多視点画像符号化を行う多視点画像符号化装置を示す図である。図38に示されるように、多視点画像符号化装置600は、符号化部601、符号化部602、および多重化部603を有する。
  符号化部601は、ベースビュー画像を符号化し、ベースビュー画像符号化ストリームを生成する。符号化部602は、ノンベースビュー画像を符号化し、ノンベースビュー画像符号化ストリームを生成する。多重化部603は、符号化部601において生成されたベースビュー画像符号化ストリームと、符号化部602において生成されたノンベースビュー画像符号化ストリームとを多重化し、多視点画像符号化ストリームを生成する。
  この多視点画像符号化装置600の符号化部601および符号化部602に対して、画像符号化装置100(図10)を適用することができる。つまり、各ビューに対する符号化において、イントラ予測のフィルタ処理の選択に利用する閾値を制御することができ、各ビューの画質の低減を抑制することができる。また、符号化部601および符号化部602は、互いに同一のフラグやパラメータ(例えば、閾値やビット深度等)を用いて、イントラ予測のフィルタ処理の制御等を行うことができる(すなわち、フラグやパラメータを共有することができる)ので、符号化効率の低減を抑制することができる。
    <多視点画像復号装置>
  図39は、上述した多視点画像復号を行う多視点画像復号装置を示す図である。図39に示されるように、多視点画像復号装置610は、逆多重化部611、復号部612、および復号部613を有する。
  逆多重化部611は、ベースビュー画像符号化ストリームとノンベースビュー画像符号化ストリームとが多重化された多視点画像符号化ストリームを逆多重化し、ベースビュー画像符号化ストリームと、ノンベースビュー画像符号化ストリームとを抽出する。復号部612は、逆多重化部611により抽出されたベースビュー画像符号化ストリームを復号し、ベースビュー画像を得る。復号部613は、逆多重化部611により抽出されたノンベースビュー画像符号化ストリームを復号し、ノンベースビュー画像を得る。
  この多視点画像復号装置610の復号部612および復号部613に対して、画像復号装置300(図23)を適用することができる。つまり、各ビューに対する復号において、イントラ予測のフィルタ処理の選択に利用する閾値を制御することができ、各ビューの画質の低減を抑制することができる。また、復号部612および復号部613は、互いに同一のフラグやパラメータ(例えば、閾値やビット深度等)を用いて、イントラ予測のフィルタ処理の制御等を行うことができる(すなわち、フラグやパラメータを共有することができる)ので、符号化効率の低減を抑制することができる。
  <4.第4の実施の形態>
    <階層画像符号化・階層画像復号への適用>
  上述した一連の処理は、階層画像符号化・階層画像復号(スケーラブル符号化・スケーラブル復号)に適用することができる。図40は、階層画像符号化方式の一例を示す。
  階層画像符号化(スケーラブル符号化)は、画像データを、所定のパラメータについてスケーラビリティ(scalability)機能を有するように、画像を複数レイヤ化(階層化)し、レイヤ毎に符号化するものである。階層画像復号は、その階層画像符号化(スケーラブル復号)は、その階層画像符号化に対応する復号である。
  図40に示されるように、画像の階層化においては、スケーラビリティ機能を有する所定のパラメータを基準として1の画像が複数の画像(レイヤ)に分割される。つまり、階層化された画像(階層画像)は、その所定のパラメータの値が互いに異なる複数の階層(レイヤ)の画像を含む。この階層画像の複数のレイヤは、他のレイヤの画像を利用せずに自身のレイヤの画像のみを用いて符号化・復号を行うベースレイヤと、他のレイヤの画像を利用して符号化・復号を行うノンベースレイヤ(エンハンスメントレイヤとも称する)とによりなる。ノンベースレイヤは、ベースレイヤの画像を利用するようにしても良いし、他のノンベースレイヤの画像を利用するようにしてもよい。
  一般的に、ノンベースレイヤは、冗長性が低減されるように、自身の画像と、他のレイヤの画像との差分画像のデータ(差分データ)により構成される。例えば、1の画像をベースレイヤとノンベースレイヤ(エンハンスメントレイヤとも称する)に2階層化した場合、ベースレイヤのデータのみで元の画像よりも低品質な画像が得られ、ベースレイヤのデータとノンベースレイヤのデータを合成することで、元の画像(すなわち高品質な画像)が得られる。
  このように画像を階層化することにより、状況に応じて多様な品質の画像を容易に得ることができる。例えば携帯電話のような、処理能力の低い端末に対しては、ベースレイヤ(base layer)のみの画像圧縮情報を伝送し、空間時間解像度の低い、或いは、画質の良くない動画像を再生し、テレビやパーソナルコンピュータのような、処理能力の高い端末に対しては、ベースレイヤ(base layer)に加えて、エンハンスメントレイヤ(enhancement layer)の画像圧縮情報を伝送し、空間時間解像度の高い、或いは、画質の高い動画像を再生するといったように、トランスコード処理を行うことなく、端末やネットワークの能力に応じた画像圧縮情報を、サーバから送信することが可能となる。
  図40の例のような階層画像を符号化・復号する場合、各レイヤの画像を符号化・復号するが、この各レイヤの符号化・復号に対して、第1の実施の形態および第2の実施の形態において上述した方法を適用するようにしてもよい。このようにすることにより、各レイヤの画質の低減を抑制することができる。
  さらに、各レイヤの符号化・復号において、第1の実施の形態および第2の実施の形態において上述した方法において使用されるフラグやパラメータを共有するようにしてもよい。このようにすることにより、冗長な情報の伝送を抑制し、伝送する情報量(符号量)を低減することができる(つまり、符号化効率の低減を抑制することができる)。
  より具体的には、例えば、イントラ予測におけるカレントブロックの周辺画素に対するフィルタ処理の選択に利用する閾値、画像データのビット深度、または、閾値を変更したことを示す閾値変更フラグ等を、各レイヤの符号化・復号において共有するようにしてもよい。
  もちろん、これら以外の必要な情報も、各レイヤの符号化・復号において共有するようにしてもよい。
    <スケーラブルなパラメータ>
  このような階層画像符号化・階層画像復号(スケーラブル符号化・スケーラブル復号)において、スケーラビリティ(scalability)機能を有するパラメータは、任意である。例えば、図41に示されるような空間解像度をそのパラメータとしてもよい(spatial scalability)。このスペーシャルスケーラビリティ(spatial scalability)の場合、レイヤ毎に画像の解像度が異なる。つまり、図41に示されるように、各ピクチャが、元の画像より空間的に低解像度のベースレイヤと、ベースレイヤの画像と合成することにより元の画像(元の空間解像度)が得られるエンハンスメントレイヤの2階層に階層化される。もちろん、この階層数は一例であり、任意の階層数に階層化することができる。
  また、このようなスケーラビリティ性を持たせるパラメータとして、他には、例えば、図42に示されるような、時間解像度を適用しても良い(temporal scalability)。このテンポラルスケーラビリティ(temporal scalability)の場合、レイヤ毎にフレームレートが異なる。つまり、この場合、図42に示されるように、互いに異なるフレームレートのレイヤに階層化されており、低フレームレートのレイヤに、高フレームレートのレイヤを加えることで、より高フレームレートの動画像を得ることができ、全てのレイヤを加えることで、元の動画像(元のフレームレート)を得ることができる。この階層数は一例であり、任意の階層数に階層化することができる。
  さらに、このようなスケーラビリティ性を持たせるパラメータとして、例えば、信号雑音比(SNR(Signal to Noise ratio))を適用しても良い(SNR scalability)。このSNRスケーラビリティ(SNR scalability)の場合、レイヤ毎にSN比が異なる。つまり、図43に示されるように、各ピクチャが、元の画像よりSNRの低いベースレイヤと、ベースレイヤの画像と合成することにより元の画像(元のSNR)が得られるエンハンスメントレイヤの2階層に階層化される。すなわち、ベースレイヤ(base layer)画像圧縮情報においては、低PSNRの画像に関する情報が伝送されており、これに、エンハンスメントレイヤ(enhancement layer)画像圧縮情報を加えることで、高PSNR画像を再構築することが可能である。もちろん、この階層数は一例であり、任意の階層数に階層化することができる。
  スケーラビリティ性を持たせるパラメータは、上述した例以外であっても、もちろんよい。例えば、ベースレイヤ(base layer)が8ビット(bit)画像よりなり、これにエンハンスメントレイヤ(enhancement layer)を加えることにより、10ビット(bit)画像が得られるビット深度スケーラビリティ(bit-depth scalability)がある。
  また、ベースレイヤ(base layer)が4:2:0フォーマットのコンポーネント画像よりなり、これにエンハンスメントレイヤ(enhancement layer)を加えることにより、4:2:2フォーマットのコンポーネント画像が得られるクロマスケーラビリティ(chroma scalability)がある。
    <階層画像符号化装置>
  図44は、上述した階層画像符号化を行う階層画像符号化装置を示す図である。図44に示されるように、階層画像符号化装置620は、符号化部621、符号化部622、および多重化部623を有する。
  符号化部621は、ベースレイヤ画像を符号化し、ベースレイヤ画像符号化ストリームを生成する。符号化部622は、ノンベースレイヤ画像を符号化し、ノンベースレイヤ画像符号化ストリームを生成する。多重化部623は、符号化部621において生成されたベースレイヤ画像符号化ストリームと、符号化部622において生成されたノンベースレイヤ画像符号化ストリームとを多重化し、階層画像符号化ストリームを生成する。
  この階層画像符号化装置620の符号化部621および符号化部622に対して、画像符号化装置100(図10)を適用することができる。つまり、各レイヤに対する符号化において、イントラ予測のフィルタ処理の選択に利用する閾値を制御することができ、各レイヤの画質の低減を抑制することができる。また、符号化部621および符号化部622は、互いに同一のフラグやパラメータ(例えば、閾値やビット深度等)を用いて、イントラ予測のフィルタ処理の制御等を行うことができる(すなわち、フラグやパラメータを共有することができる)ので、符号化効率の低減を抑制することができる。
    <階層画像復号装置>
  図45は、上述した階層画像復号を行う階層画像復号装置を示す図である。図45に示されるように、階層画像復号装置630は、逆多重化部631、復号部632、および復号部633を有する。
  逆多重化部631は、ベースレイヤ画像符号化ストリームとノンベースレイヤ画像符号化ストリームとが多重化された階層画像符号化ストリームを逆多重化し、ベースレイヤ画像符号化ストリームと、ノンベースレイヤ画像符号化ストリームとを抽出する。復号部632は、逆多重化部631により抽出されたベースレイヤ画像符号化ストリームを復号し、ベースレイヤ画像を得る。復号部633は、逆多重化部631により抽出されたノンベースレイヤ画像符号化ストリームを復号し、ノンベースレイヤ画像を得る。
  この階層画像復号装置630の復号部632および復号部633に対して、画像復号装置300(図23)を適用することができる。つまり、各レイヤに対する復号において、イントラ予測のフィルタ処理の選択に利用する閾値を制御することができ、各レイヤの画質の低減を抑制することができる。また、復号部612および復号部613は、互いに同一のフラグやパラメータ(例えば、閾値やビット深度等)を用いて、イントラ予測のフィルタ処理の制御等を行うことができる(すなわち、フラグやパラメータを共有することができる)ので、符号化効率の低減を抑制することができる。
  また、本技術は、例えば、MPEG、H.26x等の様に、離散コサイン変換等の直交変換と動き補償によって圧縮された画像情報(ビットストリーム)を、衛星放送、ケーブルテレビジョン、インターネット、または携帯電話機などのネットワークメディアを介して受信する際に用いられる画像符号化装置および画像復号装置に適用することができる。また、本技術は、光、磁気ディスク、およびフラッシュメモリのような記憶メディア上で処理する際に用いられる画像符号化装置および画像復号装置に適用することができる。さらに、本技術は、それらの画像符号化装置および画像復号装置などに含まれる量子化装置若しくは逆量子化装置にも適用することができる。
  <5.第5の実施の形態>
    <コンピュータ>
  上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここでコンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータ等が含まれる。
  図46は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
  図46に示されるコンピュータ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つの応用例について説明する。
  <6.応用例>
    <第1の応用例:テレビジョン受像機>
  図47は、上述した実施形態を適用したテレビジョン装置の概略的な構成の一例を示している。テレビジョン装置900は、アンテナ901、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、表示部906、音声信号処理部907、スピーカ908、外部インタフェース909、制御部910、ユーザインタフェース911、及びバス912を備える。
  チューナ902は、アンテナ901を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ902は、復調により得られた符号化ビットストリームをデマルチプレクサ903へ出力する。即ち、チューナ902は、画像が符号化されている符号化ストリームを受信する、テレビジョン装置900における伝送部としての役割を有する。
  デマルチプレクサ903は、符号化ビットストリームから視聴対象の番組の映像ストリーム及び音声ストリームを分離し、分離した各ストリームをデコーダ904へ出力する。また、デマルチプレクサ903は、符号化ビットストリームからEPG(Electronic Program Guide)などの補助的なデータを抽出し、抽出したデータを制御部910に供給する。なお、デマルチプレクサ903は、符号化ビットストリームがスクランブルされている場合には、デスクランブルを行ってもよい。
  デコーダ904は、デマルチプレクサ903から入力される映像ストリーム及び音声ストリームを復号する。そして、デコーダ904は、復号処理により生成される映像データを映像信号処理部905へ出力する。また、デコーダ904は、復号処理により生成される音声データを音声信号処理部907へ出力する。
  映像信号処理部905は、デコーダ904から入力される映像データを再生し、表示部906に映像を表示させる。また、映像信号処理部905は、ネットワークを介して供給されるアプリケーション画面を表示部906に表示させてもよい。また、映像信号処理部905は、映像データについて、設定に応じて、例えばノイズ除去などの追加的な処理を行ってもよい。さらに、映像信号処理部905は、例えばメニュー、ボタン又はカーソルなどのGUI(Graphical User Interface)の画像を生成し、生成した画像を出力画像に重畳してもよい。
  表示部906は、映像信号処理部905から供給される駆動信号により駆動され、表示デバイス(例えば、液晶ディスプレイ、プラズマディスプレイ又はOELD(Organic ElectroLuminescence Display)(有機ELディスプレイ)など)の映像面上に映像又は画像を表示する。
  音声信号処理部907は、デコーダ904から入力される音声データについてD/A変換及び増幅などの再生処理を行い、スピーカ908から音声を出力させる。また、音声信号処理部907は、音声データについてノイズ除去などの追加的な処理を行ってもよい。
  外部インタフェース909は、テレビジョン装置900と外部機器又はネットワークとを接続するためのインタフェースである。例えば、外部インタフェース909を介して受信される映像ストリーム又は音声ストリームが、デコーダ904により復号されてもよい。即ち、外部インタフェース909もまた、画像が符号化されている符号化ストリームを受信する、テレビジョン装置900における伝送部としての役割を有する。
  制御部910は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、プログラムデータ、EPGデータ、及びネットワークを介して取得されるデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、テレビジョン装置900の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース911から入力される操作信号に応じて、テレビジョン装置900の動作を制御する。
  ユーザインタフェース911は、制御部910と接続される。ユーザインタフェース911は、例えば、ユーザがテレビジョン装置900を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース911は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部910へ出力する。
  バス912は、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、音声信号処理部907、外部インタフェース909及び制御部910を相互に接続する。
  このように構成されたテレビジョン装置900において、デコーダ904は、上述した実施形態に係る画像復号装置300(図23)の機能を有する。それにより、テレビジョン装置900での画像の復号に際して、画質の低減を抑制することができる。
    <第2の応用例:携帯電話機>
  図48は、上述した実施形態を適用した携帯電話機の概略的な構成の一例を示している。携帯電話機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の記憶媒体に記憶させる。
  また、テレビ電話モードにおいて、例えば、多重分離部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(図10)及び画像復号装置300(図23)の機能を有する。それにより、携帯電話機920での画像の符号化及び復号に際して、画質の低減を抑制することができる。
    <第3の応用例:記録再生装置>
  図49は、上述した実施形態を適用した記録再生装置の概略的な構成の一例を示している。記録再生装置940は、例えば、受信した放送番組の音声データ及び映像データを符号化して記録媒体に記録する。また、記録再生装置940は、例えば、他の装置から取得される音声データ及び映像データを符号化して記録媒体に記録してもよい。また、記録再生装置940は、例えば、ユーザの指示に応じて、記録媒体に記録されているデータをモニタ及びスピーカ上で再生する。このとき、記録再生装置940は、音声データ及び映像データを復号する。
  記録再生装置940は、チューナ941、外部インタフェース942、エンコーダ943、HDD(Hard Disk Drive)944、ディスクドライブ945、セレクタ946、デコーダ947、OSD(On-Screen Display)948、制御部949、及びユーザインタフェース950を備える。
  チューナ941は、アンテナ(図示せず)を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ941は、復調により得られた符号化ビットストリームをセレクタ946へ出力する。即ち、チューナ941は、記録再生装置940における伝送部としての役割を有する。
  外部インタフェース942は、記録再生装置940と外部機器又はネットワークとを接続するためのインタフェースである。外部インタフェース942は、例えば、IEEE1394インタフェース、ネットワークインタフェース、USBインタフェース、又はフラッシュメモリインタフェースなどであってよい。例えば、外部インタフェース942を介して受信される映像データ及び音声データは、エンコーダ943へ入力される。即ち、外部インタフェース942は、記録再生装置940における伝送部としての役割を有する。
  エンコーダ943は、外部インタフェース942から入力される映像データ及び音声データが符号化されていない場合に、映像データ及び音声データを符号化する。そして、エンコーダ943は、符号化ビットストリームをセレクタ946へ出力する。
  HDD944は、映像及び音声などのコンテンツデータが圧縮された符号化ビットストリーム、各種プログラムおよびその他のデータを内部のハードディスクに記録する。また、HDD944は、映像及び音声の再生時に、これらデータをハードディスクから読み出す。
  ディスクドライブ945は、装着されている記録媒体へのデータの記録及び読み出しを行う。ディスクドライブ945に装着される記録媒体は、例えばDVDディスク(DVD-Video、DVD-RAM、DVD-R、DVD-RW、DVD+R、DVD+RW等)又はBlu-ray(登録商標)ディスクなどであってよい。
  セレクタ946は、映像及び音声の記録時には、チューナ941又はエンコーダ943から入力される符号化ビットストリームを選択し、選択した符号化ビットストリームをHDD944又はディスクドライブ945へ出力する。また、セレクタ946は、映像及び音声の再生時には、HDD944又はディスクドライブ945から入力される符号化ビットストリームをデコーダ947へ出力する。
  デコーダ947は、符号化ビットストリームを復号し、映像データ及び音声データを生成する。そして、デコーダ947は、生成した映像データをOSD948へ出力する。また、デコーダ947は、生成した音声データを外部のスピーカへ出力する。
  OSD948は、デコーダ947から入力される映像データを再生し、映像を表示する。また、OSD948は、表示する映像に、例えばメニュー、ボタン又はカーソルなどのGUIの画像を重畳してもよい。
  制御部949は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、記録再生装置940の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース950から入力される操作信号に応じて、記録再生装置940の動作を制御する。
  ユーザインタフェース950は、制御部949と接続される。ユーザインタフェース950は、例えば、ユーザが記録再生装置940を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース950は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部949へ出力する。
  このように構成された記録再生装置940において、エンコーダ943は、上述した実施形態に係る画像符号化装置100(図10)の機能を有する。また、デコーダ947は、上述した実施形態に係る画像復号装置300(図23)の機能を有する。それにより、記録再生装置940での画像の符号化及び復号に際して、画質の低減を抑制することができる。
    <第4の応用例:撮像装置>
  図50は、上述した実施形態を適用した撮像装置の概略的な構成の一例を示している。撮像装置960は、被写体を撮像して画像を生成し、画像データを符号化して記録媒体に記録する。
  撮像装置960は、光学ブロック961、撮像部962、信号処理部963、画像処理部964、表示部965、外部インタフェース966、メモリ967、メディアドライブ968、OSD969、制御部970、ユーザインタフェース971、及びバス972を備える。
  光学ブロック961は、撮像部962に接続される。撮像部962は、信号処理部963に接続される。表示部965は、画像処理部964に接続される。ユーザインタフェース971は、制御部970に接続される。バス972は、画像処理部964、外部インタフェース966、メモリ967、メディアドライブ968、OSD969、及び制御部970を相互に接続する。
  光学ブロック961は、フォーカスレンズ及び絞り機構などを有する。光学ブロック961は、被写体の光学像を撮像部962の撮像面に結像させる。撮像部962は、CCD(Charge Coupled Device)又はCMOS(Complementary Metal Oxide Semiconductor)などのイメージセンサを有し、撮像面に結像した光学像を光電変換によって電気信号としての画像信号に変換する。そして、撮像部962は、画像信号を信号処理部963へ出力する。
  信号処理部963は、撮像部962から入力される画像信号に対してニー補正、ガンマ補正、色補正などの種々のカメラ信号処理を行う。信号処理部963は、カメラ信号処理後の画像データを画像処理部964へ出力する。
  画像処理部964は、信号処理部963から入力される画像データを符号化し、符号化データを生成する。そして、画像処理部964は、生成した符号化データを外部インタフェース966又はメディアドライブ968へ出力する。また、画像処理部964は、外部インタフェース966又はメディアドライブ968から入力される符号化データを復号し、画像データを生成する。そして、画像処理部964は、生成した画像データを表示部965へ出力する。また、画像処理部964は、信号処理部963から入力される画像データを表示部965へ出力して画像を表示させてもよい。また、画像処理部964は、OSD969から取得される表示用データを、表示部965へ出力する画像に重畳してもよい。
  OSD969は、例えばメニュー、ボタン又はカーソルなどのGUIの画像を生成して、生成した画像を画像処理部964へ出力する。
  外部インタフェース966は、例えばUSB入出力端子として構成される。外部インタフェース966は、例えば、画像の印刷時に、撮像装置960とプリンタとを接続する。また、外部インタフェース966には、必要に応じてドライブが接続される。ドライブには、例えば、磁気ディスク又は光ディスクなどのリムーバブルメディアが装着され、リムーバブルメディアから読み出されるプログラムが、撮像装置960にインストールされ得る。さらに、外部インタフェース966は、LAN又はインターネットなどのネットワークに接続されるネットワークインタフェースとして構成されてもよい。即ち、外部インタフェース966は、撮像装置960における伝送部としての役割を有する。
  メディアドライブ968に装着される記録媒体は、例えば、磁気ディスク、光磁気ディスク、光ディスク、又は半導体メモリなどの、読み書き可能な任意のリムーバブルメディアであってよい。また、メディアドライブ968に記録媒体が固定的に装着され、例えば、内蔵型ハードディスクドライブ又はSSD(Solid State Drive)のような非可搬性の記憶部が構成されてもよい。
  制御部970は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、撮像装置960の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース971から入力される操作信号に応じて、撮像装置960の動作を制御する。
  ユーザインタフェース971は、制御部970と接続される。ユーザインタフェース971は、例えば、ユーザが撮像装置960を操作するためのボタン及びスイッチなどを有する。ユーザインタフェース971は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部970へ出力する。
  このように構成された撮像装置960において、画像処理部964は、上述した実施形態に係る画像符号化装置100(図10)及び画像復号装置300(図23)の機能を有する。それにより、撮像装置960での画像の符号化及び復号に際して、画質の低減を抑制することができる。
  <7.スケーラブル符号化の応用例>
    <第1のシステム>
  次に、スケーラブル符号化(階層(画像)符号化)されたスケーラブル符号化データの具体的な利用例について説明する。スケーラブル符号化は、例えば、図51に示される例のように、伝送するデータの選択のために利用される。
  図51に示されるデータ伝送システム1000において、配信サーバ1002は、スケーラブル符号化データ記憶部1001に記憶されているスケーラブル符号化データを読み出し、ネットワーク1003を介して、パーソナルコンピュータ1004、AV機器1005、タブレットデバイス1006、および携帯電話機1007等の端末装置に配信する。
  その際、配信サーバ1002は、端末装置の能力や通信環境等に応じて、適切な品質の符号化データを選択して伝送する。配信サーバ1002が不要に高品質なデータを伝送しても、端末装置において高画質な画像を得られるとは限らず、遅延やオーバフローの発生要因となる恐れがある。また、不要に通信帯域を占有したり、端末装置の負荷を不要に増大させたりしてしまう恐れもある。逆に、配信サーバ1002が不要に低品質なデータを伝送しても、端末装置において十分な画質の画像を得ることができない恐れがある。そのため、配信サーバ1002は、スケーラブル符号化データ記憶部1001に記憶されているスケーラブル符号化データを、適宜、端末装置の能力や通信環境等に対して適切な品質の符号化データとして読み出し、伝送する。
  例えば、スケーラブル符号化データ記憶部1001は、スケーラブルに符号化されたスケーラブル符号化データ(BL+EL)1011を記憶するとする。このスケーラブル符号化データ(BL+EL)1011は、ベースレイヤとエンハンスメントレイヤの両方を含む符号化データであり、復号することにより、ベースレイヤの画像およびエンハンスメントレイヤの画像の両方を得ることができるデータである。
  配信サーバ1002は、データを伝送する端末装置の能力や通信環境等に応じて、適切なレイヤを選択し、そのレイヤのデータを読み出す。例えば、配信サーバ1002は、処理能力の高いパーソナルコンピュータ1004やタブレットデバイス1006に対しては、高品質なスケーラブル符号化データ(BL+EL)1011をスケーラブル符号化データ記憶部1001から読み出し、そのまま伝送する。これに対して、例えば、配信サーバ1002は、処理能力の低いAV機器1005や携帯電話機1007に対しては、スケーラブル符号化データ(BL+EL)1011からベースレイヤのデータを抽出し、スケーラブル符号化データ(BL+EL)1011と同じコンテンツのデータであるが、スケーラブル符号化データ(BL+EL)1011よりも低品質なスケーラブル符号化データ(BL)1012として伝送する。
  このようにスケーラブル符号化データを用いることにより、データ量を容易に調整することができるので、遅延やオーバフローの発生を抑制したり、端末装置や通信媒体の負荷の不要な増大を抑制したりすることができる。また、スケーラブル符号化データ(BL+EL)1011は、レイヤ間の冗長性が低減されているので、各レイヤの符号化データを個別のデータとする場合よりもそのデータ量を低減させることができる。したがって、スケーラブル符号化データ記憶部1001の記憶領域をより効率よく使用することができる。
  なお、パーソナルコンピュータ1004乃至携帯電話機1007のように、端末装置には様々な装置を適用することができるので、端末装置のハードウエアの性能は、装置によって異なる。また、端末装置が実行するアプリケーションも様々であるので、そのソフトウエアの能力も様々である。さらに、通信媒体となるネットワーク1003も、例えばインターネットやLAN(Local Area Network)等、有線若しくは無線、またはその両方を含むあらゆる通信回線網を適用することができ、そのデータ伝送能力は様々である。さらに、他の通信等によっても変化する恐れがある。
  そこで、配信サーバ1002は、データ伝送を開始する前に、データの伝送先となる端末装置と通信を行い、端末装置のハードウエア性能や、端末装置が実行するアプリケーション(ソフトウエア)の性能等といった端末装置の能力に関する情報、並びに、ネットワーク1003の利用可能帯域幅等の通信環境に関する情報を得るようにしてもよい。そして、配信サーバ1002が、ここで得た情報を基に、適切なレイヤを選択するようにしてもよい。
  なお、レイヤの抽出は、端末装置において行うようにしてもよい。例えば、パーソナルコンピュータ1004が、伝送されたスケーラブル符号化データ(BL+EL)1011を復号し、ベースレイヤの画像を表示しても良いし、エンハンスメントレイヤの画像を表示しても良い。また、例えば、パーソナルコンピュータ1004が、伝送されたスケーラブル符号化データ(BL+EL)1011から、ベースレイヤのスケーラブル符号化データ(BL)1012を抽出し、記憶したり、他の装置に転送したり、復号してベースレイヤの画像を表示したりするようにしてもよい。
  もちろん、スケーラブル符号化データ記憶部1001、配信サーバ1002、ネットワーク1003、および端末装置の数はいずれも任意である。また、以上においては、配信サーバ1002がデータを端末装置に伝送する例について説明したが、利用例はこれに限定されない。データ伝送システム1000は、スケーラブル符号化された符号化データを端末装置に伝送する際、端末装置の能力や通信環境等に応じて、適切なレイヤを選択して伝送するシステムであれば、任意のシステムに適用することができる。
  そして、以上のような図51のようなデータ伝送システム1000においても、図40乃至図45を参照して上述した階層符号化・階層復号への適用と同様に本技術を適用することにより、図40乃至図45を参照して上述した効果と同様の効果を得ることができる。
    <第2のシステム>
  また、スケーラブル符号化は、例えば、図52に示される例のように、複数の通信媒体を介する伝送のために利用される。
  図52に示されるデータ伝送システム1100において、放送局1101は、地上波放送1111により、ベースレイヤのスケーラブル符号化データ(BL)1121を伝送する。また、放送局1101は、有線若しくは無線またはその両方の通信網よりなる任意のネットワーク1112を介して、エンハンスメントレイヤのスケーラブル符号化データ(EL)1122を伝送する(例えばパケット化して伝送する)。
  端末装置1102は、放送局1101が放送する地上波放送1111の受信機能を有し、この地上波放送1111を介して伝送されるベースレイヤのスケーラブル符号化データ(BL)1121を受け取る。また、端末装置1102は、ネットワーク1112を介した通信を行う通信機能をさらに有し、このネットワーク1112を介して伝送されるエンハンスメントレイヤのスケーラブル符号化データ(EL)1122を受け取る。
  端末装置1102は、例えばユーザ指示等に応じて、地上波放送1111を介して取得したベースレイヤのスケーラブル符号化データ(BL)1121を、復号してベースレイヤの画像を得たり、記憶したり、他の装置に伝送したりする。
  また、端末装置1102は、例えばユーザ指示等に応じて、地上波放送1111を介して取得したベースレイヤのスケーラブル符号化データ(BL)1121と、ネットワーク1112を介して取得したエンハンスメントレイヤのスケーラブル符号化データ(EL)1122とを合成して、スケーラブル符号化データ(BL+EL)を得たり、それを復号してエンハンスメントレイヤの画像を得たり、記憶したり、他の装置に伝送したりする。
  以上のように、スケーラブル符号化データは、例えばレイヤ毎に異なる通信媒体を介して伝送させることができる。したがって、負荷を分散させることができ、遅延やオーバフローの発生を抑制することができる。
  また、状況に応じて、伝送に使用する通信媒体を、レイヤ毎に選択することができるようにしてもよい。例えば、データ量が比較的多いベースレイヤのスケーラブル符号化データ(BL)1121を帯域幅の広い通信媒体を介して伝送させ、データ量が比較的少ないエンハンスメントレイヤのスケーラブル符号化データ(EL)1122を帯域幅の狭い通信媒体を介して伝送させるようにしてもよい。また、例えば、エンハンスメントレイヤのスケーラブル符号化データ(EL)1122を伝送する通信媒体を、ネットワーク1112とするか、地上波放送1111とするかを、ネットワーク1112の利用可能帯域幅に応じて切り替えるようにしてもよい。もちろん、任意のレイヤのデータについて同様である。
  このように制御することにより、データ伝送における負荷の増大を、より抑制することができる。
  もちろん、レイヤ数は任意であり、伝送に利用する通信媒体の数も任意である。また、データ配信先となる端末装置1102の数も任意である。さらに、以上においては、放送局1101からの放送を例に説明したが、利用例はこれに限定されない。データ伝送システム1100は、スケーラブル符号化された符号化データを、レイヤを単位として複数に分割し、複数の回線を介して伝送するシステムであれば、任意のシステムに適用することができる。
  そして、以上のような図52のようなデータ伝送システム1100においても、図40乃至図45を参照して上述した階層符号化・階層復号への適用と同様に本技術を適用することにより、図40乃至図45を参照して上述した効果と同様の効果を得ることができる。
    <第3のシステム>
  また、スケーラブル符号化は、例えば、図53に示される例のように、符号化データの記憶に利用される。
  図53に示される撮像システム1200において、撮像装置1201は、被写体1211を撮像して得られた画像データをスケーラブル符号化し、スケーラブル符号化データ(BL+EL)1221として、スケーラブル符号化データ記憶装置1202に供給する。
  スケーラブル符号化データ記憶装置1202は、撮像装置1201から供給されるスケーラブル符号化データ(BL+EL)1221を、状況に応じた品質で記憶する。例えば、通常時の場合、スケーラブル符号化データ記憶装置1202は、スケーラブル符号化データ(BL+EL)1221からベースレイヤのデータを抽出し、低品質でデータ量の少ないベースレイヤのスケーラブル符号化データ(BL)1222として記憶する。これに対して、例えば、注目時の場合、スケーラブル符号化データ記憶装置1202は、高品質でデータ量の多いスケーラブル符号化データ(BL+EL)1221のまま記憶する。
  このようにすることにより、スケーラブル符号化データ記憶装置1202は、必要な場合のみ、画像を高画質に保存することができるので、画質劣化による画像の価値の低減を抑制しながら、データ量の増大を抑制することができ、記憶領域の利用効率を向上させることができる。
  例えば、撮像装置1201が監視カメラであるとする。撮像画像に監視対象(例えば侵入者)が写っていない場合(通常時の場合)、撮像画像の内容は重要でない可能性が高いので、データ量の低減が優先され、その画像データ(スケーラブル符号化データ)は、低品質に記憶される。これに対して、撮像画像に監視対象が被写体1211として写っている場合(注目時の場合)、その撮像画像の内容は重要である可能性が高いので、画質が優先され、その画像データ(スケーラブル符号化データ)は、高品質に記憶される。
  なお、通常時であるか注目時であるかは、例えば、スケーラブル符号化データ記憶装置1202が、画像を解析することにより判定しても良い。また、撮像装置1201が判定し、その判定結果をスケーラブル符号化データ記憶装置1202に伝送するようにしてもよい。
  なお、通常時であるか注目時であるかの判定基準は任意であり、判定基準とする画像の内容は任意である。もちろん、画像の内容以外の条件を判定基準とすることもできる。例えば、収録した音声の大きさや波形等に応じて切り替えるようにしてもよいし、所定の時間毎に切り替えるようにしてもよいし、ユーザ指示等の外部からの指示によって切り替えるようにしてもよい。
  また、以上においては、通常時と注目時の2つの状態を切り替える例を説明したが、状態の数は任意であり、例えば、通常時、やや注目時、注目時、非常に注目時等のように、3つ以上の状態を切り替えるようにしてもよい。ただし、この切り替える状態の上限数は、スケーラブル符号化データのレイヤ数に依存する。
  また、撮像装置1201が、スケーラブル符号化のレイヤ数を、状態に応じて決定するようにしてもよい。例えば、通常時の場合、撮像装置1201が、低品質でデータ量の少ないベースレイヤのスケーラブル符号化データ(BL)1222を生成し、スケーラブル符号化データ記憶装置1202に供給するようにしてもよい。また、例えば、注目時の場合、撮像装置1201が、高品質でデータ量の多いベースレイヤのスケーラブル符号化データ(BL+EL)1221を生成し、スケーラブル符号化データ記憶装置1202に供給するようにしてもよい。
  以上においては、監視カメラを例に説明したが、この撮像システム1200の用途は任意であり、監視カメラに限定されない。
  そして、以上のような図53のような撮像システム1200においても、図40乃至図45を参照して上述した階層符号化・階層復号への適用と同様に本技術を適用することにより、図40乃至図45を参照して上述した効果と同様の効果を得ることができる。
  なお、本技術は、予め用意された解像度等が互いに異なる複数の符号化データの中から適切なものをセグメント単位で選択して使用する、例えばMPEG DASH等のようなHTTPストリーミングにも適用することができる。つまり、このような複数の符号化データ間で、符号化や復号に関する情報を共有することもできる。
  <8.第6の実施の形態>
    <実施のその他の例>
  以上において本技術を適用する装置やシステム等の例を説明したが、本技術は、これに限らず、このような装置またはシステムを構成する装置に搭載するあらゆる構成、例えば、システムLSI(Large Scale Integration)等としてのプロセッサ、複数のプロセッサ等を用いるモジュール、複数のモジュール等を用いるユニット、ユニットにさらにその他の機能を付加したセット等(すなわち、装置の一部の構成)として実施することもできる。
    <ビデオセット>
  本技術をセットとして実施する場合の例について、図54を参照して説明する。図54は、本技術を適用したビデオセットの概略的な構成の一例を示している。
  近年、電子機器の多機能化が進んでおり、その開発や製造において、その一部の構成を販売や提供等として実施する場合、1機能を有する構成として実施を行う場合だけでなく、関連する機能を有する複数の構成を組み合わせ、複数の機能を有する1セットとして実施を行う場合も多く見られるようになってきた。
  図54に示されるビデオセット1300は、このような多機能化された構成であり、画像の符号化や復号(いずれか一方でもよいし、両方でも良い)に関する機能を有するデバイスに、その機能に関連するその他の機能を有するデバイスを組み合わせたものである。
  図54に示されるように、ビデオセット1300は、ビデオモジュール1311、外部メモリ1312、パワーマネージメントモジュール1313、およびフロントエンドモジュール1314等のモジュール群と、コネクティビティ1321、カメラ1322、およびセンサ1323等の関連する機能を有するデバイスとを有する。
  モジュールは、互いに関連するいくつかの部品的機能をまとめ、まとまりのある機能を持った部品としたものである。具体的な物理的構成は任意であるが、例えば、それぞれ機能を有する複数のプロセッサ、抵抗やコンデンサ等の電子回路素子、その他のデバイス等を配線基板等に配置して一体化したものが考えられる。また、モジュールに他のモジュールやプロセッサ等を組み合わせて新たなモジュールとすることも考えられる。
  図54の例の場合、ビデオモジュール1311は、画像処理に関する機能を有する構成を組み合わせたものであり、アプリケーションプロセッサ1331、ビデオプロセッサ1332、ブロードバンドモデム1333、およびRFモジュール1334を有する。
  プロセッサは、所定の機能を有する構成をSoC(System On a Chip)により半導体チップに集積したものであり、例えばシステムLSI(Large Scale Integration)等と称されるものもある。この所定の機能を有する構成は、論理回路(ハードウエア構成)であってもよいし、CPU、ROM、RAM等と、それらを用いて実行されるプログラム(ソフトウエア構成)であってもよいし、その両方を組み合わせたものであってもよい。例えば、プロセッサが、論理回路とCPU、ROM、RAM等とを有し、機能の一部を論理回路(ハードウエア構成)により実現し、その他の機能をCPUにおいて実行されるプログラム(ソフトウエア構成)により実現するようにしてもよい。
  図54のアプリケーションプロセッサ1331は、画像処理に関するアプリケーションを実行するプロセッサである。このアプリケーションプロセッサ1331において実行されるアプリケーションは、所定の機能を実現するために、演算処理を行うだけでなく、例えばビデオプロセッサ1332等、ビデオモジュール1311内外の構成を必要に応じて制御することもできる。
  ビデオプロセッサ1332は、画像の符号化・復号(その一方若しくは両方)に関する機能を有するプロセッサである。
  ブロードバンドモデム1333は、インターネットや公衆電話回線網等の広帯域の回線を介して行われる有線若しくは無線(またはその両方)の広帯域通信により送信するデータ(デジタル信号)をデジタル変調する等してアナログ信号に変換したり、その広帯域通信により受信したアナログ信号を復調してデータ(デジタル信号)に変換したりする。ブロードバンドモデム1333は、例えば、ビデオプロセッサ1332が処理する画像データ、画像データが符号化されたストリーム、アプリケーションプログラム、設定データ等、任意の情報を処理する。
  RFモジュール1334は、アンテナを介して送受信されるRF(Radio Frequency)信号に対して、周波数変換、変復調、増幅、フィルタ処理等を行うモジュールである。例えば、RFモジュール1334は、ブロードバンドモデム1333により生成されたベースバンド信号に対して周波数変換等を行ってRF信号を生成する。また、例えば、RFモジュール1334は、フロントエンドモジュール1314を介して受信されたRF信号に対して周波数変換等を行ってベースバンド信号を生成する。
  なお、図54において点線1341に示されるように、アプリケーションプロセッサ1331とビデオプロセッサ1332を、一体化し、1つのプロセッサとして構成されるようにしてもよい。
  外部メモリ1312は、ビデオモジュール1311の外部に設けられた、ビデオモジュール1311により利用される記憶デバイスを有するモジュールである。この外部メモリ1312の記憶デバイスは、どのような物理構成により実現するようにしてもよいが、一般的にフレーム単位の画像データのような大容量のデータの格納に利用されることが多いので、例えばDRAM(Dynamic Random Access Memory)のような比較的安価で大容量の半導体メモリにより実現するのが望ましい。
  パワーマネージメントモジュール1313は、ビデオモジュール1311(ビデオモジュール1311内の各構成)への電力供給を管理し、制御する。
  フロントエンドモジュール1314は、RFモジュール1334に対してフロントエンド機能(アンテナ側の送受信端の回路)を提供するモジュールである。図54に示されるように、フロントエンドモジュール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は、本技術を適用したセットとして実施することができる。
    <ビデオプロセッサの構成例>
  図55は、本技術を適用したビデオプロセッサ1332(図54)の概略的な構成の一例を示している。
  図55の例の場合、ビデオプロセッサ1332は、ビデオ信号およびオーディオ信号の入力を受けてこれらを所定の方式で符号化する機能と、符号化されたビデオデータおよびオーディオデータを復号し、ビデオ信号およびオーディオ信号を再生出力する機能とを有する。
  図55に示されるように、ビデオプロセッサ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(図54)等から入力されたビデオ信号を取得し、デジタル画像データに変換する。第1画像拡大縮小部1402は、画像データに対してフォーマット変換や画像の拡大縮小処理等を行う。第2画像拡大縮小部1403は、画像データに対して、ビデオ出力処理部1404を介して出力する先でのフォーマットに応じて画像の拡大縮小処理を行ったり、第1画像拡大縮小部1402と同様のフォーマット変換や画像の拡大縮小処理等を行ったりする。ビデオ出力処理部1404は、画像データに対して、フォーマット変換やアナログ信号への変換等を行って、再生されたビデオ信号として例えばコネクティビティ1321(図54)等に出力する。
  フレームメモリ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(図54)等から入力されたオーディオ信号を例えばデジタル変換し、例えばMPEGオーディオ方式やAC3(AudioCode number 3)方式等の所定の方式で符号化する。オーディオエンコーダ1410は、オーディオ信号が符号化されたデータであるオーディオストリームをオーディオESバッファ1409Aに順次書き込む。オーディオデコーダ1411は、オーディオESバッファ1409Bから供給されたオーディオストリームを復号し、例えばアナログ信号への変換等を行って、再生されたオーディオ信号として例えばコネクティビティ1321(図54)等に供給する。
  多重化部(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等(いずれも図54)から供給されたトランスポートストリームを、ストリームバッファ1414を介して取得し、逆多重化することにより、ビデオストリームとオーディオストリームとに変換することができる。また、例えば、逆多重化部(DMUX)1413は、例えばコネクティビティ1321により(図54)各種記録媒体から読み出されたファイルデータを、ストリームバッファ1414を介して取得し、逆多重化することにより、ビデオストリームとオーディオストリームとに変換することができる。
  ストリームバッファ1414は、ビットストリームをバッファリングする。例えば、ストリームバッファ1414は、多重化部(MUX)1412から供給されたトランスポートストリームをバッファリングし、所定のタイミングにおいて、若しくは外部からの要求等に基づいて、例えばコネクティビティ1321やブロードバンドモデム1333(いずれも図54)等に供給する。
  また、例えば、ストリームバッファ1414は、多重化部(MUX)1412から供給されたファイルデータをバッファリングし、所定のタイミングにおいて、若しくは外部からの要求等に基づいて、例えばコネクティビティ1321(図54)等に供給し、各種記録媒体に記録させる。
  さらに、ストリームバッファ1414は、例えばコネクティビティ1321やブロードバンドモデム1333等(いずれも図54)を介して取得したトランスポートストリームをバッファリングし、所定のタイミングにおいて、若しくは外部からの要求等に基づいて、逆多重化部(DMUX)1413に供給する。
  また、ストリームバッファ1414は、例えばコネクティビティ1321(図54)等において各種記録媒体から読み出されたファイルデータをバッファリングし、所定のタイミングにおいて、若しくは外部からの要求等に基づいて、逆多重化部(DMUX)1413に供給する。
  次に、このような構成のビデオプロセッサ1332の動作の例について説明する。例えば、コネクティビティ1321(図54)等からビデオプロセッサ1332に入力されたビデオ信号は、ビデオ入力処理部1401において4:2:2Y/Cb/Cr方式等の所定の方式のデジタル画像データに変換され、フレームメモリ1405に順次書き込まれる。このデジタル画像データは、第1画像拡大縮小部1402または第2画像拡大縮小部1403に読み出されて、4:2:0Y/Cb/Cr方式等の所定の方式へのフォーマット変換および拡大縮小処理が行われ、再びフレームメモリ1405に書き込まれる。この画像データは、エンコード・デコードエンジン1407によって符号化され、ビデオストリームとしてビデオESバッファ1408Aに書き込まれる。
  また、コネクティビティ1321(図54)等からビデオプロセッサ1332に入力されたオーディオ信号は、オーディオエンコーダ1410によって符号化され、オーディオストリームとして、オーディオESバッファ1409Aに書き込まれる。
  ビデオESバッファ1408Aのビデオストリームと、オーディオESバッファ1409Aのオーディオストリームは、多重化部(MUX)1412に読み出されて多重化され、トランスポートストリーム若しくはファイルデータ等に変換される。多重化部(MUX)1412により生成されたトランスポートストリームは、ストリームバッファ1414にバッファされた後、例えばコネクティビティ1321やブロードバンドモデム1333(いずれも図54)等を介して外部ネットワークに出力される。また、多重化部(MUX)1412により生成されたファイルデータは、ストリームバッファ1414にバッファされた後、例えばコネクティビティ1321(図54)等に出力され、各種記録媒体に記録される。
  また、例えばコネクティビティ1321やブロードバンドモデム1333(いずれも図54)等を介して外部ネットワークからビデオプロセッサ1332に入力されたトランスポートストリームは、ストリームバッファ1414にバッファされた後、逆多重化部(DMUX)1413により逆多重化される。また、例えばコネクティビティ1321(図54)等において各種記録媒体から読み出され、ビデオプロセッサ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が、上述した各実施形態に係る画像符号化装置や画像復号装置の機能を有するようにすればよい。このようにすることにより、ビデオプロセッサ1332は、図1乃至図36を参照して上述した効果と同様の効果を得ることができる。
  なお、エンコード・デコードエンジン1407において、本技術(すなわち、上述した各実施形態に係る画像符号化装置や画像復号装置の機能)は、論理回路等のハードウエアにより実現するようにしてもよいし、組み込みプログラム等のソフトウエアにより実現するようにしてもよいし、それらの両方により実現するようにしてもよい。
    <ビデオプロセッサの他の構成例>
  図56は、本技術を適用したビデオプロセッサ1332(図54)の概略的な構成の他の例を示している。図56の例の場合、ビデオプロセッサ1332は、ビデオデータを所定の方式で符号化・復号する機能とを有する。
  より具体的には、図56に示されるように、ビデオプロセッサ1332は、制御部1511、ディスプレイインタフェース1512、ディスプレイエンジン1513、画像処理エンジン1514、および内部メモリ1515を有する。また、ビデオプロセッサ1332は、コーデックエンジン1516、メモリインタフェース1517、多重化・逆多重化部(MUX DMUX)1518、ネットワークインタフェース1519、およびビデオインタフェース1520を有する。
  制御部1511は、ディスプレイインタフェース1512、ディスプレイエンジン1513、画像処理エンジン1514、およびコーデックエンジン1516等、ビデオプロセッサ1332内の各処理部の動作を制御する。
  図56に示されるように、制御部1511は、例えば、メインCPU1531、サブCPU1532、およびシステムコントローラ1533を有する。メインCPU1531は、ビデオプロセッサ1332内の各処理部の動作を制御するためのプログラム等を実行する。メインCPU1531は、そのプログラム等に従って制御信号を生成し、各処理部に供給する(つまり、各処理部の動作を制御する)。サブCPU1532は、メインCPU1531の補助的な役割を果たす。例えば、サブCPU1532は、メインCPU1531が実行するプログラム等の子プロセスやサブルーチン等を実行する。システムコントローラ1533は、メインCPU1531およびサブCPU1532が実行するプログラムを指定する等、メインCPU1531およびサブCPU1532の動作を制御する。
  ディスプレイインタフェース1512は、制御部1511の制御の下、画像データを例えばコネクティビティ1321(図54)等に出力する。例えば、ディスプレイインタフェース1512は、デジタルデータの画像データをアナログ信号に変換し、再生されたビデオ信号として、またはデジタルデータの画像データのまま、コネクティビティ1321(図54)のモニタ装置等に出力する。
  ディスプレイエンジン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は、複数の符号化・復号方式のコーデック機能を備え、その中から選択されたもので画像データの符号化若しくは符号化データの復号を行うようにしてもよい。
  図56に示される例において、コーデックエンジン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(いずれも図54)等向けのインタフェースである。ビデオインタフェース1520は、例えばコネクティビティ1321やカメラ1322(いずれも図54)等向けのインタフェースである。
  次に、このようなビデオプロセッサ1332の動作の例について説明する。例えばコネクティビティ1321やブロードバンドモデム1333(いずれも図54)等を介して外部ネットワークからトランスポートストリームを受信すると、そのトランスポートストリームは、ネットワークインタフェース1519を介して多重化・逆多重化部(MUX DMUX)1518に供給されて逆多重化され、コーデックエンジン1516により復号される。コーデックエンジン1516の復号により得られた画像データは、例えば、画像処理エンジン1514により所定の画像処理が施され、ディスプレイエンジン1513により所定の変換が行われ、ディスプレイインタフェース1512を介して例えばコネクティビティ1321(図54)等に供給され、その画像がモニタに表示される。また、例えば、コーデックエンジン1516の復号により得られた画像データは、コーデックエンジン1516により再符号化され、多重化・逆多重化部(MUX DMUX)1518により多重化されてファイルデータに変換され、ビデオインタフェース1520を介して例えばコネクティビティ1321(図54)等に出力され、各種記録媒体に記録される。
  さらに、例えば、コネクティビティ1321(図54)等により図示せぬ記録媒体から読み出された、画像データが符号化された符号化データのファイルデータは、ビデオインタフェース1520を介して多重化・逆多重化部(MUX DMUX)1518に供給されて逆多重化され、コーデックエンジン1516により復号される。コーデックエンジン1516の復号により得られた画像データは、画像処理エンジン1514により所定の画像処理が施され、ディスプレイエンジン1513により所定の変換が行われ、ディスプレイインタフェース1512を介して例えばコネクティビティ1321(図54)等に供給され、その画像がモニタに表示される。また、例えば、コーデックエンジン1516の復号により得られた画像データは、コーデックエンジン1516により再符号化され、多重化・逆多重化部(MUX DMUX)1518により多重化されてトランスポートストリームに変換され、ネットワークインタフェース1519を介して例えばコネクティビティ1321やブロードバンドモデム1333(いずれも図54)等に供給され図示せぬ他の装置に伝送される。
  なお、ビデオプロセッサ1332内の各処理部の間での画像データやその他のデータの授受は、例えば、内部メモリ1515や外部メモリ1312を利用して行われる。また、パワーマネージメントモジュール1313は、例えば制御部1511への電力供給を制御する。
  このように構成されるビデオプロセッサ1332に本技術を適用する場合、コーデックエンジン1516に、上述した各実施形態に係る本技術を適用すればよい。つまり、例えば、コーデックエンジン1516が、上述した各実施形態に係る画像符号化装置や画像復号装置を実現する機能ブロックを有するようにすればよい。このようにすることにより、ビデオプロセッサ1332は、図1乃至図36を参照して上述した効果と同様の効果を得ることができる。
  なお、コーデックエンジン1516において、本技術(すなわち、上述した各実施形態に係る画像符号化装置や画像復号装置の機能)は、論理回路等のハードウエアにより実現するようにしてもよいし、組み込みプログラム等のソフトウエアにより実現するようにしてもよいし、それらの両方により実現するようにしてもよい。
  以上にビデオプロセッサ1332の構成を2例示したが、ビデオプロセッサ1332の構成は任意であり、上述した2例以外のものであってもよい。また、このビデオプロセッサ1332は、1つの半導体チップとして構成されるようにしてもよいが、複数の半導体チップとして構成されるようにしてもよい。例えば、複数の半導体を積層する3次元積層LSIとしてもよい。また、複数のLSIにより実現されるようにしてもよい。
    <装置への適用例>
  ビデオセット1300は、画像データを処理する各種装置に組み込むことができる。例えば、ビデオセット1300は、テレビジョン装置900(図47)、携帯電話機920(図48)、記録再生装置940(図49)、撮像装置960(図50)等に組み込むことができる。ビデオセット1300を組み込むことにより、その装置は、図1乃至図36を参照して上述した効果と同様の効果を得ることができる。
  また、ビデオセット1300は、例えば、図51のデータ伝送システム1000におけるパーソナルコンピュータ1004、AV機器1005、タブレットデバイス1006、および携帯電話機1007等の端末装置、図52のデータ伝送システム1100における放送局1101および端末装置1102、並びに、図53の撮像システム1200における撮像装置1201およびスケーラブル符号化データ記憶装置1202等にも組み込むことができる。ビデオセット1300を組み込むことにより、その装置は、図1乃至図36を参照して上述した効果と同様の効果を得ることができる。
  なお、上述したビデオセット1300の各構成の一部であっても、ビデオプロセッサ1332を含むものであれば、本技術を適用した構成として実施することができる。例えば、ビデオプロセッサ1332のみを本技術を適用したビデオプロセッサとして実施することができる。また、例えば、上述したように点線1341により示されるプロセッサやビデオモジュール1311等を本技術を適用したプロセッサやモジュール等として実施することができる。さらに、例えば、ビデオモジュール1311、外部メモリ1312、パワーマネージメントモジュール1313、およびフロントエンドモジュール1314を組み合わせ、本技術を適用したビデオユニット1361として実施することもできる。いずれの構成の場合であっても、図1乃至図36を参照して上述した効果と同様の効果を得ることができる。
  つまり、ビデオプロセッサ1332を含むものであればどのような構成であっても、ビデオセット1300の場合と同様に、画像データを処理する各種装置に組み込むことができる。例えば、ビデオプロセッサ1332、点線1341により示されるプロセッサ、ビデオモジュール1311、または、ビデオユニット1361を、テレビジョン装置900(図47)、携帯電話機920(図48)、記録再生装置940(図49)、撮像装置960(図50)、図51のデータ伝送システム1000におけるパーソナルコンピュータ1004、AV機器1005、タブレットデバイス1006、および携帯電話機1007等の端末装置、図52のデータ伝送システム1100における放送局1101および端末装置1102、並びに、図53の撮像システム1200における撮像装置1201およびスケーラブル符号化データ記憶装置1202等に組み込むことができる。そして、本技術を適用したいずれかの構成を組み込むことにより、その装置は、ビデオセット1300の場合と同様に、図1乃至図36を参照して上述した効果と同様の効果を得ることができる。
  <9.第7の実施の形態>
    <MPEG-DASHの応用例>
  なお、本技術は、予め用意された解像度等が互いに異なる複数の符号化データの中から適切なものをセグメント単位で選択して使用する、例えば、後述するMPEG DASH等のようなHTTPストリーミングのコンテンツ再生システムやWi-Fi規格の無線通信システムにも適用することができる。
    <コンテンツ再生システムの概要>
  まず、図57乃至図59を参照し、本技術を適用可能なコンテンツ再生システムについて概略的に説明する。
  以下では、まず、このような各実施形態において共通する基本構成について図57および図58を参照して説明する。
  図57は、コンテンツ再生システムの構成を示した説明図である。図57に示したように、コンテンツ再生システムは、コンテンツサーバ1610、1611と、ネットワーク1612と、コンテンツ再生装置1620(クライアント装置)とを備える。
  コンテンツサーバ1610、1611とコンテンツ再生装置1620は、ネットワーク1612を介して接続されている。このネットワーク1612は、ネットワーク1612に接続されている装置から送信される情報の有線、または無線の伝送路である。
  例えば、ネットワーク1612は、インターネット、電話回線網、衛星通信網などの公衆回線網や、Ethernet(登録商標)を含む各種のLAN(Local Area Network)、WAN(Wide Area Network)などを含んでもよい。また、ネットワーク1612は、IP-VPN(Internet Protocol-Virtual Private Network)などの専用回線網を含んでもよい。
  コンテンツサーバ1610は、コンテンツデータを符号化し、符号化データおよび符号化データのメタ情報を含むデータファイルを生成して記憶する。なお、コンテンツサーバ1610がMP4形式のデータファイルを生成する場合、符号化データは「mdat」に該当し、メタ情報は「moov」に該当する。
  また、コンテンツデータは、音楽、講演およびラジオ番組などの音楽データや、映画、テレビジョン番組、ビデオプログラム、写真、文書、絵画および図表などの映像データや、ゲームおよびソフトウエアなどであってもよい。
  ここで、コンテンツサーバ1610は、同一コンテンツに関し、異なるビットレートで複数のデータファイルを生成する。またコンテンツサーバ1611は、コンテンツ再生装置1620からのコンテンツの再生要求に対して、コンテンツサーバ1610のURLの情報に、コンテンツ再生装置1620で当該URLに付加させるパラメータの情報を含めてコンテンツ再生装置1620に送信する。以下、図58を参照して当該事項について具体的に説明する。
  図58は、図57のコンテンツ再生システムにおけるデータの流れを示した説明図である。コンテンツサーバ1610は、同一のコンテンツデータを異なるビットレートで符号化し、図58に示したように例えば2MbpsのファイルA、1.5MbpsのファイルB、1MbpsのファイルCを生成する。相対的に、ファイルAはハイビットレートであり、ファイルBは標準ビットレートであり、ファイルCはロービットレートである。
  また、図58に示したように、各ファイルの符号化データは複数のセグメントに区分されている。例えば、ファイルAの符号化データは「A1」、「A2」、「A3」、・・・「An」というセグメントに区分されており、ファイルBの符号化データは「B1」、「B2」、「B3」、・・・「Bn」というセグメントに区分されており、ファイルCの符号化データは「C1」、「C2」、「C3」、・・・「Cn」というセグメントに区分されている。
  なお、各セグメントはMP4のシンクサンプル(たとえば、AVC/H.264の映像符号化ではIDR-ピクチャ)で始まる単独で再生可能な1または2以上の映像符号化データおよび音声符号化データより構成サンプルで構成されてもよい。例えば、一秒30フレームのビデオデータが15フレーム固定長のGOP(Group of Picture)にて符号化されていた場合、各セグメントは、4GOPに相当する2秒分の映像ならびに音声符号化データであっても、20GOPに相当する10秒分の映像ならびに音声符号化データであってもよい。
  また、各ファイルにおける配置順番が同一のセグメントによる再生範囲(コンテンツの先頭からの時間位置の範囲)は同一である。例えば、セグメント「A2」、セグメント「B2」、およびセグメント「C2」の再生範囲は同一であり、各セグメントが2秒分の符号化データである場合、セグメント「A2」、セグメント「B2」、およびセグメント「C2」の再生範囲は、いずれもコンテンツの2秒乃至4秒である。
  コンテンツサーバ1610は、このような複数のセグメントから構成されるファイルA乃至ファイルCを生成すると、ファイルA乃至ファイルCを記憶する。そして、コンテンツサーバ1610は、図58に示したように、異なるファイルを構成するセグメントをコンテンツ再生装置1620に順次に送信し、コンテンツ再生装置1620は、受信したセグメントをストリーミング再生する。
  ここで、本実施形態によるコンテンツサーバ1610は、各符号化データのビットレート情報およびアクセス情報を含むプレイリストファイル(以下、MPD:Media Presentation Description)をコンテンツ再生装置1620に送信し、コンテンツ再生装置1620は、MPDに基づき、複数のビットレートのうちのいずれかのビットレートを選択し、選択したビットレートに対応するセグメントの送信をコンテンツサーバ1610に要求する。
  図57では、1つのコンテンツサーバ1610のみが図示されているが、本開示は係る例に限定されないことは言うまでもない。
  図59は、MPDの具体例を示した説明図である。図59に示したように、MPDには、異なるビットレート(BANDWIDTH)を有する複数の符号化データに関するアクセス情報が含まれる。例えば、図59に示したMPDは、256Kbps、1.024Mbps、1.384Mbps、1.536Mbps、2.048Mbpsの各々の符号化データが存在することを示す共に、各符号化データに関するアクセス情報を含む。コンテンツ再生装置1620は、かかるMPDに基づき、ストリーミング再生する符号化データのビットレートを動的に変更することが可能である。
  なお、図57にはコンテンツ再生装置1620の一例として携帯端末を示しているが、コンテンツ再生装置1620はかかる例に限定されない。例えば、コンテンツ再生装置1620は、PC(Personal Computer)、家庭用映像処理装置(DVDレコーダ、ビデオデッキなど)、PDA(Personal Digital Assistants)、家庭用ゲーム機器、家電機器などの情報処理装置であってもよい。また、コンテンツ再生装置1620は、携帯電話、PHS(Personal Handyphone System)、携帯用音楽再生装置、携帯用映像処理装置、携帯用ゲーム機器などの情報処理装置であってもよい。
    <コンテンツサーバ1610の構成>
  以上、図57乃至図59を参照し、コンテンツ再生システムの概要を説明した。続いて、図60を参照し、コンテンツサーバ1610の構成を説明する。
  図60は、コンテンツサーバ1610の構成を示した機能ブロック図である。図60に示したように、コンテンツサーバ1610は、ファイル生成部1631と、記憶部1632と、通信部1633とを備える。
  ファイル生成部1631は、コンテンツデータを符号化するエンコーダ1641を備え、同一のコンテンツでビットレートが異なる複数の符号化データ、および上述したMPDを生成する。例えば、ファイル生成部1631は、256Kbps、1.024Mbps、1.384Mbps、1.536Mbps、2.048Mbpsの各々の符号化データを生成した場合、図59に示したようなMPDを生成する。
  記憶部1632は、ファイル生成部1631により生成されたビットレートが異なる複数の符号化データおよびMPDを記憶する。この記憶部1632は、不揮発性メモリ、磁気ディスク、光ディスク、およびMO(Magneto  Optical)ディスクなどの記憶媒体であってもよい。不揮発性メモリとしては、例えば、EEPROM(Electrically Erasable Programmable Read-Only Memory)、EPROM(Erasable Programmable ROM)があげられる。また、磁気ディスクとしては、ハードディスクおよび円盤型磁性体ディスクなどがあげられる。また、光ディスクとしては、CD(Compact Disc)、DVD-R(Digital Versatile Disc Recordable)およびBD(Blu-Ray Disc(登録商標))などがあげられる。
  通信部1633は、コンテンツ再生装置1620とのインタフェースであって、ネットワーク1612を介してコンテンツ再生装置1620と通信する。より詳細には、通信部1633は、HTTPに従ってコンテンツ再生装置1620と通信するHTTPサーバとしての機能を有する。例えば、通信部1633は、MPDをコンテンツ再生装置1620に送信し、HTTPに従ってコンテンツ再生装置1620からMPDに基づいて要求された符号化データを記憶部1632から抽出し、HTTPレスポンスとしてコンテンツ再生装置1620に符号化データを送信する。
    <コンテンツ再生装置1620の構成>
  以上、本実施形態によるコンテンツサーバ1610の構成を説明した。続いて、図61を参照し、コンテンツ再生装置1620の構成を説明する。
  図61は、コンテンツ再生装置1620の構成を示した機能ブロック図である。図61に示したように、コンテンツ再生装置1620は、通信部1651と、記憶部1652と、再生部1653と、選択部1654と、現在地取得部1656とを備える。
  通信部1651は、コンテンツサーバ1610とのインタフェースであって、コンテンツサーバ1610に対してデータを要求し、コンテンツサーバ1610からデータを取得する。より詳細には、通信部1651は、HTTPに従ってコンテンツ再生装置1620と通信するHTTPクライアントとしての機能を有する。例えば、通信部1651は、HTTP Rangeを利用することにより、コンテンツサーバ1610からMPDや符号化データのセグメントを選択的に取得することができる。
  記憶部1652は、コンテンツの再生に関する種々の情報を記憶する。例えば、通信部1651によりコンテンツサーバ1610から取得されるセグメントを順次にバッファリングする。記憶部1652にバッファリングされた符号化データのセグメントは、FIFO(First In First Out)で再生部1653へ順次に供給される。
  また記憶部1652は、後述のコンテンツサーバ1611から要求された、MPDに記述されているコンテンツのURLへのパラメータの付加指示に基づき、通信部1651でURLにパラメータを付加して、そのURLへアクセスするための定義を記憶する。
  再生部1653は、記憶部1652から供給されるセグメントを順次に再生する。具体的には、再生部1653は、セグメントのデコード、DA変換、およびレンダリングなどを行う。
  選択部1654は、MPDに含まれるいずれのビットレートに対応する符号化データのセグメントを取得するかを同一コンテンツ内で順次に選択する。例えば、選択部1654がネットワーク1612の帯域に応じてセグメント「A1」、「B2」、「A3」を順次に選択すると、図58に示したように、通信部1651がコンテンツサーバ1610からセグメント「A1」、「B2」、「A3」を順次に取得する。
  現在地取得部1656は、コンテンツ再生装置1620の現在の位置を取得するものであり、例えばGPS(Global Positioning System)受信機などの現在地を取得するモジュールで構成されていても良い。また現在地取得部1656は、無線ネットワークを使用してコンテンツ再生装置1620の現在の位置を取得するものであってもよい。
    <コンテンツサーバ1611の構成>
  図62は、コンテンツサーバ1611の構成例を示す説明図である。図62に示したように、コンテンツサーバ1611は、記憶部1671と、通信部1672とを備える。
  記憶部1671は、MPDのURLの情報を記憶する。MPDのURLの情報は、コンテンツの再生を要求するコンテンツ再生装置1620からの求めに応じ、コンテンツサーバ1611からコンテンツ再生装置1620へ送信される。また記憶部1671は、コンテンツ再生装置1620へのMPDのURLの情報を提供する際に、当該MPDに記述されているURLにコンテンツ再生装置1620でパラメータを付加させる際の定義情報を記憶する。
  通信部1672は、コンテンツ再生装置1620とのインタフェースであって、ネットワーク1612を介してコンテンツ再生装置1620と通信する。すなわち通信部1672は、コンテンツの再生を要求するコンテンツ再生装置1620から、MPDのURLの情報の要求を受信し、コンテンツ再生装置1620へMPDのURLの情報を送信する。通信部1672から送信されるMPDのURLには、コンテンツ再生装置1620でパラメータを付加させるための情報が含まれる。
  コンテンツ再生装置1620でMPDのURLに付加させるパラメータについては、コンテンツサーバ1611およびコンテンツ再生装置1620で共有する定義情報で様々に設定することが出来る。一例を挙げれば、コンテンツ再生装置1620の現在位置、コンテンツ再生装置1620を使用するユーザのユーザID、コンテンツ再生装置1620のメモリサイズ、コンテンツ再生装置1620のストレージの容量などの情報を、コンテンツ再生装置1620でMPDのURLに付加させることが出来る。
  以上のような構成のコンテンツ再生システムにおいて、図1乃至図36を参照して上述したような本技術を適用することにより、図1乃至図36を参照して上述した効果と同様の効果を得ることができる。
  すなわち、コンテンツサーバ1610のエンコーダ1641は、上述した実施形態に係る画像符号化装置の機能を有する。また、コンテンツ再生装置1620の再生部1653は、上述した実施形態に係る画像復号装置の機能を有する。それにより、符号化・復号に必要な記憶容量の増大を抑制することができる。
  また、コンテンツ再生システムにおいて、本技術により符号化されたデータを送受信することにより、符号化・復号に必要な記憶容量の増大を抑制することができる。
  <10.第8の実施の形態>
    <Wi-Fi規格の無線通信システムの応用例>
  本技術を適用可能な無線通信システムにおける無線通信装置の基本動作例について説明する。
    <無線通信装置の基本動作例>
  最初に、P2P(Peer to Peer)接続を確立して特定のアプリケーションを動作させるまでの無線パケット送受信がなされる。
  次に、第2層で接続する前に、使用する特定のアプリケーションを指定してからP2P接続を確立して特定のアプリケーションを動作させるまでの無線パケット送受信がなされる。その後、第2層での接続後に、特定のアプリケーションを起動する場合の無線パケット送受信がなされる。
    <特定のアプリケーション動作開始時における通信例>
  図63および図64は、上述したP2P(Peer to Peer)接続を確立して特定のアプリケーションを動作させるまでの無線パケット送受信の例であり、無線通信の基礎となる各装置による通信処理例を示すシーケンスチャートである。具体的には、Wi-Fi Allianceにおいて標準化されているWi-Fiダイレクト(Direct)規格(Wi-Fi P2Pと呼ばれることもある)での接続に至るダイレクト接続の確立手順の一例を示す。
  ここで、Wi-Fiダイレクトでは、複数の無線通信装置が互いの存在を検出する(Device Discovery、Service Discovery)。そして、接続機器選択を行うとその選択された機器間において、WPS(Wi-Fi Protected Setup)で機器認証を行うことによりダイレクト接続を確立する。また、Wi-Fiダイレクトでは、複数の無線通信装置が親機(Group Owner)または子機(Client)の何れとしての役割を担うかを決定して通信グループを形成する。
  ただし、この通信処理例では、一部のパケット送受信については省略して示す。例えば、初回接続時には、上述したように、WPSを使うためのパケット交換が必要であり、AuthenticationRequest/Responseのやり取り等においてもパケット交換が必要となる。しかしながら、図63および図64では、これらのパケット交換についての図示を省略し、2回目以降の接続についてのみを示す。
  なお、図63および図64では、第1無線通信装置1701および第2無線通信装置1702間における通信処理例を示すが、他の無線通信装置間における通信処理についても同様である。
  最初に、第1無線通信装置1701および第2無線通信装置1702間においてDevice Discoveryが行われる(1711)。例えば、第1無線通信装置1701は、Probe request(応答要求信号)を送信し、このProbe requestに対するProbe response(応答信号)を第2無線通信装置1702から受信する。これにより、第1無線通信装置1701および第2無線通信装置1702は、互いの存在を発見することができる。また、Device Discoveryにより、相手のデバイス名や種類(TV、PC、スマートフォン等)を取得することができる。
  続いて、第1無線通信装置1701および第2無線通信装置1702間においてService Discoveryが行われる(1712)。例えば、第1無線通信装置1701は、Device Discoveryで発見した第2無線通信装置1702が対応しているサービスを問い合わせるService Discovery Queryを送信する。そして、第1無線通信装置1701は、Service Discovery Responseを第2無線通信装置1702から受信することにより、第2無線通信装置1702が対応しているサービスを取得する。すなわち、Service Discoveryにより、相手が実行可能なサービス等を取得することができる。相手が実行可能なサービスは、例えば、service、protocol(DLNA(Digital Living Network Alliance) DMR(Digital Media Renderer)等)である。
  続いて、ユーザにより接続相手の選択操作(接続相手選択操作)が行われる(1713)。この接続相手選択操作は、第1無線通信装置1701および第2無線通信装置1702の何れか一方のみに発生することもある。例えば、第1無線通信装置1701の表示部に接続相手選択画面が表示され、この接続相手選択画面において接続相手として第2無線通信装置1702がユーザ操作により選択される。
  ユーザにより接続相手選択操作が行われると(1713)、第1無線通信装置1701および第2無線通信装置1702間においてGroup Owner Negotiationが行われる(1714)。図63および図64では、Group Owner Negotiationの結果により、第1無線通信装置1701がグループオーナー(Group Owner)1715になり、第2無線通信装置1702がクライアント(Client)1716になる例を示す。
  続いて、第1無線通信装置1701および第2無線通信装置1702間において、各処理(1717乃至1720)が行われることにより、ダイレクト接続が確立される。すなわち、Association(L2(第2層) link確立)(1717)、Secure link確立(1718)が順次行われる。また、IP Address Assignment(1719)、SSDP(Simple Service Discovery Protocol)等によるL3上でのL4 setup(1720)が順次行われる。なお、L2(layer2)は、第2層(データリンク層)を意味し、L3(layer3)は、第3層(ネットワーク層)を意味し、L4(layer4)は、第4層(トランスポート層)を意味する。
  続いて、ユーザにより特定のアプリケーションの指定または起動操作(アプリ指定・起動操作)が行われる(1721)。このアプリ指定・起動操作は、第1無線通信装置1701および第2無線通信装置1702の何れか一方のみに発生することもある。例えば、第1無線通信装置1701の表示部にアプリ指定・起動操作画面が表示され、このアプリ指定・起動操作画面において特定のアプリケーションがユーザ操作により選択される。
  ユーザによりアプリ指定・起動操作が行われると(1721)、このアプリ指定・起動操作に対応する特定のアプリケーションが第1無線通信装置1701および第2無線通信装置1702間において実行される(1722)。
  ここで、Wi-Fi Direct規格以前の仕様(IEEE802.11で標準化された仕様)の範囲内で、AP(Access Point)-STA(Station)間の接続を行う場合を想定する。この場合には、第2層で接続する前(IEEE802.11用語ではassociation前)には、どのようなデバイスと繋ごうとしているのかを事前に知ることができなかった。
  これに対して、図63および図64に示すように、Wi-Fi Directでは、Device discoveryやService Discovery(option)において、接続候補相手を探す際に、接続相手の情報を取得することができる。この接続相手の情報は、例えば、基本的なデバイスのタイプや、対応している特定のアプリケーション等である。そして、その取得された接続相手の情報に基づいて、ユーザに接続相手を選択させることができる。
  この仕組みを拡張して、第2層で接続する前に特定のアプリケーションを指定して、接続相手を選択し、この選択後に、自動的に特定のアプリケーションを起動させる無線通信システムを実現することも可能である。このような場合の接続に至るシーケンスの一例を、図66に示す。また、この通信処理において送受信されるフレームフォーマット(frame format)の構成例を図65に示す。
    <フレームフォーマットの構成例>
  図65は、本技術の基礎となる各装置による通信処理において送受信されるフレームフォーマット(frame format)の構成例を模式的に示す図である。すなわち、図65には、第2層での接続を確立するためのMAC frameの構成例を示す。具体的には、図66に示すシーケンスを実現するためのAssociation Request/Response(1787)のフレームフォーマットの一例である。
  図65に示されるように、MAC frameは、Frame Control(1751)乃至FCS(1758)よりなり、その内、Frame Control(1751)からSequence Control(1756)までは、MACヘッダである。また、Association Requestを送信する際には、Frame Control(1751)において、B3B2="0b00"、かつ、B7B6B5B4="0b0000"が設定される。また、Association Responseをencapsulateする際には、Frame Control(1751)において、B3B2="0b00"、かつ、B7B6B5B4="0b0001"が設定される。なお、「0b00」は、2進法で「00」であることを示し、「0b0000」は、2進法で「0000」であることを示し、「0b0001」は、2進法で「0001」であることを示す。
  ここで、図63に示すMAC frame(Frame body(1757))は、基本的には、IEEE802.11-2007仕様書section7.2.3.4節と7.2.3.5節に記載のAssociation Request/Responseframe formatである。ただし、IEEE802.11仕様書内で定義されているInformation Element(以下、IEと省略)(1759)だけでなく、独自に拡張したIEを含めている点が異なる。
  また、Vendor Specific IE(1760)であることを示すため、IE Type(Information Element ID(1761))には、10進数で127がセットされる。この場合、IEEE802.11-2007仕様7.3.2.26節により、Lengthフィールド(1762)と、OUIフィールド(1763)が続き、この後にvendor specific content(1764)が配置される。
  Vendor specific content(1764)の内容としては、最初にvendor specific IEのtypeを示すフィールド(IE type(1765))を設ける。そして、この後に、複数のsubelement(1766)を格納することができる構成とすることが考えられる。
  subelement(1766)の内容として、使われるべき特定のアプリケーションの名称(1767)や、その特定のアプリケーション動作時のデバイスの役割(1768)を含めることが考えられる。また、特定のアプリケーション、または、その制御のために使われるポート番号等の情報(L4セットアップのための情報)(1769)や、特定のアプリケーション内でのCapabilityに関する情報(Capability情報)(1770)を含めることが考えられる。ここで、Capability情報は、例えば、指定する特定のアプリケーションがDLNAの場合に、音声送出/再生に対応している、映像送出/再生に対応している等を特定するための情報である。
  以上のような構成の無線通信システムにおいて、図1乃至図36を参照して上述したような本技術を適用することにより、図1乃至図36を参照して上述した効果と同様の効果を得ることができる。すなわち、符号化・復号に必要な記憶容量の増大を抑制することができる。また、上述した無線通信システムにおいて、本技術により符号化されたデータを送受信することにより、符号化・復号に必要な記憶容量の増大を抑制することができる。
  また、本明細書では、各種情報が、符号化ストリームに多重化されて、符号化側から復号側へ伝送される例について説明した。しかしながら、これら情報を伝送する手法はかかる例に限定されない。例えば、これら情報は、符号化ビットストリームに多重化されることなく、符号化ビットストリームと関連付けられた別個のデータとして伝送され又は記録されてもよい。ここで、「関連付ける」という用語は、ビットストリームに含まれる画像(スライス若しくはブロックなど、画像の一部であってもよい)と当該画像に対応する情報とを復号時にリンクさせ得るようにすることを意味する。即ち、情報は、画像(又はビットストリーム)とは別の伝送路上で伝送されてもよい。また、情報は、画像(又はビットストリーム)とは別の記録媒体(又は同一の記録媒体の別の記録エリア)に記録されてもよい。さらに、情報と画像(又はビットストリーム)とは、例えば、複数フレーム、1フレーム、又はフレーム内の一部分などの任意の単位で互いに関連付けられてよい。
  以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示はかかる例に限定されない。本開示の属する技術の分野における通常の知識を有する者であれば、請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
  なお、本技術は以下のような構成も取ることができる。
  (1)  画像データが符号化された符号化データを復号する際のイントラ予測処理におけるカレントブロックの周辺画素の特徴を識別するための閾値を、前記画像データのビット深度に応じて設定する閾値設定部と、
  前記閾値設定部により設定された前記閾値を利用して識別される前記周辺画素の特徴に応じたフィルタを用いて、前記周辺画素をフィルタ処理するフィルタ処理部と
  を備える画像処理装置。
  (2)  前記閾値設定部は、初期値として予め定められた前記閾値を、前記ビット深度に応じてビットシフトする
  (1)、(3)乃至(8)のいずれかに記載の画像処理装置。
  (3)  前記閾値設定部は、前記画像データのビット深度が8ビットの場合、前記閾値を8に設定する
  (1)、(2)、(4)乃至(8)のいずれかに記載の画像処理装置。
  (4)  前記画像データのビット深度を判定する判定部をさらに備え、
  前記閾値設定部は、前記判定部により判定されたビット深度に応じて、前記閾値を設定する
  (1)乃至(3)、(5)乃至(8)のいずれかに記載の画像処理装置。
  (5)  前記画像データのビット深度を受け取る受け取り部をさらに備え、
  前記閾値設定部は、前記受け取り部により受け取られた前記ビット深度に応じて、前記閾値を設定する
  (1)乃至(4)、(6)乃至(8)のいずれかに記載の画像処理装置。
  (6)  伝送された、前記画像データのビット深度に応じて設定された閾値を受け取る受け取り部をさらに備え、
  前記フィルタ処理部は、前記受け取り部により受け取られた前記閾値を利用して識別される前記周辺画素の特徴に応じたフィルタを用いて、前記周辺画素をフィルタ処理する
  (1)乃至(5)、(7)、(8)のいずれかに記載の画像処理装置。
  (7)  前記フィルタ処理部は、前記周辺画素の特徴を表す値が前記閾値設定部により設定された前記閾値を超える場合、前記周辺画素をローパスフィルタ処理する
  (1)乃至(6)、(8)のいずれかに記載の画像処理装置。
  (8)  前記フィルタ処理部は、前記周辺画素の特徴を表す値が前記閾値設定部により設定された前記閾値を超えない場合、前記周辺画素をバイリニアフィルタ処理する
  (1)乃至(7)のいずれかに記載の画像処理装置。
  (9)  画像データが符号化された符号化データを復号する際のイントラ予測処理におけるカレントブロックの周辺画素の特徴を識別するための閾値を、前記画像データのビット深度に応じて設定し、
  設定された前記閾値を利用して識別される前記周辺画素の特徴に応じたフィルタを用いて、前記周辺画素をフィルタ処理する
  画像処理方法。
  100  画像符号化装置,  121  閾値設定部,  122  フィルタ処理部,  131  ビット深度判定部,  132  閾値ビットシフト部,  133  符号化部,  141  モード・ブロックサイズバッファ,  142  周辺画素判定部,  143  フィルタ決定部,  144  ローパスフィルタ部,  145  バイリニアフィルタ部,  151  閾値設定部,  300  画像復号装置,  321  閾値設定部,  322  フィルタ処理部,  331  ビット深度判定部,  332  閾値ビットシフト部,  341  モード・ブロックサイズバッファ,  342  周辺画素判定部,  343  フィルタ決定部,  344  ローパスフィルタ部,  345  バイリニアフィルタ部,  351  復号部,  361  復号部

Claims (9)

  1.   画像データが符号化された符号化データを復号する際のイントラ予測処理におけるカレントブロックの周辺画素の特徴を識別するための閾値を、前記画像データのビット深度に応じて設定する閾値設定部と、
      前記閾値設定部により設定された前記閾値を利用して識別される前記周辺画素の特徴に応じたフィルタを用いて、前記周辺画素をフィルタ処理するフィルタ処理部と
      を備える画像処理装置。
  2.   前記閾値設定部は、初期値として予め定められた前記閾値を、前記ビット深度に応じてビットシフトする
      請求項1に記載の画像処理装置。
  3.   前記閾値設定部は、前記画像データのビット深度が8ビットの場合、前記閾値を8に設定する
      請求項2に記載の画像処理装置。
  4.   前記画像データのビット深度を判定する判定部をさらに備え、
      前記閾値設定部は、前記判定部により判定されたビット深度に応じて、前記閾値を設定する
      請求項1に記載の画像処理装置。
  5.   前記画像データのビット深度を受け取る受け取り部をさらに備え、
      前記閾値設定部は、前記受け取り部により受け取られた前記ビット深度に応じて、前記閾値を設定する
      請求項1に記載の画像処理装置。
  6.   伝送された、前記画像データのビット深度に応じて設定された閾値を受け取る受け取り部をさらに備え、
      前記フィルタ処理部は、前記受け取り部により受け取られた前記閾値を利用して識別される前記周辺画素の特徴に応じたフィルタを用いて、前記周辺画素をフィルタ処理する
      請求項1に記載の画像処理装置。
  7.   前記フィルタ処理部は、前記周辺画素の特徴を表す値が前記閾値設定部により設定された前記閾値を超える場合、前記周辺画素をローパスフィルタ処理する
      請求項1に記載の画像処理装置。
  8.   前記フィルタ処理部は、前記周辺画素の特徴を表す値が前記閾値設定部により設定された前記閾値を超えない場合、前記周辺画素をバイリニアフィルタ処理する
      請求項1に記載の画像処理装置。
  9.   画像データが符号化された符号化データを復号する際のイントラ予測処理におけるカレントブロックの周辺画素の特徴を識別するための閾値を、前記画像データのビット深度に応じて設定し、
      設定された前記閾値を利用して識別される前記周辺画素の特徴に応じたフィルタを用いて、前記周辺画素をフィルタ処理する
      画像処理方法。
PCT/JP2013/081342 2012-11-30 2013-11-21 画像処理装置および方法 WO2014084106A1 (ja)

Priority Applications (9)

Application Number Priority Date Filing Date Title
US14/441,907 US10812826B2 (en) 2012-11-30 2013-11-21 Image processing apparatus and image processing method
CN201380061145.6A CN104798374B (zh) 2012-11-30 2013-11-21 图像处理设备和图像处理方法
CN201811057200.5A CN109257606B (zh) 2012-11-30 2013-11-21 图像处理设备和图像处理方法
KR1020157013382A KR102289112B1 (ko) 2012-11-30 2013-11-21 화상 처리 장치 및 방법
EP13858063.4A EP2916547A4 (en) 2012-11-30 2013-11-21 IMAGE PROCESSING APPARATUS AND METHOD
MX2015006476A MX352965B (es) 2012-11-30 2013-11-21 Aparato para procesamiento de imagen y método para procesamiento de imagen.
BR112015011920A BR112015011920A2 (pt) 2012-11-30 2013-11-21 aparelho de processamento de imagem, e, método de processamento de imagem
RU2015119487A RU2651209C2 (ru) 2012-11-30 2013-11-21 Устройство обработки изображения и способ обработки изображения
JP2014550146A JPWO2014084106A1 (ja) 2012-11-30 2013-11-21 画像処理装置および方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2012-263810 2012-11-30
JP2012263810 2012-11-30

Publications (1)

Publication Number Publication Date
WO2014084106A1 true WO2014084106A1 (ja) 2014-06-05

Family

ID=50827746

Family Applications (2)

Application Number Title Priority Date Filing Date
PCT/JP2013/081342 WO2014084106A1 (ja) 2012-11-30 2013-11-21 画像処理装置および方法
PCT/JP2013/081343 WO2014084107A1 (ja) 2012-11-30 2013-11-21 画像処理装置および方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/081343 WO2014084107A1 (ja) 2012-11-30 2013-11-21 画像処理装置および方法

Country Status (9)

Country Link
US (5) US10812826B2 (ja)
EP (2) EP2916547A4 (ja)
JP (2) JPWO2014084107A1 (ja)
KR (2) KR20150092118A (ja)
CN (4) CN109274971B (ja)
BR (2) BR112015011917A2 (ja)
MX (2) MX352966B (ja)
RU (2) RU2651209C2 (ja)
WO (2) WO2014084106A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017005508A (ja) * 2015-06-10 2017-01-05 日本電信電話株式会社 イントラ予測処理装置、イントラ予測処理方法、イントラ予測処理プログラム、画像符号化装置及び画像復号装置

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2014084107A1 (ja) * 2012-11-30 2017-01-05 ソニー株式会社 画像処理装置および方法
US20140192266A1 (en) * 2013-01-04 2014-07-10 Qualcomm Incorporated Method and apparatus of reducing compression noise in digital video streams
JP2015170994A (ja) * 2014-03-07 2015-09-28 ソニー株式会社 画像処理装置および方法、画像符号化装置および方法、並びに、画像復号装置および方法
CA2997193C (en) 2015-09-03 2021-04-06 Mediatek Inc. Method and apparatus of neural network based processing in video coding
US10223810B2 (en) 2016-05-28 2019-03-05 Microsoft Technology Licensing, Llc Region-adaptive hierarchical transform and entropy coding for point cloud compression, and corresponding decompression
US11297346B2 (en) 2016-05-28 2022-04-05 Microsoft Technology Licensing, Llc Motion-compensated compression of dynamic voxelized point clouds
US10694210B2 (en) 2016-05-28 2020-06-23 Microsoft Technology Licensing, Llc Scalable point cloud compression with transform, and corresponding decompression
US10602111B2 (en) 2016-09-06 2020-03-24 Apple Inc. Auto white balance control algorithm based upon flicker frequency detection
US20180091812A1 (en) * 2016-09-23 2018-03-29 Apple Inc. Video compression system providing selection of deblocking filters parameters based on bit-depth of video data
GB2557997B (en) * 2016-12-21 2019-05-01 Apical Ltd Encoding and Decoding of image data
WO2018123801A1 (ja) * 2016-12-28 2018-07-05 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元モデル配信方法、三次元モデル受信方法、三次元モデル配信装置及び三次元モデル受信装置
WO2019204672A1 (en) * 2018-04-19 2019-10-24 Huawei Technologies Co., Ltd. Interpolation filter for an intra prediction apparatus and method for video coding
AU2019292266B2 (en) 2018-06-25 2023-02-09 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Intra-frame prediction method and device
WO2020007747A1 (en) * 2018-07-05 2020-01-09 Telefonaktiebolaget Lm Ericsson (Publ) Deblocking of intra-reference samples
CN111783512B (zh) * 2019-11-11 2024-05-14 西安宇视信息科技有限公司 图像处理方法、装置、设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011125445A1 (ja) * 2010-03-31 2011-10-13 シャープ株式会社 画像フィルタ装置、符号化装置、および、復号装置

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6011873A (en) * 1998-04-29 2000-01-04 Penware, Inc. Method and apparatus for lossless compression of signature data
US6674904B1 (en) * 1999-12-14 2004-01-06 Intel Corporation Contour tracing and boundary detection for object identification in a digital image
US6904169B2 (en) 2001-11-13 2005-06-07 Nokia Corporation Method and system for improving color images
US7400679B2 (en) * 2004-04-29 2008-07-15 Mediatek Incorporation Adaptive de-blocking filtering apparatus and method for MPEG video decoder
GB2432069A (en) * 2005-11-03 2007-05-09 Tandberg Television Asa Reducing block noise by applying a dither signal in areas of low spatial detail
US8274710B2 (en) * 2008-06-25 2012-09-25 Canon Kabushiki Kaisha Image processing using count variation
EP2192786A1 (en) * 2008-11-27 2010-06-02 Panasonic Corporation Frequency domain filters for video coding
EP2362962A1 (en) * 2008-12-01 2011-09-07 Marvell World Trade Ltd. Bit resolution enhancement
JP4631966B2 (ja) * 2008-12-22 2011-02-16 ソニー株式会社 画像処理装置、および画像処理方法、並びにプログラム
JP5597968B2 (ja) * 2009-07-01 2014-10-01 ソニー株式会社 画像処理装置および方法、プログラム、並びに記録媒体
WO2012011860A1 (en) * 2010-07-21 2012-01-26 Telefonaktiebolaget L M Ericsson (Publ) Picture coding and decoding
US10142630B2 (en) * 2010-12-10 2018-11-27 Texas Instruments Incorporated Mode adaptive intra prediction smoothing in video coding
JP2012177676A (ja) * 2011-01-31 2012-09-13 Sony Corp 画像処理装置および方法、並びにプログラム
SG188199A1 (en) * 2011-02-22 2013-04-30 Panasonic Corp Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus
ITVI20110052A1 (it) 2011-03-15 2012-09-16 St Microelectronics Srl Riduzione del rumore cromatico di immagini nel dominio bayer
US9516308B2 (en) * 2012-04-27 2016-12-06 Qualcomm Incorporated Parameter set updates in video coding
JPWO2014084107A1 (ja) * 2012-11-30 2017-01-05 ソニー株式会社 画像処理装置および方法
US9369708B2 (en) * 2013-03-27 2016-06-14 Qualcomm Incorporated Depth coding modes signaling of depth data for 3D-HEVC

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011125445A1 (ja) * 2010-03-31 2011-10-13 シャープ株式会社 画像フィルタ装置、符号化装置、および、復号装置

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
BENJAMIN BROSS; WOO-JIN HAN; JENS-RAINER OHM; GARY J. SULLIVAN; THOMAS WIEGAND: "High efficiency video coding (HEVC) text specification draft 8", JCTVC-HL003 D7, JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16WP3 AND ISO/IEC JTC1/SC29/WG11, 10TH MEETING, 11 July 2012 (2012-07-11)
MASARU IKEDA ET AL.: "NON-CE1: SIMPLIFICATION OF STRONG FILTER DECISIONS IN CE1 DEB locking", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT- VC) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 11TH MEETING, October 2012 (2012-10-01), SHANGHAI, CN, XP030113112 *
SHUO LU ET AL.: "CE1: On deblocking filter", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC29/WG 11 11TH MEETING, October 2012 (2012-10-01), SHANGHAI, CN, XP030054777 *
SHUO LU ET AL.: "NONCE1: SIMPLE IMPROVEMENT OF DEBLOCKING FILTER", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 11TH MEETING, October 2012 (2012-10-01), SHANGHAI, CN, XP030054778 *
TK TAN ET AL.: "Contouring artefact and solution", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 11TH MEETING, October 2012 (2012-10-01), SHANGHAI, CN, XP030054766 *
TK TAN; Y. SUZUKI: "Contouring artefact and solution", JCTVC-K0139, JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG 16WP3 AND ISO/IEC JTC 1/SC 29/WG 1111TH MEETING, 10 October 2012 (2012-10-10)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017005508A (ja) * 2015-06-10 2017-01-05 日本電信電話株式会社 イントラ予測処理装置、イントラ予測処理方法、イントラ予測処理プログラム、画像符号化装置及び画像復号装置

Also Published As

Publication number Publication date
US20220124369A1 (en) 2022-04-21
KR102289112B1 (ko) 2021-08-13
MX352965B (es) 2017-12-15
CN104798374B (zh) 2018-09-04
RU2651183C2 (ru) 2018-04-18
CN109257606B (zh) 2022-09-23
US10666973B2 (en) 2020-05-26
WO2014084107A1 (ja) 2014-06-05
CN104813664B (zh) 2018-09-04
MX2015006475A (es) 2015-08-14
RU2015119576A (ru) 2016-12-10
MX352966B (es) 2017-12-15
CN109257606A (zh) 2019-01-22
US20150288963A1 (en) 2015-10-08
EP2916547A4 (en) 2016-05-11
EP2916548A1 (en) 2015-09-09
US10812826B2 (en) 2020-10-20
US20230276072A1 (en) 2023-08-31
BR112015011917A2 (pt) 2017-07-11
US20150312589A1 (en) 2015-10-29
CN104798374A (zh) 2015-07-22
RU2651209C2 (ru) 2018-04-18
JPWO2014084107A1 (ja) 2017-01-05
EP2916548A4 (en) 2016-06-01
CN109274971A (zh) 2019-01-25
KR20150092118A (ko) 2015-08-12
BR112015011920A2 (pt) 2017-07-11
CN109274971B (zh) 2023-04-28
MX2015006476A (es) 2015-08-14
US20200221123A1 (en) 2020-07-09
US11245925B2 (en) 2022-02-08
US11706448B2 (en) 2023-07-18
CN104813664A (zh) 2015-07-29
EP2916547A1 (en) 2015-09-09
RU2015119487A (ru) 2016-12-10
KR20150092117A (ko) 2015-08-12
JPWO2014084106A1 (ja) 2017-01-05

Similar Documents

Publication Publication Date Title
US11245925B2 (en) Image processing apparatus and image processing method
US11503321B2 (en) Image processing device for suppressing deterioration in encoding efficiency
JP6607414B2 (ja) 画像符号化装置および方法
JP2018121336A (ja) 画像処理装置および方法
JPWO2015005137A1 (ja) 画像符号化装置および方法
WO2014203763A1 (ja) 復号装置および復号方法、並びに、符号化装置および符号化方法
WO2015005136A1 (ja) 画像符号化装置および方法、並びに、画像復号装置および方法
WO2015005132A1 (ja) 画像符号化装置および方法、並びに画像復号装置および方法
WO2014162916A1 (ja) 画像符号化装置および方法、並びに、画像復号装置および方法
JP2015005893A (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: 13858063

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2014550146

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 2013858063

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 14441907

Country of ref document: US

ENP Entry into the national phase

Ref document number: 20157013382

Country of ref document: KR

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 2015119487

Country of ref document: RU

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: MX/A/2015/006476

Country of ref document: MX

NENP Non-entry into the national phase

Ref country code: DE

REG Reference to national code

Ref country code: BR

Ref legal event code: B01A

Ref document number: 112015011920

Country of ref document: BR

ENP Entry into the national phase

Ref document number: 112015011920

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20150522