存储、恢复立体视频的方法和装置及恢复立体视频的系统的制作方法

文档序号:7698648阅读:189来源:国知局
专利名称:存储、恢复立体视频的方法和装置及恢复立体视频的系统的制作方法
技术领域
本发明涉及视频压缩编码领域,特别涉及存4诸、恢复立体^见频的方法和装 置及恢复立体视频的系统。
背景技术
近年来,随着立体显示技术在主要技术难点的逐个突破,它受到了越来越 多领域的青睐,比如娱乐,医学,勘探等等。在立体显示系统中,对立体视频 的压缩编码和传输是其中很重要的几个环节,而在这一系列环节中,立体视频 的保存格式无疑起到相当关键的作用,因为它直接关系到所占存储空间的多少、
播送时所占的带宽以及^L图渲染的质量等等。
目前,采用^L频加深度图格式(Video Plus Depth)对立体4见频进行压缩保存。 在保存双目摄相机采集的立体图时,通过记录左视图和相对应的深度图来表示 完整的左视图和右视图。但是这种基于深度图的立体图片的绘制有一个致命的 弱点,那就是在立体图进行渲染的过程中会出现空洞现象。这是因为两个摄像 机的位置虽然很近,但毕竟不是在同一点进行采集的,所以也就造成了在右视 图中可以看到了一部分紋理信息在左视图中看不到,同样在左视图中也有右视 图看不到的紋理信息,这就是紋理的遮挡。在恢复立体视频时,关于基于深度 渲染的过程中出现空洞问题,可以根据保存的左视图和深度图,再利用水平插 值,基于深度信息的水平外推等算法进行填补。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题 釆用基于深度图方法保存视频的立体图,只保存左视图和深度图会丢弃右 视图中被左视图遮挡的部分信息,这样会导致在保存立体视频时会出现信息丢失的问题;另外,根据保存的深度图和左视图来恢复视频时,虽然可以通过已 有的信息推算出原视频的丟失的信息,但毫无疑问,推算来的信息与丢失的信 息肯定会有差距,直接影响视频的视觉效果。

发明内容
为了避免存储立体视频造成信息丟失的问题,并使恢复出的立体视频的视 觉效果较佳,本发明实施例提供了存储、恢复立体视频的方法和装置及恢复立 体视频的系统。所述技术方案如下
一种存储立体^L频的方法,所述方法包括
在采集的多张视图中,在采集的最左侧视图和采集的最右侧视图中,指定 其中一张的^见图为原;观图,另一张视图为待用^L图,对所述原视图和原视图相 邻的视图进行计算得到所述原视图对应的深度计算出所述原视图每个像素点相对于所述待用视图的位移量,在水平轴上 将所述原视图的每个像素点平移对应的位移量得到残缺的视用所述待用视图减去所述残缺的视图得到稀疏将所述稀疏图中非空白像素保存在残余信息文件中;保存所述原视图、所 述深度图和所述残余信息文件。
一种对利用所述存储立体视频的方法得到的立体视频进行恢复的方法,所 述方法包括
对保存的原视图和深度图进行计算得到残缺的视图; 扫描所述残缺的视图,遇到空白像素从残余信息文件中读取对应的像素进 行填补;将所述残缺的视图中的空洞部分全部填补完,恢复出完整的立体图。 一种存储立体视频的装置,所述装置包括
第一计算模块,用于在采集的多张视图中,在采集的最左侧视图和采集的 最右侧视图中,指定其中一张视图为原视图,另一张视图为待用视图,对所述 原视图和原视图相邻的视图进行计算得到所述原视图对应的深度图;第二计算模块,用于计算出所述原视图的每个像素点相对于所述待用视图 的位移量,在水平轴上将所述原视图的每个像素点平移对应的位移量得到残缺
的视减去模块,用于用所述待用视图减去所述残缺的视图得到稀疏图; 存储模块,用于将所述稀疏图中非空白像素保存在残余信息文件中,保存
所述原视图、所述深度图、所述残余信息文件。
一种对利用所述存储立体视频的装置得到的立体视频进行恢复的装置,所
述装置包括
计算模块,用于对原视图和深度图进行计算得到残缺的视恢复模块,用于扫描所述残缺的视图,遇到空白像素从残余信息文件读取
对应的像素进行填补;将所述残缺的视图中的空洞部分全部填补完,恢复出完
整的立体图。
一种恢复立体视频的系统,所述系统包括
存储视频装置,用于在采集的多张视图中,在采集的最左侧视图和采集的 最右侧视图中,指定其中一张视图为原视图,另一张视图为待用视图,对所述 原视图和原视图相邻的视图进行计算得到所述原视图对应的深度图,计算计算 出所述原视图的每个像素点相对于所述待用视图的位移量,在水平轴上将所述 原视图的每个像素点平移对应的位移量得到残缺的视图,用所述待用视图减去 所述残缺的视图得到稀疏图,将所述稀疏图中非空白像素保存在残余信息文件 中,保存所述原-f见图、所述深度图和所述残余信息文件;
恢复视频装置,用于对所述保存的所述原视图和所述深度进行计算得到残 缺的视图,扫描所述残缺的视图,遇到空白像素从所述残余信息文件中读取对 应的像素进行填补,将所述残缺的视图中的空白像素填补完,得到完整的立体 图。
本发明实施例提供的技术方案的有益效果是
通过残余信息文件保存被原视图遮挡的部分信息,恢复立体视频时从保存的残余信息文件中读取信息填补被原视图遮挡的部分信息,如此,避免了存储 立体视频时出现信息丢失,并使恢复出的立体视频的视觉效果较佳。


