多维数据编码装置和解码装置及其控制方法

文档序号:7690856阅读:107来源:国知局
专利名称:多维数据编码装置和解码装置及其控制方法
技术领域
本发明涉及多维数据编码装置和解码装置及其控制方法。
技术背景图像输入/输出设备(例如扫描仪、数码相机、打印机等)分别 输入或输出它们的唯一颜色空间的图像。当在这样的具有唯一颜色空 间的设备之间交换彩色图像数据时,使用颜色简档,所述颜色简档将 依赖于设备的颜色与不依赖于设备的颜色关联。作为颜色简档的格式,已知的是由国际彩色协议(ICC)所定义的ICC简档。在很多情况下,颜色简档包括颜色查找表,所述颜色查找表将两 个不同的颜色空间彼此关联。可以将这样的颜色查找表看作具有多个分量的多维矩阵数据。例如,表示输入设备的RGB颜色与不依赖于 设备的标准颜色空间(例如Lab等)之间的对应关系的颜色查找表是 三维和三个分量的多维矩阵。此外,将标准颜色空间和输出设备的 CMYK数据相关联的颜色查找表是三维和四个分量的多维矩阵。更进 一步地,表示显示设备的CMYK和sRGB之间的对应关系的颜色查 找表可以被看作四维和三个分量的多维矩阵。近年来,由于彩色图像设备获得了更高的精度,因此这样的颜色 查找表的元素的数据表示从8比特增加到16比特。不仅两个颜色空间 之间的单一映射方法被使用,而且多种映射方法也被定义以根据用法而被有选择地使用。当发布用于与多个输入设备和输出设备对应地应用颜色匹配的 图像处理装置的软件时,就需要连同该应用一起发布相应颜色简档数 据。随着颜色简档数量增加,当将应用软件存储在存储介质中并且发布这些介质时,需要大存储容量,或者,当通过在互联网上下载应用 软件来对其进行发布时,需要很长的下载时间。考虑到这些缺点,例如,日本未决专利公开11-17971公开了一 种方法,其通过对每一简档的颜色查找表进行Z字形扫描而将每一简 档的颜色查找表转换为一维(1D )数据,并且通过游长编码 (runlenghth)、霍夫曼(HUFFMAN)编码、LZ编码等对与先前值 的差进行编码。然而,对1D转换的压缩率并不很高,并且尚未建立适用于颜色 查找表的压缩方法。发明内容已经考虑了上述问题而做出本发明。本发明提供一种技术,该技 术通过简单的布置并且以高压缩率对其中空间中的邻近元素具有高相 关关系的多维数据(例如颜色查找表)进行无损编码,并且对所述已 编码数据进行解码。根据本发明 一方面,本发明的一种多维数据编码装置包括以下布 置。也就是说,用于在由M (M>3)维表示的多维空间中对元素数 据进行编码的编码装置包括输入单元,其适用于依次更新所述多维空间中的一维的轴的值 oc ,并且对于每一 ot ,输入二维数据集合I ( ot );生成单元,其适用于计算元素差数据,并且生成元素差数据集 合D ( cc ),所述元素差数据表示形成所述输入的数据集合I ( ct ) 的元素数据与形成紧接在前的输入的数据集合I( cc-l)的元素之间的 差,所述元素差数据集合D ( ct )由所述元素差数据形成;以及编码单元,其适用于对由所述生成单元生成的元素差数据集合 D ( oc )进行预测性编码。根据本发明另一方面,有一种控制编码装置的方法,所述编码装 置用于在由M (M>3)维表示的多维空间中对元素数据进行编码, 所述方法包4舌输入步骤依次更新所述多维空间中的一维的轴的值oc,并且对 于每一ot,输入二维数据集合I ( oc );生成步骤计算元素差数据,并且生成元素差数据集合D( oc ), 所述元素差数据表示形成所述输入的数据集合I ( oc )的元素数据与 形成紧接在前的输入的数据集合I( oc-l)的元素之间的差,所述元素 差数据集合D ( oc )由所述元素差数据形成;以及编码步骤对在所述生成步骤生成的元素差数据集合D ( oc )进 行预测性编码。根据本发明又一方面,有一种解码装置,用于对由先前定义的编 码装置生成的已编码数据进行解码,所述解码装置包括 输入单元,其适用于输入已编码数据;第一解码单元其适用于对所述输入的已编码数据进行解码, 以生成元素差数据集合D ( cx );以及第二解码单元,其适用于通过将在紧接在前的过程中解码的数 据集合I( ot-l)与由所述第一解码单元生成的元素差数据集合D( oc ) 相加,来生成数据集合I ( oc )。根据本发明再一方面,有一种控制解码装置的方法,所述解码装 置用于对先前定义的编码装置生成的已编码数据进行解码,所述方法 包括输入步骤输入已编码数据;第一解码步骤对所述输入的已编码数据进行解码,以生成元素 差数据集合D ( a );以及第二解码步骤通过将在紧接在前的过程中解码的数据集合I( oc -1)与由所述第一解码步骤生成的元素差数据集合D ( oc )相加,来 生成数据集合I ( oc )。根据本发明,可以通过简单的布置并且以高压缩率对其中空间中 的邻近元素具有高相关关系的多维数据(例如颜色查找表)进行无损 编码,并且对所述已编码数据进行解码。本发明的其它特点将从参考附图的以下示例性实施例的描述中变得清楚。


图l是示出根据第一实施例的多维数据编码装置的布置的框图; 图2是待编码的多维数据的示意图; 图3A和图3B示出待编码的多维数据和平面之间的关系。 图4示出存储在緩沖器104中的数据的范围; 图5示出所关注的平面间差值Di的位置与其周围的平面间差值 Da、 Db和Dc的位置之间的相对位置关系;图6示出预测误差e和类别SSSS之间的对应关系; 图7示出类别SSSS与码字的对应关系表;图8示出将要由根据第一实施例的编码装置生成的已编码数据的 数据结构;图9是示出根据第一实施例的多维数据解码装置的布置的框图;图10是示出根据第 一 实施例的修改的计算机的布置的框图;图ll是示出计算机程序的编码处理序列的流程图;图12是示出计算机程序的解码处理序列的流程图;图13是示出根据第二实施例的多维数据编码装置的布置的框图;图14示出第二实施例中待编码的ICC简档数据的结构;图15示出在第二实施例的编码之后的ICC简档压缩数据的结构;图16是示出根据第二实施例的多维数据编码处理序列的流程图; 图17是示出根据第二实施例的多维数据解码装置的布置的框图; 图18是示出根据第二实施例的多维数据解码装置的处理序列的 流程图;图19A至图19C示出待编码的三维数据的三种扫描方法;图20是示出根据第三实施例的多维数据编码装置的布置的框图;以及图21A至图21C示出在三种预扫描中所关注的元素与参考元素之间的关系。
具体实施方式
下文中将参照附图详细描述根据本发明的优选实施例。 <第一实施例>将首先描述多维数据编码装置,其对形成作为多维数据代表的 用于颜色空间转换的颜色查找表的数据进行编码。图1是示出根据第一实施例的多维数据编码装置的布置的框图。如图l所示,根据该实施例的装置包括多维数据输入单元101、 平面緩沖器102、平面间差生成单元103、緩沖器104、多值数据预测 单元105、预测误差生成单元106、预测误差编码单元107、霍夫曼表 存储器108、码流形成单元109、以及控制整个装置的控制单元150。 在图1中,标号110、 111和112表示信号线路。假定该实施例的多维 数据输入单元101是访问预先存储待编码的多维数据的存储介质的设 备。然而,如果所述数据被存储在网络上的服务器中,则多维数据输 入单元101可以是网络接口 ,并且不具体限制单元101的类型。以下将参照图1描述根据第一实施例的多维数据编码装置的处理。作为条件,假设待由根据第一实施例的多维数据编码装置处理的 多维数据是具有三个轴X、 Y和Z的三维(3D)矩阵。此外,假设该 3D矩阵的每一元素是由16比特所表示的非负整数值数据(下文中称 为多值数据)。假设对于坐标轴X、 Y和Z中的每个,所述多维数据 的范围是从"0"至"N-1"。也就是说,所述多维数据由NxNxN个 多值数据来配置。由于一个数据可以由坐标轴X、 Y和Z的值x、 y 和z来指定,因此,由I(x, y, z)来表示该多维数据。注意,由多 维数据I(x, y, z)所表示的多值数据不限于NxNxN的3D矩阵,而 可以是四维矩阵。此外,所述多维数据可以具有可以〗象NxMxL那样 被确定的范围和不同的维数。更进一步地,假定由坐标(x, y, z)指定的3D矩阵的元素可以具有多个分量值,例如IO (x, y, z) , II (x, y, z) , ......, In ( x,y, z)。这与颜色查找表对应。然而,为了简明,在该实施例中,假 设每个坐标位置存储一个数据(16比特多值数据,如上所述)的多维 数据将要被编码。注意,每一元素的比特的数量不限于16,而是每一 元素可以由8比特、10比特或12比特来表示。上述数值仅仅是示例。图2是根据该实施例的所输入的多维数据输入的示意图。在该实 施例中,由于每一维的长度是N,因此多维数据形成由三个具有长度 N的维度所定义的立方体形状。多维数据输入单元101接收各个多值数据,所述多值数据配置待 编码的多维数据。作为多值数据的输入顺序,z轴的参数z从0向N-l 改变。由参数z的值所定义的并且由参数x和参数y所表示的平面在 下文中将被称为"平面,,。假设在该平面中以光栅扫描顺序来输入多 值数据。待编码的数据定义了 3D空间,而一个平面由降低一个维度 的元素的二维(2D)集合来定义。图3A所示的阴影线部分是通过固定z=0并且改变x和y来定义 的平面。初始地,以光栅扫描顺序来输入定义该平面的多值数据。其 后,以光栅扫描顺序扫描并且输入各个平面的多值数据,直到z=l, z=2, ......, z=N-l。图3B示出对于满足0《oc<N的任意值a(其中,值a是非负整数) 的z-a的平面(数据集合I(a))。在以下描述中,通过在"平面" 之后加上符号z及其值来表示每一单独平面,例如对于z=0的平面有 "平面z0",以及对于z-l的平面有"平面zl"。因此,图3B所示 的平面可以由"平面za"来表示。平面緩沖器102包括FIFO緩冲器,其具有用于存储一个平面 的多值数据(即NxN个多值数据)的区域。该平面緩沖器102总是在 内部存有NxN个元素,并且其存储从多维数据输入单元101输入的多 值数据I(x, y, z),同时输出之前的一个平面的数据I(x, y, z-l)。 在编码的开始,存储在平面緩冲器102中的NxN个数据被初始化为全"0"。为了有助于容易理解,当输入多值像素数据I (x, y, 0)时, 这些初始化的数据是与I (x, y, -l)对应的数据。平面间差生成单元103计算经由信号线路110从多维数据输入单 元101输入的元素的多值数据I (x, y, z)与从平面緩冲器102输出 的紧接在前的平面的元素的多值数据I (x, y, z-l)之间的差。这等 于计算元素数据集合I (z)和I (z-l)之间的差。平面间差生成单元 103通过以下步骤来生成平面间差D (x, y, z-l):将2A15 ( "iAj" 表示值i的j次幂)加到每个差,并且进行总和对2八16的求余运算。 这种生成方式等同于计算差元素数据集合D。平面间差D (所关注的 元素差数据)由下式来表示D(x, y, z) = Mod(I(x, y, z) - I(x, y, z-l) + 2A15, 2A16)其中,Mod(i, j)表示当将整数值i除以整数j时获得的余数。 j是正整数。不要求描述值i是否为非负整数。因此,以下将简短描 述其中值i为非负的情况。假设值i具有整数值r,其满足i=nxm+r,并且落入从0至m-l 的范围。例如,在Mod(-5, 3)的情况下,即值i=-5并且模="3", 由于必须满足条件1: i = -5 = nx3 + r条件2: 0《"2因此,我们得到n=-2以及r-l。也就是说,Mod (-5, 3)被看 作Mod (1, 3)而被计算。以下将给出更清楚的解释。为了简明,假定两个值Va和Vb是 由8比特所表示的非负整数。由于值Va和Vb两者都由8比特来表示, 因此它们可以采用落入范围0至255内的值,并且不可能采用落入该 范围之外的值。简而言之,减法"Va-Vb,,可以采用从-255至+255的 值。然而,当Va二"0,,时,值"Va-Vb"落入从-255至0的范围内,即, 其采用256个不同的值之一。另一方面,当Vb-"0"时,值"Va-Vb" 落入从0至+255的范围内,即,其采用256个不同的值之一。也就是 说,由8比特所表示的两个值之间的差总是采用256个不同的值之一。通过将中间值"128"加到这个差上,并且通过将该和除以256来计算 余数(残差),可以将差映射到落入从0至255范围内的值。在Va="0" 的示例中,落入从-255到129的范围内的值被分配到落入从129至255 范围内的值,而落入从-128到0的范围内的值被分配到落入从0至128 范围内的值。在Vb-"0"的示例中,落入从0到127的范围内的值被 分配到落入从128至255范围内的值,而落入从128到255的范围内 的值被分配到落入从0至127范围内的值。每一平面间差D(x, y, z)是具有与输入多值数据I (x, y, z) 相同数量比特的信息。緩沖器104具有用于存储从信号线路lll输入的N + l平面间差 D (x, y, z)的容量。图4中的阴影线部分示出在D (x, y, z)的输入时序存储在緩 冲器104中的N+l个平面间差D的数据。在该坐标位置(x, y, z) 处的平面间差D(x, y, z)在下文中将被表示为所关注的数据Di(或 也被表示为元素差数据Di)。使得Da、 Db和Dc是位于所关注的数 据Di附近的三个已编码数据,并且这三个数据在下文中将被称为所关 注的数据Di的邻近数据。图5示出所关注的数据Di(图5中的*标记) 与邻近数据Da、 Db和Dc之间的相对位置关系。邻近数据Da、 Db 和Dc可以由下式来表示Da=D(x-l, y, z)(即,位于所关注的数据的左边邻近位置的数据)Db=D(x, y-l, z)(即,位于刚好在所关注的数据之上的位置 的数据)Dc=D(x-l, y-l, z)(即,位于所关注的数据的左上方位置的数据)多值数据预测单元105与所关注的数据Di的输入时序同步地访 问緩冲器104,并且接收緩沖器104中的所关注的数据Di的邻近数据 Da、 Db和Dc。多值数据预测单元105通过下式来计算所关注的数据 Di的预测值p:p=Da+Db-Dc并且将算出的预测值p输出到预测误差生成单元106。 注意,存在对于计算预测值p的期望。当所关注的数据Di的坐 标位置是左上角位置(X轴和Y轴都是"0")时,所有邻近数据Da、 Db和Dc都落入平面之外。在此情况下,多值数据预测单元105输出 预测值p为"32768"(由16比特所表示的最大值的一半的值)。当 所关注的数据Di的坐标位置在除了左上角位置之外的平面的第一行 (Y坐标为"0")上时,多值数据预测单元105输出数据Da作为预 测值p。当所关注的数据Di的坐标位置是除了左上角位置之外的左端 位置(X坐标为"0")时,多值数据预测单元105输出数据Db作为 预测值p。注意,由于这些例外规则与解码装置的例外规则相同,因 此它们并不限制本发明。预测误差生成单元106计算经由信号线路111输入的所关注的数 据Di (=平面间差D (x, y, z))与从多值数据预测单元105输入的 预测值p之间的差,并且将该差作为预测误差e输出到预测误差编码 单元107。预测误差编码单元107检查可以将从预测误差生成单元106输入 的预测误差e分类给多个群组中的哪一群组,并且生成群组号SSSS 和为每一群组指定的比特长度的附加比特。图6示出预测误差e和群组号SSSS之间的关系。附加比特是用 于指定群组中的预测误差的信息,并且比特长度由群组号SSSS来给 出。如果SSSS-16,则附加比特的比特长度例外地是零。如果预测误 差e为正,则将预测误差e的较低SSSS比特用作附加比特;如果预 测误差e为负,则将e-l的较低SSSS比特用作附加比特。如果预测误 差e为正,则所述附加比特的最高有效位是l,或者,如果预测误差e 为负,则所述附加比特的最高有效位是0。由预测误差编码单元107 按以下顺序来执行对于预测误差e的码生成处理。也就是说,参考存 储在霍夫曼表存储器108中的霍夫曼表来输出与群组号SSSS对应的 已编码数据(图7)。其后,当SSSS^O或16时,输出由群组号所指定的比特长度的附加比特。码流形成单元109在编码处理的较早阶段生成附加信息(头部), 并且将其输出到信号线路112。所述附加信息包括待编码的多维数 据的X轴、Y轴和Z轴方向上的元素的数量(在该实施例中全为N 个)、定义多维数据的每一元素的分量的数量(在该实施例中是l)、 每一分量的精度(在该实施例中是16比特)、由预测误差编码单元 107所使用的霍夫曼表的信息等,在解码时需要所述附加信息。码流 形成单元109将在所述头部之后从预测误差编码单元107输出的每一 平面的已编码数据输出到信号线路112上。结果,经由信号线路112 输出的已编码数据具有图8所示的结构。注意,信号线路112的输出 目的地是存储介质或存储设备(例如硬盘等)。作为替换方案,输出 目的地可以是网络、并且输出目的地的类型并非特定地受限。以下将描述用于对由多维数据编码装置生成的已编码数据进行 解码的解码装置。图9是示出解码装置的布置的框图。如图9所示, 该装置包括码緩冲器卯l、头部分析单元902、预测误差解码单元 903、平面间差解码单元904、多维数据解码单元905、多维数据输出 单元906、霍夫曼表存储器108、緩沖器104、多值数据预测单元105、 平面緩冲器102、以及控制整个装置的控制单元950。在图9中,标号 907和908表示信号线路。图9中的相同标号表示执行与图1所示的 编码侧的操作相同操作的块,并且将避免对其进行重复描述。以下将描述该实施例的解码装置的各个处理单元的处理内容。依次从信号线路907输入待解码的已编码数据,并且将其存储在 码緩冲器901中。每当通过稍后将描述的解码处理来生成自由区域时, 緩沖器901就可以存储所有已编码数据,或者,可以接收并存储已编 码数据。头部分析单元902分析存储在码緩冲器901中的已编码数据的头 部,并且提取附加信息。如上所述,附加信息包括与霍夫曼表关联 的信息、多维数据的X轴、Y轴和Z轴方向上的元素的数量、定义每 一元素的分量的数量、每一分量的精度(比特的数量)等。头部分析单元902将所提取的附加信息通知给控制单元950。当从头部分析单 元902接收到附加信息时,控制单元950就将平面緩冲器102中的NxN 个数据(16比特)清除为"0"。控制单元950基于所述附加信息进 行各个处理单元中的解码处理所需的设置,并且控制它们来开始所述 解码处理。注意,头部分析单元902将从所述头部所提取的霍夫曼表 的数据存储在霍夫曼表存储器108中。在此情况下,在以下描述中, 假定图7所示的霍夫曼表被存储在编码装置中的霍夫曼表存储器108 中。预测误差解码单元(充当第一解码单元)903从码緩沖器901提 取所需长度的比特数据,并且参照存储在霍夫曼表存储器108中的霍 夫曼表对所关注的平面间差的预测误差e进行解码,并且将其输出。 按与前述预测误差编码单元107的处理相反的序列来对预测误差e进 行解码。也就是说,参考霍夫曼表存储器108来对预测误差e的群组 号SSSS进行解码。当群组号SSSS不是O也不是16时,获取具有由 所述群组号所指定的比特长度的附加比特。基于群组号SSSS和附加 比特来对预测误差e进行解码,并且将其输出到平面间差解码单元 904。多值数据预测单元105通过与如上所述的编码时的操作相同的操 作而从解码的平面间差Da、 Db和Dc生成所关注的平面间差Di的预 测值p,所述解码的平面间差Da、 Db和Dc存储在緩沖器104中。平面间差解码单元904通过将从多值数据预测单元105输出的预 测值p与从预测误差解码单元903输出的预测误差e相加来恢复所关 注的平面间差Di,并且将已解码的所关注的平面间差Di输出到信号 线路908。多维数据解码单元(充当第二解码单元)905提取从平面间差解 码单元904输出的所关注的平面间差Di (=D (x, y, z)),以及紧 接在前的平面的多值数据I (x, y, z-l)。多维数据解码单元905以 与平面间差生成单元103的处理相反的序列对所关注的位置处的多值 数据I(x, y, z)进行解码。已解码的多值数据I(x, y, z)被传递给多维数据输出单元906,并且被存储在平面緩冲器102中。多维数据输出单元卯6将已解码的多维数据输出到装置的外部。 在该实施例中,多维数据输出单元906包括存储介质。可选地,多维 数据输出单元906可以包括对网络等的接口 ,单元906的类型不具体 地受限。已经描述了该实施例的编码装置和解码装置。以下将解释其中将 要对3D矩阵的元素I (x, y, z)进行编码的情况。在此情况下,使 得P(x, y, z)是由多值数据预测单元105生成的预测值,E(x, y, z)是由预测误差编码单元107所编码的预测误差e。于是,由下式来 表示预测误差E (x, y, z):其中,D(x, y, z)是多值数据I(x, y, z)和I(x, y, z-l ) 之间的差,并且可以如下进一步展开上式<formula>formula see original document page 16</formula>这说明,当根据预测值P'(x, y, z) = I(x-l, y, z) + I(x, y-l, z) - I(x-l, y-l, z)对元素I (x, y, z)进行编码时,在紧接在前的平面中生成的 预测误差E'(x, y, z画l) = I(x, y, z画l) - (I(x-l, y, z-l) + I(x, y-l, z-l)画I(x画l, y-l, z-l》就被反馈。因此,从上面的描述可知,在其中预测误差E'具 有在平面之间的接近的值的多维查找表的情况下,可以确保非常高的 压缩率。如上所述,根据该实施例,通过利用多维数据的多维空间(类似 颜色查找表)中的邻近数据之间的差充分小的事实来对多维(三维或更多维)数据进行无损编码。因此,可以关于原始多维数据以高压缩 率生成无损编码的数据。在该实施例中,由一个分量来定义3D空间中的一个元素。然而, 该实施例可以应用于一个元素包括多个分量的情况。例如,在用于把 依赖于设备的RGB空间转换为标准颜色空间Lab的查找表的情况下, 分量值R、 G和B充当坐标值,并且由所述坐标值所指定的元素具有 三个分量值。在此情况下,从以上描述可见,可以对于每一分量执行 上述处理。该实施例已经例示了维数="3"的示例。然而,维数不限于"3"。 以下将考察M维(M是等于或大于3的值)数据。由M个坐标轴Q。, Q, , Q2, Q3, ...... , Qm-,的坐标值来指定一个元素。使得q。, q, , q2,......,qM.!是各个坐标轴的坐标值。于是,可以由I(qo, q,, q2,……,qM-,) 来定义一个元素的数据。以下将考察这样的情况其中,在对M维特 定的扫描方向上扫描所述M维空间,并且对其进行编码。在此情况下,如果定义了虚拟2D平面"a"(这实际上是(M-1) 维空间,但采取这样的表述),其中,特定坐标轴(例如最后的坐标 轴QivM)釆取值qM.尸a,则可以将所述多维数据看作虛拟2D平面的 集合。于是,计算虚拟2D平面"a"和之间的差作为虛拟平 面间差D(q。, q!, ......, qM-2, a)。D(q。, qi".., qM-2, a) = I(q0, q!".., qm-2,"., a) - I(q0, qh..., qM-2,." a-1) 其后,从位于所关注的数据Di ( =D(q(>,q1,.,.,qM-2,a))的邻近的 已编码坐标位置处的一个或多个平面间差D来计算预测值p,并且以 与上面的描述相同的方式将所关注的数据Di与预测值p之间的差编码 为预测误差,因此生成所关注的M维数据集合D的已编码数据。注意,在该实施例中,编码装置和解码装置是独立的装置。然而, 单个装置可以具有这两种功能。<第一实施例的修改>可由通用信息处理装置(例如个人计算机等)的软件(计算机程序)来实现等同于第一实施例的处理的处理。图IO是示出根据该修改的信息处理装置的基本布置的框图。参照图10,标号1401表示CPU,其控制整个装置。标号1402 表示用作CPU 1401的工作区的RAM;而1403表示存储BIOS和引 导程序的ROM。标号1404表示键盘;而1405表示作为指示设备之 一的鼠标。标号1406表示显示控制单元,其包括视频存储器以及显示 控制器,所述显示控制器在CPU 1401的控制下将数据呈现在视频存 储器上,并且将呈现在视频存储器上的数据输出到显示设备1412作为 视频信号。显示设备1412包括CRT或液晶显示设备。标号1407表 示外部存储设备,例如硬盘驱动器等,其存储OS (操作系统)和应 用程序,用于实现多维数据处理。注意,外部存储设备1407还用于存 储由各种应用所创建的文件。标号1408表示存储介质驱动器,其在存 储介质(例如软盘、存储器卡、CD-ROM等)上读取/写入数据。标 号1409表示扫描仪接口 ( USB接口或SCSI接口等),用于连接该修 改的装置和图像扫描仪1411。标号1413表示网络接口。当该装置的电源接通时,CPU 1401根据存储在ROM 1403中的 引导程序从外部存储设备1407将OS加载到RAM 1402。结果,CPU 1401控制显示控制单元1406在OS的控制下在显示设备1412上呈现 并且显示GUI。操作者可以在观看显示设备1412上的显示的同时操 作键盘1404和鼠标1405 (指示设备)。当操作者输入多维数据处理 应用的启动指令时,CPU 1401将存储在外部存储设备1407中的多维 数据处理应用程序加载到RAM 1402,并且执行所加载的程序。结果, 该装置充当多维数据处理装置。当CPU 1401执行多维数据处理应用并且接收待编码的图像的输 入指令时,其从外部存储设备1407接收多维数据或其已编码数据,并 且对所接收的数据进行编码或解码。CPU 1401将编码或解码结果存储 在外部存储设备1407中作为文件。多维数据处理应用具有与图l所示的组件或图9所示的组件对应 的模块(子程序或功能)。然而,在RAM 1402上分派平面緩冲器102、緩沖器104和码緩沖器109。图11是示出由根据该修改的多维数据处理装置实现的编码处理 的序列的流程图。以下将参照图11的流程图描述由CPU1401执行的 序列(多维数据处理应用的编码处理)。假设如第一实施例中的那 样,待编码的数据是3D查找表,由一个分量来定义一个元素,并且 所述查找表可以对于各个坐标轴中的每一个采用落入从O至N-l的范 围内的值。在开始编码处理之前,CPU 1401执行装置的初始化处理(步骤 S1100) 。 CPU 1401在此时序执行平面緩冲器102的初始值设置,并 且将"0"设置为NxN个数据的初始值。CPU 1401基于与待编码的多 维数据关联的信息以及霍夫曼表的信息来生成文件头部,并且将其写 入到外部存储设备1407 (步骤S1101)。在步骤S1102、步骤S1103 和步骤S1104, CPU 1401将变量z、 y和z初始化为"0"。在步骤S1105, CPU 1401接收多值数据I (x, y, z)作为所关 注的数据。在步骤S1106, CPU 1401计算所关注的多值数据I(x, y, z)与紧接在前的平面的多值数据I (x, y, z-l)之间的差作为平面间差D (x, y, z),所述紧接在前的平面的多值数据I (x, y, z-l)具 有与所关注的多值数据相同的X坐标值和Y坐标值。在步骤S1107, CPU 1401计算预测值p和预测误差e。在步骤S1108, CPU 1401对 预测误差e进行编码,并且将已编码数据写入到外部存储设备1407 作为跟随文件头部的数据。其后,处理进入步骤S1109,并且CPU 1401将"1"加到变量x, 以对其进行更新。在步骤SlllO, CPU 1401对变量x的值与N进行比 较。如果x〈N,则处理返回到步骤S1105;如果x^V(在实际中x=N ), 则处理进入步骤Sllll。CPU 1401在步骤S1111将"1"加到变量y,并且在步骤S1112 对变量y的值与N进行比较。如果y〈N,则处理返回步骤S1104;如 果y^N(y-N),则处理进入步骤S1113。 CPU 1401在步骤S1113通 过将"1"加到变量z来对其进行更新,并且在步骤S1114对变量z的值与N进行比较。如果z〈N,则处理返回步骤S1103;如果z^V(z-N), 则该编码处理结束。如上所述,也可以由计算机程序来实现与前述第一实施例中的处 理相同的处理。以下将参照图12的流程图来描述由CPU 1401所执行的多维数 据处理应用的解码处理。在开始解码处理之前,CPU 1401执行装置的初始化处理(步骤 S1200) 。 CPU 1401在此时序执行平面緩沖器102的初始值设置,并 且将"0"设置为NxN个数据的初始值。CPU 1401加载待解码的文件 头部,并且从所述头部获取与待解码的多维数据关联的信息以及霍夫 曼表的信息(步骤S1201)。在步骤S1202、步骤S1203和步骤S1204, CPU 1401将变量z、 y和x设置为"0"。在步骤S1205, CPU 1401参照霍夫曼表对预测误差e进行解码。 在步骤S1206, CPU 1401从已经解码的数据计算预测值p,并且恢复 通过将所述预测值p加到预测误差e所计算的平面间差D(x, y, z)。 在步骤S1207, CPU 1401加载用于存储紧接在前的平面的解码结果的 緩沖器中的相应多值数据I (x, y, z-l),以对所关注的平面中的所 关注的数据进行解码,并且将解码结果输出到对其进行存储的外部存 储设备。其后,处理进入步骤S1208,并且CPU 1401将"l,,加到变量x, 以对其进行更新。在步骤S1209, CPU 1401对变量x的值与N进行比 较。如果x〈N,则处理返回到步骤S1205;如果x^N(在实际中x=N ), 则处理进入步骤S1210。CPU 1401在步骤S1210将"1"加到变量y,并且在步骤S1211 对变量y的值与N进行比较。如果y〈N,则处理返回步骤S1204;如 果y^N(y-N),则处理进入步骤S1212。 CPU 1401在步骤S1212通 过将"1"加到变量z来对其进行更新,并且在步骤S1213对变量z 的值与N进行比较。如果z<N,则处理返回步骤S1203;如果z^N( z=N ), 则该解码处理结束。如上所述,可以由计算机程序来实现与第一实施例相同的功能, 因此,提供相同的操作和效果。在上面的描述中,从外部存储设备1407读出待编码的多维数据。 作为替换方案,本发明可应用于以下情况待编码的多维数据可以被 存储在存储介质中,或者,可以从网络上的服务器被下载。此外,编 码结果的输出目的地不限于外部存储设备1407。例如,可以将编码结 果输出到网络,并且对输出目的地没有具体限制。<第二实施例>第二实施例将解释其中颜色简档(例如ICC简档数据)中的颜 色查找表被压缩的示例以及其中已编码数据被解码的示例。图13是示出根据第二实施例的多维数据编码装置的布置的框 图。根据第二实施例的编码装置包括ICC简档输入单元1301、 ICC 简档贮存存储器1302、标签表分析单元1303、 CLUT提取单元1304、 平面緩冲器1305、平面间差转换单元1306、 JPEG无损编码单元1307、 CLUT编码数据贮存存储器1308、 ICC简档压缩数据形成单元1309、 ICC简档压缩数据输出单元1310、以及控制整个装置的控制单元 1350。在图13中,标号1311和1312表示信号线路。以下将参照图13描述作为根据第二实施例的编码装置的多维数 据的ICC简档数据的编码处理。ICC简档是这样一种技术,其用于通过经由被称为PCS(简档连 接空间)的不依赖于设备的标准颜色空间连接输入设备、输出设备和 显示设备来维护彩色图像数据的兼容性。当应用颜色管理时,该技术 普遍用作标准方法。由于ICC简档的细节对于本领域技术人员已知, 因此将不对其给出描述。假设根据第二实施例的编码装置的目的在于基于由国际彩色协 议(ICC)所建立的格式对颜色简档数据(ICC简档数据)进行编码。 图14示出ICC简档数据的结构。ICC简档数据包括128字节的简档 头部1401。在所述头部之后,ICC简档数据包括标签计数1402,其表示已标记元素数据的编号;标签表1404,其描述表示各个已标记元 素数据的类型的签名、对于数据存储位置的偏移值、以及数据大小; 以及已标记元素数据1405。尤其是,假设在第二实施例中待编码的ICC简档数据的已标记 元素数据包括lutl6类型(lutl6Type)的一个已标记元素数据(图14 中的数据1403)。此外,假设除了所述已标记元素数据之外,ICC简 档数据不包括含有颜色查找表(CLUT)的任何已标记元素数据。然 而,本发明相似地可应用于lut8类型(lut8Type)的已标记元素数据 以及UitAtoB类型(lutAtoBType )和lutBtoA类型(lutBtoAType ) 的已标记元素数据。本发明还可应用于包括多个这样的已标记元素数 据的ICC简档数据。如果包括了多个这样的已标记元素数据,则可以 把与将在以下描述的对于lutl6类型的已标记元素数据的处理相同的 处理应用于各个已标记元素数据。以下将描述第二实施例的图像处理装置的各个处理单元的操作。从ICC简档输入单元1301输入待编码的ICC简档。ICC简档输 入单元1301是对外部存储介质的接口、对网络的接口等,并且用于将 待编码的ICC简档数据送入所述装置。ICC简档输入单元1301将输 入的ICC简档数据临时存储在ICC简档贮存存储器1302中。在将ICC简档数据存储在ICC简档贮存存储器1302中之后,标 签表分析单元1303分析ICC简档的标签表,以提取lutl6类型的已标 记元素数据,并且将提取的已标记元素数据发送到CLUT提取单元 1304。CLUT提取单元1304具有内部緩冲器(未示出),其存储由标 签表分析单元1303所提取的lutl6类型的已标记元素数据。lutl6类 型的已标记元素数据用于将i维颜色空间关联到另一 o维颜色空间, 并且包括3x3矩阵、1D输入表、多维颜色查找表(CLUT)、以及1D 输出表。CLUT是i维矩阵,并且每一矩阵元素具有o个分量值。作 为附加信息,lutl6类型的已标记元素数据描述除了 i和o之外的CLUT 的各个维的元素的数量g。 CLUT提取单元1304根据lutl6类型的格式来获取i、 o和g,并且依次将CLUT的各个元素的各个分量输出到 平面间差转换单元1306。CLUT包括三维和三个分量的表、三维和四个分量的表、或四维 和三个分量的表等。第二实施例的CLUT具有三维和三个分量,并且 下面将示出其中每一维的元素的数量g-N的情况。因此,该实施例的 CLUT的元素的数量是NxNxN,并且分量的总数是NxNxNx3。因此, 除了每一元素由三个分量来定义之外,CLUT的配置与在第一实施例 中待编码的多维数据相同。使得I0(x, y, z)是3D矩阵的元素的第一分量,其中,X轴、 Y轴和Z轴的位置分别由x、 y和z来表示,并且使得Il(x, y, z) 是第二分量,12(x, y, z)是第三分量。在Uitl6类型的情况下,每 一分量值由16比特来表示。平面緩沖器1305对于一个平面存储从CLUT提取单元1304输出 的3D矩阵的元素。虽然该平面的概念与第一实施例中的相同,但由 于每一元素由三个分量来定义,因此平面緩沖器1305需要 NxNxNx2x3字节的容量。平面緩沖器1305被初始化,从而在编码处 理的开始,将所有值设置为零。平面间差转换单元1306与从CLUT提取单元1304输出的In(x, y, z) (n是0、 1、 2之一)相关联地读出来自平面緩冲器1305的所 述分量值的紧接在前的平面的值In (x, y, z-l)。平面间差转换单元 1306生成平面间差Dn (x, y, z)并且将其输出。更具体地说,平面 间差转换单元1306使用下式Dn(x, y, z) = Mod(In(x, y, z) - In(x, y, z画l) + (2A15), (2A16》JPEG无损编码单元1307通过由JPEG (ISO/IEC 10918-1)所 指定的无损处理对作为三个分量的16比特图像数据从平面间差转换 单元1306顺序输入的NxNxN个三个分量的16比特平面间差Dn ( x, y, z)进行编码,并且将已编码数据存储在CLUT已编码数据贮存存 储器1308中,所述16比特图像数据中的每一个均具有水平方向上的 N个像素和垂直方向上的NxN个像素。由于在已编写的标准"ITU-TT.81|ISO/IEC10918-1 Information technology - Digital compression and coding of continuous-tone still images: Requirements and guidelines"和 各种指令手册中已经写出了 JPEG无损处理的细节,因此将避免对其 重复描述。在JPEG无损处理中,可以选择包括无预测的八个不同预测^^式 之一。在此情况下,预测公式的选择编号m=4,即,使用Px=Ra+Rb-Rc (对于细节,参考所述已编写的标准的Annex H Table H.l -Predictors for lossless coding )。注意,在第二实施例中,7jC平方向上 的像素数量是N,垂直方向上的像素数量是NxN。或者,当编码时, 水平方向上的像素数量可以是NxN,垂直方向上的像素数量可以是N。假设将CLUT已编码数据存储在CLUT编码数据贮存存储器 1308中。在此情况下,ICC简档压缩数据形成单元1309提取存储在 ICC简档贮存存储器1302中的ICC简档数据,以及来自存储在CLUT 编码数据贮存存储器1302中的CLUT已编码数据的所需数据。于是, ICC简档压缩数据形成单元1309形成ICC简档压缩数据,并且将其 输出。在存储在ICC简档贮存存储器中的ICC简档数据中,通过以 存储在CLUT编码数据贮存存储器中的CLUT已编码数据来替换由 CLUT提取单元1304所提取的CLUT而形成ICC简档压缩数据。图 15示出由ICC简档压缩数据形成单元1309生成的ICC简档压缩数据 的结构。在压缩之前与图14的差别在于,当压缩CLUT作为包括 CLUT压缩数据的已标记元素数据1501时,用存储在CLUT编码数 据贮存存储器1308中的CLUT已编码数据来替换包括CLUT的已标 记元素数据1403的CLUT部分(图14),如图15所示。作为在CLUT 的编码之后的已标记元素数据的大小改变的结果,写入描述包括标签 表中的CLUT压缩数据的已标记元素数据的大小的部分(由图15中 的标号1502来表示)。更进一步地,由于在包括CLUT压缩数据的 已标记元素数据之后的已标记元素数据1504的偏移位置已经改变,因 此更新描述其偏移的部分(由图15中的标号1503来表示)。ICC简档压缩数据输出单元1310将从ICC简档压缩数据形成单元1309输出的ICC简档压缩数据输出到装置外部。ICC简档压缩数 据输出单元1310是对于外部存储设备的接口 ,并且存储压缩数据作为 文件。注意,该ICC简档压缩数据输出单元1310可以是对网络的接 口等。图16是示出根据第二实施例的多维数据编码装置的编码处理序 列的流程图。以下将参照图16所示的流程图来描述根据第二实施例的 控制单元1350所进行的ICC简档数据编码处理的整个序列。首先,ICC简档输入单元1301输入待编码的ICC简档数据,并 且将其存储在ICC简档贮存存储器1302中(步骤S1600)。标签表 分析单元1303于是检查存储在ICC简档数据中的已标记元素数据的 类型,提取包括CLUT的已标记元素数据(在第二实施例中是lutl6 类型的已标记元素数据),并且将所提取的数据输出到CLUT提取单 元1304。 CLUT提取单元1304从已标记元素数据提取CLUT,并且 依次输出CLUT的元素(步骤S1602)。平面间差转换单元1306计算从CLUT提取单元1304提取的 CLUT的元素10 (x, y, z) 、 II (x, y, z)和12 (x, y, z)与存储 在平面緩冲器1305中的紧接在前的平面的元素10 (x, y, z-l) 、 II (x, y, z-l)和I2(x, y, z-l)之间的差,并且将平面间差DO(x, y, z) 、 Dl (x, y, z)和D2 (x, y, z)输出到JPEG无损编码单元 1307 (步骤S1603 )。JPEG无损编码单元1307将从平面间差转换单元1306输出的平 面间差DO (x, y, z) 、 Dl (x, y, z)和D2 (x, y, z)看作定义具 有水平方向上的N个像素和垂直方向上的NxN个像素的图像的一个 像素的三个分量值,并且基于JPEG无损处理来执行编码处理(步骤 S1604)。如果完成了 CLUT的所有元素的编码,则过程进入步骤S1606; 否则,过程返回步骤S1602,以通过步骤S1602至步骤S1604中的过 程对CLUT的下一元素进行编码(步骤S1605 )。在步骤S1606, ICC简档压缩数据形成单元1309生成ICC简档压缩数据。最后,在步骤S1607, ICC简档压缩数据输出单元1310将 ICC简档压缩数据输出到装置外部。通过前述处理,执行ICC简档数据的编码处理,并且将ICC简 档压缩数据输出到装置外部。以下将描述用于对如上所述地编码的ICC简档数据进行解码的 解码装置。图17是示出根据第二实施例的多维数据解码装置的布置的框图。 如图17所示,根据该实施例的多维数据解码装置包括ICC简档压 缩数据输入单元1701、 ICC简档压缩数据贮存存储器1702、标签表分 析单元1703、 CLUT压缩数据提取单元1704、 JPEG无损编码数据解 码单元1705、 CLUT元素数据解码单元1706、平面緩沖器1707、 CLUT 贮存存储器1708、 ICC简档数据恢复单元1709、 ICC简档输出单元 1710、以及控制整个装置的控制单元1750。在图17中,标号1711和 1712表示信号线路。以下将参照图17描述由根据第二实施例的多维数据解码装置的 控制单元1750所执行的ICC简档压缩数据的解码处理。根据第二实施例的解码装置输入已经由前述編码装置(图13 )生成并且具有图15所示的结构的ICC简档压缩数据,并且恢复原始ICC 简档数据。ICC简档压缩数据输入单元1701输入待解码的ICC简档压缩数 据。ICC简档压缩数据输入单元1701是对外部存储设备的接口、对 网络的接口等,并且用于将待解码的ICC简档压缩数据送入装置。ICC 简档压缩数据输入单元1701将输入的ICC简档压缩数据临时存储在 ICC简档压缩数据贮存存储器1702中。在将ICC简档压缩数据存储在ICC简档压缩数据贮存存储器 1702中之后,标签表分析单元1703分析ICC简档的标签表,以提取 lutl6类型的已标记元素数据,并且将提取的数据发送到CLUT压缩 数据提取单元1704。CLUT压缩数据提取单元1704具有内部緩沖器(未示出),其存储由标签表分析单元1703所提取的lutl6类型的已标记元素数据。 lutl6类型的已标记元素数据用于将i维颜色空间关联到另一 o维颜色 空间。ICC简档数据包括3x3矩阵,1D输入表、多维颜色查找表 (CLUT)、以及1D输出表。如上所述,在ICC简档压缩数据中, 以JPEG无损编码的数据来替换所述CLUT。 CLUT压缩数据提取单 元1704根据luU6类型的格式获取CLUT的矩阵维数i、矩阵元素的 分量的数量o、以及各个维的元素的数量g,并且指定将要存储CLUT 的位置(与JPEG无损编码的数据的开始位置对应)。JPEG无损编码数据解码单元1705从由CLUT压缩数据提取单 元1704所指定的其开始位置开始对JPEG无损编码数据进行解码处 理,并且依次对CLUT的各个元素的平面间差DO (x, y, z) 、 Dl (x, y, z)和D2 (x, y, z)进行解码。CLUT元素数据解码单元1706与由JPEG无损编码数据解码单 元1705所解码的平面间差DO (x, y, z) 、 Dl (x, y, z)和D2 (x, y, z)关联地从平面緩冲器1707读出10 (x, y, z-1) 、 II ( x, y, z-l)和I2(x, y, z-l),并且通过与前述平面间差转换单元1306 (图 13)配对的处理来对CLUT的所关注的元素的分量值IO (x, y, z)、 II (x, y, z)和12 (x, y, z)进行解码。平面緩沖器1707对于一个平面存储从CLUT元素数据解码单元 1706输出的3D矩阵的元素。虽然没有按顺序进行描述,但控制单元 1750在解码处理的开始将平面緩沖器1705的所有值初始化为零。CLUT贮存存储器1708顺序存储CLUT的已解码元素。为了指 定从平面间差对CLUT元素进行解码,描述平面緩沖器1707和CLUT 贮存存储器1708。然而,由于紧接在前的平面的元素值也存储在CLUT 贮存存储器1708中,因此解码装置可以仅具有CLUT贮存存储器 1708,该CLUT贮存存储器1708也用作平面緩沖器1707。在将CLUT的所有元素存储在CLUT贮存存储器1708中之后, ICC简档数据恢复单元1709提取存储在ICC简档压缩数据贮存存储 器1702中的ICC简档压缩数据以及来自存储在CLUT贮存存储器1708中的CLUT数据的所需数据,并且恢复和输出ICC简档数据。 通过以存储在CLUT贮存存储器中的CLUT数据来代替存储在ICC 简档压缩数据贮存存储器1702中的ICC简档压缩数据的CLUT压缩 数据(JPEG无损编码数据)来形成ICC简档数据。待恢复的ICC简 档是具有图14所示的结构的ICC简档数据。与ICC简档压缩数据(图 15)的差别在于当将CLUT解码为包括CLUT的已标记元素数据 1403时,如图14所示,以存储在CLUT J8i存存储器1708中的CLUT 数据来代替包括CLUT压缩数据的已标记元素数据1501 (图15)的 CLUT压缩数据部分。此外,作为由于CLUT的解码而导致的已标记 元素数据的大小改变的结果,描述包括标签表中的CLUT压缩数据的 已标记元素数据的大小的部分(由图15的标号1502来表示)被重写。 更进一步地,由于在包括CLUT压缩数据的已标记元素数据之后的已 标记元素数据1504的偏移位置已经改变,因此更新描述其偏移的部分 (由图15中的标号1503来表示)。ICC简档数据输出单元1710将从ICC简档数据恢复单元1709 输出的ICC简档数据输出到装置外部。ICC简档数据输出单元1710 是对于外部存储设备的接口,并且存储恢复的数据作为文件。注意,该ICC简档数据输出单元1710可以是对网络的接口等。图18是示出由根据该实施例的多维数据处理装置实现的解码处 理的序列的流程图。以下将参照图18所示的流程图描述由根据第二实 施例的多维数据解码装置的控制单元1750所执行的ICC简档压缩数 据解码处理的整个序列。首先,控制单元1750控制ICC简档压缩数据输入单元1701输 入待解码的ICC简档压缩数据,并且将输入的数据存储在ICC简档 压缩数据贮存存储器1702中(步骤S1800)。控制单元1750于是控 制标签表分析单元1703检查存储在ICC简档压缩数据中的已标记元 素数据的类型。控制单元1750于是控制标签表分析单元1703提取包 括CLUT压缩数据的已标记元素数据(在该实施例中的lutl6类型的 已标记元素数据),并且将提取的数据输出到CLUT压缩数据提取单元1704。 CLUT压缩数据提取单元1704从已标记元素数据提取CLUT 压缩数据,并在控制单元1750的控制下将提取的数据输出到JPEG无 损编码数据解码单元1705。 JPEG无损编码数据解码单元1705依次对 平面间差DO (x, y, z) , Dl (x, y, z)和D2 (x, y, z)进行解码 (步骤S1802 )。CLUT元素数据解码单元1706对CLUT元素的分量10 ( x, y, z) 、 II (x, y, z)和12 (x, y, z)进行解码(步骤1803 ),以及 在平面緩沖器1707和CLUT贮存存储器1708中存储所述元素的已解 码分量(步骤1804)。如果完成了 CLUT的所有元素的解码,则过程 进入步骤S1806;否则,过程返回步骤S1802,以通过步骤S1802至 步骤S1804中的过程对CLUT的下一元素执行解码处理(步骤S1805 )。 如果过程进入步骤S1806,则ICC简档数据恢复单元1709恢复ICC 简档数据。最后,在步骤S1807,ICC简档输出单元1710将恢复的ICC 简档数据输出到装置外部。通过前述处理,执行ICC简档数据的解码处理,并且可将解码 的ICC简档数据输出到装置外部。如上所述,根据第二实施例的多维数据处理装置将被包括在ICC 简档数据中的颜色查找表(CLUT )转换为平面间差,并且通过JPEG 无损处理对它们编码。被包括在ICC简档中的CLUT具有平面之间 的预测误差采取接近的值的趋势,并且可以通过第一实施例中描述的 效果来改进压缩性能。根据该实施例,在转换为平面间差(ID预测) 之后,平面预测(2D预测)被应用在平面内部,可以对于所有3D轴 使用邻近元素之间的相关性,因此允许高效压缩。尤其是,该实施例 对于压缩邻近元素之间具有高相关性的颜色查找表有效。作为可以提 供相同效果的方法,使用2D预测将平面之间的分量值转换为误差, 在平面内使用先前值预测,因此获得了与该实施例相同的效果。该实 施例的多维数据处理装置在压缩ICC简档数据以用于颜色匹配方面 使用静态图像的无损编码方法。通过在压缩彩色图像以及压缩用于颜 色匹配的信息(即ICC简档数据)的过程中使用相同方法,可以实现有效利用多维的相关性的高效编码。在该实施例中,当在设备之间传输彩色图像数据时,可以使用JPEG无损编码。反之,例如如果应用 另一无损编码方法(例如JPEG-LS等),则可以应用该编码方法来 替代在前述实施例中的JPEG无损编码。如在第一实施例的修改中那样,当计算机执行相应程序时,也可 以实现第二实施例。在此情况下,从上面的描述容易理解,计算机程 序包括与图13和图17所示的布置对应的模块,并且可以在主处理中 执行图16和图18所示的处理。<第三实施例>第二实施例已经例示三维和三个分量的CLUT。然而,本发明 可以应用于四维或四个分量的CLUT。在第二实施例中,通过固定3D 数据的z轴来定义每一平面。然而,多种方法可用于作为多维数据的 扫描顺序,并且本发明不限于前述示例。第三实施例将例示以下情况 作为示例,在ICC简档数据中,通过采用四维(4D)、三个分量颜色 查找表,选择并应用可以减少多个扫描顺序的码大小的扫描顺序。图20是示出根据第三实施例的编码装置的布置的框图。如图20 所示,编码装置具有如下布置以具有不同操作的CLUT提取单元 2001来代替第二实施例中所描述的图13所示的CLUT提取单元1304, 并且添加开关2002和预测误差绝对值平均计算单元2003。将避免对于与第二实施例共有的块的重复性描述,将仅解释具有 不同操作的块。如上所述,第三实施例将例示四维和三个分量的CLUT。假设如 在第二实施例中那样,每一维的元素的数量g=N。也就是说,CLUT 的元素的数量是NxNxNxN,分量的总数是NxNxNxNx3。CLUT提取单元2001具有内部緩冲器(未示出),其存储由标 签表分析单元1303所提取的lutl6类型的已标记元素数据。lutl6类 型的已标记元素数据用于将i维颜色空间关联到另一 o维颜色空间, 并且包括3x3矩阵、1D输入表、多维颜色查找表(CLUT)、以及1D输出表。CLUT是i维矩阵,并且每一矩阵元素具有o个分量值。作 为附加信息,lutl6类型的已标记元素数据描述除了 i和o之外的CLUT 的每一维的元素的数量g。 CLUT提取单元2001根据lutl6类型的格 式获取i、 o和g,并且依次将CLUT的各个元素的各个分量输出到平 面间差转换单元1306。前述第二实施例已经解释了由三个轴X、 Y和 Z所表示的3DCLUT的压缩。然而,该实施例压缩由四个轴W、 X、 Y和Z所表示的4D CLUT。当每一维的元素的数量g=N时,对于通 过将W轴的值从0改变到N-l所获得的X、Y和Z的N个3D数据执 行编码处理。以下将描述每一单独3D数据的处理。对于一个3D数据,第三实施例的CLUT提取单元2001执行为 了确定扫描顺序目的而读出3D数据的元素的"预扫描"以及为了编 码目的而实际读出元素的"主扫描"。在预扫描中,CLUT提取单元2001通过改变扫描顺序来执行三 个读取过程。在第一预扫描的读取过程中,CLUT提取单元2001读出 通过以Z轴从值N-l至0的降序固定Z轴所获得的XY平面的元素, 如图19A所示。在第二预扫描的读取过程中,CLUT提取单元2001 读出通过依次从Y轴的值N-1至0来固定Y轴所获得的XZ平面的元 素,如图19B所示。在第三预扫描的读取过程中,CLUT提取单元2001 读出通过依次从X轴的值N-1至O来固定X轴所获得的YZ平面的元 素,如图19C所示。当表示一个平面的两个轴由A和B定义时,作为在该平面中的扫描值的顺序,B轴的值被固定为零,A轴的坐标值改变为0, 1,......,N-l。当A轴的坐标值已经达到N-l时,B轴的值增加l,而A轴的坐标值改变为0, 1, ......, N-l。在此之后,重复该过程,直到B轴的值达到N-l并且A轴的值达到N-l。也就是说,B轴的值优先于A 轴的值而改变。然而,这种优先级顺序可以是相反的,即,A轴的值 可以优先于B轴的值而改变。在主扫描中,CLUT提取单元2001通过与在预扫描中执行的三个读取过程之一相同的读取方法来读出矩阵元素。基于从预测误差绝对值平均计算单元2003输出的控制信号来选择扫描方法。当经由信号 线路2004从预测误差绝对值平均计算单元2003输入的控制信号是"0" 时,通过以与第一预扫描的读取过程相同的扫描方法读出元素来获得 主扫描。当控制信号是"1"时,通过以与第二预扫描的读取过程相同 的扫描方法读出元素来获得主扫描。当控制信号是"2"时,通过以与 第三预扫描的读取过程相同的扫描方法读出元素来获得主扫描。 以下将更详细地描述预扫描。平面緩沖器1305对于一个平面存储从CLUT提取单元2001输出 的3D矩阵的元素。每一平面的构思与第二实施例中相同。在第二实 施例中,平面緩沖器1305存储通过固定Z轴而形成的XY平面。然 而,在第三实施例中,由于在改变待固定的轴的同时执行三个读取过 程,因此平面緩沖器1305存储不同的平面,即在第一预扫描的读取过 程中的XY平面、在第二预扫描的读取过程中的XZ平面、以及在第 三预扫描的读取过程中的YZ平面。然而,在三个读取过程的开始, 将平面緩冲器1305的值初始化为零。与从CLUT提取单元2001输出的In ( x, y, z ) (ii是0、 1、 2 之一)相关联地,平面间差转换单元1306从平面緩冲器1305读出该 分量值的紧接在前的平面的值,如第二实施例那样。在第一预扫描的 读取过程中,紧接在前的平面的值是In (x, y, z+l)。在第二预扫 描的读取过程中,紧接在前的平面的值是In (x, y+l, z)。在第三 预扫描的读取过程中,紧接在前的平面的值是In (x+l, y, z)。平 面间差转换单元1306生成平面间差Dn (x, y, z)并且将其输出。更 具体地说,平面间差转换单元1306使用下式 在第一预扫描的读取过程的情况下Dn(x, y, z) = Mod(In(x, y, z) - In(x, y, z+l) + (2A15), (2八16)) *在第二预扫描的读取过程的情况下Dn(x, y, z) = Mod(In(x, y, z) - In(x, y+l, z) + (2A15), (2A16)) *在第三预扫描的读取过程的情况下Dn(x, y, z) = Mod(In(x, y, z) - In(x+1, y, z) + (2A15), (2A16))开关2002在CLUT提取单元2001执行预扫描时连接到端子Ta 侧,并且在其执行主扫描时连接到端子Tb侧。当由平面间差转换单元1306生成的平面间差Dn (x, y, z)被 看作用于三个分量的16比特图像数据,并且使用JPEG无损处理中的 预测7〉式的选择编号m=4,即Px=Ra+Rb-Rc时,预测误差绝对值平 均计算单元2003计算预测误差,并且其后在预扫描中的三个预扫描的 读取过程的每一过程中计算它们的绝对值的平均,其中所述16比特图 像数据的每一个均具有水平方向上的N个像素和垂直方向上的NxN 个像素。预测误差绝对值平均计算单元2003在第一预扫描、第二预扫 描和第三预扫描中的每一读取过程中计算预测误差的绝对值的平均。 在预测误差绝对值平均计算单元2003在预扫描中的三个读取过程中 计算预测误差的绝对值的平均值之后,其比较这三个绝对值的平均值。 于是,预测误差绝对值平均计算单元2003将表示使得预测误差最小的 预扫描的读取过程的编号的控制信号输出到信号线路2004。当由这三个预扫描的读取过程中的第一预扫描的读取过程所获 得的绝对值的平均值为最小时,预测误差绝对值平均计算单元2003 将"0"输出到信号线路2004。当由第二预扫描的读取过程所获得的绝 对值的平均值为最小时,预测误差绝对值平均计算单元2003将"1" 输出到信号线路2004。当由第三预扫描的读取过程所获得的绝对值的 平均值为最小时,预测误差绝对值平均计算单元2003将"2"输出到信 号线路2004。以下将描述将要计算的预测误差的绝对值的三个平均值。假设图 21A至图21C中的黑点是3D数据的所关注的元素。在第一预扫描的 读取过程中的预测误差的绝对值的平均值是参照由图21A中的阴影线 所表示的七个元素所计算的平均值。在第二预扫描的读取过程中的预 测误差的绝对值的平均值是参照由图21B中的阴影线所表示的七个元 素所计算的平均值。在第三预扫描的读取过程中的预测误差的绝对值 的平均值是参照由图21C中的阴影所表示的七个元素所计算的平均值。存在八种不同的扫描方法,假设具有所关注的特定元素和邻近元素作为顶点的立方体用于3D数据的各个元素。该实施例搜索使得八 种扫描方法中对于三个种方法的预测误差的绝对值最小的扫描方法。 当然,可以增加预扫描的读取过程的数量,并且可以对于所有方法进 行搜索。当完成了三个预扫描的读取过程时,预测误差绝对值平均计算单 元2003输出控制信号,控制单元1350将开关2002的输出切换到端子 Tb。于是,CLUT提取单元2001开始主扫描。如上所述,当信号线 路2004上的控制信号为"0"时,使用与第一预扫描的读取过程相同 的扫描方法。当信号线路2004上的控制信号为"1"时,使用与第二 预扫描的读取过程相同的扫描方法。当信号线路2004上的控制信号为 "2"时,使用与第三预扫描的读取过程相同的扫描方法。如第二实施例那样,通过JPEG所指定的无损处理,JPEG无损 编码单元1307对于从平面间差转换单元1306顺序输入的NxNxN 个三个分量的16比特平面间差Dn (x, y, z)进行编码作为三个分量 的16比特图像数据,并且将已编码数据存储在CLUT编码数据贮存 存储器1308中,其中所述16比特图像数据的每一个均具有水平方向 上的N个像素和垂直方向上的NxN个像素。对于JPEG无损处理中 使用的预测公式,如第二实施例那样使用选择编号m=4,即 Px=Ra+Rb-Rc(对于细节,参考已编写的标准的Annex H Table H.l — Predictors for lossless coding)。注意,4吏用例如JPEG APP标记、 COM标记等将与可以使得码大小最小的扫描顺序关联的信息存留在 已编码数据中,从而以编码中的扫描顺序实现解码。通过对于通过固定4D CLUT的一个轴所获得的N个3D数据重 复前述处理,生成并存储N个JPEG压缩数据。注意,为了方便,第 三实施例已经解释了当搜索可以使得N个3D数据的码大小最小的扫 描方法时生成N个已编码数据的方法。然而,当通过类似第二实施例 中的固定扫描方法来读出3D数据时,无需分别地生成N个已编码数据,而是可以将一个已编码数据组合作为例如在水平方向上具有N个 像素并且在垂直方向上具有N x N x N个像素的图像数据。注意,由于源CLUT是4D CLUT,并且对于各个3D数据的扫 描方法是可变的,因此由第三实施例所生成的ICC简档压缩数据被编 码为N个3D数据。当基于与从已编码数据读出的扫描顺序关联的信 息来恢复数据,并且由与编码相反的处理来将N个3D数据恢复为4D 数据时,可以通过与第二实施例中描述的解码装置的布置几乎相同的 布置来对已编码数据进行解码。因此,将不给出对解码处理的描述。如上所述,根据第三实施例,对于当将多维数据转换为2D数据 并对2D数据进行编码时的扫描方法,选择并且应用可以减少码大小 的方法,因此进一步改进了压缩性能。<其它实施例>本发明不限于前述实施例。例如,第二实施例已经例示了其中由 JPEG所指定的无损处理来对颜色查找表(CLUT)进行编码的情况。 然而,可以使用其它编码技术,例如JPEG-LS基线方法(ITU-T T.87|ISO/IEC 14495)等。虽然在上述实施例中没有特定参考,但当 使用JPEG无损处理时,可以应用霍夫曼编码的优化,或者,可以使 用预定的霍夫曼表。第二实施例已经例示了三维和三个分量的CLUT,第三实施例已 经例示了四维和三个分量的CLUT。然而,本发明可应用于等于或大 于四维的维数,或四个分量。例如,在五维和四个分量的CLUT的情 况下,其中,每一维的元素的数量是N,可以按以下方式应用本发明 在考虑对于通过固定两个轴而定义的四个分量存在NxNNxNxN个 3D数据的同时,进行压缩。当类似第二实施例中那样对具有多个分量的多维数据进行编码 时,可以应用通过在多个分量之间应用无损颜色转换处理而移除分量 之间的相关性的处理,从而进一步改进了无损处理性能。第二实施例已经示出了将ICC简档数据编码为ICC简档压缩数据的情况。然而,无需总是将CLUT压缩数据存储在相同文件中。例 如,从其提取CLUT的待编码的ICC简档数据以及CLUT压缩数据 可以被存储为独立的文件。更进一步地,当压缩例如多个ICC简档时, 可以将它们的压缩数据存储作为单个文件,或者,可以共享公共已标 记元素数据。从上面的描述可知,本发明适合于压缩三维或更多维的 查找表。从上述实施例可见,本发明的范围包括计算机程序。通常,计算 机程序存储在计算机可读存储介质(例如CD-ROM等)中,并且被 拷贝或安装在计算机的系统中,从而执行所述计算机程序。因此,这样的计算机可读存储介质也被包括在本发明的范围内。虽然已经参照示例性实施例描述了本发明,但应理解,本发明不 限于所公开的示例性实施例。所附权利要求的范围应该给予最宽泛的 解释,从而包括所有这种修改以及等同结构和功能。
权利要求
1、一种编码装置,用于在由M(M≥3)维表示的多维空间中对元素数据进行编码,所述编码装置包括输入单元,其适用于依次更新所述多维空间中的一维的轴的值α,并且对于每一α,输入二维数据集合I(α);生成单元,其适用于计算元素差数据,并且生成元素差数据集合D(α),所述元素差数据表示形成所述输入的数据集合I(α)的元素数据与形成紧接在前的输入的数据集合I(α-1)的元素之间的差,所述元素差数据集合D(α)由所述元素差数据形成;以及编码单元,其适用于对由所述生成单元生成的元素差数据集合D(α)进行预测性编码。
2、 如权利要求l所述的装置,其中,所述多维空间是三维空间。
3、 如权利要求1或2所述的装置,其中,使得Di为所述差元素 集合D ( oc )中的所关注的元素差数据,并且Da、 Db和Dc是位于 所述所关注的元素差数据Di附近并且已经被编码的三个元素差数据,所述编码单元通过下式计算所述所关注的元素差数据Di的预测值P:p=Da+Db-Dc并且,所述编码单元对作为所述所关注的元素差数据Di与所述 预测值p之间的差的预测误差进行编码。
4、 如权利要求1所述的装置,其中,待编码的多维空间是用于 两个不同颜色空间之间的转换的颜色简档数据中所包括的颜色查找 表,其中,所述装置进一步包括CLUT提取单元,其适用于从所述颜色简档数据提取所述颜色 查找表;以及更新单元,其适用于用由所述编码单元获得的多维数据的已编 码数据来替换被包括在所述颜色简档数据中的所述颜色查找数据。
5、 如权利要求4所述的装置,其中,所述颜色简档数据是ICC 简档数据。
6、 如权利要求1所述的装置,其中,选择所述多维空间中的一 维的轴,以减少由所述编码单元生成的码大小。
7、 一种控制编码装置的方法,所述编码装置用于在由M(M>3) 维表示的多维空间中对元素数据进行编码,所述方法包括输入步骤,依次更新所述多维空间中的一维的轴的值ot,并且对 于每一 oc ,输入二维数据集合I ( oc );生成步骤,计算元素差数据,并且生成元素差数据集合D( a ), 所述元素差数据表示形成所述输入的数据集合I ( oc )的元素数据与 形成紧接在前的输入的数据集合I( a-l)的元素之间的差,所述元素 差数据集合D(a)由所述元素差数据形成;以及编码步骤,对在所述生成步骤生成的元素差数据集合D ( oc )进 行预测性编码。
8、 如权利要求所述的方法7,其中,所述多维空间是三维空间。
9、 一种解码装置,用于对由权利要求1所述的编码装置生成的 已编码数据进行解码,所述解码装置包括输入单元,其适用于输入已编码数据;第一解码单元,其适用于对所述输入的已编码数据进行解码, 以生成元素差数据集合D ( oc );以及第二解码单元,其适用于通过将在紧接在前的过程中解码的数 据集合I( a-l)与由所述第一解码单元生成的元素差数据集合D( oc ) 相加,来生成数据集合I ( oc )。
10、 如权利要求9所述的解码装置,其中,使得Di为所述元素 差数据集合D ( oc )中的所关注的数据,并且Da、 Db和Dc是位于 所述所关注的数据附近并且已经被解码的数据,所述第一解码单元通过下式计算所述所关注的数据Di的预测值p=Da+Db-Dc3并且,所述第一解码单元通过计算所述所关注的数据Di的值与 所述预测值p之和而对在所述元素差数据集合D ( oc )中的所关注的 位置处的数据进行解码。
11、 如权利要求9或10所述的解码装置,待解码的已编码数据 是表示两个不同颜色空间之间的对应关系的颜色简档数据中所包括的 颜色查找表的已编码数据,其中,所述解码装置进一步包括提取单元,其适用于从所述颜色筒档数据提取所述颜色查找表 的已编码数据;以及更新单元,其适用于通过以下操作来恢复所述颜色简档数据 用由所述第二解码单元所解码的多维数据来替换在所述颜色简档数据 中所包括的所述颜色查找表的已编码数据。
12、 如权利要求11所述的解码装置,其中,由所述更新单元所 恢复的颜色简档数据是ICC简档数据。
13、 一种控制解码装置的方法,所述解码装置用于对由权利要求 1所述的编码装置生成的已编码数据进行解码,所述方法包括输入步骤,输入已编码数据;第一解码步骤,对所述输入的已编码数据进行解码,以生成元素差数据集合D ( ex );以及第二解码步骤,通过将在紧接在前的过程中解码的数据集合I( oc-1)与所述第一解码步骤中生成的元素差数据集合D ( a )相加,来 生成数据集合I ( a )。
全文摘要
一种多维数据编码装置和解码装置及其控制方法。本发明以高压缩率通过简单布置来对其中空间中的邻近元素具有高相关性的例如颜色查找表的多维数据进行无损编码。为此,多维数据输入单元从由三维X坐标,Y坐标和Z坐标表示的查找表按Z=0,1,2,......的顺序输入X-Y平面的数据。平面间差生成单元计算两个邻近平面的元素之间的差D,并且输出计算结果作为二维平面间差。预测误差生成单元考虑平面间差D中的所关注的数据Di作为二维数据的元素,并且将对预测值p的差e输出到预测误差编码单元,所述预测值是参考已编码数据而获得的。预测误差编码单元从输入的差e生成码字并且将其输出。
文档编号H04N1/56GK101282410SQ200810090080
公开日2008年10月8日 申请日期2008年4月2日 优先权日2007年4月6日
发明者梶原浩 申请人:佳能株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1