编码设备和编码方法以及解码设备和解码方法

文档序号:7936118阅读:224来源:国知局
专利名称:编码设备和编码方法以及解码设备和解码方法
技术领域
本发明涉及编码设备和编码方法以及解码设备和解码方法,特别 是涉及能够在传送了编码图像时以低延迟得到解码图像的编码设备和 编码方法以及解码设备和解码方法。
背景技术
以往,作为代表性的图像压缩方式,有被ISO ( International Organization for Standardization,国际标准化组织)标准化的JPEG (Joint Photographic Experts Group,联合图像专家组)方式。在该 JPEG方式中,将图《象分割成块,对每个块实施DCT( Discrete Cosine Transform,离散余弦变换)以得到DCT系数,将DCT系数量化, 并进一步执行熵编码,从而实现具有高质量和高压缩率的图像压缩。
近年来,对于利用被称为滤波器组(filter bank)的、使用高通 滤波器和低通滤器的组合的滤波器来将图像分割成多个频带并且逐个 频带地进行编码的编码方式,进行了活跃的研究。其中,小波变换编 码没有DCT的在高压缩时块失真变得显著的缺点,因此被认为是超 过DCT的一种新的有前途的技术。
例如,在2001年1月完成了国际标准化的JPEG2000采用将该 小波变化与基于比特平面单位的比特建模和算术编码的高效熵编码组 合的压缩编码方式。利用该JPEG2000方式,相对于JPEG方式实现 了编码效率的显著提高。专利文献1记载了一种进一步提高了编码效 率的小波变换方法。
专利文献1:日本未审查专利申请公开NO.9 - 130800

发明内容
在传送以上述的这种编码方式编码的图像时,在编码设备或解码 设备的任意一个中都需要执行以低延迟得到解码图像的预定处理。例 如,在编码设备中执行该预定处理的情况下,需要从编码设备向解码 设备通知不需要在解码单元中执行该预定处理。另一方面,不在编码 设备中执行该预定处理的情况下,需要从编码设备向解码设备通知需 要在解码单元中执行该预定处理。
除非能够以这种方式适当地从编码设备向解码设备通知是否执 行该预定处理等信息,否则很难在传送了编码图像时以低延迟得到解 码图像。
本发明鉴于上述情况而作出,能够在传送了编码图像时以低延迟 得到解码图像。
本发明的第1方面的编码设备是一种执行图像数据的编码处理以
生成编码流的编码设备,包括识别信息生成单元,用于生成共有处 理识别信息或程序识别信息,其中,所述共有处理识别信息识别通过 编码处理和解码处理中的哪一个来执行在图像数据的编码处理和编码
流的解码处理之间共有的处理,所述程序识别信息识别从分配模式或 配置模式相互不同的多个解码程序中选择哪个解码程序,并且,所迷 分配模式是将构成解码处理的多个处理分配给多个处理单元的分配模 式,所述配置模式是由多个处理使用的存储器的配置模式;编码单元, 用于执行图像数据的编码处理,以生成编码流;和传送单元,用于将 由识别信息生成单元生成的共有处理识别信息或程序识别信息与由编 码单元生成的编码流一起传送。
本发明的第1方面的解码方法是一种执行图像数据的编码处理以 生成编码流的编码方法,包括以下步骤生成共有处理识别信息或程 序识别信息,其中,所述共有处理识别信息识别通过编码处理和解码 处理中的哪一个来执行在图像数据的编码处理和编码流的解码处理之 间共有的处理,所述程序识别信息识别从分配模式或配置模式相互不 同的多个解码程序中选择哪个解码程序,并且,所述分配模式是将构成解码处理的多个处理分配给多个处理单元的分配模式,所述配置模
式是由多个处理使用的存储器的配置模式;执行图像数据的编码处理, 以生成编码流;以及将共有处理识别信息或程序识别信息与编码流一 起传送。
在本发明的第1方面中,生成共有处理识别信息或程序识别信息, 其中,所述共有处理识别信息识别通过编码处理和解码处理中的哪一 个来执行在图像数据的编码处理和编码流的解码处理之间共有的处 理,所述程序识别信息识别从分配模式或配置模式相互不同的多个解 码程序中选择哪个解码程序,并且,所述分配模式是将构成解码处理 的多个处理分配给多个处理单元的分配模式,所述配置模式是由多个 处理使用的存储器的配置模式。然后,对图像数据执行编码处理,以 生成编码流,并且将共有处理识别信息或程序识别信息与编码流一起 传送。
本发明的第2方面的解码设备是一种执行通过执行图像数据的编 码处理而得到的编码流的解码处理的解码设备,包括取得单元,与 编码流一起取得共有处理识别信息或程序识别信息,其中,所述共有 处理识别信息识别通过编码处理和解码处理中的哪一个来执行在图像 数据的编码处理和编码流的解码处理之间共有的处理,所述程序识别 信息识别从分配模式或配置模式相互不同的多个解码程序中选择哪个 解码程序,并且,所述分配模式是将构成解码处理的多个处理分配给 多个处理单元的分配模式,所述配置模式是由多个处理使用的存储器 的配置模式;解码单元,用于执行由取得单元取得的编码流的解码处 理;和控制单元,用于控制解码单元,以按照由取得单元取得的共有 处理识别信息或程序识别信息所表示的处理方式,执行解码处理。
本发明的第2方面的解码方法是一种执行通过执行图像数据的编 码处理而得到的编码流的解码处理的解码方法,包括以下步骤与编 码流一起取得共有处理识别信息或程序识别信息,其中,所述共有处 理识别信息识别通过编码处理和解码处理中的哪一个来执行在图像数 据的编码处理和编码流的解码处理之间共有的处理,所述程序识别信息识别从分配模式或配置模式相互不同的多个解码程序中选择哪个解 码程序,并且,所述分配模式是将构成解码处理的多个处理分配给多 个处理单元的分配模式,所述配置模式是由多个处理使用的存储器的
配置模式;以及执行控制,以使解码处理按照共有处理识别信息或程 序识别信息所表示的处理方式来执行。
在本发明的第2方面中,与编码流一起取得共有处理识别信息或 程序识别信息,其中,所述共有处理识别信息识别通过编码处理和解 码处理中的哪一个来执行在图像数据的编码处理和编码流的解码处理 之间共有的处理,所述程序识别信息识别从分配模式或配置模式相互 不同的多个解码程序中选择哪个解码程序,并且,所述分配模式是将 构成解码处理的多个处理分配给多个处理单元的分配才莫式,所述配置 模式是由多个处理使用的存储器的配置模式。然后,对编码流执行解 码处理,并且执行控制,以使解码处理按照共有处理识别信息或程序 识别信息所表示的处理方式来执行。
根据本发明的第l和第2方面,在传送了编码图像数据时能够以 低延迟得到解码图像。


