一种图像数据的缓存方法和装置与流程

文档序号:11135371阅读:338来源:国知局
一种图像数据的缓存方法和装置与制造工艺

本发明实施例涉及数据存储技术,尤其涉及一种图像数据的缓存方法和装置。



背景技术:

3D显示技术,是视频显示发展的趋势之一。裸眼3D技术由于其无需配套的用户端设备,即3D眼镜,因此更加方便观看,是3D显示领域又一研究重点。

裸眼3D技术指可在不依靠用户端设备的条件下完成3D图象显示的相关技术。裸眼3D技术的显示原理如图1所示,在观看区域中,与显示屏幕相距设定距离处的视点界面,预设多个视点,各视点之间的距离大致为人眼之间的距离。将3D显示图像针对各个视点处理为多个视点图,每个视点图显示在屏幕上时,在对应的视点位置,可呈现3D的立体观看效果。

基于上述要求,需要将2D+Z的二维视频数据帧处理为包括多个视点图的3D视频数据帧。具体处理过程如下:

如图2所示,通常由数据源提供给显示设备的原始视频数据,是2D+Z格式的,即每帧图像数据包括平面各点的图像数据(称为2D图)以及各点图像的深度数据(称为深度图),可统称为二维深度数据,即2D+Z数据。基于2D+Z数据,首先进行渲染,渲染指基于输入的2D+Z数据相对于各视点位置生成对应的视点图像的过程。可通过2D+Z数据通过投影的方式,换算出视点图像中在显示屏幕上的每个投影点应该呈现的颜色和灰度,构成整张视点图像。而后进行交织,交织指将各视点图像依据所对应裸眼3D显示系统特性交织为与之相匹配的3D图像的过程。根据显示屏幕的分辨率,显示屏幕中将会有矩阵方式排列的大量像素点,将各像素点分别分配给各视点图像,各视点图像所分配的像素点通常是间隔分布的,例如,最为简单的方式是各视点图像所对应的像素点均匀的间隔分布,而具体的分布方式可基于交织算法来确定。交织完成的3D图像将会在显示屏幕上进行显示。一般的,裸眼3D显示设备采用光栅或棱镜遮挡在显示屏幕的前面,不同位置的光栅或棱镜或遮挡部分显示画面,使得3D图像分别投放于不同的视点,即每个视点都不会看到全部的3D图像,而是看到部分视点图像,人的左眼和右眼看到不同的视点图像,最终给人呈现的效果就是3D显示效果。

由上述分析可知,从2D+Z数据渲染交织成为3D图像,是裸眼3D显示技术的重要处理过程。由于裸眼3D显示技术在显示视频时,是需要显示设备连续处理2D+Z数据的视频流的,所以,渲染交织的实时性很重要。现有技术中,一般将完整一帧的2D+Z数据读入内存,而后从内存中按渲染所需读出像素点的数据进行视点图像的渲染,再交织生成3D图像。处理完一帧图像,再处理下一帧。为了保证实时性,所以需要大容量的内存以及较高的内存读写带宽。

经过对渲染和交织算法的研究发现,如图3所示,在视点图像中的每个投影点,其所需要显示的图像数据(包括灰度和颜色),一般仅通过2D+Z数据中该投影点对应位置所在行左右的数个像素点图像数据即可渲染得到。所以,无需读入一帧的所有像素点的2D+Z数据,而是仅读入部分行的像素点数据,就可以渲染交织出交织图像中的数行的投影点数据,直接进行显示。这需要配合图像数据的输入方向、输出方向和内容方向。输入方向,是指将原始数据读入内存的方向,一般是将2D+Z数据,按图像的行顺序逐行读入。输出方向,是指3D图像在显示屏幕的显示输出方向,一帧3D图像并非同时在显示屏幕显示,而是从显示屏幕顶部至底部逐行的显示出来。由于逐行扫描的速度很快,所以人并不会感知到。内容方向是指图像在显示屏幕上的显示方向,一般是竖向或横向的。

