发明名称 一种基于对象的多视点视频分形编码压缩与解压缩方法
摘要 本发明在三维视频编码技术领域提出了一种基于对象的多视点视频分形编码压缩与解压缩方法。该方法对多视点三维视频的大量数据进行了高效地压缩以便存储和传输。在编码过程中,利用自动分割方法获得视频中感兴趣对象,并提出快速视差估计和基于中心偏置的五边形运动估计预测结合分形编码的方法对其进行压缩编码,有效减少数据冗余。针对K、L、C、R和S五个视点视频,提出预测结构K←L←C→R→S,即视点R和L均用视点C来预测,视点S和K分别用视点R和L来预测,5个视点的起始帧都用I帧。解码视点顺序相同,采用环路滤波去除块效应。该方法获得较好的视频解码质量条件下,极大地提高了编码速度和压缩比,并使其具有更多的灵活性,为多视点视频编码的实时性应用奠定了基础。
申请公布号 CN102970529B 申请公布日期 2016.02.17
申请号 CN201210404413.7 申请日期 2012.10.22
申请人 北京航空航天大学 发明人 祝世平;李丽芸;张玲
分类号 H04N19/597(2014.01)I;H04N13/00(2006.01)I 主分类号 H04N19/597(2014.01)I
代理机构 代理人
主权项 一种基于对象的多视点视频分形编码压缩与解压缩方法,其特征在于实现步骤如下:步骤一:对于输入的五视点视频,按照从左到右的顺序分别定义为K、L、C、R、S,其中C为中间视点;若当前帧是P帧,则判断视点,若为中间视点C的图像转到步骤二;若为左视点L或右视点R的图像,转到步骤七;若为左视点K的图像,转到步骤九;若为右视点S的图像,转到步骤十一;若当前帧为起始帧或需要帧内编码的I帧,对于每个在分割对象区域内的内部块和边界块进行步骤二中的处理后,在各种可能的预测方式中选择具有最小代价的预测模式存储,完成所有块的预测后可以得到I帧的预测帧;通过原始帧和预测帧之差得到编码端残差帧,对残差图像的数据经过DCT、量化之后得到DCT变换系数;转入步骤六;步骤二:对P帧划分得到子块,前一帧图像中划分得到的为父块,利用分割得到的Alpha平面判别该子块的区域属性;根据该子块的类型,做出如下的选择,如果该子块不在Alpha平面对象区域内,即外部块,对该块不做处理,继续处理下一子块;如果该子块部分位于Alpha平面对象区域内,即边界块,只计算在对象区域内的像素值,而非对象区域内的像素不予以考虑;处理边界父块时,若与子块相对应的位置的父块中的某一像素也属于对象区域,则使用原像素值,否则,使用父块中属于对象区域的像素均值来代替原像素值;转到步骤三;如果该子块全部位于Alpha平面内,转入步骤三;步骤三:对步骤二中得到的子块与父块进行块匹配;首先对该子块在父块域中的矩形搜索窗内进行块匹配:在进行子块与父块的匹配过程中,匹配映射只在同类块之间进行,即子块和父块必须同时是边界块或者同时是内部块;父块的大小与子块的大小相同;子块的位置作为父块的起始搜索点,采用基于中心偏置的五边形运动估计方法和半像素块匹配,得到最小匹配误差RMS,搜索出最佳的匹配块;转到步骤四;步骤四:判断步骤三中搜索出的最佳匹配块是否满足预匹配条件:0&lt;a&lt;u,u可以根据需要进行设置后,进行接下来的预匹配条件判断;若与父块对应匹配误差RMS满足预匹配条件,并且大于预先设定的阈值γ,则转到步骤五;否则直接保存当前的迭代函数系统系数即IFS系数,转入步骤六;为降低计算量加入了预匹配条件,即将匹配误差可以进行以下变形,取<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mi>a</mi><mo>=</mo><msup><mrow><mo>(</mo><munderover><mo>&Sigma;</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><mfrac><mrow><mo>(</mo><msub><mi>y</mi><mi>i</mi></msub><mo>-</mo><mover><mi>y</mi><mo>&OverBar;</mo></mover><mo>)</mo><mo>(</mo><msub><mi>x</mi><mi>i</mi></msub><mo>-</mo><mover><mi>x</mi><mo>&OverBar;</mo></mover><mo>)</mo></mrow><mrow><mo>|</mo><mo>|</mo><msub><mi>y</mi><mi>i</mi></msub><mo>-</mo><mover><mi>y</mi><mo>&OverBar;</mo></mover><mo>|</mo><mo>|</mo><mo>|</mo><mo>|</mo><msub><mi>x</mi><mi>i</mi></msub><mo>-</mo><mover><mi>x</mi><mo>&OverBar;</mo></mover><mo>|</mo><mo>|</mo></mrow></mfrac><mo>)</mo></mrow><mn>2</mn></msup><mo>,</mo><mi>a</mi><mo>&Element;</mo><mrow><mo>(</mo><mn>0</mn><mo>,</mo><mn>1</mn><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000843719770000011.GIF" wi="1429" he="178" /></maths><maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><mi>R</mi><mi>M</mi><mi>S</mi><mo>=</mo><mfrac><mn>1</mn><mi>n</mi></mfrac><mo>|</mo><mo>|</mo><msub><mi>y</mi><mi>i</mi></msub><mo>-</mo><mover><mi>y</mi><mo>&OverBar;</mo></mover><mo>|</mo><msup><mo>|</mo><mn>2</mn></msup><mrow><mo>(</mo><mn>1</mn><mo>-</mo><mi>a</mi><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000843719770000012.GIF" wi="1266" he="150" /></maths>其中对于每个需要编码子块来说,<img file="FDA0000843719770000021.GIF" wi="240" he="155" />为常数,因此为了得到最小匹配误差RMS,b=(1‑a)的取值要求越小越好,即a取值应尽量大,经过实验证明,预匹配限制条件为0&lt;a&lt;0.1时,提高编码效率和解码图像质量;误差阈值的确定规则如下:设定子块的匹配误差阈值γ=tol×tol×no,其中tol根据不同的子块大小而改变,取16×16宏块的tol为10.0,8×8子块的tol为8.0,4×4子块的tol为6.0,no为当前子块属于该视频对象区域的像素个数;步骤五:依次按照树状划分结构的四种模式对该子块进行划分,利用基于中心偏置的五边形运动估计方法和半像素块匹配计算匹配误差RMS,如果RMS小于设定阈值γ,停止划分并记录该小块IFS系数,包括父块位置(x,y)和比例因子s、偏移因子o;否则继续划分,直到将当前块划分为预先设定的最小块,记录IFS系数;转入步骤六;步骤六:对DCT系数或IFS系数进行Huffman编码,降低数据的统计冗余;通过保存的IFS系数代入解码方程计算得到预测块的值,由原始块和预测块之差得到残差块,对其进行DCT变换和量化处理后,再经反量化、反DCT变换的得到残差块的值与预测块的值求和得到重建块,由所有的重建块可得到重建帧,作为下一帧的参考帧;如果当前帧所有的子块都已编码完毕,则转到步骤一;否则,转到步骤二编码下一子块;步骤七:若P帧为左视点L或右视点S中的图像,将参考视点C中对应帧的解码图像、P帧图像与P帧前一帧图像分别进行宏块和小块划分,宏块是将当前帧划分为固定大小的互不重叠的图像块,小块是宏块经过树状划分得到的块,各宏块之间、小块之间互不交迭但又恰好接触;利用Alpha平面判别该图像块的区域属性;根据该宏块的类型,做不同的处理;计算各宏块与小块的像素和、像素平方和,同时计算半像素内插值对应块的像素和、像素平方和,以减少块匹配过程中的重复计算;转到步骤八;步骤八:在参考视点C中的对应帧重建图像中的矩形搜索窗内对所有子块进行块匹配,充分利用分数像素块匹配和快速视差估计方法:将上一个视差估计矢量作为为当前帧的搜索中心,在水平方向沿初始点的右侧进行搜索,在搜索过程中进行跳跃式搜索;点匹配完之后,向右间隔三个点进行搜索,进行比较,直到找到最小的RMS;然后对分数像素位置进行相同的操作,比较得到更小的RMS1,结束DCP搜索过程;在当前P帧的前一帧矩形搜索窗内利用分数像素和基于五边形的运动估计对子块和父块进行匹配,得到最小匹配误差RMS2,将RMS2与RMS1比较,选择误差最小的作为预测结果,记录该块的IFS系数;转到步骤十三;步骤九:若P帧为左视点K中的图像,将左视点L中对应帧的解码图像、当前P帧与前一帧图像分别进行宏块和小块划分,利用Alpha平面判别该图像块的区域属性;根据该宏块的类型,做不同的处理;计算各宏块与小块的像素和、像素平方和;转到步骤十;步骤十:在左视点L中的对应帧重建图像中矩形搜索窗内首先对所有子块进行块匹配,即利用快速视差估计方法得到父块与子块的最小匹配误差:在进行子块与父块的匹配过程中,父块的大小与子块的大小相同,子块的位置作为父块的起始搜索点,得到最小匹配误差RMS3,搜索出最佳的匹配块;在左视点K中P帧的前一帧矩形搜索窗内利用分数像素和基于中心偏置的五边形运动估计方法对子块和父块进行匹配,得到最小匹配误差RMS4;将RMS3与RMS4比较,选择误差最小的作为预测结果,记录该块的IFS系数;转到步骤十三;步骤十一:若P帧为右视点S中的图像,将右视点R中对应帧的解码图像、当前P帧与前一帧图像分别进行宏块和小块划分,利用Alpha平面判别该图像块的区域属性;根据该宏块的类型,做不同的处理;计算各宏块与小块的像素和、像素平方和;转到步骤十二;步骤十二:在右视点R中的对应帧重建图像中矩形搜索窗内利用快速视差估计方法对所有子块进行块匹配,得到最小匹配误差RMS5;在右视点S中P帧的前一帧矩形搜索窗内利用分数像素和基于中心偏置的五边形运动估计方法对子块和父块进行匹配,得到最小匹配误差RMS6;将RMS5与RMS6比较,选择误差最小的作为预测结果,记录该块的IFS系数;转到步骤十三;步骤十三:对得到的IFS系数进行编码,判断是否为最后一帧,若不是,返回到步骤一编码下一帧;否则结束编码。
地址 100191 北京市海淀区学院路37号