一种分区域的3d视频编码方法
【技术领域】
[0001] 本发明属于3D视频编码技术领域,具体设及一种分区域的3D视频编码方法。
【背景技术】
[0002] 在3D视频中,对原始视点的编码是一项很重要的技术。3D视频,即=维视频,其格 式主要分为多视点和多视点加深度两种常见格式。多视点加深度格式由于能利用纹理信息 个深度信息合成任意位置虚拟视点,因此是目前最广泛使用的3D视频格式。
[0003] 目前最新的=维视频编码标准是3D-HEVC,即=维的高效视频编码技术,利用了视 点间相关性、视点内的相关性,和纹理和深度之间的相关性W压缩视频序列。但是3D-肥VC 只是从原始视点的角度考虑如何尽可能的压缩视频数据,没有考虑对虚拟视点质量的影 响。因为在某些使用场景,虚拟视点可能比原始视点更为重要。在有限的传输带宽下,牺牲 原始视点的质量W满足虚拟视点的高质量也是可行的。
[0004] 化eonLee,化-Sung化等人提出了一种利用视点合成预测的视频编码的框架, 运个框架同时压缩视频图像和深度图像,并根据视点位置设计了四中类型的视点合成预测 方法,但是运种方法非常复杂,运算量大,因为在编码段和解码端都要合成一个新的虚拟视 点。
[0005] 目前大多数采用DIBR值epth-image-basedRendering,即基于深度图像的绘制) 技术来合成虚拟视点。DIBR的核屯、是利用深度信息和摄像机参数把像素从已知的原始视点 映射到未知的合成视点。DIBR-般包括S个步骤:(1)3D映射;(2)空桐填补;(3)视点融 合。
【发明内容】
[0006] 本发明的目的是提供一种分区域的3D视频编码方法,在相同BCS观测率条件下能 够有效地提高合成的虚拟视点的质量。
[0007] 本发明是运样实现的,其特征是包括下列步骤:如附图2所示:
[000引第一步:计算阔值:3D视频两个相邻视点的纹理图和深度图,即摄像机获取的两 个视点分别记为第一视点1和第二视点3,假设用第一视点1和第二视点3来合成中间的虚 拟视点2。我们通过计算一个阔值来确定第一视点1和第二视点3中区域的边界,阔值由公 式(1)可求,
[000引
W
[0010] 其中,Z。。。,和Zhf是自然场景与摄像机之间的距离范围,也可称为深度范围,L是 第一视点1和第二视点3之间的距离,即基线长度,fy是摄像机焦距。
[0011] 第二步:从第一视点1和第二视点3中任选取一个视点为主视点,根据主视点深度 图分别对第一视点1和第二视点3进行分区域。
[0012] 首先从第一视点1和第二视点3中任选取一个视点为主视点,计算主视点深度图 中每两个相邻像素之间的深度值之差AZ,然后利用公式(2)、(3)进行感兴趣边界检测,d(x,y)代表(x,y)处的深度值,Bl(x,y)代表深度图左边界,
[0013] g粒的么^ 紙^ ;如-岭碱;3 ^ 巧 ' to,城我好F秘!及孩 ?
[0014] 同理,Br(X,y)代表右边界, 「。…Cl?>f'、!'13? ::::巧》,V) ....d(xI- 1,V) <AZ,勺、
[001 引 孩叫义'< V)二:I。f, 、 、?' (3) - ' %化(茲孩鮮'脈W好
[001引 (1)如果Bl(X,y) = 1,则认为(X,y)和(X-1,y)之间有一个左边界,(X,y)属于 前景,(X-1,y)属于背景;
[0017] 似如果化(X,y) = 1,认为(X+1,y)和(X,y)之间有一个右边界,(X,y)属于前 景,(X+1,y)属于背景;
[001引 做如果Bl(x,y)或者化(x,y)等于0,则相邻像素之间没有边界。
[0019] 第=步:根据虚拟视点2合成规则对第一视点1和第二视点3执行区域分割,并判 定是否为重要区域。
[0020] 我们对不同区域采用不同的处理方法W节省码率,考虑背景平面Q与成像平面P 平行的情况,由于本方法对区域要求可W不用很精确,因此只考虑背景Q作为平面的情况。 本发明只考虑ID模型,即第一视点1和第二视点3的照相机平行放置,成像平面P仅有水 平视差没有垂直视差。根据深度图所描述的实际场景信息对成像平面P进行区域划分,第 一视点1和第二视点3代表原始视点,虚拟视点2代表需要使用第一视点1和第二视点3 来合成的视点,区域丽和AJ分别表示前景和背景。第一视点1和第二视点3之间的基线 长度为以fx是摄像机的焦距长度。
[0021] 假设第一视点1被选为主视点。根据3D映射过程按照虚拟视点2所需的区域"从 左到右"顺序进行,可分为四个步骤:
[0022] 1)计算区域AB在第一视点1中的长度Cab。
[002引 由于区域AB超出了虚拟视点2的视觉范围,为非重要区域,所W将其在第一视点 1中的对应区域进行低BCS观测率采样。设Cab代表区域AB在第一视点1中的长度,CU代 表A点对应的视差值,Z。。。,和Z hf分别代表场景最近值和最远值,
[0024]
(4)
[002引。计算左边界区域DE在第一视点1中的长度Cw。
[0026] 由于区域DE被前景MN所遮挡,导致虚拟视点2对此区域不可见,因此为非重要区 域,对此区域采用低BCS观测率采样,
[0027]
巧)
[002引其中,dM、屯的表示意义同上述cU。第一视点1中除W上两个区域外的所有区域均 为重要区域,在编码时对其采用高BCS观测率采样。
[0029] 扣计算区域FG在第二视点3中的长度
[0030] 因为虚拟视点2需要的FG区域在第一视点1中被遮挡,因此我们需要从第二视 点3中寻找对应的区域,因此此区域为重要区域,需要采用高BCS观测率,区域FG可由公式 化)求得:
[0031]
(巧
[00础其中,(In、dp的求取方法同上述(1a。
[0033] 4)计算第二视点3中区域IJ的长度C。。
[0034] 最后,对于虚拟视点2需要的区域IJ,由于在第一视点1中不可得,因此我们需要 从第二视点3的相应区域来得到,因此此区域为重要区域,需要采用高BCS观测率。区域长 度Cu可化围过公式(7)计算,
[00对
斌:
[003引其中,di的求取方法同上述cU。第二视点3中除区域FG、区域IJ外的所有区域均 为非重要区域,在编码时采用低BCS观测率采样。
[0037] 如果第二视点3被选为主视点,区域划分方法和求取方法相同,只是改变了重要 性规则。
[003引第四步:对不同的区域进行观测率分配。
[0039] 在上一步中对第一视点1和第二视点3进行了区域划分,在运一步则根据区域重 要性进行不同的CS观测率分配:对重要区域分配了较高的CS观测率,对非重要区域去则分 配较低观测率。
[0040] 根据压缩感知(C巧理论,对于一个稀疏信号X,通过使用一个采样矩阵O可得一 个观测值向量,运个矩阵通常是标准正交的,即二I。观测值y可由公式(8)得到:
[0041] Y=巫X 做
[0042] 在CS重建的过程中,假设存在一个稀疏变换参数阵使得X' = Wx,最理想的恢复 是找到和y具有最小零范数的X',
[0043] :r' ::::argmjByr1i;〇>'s,Ly::::尔?/ ''V' 棋) 义
[0044] 其中W 1代表逆变换。
[0045] 当CS应用到二维图像领域的时候,CS面临很多问题,例如较大的观测矩阵和复杂 耗时的重建过程等。由于W上问题,分块压缩感知度C巧被提出。一幅图像被分为几个不 重叠的块,每个块都由一个相同的观测矩阵〇8进行观测,等同于原始图像被一个对角阵? 进行观测,
[0046] # - (10) . 夺资-
[0047] 由于Oe的大小远小于巫,储存观测矩阵所用的空间大大减小,重建过程的速度也 大大提高。
[0048] 由于选择第一视点1为主视点,所W第一视点1中大部分区域都是重要区域,而第 二视点3中只有W上求取得区域为重要区域,其余均为非重要区域。
[0049] 对重要区域应用观测率为Rl,对非重要区域观测率则为R2,如公式(11)所示,
[0050] 、 解,黨要K域 Sidnale- 4 丄 1) (巧2,;皆麗要遂域
[0051] 分配不同观测率后,对比方法中视点的观测率可W由W上观测率求得,即等效观 测率。
[0052] swi》'r沒如?巧《禅.資i ………一………*玄r好巧k)巧没好始。没t好 (12 ) 去肛0枯rsm' 、
[0053] 其中col和row分别代表当前帖的宽度和高度,region_size代表当前帖中每个 区域的大小,subrate代表对应的观测率。
[0054] 本发明的优点及积极效果是:
[0055] 1)本方法基于分区域映射思想,充分利用了原始视点中不同区域对虚拟视点的重 要性做3D视频编码,减少了不必要区域的编码;
[0056] 2)在原始视点相同的观测率下,合成的虚拟视点质量有较大的提高。
【附图说明】
[0057] 图1是本发明的基本流程框图;
[005引图2是本发明中的区域划分示意图;
[005引 图3是本发明kendo序列的峰值信噪比(PSNR)对比图;
[0060] 图4是本发明bookarrival序列的峰值信噪比(PSNR)对比图;
[006。图5是本发明的实验结果视觉效果对比图,图中(A)为kendo序列,做为bookarrival序列,上图为原始图像,中图为未分区域合成的虚拟视点图像,下图为分区域 合成的虚拟视点图像;
【具体实施方式】
[0062] 对本发明提出的分区域3D视频编码方案,我们做了初步的测试实验。采用标准 测试序列作为输入,即kendo序列和bookarrival序列,取了前10帖做测试,序列分辨率 1024*768。使用dell工作站做仿真,工作站参数为Jntel(R),Xeon(R)如ad-CoreCPU, 2. 8GHz,4.00GB-DDR3内存。软件平台为MATLAB2010b,用MATLAB编程实现了本方案。
[0063] 本实例是运样实现的,其过程包括下列步骤:如附图2所示:
[0064] 第一步:计算阔值:3D视频两个相邻视点的纹理图和深度图,即摄像机获取的两 个视点分别记为第一视点1和第二视点3,假设用第一视点1和第二视点3来合成中间的虚 拟视点2。我们通过计算一个阔值来确定第一视点1和第二视点3中区域的边界,由公式 (1)计算得到:Kendo阔值 AZmax=21!Bookarrival阔值 AZmax=26。
[0065] 第二步:从第一视点1或者第二视点3中任选取一个视点为主视点,本发明选取第 一视点1做为主视点,根据主视点深度图分别对第一视点1和第二视点3进行分区域。
[0066] 首先选取