WO2015146646A1 - 画像復号装置および方法 - Google Patents
画像復号装置および方法 Download PDFInfo
- Publication number
- WO2015146646A1 WO2015146646A1 PCT/JP2015/057532 JP2015057532W WO2015146646A1 WO 2015146646 A1 WO2015146646 A1 WO 2015146646A1 JP 2015057532 W JP2015057532 W JP 2015057532W WO 2015146646 A1 WO2015146646 A1 WO 2015146646A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- unit
- image
- size
- processing
- data
- Prior art date
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/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/12—Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
- H04N19/122—Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
-
- 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/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/436—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
-
- 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/124—Quantisation
-
- 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/127—Prioritisation of hardware or computational resources
-
- 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/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
-
- 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/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- 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/17—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 an image region, e.g. an object
- H04N19/176—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 an image region, e.g. an object the region being a block, e.g. a macroblock
-
- 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
-
- 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/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- 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
-
- 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/597—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
Definitions
- the present disclosure relates to an image decoding apparatus and method, and more particularly, to an image decoding apparatus and method that can perform decoding processing more efficiently.
- HEVC High Efficiency Video Coding
- the block size is diversified and subdivided, the number of coding blocks (Coding Block) is four times that of AVC, and the number of block sizes for prediction processing is about 4 times.
- the size of the prediction difference signal processing block is doubled.
- the present disclosure has been made in view of such a situation, and enables decoding processing to be performed more efficiently.
- a decoding unit that generates decoded data by decoding encoded data obtained by encoding image data, and the decoding unit generated based on the block structure of the encoded data
- An image decoding apparatus comprising: a processing unit that performs processing performed on the decoded data by a method according to a block size independently for each block size.
- the processing unit may include an inverse quantization unit that inversely quantizes the quantized decoded data.
- the block structure is information indicating the number and position of each transform unit size, and the inverse quantization unit can perform inverse quantization independently for each transform unit size.
- the processing unit may include an inverse orthogonal transform unit that performs inverse orthogonal transform on the orthogonally transformed decoded data.
- the block structure is information indicating the number and position of each transform unit size, and the inverse orthogonal transform unit can perform inverse orthogonal transform independently for each transform unit size.
- the processing unit may include an inter prediction unit that generates a predicted image by performing motion compensation.
- the block structure is information indicating the number and position of each prediction unit size, and the inter prediction unit can perform motion compensation independently for each size of the prediction unit.
- the block structure is information indicating the number and position of each coding unit size, and the inter prediction unit can perform motion compensation independently for each coding unit size.
- the processing unit can perform processing performed by a method according to the block size in parallel with each other for each block size.
- An analysis unit that analyzes a block structure of the encoded data is further provided, and the processing unit performs processing performed by a method according to the block size based on an analysis result of the block structure by the analysis unit. Can be done independently for each size.
- the analysis unit can determine the number of occurrences and the occurrence position for each size of the encoding unit of the encoded data.
- the analysis unit can determine the number of occurrences and the occurrence position for each size of the encoded data conversion unit.
- the analysis unit can determine the number of occurrences and the occurrence position for each size of the prediction unit of the encoded data.
- a parallel control unit that controls parallelization of processing performed by a method according to the block size can be further provided according to the processing load amount for each block size.
- the parallel control unit can parallelize processing performed by a method according to the block size so that the load amount is as uniform as possible.
- the parallel control unit can determine the processing load for each block size based on the environment.
- the parallel control unit can determine the processing load for each block size based on the calibration result.
- One aspect of the present technology also generates decoded data by decoding encoded data in which image data is encoded, and generates the decoded data based on the block structure of the encoded data.
- This is an image decoding method in which processing performed by a method according to the block size is performed independently for each block size.
- decoded data is generated by decoding encoded data obtained by encoding image data, and a block size is generated for the generated decoded data based on a block structure of the encoded data.
- the process performed by the method according to is performed independently for each block size.
- encoded data obtained by encoding image data can be decoded.
- the decoding process can be performed more efficiently.
- FIG. 10 is a flowchart subsequent to FIG.
- FIG. 9 for explaining an example of the flow of inverse quantization processing
- FIG. 12 is a flowchart explaining the example of the flow of an inverse orthogonal transformation process.
- 12 is a flowchart following FIG. 11 for explaining an example of the flow of the inverse orthogonal transform process.
- It is a flowchart explaining the example of the flow of an inter prediction process.
- It is a block diagram which shows the main structural examples of an image decoding apparatus. It is a flowchart explaining the example of the flow of a decoding process. It is a figure which shows the example of a multiview image encoding system. It is a figure which shows the main structural examples of the multiview image coding apparatus to which this technique is applied.
- FIG. 20 is a block diagram illustrating a main configuration example of a computer. It is a block diagram which shows an example of a schematic structure of a television apparatus.
- First Embodiment> ⁇ Image coding standardization process>
- image information has been handled as digital data, and at that time, for the purpose of efficient transmission and storage of information, encoding is performed by orthogonal transform such as discrete cosine transform and motion compensation using redundancy unique to image information.
- orthogonal transform such as discrete cosine transform and motion compensation using redundancy unique to image information.
- An apparatus that employs a method to compress and code an image is becoming widespread.
- This encoding method includes, for example, MPEG (Moving Picture Experts Group).
- MPEG2 (ISO / IEC 13818-2) is defined as a general-purpose image encoding system, and is a standard that covers both interlaced scanning images and progressive scanning images, as well as standard resolution images and high-definition images.
- MPEG2 is currently widely used in a wide range of applications for professional and consumer applications.
- a code amount (bit rate) of 4 to 8 Mbps can be assigned to an interlaced scanned image having a standard resolution having 720 ⁇ 480 pixels.
- a code amount (bit rate) of 18 to 22 Mbps can be allocated. As a result, a high compression rate and good image quality can be realized.
- MPEG2 was mainly intended for high-quality encoding suitable for broadcasting, but it did not support encoding methods with a lower code amount (bit rate) than MPEG1, that is, a higher compression rate. With the widespread use of mobile terminals, the need for such an encoding system is expected to increase in the future, and the MPEG4 encoding system has been standardized accordingly. Regarding the image coding system, the standard was approved as an international standard in December 1998 as ISO / IEC 14496-2.
- H.26L International Telecommunication Union Telecommunication Standardization Sector
- Q6 / 16 VCEG Video Coding Expert Group
- H.26L is known to achieve higher encoding efficiency than the conventional encoding schemes such as MPEG2 and MPEG4, although a large amount of calculation is required for encoding and decoding.
- Joint ⁇ ⁇ ⁇ ⁇ Model of Enhanced-Compression Video Coding has been implemented based on this H.26L and incorporating functions not supported by H.26L to achieve higher coding efficiency. It was broken.
- AVC Advanced Video Coding
- JCTVC Joint Collaboration Team-Video Coding
- ISO / IEC International Organization for Standardization // International Electrotechnical Commission
- HEVC High Efficiency Video Coding
- FIG. 1 is a diagram in which block sizes are compared between AVC and HEVC. As shown in FIG. 1, HEVC has four times the size of a coding block (Coding Block) and about four times the size of a prediction processing block (MC Block), compared to AVC. (DCT Block) size number has doubled.
- Processing must be branched sequentially for each block size, and branch overhead increases. In particular, in the case of a processor that is not good at branching, this overhead cannot be ignored.
- the overhead of loading the processing method to be called for each block size The normal processing method is loaded into the cache of the processor, and the actual processing is performed through the cache. However, if the size of the cache is not sufficient, the processing method is sequentially deleted. For example, when the block size to be processed is frequently switched, if the processing method is sequentially loaded and erased, there is a possibility that the overhead cannot be ignored. 3. Since parallel processing is not sufficiently performed in parallel processing, some processors are in an idling state.
- the inverse orthogonal transform process is performed, for example, in steps S11 to S21 in the flowchart shown in FIG.
- IQ inverse quantization
- steps S14 to S17 the number of TUs (Transform ⁇ ⁇ ⁇ Units) within the CTU (Coding tree Unit) is used as a loop counter, and the process is branched for each TU block size, and the process for each TU block size is called.
- the unit is fine. For this reason, there is a risk that the performance of a processor (GPU (Graphics Processing Unit) or FPGA (Field Programmable Gate Array) etc.) that can calculate the same processing at high speed and is not good at branching may be greatly reduced.
- GPU Graphics Processing Unit
- FPGA Field Programmable Gate Array
- the processing method load overhead to be called for each block size may increase.
- the area for temporarily storing a processing method (program) that is called instruction cache (instruction cache) is small, cache may be stored and loaded frequently, which may cause further performance degradation. It was.
- decoded data is generated by decoding the encoded data obtained by encoding the image data, and the generated decoded data is subjected to a method according to the block size based on the block structure of the encoded data.
- the process is performed independently for each block size. By doing so, the decoding process can be performed more efficiently.
- FIG. 4 is a block diagram illustrating a main configuration example of an image decoding apparatus that is an aspect of an image processing apparatus to which the present technology is applied.
- An image decoding apparatus 100 shown in FIG. 4 decodes encoded data generated by an image encoding apparatus (not shown) encoding image data using the HEVC encoding method.
- the image decoding apparatus 100 includes a storage buffer 111, a lossless decoding unit 112, a block analysis unit 113, an inverse quantization unit 114, an inverse orthogonal transform unit 115, a calculation unit 116, a loop filter 117, and a screen arrangement.
- a replacement buffer 118 is provided.
- the image decoding device 100 includes a frame memory 119, an intra prediction unit 120, an inter prediction unit 121, and a predicted image selection unit 122.
- the accumulation buffer 111 is also a receiving unit that receives encoded data transmitted from the encoding side.
- the accumulation buffer 111 receives and accumulates the transmitted encoded data, and supplies the encoded data to the lossless decoding unit 112 at a predetermined timing.
- the lossless decoding unit 112 decodes the encoded data supplied from the accumulation buffer 111 using the HEVC method.
- the lossless decoding unit 112 supplies the quantized coefficient data obtained by decoding to the block analysis unit 113.
- the lossless decoding unit 112 determines whether the intra prediction mode or the inter prediction mode is selected as the optimal prediction mode based on the information regarding the optimal prediction mode added to the encoded data, and the optimal The information regarding the correct prediction mode is supplied to the mode determined to be selected from the intra prediction unit 120 and the inter prediction unit 121. For example, when the intra prediction mode is selected as the optimal prediction mode on the encoding side, information regarding the optimal prediction mode is supplied to the intra prediction unit 120. For example, when the inter prediction mode is selected as the optimal prediction mode on the encoding side, information regarding the optimal prediction mode is supplied to the inter prediction unit 121.
- the lossless decoding unit 112 supplies information necessary for inverse quantization, such as a quantization matrix and a quantization parameter, to the inverse quantization unit 114, for example.
- the block analysis unit 113 analyzes the structure of blocks of the coefficient data such as a coding unit (CU (Coding Unit)), a transform unit (TU (Transform Unit)), a prediction unit (PU (Prediction Unit)), and the like.
- the block analysis unit 113 supplies the analysis result to a processing unit that uses the analysis result for processing performed by itself, such as the inverse quantization unit 114, the inverse orthogonal transform unit 115, and the inter prediction unit 121, for example.
- the block analysis unit 113 supplies the quantized coefficient data supplied from the lossless decoding unit 112 to the inverse quantization unit 114.
- the inverse quantization unit 114 inversely quantizes the quantized coefficient data obtained by decoding by the lossless decoding unit 112 by a method corresponding to the quantization method on the encoding side. At that time, the inverse quantization unit 114 performs inverse quantization by a method according to the block size of the TU. For example, when the TU is 4x4 size, the inverse quantization unit 114 inversely quantizes the quantized coefficient data by a method according to the 4x4 size. Similarly, in the case where the TU is 8x8 size, 16x16 size, or 32x32 size, the inverse quantization unit 114 performs inverse quantization by a method corresponding to each block size as in the case of 4x4 size.
- each TU may be inversely quantized in the order of its block size, such as all TUs of 4x4 size, all TUs of 8x8 size, all TUs of 16x16 size, and all TUs of 32x32 size.
- TUs may be grouped for each block size, and each group may be processed in parallel with each other.
- the inverse quantization unit 114 continuously (collectively) processes TUs having the same block size.
- the inverse quantization unit 114 can perform inverse quantization more efficiently.
- the inverse quantization unit 114 refers to the block structure of the encoded data.
- This block structure includes the number of occurrences and the occurrence position of each block size.
- the inverse quantization unit 114 realizes inverse quantization for each block size by collecting TUs having the same size based on the generation number and generation position of each block size.
- the block structure information may be obtained from anywhere. For example, it may be supplied from the block analysis unit 113 (as an analysis result).
- the inverse quantization unit 114 supplies the obtained coefficient data to the inverse orthogonal transform unit 115.
- the inverse orthogonal transform unit 115 performs inverse orthogonal transform on the orthogonal transform coefficient supplied from the inverse quantization unit 114 by a method corresponding to the orthogonal transform method on the encoding side. At that time, the inverse orthogonal transform unit 115 performs inverse orthogonal transform by a method according to the block size of the TU. For example, when the TU is 4x4 size, the inverse orthogonal transform unit 115 performs inverse orthogonal transform on the coefficient data by a method according to the 4x4 size.
- the inverse orthogonal transform unit 115 performs inverse orthogonal transform by a method corresponding to each block size in the case where the TU is 8x8 size, 16x16 size, or 32x32 size, as in the case of 4x4 size.
- the inverse orthogonal transform unit 115 performs inverse orthogonal transform independently for each block size of the TU.
- each TU may be inversely orthogonally transformed in the order of its block size, such as all TUs of 4x4 size, all TUs of 8x8 size, all TUs of 16x16 size, and all TUs of 32x32 size.
- TUs may be grouped for each block size, and each group may be processed in parallel with each other.
- the inverse orthogonal transform unit 115 continuously (collectively) processes TUs having the same block size.
- the inverse orthogonal transform unit 115 can perform inverse orthogonal transform more efficiently.
- the inverse orthogonal transform unit 115 refers to the block structure of the encoded data.
- This block structure includes the number of occurrences and the occurrence position of each block size.
- the inverse orthogonal transform unit 115 implements inverse orthogonal transform for each block size by collecting TUs having the same size based on the number of occurrences and the occurrence positions of the respective block sizes.
- the block structure information may be obtained from anywhere. For example, it may be supplied from the block analysis unit 113 (as an analysis result).
- the inverse orthogonal transform unit 115 obtains residual data corresponding to the state before orthogonal transform on the encoding side by the inverse orthogonal transform process. Residual data obtained by the inverse orthogonal transform is supplied to the calculation unit 116.
- the calculation unit 116 acquires residual data from the inverse orthogonal transform unit 115. In addition, the calculation unit 116 acquires a predicted image from the intra prediction unit 120 or the inter prediction unit 121 via the predicted image selection unit 122. The calculation unit 116 adds the difference image and the predicted image, and obtains a reconstructed image corresponding to the image before the predicted image is subtracted on the encoding side. The calculation unit 116 supplies the reconstructed image to the loop filter 117 and the intra prediction unit 120.
- the loop filter 117 appropriately performs loop filter processing including deblocking filter processing and SAO processing on the supplied reconstructed image to generate a decoded image. For example, the loop filter 117 removes block distortion by performing a deblocking filter process on the reconstructed image. Further, for example, the loop filter 117 performs SAO processing on the deblock filter processing result (reconstructed image from which block distortion has been removed), thereby reducing ringing, correcting pixel value deviation, and the like. Improve image quality by.
- the type of filter processing performed by the loop filter 117 is arbitrary, and filter processing other than that described above may be performed. Further, the loop filter 117 may perform filter processing using the filter coefficient supplied from the encoding side.
- the loop filter 117 supplies the decoded image as the filter processing result to the screen rearrangement buffer 118 and the frame memory 119.
- the screen rearrangement buffer 118 rearranges images. That is, the order of frames rearranged for the encoding order on the encoding side is rearranged in the original display order.
- the screen rearrangement buffer 118 outputs the decoded image data in which the frame order is rearranged to the outside of the image decoding device 100.
- the frame memory 119 stores the supplied decoded image, and stores the decoded image stored in the inter prediction unit 121 as a reference image at a predetermined timing or based on an external request from the inter prediction unit 121 or the like. Supply.
- the information indicating the intra prediction mode obtained by decoding the header information is appropriately supplied from the lossless decoding unit 112 to the intra prediction unit 120.
- the intra prediction unit 120 performs intra prediction using the reconstructed image supplied from the calculation unit 116 as a reference image, and generates a predicted image.
- the intra prediction unit 120 supplies the generated predicted image to the predicted image selection unit 122.
- the inter prediction unit 121 acquires information (optimum prediction mode information, reference image information, etc.) obtained by decoding the header information from the lossless decoding unit 112.
- the inter prediction unit 121 performs inter prediction (motion compensation or the like) using the reference image acquired from the frame memory 119 in the inter prediction mode indicated by the optimal prediction mode information acquired from the lossless decoding unit 112, and generates a predicted image. To do. At that time, the inter prediction unit 121 performs inter prediction by a method according to the block size of the PU. For example, when the PU is 4x8 size, the inter prediction unit 121 performs inter prediction using a method according to the 4x8 size, and generates a predicted image. The same applies when the PU has other sizes.
- the inter prediction unit 121 performs inter prediction independently for each block size of the PU.
- a prediction image may be generated by inter-predicting each PU in the order of the block size, such as all PUs of 4x8 size, all PUs of 8x4 size, ..., all PUs of 64x64 size.
- PUs may be grouped for each block size, and each group may be processed in parallel with each other.
- the inter prediction unit 121 processes PUs having the same block size continuously (collectively).
- the inter prediction unit 121 can perform inter prediction more efficiently.
- the inter prediction unit 121 refers to the block structure of encoded data.
- This block structure includes the number of occurrences and the occurrence position of each block size.
- the inter prediction unit 121 realizes inter prediction for each block size by collecting PUs having the same size based on the number of occurrences and the occurrence positions of the respective block sizes.
- the block structure information may be obtained from anywhere. For example, it may be supplied from the block analysis unit 113 (as an analysis result).
- the inter prediction unit 121 may perform inter prediction using CU as a processing unit instead of the PU described above. Also in this case, the inter prediction unit 121 may perform inter prediction independently for each block size of the CU, as in the case of the PU.
- the inter prediction unit 121 supplies the generated predicted image to the predicted image selection unit 122.
- the predicted image selection unit 122 supplies the predicted image from the intra prediction unit 120 or the predicted image from the inter prediction unit 121 to the calculation unit 116.
- the arithmetic unit 116 adds the predicted image generated using the motion vector and the residual data supplied from the inverse orthogonal transform unit 115 to decode the original image. That is, a reconstructed image is generated.
- FIG. 5 is a block diagram illustrating a main configuration example of the block analysis unit 113.
- the block analysis unit 113 includes a CU analysis unit 131, a TU analysis unit 132, and a PU analysis unit 133.
- the CU analysis unit 131 parses the coefficient data, obtains the number of occurrences and occurrence positions of each of the four types of block sizes of 8x8 to 64x64 of the CU, and uses them as analysis results to other processing units (for example, the inter prediction unit 121). ).
- FIG. 6 shows an example of the analysis result. As shown in FIG. 6, the number of occurrences (Num) and the position (Pos (x, y)) are obtained for each size. Further, the CU analysis unit 131 supplies the analysis result and coefficient data to the TU analysis unit 132 and the PU analysis unit 133.
- the TU analysis unit 132 parses the coefficient data based on the analysis result of the CU, determines the generation number and generation position of each of four types of block sizes from 4x4 to 32x32, and uses it as an analysis result for other processing units (for example, To the inverse quantization unit 114 and the inverse orthogonal transform unit 115).
- the TU analysis result is the same as that of the CU shown in FIG.
- the PU analysis unit 133 parses the coefficient data based on the analysis result of the CU, obtains the number of occurrences and occurrence positions of 27 types of block sizes from 4x8 / 8x4 to 64x64, and uses them as analysis results to other processing units. (For example, output to the inter prediction unit 121).
- the analysis result of PU is the same as that of CU shown in FIG.
- step S101 the accumulation buffer 111 accumulates the transmitted bit stream.
- step S102 the lossless decoding unit 112 decodes the bitstream supplied from the accumulation buffer 111. That is, the I picture, P picture, and B picture encoded by the encoding side are decoded. At this time, various information other than the image information included in the bit stream such as header information is also decoded.
- step S103 the block analysis unit 113 analyzes the block structure by parsing the coefficient data obtained by the processing in step S102.
- step S104 the inverse quantization unit 114 inversely quantizes the quantized coefficient obtained by the process in step S102.
- step S105 the inverse orthogonal transform unit 115 performs inverse orthogonal transform on the orthogonal transform coefficient obtained by the process in step S104. By this processing, the luminance component residual data and the color difference component prediction residual data are restored.
- step S106 the intra prediction unit 120 or the inter prediction unit 121 performs a prediction process and generates a predicted image. That is, the prediction process is performed in the prediction mode that is determined in the lossless decoding unit 112 and applied at the time of encoding.
- step S107 the calculation unit 116 adds the predicted image generated in step S106 to the residual data restored by the process in step S105. Thereby, a reconstructed image is obtained.
- step S108 the loop filter 117 performs loop filter processing including deblock filter processing and SAO processing on the reconstructed image obtained by the processing in step S107.
- step S109 the screen rearrangement buffer 118 rearranges the frames of the decoded image obtained by the process in step S108. That is, the order of frames rearranged at the time of encoding is rearranged in the original display order.
- the decoded image in which the frames are rearranged is output to the outside of the image decoding apparatus 100.
- step S110 the frame memory 119 stores the decoded image obtained by the process in step S108.
- step S110 ends, the decryption process ends.
- step S121 the CU analysis unit 131 of the block analysis unit 113 obtains the number of occurrences and the occurrence position for each size of the CU.
- step S122 the TU analysis unit 132 obtains the number of occurrences and the occurrence position for each size of the TU.
- step S123 the PU analysis unit 133 obtains the number of occurrences and the occurrence position for each size of the PU.
- step S123 When the process of step S123 is completed, the block analysis process is completed, and the process returns to FIG.
- the inverse quantization unit 114 acquires the number of TU occurrences calculated in the process of step S122.
- step S133 the inverse quantization unit 114 determines whether i ⁇ (Num of 4x4TU). If it is determined that i ⁇ (Num of 4x4TU) (that is, an unprocessed 4x4 size TU exists), the process proceeds to step S134.
- step S134 the inverse quantization unit 114 specifies the position of the 4 ⁇ 4 size current TU to be processed based on the TU generation position calculated in the process of step S122.
- step S135 the inverse quantization unit 114 inversely quantizes the 4 ⁇ 4 size current TU.
- step S136 ends, the process returns to step S132, and the subsequent processes are repeated. That is, each process of step S132 to step S136 is executed for each TU of 4x4 size.
- step S132 When all of the 4x4 size TUs are executed, the processes from step S132 to step S136 are executed, and it is determined in step S133 that i> (Num of 4x4TU) (that is, there is no unprocessed 4x4 size TU). The process proceeds to step S137.
- each process from step S131 to step S136 is a process for a 4 ⁇ 4 size TU.
- step S137 to step S142 is executed for 8x8.
- or step S142 is performed similarly to each process of step S131 thru
- step S139 If it is determined in step S139 that i> (Num of 8x8TU) (that is, there is no unprocessed 8x8 size TU), the process proceeds to step S151 of FIG.
- step S151 to step S156 in FIG. 10 is executed for 16x16.
- or step S156 is performed similarly to each process of step S131 thru
- step S153 If it is determined in step S153 that i> (Num of 16x16TU) (that is, there is no unprocessed 16x16 size TU), the process proceeds to step S157.
- step S157 to step S162 are executed for 32x32.
- steps S157 to S162 are executed in the same manner as steps S131 to S136.
- step S159 if it is determined that i> (Num of 32x32TU) (that is, there is no unprocessed 32x32 size TU), the inverse quantization process ends, and the process returns to FIG.
- each dotted line frame surrounds a processing group for a TU having a certain block size.
- the processes surrounded by the dotted lines can be performed independently of each other. That is, the inverse quantization unit 114 can perform the inverse quantization process independently for each block size. Therefore, it is possible to construct an optimal algorithm for a processor that can process the same processing at high speed.
- step S173 the inverse orthogonal transform unit 115 determines whether i ⁇ (Num of 4x4TU). If it is determined that i ⁇ (Num of 4x4TU) (that is, an unprocessed 4x4 size TU exists), the process proceeds to step S174.
- step S174 the inverse orthogonal transform unit 115 specifies the position of the 4 ⁇ 4 size current TU to be processed based on the TU generation position calculated in the process of step S122.
- step S175 the inverse orthogonal transform unit 115 performs inverse orthogonal transform on the 4 ⁇ 4 size current TU.
- step S176 ends, the process returns to step S172, and the subsequent processes are repeated. That is, each process of step S172 to step S176 is executed for each 4 ⁇ 4 size TU.
- step S173 When all the processes of steps S172 to S176 are performed for all 4x4 size TUs, and it is determined in step S173 that i> (Num of 4x4TU) (that is, there is no unprocessed 4x4 size TU) The process proceeds to step S177.
- each process from step S171 to step S176 is a process for a 4 ⁇ 4 size TU.
- step S177 to step S182 is executed for 8x8.
- or step S182 is performed similarly to each process of step S171 thru
- step S179 If it is determined in step S179 that i> (Num of 8x8TU) (that is, there is no unprocessed 8x8 size TU), the process proceeds to step S191 in FIG.
- step S191 to step S196 in FIG. 12 is executed for 16x16.
- or step S196 is performed similarly to each process of step S171 thru
- step S193 If it is determined in step S193 that i> (Num of 16x16TU) (that is, there is no unprocessed 16x16 size TU), the process proceeds to step S197.
- step S197 to step S202 are executed for 32x32.
- steps S197 to S202 are executed in the same manner as steps S171 to S176.
- step S179 If it is determined in step S179 that i> (Num of 32x32TU) (that is, there is no unprocessed 32x32 size TU), the inverse orthogonal transform process ends, and the process returns to FIG.
- each dotted line frame surrounds a processing group for a TU having a certain block size.
- the processes surrounded by the dotted lines can be performed independently of each other. That is, the inverse orthogonal transform unit 115 can perform the inverse orthogonal transform process independently for each block size. Therefore, it is possible to construct an optimal algorithm for a processor that can process the same processing at high speed.
- the inter prediction unit 121 sets the current PU size that is the PU size to be processed in step S211.
- step S213 the inter prediction unit 121 acquires the number of PUs having the current PU size calculated in the process of step S123.
- step S214 the inter prediction unit 121 determines whether there is an unprocessed PU. If it is determined that it exists, the process proceeds to step S215.
- step S215 the inter prediction unit 121 identifies the position of the current PU of the current PU size based on the PU generation position calculated in the process of step S123.
- step S216 the inter prediction unit 121 performs motion compensation on the current PU of the current PU size, and generates a predicted image.
- step S217 the process returns to step S213, and the subsequent processes are repeated. That is, each process of step S213 to step S217 is executed for each PU of the current PU size.
- step S214 When all PUs of the current PU size have been processed, it is determined in step S214 that there are no unprocessed PUs, and the process proceeds to step S218.
- step S218 the inter prediction unit 121 determines whether or not an unprocessed PU size exists. If there is an unprocessed PU size, the process returns to step S211, and the processing target is switched to the next PU size. As described above, when Steps S211 to S218 are repeated and prediction images are generated for all PUs of all PU sizes, the inter prediction unit 121 determines in Step S218 that there is no unprocessed PU size, The inter prediction process ends, and the process returns to FIG.
- inter prediction motion compensation
- inter prediction may be performed in units of CUs instead of PUs. In that case, the inter prediction may be performed independently for each CU size.
- the image decoding apparatus 100 can more efficiently execute the inverse quantization process, the inverse orthogonal transform process, the inter prediction process (motion compensation), and the like.
- the process to which the present technology can be applied is not limited to the above-described inverse quantization process, inverse orthogonal transform process, and inter prediction process (motion compensation).
- the present technology can also be applied to pixel reconstruction (PixelReconstruction) processing such as filter processing by the loop filter 117 and intra prediction processing by the intra prediction unit 120. That is, these processes can also be performed independently for each block size.
- the image decoding apparatus 100 can perform the decoding process more efficiently.
- Second Embodiment> ⁇ Image decoding device> Since the number of occurrences of each block size can be grasped, when the processing load of each block size is known in advance, the processing can be evenly distributed. As a method for knowing the performance of each block size, for example, a calibration process for measuring the performance of each block size in advance for each environment such as hardware specifications or at the start of the decoding process is effective.
- FIG. 14 is a block diagram illustrating a main configuration example of an image decoding device which is an aspect of an image processing device to which the present technology is applied.
- An image decoding apparatus 300 shown in FIG. 14 is a decoding apparatus similar to the image decoding apparatus 100, and decodes encoded data generated by an image encoding apparatus (not shown) encoding image data using the HEVC encoding method. .
- the image decoding device 300 basically has the same configuration as that of the image decoding device 100, but further includes a calibration processing unit 311 and a parallel control unit 312.
- the calibration processing unit 311 acquires coefficient data from the lossless decoding unit 112, performs calibration for each block size, obtains a processing load for each block size, and supplies the information to the parallel control unit 312.
- the parallel control unit 312 makes the load as uniform as possible based on the analysis result of the block structure supplied from the block analysis unit 113 and the load amount information of each block size supplied from the calibration processing unit 311. In addition, the processing for each block is parallelized.
- the image decoding apparatus 300 can parallelize the processing so as to reduce the variation in processing load, so that the environment (hardware specifications) can be used more effectively and more efficiently. Can handle well.
- step S301 the calibration processing unit 311 performs calibration and calculates a load amount for each block size.
- steps S302 to S304 are executed in the same manner as the processes in steps S101 to S103 in FIG.
- step S305 the parallel control unit 312 assigns processing to hardware based on the calibration result obtained by the processing of step S301 and the analysis result of the block structure obtained by the processing of step S304.
- processing is parallelized, each processing is distributed so that the load amount is equal.
- step S306 to step S312 is executed in the same manner as each process from step S104 to step S110.
- the image decoding device 300 can perform the decoding process more efficiently.
- the scope of application of the present technology can be applied to any image decoding apparatus that can decode encoded data obtained by encoding image data and performs a filtering process at the time of decoding.
- this technology is, for example, MPEG, H.264.
- image information bitstream
- orthogonal transformation such as discrete cosine transformation and motion compensation, such as 26x
- network media such as satellite broadcasting, cable television, the Internet, or mobile phones.
- the present invention can be applied to an image decoding device used for the above. Further, the present technology can be applied to an image decoding device used when processing on a storage medium such as an optical, magnetic disk, and flash memory.
- FIG. 16 shows an example of the multi-view image encoding method.
- the multi-viewpoint image includes images of a plurality of viewpoints (views).
- the multiple views of this multi-viewpoint image are encoded using the base view that encodes and decodes using only the image of its own view without using the information of other views, and the information of other views.
- -It consists of a non-base view that performs decoding.
- Non-base view encoding / decoding may use base view information or other non-base view information.
- the multi-viewpoint image is encoded for each viewpoint.
- the encoded data of each viewpoint is decoded (that is, for each viewpoint).
- the method described above in the first and second embodiments may be applied to such decoding of each viewpoint. By doing in this way, it is possible to perform the decoding process more efficiently for each viewpoint image. That is, the decoding process can be performed more efficiently in the case of a multi-viewpoint image as well.
- FIG. 17 is a diagram illustrating a multi-view image encoding apparatus that performs the above-described multi-view image encoding.
- the multi-view image encoding device 600 includes an encoding unit 601, an encoding unit 602, and a multiplexing unit 603.
- the encoding unit 601 encodes the base view image and generates a base view image encoded stream.
- the encoding unit 602 encodes the non-base view image and generates a non-base view image encoded stream.
- the multiplexing unit 603 multiplexes the base view image encoded stream generated by the encoding unit 601 and the non-base view image encoded stream generated by the encoding unit 602 to generate a multi-view image encoded stream. To do.
- FIG. 18 is a diagram illustrating a multi-view image decoding apparatus that performs the above-described multi-view image decoding.
- the multi-view image decoding device 610 includes a demultiplexing unit 611, a decoding unit 612, and a decoding unit 613.
- the demultiplexing unit 611 demultiplexes the multi-view image encoded stream in which the base view image encoded stream and the non-base view image encoded stream are multiplexed, and the base view image encoded stream and the non-base view image The encoded stream is extracted.
- the decoding unit 612 decodes the base view image encoded stream extracted by the demultiplexing unit 611 to obtain a base view image.
- the decoding unit 613 decodes the non-base view image encoded stream extracted by the demultiplexing unit 611 to obtain a non-base view image.
- the image decoding device 100 or the image decoding device 300 described above may be applied as the decoding unit 612 and the decoding unit 613 of the multi-view image decoding device 610.
- the method demonstrated in the 1st and 2nd embodiment is applicable also in decoding of the encoding data of a multiview image. That is, the multi-view image decoding device 610 can perform the decoding process of the encoded data of the multi-view image more efficiently.
- FIG. 19 shows an example of a hierarchical image encoding method.
- Hierarchical image coding is a method in which image data is divided into a plurality of layers (hierarchization) so as to have a scalability function with respect to a predetermined parameter, and is encoded for each layer.
- the hierarchical image encoding (scalable decoding) is decoding corresponding to the hierarchical image encoding.
- the hierarchized image includes images of a plurality of hierarchies (layers) having different predetermined parameter values.
- a plurality of layers of this hierarchical image are encoded / decoded using only the image of the own layer without using the image of the other layer, and encoded / decoded using the image of the other layer.
- It consists of a non-base layer (also called enhancement layer) that performs decoding.
- the non-base layer an image of the base layer may be used, or an image of another non-base layer may be used.
- the non-base layer is composed of difference image data (difference data) between its own image and an image of another layer so that redundancy is reduced.
- difference image data difference data
- an image with lower quality than the original image can be obtained using only the base layer data.
- an original image that is, a high-quality image
- image compression information of only the base layer (base layer) is transmitted, and a moving image with low spatiotemporal resolution or poor image quality is reproduced.
- image enhancement information of the enhancement layer is transmitted.
- Image compression information corresponding to the capabilities of the terminal and the network can be transmitted from the server without performing transcoding processing, such as playing a moving image with high image quality.
- the hierarchical image is encoded for each layer.
- the encoded data of each layer is decoded (that is, for each layer).
- the method described above in the first and second embodiments may be applied to such decoding of each layer. By doing in this way, decoding processing can be performed more efficiently for the images of each layer. That is, the decoding process can be performed more efficiently in the case of hierarchical images as well.
- parameters having a scalability function are arbitrary.
- the spatial resolution as shown in FIG. 20 may be used as the parameter (spatial scalability).
- the resolution of the image is different for each layer. That is, as shown in FIG. 20, each picture is synthesized with a base layer having a spatial resolution lower than that of the original image and the base layer image, thereby obtaining an original image (original spatial resolution). Layered into two layers.
- this number of hierarchies is an example, and the number of hierarchies can be hierarchized.
- time resolution as shown in FIG. 21 may be applied (temporal scalability).
- the frame rate is different for each layer. That is, in this case, as shown in FIG. 21, the layers are hierarchized into different frame rate layers, and by adding a high frame rate layer to a low frame rate layer, a higher frame rate moving image By adding all the layers, the original moving image (original frame rate) can be obtained.
- This number of hierarchies is an example, and can be hierarchized to an arbitrary number of hierarchies.
- a signal-to-noise ratio (SNR (Signal-to-Noise-ratio)) may be applied (SNR-scalability) as a parameter for providing such scalability.
- SNR Signal-to-noise ratio
- the SN ratio is different for each layer. That is, as shown in FIG. 22, each picture has two layers of enhancement layers in which the original image (original SNR) is obtained by combining the base layer with a lower SNR than the original image and the base layer image. Is layered. In other words, in the base layer image compression information, information related to the low PSNR image is transmitted, and the enhancement layer (enhancement layer) image compression information is added to this to reconstruct a high PSNR image. It is possible.
- this number of hierarchies is an example, and the number of hierarchies can be hierarchized.
- the parameters for providing scalability may be other than the examples described above.
- the base layer (base layer) consists of 8-bit (bit) images, and by adding an enhancement layer (enhancement layer) to this, the bit depth scalability (bit-depth ⁇ ⁇ ⁇ scalability) that can obtain a 10-bit (bit) image is is there.
- base layer (base ⁇ ⁇ layer) consists of component images in 4: 2: 0 format, and by adding the enhancement layer (enhancement layer) to this, chroma scalability (chroma) scalability).
- FIG. 23 is a diagram illustrating a hierarchical image encoding apparatus that performs the above-described hierarchical image encoding.
- the hierarchical image encoding device 620 includes an encoding unit 621, an encoding unit 622, and a multiplexing unit 623.
- the encoding unit 621 encodes the base layer image and generates a base layer image encoded stream.
- the encoding unit 622 encodes the non-base layer image and generates a non-base layer image encoded stream.
- the multiplexing unit 623 multiplexes the base layer image encoded stream generated by the encoding unit 621 and the non-base layer image encoded stream generated by the encoding unit 622 to generate a hierarchical image encoded stream. .
- FIG. 24 is a diagram illustrating a hierarchical image decoding apparatus that performs the hierarchical image decoding described above.
- the hierarchical image decoding device 630 includes a demultiplexing unit 631, a decoding unit 632, and a decoding unit 633.
- the demultiplexing unit 631 demultiplexes the hierarchical image encoded stream in which the base layer image encoded stream and the non-base layer image encoded stream are multiplexed, and the base layer image encoded stream and the non-base layer image code Stream.
- the decoding unit 632 decodes the base layer image encoded stream extracted by the demultiplexing unit 631 to obtain a base layer image.
- the decoding unit 633 decodes the non-base layer image encoded stream extracted by the demultiplexing unit 631 to obtain a non-base layer image.
- the image decoding device 100 or the image decoding device 300 described above may be applied as the decoding unit 632 and the decoding unit 633 of the hierarchical image decoding device 630.
- the methods described in the first and second embodiments can be applied to decoding of encoded data of hierarchical images. That is, the hierarchical image decoding apparatus 630 can perform the decoding process of the encoded data of the hierarchical image more efficiently.
- the series of processes described above can be executed by hardware or can be executed by software.
- a program constituting the software is installed in the computer.
- the computer includes, for example, a general-purpose personal computer that can execute various functions by installing a computer incorporated in dedicated hardware and various programs.
- FIG. 25 is a block diagram illustrating an example of a hardware configuration of a computer that executes the above-described series of processes using a program.
- a CPU Central Processing Unit
- ROM Read Only Memory
- RAM Random Access Memory
- An input / output interface 810 is also connected to the bus 804.
- An input unit 811, an output unit 812, a storage unit 813, a communication unit 814, and a drive 815 are connected to the input / output interface 810.
- the input unit 811 includes, for example, a keyboard, a mouse, a microphone, a touch panel, an input terminal, and the like.
- the output unit 812 includes, for example, a display, a speaker, an output terminal, and the like.
- the storage unit 813 includes, for example, a hard disk, a RAM disk, a nonvolatile memory, and the like.
- the communication unit 814 includes a network interface, for example.
- the drive 815 drives a removable medium 821 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory.
- the CPU 801 loads the program stored in the storage unit 813 into the RAM 803 via the input / output interface 810 and the bus 804 and executes the program, for example. Is performed.
- the RAM 803 also appropriately stores data necessary for the CPU 801 to execute various processes.
- the program executed by the computer (CPU 801) can be recorded and applied to, for example, a removable medium 821 as a package medium or the like.
- the program can be installed in the storage unit 813 via the input / output interface 810 by attaching the removable medium 821 to the drive 815.
- This program can also be provided via a wired or wireless transmission medium such as a local area network, the Internet, or digital satellite broadcasting. In that case, the program can be received by the communication unit 814 and installed in the storage unit 813.
- a wired or wireless transmission medium such as a local area network, the Internet, or digital satellite broadcasting.
- the program can be received by the communication unit 814 and installed in the storage unit 813.
- this program can be installed in advance in the ROM 802 or the storage unit 813.
- the program executed by the computer may be a program that is processed in time series in the order described in this specification, or in parallel or at a necessary timing such as when a call is made. It may be a program for processing.
- the step of describing the program recorded on the recording medium is not limited to the processing performed in chronological order according to the described order, but may be performed in parallel or It also includes processes that are executed individually.
- the system means a set of a plurality of components (devices, modules (parts), etc.), and it does not matter whether all the components are in the same housing. Accordingly, a plurality of devices housed in separate housings and connected via a network and a single device housing a plurality of modules in one housing are all systems. .
- the configuration described as one device (or processing unit) may be divided and configured as a plurality of devices (or processing units).
- the configurations described above as a plurality of devices (or processing units) may be combined into a single device (or processing unit).
- a configuration other than that described above may be added to the configuration of each device (or each processing unit).
- a part of the configuration of a certain device (or processing unit) may be included in the configuration of another device (or other processing unit). .
- the present technology can take a configuration of cloud computing in which one function is shared by a plurality of devices via a network and is jointly processed.
- each step described in the above flowchart can be executed by one device or can be shared by a plurality of devices.
- the plurality of processes included in the one step can be executed by being shared by a plurality of apparatuses in addition to being executed by one apparatus.
- the image decoding apparatus includes, for example, a transmitter or receiver, satellite broadcasting, cable broadcasting such as cable TV, distribution on the Internet, and distribution to terminals by cellular communication, an optical disk, a magnetic disk, and the like.
- the present invention can be applied to various electronic devices such as a recording device that records an image on a medium such as a flash memory or a reproducing device that reproduces an image from the storage medium.
- a recording device that records an image on a medium such as a flash memory
- reproducing device that reproduces an image from the storage medium.
- FIG. 26 illustrates an example of a schematic configuration of a television device to which the above-described embodiment is applied.
- the television apparatus 900 includes an antenna 901, a tuner 902, a demultiplexer 903, a decoder 904, a video signal processing unit 905, a display unit 906, an audio signal processing unit 907, a speaker 908, an external interface (I / F) unit 909, and a control unit. 910, a user interface (I / F) unit 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. That is, the tuner 902 has a role as a transmission unit in the television device 900 that receives an encoded stream in which an image is encoded.
- the demultiplexer 903 separates the video stream and audio stream of the viewing target program from the encoded bit stream, and outputs each separated stream to the decoder 904. Further, the demultiplexer 903 extracts auxiliary data such as EPG (Electronic Program Guide) from the encoded bit stream, and supplies the extracted data to the control unit 910. Note that the demultiplexer 903 may perform descrambling when the encoded bit stream is scrambled.
- EPG Electronic Program Guide
- the decoder 904 decodes the video stream and audio stream input from the demultiplexer 903. Then, the decoder 904 outputs the video data generated by the decoding process to the video signal processing unit 905. In addition, the decoder 904 outputs audio data generated by the decoding process to the audio signal processing unit 907.
- the video signal processing unit 905 reproduces the video data input from the decoder 904 and causes the display unit 906 to display the video.
- the video signal processing unit 905 may cause the display unit 906 to display an application screen supplied via a network.
- the video signal processing unit 905 may perform additional processing such as noise removal on the video data according to the setting.
- the video signal processing unit 905 may generate a GUI (Graphical User Interface) image such as a menu, a button, or a cursor, and superimpose the generated image on the output image.
- GUI Graphic User Interface
- the display unit 906 is driven by a drive signal supplied from the video signal processing unit 905, and displays an image on a video screen of a display device (for example, a liquid crystal display, a plasma display, or an OELD (Organic ElectroLuminescence Display) (organic EL display)). Or an image is displayed.
- a display device for example, a liquid crystal display, a plasma display, or an OELD (Organic ElectroLuminescence Display) (organic EL display)). Or an image is displayed.
- the audio signal processing unit 907 performs reproduction processing such as D / A conversion and amplification on the audio data input from the decoder 904, and outputs audio from the speaker 908.
- the audio signal processing unit 907 may perform additional processing such as noise removal on the audio data.
- the external interface unit 909 is an interface for connecting the television device 900 to an external device or a network.
- a video stream or an audio stream received via the external interface unit 909 may be decoded by the decoder 904. That is, the external interface unit 909 also has a role as a transmission unit in the television apparatus 900 that receives an encoded stream in which an image is encoded.
- the control unit 910 includes a processor such as a CPU and memories such as a RAM and a ROM.
- the memory stores a program executed by the CPU, program data, EPG data, data acquired via a network, and the like.
- the program stored in the memory is read and executed by the CPU when the television apparatus 900 is activated.
- the CPU controls the operation of the television device 900 according to an operation signal input from the user interface unit 911 by executing the program.
- the user interface unit 911 is connected to the control unit 910.
- the user interface unit 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 unit 911 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 910.
- the bus 912 connects the tuner 902, the demultiplexer 903, the decoder 904, the video signal processing unit 905, the audio signal processing unit 907, the external interface unit 909, and the control unit 910 to each other.
- the decoder 904 may have the function of the image decoding apparatus 100 or the image decoding apparatus 300. That is, the decoder 904 may decode the encoded data by the method described in the first and second embodiments. By doing in this way, the television apparatus 900 can perform the decoding process of the received encoded bit stream more efficiently.
- FIG. 27 shows an example of a schematic configuration of a mobile phone to which the above-described embodiment is applied.
- a cellular phone 920 includes an antenna 921, a communication unit 922, an audio codec 923, a speaker 924, a microphone 925, a camera unit 926, an image processing unit 927, a demultiplexing unit 928, a recording / reproducing unit 929, a display unit 930, a control unit 931, an operation A portion 932 and a bus 933.
- the antenna 921 is connected to the communication unit 922.
- the speaker 924 and the microphone 925 are connected to the audio codec 923.
- the operation unit 932 is connected to the control unit 931.
- the bus 933 connects the communication unit 922, the audio codec 923, the camera unit 926, the image processing unit 927, the demultiplexing unit 928, the recording / reproducing unit 929, the display unit 930, and the control unit 931 to each other.
- the mobile phone 920 has various operation modes including a voice call mode, a data communication mode, a shooting mode, and a videophone mode, and is used for sending and receiving voice signals, sending and receiving e-mail or image data, taking images, and recording data. Perform the action.
- the analog voice signal generated by the microphone 925 is supplied to the voice codec 923.
- the audio codec 923 converts an analog audio signal into audio data, A / D converts the compressed audio data, and compresses it. Then, the audio codec 923 outputs the compressed audio data to the communication unit 922.
- the communication unit 922 encodes and modulates the audio data and generates a transmission signal. Then, the communication unit 922 transmits the generated transmission signal to a base station (not shown) via the antenna 921. In addition, the communication unit 922 amplifies a radio signal received via the antenna 921 and performs frequency conversion to acquire a received signal.
- the communication unit 922 demodulates and decodes the received signal to generate audio data, and outputs the generated audio data to the audio codec 923.
- the audio codec 923 decompresses the audio data and performs D / A conversion to generate an analog audio signal. Then, the audio codec 923 supplies the generated audio signal to the speaker 924 to output audio.
- 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, supplies the electronic mail data to the recording / reproducing unit 929, and writes the data in the storage medium.
- 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 type such as a hard disk, magnetic disk, magneto-optical disk, optical disk, USB (Universal Serial Bus) memory, or memory card. It may be a storage medium.
- the camera unit 926 images a subject to generate image data, and outputs the generated image data to the image processing unit 927.
- the image processing unit 927 encodes the image data input from the camera unit 926, supplies the encoded stream to the recording / reproducing unit 929, and writes the encoded stream in the storage medium.
- the recording / reproducing unit 929 reads out the encoded stream recorded in the storage medium and outputs the encoded stream to the image processing unit 927.
- the image processing unit 927 decodes the encoded stream input from the recording / reproducing unit 929, supplies the image data to the display unit 930, and displays the image.
- the demultiplexing unit 928 multiplexes the video stream encoded by the image processing unit 927 and the audio stream input from the audio codec 923, and the 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 may have the function of the image decoding device 100 or the image decoding device 300. That is, the image processing unit 927 may decode the encoded data by the method described in the first and second embodiments. In this way, the mobile phone 920 can perform the decoding process of the encoded stream (video stream) more efficiently.
- FIG. 28 shows an example of a schematic configuration of a recording / reproducing apparatus to which the above-described embodiment is applied.
- the recording / reproducing device 940 encodes audio data and video data of a received broadcast program and records the encoded data on a recording medium.
- the recording / reproducing device 940 may encode audio data and video data acquired from another device and record them on a recording medium, for example.
- the recording / reproducing device 940 reproduces data recorded on the recording medium on a monitor and a speaker, for example, in accordance with a user instruction. At this time, the recording / reproducing device 940 decodes the audio data and the video data.
- the recording / reproducing apparatus 940 includes a tuner 941, an external interface (I / F) unit 942, an encoder 943, an HDD (Hard Disk Drive) 944, a disk drive 945, a selector 946, a decoder 947, an OSD (On-Screen Display) 948, and a control. Part 949 and a user interface (I / F) part 950.
- I / F external interface
- Tuner 941 extracts a signal of a desired channel from a broadcast signal received via an antenna (not shown), and demodulates the extracted signal. Then, the tuner 941 outputs the encoded bit stream obtained by the demodulation to the selector 946. That is, the tuner 941 serves as a transmission unit in the recording / reproducing apparatus 940.
- the external interface unit 942 is an interface for connecting the recording / reproducing device 940 to an external device or a network.
- the external interface unit 942 may be, for example, an IEEE (Institute of Electrical and Electronic Engineers) 1394 interface, a network interface, a USB interface, or a flash memory interface.
- IEEE Institute of Electrical and Electronic Engineers 1394 interface
- a network interface e.g., a USB interface
- a flash memory interface e.g., a flash memory interface.
- video data and audio data received via the external interface unit 942 are input to the encoder 943. That is, the external interface unit 942 has a role as a transmission unit in the recording / reproducing apparatus 940.
- the encoder 943 encodes video data and audio data when the video data and audio data input from the external interface unit 942 are not encoded. Then, the encoder 943 outputs the encoded bit stream to the selector 946.
- the HDD 944 records an encoded bit stream in which content data such as video and audio are compressed, various programs, and other data on an internal hard disk. Further, the HDD 944 reads out these data from the hard disk when reproducing video and audio.
- the disk drive 945 performs recording and reading of data to and from the mounted recording medium.
- Recording media mounted on the disk drive 945 are, for example, DVD (Digital Versatile Disc) discs (DVD-Video, DVD-RAM (DVD -Random Access Memory), DVD-R (DVD-Recordable), DVD-RW (DVD-). Rewritable), DVD + R (DVD + Recordable), DVD + RW (DVD + Rewritable), etc.) or Blu-ray (registered trademark) disc.
- the selector 946 selects an encoded bit stream input from the tuner 941 or the encoder 943 when recording video and audio, and outputs the selected encoded bit stream to the HDD 944 or the disk drive 945. In addition, the selector 946 outputs the encoded bit stream input from the HDD 944 or the disk drive 945 to the decoder 947 during video and audio reproduction.
- the decoder 947 decodes the encoded bit stream and generates video data and audio data. Then, the decoder 947 outputs the generated video data to the OSD 948. The decoder 947 outputs the generated audio data to an external speaker.
- 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.
- 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 executes the program to control the operation of the recording / reproducing device 940 in accordance with, for example, an operation signal input from the user interface unit 950.
- the user interface unit 950 is connected to the control unit 949.
- the user interface unit 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 unit 950 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 949.
- the decoder 947 may have the function of the image decoding apparatus 100 or the image decoding apparatus 300. That is, the decoder 947 may decode the encoded data by the method described in the first and second embodiments. By doing in this way, the recording / reproducing apparatus 940 can perform the decoding process of an encoding bit stream more efficiently.
- FIG. 29 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 (I / F) unit 966, a memory unit 967, a media drive 968, an OSD 969, and a control unit 970.
- the optical block 961 is connected to the imaging unit 962.
- the imaging unit 962 is connected to the signal processing unit 963.
- the display unit 965 is connected to the image processing unit 964.
- the user interface unit 971 is connected to the control unit 970.
- the bus 972 connects the image processing unit 964, the external interface unit 966, the memory unit 967, the media drive 968, the OSD 969, and the control unit 970 to each other.
- the optical block 961 includes a focus lens and a diaphragm mechanism.
- the optical block 961 forms an optical image of the subject on the imaging surface of the imaging unit 962.
- the imaging unit 962 includes an image sensor such as a CCD (Charge-Coupled Device) or a CMOS (Complementary Metal-Oxide Semiconductor), and converts an optical image formed on the imaging surface into an image signal as an electrical signal by photoelectric conversion. Then, the imaging unit 962 outputs the image signal to the signal processing unit 963.
- CCD Charge-Coupled Device
- CMOS Complementary Metal-Oxide Semiconductor
- the 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 unit 966 or the media drive 968. In addition, the image processing unit 964 decodes encoded data input from the external interface unit 966 or the media drive 968 to generate image data. Then, the image processing unit 964 outputs the generated image data to the display unit 965. 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, and outputs the generated image to the image processing unit 964.
- the external interface unit 966 is configured as a USB input / output terminal, for example.
- the external interface unit 966 connects the imaging device 960 and a printer, for example, when printing an image.
- a drive is connected to the external interface unit 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 unit 966 may be configured as a network interface connected to a network such as a LAN or the Internet. That is, the external interface unit 966 has a role as a transmission unit in the imaging device 960.
- the recording medium mounted 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.
- a recording medium may be fixedly mounted on the media drive 968, and a non-portable storage unit such as an internal hard disk drive or an SSD (Solid State Drive) may be configured.
- the 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 unit 971 by executing the program.
- the user interface unit 971 is connected to the control unit 970.
- the user interface unit 971 includes, for example, buttons and switches for the user to operate the imaging device 960.
- the user interface unit 971 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 970.
- the image processing unit 964 may have the function of the image decoding device 100 or the image decoding device 300. That is, the image processing unit 964 may decode the encoded data by the method described in the first and second embodiments. By doing in this way, the imaging device 960 can perform the decoding process of encoded data more efficiently.
- the present technology can also be applied to HTTP streaming such as MPEGASHDASH, for example, by selecting an appropriate piece of data from a plurality of encoded data with different resolutions prepared in advance. Can do. That is, information regarding encoding and decoding can be shared among a plurality of such encoded data.
- FIG. 30 illustrates an example of a schematic configuration of a video set to which the present technology is applied.
- the video set 1300 shown in FIG. 30 has such a multi-functional configuration, and the device has a function related to image encoding and decoding (either one or both). It is a combination of devices having other related functions.
- a video set 1300 includes a module group such as a video module 1311, an external memory 1312, a power management module 1313, and a front-end module 1314, and an associated module 1321, a camera 1322, a sensor 1323, and the like. And a device having a function.
- a module is a component that has several functions that are related to each other and that has a coherent function.
- the specific physical configuration is arbitrary. For example, a plurality of processors each having a function, electronic circuit elements such as resistors and capacitors, and other devices arranged on a wiring board or the like can be considered. . It is also possible to combine the module with another module, a processor, or the like to form a new module.
- the video module 1311 is a combination of configurations having functions related to image processing, and includes an application processor, a video processor, a broadband modem 1333, and an RF module 1334.
- a processor is a configuration in which a configuration having a predetermined function is integrated on a semiconductor chip by a SoC (System On a Chip), and for example, there is a system LSI (Large Scale Integration).
- the configuration having the predetermined function may be a logic circuit (hardware configuration), a CPU, a ROM, a RAM, and the like, and a program (software configuration) executed using them. , Or a combination of both.
- a processor has a logic circuit and a CPU, ROM, RAM, etc., a part of the function is realized by a logic circuit (hardware configuration), and other functions are executed by the CPU (software configuration) It may be realized by.
- the 30 is a processor that executes an application relating to image processing.
- the application executed in the application processor 1331 not only performs arithmetic processing to realize a predetermined function, but also can control the internal and external configurations of the video module 1311 such as the video processor 1332 as necessary. .
- the video processor 1332 is a processor having a function related to image encoding / decoding (one or both of them).
- the broadband modem 1333 converts the data (digital signal) transmitted by wired or wireless (or both) broadband communication via a broadband line such as the Internet or a public telephone line network into an analog signal by digitally modulating the data.
- the analog signal received by the broadband communication is demodulated and converted into data (digital signal).
- the broadband modem 1333 processes arbitrary information such as image data processed by the video processor 1332, a stream obtained by encoding the image data, an application program, setting data, and the like.
- the RF module 1334 is a module that performs frequency conversion, modulation / demodulation, amplification, filter processing, and the like on an RF (Radio Frequency) signal transmitted / received via an antenna. For example, the RF module 1334 generates an RF signal by performing frequency conversion or the like on the baseband signal generated by the broadband modem 1333. Further, for example, the RF module 1334 generates a baseband signal by performing frequency conversion or the like on the RF signal received via the front end module 1314.
- RF Radio Frequency
- the application processor 1331 and the video processor 1332 may be integrated and configured as one processor.
- the external memory 1312 is a module that is provided outside the video module 1311 and has a storage device used by the video module 1311.
- the storage device of the external memory 1312 may be realized by any physical configuration, but is generally used for storing a large amount of data such as image data in units of frames. For example, it is desirable to realize it with a relatively inexpensive and large-capacity semiconductor memory such as DRAM (Dynamic Random Access Memory).
- the power management module 1313 manages and controls power supply to the video module 1311 (each component in the video module 1311).
- the front-end module 1314 is a module that provides the RF module 1334 with a front-end function (circuit on the transmitting / receiving end on the antenna side). As illustrated in FIG. 30, the front end module 1314 includes, for example, an antenna unit 1351, a filter 1352, and an amplification unit 1353.
- the antenna unit 1351 has an antenna for transmitting and receiving a radio signal and its peripheral configuration.
- the antenna unit 1351 transmits the signal supplied from the amplification unit 1353 as a radio signal, and supplies the received radio signal to the filter 1352 as an electric signal (RF signal).
- the filter 1352 performs a filtering process on the RF signal received via the antenna unit 1351 and supplies the processed RF signal to the RF module 1334.
- the amplifying unit 1353 amplifies the RF signal supplied from the RF module 1334 and supplies the amplified RF signal to the antenna unit 1351.
- Connectivity 1321 is a module having a function related to connection with the outside.
- the physical configuration of the connectivity 1321 is arbitrary.
- the connectivity 1321 has a configuration having a communication function other than the communication standard supported by the broadband modem 1333, an external input / output terminal, and the like.
- the communication 1321 is compliant with wireless communication standards such as Bluetooth (registered trademark), IEEE 802.11 (for example, Wi-Fi (Wireless Fidelity, registered trademark)), NFC (Near Field Communication), IrDA (InfraRed Data Association), etc. You may make it have a module which has a function, an antenna etc. which transmit / receive the signal based on the standard.
- the connectivity 1321 has a module having a communication function compliant with a wired communication standard such as USB (Universal Serial Bus), HDMI (registered trademark) (High-Definition Multimedia Interface), or a terminal compliant with the standard. You may do it.
- the connectivity 1321 may have other data (signal) transmission functions such as analog input / output terminals.
- the connectivity 1321 may include a data (signal) transmission destination device.
- the drive 1321 reads and writes data to and from a recording medium such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory (not only a removable medium drive, but also a hard disk, SSD (Solid State Drive) NAS (including Network Attached Storage) and the like.
- the connectivity 1321 may include an image or audio output device (a monitor, a speaker, or the like).
- the camera 1322 is a module having a function of capturing a subject and obtaining image data of the subject.
- Image data obtained by imaging by the camera 1322 is supplied to, for example, a video processor 1332 and encoded.
- the sensor 1323 includes, for example, a voice sensor, an ultrasonic sensor, an optical sensor, an illuminance sensor, an infrared sensor, an image sensor, a rotation sensor, an angle sensor, an angular velocity sensor, a velocity sensor, an acceleration sensor, an inclination sensor, a magnetic identification sensor, an impact sensor, It is a module having an arbitrary sensor function such as a temperature sensor.
- the data detected by the sensor 1323 is supplied to the application processor 1331 and used by an application or the like.
- the configuration described as a module in the above may be realized as a processor, or conversely, the configuration described as a processor may be realized as a module.
- the present technology can be applied to the video processor 1332 as described later. Therefore, the video set 1300 can be implemented as a set to which the present technology is applied.
- FIG. 31 illustrates an example of a schematic configuration of a video processor 1332 (FIG. 30) to which the present technology is applied.
- the video processor 1332 receives the video signal and the audio signal, encodes them in a predetermined method, decodes the encoded video data and audio data, A function of reproducing and outputting an audio signal.
- the video processor 1332 includes a video input processing unit 1401, a first image scaling unit 1402, a second image scaling unit 1403, a video output processing unit 1404, a frame memory 1405, and a memory control unit 1406.
- the video processor 1332 includes an encoding / decoding engine 1407, video ES (ElementaryElementStream) buffers 1408A and 1408B, and audio ES buffers 1409A and 1409B.
- the video processor 1332 includes an audio encoder 1410, an audio decoder 1411, a multiplexing unit (MUX (Multiplexer)) 1412, a demultiplexing unit (DMUX (Demultiplexer)) 1413, and a stream buffer 1414.
- MUX Multiplexing unit
- DMUX demultiplexing unit
- the video input processing unit 1401 obtains a video signal input from, for example, the connectivity 1321 (FIG. 30) and converts it into digital image data.
- the first image enlargement / reduction unit 1402 performs format conversion, image enlargement / reduction processing, and the like on the image data.
- the second image enlargement / reduction unit 1403 performs image enlargement / reduction processing on the image data in accordance with the format of the output destination via the video output processing unit 1404, or is the same as the first image enlargement / reduction unit 1402. Format conversion and image enlargement / reduction processing.
- the video output processing unit 1404 performs format conversion, conversion to an analog signal, and the like on the image data and outputs the reproduced video signal to, for example, the connectivity 1321.
- the frame memory 1405 is a memory for image data shared by the video input processing unit 1401, the first image scaling unit 1402, the second image scaling unit 1403, the video output processing unit 1404, and the encoding / decoding engine 1407. .
- the frame memory 1405 is realized as a semiconductor memory such as a DRAM, for example.
- the memory control unit 1406 receives the synchronization signal from the encoding / decoding engine 1407, and controls the write / read access to the frame memory 1405 according to the access schedule to the frame memory 1405 written in the access management table 1406A.
- the access management table 1406A is updated by the memory control unit 1406 in accordance with processing executed by the encoding / decoding engine 1407, the first image enlargement / reduction unit 1402, the second image enlargement / reduction unit 1403, and the like.
- the encoding / decoding engine 1407 performs encoding processing of image data and decoding processing of a video stream that is data obtained by encoding the image data. For example, the encoding / decoding engine 1407 encodes the image data read from the frame memory 1405 and sequentially writes the data as a video stream in the video ES buffer 1408A. Further, for example, the video stream is sequentially read from the video ES buffer 1408B, decoded, and sequentially written in the frame memory 1405 as image data.
- the encoding / decoding engine 1407 uses the frame memory 1405 as a work area in the encoding and decoding. Also, the encoding / decoding engine 1407 outputs a synchronization signal to the memory control unit 1406, for example, at a timing at which processing for each macroblock is started.
- the video ES buffer 1408A buffers the video stream generated by the encoding / decoding engine 1407 and supplies the buffered video stream to the multiplexing unit (MUX) 1412.
- the video ES buffer 1408B buffers the video stream supplied from the demultiplexer (DMUX) 1413 and supplies the buffered video stream to the encoding / decoding engine 1407.
- the audio ES buffer 1409A buffers the audio stream generated by the audio encoder 1410 and supplies the buffered audio stream to the multiplexing unit (MUX) 1412.
- the audio ES buffer 1409B buffers the audio stream supplied from the demultiplexer (DMUX) 1413 and supplies the buffered audio stream to the audio decoder 1411.
- the audio encoder 1410 converts, for example, an audio signal input from the connectivity 1321 or the like, for example, into a digital format, and encodes it using a predetermined method such as an MPEG audio method or an AC3 (Audio Code number 3) method.
- the audio encoder 1410 sequentially writes an audio stream, which is data obtained by encoding an audio signal, in the audio ES buffer 1409A.
- the audio decoder 1411 decodes the audio stream supplied from the audio ES buffer 1409B, performs conversion to an analog signal, for example, and supplies the reproduced audio signal to, for example, the connectivity 1321 or the like.
- the multiplexing unit (MUX) 1412 multiplexes the video stream and the audio stream.
- the multiplexing method (that is, the format of the bit stream generated by multiplexing) is arbitrary.
- the multiplexing unit (MUX) 1412 can also add predetermined header information or the like to the bit stream. That is, the multiplexing unit (MUX) 1412 can convert the stream format by multiplexing. For example, the multiplexing unit (MUX) 1412 multiplexes the video stream and the audio stream to convert it into a transport stream that is a bit stream in a transfer format. Further, for example, the multiplexing unit (MUX) 1412 multiplexes the video stream and the audio stream, thereby converting the data into file format data (file data) for recording.
- the demultiplexing unit (DMUX) 1413 demultiplexes the bit stream in which the video stream and the audio stream are multiplexed by a method corresponding to the multiplexing by the multiplexing unit (MUX) 1412. That is, the demultiplexer (DMUX) 1413 extracts the video stream and the audio stream from the bit stream read from the stream buffer 1414 (separates the video stream and the audio stream). That is, the demultiplexer (DMUX) 1413 can convert the stream format by demultiplexing (inverse conversion of the conversion by the multiplexer (MUX) 1412).
- the demultiplexing unit (DMUX) 1413 obtains a transport stream supplied from, for example, the connectivity 1321 or the broadband modem 1333 via the stream buffer 1414 and demultiplexes the video stream and the audio stream. And can be converted to Further, for example, the demultiplexer (DMUX) 1413 obtains the file data read from various recording media by the connectivity 1321, for example, via the stream buffer 1414, and demultiplexes the video stream and the audio. Can be converted to a stream.
- Stream buffer 1414 buffers the bit stream.
- the stream buffer 1414 buffers the transport stream supplied from the multiplexing unit (MUX) 1412 and, for example, in the connectivity 1321 or the broadband modem 1333 at a predetermined timing or based on an external request or the like. Supply.
- MUX multiplexing unit
- the stream buffer 1414 buffers the file data supplied from the multiplexing unit (MUX) 1412 and supplies it to the connectivity 1321 at a predetermined timing or based on an external request, for example. It is recorded on various recording media.
- MUX multiplexing unit
- the stream buffer 1414 buffers a transport stream acquired through, for example, the connectivity 1321 or the broadband modem 1333, and performs a demultiplexing unit (DMUX) at a predetermined timing or based on a request from the outside. 1413.
- DMUX demultiplexing unit
- the stream buffer 1414 buffers file data read from various recording media in, for example, the connectivity 1321, and the demultiplexer (DMUX) 1413 at a predetermined timing or based on an external request or the like. To supply.
- DMUX demultiplexer
- a video signal input to the video processor 1332 from the connectivity 1321 or the like is converted into digital image data of a predetermined format such as 4: 2: 2Y / Cb / Cr format by the video input processing unit 1401 and stored in the frame memory 1405.
- This digital image data is read by the first image enlargement / reduction unit 1402 or the second image enlargement / reduction unit 1403, and format conversion to a predetermined method such as 4: 2: 0Y / Cb / Cr method and enlargement / reduction processing are performed. Is written again in the frame memory 1405.
- This image data is encoded by the encoding / decoding engine 1407 and written as a video stream in the video ES buffer 1408A.
- an audio signal input from the connectivity 1321 or the like to the video processor 1332 is encoded by the audio encoder 1410 and written as an audio stream in the audio ES buffer 1409A.
- the video stream of the video ES buffer 1408A and the audio stream of the audio ES buffer 1409A are read and multiplexed by the multiplexing unit (MUX) 1412 and converted into a transport stream, file data, or the like.
- the transport stream generated by the multiplexing unit (MUX) 1412 is buffered in the stream buffer 1414 and then output to the external network via, for example, the connectivity 1321 or the broadband modem 1333.
- the file data generated by the multiplexing unit (MUX) 1412 is buffered in the stream buffer 1414, and then output to, for example, the connectivity 1321 and recorded on various recording media.
- a transport stream input from an external network to the video processor 1332 via the connectivity 1321 or the broadband modem 1333 is buffered in the stream buffer 1414 and then demultiplexed by the demultiplexer (DMUX) 1413.
- DMUX demultiplexer
- file data read from various recording media by the connectivity 1321 and input to the video processor 1332 is buffered by the stream buffer 1414 and then demultiplexed by the demultiplexer (DMUX) 1413. That is, the transport stream or file data input to the video processor 1332 is separated into a video stream and an audio stream by the demultiplexer (DMUX) 1413.
- the audio stream is supplied to the audio decoder 1411 via the audio ES buffer 1409B and decoded to reproduce the audio signal.
- the video stream is written to the video ES buffer 1408B, and then sequentially read and decoded by the encoding / decoding engine 1407, and written to the frame memory 1405.
- the decoded image data is enlarged / reduced by the second image enlargement / reduction unit 1403 and written to the frame memory 1405.
- the decoded image data is read out to the video output processing unit 1404, format-converted to a predetermined system such as 4: 2: 2Y / Cb / Cr system, and further converted into an analog signal to be converted into a video signal. Is played out.
- the present technology when the present technology is applied to the video processor 1332 configured as described above, the present technology according to each embodiment described above may be applied to the encoding / decoding engine 1407. That is, for example, the encoding / decoding engine 1407 may have the functions of the image decoding device 100 or the image decoding device 300 described above. In this way, the video processor 1332 can obtain the same effects as those described above with reference to FIGS.
- the present technology (that is, the function of the image decoding device 100 or the image decoding device 300) may be realized by hardware such as a logic circuit or software such as an embedded program. Or may be realized by both of them.
- FIG. 32 illustrates another example of a schematic configuration of a video processor 1332 to which the present technology is applied.
- the video processor 1332 has a function of encoding and decoding video data by a predetermined method.
- the video processor 1332 includes a control unit 1511, a display interface 1512, a display engine 1513, an image processing engine 1514, and an internal memory 1515.
- the video processor 1332 includes a codec engine 1516, a memory interface 1517, a multiplexing / demultiplexing unit (MUX DMUX) 1518, a network interface 1519, and a video interface 1520.
- MUX DMUX multiplexing / demultiplexing unit
- the control unit 1511 controls the operation of each processing unit in the video processor 1332 such as the display interface 1512, the display engine 1513, the image processing engine 1514, and the codec engine 1516.
- the control unit 1511 includes, for example, a main CPU 1531, a sub CPU 1532, and a system controller 1533.
- the main CPU 1531 executes a program and the like for controlling the operation of each processing unit in the video processor 1332.
- the main CPU 1531 generates a control signal according to the program and supplies it to each processing unit (that is, controls the operation of each processing unit).
- the sub CPU 1532 plays an auxiliary role of the main CPU 1531.
- the sub CPU 1532 executes a child process such as a program executed by the main CPU 1531, a subroutine, or the like.
- the system controller 1533 controls operations of the main CPU 1531 and the sub CPU 1532 such as designating a program to be executed by the main CPU 1531 and the sub CPU 1532.
- the display interface 1512 outputs the image data to, for example, the connectivity 1321 under the control of the control unit 1511.
- the display interface 1512 converts image data of digital data into an analog signal, and outputs it to a monitor device or the like of the connectivity 1321 as a reproduced video signal or as image data of the digital data.
- the display engine 1513 Under the control of the control unit 1511, the display engine 1513 performs various conversion processes such as format conversion, size conversion, color gamut conversion, and the like so as to match the image data with hardware specifications such as a monitor device that displays the image. I do.
- the image processing engine 1514 performs predetermined image processing such as filter processing for improving image quality on the image data under the control of the control unit 1511.
- the internal memory 1515 is a memory provided in the video processor 1332 that is shared by the display engine 1513, the image processing engine 1514, and the codec engine 1516.
- the internal memory 1515 is used, for example, for data exchange performed between the display engine 1513, the image processing engine 1514, and the codec engine 1516.
- the internal memory 1515 stores data supplied from the display engine 1513, the image processing engine 1514, or the codec engine 1516, and stores the data as needed (eg, upon request). This is supplied to the image processing engine 1514 or the codec engine 1516.
- the internal memory 1515 may be realized by any storage device, but is generally used for storing a small amount of data such as image data or parameters in units of blocks. It is desirable to realize a semiconductor memory having a relatively small capacity but a high response speed (for example, as compared with the external memory 1312) such as “Static Random Access Memory”.
- the codec engine 1516 performs processing related to encoding and decoding of image data.
- the encoding / decoding scheme supported by the codec engine 1516 is arbitrary, and the number thereof may be one or plural.
- the codec engine 1516 may be provided with codec functions of a plurality of encoding / decoding schemes, and may be configured to perform encoding of image data or decoding of encoded data using one selected from them.
- the codec engine 1516 includes, for example, MPEG-2 video 1541, AVC / H.2641542, HEVC / H.2651543, HEVC / H.265 (Scalable) 1544, as function blocks for processing related to the codec.
- HEVC / H.265 (Multi-view) 1545 and MPEG-DASH 1551 are included.
- MPEG-2 Video1541 is a functional block that encodes and decodes image data in the MPEG-2 format.
- AVC / H.2641542 is a functional block that encodes and decodes image data using the AVC method.
- HEVC / H.2651543 is a functional block that encodes and decodes image data using the HEVC method.
- HEVC / H.265 (Scalable) 1544 is a functional block that performs scalable encoding and scalable decoding of image data using the HEVC method.
- HEVC / H.265 (Multi-view) 1545 is a functional block that multi-view encodes or multi-view decodes image data using the HEVC method.
- MPEG-DASH 1551 is a functional block that transmits and receives image data using the MPEG-DASH (MPEG-Dynamic Adaptive Streaming over HTTP) method.
- MPEG-DASH is a technology for streaming video using HTTP (HyperText Transfer Protocol), and selects and transmits appropriate data from multiple encoded data with different resolutions prepared in advance in segments. This is one of the features.
- MPEG-DASH 1551 generates a stream compliant with the standard, controls transmission of the stream, and the like.
- MPEG-2 Video 1541 to HEVC / H.265 (Multi-view) 1545 described above are used. Is used.
- the memory interface 1517 is an interface for the external memory 1312. Data supplied from the image processing engine 1514 or the codec engine 1516 is supplied to the external memory 1312 via the memory interface 1517. The data read from the external memory 1312 is supplied to the video processor 1332 (the image processing engine 1514 or the codec engine 1516) via the memory interface 1517.
- a multiplexing / demultiplexing unit (MUX DMUX) 1518 performs multiplexing and demultiplexing of various data related to images such as a bit stream of encoded data, image data, and a video signal.
- This multiplexing / demultiplexing method is arbitrary.
- the multiplexing / demultiplexing unit (MUX DMUX) 1518 can not only combine a plurality of data into one but also add predetermined header information or the like to the data.
- the multiplexing / demultiplexing unit (MUX DMUX) 1518 not only divides one data into a plurality of data but also adds predetermined header information or the like to each divided data. it can.
- the multiplexing / demultiplexing unit (MUX DMUX) 1518 can convert the data format by multiplexing / demultiplexing.
- the multiplexing / demultiplexing unit (MUX DMUX) 1518 multiplexes the bitstream, thereby transporting the transport stream, which is a bit stream in a transfer format, or data in a file format for recording (file data).
- the transport stream which is a bit stream in a transfer format, or data in a file format for recording (file data).
- file data file format for recording
- the network interface 1519 is an interface for a broadband modem 1333, connectivity 1321, etc., for example.
- the video interface 1520 is an interface for the connectivity 1321, the camera 1322, and the like, for example.
- the transport stream is supplied to the multiplexing / demultiplexing unit (MUX DMUX) 1518 via the network interface 1519.
- MUX DMUX multiplexing / demultiplexing unit
- codec engine 1516 the image data obtained by decoding by the codec engine 1516 is subjected to predetermined image processing by the image processing engine 1514, subjected to predetermined conversion by the display engine 1513, and is connected to, for example, the connectivity 1321 through the display interface 1512. And the image is displayed on the monitor.
- image data obtained by decoding by the codec engine 1516 is re-encoded by the codec engine 1516, multiplexed by a multiplexing / demultiplexing unit (MUX DMUX) 1518, converted into file data, and video
- MUX DMUX multiplexing / demultiplexing unit
- encoded data file data obtained by encoding image data read from a recording medium (not shown) by the connectivity 1321 or the like is transmitted through a video interface 1520 via a multiplexing / demultiplexing unit (MUX DMUX). ) 1518 to be demultiplexed and decoded by the codec engine 1516.
- Image data obtained by decoding by the codec engine 1516 is subjected to predetermined image processing by the image processing engine 1514, subjected to predetermined conversion by the display engine 1513, and supplied to, for example, the connectivity 1321 through the display interface 1512. The image is displayed on the monitor.
- image data obtained by decoding by the codec engine 1516 is re-encoded by the codec engine 1516, multiplexed by the multiplexing / demultiplexing unit (MUX DMUX) 1518, and converted into a transport stream,
- the data is supplied to, for example, the connectivity 1321 and the broadband modem 1333 via the network interface 1519 and transmitted to another device (not shown).
- image data and other data are exchanged between the processing units in the video processor 1332 using, for example, the internal memory 1515 or the external memory 1312.
- the power management module 1313 controls power supply to the control unit 1511, for example.
- the present technology when the present technology is applied to the video processor 1332 configured as described above, the present technology according to each embodiment described above may be applied to the codec engine 1516. That is, for example, the codec engine 1516 may have a functional block that implements the image decoding device 100 or the image decoding device 300 described above. In this way, the video processor 1332 can obtain the same effects as those described above with reference to FIGS.
- the present technology (that is, the function of the image decoding device 100) may be realized by hardware such as a logic circuit, or may be realized by software such as an embedded program. It may be realized by both of them.
- the configuration of the video processor 1332 is arbitrary and may be other than the two examples described above.
- the video processor 1332 may be configured as one semiconductor chip, but may be configured as a plurality of semiconductor chips. For example, a three-dimensional stacked LSI in which a plurality of semiconductors are stacked may be used. Further, it may be realized by a plurality of LSIs.
- Video set 1300 can be incorporated into various devices that process image data.
- the video set 1300 can be incorporated in the television device 900 (FIG. 26), the mobile phone 920 (FIG. 27), the recording / reproducing device 940 (FIG. 28), the imaging device 960 (FIG. 29), or the like.
- the apparatus can obtain the same effects as those described above with reference to FIGS.
- the video processor 1332 can implement as a structure to which this technique is applied.
- the video processor 1332 can be implemented as a video processor to which the present technology is applied.
- the processor or the video module 1311 indicated by the dotted line 1341 can be implemented as a processor or a module to which the present technology is applied.
- the video module 1311, the external memory 1312, the power management module 1313, and the front end module 1314 can be combined and implemented as a video unit 1361 to which the present technology is applied. In any case, the same effects as those described above with reference to FIGS. 1 to 15 can be obtained.
- any configuration including the video processor 1332 can be incorporated into various devices that process image data, as in the case of the video set 1300.
- a video processor 1332 a processor indicated by a dotted line 1341, a video module 1311, or a video unit 1361, a television device 900 (FIG. 26), a mobile phone 920 (FIG. 27), a recording / playback device 940 (FIG. 28), The imaging device 960 (FIG. 29) can be incorporated.
- the apparatus can obtain the same effects as those described above with reference to FIGS. 1 to 15 as in the case of the video set 1300. .
- the method for transmitting such information is not limited to such an example.
- these pieces of information may be transmitted or recorded as separate data associated with the encoded bitstream without being multiplexed into the encoded bitstream.
- the term “associate” means that an image (which may be a part of an image such as a slice or a block) included in the bitstream and information corresponding to the image can be linked at the time of decoding. Means. That is, information may be transmitted on a transmission path different from that of the image (or bit stream).
- Information may be recorded on a recording medium (or another recording area of the same recording medium) different from the image (or bit stream). Furthermore, the information and the image (or bit stream) may be associated with each other in an arbitrary unit such as a plurality of frames, one frame, or a part of the frame.
- this technique can also take the following structures.
- a decoding unit that generates decoded data by decoding encoded data obtained by encoding image data;
- An image comprising: a processing unit that independently performs, for each block size, processing performed on the decoded data generated by the decoding unit by a method according to a block size based on the block structure of the encoded data.
- Decoding device (2) The image decoding device according to (1), wherein the processing unit includes an inverse quantization unit that inversely quantizes the quantized decoded data.
- the block structure is information indicating the number and position of each conversion unit size, The image decoding device according to (1) or (2), wherein the inverse quantization unit performs inverse quantization independently for each size of the transform unit.
- the image decoding device includes an inverse orthogonal transform unit that performs inverse orthogonal transform on the orthogonally transformed decoded data.
- the block structure is information indicating the number and position of each conversion unit size.
- the inverse orthogonal transform unit performs inverse orthogonal transform independently for each size of the transform unit.
- the processing unit includes an inter prediction unit that generates a predicted image by performing motion compensation.
- the block structure is information indicating the number and position of each prediction unit size, The image decoding apparatus according to any one of (1) to (6), wherein the inter prediction unit performs motion compensation independently for each size of the prediction unit.
- the block structure is information indicating the number and position of each encoding unit size, The image decoding apparatus according to any one of (1) to (7), wherein the inter prediction unit performs motion compensation independently for each size of the encoding unit.
- the image decoding device according to any one of (1) to (8), wherein the processing unit performs processing performed by a method according to the block size in parallel with each other for each block size.
- An analysis unit that analyzes a block structure of the encoded data is further provided.
- the processing unit independently performs processing performed by the method according to the block size for each block size based on the analysis result of the block structure by the analysis unit.
- (1) to (9) The image decoding apparatus described in 1.
- (11) The image decoding device according to any one of (1) to (10), wherein the analysis unit obtains a generation number and a generation position for each size of the encoding unit of the encoded data.
- (12) The image decoding device according to any one of (1) to (11), wherein the analysis unit obtains a generation number and a generation position for each size of the encoded data conversion unit.
- (13) The image decoding device according to any one of (1) to (12), wherein the analysis unit obtains a generation number and a generation position for each size of the prediction unit of the encoded data.
- Image decoding device (15) The image decoding device according to any one of (1) to (14), wherein the parallel control unit parallelizes processing performed by a method according to the block size so that the load amount is as uniform as possible. . (16) The image decoding device according to any one of (1) to (15), wherein the parallel control unit obtains a processing load amount for each block size based on an environment. (17) The image decoding device according to any one of (1) to (16), wherein the parallel control unit obtains a processing load amount for each block size based on a calibration result.
- Decoding data is generated by decoding encoded data obtained by encoding image data, An image decoding method, wherein processing performed by a method corresponding to a block size is performed independently for each block size on the generated decoded data based on a block structure of the encoded data.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Discrete Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
1.第1の実施の形態(画像復号装置)
2.第2の実施の形態(画像復号装置)
3.第3の実施の形態(多視点画像復号装置)
4.第4の実施の形態(階層画像復号装置)
5.第5の実施の形態(コンピュータ)
6.第6の実施の形態(応用例)
7.第7の実施の形態(セット・ユニット・モジュール・プロセッサ)
<画像符号化の標準化の流れ>
近年、画像情報をデジタルとして取り扱い、その際、効率の高い情報の伝送、蓄積を目的とし、画像情報特有の冗長性を利用して、離散コサイン変換等の直交変換と動き補償により圧縮する符号化方式を採用して画像を圧縮符号する装置が普及しつつある。この符号化方式には、例えば、MPEG(Moving Picture Experts Group)などがある。
HEVCは、MPEG-2 (H.262) 比で約4倍、H.264/AVCとの比較でも約2倍の圧縮性能を有する。この圧縮性能に大きく貢献しているのが、ブロックサイズの多様化・細分化である。図1は、ブロックサイズをAVCとHEVCとで比較した図である。図1に示されるように、HEVCはAVCに比べて、コーディングブロック(Coding Block)のサイズ数が4倍に、予測処理ブロック(MC Block)のサイズ数が約4倍に、予測差分信号処理ブロック(DCT Block)のサイズ数が2倍になっている。
1.ブロックサイズ毎に処理を逐次分岐する必要があり、分岐のオーバーヘッドが大きくなる。特に、分岐を苦手とするプロセッサの場合、このオーバーヘッドが無視できなくなる。
2.ブロックサイズ毎に呼び出す処理メソッドのロードのオーバーヘッド。通常処理メソッドはプロセッサのキャッシュにロードされ、実際の処理はそのキャッシュを通じて行われるが、キャッシュのサイズが十分にない場合、処理メソッドは逐次消去されてしまう。例えば、処理するブロックサイズが頻繁に切り替わる場合に、処理メソッドが逐次ロード、消去されてしまうとそのオーバーヘッドが無視できなくなる可能性がある。
3.並列処理において処理の並列化が十分に行われないため、一部のプロセッサがアイドリング状態になる。
そこで、画像データが符号化された符号化データを復号することにより、復号データを生成し、符号化データのブロック構造に基づいて、生成された復号データに対してブロックサイズに応じた方法で行われる処理を、ブロックサイズ毎に独立に行うようにする。このようにすることにより、より効率よく復号処理を行うことができる。
図5は、ブロック解析部113の主な構成例を示すブロック図である。図5に示されるように、ブロック解析部113は、CU解析部131、TU解析部132、およびPU解析部133を有する。
次に、画像復号装置100により実行される各処理の流れの例を説明する。最初に、復号処理の流れの例を、図7のフローチャートを参照して説明する。
次に、図8のフローチャートを参照して、図7のステップS103において実行されるブロック解析処理の流れの例を説明する。
次に、図9および図10のフローチャートを参照して逆量子化処理の流れの例を説明する。
次に、図11および図12のフローチャートを参照して、図7のステップS105において実行される逆直交変換処理の流れの例を説明する。逆直交変換処理は、逆量子化処理と基本的に同様に行われる。
次に、図13のフローチャートを参照して、図7のステップS106において実行されるインター予測処理の流れの例を説明する。なお、ここではイントラ予測処理の説明は省略する。
<画像復号装置>
なお、各ブロックサイズの発生数が把握できているため、各ブロックサイズの処理負荷が予め分かっている場合には、処理の均等な分散が可能になる。各ブロックサイズのパフォーマンスを知る方法としては、例えばハードウエアスペック等の環境毎、あるいはデコード処理の開始時に予め各ブロックサイズのパフォーマンスを計測するキャリブレーション処理などが有効である。
次に、画像復号装置300により実行される復号処理の流れの例を、図15のフローチャートを参照して説明する。
<多視点画像復号への適用>
上述した一連の処理は、多視点画像復号に適用することができる。図16は、多視点画像符号化方式の一例を示す。
図17は、上述した多視点画像符号化を行う多視点画像符号化装置を示す図である。図17に示されるように、多視点画像符号化装置600は、符号化部601、符号化部602、および多重化部603を有する。
図18は、上述した多視点画像復号を行う多視点画像復号装置を示す図である。図18に示されるように、多視点画像復号装置610は、逆多重化部611、復号部612、および復号部613を有する。
<階層画像復号への適用>
また、上述した一連の処理は、階層画像復号(スケーラブル復号)に適用することができる。図19は、階層画像符号化方式の一例を示す。
このような階層画像符号化・階層画像復号(スケーラブル符号化・スケーラブル復号)において、スケーラビリティ(scalability)機能を有するパラメータは、任意である。例えば、図20に示されるような空間解像度をそのパラメータとしてもよい(spatial scalability)。このスペーシャルスケーラビリティ(spatial scalability)の場合、レイヤ毎に画像の解像度が異なる。つまり、図20に示されるように、各ピクチャが、元の画像より空間的に低解像度のベースレイヤと、ベースレイヤの画像と合成することにより元の画像(元の空間解像度)が得られるエンハンスメントレイヤの2階層に階層化される。もちろん、この階層数は一例であり、任意の階層数に階層化することができる。
図23は、上述した階層画像符号化を行う階層画像符号化装置を示す図である。図23に示されるように、階層画像符号化装置620は、符号化部621、符号化部622、および多重化部623を有する。
図24は、上述した階層画像復号を行う階層画像復号装置を示す図である。図24に示されるように、階層画像復号装置630は、逆多重化部631、復号部632、および復号部633を有する。
<コンピュータ>
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここでコンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータ等が含まれる。
<第1の応用例:テレビジョン受像機>
図26は、上述した実施形態を適用したテレビジョン装置の概略的な構成の一例を示している。テレビジョン装置900は、アンテナ901、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、表示部906、音声信号処理部907、スピーカ908、外部インタフェース(I/F)部909、制御部910、ユーザインタフェース(I/F)部911、及びバス912を備える。
図27は、上述した実施形態を適用した携帯電話機の概略的な構成の一例を示している。携帯電話機920は、アンテナ921、通信部922、音声コーデック923、スピーカ924、マイクロホン925、カメラ部926、画像処理部927、多重分離部928、記録再生部929、表示部930、制御部931、操作部932、及びバス933を備える。
図28は、上述した実施形態を適用した記録再生装置の概略的な構成の一例を示している。記録再生装置940は、例えば、受信した放送番組の音声データ及び映像データを符号化して記録媒体に記録する。また、記録再生装置940は、例えば、他の装置から取得される音声データ及び映像データを符号化して記録媒体に記録してもよい。また、記録再生装置940は、例えば、ユーザの指示に応じて、記録媒体に記録されているデータをモニタ及びスピーカ上で再生する。このとき、記録再生装置940は、音声データおよび映像データを復号する。
図29は、上述した実施形態を適用した撮像装置の概略的な構成の一例を示している。撮像装置960は、被写体を撮像して画像を生成し、画像データを符号化して記録媒体に記録する。
<実施のその他の例>
以上において本技術を適用する装置やシステム等の例を説明したが、本技術は、これに限らず、このような装置またはシステムを構成する装置に搭載するあらゆる構成、例えば、システムLSI(Large Scale Integration)等としてのプロセッサ、複数のプロセッサ等を用いるモジュール、複数のモジュール等を用いるユニット、ユニットにさらにその他の機能を付加したセット等(すなわち、装置の一部の構成)として実施することもできる。
本技術をセットとして実施する場合の例について、図30を参照して説明する。図30は、本技術を適用したビデオセットの概略的な構成の一例を示している。
図31は、本技術を適用したビデオプロセッサ1332(図30)の概略的な構成の一例を示している。
図32は、本技術を適用したビデオプロセッサ1332の概略的な構成の他の例を示している。図32の例の場合、ビデオプロセッサ1332は、ビデオデータを所定の方式で符号化・復号する機能を有する。
ビデオセット1300は、画像データを処理する各種装置に組み込むことができる。例えば、ビデオセット1300は、テレビジョン装置900(図26)、携帯電話機920(図27)、記録再生装置940(図28)、撮像装置960(図29)等に組み込むことができる。ビデオセット1300を組み込むことにより、その装置は、図1乃至図15を参照して上述した効果と同様の効果を得ることができる。
(1) 画像データが符号化された符号化データを復号することにより、復号データを生成する復号部と、
前記符号化データのブロック構造に基づいて、前記復号部により生成された前記復号データに対してブロックサイズに応じた方法で行われる処理を、前記ブロックサイズ毎に独立に行う処理部と
を備える画像復号装置。
(2) 前記処理部は、量子化された前記復号データを逆量子化する逆量子化部を含む
(1)に記載の画像復号装置。
(3) 前記ブロック構造は、変換ユニットのサイズ毎の数と位置を示す情報であり、
前記逆量子化部は、前記変換ユニットのサイズ毎に独立に逆量子化を行う
(1)または(2)に記載の画像復号装置。
(4) 前記処理部は、直交変換された前記復号データを逆直交変換する逆直交変換部を含む
(1)乃至(3)のいずれかに記載の画像復号装置。
(5) 前記ブロック構造は、変換ユニットのサイズ毎の数と位置を示す情報であり、
前記逆直交変換部は、前記変換ユニットのサイズ毎に独立に逆直交変換を行う
(1)乃至(4)のいずれかに記載の画像復号装置。
(6) 前記処理部は、動き補償を行って予測画像を生成するインター予測部を含む
(1)乃至(5)のいずれかに記載の画像復号装置。
(7) 前記ブロック構造は、予測ユニットのサイズ毎の数と位置を示す情報であり、
前記インター予測部は、前記予測ユニットのサイズ毎に独立に動き補償を行う
(1)乃至(6)のいずれかに記載の画像復号装置。
(8) 前記ブロック構造は、符号化ユニットのサイズ毎の数と位置を示す情報であり、
前記インター予測部は、前記符号化ユニットのサイズ毎に独立に動き補償を行う
(1)乃至(7)のいずれかに記載の画像復号装置。
(9) 前記処理部は、前記ブロックサイズに応じた方法で行われる処理を、前記ブロックサイズ毎に、互いに並列に行う
(1)乃至(8)のいずれかに記載の画像復号装置。
(10) 前記符号化データのブロック構造を解析する解析部をさらに備え、
前記処理部は、前記解析部による前記ブロック構造の解析結果に基づいて、前記ブロックサイズに応じた方法で行われる処理を、前記ブロックサイズ毎に独立に行う
(1)乃至(9)のいずれかに記載の画像復号装置。
(11) 前記解析部は、前記符号化データの符号化ユニットについて、サイズ毎に発生数と発生位置とを求める
(1)乃至(10)のいずれかに記載の画像復号装置。
(12) 前記解析部は、前記符号化データの変換ユニットについて、サイズ毎に発生数と発生位置とを求める
(1)乃至(11)のいずれかに記載の画像復号装置。
(13) 前記解析部は、前記符号化データの予測ユニットについて、サイズ毎に発生数と発生位置とを求める
(1)乃至(12)のいずれかに記載の画像復号装置。
(14) ブロックサイズ毎の処理負荷量に応じて、前記ブロックサイズに応じた方法で行われる処理の並列化を制御する並列制御部をさらに備える
(1)乃至(13)のいずれかに記載の画像復号装置。
(15) 前記並列制御部は、負荷量ができるだけ均等になるように、前記ブロックサイズに応じた方法で行われる処理を並列化させる
(1)乃至(14)のいずれかに記載の画像復号装置。
(16) 前記並列制御部は、環境に基づいてブロックサイズ毎の処理負荷量を求める
(1)乃至(15)のいずれかに記載の画像復号装置。
(17) 前記並列制御部は、キャリブレーション結果に基づいてブロックサイズ毎の処理負荷量を求める
(1)乃至(16)のいずれかに記載の画像復号装置。
(18) 画像データが符号化された符号化データを復号することにより、復号データを生成し、
前記符号化データのブロック構造に基づいて、生成された前記復号データに対してブロックサイズに応じた方法で行われる処理を、前記ブロックサイズ毎に独立に行う
画像復号方法。
Claims (18)
- 画像データが符号化された符号化データを復号することにより、復号データを生成する復号部と、
前記符号化データのブロック構造に基づいて、前記復号部により生成された前記復号データに対してブロックサイズに応じた方法で行われる処理を、前記ブロックサイズ毎に独立に行う処理部と
を備える画像復号装置。 - 前記処理部は、量子化された前記復号データを逆量子化する逆量子化部を含む
請求項1に記載の画像復号装置。 - 前記ブロック構造は、変換ユニットのサイズ毎の数と位置を示す情報であり、
前記逆量子化部は、前記変換ユニットのサイズ毎に独立に逆量子化を行う
請求項2に記載の画像復号装置。 - 前記処理部は、直交変換された前記復号データを逆直交変換する逆直交変換部を含む
請求項1に記載の画像復号装置。 - 前記ブロック構造は、変換ユニットのサイズ毎の数と位置を示す情報であり、
前記逆直交変換部は、前記変換ユニットのサイズ毎に独立に逆直交変換を行う
請求項4に記載の画像復号装置。 - 前記処理部は、動き補償を行って予測画像を生成するインター予測部を含む
請求項1に記載の画像復号装置。 - 前記ブロック構造は、予測ユニットのサイズ毎の数と位置を示す情報であり、
前記インター予測部は、前記予測ユニットのサイズ毎に独立に動き補償を行う
請求項6に記載の画像復号装置。 - 前記ブロック構造は、符号化ユニットのサイズ毎の数と位置を示す情報であり、
前記インター予測部は、前記符号化ユニットのサイズ毎に独立に動き補償を行う
請求項6に記載の画像復号装置。 - 前記処理部は、前記ブロックサイズに応じた方法で行われる処理を、前記ブロックサイズ毎に、互いに並列に行う
請求項1に記載の画像復号装置。 - 前記符号化データのブロック構造を解析する解析部をさらに備え、
前記処理部は、前記解析部による前記ブロック構造の解析結果に基づいて、前記ブロックサイズに応じた方法で行われる処理を、前記ブロックサイズ毎に独立に行う
請求項1に記載の画像復号装置。 - 前記解析部は、前記符号化データの符号化ユニットについて、サイズ毎に発生数と発生位置とを求める
請求項10に記載の画像復号装置。 - 前記解析部は、前記符号化データの変換ユニットについて、サイズ毎に発生数と発生位置とを求める
請求項10に記載の画像復号装置。 - 前記解析部は、前記符号化データの予測ユニットについて、サイズ毎に発生数と発生位置とを求める
請求項10に記載の画像復号装置。 - ブロックサイズ毎の処理負荷量に応じて、前記ブロックサイズに応じた方法で行われる処理の並列化を制御する並列制御部をさらに備える
請求項1に記載の画像復号装置。 - 前記並列制御部は、負荷量ができるだけ均等になるように、前記ブロックサイズに応じた方法で行われる処理を並列化させる
請求項14に記載の画像復号装置。 - 前記並列制御部は、環境に基づいてブロックサイズ毎の処理負荷量を求める
請求項14に記載の画像復号装置。 - 前記並列制御部は、キャリブレーション結果に基づいてブロックサイズ毎の処理負荷量を求める
請求項14に記載の画像復号装置。 - 画像データが符号化された符号化データを復号することにより、復号データを生成し、
前記符号化データのブロック構造に基づいて、生成された前記復号データに対してブロックサイズに応じた方法で行われる処理を、前記ブロックサイズ毎に独立に行う
画像復号方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016510235A JP6528765B2 (ja) | 2014-03-28 | 2015-03-13 | 画像復号装置および方法 |
US15/127,141 US10298927B2 (en) | 2014-03-28 | 2015-03-13 | Image decoding device and method |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014-067813 | 2014-03-28 | ||
JP2014067813 | 2014-03-28 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2015146646A1 true WO2015146646A1 (ja) | 2015-10-01 |
Family
ID=54195169
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2015/057532 WO2015146646A1 (ja) | 2014-03-28 | 2015-03-13 | 画像復号装置および方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10298927B2 (ja) |
JP (1) | JP6528765B2 (ja) |
WO (1) | WO2015146646A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017073034A1 (ja) * | 2015-10-28 | 2017-05-04 | 日本電気株式会社 | 動画像符号化装置、動画像符号化方法およびプログラム記録媒体 |
CN115278264A (zh) * | 2022-09-26 | 2022-11-01 | 杭州雄迈集成电路技术股份有限公司 | 一种图像放大和osd叠加编码方法和系统 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11838851B1 (en) | 2014-07-15 | 2023-12-05 | F5, Inc. | Methods for managing L7 traffic classification and devices thereof |
US10182013B1 (en) * | 2014-12-01 | 2019-01-15 | F5 Networks, Inc. | Methods for managing progressive image delivery and devices thereof |
US11895138B1 (en) | 2015-02-02 | 2024-02-06 | F5, Inc. | Methods for improving web scanner accuracy and devices thereof |
CN113424530B (zh) * | 2018-12-28 | 2024-05-24 | 索尼集团公司 | 图像处理装置和方法 |
JP2021057767A (ja) * | 2019-09-30 | 2021-04-08 | 株式会社ソニー・インタラクティブエンタテインメント | 画像データ転送装置および画像データ転送方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007136093A1 (ja) * | 2006-05-24 | 2007-11-29 | Panasonic Corporation | 画像復号装置 |
JP2012147293A (ja) * | 2011-01-13 | 2012-08-02 | Canon Inc | 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム |
JP2013038758A (ja) * | 2011-07-13 | 2013-02-21 | Canon Inc | 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008120577A1 (ja) * | 2007-03-29 | 2008-10-09 | Kabushiki Kaisha Toshiba | 画像符号化及び復号化の方法及び装置 |
JP5001964B2 (ja) * | 2009-02-18 | 2012-08-15 | 株式会社エヌ・ティ・ティ・ドコモ | 画像符号化装置、方法およびプログラム、並びに、画像復号装置、方法およびプログラム |
US9008175B2 (en) * | 2010-10-01 | 2015-04-14 | Qualcomm Incorporated | Intra smoothing filter for video coding |
WO2012046435A1 (ja) * | 2010-10-04 | 2012-04-12 | パナソニック株式会社 | 画像処理装置、画像符号化方法および画像処理方法 |
JP2012094959A (ja) * | 2010-10-25 | 2012-05-17 | Sony Corp | 画像処理装置と画像処理方法およびプログラム |
KR101888515B1 (ko) * | 2011-01-13 | 2018-08-14 | 캐논 가부시끼가이샤 | 화상 부호화장치, 화상 부호화방법, 화상복호장치, 화상복호방법 및 기억매체 |
WO2012120822A1 (en) * | 2011-03-09 | 2012-09-13 | Canon Kabushiki Kaisha | Image coding apparatus, method for coding image, program therefor, image decoding apparatus, method for decoding image, and program therefor |
US9693064B2 (en) * | 2011-09-30 | 2017-06-27 | Avago Technologies General Ip (Singapore) Pte. Ltd | Video coding infrastructure using adaptive prediction complexity reduction |
WO2013076888A1 (ja) * | 2011-11-21 | 2013-05-30 | パナソニック株式会社 | 画像処理装置および画像処理方法 |
TWI685249B (zh) * | 2011-12-21 | 2020-02-11 | 日商Jvc建伍股份有限公司 | 動態影像編碼裝置、動態影像編碼方法、及儲存有動態影像編碼程式之記錄媒體 |
WO2013108330A1 (ja) * | 2012-01-18 | 2013-07-25 | パナソニック株式会社 | 画像復号装置、画像符号化装置、画像復号方法および画像符号化方法 |
MX2014008485A (es) * | 2012-01-19 | 2014-10-14 | Sony Corp | Aparato de procesamiento y metodo para procesamiento de imagen. |
CN104604225B (zh) * | 2012-09-10 | 2018-01-26 | 太阳专利托管公司 | 图像编码方法、图像解码方法、图像编码装置、图像解码装置及图像编码解码装置 |
US20140079135A1 (en) * | 2012-09-14 | 2014-03-20 | Qualcomm Incoporated | Performing quantization to facilitate deblocking filtering |
JP2014236264A (ja) * | 2013-05-31 | 2014-12-15 | ソニー株式会社 | 画像処理装置、画像処理方法及びプログラム |
-
2015
- 2015-03-13 US US15/127,141 patent/US10298927B2/en active Active
- 2015-03-13 WO PCT/JP2015/057532 patent/WO2015146646A1/ja active Application Filing
- 2015-03-13 JP JP2016510235A patent/JP6528765B2/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007136093A1 (ja) * | 2006-05-24 | 2007-11-29 | Panasonic Corporation | 画像復号装置 |
JP2012147293A (ja) * | 2011-01-13 | 2012-08-02 | Canon Inc | 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム |
JP2013038758A (ja) * | 2011-07-13 | 2013-02-21 | Canon Inc | 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017073034A1 (ja) * | 2015-10-28 | 2017-05-04 | 日本電気株式会社 | 動画像符号化装置、動画像符号化方法およびプログラム記録媒体 |
JPWO2017073034A1 (ja) * | 2015-10-28 | 2018-08-23 | 日本電気株式会社 | 動画像符号化装置、動画像符号化方法、およびプログラム |
CN115278264A (zh) * | 2022-09-26 | 2022-11-01 | 杭州雄迈集成电路技术股份有限公司 | 一种图像放大和osd叠加编码方法和系统 |
CN115278264B (zh) * | 2022-09-26 | 2023-02-28 | 杭州雄迈集成电路技术股份有限公司 | 一种图像放大和osd叠加编码方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
JPWO2015146646A1 (ja) | 2017-04-13 |
JP6528765B2 (ja) | 2019-06-12 |
US20170127061A1 (en) | 2017-05-04 |
US10298927B2 (en) | 2019-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6636122B2 (ja) | 復号装置および復号方法 | |
US20180124406A1 (en) | Image processing apparatus and method | |
US20210250585A1 (en) | Decoding device, decoding method, encoding device, and encoding method | |
JP6358475B2 (ja) | 画像復号装置および方法、並びに、画像符号化装置および方法 | |
JP6528765B2 (ja) | 画像復号装置および方法 | |
WO2015053115A1 (ja) | 復号装置および復号方法、並びに、符号化装置および符号化方法 | |
JP6579393B2 (ja) | 画像処理装置および方法 | |
US20150139303A1 (en) | Encoding device, encoding method, decoding device, and decoding method | |
JP6824034B2 (ja) | 画像復号装置および方法 | |
JP6497562B2 (ja) | 画像符号化装置および方法 | |
KR102336932B1 (ko) | 화상 처리 장치 및 방법 | |
WO2015137145A1 (ja) | 画像符号化装置および方法、並びに画像復号装置および方法 | |
WO2015053116A1 (ja) | 復号装置および復号方法、並びに、符号化装置および符号化方法 | |
WO2016147836A1 (ja) | 画像処理装置および方法 | |
JPWO2015098561A1 (ja) | 復号装置および復号方法、並びに、符号化装置および符号化方法 | |
JP6477930B2 (ja) | 符号化装置および符号化方法 | |
WO2015064401A1 (ja) | 画像処理装置および方法 | |
WO2014162916A1 (ja) | 画像符号化装置および方法、並びに、画像復号装置および方法 | |
WO2015098563A1 (ja) | 画像符号化装置および方法、並びに画像復号装置および方法 | |
JP6341067B2 (ja) | 画像処理装置および方法 | |
JP2015050738A (ja) | 復号装置および復号方法、並びに、符号化装置および符号化方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 15768443 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2016510235 Country of ref document: JP Kind code of ref document: A |
|
WWE | Wipo information: entry into national phase |
Ref document number: 15127141 Country of ref document: US |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 15768443 Country of ref document: EP Kind code of ref document: A1 |