一种基于时间分辨率变换的视频转换处理方法

文档序号:6557109阅读:240来源:国知局
专利名称:一种基于时间分辨率变换的视频转换处理方法
技术领域
本发明涉及计算,尤其涉及一种基于时间分辨率变换的视频转换处理方法。
背景技术
视频转换编码可以理解为从一种视频压缩格式到另一种视频压缩格式的转换,这里所说的格式包括码流的句法和码流中的相关参数,如编码码率、视频图像空间分辨率、时间分辨率、对网络带宽的适应能力等,其实质就是为适应传输网络的不同带宽情况或根据客户端的解码能力,把一种压缩格式的视频流转换为同种或另一种压缩格式的视频流。
可扩展视频编码是另一种以多层的方式压缩视频并根据网络带宽的变化情况传输其中合适的几层的编码方法。它将原始视频数据压缩成一个基本层和若干个增强层,基本层必须保证全部传输,带宽越宽,能传输的增强层数就越多,重建视频图像质量越好,增强层依赖于基本层,没有基本层有再多的增强层也没有用。
可扩展视频编码方法主要有空域分层、时域分层、信噪比(SNR)分层、精细可分层(FGS)等方法,它通过进行一次编码,就可以生成一路适合多种信道环境的码流,因而其灵活性高于视频转换编码方法,但是可扩展视频要求解码器支持多层解码,这种复杂的解码功能在手持终端上不容易被支持,另外,其码率控制方式远远复杂于视频转换编码,导致流媒体服务器端的运算复杂度提高,而且由于分层导致头信息增加,这种编码方式得到的重建视频图像质量与在相同的带宽条件下视频转换编码获得的重建视频图像质量相比要差。多描述编码是一种将原始视频编码成多路视频流,其中任何一路视频流都可单独解码播放,通过多路解码视频流的合并来获得更好的重建图像质量并增强视频流对网络的适应性,但是其实现复杂度很高,而且重建视频图像质量的波动通常较大。因此,可扩展视频编码方法与视频转换编码方法相比,运算复杂度高,应用范围有限。
随着无线网络传输带宽的不断提高,以及多媒体检索业务的不断发展,对已有编码视频流进行时间转换编码的需求越来越强烈。时间分辨率变换(帧率变换),实际上就是指通过丢帧的方式来满足网络带宽变化或终端对输入视频流的解码需求。最简单的时间分辨率变换方法是丢弃双向预测帧(B帧),由于B帧在编码时不用做其它帧的参考帧,因此转换编码器仅需要对原码流进行语法转换,不会影响解码器对其它帧的正确解码。然而,当丢弃帧不仅限于B帧时,原码流的部分运动矢量由于其参考帧在新码流中被丢弃而变得无效,需要对运动矢量进行修正,因此视频时间分辨率变换(视频时间分辩率变换就是根据实际网络传输带宽的变化去掉编码视频流中某些帧的数据比特)的关键问题也归结为运动矢量的快速重估,即寻找既能利用原码流中运动矢量信息而又不致引入明显的重建视频图像质量降低的方案。
在现有的处理方法中,归纳起来主要有三种方法最直接的时间视频分辨率转换编码方式是先把待转换的编码视频流完全解码,再用需要的编码格式采用全搜索块匹配算法(FS)重新进行运动估计而不利用编码视频流中已有的任何运动信息,得到符合转换要求的具有较好重建视频图像质量的编码视频流,但是全搜索块匹配算法会消耗处理器大部分的计算资源,因此一般不采用;另外一种是对运动矢量采用双线性内插(BILINEAR),对内插后的运动矢量进行修正,可以根据跳帧数和运动矢量累计幅度确定搜索范围,在此范围内搜索得到更新的运动矢量。
还有一种是Jeongnam Youn和Ming-Ting Sun在文章《A fast motion vectorcomposition method for temporal transcoding》提出的称为前向主控矢量选择法FDVS,相对上述两种方法,具有较小的计算量和更好的性能,如图1所示,每帧中构成一个大正方形的四个小正方形分别称之为编码宏块S1(左上)、S2(右上)、S3(左下)、S4(右下),该方法通过从丢弃帧(n-1)中找到以该帧数据为参考的后续帧(n)中的编码宏块S1(运动矢量为I1(n))的匹配宏块MB1’的对应位置,从其部分覆盖的四个编码宏块S1、S2、S3、S4对应的运动矢量选择一个主控运动矢量,这个主控运动矢量为主控宏块S2的运动矢量I2(n-1),主控宏块是指四个宏块中被匹配宏块覆盖最大的那个宏块,然而,当其在参考帧(n-1)中的对应匹配位置覆盖的四个编码宏块的面积比较接近时,如图2所示,此时主控矢量选择法FDVS仍然简单的按照覆盖面积大小选择主控运动矢量,获得的主控运动矢量缺乏代表性,从而影响解码端的重建视频图像质量。