在通常情况下,例如在电视上显示,那么,输入方向、输出方向和内容方向是一致的,都可以自图像顶部向底部逐行处理。所以可利用上述方式,将部分行2D+Z数据读入内存,渲染交织处理成3D图像的数行图像数据,可立即显示;而后再处理下面部分行的数据,直至当前图像全部显示完成。

但是,当内容方向与输入方向和输出方向不相同时,就无法实现上述方案了。例如,当用手机观看裸眼3D视频时,人们会把手机横置,则内容方向与手机屏幕的输出方向不再一致。输出方向是从手机屏幕顶部自底部的竖向,但内容方向是横向的。如图4所示,显示屏幕上投影点所需的渲染交织数据,将分布在2D+Z数据竖向一列的数行中。

现有技术为解决上述裸眼3D显示渲染交织中的图像旋转问题,最为直接的方法为在渲染前和交织后分别增加特定的旋转操作。旋转操作以帧为单位完成,首先在片上内存中读入完整帧的2D+Z数据,而后旋转方向,进行渲染和交织,再旋转方向,向显示屏幕输入。显然,这对片上内存提出了较高的要求。如将一帧数据保存在片上内存,则需要采用读写内存的方式完成旋转,则对读写内存的带宽产生了较大消耗,不适合集成电路实现。

综上分析可知,现有技术为了解决输入和输出方向与内容方向不一致的情况,需要提供很大的内存空间或读写内存带宽资源,这必将显著增加裸眼3D显示设备的成本。



技术实现要素:

本发明实施例提供一种图像数据的缓存方法和装置,以降低裸眼3D显示设备对内存的消耗量。

第一方面,本发明实施例提供了一种图像数据的缓存方法,包括:

将当前图像的二维深度数据中的深度通道数据、灰度通道数据和颜色通道数据,分别写入各自的压缩前内存空间;

根据图像的深度通道数据,确定对应位置的灰度通道数据的灰度压缩比等级;

根据所述灰度压缩比等级对灰度通道数据进行压缩,并写入压缩后内存空间,同时对应记录所述灰度压缩比等级;

从所述压缩后内存空间中读出灰度通道数据并根据记录的灰度压缩比等级进行解压缩,与对应位置的深度通道数据和颜色通道数据对应输出。

第二方面,本发明实施例还提供了一种图像数据的缓存装置,包括:

通道数据写入模块,用于将当前图像的二维深度数据中的深度通道数据、灰度通道数据和颜色通道数据,分别写入各自的压缩前内存空间;

压缩比等级确定模块,用于根据图像的深度通道数据,确定对应位置的灰度通道数据的灰度压缩比等级;

灰度数据压缩模块,用于根据所述灰度压缩比等级对灰度通道数据进行压缩,并写入压缩后内存空间,同时对应记录所述灰度压缩比等级;

数据输出模块,用于从所述压缩后内存空间中读出灰度通道数据并根据记录的灰度压缩比等级进行解压缩,与对应位置的深度通道数据和颜色通道数据对应输出。

本发明通过图像数据的缓存方法,采用了压缩手段,且灰度通道数据根据深度信息确定不同的压缩比,兼顾了压缩所需内存空间和压缩后的图像显示质量。

附图说明

图1为现有技术中裸眼3D技术的显示原理图;

图2为现有技术中裸眼3D技术图像的渲染交织过程示意图;

图3为现有技术视点图像中的投影点与2D+Z图像的渲染所需区域的对应关系示意图一;

图4为现有技术视点图像中的投影点与2D+Z图像的渲染所需区域的对应关系示意图二;

图5为本发明实施例一提供的图像数据的缓存方法的流程图;

图6为本发明实施例一所适用的图像渲染交织过程示意图;

图7为本发明实施例一所适用的内存空间结构示意图;

图8为本发明实施例一所适用的图像数据的处理过程示意图;

图9为本发明实施例二提供的图像数据的缓存方法的流程图;

