具体实施方式
图1表示与本发明的实施方式相关的图像处理系统1的使用环境。图像处理系统1具有执行图像处理程序的图像处理装置10、和输出图像处理装置10的处理结果的显示装置12。显示装置12可以是具有输出图像的显示器以及输出音声的扬声器的电视机。显示装置12可以通过有线电缆与图像处理装置10连接,也可以通过无线LAN(Local Area Network)等进行无线连接。在图像处理系统1,图像处理装置10可以通过电缆14与互联网等的外部网络连接,下载取得被层次化的压缩图像数据。另外,图像处理装置10也可以通过无线通信与外部网络连接。
图像处理装置10可以是例如游戏装置,可以通过下载图像处理用的应用程序,实现图像处理功能。另外,图像处理装置10也可以是个人电脑,可以通过下载图像处理用的应用程序实现图像处理功能。
图像处理装置10根据来自用户的要求,进行显示在显示装置12的显示器上的图像的扩大或缩小处理或、向上下左右方向的移动处理等变更显示图像的处理。当用户一边观看显示在显示器上的图像,一边操作输入装置时,输入装置将显示图像的变更要求信号发送图像处理装置10。
图2表示输入装置20的外观构成。输入装置20作为用户可操作的操作手段,具有十字键21、摇杆27a、27b、4种操作按钮26。4种操作按钮26由○按钮22、×按钮23、□按钮24以及△按钮25构成。
在图像处理系统1中,对输入装置20的操作手段,分配了用于输入显示图像的扩大或缩小的要求、以及向上下左右方向滚动的要求的功能。比如,显示图像的扩大或缩小要求的输入功能被分配给右侧的摇杆27b。用户通过将摇杆27b向自身方向拉,可以输入显示图像的缩小要求,通过向远离自身方向推压,可以输入显示图像的扩大要求。另外,显示区域的移动要求的输入功能被分配给十字键21。用户通过按下十字键21,可以输入向按下的十字键21的方向的移动要求。另外,图像变更要求的输入功能也可以分配给别的操作装置,比如,也可以对摇杆27a分配滚动要求的输入功能。
输入装置20具有将输入的图像变更要求信号传送给图像处理装置10的功能,在本实施方式,与图像处理装置10之间可以进行无线通信。输入装置20和图像处理装置10可以使用蓝牙(Bluetooth)(注册商标)协议或IEEE802.11协议等建立无线连接。另外,输入装置20也可以通过电缆和图像处理装置10连接,将图像变更要求信号传送给图像处理装置10。
图3表示在本实施方式中使用的图像数据的层次结构。图像数据具有在深度(Z轴)方向由第0层次30、第1层次32、第2层次34以及第3层次36构成的层次结构。另外,在该图中,只表示了4层次,但层次数并不限定为4层次。以下将具有这样的层次结构的图像数据称为“层次数据”。
图3所示的层次数据具有四叉树的层次结构,各层由1以上的平铺图像38构成。所有的平铺图像38形成具有相同像素数的同一大小,例如具有256×256像素。各层的图像数据用不同的分辨率表现一个图像,将具有最高分辨率的第3层次36的原图像分多个阶段地缩小,生成第2层次34、第1层次32、第0层次30的图像数据。例如第N层次的分辨率(N是0以上的整数)在左右(X轴)方向、上下(Y轴)方向都可以是第(N+1)层次的分辨率的1/2。
在图像处理装置10,层次数据以用设定的压缩形式压缩的状态保存在记忆装置中,在显示于显示器中之前从记忆装置读出并解码。本实施方式的图像处理装置10具有对应多个种类的压缩形式的解码功能,例如可解码S3TC形式、JPEG形式、JPEG2000形式的压缩数据。在层次数据中,压缩处理可以平铺图像单位进行,也可以在同一层次或包含在多个层次中的多个平铺图像单位来进行。
层次数据的层次结构如图3所示,将左右方向设定为X轴、上下方向设定为Y轴、深度方向设定为Z轴,形成假想的3维空间。当图像处理装置10从输入装置20提供的图像变更要求信号导出显示图像的变更量时,使用该变更量,导出在假想空间的帧的4角的坐标(帧坐标)。在假想空间的帧坐标被用于向在后面叙述的主存储器的下载以及显示图像的生成处理。另外,作为假想空间的帧坐标的替代物,图像处理装置10也可以导出确定层次的信息和在该层次的纹理坐标(UV坐标)。以下,层次确定信息以及纹理坐标的组合也称为帧坐标。
图4表示图像处理装置10的构成。图像处理装置10具有:无线接口40、开关42、显示处理单元44、硬盘驱动器50、存储介质安装单元52、光盘驱动器54、主存储器60、缓冲存储器70以及控制单元100。显示处理单元44具有缓冲显示在显示装置12的显示器的数据的帧存储器。
开关42是以太网开关(以太网是注册商标),是通过有线或无线与外部的机器连接,进行数据的传送接收装置。开关42通过电缆14连接外部网络,也可以从图像服务器接收层次化的压缩图像数据。另外,开关42连接无线接口40,无线接口40通过设定的无线通信协议与输入装置20连接。在输入装置20,由用户输入的图像变更要求信号经过无线接口40、开关42,被提供给控制单元100。
硬盘驱动器50具有作为储存数据的记忆装置的功能。通过开关42接收到的压缩图像数据被存储到硬盘驱动器50。当在存储媒体安装部52安装存储器卡等可拆卸存储媒体时,从可拆卸存储媒体读取数据。当读取专用的ROM盘被安装时,光盘驱动器54驱动并识别ROM盘,读取数据。ROM盘可以是光盘或光磁盘等。压缩图像数据可以存储在这些存储媒体中。
控制单元100具有多核CPU,1个CPU中具有1个通用的处理器核心(プロセツサコア)、和多个单纯的处理器核心(シンプルプロセツサコア)。通用的处理器核心被称为PPU(Power Processing Unit),其余的处理器核心被称为SPU(Synergistic-Processing Unit)。
控制单元100具有与主存储器60以及缓冲存储器70连接的存储器控制器。PPU具有注册器,作为演算执行主体具有主处理器,将作为执行的应用程序的基本处理单位的任务高效率地分配给各SPU。另外,PPU自身也可以执行任务。SPU具有注册器,具有作为演算执行主体的副处理器和作为本地存储区域的本地存储器。本地存储器也可以作为缓冲存储器70使用。
主存储器60以及缓冲存储器70是记忆装置,构成RAM(随机存储器)。SPU作为制御单元具有专用的DMA(Direct Memory Access)控制器,可以高速进行主存储器60和缓冲存储器70之间的数据传送,另外,可以实现在显示处理单元44中的帧存储器和缓冲存储器70之间的高速数据传送。本实施方式的控制单元100通过使多个SPU并列动作,实现高速图像处理功能。显示处理单元44与显示装置12连接,输出与用户的要求对应的图像处理结果。
为了在进行显示图像的扩大或缩小处理或显示区域的移动处理时,顺利地变更显示图像,本实施方式的图像处理装置10从硬盘驱动器50将根据后面叙述的规则决定的压缩图像数据的一部分下载到主存储器60。另外,解码下载到主存储器60的压缩图像数据的另一部分,并存储到缓冲存储器70。由此,可在后面的需要的时刻,瞬时切换用于生成显示图像的图像。
图5示意性地表示本实施方式的图像数据的流动。首先层次数据被存储在硬盘驱动器50。作为硬盘驱动器50的替代物,也可以由安装在存储媒体安装部52或光盘驱动器54的存储媒体来保存。或者,也可以是图像处理装置10从通过网络连接的图像服务器下载层次数据。此处的层次数据如上所述,被进行了由S3TC形式等的固定长压缩、或由JPEG形式等的可变长压缩。
该层次数据中,将一部分的图像数据以压缩的状态下载到主存储器60(S10)。此处下载的区域可以是现在的显示图像的假想空间的近傍、或根据图像的内容、用户的浏览履历等预测的高频率地进行显示要求的区域等、根据预定的规则来决定。下载不只是在出现了图像变更要求时,例如可以设定的时间间隔随时进行。由此,下载处理不会集中在同一时刻。
下载的压缩图像数据作为具有一定大小的块单位。为此,硬盘驱动器50保存的层次数据以设定的规则先分割为块。这样,主存储器60可高效地进行数据管理。即,压缩图像数据即使是被可变长压缩的数据,如果是块(下面称为“图像块”)单位,由于下载的数据的大小几乎相等,基本上是覆盖此前存储在主存储器60上的某个块来完成新的下载。为此,较难发生碎片,可以高效使用存储器,地址管理也变得容易。
另外,在存储于主存储器60的压缩图像数据中,对必须显示的区域的图像、或被预测为必须的区域的图像的数据进行解码,并存储到缓冲存储器70(S12)。缓冲存储器70至少包含2个缓冲区域72、74。各缓冲区域72、74的大小被设定为比帧存储器90大小大,再从输入装置20输入了图像变更要求信号时,对于一定程度的量的变更要求,以在缓冲区域72、74展开的图像数据可生成显示图像。
缓冲区域72、74一方面用于保存用于生成显示图像的图像,另一方面用于准备被预测为今后需要的图像。下面,将前者称为“显示用缓冲”,后者称为“解码用缓冲”。在图5的例子中,缓冲区域72是显示用缓冲,缓冲区域74是解码用缓冲,在显示区域68显示。通过前瞻处理存储在解码用缓冲中的图像可以是与存储在显示用缓冲中的图像为同一层次的图像,也可以是比例系数不同的另外层次的图像。
另外,存储在作为显示用缓冲的缓冲区域72的图像中,将显示区域68的图像描绘在帧存储器90中(S14)。此间,新区域的图像根据需要被解码,并存储到缓冲区域74中。根据存储完成的时间或显示区域68的变更量等,切换显示用缓冲和解码用缓冲(S16)。由此,可对于显示区域的移动或比例系数的变更等,顺畅地切换显示图像。
在本实施方式中,在应当向解码用缓冲存储新的区域的图像时,在存在与此前存储的已解码的图像重复的区域的情况下,通过使用该区域,使新解码的区域最小。具体的方法在后面叙述。
图6详细表示控制单元100的构成。控制单元100具有:取得用户从输入装置20输入的信息的输入信息取得单元102;将层次数据分割为图像块的压缩数据分割单元104;决定应当新下载的图像块的下载块决定单元106;从硬盘驱动器50下载必须的图像块的下载单元108。控制单元100还包括:描绘显示图像的显示图像处理单元114;进行前瞻处理的前瞻处理单元110;以及解码压缩图像数据的解码单元112。
在图6中,对于作为进行各种各样处理的功能块来记载的各要素,硬件性的可由CPU(Central Processing Unit)、存储器、其它的LSI来构成,程序性的可由下载到存储器的程序等来实现。如上所述,控制单元100具有1个PPU和多个SPU,PPU以及SPU可分别单独或联合构成各功能块。因此,这些功能块可只由硬件、只由程序、或由这些的组合等各种形式实现,这对本领域技术人员是可以理解的,且任一个都不是对发明的限定。
输入信息取得单元102取得用户对输入装置20输入的、关于图像显示的开始/结束、显示区域的移动、显示图像的扩大或缩小等的指示内容。
压缩数据分割单元104从硬盘驱动器50等读取层次数据,根据后面叙述的设定的规则进行分割,生成图像块,并存储到硬盘驱动器50。例如当用户对输入装置20选择存储在硬盘驱动器50中的层次数据的其中一个时,从输入信息取得单元102取得该信息,并开始分割处理。
另外,压缩数据分割单元104可以不和控制单元100的其他功能在相同的装置内,也可以在生成层次数据的阶段分割。具体的分割方法将在后面叙述,根据硬盘驱动器50的速度或主存储器60的容量等硬件性能不同,压缩数据分割单元104进行的块分割的方法可以不同。为此,进行预先设定,使得在压缩数据分割单元104进行适应于图像处理装置10具有的硬件性能的最合适的块分割。
下载块决定单元106确认是否有应从硬盘驱动器50向主存储器60的新的下载图像块,并决定下一个下载图像块,向下载单元108发出下载要求。下载块决定单元106在下载单元108未进行下载处理的状态,以例如设定的时间间隔、或用户进行了图像的变更要求时,以设定时间进行上述确认和决定的处理。下载单元108根据来自下载块决定单元106的要求,进行实际下载处理。
在用户进行了显示图像的变更要求时,如果包含变更目的地的图像区域的图像块没有存储在主存储器60,有必要在一次进行从硬盘驱动器50的图像块的下载、必要区域的解码、显示图像的描绘等处理。此时、下载处理成为瓶颈,可以认为对用户的要求的响应速度受到损失。在本实施方式中,(1)以覆盖今后显示的可能性高的区域的方式,先下载图像块,(2)以下载处理不集中在一时而是随时下载的方针进行下载。由此,下载处理妨碍显示图像的变更处理的事情减少。下载的图像块的决定顺序将在后面叙述。
前瞻处理单元110根据现在的显示图像的帧坐标和用户输入的显示图像变更要求的信息,预测对将来显示图像的描绘可能必须的图像区域,将该信息提供给解码单元112。但是,在紧随图像显示开始后,或用在缓冲存储器70中已存储的图像不能描绘变更目的地的图像时等,不进行预测,将包含对该时点的显示图像的描绘所必须的图像的设定区域的信息提供给解码单元112。解码单元112根据从前瞻处理单元110取得的图像区域的信息,从主存储器60读取压缩图像数据的一部分并解码,将解码后的数据存储到解码用缓冲或显示用缓冲。
显示图像处理单元114根据用户输入的显示图像变更要求,决定新的显示图像的帧坐标,从缓冲存储器70的显示用缓冲读取对应的图像数据,描绘到显示处理单元44的帧存储器90。
下面,对将层次数据分割为图像块的方法进行说明。图7详细表示压缩数据分割单元104的构成。压缩数据分割单元104包括识别号码赋予单元120、图像块生成单元122。识别号码赋予单元120以对构成层次数据的各层的平铺图像设定的顺序,从0开始顺序地赋予识别号码。图像块生成单元122直到数据大小的合计超过设定的大小之前,按识别号码顺序汇集(まとめる)平铺图像,生成图像块。
图8示意性地表示层次数据中的各层的图像。层次数据与图3相同,由第0层次30a、第1层次32a、第2层次34a、以及第3层次36a的图像组成。并且在各层的图像中,用实线分开的区域的每一个是平铺图像。如该图所示,识别号码赋予单元120对各平铺图像赋予识别号码。例如第0层次30a的图像由1个平铺图像构成,将识别号码设为“0”。第1层次32a、第2层次34a、第3层次36a分别将从“1”和“2”、“3”,从“8”、“9”到“44”的识别号码赋予各平铺图像。在图8的例子中,赋予识别号码的顺序作为栅格顺序表示,但也可如后面叙述那样是这以外的顺序。
图9示意性地表示图像块生成单元122将图8的层次数据汇集为图像块的情况。如上所述,图像块生成单元122从识别号码小的一侧开始分割平铺图像,使得以不超过设定的数据大小的最大数的平铺图像构成图像块。在该图中,将此时的“设定的数据大小”作为“基本块大小”以箭头的范围表示。
在该图的例子中,从识别号码“0”至“5”的平铺图像汇集到图像块2、从“6”到“8”的平铺图像汇集到图像块4,这样地汇集图像块,从“41”到“44”的平铺图像成为最终的图像块6。各图像块由顶头的平铺图像的识别号码和包含的平铺图像的数量来识别。因此,图像块2具有(0,6)、图像块4具有(6,3)、图像块6具有(41,4)组成的识别信息。如这样定义识别信息,可以容易判定某个平铺图像是否包含在某个图像块中。即,不论是怎样的块分割方法,只是识别识别号码的范围,即可确定包含在图像块中的平铺图像。
图像块的识别信息与对应的压缩图像数据的硬盘驱动器50中的存储区域的信息相对应地存储在硬盘驱动器50中。这样,如果将压缩图像数据分割成几乎同样大小的图像块,如上所述,即使将下载的图像块存储到主存储器60内的连续的区域,对一个图像块而言可用此后下载的图像块来覆盖,来进行存储,可抑制碎片的发生,高效地使用主存储器。
如上所述,在对识别号码顺序设定图像块的分割时,根据对识别号码的平铺图像的赋予顺序,分割原图像的方法大不相同。以下说明几个例子。图10是用于说明本实施方式中的块分割方法的原图像的例子。另外,图10~14表示灰度,实际可以是全彩色。原图像200具有例如92323×34630像素,将其分割为361×136个平铺图像。
图11~14将基础块大小作为1M字节,用各种各样的识别号码的赋予顺序,表示分割了图10的原图像200的情况。为了容易分别图像块的边界,各图像使每个图像块灰度的浓淡不同。图11表示像图8那样对于平铺图像按栅格顺序赋予识别号码时的分割的情况。栅格顺序分割图像202将平铺图像分割成在横方向汇集的形式图像块。在扩大图像204表示的宽度206是图像块的纵方向的长度。横方向的长度根据包含在图像块的平铺图像的压缩后的数据大小而变化,有时一个图像块跨多个行的平铺图像。
如果是图11那样的识别号码的赋予顺序,则赋予本身的处理变得容易。另外,如这样地进行块分割,则一个图像块保存的信息在横方向变多。为此,在图像的内容上、当使显示区域在横方向移动较多时,可用少的下载次数,将可覆盖移动后的显示区域的图像块存储到主存储器60。另一方面,当显示区域的移动没有那样的特征时,为了生成一个显示图像,需要下载多个图像块,较多地取得距显示图像较远处的无用的信息,效率变差。
图12表示以“Z形状”的顺序对平铺图像赋予识别号码时的分割情况。在此,所谓“Z形状”的顺序,如同图的识别号码赋予例212的扫描顺序214中表示的那样,是在图像的横方向(X方向)和纵方向(Y方向)交互增量(インクリメント)的顺序。于是,如同图中记载的数字那样,赋予识别号码。如按该顺序汇集图像块,则分割成Z形状顺序分割图像208那样的图像块。在扩大图像210,一个图像块具有图像块216那样的形状。
即,在该方法中,以某个平铺图像为始点,以在横方向、纵方向按每个同样量扩大的方式赋予识别号码,因此,此时的图像块216成为接近正方形的形状。详细的形状以及大小依存于包含在各图像块中的平铺图像的压缩后的数据大小。如按图12那样地进行块分割,1个图像块具有的信息的空间局部性变好,生成显示图像或其近傍的区域的图像所需的图像块与图11时相比变少。无用的区域的信息较难下载,主存储器60的使用效率提高。
图13表示以正方形的大平铺顺序对平铺图像赋予识别号码时的分割的情况。此处所谓“大平铺”是指由多个平铺图像构成的矩形,预先设定包含在纵、横方向的平铺图像的数量。图12的例子可以认为是将由2×2个平铺图像构成的大平铺递归形成的。在图13中,如在大平铺222所示,将8×8个平铺图像构成的正方形作为1个大平铺。并且,在大平铺222内以箭头方向,即,栅格顺序赋予识别号码。由此,如该图中记载的数字那样,对各平铺图像赋予识别号码。对1个大平铺完成赋予识别号码后,对所有的大平铺按栅格顺序进行同样的赋予。
如按该顺序汇集图像块,分割成正方形大平铺顺序分割图像218那样的图像块。即,此时的图像块具有在横方向汇集大块的形状。在扩大图像220,大平铺222的一边的长度、或其整数倍成为图像块的纵方向的长度。横方向的长度根据包含在各图像块中的平铺图像的压缩后的数据大小而变化。在像图13那样地进行了块分割时也和图12时相同,可以减少生成显示图像或其近傍的区域的图像所需的图像块数,提高下载效率。
图14表示以长方形大平铺顺序对平铺图像赋予识别号码时的分割情况。长方形大平铺只设定包含在横方向的平铺图像的数量,纵方向是无限制的大平铺。在图14的情况下,如大平铺230所示,横方向由16个平铺图像构成。在大平铺230内,在箭头的方向、即栅格顺序赋予识别号码。由此,如记载在该图中的数字那样,向各平铺图像赋予识别号码。如赋予识别号码到原图像的下端,则对位于其右的大平铺进行,按栅格顺序对整个大平铺进行同样的赋予。
如以该顺序汇集图像块,分割成长方形大平铺顺序分割图像224那样的图像块。即,此时的图像块具有将纵向一列的大平铺根据平铺图像压缩后的数据大小在中途分割的形状。根据情况,有时跨多个列的大平铺。在扩大图像226,大平铺的宽度228、或其整数倍成为图像块的横方向的宽度。在图像块的分割部分的边界线的详细的形状也根据平铺图像压缩后的数据大小而变化。图14那样地进行了块分割时也和图12、13时同样地,用于生成显示图像或其近傍区域的图像所需的图像块的数量得到抑制,下载效率得到提高。
如上所述,根据赋予识别号码的顺序和基本块大小不同,图像块的形状、大小、包含的信息也大不相同。因此,图像的内容和类型、例如根据是风景照片还是报纸等的文字图像等,最高效地求得取得数据的可能的条件,也可以根据实际的图像进行选择。另外,如前所述,也可以根据硬件的构成,选择最合适的方法。
如上所述地分割图像的结果,得到的图像块是以几乎平均的数据大小汇集的平铺图像,其面积依存于如上所述地构成的平铺图像压缩后的数据大小。在图10的原图像200,图像的上半部分在空白区域色比较平均,高周波成分少,压缩率高。另一方面,原图像200的中央付近由于有建造物,色的变化较大,高周波成分多,所以压缩率低。因此,原图像200中,具有上半部分的平铺图像的压缩后数据大小比中央付近的数据要小的趋势。
在此基础上,如看例如图14的长方形大平铺顺序分割图像124,具有上半部分图像块的面积比中央付近的图像块大的趋势。其他的分割图像也同样。即,在本实施方式中,不是单纯地将图像的面积平均地分割,而是根据数据大小进行分割。这样,对于每单位面积的数据大小较小的区域,用一次下载可将大面积的压缩数据存储到主存储器60,在存储器内需要管理的块数减少,管理变得容易,下载效率得到提高。
在图12表示的Z形状顺序分割图像208的例子中,通过按Z形状赋予识别号码,使图像块接近正方形,提高空间局部性。在该图的例子中,当赋予完识别号码的平铺图像达到设定的大小的正方形时,从新的始点赋予识别号码,将该始点在原图像200内配置成矩阵状。为此,成为图像块的边界线几乎相互正交的格子状。另一方面,也可以设法使图像块的边界线不成为格子状。
图15示意性地表示图像块的边界线形成为格子状时的、图像块和显示图像的描绘区域的关系。在原图像的一区域132,图像块134a形成横3个、纵2个的矩阵状,其边界线为格子状。当进行这样的块分割,如该图所示,当描绘区域136a在包含格子的交点那样的位置时,需要描绘的图像块变为4个。
图16示意性地表示当图像块边界线为T字路形状时,图像块和显示图像的描绘区域的关系。在原图像的一区域238,图像块134b的纵方向的边界线根据不同的行错开地配置,其结果,边界线成为T字路形状。当进行这样的块分割时,如该图所示,描绘区域136b即使跨边界线,描绘所需的图像块最大为3个,与图15的情况相比,下载的效率更高。为了这样地进行图像块的配置,例如,不要将上述的识别号码赋予的始点配置成矩阵状,而是按行错开地配置即可。
至此叙述的块分割的方法都是对同一层次的图像进行的。另一方面,也可以通过跨多个层次地赋予识别号码,在一个图像块包含多个层次平铺图像的信息。这样,不只是在同一层次的图像上的显示区域的移动,即使对显示图像的扩大或缩小,也可以减少下载的次数。
此时,可以将多个层次平铺图像简单地进行同样的压缩后作为图像块来汇集,利用分辨率不同的相同图像之间的冗余(冗長性),使用一方的图像对另一方的图像进行还原,提高压缩率。在本实施方式中,由于包含在一个图像块中的信息总是成套被下载,使这样的方法成为可能。例如、对将低分辨率图像扩大到高分辨率图像的倍数的图像、和实际的高分辨率图像的差分图像进行压缩,与低分辨率图像的压缩数据一起包含到图像块中。此时,以低分辨率图像、差分图像的顺序汇集图像块,当成为不超过基础块大小的最大的数据大小时,形成下一个图像块。
图17是用于说明将高分辨率图像作为和低分辨率图像的扩大图像的差分图像来压缩的方法的图。本处理由压缩数据分割单元104来进行,也可以在生成层次数据阶段,与图像显示相关的其他处理分开进行。首先,分别读取在层次数据139中的第2层次34以及第3层次36的原图像(S20、S22)。在该例中,如该图所示,第3层次图像36b是将第2层次图像34b在纵向以及横向扩大2倍后的图像。这些图像中,对第2层次图像34b的平铺图像中的几个进行通常的压缩(S24)。接着,作为代替对第3层次图像36b的对应的平铺图像的压缩,对与将该平铺图像和第2层次图像34b的平铺图像扩大2×2倍的图像的差分图像进行压缩(S26)。
此时,第2层次图像34b中的压缩对象的平铺图像与在图11~14举例表示的一样,作为以成为几乎相同大小的数据的方式分割原图像而成的区域的平铺图像等,或者作为预先确定的数量的平铺图像,如上所述地在形成图像块的阶段,平均地调整数据大小。
其结果,生成第2层次图像34b的压缩数据140和差分图像的压缩数据142。在该图中,为了容易理解,压缩数据也用图像来表现,为了表示差分图像的压缩数据142是差分,表示为阴影图像。将这些压缩数据包含在一个图像块144中。另外,在该例中图示成只有第2层次图像34b和第3层次图像36b的一个组合在图像块144中,也可以同样地包含3个以上的层次的图像。即,最低分辨率的图像直接压缩,高分辨率的图像由与上一个层次的图像的差分图像来表现。另外,也可以将具有这样的依存关系的压缩数据的多个组包含在图像块144中。
这样生成的图像块144存储在硬盘驱动器50中。并且,下载单元108根据需要下载到主存储器60中。此后,根据前瞻处理单元110等的判断由解码单元112进行解码。此时、第2层次图像34b的压缩数据140用通常的处理来解码,成为第2层次图像34b(S28)。另一方面,差分图像的压缩数据142首先按通常方式解码后(S30),将解码的第2层次图像34b与扩大了2×2倍的图像结合(足し合わせる)(S32、S34),成为第3层次图像36b。
在上述的例子中,将与低分辨率图像的扩大图像的差分图像作为高分辨率图像的数据进行压缩,但也可以相反地,利用高分辨率图像作成低分辨率图像。例如也可以将高分辨率图像子波压缩(ウエ一ブレツト),并存储到硬盘驱动器50,根据需要,下载到主存储器60后,解码单元112生成该高分辨率图像的压缩图像的低通图像,作为低分辨率图像。同样地,也可以JPEG压缩高分辨率图像,去掉高周波成分,作为低分辨率图像。或压缩这样生成的低分辨率图像与原来的低分辨率图像的差分图像,包含到同一个图像块中,与上述同样地,也可以通过加算差分图像,还原低分辨率图像。或由金字塔过滤器从2×2的像素群求得1像素。通过这些方法,可以实现向主存储器60的下载时间的缩短,有效利用主存储器60的区域。
下面决定应从存储在硬盘驱动器50的图像块下载到主存储器60的图像块,说明下载方法。图18是表示决定应下载的图像块,并实施下载的处理顺序的流程图。该处理以例如设定的时间间隔随时进行。首先下载块决定单元106识别下载单元108现在是否是在下载中(S40)。如果是下载中,结束处理(S40的Y)。
如果不是下载中(S40的N),对于后面叙述的图像上的区域,判定在主存储器60中是否有该当的数据(S42)。为此,将例如存储在主存储器60中的图像块的识别信息,即,由顶头的平铺图像的识别号码和平铺图像的数量构成的信息,和与该顶头地址相对应的表存储到主存储器60。并且根据必要的平铺图像的识别号码,通过检索该表,可以判定有无数据。在此,判定对象的区域可以是1个平铺图像,也可以包含多个平铺图像。将这些区域称为“必要区域”。
如果必要区域中存在没有下载到主存储器60的区域(S44的Y),则从包含在该区域中的平铺图像的识别号码和图像块的识别信息,确定包含该区域的图像块,将其作为下载对象来决定(S46)。此时,在必须下载多个图像块的情况产生时,根据预先确定的规则,将优先度高的图像块作为下载对象来决定。即,在1次下载处理中,不一次下载多的图像块。
一次下载的图像块越多,下载所要的时间增加,其间如用户作出显示图像的变更要求,必要区域发生变化,此时的下载处理可能が成为徒劳。为了回避这样的事情发生,下载块决定单元106随时决定应下载的图像块,将1度下载的图像块制限在1个、或设定的数量以内。
如下载块决定单元106决定了下载对象,下载单元108根据将图像块的识别信息和存储区域对应起来的表,从硬盘驱动器50读取是下载对象的图像块,并存储到主存储器60(S48)。在S44,当必要区域全体被存储到主存储器60,则结束处理(S44的N)。
图19是在S42、决定作为判定在主存储器60中是否存储了必要区域的数据的对象的必要区域时的概念图。在主存储器60,最好是基本上现在显示的区域的周边的图像的压缩数据已经下载。此处的“周边”,可以包含同一层次的图像中的上下左右(X轴、Y轴)方向和层次结构的深度(Z轴)方向的周边。所谓Z轴方向的周边是指包括显示图像以及其近傍的扩大图像以及缩小图像。
图19表示从上开始第n-1层次、第n层次、第n+1层次的图像的一部分,在各图像内表示有平铺图像。在各层表示的图像在中心线154表示同一处。并且第n层次的图像的中央付近的区域150是现在显示的区域,必要区域例如是包含黑圆152a、152b、152c等的区域。即,在作为显示图像的层次的第n层次的图像中,将显示图像的区域150内的中心(中心线154的地点)以及四角的地点、和包含将区域150向上下左右延伸的矩形的各边的中点和四角的地点的平铺图像作为必要区域。
另一方面,在与显示图像相邻的层次、即第n-1层次和第n+1层次的图像中,将包含中心线154的地点和以其为重心的设定大小的矩形的四角的地点的平铺图像作为必要区域。此时的矩形可以是与显示图像的矩形的大小相当的大小。即使显示区域移动,如果总是包含这样的地点的图像块下载到主存储器60,则可以顺利进行解码以及描绘,对用户提出的图像变更要求的响应速度得到加快。
图19中表示的地点只是示例,根据图像的内容或图像处理装置10的处理性能、主存储器60的容量等,也可以增减数量,变化配置形状。另外,也可以根据图像的内容上的重要区域或同一用户的显示履历,不管显示图像的变化而优先下载过去高频率显示的区域或被认为与用户的嗜好相一致的区域。此处的“重要区域”是指例如,如果是人物的图像,则指面部付近,如果是电子广告则是指特色商品等的显示区域。另外,所谓用户的嗜好是指,如果是报纸的图像,则指用户经常阅读的栏目等。这样的区域在图18的S46,即使在产生下载多个图像块的必要性时,也给与高的优先度,进行下载。也可以在开始图像显示的阶段先下载。
关于在图18的S46的优先度,在此之外,还可以准备例如下面的规则。首先,从与显示图像在同一层次内的图像块,到其它层次,即,优先扩大图像以及缩小图像的图像块。这是由于在同一层次内的显示区域的移动时、由存储在缓冲存储器70的2个缓冲区域72以及74的解码图像来处理的可能性变高,而在层次间的移动,必须全部更新缓冲存储器70的解码图像的可能性变高。但是,在往复于2个层次之间时,有时靠缓冲存储器70来补充。
层次深,即,优先扩大图像的图像块,层次浅,即,优先缩小图像的图像块。这是因为即使没有来得及下载、解码,扩大图像通过将缩小图像扩大,也可以容易进行临时的对应,但反过来就比较困难。
图20是用于说明前瞻处理单元110进行的前瞻处理的图。图20表示了层次数据的结构,各层表示为L0(第0层次)、L1(第1层次)、L2(第2层次)、L3(第3层次)。箭头80表示来自用户的图像变更要求是要求缩小显示图像,是跨越L 2的情况。在本实施方式的图像处理装置10中,将原来的图像数据所存在的L1、L2的深度方向的位置作为深度方向的前瞻边界来设定,在从输入装置20来的图像变更要求超过前瞻边界的时刻,开始前瞻处理。
当显示图像的比例系数在L2的近傍时,使用L2(第2层次)的图像,制作显示图像。具体地说,显示的图像的比例系数在L1的图像和L2的图像的切换边界82、以及L2的图像和L3的图像的切换边界84之间时,缩小、扩大L2的图像,生成显示图像。因此,如箭头80所示,当图像的缩小处理被要求时,从L2的扩大图像变换为缩小图像来显示。本实施方式的图像处理装置10确定根据图像变更要求来预测的将来必要的图像,从主存储器60读取并解码。在图20的例子中,根据图像变更要求的要求比例系数跨越L2时,将在缩小方向的L1的图像从主存储器60前瞻解码,写入缓冲存储器70。
在同一层次的上下左右方向的前瞻处理也是同样处理。具体地说,对存储在缓冲存储器70的图像数据设定前瞻边界,在根据图像变更要求的显示位置跨越前瞻边界时,开始前瞻处理。
图21是表示前瞻处理单元110以及解码单元112进行图像的解码时的处理顺序的流程图。首先,根据来自输入装置20的图像变更要求信号,导出被要求的显示图像的变更量(S50)。显示图像的变更量是上下左右方向的移动量以及深度方向的移动量。接着,从层次结构中的此前的显示区域的四角的帧坐标,根据导出的变更量,决定移动目的地的显示区域的四角的帧坐标(S52)。
用于显示由决定的四角的帧坐标确定的区域的图像区域已经被解码,判定存储在缓冲存储器70的缓冲区域72或缓冲区域74某一个中(S54)。在缓冲区域72或缓冲区域74中已经存在必要的图像区域时(S54的Y),判定被要求的比例系数是否超越前瞻边界(S56)。如果没有超越前瞻边界,缓冲存储器70直接结束处理。
当用于显示由在S52决定的四角的帧坐标确定的区域的图像区域在缓冲存储器70中不存在时(S54的N),以及被要求的比例系数超过前瞻边界时(S56的Y),前瞻处理单元110对解码单元112指示必要的图像区域的解码。解码单元112从主存储器60取得被指示的图像区域的数据,进行解码,并存储到缓冲区域72或缓冲区域74(S60)。由此,在由显示图像处理单元114生成显示图像之前,可将必要的图像区域展开到缓冲存储器70。
在存储在显示用缓冲中的图像的一部被显示时,在解码用缓冲中成为下一个所需的图像是、在同一层次内移动,例如,当显示区域跨越前瞻边界时,该显示区域包含在移动方向的始点侧一端那样的图像。此时,存储在缓冲区域72以及缓冲区域74的图像至少具有显示图像的大小的重复区域,并且根据前瞻边界的设定位置,重复区域增加。当超越前瞻边界时,应新解码的图像的范围根据处理速度等预先设定。也可以根据图像的内容使其变化。
如上所述,当使用解码用缓冲时,有可能新存储的图像和此前存储在解码用缓冲中的图像的一部分重复。利用这种性质,在本实施方式中,通过下面所述的处理,减少新解码的区域,减轻解码处理的负荷。
图22表示在缓冲存储器70的解码用缓冲中,应新存储的图像与此前存储的图像有重复部分时的、解码单元112的功能块。解码单元112包括:确定重复部分的区域的重复区域取得单元170;对没有重复的区域进行重新解码,覆盖此前存储的图像的一部分的部分区域解码单元172;生成反复排列覆盖的图像而成的图像的反复图像生成单元174;以及将排列的图像的一部分取出,作为最终的解码图像存储到解码用缓冲的解码图像存储单元176。
图23示意性地表示图22的解码单元112将图像存储到解码用缓冲的顺序。如上所述,在存储于显示用缓冲中的图像内,当显示区域超越前瞻边界等时,产生在解码用缓冲中存储新的图像的必要性。此时,已经存储在解码用缓冲中的图像是该图左上的图像160。另一方面,应新存储的图像是该图右上的图像162。即,该图表示显示区域向左移动,有从原来的“圆”或“三角”图形,显示在其左的“星”的图形的可能性的状态。
根据上述理由,图像160和图像162具有重复区域。在该图的例子中,由在横方向(X轴)从x0到x2的区域构成的图像162中,从x1到x2的区域和图像160重复。此时,在已存储的图像160中,重复的从x1到x2的区域作为应新存储的图像的一部分,直接利用。
具体地说,部分区域解码单元172只对应新存储的图像162中的、与图像160不重复的、从x0到x1的区域进行解码,覆盖已存储的图像160中的已经不需要的、从x2到x3的区域(S70)。但是,有时例如在以平铺图像单位进行压缩时等,根据压缩单位的配置,不能只解码不重复的、从x0到x1的区域。此时对包含该区域的、可解码的最小区域进行解码后,只抽出从x0到x1的区域,覆盖从x2到x3的区域。
为了进行S70的处理,在缓冲存储器70的缓冲区域72、74设置存储现在正存储的图像的左下的坐标的区域。重复区域取得单元170通过与应新存储的区域的左下的坐标进行比较,确定重复区域。另外,当在解码前确定重复区域的处理会产生设定值以上的负荷时,也可以在对应新存储的图像162进行全部解码的基础上,覆盖不重复的区域。
接下来,反复图像生成单元174临时制作将这样生成的中间图像164在横方向反复而成的反复图像166(S72)。将单位图像在纵方向、横方向反复而成的图像在图像处理中可由一般使用的技术来生成。解码图像存储单元176在反复图像166中,在将中间图像的边界坐标作为0时,取出从-(x1-x0)到x2-x1的区域,重新存储到解码用缓冲(S74)。由此,应新存储的图像162被存储到解码用缓冲。在该图的例子中,只着眼于横方向的移动,但对只在纵方向的移动、在纵方向和横方向双方移动时,也可以通过同样的处理,只对重复区域以外的区域进行解码即可。但是,在纵方向和横方向双方移动时,反复图像166成为在纵横各2次将中间图像164反复而成的图像。
这样,因为可以用最低限度的解码,将前瞻的区域存储到解码用图像,因此可以抑制由于解码处理产生的图像显示的等待时间(レイテンシ一)。存储在解码用缓冲的图像也可以作为中间图像164。此时,显示图像处理单元114根据来自用户的指示输入,从解码用缓冲读取该中间图像164,进行上述的S72、S74的处理,将应新存储的图像162描绘在显示处理单元44的帧存储器90上。
以上是对在同一层次的显示区域的移动的前瞻处理的解码方法。另一方面,要求不改变显示的中心地点,但进行扩大或缩小的可能性也较高。如果是向扩大方向或缩小方向的某一个方向的变更,在超越前述的前瞻边界的时点,在解码用图像顺序存储新的图像,在要求不超越2个前瞻边界且回到原来的比例系数时,没有必要对解码用图像重新存储图像,可以直接利用已存储的图像。
为此,也可以在缓冲存储器70的缓冲区域72、74设置存储现在存储着的图像的层次号码的区域。当超越设定在层次的深度方向的前瞻边界时,如果应存储在解码用缓冲中的层次和已存储的层次是同一个,则不进行解码处理,使已存储的图像保留为原状态。由此,在显示图像的扩大或缩小方面也可以将解码处理维持在最低限的次数,可以减少处理的负荷和等待时间。
根据以上记载的本实施方式,在根据来自用户的要求,显示被压缩的图像的至少一部分的图像处理装置中,将数据的一部分从存储压缩数据的硬盘驱动器下载到主存储器。通过将下载到主存储器的数据解码并显示,在用户要求变更显示图像时,可以节约从硬盘驱动器读取必要数据所要的时间,提高响应速度。通过只下载数据的一部分的形式,即使是具有主存储器的容量以上的大小的图像,也可以作为显示对象,减少了对可处理图像的制约。
另外,图像数据以基本相同的数据大小分割为块,存储到硬盘驱动器,下载到主存储器是以块单位来进行。由此,即使在主存储器的连续区域顺序存储下载的块,在新下载块时也不会产生碎片,可有效使用主存储器,且使地址管理变得容易。
另外,在将图像数据分割为块时,使各块具有的信息具有空间局部性。具体地说,以从始点的平铺图像向横方向、纵方向同样地扩张的方式,增加包含在一块中的平铺图像,在刚要达到设定的数据大小之前,决定一块的区域,且使块为接近正方形的形状。或者,在预先设定的正方形或长方形的区域中,以栅格顺序增加平铺图像,使其成为接近具有设定的宽度的长方形的形状。这样,可以抑制显示所需的块数,减少下载的次数,使得从主存储器读取解码所需的数据变得容易。同样的道理,也可以使块之间的边界成为T字形那样地进行分割。
另外,即使在显示图像的变更时以外的时间,也以设定的时间间隔等随时进行向块的主存储器的下载。此时,以现在的显示图像为起点,在位置以及层次上,根据设定的规则决定成为周边区域的地点,随时下载在包含该地点的块当中没有下载的部分。在图像的内容上,根据重要区域或显示履历,使每个用户的、可预测的显示概率比设定的阈值高的区域优先下载。由此,可使当用户要求显示图像变更后,必须突然从硬盘驱动器下载数据,或通过网络下载的事态发生的可能性变低,不需要一次下载多块,可抑制下载处理导致的等待时间的发生。
在块分割时,将不同层次的图像的同一区域部分包含在一块中。此时、利用这些图像具有的冗余,对于在还原一个图像所需的信息中的、其它图像保存的信息,在块内不重复保存。例如,如果将低分辨率的图像,和将其扩大得到的扩大图像与高分辨率的图像的差分图像包含在一块中进行压缩,可还原高分辨率图像。在本实施方式中,如上所述,由于以块单位下载到主存储器,这样可利用图像之间的冗余。这样,数据的压缩率得到提高,可有效使用主存储器。
另外,作为存储解码了的图像的缓冲区域,准备了显示用缓冲和解码用缓冲2个缓冲,对可以预测为将来要显示的区域进行预先解码,存储到解码用缓冲中。此时,当应该将新的图像存储到解码用缓冲时,直接利用与此前存储的图像相重复的区域。具体地说,生成用新图像区域覆盖已存储的图像当中的不重复的区域的中间图像,通过从重复该处理形成的反复图像中抽出必要的部分,由此可使解码处理控制在最小限度,可容易存储新的图像。
通过使缓冲区域具有以上的构成,由于在同一层次内的显示区域的移动的处理负荷变小,容易使对用户的显示图像变更要求的响应速度保持在一定程度以上。为此,通过将与显示图像不同层次的数据优先下载到主存储器,由和缓冲存储器的组合,整体上响应速度提高。这些方式可以不用使装置的构成复杂化和大规模即可实现。
以上根据实施方式对本发明进行了说明。上述实施方式是示例,这些各构成要素或各处理过程的组合可有各种变形例,这些变形例也在本发明的保护范围内,这一点是本领域技术人员能够理解的。
如上所述,本发明可用于图像处理装置、图像显示装置、计算机、游戏机等信息处理装置。
符号说明
1图像处理系统、10图像处理装置、12显示装置、20输入装置、30第0层次、32第1层次、34第2层次、36第3层次、38平铺图像、44显示处理单元、50硬盘驱动器、60主存储器、70缓冲存储器、72缓冲区域、74缓冲区域、90帧存储器、100控制单元、102输入信息取得单元、104压缩数据分割单元、106下载块决定单元、108下载单元、110前瞻处理单元、112解码单元、114显示图像处理单元、120识别号码赋予单元、122图像块生成单元、170重复区域取得单元、172部分区域解码单元、174反复图像生成单元、176解码图像存储单元。