CN101720042A - 一种多视点视频信号的编码方法 - Google Patents
一种多视点视频信号的编码方法 Download PDFInfo
- Publication number
- CN101720042A CN101720042A CN 200910154336 CN200910154336A CN101720042A CN 101720042 A CN101720042 A CN 101720042A CN 200910154336 CN200910154336 CN 200910154336 CN 200910154336 A CN200910154336 A CN 200910154336A CN 101720042 A CN101720042 A CN 101720042A
- Authority
- CN
- China
- Prior art keywords
- macro
- block coding
- reference frame
- current
- frame
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明公开了一种多视点视频信号的编码方法,优点在于利用多视点视频编码的宏块编码模式和参考帧选择的统计特性,设计了宏块编码模式搜索过程的提前终止方法和减少部分帧间宏块编码模式搜索的参考帧数方法来加速多视点视频编码的速度,对多个测试序列进行实验,表明采用本发明方法与JMVM方法相比,本发明编码方法率失真性能只有略微的下降,有效降低了计算复杂度,大大地提高了编码速度,并经统计,表明本发明编码方法的峰值信噪比PSNR平均下降0.08dB,码率就上升2.03%,编码速度约提高了3.71~7.22倍。
Description
技术领域
本发明涉及一种多视点视频信号的处理方法,尤其是涉及一种多视点视频信号的编码方法。
背景技术
多视点视频信号是单通道视频信号在空间方面的扩展。多视点视频系统与单通道视频系统相比,多视点视频系统能让用户自由地在不同的视角观测场景,并具有交互功能。多视点视频信号的编码技术在自由视点电视、立体电视、自由视点视频通信和三维远程医疗等领域具有广泛的应用前景。由于多视点视频信号的数据量随着相机数目的增加而成倍增加,因此要将多视点视频信号运用到实际的多视点视频系统之中,必须对多视点视频信号进行压缩编码,以缓解多视点视频信号带来的存储和传输压力。
对多视点视频信号进行编码最简单的方法是采用先进的视频编码标准对各个视点的视频信号独立地进行编码。然而,多视点视频信号除了帧内和时间相关性外,还具有视点间的相关性,为了利用这些相关性对多视点视频信号进行高效压缩编码,可以采用精心设计的分层B帧(Hierarchical B Pictures,HBP)编码预测结构。HBP除了采用运动估计消除时间上的冗余外,还采用了视差估计来消除视点间的相关性空间冗余,能够对多视点视频信号进行较好的压缩。HBP编码预测结构如图1所示,图1中GOP(group ofpictures,图像组)长度为8,S0~S7表示8个视点,T0~T7为GOP的8个时刻,箭头表示帧间参考关系,如帧S1T4参考了帧S1T0、帧S1T8、帧S0T4和帧S2T4,其中帧S1T0和帧S1T8为时间参考帧,帧S0T4和帧S2T4为视点参考帧。
JVT(Joint Video Team)长期致力于视频编码的标准化工作,提出了多视点视频编码校验模型(Joint Multi-view Video Model,JMVM),作为多视点视频信号编解码的研究平台。JMVM中利用了H.264编码标准和HBP编码预测结构。在JMVM中,宏块编码模式可分为SKIP、Inter16×16、Inter16×8、Inter8×16、Inter8×8Frext、Inter8×8、Intra16×16、Intra8×8和Intra4×4等。在编码过程中,如果当前正在处理的宏块所在帧为I帧,则编码器需测试Intra16×16、Intra8×8和Intra4×4宏块编码模式,从这三种宏块编码模式中找到具有率失真代价最小的宏块编码模式作为该宏块的最优宏块编码模式;如果当前正在处理的宏块所在帧为P帧或者B帧,则编码器将搜索多个参考帧的情况下还需依次测试SKIP、Inter16×16、Inter16×8、Inter8×16、Inter8×8、Inter8×8Frext、Intra16×16、Intra8×8和Intra4×4宏块编码模式,从这些宏块编码模式中找到具有率失真代价最小的宏块编码模式作为该宏块的最优宏块编码模式,其中,率失真代价通过J(s,c,MODE|λMODE)=SSD(s,c,MODE|QP)+λMODER(s,c,MODE)计算得到,MODE表示当前宏块的一种编码模式,J(s,c,MODE|λMODE)表示MODE模式下的率失真代价,s为原始的视频信号,c为采用MODE模式编码后的重构视频信号,λMODE为拉格朗日乘子,R(s,c,MODE)表示MODE模式下用来编码宏块头信息、视差矢量信息和所有DCT(Discrete Cosine Transform,离散余弦变换)系数的所有编码比特数,SSD(s,c,MODE|QP)为原始的视频信号和重构视频信号之间的平方差值和(SSD,Sum of Square Difference),SSD(s,c,MODE|QP)的值通过计算得到,B1、B2分别为当前宏块的水平和垂直像素数,可以取值16、8或4,l=(lx,ly)T表示视差矢量,QP为量化参量,[i,j]表示像素的坐标,s[i,j]表示原始的视频信号中坐标为[i,j]的像素的像素值,c[i,j]表示重构视频信号中坐标为[i,j]的像素的像素值。这种传统的简单的多视点视频编码方法通过利用多参考帧技术和多种宏块编码模式全搜索的技术可以获得较高的率失真性能,但同时也导致非常高的计算复杂度。如果用α表示总视点数,β表示平均参考帧数,θ表示宏块编码模式种类数,则该多视点视频编码方法编码的时间复杂度可以近似表示为O(α×β×θ),由此可见,该多视点视频编码方法具有非常巨大的计算复杂度,从而给实际运用带来了严重的障碍。
发明内容
本发明所要解决的技术问题是提供一种在保证利用彩色视频编码的率失真性能的前提下,降低彩色视频编码的计算复杂度,提高彩色视频编码的编码速度的多视点视频信号的编码方法。
本发明解决上述技术问题所采用的技术方案为:一种多视点视频信号的编码方法,该编码方法在基于H.264编码标准的多视点视频编码校验模型JMVM上,采用JVT推荐的分层B帧编码预测结构对多视点视频信号中的彩色视频进行编码,具体过程如下:
对于彩色视频中的所有I帧以16×16宏块为单位进行处理,对于当前正在处理的I帧中的各个16×16宏块,编码器采用现有的H.264的率失真优化技术搜索Intra16×16、Intra8×8和Intea4×4宏块编码模式,从这三种宏块编码模式中选出率失真代价最小的宏块编码模式作为各个16×16宏块各自的最优宏块编码模式,再利用各个16×16宏块各自的最优宏块编码模式对各个16×16宏块进行编码;
对于彩色视频中的所有P帧以16×16宏块为单位进行处理,对于当前正在处理的P帧中的各个16×16宏块,编码器采用现有的H.264的率失真优化技术搜索SKIP、Inter16×16、Inter16×8、Inter8×16、Inter8×8、Inter8×8Frext、Intra16×16、Intra8×8和Intra4×4宏块编码模式,从这些宏块编码模式中选出率失真代价最小的宏块编码模式作为各个16×16宏块各自的最优宏块编码模式,再利用各个16×16宏块各自的最优宏块编码模式对各个16×16宏块进行编码;
对于彩色视频中的所有B帧以16×16宏块为单位进行处理,对于当前正在处理的B帧中的各个16×16宏块采用如下步骤进行编码:
①定义当前正在处理的B帧为当前B帧,编码器针对当前B帧根据分层B帧编码预测结构形成两个参考帧队列,其中一个参考帧队列为当前B帧的前向参考帧队列,另一个参考帧队列为当前B帧的后向参考帧队列,前向参考帧队列中的第一个前向参考帧及后向参考帧队列中的第一个后向参考帧与当前B帧在时间上最近;
②定义当前B帧中待编码的16×16宏块为当前宏块,判断当前B帧的前向参考帧队列中的第一个前向参考帧与当前B帧的后向参考帧队列中的第一个后向参考帧是否均为B帧,如果是,则继续执行,否则,执行步骤④;
③判断该前向参考帧及该后向参考帧中分别与当前宏块位置相对应的宏块的编码模式是否为SKIP或Inter16×16宏块编码模式,如果是,则编码器采用现有的H.264的率失真优化技术搜索SKIP和Inter16×16宏块编码模式,从这两种宏块编码模式中选出率失真代价最小的宏块编码模式作为当前宏块的最优宏块编码模式,并执行步骤⑧,否则,执行步骤④;
④编码器采用现有的H.264的率失真优化技术搜索SKIP和Inter16×16宏块编码模式,判断SKIP宏块编码模式的率失真代价是否小于等于Inter16×16宏块编码模式的率失真代价,如果是,则将SKIP宏块编码模式作为当前宏块的最优宏块编码模式,并执行步骤⑧,否则,继续执行;
⑤编码器采用现有的H.264的率失真优化技术搜索Inter8×8和Inter4×4宏块编码模式,在搜索这两种宏块编码模式时分别对当前B帧的前向参考帧队列中的所有前向参考帧和后向参考帧队列中的所有后向参考帧进行搜索,分别找出这两种宏块编码模式各自对应的最优参考帧,判断这两种宏块编码模式各自对应的最优参考帧是否为同一帧,如果是,则编码器采用现有的H.264的率失真优化技术搜索Inter16×8、Inter8×16、Inter8×4、和Inter4×8宏块编码模式,在搜索这些宏块编码模式时仅对最优参考帧进行搜索,并执行步骤⑦,否则,继续执行;
⑥编码器采用现有的H.264的率失真优化技术搜索Inter16×8、Inter8×16、Inter8×4、和Inter4×8宏块编码模式,在搜索这些宏块编码模式时分别对当前B帧的前向参考帧队列中的所有前向参考帧和后向参考帧队列中的所有后向参考帧进行搜索;
⑦编码器采用现有的H.264的率失真优化技术搜索Intra16×16、Intra8×8和Intra4×4宏块编码模式,从这些宏块编码模式中选出率失真代价最小的宏块编码模式作为当前宏块的最优宏块编码模式;
⑧编码器利用当前宏块的最优宏块编码模式对当前宏块进行编码,然后将下一个待编码的16×16宏块作为当前宏块,重复执行步骤②~⑧,直至当前B帧中的所有16×16宏块编码完毕,完成当前B帧的编码过程。
所述的步骤③中判断该前向参考帧及该后向参考帧中分别与当前宏块位置相对应的宏块的编码模式是否为SKIP或Inter16×16宏块编码模式时,该前向参考帧及该后向参考帧中分别与当前宏块位置相对应的宏块的编码模式的组合存在四种情况,情况一:该前向参考帧中与当前宏块位置相对应的宏块的编码模式为SKIP宏块编码模式,该后向参考帧中与当前宏块位置相对应的宏块的编码模式为SKIP宏块编码模式;情况二:该前向参考帧中与当前宏块位置相对应的宏块的编码模式为SKIP宏块编码模式,该后向参考帧中与当前宏块位置相对应的宏块的编码模式为Inter16×16宏块编码模式;情况三:该前向参考帧中与当前宏块位置相对应的宏块的编码模式为Inter16×16宏块编码模式,该后向参考帧中与当前宏块位置相对应的宏块的编码模式为SKIP宏块编码模式;情况四:该前向参考帧中与当前宏块位置相对应的宏块的编码模式为Inter16×16宏块编码模式,该后向参考帧中与当前宏块位置相对应的宏块的编码模式为Inter16×16宏块编码模式。
与现有技术相比,本发明的优点在于利用了多视点视频编码过程的统计特性,如在HBP编码预测结构中B帧占了绝大部分的比例、B帧中各宏块编码模式的测试所花的时间比例是严重不均衡的、B帧中各种宏块编码模式为最优宏块编码模式的比例都是不均衡的、帧间对应位置的宏块的宏块编码模式具有非常强的相关性、通常SKIP宏块编码模式的率失真代价比Inter16×16宏块编码模式的率失真代价小及当Inter8×8和Inter4×4宏块编码模式的最优参考帧为同一参考帧时,Inter16×8、Inter8×16、Inter8×4和Inter4×8宏块编码模式的最优参考帧也为该参考帧具有很高的概率等,设计了宏块编码模式搜索过程的提前终止方法和减少部分帧间宏块编码模式搜索的参考帧数方法来加速编码速度。经过对“Race1”、“Ballroom”、“Exit”、“Alt Moabit”、“Leaving Laptop”、“Breakdancers”、“Champagne_tower”和“Pantomime”测试序列的实验,实验表明上述测试序列采用本发明方法进行多视点视频信号编码与采用现有的JMVM方法相比,本发明编码方法率失真性能只有略微的下降,有效降低了计算复杂度,大大地提高了编码速度,并经统计,表明本发明编码方法的峰值信噪比PSNR平均下降0.08dB,码率就上升2.03%,编码速度约提高了3.71~7.22倍。
附图说明
图1为分层B帧编码预测结构的示意图;
图2a为“Alt Moabit”测试序列中各种宏块编码模式的分布比例示意图;
图2b为“Exit”测试序列中各种宏块编码模式的分布比例示意图;
图3为“Alt Moabit”、“Champagne_tower”、“Exit”和“Race1”测试序列中各自的当前B帧的时间上最近的前向参考帧和后向参考帧均为B帧,且该最近的前向参考帧和该最近的后向参考帧中与当前正在处理的宏块对应位置的宏块均为SKIP或Inter16×16宏块编码模式时,当前B帧中宏块编码模式为SKIP或Inter16×16的比例示意图;
图4为对视频的一个B帧中的各个宏块编码的流程框图;
图5a为“Race1”测试序列采用JMVM编码方法和本发明编码方法的率失真性能对比示意图;
图5b为“Ballroom”测试序列采用JMVM编码方法和本发明编码方法的率失真性能对比示意图;
图5c为“Exit”测试序列采用JMVM编码方法和本发明编码方法的率失真性能对比示意图;
图5d为“Alt Moabit”测试序列采用JMVM编码方法和本发明编码方法的率失真性能对比示意图;
图5e为“Leaving Laptop”测试序列采用JMVM编码方法和本发明编码方法的率失真性能对比示意图;
图5f为“Breakdancers”测试序列采用JMVM编码方法和本发明编码方法的率失真性能对比示意图;
图5g为“Champagne_tower”测试序列采用JMVM编码方法和本发明编码方法的率失真性能对比示意图;
图5h为“Pantomime”测试序列采用JMVM编码方法和本发明编码方法的率失真性能对比示意图。
具体实施方式
以下结合附图实施例对本发明作进一步详细描述。
对多视点视频信号进行编码,可以采用JVT(Joint Video Team,联合视频专家组)推荐的分层B帧(HBP,Hierarchical B Pictures)编码预测结构进行编码,可以充分利用多视点视频信号的时间相关性和视点间相关性,取得很好的压缩性能。图1给出了GOP(Group of Pictures,图像组)长度为8的HBP编码预测结构的示意图,每个GOP所包含的帧数为视点数×GOP的长度,图1所示的HBP编码预测结构中视点数为8,因此可知该GOP所包含的帧数为64帧。
在一个GOP中B帧通常占有很大的百分比,如图1中每个GOP有64帧,B帧有59个,占整个GOP所包含的帧数的92.19%,同样,当GOP的长度为12或15时,B帧在整个GOP所包含的帧数中所占的百分比将更高,表1给出了当GOP的长度分别为8、12和15时,B帧的占有百分比。
表1一个GOP中B帧的占有比例
GOP长度 | 8 | 12 | 15 | ... |
B帧占有比(%) | 92.19% | 94.79% | 95.83% | ... |
在基于H.264编码标准的多视点视频编码校验模型JMVM(Joint Multi-view VideoModel)上,由于B帧采用双向预测的编码方式,这样导致其计算复杂度极高。而B帧中各种宏块编码模式测试所花的时间是不平衡的,表2列出了B帧中各种宏块编码模式测试所花时间的百分比例,从表2中可以看出,帧内模式(Intra宏块编码模式)和SKIP宏块编码模式测试所花时间即计算复杂度远小于其他帧间模式(帧间模式包括Inter16×16、Inter16×8、Inter8×16、Inter8×8和Inter8×8Frext)的计算复杂度,而其中Inter16×16、Inter16×8、Inter8×16和Inter8×8Frext宏块编码模式的计算复杂度比较相近,但是它们的计算复杂度都远小于Inter8×8宏块编码模式的计算复杂度。此外,B帧中各种宏块编码模式的分布也是不平衡的,一般说来SKIP宏块编码模式占绝大部分比例,其次为Inter16×16宏块编码模式,其它的宏块编码模式占的部分比例很小,图2a给出了“Alt Moabit”测试序列中各种宏块编码模式的分布比例,图2b给出了“Exit”测试序列中各种宏块编码模式的分布比例,从图2a和图2b中均可以看出,SKIP宏块编码模式占绝大部分比例,其次为Inter16×16宏块编码模式。
表2B帧中各种宏块编码模式测试所花时间的百分比例
SKIP | Inter16×16 | Inter16×8 | Inter8×16 | Inter8×8 | Inter8×8Frext | Intra | Total | |
所花时间(μs) | 23 | 402 | 411 | 450 | 2384 | 496 | 219 | 4384 |
百分比(%) | 0.52 | 9.18 | 9.37 | 10.27 | 54.37 | 11.3 | 4.99 | 100 |
由于多视点视频信号具有非常强的时间相关性,编码过程中宏块编码模式的选择也存在相似性,在编码过程中编码器针对当前B帧根据分层B帧编码预测结构形成两个参考帧队列,其中一个参考帧队列为当前B帧的前向参考帧队列,另一个参考帧队列为当前B帧的后向参考帧队列,前向参考帧队列中的第一个前向参考帧及后向参考帧队列中的第一个后向参考帧与当前B帧在时间上最近。图3给出了“Alt Moabit”、“Champagne_tower”、“Exit”和“Race1”测试序列中各自的当前B帧的时间上最近的前向参考帧和后向参考帧均为B帧,且该最近的前向参考帧和该最近的后向参考帧中与当前正在处理的宏块对应位置的宏块均为SKIP或Inter16×16宏块编码模式时,当前B帧中宏块编码模式为SKIP或Inter16×16的比例,从图3中可以看出,由此看来,帧间对应位置的宏块编码模式存在较强的相关性,如果我们利用参考帧的宏块编码模式来预测当前宏块的宏块编码模式将节省部分宏块编码模式遍历的时间。因此,如果当前B帧的最近的前向参考帧和最近的后向参考帧都为B帧,且该最近的前向参考帧和该最近的后向参考帧中与当前正在处理的宏块对应位置的宏块均为SKIP或Inter16×16宏块编码模式,则当前宏块仅搜索SKIP和Inter16×16宏块编码模式,并选择率失真代价值较小的宏块编码模式作为当前宏块的最优宏块编码模式。
每个宏块的率失真代价由失真和编码比特数两部分构成,而B帧的SKIP宏块编码模式的率失真代价仅由运动/视差矢量、参考帧和模式等的编码比特数决定,因此,当编码位于静止区域或背景区域的宏块时,也就是当前帧与参考帧相同位置的内容相近或相同时,则需编码的失真会很小,这时,率失真代价主要由编码比特数决定,从而最终选择SKIP宏块编码模式作为最优宏块编码模式的概率也会很大。因此,在这些静止区域或背景区域中,通常SKIP宏块编码模式的率失真代价比Inter16×16宏块编码模式的率失真代价小,假如SKIP宏块编码模式的率失真代价小于等于Inter16×16宏块编码模式的率失真代价,则可以跳出对其它宏块编码模式的测试过程,直接以SKIP宏块编码模式作为最终的宏块编码模式。表3给出了“Race1”、“Exit”、“Ballroom”、“Breakdancers”、“Alt Moabit”、“Leaving Laptop”、“Champagne_tower”和“Pantomime”等测试序列的B帧中SKIP宏块编码模式的统计结果,从表3中可知通过上述方法确定SKIP宏块编码模式为最优宏块编码模式的准确率较高。
表3B帧中SKIP宏块编码模式的统计结果
测试序列 | SKIP率失真代价小于等于Inter16×16的率失真代价的宏块总个数 | 最优宏块编码模式为SKIP的宏块个数(百分比) | 最优宏块编码模式不为SKIP的宏块个数(百分比) |
Race1 | 75075 | 75263(99.75%) | 188(0.25%) |
Exit | 211734 | 221315(95.67%) | 9581(4.33%) |
Ballroom | 203482 | 189863(93.31%) | 13619(6.69%) |
Breakdancers | 480569 | 438279(91.20%) | 42290(8.80%) |
Alt Moabit | 724671 | 730059(99.26%) | 5388(0.74%) |
测试序列 | SKIP率失真代价小于等于Inter16×16的率失真代价的宏块总个数 | 最优宏块编码模式为SKIP的宏块个数(百分比) | 最优宏块编码模式不为SKIP的宏块个数(百分比) |
Leave Laptop | 699690 | 695179(99.36%) | 4511(0.64%) |
Champagne_tower | 1127594 | 1138084(99.08%) | 10490(0.92%) |
Pantomime | 1019415 | 1001357(98.23%) | 18058(1.77%) |
在多视点视频信号的B帧中,各种帧间模式都有多个前向参考帧和多个后向参考帧。所有宏块编码模式在每个参考帧中都进行运动/视差估计,这种多参考帧全搜索的方法可以获得最好的编码效果,然而编码复杂度随着参考帧数量的增加呈线性增长。但是在编码过程,对于同一个宏块,在参考帧选择上具有一定的相关性,即每种宏块编码模式的最优参考帧为同一帧的可能性很大。经过统计分析,Inter16×8、Inter8×16、Inter8×4和Inter4×8宏块编码模式的最优参考帧与Inter8×8和Inter4×4宏块编码模式的最优参考帧有很大的相关性,特别是,当Inter8×8和Inter4×4宏块编码模式的最优参考帧为同一参考帧时,Inter16×8、Inter8×16、Inter8×4和Inter4×8宏块编码模式的最优参考帧也为该参考帧具有很高的概率。因此,在参考帧选择上,可以考虑策略:如果与Inter8×8和Inter4×4宏块编码模式的最优参考帧为同一帧,则Inter8×4、Inter4×8、Inter16×8和Inter8×16宏块编码模式仅搜索该帧,这样可以节省大量的参考帧搜索时间。
基于以上深入分析,本申请提出了一种多视点视频信号的编码方法,该编码方法在基于H.264编码标准的多视点视频编码校验模型JMVM上,采用JVT推荐的分层B帧编码预测结构对多视点视频信号中的彩色视频进行编码,具体处理过程如下:
对于彩色视频中的所有I帧以16×16宏块为单位进行处理,对于当前正在处理的I帧中的各个16×16宏块,编码器采用现有的H.264的率失真优化技术搜索Intra16×16、Intra8×8和Intea4×4宏块编码模式,从这三种宏块编码模式中选出率失真代价最小的宏块编码模式作为各个16×16宏块各自的最优宏块编码模式,再利用各个16×16宏块各自的最优宏块编码模式对各个16×16宏块进行编码。
对于彩色视频中的所有P帧以16×16宏块为单位进行处理,对于当前正在处理的P帧中的各个16×16宏块,编码器采用现有的H.264的率失真优化技术搜索SKIP、Inter16×16、Inter16×8、Inter8×16、Inter8×8、Inter8×8Frext、Intra16×16、Intra8×8和Intra4×4宏块编码模式,从这些宏块编码模式中选出率失真代价最小的宏块编码模式作为各个16×16宏块各自的最优宏块编码模式,再利用各个16×16宏块各自的最优宏块编码模式对各个16×16宏块进行编码。
对于彩色视频中的所有B帧以16×16宏块为单位进行处理,对于当前正在处理的B帧中的各个16×16宏块采用如图4所示的流程进行快速编码,步骤如下:
①定义当前正在处理的B帧为当前B帧,编码器针对当前B帧根据分层B帧编码预测结构形成两个参考帧队列,其中一个参考帧队列为当前B帧的前向参考帧队列,另一个参考帧队列为当前B帧的后向参考帧队列,前向参考帧队列中的第一个前向参考帧及后向参考帧队列中的第一个后向参考帧与当前B帧在时间上最近。
②定义当前B帧中待编码的16×16宏块为当前宏块,判断当前B帧的前向参考帧队列中的第一个前向参考帧与当前B帧的后向参考帧队列中的第一个后向参考帧是否均为B帧,如果是,则继续执行,否则,执行步骤④。
③判断该前向参考帧及该后向参考帧中分别与当前宏块位置相对应的宏块的编码模式是否为SKIP或Inter16×16宏块编码模式,如果是,则编码器采用现有的H.264的率失真优化技术搜索SKIP和Inter16×16宏块编码模式,从这两种宏块编码模式中选出率失真代价最小的宏块编码模式作为当前宏块的最优宏块编码模式,并执行步骤⑧,否则,执行步骤④。
在此,判断该前向参考帧及该后向参考帧中分别与当前宏块位置相对应的宏块的编码模式是否为SKIP或Inter16×16宏块编码模式时,该前向参考帧及该后向参考帧中分别与当前宏块位置相对应的宏块的编码模式的组合存在四种情况,情况一:该前向参考帧中与当前宏块位置相对应的宏块的编码模式为SKIP宏块编码模式,该后向参考帧中与当前宏块位置相对应的宏块的编码模式为SKIP宏块编码模式;情况二:该前向参考帧中与当前宏块位置相对应的宏块的编码模式为SKIP宏块编码模式,该后向参考帧中与当前宏块位置相对应的宏块的编码模式为Inter16×16宏块编码模式;情况三:该前向参考帧中与当前宏块位置相对应的宏块的编码模式为Inter16×16宏块编码模式,该后向参考帧中与当前宏块位置相对应的宏块的编码模式为SKIP宏块编码模式;情况四:该前向参考帧中与当前宏块位置相对应的宏块的编码模式为Inter16×16宏块编码模式,该后向参考帧中与当前宏块位置相对应的宏块的编码模式为Inter16×16宏块编码模式。
④编码器采用现有的H.264的率失真优化技术搜索SKIP和Inter16×16宏块编码模式,判断SKIP宏块编码模式的率失真代价是否小于等于Inter16×16宏块编码模式的率失真代价,如果是,则将SKIP宏块编码模式作为当前宏块的最优宏块编码模式,并执行步骤⑧,否则,继续执行。
⑤编码器采用现有的H.264的率失真优化技术搜索Inter8×8和Inter4×4宏块编码模式,在搜索这两种宏块编码模式时分别对当前B帧的前向参考帧队列中的所有前向参考帧和后向参考帧队列中的所有后向参考帧进行搜索,分别找出这两种宏块编码模式各自对应的最优参考帧,判断这两种宏块编码模式各自对应的最优参考帧是否为同一帧,如果是,则编码器采用现有的H.264的率失真优化技术搜索Inter16×8、Inter8×16、Inter8×4、和Inter4×8宏块编码模式,在搜索这些宏块编码模式时仅对最优参考帧进行搜索,并执行步骤⑦,否则,继续执行。
⑥编码器采用现有的H.264的率失真优化技术搜索Inter16×8、Inter8×16、Inter8×4、和Inter4×8宏块编码模式,在搜索这些宏块编码模式时分别对当前B帧的前向参考帧队列中的所有前向参考帧和后向参考帧队列中的所有后向参考帧进行搜索。
⑦编码器采用现有的H.264的率失真优化技术搜索Intra16×16、Intra8×8和Intra4×4宏块编码模式,从这些宏块编码模式中选出率失真代价最小的宏块编码模式作为当前宏块的最优宏块编码模式。
⑧编码器利用当前宏块的最优宏块编码模式对当前宏块进行编码,然后将下一个待编码的16×16宏块作为当前宏块,重复执行步骤②~⑧,直至当前B帧中的所有16×16宏块编码完毕,完成当前B帧的编码过程。
对于上述各个B帧本发明利用了多视点视频编码的宏块编码模式和参考帧选择的统计特性,设计了宏块编码模式搜索过程的提前终止方法和减少部分帧间宏块编码模式搜索的参考帧数方法来加速多视点视频编码的速度。
为了衡量本发明编码方法的性能,利用现有的JMVM编码方法和本发明编码方法分别对“Race1”、“Ballroom”、“Exit”、“Alt Moabit”、“Leaving Laptop”、“Breakdancers”、“Champagne_tower”和“Pantomime”等测试序列在相同的环境下作了两轮编码测试,第一轮采用现有的JMVM编码方法,第二轮采用本发明编码方法。编码测试主要根据JVT提出的多视点视频公共的测试环境,具体参数如表4所列。实验中,“Ballroom”和“Exit”测试序列的GOP长度设置为12,其它测试序列的GOP长度设置为15;所有测试序列在每轮实验中都测试了61帧。实验在Inter(R)Xeon(TM)3.2GHz CPU,13GB内存的服务器机上完成。
表4测试参数设置
表5给出了“Race1”、“Ballroom”、“Exit”、“Alt Moabit”、“Leaving Laptop”、“Breakdancers”、“Champagne_tower”和“Pantomime”各个测试序列采用JMVM方法以及本发明编码方法进行多视点视频信号编码的编码速度提升的情况。从表5可以得知,与现有的JMVM方法相比,本发明编码方法的编码速度提高了3.71~7.22倍。
表5各测试序列采用JMVM编码方法的编码时间、采用本发明编码方法的编码时间和本发明方法相对于JMVM编码方法的加速倍数列表
序列 | JMVM方法(s) | 本发明编码方法(s) | 速度提升倍数 |
Race1 | 1055 | 146 | 7.22 |
Ballroom | 5915 | 1594 | 3.71 |
Exit | 5331 | 1158 | 4.60 |
Alt Moabit | 11187 | 1876 | 5.96 |
Leave Laptop | 11157 | 1842 | 6.06 |
序列 | JMVM方法(s) | 本发明编码方法(s) | 速度提升倍数 |
Breakdancers | 14788 | 3864 | 3.83 |
Champagne_tower | 17291 | 2466 | 7.01 |
Pantomime | 17694 | 3548 | 4.99 |
图5a至图5h分别给出了“Race1”、“Ballroom”、“Exit”、“Alt Moabit”、“LeavingLaptop”、“Breakdancers”、“Champagne_tower”和“Pantomime”测试序列分别采用JMVM编码方法和本发明编码方法进行编码的编码率失真性能比较示意图,从图5a至图5h可以看出,本发明编码方法率失真性能和JMVM编码方法相比,只有略微的下降。经统计,峰值信噪比PSNR平均下降0.08dB,码率上升2.03%,由此可见,本发明编码方法在保证了编码率失真性能的前提下,有效降低了计算复杂度,大大地提高了编码速度。
Claims (2)
1.一种多视点视频信号的编码方法,其特征在于该编码方法在基于H.264编码标准的多视点视频编码校验模型JMVM上,采用JVT推荐的分层B帧编码预测结构对多视点视频信号中的彩色视频进行编码,具体过程如下:
对于彩色视频中的所有I帧以16×16宏块为单位进行处理,对于当前正在处理的I帧中的各个16×16宏块,编码器采用现有的H.264的率失真优化技术搜索Intra16×16、Intra8×8和Intea4×4宏块编码模式,从这三种宏块编码模式中选出率失真代价最小的宏块编码模式作为各个16×16宏块各自的最优宏块编码模式,再利用各个16×16宏块各自的最优宏块编码模式对各个16×16宏块进行编码;
对于彩色视频中的所有P帧以16×16宏块为单位进行处理,对于当前正在处理的P帧中的各个16×16宏块,编码器采用现有的H.264的率失真优化技术搜索SKIP、Inter16×16、Inter16×8、Inter8×16、Inter8×8、Inter8×8Frext、Intra16×16、Intra8×8和Intra4×4宏块编码模式,从这些宏块编码模式中选出率失真代价最小的宏块编码模式作为各个16×16宏块各自的最优宏块编码模式,再利用各个16×16宏块各自的最优宏块编码模式对各个16×16宏块进行编码;
对于彩色视频中的所有B帧以16×16宏块为单位进行处理,对于当前正在处理的B帧中的各个16×16宏块采用如下步骤进行编码:
①定义当前正在处理的B帧为当前B帧,编码器针对当前B帧根据分层B帧编码预测结构形成两个参考帧队列,其中一个参考帧队列为当前B帧的前向参考帧队列,另一个参考帧队列为当前B帧的后向参考帧队列,前向参考帧队列中的第一个前向参考帧及后向参考帧队列中的第一个后向参考帧与当前B帧在时间上最近;
②定义当前B帧中待编码的16×16宏块为当前宏块,判断当前B帧的前向参考帧队列中的第一个前向参考帧与当前B帧的后向参考帧队列中的第一个后向参考帧是否均为B帧,如果是,则继续执行,否则,执行步骤④;
③判断该前向参考帧及该后向参考帧中分别与当前宏块位置相对应的宏块的编码模式是否为SKIP或Inter16×16宏块编码模式,如果是,则编码器采用现有的H.264的率失真优化技术搜索SKIP和Inter16×16宏块编码模式,从这两种宏块编码模式中选出率失真代价最小的宏块编码模式作为当前宏块的最优宏块编码模式,并执行步骤⑧,否则,执行步骤④;
④编码器采用现有的H.264的率失真优化技术搜索SKIP和Inter16×16宏块编码模式,判断SKIP宏块编码模式的率失真代价是否小于等于Inter16×16宏块编码模式的率失真代价,如果是,则将SKIP宏块编码模式作为当前宏块的最优宏块编码模式,并执行步骤⑧,否则,继续执行;
⑤编码器采用现有的H.264的率失真优化技术搜索Inter8×8和Inter4×4宏块编码模式,在搜索这两种宏块编码模式时分别对当前B帧的前向参考帧队列中的所有前向参考帧和后向参考帧队列中的所有后向参考帧进行搜索,分别找出这两种宏块编码模式各自对应的最优参考帧,判断这两种宏块编码模式各自对应的最优参考帧是否为同一帧,如果是,则编码器采用现有的H.264的率失真优化技术搜索Inter16×8、Inter8×16、Inter8×4、和Inter4×8宏块编码模式,在搜索这些宏块编码模式时仅对最优参考帧进行搜索,并执行步骤⑦,否则,继续执行;
⑥编码器采用现有的H.264的率失真优化技术搜索Inter16×8、Inter8×16、Inter8×4、和Inter4×8宏块编码模式,在搜索这些宏块编码模式时分别对当前B帧的前向参考帧队列中的所有前向参考帧和后向参考帧队列中的所有后向参考帧进行搜索;
⑦编码器采用现有的H.264的率失真优化技术搜索Intra16×16、Intra8×8和Intra4×4宏块编码模式,从这些宏块编码模式中选出率失真代价最小的宏块编码模式作为当前宏块的最优宏块编码模式;
⑧编码器利用当前宏块的最优宏块编码模式对当前宏块进行编码,然后将下一个待编码的16×16宏块作为当前宏块,重复执行步骤②~⑧,直至当前B帧中的所有16×16宏块编码完毕,完成当前B帧的编码过程。
2.根据权利要求1所述的一种多视点视频信号的编码方法,其特征在于所述的步骤③中判断该前向参考帧及该后向参考帧中分别与当前宏块位置相对应的宏块的编码模式是否为SKIP或Inter16×16宏块编码模式时,该前向参考帧及该后向参考帧中分别与当前宏块位置相对应的宏块的编码模式的组合存在四种情况,情况一:该前向参考帧中与当前宏块位置相对应的宏块的编码模式为SKIP宏块编码模式,该后向参考帧中与当前宏块位置相对应的宏块的编码模式为SKIP宏块编码模式;情况二:该前向参考帧中与当前宏块位置相对应的宏块的编码模式为SKIP宏块编码模式,该后向参考帧中与当前宏块位置相对应的宏块的编码模式为Inter16×16宏块编码模式;情况三:该前向参考帧中与当前宏块位置相对应的宏块的编码模式为Inter16×16宏块编码模式,该后向参考帧中与当前宏块位置相对应的宏块的编码模式为SKIP宏块编码模式;情况四:该前向参考帧中与当前宏块位置相对应的宏块的编码模式为Inter16×16宏块编码模式,该后向参考帧中与当前宏块位置相对应的宏块的编码模式为Inter16×16宏块编码模式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910154336 CN101720042A (zh) | 2009-11-27 | 2009-11-27 | 一种多视点视频信号的编码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910154336 CN101720042A (zh) | 2009-11-27 | 2009-11-27 | 一种多视点视频信号的编码方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101720042A true CN101720042A (zh) | 2010-06-02 |
Family
ID=42434544
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200910154336 Pending CN101720042A (zh) | 2009-11-27 | 2009-11-27 | 一种多视点视频信号的编码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101720042A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102387368A (zh) * | 2011-10-11 | 2012-03-21 | 浙江工业大学 | 一种多视点视频编码视点间预测快速选择方法 |
CN102572419A (zh) * | 2010-12-28 | 2012-07-11 | 深圳市融创天下科技股份有限公司 | 一种帧间预测方法、装置 |
CN102833535A (zh) * | 2012-07-03 | 2012-12-19 | 深圳市融创天下科技股份有限公司 | 一种基于宏块统计信息的参考帧筛选方法、装置 |
CN103188500A (zh) * | 2011-12-31 | 2013-07-03 | 中国科学院深圳先进技术研究院 | 多视点视频信号的编码方法 |
CN104618725A (zh) * | 2015-01-15 | 2015-05-13 | 华侨大学 | 快速搜索与模式优化结合的多视点视频编码算法 |
CN107920254A (zh) * | 2016-10-11 | 2018-04-17 | 北京金山云网络技术有限公司 | 一种针对b帧的运动估计方法、装置及视频编码器 |
CN109151476A (zh) * | 2018-09-21 | 2019-01-04 | 北京大学 | 一种基于双向预测的b帧图像的参考帧生成方法及装置 |
-
2009
- 2009-11-27 CN CN 200910154336 patent/CN101720042A/zh active Pending
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102572419A (zh) * | 2010-12-28 | 2012-07-11 | 深圳市融创天下科技股份有限公司 | 一种帧间预测方法、装置 |
CN102572419B (zh) * | 2010-12-28 | 2014-09-03 | 深圳市云宙多媒体技术有限公司 | 一种帧间预测方法、装置 |
CN102387368A (zh) * | 2011-10-11 | 2012-03-21 | 浙江工业大学 | 一种多视点视频编码视点间预测快速选择方法 |
CN103188500A (zh) * | 2011-12-31 | 2013-07-03 | 中国科学院深圳先进技术研究院 | 多视点视频信号的编码方法 |
CN103188500B (zh) * | 2011-12-31 | 2015-04-08 | 中国科学院深圳先进技术研究院 | 多视点视频信号的编码方法 |
CN102833535A (zh) * | 2012-07-03 | 2012-12-19 | 深圳市融创天下科技股份有限公司 | 一种基于宏块统计信息的参考帧筛选方法、装置 |
CN102833535B (zh) * | 2012-07-03 | 2017-08-25 | 深圳市云宙多媒体技术有限公司 | 一种基于宏块统计信息的参考帧筛选方法、装置 |
CN104618725A (zh) * | 2015-01-15 | 2015-05-13 | 华侨大学 | 快速搜索与模式优化结合的多视点视频编码算法 |
CN107920254A (zh) * | 2016-10-11 | 2018-04-17 | 北京金山云网络技术有限公司 | 一种针对b帧的运动估计方法、装置及视频编码器 |
CN107920254B (zh) * | 2016-10-11 | 2019-08-30 | 北京金山云网络技术有限公司 | 一种针对b帧的运动估计方法、装置及视频编码器 |
CN109151476A (zh) * | 2018-09-21 | 2019-01-04 | 北京大学 | 一种基于双向预测的b帧图像的参考帧生成方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101729891B (zh) | 一种多视点深度视频的编码方法 | |
CN103873861B (zh) | 一种用于hevc的编码模式选择方法 | |
CN101720042A (zh) | 一种多视点视频信号的编码方法 | |
CN102065298B (zh) | 高性能宏块编码实现方法 | |
CN103546749B (zh) | 利用残差系数分布特征和贝叶斯定理优化hevc残差编码的方法 | |
CN102196256B (zh) | 一种视频编码方法及装置 | |
CN104539962A (zh) | 一种融合视觉感知特征的可分层视频编码方法 | |
CN106210721B (zh) | 一种hevc快速码率转码方法 | |
CN101404766B (zh) | 一种多视点视频信号的编码方法 | |
CN103581647A (zh) | 一种基于彩色视频运动矢量的深度图序列分形编码方法 | |
CN103338370B (zh) | 一种多视点深度视频快速编码方法 | |
CN100574447C (zh) | 基于avs视频编码的快速帧间预测模式选择方法 | |
CN103546758A (zh) | 一种快速深度图序列帧间模式选择分形编码方法 | |
CN103634606A (zh) | 视频编码方法和装置 | |
CN107087200A (zh) | 针对高效率视频编码标准的跳过编码模式提前判决方法 | |
CN106937116A (zh) | 基于随机训练集自适应学习的低复杂度视频编码方法 | |
CN104853191A (zh) | 一种hevc的快速编码方法 | |
CN104702959B (zh) | 一种视频编码的帧内预测方法及系统 | |
CN104469336A (zh) | 多视点深度视频信号的编码方法 | |
CN106454349A (zh) | 一种基于h.265视频编码的运动估计块匹配方法 | |
CN102196272A (zh) | 一种p帧编码方法及装置 | |
CN1194544C (zh) | 基于时空域相关性运动矢量预测的视频编码方法 | |
CN103188500B (zh) | 多视点视频信号的编码方法 | |
CN101557519B (zh) | 一种多视点视频编码方法 | |
CN103546747B (zh) | 一种基于彩色视频编码模式的深度图序列分形编码方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20100602 |