图10为本发明实施例二图像中的投影点与2D+Z图像的渲染所需区域的对应关系示意图一;

图11为本发明实施例二中图像块的位置示意图一;

图12为本发明实施例二中图像块的位置示意图二;

图13为本发明实施例二图像中的投影点与2D+Z图像的渲染所需区域的对应关系示意图二;

图14为本发明实施例三提供的一种图像数据的缓存装置的结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

实施例一

图5为本发明实施例一提供的图像数据的缓存方法的流程图,本实施例可适用于基于二维深度数据(2D+Z数据)渲染交织形成交织图像前进行缓存处理的情况,尤为适用于实时显示的视频流的裸眼3D显示处理场景,但是也可用于对静态图像进行缓存,而后输出进行其他处理。该方法可以由图像数据的缓存装置,基于内存空间来执行。

如图6所示,本发明实施例的技术方案,为节省偏上内存SRAM的消耗,对待存入内存的2D+Z数据先做降尺寸压缩处理,存入SRAM中,再从SRAM中读出时进行升尺寸解压缩处理,而后在渲染交织模块中按输出方向进行渲染交织,最后将交织后的交织图像输出显示。这样能够减少片上内存的消耗。特别是,该压缩方法中,对2D+Z数据的Y、U、V和Z四通道数据采用不同压缩方法和压缩比进行压缩;Y通道借鉴Z通道信息进行压缩,且根据不同的深度信息采用不同压缩比完成。

为清楚介绍技术方案,首先说明该方法所基于的内存空间。如图7所示,内存空间(SRAM)可按功能分为三个部分,SRAM-A、SRAM-B和SRAM-C三个区域。SRAM-A区域用于对信号源输入的2D+Z数据提供转换和压缩所需存储空间,是压缩前内存空间;压缩后的数据以及压缩所采用的压缩比信息写入SRAM-B区域,这也是主要的数据缓存区域;渲染时,按照当前待渲染的像素点所需的二维深度数据,从SRAM-B区域中读出数据,解压缩存储到SRAM-C区域(图中未示)中,用于进行渲染。SRAM-B的存储行数是当前渲染所需的存储行数,为了保证渲染的进行,一般会根据经验值设置合理的行数。如图7所示,SRAM-B的行数为256行,SRAM-A区域设置为32行,一般分成两部分使用,一部分是当前压缩写入的SRAM-A区域,另一部分是已使用过,准备作为下一批压缩数据写入的可覆盖存储空间。

结合图7所示的内存空间结构,该图像数据的缓存方法具体包括:

S110、将当前图像的二维深度数据中的深度通道数据、灰度通道数据和颜色通道数据,分别写入各自的压缩前内存空间;

对于视频流,当前图像为该视频流中当前帧的图像,对于静态图像,即为当前处理的图像。从信号源获取的二维深度数据,可能是RGB格式,也可能是YUV格式,本实施例中,需要将RGB格式转换成为YUV格式的数据进行处理。YUV格式的数据可按数据类型,划分为灰度通道数据(Y通道)和颜色通道数据(U通道和V通道),2D+Z数据中还包括深度通道数据(Z通道),各通道数据在SRAM-A,即压缩前内存空间中分别预先分配了存储区域,各自独立存储,即各自用于一块SRAM-A。

S120、根据图像的深度通道数据,确定对应位置的灰度通道数据的灰度压缩比等级;

图像的深度通道数据,反应了交织图像中各投影点相对于拍摄点或观看者的距离远近,这些投影点均会在屏幕上进行显示,并且相对于屏幕的距离不同。例如,对于距离屏幕较远的投影点包括远景点和近景点,即入屏或背景,由于远景所需分辨率下降,所以一般可采用较小压缩比;对于深度位置离屏幕位置较远的投影点,裸眼3D显示中由于左右眼串扰与离屏幕距离成正比,因此也可采用较小压缩比。

所以,根据图像的深度通道数据,确定对应位置的灰度通道数据的灰度压缩比等级的操作优选是:根据图像的深度通道数据确定图像深度位置与待显示的屏幕界面之间的距离;将对应位置的灰度通道数据的灰度压缩比等级与所述距离呈反比确定。

压缩比定义为压缩后数据量与压缩前数据量比,取值范围[0,1],1代表不压缩的情况。压缩比越小,则图像的复原概率越低,压缩比越大,则图像的复原概率越大,越清晰。可以预先确定压缩比的几个等级,例如,[0,1,2,3,4,5],分别对应的压缩比为[1,0.9,3/4,2/3,1/2,1/3]。通常,距离屏幕越远,压缩比越小,压缩后的数据量越小。

S130、根据所述灰度压缩比等级对灰度通道数据进行压缩,并写入压缩后内存空间,同时对应记录所述灰度压缩比等级;

对于灰度通道数据采用不同的压缩比进行压缩,同时记录灰度压缩比等级,一般会占用2bits,以备解压缩时进行相应的解压缩操作。灰度通道数据的压缩算法不限,例如可采用Bicubic内插降尺寸算法。

本实施例方案中,不仅可以对灰度通道数据进行压缩,还可以对颜色通道数据和深度通道数据也进行压缩和解压缩,即,与对应位置的深度通道数据和颜色通道数据对应输出之前,还包括:

对写入压缩前内存空间的深度通道数据和颜色通道数据采用设定压缩比分别进行压缩,存储到各自的压缩后内存空间中;

从各自所述压缩后内存空间中分别读出深度通道数据和颜色通道数据,并按照所述设定压缩比进行解压缩。

压缩和解压缩过程的整体流程架构如图8所示。

优选是:所述颜色通道数据包括U通道数据和V通道数据,采用Bicubic内插降尺寸算法进行压缩;

所述深度通道数据,采用双线性内插降尺寸算法进行压缩;

所述颜色通道数据和深度通道数据的压缩比可以相同。

具体的,考虑压缩算法本身存在一定的缓存开销,压缩时,使用较为简单的内插降尺寸方法完成对深度通道数据和颜色通道数据的压缩。U、V和Z通道使用不同方法按设定压缩比降尺寸压缩。其中对于U通道和V通道,可使用Bicubic内插算法完成降尺寸压缩;对于Z通道,可使用双线性内插算法完成降尺寸压缩。同样,解压时,使用内插升尺寸的方法完成。其中对于U、V通道,可使用Bicubic内插完成升尺寸解压缩;对于Z通道,可使用双线性内插完成升尺寸解压缩。

由于以上方法均采用内插方式完成计算,其在压缩端及解压端开销有限,各需配置2-4行的SRAM-A和SRAM-C的内存空间)。由于U、V和Z通道数据的全图压缩比例可一致,考虑Bicubic或Bilinear内插完成升尺寸,所以在内存中分别为U、V和Z通道数据所需预留的存储区域约为(渲染所需行数+2)*行宽*压缩比。

S140、从所述压缩后内存空间中读出灰度通道数据并根据记录的灰度压缩比等级进行解压缩,与对应位置的深度通道数据和颜色通道数据对应输出。

共同进行图像三维渲染和交织处理;

从压缩后内存空间中,即SRAM-B中,分别读出灰度通道数据、深度通道数据和颜色通道数据至SRAM-C中,进行解压缩后对应输出。输出后的数据可进行其他所需的处理,在裸眼3D视频流的显示应用中,具体是在输出后进行渲染和交织处理,形成交织图像。而后将交织处理后的交织图像进行显示。

本发明实施例的技术方案,采用压缩手段来减小对内存空间的需求。并且,对于输入2D+Z图像,存在Y、U、V和Z四通道数据。四通道数据可压缩程度不同,采用了不同降尺寸方式。其中,Z、U和V通道数据可压缩能力一般较好。对于灰度通道数据(Y通道),则使用压缩比较高性能较好的压缩方法,以避免2D+Z图像3D显示时质量的大幅下降。由于对灰度通道数据基于深度信息采用了不同的压缩比,有效兼顾了减小压缩解压缩所需额外内存空间与良好的显示效果。

上述技术方案中,对于压缩比等级的设置可以采用连续形的数值函数,也可以采用离散形的数值。优选的,将对应位置的灰度通道数据的灰度压缩比等级与所述距离呈反比确定包括:

根据所述距离确定对应的深度区间,根据所述深度区间查找预设对应的压缩比等级。

例如,可设置总深度范围为0-255,其中128对应屏幕位置,255对应出屏最远位置,0对应入屏最远位置。特别的,可将深度区间分段为[0-32,33-64,65-96,97-128,129-160,161-192,193-224,225-255]。各段分别分配压缩等级,如[4,3,2,0,0,1,1,2]。按不同压缩等级分配压缩比,如横向压缩比[1,0.9,3/4,2/3,1/2,1/3],纵向压缩比与横向一致,对应优先级[0,1,2,3,4,5]。上述技术方案能更加快捷的查找确定压缩比。

实施例二

图9为本发明实施例二提供的图像数据的缓存方法的流程图,本实施例以前述实施例为基础提出了优化,即以图像块为单位进行数据的压缩、存储和解压缩。假设内存空间中的内存行是与二维深度数据和交织图像数据的行对应的,即内存行存储图像中一行像素点的颜色通道数据、灰度通道数据或深度通道数据。每个图像块跨越数个内存行,且每个内存行横向涉及数个图像块。例如,图像大小为1920*2160像素,设置图像块大小为64*16像素。图像横向分为1920/64=30个图像块,纵向分为2160/16=135个图像块,以图像块为单位,则图像块行为包含30个图像块的一行。

具体的,根据图像的深度通道数据,确定对应位置的灰度通道数据的灰度压缩比等级包括:根据写入压缩前内存空间的原始图像块的深度通道数据,确定对应位置的原始图像块的灰度通道数据的灰度压缩比等级。

上述方案,即以图像块为单位来确定深度信息,而并非以每个像素点为单元进行深度信息确定。

优选是,可以根据写入压缩前内存空间的原始图像块中各像素点的深度通道数据,计算平均值或者查找最大深度通道数据,作为该原始图像块的深度通道数据;根据所述原始图像块的深度通道数据,确定对应位置的原始图像块的灰度通道数据的灰度压缩比等级。

一方面,图像块所对应的图像区域较小,通常其所对应的图案颜色和灰度是一致的,可以执行统一的压缩;或者,另一方面,为了避免图像块所对应图案的压缩需求不一致,可以按照该图像块中所需的最高压缩比来处理整个图像块中的灰度通道数据。

相应的,基于图像块所执行的图像数据的缓存方法包括如下步骤:

S210、将当前图像的二维深度数据中的深度通道数据、灰度通道数据和颜色通道数据,以图像块为单位分别写入各自的压缩前内存空间;

具体的,为了节省内存所需空间,可以实时的对二维深度数据进行读入、压缩、读出和解压缩,而后渲染和交织形成至少一个扫描输出行的交织图像数据,在显示设备的屏幕上扫描输出已交织形成的扫描输出行。如果输出方向与内容方向是一致的,则当前扫描输出行渲染所需数据,大致是二维深度数据对应像素点位置所在行同行附近的数个像素点数据;如果输出方向与内容方向不一致,当前扫描输出行中的某个投影点渲染所需数据,大致是二维深度数据对应投影点位置所在行同列附近的数个像素点数据,如图10所示。

