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

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

Info

Publication number
WO2015005024A1
WO2015005024A1 PCT/JP2014/064823 JP2014064823W WO2015005024A1 WO 2015005024 A1 WO2015005024 A1 WO 2015005024A1 JP 2014064823 W JP2014064823 W JP 2014064823W WO 2015005024 A1 WO2015005024 A1 WO 2015005024A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
unit
smoothing
upsampling
layer
Prior art date
Application number
PCT/JP2014/064823
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 ソニー株式会社
Publication of WO2015005024A1 publication Critical patent/WO2015005024A1/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/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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/33Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the spatial domain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process

Definitions

  • the present disclosure relates to an image processing apparatus and an image processing method.
  • JVCVC Joint Collaboration Team-Video Coding
  • ISO / IEC ISO / IEC
  • HEVC High Efficiency Video Coding
  • HEVC provides not only single-layer coding but also scalable coding as well as existing image coding schemes such as MPEG2 and AVC (Advanced Video Coding).
  • HEVC scalable coding technology is also referred to as SHVC (Scalable HEVC) (see, for example, Non-Patent Document 2).
  • Scalable encoding generally refers to a technique for hierarchically encoding a layer that transmits a coarse image signal and a layer that transmits a fine image signal.
  • Typical attributes hierarchized in scalable coding are mainly the following three types. Spatial scalability: Spatial resolution or image size is layered. -Time scalability: Frame rate is layered. -SNR (Signal to Noise Ratio) scalability: SN ratio is hierarchized. In addition, bit depth scalability and chroma format scalability are also discussed, although not yet adopted by the standard.
  • Non-Patent Document 3 proposes several methods for inter-layer prediction. Among these methods, in intra-BL prediction (intra-BL prediction), the decoded image of the base layer is up-sampled and then referred to in the enhancement layer. In intra residual prediction (inter residual prediction) and inter residual prediction (inter residual prediction), a base layer prediction error (residual) image is up-sampled and then referred to in the enhancement layer.
  • Non-Patent Document 4 proposes that a flag indicating whether to perform independent upsampling for each tile when tile division is performed is introduced in the syntax of the encoding parameter. Yes. If the flag indicates independent upsampling for each tile, it is generated by mirroring from the pixels in the same tile instead of referring to the pixels in the adjacent tile when upsampling the boundary of a tile. Temporary pixels are referenced.
  • Non-Patent Document 4 block distortion occurs at the boundary portion of the region, and the image quality deteriorates.
  • the image of the first layer referred to when decoding the image of the second layer having a higher spatial resolution than the first layer is up-sampled independently for each region in the image
  • a first decoding unit that decodes a first flag indicating, a first up-sampling unit that up-samples images of the first layer in a plurality of adjacent regions according to the first flag decoded by the decoding unit
  • a smoothing unit that smoothes an upsampled image generated by the upsampling unit at a boundary portion between the plurality of regions when one flag indicates independent upsampling for each region;
  • the image processing apparatus can typically be realized as an image decoding apparatus that decodes an image.
  • the image of the first layer referred to when decoding the image of the second layer having a higher spatial resolution than the first layer is up-sampled independently for each region in the image.
  • the first layer image referred to when locally decoding the second layer image having a higher spatial resolution than the first layer is independently upsampled for each region in the image.
  • An up-sampling unit that up-samples images of the first layer in a plurality of adjacent areas according to the first setting, and an encoding unit that encodes a first flag corresponding to the first setting indicating whether or not And smoothing that smoothes the upsampled image generated by the upsampling unit at a boundary portion between the plurality of regions when the first setting indicates independent upsampling for each region
  • an image processing apparatus an image processing apparatus.
  • the image processing apparatus can typically be realized as an image encoding apparatus that encodes an image.
  • the first layer image referred to when locally decoding the second layer image having a higher spatial resolution than the first layer is independently upsampled for each region in the image.
  • FIG. 6 is a block diagram illustrating an example of a configuration of an EL encoding unit illustrated in FIG. 5.
  • FIG. 1 It is a block diagram which shows an example of a structure of the upsampling part shown in FIG. It is a block diagram which shows an example of a structure of the smoothing part shown in FIG. It is explanatory drawing for demonstrating the smoothing process as an example. It is explanatory drawing for demonstrating the parallel processing of upsampling and smoothing. It is a flowchart which shows an example of the schematic process flow at the time of the encoding which concerns on one Embodiment. It is a flowchart which shows an example of the flow of the process relevant to the upsampling in the encoding process of an enhancement layer. It is a flowchart which shows an example of the flow of the process relevant to the smoothing in the encoding process of an enhancement layer. FIG.
  • FIG. 7 is a block diagram illustrating an example of a configuration of an EL decoding unit illustrated in FIG. 6.
  • FIG. 16 is a block diagram illustrating an example of a configuration of an upsampling unit illustrated in FIG. 15. It is a block diagram which shows an example of a structure of the smoothing part shown in FIG. It is a flowchart which shows an example of the flow of the schematic process at the time of the decoding which concerns on one Embodiment. It is a flowchart which shows an example of the flow of the process relevant to the smoothing in the decoding process of an enhancement layer. 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.
  • scalable coding In scalable encoding, a plurality of layers each including a series of images are encoded.
  • the base layer is a layer that expresses the coarsest image that is encoded first.
  • the base layer coded stream may be decoded independently without decoding the other layer coded streams.
  • a layer other than the base layer is a layer called an enhancement layer (enhancement layer) that represents a finer image.
  • the enhancement layer encoded stream is encoded using information included in the base layer encoded stream. Accordingly, in order to reproduce the enhancement layer image, both the base layer and enhancement layer encoded streams are decoded.
  • the number of layers handled in scalable coding may be any number of two or more. When three or more layers are encoded, the lowest layer is the base layer, and the remaining layers are enhancement layers.
  • the higher enhancement layer encoded stream may be encoded and decoded using information contained in the lower enhancement layer or base layer encoded stream.
  • FIG. 1 shows three layers L1, L2 and L3 to be scalable encoded.
  • Layer L1 is a base layer
  • layers L2 and L3 are enhancement layers.
  • spatial scalability is taken as an example among various types of scalability.
  • the ratio of the spatial resolution of the layer L2 to the layer L1 is 2: 1.
  • the ratio of the spatial resolution of layer L3 to layer L1 is 4: 1.
  • the resolution ratio here is only an example, and a non-integer resolution ratio such as 1.5: 1 may be used.
  • the block B1 of the layer L1 is a processing unit of the encoding process in the base layer picture.
  • the block B2 of the layer L2 is a processing unit of the encoding process in the enhancement layer picture that shows a scene common to the block B1.
  • Block B2 corresponds to block B1 of layer L1.
  • the block B3 of the layer L3 is a processing unit for encoding processing in a picture of a higher enhancement layer that shows a scene common to the blocks B1 and B2.
  • the block B3 corresponds to the block B1 of the layer L1 and the block B2 of the layer L2.
  • a decoded image (reconstructed image) of a base layer is used as a reference image for predicting a decoded image of an enhancement layer.
  • a base layer prediction error (residual) image is used as a reference image for predicting an enhancement layer prediction error image.
  • the spatial resolution of the enhancement layer is higher than the spatial resolution of the base layer. Therefore, in order to use a base layer image as a reference image, it is required to upsample the image according to a resolution ratio.
  • FIG. 2A is an explanatory diagram for describing upsampling of a decoded image.
  • base layer images IM B1 to IM B4 are shown.
  • the base layer images IM B1 to IM B4 are reconstructed images generated in the base layer encoding process or decoding process (including local decoding in the encoder).
  • the base layer image is upsampled according to the resolution ratio between layers.
  • 2A shows up-sampled base layer images IM U1 to IM U4 .
  • enhancement layer images IM E1 to IM E4 are shown.
  • it is assumed block B E1 enhancement layer image IM E1 is the prediction target block.
  • the intra BL prediction is performed by using the block B U1 of upsampled base layer image IM U1 as a reference block, the difference resolution between the reference block and the prediction target block is eliminated. And high prediction precision can be achieved based on the correlation of the image between layers.
  • FIG. 2B is an explanatory diagram for describing upsampling of a prediction error image.
  • base layer images IM B1 to IM B4 are shown again, and in the upper part, enhancement layer images IM E1 to IM E4 are shown again.
  • the block B E3 of the enhancement layer image IM E3 is a prediction target block for inter prediction
  • the enhancement layer image IM B2 is a reference picture for inter prediction.
  • the block B B3 of the base layer image IM B3 is a collocated (co-located) blocks of the prediction target block B E3, a reference block of the inter residual prediction.
  • the relationship among the decoded image Cur B of the block B B3 , the prediction image Pred B of inter prediction in the base layer, and the prediction error image Err B is expressed by the following equation.
  • the relationship between the decoded image Cur E of the prediction target block B E3 , the prediction image Pred E of the inter prediction in the enhancement layer, and the prediction error image Err E is the base layer prediction error image Up [Err B ]. Is expressed as follows.
  • the difference in resolution between the prediction target block and the reference block is eliminated by upsampling the prediction error image of the base layer. Based on the correlation of prediction errors between layers, prediction error data (Err E ) to be encoded can be reduced.
  • inter-layer prediction described here is only an example. That is, the technology according to the present disclosure can be applied to a different type of inter-layer prediction from the above-described intra-BL prediction and residual prediction.
  • FIG. 3A is an explanatory diagram for explaining parallel processing for each slice.
  • the image Im11 is divided into four slices SL11, SL12, SL13, and SL14.
  • the small square in the figure is LCU (Largest Coding Unit).
  • LCU Large Coding Unit
  • CABAC Context-based Adaptive Binary Arithmetic Coding
  • FIG. 3B is an explanatory diagram for explaining parallel processing for each tile.
  • the image Im12 is divided into four tiles TL11, TL12, TL13, and TL14.
  • the small square in the figure is the LCU.
  • the encoding / decoding process PR01 for the tile TL11 and the encoding / decoding process PR02 for the tile TL12 are assigned different processing resources. Can be executed in parallel. Unlike a slice, a tile may be an arbitrary rectangular area that is not constrained in the raster scan order in the image. Therefore, compared to the case where slices are used, when tiles closer to a square are used, the total length of the region boundaries is shortened, and the coding efficiency can be improved.
  • an upsampling filter designed in the same manner as an interpolation filter for motion compensation is usually used.
  • the number of taps of the upsampling filter is 7 taps or 8 taps for the luminance component and 4 taps for the color difference component.
  • the tap of the upsampling filter for calculating the interpolated pixel value may include a pixel outside the region (in the adjacent region).
  • Non-Patent Document 4 describes a 1-bit flag (independent_tile_upsampling_flag) indicating whether or not to perform independent upsampling for each tile, and a syntax of encoding parameters (specifically, PPS It is proposed to be introduced into an extension.
  • the flag indicates independent upsampling for each tile
  • pixels in the same tile are used instead of referring to the pixel of the adjacent tile.
  • FIG. 4 is an explanatory diagram for explaining region-independent upsampling for each region. Referring to FIG. 4, some pixels in the boundary portion of the tile TL11 and the tile TL12 that are adjacent to each other across the boundary B1 are illustrated. Pixels X1, X2, X3, and X4 are pixels in the tile TL11. Pixels X5, X6, X7, and X8 are pixels in the tile TL12.
  • the pixel value of the interpolated pixel X0 corresponding to the pixel position PP0 is to be calculated using an upsampling filter in order to increase the spatial resolution of the tile TL11
  • an upsampling filter usually, for example, the pixels X1, X2, X3, X4, X5, X6, X7 and X8 are used as filter taps.
  • the upsampling for the tile TL11 depends on the processing result for the tile TL12.
  • the temporary pixels X5 ′, X6 ′, X7 ′, and X8 ′ are replaced with the pixels X4, X3, X2 instead of the pixels X5, X6, X7, and X8 in the tile TL12.
  • X1 respectively, and the mirrored pixels X5 ′, X6 ′, X7 ′, and X8 ′ and the mirrored pixels X1, X2, X3, and X4 are used as filter taps.
  • the dependency relationship between the regions is eliminated, and the processing by tile can be highly parallelized.
  • Block distortion occurs.
  • This block distortion is inherited by the decoded image of the enhancement layer as it is when the upsampled image is referenced in the enhancement layer with a motion vector equal to, for example, zero, and can be perceived as degradation of image quality by the user.
  • a loop filter such as a deblocking filter (DF).
  • the deblocking filter requires some information such as prediction mode information on both sides of the boundary, transform coefficient information, and motion vector information for edge determination and strength selection.
  • FIG. 5 is a block diagram illustrating a schematic configuration of an image encoding device 10 according to an embodiment that supports scalable encoding.
  • the image encoding device 10 includes a base layer (BL) encoding unit 1 a, an enhancement layer (EL) encoding unit 1 b, a common memory 2 and a multiplexing unit 3.
  • BL base layer
  • EL enhancement layer
  • the BL encoding unit 1a encodes a base layer image in parallel for each region using a plurality of processing resources, and generates a base layer encoded stream.
  • the EL encoding unit 1b encodes an enhancement layer image in parallel for each region using a plurality of processing resources, and generates an enhancement layer encoded stream.
  • the common memory 2 stores information commonly used between layers.
  • the multiplexing unit 3 multiplexes the encoded stream of the base layer generated by the BL encoding unit 1a and the encoded stream of one or more enhancement layers generated by the EL encoding unit 1b. Generate a multiplexed stream.
  • FIG. 6 is a block diagram illustrating a schematic configuration of an image decoding device 60 according to an embodiment that supports scalable coding.
  • the image decoding device 60 includes a demultiplexing unit 5, a base layer (BL) decoding unit 6 a, an enhancement layer (EL) decoding unit 6 b, and a common memory 7.
  • BL base layer
  • EL enhancement layer
  • the demultiplexing unit 5 demultiplexes the multi-layer multiplexed stream into a base layer encoded stream and one or more enhancement layer encoded streams.
  • the BL decoding unit 6a decodes a base layer image from a base layer encoded stream in parallel for each region using a plurality of processing resources.
  • the EL decoding unit 6b decodes the enhancement layer image from the enhancement layer encoded stream in parallel for each region using a plurality of processing resources.
  • the common memory 7 stores information commonly used between layers.
  • the configuration of the BL encoding unit 1a for encoding the base layer and the configuration of the EL encoding unit 1b for encoding the enhancement layer are similar to each other. . Some parameters and images generated or acquired by the BL encoder 1a can be buffered using the common memory 2 and reused by the EL encoder 1b. In the next section, the configuration of such an EL encoding unit 1b will be described in detail.
  • the configuration of the BL decoding unit 6a for decoding the base layer and the configuration of the EL decoding unit 6b for decoding the enhancement layer are similar to each other. Some parameters and images generated or acquired by the BL decoding unit 6a can be buffered using the common memory 7 and reused by the EL decoding unit 6b. Further, in the next section, the configuration of such an EL decoding unit 6b will be described in detail.
  • FIG. 7 is a block diagram showing an example of the configuration of the EL encoding unit 1b shown in FIG.
  • the EL encoding unit 1b includes a rearrangement buffer 11, a subtraction unit 13, an orthogonal transformation unit 14, a quantization unit 15, a lossless encoding unit 16, a storage buffer 17, a rate control unit 18, and an inverse quantization.
  • the rearrangement buffer 11 rearranges images included in a series of image data.
  • the rearrangement buffer 11 rearranges the images according to the GOP (Group of Pictures) structure related to the encoding process, and then transmits the rearranged image data to the subtraction unit 13, the intra prediction unit 30, and the inter prediction unit 31. Output.
  • GOP Group of Pictures
  • the subtraction unit 13 is supplied with image data input from the rearrangement buffer 11 and predicted image data input from the intra prediction unit 30 or the inter prediction unit 31 described later.
  • the subtraction unit 13 calculates prediction error data that is a difference between the image data input from the rearrangement buffer 11 and the prediction image data, and outputs the calculated prediction error data to the orthogonal transformation unit 14.
  • the orthogonal transform unit 14 performs orthogonal transform on the prediction error data input from the subtraction unit 13.
  • the orthogonal transformation performed by the orthogonal transformation part 14 may be discrete cosine transformation (Discrete Cosine Transform: DCT) or Karoonen-Labe transformation, for example.
  • the orthogonal transform unit 14 outputs transform coefficient data acquired by the orthogonal transform process to the quantization unit 15.
  • the quantization unit 15 is supplied with transform coefficient data input from the orthogonal transform unit 14 and a rate control signal from the rate control unit 18 described later.
  • the quantization unit 15 quantizes the transform coefficient data in a quantization step determined according to the rate control signal.
  • the quantization unit 15 outputs the quantized transform coefficient data (hereinafter referred to as quantized data) to the lossless encoding unit 16 and the inverse quantization unit 21.
  • the lossless encoding unit 16 performs a lossless encoding process on the quantized data input from the quantization unit 15 to generate an enhancement layer encoded stream.
  • the lossless encoding unit 16 encodes various parameters referred to when decoding the encoded stream, and inserts the encoded parameters into the header area of the encoded stream.
  • the parameters encoded by the lossless encoding unit 16 may include information related to intra prediction, information related to inter prediction, and parameters related to upsampling or smoothing. Then, the lossless encoding unit 16 outputs the generated encoded stream to the accumulation buffer 17.
  • the accumulation buffer 17 temporarily accumulates the encoded stream input from the lossless encoding unit 16 using a storage medium such as a semiconductor memory. Then, the accumulation buffer 17 outputs the accumulated encoded stream to a transmission unit (not shown) (for example, a communication interface or a connection interface with a peripheral device) at a rate corresponding to the bandwidth of the transmission path.
  • a transmission unit for example, a communication interface or a connection interface with a peripheral device
  • the rate control unit 18 monitors the free capacity of the accumulation buffer 17. Then, the rate control unit 18 generates a rate control signal according to the free capacity of the accumulation buffer 17 and outputs the generated rate control signal to the quantization unit 15. For example, the rate control unit 18 generates a rate control signal for reducing the bit rate of the quantized data when the free capacity of the storage buffer 17 is small. For example, when the free capacity of the accumulation buffer 17 is sufficiently large, the rate control unit 18 generates a rate control signal for increasing the bit rate of the quantized data.
  • the inverse quantization unit 21, the inverse orthogonal transform unit 22, and the addition unit 23 constitute a local decoder.
  • the inverse quantization unit 21 performs the same quantization step as that used by the quantization unit 15 and inversely quantizes the enhancement layer quantization data to restore the transform coefficient data. Then, the inverse quantization unit 21 outputs the restored transform coefficient data to the inverse orthogonal transform unit 22.
  • the inverse orthogonal transform unit 22 restores the prediction error data by performing an inverse orthogonal transform process on the transform coefficient data input from the inverse quantization unit 21. Then, the inverse orthogonal transform unit 22 outputs the restored prediction error data to the addition unit 23.
  • the adder 23 adds decoded image data (enhancement layer) by adding the restored prediction error data input from the inverse orthogonal transform unit 22 and the predicted image data input from the intra prediction unit 30 or the inter prediction unit 31. Of the reconstructed image). Then, the adder 23 outputs the generated decoded image data to the loop filter 24 and the frame memory 25.
  • the loop filter 24 includes a filter group for the purpose of improving the image quality.
  • the deblocking filter (DF) is a filter that reduces block distortion that occurs when an image is encoded.
  • a sample adaptive offset (SAO) filter is a filter that adds an adaptively determined offset value to each pixel value.
  • the adaptive loop filter (ALF) is a filter that minimizes an error between the image after SAO and the original image.
  • the loop filter 24 filters the decoded image data input from the adding unit 23 and outputs the decoded image data after filtering to the frame memory 25.
  • the frame memory 25 includes enhancement layer decoded image data input from the adder 23, enhancement layer filtered image data input from the loop filter 24, and base layer reference image input from the smoothing unit 40. Data is stored using a storage medium.
  • the selector 26 reads out the decoded image data before filtering used for intra prediction from the frame memory 25 and supplies the read decoded image data to the intra prediction unit 30 as reference image data. Further, the selector 26 reads out the filtered decoded image data used for inter prediction from the frame memory 25 and supplies the read decoded image data to the inter prediction unit 31 as reference image data. Further, when inter layer prediction is performed in the intra prediction unit 30 or the inter prediction unit 31, the selector 26 supplies the reference image data of the base layer to the intra prediction unit 30 or the inter prediction unit 31.
  • the selector 27 In the intra prediction mode, the selector 27 outputs predicted image data as a result of the intra prediction output from the intra prediction unit 30 to the subtraction unit 13 and outputs information related to the intra prediction to the lossless encoding unit 16. Further, in the inter prediction mode, the selector 27 outputs the prediction image data as a result of the inter prediction output from the inter prediction unit 31 to the subtraction unit 13 and outputs information related to the inter prediction to the lossless encoding unit 16. .
  • the selector 27 switches between the intra prediction mode and the inter prediction mode according to the size of the cost function value.
  • the intra prediction unit 30 performs an intra prediction process based on the original image data and decoded image data of the enhancement layer. For example, the intra prediction unit 30 evaluates the prediction result of each candidate mode in the prediction mode set using a predetermined cost function. Next, the intra prediction unit 30 selects the prediction mode with the smallest cost function value, that is, the prediction mode with the highest compression rate, as the optimum prediction mode. The intra prediction unit 30 generates enhancement layer predicted image data according to the optimal prediction mode.
  • the intra prediction unit 30 may include intra BL prediction, which is a type of inter layer prediction, in the prediction mode set in the enhancement layer.
  • intra BL prediction a collocated block in the base layer corresponding to a prediction target block in the enhancement layer is used as a reference block, and a prediction image is generated based on a decoded image of the reference block.
  • the intra prediction unit 30 may include intra residual prediction that is a kind of inter-layer prediction.
  • intra residual prediction a prediction error of an intra prediction is predicted based on a prediction error image of a reference block that is a collocated block in a base layer, and a prediction image in which the predicted prediction error is added is generated ( (Refer to the first and second terms on the right side of Equation (2)).
  • the intra prediction unit 30 outputs information related to intra prediction including prediction mode information representing the selected optimal prediction mode, cost function values, and predicted image data to the selector 27.
  • the inter prediction unit 31 performs inter prediction processing based on the enhancement layer original image data and decoded image data. For example, the inter prediction unit 31 evaluates the prediction result of each candidate mode in the prediction mode set using a predetermined cost function. Next, the inter prediction unit 31 selects a prediction mode with the smallest cost function value, that is, a prediction mode with the highest compression rate, as the optimum prediction mode. The inter prediction unit 31 generates enhancement layer predicted image data in accordance with the optimal prediction mode.
  • the inter prediction unit 31 may include inter residual prediction, which is a kind of inter layer prediction, in the prediction mode set in the enhancement layer.
  • a prediction error of inter prediction is predicted based on a prediction error image of a reference block that is a collocated block in a base layer, and a prediction image in which the predicted prediction error is added is generated ( (Refer to the first and second terms on the right side of Equation (2)).
  • the inter prediction unit 31 outputs information related to inter prediction including the prediction mode information indicating the selected optimal prediction mode and motion information, a cost function value, and predicted image data to the selector 27.
  • the up-sampling unit 35 up-samples the base layer image buffered by the common memory 2 in parallel for each region that can correspond to a slice or a tile, according to the settings regarding the resolution ratio between layers and the dependency between regions To do.
  • the image up-sampled by the up-sampling unit 35 may be one or both of the decoded image of the base layer and the prediction error image. Then, the upsampling unit 35 outputs the upsampled image whose spatial resolution is increased by the upsampling to the smoothing unit 40.
  • An example of the detailed configuration of the upsampling unit 35 will be further described later.
  • the smoothing unit 40 smoothes the upsampled image generated by the upsampling unit 35 at a boundary portion between a plurality of regions. To do. Then, the smoothing unit 40 stores the smoothed up-ampling image (or the up-sampling image generated by the up-sampling unit 35 when independent up-sampling is not performed for each region) in the frame memory 25. Store.
  • the base layer upsampled image stored in the frame memory 25 can be used as a reference image in the inter layer prediction by the intra prediction unit 30 or the inter prediction unit 31. An example of a detailed configuration of the smoothing unit 40 will be further described later.
  • FIG. 8 is a block diagram showing an example of the configuration of the upsampling unit 35 shown in FIG.
  • the upsampling unit 35 includes a filter control unit 36, a coefficient memory 37, and an upsampling filter 38.
  • the filter control unit 36 and the upsampling filter 38 are implemented using a plurality of processing resources that can operate in parallel.
  • parallel processing is performed mainly on four regions in an image will be described, but the present invention is not limited to this example, and parallel processing may be performed on any number of regions.
  • the filter control unit 36 identifies settings related to upsampling. For example, the filter control unit 36 identifies a predefined resolution ratio between the base layer image and the enhancement layer image. The filter control unit 36 also identifies a setting indicating whether upsampling should be performed independently for each region. Then, the filter control unit 36 acquires a base layer image of each region from the common memory 2, constructs a filter tap for each interpolation pixel position, and outputs the constructed filter tap to the upsampling filter 38. When the identified setting indicates that upsampling should be performed independently for each region, the filter control unit 36, as described with reference to FIG. The pixel that is temporarily generated by mirroring the pixels in the region is included in the filter tap.
  • the settings identified by the filter control unit 36 are output to the lossless encoding unit 16 and can be encoded by the lossless encoding unit 16.
  • the encoding parameter indicating the resolution ratio between layers can be encoded in VPS (Video Parameter Set), or SPS (Sequence Parameter Set) or PPS (Picture Parameter Set) of the enhancement layer.
  • a flag for example, “independent_tile_upsampling_flag” indicating whether the base layer image is independently upsampled for each region in the image may be encoded in PPS or an extension of the PPS.
  • the coefficient memory 37 is a memory that stores various filter coefficient candidates used by the upsampling filter 38.
  • the filter coefficient may be the same as or different from the interpolation filter described in Non-Patent Document 2.
  • the coefficient memory 37 stores a set of filter coefficients for each combination of the pixel position to be interpolated and the number of taps.
  • the set of filter coefficients stored by the coefficient memory 37 is read by the upsampling filter 38.
  • the filter coefficient may be dynamically calculated by the filter control unit 36.
  • the up-sampling filter 38 up-samples the base layer image referenced when locally decoding the enhancement layer image having a spatial resolution higher than that of the base layer in accordance with the setting identified by the filter control unit 36. More specifically, the upsampling filter 38 filters the filter tap constructed by the filter control unit 36 with the filter coefficient acquired from the coefficient memory 37 for each of the interpolated pixels that are sequentially scanned according to the resolution ratio. As a result, an interpolated pixel value is calculated. Thereby, the spatial resolution of the base layer image used as the reference image is increased to the same resolution as the enhancement layer.
  • the upsampling by the upsampling filter 38 is performed in parallel with respect to, for example, the base layer images RG B1 , RG B2 , RG B3, and RG B4 in the four regions, and the upsampling images RG U1 , RG U2 , RG U3 in the four regions. And RG U4 are generated.
  • the upsampling filter 38 outputs the upsampled reference image data, that is, the upsampled images RG U1 , RG U2 , RG U3, and RG U4 to the smoothing unit 40.
  • FIG. 9 is a block diagram illustrating an example of the configuration of the smoothing unit 40 illustrated in FIG. 7.
  • the smoothing unit 40 includes a plurality of area memories 41 a, 41 b, 41 c, and 41 d, a smoothing control unit 42, a line buffer 43, and a smoothing filter 44.
  • the smoothing control unit 42 and the smoothing filter 44 may be implemented using a plurality of processing resources that can operate in parallel, or may be implemented using a single processing resource.
  • the first region memory 41a temporarily stores the upsampled image RG U1 of the first region input from the upsampling unit 35.
  • the second area memory 41b temporarily stores the up-sampled image RG U2 of the second area input from the up-sampling unit 35.
  • the third area memory 41c temporarily stores the upsampled image RG U3 of the third area input from the upsampling unit 35.
  • the fourth region memory 41d temporarily stores the upsampled image RG U4 of the fourth region input from the upsampling unit 35.
  • the smoothing control unit 42 identifies settings relating to smoothing. For example, the smoothing control unit 42 identifies a first setting indicating whether independent upsampling is performed for each region and a second setting indicating whether smoothing of the upsampled image is performed. And the smoothing control part 42 determines whether smoothing is performed in the boundary part between several area
  • the smoothing control unit 42 determines not to smooth the upsampled image, the smoothing control unit 42 outputs the upsampled image stored in each of the area memories 41a, 41b, 41c, and 41d to the frame memory 25 as it is.
  • the smoothing filter 42 stores the pixel value located at the boundary portion of the up-sampled image of each region in the line buffer 43. 44 is caused to perform smoothing.
  • the line buffer 43 buffers pixel values after upsampling at a boundary portion between a plurality of regions. Pixels buffered by the line buffer 43 are treated as filter taps for filtering in the smoothing filter 44.
  • the smoothing filter 44 filters the pixel value buffered as a filter tap by the line buffer 43, thereby calculating a smoothed pixel value for each pixel on the boundary between the regions.
  • FIG. 10 is an explanatory diagram for explaining a smoothing process as an example. Referring to FIG. 10, an image Im12 divided into four tiles TL11, TL12, TL13, and TL14 is shown again. The hatched portion in the figure is a boundary portion between tiles. Smoothing is performed on this boundary portion. For example, in the lower part of FIG. 10, four pixels p1, p0, q0 and q1 belonging to the boundary portion of the vertical boundary between the tile TL13 and the tile TL14 are shown in an enlarged manner.
  • Pixels p1 and p0 belong to tile TL13. Pixels q0 and q1 belong to tile TL14. Among these pixels, the pixels p0 and q0 are objects to be smoothed.
  • the smoothing filter 44 reads the pixel values of the pixels p1, p0, q0, and q1 from the line buffer 43, and smoothes the pixel values p0 sm of the pixels p0 and q0 according to the following expressions (3) and (4). And q0 sm can be calculated respectively.
  • the number of filter taps and the filter coefficient of the smoothing filter 44 are not limited to the examples of Expression (3) and Expression (4), and may be other values.
  • the smoothing of the place where the vertical boundary and the horizontal boundary intersect may be performed first in either the vertical direction or the horizontal direction. As a result of such smoothing, block distortion caused by upsampling is repaired.
  • the smoothing filter 44 updates the pixel values stored in the region memories 41a, 41b, 41c, and 41d with the pixel values after smoothing for each of the pixels on the boundary between the regions.
  • the smoothing control unit 42 outputs the upsampled images RG U1_sm , RG U2_sm , RG U3_sm, and RG U4_sm after smoothing to the frame memory 25 as reference image data.
  • FIG. 11 is an explanatory diagram for explaining parallel processing of upsampling and smoothing.
  • base layer images RG B1 , RG B2 , RG B3, and RG B4 of four regions adjacent to each other are shown.
  • the base layer image RG B1 is upsampled by the first upsampling process PR11 to generate an upsampled image RG U1 .
  • the base layer image RG B2 is upsampled by the second upsampling process PR12 to generate an upsampled image RG U2 .
  • the base layer image RG B3 is upsampled by the third upsampling process PR13 to generate an upsampled image RG U3 .
  • the base layer image RG B4 is upsampled by the fourth upsampling process PR14 to generate an upsampled image RG U4 .
  • These upsampling processes PR11, PR12, PR13, and PR14 can be executed in parallel in the upsampling unit 35 using different processing resources (for example, a processor and a memory, or a dedicated circuit).
  • the pixel values at the boundary portions shaded by the oblique lines of the upsampled images RG U1 , RG U2 , RG U3, and RG U4 are updated by the smoothing process PR2 in the smoothing unit 40, and the upsampled image after smoothing is updated.
  • RG U1_sm , RG U2_sm , RG U3_sm, and RG U4_sm are generated.
  • the upsampled image RG U1_sm is used as a reference image in the encoding (decoding) process PR31 for the first region of the enhancement layer.
  • the upsampled image RG U2_sm is used as a reference image in the encoding (decoding) process PR32 for the second region of the enhancement layer.
  • the upsampled image RG U3_sm is used as a reference image in the encoding (decoding) process PR33 for the third region of the enhancement layer.
  • the upsampled image RG U4_sm is used as a reference image in the encoding (decoding) process PR34 for the fourth region of the enhancement layer.
  • These encoding (decoding) processes PR31, PR32, PR33 and PR34 can also be executed in parallel using different processing resources.
  • the settings identified by the smoothing control unit 42 are output to the lossless encoding unit 16 and can be encoded by the lossless encoding unit 16. Whether the lossless encoding unit 16 performs smoothing of the upsampled image in addition to the first flag corresponding to the first setting indicating whether the base layer image is independently upsampled for each region, for example.
  • the second flag corresponding to the second setting indicating is encoded. Table 1 below shows a first example of the syntax of the encoded stream associated with these flags.
  • the smoothing unit 40 when the flag “independent_tile_upsampling_flag” indicates independent upsampling for each tile and the flag “inter_tile_smoothing_flag” indicates the execution of smoothing, The upsampled image is smoothed at.
  • These flags may be included in the PPS itself, not the extension of the PPS. Further, the same syntax may be adopted for slices instead of tiles.
  • the encoder sets the flag “inter_tile_smoothing_flag” to true when high image quality is desired to improve the image quality, and otherwise sets the flag to false to reduce the processing load. May be reduced.
  • Table 2 below shows a second example of syntax.
  • the SPS extension “seq_parameter_set_extension ()” includes a flag “inter_tile_smoothing_flag” indicating whether to smooth the upsampled image.
  • the extension “pic_parameter_set_extension ()” of the PPS includes a flag “independent_tile_upsampling_flag” indicating whether the base layer image is independently upsampled for each tile when the tile division is effective.
  • the smoothing unit 40 tiles the picture for which the flag “independent_tile_upsampling_flag” indicates independent upsampling for each tile.
  • Upsampling images are smoothed at the boundary between them, while upsampling images are not smoothed for pictures whose flag “independent_tile_upsampling_flag” does not indicate independent upsampling for each tile.
  • the flag “inter_tile_smoothing_flag” may be included in the SPS itself, not in the SPS extension, or may be included in the VPS. Further, the same syntax may be adopted for slices instead of tiles.
  • the code amount of the newly added parameter may be smaller than that in the first example.
  • the smoothing control unit 42 may variably control the smoothing intensity in the smoothing unit 40.
  • the smoothing control unit 42 determines the strength of the smoothing filter 44 when the loop filter 24 is not applied between regions for the base layer image or the enhancement layer image as compared with the case where the loop filter 24 is applied between regions. May be set strongly.
  • the deblocking filter and the SAO filter can be applied to the boundary between tiles.
  • FIG. 12 is a flowchart illustrating an example of a schematic processing flow at the time of encoding according to an embodiment. Note that processing steps that are not directly related to the technology according to the present disclosure are omitted from the drawing for the sake of simplicity of explanation. The process shown in FIG. 12 is executed for each of the pictures constituting the video.
  • the BL encoding unit 1a performs base layer encoding processing in parallel for each region, and generates a base layer encoded stream (step S11).
  • the EL encoding unit 1b up-samples the base layer image (one or both of the decoded image and the prediction error image) buffered by the common memory 2 in parallel for each region, and generates an up-sampled image. (Step S12).
  • the EL encoding unit 1b determines whether or not to smooth the upsampled image (step S13). If it is determined that the upsampled image is to be smoothed, the EL encoding unit 1b uses the boundary between the regions of the upsampled image. A smoothing filter is applied (step S14).
  • the EL encoding unit 1b performs the enhancement layer encoding process in parallel for each region, and generates an enhancement layer encoded stream (step S15).
  • the enhancement layer encoding process executed here the base layer image that has been up-sampled and smoothed as necessary is used as a reference image in inter-layer prediction.
  • the multiplexing unit 3 multiplexes the base layer encoded stream generated by the BL encoding unit 1a and the enhancement layer encoded stream generated by the EL encoding unit 1b, and performs multi-layer multiplexing.
  • a stream is generated (step S16).
  • FIG. 13 is a flowchart illustrating an example of a process flow related to upsampling in the enhancement layer encoding process. The processing shown in FIG. 13 can be executed in parallel for a plurality of regions in each picture.
  • the filter control unit 36 identifies a reference block of the base layer corresponding to the block of interest in the enhancement layer region (step S21).
  • the reference block identified here may be a collocated block of the block of interest (a block occupying the same place in the image).
  • step S23 The processing from step S23 to step S27 is repeated for each interpolation pixel position in the block of interest (step S22).
  • the interpolation pixel position is determined according to the resolution ratio between layers.
  • the upsampling filter 38 acquires the filter coefficient to be applied to the filter tap constructed by the filter control unit 36 from the coefficient memory 37 (step S23).
  • the filter control unit 36 determines whether to perform upsampling independently for each region (step S24). When it is determined that the upsampling is performed independently for each region, the filter control unit 36 further determines whether there is a filter tap outside the region for the interpolation pixel position of the loop (step S25).
  • the filter control unit 36 when there is a filter tap outside the region, the filter control unit 36 generates a temporary filter tap by mirroring the pixels in the region (step S26). Then, the upsampling filter 38 calculates the interpolation pixel value by filtering the filter tap constructed by the filter control unit 36 (step S27).
  • step S28 the upsampling process in FIG. 13 ends.
  • FIG. 14 is a flowchart illustrating an example of a flow of processing related to smoothing in the enhancement layer encoding processing. The process shown in FIG. 14 may be executed after an upsampled image is generated for a plurality of adjacent areas in each picture.
  • the smoothing control unit 42 determines whether or not to smooth an upsampled image at a boundary portion between regions (step S ⁇ b> 31). For example, when independent upsampling is not performed for each region, or when smoothing is set to off, the smoothing control unit 42 may determine that the upsampled image is not smoothed. Otherwise, the process proceeds to step S32.
  • step S32 the smoothing control unit 42 stores, in the line buffer 43, the reference pixel of the target boundary among one or more boundaries between the regions (step S32).
  • step S33 the smoothing filter 44 calculates a smoothed pixel value for one or more pixels on the target boundary by filtering the reference pixels stored in the line buffer 43 (step S33). Thereafter, when an unprocessed boundary remains, the process returns to step S32, and the above-described process is repeated for the next target boundary (step S34). If no unprocessed boundary remains, the process proceeds to step S35.
  • step S35 the lossless encoding unit 16 encodes parameters relating to smoothing (step S35).
  • the parameters encoded here include, for example, a first flag indicating whether the base layer image is independently upsampled for each region, and a second flag indicating whether smoothing of the upsampled image is performed. Can be included.
  • FIG. 15 is a block diagram showing an example of the configuration of the EL decoding unit 6b shown in FIG.
  • the EL decoding unit 6b includes a storage buffer 61, a lossless decoding unit 62, an inverse quantization unit 63, an inverse orthogonal transform unit 64, an addition unit 65, a loop filter 66, a rearrangement buffer 67, a D / A ( Digital to Analogue) conversion unit 68, frame memory 69, selectors 70 and 71, intra prediction unit 80, inter prediction unit 81, upsampling unit 85, and smoothing unit 90.
  • D / A Digital to Analogue
  • the accumulation buffer 61 temporarily accumulates the enhancement layer encoded stream input from the demultiplexer 5 using a storage medium.
  • the lossless decoding unit 62 decodes enhancement layer quantized data from the enhancement layer encoded stream input from the accumulation buffer 61 according to the encoding method used for encoding. In addition, the lossless decoding unit 62 decodes information inserted in the header area of the encoded stream.
  • the information decoded by the lossless decoding unit 62 may include, for example, information related to intra prediction, information related to inter prediction, and parameters related to up-ampling or smoothing.
  • the lossless decoding unit 62 outputs the quantized data to the inverse quantization unit 63. Further, the lossless decoding unit 62 outputs information related to intra prediction to the intra prediction unit 80. Further, the lossless decoding unit 62 outputs information related to inter prediction to the inter prediction unit 81. In addition, the lossless decoding unit 62 outputs parameters related to upsampling to the upsampling unit 85 and parameters related to smoothing to the smoothing unit 90.
  • the inverse quantization unit 63 performs inverse quantization on the quantized data input from the lossless decoding unit 62 in the same quantization step (or the same quantization matrix) used for encoding, and performs enhancement layer conversion. Restore the coefficient data.
  • the inverse quantization unit 63 outputs the restored transform coefficient data to the inverse orthogonal transform unit 64.
  • the inverse orthogonal transform unit 64 generates prediction error data by performing inverse orthogonal transform on the transform coefficient data input from the inverse quantization unit 63 according to the orthogonal transform method used at the time of encoding.
  • the inverse orthogonal transform unit 64 outputs the generated prediction error data to the addition unit 65.
  • the addition unit 65 adds the prediction error data input from the inverse orthogonal transform unit 64 and the prediction image data input from the selector 71 to generate decoded image data. Then, the addition unit 65 outputs the generated decoded image data to the loop filter 66 and the frame memory 69.
  • the loop filter 66 is a deblocking filter that reduces block distortion, a sample adaptive offset filter that adds an offset value to each pixel value, and an adaptation that minimizes an error from the original image.
  • a loop filter may be included.
  • the loop filter 66 filters the decoded image data input from the adding unit 65 and outputs the filtered decoded image data to the rearrangement buffer 67 and the frame memory 69.
  • the rearrangement buffer 67 generates a series of time-series image data by rearranging the images input from the loop filter 66. Then, the rearrangement buffer 67 outputs the generated image data to the D / A conversion unit 68.
  • the D / A converter 68 converts the digital image data input from the rearrangement buffer 67 into an analog image signal. Then, the D / A conversion unit 68 displays an enhancement layer image, for example, by outputting an analog image signal to a display (not shown) connected to the image decoding device 60.
  • the frame memory 69 stores the decoded image data before filtering input from the addition unit 65, the decoded image data after filtering input from the loop filter 66, and the reference image data of the base layer input from the smoothing unit 90. Store using media.
  • the selector 70 switches the output destination of the image data from the frame memory 69 between the intra prediction unit 80 and the inter prediction unit 81 for each block in the image according to the mode information acquired by the lossless decoding unit 62. .
  • the selector 70 outputs the decoded image data before filtering supplied from the frame memory 69 to the intra prediction unit 80 as reference image data.
  • the selector 70 outputs the decoded image data after filtering to the inter prediction unit 81 as reference image data.
  • the selector 70 supplies the reference image data of the base layer to the intra prediction unit 80 or the inter prediction unit 81.
  • the selector 71 switches the output source of the predicted image data to be supplied to the adding unit 65 between the intra prediction unit 80 and the inter prediction unit 81 according to the mode information acquired by the lossless decoding unit 62. For example, the selector 71 supplies the prediction image data output from the intra prediction unit 80 to the adding unit 65 when the intra prediction mode is designated. Further, when the inter prediction mode is designated, the selector 71 supplies the predicted image data output from the inter prediction unit 81 to the adding unit 65.
  • the intra prediction unit 80 performs the intra prediction process of the enhancement layer based on the information related to the intra prediction input from the lossless decoding unit 62 and the reference image data from the frame memory 69, and generates predicted image data.
  • intra BL prediction or intra residual prediction is designated as the intra prediction mode
  • the intra prediction unit 80 uses a collocated block in the base layer corresponding to the prediction target block as a reference block.
  • intra prediction unit 80 generates a predicted image based on the decoded image of the reference block.
  • intra prediction unit 80 predicts the prediction error of intra prediction based on the prediction error image of the reference block, and generates a prediction image in which the predicted prediction errors are added.
  • the intra prediction unit 80 outputs the generated predicted image data of the enhancement layer to the selector 71.
  • the inter prediction unit 81 performs enhancement layer inter prediction processing (motion compensation processing) based on information related to inter prediction input from the lossless decoding unit 62 and reference image data from the frame memory 69, and generates predicted image data. To do.
  • inter prediction is designated as the inter prediction mode
  • the inter prediction unit 81 uses a collocated block in the base layer corresponding to the prediction target block as a reference block.
  • the inter prediction unit 81 predicts the prediction error of inter prediction based on the prediction error image of the reference block, and generates a prediction image in which the predicted prediction errors are added.
  • the inter prediction unit 81 outputs the generated prediction image data of the enhancement layer to the selector 71.
  • the up-sampling unit 85 parallelizes the base layer image buffered by the common memory 7 for each region that can correspond to a slice or a tile according to the resolution ratio between layers and the parameters decoded by the lossless decoding unit 62. Upsampling.
  • the image up-sampled by the up-sampling unit 85 may be one or both of the base layer decoded image and the prediction error image. Then, the upsampling unit 85 outputs the upsampled image whose spatial resolution is increased by the upsampling to the smoothing unit 90.
  • An example of a detailed configuration of the upsampling unit 85 will be further described later.
  • the smoothing unit 90 smoothes the upsampled image generated by the upsampling unit 85 at the boundary portion between the plurality of regions according to the parameters decoded by the lossless decoding unit 62. Then, the smoothing unit 90 stores the smoothed up-ampling image (or the up-sampling image generated by the up-sampling unit 85 when independent up-sampling is not performed for each region) in the frame memory 69. Store.
  • the base layer upsampled image stored in the frame memory 69 may be used as a reference image in the inter layer prediction by the intra prediction unit 80 or the inter prediction unit 81. An example of a detailed configuration of the smoothing unit 90 will be further described later.
  • the parameter decoded by the lossless decoding unit 62 includes a first flag indicating whether the base layer image is independently upsampled for each region.
  • the first flag is referred to by the upsampling unit 85 and the smoothing unit 90.
  • the parameter decoded by the lossless decoding unit 62 may include a second flag indicating whether or not to smooth the upsampled image.
  • the second flag is referred to by the smoothing unit 90. Examples of the syntax of these flags are shown in Tables 1 and 2.
  • the lossless decoding unit 62 determines whether the enhancement layer PPS or the extension of the PPS is used only when the first flag indicates independent upsampling for each region. Decode the 2 flag.
  • the lossless decoding unit 62 decodes the second flag from the SPS of the enhancement layer or the extension of the SPS, and sets the first flag from the extension of the PPS or the PPS. Decrypt.
  • FIG. 16 is a block diagram showing an example of the configuration of the upsampling unit 85 shown in FIG.
  • the upsampling unit 85 includes a filter control unit 86, a coefficient memory 87, and an upsampling filter 88.
  • the filter control unit 86 and the upsampling filter 88 are implemented using a plurality of processing resources that can operate in parallel.
  • parallel processing is performed mainly on four regions in an image will be described, but the present invention is not limited to this example, and parallel processing may be performed on any number of regions.
  • the filter control unit 86 acquires the decoded parameters related to upsampling. For example, the filter control unit 86 acquires a resolution ratio between the base layer image and the enhancement layer image. In addition, the filter control unit 86 acquires a flag indicating whether upsampling should be performed independently for each region. Then, the filter control unit 86 acquires a base layer image of each region from the common memory 7, constructs a filter tap for each interpolation pixel position, and outputs the constructed filter tap to the upsampling filter 88. When the decoded flag indicates that upsampling should be performed independently for each region, the filter control unit 86, as described with reference to FIG. Pixels that are provisionally generated by mirroring the pixels in the region without including the pixels are included in the filter tap.
  • the coefficient memory 87 is a memory for storing various filter coefficient candidates used by the upsampling filter 88.
  • the filter coefficient may be the same as or different from the interpolation filter described in Non-Patent Document 2.
  • the coefficient memory 87 stores a set of filter coefficients for each combination of the pixel position to be interpolated and the number of taps.
  • the set of filter coefficients stored by the coefficient memory 87 is read by the upsampling filter 88.
  • the filter coefficient may be dynamically calculated by the filter control unit 86.
  • the up-sampling filter 88 up-samples the base layer image referred to when decoding the enhancement layer image having a spatial resolution higher than that of the base layer according to the parameters decoded by the lossless decoding unit 62. More specifically, the upsampling filter 88 filters the filter tap constructed by the filter control unit 86 with the filter coefficient acquired from the coefficient memory 87 for each of the interpolated pixels that are sequentially scanned according to the resolution ratio. As a result, an interpolated pixel value is calculated. Thereby, the spatial resolution of the base layer image used as the reference image is increased to the same resolution as the enhancement layer.
  • Upsampling by the upsampling filter 88 is performed in parallel on the base layer images RG B1 , RG B2 , RG B3 and RG B4 of the four regions, for example, and the upsampling images RG U1 , RG U2 and RG U3 of the four regions. And RG U4 are generated.
  • the upsampling filter 88 outputs the upsampled reference image data, that is, the upsampled images RG U1 , RG U2 , RG U3, and RG U4 to the smoothing unit 90.
  • FIG. 17 is a block diagram illustrating an example of the configuration of the smoothing unit 90 illustrated in FIG.
  • the smoothing unit 90 includes a plurality of area memories 91a, 91b, 91c and 91d, a smoothing control unit 92, a line buffer 93, and a smoothing filter 94.
  • the smoothing control unit 92 and the smoothing filter 94 may be implemented using a plurality of processing resources that can operate in parallel, or may be implemented using a single processing resource.
  • the first region memory 91a temporarily stores the upsampled image RG U1 of the first region input from the upsampling unit 85.
  • the second area memory 91b temporarily stores the up-sampled image RG U2 of the second area input from the up-sampling unit 85.
  • the third area memory 91c temporarily stores the up-sampled image RG U3 of the third area input from the up-sampling unit 85.
  • the fourth area memory 91d temporarily stores the up-sampled image RG U4 of the fourth area input from the up-sampling unit 85.
  • the smoothing control unit 92 acquires a decoded parameter related to smoothing. For example, the smoothing control unit 92 acquires a first flag indicating whether independent upsampling has been executed for each region. The smoothing control unit 92 may further acquire a second flag indicating whether to smooth the upsampled image. And the smoothing control part 92 determines whether smoothing is performed in the boundary part between several area
  • the smoothing control unit 92 determines that the first flag is set for each region when the second flag indicates that the upsampled image is to be smoothed. Can be determined to perform smoothing for pictures that exhibit independent upsampling, and the first flag may be determined not to perform smoothing for pictures that do not exhibit independent upsampling for each region. If the smoothing control unit 92 determines not to smooth the upsampled image, the smoothing control unit 92 causes the frame memory 69 to output the upsampled image stored in each of the area memories 91a, 91b, 91c, and 91d as it is.
  • the smoothing filter 92 stores the pixel value located at the boundary portion of the upsampled image of each region in the line buffer 93. Let 94 perform smoothing.
  • the line buffer 93 buffers pixel values after upsampling at the boundary portion between a plurality of regions. Pixels buffered by the line buffer 93 are treated as filter taps for filtering in the smoothing filter 94.
  • the smoothing filter 94 calculates the pixel value after smoothing as described with reference to FIG. 10 from the pixel value buffered as the filter tap by the line buffer 93 for each pixel on the boundary between the regions. To do.
  • the smoothing of the place where the vertical boundary and the horizontal boundary intersect may be performed first in either the vertical direction or the horizontal direction. As a result of such smoothing, block distortion caused by upsampling is repaired.
  • the smoothing filter 94 updates the pixel values stored in the area memories 91a, 91b, 91c, and 91d with the pixel values after smoothing for each pixel on the boundary between the areas.
  • the smoothing control unit 92 outputs the upsampled images RG U1_sm , RG U2_sm , RG U3_sm, and RG U4_sm after smoothing to the frame memory 69 as reference image data.
  • the smoothing control unit 92 may variably control the strength of smoothing in the smoothing unit 90. For example, for the base layer image or the enhancement layer image, the smoothing control unit 92 sets the strength of the smoothing filter 94 when the loop filter 66 is not applied between regions as compared with the case where the loop filter 66 is applied between regions. May be set strongly. Thus, when block distortion is at least partially removed by the loop filter 66, consumption of processing resources is suppressed by adaptively reducing the strength of the smoothing filter or disabling the smoothing filter. be able to.
  • FIG. 18 is a flowchart illustrating an example of a schematic processing flow at the time of decoding according to an embodiment. Note that processing steps that are not directly related to the technology according to the present disclosure are omitted from the drawing for the sake of simplicity of explanation. The process shown in FIG. 18 is executed for each of the pictures constituting the video.
  • the demultiplexing unit 5 demultiplexes the multi-layer multiplexed stream into the base layer encoded stream and the enhancement layer encoded stream (step S60).
  • the BL decoding unit 6a performs base layer decoding processing in parallel for each region, and reconstructs a base layer image from the base layer encoded stream (step S61).
  • the EL decoding unit 6b up-samples the base layer image (one or both of the decoded image and the prediction error image) buffered by the common memory 7 in parallel for each region, and generates an up-sampled image ( Step S62).
  • the EL decoding unit 6b determines whether or not to smooth the upsampled image (step S63). If it is determined to smooth the upsampled image, the EL decoding unit 6b smoothes the boundary portion between the regions of the upsampled image. Apply the optimization filter (step S64).
  • the EL encoding unit 1b executes the enhancement layer encoding process in parallel for each region, and generates an enhancement layer encoded stream (step S65).
  • the enhancement layer encoding process executed here the base layer image that has been up-sampled and smoothed as necessary is used as a reference image in inter-layer prediction.
  • the process flow related to upsampling in the enhancement layer decoding process may be the same as the process flow during encoding as described with reference to FIG.
  • FIG. 19 is a flowchart illustrating an example of a flow of processing related to smoothing in the enhancement layer decoding processing. The process shown in FIG. 19 can be executed after an upsampled image is generated for a plurality of adjacent areas in each picture.
  • the smoothing control unit 92 acquires a decoded parameter related to smoothing from the lossless decoding unit 62 (step S80).
  • the smoothing control unit 92 determines whether or not to smooth the upsampled image at the boundary portion between the regions (step S81). For example, when independent upsampling is not performed for each region, or when a flag indicating that smoothing is set to off is decoded, the smoothing control unit 92 smooths the upsampled image. It can be determined that it will not turn. Otherwise, the process proceeds to step S82.
  • step S82 the smoothing control unit 92 stores, in the line buffer 43, the reference pixel of the target boundary among one or more boundaries between the regions (step S82).
  • step S83 the smoothing filter 94 calculates a smoothed pixel value for one or more pixels on the target boundary by filtering the reference pixels stored in the line buffer 43 (step S83). Thereafter, when an unprocessed boundary remains, the process returns to step S82, and the above-described process is repeated for the next target boundary (step S84). If no unprocessed boundary remains, the process of FIG. 19 ends, and the upsampled image after smoothing (or not subjected to smoothing) is output to the frame memory 69 as reference image data.
  • the image encoding device 10 and the image decoding device 60 are a transmitter or a receiver in satellite broadcasting, cable broadcasting such as cable TV, distribution on the Internet, and distribution to terminals by cellular communication,
  • the present invention can be applied to various electronic devices such as a recording device that records an image on a medium such as an optical disk, a magnetic disk, and a flash memory, or a playback device that reproduces an image from these storage media.
  • a recording device that records an image on a medium such as an optical disk, a magnetic disk, and a flash memory
  • a playback device that reproduces an image from these storage media.
  • FIG. 20 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.
  • Tuner 902 extracts a signal of a desired channel from a broadcast signal received via antenna 901, and demodulates the extracted signal. Then, the tuner 902 outputs the encoded bit stream obtained by the demodulation to the demultiplexer 903. In other words, the tuner 902 serves as a transmission unit in the television apparatus 900 that receives an encoded stream in which an image is encoded.
  • the demultiplexer 903 separates the video stream and audio stream of the viewing target program from the encoded bit stream, and outputs each separated stream to the decoder 904. In addition, the demultiplexer 903 extracts auxiliary data such as EPG (Electronic Program Guide) from the encoded bit stream, and supplies the extracted data to the control unit 910. Note that the demultiplexer 903 may perform descrambling when the encoded bit stream is scrambled.
  • EPG Electronic Program Guide
  • the decoder 904 decodes the video stream and audio stream input from the demultiplexer 903. Then, the decoder 904 outputs the video data generated by the decoding process to the video signal processing unit 905. In addition, the decoder 904 outputs audio data generated by the decoding process to the audio signal processing unit 907.
  • the video signal processing unit 905 reproduces the video data input from the decoder 904 and causes the display unit 906 to display the video.
  • the video signal processing unit 905 may cause the display unit 906 to display an application screen supplied via a network.
  • the video signal processing unit 905 may perform additional processing such as noise removal on the video data according to the setting.
  • the video signal processing unit 905 may generate a GUI (Graphical User Interface) image such as a menu, a button, or a cursor, and superimpose the generated image on the output image.
  • GUI Graphic User Interface
  • the display unit 906 is driven by a drive signal supplied from the video signal processing unit 905, and displays a video or an image on a video screen of a display device (for example, a liquid crystal display, a plasma display, or an OLED).
  • a display device for example, a liquid crystal display, a plasma display, or an OLED.
  • the audio signal processing unit 907 performs reproduction processing such as D / A conversion and amplification on the audio data input from the decoder 904, and outputs audio from the speaker 908.
  • the audio signal processing unit 907 may perform additional processing such as noise removal on the audio data.
  • the external interface 909 is an interface for connecting the television apparatus 900 to an external device or a network.
  • a video stream or an audio stream received via the external interface 909 may be decoded by the decoder 904. That is, the external interface 909 also has a role as a transmission unit in the television apparatus 900 that receives an encoded stream in which an image is encoded.
  • the control unit 910 has a processor such as a CPU (Central Processing Unit) and a memory such as a RAM (Random Access Memory) and a ROM (Read Only Memory).
  • the memory stores a program executed by the CPU, program data, EPG data, data acquired via a network, and the like.
  • the program stored in the memory is read and executed by the CPU when the television device 900 is activated, for example.
  • the CPU controls the operation of the television device 900 according to an operation signal input from the user interface 911, for example, by executing the program.
  • the user interface 911 is connected to the control unit 910.
  • the user interface 911 includes, for example, buttons and switches for the user to operate the television device 900, a remote control signal receiving unit, and the like.
  • the user interface 911 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 910.
  • the bus 912 connects the tuner 902, the demultiplexer 903, the decoder 904, the video signal processing unit 905, the audio signal processing unit 907, the external interface 909, and the control unit 910 to each other.
  • the decoder 904 has the function of the image decoding apparatus 60 according to the above-described embodiment. Therefore, when the television apparatus 900 decodes images of layers having different spatial resolutions, it is possible to compensate for the deterioration of the image quality while maintaining parallel processing.
  • FIG. 21 illustrates 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 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 expands the audio data and performs D / A conversion to generate an analog audio signal. Then, the audio codec 923 supplies the generated audio signal to the speaker 924 to output audio.
  • the control unit 931 generates character data constituting the e-mail in response to an operation by the user via the operation unit 932.
  • the control unit 931 causes the display unit 930 to display characters.
  • the control unit 931 generates e-mail data in response to a transmission instruction from the user via the operation unit 932, and outputs the generated e-mail data to the communication unit 922.
  • the communication unit 922 encodes and modulates email data and generates a transmission signal. Then, the communication unit 922 transmits the generated transmission signal to a base station (not shown) via the antenna 921.
  • the communication unit 922 amplifies a radio signal received via the antenna 921 and performs frequency conversion to acquire a received signal.
  • the communication unit 922 demodulates and decodes the received signal to restore the email data, and outputs the restored email data to the control unit 931.
  • the control unit 931 displays the content of the electronic mail on the display unit 930 and stores the electronic mail data in the storage medium of the recording / reproducing unit 929.
  • the recording / reproducing unit 929 has an arbitrary readable / writable storage medium.
  • the storage medium may be a built-in storage medium such as a RAM or a flash memory, or an externally mounted storage medium such as a hard disk, a magnetic disk, a magneto-optical disk, an optical disk, a USB memory, or a memory card. May be.
  • the camera unit 926 images a subject to generate image data, and outputs the generated image data to the image processing unit 927.
  • the image processing unit 927 encodes the image data input from the camera unit 926 and stores the encoded stream in the storage medium of the recording / playback unit 929.
  • the demultiplexing unit 928 multiplexes the video stream encoded by the image processing unit 927 and the audio stream input from the audio codec 923, and the multiplexed stream is the communication unit 922. Output to.
  • the communication unit 922 encodes and modulates the stream and generates a transmission signal. Then, the communication unit 922 transmits the generated transmission signal to a base station (not shown) via the antenna 921.
  • the communication unit 922 amplifies a radio signal received via the antenna 921 and performs frequency conversion to acquire a received signal.
  • These transmission signal and reception signal may include an encoded bit stream.
  • the communication unit 922 demodulates and decodes the received signal to restore the stream, and outputs the restored stream to the demultiplexing unit 928.
  • the demultiplexing unit 928 separates the video stream and the audio stream from the input stream, and outputs the video stream to the image processing unit 927 and the audio stream to the audio codec 923.
  • the image processing unit 927 decodes the video stream and generates video data.
  • the video data is supplied to the display unit 930, and a series of images is displayed on the display unit 930.
  • the audio codec 923 decompresses the audio stream and performs D / A conversion to generate an analog audio signal. Then, the audio codec 923 supplies the generated audio signal to the speaker 924 to output audio.
  • the image processing unit 927 has the functions of the image encoding device 10 and the image decoding device 60 according to the above-described embodiment. Accordingly, when the mobile phone 920 encodes or decodes images of layers having different spatial resolutions, it is possible to compensate for deterioration in image quality while maintaining parallel processing.
  • FIG. 22 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 has a role as a transmission unit in the recording / reproducing apparatus 940.
  • the external interface 942 is an interface for connecting the recording / reproducing apparatus 940 to an external device or a network.
  • the external interface 942 may be, for example, an IEEE 1394 interface, a network interface, a USB interface, or a flash memory interface.
  • video data and audio data received via the external interface 942 are input to the encoder 943. That is, the external interface 942 serves as a transmission unit in the recording / reproducing device 940.
  • the encoder 943 encodes video data and audio data when the video data and audio data input from the external interface 942 are not encoded. Then, the encoder 943 outputs the encoded bit stream to the selector 946.
  • the HDD 944 records an encoded bit stream in which content data such as video and audio is compressed, various programs, and other data on an internal hard disk. Also, the HDD 944 reads out these data from the hard disk when playing back video and audio.
  • the disk drive 945 performs recording and reading of data to and from the mounted recording medium.
  • the recording medium loaded in the disk drive 945 may be, for example, a DVD disk (DVD-Video, DVD-RAM, DVD-R, DVD-RW, DVD + R, DVD + RW, etc.) or a Blu-ray (registered trademark) disk. .
  • the selector 946 selects an encoded bit stream input from the tuner 941 or the encoder 943 when recording video and audio, and outputs the selected encoded bit stream to the HDD 944 or the disk drive 945. In addition, the selector 946 outputs the encoded bit stream input from the HDD 944 or the disk drive 945 to the decoder 947 during video and audio reproduction.
  • the decoder 947 decodes the encoded bit stream and generates video data and audio data. Then, the decoder 947 outputs the generated video data to the OSD 948. The decoder 904 outputs the generated audio data to an external speaker.
  • the OSD 948 reproduces the video data input from the decoder 947 and displays the video. Further, the OSD 948 may superimpose a GUI image such as a menu, a button, or a cursor on the video to be displayed.
  • a GUI image such as a menu, a button, or a cursor
  • the control unit 949 includes a processor such as a CPU and memories such as a RAM and a ROM.
  • the memory stores a program executed by the CPU, program data, and the like.
  • the program stored in the memory is read and executed by the CPU when the recording / reproducing apparatus 940 is activated, for example.
  • the CPU controls the operation of the recording / reproducing device 940 according to an operation signal input from the user interface 950, for example, by executing the program.
  • the user interface 950 is connected to the control unit 949.
  • the user interface 950 includes, for example, buttons and switches for the user to operate the recording / reproducing device 940, a remote control signal receiving unit, and the like.
  • the user interface 950 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 949.
  • the encoder 943 has the function of the image encoding apparatus 10 according to the above-described embodiment.
  • the decoder 947 has the function of the image decoding device 60 according to the above-described embodiment.
  • FIG. 23 illustrates an example of a schematic configuration of an imaging apparatus to which the above-described embodiment is applied.
  • the imaging device 960 images a subject to generate an image, encodes the image data, and records it on a recording medium.
  • the imaging device 960 includes an optical block 961, an imaging unit 962, a signal processing unit 963, an image processing unit 964, a display unit 965, an external interface 966, a memory 967, a media drive 968, an OSD 969, a control unit 970, a user interface 971, and a bus. 972.
  • the optical block 961 is connected to the imaging unit 962.
  • the imaging unit 962 is connected to the signal processing unit 963.
  • the display unit 965 is connected to the image processing unit 964.
  • the user interface 971 is connected to the control unit 970.
  • the bus 972 connects the image processing unit 964, the external interface 966, the memory 967, the media drive 968, the OSD 969, and the control unit 970 to each other.
  • the optical block 961 includes a focus lens and a diaphragm mechanism.
  • the optical block 961 forms an optical image of the subject on the imaging surface of the imaging unit 962.
  • the imaging unit 962 includes an image sensor such as a CCD or a CMOS, and converts an optical image formed on the imaging surface into an image signal as an electrical signal by photoelectric conversion. Then, the imaging unit 962 outputs the image signal to the signal processing unit 963.
  • the signal processing unit 963 performs various camera signal processing such as knee correction, gamma correction, and color correction on the image signal input from the imaging unit 962.
  • the signal processing unit 963 outputs the image data after the camera signal processing to the image processing unit 964.
  • the image processing unit 964 encodes the image data input from the signal processing unit 963 and generates encoded data. Then, the image processing unit 964 outputs the generated encoded data to the external interface 966 or the media drive 968. The image processing unit 964 also decodes encoded data input from the external interface 966 or the media drive 968 to generate image data. Then, the image processing unit 964 outputs the generated image data to the display unit 965. In addition, the image processing unit 964 may display the image by outputting the image data input from the signal processing unit 963 to the display unit 965. Further, the image processing unit 964 may superimpose display data acquired from the OSD 969 on an image output to the display unit 965.
  • the OSD 969 generates a GUI image such as a menu, a button, or a cursor, for example, and outputs the generated image to the image processing unit 964.
  • the external interface 966 is configured as a USB input / output terminal, for example.
  • the external interface 966 connects the imaging device 960 and a printer, for example, when printing an image.
  • a drive is connected to the external interface 966 as necessary.
  • a removable medium such as a magnetic disk or an optical disk is attached to the drive, and a program read from the removable medium can be installed in the imaging device 960.
  • the external interface 966 may be configured as a network interface connected to a network such as a LAN or the Internet. That is, the external interface 966 has a role as a transmission unit in the imaging device 960.
  • the recording medium mounted on the media drive 968 may be any readable / writable removable medium such as a magnetic disk, a magneto-optical disk, an optical disk, or a semiconductor memory. Further, a recording medium may be fixedly attached to the media drive 968, and a non-portable storage unit such as an internal hard disk drive or an SSD (Solid State Drive) may be configured.
  • a non-portable storage unit such as an internal hard disk drive or an SSD (Solid State Drive) may be configured.
  • the control unit 970 includes a processor such as a CPU and memories such as a RAM and a ROM.
  • the memory stores a program executed by the CPU, program data, and the like.
  • the program stored in the memory is read and executed by the CPU when the imaging device 960 is activated, for example.
  • the CPU controls the operation of the imaging device 960 according to an operation signal input from the user interface 971, for example, by executing the program.
  • the user interface 971 is connected to the control unit 970.
  • the user interface 971 includes, for example, buttons and switches for the user to operate the imaging device 960.
  • the user interface 971 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 970.
  • the image processing unit 964 has the functions of the image encoding device 10 and the image decoding device 60 according to the above-described embodiment. Thereby, when the imaging device 960 encodes or decodes images of layers having different spatial resolutions, it is possible to compensate for deterioration in image quality while maintaining parallel processing.
  • the data transmission system 1000 includes a stream storage device 1001 and a distribution server 1002.
  • Distribution server 1002 is connected to several terminal devices via network 1003.
  • Network 1003 may be a wired network, a wireless network, or a combination thereof.
  • FIG. 24 shows a PC (Personal Computer) 1004, an AV device 1005, a tablet device 1006, and a mobile phone 1007 as examples of terminal devices.
  • PC Personal Computer
  • the stream storage device 1001 stores, for example, stream data 1011 including a multiplexed stream generated by the image encoding device 10.
  • the multiplexed stream includes a base layer (BL) encoded stream and an enhancement layer (EL) encoded stream.
  • the distribution server 1002 reads the stream data 1011 stored in the stream storage device 1001, and at least a part of the read stream data 1011 is transmitted via the network 1003 to the PC 1004, the AV device 1005, the tablet device 1006, and the mobile phone 1007. Delivered to.
  • the distribution server 1002 selects a stream to be distributed based on some condition such as the capability of the terminal device or the communication environment. For example, the distribution server 1002 may avoid the occurrence of delay, overflow, or processor overload in the terminal device by not distributing an encoded stream having a high image quality that exceeds the image quality that can be handled by the terminal device. . The distribution server 1002 may avoid occupying the communication band of the network 1003 by not distributing an encoded stream having high image quality. On the other hand, the distribution server 1002 distributes all of the multiplexed streams to the terminal device when there is no risk to be avoided or when it is determined to be appropriate based on a contract with the user or some condition. Good.
  • the distribution server 1002 reads the stream data 1011 from the stream storage device 1001. Then, the distribution server 1002 distributes the stream data 1011 as it is to the PC 1004 having high processing capability. Also, since the AV device 1005 has low processing capability, the distribution server 1002 generates stream data 1012 including only the base layer encoded stream extracted from the stream data 1011, and distributes the stream data 1012 to the AV device 1005. To do. Also, the distribution server 1002 distributes the stream data 1011 as it is to the tablet device 1006 that can communicate at a high communication rate. Further, since the cellular phone 1007 can communicate only at a low communication rate, the distribution server 1002 distributes the stream data 1012 including only the base layer encoded stream to the cellular phone 1007.
  • the multiplexed stream By using the multiplexed stream in this way, the amount of traffic to be transmitted can be adjusted adaptively.
  • the code amount of the stream data 1011 is reduced as compared with the case where each layer is individually encoded, even if the entire stream data 1011 is distributed, the load on the network 1003 is suppressed. Is done. Furthermore, memory resources of the stream storage device 1001 are also saved.
  • the hardware performance of terminal devices varies from device to device.
  • the communication capacity of the network 1003 also varies.
  • the capacity available for data transmission can change from moment to moment due to the presence of other traffic. Therefore, the distribution server 1002 transmits terminal information regarding the hardware performance and application capability of the terminal device, the communication capacity of the network 1003, and the like through signaling with the distribution destination terminal device before starting the distribution of the stream data. And network information may be acquired. Then, the distribution server 1002 can select a stream to be distributed based on the acquired information.
  • extraction of a layer to be decoded may be performed in the terminal device.
  • the PC 1004 may display a base layer image extracted from the received multiplexed stream and decoded on the screen. Further, the PC 1004 may extract a base layer encoded stream from the received multiplexed stream to generate stream data 1012, store the generated stream data 1012 in a storage medium, or transfer the stream data 1012 to another device. .
  • the configuration of the data transmission system 1000 shown in FIG. 24 is merely an example.
  • the data transmission system 1000 may include any number of stream storage devices 1001, a distribution server 1002, a network 1003, and terminal devices.
  • the data transmission system 1100 includes a broadcast station 1101 and a terminal device 1102.
  • the broadcast station 1101 broadcasts a base layer encoded stream 1121 on the terrestrial channel 1111.
  • the broadcast station 1101 transmits an enhancement layer encoded stream 1122 to the terminal device 1102 via the network 1112.
  • the terminal device 1102 has a reception function for receiving a terrestrial broadcast broadcast by the broadcast station 1101, and receives a base layer encoded stream 1121 via the terrestrial channel 1111. Also, the terminal device 1102 has a communication function for communicating with the broadcast station 1101 and receives the enhancement layer encoded stream 1122 via the network 1112.
  • the terminal device 1102 receives the base layer encoded stream 1121 in accordance with an instruction from the user, decodes the base layer image from the received encoded stream 1121, and displays the base layer image on the screen. Good. Further, the terminal device 1102 may store the decoded base layer image in a storage medium or transfer it to another device.
  • the terminal device 1102 receives, for example, an enhancement layer encoded stream 1122 via the network 1112 in accordance with an instruction from the user, and generates a base layer encoded stream 1121 and an enhancement layer encoded stream 1122. Multiplexed streams may be generated by multiplexing. Also, the terminal apparatus 1102 may decode the enhancement layer image from the enhancement layer encoded stream 1122 and display the enhancement layer image on the screen. In addition, the terminal device 1102 may store the decoded enhancement layer image in a storage medium or transfer it to another device.
  • the encoded stream of each layer included in the multiplexed stream can be transmitted via a different communication channel for each layer. Accordingly, it is possible to distribute the load applied to each channel and suppress the occurrence of communication delay or overflow.
  • the communication channel used for transmission may be dynamically selected according to some condition. For example, a base layer encoded stream 1121 having a relatively large amount of data is transmitted via a communication channel having a wide bandwidth, and an enhancement layer encoded stream 1122 having a relatively small amount of data is transmitted via a communication channel having a small bandwidth. Can be transmitted. Also, the communication channel for transmitting the encoded stream 1122 of a specific layer may be switched according to the bandwidth of the communication channel. Thereby, the load applied to each channel can be more effectively suppressed.
  • the configuration of the data transmission system 1100 shown in FIG. 25 is merely an example.
  • the data transmission system 1100 may include any number of communication channels and terminal devices.
  • the system configuration described here may be used for purposes other than broadcasting.
  • the data transmission system 1200 includes an imaging device 1201 and a stream storage device 1202.
  • the imaging device 1201 performs scalable coding on image data generated by imaging the subject 1211 and generates a multiplexed stream 1221.
  • the multiplexed stream 1221 includes a base layer encoded stream and an enhancement layer encoded stream. Then, the imaging device 1201 supplies the multiplexed stream 1221 to the stream storage device 1202.
  • the stream storage device 1202 stores the multiplexed stream 1221 supplied from the imaging device 1201 with different image quality for each mode. For example, in the normal mode, the stream storage device 1202 extracts the base layer encoded stream 1222 from the multiplexed stream 1221 and stores the extracted base layer encoded stream 1222. On the other hand, the stream storage device 1202 stores the multiplexed stream 1221 as it is in the high image quality mode. Thereby, the stream storage device 1202 can record a high-quality stream with a large amount of data only when video recording with high quality is desired. Therefore, it is possible to save memory resources while suppressing the influence of image quality degradation on the user.
  • the imaging device 1201 is assumed to be a surveillance camera.
  • the monitoring target for example, an intruder
  • the normal mode is selected.
  • the video is recorded with low image quality (that is, only the base layer coded stream 1222 is stored).
  • the monitoring target for example, the subject 1211 as an intruder
  • the high image quality mode is selected. In this case, since the captured image is likely to be important, priority is given to the high image quality, and the video is recorded with high image quality (that is, the multiplexed stream 1221 is stored).
  • the mode is selected by the stream storage device 1202 based on the image analysis result, for example.
  • the imaging device 1201 may select a mode. In the latter case, the imaging device 1201 may supply the base layer encoded stream 1222 to the stream storage device 1202 in the normal mode and supply the multiplexed stream 1221 to the stream storage device 1202 in the high image quality mode.
  • the selection criteria for selecting the mode may be any standard.
  • the mode may be switched according to the volume of sound acquired through a microphone or the waveform of sound. Further, the mode may be switched periodically. In addition, the mode may be switched according to an instruction from the user.
  • the number of selectable modes may be any number as long as the number of layers to be layered does not exceed.
  • the configuration of the data transmission system 1200 shown in FIG. 26 is merely an example.
  • the data transmission system 1200 may include any number of imaging devices 1201. Further, the system configuration described here may be used in applications other than the surveillance camera.
  • FIG. 27 is an explanatory diagram for describing the multi-view codec.
  • a sequence of frames of three views captured at three viewpoints is shown. Each view is given a view ID (view_id). Any one of the plurality of views is designated as a base view. Views other than the base view are called non-base views.
  • a view with a view ID “0” is a base view, and two views with a view ID “1” or “2” are non-base views.
  • each view may correspond to a layer.
  • the non-base view image is encoded and decoded with reference to the base view image (other non-base view images may also be referred to).
  • FIG. 28 is a block diagram illustrating a schematic configuration of an image encoding device 10v that supports a multi-view codec.
  • the image encoding device 10v includes a first layer encoding unit 1c, a second layer encoding unit 1d, a common memory 2, and a multiplexing unit 3.
  • the function of the first layer encoding unit 1c is equivalent to the function of the BL encoding unit 1a described with reference to FIG. 5 except that a base view image is received instead of the base layer image as an input.
  • the first layer encoding unit 1c encodes the base view image and generates an encoded stream of the first layer.
  • the function of the second layer encoding unit 1d is the same as the function of the EL encoding unit 1b described with reference to FIG. 5 except that a non-base view image is received instead of the enhancement layer image as an input.
  • the second layer encoding unit 1d encodes the non-base view image and generates a second layer encoded stream.
  • the common memory 2 stores information commonly used between layers.
  • the multiplexing unit 3 multiplexes the encoded stream of the first layer generated by the first layer encoding unit 1c and the encoded stream of the second layer generated by the second layer encoding unit 1d. A multiplexed stream of layers is generated.
  • FIG. 29 is a block diagram showing a schematic configuration of an image decoding device 60v that supports a multi-view codec.
  • the image decoding device 60v includes a demultiplexing unit 5, a first layer decoding unit 6c, a second layer decoding unit 6d, and a common memory 7.
  • the demultiplexer 5 demultiplexes the multi-layer multiplexed stream into the first layer encoded stream and the second layer encoded stream.
  • the function of the first layer decoding unit 6c is equivalent to the function of the BL decoding unit 6a described with reference to FIG. 6 except that it receives an encoded stream obtained by encoding a base view image instead of a base layer image as an input. It is.
  • the first layer decoding unit 6c decodes the base view image from the encoded stream of the first layer.
  • the function of the second layer decoding unit 6d is the same as the function of the EL decoding unit 6b described with reference to FIG. 6 except that it receives an encoded stream in which a non-base view image is encoded instead of an enhancement layer image as an input. It is equivalent.
  • the second layer decoding unit 6d decodes the non-base view image from the second layer encoded stream.
  • the common memory 7 stores information commonly used between layers.
  • the technology according to the present disclosure may be applied to a streaming protocol.
  • a streaming protocol For example, in MPEG-DASH (Dynamic Adaptive Streaming over HTTP), a plurality of encoded streams having different parameters such as resolution are prepared in advance in a streaming server. Then, the streaming server dynamically selects appropriate data to be streamed from a plurality of encoded streams in units of segments, and distributes the selected data.
  • upsampling and smoothing may be controlled according to the technique according to the present disclosure.
  • the technology according to the present disclosure includes various implementation levels such as, for example, a processor such as a system LSI (Large Scale Integration), a module using a plurality of processors, a unit using a plurality of modules, and a set in which other functions are further added to the unit. May be implemented.
  • a processor such as a system LSI (Large Scale Integration)
  • a module using a plurality of processors a module using a plurality of processors
  • a unit using a plurality of modules and a set in which other functions are further added to the unit. May be implemented.
  • FIG. 30 is a block diagram illustrating an example of a schematic configuration of a video set.
  • the operator provides a component having a single function or a plurality of functions related to each other, or provides a set having an integrated function group.
  • the video set 1300 shown in FIG. 30 is a set that integrally includes components for encoding and / or decoding images (which may be either) and components having other functions related to these functions. is there.
  • a video set 1300 includes a module group including a video module 1311, an external memory 1312, a power management module 1313, and a front end module 1314, and a related function including a connectivity module 1321, a camera 1322, and a sensor 1323.
  • a device group including a video module 1311, an external memory 1312, a power management module 1313, and a front end module 1314, and a related function including a connectivity module 1321, a camera 1322, and a sensor 1323.
  • a module is a component formed by aggregating parts for several functions related to each other.
  • the module may have any physical configuration.
  • the module may be formed by integrally arranging a plurality of processors having the same or different functions, electronic circuit elements such as resistors and capacitors, and other devices on a circuit board.
  • Another module may be formed by combining another module or a processor with the module.
  • the video module 1311 includes an application processor 13331, a video processor 1332, a broadband modem 1333, and a baseband module 1334.
  • the processor may be, for example, an SOC (System On a Chip) or a system LSI (Large Scale Integration).
  • the SoC or the system LSI may include hardware that implements predetermined logic.
  • the SoC or the system LSI may include a CPU and a non-transitory tangible medium that stores a program for causing the CPU to execute a predetermined function.
  • the program is stored in, for example, a ROM, and can be executed by the CPU after being read into a RAM (Random Access Memory) at the time of execution.
  • Application processor 1331 is a processor that executes an application related to image processing.
  • An application executed in the application processor 1331 may control, for example, the video processor 1332 and other components in addition to some calculation for image processing.
  • the video processor 1332 is a processor having functions relating to image encoding and decoding. Note that the application processor 1331 and the video processor 1332 may be integrated into one processor (see a dotted line 1341 in the figure).
  • the broadband modem 1333 is a module that performs processing related to communication via a network such as the Internet or a public switched telephone network.
  • the broadband modem 1333 performs digital modulation for converting a digital signal including transmission data into an analog signal, and digital demodulation for converting an analog signal including reception data into a digital signal.
  • Transmission data and reception data processed by the broadband modem 1333 may include arbitrary information such as image data, an encoded stream of image data, application data, an application program, and setting data, for example.
  • the baseband module 1334 is a module that performs baseband processing for an RF (Radio Frequency) signal transmitted / received via the front end module 1314. For example, the baseband module 1334 modulates a transmission baseband signal including transmission data, converts the frequency into an RF signal, and outputs the RF signal to the front end module 1314. In addition, the baseband module 1334 frequency-converts and demodulates the RF signal input from the front end module 1314 to generate a reception baseband signal including reception data.
  • RF Radio Frequency
  • the external memory 1312 is a memory device provided outside the video module 1311 and accessible from the video module 1311.
  • the external memory 1312 includes a relatively inexpensive and large-capacity semiconductor memory such as a DRAM (Dynamic Random Access Memory). obtain.
  • DRAM Dynamic Random Access Memory
  • the power management module 1313 is a module that controls power supply to the video module 1311 and the front end module 1314.
  • the front end module 1314 is a module that is connected to the baseband module 1334 and provides a front end function.
  • the front end module 1314 includes an antenna unit 1351, a filter 1352, and an amplification unit 1353.
  • the antenna unit 1351 includes one or more antenna elements that transmit or receive radio signals and related components such as an antenna switch.
  • the antenna unit 1351 transmits the RF signal amplified by the amplification unit 1353 as a radio signal. Further, the antenna unit 1351 outputs an RF signal received as a radio signal to the filter 1352 and causes the filter 1352 to filter the RF signal.
  • the connectivity module 1321 is a module having a function related to the external connection of the video set 1300.
  • the connectivity module 1321 may support any external connection protocol.
  • the connectivity module 1321 is a sub-module that supports a wireless connection protocol such as Bluetooth (registered trademark), IEEE 802.11 (for example, Wi-Fi (registered trademark)), NFC (Near Field Communication), or IrDA (InfraRed Data Association). And a corresponding antenna.
  • the connectivity module 1321 may include a submodule that supports a wired connection protocol such as USB (Universal Serial Bus) or HDMI (High-Definition Multimedia Interface) and a corresponding connection terminal.
  • USB Universal Serial Bus
  • HDMI High-Definition Multimedia Interface
  • the connectivity module 1321 writes and stores data to a storage medium such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory, or a storage device such as an SSD (Solid State Drive) or NAS (Network Attached Storage). A drive for reading data from the medium may be included.
  • the connectivity module 1321 may include these storage media or storage devices.
  • the connectivity module 1321 may provide connectivity to a display that outputs an image or a speaker that outputs sound.
  • the camera 1322 is a module that acquires a captured image by imaging a subject. A series of captured images acquired by the camera 1322 constitutes video data. Video data generated by the camera 1322 may be encoded by the video processor 1332 as necessary and stored by the external memory 1312 or a storage medium connected to the connectivity module 1321, for example.
  • the sensor 1323 is, for example, a GPS sensor, an audio sensor, an ultrasonic sensor, an optical sensor, an illuminance sensor, an infrared sensor, an angular velocity sensor, an angular acceleration sensor, a velocity sensor, an acceleration sensor, a gyro sensor, a geomagnetic sensor, an impact sensor, or a temperature sensor.
  • a module that may include one or more of them.
  • the sensor data generated by the sensor 1323 can be used by the application processor 1331 to execute an application, for example.
  • the technology according to the present disclosure can be used in the video processor 1332, for example.
  • the video set 1300 is a set to which the technology according to the present disclosure is applied.
  • the video set 1300 may be realized as various types of devices that process image data.
  • the video set 1300 may correspond to the television device 900, the mobile phone 920, the recording / reproducing device 940, or the imaging device 960 described with reference to FIGS.
  • the video set 1300 is a terminal device such as the PC 1004, the AV device 1005, the tablet device 1006, or the mobile phone 1007 in the data transmission system 1000 described with reference to FIG. 24, and the broadcast in the data transmission system 1100 described with reference to FIG. It may correspond to the station 1101 or the terminal device 1102 or the imaging device 1201 or the stream storage device 1202 in the data transmission system 1200 described with reference to FIG.
  • FIG. 31 is a block diagram illustrating an example of a schematic configuration of the video processor 1332.
  • the video processor 1332 encodes an input video signal and an input audio signal to generate video data and audio data, and decodes the encoded video data and audio data to generate an output video signal and an output audio signal. And a function to perform.
  • the video processor 1332 includes a video input processing unit 1401, a first scaling unit 1402, a second scaling unit 1403, a video output processing unit 1404, a frame memory 1405, a memory control unit 1406, an encoding / decoding engine 1407, Video ES (Elementary Stream) buffers 1408A and 1408B, audio ES buffers 1409A and 1409B, an audio encoder 1410, an audio decoder 1411, a multiplexer (MUX) 1412, a demultiplexer (DEMUX) 1413, and a stream buffer 1414 .
  • MUX multiplexer
  • DEMUX demultiplexer
  • the video input processing unit 1401 converts, for example, a video signal input from the connectivity module 1321 into digital image data.
  • the first scaling unit 1402 performs format conversion and scaling (enlargement / reduction) on the image data input from the video input processing unit 1401.
  • the second scaling unit 1403 performs format conversion and scaling (enlargement / reduction) on the image data output to the video output processing unit 1404.
  • the format conversion in the first scaling unit 1402 and the second scaling unit 1403 is, for example, conversion between 4: 2: 2 / Y-Cb-Cr system and 4: 2: 0 / Y-Cb-Cr system. It may be.
  • the video output processing unit 1404 converts the digital image data into an output video signal and outputs the output video signal to, for example, the connectivity module 1321.
  • the frame memory 1405 is a memory device that stores image data shared by the video input processing unit 1401, the first scaling unit 1402, the second scaling unit 1403, the video output processing unit 1404, and the encoding / decoding engine 1407.
  • the frame memory 1405 may be realized using a semiconductor memory such as a DRAM, for example.
  • the memory control unit 1406 controls access to the frame memory 1405 according to the access schedule for the frame memory 1405 stored in the access management table 1406A based on the synchronization signal input from the encode / decode engine 1407.
  • the access management table 1406A is updated by the memory control unit 1406 depending on processing executed in the encoding / decoding engine 1407, the first scaling unit 1402, the second scaling unit 1403, and the like.
  • the encoding / decoding engine 1407 performs an encoding process for encoding image data to generate an encoded video stream, and a decoding process for decoding image data from the encoded video stream. For example, the encoding / decoding engine 1407 encodes the image data read from the frame memory 1405 and sequentially writes the encoded video stream to the video ES buffer 1408A. Also, for example, the encoded video stream is sequentially read from the video ES buffer 1408B, and the decoded image data is written in the frame memory 1405.
  • the encoding / decoding engine 1407 can use the frame memory 1405 as a work area in these processes. For example, the encoding / decoding engine 1407 outputs a synchronization signal to the memory control unit 1406 at the timing of starting processing of each LCU (Largest Coding Unit).
  • the video ES buffer 1408A buffers the encoded video stream generated by the encoding / decoding engine 1407.
  • the encoded video stream buffered by the video ES buffer 1408A is output to the multiplexing unit 1412.
  • the video ES buffer 1408B buffers the encoded video stream input from the demultiplexer 1413.
  • the encoded video stream buffered by the video ES buffer 1408B is output to the encoding / decoding engine 1407.
  • the audio ES buffer 1409A buffers the encoded audio stream generated by the audio encoder 1410.
  • the encoded audio stream buffered by the audio ES buffer 1409A is output to the multiplexing unit 1412.
  • the audio ES buffer 1409B buffers the encoded audio stream input from the demultiplexer 1413.
  • the encoded audio stream buffered by the audio ES buffer 1409B is output to the audio decoder 1411.
  • the audio encoder 1410 digitally converts the input audio signal input from the connectivity module 1321, for example, and encodes the input audio signal according to an audio encoding method such as an MPEG audio method or an AC3 (Audio Code number 3) method.
  • the audio encoder 1410 sequentially writes the encoded audio stream to the audio ES buffer 1409A.
  • the audio decoder 1411 decodes audio data from the encoded audio stream input from the audio ES buffer 1409B and converts it into an analog signal.
  • the audio decoder 1411 outputs an audio signal to the connectivity module 1321, for example, as a reproduced analog audio signal.
  • the multiplexing unit 1412 multiplexes the encoded video stream and the encoded audio stream to generate a multiplexed bit stream.
  • the format of the multiplexed bit stream may be any format.
  • the multiplexing unit 1412 may add predetermined header information to the bit stream. Further, the multiplexing unit 1412 may convert the stream format. For example, the multiplexing unit 1412 can generate a transport stream (a bit stream in a transfer format) in which an encoded video stream and an encoded audio stream are multiplexed. Further, the multiplexing unit 1412 can generate file data (recording format data) in which the encoded video stream and the encoded audio stream are multiplexed.
  • the demultiplexing unit 1413 demultiplexes the encoded video stream and the encoded audio stream from the multiplexed bit stream by a method reverse to the multiplexing performed by the multiplexing unit 1412. That is, the demultiplexer 1413 extracts (or separates) the video stream and the audio stream from the bit stream read from the stream buffer 1414.
  • the demultiplexer 1413 may convert the stream format (inverse conversion). For example, the demultiplexing unit 1413 may acquire a transport stream that can be input from the connectivity module 1321 or the broadband modem 1333 via the stream buffer 1414, and convert the transport stream into a video stream and an audio stream. . Further, the demultiplexing unit 1413 may acquire file data read from the storage medium by the connectivity module 1321 via the stream buffer 1414 and convert the file data into a video stream and an audio stream.
  • Stream buffer 1414 buffers the bit stream.
  • the stream buffer 1414 buffers the transport stream input from the multiplexing unit 1412 and outputs the transport stream to, for example, the connectivity module 1321 or the broadband modem 1333 at a predetermined timing or in response to an external request.
  • the stream buffer 1414 buffers the file data input from the multiplexing unit 1412 and records the file data to the connectivity module 1321, for example, at a predetermined timing or in response to an external request. Output to.
  • the stream buffer 1414 buffers a transport stream acquired through, for example, the connectivity module 1321 or the broadband modem 1333, and demultiplexes the transport stream at a predetermined timing or in response to an external request.
  • the stream buffer 1414 buffers file data read from the storage medium by the connectivity module 1321, for example, and outputs the file data to the demultiplexing unit 1413 at a predetermined timing or in response to an external request. To do.
  • the technology according to the present disclosure can be used in the encode / decode engine 1407, for example.
  • the video processor 1332 is a chip or a module to which the technology according to the present disclosure is applied.
  • FIG. 32 is a block diagram showing another example of a schematic configuration of the video processor 1332.
  • the video processor 1332 has a function of encoding and 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, an internal memory 1515, a codec engine 1516, a memory interface 1517, a multiplexing / demultiplexing unit 1518, a network.
  • An interface 1519 and a video interface 1520 are included.
  • the control unit 1511 controls operations of various processing units 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 for controlling the operation of each processing unit in the video processor 1332.
  • the main CPU 1531 supplies a control signal generated through execution of the program to each processing unit.
  • the sub CPU 1532 plays an auxiliary role of the main CPU 1531. For example, the sub CPU 1532 executes a child process and a subroutine of a program executed by the main CPU 1531.
  • the system controller 1533 manages execution of programs by the main CPU 1531 and the sub CPU 1532.
  • the display interface 1512 outputs the image data to, for example, the connectivity module 1321 under the control of the control unit 1511.
  • the display interface 1512 outputs an analog image signal converted from digital image data or the digital image data itself to a display connected to the connectivity module 1321.
  • the display engine 1513 executes format conversion, size conversion, color gamut conversion, and the like for the image data so that the attributes of the image data match the specifications of the output display.
  • the image processing engine 1514 performs image processing that may include filtering processing having an object such as image quality improvement on the image data under the control of the control unit 1511.
  • the internal memory 1515 is a memory device 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 when inputting / outputting image data among the display engine 1513, the image processing engine 1514, and the codec engine 1516, for example.
  • the internal memory 1515 may be any type of memory device.
  • the internal memory 1515 may have a relatively small memory size for storing block unit image data and associated parameters.
  • the internal memory 1515 may be a memory having a small capacity but a fast response speed such as SRAM (Static Random Access Memory) (for example, relative to the external memory 1312).
  • SRAM Static Random Access Memory
  • the codec engine 1516 performs an encoding process for encoding image data to generate an encoded video stream, and a decoding process for decoding image data from the encoded video stream.
  • the image encoding scheme supported by the codec engine 1516 may be any one or a plurality of schemes.
  • the codec engine 1516 includes an MPEG-2 Video block 1541, an AVC / H. H.264 block 1542, HEVC / H. H.265 block 1543, HEVC / H. 265 (scalable) block 1544, HEVC / H. 265 (multi-view) block 1545 and MPEG-DASH block 1551.
  • Each of these functional blocks encodes and decodes image data according to a corresponding image encoding method.
  • the MPEG-DASH block 1551 is a functional block that enables image data to be transmitted according to the MPEG-DASH system.
  • the MPEG-DASH block 1551 executes generation of a stream conforming to the standard specification and control of transmission of the generated stream.
  • the encoding and decoding of the image data to be transmitted may be performed by other functional blocks included in the codec engine 1516.
  • the memory interface 1517 is an interface for connecting the video processor 1332 to the external memory 1312. Data generated by the image processing engine 1514 or the codec engine 1516 is output to the external memory 1312 via the memory interface 1517. Data input from the external memory 1312 is supplied to the image processing engine 1514 or the codec engine 1516 via the memory interface 1517.
  • the multiplexing / demultiplexing unit 1518 multiplexes and demultiplexes the encoded video stream and the related bit stream. At the time of multiplexing, the multiplexing / demultiplexing unit 1518 may add predetermined header information to the multiplexed stream. Also, at the time of demultiplexing, the multiplexing / demultiplexing unit 1518 may add predetermined header information to each separated stream. That is, the multiplexing / demultiplexing unit 1518 can perform format conversion together with multiplexing or demultiplexing.
  • the multiplexing / demultiplexing unit 1518 performs conversion and inverse conversion between a plurality of bit streams and a transport stream, which is a multiplexed stream having a transfer format, and a plurality of bit streams and a recording format. You may support conversion and reverse conversion to and from file data.
  • the network interface 1519 is an interface for connecting the video processor 1332 to the broadband modem 1333 or the connectivity module 1321, for example.
  • the video interface 1520 is an interface for connecting the video processor 1332 to the connectivity module 1321 or the camera 1322, for example.
  • the technology according to the present disclosure may be used in, for example, the codec engine 1516.
  • the video processor 1332 is a chip or a module to which the technology according to the present disclosure is applied.
  • the configuration of the video processor 1332 is not limited to the two examples described above.
  • the video processor 1332 may be realized as a single semiconductor chip, or may be realized as a plurality of semiconductor chips.
  • the video processor 1332 may be realized as a three-dimensional stacked LSI formed by stacking a plurality of semiconductors, or a combination of a plurality of LSIs.
  • independent upsampling is performed for each region in the case where the first layer image is upsampled and used as a reference image for encoding or decoding of the second layer image. Is determined.
  • the upsampled image is smoothed at a boundary portion between the plurality of regions.
  • a flag indicating whether to smooth the upsampled image can be encoded on the encoder side and decoded on the decoder side. Then, when independent upsampling is executed for each region and the flag indicates execution of smoothing, the upsampled image is smoothed at the boundary portion. Accordingly, it is possible to flexibly switch on and off the execution of the smoothing according to the user requirements or the application of the image. For example, when high image quality is desired, the flag is set to true. When the flag is included in PPS or its extension, smoothing can be switched on and off for each picture. When the flag is included in SPS or its extension, or VPS, the increase in the code amount is smaller.
  • CU, PU, and TU described in this specification mean a logical unit including a syntax associated with each block in HEVC.
  • CB Coding Block
  • PB Prediction Block
  • TB Transform Block
  • the CB is formed by hierarchically dividing a CTB (Coding Tree Block) into a quad-tree shape. An entire quadtree corresponds to CTB, and a logical unit corresponding to CTB is called CTU (Coding Tree Unit).
  • CTB and CB in HEVC are H.264 and H.B. It has a role similar to a macroblock in H.264 / AVC.
  • CTB and CB differ from macroblocks in that their sizes are not fixed (the size of macroblocks is always 16 ⁇ 16 pixels).
  • the CTB size is selected from 16 ⁇ 16 pixels, 32 ⁇ 32 pixels, and 64 ⁇ 64 pixels, and is specified by a parameter in the encoded stream.
  • the size of the CB can vary depending on the division depth of the CTB.
  • the method for transmitting such information is not limited to such an example.
  • these pieces of information may be transmitted or recorded as separate data associated with the encoded bitstream without being multiplexed into the encoded bitstream.
  • the term “associate” means that an image (which may be a part of an image such as a slice or a block) included in the bitstream and information corresponding to the image can be linked at the time of decoding. Means. That is, information may be transmitted on a transmission path different from that of the image (or bit stream).
  • Information may be recorded on a recording medium (or another recording area of the same recording medium) different from the image (or bit stream). Furthermore, the information and the image (or bit stream) may be associated with each other in an arbitrary unit such as a plurality of frames, one frame, or a part of the frame.
  • a first flag indicating whether the first layer image referred to when decoding a second layer image having a higher spatial resolution than the first layer is up-sampled independently for each region in the image
  • a decoding unit for decoding An upsampling unit for upsampling the images of the first layer in a plurality of adjacent regions according to the first flag decoded by the decoding unit; When the first flag indicates independent upsampling for each region, a smoothing unit that smoothes the upsampled image generated by the upsampling unit at a boundary portion between the plurality of regions;
  • An image processing apparatus comprising: (2) The decoding unit further decodes a second flag indicating whether to perform smoothing of the upsampled image, The smoothing unit smoothes the upsampled image in the boundary portion when the first flag indicates independent upsampling for each region and the second flag indicates execution of smoothing.
  • the image processing apparatus To The image processing apparatus according to (1). (3) The image processing apparatus according to (1) or (2), wherein the region is a tile. (4) The image processing apparatus according to (1) or (2), wherein the region is a slice. (5) The image processing apparatus according to (2), wherein the decoding unit decodes the second flag from a PPS (Picture Parameter Set) of the second layer or an extension of the PPS. (6) The image processing apparatus according to (5), wherein the decoding unit decodes the second flag only when the first flag indicates independent upsampling for each region. (7) The image processing apparatus according to (2), wherein the decoding unit decodes the second flag from an SPS (Sequence Parameter Set) of the second layer or an extension of the SPS.
  • PPS Picture Parameter Set
  • SPS Sequence Parameter Set
  • the smoothing unit when the second flag indicates that smoothing of the upsampled image is performed, the picture of the upsampled image for a picture in which the first flag indicates independent upsampling for each region.
  • a first flag indicating whether the first layer image referred to when decoding a second layer image having a higher spatial resolution than the first layer is up-sampled independently for each region in the image Decrypting According to the decoded first flag, up-sampling the image of the first layer of a plurality of adjacent regions to generate an up-sampled image; When the first flag indicates independent upsampling for each region, smoothing the upsampled image at a boundary portion between the plurality of regions;
  • An image processing method including: (11) A first indicating whether the first layer image referred to when locally decoding a second layer image having a higher spatial resolution than the first layer is up-sampled independently for each region in the image.
  • An encoding unit for encoding the first flag corresponding to the setting;
  • An upsampling unit that upsamples the image of the first layer in a plurality of adjacent regions according to the first setting;
  • a smoothing unit that smoothes the upsampled image generated by the upsampling unit at a boundary portion between the plurality of regions;
  • An image processing apparatus comprising: (12) The encoding unit further encodes a second flag corresponding to a second setting indicating whether to perform smoothing of the upsampled image;
  • the smoothing unit smoothes the upsampled image in the boundary portion when the first setting indicates independent upsampling for each region and the second setting indicates execution of smoothing.
  • the encoding unit encodes the second flag in a PPS (Picture Parameter Set) of the second layer or an extension of the PPS.
  • the encoding unit encodes the second flag only when the first flag indicates independent upsampling for each region.
  • the encoding unit encodes the second flag in an SPS (Sequence Parameter Set) of the second layer or an extension of the SPS.
  • the smoothing unit when the second setting indicates that smoothing of the upsampled image is performed, the picture of the upsampled image for a picture in which the first setting indicates independent upsampling for each region.
  • the image processing device according to (17), wherein the smoothing is performed, and the smoothing of the upsampled image is not performed for a picture in which the first setting does not indicate independent upsampling for each region.
  • the image processing apparatus according to any one of (11) to (18), further including a control unit that variably controls a smoothing intensity in the smoothing unit.
  • a first indicating whether the first layer image referred to when locally decoding a second layer image having a higher spatial resolution than the first layer is up-sampled independently for each region in the image.
  • An image processing method including:

Abstract

【課題】空間スケーラビリティにおいて領域別の並列処理を維持しつつ、画質の劣化を補償することを可能とする。 【解決手段】第1レイヤよりも空間解像度の高い第2レイヤの画像を復号する際に参照される前記第1レイヤの画像を、画像内の領域ごとに独立的にアップサンプリングするか、を示す第1のフラグを復号する復号部と、前記復号部により復号される前記第1のフラグに従って、隣接する複数の領域の前記第1レイヤの画像をアップサンプリングするアップサンプリング部と、前記第1のフラグが領域ごとに独立的なアップサンプリングを示す場合に、前記複数の領域の間の境界部分において、前記アップサンプリング部により生成されるアップサンプリング画像を平滑化する平滑化部と、を備える画像処理装置を提供する。

Description

画像処理装置及び画像処理方法
 本開示は、画像処理装置及び画像処理方法に関する。
 現在、H.264/AVCよりも符号化効率をさらに向上することを目的として、ITU-TとISO/IECとの共同の標準化団体であるJCTVC(Joint Collaboration Team-Video Coding)により、HEVC(High Efficiency Video Coding)と呼ばれる画像符号化方式の標準化が進められている(例えば、非特許文献1参照)。
 HEVCは、MPEG2及びAVC(Advanced Video Coding)などの既存の画像符号化方式と同様、シングルレイヤの符号化のみならず、スケーラブル符号化をも提供する。HEVCのスケーラブル符号化技術を、SHVC(Scalable HEVC)ともいう(例えば、非特許文献2参照)。
 スケーラブル符号化とは、一般には、粗い画像信号を伝送するレイヤと精細な画像信号を伝送するレイヤとを階層的に符号化する技術をいう。スケーラブル符号化において階層化される典型的な属性は、主に次の3種類である。
  -空間スケーラビリティ:空間解像度あるいは画像サイズが階層化される。
  -時間スケーラビリティ:フレームレートが階層化される。
  -SNR(Signal to Noise Ratio)スケーラビリティ:SN比が階層化される。
さらに、標準規格で未だ採用されていないものの、ビット深度スケーラビリティ及びクロマフォーマットスケーラビリティもまた議論されている。
 空間スケーラビリティを実現するスケーラブル符号化では、下位レイヤの画像は、アップサンプリングされた後、上位レイヤの画像を符号化し又は復号するために用いられる。非特許文献3では、インターレイヤ予測(inter-layer prediction)のためのいくつかの手法が提案されている。それら手法のうち、イントラBL予測(intra-BL prediction)では、ベースレイヤの復号画像がアップサンプリングされた後にエンハンスメントレイヤにおいて参照される。イントラ残差予測(intra residual prediction)及びインター残差予測(inter residual prediction)では、ベースレイヤの予測誤差(残差)画像がアップサンプリングされた後にエンハンスメントレイヤにおいて参照される。
 ところで、HEVCでは、スライス又はタイルに相当する領域別に符号化及び復号を並列的に実行することが可能である。しかし、空間スケーラビリティにおいて、下位レイヤの画像をアップサンプリングする際に領域間に依存関係があれば、アップサンプリングを並列的に実行することができない。これに関連し、非特許文献4は、タイル分割が行われる場合に、タイルごとに独立的なアップサンプリングを実行するかを示すフラグを、符号化パラメータのシンタックスに導入することを提案している。当該フラグがタイルごとに独立的なアップサンプリングを示す場合には、あるタイルの境界部分をアップサンプリングする際に、隣接タイルの画素を参照する代わりに、同じタイル内の画素からミラーリングによって生成される暫定的な画素が参照される。
Benjamin Bross, Woo-Jin Han, Gary J. Sullivan, Jens-Rainer Ohm, Gary J. Sullivan, Ye-Kui Wang, Thomas Wiegand, "High Efficiency Video Coding (HEVC) text specification draft 10 (for FDIS & Consent)"(JCTVC-L1003_v4, 2013年1月14-23日) Jianle Chen, Jill Boyce, Yan Ye, Miska M. Hannuksela, "SHVC Test Model 1 (SHM 1)"(JCTVC-L1007, 2013年1月14-23日) Jianle Chen, el. al, "Description of scalable video coding technology proposal by Qualcomm (configuration 2)"(JCTVC-K0036, 2012年10月10-19日) Karsten Suehring, Robert Skupin, Yago Sanchez, Thomas Schierl, "Independent tile upsampling for SHVC"(JCTVC-M0198, 2013年4月18-26日)
 しかしながら、非特許文献4により提案されたように領域ごとに独立的にアップサンプリングが実行された場合、領域の境界部分でブロック歪みが生じ、画質が劣化してしまう。
 従って、空間スケーラビリティにおいて領域別の並列処理を維持しつつ、画質の劣化を補償することのできる仕組みが提供されることが望ましい。
 本開示によれば、第1レイヤよりも空間解像度の高い第2レイヤの画像を復号する際に参照される前記第1レイヤの画像を、画像内の領域ごとに独立的にアップサンプリングするか、を示す第1のフラグを復号する復号部と、前記復号部により復号される前記第1のフラグに従って、隣接する複数の領域の前記第1レイヤの画像をアップサンプリングするアップサンプリング部と、前記第1のフラグが領域ごとに独立的なアップサンプリングを示す場合に、前記複数の領域の間の境界部分において、前記アップサンプリング部により生成されるアップサンプリング画像を平滑化する平滑化部と、を備える画像処理装置が提供される。
 上記画像処理装置は、典型的には、画像を復号する画像復号装置として実現され得る。
 また、本開示によれば、第1レイヤよりも空間解像度の高い第2レイヤの画像を復号する際に参照される前記第1レイヤの画像を、画像内の領域ごとに独立的にアップサンプリングするか、を示す第1のフラグを復号することと、復号された前記第1のフラグに従って、隣接する複数の領域の前記第1レイヤの画像をアップサンプリングして、アップサンプリング画像を生成することと、前記第1のフラグが領域ごとに独立的なアップサンプリングを示す場合に、前記複数の領域の間の境界部分において、前記アップサンプリング画像を平滑化することと、を含む画像処理方法が提供される。
 また、本開示によれば、第1レイヤよりも空間解像度の高い第2レイヤの画像をローカルデコードする際に参照される前記第1レイヤの画像を、画像内の領域ごとに独立的にアップサンプリングするか、を示す第1の設定に対応する第1のフラグを符号化する符号化部と、前記第1の設定に従って、隣接する複数の領域の前記第1レイヤの画像をアップサンプリングするアップサンプリング部と、前記第1の設定が領域ごとに独立的なアップサンプリングを示す場合に、前記複数の領域の間の境界部分において、前記アップサンプリング部により生成されるアップサンプリング画像を平滑化する平滑化部と、を備える画像処理装置が提供される。
 上記画像処理装置は、典型的には、画像を符号化する画像符号化装置として実現され得る。
 また、本開示によれば、第1レイヤよりも空間解像度の高い第2レイヤの画像をローカルデコードする際に参照される前記第1レイヤの画像を、画像内の領域ごとに独立的にアップサンプリングするか、を示す第1の設定に対応する第1のフラグを符号化することと、前記第1の設定に従って、隣接する複数の領域の前記第1レイヤの画像をアップサンプリングして、アップサンプリング画像を生成することと、前記第1の設定が領域ごとに独立的なアップサンプリングを示す場合に、前記複数の領域の間の境界部分において、前記アップサンプリング画像を平滑化することと、を含む画像処理方法が提供される。
 本開示に係る技術によれば、空間スケーラビリティにおいて領域別の並列処理を維持しつつ、画質の劣化を補償することができる。
スケーラブル符号化について説明するための説明図である。 復号画像のアップサンプリングについて説明するための説明図である。 予測誤差画像のアップサンプリングについて説明するための説明図である。 スライス別の並列処理について説明するための説明図である。 タイル別の並列処理について説明するための説明図である。 領域ごとに独立的なアップサンプリングについて説明するための説明図である。 一実施形態に係る画像符号化装置の概略的な構成を示すブロック図である。 一実施形態に係る画像復号装置の概略的な構成を示すブロック図である。 図5に示したEL符号化部の構成の一例を示すブロック図である。 図7に示したアップサンプリング部の構成の一例を示すブロック図である。 図7に示した平滑化部の構成の一例を示すブロック図である。 一例としての平滑化処理について説明するための説明図である。 アップサンプリング及び平滑化の並列処理について説明するための説明図である。 一実施形態に係る符号化時の概略的な処理の流れの一例を示すフローチャートである。 エンハンスメントレイヤの符号化処理におけるアップサンプリングに関連する処理の流れの一例を示すフローチャートである。 エンハンスメントレイヤの符号化処理における平滑化に関連する処理の流れの一例を示すフローチャートである。 図6に示したEL復号部の構成の一例を示すブロック図である。 図15に示したアップサンプリング部の構成の一例を示すブロック図である。 図15に示した平滑化部の構成の一例を示すブロック図である。 一実施形態に係る復号時の概略的な処理の流れの一例を示すフローチャートである。 エンハンスメントレイヤの復号処理における平滑化に関連する処理の流れの一例を示すフローチャートである。 テレビジョン装置の概略的な構成の一例を示すブロック図である。 携帯電話機の概略的な構成の一例を示すブロック図である。 記録再生装置の概略的な構成の一例を示すブロック図である。 撮像装置の概略的な構成の一例を示すブロック図である。 スケーラブル符号化の用途の第1の例について説明するための説明図である。 スケーラブル符号化の用途の第2の例について説明するための説明図である。 スケーラブル符号化の用途の第3の例について説明するための説明図である。 マルチビューコーデックについて説明するための説明図である。 マルチビューコーデックのための画像符号化装置の概略的な構成を示すブロック図である。 マルチビューコーデックのための画像復号装置の概略的な構成を示すブロック図である。 ビデオセットの概略的な構成の一例を示すブロック図である。 ビデオプロセッサの概略的な構成の一例を示すブロック図である。 ビデオプロセッサの概略的な構成の他の例を示すブロック図である。
 以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
 また、以下の順序で説明を行う。
  1.概要
   1-1.スケーラブル符号化
   1-2.ベースレイヤの画像のアップサンプリング
   1-3.エンコーダの基本的な構成例
   1-4.デコーダの基本的な構成例
  2.一実施形態に係るEL符号化部の構成例
   2-1.全体的な構成
   2-2.アップサンプリング部の詳細な構成
   2-3.平滑化部の詳細な構成
   2-4.シンタックスの例
   2-5.フィルタ強度の制御
  3.一実施形態に係る符号化時の処理の流れ
   3-1.概略的な流れ
   3-2.アップサンプリングに関連する処理
   3-3.平滑化に関連する処理
  4.一実施形態に係るEL復号部の構成例
   4-1.全体的な構成
   4-2.アップサンプリング部の詳細な構成
   4-3.平滑化部の詳細な構成
  5.一実施形態に係る復号時の処理の流れ
   5-1.概略的な流れ
   5-2.アップサンプリングに関連する処理
   5-3.平滑化に関連する処理
  6.応用例
   6-1.様々な製品への応用
   6-2.スケーラブル符号化の様々な用途
   6-3.他のコーデックへの応用
   6-4.様々な実装レベル
  7.まとめ
 <1.概要>
  [1-1.スケーラブル符号化]
 スケーラブル符号化においては、一連の画像をそれぞれ含む複数のレイヤが符号化される。ベースレイヤ(base layer)は、最初に符号化される、最も粗い画像を表現するレイヤである。ベースレイヤの符号化ストリームは、他のレイヤの符号化ストリームを復号することなく、独立して復号され得る。ベースレイヤ以外のレイヤは、エンハンスメントレイヤ(enhancement layer)と呼ばれる、より精細な画像を表現するレイヤである。エンハンスメントレイヤの符号化ストリームは、ベースレイヤの符号化ストリームに含まれる情報を用いて符号化される。従って、エンハンスメントレイヤの画像を再現するためには、ベースレイヤ及びエンハンスメントレイヤの双方の符号化ストリームが復号されることになる。スケーラブル符号化において扱われるレイヤの数は、2つ以上のいかなる数であってもよい。3つ以上のレイヤが符号化される場合には、最下位のレイヤがベースレイヤ、残りの複数のレイヤがエンハンスメントレイヤである。より上位のエンハンスメントレイヤの符号化ストリームは、より下位のエンハンスメントレイヤ又はベースレイヤの符号化ストリームに含まれる情報を用いて符号化され及び復号され得る。
 図1は、スケーラブル符号化される3つのレイヤL1、L2及びL3を示している。レイヤL1はベースレイヤであり、レイヤL2及びL3はエンハンスメントレイヤである。なお、ここでは、様々な種類のスケーラビリティのうち、空間スケーラビリティを例にとっている。レイヤL2のレイヤL1に対する空間解像度の比は、2:1である。レイヤL3のレイヤL1に対する空間解像度の比は、4:1である。なお、ここでの解像度比は一例に過ぎず、例えば1.5:1などの非整数の解像度比が使用されてもよい。レイヤL1のブロックB1は、ベースレイヤのピクチャ内の符号化処理の処理単位である。レイヤL2のブロックB2は、ブロックB1と共通するシーンを映したエンハンスメントレイヤのピクチャ内の符号化処理の処理単位である。ブロックB2は、レイヤL1のブロックB1に対応する。レイヤL3のブロックB3は、ブロックB1及びB2と共通するシーンを映したより上位のエンハンスメントレイヤのピクチャ内の符号化処理の処理単位である。ブロックB3は、レイヤL1のブロックB1及びレイヤL2のブロックB2に対応する。
  [1-2.ベースレイヤの画像のアップサンプリング]
 図1に例示したレイヤ構造において、画像のテクスチャは、共通するシーンを映したレイヤ間で類似する。即ち、レイヤL1内のブロックB1、レイヤL2内のブロックB2、及びレイヤL3内のブロックB3のテクスチャは類似する。従って、例えばブロックB1を参照ブロックとして用いてブロックB2又はブロックB3の画素を予測し、又はブロックB2を参照ブロックとして用いてブロックB3の画素を予測すれば、高い予測精度が得られる可能性がある。このようなレイヤ間の予測を、インターレイヤ予測という。非特許文献3では、インターレイヤ予測のためのいくつかの手法が提案されている。それら手法のうち、イントラBL予測では、ベースレイヤの復号画像(リコンストラクト画像)が、エンハンスメントレイヤの復号画像を予測するための参照画像として使用される。イントラ残差予測及びインター残差予測では、ベースレイヤの予測誤差(残差)画像が、エンハンスメントレイヤの予測誤差画像を予測するための参照画像として使用される。空間スケーラビリティが実現される場合、エンハンスメントレイヤの空間解像度は、ベースレイヤの空間解像度よりも高い。従って、ベースレイヤの画像を参照画像として使用するためには、当該画像を解像度比に従ってアップサンプリングすることが求められる。
 図2Aは、復号画像のアップサンプリングについて説明するための説明図である。図2Aの下段には、ベースレイヤ画像IMB1~IMB4が示されている。ベースレイヤ画像IMB1~IMB4は、ベースレイヤの符号化処理又は復号処理(エンコーダ内のローカルデコードを含む)において生成されるリコンストラクト画像である。ベースレイヤ画像は、レイヤ間の解像度比に応じて、アップサンプリングされる。図2Aの中段には、アップサンプリングされたベースレイヤ画像IMU1~IMU4が示されている。図2Aの上段には、エンハンスメントレイヤ画像IME1~IME4が示されている。一例として、エンハンスメントレイヤ画像IME1のブロックBE1が予測対象ブロックであるものとする。イントラBL予測が行われる場合、アップサンプリングされたベースレイヤ画像IMU1のブロックBU1を参照ブロックとして使用することにより、予測対象ブロックと参照ブロックとの間の解像度の差が解消される。そして、レイヤ間の画像の相関に基づいて高い予測精度を達成することができる。
 図2Bは、予測誤差画像のアップサンプリングについて説明するための説明図である。図2Bの下段にはベースレイヤ画像IMB1~IMB4が、上段にはエンハンスメントレイヤ画像IME1~IME4が再び示されている。一例として、エンハンスメントレイヤ画像IME3のブロックBE3がインター予測の予測対象ブロックであり、エンハンスメントレイヤ画像IMB2がインター予測の参照ピクチャであるものとする。さらにインター残差予測が行われる場合、ベースレイヤ画像IMB3のブロックBB3が、予測対象ブロックBE3のコロケーテッド(co-located)ブロックであり、インター残差予測の参照ブロックである。ブロックBB3の復号画像Cur、ベースレイヤにおけるインター予測の予測画像Pred及び予測誤差画像Errの間の関係は、次式のように表される。
Figure JPOXMLDOC01-appb-M000001
 そして、予測対象ブロックBE3の復号画像Cur、エンハンスメントレイヤにおけるインター予測の予測画像Pred及び予測誤差画像Errの間の関係は、アップサンプリングされたベースレイヤの予測誤差画像Up[Err]を用いて、次式のように表される。
Figure JPOXMLDOC01-appb-M000002
 このように、残差予測では、ベースレイヤの予測誤差画像をアップサンプリングすることにより、予測対象ブロックと参照ブロックとの間の解像度の差が解消される。そして、レイヤ間の予測誤差の相関に基づいて、符号化すべき予測誤差データ(Err)を削減することができる。
 なお、ここで説明したインターレイヤ予測は一例に過ぎない。即ち、上述したイントラBL予測及び残差予測とは異なる種類のインターレイヤ予測にも、本開示に係る技術は適用可能である。
 ところで、HEVCでは、スライス又はタイルに相当する領域別に符号化及び復号を並列的に実行することが可能である。図3Aは、スライス別の並列処理について説明するための説明図である。図3Aを参照すると、画像Im11は、4つのスライスSL11、SL12、SL13及びSL14に分割されている。図中の小さい正方形はLCU(Largest Coding Unit)である。こうした異なるスライスの間で、予測における依存関係(参照/被参照)及びCABAC(Context-based Adaptive Binary Arithmetic Coding)のコンテキストにおける依存関係は存在しない。従って、例えば、スライスSL11のための符号化/復号処理PR01とスライスSL12のための符号化/復号処理PR02とを、異なる処理リソース(例えば、プロセッサ及びメモリ、又は専用の回路など)を用いて並列的に実行することができる。図3Bは、タイル別の並列処理について説明するための説明図である。図3Bを参照すると、画像Im12は、4つのタイルTL11、TL12、TL13及びTL14に分割されている。図中の小さい正方形はLCUである。こうした異なるタイルの間でも、予測及びCABACにおける依存関係は存在しないため、例えば、タイルTL11のための符号化/復号処理PR01とタイルTL12のための符号化/復号処理PR02とを、異なる処理リソースを用いて並列的に実行することができる。タイルは、スライスと異なり、画像内のラスタスキャン順に制約されない任意の矩形領域であってよい。そのため、スライスが利用される場合と比較して、より正方形に近いタイルが利用される場合には、領域境界の長さの合計が短くなり符号化効率が向上し得る。
 空間スケーラビリティにおいて、下位レイヤの画像をアップサンプリングする際には、通常、動き補償のための補間フィルタと同様に設計されるアップサンプリングフィルタが利用される。アップサンプリングフィルタのタップ数は、輝度成分について7タップ又は8タップ、色差成分について4タップである。補間される画素が領域の境界に位置する場合、補間画素値を算出するためのアップサンプリングフィルタのタップは、領域外(隣接領域内)の画素を含み得る。このような領域間の依存関係が存在する場合、ある領域のアップサンプリングのために隣接領域についての処理の完了を待たざるを得ない状況が発生し、処理の並列化が阻害され得る。これに関連し、非特許文献4は、タイルごとに独立的なアップサンプリングを実行するか否かを示す1ビットのフラグ(independent_tile_upsampling_flag)を、符号化パラメータのシンタックス(具体的には、PPSの拡張(extension))に導入することを提案している。当該フラグがタイルごとに独立的なアップサンプリングを示す場合には、あるタイルの境界部分の補間画素値をアップサンプリングによって算出する際に、隣接タイルの画素を参照する代わりに、同じタイル内の画素からミラーリングによって生成される暫定的な画素が参照される。
 図4は、領域ごとに独立的な(region-independent)アップサンプリングについて説明するための説明図である。図4を参照すると、境界B1を挟んで互いに隣接するタイルTL11及びタイルTL12の境界部分のいくつかの画素が示されている。画素X1、X2、X3及びX4は、タイルTL11内の画素である。画素X5、X6、X7及びX8は、タイルTL12内の画素である。一例として、タイルTL11の空間解像度を高めるために画素位置PP0に対応する補間画素X0の画素値をアップサンプリングフィルタを用いて算出しようとする場合、通常は、例えば画素X1、X2、X3、X4、X5、X6、X7及びX8がフィルタタップとして使用される。しかし、この場合、タイルTL11についてのアップサンプリングが、タイルTL12についての処理結果に依存する。一方、領域ごとに独立的なアップサンプリングでは、タイルTL12内の画素X5、X6、X7及びX8の代わりに、暫定的な画素X5´、X6´、X7´及びX8´が画素X4、X3、X2及びX1をそれぞれミラーリングすることにより生成され、画素X1、X2、X3及びX4とミラーリングされた画素X5´、X6´、X7´及びX8´とがフィルタタップとして使用される。それにより、領域間の依存関係が解消され、タイル別の処理の高度な並列化が可能となる。
 図4に例示したような領域ごとに独立的なアップサンプリングによれば、隣接領域の実際の画素値とは異なる暫定的な画素値がフィルタタップとして使用される結果として、領域の境界部分で、ブロック歪みが生じる。このブロック歪みは、エンハンスメントレイヤにおいてアップサンプリング画像が例えばゼロに等しい動きベクトルで参照される場合に、エンハンスメントレイヤの復号画像にそのまま継承され、ユーザにより画質の劣化として感知され得る。こうしたブロック歪みを、デブロックフィルタ(DF)などのループフィルタを用いて軽減することも考えられる。しかし、デブロックフィルタは、エッジ判定及び強度選択のために境界の両側の予測モード情報、変換係数情報及び動きベクトル情報などのいくつかの情報を必要とする。そのため、デブロックフィルタを使用することは、メモリリソースの消費及び領域間の依存関係の観点で有益でない。そこで、以下に説明する実施形態では、領域ごとに独立的なアップサンプリングが実行される場合に、複数の領域の間の境界部分においてアップサンプリング画像を平滑化することにより、画質の劣化を補償する。
  [1-3.エンコーダの基本的な構成例]
 図5は、スケーラブル符号化をサポートする、一実施形態に係る画像符号化装置10の概略的な構成を示すブロック図である。図5を参照すると、画像符号化装置10は、ベースレイヤ(BL)符号化部1a、エンハンスメントレイヤ(EL)符号化部1b、共通メモリ2及び多重化部3を備える。
 BL符号化部1aは、複数の処理リソースを用いて領域ごとに並列的に、ベースレイヤ画像を符号化し、ベースレイヤの符号化ストリームを生成する。EL符号化部1bは、複数の処理リソースを用いて領域ごとに並列的に、エンハンスメントレイヤ画像を符号化し、エンハンスメントレイヤの符号化ストリームを生成する。共通メモリ2は、レイヤ間で共通的に利用される情報を記憶する。多重化部3は、BL符号化部1aにより生成されるベースレイヤの符号化ストリームと、EL符号化部1bにより生成される1つ以上のエンハンスメントレイヤの符号化ストリームとを多重化し、マルチレイヤの多重化ストリームを生成する。
  [1-4.デコーダの基本的な構成例]
 図6は、スケーラブル符号化をサポートする、一実施形態に係る画像復号装置60の概略的な構成を示すブロック図である。図6を参照すると、画像復号装置60は、逆多重化部5、ベースレイヤ(BL)復号部6a、エンハンスメントレイヤ(EL)復号部6b及び共通メモリ7を備える。
 逆多重化部5は、マルチレイヤの多重化ストリームをベースレイヤの符号化ストリーム及び1つ以上のエンハンスメントレイヤの符号化ストリームに逆多重化する。BL復号部6aは、複数の処理リソースを用いて領域ごとに並列的に、ベースレイヤの符号化ストリームからベースレイヤ画像を復号する。EL復号部6bは、複数の処理リソースを用いて領域ごとに並列的に、エンハンスメントレイヤの符号化ストリームからエンハンスメントレイヤ画像を復号する。共通メモリ7は、レイヤ間で共通的に利用される情報を記憶する。
 図5に例示した画像符号化装置10において、ベースレイヤの符号化のためのBL符号化部1aの構成と、エンハンスメントレイヤの符号化のためのEL符号化部1bの構成とは、互いに類似する。BL符号化部1aにより生成され又は取得されるいくつかのパラメータ及び画像は、共通メモリ2を用いてバッファリングされ、EL符号化部1bにより再利用され得る。次節では、そのようなEL符号化部1bの構成について詳細に説明する。
 同様に、図6に例示した画像復号装置60において、ベースレイヤの復号のためのBL復号部6aの構成と、エンハンスメントレイヤの復号のためのEL復号部6bの構成とは、互いに類似する。BL復号部6aにより生成され又は取得されるいくつかのパラメータ及び画像は、共通メモリ7を用いてバッファリングされ、EL復号部6bにより再利用され得る。さらに次の節では、そのようなEL復号部6bの構成について詳細に説明する。
 <2.一実施形態に係るEL符号化部の構成例>
  [2-1.全体的な構成]
 図7は、図5に示したEL符号化部1bの構成の一例を示すブロック図である。図7を参照すると、EL符号化部1bは、並び替えバッファ11、減算部13、直交変換部14、量子化部15、可逆符号化部16、蓄積バッファ17、レート制御部18、逆量子化部21、逆直交変換部22、加算部23、ループフィルタ24、フレームメモリ25、セレクタ26及び27、イントラ予測部30、インター予測部31、アップサンプリング部35並びに平滑化部40を備える。
 並び替えバッファ11は、一連の画像データに含まれる画像を並び替える。並び替えバッファ11は、符号化処理に係るGOP(Group of Pictures)構造に応じて画像を並び替えた後、並び替え後の画像データを減算部13、イントラ予測部30、及びインター予測部31へ出力する。
 減算部13には、並び替えバッファ11から入力される画像データ、及び後に説明するイントラ予測部30又はインター予測部31から入力される予測画像データが供給される。減算部13は、並び替えバッファ11から入力される画像データと予測画像データとの差分である予測誤差データを算出し、算出した予測誤差データを直交変換部14へ出力する。
 直交変換部14は、減算部13から入力される予測誤差データについて直交変換を行う。直交変換部14により実行される直交変換は、例えば、離散コサイン変換(Discrete Cosine Transform:DCT)又はカルーネン・レーベ変換などであってよい。直交変換部14は、直交変換処理により取得される変換係数データを量子化部15へ出力する。
 量子化部15には、直交変換部14から入力される変換係数データ、及び後に説明するレート制御部18からのレート制御信号が供給される。量子化部15は、レート制御信号に従って決定される量子化ステップで変換係数データを量子化する。量子化部15は、量子化後の変換係数データ(以下、量子化データという)を可逆符号化部16及び逆量子化部21へ出力する。
 可逆符号化部16は、量子化部15から入力される量子化データについて可逆符号化処理を行うことにより、エンハンスメントレイヤの符号化ストリームを生成する。また、可逆符号化部16は、符号化ストリームを復号する際に参照される様々なパラメータを符号化して、符号化されたパラメータを符号化ストリームのヘッダ領域に挿入する。可逆符号化部16により符号化されるパラメータは、イントラ予測に関する情報、インター予測に関する情報、及びアップサンプリング又は平滑化に関するパラメータを含み得る。そして、可逆符号化部16は、生成した符号化ストリームを蓄積バッファ17へ出力する。
 蓄積バッファ17は、可逆符号化部16から入力される符号化ストリームを半導体メモリなどの記憶媒体を用いて一時的に蓄積する。そして、蓄積バッファ17は、蓄積した符号化ストリームを、伝送路の帯域に応じたレートで、図示しない伝送部(例えば、通信インタフェース又は周辺機器との接続インタフェースなど)へ出力する。
 レート制御部18は、蓄積バッファ17の空き容量を監視する。そして、レート制御部18は、蓄積バッファ17の空き容量に応じてレート制御信号を生成し、生成したレート制御信号を量子化部15へ出力する。例えば、レート制御部18は、蓄積バッファ17の空き容量が少ない時には、量子化データのビットレートを低下させるためのレート制御信号を生成する。また、例えば、レート制御部18は、蓄積バッファ17の空き容量が十分大きい時には、量子化データのビットレートを高めるためのレート制御信号を生成する。
 逆量子化部21、逆直交変換部22及び加算部23は、ローカルデコーダを構成する。逆量子化部21は、量子化部15により使用されたものと同じ量子化ステップで、エンハンスメントレイヤの量子化データを逆量子化し、変換係数データを復元する。そして、逆量子化部21は、復元した変換係数データを逆直交変換部22へ出力する。
 逆直交変換部22は、逆量子化部21から入力される変換係数データについて逆直交変換処理を行うことにより、予測誤差データを復元する。そして、逆直交変換部22は、復元した予測誤差データを加算部23へ出力する。
 加算部23は、逆直交変換部22から入力される復元された予測誤差データとイントラ予測部30又はインター予測部31から入力される予測画像データとを加算することにより、復号画像データ(エンハンスメントレイヤのリコンストラクト画像)を生成する。そして、加算部23は、生成した復号画像データをループフィルタ24及びフレームメモリ25へ出力する。
 ループフィルタ24は、画質の向上を目的とするフィルタ群を含む。デブロックフィルタ(DF)は、画像の符号化時に生じるブロック歪みを軽減するフィルタである。サンプル適応オフセット(SAO)フィルタは、各画素値に適応的に決定されるオフセット値を加えるフィルタである。適応ループフィルタ(ALF)は、SAO後の画像と原画像との誤差を最小化するフィルタである。ループフィルタ24は、加算部23から入力される復号画像データをフィルタリングし、フィルタリング後の復号画像データをフレームメモリ25へ出力する。
 フレームメモリ25は、加算部23から入力されるエンハンスメントレイヤの復号画像データ、ループフィルタ24から入力されるエンハンスメントレイヤのフィルタリング後の復号画像データ、及び平滑化部40から入力されるベースレイヤの参照画像データを記憶媒体を用いて記憶する。
 セレクタ26は、イントラ予測のために使用されるフィルタリング前の復号画像データをフレームメモリ25から読み出し、読み出した復号画像データを参照画像データとしてイントラ予測部30に供給する。また、セレクタ26は、インター予測のために使用されるフィルタリング後の復号画像データをフレームメモリ25から読み出し、読み出した復号画像データを参照画像データとしてインター予測部31に供給する。さらに、イントラ予測部30又はインター予測部31においてインターレイヤ予測が実行される場合、セレクタ26は、ベースレイヤの参照画像データをイントラ予測部30又はインター予測部31へ供給する。
 セレクタ27は、イントラ予測モードにおいて、イントラ予測部30から出力されるイントラ予測の結果としての予測画像データを減算部13へ出力すると共に、イントラ予測に関する情報を可逆符号化部16へ出力する。また、セレクタ27は、インター予測モードにおいて、インター予測部31から出力されるインター予測の結果としての予測画像データを減算部13へ出力すると共に、インター予測に関する情報を可逆符号化部16へ出力する。セレクタ27は、イントラ予測モードとインター予測モードとを、コスト関数値の大きさに応じて切り替える。
 イントラ予測部30は、エンハンスメントレイヤの原画像データ及び復号画像データに基づいて、イントラ予測処理を行う。例えば、イントラ予測部30は、予測モードセット内の各候補モードによる予測結果を所定のコスト関数を用いて評価する。次に、イントラ予測部30は、コスト関数値が最小となる予測モード、即ち圧縮率が最も高くなる予測モードを、最適な予測モードとして選択する。また、イントラ予測部30は、当該最適な予測モードに従ってエンハンスメントレイヤの予測画像データを生成する。イントラ予測部30は、エンハンスメントレイヤにおける予測モードセットに、インターレイヤ予測の一種であるイントラBL予測を含めてもよい。イントラBL予測では、エンハンスメントレイヤ内の予測対象ブロックに対応するベースレイヤ内のコロケーテッドブロックが参照ブロックとして使用され、当該参照ブロックの復号画像に基づいて予測画像が生成される。また、イントラ予測部30は、インターレイヤ予測の一種であるイントラ残差予測を含めてもよい。イントラ残差予測では、ベースレイヤ内のコロケーテッドブロックである参照ブロックの予測誤差画像に基づいてイントラ予測の予測誤差が予測され、予測された予測誤差の加算された予測画像が生成される(式(2)の右辺の第1項及び第2項参照)。イントラ予測部30は、選択した最適な予測モードを表す予測モード情報を含むイントラ予測に関する情報、コスト関数値、及び予測画像データを、セレクタ27へ出力する。
 インター予測部31は、エンハンスメントレイヤの原画像データ及び復号画像データに基づいて、インター予測処理を行う。例えば、インター予測部31は、予測モードセット内の各候補モードによる予測結果を所定のコスト関数を用いて評価する。次に、インター予測部31は、コスト関数値が最小となる予測モード、即ち圧縮率が最も高くなる予測モードを、最適な予測モードとして選択する。また、インター予測部31は、当該最適な予測モードに従ってエンハンスメントレイヤの予測画像データを生成する。インター予測部31は、エンハンスメントレイヤにおける予測モードセットに、インターレイヤ予測の一種であるインター残差予測を含めてもよい。インター残差予測では、ベースレイヤ内のコロケーテッドブロックである参照ブロックの予測誤差画像に基づいてインター予測の予測誤差が予測され、予測された予測誤差の加算された予測画像が生成される(式(2)の右辺の第1項及び第2項参照)。インター予測部31は、選択した最適な予測モードを表す予測モード情報と動き情報とを含むインター予測に関する情報、コスト関数値、及び予測画像データを、セレクタ27へ出力する。
 アップサンプリング部35は、共通メモリ2によりバッファリングされるベースレイヤの画像を、スライス又はタイルに相当し得る領域ごとに並列的に、レイヤ間の解像度比及び領域間の依存関係に関する設定に従ってアップサンプリングする。アップサンプリング部35によりアップサンプリングされる画像は、ベースレイヤの復号画像及び予測誤差画像の一方又は双方であってよい。そして、アップサンプリング部35は、アップサンプリングにより空間解像度の高められたアップサンプリング画像を、平滑化部40へ出力する。アップサンプリング部35の詳細な構成の一例について、後にさらに説明する。
 平滑化部40は、アップサンプリング部35によって領域ごとに独立的なアップサンプリングが実行される場合に、複数の領域の間の境界部分において、アップサンプリング部35により生成されるアップサンプリング画像を平滑化する。そして、平滑化部40は、平滑化後のアップアンプリング画像(又は、領域ごとに独立的なアップサンプリングが実行されない場合にアップサンプリング部35によって生成されたアップサンプリング画像)を、フレームメモリ25に格納する。フレームメモリ25に格納されたベースレイヤのアップサンプリング画像は、イントラ予測部30又はインター予測部31により、インターレイヤ予測において参照画像として使用され得る。平滑化部40の詳細な構成の一例について、後にさらに説明する。
  [2-2.アップサンプリング部の詳細な構成]
 図8は、図7に示したアップサンプリング部35の構成の一例を示すブロック図である。図8を参照すると、アップサンプリング部35は、フィルタ制御部36、係数メモリ37及びアップサンプリングフィルタ38を有する。フィルタ制御部36及びアップサンプリングフィルタ38は、並列的に動作可能な複数の処理リソースを用いて実装される。ここでは、主に画像内の4つの領域について並列処理が行われる例を説明するが、かかる例に限定されず、いくつの領域について並列処理が行われてもよい。
 フィルタ制御部36は、アップサンプリングに関する設定を識別する。例えば、フィルタ制御部36は、ベースレイヤ画像とエンハンスメントレイヤ画像との間の予め定義される解像度比を識別する。また、フィルタ制御部36は、アップサンプリングが領域ごとに独立的に実行されるべきかを示す設定を識別する。そして、フィルタ制御部36は、共通メモリ2から各領域のベースレイヤ画像を取得し、補間画素位置ごとにフィルタタップを構築して、構築したフィルタタップをアップサンプリングフィルタ38へ出力する。識別した設定がアップサンプリングが領域ごとに独立的に実行されるべきであることを示す場合、フィルタ制御部36は、図4を用いて説明したように、領域の境界部分において、隣接領域の画素を参照せず、領域内の画素をミラーリングすることにより暫定的に生成される画素をフィルタタップに含める。
 フィルタ制御部36により識別された設定は、可逆符号化部16へ出力され、可逆符号化部16により符号化され得る。例えば、レイヤ間の解像度比を示す符号化パラメータは、VPS(Video Parameter Set)、又はエンハンスメントレイヤのSPS(Sequence Parameter Set)若しくはPPS(Picture Parameter Set)内に符号化され得る。また、ベースレイヤ画像を画像内の領域ごとに独立的にアップサンプリングするかを示すフラグ(例えば、“independent_tile_upsampling_flag”)は、PPS又は当該PPSの拡張内に符号化され得る。
 係数メモリ37は、アップサンプリングフィルタ38により使用される様々なフィルタ係数の候補を記憶するメモリである。フィルタ係数は、非特許文献2に記載された補間フィルタと同じであってもよく、又は異なってもよい。係数メモリ37は、例えば、補間される画素位置とタップ数との各組合せについて、それぞれフィルタ係数のセットを記憶する。係数メモリ37により記憶されるフィルタ係数のセットは、アップサンプリングフィルタ38により読み出される。なお、フィルタ係数は、フィルタ制御部36により動的に計算されてもよい。
 アップサンプリングフィルタ38は、フィルタ制御部36により識別された設定に従って、ベースレイヤよりも空間解像度の高いエンハンスメントレイヤの画像をローカルデコードする際に参照されるベースレイヤの画像をアップサンプリングする。より具体的には、アップサンプリングフィルタ38は、解像度比に応じて順に走査される補間画素の各々について、フィルタ制御部36により構築されたフィルタタップを、係数メモリ37から取得されるフィルタ係数でフィルタリングすることにより、補間画素値を算出する。それにより、参照画像として使用されるベースレイヤの画像の空間解像度が、エンハンスメントレイヤと同等の解像度まで高められる。アップサンプリングフィルタ38によるアップサンプリングは、例えば4つの領域のベースレイヤ画像RGB1、RGB2、RGB3及びRGB4について並列的に実行され、4つの領域のアップサンプリング画像RGU1、RGU2、RGU3及びRGU4が生成される。アップサンプリングフィルタ38は、アップサンプリング後の参照画像データ、即ちアップサンプリング画像RGU1、RGU2、RGU3及びRGU4を、平滑化部40へ出力する。
  [2-3.平滑化部の詳細な構成]
 図9は、図7に示した平滑化部40の構成の一例を示すブロック図である。図9を参照すると、平滑化部40は、複数の領域メモリ41a、41b、41c及び41d、平滑化制御部42、ラインバッファ43及び平滑化フィルタ44を有する。平滑化制御部42及び平滑化フィルタ44は、並列的に動作可能な複数の処理リソースを用いて実装されてもよく、又は単一の処理リソースを用いて実装されてもよい。
 第1の領域メモリ41aは、アップサンプリング部35から入力される第1の領域のアップサンプリング画像RGU1を一時的に記憶する。第2の領域メモリ41bは、アップサンプリング部35から入力される第2の領域のアップサンプリング画像RGU2を一時的に記憶する。第3の領域メモリ41cは、アップサンプリング部35から入力される第3の領域のアップサンプリング画像RGU3を一時的に記憶する。第4の領域メモリ41dは、アップサンプリング部35から入力される第4の領域のアップサンプリング画像RGU4を一時的に記憶する。
 平滑化制御部42は、平滑化に関する設定を識別する。例えば、平滑化制御部42は、領域ごとに独立的なアップサンプリングが実行されたかを示す第1の設定、及び、アップサンプリング画像の平滑化を実行するかを示す第2の設定を識別する。そして、平滑化制御部42は、識別した設定に基づいて複数の領域の間の境界部分において平滑化を実行するかを判定する。平滑化制御部42は、領域ごとに独立的なアップサンプリングが実行された場合には、境界部分においてアップサンプリング画像を平滑化すると一律的に決定してもよい。その代わりに、平滑化制御部42は、領域ごとに独立的なアップサンプリングが実行され、且つ第2の設定が平滑化の実行を示す場合に限り、境界部分においてアップサンプリング画像を平滑化すると決定してもよい。平滑化制御部42は、アップサンプリング画像を平滑化しないと決定した場合には、各領域メモリ41a、41b、41c及び41dにより記憶されているアップサンプリング画像をそのまま、フレームメモリ25へ出力させる。一方、平滑化制御部42は、境界部分においてアップサンプリング画像を平滑化すると決定した場合には、各領域のアップサンプリング画像の境界部分に位置する画素値をラインバッファ43へ格納し、平滑化フィルタ44に平滑化を実行させる。
 ラインバッファ43は、複数の領域の間の境界部分のアップサンプリング後の画素値をバッファリングする。ラインバッファ43によりバッファリングされる画素は、平滑化フィルタ44におけるフィルタリングのフィルタタップとして扱われる。
 平滑化フィルタ44は、ラインバッファ43によりフィルタタップとしてバッファリングされる画素値をフィルタリングすることにより、領域間の境界上の画素の各々について、平滑化後の画素値を算出する。図10は、一例としての平滑化処理について説明するための説明図である。図10参照すると、4つのタイルTL11、TL12、TL13及びTL14に分割された画像Im12が再び示されている。図中で斜線で網掛けされた部分は、タイル間の境界部分である。平滑化は、この境界部分について実行される。例えば、図10の下部には、タイルTL13及びタイルTL14の間の垂直境界の境界部分に属する4つの画素p1、p0、q0及びq1が拡大して示されている。画素p1及びp0は、タイルTL13に属する。画素q0及びq1は、タイルTL14に属する。これら画素のうち、画素p0及びq0が、平滑化の対象である。平滑化フィルタ44は、画素p1、p0、q0及びq1の画素値をラインバッファ43から読み出し、次の式(3)及び式(4)に従って、画素p0及びq0の平滑化後の画素値p0sm及びq0smをそれぞれ算出し得る。
Figure JPOXMLDOC01-appb-M000003
 なお、平滑化フィルタ44のフィルタタップ数及びフィルタ係数は、式(3)及び式(4)の例に限定されず、他の値であってもよい。垂直境界と水平境界とが交差する場所の平滑化は、垂直方向及び水平方向のいずれを先にして行われれてもよい。このような平滑化の結果、アップサンプリングによって生じたブロック歪みが修復される。平滑化フィルタ44は、領域間の境界上の画素の各々について、領域メモリ41a、41b、41c及び41dにより記憶されている画素値を平滑化後の画素値で更新する。そして、平滑化制御部42は、平滑化後のアップサンプリング画像RGU1_sm、RGU2_sm、RGU3_sm及びRGU4_smを、参照画像データとしてフレームメモリ25へ出力する。
 図11は、アップサンプリング及び平滑化の並列処理について説明するための説明図である。図11の左には、互いに隣接する4つの領域のベースレイヤ画像RGB1、RGB2、RGB3及びRGB4が示されている。ベースレイヤ画像RGB1は、第1のアップサンプリング処理PR11によってアップサンプリングされ、アップサンプリング画像RGU1が生成される。ベースレイヤ画像RGB2は、第2のアップサンプリング処理PR12によってアップサンプリングされ、アップサンプリング画像RGU2が生成される。ベースレイヤ画像RGB3は、第3のアップサンプリング処理PR13によってアップサンプリングされ、アップサンプリング画像RGU3が生成される。ベースレイヤ画像RGB4は、第4のアップサンプリング処理PR14によってアップサンプリングされ、アップサンプリング画像RGU4が生成される。これらアップサンプリング処理PR11、PR12、PR13及びPR14は、アップサンプリング部35において、異なる処理リソース(例えば、プロセッサ及びメモリ、又は専用の回路など)を用いて並列的に実行され得る。次に、アップサンプリング画像RGU1、RGU2、RGU3及びRGU4の斜線で網掛けされた境界部分の画素値が平滑化部40における平滑化処理PR2によって更新され、平滑化後のアップサンプリング画像RGU1_sm、RGU2_sm、RGU3_sm及びRGU4_smが生成される。アップサンプリング画像RGU1_smは、エンハンスメントレイヤの第1の領域についての符号化(復号)処理PR31において、参照画像として使用される。アップサンプリング画像RGU2_smは、エンハンスメントレイヤの第2の領域についての符号化(復号)処理PR32において、参照画像として使用される。アップサンプリング画像RGU3_smは、エンハンスメントレイヤの第3の領域についての符号化(復号)処理PR33において、参照画像として使用される。アップサンプリング画像RGU4_smは、エンハンスメントレイヤの第4の領域についての符号化(復号)処理PR34において、参照画像として使用される。これら符号化(復号)処理PR31、PR32、PR33及びPR34もまた、異なる処理リソースを用いて並列的に実行され得る。
  [2-4.シンタックスの例]
 平滑化制御部42により識別された設定は、可逆符号化部16へ出力され、可逆符号化部16により符号化され得る。可逆符号化部16は、例えば、ベースレイヤ画像を領域ごとに独立的にアップサンプリングするかを示す第1の設定に対応する第1のフラグに加えて、アップサンプリング画像の平滑化を実行するかを示す第2の設定に対応する第2のフラグを符号化する。下の表1は、これらフラグに関連する符号化ストリームのシンタックスの第1の例を示している。
Figure JPOXMLDOC01-appb-T000004
 第1の例において、PPSの拡張“pic_parameter_set_extension()”は、タイル分割が有効である場合(tiles_enabled_flag="True")に、ベースレイヤ画像をタイルごとに独立的にアップサンプリングするかを示すフラグ“independent_tile_upsampling_flag”を含む。さらに、タイルごとに独立的なアップサンプリングを当該フラグが示している場合(independent_tile_upsampling_flag="True")に、PPSの拡張は、アップサンプリング画像の平滑化を実行するかを示すフラグ“inter_tile_smoothing_flag”を含む。従って、第1の例において、平滑化部40は、フラグ“independent_tile_upsampling_flag”がタイルごとに独立的なアップサンプリングを示し、且つフラグ“inter_tile_smoothing_flag”が平滑化の実行を示す場合に、タイル間の境界部分においてアップサンプリング画像を平滑化する。これらフラグは、PPSの拡張ではなくPPSそのものに含まれてもよい。また、タイルではなくスライスについて同様のシンタックスが採用されてもよい。
 このようなフラグを導入することにより、ユーザの要件又は画像の用途に応じて平滑化の実行のオン及びオフを柔軟に切り替えることが可能となる。例えば、エンコーダは、高い画質が望まれる場合にフラグ“inter_tile_smoothing_flag”を真(true)に設定して画質を向上させ、それ以外の場合に当該フラグを偽(false)に設定して処理の負荷を軽減してもよい。下の表2は、シンタックスの第2の例を示している。
Figure JPOXMLDOC01-appb-T000005
 第2の例において、SPSの拡張“seq_parameter_set_extension()”は、アップサンプリング画像の平滑化を実行するかを示すフラグ“inter_tile_smoothing_flag”を含む。また、PPSの拡張“pic_parameter_set_extension()”は、タイル分割が有効である場合に、ベースレイヤ画像をタイルごとに独立的にアップサンプリングするかを示すフラグ“independent_tile_upsampling_flag”を含む。第2の例において、平滑化部40は、フラグ“inter_tile_smoothing_flag”がアップサンプリング画像の平滑化を実行することを示す場合に、フラグ“independent_tile_upsampling_flag”がタイルごとに独立的なアップサンプリングを示すピクチャについてタイル間の境界部分でアップサンプリング画像の平滑化を実行する一方、フラグ“independent_tile_upsampling_flag”がタイルごとに独立的なアップサンプリングを示さないピクチャについてアップサンプリング画像の平滑化を実行しない。第2の例において、フラグ“inter_tile_smoothing_flag”は、SPSの拡張ではなくSPSそのものに含まれてもよく、又はVPSに含まれてもよい。また、タイルではなくスライスについて同様のシンタックスが採用されてもよい。第2の例では、シーケンスごとにフラグ“inter_tile_smoothing_flag”が1つのみ符号化されるため、新たに追加されるパラメータの符号量は第1の例と比較して少なくて済む。
  [2-5.フィルタ強度の制御]
 平滑化制御部42は、平滑化部40における平滑化の強度を可変的に制御してもよい。例えば平滑化制御部42は、ベースレイヤの画像又はエンハンスメントレイヤの画像について、領域間でループフィルタ24が適用されない場合の平滑化フィルタ44の強度を、領域間でループフィルタ24が適用される場合よりも強く設定してもよい。例えば、上記非特許文献1により定義された仕様によれば、PPS内に符号化されるフラグ“loop_filter_across_tiles_enabled_flag”が真である場合に、タイル間の境界にデブロックフィルタ及びSAOフィルタが適用され得る。この場合、タイル間の境界にデブロックフィルタ及びSAOフィルタが適用されると、これらフィルタによってブロック歪みは少なくとも部分的に除去され、ある程度高い画質が確保されるであろう。そこで、この場合には、平滑化フィルタの強度を適応的に下げ又は平滑化フィルタを無効化することで、処理リソースの消費を抑制することができる。
 <3.一実施形態に係る符号化時の処理の流れ>
  [3-1.概略的な流れ]
 図12は、一実施形態に係る符号化時の概略的な処理の流れの一例を示すフローチャートである。なお、説明の簡明さのために、本開示に係る技術に直接的に関連しない処理ステップは、図から省略されている。図12に示した処理は、映像を構成するピクチャの各々について実行される。
 図12を参照すると、まず、BL符号化部1aは、ベースレイヤの符号化処理を領域別に並列的に実行し、ベースレイヤの符号化ストリームを生成する(ステップS11)。
 次に、EL符号化部1bは、共通メモリ2によりバッファリングされるベースレイヤの画像(復号画像及び予測誤差画像の一方又は双方)を領域別に並列的にアップサンプリングし、アップサンプリング画像を生成する(ステップS12)。
 次に、EL符号化部1bは、アップサンプリング画像を平滑化するか否かを判定し(ステップS13)、アップサンプリング画像を平滑化すると判定した場合にはアップサンプリング画像の領域間の境界部分に平滑化フィルタを適用する(ステップS14)。
 次に、EL符号化部1bは、エンハンスメントレイヤの符号化処理を領域別に並列的に実行し、エンハンスメントレイヤの符号化ストリームを生成する(ステップS15)。ここで実行されるエンハンスメントレイヤの符号化処理において、アップサンプリングされ及び必要に応じて平滑化されたベースレイヤの画像は、インターレイヤ予測において参照画像として使用される。
 次に、多重化部3は、BL符号化部1aにより生成されるベースレイヤの符号化ストリームと、EL符号化部1bにより生成されるエンハンスメントレイヤの符号化ストリームとを多重化し、マルチレイヤの多重化ストリームを生成する(ステップS16)。
  [3-2.アップサンプリングに関連する処理]
 図13は、エンハンスメントレイヤの符号化処理におけるアップサンプリングに関連する処理の流れの一例を示すフローチャートである。図13に示した処理は、各ピクチャ内の複数の領域について並列的に実行され得る。
 図13を参照すると、まず、フィルタ制御部36は、エンハンスメントレイヤの領域内の注目ブロックに対応するベースレイヤの参照ブロックを識別する(ステップS21)。ここで識別される参照ブロックは、注目ブロックのコロケーテッドブロック(画像内の同じ場所を占めるブロック)であってよい。
 ステップS23~ステップS27の処理は、注目ブロック内の補間画素位置ごとに繰り返される(ステップS22)。補間画素位置は、レイヤ間の解像度比に応じて決定される。各ループにおいて、アップサンプリングフィルタ38は、フィルタ制御部36により構築されるフィルタタップに適用すべきフィルタ係数を、係数メモリ37から取得する(ステップS23)。フィルタ制御部36は、領域ごとに独立的にアップサンプリングを実行するかを判定する(ステップS24)。また、領域ごとに独立的にアップサンプリングを実行すると判定した場合に、フィルタ制御部36は、当該ループの補間画素位置について領域外のフィルタタップが存在するかをさらに判定する(ステップS25)。そして、フィルタ制御部36は、領域外のフィルタタップが存在する場合、領域内の画素をミラーリングすることによって、暫定的なフィルタタップを生成する(ステップS26)。そして、アップサンプリングフィルタ38は、フィルタ制御部36により構築されるフィルタタップをフィルタリングすることにより、補間画素値を算出する(ステップS27)。
 その後、領域内に次の注目ブロックが存在する場合には、処理はステップS21へ戻り、次の注目ブロックについて上述した処理が繰り返される(ステップS28)。領域内に次の注目ブロックが存在しない場合には、図13のアップサンプリング処理は終了する。
  [3-3.平滑化に関連する処理]
 図14は、エンハンスメントレイヤの符号化処理における平滑化に関連する処理の流れの一例を示すフローチャートである。図14に示した処理は、各ピクチャ内の互いに隣接する複数の領域についてアップサンプリング画像が生成された後に実行され得る。
 図14を参照すると、まず、平滑化制御部42は、領域間の境界部分においてアップサンプリング画像を平滑化するか否かを判定する(ステップS31)。例えば、領域ごとに独立的なアップサンプリングが実行されなかった場合、又は平滑化がオフに設定されている場合には、平滑化制御部42は、アップサンプリング画像を平滑化しないと判定し得る。そうでない場合、処理はステップS32へ進む。
 ステップS32において、平滑化制御部42は、領域間の1つ以上の境界のうちの注目境界の参照画素を、ラインバッファ43に格納する(ステップS32)。次に、平滑化フィルタ44は、ラインバッファ43に格納された参照画素をフィルタリングすることにより、注目境界上の1つ以上の画素についての平滑化された画素値を算出する(ステップS33)。その後、未処理の境界が残っている場合には、処理はステップS32へ戻り、次の注目境界について上述した処理が繰り返される(ステップS34)。未処理の境界が残っていない場合には、処理はステップS35へ進む。
 ステップS35において、可逆符号化部16は、平滑化に関するパラメータを符号化する(ステップS35)。ここで符号化されるパラメータは、例えば、ベースレイヤ画像を領域ごとに独立的にアップサンプリングするかを示す第1のフラグと、アップサンプリング画像の平滑化を実行するかを示す第2のフラグとを含み得る。
 <4.一実施形態に係るEL復号部の構成例>
  [4-1.全体的な構成]
 図15は、図6に示したEL復号部6bの構成の一例を示すブロック図である。図15を参照すると、EL復号部6bは、蓄積バッファ61、可逆復号部62、逆量子化部63、逆直交変換部64、加算部65、ループフィルタ66、並び替えバッファ67、D/A(Digital to Analogue)変換部68、フレームメモリ69、セレクタ70及び71、イントラ予測部80、インター予測部81、アップサンプリング部85及び平滑化部90を備える。
 蓄積バッファ61は、逆多重化部5から入力されるエンハンスメントレイヤの符号化ストリームを記憶媒体を用いて一時的に蓄積する。
 可逆復号部62は、蓄積バッファ61から入力されるエンハンスメントレイヤの符号化ストリームから、符号化の際に使用された符号化方式に従ってエンハンスメントレイヤの量子化データを復号する。また、可逆復号部62は、符号化ストリームのヘッダ領域に挿入されている情報を復号する。可逆復号部62により復号される情報は、例えば、イントラ予測に関する情報、インター予測に関する情報、及びアップアンプリング又は平滑化に関するパラメータを含み得る。可逆復号部62は、量子化データを逆量子化部63へ出力する。また、可逆復号部62は、イントラ予測に関する情報をイントラ予測部80へ出力する。また、可逆復号部62は、インター予測に関する情報をインター予測部81へ出力する。また、可逆復号部62は、アップサンプリングに関するパラメータをアップサンプリング部85へ、平滑化に関するパラメータを平滑化部90へ出力する。
 逆量子化部63は、可逆復号部62から入力される量子化データを、符号化の際に使用されたものと同じ量子化ステップ(又は同じ量子化行列)で逆量子化し、エンハンスメントレイヤの変換係数データを復元する。逆量子化部63は、復元した変換係数データを逆直交変換部64へ出力する。
 逆直交変換部64は、符号化の際に使用された直交変換方式に従い、逆量子化部63から入力される変換係数データについて逆直交変換を行うことにより、予測誤差データを生成する。逆直交変換部64は、生成した予測誤差データを加算部65へ出力する。
 加算部65は、逆直交変換部64から入力される予測誤差データと、セレクタ71から入力される予測画像データとを加算することにより、復号画像データを生成する。そして、加算部65は、生成した復号画像データをループフィルタ66及びフレームメモリ69へ出力する。
 ループフィルタ66は、EL符号化部1bのループフィルタ24と同様、ブロック歪みを軽減するデブロックフィルタ、各画素値にオフセット値を加えるサンプル適応オフセットフィルタ、及び原画像との誤差を最小化する適応ループフィルタを含み得る。ループフィルタ66は、加算部65から入力される復号画像データをフィルタリングし、フィルタリング後の復号画像データを並び替えバッファ67及びフレームメモリ69へ出力する。
 並び替えバッファ67は、ループフィルタ66から入力される画像を並び替えることにより、時系列の一連の画像データを生成する。そして、並び替えバッファ67は、生成した画像データをD/A変換部68へ出力する。
 D/A変換部68は、並び替えバッファ67から入力されるデジタル形式の画像データをアナログ形式の画像信号に変換する。そして、D/A変換部68は、例えば、画像復号装置60と接続されるディスプレイ(図示せず)にアナログ画像信号を出力することにより、エンハンスメントレイヤの画像を表示させる。
 フレームメモリ69は、加算部65から入力されるフィルタリング前の復号画像データ、ループフィルタ66から入力されるフィルタリング後の復号画像データ、及び平滑化部90から入力されるベースレイヤの参照画像データを記憶媒体を用いて記憶する。
 セレクタ70は、可逆復号部62により取得されるモード情報に応じて、画像内のブロックごとに、フレームメモリ69からの画像データの出力先をイントラ予測部80とインター予測部81との間で切り替える。例えば、セレクタ70は、イントラ予測モードが指定された場合には、フレームメモリ69から供給されるフィルタリング前の復号画像データを参照画像データとしてイントラ予測部80へ出力する。また、セレクタ70は、インター予測モードが指定された場合には、フィルタリング後の復号画像データを参照画像データとしてインター予測部81へ出力する。さらに、イントラ予測部80又はインター予測部81においてインターレイヤ予測が実行される場合、セレクタ70は、ベースレイヤの参照画像データをイントラ予測部80又はインター予測部81へ供給する。
 セレクタ71は、可逆復号部62により取得されるモード情報に応じて、加算部65へ供給すべき予測画像データの出力元をイントラ予測部80とインター予測部81との間で切り替える。例えば、セレクタ71は、イントラ予測モードが指定された場合には、イントラ予測部80から出力される予測画像データを加算部65へ供給する。また、セレクタ71は、インター予測モードが指定された場合には、インター予測部81から出力される予測画像データを加算部65へ供給する。
 イントラ予測部80は、可逆復号部62から入力されるイントラ予測に関する情報とフレームメモリ69からの参照画像データとに基づいてエンハンスメントレイヤのイントラ予測処理を行い、予測画像データを生成する。イントラ予測部80は、イントラ予測モードとしてイントラBL予測又はイントラ残差予測が指定された場合には、予測対象ブロックに対応するベースレイヤ内のコロケーテッドブロックを参照ブロックとして使用する。イントラBL予測の場合、イントラ予測部80は、参照ブロックの復号画像に基づいて予測画像を生成する。イントラ残差予測の場合、イントラ予測部80は、参照ブロックの予測誤差画像に基づいてイントラ予測の予測誤差を予測し、予測した予測誤差の加算された予測画像を生成する。イントラ予測部80は、生成したエンハンスメントレイヤの予測画像データをセレクタ71へ出力する。
 インター予測部81は、可逆復号部62から入力されるインター予測に関する情報とフレームメモリ69からの参照画像データとに基づいてエンハンスメントレイヤのインター予測処理(動き補償処理)を行い、予測画像データを生成する。インター予測部81は、インター予測モードとしてインター残差予測が指定された場合には、予測対象ブロックに対応するベースレイヤ内のコロケーテッドブロックを参照ブロックとして使用する。インター残差予測の場合、インター予測部81は、参照ブロックの予測誤差画像に基づいてインター予測の予測誤差を予測し、予測した予測誤差の加算された予測画像を生成する。インター予測部81は、生成したエンハンスメントレイヤの予測画像データをセレクタ71へ出力する。
 アップサンプリング部85は、共通メモリ7によりバッファリングされるベースレイヤの画像を、スライス又はタイルに相当し得る領域ごとに並列的に、レイヤ間の解像度比及び可逆復号部62により復号されるパラメータに従ってアップサンプリングする。アップサンプリング部85によりアップサンプリングされる画像は、ベースレイヤの復号画像及び予測誤差画像の一方又は双方であってよい。そして、アップサンプリング部85は、アップサンプリングにより空間解像度の高められたアップサンプリング画像を、平滑化部90へ出力する。アップサンプリング部85の詳細な構成の一例について、後にさらに説明する。
 平滑化部90は、可逆復号部62により復号されるパラメータに従って、複数の領域の間の境界部分において、アップサンプリング部85により生成されるアップサンプリング画像を平滑化する。そして、平滑化部90は、平滑化後のアップアンプリング画像(又は、領域ごとに独立的なアップサンプリングが実行されない場合にアップサンプリング部85によって生成されたアップサンプリング画像)を、フレームメモリ69に格納する。フレームメモリ69に格納されたベースレイヤのアップサンプリング画像は、イントラ予測部80又はインター予測部81により、インターレイヤ予測において参照画像として使用され得る。平滑化部90の詳細な構成の一例について、後にさらに説明する。
 本実施形態において可逆復号部62により復号されるパラメータは、ベースレイヤ画像を領域ごとに独立的にアップサンプリングするかを示す第1のフラグを含む。第1のフラグは、アップサンプリング部85及び平滑化部90により参照される。また、可逆復号部62により復号されるパラメータは、アップサンプリング画像の平滑化を実行するかを示す第2のフラグを含み得る。第2のフラグは、平滑化部90により参照される。これらフラグのシンタックスの例は、表1及び表2に示されている。表1に示したシンタックスの第1の例において、可逆復号部62は、第1のフラグが領域ごとに独立的なアップサンプリングを示す場合にのみ、エンハンスメントレイヤのPPS又は当該PPSの拡張から第2のフラグを復号する。表2に示したシンタックスの第2の例において、可逆復号部62は、エンハンスメントレイヤのSPS又は当該SPSの拡張から第2のフラグを復号し、PPS又は当該PPSの拡張から第1のフラグを復号する。
  [4-2.アップサンプリング部の詳細な構成]
 図16は、図15に示したアップサンプリング部85の構成の一例を示すブロック図である。図16を参照すると、アップサンプリング部85は、フィルタ制御部86、係数メモリ87及びアップサンプリングフィルタ88を有する。フィルタ制御部86及びアップサンプリングフィルタ88は、並列的に動作可能な複数の処理リソースを用いて実装される。ここでは、主に画像内の4つの領域について並列処理が行われる例を説明するが、かかる例に限定されず、いくつの領域について並列処理が行われてもよい。
 フィルタ制御部86は、アップサンプリングに関する復号されたパラメータを取得する。例えば、フィルタ制御部86は、ベースレイヤ画像とエンハンスメントレイヤ画像との間の解像度比を取得する。また、フィルタ制御部86は、アップサンプリングが領域ごとに独立的に実行されるべきかを示すフラグを取得する。そして、フィルタ制御部86は、共通メモリ7から各領域のベースレイヤ画像を取得し、補間画素位置ごとにフィルタタップを構築して、構築したフィルタタップをアップサンプリングフィルタ88へ出力する。復号されたフラグがアップサンプリングが領域ごとに独立的に実行されるべきであることを示す場合、フィルタ制御部86は、図4を用いて説明したように、領域の境界部分において、隣接領域の画素を参照せず、領域内の画素をミラーリングすることにより暫定的に生成される画素をフィルタタップに含める。
 係数メモリ87は、アップサンプリングフィルタ88により使用される様々なフィルタ係数の候補を記憶するメモリである。フィルタ係数は、非特許文献2に記載された補間フィルタと同じであってもよく、又は異なってもよい。係数メモリ87は、例えば、補間される画素位置とタップ数との各組合せについて、それぞれフィルタ係数のセットを記憶する。係数メモリ87により記憶されるフィルタ係数のセットは、アップサンプリングフィルタ88により読み出される。なお、フィルタ係数は、フィルタ制御部86により動的に計算されてもよい。
 アップサンプリングフィルタ88は、可逆復号部62により復号されたパラメータに従って、ベースレイヤよりも空間解像度の高いエンハンスメントレイヤの画像を復号する際に参照されるベースレイヤの画像をアップサンプリングする。より具体的には、アップサンプリングフィルタ88は、解像度比に応じて順に走査される補間画素の各々について、フィルタ制御部86により構築されたフィルタタップを、係数メモリ87から取得されるフィルタ係数でフィルタリングすることにより、補間画素値を算出する。それにより、参照画像として使用されるベースレイヤの画像の空間解像度が、エンハンスメントレイヤと同等の解像度まで高められる。アップサンプリングフィルタ88によるアップサンプリングは、例えば4つの領域のベースレイヤ画像RGB1、RGB2、RGB3及びRGB4について並列的に実行され、4つの領域のアップサンプリング画像RGU1、RGU2、RGU3及びRGU4が生成される。アップサンプリングフィルタ88は、アップサンプリング後の参照画像データ、即ちアップサンプリング画像RGU1、RGU2、RGU3及びRGU4を、平滑化部90へ出力する。
  [4-3.平滑化部の詳細な構成]
 図17は、図15に示した平滑化部90の構成の一例を示すブロック図である。図17を参照すると、平滑化部90は、複数の領域メモリ91a、91b、91c及び91d、平滑化制御部92、ラインバッファ93及び平滑化フィルタ94を有する。平滑化制御部92及び平滑化フィルタ94は、並列的に動作可能な複数の処理リソースを用いて実装されてもよく、又は単一の処理リソースを用いて実装されてもよい。
 第1の領域メモリ91aは、アップサンプリング部85から入力される第1の領域のアップサンプリング画像RGU1を一時的に記憶する。第2の領域メモリ91bは、アップサンプリング部85から入力される第2の領域のアップサンプリング画像RGU2を一時的に記憶する。第3の領域メモリ91cは、アップサンプリング部85から入力される第3の領域のアップサンプリング画像RGU3を一時的に記憶する。第4の領域メモリ91dは、アップサンプリング部85から入力される第4の領域のアップサンプリング画像RGU4を一時的に記憶する。
 平滑化制御部92は、平滑化に関する復号されたパラメータを取得する。例えば、平滑化制御部92は、領域ごとに独立的なアップサンプリングが実行されたかを示す第1のフラグを取得する。平滑化制御部92は、さらに、アップサンプリング画像の平滑化を実行するかを示す第2のフラグを取得し得る。そして、平滑化制御部92は、取得したフラグに基づいて、複数の領域の間の境界部分において平滑化を実行するかを判定する。平滑化制御部92は、第1のフラグが領域ごとに独立的なアップサンプリングを示す場合に、境界部分においてアップサンプリング画像を平滑化すると一律的に決定してもよい。その代わりに、平滑化制御部92は、第1のフラグが領域ごとに独立的なアップサンプリングを示し、且つ第2のフラグが平滑化の実行を示す場合に限り、境界部分においてアップサンプリング画像を平滑化すると決定してもよい。上述したシンタックスの第2の例が採用されるケースでは、平滑化制御部92は、第2のフラグがアップサンプリング画像の平滑化を実行することを示す場合に、第1のフラグが領域ごとに独立的なアップサンプリングを示すピクチャについて平滑化を実行すると決定し、第1のフラグが領域ごとに独立的なアップサンプリングを示さないピクチャについて平滑化を実行しないと決定し得る。平滑化制御部92は、アップサンプリング画像を平滑化しないと決定した場合には、各領域メモリ91a、91b、91c及び91dにより記憶されているアップサンプリング画像をそのまま、フレームメモリ69へ出力させる。一方、平滑化制御部92は、境界部分においてアップサンプリング画像を平滑化すると決定した場合には、各領域のアップサンプリング画像の境界部分に位置する画素値をラインバッファ93へ格納し、平滑化フィルタ94に平滑化を実行させる。
 ラインバッファ93は、複数の領域の間の境界部分のアップサンプリング後の画素値をバッファリングする。ラインバッファ93によりバッファリングされる画素は、平滑化フィルタ94におけるフィルタリングのフィルタタップとして扱われる。
 平滑化フィルタ94は、領域間の境界上の画素の各々について、ラインバッファ93によりフィルタタップとしてバッファリングされる画素値から、図10を用いて説明したように、平滑化後の画素値を算出する。垂直境界と水平境界とが交差する場所の平滑化は、垂直方向及び水平方向のいずれを先にして行われれてもよい。このような平滑化の結果、アップサンプリングによって生じたブロック歪みが修復される。平滑化フィルタ94は、領域間の境界上の画素の各々について、領域メモリ91a、91b、91c及び91dにより記憶されている画素値を平滑化後の画素値で更新する。そして、平滑化制御部92は、平滑化後のアップサンプリング画像RGU1_sm、RGU2_sm、RGU3_sm及びRGU4_smを、参照画像データとしてフレームメモリ69へ出力する。
 平滑化制御部92は、平滑化部90における平滑化の強度を可変的に制御してもよい。例えば平滑化制御部92は、ベースレイヤの画像又はエンハンスメントレイヤの画像について、領域間でループフィルタ66が適用されない場合の平滑化フィルタ94の強度を、領域間でループフィルタ66が適用される場合よりも強く設定してもよい。このように、ループフィルタ66によってブロック歪みが少なくとも部分的に除去される場合には、平滑化フィルタの強度を適応的に下げ又は平滑化フィルタを無効化することで、処理リソースの消費を抑制することができる。
 <5.一実施形態に係る復号時の処理の流れ>
  [5-1.概略的な流れ]
 図18は、一実施形態に係る復号時の概略的な処理の流れの一例を示すフローチャートである。なお、説明の簡明さのために、本開示に係る技術に直接的に関連しない処理ステップは、図から省略されている。図18に示した処理は、映像を構成するピクチャの各々について実行される。
 図18を参照すると、まず、逆多重化部5は、マルチレイヤの多重化ストリームをベースレイヤの符号化ストリーム及びエンハンスメントレイヤの符号化ストリームに逆多重化する(ステップS60)。
 次に、BL復号部6aは、ベースレイヤの復号処理を領域別に並列的に実行し、ベースレイヤの符号化ストリームからベースレイヤ画像を再構築する(ステップS61)。
 次に、EL復号部6bは、共通メモリ7によりバッファリングされるベースレイヤの画像(復号画像及び予測誤差画像の一方又は双方)を領域別に並列的にアップサンプリングし、アップサンプリング画像を生成する(ステップS62)。
 次に、EL復号部6bは、アップサンプリング画像を平滑化するか否かを判定し(ステップS63)、アップサンプリング画像を平滑化すると判定した場合にはアップサンプリング画像の領域間の境界部分に平滑化フィルタを適用する(ステップS64)。
 次に、EL符号化部1bは、エンハンスメントレイヤの符号化処理を領域別に並列的に実行し、エンハンスメントレイヤの符号化ストリームを生成する(ステップS65)。ここで実行されるエンハンスメントレイヤの符号化処理において、アップサンプリングされ及び必要に応じて平滑化されたベースレイヤの画像は、インターレイヤ予測において参照画像として使用される。
  [5-2.アップサンプリングに関連する処理]
 エンハンスメントレイヤの復号処理におけるアップサンプリングに関連する処理の流れは、図13を用いて説明したような符号化時の処理の流れと同様であってよい。
  [5-3.平滑化に関連する処理]
 図19は、エンハンスメントレイヤの復号処理における平滑化に関連する処理の流れの一例を示すフローチャートである。図19に示した処理は、各ピクチャ内の互いに隣接する複数の領域についてアップサンプリング画像が生成された後に実行され得る。
 図19を参照すると、まず、平滑化制御部92は、平滑化に関する復号されたパラメータを可逆復号部62から取得する(ステップS80)。次に、平滑化制御部92は、領域間の境界部分においてアップサンプリング画像を平滑化するか否かを判定する(ステップS81)。例えば、領域ごとに独立的なアップサンプリングが実行されなかった場合、又は平滑化がオフに設定されることを示すフラグが復号された場合には、平滑化制御部92は、アップサンプリング画像を平滑化しないと判定し得る。そうでない場合、処理はステップS82へ進む。
 ステップS82において、平滑化制御部92は、領域間の1つ以上の境界のうちの注目境界の参照画素を、ラインバッファ43に格納する(ステップS82)。次に、平滑化フィルタ94は、ラインバッファ43に格納された参照画素をフィルタリングすることにより、注目境界上の1つ以上の画素についての平滑化された画素値を算出する(ステップS83)。その後、未処理の境界が残っている場合には、処理はステップS82へ戻り、次の注目境界について上述した処理が繰り返される(ステップS84)。未処理の境界が残っていない場合には、図19の処理は終了し、平滑化後の(又は平滑化の対象外の)アップサンプリング画像が参照画像データとしてフレームメモリ69へ出力される。
 <6.応用例>
  [6-1.様々な製品への応用]
 上述した実施形態に係る画像符号化装置10及び画像復号装置60は、衛星放送、ケーブルTVなどの有線放送、インターネット上での配信、及びセルラー通信による端末への配信などにおける送信機若しくは受信機、光ディスク、磁気ディスク及びフラッシュメモリなどの媒体に画像を記録する記録装置、又は、これら記憶媒体から画像を再生する再生装置などの様々な電子機器に応用され得る。以下、4つの応用例について説明する。
   (1)第1の応用例
 図20は、上述した実施形態を適用したテレビジョン装置の概略的な構成の一例を示している。テレビジョン装置900は、アンテナ901、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、表示部906、音声信号処理部907、スピーカ908、外部インタフェース909、制御部910、ユーザインタフェース911、及びバス912を備える。
 チューナ902は、アンテナ901を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ902は、復調により得られた符号化ビットストリームをデマルチプレクサ903へ出力する。即ち、チューナ902は、画像が符号化されている符号化ストリームを受信する、テレビジョン装置900における伝送手段としての役割を有する。
 デマルチプレクサ903は、符号化ビットストリームから視聴対象の番組の映像ストリーム及び音声ストリームを分離し、分離した各ストリームをデコーダ904へ出力する。また、デマルチプレクサ903は、符号化ビットストリームからEPG(Electronic Program Guide)などの補助的なデータを抽出し、抽出したデータを制御部910に供給する。なお、デマルチプレクサ903は、符号化ビットストリームがスクランブルされている場合には、デスクランブルを行ってもよい。
 デコーダ904は、デマルチプレクサ903から入力される映像ストリーム及び音声ストリームを復号する。そして、デコーダ904は、復号処理により生成される映像データを映像信号処理部905へ出力する。また、デコーダ904は、復号処理により生成される音声データを音声信号処理部907へ出力する。
 映像信号処理部905は、デコーダ904から入力される映像データを再生し、表示部906に映像を表示させる。また、映像信号処理部905は、ネットワークを介して供給されるアプリケーション画面を表示部906に表示させてもよい。また、映像信号処理部905は、映像データについて、設定に応じて、例えばノイズ除去などの追加的な処理を行ってもよい。さらに、映像信号処理部905は、例えばメニュー、ボタン又はカーソルなどのGUI(Graphical User Interface)の画像を生成し、生成した画像を出力画像に重畳してもよい。
 表示部906は、映像信号処理部905から供給される駆動信号により駆動され、表示デバイス(例えば、液晶ディスプレイ、プラズマディスプレイ又はOLEDなど)の映像面上に映像又は画像を表示する。
 音声信号処理部907は、デコーダ904から入力される音声データについてD/A変換及び増幅などの再生処理を行い、スピーカ908から音声を出力させる。また、音声信号処理部907は、音声データについてノイズ除去などの追加的な処理を行ってもよい。
 外部インタフェース909は、テレビジョン装置900と外部機器又はネットワークとを接続するためのインタフェースである。例えば、外部インタフェース909を介して受信される映像ストリーム又は音声ストリームが、デコーダ904により復号されてもよい。即ち、外部インタフェース909もまた、画像が符号化されている符号化ストリームを受信する、テレビジョン装置900における伝送手段としての役割を有する。
 制御部910は、CPU(Central Processing Unit)などのプロセッサ、並びにRAM(Random Access Memory)及びROM(Read Only Memory)などのメモリを有する。メモリは、CPUにより実行されるプログラム、プログラムデータ、EPGデータ、及びネットワークを介して取得されるデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、テレビジョン装置900の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース911から入力される操作信号に応じて、テレビジョン装置900の動作を制御する。
 ユーザインタフェース911は、制御部910と接続される。ユーザインタフェース911は、例えば、ユーザがテレビジョン装置900を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース911は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部910へ出力する。
 バス912は、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、音声信号処理部907、外部インタフェース909及び制御部910を相互に接続する。
 このように構成されたテレビジョン装置900において、デコーダ904は、上述した実施形態に係る画像復号装置60の機能を有する。それにより、テレビジョン装置900が空間解像度の異なるレイヤの画像を復号する際に、並列処理を維持しつつ画質の劣化を補償することができる。
   (2)第2の応用例
 図21は、上述した実施形態を適用した携帯電話機の概略的な構成の一例を示している。携帯電話機920は、アンテナ921、通信部922、音声コーデック923、スピーカ924、マイクロホン925、カメラ部926、画像処理部927、多重分離部928、記録再生部929、表示部930、制御部931、操作部932、及びバス933を備える。
 アンテナ921は、通信部922に接続される。スピーカ924及びマイクロホン925は、音声コーデック923に接続される。操作部932は、制御部931に接続される。バス933は、通信部922、音声コーデック923、カメラ部926、画像処理部927、多重分離部928、記録再生部929、表示部930、及び制御部931を相互に接続する。
 携帯電話機920は、音声通話モード、データ通信モード、撮影モード及びテレビ電話モードを含む様々な動作モードで、音声信号の送受信、電子メール又は画像データの送受信、画像の撮像、及びデータの記録などの動作を行う。
 音声通話モードにおいて、マイクロホン925により生成されるアナログ音声信号は、音声コーデック923に供給される。音声コーデック923は、アナログ音声信号を音声データへ変換し、変換された音声データをA/D変換し圧縮する。そして、音声コーデック923は、圧縮後の音声データを通信部922へ出力する。通信部922は、音声データを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号をアンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部922は、受信信号を復調及び復号して音声データを生成し、生成した音声データを音声コーデック923へ出力する。音声コーデック923は、音声データを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック923は、生成した音声信号をスピーカ924に供給して音声を出力させる。
 また、データ通信モードにおいて、例えば、制御部931は、操作部932を介するユーザによる操作に応じて、電子メールを構成する文字データを生成する。また、制御部931は、文字を表示部930に表示させる。また、制御部931は、操作部932を介するユーザからの送信指示に応じて電子メールデータを生成し、生成した電子メールデータを通信部922へ出力する。通信部922は、電子メールデータを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号をアンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部922は、受信信号を復調及び復号して電子メールデータを復元し、復元した電子メールデータを制御部931へ出力する。制御部931は、表示部930に電子メールの内容を表示させると共に、電子メールデータを記録再生部929の記憶媒体に記憶させる。
 記録再生部929は、読み書き可能な任意の記憶媒体を有する。例えば、記憶媒体は、RAM又はフラッシュメモリなどの内蔵型の記憶媒体であってもよく、ハードディスク、磁気ディスク、光磁気ディスク、光ディスク、USBメモリ、又はメモリカードなどの外部装着型の記憶媒体であってもよい。
 また、撮影モードにおいて、例えば、カメラ部926は、被写体を撮像して画像データを生成し、生成した画像データを画像処理部927へ出力する。画像処理部927は、カメラ部926から入力される画像データを符号化し、符号化ストリームを記録再生部929の記憶媒体に記憶させる。
 また、テレビ電話モードにおいて、例えば、多重分離部928は、画像処理部927により符号化された映像ストリームと、音声コーデック923から入力される音声ストリームとを多重化し、多重化したストリームを通信部922へ出力する。通信部922は、ストリームを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号をアンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。これら送信信号及び受信信号には、符号化ビットストリームが含まれ得る。そして、通信部922は、受信信号を復調及び復号してストリームを復元し、復元したストリームを多重分離部928へ出力する。多重分離部928は、入力されるストリームから映像ストリーム及び音声ストリームを分離し、映像ストリームを画像処理部927、音声ストリームを音声コーデック923へ出力する。画像処理部927は、映像ストリームを復号し、映像データを生成する。映像データは、表示部930に供給され、表示部930により一連の画像が表示される。音声コーデック923は、音声ストリームを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック923は、生成した音声信号をスピーカ924に供給して音声を出力させる。
 このように構成された携帯電話機920において、画像処理部927は、上述した実施形態に係る画像符号化装置10及び画像復号装置60の機能を有する。それにより、携帯電話機920が空間解像度の異なるレイヤの画像を符号化し又は復号する際に、並列処理を維持しつつ画質の劣化を補償することができる。
   (3)第3の応用例
 図22は、上述した実施形態を適用した記録再生装置の概略的な構成の一例を示している。記録再生装置940は、例えば、受信した放送番組の音声データ及び映像データを符号化して記録媒体に記録する。また、記録再生装置940は、例えば、他の装置から取得される音声データ及び映像データを符号化して記録媒体に記録してもよい。また、記録再生装置940は、例えば、ユーザの指示に応じて、記録媒体に記録されているデータをモニタ及びスピーカ上で再生する。このとき、記録再生装置940は、音声データ及び映像データを復号する。
 記録再生装置940は、チューナ941、外部インタフェース942、エンコーダ943、HDD(Hard Disk Drive)944、ディスクドライブ945、セレクタ946、デコーダ947、OSD(On-Screen Display)948、制御部949、及びユーザインタフェース950を備える。
 チューナ941は、アンテナ(図示せず)を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ941は、復調により得られた符号化ビットストリームをセレクタ946へ出力する。即ち、チューナ941は、記録再生装置940における伝送手段としての役割を有する。
 外部インタフェース942は、記録再生装置940と外部機器又はネットワークとを接続するためのインタフェースである。外部インタフェース942は、例えば、IEEE1394インタフェース、ネットワークインタフェース、USBインタフェース、又はフラッシュメモリインタフェースなどであってよい。例えば、外部インタフェース942を介して受信される映像データ及び音声データは、エンコーダ943へ入力される。即ち、外部インタフェース942は、記録再生装置940における伝送手段としての役割を有する。
 エンコーダ943は、外部インタフェース942から入力される映像データ及び音声データが符号化されていない場合に、映像データ及び音声データを符号化する。そして、エンコーダ943は、符号化ビットストリームをセレクタ946へ出力する。
 HDD944は、映像及び音声などのコンテンツデータが圧縮された符号化ビットストリーム、各種プログラム及びその他のデータを内部のハードディスクに記録する。また、HDD944は、映像及び音声の再生時に、これらデータをハードディスクから読み出す。
 ディスクドライブ945は、装着されている記録媒体へのデータの記録及び読み出しを行う。ディスクドライブ945に装着される記録媒体は、例えばDVDディスク(DVD-Video、DVD-RAM、DVD-R、DVD-RW、DVD+R、DVD+RW等)又はBlu-ray(登録商標)ディスクなどであってよい。
 セレクタ946は、映像及び音声の記録時には、チューナ941又はエンコーダ943から入力される符号化ビットストリームを選択し、選択した符号化ビットストリームをHDD944又はディスクドライブ945へ出力する。また、セレクタ946は、映像及び音声の再生時には、HDD944又はディスクドライブ945から入力される符号化ビットストリームをデコーダ947へ出力する。
 デコーダ947は、符号化ビットストリームを復号し、映像データ及び音声データを生成する。そして、デコーダ947は、生成した映像データをOSD948へ出力する。また、デコーダ904は、生成した音声データを外部のスピーカへ出力する。
 OSD948は、デコーダ947から入力される映像データを再生し、映像を表示する。また、OSD948は、表示する映像に、例えばメニュー、ボタン又はカーソルなどのGUIの画像を重畳してもよい。
 制御部949は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、記録再生装置940の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース950から入力される操作信号に応じて、記録再生装置940の動作を制御する。
 ユーザインタフェース950は、制御部949と接続される。ユーザインタフェース950は、例えば、ユーザが記録再生装置940を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース950は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部949へ出力する。
 このように構成された記録再生装置940において、エンコーダ943は、上述した実施形態に係る画像符号化装置10の機能を有する。また、デコーダ947は、上述した実施形態に係る画像復号装置60の機能を有する。それにより、記録再生装置940が空間解像度の異なるレイヤの画像を符号化し又は復号する際に、並列処理を維持しつつ画質の劣化を補償することができる。
   (4)第4の応用例
 図23は、上述した実施形態を適用した撮像装置の概略的な構成の一例を示している。撮像装置960は、被写体を撮像して画像を生成し、画像データを符号化して記録媒体に記録する。
 撮像装置960は、光学ブロック961、撮像部962、信号処理部963、画像処理部964、表示部965、外部インタフェース966、メモリ967、メディアドライブ968、OSD969、制御部970、ユーザインタフェース971、及びバス972を備える。
 光学ブロック961は、撮像部962に接続される。撮像部962は、信号処理部963に接続される。表示部965は、画像処理部964に接続される。ユーザインタフェース971は、制御部970に接続される。バス972は、画像処理部964、外部インタフェース966、メモリ967、メディアドライブ968、OSD969、及び制御部970を相互に接続する。
 光学ブロック961は、フォーカスレンズ及び絞り機構などを有する。光学ブロック961は、被写体の光学像を撮像部962の撮像面に結像させる。撮像部962は、CCD又はCMOSなどのイメージセンサを有し、撮像面に結像した光学像を光電変換によって電気信号としての画像信号に変換する。そして、撮像部962は、画像信号を信号処理部963へ出力する。
 信号処理部963は、撮像部962から入力される画像信号に対してニー補正、ガンマ補正、色補正などの種々のカメラ信号処理を行う。信号処理部963は、カメラ信号処理後の画像データを画像処理部964へ出力する。
 画像処理部964は、信号処理部963から入力される画像データを符号化し、符号化データを生成する。そして、画像処理部964は、生成した符号化データを外部インタフェース966又はメディアドライブ968へ出力する。また、画像処理部964は、外部インタフェース966又はメディアドライブ968から入力される符号化データを復号し、画像データを生成する。そして、画像処理部964は、生成した画像データを表示部965へ出力する。また、画像処理部964は、信号処理部963から入力される画像データを表示部965へ出力して画像を表示させてもよい。また、画像処理部964は、OSD969から取得される表示用データを、表示部965へ出力する画像に重畳してもよい。
 OSD969は、例えばメニュー、ボタン又はカーソルなどのGUIの画像を生成して、生成した画像を画像処理部964へ出力する。
 外部インタフェース966は、例えばUSB入出力端子として構成される。外部インタフェース966は、例えば、画像の印刷時に、撮像装置960とプリンタとを接続する。また、外部インタフェース966には、必要に応じてドライブが接続される。ドライブには、例えば、磁気ディスク又は光ディスクなどのリムーバブルメディアが装着され、リムーバブルメディアから読み出されるプログラムが、撮像装置960にインストールされ得る。さらに、外部インタフェース966は、LAN又はインターネットなどのネットワークに接続されるネットワークインタフェースとして構成されてもよい。即ち、外部インタフェース966は、撮像装置960における伝送手段としての役割を有する。
 メディアドライブ968に装着される記録媒体は、例えば、磁気ディスク、光磁気ディスク、光ディスク、又は半導体メモリなどの、読み書き可能な任意のリムーバブルメディアであってよい。また、メディアドライブ968に記録媒体が固定的に装着され、例えば、内蔵型ハードディスクドライブ又はSSD(Solid State Drive)のような非可搬性の記憶部が構成されてもよい。
 制御部970は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、撮像装置960の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース971から入力される操作信号に応じて、撮像装置960の動作を制御する。
 ユーザインタフェース971は、制御部970と接続される。ユーザインタフェース971は、例えば、ユーザが撮像装置960を操作するためのボタン及びスイッチなどを有する。ユーザインタフェース971は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部970へ出力する。
 このように構成された撮像装置960において、画像処理部964は、上述した実施形態に係る画像符号化装置10及び画像復号装置60の機能を有する。それにより、撮像装置960が空間解像度の異なるレイヤの画像を符号化し又は復号する際に、並列処理を維持しつつ画質の劣化を補償することができる。
  [6-2.スケーラブル符号化の様々な用途]
 上述したスケーラブル符号化の利点は、様々な用途において享受され得る。以下、3つの用途の例について説明する。
   (1)第1の例
 第1の例において、スケーラブル符号化は、データの選択的な伝送のために利用される。図24を参照すると、データ伝送システム1000は、ストリーム記憶装置1001及び配信サーバ1002を含む。配信サーバ1002は、ネットワーク1003を介して、いくつかの端末装置と接続される。ネットワーク1003は、有線ネットワークであっても無線ネットワークであってもよく、又はそれらの組合せであってもよい。図24には、端末装置の例として、PC(Personal Computer)1004、AV機器1005、タブレット装置1006及び携帯電話機1007が示されている。
 ストリーム記憶装置1001は、例えば、画像符号化装置10により生成される多重化ストリームを含むストリームデータ1011を記憶する。多重化ストリームは、ベースレイヤ(BL)の符号化ストリーム及びエンハンスメントレイヤ(EL)の符号化ストリームを含む。配信サーバ1002は、ストリーム記憶装置1001に記憶されているストリームデータ1011を読み出し、読み出したストリームデータ1011の少なくとも一部分を、ネットワーク1003を介して、PC1004、AV機器1005、タブレット装置1006、及び携帯電話機1007へ配信する。
 端末装置へのストリームの配信の際、配信サーバ1002は、端末装置の能力又は通信環境などの何らかの条件に基づいて、配信すべきストリームを選択する。例えば、配信サーバ1002は、端末装置が扱うことのできる画質を上回るほど高い画質を有する符号化ストリームを配信しないことにより、端末装置における遅延、オーバフロー又はプロセッサの過負荷の発生を回避してもよい。また、配信サーバ1002は、高い画質を有する符号化ストリームを配信しないことにより、ネットワーク1003の通信帯域が占有されることを回避してもよい。一方、配信サーバ1002は、これら回避すべきリスクが存在しない場合、又はユーザとの契約若しくは何らかの条件に基づいて適切だと判断される場合に、多重化ストリームの全てを端末装置へ配信してもよい。
 図24の例では、配信サーバ1002は、ストリーム記憶装置1001からストリームデータ1011を読み出す。そして、配信サーバ1002は、高い処理能力を有するPC1004へ、ストリームデータ1011をそのまま配信する。また、AV機器1005は低い処理能力を有するため、配信サーバ1002は、ストリームデータ1011から抽出されるベースレイヤの符号化ストリームのみを含むストリームデータ1012を生成し、ストリームデータ1012をAV機器1005へ配信する。また、配信サーバ1002は、高い通信レートで通信可能であるタブレット装置1006へストリームデータ1011をそのまま配信する。また、携帯電話機1007は低い通信レートでしか通信できないため、配信サーバ1002は、ベースレイヤの符号化ストリームのみを含むストリームデータ1012を携帯電話機1007へ配信する。
 このように多重化ストリームを用いることにより、伝送されるトラフィックの量を適応的に調整することができる。また、個々のレイヤがそれぞれ単独に符号化されるケースと比較して、ストリームデータ1011の符号量は削減されるため、ストリームデータ1011の全体が配信されるとしても、ネットワーク1003に掛かる負荷は抑制される。さらに、ストリーム記憶装置1001のメモリリソースも節約される。
 端末装置のハードウエア性能は、装置ごとに異なる。また、端末装置において実行されるアプリケーションのケイパビリティも様々である。さらに、ネットワーク1003の通信容量もまた様々である。データ伝送のために利用可能な容量は、他のトラフィックの存在に起因して、時々刻々と変化し得る。そこで、配信サーバ1002は、ストリームデータの配信を開始する前に、配信先の端末装置との間のシグナリングを通じて、端末装置のハードウエア性能及びアプリケーションケイパビリティなどに関する端末情報と、ネットワーク1003の通信容量などに関するネットワーク情報とを取得してもよい。そして、配信サーバ1002は、取得した情報に基づいて、配信すべきストリームを選択し得る。
 なお、復号すべきレイヤの抽出は、端末装置において行われてもよい。例えば、PC1004は、受信した多重化ストリームから抽出され復号されるベースレイヤ画像をその画面に表示してもよい。また、PC1004は、受信した多重化ストリームからベースレイヤの符号化ストリームを抽出してストリームデータ1012を生成し、生成したストリームデータ1012を記憶媒体に記憶させ、又は他の装置へ転送してもよい。
 図24に示したデータ伝送システム1000の構成は一例に過ぎない。データ伝送システム1000は、いかなる数のストリーム記憶装置1001、配信サーバ1002、ネットワーク1003、及び端末装置を含んでもよい。
   (2)第2の例
 第2の例において、スケーラブル符号化は、複数の通信チャネルを介するデータの伝送のために利用される。図25を参照すると、データ伝送システム1100は、放送局1101及び端末装置1102を含む。放送局1101は、地上波チャネル1111上で、ベースレイヤの符号化ストリーム1121を放送する。また、放送局1101は、ネットワーク1112を介して、エンハンスメントレイヤの符号化ストリーム1122を端末装置1102へ送信する。
 端末装置1102は、放送局1101により放送される地上波放送を受信するための受信機能を有し、地上波チャネル1111を介してベースレイヤの符号化ストリーム1121を受信する。また、端末装置1102は、放送局1101と通信するための通信機能を有し、ネットワーク1112を介してエンハンスメントレイヤの符号化ストリーム1122を受信する。
 端末装置1102は、例えば、ユーザからの指示に応じて、ベースレイヤの符号化ストリーム1121を受信し、受信した符号化ストリーム1121からベースレイヤ画像を復号してベースレイヤ画像を画面に表示してもよい。また、端末装置1102は、復号したベースレイヤ画像を記憶媒体に記憶させ、又は他の装置へ転送してもよい。
 また、端末装置1102は、例えば、ユーザからの指示に応じて、ネットワーク1112を介してエンハンスメントレイヤの符号化ストリーム1122を受信し、ベースレイヤの符号化ストリーム1121とエンハンスメントレイヤの符号化ストリーム1122とを多重化することにより多重化ストリームを生成してもよい。また、端末装置1102は、エンハンスメントレイヤの符号化ストリーム1122からエンハンスメントレイヤ画像を復号してエンハンスメントレイヤ画像を画面に表示してもよい。また、端末装置1102は、復号したエンハンスメントレイヤ画像を記憶媒体に記憶させ、又は他の装置へ転送してもよい。
 上述したように、多重化ストリームに含まれる各レイヤの符号化ストリームは、レイヤごとに異なる通信チャネルを介して伝送され得る。それにより、個々のチャネルに掛かる負荷を分散させて、通信の遅延若しくはオーバフローの発生を抑制することができる。
 また、何らかの条件に応じて、伝送のために使用される通信チャネルが動的に選択されてもよい。例えば、データ量が比較的多いベースレイヤの符号化ストリーム1121は帯域幅の広い通信チャネルを介して伝送され、データ量が比較的少ないエンハンスメントレイヤの符号化ストリーム1122は帯域幅の狭い通信チャネルを介して伝送され得る。また、特定のレイヤの符号化ストリーム1122が伝送される通信チャネルが、通信チャネルの帯域幅に応じて切り替えられてもよい。それにより、個々のチャネルに掛かる負荷をより効果的に抑制することができる。
 なお、図25に示したデータ伝送システム1100の構成は一例に過ぎない。データ伝送システム1100は、いかなる数の通信チャネル及び端末装置を含んでもよい。また、放送以外の用途において、ここで説明したシステムの構成が利用されてもよい。
   (3)第3の例
 第3の例において、スケーラブル符号化は、映像の記憶のために利用される。図26を参照すると、データ伝送システム1200は、撮像装置1201及びストリーム記憶装置1202を含む。撮像装置1201は、被写体1211を撮像することにより生成される画像データをスケーラブル符号化し、多重化ストリーム1221を生成する。多重化ストリーム1221は、ベースレイヤの符号化ストリーム及びエンハンスメントレイヤの符号化ストリームを含む。そして、撮像装置1201は、多重化ストリーム1221をストリーム記憶装置1202へ供給する。
 ストリーム記憶装置1202は、撮像装置1201から供給される多重化ストリーム1221を、モードごとに異なる画質で記憶する。例えば、ストリーム記憶装置1202は、通常モードにおいて、多重化ストリーム1221からベースレイヤの符号化ストリーム1222を抽出し、抽出したベースレイヤの符号化ストリーム1222を記憶する。これに対し、ストリーム記憶装置1202は、高画質モードにおいて、多重化ストリーム1221をそのまま記憶する。それにより、ストリーム記憶装置1202は、高画質での映像の記録が望まれる場合にのみ、データ量の多い高画質のストリームを記録することができる。そのため、画質の劣化のユーザへの影響を抑制しながら、メモリリソースを節約することができる。
 例えば、撮像装置1201は、監視カメラであるものとする。撮像画像に監視対象(例えば侵入者)が映っていない場合には、通常モードが選択される。この場合、撮像画像は重要でない可能性が高いため、データ量の削減が優先され、映像は低画質で記録される(即ち、ベースレイヤの符号化ストリーム1222のみが記憶される)。これに対し、撮像画像に監視対象(例えば、侵入者である被写体1211)が映っている場合には、高画質モードが選択される。この場合、撮像画像は重要である可能性が高いため、画質の高さが優先され、映像は高画質で記録される(即ち、多重化ストリーム1221が記憶される)。
 図26の例では、モードは、例えば画像解析結果に基づいて、ストリーム記憶装置1202により選択される。しかしながら、かかる例に限定されず、撮像装置1201がモードを選択してもよい。後者の場合、撮像装置1201は、通常モードにおいて、ベースレイヤの符号化ストリーム1222をストリーム記憶装置1202へ供給し、高画質モードにおいて、多重化ストリーム1221をストリーム記憶装置1202へ供給してもよい。
 なお、モードを選択するための選択基準は、いかなる基準であってもよい。例えば、マイクロフォンを通じて取得される音声の大きさ又は音声の波形などに応じて、モードが切り替えられてもよい。また、周期的にモードが切り替えられてもよい。また、ユーザがらの指示に応じてモードが切り替えられてもよい。さらに、選択可能なモードの数は、階層化されるレイヤの数を超えない限り、いかなる数であってもよい。
 図26に示したデータ伝送システム1200の構成は一例に過ぎない。データ伝送システム1200は、いかなる数の撮像装置1201を含んでもよい。また、監視カメラ以外の用途において、ここで説明したシステムの構成が利用されてもよい。
  [6-3.他のコーデックへの応用]
   (1)マルチビューコーデックへの応用
 マルチビューコーデックは、マルチレイヤコーデックの一種であり、いわゆる多視点映像を符号化し及び復号するための画像符号化方式である。図27は、マルチビューコーデックについて説明するための説明図である。図27を参照すると、3つの視点においてそれぞれ撮影される3つのビューのフレームのシーケンスが示されている。各ビューには、ビューID(view_id)が付与される。これら複数のビューのうちいずれか1つのビューが、ベースビュー(base view)に指定される。ベースビュー以外のビューは、ノンベースビューと呼ばれる。図27の例では、ビューIDが“0”であるビューがベースビューであり、ビューIDが“1”又は“2”である2つのビューがノンベースビューである。これらビューが階層的に符号化される場合、各ビューがレイヤに相当し得る。図中に矢印で示したように、ノンベースビューの画像は、ベースビューの画像を参照して符号化され及び復号される(他のノンベースビューの画像も参照されてよい)。
 図28は、マルチビューコーデックをサポートする画像符号化装置10vの概略的な構成を示すブロック図である。図28を参照すると、画像符号化装置10vは、第1レイヤ符号化部1c、第2レイヤ符号化部1d、共通メモリ2及び多重化部3を備える。
 第1レイヤ符号化部1cの機能は、入力としてベースレイヤ画像の代わりにベースビュー画像を受け取ることを除き、図5を用いて説明したBL符号化部1aの機能と同等である。第1レイヤ符号化部1cは、ベースビュー画像を符号化し、第1レイヤの符号化ストリームを生成する。第2レイヤ符号化部1dの機能は、入力としてエンハンスメントレイヤ画像の代わりにノンベースビュー画像を受け取ることを除き、図5を用いて説明したEL符号化部1bの機能と同等である。第2レイヤ符号化部1dは、ノンベースビュー画像を符号化し、第2レイヤの符号化ストリームを生成する。共通メモリ2は、レイヤ間で共通的に利用される情報を記憶する。多重化部3は、第1レイヤ符号化部1cにより生成される第1レイヤの符号化ストリームと、第2レイヤ符号化部1dにより生成される第2レイヤの符号化ストリームとを多重化し、マルチレイヤの多重化ストリームを生成する。
 図29は、マルチビューコーデックをサポートする画像復号装置60vの概略的な構成を示すブロック図である。図29を参照すると、画像復号装置60vは、逆多重化部5、第1レイヤ復号部6c、第2レイヤ復号部6d及び共通メモリ7を備える。
 逆多重化部5は、マルチレイヤの多重化ストリームを第1レイヤの符号化ストリーム及び第2レイヤの符号化ストリームに逆多重化する。第1レイヤ復号部6cの機能は、入力としてベースレイヤ画像の代わりにベースビュー画像が符号化された符号化ストリームを受け取ることを除き、図6を用いて説明したBL復号部6aの機能と同等である。第1レイヤ復号部6cは、第1レイヤの符号化ストリームからベースビュー画像を復号する。第2レイヤ復号部6dの機能は、入力としてエンハンスメントレイヤ画像の代わりにノンベースビュー画像が符号化された符号化ストリームを受け取ることを除き、図6を用いて説明したEL復号部6bの機能と同等である。第2レイヤ復号部6dは、第2レイヤの符号化ストリームからノンベースビュー画像を復号する。共通メモリ7は、レイヤ間で共通的に利用される情報を記憶する。
 マルチビューの画像データを符号化し又は復号する際、ビュー間で空間解像度が異なる場合には、本開示に係る技術に従って、ビュー間のアップサンプリングが制御されてもよい。それにより、スケーラブル符号化のケースと同様に、マルチビューコーデックにおいても、並列処理を維持しつつ画質の劣化を補償することができる。
   (2)ストリーミング技術への応用
 本開示に係る技術は、ストリーミングプロトコルに適用されてもよい。例えば、MPEG-DASH(Dynamic Adaptive Streaming over HTTP)では、解像度などのパラメータが互いに異なる複数の符号化ストリームがストリーミングサーバにおいて予め用意される。そして、ストリーミングサーバは、複数の符号化ストリームからストリーミングすべき適切なデータをセグメント単位で動的に選択し、選択したデータを配信する。このようなストリーミングプロトコルにおいて、本開示に係る技術に従って、アップサンプリング及び平滑化が制御されてもよい。
  [6-4.様々な実装レベル]
 本開示に係る技術は、例えば、システムLSI(Large Scale Integration)などのプロセッサ、複数のプロセッサを用いるモジュール、複数のモジュールを用いるユニット、ユニットにさらにその他の機能を付加したセットなどの様々な実装レベルにおいて実現されてよい。
   (1)ビデオセット
 本開示に係る技術をセットとして実現する場合の例について、図30を参照して説明する。図30は、ビデオセットの概略的な構成の一例を示すブロック図である。
 近年、電子機器は多機能化している。電子機器の開発又は製造は、個々の機能ごとに行われた後、複数の機能を統合する段階へと進む。従って、電子機器の一部のみを製造し又は販売する事業者が存在する。当該事業者は、単一の機能若しくは互いに関連する複数の機能を有する構成要素を提供し、又は統合的な機能群を有するセットを提供する。図30に示したビデオセット1300は、画像の符号化及び復号(いずれか一方でもよい)のための構成要素と、それら機能に関連する他の機能を有する構成要素とを統合的に含むセットである。
 図30を参照すると、ビデオセット1300は、ビデオモジュール1311、外部メモリ1312、パワーマネージメントモジュール1313、及びフロントエンドモジュール1314を含むモジュール群と、コネクティビティモジュール1321、カメラ1322、及びセンサ1323を含む関連機能のためのデバイス群と、を有する。
 モジュールは、互いに関連するいくつかの機能のための部品を集約することにより形成される構成要素である。モジュールは、どのような物理的構成を有していてもよい。一例として、モジュールは、同一の又は異なる機能を有する複数のプロセッサと、抵抗及びコンデンサなどの電子回路素子と、その他のデバイスとを回路基板に一体的に配置することにより形成され得る。モジュールに他のモジュール又はプロセッサなどを組合せることにより、別のモジュールが形成されてもよい。
 図30の例では、ビデオモジュール1311において、画像処理に関する機能のための部品が集約されている。ビデオモジュール1311は、アプリケーションプロセッサ13331、ビデオプロセッサ1332、ブロードバンドモデム1333、及びベースバンドモジュール1334を有する。
 プロセッサは、例えばSOC(System On a Chip)又はシステムLSI(Large Scale Integration)であってよい。SoC又はシステムLSIは、所定のロジックを実装するハードウェアを含んでもよい。また、SoC又はシステムLSIは、CPUと、当該CPUに所定の機能を実行させるためのプログラムを記憶する非一時的な有形の媒体(non-transitory tangible media)とを含んでもよい。プログラムは、例えば、ROMにより記憶され、実行時にRAM(Random Access Memory)に読み込まれた上でCPUにより実行され得る。
 アプリケーションプロセッサ1331は、画像処理に関するアプリケーションを実行するプロセッサである。アプリケーションプロセッサ1331において実行されるアプリケーションは、画像処理のための何らかの演算に加えて、例えばビデオプロセッサ1332及びその他の構成要素の制御を行ってもよい。ビデオプロセッサ1332は、画像の符号化及び復号に関する機能を有するプロセッサである。なお、アプリケーションプロセッサ1331及びビデオプロセッサ1332は、1つのプロセッサに一体化されてもよい(図中の点線1341参照)。
 ブロードバンドモデム1333は、インターネット又は公衆交換電話網などのネットワークを介する通信に関する処理を行うモジュールである。例えば、ブロードバンドモデム1333は、送信データを含むデジタル信号をアナログ信号に変換するためのデジタル変調、及び受信データを含むアナログ信号をデジタル信号に変換するためのデジタル復調を実行する。ブロードバンドモデム1333により処理される送信データ及び受信データは、例えば、画像データ、画像データの符号化ストリーム、アプリケーションデータ、アプリケーションプログラム及び設定データなどの任意の情報を含み得る。
 ベースバンドモジュール1334は、フロントエンドモジュール1314を介して送受信されるRF(Radio Frequency)信号のためのベースバンド処理を行うモジュールである。例えば、ベースバンドモジュール1334は、送信データを含む送信ベースバンド信号を変調し及びRF信号へと周波数変換して、RF信号をフロントエンドモジュール1314へ出力する。また、ベースバンドモジュール1334は、フロントエンドモジュール1314から入力されるRF信号を周波数変換し及び復調して、受信データを含む受信ベースバンド信号を生成する。
 外部メモリ1312は、ビデオモジュール1311の外部に設けられる、ビデオモジュール1311からアクセス可能なメモリデバイスである。多数のフレームを含む映像データのような大規模データが外部メモリ1312に格納される場合、外部メモリ1312は、例えばDRAM(Dynamic Random Access Memory)のような比較的安価で大容量の半導体メモリを含み得る。
 パワーマネージメントモジュール1313は、ビデオモジュール1311及びフロントエンドモジュール1314への電力供給を制御するモジュールである。
 フロントエンドモジュール1314は、ベースバンドモジュール1334に接続され、フロントエンド機能を提供するモジュールである。図30の例において、フロントエンドモジュール1314は、アンテナ部1351、フィルタ1352及び増幅部1353を有する。アンテナ部1351は、無線信号を送信し又は受信する1つ以上のアンテナ素子と、アンテナスイッチなどの関連する構成要素とを有する。アンテナ部1351は、増幅部1353により増幅されるRF信号を無線信号として送信する。また、アンテナ部1351は、無線信号として受信されるRF信号をフィルタ1352へ出力し、当該RF信号をフィルタ1352にフィルタリングさせる。
 コネクティビティモジュール1321は、ビデオセット1300の外部接続に関する機能を有するモジュールである。コネクティビティモジュール1321は、任意の外部接続プロトコルをサポートしてよい。例えば、コネクティビティモジュール1321は、Bluetooth(登録商標)、IEEE802.11(例えばWi-Fi(登録商標))、NFC(Near Field Communication)又はIrDA(InfraRed Data Association)などの無線接続プロトコルをサポートするサブモジュールと、対応するアンテナとを有していてもよい。また、コネクティビティモジュール1321は、USB(Universal Serial Bus)又はHDMI(High-Definition Multimedia Interface)などの有線接続プロトコルをサポートするサブモジュールと、対応する接続端子とを有していてもよい。
 また、コネクティビティモジュール1321は、磁気ディスク、光ディスク、光磁気ディスク、若しくは半導体メモリなどの記憶媒体、又はSSD(Solid State Drive)若しくはNAS(Network Attached Storage)などのストレージデバイスへのデータの書込み及び当該記憶媒体からのデータの読出しを行うドライブを含んでもよい。コネクティビティモジュール1321は、これら記憶媒体又はストレージデバイスを含んでもよい。また、コネクティビティモジュール1321は、画像を出力するディスプレイ又は音声を出力するスピーカへの接続性を提供してもよい。
 カメラ1322は、被写体を撮像することにより撮像画像を取得するモジュールである。カメラ1322により取得される一連の撮像画像は、映像データを構成する。カメラ1322により生成される映像データは、例えば、必要に応じてビデオプロセッサ1332により符号化され、外部メモリ1312により又はコネクティビティモジュール1321に接続される記憶媒体により記憶され得る。
 センサ1323は、例えば、GPSセンサ、音声センサ、超音波センサ、光センサ、照度センサ、赤外線センサ、角速度センサ、角加速度センサ、速度センサ、加速度センサ、ジャイロセンサ、地磁気センサ、衝撃センサ及び温度センサのうちの1つ以上を含み得るモジュールである。センサ1323により生成されるセンサデータは、例えば、アプリケーションプロセッサ1331によりアプリケーションの実行のために利用され得る。
 このように構成されたビデオセット1300において、本開示に係る技術は、例えば、ビデオプロセッサ1332において利用され得る。この場合、ビデオセット1300は、本開示に係る技術を適用したセットとなる。
 なお、ビデオセット1300は、画像データを処理する様々な種類の装置として実現されてよい。例えば、ビデオセット1300は、図20~図23を用いて説明したテレビジョン装置900、携帯電話機920、記録再生装置940又は撮像装置960に相当してもよい。また、ビデオセット1300は、図24を用いて説明したデータ伝送システム1000におけるPC1004、AV機器1005、タブレット装置1006若しくは携帯電話機1007などの端末装置、図25を用いて説明したデータ伝送システム1100における放送局1101若しくは端末装置1102、又は、図26を用いて説明したデータ伝送システム1200における撮像装置1201若しくはストリーム記憶装置1202に相当してもよい。
   (2)ビデオプロセッサ
 図31は、ビデオプロセッサ1332の概略的な構成の一例を示すブロック図である。ビデオプロセッサ1332は、入力映像信号及び入力音声信号をそれぞれ符号化して映像データ及び音声データを生成する機能と、符号化された映像データ及び音声データを復号して出力映像信号及び出力音声信号を生成する機能と、を有する。
 図31を参照すると、ビデオプロセッサ1332は、ビデオ入力処理部1401、第1スケーリング部1402、第2スケーリング部1403、ビデオ出力処理部1404、フレームメモリ1405、メモリ制御部1406、エンコード・デコードエンジン1407、ビデオES(Elementary Stream)バッファ1408A及び1408B、オーディオESバッファ1409A及び1409B、オーディオエンコーダ1410、オーディオデコーダ1411、多重化部(MUX)1412、逆多重化部(DEMUX)1413、並びに、ストリームバッファ1414を有する。
 ビデオ入力処理部1401は、例えばコネクティビティモジュール1321から入力された映像信号をデジタル画像データに変換する。第1スケーリング部1402は、ビデオ入力処理部1401から入力される画像データについてフォーマット変換及びスケーリング(拡大/縮小)を行う。第2スケーリング部1403は、ビデオ出力処理部1404へ出力される画像データについてのフォーマット変換及びスケーリング(拡大/縮小)を行う。第1スケーリング部1402及び第2スケーリング部1403におけるフォーマット変換は、例えば、4:2:2/Y-Cb-Cr方式と4:2:0/Y-Cb-Cr方式との間の変換などであってよい。ビデオ出力処理部1404は、デジタル画像データを出力映像信号に変換し、出力映像信号を例えばコネクティビティモジュール1321へ出力する。
 フレームメモリ1405は、ビデオ入力処理部1401、第1スケーリング部1402、第2スケーリング部1403、ビデオ出力処理部1404、及びエンコード・デコードエンジン1407によって共用される、画像データを記憶するメモリデバイスである。フレームメモリ1405は、例えばDRAMなどの半導体メモリを用いて実現されてよい。
 メモリ制御部1406は、エンコード・デコードエンジン1407から入力される同期信号に基づき、アクセス管理テーブル1406Aに記憶されるフレームメモリ1405についてのアクセススケジュールに従って、フレームメモリ1405へのアクセスを制御する。アクセス管理テーブル1406Aは、エンコード・デコードエンジン1407、第1スケーリング部1402及び第2スケーリング部1403などにおいて実行される処理に依存し、メモリ制御部1406により更新される。
 エンコード・デコードエンジン1407は、画像データを符号化して符号化映像ストリームを生成するためのエンコード処理、並びに、符号化映像ストリームから画像データを復号するためのデコード処理を行う。例えば、エンコード・デコードエンジン1407は、フレームメモリ1405から読み出した画像データを符号化し、符号化映像ストリームをビデオESバッファ1408Aに順次書き込む。また、例えば、ビデオESバッファ1408Bから符号化映像ストリームを順次読み出し、復号した画像データをフレームメモリ1405に書き込む。エンコード・デコードエンジン1407は、これら処理において、フレームメモリ1405を作業領域として使用し得る。エンコード・デコードエンジン1407は、例えば、各LCU(Largest Coding Unit)の処理を開始するタイミングで、メモリ制御部1406へ同期信号を出力する。
 ビデオESバッファ1408Aは、エンコード・デコードエンジン1407によって生成された符号化映像ストリームをバッファリングする。ビデオESバッファ1408Aによりバッファリングされる符号化映像ストリームは、多重化部1412へ出力される。ビデオESバッファ1408Bは、逆多重化部1413から入力される符号化映像ストリームをバッファリングする。ビデオESバッファ1408Bによりバッファリングされる符号化映像ストリームは、エンコード・デコードエンジン1407へ出力される。
 オーディオESバッファ1409Aは、オーディオエンコーダ1410によって生成された符号化音声ストリームをバッファリングする。オーディオESバッファ1409Aによりバッファリングされる符号化音声ストリームは、多重化部1412へ出力される。オーディオESバッファ1409Bは、逆多重化部1413から入力される符号化音声ストリームをバッファリングする。オーディオESバッファ1409Bによりバッファリングされる符号化音声ストリームは、オーディオデコーダ1411へ出力される。
 オーディオエンコーダ1410は、例えばコネクティビティモジュール1321から入力される入力音声信号をデジタル変換し、例えばMPEGオーディオ方式又はAC3(Audio Code number 3)方式などの音声符号化方式に従って入力音声信号を符号化する。オーディオエンコーダ1410は、符号化音声ストリームをオーディオESバッファ1409Aに順次書き込む。オーディオデコーダ1411は、オーディオESバッファ1409Bから入力される符号化音声ストリームから音声データを復号し、アナログ信号へ変換する。オーディオデコーダ1411は、再生されたアナログ音声信号として、例えばコネクティビティモジュール1321へ音声信号を出力する。
 多重化部1412は、符号化映像ストリームと符号化音声ストリームとを多重化して、多重化ビットストリームを生成する。多重化ビットストリームのフォーマットは、いかなるフォーマットであってもよい。多重化部1412は、所定のヘッダ情報をビットストリームに付加してもよい。また、多重化部1412は、ストリームのフォーマットを変換してもよい。例えば、多重化部1412は、符号化映像ストリームと符号化音声ストリームとが多重化されたトランスポートストリーム(転送用フォーマットのビットストリーム)を生成し得る。また、多重化部1412は、符号化映像ストリームと符号化音声ストリームとが多重化されたファイルデータ(記録用フォーマットのデータ)を生成し得る。
 逆多重化部1413は、多重化部1412による多重化とは逆の手法で、多重化ビットストリームから符号化映像ストリーム及び符号化音声ストリームを逆多重化する。即ち、逆多重化部1413は、ストリームバッファ1414から読み出されるビットストリームから映像ストリームと音声ストリームとを抽出(又は分離)する。逆多重化部1413は、ストリームのフォーマットを変換(逆変換)してもよい。例えば、逆多重化部1413は、コネクティビティモジュール1321又はブロードバンドモデム1333から入力され得るトランスポートストリームをストリームバッファ1414を介して取得し、当該トランスポートストリームを映像ストリームと音声ストリームとに変換してもよい。また、逆多重化部1413は、コネクティビティモジュール1321により記憶媒体から読み出されるファイルデータをストリームバッファ1414を介して取得し、当該ファイルデータを映像ストリームと音声ストリームとに変換してもよい。
 ストリームバッファ1414は、ビットストリームをバッファリングする。例えば、ストリームバッファ1414は、多重化部1412から入力されるトランスポートストリームをバッファリングし、所定のタイミングで又は外部からの要求に応じて、例えばコネクティビティモジュール1321又はブロードバンドモデム1333へトランスポートストリームを出力する。また、例えば、ストリームバッファ1414は、多重化部1412から入力されるファイルデータをバッファリングし、所定のタイミングで又は外部からの要求に応じて、例えばコネクティビティモジュール1321へ、当該ファイルデータを記録のために出力する。さらに、ストリームバッファ1414は、例えばコネクティビティモジュール1321又はブロードバンドモデム1333を介して取得されるトランスポートストリームをバッファリングし、所定のタイミングで又は外部からの要求に応じて、当該トランスポートストリームを逆多重化部1413へ出力する。また、ストリームバッファ1414は、例えばコネクティビティモジュール1321により記憶媒体から読み出されたファイルデータをバッファリングし、所定のタイミングで又は外部からの要求に応じて、当該ファイルデータを逆多重化部1413へ出力する。
 このように構成されたビデオプロセッサ1332において、本開示に係る技術は、例えば、エンコード・デコードエンジン1407において利用され得る。この場合、ビデオプロセッサ1332は、本開示に係る技術を適用したチップ又はモジュールとなる。
 図32は、ビデオプロセッサ1332の概略的な構成の他の例を示すブロック図である。図32の例において、ビデオプロセッサ1332は、映像データを所定の方式で符号化し及び復号する機能を有する。
 図32を参照すると、ビデオプロセッサ1332は、制御部1511、ディスプレイインタフェース1512、ディスプレイエンジン1513、画像処理エンジン1514、内部メモリ1515、コーデックエンジン1516、メモリインタフェース1517、多重化/逆多重化部1518、ネットワークインタフェース1519、及びビデオインタフェース1520を有する。
 制御部1511は、ディスプレイインタフェース1512、ディスプレイエンジン1513、画像処理エンジン1514、及びコーデックエンジン1516などの、ビデオプロセッサ1332内の様々な処理部の動作を制御する。制御部1511は、例えば、メインCPU1531、サブCPU1532及びシステムコントローラ1533を有する。メインCPU1531は、ビデオプロセッサ1332内の各処理部の動作を制御するためのプログラムを実行する。メインCPU1531は、プログラムの実行を通じて生成される制御信号を各処理部に供給する。サブCPU1532は、メインCPU1531の補助的な役割を果たす。例えば、サブCPU1532は、メインCPU1531が実行するプログラムの子プロセス及びサブルーチンを実行する。システムコントローラ1533は、メインCPU1531及びサブCPU1532によるプログラムの実行を管理する。
 ディスプレイインタフェース1512は、制御部1511による制御の下、画像データを例えばコネクティビティモジュール1321へ出力する。例えば、ディスプレイインタフェース1512は、デジタル画像データから変換されるアナログ画像信号又はデジタル画像データそのものを、コネクティビティモジュール1321に接続されるディスプレイへ出力する。ディスプレイエンジン1513は、制御部1511による制御の下、画像データの属性が出力先のディスプレイの仕様に適合するように、画像データについてのフォーマット変換、サイズ変換及び色域変換などを実行する。画像処理エンジン1514は、制御部1511による制御の下、画像データについて、画質改善などの目的を有するフィルタリング処理を含み得る画像処理を実行する。
 内部メモリ1515は、ディスプレイエンジン1513、画像処理エンジン1514、及びコーデックエンジン1516により共用される、ビデオプロセッサ1332の内部に設けられるメモリデバイスである。内部メモリ1515は、例えば、ディスプレイエンジン1513、画像処理エンジン1514、及びコーデックエンジン1516の間で画像データを入出力する際に利用される。内部メモリ1515は、いかなる種類のメモリデバイスであってもよい。例えば、内部メモリ1515は、ブロック単位の画像データ及び関連するパラメータを記憶するための、比較的小さいメモリサイズを有していてもよい。内部メモリ1515は、例えばSRAM(Static Random Access Memory)のような(例えば、外部メモリ1312に対して相対的に)小容量だが応答速度の速いメモリであってもよい。
 コーデックエンジン1516は、画像データを符号化して符号化映像ストリームを生成するためのエンコード処理、並びに、符号化映像ストリームから画像データを復号するためのデコード処理を行う。コーデックエンジン1516によりサポートされる画像符号化方式は、任意の1つ又は複数の方式であってよい。図32の例において、コーデックエンジン1516は、MPEG-2 Video用ブロック1541、AVC/H.264用ブロック1542、HEVC/H.265用ブロック1543、HEVC/H.265(スケーラブル)用ブロック1544、HEVC/H.265(マルチビュー)用ブロック1545、及びMPEG-DASH用ブロック1551を有する。これら機能ブロックは、それぞれ、対応する画像符号化方式に従って画像データを符号化し及び復号する。
 MPEG-DASH用ブロック1551は、画像データをMPEG-DASH方式に従って伝送することを可能とするための機能ブロックである。MPEG-DASH用ブロック1551は、標準仕様に準拠するストリームの生成、及び生成したストリームの伝送の制御を実行する。伝送される画像データの符号化及び復号は、コーデックエンジン1516に含まれる他の機能ブロックにより実行されてよい。
 メモリインタフェース1517は、ビデオプロセッサ1332を外部メモリ1312と接続するためのインタフェースである。画像処理エンジン1514又はコーデックエンジン1516により生成されるデータは、メモリインタフェース1517を介して外部メモリ1312へ出力される。また、外部メモリ1312から入力されるデータは、メモリインタフェース1517を介して画像処理エンジン1514又はコーデックエンジン1516へ供給される。
 多重化/逆多重化部1518は、符号化映像ストリーム及び関連するビットストリームの多重化及び逆多重化を行う。多重化の際に、多重化/逆多重化部1518は、多重化ストリームに所定のヘッダ情報を付加してもよい。また、逆多重化の際に、多重化/逆多重化部1518は、分離された個々のストリームに所定のヘッダ情報を付加してもよい。即ち、多重化/逆多重化部1518は、多重化又は逆多重化と共にフォーマット変換を実行し得る。例えば、多重化/逆多重化部1518は、複数のビットストリームと転送用フォーマットを有する多重化ストリームであるトランスポートストリームとの間の変換及び逆変換、並びに、複数のビットストリームと記録用フォーマットを有するファイルデータとの間の変換及び逆変換をサポートしてもよい。
 ネットワークインタフェース1519は、例えば、ビデオプロセッサ1332をブロードバンドモデム1333又はコネクティビティモジュール1321へ接続するためのインタフェースである。ビデオインタフェース1520は、例えば、ビデオプロセッサ1332をコネクティビティモジュール1321又はカメラ1322へ接続するためのインタフェースである。
 このように構成されたビデオプロセッサ1332において、本開示に係る技術は、例えば、コーデックエンジン1516において利用され得る。この場合、ビデオプロセッサ1332は、本開示に係る技術を適用したチップ又はモジュールとなる。
 なお、ビデオプロセッサ1332の構成は、上述した2つの例に限定されない。例えば、ビデオプロセッサ1332は、1つの半導体チップとして実現されてもよく、又は複数の半導体チップとして実現されてもよい。また、ビデオプロセッサ1332は、複数の半導体を積層することにより形成される3次元積層LSI、又は複数のLSIの組合せとして実現されてもよい。
 <7.まとめ>
 ここまで、図1~図32を用いて、本開示に係る技術の実施形態について詳細に説明した。上述した実施形態によれば、第2レイヤの画像の符号化又は復号のために第1レイヤの画像をアップサンプリングして参照画像として使用するケースにおいて、領域ごとに独立的なアップサンプリングが行われるかが判定される。そして、領域ごとに独立的なアップサンプリングが行われる場合に、複数の領域の間の境界部分においてアップサンプリング画像が平滑化される。従って、タイル又はスライスに相当し得る複数の領域についての符号化、アップサンプリング又は復号の並列的な実行を維持しつつ、領域間の依存関係を除去した結果として生じ得るブロック歪みを修復し、画質の劣化を補償することができる。
 また、上述した実施形態によれば、アップサンプリング画像の平滑化を実行するかを示すフラグがエンコーダ側で符号化され、デコーダ側で復号され得る。そして、領域ごとに独立的なアップサンプリングが実行され、且つ当該フラグが平滑化の実行を示す場合に、アップサンプリング画像が境界部分において平滑化される。それにより、ユーザの要件又は画像の用途に応じて、平滑化の実行のオン及びオフを柔軟に切り替えることが可能となる。例えば、高い画質が望まれる場合に、当該フラグは真(true)に設定される。当該フラグがPPS又はその拡張に含められる場合には、ピクチャごとに平滑化の実行のオン及びオフを切り替えることができる。当該フラグがSPS若しくはその拡張、又はVPSに含められる場合には、符号量の増加はより少なくて済む。
 なお、本明細書に記述したCU、PU及びTUとの用語は、HEVCにおいて、個々のブロックに関連付られるシンタックスをも含む論理的な単位を意味する。画像の一部分としての個々のブロックのみに着目する場合、これらは、CB(Coding Block)、PB(Prediction Block)及びTB(Transform Block)との用語にそれぞれ置き換えられてもよい。CBは、CTB(Coding Tree Block)を四分木(Quad-Tree)状に階層的に分割することにより形成される。1つの四分木の全体がCTBに相当し、CTBに対応する論理的な単位はCTU(Coding Tree Unit)と呼ばれる。HEVCにおけるCTB及びCBは、符号化処理の処理単位である点でH.264/AVCにおけるマクロブロックに類似する役割を有する。但し、CTB及びCBは、そのサイズが固定的でない点でマクロブロックと異なる(マクロブロックのサイズは常に16×16画素である)。CTBのサイズは16×16画素、32×32画素及び64×64画素から選択され、符号化ストリーム内でパラメータにより指定される。CBのサイズは、CTBの分割の深さによって変化し得る。
 また、本明細書では、アップサンプリング及び平滑化の制御に関する情報が、符号化ストリームのヘッダに多重化されて、符号化側から復号側へ伝送される例について主に説明した。しかしながら、これら情報を伝送する手法はかかる例に限定されない。例えば、これら情報は、符号化ビットストリームに多重化されることなく、符号化ビットストリームと関連付けられた別個のデータとして伝送され又は記録されてもよい。ここで、「関連付ける」という用語は、ビットストリームに含まれる画像(スライス若しくはブロックなど、画像の一部であってもよい)と当該画像に対応する情報とを復号時にリンクさせ得るようにすることを意味する。即ち、情報は、画像(又はビットストリーム)とは別の伝送路上で伝送されてもよい。また、情報は、画像(又はビットストリーム)とは別の記録媒体(又は同一の記録媒体の別の記録エリア)に記録されてもよい。さらに、情報と画像(又はビットストリーム)とは、例えば、複数フレーム、1フレーム、又はフレーム内の一部分などの任意の単位で互いに関連付けられてよい。
 以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
 なお、以下のような構成も本開示の技術的範囲に属する。
(1)
 第1レイヤよりも空間解像度の高い第2レイヤの画像を復号する際に参照される前記第1レイヤの画像を、画像内の領域ごとに独立的にアップサンプリングするか、を示す第1のフラグを復号する復号部と、
 前記復号部により復号される前記第1のフラグに従って、隣接する複数の領域の前記第1レイヤの画像をアップサンプリングするアップサンプリング部と、
 前記第1のフラグが領域ごとに独立的なアップサンプリングを示す場合に、前記複数の領域の間の境界部分において、前記アップサンプリング部により生成されるアップサンプリング画像を平滑化する平滑化部と、
 を備える画像処理装置。
(2)
 前記復号部は、アップサンプリング画像の平滑化を実行するかを示す第2のフラグをさらに復号し、
 前記平滑化部は、前記第1のフラグが領域ごとに独立的なアップサンプリングを示し、且つ前記第2のフラグが平滑化の実行を示す場合に、前記境界部分において前記アップサンプリング画像を平滑化する、
 前記(1)に記載の画像処理装置。
(3)
 前記領域は、タイルである、前記(1)又は前記(2)に記載の画像処理装置。
(4)
 前記領域は、スライスである、前記(1)又は前記(2)に記載の画像処理装置。
(5)
 前記復号部は、前記第2レイヤのPPS(Picture Parameter Set)又は当該PPSの拡張から、前記第2のフラグを復号する、前記(2)に記載の画像処理装置。
(6)
 前記復号部は、前記第1のフラグが領域ごとに独立的なアップサンプリングを示す場合にのみ、前記第2のフラグを復号する、前記(5)に記載の画像処理装置。
(7)
 前記復号部は、前記第2レイヤのSPS(Sequence Parameter Set)又は当該SPSの拡張から、前記第2のフラグを復号する、前記(2)に記載の画像処理装置。
(8)
 前記平滑化部は、前記第2のフラグがアップサンプリング画像の平滑化を実行することを示す場合に、前記第1のフラグが領域ごとに独立的なアップサンプリングを示すピクチャについて前記アップサンプリング画像の前記平滑化を実行し、前記第1のフラグが領域ごとに独立的なアップサンプリングを示さないピクチャについて前記アップサンプリング画像の前記平滑化を実行しない、前記(7)に記載の画像処理装置。
(9)
 前記画像処理装置は、前記平滑化部における平滑化の強度を可変的に制御する制御部、をさらに備える、前記(1)~(8)のいずれか1項に記載の画像処理装置。
(10)
 第1レイヤよりも空間解像度の高い第2レイヤの画像を復号する際に参照される前記第1レイヤの画像を、画像内の領域ごとに独立的にアップサンプリングするか、を示す第1のフラグを復号することと、
 復号された前記第1のフラグに従って、隣接する複数の領域の前記第1レイヤの画像をアップサンプリングして、アップサンプリング画像を生成することと、
 前記第1のフラグが領域ごとに独立的なアップサンプリングを示す場合に、前記複数の領域の間の境界部分において、前記アップサンプリング画像を平滑化することと、
 を含む画像処理方法。
(11)
 第1レイヤよりも空間解像度の高い第2レイヤの画像をローカルデコードする際に参照される前記第1レイヤの画像を、画像内の領域ごとに独立的にアップサンプリングするか、を示す第1の設定に対応する第1のフラグを符号化する符号化部と、
 前記第1の設定に従って、隣接する複数の領域の前記第1レイヤの画像をアップサンプリングするアップサンプリング部と、
 前記第1の設定が領域ごとに独立的なアップサンプリングを示す場合に、前記複数の領域の間の境界部分において、前記アップサンプリング部により生成されるアップサンプリング画像を平滑化する平滑化部と、
 を備える画像処理装置。
(12)
 前記符号化部は、アップサンプリング画像の平滑化を実行するかを示す第2の設定に対応する第2のフラグをさらに符号化し、
 前記平滑化部は、前記第1の設定が領域ごとに独立的なアップサンプリングを示し、且つ前記第2の設定が平滑化の実行を示す場合に、前記境界部分において前記アップサンプリング画像を平滑化する、
 前記(11)に記載の画像処理装置。
(13)
 前記領域は、タイルである、前記(11)又は前記(12)に記載の画像処理装置。
(14)
 前記領域は、スライスである、前記(11)又は前記(12)に記載の画像処理装置。
(15)
 前記符号化部は、前記第2レイヤのPPS(Picture Parameter Set)又は当該PPSの拡張内に、前記第2のフラグを符号化する、前記(12)に記載の画像処理装置。
(16)
 前記符号化部は、前記第1のフラグが領域ごとに独立的なアップサンプリングを示す場合にのみ、前記第2のフラグを符号化する、前記(15)に記載の画像処理装置。
(17)
 前記符号化部は、前記第2レイヤのSPS(Sequence Parameter Set)又は当該SPSの拡張内に、前記第2のフラグを符号化する、前記(12)に記載の画像処理装置。
(18)
 前記平滑化部は、前記第2の設定がアップサンプリング画像の平滑化を実行することを示す場合に、前記第1の設定が領域ごとに独立的なアップサンプリングを示すピクチャについて前記アップサンプリング画像の前記平滑化を実行し、前記第1の設定が領域ごとに独立的なアップサンプリングを示さないピクチャについて前記アップサンプリング画像の前記平滑化を実行しない、前記(17)に記載の画像処理装置。
(19)
 前記画像処理装置は、前記平滑化部における平滑化の強度を可変的に制御する制御部、をさらに備える、前記(11)~(18)のいずれか1項に記載の画像処理装置。
(20)
 第1レイヤよりも空間解像度の高い第2レイヤの画像をローカルデコードする際に参照される前記第1レイヤの画像を、画像内の領域ごとに独立的にアップサンプリングするか、を示す第1の設定に対応する第1のフラグを符号化することと、
 前記第1の設定に従って、隣接する複数の領域の前記第1レイヤの画像をアップサンプリングして、アップサンプリング画像を生成することと、
 前記第1の設定が領域ごとに独立的なアップサンプリングを示す場合に、前記複数の領域の間の境界部分において、前記アップサンプリング画像を平滑化することと、
 を含む画像処理方法。
 10,10v 画像符号化装置(画像処理装置)
 16     可逆符号化部
 35     アップサンプリング部
 40     平滑化部
 60,60v 画像復号装置(画像処理装置)
 62     可逆復号部
 85     アップサンプリング部
 90     平滑化部
 

Claims (20)

  1.  第1レイヤよりも空間解像度の高い第2レイヤの画像を復号する際に参照される前記第1レイヤの画像を、画像内の領域ごとに独立的にアップサンプリングするか、を示す第1のフラグを復号する復号部と、
     前記復号部により復号される前記第1のフラグに従って、隣接する複数の領域の前記第1レイヤの画像をアップサンプリングするアップサンプリング部と、
     前記第1のフラグが領域ごとに独立的なアップサンプリングを示す場合に、前記複数の領域の間の境界部分において、前記アップサンプリング部により生成されるアップサンプリング画像を平滑化する平滑化部と、
     を備える画像処理装置。
  2.  前記復号部は、アップサンプリング画像の平滑化を実行するかを示す第2のフラグをさらに復号し、
     前記平滑化部は、前記第1のフラグが領域ごとに独立的なアップサンプリングを示し、且つ前記第2のフラグが平滑化の実行を示す場合に、前記境界部分において前記アップサンプリング画像を平滑化する、
     請求項1に記載の画像処理装置。
  3.  前記領域は、タイルである、請求項1に記載の画像処理装置。
  4.  前記領域は、スライスである、請求項1に記載の画像処理装置。
  5.  前記復号部は、前記第2レイヤのPPS(Picture Parameter Set)又は当該PPSの拡張から、前記第2のフラグを復号する、請求項2に記載の画像処理装置。
  6.  前記復号部は、前記第1のフラグが領域ごとに独立的なアップサンプリングを示す場合にのみ、前記第2のフラグを復号する、請求項5に記載の画像処理装置。
  7.  前記復号部は、前記第2レイヤのSPS(Sequence Parameter Set)又は当該SPSの拡張から、前記第2のフラグを復号する、請求項2に記載の画像処理装置。
  8.  前記平滑化部は、前記第2のフラグがアップサンプリング画像の平滑化を実行することを示す場合に、前記第1のフラグが領域ごとに独立的なアップサンプリングを示すピクチャについて前記アップサンプリング画像の前記平滑化を実行し、前記第1のフラグが領域ごとに独立的なアップサンプリングを示さないピクチャについて前記アップサンプリング画像の前記平滑化を実行しない、請求項7に記載の画像処理装置。
  9.  前記画像処理装置は、前記平滑化部における平滑化の強度を可変的に制御する制御部、をさらに備える、請求項1に記載の画像処理装置。
  10.  第1レイヤよりも空間解像度の高い第2レイヤの画像を復号する際に参照される前記第1レイヤの画像を、画像内の領域ごとに独立的にアップサンプリングするか、を示す第1のフラグを復号することと、
     復号された前記第1のフラグに従って、隣接する複数の領域の前記第1レイヤの画像をアップサンプリングして、アップサンプリング画像を生成することと、
     前記第1のフラグが領域ごとに独立的なアップサンプリングを示す場合に、前記複数の領域の間の境界部分において、前記アップサンプリング画像を平滑化することと、
     を含む画像処理方法。
  11.  第1レイヤよりも空間解像度の高い第2レイヤの画像をローカルデコードする際に参照される前記第1レイヤの画像を、画像内の領域ごとに独立的にアップサンプリングするか、を示す第1の設定に対応する第1のフラグを符号化する符号化部と、
     前記第1の設定に従って、隣接する複数の領域の前記第1レイヤの画像をアップサンプリングするアップサンプリング部と、
     前記第1の設定が領域ごとに独立的なアップサンプリングを示す場合に、前記複数の領域の間の境界部分において、前記アップサンプリング部により生成されるアップサンプリング画像を平滑化する平滑化部と、
     を備える画像処理装置。
  12.  前記符号化部は、アップサンプリング画像の平滑化を実行するかを示す第2の設定に対応する第2のフラグをさらに符号化し、
     前記平滑化部は、前記第1の設定が領域ごとに独立的なアップサンプリングを示し、且つ前記第2の設定が平滑化の実行を示す場合に、前記境界部分において前記アップサンプリング画像を平滑化する、
     請求項11に記載の画像処理装置。
  13.  前記領域は、タイルである、請求項11に記載の画像処理装置。
  14.  前記領域は、スライスである、請求項11に記載の画像処理装置。
  15.  前記符号化部は、前記第2レイヤのPPS(Picture Parameter Set)又は当該PPSの拡張内に、前記第2のフラグを符号化する、請求項12に記載の画像処理装置。
  16.  前記符号化部は、前記第1のフラグが領域ごとに独立的なアップサンプリングを示す場合にのみ、前記第2のフラグを符号化する、請求項15に記載の画像処理装置。
  17.  前記符号化部は、前記第2レイヤのSPS(Sequence Parameter Set)又は当該SPSの拡張内に、前記第2のフラグを符号化する、請求項12に記載の画像処理装置。
  18.  前記平滑化部は、前記第2の設定がアップサンプリング画像の平滑化を実行することを示す場合に、前記第1の設定が領域ごとに独立的なアップサンプリングを示すピクチャについて前記アップサンプリング画像の前記平滑化を実行し、前記第1の設定が領域ごとに独立的なアップサンプリングを示さないピクチャについて前記アップサンプリング画像の前記平滑化を実行しない、請求項17に記載の画像処理装置。
  19.  前記画像処理装置は、前記平滑化部における平滑化の強度を可変的に制御する制御部、をさらに備える、請求項11に記載の画像処理装置。
  20.  第1レイヤよりも空間解像度の高い第2レイヤの画像をローカルデコードする際に参照される前記第1レイヤの画像を、画像内の領域ごとに独立的にアップサンプリングするか、を示す第1の設定に対応する第1のフラグを符号化することと、
     前記第1の設定に従って、隣接する複数の領域の前記第1レイヤの画像をアップサンプリングして、アップサンプリング画像を生成することと、
     前記第1の設定が領域ごとに独立的なアップサンプリングを示す場合に、前記複数の領域の間の境界部分において、前記アップサンプリング画像を平滑化することと、
     を含む画像処理方法。
     
PCT/JP2014/064823 2013-07-09 2014-06-04 画像処理装置及び画像処理方法 WO2015005024A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2013-143704 2013-07-09
JP2013143704 2013-07-09

Publications (1)

Publication Number Publication Date
WO2015005024A1 true WO2015005024A1 (ja) 2015-01-15

Family

ID=52279717

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/064823 WO2015005024A1 (ja) 2013-07-09 2014-06-04 画像処理装置及び画像処理方法

Country Status (1)

Country Link
WO (1) WO2015005024A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021250369A1 (en) 2020-06-12 2021-12-16 Dyson Technology Limited Protection circuit for an electrical appliance
WO2022123200A1 (en) 2020-12-09 2022-06-16 Dyson Technology Limited Electrical appliance with safety system
WO2022123201A1 (en) 2020-12-09 2022-06-16 Dyson Technology Limited Electrical appliance with safety system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080089597A1 (en) * 2006-10-16 2008-04-17 Nokia Corporation Discardable lower layer adaptations in scalable video coding
JP2011176570A (ja) * 2010-02-24 2011-09-08 Nippon Telegr & Teleph Corp <Ntt> マルチ解像度映像復号方法、マルチ解像度映像復号装置、及びプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080089597A1 (en) * 2006-10-16 2008-04-17 Nokia Corporation Discardable lower layer adaptations in scalable video coding
JP2011176570A (ja) * 2010-02-24 2011-09-08 Nippon Telegr & Teleph Corp <Ntt> マルチ解像度映像復号方法、マルチ解像度映像復号装置、及びプログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CHIA-YANG TSAI ET AL.: "AHG4: Non-cross-tiles loop filtering for independent tiles", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG 16 WP3 AND ISO/IEC JTC1/SC29/WG11 JCTVC-G194, ITU-T, 30 November 2011 (2011-11-30), pages 1 - 4 *
KARSTEN SUEHRING ET AL.: "Independent tile upsampling for SHVC", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG 16 WP3 AND ISO/IEC JTC1/SC29/WG11 JCTVC-M0198, ITU-T, 26 April 2013 (2013-04-26), pages 1 - 4 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021250369A1 (en) 2020-06-12 2021-12-16 Dyson Technology Limited Protection circuit for an electrical appliance
WO2022123200A1 (en) 2020-12-09 2022-06-16 Dyson Technology Limited Electrical appliance with safety system
WO2022123201A1 (en) 2020-12-09 2022-06-16 Dyson Technology Limited Electrical appliance with safety system

Similar Documents

Publication Publication Date Title
JP6455434B2 (ja) 画像処理装置及び画像処理方法
JP6094688B2 (ja) 画像処理装置及び画像処理方法
JP6345650B2 (ja) 画像処理装置及び画像処理方法
KR102307099B1 (ko) 화상 처리 장치 및 화상 처리 방법
JP6287035B2 (ja) 復号装置および復号方法
WO2015053115A1 (ja) 復号装置および復号方法、並びに、符号化装置および符号化方法
WO2015005025A1 (ja) 画像処理装置及び画像処理方法
WO2015137145A1 (ja) 画像符号化装置および方法、並びに画像復号装置および方法
WO2013150838A1 (ja) 画像処理装置及び画像処理方法
WO2015053001A1 (ja) 画像処理装置及び画像処理方法
WO2013164922A1 (ja) 画像処理装置及び画像処理方法
JP6330507B2 (ja) 画像処理装置及び画像処理方法
WO2015053116A1 (ja) 復号装置および復号方法、並びに、符号化装置および符号化方法
WO2015098561A1 (ja) 復号装置および復号方法、並びに、符号化装置および符号化方法
WO2014148070A1 (ja) 画像処理装置及び画像処理方法
US9930353B2 (en) Image decoding device and method
WO2015005024A1 (ja) 画像処理装置及び画像処理方法
WO2015053112A1 (ja) 復号装置および復号方法、並びに、符号化装置および符号化方法
JP6477930B2 (ja) 符号化装置および符号化方法
WO2015052979A1 (ja) 画像処理装置及び画像処理方法
KR20200018735A (ko) 화상 처리 장치 및 방법, 및 기록 매체
WO2015053111A1 (ja) 復号装置および復号方法、並びに、符号化装置および符号化方法
WO2014097703A1 (ja) 画像処理装置及び画像処理方法
US20160286218A1 (en) Image encoding device and method, and image decoding device and method
WO2014050311A1 (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: 14822337

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14822337

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP