运动图像压缩装置、图像处理装置、运动图像压缩方法、图像处理方法、以及运动图像压缩...的制作方法

xiaoxiao2020-9-10  6

运动图像压缩装置、图像处理装置、运动图像压缩方法、图像处理方法、以及运动图像压缩 ...的制作方法
【专利摘要】将运动图像数据的帧序列划分成贴片图像序列(250),并转换贴片图像序列(250)的色空间,从而生成YCbCr图像序列(252)(S10)。通过将其长度和宽度乘以1/2缩小(S12)然后压缩每个帧,从而生成参考图像的压缩数据(260)(S14)。与图像显示时间类似地解码和解压缩参考图像的压缩数据(260),从而将YCbCr图像重构成参考图像,生成原始YCbCr图像序列(252)与参考图像之间差值图像序列(262)(S16)。然后,生成差值图像的压缩数据(266),并每四个贴片图像帧地生成将参考图像的压缩数据(260)与差值图像的压缩数据(266)耦合获得的压缩数据(268)(S20)。
【专利说明】运动图像压缩装置、图像处理装置、运动图像压缩方法、图像处理方法、以及运动图像压缩文件的数据结构

【技术领域】
[0001]本发明涉及显示包括运动画面的图像的图像处理技术。

【背景技术】
[0002]人们已经提出了不仅执行游戏程序,而且可以渲染运动画面的家用娱乐系统。在该家用娱乐系统中,GPU(图形处理单元)使用多边形生成三维图像(参照,例如,PTL I)。
[0003]如何与图像是运动画面还是静止图像无关地有效显示图像一直是一个重要问题。因此,在像图像数据的压缩技术、传输技术、图像处理技术和显示技术那样的各种领域中已经开发出了各种技术并付诸于实际应用,在多种状况下无拘无束地欣赏高清晰度图像已经成为可能。
[0004][引用列表]
[0005][专利文献]
[0006][PTL I]US 6,563,999 A


【发明内容】

[0007]技术问题
[0008]一直存在对用户移动视点或游戏的进展引起的视角的变化等高响应度地显示高清晰度图像的需求。例如,为了像以放大尺度显示整个显示图像当中用户希望关注的区域,或转去高响应度地显示不同区域那样,实现具有与视点有关的自由度的图像显示,还有必要在短时间处理大规模图像数据的同时,使随机访问大规模图像数据成为可能。
[0009]具体地说,在随着时间的流逝依次显示大量帧的运动画面的情况下,由于数据规模增大,所以一般说来优先考虑压缩率。但是,随着压缩率升高,解码时的算术运算成本增大,以及数据访问的粒度也往往增大。其结果是,即使希望只显示有限区域,也可能必需解码帧的整个区域或将整个区域部署在存储器中。就算术运算成本和存储成本而言,这是不利的。
[0010]本发明就是在考虑了像上述那样的问题之后作出的,本发明的目的在于提供可以以满足各种需求的高响应度显示运动画面的图像处理技术。
[0011]问题的解决方案
[0012]本发明的一种具体方式涉及运动画面压缩装置。该运动画面压缩装置包括:贴片图像序列生成部分,配置成生成通过按图像平面划分构成运动画面数据的帧序列构成的贴片图像序列;参考图像压缩部分,配置成压缩该贴片图像序列以生成参考图像的压缩数据;差值图像生成部分,配置成生成由差值图像构成的差值图像序列,该差值图像代表构成贴片图像序列的贴片图像与通过解码该参考图像压缩部分生成的参考图像的压缩数据获得和与贴片图像相对应的图像之间的差值;差值图像压缩部分,配置成以通过按图像平面和时间轴划分差值图像序列获得的数据块为单位压缩差值图像序列,以便生成差值图像的压缩数据;以及压缩数据生成部分,配置成以预定个帧的贴片图像为单位生成包括参考图像的压缩数据和差值图像的压缩数据的运动画面压缩数据,并将该运动画面压缩数据输出到存储装置。
[0013]本发明的另一种方式涉及数据图像处理装置。该图像处理装置包括:信息处理部分,配置成相继计算构成运动画面数据的帧序列当中要显示的帧和该帧中要显示的区域;装载部分,配置成根据该信息处理部分计算的信息,以贴片图像为单位将运动画面压缩数据从存储运动画面压缩数据的存储装置装载到存储器中,该运动画面压缩数据包括通过压缩按图像平面划分帧序列获得的贴片图像序列获得的参考图像的压缩数据、和代表解码参考图像的压缩数据获得的图像与相应贴片图像之间的差值的差值图像的压缩数据;显示图像处理部分,配置成从装载在存储器中的运动画面压缩数据当中读出由该信息处理部分计算和包括要显示的帧当中要显示的区域的运动画面压缩数据,并解码和相加参考图像的压缩数据和差值图像的压缩数据,以便依次渲染要显示的区域的图像;以及显示部分,配置成依次显示渲染的图像。
[0014]本发明的进一步方式涉及运动画面压缩方法。该运动画面压缩方法包括:由运动画面压缩装置执行:生成通过按图像平面划分存储在存储装置中和构成运动画面数据的帧序列构成的贴片图像序列的步骤;压缩该贴片图像序列以生成参考图像的压缩数据的步骤;生成由差值图像构成的差值图像序列的步骤,该差值图像代表构成贴片图像序列的贴片图像与通过解码所生成参考图像的压缩数据获得和与贴片图像相对应的图像之间的差值;以通过按图像平面和时间轴划分差值图像序列获得的数据块为单位压缩差值图像序列,以便生成差值图像的压缩数据的步骤;以及以预定个帧的贴片图像为单位生成包括参考图像的压缩数据和差值图像的压缩数据的运动画面压缩数据,并将该运动画面压缩数据输出到存储装置的步骤。
[0015]本发明的更进一步方式涉及图像处理方法。该图像处理方法包括:由图像处理装置执行:相继计算构成运动画面数据的帧序列当中要显示的帧和该帧中要显示的区域的步骤;根据该计算步骤计算的信息,以贴片图像为单位将运动画面压缩数据从存储运动画面压缩数据的存储装置装载到存储器中的步骤,该运动画面压缩数据包括通过压缩按图像平面划分帧序列获得的贴片图像序列获得的参考图像的压缩数据、和代表解码参考图像的压缩数据获得的图像与相应贴片图像之间的差值的差值图像的压缩数据;从装载在存储器中的运动画面压缩数据当中读出通过计算步骤计算和包括要显示的帧当中要显示的区域的运动画面压缩数据,并解码和相加参考图像的压缩数据和差值图像的压缩数据,以便依次渲染要显示的区域的图像的步骤;以及依次显示渲染图像的步骤。
[0016]本发明的再进一步方式涉及运动画面压缩文件的数据结构。在该数据结构中,以预定个帧的贴片图像为单位相互联系通过以按图像平面和时间轴划分贴片图像获得的数据块为单位压缩贴片图像获得的参考图像的压缩数据、和通过以按图像平面和时间轴划分差值图像序列获得的数据块为单位压缩由差值图像构成的差值图像序列获得的差值图像的压缩数据,该贴片图像构成通过按图像平面划分构成运动画面数据的帧序列获得的贴片图像序列,该差值图像代表通过解码参考图像的压缩数据获得的图像与相应贴片图像之间的差值。在图像处理装置中,解码和相加根据要显示的帧和该帧中要显示的区域的信息以贴片图像为单位装载和与要显示的帧当中要显示的区域相对应的数据块的参考图像的压缩数据和差值图像的压缩数据,以便用于依次渲染要显示的区域的图像。
[0017]要注意的是,作为本发明的方式,上述的组件和通过方法、装置、系统、计算机程序等的不同几种之间的转换获得的本发明的表示的任意组合也是有效的。
[0018]本发明的有益效果
[0019]按照本发明,可以进行可以随机访问和呈现高吞吐量的三维数据输出

【专利附图】

【附图说明】
[0020]图1是描绘按照一个实施例的图像处理装置的配置的视图;
[0021]图2是例示本实施例中的运动画面数据的处理单元的视图;
[0022]图3是具体描绘本实施例中具有运动画面数据压缩功能的控制部分的配置和硬盘驱动器的配置的视图;
[0023]图4是示意性地例示本实施例中包括控制部分的图像处理装置执行的运动画面数据的压缩过程的视图;
[0024]图5是例示本实施例中参考图像压缩部分执行的生成参考图像的压缩数据的处理过程的流程图;
[0025]图6是示意性地例示本实施例中通过冗余判定压缩空间划分贴片图像序列的过程的视图;
[0026]图7是例示本实施例中进一步划分进行压缩判定之后的数据块形成量化单元以便量化像素值的方式的视图;
[0027]图8是例示本实施例中从Y图像的量化单元中生成调色板和索引的数据的方法的视图;
[0028]图9是例示本实施例中从CbCr图像的量化单元中生成调色板和索引的数据的方法的视图;
[0029]图10是例示本实施例中要存储到划分模式存储部分中以便形成由16个像素构成的量化单元的划分模式的变种的视图;
[0030]图11是例示本实施例中在未进行通过冗余的压缩的情况下从数据块中生成量化单元时的划分模式的视图;
[0031]图12是例示本实施例中从利用冗余进行压缩的数据块中生成量化单元时的划分模式的视图;
[0032]图13是例示本实施例中从利用冗余进行压缩的数据块中生成量化单元时的划分模式的视图;
[0033]图14是示意性地例示本实施例中参考图像的压缩数据的数据结构的视图;
[0034]图15是例示本实施例中以调色板的形式表示代表压缩模式和划分模式的标识号的方法的视图;
[0035]图16是示意性地例示本实施例中差值图像生成部分执行的生成差值图像的过程的视图;
[0036]图17是示意性地例示本实施例中解码参考图像时的图像的放大处理的视图;
[0037]图18是例示本实施例中通过调色板表示解码存储在调色板中的数值时的放大率的标识号的方法的视图;
[0038]图19是例示本实施例中通过差值图像的Y图像表示代表压缩模式和划分模式的标识号的方法的视图;
[0039]图20是示意性地例示本实施例中生成包括参考图像的压缩数据和差值图像的压缩数据的最终压缩数据的处理过程的视图;
[0040]图21是具体描绘本实施例中具有图像显示功能的控制部分的配置的视图;
[0041]图22是例示本实施例中解码部分执行的解码处理的过程的流程图;以及
[0042]图23是概念性地例示本实施例中运动画面由分层数据构成的数据结构的视图。

【具体实施方式】
[0043]在本实施例中,不增加算术运算成本和存储成本地按图像平面和随着时间轴为对其的随机访问显示运动画面。这里取作显示目标的运动画面可以是本身构成主要内容的电影、动画或用户拍摄的运动画面等,或可以是表示成像映射在游戏等的计算机图形中的视频纹理那样的图像构件的运动画面。
[0044]在静止图像的情况下,作为压缩方法,JPEG(联合图像专家组)、S3TC(S3纹理压缩)等已经付诸于实际应用。前者呈现高压缩率,但存储成本相对较高,因为在显示时需要将解码目标的数据部署在存储器中。后者的压缩率相对较低。但是,由于不需要部署解码数据,尤其在局部显示图像的情况下,所以存储成本较低。于是,可以响应取决于显示环境等的压缩率和存储负载的优先次序适当选择压缩方法之一。
[0045]同时,传统上,运动画面的压缩方法引起了像如下面所述那样的问题,因为MPEG (运动图像专家组)、AVC (高级视频编码)等都强调提高压缩率。尤其,在运动画面被用作视频纹理的情况下,即使只映射运动画面的一部分,也需要将整个区域部署在存储器中,这需要无用的存储成本。这类似地不仅适用于视频纹理,而且适用于这样以放大尺度只显示运动画面的一部分的情况。
[0046]尤其,在帧间预测编码方法的情况下,也需要将参考图像部署在存储器中的整个区域上。进一步,源于高压缩率,解码整个区域上的数据的算术运算成本也很高。更进一步,甚至在视频纹理表达的区域在视角之外的时段内,也必须继续解码,为随后进入视角内作准备。因此,甚至从这一点来看,也无用地需要解码的处理成本和存储成本。
[0047]因此,在本实施例中,压缩运动画面的数据以便,即使在保持在压缩状态下的同时将运动画面的数据存储到存储器中,也可以只提取必要区域中的数据,并独立地解码和显示数据,从而降低算术运算成本和存储成本。此时,考虑到帧中或帧间冗余地压缩运动画面的数据,以便考虑到图像的内容地实现高画面质量和高压缩率。
[0048]首先,描述本实施例中生成运动画面的压缩数据的技术。图1描绘了本实施例的图像处理装置的配置。图像处理装置10包括无线接口 40、输入装置20、显示处理部分44、显示装置12、硬盘驱动器50、记录介质安装部分52、盘驱动器54、主存储器60和控制部分100。
[0049]显示装置12包括像液晶显示单元、EL (电致发光)显示单元和等离子显示单元那样的一般显示单元之一。显示装置12可以与图像处理装置10的一些其它模块集成地配备,或可以使用线缆、无线LAN(局域网)等通过有线或无线连接来连接。显示处理部分44含有缓存要显示在显示装置12的显示单元上的数据的帧存储器(未示出)。
[0050]无线接口 40被配置成通过依照预定无线通信协议将无线接口 40与外部装置或网络连接,可以从服务器接收像图像数据那样各种类型的数据。输入装置20由像操纵杆、触摸面板、鼠标、键盘、按钮等那样的普通输入装置构成。输入装置20包括接受像选择处理目标的图像数据、开始生成压缩数据等那样用户的请求的操作部件。将用户输入到输入装置20中的各种请求信号供应给控制部分100。
[0051]硬盘驱动器50起存储数据的存储装置的作用。将从服务器接收的各种类型数据一次性存储到硬盘驱动器50中。当像存储卡那样的可换式记录介质安装在上面时,记录介质安装部分52从可换式记录介质中读出数据。当用于只读的ROM盘安装在上面时,盘驱动器54驱动ROM盘,并识别它以便读出数据。ROM盘可以是光盘、磁光盘等。可以将像图像数据那样各种类型的数据存储在那些记录介质中。
[0052]控制部分100包括多核CPU,在一个CPU中配备一个通用处理器核心和多个简单处理器核心。通用处理器核心被称为pro (PowerPC处理器单元),而其余处理器核心的每一个被称为SPU (协同处理器单元)。PPU含有寄存器,包括作为进行算术运算的实体的主处理器以及有效地将作为要执行的应用的其余处理单元的任务分配给SPU。要注意的是,PTO本身也可以执行任务。每个SPU都含有寄存器,以及包括作为进行算术运算的实体的分处理器和作为本地存储区的本地存储器。
[0053]主存储器60是存储装置,被配置成RAM (随机访问存储器)。每个SPU都含有专门用作控制单元的DMA(直接存储器访问)控制器,并且可以实现显示处理部分44的帧存储器与主存储器60之间的高速数据传送。本实施例中的控制部分100通过使多个SPU相互并行地工作实现高速图像处理功能。显示处理部分44与显示装置12连接,输出菜单屏幕图像的屏幕数据等。
[0054]图2是例示本实施例中的运动画面数据的处理单元的视图。在本实施例中,将构成压缩目标的运动画面的图像帧80的每一个划分成预定尺寸,以便生成多个贴片图像(例如,贴片图像(tile image)82)。由于运动画面的图像帧80随着在图2中沿着垂直方向表示的时间轴构成图像序列,所以贴片图像也构成与该图像序列相对应的图像序列(例如,贴片图像序列84)。在本实施例中,将贴片图像序列用作处理单元地生成压缩数据。在图像显示时,随机应变地相互连接解码的贴片图像来显示图像。要注意的是,在如下描述中,构成贴片图像序列的贴片图像的每一个也被称为“帧”。要注意的是,在原始图像帧的像素的数量小于预定数量的情况下,或在类似情况下,可以将整个图像帧当作一个贴片地不进行贴片图像划分。
[0055]图3具体描绘了本实施例中具有运动画面数据压缩功能的控制部分10a的配置和硬盘驱动器50的配置。控制部分10a包括贴片图像序列生成部分120、参考图像压缩部分122、差值图像生成部分124、差值图像压缩部分126、和压缩数据生成部分128。贴片图像序列生成部分120从压缩目标的运动画面数据中生成贴片图像序列,并将色空间从RGB色空间转换成YCbCr色空间。参考图像压缩部分122减少转换之后的帧,并将帧压缩成参考图像。差值图像生成部分124根据参考图像生成帧的差值图像。差值图像压缩部分126压缩差值图像。压缩数据生成部分128生成包括参考图像的压缩数据和差值图像的压缩数据的最终压缩数据。
[0056]参照图3和下文所述的图21,描述成进行各种处理的功能块的组件在硬件上可以由CPU(中央处理单元)、存储器和其它LSI (大规模集成电路)构成,在软件上可以用装载在存储器等中的程序来实现。如下文所述,控制部分100含有一个PI3U和多个SPU,PPU和SPU可以单个地或组合地分别构成功能块。于是,本领域的普通技术人员可以认识到,功能块可以只通过硬件,只通过软件,或通过硬件和软件的组合件地以各种形式实现,它们不局限于硬件、软件和组合件之一。
[0057]硬盘驱动器50包括运动画面数据存储部分130、划分模式存储部分132和压缩数据存储部分134。运动画面数据存储部分130含有存储在其中的压缩目标的运动画面数据。划分模式存储部分132存储参考图像压缩部分122和差值图像压缩部分126形成量化单元的划分模式。压缩数据存储部分134存储压缩数据生成部分128生成的压缩数据。
[0058]贴片图像序列生成部分120从输入装置20获取用户指定和与压缩目标的运动画面数据有关的信息,并从运动画面数据存储部分130中依次读出构成运动画面数据的帧的数据。然后,贴片图像序列生成部分120将帧划分成预定尺寸,以便生成贴片图像序列,并将作为像素值的RGB值转换成亮度Y和色差Cb和Cr,以便生成具有作为像素值的YCbCr值的YCbCr图像。色空间从RGB色空间到YCbCr色空间的转换可以应用现有方法来实现。
[0059]参考图像压缩部分122以预定比率缩短贴片图像序列生成部分120生成的贴片图像序列,然后压缩缩短的贴片图像序列。尤其,参考图像压缩部分122沿着空间和时间方向将贴片图像序列划分成预定尺寸,并且在划分之后量化数据块。在量化时,参考图像压缩部分122利用存储在划分模式存储部分132的划分模式之一进一步对每个数据块进行空时划分,以便形成由预定个像素的数据构成的量化单元。尽管下文描述其细节,但由于最佳划分模式随图像的内容而异,参考图像压缩部分122从存储在划分模式存储部分132中的多种划分模式当中选择一种最佳模式。
[0060]然后,参考图像压缩部分122通过为每个量化单元生成代表两个代表性值的调色板和将两个代表性值和通过代表性值的线性内插获得的多个中间值之一指定成像素值的索引进行量化。分别为预定个量化单元收集每一个由调色板和索引构成的数据,以便形成一个存储单元。
[0061]差值图像生成部分124分别为每个相应像素计算贴片图像序列生成部分120生成的贴片图像序列的每个帧与通过解码参考图像压缩部分122压缩的参考图像的数据恢复的相应帧之间的差值,以便生成贴片图像序列的差值图像。差值图像压缩部分126压缩差值图像生成部分124生成的贴片图像序列的差值图像。
[0062]该压缩处理的大致流程与参考图像压缩部分122进行的上述压缩处理的大致流程类似。但是,由于参考图像的像素值的范围是有限的,所以将该压缩处理配置成使其特点作为优点反映在渲染处理的数据尺寸或效率上。尤其,只由绝对值等于或低于预定阈值的像素值构成的数据块的所有像素值被认为是O。进一步,关于量化时的调色板,减少分层的数量,以便代表四个具体值,以便在图像显示时不进行线性内插。下面描述细节。
[0063]压缩数据生成部分128以预定单元收集参考图像压缩部分122压缩的参考图像的数据和差值图像压缩部分126压缩的差值图像的数据,然后将指针加入每个数据中生成压缩数据,以便在图像显示时可以引用数据。将生成的压缩数据存储到压缩数据存储部分134中。
[0064]图4示意性地描绘了包括控制部分10a的图像处理装置10执行的运动画面数据的压缩过程。首先,由贴片图像序列生成部分120将从运动画面数据存储部分130中读出的运动画面数据的帧序列划分成贴片图像序列250。这里,贴片图像具有256X256个像素的尺寸,以及每次对贴片图像的四个帧进行后面的压缩处理。尽管下面根据刚才所述的例子描述压缩处理,但可以各种各样地改变贴片图像的像素的数量、处理单元的帧的数量和在随后级上进行的处理的单元。
[0065]然后,贴片图像序列生成部分120将贴片图像序列250的色空间从RGB色空间转换到YCbCr色空间,以便生成具有256X256个像素的YCbCr图像序列252(S10)。然后,参考图像压缩部分122通过沿着垂直和水平方向将它们乘以1/2缩小YCbCr图像序列的帧,以便生成具有128X128个像素的YCbCr图像序列256 (S12)。进一步,参考图像压缩部分122以像下文详细所述那样的方式进行压缩处理,并相继地收集量化单元形成存储单元,以便生成参考图像的压缩数据260 (S14)。
[0066]另一方面,差值图像生成部分124像在图像显示时的情况那样类似地解码和解压参考图像的压缩数据260,以便恢复具有256X256个像素的YCbCr图像作为参考图像。然后,差值图像生成部分124计算参考图像与具有256 X 256个像素和贴片图像序列生成部分120生成的YCbCr图像序列252的相应帧的差值,以便生成256X256个像素的YCbCr的差值图像序列262。
[0067]然后,差值图像压缩部分126以像下文详细所述那样的方式相继进行压缩处理,并收集量化单元形成存储单元,以便生成差值图像的压缩数据266 (S18)。然后,压缩数据生成部分128生成通过连接参考图像的压缩数据260和差值图像的压缩数据266获得的压缩数据268,并将生成的压缩数据存储到压缩数据存储部分134中(S20)。
[0068]在压缩数据268中,包括指针信息作为首标269,以便在图像显示时可以找到原始运动画面的帧中数据块的位置与压缩数据的对应关系。对图像序列的整个其余部分的四个帧重复进行图4中的处理。进一步,通过随后每次对四个帧重复进行上述处理,压缩整个运动画面数据。
[0069]接着参考图5到15描述参考图像的压缩数据生成处理。图5是例示图4的步骤S14中参考图像压缩部分122生成参考图像的压缩数据260的处理过程的流程图。首先,沿着空间方向将在图4的步骤S12中缩小的四个帧的YCbCr图像序列256划分成预定尺寸,以便生成处理单元的数据块(S30)。这里,空间方向对应于图像的平面。另一方面,时间方向对应于巾贞的数量。
[0070]然后,对每个数据块确认沿着空间方向和时间方向是否存在某种冗余,并且,如果判定存在冗余,贝1J沿着判定存在冗余的方向压缩数据(S32)。尤其,如果沿着空间方向存在冗余,则缩小图像。如果沿着时间方向存在冗余,则对多个相继图像求平均以减少帧的数量。然后,利用存储在划分模式存储部分132中的划分模式之一进行时间-空间划分,以形成由相等数量的像素构成的量化单元并量化数据(S34)。
[0071]此时,将YCbCr图像分解成亮度Y是像素值的Y图像和具有作为一个元素的色差(Cb,Cr)的矢量值是像素值的CbCr图像,并通过预定放大率缩小CbCr图像。然后,像上述的方式那样类似地由Y图像和CbCr图像形成量化单元,以便分别量化图像。如上文所述,量化是通过调色板和索引表示包括在量化单元中的像素值的处理。
[0072]其结果是,为每个数据块生成包括Y图像的调色板和索引的量化单元的一个或多个数据和包括与Y图像相对应的CbCr图像的调色板和索引的量化单元的一个或多个数据。这里,构成一个数据块的那些量化单元的数量随步骤S32中的压缩量而不同。通过每次对预定数量的量化单元收集以像上述那样的方式生成的数据形成存储单元,生成原始贴片图像的四个帧的参考图像的压缩数据(S36)。
[0073]图6示意性地例示了通过步骤S32中的冗余判定压缩在图5的步骤S30中空间划分的贴片图像序列的过程。在图6的例子中,在步骤S30中将YCbCr图像序列划分成8X8个像素以形成数据块。尤其,沿着垂直和水平两个方向将具有128X128个像素的四个帧的YCbCr图像划分成16个块。在图6中,在每个数据块下面以“水平方向的像素数量X垂直方向的像素数量X帧数”的形式指示数据尺寸。这也类似地适用于随后画面。
[0074]对以像上述那样的方式形成的每个数据块272判定冗余。在图6中,首先进行沿着空间方向的冗余判定(S32a)。尤其,沿着预定方向通过预定放大率缩小图像,以及针对每个帧相互比较使缩小图像的尺寸返回到原始尺寸获得的图像和缩小之前的图像。如果像素值之间的差值的总和等于或低于阈值,则判定在空间方向存在一些冗余。然后,通过按总和等于或低于阈值的那些缩小放大率当中缩小量比较大的放大率缩小图像来压缩图像。在图6的例子中,将沿着垂直方向的1/2、沿着水平方向的1/2、和沿着垂直和水平方向的1/2设置成缩小放大率的候选者。
[0075]于是,如图6所描绘,取决于步骤S32a中的判定,出现在原始图像中没有冗余和8X8个像素的图像保持原样的情况和将图像缩小成8X4个像素、4X 8个像素或4X4个像素的不同情况。由于每四个帧为一组地进行判定,所以可以确定,如果当针对每个帧将像素值之间的差值的总和与阈值相比较时,发现对于所有四个帧该总和都等于或低于阈值,则可以缩小原始图像。可替代地,可以针对四个帧的像素值之间的差值的总和进行阈值判定。
[0076]接着,对设置在上文所述的四种状态之一下的图像进行沿着时间方向的冗余判定(S32b)。尤其,通过对预定数量的相继帧求平均生成图像,将生成的图像与原始帧的图像相比较。如果像素值之间的差值的总和等于或低于阈值,则判定在时间方向存在冗余。在这种情况下,由于等效地判定可以用一个平均图像总体表示多个帧,所以用总和等于或低于阈值的平均图像当中可以收集到最大数量的帧的平均图像取代这些帧以便压缩图像。在图6的例子中,设置了每两个帧进行平均以生成两个平均图像的一种情况和每四个帧进行平均以生成一个平均图像的另一种情况。
[0077]但是,由于不要求未满足下文所述的一个存储单元的程度的压缩,所以在图6的例子中,对具有8X8个像素的图像只设置用一个平均图像表示四个帧的图像的情况。进一步,不对具有4X4个像素的图像进行沿着时间方向的压缩。作为S32b中的判定的结果,如图6所描绘,存在也包括不进行沿着时间方向的压缩的情况、出现8X8个像素X4个帧、8X8个像素X2个帧、8X8个像素Xl个帧、8X4个像素X4个帧、8X4个像素X2个帧、4X8个像素X4个帧、4X8个像素X2个帧和4X4个像素X4个帧的八种类型数据结构的情况。
[0078]与有关沿着空间方向的冗余的判定类似,可以进行这样的判定,即针对原始图像的每个帧将像素值之间的差值的总和与阈值相比较,并在对于所有四个帧该总和都等于或低于阈值的条件下允许压缩。可替代地,可以针对四个帧的像素值之间的差值的总和进行阈值判定。要注意的是,缩小放大率和减少帧数的选择不局限于描绘在图6中的那些,而是可以,例如,响应原始数据块的尺寸、存储单元的数据尺寸等适当确定。此外,沿着空间方向的冗余判定和沿着时间方向的冗余判定的次序可以与描绘在图6中的次序相反。可替代地,通过以各种组合一次性地进行帧的缩小和帧数的减少,可以同时进行两种判定。可替代地,可以只进行一种判定。
[0079]图7示意性地例示了在图5的步骤S34中进一步划分像上述那样的压缩判定之后的数据块形成量化单元以便量化像素值的方式。每个量化单元是沿着空间方向、沿着时间方向、或沿着空间和时间方向两者划分数据块获得的一组预定数量像素。为每个量化单元生成代表两个代表性值的一对调色板和将指示调色板和调色板之间的中间值之一的标识信息与像素相联系的索引。该调色板和索引基本上类似于在S3TC纹理压缩方法中从RGB图像中生成的那些。另一方面,在本实施例中,参数的维数不同于一般S3TC的维数。
[0080]要注意的是,在进行上文所述的量化之前,将YCbCr图像划分成Y图像和CbCr图像,然后缩小CbCr图像。在如下描述中的例子中,假设沿着垂直和水平方向两者将CbCr图像缩小到1/2。在图7的左侧,一个矩形代表Y图像的量化单元280或CbCr图像的量化单元282。在如下描述中,假设量化单元包括16个像素。可替代地,虽然在图7中象征性地将量化单元表示成4X4个像素的图像,但取决于划分模式,在量化单元中可能混合着不同帧的一些像素。
[0081]通过量化,从Y图像的量化单元280中生成调色板284和索引286,而从CbCr图像的量化单元282中生成调色板288和索引290。由于CbCr图像相对于Y图像具有1/4尺寸,所以Y图像的四个量化单元对应于CbCr图像的一个量化单元。于是,如图7所描绘,收集从相应量化单元中生成的调色板和索引以生成一个存储单元292。在显示时,可以将一个存储单元的数据用于恢复相应区域中的像素值。
[0082]图8是例示从Y图像的量化单元中生成调色板和索引的数据的方法。如上文所述,一个量化单元包括16个像素。在图8中,用一个圆圈示意性地表示每个像素。在将通过每个像素保存成像素值的亮度Y的值表示在有关亮度Y的轴上的情况下,获得像描绘在图8中那样的分布300。从标绘在分布300上的16个像素值当中选择两个代表性值。例如,选择最小值(min)和最大值(max)作为代表性值,并将保存两个所选值的数据确定为调色板。
[0083]进一步,在将亮度Y的轴上最小值与最大值之间的线段内分成1:2的亮度Y的值确定为第一中间值(midi)和将该线段内分成2:1的亮度Y的值确定为第二中间值(mid2)的情况下,将为每个像素保存指定最小值、第一中间值、第二中间值和最大值的四个值之一的信息的数据确定为索引。其结果是,关于Y图像的量化单元,该调色板是代表亮度Y的8个位X2个值=2个字节的数据,该索引是将四个值的标识号表示成O到3的信息的2个位X 16个像素=4个字节的数据。
[0084]图9是例示从CbCr图像的量化单元中生成调色板和索引的数据的方法。与Y图像的量化类似,一个量化单元包括16个像素。但是,每个像素保存的值是具有作为元素的(Cb, Cr)的二维矢量值。在将像素值表示在具有色差Cb和Cr的轴的二维平面上的情况下,获得像描绘在图9中那样的分布302。
[0085]从标绘在分布302上的16个像素值当中选择两个代表性值。例如,在用直线近似表示分布302的情况下,分别将直线左端和右端的色差确定为最小值(min)和最大值(max),并确定为代表性值。将保存两个计算值的数据确定为调色板。此时,每个代表性值是具有作为元素的(cb,Cr)的矢量值。
[0086]进一步,在将近似直线上最小值与最大值之间的线段内分成1:2的色差确定为第一中间值(midi)和将该线段内分成2:1的色差确定为第二中间值(mid2)的情况下,将为每个像素保存指定最小值、第一中间值、第二中间值和最大值的四个值之一的信息的数据确定为索引。其结果是,关于CbCr图像的量化单元,该调色板是色差Cb和Cr的2个元素X代表色差的8个位X2个值=4个字节的数据,而该索引是将四个值的标识号表示成O到3的信息的2个位X 16个像素=4个字节的数据。
[0087]如果以像上述那样的方式压缩数据,则由于描绘在图7中的存储单元292包括Y图像的调色板的2个字节X 4个量化单元=8个字节、Y图像的索引的4个字节X 4个量化单元=16个字节、CbCr图像的调色板的4个字节和CbCr图像的索引的4个字节,所以存储单元292是总共32个字节的数据。由于一个存储单元292保存16个像素X4个量化单元=64个像素的数据,所以量化之后的数据中的一个像素对应于0.5个字节。
[0088]如上所述,在本实施例中,在将原始RGB图像分解成保存一维参数的Y图像和保存二维参数的CbCr图像之后,生成调色板和索引。因此,在一维Y图像的情况下,所有样本值分布在直线上,此外,在二维CbCr图像中,只在相关近似直线的法线方向存在偏移近似直线的样本。于是,与用直线近似表示然后量化保存三维参数的RGB图像的一般S3TC方法相比,可以将量化误差抑制得很小。
[0089]图10例示了要存储到划分模式存储部分132中以便形成由16个像素构成的量化单元的划分模式的变种。图10中的变种从左侧开始,称为模式(A)、模式(B)、模式(C)和模式(D),对于上级的Y图像和下级的CbCr图像,用直线表示空间划分的分界线,以及用阴影部分代表性地表达一个量化单元。要注意的是,在图10中,例示了对于Y图像和CbCr图像两者,划分不受通过冗余的压缩支配的数据块,即,8 X 8个像素X 4个帧的Y帧和4 X 4个像素X4个帧的CbCr图像的方式。
[0090]在模式(A)中,每4 X 4个像素X I个帧地划分图像。在模式(B)中,每4 X 2个像素X2个帧地划分图像。在模式(C)中,每2X4个像素X2个帧地划分图像。在模式(D)中,每2X2个像素X4个帧地划分图像。从模式⑶到模式㈧进行更详细时间划分,从模式(A)到模式(D)进行更详细空间划分。准备好像上述那样的划分模式,并依照有关图像沿着空间方向存在冗余还是沿着时间方向存在冗余的图像特性选择划分模式之一。
[0091]尤其,在像包括很大像天空或草坪那样颜色接近一种颜色的区域的情况那样图像具有空间冗余的情况下,该区域中的像素值有可能在空间方面变得更加一致。因此,即使空间划分数减少了,也较不可能包括量化引起的误差,因此选择接近模式(A)的划分模式。另一方面,在像通过定点观察来观察包括较不运动的风景的情况或类似情况那样图像具有时间冗余的情况下,像素值有可能沿着时间方向变得一致。因此,即使时间划分数减少了,也由于较不可能包括量化引起的误差,所以选择接近模式(D)的划分模式。
[0092]由于划分之前的数据块的数据结构实际上是例示在图6中的八种类型之一,所以可以取的划分模式可以随数据结构而不同。图11例示了当未进行通过冗余的压缩时从8X8个像素X4个帧的数据块中生成量化单元时的划分模式。
[0093]在这种情况下,由于生成8X8个像素X4个帧的Y图像和4X4个像素X4个帧的CbCr图像,所以可以从如图10所描绘的所有划分模式㈧、⑶、(C)和⑶当中选择划分模式。在所有划分模式中,每一个数据块生成四个存储单元(例如,存储单元304a、304b、304c和304d)。对这种情况下的划分模式分别应用标识号“ O ”、“ I ”、“ 2 ”和“ 3 ”。
[0094]图12例示了作为进行使用冗余的压缩时的结果,当数据块是8X4个像素X4个帧时,当数据块是4 X 8个像素X 4个帧时,以及当数据块是8 X 8个像素X 2个帧时生成量化单元的划分模式。首先,在数据块是8X4个像素X4个帧的情况下,由于生成8X4个像素X4个帧的Y图像和4X2个像素X4个帧的CbCr图像,所以选择划分模式⑶和(D)之一。在数据块是4X8个像素X4个帧的情况下,生成4X8个像素X4个帧的Y图像和2X4个像素X4个帧的CbCr图像。因此,选择划分模式(C)和⑶之一。
[0095]在数据块是8X8个像素X2个帧的情况下,生成8X8个像素X2个帧的Y图像和4X4个像素X2个帧的CbCr图像。因此,选择划分模式㈧、⑶和(C)之一。在图12的所有划分模式中,每一个数据块形成两个存储单元(例如,存储单元306a和306b)。对这种情况下的划分模式分别应用标识号“4”、“ 5 ”、“6 ”、“ 7 ”、“8 ”、“9 ”和“ 10 ”。
[0096]图13例示了作为进行使用冗余的压缩时的结果,当数据块是4X4个像素X4个帧时,当数据块是4 X 8个像素X 2个帧时,当数据块是8 X 4个像素X 2个帧时,以及当数据块是8X8个像素X I个帧时生成量化单元的划分模式。首先,在数据块是4X4个像素X4个帧的情况下,生成4X4个像素X4个帧的Y图像和2X2个像素X4个帧的CbCr图像。因此,该选择局限于模式(D)。在数据块是4X8个像素X2个帧的情况下,生成4X8个像素X2个帧的Y图像和2X4个像素X2个帧的CbCr图像。因此,该选择局限于模式(C)。
[0097]在数据块是8X4个像素X 2个帧的情况下,生成8X4个像素X 2个帧的Y图像和4X2个像素X2个帧的CbCr图像。因此,该选择局限于模式(B)。在数据块是8X8个像素X I个帧的情况下,生成8X8个像素X I个帧的Y图像和4X4个像素X I个帧的CbCr图像。因此,该选择局限于模式(A)。在所有划分模式中,每一个数据块形成一个存储单元(例如,存储单元308)。对这种情况下的划分模式分别应用标识号“ 11 ”、“ 12 ”、“ 13 ”和“14”。
[0098]如果以像上述那样的方式应用标识号,则每个标识号最终包括利用冗余的压缩模式和形成量化单元的划分模式作为信息。将四种类型的划分模式(A)到(D)和标识它们的信息事先以相互联系的关系存储到划分模式存储部分132中。参考图像压缩部分122根据压缩模式和所选划分模式的组合确定与每个数据块相对应的标识号。使标识号包括到压缩数据中并加以引用,以便在图像显示时在显示区中指定像素值的数据。
[0099]在对量化单元的划分模式可作多种选择的情况下,应用所有划分模式对每个数据块进行量化然后加以解码。然后,选择解码结果相对于原始图像指示最小误差的那一种划分模式。可替代地,可以使用含有相似内容的测试图像为每个区域事先设置划分模式。
[0100]现在,描述参考图像压缩部分122生成的参考图像的压缩数据的数据结构。与S3TC的纹理压缩方法类似,在本实施例中生成的压缩数据由调色板和索引构成。因此,可以按原样使用常见GPU的加阴影功能进行解码处理。
[0101]为此,优选的是可以与普通纹理图像类似地读出和解码通过量化Y图像的数据生成的索引和调色板和通过量化CbCr图像的数据生成的索引和调色板。因此,当存储压缩数据时,如上所述地将代表相同区域的Y图像的量化数据和CbCr图像的量化数据收集成单个存储单元,以便可以通过少数几次数据访问恢复像素。
[0102]图14示意性地例示了参考图像的压缩数据的数据结构。图14中的左侧代表一个存储单元314,其中如图14的右侧所描绘地存储着代表相同区域的Y图像的压缩数据310和CbCr图像的压缩数据312。Y图像的压缩数据310当中用“I”表示的每个长方体代表一个量化单元的索引,用“P”表示的每个长方体代表一个量化单元的调色板。这也类似地适用于CbCr图像的压缩数据312。如上文所述,Y图像的索引和调色板分别是每个量化单元四个字节和两个字节的数据。CbCr图像的索引和调色板两者都是每个编码单元四个字节的数据。
[0103]因此,如图14所描绘,将代表相同区域的Y图像的四个量化单元和CbCr图像的一个量化单元的数据集体排列成深度为四个字节的存储区。这里,由于Y图像的压缩数据310当中的调色板是两个字节的数据,所以如图14所描绘将两个调色板沿着深度方向布置。其结果是,一个存储单元314包括4X2X4个字节的数据。
[0104]如果以这种方式收集数据,则可以将一个存储单元314按原样存储到存储4 X 2个像素的RGBA图像的数据的存储区中。由于从8X8个像素X4个帧的数据块中最多形成四个存储单元,所以一个数据块的数据尺寸变成最多等于4X2个像素X4 = 32个像素的RGBA图像的数据尺寸。如果将冗余用于压缩,则数据量进一步减少到1/2或1/4。
[0105]这里,描述将代表压缩模式和划分模式的标识号包括到上文所述的压缩数据中的方法。该标识号是四个位的信息,因为它是如上所述的“O”到“14”的15种类型之一。同时,如图14所例示将Y图像的四个调色板存储到一个存储单元中。在每个调色板中,存储着代表亮度Y的数值的两个值。因此,通过四个调色板的每一个保存的两个值的存储次序和它们之间的幅度的关系表示四个位的标识信息。
[0106]图15是例示通过调色板表示标识号的方法的视图。如果将作为如图14所描绘的Y图像的四个调色板之一的调色板315取作例子,则从图15的这一侧的最高地址开始依次存储两个代表性值“PO”和“P1”。此时,用数值“PO”和“P1”的幅度的关系表示一个位的信息。事先设置成,例如,如果P0>P1,则这代表1,而“PO”和“P1”的幅度的任何其它关系都代表O。
[0107]由于一个存储单元包括Y图像的四个调色板,所以如果利用所有四个调色板以及事先确定了与位序列相对应的调色板的次序,则可以表示四个位的信息。与将值的哪一个存储到前一个地址中无关,取决于值的幅度的关系,调色板保存的两个值的哪一个是最小值或最大值是显而易见的,因此,该次序不影响解码处理。因此,如果从每个数据块的压缩模式和划分模式中确定了一个标识号,则参考图像压缩部分122响应该标识号确定要将每个调色板的较高值存储到哪一个地址。
[0108]要注意的是,当一个数据块形成多个存储单元时,所有存储单元表示相同标识信息。这使得不必与压缩数据的主体分开地生成压缩模式和/或划分模式的信息,可以整体地缩小数据尺寸。进一步,由于为相应区域的每个压缩数据嵌入压缩模式和划分模式的信息,所以引用该信息的效率是高的。
[0109]现在,参考图16到19描述差值图像的压缩数据生成处理。图16示意性地例示了差值图像生成部分124在图4的步骤S16中生成差值图像的过程。在图16中,与图4中的那些相同的数据用相同标号表示。首先,将贴片图像序列生成部分120生成的256X256个像素的YCbCr图像序列252和参考图像压缩部分122使用YCbCr图像序列252生成的参考图像的压缩数据260用作输入数据。
[0110]差值图像生成部分124首先解码参考图像的压缩数据260 (S40)。尤其,差值图像生成部分124读出构成包括在相同贴片图像序列中的数据块的存储单元的所有数据,并从调色板和索引中恢复Y图像和CbCr图像。此时,可以通过获取Y图像的调色板所代表的标识号指定像素的阵列。
[0111]尤其,由于从每个数据块的标识号中识别利用冗余的压缩模式和形成量化单元时的划分模式,所以根据压缩模式和划分模式通过与划分处理相反的处理连接包括在量化单元中的数据。然后,沿着垂直和水平方向将CbCr图像放大成两倍,然后与Y图像合成以生成YCbCr图像。接着,增加帧数或通过与例示在图6中的压缩处理相反的处理扩大图像。进一步连接以像上述那样的方式恢复的数据块,以生成128X128个像素X4个帧的YCbCr图像序列400。
[0112]然后,沿着垂直和水平方向将128X128个像素X4个帧的YCbCr图像序列400放大成两倍,以生成256X256个像素X 4个帧的YCbCr贴片图像序列402 (S42)。然后,计算YCbCr贴片图像序列402的像素值与贴片图像序列生成部分120生成的原始贴片图像的YCbCr图像序列252的那些像素值的差值,以生成差值图像序列262 (S44)。
[0113]步骤S40和S42中的处理基本上是与例示在图4和5中的参考图像的压缩处理的过程的那些相反的处理。但是,由于这个压缩处理是进行图像缩小、通过求平均和量化的帧数减少的不可逆处理,所以存在恢复的贴片图像序列402可能包括误差的可能性。将这个误差表示成差值图像,以满足压缩率和画面质量两者的要求。
[0114]差值图像是当在图像显示时解码和解压缩参考图像的压缩数据时弥补压缩引起的误差的图像。于是,有必要使差值图像生成部分124在步骤S40和S42中解码和解压缩参考图像的压缩数据260的处理与图像显示时的那些相同。另一方面,在本实施例中,以量化单元收集压缩数据260,使以量化单元的数据访问成为可能,因此不进行无用数据装载或解码地沿着空间方向和时间方向实现随机访问。
[0115]于是,在图像显示时,必须引用不同量化单元以便解码或解压缩某个量化单元不是优选的。因此,当在步骤S40中在连接了量化单元的数据之后在沿着垂直和水平方向将CbCr图像扩大成两倍的处理、依照压缩模式扩大图像以便将数据块的尺寸改变到原始尺寸的处理、和在步骤S42中沿着垂直和水平方向将通过连接数据块形成的YCbCr图像序列400扩大成两倍的处理中在像素之间生成新像素时,独立于量化单元的划分模式地在相关量化单元内完成扩大处理。
[0116]尤其,将扩大目标的图像划分成2X2个像素,并通过内插计算像素之间的像素的像素值,而2X2个像素之外的像素值通过外推来计算。图17示意性地例示以这种方式扩大图像的处理。在图17中的左侧,用白色圆圈指示将扩大之前的图像划分成2X2个像素的区域404中的每个像素。当将这些像素用于生成由4X4个像素构成的扩大区域406时,通过内插白色圆圈的像素的像素值获取原来具有像素值的白色圆圈之间的像素(阴影圆圈)的像素值。
[0117]通过使用白色圆圈的像素及其内插值进行外推获取原来具有像素值的白色圆圈的外侧的像素(黑色圆圈)的像素值。由于量化单元与量化单元具有的划分模式无关地包括2X2个像素的区域,所以如果以这种方式进行扩大处理,则与划分模式无关地在量化单元内完成扩大处理。于是,当差值图像生成部分124如上所述扩大CbCr图像或扩大YCbCr图像时,也以这种方式进行扩大处理。要注意的是,对于外推值,取决于像素值的灰度级地设置下限值和上限值,以便将像素值调整成不超过灰度级范围。由于参考图像的解码处理的细节与进行图像显示的装置中的解码处理的那些类似,所以下文对它们加以描述。
[0118]差值图像压缩部分126压缩以像上述那样的方式生成的差值图像(图4中的S18)。这种处理基本上类似于例示在图5中的参考图像的压缩处理。在下文中,把注意力放在与参考图像的差值上地加以描述。首先,与图5的步骤S30类似,沿着空间方向将差值图像序列262划分成与参考图像的尺寸相同的尺寸,以形成处理单元的数据块。这里,如图6所例示,一个数据块由8X8个像素X4个帧构成。但是,与参考图像不同,差值图像仍然是256X256个像素的图像,因此,沿着垂直和水平方向两者将差值图像划分成32个部分。
[0119]进一步,针对差值图像,每个数据块地进行是否认为像素值是O的判定,并将认为像素值是O的数据块确定为NULL (空)块。例如,对于构成数据块的所有像素值,进行像素值的绝对值与事先确定的阈值之间的比较。如果所有像素值的绝对值都等于或低于阈值,则将该数据块确定为NULL块。
[0120]在图像显示时的解码中处理确定为NULL块的数据块,以便使所有像素值都是O。例如,事先生成所有像素值都是O的一个存储单元,以及当生成最终压缩数据时,将确定为NULL块的所有数据块和该存储单元相互联系。在也可以与其它块类似地处理NULL块的情况下,使图像显示时的解码处理得到简化并使处理效率得到提高。
[0121]由于差值图像是如上文所述代表压缩参考图像引起的误差的图像,所以像素值可能接近O的可能性很高。在像,例如,蓝天或草坪那样图像频率低的区域中,较不可能出现像上述那样的误差。如果通过上述的处理找出这样的图像性质,并将差值图像的像素值处理成0,则可以提高图像显示时的处理效率以及可以提高数据压缩率。
[0122]然后,差值图像压缩部分126与图5的步骤S32类似地确认每个数据块沿着空间方向和时间方向是否存在冗余,并且当判定数据块具有冗余时,沿着一个或多个方向压缩数据。这种处理可能类似于对参考图像的处理。差值图像压缩部分126然后与图5的步骤S34类似地将YCbCr图像分解成Y图像和CbCr图像。差值图像压缩部分126缩小CbCr图像并利用划分模式之一在时间-空间上划分缩小的CbCr图像,以形成由数量相等的像素构成的量化单元,然后量化该数据。
[0123]此时的划分处理可能类似于对参考图像的处理。另一方面,由于差值图像具有如上所述像素值的范围比参考图像更受限制的性质,所以将这种性质用于使信息由相互不同的调色板保存。具体地说,取代降低调色板保存的数值的灰度级,不是将两个值而是将四个值保存成代表性值。尤其,虽然参考图像的调色板每个元素由8个位X2个值=2个字节构成,但差值图像的调色板同等地利用两个字节表示4个位X4个值。索引保存为每个像素指定四个值之一的信息。这样在图像显示时的解码中就不用进行确定第一中间值和第二中间值的线性内插,提高了处理效率。进一步,消除了在最大值和最小值之间将第一中间值和第二中间值选成2:1和1:2的内插值的限制。因此,可以更灵活地选择第一中间值和第二中间值,并且可以预计画面质量会有所提高。
[0124]调色板要保存的四个值根据例示在图8和9中的Y图像和CbCr图像的最小值、最大值、第一中间值和第二中间值来确定。尤其,如果每个元素可以用四个位的数据尺寸来表示四个值,则将四个值按原样存储到调色板中。另一方面,如果用四个位不能充分表示表示四个值所需的灰度级,则相继地将所有数值乘以1/2、1/4和1/8,以确定可以用四个位表示的放大率,然后将四个值乘以确定的放大率并存储到调色板中。要注意的是,由于CbCr图像的调色板是由(Cb,Cr)的两个元素构成的矢量值,所以用八个位表示四个值的每一个。
[0125]在图像显示时,将四个位的数值转换成并用作八个位的数值。此时,为了从调色板的数值中恢复最小值、最大值、第一中间值和第二中间值,需要为每个调色板指示要相乘的放大率。在要将以像上述那样的方式乘以1、1/2、1/4或1/8获得的数值存储到调色板中的情况下,一倍、两倍、四倍和八倍的四种选择可用作恢复的放大率。因此,将代表标识四种选择的标识号“O”到“3”的两个位的信息嵌入压缩数据中。图18是例示通过调色板表示放大率的标识号的视图。
[0126]在图18中,从图18的这一侧的最高地址开始依次将Y图像的四个位的四个值“ PO ”、“ PI ”、“ P2 ”和“ P3 ”、或CbCr图像的两个元素的总共八个位的四个值“ PO ”、“ PI ”、“ P2 ”和“P3”存储到调色板中。此时,通过包括取决于前两个值“PO”和“P1”之间的幅度关系的一个位和取决于后两个值“P2”和“P3”之间的幅度关系的另一个位的总共两个位表示标识号。事先设置这样的规则,例如,如果P0>P1,则这代表1,而数值PO和Pl之间的任何其它关系都代表0,以及如果P2>P3,则这代表1,而数值P2和P3之间的任何其它关系都代表O。
[0127]要注意的是,在CbCr图像的情况下,将通过位序列连接作为矢量值(Cb,Cr)的元素的Cb的四个位的值和Cr的四个位的值时的八个位的信息确定为“P0”、“P1”、“P2”和“Ρ3”。于是,如果可以从(Cb,Cr)对中获取八个位的值,则可以不将这些值存储在八个位的相继区域中。由于有关CbCr图像的四个值用矢量值表示,所以如果对总共八个位的信息进行比较,则即使元素之一具有相等值,八个位的值也不会变成相等。
[0128]对于每个调色板可以通过上述的总共两个位的信息表示标识号“O”到“3”。调色板保存的四个值不影响解码处理,因为最小值、最大值、第一中间值和第二中间值可以与存储次序无关、取决于值之间的幅度关系地决定。在图像显示时的解码中,首先指定标识号(S50),然后当将四个值P0、P1、P2和P3从四个位转换成八个位时,将它们乘以通过标识信息表示的放大率,以确定PO'、P1'、P2'和P3',以便恢复最小值、最大值、第一中间值和第二中间值(S52)。
[0129]这样,在差值图像的Y图像的调色板中,存储四个位的四个值。在参考图像的调色板中,通过八个位的两个值的存储次序和它们之间的幅度关系表示每一个代表压缩模式和划分模式的15个不同标识号“O”到“14”。图19是例示通过差值图像的Y图像的调色板进一步表示15个不同标识号的方法的视图。如上文参考图18所述,将四个值“P0”、“P1”、“P2”和“P3”存储到一个调色板408中。这里,通过由连接“PO”和“P1”的位序列形成的八个位的值(在图19中表示成“P01”)和由连接“P2”和“P3”的位序列形成的八个位的值(在图19中表示成“P23”)之间的幅度关系表示一个位的信息。
[0130]事先设置这样的规则,例如,如果P0DP23,则这代表1,而数值POl和P23之间的任何其它关系都代表O。其结果是,这种处理与参考图像的情况相同,因为将调色板的高地址的八个位的值和低地址的八个位的数值相互比较,以判定这些数值之间的幅度关系。于是,与参考图像的情况类似,可以用四个调色板表示代表压缩模式和划分模式的标识号。差值图像压缩部分126确定要存储到Y图像的调色板中的四个值的存储次序,以便使这四个值表示代表将调色板的数值恢复成原始数值的放大率的标识号和代表压缩模式和划分模式的标识号两者。
[0131]现在,描述压缩数据生成部分128生成最终压缩数据的处理。图20示意性地例示了在图4的步骤S20中生成包括参考图像的压缩数据260和差值图像的压缩数据266的最终压缩数据268的处理过程。如上文所述,参考图像的压缩数据和差值图像的压缩数据分别以数据块为单位形成。
[0132]尤其,在上文所述的例子的情况下,从通过将原始运动画面的帧序列划分成256X256个像素获得的贴片图像序列的四个帧中生成参考图像的数据块阵列410和差值图像的数据块阵列411。参考图像的数据块阵列410由16X16个数据块的压缩数据构成,而差值图像的数据块阵列411由32X32个数据块的压缩数据构成。数据块的压缩数据的尺寸在长度上是可变的,对应于一个、两个或四个存储单元之一。要注意的是,在差值图像中,取决于其值,将数据块处理成NULL块。
[0133]每个存储单元具有等于如上文所述的4X2个像素的RGBA图像的数据的数据尺寸。压缩数据生成部分128针对每个存储单元沿着预定方向以数据块阵列的预定次序连接数据块的存储单元的压缩数据。然后,压缩数据生成部分128加入将阵列上的数据块的位置和存储单元的存储地点相互联系的指针信息。在图20中的压缩数据42的例子中,参考图像数据的指针信息414、差值图像数据的指针信息416、参考图像的压缩数据418、差值图像的NULL块的压缩数据420和差值图像的压缩数据422沿着栅格方向按这个次序并置。
[0134]此外,在与存储单元类似地垂直并置每一个四个字节的两个数据的同时,水平地相继解压缩参考图像数据的指针信息414和差值图像数据的指针信息416。使这种情况下指针信息的存储次序与阵列上的相应数据块的次序相同,以便通过指针相互联系阵列上的每个数据块的位置和每个存储单元的存储位置。
[0135]在以这种方式相继生成压缩数据的情况下,生成具有两个像素的宽度的带状行沿着垂直方向相互连接的图像平面。因此,压缩数据412被理解成图像平面,并且通过存储单元与每个数据块相对应的区域的左上角的坐标表示指针信息。例如,如果该坐标通过UV坐标表示以及U坐标和V坐标分别用一个字节表示,则一个存储单元的指针变成总共两个字节的信息。其结果是,在压缩数据412是图像平面的情况下,两个数据块的指针可以用一个像素来表示。
[0136]即使原始运动画面是8000 X 4000个像素等的高清晰度图像,如果压缩数据412本身被缩小成256 X 256个像素或更小,则指针信息可以用如上所述的分别一个字节的U坐标和V坐标来表示。在这种情况下,参考图像数据的指针信息414变成代表16X16 = 256个数据块的128个像素的区域,而差值图像数据的指针信息416变成代表32X32 = 1024个数据块的512个像素的区域。要注意的是,如果不能通过分别一个字节的U坐标和V坐标满意地表示指针信息,则可以通过分别具有更大数据长度的U坐标和V坐标来表示,以便,例如,U坐标和V坐标分别用两个字节来表示。可替代地,可以改变划分的贴片的尺寸,以便一个字节可以充分表示指针信息。
[0137]例如,参考图像数据的指针信息414的区域内通过某个像素424表示的两个指针信息的每一个都指示包括在参考图像的压缩数据418中的某个存储单元的区域的左上角的坐标。该存储单元是构成与指针相对应的数据块的存储单元的顶部上的那些存储单元。同时,在差值图像数据的指针信息416内,通过某个像素426表示的两个指针信息之一代表NULL块的压缩数据420,而两个指针信息的另一个代表包括在差值图像的压缩数据422中的某个存储单元的区域的左上角的坐标。此外,该存储单元是构成与指针相对应的数据块的存储单元的顶部上的那些存储单元。
[0138]必要时每贴片图像序列的四个帧一个地准备NULL块的压缩数据420,以便将其与多个数据块相联系。通过对所有贴片图像序列每预定个帧(在上文所述的例子中,每四个帧)地生成这样的压缩数据,可以类似地压缩整个原始运动画面。将贴片图像序列的压缩数据按时间次序作为帧地存储到压缩数据存储部分134中。进一步,事先进行原始运动画面的帧中的贴片图像的位置与每个贴片图像序列的压缩数据的联系。例如,将代表位置的标识信息应用于贴片图像序列的压缩数据。这使得可以从运动画面的整个压缩数据中指定必要数据。
[0139]现在,描述使用通过上文所述的方法压缩的数据进行图像显示的技术。此外,本技术中进行图像显示的装置可以通过与显示在图1中的图像处理装置10类似的配置来实现。在下文中,主要对控制部分100的配置加以描述。图21具体描绘了本实施例中具有图像显示功能的控制部分10b的配置。包括控制部分10b的图像处理装置10基本上是使用以像上述那样的方式压缩的运动画面数据的至少一部分进行图像显示的装置。但是,对显示运动画面的目的或显示模式没有具体限制。
[0140]例如,图像处理装置10可以显示存储在硬盘驱动器50等中的电影或撮取运动画面、实时分发的运动画面流、计算机图形中的视频纹理等的任何一种。可替代地,可以同时显示多种运动画面,或在显示图像的局部区域中可以只使用一种运动画面。于是,在硬盘驱动器50中,不仅可以存储像上述那样的压缩运动画面,而且可以存储像实现各种功能的程序和其它图像数据那样的各种数据。
[0141]控制部分10b包括输入信息获取部分502、信息处理部分504、装载部分506和显示图像处理部分508。输入信息获取部分502从输入装置20获取用户输入的信息。信息处理装置504响应用户的输入等进行信息处理。装载部分506装载运动画面的必要压缩数据。显示图像处理部分508渲染图像帧。
[0142]输入信息获取部分502获取图像处理装置10提供的功能的起点/终点、和用户输入到输入装置20中、该功能接受的各种类型的输入信息。输入信息获取部分502将所获信息通知信息处理部分504。图像处理装置10提供的功能可以是运动画面显示功能或游戏的各种功能的任何一种、通信等。于是,输入信息获取部分502获取的输入信息也取决于功能地多种多样。
[0143]在本实施例中,容易地实现了沿着空间方向和时间方向对运动画面的随机访问。于是,用于接受牵涉到改变运动画面的显示区的操作一诸如用户为了放大、缩小或滚动正在显示的运动画面而作的视点移动操作、或显示映射视频纹理的计算机图形的游戏操作——的模式是特别有效的。
[0144]信息处理部分504根据输入信息获取部分502获取的输入信息,依照信息处理装置提供的功能进行信息处理。例如,当接受视点移动操作时,信息处理部分504根据视点移动操作的操作量,在每个时步之后确定显示区的移动量,并依次计算下一次显示区的坐标。在要进行游戏的情况下,信息处理部分504依照游戏的内容生成三维对象或依照游戏程序进级。由于可以应用常见技术进行处理,所以如下描述主要针对与显示运动画面有关的处理给出,而适当省略对其它处理的描述。
[0145]在有必要显示运动画面或作为进行像上述那样的信息处理的结果有必要改变运动画面的显示区的情况下,信息处理部分504计算显示区的帧坐标。信息处理部分504然后将计算的帧坐标通知装载部分506和显示图像处理部分508。在本实施例中,由于以贴片图像为单位或以预定个帧为单位生成各种压缩数据,所以也可以以此为单位进行从硬盘驱动器50到主存储器60的装载。
[0146]因此,信息处理部分504测量从开始显示运动画面的时刻开始经过的时间,并与帧坐标的信息一起发出基于所经过时间的帧数的通知。因此,装载部分506和显示图像处理部分508可以与相关贴片图像直到那时是否已经是处理目标无关地指定装载目标或解码目标的压缩数据。装载部分506根据来自信息处理部分504的通知确认在主存储器60中是否存储着必要压缩数据。
[0147]这里的必要压缩数据不仅包括下一次显示所需的压缩数据,而且包括为以后需要估计的压缩数据。以后的数据是代表在视角固定的情况下,相同显示区和时间轴上以后的帧内围绕相同显示区预定范围的区域的数据。另一方面,在作为移动视点等的结果使视角发生变化的情况下,上述以后的数据是代表从视角的变化中预测的移动目的地的显示区和以后的帧内围绕该显示区预定范围的区域的数据。如果在主存储器60中未存储着必要数据,则装载部分506从硬盘驱动器50装载压缩数据并将压缩数据存储到主存储器60中。
[0148]显示图像处理部分508包括数据读出部分510、解码部分512和渲染部分514。数据读出部分510根据从信息处理部分504接收的帧坐标,从压缩数据的标识信息等中指定包括下一显示区的数据的贴片图像序列的压缩数据。数据读出部分510然后从主存储器60中读出指定的压缩数据。解码部分512根据帧坐标,从包括在读出压缩数据中的指针信息中指定渲染所需的数据块的压缩数据,并解码指定的压缩数据。
[0149]尽管这种处理基本上是相反地遵循上文所述的压缩处理的处理,但可以对代表显示区的每个像素进行像素值的恢复。渲染部分514使用解码的数据渲染显示处理部分44的帧存储器中的整个显示图像。这种处理可以是渲染由帧坐标所代表的区域构成的显示图像的处理,或可以是包括视频纹理的映射处理的渲染处理。
[0150]图22是例示主要由解码部分512执行的解码处理的过程的流程图。首先,解码部分512参考包括在贴片图像的读出压缩数据中的指针信息当中参考图像数据的指针信息,以便指定包括渲染显示区所需的参考图像的数据的数据块的压缩数据(S60)。要注意的是,由于如上文所述以可变长度进行了压缩,所以多个存储单元可能是相关的。
[0151]然后,解码部分512从参考图像的压缩数据中读出相关压缩数据,并根据包括在存储单元中的Y图像的四个调色板的每一个所代表的两个值的幅度关系,获取代表压缩模式和划分模式的四个位的标识号(S62)。由于可以从标识号中确定构成显示区的像素与包括在压缩数据中的量化单元中的索引之间的对应关系,所以解码部分512根据该对应关系指定保存必要数据的量化单元(S64)。
[0152]然后,解码部分512从通过线性内插调色板所代表的两个值获得的四个值中获取索引所指的值,以确定每个像素的Y值、Cb值和Cr值。解码部分512然后沿着垂直和水平方向将CbCr图像扩大成两倍以生成YCbCr图像。如果已经将压缩模式之一用于进行压缩,则解码部分512沿着相反方向扩大YCbCr图像或插入帧。帧的插入可以通过复制平均图像来进行。然后,解码部分512进一步沿着垂直和水平方向将YCbCr图像扩大成两倍,以生成原始贴片图像尺寸的YCbCr图像的参考图像(S66)。此时的扩大处理通过内插和外推来进行,以便可以如上文所述以2X2个像素为单位完成处理。
[0153]接着,解码部分512对差值图像进行类似处理,从差值图像的压缩数据中生成YCbCr图像的差值图像(步骤S68中的“否”,S60到S66)。但是,要注意的是,在步骤S62中,从分别连接Y图像的四个调色板的每一个所代表的四个值的前一半的地址上的两个值和后一半的地址上的两个值获得的数值的幅度关系中,获取代表压缩模式和划分模式的标识信息。当在步骤S66中要确定每个像素的的Y值、Cb值和Cr值时,解码部分512首先将调色板所代表的四个位的四个值转换成八个位,并根据前一半地址的两个值和后一半地址的两个值的幅度关系的组合所代表的标识信息将八个位乘以一个放大率。然后,解码部分512获取每个像素的索引所指的数值,以确定Y值、Cb值和Cr值。
[0154]如果该指针指示NULL块的压缩数据,则解码部分512将相应区域中的所有像素设置成O。但是,要注意的是,由于通过使NULL块的压缩数据具有与其它数据块的压缩数据相同的结构,可以对其它压缩数据类似地进行这种处理,所以不需要特殊处理。在成功生成分别代表显示区的参考图像和差值图像的YCbCr图像之后(S68中的“是”),解码部分512为各自相应像素相加它们(S70),并将色空间转换成RGB色空间,以生成显示区的RGB图像(S72)。
[0155]由于在本实施例中生成的压缩数据具有与各自数据块相对应的数据的变长尺寸,所以需要为每个数据块指示代表存储单元的存储区的指针。如上所述,对于256X256个像素的贴片图像的四个巾贞,指针的数量是包括参考图像的256个指针和差值图像的1024个指针的总共1280个。如果一个指针用两个字节的UV坐标表示,则指针所需的数据尺寸是(2个字节X 1280)/(256 X 256个像素X 4个帧)?0.08个位每原始贴片图像的一个像素,非常小。
[0156]关于压缩数据,四个帧的数据块用一个、两个或四个4X2个像素X4个字节=32个字节的存储单元来表示。在以最高压缩率压缩压缩数据的情况下,一个数据块可以用参考图像数据和差值图像数据的NULL块的压缩数据的一个存储单元来表示。如果考虑到参考图像是通过将原始图像缩小到1/4获得的,以及NULL块的压缩数据可以被其它共享,则数据尺寸是(32个字节X I X 0.25+0个字节)/ (8 X 8个像素X 4个帧)=0.25个位每个像素。另一方面,在以最低压缩率压缩一个数据块的情况下,一个数据块用参考图像数据和差值图像数据两者的四个存储单元表示。于是,在这种情况下的数据尺寸是(32个字节X 4 X 0.25+32个字节X 4) / (8 X 8个像素X 4个帧)=5个位每个像素。
[0157]简而言之,本实施例生成和解码的压缩数据具有近似0.33到5.08个位每个像素的尺寸。由于通过S3TC纹理压缩的数据具有四个位/像素的数据尺寸,所以通过本实施例的运动画面的压缩数据具有等于或小于刚才所述的数据尺寸的尺寸。其结果是,可以以足够低存储成本显示可以沿着空间方向和时间方向随机访问的运动画面。
[0158]要注意的是,本实施例中的压缩数据的压缩率随与沿着时间-空间方向的冗余和出现量化误差的可能性有关的实际图像而变。另一方面,通过调整涉及起因于像刚才所述那样的因素、是否可以沿着时间-空间方向进行压缩或是否进行到NULL块的转换的判定的阈值,可以减缓起因于图像的压缩率的下降。通过响应装置环境和显示时的图像自适应地改变阈值,可以在利用给定环境的同时以最高图像质量显示运动画面。例如,可以事先准备将显示装置的资源量或通信环境与最佳阈值相互联系的表格,以便使用符合实际显示环境的阈值生成压缩数据。
[0159]尽管在上面的描述中确定为处理目标的运动画面数据的数量在每个时刻是一个帧,但另一方面每个时刻的图像可以由以不同分辨率表示的多个帧序列构成。如果依照来自用户的视点移动请求改变要使用的帧序列,则可以在应用运动画面的同时显著扩大分辨率的变化范围。此时,按分辨率次序将不同分辨率的多个帧序列分层以建立分层结构。下文将具有像刚才所述那样的分层结构的运动画面数据称为“分层数据”。
[0160]图23概念性地例示了用分层数据表示运动画面的数据结构。在图23中该分层数据具有沿着从顶部到底部的z方向由第O层30、第I层32、第2层34和第3层36构成的分层结构。要注意的是,尽管在图23中只描绘了四个层,但层数不局限于此。如上文所述,每个层由按时间次序排列通过不同分辨率表示一个运动画面的帧的帧序列构成。在图23中,每个层象征性地用四个帧来表示。但是,该帧数当然随运动画面的再生时间或帧速率而不同。
[0161]该分层数据具有,例如,四叉树的分层结构,假设第O层30包括一个贴片图像;第I层32包括2X2个贴片图像;第2层34包括4X4个贴片图像;以及第3层36包括8X8个贴片图像。此时,第N层(N是等于或大于O的整数)的分辨率在图像平面上沿着向左和向右(X轴)方向和向上和向下(y轴)方向两者是第(N+1)层的分辨率的1/2。该分层数据可以通过根据具有最高分辨率的第3层36的运动画面将每个帧折算成多个阶层或通过类似处理生成。
[0162]如图23所描绘,运动画面显示时的视点坐标和相应显示区可以通过虚拟三维空间来表不,该虚拟三维空间由代表图像的向左和向右方向的X轴、代表向上和向下方向的y轴和代表分辨率的z轴构成。要注意的是,由于每个层由分别代表运动画面的帧序列构成,所以实际显示的图像也依赖于开始显示之后的时间,在图23中,为每个层表示了时间轴t。
[0163]基本上,图像处理装置10以预定帧速率沿着时间轴t依次渲染一个层的帧序列。例如,将第O层30的分辨率的运动画面显示在参考图像。如果在显示的过程中,从输入装置20供应显示区移动请求信号,则图像处理装置10从该信号中导出显示图像的改变量,并使用该改变量导出虚拟空间中下一个帧的四个角的坐标(帧坐标)。图像处理装置10然后渲染与该帧坐标相对应的图像帧。据此,为z轴提供分层的切换边界,以便响应帧坐标的z值适当切换要用于帧渲染的运动画面数据的分层。
[0164]例如,当显示图像所需的分辨率在第I层32与第2层34之间的切换边界与第2层34与第3层36之间的切换边界之间,则利用第2层34的图像数据渲染显示区。在第I层32与第2层34之间的切换边界与第2层34之间的分辨率上,以缩小尺度显示第2层34的图像帧。在第2层34与第3层36之间的切换边界与第2层34之间的分辨率上,以扩大尺度显示第2层34的图像帧。
[0165]与上文所述类似,以贴片图像序列为单位将分层数据压缩成压缩数据。要注意的是,在这种情况下,不仅将贴片图像序列的压缩数据与图像平面上的位置相联系,而且与沿着分辨率方向的位置相联系。
[0166]当像上述那样的分层数据用于接受包括扩大或缩小的对正在显示的运动画面的显示区的移动请求时,如果应用本实施例的数据压缩技术,则可以只装载必要贴片图像的压缩数据,并且可以只解码必要区域。因此,与装载或解码整个图像的可替代情况相比,在装载处理和解码处理的成本、传送成本和存储成本方面减少了浪费。例如,当将第3层36的数据用于进行图像显示时,由于只使用数据的一小部分给出显示区,所以成本节省效果特别好。其结果是,通常可以不依赖于显示的分辨率地以相等成本使处理继续下去,并且可以实现流畅的运动画面显示。
[0167]进一步,当在使用分层数据显示运动画面期间,要依照视点移动请求切换分层时,需要针对直到那时还不是解码目标的切换之后的分层马上获取下一个时刻的数据。由于本实施例中的压缩数据对于像每四个帧那样的每预定个帧是相互独立的,所以它们在沿着时间方向的可随机访问性方面也是出众的,这样的分层切换可以无缝地进行。
[0168]按照上述的本实施例,为预定个帧收集将构成运动画面的帧划分成预定尺寸形成的贴片图像,以形成贴片图像序列。进一步,以通过空间划分贴片图像序列获得的数据块为单位生成压缩数据。这使得可以在装载处理和图像显示时的解码处理中,沿着空间方向和时间方向两者随机访问压缩数据。其结果是,降低了装载处理和解码处理的成本,此外,由于省去了将图像部署在存储器中,所以也降低了存储成本。
[0169]在传统运动画面压缩技术中,当显示将运动画面映射成视频纹理的图像时,即使纹理区非常小或由于用户的操作或游戏的进行位移到视角之外,为了准备下一次显示,也需要继续解码不显示的运动画面。在本实施例中,由于可以只处理与实际显示相对应的数据,所以可以显著提高处理效率。于是,在希望将运动画面合成成像体育馆的广告牌、显示、天空或远处的风景那样游戏或视频的背景的情况下,本实施例特别有效。
[0170]进一步,不仅可以将运动画面而且可以将像其间存在冗余那样的图像序列用作压缩目标。例如,在使用摄像机阵列摄取的数据(光场数据)中,可以预计在摄像机的相邻几个的摄取图像之间存在冗余。因此,可以预料能够有效压缩将多个摄取图像布置在时间轴上的运动画面。进一步,本实施例也可应用于响应观看图像的角度改变要显示的纹理图像的技术(视点相关统计量)。换句话说,将可能显示的图像压缩成布置在时间轴上的运动画面,并在渲染时,随机访问和显示任意一个图像。
[0171]进一步,对于缩小贴片图像序列获得的参考图像和代表通过解码参考图像的压缩数据获得的图像与原始贴片图像之间的差值的差值图像,分开压缩每个贴片图像序列。在缩小尺寸或减少帧数,沿着空间方向和时间方向确认其冗余之后,将每个图像划分成量化单元,然后通过用调色板和索引表示每个像素值加以量化。
[0172]尽管调色板和索引的概念由S3TC的压缩方法引入,但在本实施例中,调色板的两个值保存亮度Y、色差Cb和色差Cr的任何一个的八个位,因此,画面质量较不容易变差。进一步,由于对Y图像序列和CbCr图像序列分开进行量化,所以与量化RGB的三维参数的那些相比,参数的维数少,量化误差量也小。进一步,通过在形成编码单元时改变空间划分数和时间划分数的组合,所以可以灵活地提供适合沿着空间方向的冗余和沿着时间方向的冗余的数据结构。
[0173]进一步,由于差值图像的像素值的范围是有限的,所以如果可以认为像素值是0,则将数据块处理成NULL块,以便压缩数据由多个数据块共享。进一步,与使用沿着空间方向和时间方向的冗余的压缩和形成量化单元的划分模式有关的信息通过Y图像的调色板保存的数值的幅度的比较来表示。据此,在响应实际图像保持画面质量的同时,可以尽可能大的提高压缩率。进一步,在图像显示时,可以与一般纹理映射的处理类似地进行渲染处理,因此,可以预计高吞吐量。其结果是,可以在抑制算术运算成本和存储成本的同时显示高清晰度运动画面。
[0174]上面结合其实施例对本发明作了描述,上述的实施例是示范性的,本领域的普通技术人员可以识别到,可以对该实施例的部件和处理过程的组合作出各种修改,并且这样的修改仍然在本发明的范围之内。
[0175]例如,在本实施例中,生成和压缩用预定放大率缩小原始图像获得的参考图像,然后使其包括在最终压缩数据中。通过按原样使用参考图像,可以进行两个级别小型映射(mipmap)图像的渲染。进一步,通过提高参考图像的缩小率可以进一步提高压缩率。此时,可以利用一个参考图像构成三个或更多级别的小型映射图像以便,例如,第一级的小型映射图像由参考图像构成,第二级的小型映射图像通过扩大第一级的小型映射图像,并将扩大的小型映射图像加入差值图像中构成,第三级的小型映射图像通过进一步扩大第一级的参考图像,并将进一步扩大的参考图像加入差值图像中构成,依此类推。
[0176]在这种情况下,可以形成压缩单元,以便可以像第一级的参考图像、第二级的差值图像和第三级的差值图像那样,相互独立地管理参考图像和差值图像。进一步,可以间接利用第一级的参考图像,以便将第二级的图像用作第三级的参考图像。由此,可以在可随机访问状态下以及不增大数据尺寸地实现引入小型映像的图像渲染技术。
[0177]标号列表
[0178]10图像处理装置;12显示装置;20输入装置;44显示处理部分;50硬盘驱动器;60主存储器;100控制部分;120贴片图像序列生成部分;122参考图像压缩部分;124差值图像生成部分;126差值图像压缩部分;128压缩数据生成部分;130运动画面数据存储部分;132划分模式存储部分;134压缩数据存储部分;502输入信息获取部分;504信息处理部分;506装载部分;508显示图像处理部分;510数据读出部分;512解码部分;514渲染部分
[0179]工业可应用性
[0180]如上所述,本发明可以用于像计算机、图像处理装置、图像显示装置和游戏机那样的信息处理装置。
【权利要求】
1.一种运动画面压缩装置,包含: 贴片图像序列生成部分,配置成生成通过按图像平面划分构成运动画面数据的帧序列构成的贴片图像序列; 参考图像压缩部分,配置成压缩该贴片图像序列以生成参考图像的压缩数据; 差值图像生成部分,配置成生成由差值图像构成的差值图像序列,该差值图像代表构成贴片图像序列的贴片图像、与通过解码该参考图像压缩部分生成的参考图像的压缩数据获得和与贴片图像相对应的图像之间的差值; 差值图像压缩部分,配置成以通过按图像平面和时间轴划分差值图像序列获得的数据块为单位压缩差值图像序列,以便生成差值图像的压缩数据;以及 压缩数据生成部分,配置成以预定个帧的贴片图像为单位生成包括参考图像的压缩数据和差值图像的压缩数据的运动画面压缩数据,并将该运动画面压缩数据输出到存储装置。
2.按照权利要求1所述的运动画面压缩装置, 其中该参考图像压缩部分以通过按图像平面和时间轴划分参考图像获得的数据块为单位压缩参考图像; 当在压缩处理中通过按预定放大率缩小一次然后放大包括在数据块中的图像获得的图像、与原始图像之间的像素值的差值的总和等于或低于预定阈值时,该参考图像压缩部分和该差值图像压缩部分按相关放大率缩小包括在数据块中的图像;以及 该压缩数据生成部分将使贴片图像中的每个数据块的位置和与该位置相对应的参考图像和差值图像的压缩数据相互联系的指针信息包括到运动画面压缩数据中。
3.按照权利要求2所述的运动画面压缩装置, 其中当在压缩处理中通过每预定个地对包括在数据块中的图像序列求平均获得的图像与原始图像之间的像素值的差值的总和等于或低于预定阈值时,该参考图像压缩部分和该差值图像压缩部分用平均图像取代原始图像以减少图像的数量。
4.按照权利要求1到3的任何一项所述的运动画面压缩装置, 其中当构成每个数据块的像素值的绝对值等于或低于预定阈值时,该差值图像压缩部分确定该数据块的所有像素值以便变成零;以及 该压缩数据生成部分将数据块和压缩数据相互联系,以便像素值是零的压缩数据被运动画面压缩数据中的多个数据块共享。
5.按照权利要求1到4的任何一项所述的运动画面压缩装置, 其中该参考图像压缩部分为通过按图像平面和时间轴划分参考图像获得的参考图像的数据块的每预定个像素,生成保存像素值当中作为代表性值的两个值的调色板、和取代像素值保存指定通过线性内插代表性值确定的多个中间值和代表性值之一的信息的索引,以便量化像素值。
6.按照权利要求1到5的任何一项所述的运动画面压缩装置, 其中该差值图像压缩部分为差值图像的数据块的每预定个像素生成保存将像素的像素值当中作为代表性值的四个值乘以1/N(N是自然数)获得的四个值的调色板、和取代像素值保存指定调色板保存的四个值之一的信息的索引,以便量化像素值。
7.按照权利要求6所述的运动画面压缩装置, 其中该差值图像压缩部分通过调色板保存的四个值当中存储在前半地址中的两个值之间的幅度关系和存储次序、和存储在后半地址中的两个值之间的幅度关系和存储次序,表示代表要乘以调色板保存的值以便恢复代表性值的放大率N的标识号。
8.按照权利要求5到7的任何一项所述的运动画面压缩装置, 其中该参考图像压缩部分和该差值图像压缩部分通过相应调色板的存储在前半地址中的值和存储在后半地址中的值之间的幅度关系,表示指定该索引与原始数据块的像素的位置之间的对应关系的标识号。
9.按照权利要求5到8的任何一项所述的运动画面压缩装置, 其中当该差值图像生成部分在解码参考图像的压缩数据的处理中放大图像时,该差值图像生成部分以等于或小于作为生成调色板和索引时的单位的由预定个像素构成的图像中的像素的阵列的单位进行内插和外推以便生成新像素。
10.一种图像处理装置,包含: 信息处理部分,配置成相继计算构成运动画面数据的帧序列当中要显示的帧和该帧中要显示的区域; 装载部分,配置成根据该信息处理部分计算的信息,以贴片图像为单位将运动画面压缩数据从存储运动画面压缩数据的存储装置装载到存储器中,该运动画面压缩数据包括通过压缩按图像平面划分帧序列获得的贴片图像序列获得的参考图像的压缩数据、和代表解码参考图像的压缩数据获得的图像与相应贴片图像之间的差值的差值图像的压缩数据; 显示图像处理部分,配置成从装载在存储器中的运动画面压缩数据当中读出由该信息处理部分计算和包括要显示的帧当中要显示的区域的运动画面压缩数据,并解码和相加参考图像的压缩数据和差值图像的压缩数据,以便依次渲染要显示的区域的图像;以及 显示部分,配置成依次显示渲染的图像。
11.按照权利要求10所述的图像处理装置, 其中参考图像的压缩数据和差值图像的压缩数据是以通过按图像平面和时间轴划分压缩数据获得的数据块为单位,以可变长度压缩的数据;以及 该显示图像处理部分参考包括在运动画面压缩数据中、和将贴片图像中的每个数据块的位置和与该位置相对应的参考图像的压缩数据和差值图像的压缩数据相互联系的指针信息,以便指定与要显示的区域相对应的数据块的参考图像的压缩数据和差值图像的压缩数据。
12.按照权利要求10或11所述的图像处理装置, 其中对于每预定个像素,差值图像的压缩数据由调色板和索引构成,该调色板保存将像素的像素值当中作为代表性值的四个值乘以1/N(N是自然数)获得的四个值,以及该索引取代像素值保存指定调色板保存的四个值之一的信息;以及 该显示图像处理部分从调色板保存的四个值当中存储在前半地址中的两个值之间的幅度关系和存储次序、以及存储在后半地址中的两个值之间的幅度关系和存储次序中指定代表要乘以调色板保存的值的放大率N的标识号以便恢复代表性值。
13.按照权利要求12所述的图像处理装置, 其中该显示图像处理部分从相应调色板的存储在前半地址中的值和存储在后半地址中的值之间的幅度关系中指定差值图像的压缩数据中指定该索引与原始像素的位置之间的对应关系的标识号,并根据指定的标识号指定构成要显示的区域的像素的索引。
14.按照权利要求10到13的任何一项所述的图像处理装置, 其中参考图像的压缩数据和差值图像的压缩数据是每预定个像素地量化像素值获得的数据;以及 当在解码参考图像的压缩数据和差值图像的压缩数据的处理中要放大图像时,该显示图像处理部分以等于或小于作为进行量化时的单位的由预定个像素构成的图像中的像素的阵列的单位进行内插和外推以便生成新像素。
15.—种运动画面压缩方法,包含: 由运动画面压缩装置执行: 生成通过按图像平面划分存储在存储装置中和构成运动画面数据的帧序列构成的贴片图像序列的步骤; 压缩该贴片图像序列以生成参考图像的压缩数据的步骤; 生成由差值图像构成的差值图像序列的步骤,该差值图像代表构成贴片图像序列的贴片图像与通过解码所生成参考图像的压缩数据获得和与贴片图像相对应的图像之间的差值; 以通过按图像平面和时间轴划分差值图像序列获得的数据块为单位压缩差值图像序列,以便生成差值图像的压缩数据的步骤;以及 以预定个帧的贴片图像为单位生成包括参考图像的压缩数据和差值图像的压缩数据的运动画面压缩数据,并将该运动画面压缩数据输出到存储装置的步骤。
16.—种图像处理方法,包含: 由图像处理装置执行: 相继计算构成运动画面数据的帧序列当中要显示的帧和该帧中要显示的区域的步骤; 根据该计算步骤计算的信息,以贴片图像为单位将运动画面压缩数据从存储运动画面压缩数据的存储装置装载到存储器中的步骤,该运动画面压缩数据包括通过压缩按图像平面划分帧序列获得的贴片图像序列获得的参考图像的压缩数据、和代表解码参考图像的压缩数据获得的图像与相应贴片图像之间的差值的差值图像的压缩数据; 从装载在存储器中的运动画面压缩数据当中读出通过计算步骤计算和包括要显示的帧当中要显示的区域的运动画面压缩数据,并解码和相加参考图像的压缩数据和差值图像的压缩数据,以便依次渲染要显示的区域的图像的步骤;以及依次显示渲染图像的步骤。
17.一种使计算机实现如下功能的计算机程序: 生成通过按图像平面划分构成运动画面数据的帧序列构成的贴片图像序列的功能; 压缩该贴片图像序列以生成参考图像的压缩数据的功能; 生成由差值图像构成的差值图像序列的功能,该差值图像代表构成贴片图像序列的贴片图像与通过解码该参考图像压缩部分生成的参考图像的压缩数据获得和与贴片图像相对应的图像之间的差值; 以通过按图像平面和时间轴划分差值图像序列获得的数据块为单位压缩差值图像序列,以便生成差值图像的压缩数据的功能;以及 以预定个帧的贴片图像为单位生成包括参考图像的压缩数据和差值图像的压缩数据的运动画面压缩数据,并将该运动画面压缩数据输出到存储装置的功能。
18.一种使计算机实现如下功能的计算机程序: 相继计算构成运动画面数据的帧序列当中要显示的帧和该帧中要显示的区域的功倉泛; 根据该信息处理部分计算的信息,以贴片图像为单位将运动画面压缩数据从存储运动画面压缩数据的存储装置装载到存储器中的功能,该运动画面压缩数据包括通过压缩按图像平面划分帧序列获得的贴片图像序列获得的参考图像的压缩数据、和代表解码参考图像的压缩数据获得的图像与相应贴片图像之间的差值的差值图像的压缩数据; 从装载在存储器中的运动画面压缩数据当中读出由该信息处理部分计算和包括要显示的帧当中要显示的区域的运动画面压缩数据,并解码和相加参考图像的压缩数据和差值图像的压缩数据,以便依次渲染要显示的区域的图像的功能;以及依次显示渲染的图像的功能。
19.一种记录计算机程序的记录介质,该计算机程序使计算机实现如下功能: 生成通过按图像平面划分构成运动画面数据的帧序列构成的贴片图像序列的功能; 压缩该贴片图像序列以生成参考图像的压缩数据的功能; 生成由差值图像构成的差值图像序列的功能,该差值图像代表构成贴片图像序列的贴片图像与通过解码该参考图像压缩部分生成的参考图像的压缩数据获得和与贴片图像相对应的图像之间的差值; 以通过按图像平面和时间轴划分差值图像序列获得的数据块为单位压缩差值图像序列,以便生成差值图像的压缩数据的功能;以及 以预定个帧的贴片图像为单位生成包括参考图像的压缩数据和差值图像的压缩数据的运动画面压缩数据,并将该运动画面压缩数据输出到存储装置的功能。
20.一种记录计算机程序的记录介质,该计算机程序使计算机实现如下功能: 相继计算构成运动画面数据的帧序列当中要显示的帧和该帧中要显示的区域的功倉泛; 根据该信息处理部分计算的信息,以贴片图像为单位将运动画面压缩数据从存储运动画面压缩数据的存储装置装载到存储器中的功能,该运动画面压缩数据包括通过压缩按图像平面划分帧序列获得的贴片图像序列获得的参考图像的压缩数据、和代表解码参考图像的压缩数据获得的图像与相应贴片图像之间的差值的差值图像的压缩数据; 从装载在存储器中的运动画面压缩数据当中读出由该信息处理部分计算和包括要显示的帧当中要显示的区域的运动画面压缩数据,并解码和相加参考图像的压缩数据和差值图像的压缩数据,以便依次渲染要显示的区域的图像的功能;以及依次显示渲染的图像的功能。
21.—种运动画面压缩文件的数据结构,其中以预定个帧的贴片图像为单位相互联系通过以按图像平面和时间轴划分贴片图像序列获得的数据块为单位压缩贴片图像获得的参考图像的压缩数据、和通过以按图像平面和时间轴划分差值图像序列获得的数据块为单位压缩由差值图像构成的差值图像序列获得的差值图像的压缩数据,该贴片图像构成通过按图像平面划分构成运动画面数据的帧序列获得的贴片图像序列,该差值图像代表通过解码参考图像的压缩数据获得的图像与相应贴片图像之间的差值;以及 在图像处理装置中,解码和相加根据要显示的帧和该帧中要显示的区域的信息以贴片图像为单位装载和与要显示的帧当中要显示的区域相对应的数据块的参考图像的压缩数据和差值图像的压缩数据,以便用于依次渲染要显示的区域的图像。
22.一种记录具有按照权利要求21所述的数据结构的运动画面压缩文件的记录介质。
【文档编号】H04N19/124GK104137548SQ201280070242
【公开日】2014年11月5日 申请日期:2012年10月24日 优先权日:2011年12月27日
【发明者】稻田彻悟, 大场章男, 势川博之 申请人:索尼电脑娱乐公司

最新回复(0)