为了兼顾这两种情况,从信号源向内存空间读入数据按照第二种方式读入数行像素点的数据,以便能够同时读出同列的数个像素点数据进行渲染。每个扫描输出行交织图像数据渲染所需的附近像素点的数量按照经验值来确定,本发明实施例对此不进行限定。一般压缩、解压缩、渲染和交织也需要一定的处理时间,所以内存空间会预留供数个扫描输出行渲染所需数据的内存行,将该内存航的数量记为满足内容方向或不同时渲染所需行数。图像块的行数会远小于渲染所需行数。由于Y通道压缩采用图像块结构完成,渲染所需区域或存在与图像块部分交叠的情况,SRAM-B中所需保存区域为(渲染所需行数+图像块高度)*行宽*压缩比。

如图11所示,从信号源将二维深度数据中各通道数据以图像块为单位,写入SRAM-A中。按照所执行的压缩算法,SRAM-A的行数一般大于图像块的行数。例如,采用Bicubic内插算法时,SRAM-A的行数比图像块行数多2行。深度通道数据、灰度通道数据和颜色通道数据分别写入各自的SRAM-A中。

S220、根据写入压缩前内存空间的原始图像块中各像素点的深度通道数据,计算平均值或者查找最大深度通道数据,作为该原始图像块的深度通道数据;

S230、根据所述原始图像块的深度通道数据,确定对应位置的原始图像块的灰度通道数据的灰度压缩比等级;

S240、计算每个图像块行中至少两个原始图像块按照所述灰度压缩比等级压缩后的压缩存储量;

S250、如果所述压缩存储量大于存储余量值,则将至少一个原始图像块的压缩比等级降低,并重复执行S240,即重复压缩存储量的计算步骤,直至所述压缩存储量小于存储余量值,继续执行S260。

在实际执行压缩步骤之前,优选是进行上述压缩存储量的预估,即预算渲染所需区域压缩后Y通道内存最大消耗,避免该最大消耗超出已有内存容量。存储余量值可以是根据SRAM-B中的存储量实时计算而确定的,具体可根据已记录的各图像块的压缩比来计算已使用的存储空间与总存储空间之间的差值,作为存储余量值。如果当前的图像帧中大量像素点都是接近屏幕的,则按照深度与压缩比的关系,则这些像素点的灰度数据均需要采用较大的压缩比,则可能所需的压缩后存储数据量超出存储空间。那么,首先压缩并存储的数据可以采用较大的压缩比,当存储空间的余量越来越少时,则需要适当的采用降低压缩比的方式,将后续数据的压缩比降低,减少对存储空间的占用。降低压缩比等级的规则有多种,例如,可以同步降低所有原始图像块的压缩比等级,也可以挑选部分原始图像块降低压缩比等级。优选是,将至少一个原始图像块的压缩比等级降低包括:将当前图像块行中原始图像块的最大压缩比等级进行逐级降低。若仍不满足压缩存储量的要求,则再次挑选当前图像块行中具有最大压缩比等级的原始图像块,降低其压缩比等级,直至满足要求为止。

S260、根据所述灰度压缩比等级对灰度通道数据进行压缩,并写入压缩后内存空间,同时对应记录所述灰度压缩比等级;

上述步骤中,从SRAM-A中以图像块为单位读出灰度通道数据,采用例如内插压缩算法进行压缩,将压缩后的灰度通道数据以图像块为单位,写入SRAM-B中,同时在SRAM-B中对应记录各图像块的灰度压缩比等级。

深度通道数据和颜色通道数据可以采用设定的相同压缩比进行类似的压缩,以及写入对应的SRAM-B中。

所述压缩前内存空间优选包括至少两个图像块行,即如前所述,SRAM-A分为两个区域,分别为两个图像块行。

则S260优选是包括:从所述至少两个图像块行中确定一个可覆盖的图像块行;在所述可覆盖的图像块行中,根据所述灰度压缩比等级对原始图像块的灰度通道数据进行压缩,形成压缩图像块;将所述压缩图像块顺序写入压缩后内存空间。

可覆盖的图像块行是其中各图像块已经过压缩写入SRAM-B的操作,所以可接受下一批数据的写入操作。多个图像块行可交替的使用,避免出现数据写入错误。