发明内容
本发明的目的在于提供一种基于时间分辨率变换的视频转换处理方法,以解决现有技术FDVS算法中在覆盖面积接近的情况下选取的运动矢量缺乏代表性的问题,获得较好的重建视频图像质量。
本发明所采用的基于时间分辨率变换的视频转换处理方法包括如下步骤
A、在采用主控矢量选择法的时间视频分辨率转换中,检测待转换编码视检测频流中采用帧间编码方式编码的宏块对于被丢弃的参考帧的覆盖状态;B、至少当匹配宏块在参考帧中的对应匹配位置所覆盖的编码宏块为两块或四块,所述各个编码宏块的面积比较接近并且均采用帧间编码方式编码时,根据与所述编码宏块相关的离散余弦变换(DCT,Discrete Cosine Transform)直流系数确定当前编码宏块在前一参考帧中的匹配位置,据此取得当前编码宏块的运动矢量。
所述的步骤B中,若所述匹配宏块在参考帧中的对应匹配位置所覆盖的编码宏块为四块时,根据四个被覆盖的编码宏块的各自运动矢量,确定所述编码宏块的DCT直流系数计算参照值。
所述的步骤B之后,若当前编码宏块参考帧的参考帧也被丢弃,则向前搜寻,直到当前编码宏块的参考帧不是丢弃帧为止,获得当前编码宏块的运动矢量。
所述的步骤B包括如下步骤B1、若所覆盖的编码宏块为四块时,判断是否存在大于像素点数阀值T的被覆盖部分,进行如下操作B11、若存在大于像素点数阀值T的被覆盖部分,则相应宏块被选为主控宏块,若该主控宏块采用帧内编码方式,则当前宏块也采用帧内编码方式编码,流程结束;若该主控宏块采用帧间编码方式,则转入步骤B2;B12、否则,判断其中是否存在采用帧内编码方式编码的被覆盖部分,进行如下操作B121、若存在采用帧内编码方式编码的被覆盖部分,当前宏块也采用帧内编码方式编码,流程结束;B122、否则,判断四个被覆盖编码宏块的运动矢量是否都不相等,进行如下操作B1221、若四个被覆盖编码宏块的运动矢量都不相等,则选择残差DCT直流系数最大的被覆盖编码宏块在前一参考帧中的对应位置作为当前编码宏块在前一参考帧中的匹配位置,继续如下步骤B2;B1222、否则,选择残差DCT直流系数最小的被覆盖编码宏块在前一参考帧中的对应位置作为当前编码宏块在前一参考帧中的匹配位置,继续如下步骤B2;B2、判断当前编码宏块参考帧的参考帧是否也被丢弃,进行如下操作
B21、若未被丢弃,直接更新当前获得的运动矢量;B22、否则,则向前搜寻,直到当前编码宏块的参考帧不是丢弃帧为止,获得当前编码宏块的运动矢量。
所述的步骤B中还包括如下步骤BA、若所覆盖的编码宏块为两块时,判断是否存在大于像素点数阀值T的被覆盖部分,进行如下操作BA1、若存在大于像素点数阀值T的被覆盖部分,若该覆盖编码宏块采用帧间编码方式编码,则采用该被覆盖编码宏块在前一参考帧中的匹配位置作为当前编码宏块在前一参考帧中的匹配位置,继续步骤BB,若该覆盖编码宏块采用帧内编码方式编码,则当前编码宏块也采用帧内编码方式编码,流程结束;BA2、否则,判断其中是否存在采用帧内编码方式编码的被覆盖部分,进行如下操作BA21、若存在采用帧内编码方式编码的被覆盖部分,当前宏块也采用帧内编码方式编码,流程结束;BA22、否则,比较两个宏块中覆盖面积较大的两个8*8块的直流系数之和的大小,选择两者之中较大的一个被覆盖编码宏块在前一参考帧中的匹配位置作为当前编码宏块在前一参考帧中的匹配位置,继续如下步骤BB;BB、判断当前编码宏块参考帧的参考帧是否也被丢弃,进行如下操作BB1、若未被丢弃,直接更新当前获得的运动矢量;BB2、否则,则向前搜寻,直到当前编码宏块的参考帧不是丢弃帧为止,获得当前编码宏块的运动矢量。
所述的步骤BB之后还包括如下步骤BCBC、进一步选择搜索窗口以更新运动矢量,所述的搜索窗口以下式更新SW=±min(defaultSW,α*βj-1)其中,SW为当前运动矢量更新时所需的搜索窗口的大小,defaultSW为全搜索块匹配计算中缺省的搜索窗大小,j为当前帧与非丢弃帧的参考帧之间丢帧的个数,α=1,β=1.25。
所述的步骤B中还包括如下步骤Ba、若所覆盖的编码宏块为一块时,若该宏块采用帧间编码方式编码,则把该宏块在前一参考帧中的匹配位置作为当前宏块在前一参考帧中的匹配位置,转入步骤Bb,若该宏块采用帧内编码方式编码,则当前宏块也采用帧内编码方式编码,流程结束;Bb、判断当前编码宏块参考帧的参考帧是否也被丢弃,进行如下操作Bb1、若未被丢弃,直接更新当前获得的运动矢量;Bb2、否则,则向前搜寻,直到当前编码宏块的参考帧不是丢弃帧为止,获得当前编码宏块的运动矢量。
所述的步骤B之后还包括如下步骤CC、根据四个覆盖宏块的运动矢量的情况及丢帧数进一步选择搜索窗口以更新。
所述的步骤C包括如下步骤C1、判断四个被覆盖编码宏块的运动矢量是否都相等,进行如下操作C11、若都相等,不需要对运动矢量进行更新;C12、否则,判断四个被覆盖编码宏块的运动矢量是否都不相等,进行如下操作C121、若都不相等,选取较大的搜索窗口对其进行更新,所述的搜索窗口以下式更新SW=±min(defaultSW,α*βj-1)其中,SW为当前运动矢量更新时所需的搜索窗口的大小,defaultSW为全搜索块匹配计算中缺省的搜索窗大小,j为当前帧与非丢弃帧的参考帧之间丢帧的个数,α=2,β=1.5;C122、否则,选取较大的搜索窗口对其进行更新,所述的搜索窗口以下式更新SW=±min(defaultSW,α*βj-1)其中,SW为当前运动矢量更新时所需的搜索窗口的大小,defaultSW为全搜索块匹配计算中缺省的搜索窗大小,j为当前帧与非丢弃帧的参考帧之间丢帧的个数,α=1,β=1.25。
本发明的有益效果为在本发明中,通过利用已编码视频流中的运动信息和DCT变换得到的直流系数重新估计转换编码后视频流的运动矢量,可减少视频转换编码过程中的计算量,提高编码速度,本方法可极大地减少视频转换编码过程中的计算量,而且获得接近于全搜索块匹配方法的重建视频图像质量,同时可以有效地降低网络带宽变化对重建视频图像质量的影响,提高网络带宽的利用率,以保证视频流的可扩展性和交互性,为用户提供极佳的视觉体验。