图i是示出应用了本发明的编码设备的一个实施方式的结构例子 的框图。
图2是示出应用了本发明的解码设备的结构例子的框图。 图3是示出编码单元14的结构例子的框图。 图4是示意性地说明小波变换的简图。 图5是示意性地说明小波变换的简图。
图6是示出利用5x3滤波器的提升(lifting)的滤波被执行到分 解级别=2的例子的简图。
图7是示意性地示出本发明的小波变换和小波逆变换的流程的简图。
图8是示出标题的结构例子的图。
9图9是说明序列标题的图。
图IO是说明图片标题的图。
图ll是说明分区(precinct)标题的图。
图12是示出解码单元36的结构例子的框图。
图13是说明对图像数据进行编码的处理的流程图。
图14是说明生成标题的处理的流程图。
图15是说明对图像数据进行解码的处理的流程图。
图16是说明分析标题的处理的流程图。
图17是示意性地示出由编码单元和解码单元的各个要素执行的 并行操作的例子的简图。
图18是示出个人计算机的结构例子的框图。
图19是示出向编码单元分配硬件资源的例子的图。
图20是示出图19中的例子的情况下的处理流程的示意图。
图21是示出向编码单元分配硬件资源的另一例子的图。
图22是示出向编码单元分配硬件资源的另一例子的图。
图23是示出图22中的例子的情况下的处理流程的示意图。
图24是示出向编码单元分配硬件资源的另一例子的图。
图25是示出图24中的例子的情况下的处理流程的示意图。
图26是示出向解码单元分配硬件资源的例子的图。
图27是示出图26中的例子的情况下的处理流程的示意图。
图28是示出向解码单元分配硬件资源的另一例子的图。
图29是示出图28中的例子的情况下的处理流程的示意图。
图30是示出向解码单元分配硬件资源的另一例子的图。
图31是示出图30中的例子的情况下的处理流程的示意图。
图32是示出编码单元的另一结构例子的框图。
图33是示出向图32中的编码单元分配硬件资源的另一例子的图。
图34是示出编码单元的另一结构例子的框图。
图35是示出与图34中的编码单元对应的解码单元的结构例子的
10框图。
图36是示出信息处理系统的结构例子的框图。 图37是示出子CPU核的结构例子的框图。 图38是示出主CPU核的结构例子的框图。 图39是示出小波变换关系表的结构例子的图。 图40是示出系数重新排列关系表的结构例子的图。 图41是说明编码选择控制处理的流程例子的流程图。 图42是说明计算精度选择处理的流程例子的流程图。 图43是说明编码方式选择处理的流程例子的流程图。 图44是说明解码选择控制处理的流程例子的流程图。 图45是说明解码方式选择处理的流程例子的流程图。 图46是示出利用5x3滤波器的提升的滤波被执行到分解级别=2 的例子的简图。
图47是示出利用5x3滤波器的提升的滤波被执行到分解级别=2 的例子的简图。
图48是示出解码单元36的另一实施方式的框图。 图49是示出编码单元14的另一实施方式的框图。 图50是示出解码单元36的另一实施方式的框图。 附图标记说明
12摄像设备、13编码设备、14编码单元、15分组生成单元、16 发送单元、17标题生成单元、18序列标题生成单元、19图片标题生 成单元、20分区标题生成单元、21传送单元、22识别信息生成单元、 32解码设备、33显示设备、34接收单元、35分組解读单元、36解码 单元、37输出单元、38标题解读单元、39序列标题解读单元、40图 片标题解读单元、41分区标题解读单元、42识别信息取得单元、43 解码控制单元、44编码码流取得单元、51小波变换单元、52中间计 算緩冲器单元、53系数重新排列緩冲器单元、54系数重新排列单元、 55熵编码单元、61熵解码单元、62系数緩沖器单元、63小波逆变换 单元、IOO个人计算机、IOICPU、 103RAM、 111高速緩冲存储器、300信息处理系统、403XDR-RAM、 441主CPU核、442子CPU核、 451 LS、 502编码选择控制单元、503解码选择控制单元、504高速緩 冲存储器、516编码方式选择单元、517分配单元、524解码方式选择 单元、525分配单元
具体实施例方式
以下参照附图详细说明应用了本发明的具体实施方式
。 图l是示出应用了本发明的编码设备的一个实施方式的结构例子 的框图。
在图1中,摄像设备12与编码设备13连接。编码设备13对摄 像设备12拍摄的图像进行编码。
摄像设备12具有使用CCD ( Charge Coupled Device,电荷耦合 器件)、CMOS ( Complementary Mental-Oxide Semiconductor, 互 补金属氧化物半导体)等的摄像元件,拍摄对象的图像。即,摄像设 备12从对象接收光并根据所接收到的光量生成由电信号形成的拍摄 图像。然后,摄像设备12将所拍摄的图像转换成作为数字数据的图像 数据,并将该图像数据提供给编码设备13。
编码设备13由编码单元14、识别信息生成单元21和传送单元 22构成。
图像数据从摄像设备12提供给编码单元14。编码单元14按预定 方法对图像数据进行编码,并将通过编码得到的编码数据提供给分组 生成单元15。
识别信息生成单元21生成与在编码单元14中执行的编码处理有 关的信息,并将该信息提供给传送单元22。作为与编码处理有关的信 息,例如有用于识别由编码单元14和解码设备32的解码单元36 (在 后述的图2中示出)中的哪一个执行在编码单元14的编码处理和解码 单元36的解码处理之间共有的处理的信息(共有处理识别信息)、以 及用于识别从多个解码程序中选择哪个解码程序的信息(程序识别信 息)等,其中,该多个解码程序在将构成解码单元36的多个处理分配给多个处理单元的分配模式或者在由多个处理使用的存储器的配置模 式中彼此不同。
传送单元22将由识别信息生成单元21生成的信息转换成流格 式,以生成编码码流,并在编码码流的标题(具体地说,在MPEG (Moving Picture Experts Group,运动图像专家组)标准中是用户数 据区)中适当地输入描述。
而且,为了将编码码流(包括标题中包含的信息)记录到驱动器 (未示出)中安装的记录介质上,传送单元22可以向驱动器发送编码 码流。
即,传送单元22由分组生成单元15、发送单元16和标题生成单 元17构成。
编码数据从编码单元14提供给分组生成单元15,包括与编码数 据有关的信息的标题从标题生成单元17提供给分組生成单元15。分 组生成单元15使编码数据分组化。即,分组生成单元15通过将编码 数据分割成预定的数据大小并且附加来自标题生成单元17的标题、用 于使数据的发送和接收定时同步的同步码等,生成分组。分组生成单 元15将分组提供给发送单元16。
发送单元16按照图像的同步信号的定时,经由包括有线或无线 的信道或者包括有线和无线的信道,利用预定的通信方法发送(送出) 由从分组生成单元15提供的分组形成的编码码流。而且,用于传送分 组的信道可以是专用或通用传送电缆,可以包括例如LAN( Local Area Network,局域网)或互联网等一个或多个通信网络,或者可以包括 某个通信中继设备。
标题生成单元17由序列标题生成单元18、图片标题生成单元19 和分区标题生成单元20构成,向序列标题生成单元18、图片标题生 成单元19和分区标题生成单元20提供从识别信息生成单元21提供的 信息(共用处理识别信息或程序识别信息等)。
这里,从编码设备13发送的一系列图像作为整体被称为序列, 构成序列的多个图像中的每个图像被称为图片。而且,在构成图片的多行中,作为将参考图6后述的小波变换的处理单位的行数被称为集 合分区。即,图片由多个分区构成。
当编码设备13开始发送一系列图像时,序列标题生成单元18生 成包括该一 系列图像共有的信息的序列标题,并将序列标题提供给分 组生成单元15。包含在序列标题中的信息将参考图9后述。
每当从编码单元14向分组生成单元15提供图片时,图片标题生 成单元19就生成包括与每个图片有关的信息的图片标题,并将图片标 题提供给分组生成单元15。包含在图片标题中的信息将参考图10后 述。
每当从编码单元14向分组生成单元15提供分区时,分区标题生 成单元20就生成包括与每个分区有关的信息的分区标题,并将分区标 题提供给分组生成单元15。包含在分区标题中的信息将参考图11后 述。
图2是示出应用了本发明的解码设备的结构例子的框图。 在图2中,显示设备33与解码设备32连接。 显示设备33具有显示器,在显示器上显示由解码设备32解码和 输出的图像。
解码设备32由编码码流取得单元44、识别信息取得单元42、解 码控制单元43、解码单元36和输出单元37构成。
编码码流取得单元44取得从图1中的发送单元16的传送单元22 传送的编码码流。编码码流取得单元44将编码码流解码,提取编码码 流的标题(具体地,在MPWG标准中是用户数据区)中记载的信息, 并将该信息提供给识别信息取得单元42。
替代地,编码码流取得单元44通过从安装了记录有编码码流(包 括标题中包含的信息)的记录介质的驱动器(未图示)读取(重放), 来取得编码码流。
即,编码码流取得单元44由接收单元34、分组解读单元35和标 题解读单元38构成。
接收单元34按照预定的通信方法接收从图1中的发送单元16发送的编码码流,并将编码码流提供给分组解读单元35。
分组解读单元35从接收单元34提供的编码码流的分组中提取标 题和编码数据,将标题提供给标题解读单元38,并将编码数据提供给 解码单元36。
标题解读单元38由序列标题解读单元39、图片标题解读单元40 和分区标题解读单元41构成。
由分组解读单元35从分组中提供的序列标题被提供给序列标题 解读单元39。序列标题解读单元39分析序列标题,并将序列标题中 包含的信息提供给识别信息取得单元42。
由分组解读单元35从分组中提供的图片标题被提供给图片标题 解读单元40。图片标题解读单元40分析图片标题,并将图片标题中 包含的信息提供给识别信息取得单元42。
由分组解读单元35从分组中提供的分区标题被提供给分区标题 解读单元41。分区标题解读单元41分析分区标题,并将分区标题中 包含的信息提供给识别信息取得单元42。
编码码流的标题中包含的信息从编码码流取得单元44提供给识 别信息取得单元42。识别信息取得单元42取得包含在编码码流的标 题中的信息,即,由图1中的识别信息生成单元21生成的信息(共有 处理识别信息或程序识别信息等),并将该信息提供给解码控制单元 43。
解码控制单元43控制解码单元36,使其按照由从识别信息取得 单元42提供的信息指示的处理方式对编码码流进行解码。
按照解码控制单元43的控制,解码单元36利用与图1中的编码 单元14的编码方法对应的方法,对从分组解读单元35提供的编码数 据进行解码,并将作为结果而获得的图像数据提供给输出单元37。
输出单元37将从解码单元36提供的图像数据输出到显示设备33。
在如上所述构成的编码设备13和解码设备32中,在摄像设备12 中拍摄的图像在编码单元14中被编码,在分组生成单元15中被分组
15化并发送。分组在分组解读单元35中被解读,在解码单元36中被解 码,并在显示设备33上显示。
在编码设备13和解码设备32中,除了由摄像设备12拍摄的图 像外,例如还可以传送预先拍摄和累积的图像。而且,从编码设备13 传送的图像可以用于在显示设备33上显示以外的目的,例如用于记录 到记录设备(未图示)上。另外,尽管在该例子中作为要传送的数据 仅说明了图像数据,但例如也可以与图像数据一起传送语音数据等其 它种类的数据。
另外,编码设备13发送分组的方法可以是仅向解码设备32发送 分组的单播,也可以是向包括解码设备32在内的多个设备发送分组的
多播,还可以是向不特定多数的设备发送分组的广播。
另外,除了被附加到分组的标题上并发送到解码设备32以外, 由编码设备13的识别信息生成单元21生成的信息可以被多路复用, 并且例如以并行方式通过与传送图像数据(编码数据)的信道不同的 信道(不同系统)从识别信息生成单元21发送给识别信息取得单元 42。
图3是示出图1中的编码单元14的结构例子的框图。 如图3所示,编码单元14具有小波变换单元51、中间计算緩冲 器单元52、系数重新排列緩冲器单元53、系数重新排列单元54和熵 编码单元55的功能。
输入到编码单元14的图像数据经由小波变换单元51被临时累积 到中间计算緩冲器单元52中。小波变换单元51对中间计算緩冲器单 元52中累积的图像数据实施小波变换。即,小波变换单元51从中间 计算緩冲器单元52中读出图像数据,利用分析滤波器实施滤波处理, 以生成低频分量和高频分量的系数的数据,并将所生成的系数数据存 储到中间计算緩冲器单元52中。小波变换单元51具有水平分析滤波 器和垂直分析滤波器,针对屏幕的水平方向和屏幕的垂直方向对图像 数据组执行分析滤波处理。小波变换单元51再次读出中间计算緩沖器 单元52中存储的低频分量的系数数据,并利用分析滤波器对所读出的系数数据实施滤波处理,从而进一步生成高频分量和低频分量的系数
的数据。所生成的系数数据被存储到中间计算緩冲器单元52中。
当在重复上述处理之后分解级别达到预定级别时,小波变换单元 51从中间计算緩冲器单元52中读出系数数据,并将所读出的系数数 据写入到系数重新排列緩冲器单元53中。
系数重新排列单元54按照预定的顺序读出被写入到系数重新排 列緩冲器单元53中的系数数据,并将该系数数据提供给熵编码单元 55。熵编码单元55利用预定的方法将所提供的系数数据量化,并按照 例如霍夫曼(Huffman)编码或算术编码等预定的熵编码方式进行编 码。熵编码单元55向编码单元14外部输出所生成的编码数据。
以下更详细地说明在图3的小波变换单元51中执行的处理。首 先,概略地说明小波变换。在图像数据的小波变换中,如图4中概略 示出的那样,将图像数据分割成高空间频率和低空间频率的频带的处 理针对作为分割结果得到的低空间频率的频带中的数据递归地重复。 这样,通过将低空间频率的频带中的数据收缩至更小的区域,可以执 行有效的压缩编码。
图4示出将图像数据的最低频分量区域分割成低频分量的区域L 和高频分量的区域H的处理被重复3次,表示分割的分级级别的总数 的分割级别为3。在图4中,"L,,和"H"分别表示低频分量和高频分量, 关于"L"和"H"的顺序,前侧表示作为在横向上分割的结果得到的频 带,后侧表示在纵向上分割的结果得到的频带。"L"和"H"前的数字表 示对应区域的分级级别,低频分量的分级级别用较小的值表示。该分 级级别的最大值表示小波变换在此时的分割级别(分割数)。
从图4中的例子可以理解,随着以阶梯方式从屏幕的右下区域到 左上区域执行处理,低频分量被收缩。即,在图4的例子中,在屏幕 的右下区域是具有最少的低频分量(包含最多的高频分量)的区域 3HH的情况下,被分割成4个的屏幕的左上区域被进一 步分割成4个, 在这4个分割区域中,左上区域被进一步分割成4个。最左上的区域 是包含最多低频分量的区域0LL。针对低频分量重复进行变换和分割的原因是,图像的能量集中于
低频分量。这一点从以下事实也可以理解从随着分割级别从在图5A 中示出其例子的分割级别=1的状态前进到在图5B中示出其例子的分 割级别=3的状态,如图5B所示形成子带。
例如,图4中的小波变换的分割级别为3,结果形成10个子带。
小波变换单元51通常使用由低通滤波器和高通滤波器构成的滤 波器组来执行上述处理。由于数字滤波器通常具有多个抽头(tap)长 度的脉沖响应、即滤波器系数,因此,需要预先緩冲用于执行滤波处 理的足够量的输入图像数据或系数数据。
同样,在多级执行小波变换的情况下,也需要緩冲足够用于执行 滤波处理的个数的、在前面级生成的小波变换系数。
作为该小波变换的具体例子,下面说明使用5x3滤波器的方法。 该使用5x3滤波器的方法也由JPEG 2000标准采用,并且证明该方法 在能够以小的滤波器抽头数执行小波变换方面优良。
如下面的表达式(1)和(2)所示,5x3滤波器的脉冲响应(z 变换表达)由低通滤波器H。 (z)和高频滤波器Hi (z)构成。
Ho(z) = (- 1 + 2z- 1 + 6z-2 + 2z-3 - z-4)/8 ... (1) H工(z) = (- 1 + 2z-1 -Z-2) /2 ... (2)
根据上述表达式(1)和(2),可以直接计算低频分量和高频分 量的系数。此时,通过应用提升(lifting)技术,可以减少滤波处理 中的计算。
以下更详细地说明该小波变换方法。图6示出利用5x3滤波器的 提升的滤波处理被执行到分解级别=2的例子。在图6中,被指示为 图的左侧的分析滤波器的部分是图3中的小波变换单元51的滤波器。 被指示为图的右侧的合成滤波器的部分是后述的小波逆变换单元的滤 波器。
顺便提及,在以下说明中,假设在显示设备等中,屏幕的左上角 的像素作为第l像素,例如随着从屏幕的左端到右端来扫描像素而形 成一行,随着从屏幕的上端到下端进行逐行扫描而形成一屏。
18在图6中,在左端的列中,原图像数据的行上的对应位置上的像 素数据被示为在纵向上排列。即,随着使用垂直滤波器在屏幕上纵向 扫描像素而进行小波变换单元51中的滤波处理。从左端起第l到第3 列表示分割级别=1的滤波处理,第4到第6列表示分割级别=2的滤 波处理。从左端起第2列表示基于左端的原图像数据的像素的高频分 量输出,从左端起第3列表示基于原图像数据和高频分量输出的低频 分量输出。如从左端起第4到第6列所示,在分割级别-2的滤波处 理中,对分割级别=1的滤波处理的输出执行处理。
在分解级别-1的滤波处理中,作为第1阶段的滤波处理,根据 原图像数据的像素来计算高频分量的系数数据,作为第2阶段的滤波 处理,根据在第1阶段的滤波处理中计算的高频分量的系数数据和原 图像数据的像素来计算低频分量的系数数据。分解级别-1的滤波处 理的例子由图6的左侧(分析滤波器侧)的第1到第3列指示。所计 算的高频分量的系数数据被存储到图3的系数重新排列緩冲器单元53 中。而且,所计算的低频分量的系数数据被存储到图3中的中间计算 緩沖器单元52中。
在图6中,系数重新排列緩冲器单元53被示为长短交替的虚线 包围的部分,中间计算緩冲器单元52被示为点线包围的部分。
根据中间计算緩冲器单元52中保持的分解级别-1的滤波处理 的结果,执行分解级别=2的滤波处理。在分解级别=2的滤波处理中, 作为低频分量的系数在分解级别=1的滤波处理中计算的系数数据被 视为既包括低频分量也包括高频分量的系数数据,执行与分解级别=1 的滤波处理同样的滤波处理。通过分解级别=2的滤波处理计算的高 频分量的系数数据和低频分量的系数数据被存储到系数重新排列緩冲 器单元53中。
小波变换单元51在屏幕的水平方向和垂直方向上分别执行上述 的滤波处理。例如,在水平方向上执行分解级别-1的滤波处理,将 生成的高频分量和低频分量的系数数据存储到中间计算緩冲器单元 52中。接着,在垂直方向上对中间计算緩冲器单元52中存储的系数数据执行分解级別-1的滤波处理。通过在水平和垂直方向上的分解
级别-l的处理,形成4个区域,包括分别由通过进一步将高频分量 分解成高频分量和低频分量而得到的系数数据构成的区域HH和区域 HL、以及分别由通过进一步将低频分量分解成高频分量和低频分量而 得到的系数数据构成的区域LH和区域LL。
然后,在分解级别=2下,针对水平方向和垂直方向分别对在分 解级别=1下生成的低频分量的系数数据执行滤波处理。即,在分解 级别=2下,通过在分解级别=1下分割而形成的区域LL被进一步分 割为4个,区域HH、区域HL、区域LH和区域LL净皮进一步形成在 区域LL内。
小波变换单元51通过针对屏幕的纵向将滤波处理分割成用于每 几行的处理,阶段地执行多次利用小波变换的滤波处理。在图6的例 子中,在作为从屏幕上的第l行开始的处理的第l轮处理中,针对7 行来执行滤波处理。从作为从第8行开始的处理的第2轮处理以后, 每4行执行滤波处理。该行数是基于在2分解成高频分量和低频分量 后生成相当于一行的最低频分量所需的行数。
顺便提及,以下将生成相当于一行的最低频分量(与最低频分量 的子带的一行相当的系数数据)所需的、包含其它子带的行的集合称 为分区(或行块)。这里,行表示与小波变换前的图像数据相对应的 图片(帧或场)或者相当于在每个子带中形成的一行的像素数据或系 数数据。即,分区(行块)表示小波变换前的原图像数据中的、生成 相当于小波变换后的最低频分量的子带的一行的系数数据所需的行数 的像素数据组,或者通过对像素数据組执行小波变换而得到的各个子 带中的系数数据组。
根据图6,作为分解级别-2的滤波处理的结果而得到的系数C5 根据系数C4和中间计算緩冲器单元52中存储的系数Ca计算,系数 C4根据中间计算緩沖器单元52中存储的系数Ca、系数Cb和系数Cc 计算。而且,系数Cc根据系数重新排列緩冲器单元53中存储的系数 C2和系数C3以及第5行上的像素数据计算。另外,系数C3根据第5行到第7行上的像素数据计算。这样,为了得到分割级别=2的低频 分量的系数C5,需要第l行到第7行上的像素数据。
相反,从滤波处理的第2轮以后,可以使用已经计算到前一轮滤 波处理并且存储在系数重新排列緩冲器单元53中的系数数据,从而需 要较少的行数即可。
即,根据图6,在作为分解级别=2的滤波处理的结果而得到的 低频分量的系数中,作为系数C5之后的下一系数的系数C9根据系数 C4、系数C8和中间计算緩冲器单元52中存储的系数Cc计算。系数 C4已经通过如上所述的第1轮的滤波处理计算并存储在系数重新排 列緩冲器单元53中。同样,系数Ce已经通过如上所述的第l轮的滤 波处理计算并存储在中间计算緩冲器单元52中。因此,在该第2轮的 滤波处理中,仅新执行用于计算系数C8的滤波处理。该新的滤波处 理通过进一步使用第8行到第11行来执行。
这样,从滤波处理的第2轮以后,可以使用已经计算到前一轮滤 波处理并且存储在中间计算緩冲器单元52和系数重新排列緩冲器单 元53中的数据,从而仅针对每4行执行处理即可。
在屏幕上的行数与要编码的行数不一致的情况下,通过按预定方 法复制原图像数据的行,使行数与要编码的行数一致,从而执行编码。
这样,用于得到相当于最低频分量的一行的系数数据的滤波处理 阶段地多次(以分区为单位)针对整个屏幕的行来执行,从而能够在 传送了编码数据时以低的延迟得到解码图像。
为了执行小波变换,需要用于执行小波变换本身的第l緩冲器和 用于存储在将处理执行到预定的分割级别的过程中生成的系数的第2 緩冲器。第l緩冲器对应于中间计算緩冲器单元52,并且在图6中示 为被点线包围。第2緩冲器对应于系数重新排列緩冲器单元53,并且 在图6中示为被长短交替的虚线包围。由于存储在第2緩冲器中的系 数在解码时使用,因此在后级对其进行熵编码处理。
以下说明图3中的系数重新排列单元54的处理。如上所述,在 小波变换单元51中计算的系数数据被存储到系数重新排列緩冲器单
21元53中,由系数重新排列单元54按顺序重新排列后^皮读出,并以编 码单元为单位发送给熵编码单元55。
如上所述,在小波变换中,从高频分量侧向低频分量側生成系数。 在图6的例子中,在第1轮,从原图像的像素数据开始,通过分解级 别=1的滤波处理依次生成高频分量的系数C1、系数C2和系数C3。 然后,对通过分解级别-1的滤波处理得到的低频分量的系数数据执 行分解级别=2的滤波处理,依次生成低频分量的系数C4和系数C5。 即,在第1轮中,按照系数C1、系数C2、系数C3、系数C4和系数 C5的顺序生成系数数据。按照小波变换的原理,系数数据的生成顺序 必定为该顺序(从高频到低频的顺序)。
相反,在解码侧,为了立即以低的延迟进行解码,需要从低频分 量开始执行图像的生成和输出。即,优选地,将在编码侧生成的系数 数据从最低频分量侧到高频分量侧重新排列,然后提供给解码侧。
以下使用图6中的例子进行更详细的说明。图6的右侧示出执行 小波逆变换的合成滤波器侧。解码侧的包括输出图像数据的第l行的 第1轮合成处理(小波逆变换处理)使用通过编码侧的第1轮滤波处 理生成的最低频分量的系数C4和C5以及系数Cl来执行。
即,在第l轮合成处理中,按照系数C5、系数C4和系数C1的 顺序从编码侧向解码侧提供系数数据。在解码侧,在作为与分解级别 =2对应的合成处理的合成级别-2的处理中,对系数C5和系数C4 执行合成处理,以生成系数Cf并存储到緩冲器中。然后,在作为与分 解级别-1对应的合成处理的合成级别-1的处理中,对系数Cf和系 数C1执行合成处理,并输出第1行。
这样,在第l轮合成处理中,在编码侧按照系数C1、系数C2、 系数C3、系数C4和系数C5的顺序生成并且存储到系数重新排列緩 冲器单元53中的系数数据按照系数C5、系数C4、系数C1…的顺序 重新排列并提供给解码侧。
在图6的右侧示出的合成滤波器侧,针对从编码侧提供的系数, 将编码侧的系数的编号写入括号内,将合成滤波器中的行顺序写到括号外。例如,系数C1 (5)表示在图6的左侧的分析滤波器侧是系数 C5,并且在合成滤波器侧是第l行。
基于通过编码侧的第2轮以后的滤波处理生成的系数数据的、解 码側的合成处理可以使用在前一轮合成处理时合成或者从编码侧提供 的系数数据来执行。在图6的例子中,在使用通过编码侧的第2轮滤 波处理生成的低频分量的系数C8和系数C9执行的、解码侧的第2轮 合成处理中,还需要通过编码侧的第1轮滤波处理生成的系数C2和 系数C3,并且第2行到第5行被解码。
即,在第2轮合成处理中,从编码侧向解码侧按照系数C9、系 数C8、系数C2、系数C3的顺序提供系数数据。在解码侧,在合成 级别-2的处理中,使用系数C8和系数C9以及在第l轮合成处理时 从编码侧提供的系数C4而生成系数Cg并存储到緩冲器中。使用该系 数Cg、上述系数C4和通过第l轮合成处理生成并存储在緩冲器中的 系数Cf来生成系数Ch并存储到存储器中。
然后,在合成级别-1的处理中,使用通过合成级别-2的处理 生成并且存储在緩冲器中的系数Cg和系数Ch以及从编码侧提供的系 数C2 (在合成滤波器中指示为系数C6 (2))和系数C3 (在合成滤 波器中指示为系数C7 (3))进行合成处理,并且第2行到第5行被 解码。
这样,在第2轮合成处理中,在编码侧按照系数C2、系数C3(系 数C4、系数C5)、系数C6、系数C7、系数C8和系数C9的顺序生 成的系数数据按照系数C9、系数C8、系数C2、系数C3.,.的顺序被 重新排列,并提供给解码侧。
同样,从第3轮合成处理以后,存储在系数重新排列緩冲器单元 53中的系数数据按照预定顺序被重新排列并提供给解码侧,并且按照 每4行来对行进行解码。
顺便提及,在与编码侧的包括屏幕下端的行的滤波处理(以下称 为最后一轮)对应的解码侧的合成处理中,通过到此为止的处理生成 并且存储在緩冲器中的所有系数数据被输出,从而输出行数变大。在图6的例子中,在最后一轮输出8行。
例如通过按照预定顺序设定读出存储在系数重新排列緩沖器单 元53中的系数数据的读出地址,来进行系数重新排列单元54的系数 数据重新排列处理。
以下参照图7更具体地说明如上所述的处理。图7示出使用5x3 滤波器将利用小波变换的滤波处理实施到分解级别=2的例子。在小 波变换单元51中,如图7的A中的例子所示,在水平方向和垂直方 向上分別对输入图像数据的第1行到第7行执行第1轮滤波处理(图 7的A中的In-l)。
在分解级别=1的第l轮滤波处理中,生成相当于基于系数C1、 系数C2、系数C3的3行的系数数据,并且如图7的B中的例子所示, 配置于在分解级别=1下形成的区域HH、 HL和LH的每一个中(图 7的B中的WT-1)。
而且,在分解级别=1下形成的区域LL通过在分解级别=2下 在水平和垂直方向上的滤波处理被进一步分割为4个。关于在分解级 别=2下生成的系数C5和系数C4,在分解级别=1的区域LL中,基 于系数C5的一行被配置在区域LL中,基于系数C4的一行被配置在 区域HH、区域HL和区域LH的每一个中。
从小波变换单元51的第2轮滤波处理以后,针对每4行执行滤 波处理(图7的A中的In-2…),在分解级别=1下生成每2行的系 数数据(图7的B中的WT-2 ),在分解级别- 2下生成每1行的系 数数据。
在图6的第2轮的例子中,通过分解级别=1的滤波处理生成相 当于基于系数C6、系数C7的2行的系数数据,并且如图7的B中的 例子所示,配置于在分解级别-1下形成的区域HH、区域HL和区域 LH中的、在第1轮滤波处理中生成的系数数据之后。同样,在分解 级别-1的区域LL中,通过分解级别-2的滤波处理生成的相当于一 行的系数C9被配置在区域LL中,相当于一行的系数C8被配置在区 域HH、区域HL和区域LH的每一个中。
24在对如图7的B所示进行了小波变换后的数据进行解码时,如图 7的C中的例子所示,针对编码侧的基于第1行到第7行的第1轮滤 波处理,输出基于解码侧的第l轮合成处理的第l行(图7的C中的 Out國l)。
接着,对于编码侧的从第2轮到紧接最后一轮之前的一轮的滤波 处理,在解码侧一次输出4行(图7的C中的Out-2…)。然后,针 对编码侧的最后一轮滤波处理,在解码侧输出8行。
在小波变换单元51中从高频分量侧到低频分量侧生成的系数数 据被依次存储到系数重新排列緩冲器单元53中。当系数数据在系数重 新排列緩冲器单元53中累积到能够进行如上所述的系数数据的重新 排列的点时,系数重新排列单元54在按照合成处理所需的顺序对系数 数据进行重新排列后,从系数重新排列緩冲器单元53读出系数数据。 读出的系数数据被依次提供给熵编码单元55。
熵编码单元55依次对所提供的系数数据进行编码,并向编码单 元14的外部输出所生成的编码数据。
如上所述在编码单元14中编码后的图像数据、即编码数据被提 供给图1中的分组生成单元15。
接着,图8是示出在图1的标题生成单元17中生成的标题的结 构例子的图。
在标题生成单元17中,生成序列标题、图片标题和分区标题。 序列标题、图片标题和分区标题形成分级结构。
在序列标题中,作为表示序列标题的存在的标志的Sequence Header Flag (序列标题标志)配置在开头,并且在Sequence Header Flag之后依次配置1位的Coeff_order、 2位的Priority mode、 2位的 DWT filter和2 4立的Filter precision 。
在图片标题中,作为表示图片标题的存在的标志的Picture Header Flag(图片标题标志)配置在开头,并且在Picture Header Flag 之后依次酉己置1位的Interlace/Progressive、 2位的Bit Precision和2 位的Program Choice。在分区标题中,作为表示分区标题的存在的标志的Precinct Header Flag(分区标题标志)配置在开头,并且在Precinct Header Flag 之后配置2位的Bit Precision.
以下参照图9说明序列标题。
序列标题中的CoefiLorder表示系数重新排列的位置。例如,如 果Coeff一order为0,则表示系数的重新排列在编码侧执行,如果 Coeff^order为1,则表示系数的重新排列在解码侧执行。
尽管系数重新排列的处理如上参照图3所述可以在编码单元14 的系数重新排列单元54中执行,但该处理也可以在解码单元36 (例 如后述的图48中的解码单元36的系数重新排列单元65)中执行,而 不在编码单元14中执行。即,系数重新排列的处理是由编码单元14 和解码单元36共有的处理,并且Coeff一order是共有处理识别信息。
由于系数重新排列的处理需要用于执行该处理的电路和用于累 积系数的緩冲器(存储器),因此根据编码单元14或解码单元36是 否能够具备这些硬件来选择是由编码单元14还是由解码单元36执行 系数重新排列处理。例如,在编码单元14被组装到便携电话终端、 PDA (Personal Digital Assistant,个人数字助理)、^f更携游戏i殳备或 小型相机等所谓的便携终端等具有比较低的处理能力(throughput) 的设备中的情况下,不能内置大容量的存储器,因此必然由解码单元 36执行系数重新排列处理。
另一方面,在编码单元14被组装到广播设备、专业人员用的数 字发射机等具有比较高的处理能力并且具有充裕的电源和充裕的硬件 的设备中的情况下,在编码单元14中执行系数重新排列处理。
在例如编码单元14和解码单元36都能够执行系数重新排列处 理、并且在编码单元14中执行系数重新排列处理的情况下,序列标题 中的Coeff_order为0,在解码单元36中可以跳过系数重新排列的处 理。
序列标题中的Priority mode是表示编码器的控制方式的控制识 别信息。例如,如果Priority mode为00,则表示在编码器中执行低延迟控制,如果Priority mode为01,则表示在编码器中执行使处理 能力优先的控制。顺便提及,在Priority mode中,在控制方式,皮扩展 时等情况下使用10或11表示其它控制方式。
例如,在使处理能力优先的控制中,最好应用使得在图3的编码 单元14的小波变换单元51的处理一结束就执行熵编码单元55的处理 的控制。而在低延迟控制中,最好应用使得小波变换单元51的处理与 熵编码单元55的处理以并行方式执行的控制。例如,在编码单元14 中选择了低延迟控制的情况下,向解码单元36通知已经选择了低延迟 控制,在解码单元36中也选择低延迟控制,从而作为整体降低延迟。
序列标题中的DWT filter是表示DWT滤波器的种类选择的滤波 器信息。例如,如果DWT filter为00,则表示利用Irreversible (不 可逆)9x7对图像数据进行滤波,如果DWTfilter为01,则表示利用 Irreversible 5x3对图像数据进行滤波,如果DWT filter为10,则表 示利用Reversible (可逆)5x3对图像数据进行滤波。顺便提及,当 利用其它种类的滤波器、例如独创设计的滤波器来对图像数据进行滤 波时使用DWT filter中的11,表示该滤波器被选择。
例如,对于由JPEG 2000标准采用的5x3滤波器和9x7滤波器, 利用9x7滤波器,计算次数为简单计算的大约2倍,计算所需的存储 器量也变大。这样,在希望减轻硬件负荷的情况下,在编码单元14 和解码单元36中最好选择5x3滤波器。另一方面,由于9x7滤波器 能够进行高性能滤波,因此在需要高图像质量的情况下最好选择9x7 滤波器。
序列标题中的Filter precision是表示DWT滤波的计算精度的滤 波处理精度信息。例如,如果Filter precision为00,则表示以固定小 数点精度实施DWT滤波,如果Filter precision为01,则表示以浮动 小数点精度实施DWT滤波,如果Filter precision为10,则表示以整 数精度实施DWT滤波。
例如,浮动小数点精度的计算对硬件的负荷最大,整数精度的计 算对硬件的负荷最小。因此,通过按照硬件的处理能力适当地确定计算精度,可以有效使用硬件资源。另外,当处理高清晰度图像时,优选浮动小数点精度。可以如参照图42在后面说明的那样选择计算精 度。接着,参照图10说明图片标题。图片标题中的Interlace/Progressive表示图片的结构。例如,如 果Interlace/Progressive为0,则表示该图片为Interlace(隔行)图像, 如果Interlace/Progressive为1, 则表示该图片为Progressive (逐行)图像。这里,例如,用于电视广播的图像信号是隔行的,但用于个人计 算机或电影的图像信号是逐行的。另外,在从解码单元36输出的情况 下也同样,由于液晶电视接收器是逐行的,因此,如果图像信号是隔 行的,则需要将该信号转换成逐行的以输出。在隔行的情况下,编码 处理和解码处理以场为单位执行,而在逐行的情况下,编码处理和解 码处理以帧为单位执行。由于这些差异,通过以图片为单位从编码单 元14向解码单元36通知图片是隔行还是逐行,可以在解码单元36 中执行最佳的处理。图片标题中的Bit Precision表示图片内的计算精度。例如,如果 Bit Precision为00,则表示以8位精度计算图片,如果Bit Precision 为01,则表示以10位精度计算图片,如果Bit Precision为10,则表 示以12位精度计算图片,如果Bit Precision为11,则表示以16位精 度计算图片。例如,在输入图像为8位的情况下,已知在分解成4个的小波变 换之后,小波变换系数被扩展到12位,在输入图像为12位的情况下, 已知在分解成4个的小波变换之后,小波变换系数被扩展到16位。因 此,为了保持精度,需要在保持小波变换系数所需的精度的同时执行 编码处理。即,在编码单元14要求12位精度的情况下,即使在解码 单元36中有足够的资源允许16位精度的计算,也执行12位精度的计 算,从而能够利用少的资源执行解码。图片标题中的Program Choice是表示用于图片的编码和解码的程序种类的选择的程序识别信息。例如,如果Program Choice为00, 则表示选择程序A,如果Program Choice为01,则表示选择程序B, 如果Program Choice为10,则表示选择程序C,如果Program Choice 为11,则表示选择程序D。这里,程序A~D是分别与应用了后述的CPU或存储器的分配 方法的编码方法A D对应的程序。例如,编码单元14可以如参照后 述的图43中的流程图所说明的那样进行选择,解码单元36可以根据 图片标题选择与编码单元14选择的编码方法相对应的解码方法。以下参照图ll说明分区标题。分区标题中的Bit Precision表示分区内的计算精度。例如,如果 Bit Precision为00,则表示以8位精度计算分区,如果Bit Precision 为Ol,则表示以10位精度计算分区,如果Bit Precision为10,则表 示以12位精度计算分区,如果Bit Precision为11,则表示以16位精 度计算分区。通过由分区标题中的Bit Precision通知计算精度,与图片标题中 的Bit Precision同样,可以有效利用解码单元36的资源。顺便提及, 在图片标题中的Bit Precision所表示的计算精度与分区标题中的Bit Precision所表示的计算精度不同的情况下,使分区标题中的Bit Precision所表示的计算精度优先。共有处理识别信息、控制识别信息、滤波器信息、滤波处理精度 信息和程序识别信息由识别信息生成单元21生成并提供给序列标题 生成单元18、图片标题生成单元19、分区标题生成单元20中的每一 个,并且生成序列标题、图片标题和分区标题,即,在序列标题、图 片标题和分区标题的每一个中设定标志。通过在编码设备13侧预先生成这些信息并将它们发送给解码设 备32以在解码设备32中使用,在解码设备32中,可以省略处理选择 的确定(例如后述的图45中的确定程序选择的处理),并且可以减轻 与解码相关的负荷。在程序选择处理中,关于是否存在能够进行解码 的程序功能的确定可以仅通过参照该信息来进行。29在编码设备13中,可以通过对编码处理进行时间分割并按照与 编码相关的数据量(处理负荷》来适应性地提供选择模式,适当地利 用不同的程序来执行编码处理。即,针对一系列图像,编码设备13 可以通过在给定的期间选择程序A来执行编码,通过在下一期间选择 程序D来执行编码,并且通过在更下一期间选择程序C来执行编码。 接着,图12是示出图2中的解码单元36的结构例子的框图。 如图12所示,解码单元36具有熵解码单元61、系数緩冲器单元 62和小波逆变换单元63的功能。熵解码单元61利用与熵编码单元55 (图3)使用的编码方法对 应的解码方法将所提供的编码数据解码,得到系数数据。系数数据被 存储到系数緩冲器单元62中。小波逆变换单元63使用存储在系数緩 沖器单元62中的系数数据,通过合成滤波器执行合成滤波处理(小波 逆变换),并将合成滤波处理的结果再次存储到系数緩冲器单元62 中。在通过按照分解级别重复该处理而得到解码图像数据(输出图像 数据)时,小波逆变换单元63将其输出到外部。以下参照图13 ~图16说明由各个单元执行的处理流程。 图13是说明图3中的编码单元14对图像数据进行编码的处理的 流程图。当开始编码处理时,编码单元14的小波变换单元51在步骤Sl 中将处理对象分区的编号A初始化。通常将编号A设定为"l"。当结 束设定时,在步骤S2中,小波变换单元51取得在最低频子带中生成 从顶部开始第A行中的l行所需的行数(即一个分区)的图像数据。 在步骤S3中,小波变换单元51对图像数据执行用于对在屏幕的垂直 方向上排列的图像数据执行分析滤波的垂直分析滤波处理,在步骤S4 中,执行用于对在屏幕的水平方向上排列的图像数据执行分析滤波处 理的水平分析滤波处理。在步骤S5中,小波变换单元51确定分析滤波处理是否已经执行 到最后级别。如果确定分解级别没有达到最后级别,则处理返回到步 骤S3,针对当前的分解级别重复进行步骤S3和步骤S4中的分析滤波处理。如果在步骤S5中确定分析滤波处理已经执行到最后级别,则处 理前进到步骤S6。在步骤S6中,系数重新排列单元54按照从低频到高频的顺序对 分区A(从图片(帧或场)的顶部开始的第A个分区)中的系数进行 重新排列。熵编码单元55在步骤S7中对系数逐行实施熵编码,并在 步骤S8中送出分区A的编码数据。在步骤S9中,小波变换单元51使编号A的值加"l,,并将下一分 区设定为处理对象,在步骤S10中,针对处理对象图片(帧或场)确 定是否存在还未处理的图像输入行。如果确定存在还未处理的图像输 入行,则处理返回到步骤S2,针对新的处理对象分区重复后续处理。这样,重复执行步骤S2 步骤S10的处理,对各个分区进行编 码。然后,如果在步骤SIO中确定不存在还未处理的图像输入行,则 结束对图片的编码处理。针对下一图片重新开始编码处理。这样,小波变换单元51以分区为单位连续执行垂直分析滤波处 理和水平分析滤波处理直到最后级别。这样,与以往的方法相比,一 次(同时)需要保持(緩冲)的数据量小,从而能够极大地减少需要 准备的緩冲器的存储器容量。另外,由于将分析滤波处理执行到最后 级别,因此还能够进行后级的系数重新排列和熵编码等处理(即,能 够以分区为单位执行系数重新排列或熵编码)。因此,与对整个屏幕 执行小波变换的方法相比,可以极大地减少延迟时间。接着,图14是说明图1中的标题生成单元17生成标题的处理的 流程图。该处理与编码单元14中的编码处理的开始同时开始。在步骤S21 中,分组生成单元15确定是否生成(记载)序列标题。例如,如果作为编码处理中的编码对象的图像是从编码设备13 发送的一系列图像的第1个图像,则分组生成单元15确定生成序列标 题。而如果该图像不是第l个图像,则分组生成单元15确定不生成序 列标题。31如果分组生成单元15在步骤S21中确定生成序列标题,则处理 前进到步骤S22,分组生成单元15向序列标题生成单元18提供指示 生成序列标题的信号。当从分组生成单元15提供了指示生成序列标题 的信号时,序列标题生成单元18从识别信息生成单元21取得图9所 示的信息(参数),以生成序列标题,将序列标题提供给分组生成单 元15,处理前进到步骤S23。另一方面,如果分组生成单元15在步骤S21中确定不生成序列 标题,则处理跳过步骤S22而前进到步骤S23。在步骤S23中,分组生成单元15确定是否生成(记载)图片标题。例如,如果作为编码对象的图像是编码处理开始后的第l个图像, 以及如果编码参数已经从前一编码对象图像改变,则分组生成单元15 确定生成图片标题。另一方面,如果编码参数没有从前一编码对象图 像改变,则分組生成单元15确定不生成图片标题。如果分组生成单元15在步骤S23中确定生成图片标题,则处理 前进到步骤S24,分组生成单元15向图片标题生成单元19提供指示 生成图片标题的信号。当从分组生成单元15提供了指示生成图片标题 的信号时,图片标题生成单元19从识别信息生成单元21取得图10 所示的信息(参数),以生成图片标题,将图片标题提供给分组生成 单元15,处理前进到步骤S25。另一方面,如果分组生成单元15在步骤S23中确定不生成图片 标题,则处理跳过步骤S24而前进到步骤S25。在这种情况下,分组 生成单元15向图像附加与针对前一编码对象图像使用的图片标题相 同的图片标题。在步骤S25中,分組生成单元15确定是否生成(记载)分区标题。例如,如果作为编码对象的分区是编码处理开始后的第l个分区, 以及如果编码参数已经从前一编码对象分区改变,则分組生成单元15 确定生成分区标题。另一方面,如果编码参数没有从前一编码对象分区改变,则分组生成单元15确定不生成分区标题。如果分组生成单元15在步骤S25中确定生成分区标题,则处理 前进到步骤S26,分组生成单元15向分区标题生成单元20提供指示 生成分区标题的信号。当从分组生成单元15提供了指示生成分区标题 的信号时,分区标题生成单元20从识别信息生成单元21取得图11 所示的信息(参数),以生成分区标题,将分区标题提供给分组生成 单元15,处理前进到步骤S27。另一方面,如果分组生成单元15在步骤S25中确定不生成分区 标题,则处理跳过步骤S26而前进到步骤S27。顺便提及,在这种情 况下,分组生成单元15向分区附加与针对前一编码对象分区使用的分 区标题相同的分区标题。在步骤S27中,分组生成单元15确定当前作为編码处理对象的 图像中是否存在未被编码的分区。如果分组生成单元15在步骤S27中确定当前作为编码处理对象 的图像中存在未被编码的分区,则处理返回到步骤S25,此后重复同 样的处理。另一方面,如果分組生成单元15在步骤S27中确定当前作为编 码处理对象的图像中不存在未被编码的分区,即,如果当前作为编码 处理对象的图像中的所有分区都被编码,则处理前进到步骤S28。在步骤S28中,发送单元16发送将在步骤S22中生成的序列标 题、在步骤S24中生成的图片标题和在步骤S26中生成的分区标题附 加到从编码单元14输出的编码数据中的分组。在步骤S28的处理之后,处理前进到步骤S29,分组生成单元15 确定是否从编码设备13发送的一 系列图像都被编码。如果分组生成单元15在步骤S29中确定从编码设备13发送的一 系列图像没有都被编码,即,如果还有要被编码的下一图像,则处理 返回到步骤S23,此后将下一图像作为编码对象重复相同的处理。另一方面,如果分组生成单元15在步骤S29中确定从编码设备 13发送的一系列图像都被编码,则结束处理。接着,图15是说明图12中的解码单元36对图像数据进行解码 的处理的流程图。当开始解码处理时,在步骤S31中,熵解码单元61取得从解码 单元36的外部提供的编码数据,在步骤S32中,逐行地执行编码数据 的熵解码。在步骤S33中,系数緩冲器单元62保持通过解码得到的系 数数据。在步骤S34中,小波逆变换单元63确定是否相当于一个分区 的系数数据已经累积在系数緩冲器单元62中。如果确定没有累积相当 于一个分区的系数数据,则处理返回到步骤S31,执行后续的处理。 即,小波逆变换单元63待机,直到相当于一个分区的系数数据已经累 积在系数緩冲器单元62中。如果在步骤S34中确定相当于一个分区的系数数据已经累积在 系数緩冲器单元62中,则处理前进到步骤S35。在步骤S35中,小波 逆变换单元63读出系数緩冲器单元62中保持的、相当于一个分区的 系数数据,并在步骤S36中,对所读出的系数数据执行用于对在屏幕理,在步骤S37中,执行用于对在屏幕的水平方向上排列的系数数据 执行合成滤波处理的水平合成滤波处理。在步骤S38中,小波逆变换 单元63确定合成滤波处理是否已经执行到级别l(分解级别的值为"l" 的级别),即,逆变换是否已经执行到小波变换之前的状态。如果确 定没有达到级别1,则处理返回到步骤S36,重复进行步骤S36和步 骤S37中的滤波处理。如果在步骤S38中确定小波逆变换处理已经完成到级别1,则处 理前进到步骤S39。在步骤S39中,小波逆变换单元63向外部输出通 过小波逆变换处理得到的图像数据。在步骤S40中,熵解码单元61确定是否结束解码处理。如果确 定不结束解码处理,则处理返回到步骤S31,重复后续处理。如果在 步骤S40中确定由于分区结束等而结束解码处理,则解码处理结束。在以往的小波逆变换方法中,针对作为处理对象的分解级别的所 有系数,首先在屏幕的水平方向上执行水平合成滤波处理,然后在屏幕的垂直方向上执行垂直合成滤波处理。即,在每次合成滤波处理时, 合成滤波处理的结果需要保持在緩冲器中。此时,緩冲器需要保持该 点的分解级别的合成滤波结果和下 一 分解级别的所有系数,从而需要 非常大的存储器容量(要保持的数据量大)。而且,在该情况下,不进行图像数据输出,直到在图片(帧或场) 内完成所有小波逆变换,因此从输入到输出的延迟时间增加。相反,如上所述在解码单元36的小波逆变换单元63的情况下, 以分区为单位将垂直合成滤波处理和水平合成滤波处理连续执行到级 别1。这样,与以往方法相比, 一次(同时)需要緩冲的数据量小, 从而能够极大地减少需要准备的緩冲器的存储器容量。而且,由于将 合成滤波处理(小波逆变换处理)执行到级别1,因此可以在得到图 片内的所有图像数据之前,(以分区为单位)依次输出图像数据,从 而与以往方法相比能够极大地减少延迟时间。接着,图16是说明图2中的标题解读单元38解读标题的处理的 流程图。当开始解码处理时,在步骤S51中,分组解读单元35确定从分 组中提取的标题是否是序列标题。如果分组解读单元35在步骤S51中确定从分组中提取的标题是 序列标题,则处理前进到步骤S52,分组解读单元35将序列标题提供 给序列标题解读单元39。序列标题解读单元39解读从分组解读单元 35提供的序列标题,取得包含在序列标题中的信息(参数),并将该 信息提供给识别信息取得单元42,处理前进到步骤S53。另一方面,如果分组解读单元35在步骤S51中确定从分组中提 取的标题不是序列标题,则处理跳过步骤S52而前进到步骤S53。在步骤S53中,分组解读单元35确定从分组中提取的标题是否 是图片标题。如果分组解读单元35在步骤S53中确定从分组中提取的标题是 图片标题,则处理前进到步骤S54,分组解读单元35将图片标题提供 给图片标题解读单元40。图片标题解读单元40解读从分组解读单元35提供的图片标题,如果包含在图片标题中的信息(参数)已经被更 新,即,如果信息已经从包含在前次取得的图片标题中的信息改变, 则取得该信息并将其提供给识别信息取得单元42,处理前进到步骤 S55。另一方面,如果分组解读单元35在步骤S53中确定从分组中提 取的标题不是图片标题,则处理跳过步骤S54而前进到步骤S55。在步骤S55中,分组解读单元35确定从分组中提取的标题是否 是分区标题。如果分组解读单元35在步骤S55中确定从分组中提取的标题是 分区标题,则处理前进到步骤S56,分组解读单元35将分区标题提供 给分区标题解读单元41。分区标题解读单元41解读从分组解读单元 35提供的分区标题,如果包含在分区标题中的信息(参数)已经被更 新,即,如果信息已经从包含在前次取得的分区标题中的信息改变, 则取得该信息并将其提供给识别信息取得单元42,处理前进到步骤 S57。另一方面,如果分組解读单元35在步骤S55中确定从分组中提 取的标题不是分区标题,则处理跳过步骤S56而前进到步骤S57。在步骤S57中,识别信息取得单元42将在步骤S52中从序列标 题解读单元39提供的信息、在步骤S54中从图片标题解读单元40提 供的信息、或在步骤S56中从分区标题解读单元41提供的信息提供给 解码控制单元43。解码控制单元43以4吏解码单元36按照基于这些信 息的处理方式执行解码处理的方式来控制解码单元36。在步骤S57的处理之后,处理前进到步骤S58,分组解读单元35 确定是否从编码设备13发送的一系列图像都被接收。如果分组解读单元35在步骤S58中确定从编码设备13发送的一 系列图像没有都被接收,则处理返回到步骤S51,此后重复相同的处 理。另一方面,如果分组解读单元35在步骤S58中确定从编码设备 13发送的一系列图像都被接收,则结束处理。如上所述,通过在序列标题、图片标题和分区标题的每一个中设定用于实施编码单元14和解码单元36共有的处理的各种标志,可以 有效使用编码单元14和解码单元36中的资源,例如根据应用最佳地 选择计算精度、小波变换的种类、CPU的分配等。上述的各种处理例如可以如图17所示以并行方式适当地执行。图17是示意性地示出由图3所示的编码单元14和图12所示的 解码单元36中的各个单元执行的处理的各个要素的并行操作的例子 的图。该图17对应于上述的图6。针对图像数据的输入In-l (图17 的A),由小波变换单元51 (图3)实施第1小波变换WT-1 (图17 的B)。如参照图6所说明的那样,该第1小波变换WT-1从第一个 3行被输入的时间点开始,并生成系数C1。即,从图像数据In-l的输 入之后直到小波变换WT-1开始,存在相当于3行的延迟。所生成的系数数据被存储到系数重新排列緩冲器单元53 (图3) 中。此后,对输入的图像数据实施小波变换,当完成了第l轮处理后, 处理直接转换到第2轮小波变换WT-2。以与用于第2轮小波变换WT-2的图像数据In-2的输入和第2 轮小波变换WT-2的处理并行的方式,由系数重新排列单元54(图3) 执行系数Cl、系数C4和系数C5这3个系数的重新排列Ord-l (图 17的C)。顺便提及,从小波变换WT-1完成时到重新排列Ord-l开始时的 延迟是基于设备或系统结构的延迟,例如与用于指示系数重新排列单 元54执行重新排列处理的控制信号的传送有关的延迟、系数重新排列 单元54响应于该控制信号开始处理所需的延迟、或程序处理所需的延 迟,不是编码处理所固有的延迟。系数数据按照重新排列完成的顺序从系数重新排列緩冲器单元 53中读出,被提供给熵编码单元55 (图3),进行熵编码EC-1 (图 17的D)。该熵编码EC-1无需等待系数C1、系数C4和系数C5这 全部3个系数的重新排列完成就可以开始。例如,在基于首先输出的 系数C5的l行的重新排列完成时的时间点,开始针对系数C5的熵编码。在该情况下,从重新排列Ord-l的处理开始时到熵编码EC-1的 处理开始时的延迟相当于l行。已经由熵编码单元55完成了熵编码EC-1的编码数据在进行了预 定的信号处理后被传送到解码单元36 (图12 )(图17的E )。如上所述,针对编码单元14,在第l轮处理的相当于7行的图像 数据输入之后,图像数据被依次输入,直到屏幕上的下端的行。在编 码单元14中,在图像数据的输入In-n (n为2以上)之后,如上所述 每4行执行小波变换WT-n、重新排列Ord-n和熵编码EC-n。在编码 单元14中针对最后一轮处理的重新排列Ord和熵编码EC针对6行 执行。这些处理如图17的A~图17的D所示在编码单元14中以并 行方式执行。单元36。解码单元36的熵解码单元61 (图12)针对所提供的、通过 熵编码EC-1被编码的编码数据,依次执行熵代码的解码iEC-l,从而 重建系数数据(图17的F)。重建的系数数据被依次存储到系数緩冲 器单元62中。 一旦在系数緩冲器单元62中存储了用于执行小波逆变 换的足够量的系数数据,小波逆变换单元63就从系数緩冲器单元62 读出系数数据,并使用所读出的系数数据执行小波逆变换iWT-l (图 17的G)。如参照图6所说明的那样,小波逆变换单元63的小波逆变换 iWT-l可以在系数C4和系数C5被存储到系数緩冲器单元62中时的 时间点开始。因此,从熵解码单元61的解码iEC-l开始时到小波逆变 换单元63的小波逆变换iWT-l开始时的延迟相当于2行。在小波逆变换单元63中,当第一个小波变换的3行的小波逆变 换iWT-l完成时,执行通过小波逆变换iWT-l生成的图像数据的输出 Out-l (图17的H)。在输出Out-l,如上参照图6和图7所说明的 那样,输出第l行的图像数据。在编码单元14中的第1轮处理的相当于3行的编码系数数据的 输入之后,通过熵编码EC-n ( n为2以上)被编码的系数数据依次输入到解码单元36。在解码单元36中,如上所述,针对每4行执行熵 解码iEC-n和小波逆变换iWT-n,依次执行通过小波逆变换iWT-n重 建的图像数据的输出Out-n。与编码单元14中的最后一轮对应的熵解 码iEC和小波逆变换iWT对6行执行,并输出8行作为输出Out。如 图17的F~图17的H所示,在解码单元36中,这些处理以并4亍方 式执行。如上所述,编码单元14和解码单元36中的各个处理按照从屏幕 的上部到下部的顺序以并行方式执行,从而能够以低的延迟执行图像 压缩处理和图像解码处理。参照图17计算在使用5x3滤波器将小波变换执行到分解级别-2 的情况下从图像输入到图像输出的延迟时间。从第l行的图像数据被 输入到编码单元14时到第l行的图像数据从解码单元36输出时的延 迟时间是下面提及的各个要素的总和。顺便提及,这里,传送路径中 的延迟、与设备的各个单元中的实际处理定时相关的延迟等取决于系 统结构而不同的延迟被排除在外。(1) 从第1行输入到7行的小波变换WT-1完成的延迟D—WT(2) 与3^f亍的系数重新排列Ord-l相关的时间D—Ord(3) 与3行的熵编码EC-1相关的时间D_EC(4 )与3行的熵解码iEC-l相关的时间D—iEC (5)与3^f亍的小波逆变换iWT-l相关的时间D—iWT。 参照图17尝试计算由于上述各要素导致的延迟。(l)中的延迟 D_WT是相当于10行的时间。(2)中的时间D—Ord、 (3)中的时 间D—EC、 ( 4 )中的时间D_iEC和(5 )中的时间D—iWT都是相当 于3行的时间。而且,在编码单元14中,熵编码EC-1可以在重新排 列Ord-l开始后的1行后开始。同样,在解码单元36中,小波逆变 换iWT-l可以在熵解码iEC-l开始后的2行后开始。另外,对于熵解 码iEC-l,可以在通过熵编码EC-1完成了 1行的编码时的时间点开始 处理。因此,在该图17的例子中,从第1行的图像数据被输入到编码单元14时到第1行的图像数据从解码单元36输出时的延迟时间相当 于10 +1 + 1 + 2 + 3-17行。以下将利用更具体的例子来讨论延迟时间。在所输入的图像数据 是HDTV ( High Definition Television,高清晰度电视)的隔行视频信 号的情况下,例如一帧由192(H象素xl080行的分辨率构成,并且一场 为1920像素x540行。因此,假设帧频率为30Hz,作为一场的540行 在16.67毫秒(=1秒/60场)的时间输入到编码单元14中。因此,与相当于7行的图像数据的输入相关的时间延迟是0.216 毫秒(=16.67毫秒x7/540 ^f亍),这相对于例如一场的更新时间是极 短的时间。另外,对于上述的(1)中的延迟0_\¥1\ (2)中的时间 D—Ord、 (3)中的时间D_EC、 (4)中的时间D—iEC和(5)中的 时间D—iWT的总和同样,要处理的行数小,从而延迟时间极大缩短。以下说明安装了上述的软件编码器或软件解码器的硬件。图18 是示出个人计算机的结构示例的框图。在图18中,个人计算机100的CPU 101-1、 CPU 101-2、 CPU 101-3 和CPU 101-4都是按照软件程序执行各种处理的处理单元。以下在不 需要4皮此区分时,将CPU 101-1 ~ CPU 101-4称为CPU 101。 CPU 101 经由作为共用总线的总线104与ROM (Read Only Memory,只读存 储器)102和RAM ( Random Access Memory,随机存取存储器)103 互连。软件程序或数据被预先存储在ROM 102中。存储在ROM 102 或存储单元123中的软件程序或数据被装载到RAM 103中。高速緩冲存储器111-1内置于CPU 101-1中,高速緩冲存储器 111-2内置于CPU 101-2中,高速緩冲存储器111-3内置于CPU 101-3 中,高速緩冲存储器111-4内置于CPU 101-4中。在以下说明中,在 不需要彼此区分时,将高速緩冲存储器111-1 ~高速緩冲存储器111-4 称为高速緩沖存储器111。高速緩冲存储器111是例如SRAM (Static Random Access Memory,静态随机存取存储器)等高速操作的存储介质,由内置了 高速緩冲存储器111的CPU101独占性地使用。由于高速緩冲存储器40lll每单位存储容量具有高价格并且内置于CPUlOl中,因此,高速 緩冲存储器111的存储容量的增大也导致CPU 101的电路规模的增大。从而,为了降低成本或抑制电路规模的增大,通常将高速緩冲存储器111的存储容量保持为例如比具有大约几百兆(M)字节到几吉 (G)字节的存储容量并且设置在CPU 101外部的RAM 103小的、 大约几百千(K)字节到几兆(M)字节的容量。当然,任何类型的存储器都可以用作高速緩冲存储器111,可以 将其存储容量设定为任何水平。在这种情况下,假定高速緩冲存储器lll是如下的存储介质被内置有高速緩沖存储器111的CPU 101独 占性地使用,允许数据以高于RAM 103的速度读或写,但其存储容 量小于RAM 103并且对于能够存储的信息量有限制。与高速緩冲存储器lll相反,假定RAM 103由CPU 101-1 ~ CPU 101-4等共有,允许数据以低于高速緩冲存储器111的速度读或写, 并且具有大于高速緩沖存储器111的容量。当然,RAM103的存储容 量实际上也是有限的。但是,以下为了说明的方便,假定RAM 103 的存储容量相对于上述的编码处理或解码处理所需的容量足够大,不 特别考虑容量的限制。即,尽管高速緩冲存储器111允许程序或数据以高速输入和输出, 但由于其容量的限制,有时难以存储软件编码器或软件解码器的所有 软件程序和数据。相反,RAM103可以存储任意的软件程序或数据, 它们的输入和输出以低速执行。CPU IOI将软件程序或数据装载到内置于CPU IOI本身的高速 緩冲存储器111或RAM 103,使用这些程序或软件执行编码或解码中 的各种处理。输入/输出接口 120还连接到总线104。键盘或鼠标等输入单元 121、 CRT ( Cathode Ray Tube,阴极射线管)或LCD ( Liquid Crystal Display,液晶显示器)等显示器或扬声器等输出单元122、由硬盘等 构成的存储单元123以及由调制解调器等构成的通信单元124被连接 到输入/输出接口 120。通信单元124经由包括互联网等的网络执行通信处理。驱动器125还根据需要连接到输入/输出接口 120 ,适当安装磁盘、 光盘、光磁盘或半导体存储器等可装卸介质131,从其中读出的软件 程序根据需要被安装到存储单元123。软件程序还可以经由网络从通 信单元124安装。顺便提及,尽管在图18中说明了在个人计算机100中设置4个 CPU 101,但CPU101的个数是任意的。但是,取决于后述的软件编 码器或软件解码器的安装方法,在某些情况下对于CPU 101的最小个 数有限制。例如,存在需要2个CPU101的情况或需要4个CPU101 的情况。另夕卜,CPU 101-1 ~ CPU 101-4在物理上可以是具有4个核的 一个CPU 101。这种情况下,高速緩冲存储器111-1 ~高速緩冲存储 器111-4可以设置在各个CPU核(CPU 101-1 ~ CPU 101-4)中,或 者被分配给各个CPU核的、由各CPU核共有的单一高速援冲存储器 111的部分区域可以是高速緩沖存储器111-1 ~高速緩沖存储器111-4。在如上构成的个人计算机100中,为了以不会不必要地降低处理 的效率或增加延迟时间的方式实施图3所示的编码单元14或图12中 的解码单元36,需要将CPU 101或RAM 103等个人计算机100的硬 件资源适当分配给编码单元14或解码单元36中的各个处理。以下将 说明这样的分配的例子。图19是示出向图3中的编码单元14分配硬件资源的例子的图。 在图19所示的例子中,将CPU 101-1分配给编码单元14的小波变换 单元51、系数重新排列单元54和熵编码单元55的全部处理,并且中 间计算緩冲器单元52和系数重新排列緩冲器单元53形成在高速緩沖 存储器111-1中。此时,实现小波变换单元51、系数重新排列单元54和熵编码单 元55各自的功能的软件程序被装入高速緩冲存储器111-1中。CPU 101-1根据需要从高速緩沖存储器111-1中读出并执行软件程序的函 数。作为要编码的图像数据的亮度分量的图像数据Y和作为色度分量的图像数据C保持在RAM 103中。尽管实际上存在作为色度分量 的Cb和Cr,这里为了说明的简化,将Cb和Cr集中指示为C。尽管 以下说明由亮度分量Y和色度分量C构成的YC (YCbCr)分量,同 样也适用于由R分量、G分量和B分量构成的RGB分量。在图19的例子的情况下,图像数据Y和图像数据C都在CPU 101-1中编码。即,通过执行小波变换单元51的处理,CPU 101-1从 RAM103读出图像数据Y,并且执行小波变换处理。此时,CPU 101-1 使用高速緩冲存储器111-1的存储区域的一部分作为中间计算緩沖器 单元52,使中间计算緩冲器单元52保持在小波变换处理的垂直方向 和水平方向上的分析滤波处理中生成的中间数据(例如中间分割级别 的低频分量)。并且,CPU 101-1使用高速緩冲存储器111-1的存储 区域的另一部分作为系数重新排列緩冲器单元53,使系数重新排列緩 冲器单元53保持通过小波变换生成的系数数据。通过执行系数重新排列单元54的处理,CPU 101-1在按照预定 的顺序重新排列系数数据的同时,读出高速緩冲存储器111-1的系数 重新排列緩冲器单元53中保持的系数数据。通过执行熵编码单元55 的处理,CPU 101-1对在通过系数重新排列单元54中的处理而按顺序 重新排列的同时从高速緩冲存储器111-1读出的系数数据进行编码, 生成编码数据Y。 CPU 101-1将所生成的编码数据Y提供给RAM 103 以存储在其中。CPU 101-1对图像数据C与图像数据Y的情况同样地执行处理。 在如图19所示编码单元14在个人计算机100中实施的情况下, 编码单元14中的所有处理由一个CPU 101执行,在编码处理的过程 中生成的小波变换的中间数据或系数数据都被存储到CPU 101的高速 緩冲存储器111中。此时,与CPU 101-1同样,例如还可以将其它CPU 101-2 ~ CPU 101-4分配给编码单元14。即,如图19所示的CPU 101-1的情况那样, 实现小波变换单元51、系数重新排列单元54和熵编码单元55的各功 能的软件程序还被装入高速緩沖存储器111-2 ~高速緩冲存储器111-443的每一个中。CPU 101-2 ~CPU 101-4从各个高速緩冲存储器111中读 出并执行这些软件程序,并且执行编码单元14的小波变换单元51、 系数重新排列单元54和熵编码单元55各自的处理。此时,与高速緩 沖存储器111-1同样,中间计算緩沖器单元52和系数重新排列緩冲器 单元53形成在高速緩冲存储器111-2 ~高速緩冲存储器111-4的每一 个巾。即,在该情况下,4个编码单元14由CPU 101-1 ~ CPU 101-4实 现。例如针对要编码的移动图像数据的每个图片将编码处理分配给编 码单元14。即,在该情况下,CPU 101-1 ~ CPU 101-4针对相互不同 的图片以彼此并行的方式执行编码处理。图20中示意性地示出该情况 下的处理流程。在图20中,在图中的纵向上从上到下示出时间序列,由各个CPU 执行的处理用方框表示。在图20的例子中,CPU 101-1首先从RAM 103中读出作为第1 图片的第l分区(Pl)的亮度分量Y的图像数据Y,在使高速緩冲存 储器111-1保持中间数据的同时对图像数据Y执行小波变换 (P1DWT(Y)),并且在使高速緩冲存储器111-1保持所得到的系数 数据之后,针对系数数据执行顺序的重新排列和熵编码(PlVLC(Y))。 通过该熵编码得到的编码数据Y累积在RAM 103中。接着,CPU 101-1 从RAM 103中读出作为第1分区(Pl)的色度分量C的图像数据C, 在使高速緩冲存储器111-1保持中间数据的同时对图像数据C执行小 波变换(P1DWT(C)),并且在使高速緩冲存储器111-1保持所得到 的系数数据之后,针对系数数据执行顺序的重新排列和熵编码 (P1VLC(C))。通过该熵编码得到的编码数据C累积在RAM 103中。在该时间点,相当于至少 一个分区以上的编码数据Y和编码数据 C萍皮累积在RAM 103中,因此开始编码数据Y和编码数据C的输出。这样,在CPU 101-1和高速緩沖存储器111-1中实现的小波变换 单元51 ~熵编码单元55针对图像数据Y和图像数据C执行彼此相同 的处理或保持数据。换言之,CPU 101-1和高速緩冲存储器111-1针对图像数据Y和图像数据C中的任何一个以相同的方式执行与编码有 关的处理或保持数据。当完成了针对第1分区的处理时,CPU 101-1然后从RAM 103 中读出第1图片的第2分区(P2)的图像数据Y,在使高速緩冲存储 器111-1保持中间数据的同时对图像数据Y执行小波变换(P2DWT(Y)),并且在使高速緩冲存储器111-1保持所得到的系数 数据之后,针对系数数据执行顺序的重新排列和熵编码(P2VLC(Y))。 通过该熵编码得到的编码数据Y在累积到RAM 103中之后被输出。 接着,CPU 101-1从RAM 103中读出第2分区(P2 )的图像数据C, 在使高速緩冲存储器111-1保持中间数据的同时针对图像数据C执行 小波变换(P2DWT(C)),并且在使高速緩冲存储器111-1保持所得 到的系数数据之后,针对系数数据执行顺序的重新排列和熵编码(P2VLC(C))。通过该熵编码得到的编码数据C在累积到RAM 103 中之后输出。CPU 101-1以同样的方式针对第1图片的第3分区以后执行处理, 并且针对最后第n个分区(Pn)的图像数据Y和图像数据C分别执 -f亍小波变换以及系数重新排列和熵编码(PnDWT(Y)、 PnVLC(Y)、 PnDWT(C)、 PnVLC(C))。所得到的编码数据Y和编码数据C与前 面的分区同样,在累积在RAM 103中之后输出。当第n个分区的编 码数据C被输出时,第1图片的所有编码数据都被输出,因此对第1 图片结束编码数据的输出。与CPU 101-1的该处理并4亍地,如图20所示,CPU 101-2、 CPU 101-3和CPU 101-4可以分别针对第2图片、第3图片和第4图片, 从第l分区到第n分区与CPU 101的情况同样地执行小波变换处理以 及系数重新排列和熵编码,从图像数据Y和图像数据C生成编码数据 Y和编码数据C,并使这些数据在保持在RAM 103中之后输出。即,在该情况下,与CPU 101-1和高速緩冲存储器111-1同样, CPU 101-2和高速緩沖存储器111-2、 CPU 101-3和高速緩冲存储器 111-3、 CPU 101-4和高速緩冲存储器111-4都针对图像数据Y和图像45数据c执行与编码有关的处理或保持数据。在这种情况下,在针对第1图片的处理完成时,CPU 101-1然后 针对第5图片执行编码处理。与CPU 101-1中的处理并行地,CPU 101-2 ~ CPU 101-4同样地分别针对第6~第8图片执行编码处理。第 9图片以后也同样地处理。如上所述,在图19所示的分配例子的情况下,编码单元14可以 同时并行地执行4个图片的编码处理。而且,在该情况下,在一系列 编码处理中不需要切换CPU。另外,可以不使用RAM 103而仅使用 高速緩冲存储器111来执行处理,从而小波变换单元51或系数重新排 列单元54也能够高速地对中间计算緩冲器单元52或系数重新排列緩 冲器单元53进行数据的读或写。因此,通过这样的硬件资源分配,编 码单元14可以高速地对图像数据进行编码。即,在图19所示的分配 例子的情况下,编码单元14能够以高的处理能力来执行编码。而且, 不管CPU 101的个数如何(例如即使为1个时),个人计算机100都 能实现编码单元14。但是,由于高速緩冲存储器lll具有小的存储容量,因此同时累 积的数据量存在限制,取决于要编码的图像数据的数据量或内容,高 速緩冲存储器111的容量可能不足而导致溢出,因此常常不能将图19 所示的分配例子应用于执行编码所需的緩冲器量大的情况。另夕卜,由于图像数据Y的编码和图像数据C的编码都在一个CPU 101中执行,因此从编码处理开始时到第1分区的编码数据从编码单 元14输出时的时间、即编码处理中的时间延迟长。因此,从编码数据 被解码单元36解码时到重建后的图像数据的图像显示在监视器上时 的延迟时间也变长。同样的原因,第1个图片被显示在监视器上之前 的时间变长。图21是示出向图3中的编码单元14分配硬件资源的另一例子的 图。在图21所示的例子中,与图19的情况同样,将CPU 101-1分配 给编码单元14的小波变换单元51、系数重新排列单元54和熵编码单 元55的全部处理。但是,应注意的是,尽管中间计算緩冲器单元52形成在高速緩冲存储器111-1中,但系数重新排列緩冲器单元53形成 在RAM 103中。
此时,实现小波变换单元51、系数重新排列单元54和熵编码单 元55的各功能的软件程序被装入高速緩沖存储器111-1中。CPU 101-1 根据需要从高速緩冲存储器111-1中读出并执行软件程序的函数。
与图19中的例子的情况相同,在图21中的例子的情况下,图像 数据Y和图像数据C都在CPU 101-1中编码。即,通过执行小波变换 单元51的处理,CPU 101-1从RAM 103读出图像数据Y,并且执行 小波变换处理。此时,CPU 101-1使用高速緩冲存储器111-1的存储 区域的 一 部分作为中间计算緩冲器单元5 2,使中间计算緩冲器单元5 2 保持在小波变换处理的垂直方向和水平方向上的分析滤波处理中生成 的中间数据(例如中间分割级别的低频分量)。
但是应注意,与图19中的例子的情况不同,在图21中的例子的 情况下,CPU 101-1使用RAM 103的存储区域的一部分作为系数重新 排列緩沖器单元53,使系数重新排列緩沖器单元53保持通过小波变 换生成的系数数据。
通过执行系数重新排列单元54的处理,CPU 101-1在按照预定 的顺序重新排列系数数据的同时,读出RAM 103的系数重新排列緩 冲器单元53中保持的系数数据。通过执行熵编码单元55的处理,CPU 101-1对在通过系数重新排列单元54中的处理而按顺序重新排列的同 时从RAM 103读出的系数数据进行编码,生成编码数据Y。 CPU 101-1 将所生成的编码数据Y提供给RAM 103以存储在其中。
CPU 101-1与图像数据Y的情况同样地对图像数据C执行处理。
在如图21所示编码单元14在个人计算机100中实施的情况下, 编码单元14的所有处理由一个CPU 101执行,在编码处理的过程中 生成的小波变换的中间数据被存储到高速操作的、CPU101的高速緩 冲存储器lll中,通过小波变换生成的系数数据被存储到具有大容量 的RAM 103中。
此时,例如与CPU 101-1同才羊,还可以将其它CPU101-2~CPU101-4分配给编码单元14。即,如图21的情况那样,实现小波变换单 元51、系数重新排列单元54和熵编码单元55的各功能的软件程序还 被装入高速緩冲存储器111-2 ~高速緩冲存储器111-4的每一个中。 CPU 101-2~CPU 101-4从各个高速緩冲存储器111中读出并执行这 些软件程序,并且执行编码单元14的小波变换单元51、系数重新排 列单元54和熵编码单元55各自的处理。此时,与高速緩冲存储器111-1 同样,中间计算緩沖器单元52形成在高速緩冲存储器111-2 ~高速緩 冲存储器111-4的每一个中,各个系数重新排列緩冲器单元53形成在 RAM 103中。
即,在该情况下,4个编码单元14由CPU 101-1 ~ CPU 101-4实 现。例如针对要编码的移动图像数据的每个图片将编码处理分配给编 码单元14。即,在该情况下,CPU 101-1 ~ CPU 101-4针对相互不同 的图片以彼此并行的方式执行编码处理。与图19的情况同样,图20 中示意性地示出该情况下的处理流程。
在上述的图21所示的分配例子的情况下,由于系数重新排列緩 冲器单元53形成在RAM 103中,因此与图19中的分配例子的情况 相比,高速緩冲存储器111的更大部分被用作中间计算緩沖器单元52。 即,可以使中间计算緩冲器单元52的容量变大。而且,也可以使系数 重新排列緩沖器单元53的容量变大。即,在图21的例子中的分配的 情况下,与图19所示的分配的情况相比,编码单元14可以抑制緩冲 器溢出的发生,可以在更宽范围的条件下实现。
但是应注意,由于系数重新排列緩冲器单元53形成在允许以低 于高速緩沖存储器111的速度读写的RAM 103中,因此与图19中的 分配例子的情况相比处理能力降低。但是,由于多次执行数据的读或 写的中间计算緩冲器单元52形成在高速操作的高速緩冲存储器111 中,因此处理能力的降低小。
图22是示出向图3中的编码单元14分配硬件资源的另一例子的 图。在图22所示的例子中,与图21中的分配例子相比,将分别不同 的CPU分别分配给执行图像数据Y的编码的编码单元和执行图像数据C的编码的编码单元。即,将CPU 101-1分配给执行图像数据Y 的编码的编码单元的小波变换单元51-1、系数重新排列单元54-1和熵 编码单元55-1的全部处理,中间计算緩冲器单元52-1形成在高速緩 冲存储器111-1中,系数重新排列緩冲器单元53-1形成在RAM 103 中。而且,将CPU 101-2分配给执行图像数据C的编码的编码单元的 小波变换单元51-2、系数重新排列单元54-2和熵编码单元55-2的全 部处理,中间计算緩沖器单元52-2形成在高速緩冲存储器111-2中, 系数重新排列緩冲器单元53-2形成在RAM 103中。
此时,实现小波变换单元51、系数重新排列单元54和熵编码单 元55的各功能的软件程序被装入高速緩冲存储器111-1和高速緩冲存 储器111-2中。CPU 101-1和CPU 101-2根据需要从高速緩冲存储器 111-1或高速緩冲存储器111-2中读出并执行软件程序的函数。
在图22中的例子的情况下,图像数据Y在CPU 101-1中编码, 图像数据C在CPU 101-2中编码。即,与图21中的例子的情况同样, 通过针对图像数据Y执行小波变换单元51-1的处理,CPU 101-1从 RAM 103读出图4象数据Y,并且执行小波变换处理。此时,CPU 101-1 使用高速緩冲存储器111-1的存储区域的一部分作为中间计算緩冲器 单元52-1,使中间计算緩冲器单元52-1保持在小波变换处理的垂直方 向和水平方向上的分析滤波处理中生成的中间数据。
与图21中的例子的情况同样,CPU 101-1使用RAM 103的存储 区域的一部分作为系数重新排列緩沖器单元53-1,使系数重新排列緩 冲器单元53-1保持通过小波变换生成的系数数据。通过执行系数重新 排列单元54-1的处理,CPU 101-1在按照预定的顺序重新排列系数数 据的同时,读出RAM 103的系数重新排列緩冲器单元53-1中保持的 系数数据。通过执行熵编码单元55-1的处理,CPU 101-1对在通过系 数重新排列单元54-1中的处理而按顺序重新排列的同时从RAM 103 读出的系数数据进行编码,生成编码数据Y。 CPU 101-1将所生成的 编码数据Y提供给RAM 103以存储在其中。
但是应注意,与图21中的例子的情况不同,在图22的例子的情
49况下,与CPU 101-1中的处理并行地,CPU 101-2针对图像数据C与 图21中的例子的情况同样地执行小波变换以及系数重新排列和熵编 码。
在如图22所示编码单元14在个人计算机100中实施的情况下, 针对图像数据Y和图像数据C的编码单元14的所有处理由分别不同 的单个CPU 101执行,在它们的编码处理的过程中生成的小波变换的 中间数据被存储到内置于各个CPU 101的高速緩冲存储器111中,通 过各自的小波变换生成的系数数据被存储到RAM 103中。即,以2 个CPU为一组来执行编码处理。
此时,例如与CPU 101-1和CPU 101-2同样,还可以将其它CPU 101-3和CPU 101-4分配给编码单元14。即,如图22的情况那样,实 现小波变换单元51、系数重新排列单元54和熵编码单元55的各功能 的软件程序还被装入高速緩冲存储器111-3和高速緩冲存储器111-4 的每一个中。CPU 101-3和CPU 101-4从各个高速緩冲存储器111中 读出并执行这些软件程序,并且执行编码单元14的小波变换单元51、 系数重新排列单元54和熵编码单元55各自的处理。此时,用于图像 数据Y的中间计算緩冲器单元52-1形成在高速緩冲存储器111-3中, 用于图像数据C的中间计算緩冲器单元52-2形成在高速緩冲存储器 111-4中,用于图像数据Y的系数重新排列緩冲器单元53-l和用于图 像数据C的系数重新排列緩冲器单元53-2都形成在RAM 103中。
即,在该情况下,2个编码单元14由CPU 101-1 ~ CPU 101-4实 现。例如针对要编码的移动图像数据的每个图片将编码处理分配给编 码单元14。例如,CPU 101-1和CPU 101-2构成为执行第奇数个图片 的编码处理,CPU 101-3和CPU 101-4构成为执行第偶数个图片的编 码处理。图23中示出该情况下的处理流程。
在图23的例子中,CPU 101-1从RAM 103中读出第1图片的第 1分区(PI)的图像数据Y,在使高速緩冲存储器111-1保持中间数 据的同时对图像数据Y执行小波变换(P1DWT(Y)),并且在RAM 103 保持所得到的系数数据之后,针对系数数据执行顺序的重新排列和熵
50编码(P1VLC(Y))。通过该熵编码得到的编码数据Y累积在RAM 103 中。与CPU 101-1中的处理并行地,CPU 101-2从RAM 103中读出 第1图片的第l分区(P1)的图像数据C,在使高速緩冲存储器111-2 保持中间数据的同时对图像数据C执行小波变换(P1DWT(C)),并 且在RAM 103中保持所得到的系数数据之后,针对系数数据执行顺 序的重新排列和熵编码(P1VLC(C))。通过该熵编码得到的编码数 据C也累积在RAM 103中。
因此,利用该情况下的编码单元14,在CPU 101-1和CPU 101-2 完成针对第l分区的熵编码的时间点,相当于一个分区以上的编码数 据(编码数据Y和编码数据C )被累积在RAM 103中,从而可以开 始编码数据的输出。
同样,针对第2分区以后,CPU 101-1将图《象数据Y编码,与此 并行地,CPU 101-2将图像数据C编码。当最后第n个分区(Pn)的 图像数据Y和图像数据C被编码并且编码数据Y和编码数据C被输 出时,由于第1图片的所有编码数据都被输出,因此对第l图片结束 编码数据的输出。
与CPU 101-1和CPU 101-2中的处理并行地,如图23所示,CPU 101-3和CPU 101-4可以对第2图片执行与CPU 101-1和CPU 101-2 中的处理同样的编码处理。即,在该情况下,CPU 101-34十对第2图 片的图像数据Y执行编码处理,CPU 101-4针对第2图片的图像数据 C执行编码处理。
在这种情况下,在针对第1图片的处理完成时,CPU 101-1和 CPU 101-2然后针对第3图片执行编码处理。与CPU 101-1和CPU 101-2中的处理并行地,CPU 101-3和CPU 101-4同样地针对第4图 片执行编码处理。第5图片以后也同样地处理。
如上所述,在图22所示的分配例子的情况下,通过并行地对图 像数据Y和图像数据C进行编码,可以使编码数据的输出开始定时、 即第1分区的编码数据Y和编码数据C的输出定时早于图19或图21 中的例子的情况,因此可以减少编码处理中的延迟时间。附带地说,由于同样的原因,在图22所示的分配例子的情况下,第1图片的编码 也可以比图19或图21中的例子的情况更快地完成。
因此,在解码单元36中将在编码单元14中编码的编码数据依次 解码并且将重建后的图像数据的图像显示在监视器上的情况下,从开 始编码时到显示第一个图片时的延迟时间在图22所示的分配例子的 情况下比在图19或图21中的例子的情况下要短。
另外,与图21中的例子的情况同样,中间计算緩冲器单元52形 成在高速緩冲存储器lll中,系数重新排列緩沖器单元53形成在RAM 103中。从而与图19中的例子的情况相比,可以使中间计算緩沖器单 元52和系数重新排列緩冲器单元53的容量更大,可以更多地抑制緩 冲器溢出的发生,并且可以使处理能力的降低更小。
顺便提及,在图22中的例子的情况下,由于对图像数据Y的小 波变换的中间数据和对图像数据C的小波变换的中间数据累积在相互 不同的高速緩冲存储器111中,因此与图21中的例子的情况相比,可 以使中间计算緩冲器单元52的容量更大,并且可以更多地抑制緩冲器 溢出的发生。
但是应当注意,实际上由于图像数据Y与图像数据C相比包含 更大量的信息并且在图形上更为复杂,因此编码处理所需的时间更长。 因此,由于在CPU 101-2中发生待机时间,CPU101的使用效率比图 21的情况降低,处理能力也比图21的情况降低。
图24是示出向图3中的编码单元14分配硬件资源的另一例子的 图。在图24所示的例子中,与图22中的分配例子相比,将分别不同 的CPU 101分别分配给小波变换单元51、系数重新排列单元54和熵 编码单元55。
即,将CPU 101-1分配给执行图像数据Y的小波变换处理的小 波变换单元51-1,将CPU 101-2分配给执行图像数据Y的系数数据的 系数重新排列的系数重新排列单元54-1和执行图像数据Y的系数数据 的熵编码的熵编码单元55-1。中间计算緩沖器单元52-1形成在CPU 101-1的高速緩冲存储器111-1中,系数重新排列緩冲器单元53-1形
52成在RAM 103中。
同样,将CPU 101-3分配给执行图像数据C的小波变换处理的 小波变换单元51-2,将CPU 101-4分配给执行图像数据C的系数数据 的系数重新排列的系数重新排列单元54-2和执行图像数据C的系数数 据的熵编码的熵编码单元55-2。中间计算緩冲器单元52-2形成在CPU 101-3的高速緩冲存储器111-3中,系数重新排列緩冲器单元53-2形 成在RAM 103中。
此时,实现小波变换单元51的功能的软件程序被装入高速緩冲 存储器111-1和高速緩冲存储器111-3中,实现系数重新排列单元54 和熵编码单元55的各功能的软件程序被装入高速緩冲存储器111-2和 高速緩冲存储器111-4中。CPU 101-1 ~ CPU 101-4分别根据需要从各 个高速緩冲存储器111中读出并执行这些软件程序的函数。
在图24中的例子的情况下,图像数据Y在CPU 101-1和CPU 101-2中编码,图像数据C在CPU 101-3和CPU 101-4中编码。即, 针对图像数据Y,通过执行小波变换单元51-1的处理,CPU 101-1从 RAM103读出图像数据Y,并且执行小波变换处理。此时,CPU 101-1 使用高速緩冲存储器111-1的存储区域的一部分作为中间计算緩冲器 单元52,使中间计算緩沖器单元52保持在小波变换处理的垂直方向 和水平方向上的分析滤波处理中生成的中间数据。
与图22中的例子的情况同样,CPU 101-1使用RAM103的存储 区域的一部分作为系数重新排列緩沖器单元53,使系数重新排列緩冲 器单元53保持通过小波变换生成的系数数据。
但是应当注意,与图22中的例子的情况不同,在图24的例子的 情况下,通过执行系数重新排列单元54的处理,CPU 101-2在按照预 定的顺序重新排列系数数据的同时,读出由CPU 101-1生成并且保持 在RAM103的系数重新排列緩冲器单元53中的系数数据。通过执行 熵编码单元55的处理,CPU 101-2对在通过系数重新排列单元54中 的处理而按顺序重新排列的同时从RAM 103读出的系数数据进行编 码,生成编码数据Y。 CPU 101-2将所生成的编码数据Y提供给RAM
53103以存储在其中。
与CPU 101-1和CPU 101-2的该处理并行地,CPU 101-3和CPU 101-4针对图像数据C如图22中的例子的情况所示执行小波变换以及 系数重新排列和熵编码。
在如图24所示编码单元14在个人计算机100中实施的情况下, 以CPU 101-1 ~ CPU 101-4这4个CPU为 一组来执行编码处理。因此, 在这种情况下, 一个编码单元14由CPU 101-1 ~ CPU 101-4来实现。 自然地,编码单元14构成为执行要编码的移动图像数据的所有图片的 编码处理。图25中示出该情况下的处理流程。
由于CPU 101-1~CPU 101-4彼此独立地操作,因此,如图25 中的例子所示,并行地执行各个处理。
在图25的例子中,CPU 101-1从RAM 103中读出第1图片的第 1分区(PI)的图像数据Y,在使高速援沖存储器111-1保持中间数 据的同时对图像数据Y执行小波变换(P1DWT(Y)),并且将所得到 的系数数据存储到RAM 103中。
在将系数数据存储到RAM 103中后,CPU 101-1接着从RAM 103中读出第1图片的第2分区(P2)的图像数据Y,在使高速緩沖 存储器111-1保持中间数据的同时对图像数据Y执行小波变换 (P2DWT(Y)),并且将所得到的系数数据存储到RAM 103中。此时, 与CPU 101-1的P2DWT(Y)的处理并行地,CPU 101-2读出存储在 RAM 103中的第l分区(PI)的系数数据,执行顺序的重新排列和熵 编码(P1VLC(Y))。在将所得到的编码数据Y存储到RAM 103中后, CPU 101-2接着读出存储在RAM 103中的第2分区(P2 )的系数数 据,执行顺序的重新排列和熵编码(P2VLC(Y))。
即,CPU 101-1和CPU 101-2 4吏处理对象相互错开一个分区来并 行地执行小波变换以及系数重新排列和熵编码。同样,针对第3分区 以后,并行地执行小波变换以及系数重新排列和熵编码。
与对该图^f象数据Y的编码处理并行地,CPU 101-3和CPU 101-4 同样地对图像数据C执行处理。即,与CPU 101-1的P1DWT(Y)的处理的执行并行地,CPU 101-3执行P1DWT(C)的处理,并且与CPU 101-1的P2DWT(Y)的处理的执行并行地,CPU 101-3执行P2DWT(C) 的处理,CPU 101-4执行P1VLC(C)的处理。
因此,利用该情况下的编码单元14,在CPU 101-2和CPU 101-4 完成针对第l分区的熵编码的时间点,相当于一个分区以上的编码数 据(编码数据Y和编码数据C)被累积在RAM 103中,从而可以开 始编码数据的输出。
同样,针对第2分区以后,CPU 101-1和CPU 101-2将图像数据 Y编码,与此并行地,CPU 101-3和CPU 101-4将图像数据C编码。 当最后第n个分区(Pn)的图像数据Y和图像数据C被编码并且编 码数据Y和编码数据C被输出时,由于第1图片的所有编码数据都被 输出,因此对第1图片结束编码数据的输出。
第2图片以后也同样地处理。
如上所述,在图24所示的分配例子的情况下,与图22中的例子 的情况同样,可以使编码数据的输出开始定时变早,可以减少延迟时 间。附带地说,如图25所示,在图24所示的分配例子的情况下,编 码单元14可以比图22中的例子的情况更快地执行第1图片的编码。 因此,在解码单元36中将在编码单元14中编码的编码数据依次解码 并且将重建后的图像数据的图像显示在监视器上的情况下,从开始编 码时到显示第一个图片时的延迟时间可以变短。
另外,与图21中的例子的情况同样,中间计算緩冲器单元52形 成在高速緩冲存储器lll中,系数重新排列緩冲器单元53形成在RAM 103中。从而与图19中的例子的情况相比,可以使中间计算緩冲器单 元52和系数重新排列緩冲器单元53的容量更大,可以更多地抑制緩 冲器溢出的发生,并且可以使处理能力的降低更小。
在图24中的例子的情况下,与图22中的例子的情况同样,由于 对图像数据Y的小波变换的中间数据和对图像数据C的小波变换的中 间数据累积在相互不同的高速緩沖存储器111中,因此与图21中的例 子的情况相比,可以使中间计算緩冲器单元52的容量更大,并且可以更多地抑制緩冲器溢出的发生。
但是应当注意,实际上由于图像数据Y与图像数据C相比包含 更大量的信息并且在图形上更为复杂,因此编码处理所需的时间更长。 因此,在CPU 101-3和CPU 101-4中发生待机时间,并且由于CPU 101 在编码处理的过程中切换,因此控制变得复杂并且处理时间也增加。 因此,CPU 101的使用效率比图22的情况降低,处理能力也比图22 的情况降低。
由于小波变换、系数重新排列和熵编码的各处理都由多个函数构 成,因此还可以在上述的小波变换和系数重新排列之间以外的定时改 变要分配的CPU101。但是,除非在能够并行执行的处理的情况下, 否则即使分配了相互不同的CPU 101,也不能缩短处理时间。在图3 所示的编码单元14中,难以使小波变换单元51的处理中包含的详细 处理彼此并行。而且,由于系数重新排列是从系数重新排列緩冲器单 元53中读出系数数据,因此如果相互不同的CPU IOI被分配给该系 数重新排列和熵编码,则在CPU IOI之间还需要进行系数数据的传送, 从而使得处理效率低。因此,在编码单元14中,如上所述,最好在小 波变换与系数重新排列和熵编码之间分开。
在如以往的计算机那样由计算机自动地分配执行处理的CPU的 情况下,该分配按照负荷状况等进行。这样,可能不总是以这种方式 在最佳位置分割处理并分配给相互不同的CPU。取决于情况,编码处 理的效率可能极大降低。通过如图25中的例子所示预先在小波变换与 系数重新排列和熵编码之间分割处理,编码单元14能够以好的效率执 4亍编码处理。
图26是示出向图12中的解码单元36分配硬件资源的例子的图。 在图26所示的例子中,与图19中的编码单元14的例子的情况同样, 将CPU 101-1分配给解码单元36的熵解码单元61和小波逆变换单元 63的全部处理,并且系数緩冲器单元62形成在高速緩冲存储器111-1 中。
此时,实现熵解码单元61和小波逆变换单元63的各功能的软件
56程序被装入高速緩冲存储器111-1中。CPU 101-1根据需要从高速緩
冲存储器111-1中读出并执行软件程序的函数。
要解码的编码数据Y和编码数据C保持在RAM 103中。
在图26的例子的情况下,编码数据Y和编码数据C都在CPU 101-1中解码。即,通过执行熵解码单元61的处理,CPU 101-1从RAM 103读出编码数据Y,并且执行熵解码。CPU 101-1使用高速緩冲存 储器111-1的存储区域的一部分或全部作为系数緩冲器单元62,使系 数緩冲器单元62保持通过熵解码生成的系数数据。
通过执行小波逆变换单元63的处理,CPU 101-1读出高速緩冲 存储器111-1的系数緩冲器单元62中保持的系数数据,执行小波逆变 换处理,重建图像数据Y。 CPU 101-1将所重建的图像数据Y提供给 RAM 103以存储在其中。
CPU 101-1对图像数据C与图像数据Y的情况同样地执行处理。
在如图26所示解码单元36在个人计算机100中实施的情况下, 解码单元36中的所有处理由一个CPU 101执行,通过熵解码处理生 成的系数数据被存储到CPU 101的高速緩冲存储器111中。
此时,与CPU 101-1同样,例如还将其它CPU 101-2 ~ CPU 101-4 分配给解码单元36。即,如图26所示的CPU 101-1的情况那样,实 现熵解码单元61和小波逆变换单元63的各功能的软件程序还被装入 高速緩沖存储器111-2 ~高速緩冲存储器111-4的每一个中。CPU 101-2 ~ CPU 101-4从各个高速緩冲存储器111中读出并执行这些软件 程序,并且执行解码单元36的熵解码单元61和小波逆变换单元63。 此时,与高速緩冲存储器111-1同样,系数緩沖器单元62形成在高速 緩沖存储器111-2 ~高速緩沖存储器111-4的每一个中。
即,在该情况下,4个解码单元36由CPU 101-1 ~ CPU 101-4实 现。例如针对编码数据的编码之前的图像数据的每个图片来分配解码 单元36。即,在该情况下,CPU 101-1 ~ CPU 101-4针对相互不同的 图片彼此并行地执行解码处理。图27中示意性地示出该情况下的处理 流程。如图27所示,执行熵解码单元61的处理的CPU 101-1从RAM 103中读出第1图片的第1分区的编码数据Y,执行熵解码 (P1VLD(Y)),并且将所得到的系数数据存储到高速緩冲存储器111-1 的系数緩冲器单元62中。接着,执行小波逆变换单元63的处理的CPU 101-1从系数緩冲器单元62中读出系数数据,执行小波逆变换 (P1DWT(Y)),并且将所得到的图像数据Y提供给RAM 103以保 持在其中。在完成了针对图像数据Y的处理之后,CPU 101-1然后针 对编码数据C执行同样的处理(P1VLD(C)、 P1DWT(C))。
在该时间点,相当于至少一个分区以上的图像数据Y和图像数据 C被累积在RAM 103中,因此开始图像数据Y和图像数据C的输出。
在完成了针对第l分区的解码处理后,CPU 101-1同样地针对第 2分区以后执行解码处理(P2VLD(Y)、 P2DWT(Y)、 P2VLD(C)、 P2DWT(C)…)。
如图27所示,与CPU 101-1的该处理并行地,还可以由CPU 101-2针对第2图片、CPU 101-3针对第3图片、CPU 101-4针对第4 图片来执行同样的解码处理。在这种情况下,在针对第l图片的处理 完成时,CPU 101-1然后针对第5图片执行解码处理。与CPU 101-1 中的处理并行地,CPU 101-2 ~ CPU 101-4同样地分别针对第6~第8 图片执行解码处理。第9图片以后也同样地处理。
这样,在图26所示的分配的情况下,解码单元36可以同时并行 地执行4个图片的解码处理。而且,在该情况下,在一系列解码处理 中不需要切换CPU。另外,可以不使用RAM 103而仅使用高速緩冲 存储器111来执行处理,从而解码单元36能够高速地对编码数据进行 解码。即,解码单元36能够以高处理能力执行解码处理。
而且,不管CPU 101的个数如何(例如即使为1个时),个人 计算机100都能实现解码单元36。
但是,由于高速緩冲存储器lll具有小的容量,因此能够同时累 积的数据量存在限制,取决于要解码的编码数据的数据量或内容,高 速緩冲存储器111的容量可能不足而导致溢出,因此常常不能将图26
58所示的分配示例应用于执行解码所需的緩冲器量大的情况。
图28示出向图12中的解码单元36分配硬件资源的另一例子。 在图28所示的例子中,将分别不同的CPU 101分别分配给执行编码 数据Y的解码的解码单元和执行编码数据C的解码的解码单元。
即,将CPU 101-1分配给执行编码数据Y的解码的解码单元的 熵解码单元61-1和小波逆变换单元63-1的全部处理,系数緩冲器单 元62-1形成在高速緩沖存储器111-1中。而且,将CPU 101-2分配给 执行编码数据C的解码的解码单元的熵解码单元61-2和小波逆变换单 元63-2的全部处理,系数緩冲器单元62-2形成在高速緩冲存储器 111-2中。
此时,实现熵解码单元61和小波逆变换单元63的各功能的软件 程序被装入高速緩冲存储器111-1和高速緩沖存储器111-2中。CPU 101-1和CPU 101-2根据需要从高速緩冲存储器111-1或高速緩沖存储 器111-2中读出并执行软件程序的函数。
在图28中的例子的情况下,编码数据Y在CPU 101-1中解码, 编码数据C在CPU 101-2中解码。即,通过熵解码单元61-1的处理, CPU 101-1从RAM 103读出编码数据Y,并且执行熵解码。CPU 101-1 使用高速緩冲存储器111-1的存储区域的一部分或全部作为系数緩冲 器单元62-1 ,使系数緩沖器单元62-1保持通过熵解码生成的系数数据。
通过执行小波逆变换单元63-1的处理,CPU 101-1读出高速緩沖 存储器111-1的系数緩冲器单元62-1中保持的系数数据,执行小波逆 变换处理,重建图像数据Y。 CPU 101-1将所重建的图像数据Y提供 给RAM 103以存储在其中。
通过执行熵解码单元61-2的处理,CPU 101-2从RAM 103读出 编码数据C,并且执行熵解码。CPU 101-2使用高速緩冲存储器111-2 的存储区域的一部分或全部作为系数緩冲器单元62-2,使系数緩冲器 单元62-2保持通过熵解码生成的系数数据。
通过执行小波逆变换单元63-2的处理,CPU 101-2读出高速緩冲 存储器111-2的系数緩冲器单元62-2中保持的系数数据,执行小波逆变换处理,重建图像数据C。 CPU 101-2将所重建的图像数据C提供 给RAM 103以存储在其中。
在如图28所示解码单元36在个人计算机100中实施的情况下, 解码单元36中的针对图像数据Y和图像数据C的全部处理由分别不 同的单个CPU 101执行,通过熵解码生成的系数数据被存储到内置于 每个CPU 101中的高速緩冲存储器lll中,通过小波逆变换重建的图 像数据Y和图像数据C都被存储到RAM 103中。即,以2个CPU 为1组执行解码处理。
此时,与CPU 101-1和CPU 101-2同样,例如还将其它CPU 101-3 和CPU 101-4分配给解码单元36。即,如图28中的CPU 101-1和CPU 101-2的情况那样,实现熵解码单元61和小波逆变换单元63的各功 能的软件程序还被装入高速緩冲存储器111-3和高速緩冲存储器111-4 中。CPU 101-3和CPU 101-4从各个高速緩冲存储器111中读出并执 行这些软件程序,并且执行解码单元36的熵解码单元61和小波逆变 换单元63的各处理。此时,用于编码数据Y的系数緩沖器单元62-1 形成在高速緩沖存储器111-3中,用于编码数据C的系数緩冲器单元 62-2形成在高速緩沖存储器111-4中。
即,在该情况下,2个解码单元36由CPU 101-1 ~ CPU 101-4实 现。例如针对编码数据的编码之前的图像数据的每个图片来分配解码 单元36。例如,CPU 101-1和CPU 101-2构成为执行第奇数个图片的 解码处理,CPU 101-3和CPU 101-4构成为执行第偶数个图片的解码 处理。图29中示出该情况下的处理流程。
在该情况下,如图29所示,执行熵解码单元61-1的处理的CPU 101-1从RAM 103中读出第1图片的第l分区的编码数据Y,执行熵 解码(P1VLD(Y)),并且将所得到的系数数据存储到高速緩冲存储 器111-1的系数緩冲器单元62-1中。接着,执行小波逆变换单元63-l 的处理的CPU 101-1从系数緩冲器单元62-1中读出系数数据,执行小 波逆变换(P1DWT(Y)),并且将所得到的图像数据Y提供给RAM 103 以保持在其中。
60与该处理并行地,执行熵解码单元61-2的处理的CPU 101-2从 RAM 103中读出第1图片的第1分区的编码数据C,执行熵解码 (P1VLD(C)),并且将所得到的系数数据存储到高速緩冲存储器111-2 的系数緩冲器单元62-2中。接着,执行小波逆变换单元63-2的处理 的CPU 101-2从系数緩冲器单元62-2中读出系数数据,执行小波逆变 换(P1DWT(C)),并且将所得到的图像数据C提供给RAM 103以 保持在其中。
因此,利用该情况下的解码单元36,在CPU 101-1和CPU 101-2 完成针对第1分区的小波逆变换的时间点,相当于一个分区以上的图 像数据(图像数据Y和图像数据C )被累积在RAM 103中,从而可 以开始图像数据的输出。
同样,针对第2分区以后,分别由CPU 101-1和CPU 101-2彼此 并行地将编码数据Y和编码数据C解码。
与CPU 101-1和CPU 101-2的该处理并4亍地,还可以由CPU 101-3和CPU 101-4针对第2图片来执行与CPU 101-1和CPU 101-2 中的处理同样的解码处理。在该情况下,CPU 101-3针对第2图片的 编码数据Y执行解码,CPU 101-4针对第2图片的编码数据C执行解 码。
在这种情况下,在针对第1图片的处理完成时,CPU 101-1和 CPU 101-2然后针对第3图片执行解码处理。与CPU 101-1和CPU 101-2中的处理并行地,CPU 101-3和CPU 101-4同样地针对第4图 片执行解码处理。第5图片以后也同样地处理。
因此,在图28所示的分配例子的情况下,通过并行地对编码数 据Y和编码数据C进行解码,可以使重建后的图像数据的输出定时、 即第l分区的图像数据Y和图像数据C的输出定时早于图26中的例 子的情况,因此可以减少解码处理中的延迟时间。
附带地说,由于同样的原因,在图28所示的分配例子的情况下, 第1图片的解码也可以比图26中的例子的情况更快地完成。因此,在 监视器上显示在解码单元36中重建的图像数据的图像的情况下,从开
61始解码时到显示第一个图片时的延迟时间在图28所示的分配例子的 情况下比在图26中的例子的情况下要短。
另外,由于通过对编码数据Y进行解码得到的系数数据和通过对 编码数据C进行解码得到的系数数据累积在相互不同的高速緩冲存储 器111中,因此与图26中的例子的情况相比,可以使系数緩沖器单元 62的容量更大,并且可以更多地抑制緩沖器溢出的发生。
顺便提及,由于图像数据Y与图像数据C相比包含更大量的信 息并且在图形上更为复杂,因此解码处理所需的时间更长。因此,由 于在CPU 101-3或CPU 101-4中发生待机时间,因此CPU 101的使用 效率比图26的情况降低,处理能力也比图26的情况降低。
图30示出图12中的解码单元36的分配的另一例子。在图30所 示的例子中,与图28中的分配例子相比,将分别不同的CPU 101分 别分配给熵解码单元61和小波逆变换单元63。
即,将CPU 101-1分配给对编码数据Y进行解码的熵解码单元 61-1,将CPU 101-2分配给对在熵解码单元61-1中生成的系数数据执 行小波逆变换处理的小波逆变换单元63-1。系数緩冲器单元62-1形成 在高速緩沖存储器111-2中。
同样,将CPU 101-3分配给对编码数据C进行解码的熵解码单 元61-2,将CPU 101-4分配给对在熵解码单元61-2中生成的系数数据 执行小波逆变换处理的小波逆变换单元63-2。系数緩冲器单元62-2形 成在高速緩冲存储器111-4中。
此时,实现熵解码单元61的功能的软件程序被装入高速緩冲存 储器111-1和高速緩冲存储器111-3中,实现小波逆变换单元63的各 功能的软件程序被装入高速緩冲存储器lll-2和高速緩冲存储器111-4 中。CPU 101-1 ~ CPU 101-4分别根据需要从各个高速緩冲存储器111 中读出并执行这些软件程序的函数。
在图30中的例子的情况下,编码数据Y在CPU 101-1和CPU 101-2中解码,编码数据C在CPU 101-3和CPU 101-4中解码。即, 通过执行熵解码单元61-1的处理,针对编码数据Y, CPU 101-1从
62RAM 103读出编码数据Y,并且执行熵解码处理。此时,CPU 101-1 使用高速緩冲存储器111-2的存储区域的一部分或全部作为系数緩冲 器单元62,使系数緩沖器单元62保持所生成的系数数据。
通过执^f亍小波逆变换单元63-1的处理,CPU 101-2读出由CPU 101-1生成并保持在RAM 103的系数緩冲器单元62中的系数数据, 作为小波变换处理而在垂直方向和水平方向上分级地执行合成滤波处 理,生成图像数据Y。 CPU 101-2将所生成的图像数据Y提供给RAM 103以存储在其中。
与CPU 101-1和CPU 101-2的该处理并行地,CPU 101-3和CPU 101-4如图30中的例子的情况那样,针对图像数据C执行熵解码处理 和小波逆变换处理。
在如图30所示解码单元36在个人计算机100中实施的情况下, 以CPU 101-1 ~ CPU 101-4这4个CPU为一组来执4亍解码处理。因此, 在这种情况下, 一个解码单元36由CPU 101-1 ~ CPU 101-4来实现。 自然地,解码单元36构成为执行要解码并重建的移动图像数据的所有 图片的解码处理。图31中示出该情况下的处理流程。
由于CPU 101-1 ~CPU 101-4彼此独立地操作,因此,如图31 中的例子所示,可以并行地执行各个处理。
在该情况下,如图31所示,执行熵解码单元61-1的处理的CPU 101-1从RAM 103中读出第1图片的第1分区的编码数据Y,执行熵 解码(P1VLD(Y)),并且将所得到的系数数据存储到高速緩冲存储 器111-2的系数緩冲器单元62-1中。执行熵解码单元61-1的处理的 CPU 101-1针对第2分区的编码数据Y同样地执行熵解码 (P2VLD(Y))。
与P2VLD(Y)并行地,执行小波逆变换单元63-1的处理的CPU 101-2从系数緩冲器单元62-1中读出第1图片的第l分区的系数数据, 执行小波逆变换(P1DWT(Y)),并且使所得到的图像数据Y在保持 在RAM 103中后输出。执行小波逆变换单元63-1的处理的CPU 101-2 同样地针对第2分区的系数数据执行小波逆变换(P2DWT(Y))。即,同样地针对第3分区以后,CPU 101-1和CPU 101-2将处理 对象彼此错开一个分区来并行地执行熵解码和小波逆变换。
与该针对图^象数据Y的编码处理并行地,CPU 101-3和CPU 101-4同样地针对图像数据C执行处理。即,与CPU 101-1的PIDWT(Y) 的处理的执行并行地,CPU 101-3执行P1DWT(C)的处理,并且,与 CPU 101-1的P2DWT(Y)的处理的执行并行地,CPU 101-3执行 P2DWT(C)的处理,CPU 101-4执行PIVLC(C)的处理。
因此,利用该情况下的解码单元36,在CPU 101-2和CPU 101-4 完成针对第1分区的小波逆变换的时间点,相当于一个分区以上的图 像数据(图像数据Y和图像数据C )被累积在RAM 103中,从而可 以开始图像数据的输出。
同样,针对第2分区以后,由CPU 101-1和CPU 101-2对编码数 据Y进行解码,与此并行地,由CPU 101-3和CPU 101-4对编码数据 C进行解码。当最后第n个分区(Pn)的编码数据Y和编码数据C 被解码并且图像数据Y和图像数据C被输出时,由于第1图片的所有 图像数据都被输出,因此对第1图片结束图像数据的输出。
第2图片以后也同样地处理。
如上所述,在图30所示的分配例子的情况下,通过并行地执行 熵解码处理和小波逆变换处理,可以使重建后的图像数据的输出开始 定时、即第1分区的图像数据Y和图像数据C的输出定时早于图28 中的例子的情况,因此可以减少解码处理中的延迟时间。附带地说, 由于同样的原因,在图30所示的分配例子的情况下,第1图片的解码 可以比图28中的例子的情况更快地完成。
因此,在监视器上显示在解码单元36中重建的图像数据的图像 的情况下,从开始解码处理时到显示第一个图片时的延迟时间在图30 所示的分配例子的情况下比在图28中的例子的情况下要短。
另外,与图28中的例子的情况同样,由于通过对编码数据Y进
累积在相互不同的高速緩冲存储器111中,因此与图26中的例子的情
64况相比,可以使系数援冲器单元62的容量更大,并且可以更多地抑制 緩冲器溢出的发生。
但是应当注意的是,实际上,由于图像数据Y与图像数据C相 比包含更大量的信息并且在图形上更为复杂,因此解码处理所需的时 间更长。因此,在CPU 101-3和CPU 101-4中发生待机时间,并且由 于CPU101在解码处理的过程中切换,因此控制变得复杂并且处理时 间也增加。因此,CPU101的使用效率比图28的情况降低,处理能力 也比图28的情况降低。
由于熵解码和小波逆变换的各处理都由多个函数构成,因此还可 以在上述的熵解码和小波逆变换之间以外的定时改变要分配的CPU 101。但是,除非在能够并行执行的处理的情况下,否则即使分配了相 互不同的CPU 101,也不能缩短处理时间。在图12所示的解码单元 36中,难以使熵解码处理或小波逆变换中包含的详细处理彼此并行。 因此,在解码单元36中,如上所述,最好在熵解码与小波逆变换之间 分开。
在如以往的计算机那样由计算机自动地分配执行处理的CPU的 情况下,该分配按照负荷状况等进行。这样,可能不总是以这种方式 在最佳位置分割处理并分配给相互不同的CPU。取决于情况,解码处 理的效率可能极大降低。通过如图30中的例子所示预先在熵解码与小 波逆变换之间分割处理,解码单元36能够以好的效率执行解码处理。
这样,尽管在图3中说明了系数的重新排列紧接在小波变换之后 (熵编码之前)执行,但只要编码数据按照从低频到高频的顺序被提 供给解码单元36 (图12)的小波逆变换单元63即可(即,只要编码 数据按照从通过对属于低频子带的系数数据进行编码得到的编码数 据、到通过对属于高频子带的系数数据进行编码得到的编码数据的顺 序提供即可),并且重新排列的定时可以是紧接在小波变换之后以外 的定时。
例如,如图32所示,可以重新排列通过熵编码得到的编码数据 的顺序。与图3的情况同样,图32的情况下的编码单元14具有小波变换单元51、中间计算緩冲器单元52和熵编码单元55,但是,代替 图3中的系数重新排列緩冲器单元53和系数重新排列单元54,具有 代码重新排列緩冲器单元213和代码重新排列单元214。
从小波变换单元51输出的系数数据被提供给熵编码单元55。熵 编码单元55按照提供的顺序对所提供的系数数据进行编码,使代码重 新排列緩冲器单元213保持通过编码得到的编码数据。即,编码数据 按照从高频到低频的顺序提供给代码重新排列緩沖器单元213。代码 重新排列单元214通过按照执行小波逆变换处理的顺序、即按照从低 频到高频的顺序读出代码重新排列緩冲器单元213中保持的编码数 据,对编码数据进行重新排列,并使编码数据在保持在RAM 103中 后按照该顺序输出。
在图32中还示出向这样的编码单元14分配硬件资源的例子。在 图32的例子的情况下,以编码处理的所有各个处理都在一个CPU101 中执行的方式来进行分配。即,在重新排列编码数据的顺序的情况下, 可以与参照图19说明的重新排列系数数据的情况同样地分配硬件资 源。同样,硬件资源也可以如图21、图22或图24的例子所示进行分 配。图33中示出如图24的例子所示分配硬件资源的方式。
如图33所示,在该情况下,将CPU 101-1分配给执行图像数据 Y的小波变换处理的小波变换单元51-1,将CPU 101-2分配给执行图 像数据Y的系数数据的熵编码的熵编码单元55-1和执行编码数据Y 的重新排列的代码重新排列单元214-1。中间计算緩冲器单元52-1形 成在CPU 101-1的高速緩冲存储器111-1中,代码重新排列緩冲器单 元213-1形成在RAM 103中。
同样,将CPU 101-3分配给执行图像数据C的小波变换处理的 小波变换单元51-2,将CPU 101-4分配给执行图像数据C的系数数据 的熵编码的熵编码单元55-2和执行编码数据C的重新排列的代码重新 排列单元214-2。中间计算緩冲器单元52-2形成在CPU 101-3的高速 緩冲存储器111-3中,代码重新排列緩冲器单元213-2形成在RAM 103 中。
66这样,在重新排列编码数据的顺序的情况下,与重新排列系数数
据的情况同样,通过适当地执行硬件资源的分配,编码单元14能够以 好的效率执行编码处理。顺带提及,在重新排列编码数据的顺序的情 况下同样,当如图33所示要将多个CPU 101分配给小波变换单元 51-1、熵编码单元55-1和代码重新排列单元214-1 (或者小波变换单 元51-2、熵编码单元55-2和代码重新排列单元214-2)时,预先确定 CPU 101的切换位置,从而能够抑制硬件资源的不适当分配。
硬件资源的分配方法可以是上述方法以外的方法。例如,在图33 的例子中,代码重新排列緩冲器单元213-1可以形成在高速緩冲存储 器111-2中,代码重新排列緩冲器单元213-2可以形成在高速緩冲存 储器111-4中,CPU 101-1可以分配给熵编码单元55-1, CPU 101-3 可以分配给熵编码单元55-2,或者相互不同的CPU 101可以分配给小 波变换单元51-1、熵编码单元55-1和代码重新排列单元214-1,相互 不同的CPU 101可以分配给小波变换单元51-2、熵编码单元55-2和 代码重新排列单元214-2。
在这种情况下,解码单元36的结构和硬件资源的分配方法与以 上参照图26 ~图31所说明的情况相同。
重新排列可以在解码单元36侧执行。在这种情况下,如图34所 示,编码单元14具有小波变换单元51、中间计算緩冲器单元52和熵 编码单元55,不具有图3所示的系数重新排列緩冲器单元53和系数 重新排列单元54。
当然,此时编码单元14中的对CPU 101的分配可以与参照图 20 ~图25所述的重新排列系数数据的情况同样地执行。即,在该情况 下同样,通过适当地执行硬件资源的分配,编码单元14能够以好的效 率执行编码处理。作为一例,图34中示出与图24中的例子对应的例 子。
图35示出此时对应于编码单元14的解码单元36的结构。即, 解码单元36在系数緩冲器单元62和小波逆变换单元63之间具有用于 重新排列系数数据的顺序的系数重新排列緩冲器单元223。在此时的解码单元36中,对CPU 101的分配可以与参照图26~图31所述的例 子同样地执行。即,在该情况下同样,通过适当地执行硬件资源的分 配,解码单元36能够以好的效率执行解码处理。作为一例,图35中 示出与图30中的例子对应的例子。
在图35中的例子的情况下,保持从系数緩冲器单元62-l输出的 亮度分量Y的系数数据的系数重新排列緩冲器单元223-1和保持从系 数緩冲器单元62-2输出的色度分量C的系数数据的系数重新排列緩沖 器单元223-2形成在ROM 103中。
执行小波逆变换单元63-1的处理的CPU 101-2按照重新排列的 顺序、即按照从高频到低频的顺序,从ROM 103的系数重新排列緩 冲器单元223-1中读出亮度分量Y的系数数据,并按照该顺序对系数 数据执行小波逆变换处理。CPU 101-2使所生成的图像数据Y在保持 到RAM 103中后输出。
同样,执行小波逆变换单元63-2的处理的CPU 101-4按照重新 排列的顺序、即按照从低频到高频的顺序,从ROM 103的系数重新 排列緩冲器单元223-2中读出色度分量C的系数数据,并按照该顺序 对系数数据执行小波逆变换处理。CPU 101-4使所生成的图像数据C 在保持到RAM 103中后输出。
通过如上所述适当地向CPU 101分配编码单元14和解码单元36 中的各个处理,可以提高编码单元14和解码单元36的处理效率,并 且提高处理能力或降低延迟时间。
存在编码单元14或解码单元36要求的特性取决于图像而不同的 情况。为了还适当地适应这种情况,可以预先准备上述的多个分配模 式,根据条件适当选择分配模式。以下将说明该情况。首先说明安装 了软件编码器或软件解码器的硬件。图36是示出安装了软件编码器或 软件解码器的信息处理系统的结构例子的框图。
如图36所示,信息处理系统300是由信息处理设备301、经由 PCI总线302与信息处理设备301连接的存储设备303、作为多个视 频磁带记录器(VTR)的VTR 304-1 ~VTR 304-S、用于用户对它们
68执行操作输入的鼠标305、键盘306和操作控制器307构成的系统, 并且是通过所安装的程序来执行上述的图像编码处理、图像解码处理 等的系统。
例如,信息处理系统300的信息处理设备301能够使存储设备303 存储通过对存储在由RAID( Redundant Arrays of Independent Disks, 独立磁盘冗余阵列)构成的大容量的存储设备303中的移动图像内容 进行编码而得到的编码数据,能够使存储设备303存储通过对存储在 存储设备303中的编码数据进行解码得到的解码图像数据(移动图像 内容),或者使编码数据或解码图像数据经由VTR304-1 ~ VTR304-S 记录到视频磁带上。另外,信息处理设备301还构成为能够将记录在 安装在VTR 304-1 ~ VTR 304-S上的视频磁带上的移动图像内容捕获 到存储设备303上。此时,信息处理设备301可以对移动图像内容进 行编码。
信息处理设备301具有孩i处理器401、 GPU( Graphics Processing Unit,图形处理单元)402、 XDR (Extreme Data Rate,极速数据率) -RAM 403、南桥(southbridge) 404、 HDD ( Hard Disk Drive,硬盘 驱动器)405、 USB接口 (USB 1/F)406和声音输入/输出编解码器407。
GPU 402经由专用总线411连接到微处理器401。XDR-RAM 403 经由专用总线412连接到微处理器401。南桥404经由专用总线连接 到微处理器401的1/0控制器444。 HDD 405、 USB接口 406和声音 输入/输出编解码器407也连接到南桥404。扬声器421连接到声音输 入/输出编解码器407。而且,显示器422连接到GPU 402。
另外,鼠标305、键盘306、 VTR 304-1 ~VTR304-S、存储设备 303和操作控制器307还经由PCT总线302连接到南桥404。
鼠标305和键盘306接收用户的操作输入,经由PCI总线302 和南桥404将指示用户的操作输入的内容的信号提供给微处理器401。 存储设备303和VTR 304-1 ~ VTR 304-S构成为能够记录或重放预定 的数据。
驱动器308还根据需要连接到PCI总线302,适当地安装磁盘、
69光盘、光磁盘或半导体存储器等可装卸介质311,并且根据需要将从 其中读出的软件程序装入HDD 405。
微处理器401是将以下部件集成到 一个芯片中并实现例如4[GHz] 的操作频率的多核结构执行OS (Operating System,操作系统)等 基本程序的通用的主CPU核441;子CPU核442-1 ~子CPU核442-8, 是经由共用总线445连接到主CPU核441的多个RISC (Reduced Instruction Set Computer,精简指令集计算机)的(这种情况下为8 个)信号处理处理器;存储器控制器443,针对具有例如256[M字节
的容量的XDR-RAM 403执行存储器控制;以及I/O (输入/输出)控 制器444,管理对南桥404的数据输入和输出。
在起动时,根据存储在HDD 405中的控制程序,微处理器401 读出存储在HDD 405中的必要的应用程序并将该应用程序展开到 XDR-RAM 403,然后根据该应用程序和操作者的操作执行必要的控 制处理。
并且,通过执行软件,微处理器401例如能够实现上述的编码处 理或解码处理,使作为编码结果得到的编码流经由南桥404提供给 HDD 405以存储在其中,或者将作为解码结果得到的移动图像内容的 重放视频向GPU402进行数据传送,以显示在显示器422上。
尽管使用微处理器401内的各个CPU核的方法是任意的,但例 如主CPU核441可以执行与图像编码处理或图像解码处理的控制有关 的处理,8个子CPU核442-1 ~子CPU核442-8可以构成为例如以参 照图17说明的同时、并行的方式执行小波变换、系数重新排列、熵编 码、熵解码、小波逆变换、量化和反量化等各处理。此时,如果主CPU 核441构成为以分区为单位向8个子CPU核442-1 ~子CPU核442-8 中的每一个分配处理,则编码处理或解码处理与参照图17说明的情况 同样,以分区为单位以同时、并行的方式执行。即,可以提高编码处 理或解码处理的效率,缩短处理整体的延迟时间,并且降低负荷、处 理时间和处理所需的存储器容量。当然,各处理也可以用这以外的方 法来执行。GPU 402构成为除了与使要在显示器422上显示的移动图像内容 的重放视频移动时的紋理的粘贴等有关的最终绘制处理之外,还管理 执行在显示器422上一次显示多个移动图像内容的重放图像和静止图 像内容的静止图像时的坐标变换计算处理、以及针对移动图像内容的 重放图像和静止图像内容的静止图像的放大/缩小处理等的功能,从而 减轻对微处理器401的处理负荷。
在微处理器401的控制下,GPU 402对所提供的移动图像内容的 视频数据或静止图像内容的图像数据实施预定的信号处理,向显示器 422发送出作为结果得到的视频数据或图像数据,并且在显示器422 上显示图像信号。
这样,由樣t处理器401的8个子CPU核442-1 ~子CPU核442-8 以同时、并行的方式解码的多个移动图像内容的重放视频经由总线 411向GPU 402进行数据传送。此时的传送速度例如是最大30[G字 节/秒,从而即使具有特殊效果的复杂重放图像也能够高速、平滑地 显示。
另外,微处理器401还能够对移动图像内容的视频数据和音频数 据中的音频数据实施音频混合处理,并将作为结果得到的编辑音频数 据经由南桥404和声音输入/输出编解码器407发送给扬声器421,从 而能够从扬声器421输出基于音频信号的音频。
如图37所示,作为高速緩冲存储器的LS (Local Store,局部存 储器)451-1 ~ LS 451-8分别内置于上述的信息处理系统300的微处理 器401的8个子CPU核442-1 ~子CPU核442-8中。即,8个子CPU 核442-1 ~子CPU核442-8可以使用它们内置的LS 451-1 ~ LS 451-8 和XDR-RAM 403的存储区域。
与图18中的个人计算机100的高速緩冲存储器111的情况同样, LS 451-1 ~ LS 451-8可以由子CPU核442-1 ~子CPU核442-8分别独 占性地使用,可以不经由共用总线445来执行数据的读或写,并且可 以比XDR-RAM 403更高速地操作。因此,LS 451-1 ~ LS 451-8能够 比XDR-RAM 403更高速地进行数据的读或写。但应注意,与
71XDR-RAM 403相比,LS 451-1 ~ LS 451-8的每容量的单价高并且其 容量小。
尽管实际上XDR-RAM 403的容量也是有限的,但以下假定 XDR-RAM 403的容量足够大,相反,LS 451-1 ~ LS 451-8具有小容 量并且仅能够保持最小必需的数据。
在以下说明中,在不需要彼此区分时,将子CPU核442-1 ~子 CPU核442-8称为子CPU核442。并且,在不需要彼此区分时,将 LS 451-1 ~ LS 451-8称为LS 451。
对于子CPU核442-1 ~子CPU核442-8,由主CPU核441从预 先准备的上述多个分配方法中选择最佳的一个,并且按照该分配方法 分配编码单元14和解码单元36中的各处理。
图38中示出主CPU核441所具有的功能块。
如图38所示,主CPU核441具有OS 501,是执行信息处理系 统300整体的控制并使硬件执行软件程序的处理的基本软件;编码选 择控制单元502,在安装了编码单元14时执行分配方法的选择;解码 选择控制单元503,在安装了解码单元36时执行分配方法的选择;以 及高速緩冲存储器504,是主CPU核441的本地高速緩沖存储器。
OS 501管理信息处理系统300的硬件资源,根据来自编码选择 控制单元502或解码选择控制单元503的请求,提供作为与硬件资源 有关的信息的资源信息,或者向处理分配硬件资源。
例如,OS501从HDD 405读出编码程序或解码程序,并将其分 配给LS 451或XDR-RAM 403,或者使子CPU核442执行处理。另 外,例如OS 501确保XDR-RAM 403所需的容量的区域。
编码选择控制单元502具有大小信息取得单元511、资源信息取 得单元512、计算精度选择单元513、中间计算緩冲器使用量计算单元 514、系数重新排列緩冲器使用量计算单元515、编码方式选择单元516 和分配单元517。
大小信息取得单元511从XDR-RAM 403取得保持在XDR-RAM 403中的作为处理对象的图像数据541的大小信息,包括图像的垂直
72和水平大小、位深度、小波滤波器的种类、小波变换的分解数等信息
中的至少一个。资源信息取得单元512经由OS 501取得包括当前可 用的子CPU核的个数、LS 451的容量等信息中的至少一个的资源信 息。计算精度选择单元513根据编码参数531执行熵编码中的计算选 择,其中编码参数531是编码是否是可逆的、是否时延(latency )优 先、是否处理能力优先或是否精度优先等与编码有关的预定义设定信 息。
中间计算緩冲器使用量计算单元514针对每个分量计算表示中间 计算緩冲器单元52需要的容量的中间计算緩冲器使用量。系数重新排 列緩冲器使用量计算单元515针对每个分量计算表示系数重新排列緩 沖器单元53需要的容量的系数重新排列緩冲器使用量。
编码方式选择单元516根据各种条件从保持在XDR-RAM 403中 的编码程序543-1、编码程序543-2、…中选择一个要执行的程序。编 码程序543-1、编码程序543-2、…均为用于实现图3中的编码单元14 的软件程序,并且预先定义了向程序本身分配硬件的方法。但应注意, 分配方法针对各软件程序是不同的。在以下说明中,在不需要彼此区 分时,将编码程序543-1、编码程序543-2、...称为编码程序543。分 配单元517按照编码程序543的分配方法,向由编码方式选择单元516 选择的编码程序543分配子CPU核442-1 ~子CPU核442-8等硬件资 源。
解码选择控制单元503具有大小信息取得单元521、资源信息取 得单元522、系数緩冲器使用量计算单元523、解码方式选择单元524 和分配单元525。
大小信息取得单元521取得保持在XDR-RAM 403中的作为处理 对象的编码数据542的大小信息,包括图像的垂直和水平大小、位深 度、小波滤波器的种类、小波变换的分解数等信息中的至少一个。资 源信息取得单元522经由OS 501取得信息处理系统300的资源信息。
系数緩冲器使用量计算单元523针对每个分量计算表示系数緩冲 器单元62需要的容量的系数緩冲器使用量。解码方式选择单元524根据各种条件从保持在XDR-RAM 403中 的解码程序544-1、解码程序544-2、...中选择一个要执行的程序。解 码程序544-1、解码程序544-2、…均为用于实现图12中的解码单元 36的软件程序,并且预先定义了向程序本身分配硬件的方法。但应注 意,分配方法针对各软件程序是不同的。在以下说明中,在不需要彼 此区分时,将解码程序544-1、解码程序544-2、…称为解码程序544。 分配单元525按照解码程序544的分配方法,向由解码方式选择单元 524选择的解码程序544分配子CPU核442-1 ~子CPU核442-8等硬 件资源。
表示预设的编码条件的编码参数531和表示预设的解码条件的解 码参数532存储在高速緩沖存储器504中。另外,用于编码方式的选 择的小波变换关系表533和系数重新排列关系表534保持在高速緩冲 存储器504中。
如图39所示,小波变换关系表533是由分解数、5x3滤波器、9x7 滤波器的项目构成的表信息,是用于得到关系指数的表信息,该关系 指数用于计算用于小波变换的中间计算緩沖器单元52需要的容量。
另外,如图40所示,系数重新排列关系表534是由分解数、5x3 滤波器、9x7滤波器的项目构成的表信息,是用于得到关系指数的表 信息,该关系指数用于计算系数重新排列緩冲器单元53需要的容量。
以下i兑明上述的主CPU核441执4亍的各个处理。
首先参照图41的流程图说明由编码选择控制单元502执行的编 码选择控制处理的流程例子。编码选择控制处理是为了在执行编码处 理时从子CPU核442-1 ~子CPU核442-8的分配方式彼此不同的多个 编码程序543中选择一个而执行的处理。例如,当用户指示执行编码 处理时,编码选择控制单元502开始编码选择控制处理。
当开始了编码选择控制处理时,在步骤S101中,大小信息取得 单元511取得针对保持在XDR-RAM 403中的作为处理对象的图像数 据541的大小信息。在步骤S102中,资源信息取得单元512经由OS 501取得作为与可用的硬件资源有关的信息的资源信息。在步骤S103
74中,计算精度选择单元513根据编码参数531、大小信息等选择和设 定编码处理的计算精度。以下说明计算精度选择处理的详细流程。
当选择了计算精度时,中间计算緩冲器使用量计算单元514在步 骤S104中使用小波变换关系表533等计算表示中间计算緩冲器单元 52需要的容量的中间计算緩冲器使用量。系数重新排列緩冲器使用量 计算单元515在步骤S105中使用系数重新排列关系表534等计算表示 系数重新排列緩冲器单元53需要的容量的系数重新排列緩冲器使用
在步骤S106中,编码方式选择单元516根据大小信息、资源信 息、所选择的计算精度、以及所计算的中间计算緩冲器使用量和系数 重新排列緩沖器使用量等各种信息,选择编码方式。编码方式选择处 理的详情将后述。
当选择了编码方式时,在步骤S107中,分配单元517按照所选 择的编码程序543的分配方法,向各处理分配子CPU核442-1 ~子 CPU核442-8。
当完成了步骤S107中的处理时,结束编码选择控制处理。 接着参照图42的流程图说明在图41的步骤S103中执行的计算
精度选择处理的流程例子。
当开始了计算精度选择处理时,在步骤S121中,计算精度选择
单元513根据大小信息确定在小波变换处理中使用的滤波器类型是
5x3滤波器还是9x7滤波器。如果确定是5x3滤波器,则处理前进到
步骤S122。
在步骤S122中,计算精度选择单元513根据编码参数531确定 是否执行可逆编码作为熵编码。如果确定执行可逆编码,则处理前进 到步骤S123。在步骤S123中,计算精度选择单元513根据大小信息 确定图像数据541的位深度是否是13以下。
如果确定位深度是13以下,则处理前进到步骤S124。在步骤S124 中,计算精度选择单元513选择和设定16位固定小数点型作为计算精 度。当步骤S124中的处理完成时,完成计算精度选择处理,处理返回
75到图41中的步骤S103,执行步骤S104以后的处理。
另外,如果在图42的步骤S123中确定位深度大于13,则处理 前进到步骤S125。在步骤S125中,计算精度选择单元513选择和设 定32位固定小数点型作为计算精度。当步骤S125中的处理完成时, 完成计算精度选择处理,处理返回到图41中的步骤S103,执行步骤 S104以后的处理。
如果在图42的步骤S122中确定执行不可逆编码作为熵编码,则 处理前进到步骤S126。在步骤S126中,计算精度选择单元513根据 编码参数531确定是否精度优先。如果确定不是精度优先,则处理返 回到步骤S123,重复此后的处理。
如果在步骤S126中确定精度优先,则处理前进到步骤S127。而 且,如果在步骤S121中根据大小信息确定在小波变换处理中使用的滤 波器的类型是9x7滤波器,则处理前进到步骤S127。
在步骤S127中,计算精度选择单元513选择和设定32位浮动小 数点型作为计算精度。当步骤S127中的处理完成时,完成计算精度选 择处理,处理返回到图41中的步骤S103,执行步骤S104以后的处理。
如上所述来选择计算精度。
接着,参照图43的流程图说明在图41的步骤S106中执行的编 码方式选择处理的流程例子。
在步骤S141中,根据由中间计算緩冲器使用量计算单元514计 算的中间计算緩冲器使用量和由资源信息取得单元512确认的、表示 LS 451的可用存储容量的可用容量,编码方式选择单元516确定LS 451的可用容量是否是作为用于2个分量的中间计算緩冲器单元52足 够的容量。即,编码方式选择单元516确定LS451的可用容量是否等 于或大于2个分量的各自的中间计算緩冲器使用量之和。如果确定足 够,则处理前进到步骤S142。
在步骤S142中,根据由中间计算緩冲器使用量计算单元514计 算的中间计算緩冲器使用量、由系数重新排列緩冲器使用量计算单元 515计算的系数重新排列緩冲器使用量、以及由资源信息取得单元512确认的LS 451的可用容量,编码方式选择单元516确定LS 451的可 用容量是否是作为用于2个分量的中间计算緩冲器单元52和系数重新 排列緩冲器单元53足够的容量。即,编码方式选择单元516确定LS 451的可用容量是否等于或大于2个分量的各自的中间计算緩沖器使 用量和系数重新排列緩冲器使用量之和。如果确定足够,则处理前进 到步骤S143。
在步骤S143中,编码方式选择单元516根据编码参数531确定 是否处理能力优先。如果确定处理能力优先,则处理前进到步骤S144。
在步骤S144中,编码方式选择单元516选择应用参照图19说明 的分配方法的编码方式A。即,在这种情况下,如图19所示, 一个子 CPU核442被分配给编码单元14的所有处理。并且,中间计算緩冲 器单元52和系数重新排列緩冲器单元53都形成在LS 451中。当步骤 S144的处理完成时,编码方式选择处理完成,处理返回到图41的步 骤S106,处理前进到步骤S107。
如果在图43的步骤S142中确定LS 451的可用容量不足够作为 用于2个分量的中间计算緩冲器单元52和系数重新排列緩冲器单元 53,则处理前进到步骤S145。在步骤S145中,编码方式选择单元516 根据编码参数531确定是否处理能力优先。如果确定处理能力优先, 则处理前进到步骤S146。如果在步骤S143中确定不是处理能力优先, 则处理前进到步骤S146。
在步骤S146中,编码方式选择单元516选择应用参照图21说明 的分配方法的编码方式B。即,在这种情况下,如图21所示,l个子 CPU核442被分配给编码单元14中的所有处理。并且,中间计算緩 冲器单元52形成在LS451中,系数重新排列緩冲器单元53形成在作 为共享存储器的XDR-RAM 403中。当步骤S146的处理完成时,编 码方式选择处理完成,处理返回到图41的步骤S106,处理前进到步 骤S107。
如果在图43的步骤S145中确定不是处理能力优先,则处理前进 到步骤S147。在步骤S147中,编码方式选择单元516根据由资源信
77息取得单元512取得的资源信息,确定当前可用的子CPU核442的个 数是否为1个。如果确定为l个,则处理返回到步骤S146。如果在步 骤S147中确定存在多个可用的子CPU核442,则处理前进到步骤 S148。在步骤S148中,编码方式选择单元516根据由资源信息取得 单元512取得的资源信息,确定当前可用的子CPU核442的个数是否 为2个。如果确定为2个,则处理前进到步骤S149。
在步骤S149中,编码方式选择单元516选择应用参照图22说明 的分配方法的编码方式C。即,在这种情况下,如图22所示,以2 个子CPU核442为一组, 一个子CPU核442被分配给对图像数据Y 进行编码的编码单元14中的所有处理,另 一个子CPU核442 ^皮分配 给对图像数据C进行编码的编码单元14的所有处理。并且,用于图 像数据Y的小波变换的中间计算緩冲器单元52-1形成在对图像数据Y 进行编码的子CPU核442的LS451中,用于图像数据C的小波变换 的中间计算緩冲器单元52-2形成在对图^f象数据C进行编码的子CPU 核442的LS 451中。而且,保持从图像数据Y生成的系数数据的系 数重新排列緩冲器单元53-l和保持从图像数据C生成的系数数据的系 数重新排列緩冲器单元53-2都形成在作为共享存储器的XDR-RAM 403中。当步骤S149的处理完成时,编码方式选择处理完成,处理返 回到图41的步骤S106,处理前进到步骤S107。
如果在图43的步骤S141中确定LS 451的可用容量不足够作为 用于2个分量的中间计算緩冲器单元52,则处理前进到步骤S150。在 步骤S150中,根据由中间计算緩冲器使用量计算单元514计算的中间 计算緩冲器使用量、以及由资源信息取得单元512确认的LS 451的可 用容量,编码方式选择单元516确定LS 451的可用容量是否是作为用 于l个分量的中间计算緩冲器单元52足够的容量。即,编码方式选择 单元516确定LS 451的可用容量是否等于或大于每个分量的中间计算 緩冲器使用量。如果确定足够,则处理前进到步骤S151。
在步骤S151中,编码方式选择单元516根据由资源信息取得单 元512取得的资源信息,确定当前可用的子CPU核442的个数是否为1个。如果确定存在多个可用的子CPU核442,则处理前进到步骤 S152。在步骤S152中,编码方式选择单元516根据由资源信息取得 单元512取得的资源信息,确定当前可用的子CPU核442的个数是否 为2个。如果确定为2个,则处理返回到步骤S149。
如果在步骤S152中确定当前可用的子CPU核442的个数为3个 以上,则处理前进到步骤S153。在步骤S153中,编码方式选择单元 516根据编码参数531确定是否处理能力优先。如果确定处理能力优 先,则处理返回到步骤S149。
如果在步骤S153中确定不是处理能力优先,则处理前进到步骤 S154。另外,如果在步骤S148中确定当前可用的子CPU核442的个 数为3个以上,则处理前进到步骤S154。
在步骤S154中,编码方式选择单元516选择应用参照图24说明 的分配方法的编码方式D。即,在这种情况下,如图24所示,以4 个子CPU核442为一組,相互不同的子CPU核442^皮分配给对图像 数据Y进行编码的编码单元14的小波变换单元51-1的处理、对图像 数据Y进行编码的编码单元14的系数重新排列单元54-1和熵编码单 元55-1的处理、对图像数据C进行编码的编码单元14的小波变换单 元51-2的处理、以及对图像数据C进行编码的编码单元14的系数重 新排列单元54-2和熵编码单元55-2的各处理。
并且,对图像数据Y进行编码的编码单元14的中间计算緩沖器 单元52-1形成在被分配了小波变换单元51-1的处理的子CPU核442 的LS451中,对图像数据C进行编码的编码单元14的中间计算緩沖 器单元52-2形成在被分配了小波变换单元51-2的处理的子CPU核 442的LS451中。
而且,对图像数据Y进行编码的编码单元14的系数重新排列緩 沖器单元53-1和对图像数据C进行编码的编码单元14的系数重新排 列緩冲器单元53-2都形成在作为共享存储器的XDR-RAM403中。当 步骤S154的处理完成时,编码方式选择处理完成,处理返回到图41 的步骤S106,处理前进到步骤S107。如果在图43的步骤S150中确定LS 451的可用容量不足够作为 用于l个分量的中间计算緩冲器单元52,则处理前进到步骤S155。并 且,如果在步骤S151中确定当前可用的子CPU核的个数是1个,则 则处理前进到步骤S155。在这种情况下,由于预先准备的4个编码方 式都不能选择(不能实施),因此在步骤S155中,编码方式选择单元 516执行错误处理,例如向用户提供通知。当步骤S155的处理完成时, 编码方式选择处理完成,处理返回到图41的步骤S106,处理前进到 步骤S107。
如上所述,编码选择控制单元502可以根据图像数据541的大小 信息、资源信息、编码参数等适当地执行硬件资源的分配,从而编码 单元14在实际条件下可以更有效地操作。
顺便提及,该分配能够以任何单位执行。例如,该分配可以逐个 分区地执行,或者可以逐个图片地执行。另外,尽管以上说明了预先 准备4个分配方法,由编码方式选择单元516从其中选择一个,但可 以准备任意个数的硬件资源分配方法。即,编码程序543的个数是任 意的。并且,硬件资源的分配方法是任意的,可以是上述4个分配方 法以外的方法。
另外,通过使用8个子CPU核442-1 ~子CPU核442-8中的任 意的子CPU核442,可以组合4吏用上述编码方式A 编码方式D (以 并行方式操作)。即,例如,编码选择控制单元502可以为各个分区 或各个图片釆用相互不同的编码方式,并且改变分配硬件资源的方式。 这样,编码选择控制单元502能够以更有效地利用硬件资源的方式向 编码单元14中的各个处理分配硬件资源,从而使编码单元14能够更 有效地操作。
接着参照图44的流程图说明由解码选择控制单元503执行的解 码选择控制处理的流程例子。解码选择控制处理是为了在执行解码处 理时从子CPU核442-1 ~子CPU核442-8的分配方式彼此不同的多个 解码程序544中选择一个而执行的处理。例如,当用户指示执行解码 处理时,解码选择控制单元503开始解码选择控制处理。当开始了解码选择控制处理时,在步骤S201中,大小信息取得 单元521取得针对保持在XDR-RAM 403中的作为处理对象的编码数 据542的大小信息。在步骤S202中,资源信息取得单元522经由OS 501取得作为与可用的硬件资源有关的信息的资源信息。
在步骤S203中,系数緩冲器使用量计算单元523使用小波变换 关系表533等计算表示系数緩冲器单元62需要的容量的系数緩冲器使 用量。
在步骤S204中,解码方式选择单元524根据大小信息、资源信 息、所计算的系数緩沖器使用量等各种信息,选择解码方式。解码方 式选择处理的详情将后述。
当选择了解码方式时,在步骤S205中,分配单元525按照所选 择的解码程序544的分配方法,向各处理分配子CPU核442-1 ~子 CPU核442-8。
当完成了步骤S205中的处理时,结束解码选择控制处理。
接着,参照图45的流程图说明在图44的步骤S204中执行的解 码方式选择处理的流程例子。
在步骤S221中,根据由系数緩冲器使用量计算单元523计算的 系数緩冲器使用量和由资源信息取得单元522确认的LS 451的可用容 量,解码方式选择单元524确定LS 451的可用容量是否是作为系数緩 冲器单元62足够的容量。即,解码方式选择单元524确定LS 451的 可用容量是否等于或大于每个分量的系数緩冲器使用量。如果确定足 够,则处理前进到步骤S222。
在步骤S222中,解码方式选择单元524根据解码参数532确定 在解码处理中是否处理能力优先。如果确定处理能力优先,则处理前 进到步骤S223。
在步骤S223中,根据由系数緩冲器使用量计算单元523计算的 系数緩沖器使用量和由资源信息取得单元522确认的LS 451的可用容 量,解码方式选择单元524确定LS451的可用容量是否是作为用于2 个分量的系数援冲器单元62足够的容量。即,解码方式选择单元524
81确定LS 451的可用容量是否等于或大于2个分量的各自的系数緩冲器 使用量之和。如果确定足够,则处理前进到步骤S224。
在步骤S224中,解码方式选择单元524选择应用参照图26说明 的分配方法的解码方式A。即,在这种情况下,如图26所示,l个子 CPU核442被分配给解码单元36的所有处理。并且,系数緩冲器单 元62形成在LS451中。当步骤S224的处理完成时,解码方式选择处 理完成,处理返回到图44的步骤S204,处理前进到步骤S205。
如果在图45的步骤S222中确定在解码处理中不是处理能力优 先,则处理前进到步骤S225。在步骤S225中,解码方式选择单元524 根据由资源信息取得单元522取得的资源信息,确定当前可用的子 CPU核442的个数是否为1个。如果确定为1个,则处理返回到步骤 S223,重复后续的处理。如果在步骤S225中确定存在多个可用的子 CPU核442,则处理前进到步骤S226。
在步骤S226中,解码方式选择单元524根据由资源信息取得单 元522取得的资源信息,确定当前可用的子CPU核442的个数是否为 2个。如果确定为2个,则处理前进到步骤S227。并且,如果在步骤 S223中确定LS 451的可用容量不足够作为用于2个分量的系数緩冲 器单元62,则处理前进到步骤S227。
在步骤S227中,解码方式选择单元524选择应用参照图28说明 的分配方法的解码方式B。即,在这种情况下,如图28所示,以2个 子CPU核442为一组, 一个子CPU核442 ,皮分配给对编码数据Y进 行解码的解码单元36中的所有处理,另一个子CPU核442 ^皮分配给 对编码数据C进行解码的解码单元36中的所有处理。并且,对编码 数据Y进行解码的解码单元36的系数緩冲器单元62-1形成在被分配 了对编码数据Y进行解码的解码单元36的子CPU核442的LS 451 中,对编码数据C进行解码的解码单元36的系数緩冲器单元62-2形 成在被分配了对编码数据C进行解码的解码单元36的子CPU核442 的LS451中。当步骤S227的处理完成时,解码方式选择处理完成, 处理返回到图44的步骤S204,处理前进到步骤S205。如果在图45的步骤S226中确定当前可用的子CPU核442的个 数为3个以上,则处理前进到步骤S228。
在步骤S228中,解码方式选择单元524选择应用参照图30说明 的分配方法的解码方式C。即,在这种情况下,如图30所示,以4 个子CPU核442为一组,相互不同的子CPU核442 ,皮分配给对编码 数据Y进行解码的解码单元36的熵解码单元61-1的处理、对编码数 据Y进行解码的解码单元36的小波逆变换单元63-1的处理、对编码 数据C进行解码的解码单元36的熵解码单元61-2的处理、对编码数 据C进行解码的解码单元36的小波逆变换单元63-2的处理。
并且,对编码数据Y进行解码的解码单元36的系数緩冲器单元 62-1形成在被分配了小波逆变换单元63-1的处理的子CPU核442的 LS 451中,对编码数据C进行解码的解码单元36的系数緩冲器单元 62-2形成在净皮分配了小波逆变换单元63-2的处理的子CPU核442的 LS 451中。
当步骤S228的处理完成时,解码方式选择处理完成,处理返回 到图44的步骤S204,处理前进到步骤S205。
如果在图45的步骤S221中确定LS 451的可用容量不足够作为 系数緩冲器单元62,则处理前进到步骤S229。在这种情况下,由于预 先准备的3个解码方式都不能选择(不能实施),因此在步骤S229 中,解码方式选择单元524执行错误处理,例如向用户提供通知。当 步骤S229的处理完成时,解码方式选择处理完成,处理返回到图44 的步骤S204,处理前进到步骤S205。
如上所述,解码选择控制单元503可以根据编码数据542的大小 信息、资源信息或解码参数532等适当地执行硬件资源的分配,从而 解码单元36在实际条件下可以更有效地操作。
顺便提及,该分配能够以任何单位执行。例如,该分配可以逐个 分区地执行,或者可以逐个图片地执行。另外,尽管以上说明了预先 准备3个分配方法,由解码方式选择单元524从其中选择一个,但可 以准备任意个数的硬件资源分配方法。即,解码程序544的个数是任
83意的。并且,硬件资源的分配方法是任意的,可以是上述3个分配方 法以外的方法。
另外,通过使用8个子CPU核442-1 ~子CPU核442-8中的任 意的子CPU核442,可以组合使用上述解码方式A 解码方式C (以 并行方式操作)。即,例如,解码逸择控制单元503可以为各个分区 或各个图片采用相互不同的解码方式,并且改变分配硬件资源的方式。 这样,解码选择控制单元503能够以更有效地利用硬件资源的方式向 解码单元36的各个处理分配硬件资源,从而使解码单元36能够更有 效地操作。
以下说明分配的具体例子。
作为第1个例子,假定要编码的图像数据541的图像大小为1920 像素xl080像素,数据结构是由亮度分量Y和色度分量C构成的分量 Y/C,位深度为12位,用于小波变换的滤波器是5x3滤波器,小波变 换的分解级别为4,并且没有进行精度优先的设定。另外,假定当前 可用的子CPU核442的个数为4个以上,每个子CPU核442的LS 451 的容量为256[K字节。
而且,对于编码参数531,将不可逆编码和时延优先设定为编码 条件。另外,对于解码参数532,将时延优先设定为解码条件。
在这种情况下,计算精度选择单元513如图42所示的流程图那 样,执行计算精度选择处理,并且根据5x3滤波器、可逆编码、无精 度优先设定和13以下的位深度的条件,选择16位固定小数点型。而 且,使用小波变换关系表533,中间计算緩冲器使用量计算单元514 根据5x3滤波器和分解数为4的条件,将"7.5"设定为关系指数,并且 通过使输入图像的水平大小(1920像素)、计算精度(16位)和关系 指数(7.5)相乘,计算中间计算緩冲器使用量。
另外,通过使用系数重新排列关系表534,系数重新排列緩沖器 使用量计算单元515根据5x3滤波器和分解数为4的条件,将"42.25" 设定为关系指数,并且通过使输入图像的水平大小(1920像素)、单 位大小和关系指数(42.25)相乘,计算系数重新排列緩冲器使用量。
84根据上述计算结果和资源信息等,编码方式选择单元516如图43 所示的流程图那样,执行编码方式选择处理。由于LS451的可用容量 足够作为用于2个分量的中间计算緩冲器单元52,但不够作为用于2 个分量的中间计算緩沖器单元52和系数重新排列緩沖器单元53,并 且优先项目是时延,可用子CPU核442的个数为4个,因此,编码方 式选捧单元516选择如图24所示执4亍分配的编码方式D。
通过这样的分配,编码单元14能够如图25所示继续进行编码处 理。即,通过这样的分配,编码单元14能够以低的延迟来执行编码处 理。
在该条件下分配解码单元36的情况下,解码方式选择单元524 如图45所示的流程图那样,执行解码方式选择处理。由于LS 451的 可用容量足够作为系数緩冲器单元62,并且优先项目是时延,可用子 CPU核442的个数为4个,因此,解码方式选择单元524选择如图30 所示执行分配的解码方式C。
通过这样的分配,解码单元36能够如图31所示继续进行解码处 理。即,通过这样的分配,解码单元36能够以低的延迟来执行解码处 理。
例如,在电视会议系统等要求实时地执行数据交换的系统中,要 求以低的延迟来执行编码处理或解码处理。即使将这样的情况下,编 码选择控制单元502和解码选择控制单元503也能够适当地分配硬件 资源,从而编码单元14和解码单元36能够以低的延迟执行处理。
作为第2个例子,假定要编码的图像数据541的图像大小为1280 像素x720像素,数据结构是由亮度分量Y和色度分量C构成的分量 Y/C,位深度为12位,用于小波变换的滤波器是9x7滤波器,小波变 换的分解级别为4。另外,假定当前可用的子CPU核442的个数为4 个以上,每个子CPU核442的LS451的容量为256[K字节。
而且,对于编码参数531,将处理能力优先设定为编码条件。另 外,对于解码参数532,将处理能力优先设定为解码条件。
在这种情况下,计算精度选择单元513如图42所示的流程图那
85样,执行计算精度选择处理,并且根据9x7滤波器的条件,选择32 位浮动小数点型。而且,使用小波变换关系表533,中间计算緩冲器 使用量计算单元514根据9x7滤波器和分解数为4的条件,将"11.25" 设定为关系指数,并且通过使输入图像的水平大小(1280像素)、计 算精度(32位)和关系指数(11.25)相乘,计算中间计算緩冲器使用
另外,通过使用系数重新排列关系表534,系数重新排列緩冲器 使用量计算单元515根据9x7滤波器和分解数为4的条件,将"94.75" 设定为关系指数,并且通过使输入图像的水平大小(1280像素)、单 位大小和关系指数(94.75)相乘,计算系数重新排列緩沖器使用量。
根据上述计算结果和资源信息等,编码方式选择单元516如图43 所示的流程图那样,执行编码方式选择处理。由于LS451的可用容量 足够作为用于2个分量的中间计算緩冲器单元52,但不够作为用于2 个分量的中间计算緩冲器单元52和系数重新排列緩冲器单元53,并 且优先项目是处理能力,因此,编码方式选择单元516选择如图21 所示执行分配的编码方式B。
通过这样的分配,编码单元14能够如图20所示继续进行编码处 理。即,通过这样的分配,编码单元14能够以高的处理能力来执行编 码处理。
在该条件下分配解码单元36的情况下,解码方式选择单元524 如图45所示的流程图那样,执行解码方式选择处理。由于LS 451的 可用容量足够作为系数緩冲器单元62,优先项目是处理能力,并且 LS 451的可用容量还足够作为用于2个分量的系数緩冲器单元62,因 此,解码方式选择单元524选择如图26所示执行分配的解码方式A。
通过这样的分配,解码单元36能够如图27所示继续进行解码处 理。即,通过这样的分配,解码单元36能够以高的处理能力来执行解 码处理。
例如,存在如下情况如在处理具有高的帧速率的图像数据的系 统中,要求以高的速度(高的处理能力)来执行编码处理或解码处理。
86即使在这样的情况下,编码选择控制单元502和解码选择控制单元503 也能够适当地分配硬件资源,从而编码单元14和解码单元36能够以 高的处理能力执行处理。
作为第3个例子,假定要编码的图像数据541的图像大小为4096 像素x2160像素,数据结构是由亮度分量Y和色度分量C构成的分量 Y/C,位深度为12位,用于小波变换的滤波器是9x7滤波器,小波变 换的分解级别为4。另外,假定当前可用的子CPU核442的个数为4 个以上,每个子CPU核442的LS451的容量为256[K字节]。
而且,对于编码参数531,将处理能力优先设定为编码条件。另 外,对于解码参数532,将处理能力优先设定为解码条件。
在这种情况下,计算精度选择单元513如图42所示的流程图那 样,执行计算精度选择处理,并且根据9x7滤波器的条件,选择32 位浮动小数点型。而且,使用小波变换关系表533,中间计算緩冲器 使用量计算单元514根据9x7滤波器和分解数为4的条件,将"11.25" 设定为关系指数,并且通过使输入图像的水平大小(1280像素)、计 算精度(32位)和关系指数(11.25)相乘,计算中间计算緩冲器使用 量。
另外,通过使用系数重新排列关系表534,系数重新排列緩冲器 使用量计算单元515根据9x7滤波器和分解数为4的条件,将"94.75" 设定为关系指数,并且通过使输入图像的水平大小(1280像素)、单 位大小和关系指数(94.75)相乘,计算系数重新排列緩冲器使用量。
根据上述计算结果和资源信息等,编码方式选择单元516如图43 所示的流程图那样,执行编码方式选择处理。由于LS451的可用容量 不够作为用于2个分量的中间计算緩沖器单元52,但足够作为用于1 个分量的中间计算緩冲器单元52,并且可用子CPU核442的个数为4 个,优先项目是处理能力,因此,编码方式选择单元516选择如图22 所示执行分配的编码方式C。
通过这样的分配,编码单元14能够如图23所示继续进行编码处 理。即,通过这样的分配,编码单元14能够以高于编码方式D的处
87理能力和低于编码方式B的延迟来执行编码处理。
在该条件下分配解码单元36的情况下,解码方式选择单元524 如图45所示的流程图那样,执行解码方式选择处理。由于LS 451的 可用容量足够作为系数緩冲器单元62,优先项目是处理能力,LS451 的可用容量不够作为用于2个分量的系数緩冲器单元62,并且可用的 子CPU核442的个数为4个,因此,解码方式选择单元524选择如图 28所示执行分配的解码方式B。
通过这样的分配,解码单元36能够如图29所示继续进行解码处 理。即,通过这样的分配,解码单元36能够以高于解码方式C的处 理能力和低于解码方式A的延迟来执行解码处理。
例如,存在如下情况如在处理具有高清晰度视频的图像数据的 系统中,尽管要求以高的速度(高的处理能力)来执行编码处理或解 码处理,但图像数据的数据量很大。在这样的情况下,如果为了提高 处理能力而由一个子CPU核442执行编码处理和解码处理,则LS 451 的容量可能变得不足,从而导致不希望的延迟增加。因此,编码选择 控制单元502和解码选择控制单元503能够以如下方式适当地分配硬 件资源编码单元14和解码单元36不会由于緩冲器溢出的发生等而 导致延迟时间不希望地增加,并且使处理能力尽可能地提高。
在图3的编码单元14和图12的解码单元36中,如上所述,在 编码单元14中执行了重新排列小波变换系数的处理后,将编码数据发 送给解码单元36。但是,在编码单元14中可以跳过重新排列小波变 换系数的处理,而在将编码数据发送到解码单元36后在解码单元36 中执行重新排列小波变换系数的处理。即,可以如图46所示,在编码 单元14中执行了重新排列小波变换系数的处理后,将编码数据发送给 解码单元36,或者可以如图47所示,在将编码数据发送到解码单元 36后,在解码单元36中执行重新排列小波变换系数的处理。
在这种情况下,如图48所示,解码单元36需要包括系数重新排 列单元65。图48是示出解码单元36的另一实施方式的框图。
在图48中,与图12的解码单元36同样,解码单元36包括熵解码单元61、系数緩冲器单元62和小波逆变换单元63,另外还包括系 数重新排列单元65。
系数重新排列单元65执行作为熵解码单元61的解码结果得到的 小波变换系数的重新排列,即,系数重新排列单元65执行与图2中的 系数重新排列单元54同样的小波变换系数重新排列,并将它们提供给 小波逆变换单元63以存储在其中。
编码单元14和解码单元36中的哪个执行小波变换系数的重新排 列可以根据各个设备的资源而适当地确定。
而且,在编码单元14中,在熵编码单元55中执行小波变换系数 的量化。但是,例如可以设置量化单元,该量化单元对由小波变换单 元51输出的小波变换系数进行量化,并将它们存储到系数重新排列緩 冲器单元53中。
图49是示出编码单元14的另一实施方式的框图。
在图49中,编码单元14包括量化单元56,构成编码单元14的 其它块与图3中的编码单元14相同。
量化单元56对由小波变换单元51输出的小波变换系数进行量 化,并将它们存储到系数重新排列緩冲器单元53中。这样,通过与熵 编码单元55分离地设置量化单元56,能够以最佳地执行各种处理或 者使延迟时间变少的方式执行预定的CPU或存储器的分配。
量化单元56可以设置在系数重新排列单元54和熵编码单元55 中。这种情况下,由系数重新排列单元54输出的小波变换系数被量化, 并被提供给熵编码单元55。
接着,图50是示出解码单元36的另一实施方式的框图。
在图50中,解码单元36包括反量化单元66,构成解码单元36 的其它块与图48中的解码单元36相同。
反量化单元66对由系数重新排列单元65输出的小波变换系数进 行量化,并将它们提供给小波逆变换单元63。通过设置反量化单元66, 与设置量化单元56的情况同样,能够以最佳地执行各种处理或者使延 迟时间变少的方式执行预定的CPU或存储器的分配。
89反量化单元66可以设置在熵解码单元61和系数緩冲器单元62 中。这种情况下,反量化单元66执行由熵解码单元61输出的系数数 据的反量化,并将其存储到系数緩冲器单元62中。
上述一系列的处理可以通过硬件来执行,或者可以通过软件来执行。
例如,如图19所示,编码单元14可以由执行小波变换单元51、 系数重新排列单元54和熵编码单元55的各处理的一个处理单元、以 及形成有中间计算緩沖器单元52和系数重新排列緩冲器单元53的一 个存储单元构成。
同样,如图21所示,编码单元14可以由执行小波变换单元51、 系数重新排列单元54和熵编码单元55的各处理的一个处理单元、形 成有中间计算緩冲器单元52并且允许高速读写的第1存储单元、以及 形成有系数重新排列緩沖器单元53的大容量的第2存储单元构成。
同样,如图22所示,编码单元14可以由执行小波变才奐单元51-1、 系数重新排列单元54-1和熵编码单元55-1的各处理的第1处理单元、 形成有中间计算緩冲器单元52-l并且允许高速读写的第l存储单元、 执行小波变换单元51-2、系数重新排列单元54-2和熵编码单元55-2 的各处理的第2处理单元、形成有中间计算緩冲器单元52-2并且允许 高速读写的第2存储单元、以及形成有系数重新排列緩冲器单元53-l 和系数重新排列援冲器单元53-2的大容量的第3存储单元构成。
同样,如图24所示,编码单元14可以由执行小波变换单元51-1 的处理的第l处理单元、形成有中间计算緩沖器单元52-1并且允许高 速读写的第l存储单元、执行系数重新排列单元54-1和熵编码单元 55-1的各处理的第2处理单元、执行小波变换单元51-2的处理的第3 处理单元、形成有中间计算緩冲器单元52-2并且允许高速读写的第2 存储单元、执行系数重新排列单元54-2和熵编码单元55-2的各处理 的第4处理单元、以及形成有系数重新排列緩冲器单元53-1和系数重 新排列緩冲器单元53-2的大容量的第3存储单元构成。
同样,如图26所示,解码单元36可以由执行熵解码单元61和
90小波逆变换单元63的各处理的一个处理单元、以及形成有系数緩冲器 单元62的存储单元构成。
同样,如图28所示,解码单元36可以由执4亍熵解码单元61-1 和小波逆变换单元63-1的各处理的第l处理单元、形成有系数緩冲器 单元62-1的第1存储单元、执行熵解码单元61-2和小波逆变换单元 63-2的各处理的第2处理单元、以及形成有系数緩冲器单元62-2的第 2存储单元构成。
同样,如图30所示,解码单元36可以由执行熵解码单元61-1 的处理的第1处理单元、执行小波逆变换单元63-1的处理的第2处理 单元、形成有系数緩冲器单元62-l的第l存储单元、执行熵解码单元 61-2的处理的第3处理单元、执行小波逆变换单元63-2的处理的第4 处理单元、以及形成有系数緩冲器单元62-2的第2存储单元构成。
在编码单元14或解码单元36如上所述由硬件构成的情况下,可 以得到与如上所述将软件程序分配给硬件的情况相同的效果。
在通过软件执行一系列处理的情况下,将构成软件的程序从程序 记录介质安装到嵌入专用硬件中的计算机、或者例如能够在安装了各 种程序时执行各种功能的通用计算机、或者由多个设备构成的信息处 理系统的信息处理设备等。
例如图18或图36所示,该记录介质不仅由存储了程序并且与i殳 备主体分离地交付以向用户分发程序的可装卸介质131或可装卸介质 311构成,而且由以预先嵌入到设备主体中的状态分发给用户的、记 录了程序的ROM 102、包括在存储单元123或存储设备303中的硬盘 或HDD 405等构成,其中,上述可装卸介质131或可装卸介质311 例如为磁盘(包括软盘)、光盘(包括CD-ROM ( Compact Disk-Read Only Memory,光盘只读存储器)或DVD (Digital Versatile Disk, 数字通用盘))、光磁盘(包括MD (Mini-Disk,迷你盘)(注册商 标))或半导体存储器。
顺便提及,在本说明书中,描述记录在记录介质上的程序步骤当 然既包括按上述顺序并按时间序列执行的处理,也包括不一定按时间
91序列执行而是以并行方式或者独立地执行的处理。
另外,在本说明书中,系统表示由多个设备构成的整个设备。 以上作为一个设备说明的部件可以分割并构成为多个设备。相
反,以上作为多个设备说明的部件可以組合并构成为一个i殳备。并且, 上述以外的结构当然可以追加到各个设备的结构中。并且,只要系统 整体的结构或操作基本上相同,则可以将给定设备的结构的一部分包 括到另一设备的结构中。
即,本发明的实施方式不限于上述实施方式,在不脱离本发明的 范围的情况下,可以进行各种改变。
权利要求
1.一种编码设备,执行图像数据的编码处理以生成编码流,包括识别信息生成单元,用于生成共有处理识别信息或程序识别信息,其中,所述共有处理识别信息识别通过编码处理和解码处理中的哪一个来执行在图像数据的编码处理和编码流的解码处理之间共有的处理,所述程序识别信息识别从分配模式或配置模式相互不同的多个解码程序中选择哪个解码程序,其中,所述分配模式是将构成解码处理的多个处理分配给多个处理单元的分配模式,所述配置模式是由多个处理使用的存储器的配置模式;编码单元,用于执行图像数据的编码处理,以生成编码流;和传送单元,用于将由识别信息生成单元生成的共有处理识别信息或程序识别信息与由编码单元生成的编码流一起传送。
2. 如权利要求1所述的编码设备,其中, 传送单元将由识别信息生成单元生成的共有处理识别信息或程序识别信息插入到编码流中。
3. 如权利要求2所述的编码设备,其中,传送单元将由识别信息生成单元生成的共有处理识別信息或程 序识别信息插入到编码流的标题中。
4. 如权利要求3所述的编码设备,其中,传送单元将由识别信息生成单元生成的共有处理识别信息或程 序识别信息插入到净皮插入到编码流的标题中的序列标题或图片标题 中。
5. 如权利要求1所述的编码设备,其中,传送单元将由识别信息生成单元生成的共有处理识别信息或程 序识别信息以及编码流记录到记录介质上。
6. 如权利要求1所述的编码设备,其中, 构成编码处理的多个处理包括滤波处理,对于图像数据,针对每个分区执行滤波处理,生成由 针对每个频带分解的系数数据构成的多个子带,其中每个分区包括生 成相当于最低频分量的子带的至少1行的系数数据所需的行数的图像数据;存储处理,针对每个分区存储通过滤波处理生成的系数数据; 系数重新排列处理,按照执行合成处理的顺序对通过存储处理存储的系数数据进行重新排列,其中在所述合成处理中,被分解为频带的多个子带的系数数据被合成以生成图像数据;和编码处理,对通过系数重新排列处理而重新排列的系数数据进行编码。
7. 如权利要求6所述的编码设备,其中, 识别信息生成单元生成表示在编码设备侧执行了系数重新排列处理的共有处理识别信息;传送单元将由识別信息生成单元生成的共有处理识别信息与编 码流一起传送。
8. 如权利要求1所述的编码设备,其中, 构成编码处理的多个处理包括滤波处理,对于图像数据,针对每个分区执行滤波处理,生成由 针对每个频带分解的系数数据构成的多个子带,其中每个分区包括生 成相当于最低频分量的子带的至少1行的系数数据所需的行数的图像 数据;存储处理,针对每个分区存储通过滤波处理生成的系数数据;和 编码处理,对通过存储处理存储的系数数据进行编码。
9. 如权利要求8所述的编码设备,其中,识別信息生成单元生成表示没有在编码设备侧执行系数重新排 列处理的信息来作为共有处理识别信息,其中,所述系数重新排列处排列,在所述合成处理中,被分解为频带的多个子带的系数数据被合 成以生成图像数据。
10. 如权利要求6所述的编码设备,其中,识別信息生成单元生成表示将低延迟优先控制和处理能力优先 控制中的哪一个选择作为用于编码处理的控制方法的控制识别信息, 其中,所述低延迟优先控制使以低延迟来执行编码优先,所述处理能 力优先控制使以高处理能力来执行编码优先;传送单元将由识别信息生成单元生成的控制识别信息与编码流 一起传送。
11. 如权利要求6所述的编码设备,其中,识别信息生成单元生成识别在滤波处理单元中使用的滤波器的滤波器信息;传送单元将由识别信息生成单元生成的滤波器信息与编码流一 起传送。
12. 如权利要求11所述的编码设备,其中, 识别信息生成单元生成表示滤波处理的精度是固定小数点精度、浮动小数点精度、还是整数精度的滤波处理精度信息;传送单元将由识别信息生成单元生成的滤波处理精度信息与编 码流一起传送。
13. —种编码方法,执行图像数据的编码处理以生成编码流,包 括以下步骤生成共有处理识别信息或程序识别信息,其中,所述共有处理识 别信息识别通过编码处理和解码处理中的哪一个来执行在图像数据的 编码处理和编码流的解码处理之间共有的处理,所述程序识别信息识 别从分配模式或配置模式相互不同的多个解码程序中选择哪个解码程 序,其中,所述分配模式是将构成解码处理的多个处理分配给多个处 理单元的分配模式,所述配置模式是由多个处理使用的存储器的配置 模式;执行图像数据的编码处理,以生成编码流;以及 将共有处理识别信息或程序识别信息与编码流一起传送。
14. 一种解码设备,执行通过执行图像数据的编码处理而得到的编码流的解码处理,包括取得单元,与编码流一起取得共有处理识别信息或程序识别信 息,其中,所述共有处理识别信息识别通过编码处理和解码处理中的 哪一个来执行在图像数据的编码处理和编码流的解码处理之间共有的 处理,所述程序识别信息识别从分配模式或配置模式相互不同的多个 解码程序中选择哪个解码程序,其中,所述分配模式是将构成解码处 理的多个处理分配给多个处理单元的分配模式,所述配置模式是由多 个处理使用的存储器的配置模式;解码单元,用于执行由取得单元取得的编码流的解码处理;和控制单元,用于控制解码单元,以按照由取得单元取得的共有处 理识别信息或程序识别信息所表示的处理方式,执行解码处理。
15, —种解码方法,执行通过执行图像数据的编码处理而得到的 编码流的解码处理,包括以下步骤与编码流一起取得共有处理识别信息或程序识别信息,其中,所 述共有处理识别信息识别通过编码处理和解码处理中的哪一个来执行 在图像数据的编码处理和编码流的解码处理之间共有的处理,所述程 序识别信息识别从分配模式或配置模式相互不同的多个解码程序中选 择哪个解码程序,其中,所述分配模式是将构成解码处理的多个处理分配给多个处理单元的分配模式,所述配置模式是由多个处理使用的 存储器的配置模式;执行编码流的解码处理;以及执行控制,以使解码处理按照共有处理识别信息或程序识别信息 所表示的处理方式来执行。
全文摘要
本发明涉及一种编码设备和编码方法以及解码设备和解码方法,能够在传送了编码图像时以低延迟得到解码图像。识别信息生成单元(21)生成共有处理识别信息或程序识别信息,所述共有处理识别信息识别通过编码处理和解码处理中的哪一个来执行在图像数据的编码处理和编码流的解码处理之间共有的处理,所述程序识别信息识别从将构成解码处理的多个处理分配给多个处理单元的分配模式或由多个处理使用的存储器的配置模式相互不同的多个解码程序中选择哪个解码程序,传送单元(22)发送由识别信息生成单元生成的共有处理识别信息或程序识别信息。本发明可以应用于例如编码设备和解码设备。
文档编号H04N7/30GK101569170SQ20088000112
公开日2009年10月28日 申请日期2008年5月16日 优先权日2007年5月17日
发明者安藤胜俊, 福原隆浩 申请人:索尼株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1