S270、从所述压缩后内存空间中读出灰度通道数据并根据记录的灰度压缩比等级进行解压缩,与对应位置的深度通道数据和颜色通道数据对应输出,共同进行图像三维渲染和交织处理;

相应的,S270的操作可优化执行如下步骤:

S271、如果交织图像的输出方向与内容方向不一致,则按照当前渲染行段所需的二维图像数据,按列从所述压缩后内存空间的渲染所需区域中读取灰度通道数据并根据记录的灰度压缩比等级进行解压缩;

解压缩操作也可以是按图像块读出数据,用于进行解压缩。即首先确定当前渲染所需数据涉及的图像块,而后读取该图像块的压缩比等级,按各图像块的压缩比完成内插升尺寸解压缩,如Bicubic内插算法。

考虑图像输出输入方向与内容方向不一致时,所需内存会大于方向一致时所需内存,且渲染所需区域与图像块交叠的情况,则SRAM-C的内存大小一般为(渲染所需数据高度+图像块高度)*图像块宽,如图12所示。

S272、将解压缩后的灰度通道数据、与对应位置的深度通道数据和颜色通道数据对应输出,共同进行图像三维渲染处理;

S273、将渲染处理的至少两个视点图像中的当前渲染行段进行交织处理,形成交织图像中的当前交织行段;

S280、相应的,将交织处理后的交织图像进行显示包括:将当前交织行段在屏幕上进行按行扫描输出显示。

如图13所示,当输出方向与内容方向不一致时,为节省解压内存消耗,渲染交织逐块完成,即将输出对应的图像块行按图像块长度分为若干块。按照当前输出的投影点确定当前输出行段,进而确定当前输出行段对应的图像块,解压缩图像块,逐一进行渲染交织。这样,在读取所需2D+Z图像Y通道数据时,仅需读取较少区域数据,避免了过大内存消耗。

本发明实施例的技术方案,给出了一种2D+Z图压缩与解压缩方法,结合按输出方向渲染交织的方法,在较小的内存开销下实现了裸眼3D显示时渲染方向与输入输出方向不一致时的渲染交织。其特点为:1、对于Y通道,分块处理图中各区域数据,按深度信息,使用不同压缩比完成压缩解压;2、对图像YUVZ通道采用不同压缩方法和压缩比分别压缩;3、采用较少内存消耗的内插降尺寸、内插升尺寸方法完成2D+Z图像各通道数据压缩和解压。

考虑视频输出的实时性,一般而言,多视点裸眼3D渲染交织需通过在线处理的方式完成。对于3D电视、3D平板等应用,多采用实时性较高的集成电路(IC/IP)的方式实现。本发明实施例的技术方案,适用于3D视频的实时输出,有效降低了对内存和读取带宽的要求,降低了IC/IP集成电路的成本。

实施例三

图14为本发明实施例三提供的一种图像数据的缓存装置的结构示意图,该装置包括:通道数据写入模块310、压缩比等级确定模块320、灰度数据压缩模块330和数据输出模块340。

其中,通道数据写入模块310,用于将当前图像的二维深度数据中的深度通道数据、灰度通道数据和颜色通道数据,分别写入各自的压缩前内存空间;压缩比等级确定模块320,用于根据图像的深度通道数据,确定对应位置的灰度通道数据的灰度压缩比等级;灰度数据压缩模块330,用于根据所述灰度压缩比等级对灰度通道数据进行压缩,并写入压缩后内存空间,同时对应记录所述灰度压缩比等级;数据输出模块340,用于从所述压缩后内存空间中读出灰度通道数据并根据记录的灰度压缩比等级进行解压缩,与对应位置的深度通道数据和颜色通道数据对应输出。

优选是,还包括渲染交织显示模块350,用于将解压缩后的灰度通道数据与对应位置的深度通道数据和颜色通道数据共同进行图像三维渲染和交织处理,将交织处理后的交织图像进行显示。