图1是前向主控矢量选择法示意图;图2是前向主控矢量选择法特殊情况示意图;图3为本发明总体控制流程示意图;图4为本发明中对于覆盖四块的基本控制流程示意图;图5为本发明中对于覆盖四块的具体控制流程示意图;图6为本发明中对于覆盖二块的具体控制流程示意图;图7为本发明中对于覆盖一块的具体控制流程示意图;具体实施方式
下面根据附图和实施例对本发明作进一步详细说明视频编码国际标准中,帧间预测编码可采用帧预测和场预测两种方式,因此前向预测帧的每一宏块运动矢量的个数可能是一个或两个。如果时间分辨率转换编码前输入编码视频流中使用帧间编码方式编码的宏块采用帧预测方式,那么所得的运动矢量就是该宏块的运动矢量。如果采用场预测,每一宏块被分成16*8奇偶两个块,则该宏块的运动矢量为DCT变换后拥有大的直流系数之和的16*8块对应的运动矢量,这样做的原因在于块匹配方法建立宏块内所有像素都处于平动状态下且拥有相同的运动趋势这一假设条件下,但通常在物体边缘处,这一条件很难满足,所以块匹配方法在物体边缘处存在产生大的预测误差这一趋势,同时经过运动补偿得到的残差宏块的像素值服从拉普拉斯分布,这意味着量化后直流系数不为零的可能性大于交流系数,且实验证明宏块的活动性与DCT系数的能量有关,所以选择大的DC系数作为宏块活动性的判断标志。
根据图3,本发明的总体控制流程如下1)在采用主控矢量选择法的时间视频分辨率转换中,检测待转换编码视频流中采用帧间编码方式编码的宏块对于被丢弃的参考帧的覆盖状态。
2)至少当匹配宏块在参考帧中的对应匹配位置所覆盖的编码宏块为两块或四块,所述各个编码宏块的面积比较接近并且均采用帧间编码方式编码时,根据与所述编码宏块相关的DCT直流系数确定当前编码宏块在前一参考帧中的匹配位置,据此取得当前编码宏块的运动矢量。
如上所述,需要指出的是,本发明的处理均是在像素域进行的,不在频域进行的主要原因在于频域视频转换编码建立在运动补偿过程的线性化、不考虑帧缓存前的截断函数、DCT/IDCT变换在编解码过程中具有一致的算术精度以及转换编码后每个宏块的编码模式和转换前的编码模式相一致的四个假设条件下,但是通常情况下这四种假设很难成立,由此会产生漂移错误而降低重建视频图像的质量。
如图4所示,对于匹配宏块在参考帧中的对应匹配位置所覆盖的编码宏块为四块时,采用如下的基本控制流程a)检测待转换编码视频流中采用帧间编码方式编码的宏块对于被丢弃的参考帧的覆盖状态。
b)所覆盖的编码宏块为四块,各个编码宏块的面积比较接近并且均采用帧间编码方式编码。
c)根据四个被覆盖的编码宏块的各自运动矢量,确定所述编码宏块的DCT直流系数计算参照值。
d)判断当前编码宏块参考帧的参考帧是否也被丢弃,进行如下操作d1)若未丢弃,直接更新当前获得的运动矢量,继续如下步骤e)。
d2)否则,向前搜寻,直到当前编码宏块的参考帧不是丢弃帧为止,获得当前编码宏块的运动矢量,继续如下步骤e)。
e)根据四个覆盖宏块的运动矢量的情况及丢帧数进一步选择搜索窗口以更新。
如图5所示,下面就匹配宏块在参考帧中的对应匹配位置所覆盖的编码宏块为四块时的具体控制流程作如下详细说明1、检测待转换编码视频流中采用帧间编码方式编码的宏块对于被丢弃的参考帧的覆盖状态。
2、所覆盖的编码宏块为四块时,判断是否存在大于像素点数阀值T的被覆盖部分,进行如下操作21、若存在大于像素点数阀值T的被覆盖部分,则相应宏块被选为主控宏块,判断该宏块是否采用帧内编码方式编码,进行如下操作211、若是采用帧内编码方式编码,则流程结束。
212、否则,直接更新当前获得的运动矢量 继续如下步骤4。
22、否则,判断其中是否存在采用帧内编码方式编码的被覆盖部分,进行如下操作221、若存在采用帧内编码方式编码的被覆盖部分,当前宏块也采用帧内编码方式编码,流程结束。
222、否则,判断四个被覆盖编码宏块的运动矢量 是否都不相等,进行如下操作2221、若四个被覆盖编码宏块的运动矢量 都不相等,则选择残差DCT直流系数最大的被覆盖编码宏块在前一参考帧中的对应位置作为当前编码宏块在前一参考帧中的匹配位置,继续如下步骤3。
在这种情况下,适用下式v→ref=v→nbi|maxdc8*8,i=1,2,3,4]]>其中, 即为主控宏块的运动矢量。
2222、否则,选择残差DCT直流系数最小的被覆盖编码宏块在前一参考帧中的对应位置作为当前编码宏块在前一参考帧中的匹配位置,继续如下步骤3。
在这种情况下,适用下式v→ref=v→nbi|mindc8*8,i=1,2,3,4]]>其中, 即为主控宏块的运动矢量。
3、判断当前编码宏块参考帧的参考帧是否也被丢弃,进行如下操作31、若未被丢弃,直接更新当前获得的运动矢量 继续如下步骤4。
32、否则,则向前搜寻,直到当前编码宏块的参考帧不是丢弃帧为止,获得当前编码宏块的运动矢量 在此,采用如下计算vtx=xn-j-xnvty=yn-j-yn其中,(xn,yn)为当前编码宏块在当前帧中的位置,(xn-j,yn-j)为匹配宏块在最终未丢弃参考帧中的位置,vtx、vty为当前宏块运动矢量 的水平分量和垂直分量,j为当前帧与非丢弃帧的参考帧之间丢帧的个数。
以此取得当前编码宏块的运动矢量 继续如下步骤4。
4、判断四个被覆盖编码宏块的运动矢量是否都相等,进行如下操作41、若都相等,不需要对运动矢量 进行更新。
42、否则,判断四个被覆盖编码宏块的运动矢量 是否都不相等,进行如下操作421、若都不相等,选取较大的搜索窗口对其进行更新,所述的搜索窗口以下式更新SW=±min(defaultSW,α*βj-1)其中,SW为当前运动矢量更新时所需的搜索窗口的大小,defaultSW为全搜索块匹配计算中缺省的搜索窗大小,j为当前帧与非丢弃帧的参考帧之间丢帧的个数,α=2,β=1.5。
422、否则,选取较大的搜索窗口对其进行更新,所述的搜索窗口以下式更新SW=±min(defaultSW,α*βj-1)其中,SW为当前运动矢量更新时所需的搜索窗口的大小,defaultSW为全搜索块匹配计算中缺省的搜索窗大小,j为当前帧与非丢弃帧的参考帧之间丢帧的个数,α=1,β=1.25。
这样,通过上述步骤4、41、42、421、422,就根据四个覆盖宏块的运动矢量的情况及丢帧数进一步选择搜索窗口以更新。
如图6所示,对于匹配宏块在参考帧中的对应匹配位置所覆盖的编码宏块为二块时,采用如下的具体控制流程I、检测待转换编码视频流中采用帧间编码方式编码的宏块对于被丢弃的参考帧的覆盖状态。
II、若所覆盖的编码宏块为两块时,判断是否存在大于像素点数阀值T的被覆盖部分,进行如下操作II1、若存在大于像素点数阀值T的被覆盖部分,若该覆盖编码宏块采用帧间编码方式编码,采用该被覆盖编码宏块在前一参考帧中的匹配位置作为当前编码宏块在前一参考帧中的匹配位置,继续如下步骤III;若该覆盖编码宏块采用帧内编码方式编码,则当前编码宏块也采用帧内编码方式编码,流程结束。
II2、否则,判断其中是否存在采用帧内编码方式编码的被覆盖部分,进行如下操作II2l、若存在采用帧内编码方式编码的被覆盖部分,当前宏块也采用帧内编码方式编码,流程结束。
II22、否则,比较两个宏块中覆盖面积较大的两个8*8块的直流系数之和的大小,选择两者之中较大的一个被覆盖编码宏块在前一参考帧中的匹配位置作为当前编码宏块在前一参考帧中的匹配位置,继续如下步骤III。
III、判断当前编码宏块参考帧的参考帧是否也被丢弃,进行如下操作III1、若未被丢弃,直接更新当前获得的运动矢量,继续如下步履IV。
III2、否则,则向前搜寻,直到当前编码宏块的参考帧不是丢弃帧为止,获得当前编码宏块的运动矢量,继续如下步履IV。
IV、进一步选择搜索窗口以更新运动矢量,所述的搜索窗口以下式更新SW=±min(defaultSW,α*βj-1)其中,SW为当前运动矢量更新时所需的搜索窗口的大小,defaultSW为全搜索块匹配计算中缺省的搜索窗大小,j为当前帧与非丢弃帧的参考帧之间丢帧的个数,α=1,β=1.25。
如图6所示,对于匹配宏块在参考帧中的对应匹配位置所覆盖的编码宏块为一块时,采用如下的具体控制流程i.检测待转换编码视频流中采用帧间编码方式编码的宏块对于被丢弃的参考帧的覆盖状态。
ii.若所覆盖的编码宏块为一块时,若该宏块采用帧间编码方式编码,把该宏块在前一参考帧中的匹配位置作为当前宏块在前一参考帧中的匹配位置,转入步骤iii;若该宏块采用帧内编码方式编码,则当前宏块也采用帧内编码方式编码,流程结束。
iii.判断当前编码宏块参考帧的参考帧是否也被丢弃,进行如下操作iii1、若未被丢弃,直接更新当前获得的运动矢量。
iii2、否则,则向前搜寻,直到当前编码宏块的参考帧不是丢弃帧为止,获得当前编码宏块的运动矢量。
例如,在时间分辨率转换编码实验中,对七个不同运动复杂度、编码速率为384kbit/s、帧率为30帧/s的CIF格式视频序列做了测试,每个序列均编码240帧,缺省搜索窗口大小为±7,GOP采用IPPPPPPPPP这样的结构,转换编码后的视频流速率为100kbit/s、帧率为12帧/s(每三个相邻前向预测帧中丢弃两个)。
如下表1所示,采用BILINEAR、FDVS、TFMVRE、TFMVRE+R方法(TFMVRE即本发明方法,TFMVRE+R为本发明中采用进一步更新的方法,如前述步骤e)或步骤4所述)相对于FS算法的PSNR变化情况进行比较,可以看出,用BILINEAR算法对运动缓慢的视频序列进行时间分辨率转换所得重建视频图像质量和FDVS、TFMVRE算法相差不大,但是当视频运动剧烈时,通过本发明获得重建视频质量与FDVS、TFMVRE算法相差很大。
原因在于视频运动平缓时,待转换编码流中采用帧间编码方式编码的宏块在其参考帧的最佳匹配位置覆盖参考帧某一宏块很大一部分面积的可能性较大,如视频序列Akiyo,此时通过BILINEAR算法获得的运动矢量比较接近于通过FDVS、TFMVRE算法获得的运动矢量。
但是,当视频运动剧烈时,其在参考帧中的最佳匹配位置在四个或两个覆盖宏块中面积接近的可能性增大,此时BILINEAR算法获得的运动矢量缺乏代表性,所以重建视频图像质量比较差(如视频序列Football);用FDVS算法对运动缓慢的视频序列进行时间分辨率转换编码时,获得的运动矢量大部分同TFMVRE算法相同,只是在偶尔的局部运动剧烈区域的重建视频图像质量低于TFMVRE算法,所以总体重建视频质量相差不大,但是当视频运动剧烈时,该算法获得的重建视频图像质量低于TFMVRE算法,同时对于运动相对平缓的视频序列Foreman、Paris,FDVS算法获得重建视频图像质量优于运动剧烈的视频序列Tennis、Football,原因同BILINEAR算法对运动剧烈的视频编码表现下降相同。
本发明针对FDVS算法对覆盖宏块面积接近时选择的运动矢量缺乏代表性做了修改,尤其在视频运动剧烈时本发明获得的重建视频质量大大优于FDVS算法;本发明TFMVRE+R(refinement)的进一步更新的方法,通过对得到的运动矢量进行更新,可获得接近于FS算法的重建视频图像质量。

