WO2013011738A1 - 画像処理装置及び画像処理方法 - Google Patents
画像処理装置及び画像処理方法 Download PDFInfo
- Publication number
- WO2013011738A1 WO2013011738A1 PCT/JP2012/063309 JP2012063309W WO2013011738A1 WO 2013011738 A1 WO2013011738 A1 WO 2013011738A1 JP 2012063309 W JP2012063309 W JP 2012063309W WO 2013011738 A1 WO2013011738 A1 WO 2013011738A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- unit
- quad
- layer
- tree
- information
- Prior art date
- Legal status (The legal status 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 status listed.)
- Ceased
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/117—Filters, e.g. for pre-processing or post-processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/187—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a scalable video layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
Definitions
- the present disclosure relates to an image processing apparatus and an image processing method.
- each macroblock that can be arranged in a grid pattern in an image is a basic processing unit for encoding and decoding an image.
- a coding unit (CU: Coding) arranged in a quad-tree shape in an image. (Unit) is a basic processing unit of image encoding and decoding (see Non-Patent Document 1 below). Therefore, the encoded stream encoded by the encoder compliant with HEVC has Quad-Tree information for specifying the Quad-Tree set in the image. Then, the decoder sets a quad-tree similar to the quad-tree set in the encoder, in the decoded image, using the quad-tree information.
- Non-Patent Document 2 proposes that block coefficient determination and filtering of an adaptive loop filter (ALF) be performed on a block basis using blocks arranged in a quad-tree shape.
- ALF adaptive loop filter
- Non-Patent Document 3 proposes that an adaptive offset (AO: Adaptive Offset) process is performed on a block basis using blocks arranged in a quad-tree shape.
- JCTVC-E603 “WD3: Working Draft 3 of High-Efficiency Video Coding”, T. Wiegand, et al, July, 2010 VCEG-AI18, “Block-based Adaptive Loop Filter”, Takeshi Chujoh, et al, July, 2008 JCTVC-D122, “CE8 Subtest 3: Picture Quality Adaptive Offset”, C.-M. Fu, et al, January, 2011
- Scalable encoding refers to a technique for hierarchically encoding a layer that transmits a coarse image signal and a layer that transmits a fine image signal.
- SVC Scalable Video Coding
- the first quad-tree set to the first layer of the image to be scalable decoded including the first layer and the second layer higher than the first layer is specified.
- Image processing comprising: a decoding unit that decodes Quad-Tree information; and a setting unit that sets a second Quad-Tree in the second layer using the Quad-Tree information decoded by the decoding unit An apparatus is provided.
- the image processing apparatus can typically be realized as an image decoding apparatus that decodes an image.
- the first quad-tree set in the first layer of the image to be scalable decoded including the first layer and the second layer higher than the first layer.
- an image processing method including decoding specified Quad-Tree information, and setting a second Quad-Tree in the second layer using the decoded Quad-Tree information.
- the first quad-tree set in the first layer of the image to be scalable encoded including the first layer and the second layer higher than the first layer.
- An image processing apparatus comprising: an encoding unit that encodes the Quad-Tree information used to set the second Quad-Tree in the second layer. Provided.
- the image processing apparatus can typically be realized as an image encoding apparatus that encodes an image.
- the first quad-tree set in the first layer of the image to be scalable encoded including the first layer and the second layer higher than the first layer.
- An image processing method including encoding the Quad-Tree information used to set the second Quad-Tree in the second layer.
- FIG. 1 It is a block diagram which shows an example of a detailed structure of the lossless encoding part shown in FIG. It is explanatory drawing for demonstrating Quad-Tree information for setting an encoding unit (CU). It is explanatory drawing for demonstrating the division
- FIG. 1 is a block diagram illustrating an example of a configuration of an image encoding device 10 according to an embodiment.
- an image encoding device 10 includes an A / D (Analogue to Digital) conversion unit 11, a rearrangement buffer 12, a subtraction unit 13, an orthogonal transformation unit 14, a quantization unit 15, a lossless encoding unit 16, Accumulation buffer 17, rate control unit 18, inverse quantization unit 21, inverse orthogonal transform unit 22, addition unit 23, deblock filter (DF) 24, adaptive offset unit (AO) 25, adaptive loop filter (ALF) 26, frame A memory 27, selectors 28 and 29, an intra prediction unit 30, and a motion search unit 40 are provided.
- a / D Analogue to Digital
- DF deblock filter
- AO adaptive offset unit
- ALF adaptive loop filter
- the A / D converter 11 converts an image signal input in an analog format into image data in a digital format, and outputs a series of digital image data to the rearrangement buffer 12.
- the rearrangement buffer 12 rearranges images included in a series of image data input from the A / D conversion unit 11.
- the rearrangement buffer 12 rearranges the images according to the GOP (Group of Pictures) structure related to the encoding process, and then outputs the rearranged image data to the subtraction unit 13, the intra prediction unit 30, and the motion search unit 40. To do.
- GOP Group of Pictures
- the subtraction unit 13 is supplied with image data input from the rearrangement buffer 12 and predicted image data input from the intra prediction unit 30 or the motion search unit 40 described later.
- the subtraction unit 13 calculates prediction error data that is the difference between the image data input from the rearrangement buffer 12 and the predicted image data, and outputs the calculated prediction error data to the orthogonal transform 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 quantizing unit 15 quantizes the transform coefficient data and outputs the quantized transform coefficient data (hereinafter referred to as quantized data) to the lossless encoding unit 16 and the inverse quantization unit 21. Further, the quantization unit 15 changes the bit rate of the quantized data input to the lossless encoding unit 16 by switching the quantization parameter (quantization scale) based on the rate control signal from the rate control unit 18.
- the lossless encoding unit 16 generates an encoded stream by performing a lossless encoding process on the quantized data input from the quantization unit 15.
- the lossless encoding by the lossless encoding unit 16 may be variable length encoding or arithmetic encoding, for example. Further, the lossless encoding unit 16 multiplexes the header information in a header area such as a sequence parameter set, a picture parameter set, or a slice header of the encoded stream.
- the header information encoded by the lossless encoding unit 16 may include Quad-Tree information, division information, offset information, filter coefficient information, PU setting information, and TU setting information described later.
- the header information encoded by the lossless encoding unit 16 may include information related to intra prediction and information related to inter prediction input from the selector 29. 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. Then, the accumulation buffer 17 outputs the accumulated encoded stream to a transmission unit (not shown) (for example, a communication interface or a connection interface with a peripheral device) at a rate corresponding to the bandwidth of the transmission path.
- a transmission unit for example, a communication interface or a connection interface with a peripheral device
- the rate control unit 18 monitors the free capacity of the accumulation buffer 17. Then, the rate control unit 18 generates a rate control signal according to the free capacity of the accumulation buffer 17 and outputs the generated rate control signal to the quantization unit 15. For example, the rate control unit 18 generates a rate control signal for reducing the bit rate of the quantized data when the free capacity of the storage buffer 17 is small. For example, when the free capacity of the accumulation buffer 17 is sufficiently large, the rate control unit 18 generates a rate control signal for increasing the bit rate of the quantized data.
- the inverse quantization unit 21 performs an inverse quantization process on the quantized data input from the quantization unit 15. Then, the inverse quantization unit 21 outputs transform coefficient data acquired by the inverse quantization process to the inverse orthogonal transform unit 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 adding unit 23 generates decoded image data 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 motion search unit 40. . Then, the adding unit 23 outputs the generated decoded image data to the deblock filter 24 and the frame memory 27.
- the deblocking filter (DF) 24 performs a filtering process for reducing block distortion that occurs during image encoding.
- the deblocking filter 24 removes block distortion by filtering the decoded image data input from the adding unit 23 and outputs the decoded image data after filtering to the adaptive offset unit 25.
- the adaptive offset unit 25 improves the image quality of the decoded image by adding an adaptively determined offset value to each pixel value of the decoded image after DF.
- the adaptive offset processing by the adaptive offset unit 25 is performed on a block basis in accordance with the method proposed by Non-Patent Document 3 described above using blocks arranged in an image in a quad-tree shape as a processing unit. Good.
- a block that is a processing unit of adaptive offset processing by the adaptive offset unit 25 is referred to as a partition.
- the adaptive offset unit 25 outputs decoded image data having offset pixel values to the adaptive loop filter 26 as a result of the adaptive offset process.
- the adaptive offset unit 25 outputs offset information indicating a set of offset values and an offset pattern for each partition to the lossless encoding unit 16.
- the adaptive loop filter 26 minimizes the error between the decoded image and the original image by filtering the decoded image after AO.
- the adaptive loop filter 26 is typically realized by using a Wiener filter.
- the adaptive loop filter processing by the adaptive loop filter 26 is performed on a block basis according to the method proposed by Non-Patent Document 2 described above using blocks arranged in an image in a quad-tree shape as a processing unit. It's okay.
- a block that is a processing unit of adaptive loop filter processing by the adaptive loop filter 26 is also referred to as a partition.
- the arrangement of partitions used by the adaptive offset unit 25 that is, the Quad-Tree structure
- the arrangement of partitions used by the adaptive loop filter 26 may or may not be common.
- the adaptive loop filter 26 outputs decoded image data in which the difference from the original image is minimized to the frame memory 27 as a result of the adaptive loop filter processing.
- the adaptive loop filter 26 also outputs filter coefficient information indicating the filter coefficient for each partition to the lossless encoding unit 16.
- the frame memory 27 stores the decoded image data input from the adder 23 and the decoded image data after ALF input from the adaptive loop filter 26 using a storage medium.
- the selector 28 reads decoded image data after ALF used for inter prediction from the frame memory 27 and supplies the read decoded image data to the motion search unit 40 as reference image data.
- the selector 28 also reads the decoded image data before DF used for intra prediction from the frame memory 27 and supplies the read decoded image data to the intra prediction unit 30 as reference image data.
- the selector 29 In the inter prediction mode, the selector 29 outputs the prediction image data as a result of the inter prediction output from the motion search unit 40 to the subtraction unit 13 and outputs information related to the inter prediction to the lossless encoding unit 16. Further, in the intra prediction mode, the selector 29 outputs the prediction 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. .
- the selector 29 switches between the inter prediction mode and the intra prediction mode according to the size of the cost function value output from the intra prediction unit 30 and the motion search unit 40.
- the intra prediction unit 30 is set in the image based on the image data to be encoded (original image data) input from the rearrangement buffer 12 and the decoded image data as reference image data supplied from the frame memory 27. Intra prediction processing is performed for each block to be processed. Then, the intra prediction unit 30 outputs information related to intra prediction including prediction mode information indicating an optimal prediction mode, a cost function value, and predicted image data to the selector 29.
- the motion search unit 40 performs a motion search process for inter prediction (interframe prediction) based on the original image data input from the rearrangement buffer 12 and the decoded image data supplied via the selector 28. Then, the motion search unit 40 outputs information related to inter prediction including motion vector information and reference image information, a cost function value, and predicted image data to the selector 29.
- inter prediction interframe prediction
- the image encoding device 10 repeats the series of encoding processes described here for each of a plurality of layers of an image to be scalable encoded.
- the layer that is encoded first is a layer that expresses the coarsest image, called a base layer.
- the base layer coded stream may be decoded independently without decoding the other layer coded streams.
- the layers other than the base layer are layers that represent a finer image, called an enhancement layer.
- the enhancement layer coded stream is coded using information included in the base layer coded stream in order to increase coding efficiency. Accordingly, in order to reproduce the enhancement layer image, both the base layer and enhancement layer encoded streams are decoded. There may be three or more layers handled in scalable coding.
- 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.
- the layer on the dependent side is referred to as a lower layer, and the layer on the dependent side is referred to as an upper layer.
- the quad-tree information of the lower layer is reused in the upper layer in order to efficiently encode the quad-tree information.
- the lossless encoding unit 16 illustrated in FIG. 1 has a buffer for buffering Quad-Tree information of a lower layer for setting a coding unit (CU), and the Quad-Tree information is stored in the buffer. Can be used to determine the CU structure of the upper layer.
- the adaptive offset unit 25 has a buffer for buffering lower-layer quad-tree information for setting a partition for adaptive offset processing, and can use the quad-tree information to place a partition in the upper layer. .
- the adaptive loop filter 26 also has a buffer for buffering lower-layer quad-tree information for setting a partition for adaptive loop filter processing, and a partition can be arranged in the upper layer using the quad-tree information.
- a partition can be arranged in the upper layer using the quad-tree information.
- Quad-Tree information may be reused only in any one or two of the lossless encoding unit 16, the adaptive offset unit 25, and the adaptive loop filter 26.
- the adaptive offset unit 25 and the adaptive loop filter 26 may be omitted from the configuration of the image encoding device 10.
- 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. Here, reuse of Quad-Tree information is usually effective when there is an image correlation between layers. Image correlation between layers may generally exist in a type of scalability other than temporal scalability.
- FIG. 2 is an explanatory diagram for explaining an example of spatial scalability.
- Layer L1 is a base layer
- layers L2 and L3 are enhancement layers.
- 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. Even if the resolutions are different from each other in this way, the content of the image of the layer L1 is likely to be similar to the content of the image of the layer L2.
- the content of the layer L2 image is likely to be similar to the content of the layer L3 image. This is the correlation of images between layers in spatial scalability.
- FIG. 3 is an explanatory diagram for explaining an example of SNR scalability.
- Layer L1 is a base layer
- layers L2 and L3 are enhancement layers.
- the spatial resolutions of the layers L1, L2 and L3 are equal to each other.
- the minimum quantization scale of the layer L1 is 25, and the bit rate of the encoded stream is suppressed to about 2 Mbps by quantization of the orthogonal transform coefficient.
- the minimum quantization scale of the layer L2 is 12, and the bit rate of the encoded stream is about 5 Mbps.
- the minimum quantization scale of the layer L3 is 0, and the bit rate of the encoded stream is about 10 Mbps. Even if the bit rates are different from each other in this way, the content of the layer L1 image is likely to be similar to the content of the layer L2 image. Similarly, the content of the layer L2 image is likely to be similar to the content of the layer L3 image. This is the correlation of images between layers in SNR scalability.
- the image encoding device 10 pays attention to the correlation between the images between these layers, and reuses the Quad-Tree information of the lower layer in the upper layer.
- FIG. 4 is a block diagram illustrating an example of a detailed configuration of the adaptive offset unit 25.
- the adaptive offset unit 25 includes a structure search unit 110, a selection unit 112, an offset processing unit 114, and a buffer 116.
- the structure search unit 110 searches for an optimal quad-tree structure to be set in an image. That is, the structure search unit 110 first divides the decoded image after DF input from the deblocking filter 24 into one or more partitions. The partitioning can be done recursively, and one partition can be further divided into one or more partitions. Further, the structure search unit 110 calculates an optimum offset value with various offset patterns for each partition. In the method proposed by Non-Patent Document 3, nine types of offset patterns are available: two types of band offset (Band Offset: BO), six types of edge offset (Edge Offset: EO), and no processing (OFF). There are candidates.
- FIG. 5 is an explanatory diagram for explaining the band offset.
- a range of luminance pixel values for example, 0 to 255 for 8 bits
- 32 bands bands
- an offset value is given for each band.
- the 32 bands are grouped into a first group and a second group.
- the first group includes 16 bands located in the middle of the range.
- the second group includes a total of 16 bands, 8 on each end of the range.
- the first band offset (BO 1 ) as an offset pattern is a pattern in which an offset value for the band of the first group of these two groups is encoded.
- the second band offset (BO 2 ) as the offset pattern is a pattern in which the offset value for the band of the second group of these two groups is encoded.
- the input image signal is a broadcast signal, as in “broadcast legal” shown in FIG. 5, offset values for a total of four bands, two at each end, are not encoded. Thus, the code amount for the offset information can be reduced.
- FIG. 6 is an explanatory diagram for explaining the edge offset.
- the six types of offset patterns of edge offset include four types of 1-D patterns and two types of 2-D patterns. These offset patterns respectively define a set of reference pixels that are referred to when categorizing each pixel.
- the number of reference pixels in each 1-D pattern is two.
- the reference pixels of the first edge offset (EO 0 ) are adjacent pixels on the left and right of the target pixel.
- the reference pixels of the second edge offset (EO 1 ) are adjacent pixels above and below the target pixel.
- the reference pixels of the third edge offset (EO 2 ) are adjacent pixels on the upper left and lower right of the target pixel.
- the reference pixels of the fourth edge offset (EO 3 ) are adjacent pixels on the upper right and lower left of the target pixel. Using these reference pixels, each pixel in each partition is classified into one of five categories according to the conditions shown in Table 1.
- each pixel in each partition is classified into one of seven categories according to the conditions shown in Table 2.
- an offset value is given for each category, the offset value is encoded, and an offset value corresponding to the category to which the pixel belongs is added to the pixel value of each pixel.
- the structure search unit 110 calculates an optimum offset value with these various offset patterns for each of the partitions arranged in a quad-tree shape, and generates an image after the offset processing.
- the selection unit 112 selects an optimal quad-tree structure, an offset pattern for each partition, and a set of offset values based on the comparison between the offset-processed image and the original image. Then, the selection unit 112 outputs the Quad-Tree information representing the Quad-Tree structure and the offset information representing the offset pattern and the offset value to the offset processing unit 114 and the lossless encoding unit 16. Further, the Quad-Tree information is buffered by the buffer 116 for processing in an upper layer.
- the offset processing unit 114 recognizes the quad-tree structure of the decoded image of the base layer input from the deblocking filter 24 using the quad-tree information input from the selection unit 112, and the offset pattern selected for each partition According to the above, an offset value is added to each pixel value. Then, the offset processing unit 114 outputs decoded image data having the offset pixel value to the adaptive loop filter 26.
- the structure search unit 110 acquires from the buffer 116 Quad-Tree information representing the Quad-Tree structure set in the image in the lower layer. Then, the structure search unit 110 arranges one or more partitions in the enhancement layer image according to the acquired Quad-Tree information. Such an arrangement of partitions may simply be adopted as a Quad-Tree structure for the enhancement layer. Instead, the structure search unit 110 may further divide the arranged partition into one or more partitions (hereinafter referred to as subdivision). The structure search unit 110 calculates an optimum offset value with the various offset patterns described above for each of the partitions arranged in the quad-tree shape in this way, and generates an image after the offset processing.
- the selection unit 112 selects an optimal quad-tree structure, an offset pattern for each partition, and a set of offset values based on the comparison between the offset-processed image and the original image.
- the selection unit 112 When the Quad-Tree structure of the lower layer is subdivided, the selection unit 112 generates division information for identifying the partition to be subdivided. Then, the selection unit 112 outputs the division information and the offset information to the lossless encoding unit 16. Further, the selection unit 112 outputs the quad-tree information, the division information, and the offset information of the lower layer to the offset processing unit 114. Enhancement layer partitioning information may be buffered by the buffer 116 for processing in higher layers.
- the offset processing unit 114 recognizes the quad-tree structure of the enhancement layer decoded image input from the deblocking filter 24 using the quad-tree information and the division information input from the selection unit 112, and is selected for each partition. The offset value is added to each pixel value according to the offset pattern. Then, the offset processing unit 114 outputs decoded image data having the offset pixel value to the adaptive loop filter 26.
- FIG. 7 is an explanatory diagram showing an example of setting an offset pattern for each partition having a quad-tree structure.
- ten partitions PT 00 to PT 03 , PT 1 , PT 2 and PT 30 to PT 33 are arranged in a quad-tree shape within a certain LCU.
- the partition PT 00 and PT 03 have a band offset BO 1
- the partition PT 02 has a band offset BO 2
- the partition PT 1 has an edge offset EO 1
- the partitions PT 01 and PT 31 have an edge offset EO 2
- a partition An edge offset EO 4 is set for PT 2 .
- the offset information output from the selection unit 112 to the lossless encoding unit 16 includes such an offset pattern for each partition and a set of offset values for each offset pattern (an offset value for each band and a category). Offset value).
- FIG. 8 is a block diagram illustrating an example of a detailed configuration of the adaptive loop filter 26.
- the adaptive loop filter 26 includes a structure search unit 120, a selection unit 122, a filtering unit 124, and a buffer 126.
- the structure search unit 120 searches for an optimal quad-tree structure to be set in an image. That is, the structure search unit 120 first divides the decoded image after the adaptive offset process input from the adaptive offset unit 25 into one or more partitions. The partitioning can be done recursively, and one partition can be further divided into one or more partitions. In addition, the structure search unit 120 calculates a filter coefficient that minimizes an error between the original image and the decoded image for each partition, and generates a filtered image. The selection unit 122 selects an optimal quad-tree structure and a set of filter coefficients for each partition based on the comparison between the filtered image and the original image.
- the selection unit 122 outputs the Quad-Tree information representing the Quad-Tree structure and the filter coefficient information representing the filter coefficient to the filtering unit 124 and the lossless encoding unit 16. Further, the Quad-Tree information is buffered by the buffer 126 for processing in an upper layer.
- the filtering unit 124 recognizes the quad-tree structure of the decoded image of the base layer using the quad-tree information input from the selection unit 122. Next, the filtering unit 124 filters the decoded image of each partition using a Wiener filter having a filter coefficient selected for each partition. Then, the filtering unit 124 outputs the filtered decoded image data to the frame memory 27.
- the structure search unit 120 acquires from the buffer 126 Quad-Tree information representing the Quad-Tree structure set in the image in the lower layer. Then, the structure search unit 120 arranges one or more partitions in the enhancement layer image according to the acquired Quad-Tree information. Such an arrangement of partitions may simply be adopted as a Quad-Tree structure for the enhancement layer. Instead, the structure search unit 120 may subdivide the arranged partition into one or more partitions. The structure search unit 120 calculates a filter coefficient for each of the partitions arranged in the quad-tree shape in this way, and generates a filtered image. The selection unit 122 selects the optimal Quad-Tree structure and the filter coefficient for each partition based on the comparison between the filtered image and the original image.
- the selection unit 122 When the Quad-Tree structure of the lower layer is subdivided, the selection unit 122 generates division information for identifying the partition to be subdivided. Then, the selection unit 122 outputs the division information and the filter coefficient information to the lossless encoding unit 16. Further, the selection unit 122 outputs the quad-tree information, the division information, and the filter coefficient information of the lower layer to the filtering unit 124. Enhancement layer partitioning information may be buffered by the buffer 126 for processing in higher layers.
- the filtering unit 124 recognizes the quad-tree structure of the enhancement layer decoded image input from the adaptive offset unit 25 using the quad-tree information and the division information input from the selection unit 122. Next, the filtering unit 124 filters the decoded image of each partition using a Wiener filter having a filter coefficient selected for each partition. Then, the filtering unit 124 outputs the filtered decoded image data to the frame memory 27.
- FIG. 9 is an explanatory diagram showing an example of setting filter coefficients for each partition of the Quad-Tree structure.
- seven partitions PT 00 to PT 03 , PT 1 , PT 2 and PT 3 are arranged in a Quad-Tree shape within a certain LCU.
- the adaptive loop filter 26 calculates a filter coefficient for the Wiener filter for each of these partitions.
- the filter coefficient set Coef 00 is set in the partition PT 00 .
- a filter coefficient set Coef 01 is set in the partition PT 01 .
- the filter coefficient information output from the selection unit 122 to the lossless encoding unit 16 represents such a set of filter coefficients for each partition.
- FIG. 10 is a block diagram illustrating an example of a detailed configuration of the lossless encoding unit 16.
- the lossless encoding unit 16 includes a CU structure determining unit 130, a PU structure determining unit 132, a TU structure determining unit 134, a syntax encoding unit 136, and a buffer 138.
- a coding unit (CU) set in a quad-tree shape in an image is a basic processing unit of image coding and decoding.
- the maximum settable coding unit is called LCU (Largest Coding Unit), and the minimum coding unit is called SCU (Smallest Coding Unit).
- the CU structure in the LCU is specified using a set of split_flag (split flag).
- split_flag split flag
- the LCU size is 64 ⁇ 64 pixels
- the SCU size is 8 ⁇ 8 pixels.
- the Quad-Tree structure of the CU can be expressed by the size of the LCU and SCU and the set of split_flag.
- the quad-tree structure of partitions used in the above-described adaptive offset processing and adaptive loop filter processing may also be expressed by the same set of maximum partition size, minimum partition size, and split_flag.
- the LCU size that is expanded according to the ratio of the spatial resolution or the maximum The partition size is used as the LCU size or maximum partition size for the enhancement layer.
- the SCU size or the minimum partition size may be expanded depending on the ratio, or may not be expanded taking into account the possibility of subdivision.
- One coding unit may be divided into one or more prediction units (PU: Prediction Unit) which are intra prediction and inter prediction processing units.
- PU Prediction Unit
- One prediction unit may be divided into one or more transform units (TU: Transform Unit) which are orthogonal transform processing units.
- TU Transform Unit
- the CU structure determination unit 130 determines the Quad-Tree-like CU structure set in the input image based on the offline image analysis result. Then, the CU structure determination unit 130 generates Quad-Tree information representing the CU structure, and outputs the generated Quad-Tree information to the PU structure determination unit 132 and the syntax encoding unit 136.
- the PU structure determination unit 132 determines the PU structure set in each CU. Then, the PU structure determination unit 132 outputs PU setting information representing the PU structure in each CU to the TU structure determination unit 134 and the syntax encoding unit 136.
- the TU structure determination unit 134 determines the TU structure set in each PU.
- the TU structure determination unit 134 outputs TU setting information representing the TU structure in each PU to the syntax encoding unit 136.
- These Quad-Tree information, PU setting information, and TU setting information are buffered by the buffer 138 for processing in an upper layer.
- the syntax encoding unit 136 performs a lossless encoding process on the base layer quantized data input from the quantization unit 15 to generate a base layer encoded stream.
- the syntax encoding unit 136 encodes header information input from each unit of the image encoding device 10 and multiplexes the encoded header information in the header area of the encoded stream.
- the header information encoded here may include quad-tree information and offset information input from the adaptive offset unit 25, and quad-tree information and filter coefficient information input from the adaptive loop filter 26.
- the header information encoded by the syntax encoding unit 136 includes quad-tree information, PU setting information, and TU setting input from the CU structure determining unit 130, the PU structure determining unit 132, and the TU structure determining unit 134, respectively. Information can be included.
- Enhancement Layer In the enhancement layer encoding process, information buffered by the buffer 138 is reused.
- the CU structure determination unit 130 acquires Quad-Tree information representing the Quad-Tree structure of the CU set in each LCU in the lower layer from the buffer 138.
- the Quad-Tree information for the CU acquired here typically includes an LCU size, an SCU size, and a split_flag set.
- the LCU size may be enlarged according to the spatial resolution ratio.
- the CU structure determination unit 130 determines the CU structure set in each LCU of the enhancement layer based on the offline image analysis result. Then, when the CU is subdivided in the enhancement layer, the CU structure determination unit 130 generates division information and outputs the generated division information to the syntax encoding unit 136.
- the PU structure determination unit 132 acquires, from the buffer 138, PU setting information representing the structure of the PU set in each CU in the lower layer. Also, the PU structure determination unit 132 determines the PU structure set in each CU of the enhancement layer based on the offline image analysis result. When a PU structure different from the lower layer is used in the enhancement layer, the PU structure determination unit 132 additionally generates PU setting information and outputs the generated PU setting information to the syntax encoding unit 136. obtain.
- the TU structure determination unit 134 acquires TU setting information indicating the structure of the TU set in each PU in the lower layer from the buffer 138. Further, the TU structure determination unit 134 determines the TU structure set in each PU of the enhancement layer based on the offline image analysis result. When a TU structure different from the lower layer is used in the enhancement layer, the TU structure determination unit 134 additionally generates TU setting information and outputs the generated TU setting information to the syntax encoding unit 136. obtain.
- the syntax encoding unit 136 performs a lossless encoding process on the enhancement layer quantized data input from the quantization unit 15 to generate an enhancement layer encoded stream.
- the syntax encoding unit 136 encodes header information input from each unit of the image encoding device 10 and multiplexes the encoded header information in the header area of the encoded stream.
- the header information encoded here may include the division information and offset information input from the adaptive offset unit 25 and the division information and filter coefficient information input from the adaptive loop filter 26.
- the header information encoded by the syntax encoding unit 136 includes the division information, PU setting information, and TU setting information input from the CU structure determining unit 130, the PU structure determining unit 132, and the TU structure determining unit 134, respectively. May be included.
- FIG. 12 is an explanatory diagram for explaining division information that can be additionally encoded in the enhancement layer.
- the left side of FIG. 12 shows the quad-tree structure of the CU in the lower layer.
- the Quad-Tree structure includes seven coding units CU 0 , CU 1 , CU 20 to CU 23, and CU 3 .
- some split_flags encoded in the lower layer are shown.
- the value of split_flag FL1 is 1, indicating that the entire illustrated LCU is divided into four CUs.
- the value of split_flag FL2 is 0, indicating that the coding unit CU 1 is not further divided.
- the other split_flag also indicates whether the corresponding CU is further divided into a plurality of CUs.
- the right side of FIG. 12 shows a quad-tree structure of a CU in an upper layer.
- the lower layer coding unit CU 1 is subdivided into four coding units CU 10 to CU 13 .
- the lower layer coding unit CU 23 is subdivided into four coding units.
- the division information that can be additionally encoded in the upper layer includes several split_flags related to these subdivisions. For example, the value of split_flag FU1 is 1, indicating that the coding unit CU 1 is subdivided into four CUs.
- the value of split_flag FU2 is 0, indicating that the coding unit CU 11 is not divided further.
- split_flag FU3 The value of split_flag FU3 is 1, indicating that the coding unit CU 23 is subdivided into four CUs. Since such division information is encoded only for the CU to be subdivided, the amount of code that increases by encoding the division information is small.
- the division information that can be additionally encoded in the enhancement layer has been described using the CU Quad-Tree structure as an example.
- the division information for the quad-tree structure of the enhancement layer set in the above-described adaptive offset processing and adaptive loop filter processing may also be expressed by a similar set of split_flag that represents subdivision of each partition.
- FIG. 13 is a flowchart showing an example of the flow of adaptive offset processing by the adaptive offset unit 25 shown in FIG. Note that the flowchart of FIG. 13 illustrates a flow of processing for one enhancement layer among a plurality of layers of an image to be scalable encoded. It is assumed that before the processing described here, adaptive offset processing for the lower layer is performed and quad-tree information for the lower layer is buffered by the buffer 116. Here, it is assumed that the iterative process is performed on an LCU basis.
- the structure search unit 110 of the adaptive offset unit 25 acquires the Quad-Tree information generated in the lower layer processing from the buffer 116 (step S110).
- the structure search unit 110 divides the LCU to be processed (hereinafter referred to as “target LCU”) into one or more partitions according to the acquired quad-tree information of the lower layer (step S111).
- the structure search part 110 subdivides each partition into one or more smaller partitions as needed (step S112).
- the structure search unit 110 calculates an optimum offset value for each partition using the various offset patterns described above, and generates an image after the offset processing (step S113).
- the selection unit 112 selects an optimal quad-tree structure, an optimal offset pattern for each partition, and a set of offset values based on the comparison between the offset-processed image and the original image (step S114).
- the selection unit 112 compares the Quad-Tree structure represented by the Quad-Tree information of the lower layer with the Quad-Tree structure selected in Step S114, and determines whether there is a subdivided partition. (Step S115). Here, when there is a re-divided partition, the selection unit 112 generates division information indicating that the quad-tree structure partition set in the lower layer is further divided (step S116). Next, the selection part 112 produces
- the division information and offset information generated here can be encoded by the lossless encoding unit 16 and multiplexed into the header region of the enhancement layer encoded stream. Also, the partition information may be buffered by the buffer 116 for higher layer processing.
- the offset processing unit 114 adds the corresponding offset value to the pixel value in each partition in the target LCU according to the offset pattern selected for the partition (step S118).
- the decoded image data having the pixel values offset in this way is output to the adaptive loop filter 26.
- step S110 the process returns to step S110, and the above-described process is repeated (step S119).
- step S119 the adaptive offset process shown in FIG. 13 ends. If a higher layer exists, the adaptive offset process shown in FIG. 13 may be repeated with the higher layer as the processing target.
- FIG. 14 is a flowchart showing an example of the flow of adaptive loop filter processing by the adaptive loop filter 26 shown in FIG. Note that the flowchart of FIG. 14 shows a flow of processing for one enhancement layer among a plurality of layers of an image to be scalable encoded. It is assumed that adaptive loop filter processing for the lower layer is performed before the processing described here, and Quad-Tree information for the lower layer is buffered by the buffer 126. Here, it is assumed that the iterative process is performed on an LCU basis.
- the structure search unit 120 of the adaptive loop filter 26 acquires the Quad-Tree information generated in the lower layer processing from the buffer 126 (step S120).
- the structure search unit 120 divides the LCU of interest into one or more partitions according to the acquired quad-tree information of the lower layer (step S121).
- the structure search unit 120 subdivides each partition into one or more smaller partitions as necessary (step S122).
- the structure search unit 120 calculates, for each partition, a filter coefficient that minimizes an error between the decoded image and the original image, and generates a filtered image (step S123).
- the selection unit 122 selects an optimal combination of the Quad-Tree structure and the filter coefficient based on the comparison between the filtered image and the original image (Step S124).
- the selection unit 122 compares the Quad-Tree structure represented by the Quad-Tree information of the lower layer with the Quad-Tree structure selected in Step S124, and determines whether there is a subdivided partition. (Step S125). Here, when there is a re-divided partition, the selection unit 122 generates division information indicating that the quad-tree structure partition set in the lower layer is further divided (step S126). Next, the selection part 122 produces
- the division information and filter coefficient information generated here can be encoded by the lossless encoding unit 16 and multiplexed into the header region of the enhancement layer encoded stream. Also, the partition information may be buffered by the buffer 126 for higher layer processing.
- the filtering unit 124 filters the decoded image in each partition in the target LCU using the corresponding filter coefficient (step S128).
- the decoded image data filtered here is output to the frame memory 27.
- step S129 the adaptive loop filter process shown in FIG. 14 ends. Note that if there is a higher layer, the adaptive loop filter process shown in FIG. 14 may be repeated with the higher layer as the processing target.
- FIG. 15 is a flowchart illustrating an example of the flow of encoding processing by the lossless encoding unit 16 illustrated in FIG. 1. Note that the flowchart of FIG. 15 shows a flow of processing for one enhancement layer among a plurality of layers of an image to be scalable encoded. It is assumed that before the processing described here, encoding processing for the lower layer is performed, and Quad-Tree information for the lower layer is buffered by the buffer 138. Here, it is assumed that the iterative process is performed on an LCU basis.
- the CU structure determination unit 130 of the lossless encoding unit 16 acquires the Quad-Tree information generated in the lower layer processing from the buffer 138 (step S130). Similarly, the PU structure determination unit 132 acquires PU setting information generated in the processing of the lower layer. Also, the TU structure determination unit 134 acquires TU setting information generated in the lower layer processing.
- the CU structure determination unit 130 determines the CU structure set in the target LCU (step S131). Similarly, the PU structure determination unit 132 determines the PU structure set in each CU (step S132). The TU structure determination unit 134 determines the TU structure set in each PU (step S133).
- the CU structure determination unit 130 compares the CU structure represented by the quad-tree information of the lower layer with the CU structure determined in step S131, and determines whether there is a subdivided CU ( Step S134).
- the CU structure determination unit 130 generates division information indicating that the CU set in the lower layer is further divided (step S135).
- the PU structure determination unit 132 and the TU structure determination unit 134 can generate new PU setting information and TU setting information.
- the syntax encoding unit 136 encodes the division information (and PU setting information and TU setting information that can be newly generated) generated by the CU structure determination unit 130 (step S136).
- the syntax encoding unit 136 encodes other header information (step S137).
- the syntax encoding unit 136 multiplexes the encoded header information that may include the division information into the header region of the encoded stream that includes the encoded quantized data (step S138).
- the enhancement layer encoded stream generated in this way is output from the syntax encoding unit 136 to the accumulation buffer 17.
- step S139 the encoding process illustrated in FIG. 15 ends. Note that if there is a higher layer, the encoding process shown in FIG. 15 may be repeated with the higher layer as the processing target.
- FIG. 16 is a block diagram illustrating an example of the configuration of the image decoding device 60 according to an embodiment.
- the image decoding device 60 includes an accumulation buffer 61, a lossless decoding unit 62, an inverse quantization unit 63, an inverse orthogonal transform unit 64, an addition unit 65, a deblock filter (DF) 66, an adaptive offset unit (AO). 67, an adaptive loop filter (ALF) 68, a rearrangement buffer 69, a D / A (Digital to Analogue) conversion unit 70, a frame memory 71, selectors 72 and 73, an intra prediction unit 80, and a motion compensation unit 90.
- ALF adaptive loop filter
- the accumulation buffer 61 temporarily accumulates the encoded stream input via the transmission path.
- the lossless decoding unit 62 decodes the encoded stream input from the accumulation buffer 61 according to the encoding method used at the time of encoding.
- the quantized data included in the encoded stream is decoded by the lossless decoding unit 62 and output to the inverse quantization unit 63.
- the lossless decoding unit 62 decodes the header information multiplexed in the header area of the encoded stream.
- the header information decoded here may include, for example, the above-described Quad-Tree information, division information, offset information, filter coefficient information, PU setting information, and TU setting information.
- the lossless decoding unit 62 When the lossless decoding unit 62 decodes Quad-Tree information, division information, PU setting information, and TU setting information related to a CU, the lossless decoding unit 62 sets one or more CUs, PUs, and TUs in the decoded image. In addition, when the lossless decoding unit 62 decodes the Quad-Tree information, the division information, and the offset information related to the adaptive offset process, the lossless decoding unit 62 outputs the decoded information to the adaptive offset unit 67.
- the lossless decoding unit 62 when the lossless decoding unit 62 decodes the Quad-Tree information, the division information, and the filter coefficient information regarding the adaptive loop filter process, the lossless decoding unit 62 outputs the decoded information to the adaptive loop filter 68.
- the header information decoded by the lossless decoding unit 62 may include information related to inter prediction and information related to intra prediction.
- 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 motion compensation unit 90.
- the inverse quantization unit 63 performs inverse quantization on the quantized data decoded by the lossless decoding unit 62.
- 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. Then, the inverse orthogonal transform unit 64 outputs the generated prediction error data to the addition unit 65.
- the adding unit 65 adds the prediction error data input from the inverse orthogonal transform unit 64 and the predicted image data input from the selector 73 to generate decoded image data. Then, the addition unit 65 outputs the generated decoded image data to the deblock filter 66 and the frame memory 71.
- the deblock filter 66 removes block distortion by filtering the decoded image data input from the adding unit 65 and outputs the decoded image data after filtering to the adaptive offset unit 67.
- the adaptive offset unit 67 improves the image quality of the decoded image by adding an adaptively determined offset value to each pixel value of the decoded image after DF.
- the adaptive offset processing by the adaptive offset unit 67 uses the quad-tree information, the division information, and the offset information decoded by the lossless decoding unit 62 to partition partitions arranged in the image in a quad-tree shape. Performed as a processing unit.
- the adaptive offset unit 67 outputs decoded image data having offset pixel values to the adaptive loop filter 68 as a result of the adaptive offset process.
- the adaptive loop filter 68 minimizes an error between the decoded image and the original image by filtering the decoded image after AO.
- the adaptive loop filter 68 is typically implemented using a Wiener filter.
- the adaptive loop filter processing by the adaptive loop filter 68 is arranged in an image in a quad-tree shape using quad-tree information, division information, and filter coefficient information decoded by the lossless decoding unit 62. This is done using a partition as a processing unit.
- the adaptive loop filter 68 outputs the filtered decoded image data to the rearrangement buffer 69 and the frame memory 71 as a result of the adaptive loop filter process.
- the rearrangement buffer 69 rearranges the images input from the adaptive loop filter 68 to generate a series of time-series image data. Then, the rearrangement buffer 69 outputs the generated image data to the D / A conversion unit 70.
- the D / A converter 70 converts the digital image data input from the rearrangement buffer 69 into an analog image signal. Then, the D / A conversion unit 70 displays an image by outputting an analog image signal to a display (not shown) connected to the image decoding device 60, for example.
- the frame memory 71 stores the decoded image data before DF input from the adder 65 and the decoded image data after ALF input from the adaptive loop filter 68 using a storage medium.
- the selector 72 switches the output destination of the image data from the frame memory 71 between the intra prediction unit 80 and the motion compensation unit 90 for each block in the image according to the mode information acquired by the lossless decoding unit 62. .
- the selector 72 outputs the decoded image data before DF supplied from the frame memory 71 to the intra prediction unit 80 as reference image data.
- the selector 72 outputs the decoded image data after ALF supplied from the frame memory 71 to the motion compensation unit 90 as reference image data.
- the selector 73 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 motion compensation unit 90 according to the mode information acquired by the lossless decoding unit 62. For example, the selector 73 supplies the predicted 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 73 supplies the predicted image data output from the motion compensation unit 90 to the adding unit 65.
- the intra prediction unit 80 performs intra prediction processing based on the information related to intra prediction input from the lossless decoding unit 62 and the reference image data from the frame memory 71, and generates predicted image data. Then, the intra prediction unit 80 outputs the generated predicted image data to the selector 73.
- the motion compensation unit 90 performs motion compensation processing based on the inter prediction information input from the lossless decoding unit 62 and the reference image data from the frame memory 71 to generate predicted image data. Then, the motion compensation unit 90 outputs the predicted image data generated as a result of the motion compensation process to the selector 73.
- the image decoding device 60 repeats the series of decoding processes described here for each of a plurality of layers of a scalable encoded image.
- the layer that is decoded first is the base layer. After the base layer is decoded, one or more enhancement layers are decoded.
- decoding the enhancement layer information obtained by decoding the lower layer, which is the base layer or another enhancement layer, is used.
- the lossless decoding unit 62 illustrated in FIG. 16 includes a buffer for buffering Quad-Tree information of a lower layer for setting a coding unit (CU), and uses the Quad-Tree information.
- the adaptive offset unit 67 also has a buffer for buffering lower-layer quad-tree information for setting a partition for adaptive offset processing, and sets a partition in the upper layer using the quad-tree information.
- the adaptive loop filter 26 also has a buffer for buffering Quad-Tree information of a lower layer for setting a partition for adaptive loop filter processing, and sets a partition in an upper layer using the Quad-Tree information.
- a buffer for buffering Quad-Tree information of a lower layer for setting a partition for adaptive loop filter processing and sets a partition in an upper layer using the Quad-Tree information.
- Quad-Tree information may be reused only in any one or two of the lossless decoding unit 62, the adaptive offset unit 67, and the adaptive loop filter 68.
- the adaptive offset unit 67 and the adaptive loop filter 68 may be omitted from the configuration of the image decoding device 60.
- FIG. 17 is a block diagram illustrating an example of a detailed configuration of the lossless decoding unit 62.
- the lossless decoding unit 62 includes a syntax decoding unit 210, a CU setting unit 212, a PU setting unit 214, a TU setting unit 216, and a buffer 218.
- the syntax decoding unit 210 decodes the base layer encoded stream input from the accumulation buffer 61.
- the syntax decoding unit 210 decodes the Quad-Tree information for the CU set in the base layer
- the syntax decoding unit 210 outputs the decoded Quad-Tree information to the CU setting unit 212.
- the CU setting unit 212 uses the Quad-Tree information decoded by the syntax decoding unit 210 to set one or more CUs in a Quad-Tree shape in the base layer.
- the syntax decoding unit 210 then decodes other header information and image data (quantized data) for each CU set by the CU setting unit 212.
- the quantized data decoded by the syntax decoding unit 210 is output to the inverse quantization unit 63.
- the syntax decoding unit 210 outputs the decoded PU setting information and TU setting information to the PU setting unit 214 and the TU setting unit 216, respectively.
- the PU setting unit 214 uses the PU setting information decoded by the syntax decoding unit 210 to further set one or more PUs in each of the CUs set in a quad-tree shape by the CU setting unit 212.
- Each PU set by the PU setting unit 214 is a processing unit for intra prediction processing by the intra prediction unit 80 or motion compensation processing by the motion compensation unit 90.
- the TU setting unit 216 sets one or more TUs for each PU set by the PU setting unit 214 using the TU setting information decoded by the syntax decoding unit 210.
- Each TU set by the TU setting unit 216 is a processing unit for inverse quantization by the inverse quantization unit 63 and inverse orthogonal transform by the inverse orthogonal transform unit 64.
- syntax decoding unit 210 decodes the Quad-Tree information and the offset information for adaptive offset processing, and outputs the decoded information to the adaptive offset unit 67.
- the syntax decoding unit 210 also decodes Quad-Tree information and filter coefficient information for adaptive loop filter processing, and outputs the decoded information to the adaptive loop filter 68.
- syntax decoding unit 210 decodes other header information, and a processing unit corresponding to the decoded information (for example, the intra prediction unit 80 for information related to intra prediction, the motion compensation unit 90 for information related to inter prediction, etc. ).
- the buffer 218 buffers the Quad-Tree information for the CU decoded by the syntax decoding unit 210 for processing in an upper layer.
- the PU setting information and the TU setting information may be buffered in the same manner as the Quad-Tree information for the CU, or may be newly decoded in an upper layer.
- Enhancement Layer In the enhancement layer encoding process, information buffered by the buffer 218 is reused.
- the syntax decoding unit 210 decodes the enhancement layer encoded stream input from the accumulation buffer 61.
- the syntax decoding unit 210 first acquires the Quad-Tree information used when setting the CU in the lower layer from the buffer 218, and outputs the acquired Quad-Tree information to the CU setting unit 212.
- the CU setting unit 212 uses the quad-tree information of the lower layer acquired by the syntax decoding unit 210 to set one or more CUs having a quad-tree structure equivalent to that of the lower layer as an enhancement layer.
- the Quad-Tree information here typically includes an LCU size, an SCU size, and a split_flag set. When the spatial resolution between the enhancement layer and the lower layer is different, the LCU size may be enlarged according to the spatial resolution ratio.
- the syntax decoding unit 210 decodes the division information and outputs the decoded division information to the CU setting unit 212.
- the CU setting unit 212 can re-divide the CU set using the Quad-Tree information according to the division information decoded by the syntax decoding unit 210.
- the syntax decoding unit 210 decodes other header information and image data (quantized data) for each CU set by the CU setting unit 212 in this way.
- the quantized data decoded by the syntax decoding unit 210 is output to the inverse quantization unit 63.
- the syntax decoding unit 210 outputs PU setting information and TU setting information acquired from the buffer 218 or newly decoded in the enhancement layer to the PU setting unit 214 and the TU setting unit 216, respectively.
- the PU setting unit 214 uses the PU setting information input from the syntax decoding unit 210 to further set one or more PUs in each of the CUs set in a quad-tree shape by the CU setting unit 212.
- the TU setting unit 216 uses the TU setting information input from the syntax decoding unit 210 to further set one or more TUs for each PU set by the TU setting unit 214.
- the syntax decoding unit 210 decodes offset information for adaptive offset processing from the enhancement layer encoded stream, and outputs the decoded offset information to the adaptive offset unit 67.
- the syntax decoding unit 210 decodes the division information and outputs the decoded division information to the adaptive offset unit 67.
- syntax decoding section 210 decodes filter coefficient information for adaptive loop filter processing from the enhancement layer encoded stream, and outputs the decoded filter coefficient information to adaptive loop filter 68.
- the syntax decoding unit 210 decodes the division information and outputs it to the adaptive loop filter 68. Further, the syntax decoding unit 210 decodes other header information and outputs the decoded information to a corresponding processing unit.
- the buffer 218 may buffer these information for processing in a higher layer. Good.
- FIG. 18 is a block diagram illustrating an example of a detailed configuration of the adaptive offset unit 67.
- the adaptive offset unit 67 includes a partition setting unit 220, an offset acquisition unit 222, an offset processing unit 224, and a buffer 226.
- the partition setting unit 220 acquires Quad-Tree information decoded by the lossless decoding unit 62 from the base layer encoded stream. Then, the partition setting unit 220 sets one or more partitions for adaptive offset processing in a quad-tree shape in the base layer using the acquired quad-tree information.
- the offset acquisition unit 222 acquires offset information for adaptive offset processing decoded by the lossless decoding unit 62. As described above, the offset information acquired here represents an offset pattern for each partition and a set of offset values for each offset pattern. Then, the offset processing unit 224 performs adaptive offset processing for each partition set by the partition setting unit 220 using the offset information acquired by the offset acquisition unit 222.
- the offset processing unit 224 adds an offset value to each pixel value in each partition according to the offset pattern represented by the offset information. Then, the offset processing unit 224 outputs the decoded image data having the offset pixel value to the adaptive loop filter 68.
- the Quad-Tree information acquired by the partition setting unit 220 is buffered by the buffer 226 for processing in an upper layer.
- Quad-Tree information buffered by the buffer 226 is reused.
- the partition setting unit 220 acquires Quad-Tree information of the lower layer from the buffer 226. Then, the partition setting unit 220 sets one or more partitions for adaptive offset processing in a quad-tree shape in the enhancement layer using the acquired quad-tree information.
- the partition setting unit 220 can acquire the decoded division information and re-divide the partition according to the acquired division information.
- the offset acquisition unit 222 acquires offset information for adaptive offset processing decoded by the lossless decoding unit 62.
- the offset processing unit 224 performs adaptive offset processing for each partition set by the partition setting unit 220 using the offset information acquired by the offset acquisition unit 222. Then, the offset processing unit 224 outputs the decoded image data having the offset pixel value to the adaptive loop filter 68.
- the division information acquired by the partition setting unit 220 may be buffered by the buffer 226 for processing in a higher layer.
- FIG. 19 is a block diagram illustrating an example of a detailed configuration of the adaptive loop filter 68.
- the adaptive loop filter 68 includes a partition setting unit 230, a coefficient acquisition unit 232, a filtering unit 234, and a buffer 236.
- the partition setting unit 230 acquires Quad-Tree information decoded by the lossless decoding unit 62 from the base layer encoded stream. Then, the partition setting unit 230 sets one or more partitions for adaptive loop filter processing in a quad-tree shape in the base layer using the acquired quad-tree information.
- the coefficient acquisition unit 232 acquires filter coefficient information for adaptive loop filter processing decoded by the lossless decoding unit 62.
- the filter coefficient information acquired here represents a set of filter coefficients for each partition as described above.
- the filtering unit 234 filters the decoded image data using a Wiener filter having a filter coefficient represented by the filter coefficient information for each partition set by the partition setting unit 230.
- the filtering unit 234 outputs the filtered decoded image data to the rearrangement buffer 69 and the frame memory 71.
- the quad-tree information acquired by the partition setting unit 230 is buffered by the buffer 236 for processing in an upper layer.
- the partition setting unit 230 acquires Quad-Tree information of the lower layer from the buffer 236. Then, the partition setting unit 230 uses the acquired quad-tree information to set one or more partitions for adaptive loop filter processing in a quad-tree shape in the enhancement layer. Further, when the division information is decoded by the lossless decoding unit 62, the partition setting unit 230 can acquire the decoded division information and re-divide the partition according to the acquired division information.
- the coefficient acquisition unit 232 acquires filter coefficient information for adaptive loop filter processing decoded by the lossless decoding unit 62.
- the filtering unit 234 filters the decoded image data using a Wiener filter having a filter coefficient represented by the filter coefficient information for each partition set by the partition setting unit 230. Then, the filtering unit 234 outputs the filtered decoded image data to the rearrangement buffer 69 and the frame memory 71.
- the division information acquired by the partition setting unit 230 may be buffered by the buffer 236 for processing in a higher layer.
- FIG. 20 is a flowchart showing an example of the flow of decoding processing by the lossless decoding unit 62 shown in FIG. Note that the flowchart in FIG. 20 illustrates a flow of processing for one enhancement layer among a plurality of layers of an image to be scalable decoded. It is assumed that the decoding process for the lower layer is performed before the process described here, and information about the lower layer is buffered by the buffer 218. Here, it is assumed that the iterative process is performed on an LCU basis.
- the syntax decoding unit 210 acquires the Quad-Tree information used when setting the CU in the lower layer from the buffer 218 (step S210). In addition, the syntax decoding unit 210 newly decodes the PU setting information and the TU setting information from the encoded stream, or acquires them from the buffer 218 (step S211).
- the syntax decoding unit 210 determines whether division information indicating that there is a CU to be subdivided exists in the header area of the encoded stream (step S212). Here, when the division information exists, the syntax decoding unit 210 decodes the division information (step S213).
- the CU setting unit 212 uses the Quad-Tree information used when setting the CU in the LCU of the lower layer corresponding to the target LCU, and has one Quad-Tree structure equivalent to the lower layer.
- the above CU is set in the attention LCU of the enhancement layer (step S214).
- the CU setting unit 212 may subdivide the CU according to the division information.
- the PU setting unit 214 sets one or more PUs to each of the CUs set by the CU setting unit 212 using the PU setting information acquired by the syntax decoding unit 210 (step S215).
- the TU setting unit 216 sets one or more TUs for each of the PUs set by the PU setting unit 214 using the TU setting information acquired by the syntax decoding unit 210 (step S216). .
- syntax decoding unit 210 decodes other header information such as information related to intra prediction and information related to inter prediction (step S217). Also, the syntax decoding unit 210 decodes the quantized data of the LCU of interest included in the enhancement layer encoded stream (step S218). The quantized data decoded by the syntax decoding unit 210 is output to the inverse quantization unit 63.
- step S219) the decoding process illustrated in FIG. 20 ends. Note that when there is a higher layer, the decoding process shown in FIG. 20 may be repeated with the higher layer as the processing target.
- FIG. 21 is a flowchart showing an example of the flow of adaptive offset processing by the adaptive offset unit 67 shown in FIG. Note that the flowchart in FIG. 21 illustrates a flow of processing for one enhancement layer among a plurality of layers of an image to be scalable decoded.
- adaptive offset processing for the lower layer is performed, and Quad-Tree information for the lower layer is buffered by the buffer 226.
- the iterative process is performed on an LCU basis.
- the partition setting unit 220 acquires the Quad-Tree information used when setting the partition in the lower layer from the buffer 226 (step S220).
- the partition setting unit 220 determines whether or not the division information indicating that there is a partition to be subdivided has been decoded by the lossless decoding unit 62 (step S221). Here, when the division information is decoded, the partition setting unit 220 acquires the division information (step S222).
- the partition setting unit 220 uses the Quad-Tree information used when setting the partition in the lower layer LCU corresponding to the target LCU, and has one Quad-Tree structure equivalent to the lower layer.
- the above partitions are set in the attention LCU of the enhancement layer (step S223).
- the partition setting unit 220 can subdivide the partition according to the partition information.
- the offset acquisition unit 222 acquires offset information for adaptive offset processing decoded by the lossless decoding unit 62 (step S224).
- the offset information acquired here represents an offset pattern for each partition in the target LCU and a set of offset values for each offset pattern.
- the offset processing unit 224 adds the offset value to the pixel value in each partition according to the offset pattern represented by the acquired offset information (step S225). Then, the offset processing unit 224 outputs the decoded image data having the offset pixel value to the adaptive loop filter 68.
- step S220 the process returns to step S220, and the above-described process is repeated (step S226).
- the adaptive offset process shown in FIG. 21 ends.
- the adaptive offset process shown in FIG. 21 may be repeated with the higher layer as a processing target.
- FIG. 22 is a flowchart showing an example of the flow of adaptive loop filter processing by the adaptive loop filter 68 shown in FIG. Note that the flowchart in FIG. 22 illustrates a flow of processing for one enhancement layer among a plurality of layers of an image to be scalable decoded.
- adaptive loop filter processing for the lower layer is performed, and Quad-Tree information for the lower layer is buffered by the buffer 236.
- the iterative process is performed on an LCU basis.
- the partition setting unit 230 acquires the Quad-Tree information used when setting the partition in the lower layer from the buffer 236 (step S230).
- the partition setting unit 230 determines whether or not the division information indicating that there is a partition to be subdivided has been decoded by the lossless decoding unit 62 (step S231). Here, when the division information is decoded, the partition setting unit 230 acquires the division information (step S232).
- the partition setting unit 230 uses the Quad-Tree information used when setting the partition in the LCU of the lower layer corresponding to the target LCU, and has one Quad-Tree structure equivalent to the lower layer.
- the above partitions are set in the attention LCU of the enhancement layer (step S233).
- the partition setting unit 230 can re-partition the partition according to the partition information.
- the coefficient acquisition unit 232 acquires filter coefficient information for adaptive loop filter processing decoded by the lossless decoding unit 62 (step S234).
- the filter coefficient information acquired here represents a set of filter coefficients for each partition in the target LCU.
- the filtering unit 234 filters the decoded image in each partition using the set of filter coefficients represented by the acquired filter coefficient information (step S235). Then, the filtering unit 234 outputs the filtered decoded image data to the rearrangement buffer 69 and the frame memory 71.
- step S230 the process returns to step S230, and the above-described process is repeated (step S236).
- the adaptive loop filter process shown in FIG. 22 ends.
- the adaptive loop filter process shown in FIG. 22 may be repeated with the higher layer as a processing target.
- 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. 23 shows an example of a schematic configuration of a television apparatus to which the above-described embodiment is applied.
- the television apparatus 900 includes an antenna 901, a tuner 902, a demultiplexer 903, a decoder 904, a video signal processing unit 905, a display unit 906, an audio signal processing unit 907, a speaker 908, an external interface 909, a control unit 910, a user interface 911, And a bus 912.
- 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, at the time of scalable decoding of an image in the television apparatus 900, encoding efficiency can be improved by reusing Quad-Tree information based on the correlation of images between layers.
- FIG. 24 shows an example of a schematic configuration of a mobile phone to which the above-described embodiment is applied.
- a mobile phone 920 includes an antenna 921, a communication unit 922, an audio codec 923, a speaker 924, a microphone 925, a camera unit 926, an image processing unit 927, a demultiplexing unit 928, a recording / reproducing unit 929, a display unit 930, a control unit 931, an operation A portion 932 and a bus 933.
- the antenna 921 is connected to the communication unit 922.
- the speaker 924 and the microphone 925 are connected to the audio codec 923.
- the operation unit 932 is connected to the control unit 931.
- the bus 933 connects the communication unit 922, the audio codec 923, the camera unit 926, the image processing unit 927, the demultiplexing unit 928, the recording / reproducing unit 929, the display unit 930, and the control unit 931 to each other.
- the mobile phone 920 has various operation modes including a voice call mode, a data communication mode, a shooting mode, and a videophone mode, and is used for sending and receiving voice signals, sending and receiving e-mail or image data, taking images, and recording data. Perform the action.
- the analog voice signal generated by the microphone 925 is supplied to the voice codec 923.
- the audio codec 923 converts an analog audio signal into audio data, A / D converts the converted audio data, and compresses it. Then, the audio codec 923 outputs the compressed audio data to the communication unit 922.
- the communication unit 922 encodes and modulates the audio data and generates a transmission signal. Then, the communication unit 922 transmits the generated transmission signal to a base station (not shown) via the antenna 921. In addition, the communication unit 922 amplifies a radio signal received via the antenna 921 and performs frequency conversion to acquire a received signal.
- the communication unit 922 demodulates and decodes the received signal to generate audio data, and outputs the generated audio data to the audio codec 923.
- the audio codec 923 expands the audio data and performs D / A conversion to generate an analog audio signal. Then, the audio codec 923 supplies the generated audio signal to the speaker 924 to output audio.
- the control unit 931 generates character data constituting the e-mail in response to an operation by the user via the operation unit 932.
- the control unit 931 causes the display unit 930 to display characters.
- the control unit 931 generates e-mail data in response to a transmission instruction from the user via the operation unit 932, and outputs the generated e-mail data to the communication unit 922.
- the communication unit 922 encodes and modulates email data and generates a transmission signal. Then, the communication unit 922 transmits the generated transmission signal to a base station (not shown) via the antenna 921.
- the communication unit 922 amplifies a radio signal received via the antenna 921 and performs frequency conversion to acquire a received signal.
- the communication unit 922 demodulates and decodes the received signal to restore the email data, and outputs the restored email data to the control unit 931.
- the control unit 931 displays the content of the electronic mail on the display unit 930 and stores the electronic mail data in the storage medium of the recording / reproducing unit 929.
- the recording / reproducing unit 929 has an arbitrary readable / writable storage medium.
- the storage medium may be a built-in storage medium such as a RAM or a flash memory, or an externally mounted storage medium such as a hard disk, a magnetic disk, a magneto-optical disk, an optical disk, a USB memory, or a memory card. May be.
- the camera unit 926 images a subject to generate image data, and outputs the generated image data to the image processing unit 927.
- the image processing unit 927 encodes the image data input from the camera unit 926 and stores the encoded stream in the storage medium of the recording / playback unit 929.
- the demultiplexing unit 928 multiplexes the video stream encoded by the image processing unit 927 and the audio stream input from the audio codec 923, and the multiplexed stream is the communication unit 922. Output to.
- the communication unit 922 encodes and modulates the stream and generates a transmission signal. Then, the communication unit 922 transmits the generated transmission signal to a base station (not shown) via the antenna 921.
- the communication unit 922 amplifies a radio signal received via the antenna 921 and performs frequency conversion to acquire a received signal.
- These transmission signal and reception signal may include an encoded bit stream.
- the communication unit 922 demodulates and decodes the received signal to restore the stream, and outputs the restored stream to the demultiplexing unit 928.
- the demultiplexing unit 928 separates the video stream and the audio stream from the input stream, and outputs the video stream to the image processing unit 927 and the audio stream to the audio codec 923.
- the image processing unit 927 decodes the video stream and generates video data.
- the video data is supplied to the display unit 930, and a series of images is displayed on the display unit 930.
- the audio codec 923 decompresses the audio stream and performs D / A conversion to generate an analog audio signal. Then, the audio codec 923 supplies the generated audio signal to the speaker 924 to output audio.
- the image processing unit 927 has the functions of the image encoding device 10 and the image decoding device 60 according to the above-described embodiment. Therefore, at the time of scalable coding and decoding of an image by the mobile phone 920, the coding efficiency can be improved by reusing the Quad-Tree information based on the correlation of images between layers.
- FIG. 25 shows an example of a schematic configuration of a recording / reproducing apparatus to which the above-described embodiment is applied.
- the recording / reproducing device 940 encodes audio data and video data of a received broadcast program and records the encoded data on a recording medium.
- the recording / reproducing device 940 may encode audio data and video data acquired from another device and record them on a recording medium, for example.
- the recording / reproducing device 940 reproduces data recorded on the recording medium on a monitor and a speaker, for example, in accordance with a user instruction. At this time, the recording / reproducing device 940 decodes the audio data and the video data.
- the recording / reproducing device 940 includes a tuner 941, an external interface 942, an encoder 943, an HDD (Hard Disk Drive) 944, a disk drive 945, a selector 946, a decoder 947, an OSD (On-Screen Display) 948, a control unit 949, and a user interface. 950.
- Tuner 941 extracts a signal of a desired channel from a broadcast signal received via an antenna (not shown), and demodulates the extracted signal. Then, the tuner 941 outputs the encoded bit stream obtained by the demodulation to the selector 946. That is, the tuner 941 has a role as a transmission unit in the recording / reproducing apparatus 940.
- the external interface 942 is an interface for connecting the recording / reproducing apparatus 940 to an external device or a network.
- the external interface 942 may be, for example, an IEEE 1394 interface, a network interface, a USB interface, or a flash memory interface.
- video data and audio data received via the external interface 942 are input to the encoder 943. That is, the external interface 942 serves as a transmission unit in the recording / reproducing device 940.
- the encoder 943 encodes video data and audio data when the video data and audio data input from the external interface 942 are not encoded. Then, the encoder 943 outputs the encoded bit stream to the selector 946.
- the HDD 944 records an encoded bit stream in which content data such as video and audio is compressed, various programs, and other data on an internal hard disk. Also, the HDD 944 reads out these data from the hard disk when playing back video and audio.
- the disk drive 945 performs recording and reading of data to and from the mounted recording medium.
- the recording medium loaded in the disk drive 945 may be, for example, a DVD disk (DVD-Video, DVD-RAM, DVD-R, DVD-RW, DVD + R, DVD + RW, etc.) or a Blu-ray (registered trademark) disk. .
- the selector 946 selects an encoded bit stream input from the tuner 941 or the encoder 943 when recording video and audio, and outputs the selected encoded bit stream to the HDD 944 or the disk drive 945. In addition, the selector 946 outputs the encoded bit stream input from the HDD 944 or the disk drive 945 to the decoder 947 during video and audio reproduction.
- the decoder 947 decodes the encoded bit stream and generates video data and audio data. Then, the decoder 947 outputs the generated video data to the OSD 948. The decoder 904 outputs the generated audio data to an external speaker.
- the OSD 948 reproduces the video data input from the decoder 947 and displays the video. Further, the OSD 948 may superimpose a GUI image such as a menu, a button, or a cursor on the video to be displayed.
- a GUI image such as a menu, a button, or a cursor
- the control unit 949 includes a processor such as a CPU and memories such as a RAM and a ROM.
- the memory stores a program executed by the CPU, program data, and the like.
- the program stored in the memory is read and executed by the CPU when the recording / reproducing apparatus 940 is activated, for example.
- the CPU controls the operation of the recording / reproducing device 940 according to an operation signal input from the user interface 950, for example, by executing the program.
- the user interface 950 is connected to the control unit 949.
- the user interface 950 includes, for example, buttons and switches for the user to operate the recording / reproducing device 940, a remote control signal receiving unit, and the like.
- the user interface 950 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 949.
- the encoder 943 has the function of the image encoding apparatus 10 according to the above-described embodiment.
- the decoder 947 has the function of the image decoding device 60 according to the above-described embodiment. Therefore, at the time of scalable encoding and decoding of an image by the recording / reproducing apparatus 940, encoding efficiency can be improved by reusing Quad-Tree information based on the correlation of images between layers.
- FIG. 26 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. Therefore, at the time of scalable encoding and decoding of an image by the imaging device 960, encoding efficiency can be improved by reusing Quad-Tree information based on the correlation of images between layers.
- the image encoding device 10 and the image decoding device 60 have been described in detail with reference to FIGS. 1 to 26.
- the second quad-tree is set in the upper layer using the quad-tree information that identifies the first quad-tree set in the lower layer. .
- This eliminates the need to encode Quad-Tree information representing the entire Quad-Tree structure of the upper layer for the upper layer. That is, since encoding of redundant Quad-Tree information across a plurality of layers is avoided, encoding efficiency is improved.
- the division information indicating whether or not the first quad-tree is further divided in the second quad-tree can be encoded for the upper layer. Therefore, instead of adopting the same Quad-Tree structure as the lower layer in the upper layer, the Quad-Tree structure can be further divided. Therefore, processing such as encoding and decoding, intra / inter prediction, orthogonal transform and inverse orthogonal transform, adaptive offset (AO), or adaptive loop filter (ALF) can be performed in smaller processing units in the upper layer. . As a result, a fine image can be reproduced more accurately in the upper layer.
- the Quad-Tree may be a Quad-Tree for block-based adaptive loop filter processing.
- quad-tree information is reused for adaptive loop filter processing, while filter coefficients different between layers are calculated and transmitted. Therefore, even if the Quad-Tree information is reused, the performance of the adaptive loop filter applied to the upper layer is sufficiently ensured.
- the Quad-Tree may be a Quad-Tree for block-based adaptive offset processing.
- quad-tree information is reused for adaptive offset processing, while offset information that differs between layers is generated and transmitted. Therefore, even if Quad-Tree information is reused, the performance of adaptive offset processing applied to higher layers is sufficiently ensured.
- the Quad-Tree may be a Quad-Tree for CU.
- CUs arranged in a Quad-Tree form are the basic processing unit for image encoding and decoding. Therefore, the amount of code can be reduced by reusing Quad-Tree information for CUs between layers. It can be greatly reduced. Also, the amount of codes can be further reduced by reusing the PU arrangement and / or TU arrangement within each CU between layers.
- the PU arrangement in each CU is encoded for each layer, the PU arrangement is optimized for each layer, so that the prediction accuracy can be improved.
- the arrangement of TUs in each PU is encoded for each layer, the arrangement of TUs is optimized for each layer, so that noise caused by orthogonal transformation can be suppressed.
- the mechanism for reusing Quad-Tree information according to the present embodiment can be applied to various types of scalable coding technologies such as spatial scalability, SNR scalability, bit depth scalability, and chroma format scalability. Even when the spatial resolution differs between layers, reuse of Quad-Tree information can be easily realized, for example, by enlarging the LCU size or the maximum partition size in accordance with the ratio of the spatial resolution.
- header information such as quad-tree information, division information, offset information, and filter coefficient information is multiplexed on the header of the encoded stream and transmitted from the encoding side to the decoding side.
- 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.
- 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).
- 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.
- the following configurations also belong to the technical scope of the present disclosure.
- (1) Decodes Quad-Tree information that identifies a first Quad-Tree set in the first layer of an image to be scalable decoded that includes a first layer and a second layer higher than the first layer A decoding unit to A setting unit configured to set a second Quad-Tree in the second layer using the Quad-Tree information decoded by the decoding unit;
- An image processing apparatus comprising: (2) The decoding unit decodes division information indicating whether to further divide the first Quad-Tree, The setting unit sets the second Quad-Tree by further dividing the Quad-Tree formed using the Quad-Tree information according to the division information.
- the image processing apparatus according to (1).
- the image processing apparatus further including a filtering unit that performs an adaptive loop filter process for each partition included in the second Quad-Tree set by the setting unit.
- the decoding unit further decodes the filter coefficient of each partition for the adaptive loop filter processing of the second layer, The filtering unit performs the adaptive loop filter process using the filter coefficient.
- the image processing apparatus according to (3).
- the image processing apparatus according to (1) or (2), further including an offset processing unit that performs adaptive offset processing for each partition included in the second quad-tree set by the setting unit.
- the decoding unit further decodes offset information for the adaptive offset processing of the second layer, The offset processing unit performs the adaptive offset processing using the offset information;
- the image processing apparatus according to (5).
- the second quad-tree is a quad-tree for a CU (Coding Unit),
- the decoding unit decodes the image data of the second layer for each CU included in the second Quad-Tree;
- the image processing apparatus according to (1) or (2).
- the setting unit further uses one or more PUs for each of the CUs included in the second Quad-Tree using PU setting information for setting one or more PUs (Prediction Units) for each CU.
- the image processing device according to (7) which is set.
- the image processing device according to (8), wherein the PU setting information is information that is decoded in order to set a PU in the first layer.
- the setting unit further adds one to each PU in the CU included in the second Quad-Tree using TU setting information for setting one or more TUs (Transform Units) for each PU.
- the image processing apparatus according to (8), wherein the TU is set.
- the TU setting information is information that is decoded in order to set a TU in the first layer.
- the TU setting information is information that is decoded in order to set a TU in the second layer.
- the setting unit expands an LCU (Largest Coding Unit) size in the first layer according to a spatial resolution ratio between the first layer and the second layer, and increases the LCU size to the expanded LCU size.
- the image processing device according to any one of (7) to (13), wherein the second quad-tree is set in the second layer based on the second layer.
- the image processing device according to any one of (1) to (13), wherein the first layer and the second layer are layers having different spatial resolutions.
- the first layer and the second layer are layers having different noise ratios.
- the image processing device according to any one of (1) to (13), wherein the first layer and the second layer are layers having different bit depths.
- Quad-Tree information that identifies a first Quad-Tree set in the first layer of an image to be scalable decoded that includes a first layer and a second layer higher than the first layer
- An image processing method including: (19) Quad-Tree information for specifying a first Quad-Tree set in the first layer of an image to be scalable encoded that includes a first layer and a second layer higher than the first layer.
- An encoding unit that encodes the Quad-Tree information used for setting a second Quad-Tree in the second layer
- An image processing apparatus comprising: (20) Quad-Tree information for specifying a first Quad-Tree set in the first layer of an image to be scalable encoded that includes a first layer and a second layer higher than the first layer. Encoding the Quad-Tree information used to set a second Quad-Tree in the second layer;
- An image processing method including:
- Image encoding device (image processing device) 16 Coding unit 60 Image decoding device (image processing device) 62 Decoding unit 212, 214, 216, 220, 230 Setting unit 224 Offset processing unit 234 Filtering unit
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US14/232,017 US20150036758A1 (en) | 2011-07-19 | 2012-05-24 | Image processing apparatus and image processing method |
| CN201280034435.7A CN103703775A (zh) | 2011-07-19 | 2012-05-24 | 图像处理设备和图像处理方法 |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2011158027A JP5810700B2 (ja) | 2011-07-19 | 2011-07-19 | 画像処理装置及び画像処理方法 |
| JP2011-158027 | 2011-07-19 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2013011738A1 true WO2013011738A1 (ja) | 2013-01-24 |
Family
ID=47557929
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2012/063309 Ceased WO2013011738A1 (ja) | 2011-07-19 | 2012-05-24 | 画像処理装置及び画像処理方法 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US20150036758A1 (https=) |
| JP (1) | JP5810700B2 (https=) |
| CN (1) | CN103703775A (https=) |
| WO (1) | WO2013011738A1 (https=) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2015526976A (ja) * | 2012-07-09 | 2015-09-10 | オランジュ | 現在ブロックの分割を予測することによるビデオ符号化方法、復号化方法、対応する符号化及び復号化装置、並びにコンピュータプログラム |
Families Citing this family (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2013033458A2 (en) | 2011-08-30 | 2013-03-07 | Divx, Llc | Systems and methods for encoding and streaming video encoded using a plurality of maximum bitrate levels |
| US9532080B2 (en) | 2012-05-31 | 2016-12-27 | Sonic Ip, Inc. | Systems and methods for the reuse of encoding information in encoding alternative streams of video data |
| US9635360B2 (en) * | 2012-08-01 | 2017-04-25 | Mediatek Inc. | Method and apparatus for video processing incorporating deblocking and sample adaptive offset |
| US9648319B2 (en) * | 2012-12-12 | 2017-05-09 | Qualcomm Incorporated | Device and method for scalable coding of video information based on high efficiency video coding |
| US9357210B2 (en) | 2013-02-28 | 2016-05-31 | Sonic Ip, Inc. | Systems and methods of encoding multiple video streams for adaptive bitrate streaming |
| EP3005689A4 (en) * | 2013-05-24 | 2017-01-11 | Sonic IP, Inc. | Systems and methods of encoding multiple video streams with adaptive quantization for adaptive bitrate streaming |
| US9648335B2 (en) * | 2013-07-12 | 2017-05-09 | Qualcomm Incorporated | Bitstream restrictions on picture partitions across layers |
| CN106233736B (zh) * | 2014-04-25 | 2020-06-05 | 索尼公司 | 发送设备、发送方法、接收设备以及接收方法 |
| PH12018500454B1 (en) | 2015-09-03 | 2024-02-28 | Mediatek Inc | Method and apparatus of nueral network based processing in video coding |
| US20170150156A1 (en) * | 2015-11-25 | 2017-05-25 | Qualcomm Incorporated | Illumination compensation with non-square predictive blocks in video coding |
| CN109076217A (zh) * | 2016-05-02 | 2018-12-21 | 索尼公司 | 图像处理装置和图像处理方法 |
| US10148989B2 (en) | 2016-06-15 | 2018-12-04 | Divx, Llc | Systems and methods for encoding video content |
| CN107566848B (zh) | 2016-06-30 | 2020-04-14 | 华为技术有限公司 | 编解码的方法及装置 |
| WO2021018081A1 (en) * | 2019-07-26 | 2021-02-04 | Beijing Bytedance Network Technology Co., Ltd. | Configurable coding tree unit size in video coding |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8374238B2 (en) * | 2004-07-13 | 2013-02-12 | Microsoft Corporation | Spatial scalability in 3D sub-band decoding of SDMCTF-encoded video |
| US8199812B2 (en) * | 2007-01-09 | 2012-06-12 | Qualcomm Incorporated | Adaptive upsampling for scalable video coding |
| US20090154567A1 (en) * | 2007-12-13 | 2009-06-18 | Shaw-Min Lei | In-loop fidelity enhancement for video compression |
| KR20140005296A (ko) * | 2011-06-10 | 2014-01-14 | 미디어텍 인크. | 스케일러블 비디오 코딩의 방법 및 장치 |
| WO2012167711A1 (en) * | 2011-06-10 | 2012-12-13 | Mediatek Inc. | Method and apparatus of scalable video coding |
-
2011
- 2011-07-19 JP JP2011158027A patent/JP5810700B2/ja not_active Expired - Fee Related
-
2012
- 2012-05-24 US US14/232,017 patent/US20150036758A1/en not_active Abandoned
- 2012-05-24 WO PCT/JP2012/063309 patent/WO2013011738A1/ja not_active Ceased
- 2012-05-24 CN CN201280034435.7A patent/CN103703775A/zh active Pending
Non-Patent Citations (3)
| Title |
|---|
| HONG,DANNY ET AL.: "Scalability Support in HEVC", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC)OF ITU-T SG16 WP3 AND ISO/IEC JTC1/ SC29/WG11 JCTVC-F290, ITU-T, 13 July 2011 (2011-07-13) * |
| KOOHYAR MINOO ET AL.: "Spatial Scalability for HEVC", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/ SC29/WG11 5TH MEETING JVTVC-E431RL, ITU-T, March 2011 (2011-03-01) * |
| LUTHRA,AJAY: "Scalable enhancement requirements for HEVC", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC)OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG115TH MEETING JCTVC-E502, ITU-T, 22 March 2011 (2011-03-22) * |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2015526976A (ja) * | 2012-07-09 | 2015-09-10 | オランジュ | 現在ブロックの分割を予測することによるビデオ符号化方法、復号化方法、対応する符号化及び復号化装置、並びにコンピュータプログラム |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2013026724A (ja) | 2013-02-04 |
| CN103703775A (zh) | 2014-04-02 |
| JP5810700B2 (ja) | 2015-11-11 |
| US20150036758A1 (en) | 2015-02-05 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP5810700B2 (ja) | 画像処理装置及び画像処理方法 | |
| RU2595624C2 (ru) | Устройство и способ обработки изображений | |
| US9998766B2 (en) | Image processing device and image processing method | |
| US9185367B2 (en) | Image processing device and image processing method | |
| CN107105287B (zh) | 图像处理装置及图像处理方法 | |
| TWI595776B (zh) | Image processing device and method | |
| US9973784B2 (en) | Image processing device and method | |
| WO2013001939A1 (ja) | 画像処理装置及び画像処理方法 | |
| WO2014156707A1 (ja) | 画像符号化装置および方法、並びに、画像復号装置および方法 | |
| JP2013074491A (ja) | 画像処理装置および方法 | |
| WO2015052979A1 (ja) | 画像処理装置及び画像処理方法 | |
| JP6265249B2 (ja) | 画像処理装置及び画像処理方法 | |
| JP6048564B2 (ja) | 画像処理装置及び画像処理方法 | |
| AU2017202277B2 (en) | Image processing device and image processing method | |
| WO2014097703A1 (ja) | 画像処理装置及び画像処理方法 | |
| HK1243252A1 (en) | Image processing device and image processing method |
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: 12815298 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 14232017 Country of ref document: US |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 12815298 Country of ref document: EP Kind code of ref document: A1 |