本发明实施例的技术方案,根据图像各位置处的深度信息确定对应位置的灰度通道数据的压缩等级,对各通道数据采用不同的压缩比和确定压缩比的方式,既考虑了各通道数据的压缩特性,保证良好的显示效果,又能最大限度的提高压缩比,减少对内存的需求量,降低了裸眼3D显示设备的硬件成本。

上述缓存装置,可选是还包括:

深度和颜色数据压缩模块360,用于进行图像三维渲染和交织处理之前,对写入压缩前内存空间的深度通道数据和颜色通道数据采用设定压缩比分别进行压缩,存储到各自的压缩后内存空间中;

深度和颜色数据解压缩模块370,用于从各自所述压缩后内存空间中分别读出深度通道数据和颜色通道数据,并按照所述设定压缩比进行解压缩。

优选是,所述颜色通道数据包括U通道数据和V通道数据,采用Bicubic内插降尺寸算法进行压缩;所述深度通道数据,采用双线性内插降尺寸算法进行压缩;所述颜色通道数据和深度通道数据的压缩比相同。

具体的,压缩比等级确定模块包括:距离确定单元和压缩比确定单元。

其中,距离确定单元,用于根据图像的深度通道数据确定图像深度位置与待显示的屏幕界面之间的距离;压缩比确定单元,用于将对应位置的灰度通道数据的灰度压缩比等级与所述距离呈反比确定。

优选是,压缩比确定单元具体用于:根据所述距离确定对应的深度区间,根据所述深度区间查找预设对应的压缩比等级。

另一方面,压缩比等级确定模块具体可用于:根据写入压缩前内存空间的原始图像块的深度通道数据,确定对应位置的原始图像块的灰度通道数据的灰度压缩比等级。

优选实施方式中,压缩比等级确定模块具体用于:

根据写入压缩前内存空间的原始图像块中各像素点的深度通道数据,计算平均值或者查找最大深度通道数据,作为该原始图像块的深度通道数据;

根据所述原始图像块的深度通道数据,确定对应位置的原始图像块的灰度通道数据的灰度压缩比等级。

本发明实施例所提供的图像数据的缓存装置,还可包括:

存储量约束模块,用于根据所述灰度压缩比等级对灰度通道数据进行压缩之前,计算每个图像块行中至少两个原始图像块按照所述灰度压缩比等级压缩后的压缩存储量;如果所述压缩存储量大于存储余量值,则将至少一个原始图像块的压缩比等级降低,并重复执行压缩存储量的计算步骤,直至所述压缩存储量小于存储余量值。

其中,所述存储量约束模块中将至少一个原始图像块的压缩比等级降低的功能可具体为:将当前图像块行中原始图像块的最大压缩比等级进行逐级降低。

上述方案中,优选是,所述压缩前内存空间包括至少两个图像块行,则灰度数据压缩模块具体用于:

从所述至少两个图像块行中确定一个可覆盖的图像块行;

在所述可覆盖的图像块行中,根据所述灰度压缩比等级对原始图像块的灰度通道数据进行压缩,形成压缩图像块;

将所述压缩图像块顺序写入压缩后内存空间。

当图像的输出方向与内容方向不一致时,数据输出模块具体用于:

如果交织图像的输出方向与内容方向不一致,则按照当前渲染行段所需的二维图像数据,按列从所述压缩后内存空间的渲染所需区域中读取灰度通道数据并根据记录的灰度压缩比等级进行解压缩;

将解压缩后的灰度通道数据、与对应位置的深度通道数据和颜色通道数据对应输出;

所述渲染交织显示模块具体用于:将解压缩后的灰度通道数据与对应位置的深度通道数据和颜色通道数据共同进行图像三维渲染处理;将渲染处理的至少两个视点图像中的当前渲染行段进行交织处理,形成交织图像中的当前交织行段;将当前交织行段在屏幕上进行按行扫描输出显示。

上述图像数据的缓存方法可执行本发明任意实施例所提供的图像数据的缓存装置,具备执行方法相应的功能模块和有益效果。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1