该表1中不同序列使用各种时域转换编码算法所得PSNR(单位dB)(相对于FS)表1综上所述,本发明利用已编码视频流中的运动信息和DCT变换得到的直流系数重新估计转换编码后视频流的运动矢量,可减少视频转换编码过程中的计算量,提高编码速度。
权利要求
1.一种基于时间分辨率变换的视频转换处理方法,其特征在于它包括如下步骤A、在采用主控矢量选择法的时间视频分辨率转换中,检测待转换编码视频流中采用帧间编码方式编码的宏块对于被丢弃的参考帧的覆盖状态;B、至少当匹配宏块在参考帧中的对应匹配位置所覆盖的编码宏块为两块或四块,所述各个编码宏块的面积比较接近并且均采用帧间编码方式编码时,根据与所述编码宏块相关的DCT直流系数确定当前编码宏块在前一参考帧中的匹配位置,据此取得当前编码宏块的运动矢量。
2.根据权利要求1所述的基于时间分辨率变换的视频转换处理方法,其特征在于所述的步骤B中,若所述匹配宏块在参考帧中的对应匹配位置所覆盖的编码宏块为四块时,根据四个被覆盖的编码宏块的各自运动矢量,确定所述编码宏块的DCT直流系数计算参照值。
3.根据权利要求2所述的基于时间分辨率变换的视频转换处理方法,其特征在于所述的步骤B之后,若当前编码宏块参考帧的参考帧也被丢弃,则向前搜寻,直到当前编码宏块的参考帧不是丢弃帧为止,获得当前编码宏块的运动矢量。
4.根据权利要求1-3中任意一项所述的基于时间分辨率变换的视频转换处理方法,其特征在于所述的步骤B包括如下步骤B1、若所覆盖的编码宏块为四块时,判断是否存在大于像素点数阀值T的被覆盖部分,进行如下操作B11、若存在大于像素点数阀值T的被覆盖部分,则相应宏块被选为主控宏块,若该主控宏块采用帧内编码方式,则当前宏块也采用帧内编码方式编码,流程结束,若该主控宏块采用帧间编码方式,则转入步骤B2;B12、否则,判断其中是否存在采用帧内编码方式编码的被覆盖部分,进行如下操作B121、若存在采用帧内编码方式编码的被覆盖部分,当前宏块也采用帧内编码方式编码,流程结束;B122、否则,判断四个被覆盖编码宏块的运动矢量是否都不相等,进行如下操作B1221、若四个被覆盖编码宏块的运动矢量都不相等,则选择残差DCT直流系数最大的被覆盖编码宏块在前一参考帧中的对应位置作为当前编码宏块在前一参考帧中的匹配位置,继续如下步骤B2;B1222、否则,选择残差DCT直流系数最小的被覆盖编码宏块在前一参考帧中的对应位置作为当前编码宏块在前一参考帧中的匹配位置,继续如下步骤B2;B2、判断当前编码宏块参考帧的参考帧是否也被丢弃,进行如下操作B21、若未被丢弃,直接更新当前获得的运动矢量;B22、否则,则向前搜寻,直到当前编码宏块的参考帧不是丢弃帧为止,获得当前编码宏块的运动矢量。
5.根据权利要求4所述的基于时间分辨率变换的视频转换处理方法,其特征在于所述的步骤B中还包括如下步骤BA、若所覆盖的编码宏块为两块时,判断是否存在大于像素点数阀值T的被覆盖部分,进行如下操作BA1、若存在大于像素点数阀值T的被覆盖部分,若该覆盖编码宏块采用帧间编码方式编码,则采用该被覆盖编码宏块在前一参考帧中的匹配位置作为当前编码宏块在前一参考帧中的匹配位置,继续步骤BB,若该覆盖编码宏块采用帧内编码方式编码,则当前编码宏块也采用帧内编码方式编码,流程结束;BA2、否则,判断其中是否存在采用帧内编码方式编码的被覆盖部分,进行如下操作BA21、若存在采用帧内编码方式编码的被覆盖部分,当前宏块也采用帧内编码方式编码,流程结束;BA22、否则,比较两个宏块中覆盖面积较大的两个8*8块的直流系数之和的大小,选择两者之中较大的一个被覆盖编码宏块在前一参考帧中的匹配位置作为当前编码宏块在前一参考帧中的匹配位置,继续如下步骤BB;BB、判断当前编码宏块参考帧的参考帧是否也被丢弃,进行如下操作BB1、若未被丢弃,直接更新当前获得的运动矢量;BB2、否则,则向前搜寻,直到当前编码宏块的参考帧不是丢弃帧为止,获得当前编码宏块的运动矢量。
6.根据权利要求5所述的基于时间分辨率变换的视频转换处理方法,其特征在于所述的步骤BB之后还包括如下步骤BCBC、进一步选择搜索窗口以更新运动矢量,所述的搜索窗口以下式更新SW=±min(defaultSW,α*βj-1)其中,SW为当前运动矢量更新时所需的搜索窗口的大小,defaultSW为全搜索块匹配计算中缺省的搜索窗大小,j为当前帧与非丢弃帧的参考帧之间丢帧的个数,α=1,β=1.25。
7.根据权利要求4所述的基于时间分辨率变换的视频转换处理方法,其特征在于所述的步骤B中还包括如下步骤Ba、若所覆盖的编码宏块为一块时,若该宏块采用帧间编码方式编码,则把该宏块在前一参考帧中的匹配位置作为当前宏块在前一参考帧中的匹配位置,转入步骤Bb,若该宏块采用帧内编码方式编码,则当前宏块也采用帧内编码方式编码,流程结束;Bb、判断当前编码宏块参考帧的参考帧是否也被丢弃,进行如下操作Bb1、若未被丢弃,直接更新当前获得的运动矢量;Bb2、否则,则向前搜寻,直到当前编码宏块的参考帧不是丢弃帧为止,获得当前编码宏块的运动矢量。
8.根据权利要求1-3中任意一项所述的基于时间分辨率变换的视频转换处理方法,其特征在于所述的步骤B之后还包括如下步骤CC、根据四个覆盖宏块的运动矢量的情况及丢帧数进一步选择搜索窗口以更新。
9.根据权利要求8所述的基于时间分辨率变换的视频转换处理方法,其特征在于所述的步骤C包括如下步骤C1、判断四个被覆盖编码宏块的运动矢量是否都相等,进行如下操作C11、若都相等,不需要对运动矢量进行更新;C12、否则,判断四个被覆盖编码宏块的运动矢量是否都不相等,进行如下操作C121、若都不相等,选取较大的搜索窗口对其进行更新,所述的搜索窗口以下式更新SW=±min(defaultSW,α*βj-1)其中,SW为当前运动矢量更新时所需的搜索窗口的大小,defaultSW为全搜索块匹配计算中缺省的搜索窗大小,j为当前帧与非丢弃帧的参考帧之间丢帧的个数,α=2,β=1.5;C122、否则,选取较大的搜索窗口对其进行更新,所述的搜索窗口以下式更新SW=±min(defaultSW,α*βj-1)其中,SW为当前运动矢量更新时所需的搜索窗口的大小,defaultSW为全搜索块匹配计算中缺省的搜索窗大小,j为当前帧与非丢弃帧的参考帧之间丢帧的个数,α=1,β=1.25。
全文摘要
一种涉及计算的基于时间分辨率变换的视频转换处理方法,它采用A.在采用主控矢量选择法的时间视频分辨率转换中,检测待转换编码视频流中采用帧间编码方式编码的宏块对于被丢弃的参考帧的覆盖状态,B.至少当匹配宏块在参考帧中的对应匹配位置所覆盖的编码宏块为两块或四块,所述各个编码宏块的面积比较接近并且均采用帧间编码方式编码时,根据与所述编码宏块相关的DCT直流系数确定当前编码宏块在前一参考帧中的匹配位置,据此取得当前编码宏块的运动矢量;还包括步骤C根据四个覆盖宏块的运动矢量的情况及丢帧数进一步选择搜索窗口以更新,本发明解决了FDVS算法中运动矢量缺乏代表性的问题,获得较好的重建视频图像质量。
文档编号G06T9/00GK101094398SQ200610061250
公开日2007年12月26日 申请日期2006年6月20日 优先权日2006年6月20日
发明者鲁照华 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1