CN101120584B - Encoding device and method, composite device and method, and transmission system - Google Patents
Encoding device and method, composite device and method, and transmission system Download PDFInfo
- Publication number
- CN101120584B CN101120584B CN200680005215.6A CN200680005215A CN101120584B CN 101120584 B CN101120584 B CN 101120584B CN 200680005215 A CN200680005215 A CN 200680005215A CN 101120584 B CN101120584 B CN 101120584B
- Authority
- CN
- China
- Prior art keywords
- unit
- code
- decoding
- coefficient
- significant digit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Description
技术领域technical field
本发明涉及编码装置和方法、解码装置和方法、以及传输系统,并且尤其涉及这样一种编码装置和方法、解码装置和方法、以及传输系统,其中能够以更高的速度执行编码和解码。The present invention relates to an encoding device and method, a decoding device and method, and a transmission system, and particularly to an encoding device and method, a decoding device and method, and a transmission system in which encoding and decoding can be performed at a higher speed.
背景技术Background technique
JPEG(联合图片专家组)2000被公知为这样一种编码方法,其中,在执行图像(数据)编码的情况下,通过对输入图像执行频带分割处理而生成的子带(频带)的系数被编码。JPEG (Joint Photographic Experts Group) 2000 is known as an encoding method in which, in the case of performing image (data) encoding, coefficients of subbands (bands) generated by performing band division processing on an input image are encoded .
在以JPEG 2000对图像进行编码的情况下,通过对输入图像执行小波变换而获得的小波系数被量化,并且对通过量化而获得的量化系数进一步进行熵编码(entropy encoding)。In the case of encoding an image in JPEG 2000, wavelet coefficients obtained by performing wavelet transformation on an input image are quantized, and entropy encoding is further performed on the quantized coefficients obtained by the quantization.
常规上,对于熵编码,执行被称作EBCOT(具有优化截断点的嵌入块编码,Embedded Block Coding with Optimized Truncation)的比特建模(bit modeling)和被称作MQ编码器的算术编码。也就是说,对量化系数进行比特建模,并且进一步对于每个比特平面基于多个编码路径进行算术编码。通过算术编码获得的代码作为已编码图像(数据)被输出(例如专利文献1)。Conventionally, for entropy coding, bit modeling called EBCOT (Embedded Block Coding with Optimized Truncation) and arithmetic coding called MQ coder are performed. That is, bit modeling is performed on the quantized coefficients, and arithmetic coding is further performed based on multiple coding paths for each bit plane. A code obtained by arithmetic coding is output as a coded image (data) (for example, Patent Document 1).
并且,在对通过JPEG 2000编码的图像进行解码的情况下,以与编码情况相反的过程执行处理。更具体地,对作为已编码图像数据的代码进行熵解码和逆量化(inverse quantization),并且对从而获得的量化系数进一步进行小波逆变换(wavelet inverse transform)。通过小波逆变换所获得的图像被输出作为已解码图像。Also, in the case of decoding an image encoded by JPEG 2000, processing is performed in the reverse procedure to that of the encoding case. More specifically, entropy decoding and inverse quantization are performed on codes that are encoded image data, and wavelet inverse transform is further performed on the quantized coefficients thus obtained. The image obtained by wavelet inverse transform is output as a decoded image.
【专利文献1】日本未审专利申请公开第2004-166254号[Patent Document 1] Japanese Unexamined Patent Application Publication No. 2004-166254
发明内容Contents of the invention
本发明要解决的问题The problem to be solved by the present invention
然而,通过上述技术,EBCOT和MQ编码器处的处理量很大,因此图像编码和解码无法以高速度轻松执行,并且例如在执行水平1920像素且垂直1080像素的高分辨率的HD(高清晰度)图像的实时编码(或解码)的情况下,已经具有对提供昂贵的专用硬件的需要。However, with the above techniques, the amount of processing at the EBCOT and MQ encoders is large, so image encoding and decoding cannot be easily performed at high speed, and, for example, when performing high-resolution HD (high-definition In the case of real-time encoding (or decoding) of images, there has been a need to provide expensive dedicated hardware.
因此,本发明的一个目的是提供一种编码装置和方法、解码装置和方法、以及传输系统,其中可以以更少的延迟来执行图像数据的压缩编码和解码以及已解码图像数据的输出。Accordingly, an object of the present invention is to provide an encoding device and method, a decoding device and method, and a transmission system in which compression encoding and decoding of image data and output of decoded image data can be performed with less delay.
解决该问题的手段means of solving the problem
根据本发明的第一方面的编码装置是用于对第二数据进行编码的编码装置,该第二数据由表示预定数值的多个第一数据组成,该编码装置包括:最大有效位数(maximum significant digit)输出部,其用于采取在由每个第一数据所表示的数值当中具有最大绝对值的数值的有效位数作为所述第一数据的最大有效位数,并且输出指示该最大有效位数的代码;绝对值输出部,其用于输出指示由第一数据所表示的数值的绝对值的代码;以及代码输出部,其用于输出指示由第一数据所表示的数值的符号的代码。An encoding device according to a first aspect of the present invention is an encoding device for encoding second data consisting of a plurality of first data representing predetermined numerical values, the encoding device comprising: a maximum effective number of bits (maximum significant digit) output section for taking, as the maximum significant digit of the first data, the significant digit of a numerical value having the largest absolute value among the numerical values represented by each first data, and outputting a value indicating the maximum significant digit a code of digits; an absolute value output section for outputting a code indicating the absolute value of the numerical value represented by the first data; and a code output section for outputting a code indicating the sign of the numerical value represented by the first data code.
该最大有效位数输出部可以输出指示最大有效位数是否已改变的代码,作为指示最大有效位数的代码。The most significant digit output section may output a code indicating whether or not the maximum significant digit has been changed as a code indicating the maximum significant digit.
在最大有效位数已改变的情况下,该最大有效位数输出部可以输出指示最大有效位数增大还是减小的代码,作为指示最大有效位数的代码。In a case where the maximum significant digit has been changed, the maximum significant digit output section may output a code indicating whether the maximum significant digit has increased or decreased as the code indicating the maximum significant digit.
最大有效位数输出部可以输出指示最大有效位数的改变量的代码。The maximum significant digit output section may output a code indicating a change amount of the maximum significant digit.
最大有效位数输出部可以输出指示连续排列的第一数据的最大有效位数的代码,并且输出指示从所述第一数据开始进一步连续排列的第一数据的最大有效位数的代码。The maximum significant digit output section may output a code indicating a maximum significant digit of first data arranged consecutively, and output a code indicating a maximum significant digit of first data further continuously arranged from the first data.
该绝对值输出部可以输出指示由该第一数据所表示的数值的从最低次序的数位到最大有效数位的值的代码,作为指示由第一数据所表示的数值的绝对值的代码。The absolute value output section may output a code indicating a value from the lowest-order digit to the most significant digit of the numerical value represented by the first data as the code indicating the absolute value of the numerical value represented by the first data.
该绝对值输出部可以并行输出指示由该第一数据所表示的数值的绝对值的代码。The absolute value output section may output codes indicating the absolute value of the numerical value represented by the first data in parallel.
根据本发明的第一方面的编码方法包括如下步骤:采取在由每个第一数据所表示的数值当中具有最大绝对值的数值的有效位数作为所述第一数据的最大有效位数,并且输出指示该最大有效位数的代码;输出指示由第一数据所表示的数值的绝对值的代码;以及输出指示由第一数据所表示的数值的符号的代码。The encoding method according to the first aspect of the present invention includes the steps of: taking the number of significant digits having the largest absolute value among the numerical values represented by each first data as the maximum significant number of digits of the first data, and outputting a code indicating the maximum significant number of digits; outputting a code indicating an absolute value of the numerical value represented by the first data; and outputting a code indicating a sign of the numerical value represented by the first data.
根据本发明的第二方面的解码装置是用于对第二数据进行解码的解码装置,该第二数据由表示预定数值的多个第一数据组成,该解码装置包括:最大有效位数输出部,其用于采取在由每个第一数据所表示的数值当中具有最大绝对值的数值的有效位数作为最大有效位数,对指示该第一数据的最大有效位数的代码进行解码,并且输出该最大有效位数;绝对值输出部,其用于对指示由第一数据所表示的数值的绝对值的代码进行解码,并且输出由第一数据所表示的数值的绝对值;代码输出部,其用于对指示由第一数据所表示的数值的符号的代码进行解码,并且输出指示由第一数据所表示的数值的符号的数据;以及数据输出部,用于基于最大有效位数、第一数据所表示的数值的绝对值、以及指示第一数据所表示的数值的符号的数据,输出第一数据。A decoding device according to a second aspect of the present invention is a decoding device for decoding second data composed of a plurality of first data representing predetermined numerical values, the decoding device including: a maximum significant digit output section for taking, as the maximum significant digit, the number of significant digits of the numerical value having the largest absolute value among the numerical values represented by each first data, decoding a code indicating the maximum significant digit of the first data, and outputting the most significant number of digits; an absolute value output section for decoding a code indicating an absolute value of a numerical value represented by the first data, and outputting an absolute value of a numerical value represented by the first data; a code output section for decoding the code indicating the sign of the numerical value represented by the first data, and outputting the data indicating the sign of the numerical value represented by the first data; and a data output section for based on the maximum significant number of digits, The absolute value of the numerical value represented by the first data and the data indicating the sign of the numerical value represented by the first data are output as the first data.
该最大有效位数输出部可以解码指示最大有效位数是否已改变的代码,作为指示最大有效位数的代码。The most significant digit output section may decode, as a code indicating the maximum significant digit, a code indicating whether or not the maximum significant digit has been changed.
在最大有效位数已改变的情况下,该最大有效位数输出部可以解码指示最大有效位数增大还是减小的代码、以及指示最大有效位数的改变量的代码,作为指示最大有效位数的代码,并且基于解码结果输出最大有效位数。In the case where the maximum significant digit has changed, the maximum significant digit output section may decode a code indicating whether the maximum significant digit has increased or decreased, and a code indicating the amount of change in the maximum significant digit, as an indication of the maximum significant digit number code, and output the maximum number of significant digits based on the decoding result.
最大有效位数输出部可以重复地执行以下处理:解码指示连续排列的第一数据的最大有效位数的代码,以及解码指示从所述第一数据开始进一步连续排列的第一数据的最大有效位数的代码。The most significant digit output section may repeatedly perform a process of decoding a code indicating a maximum significant digit of first data continuously arranged, and decoding a most significant digit of first data further continuously arranged from the first data. number code.
该绝对值输出部可以并行解码指示由该第一数据所表示的数值的绝对值的代码。The absolute value output section may decode a code indicating an absolute value of a numerical value represented by the first data in parallel.
根据本发明的第二方面的解码方法包括如下步骤:采取在由每个第一数据所表示的数值当中具有最大绝对值的数值的有效位数作为所述第一数据的最大有效位数,对指示该最大有效位数的代码进行解码,并且输出该最大有效位数;对指示由第一数据所表示的数值的绝对值的代码进行解码,并且输出由第一数据所表示的数值的绝对值;对指示由第一数据所表示的数值的符号的代码进行解码,并且输出指示由第一数据所表示的数值的符号的数据;以及基于最大有效位数、第一数据所表示的数值的绝对值、以及指示第一数据所表示的数值的符号的数据,输出第一数据。The decoding method according to the second aspect of the present invention includes the steps of: taking the number of significant digits having the largest absolute value among the numerical values represented by each first data as the maximum significant number of digits of the first data, for decoding the code indicating the maximum number of significant digits, and outputting the maximum number of significant digits; decoding the code indicating the absolute value of the numerical value represented by the first data, and outputting the absolute value of the numerical value represented by the first data ; Decode the code indicating the sign of the numerical value represented by the first data, and output data indicating the sign of the numerical value represented by the first data; and the absolute value of the numerical value represented by the first data based on the maximum significant digit value, and data indicating the sign of the numerical value represented by the first data, the first data is output.
根据本发明的第三方面的传输系统是这样一种传输系统,该传输系统包括:编码装置,其用于对第二数据进行编码,该第二数据由表示预定数值的多个第一数据组成;以及解码装置,其用于对已编码代码进行解码并且输出由第一数据组成的第二数据;该传输系统用于将该代码从编码装置传输到解码装置;其中该编码装置包括:第一最大有效位数输出部,其用于采取在由每个第一数据所表示的数值当中具有最大绝对值的有效位数作为最大有效位数,并且输出指示该最大有效位数的代码;第一绝对值输出部,其用于输出指示由第一数据所表示的数值的绝对值的代码;以及第一代码输出部,其用于输出指示由第一数据所表示的数值的符号的代码;并且其中该解码装置包括:第二最大有效位数输出部,其用于对已经从编码装置传输、并且指示由第一最大有效位数输出部所输出的最大有效位数的代码进行解码,并且输出该最大有效位数;第二绝对值输出部,其用于对已经从编码装置传输、并且指示由第一绝对值输出部所输出的绝对值的代码进行解码,并且输出该绝对值;第二代码输出部,其用于对已经从编码装置传输、并且指示由第一代码输出部所输出的符号的代码进行解码,并且输出指示该符号的代码;以及数据输出部,其用于基于从第二最大有效位数输出部输出的最大有效位数、从第二绝对值输出部输出的由第一数据所表示的数值的绝对值、以及从第二代码输出部输出、并且指示第一数据所表示的数值的符号的数据,输出第一数据。A transmission system according to a third aspect of the present invention is a transmission system comprising: encoding means for encoding second data consisting of a plurality of first data representing predetermined numerical values and a decoding device, which is used to decode the encoded code and output second data composed of the first data; the transmission system is used to transmit the code from the encoding device to the decoding device; wherein the encoding device includes: a first a maximum significant digit output section for taking, as a maximum significant digit, a significant digit having a maximum absolute value among numerical values represented by each first data, and outputting a code indicating the maximum significant digit; the first an absolute value output section for outputting a code indicating the absolute value of the numerical value represented by the first data; and a first code output section for outputting a code indicating the sign of the numerical value represented by the first data; and Wherein the decoding means comprises: a second most significant digit output section for decoding the code which has been transmitted from the encoding means and indicating the maximum significant digit output by the first maximum significant digit output section, and outputs the maximum significant number of digits; a second absolute value output section for decoding the code that has been transmitted from the encoding device and indicating the absolute value output by the first absolute value output section, and outputs the absolute value; the second a code output section for decoding a code that has been transmitted from the encoding device and indicating a symbol output by the first code output section, and outputting a code indicating the symbol; The maximum significant number of digits output by the most significant digit output section, the absolute value of the numerical value represented by the first data output from the second absolute value output section, and the output from the second code output section and indicating the first data Data representing the sign of the numeric value, output the first data.
通过本发明的第一方面,采取在由每个第一数据所表示的数值当中具有最大绝对值的有效位数作为所述第一数据的最大有效位数,并且输出指示该最大有效位数的代码;输出指示由第一数据所表示的数值的绝对值的代码;以及输出指示由第一数据所表示的数值的符号的代码。With the first aspect of the present invention, the number of significant digits having the largest absolute value among the numerical values represented by each first data is taken as the maximum significant number of digits of the first data, and a value indicating the maximum significant number of digits is output a code; outputting a code indicating an absolute value of the numerical value represented by the first data; and outputting a code indicating a sign of the numerical value represented by the first data.
通过本发明的第二方面,采取在由每个第一数据所表示的数值当中具有最大绝对值的有效位数作为最大有效位数,对指示该最大有效位数的代码进行解码,并且输出该最大有效位数;对指示由第一数据所表示的数值的绝对值的代码进行解码,并且输出由第一数据所表示的数值的绝对值;对指示由第一数据所表示的数值的符号的代码进行解码,并且输出指示由第一数据所表示的数值的符号的数据;以及基于最大有效位数、第一数据所表示的数值的绝对值、以及指示第一数据所表示的数值的符号的数据,输出第一数据。With the second aspect of the present invention, taking the significant digit having the largest absolute value among the numerical values represented by each first data as the maximum significant digit, decoding the code indicating the maximum significant digit, and outputting the the most significant number of digits; decoding the code indicating the absolute value of the numerical value represented by the first data, and outputting the absolute value of the numerical value represented by the first data; the code indicating the sign of the numerical value represented by the first data The code is decoded, and output data indicating the sign of the numerical value represented by the first data; and based on the maximum significant digit, the absolute value of the numerical value represented by the first data, and the data indicating the sign of the numerical value represented by the first data data, output the first data.
通过本发明的第三方面,在编码装置处,采取在由每个第一数据所表示的数值当中具有最大绝对值的有效位数作为最大有效位数,并且输出指示该最大有效位数的代码;输出指示由第一数据所表示的数值的绝对值的代码;以及输出指示由第一数据所表示的数值的符号的代码;并且在解码装置处,对从编码装置传输的并且指示最大有效位数的代码进行解码,并且输出该最大有效位数;对从编码装置传输的并且指示绝对值的代码进行解码,并且输出该绝对值;对已经从编码装置传输的并且指示符号的代码进行解码,并且输出指示该符号的数据;以及基于最大有效位数、绝对值、以及指示符号的数据,输出第一数据。According to the third aspect of the present invention, at the encoding device, the significant digit having the largest absolute value among the numerical values represented by each first data is taken as the maximum significant digit, and a code indicating the maximum significant digit is output ; outputting a code indicating the absolute value of the numerical value represented by the first data; and outputting a code indicating the sign of the numerical value represented by the first data; and at the decoding means, to the most significant bit transmitted from the encoding means Decode the code of the number and output the maximum significant number of digits; decode the code transmitted from the encoding device and indicate the absolute value, and output the absolute value; decode the code that has been transmitted from the encoding device and indicate the sign, and outputting data indicating the sign; and outputting first data based on the maximum significant number of digits, the absolute value, and the data indicating the sign.
本发明的优势Advantages of the invention
根据本发明的第一方面,可以对图像进行编码。特别地,根据本发明的第一方面,可以以更高的速度对图像进行编码。According to the first aspect of the present invention, an image can be encoded. In particular, according to the first aspect of the present invention, images can be encoded at a higher speed.
根据本发明的第二方面,可以对图像进行解码。特别地,根据本发明的第二方面,可以以更高的速度对图像进行解码。According to the second aspect of the present invention, an image can be decoded. In particular, according to the second aspect of the present invention, images can be decoded at a higher speed.
根据本发明的第三方面,可以以更高的速度在编码装置处对图像进行编码,并且可以以更高的速度在解码装置处对图像进行解码。According to the third aspect of the present invention, an image can be encoded at a higher speed at the encoding device, and an image can be decoded at a higher speed at the decoding device.
附图说明Description of drawings
图1是示出应用了本发明的图像编码装置的配置示例的框图。FIG. 1 is a block diagram showing a configuration example of an image encoding device to which the present invention is applied.
图2是用于描述子带的图。FIG. 2 is a diagram for describing subbands.
图3是示出要被编码的量化系数的示例的图。FIG. 3 is a diagram showing an example of quantization coefficients to be encoded.
图4是示出熵编码单元的配置示例的框图。Fig. 4 is a block diagram showing a configuration example of an entropy coding unit.
图5是用于描述编码处理的流程图。Fig. 5 is a flowchart for describing encoding processing.
图6是用于描述熵编码处理的流程图。Fig. 6 is a flowchart for describing entropy encoding processing.
图7是用于描述w集合编码处理的流程图。FIG. 7 is a flowchart for describing w-set encoding processing.
图8是示出图像解码装置的配置示例的框图。Fig. 8 is a block diagram showing a configuration example of an image decoding device.
图9是示出熵解码单元的配置示例的框图。Fig. 9 is a block diagram showing a configuration example of an entropy decoding unit.
图10是示出代码分割单元的配置示例的框图。Fig. 10 is a block diagram showing a configuration example of a code division unit.
图11是示出代码分割单元的配置示例的框图。Fig. 11 is a block diagram showing a configuration example of a code division unit.
图12是用于描述解码处理的流程图。Fig. 12 is a flowchart for describing decoding processing.
图13是用于描述熵解码处理的流程图。Fig. 13 is a flowchart for describing entropy decoding processing.
图14是用于描述w集合解码处理的流程图。Fig. 14 is a flowchart for describing w-set decoding processing.
图15是示出熵编码单元的另一配置示例的框图。Fig. 15 is a block diagram showing another configuration example of an entropy encoding unit.
图16是示出要被编码的量化系数的示例的图。Fig. 16 is a diagram showing an example of quantization coefficients to be encoded.
图17是用于描述w集合编码处理的流程图。Fig. 17 is a flowchart for describing w-set encoding processing.
图18是用于描述w集合解码处理的流程图。Fig. 18 is a flowchart for describing w-set decoding processing.
图19是示出应用了发明的图像编码装置的一个示例的配置的框图。Fig. 19 is a block diagram showing the configuration of one example of an image encoding device to which the invention is applied.
图20是用于示意性地描述小波变换的概要线图。Fig. 20 is an outline line diagram for schematically describing wavelet transform.
图21是用于示意性地描述小波变换的概要线图。Fig. 21 is an outline line diagram for schematically describing wavelet transform.
图22是用于示意性地描述在将提升(lifting)技术应用于5×3滤波器的情况下的小波变换的概要线图。FIG. 22 is an outline line diagram for schematically describing wavelet transform in the case of applying a lifting technique to a 5×3 filter.
图23是用于示意性地描述在将提升技术应用于5×3滤波器的情况下的小波变换的概要线图。FIG. 23 is an outline line diagram for schematically describing wavelet transform in the case of applying lifting technique to a 5×3 filter.
图24是用于示意性地描述一种示例的概要线图,其中在该示例中,执行通过5×3滤波器的提升而进行的滤波,直到分割级别=2。FIG. 24 is an outline line diagram for schematically describing an example in which filtering by lifting of a 5×3 filter is performed up to division level=2.
图25是用于示意性地描述根据本发明的小波变换和逆小波变换的流程的概要线图。Fig. 25 is an outline line diagram for schematically describing the flow of wavelet transform and inverse wavelet transform according to the present invention.
图26是用于描述编码处理的示例的流程图。Fig. 26 is a flowchart for describing an example of encoding processing.
图27是用于说明应用了本发明的图像解码装置的示例的框图。Fig. 27 is a block diagram for explaining an example of an image decoding device to which the present invention is applied.
图28是用于描述解码处理的示例的流程图。Fig. 28 is a flowchart for describing an example of decoding processing.
图29是用于示意性地描述应用了本发明的图像编码装置和图像解码装置的各组件的并行操作的概要线图。FIG. 29 is an outline line diagram for schematically describing parallel operations of components of an image encoding device and an image decoding device to which the present invention is applied.
图30是示出应用了本发明的图像编码装置的示例的配置的框图。Fig. 30 is a block diagram showing the configuration of an example of an image encoding device to which the present invention is applied.
图31是用于描述在图像编码装置侧执行小波系数的重布置处理的情况下的处理的流程的概要线图。FIG. 31 is an outline diagram for describing the flow of processing in the case where the rearrangement processing of wavelet coefficients is performed on the image encoding device side.
图32是用于描述在图像解码装置侧执行小波系数的重布置处理的情况下的处理的流程的概要线图。FIG. 32 is an outline diagram for describing the flow of processing in the case where the rearrangement processing of wavelet coefficients is performed on the image decoding device side.
图33是示出应用了本发明的图像编码装置的示例的配置的框图。Fig. 33 is a block diagram showing the configuration of an example of an image encoding device to which the present invention is applied.
图34是示出应用了本发明的图像解码装置的示例的配置的框图。Fig. 34 is a block diagram showing the configuration of an example of an image decoding device to which the present invention is applied.
图35是用于描述已编码数据如何被交换的示例的示意图。Fig. 35 is a diagram for describing an example of how encoded data is exchanged.
图36是示出分组(packet)的配置示例的图。FIG. 36 is a diagram showing a configuration example of a packet.
图37是示出应用了本发明的数字三轴(triax)系统的示例的配置的框图。FIG. 37 is a block diagram showing the configuration of an example of a digital triax system to which the present invention is applied.
图38是示出应用了本发明的无线传输系统的示例的配置的框图。Fig. 38 is a block diagram showing the configuration of an example of a wireless transmission system to which the present invention is applied.
图39是示出应用了本发明的家用游戏机的示例的配置的图。FIG. 39 is a diagram showing the configuration of an example of a home game machine to which the present invention is applied.
图40是示出应用了本发明的信息处理系统的配置示例的图。Fig. 40 is a diagram showing a configuration example of an information processing system to which the present invention is applied.
附图标记reference sign
11图像编码装置11 image coding device
23熵编码单元23 entropy coding units
61行确定单元
62VLC编码单元62 VLC coding units
63最大有效位数计算单元63 maximum significant digit calculation unit
64VLC编码单元64 VLC coding units
65有效数位提取单元65 effective digit extraction unit
66VLC编码单元66 VLC coding units
67符号提取单元67 symbol extraction units
68VLC编码单元68 VLC coding units
111图像解码装置111 image decoding device
151代码分割单元151 code segmentation unit
152行确定单元152 lines to determine the unit
154VLC解码单元154VLC decoding unit
155VLC解码单元155VLC decoding unit
156VLC解码单元156VLC decoding unit
301缓冲器301 buffer
401图像编码装置401 image coding device
410小波变换单元410 wavelet transform unit
411中途计算缓冲器单元411 midway calculation buffer unit
412系数重布置缓冲器单元412 Coefficient Rearrangement Buffer Units
413系数重布置单元413 Coefficient Rearrangement Unit
414速率控制单元414 rate control unit
415熵编码单元415 entropy coding units
420图像解码装置420 image decoding device
421熵解码单元421 entropy decoding unit
422系数缓冲器单元422 Coefficient Buffer Units
423小波逆变换单元423 wavelet inverse transform unit
430图像编码装置430 image coding device
431编码重布置缓冲器单元431 Coded Rearrangement Buffer Unit
432编码重布置单元432 Code Rearrangement Unit
500传输单元500 transfer units
501三轴线缆501 triaxial cable
502摄影机控制单元502 Camera Control Unit
510视频信号编码单元510 video signal encoding unit
511视频信号解码单元511 video signal decoding unit
526视频信号解码单元526 video signal decoding unit
527视频信号编码单元527 video signal encoding units
600传输单元600 transfer units
601接收装置601 receiving device
602视频信号编码单元602 video signal coding unit
612无线模块单元612 wireless module unit
621无线模块单元621 wireless module unit
624视频信号解码单元624 video signal decoding unit
700摄像机装置700 camera installation
701家用游戏机主单元701 home game console main unit
具体实施方式Detailed ways
图1是示出应用了本发明的图像编码装置的示例的配置的框图。FIG. 1 is a block diagram showing the configuration of an example of an image encoding device to which the present invention is applied.
图像编码装置11具有小波变换单元21、量化单元22、和熵编码单元23。The
例如,充当已在必要时进行直流电平平移的分量信号的图像(数据)被输入到小波变换单元21。小波变换单元21对输入图像进行小波变换,并且将图像分割成多个子带。小波变换单元21将通过小波变换而获得的子带的小波系数提供给量化单元22。For example, an image (data) serving as a component signal that has been subjected to DC level shifting as necessary is input to the wavelet transform unit 21 . The wavelet transformation unit 21 performs wavelet transformation on an input image, and divides the image into a plurality of subbands. The wavelet transform unit 21 supplies the wavelet coefficients of the subbands obtained by the wavelet transform to the quantization unit 22 .
量化单元22量化从小波变换单元21提供的小波系数,并且将作为其结果而获得的量化系数提供给熵编码单元23。The quantization unit 22 quantizes the wavelet coefficient supplied from the wavelet transform unit 21 , and supplies the quantized coefficient obtained as a result thereof to the
熵编码单元23对从量化单元22提供的量化系数进行熵编码,并且将如此获得的编码输出作为已编码图像(数据)。在进行速率控制处理之后,从熵编码单元23输出的图像例如可以被分组化并被记录,或者被提供给连接到图像编码装置11的其他装置(未示出)。The
接下来,将参考图2和图3描述通过图1中的熵编码单元23执行的熵编码。Next, entropy encoding performed by the
例如,如图2所示,由六行即行L1到L6配置一个子带,并且将对应于xy坐标系中的行上的像素的位置作为(x,y)。现在,在每个行的图中,取左端位置的x坐标为0,并且取行L1的y坐标为0。For example, as shown in FIG. 2 , one subband is configured by six lines, lines L1 to L6 , and the positions of pixels corresponding to the lines in the xy coordinate system are taken as (x, y). Now, in the plot of each row, take the x-coordinate of the left end position as 0, and take the y-coordinate of row L1 as 0.
以光栅扫描次序从行L1到行L6从量化单元22向熵编码单元23输入比特平面表达中的、并且在子带的每个位置(x,y)处的量化系数。Quantization coefficients in the bit-plane representation and at each position (x, y) of the subband are input from the quantization unit 22 to the
换言之,首先,对应于行L1的左端坐标(0,0)的量化系数被输入到熵编码单元23。接着,对应于坐标(0,0)的在右边相邻的坐标(1,0)的量化系数被输入到熵编码单元23,并且对应于与其中已经输入了量化系数的坐标相邻的坐标的量化系数被顺序地输入到熵编码单元23,直到行L1的右端的坐标。在行L1上的坐标的所有量化系数都被输入时,从行L2(0,1)的左端上的坐标顺序地到右端上的坐标,对应于行L2上的每个坐标的量化系数被输入到熵编码单元23,并且相似地,从行L3到行L6,对应于每行上的坐标的量化系数被输入到熵编码单元23。In other words, first, the quantization coefficient corresponding to the left end coordinate (0, 0) of the line L1 is input to the
例如,在图3中,如在该图的左上所示的,在十二个量化系数以从图2中的行L1的左端上的坐标开始的次序被输入到熵编码单元23时,熵编码单元23以事先确定的预定数量w(在图3中w=4)为增加来对量化系数进行编码。For example, in FIG. 3, as shown on the upper left of the figure, when twelve quantized coefficients are input to the
现在,在图3中的左上图示的量化系数被各自表达为其代码的绝对值被分割为二进制数字(比特平面表达)的方式,并且通过图3中示出的示例,一行(图2中的行L1)的量化系数“-0101”、“+0011”、“-0110”、“+0010”、“+0011”、“+0110”、“0000”、“-0011”、“+1101”、“-0100”、“+0111”、以及“-1010”依次被输入到熵编码单元23中。Now, the quantized coefficients illustrated on the upper left in FIG. 3 are each expressed in such a manner that the absolute value of its code is divided into binary digits (bit-plane expression), and by the example shown in FIG. 3, one row (in FIG. 2 The quantization coefficients "-0101", "+0011", "-0110", "+0010", "+0011", "+0110", "0000", "-0011", "+1101" of the row L1) , “-0100”, “+0111”, and “-1010” are input into the
每个量化系数由被表达为“+”(正)或“-”(负)的量化系数代码(此后称为量化系数的符号(Sign))、以及以二进制表达的量化系数的绝对值组成。在图3中,在表示量化系数的绝对值的每个数位的值的比特当中,在图中最上侧的比特表示最高次序比特(最高次序数位的比特)。因此对于量化系数“-0101”,其符号为“-”,并且以二进制表达的绝对值是“0101”,因此该量化系数的十进制表示是“-5”。Each quantization coefficient is composed of a quantization coefficient code expressed as "+" (positive) or "-" (negative) (hereinafter referred to as a sign (Sign) of the quantization coefficient), and an absolute value of the quantization coefficient expressed in binary. In FIG. 3 , among the bits representing the value of each digit of the absolute value of the quantization coefficient, the uppermost bit in the figure represents the highest-order bit (bit of the highest-order digit). Therefore, for the quantization coefficient "-0101", its sign is "-", and the absolute value expressed in binary is "0101", so the decimal representation of the quantization coefficient is "-5".
首先,熵编码单元23确定一个输入行的量化系数(的绝对值)是否全部为0,并且根据其确定结果,输出一个代码,该代码指示是否要被编码的行的全部量化系数为0。在确定量化系数全部为0的情况下,熵编码单元23输出0,作为指示是否该行的全部量化系数为0的代码,并且结束对当前被执行的该行的量化系数的编码。并且,在确定并非全部量化系数的值为0的情况下(并非只存在为0的量化系数),熵编码单元23输出1,作为指示是否该行的全部量化系数为0的代码。First, the
在图中的左上示出的这十二个量化系数被输入的情况下,被输入的行的量化系数可变延迟不仅是0,因此熵编码单元23输出1作为代码,如图中右上所示的。In the case where these twelve quantized coefficients shown on the upper left in the figure are input, the variable delay of the quantized coefficients of the input row is not only 0, so the
在指示量化系数并非都为0的代码1被输出作为指示是否该行的全部量化系数为0的代码时,接着,熵编码单元23对第一的四个(w个)输入的量化系数“-0101”、“+0011”、“-0110”、和“+0010”执行编码。When the
熵编码单元23比较此次输入的四个连续量化系数的最大有效位数(图3中的变量B的值)与前次(输入的)编码的四个(w个)量化系数的最大有效位数,确定最大有效位数是否已改变,并且输出指示量化系数的最大有效位数的代码。The
现在,最大有效位数是要被共同编码的四个(w个)量化系数当中具有最大值的量化系数的最大有效位数。换言之,最大有效位数指示,对于四个量化系数中具有最大绝对值的量化系数,最高次序的1位于哪个数位。从而,要被共同编码的四个量化系数“-0101”、“+0011”、“-0110”、和“+0010”的最大有效位数例如是“3”,其是对于具有最大绝对值的量化系数“-0110”,最高次序的1所位于的数位。Now, the maximum significant number of bits is the maximum significant number of bits of the quantization coefficient having the largest value among four (w) quantization coefficients to be commonly encoded. In other words, the maximum significant digit indicates at which digit the highest-
并且,指示量化系数的最大有效位数的代码是由以下代码组成的:指示最大有效位数是否已经改变的代码、指示最大有效位数增大还是减小的代码、以及指示最大有效位数的改变量的代码,并且在最大有效位数没有改变的情况下,不输出指示最大有效位数增大还是减小的代码和指示最大有效位数的改变量的代码。And, the code indicating the maximum significant digit of the quantization coefficient is composed of a code indicating whether the maximum significant digit has been changed, a code indicating whether the maximum significant digit has been increased or decreased, and a code indicating the maximum significant digit The code of the change amount, and in the case that the maximum significant digit has not changed, the code indicating whether the maximum significant digit has increased or decreased and the code indicating the change amount of the maximum significant digit are not output.
在最大有效位数已经改变的情况下,从最大有效位数的比较结果中,熵编码单元23输出指示最大有效位数已经改变的代码1,并且在最大有效位数没有改变的情况下,输出指示最大有效位数没有改变的代码0。From the comparison result of the maximum significant digits, the
并且,关于对最大有效位数是否已经改变的确定,在四个量化系数第一次被输入的情况下,即在输入要被编码的子带的第一个量化系数的情况下(例如,在四个量化系数从左开始以图2中的行L1的次序被输入的情况下),并没有先前编码子带的量化系数,因此先前编码的四个(w个)量化系数的最大有效位数被设定为0。And, regarding the determination of whether the maximum significant number of digits has been changed, in the case where four quantization coefficients are input for the first time, that is, in the case of inputting the first quantization coefficient of a subband to be encoded (for example, in In the case where four quantization coefficients are input from the left in the order of line L1 in FIG. is set to 0.
因此,熵编码单元23比较此次输入的四个量化系数“-0101”、“+0011”、“-0110”、和“+0010”的最大有效位数3和前次编码的四个量化系数的最大有效位数0,并且输出代码1,这是因为最大有效位数已经改变。Therefore, the
并且,熵编码单元23在指示最大有效位数已改变的代码1之后,输出指示最大有效位数是增大还是减小的代码。在此,熵编码单元23在最大有效位数增大的情况下输出0,在最大有效位数减小的情况下输出1。And, the
前一最大有效位数为0,并且当前最大有效位数为3,因此如图中右上所示,熵编码单元23输出代码0,其指示最大有效位数增大。The previous maximum significant digit is 0, and the current maximum significant digit is 3, so as shown in the upper right of the figure, the
进而,在输出指示最大有效位数增大还是减小的代码时,熵编码单元23输出指示最大有效位数增大或减小了多少的代码,即指示最大有效位数的改变量的代码。具体地,对于最大有效位数的改变量(即增大量或减小量)作为n,熵编码单元23输出(n-1)个代码0,并且在这些0之后输出代码1。Furthermore, when outputting the code indicating whether the maximum significant digit has increased or decreased, the
在对图3所示的第一的四个量化系数进行编码的情况下,最大有效位数的改变量为3(=3-0),因此熵编码单元23输出两个(=3-1)0,进而输出1,作为代码。In the case of encoding the first four quantized coefficients shown in FIG. 3, the change amount of the maximum significant number of bits is 3 (=3-0), so the
接着,熵编码单元23输出用于指示要在此次编码的四个(w个)量化系数中的每一个的绝对值的最大有效位数的代码。也就是说,熵编码单元23关于每个量化系数,从由最大有效位数所指示的有效位数中的最大数位开始依次到最小的数位,输出指示该量化系数的绝对值的每个数位的值的代码。Next, the
此次要被编码的量化系数为“-0101”、“+0011”、“-0110”、和“+0010”,因此熵编码单元23首先输出用于指示首先输入的量化系数“-0101”的绝对值的最大有效位数的代码。在此,最大有效位数为3,因此熵编码单元23输出由量化系数“-0101”的最大有效位数所指示的有效位数中的最大数位(即第三个数字)的值“1”、最大数位之下一个的数位(第二个数位)的值“0”、以及最低次序数位的值“1”。因而,输出指示量化系数“-0101”的绝对值的有效位数的代码“101”。The quantization coefficients to be encoded this time are "-0101", "+0011", "-0110", and "+0010", so the
以相同方式,对于指示量化系数“+0011”、“-0110”、和“+0010”的绝对值的有效位数,熵编码单元23依次输出代码“011”、“110”、以及“010”。因此,输出“101011110010”作为指示“-0101”、“+0011”、“-0110”、和“+0010”中的每一个的绝对值的最大有效位数的代码。因而,熵编码单元23输出长度与要被编码的四个量化系数的最大有效位数相对应的代码,作为指示量化系数的绝对值的代码。In the same manner, the
最终,熵编码单元23输出指示绝对值不为0的四个(w个)量化系数中的每一个的符号的代码。现在,在量化系数的符号为“+”(正)的情况下,熵编码单元23输出该代码0,并且在量化系数的符号为“-”(负)的情况下,输出该代码1。Finally, the
此次要被编码的量化系数是“-0101”、“+0011”、“-0110”、和“+0010”,并且这些量化系数的符号依次是负、正、负、正,因此如图中的右上所示,熵编码单元23输出“1010”,作为指示每个量化系数的符号的代码。The quantized coefficients to be encoded this time are "-0101", "+0011", "-0110", and "+0010", and the signs of these quantized coefficients are negative, positive, negative, and positive in turn, so as shown in the figure As shown in the upper right of , the
在对首次输入的四个量化系数被编码时,熵编码单元23接着对之后的连续的四个量化系数“+0011”、“+0110”、“0000”、和“-0011”进行编码。When the four quantized coefficients input for the first time are encoded, the
以与对首次(前次)输入的量化系数编码的情况相同的方式,熵编码单元23首先比较此次新输入的四个(w个)量化系数的最大有效位数和前次编码的四个(w个)量化系数的最大有效位数。In the same manner as in the case of encoding the quantization coefficients input for the first time (previous time), the
此次输入的四个(w个)量化系数“+0011”、“+0110”、“0000”、和“-0011”的最大有效位数为“3”,其是对于具有最大绝对值的量化系数“+0110”,最高次序的1所位于的数位,并且这与前次编码的量化系数的最大有效位数相同,因此熵编码单元23输出代码0,其指示最大有效位数没有改变。The maximum significant number of digits of the four (w) quantization coefficients "+0011", "+0110", "0000", and "-0011" input this time is "3", which is for quantization with the largest absolute value The coefficient "+0110", the digit at which the highest-
接着,熵编码单元23输出代码“011110000011”,其中指示此次要被编码的四个(w个)量化系数“+0011”、“+0110”、“0000”、和“-0011”中的每一个的绝对值的最大有效位数的代码“011”、“110”、“000”、和“011”被依次排列。Next, the
在指示量化系数的绝对值的代码已被输出时,熵编码单元23输出指示绝对值不为0的四个(w个)量化系数中的每一个的符号的代码。When the code indicating the absolute value of the quantization coefficient has been output, the
此次要被编码的量化系数是“+0011”、“+0110”、“0000”、和“-0011”,并且第三个量化系数“0000”的绝对值为0,因此熵编码单元23输出代码“001”,其指示非0的这些量化系数“+0011”、“+0110”、和“-0011”的符号(正、正、负)。The quantization coefficients to be encoded this time are "+0011", "+0110", "0000", and "-0011", and the absolute value of the third quantization coefficient "0000" is 0, so the
在四个量化系数“+0011”、“+0110”、“0000”、和“-0011”被编码时,熵编码单元23接着对之后的连续的四个量化系数“+1101”、“-0100”、“+0111”、和“-0101”进行编码。When the four quantized coefficients "+0011", "+0110", "0000", and "-0011" are encoded, the
熵编码单元23首先比较此次新输入的四个(w个)量化系数的最大有效位数和前次编码的四个量化系数的最大有效位数。The
此次输入的四个(w个)量化系数“+1101”、“-0100”、“+0111”、和“-0101”的最大有效位数为“4”,其是对于具有最大绝对值的量化系数“+1101”,最高次序的1所位于的数位,并且这与前次编码的量化系数的最大有效位数“3”不同,因此熵编码单元23输出代码1,其指示最大有效位数已改变。The maximum significant number of digits of the four (w) quantization coefficients "+1101", "-0100", "+0111", and "-0101" input this time is "4", which is for the The quantization coefficient "+1101", the digit at which the highest-
并且,先前的最大有效位数为3,并且此次的最大有效位数为4,因此熵编码单元23输出代码0,指示最大有效位数增大,如图中右侧所示。And, the previous maximum significant digit was 3, and this time the maximum significant digit is 4, so the
进而,熵编码单元23输出指示最大有效位数增大了多少的代码。在这种情况下,最大有效位数的改变量是1(=4-3),因此熵编码单元输出0(=1-1)个零,并且还输出1(即输出代码1)。Furthermore, the
接着,熵编码单元23输出代码“1101010001111010”,其中指示此次要被编码的四个(w个)量化系数“+1101”、“-0100”、“+0111”、和“-1010”中的每一个的绝对值的最大有效位数的代码“1101”、“0100”、“0111”、和“1010”被依次排列。Next, the
在输出了指示量化系数的绝对值的代码时,熵编码单元23输出指示量化系数非0的四个(w个)量化系数中的每一个的符号的代码。When the code indicating the absolute value of the quantization coefficient is output, the
此次要被编码的量化系数是“+1101”、“-0100”、“+0111”、和“-1010”,并且这些量化系数的符号依次为正、负、正、负,因此如图中右下所示,熵编码单元23输出“0101”作为指示每个量化系数的符号的代码。The quantized coefficients to be coded this time are "+1101", "-0100", "+0111", and "-1010", and the signs of these quantized coefficients are positive, negative, positive, and negative in turn, so as shown in the figure As shown on the lower right, the
熵编码单元23如此对连续的预定数量(w个)的输入量化系数进行编码。因而,在从熵编码单元23输出指示是否要被编码的行的全部量化系数为0的代码,并且输出指示并非该行的所有量化系数为0的代码时,接着,输出指示w个量化系数的最大有效位数的代码、指示w个量化系数的绝对值(比特平面表达)的代码、以及指示量化系数的符号的代码。The
对于指示这些w个量化系数的最大有效位数的代码、指示w个量化系数的绝对值的代码、以及指示量化系数的符号的代码,重复地输出指示下一w个量化系数的最大有效位数的代码、指示w个量化系数的绝对值的代码、以及指示量化系数的符号的代码,直到该行的全部量化系数都被编码。For the codes indicating the maximum significant digits of these w quantization coefficients, the codes indicating the absolute values of the w quantization coefficients, and the codes indicating the signs of the quantization coefficients, the maximum significant digits indicating the next w quantization coefficients are repeatedly output A code indicating the absolute value of the w quantized coefficients, and a code indicating the sign of the quantized coefficients until all the quantized coefficients of the row are coded.
现在,已经描述了量化系数以光栅扫描次序被编码,但是量化系数被编码的次序不必是光栅扫描次序。例如,在图2所示的子带的量化系数被编码的情况下,可以进行这样一种布置,其中处于位置(0,0)、(0,1)、(0,2)、和(0,3)(即,在行L1到L4中每一行的图中的左端的位置)的量化系数被编码,接着,处于位置(1,0)、(1,1)、(1,2)、和(1,3)的量化系数被编码,依此类推,图中垂直对准的四个位置处的量化系数被采用作为w个量化系数,并且每次w个地依次被编码。Now, it has been described that quantization coefficients are encoded in raster scan order, but the order in which quantization coefficients are encoded is not necessarily raster scan order. For example, in the case where the quantized coefficients of the subbands shown in FIG. 2 are coded, an arrangement may be made in which positions (0, 0), (0, 1), (0, 2), and (0 , 3) (i.e., at the position at the left end of the figure for each of the lines L1 to L4) are coded, and then, at positions (1,0), (1,1), (1,2), The quantized coefficients of and (1, 3) are encoded, and so on, the quantized coefficients at four positions vertically aligned in the figure are adopted as w quantized coefficients, and are sequentially encoded w one at a time.
图1中所示的执行诸如上述的处理的熵编码单元23更详细地被配置为如图4所示。The
熵编码单元23包括行确定单元61、VLC(可变长度代码)编码单元62、最大有效位数计算单元63、VLC编码单元64、有效数位提取单元65、VLC编码单元66、符号提取单元67、VLC编码单元68、以及代码链接单元69。The
从量化单元22(图1)输出的量化系数被提供(输入)到行确定单元61、最大有效位数计算单元63、有效数位提取单元65、以及符号提取单元67。Quantization coefficients output from the quantization unit 22 ( FIG. 1 ) are supplied (input) to the
行确定单元61确定是否从量化单元22输入的要被编码的一行的全部量化系数都是0,并且将指示确定结果的信息提供给VLC编码单元62。The
基于指示由行确定单元61作出的判断的结果的信息,VLC编码单元62向代码链接单元69输出代码,该代码指示是否要被编码的该行的全部量化系数都是0。Based on the information indicating the result of the judgment made by the
最大有效位数计算单元63计算从量化单元22输入的w个连续量化系数的最大有效位数,并且将指示其计算结果的信息提供给VLC编码单元64和有效数位提取单元65。The maximum significant
基于指示来自最大有效位数计算单元63的计算结果的信息,VLC编码单元64将指示w个量化系数的最大有效位数的代码提供给代码链接单元69。Based on the information indicating the calculation result from the maximum significant
基于指示来自最大有效位数计算单元63的计算结果的信息,有效数位提取单元65提取从量化单元22提供的w个量化系数的有效数位,并且将所提取的量化系数的有效数位(的数据)提供给VLC编码单元66和符号提取单元67。Based on the information indicating the calculation result from the maximum significant
VLC编码单元66基于来自有效数位提取单元65的量化系数的有效数位对这些量化系数的绝对值进行编码,并且将从而获得的量化系数的绝对值提供给代码链接单元69。The
符号提取单元67基于来自有效数位提取单元65的量化系数的有效数为提取从量化单元22提供的量化系数的符号,并且将所提取的符号(的数据)提供给VLC编码单元68。The
VLC编码单元68对从符号提取单元67提供的所提取的符号(的数据)进行编码,并且将指示从而获得的量化系数的符号的代码提供给代码链接单元69。The
代码链接单元69链接分别从VLC编码单元62、VLC编码单元64、VLC编码单元66、以及VLC编码单元68提供的指示是否该行的全部量化系数都为0的代码、指示最大有效位数的代码、指示量化系数的绝对值的代码、以及指示量化系数的符号的代码,并且将它们输出作为已编码图像(数据)。The
接着,将参考图5中的流程图描述图像编码装置11(图1)的编码处理。此编码处理在要被编码的图像(数据)被输入到小波变换单元21时开始。Next, encoding processing by the image encoding device 11 ( FIG. 1 ) will be described with reference to the flowchart in FIG. 5 . This encoding process starts when an image (data) to be encoded is input to the wavelet transform unit 21 .
在步骤S11中,小波变换单元21使输入图像进行小波变换,将输入图像分割成多个子带,并且将每个子带的小波系数提供给量化单元22。In step S11 , the wavelet transformation unit 21 subjects the input image to wavelet transformation, divides the input image into a plurality of subbands, and supplies the wavelet coefficient of each subband to the quantization unit 22 .
在步骤S12中,量化单元22对从小波变换单元21提供的小波系数进行量化,并且将作为其结果获得的量化系数提供给熵编码单元23。因而,例如在已经参考图3所描述的比特平面表达中的子带中的每个位置的量化系数被输入到熵编码单元23。In step S12 , the quantization unit 22 quantizes the wavelet coefficients supplied from the wavelet transform unit 21 , and supplies the quantized coefficients obtained as a result thereof to the
在步骤S13中,熵编码单元23执行熵编码处理,并且结束编码处理。虽然将在之后描述熵编码处理的细节,在参照图3所描述的熵编码处理中,熵编码单元23一次对从量化单元22提供的连续的预定数量的(w个)量化系数进行编码,并且作为已编码图像(数据)输出指示是否要被编码的该行的全部量化系数都为0的代码、指示w个量化系数的最大有效位数的代码、指示量化系数的绝对值的代码、以及指示量化系数的符号的代码。In step S13, the
因而,图像编码装置11编码并且输出该输入图像。Thus, the
接着,将参照图6描述对应于图5中的步骤S13中的处理的熵编码处理。Next, entropy encoding processing corresponding to the processing in step S13 in FIG. 5 will be described with reference to FIG. 6 .
在图5中的步骤S12中,从量化单元22输出的量化系数被提供(输入)到熵编码单元23(图4)的行确定单元61、最大有效位数计算单元63、有效数位提取单元65、以及符号提取单元67。In step S12 in FIG. 5, the quantization coefficient output from the quantization unit 22 is supplied (input) to the
在步骤S41中,行确定单元61取指示现在要被编码的子带的行的变量y作为y=0,并且将其存储。In step S41, the
例如,在对图2中所示的子带的量化系数进行编码的情况下,行确定单元61取指示这些行(行L1到行L6)的变量y作为y=0。注意,由变量y指示的行y指示子带的行上的每个位置(x,y)上的y坐标为y的行。因此,在行确定单元61所存储的变量y例如是y=0的情况下,由变量指示的行成为行上的每个位置上的y坐标为0的行L1。For example, in the case of encoding the quantized coefficients of the subbands shown in FIG. 2 , the
在步骤S42中,最大有效位数计算单元63取指示行确定单元61中所存储的变量y所指示的行y之前一行(y-1)上的首先输入的w个量化系数的最大有效位数的变量Binit作为Binit=0,并且将其存储。In step S42, the maximum significant
例如,在行(y-1)是图2中所示的L1的情况下,指示在行(y-1)上的首先输入的w个量化系数的最大有效位数的变量Binit的值是来自图中的行L1的左边缘的w个量化系数、即位置(0,0)、(1,0)、...、(w-1,0)处的w个量化系数的最大有效位数。并且,在存储在行确定单元61中的变量y是y=0的情况下,行(y-1)不存在,因此变量Binit的值为Binit=0。For example, in the case where row (y-1) is L1 shown in FIG. 2 , the value of the variable Binit indicating the maximum number of significant digits of w quantization coefficients input first on row (y-1) is obtained from The w quantized coefficients at the left edge of line L1 in the figure, that is, the maximum significant digits of the w quantized coefficients at positions (0, 0), (1, 0), ..., (w-1, 0) . And, when the variable y stored in the
在步骤S43中,行确定单元61确定由其中存储的变量y所指示的行y的量化系数(的绝对值)是否全为0。例如,在行y是图2中所示的行L1的情况下,行确定单元61在行L1上的位置(x,y)处的全部量化系数为0的情况下确定所有量化系数为0。In step S43 , the
在步骤S43中确定量化系数全都为0的情况下,行确定单元61生成含义是所有量化系数全部为0的信息,并且将其提供给VLC编码单元62和最大有效位数计算单元63,并且流程进行到步骤S44。In the case where it is determined in step S43 that the quantization coefficients are all 0, the
在步骤S44中,基于来自行确定单元61的含义为所有量化系数全部为0的信息,VLC编码单元62将指示要被编码的行的所有量化系数都为0的代码0输出(提供)到代码链接单元69。代码链接单元69取从VLC编码单元62提供的代码0,并且将其不作改变地输出,充当作为行y的量化系数的编码结果而获得的代码。In step S44, based on the information from the
在步骤S45中,基于来自行确定单元61的含义为全部量化系数都为0的信息,最大有效位数计算单元63将其中存储的变量Binit的值设定为Binit=0,并且更新该变量Binit。In step S45, based on information from
在步骤S46中,行确定单元61确定在被编码的子带的各行中是否有任何未处理的行。也就是说,行确定单元61确定是否被编码的子带的所有行的量化系数都已被编码。例如,在对图2中所示的子带的量化系数进行编码的情况下,在行L1到L6上的全部位置上的量化系数已全部被编码的时刻,行确定单元61确定不存在未处理的行。In step S46, the
在步骤S46中确定存在未处理的行的情况下,行确定单元61使流程进行到步骤S47,以对下一行、即行(y+1)上的每个位置处的量化系数进行编码。In a case where it is determined in step S46 that there is an unprocessed line, the
在步骤S47中,行确定单元61通过y=y+1使指示所存储的行的变量y增加,使流程返回到步骤S43,并且再次执行上述的后续处理。In step S47, the
相反,在步骤S46中确定没有未处理的行的情况下,组成该子带的全部行的量化系数都已被编码,并且因此行确定单元61结束该熵编码处理,流程返回到图5中的步骤S13,并且编码处理结束。On the contrary, in the case where it is determined in step S46 that there are no unprocessed lines, the quantized coefficients of all the lines constituting the subband have been encoded, and therefore the
并且,在图6的步骤S43中确定行y的量化系数不都是0(存在非0的量化系数)的情况下,行确定单元61生成含义是量化系数并不都是0(存在非0的量化系数)的信息,将其提供VLC编码单元62和最大有效位数计算单元63,并且使流程进行到步骤S48。And, when it is determined in step S43 of FIG. 6 that the quantized coefficients of row y are not all 0 (there are non-zero quantized coefficients), the
在步骤S48中,基于来自行确定单元61的含义是量化系数不都是0的信息,VLC编码单元62将指示要被编码的行的量化系数不都是0的代码1输出(提供)到代码链接单元69。In step S48, based on the information from the
在步骤S49中,基于来自行确定单元61的含义是全部量化系数都为0的信息,最大有效位数计算单元63将变量x的值设定为x=0,并且存储该变量x,其中该变量x指示现在要被编码的w个量化系数中要被输入的第一个量化系数的行y上的位置的x坐标。In step S49, based on the information from
例如,在行y是图2中所示的行L1的情况下,最大有效位数计算单元63所存储的变量x的值指示在要被编码的行L1上的w个连续位置(x,0)、(x+1,0)、...(x+w-1,0)中的位于最远的左上位置(x,0)的x坐标。For example, in the case where the line y is the line L1 shown in FIG. 2, the value of the variable x stored by the maximum significant
并且,在步骤S49中,最大有效位数计算单元63将变量B的值设定为B=Binit,并且存储变量B,其中该变量B指示前次编码的w个量化系数的最大有效位数。也就是说,最大有效位数计算单元63更新变量B的值,作为存储在其中的变量Binit的值,并且存储所更新的变量B的值。And, in step S49, the maximum significant
在更新变量B的值时,最大有效位数计算单元63将指示已更新的变量B的值(最大有效位数)的信息提供给VLC编码单元64和有效数位提取单元65。并且,VLC编码单元64和有效数位提取单元65各自存储从最大有效位数计算单元63提供的变量B的值。When updating the value of variable B, maximum significant
在步骤S50中,熵编码单元23执行w集合编码处理。虽然之后将描述w集合编码处理的细节,在w集合编码处理中,熵编码单元23对存储在行确定单元61中的变量y所指示的行y上的w个连续量化系数进行编码。In step S50, the
现在,通过将存储在行确定单元61中的变量y和存储在最大有效位数计算单元63中的变量x所标识的行y上的位置作为(x,y),行y的w个连续位置是行y上的连续位置(x,y)、(x+1,y)、...、(x+w-1,y)。也就是说,在w集合编码处理中,熵编码单元23对位置(x,y)、(x+1,y)、....、(x+w-1,y)中的每个位置处的量化系数进行编码。Now, by taking the position on the line y identified by the variable y stored in the
在步骤S51中,最大有效位数计算单元63确定是否在行y上存在未处理的量化系数。也就是说,最大有效位数计算单元63确定是否存储在行确定单元61中的变量y所指示的行y上的位置处的全部量化系数都已被编码。In step S51, the maximum significant number of
在步骤S51中确定在行y上存在未处理的量化系数的情况下,最大有效位数计算单元63使流程前进到步骤S52,以对下一w个量化系数进行编码。In a case where it is determined in step S51 that there are unprocessed quantized coefficients on the line y, the maximum significant number of
在步骤S52中,最大有效位数计算单元63取存储在其中的变量x作为x=x+w,并且使流程返回到步骤S50。因此,行y上的位置(x+w,y)、(x+w+1,y)、...、(x+2w-1,y)中的每一个位置的量化系数在以下步骤S50的处理中被编码。In step S52, the maximum significant
并且,在步骤S51中确定在行y上不存在未处理的量化系数的情况下,已经对行y上的全部位置上的量化系数进行编码,因此最大有效位数计算单元63使流程返回到步骤S46,并且执行后续处理。And, in the case where it is determined in step S51 that there is no unprocessed quantized coefficient on line y, the quantized coefficients at all positions on line y have already been encoded, so the maximum significant number of
因而,熵编码单元23对子带的每个位置上的量化系数按照每预定数量以光栅扫描次序进行编码。Thus, the
因而,通过对子带的每个位置上的量化系数按照每预定数量以光栅扫描次序进行编码,输入的量化系数可以按照它们被输入的次序来进行处理,并且由于量化系数编码造成的延迟可以降低。Thus, by encoding the quantization coefficients at each position of the subband in raster scan order every predetermined number, the input quantization coefficients can be processed in the order in which they are input, and the delay due to the encoding of the quantization coefficients can be reduced .
接着,将参照图7所示的流程图描述与图6中的步骤S50的处理相对应的w集合编码处理。Next, w-set encoding processing corresponding to the processing of step S50 in FIG. 6 will be described with reference to the flowchart shown in FIG. 7 .
在步骤S81中,最大有效位数计算单元63将其中存储的变量x所标识的行y上的位置作为(x,y),并且在w个连续位置(x,y)、(x+1,y)、...、(x+w-1,y)中,取绝对值最大的量化系数的有效位数作为变量Bnew的值,并且存储此变量Bnew,其中该变量Bnew指示现在要被编码的w个量化系数的最大有效位数。In step S81, the maximum significant
并且,最大有效位数计算单元63将所获得的w个量化系数的最大有效位数、即变量Bnew的值提供给VLC编码单元64和有效数位提取单元65。And, the maximum significant
例如,在w个连续位置的量化系数是如图3所示的这些量化系数当中的量化系数“-0101”、“+0011”、“-0110”、和“+0010”的情况下,具有最大绝对值的量化系数是“-0110”,并且其有效位数为“3”,其是对于“-0110”,最高次序的1所位于的数位,因此变量Bnew的值被设定为3。For example, in the case where quantization coefficients at w consecutive positions are quantization coefficients "-0101", "+0011", "-0110", and "+0010" among these quantization coefficients as shown in FIG. The quantization coefficient of the absolute value is "-0110", and its significant digit is "3", which is the digit at which the highest-
在步骤S82中,VLC编码单元64确定是否B=Bnew。也就是说,VLC编码单元64确定指示前次被编码的w个量化系数的最大有效位数的变量B的值是否与从最大有效位数计算单元63提供的现在要被编码的w个量化系数的最大有效位数的变量Bnew的值相同。In step S82, the
在步骤S82中确定B=Bnew的情况下,VLC编码单元64使流程前进到步骤S83,并且向代码链接单元69输出指示从现在开始要被编码的w个量化系数的最大有效位数的代码0。在输出指示最大有效位数的代码0时,VLC编码单元64跳过步骤S84中的处理到步骤S88中的处理,并且使流程前进到步骤S89。In the case where it is determined in step S82 that B=Bnew, the
相反,在步骤S82中确定B=Bnew不成立的情况下,VLC编码单元64使流程前进到步骤S84,并且(由于最大有效位数已改变)向代码链接单元69输出代码1,该代码1指示最大有效位数已改变。On the contrary, in the case where it is determined that B=Bnew does not hold in step S82, the
在步骤S85中,VLC编码单元64获得整数n和m,它们满足以下表达式(1)。In step S85, the
Bnew=B+(n+1)×(-1)^m ....(1)Bnew=B+(n+1)×(-1)^m ...(1)
在此,表达式(1)中的符号“^”表示指数。从而,(-1)^m意味(-1)的m次幂。Here, the symbol "^" in Expression (1) represents an exponent. Thus, (-1)^m means (-1) raised to the mth power.
例如,在Bnew=3并且B=0的情况下,获得n=2且m=0作为满足表达式(1)的n和m。比较变量Bnew和变量B,变量Bnew的值的绝对值与变量B的值的绝对值之间的差越大,表达式(1)中的值越大。因此可以说,n的值指示最大有效位数的改变量。并且,在变量Bnew的值大于变量B的值的情况下,m的值为0,并且相反地,在变量Bnew的值小于变量B的值的情况下,m的值为1。因此可以说,表达式(1)中的m的值指示最大有效位数增大了还是减小了。For example, in the case of Bnew=3 and B=0, n=2 and m=0 are obtained as n and m satisfying expression (1). Comparing the variable Bnew and the variable B, the greater the difference between the absolute value of the value of the variable Bnew and the absolute value of the value of the variable B, the greater the value in the expression (1). It can thus be said that the value of n indicates the amount of change in the maximum number of significant digits. And, when the value of the variable Bnew is larger than the value of the variable B, the value of m is 0, and conversely, when the value of the variable Bnew is smaller than the value of the variable B, the value of m is 1. It can therefore be said that the value of m in Expression (1) indicates whether the maximum significant number of digits has been increased or decreased.
在步骤S86中,VLC编码单元64向代码链接单元69输出满足表达式(1)的m的值作为1比特的代码,作为指示最大有效位数是增大还是减小的代码。例如,在满足表达式(1)的m的值为0的情况下,VLC编码单元64输出代码0,其指示最大有效位数增大了。In step S86, the
在步骤S87中,VLC编码单元64向代码链接单元69输出与满足表达式(1)的n的值一样多的零,之后输出一个1,作为指示最大有效位数中的改变量的代码。也就是说,VLC编码单元64输出n个0和一个1,作为指示最大有效位数中的改变量的代码。In step S87, the
例如,在满足表达式(1)的n的值为2的情况下,VLC编码单元64向代码链接单元69输出“001”作为指示最大有效位数中的改变量的代码。For example, in the case where the value of n satisfying expression (1) is 2, the
因而,VLC编码单元64向代码链接单元69输出指示最大有效位数已改变的代码、指示最大有效位数是增大还是减小的代码、以及指示最大有效位数的改变量的代码,作为指示从现在开始要被编码的w个量化系数的最大有效位数的代码。Thus, the
在步骤S88中,最大有效位数计算单元63将所存储的变量B的值设定为B=Bnew,并且使流程前进到步骤S89。也就是说,最大有效位数计算单元63将所存储的变量B的值更新为其中存储的变量Bnew的值。并且,VLC编码单元64和有效数位提取单元65也将所存储的变量B的值设定为B=Bnew。In step S88, the maximum significant
在变量B的值在步骤S88中被设定为B=Bnew时,或者指示量化系数的最大有效位数的代码在步骤S83中被输出时,在步骤S89中,在所存储的变量x的值为0的情况下,最大有效位数计算单元63将所存储的变量Binit的值设定为Binit=B。When the value of the variable B is set to B=Bnew in step S88, or when a code indicating the maximum significant number of digits of the quantization coefficient is output in step S83, in step S89, in the stored value of the variable x When it is 0, the maximum significant
也就是说,在所存储的变量x的值为0的情况下,最大有效位数计算单元63通过将指示首先输入到存储于其中的行(y-1)上的w个量化系数的最大有效位数的变量Binit的值作为指示前次被编码的w个量化系数的最大有效位数的变量B的值,从而更新变量Binit。That is, in the case where the value of the stored variable x is 0, the maximum significant number of
因而,在变量x=0的情况下,变量Binit值被设定为Binit=B,从而可以使用与从前一行(例如行y)中的x=0开始的w个量化系数的最大有效位数的相关的关系,对从下一行(例如行(y+1))中的x=0开始的w个量化系数执行量化系数的编码。Thus, in the case of the variable x=0, the variable Binit value is set to Binit=B, so that the number of maximum significant digits of the w quantization coefficients starting from x=0 in the previous line (for example, line y) can be used In related relation, encoding of quantized coefficients is performed on w quantized coefficients starting from x=0 in the next row (for example, row (y+1)).
在步骤S90中,有效数位提取单元65取预定变量i,并且从0到(w-1)改变该变量i,以便从行y上的位置(x-i,y)的量化系数中提取量化系数的有效数位,其中这些量化系数已从量化单元22提供。有效数位提取单元65将所提取的量化系数的有效数位(的数据)提供给VLC编码单元66和符号提取单元67。并且,VLC编码单元66基于从有效数位提取单元65提供的有效数位(对有效数位进行编码),将指示w个量化系数的绝对值的代码输出到代码链接单元69。In step S90, the significant
现在,位置(x+i,y)处的x的值是存储在最大有效位数计算单元63处的变量x的值。例如,在存储在最大有效位数计算单元63处的变量x的值为0的情况下,存储在有效数位提取单元65处的变量B的值为3,并且进而,量化单元22向有效数位提取单元65提供图3中所示的w个(四个)量化系数“-0101”、“+0011”、“-0110”、和“+0010”,其对应于每个位置(x+i,y)(0≤i≤3)、即位置(0,y)、(1,y)、(2,y)和(3,y)处的量化系数,有效数位提取单元65从这些量化系数提取有效数位。Now, the value of x at position (x+i, y) is the value of variable x stored at the most significant
在这种情况下,存储在有效数位提取单元65处的变量B的值为3,并且有效数位是3个数位,因此有效数位提取单元65从对应于位置(x,y)的量化系数“-0101”中提取作为从最低次序开始的三个数位的值“101”。In this case, the value of the variable B stored at the significant-
以相同方式,有效数位提取单元65从位置(x+1,y)、位置(x+2,y)、和位置(x+3,y)处的量化系数“+0011”、“-0110”、和“0010”中顺序提取值“011”、“110”、和“010”,它们是从其最低次序开始的三个数位。从而,量化系数“-0101”、“+0011”、“-0110”、和“+0010”的有效数位“101”、“011”、“110”、和“010”的(代码)从有效数位提取单元65被输出到VLC编码单元66和符号提取单元67。VLC编码单元66对从有效数位提取单元65提供的代码“101”、“011”、“110”、和“010”进行编码,并且将指示w个量化系数的绝对值的代码“101011110010”输出到代码链接单元69。In the same manner, the significant
在步骤S91中,符号提取单元67取预定变量i,并且从0到(w-1)改变该变量i,以便从由量化单元22提供的、量化系数的绝对值非0的行y上的位置(x+i,y)上的量化系数提取量化系数的符号,并且将所提取的符号(的数据)提供给VLC编码单元68。VLC编码单元68对来自符号提取单元67的符号进行编码,并且将指示从而获得的量化系数的符号的代码输出到代码链接单元69。In step S91, the
在指示量化系数的符号的代码从VLC编码单元68被输入时,代码链接单元69链接分别从VLC编码单元62、VLC编码单元64、VLC编码单元66、和VLC编码单元68所提供的指示是否该行的所有量化系数都为0的代码、指示量化系数的最大有效位数的代码、指示量化系数的绝对值的代码、以及指示量化系数的符号的代码,输出所链接的代码作为已编码图像,结束w集合编码处理,使流程返回到图6中的步骤S50,并且执行从步骤S51开始的处理。When the code indicating the sign of the quantized coefficient is input from the
现在,位置(x+i,y)处的x的值是在最大有效位数计算单元63处所存储的变量x的值。例如,在最大有效位数计算单元63处所存储的变量x的值为0,并且量化单元22提供图3中所示的、与每个位置(x+i,y)(0≤i≤3)即位置(0,y)、(1,y)、(2,y)、以及(3,y)处的量化系数相对应的w个(四个)量化系数“-0101”、“+0011”、“-0110”、和“+0010”的情况下,“-0101”、“+0011”、“-0110”、和“+0010”均为非0,因此符号提取单元67从这些量化系数中提取符号。Now, the value of x at position (x+i, y) is the value of variable x stored at the most significant
在这种情况下,符号提取单元67从量化系数“-0101”中提取对应于位置(x,y)的量化系数的符号“-”。In this case, the
以相同方式,符号提取单元67顺序地从对应于位置(x+1,y)、(x+2,y)、以及(x+3,y)的量化系数“+0011”、“-0110”、“+0010”提取量化系数的符号“+”、“-”、“+”。因而,量化系数“-0101”、“+0011”、“-0110”、和“+0010”的符号“-”、“+”、“-”、“+”从符号提取单元67输出到VLC编码单元68。VLC编码单元68对从符号提取单元67提供的量化系数的符号“-”、“+”、“-”、“+”进行编码。In the same manner, the
例如,在符号“-”被输入时,VLC编码单元68输出代码1,并且在符号“+”被输入时,输出代码0,从而对输入的符号进行编码。在这种情况下,量化系数的符号“-”、“+”、“-”、和“+”被输入到VLC编码单元68,因此VLC编码单元68将由代码“1”、“0”、“1”、“0”组成的代码“1010”输出到代码链接单元69,作为指示量化系数的符号的代码。For example, the
因而,熵编码单元23以预定单位为批次地对子带的量化系数进行编码,并且输出指示量化系数的最大有效位数的代码、指示量化系数的绝对值的代码、以及指示量化系数的符号的代码。Thus, the
因而,与例如用JPEG 2000对图像进行编码的情况不同,以预定单位为批次地对子带的量化系数进行编码消除了基于多个编码路径在比特平面上多次执行处理的需要,并且执行可变代码长度编码,因此用于编码的处理量可以显著降低。因此,可以以更高的速度执行图像编码,并且可以并不昂贵地实现用于实时地对高分辨率图像进行编码的编码装置。Thus, encoding the quantized coefficients of subbands in batches in predetermined units, unlike the case of encoding an image with, for example, JPEG 2000, eliminates the need to perform processing multiple times on the bit plane based on a plurality of encoding passes, and performs Variable code length encoding, so the amount of processing used for encoding can be significantly reduced. Therefore, image encoding can be performed at a higher speed, and an encoding device for encoding a high-resolution image in real time can be realized inexpensively.
进而,不需要在对图像编码的情况下在图像编码装置11处对代码的长度进行显式的编码,因此代码量可以降低,并且不需要管理关于代码长度的信息。Furthermore, there is no need to explicitly encode the length of the code at the
注意,虽然在前文中描述了,在w个量化系数中,具有最大绝对值的量化系数的有效位数被采用作为指示最大有效位数的变量Bnew的值,然而,变量Bnew的值是等于或大于在w个量化系数中具有最大绝对值的量化系数的有效位数的值就可以。如果变量Bnew的值更大,则对于指示量化系数的绝对值的代码,代码量增大,但是指示量化系数的绝对值的代码的代码量的增大可以通过将变量Bnew的值设定为等于或大于具有最大绝对值的量化系数的有效位数的值而降低。Note that although it has been described in the foregoing that, among the w quantization coefficients, the significant digit of the quantization coefficient having the largest absolute value is adopted as the value of the variable Bnew indicating the maximum significant digit, however, the value of the variable Bnew is equal to or A value larger than the significant number of digits of the quantization coefficient having the largest absolute value among the w quantization coefficients is sufficient. If the value of the variable Bnew is larger, the code amount increases for the code indicating the absolute value of the quantization coefficient, but the increase in the code amount of the code indicating the absolute value of the quantization coefficient can be achieved by setting the value of the variable Bnew equal to or a value larger than the number of significant bits of the quantization coefficient with the largest absolute value.
接着,将描述关于用于对由图像编码装置11编码的图像进行解码的图像解码装置。Next, description will be made regarding an image decoding device for decoding an image encoded by the
图8是示出图像解码装置的配置示例的框图。Fig. 8 is a block diagram showing a configuration example of an image decoding device.
图像解码装置111配置有熵解码单元121、逆量化单元122、和小波逆变换单元123,已编码图像(数据)输入到熵解码单元121。The
熵解码单元121对作为输入已编码图像的代码执行熵解码,并且将从而获得的量化系数提供给逆量化单元122。The
逆量化单元122对从熵解码单元121提供的量化系数执行逆量化,并且将通过逆量化获得的用于每个子带的小波系数提供给小波逆变换单元123。The
小波逆变换单元123使从逆量化单元122提供的用于每个子带的小波系数进行小波逆变换,并且输出作为其结果所获得的图像作为已解码图像。The wavelet
并且,图像解码装置111的执行这种处理的熵解码单元121更详细地被配置为例如如图9所示。Also, the
更详细地,熵解码单元121具有代码分割单元151、行确定单元152、生成单元153、VLC解码单元154、VLC解码单元155、VLC解码单元156、量化系数合成单元157、以及切换单元158。In more detail,
代码分割单元151基于从行确定单元152、VLC解码单元154、VLC解码单元155、和VLC解码单元156中的每一个所提供的信息,对作为已被输入的已编码图像的代码进行分割,并且将预定长度的分割代码提供给行确定单元152、VLC解码单元154、VLC解码单元155、或VLC解码单元156。The
也就是说,代码分割单元151将输入代码分割成指示是否一个已编码行的量化系数都为0的代码、指示w个已编码量化系数的最大有效位数的代码、指示w个已编码量化系数的绝对值的代码、以及指示已编码量化系数的符号的代码,并且分别向行确定单元152、VLC解码单元154、VLC解码单元155、和VLC解码单元156中的每一个提供。That is, the
行确定单元152基于从代码分割单元151提供的代码来确定是否已编码子带的一行的量化系数都为0,并且将指示确定其结果的信息提供给代码分割单元151、生成单元153、和VLC解码单元154。The
生成单元153基于指示来自行确定单元152的确定结果的信息,生成指示相当于一行的量化系数为0的代码,并且将其提供给切换单元158。The generating
VLC解码单元154对从代码分割单元151提供的指示w个已编码量化系数的最大有效位数的代码进行解码,获得w个已编码量化系数的最大有效位数,并且将指示所获得的最大有效位数的信息提供给代码分割单元151、VLC解码单元155、和量化系数合成单元157。The
VLC解码单元155基于来自VLC解码单元154的指示最大有效位数的信息,对从代码分割单元151提供的指示量化系数的绝对值的代码进行解码,并且将从而获得的w个量化系数的有效数位(的数据)提供给VLC解码单元156和量化系数合成单元157。并且,VLC解码单元155将表示解码指示量化系数的绝对值的代码的结果的信息提供给代码分割单元151。The
基于从VLC解码单元155提供的量化系数的有效数位,VLC解码单元156对从代码分割单元151提供的指示量化系数的符号的代码进行解码,并且将从而获得的量化系数的符号(的数据)提供给量化系数合成单元157。并且,VLC解码单元156将表示解码指示量化系数的符号的代码的结果的信息提供给代码分割单元151。Based on the significant digit of the quantized coefficient supplied from the
量化系数合成单元157基于从VLC解码单元154提供的指示最大有效位数的信息,合成从VLC解码单元155提供的量化系数的有效数位和从VLC解码单元156提供的量化系数的符号,并且将如此获得的w个量化系数提供给切换单元158。The quantized
切换单元158输出来自生成单元153或量化系数合成单元157的量化系数。The
图10是示出代码分割单元151的更详细的配置的框图。FIG. 10 is a block diagram showing a more detailed configuration of the
代码分割单元151具有控制单元171和存储器172。在作为已编码图像的代码被输入时,控制单元171将输入的代码提供给存储器172用于暂时存储。The
然后,控制单元171基于从图9中所示的行确定单元152、VLC解码单元154、VLC解码单元155、和VLC解码单元156中的每一个中提供的信息,从暂时存储在存储器172中的代码中读出预定长度的代码,并且提供给行确定单元152、VLC解码单元154、VLC解码单元155、或VLC解码单元156。Then, the
并且,除了图10中所示的配置示例之外,代码分割单元151可以被配置为如图11所示。Also, the
图11中所示的代码分割单元151具有控制单元191、开关192、以及节点193-1到节点193-4。The
在作为已编码图像的代码从代码分割单元151被输入时,控制单元191基于从图9中所示的行确定单元152、VLC解码单元154、VLC解码单元155、和VLC解码单元156中的每一个中提供的信息,控制开关192,并且将预定长度的代码提供给行确定单元152、VLC解码单元154、VLC解码单元155、或VLC解码单元156。When a code that is an encoded image is input from the
也就是说,节点193-1到节点193-4各自分别连接到行确定单元152、VLC解码单元154、VLC解码单元155、和VLC解码单元156,并且控制单元191选择节点193-1到节点193-4之一作为代码的提供目的地,并且控制开关192和所选节点之间的连接。That is, the nodes 193-1 to 193-4 are each respectively connected to the
开关192使基于控制单元191的控制而被选择的节点与输入相连接,因此输入到代码分割单元151的代码经由开关192和连接到开关192的节点而被提供给行确定单元152、VLC解码单元154、VLC解码单元155、或VLC解码单元156,作为代码提供目的地。The
接着,将参照图12所示的流程图来描述图像解码装置111的解码处理。该解码处理在作为已编码图像的代码被输入到熵解码单元121时开始。Next, decoding processing by the
在步骤S131中,熵解码单元121执行熵解码处理,执行已经被输入的作为已编码图像的代码的熵解码,并且将从而获得的量化系数提供给逆量化单元122。虽然以下将详细描述熵解码处理的细节,通过该熵解码处理,熵解码单元121每次w个地对已编码子带的一行上的连续位置处的量化系数进行解码,并且将已解码的量化系数提供给逆量化单元122。In step S131 , the
在步骤S132中,逆量化单元122对从熵解码单元121提供的量化系数执行逆量化,并且将通过逆量化而获得的每个子带的小波系数提供给小波逆变换单元123。In step S132 , the
在步骤S133中,小波逆变换单元123使从逆量化单元122提供的每个子带的小波系数进行小波逆变换,并且输出作为其结果获得的图像,从而解码处理结束。In step S133 , the wavelet
因而,图像解码装置111解码并输出已编码图像。Thus, the image decoding means 111 decodes and outputs the encoded image.
接着,将参照图13中的流程图描述与图12中的步骤S131的处理相对应的熵解码处理。Next, entropy decoding processing corresponding to the processing of step S131 in FIG. 12 will be described with reference to the flowchart in FIG. 13 .
在步骤S161中,行确定单元152取指示现在要被解码的子带的行的变量y为y=0,并且对其进行存储。In step S161, the
在步骤S161中,VLC解码单元154取指示行确定单元152中所存储的变量y所指示的行y之前一行(y-1)上的首先输入的w个量化系数的最大有效位数的变量Binit为Binit=0,并且将其存储。In step S161, the
例如,在行(y-1)是图2中所示的L1的情况下,指示在行(y-1)上的首先输入的w个量化系数的最大有效位数的变量Binit的值是来自图中的行L1的左边缘的w个量化系数的最大有效位数。并且,在存储在行确定单元152中的变量y是y=0的情况下,行(y-1)不存在,因此变量Binit的值为Binit=0。For example, in the case where row (y-1) is L1 shown in FIG. 2 , the value of the variable Binit indicating the maximum number of significant digits of w quantization coefficients input first on row (y-1) is obtained from The maximum significant number of bits of the w quantization coefficients at the left edge of line L1 in the figure. And, in the case where the variable y stored in the
并且,在步骤S162中,代码分割单元151向行确定单元152提供输入代码的第一个1比特代码,该代码作为指示是否现在要被解码的行的全部量化系数都为0的代码。And, in step S162 , the
在步骤S163中,行确定单元152确定从代码分割单元151读入(提供)的1比特代码是否为0,生成指示该确定结果的信息,并且提供给生成单元153、VLC解码单元154、以及代码分割单元151。In step S163,
在步骤S163中确定该代码为0的情况下,这意味着行y的量化系数全都为0,因此行确定单元152使流程前进到步骤S164。在步骤S164中,生成单元153基于指示来自行确定单元152的确定结果的信息,取行y上的全部量化系数为0。然后,生成单元153生成指示行y的量化系数的代码,并将其提供给切换单元158。In a case where it is determined in step S163 that the code is 0, this means that the quantization coefficients of row y are all 0, so the
例如,在如图3所示一个量化系数由四个数位表示,并且在一行中有五个量化系数的情况下,生成单元153生成20(=4×5)个零作为指示行y的量化系数的代码,并且提供给切换单元158。切换单元158向逆量化单元122输出从生成单元153提供的20个连续的0,作为指示一行的量化系数的代码。For example, in the case where one quantization coefficient is represented by four digits as shown in FIG. 3 and there are five quantization coefficients in one row, the
在步骤S165中,VLC解码单元154基于指示来自行确定单元152的确定结果的信息,将存储在其中的变量Binit的值设定为Binit=0,并且更新变量Binit。In step S165 , the
在步骤S166中,行确定单元152确定在被解码的子带中是否存在未处理的行。也就是说,行确定单元152确定是否被解码的子带的所有行上的位置上的量化系数都已被解码。In step S166, the
在步骤S166中确定存在未处理的行的情况下,行确定单元152使流程进行到步骤S167,以对由存储在其自身中的变量y所指示的行y的下一行(y+1)上的每个位置处的量化系数进行编码。In a case where it is determined in step S166 that there is an unprocessed row, the
在步骤S167中,行确定单元152通过y=y+1使指示所存储的行的变量y增加,将流程返回到步骤S163,并且执行后续处理。In step S167, the
相反,在步骤S166中确定没有未处理的行的情况下,组成该子带的全部行的量化系数都已被解码,并且因此行确定单元152结束该熵解码处理,流程返回到图12中的步骤S131,并且执行从步骤S132开始的处理。On the contrary, in the case where it is determined in step S166 that there are no unprocessed lines, the quantized coefficients of all the lines constituting the subband have been decoded, and therefore the
并且,在图13的步骤S163中确定该代码不是0的情况下,行确定单元152使流程前进到步骤S168。在步骤S168中,基于指示来自行确定单元152的确定结果的信息,VLC解码单元154将变量x的值设定为x=0,并且存储该变量x,其中该变量x指示现在要被解码的w个量化系数中要被输入的第一个量化系数的行y上的位置的x坐标。And, in a case where it is determined in step S163 of FIG. 13 that the code is not 0, the
并且,在步骤S168中,VLC解码单元154将变量B的值取为B=Binit,并且存储变量B,其中该变量B指示前次解码的w个量化系数的最大有效位数。也就是说,VLC解码单元154更新变量B的值,使变量B的值成为所存储的变量Binit的值,并且存储所更新的变量B的值。And, in step S168, the
进而,在步骤S168中,代码分割单元151基于指示来自行确定单元152的确定结果的信息,向VLC解码单元154提供输入代码的下个1比特代码,作为指示从现在开始要被解码的w个量化系数的最大有效位数是否改变的代码。Further, in step S168, the
在步骤S169中,熵解码单元121执行集合解码处理。虽然之后将要描述w集合解码处理的细节,在w集合解码处理中,熵解码单元121对存储在行确定单元152中的变量y所指示的行y上的w个连续量化系数进行解码。In step S169, the
在步骤S170中,VLC解码单元154确定在行y上是否存在未处理的量化系数。也就是说,VLC解码单元154确定是否存储在行确定单元152处的变量y所指示的行y上的位置处的全部量化系数都已被解码。In step S170, the
在步骤S170中确定在行y上存在未处理的量化系数的情况下,VLC解码单元154使流程前进到步骤S171,以对下一w个量化系数进行解码。In a case where it is determined in step S170 that there are unprocessed quantized coefficients on the line y, the
在步骤S171中,VLC解码单元154将存储在其中的变量x取为x=x+w,并且使流程返回到步骤S169。因此,行y上的位置(x+w,y)、(x+w+1,y)、...、(x+2w-1,y)中的每一个位置的量化系数在以下步骤S169的处理中被编码。In step S171, the
并且,在步骤S170中确定在行y上不存在未处理的量化系数的情况下,已经对行y上的全部位置上的量化系数进行解码,因此VLC解码单元154使流程返回到步骤S166,并且执行后续处理。And, in the case where it is determined in step S170 that there is no unprocessed quantized coefficient on line y, the quantized coefficients at all positions on line y have already been decoded, so the
因而,熵解码单元121对子带的每个位置上的量化系数按照每预定数量以光栅扫描次序进行解码。Thus, the
因而,通过对子带的每个位置上的量化系数按照每预定数量以光栅扫描次序进行解码,输入的量化系数可以按照它们被输入的次序来进行处理,并且由于量化系数解码造成的延迟可以降低。Thus, by decoding quantized coefficients at each position of a subband in raster scan order every predetermined number, input quantized coefficients can be processed in the order in which they are input, and delay due to quantized coefficient decoding can be reduced .
接着,将参照图14所示的流程图描述与图13中的步骤S169的处理相对应的w集合解码处理。Next, w-set decoding processing corresponding to the processing of step S169 in FIG. 13 will be described with reference to the flowchart shown in FIG. 14 .
如上所述,在图13的步骤S168中,代码分割单元151到VLC解码单元154被提供1比特代码,该1比特代码指示要被解码的w个量化系数的最大有效位数是否改变。As described above, in step S168 of FIG. 13 , the
在图14的步骤S211中,VLC解码单元154确定所读入(提供)的1比特代码是否为0。In step S211 of FIG. 14 , the
在步骤S211中确定读入的代码为0的情况下,最大有效位数没有改变,因此VLC解码单元154生成含义是最大有效位数没有改变的信息,并且将其提供给代码分割单元151、VLC解码单元155、和量化系数合成单元157,跳过步骤S212到S214中的处理,并且使流程前进到步骤S215。In the case where it is determined in step S211 that the read-in code is 0, the maximum significant digit has not changed, so the
也就是说,在指示最大有效位数是否改变的代码为0的情况下,如参考图3所描述的,在指示最大有效位数是否改变的1比特代码0之后的输入不是指示最大有效位数是增大还是减小的代码以及指示最大有效位数的改变量的代码,而是指示量化系数的绝对值的代码,因此跳过作为用于解码指示最大有效位数是增大还是减小的代码以及指示最大有效位数的改变量的代码的步骤S212到步骤S214。That is, in the case where the code indicating whether the maximum significant digit is changed is 0, as described with reference to FIG. Is the code to increase or decrease and the code indicating the amount of change in the maximum significant digit, but the code indicating the absolute value of the quantization coefficient, so skip as a code for decoding indicating whether the maximum significant digit is increased or decreased Step S212 to Step S214 of the code and the code indicating the change amount of the maximum significant digit.
相反,在步骤S211中确定读入的代码不为0的情况下,最大有效位数已改变,因此VLC解码单元154使流程前进到步骤S212,从代码分割单元151读入1比特代码,并且存储其值作为预定变量m。On the contrary, in the case where it is determined that the read-in code is not 0 in step S211, the maximum significant number of digits has changed, so the
在步骤S213中,VLC解码单元154从代码分割单元151读入代码,直到代码是1为止(直到读入代码1为止),并且存储到该时刻为止所读入的代码0的数量作为变量n。例如,在VLC解码单元154从代码分割单元151读入的第三个代码是1的情况下,也就是说,在VLC解码单元154读入了代码“001”的情况下,直到VLC解码单元154读入了1为止所读入的代码0的数量是2,因此VLC解码单元154存储2,其是所读入的代码0的数量,作为变量n的值。In step S213,
在步骤S214中,VLC解码单元154从以下表达式(2)获得指示最大有效位数的B的值,并且存储所获得的变量B的值。In step S214 , the
B=B+(n+1)×(-1)^m ....(2)B=B+(n+1)×(-1)^m ....(2)
在此,表达式(2)的左侧表示要新获得的变量B的值,右侧的B表示所存储的变量B的值。并且,表达式(2)中的符号“^”表示指数。从而,(-1)^m意味(-1)的m次幂。Here, the left side of the expression (2) represents the value of the variable B to be newly obtained, and the B on the right side represents the stored value of the variable B. Also, the symbol "^" in Expression (2) represents an exponent. Thus, (-1)^m means (-1) raised to the mth power.
VLC解码单元154基于所存储的变量B、变量m、和变量n,计算表达式(2),并且改变所存储的变量B。在更新指示最大有效位数的变量B时,VLC解码单元154生成指示已更新的最大有效位数的信息,并且将其提供给代码分割单元151、VLC解码单元155、和量化系数合成单元157。The
在步骤S214中获得新的最大有效位数或在步骤S211中确定已被读入的1比特代码为0时,VLC解码单元154使流程前进到步骤S215,并且在所存储的变量x的值是0的情况下,将所存储的变量Binit的直设定为Binit=B。When a new maximum significant digit is obtained in step S214 or when it is determined in step S211 that the 1-bit code that has been read in is 0, the
也就是说,在所存储的变量x的值是0的情况下,VLC解码单元154将指示行(y-1)上的首先输入的w个量化系数的最大有效位数的变量Binit的所存储的值取为指示从现在开始要被解码的w个量化系数的最大有效位数的变量的值,并且更新变量Binit。That is, in the case where the stored value of the variable x is 0, the
因而,在变量x=0的情况下,变量Binit的值被设定为Binit=B,从而可以使用与从前一行(例如行y)中的x=0开始的w个量化系数的最大有效位数的相关的关系,对从下一行(例如行(y+1))中的x=0开始的w个量化系数执行量化系数的解码。Thus, in the case of the variable x=0, the value of the variable Binit is set to Binit=B, so that the maximum significant number of bits corresponding to w quantization coefficients starting from x=0 in the previous line (for example, line y) can be used , the decoding of the quantized coefficients is performed on w quantized coefficients starting from x=0 in the next row (for example, row (y+1)).
在步骤S216中,VLC解码单元155取预定变量i,并且从0到(w-1)改变该变量i,以便以B比特为增加从代码分割单元151读取代码,并且将所读入的代码的b比特提供(输出)给VLC解码单元156和量化系数合成单元157,作为指示在行y上的位置(x+i,y)处的量化系数的有效数位的代码。并且,VLC解码单元155生成指示量化系数的有效数位的信息,并且将其提供给代码分割单元151。In step S216, the
在此,位置(x+i,y)处的x的值是存储在VLC解码单元154处的变量x的值。例如,在存储在VLC解码单元154处的变量x的值为0,并且存储在VLC解码单元155处的变量B的值为3的情况下,VLC解码单元155在变量i=0的状态下从代码分割单元151读入3比特的代码,并且输出所读入的3比特的代码,作为位置(0,y)处的量化系数的有效数位。Here, the value of x at the position (x+i, y) is the value of the variable x stored at the
以相同方式,VLC解码单元155在变量i=1的状态下从代码分割单元151读入另外3比特的代码,并且输出所读入的3比特的代码,作为位置(1,y)处的量化系数的有效数位,在变量i=2的状态下从代码分割单元151读入下一3比特的代码,并且输出所读入的3比特的代码,作为位置(2,y)处的量化系数的有效数位,并且在变量i=3的状态下从代码分割单元151读入下一3比特的代码,并且输出所读入的3比特的代码,作为位置(3,y)处的量化系数的有效数位。In the same manner, the
在步骤S217中,VLC解码单元156取预定变量i,并且从0到(w-1)改变该变量i,并且在行y上的位置(x+i,y)处的量化系数的有效数位(绝对值)不为0的情况下,从代码分割单元151读入1比特代码。VLC解码单元156接着对已经被读入的代码进行解码,并且将从而获得的代码提供(输出)到量化系数合成单元157,作为量化系数的符号。并且,VLC解码单元156生成指示量化系数的符号的信息,并且将其提供给代码分割单元151。In step S217, the
在此,将位置(x+i,y)处的x的值取作存储在VLC解码单元154处的变量x的值。例如,在存储在VLC解码单元154处的变量x的值是0,并且(指示)非0的有效数位(的代码)从VLC解码单元155被提供的情况下,VLC解码单元156取变量i=0,并且从代码分割单元151读入1比特代码,并且在代码为0的情况下,将指示位置(0,y)处的量化系数的符号“-”的代码提供给量化系数合成单元157,并且在该代码为1的情况下,将指示位置(0,y)处的量化系数的符号“+”的代码提供给量化系数合成单元157。Here, the value of x at the position (x+i, y) is taken as the value of the variable x stored at the
并且,在从VLC解码单元155提供的(指示)有效数位(的代码)的绝对值为0的情况下,对于位置(0,y)处的量化系数,没有符号,因此VLC解码单元156不从代码分割单元151读入代码。Also, in the case where the absolute value of (the code of) the significant digit supplied from the
以相同方式,在从VLC解码单元155提供的有效数位(的绝对值)不为0的情况下,VLC解码单元156取变量i=1,并且从代码分割单元151读入1比特代码,并且在该代码为0的情况下,将指示符号“-”的代码提供给量化系数合成单元157,并且在该代码为1的情况下,提供指示符号“+”的代码。In the same manner, in the case where (the absolute value of) the significant digit supplied from the
进而,在从VLC解码单元155接着提供的有效数位不为0的情况下,VLC解码单元156取变量i=2,并且从代码分割单元151读入1比特代码,并且在该代码为0的情况下,将指示符号“-”的代码提供给量化系数合成单元157,并且在该代码为1的情况下,提供指示符号“+”的代码。并且,在从VLC解码单元155接着提供的有效数位不为0的情况下,VLC解码单元156取变量i=3,并且从代码分割单元151读入1比特代码,并且在该代码为0的情况下,将指示符号“-”的代码提供给量化系数合成单元157,并且在该代码为1的情况下,提供指示符号“+”的代码。Furthermore, in the case where the significant digit next supplied from the
在步骤S218中,量化系数合成单元157合成从VLC解码单元156提供的有效数位和从VLC解码单元155提供的符号,将从而获得的量化系数经由切换单元158输出到逆量化单元122,结束w集合解码处理并且使流程返回到图13中的步骤S169,并且执行从步骤S170开始的处理。In step S218, the quantized
例如,事先确定要被输出的量化系数的绝对值的位数。在事先确定的要被输出的量化系数的绝对值的位数是4个数位,并且由来自VLC解码单元154的指示最大有效位数的信息所指示的最大有效位数为3的情况下,有效数位“101”从VLC解码单元155被提供,并且在指示符号“-”的代码从VLC解码单元155被提供时,量化系数合成单元157输出量化系数“-0101”。For example, the number of bits of the absolute value of the quantization coefficient to be output is determined in advance. In the case where the number of digits of the absolute value of the quantized coefficient determined in advance to be output is 4 digits, and the maximum significant digit indicated by the information indicating the maximum significant digit from the
也就是说,要被输出的量化系数的绝对值的位数是4个数位,并且有效数位是“101”(三个数位),因此对于“0101”的量化系数的4个数位的绝对值,量化系数合成单元157将有效数位“101”的一个更高次序的比特取为0。进而,合成量化系数的符号“-”和量化系数的绝对值“0101”,以获得“-0101”,其作为量化系数而被输出。That is, the number of digits of the absolute value of the quantization coefficient to be output is 4 digits, and the significant digit is "101" (three digits), so for the absolute value of 4 digits of the quantization coefficient of "0101", The quantization
注意,在从VLC解码单元155提供的有效数位为0的情况下,量化系数合成单元157输出不带符号的量化系数。例如,在事先确定的要被输出的量化系数的绝对值的位数为4个数位,并且由来自VLC解码单元154的指示最大有效位数的信息所指示的最大有效位数为3,并且从VLC解码单元155提供有效数位“000”的情况下,量化系数合成单元157输出量化系数“0000”。Note that in the case where the significant digit supplied from the
因而,熵解码单元121以预定单元为批量对子带的量化系数进行解码。Thus, the
因而,与用JPEG对图像进行解码的情况不同,以预定单元为批量对子带的已编码的量化系数进行解码消除了基于多个编码路径在比特平面上多次执行处理的需要,因此可以更快地执行图像解码。因此,可以并不昂贵地实现用于实时地对高分辨率图像进行解码的解码装置。Thus, unlike the case of decoding an image with JPEG, decoding the encoded quantized coefficients of the subbands in batches in predetermined units eliminates the need to perform processing multiple times on the bit plane based on a plurality of encoding paths, and thus can be more Perform image decoding quickly. Therefore, a decoding device for decoding high-resolution images in real time can be realized inexpensively.
在此,对于上述的图像编码装置11,已经描述了当对量化系数的绝对值进行编码(或解码)时,对预定的w个量化系数的绝对值依次进行编码,但是利用与通用DSP(数字信号处理器)或者通用CPU一起使用的SIMD(单指令多数据)计算命令,通过同时(并行)地对w个量化系数进行编码(或解码),可以更快地执行图像编码(或解码)。Here, for the above-mentioned
在此,SIMD操作指令的示例例如包括与Intel公司CPU一起使用的MMX(多媒体扩展)、SSE(流式SIDM扩展)、SSE2、SSE3等。Here, examples of SIMD operation instructions include, for example, MMX (Multimedia Extensions), SSE (Streaming SIDM Extensions), SSE2, SSE3, etc. used with CPUs of Intel Corporation.
在使用这种SIMD操作指令对量化系数的绝对值进行编码的情况下,图像编码装置11的熵编码单元23例如如图15所示配置。In the case of encoding the absolute value of the quantization coefficient using such a SIMD operation instruction, the
图15中所示的熵编码单元23与图4中所示的熵编码单元23的相同之处在于,设置了行确定单元61、VLC编码单元62、最大有效位数计算单元63、VLC编码单元64、有效数位提取单元65、VLC编码单元66、符号提取单元67、以及VLC编码单元68,并且不同之处在于,为代码链接单元69设置缓冲器301。注意,对应于图4中的部分的图15中所示的部分由相同的附图标记表示,并且将省略对其的描述。The
代码链接单元69的缓冲器301暂时存储分别从VLC编码单元62、VLC编码单元64、VLC编码单元66、和VLC编码单元68所提供的指示是否一行的所有量化系数都为0的代码、指示最大有效位数的代码、指示量化系数的绝对值的代码、以及指示量化系数的符号的代码。The
缓冲器301的存储区域以32比特为增加而被管理,并且输入到缓冲器301的代码(数据)被划分为用于标量计算处理的代码和用于矢量计算处理的代码而被存储。也就是说,一个32比特存储区域存储用于标量计算处理的代码或用于矢量计算处理的代码,作为要被临时存储的代码(数据)。The storage area of the
对于图15中所示的熵编码单元23,使用SIMD操作指令并行地对量化系数的绝对值进行编码,因此指示量化系数的绝对值的代码被取作用于矢量计算处理的代码,并且将其他代码取为用于标量计算处理的代码。With the
注意,在以下描述中,在被提供给缓冲器301的32比特存储区域中,其中存储了用于标量计算处理的代码的存储区域将被称作标量区域,并且其中存储了用于矢量计算处理的代码的存储区域将被称作矢量区域。Note that in the following description, among the 32-bit storage areas provided to the
接着,将参照图16描述由图15中所示的熵编码单元23执行的熵编码。Next, entropy encoding performed by the
例如,可以说,如图16中的左上所示,图3中所示的12个量化系数“-0101”、“+0011”、“-0110”、“+0010”、“+0011”、“+0110”、“0000”、“-0011”、“+1101”、“-0100”、“+0111”、以及“-1010”被输入到熵编码单元23。For example, it can be said that the 12 quantization coefficients "-0101", "+0011", "-0110", "+0010", "+0011", " +0110”, “0000”, “−0011”, “+1101”, “−0100”, “+0111”, and “−1010” are input to the
以参照图3所述的相同方式,熵编码单元23的代码链接单元69被提供代码“1”,其指示是否要被编码的行的量化系数全都是0,以及代码“10001”,其指示第一的四个输入量化系数“-0101”、“+0011”、“-0110”、和“+0010”的最大有效位数。In the same manner as described with reference to FIG. 3 , the
接着,由指示是否要被编码的行的量化系数全都是0的代码“1”和指示量化系数的最大有效位数的代码“10001”组成的代码“110001”被存储在代码链接单元69的缓冲器301中所设置的32比特标量区域中,如箭头A11所指示的。Next, a code "110001" consisting of a code "1" indicating whether or not the quantization coefficients of the row to be encoded are all 0 and a code "10001" indicating the maximum significant number of digits of the quantization coefficient is stored in the buffer of the
在图16中所示的示例中,要存储在标量区域中的代码以图中从左到右方向以从更高次序的比特的顺序开始存储。在代码被存储在一个标量区域的全部中时,即当32比特的代码被存储在一个标量区域中时,一个新标量区域被设置在缓冲器301中,并且与标量计算处理一起被使用的代码被顺序地存储在新设置的标量区域中。In the example shown in FIG. 16 , the codes to be stored in the scalar area are stored in order from higher-order bits in the left-to-right direction in the drawing. When codes are stored in the entirety of one scalar area, that is, when 32-bit codes are stored in one scalar area, a new scalar area is set in the
在由指示是否要被编码的行的量化系数全都是0的代码“1”和指示量化系数的最大有效位数的代码“10001”组成的代码“110001”被存储在标量区域中时,接着,熵编码单元23在矢量区域中同时存储(并行排列)与表示首先输入的w个(四个)量化系数“-0101”、“+0011”、“-0110”、和“+0010”中的每一个的绝对值的最大有效位数等价的代码。When code "110001" consisting of code "1" indicating whether or not the quantization coefficients of the row to be encoded are all 0 and code "10001" indicating the maximum significant number of digits of the quantization coefficient is stored in the scalar area, next, The
量化系数“-0101”、“+0011”、“-0110”、和“+0010”的最大有效位数是“3”,如参照3所描述的,因此表示四个量化系数的绝对值的代码分别是“101”、“011”、“110”、和“010”,并且如箭头A12所示,表示量化系数的绝对值的代码“101”、“011”、“110”、和“010”排列在设置到缓冲器301的单个向量区域中而被存储。The maximum significant number of digits of the quantization coefficients "-0101", "+0011", "-0110", and "+0010" is "3", as described with reference to 3, thus representing the codes of the absolute values of the four quantization coefficients They are "101", "011", "110", and "010" respectively, and as shown by arrow A12, the codes "101", "011", "110", and "010" representing the absolute value of the quantization coefficient The arrangement is stored in a single vector area set to the
现在,矢量区域被进一步分割成四个8比特区域,矢量区域的四个区域中的每一个区域中以图中的从左到右方向以从更高次序的比特开始的顺序存储有表示相同长度(比特长度)的四个量化系数的绝对值的代码。Now, the vector area is further divided into four 8-bit areas, and in each of the four areas of the vector area in the left-to-right direction in the figure, stored in the order starting from the higher-order bits are the bits representing the same length (bit length) codes for the absolute values of the four quantized coefficients.
对于由箭头A12所示的矢量区域,在图中,指示量化系数的绝对值的代码“101”被从左开始存储在左侧的8比特区域中,代码“011”被从左开始存储在从左侧的第二个8比特区域中,代码“110”被从左开始存储在从右侧的第二个区域中,并且代码“010”被从左开始存储在最右侧的区域中。For the vector area shown by the arrow A12, in the figure, code "101" indicating the absolute value of the quantization coefficient is stored in the left 8-bit area from the left, and code "011" is stored in the left 8-bit area from the left. In the second 8-bit area from the left, the code "110" is stored in the second area from the right from the left, and the code "010" is stored in the rightmost area from the left.
并且,以与标量区域的情况相同的方式,对于矢量区域,在代码被存储在一个矢量区域的全部中时,即当32比特的代码被存储在一个矢量区域中时,一个新矢量区域被设置在缓冲器301中,并且与矢量计算处理一起被使用的代码被顺序地存储在新设置的矢量区域中。And, in the same manner as the case of the scalar area, for the vector area, when the code is stored in the whole of one vector area, that is, when the 32-bit code is stored in one vector area, a new vector area is set In the
在指示量化系数“-0101”、“+0011”、“-0110”、和“+0010”的绝对值的代码被存储在矢量区域中时,熵编码单元23在标量区域中存储表示四个量化系数的符号的代码,如箭头A13所示。When codes indicating the absolute values of quantization coefficients "-0101", "+0011", "-0110", and "+0010" are stored in the vector area, the
如箭头A11所示,由指示是否要被编码的行的量化系数全都是0的代码“1”和指示量化系数的最大有效位数的代码“10001”组成的代码“110001”已被存储在标量区域中,因此如箭头A13所示,指示量化系数“-0101”、“+0011”、“-0110”、和“+0010”的符号的代码“1010”被存储在已存储在标量区域中的代码“110001”的右侧(连续地在代码“110001”的右边)。As indicated by arrow A11, code "110001" consisting of code "1" indicating whether or not the quantization coefficients of the row to be encoded are all 0 and code "10001" indicating the maximum number of significant digits of the quantization coefficient has been stored in the scalar area, therefore, as indicated by the arrow A13, the code "1010" indicating the sign of the quantization coefficients "-0101", "+0011", "-0110", and "+0010" is stored in the scalar area already stored To the right of the code "110001" (continuously to the right of the code "110001").
进而,在第一的四个量化系数被编码时,熵编码单元23对下一四个量化系数“+0011”、“+0110”、“0000”、“-0011”进行编码。Furthermore, when the first four quantization coefficients are encoded, the
首先,熵编码单元23对前次被编码的四个量化系数的最大有效位数“3”与此次被编码的接下来的四个量化系数“+0011”、“+0110”、“0000”、“-0011”的最大有效位数“3”进行比较,并且由于最大有效位数未改变,因此在已存储的代码“1100011010”右边连续的标量区域中存储指示最大有效位数未改变的代码“0”,作为用于指示最大有效位数的代码,如箭头A14所示。First, the
接着,如箭头A15所示,熵编码单元23在矢量区域中同时存储代码“011”、“110”、“000”、和“011”中的每一个,它们表示此次输入的w个(四个)量化系数“+0011”、“+0110”、“0000”、“-0011”中的每一个量化系数的绝对值。Next, as shown by the arrow A15, the
如箭头A12所示,在图中左侧的矢量区域的8比特区域,在从左侧的第二个8比特区域,在从右侧的第二个8比特区域中,以及在最右侧的8比特区域,已经存储了代码“101”、“011”、“110”、和“010”,因此如箭头A15所示,熵编码单元23在已经被存储在矢量区域中的各代码“101”、“011”、“110”、和“010”的右边连续地存储代码“011”、“110”、“000”、和“011”中的每一个,它们表示此次输入的每一个量化系数的绝对值。As indicated by arrow A12, in the 8-bit area of the vector area on the left in the figure, in the second 8-bit area from the left, in the second 8-bit area from the right, and in the rightmost In the 8-bit area, the codes "101", "011", "110", and "010" have been stored, so as shown by the arrow A15, the
进而,熵编码单元23取对于此次输入的四个量化系数“+0011”、“+0110”、“0000”、“-0011”指示绝对值非0的量化系数的符号的代码“001”,并且将其连续地存储到已经存储在标量区域中的代码“11000110100”右边。Furthermore, the
在四个量化系数“+0011”、“+0110”、“0000”、“-0011”被编码时,熵编码单元23对接下来的四个量化系数“+1101”、“-0100”、“+0111”、以及“-1010”执行编码。When the four quantization coefficients "+0011", "+0110", "0000", and "-0011" are encoded, the
首先,熵编码单元23对此次输入的四个量化系数“+1101”、“-0100”、“+0111”、以及“-1010”的最大有效位数“4”与前次被编码的四个量化系数的最大有效位数“3”进行比较,并且如箭头A17所示,在标量区域中存储指示最大有效位数的代码“101”,其由指示最大有效位数已改变的“1”、指示最大有效位数增大的“0”、以及指示最大有效位数的增大量的“1”组成。First, the
在这种情况下,已经如箭头A16所示在标量区域中存储了代码“11000110100001”,因此熵编码单元23在图中的代码“11000110100001”右边存储指示最大有效位数的代码“101”。In this case, the code "11000110100001" has been stored in the scalar area as indicated by arrow A16, so the
进而,在指示四个量化系数“+1101”、“-0100”、“+0111”、以及“-1010”的最大有效位数的代码被存储时,如箭头A18所示,熵编码单元23在矢量区域中同时存储代码“1101”、“0100”、“0111”、以及“1010”中的每一个,它们表示这些量化系数中的每一个的绝对值。Furthermore, when codes indicating the maximum significant digits of the four quantization coefficients "+1101", "-0100", "+0111", and "-1010" are stored, as indicated by arrow A18, the
如箭头A15所示,在图中左侧的矢量区域的8比特区域,在从左侧的第二个8比特区域,在从右侧的第二个8比特区域,以及在最右侧的8比特区域,已经分别存储了代码“101011”、“011110”、“110000”、和“010011”,因此左侧的8比特区域,从左侧的第二个8比特区域,从右侧的第二个8比特区域,以及最右侧的8比特区域,仅能够存储两比特的代码。As indicated by arrow A15, in the 8-bit area of the vector area on the left in the figure, in the second 8-bit area from the left, in the second 8-bit area from the right, and in the 8-bit area on the far right bit areas, have stored the codes "101011", "011110", "110000", and "010011", respectively, so the 8-bit area on the left, from the second 8-bit area on the left, from the second 8-bit area on the right The first 8-bit area, and the rightmost 8-bit area, can only store two-bit codes.
从而,熵编码单元23确保(提供)在缓冲器301中的新矢量区域,如箭头A18所示,在已经存储在矢量中的代码“101011”、“011110”、“110000”、和“010011”的右侧连续地存储表示此次输入的量化系数的绝对值的代码“1101”、“0100”、“0111”、以及“1010”的两个较高次序的比特的代码“11”、“01”、“01”、以及“10”,并且在图中新设置的矢量区域的8比特区域(由箭头A18所指示的两个矢量区域中,位于图底部的矢量区域)、从左侧的第二个8比特区域,从右侧的第二个8比特区域,以及最右侧的8比特区域中的每一个区域的左侧,分别存储表示此次输入的量化系数的绝对值的代码“1101”、“0100”、“0111”、以及“1010”的两个较低次序的比特“01”、“00”、“11”、以及“10”。Thereby, the
在指示四个量化系数“+1101”、“-0100”、“+0111”、以及“-1010”的绝对值的代码被存储时,如箭头A19所示,熵编码单元23在已经在标量区域中存储的代码“11000110100001101”的右侧连续地存储指示绝对值非0的四个量化系数的符号的代码“0101”。When codes indicating the absolute values of the four quantization coefficients "+1101", "-0100", "+0111", and "-1010" are stored, as indicated by arrow A19, the
因而,在输入的量化系数被编码时,熵编码单元23依次输出存储在箭头A19所示的标量区域中的代码、存储在箭头A19所示的两个矢量区域中的图中的上方的矢量区域中的代码、以及存储在下方的矢量区域中的代码,作为已编码图像。Thus, when the input quantization coefficient is encoded, the
在这种情况下,在箭头A19中所示的标量区域中在图右侧的11比特中没有存储代码。并且,在箭头A19中所指示的两个矢量区域的底部的矢量区域中,在左边的8比特区域、从左边的第二个8比特区域、从右边的第二个8比特区域、以及最右边的8比特区域中的每一个区域中的右边的六比特的区域中没有存储代码。In this case, no code is stored in the 11 bits on the right side of the figure in the scalar area shown in arrow A19. And, in the vector area at the bottom of the two vector areas indicated in arrow A19, the 8-bit area on the left, the second 8-bit area from the left, the second 8-bit area from the right, and the rightmost No code is stored in the right six-bit area in each of the 8-bit areas.
在以这种方式输出存储在标量区域和矢量区域中的代码作为已编码图像的情况下,在完成对输入的量化系数进行编码的时刻,标量区域和矢量区域中存在没有存储代码的区域的情况下,例如存储任意代码,诸如代码“0”,在其之后,存储在标量区域和矢量区域中的代码被编码并且输出作为图像。In the case of outputting the codes stored in the scalar area and the vector area in this way as an encoded image, there may be an area in which no code is stored in the scalar area and the vector area at the moment when the encoding of the input quantization coefficient is completed Next, for example, an arbitrary code such as a code "0" is stored, after which the codes stored in the scalar area and the vector area are encoded and output as an image.
因此,例如在由箭头A19所示的示例中,存储在标量区域中的代码“11000110100001101010100000000000”、存储在图中的上方的矢量区域中的代码“10101111011110011100000101001110”、以及存储在下方的矢量区域中的代码“01000000000000001100000010000000”,被依次输出,作为已编码图像。现在,在量化系数编码结束的时刻标量区域和矢量区域中没有存储代码的区域中所存储的该任意代码在解码时不被读入,因此可以存储任何种类的代码。Therefore, for example, in the example shown by arrow A19, the code "11000110100001101010100000000000" stored in the scalar area, the code "10101111011110011100000101001110" stored in the upper vector area in the figure, and the code stored in the lower vector area "01000000000000001100000010000000" are sequentially output as encoded images. Now, since the arbitrary codes stored in the scalar area and the vector area where no codes are stored at the time when quantization coefficient encoding is completed are not read during decoding, any kind of codes can be stored.
在也使用SIMD操作指令对量化系数的绝对值进行编码的情况下,在图像被输入时,图像编码装置11执行参照图5中的流程图所描述的编码处理。并且,在对应于图5中的步骤S13的图6中的熵编码处理处,图像编码装置11对于图6的步骤S41到步骤S49的处理、步骤S51的处理、以及步骤S52的处理(参照图6描述的处理),执行与不使用SIMD操作指令的情况下相同的处理,并且对于对应于步骤S50的w集合编码处理,执行与不使用SIMD操作指令的情况下不同的处理。In the case of encoding the absolute value of the quantization coefficient also using the SIMD operation instruction, when an image is input, the
以下将参照图17中的流程图描述在图像编码装置11使用SIMD操作指令对量化系数的绝对值进行编码的情况下的w集合编码处理。注意,步骤S311到步骤S319中的每个处理对应于图7中的步骤S81到步骤S89中的每个处理,并且都以相同的方式执行。因此对其的描述是多余的,从而将其省略。The w-set encoding process in the case where the
并且,在使用SIMD操作指令对量化系数的绝对值进行编码的情况下,在参照图6和图17所描述的处理中,从VLC编码单元62向代码链接单元69提供的指示要被编码的行的量化系数的绝对值是否全都是0的代码、从VLC编码单元64向代码链接单元69提供的指示量化系数的最大有效位数的代码、以及从VLC编码单元68向代码链接单元69提供的指示量化系数的符号的代码被各自存储在代码链接单元69的缓冲器301内设置的标量区域中,如参照图16所描述。Also, in the case of encoding the absolute value of the quantization coefficient using a SIMD operation instruction, in the processing described with reference to FIGS. The code indicating whether the absolute values of the quantized coefficients are all 0, the code indicating the maximum number of significant digits of the quantized coefficient supplied from the
在步骤S320中,有效数位提取单元65从由量化单元22提供的行y上的位置(x,y)、(x+1,y)、...、(x+w-1,y)处的w个连续的量化系数中同时提取量化系数的有效数位。有效数位提取单元65将所提取的量化系数的有效数位提供给VLC编码单元66和符号提取单元67。并且,VLC编码单元66基于从有效数位提取单元65提供的有效数位(对有效数位进行编码),将指示w个量化系数的绝对值的代码同时输出到代码链接单元69。In step S320, the significant
现在,将位置(x,y)处的x的值取作存储在最大有效位数计算单元63处的变量x的值,并且将y的值取作存储在行确定单元61处的变量y的值。例如,在有效数位提取单元65提取有效数位“101”、“011”、“110”、和“010”,作为量化系数的有效数位的情况下,指示四个量化系数的绝对值的代码“101”、“011”、“110”、和“010”从VLC编码单元66被提供给代码链接单元69,因此代码链接单元69对提供给它的指示量化系数的绝对值的代码进行编码,并且如图16中的箭头A12所示,存储在矢量区域中。Now, the value of x at the position (x, y) is taken as the value of the variable x stored at the maximum significant
在步骤S321中,符号提取单元67取预定变量i,并且从0到(w-1)改变该变量i,以便从量化系数非0的行y上的位置(x+i,y)处的量化系数中提取量化系数的符号,其中这些量化系数已从量化单元22提供,并且将所提取的符号(的数据)提供给VLC编码单元68。现在,将位置(x,y)处的x的值取作存储在最大有效位数计算单元63处的变量x的值,并且y的值被取作存储在行确定单元61处的变量y的值。In step S321, the
VLC编码单元68对来自符号提取单元67的符号进行编码,并且将指示从而获得的量化系数的符号的代码输出到代码链接单元69。并且,如参照图16所描述的,代码链接单元69在缓冲器301的标量区域中存储指示从VLC编码单元68提供的量化系数的符号的代码。The
在将指示量化系数的符号的代码存储在缓冲器301的标量区域中时,代码链接单元69链接如参照图16所述存储在缓冲器301的标量区域和矢量区域中的代码,输出所链接的代码作为已编码图像,从而w集合编码处理结束,并且处理返回到图6中的步骤S50,并且执行从步骤S51开始的处理。When the code indicating the sign of the quantization coefficient is stored in the scalar area of the
因而,熵编码单元23同时对量化系数的预定数量的绝对值进行编码。Thus, the
通过JPEG 2000方法的熵编码,基于多个编码路径,以比特平面为增加来对量化系数进行算术编码,因此难以同时并行地执行熵编码中的预定处理,但是通过熵编码单元23,不需要以比特平面增加来执行复杂处理,因此可以同时编码多个量化系数的绝对值。Entropy encoding by the JPEG 2000 method, based on multiple encoding paths, arithmetically encodes the quantized coefficients in increments of bit planes, so it is difficult to simultaneously perform predetermined processing in entropy encoding in parallel, but by the
因而,同时编码预定数量的量化系数的绝对值使得能够同时(并行)执行多个处理,因此可以以更高的速度对图像进行编码。Thus, simultaneously encoding the absolute values of a predetermined number of quantization coefficients enables simultaneous (parallel) execution of a plurality of processes, so that an image can be encoded at a higher speed.
注意,在步骤S321的处理中,已经描述了对w个量化系数的符号的编码是依次执行的,但是可以以与对量化系数的绝对值进行编码的情况下相同的方式,通过使用SIMD操作指令对w个量化系数的符号同时执行编码。在这种情况下,通过编码获得的指示w个量化系数的符号的代码中的每一个都被存储在已被分割为w个的缓冲器301的矢量区域中。Note that, in the process of step S321, it has been described that the encoding of the signs of w quantization coefficients is sequentially performed, but in the same manner as in the case of encoding the absolute value of the quantization coefficients, by using the SIMD operation instruction Encoding is performed simultaneously on the signs of w quantized coefficients. In this case, each of the codes indicating the signs of w quantization coefficients obtained by encoding is stored in the vector area of the
并且,虽然关于缓冲器301已经描述了一个标量区域或者矢量区域是32比特区域,并且该32比特区域被进一步分割成8比特区域供使用,但是标量区域或者矢量区域的大小等可以是任意大小。例如,可以进行这样一种布置,其中标量区域或者矢量区域被设定为128比特区域,该128比特区域被分割成八个16比特区域供使用。Also, although it has been described regarding the
进而,在对使用SIMD操作指令编码的图像进行解码的情况下,图像解码装置111的用于对图像进行解码的代码分割单元151(图9)例如被配置为如图10所示,并且作为已编码图像的代码每次32比特地被存储到存储器172中,如参照图16所描述。Furthermore, in the case of decoding an image encoded using a SIMD operation instruction, the code division unit 151 ( FIG. 9 ) for decoding the image of the
在从存储器172读出代码并且将其输出的情况下,控制单元171首先取存储了第一的32比特代码的存储区域作为标量区域,并且以从标量区域的顶部开始的次序读出且输出指示是否要被解码的行的量化系数的绝对值全都为0的代码、指示量化系数的最大有效位数的代码、或者指示量化系数的符号的代码。In the case of reading out the code from the memory 172 and outputting it, the
并且,在从存储器172读出指示量化系数的绝对值的代码的情况下,控制单元171取存储器172中被作为标量区域的存储区域之后的32比特存储区域(从而代码还没有从此区域读出)作为矢量区域,并且从此矢量区域读出且输出指示量化系数的绝对值的代码。And, in the case of reading out the code indicating the absolute value of the quantization coefficient from the memory 172, the
注意,在图像被编码的情况下,图像被编码,使得在解码时首次读出指示量化系数的绝对值的代码的时刻,总是有指示量化系数的绝对值的代码(用于矢量计算的代码)存储在用作标量区域的存储区域之后的下一个32比特存储区域中。Note that, in the case where an image is encoded, the image is encoded so that at the moment when the code indicating the absolute value of the quantization coefficient is read out for the first time at the time of decoding, there is always a code indicating the absolute value of the quantization coefficient (code for vector calculation ) is stored in the next 32-bit storage area after the storage area used as the scalar area.
进而,作为已编码图像的代码被分割成的、并且存储在存储器172中的每个存储区域由多少个比特组成是根据在用图像编码装置11对图像进行编码的情况下一个标量区域和矢量区域被设定多少比特而改变的。也就是说,作为已编码图像的代码被分割成的、并且被存储在存储器172内的多个存储区域中的每一个的大小是对图像进行编码的情况下的一个标量区域和矢量区域的大小。Furthermore, how many bits each storage area is divided into and stored in the memory 172 as the code of the coded image is based on a scalar area and a vector area in the case of encoding an image by the
在也使用SIMD操作指令对量化系数的绝对值进行解码的情况下,图像解码装置111在输入了已编码图像时执行参照图12所示的流程图描述的解码处理。并且,对于与图12中的步骤S131的处理相对应的图13中的熵解码处理,对于图13中的步骤S161到步骤S168中的每个处理、步骤S170中的处理、以及步骤S171中的处理,图像解码装置111执行与不使用SIMD控制命令的情况相同的处理(参照图13所述的处理),并且在对应于步骤S169的w集合解码处理中,执行与不使用SIMD控制命令的情况不同的处理。In the case of decoding the absolute value of the quantization coefficient also using the SIMD operation instruction, the
以下参考图18的流程图描述在图像解码装置111使用SIMD操作指令对量化系数的绝对值进行解码的情况下的w集合解码处理。The w-set decoding process in the case where the
注意,步骤S351到步骤S355中的处理对应图14中的步骤S211到步骤S215中的处理,并且各自以相同方式执行。因此,将省略对其的冗余描述。Note that the processing in step S351 to step S355 corresponds to the processing in step S211 to step S215 in FIG. 14 , and each is performed in the same manner. Therefore, redundant description thereof will be omitted.
并且,在使用SIMD操作指令对量化系数的绝对值进行解码的情况下,作为图像的代码被存储在例如被分割成三个32比特区域的代码分割单元151的存储器172中,如图16中的箭头A19所示。行确定单元152、VLC解码单元154、和VLC解码单元156各自在三个32比特区域的图16中的最上方区域作为标量区域,并且从标量区域的顶端(图中的左侧)顺序读出且解码指示是否该行的量化系数全都为0的代码、指示量化系数的最大有效位数的代码、以及指示量化系数的符号的代码。And, in the case of decoding the absolute value of the quantized coefficient using a SIMD operation instruction, a code as an image is stored, for example, in the memory 172 of the
在步骤S356中,VLC解码单元155从代码分割单元151同时读入w个集合的B个连续比特的代码,并且取所读入的w个集合的B比特代码中的每一个作为来自行y上的在位置(x,y)、(x+1,y)、...、(x+w-1,y)处的w个连续量化系数的量化系数的有效数位的代码,并且将其提供(输出)到VLC解码单元156和量化系数合成单元157。并且,VLC解码单元155生成指示量化系数的有效数位的信息,并且将其提供给代码分割单元151。现在,将位置(x,y)处的x的值取作存储在VLC解码单元154处的变量x的值,并且将y的值取作存储在行确定单元152处的变量y的值。In step S356, the
例如,如果我们说,预定数量w为4,变量B的值为3,并且作为图像的代码被存储在分割成三个32比特的存储区域的代码分割单元151的存储器172中,如图16中的箭头A19所示,则图16中的最上方的32比特存储区域已经被作为标量区域,其中已经读出指示是否该行的量化系数全都为0的代码以及指示量化系数的最大有效位数的代码,并且代码还没有从下一个32比特存储区域(从顶部开始第二个存储区域)中读出,因此VLC解码单元155取从顶部开始第二个存储区域作为矢量区域,并且从图中的矢量区域的左侧的8比特区域、从左侧第二个8比特区域、从右侧第二个8比特区域、以及最右侧的8比特区域中,同时读出指示位置(x,y)、(x+1,y)、(x+2,y)、和(x+3,y)处的量化系数的有效数位的代码“101”、“011”、“110”、和“010”。For example, if we say that the predetermined number w is 4, the value of the variable B is 3, and the code as an image is stored in the memory 172 of the
在指示w个量化系数的有效数位的代码被顺序提供给VLC解码单元156和量化系数合成单元157时,执行步骤S357的处理和步骤S358的处理,但是这些处理与图14中的步骤S217的处理和步骤S218的处理相同,因此将省略对其的描述。When codes indicating significant digits of w quantization coefficients are sequentially supplied to the
因而,熵解码单元121对预定数量的量化系数的绝对值同时进行解码。Thus, the
因而,对预定数量的量化系数的绝对值同时进行解码使得能够同时(并行)执行多个处理,并且可以以更高的速度对图像解码。Thus, simultaneous decoding of the absolute values of a predetermined number of quantization coefficients enables simultaneous (parallel) execution of a plurality of processes, and enables decoding of images at higher speed.
注意,虽然对于步骤S357中的处理描述了依次执行对指示w个量化系数的符号的代码中的每一个代码的解码,但是可以使用这样一种布置,其中使用SIMD操作指令同时(并行)执行对指示w个量化系数的符号的代码中的每一个代码的解码。Note that although it has been described that the decoding of each of the codes indicating the symbols of w quantization coefficients is sequentially performed for the processing in step S357, an arrangement may be used in which the decoding of Decoding of each of the codes indicating the signs of the w quantized coefficients.
如上所述,与用常规的JPEG 2000对图像进行编码(或者解码)的情况不同,不需要基于多个编码路径以比特平面为增加来执行量化系数的算术编码,因此可以通过更简单的处理更快地执行图像编码(或者解码)。As described above, unlike the case of encoding (or decoding) an image with conventional JPEG 2000, it is not necessary to perform arithmetic encoding of quantization coefficients in increments of bit-planes based on multiple encoding paths, and thus it is possible to perform more efficient processing by simpler processing. Image encoding (or decoding) is performed quickly.
通过常规的JPEG 2000方法,基于多个编码路径对每个比特平面执行处理,因此,在执行其处理的情况下,量化系数必须被访问大约与通过将量化系数乘以比特平面数量所获得的数量相同的次数,这意味着处理量巨大。With the conventional JPEG 2000 method, processing is performed for each bit-plane based on multiple encoding paths, therefore, in cases where its processing is performed, quantization coefficients must be accessed approximately as many as obtained by multiplying the quantization coefficients by the number of bit-planes The same number of times, which means a huge amount of processing.
并且,在对已编码图像进行分组化的情况下,除非一幅图像的编码完全结束,分组化处理无法开始,因此生成等同于其待机间隔的延迟。进而,通过JPEG 2000方法,与例如图2中所示的子带上的x方向上和y方向上的平行边组成的矩形区域内的位置相对应的(已编码的)量化系数被存储在一个分组内,因此也生成与矩形区域的y方向上的长度相对应的延迟。通过常规的JPEG 2000方法,生成编码造成的这种延迟,因此实时处理是困难的。现在,虽然可以通过缩短子带上的矩形区域的y方向上的长度来降低延迟,但是在这种情况下编码效率恶化。Also, in the case of packetizing already-encoded images, the packetization process cannot be started unless the encoding of one image is completely completed, so a delay equivalent to the waiting interval is generated. Furthermore, by the JPEG 2000 method, the (encoded) quantization coefficients corresponding to the positions within the rectangular area formed by the parallel sides in the x direction and the y direction on the subband shown in FIG. 2, for example, are stored in a Within the group, a delay corresponding to the length of the rectangular area in the y direction is therefore also generated. With the regular JPEG 2000 method, this delay caused by the generative encoding, so real-time processing is difficult. Now, although the delay can be reduced by shortening the length in the y direction of the rectangular area on the subband, the encoding efficiency deteriorates in this case.
相反,通过图像编码装置11,不需要如上所述基于多个编码路径对每个比特平面执行量化系数的算术编码,并且仅在对图像进行编码时,当输出指示量化系数的绝对值的代码时、当输出指示最大有效位数的代码时、以及当输出指示量化系数的符号的代码时,访问量化系数,因此可以通过更简单的方式对图像进行编码。In contrast, with the
并且,有这样的情况,其中指示最大有效位数的代码和指示量化系数的符号的代码是1比特或者0比特,因此在对此图像进行编码的情况下,可以仅通过访问量化系数大约两次来实际上对图像进行编码。并且,在对图像进行解码的情况下,量化系数只需要被访问一次,因此可以通过更简单和更快速的方式对图像进行解码。And, there is a case where the code indicating the maximum significant digit and the code indicating the sign of the quantization coefficient are 1 bit or 0 bit, so in the case of encoding this image, it is possible to access the quantization coefficient only about twice by to actually encode the image. Also, in the case of decoding an image, the quantization coefficient only needs to be accessed once, so the image can be decoded in a simpler and faster manner.
在图像编码装置11和图像解码装置111处,子带的量化系数以光栅扫描次序进行编码和解码,因此不需要对量化系数进行缓冲,从而由编码和解码造成的延迟可以降低。At the
进而,使用SIMD操作指令(其中w=4)对水平1920像素×垂直1080像素的YUV 4∶2∶2格式图像进行的实际编码和解码产生了以下结果。注意,在执行编码的时刻,对图像进行小波变换,并且分解成五个子带级别(level),进而通过对每个子带的小波系数进行量化而获得的量化系数被编码。并且,通过使被称为Pentium(注册商标)4(Intel公司的商标)的CPU(3.0GHz的时钟频率)执行预定程序,从而实现编码和解码所必需的功能块(例如图15中的熵编码单元23和图9中的熵解码单元121)以及用于用JPEG 2000对图像进行编码和解码的功能块。Furthermore, the actual encoding and decoding of a YUV 4:2:2 format image of 1920 pixels horizontally by 1080 vertical pixels using SIMD operation instructions (where w=4) yielded the following results. Note that at the time of performing encoding, an image is wavelet-transformed and decomposed into five sub-band levels, and quantized coefficients obtained by quantizing wavelet coefficients of each sub-band are encoded. And, by causing a CPU (clock frequency of 3.0 GHz) called Pentium (registered trademark) 4 (trademark of Intel Corporation) to execute a predetermined program, functional blocks necessary for encoding and decoding (for example, entropy encoding in FIG. 15 ) are realized.
在通过常规JPEG 2000方法对图像的一帧进行编码的情况下,代码大小为191571字节,并且编码所需的时间量为0.26157秒。并且,对已编码图像进行解码所必需的时间为0.24718秒。In the case of encoding one frame of an image by the conventional JPEG 2000 method, the code size is 191571 bytes, and the amount of time required for encoding is 0.26157 seconds. And, the time necessary to decode the encoded image is 0.24718 seconds.
相反,在通过图15中的熵编码单元23对图像的一帧进行编码的情况下,代码大小为343840字节,并且编码所需的时间量为0.03453秒。并且,通过图9中的熵解码单元121对已编码图像进行解码所必需的时间为0.02750秒。In contrast, in the case of encoding one frame of an image by the
运动图像经常以每秒30帧显示,因此只要可以以每帧0.033(=1/30)秒来执行编码或解码,就可以实时地处理图像。通过JPEG 2000方法,编码所必需的时间量为0.26157秒,并且解码所必需的时间量为0.24718秒,因此图像的实时处理是困难的,但是在以图15中的熵编码单元23对图像进行编码的情况下,编码所需的时间量为0.03453秒,因此可以恰好大约实时地处理图像。并且,在以图9中的熵解码单元121对图像进行解码的情况下,解码所需的时间的量为0.02750秒,因此可以实时地充分处理图像。Moving images are often displayed at 30 frames per second, so as long as encoding or decoding can be performed at 0.033 (=1/30) seconds per frame, images can be processed in real time. By the JPEG 2000 method, the amount of time necessary for encoding is 0.26157 seconds, and the amount of time necessary for decoding is 0.24718 seconds, so real-time processing of images is difficult, but when encoding images with the
在上文中,已经描述了将编码或解码每预定数量的量化系数的处理应用于JPEG 2000方法的示例,但是这并不限制于JPEG 2000方法,并且可以应用于其他编码方法或解码方法。并且,在上文中,已经描述了对图像数据编码或解码的示例,但是这并不限制于图像数据,并且例如可以被应用于对音频数据等进行编码或者解码的情况。例如,在对音频数据进行编码的情况下,指示通过作为音频数据输入的代码所表达的w个预定值的最大有效位数的代码、指示数值的绝对值的代码、以及指示数值的符号的代码被输出作为已编码音频数据。In the above, an example of applying the process of encoding or decoding every predetermined number of quantized coefficients to the JPEG 2000 method has been described, but this is not limited to the JPEG 2000 method and can be applied to other encoding methods or decoding methods. Also, in the above, an example of encoding or decoding image data has been described, but this is not limited to image data, and can be applied to a case of encoding or decoding audio data or the like, for example. For example, in the case of encoding audio data, a code indicating the maximum number of significant digits of w predetermined values expressed by a code input as audio data, a code indicating an absolute value of a numerical value, and a code indicating a sign of a numerical value is output as encoded audio data.
提及本发明的其他特征,通过根据本发明的编码方法,量化系数无损失地被编码。因此,以更大的步长大小对更高的带系数进行量化以便匹配人类视觉特性允许每生成代码量的图像质量显著改善。并且,降低在特殊空间范围中所使用的量化步长大小允许改善该空间范围的图像质量。Referring to other features of the invention, with the encoding method according to the invention, quantized coefficients are encoded losslessly. Therefore, quantizing higher band coefficients with larger step sizes to match human visual characteristics allows for a significant improvement in image quality per generated code volume. Also, reducing the quantization step size used in a particular spatial range allows for improved image quality in that spatial range.
进而,通过参照本实施例描述的编码方法,对绝对值的有效数位部分的阵列进行编码。如果我们说,对绝对值的有效数位部分进行VLC编码和传输,在绝对值的有效位数为N的情况下,具有2^(N*W)个条目的极大的VLC表格是必需的(不仅增加用于计算处理的负荷和处理时间,而且增加用于保持VLC表格所必需的存储容量)。相反,通过根据本发明的编码方法,不需要使用这种大表格(不仅可以降低用于计算处理的负荷和处理时间,而且可以降低必需的存储容量)。Furthermore, by referring to the encoding method described in this embodiment, the array of the significant digit part of the absolute value is encoded. If we say, VLC encodes and transmits the significand portion of the absolute value, in the case of N significands of the absolute value, a very large VLC table with 2^(N*W) entries is necessary ( Not only the load and processing time for calculation processing are increased, but also the storage capacity necessary for holding the VLC table is increased). In contrast, with the encoding method according to the present invention, it is not necessary to use such a large table (not only the load and processing time for calculation processing can be reduced, but also the necessary storage capacity can be reduced).
并且,可以考虑使用与VLC相比压缩率更高的算术编码,但是即使例如使用诸如JPEG 2000之类的算术编码的压缩方法,与根据本发明的编码方法的情况相比,也并不显著改善压缩率。也就是说,通过参照本实施例所述的编码方法,虽然压缩率高,但是编码处理容易。Also, it may be considered to use arithmetic coding with a higher compression rate than VLC, but even if for example a compression method such as JPEG 2000 is used, compared with the case of the coding method according to the present invention, it is not significantly improved Compression ratio. That is, by referring to the encoding method described in this embodiment, although the compression rate is high, the encoding process is easy.
通过根据本发明的编码方法,对w个集合的系数的绝对值的最大有效位数进行编码,因此可以利用相邻系数的有效位数相似的事实来降低所生成的代码的大小。With the encoding method according to the present invention, the maximum significant digits of the absolute values of the coefficients of w sets are encoded, so the fact that the significant digits of adjacent coefficients are similar can be used to reduce the size of the generated code.
并且,通过根据本发明的编码方法,当对w个集合的系数的绝对值的最大有效位数进行编码时执行差分编码,因此也可以利用在此刻相邻系数的有效位数相似的事实来降低所生成的代码的大小。Also, with the encoding method according to the present invention, differential encoding is performed when encoding the maximum significant digits of the absolute values of the coefficients of w sets, so it is also possible to reduce the The size of the generated code.
接着,将描述图像编码装置11的小波变换单元21和图像解码装置111的小波逆变换单元123的一个具体示例。可以进行这样一种布置,其中,在该小波变换单元21处,使用通用单元,其例如对整个屏幕的图像数据(图片或图层)执行在屏幕的垂直方向和屏幕的水平方向上的分析滤波处理,并且执行将整个屏幕分割成多个子带,但是用下述方法使用执行小波变换处理的单元使得图像能够以更高的速度被编码。以相同方式,可以进行这样一种布置,其中,作为小波逆变换单元123,使用通用单元,其例如对整个屏幕的图像数据(图片或图层)执行在屏幕的垂直方向和屏幕的水平方向上的合成滤波处理,并且对子带进行合成,但是用下述方法使用执行小波逆变换处理的单元使得图像能够以更高的速度被编码。Next, a specific example of the wavelet transform unit 21 of the
图19示出了可应用于本发明的第一实施例的图像编码装置的一个配置示例。图像编码装置401包括小波变换单元410、中途计算缓冲器单元411、系数重布置缓冲器单元412、系数重布置单元413、速率控制单元414、以及熵编码单元415。Fig. 19 shows a configuration example of an image encoding device applicable to the first embodiment of the present invention. The
也就是说,图19中所示的图像编码装置401的小波变换单元410、中途计算缓冲器单元411、系数重布置缓冲器单元412、和系数重布置单元413对应于图1中所示的图像编码装置11的小波变换单元21,并且图19中所示的图像编码装置401的速率控制单元414和熵编码单元415对应于图1中所示的图像编码装置11的量化单元22和熵编码单元23。That is, the
已经被输入的图像数据被暂时积累在中途计算缓冲器单元411中。小波变换单元410对积累在中途计算缓冲器单元411中的图像数据执行小波变换。也就是说,小波变换单元410从中途计算缓冲器单元411读取图像数据,并且通过分析滤波器执行滤波处理,以生成具有低频带分量和高频带分量的系数数据,并且在中途计算缓冲器单元411中存储所生成的系数数据。小波变换单元410具有水平分析滤波器和垂直分析滤波器,并且对于屏幕水平方向和屏幕垂直方向这两个方向上的图像数据群执行分析滤波处理。小波变换单元410再次读取存储在中途计算缓冲器单元411中的低频带分量系数数据,用分析滤波器对于所读取的系数数据执行滤波处理,并且进而生成高频带分量和低频带分量的系数数据。所生成的系数数据被存储在中途计算缓冲器单元411中。Image data that has been input is temporarily accumulated in the halfway
当此处理被重复并且分割级别达到预定级别时,小波变换单元410从中途计算缓冲器单元411读取系数数据,并且将读取的系数数据写入到系数重布置缓冲器单元412中。When this processing is repeated and the division level reaches a predetermined level, the
系数重布置单元413以预定次序读取写入到系数重布置缓冲器单元412中的系数数据,并且提供给熵编码单元415。熵编码单元415例如通过诸如Huffman编码或者算术编码之类的熵编码方法对所提供的系数数据进行编码。The
熵编码单元415被控制,以便与速率控制单元414相结合地进行工作,其中输出压缩编码数据的比特速率是大致的恒定值。也就是说,速率控制单元414基于来自熵编码单元415的编码数据信息,将控制信号提供给熵编码单元415,其中在到达其目标值的时刻或紧接在到达其目标值之前,通过熵编码单元415进行压缩编码的数据的比特速率结束熵编码单元415的编码处理。熵编码单元415在编码处理根据从速率控制单元414提供的控制信号而结束的时刻输出编码数据。The
将更详细地描述小波变换单元410处执行的处理。首先,将给出对小波变换的总体描述。通过如图20粗略示出的图像数据的小波变换,用于将图像数据分割成高频带和低频带的空间频率的处理对作为分割的结果所获得的低频带空间频率的数据进行递归地重复。因而,通过将低频带空间频率的数据驱赶成为更小的区域,可以更加有效地进行压缩编码。The processing performed at the
注意,图20是这样一种情况中的示例,在该情况中,图像数据的最低频带分量区域的分割处理重复三次,分割成低频带分量区域L或高频带分量区域H,由此,分割级别=3。在图20中,“L”和“H”分别表示低频带分量和高频带分量,并且“L”和“H”的次序示出作为前侧被水平分割的结果的频带,以及作为后侧被垂直分割的结果的频带。并且,在“L”和“H”之前的数位表示其区域的分割级别。Note that FIG. 20 is an example in a case where the division process of the lowest frequency band component region of image data is repeated three times, divided into a low frequency band component region L or a high frequency band component region H, whereby the division level=3. In FIG. 20, "L" and "H" represent low-band components and high-band components, respectively, and the order of "L" and "H" shows frequency bands as a result of the front side being horizontally divided, and as the rear side The frequency bands that are the result of the vertical split. And, the digits before "L" and "H" indicate the division level of its area.
并且从图20中的示例可以看出,以阶段方式从屏幕的右下区域向左上区域执行处理,其中驱赶低频带分量。也就是说,通过图20中的示例,被分割为四部分的区域,其中处于屏幕右下方的区域3HH具有最少的低频带分量(包括最多的高频带分量),其被分割为四份的屏幕左上方的区域进一步被分割为四份,并且在这些区域中,在左上方的区域又被进一步分割成四份。在最左上角中的区域是0LL,其具有最多的低频带分量。And as can be seen from the example in FIG. 20 , processing is performed in a stepwise manner from the lower right region to the upper left region of the screen, in which low-band components are driven out. That is to say, with the example in FIG. 20, the area divided into four parts, wherein the area 3HH at the lower right of the screen has the least low-band components (including the most high-band components), which is divided into four parts The area at the upper left of the screen is further divided into four, and among these areas, the area at the upper left is further divided into four. The area in the uppermost left corner is 0LL, which has the most low-band components.
重复执行对低频带分量的变换和分割,因为图像的能量集中在低频带分量中。这也可以根据分割级别从图21A所示的作为一个示例的分割级别=1的状态前进到图21B所示的作为一个示例的分割级别=3的状态,从如图21B中所示形成的子带理解。例如,图20中的小波变换的分割级别为3,因此形成10个子带。Transformation and division of the low-band components are repeatedly performed because the energy of the image is concentrated in the low-band components. This can also proceed from the state of split level = 1 as an example shown in FIG. 21A to the state of split level = 3 shown in FIG. 21B as an example according to the split level, from the child With understanding. For example, the division level of the wavelet transform in Fig. 20 is 3, thus forming 10 subbands.
小波变换单元410一般使用配置有低频带滤波器和高频带滤波器的滤波器库,执行如上所述的处理。注意,数字滤波器一般具有冲激响应,即多个抽头长度的滤波器系数,并且因此需要事先执行仅用于要被执行的滤波处理的量的系数数据或输入图像数据的缓冲。并且,与对多个阶段执行小波变换的情况相似,在之前阶段生成的小波变换系数需要仅以可执行滤波处理的次数进行缓冲。The
接着,作为该小波变换的具体示例,将描述使用5×3滤波器的方法。使用5×3滤波器的方法是一种优秀的方法,在于可以用更少的滤波器抽头执行该小波变换,并且该方法也可与参照常规技术所描述的JPEG 2000标准一起使用。Next, as a specific example of this wavelet transformation, a method using a 5×3 filter will be described. The method using a 5×3 filter is an excellent method in that the wavelet transformation can be performed with fewer filter taps, and this method can also be used with the JPEG 2000 standard described with reference to conventional techniques.
5×3滤波器的冲激响应(Z变换表达)被配置有低频带滤波器H0(z)和高频带滤波器H1(z),如以下表达式(3)和表达式(4)所示。从表达式(3)和表达式(4),可以看出低频带滤波器H0(z)具有5个抽头,并且可以看出高频带滤波器H1(z)具有3个抽头。The impulse response (Z-transform expression) of the 5×3 filter is configured with a low-band filter H 0 (z) and a high-band filter H 1 (z), as in the following expression (3) and expression (4 ) shown. From Expression (3) and Expression (4), it can be seen that the low-band filter H 0 (z) has 5 taps, and that the high-band filter H 1 (z) has 3 taps.
H0(z)=(-1+2z-1+6z-2+2z-3-z-4)/8...(3)H 0 (z)=(-1+2z -1 +6z -2 +2z -3 -z -4 )/8...(3)
H1(z)=(-1+2z-1-z-2)/2...(4)H 1 (z)=(-1+2z -1 -z -2 )/2...(4)
根据表达式(3)和表达式(4),可以直接计算低频带分量和高频带分量的系数。现在,通过使用提升技术,可以减少用于滤波器处理的计算。将参照图22给出对在将提升技术应用于5×3滤波器的情况下使用小波变换的分析滤波器侧的处理的概况。According to Expression (3) and Expression (4), the coefficients of the low-band component and the high-band component can be directly calculated. Now, by using lifting techniques, the calculations used for filter processing can be reduced. An overview of processing on the analysis filter side using wavelet transform in the case of applying the lifting technique to a 5×3 filter will be given with reference to FIG. 22 .
在图22中,最上方阶段部分,中途阶段部分、以及最下方阶段部分各自示出了输入图像的像素列、高频带分量输出、以及低频带分量输出。对于最上方的阶段,它不需要被局限于输入图像的像素列,而且可以是通过之前的滤波处理所获得的系数。在此,最上方阶段部分是输入图像的像素列,其中方形标记表示偶数编号(从0开始)的像素或行,并且圆形标记表示奇数编号的像素或行。In FIG. 22 , the uppermost stage section, the middle stage section, and the lowermost stage section each show a pixel column of an input image, a high-band component output, and a low-band component output. For the uppermost stage, it does not need to be limited to the pixel columns of the input image, but can be the coefficients obtained by the previous filtering process. Here, the uppermost stage part is the pixel columns of the input image, where square marks represent even-numbered (starting from 0) pixels or rows, and circular marks represent odd-numbered pixels or rows.
首先,作为第一阶段,从以下表达式(5)中的输入像素列生成高频带分量系数di 1。First, as a first stage, high-band component coefficients d i 1 are generated from an input pixel column in Expression (5) below.
di 1=di 0-1/2(si 0+si+1 0)...(5)d i 1 =d i 0 -1/2(s i 0 +s i+1 0 )...(5)
接着,作为第二阶段,使用输入图像的奇数编号的像素,从以下表达式(6)中生成低频带分量系数si 1。Next, as a second stage, using odd-numbered pixels of the input image, low-band component coefficients s i 1 are generated from the following Expression (6).
si 1=si 0+1/4(di-1 1+di 1)...(6)s i 1 =s i 0 +1/4(d i-1 1 +d i 1 )...(6)
对于分析滤波器侧,输入图像的图像数据因而通过滤波处理而被分割成低频带分量和高频带分量。For the analysis filter side, the image data of the input image is thus divided into low-band components and high-band components by filter processing.
将参照图23给出合成滤波器侧的处理的概况,该处理用于执行恢复通过小波变换所生成的系数的小波逆变换。图23对应于上述的图22,使用5×3滤波器,并且示出了应用提升技术的示例。在图23中,最上方阶段部分示出了通过小波变换生成的输入系数,其中圆形标记表示高频带系数,并且方形标记表示低频带系数。An overview of processing on the synthesis filter side for performing wavelet inverse transform that restores coefficients generated by wavelet transform will be given with reference to FIG. 23 . FIG. 23 corresponds to FIG. 22 described above, uses a 5×3 filter, and shows an example of applying the lifting technique. In FIG. 23 , the uppermost stage part shows input coefficients generated by wavelet transformation, where circular marks represent high-band coefficients and square marks represent low-band coefficients.
首先,作为第一阶段,根据以下的表达式(7),从输入的低频带分量和高频带分量系数生成偶数编号的系数si 1(从0开始)。First, as a first stage, even-numbered coefficients s i 1 (starting from 0) are generated from the input low-band component and high-band component coefficients according to the following expression (7).
si 0=si 1-1/4(di-1 1+di 1)...(7)s i 0 =s i 1 -1/4(d i-1 1 +d i 1 )...(7)
接着,作为第二阶段,根据以下的表达式(8),从上述第一阶段生成的偶数编号的系数si 0以及输入的高频带分量的系数di 1生成奇数编号的系数di 0。Next, as the second stage, odd - numbered coefficients d i 0 are generated from the even-numbered coefficients s i 0 generated in the above-mentioned first stage and the input coefficients d i 1 of the high-band component according to the following expression (8). .
di 0=di 1+1/2(si 0+si+1 0)...(8)d i 0 =d i 1 +1/2(s i 0 +s i+1 0 )...(8)
对于合成滤波器侧,如此通过滤波处理合成低频带分量和高频带分量的系数,并且执行小波逆变换。For the synthesis filter side, the coefficients of the low-band component and the high-band component are synthesized by filter processing as such, and wavelet inverse transform is performed.
将进一步描述小波变换方法。图24示出了参照图22的通过5×3滤波器提升的滤波处理的示例,其已经被执行到分割级别=2。通过图24,图的左侧示出的作为分析滤波器的部分是图像解码装置401侧的小波变换单元410上的滤波器。并且,图的右侧示出的作为合成滤波器的部分是后述的图像解码装置侧的小波逆变换单元上的滤波器。The wavelet transform method will be further described. FIG. 24 shows an example of the filtering process of lifting by the 5×3 filter referring to FIG. 22 , which has been performed up to division level=2. With FIG. 24 , the portion shown on the left side of the figure as an analysis filter is a filter on the
通过下面的描述,将在显示装置等的屏幕的左上角处的像素作为先导像素,例如让我们说从屏幕的左端到右端扫描像素以配置一行,并且对行的扫描是从屏幕的上端向下端执行的,从而配置成一屏。By the following description, taking the pixel at the upper left corner of the screen of a display device or the like as a leading pixel, for example, let us say that pixels are scanned from the left end to the right end of the screen to configure one row, and the scanning of the row is from the upper end to the lower end of the screen Execution, thus configured into a screen.
在图24中,左端列示出定位得与原始图像数据的行相对应的图像数据以垂直方向排列。也就是说,通过使用垂直的滤波器垂直扫描屏幕上的像素来执行通过小波变换单元410的滤波处理。示出了从左端开始对第一列到第三列的分割级别=1的滤波处理,并且第四列到第六列示出分割级别=2的滤波处理。从左端开始的第二列示出了基于左侧的原始图像数据的图像的高频带分量输出,并且从左端开始的第三列示出了基于原始图像数据以及高频带分量输出的低频带分量输出。其中对于分割级别=1的滤波处理输出处理分割级别=2的滤波处理,如从左端开始的第4列到第6列所示。In FIG. 24 , the left end column shows that the image data positioned corresponding to the rows of the original image data are arranged in the vertical direction. That is, the filtering process by the
通过其中分割级别=1的滤波处理,基于原始图像数据像素计算高频带分量系数数据作为第一阶段滤波处理,并且基于在第一阶段滤波处理处计算的高频带分量系数数据和原始图像数据像素,计算低频带分量系数数据。在图24的左侧(分析滤波器侧)的从第一列到第三列中示出分割级别=1的一个示例的滤波处理。所计算的高频带分量系数数据被存储在图19中所描述的系数重布置缓冲器单元412中。并且,所计算的低频带分量系数数据被存储在中途计算缓冲器单元411中。By filter processing in which division level=1, high-band component coefficient data is calculated based on original image data pixels as first-stage filter processing, and based on the high-band component coefficient data calculated at the first-stage filter processing and the original image data pixel, computes low-band component coefficient data. Filter processing of one example of division level=1 is shown in the first column to the third column on the left side (analysis filter side) of FIG. 24 . The calculated high-band component coefficient data is stored in the coefficient
在图24中,系数重布置缓冲器单元412被示出作为用点划线包围的部分,并且中途计算缓冲器单元411被示出作为被虚线包围的部分。In FIG. 24 , the coefficient
基于在中途计算缓冲器单元411中所保持的分割级别=1的滤波处理的结果,执行其中分割级别=2的滤波处理。对于分割级别=2的滤波处理,在分割级别=1的滤波处理中作为低频带分量系数所计算的系数数据被作为包括低频带分量和高频带分量的系数数据,并且执行与分割级别=1的滤波处理相似的滤波处理。通过分割级别=2的滤波处理所计算的高频带分量系数数据和低频带分量系数数据被存储在参照图19所描述的系数重布置缓冲器单元412中。Based on the result of the filter processing of the division level=1 held in the midway
在小波变换单元410处,在屏幕的水平方向和垂直方向的每个方向上执行上述的滤波处理。例如,首先,在水平方向上执行分割级别=1的滤波处理,并且所生成的高频带分量和低频带分量的系数数据被存储在中途计算缓冲器单元411中。接着,对于存储在中途计算缓冲器单元411中的系数数据,在垂直方向上执行分割级别=1的滤波处理。通过这种分割级别=1的水平和垂直方向的处理,形成四个区域,它们是各通过将高频带分量进一步分割成高频带分量和低频带分量而得到的系数数据所形成的区域HH和区域HL,以及各通过将低频带分量进一步分割成高频带分量和低频带分量而得到的系数数据所形成的区域LH和区域LL。At the
对于分割级别=2,在水平方向和垂直方向的每一个方向上,对通过分割级别=1所生成的低频带分量的系数数据执行滤波处理。也就是说,对于分割级别=2,在分割级别=1处通过分割形成的区域LL被进一步分割成四个区域,从而进一步在区域LL内形成区域HH、区域HL、区域LH、以及区域LL。For division level=2, filter processing is performed on the coefficient data of the low-band component generated by division level=1 in each of the horizontal direction and the vertical direction. That is, for division level=2, the area LL formed by division at division level=1 is further divided into four areas, thereby further forming area HH, area HL, area LH, and area LL within area LL.
对于第一实施例,以阶段方式多次执行通过小波变换的滤波处理,将该处理分割成屏幕的垂直方向上的若干行的增加。对于图24中的示例,作为从屏幕上的第一行开始的处理的第一次处理执行对七行的滤波处理,并且作为从第八行开始的第二次处理以及之后的处理以四行为增加来执行滤波处理。行数基于在分割成两份即高频带分量和低频带分量之后生成相当于一行的最低频带分量所必需的行数。With the first embodiment, filtering processing by wavelet transformation is performed multiple times in a staged manner, the processing being divided into increments of several lines in the vertical direction of the screen. With the example in FIG. 24 , the first processing as processing from the first line on the screen performs filtering processing for seven lines, and the second processing from the eighth line and subsequent processing is carried out in four lines. Added to perform filtering processing. The number of lines is based on the number of lines necessary to generate the lowest band component equivalent to one line after division into two parts, a high band component and a low band component.
此后,将生成相当于一行(相当于一行的最低频带分量的子带的系数数据)的最低频带分量所必需的、且包括其他子带的行的集合称作行块(或者分区)。在此,一行指的是相当于在一个图片或图层内、或者每个子带内形成的像素数据或者系数数据的一行,对应于小波变换之前的图像数据。也就是说,行块(分区)指的是在小波变换之前的原始图像数据中,相当于小波变换之后生成相当于最低频带分量子带的一行的系数数据所必需的行数的像素数据群,或者通过其像素数据群的小波变换获得的每个子带的系数数据群。Hereinafter, a set of rows including other subbands required to generate the lowest band component corresponding to one row (subband coefficient data corresponding to the lowest band component of one row) is called a row block (or partition). Here, one line refers to one line corresponding to pixel data or coefficient data formed in one picture or layer, or in each subband, and corresponds to image data before wavelet transformation. That is, the line block (division) refers to a group of pixel data corresponding to the number of lines necessary to generate coefficient data corresponding to one line of the lowest frequency band component subband after the wavelet transform in the original image data before the wavelet transform, Or the coefficient data group of each sub-band obtained by wavelet transform of its pixel data group.
根据图24,通过分割级别=2的滤波处理结果获得的系数C5基于存储在中途计算缓冲器单元411中的系数Ca而被计算,并且系数C4基于存储在中途计算缓冲器单元411中的系数Ca、系数Cb、和系数Cc而被计算。进而,系数Cc基于存储在系数重布置缓冲器单元412中的系数C2和系数C3以及基于第五行的像素数据而被计算。并且,系数C3基于第五行到第七行中的像素数据而被计算。因而,为了获得分割级别=2的低频带分量系数C5,第一行到第七行中的像素数据是必需的。According to FIG. 24 , the coefficient C5 obtained by the filter processing result of division level=2 is calculated based on the coefficient C a stored in the midway
另一方面,对于第二次和之后的滤波处理,可以使用直到上次滤波处理为止已被计算并存储在系数重布置缓冲器单元412中的系数数据,因此必需的行的数量更小。On the other hand, for the second and subsequent filter processing, coefficient data that has been calculated and stored in the coefficient
换言之,根据图24,在分割级别=2的滤波处理结果获得的低频带分量系数中,作为系数C5之后的下一个系数的系数C9基于系数C4和系数C8,以及基于存储在中途计算缓冲器单元411中的系数Cc而被计算。系数C4已经通过上述的第一次滤波处理而被计算,并且被存储在系数重布置缓冲器单元412中。相似地,系数Cc已经通过上述的第一次滤波处理而被计算,并且被存储在中途计算缓冲器单元411中。因此,对于此第二次滤波处理,仅新执行用于计算系数C8的滤波处理。也使用第八行到第十一行来执行此新的滤波处理。In other words, according to FIG. 24 , among the low-band component coefficients obtained as a result of the filter processing of division level=2, the coefficient C9 which is the next coefficient after the coefficient C5 is based on the coefficient C4 and the coefficient C8, and based on the coefficient stored in the midway calculation buffer unit The coefficient C c in 411 is calculated. The coefficient C4 has been calculated through the above-described first-time filtering process, and is stored in the coefficient
因而,对于第二次以及之后的滤波处理,可以使用直到上次滤波处理为止已被计算并存储在中途计算缓冲器单元411和系数重布置缓冲器单元412中的数据,因此可以仅以每四行为增加执行处理。Thus, for the second and subsequent filter processing, data that has been calculated and stored in the midway
注意,在屏幕上的行数量与已编码的行数量不匹配的情况下,原始图像数据的行以预定方式被复制,以便与已编码的行数量匹配,之后执行滤波处理。Note that in the case where the number of lines on the screen does not match the number of encoded lines, the lines of the original image data are copied in a predetermined manner so as to match the number of encoded lines, after which filtering processing is performed.
虽然之后将描述细节,但是对于本发明,通过对于整个屏幕的行被分割为若干次(以行块为增加),以阶段执行仅获得相当于最低频带分量的一行的系数数据的滤波处理,从而在传送已编码数据的情况下可以以最少的延迟获得已解码图像。Although the details will be described later, with the present invention, by dividing the lines of the entire screen into several times (increased by line blocks), the filtering process of obtaining only the coefficient data of one line equivalent to the lowest frequency band component is performed in stages, thereby Decoded images can be obtained with minimal delay in the case of transmitted encoded data.
为了执行小波变换,需要用于执行小波变换本身的第一缓冲器和用于存储在执行处理直到预定分割级别的期间所生成的系数的第二缓冲器。第一缓冲器对应于中途计算缓冲器单元411,并且在图24中被示出为由虚线包围。并且,第二缓冲器对应于系数重布置缓冲器单元412,并且在图24中被示出为由点划线包围。在解码的情况下使用存储在第二缓冲器中的系数,因而在之后的步骤中是熵编码处理的对象。In order to perform wavelet transformation, a first buffer for performing wavelet transformation itself and a second buffer for storing coefficients generated during execution of processing up to a predetermined division level are required. The first buffer corresponds to the midway
将描述在系数重布置单元413处的处理。如上所述,在小波变换单元410处计算的系数数据被存储在系数重布置缓冲器单元412中、由系数重布置单元413重布置并且被读出、并且被传输到熵编码单元415。Processing at the
如上所述,通过小波变换,从高频带分量侧到低频带分量侧生成系数。在图24中的示例中,在第一次,高频带分量系数C1、系数C2、以及系数C3在分割级别=1的滤波处理中从原始图像的像素数据被顺序地生成。然后,对于在分割级别=1的滤波处理中获得的低频带分量系数数据,执行分割级别=2的滤波处理,从而顺序地生成低频带分量系数C4和系数C5。也就是说,第一次,以系数C1、系数C2、系数C3、系数C4、和系数C5的次序生成系数数据。基于小波变换的原理,系数数据的生成次序总是按照这种次序(从高频带到低频带的次序)。As described above, by wavelet transform, coefficients are generated from the high-band component side to the low-band component side. In the example in FIG. 24 , at the first time, the high-band component coefficient C1 , coefficient C2 , and coefficient C3 are sequentially generated from the pixel data of the original image in the filter processing of division level=1. Then, for the low-band component coefficient data obtained in the filter processing of the division level=1, the filter processing of the division level=2 is performed, thereby sequentially generating the low-band component coefficient C4 and the coefficient C5. That is, for the first time, coefficient data is generated in the order of coefficient C1, coefficient C2, coefficient C3, coefficient C4, and coefficient C5. Based on the principle of wavelet transform, the generation order of coefficient data is always in this order (order from high frequency band to low frequency band).
相反,在解码侧,为了以低延迟立即解码,必需从低频带分量生成和输出图像。因此,希望对在编码侧生成的系数数据从低频带分量侧到高频带分量侧进行重布置,并且将其提供给解码侧。In contrast, on the decoding side, in order to decode immediately with low delay, it is necessary to generate and output images from low-band components. Therefore, it is desirable to rearrange the coefficient data generated on the encoding side from the low-band component side to the high-band component side and supply it to the decoding side.
将参照图24给出更详细的描述。图24的右侧示出了执行逆小波变换的合成滤波器侧。利用在编码侧的第一次滤波处理处生成的最低频带分量系数C4和系数C5,以及系数C1,执行包括解码侧的第一行输出图像数据的第一次合成处理(逆小波变换处理)。A more detailed description will be given with reference to FIG. 24 . The right side of FIG. 24 shows the side of the synthesis filter that performs inverse wavelet transform. Using the lowest frequency band component coefficients C4 and C5 generated at the first filtering process on the encoding side, and the coefficient C1, the first synthesizing process (inverse wavelet transform process) including the output image data of the first line on the decoding side is performed.
也就是说,通过第一次合成处理,系数数据以系数C5、系数C4、以及系数C1的次序从编码侧被提供到解码侧,从而在解码侧,通过作为对应于分割级别=2的合成处理的合成级别=2的处理,执行对于系数C5和C4的合成处理,以生成系数Cf,并且将该系数Cf存储在缓冲器中。接着,通过作为对应于分割级别=1的合成处理的合成级别=1的处理,执行对于系数Cf和系数C1的合成处理,从而输出第一行。That is, through the first synthesis processing, coefficient data is supplied from the encoding side to the decoding side in the order of coefficient C5, coefficient C4, and coefficient C1, so that on the decoding side, by the synthesis processing as corresponding to division level=2 In the processing of synthesis level=2 of , the synthesis processing for the coefficients C5 and C4 is performed to generate the coefficient Cf, and the coefficient Cf is stored in the buffer. Next, synthesis processing for the coefficient Cf and the coefficient C1 is performed by processing of synthesis level=1 which is synthesis processing corresponding to division level=1, thereby outputting the first line.
因而,通过第一次合成处理,在编码侧以系数C1、系数C2、系数C3、系数C4、和系数C5的次序生成、并且存储在系数重布置缓冲器单元412中的系数数据被重布置为系数C5、系数C4、系数C1等的次序,并且被提供给解码侧。Thus, by the first synthesis process, the coefficient data generated in the order of coefficient C1, coefficient C2, coefficient C3, coefficient C4, and coefficient C5 on the encoding side and stored in the coefficient
注意,通过图24的右侧所示的合成滤波器侧,通过括号中的编码侧的系数的号码来参照从编码侧提供的系数,并且示出了括号外的合成滤波器的行号。例如,系数C1(5)示出,在图24的左侧的分析滤波器侧它是系数C5,并且在合成滤波器侧处于第一行。Note that with the synthesis filter side shown on the right side of FIG. 24 , the coefficients supplied from the encoding side are referred to by the numbers of the coefficients on the encoding side in parentheses, and the row numbers of the synthesis filters outside the parentheses are shown. For example, coefficient C1(5) shows that it is coefficient C5 on the analysis filter side on the left side of FIG. 24 and is in the first row on the synthesis filter side.
可以使用从前次的合成处理的情况下的合成、或者从编码侧提供的系数数据,执行通过在编码侧上通过第二次或之后的滤波处理所生成的系数数据而进行的在解码侧的合成处理。在图24的示例中,使用在编码侧的第二次滤波处理所生成的低频带分量系数C8和系数C9而执行的解码侧的第二次合成处理还需要在编码侧的第一次滤波处理所生成的系数C2和系数C3,并且对第二行到第五行进行解码。Synthesis on the decoding side by coefficient data generated by the second or subsequent filter processing on the encoding side may be performed using synthesis from the case of the previous synthesis processing, or coefficient data supplied from the encoding side deal with. In the example of FIG. 24 , the second synthesis processing on the decoding side performed using the low-band component coefficient C8 and coefficient C9 generated by the second filtering processing on the encoding side also requires the first filtering processing on the encoding side. The coefficients C2 and C3 are generated, and the second to fifth lines are decoded.
也就是说,通过第二次合成处理,系数数据以系数C9、系数C8、系数C2、系数C3的次序从编码侧被提供给解码侧。在解码侧,通过合成级别=2的处理,使用系数C8和系数C9、以及在第一次合成处理时从编码侧提供的系数C4生成系数Cg。使用系数Cg和上述系数C4、以及通过第一次合成处理所生成的并且存储在缓冲器中的Cf,生成系数Ch,并且将系数Ch存储在缓冲器中。That is, through the second synthesis process, coefficient data is supplied from the encoding side to the decoding side in the order of coefficient C9, coefficient C8, coefficient C2, coefficient C3. On the decoding side, the coefficient Cg is generated using the coefficients C8 and C9, and the coefficient C4 supplied from the encoding side at the time of the first synthesis process, by the processing of synthesis level=2. Using the coefficient C g and the above-mentioned coefficient C4 , and C f generated by the first synthesis process and stored in the buffer, the coefficient C h is generated and stored in the buffer.
通过合成级别=1的处理,使用在合成级别=2的处理中所生成并且存储在缓冲器中的系数Cg和系数Ch、从编码侧提供的系数C2(对于合成滤波器被示出为系数C6(2))、以及系数C3(对于合成滤波器被示出为系数C7(3))来执行合成处理,并且对第二行到第五行进行解码。By the processing of synthesis level= 1 , the coefficient C2 (shown as Coefficient C6(2)), and coefficient C3 (shown as coefficient C7(3) for the synthesis filter) to perform synthesis processing, and decode the second to fifth lines.
因而,通过第二次合成处理,在编码侧生成的系数数据,作为系数C2、系数C3、(系数C4、系数C5)、系数C6、系数C7、系数C8、系数C9被重布置,并且以系数C9、系数C8、系数C2、系数C3等的次序被提供给解码侧。Thus, by the second synthesizing process, the coefficient data generated on the encoding side are rearranged as coefficient C2, coefficient C3, (coefficient C4, coefficient C5), coefficient C6, coefficient C7, coefficient C8, coefficient C9, and are rearranged in the form of coefficient The order of C9, coefficient C8, coefficient C2, coefficient C3, etc. is provided to the decoding side.
因而,对于第三次以及之后的合成处理,相似地,存储在重布置缓冲器单元12中的系数数据以预定方式被重布置,并且被提供给解码单元,其中以四行为增加对各行进行解码。Thus, for the synthesis processing of the third time and thereafter, similarly, the coefficient data stored in the rearrangement buffer unit 12 is rearranged in a predetermined manner, and supplied to the decoding unit, in which each row is decoded in increments of four rows .
注意,对于与包括编码侧的屏幕的底端处的行的滤波处理相对应的解码侧的合成处理,直到此时所生成的、并且存储在缓冲器中的系数数据都要被输出,因此输出行数增加。对于图24中的示例,在最后一次期间输出八行。Note that for the synthesis processing on the decoding side corresponding to the filtering processing including the line at the bottom end of the screen on the encoding side, the coefficient data generated up to this point and stored in the buffer are all output, so output The number of rows increases. For the example in Figure 24, eight lines are output during the last pass.
注意,通过系数重布置单元413对系数数据的重布置处理例如将在读出存储在系数重布置缓冲器单元412中的系数数据的情况下的读出地址设定为预定次序。Note that the rearrangement processing of the coefficient data by the
将参照图25更详细地描述上述处理。图25是使用5×3滤波器直到分割级别=2执行通过小波变换的滤波处理的示例。通过小波变换单元410,作为图25的A所示的一个例子,在水平和垂直方向中的每一个方向上,对输入图像数据的第一行到第七行执行第一次滤波处理(图25中的A的In-1)。The above processing will be described in more detail with reference to FIG. 25 . FIG. 25 is an example of performing filtering processing by wavelet transform using a 5×3 filter up to division level=2. By the
通过第一次滤波处理的分割级别=1的处理,生成相当于三行的系数C1、系数C2、以及系数C3的系数数据,并且作为图25的B中所示的一个示例,这些系数数据各自被布置在通过分割级别=1的处理形成的区域HH、区域HL、以及区域LH中(图25中的B中的WT-1)。By the processing of division level=1 of the first filter processing, coefficient data of coefficient C1, coefficient C2, and coefficient C3 equivalent to three lines are generated, and as an example shown in B of FIG. 25 , these coefficient data are each Arranged in the region HH, region HL, and region LH formed by the processing of division level=1 (WT-1 in B in FIG. 25 ).
并且,通过分割级别=2的在水平和垂直方向上的滤波处理,通过分割级别=1形成的区域LL被进一步分割成四份。对于分割级别=2生成的系数C5和系数C4,在通过分割级别=1的区域LL之内,一行通过系数C5被放置在区域LL中,并且一行通过系数C4被放置在区域HH、区域HL、以及区域LH中的每一个区域中。And, the region LL formed by the division level=1 is further divided into four by the filter processing in the horizontal and vertical directions of the division level=2. For the coefficient C5 and the coefficient C4 generated by the division level=2, within the area LL by the division level=1, one line by the coefficient C5 is placed in the area LL, and one line by the coefficient C4 is placed in the area HH, the area HL, and in each of the regions LH.
对于通过小波变换单元410的第二次和随后的滤波处理,以四行为增加执行滤波处理(图25中的A的In-2...),在分割级别=1处以两行为增加生成系数数据(图25的B中的BW-2),并且在分割级别=2处以一行为增加生成系数数据。For the second and subsequent filter processing by the
对于图24中的第二次的示例,在分割级别=1的滤波处理处生成相当于两行的系数C6和系数C7的系数数据,并且作为图25的B中所示的一个示例,这些系数数据被放置在通过分割级别=1所形成的区域HH、区域HL、以及区域LH的第一次滤波处理处生成的系数数据之后。在通过分割级别=1的区域LL内,相当于一行的通过分割级别=1的滤波处理所生成的系数C9被放置在区域LL中,并且相当于一行的系数C8被放置在区域HH、区域HL、以及区域LH中的每一个区域中。For the example of the second time in FIG. 24 , coefficient data of coefficient C6 and coefficient C7 equivalent to two lines are generated at the filter processing of division level=1, and as an example shown in B of FIG. 25 , these coefficients The data is placed after the coefficient data generated at the first filtering process of the region HH, the region HL, and the region LH formed by the division level=1. In the region LL by the division level=1, the coefficient C9 corresponding to one row generated by the filtering process of the division level=1 is placed in the region LL, and the coefficient C8 equivalent to one row is placed in the regions HH, HL , and in each of the regions LH.
作为图25的C所示的一个示例,在对如图25的B中那样经过小波变换的数据进行解码的情况下,对应于编码侧的通过第一行到第七行的第一次滤波处理,通过解码侧的第一次合成处理的第一行被输出(图25的C中的Out-1)。此后,对应于从编码侧的从第二次直到最后一次之前的滤波处理,一次输出四行到解码侧(图25的C中的Out-2,...)。对应于编码侧的最后一次的滤波处理,在解码侧输出八行。As an example shown in C of FIG. 25, in the case of decoding data subjected to wavelet transformation as in B of FIG. , the first line through the first synthesis process on the decoding side is output (Out-1 in C of FIG. 25 ). Thereafter, four lines are output at a time to the decoding side (Out-2, . Corresponding to the last filtering process on the encoding side, eight lines are output on the decoding side.
由小波变换单元410从高频带分量侧到低频带分量侧生成的系数数据被顺序地存储在系数重布置缓冲器单元412中。通过系数重布置单元413,当系数数据被积累在系数重布置缓冲器单元412中直到可以执行上述系数重布置时,以必要的次序重布置系数数据,并且将其从系数重布置缓冲器单元412中读出。所读出的系数数据被顺序提供给熵编码单元415。The coefficient data generated by the
熵编码单元415控制编码操作,使得输出数据的比特速率基于从速率控制单元414提供的控制信号而变为目标比特速率,并且执行对所提供的系数数据的熵编码,如参考图1到图18所描述的。经过了熵编码的已编码数据被提供给解码侧。The
注意,熵编码单元415因而能够对所提供的系数数据执行编码处理,而不执行量化,但是对于其中系数数据首先进行与参照图1所描述的量化单元22所进行的相同方式的量化、然后对所获得的量化细数执行与熵编码单元23所进行的相同的信源编码处理的布置,可以预期更进一步改善的压缩优势。对于此量化的方法,可以使用任何方法,并且例如,可以使用常用的手段,即用于将系数数据W通过量化步长大小Δ进行分割的手段,诸如以下表达式(9)中所示的那样。Note that the
量化系数=W/Δ ...(9)Quantization coefficient = W/Δ ... (9)
如参照图24和25所描述,对于根据本发明的第一实施例,小波变换单元410以多行图像数据为增加(以行块为增加)执行小波变换处理。用熵编码单元415编码的已编码数据以这些行块为增加而被输出。也就是说,在使用5×3滤波器执行直到分割级别=2的处理的情况下,对于一屏数据的输出,获得输出,第一次一行,从第二次到最后一次之前一次各四行,并且最后一次输出八行。As described with reference to FIGS. 24 and 25 , with the first embodiment according to the present invention, the
注意,在对用系数重布置单元413重布置之后的系数数据进行熵编码的情况下,例如,在用例如图24所示的第一次滤波处理对第一个系数C5的行执行熵编码的情况下,没有历史行,即没有已经通过系数数据生成的行。因此在这种情况下,仅对该一行进行熵编码。相反,在对系数C1的行进行编码的情况下,系数C5和系数C4的行变为历史行。相互接近的多个行可以被认为配置有相似的数据,因而使该多个行一起进行熵编码是有效的。Note that, in the case of performing entropy encoding on the coefficient data after rearrangement by the
并且,如上所述,对于小波变换单元410,描述了用于使用5×3滤波器执行通过小波变换的滤波处理的示例,但是并不应该局限于这个示例。例如,对于小波变换单元410,可以使用具有更长抽头数量的滤波器,诸如9×7滤波器。在这种情况下,如果抽头数量更长,则积累在滤波器中的行的数量也增加,因此从图像数据输入直到已编码数据的输出的延迟时间变得更长。Also, as described above, with the
并且,对于上述描述,为了便于描述,将小波变换的分割级别描述为分割级别=2,但是并不应该局限于此,并且分割级别可以进一步增大。分割级别越增加,越能够实现更好的高压缩率。例如,通常,对于小波变换,重复直到分割级别=4的滤波处理。注意,随着分割级别增加,延迟时间也显著增加。Also, for the above description, for convenience of description, the division level of wavelet transform is described as division level=2, but it should not be limited thereto, and the division level can be further increased. The more the division level is increased, the better the high compression ratio can be achieved. For example, generally, for wavelet transform, filtering processing up to division level=4 is repeated. Note that the latency increases significantly as the segmentation level increases.
因此,在应用于实际系统的情况下,希望根据系统所需要的已解码图像的延迟时间或者图片质量来确定滤波器抽头数量或者分割级别。滤波器抽头数量或者分割级别不需要是固定值,也可以是可适当选择的。Therefore, when applied to an actual system, it is desirable to determine the number of filter taps or the division level according to the delay time or picture quality of the decoded image required by the system. The number of filter taps or the division level does not need to be a fixed value, and may be appropriately selected.
接着,将参考图26中的流程图描述例如根据如上述的那样的图像编码装置401的整体编码处理的具体流程示例。Next, a specific flow example of the overall encoding process, for example, according to the
在编码处理开始时,在步骤S401中,小波变换单元410将要被处理的行块的号码A设定为初始设定。在一般情况下,号码A被设定为“1”。在设定结束时,在步骤S402中,小波变换单元410获得生成从最低频带子带的顶端开始的第A行的一行所必需的行数量(即一个行块)的图像数据,对于其图像数据,在步骤S403中执行垂直分析滤波处理,用于对在屏幕垂直方向上排列的图像数据执行分析滤波,并且在步骤S404中执行水平分析滤波处理,用于对在屏幕水平方向上排列的图像数据执行分析滤波。At the start of the encoding process, in step S401, the
在步骤S405中,小波变换单元410确定分析滤波处理是否已经执行到最后的级别,并且在确定分割级别还没有达到最后的级别的情况下,处理返回到步骤S403,其中步骤S403和步骤S404中的分析滤波处理对于当前分割级别重复。In step S405, the
在步骤S405中确定分析滤波处理已经被执行到最后的级别的情况下,小波变换单元410使处理前进到步骤S406。In a case where it is determined in step S405 that the analysis filtering process has been performed to the final level, the
在步骤S406中,系数重布置单元413以从低频带到高频带的次序重布置行块A(从图片(在隔行扫描方法的情况下为图层)顶部开始的第A个行块)的系数。在步骤S407中,熵编码单元415使系数以行为增加进行熵编码。在熵编码结束时,在步骤S408中,熵编码单元415外部地传送行块A的已编码数据。In step S406, the
小波变换单元410在步骤S409中使号码A的值增加“一”,使接下来的行块接受处理,并且在步骤S410中确定是否在要被处理的图片中有未处理的图像输入行。在确定存在未处理的图像输入行的情况下,处理返回到步骤S402,并且对于要被处理的新行块重复之后的处理。The
如上所述,重复执行步骤S402到步骤S410中的处理,以对每个行块进行编码。在步骤S410中判断没有未处理的图像输入行的情况下,小波变换单元410结束对该图片的编码处理。对于下一幅图片,开始新的编码处理。As described above, the processing in steps S402 to S410 is repeatedly performed to encode each line block. When it is determined in step S410 that there is no unprocessed image input line, the
在常规小波变换方法的情况下,首先,对整幅图片执行水平分析滤波处理,然后对整幅图片执行垂直分析滤波处理。然后对整个所获得的低频带分量顺序执行相似的水平分析滤波处理和垂直分析滤波处理。如上所述,递归地重复分析滤波处理,直到分割处理达到最后级别。因此,每个分析滤波处理的结果需要被保持在缓冲器中,但是在这种情况下,缓冲器需要保持整幅图片或该时间点该分割级别的整个低频带分量的滤波结果,这需要大存储容量(要保持的数据量很大)。In the case of the conventional wavelet transform method, first, horizontal analysis filtering processing is performed on the entire picture, and then vertical analysis filtering processing is performed on the entire picture. Similar horizontal analysis filter processing and vertical analysis filter processing are then sequentially performed on the entire obtained low-band components. As described above, the analysis filtering process is repeated recursively until the segmentation process reaches the final level. Therefore, the result of each analysis filtering process needs to be held in the buffer, but in this case, the buffer needs to hold the filtering result of the entire picture or the entire low-frequency band component of the division level at this point in time, which requires a large Storage capacity (the amount of data to be kept is large).
并且,在这种情况下,如果用于整幅图片的小波变换不结束,则不能执行之后阶段中的系数重布置或熵编码,因而显著增加延迟时间。Also, in this case, if wavelet transformation for the entire picture does not end, coefficient rearrangement or entropy encoding in the subsequent stage cannot be performed, thus significantly increasing delay time.
相反,在图像编码装置401的小波变换单元410的情况下,以行块为增加连续执行垂直分析滤波处理和水平分析滤波处理直到最后的级别,如上所述,因此与常规方法比较,需要一次(相同的时间段期间)保持(缓冲)的数据量较小,因而显著降低要在缓冲器中准备的存储容量。并且,通过执行分析滤波处理直到最后的级别,也可以执行用于系数重布置或者熵编码处理的稍后的步骤(即可以以行块为增加来执行系数重布置或者熵编码)。因此,与常规方法相比,可以显著降低延迟时间。On the contrary, in the case of the
图27示出了与图19中的图像编码装置401相对应的图像解码装置的配置的一个示例。从图19中的图像编码装置401的熵编码单元415输出的已编码数据(图19中的已编码数据输出)被提供给图27中的图像解码装置420的熵解码单元421(图27中的已编码数据输入),熵编码被解码,并且成为系数数据。系数数据被存储在系数缓冲器单元422中。小波逆变换单元423使用存储在系数缓冲器单元422中的系数数据,例如以便通过合成滤波器执行如参考图23和图24所述的合成滤波处理,并且在系数缓冲器单元422中再次存储合成滤波处理的结果。小波逆变换单元423根据分割级别重复该处理,以获得已解码图像数据(输出图像数据)。FIG. 27 shows one example of the configuration of an image decoding device corresponding to the
图27所示的图像解码装置420的熵解码单元421对应于图8中的图像解码单元111的熵解码单元121和逆量化单元122,并且图像解码装置420的系数缓冲器单元422和小波逆变换单元423对应于图像解码单元111的小波逆变换单元123。The
也就是说,省略了对小波逆变换方法几乎没有关系的逆量化处理(逆量化单元122)的描述,这是因为这里的描述是关于小波逆变换的。当然,在要在图像编码单元401处执行量化的情况下,可以进行这样一种布置,其中执行与逆量化单元122所进行的相同的逆量化(对应于图像编码装置401处的量化的逆量化),并且将所获得的小波系数提供给系数缓冲器单元422(小波逆变换单元123)。因而,可以预期对压缩效果的进一步改善。That is, the description of inverse quantization processing (the inverse quantization unit 122 ), which has little relation to the wavelet inverse transform method, is omitted because the description here is about wavelet inverse transform. Of course, in the case where quantization is to be performed at the
接着,将参照图28中的流程图描述通过诸如上述的图像解码装置420进行的整个解码处理的具体流程示例。Next, a specific flow example of the entire decoding process by the
在解码处理开始时,在步骤S431中,熵解码单元421获得已编码数据,并且在步骤S432中以行为增加对已编码数据进行熵解码。在步骤S433,系数缓冲器单元422保持如此解码和获得的系数。在步骤S434中,小波逆变换单元423确定是否相当于一个行块的系数已经被积累在系数缓冲器单元422中,并且如果确定没有积累,则处理返回到步骤S431,执行之后的处理,并且小波逆变换单元423等候,直到相当于一个行块的系数已经被积累在系数缓冲器单元422中。At the start of the decoding process, in step S431, the
在步骤S434中确定相当于一个行块的系数已经被积累在系数缓冲器单元422中的情况下,小波逆变换单元423使处理前进到步骤S435,并且读出保持在系数缓冲器单元422中的相当于一个行块的系数。In a case where it is determined in step S434 that coefficients equivalent to one line block have been accumulated in the
小波逆变换单元423在步骤S436中对读出的系数进行垂直合成滤波处理,其对在屏幕垂直方向上排列的系数执行合成滤波处理,并且在步骤S437中,执行水平合成滤波处理,其对在屏幕水平方向上排列的系数执行合成滤波处理,并且在步骤S438中确定是否合成滤波处理已经通过级别一结束(其中分割级别的值为“1”的级别),即确定是否逆变换已被执行到小波变换之前的状态,并且如果确定没有达到级别一,处理返回到步骤S436,从而重复步骤S436和步骤S437中的滤波处理。The wavelet
在步骤S438中,如果确定逆变换处理已经通过级别1结束,则小波逆变换单元423使处理前进到步骤S439,并且外部输出通过逆变换处理所获得的图像数据。In step S438, if it is determined that the inverse transform processing has ended by
在步骤S440中,熵解码单元421确定是否要结束解码处理,并且在确定已编码数据的输入是闪歇的,并且解码处理将不结束的情况下,处理返回到步骤S431,并且重复其后的处理。并且,在步骤S440中,在已编码数据的输入结束,依此类推,使得解码处理结束的情况下,熵解码单元421结束该解码处理。In step S440, the
在使用常规小波逆变换方法的情况下,首先,在屏幕水平方向上对要被处理的分割级别的所有系数执行水平合成滤波,然后在屏幕垂直方向上执行垂直合成滤波。也就是说,对于每次执行合成滤波处理时,合成滤波处理的结果需要被保持在缓冲器中,但是在这种情况下,缓冲器需要保持该时间点的分割级别的合成滤波结果,以及下一分割级别的全部系数,这需要大的存储容量(要被保持的数据量很大)。In the case of using the conventional wavelet inverse transform method, first, horizontal synthesis filtering is performed on all coefficients of the division level to be processed in the screen horizontal direction, and then vertical synthesis filtering is performed in the screen vertical direction. That is to say, for each execution of the synthesis filtering process, the result of the synthesis filtering process needs to be held in the buffer, but in this case, the buffer needs to hold the synthesis filtering result of the division level at that time point, and the following All coefficients of a division level, which requires a large storage capacity (the amount of data to be held is large).
并且,在这种情况下,直到在图片(在隔行方法的情况下为图层)内所有小波逆变换都完成之前,不执行图像数据输出,因此从输入到输出的延迟时间显著增大。Also, in this case, image data output is not performed until all wavelet inverse transformations within the picture (layer in the case of the interlaced method) are completed, so the delay time from input to output increases significantly.
相反,在如上所述的图像解码装置420的小波逆变换单元423的情况下,以行块为增加来连续执行垂直合成滤波处理和水平合成滤波处理,直到级别1,因此与常规方法相比,需要一次(相同的时间段期间)缓冲的数据量较小,因而便于降低要在缓冲器中准备的存储容量。并且,通过执行合成滤波处理(小波逆变换处理)直到级别1,可以在获得图片内的所有图像数据之前(以行块为增加)顺序输出图像数据,因而与常规方法相比,可以显著降低延迟时间。In contrast, in the case of the wavelet
图19中所示的图像编码装置401或者图27中所示的图像解码装置420的各种元件的操作(图26中的编码处理或者图28中的解码处理)例如根据预定程序而被未示出的CPU(中央处理单元)控制。该程序例如被事先存储在未示出的ROM(只读存储器)中。然而,这并非限制性的,并且可以通过在包含图像编码装置或图像解码装置的每个元件之间对定时信号或控制信号进行交互作用而操作整个装置。并且,可以通过在计算机装置上运行的软件来实现图像编码装置或图像解码装置。Operations of various elements of the
接着将描述这种图像编码处理或图像解码处理的另一个示例。例如,可以进行这样一种布置,其中图像编码装置401和图像解码装置420的各种元件在上述系统(图像编码装置401和图像解码装置420)中被并发操作,因而以更少的延迟来执行图像的压缩编码和解码处理。为了描述的简洁,对上述内容的冗余部分的描述将被省略。Another example of such image encoding processing or image decoding processing will be described next. For example, an arrangement may be made in which various elements of the
图29是根据本发明的第二实施例的图像编码装置401和图像解码装置420的各种元件的示例的并发操作的示意性视图。图29对应于上述的图25。在熵编码单元415对图像数据输入In-1(图29的A)执行第一次小波变换WT-1(图29中的B)。如参考图24所描述的,在第一个三行被输入的时间点开始第一次小波变换WT-1,并且生成系数C1。也就是说,从图像数据In-1的输入直到小波变换WT-1开始,生成相当于三行的延迟。FIG. 29 is a schematic view of an example of concurrent operations of various elements of the
所生成的系数数据被存储在系数重布置缓冲器单元412中。此后,输入图像数据进行小波变换,并且当第一次处理结束时,处理移动到第二次小波变换WT-2。The generated coefficient data is stored in the coefficient
为了第二次小波变换WT-2的图像数据In-2的输入和第二次小波变换WT-2通过系数重布置单元413并发执行对三个系数的重布置Ord-1(图29的C),这三个系数是系数C1、系数C4、和系数C5。The input of the image data In-2 for the second wavelet transform WT-2 and the rearrangement Ord-1 of the three coefficients are performed concurrently by the
注意,从小波变换WT-1结束到重布置Ord-1开始的延迟可以是基于装置或者系统配置的延迟,例如,伴随着将指令重布置处理的控制信号传输给系数重布置单元413的延迟、系数重布置单元413对控制信号的处理开始所必须的延迟、或者程序处理所必需的延迟,而不是编码处理的延迟。Note that the delay from the end of wavelet transform WT-1 to the start of rearrangement Ord-1 may be a delay based on device or system configuration, for example, a delay accompanying transmission of a control signal instructing rearrangement processing to
系数数据以重布置结束的次序从系数重布置缓冲器单元412被读取,被提供给熵编码单元415,并且进行熵编码EC-1(图29的D)。熵编码EC-1可以开始而不等候三个系数即系数C1、系数C4、和系数C5的重布置全都结束。例如,在重布置对于来自首先输出的系数C5的一行结束的时间点,可以对系数C5开始熵编码。在这种情况下,从重布置Ord-1处理开始到熵编码EC-1处理开始的延迟相当于一行那么多。The coefficient data is read from the coefficient
其中通过熵编码单元415的熵编码EC-1结束的已编码数据经由某种传输路径被传输到图像解码装置420(图29中的E)。对于用于传输编码数据的传输路径,可以考虑例如诸如因特网之类的通信网络。在这种情况下,已编码数据通过IP(因特网协议)传输。然而,布置不局限于此,并且其他用于已编码数据的传输路径可以是诸如USB(通用串行总线)和IEEE 1394(电子和电气工程师协会1394)之类的通信接口,或者由IEEE 802.11标准所代表的无线通信等。The encoded data in which the entropy encoding EC-1 by the
在通过第一次处理而使相当于七行的图像数据输入到图像编码装置401之后,顺序输入低到屏幕下边缘的图像数据。对于图像编码装置401,根据图像数据输入In-n(n为2或更多),如上所述,以四行为增加执行小波变换WT-n、重布置Ord-n、以及熵编码EC-n。对于六行执行在图像编码装置401处的最后一次处理的重布置Ord和熵编码EC。这些处理在图像编码装置401处并发执行,如图29的A到图29的D所示出的示例那样。After the image data equivalent to seven lines is input to the
由图像编码装置401通过熵编码EC-1编码的已编码数据经由传输路径被传输到图像解码装置420,并且被提供给熵解码单元421。熵解码单元421使通过熵编码EC-1而编码的所提供的已编码数据顺序地进行熵编码的解码iEC-1,并且恢复系数数据(图29中的F)。被恢复的系数数据被顺序地存储在系数缓冲器单元422中。在将仅能够进行小波逆变换的量的系数数据存储在系数缓冲器单元422中时,小波逆变换单元423从系数缓冲器单元422读取系数数据,并且使用读取的系数数据执行小波逆变换iWT-1(图29中的G)。The encoded data encoded by the entropy encoding EC-1 by the
如参考图24所描述的,小波逆变换单元423的小波逆变换iWT-1可以在系数C4和系数C5被存储在系数缓冲器单元422中的时间点开始。从而,从熵解码单元421进行的解码iEC-1开始到小波逆变换单元423进行的小波逆变换iWT-1开始的延迟相当于两行那么多。As described with reference to FIG. 24 , the wavelet inverse transform iWT-1 by the wavelet
在通过第一次小波变换的相当于三行的小波逆变换iWT-1在小波逆变换单元423处结束时,执行对通过小波逆变换iWT-1生成的图像数据的输出Out-1(图29中的H)。对于输出Out-1,第一行的图像数据被输出,如参照图24和图25所描述的。When the wavelet inverse transform iWT-1 equivalent to three lines by the first wavelet transform ends at the wavelet
对于图像解码装置420,通过在图像编码装置401处的第一次处理的相当于三行的已编码系数数据的输入之后,顺序地输入通过熵编码EC-n(n为2或更多)所编码的系数数据。对于图像解码装置420,以四行为增加对输入系数数据执行熵解码iEC-n以及小波逆变换iWT-n,如上所述,并且顺序地执行通过小波逆变换iWT-n的所恢复的图像数据的输出Out-n。对六行执行图像编码装置的对应于最后一次的熵解码iEC和小波逆变换iWT,并且输出Out输出八行。在图像解码装置处并发地执行这些处理,如图29的F到图29的H中所示的示例那样。For the
如上所述,通过在图像编码装置401和图像解码装置420处以从屏幕上方部分到下方部分的次序并发地执行各种处理,可以以很少的延迟执行图像压缩处理和图像解码处理。As described above, by concurrently performing various processes at the
参照图29计算在使用5×3滤波器执行小波变换直到分割级别=2的情况下从图像输入直到图像输出的延迟时间。从第一行图像数据输入到图像编码装置401直到第一行图像数据从图像解码装置420输出的延迟时间成为以下所列的元素的总和。注意,由于系统配置而不同的延迟,诸如传输路径中的延迟或者根据装置的各部分的实际处理定时的延迟之类被排除。The delay time from image input until image output in the case of performing wavelet transform using a 5×3 filter up to division level=2 is calculated with reference to FIG. 29 . The delay time from the input of the image data of the first line to the
(1)从第一行输入直到相当于七行的小波变换WT-1结束的延迟D_WT(1) Delay D_WT from the input of the first line until the end of the wavelet transform WT-1 equivalent to seven lines
(2)根据总共相当于三行的重布置Ord-1的时间D_Ord(2) According to the time D_Ord of rearranging Ord-1 equivalent to a total of three rows
(3)根据相当于三行的熵编码EC-1的时间D_EC(3) According to the time D_EC of entropy coding EC-1 equivalent to three lines
(4)根据相当于三行的熵解码iEC-1的时间D_iEC(4) The time D_iEC of iEC-1 is decoded according to the entropy equivalent to three lines
(5)根据相当于三行的小波逆变换iWT-1的时间D_iWT(5) According to the time D_iWT of the wavelet inverse transform iWT-1 equivalent to three lines
将参照图29计算来自上述各元素的延迟。(1)中的延迟D_WT相当于十行的时间。(2)中的时间D_Ord、(3)中的时间D_EC、Delays from the above elements will be calculated with reference to FIG. 29 . The delay D_WT in (1) corresponds to the time of ten lines. Time D_Ord in (2), time D_EC in (3),
(4)中的时间D_iEC、以及(5)中的时间D_iWT各自都相当于三行的时间。另一方面,对于图像编码装置401,熵编码EC-1可以在从重布置Ord-1开始的一行之后开始。相似地,对于图像解码装置420,小波逆变换iWT-1可以在从熵解码iEC-1开始的两行之后开始。并且,熵解码iEC-1可以在熵编码EC-1处相当于一行的编码完成的时间点开始处理。Each of the time D_iEC in (4) and the time D_iWT in (5) corresponds to the time of three lines. On the other hand, with the
因此,对于图29中的示例,从第一行图像数据被输入到图像编码装置直到第一行图像数据从图像解码装置输出的延迟时间相当于10+1+1+2+3=17行。Therefore, with the example in FIG. 29 , the delay time from when the image data of the first line is input to the image encoding device until the image data of the first line is output from the image decoding device is equivalent to 10+1+1+2+3=17 lines.
将给出考虑延迟时间的更具体的示例。在输入图像数据是用于HDTV(高清晰度电视)的隔行扫描视频信号的图像数据的情况下,一帧例如被配置有1920像素乘以1080行的分辨率,并且一个图层为1920像素乘以540行。因此,如果帧频率为30Hz,则540行的一个图层(field)在时间16.67毫秒(=1秒/60图层)中被输入到图像编码装置401。A more specific example considering the delay time will be given. In the case where the input image data is image data of an interlaced video signal for HDTV (High Definition Television), one frame is configured with a resolution of 1920 pixels by 1080 lines, for example, and one layer is 1920 pixels by 1080 lines. Take 540 lines. Therefore, if the frame frequency is 30 Hz, one field of 540 lines is input to the
因此,根据相当于七行的图像数据的输入的延迟时间为0.216毫秒(=16.67毫秒×7/540行),其例如对于一个图层的更新时间来说是极短的时间。并且,关于上述(1)中的延迟D_WT、(2)中的时间D_Ord、(3)中的时间D_EC、(4)中的时间D_iEC、以及(5)中的时间D_iWT的总和,要被处理的行数比较少,因此延迟时间被极度缩短。如果执行各种处理的元件被布置为硬件,则可以进一步缩短处理时间。Therefore, the delay time from input of image data equivalent to seven lines is 0.216 milliseconds (=16.67 milliseconds×7/540 lines), which is an extremely short time for an update time of one layer, for example. And, regarding the sum of delay D_WT in (1), time D_Ord in (2), time D_EC in (3), time D_iEC in (4), and time D_iWT in (5) above, to be processed The number of rows is relatively small, so the delay time is extremely shortened. If elements performing various processes are arranged as hardware, the processing time can be further shortened.
将描述再一个示例。对于以上进行的描述,在执行小波变换之后,在图像编码装置401处重布置系数数据。相反,以下将描述关于执行熵编码之后的系数数据的重布置的情况。对于这种情况下的图像编码装置,对于通过对输入图像数据进行小波变换而生成的系数执行熵编码,并且对进行了熵编码的数据执行重布置处理。因而,通过在执行熵编码之后执行系数数据重布置,可以抑制系数重布置缓冲器所需的存储容量。Yet another example will be described. For the description made above, coefficient data is rearranged at the
例如,在输入图像数据的比特精确度为8比特的情况下,如果执行小波变换直到多个级别分割,则所生成的系数数据的比特精确度例如变为12比特左右。在熵编码处理之前执行系数重布置处理的情况下,系数重布置缓冲器单元需要存储相当于预定数目的行的比特精确度为12比特的系数数据。通过在熵编码之后布置通过小波变换生成的要进行重布置处理的系数数据,系数重布置缓冲器可以存储由熵编码所压缩的数据,因此仅需要小的存储容量。For example, when the bit precision of the input image data is 8 bits, if wavelet transform is performed up to multiple levels of division, the bit precision of the generated coefficient data becomes, for example, about 12 bits. In the case where the coefficient rearrangement process is performed before the entropy encoding process, the coefficient rearrangement buffer unit needs to store coefficient data with a bit accuracy of 12 bits equivalent to a predetermined number of lines. By arranging coefficient data to be subjected to rearrangement processing generated by wavelet transform after entropy encoding, the coefficient rearrangement buffer can store data compressed by entropy encoding, thus requiring only a small storage capacity.
图30示出了这种情况下的图像编码装置的一个示例。图30中与上述图19共同的各部分具有相同的附图标记,并且将省略对其的描述。Fig. 30 shows an example of an image encoding device in this case. Portions in FIG. 30 that are common to those in FIG. 19 described above have the same reference numerals, and descriptions thereof will be omitted.
输入图像数据被暂时存储在图像编码装置430的中途计算缓冲器单元411中。小波变换单元410对存储在中途计算缓冲器单元411中的图像数据执行预定的小波变换,如第一实施例中所描述。通过小波变换生成的系数数据被提供给熵编码单元415。熵编码单元415与速率控制单元414相结合地工作,并且被控制为使得输出压缩编码数据的比特速率成为大致上的固定值,并且对所提供的系数数据执行熵编码处理。也就是说,熵编码单元415对所获得的系数以与被获得的次序相同的次序进行编码,而无论该系数的次序如何。The input image data is temporarily stored in the midway
其中通过小波变换生成的系数数据通过熵编码单元415进行了熵编码的已编码数据被暂时存储在编码重布置缓冲器单元431中。在要被重布置的已编码数据被存储在编码重布置缓冲器单元431中时,编码重布置单元432重布置已编码数据,并且从编码重布置缓冲器单元431中读出已编码数据。如已经参照第一实施例所描述的,从屏幕的上端侧向下端侧,以从高频带分量到低频带分量的次序生成通过小波变换单元410生成的系数数据。为了在解码侧以小的延迟输出图像数据,存储在编码重布置缓冲器单元431中的编码数据以从通过小波变换的系数数据的低频带分量到高频带分量的次序被重布置,并且被读出。Coded data in which coefficient data generated by wavelet transformation has been entropy coded by the
从编码重布置缓冲器单元431读出的已编码数据例如被传输到传输路径,作为输出的已编码数据。The encoded data read out from the encoding
注意,通过图像编码装置430被编码并且被输出的数据可以以与对通过图像编码装置401被编码的数据进行解码时相同的方式,通过已经参照图27所描述的图像解码装置420来进行解码。也就是说,例如经由传输路径被输入到图像解码装置420中的已编码数据在熵解码单元421处进行熵编码的解码,并且恢复系数数据。被恢复的系数数据被顺序存储在系数缓冲器单元422中。小波逆变换单元423对存储在系数缓冲器单元422中的系数数据进行小波逆变换,并且输出图像数据。Note that data encoded and output by the
将描述再一个示例。以上已经进行了这样的描述,使得通过小波变换生成的系数数据的重布置处理在图像编码装置侧被执行,如图31中的示例性形式所示。在此,将进行关于这样一种情况的描述,其中通过小波变换生成的系数数据的重布置处理在图像解码装置侧被执行,如图32中的示例性形式所示。Yet another example will be described. The above has been described so that rearrangement processing of coefficient data generated by wavelet transform is performed on the image encoding device side, as shown in an exemplary form in FIG. 31 . Here, a description will be made regarding a case where rearrangement processing of coefficient data generated by wavelet transform is performed on the image decoding device side, as shown in an exemplary form in FIG. 32 .
对于通过小波变换生成的系数数据的重布置处理,需要相对大的容量作为用于系数重布置缓冲器的存储容量,并且还需要高的处理能力用于系数重布置处理的处理自身。仍是在这种情况下,如果图像编码装置侧的处理能力高于某个量,则即使系数重布置处理在图像编码装置侧执行,如上所述,也不会发生问题。For rearrangement processing of coefficient data generated by wavelet transform, a relatively large capacity is required as a storage capacity for a coefficient rearrangement buffer, and a high processing capability is also required for the processing itself of the coefficient rearrangement process. Also in this case, if the processing capability on the image encoding device side is higher than a certain amount, even if the coefficient rearrangement processing is performed on the image encoding device side, as described above, no problem occurs.
在此,将考虑这样一种情形,其中图像编码装置被安装在处理能力相对低的装置上,比如诸如蜂窝电话终端或PDA(个人数字助理)之类的移动终端。例如,近来,已经广泛使用其中向蜂窝电话终端添加照相功能的产品(被称为具有摄影机功能的蜂窝电话终端)。可以考虑这样一种情形,其中对通过具有摄影机功能的蜂窝电话装置图像拍摄的图像数据进行通过小波变换和熵编码的压缩编码,并且经由无线或者线缆通信被传输。Here, a case will be considered in which an image encoding device is mounted on a device with relatively low processing capability, such as a mobile terminal such as a cellular phone terminal or a PDA (Personal Digital Assistant). For example, recently, a product in which a camera function is added to a cellular phone terminal (referred to as a cellular phone terminal with camera function) has been widely used. A case may be considered in which image data captured by an image of a cellular phone device having a camera function is compression-encoded by wavelet transformation and entropy encoding, and transmitted via wireless or cable communication.
这种移动终端被其CPU处理能力限制,并且还具有存储容量的上限。因此,用于以上述系数重布置进行处理的负荷是无法被忽视的问题。Such a mobile terminal is limited by its CPU processing capability, and also has an upper limit of storage capacity. Therefore, the load for processing with the above-mentioned coefficient rearrangement is a problem that cannot be ignored.
因而,作为图32中所示的一个示例,通过将重布置处理置入到图像解码装置侧,对图像编码装置侧的负荷可以减轻,因而使得图像编码装置能够被安装到诸如移动终端之类的处理能力相对低的装置上。Thus, as an example shown in FIG. 32, by putting rearrangement processing on the image decoding device side, the load on the image encoding device side can be lightened, thus enabling the image encoding device to be installed in a mobile terminal such as on devices with relatively low processing power.
图33示出了在这种情况下的图像编码装置的配置的示例。注意,在图33中,与上述的图19共同的各部分被给予相同的附图标记,并且省略对其的详细描述。Fig. 33 shows an example of the configuration of an image encoding device in this case. Note that in FIG. 33 , portions common to those of FIG. 19 described above are given the same reference numerals, and detailed descriptions thereof are omitted.
图33中所示的图像编码装置441的配置被布置为这样一种配置,其中系数重布置单元413和系数重布置缓冲器单元412从上述的图19中所示的图像编码装置401的配置中移除。换句话说,对于第四实施例,图像编码装置441使用这样一种配置,其组合了小波变换单元410、中途计算缓冲器单元411、熵编码单元415、以及速率控制单元414。The configuration of the
输入的图像数据被暂时积累在中途计算缓冲器单元411中。小波变换单元410对于积累在中途计算缓冲器单元411中的图像数据执行小波变换,并且将所生成的系数数据以所生成的系数数据的次序顺序地提供给熵编码单元415。也就是说,所生成的系数数据以根据小波变换的次序从高频带分量到低频带分量的次序,被提供给熵编码单元415。熵编码单元415对所提供的系数执行熵编码,输出数据的比特速率被速率控制单元414控制。通过小波变换生成的系数数据被输出作为已经进行了熵编码的已编码数据。Input image data is temporarily accumulated in the midway
图34示出了在这种情况下的图像解码装置的配置的一个示例。注意,在图34中,与上述的图27中共同的各部分被给予相同的附图标记,并且省略对其的详细描述。FIG. 34 shows one example of the configuration of an image decoding device in this case. Note that in FIG. 34 , portions common to those in FIG. 27 described above are given the same reference numerals, and detailed descriptions thereof are omitted.
从图33所述的图像编码装置441的熵编码单元415输出的已编码数据被提供给图34中的图像解码装置442的熵解码单元421、进行熵编码、并且成为系数数据。系数数据经由系数缓冲器单元442被存储在系数重布置缓冲器单元443中。在系数数据被积累在系数重布置缓冲器单元443中直到可以重布置系数数据时,小波逆变换单元423以从低频带分量到高频带分量的次序对存储在系数重布置缓冲器单元443中的系数数据进行重布置,并且读出存储在系数重布置缓冲器单元443中的系数数据,然后使用系数数据以读出的顺序执行小波逆变换处理。在使用5×3滤波器的情况下,其布置如上述的图32中所示。The encoded data output from the
也就是说,对于从一帧开始的处理,例如,在用熵编码进行解码的系数C1、系数C4、以及系数C5被存储在系数重布置缓冲器单元443中的时间点处,小波逆变换单元423从系数重布置缓冲器单元443读取系数数据,并且执行小波逆变换处理。通过小波逆变换单元423进行小波逆变换的数据被顺序输出作为输出图像数据。That is, for processing from one frame, for example, at a point in time when the coefficient C1, coefficient C4, and coefficient C5 decoded with entropy encoding are stored in the coefficient
注意,也是在这种情况下,如已经参照图29所描述的,可以并发执行通过图像编码装置441的各种元件的处理和对传输路径的编码数据传输,以及通过图像解码装置442的各种元件的处理。Note that also in this case, as already described with reference to FIG. 29 , the processing by the various elements of the
接着,将进行关于在上述的图像编码装置和图像解码装置之间进行已编码数据交换的描述。图35是用于描述已编码数据如何被交换的示例的示意图。在图3中所示的示例的情况下,与上述的其他实施例相似,图像数据在被以行块为增加以仅相当于预定数量的行而被输入的同时进行小波变换(子带451)。在达到预定小波变换分割级别的情况下,从最低频带子带到最高频带子带的系数行以与它们被生成时的次序相反的次序被重布置,即以从低频带到高频带的次序被重布置。Next, description will be made regarding the exchange of encoded data between the above-described image encoding device and image decoding device. Fig. 35 is a diagram for describing an example of how encoded data is exchanged. In the case of the example shown in FIG. 3 , similarly to the other embodiments described above, image data is subjected to wavelet transformation (subband 451 ) while being input in increments of line blocks to correspond to only a predetermined number of lines. . In case a predetermined wavelet transform partition level is reached, the coefficient rows from the lowest frequency band subband to the highest frequency band subband are rearranged in the reverse order to the order in which they were generated, i.e. in the order from low frequency band to high frequency band was rearranged.
对于图35中的子带451,通过对角线、垂直线、以及波浪线的图案被划分的部分各是不同的行块(如箭头所示,子带451中的白色空间也以行块为增加而被分割,并且被处理)。重布置之后的行块的系数进行如上所述的熵编码,因而生成已编码数据。For the sub-band 451 in FIG. 35 , the parts divided by the patterns of diagonal lines, vertical lines, and wavy lines are each different row blocks (as indicated by the arrows, the white space in the sub-band 451 is also represented by row blocks. increased and split, and processed). The coefficients of the line blocks after rearrangement are subjected to entropy encoding as described above, thus generating encoded data.
在此,如果图像编码装置例如按照原样不变地传输已编码数据,图像解码装置可能很难识别各行块的边界(或者需要复杂的处理)。因而,对于本实施例,进行这样一种布置,其中图像编码装置例如以行块为增加将一个信息头附加到已编码数据上,并且传输由该信息头和已编码数据形成的分组。Here, if the image encoding device, for example, transmits the encoded data as it is, it may be difficult for the image decoding device to recognize the boundary of each line block (or require complicated processing). Thus, with the present embodiment, an arrangement is made in which the image encoding apparatus adds a header to encoded data in increments of, for example, line blocks, and transmits a packet formed of the header and the encoded data.
换言之,在图像编码装置生成第一个行块(Lineblock-1)的已编码数据(编码器数据)时,该已编码数据被分组化,并且作为传输分组461被传输到图像解码装置,如图35所示。在图像解码装置接收到该分组(接收到的分组471)时,其已编码数据被解码。In other words, when the image encoding device generates encoded data (encoder data) of the first line block (Lineblock-1), the encoded data is packetized and transmitted to the image decoding device as a
相似地,在图像编码装置生成第二个行块(Lineblock-2)的已编码数据时,该已编码数据被分组化,并且作为传输分组462被传输到图像解码装置。在图像解码装置接收到该分组(接收到的分组472)时,其已编码数据被解码。仍是相似地,在图像编码装置生成第三个行块(Lineblock-3)的已编码数据时,该已编码数据被分组化,并且作为传输分组463被传输到图像解码装置。在图像解码装置接收到该分组(接收到的分组473)时,其已编码数据被解码。Similarly, when the image encoding device generates encoded data of the second line block (Lineblock-2), the encoded data is packetized and transmitted to the image decoding device as a
图像编码装置和图像解码装置重复上述处理,直到最后的第X个行块(Lineblock-X)(传输分组464,接收到的分组474)。因而,在图像解码装置处生成已解码图像481。The image encoding device and the image decoding device repeat the above-described processing up to the last X-th line block (Lineblock-X) (
图36示出了信息头的配置示例。如上所述,该分组包括信息头(Header)491和已编码数据,该Header 491包括对行块号码(NUM)493和已编码数据长度(LEN)494的描述。Fig. 36 shows a configuration example of a header. As described above, the packet includes a header (Header) 491 including a description of the line block number (NUM) 493 and the length of encoded data (LEN) 494, and encoded data.
图像解码装置可以通过读取添加到接收到的已编码数据的信息头中所包括的此信息来快速地识别每个行块的边界,从而降低解码处理的负荷或者处理时间。The image decoding device can quickly identify the boundary of each line block by reading this information included in the header added to the received encoded data, thereby reducing the load of decoding processing or processing time.
注意,如图36中所示,可以进一步添加以构成行块的子带为增加的量化步长大小(Δ1到ΔN)492的描述。因而,图像解码装置可以以子带为增加执行逆量化,因而能够执行更详细的图像质量控制。Note that, as shown in FIG. 36 , a description may be further added with the subbands constituting the line block being increased quantization step sizes (Δ1 to ΔN) 492 . Thus, the image decoding device can perform inverse quantization in increments of subbands, and thus can perform more detailed image quality control.
并且,图像编码装置和图像解码装置可以被布置为以行块为增加并发(以流水线方式)执行如参照第四实施例所述的上述各种编码、分组化、分组交换、以及解码的处理。Also, the image encoding device and the image decoding device may be arranged to perform the above-described various processes of encoding, packetization, packet switching, and decoding as described with reference to the fourth embodiment concurrently (in a pipelined manner) in increments of line blocks.
因而,直到在图像解码装置处获得图像输出为止的延迟时间可以显著降低。作为示例,图35示出了对于隔行运动图片(60图层/秒)的操作示例。对于这个示例,用于一个图层的时间为1秒÷60=大约16.7毫秒,但是通过并发执行各种处理,图像输出可以被布置为以大约5毫秒的延迟时间而获得。Thus, the delay time until image output is obtained at the image decoding device can be significantly reduced. As an example, Fig. 35 shows an operation example for an interlaced motion picture (60 layers/sec). For this example, the time for one layer is 1 second ÷ 60 = about 16.7 milliseconds, but by performing various processes concurrently, image output can be arranged to be obtained with a delay time of about 5 milliseconds.
如以上示例中所述,图像编码装置(或图像解码装置)可以通过以行块为增加执行小波变换(或小波逆变换),以更高速度执行编码处理(或者解码处理)。As described in the above examples, the image encoding device (or image decoding device) can perform encoding processing (or decoding processing) at higher speed by performing wavelet transformation (or wavelet inverse transformation) in increments of line blocks.
也就是说,可以通过利用系数从以行块为增加执行变换的小波变换单元输出的次序的特征(即,连续系数的有效位数相似的特征),从而所生成的代码大小可以降低。并且,即使在重布置系数的情况下,小波变换单元也以行块为增加来执行小波变换,因此,连续系数的有效位数相似的特征并不受到显著影响,并且熵编码处理中的所生成的代码大小不显著改变。That is, the generated code size can be reduced by utilizing the feature of the order in which coefficients are output from a wavelet transform unit that performs transform in increments of line blocks (ie, a feature that the significant digits of consecutive coefficients are similar). Also, even in the case of rearranging coefficients, the wavelet transform unit performs wavelet transform in increments of line blocks, therefore, the feature that the significant digits of consecutive coefficients are similar is not significantly affected, and the generated The code size does not change significantly.
如上所述,上述的小波变换处理,以及根据本发明的熵编码处理在其所处理的系数数据的特征和所预期的优势方面是相似的,并且彼此具有很强的密切关系。因此,对于总体的图像编码处理,与应用通常的小波变换处理相比,可以从应用上述小波变换处理中期望更多优势。As described above, the above-mentioned wavelet transform processing, and the entropy encoding processing according to the present invention are similar in characteristics and expected advantages of the coefficient data they process, and have a strong affinity with each other. Therefore, for the overall image coding process, more advantages can be expected from applying the above-described wavelet transform processing than applying usual wavelet transform processing.
如上所述,可以通过广泛不同的各种配置实现这种小波变换处理,并且根据本发明的熵编码处理和熵解码处理(图像编码装置和图像解码装置)可以被应用于广泛不同的各种系统。As described above, such wavelet transform processing can be realized by widely different various configurations, and the entropy encoding processing and entropy decoding processing (image encoding device and image decoding device) according to the present invention can be applied to widely different various systems .
以下将描述具体的应用示例。首先,将描述已经应用了根据上述实施例的图像编码装置和图像解码装置的数字三轴(triax)系统的示例。Specific application examples will be described below. First, an example of a digital triax system to which the image encoding device and the image decoding device according to the above-described embodiments have been applied will be described.
三轴(triax)系统是一种用于电视广播电台、制作工作室等中的系统。对于这种系统,在工作室中记录或者在从远程位置广播实况的时刻,连接视频摄影机和摄影机控制单元或交换机的单根三轴线缆被用于传输多路复用信号,诸如图片信号、音频信号、返回的图片信号、同步信号等,并且还用于供电。A triax system is a system used in television broadcast stations, production studios, and the like. For such systems, a single triaxial cable connecting the video camera to the camera control unit or switch is used to transmit multiplexed signals such as picture signals, audio signal, return picture signal, synchronization signal, etc., and is also used for power supply.
已经布置了很多常规三轴系统来以模拟信号的形式传输上述信号。另一方面,近年来,所有系统都变成数字的,从而电视广播电台中所用的三轴系统也变成数字的。Many conventional three-axis systems have been arranged to transmit the above-mentioned signals in the form of analog signals. On the other hand, in recent years, all systems have become digital, and thus the three-axis system used in television broadcasting stations has also become digital.
对于已知的三轴系统,经由三轴线缆传输的数字视频信号一直是未压缩的视频信号。其原因是,关于信号延迟时间所要求的规格对电视广播电台来说尤其严格,基本上,从拍摄到监视器输出的延迟时间例如被需要在一个图层(16.67毫秒)之内。诸如已经实现了高压缩率和高图像质量的MPEG2和MPEG4的压缩编码系统还未被用在三轴系统中,这是因为视频信号压缩和编码、以及压缩视频信号的解码需要相当于若干帧那么多的时间,这意味着延迟时间很大。With known triaxial systems, the digital video signal transmitted over the triaxial cable has always been an uncompressed video signal. The reason for this is that the specifications required regarding the signal delay time are particularly strict for TV broadcasting stations, and basically, the delay time from shooting to monitor output is required to be within one layer (16.67 milliseconds), for example. Compression encoding systems such as MPEG2 and MPEG4, which have achieved high compression rate and high image quality, have not been used in the three-axis system because video signal compression and encoding, and decoding of the compressed video signal require as much as several frames A lot of time, which means a lot of delay time.
如上所述,根据本发明的图像编码和图像解码方法具有极短的从输入图像数据到获得输出图像的延迟时间,其在一个图层时间之内,即几行到几十行,从而可以对数字三轴系统进行合适的应用。As described above, the image encoding and image decoding methods according to the present invention have an extremely short delay time from inputting image data to obtaining an output image, which is within one layer time, that is, several lines to dozens of lines, so that it is possible to Digital triaxial system for suitable application.
图37示出可应用于根据本发明的图像编码和图像解码方法的数字三轴系统的示例的配置。传输单元500和摄影机控制单元502经由三轴线缆(三同轴线缆)501连接。经由该三轴线缆501传输从传输单元500到摄影机控制单元502的实际上是广播、或者被用作内容的数字视频信号和数字音频信号(在这里称为“主线信号”),以及从摄影机控制单元502到视频摄影机单元503的内部通信音频信号和返回的数字视频信号。FIG. 37 shows the configuration of an example of a digital triaxial system applicable to the image encoding and image decoding methods according to the present invention. The
传输单元500例如内置在未示出的视频摄影机装置中。当然,可以进行其他布置,诸如传输单元500连接到视频摄影机装置,作为视频摄影机装置的外部装置。摄影机控制单元502例如可以是通常被称为CCU(摄影机控制单元)的装置。The
数字音频信号与本发明的实质几乎没有关系,因此为了描述简洁起见,将省略对其的描述。The digital audio signal has little to do with the essence of the present invention, so its description will be omitted for the sake of brevity.
视频摄影机单元503例如被配置在未示出的视频摄影机装置内,并且用未示出的图像摄取装置诸如CCD(电荷耦合器件)对来自对象的光执行光接收,其中该对象已经通过包括透镜、聚焦机构、变焦机构、光阑调节机构等的光学系统550而被摄取。图像摄取装置通过光电转换将所接收到的光转换为电信号,并且进一步执行预定的信号处理,以便作为基带数字视频信号输出。这些数字视频信号例如被映射到HD-SDI(高清晰度串行数据接口)格式,并且被输出。The
用作监视器的显示单元551和用于外部地交换音频的内部通信装置552也连接到视频摄影机单元503。A
传输单元500具有视频信号编码单元510和视频信号解码单元511、数字调制单元512和数字解调单元513、放大器514和515、以及视频分离/合成单元516。The
例如被映射到HD-SDI格式的基带数字视频信号从视频摄影机单元503被提供给传输单元500。数字视频信号在视频信号编码单元510处被压缩和编码,以便成为代码流,其被提供给数字调制单元512。数字调制单元512将所提供的代码流调制成适用于在三轴线缆501上传输的格式的信号,并且输出。从数字调制单元512输出的信号经由放大器514被提供给视频分离/合成单元516。视频分离/合成单元516将所提供的信号发送到三轴线缆501。在摄影机控制单元502处经由三轴线缆501接收这些信号。A baseband digital video signal mapped to, for example, HD-SDI format is supplied from the
在传输单元500处经由三轴线缆501接收从摄影机控制单元502输出的信号。被接收的信号被提供给视频分离/合成单元516,并且数字视频信号的部分和其他信号的部分被分离。在接收信号中,数字视频信号的部分经由放大器515被提供给数字解调单元513,并且被调制成适用于在三轴线缆501上传输的格式的信号的信号在摄影机控制单元502侧被解调,并且代码流被恢复。The signal output from the
代码流被提供给视频信号解码单元511,压缩编码被解码,并且获得基带数字视频信号。已解码的数字视频信号被映射到HD-SDI格式,并且输出,并且被提供给视频摄影机单元503作为返回的数字视频信号。返回的数字视频信号被提供给显示单元551,该显示单元551连接到视频摄影机单元503,并且用于由摄影机操作者监视。The code stream is supplied to the video
摄影机控制单元502具有视频分离/合成单元520、放大器521和522、前端单元523、数字解调单元524和数字调制单元525,以及视频信号解码单元526和视频信号编码单元527。The
在摄影机控制单元502处经由三轴线缆501接收从传输单元500输出的信号。所接收的信号被提供给视频分离/合成单元520。视频分离/合成单元520将提供给它的信号经由放大器521和前端单元523提供给数字解调单元524。注意,前端单元523具有用于调节输入信号增益的增益控制单元、用于对输入信号执行预定滤波的滤波器单元,等等。The signal output from the
数字解调单元524将已被调制的信号解调成适用于在传输单元500侧在三轴线缆501上传输的格式的信号,并且恢复该代码流。该代码流被提供给视频信号解码单元526,其中压缩编码在该处被解码,以便获得基带数字视频信号。已解码数字视频信号被映射到HD-SDI格式,并且被输出,并且作为主线信号被外部地输出。The
返回的数字视频信号和数字音频信号被外部地提供给摄影机控制单元502。数字音频信号例如被提供给摄影机操作者的内部通信装置552,以便用于将外部音频指令传输给摄影机操作者。The returned digital video signal and digital audio signal are externally supplied to the
返回的数字视频信号被提供给视频信号编码单元527并且被压缩编码,并且被提供给数字调制单元525。数字调制单元525将所提供的代码流调制成适用于在三轴线缆501上传输的格式的信号,并且输出。从数字调制单元525输出的信号经由前端单元523和放大器522被提供给视频分离/合成单元520。视频分离/合成单元520将这些信号与其他信号多路复用,并且发送到三轴线缆501。这些信号经由三轴线缆501在视频摄影机单元503处被接收。The returned digital video signal is supplied to the video
对于本发明的该第七实施例,通过上述实施例描述的图像编码装置和图像解码装置被分别应用于视频信号编码单元510和视频信号编码单元527,以及视频信号解码单元511和视频信号解码单元526。For this seventh embodiment of the present invention, the image encoding device and the image decoding device described by the above embodiments are respectively applied to the video
尤其地,被布置为使得图像编码装置和图像解码装置处的各种元件的处理可以并行执行的本发明的第二实施例可以显著地抑制在从摄影机控制单元502输出在视频摄影机单元503处摄取的图片时的延迟,以及外部提供的并且从摄影机控制单元502传输给视频摄影机单元503的返回的数字视频信号的延迟,并且合适地被应用于本发明的第七实施例。In particular, the second embodiment of the present invention arranged so that the processing of various elements at the image encoding device and the image decoding device can be executed in parallel can significantly suppress the output from the
并且,在图37中所示的系统的情况下,可以在传输单元500和摄影机控制单元502中的每一个处适当地设定信号处理能力和存储容量,因此执行系数数据重布置处理的位置可以是在传输单元500侧或者摄影机控制单元502侧中的任一侧,并且以相同的方式,用于执行熵编码的位置可以是重布置处理之前或之后。Also, in the case of the system shown in FIG. 37 , the signal processing capability and the storage capacity can be appropriately set at each of the
也就是说,在传输单元500侧,视频信号编码单元510对向其提供的数字视频信号执行根据本发明的方法的小波变换和熵编码,并且输出代码流。如上所述,在对应于用于小波变换的滤波器抽头数量、并且根据小波变换分割级别的数量的行数量被输入时,视频信号编码单元510开始小波变换。进一步地,如上文参照图23、图24、图29等所述,在各部件所必需的系数数据在图像编码装置和图像解码装置处被积累时,通过各部件顺序执行处理。在处理在一帧或者一个图层的底部行处结束时,下一帧或者一个图层的处理开始。That is, on the
这对于从摄影机控制单元502侧向传输单元500侧传输返回的数字视频信号也是成立的。也就是说,在摄影机控制单元502侧,通过视频信号编码单元527对外部提供的返回的数字视频信号执行根据本发明的小波变换和熵编码,并且输出代码流。This is also true for the return digital video signal transmitted from the
现在,存在很多这样的情况,其中允许返回的数字视频信号具有比主线信号的数字视频信号更低的图像质量。在这种情况下,可以降低在视频信号编码单元527处编码的时刻的比特速率。例如,视频信号编码单元527通过速率控制单元414执行控制,使得熵编码单元415处的熵编码处理的比特速率更低。并且,可以构思这样一种布置,其中,例如,在摄影机控制单元502处,通过视频信号编码单元527处的小波变换单元410,变换处理被执行到更高的分割级别,并且在传输单元500处,视频信号编码单元511侧的小波逆变换单元423处的小波逆变换停止在更低的分割级别。在摄影机控制单元502的视频信号编码单元527处的处理不局限于此示例,并且能够想出各种其他类型的处理,诸如将用于小波变换的分割级别保持为低,以便减轻变换处理的负荷。Now, there are many cases where the return digital video signal is allowed to have a lower picture quality than that of the main line signal. In this case, the bit rate at the moment of encoding at the video
接着,将描述一种情况的示例,其中根据本发明的图像编码装置和图像解码装置被应用于使用无线通信执行已编码数据的传输的系统。图38示出了根据本发明第八实施例的无线传输系统的示例的配置。注意,在图38中的示例中,视频信号被单向地从视频摄影机或者传输单元600侧(此后将被简称为“传输单元600”)传输到接收装置601侧。可以对音频信号和其他信号执行传输单元600和接收装置601之间的双向通信。Next, an example of a case will be described in which an image encoding device and an image decoding device according to the present invention are applied to a system that performs transmission of encoded data using wireless communication. Fig. 38 shows the configuration of an example of a wireless transmission system according to an eighth embodiment of the present invention. Note that in the example in FIG. 38 , video signals are transmitted unidirectionally from the video camera or the
传输单元600被置入例如具有视频摄影机单元602的未示出的视频摄影机装置。当然,可以进行其他布置,诸如传输单元600被连接到视频摄影机装置,作为具有视频摄影机单元602的视频摄影机装置的外部装置。The
视频摄影机单元602具有预定的光学系统,例如诸如CCD之类的图像摄取装置,以及用于输出从图像摄取装置输出的信号作为数字视频信号的信号处理单元。这些数字视频信号例如被映射到HD-SDI格式,并且例如从视频摄影机单元602输出。当然,从视频摄影机单元602输出的数字视频信号不局限于此示例,并且也可以是其他格式。The
传输单元600具有视频信号编码单元610、数字调制单元611、以及无线模块单元612。在传输单元600处,基带数字视频信号例如被映射到HD-SDI格式,并且从视频摄影机单元602输出。通过根据本发明的压缩编码方法的小波变换和熵编码在视频信号编码单元610对数字视频信号进行压缩编码,以便成为代码流,将该代码流提供给数字调制单元611。数字调制单元611执行数字调制,将所提供的代码流调制成适用于无线通信的格式的信号,并且输出。The
并且,数字音频信号和其他信号,例如诸如预定命令和数据,也被提供给数字调制单元611。例如,视频摄影机单元602具有麦克风,收集到的声音通过该麦克风被转换成音频信号,该音频信号进而进行A/D转换,并且被输出作为数字音频信号。进一步地,视频摄影机单元602能够输出某种命令和数据。可以在视频摄影机单元602之内生成命令和数据,或者操作单元可被提供给视频摄影机单元602,其中命令和数据响应于操作单元处作出的用户操作而被生成。并且,可以进行这样的布置,其中用于输入命令和数据的输入装置被连接到视频摄影机单元602。And, digital audio signals and other signals, such as predetermined commands and data, for example, are also supplied to the
数字调制单元611对这些数据音频信号和其他信号执行数字调制,并且输出。从数字调制单元611输出的数字已调制信号被提供给无线模块单元612,并且从天线613无线地传输作为电波(airwave)。The
在从接收装置601侧接收ARQ(自动重复请求)时,无线模块单元612将这个ARQ通知给数字调制单元611,以便请求数据重发。Upon receiving ARQ (Automatic Repeat Request) from the
从天线613传输的电波在接收装置601侧的天线620处被接收,并且被提供给无线模块单元621。无线模块单元621将基于接收到的电波的数字已调制信号提供给前端单元622。前端单元622例如对所提供的数字已调制信号执行诸如增益控制之类的预定信号处理,并且提供给数字解调单元623。数字解调单元623解调所提供的数字已调制信号,并且恢复该代码流。The electric wave transmitted from the
在数字解调单元623处被恢复的代码流被提供给视频信号解码单元624,通过根据本发明的解码方法对压缩编码进行解码,并且获得基带数字视频信号。已解码数字视频信号例如被映射到HD-SDI格式,并且被输出。The code stream restored at the
数字解调单元623还被提供有在传输单元600侧进行数字调制的并且被传输的数字音频信号和其他信号。数字解调单元623解调其中这些数字音频信号和其他信号已经进行了数字调制的信号,并且将数字音频信号和其他信号恢复并且输出。The
并且,前端单元622关于从无线模块单元632提供的所接收到的信号执行根据预定方法的错误检测,并且在检测到错误、例如诸如已经接收到出错帧的情况下,输出ARQ。ARQ被提供给无线模块单元621,并且从天线620传输。And, the
对于这种配置,传输单元600例如被置于具有视频摄影机单元602的相对小尺寸的视频摄影装置中,监视器装置被连接到接收装置601,并且从视频信号解码单元624输出的数字视频信号被提供给监视器装置。只要接收装置601处于从具有内置的传输单元600的视频摄影机装置的无线模块单元612传输的电波的范围内,就可以在监视器装置上以小的延迟,例如以一个图层或一帧以内的延迟,观看用视频摄影机装置摄取的图片。With this configuration, for example, the
注意,在图38中所示的示例中,使用无线通信执行传输单元600和接收装置601之间的通信,以便经由无线通信传输视频信号,但是此布置不局限于这个示例。例如,传输单元600和接收装置601可以经由诸如因特网之类的网络而连接。在这种情况下,传输单元600侧的无线模块单元612和接收装置侧601处的无线模块单元612各自是能够使用IP(因特网协议)进行通信的通信接口。Note that, in the example shown in FIG. 38 , communication between the
可以根据此第八实施例想出对该系统的各种应用。例如,根据此第八实施例的系统可以被应用于视频会议系统。布置的一个示例可以是将能够USB(通用串行总线)连接到诸如个人计算机的计算机装置的简单视频摄影机装置与实施视频信号编码单元610和视频信号解码单元624的计算机装置侧连接。在计算机装置处实施的视频信号编码单元610和视频信号解码单元624可以是硬件配置,或者可以由运行在计算机装置上的软件实现。Various applications to the system can be conceived from this eighth embodiment. For example, the system according to this eighth embodiment can be applied to a video conference system. One example of arrangement may be to connect a simple video camera device capable of USB (Universal Serial Bus) connection to a computer device such as a personal computer with the computer device side implementing the video
例如,参加视频会议的每个成员将被提供计算机装置和连接到计算机装置的视频摄影机装置,该计算机装置通过线缆或者无线网络连接到用于提供视频会议系统服务的服务器装置。从视频摄影机装置输出的视频信号经由USB线缆被提供给计算机装置,并且在计算机装置内的视频信号编码单元610处执行根据本发明的编码处理。计算机装置将其中视频信号已被编码的代码流经由网络传输到服务器装置等。For example, each member participating in a video conference will be provided with a computer device and a video camera device connected to the computer device, and the computer device is connected to a server device for providing video conference system service through a cable or a wireless network. A video signal output from a video camera device is supplied to a computer device via a USB cable, and encoding processing according to the present invention is performed at a video
服务器装置将所接收的代码流经由网络传输给每个参与成员的计算机装置。此代码流在每个参与成员的计算机装置处被接收,并且在计算机装置内的视频信号解码单元624处进行根据本发明的解码处理。从视频信号解码单元624输出的图像数据被显示在计算机装置的显示单元上作为图片。The server device transmits the received code stream to the computer device of each participating member via the network. This code stream is received at each participating member's computer device, and the decoding process according to the present invention is performed at the video
也就是说,由其他参与成员的视频摄影机装置摄取的视频图片被显示在每个参与成员的计算机装置的显示单元上。因此,对于本发明的第八实施例,在其他参与成员的计算机装置处从对用视频摄影机装置摄取的视频信号进行编码到对其解码的延迟时间很短,因此显示在被显示的该参与成员的计算机装置的显示单元上的其他参与成员的图片的不自然感觉可以降低。That is, video pictures taken by video camera devices of other participating members are displayed on the display unit of each participating member's computer device. Therefore, for the eighth embodiment of the present invention, the delay time from encoding to decoding the video signal picked up by the video camera device at the computer device of the other participating member is very short, so the display on the displayed participating member The unnatural feeling of pictures of other participating members on the display unit of the computer device can be reduced.
此外,可以构思这样的布置,其中视频信号编码单元610被安装在视频摄影机装置侧。例如,传输单元600被置于视频摄影机装置中。这种配置消除了要被连接到诸如计算机装置之类的另一装置等的视频摄影机的需要。Furthermore, an arrangement is conceivable in which the video
除了上述视频会议系统,这种由具有内置的传输单元600的视频摄影机装置、以及接收装置601组成的系统还可以被应用于各种应用。例如,如图39中示意性示出的,此系统可以被应用于家用游戏机。在图39中,根据本发明第八实施例的传输单元600被内置在视频摄影机装置700中。Such a system consisting of a video camera device having a built-in
在家用游戏机的主单元701中,总线例如连接CPU、RAM、ROM、以及与CD-ROM(紧凑盘只读存储器)和DVD-ROM(数字多用途盘ROM)兼容的盘驱动装置、用于将CPU生成的显示控制信号转换成视频信号并且输出的图形控制单元、用于播放音频信号的音频回放单元等,即具有与计算机装置大体相似的配置。家用游戏机的主单元701,遵循事先存储在ROM中的程序,或者记录在安装到盘驱动装置的CD-ROM或DVD-ROM中的程序,被CPU总体控制。RAM被用作CPU的工作存储器。家用游戏机的主单元701内置有接收装置601。从接收装置601输出的数字视频信号以及其他信号例如经由总线被提供给CPU。In the
我们可以说,对于这种系统,例如家用游戏机的主单元701,运行游戏软件,该游戏软件能够以外部提供的数字视频信号的形式摄取图像,作为游戏内的图像。例如,此游戏软件能够使用以外部提供的数字视频信号的形式使用图像,作为游戏内的图像,并且还识别图像内的人物(游戏者)的运动,并且执行对应于所识别的运动的操作。We can say that for such a system, the
视频摄影机装置700在内置的传输单元600内的视频信号编码单元610处以根据本发明的编码方法对所拍摄的数字视频信号进行编码,在数字调制单元611处调制代码流,并且提供给无线调制单元612,以便从天线613传输。所传输的电波在被内置在家用游戏机的主单元701内的接收装置601的天线620处被接收,所接收的信号经由无线模块单元621和前端单元622被提供给数字解调单元623。所接收到的信号在数字解调单元623处被解调为代码流,并且被提供给视频信号解码单元624。视频信号解码单元624用根据本发明的解码方法对所提供的代码流进行解码,并且输出基带数字视频信号。The
从视频信号解码单元624输出的基带数字视频信号例如经由家用游戏机的主单元701中的总线被发送,并且暂时被存储在RAM中。在存储在RAM中的数字视频信号遵从预定程序而被读出时,CPU可以可以检测由数字视频信号所提供的图像内的人物的运动,并且在游戏内使用该图像。The baseband digital video signal output from the video
由于从图像通过视频摄影机装置700拍摄图像并且所获得的数字视频信号被编码直到代码流在家用游戏机的主单元701处被解码并且在该处获得图像的延迟时间是短的,家用游戏机的主单元701上运行的游戏软件对于游戏者的运动的响应能力改善,从而改善游戏的可操作性。Since the delay time from when an image is captured by the
注意,这种与家用游戏机一起使用的视频摄影机装置700由于价格、大小等的限制而经常具有简单的配置,并且必需假设不能实施诸如计算机装置之类的具有高处理能力的CPU和大容量存储器。Note that such a
也就是说,总体上,视频摄影机装置700是家用游戏机的主单元701的外围装置,其仅对于使用视频摄影机装置700玩游戏是必需的,而不是在家用游戏机的主单元701上玩游戏所必需的装置。在这种情况下,视频摄影机装置700经常与家用游戏机的主单元701分离地出售(分离地出售的所谓选项)。在这种情况下,在视频摄影机装置700中安装高能力CPU和具有大存储容量的存储器以便以高价出售通常会导致售出单元的数量降低。在这种情况下,这会降低使用视频摄影机装置700的游戏的售出数量,这会导致更低的收入。并且,特别对于家用游戏,拥有率通常强烈地影响售出单元数量,因此视频摄影机装置700的低拥有率会导致甚至更低的售出单元数量。That is to say, in general, the
另一方面,低价出售大量视频摄影机装置700以改善拥有率可以改善使用视频摄影机装置700的家用游戏的出售数量,并且改善其普及度,并且可以进一步预期带来对家用游戏机的主单元701的进一步购买的激励。也从这个角度,视频摄影机装置700经常优选地为简单配置。On the other hand, selling a large number of
在这种情况下,可以构思这样一种布置,其中在内置在视频摄影机装置700中的传输单元600的视频信号编码单元610处以低分割级别执行小波变换。这降低了对与系数重布置缓冲器单元一起使用的存储器容量的需要。In this case, an arrangement can be conceived in which wavelet transformation is performed at a low division level at the video
并且,可以构思这样一种布置,其中将已经参照第三实施例描述的、在图30中示例性示出的图像编码装置的配置应用于视频信号编码单元610。进一步地,将在图33中示例性示出的图像编码装置的配置应用于视频信号编码单元610消除了对在视频信号编码单元610侧执行小波变换系数数据的重布置处理的需要,因此视频摄影机装置700侧的负荷可以进一步降低,这是所希望看到的。在这种情况下,需要使用在图34中示例性示出的图像解码装置,作为家用游戏机的主单元701侧所内置的接收装置601中的视频信号解码单元624。Also, an arrangement can be conceived in which the configuration of the image encoding device exemplarily shown in FIG. 30 , which has been described with reference to the third embodiment, is applied to the video
注意,视频摄影机装置700和家用游戏机的主单元701已在上文中被描述为通过无线通信连接,但是这种布置不局限于这种示例。也就是说,视频摄影机装置700和家用游戏机的主单元701可以经由诸如USB、IEEE 1394之类的接口等通过缆线连接。Note that the
如上所述,根据本发明的编码方法(或解码方法)的另一巨大优势是处理容易,并且负荷和处理时间小,因此可以被应用于各种形式,并且可以容易地被应用于多种用途(即高的多用途性)。As described above, another great advantage of the encoding method (or decoding method) according to the present invention is that it is easy to process, and the load and processing time are small, so it can be applied to various forms and can be easily applied to various purposes (i.e. high versatility).
上述一系列处理可以由硬件实现或者可以由软件实现。在通过软件实现该一系列处理的情况下,组成该软件的程序从程序记录介质被安装在其中内置有专用硬件的计算机中,或者被安装在通用计算机中,或者由多个装置组成的信息处理系统的信息处理装置中,其能够通过安装在其中的各种类型的程序执行各种功能。The series of processing described above can be realized by hardware or can be realized by software. In the case where the series of processing is realized by software, the program constituting the software is installed from a program recording medium in a computer in which dedicated hardware is built, or in a general-purpose computer, or an information processing system composed of a plurality of devices In the information processing device of the system, it is possible to execute various functions by various types of programs installed therein.
图40是示出用于通过程序执行上述一系列处理的信息处理系统的配置的示例的框图。Fig. 40 is a block diagram showing an example of the configuration of an information processing system for executing the above-described series of processing by a program.
如图40所示,信息处理系统800是配置有信息处理装置801、通过PCI总线802与信息处理装置801连接的存储装置803、作为多录像带录像机(VRT)的VTR 804-1到VTR 804-S、以及鼠标805、键盘806、以及用于用户执行其操作输入的操作控制器807的系统,并且是通过所安装的程序来执行如上所述的图像编码处理和图像解码处理等的系统。As shown in FIG. 40, an information processing system 800 is configured with an information processing device 801, a storage device 803 connected to the information processing device 801 through a PCI bus 802, and VTR 804-1 to VTR 804-S as a multi-tape video recorder (VRT). , and a system of a mouse 805, a keyboard 806, and an operation controller 807 for the user to perform its operation input, and is a system that executes image encoding processing, image decoding processing, and the like as described above by installed programs.
信息处理系统800的信息处理装置801例如可以对存储在配置有RAID(独立冗余盘阵列)的大容量存储装置803中的运动图像内容进行编码,并且将所获得的已编码数据存储在存储装置803中,对存储在存储装置803中的已编码数据进行解码,并将所获得的已解码图像数据(运动图像内容)存储在存储装置803中,将已编码数据或者已解码图像数据借助VTR 804-1到VTR 804-S记录到录像带上,等等。并且,信息处理装置801被布置为将记录在安装到VTR 804-1到VTR 804-S的录像带中的运动图像内容摄取到存储装置803中。此时,可以进行这样一种布置,其中信息处理装置801对运动图像内容进行编码。The information processing device 801 of the information processing system 800 can, for example, encode moving image content stored in a large-capacity storage device 803 configured with RAID (Redundant Array of Independent Disks), and store the obtained encoded data in the storage device In 803, the coded data stored in the storage device 803 is decoded, and the obtained decoded image data (moving image content) is stored in the storage device 803, and the coded data or the decoded image data are stored by the VTR 804 -1 to VTR 804-S to record on tape, etc. And, the information processing device 801 is arranged to ingest into the storage device 803 moving image contents recorded in video tapes mounted to the VTR 804-1 to VTR 804-S. At this time, an arrangement may be made in which the information processing device 801 encodes moving image content.
信息处理装置801具有微处理器901、GPU(图形处理单元)902、XDR(极端数据速率)-RAM 903、南桥904、HDD 905、USB接口(USB I/F)906、以及声音输入/输出编解码器907。The information processing device 801 has a microprocessor 901, GPU (Graphics Processing Unit) 902, XDR (Extreme Data Rate)-RAM 903, South Bridge 904, HDD 905, USB interface (USB I/F) 906, and sound input/output Codec 907.
GPU 902经由专用总线911连接到微处理器901。XDR-RAM 903经由专用总线912连接到微处理器901。南桥904经由专用总线连接到微处理器901的I/O控制器944。HDD 905、USB接口906、以及声音输入/输出编解码器907也连接到南桥904。扬声器921连接到声音输入/输出编解码器907。并且,显示器922连接到GPU 902。The GPU 902 is connected to the microprocessor 901 via a dedicated bus 911. XDR-RAM 903 is connected to microprocessor 901 via dedicated bus 912. South bridge 904 is connected to I/O controller 944 of microprocessor 901 via a dedicated bus. HDD 905, USB interface 906, and sound input/output codec 907 are also connected to South Bridge 904. A speaker 921 is connected to the sound input/output codec 907 . Also, a display 922 is connected to the GPU 902.
鼠标805、键盘806、VTR 804-1到804-S、存储装置803、以及操作控制器807经由PCI总线802也连接到南桥904。A mouse 805, a keyboard 806, VTRs 804-1 to 804-S, a storage device 803, and an operation controller 807 are also connected to the South Bridge 904 via the PCI bus 802.
鼠标805和键盘806接收来自用户的操作输入,并且经由PCI总线802和南桥904向微处理器901提供指示来自用户的操作输入的内容的信号。存储装置803和VTR 804-1到VTR 804-S可以记录和播放预定的数据。The mouse 805 and the keyboard 806 receive operation input from the user, and supply a signal indicating the content of the operation input from the user to the microprocessor 901 via the PCI bus 802 and the south bridge 904 . The storage device 803 and the VTRs 804-1 to 804-S can record and play back predetermined data.
驱动器808根据需要被进一步被连接到PCI总线802,其中诸如磁盘、光盘、磁光盘、或者半导体存储器之类的可移除介质811等适当地安装在该驱动器808上,从其读出的计算机程序根据需要被安装在HDD 905中。A drive 808 on which a removable medium 811 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory is appropriately mounted is further connected to the PCI bus 802, and the computer program read therefrom It is installed in HDD 905 as needed.
微处理器901是多内核(multi-core)配置,其中用于执行诸如OS(操作系统)等的基本程序的通用主CPU内核941、作为经由内部总线945连接到主CPU内核941的多个(这种情况下为八个)RISC(精简指令集计算机)类型的信号处理处理器的副CPU内核942-1到副CPU内核942-8、用于执行例如具有256[兆字节]的容量的XDR-RAM903的存储控制的存储控制器943、以及用于管理南桥904的数据的输入和输出的I/O(输入/输出)控制器944集成在单个芯片上,例如实现4[GHz]的操作频率。The microprocessor 901 is a multi-core configuration in which a general-purpose main CPU core 941 for executing a basic program such as an OS (Operating System), as a plurality of ( In this case, eight) sub CPU cores 942-1 to 942-8 of RISC (Reduced Instruction Set Computer) type signal processing processors for executing, for example, The storage controller 943 for storage control of the XDR-RAM 903, and the I/O (input/output) controller 944 for managing the input and output of data of the south bridge 904 are integrated on a single chip, for example, to realize a 4 [GHz] operating frequency.
在启动时,微处理器901基于存储在HDD 905中存储的控制程序读出存储在HDD 905中的必要的应用程序,并且将其展开到XDR-RAM 903中,并且基于应用程序和操作者的操作顺序地执行必要的控制处理。At startup, the microprocessor 901 reads out the necessary application program stored in the HDD 905 based on the control program stored in the HDD 905, and expands it into the XDR-RAM 903, and based on the application program and the operator's The operation executes necessary control processing sequentially.
并且,通过执行软件,微处理器901例如可以实现上述实施例的图像编码处理和图像解码处理,将作为解码所获得的代码流经由南桥904提供给HDD 905用于存储,执行作为解码结果而获得的运动图像内容的播放图片数据向GPU 902的传输,用于在显示器922上显示,等等。And, by executing the software, the microprocessor 901 can, for example, realize the image encoding process and the image decoding process of the above-mentioned embodiments, provide the code stream obtained as decoding to the HDD 905 via the south bridge 904 for storage, and execute the code stream obtained as the decoding result. The transmission of the playback picture data of the obtained moving image content to the GPU 902 for display on the display 922, and the like.
虽然如何使用微处理器901的CPU内核是可选的,可以进行这样一种布置,其中例如主CPU内核941执行关于对图像编码处理和图像解码处理的控制的处理,并且八个副CPU内核942-1到副CPU内核942-8例如如参照图29所述地同时和并行地执行各种类型的处理,诸如小波变换、系数重布置、熵编码、熵解码、小波逆变换、量化、逆量化,等等。在此时,以与参照图29所描述的情况相同的方式实施这样一种布置,其中,主CPU内核941以行块(分区)为增加将处理分配给八个副CPU内核942-1到副CPU内核942-8中的每一个,从而以行块为增加地同时并行执行图像编码处理和图像解码处理。也就是说,图像编码处理和图像解码处理的效率可以改善,总体处理的延迟时间降低,并且处理所必需的负荷、处理时间、以及存储器容量可以降低。当然,也可以通过其他方法执行每个处理。Although how to use the CPU cores of the microprocessor 901 is optional, an arrangement may be made in which, for example, the main CPU core 941 performs processing related to control of image encoding processing and image decoding processing, and eight sub CPU cores 942 -1 to the sub CPU core 942-8, for example, simultaneously and in parallel as described with reference to FIG. ,etc. At this time, an arrangement in which the main CPU core 941 distributes processing to eight sub CPU cores 942-1 to sub CPU cores in increments of row blocks (partitions) is carried out in the same manner as the case described with reference to FIG. Each of the CPU cores 942-8 thereby simultaneously executes image encoding processing and image decoding processing in parallel in increments of line blocks. That is, the efficiency of image encoding processing and image decoding processing can be improved, the delay time of overall processing can be reduced, and the load necessary for processing, processing time, and memory capacity can be reduced. Of course, each processing can also be performed by other methods.
例如,可以进行这样一种布置,其中同时并行地,微处理器901的八个副CPU内核942-1到副CPU内核942-8中的一部分执行编码处理,并且其余的部分执行解码处理。For example, an arrangement may be made in which part of the eight sub-CPU cores 942-1 to 942-8 of the microprocessor 901 performs encoding processing and the remaining part performs decoding processing simultaneously and in parallel.
并且,例如,在独立编码器或解码器、或者编解码处理装置连接到PCI总线802的情况下,微处理器901的八个副CPU内核942-1到副CPU内核942-8可以经由南桥904和PCI总线802控制由这些装置执行的处理。此外,在连接多个这种装置的情况下,或者在这些装置包括多个解码器或编码器的情况下,微处理器901的八个副CPU内核942-1到副CPU内核942-8可以执行控制,使得多个解码器或者编码器共享该处理。And, for example, in the case where an independent encoder or decoder, or a codec processing device is connected to the PCI bus 802, the eight sub-CPU cores 942-1 to 942-8 of the microprocessor 901 can be connected via the south bridge 904 and PCI bus 802 control the processing performed by these devices. Furthermore, in the case where a plurality of such devices are connected, or in the case where the devices include a plurality of decoders or encoders, the eight sub CPU cores 942-1 to 942-8 of the microprocessor 901 can Control is performed such that multiple decoders or encoders share the process.
此时,主CPU内核941管理八个副CPU内核942-1到副CPU内核942-8的操作,将处理分配给每个CPU内核,取回处理结果,等等。此外,主CPU内核941还执行除了这些副CPU内核所执行的处理以外的处理。例如,主CPU内核941接受经由南桥904从鼠标805、键盘806、或者操作控制器807提供的命令,并且执行对应命令的各种类型的处理。At this time, the main CPU core 941 manages the operations of the eight sub-CPU cores 942-1 to 942-8, assigns processing to each CPU core, retrieves processing results, and so on. Furthermore, the main CPU core 941 also executes processing other than those executed by these sub CPU cores. For example, the main CPU core 941 accepts commands supplied from the mouse 805, the keyboard 806, or the operation controller 807 via the south bridge 904, and executes various types of processing corresponding to the commands.
GPU 902执行关于粘贴纹理并且因此用于播放运动图像内容的播放图片以便显示在显示器922上的最终的展开处理,并且还掌管用于执行当一次在显示器922上显示运动图像内容的多个播放图片和静态图像内容的静态图像时的坐标变换计算的功能、用于放大/缩小运动图像内容的播放图片和静态图像内容的静态图像的处理,等等,从而可以缓解微处理器901上的负荷。The GPU 902 performs final unwrapping processing on pasting textures and thus play pictures for playing moving picture content for display on the display 922, and also hosts multiple play pictures for performing when displaying moving picture content on the display 922 at a time The load on the microprocessor 901 can be relieved by a function of coordinate transformation calculation for still images of still image contents, processing for enlarging/reducing playback pictures of moving image contents and still images of still image contents, and the like.
GPU 902在微处理器901的控制下,对所提供的运动图像内容的图片数据和静态图像内容的静态图像进行预定的信号处理,将作为其结果所获得的图片数据和图像数据发送到显示器922,并且在显示器922上显示图像信号。The GPU 902, under the control of the microprocessor 901, performs predetermined signal processing on the supplied picture data of moving picture content and still image of still picture content, and transmits the picture data and image data obtained as a result thereof to the display 922 , and the image signal is displayed on the display 922.
现在,由微处理器901的八个副CPU内核942-1到副CPU内核942-8同时并行解码的多个运动图像内容的播放图片经由总线911进行向GPU 902的数据传输,其传输速度例如高达30[G字节/秒],使得可以以高速度平滑地显示甚至具有特殊效果的复杂图片图像。Now, the playback pictures of a plurality of moving image contents decoded in parallel by the eight sub-CPU cores 942-1 to 942-8 of the microprocessor 901 are transmitted to the GPU 902 via the bus 911. The transmission speed is, for example, Up to 30 [Gbyte/sec], making it possible to smoothly display even complex picture images with special effects at high speed.
另一方面,微处理器901使运动图像内容的图片数据和音频数据中的音频数据进行音频混合处理,并且将作为其结果获得的所编辑的音频数据经由南桥904和声音输入/输出代码907发送给扬声器921,以便基于来自扬声器921的音频数据输出音频。On the other hand, the microprocessor 901 subjects the audio data of the picture data and audio data of the moving image content to audio mixing processing, and passes the edited audio data obtained as a result thereof via the south bridge 904 and the sound input/output code 907 to the speaker 921 to output audio based on the audio data from the speaker 921.
在通过软件实现上述一系列处理的情况下,组成该软件的程序从网络或记录介质被安装。In the case of realizing the above-described series of processes by software, programs constituting the software are installed from a network or a recording medium.
此记录介质不仅包括图40中所示的从装置主单元分离地被分发以便向用户分发程序的可移除介质811,诸如磁盘(包括柔性盘)、光盘(包括CD-ROM和DVD)、磁光盘(包括MD)、半导体存储器等,而且还包括以被装配到装置主单元的状态下要被分发给用户的存储程序的HDD 905、存储装置803等。当然,存储介质也可以是诸如ROM或者闪存存储器等的半导体存储器。This recording medium includes not only the removable medium 811 shown in FIG. Optical discs (including MDs), semiconductor memories, etc., but also HDD 905 storing programs to be distributed to users in a state of being mounted to the apparatus main unit, storage device 803, etc. Of course, the storage medium may also be a semiconductor memory such as ROM or flash memory.
在上文中,已经描述了,微处理器901配置有八个副CPU内核,但是本发明不限于此,并且副CPU内核的数量是可选的。并且,对于微处理器901,可以进行这样一种布置,其中使用配置有单内核(一个内核)而非配置有主CPU内核和副CPU内核的CPU。并且,可以使用多个CPU而不是微处理器901,可以使用多个信息处理装置(即,用于执行本发明的处理的程序联合地在多个装置操作下执行)。In the above, it has been described that the microprocessor 901 is configured with eight sub-CPU cores, but the present invention is not limited thereto, and the number of sub-CPU cores is optional. Also, for the microprocessor 901, an arrangement may be made in which a CPU configured with a single core (one core) instead of a main CPU core and a sub CPU core is used. Also, instead of the microprocessor 901, a plurality of CPUs may be used, and a plurality of information processing devices may be used (ie, programs for executing the processing of the present invention are jointly executed under the operation of a plurality of devices).
虽然在本说明书中描述存储在程序记录介质中的程序的步骤当然可以以所描述的时间序列来执行,但是并不局限于此时间序列,并且可以并行执行或者分别执行。Although the steps describing the program stored in the program recording medium in this specification can of course be executed in the described time series, they are not limited to this time series and may be executed in parallel or individually.
此外,本说明书中所用的系统指的是配置有多个装置(器件)的设备的整体。In addition, the system used in this specification refers to the entirety of equipment configured with a plurality of devices (devices).
注意,在上文中,被描述为单独装置的配置可以被分割,以便配置有多个装置。相反,在上文中,被描述为多个装置的配置可以被合并,以便配置有单个装置。并且,各装置的配置可以具有向其添加的除以上所述以外的配置。此外,一个装置的配置的一部分可以被包括在另一装置的配置中,只要总体系统的配置和操作基本上相同就可以。Note that, in the above, the configuration described as a single device may be divided so as to be configured with a plurality of devices. On the contrary, in the above, the configuration described as a plurality of devices may be combined so as to be configured with a single device. Also, the configuration of each device may have configurations other than those described above added thereto. Furthermore, a part of the configuration of one device may be included in the configuration of another device as long as the configuration and operation of the overall system are substantially the same.
Claims (18)
Applications Claiming Priority (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP334243/2005 | 2005-11-18 | ||
| JP2005334243 | 2005-11-18 | ||
| JP007256/2006 | 2006-01-16 | ||
| JP2006007256 | 2006-01-16 | ||
| PCT/JP2006/322953 WO2007058296A1 (en) | 2005-11-18 | 2006-11-17 | Encoding device and method, composite device and method, and transmission system |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN101120584A CN101120584A (en) | 2008-02-06 |
| CN101120584B true CN101120584B (en) | 2011-04-20 |
Family
ID=39055700
Family Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN200680005215.6A Active CN101120584B (en) | 2005-11-18 | 2006-11-17 | Encoding device and method, composite device and method, and transmission system |
| CN200680005866.5A Expired - Fee Related CN101129063B (en) | 2005-11-18 | 2006-11-17 | Encoding device and method, decoding device and method, and transmission system |
Family Applications After (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN200680005866.5A Expired - Fee Related CN101129063B (en) | 2005-11-18 | 2006-11-17 | Encoding device and method, decoding device and method, and transmission system |
Country Status (2)
| Country | Link |
|---|---|
| CN (2) | CN101120584B (en) |
| RU (1) | RU2340114C1 (en) |
Families Citing this family (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR101474756B1 (en) | 2009-08-13 | 2014-12-19 | 삼성전자주식회사 | Method and apparatus for encoding and decoding image using large transform unit |
| TWI864983B (en) | 2010-04-13 | 2024-12-01 | 美商Ge影像壓縮有限公司 | Sample region merging |
| BR122020008249B1 (en) | 2010-04-13 | 2021-02-17 | Ge Video Compression, Llc | inheritance in a multitree subdivision arrangement sample |
| EP3958573B1 (en) | 2010-04-13 | 2023-06-07 | GE Video Compression, LLC | Video coding using multi-tree sub-divisions of images |
| CN106067985B (en) | 2010-04-13 | 2019-06-28 | Ge视频压缩有限责任公司 | Cross-Plane Prediction |
| WO2012042884A1 (en) | 2010-09-29 | 2012-04-05 | パナソニック株式会社 | Image decoding method, image encoding method, image decoding device, image encoding device, programme, and integrated circuit |
| SG188255A1 (en) | 2010-09-30 | 2013-04-30 | Panasonic Corp | Image decoding method, image coding method, image decoding apparatus, image coding apparatus, program, and integrated circuit |
| JP6037156B2 (en) * | 2011-08-24 | 2016-11-30 | ソニー株式会社 | Encoding apparatus and method, and program |
| JP5966346B2 (en) * | 2011-12-21 | 2016-08-10 | ソニー株式会社 | Image processing apparatus and method |
| JP5966345B2 (en) * | 2011-12-21 | 2016-08-10 | ソニー株式会社 | Image processing apparatus and method |
| CN108965892B (en) * | 2012-01-30 | 2021-02-19 | 三星电子株式会社 | equipment for video decoding |
| CA2873591A1 (en) | 2012-05-14 | 2013-11-21 | Sgrouples, Inc. | Social platform with enhanced privacy and integrated customization features |
| CN111726117B (en) * | 2019-03-20 | 2024-07-12 | 中国石油化工股份有限公司 | Digital core data parallel compression coding method and parallel decompression decoding method |
| CN114143557B (en) * | 2021-12-24 | 2023-07-07 | 成都索贝数码科技股份有限公司 | A Low Complexity Coding Method for High Frequency Coefficients of Video Image Wavelet Transform |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1312974A (en) * | 1998-05-27 | 2001-09-12 | 微软公司 | Systems and methods for quantizing transform coefficients for entropy encoded signals |
| JP2003204439A (en) * | 2002-01-08 | 2003-07-18 | Canon Inc | Image encoding apparatus and image encoding method |
| JP2003289441A (en) * | 2002-03-28 | 2003-10-10 | Sony Corp | Bit plane coding device |
Family Cites Families (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| AR016812A1 (en) * | 1997-08-14 | 2001-08-01 | Samsung Electronics Co Ltd | METHOD FOR TRANSMITTING COMPRESSED VIDEO INFORMATION, COMPRESSION AND VIDEO RECORDING PROVISIONS AND VIDEO PLAYBACK |
| JP3710342B2 (en) * | 1999-09-07 | 2005-10-26 | キヤノン株式会社 | Digital signal processing apparatus and method, and storage medium |
| JP2002218465A (en) * | 2001-01-17 | 2002-08-02 | Canon Inc | Image decoding system and control method, image decoding device and method, and storage medium |
| JP2002101310A (en) * | 2000-09-21 | 2002-04-05 | Canon Inc | Filter processing apparatus and method |
| JP2004056676A (en) * | 2002-07-23 | 2004-02-19 | Yamaha Corp | Speaking time display unit |
| JP4077706B2 (en) * | 2002-10-02 | 2008-04-23 | 株式会社リコー | Interlaced image processing apparatus and processing method |
| JP2005109776A (en) * | 2003-09-30 | 2005-04-21 | Sony Corp | Encoding device and decoding device |
| JP4097586B2 (en) * | 2003-10-03 | 2008-06-11 | 三洋電機株式会社 | Data processing device |
-
2006
- 2006-11-17 CN CN200680005215.6A patent/CN101120584B/en active Active
- 2006-11-17 RU RU2007127508/09A patent/RU2340114C1/en active
- 2006-11-17 CN CN200680005866.5A patent/CN101129063B/en not_active Expired - Fee Related
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1312974A (en) * | 1998-05-27 | 2001-09-12 | 微软公司 | Systems and methods for quantizing transform coefficients for entropy encoded signals |
| JP2003204439A (en) * | 2002-01-08 | 2003-07-18 | Canon Inc | Image encoding apparatus and image encoding method |
| JP2003289441A (en) * | 2002-03-28 | 2003-10-10 | Sony Corp | Bit plane coding device |
Also Published As
| Publication number | Publication date |
|---|---|
| CN101129063B (en) | 2010-05-19 |
| CN101129063A (en) | 2008-02-20 |
| CN101120584A (en) | 2008-02-06 |
| RU2340114C1 (en) | 2008-11-27 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4888729B2 (en) | Encoding apparatus and method, and decoding apparatus and method | |
| EP1954058B1 (en) | Information processing | |
| US8665943B2 (en) | Encoding device, encoding method, encoding program, decoding device, decoding method, and decoding program | |
| US8254707B2 (en) | Encoding device, encoding method, encoding program, decoding device, decoding method, and decoding program in interlace scanning | |
| US8432967B2 (en) | Information processing apparatus and method for encoding image data to generate encoded data | |
| US8000548B2 (en) | Wavelet transformation device and method, wavelet inverse transformation device and method, program, and recording medium for performing wavelet transformation at a plurality of division levels | |
| CN101120584B (en) | Encoding device and method, composite device and method, and transmission system | |
| US20080013846A1 (en) | Wavelet transformation device and method, wavelet inverse transformation device and method, program, and recording medium | |
| CN101569170A (en) | Encoding device and encoding method, and decoding device and decoding method | |
| US8861880B2 (en) | Image processing device and image processing method |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| C14 | Grant of patent or utility model | ||
| GR01 | Patent grant |