CN101120584A - 编码装置和方法、解码装置和方法、以及传输系统 - Google Patents

编码装置和方法、解码装置和方法、以及传输系统 Download PDF

Info

Publication number
CN101120584A
CN101120584A CN200680005215.6A CN200680005215A CN101120584A CN 101120584 A CN101120584 A CN 101120584A CN 200680005215 A CN200680005215 A CN 200680005215A CN 101120584 A CN101120584 A CN 101120584A
Authority
CN
China
Prior art keywords
code
data
unit
significant digit
indication
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.)
Granted
Application number
CN200680005215.6A
Other languages
English (en)
Other versions
CN101120584B (zh
Inventor
福原隆浩
保坂和寿
安藤胜俊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority claimed from PCT/JP2006/322953 external-priority patent/WO2007058296A1/ja
Publication of CN101120584A publication Critical patent/CN101120584A/zh
Application granted granted Critical
Publication of CN101120584B publication Critical patent/CN101120584B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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

本发明涉及一种编码装置和方法、解码装置和方法、以及传输系统,其中以更高的速度执行编码和解码。最大有效数字计算单元63计算预定的w个量化系数的最大有效数字。VLC编码单元64基于计算结果输出指示最大有效数字的代码。有效数字提取单元65基于最大有效数字提取w个量化系数中的每一个的有效数字。VLC编码单元66基于所提取的有效数字输出指示w个量化系数的绝对值的代码。符号提取单元67从w个量化系数中提取符号,其指示每个量化系数是正还是负。VLC编码单元68输出指示w个符号的代码。

Description

编码装置和方法、解码装置和方法、以及传输系统
技术领域
本发明涉及编码装置和方法、解码装置和方法、以及传输系统,并且尤其涉及这样一种编码装置和方法、解码装置和方法、以及传输系统,其中能够以更高的速度执行编码和解码。
背景技术
JPEG(联合图片专家组)2000被公知为这样一种编码方法,其中,在执行图像(数据)编码的情况下,通过对输入图像执行频带分割处理而生成的子带(频带)的系数被编码。
在以JPEG2000对图像进行编码的情况下,通过对输入图像执行小波变换而获得的小波系数被量化,并且对通过量化而获得的量化系数进一步进行熵编码(entropy encoding)。
常规上,对于熵编码,执行被称作EBCOT(具有优化截断点的嵌入块编码,Embedded Block Coding with Optimized Truncation)的比特建模(bit modeling)和被称作MQ编码器的算术编码。也就是说,对量化系数进行比特建模,并且进一步对于每个比特平面基于多个编码路径进行算术编码。通过算术编码获得的代码作为已编码图像(数据)被输出(例如专利文献1)。
并且,在对通过JPEG2000编码的图像进行解码的情况下,以与编码情况相反的过程执行处理。更具体地,对作为已编码图像数据的代码进行熵解码和逆量化(inverse quantization),并且对从而获得的量化系数进一步进行小波逆变换(wavelet inverse transform)。通过小波逆变换所获得的图像被输出作为已解码图像。
【专利文献1】日本未审专利申请公开第2004-166254号
发明内容
本发明要解决的问题
然而,通过上述技术,EBCOT和MQ编码器处的处理量很大,因此图像编码和解码无法以高速度轻松执行,并且例如在执行水平1920像素且垂直1080像素的高分辨率的HD(高清晰度)图像的实时编码(或解码)的情况下,已经具有对提供昂贵的专用硬件的需要。
因此,本发明的一个目的是提供一种编码装置和方法、解码装置和方法、以及传输系统,其中可以以更少的延迟来执行图像数据的压缩编码和解码以及已解码图像数据的输出。
解决该问题的手段
根据本发明的第一方面的编码装置是用于对第二数据进行编码的编码装置,该第二数据由表示预定数值的多个第一数据组成,该编码装置包括:最大有效数字(maximum significant digit)输出部,其用于采取在由每个第一数据所表示的数值当中具有最大绝对值的有效数字作为所述第一数据的最大有效数字,并且输出指示该最大有效数字的代码;绝对值输出部,其用于输出指示由第一数据所表示的数值的绝对值的代码;以及代码输出部,其用于输出指示由第一数据所表示的数值的符号的代码。
该最大有效数字输出部可以输出指示最大有效数字是否已改变的代码,作为指示最大有效数字的代码。
在最大有效数字已改变的情况下,该最大有效数字输出部可以输出指示最大有效数字增大还是减小的代码,作为指示最大有效数字的代码。
最大有效数字输出部可以输出指示最大有效数字的改变量的代码。
最大有效数字输出部可以输出指示连续排列的第一数据的最大有效数字的代码,并且输出指示从所述第一数据开始进一步连续排列的第一数据的最大有效数字的代码。
该绝对值输出部可以输出指示由该第一数据所表示的数值的从最低次序的数字到最大有效数字的值的代码,作为指示由第一数据所表示的数值的绝对值的代码。
该绝对值输出部可以并行输出指示由该第一数据所表示的数值的绝对值的代码。
根据本发明的第一方面的编码方法包括如下步骤:采取在由每个第一数据所表示的数值当中具有最大绝对值的有效数字作为所述第一数据的最大有效数字,并且输出指示该最大有效数字的代码;输出指示由第一数据所表示的数值的绝对值的代码;以及输出指示由第一数据所表示的数值的符号的代码。
根据本发明的第二方面的解码装置是用于对第二数据进行解码的解码装置,该第二数据由表示预定数值的多个第一数据组成,该解码装置包括:最大有效数字输出部,其用于采取在由每个第一数据所表示的数值当中具有最大绝对值的有效数字作为最大有效数字,对指示该第一数据的最大有效数字的代码进行解码,并且输出该最大有效数字;绝对值输出部,其用于对指示由第一数据所表示的数值的绝对值的代码进行解码,并且输出由第一数据所表示的数值的绝对值;代码输出部,其用于对指示由第一数据所表示的数值的符号的代码进行解码,并且输出指示由第一数据所表示的数值的符号的数据;以及数据输出部,用于基于最大有效数字、第一数据所表示的数值的绝对值、以及指示第一数据所表示的数值的符号的数据,输出第一数据。
该最大有效数字输出部可以解码指示最大有效数字是否已改变的代码,作为指示最大有效数字的代码。
在最大有效数字已改变的情况下,该最大有效数字输出部可以解码指示最大有效数字增大还是减小的代码、以及指示最大有效数字的改变量的代码,作为指示最大有效数字的代码,并且基于解码结果输出最大有效数字。
最大有效数字输出部可以重复地执行以下处理:解码指示连续排列的第一数据的最大有效数字的代码,以及解码指示从所述第一数据开始进一步连续排列的第一数据的最大有效数字的代码。
该绝对值输出部可以并行解码指示由该第一数据所表示的数值的绝对值的代码。
根据本发明的第二方面的解码方法包括如下步骤:采取在由每个第一数据所表示的数值当中具有最大绝对值的有效数字作为所述第一数据的最大有效数字,对指示该最大有效数字的代码进行解码,并且输出该最大有效数字;对指示由第一数据所表示的数值的绝对值的代码进行解码,并且输出由第一数据所表示的数值的绝对值;对指示由第一数据所表示的数值的符号的代码进行解码,并且输出指示由第一数据所表示的数值的符号的数据;以及基于最大有效数字、第一数据所表示的数值的绝对值、以及指示第一数据所表示的数值的符号的数据,输出第一数据。
根据本发明的第三方面的传输系统是这样一种传输系统,该传输系统包括:编码装置,其用于对第二数据进行编码,该第二数据由表示预定数值的多个第一数据组成;以及解码装置,其用于对已编码代码进行解码并且输出由第一数据组成的第二数据;该传输系统用于将该代码从编码装置传输到解码装置;其中该编码装置包括:第一最大有效数字输出部,其用于采取在由每个第一数据所表示的数值当中具有最大绝对值的有效数字作为最大有效数字,并且输出指示该最大有效数字的代码;第一绝对值输出部,其用于输出指示由第一数据所表示的数值的绝对值的代码;以及第一代码输出部,其用于输出指示由第一数据所表示的数值的符号的代码;并且其中该解码装置包括:第二最大有效数字输出部,其用于对已经从编码装置传输、并且指示由第一最大有效数字输出部所输出的最大有效数字的代码进行解码,并且输出该最大有效数字;第二绝对值输出部,其用于对已经从编码装置传输、并且指示由第一绝对值输出部所输出的绝对值的代码进行解码,并且输出该绝对值;第二代码输出部,其用于对已经从编码装置传输、并且指示由第一代码输出部所输出的符号的代码进行解码,并且输出指示该符号的代码;以及数据输出部,其用于基于从第二最大有效数字输出部输出的最大有效数字、从第二绝对值输出部输出的由第一数据所表示的数值的绝对值、以及从第二代码输出部输出、并且指示第一数据所表示的数值的符号的数据,输出第一数据。
通过本发明的第一方面,采取在由每个第一数据所表示的数值当中具有最大绝对值的有效数字作为所述第一数据的最大有效数字,并且输出指示该最大有效数字的代码;输出指示由第一数据所表示的数值的绝对值的代码;以及输出指示由第一数据所表示的数值的符号的代码。
通过本发明的第二方面,采取在由每个第一数据所表示的数值当中具有最大绝对值的有效数字作为最大有效数字,对指示该最大有效数字的代码进行解码,并且输出该最大有效数字;对指示由第一数据所表示的数值的绝对值的代码进行解码,并且输出由第一数据所表示的数值的绝对值;对指示由第一数据所表示的数值的符号的代码进行解码,并且输出指示由第一数据所表示的数值的符号的数据;以及基于最大有效数字、第一数据所表示的数值的绝对值、以及指示第一数据所表示的数值的符号的数据,输出第一数据。
通过本发明的第三方面,在编码装置处,采取在由每个第一数据所表示的数值当中具有最大绝对值的有效数字作为最大有效数字,并且输出指示该最大有效数字的代码;输出指示由第一数据所表示的数值的绝对值的代码;以及输出指示由第一数据所表示的数值的符号的代码;并且在解码装置处,对从编码装置传输的并且指示最大有效数字的代码进行解码,并且输出该最大有效数字;对从编码装置传输的并且指示绝对值的代码进行解码,并且输出该绝对值;对已经从编码装置传输的并且指示符号的代码进行解码,并且输出指示该符号的数据;以及基于最大有效数字、绝对值、以及指示符号的数据,输出第一数据。
本发明的优势
根据本发明的第一方面,可以对图像进行编码。特别地,根据本发明的第一方面,可以以更高的速度对图像进行编码。
根据本发明的第二方面,可以对图像进行解码。特别地,根据本发明的第二方面,可以以更高的速度对图像进行解码。
根据本发明的第三方面,可以以更高的速度在编码装置处对图像进行编码,并且可以以更高的速度在解码装置处对图像进行解码。
附图说明
图1是示出应用了本发明的图像编码装置的配置示例的框图。
图2是用于描述子带的图。
图3是示出要被编码的量化系数的示例的图。
图4是示出熵编码单元的配置示例的框图。
图5是用于描述编码处理的流程图。
图6是用于描述熵编码处理的流程图。
图7是用于描述w集合编码处理的流程图。
图8是示出图像解码装置的配置示例的框图。
图9是示出熵解码单元的配置示例的框图。
图10是示出代码分割单元的配置示例的框图。
图11是示出代码分割单元的配置示例的框图。
图12是用于描述解码处理的流程图。
图13是用于描述熵解码处理的流程图。
图14是用于描述w集合解码处理的流程图。
图15是示出熵编码单元的另一配置示例的框图。
图16是示出要被编码的量化系数的示例的图。
图17是用于描述w集合编码处理的流程图。
图18是用于描述w集合解码处理的流程图。
图19是示出应用了发明的图像编码装置的一个示例的配置的框图。
图20是用于示意性地描述小波变换的概要线图。
图21是用于示意性地描述小波变换的概要线图。
图22是用于示意性地描述在将提升(lifting)技术应用于5×3滤波器的情况下的小波变换的概要线图。
图23是用于示意性地描述在将提升技术应用于5×3滤波器的情况下的小波变换的概要线图。
图24是用于示意性地描述一种示例的概要线图,其中在该示例中,执行通过5×3滤波器的提升而进行的滤波,直到分割级别=2。
图25是用于示意性地描述根据本发明的小波变换和逆小波变换的流程的概要线图。
图26是用于描述编码处理的示例的流程图。
图27是用于说明应用了本发明的图像解码装置的示例的框图。
图28是用于描述解码处理的示例的流程图。
图29是用于示意性地描述应用了本发明的图像编码装置和图像解码装置的各组件的并行操作的概要线图。
图30是示出应用了本发明的图像编码装置的示例的配置的框图。
图31是用于描述在图像编码装置侧执行小波系数的重布置处理的情况下的处理的流程的概要线图。
图32是用于描述在图像解码装置侧执行小波系数的重布置处理的情况下的处理的流程的概要线图。
图33是示出应用了本发明的图像编码装置的示例的配置的框图。
图34是示出应用了本发明的图像解码装置的示例的配置的框图。
图35是用于描述已编码数据如何被交换的示例的示意图。
图36是示出分组(packet)的配置示例的图。
图37是示出应用了本发明的数字三轴(triax)系统的示例的配置的框图。
图38是示出应用了本发明的无线传输系统的示例的配置的框图。
图39是示出应用了本发明的家用游戏机的示例的配置的图。
图40是示出应用了本发明的信息处理系统的配置示例的图。
附图标记
11图像编码装置
23熵编码单元
61行确定单元
62VLC编码单元
63最大有效数字计算单元
64VLC编码单元
65有效数字提取单元
66VLC编码单元
67符号提取单元
68VLC编码单元
111图像解码装置
151代码分割单元
152行确定单元
154VLC解码单元
155VLC解码单元
156VLC解码单元
301缓冲器
401图像编码装置
410小波变换单元
411中途计算缓冲器单元
412系数重布置缓冲器单元
413系数重布置单元
414速率控制单元
415熵编码单元
420图像解码装置
421熵解码单元
422系数缓冲器单元
423小波逆变换单元
430图像编码装置
431编码重布置缓冲器单元
432编码重布置单元
500传输单元
501三轴线缆
502摄影机控制单元
510视频信号编码单元
511视频信号解码单元
526视频信号解码单元
527视频信号编码单元
600传输单元
601接收装置
602视频信号编码单元
612无线模块单元
621无线模块单元
624视频信号解码单元
700摄像机装置
701家用游戏机主单元
具体实施方式
图1是示出应用了本发明的图像编码装置的示例的配置的框图。
图像编码装置11具有小波变换单元21、量化单元22、和熵编码单元23。
例如,充当已在必要时进行直流电平平移的分量信号的图像(数据)被输入到小波变换单元21。小波变换单元21对输入图像进行小波变换,并且将图像分割成多个子带。小波变换单元21将通过小波变换而获得的子带的小波系数提供给量化单元22。
量化单元22量化从小波变换单元21提供的小波系数,并且将作为其结果而获得的量化系数提供给熵编码单元23。
熵编码单元23对从量化单元22提供的量化系数进行熵编码,并且将如此获得的编码输出作为已编码图像(数据)。在进行速率控制处理之后,从熵编码单元23输出的图像例如可以被分组化并被记录,或者被提供给连接到图像编码装置11的其他装置(未示出)。
接下来,将参考图2和图3描述通过图1中的熵编码单元23执行的熵编码。
例如,如图2所示,由六行即行L1到L6配置一个子带,并且将对应于xy坐标系中的行上的像素的位置作为(x,y)。现在,在每个行的图中,取左端位置的x坐标为0,并且取行L1的y坐标为0。
以光栅扫描次序从行L1到行L6从量化单元22向熵编码单元23输入比特平面表达中的、并且在子带的每个位置(x,y)处的量化系数。
换言之,首先,对应于行L1的左端坐标(0,0)的量化系数被输入到熵编码单元23。接着,对应于坐标(0,0)的在右边相邻的坐标(1,0)的量化系数被输入到熵编码单元23,并且对应于与其中已经输入了量化系数的坐标相邻的坐标的量化系数被顺序地输入到熵编码单元23,直到行L1的右端的坐标。在行L1上的坐标的所有量化系数都被输入时,从行L2(0,1)的左端上的坐标顺序地到右端上的坐标,对应于行L2上的每个坐标的量化系数被输入到熵编码单元23,并且相似地,从行L3到行L6,对应于每行上的坐标的量化系数被输入到熵编码单元23。
例如,在图3中,如在该图的左上所示的,在十二个量化系数以从图2中的行L1的左端上的坐标开始的次序被输入到熵编码单元23时,熵编码单元23以事先确定的预定数量w(在图3中w=4)为增加来对量化系数进行编码。
现在,在图3中的左上图示的量化系数被各自表达为其代码的绝对值被分割为二进制数字(比特平面表达)的方式,并且通过图3中示出的示例,一行(图2中的行L1)的量化系数“-0101”、“+0011”、“-0110”、“+0010”、“+0011”、“+0110”、“0000”、“-0011”、“+1101”、“-0100”、“+0111”、以及“-1010”依次被输入到熵编码单元23中。
每个量化系数由被表达为“+”(正)或“-”(负)的量化系数代码(此后称为量化系数的符号(Sign))、以及以二进制表达的量化系数的绝对值组成。在图3中,在表示量化系数的绝对值的每个数字的值的比特当中,在图中最上侧的比特表示最高次序比特(最高次序数字的比特)。因此对于量化系数“-0101”,其符号为“-”,并且以二进制表达的绝对值是“0101”,因此该量化系数的十进制表示是“-5”。
首先,熵编码单元23确定一个输入行的量化系数(的绝对值)是否全部为0,并且根据其确定结果,输出一个代码,该代码指示是否要被编码的行的全部量化系数为0。在确定量化系数全部为0的情况下,熵编码单元23输出0,作为指示是否该行的全部量化系数为0的代码,并且结束对当前被执行的该行的量化系数的编码。并且,在确定并非全部量化系数的值为0的情况下(并非只存在为0的量化系数),熵编码单元23输出1,作为指示是否该行的全部量化系数为0的代码。
在图中的左上示出的这十二个量化系数被输入的情况下,被输入的行的量化系数可变延迟不仅是0,因此熵编码单元23输出1作为代码,如图中右上所示的。
在指示量化系数并非都为0的代码1被输出作为指示是否该行的全部量化系数为0的代码时,接着,熵编码单元23对第一的四个(w个)输入的量化系数“-0101”、“+0011”、“-0110”、和“+0010”执行编码。
熵编码单元23比较此次输入的四个连续量化系数的最大有效数字(图3中的变量B的值)与前次(输入的)编码的四个(w个)量化系数的最大有效数字,确定最大有效数字是否已改变,并且输出指示量化系数的最大有效数字的代码。
现在,最大有效数字是要被共同编码的四个(w个)量化系数当中具有最大值的量化系数的最大有效数字。换言之,最大有效数字指示,对于四个量化系数中具有最大绝对值的量化系数,最高次序的1位于哪个数字。从而,要被共同编码的四个量化系数“-0101”、“+0011”、“-0110”、和“+0010”的最大有效数字例如是“3”,其是对于具有最大绝对值的量化系数“-0110”,最高次序的1所位于的数字。
并且,指示量化系数的最大有效数字的代码是由以下代码组成的:指示最大有效数字是否已经改变的代码、指示最大有效数字增大还是减小的代码、以及指示最大有效数字的改变量的代码,并且在最大有效数字没有改变的情况下,不输出指示最大有效数字增大还是减小的代码和指示最大有效数字的改变量的代码。
在最大有效数字已经改变的情况下,从最大有效数字的比较结果中,熵编码单元23输出指示最大有效数字已经改变的代码1,并且在最大有效数字没有改变的情况下,输出指示最大有效数字没有改变的代码0。
并且,关于对最大有效数字是否已经改变的确定,在四个量化系数第一次被输入的情况下,即在输入要被编码的子带的第一个量化系数的情况下(例如,在四个量化系数从左开始以图2中的行L1的次序被输入的情况下),并没有先前编码子带的量化系数,因此先前编码的四个(w个)量化系数的最大有效数字被设定为0。
因此,熵编码单元23比较此次输入的四个量化系数“-0101”、“+0011”、“-0110”、和“+0010”的最大有效数字3和前次编码的四个量化系数的最大有效数字0,并且输出代码1,这是因为最大有效数字已经改变。
并且,熵编码单元23在指示最大有效数字已改变的代码1之后,输出指示最大有效数字是增大还是减小的代码。在此,熵编码单元23在最大有效数字增大的情况下输出0,在最大有效数字减小的情况下输出1。
前一最大有效数字为0,并且当前最大有效数字为3,因此如图中右上所示,熵编码单元23输出代码0,其指示最大有效数字增大。
进而,在输出指示最大有效数字增大还是减小的代码时,熵编码单元23输出指示最大有效数字增大或减小了多少的代码,即指示最大有效数字的改变量的代码。具体地,对于最大有效数字的改变量(即增大量或减小量)作为n,熵编码单元23输出(n-1)个代码0,并且在这些0之后输出代码1。
在对图3所示的第一的四个量化系数进行编码的情况下,最大有效数字的改变量为3(=3-0),因此熵编码单元23输出两个(=3-1)0,进而输出1,作为代码。
接着,熵编码单元23输出用于指示要在此次编码的四个(w个)量化系数中的每一个的绝对值的最大有效数字的代码。也就是说,熵编码单元23关于每个量化系数,从由最大有效数字所指示的有效数字中的最大数字开始依次到最小的数字,输出指示该量化系数的绝对值的每个数字的值的代码。
此次要被编码的量化系数为“-0101”、“+0011”、“-0110”、和“+0010”,因此熵编码单元23首先输出用于指示首先输入的量化系数“-0101”的绝对值的最大有效数字的代码。在此,最大有效数字为3,因此熵编码单元23输出由量化系数“-0101”的最大有效数字所指示的有效数字中的最大数字(即第三个数字)的值“1”、最大数字之下一个的数字(第二个数字)的值“0”、以及最低次序数字的值“1”。因而,输出指示量化系数“-0101”的绝对值的有效数字的代码“101”。
以相同方式,对于指示量化系数“+0011”、“-0110”、和“+0010”的绝对值的有效数字,熵编码单元23依次输出代码“011”、“110”、以及“010”。因此,输出“101011110010”作为指示“-0101”、“+0011”、“-0110”、和“+0010”中的每一个的绝对值的最大有效数字的代码。因而,熵编码单元23输出长度与要被编码的四个量化系数的最大有效数字相对应的代码,作为指示量化系数的绝对值的代码。
最终,熵编码单元23输出指示绝对值不为0的四个(w个)量化系数中的每一个的符号的代码。现在,在量化系数的符号为“+”(正)的情况下,熵编码单元23输出该代码0,并且在量化系数的符号为“-”(负)的情况下,输出该代码1。
此次要被编码的量化系数是“-0101”、“+0011”、“-0110”、和“+0010”,并且这些量化系数的符号依次是负、正、负、正,因此如图中的右上所示,熵编码单元23输出“1010”,作为指示每个量化系数的符号的代码。
在对首次输入的四个量化系数被编码时,熵编码单元23接着对之后的连续的四个量化系数“+0011”、“+0110”、“0000”、和“-0011”进行编码。
以与对首次(前次)输入的量化系数编码的情况相同的方式,熵编码单元23首先比较此次新输入的四个(w个)量化系数的最大有效数字和前次编码的四个(w个)量化系数的最大有效数字。
此次输入的四个(w个)量化系数“+0011”、“+0110”、“0000”、和“-0011”的最大有效数字为“3”,其是对于具有最大绝对值的量化系数“+0110”,最高次序的1所位于的数字,并且这与前次编码的量化系数的最大有效数字相同,因此熵编码单元23输出代码0,其指示最大有效数字没有改变。
接着,熵编码单元23输出代码“011110000011”,其中指示此次要被编码的四个(w个)量化系数“+0011”、“+0110”、“0000”、和“-0011”中的每一个的绝对值的最大有效数字的代码“011”、“110”、“000”、和“011”被依次排列。
在指示量化系数的绝对值的代码已被输出时,熵编码单元23输出指示绝对值不为0的四个(w个)量化系数中的每一个的符号的代码。
此次要被编码的量化系数是“+0011”、“+0110”、“0000”、和“-0011”,并且第三个量化系数“0000”的绝对值为0,因此熵编码单元23输出代码“001”,其指示非0的这些量化系数“+0011”、“+0110”、和“-0011”的符号(正、正、负)。
在四个量化系数“+0011”、“+0110”、“0000”、和“-0011”被编码时,熵编码单元23接着对之后的连续的四个量化系数“+1101”、“-0100”、“+0111”、和“-0101”进行编码。
熵编码单元23首先比较此次新输入的四个(w个)量化系数的最大有效数字和前次编码的四个量化系数的最大有效数字。
此次输入的四个(w个)量化系数“+1101”、“-0100”、“+0111”、和“-0101”的最大有效数字为“4”,其是对于具有最大绝对值的量化系数“+1101”,最高次序的1所位于的数字,并且这与前次编码的量化系数的最大有效数字“3”不同,因此熵编码单元23输出代码1,其指示最大有效数字已改变。
并且,先前的最大有效数字为3,并且此次的最大有效数字为4,因此熵编码单元23输出代码0,指示最大有效数字增大,如图中右侧所示。
进而,熵编码单元23输出指示最大有效数字增大了多少的代码。在这种情况下,最大有效数字的改变量是1(=4-3),因此熵编码单元输出0(=1-1)个零,并且还输出1(即输出代码1)。
接着,熵编码单元23输出代码“1101010001111010”,其中指示此次要被编码的四个(w个)量化系数“+1101”、“-0100”、“+0111”、和“-1010”中的每一个的绝对值的最大有效数字的代码“1101”、“0100”、“0111”、和“1010”被依次排列。
在输出了指示量化系数的绝对值的代码时,熵编码单元23输出指示量化系数非0的四个(w个)量化系数中的每一个的符号的代码。
此次要被编码的量化系数是“+1101”、“-0100”、“+0111”、和“-1010”,并且这些量化系数的符号依次为正、负、正、负,因此如图中右下所示,熵编码单元23输出“0101”作为指示每个量化系数的符号的代码。
熵编码单元23如此对连续的预定数量(w个)的输入量化系数进行编码。因而,在从熵编码单元23输出指示是否要被编码的行的全部量化系数为0的代码,并且输出指示并非该行的所有量化系数为0的代码时,接着,输出指示w个量化系数的最大有效数字的代码、指示w个量化系数的绝对值(比特平面表达)的代码、以及指示量化系数的符号的代码。
对于指示这些w个量化系数的最大有效数字的代码、指示w个量化系数的绝对值的代码、以及指示量化系数的符号的代码,重复地输出指示下一w个量化系数的最大有效数字的代码、指示w个量化系数的绝对值的代码、以及指示量化系数的符号的代码,直到该行的全部量化系数都被编码。
现在,已经描述了量化系数以光栅扫描次序被编码,但是量化系数被编码的次序不必是光栅扫描次序。例如,在图2所示的子带的量化系数被编码的情况下,可以进行这样一种布置,其中处于位置(0,0)、(0,1)、(0,2)、和(0,3)(即,在行L1到L4中每一行的图中的左端的位置)的量化系数被编码,接着,处于位置(1,0)、(1,1)、(1,2)、和(1,3)的量化系数被编码,依此类推,图中垂直对准的四个位置处的量化系数被采用作为w个量化系数,并且每次w个地依次被编码。
图1中所示的执行诸如上述的处理的熵编码单元23更详细地被配置为如图4所示。
熵编码单元23包括行确定单元61、VLC(可变长度代码)编码单元62、最大有效数字计算单元63、VLC编码单元64、有效数字提取单元65、VLC编码单元66、符号提取单元67、VLC编码单元68、以及代码链接单元69。
从量化单元22(图1)输出的量化系数被提供(输入)到行确定单元61、最大有效数字计算单元63、有效数字提取单元65、以及符号提取单元67。
行确定单元61确定是否从量化单元22输入的要被编码的一行的全部量化系数都是0,并且将指示确定结果的信息提供给VLC编码单元62。
基于指示由行确定单元61作出的判断的结果的信息,VLC编码单元62向代码链接单元69输出代码,该代码指示是否要被编码的该行的全部量化系数都是0。
最大有效数字计算单元63计算从量化单元22输入的w个连续量化系数的最大有效数字,并且将指示其计算结果的信息提供给VLC编码单元64和有效数字提取单元65。
基于指示来自最大有效数字计算单元63的计算结果的信息,VLC编码单元64将指示w个量化系数的最大有效数字的代码提供给代码链接单元69。
基于指示来自最大有效数字计算单元63的计算结果的信息,有效数字提取单元65提取从量化单元22提供的w个量化系数的有效数字,并且将所提取的量化系数的有效数字(的数据)提供给VLC编码单元66和符号提取单元67。
VLC编码单元66基于来自有效数字提取单元65的量化系数的有效数字对这些量化系数的绝对值进行编码,并且将从而获得的量化系数的绝对值提供给代码链接单元69。
符号提取单元67基于来自有效数字提取单元65的量化系数的有效数字提取从量化单元22提供的量化系数的符号,并且将所提取的符号(的数据)提供给VLC编码单元68。
VLC编码单元68对从符号提取单元67提供的所提取的符号(的数据)进行编码,并且将指示从而获得的量化系数的符号的代码提供给代码链接单元69。
代码链接单元69链接分别从VLC编码单元62、VLC编码单元64、VLC编码单元66、以及VLC编码单元68提供的指示是否该行的全部量化系数都为0的代码、指示最大有效数字的代码、指示量化系数的绝对值的代码、以及指示量化系数的符号的代码,并且将它们输出作为已编码图像(数据)。
接着,将参考图5中的流程图描述图像编码装置11(图1)的编码处理。此编码处理在要被编码的图像(数据)被输入到小波变换单元21时开始。
在步骤S11中,小波变换单元21使输入图像进行小波变换,将输入图像分割成多个子带,并且将每个子带的小波系数提供给量化单元22。
在步骤S12中,量化单元22对从小波变换单元21提供的小波系数进行量化,并且将作为其结果获得的量化系数提供给熵编码单元23。因而,例如在已经参考图3所描述的比特平面表达中的子带中的每个位置的量化系数被输入到熵编码单元23。
在步骤S13中,熵编码单元23执行熵编码处理,并且结束编码处理。虽然将在之后描述熵编码处理的细节,在参照图3所描述的熵编码处理中,熵编码单元23一次对从量化单元22提供的连续的预定数量的(w个)量化系数进行编码,并且作为已编码图像(数据)输出指示是否要被编码的该行的全部量化系数都为0的代码、指示w个量化系数的最大有效数字的代码、指示量化系数的绝对值的代码、以及指示量化系数的符号的代码。
因而,图像编码装置11编码并且输出该输入图像。
接着,将参照图6描述对应于图5中的步骤S13中的处理的熵编码处理。
在图5中的步骤S12中,从量化单元22输出的量化系数被提供(输入)到熵编码单元23(图4)的行确定单元61、最大有效数字计算单元63、有效数字提取单元65、以及符号提取单元67。
在步骤S41中,行确定单元61取指示现在要被编码的子带的行的变量y作为y=0,并且将其存储。
例如,在对图2中所示的子带的量化系数进行编码的情况下,行确定单元61取指示这些行(行L1到行L6)的变量y作为y=0。注意,由变量y指示的行y指示子带的行上的每个位置(x,y)上的y坐标为y的行。因此,在行确定单元61所存储的变量y例如是y=0的情况下,由变量指示的行成为行上的每个位置上的y坐标为0的行L1。
在步骤S42中,最大有效数字计算单元63取指示行确定单元61中所存储的变量y所指示的行y之前一行(y-1)上的首先输入的w个量化系数的最大有效数字的变量Binit作为Binit=0,并且将其存储。
例如,在行(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。
在步骤S43中,行确定单元61确定由其中存储的变量y所指示的行y的量化系数(的绝对值)是否全为0。例如,在行y是图2中所示的行L1的情况下,行确定单元61在行L1上的位置(x,y)处的全部量化系数为0的情况下确定所有量化系数为0。
在步骤S43中确定量化系数全都为0的情况下,行确定单元61生成含义是所有量化系数全部为0的信息,并且将其提供给VLC编码单元62和最大有效数字计算单元63,并且流程进行到步骤S44。
在步骤S44中,基于来自行确定单元61的含义为所有量化系数全部为0的信息,VLC编码单元62将指示要被编码的行的所有量化系数都为0的代码0输出(提供)到代码链接单元69。代码链接单元69取从VLC编码单元62提供的代码0,并且将其不作改变地输出,充当作为行y的量化系数的编码结果而获得的代码。
在步骤S45中,基于来自行确定单元61的含义为全部量化系数都为0的信息,最大有效数字计算单元63将其中存储的变量Binit的值设定为Binit=0,并且更新该变量Binit。
在步骤S46中,行确定单元61确定在被编码的子带的各行中是否有任何未处理的行。也就是说,行确定单元61确定是否被编码的子带的所有行的量化系数都已被编码。例如,在对图2中所示的子带的量化系数进行编码的情况下,在行L1到L6上的全部位置上的量化系数已全部被编码的时刻,行确定单元61确定不存在未处理的行。
在步骤S46中确定存在未处理的行的情况下,行确定单元61使流程进行到步骤S47,以对下一行、即行(y+1)上的每个位置处的量化系数进行编码。
在步骤S47中,行确定单元61通过y=y+1使指示所存储的行的变量y增加,使流程返回到步骤S43,并且再次执行上述的后续处理。
相反,在步骤S46中确定没有未处理的行的情况下,组成该子带的全部行的量化系数都已被编码,并且因此行确定单元61结束该熵编码处理,流程返回到图5中的步骤S13,并且编码处理结束。
并且,在图6的步骤S43中确定行y的量化系数不都是0(存在非0的量化系数)的情况下,行确定单元61生成含义是量化系数并不都是0(存在非0的量化系数)的信息,将其提供VLC编码单元62和最大有效数字计算单元63,并且使流程进行到步骤S48。
在步骤S48中,基于来自行确定单元61的含义是量化系数不都是0的信息,VLC编码单元62将指示要被编码的行的量化系数不都是0的代码1输出(提供)到代码链接单元69。
在步骤S49中,基于来自行确定单元61的含义是全部量化系数都为0的信息,最大有效数字计算单元63将变量x的值设定为x=0,并且存储该变量x,其中该变量x指示现在要被编码的w个量化系数中要被输入的第一个量化系数的行y上的位置的x坐标。
例如,在行y是图2中所示的行L1的情况下,最大有效数字计算单元63所存储的变量x的值指示在要被编码的行L1上的w个连续位置(x,0)、(x+1,0)、...(x+w-1,0)中的位于最远的左上位置(x,0)的x坐标。
并且,在步骤S49中,最大有效数字计算单元63将变量B的值设定为B=Binit,并且存储变量B,其中该变量B指示前次编码的w个量化系数的最大有效数字。也就是说,最大有效数字计算单元63更新变量B的值,作为存储在其中的变量Binit的值,并且存储所更新的变量B的值。
在更新变量B的值时,最大有效数字计算单元63将指示已更新的变量B的值(最大有效数字)的信息提供给VLC编码单元64和有效数字提取单元65。并且,VLC编码单元64和有效数字提取单元65各自存储从最大有效数字计算单元63提供的变量B的值。
在步骤S50中,熵编码单元23执行w集合编码处理。虽然之后将描述w集合编码处理的细节,在w集合编码处理中,熵编码单元23对存储在行确定单元61中的变量y所指示的行y上的w个连续量化系数进行编码。
现在,通过将存储在行确定单元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)中的每个位置处的量化系数进行编码。
在步骤S51中,最大有效数字计算单元63确定是否在行y上存在未处理的量化系数。也就是说,最大有效数字计算单元63确定是否存储在行确定单元61中的变量y所指示的行y上的位置处的全部量化系数都已被编码。
在步骤S51中确定在行y上存在未处理的量化系数的情况下,最大有效数字计算单元63使流程前进到步骤S52,以对下一w个量化系数进行编码。
在步骤S52中,最大有效数字计算单元63取存储在其中的变量x作为x=x+w,并且使流程返回到步骤S50。因此,行y上的位置(x+w,y)、(x+w+1,y)、...、(x+2w-1,y)中的每一个位置的量化系数在以下步骤S50的处理中被编码。
并且,在步骤S51中确定在行y上不存在未处理的量化系数的情况下,已经对行y上的1的全部位置上的量化系数进行编码,因此最大有效数字计算单元63使流程返回到步骤S46,并且执行后续处理。
因而,熵编码单元23对子带的每个位置上的量化系数按照每预定数量以光栅扫描次序进行编码。
因而,通过对子带的每个位置上的量化系数按照每预定数量以光栅扫描次序进行编码,输入的量化系数可以按照它们被输入的次序来进行处理,并且由于量化系数编码造成的延迟可以降低。
接着,将参照图7所示的流程图描述与图6中的步骤S50的处理相对应的w集合编码处理。
在步骤S81中,最大有效数字计算单元63将其中存储的变量x所标识的行y上的位置作为(x,y),并且在w个连续位置(x,y)、(x+1,y)、...、(x+w-1,y)中,取绝对值最大的量化系数的有效数字作为变量Bnew的值,并且存储此变量Bnew,其中该变量Bnew指示现在要被编码的w个量化系数的最大有效数字。
并且,最大有效数字计算单元63将所获得的w个量化系数的最大有效数字、即变量Bnew的值提供给VLC编码单元64和有效数字提取单元65。
例如,在w个连续位置的量化系数是如图3所示的这些量化系数当中的量化系数“-0101”、“+0011”、“-0110”、和“+0010”的情况下,具有最大绝对值的量化系数是“-0110”,并且其有效数字为“3”,其是对于“-0110”,最高次序的1所位于的数字,因此变量Bnew的值被设定为3。
在步骤S82中,VLC编码单元64确定是否B=Bnew。也就是说,VLC编码单元64确定指示前次被编码的w个量化系数的最大有效数字的变量B的值是否与从最大有效数字计算单元63提供的现在要被编码的w个量化系数的最大有效数字的变量Bnew的值相同。
在步骤S82中确定B=Bnew的情况下,VLC编码单元64使流程前进到步骤S83,并且向代码链接单元69输出指示从现在开始要被编码的w个量化系数的最大有效数字的代码0。在输出指示最大有效数字的代码0时,VLC编码单元64跳过步骤S84中的处理到步骤S88中的处理,并且使流程前进到步骤S89。
相反,在步骤S82中确定B=Bnew不成立的情况下,VLC编码单元64使流程前进到步骤S84,并且(由于最大有效数字已改变)向代码链接单元69输出代码1,该代码1指示最大有效数字已改变。
在步骤S85中,VLC编码单元64获得整数n和m,它们满足以下表达式(1)。
Bnew=B+(n+1)×(-1)^m    ....(1)
在此,表达式(1)中的符号“^”表示指数。从而,(-1)^m意味(-1)的m次幂。
例如,在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的值指示最大有效数字增大了还是减小了。
在步骤S86中,VLC编码单元64向代码链接单元69输出满足表达式(1)的m的值作为1比特的代码,作为指示最大有效数字是增大还是减小的代码。例如,在满足表达式(1)的m的值为0的情况下,VLC编码单元64输出代码0,其指示最大有效数字增大了。
在步骤S87中,VLC编码单元64向代码链接单元69输出与满足表达式(1)的n的值一样多的零,之后输出一个1,作为指示最大有效数字中的改变量的代码。也就是说,VLC编码单元64输出n个0和一个1,作为指示最大有效数字中的改变量的代码。
例如,在满足表达式(1)的n的值为2的情况下,VLC编码单元64向代码链接单元69输出“001”作为指示最大有效数字中的改变量的代码。
因而,VLC编码单元64向代码链接单元69输出指示最大有效数字已改变的代码、指示最大有效数字是增大还是减小的代码、以及指示最大有效数字的改变量的代码,作为指示从现在开始要被编码的w个量化系数的最大有效数字的代码。
在步骤S88中,最大有效数字计算单元63将所存储的变量B的值设定为B=Bnew,并且使流程前进到步骤S89。也就是说,最大有效数字计算单元63将所存储的变量B的值更新为其中存储的变量Bnew的值。并且,VLC编码单元64和有效数字提取单元65也将所存储的变量B的值设定为B=Bnew。
在变量B的值在步骤S88中被设定为B=Bnew时,或者指示量化系数的最大有效数字的代码在步骤S83中被输出时,在步骤S89中,在所存储的变量x的值为0的情况下,最大有效数字计算单元63将所存储的变量Binit的值设定为Binit=B。
也就是说,在所存储的变量x的值为0的情况下,最大有效数字计算单元63通过将指示首先输入到存储于其中的行(y-1)上的w个量化系数的最大有效数字的变量Binit的值作为指示前次被编码的w个量化系数的最大有效数字的变量B的值,从而更新变量Binit。
因而,在变量x=0的情况下,变量Binit值被设定为Binit=B,从而可以使用与从前一行(例如行y)中的x=0开始的w个量化系数的最大有效数字的相关的关系,对从下一行(例如行(y+1))中的x=0开始的w个量化系数执行量化系数的编码。
在步骤S90中,有效数字提取单元65取预定变量i,并且从0到(w-1)改变该变量i,以便从行y上的位置(x-i,y)的量化系数中提取量化系数的有效数字,其中这些量化系数已从量化单元22提供。有效数字提取单元65将所提取的量化系数的有效数字(的数据)提供给VLC编码单元66和符号提取单元67。并且,VLC编码单元66基于从有效数字提取单元65提供的有效数字(对有效数字进行编码),将指示w个量化系数的绝对值的代码输出到代码链接单元69。
现在,位置(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从这些量化系数提取有效数字。
在这种情况下,存储在有效数字提取单元65处的变量B的值为3,并且有效数字是3个数字,因此有效数字提取单元65从对应于位置(x,y)的量化系数“-0101”中提取作为从最低次序开始的三个数字的值“101”。
以相同方式,有效数字提取单元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。
在步骤S91中,符号提取单元67取预定变量i,并且从0到(w-1)改变该变量i,以便从由量化单元22提供的、量化系数的绝对值非0的行y上的位置(x+i,y)上的量化系数提取量化系数的符号,并且将所提取的符号(的数据)提供给VLC编码单元68。VLC编码单元68对来自符号提取单元67的符号进行编码,并且将指示从而获得的量化系数的符号的代码输出到代码链接单元69。
在指示量化系数的符号的代码从VLC编码单元68被输入时,代码链接单元69链接分别从VLC编码单元62、VLC编码单元64、VLC编码单元66、和VLC编码单元68所提供的指示是否该行的所有量化系数都为0的代码、指示量化系数的最大有效数字的代码、指示量化系数的绝对值的代码、以及指示量化系数的符号的代码,输出所链接的代码作为已编码图像,结束w集合编码处理,使流程返回到图6中的步骤S50,并且执行从步骤S51开始的处理。
现在,位置(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从这些量化系数中提取符号。
在这种情况下,符号提取单元67从量化系数“-0101”中提取对应于位置(x,y)的量化系数的符号“-”。
以相同方式,符号提取单元67顺序地从对应于位置(x+1,y)、(x+2,y)、以及(x+3,y)的量化系数“+0011”、“-0110”、“+0010”提取量化系数的符号“+”、“-”、“+”。因而,量化系数“-0101”、“+0011”、“-0110”、和“+0010”的符号“-”、“+”、“-”、“+”从符号提取单元67输出到VLC编码单元68。VLC编码单元68对从符号提取单元67提供的量化系数的符号“-”、“+”、“-”、“+”进行编码。
例如,在符号“-”被输入时,VLC编码单元68输出代码1,并且在符号“+”被输入时,输出代码0,从而对输入的符号进行编码。在这种情况下,量化系数的符号“-”、“+”、“-”、和“+”被输入到VLC编码单元68,因此VLC编码单元68将由代码“1”、“0”、“1”、“0”组成的代码“1010”输出到代码链接单元69,作为指示量化系数的符号的代码。
因而,熵编码单元23以预定单位为批次地对子带的量化系数进行编码,并且输出指示量化系数的最大有效数字的代码、指示量化系数的绝对值的代码、以及指示量化系数的符号的代码。
因而,与例如用JPEG2000对图像进行编码的情况不同,以预定单位为批次地对子带的量化系数进行编码消除了基于多个编码路径在比特平面上多次执行处理的需要,并且执行可变代码长度编码,因此用于编码的处理量可以显著降低。因此,可以以更高的速度执行图像编码,并且可以并不昂贵地实现用于实时地对高分辨率图像进行编码的编码装置。
进而,不需要在对图像编码的情况下在图像编码装置11处对代码的长度进行显式的编码,因此代码量可以降低,并且不需要管理关于代码长度的信息。
注意,虽然在前文中描述了,在w个量化系数中,具有最大绝对值的量化系数的有效数字被采用作为指示最大有效数字的变量Bnew的值,然而,变量Bnew的值是等于或大于在w个量化系数中具有最大绝对值的量化系数的有效数字的值就可以。如果变量Bnew的值更大,则对于指示量化系数的绝对值的代码,代码量增大,但是指示量化系数的绝对值的代码的代码量的增大可以通过将变量Bnew的值设定为等于或大于具有最大绝对值的量化系数的有效数字的值而降低。
接着,将描述关于用于对由图像编码装置11编码的图像进行解码的图像解码装置。
图8是示出图像解码装置的配置示例的框图。
图像解码装置111配置有熵解码单元121、逆量化单元122、和小波逆变换单元123,已编码图像(数据)输入到熵解码单元121。
熵解码单元121对作为输入已编码图像的代码执行熵解码,并且将从而获得的量化系数提供给逆量化单元122。
逆量化单元122对从熵解码单元121提供的量化系数执行逆量化,并且将通过逆量化获得的用于每个子带的小波系数提供给小波逆变换单元123。
小波逆变换单元123使从逆量化单元122提供的用于每个子带的小波系数进行小波逆变换,并且输出作为其结果所获得的图像作为已解码图像。
并且,图像解码装置111的执行这种处理的熵解码单元121更详细地被配置为例如如图9所示。
更详细地,熵解码单元121具有代码分割单元151、行确定单元152、生成单元153、VLC解码单元154、VLC解码单元155、VLC解码单元156、量化系数合成单元157、以及切换单元158。
代码分割单元151基于从行确定单元152、VLC解码单元154、VLC解码单元155、和VLC解码单元156中的每一个所提供的信息,对作为已被输入的已编码图像的代码进行分割,并且将预定长度的分割代码提供给行确定单元152、VLC解码单元154、VLC解码单元155、或VLC解码单元156。
也就是说,代码分割单元151将输入代码分割成指示是否一个已编码行的量化系数都为0的代码、指示w个已编码量化系数的最大有效数字的代码、指示w个已编码量化系数的绝对值的代码、以及指示已编码量化系数的符号的代码,并且分别向行确定单元152、VLC解码单元154、VLC解码单元155、和VLC解码单元156中的每一个提供。
行确定单元152基于从代码分割单元151提供的代码来确定是否已编码子带的一行的量化系数都为0,并且将指示确定其结果的信息提供给代码分割单元151、生成单元153、和VLC解码单元154。
生成单元153基于指示来自行确定单元152的确定结果的信息,生成指示相当于一行的量化系数为0的代码,并且将其提供给切换单元158。
VLC解码单元154对从代码分割单元151提供的指示w个已编码量化系数的最大有效数字的代码进行解码,获得w个已编码量化系数的最大有效数字,并且将指示所获得的最大有效数字的信息提供给代码分割单元151、VLC解码单元155、和量化系数合成单元157。
VLC解码单元155基于来自VLC解码单元154的指示最大有效数字的信息,对从代码分割单元151提供的指示量化系数的绝对值的代码进行解码,并且将从而获得的w个量化系数的有效数字(的数据)提供给VLC解码单元156和量化系数合成单元157。并且,VLC解码单元155将表示解码指示量化系数的绝对值的代码的结果的信息提供给代码分割单元151。
基于从VLC解码单元155提供的量化系数的有效数字,VLC解码单元156对从代码分割单元151提供的指示量化系数的符号的代码进行解码,并且将从而获得的量化系数的符号(的数据)提供给量化系数合成单元157。并且,VLC解码单元156将表示解码指示量化系数的符号的代码的结果的信息提供给代码分割单元151。
量化系数合成单元157基于从VLC解码单元154提供的指示最大有效数字的信息,合成从VLC解码单元155提供的量化系数的有效数字和从VLC解码单元156提供的量化系数的符号,并且将如此获得的w个量化系数提供给切换单元158。
切换单元158输出来自生成单元153或量化系数合成单元157的量化系数。
图10是示出代码分割单元151的更详细的配置的框图。
代码分割单元151具有控制单元171和存储器172。在作为已编码图像的代码被输入时,控制单元171将输入的代码提供给存储器172用于暂时存储。
然后,控制单元171基于从图9中所示的行确定单元152、VLC解码单元154、VLC解码单元155、和VLC解码单元156中的每一个中提供的信息,从暂时存储在存储器172中的代码中读出预定长度的代码,并且提供给行确定单元152、VLC解码单元154、VLC解码单元155、或VLC解码单元156。
并且,除了图10中所示的配置示例之外,代码分割单元151可以被配置为如图11所示。
图11中所示的代码分割单元151具有控制单元191、开关192、以及节点193-1到节点193-4。
在作为已编码图像的代码从代码分割单元151被输入时,控制单元191基于从图9中所示的行确定单元152、VLC解码单元154、VLC解码单元155、和VLC解码单元156中的每一个中提供的信息,控制开关192,并且将预定长度的代码提供给行确定单元152、VLC解码单元154、VLC解码单元155、或VLC解码单元156。
也就是说,节点193-1到节点193-4各自分别连接到行确定单元152、VLC解码单元154、VLC解码单元155、和VLC解码单元156,并且控制单元191选择节点193-1到节点193-4之一作为代码的提供目的地,并且控制开关192和所选节点之间的连接。
开关192使基于控制单元191的控制而被选择的节点与输入相连接,因此输入到代码分割单元151的代码经由开关192和连接到开关192的节点而被提供给行确定单元152、VLC解码单元154、VLC解码单元155、或VLC解码单元156,作为代码提供目的地。
接着,将参照图12所示的流程图来描述图像解码装置111的解码处理。该解码处理在作为已编码图像的代码被输入到熵解码单元121时开始。
在步骤S131中,熵解码单元121执行熵解码处理,执行已经被输入的作为已编码图像的代码的熵解码,并且将从而获得的量化系数提供给逆量化单元122。虽然以下将详细描述熵解码处理的细节,通过该熵解码处理,熵解码单元121每次w个地对已编码子带的一行上的连续位置处的量化系数进行解码,并且将已解码的量化系数提供给逆量化单元122。
在步骤S132中,逆量化单元122对从熵解码单元121提供的量化系数执行逆量化,并且将通过逆量化而获得的每个子带的小波系数提供给小波逆变换单元123。
在步骤S133中,小波逆变换单元123使从逆量化单元122提供的每个子带的小波系数进行小波逆变换,并且输出作为其结果获得的图像,从而解码处理结束。
因而,图像解码装置111解码并输出已编码图像。
接着,将参照图13中的流程图描述与图12中的步骤S131的处理相对应的熵解码处理。
在步骤S161中,行确定单元152取指示现在要被解码的子带的行的变量y为y=0,并且对其进行存储。
在步骤S161中,VLC解码单元154取指示行确定单元152中所存储的变量y所指示的行y之前一行(y-1)上的首先输入的w个量化系数的最大有效数字的变量Binit为Binit=0,并且将其存储。
例如,在行(y-1)是图2中所示的L1的情况下,指示在行(y-1)上的首先输入的w个量化系数的最大有效数字的变量Binit的值是来自图中的行L1的左边缘的w个量化系数的最大有效数字。并且,在存储在行确定单元152中的变量y是y=0的情况下,行(y-1)不存在,因此变量Binit的值为Binit=0。
并且,在步骤S162中,代码分割单元151向行确定单元152提供输入代码的第一个1比特代码,该代码作为指示是否现在要被解码的行的全部量化系数都为0的代码。
在步骤S163中,行确定单元152确定从代码分割单元151读入(提供)的1比特代码是否为0,生成指示该确定结果的信息,并且提供给生成单元153、VLC解码单元154、以及代码分割单元151。
在步骤S163中确定该代码为0的情况下,这意味着行y的量化系数全都为0,因此行确定单元152使流程前进到步骤S164。在步骤S164中,生成单元153基于指示来自行确定单元152的确定结果的信息,取行y上的全部量化系数为0。然后,生成单元153生成指示行y的量化系数的代码,并将其提供给切换单元158。
例如,在如图3所示一个量化系数由四个数字表示,并且在一行中有五个量化系数的情况下,生成单元153生成20(=4×5)个零作为指示行y的量化系数的代码,并且提供给切换单元158。切换单元158向逆量化单元122输出从生成单元153提供的20个连续的0,作为指示一行的量化系数的代码。
在步骤S165中,VLC解码单元154基于指示来自行确定单元152的确定结果的信息,将存储在其中的变量Binit的值设定为Binit=0,并且更新变量Binit。
在步骤S166中,行确定单元152确定在被解码的子带中是否存在未处理的行。也就是说,行确定单元152确定是否被解码的子带的所有行上的位置上的量化系数都已被解码。
在步骤S166中确定存在未处理的行的情况下,行确定单元152使流程进行到步骤S167,以对由存储在其自身中的变量y所指示的行y的下一行(y+1)上的每个位置处的量化系数进行编码。
在步骤S167中,行确定单元152通过y=y+1使指示所存储的行的变量y增加,将流程返回到步骤S163,并且执行后续处理。
相反,在步骤S166中确定没有未处理的行的情况下,组成该子带的全部行的量化系数都已被解码,并且因此行确定单元152结束该熵解码处理,流程返回到图12中的步骤S131,并且执行从步骤S132开始的处理。
并且,在图13的步骤S163中确定该代码不是0的情况下,行确定单元152使流程前进到步骤S168。在步骤S168中,基于指示来自行确定单元152的确定结果的信息,VLC解码单元154将变量x的值设定为x=0,并且存储该变量x,其中该变量x指示现在要被解码的w个量化系数中要被输入的第一个量化系数的行y上的位置的x坐标。
并且,在步骤S168中,VLC解码单元154将变量B的值取为B=Binit,并且存储变量B,其中该变量B指示前次解码的w个量化系数的最大有效数字。也就是说,VLC解码单元154更新变量B的值,使变量B的值成为所存储的变量Binit的值,并且存储所更新的变量B的值。
进而,在步骤S168中,代码分割单元151基于指示来自行确定单元152的确定结果的信息,向VLC解码单元154提供输入代码的下个1比特代码,作为指示从现在开始要被解码的w个量化系数的最大有效数字是否改变的代码。
在步骤S169中,熵解码单元121执行集合解码处理。虽然之后将要描述w集合解码处理的细节,在w集合解码处理中,熵解码单元121对存储在行确定单元152中的变量y所指示的行y上的w个连续量化系数进行解码。
在步骤S170中,VLC解码单元154确定在行y上是否存在未处理的量化系数。也就是说,VLC解码单元154确定是否存储在行确定单元152处的变量y所指示的行y上的位置处的全部量化系数都已被解码。
在步骤S170中确定在行y上存在未处理的量化系数的情况下,VLC解码单元154使流程前进到步骤S171,以对下一w个量化系数进行解码。
在步骤S171中,VLC解码单元154将存储在其中的变量x取为x=x+w,并且使流程返回到步骤S169。因此,行y上的位置(x+w,y)、(x+w+1,y)、...、(x+2w-1,y)中的每一个位置的量化系数在以下步骤S169的处理中被编码。
并且,在步骤S170中确定在行y上不存在未处理的量化系数的情况下,已经对行y上的全部位置上的量化系数进行解码,因此VLC解码单元154使流程返回到步骤S166,并且执行后续处理。
因而,熵解码单元121对子带的每个位置上的量化系数按照每预定数量以光栅扫描次序进行解码。
因而,通过对子带的每个位置上的量化系数按照每预定数量以光栅扫描次序进行解码,输入的量化系数可以按照它们被输入的次序来进行处理,并且由于量化系数解码造成的延迟可以降低。
接着,将参照图14所示的流程图描述与图13中的步骤S169的处理相对应的w集合解码处理。
如上所述,在图13的步骤S168中,代码分割单元151到VLC解码单元154被提供1比特代码,该1比特代码指示要被解码的w个量化系数的最大有效数字是否改变。
在图14的步骤S211中,VLC解码单元154确定所读入(提供)的1比特代码是否为0。
在步骤S211中确定读入的代码为0的情况下,最大有效数字没有改变,因此VLC解码单元154生成含义是最大有效数字没有改变的信息,并且将其提供给代码分割单元151、VLC解码单元155、和量化系数合成单元157,跳过步骤S212到S214中的处理,并且使流程前进到步骤S215。
也就是说,在指示最大有效数字是否改变的代码为0的情况下,如参考图3所描述的,在指示最大有效数字是否改变的1比特代码0之后的输入不是指示最大有效数字是增大还是减小的代码以及指示最大有效数字的改变量的代码,而是指示量化系数的绝对值的代码,因此跳过作为用于解码指示最大有效数字是增大还是减小的代码以及指示最大有效数字的改变量的代码的步骤S212到步骤S214。
相反,在步骤S211中确定读入的代码不为0的情况下,最大有效数字已改变,因此VLC解码单元154使流程前进到步骤S212,从代码分割单元151读入1比特代码,并且存储其值作为预定变量m。
在步骤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的值。
在步骤S214中,VLC解码单元154从以下表达式(2)获得指示最大有效数字的B的值,并且存储所获得的变量B的值。
B=B+(n+1)×(-1)^m    ....(2)
在此,表达式(2)的左侧表示要新获得的变量B的值,右侧的B表示所存储的变量B的值。并且,表达式(2)中的符号“^”表示指数。从而,(-1)^m意味(-1)的m次幂。
VLC解码单元154基于所存储的变量B、变量m、和变量n,计算表达式(2),并且改变所存储的变量B。在更新指示最大有效数字的变量B时,VLC解码单元154生成指示已更新的最大有效数字的信息,并且将其提供给代码分割单元151、VLC解码单元155、和量化系数合成单元157。
在步骤S214中获得新的最大有效数字或在步骤S211中确定已被读入的1比特代码为0时,VLC解码单元154使流程前进到步骤S215,并且在所存储的变量x的值是0的情况下,将所存储的变量Binit的直设定为Binit=B。
也就是说,在所存储的变量x的值是0的情况下,VLC解码单元154将指示行(y-1)上的首先输入的w个量化系数的最大有效数字的变量Binit的所存储的值取为指示从现在开始要被解码的w个量化系数的最大有效数字的变量的值,并且更新变量Binit。
因而,在变量x=0的情况下,变量Binit的值被设定为Binit=B,从而可以使用与从前一行(例如行y)中的x=0开始的w个量化系数的最大有效数字的相关的关系,对从下一行(例如行(y+1))中的x=0开始的w个量化系数执行量化系数的解码。
在步骤S216中,VLC解码单元155取预定变量i,并且从0到(w-1)改变该变量i,以便以B比特为增加从代码分割单元151读取代码,并且将所读入的代码的b比特提供(输出)给VLC解码单元156和量化系数合成单元157,作为指示在行y上的位置(x+i,y)处的量化系数的有效数字的代码。并且,VLC解码单元155生成指示量化系数的有效数字的信息,并且将其提供给代码分割单元151。
在此,位置(x+i,y)处的x的值是存储在VLC解码单元154处的变量x的值。例如,在存储在VLC解码单元154处的变量x的值为0,并且存储在VLC解码单元155处的变量B的值为3的情况下,VLC解码单元155在变量i=0的状态下从代码分割单元151读入3比特的代码,并且输出所读入的3比特的代码,作为位置(0,y)处的量化系数的有效数字。
以相同方式,VLC解码单元155在变量i=1的状态下从代码分割单元151读入另外3比特的代码,并且输出所读入的3比特的代码,作为位置(1,y)处的量化系数的有效数字,在变量i=2的状态下从代码分割单元151读入下一3比特的代码,并且输出所读入的3比特的代码,作为位置(2,y)处的量化系数的有效数字,并且在变量i=3的状态下从代码分割单元151读入下一3比特的代码,并且输出所读入的3比特的代码,作为位置(3,y)处的量化系数的有效数字。
在步骤S217中,VLC解码单元156取预定变量i,并且从0到(w-1)改变该变量i,并且在行y上的位置(x+i,y)处的量化系数的有效数字(绝对值)不为0的情况下,从代码分割单元151读入1比特代码。VLC解码单元156接着对已经被读入的代码进行解码,并且将从而获得的代码提供(输出)到量化系数合成单元157,作为量化系数的符号。并且,VLC解码单元156生成指示量化系数的符号的信息,并且将其提供给代码分割单元151。
在此,将位置(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。
并且,在从VLC解码单元155提供的(指示)有效数字(的代码)的绝对值为0的情况下,对于位置(0,y)处的量化系数,没有符号,因此VLC解码单元156不从代码分割单元151读入代码。
以相同方式,在从VLC解码单元155提供的有效数字(的绝对值)不为0的情况下,VLC解码单元156取变量i=1,并且从代码分割单元151读入1比特代码,并且在该代码为0的情况下,将指示符号“-”的代码提供给量化系数合成单元157,并且在该代码为1的情况下,提供指示符号“+”的代码。
进而,在从VLC解码单元155接着提供的有效数字不为0的情况下,VLC解码单元156取变量i=2,并且从代码分割单元151读入1比特代码,并且在该代码为0的情况下,将指示符号“-”的代码提供给量化系数合成单元157,并且在该代码为1的情况下,提供指示符号“+”的代码。并且,在从VLC解码单元155接着提供的有效数字不为0的情况下,VLC解码单元156取变量i=3,并且从代码分割单元151读入1比特代码,并且在该代码为0的情况下,将指示符号“-”的代码提供给量化系数合成单元157,并且在该代码为1的情况下,提供指示符号“+”的代码。
在步骤S218中,量化系数合成单元157合成从VLC解码单元155提供的有效数字和从VLC解码单元155提供的符号,将从而获得的量化系数经由切换单元158输出到逆量化单元122,结束w集合解码处理并且使流程返回到图13中的步骤S169,并且执行从步骤S170开始的处理。
例如,事先确定要被输出的量化系数的绝对值的数字的数量。在事先确定的要被输出的量化系数的绝对值的数字的数量是4个数字,并且由来自VLC解码单元154的指示最大有效数字的信息所指示的最大有效数字为3的情况下,有效数字“101”从VLC解码单元155被提供,并且在指示符号“-”的代码从VLC解码单元155被提供时,量化系数合成单元157输出量化系数“-0101”。
也就是说,要被输出的量化系数的绝对值的数字的数量是4个数字,并且有效数字是“101”(三个数字),因此对于“0101”的量化系数的4个数字的绝对值,量化系数合成单元157将有效数字“101”的一个更高次序的比特取为0。进而,合成量化系数的符号“-”和量化系数的绝对值“0101”,以获得“-0101”,其作为量化系数而被输出。
注意,在从VLC解码单元155提供的有效数字为0的情况下,量化系数合成单元157输出不带符号的量化系数。例如,在事先确定的要被输出的量化系数的绝对值的数字的数量为4个数字,并且由来自VLC解码单元154的指示最大有效数字的信息所指示的最大有效数字为3,并且从VLC解码单元155提供有效数字“000”的情况下,量化系数合成单元157输出量化系数“0000”。
因而,熵解码单元121以预定单元为批量对子带的量化系数进行解码。
因而,与用JPEG对图像进行解码的情况不同,以预定单元为批量对子带的已编码的量化系数进行解码消除了基于多个编码路径在比特平面上多次执行处理的需要,因此可以更快地执行图像解码。因此,可以并不昂贵地实现用于实时地对高分辨率图像进行解码的解码装置。
在此,对于上述的图像编码装置11,已经描述了当对量化系数的绝对值进行编码(或解码)时,对预定的w个量化系数的绝对值依次进行编码,但是利用与通用DSP(数字信号处理器)或者通用CPU一起使用的SIMD(单指令多数据)计算命令,通过同时(并行)地对w个量化系数进行编码(或解码),可以更快地执行图像编码(或解码)。
在此,SIMD操作指令的示例例如包括与Intel公司CPU一起使用的MMX(多媒体扩展)、SSE(流式SIDM扩展)、SSE2、SSE3等。
在使用这种SIMD操作指令对量化系数的绝对值进行编码的情况下,图像编码装置11的熵编码单元23例如如图15所示配置。
图15中所示的熵编码单元23与图4中所示的熵编码单元23的相同之处在于,设置了行确定单元61、VLC编码单元62、最大有效数字计算单元63、VLC编码单元64、有效数字提取单元65、VLC编码单元66、符号提取单元67、以及VLC编码单元68,并且不同之处在于,为代码链接单元69设置缓冲器301。注意,对应于图4中的部分的图15中所示的部分由相同的附图标记表示,并且将省略对其的描述。
代码链接单元69的缓冲器301暂时存储分别从VLC编码单元62、VLC编码单元64、VLC编码单元66、和VLC编码单元68所提供的指示是否一行的所有量化系数都为0的代码、指示最大有效数字的代码、指示量化系数的绝对值的代码、以及指示量化系数的符号的代码。
缓冲器301的存储区域以32比特为增加而被管理,并且输入到缓冲器301的代码(数据)被划分为用于标量计算处理的代码和用于矢量计算处理的代码而被存储。也就是说,一个32比特存储区域存储用于标量计算处理的代码或用于矢量计算处理的代码,作为要被临时存储的代码(数据)。
对于图15中所示的熵编码单元23,使用SIMD操作指令并行地对量化系数的绝对值进行编码,因此指示量化系数的绝对值的代码被取作用于矢量计算处理的代码,并且将其他代码取为用于标量计算处理的代码。
注意,在以下描述中,在被提供给缓冲器301的32比特存储区域中,其中存储了用于标量计算处理的代码的存储区域将被称作标量区域,并且其中存储了用于矢量计算处理的代码的存储区域将被称作矢量区域。
接着,将参照图16描述由图15中所示的熵编码单元23执行的熵编码。
例如,可以说,如图16中的左上所示,图3中所示的12个量化系数“-0101”、“+0011”、“-0110”、“+0010”、“+0011”、“+0110”、“0000”、“-0011”、“+1101”、“-0100”、“+0111”、以及“-1010”被输入到熵编码单元23。
以参照图3所述的相同方式,熵编码单元23的代码链接单元69被提供代码“1”,其指示是否要被编码的行的量化系数全都是0,以及代码“10001”,其指示第一的四个输入量化系数“-0101”、“+0011”、“-0110”、和“+0010”的最大有效数字。
接着,由指示是否要被编码的行的量化系数全都是0的代码“1”和指示量化系数的最大有效数字的代码“10001”组成的代码“110001”被存储在代码链接单元69的缓冲器301中所设置的32比特标量区域中,如箭头A11所指示的。
在图16中所示的示例中,要存储在标量区域中的代码以图中从左到右方向以从更高次序的比特的顺序开始存储。在代码被存储在一个标量区域的全部中时,即当32比特的代码被存储在一个标量区域中时,一个新标量区域被设置在缓冲器301中,并且与标量计算处理一起被使用的代码被顺序地存储在新设置的标量区域中。
在由指示是否要被编码的行的量化系数全都是0的代码“1”和指示量化系数的最大有效数字的代码“10001”组成的代码“110001”被存储在标量区域中时,接着,熵编码单元23在矢量区域中同时存储(并行排列)与表示首先输入的w个(四个)量化系数“-0101”、“+0011”、“-0110”、和“+0010”中的每一个的绝对值的最大有效数字等价的代码。
量化系数“-0101”、“+0011”、“-0110”、和“+0010”的最大有效数字是“3”,如参照3所描述的,因此表示四个量化系数的绝对值的代码分别是“101”、“011”、“110”、和“010”,并且如箭头A12所示,表示量化系数的绝对值的代码“101”、“011”、“110”、和“010”排列在设置到缓冲器301的单个向量区域中而被存储。
现在,矢量区域被进一步分割成四个8比特区域,矢量区域的四个区域中的每一个区域中以图中的从左到右方向以从更高次序的比特开始的顺序存储有表示相同长度(比特长度)的四个量化系数的绝对值的代码。
对于由箭头A12所示的矢量区域,在图中,指示量化系数的绝对值的代码“101”被从左开始存储在左侧的8比特区域中,代码“011”被从左开始存储在从左侧的第二个8比特区域中,代码“110”被从左开始存储在从右侧的第二个区域中,并且代码“010”被从左开始存储在最右侧的区域中。
并且,以与标量区域的情况相同的方式,对于矢量区域,在代码被存储在一个矢量区域的全部中时,即当32比特的代码被存储在一个矢量区域中时,一个新矢量区域被设置在缓冲器301中,并且与矢量计算处理一起被使用的代码被顺序地存储在新设置的矢量区域中。
在指示量化系数“-0101”、“+0011”、“-0110”、和“+0010”的绝对值的代码被存储在矢量区域中时,熵编码单元23在标量区域中存储表示四个量化系数的符号的代码,如箭头A13所示。
如箭头A11所示,由指示是否要被编码的行的量化系数全都是0的代码“1”和指示量化系数的最大有效数字的代码“10001”组成的代码“110001”已被存储在标量区域中,因此如箭头A13所示,指示量化系数“-0101”、“+0011”、“-0110”、和“+0010”的符号的代码“1010”被存储在已存储在标量区域中的代码“110001”的右侧(连续地在代码“110001”的右边)。
进而,在第一的四个量化系数被编码时,熵编码单元23对下一四个量化系数“+0011”、“+0110”、“0000”、“-0011”进行编码。
首先,熵编码单元23对前次被编码的四个量化系数的最大有效数字“3”与此次被编码的接下来的四个量化系数“+0011”、“+0110”、“0000”、“-0011”的最大有效数字“3”进行比较,并且由于最大有效数字未改变,因此在已存储的代码“1100011010”右边连续的标量区域中存储指示最大有效数字未改变的代码“0”,作为用于指示最大有效数字的代码,如箭头A14所示。
接着,如箭头A15所示,熵编码单元23在矢量区域中同时存储代码“011”、“110”、“000”、和“011”中的每一个,它们表示此次输入的w个(四个)量化系数“+0011”、“+0110”、“0000”、“-0011”中的每一个量化系数的绝对值。
如箭头A12所示,在图中左侧的矢量区域的8比特区域,在从左侧的第二个8比特区域,在从右侧的第二个8比特区域中,以及在最右侧的8比特区域,已经存储了代码“101”、“011”、“110”、和“010”,因此如箭头A15所示,熵编码单元23在已经被存储在矢量区域中的各代码“101”、“011”、“110”、和“010”的右边连续地存储代码“011”、“110”、“000”、和“011”中的每一个,它们表示此次输入的每一个量化系数的绝对值。
进而,熵编码单元23取对于此次输入的四个量化系数“+0011”、“+0110”、“0000”、“-0011”指示绝对值非0的量化系数的符号的代码“001”,并且将其连续地存储到已经存储在标量区域中的代码“11000110100”右边。
在四个量化系数“+0011”、“+0110”、“0000”、“-0011”被编码时,熵编码单元23对接下来的四个量化系数“+1101”、“-0100”、“+0111”、以及“-1010”执行编码。
首先,熵编码单元23对此次输入的四个量化系数“+1101”、“-0100”、“+0111”、以及“-1010”的最大有效数字“4”与前次被编码的四个量化系数的最大有效数字“3”进行比较,并且如箭头A17所示,在标量区域中存储指示最大有效数字的代码“101”,其由指示最大有效数字已改变的“1”、指示最大有效数字增大的“0”、以及指示最大有效数字的增大量的“1”组成。
在这种情况下,已经如箭头A16所示在标量区域中存储了代码“11000110100001”,因此熵编码单元23在图中的代码“11000110100001”右边存储指示最大有效数字的代码“101”。
进而,在指示四个量化系数“+1101”、“-0100”、“+0111”、以及“-1010”的最大有效数字的代码被存储时,如箭头A18所示,熵编码单元23在矢量区域中同时存储代码“1101”、“0100”、“0111”、以及“1010”中的每一个,它们表示这些量化系数中的每一个的绝对值。
如箭头A15所示,在图中左侧的矢量区域的8比特区域,在从左侧的第二个8比特区域,在从右侧的第二个8比特区域,以及在最右侧的8比特区域,已经分别存储了代码“101011”、“011110”、“110000”、和“010011”,因此左侧的8比特区域,从左侧的第二个8比特区域,从右侧的第二个8比特区域,以及最右侧的8比特区域,仅能够存储两比特的代码。
从而,熵编码单元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”。
在指示四个量化系数“+1101”、“-0100”、“+0111”、以及“-1010”的绝对值的代码被存储时,如箭头A19所示,熵编码单元23在已经在标量区域中存储的代码“11000110100001101”的右侧连续地存储指示绝对值非0的四个量化系数的符号的代码“0101”。
因而,在输入的量化系数被编码时,熵编码单元23依次输出存储在箭头A19所示的标量区域中的代码、存储在箭头A19所示的两个矢量区域中的图中的上方的矢量区域中的代码、以及存储在下方的矢量区域中的代码,作为已编码图像。
在这种情况下,在箭头A19中所示的标量区域中在图右侧的11比特中没有存储代码。并且,在箭头A19中所指示的两个矢量区域的底部的矢量区域中,在左边的8比特区域、从左边的第二个8比特区域、从右边的第二个8比特区域、以及最右边的8比特区域中的每一个区域中的右边的六比特的区域中没有存储代码。
在以这种方式输出存储在标量区域和矢量区域中的代码作为已编码图像的情况下,在完成对输入的量化系数进行编码的时刻,标量区域和矢量区域中存在没有存储代码的区域的情况下,例如存储任意代码,诸如代码“0”,在其之后,存储在标量区域和矢量区域中的代码被编码并且输出作为图像。
因此,例如在由箭头A19所示的示例中,存储在标量区域中的代码“11000110100001101010100000000000”、存储在图中的上方的矢量区域中的代码“10101111011110011100000101001110”、以及存储在下方的矢量区域中的代码“01000000000000001100000010000000”,被依次输出,作为已编码图像。现在,在量化系数编码结束的时刻标量区域和矢量区域中没有存储代码的区域中所存储的该任意代码在解码时不被读入,因此可以存储任何种类的代码。
在也使用SIMD操作指令对量化系数的绝对值进行编码的情况下,在图像被输入时,图像编码装置11执行参照图5中的流程图所描述的编码处理。并且,在对应于图5中的步骤S13的图6中的熵编码处理处,图像编码装置11对于图6的步骤S41到步骤S49的处理、步骤S51的处理、以及步骤S52的处理(参照图6描述的处理),执行与不使用SIMD操作指令的情况下相同的处理,并且对于对应于步骤S50的w集合编码处理,执行与不使用SIMD操作指令的情况下不同的处理。
以下将参照图17中的流程图描述在图像编码装置11使用SIMD操作指令对量化系数的绝对值进行编码的情况下的w集合编码处理。注意,步骤S311到步骤S319中的每个处理对应于图7中的步骤S81到步骤S89中的每个处理,并且都以相同的方式执行。因此对其的描述是多余的,从而将其省略。
并且,在使用SIMD操作指令对量化系数的绝对值进行编码的情况下,在参照图6和图17所描述的处理中,从VLC编码单元62向代码链接单元69提供的指示要被编码的行的量化系数的绝对值是否全都是0的代码、从VLC编码单元64向代码链接单元69提供的指示量化系数的最大有效数字的代码、以及从VLC编码单元68向代码链接单元69提供的指示量化系数的符号的代码被各自存储在代码链接单元69的缓冲器301内设置的标量区域中,如参照图16所描述。
在步骤S320中,有效数字提取单元65从由量化单元22提供的行y上的位置(x,y)、(x+1,y)、...、(x+w-1,y)处的w个连续的量化系数中同时提取量化系数的有效数字。有效数字提取单元65将所提取的量化系数的有效数字提供给VLC编码单元66和符号提取单元67。并且,VLC编码单元66基于从有效数字提取单元65提供的有效数字(对有效数字进行编码),将指示w个量化系数的绝对值的代码同时输出到代码链接单元69。
现在,将位置(x,y)处的x的值取作存储在最大有效数字计算单元63处的变量x的值,并且将y的值取作存储在行确定单元61处的变量y的值。例如,在有效数字提取单元65提取有效数字“101”、“011”、“110”、和“010”,作为量化系数的有效数字的情况下,指示四个量化系数的绝对值的代码“101”、“011”、“110”、和“010”从VLC编码单元66被提供给代码链接单元69,因此代码链接单元69对提供给它的指示量化系数的绝对值的代码进行编码,并且如图16中的箭头A12所示,存储在矢量区域中。
在步骤S321中,符号提取单元67取预定变量i,并且从0到(w-1)改变该变量i,以便从量化系数非0的行y上的位置(x+i,y)处的量化系数中提取量化系数的符号,其中这些量化系数已从量化单元22提供,并且将所提取的符号(的数据)提供给VLC编码单元68。现在,将位置(x,y)处的x的值取作存储在最大有效数字计算单元63处的变量x的值,并且y的值被取作存储在行确定单元61处的变量y的值。
VLC编码单元68对来自符号提取单元67的符号进行编码,并且将指示从而获得的量化系数的符号的代码输出到代码链接单元69。并且,如参照图16所描述的,代码链接单元69在缓冲器301的标量区域中存储指示从VLC编码单元68提供的量化系数的符号的代码。
在将指示量化系数的符号的代码存储在缓冲器301的标量区域中时,代码链接单元69链接如参照图16所述存储在缓冲器301的标量区域和矢量区域中的代码,输出所链接的代码作为已编码图像,从而w集合编码处理结束,并且处理返回到图6中的步骤S50,并且执行从步骤S51开始的处理。
因而,熵编码单元23同时对量化系数的预定数量的绝对值进行编码。
通过JPEG 2000方法的熵编码,基于多个编码路径,以比特平面为增加来对量化系数进行算术编码,因此难以同时并行地执行熵编码中的预定处理,但是通过熵编码单元23,不需要以比特平面增加来执行复杂处理,因此可以同时编码多个量化系数的绝对值。
因而,同时编码预定数量的量化系数的绝对值使得能够同时(并行)执行多个处理,因此可以以更高的速度对图像进行编码。
注意,在步骤S321的处理中,已经描述了对w个量化系数的符号的编码是依次执行的,但是可以以与对量化系数的绝对值进行编码的情况下相同的方式,通过使用SIMD操作指令对w个量化系数的符号同时执行编码。在这种情况下,通过编码获得的指示w个量化系数的符号的代码中的每一个都被存储在已被分割为w个的缓冲器301的矢量区域中。
并且,虽然关于缓冲器301已经描述了一个标量区域或者矢量区域是32比特区域,并且该32比特区域被进一步分割成8比特区域供使用,但是标量区域或者矢量区域的大小等可以是任意大小。例如,可以进行这样一种布置,其中标量区域或者矢量区域被设定为128比特区域,该128比特区域被分割成八个16比特区域供使用。
进而,在对使用SIMD操作指令编码的图像进行解码的情况下,图像解码装置111的用于对图像进行解码的代码分割单元151(图9)例如被配置为如图10所示,并且作为已编码图像的代码每次32比特地被存储到存储器172中,如参照图16所描述。
在从存储器172读出代码并且将其输出的情况下,控制单元171首先取存储了第一的32比特代码的存储区域作为标量区域,并且以从标量区域的顶部开始的次序读出且输出指示是否要被解码的行的量化系数的绝对值全都为0的代码、指示量化系数的最大有效数字的代码、或者指示量化系数的符号的代码。
并且,在从存储器172读出指示量化系数的绝对值的代码的情况下,控制单元171取存储器172中被作为标量区域的存储区域之后的32比特存储区域(从而代码还没有从此区域读出)作为矢量区域,并且从此矢量区域读出且输出指示量化系数的绝对值的代码。
注意,在图像被编码的情况下,图像被编码,使得在解码时首次读出指示量化系数的绝对值的代码的时刻,总是有指示量化系数的绝对值的代码(用于矢量计算的代码)存储在用作标量区域的存储区域之后的下一个32比特存储区域中。
进而,作为已编码图像的代码被分割成的、并且存储在存储器172中的每个存储区域由多少个比特组成是根据在用图像编码装置11对图像进行编码的情况下一个标量区域和矢量区域被设定多少比特而改变的。也就是说,作为已编码图像的代码被分割成的、并且被存储在存储器172内的多个存储区域中的每一个的大小是对图像进行编码的情况下的一个标量区域和矢量区域的大小。
在也使用SIMD操作指令对量化系数的绝对值进行解码的情况下,图像解码装置111在输入了已编码图像时执行参照图12所示的流程图描述的解码处理。并且,对于与图12中的步骤S131的处理相对应的图13中的熵解码处理,对于图13中的步骤S161到步骤S168中的每个处理、步骤S170中的处理、以及步骤S171中的处理,图像解码装置111执行与不使用SIMD控制命令的情况相同的处理(参照图13所述的处理),并且在对应于步骤S169的w集合解码处理中,执行与不使用SIMD控制命令的情况不同的处理。
以下参考图18的流程图描述在图像解码装置111使用SIMD操作指令对量化系数的绝对值进行解码的情况下的w集合解码处理。
注意,步骤S351到步骤S355中的处理对应图14中的步骤S211到步骤S215中的处理,并且各自以相同方式执行。因此,将省略对其的冗余描述。
并且,在使用SIMD操作指令对量化系数的绝对值进行解码的情况下,作为图像的代码被存储在例如被分割成三个32比特区域的代码分割单元151的存储器172中,如图16中的箭头A19所示。行确定单元152、VLC解码单元154、和VLC解码单元156各自在三个32比特区域的图16中的最上方区域作为标量区域,并且从标量区域的顶端(图中的左侧)顺序读出且解码指示是否该行的量化系数全都为0的代码、指示量化系数的最大有效数字的代码、以及指示量化系数的符号的代码。
在步骤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的值。
例如,如果我们说,预定数量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”。
在指示w个量化系数的有效数字的代码被顺序提供给VLC解码单元156和量化系数合成单元157时,执行步骤S357的处理和步骤S358的处理,但是这些处理与图14中的步骤S217的处理和步骤S218的处理相同,因此将省略对其的描述。
因而,熵解码单元121对预定数量的量化系数的绝对值同时进行解码。
因而,对预定数量的量化系数的绝对值同时进行解码使得能够同时(并行)执行多个处理,并且可以以更高的速度对图像解码。
注意,虽然对于步骤S357中的处理描述了依次执行对指示w个量化系数的符号的代码中的每一个代码的解码,但是可以使用这样一种布置,其中使用SIMD操作指令同时(并行)执行对指示w个量化系数的符号的代码中的每一个代码的解码。
如上所述,与用常规的JPEG2000对图像进行编码(或者解码)的情况不同,不需要基于多个编码路径以比特平面为增加来执行量化系数的算术编码,因此可以通过更简单的处理更快地执行图像编码(或者解码)。
通过常规的JPEG2000方法,基于多个编码路径对每个比特平面执行处理,因此,在执行其处理的情况下,量化系数必须被访问大约与通过将量化系数乘以比特平面数量所获得的数量相同的次数,这意味着处理量巨大。
并且,在对已编码图像进行分组化的情况下,除非一幅图像的编码完全结束,分组化处理无法开始,因此生成等同于其待机间隔的延迟。进而,通过JPEG2000方法,与例如图2中所示的子带上的x方向上和y方向上的平行边组成的矩形区域内的位置相对应的(已编码的)量化系数被存储在一个分组内,因此也生成与矩形区域的y方向上的长度相对应的延迟。通过常规的JPEG2000方法,生成编码造成的这种延迟,因此实时处理是困难的。现在,虽然可以通过缩短子带上的矩形区域的y方向上的长度来降低延迟,但是在这种情况下编码效率恶化。
相反,通过图像编码装置11,不需要如上所述基于多个编码路径对每个比特平面执行量化系数的算术编码,并且仅在对图像进行编码时,当输出指示量化系数的绝对值的代码时、当输出指示最大有效数字的代码时、以及当输出指示量化系数的符号的代码时,访问量化系数,因此可以通过更简单的方式对图像进行编码。
并且,有这样的情况,其中指示最大有效数字的代码和指示量化系数的符号的代码是1比特或者0比特,因此在对此图像进行编码的情况下,可以仅通过访问量化系数大约两次来实际上对图像进行编码。并且,在对图像进行解码的情况下,量化系数只需要被访问一次,因此可以通过更简单和更快速的方式对图像进行解码。
在图像编码装置11和图像解码装置111处,子带的量化系数以光栅扫描次序进行编码和解码,因此不需要对量化系数进行缓冲,从而由编码和解码造成的延迟可以降低。
进而,使用SIMD操作指令(其中w=4)对水平1920像素×垂直1080像素的YUV 4:2:2格式图像进行的实际编码和解码产生了以下结果。注意,在执行编码的时刻,对图像进行小波变换,并且分解成五个子带级别(level),进而通过对每个子带的小波系数进行量化而获得的量化系数被编码。并且,通过使被称为Pentium(注册商标)4(Intel公司的商标)的CPU(3.0GHz的时钟频率)执行预定程序,从而实现编码和解码所必需的功能块(例如图15中的熵编码单元23和图9中的熵解码单元121)以及用于用JPEG2000对图像进行编码和解码的功能决。
在通过常规JPEG2000方法对图像的一帧进行编码的情况下,代码大小为191571字节,并且编码所需的时间量为0.26157秒。并且,对已编码图像进行解码所必需的时间为0.24718秒。
相反,在通过图15中的熵编码单元23对图像的一帧进行编码的情况下,代码大小为343840字节,并且编码所需的时间量为0.03453秒。并且,通过图9中的熵解码单元121对已编码图像进行解码所必需的时间为0.02750秒。
运动图像经常以每秒30帧显示,因此只要可以以每帧0.033(=1/30)秒来执行编码或解码,就可以实时地处理图像。通过JPEG2000方法,编码所必需的时间量为0.26157秒,并且解码所必需的时间量为0.24718秒,因此图像的实时处理是困难的,但是在以图15中的熵编码单元23对图像进行编码的情况下,编码所需的时间量为0.03453秒,因此可以恰好大约实时地处理图像。并且,在以图9中的熵解码单元121对图像进行解码的情况下,解码所需的时间的量为0.02750秒,因此可以实时地充分处理图像。
在上文中,已经描述了将编码或解码每预定数量的量化系数的处理应用于JPEG 2000方法的示例,但是这并不限制于JPEG2000方法,并且可以应用于其他编码方法或解码方法。并且,在上文中,已经描述了对图像数据编码或解码的示例,但是这并不限制于图像数据,并且例如可以被应用于对音频数据等进行编码或者解码的情况。例如,在对音频数据进行编码的情况下,指示通过作为音频数据输入的代码所表达的w个预定值的最大有效数字的代码、指示数值的绝对值的代码、以及指示数值的符号的代码被输出作为已编码音频数据。
提及本发明的其他特征,通过根据本发明的编码方法,量化系数无损失地被编码。因此,以更大的步长大小对更高的带系数进行量化以便匹配人类视觉特性允许每生成代码量的图像质量显著改善。并且,降低在特殊空间范围中所使用的量化步长大小允许改善该空间范围的图像质量。
进而,通过参照本实施例描述的编码方法,对绝对值的有效数字部分的阵列进行编码。如果我们说,对绝对值的有效数字部分进行VLC编码和传输,在绝对值的有效数字为N的情况下,具有2^(N*W)个条目的极大的VLC表格是必需的(不仅增加用于计算处理的负荷和处理时间,而且增加用于保持VLC表格所必需的存储容量)。相反,通过根据本发明的编码方法,不需要使用这种大表格(不仅可以降低用于计算处理的负荷和处理时间,而且可以降低必需的存储容量)。
并且,可以考虑使用与VLC相比压缩率更高的算术编码,但是即使例如使用诸如JPEG2000之类的算术编码的压缩方法,与根据本发明的编码方法的情况相比,也并不显著改善压缩率。也就是说,通过参照本实施例所述的编码方法,虽然压缩率高,但是编码处理容易。
通过根据本发明的编码方法,对w个集合的系数的绝对值的最大有效数字进行编码,因此可以利用相邻系数的有效数字相似的事实来降低所生成的代码的大小。
并且,通过根据本发明的编码方法,当对w个集合的系数的绝对值的最大有效数字进行编码时执行差分编码,因此也可以利用在此刻相邻系数的有效数字相似的事实来降低所生成的代码的大小。
接着,将描述图像编码装置11的小波变换单元21和图像解码装置111的小波逆变换单元123的一个具体示例。可以进行这样一种布置,其中,在该小波变换单元21处,使用通用单元,其例如对整个屏幕的图像数据(图片或图层)执行在屏幕的垂直方向和屏幕的水平方向上的分析滤波处理,并且执行将整个屏幕分割成多个子带,但是用下述方法使用执行小波变换处理的单元使得图像能够以更高的速度被编码。以相同方式,可以进行这样一种布置,其中,作为小波逆变换单元123,使用通用单元,其例如对整个屏幕的图像数据(图片或图层)执行在屏幕的垂直方向和屏幕的水平方向上的合成滤波处理,并且对子带进行合成,但是用下述方法使用执行小波逆变换处理的单元使得图像能够以更高的速度被编码。
图19示出了可应用于本发明的第一实施例的图像编码装置的一个配置示例。图像编码装置401包括小波变换单元410、中途计算缓冲器单元411、系数重布置缓冲器单元412、系数重布置单元413、速率控制单元414、以及熵编码单元415。
也就是说,图19中所示的图像编码装置401的小波变换单元410、中途计算缓冲器单元411、系数重布置缓冲器单元412、和系数重布置单元413对应于图1中所示的图像编码装置11的小波变换单元21,并且图19中所示的图像编码装置401的速率控制单元414和熵编码单元415对应于图1中所示的图像编码装置11的量化单元22和熵编码单元23。
已经被输入的图像数据被暂时积累在中途计算缓冲器单元411中。小波变换单元410对积累在中途计算缓冲器单元411中的图像数据执行小波变换。也就是说,小波变换单元410从中途计算缓冲器单元411读取图像数据,并且通过分析滤波器执行滤波处理,以生成具有低频带分量和高频带分量的系数数据,并且在中途计算缓冲器单元411中存储所生成的系数数据。小波变换单元410具有水平分析滤波器和垂直分析滤波器,并且对于屏幕水平方向和屏幕垂直方向这两个方向上的图像数据群执行分析滤波处理。小波变换单元410再次读取存储在中途计算缓冲器单元411中的低频带分量系数数据,用分析滤波器对于所读取的系数数据执行滤波处理,并且进而生成高频带分量和低频带分量的系数数据。所生成的系数数据被存储在中途计算缓冲器单元411中。
当此处理被重复并且分割级别达到预定级别时,小波变换单元410从中途计算缓冲器单元411读取系数数据,并且将读取的系数数据写入到系数重布置缓冲器单元412中。
系数重布置单元413以预定次序读取写入到系数重布置缓冲器单元412中的系数数据,并且提供给熵编码单元415。熵编码单元415例如通过诸如Huffman编码或者算术编码之类的熵编码方法对所提供的系数数据进行编码。
熵编码单元415被控制,以便与速率控制单元414相结合地进行工作,其中输出压缩编码数据的比特速率是大致的恒定值。也就是说,速率控制单元414基于来自熵编码单元415的编码数据信息,将控制信号提供给熵编码单元415,其中在到达其目标值的时刻或紧接在到达其目标值之前,通过熵编码单元415进行压缩编码的数据的比特速率结束熵编码单元415的编码处理。熵编码单元415在编码处理根据从速率控制单元414提供的控制信号而结束的时刻输出编码数据。
将更详细地描述小波变换单元410处执行的处理。首先,将给出对小波变换的总体描述。通过如图20粗略示出的图像数据的小波变换,用于将图像数据分割成高频带和低频带的空间频率的处理对作为分割的结果所获得的低频带空间频率的数据进行递归地重复。因而,通过将低频带空间频率的数据驱赶成为更小的区域,可以更加有效地进行压缩编码。
注意,图20是这样一种情况中的示例,在该情况中,图像数据的最低频带分量区域的分割处理重复三次,分割成低频带分量区域L或高频带分量区域H,由此,分割级别=3。在图20中,“L”和“H”分别表示低频带分量和高频带分量,并且“L”和“H”的次序示出作为前侧被水平分割的结果的频带,以及作为后侧被垂直分割的结果的频带。并且,在“L”和“H”之前的数字表示其区域的分割级别。
并且从图20中的示例可以看出,以阶段方式从屏幕的右下区域向左上区域执行处理,其中驱赶低频带分量。也就是说,通过图20中的示例,被分割为四部分的区域,其中处于屏幕右下方的区域3HH具有最少的低频带分量(包括最多的高频带分量),其被分割为四份的屏幕左上方的区域进一步被分割为四份,并且在这些区域中,在左上方的区域又被进一步分割成四份。在最左上角中的区域是0LL,其具有最多的低频带分量。
重复执行对低频带分量的变换和分割,因为图像的能量集中在低频带分量中。这也可以根据分割级别从图21A所示的作为一个示例的分割级别=1的状态前进到图21B所示的作为一个示例的分割级别=3的状态,从如图21B中所示形成的子带理解。例如,图20中的小波变换的分割级别为3,因此形成10个子带。
小波变换单元410一般使用配置有低频带滤波器和高频带滤波器的滤波器库,执行如上所述的处理。注意,数字滤波器一般具有冲激响应,即多个抽头长度的滤波器系数,并且因此需要事先执行仅用于要被执行的滤波处理的量的系数数据或输入图像数据的缓冲。并且,与对多个阶段执行小波变换的情况相似,在之前阶段生成的小波变换系数需要仅以可执行滤波处理的次数进行缓冲。
接着,作为该小波变换的具体示例,将描述使用5×3滤波器的方法。使用5×3滤波器的方法是一种优秀的方法,在于可以用更少的滤波器抽头执行该小波变换,并且该方法也可与参照常规技术所描述的JPEG 2000标准一起使用。
5×3滤波器的冲激响应(Z变换表达)被配置有低频带滤波器H0(z)和高频带滤波器H1(z),如以下表达式(3)和表达式(4)所示。从表达式(3)和表达式(4),可以看出低频带滤波器H0(z)具有5个抽头,并且可以看出高频带滤波器H1(z)具有3个抽头。
H0(z)=(-1+2z-1+6z-2+2z-3-z-4)/8...(3)
H1(z)=(-1+2z-1-z-2)/2...(4)
根据表达式(3)和表达式(4),可以直接计算低频带分量和高频带分量的系数。现在,通过使用提升技术,可以减少用于滤波器处理的计算。将参照图22给出对在将提升技术应用于5×3滤波器的情况下使用小波变换的分析滤波器侧的处理的概况。
在图22中,最上方阶段部分,中途阶段部分、以及最下方阶段部分各自示出了输入图像的像素列、高频带分量输出、以及低频带分量输出。对于最上方的阶段,它不需要被局限于输入图像的像素列,而且可以是通过之前的滤波处理所获得的系数。在此,最上方阶段部分是输入图像的像素列,其中方形标记表示偶数编号(从0开始)的像素或行,并且圆形标记表示奇数编号的像素或行。
首先,作为第一阶段,从以下表达式(5)中的输入像素列生成高频带分量系数di 1
di 1=di 0-1/2(si 0+si+1 0)...(5)
接着,作为第二阶段,使用输入图像的奇数编号的像素,从以下表达式(6)中生成低频带分量系数si 1
si 1=si 0+1/4(di-1 1+di 1)...(6)
对于分析滤波器侧,输入图像的图像数据因而通过滤波处理而被分割成低频带分量和高频带分量。
将参照图23给出合成滤波器侧的处理的概况,该处理用于执行恢复通过小波变换所生成的系数的小波逆变换。图23对应于上述的图22,使用5×3滤波器,并且示出了应用提升技术的示例。在图23中,最上方阶段部分示出了通过小波变换生成的输入系数,其中圆形标记表示高频带系数,并且方形标记表示低频带系数。
首先,作为第一阶段,根据以下的表达式(7),从输入的低频带分量和高频带分量系数生成偶数编号的系数si 1(从0开始)。
si 0=si 1-1/4(di-1 1+di 1)...(7)
接着,作为第二阶段,根据以下的表达式(8),从上述第一阶段生成的偶数编号的系数si 0以及输入的高频带分量的系数di 1生成奇数编号的系数di 0
di 0=di 1+1/2(si 0+si+1 0)...(8)
对于合成滤波器侧,如此通过滤波处理合成低频带分量和高频带分量的系数,并且执行小波逆变换。
将进一步描述小波变换方法。图24示出了参照图22的通过5×3滤波器提升的滤波处理的示例,其已经被执行到分割级别=2。通过图24,图的左侧示出的作为分析滤波器的部分是图像解码装置401侧的小波变换单元410上的滤波器。并且,图的右侧示出的作为合成滤波器的部分是后述的图像解码装置侧的小波逆变换单元上的滤波器。
通过下面的描述,将在显示装置等的屏幕的左上角处的像素作为先导像素,例如让我们说从屏幕的左端到右端扫描像素以配置一行,并且对行的扫描是从屏幕的上端向下端执行的,从而配置成一屏。
在图24中,左端列示出定位得与原始图像数据的行相对应的图像数据以垂直方向排列。也就是说,通过使用垂直的滤波器垂直扫描屏幕上的像素来执行通过小波变换单元410的滤波处理。示出了从左端开始对第一列到第三列的分割级别=1的滤波处理,并且第四列到第六列示出分割级别=2的滤波处理。从左端开始的第二列示出了基于左侧的原始图像数据的图像的高频带分量输出,并且从左端开始的第三列示出了基于原始图像数据以及高频带分量输出的低频带分量输出。其中对于分割级别=1的滤波处理输出处理分割级别=2的滤波处理,如从左端开始的第4列到第6列所示。
通过其中分割级别=1的滤波处理,基于原始图像数据像素计算高频带分量系数数据作为第一阶段滤波处理,并且基于在第一阶段滤波处理处计算的高频带分量系数数据和原始图像数据像素,计算低频带分量系数数据。在图24的左侧(分析滤波器侧)的从第一列到第三列中示出分割级别=1的一个示例的滤波处理。所计算的高频带分量系数数据被存储在图19中所描述的系数重布置缓冲器单元412中。并且,所计算的低频带分量系数数据被存储在中途计算缓冲器单元411中。
在图24中,系数重布置缓冲器单元412被示出作为用点划线包围的部分,并且中途计算缓冲器单元411被示出作为被虚线包围的部分。
基于在中途计算缓冲器单元411中所保持的分割级别=1的滤波处理的结果,执行其中分割级别=2的滤波处理。对于分割级别=2的滤波处理,在分割级别=1的滤波处理中作为低频带分量系数所计算的系数数据被作为包括低频带分量和高频带分量的系数数据,并且执行与分割级别=1的滤波处理相似的滤波处理。通过分割级别=2的滤波处理所计算的高频带分量系数数据和低频带分量系数数据被存储在参照图19所描述的系数重布置缓冲器单元412中。
在小波变换单元410处,在屏幕的水平方向和垂直方向的每个方向上执行上述的滤波处理。例如,首先,在水平方向上执行分割级别=1的滤波处理,并且所生成的高频带分量和低频带分量的系数数据被存储在中途计算缓冲器单元411中。接着,对于存储在中途计算缓冲器单元411中的系数数据,在垂直方向上执行分割级别=1的滤波处理。通过这种分割级别=1的水平和垂直方向的处理,形成四个区域,它们是各通过将高频带分量进一步分割成高频带分量和低频带分量而得到的系数数据所形成的区域HH和区域HL,以及各通过将低频带分量进一步分割成高频带分量和低频带分量而得到的系数数据所形成的区域LH和区域LL。
对于分割级别=2,在水平方向和垂直方向的每一个方向上,对通过分割级别=1所生成的低频带分量的系数数据执行滤波处理。也就是说,对于分割级别=2,在分割级别=1处通过分割形成的区域LL被进一步分割成四个区域,从而进一步在区域LL内形成区域HH、区域HL、区域LH、以及区域LL。
对于第一实施例,以阶段方式多次执行通过小波变换的滤波处理,将该处理分割成屏幕的垂直方向上的若干行的增加。对于图24中的示例,作为从屏幕上的第一行开始的处理的第一次处理执行对七行的滤波处理,并且作为从第八行开始的第二次处理以及之后的处理以四行为增加来执行滤波处理。行数基于在分割成两份即高频带分量和低频带分量之后生成相当于一行的最低频带分量所必需的行数。
此后,将生成相当于一行(相当于一行的最低频带分量的子带的系数数据)的最低频带分量所必需的、且包括其他子带的行的集合称作行块(或者分区)。在此,一行指的是相当于在一个图片或图层内、或者每个子带内形成的像素数据或者系数数据的一行,对应于小波变换之前的图像数据。也就是说,行块(分区)指的是在小波变换之前的原始图像数据中,相当于小波变换之后生成相当于最低频带分量子带的一行的系数数据所必需的行数的像素数据群,或者通过其像素数据群的小波变换获得的每个子带的系数数据群。
根据图24,通过分割级别=2的滤波处理结果获得的系数C5基于存储在中途计算缓冲器单元411中的系数Ca而被计算,并且系数C4基于存储在中途计算缓冲器单元411中的系数Ca、系数Cb、和系数Cc而被计算。进而,系数Cc基于存储在系数重布置缓冲器单元412中的系数C2和系数C3以及基于第五行的像素数据而被计算。并且,系数C3基于第五行到第七行中的像素数据而被计算。因而,为了获得分割级别=2的低频带分量系数C5,第一行到第七行中的像素数据是必需的。
另一方面,对于第二次和之后的滤波处理,可以使用直到上次滤波处理为止已被计算并存储在系数重布置缓冲器单元412中的系数数据,因此必需的行的数量更小。
换言之,根据图24,在分割级别=2的滤波处理结果获得的低频带分量系数中,作为系数C5之后的下一个系数的系数C9基于系数C4和系数C8,以及基于存储在中途计算缓冲器单元411中的系数Cc而被计算。系数C4已经通过上述的第一次滤波处理而被计算,并且被存储在系数重布置缓冲器单元412中。相似地,系数Cc已经通过上述的第一次滤波处理而被计算,并且被存储在中途计算缓冲器单元411中。因此,对于此第二次滤波处理,仅新执行用于计算系数C8的滤波处理。也使用第八行到第十一行来执行此新的滤波处理。
因而,对于第二次以及之后的滤波处理,可以使用直到上次滤波处理为止已被计算并存储在中途计算缓冲器单元411和系数重布置缓冲器单元412中的数据,因此可以仅以每四行为增加执行处理。
注意,在屏幕上的行数量与已编码的行数量不匹配的情况下,原始图像数据的行以预定方式被复制,以便与已编码的行数量匹配,之后执行滤波处理。
虽然之后将描述细节,但是对于本发明,通过对于整个屏幕的行被分割为若干次(以行块为增加),以阶段执行仅获得相当于最低频带分量的一行的系数数据的滤波处理,从而在传送已编码数据的情况下可以以最少的延迟获得已解码图像。
为了执行小波变换,需要用于执行小波变换本身的第一缓冲器和用于存储在执行处理直到预定分割级别的期间所生成的系数的第二缓冲器。第一缓冲器对应于中途计算缓冲器单元411,并且在图24中被示出为由虚线包围。并且,第二缓冲器对应于系数重布置缓冲器单元412,并且在图24中被示出为由点划线包围。在解码的情况下使用存储在第二缓冲器中的系数,因而在之后的步骤中是熵编码处理的对象。
将描述在系数重布置单元413处的处理。如上所述,在小波变换单元410处计算的系数数据被存储在系数重布置缓冲器单元412中、由系数重布置单元413重布置并且被读出、并且被传输到熵编码单元415。
如上所述,通过小波变换,从高频带分量侧到低频带分量侧生成系数。在图24中的示例中,在第一次,高频带分量系数C1、系数C2、以及系数C3在分割级别=1的滤波处理中从原始图像的像素数据被顺序地生成。然后,对于在分割级别=1的滤波处理中获得的低频带分量系数数据,执行分割级别=2的滤波处理,从而顺序地生成低频带分量系数C4和系数C5。也就是说,第一次,以系数C1、系数C2、系数C3、系数C4、和系数C5的次序生成系数数据。基于小波变换的原理,系数数据的生成次序总是按照这种次序(从高频带到低频带的次序)。
相反,在解码侧,为了以低延迟立即解码,必需从低频带分量生成和输出图像。因此,希望对在编码侧生成的系数数据从低频带分量侧到高频带分量侧进行重布置,并且将其提供给解码侧。
将参照图24给出更详细的描述。图24的右侧示出了执行逆小波变换的合成滤波器侧。利用在编码侧的第一次滤波处理处生成的最低频带分量系数C4和系数C5,以及系数C1,执行包括解码侧的第一行输出图像数据的第一次合成处理(逆小波变换处理)。
也就是说,通过第一次合成处理,系数数据以系数C5、系数C4、以及系数C1的次序从编码侧被提供到解码侧,从而在解码侧,通过作为对应于分割级别=2的合成处理的合成级别=2的处理,执行对于系数C5和C4的合成处理,以生成系数Cf,并且将该系数Cf存储在缓冲器中。接着,通过作为对应于分割级别=1的合成处理的合成级别=1的处理,执行对于系数Cf和系数C1的合成处理,从而输出第一行。
因而,通过第一次合成处理,在编码侧以系数C1、系数C2、系数C3、系数C4、和系数C5的次序生成、并且存储在系数重布置缓冲器单元412中的系数数据被重布置为系数C5、系数C4、系数C1等的次序,并且被提供给解码侧。
注意,通过图24的右侧所示的合成滤波器侧,通过括号中的编码侧的系数的号码来参照从编码侧提供的系数,并且示出了括号外的合成滤波器的行号。例如,系数C1(5)示出,在图24的左侧的分析滤波器侧它是系数C5,并且在合成滤波器侧处于第一行。
可以使用从前次的合成处理的情况下的合成、或者从编码侧提供的系数数据,执行通过在编码侧上通过第二次或之后的滤波处理所生成的系数数据而进行的在解码侧的合成处理。在图24的示例中,使用在编码侧的第二次滤波处理所生成的低频带分量系数C8和系数C9而执行的解码侧的第二次合成处理还需要在编码侧的第一次滤波处理所生成的系数C2和系数C3,并且对第二行到第五行进行解码。
也就是说,通过第二次合成处理,系数数据以系数C9、系数C8、系数C2、系数C3的次序从编码侧被提供给解码侧。在解码侧,通过合成级别=2的处理,使用系数C8和系数C9、以及在第一次合成处理时从编码侧提供的系数C4生成系数Cg。使用系数Cg和上述系数C4、以及通过第一次合成处理所生成的并且存储在缓冲器中的Cf,生成系数Ch,并且将系数Ch存储在缓冲器中。
通过合成级别=1的处理,使用在合成级别=2的处理中所生成并且存储在缓冲器中的系数Cg和系数Ch、从编码侧提供的系数C2(对于合成滤波器被示出为系数C6(2))、以及系数C3(对于合成滤波器被示出为系数C7(3))来执行合成处理,并且对第二行到第五行进行解码。
因而,通过第二次合成处理,在编码侧生成的系数数据,作为系数C2、系数C3、(系数C4、系数C5)、系数C6、系数C7、系数C8、系数C9被重布置,并且以系数C9、系数C8、系数C2、系数C3等的次序被提供给解码侧。
因而,对于第三次以及之后的合成处理,相似地,存储在重布置缓冲器单元12中的系数数据以预定方式被重布置,并且被提供给解码单元,其中以四行为增加对各行进行解码。
注意,对于与包括编码侧的屏幕的底端处的行的滤波处理相对应的解码侧的合成处理,直到此时所生成的、并且存储在缓冲器中的系数数据都要被输出,因此输出行数增加。对于图24中的示例,在最后一次期间输出八行。
注意,通过系数重布置单元413对系数数据的重布置处理例如将在读出存储在系数重布置缓冲器单元412中的系数数据的情况下的读出地址设定为预定次序。
将参照图25更详细地描述上述处理。图25是使用5×3滤波器直到分割级别=2执行通过小波变换的滤波处理的示例。通过小波变换单元410,作为图25的A所示的一个例子,在水平和垂直方向中的每一个方向上,对输入图像数据的第一行到第七行执行第一次滤波处理(图25中的A的In-1)。
通过第一次滤波处理的分割级别=1的处理,生成相当于三行的系数C1、系数C2、以及系数C3的系数数据,并且作为图25的B中所示的一个示例,这些系数数据各自被布置在通过分割级别=1的处理形成的区域HH、区域HL、以及区域LH中(图25中的B中的WT-1)。
并且,通过分割级别=2的在水平和垂直方向上的滤波处理,通过分割级别=1形成的区域LL被进一步分割成四份。对于分割级别=2生成的系数C5和系数C4,在通过分割级别=1的区域LL之内,一行通过系数C5被放置在区域LL中,并且一行通过系数C4被放置在区域HH、区域HL、以及区域LH中的每一个区域中。
对于通过小波变换单元410的第二次和随后的滤波处理,以四行为增加执行滤波处理(图25中的A的In-2...),在分割级别=1处以两行为增加生成系数数据(图25的B中的BW-2),并且在分割级别=2处以一行为增加生成系数数据。
对于图24中的第二次的示例,在分割级别=1的滤波处理处生成相当于两行的系数C6和系数C7的系数数据,并且作为图25的B中所示的一个示例,这些系数数据被放置在通过分割级别=1所形成的区域HH、区域HL、以及区域LH的第一次滤波处理处生成的系数数据之后。在通过分割级别=1的区域LL内,相当于一行的通过分割级别=1的滤波处理所生成的系数C9被放置在区域LL中,并且相当于一行的系数C8被放置在区域HH、区域HL、以及区域LH中的每一个区域中。
作为图25的C所示的一个示例,在对如图25的B中那样经过小波变换的数据进行解码的情况下,对应于编码侧的通过第一行到第七行的第一次滤波处理,通过解码侧的第一次合成处理的第一行被输出(图25的C中的Out-1)。此后,对应于从编码侧的从第二次直到最后一次之前的滤波处理,一次输出四行到解码侧(图25的C中的Out-2,...)。对应于编码侧的最后一次的滤波处理,在解码侧输出八行。
由小波变换单元410从高频带分量侧到低频带分量侧生成的系数数据被顺序地存储在系数重布置缓冲器单元412中。通过系数重布置单元413,当系数数据被积累在系数重布置缓冲器单元412中直到可以执行上述系数重布置时,以必要的次序重布置系数数据,并且将其从系数重布置缓冲器单元412中读出。所读出的系数数据被顺序提供给熵编码单元415。
熵编码单元415控制编码操作,使得输出数据的比特速率基于从速率控制单元414提供的控制信号而变为目标比特速率,并且执行对所提供的系数数据的熵编码,如参考图1到图18所描述的。经过了熵编码的已编码数据被提供给解码侧。
注意,熵编码单元415因而能够对所提供的系数数据执行编码处理,而不执行量化,但是对于其中系数数据首先进行与参照图1所描述的量化单元22所进行的相同方式的量化、然后对所获得的量化细数执行与熵编码单元23所进行的相同的信源编码处理的布置,可以预期更进一步改善的压缩优势。对于此量化的方法,可以使用任何方法,并且例如,可以使用常用的手段,即用于将系数数据W通过量化步长大小Δ进行分割的手段,诸如以下表达式(9)中所示的那样。
量化系数=W/Δ...(9)
如参照图24和25所描述,对于根据本发明的第一实施例,小波变换单元410以多行图像数据为增加(以行块为增加)执行小波变换处理。用熵编码单元415编码的已编码数据以这些行决为增加而被输出。也就是说,在使用5×3滤波器执行直到分割级别=2的处理的情况下,对于一屏数据的输出,获得输出,第一次一行,从第二次到最后一次之前一次各四行,并且最后一次输出八行。
注意,在对用系数重布置单元413重布置之后的系数数据进行熵编码的情况下,例如,在用例如图24所示的第一次滤波处理对第一个系数C5的行执行熵编码的情况下,没有历史行,即没有已经通过系数数据生成的行。因此在这种情况下,仅对该一行进行熵编码。相反,在对系数C1的行进行编码的情况下,系数C5和系数C4的行变为历史行。相互接近的多个行可以被认为配置有相似的数据,因而使该多个行一起进行熵编码是有效的。
并且,如上所述,对于小波变换单元410,描述了用于使用5×3滤波器执行通过小波变换的滤波处理的示例,但是并不应该局限于这个示例。例如,对于小波变换单元410,可以使用具有更长抽头数量的滤波器,诸如9×7滤波器。在这种情况下,如果抽头数量更长,则积累在滤波器中的行的数量也增加,因此从图像数据输入直到已编码数据的输出的延迟时间变得更长。
并且,对于上述描述,为了便于描述,将小波变换的分割级别描述为分割级别=2,但是并不应该局限于此,并且分割级别可以进一步增大。分割级别越增加,越能够实现更好的高压缩率。例如,通常,对于小波变换,重复直到分割级别=4的滤波处理。注意,随着分割级别增加,延迟时间也显著增加。
因此,在应用于实际系统的情况下,希望根据系统所需要的已解码图像的延迟时间或者图片质量来确定滤波器抽头数量或者分割级别。滤波器抽头数量或者分割级别不需要是固定值,也可以是可适当选择的。
接着,将参考图26中的流程图描述例如根据如上述的那样的图像编码装置401的整体编码处理的具体流程示例。
在编码处理开始时,在步骤S401中,小波变换单元410将要被处理的行块的号码A设定为初始设定。在一般情况下,号码A被设定为“1”。在设定结束时,在步骤S402中,小波变换单元410获得生成从最低频带子带的顶端开始的第A行的一行所必需的行数量(即一个行块)的图像数据,对于其图像数据,在步骤S403中执行垂直分析滤波处理,用于对在屏幕垂直方向上排列的图像数据执行分析滤波,并且在步骤S404中执行水平分析滤波处理,用于对在屏幕水平方向上排列的图像数据执行分析滤波。
在步骤S405中,小波变换单元410确定分析滤波处理是否已经执行到最后的级别,并且在确定分割级别还没有达到最后的级别的情况下,处理返回到步骤S403,其中步骤S403和步骤S404中的分析滤波处理对于当前分割级别重复。
在步骤S405中确定分析滤波处理已经被执行到最后的级别的情况下,小波变换单元410使处理前进到步骤S406。
在步骤S406中,系数重布置单元413以从低频带到高频带的次序重布置行块A(从图片(在隔行扫描方法的情况下为图层)顶部开始的第A个行块)的系数。在步骤S407中,熵编码单元415使系数以行为增加进行熵编码。在熵编码结束时,在步骤S408中,熵编码单元415外部地传送行块A的已编码数据。
小波变换单元410在步骤S409中使号码A的值增加“一”,使接下来的行块接受处理,并且在步骤S410中确定是否在要被处理的图片中有未处理的图像输入行。在确定存在未处理的图像输入行的情况下,处理返回到步骤S402,并且对于要被处理的新行块重复之后的处理。
如上所述,重复执行步骤S402到步骤S410中的处理,以对每个行块进行编码。在步骤S410中判断没有未处理的图像输入行的情况下,小波变换单元410结束对该图片的编码处理。对于下一幅图片,开始新的编码处理。
在常规小波变换方法的情况下,首先,对整幅图片执行水平分析滤波处理,然后对整幅图片执行垂直分析滤波处理。然后对整个所获得的低频带分量顺序执行相似的水平分析滤波处理和垂直分析滤波处理。如上所述,递归地重复分析滤波处理,直到分割处理达到最后级别。因此,每个分析滤波处理的结果需要被保持在缓冲器中,但是在这种情况下,缓冲器需要保持整幅图片或该时间点该分割级别的整个低频带分量的滤波结果,这需要大存储容量(要保持的数据量很大)。
并且,在这种情况下,如果用于整幅图片的小波变换不结束,则不能执行之后阶段中的系数重布置或熵编码,因而显著增加延迟时间。
相反,在图像编码装置401的小波变换单元410的情况下,以行块为增加连续执行垂直分析滤波处理和水平分析滤波处理直到最后的级别,如上所述,因此与常规方法比较,需要一次(相同的时间段期间)保持(缓冲)的数据量较小,因而显著降低要在缓冲器中准备的存储容量。并且,通过执行分析滤波处理直到最后的级别,也可以执行用于系数重布置或者熵编码处理的稍后的步骤(即可以以行块为增加来执行系数重布置或者熵编码)。因此,与常规方法相比,可以显著降低延迟时间。
图27示出了与图19中的图像编码装置401相对应的图像解码装置的配置的一个示例。从图19中的图像编码装置401的熵编码单元415输出的已编码数据(图19中的已编码数据输出)被提供给图27中的图像解码装置420的熵解码单元421(图27中的已编码数据输入),熵编码被解码,并且成为系数数据。系数数据被存储在系数缓冲器单元422中。小波逆变换单元423使用存储在系数缓冲器单元422中的系数数据,例如以便通过合成滤波器执行如参考图23和图24所述的合成滤波处理,并且在系数缓冲器单元422中再次存储合成滤波处理的结果。小波逆变换单元423根据分割级别重复该处理,以获得已解码图像数据(输出图像数据)。
图27所示的图像解码装置420的熵解码单元421对应于图8中的图像解码单元111的熵解码单元121和逆量化单元122,并且图像解码装置420的系数缓冲器单元422和小波逆变换单元423对应于图像解码单元111的小波逆变换单元123。
也就是说,省略了对小波逆变换方法几乎没有关系的逆量化处理(逆量化单元122)的描述,这是因为这里的描述是关于小波逆变换的。当然,在要在图像编码单元401处执行量化的情况下,可以进行这样一种布置,其中执行与逆量化单元122所进行的相同的逆量化(对应于图像编码装置401处的量化的逆量化),并且将所获得的小波系数提供给系数缓冲器单元422(小波逆变换单元123)。因而,可以预期对压缩效果的进一步改善。
接着,将参照图28中的流程图描述通过诸如上述的图像解码装置420进行的整个解码处理的具体流程示例。
在解码处理开始时,在步骤S431中,熵解码单元421获得已编码数据,并且在步骤S432中以行为增加对已编码数据进行熵解码。在步骤S433,系数缓冲器单元422保持如此解码和获得的系数。在步骤S434中,小波逆变换单元423确定是否相当于一个行块的系数已经被积累在系数缓冲器单元422中,并且如果确定没有积累,则处理返回到步骤S431,执行之后的处理,并且小波逆变换单元423等候,直到相当于一个行块的系数已经被积累在系数缓冲器单元422中。
在步骤S434中确定相当于一个行块的系数已经被积累在系数缓冲器单元422中的情况下,小波逆变换单元423使处理前进到步骤S435,并且读出保持在系数缓冲器单元422中的相当于一个行块的系数。
小波逆变换单元423在步骤S436中对读出的系数进行垂直合成滤波处理,其对在屏幕垂直方向上排列的系数执行合成滤波处理,并且在步骤S437中,执行水平合成滤波处理,其对在屏幕水平方向上排列的系数执行合成滤波处理,并且在步骤S438中确定是否合成滤波处理已经通过级别一结束(其中分割级别的值为“1”的级别),即确定是否逆变换已被执行到小波变换之前的状态,并且如果确定没有达到级别一,处理返回到步骤S436,从而重复步骤S436和步骤S437中的滤波处理。
在步骤S438中,如果确定逆变换处理已经通过级别1结束,则小波逆变换单元423使处理前进到步骤S439,并且外部输出通过逆变换处理所获得的图像数据。
在步骤S440中,熵解码单元421确定是否要结束解码处理,并且在确定已编码数据的输入是闪歇的,并且解码处理将不结束的情况下,处理返回到步骤S431,并且重复其后的处理。并且,在步骤S440中,在已编码数据的输入结束,依此类推,使得解码处理结束的情况下,熵解码单元421结束该解码处理。
在使用常规小波逆变换方法的情况下,首先,在屏幕水平方向上对要被处理的分割级别的所有系数执行水平合成滤波,然后在屏幕垂直方向上执行垂直合成滤波。也就是说,对于每次执行合成滤波处理时,合成滤波处理的结果需要被保持在缓冲器中,但是在这种情况下,缓冲器需要保持该时间点的分割级别的合成滤波结果,以及下一分割级别的全部系数,这需要大的存储容量(要被保持的数据量很大)。
并且,在这种情况下,直到在图片(在隔行方法的情况下为图层)内所有小波逆变换都完成之前,不执行图像数据输出,因此从输入到输出的延迟时间显著增大。
相反,在如上所述的图像解码装置420的小波逆变换单元423的情况下,以行决为增加来连续执行垂直合成滤波处理和水平合成滤波处理,直到级别1,因此与常规方法相比,需要一次(相同的时间段期间)缓冲的数据量较小,因而便于降低要在缓冲器中准备的存储容量。并且,通过执行合成滤波处理(小波逆变换处理)直到级别1,可以在获得图片内的所有图像数据之前(以行块为增加)顺序输出图像数据,因而与常规方法相比,可以显著降低延迟时间。
图19中所示的图像编码装置401或者图27中所示的图像解码装置420的各种元件的操作(图26中的编码处理或者图28中的解码处理)例如根据预定程序而被未示出的CPU(中央处理单元)控制。该程序例如被事先存储在未示出的ROM(只读存储器)中。然而,这并非限制性的,并且可以通过在包含图像编码装置或图像解码装置的每个元件之间对定时信号或控制信号进行交互作用而操作整个装置。并且,可以通过在计算机装置上运行的软件来实现图像编码装置或图像解码装置。
接着将描述这种图像编码处理或图像解码处理的另一个示例。例如,可以进行这样一种布置,其中图像编码装置401和图像解码装置420的各种元件在上述系统(图像编码装置401和图像解码装置420)中被并发操作,因而以更少的延迟来执行图像的压缩编码和解码处理。为了描述的简洁,对上述内容的冗余部分的描述将被省略。
图29是根据本发明的第二实施例的图像编码装置401和图像解码装置420的各种元件的示例的并发操作的示意性视图。图29对应于上述的图25。在熵编码单元415对图像数据输入In-1(图29的A)执行第一次小波变换WT-1(图29中的B)。如参考图24所描述的,在第一个三行被输入的时间点开始第一次小波变换WT-1,并且生成系数C1。也就是说,从图像数据In-1的输入直到小波变换WT-1开始,生成相当于三行的延迟。
所生成的系数数据被存储在系数重布置缓冲器单元412中。此后,输入图像数据进行小波变换,并且当第一次处理结束时,处理移动到第二次小波变换WT-2。
为了第二次小波变换WT-2的图像数据In-2的输入和第二次小波变换WT-2通过系数重布置单元413并发执行对三个系数的重布置Ord-1(图29的C),这三个系数是系数C1、系数C4、和系数C5。
注意,从小波变换WT-1结束到重布置Ord-1开始的延迟可以是基于装置或者系统配置的延迟,例如,伴随着将指令重布置处理的控制信号传输给系数重布置单元413的延迟、系数重布置单元413对控制信号的处理开始所必须的延迟、或者程序处理所必需的延迟,而不是编码处理的延迟。
系数数据以重布置结束的次序从系数重布置缓冲器单元412被读取,被提供给熵编码单元415,并且进行熵编码EC-1(图29的D)。熵编码EC-1可以开始而不等候三个系数即系数C1、系数C4、和系数C5的重布置全都结束。例如,在重布置对于来自首先输出的系数C5的一行结束的时间点,可以对系数C5开始熵编码。在这种情况下,从重布置Ord-1处理开始到熵编码EC-1处理开始的延迟相当于一行那么多。
其中通过熵编码单元415的熵编码EC-1结束的已编码数据经由某种传输路径被传输到图像解码装置420(图29中的E)。对于用于传输编码数据的传输路径,可以考虑例如诸如因特网之类的通信网络。在这种情况下,已编码数据通过IP(因特网协议)传输。然而,布置不局限于此,并且其他用于已编码数据的传输路径可以是诸如USB(通用串行总线)和IEEE1394(电子和电气工程师协会1394)之类的通信接口,或者由IEEE802.11标准所代表的无线通信等。
在通过第一次处理而使相当于七行的图像数据输入到图像编码装置401之后,顺序输入低到屏幕下边缘的图像数据。对于图像编码装置401,根据图像数据输入In-n(n为2或更多),如上所述,以四行为增加执行小波变换WT-n、重布置Ord-n、以及熵编码EC-n。对于六行执行在图像编码装置401处的最后一次处理的重布置Ord和熵编码EC。这些处理在图像编码装置401处并发执行,如图29的A到图29的D所示出的示例那样。
由图像编码装置401通过熵编码EC-1编码的已编码数据经由传输路径被传输到图像解码装置420,并且被提供给熵解码单元421。熵解码单元421使通过熵编码EC-1而编码的所提供的已编码数据顺序地进行熵编码的解码iEC-1,并且恢复系数数据(图29中的F)。被恢复的系数数据被顺序地存储在系数缓冲器单元422中。在将仅能够进行小波逆变换的量的系数数据存储在系数缓冲器单元422中时,小波逆变换单元423从系数缓冲器单元422读取系数数据,并且使用读取的系数数据执行小波逆变换iWT-1(图29中的G)。
如参考图24所描述的,小波逆变换单元423的小波逆变换iWT-1可以在系数C4和系数C5被存储在系数缓冲器单元422中的时间点开始。从而,从熵解码单元421进行的解码iEC-1开始到小波逆变换单元423进行的小波逆变换iWT-1开始的延迟相当于两行那么多。
在通过第一次小波变换的相当于三行的小波逆变换iWT-1在小波逆变换单元423处结束时,执行对通过小波逆变换iWT-1生成的图像数据的输出Out-1(图29中的H)。对于输出Out-1,第一行的图像数据被输出,如参照图24和图25所描述的。
对于图像解码装置420,通过在图像编码装置401处的第一次处理的相当于三行的已编码系数数据的输入之后,顺序地输入通过熵编码EC-n(n为2或更多)所编码的系数数据。对于图像解码装置420,以四行为增加对输入系数数据执行熵解码iEC-n以及小波逆变换iWT-n,如上所述,并且顺序地执行通过小波逆变换iWT-n的所恢复的图像数据的输出Out-n。对六行执行图像编码装置的对应于最后一次的熵解码iEC和小波逆变换iWT,并且输出Out输出八行。在图像解码装置处并发地执行这些处理,如图29的F到图29的H中所示的示例那样。
如上所述,通过在图像编码装置401和图像解码装置420处以从屏幕上方部分到下方部分的次序并发地执行各种处理,可以以很少的延迟执行图像压缩处理和图像解码处理。
参照图29计算在使用5×3滤波器执行小波变换直到分割级别=2的情况下从图像输入直到图像输出的延迟时间。从第一行图像数据输入到图像编码装置401直到第一行图像数据从图像解码装置420输出的延迟时间成为以下所列的元素的总和。注意,由于系统配置而不同的延迟,诸如传输路径中的延迟或者根据装置的各部分的实际处理定时的延迟之类被排除。
(1)从第一行输入直到相当于七行的小波变换WT-1结束的延迟D_WT
(2)根据总共相当于三行的重布置Ord-1的时间D_Ord
(3)根据相当于三行的熵编码EC-1的时间D_EC
(4)根据相当于三行的熵解码iEC-1的时间D_iEC
(5)根据相当于三行的小波逆变换iWT-1的时间D_iWT
将参照图29计算来自上述各元素的延迟。(1)中的延迟D_WT相当于十行的时间。(2)中的时间D_Ord、(3)中的时间D_EC、(4)中的时间D_iEC、以及(5)中的时间D_iWT各自都相当于三行的时间。另一方面,对于图像编码装置401,熵编码EC-1可以在从重布置Ord-1开始的一行之后开始。相似地,对于图像解码装置420,小波逆变换iWT-1可以在从熵解码iEC-1开始的两行之后开始。并且,熵解码iEC-1可以在熵编码EC-1处相当于一行的编码完成的时间点开始处理。
因此,对于图29中的示例,从第一行图像数据被输入到图像编码装置直到第一行图像数据从图像解码装置输出的延迟时间相当于10+1+1+2+3=17行。
将给出考虑延迟时间的更具体的示例。在输入图像数据是用于HDTV(高清晰度电视)的隔行扫描视频信号的图像数据的情况下,一帧例如被配置有1920像素乘以1080行的分辨率,并且一个图层为1920像素乘以540行。因此,如果帧频率为30Hz,则540行的一个图层(field)在时间16.67毫秒(=1秒/60图层)中被输入到图像编码装置401。
因此,根据相当于七行的图像数据的输入的延迟时间为0.216毫秒(=16.67毫秒×7/540行),其例如对于一个图层的更新时间来说是极短的时间。并且,关于上述(1)中的延迟D_WT、(2)中的时间D_Ord、(3)中的时间D_EC、(4)中的时间D_iEC、以及(5)中的时间D_iWT的总和,要被处理的行数比较少,因此延迟时间被极度缩短。如果执行各种处理的元件被布置为硬件,则可以进一步缩短处理时间。
将描述再一个示例。对于以上进行的描述,在执行小波变换之后,在图像编码装置401处重布置系数数据。相反,以下将描述关于执行熵编码之后的系数数据的重布置的情况。对于这种情况下的图像编码装置,对于通过对输入图像数据进行小波变换而生成的系数执行熵编码,并且对进行了熵编码的数据执行重布置处理。因而,通过在执行熵编码之后执行系数数据重布置,可以抑制系数重布置缓冲器所需的存储容量。
例如,在输入图像数据的比特精确度为8比特的情况下,如果执行小波变换直到多个级别分割,则所生成的系数数据的比特精确度例如变为12比特左右。在熵编码处理之前执行系数重布置处理的情况下,系数重布置缓冲器单元需要存储相当于预定数目的行的比特精确度为12比特的系数数据。通过在熵编码之后布置通过小波变换生成的要进行重布置处理的系数数据,系数重布置缓冲器可以存储由熵编码所压缩的数据,因此仅需要小的存储容量。
图30示出了这种情况下的图像编码装置的一个示例。图30中与上述图19共同的各部分具有相同的附图标记,并且将省略对其的描述。
输入图像数据被暂时存储在图像编码装置430的中途计算缓冲器单元411中。小波变换单元410对存储在中途计算缓冲器单元411中的图像数据执行预定的小波变换,如第一实施例中所描述。通过小波变换生成的系数数据被提供给熵编码单元415。熵编码单元415与速率控制单元414相结合地工作,并且被控制为使得输出压缩编码数据的比特速率成为大致上的固定值,并且对所提供的系数数据执行熵编码处理。也就是说,熵编码单元415对所获得的系数以与被获得的次序相同的次序进行编码,而无论该系数的次序如何。
其中通过小波变换生成的系数数据通过熵编码单元415进行了熵编码的已编码数据被暂时存储在编码重布置缓冲器单元431中。在要被重布置的已编码数据被存储在编码重布置缓冲器单元431中时,编码重布置单元432重布置已编码数据,并且从编码重布置缓冲器单元431中读出已编码数据。如已经参照第一实施例所描述的,从屏幕的上端侧向下端侧,以从高频带分量到低频带分量的次序生成通过小波变换单元410生成的系数数据。为了在解码侧以小的延迟输出图像数据,存储在编码重布置缓冲器单元431中的编码数据以从通过小波变换的系数数据的低频带分量到高频带分量的次序被重布置,并且被读出。
从编码重布置缓冲器单元431读出的已编码数据例如被传输到传输路径,作为输出的已编码数据。
注意,通过图像编码装置430被编码并且被输出的数据可以以与对通过图像编码装置401被编码的数据进行解码时相同的方式,通过已经参照图27所描述的图像解码装置420来进行解码。也就是说,例如经由传输路径被输入到图像解码装置420中的已编码数据在熵解码单元421处进行熵编码的解码,并且恢复系数数据。被恢复的系数数据被顺序存储在系数缓冲器单元422中。小波逆变换单元423对存储在系数缓冲器单元422中的系数数据进行小波逆变换,并且输出图像数据。
将描述再一个示例。以上已经进行了这样的描述,使得通过小波变换生成的系数数据的重布置处理在图像编码装置侧被执行,如图31中的示例性形式所示。在此,将进行关于这样一种情况的描述,其中通过小波变换生成的系数数据的重布置处理在图像解码装置侧被执行,如图32中的示例性形式所示。
对于通过小波变换生成的系数数据的重布置处理,需要相对大的容量作为用于系数重布置缓冲器的存储容量,并且还需要高的处理能力用于系数重布置处理的处理自身。仍是在这种情况下,如果图像编码装置侧的处理能力高于某个量,则即使系数重布置处理在图像编码装置侧执行,如上所述,也不会发生问题。
在此,将考虑这样一种情形,其中图像编码装置被安装在处理能力相对低的装置上,比如诸如蜂窝电话终端或PDA(个人数字助理)之类的移动终端。例如,近来,已经广泛使用其中向蜂窝电话终端添加照相功能的产品(被称为具有摄影机功能的蜂窝电话终端)。可以考虑这样一种情形,其中对通过具有摄影机功能的蜂窝电话装置图像拍摄的图像数据进行通过小波变换和熵编码的压缩编码,并且经由无线或者线缆通信被传输。
这种移动终端被其CPU处理能力限制,并且还具有存储容量的上限。因此,用于以上述系数重布置进行处理的负荷是无法被忽视的问题。
因而,作为图32中所示的一个示例,通过将重布置处理置入到图像解码装置侧,对图像编码装置侧的负荷可以减轻,因而使得图像编码装置能够被安装到诸如移动终端之类的处理能力相对低的装置上。
图33示出了在这种情况下的图像编码装置的配置的示例。注意,在图33中,与上述的图19共同的各部分被给予相同的附图标记,并且省略对其的详细描述。
图33中所示的图像编码装置441的配置被布置为这样一种配置,其中系数重布置单元413和系数重布置缓冲器单元412从上述的图19中所示的图像编码装置401的配置中移除。换句话说,对于第四实施例,图像编码装置441使用这样一种配置,其组合了小波变换单元410、中途计算缓冲器单元411、熵编码单元415、以及速率控制单元414。
输入的图像数据被暂时积累在中途计算缓冲器单元411中。小波变换单元410对于积累在中途计算缓冲器单元411中的图像数据执行小波变换,并且将所生成的系数数据以所生成的系数数据的次序顺序地提供给熵编码单元415。也就是说,所生成的系数数据以根据小波变换的次序从高频带分量到低频带分量的次序,被提供给熵编码单元415。熵编码单元415对所提供的系数执行熵编码,输出数据的比特速率被速率控制单元414控制。通过小波变换生成的系数数据被输出作为已经进行了熵编码的已编码数据。
图34示出了在这种情况下的图像解码装置的配置的一个示例。注意,在图34中,与上述的图27中共同的各部分被给予相同的附图标记,并且省略对其的详细描述。
从图33所述的图像编码装置441的熵编码单元415输出的已编码数据被提供给图34中的图像解码装置442的熵解码单元421、进行熵编码、并且成为系数数据。系数数据经由系数缓冲器单元442被存储在系数重布置缓冲器单元443中。在系数数据被积累在系数重布置缓冲器单元443中直到可以重布置系数数据时,小波逆变换单元423以从低频带分量到高频带分量的次序对存储在系数重布置缓冲器单元443中的系数数据进行重布置,并且读出存储在系数重布置缓冲器单元443中的系数数据,然后使用系数数据以读出的顺序执行小波逆变换处理。在使用5×3滤波器的情况下,其布置如上述的图32中所示。
也就是说,对于从一帧开始的处理,例如,在用熵编码进行解码的系数C1、系数C4、以及系数C5被存储在系数重布置缓冲器单元443中的时间点处,小波逆变换单元423从系数重布置缓冲器单元443读取系数数据,并且执行小波逆变换处理。通过小波逆变换单元423进行小波逆变换的数据被顺序输出作为输出图像数据。
注意,也是在这种情况下,如已经参照图29所描述的,可以并发执行通过图像编码装置441的各种元件的处理和对传输路径的编码数据传输,以及通过图像解码装置442的各种元件的处理。
接着,将进行关于在上述的图像编码装置和图像解码装置之间进行已编码数据交换的描述。图35是用于描述已编码数据如何被交换的示例的示意图。在图3中所示的示例的情况下,与上述的其他实施例相似,图像数据在被以行块为增加以仅相当于预定数量的行而被输入的同时进行小波变换(子带451)。在达到预定小波变换分割级别的情况下,从最低频带子带到最高频带子带的系数行以与它们被生成时的次序相反的次序被重布置,即以从低频带到高频带的次序被重布置。
对于图35中的子带451,通过对角线、垂直线、以及波浪线的图案被划分的部分各是不同的行块(如箭头所示,子带451中的白色空间也以行块为增加而被分割,并且被处理)。重布置之后的行块的系数进行如上所述的熵编码,因而生成已编码数据。
在此,如果图像编码装置例如按照原样不变地传输已编码数据,图像解码装置可能很难识别各行块的边界(或者需要复杂的处理)。因而,对于本实施例,进行这样一种布置,其中图像编码装置例如以行块为增加将一个信息头附加到已编码数据上,并且传输由该信息头和已编码数据形成的分组。
换言之,在图像编码装置生成第一个行块(Lineblock-1)的已编码数据(编码器数据)时,该已编码数据被分组化,并且作为传输分组461被传输到图像解码装置,如图35所示。在图像解码装置接收到该分组(接收到的分组471)时,其已编码数据被解码。
相似地,在图像编码装置生成第二个行块(Lineblock-2)的已编码数据时,该已编码数据被分组化,并且作为传输分组462被传输到图像解码装置。在图像解码装置接收到该分组(接收到的分组472)时,其已编码数据被解码。仍是相似地,在图像编码装置生成第三个行块(Lineblock-3)的已编码数据时,该已编码数据被分组化,并且作为传输分组463被传输到图像解码装置。在图像解码装置接收到该分组(接收到的分组473)时,其已编码数据被解码。
图像编码装置和图像解码装置重复上述处理,直到最后的第X个行块(Lineblock-X)(传输分组464,接收到的分组474)。因而,在图像解码装置处生成已解码图像481。
图36示出了信息头的配置示例。如上所述,该分组包括信息头(Header)491和已编码数据,该Header 491包括对行块号码(NUM)493和已编码数据长度(LEN)494的描述。
图像解码装置可以通过读取添加到接收到的已编码数据的信息头中所包括的此信息来快速地识别每个行块的边界,从而降低解码处理的负荷或者处理时间。
注意,如图36中所示,可以进一步添加以构成行块的子带为增加的量化步长大小(Δ1到ΔN)492的描述。因而,图像解码装置可以以子带为增加执行逆量化,因而能够执行更详细的图像质量控制。
并且,图像编码装置和图像解码装置可以被布置为以行块为增加并发(以流水线方式)执行如参照第四实施例所述的上述各种编码、分组化、分组交换、以及解码的处理。
因而,直到在图像解码装置处获得图像输出为止的延迟时间可以显著降低。作为示例,图35示出了对于隔行运动图片(60图层/秒)的操作示例。对于这个示例,用于一个图层的时间为1秒÷60=大约16.7毫秒,但是通过并发执行各种处理,图像输出可以被布置为以大约5毫秒的延迟时间而获得。
如以上示例中所述,图像编码装置(或图像解码装置)可以通过以行块为增加执行小波变换(或小波逆变换),以更高速度执行编码处理(或者解码处理)。
也就是说,可以通过利用系数从以行块为增加执行变换的小波变换单元输出的次序的特征(即,连续系数的有效数字相似的特征),从而所生成的代码大小可以降低。并且,即使在重布置系数的情况下,小波变换单元也以行块为增加来执行小波变换,因此,连续系数的有效数字相似的特征并不受到显著影响,并且熵编码处理中的所生成的代码大小不显著改变。
如上所述,上述的小波变换处理,以及根据本发明的熵编码处理在其所处理的系数数据的特征和所预期的优势方面是相似的,并且彼此具有很强的密切关系。因此,对于总体的图像编码处理,与应用通常的小波变换处理相比,可以从应用上述小波变换处理中期望更多优势。
如上所述,可以通过广泛不同的各种配置实现这种小波变换处理,并且根据本发明的熵编码处理和熵解码处理(图像编码装置和图像解码装置)可以被应用于广泛不同的各种系统。
以下将描述具体的应用示例。首先,将描述已经应用了根据上述实施例的图像编码装置和图像解码装置的数字三轴(triax)系统的示例。
三轴(triax)系统是一种用于电视广播电台、制作工作室等中的系统。对于这种系统,在工作室中记录或者在从远程位置广播实况的时刻,连接视频摄影机和摄影机控制单元或交换机的单根三轴线缆被用于传输多路复用信号,诸如图片信号、音频信号、返回的图片信号、同步信号等,并且还用于供电。
已经布置了很多常规三轴系统来以模拟信号的形式传输上述信号。另一方面,近年来,所有系统都变成数字的,从而电视广播电台中所用的三轴系统也变成数字的。
对于已知的三轴系统,经由三轴线缆传输的数字视频信号一直是未压缩的视频信号。其原因是,关于信号延迟时间所要求的规格对电视广播电台来说尤其严格,基本上,从拍摄到监视器输出的延迟时间例如被需要在一个图层(16.67毫秒)之内。诸如已经实现了高压缩率和高图像质量的MPEG2和MPEG4的压缩编码系统还未被用在三轴系统中,这是因为视频信号压缩和编码、以及压缩视频信号的解码需要相当于若干帧那么多的时间,这意味着延迟时间很大。
如上所述,根据本发明的图像编码和图像解码方法具有极短的从输入图像数据到获得输出图像的延迟时间,其在一个图层时间之内,即几行到几十行,从而可以对数字三轴系统进行合适的应用。
图37示出可应用于根据本发明的图像编码和图像解码方法的数字三轴系统的示例的配置。传输单元500和摄影机控制单元502经由三轴线缆(三同轴线缆)501连接。经由该三轴线缆501传输从传输单元500到摄影机控制单元502的实际上是广播、或者被用作内容的数字视频信号和数字音频信号(在这里称为“主线信号”),以及从摄影机控制单元502到视频摄影机单元503的内部通信音频信号和返回的数字视频信号。
传输单元500例如内置在未示出的视频摄影机装置中。当然,可以进行其他布置,诸如传输单元500连接到视频摄影机装置,作为视频摄影机装置的外部装置。摄影机控制单元502例如可以是通常被称为CCU(摄影机控制单元)的装置。
数字音频信号与本发明的实质几乎没有关系,因此为了描述简洁起见,将省略对其的描述。
视频摄影机单元503例如被配置在未示出的视频摄影机装置内,并且用未示出的图像摄取装置诸如CCD(电荷耦合器件)对来自对象的光执行光接收,其中该对象已经通过包括透镜、聚焦机构、变焦机构、光阑调节机构等的光学系统550而被摄取。图像摄取装置通过光电转换将所接收到的光转换为电信号,并且进一步执行预定的信号处理,以便作为基带数字视频信号输出。这些数字视频信号例如被映射到HD-SDI(高清晰度串行数据接口)格式,并且被输出。
用作监视器的显示单元551和用于外部地交换音频的内部通信装置552也连接到视频摄影机单元503。
传输单元500具有视频信号编码单元510和视频信号解码单元511、数字调制单元512和数字解调单元513、放大器514和515、以及视频分离/合成单元516。
例如被映射到HD-SDI格式的基带数字视频信号从视频摄影机单元503被提供给传输单元500。数字视频信号在视频信号编码单元510处被压缩和编码,以便成为代码流,其被提供给数字调制单元512。数字调制单元512将所提供的代码流调制成适用于在三轴线缆501上传输的格式的信号,并且输出。从数字调制单元512输出的信号经由放大器514被提供给视频分离/合成单元516。视频分离/合成单元516将所提供的信号发送到三轴线缆501。在摄影机控制单元502处经由三轴线缆501接收这些信号。
在传输单元500处经由三轴线缆501接收从摄影机控制单元502输出的信号。被接收的信号被提供给视频分离/合成单元516,并且数字视频信号的部分和其他信号的部分被分离。在接收信号中,数字视频信号的部分经由放大器515被提供给数字解调单元513,并且被调制成适用于在三轴线缆501上传输的格式的信号的信号在摄影机控制单元502侧被解调,并且代码流被恢复。
代码流被提供给视频信号解码单元511,压缩编码被解码,并且获得基带数字视频信号。已解码的数字视频信号被映射到HD-SDI格式,并且输出,并且被提供给视频摄影机单元503作为返回的数字视频信号。返回的数字视频信号被提供给显示单元551,该显示单元551连接到视频摄影机单元503,并且用于由摄影机操作者监视。
摄影机控制单元502具有视频分离/合成单元520、放大器521和522、前端单元523、数字解调单元524和数字调制单元525,以及视频信号解码单元526和视频信号编码单元527。
在摄影机控制单元502处经由三轴线缆501接收从传输单元500输出的信号。所接收的信号被提供给视频分离/合成单元520。视频分离/合成单元520将提供给它的信号经由放大器521和前端单元523提供给数字解调单元524。注意,前端单元523具有用于调节输入信号增益的增益控制单元、用于对输入信号执行预定滤波的滤波器单元,等等。
数字解调单元524将已被调制的信号解调成适用于在传输单元500侧在三轴线缆501上传输的格式的信号,并且恢复该代码流。该代码流被提供给视频信号解码单元526,其中压缩编码在该处被解码,以便获得基带数字视频信号。已解码数字视频信号被映射到HD-SDI格式,并且被输出,并且作为主线信号被外部地输出。
返回的数字视频信号和数字音频信号被外部地提供给摄影机控制单元502。数字音频信号例如被提供给摄影机操作者的内部通信装置552,以便用于将外部音频指令传输给摄影机操作者。
返回的数字视频信号被提供给视频信号编码单元527并且被压缩编码,并且被提供给数字调制单元525。数字调制单元525将所提供的代码流调制成适用于在三轴线缆501上传输的格式的信号,并且输出。从数字调制单元525输出的信号经由前端单元523和放大器522被提供给视频分离/合成单元520。视频分离/合成单元520将这些信号与其他信号多路复用,并且发送到三轴线缆501。这些信号经由三轴线缆501在视频摄影机单元503处被接收。
对于本发明的该第七实施例,通过上述实施例描述的图像编码装置和图像解码装置被分别应用于视频信号编码单元510和视频信号编码单元527,以及视频信号解码单元511和视频信号解码单元526。
尤其地,被布置为使得图像编码装置和图像解码装置处的各种元件的处理可以并行执行的本发明的第二实施例可以显著地抑制在从摄影机控制单元502输出在视频摄影机单元503处摄取的图片时的延迟,以及外部提供的并且从摄影机控制单元502传输给视频摄影机单元503的返回的数字视频信号的延迟,并且合适地被应用于本发明的第七实施例。
并且,在图37中所示的系统的情况下,可以在传输单元500和摄影机控制单元502中的每一个处适当地设定信号处理能力和存储容量,因此执行系数数据重布置处理的位置可以是在传输单元500侧或者摄影机控制单元502侧中的任一侧,并且以相同的方式,用于执行熵编码的位置可以是重布置处理之前或之后。
也就是说,在传输单元500侧,视频信号编码单元510对向其提供的数字视频信号执行根据本发明的方法的小波变换和熵编码,并且输出代码流。如上所述,在对应于用于小波变换的滤波器抽头数量、并且根据小波变换分割级别的数量的行数量被输入时,视频信号编码单元510开始小波变换。进一步地,如上文参照图23、图24、图29等所述,在各部件所必需的系数数据在图像编码装置和图像解码装置处被积累时,通过各部件顺序执行处理。在处理在一帧或者一个图层的底部行处结束时,下一帧或者一个图层的处理开始。
这对于从摄影机控制单元502侧向传输单元500侧传输返回的数字视频信号也是成立的。也就是说,在摄影机控制单元502侧,通过视频信号编码单元527对外部提供的返回的数字视频信号执行根据本发明的小波变换和熵编码,并且输出代码流。
现在,存在很多这样的情况,其中允许返回的数字视频信号具有比主线信号的数字视频信号更低的图像质量。在这种情况下,可以降低在视频信号编码单元527处编码的时刻的比特速率。例如,视频信号编码单元527通过速率控制单元414执行控制,使得熵编码单元415处的熵编码处理的比特速率更低。并且,可以构思这样一种布置,其中,例如,在摄影机控制单元502处,通过视频信号编码单元527处的小波变换单元410,变换处理被执行到更高的分割级别,并且在传输单元500处,视频信号编码单元511侧的小波逆变换单元423处的小波逆变换停止在更低的分割级别。在摄影机控制单元502的视频信号编码单元527处的处理不局限于此示例,并且能够想出各种其他类型的处理,诸如将用于小波变换的分割级别保持为低,以便减轻变换处理的负荷。
接着,将描述一种情况的示例,其中根据本发明的图像编码装置和图像解码装置被应用于使用无线通信执行已编码数据的传输的系统。图38示出了根据本发明第八实施例的无线传输系统的示例的配置。注意,在图38中的示例中,视频信号被单向地从视频摄影机或者传输单元600侧(此后将被简称为“传输单元600”)传输到接收装置601侧。可以对音频信号和其他信号执行传输单元600和接收装置601之间的双向通信。
传输单元600被置入例如具有视频摄影机单元602的未示出的视频摄影机装置。当然,可以进行其他布置,诸如传输单元600被连接到视频摄影机装置,作为具有视频摄影机单元602的视频摄影机装置的外部装置。
视频摄影机单元602具有预定的光学系统,例如诸如CCD之类的图像摄取装置,以及用于输出从图像摄取装置输出的信号作为数字视频信号的信号处理单元。这些数字视频信号例如被映射到HD-SDI格式,并且例如从视频摄影机单元602输出。当然,从视频摄影机单元602输出的数字视频信号不局限于此示例,并且也可以是其他格式。
传输单元600具有视频信号编码单元610、数字调制单元611、以及无线模块单元612。在传输单元600处,基带数字视频信号例如被映射到HD-SDI格式,并且从视频摄影机单元602输出。通过根据本发明的压缩编码方法的小波变换和熵编码在视频信号编码单元610对数字视频信号进行压缩编码,以便成为代码流,将该代码流提供给数字调制单元611。数字调制单元611执行数字调制,将所提供的代码流调制成适用于无线通信的格式的信号,并且输出。
并且,数字音频信号和其他信号,例如诸如预定命令和数据,也被提供给数字调制单元611。例如,视频摄影机单元602具有麦克风,收集到的声音通过该麦克风被转换成音频信号,该音频信号进而进行A/D转换,并且被输出作为数字音频信号。进一步地,视频摄影机单元602能够输出某种命令和数据。可以在视频摄影机单元602之内生成命令和数据,或者操作单元可被提供给视频摄影机单元602,其中命令和数据响应于操作单元处作出的用户操作而被生成。并且,可以进行这样的布置,其中用于输入命令和数据的输入装置被连接到视频摄影机单元602。
数字调制单元611对这些数据音频信号和其他信号执行数字调制,并且输出。从数字调制单元611输出的数字已调制信号被提供给无线模块单元612,并且从天线613无线地传输作为电波(airwave)。
在从接收装置601侧接收ARQ(自动重复请求)时,无线模块单元612将这个ARQ通知给数字调制单元611,以便请求数据重发。
从天线613传输的电波在接收装置601侧的天线620处被接收,并且被提供给无线模块单元621。无线模块单元621将基于接收到的电波的数字已调制信号提供给前端单元622。前端单元622例如对所提供的数字已调制信号执行诸如增益控制之类的预定信号处理,并且提供给数字解调单元623。数字解调单元623解调所提供的数字已调制信号,并且恢复该代码流。
在数字解调单元623处被恢复的代码流被提供给视频信号解码单元624,通过根据本发明的解码方法对压缩编码进行解码,并且获得基带数字视频信号。已解码数字视频信号例如被映射到HD-SDI格式,并且被输出。
数字解调单元623还被提供有在传输单元600侧进行数字调制的并且被传输的数字音频信号和其他信号。数字解调单元623解调其中这些数字音频信号和其他信号已经进行了数字调制的信号,并且将数字音频信号和其他信号恢复并且输出。
并且,前端单元622关于从无线模块单元632提供的所接收到的信号执行根据预定方法的错误检测,并且在检测到错误、例如诸如已经接收到出错帧的情况下,输出ARQ。ARQ被提供给无线模块单元621,并且从天线620传输。
对于这种配置,传输单元600例如被置于具有视频摄影机单元602的相对小尺寸的视频摄影装置中,监视器装置被连接到接收装置601,并且从视频信号解码单元624输出的数字视频信号被提供给监视器装置。只要接收装置601处于从具有内置的传输单元600的视频摄影机装置的无线模块单元612传输的电波的范围内,就可以在监视器装置上以小的延迟,例如以一个图层或一帧以内的延迟,观看用视频摄影机装置摄取的图片。
注意,在图38中所示的示例中,使用无线通信执行传输单元600和接收装置601之间的通信,以便经由无线通信传输视频信号,但是此布置不局限于这个示例。例如,传输单元600和接收装置601可以经由诸如因特网之类的网络而连接。在这种情况下,传输单元600侧的无线模块单元612和接收装置侧601处的无线模块单元612各自是能够使用IP(因特网协议)进行通信的通信接口。
可以根据此第八实施例想出对该系统的各种应用。例如,根据此第八实施例的系统可以被应用于视频会议系统。布置的一个示例可以是将能够USB(通用串行总线)连接到诸如个人计算机的计算机装置的简单视频摄影机装置与实施视频信号编码单元610和视频信号解码单元624的计算机装置侧连接。在计算机装置处实施的视频信号编码单元610和视频信号解码单元624可以是硬件配置,或者可以由运行在计算机装置上的软件实现。
例如,参加视频会议的每个成员将被提供计算机装置和连接到计算机装置的视频摄影机装置,该计算机装置通过线缆或者无线网络连接到用于提供视频会议系统服务的服务器装置。从视频摄影机装置输出的视频信号经由USB线缆被提供给计算机装置,并且在计算机装置内的视频信号编码单元610处执行根据本发明的编码处理。计算机装置将其中视频信号已被编码的代码流经由网络传输到服务器装置等。
服务器装置将所接收的代码流经由网络传输给每个参与成员的计算机装置。此代码流在每个参与成员的计算机装置处被接收,并且在计算机装置内的视频信号解码单元624处进行根据本发明的解码处理。从视频信号解码单元624输出的图像数据被显示在计算机装置的显示单元上作为图片。
也就是说,由其他参与成员的视频摄影机装置摄取的视频图片被显示在每个参与成员的计算机装置的显示单元上。因此,对于本发明的第八实施例,在其他参与成员的计算机装置处从对用视频摄影机装置摄取的视频信号进行编码到对其解码的延迟时间很短,因此显示在被显示的该参与成员的计算机装置的显示单元上的其他参与成员的图片的不自然感觉可以降低。
此外,可以构思这样的布置,其中视频信号编码单元610被安装在视频摄影机装置侧。例如,传输单元600被置于视频摄影机装置中。这种配置消除了要被连接到诸如计算机装置之类的另一装置等的视频摄影机的需要。
除了上述视频会议系统,这种由具有内置的传输单元600的视频摄影机装置、以及接收装置601组成的系统还可以被应用于各种应用。例如,如图39中示意性示出的,此系统可以被应用于家用游戏机。在图39中,根据本发明第八实施例的传输单元600被内置在视频摄影机装置700中。
在家用游戏机的主单元701中,总线例如连接CPU、RAM、ROM、以及与CD-ROM(紧凑盘只读存储器)和DVD-ROM(数字多用途盘ROM)兼容的盘驱动装置、用于将CPU生成的显示控制信号转换成视频信号并且输出的图形控制单元、用于播放音频信号的音频回放单元等,即具有与计算机装置大体相似的配置。家用游戏机的主单元701,遵循事先存储在ROM中的程序,或者记录在安装到盘驱动装置的CD-ROM或DVD-ROM中的程序,被CPU总体控制。RAM被用作CPU的工作存储器。家用游戏机的主单元701内置有接收装置601。从接收装置601输出的数字视频信号以及其他信号例如经由总线被提供给CPU。
我们可以说,对于这种系统,例如家用游戏机的主单元701,运行游戏软件,该游戏软件能够以外部提供的数字视频信号的形式摄取图像,作为游戏内的图像。例如,此游戏软件能够使用以外部提供的数字视频信号的形式使用图像,作为游戏内的图像,并且还识别图像内的人物(游戏者)的运动,并且执行对应于所识别的运动的操作。
视频摄影机装置700在内置的传输单元600内的视频信号编码单元610处以根据本发明的编码方法对所拍摄的数字视频信号进行编码,在数字调制单元611处调制代码流,并且提供给无线调制单元612,以便从天线613传输。所传输的电波在被内置在家用游戏机的主单元701内的接收装置601的天线620处被接收,所接收的信号经由无线模块单元621和前端单元622被提供给数字解调单元623。所接收到的信号在数字解调单元623处被解调为代码流,并且被提供给视频信号解码单元624。视频信号解码单元624用根据本发明的解码方法对所提供的代码流进行解码,并且输出基带数字视频信号。
从视频信号解码单元624输出的基带数字视频信号例如经由家用游戏机的主单元701中的总线被发送,并且暂时被存储在RAM中。在存储在RAM中的数字视频信号遵从预定程序而被读出时,CPU可以可以检测由数字视频信号所提供的图像内的人物的运动,并且在游戏内使用该图像。
由于从图像通过视频摄影机装置700拍摄图像并且所获得的数字视频信号被编码直到代码流在家用游戏机的主单元701处被解码并且在该处获得图像的延迟时间是短的,家用游戏机的主单元701上运行的游戏软件对于游戏者的运动的响应能力改善,从而改善游戏的可操作性。
注意,这种与家用游戏机一起使用的视频摄影机装置700由于价格、大小等的限制而经常具有简单的配置,并且必需假设不能实施诸如计算机装置之类的具有高处理能力的CPU和大容量存储器。
也就是说,总体上,视频摄影机装置700是家用游戏机的主单元701的外围装置,其仅对于使用视频摄影机装置700玩游戏是必需的,而不是在家用游戏机的主单元701上玩游戏所必需的装置。在这种情况下,视频摄影机装置700经常与家用游戏机的主单元701分离地出售(分离地出售的所谓选项)。在这种情况下,在视频摄影机装置700中安装高能力CPU和具有大存储容量的存储器以便以高价出售通常会导致售出单元的数量降低。在这种情况下,这会降低使用视频摄影机装置700的游戏的售出数量,这会导致更低的收入。并且,特别对于家用游戏,拥有率通常强烈地影响售出单元数量,因此视频摄影机装置700的低拥有率会导致甚至更低的售出单元数量。
另一方面,低价出售大量视频摄影机装置700以改善拥有率可以改善使用视频摄影机装置700的家用游戏的出售数量,并且改善其普及度,并且可以进一步预期带来对家用游戏机的主单元701的进一步购买的激励。也从这个角度,视频摄影机装置700经常优选地为简单配置。
在这种情况下,可以构思这样一种布置,其中在内置在视频摄影机装置700中的传输单元600的视频信号编码单元610处以低分割级别执行小波变换。这降低了对与系数重布置缓冲器单元一起使用的存储器容量的需要。
并且,可以构思这样一种布置,其中将已经参照第三实施例描述的、在图30中示例性示出的图像编码装置的配置应用于视频信号编码单元610。进一步地,将在图33中示例性示出的图像编码装置的配置应用于视频信号编码单元610消除了对在视频信号编码单元610侧执行小波变换系数数据的重布置处理的需要,因此视频摄影机装置700侧的负荷可以进一步降低,这是所希望看到的。在这种情况下,需要使用在图34中示例性示出的图像解码装置,作为家用游戏机的主单元701侧所内置的接收装置601中的视频信号解码单元624。
注意,视频摄影机装置700和家用游戏机的主单元701已在上文中被描述为通过无线通信连接,但是这种布置不局限于这种示例。也就是说,视频摄影机装置700和家用游戏机的主单元701可以经由诸如USB、IEEE1394之类的接口等通过缆线连接。
如上所述,根据本发明的编码方法(或解码方法)的另一巨大优势是处理容易,并且负荷和处理时间小,因此可以被应用于各种形式,并且可以容易地被应用于多种用途(即高的多用途性)。
上述一系列处理可以由硬件实现或者可以由软件实现。在通过软件实现该一系列处理的情况下,组成该软件的程序从程序记录介质被安装在其中内置有专用硬件的计算机中,或者被安装在通用计算机中,或者由多个装置组成的信息处理系统的信息处理装置中,其能够通过安装在其中的各种类型的程序执行各种功能。
图40是示出用于通过程序执行上述一系列处理的信息处理系统的配置的示例的框图。
如图40所示,信息处理系统800是配置有信息处理装置801、通过PCI总线802与信息处理装置801连接的存储装置803、作为多录像带录像机(VRT)的VTR804-1到VTR804-S、以及鼠标805、键盘806、以及用于用户执行其操作输入的操作控制器807的系统,并且是通过所安装的程序来执行如上所述的图像编码处理和图像解码处理等的系统。
信息处理系统800的信息处理装置801例如可以对存储在配置有RAID(独立冗余盘阵列)的大容量存储装置803中的运动图像内容进行编码,并且将所获得的已编码数据存储在存储装置803中,对存储在存储装置803中的已编码数据进行解码,并将所获得的已解码图像数据(运动图像内容)存储在存储装置803中,将已编码数据或者已解码图像数据借助VTR804-1到VTR804-S记录到录像带上,等等。并且,信息处理装置801被布置为将记录在安装到VTR804-1到VTR804-S的录像带中的运动图像内容摄取到存储装置803中。此时,可以进行这样一种布置,其中信息处理装置801对运动图像内容进行编码。
信息处理装置801具有微处理器901、GPU(图形处理单元)902、XDR(极端数据速率)-RAM903、南桥904、HDD905、USB接口(USB I/F)906、以及声音输入/输出编解码器907。
GPU 902经由专用总线911连接到微处理器901。XDR-RAM903经由专用总线912连接到微处理器901。南桥904经由专用总线连接到微处理器901的I/O控制器944。HDD905、USB接口906、以及声音输入/输出编解码器907也连接到南桥904。扬声器921连接到声音输入/输出编解码器907。并且,显示器922连接到GPU902。
鼠标805、键盘806、VTR804-1到804-S、存储装置803、以及操作控制器807经由PCI总线802也连接到南桥904。
鼠标805和键盘806接收来自用户的操作输入,并且经由PCI总线802和南桥904向微处理器901提供指示来自用户的操作输入的内容的信号。存储装置803和VTR804-1到VTR804-S可以记录和播放预定的数据。
驱动器808根据需要被进一步被连接到PCI总线802,其中诸如磁盘、光盘、磁光盘、或者半导体存储器之类的可移除介质811等适当地安装在该驱动器808上,从其读出的计算机程序根据需要被安装在HDD905中。
微处理器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]的操作频率。
在启动时,微处理器901基于存储在HDD905中存储的控制程序读出存储在HDD905中的必要的应用程序,并且将其展开到XDR-RAM903中,并且基于应用程序和操作者的操作顺序地执行必要的控制处理。
并且,通过执行软件,微处理器901例如可以实现上述实施例的图像编码处理和图像解码处理,将作为解码所获得的代码流经由南桥904提供给HDD905用于存储,执行作为解码结果而获得的运动图像内容的播放图片数据向GPU902的传输,用于在显示器922上显示,等等。
虽然如何使用微处理器901的CPU内核是可选的,可以进行这样一种布置,其中例如主CPU内核941执行关于对图像编码处理和图像解码处理的控制的处理,并且八个副CPU内核942-1到副CPU内核942-8例如如参照图29所述地同时和并行地执行各种类型的处理,诸如小波变换、系数重布置、熵编码、熵解码、小波逆变换、量化、逆量化,等等。在此时,以与参照图29所描述的情况相同的方式实施这样一种布置,其中,主CPU内核941以行块(分区)为增加将处理分配给八个副CPU内核942-1到副CPU内核942-8中的每一个,从而以行块为增加地同时并行执行图像编码处理和图像解码处理。也就是说,图像编码处理和图像解码处理的效率可以改善,总体处理的延迟时间降低,并且处理所必需的负荷、处理时间、以及存储器容量可以降低。当然,也可以通过其他方法执行每个处理。
例如,可以进行这样一种布置,其中同时并行地,微处理器901的八个副CPU内核942-1到副CPU内核942-8中的一部分执行编码处理,并且其余的部分执行解码处理。
并且,例如,在独立编码器或解码器、或者编解码处理装置连接到PCI总线802的情况下,微处理器901的八个副CPU内核942-1到副CPU内核942-8可以经由南桥904和PCI总线802控制由这些装置执行的处理。此外,在连接多个这种装置的情况下,或者在这些装置包括多个解码器或编码器的情况下,微处理器901的八个副CPU内核942-1到副CPU内核942-8可以执行控制,使得多个解码器或者编码器共享该处理。
此时,主CPU内核941管理八个副CPU内核942-1到副CPU内核942-8的操作,将处理分配给每个CPU内核,取回处理结果,等等。此外,主CPU内核941还执行除了这些副CPU内核所执行的处理以外的处理。例如,主CPU内核941接受经由南桥904从鼠标805、键盘806、或者操作控制器807提供的命令,并且执行对应命令的各种类型的处理。
GPU902执行关于粘贴纹理并且因此用于播放运动图像内容的播放图片以便显示在显示器922上的最终的展开处理,并且还掌管用于执行当一次在显示器922上显示运动图像内容的多个播放图片和静态图像内容的静态图像时的坐标变换计算的功能、用于放大/缩小运动图像内容的播放图片和静态图像内容的静态图像的处理,等等,从而可以缓解微处理器901上的负荷。
GPU902在微处理器901的控制下,对所提供的运动图像内容的图片数据和静态图像内容的静态图像进行预定的信号处理,将作为其结果所获得的图片数据和图像数据发送到显示器922,并且在显示器922上显示图像信号。
现在,由微处理器901的八个副CPU内核942-1到副CPU内核942-8同时并行解码的多个运动图像内容的播放图片经由总线911进行向GPU902的数据传输,其传输速度例如高达30[G字节/秒],使得可以以高速度平滑地显示甚至具有特殊效果的复杂图片图像。
另一方面,微处理器901使运动图像内容的图片数据和音频数据中的音频数据进行音频混合处理,并且将作为其结果获得的所编辑的音频数据经由南桥904和声音输入/输出代码907发送给扬声器921,以便基于来自扬声器921的音频数据输出音频。
在通过软件实现上述一系列处理的情况下,组成该软件的程序从网络或记录介质被安装。
此记录介质不仅包括图40中所示的从装置主单元分离地被分发以便向用户分发程序的可移除介质811,诸如磁盘(包括柔性盘)、光盘(包括CD-ROM和DVD)、磁光盘(包括MD)、半导体存储器等,而且还包括以被装配到装置主单元的状态下要被分发给用户的存储程序的HDD905、存储装置803等。当然,存储介质也可以是诸如ROM或者闪存存储器等的半导体存储器。
在上文中,已经描述了,微处理器901配置有八个副CPU内核,但是本发明不限于此,并且副CPU内核的数量是可选的。并且,对于微处理器901,可以进行这样一种布置,其中使用配置有单内核(一个内核)而非配置有主CPU内核和副CPU内核的CPU。并且,可以使用多个CPU而不是微处理器901,可以使用多个信息处理装置(即,用于执行本发明的处理的程序联合地在多个装置操作下执行)。
虽然在本说明书中描述存储在程序记录介质中的程序的步骤当然可以以所描述的时间序列来执行,但是并不局限于此时间序列,并且可以并行执行或者分别执行。
此外,本说明书中所用的系统指的是配置有多个装置(器件)的设备的整体。
注意,在上文中,被描述为单独装置的配置可以被分割,以便配置有多个装置。相反,在上文中,被描述为多个装置的配置可以被合并,以便配置有单个装置。并且,各装置的配置可以具有向其添加的除以上所述以外的配置。此外,一个装置的配置的一部分可以被包括在另一装置的配置中,只要总体系统的配置和操作基本上相同就可以。
权利要求书(按照条约第19条的修改)
1.一种编码装置,该编码装置用于对系数数据进行编码,所述编码装置包括:
最大有效数字生成部,其用于采取在由每个所述系数数据所表示的数值当中数值的绝对值最大的有效数字作为所述系数数据的最大有效数字,并且生成指示所述最大有效数字的代码;
绝对值生成部,其用于生成指示由所述系数数据所表示的数值的绝对值的代码;以及
代码生成部,其用于生成指示由所述系数数据所表示的数值的符号的代码。
2.如权利要求1所述的编码装置,还包括代码链接部,其用于链接已由所述最大有效数字生成部生成的指示最大有效数字的代码、已由所述绝对值生成部生成的指示绝对值的代码、和由所述代码生成部生成的指示符号的代码,从而生成已编码数据。
3.如权利要求1所述的编码装置,其中,所述最大有效数字生成部生成指示最大有效数字是否已改变的代码,作为指示所述最大有效数字的代码。
4.如权利要求3所述的编码装置,其中,在所述最大有效数字改变的情况下,所述最大有效数字生成部生成指示最大有效数字增大还是减小的代码,作为指示所述最大有效数字的代码。
5.如权利要求4所述的编码装置,其中,所述最大有效数字生成部生成指示最大有效数字的改变量的代码。
6.如权利要求1所述的编码装置,其中,所述最大有效数字生成部重复以下处理:生成指示连续排列的所述系数数据的所述最大有效数字的代码,以及生成指示从所述系数数据开始进一步连续排列的所述系数数据的所述最大有效数字的代码。
7.如权利要求1所述的编码装置,其中,所述绝对值生成部生成指示从所述系数数据所表示的数值的最低次序的数字到所述最大有效数字的值的代码,作为指示由所述系数数据所表示的数值的绝对值的代码。
8.如权利要求1所述的编码装置,其中,所述绝对值生成部并行生成指示由所述系数数据所表示的数值的绝对值的代码。
9.如权利要求1所述的编码装置,还包括零代码生成部,其用于生成指示是否所述系数数据所表示的所有数值都为0的代码,
其中,所述最大有效数字生成部根据由所述零代码生成部生成的、指示是否为0的代码中所指示的值来生成指示所述最大有效数字的代码。
10.如权利要求9所述的编码装置,其中所述绝对值生成部根据由所述最大有效数字值生成部所生成的、指示数值的绝对值的代码中所指示的值,生成指示数值的绝对值的代码。
11.如权利要求10所述的编码装置,其中所述代码输出部根据所述绝对值生成部所生成的、指示数值的绝对值的代码中所指示的值,生成指示数值符号的代码。
12.如权利要求1所述的编码装置,还包括:
正交变换部,其用于对图像数据执行正交变换,以生成所述系数数据;
存储部,其用于存储由所述正交变换部生成的系数数据;以及
系数重布置部,其用于以要对所述系数数据执行逆正交变换的次序事先重布置所述存储部中所存储的所述系数数据。
13.如权利要求1所述的编码装置,还包括:
滤波器部,其用于对至少最低频带分量子带的各行块的图像数据执行滤波处理,以便生成由划分为频带的所述系数数据组成的多个子带,其中该行块包括生成相当于一行的系数数据所必需的若干行的图像数据;
存储部,其用于对每个行块存储由所述滤波器部生成的系数数据;
系数重布置部,其用于对每个行块以要执行合成处理的次序事先重布置由所述存储部所存储的所述系数数据,其中按照频带分割的多个子带的系数数据被合成以生成图像数据。
14.如权利要求13所述的编码装置,其中,所述系数重布置部对于每个行块以从低频带分量到高频带分量的次序重布置所述系数数据。
15.一种编码方法,该编码方法用于对系数数据进行编码,所述编码方法包括如下步骤:
采取在由每个所述系数数据所表示的数值当中具有绝对值最大的数值的有效数字作为所述系数数据的最大有效数字,并且生成指示所述最大有效数字的代码;
生成指示由所述系数数据所表示的数值的绝对值的代码;以及
生成指示由所述系数数据所表示的数值的符号的代码。
16.一种解码装置,该解码装置用于对已编码数据进行解码,并且生成系数数据,所述解码装置包括:
最大有效数字计算部,其用于采取在由每个所述系数数据所表示的数值当中具有绝对值最大的数值的有效数字,作为所述系数的最大有效数字,对指示所述最大有效数字的代码进行解码,并且计算所述最大有效数字;
绝对值输出部,其用于对指示由所述系数数据所表示的数值的绝对值的代码进行解码,并且计算由所述系数数据所表示的数值的绝对值;
代码生成部,其用于对指示由所述系数数据所表示的数值的符号的代码进行解码,并且生成由所述系数数据所表示的数值的符号的数据;以及
系数数据生成部,其用于根据所述最大有效数字计算部所计算的最大有效数字、所述绝对值计算部所计算的绝对值、以及所述代码生成部所生成的指示符号的数据,对已编码数据进行解码并且生成系数数据。
17.如权利要求16所述的解码装置,还包括代码分离部,其用于将所述已编码数据分离成指示所述最大有效数字的代码、指示所述绝对值的代码、以及指示所述符号的代码。
18.如权利要求16所述的解码装置,其中,所述最大有效数字计算部解码指示最大有效数字是否已改变的代码,作为指示所述最大有效数字的代码。
19.如权利要求18所述的解码装置,其中,在最大有效数字已改变的情况下,所述最大有效数字计算部解码指示最大有效数字增大还是减小的代码、以及指示最大有效数字的改变量的代码,作为指示所述最大有效数字的代码,并且基于解码结果计算所述最大有效数字。
20.如权利要求16所述的解码装置,其中,所述最大有效数字计算部重复以下处理:解码指示连续排列的所述系数数据的所述最大有效数字的代码,以及解码指示从所述系数数据开始进一步连续排列的所述系数数据的所述最大有效数字的代码。
21.如权利要求16所述的解码装置,其中,所述绝对值计算部并行解码指示由所述系数数据所表示的数值的绝对值的代码。
22.如权利要求16所述的解码装置,还包括:
解码部,其用于解码所述已编码数据,并且生成通过执行正交变换所获得的所述系数数据;
存储部,其用于存储通过所述解码部所生成的系数数据;以及
系数重布置部,其用于以要对所述系数数据执行逆正交变换的次序重布置由所述存储部存储的所述系数数据。
23.如权利要求16所述的解码装置,还包括:
解码部,用于解码所述已编码数据,并且生成包括在多个子带中的所述系数数据;
存储部,其用于对于至少最低频带分量子带的每个行块,存储所述解码部所生成的系数数据,其中该行块包括用于生成相当于一行的系数数据所必需的若干行图像数据;以及
系数重布置部,其用于对每个行块以要执行对按照频带分割的多个子带的系数数据的合成的次序重布置所述存储部所存储的所述系数数据。
24.一种解码方法,该解码方法用于解码已编码数据,并且生成系数数据,所述解码方法包括如下步骤:
采取在由每个所述系数数据所表示的数值当中具有绝对值最大的数值的有效数字,作为所述系数数据的最大有效数字,对指示所述最大有效数字的代码进行解码,并且计算所述最大有效数字;
对指示由所述系数数据所表示的数值的绝对值的代码进行解码,并且计算由所述系数数据所表示的数值的绝对值;
对指示由所述系数数据所表示的数值的符号的代码进行解码,并且生成指示由所述系数数据所表示的数值的符号的数据;以及
根据所计算的最大有效数字、所计算的绝对值、以及所生成的指示符号的数据,对已编码数据进行解码,并且生成系数数据。
25.一种传输系统,该传输系统包括:编码装置,其用于对系数数据进行编码;以及解码装置,其用于对通过对所述系数数据进行编码而获得的已编码数据进行解码;其中所述已编码数据在所述编码装置和所述解码装置之间传输;
所述编码装置包括:
最大有效数字生成部,其用于采取在由每个所述系数数据所表示的数值当中具有绝对值最大的数值的有效数字,作为所述系数数据的最大有效数字,并且生成指示所述最大有效数字的代码;
绝对值生成部,其用于生成指示由所述系数数据所表示的数值的绝对值的代码;以及
代码生成部,其用于生成指示由所述系数数据所表示的数值的符号的代码;
代码链接部,其用于链接已由所述最大有效数字生成部生成的指示最大有效数字的代码、已由所述绝对值生成部生成的指示绝对值的代码、和由所述代码生成部生成的指示符号的代码,从而生成已编码数据,以及
传输部,其用于传输所述代码链接部所生成的已编码数据;
并且所述解码装置包括:
接收部,其用于接收由所述传输部所传输的已编码数据;
代码分离部,其用于将所述接收部接收到的已编码数据分离为指示所述最大有效数字的代码、指示所述绝对值的代码、以及指示所述符号的代码,
最大有效数字计算部,其用于对由所述代码分离部分离的指示所述最大有效数字的代码进行解码,并且计算所述最大有效数字;
绝对值计算部,其用于对由所述代码分离部分离的指示所述绝对值的代码进行解码,并且计算由所述系数数据所表示的数值的绝对值;
代码生成部,其用于对由所述代码分离部分离的指示所述符号的代码进行解码,并且生成指示所述系数数据所表示的该符号的数据;以及
系数数据生成部,其用于根据由所述最大有效数字计算部计算的最大有效数字、由所述绝对值计算部计算的绝对值、以及所述代码生成部所生成的指示符号的数据,对已编码数据进行解码,并且生成系数数据。

Claims (15)

1.一种编码装置,该编码装置用于对第二数据进行编码,该第二数据由表示预定数值的多个第一数据组成,所述编码装置包括:
最大有效数字输出部,其用于采取在由每个所述第一数据所表示的数值当中具有最大绝对值的有效数字作为所述第一数据的最大有效数字,并且输出指示所述最大有效数字的代码;
绝对值输出部,其用于输出指示由所述第一数据所表示的数值的绝对值的代码;以及
代码输出部,其用于输出指示由所述第一数据所表示的数值的符号的代码。
2.如权利要求1所述的编码装置,其中,所述最大有效数字输出部输出指示最大有效数字是否已改变的代码,作为指示所述最大有效数字的代码。
3.如权利要求2所述的编码装置,其中,在所述最大有效数字已改变的情况下,所述最大有效数字输出部输出指示最大有效数字增大还是减小的代码,作为指示所述最大有效数字的代码。
4.如权利要求3所述的编码装置,其中,所述最大有效数字输出部输出指示最大有效数字的改变量的代码。
5.如权利要求1所述的编码装置,其中,所述最大有效数字输出部输出指示连续排列的所述第一数据的所述最大有效数字的代码,并且输出指示从所述第一数据开始进一步连续排列的所述第一数据的最大有效数字的代码。
6.如权利要求1所述的编码装置,其中,所述绝对值输出部输出指示从所述第一数据所表示的数值的最低次序的数字到最大有效数字的值的代码,作为指示由所述第一数据所表示的数值的绝对值的代码。
7.如权利要求1所述的编码装置,其中,所述绝对值输出部并行输出指示由所述第一数据所表示的数值的绝对值的代码。
8.一种编码方法,该编码方法用于对第二数据进行编码,该第二数据由表示预定数值的多个第一数据组成,所述编码方法包括如下步骤:
采取在由每个所述第一数据所表示的数值当中具有最大绝对值的有效数字作为所述第一数据的最大有效数字,并且输出指示所述最大有效数字的代码;
输出指示由所述第一数据所表示的数值的绝对值的代码;以及
输出指示由所述第一数据所表示的数值的符号的代码。
9.一种解码装置,该解码装置用于对第二数据进行解码,该第二数据由表示预定数值的多个第一数据组成,所述解码装置包括:
最大有效数字输出部,其用于采取在由每个所述第一数据所表示的数值当中具有最大绝对值的有效数字作为最大有效数字,对指示所述最大有效数字的代码进行解码,并且输出所述最大有效数字;
绝对值输出部,其用于对指示由所述第一数据所表示的数值的绝对值的代码进行解码,并且输出由所述第一数据所表示的数值的绝对值;
代码输出部,其用于对指示由所述第一数据所表示的数值的符号的代码进行解码,并且输出指示由所述第一数据所表示的数值的符号的数据;以及
数据输出部,其用于基于所述最大有效数字、所述第一数据所表示的数值的绝对值、以及指示所述第一数据所表示的数值的符号的数据,输出所述第一数据。
10.如权利要求9所述的解码装置,其中,所述最大有效数字输出部解码指示最大有效数字是否已改变的代码,作为指示所述最大有效数字的代码。
11.如权利要求10所述的解码装置,其中,在所述最大有效数字已改变的情况下,所述最大有效数字输出部解码指示最大有效数字增大还是减小的代码、以及指示最大有效数字的改变量的代码,作为指示所述最大有效数字的代码,并且基于解码结果输出所述最大有效数字。
12.如权利要求9所述的解码装置,其中,所述最大有效数字输出部重复地执行以下处理:解码指示连续排列的所述第一数据的所述最大有效数字的代码,以及解码指示从所述第一数据开始进一步连续排列的所述第一数据的所述最大有效数字的代码。
13.如权利要求9所述的解码装置,其中,所述绝对值输出部并行解码指示由所述第一数据所表示的数值的绝对值的代码。
14.一种解码方法,该解码方法用于对代码进行解码,并且输出第二数据,该第二数据由表示预定数值的多个第一数据组成,所述解码方法包括如下步骤:
采取在由每个所述第一数据所表示的数值当中具有最大绝对值的有效数字作为最大有效数字,对指示所述第一数据的所述最大有效数字的代码进行解码,并且输出所述最大有效数字;
对指示由所述第一数据所表示的数值的绝对值的代码进行解码,并且输出由所述第一数据所表示的数值的绝对值;
对指示由所述第一数据所表示的数值的符号的代码进行解码,并且输出指示由所述第一数据所表示的数值的符号的数据;以及
基于所述最大有效数字、所述第一数据所表示的数值的绝对值、以及指示所述第一数据所表示的数值的符号的数据,输出所述第一数据。
15.一种传输系统,该传输系统包括:编码装置,其用于对第二数据进行编码,该第二数据由表示预定数值的多个第一数据组成;以及解码装置,其用于对已编码代码进行解码并且输出由多个第一数据组成的所述第二数据,所述传输系统用于将所述代码从所述编码装置传输到所述解码装置;
其中,所述编码装置包括:
第一最大有效数字输出部,其用于采取在由每个所述第一数据所表示的数值当中具有最大绝对值的有效数字作为所述第一数据的最大有效数字,并且输出指示所述最大有效数字的代码;
第一绝对值输出部,其用于输出指示由所述第一数据所表示的数值的绝对值的代码;以及
第一代码输出部,其用于输出指示由所述第一数据所表示的数值的符号的代码;
并且其中,所述解码装置包括:
第二最大有效数字输出部,其用于对已经从所述编码装置传输、并且指示由所述第一最大有效数字输出部所输出的所述最大有效数字的代码进行解码,并且输出所述最大有效数字;第二绝对值输出部,其用于对已经从所述解码装置传输、并且指示由所述第一绝对值输出部所输出的所述绝对值的代码进行解码,并且输出所述绝对值;
第二代码输出部,其用于对已经从所述编码装置传输、并且指示由所述第一代码输出部所输出的所述符号的代码进行解码,并且输出指示所述符号的数据;以及数据输出部,其用于基于从所述第二最大有效数字输出部输出的所述最大有效数字、从所述第二绝对值输出部输出的由所述第一数据所表示的数值的绝对值、以及从第二代码输出部输出、并且指示所述第一数据所表示的数值的符号的数据,输出所述第一数据。
CN200680005215.6A 2005-11-18 2006-11-17 编码装置和方法、解码装置和方法、以及传输系统 Active CN101120584B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2005334243 2005-11-18
JP334243/2005 2005-11-18
JP007256/2006 2006-01-16
JP2006007256 2006-01-16
PCT/JP2006/322953 WO2007058296A1 (ja) 2005-11-18 2006-11-17 符号化装置および方法、復号装置および方法、並びに、伝送システム

Publications (2)

Publication Number Publication Date
CN101120584A true CN101120584A (zh) 2008-02-06
CN101120584B CN101120584B (zh) 2011-04-20

Family

ID=39055700

Family Applications (2)

Application Number Title Priority Date Filing Date
CN200680005866.5A Active CN101129063B (zh) 2005-11-18 2006-11-17 编码设备和方法、解码设备和方法以及传输系统
CN200680005215.6A Active CN101120584B (zh) 2005-11-18 2006-11-17 编码装置和方法、解码装置和方法、以及传输系统

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN200680005866.5A Active CN101129063B (zh) 2005-11-18 2006-11-17 编码设备和方法、解码设备和方法以及传输系统

Country Status (2)

Country Link
CN (2) CN101129063B (zh)
RU (1) RU2340114C1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103179392A (zh) * 2011-12-21 2013-06-26 索尼公司 图像处理设备以及图像处理方法
CN106210733A (zh) * 2010-04-13 2016-12-07 Ge视频压缩有限责任公司 解码器、重建数组的方法、编码器、编码及解码方法
US20170134761A1 (en) 2010-04-13 2017-05-11 Ge Video Compression, Llc Coding of a spatial sampling of a two-dimensional information signal using sub-division
CN108989823A (zh) * 2012-01-30 2018-12-11 三星电子株式会社 用于视频解码的方法
US20190089962A1 (en) 2010-04-13 2019-03-21 Ge Video Compression, Llc Inter-plane prediction
US10248966B2 (en) 2010-04-13 2019-04-02 Ge Video Compression, Llc Region merging and coding parameter reuse via merging

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101474756B1 (ko) 2009-08-13 2014-12-19 삼성전자주식회사 큰 크기의 변환 단위를 이용한 영상 부호화, 복호화 방법 및 장치
US8965139B2 (en) 2010-09-29 2015-02-24 Panasonic Intellectual Property Corporation Of America Image decoding method, image coding method, image decoding apparatus, image coding apparatus and integrated circuit for generating a code stream with a hierarchical code structure
TWI625054B (zh) 2010-09-30 2018-05-21 Sun Patent Trust 解碼方法、編碼方法、解碼裝置、編碼裝置、程式產品及積體電路
JP6037156B2 (ja) * 2011-08-24 2016-11-30 ソニー株式会社 符号化装置および方法、並びにプログラム
JP5966345B2 (ja) * 2011-12-21 2016-08-10 ソニー株式会社 画像処理装置および方法
CN111726117B (zh) * 2019-03-20 2024-07-12 中国石油化工股份有限公司 数字岩心数据并行压缩编码方法及并行解压解码方法
CN114143557B (zh) * 2021-12-24 2023-07-07 成都索贝数码科技股份有限公司 一种针对视频图像小波变换高频系数的低复杂度编码方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU4218099A (en) * 1998-05-27 1999-12-13 Microsoft Corporation Scalable audio coder and decoder
JP2003204439A (ja) * 2002-01-08 2003-07-18 Canon Inc 画像符号化装置及び画像符号化方法
JP3700670B2 (ja) * 2002-03-28 2005-09-28 ソニー株式会社 ビットプレーン符号化装置
JP2005109776A (ja) * 2003-09-30 2005-04-21 Sony Corp 符号化装置及び復号装置
JP4097586B2 (ja) * 2003-10-03 2008-06-11 三洋電機株式会社 データ処理装置

Cited By (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10855991B2 (en) 2010-04-13 2020-12-01 Ge Video Compression, Llc Inter-plane prediction
US10448060B2 (en) 2010-04-13 2019-10-15 Ge Video Compression, Llc Multitree subdivision and inheritance of coding parameters in a coding block
US20180324466A1 (en) 2010-04-13 2018-11-08 Ge Video Compression, Llc Inheritance in sample array multitree subdivision
US20190089962A1 (en) 2010-04-13 2019-03-21 Ge Video Compression, Llc Inter-plane prediction
US10248966B2 (en) 2010-04-13 2019-04-02 Ge Video Compression, Llc Region merging and coding parameter reuse via merging
US10250913B2 (en) 2010-04-13 2019-04-02 Ge Video Compression, Llc Coding of a spatial sampling of a two-dimensional information signal using sub-division
US20190164188A1 (en) 2010-04-13 2019-05-30 Ge Video Compression, Llc Region merging and coding parameter reuse via merging
US20190174148A1 (en) 2010-04-13 2019-06-06 Ge Video Compression, Llc Inheritance in sample array multitree subdivision
US20190197579A1 (en) 2010-04-13 2019-06-27 Ge Video Compression, Llc Region merging and coding parameter reuse via merging
US10432979B2 (en) 2010-04-13 2019-10-01 Ge Video Compression Llc Inheritance in sample array multitree subdivision
US10432980B2 (en) 2010-04-13 2019-10-01 Ge Video Compression, Llc Inheritance in sample array multitree subdivision
US10432978B2 (en) 2010-04-13 2019-10-01 Ge Video Compression, Llc Inheritance in sample array multitree subdivision
US10440400B2 (en) 2010-04-13 2019-10-08 Ge Video Compression, Llc Inheritance in sample array multitree subdivision
US10848767B2 (en) 2010-04-13 2020-11-24 Ge Video Compression, Llc Inter-plane prediction
US10460344B2 (en) 2010-04-13 2019-10-29 Ge Video Compression, Llc Region merging and coding parameter reuse via merging
CN106210733B (zh) * 2010-04-13 2020-03-24 Ge视频压缩有限责任公司 解码器、重建数组的方法、编码器、编码及解码方法
US10621614B2 (en) 2010-04-13 2020-04-14 Ge Video Compression, Llc Region merging and coding parameter reuse via merging
US10672028B2 (en) 2010-04-13 2020-06-02 Ge Video Compression, Llc Region merging and coding parameter reuse via merging
US10681390B2 (en) 2010-04-13 2020-06-09 Ge Video Compression, Llc Coding of a spatial sampling of a two-dimensional information signal using sub-division
US10687086B2 (en) 2010-04-13 2020-06-16 Ge Video Compression, Llc Coding of a spatial sampling of a two-dimensional information signal using sub-division
US10687085B2 (en) 2010-04-13 2020-06-16 Ge Video Compression, Llc Inheritance in sample array multitree subdivision
US10694218B2 (en) 2010-04-13 2020-06-23 Ge Video Compression, Llc Inheritance in sample array multitree subdivision
US10708628B2 (en) 2010-04-13 2020-07-07 Ge Video Compression, Llc Coding of a spatial sampling of a two-dimensional information signal using sub-division
US10708629B2 (en) 2010-04-13 2020-07-07 Ge Video Compression, Llc Inheritance in sample array multitree subdivision
CN106210733A (zh) * 2010-04-13 2016-12-07 Ge视频压缩有限责任公司 解码器、重建数组的方法、编码器、编码及解码方法
US10721495B2 (en) 2010-04-13 2020-07-21 Ge Video Compression, Llc Coding of a spatial sampling of a two-dimensional information signal using sub-division
US10719850B2 (en) 2010-04-13 2020-07-21 Ge Video Compression, Llc Region merging and coding parameter reuse via merging
US10748183B2 (en) 2010-04-13 2020-08-18 Ge Video Compression, Llc Region merging and coding parameter reuse via merging
US10764608B2 (en) 2010-04-13 2020-09-01 Ge Video Compression, Llc Coding of a spatial sampling of a two-dimensional information signal using sub-division
US10771822B2 (en) 2010-04-13 2020-09-08 Ge Video Compression, Llc Coding of a spatial sampling of a two-dimensional information signal using sub-division
US10803485B2 (en) 2010-04-13 2020-10-13 Ge Video Compression, Llc Region merging and coding parameter reuse via merging
US10803483B2 (en) 2010-04-13 2020-10-13 Ge Video Compression, Llc Region merging and coding parameter reuse via merging
US10880581B2 (en) 2010-04-13 2020-12-29 Ge Video Compression, Llc Inheritance in sample array multitree subdivision
US20170134761A1 (en) 2010-04-13 2017-05-11 Ge Video Compression, Llc Coding of a spatial sampling of a two-dimensional information signal using sub-division
US10721496B2 (en) 2010-04-13 2020-07-21 Ge Video Compression, Llc Inheritance in sample array multitree subdivision
US10856013B2 (en) 2010-04-13 2020-12-01 Ge Video Compression, Llc Coding of a spatial sampling of a two-dimensional information signal using sub-division
US10855995B2 (en) 2010-04-13 2020-12-01 Ge Video Compression, Llc Inter-plane prediction
US10855990B2 (en) 2010-04-13 2020-12-01 Ge Video Compression, Llc Inter-plane prediction
US10863208B2 (en) 2010-04-13 2020-12-08 Ge Video Compression, Llc Inheritance in sample array multitree subdivision
US10873749B2 (en) 2010-04-13 2020-12-22 Ge Video Compression, Llc Inter-plane reuse of coding parameters
US10805645B2 (en) 2010-04-13 2020-10-13 Ge Video Compression, Llc Coding of a spatial sampling of a two-dimensional information signal using sub-division
US10880580B2 (en) 2010-04-13 2020-12-29 Ge Video Compression, Llc Inheritance in sample array multitree subdivision
US10893301B2 (en) 2010-04-13 2021-01-12 Ge Video Compression, Llc Coding of a spatial sampling of a two-dimensional information signal using sub-division
US11037194B2 (en) 2010-04-13 2021-06-15 Ge Video Compression, Llc Region merging and coding parameter reuse via merging
US11051047B2 (en) 2010-04-13 2021-06-29 Ge Video Compression, Llc Inheritance in sample array multitree subdivision
US12010353B2 (en) 2010-04-13 2024-06-11 Ge Video Compression, Llc Inheritance in sample array multitree subdivision
US20210211743A1 (en) 2010-04-13 2021-07-08 Ge Video Compression, Llc Coding of a spatial sampling of a two-dimensional information signal using sub-division
US11087355B2 (en) 2010-04-13 2021-08-10 Ge Video Compression, Llc Region merging and coding parameter reuse via merging
US11102518B2 (en) 2010-04-13 2021-08-24 Ge Video Compression, Llc Coding of a spatial sampling of a two-dimensional information signal using sub-division
US11546641B2 (en) 2010-04-13 2023-01-03 Ge Video Compression, Llc Inheritance in sample array multitree subdivision
US11546642B2 (en) 2010-04-13 2023-01-03 Ge Video Compression, Llc Coding of a spatial sampling of a two-dimensional information signal using sub-division
US11553212B2 (en) 2010-04-13 2023-01-10 Ge Video Compression, Llc Inheritance in sample array multitree subdivision
US11611761B2 (en) 2010-04-13 2023-03-21 Ge Video Compression, Llc Inter-plane reuse of coding parameters
US11734714B2 (en) 2010-04-13 2023-08-22 Ge Video Compression, Llc Region merging and coding parameter reuse via merging
US11736738B2 (en) 2010-04-13 2023-08-22 Ge Video Compression, Llc Coding of a spatial sampling of a two-dimensional information signal using subdivision
US11765363B2 (en) 2010-04-13 2023-09-19 Ge Video Compression, Llc Inter-plane reuse of coding parameters
US11765362B2 (en) 2010-04-13 2023-09-19 Ge Video Compression, Llc Inter-plane prediction
US11778241B2 (en) 2010-04-13 2023-10-03 Ge Video Compression, Llc Coding of a spatial sampling of a two-dimensional information signal using sub-division
US11785264B2 (en) 2010-04-13 2023-10-10 Ge Video Compression, Llc Multitree subdivision and inheritance of coding parameters in a coding block
US11810019B2 (en) 2010-04-13 2023-11-07 Ge Video Compression, Llc Region merging and coding parameter reuse via merging
US11856240B1 (en) 2010-04-13 2023-12-26 Ge Video Compression, Llc Coding of a spatial sampling of a two-dimensional information signal using sub-division
US11900415B2 (en) 2010-04-13 2024-02-13 Ge Video Compression, Llc Region merging and coding parameter reuse via merging
US11910030B2 (en) 2010-04-13 2024-02-20 Ge Video Compression, Llc Inheritance in sample array multitree subdivision
US11910029B2 (en) 2010-04-13 2024-02-20 Ge Video Compression, Llc Coding of a spatial sampling of a two-dimensional information signal using sub-division preliminary class
US11983737B2 (en) 2010-04-13 2024-05-14 Ge Video Compression, Llc Region merging and coding parameter reuse via merging
CN103179392A (zh) * 2011-12-21 2013-06-26 索尼公司 图像处理设备以及图像处理方法
CN108989823A (zh) * 2012-01-30 2018-12-11 三星电子株式会社 用于视频解码的方法
CN108989823B (zh) * 2012-01-30 2021-02-12 三星电子株式会社 用于视频解码的方法

Also Published As

Publication number Publication date
CN101129063B (zh) 2010-05-19
RU2340114C1 (ru) 2008-11-27
CN101120584B (zh) 2011-04-20
CN101129063A (zh) 2008-02-20

Similar Documents

Publication Publication Date Title
CN101120584B (zh) 编码装置和方法、解码装置和方法、以及传输系统
KR101320534B1 (ko) 부호화 장치 및 방법, 복호 장치 및 방법, 및, 전송 시스템
CN101133649B (zh) 编码装置、编码方法以及解码装置、解码方法
CN101237577B (zh) 信息处理设备和方法
CN101132179B (zh) 小波变换设备和方法、小波逆变换设备和方法
CN101543077B (zh) 信息处理装置和方法
CN101138248A (zh) 编码装置、编码方法、编码程序、解码装置、解码方法和解码程序
CN102263950B (zh) 编码设备和编码方法以及解码设备和解码方法
CN101237576B (zh) 信息处理装置和方法
CN101106719B (zh) 小波变换设备、小波逆变换设备和方法
JP5950157B2 (ja) 画像処理装置および方法、並びに、プログラム
CN103179392A (zh) 图像处理设备以及图像处理方法

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