图l是本发明实施例l提供的一种存储立体视频的方法流程图; 图2是本发明实施例2提供的一种存储立体视频的方法流程图; 图3是本发明实施例3提供的一种存储立体视频的方法流程图; 图4是场景中点P在左视图和右视图中的投影示意图; 图5是本发明实施例4提供的一种恢复立体视频的方法流程图; 图6是本发明实施例5提供的一种恢复立体视频的方法流程图; 图7是本发明实施例6提供的一种恢复立体视频的方法流程图; 图8是本发明实施例7提供的一种存储立体视频的装置的示意图; 图9是本发明实施例8提供的一种恢复立体视频的装置的示意图; 图IO是本发明实施例9提供的一种恢复立体视频的系统的示意图。
具体实施例方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明 实施方式作进一步地详细描述。 实施例1
如图l所示,本发明实施例提供了一种存储立体视频的方法,具体包括
步骤101:在采集的多张视图中,在采集的最左侧视图和采集的最右侧视图 中指定其中一张视图为原视图,另一张视图为待用视图,对原视图和原视图相 邻的视图进行计算得到原视图对应的深度步骤102:计算出原视图每个像素点相对于待用视图的位移量,将原视图的 每个像素点在水平轴上平移对应的位移量得到残缺的3见步骤103:用待用视图减去残缺的视图得到稀疏图;步骤104:将稀疏图中非空白像素保存在残余信息文件中;保存原视图、深 度图和残余信息文件;
其中,残余信息文件保存采集的其他视图被原视图遮挡的部分信息;原视 图,深度图和残余信息文件三者可以表示采集的多张视图;将采集到的所有视 图按以上步骤进行保存。
进一步地,如果多目摄像机釆集的视图超过两张还需要保存釆集原视图的 视点与采集其他-见图的每个视点之间的距离。
本发明实施例获得深度图和残余信息文件,通过保存原视图、深度图和残 余信息文件三者表示采集的多张视图,其中,利用残余信息文件保存原视图遮 挡采集的其他视图的部分信息,从而,在保存立体视频时避免了信息丢失,使 得恢复出的立体视频的视觉效果较佳。
实施例2
本发明实施例提供一种存储立体视频的方法,多目摄像机在水平方向采集 多张视图,在采集的最左侧视图和采集的最右侧视图中,指定其中一张视图为 原视图,另一张4见图为待用#见图,通过保存原视图、深度图和残余信息文件可 以表示釆集的多张视图,如图2所示,该方法具体包括
步骤201:对原视图和原视图相邻的视图进行计算得到原视图对应的深度
其中,场景中的同一点分别投影在原视图和原视图相邻的视图中,计算出 该点在原视图中的投影点与在原视图相邻的视图中的投影点的位置差。计算出 的位置差为该点在原视图投影的像素点的视差值,将场景中的所有点按上述方 法计算出在原视图投影的像素点的视差值,将原视图的每个像素点的视差值转 化为灰度值,将转化的灰度值记录在一张灰度图上,得到原视图对应的深度图。 深度图以灰度值的形式保存原视图与原视图相邻的视图之间的冗余信息。
步骤202:计算出原视图每个像素点相对于待用视图的位移量,将原视图的
14每个像素点在水平轴上平移对应的位移量得到一张视图,其中,得到的该视图
中具有空洞部分,因此是残缺的视具体地,将深度图记录的灰度值转化为原视图中每个像素点的视差值,将 转化的视差值带入关系式中计算得到原视图每个像素点相对于待用视图的视差 值,其中,该关系式为第一视差值与第二视差值之比与第一距离与第二距离之 比,第一视差值为原视图的一个像素点相对于原视图相邻的视图的视差值,即 将深度图转化后得到该点的视差值,第二视差值为该点相对于待用视图的视差 值,第一距离为采集原視图与原视图相邻的视图的两视点间的距离,第二距离 为采集原视图与待用视图的两视点间的距离,视差值为像素点在水平轴上平移 的位移量,所以将计算得到的视差值作为原视图的每像素点对应的位移量,在 水平轴上,将原视图的每个像素点平移对应的位移量得到一张残缺的视其中,计算得到的残缺的视图就是原视图与待用视图之间的冗余的图像; 由于原视图遮挡待用视图的部分信息,所以计算得到的残缺的视图中具有空洞 部分。
步骤203:利用待用视图减去计算得到的残缺的视图,得到稀疏图; 其中,稀疏图存放的图像信息就是原视图遮挡釆集的其他视图的部分信息, 由于采集的各视图之间有比较高的空间关联性,故得到的稀疏图只有一块或多 块像素信息,其他的大部分区域都是空白区域。
步骤204:将稀疏图中的非空白像素保存在文件中,得到残余信息文件; 具体地,将稀疏图中的非空白像素依次向左平移,使得每个块内的像素与 像素之间没有空白像素,块与块之间只有一个空白像素之隔,使稀疏图中的每 一行里只有前段有像素值,后段都是空白区域,或者,将稀疏图中的非空白像 素依次向右平移,使得每个块内的像素与像素之间没有空白像素,块与块之间 只有一个空白像素之隔,使稀疏图中的每一行里只有后段有像素值,前段都是 空白区域,再将平移后的每行像素信息保存在文件的对应的行中,得到残余信 息文件。
15另外,如果采集的视图只包括两张视图,也可以将残余信息文件中的非空 白像素依次向左平移,使像素与像素之间没有空白像素,使稀疏图中的每行只 有前段有像素值,后段都是空白区域,或者,将稀疏图中的非空白像素依次向 右平移,使得像素与像素之间没有空白像素,使稀疏中的每行只有后段有像素 值,前段都是空白区域,然后,将稀疏图中的每行像素信息保存在文件中,得 到残余信息文件。
完成此步骤后就可以得到表示一个完整立体图的原;现图、深度图和残余信
息文件三者,再将此三者保存;按上述的步骤依次将采集到的所有视图进行保 存,将保存的立体图组成完整的视频。
进一步地,摄像机采集的视图超过两张还需要保存采集原视图的视点与采 集其他4见图的每个^见点之间的距离。
本实施例中计算出深度图和残余信息文件,保存原视图,深度图和残余信 息文件,用于表示完整的立体图,利用残余信息文件保存采集的其他视图被原 视图遮挡的部分信息,从而,有效的避免了保存立体视频时造成信息丟失的问 题,并使恢复出的立体视频的视觉效果较佳。
实施例3
如图3所示,本发明实施例提供了一种存储立体^f见频的方法,本实施例中 通过双目摄像机采集得到左视图和右视图,指定左视图作为原视图,利用左视 图,深度图和残余信息文件三者表示完整的左#见图和右> 见图,该方法具体包括 步骤301:对左视图和右度图进行计算得到左视图对应的深度图; 其中,场景中同一点分别投影在左视图和右视图中,计算出该点在左视图 投影的像素点与在右视图投影的像素点之间的位置差,其中,计算出的位置差 为该点在左视图投影的像素点的视差值,对场景中的所有点按上述方法进行计 算得到场景中的每个点在左视图中投影的像素点的视差值;将左视图的每个像 素点的视差值转化为灰度值,得到每个像素点对应的灰度值,将每个像素点对应的灰度值记录在一张灰度图上得到左视图相对应的深度图。
本实施例中计算深度图的原理,如4图所示场景中某一点P在左视图和 右视图中的投影示意图,其中,P在左视图中的投影位置是P0,在右视图中的 投影位置是Pp Co对应左视图视点,d对应右视图视点,f是焦距,b,是两视 点之间的距离。 根据图4得到如下(1)式
/、 、-A+夂
7— &
^视差:《j^ (1)
从(1)式中可以看出,当焦距f和视点之间的距离b固定时,视差《—,与 深度Z成反比,其中,3见差《+为场景中的一点在左-见图中的投影点相对于在右 视图中投影点的位置差。场景中无穷远点对应的《+为0,所以场景中最远点对 应的视差4^最小,把最小的视差4^记为d^,场景中离视点最近的点对应的视 差最大,记为d^。对场景中所有点投影在左视图和右视图中的位置关系计算得 到的视差值转化为0-255的灰度值。d,对应灰度值0, d^对应灰度值255,对 介于drain和dmax之间的视差值进行线性插值得到各自对应的灰度值。再将左视图 中每一点对应的灰度值记录在一张灰度图上得到左视图对应的深度图。
本实施例中深度图用于保存左视图和右视图之间的冗余信息,冗余信息是 左视图和右视图都具有的场景部分;其中,深度图是用灰度值来保存的图片, 所以存储深度图所占用的空间小,传输时需要的带宽也大幅度降低。
步骤302:对左视图和对应的深度图进行计算得到右视具体地,根据深度图记录的灰度值计算出左视图中每个像素点的位移量, 在水平轴上,将左视图中每个像素点加上相应的位移量就得到右视图;其中,得到的右视图中具有空洞部分,因此是残缺的右视图。
其中,每个像素点的位移量即为该像素点的视差值,由于左视图和右视图 视角不同,所以左视图必遮挡右视图的部分信息,残缺不全的右视图中的空洞
部分就是右视图被遮挡的部分信息;其中,残缺的右视图为左视图和右视图冗 余部分的图像。
步骤303:利用右视图减去残缺的右视图得到一张稀疏其中,稀疏图是右视图被左视图遮挡的部分的信息,由于左视图和右视图 之间具有高度的相关性,所以残缺的右视图存在一个或多个像素信息块,其他 部分都是空白区域,很稀疏。
步骤304:将稀疏图中每行非空白像素按顺序紧凑的保存在文件的对应行 中,得到残余信息文件;保存左视图,深度图和残余信息文件三者。
具体地,将稀疏图的每行非空白像素依次往左平移,使像素与像素之间没 有空白像素,使稀疏图的每行的前段有像素值,后段都是空白区域,或者,将 稀疏图的每行非空白像素依次相右平移,使像素与像素之间没有空白像素,使 稀疏图的每行只有后段有像素值,前段都是空白区域,将稀疏图的每行像素信 息保存在文件的对应的行中,得到残余信息文件。
另外,在本实施例中也可以将稀疏图中的每行非空白像素依次向左平移, 使块内的像素与像素之间没有空白像素,块与块之间只有一个空白像素之隔; 或者将稀疏图中的每行非空白像素依次向右平移,使块内的像素与像素之间没 有空白像素,块与块之间只有一个空白像素之隔;然后,将稀疏图中的每行非 空白像素保存在文件中,得到残余信息文件。
完成此步骤后得到左视图、深度图和残余信息文件三者,此三者可以表示 完整的左视图和右视图。将双目摄像机采集到的立体图按上述步骤进行保存, 再将保存的立体图组成完整的视频。
本实施例中也可以保存右视图,其对应的深度图和残余信息文件三者,用 于表示完整的左视图和右视图。另外,八目摄像机在水平方向上采集的八张视图,指定采集的最左侧视图
或采集的最右侧^L图为原;现图,另一张-现图为待用^L图。例如指定采集的第一 张视图为原视图,采集的第八张视图为待用视图。对原视图和原视图相邻的视 图即采集的第 一 张视图和采集的第二张视图进行计算得到原视图对应的深度 图,将深度图保存的恢度值转化为视差值,将转化的视差值带入关系式计算到 原视图的每个像素点相对于采集的第八张视图的视差值,其中,视差值为像素 点在水平轴上平移的位移量,所以将计算得到的视差值作为原视图每个像素点 对应的位移量,将原视图的每个像素点平移对应的位移量得到残缺的视图,利 用待用视图即采集的第八张视图减去残缺的视图得到稀疏图,将稀疏图中的非 空白像素保存在残余信息文件中,得到表示摄像机一次采集的八张视图的原视 图、深度图和残余信息文件三者,再保存原碎见图,深度图、残余信息文件以及 采集第一张视图的视点与采集其他七张视图的每个视点之间的距离,其中,上 述关系式为第一视差值与第二视差值之比等于第一距离与第二距离之比,第一 视差值为原视图的像素点相对于原视图相邻的视图的视差值,即将深度图转化 后得到该像素点的视差值,第二视差值为该像素点相对于采集的第八张视图的 视差值,第一距离为采集第一张视图与第二张视图的两视点距离,第二距离采 集第 一 张视图与第八张视图两视点间距离。
本发明实施例通过保存左视图,深度图和残余信息文件,用于表示一个完 整的左视图和右视图,利用残余信息文件保存左视图遮挡右视图的部分信息, 从而,解决了保存立体视频时出现信息丢失的问题,并使得恢复出的立体视频 的视觉效果较佳。
实施例4
如图5所示,本发明实施例提供了一种恢复立体视频的方法,对利用实施 例1提供的存储立体视频的方法保存的立体视频进行恢复,该方法包括 步骤401:对原视图和深度图进行计算得到残缺的视19其中,该残缺的视图为原视图相邻的视图对应的残缺的视图,如果采集的 视图超过两张,即采集的视图包括原视图和原视图相邻的视图还包括其他的视 图,则还需要计算出其他的每张视图对应的残缺的视图,进一步地,对保存的 原视图与深度图以及釆集原视图和原视图相邻的视图的视点间的距离和采集原 视图与其他的每张视图的视点之间的距离,计算出其他的每张视图对应的残缺 的视图。
步骤402:扫描每张残缺的视图,遇到空白像素就从残余信息文件读取对应 的像素进行填补;将残缺视图中的空洞部分全部填补完就恢复出完整的立体图。
本发明实施例通过对保存的原图和深度图行计算得到残缺的视图,从保存 的残余信息文件中读取像素填补残缺视图中的空洞部分,避免了保存视频时出 现信息丢失的问题,从而恢复出完整的立体图,使得恢复出的视频的视觉效果 较佳。
实施例5
如图6所示,本发明实施例提供了一种恢复立体视频的方法,对利用实施 例2提供的存储立体视频的方法得到的立体视频进行恢复,具体包括
步骤501:将深度图保存的恢度值转化为视差值,得到原视图每个像素点的 视差值;
其中,得到的视差值为原视图的像素点相对于原视图相邻的视图的视差值, 若摄像机采集的视图超过两张视图即采集的视图中有原视图和原视图相邻的视 图还包括其他一张或多张视图,则还需要计算出原视图中的每个像素点相对于 其他视图的视差值。进一步地,将采集原视图的视点与采集每张其他视图的视 点间的距离分别带入关系式中,计算出原视图的每个像素点相对于每张其他视 图的#见差4直。
其中,关系式为第一视差值与第二视差值之比等于第一距离与第二距离之 比,其中,第一视差值为原视图的一个像素点相对于原视图相邻的视图的视差
20值,第二视差值为原视图的该像素点相对于一张其他视图的视差值,第一距离 为采集原视图与原视图相邻的视图两视点间的距离,第二距离为采集原视图与 该其他视图的两视点间的距离。视差值为像素点在水平轴上平移的位移量。采 集原视图与原视图相邻的视图之间的距离以及采集原视图与每张其他视图的视 点的间的距离在存储立体视频时进行保存的。
步骤502:将原-阮图的每个像素点在水平轴上平移对应的位移量,得到一张 或多张-现其中,平移得到的视图具有一块或多块空白区域,因此是残缺的视图。 步骤503:扫描每张残缺的视图,遇到空白像素从保存的残余信息文件中读
取对应的像素进行填补,将所有残缺的视图的空洞部分填补完,恢复出完整的
立体图。
具体地,如果原视图为釆集的最左側视图,则从右到左扫描每张残缺的视 图的每行像素,遇到空白像素从残余信息文件对应的块中的对应的行中读取对 应的像素进行填补,例如在残缺的视图的第 一块空白区域中遇到第一个空白像 素从残余信息文件的对应的块中的对应的行中读取第一个像素进行填补;如果 原视图为采集的最右侧^见图,则从左到右扫描每张残缺的视图的每行像素,遇 到空白像素从残余信息文件对应的块中的对应的行中读取对应的像素进行填 补,将每张残缺的视图中的空洞部分填补完,恢复出完整的立体图。
本发明实施例通过保存的原视图、深度图计算出原视图每个像素点对应的 位移量,将原视图的每个像素点在水平轴上平移对应的位移量得到残缺的视图, 从保存的残余信息文件中读取对应的像素将残缺的视图中空洞部分填补完,恢 复出完整的立体图,避免了保存视频时出现信息丢失的问题,使得恢复出的视 频的视觉效果较佳。
实施例6
如图7所示,本发明实施例提供了一种恢复视频的方法,对利用实施3提供的存储立体视频的方法得到的立体视频进行恢复,具体包括
步骤601:将深度图保存的恢度值转化为左视图每个像素点的视差值; 其中,将恢度值转化为视差值为将视差值转化为恢度值的逆过程,视差值 是像素点在水平轴上平移的位移量,所以左视图中的每个像素点都有对应的位移量。
步骤602:将左视图中的每个像素点平移对应的位移量得到残缺的右视图; 其中,残缺的右^L图中有空洞部分。
步骤602:对残缺的右视图中的每行像素按从左到右的顺序进行扫描,遇到 空白像素就从残余信息文件对应的行中读取对应的像素进行填补;将残缺的右 视图中的空洞部分全部填补完得到完整的右视图。
例如,在对残缺的右视图的第L行进行从左到右扫描时,遇到第L行第一 个空白像素,就从残余信息文件中第L行读取第一个像素来填补第一个空白像 素,填补之后继续对残缺的右视图的第L行进行扫描,如果遇到第二个空白像 素,就从残余信息文件的第L行中读取第二个像素来填补第二个空白像素,按 此步骤直到将残缺的右视图扫描完得到完整的右视图。
如果在实施例3存储的残余信息文件中以块为单位保存像素信息,则从右 向左扫描残缺的视图的每行像素信息,遇到空白像素就从残余信息文件中对应 的块中对应的行中读取对应的像素进行填补,将残缺的右视图中的空洞部分全 部填补完得到完整的右-见图。
例如,在对残缺的右视图的第L行进行从右向左扫描时,遇到第L行第一 个空白像素,就从残余信息文件中按从右向左的顺序从第L行读取第一个像素 块中的读取第一个像素来填补第一个空白像素,填补之后继续对残缺的右视图 的第L行进行扫描,按此步骤直到将残缺的右视图扫描完得到完整的右视图。
另外,恢复八目4聂像机采集的立体视频时,例如恢复实施例3中存储的立 体视频,在实施例3中存储采集的第一张视图、深度图、残余信息文件和采集 第一张视图的视点与分别采集其他七张视图的视点之间的距离。首先将深度图保存的恢度值转化为视差值,得到采集的第一张视图中的每个像素点相对采集 的第二张视图对应的视差值,将釆集第 一张视图的视点与采集其他六张视图的
每个视点间的距离带入关系式计算出采集的第 一张^L图的每个像素点分别相对 于其他六 长视图的4见差值;其中,关系式为第一视差值与第二视差值之比等于 第一距离与第二距离之比,其中,第一视差值为采集的第一张视图的一像素点 相对于采集的第二张视图的视差值,第二视差值为该像素点相对于其他一张视 图的视差值,第一距离为采第一张张视图与第二张视图两视点间的距离,第二 距离为采集第一张^L图与其他的该张视图的视点间的距离。其中,视差值为像 素点在水平轴上平移的位移量,所以采集的第一张视图的每个像素点都有各自 对应的七个位移量;将采集的第一张视图中每个像素点在水平轴上平移各自的 位移量,得到七张残缺的视图,按从右到左的顺序扫描每张残缺的视图的每行 像素,遇到空白像素从残余信息文件对应的块中的对应的行中读取对应的像素 进行填补,将七张残缺的视图的空洞部分填补完,恢复出其他的七张视图。
本实施例对保存的左视图和对应的深度图进行计算得到残缺的右视图,再 从保存的残余信息文件中读取像素值将残缺的右视图中的空洞部分填补得到完 整的右视图,如此,避免了保存视频的立体图时出现的信息丢失的问题,使得 恢复出的视频的视觉效果较佳。
实施例7
如图8所示,本发明实施例提供一种存储存储立体视频的装置,包括
第一计算模块701,用于在采集的多视图中,在采集的最左侧视图和采集的 最右侧视图中,指定其中一张视图为原视图,另一张视图为待用视图,对原视 图和原视图相邻的视图进行计算得到原视图对应的深度第二计算模块702,用于计算出原视图每个像素点相对于待用视图的位移 量,将原视图的每个像素点在水平轴上平移对应的位移量得到残缺的视减去模块703,用于用待用视图减去残缺的视图得到稀疏图;存储模块704,用于将稀疏图中非空白像素保存在残余信息文件中,保存原 视图、深度图和残余信息文件。
其中,第一计算模块701具体包括
计算单元,用于计算出场景中同一点分别投影在原视图和原视图相邻的视 图中的两个投影点的位置差,其中,所述位置差为场景中的该点在原视图投影 的像素点的视差值,将场景中的所有点按上述方法计算出在原视图投影的像素 点的视差值;
转化单元,用于将计算单元计算出的视差值转化为'1^1值;
存储单元,用于将转化单元转化的恢度值保存在一张恢度图中得到深度第二计算模块702具体包括
转化单元,用于将深度图保存的恢度值转化为视差值,得到原视图每个像 素点的视差值;
计算单元,用于将转化单元得到的每个视差值带入关系式中计算得到原视 图的每个像素点相对于待用视图的视差值,其中,视差值为像素点在水平轴上 平移的位移量,所以将计算出的所有视差值作为原视图的每个像素点对应的位 移量;
其中,上述关系式为第 一视差值与第二视差值之比等于第 一距离与第二距 离之比,第一视差值为原视图的一个像素点相对原视图相邻的视图的视差值, 即将恢度值转化后得到的视差值,第二视差值为该像素点相对于待用视图的视 差值,第一距离为采集原视图与原视图相邻的视图两视点间的距离,第二距离 为采集原视图与待用视图两视点间的距离。
平移单元,用于将原视图的每个像素点在水平轴上平移各自对应的位移量 得到一张残缺的视存储模块704具体包括
聚集单元,用于聚集稀疏图中的每行非空白像素,使得每个块内的像素与 像素之间没有空白像素,块与块之间有一个空白像素之隔;存储单元,用于将稀疏图的每行像素信息保存在文件的对应的行中,得到
残余信息文件;
进一步地,聚集单元可以具体包括
第一平移子单元,用于将所述稀疏图中的每行非空白像素依次向左平移, 使得每个块内的像素与像素之间没有空白像素,块与块之间只有一个空白像素 之隔,使所述稀疏图中的每行只前段有像素值,后段都是空白区域;
或者,聚集单元可以具体包括
第二平移子单元,用于将所述稀疏图中的每行非空白像素依次向右平移, 使得每个块内的像素与像素之间没有空白像素,块与块之间只有一个空白像素 之隔,使所述稀疏图中的每行只有后段有像素值,前段都是空白区域。
当采集的视图超过两张,进一步地,还包括
保存模块,用于保存采集原视图的视点与采集每张其他的视图的视点之间 的3巨离;
本实施例第一计算模块对原视图和原视图相邻的视图进行计算得到原视图 对应的深度图,第二计算模块对原视图和深度图进行计算得到残缺的视图,减 去模块用待用视图分别减去残缺的视图得到稀疏图,存储模块用残余信息文件 保存稀疏图中非空白像素,从而避免了保存视频的立体图时出现信息丢失的问 题,使得恢复出的视频的视觉效果较佳。
实施例8
如图9所示,本发明实施例提供了一种恢复立体^f见频的装置,包括 计算模块801,用于对原视图和深度图进行计算得到残缺的视图; 恢复^f莫块802,用于扫描残缺的视图,遇到空白像素从残余信息文件读取对
应的像素进行填补;将残缺的视图中的空洞部分全部填补完,恢复出完整的立体图。
其中,计算模块801具体包括转化单元,用于将深度图保存的恢度值转化为视差值,得到原视图每个像 素点的视差值,其中,视差值为原视图的像素点相对于原视图相邻的视图的视 差值,视差值为像素点在水平轴上平移的位移量,所以原视图的每个像素点在
水平轴上都有对应的位移量;
平移单元,用于将原视图的每个像素点在水平轴上平移对应的位移量,得 到残缺的视恢复模块802具体包括
填补单元,用于当保存的原视图为采集的最左侧视图,从右到左扫描每张 残缺的视图的每行像素,遇到空白像素从残余信息文件对应的块中对应的行中 读取对应的像素进行填补;当保存的原视图为采集的最右侧视图,从左到右扫 描每张残缺的视图的每行像素,遇到空白像素从残余信息文件对应的块中对应 的行中读取对应的^f象素进行填补。
如果采集的视图包括原视图和原视图相邻的视图还包括其他视图,则进一 步地,所述转化单元还包括
将采集原视图的视点与采集其他视图的每个视点间的距离带入到关系式中 计算得到原视图的每个像素点相对于每张其他视图的视差值;其中,关系式为 第一视差值与第二视差值之比等于第一距离与第二距离之比,其中,第一视差 值为原视图的一个像素点相对于原视图相邻的视图的视差值,第二视差值为该 像素点相对于一张其他视图的视差值,第一距离为采集原视图与原视图相邻的 视图的视点间的距离,第二距离为采集原视图的视点与采集该张其他视图的视 点间的距离。
本发明实施例计算模块对保存的原视图和对应的深度图进行计算得到残缺 的视图,填补模块从保存的残余信息文件中读取非空白像素填补残缺的视图中 的空洞部分,从而解决了保存立体视频时出现信息丢失的问题,使得恢复出的 立体视频的视觉效果较佳。实施例9
如图10所示,本发明实施例提供一种恢复立体^L频的系统,包括 存储^L频装置901,用于在采集的多张视图中,在采集的最左侧-见图和采集 的最右视图中,指定其中一张视图为原视图,另一张视图为待用视图,对原视 图和原视图相邻的视图进行计算得到原视图对应的深度图,计算出原视图每个 像素点相对于待用视图的位移量,在水平轴上将原视图的每个像素点在平移对 应的位移量,得到残缺的视图,用待用视图减去残缺的视图得到稀疏图,将稀 疏图中非空白像素保存在残余信息文件中,保存原视图、深度图和残余信息文 件;
恢复视频装置卯2,用于对保存的所述原视图和深度进行计算得到残缺的视 图,扫描残缺的视图,遇到空白像素从残余信息文件中读取对应的像素进行填 补,将残缺的视图中的空白像素填补完,得到完整的立体图。
采集的视图包括原视图和原视图相邻的视图还包括其他视图,则进一步地, 存储视频装置901还包括
存储单元,用于保存采集原视图与原视图相邻的视图的两视点间的距离, 采集原视图与每张其他视图的视点间的距离;
恢复视频装置902还包括
计算单元,用于对深度图、原视图、残余信息文件和各视点间的距离计算 出每张其他视图对应的残缺的视图。
本发明实施例存储视频装置进行计算得到原视图对应的深度图,对原视图 和深度图进行计算得到残缺的视图,利用待用视图减去残缺的视图得到稀疏图, 将稀疏图中的非空白像素保存在残余信息文件中,恢复视频装置对保存的原视 图和深度图进行计算得到残缺的视图,读取残余信息文件中的像素值填补残缺 的视图中空白像素部分,如此,解决了保存立体视频时出现信息丢失的问题, 并使恢复出的立体视频的视觉效果较佳。
27以上实施例提供的技术方案中的全部或部分内容可以通过软件编程实现,
其软件程序存储在可读取的存储介质中,存储介质例如计算机中的硬盘、光 盘或软盘。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的 精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的 保护范围之内。
权利要求
1.一种存储立体视频的方法,其特征在于,所述方法包括在采集的多张视图中,从采集的最左侧视图和采集的最右侧视图中指定其中一张视图为原视图,另一张视图为待用视图,对所述原视图和原视图相邻的视图进行计算得到所述原视图对应的深度图;计算出所述原视图每个像素点相对于所述待用视图的位移量,在水平轴上将所述原视图的每个像素点平移对应的位移量得到残缺的视图;用所述待用视图减去所述残缺的视图得到稀疏图;将所述稀疏图中非空白像素保存在残余信息文件中;保存所述原视图、所述深度图和所述残余信息文件。
2. 根据权利要求1所述存储立体视频的方法,其特征在于,所述对所述原视 图和原视图相邻的视图进行计算得到所述原视图对应的深度图,具体包括场景中的同一点分别投影在所述原视图中的投影点和所述原视图相邻的视图中的投影点,计算出所述两个投影点的位置差;所述位置差为所述点在所述原视图投影的像素点的视差值,将所述场景中 的所有点按上述方法计算出在所述原视图投影的像素点的祝差值,将所述原视 图的每个像素点的视差值转化为灰度值;将所述转化的灰度值记录在一张灰度图上,得到所述原-阮图对应的深度图。
3. 根据权利要求1所述存储立体视频的方法,其特征在于,所述计算出所述 原视图每个像素点相对于所述待用视图的位移量,在水平轴上将所述原视图的 每个像素点平移对应的位移量得到残缺的视图,具体包括将所述深度图记录的灰度值转化为所述原视图中每个像素点的视差值,将 所述转化的视差值带入到关系式中计算得到所述原视图每个像素点相对于所述待用视图的视差值,其中,所述关系式为第一视差值与第二视差值之比等于第 一距离与第二距离之比,所述第 一视差值为所述原视图的一个像素点相对于所 述原视图相邻的视图的视差值,所述第二视差值为所述像素点相对于所述待用 视图的视差值,所述第一距离为釆集所述原视图与所述原视图相邻的视图的视点间的距离,所述第二距离为采集所述原^L图与所述待用— 见图的^L点间的距离, 视差值为像素点在水平轴上平移的位移量,所以将所述计算出的视差值作为所 述原视图的每个像素点各自对应的位移量;在水平轴上,将所述原^L图的每个像素点平移对应的位移量得到一张所述 残缺的3见图。
4. 根据权利要求1所述的存储立体视频的方法,其特征在于,所述将所述稀 疏图中非空白像素保存在残余信息文件中,具体包括聚集所述稀疏图中的每行非空白像素,使得每个块内的像素与像素之间没 有空白像素;将所述稀疏图的每行像素信息保存在文件的对应的行中,得到所述残余信 息文件。
5. 根据权利要求4所述存储立体视频的方法,其特征在于,所述聚集所述稀 疏图中的每行非空白像素,使得每个块内的像素与像素之间没有空白像素,具 体包括将所述稀疏图中的每行非空白像素依次向左平移,使得块内的像素与像素 之间没有空白像素,块与块之间只有一个空白像素之隔,使所述稀疏图中的每 行前段有像素值,后段都是空白区域;或将所述稀疏图中的每行非空白像素依 次向右平移,使得块内的像素与像素之间没有空白像素,块与块之间只有一个 空白像素之隔,使所述稀疏图中的每行只有后段有像素值,前段都是空白区域。
6. 根据权利要求1所述存储立体视频的方法,其特征在于,如果所述采集的 视图超过两张,则所述方法还包括保存釆集所述原视图与采集其他的每张视图的视点间的距离。
7. —种对利用权利要求1所述存储立体视频的方法得到的立体视频进行恢 复的方法,其特征在于,所述方法包括对保存的原视图和深度图进行计算得到残缺的视图;扫描所述残缺的视图,遇到空白像素从残余信息文件中读取对应的像素进 行填补;将所述残缺的视图中的空洞部分全部填补完,恢复出完整的立体图。
8. 根据权利要求7所述的恢复立体视频的方法,其特征在于,所述对保存的 原视图和深度图进行计算得到残缺的视图,具体包括将所述深度图保存的恢度值转化为视差值,其中,所述视差值为所述原视 图的像素点相对于原视图相邻的视图的视差值,所述视差值为所述像素点在水 平轴上平移的位移量,所以所述原视图的每个像素点都有对应的位移量;将所述原视图的每个像素点在水平轴上平移对应的位移量,得到所述残缺 的视图。
9. 根据权利要求8所述一种恢复立体视频的方法,其特征在于,如果所述采 集的视图超过两张,即所述采集的视图包括所述原视图和所述原视图相邻的视 图还包括其他视图,则所述将所述深度图保存的恢度值转化为视差值,得到所 述原视图每个像素点的视差值还包括将采集所述原视图的视点与采集所述其他视图的每个视点间的距离带入到 关系式中,计算得到所述原视图的每个像素点相对于每张其他视图的视差值; 其中,所述关系式为第 一视差值与第二视差值之比等于第 一距离与第二距离之 比,其中,所述第一视差值为所述原视图的一个像素点相对于所述原视图相邻的视图的视差值,所述第二视差值为所述像素点相对于一张其他视图的视差值, 所述第 一距离为采集所述原视图与所述原视图相邻的视图的视点间的距离,所 述第二距离为采集原视图的视点与采集所述其他视图的视点间的距离。
10. 根据权利要求7所述恢复立体视频的方法,其特征在于,所述扫描所述 残缺的视图,遇到空白像素从残余信息文件中读取对应的像素进行填补,具体 包括如果所述原视图为采集的最左侧视图,则从右到左扫描所述残缺的视图的 每行像素,遇到空白像素从所述残余信息文件对应的块中的对应的行中读取对 应的像素进行填补;如果所述原视图为釆集的最右侧视图,则从左到右扫描所述残缺的视图的 每行像素,遇到空白像素从所述残余信息文件对应的块中的对应的行中读取对 应的像素进行填补。
11. 一种存储立体视频的装置,其特征在于,所述装置包括 第一计算模块,用于在采集的多张视图中,从采集的最侧视图和最右侧视图中指定其中一张碎见图为原-現图,另一张#见图为《寺用#见图,对所述原视图和原 视图相邻的视图进行计算得到所述原视图对应的深度图;第二计算模块,用于计算出所述原视图的每个像素点相对于所述待用视图 的位移量,在水平轴上将所述原视图的每个像素点平移对应的位移量得到残缺 的视图;减去模块,用于用所述待用视图减去所述残缺的视图得到稀疏图; 存储模块,用于将所述稀疏图中非空白像素保存在残余信息文件中,保存 所述原视图、所述深度图、所述残余信息文件。
12. 根据权利要求11所述存储立体视频的装置,其特征在于,所述第一计算模块具体包括计算单元,用于计算出场景中的同一点分别投影在所述原视图和所述原视 图相邻的视图中两个投影点的位置差,其中,所述位置差为所述点在原视图投 影的像素点的视差值,将所述场景中的所有点按上述方法计算出在所述原视图 投影的像素点的视差值;转化单元,用于将所述计算单元计算出的视差值转化为恢度值; 存储单元,用于将所述转化单元转化的恢度值保存在一张深度图中得到所 述深度图。
13. 根据权利要求11所述存储立体视频的装置,其特征在于,所述第二计算 模块具体包括转化单元,用于将所述深度图保存的恢度值转化为视差值,将所述转化的 视差值带入关系式中计算得到所述原视图每个像素点相对于所述待用视图的视 差值,其中,所述关系式为第一视差值与第二i见差值之比等于第一距离与第二 距离之比,所述第一视差值为所述原4见图的一个像素点相对于所述原视图相邻 的视图的视差值,所述第二视差值为所述像素点相对于所述待用视图的视差值, 所述第一距离为采集所述原视图与所述原视图相邻的视图的视点间的距离,所 述第二距离为采集所述原视图与所述待用视图的视点间的距离,所述视差值为 像素点在水平轴上平移的位移量,所以将所述计算出的^f见差值作为所述原^L图 的每个像素点对应的位移量;平移单元,用于将所述原视图的每个像素点在水平轴上平移各自对应的位 移量得到一张所述残缺的^L图。
14. 根据权利要求ll所述存储立体视频的装置,其特征在于,所述存储模块 具体包括聚集单元,用于聚集所述稀疏图中的每行非空白像素,使得每个块内的像素与像素之间没有空白像素;存储单元,用于将所述稀疏图的每行像素信息保存在文件的对应的行中, 得到所述残余信息文件。
15. 根据权利要求14所述存储立体视频的装置,其特征在于,所述聚集单元 可以具体包括第一平移子单元,用于将所述稀疏图中的每行非空白像素依次向左平移, 使得块内的像素与像素之间没有空白像素,块与块之间只有一个空白像素之隔, 使所述稀疏图中的每行前段有像素值,后段都是空白区域;或者,所述聚集单元可以具体包括第二平移子单元,用于将所述稀疏图中的每行非空白像素依次向右平移, 使得块内的像素与像素之间没有空白像素,块与块之间只有一个空白像素之隔, 使所述稀疏图中的每行只有后段有像素值,前段都是空白区域。
16. 根据权利要求11所述存储立体视频的装置,其特征在于,如果所述采集 的视图超过两张,则所述装置还包括保存模块,用于将保存采集所述原视图的视点与采集其他的每张视图的视 点之间的距离。
17. —种对利用权利要求11所述存储立体视频的装置得到的立体视频进行 恢复的装置,其特征在于,所述装置包括计算模块,用于对原视图和深度图进行计算得到残缺的视图;恢复模块,用于扫描所述残缺的视图,遇到空白像素从残余信息文件读取 对应的像素进行填补;将所述残缺的视图中的空洞部分全部填补完,恢复出完 整的立体图。
18. 根据权利要求17所述恢复立体视频的装置,其特征在于,所述计算模块具体包括转化单元,用于将深度图保存的恢度值转化为视差值,得到所述原视图每个像素点的视差值,其中,所述视差值为所述原视图的像素点相对于原视图相邻的视图的视差值,所述视差值为像素点在水平轴上平移的位移量,所以所述原视图的每个像素点在水平轴上都有对应的位移量;平移单元,用于将所述原视图的每个像素点在水平轴上平移对应的位移量,得到所述残缺的碎见图。
19. 根据权利要求18所述恢复立体视频的装置,其特征在于,如果所述采集的视图包括原视图和原视图相邻的视图,还包括其他的视图,则所述转化单元还包括将采集所述原视图的视点与釆集所述其他视图的每个视点间的距离带入到关系式中计算得到所述原视图的每个像素点相对于每张其他视图的视差值;其中,所述关系式为第 一视差值与第二视差值之比等于第 一距离与第二距离之比,其中,所述第一视差值为所述原视图的一个像素点相对于所述原视图相邻的视图的视差值,所述第二^L差值为所述像素点相对于一张其他视图的视差值,所述第一距离为采集所述原视图与所述原视图相邻的视图的视点间的距离,所述第二距离为采集原视图的视点与采集所述其他视图的视点间的距离。
20. 根据权利要求17所述一种恢复立体视频的装置,其特征在于,所述恢复模块具体包括填补单元,用于如果所述原视图为采集的最左侧^L图,则从右到左扫描所述每张残缺的视图的每行像素,遇到空白像素从所述残余信息文件对应的块中的对应的行中读取对应的像素进行填补;如果所述原视图为采集的最右侧视图,则从左到右扫描所述每张残缺的视图的每行像素,遇到空白像素从所述残余信息文件对应的块中的对应行中读取对应的像素进行填补。
21. —种恢复立体视频的系统,其特征在于,所述系统包括存储视频装置,用于在采集的多张视图中,从采集的最左侧视图和采集的最右侧视图中指定其中一张视图为原视图,另一张视图为待用视图,对所述原视图和原视图相邻的视图进行计算得到所述原视图对应的深度图,计算出所述原视图每个像素点相对于所述待用视图的位移量,在水平轴上将所述原视图的每个像素点平移对应的位移量得到残缺的视图,用所述待用视图减去所述残缺的视图得到稀疏图,将所述稀疏图中非空白像素保存在残余信息文件中,保存所述原-现图、所述深度图和所述残余信息文件;恢复视频装置,用于对所述保存的所述原视图和所述深度进行计算得到残缺的视图,扫描所述残缺的视图,遇到空白像素从所述残余信息文件中读取对应的像素进行填补,将所述残缺的视图中的空白像素填补完,得到完整的立体图。
22. 根据权利要求21所述恢复立体视频的系统,其特征在于,如果所述采集的视图包括原视图和原视图相邻的视图还包括其他视图,所述存储视频装置还包括存储模块,用于保存采集原视图与原视图相邻的视图的两视点间的距离,采集原视图与每张其他视图的视点间的距离;所述恢复立体^L频装置还包括计算模块,用于对所述深度图、所述原视图、所述残余信息文件和所述视点间的距离计算出所述每张其他视图对应的残缺的视图。
全文摘要
本发明公开了存储、恢复立体视频的方法和装置及恢复立体视频的系统,属于视频压缩编码领域。存储立体视频的方法包括对原视图和原视图相邻的视图计算出深度图;计算出原视图的像素点的位移量,将原视图的像素点平移对应的位移量得到残缺的视图;用待用视图减去残缺的视图得到稀疏图;将稀疏图中非空白像素保存在文件中。恢复立体视频的方法包括对原视图和深度图计算出残缺的视图;从残余信息文件中读取像素填补残缺的视图。存储立体视频的装置包括第一计算模块、第二计算模块、减去模块、存储模块。恢复立体视频的装置包括计算模块、恢复模块。恢复立体视频的系统包括存储视频装置、恢复视频装置。本发明恢复的立体视频的视觉效果较佳。
文档编号H04N13/00GK101494799SQ20091007773
公开日2009年7月29日 申请日期2009年2月13日 优先权日2009年2月13日
发明者吴华娟, 戴琼海 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1