一种多描述屏幕内容视频编码方法与流程

文档序号:12183662阅读:244来源:国知局
一种多描述屏幕内容视频编码方法与流程

本发明涉及一种屏幕内容视频编码方法,具体涉及一种多描述屏幕内容视频编码方法,属于屏幕内容视频通信技术领域。



背景技术:

在无线屏幕显示、镜像屏幕、云桌面、屏幕/桌面虚拟化应用中,屏幕分享通常需要以屏幕内容视频的形式在设备之间进行实时、低时延地传输。与相机拍摄视频相比,屏幕内容视频通常含有大量静止或活动的由计算机生成的图形、文字,可能包含较大的运动(比如向下滚动页面)、与自然界不同的运动(比如演示文档中物体的渐进、渐出)、不连续的色调、饱和的色彩、有限的颜色种类、无传感器噪声、大块均匀平滑的区域、重复出现的图案等特性。屏幕内容视频编码是屏幕内容视频通信中决定系统性能的核心技术之一。

目前,已有的屏幕内容编码方法主要专注于提高压缩性能、降低编码复杂度等方面,并已经在这些方面取得了很大进展。然而,上述屏幕内容编码方法存在如下缺点:

1)已有的屏幕内容编码方案未考虑到视频传输的鲁棒性。在设计理念为尽力而为(best-effort)的网络(例如,互联网)或不可靠网络(例如,无线自组织网络)中,视频通信服务要求达到的带宽或时延无法得到有效的保证,特别是需要短时延、低丢包率的实时视频通信。视频信号的传输由于带宽有限和时延长可能导致严重的数据包丢失。而屏幕内容视频都进行了压缩,由于视频压缩通常采用运动预测和运动补偿,数据包丢失不但会对包内包含的部分视频信号的重建产生影响,这种影响还会进一步扩散到同一视频序列的其余部分,造成严重的视频重建质量下降。

2)使用已有的屏幕内容编码方案,在屏幕内容视频数据包发生严重丢失时,需要重新传送视频数据包。重新传送会给屏幕内容视频通信带来较大的时延。如果数据丢失是由于网络拥塞造成的,数据包重传会进一步加剧网络拥塞状况,造成更多的数据包丢失。

3)屏幕内容在异构网络中进行传输,不同设备拥有不同的处理能力、显示器分辨率、下载带宽等资源,因此对屏幕内容视频的要求各不相同,例如手机和专业显示设备。资源相对匮乏的用户希望得到流畅的质量可接受的屏幕内容传输,而资源丰富的用户希望得到质量更高的屏幕内容视频传输体验,已有屏幕内容编码方案未能方便的提供可伸缩性的屏幕内容视频码流。



技术实现要素:

本发明的目的在于克服现有技术中的不足,提供了一种多描述屏幕内容视频编码方法,在对单个子序列进行编码前,先选择性得加入另一个子序列的部分图像块,将单个子序列和冗余信息结合依次进行调色板编码、算术编码生成相应的描述,使得在部分描述丢失的情况下仍能被重建,而不要求丢失数据包的重传,它提供了鲁棒视频传输方案,既能满足实时的通信需求又能减轻网络拥塞。

为解决上述技术问题,本发明提供了一种多描述屏幕内容视频编码方法,其特征在于,包括如下步骤:

步骤一,将屏幕内容视频分为奇数帧和偶数帧的两个子序列;

步骤二,对两个子序列分别进行编码,生成相应的两个描述,两个描述各自独立地在网络中传输;

对单个子序列进行编码的具体过程为:

1)首先对单个子序列依次进行调色板编码和算术编码生成相应的描述;

2)边路解码过程:采集经过调色板编码的子序列,对其进行调色板解码恢复出此子序列,根据恢复出的子序列预测另一个子序列,重建出屏幕内容视频;

3)失真衡量过程:计算重建视频的失真,与失真阈值进行比较,若失真大于失真阈值,则进行下一步冗余调节过程;

4)冗余调节过程:将预测的另一个子序列与其原始的子序列基于图像块进行一一对应比较,按照失真从大到小的顺序对各图像块进行排列,优先选择部分失真大的图像块添加到单个子序列中形成新的子序列;

5)对此新的子序列重复进行1)~4)的反馈过程直至重建视频失真小于等于失真阈值。

步骤三,在接收端,根据接收到单个描述或同时接收到两个描述的不同情况分别进行解码:

若只接收到单个描述,则依次进行算术解码、调色板解码恢复出单个子序列和另一个子序列的部分图像块,预测出另一个子序列剩余图像块,重建出屏幕内容视频;

若同时接收到两个描述,则对两个描述分别依次进行算术解码、调色板模式解码,恢复出两个子序列和其部分图像块,将两个子序列的部分图像块丢弃,将两个子序列重建出完整的屏幕内容视频。

进一步的,采用运动补偿差值方法进行预测。

与现有技术相比,本发明所达到的有益效果是:本发明由于使用调色板编码的多描述技术对屏幕内容视频进行编码,使得在部分描述丢失的情况下仍能被重建,而不要求丢失数据包的重传,它提供了鲁棒视频传输方案,既能满足实时的通信需求又能减轻网络拥塞。同时,由于每个描述都能恢复一个质量可被接受的粗略的重建视频信号,更多描述结合起来重建视频质量更高,提供了一定的可伸缩性。

附图说明

图1是现有技术中多描述视频编码的原理框图。

图2是本发明中多描述编码方法的原理框图。

具体实施方式

下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。

多描述编码是一种信源编码方法,它把一个信号源编码成多个比特流(称为描述),任何一个描述都可以提供被用户接收的信号还原质量,更多描述组合在一起可以提供更好的信号还原质量。各个描述独立地进行信道编码和传输。这样,数据包没有丢失或较少丢失时,可以提供最优的信号还原,丢失较多数据包时,由于各描述在传输中的独立性,至少有部分描述能够被正确接收,在接收端仍可得到稍微粗糙的信号还原质量。因此,这样不仅利用了信道编码的纠错能力,利用其鲁棒性弥补了由于实时通信延时所引起的信道纠错能力不足。

现有技术中基于多描述编码屏幕内容视频通信系统的原理框图如图1所示,以两个描述为例,在发送端对视频通过多描述编码器进行多描述编码产生两个独立的描述,每个描述独立地在网络传输,在接收端对接收到的描述进行解码得到重建视频信号,当接收端接收到单个描述时采用边路解码器进行解码重建,同时接收到两个描述时采用中心解码器进行解码重建。

本发明的一种多描述屏幕内容视频编码方法,其包括如下步骤:

步骤一,将屏幕内容视频通过现有的时域采样方法分为奇数帧(F1,F3,F5,...)和偶数帧(F2,F4,F6,...)这样两个子序列,记奇数帧为子序列1,偶数帧为子序列2,其中Fk表示视频序列中的第k帧。

步骤二,对两个子序列分别进行编码,生成相应的两个描述,两个描述各自独立地在网络中传输。

以将子序列1编码生成描述1为例来详细阐述编码过程:具体编码过程如图2所示,在初始状态下,子序列1中仅包含奇数帧F1,F3,F5,...,对子序列1依次采用现有技术中的调色板编码和算术编码进行编码生成相应的描述1。接收端在对描述1的边路解码过程中,先经算术解码、调色板解码恢复出奇数帧,然后根据恢复出的奇数帧采用现有的运动补偿差值方法利用前后相邻帧预测出偶数帧,基于恢复的奇数帧和预测的偶数帧重建出原屏幕内容视频。因此可知,重建后的视频质量(或称为边路解码质量)主要由偶数帧的预测效果决定。

在考虑边路解码质量时,由于算术编码是无损编码的过程,对算术编解码的过程予以省略,仅考虑调色板编码解码和偶数帧预测过程。采集经过调色板编码后的子序列1,对其进行调色板解码,恢复出子序列1中奇数帧基于此恢复出的奇数帧采用运动补偿差值方法对缺失的偶数帧图像进行预测,重建出原屏幕内容视频。重建视频包含了恢复出的奇数帧以及由此奇数帧预测出的偶数帧其中为第k帧的重建帧。由此可计算出此完整重建视频的失真,记为Ds1

对此重建后的失真进行衡量:通常对边路解码质量要求根据屏幕内容应用的具体要求而定,记DTh为重建失真的阈值,若失真较大、不满足边路解码的质量要求,即Ds1>DTh,则说明偶数帧的预测效果不好,需要进行下一步在子序列1中增加描述间的冗余(即在子序列1中包含更多关于子序列2的信息)来提升边路解码质量;若边路解码质量达到事先设定的失真要求,即Ds1≤DTh,则说明对子序列1中的内容依次进行调色板编码和算术编码生成相应的描述1可以满足边路解码质量要求,无需进行冗余调节。

在子序列1中增加冗余的调节过程具体如下:现有技术中对视频进行编码时,将每帧视频划分为N×N的图像块,每个图像块作为编码单元,例如现有技术中以8×8或16×16的图像块作为编码单元。将之前得到的预测偶数帧中的图像块与原始的偶数帧(F2,F4,F6,...)中的图像块进行一一对应比较,按照失真从大到小的顺序对各图像块进行排列,优先在子序列1中添加偶数帧(F2,F4,F6,...)中失真大的图像块。子序列1奇数帧中新添加的偶数帧的部分图像块,是主要调节的冗余信息。

然后再对添加偶数帧部分图像块的子序列1进行边路解码(包括调色板解码和偶数帧预测)和失真衡量的反馈循环,具体过程为:先采集经过调色板编码后的奇数帧和偶数帧部分图像块,对其进行调色板解码,可直接恢复出奇数帧的全部图像块和偶数帧的部分图像块,缺失的偶数帧图像块由运动补偿插值方法得到,重新计算重建视频的失真Ds2。然后对边路解码的失真Ds2进行衡量,观察是否满足Ds2≤DTh这个条件。如果不满足,则继续向子序列1中添加偶数帧中按失真大小排序的图像块,对其继续进行此反馈循环;如果满足条件,则说明此添加偶数帧的部分图像块的子序列1中的内容依次进行调色板编码和算术编码生成最终的描述1可以满足边路解码质量要求,无需再进行冗余调节。

重复对添加冗余信息的子序列1进行调色板编解码、偶数帧预测、失真衡量、冗余调节的反馈过程直至重建视频失真满足边路解码质量的要求。

其中对视频进行调色板编码生成色彩索引图和调色板,在对色彩索引图和调色板进行算术编码生成描述过程参见现有技术中单描述编码。因为屏幕内容视频颜色种类有限,采用调色板编码、算术编码来生成描述,能达到更有效表达数据和进一步压缩数据的目的。

同理,对子序列2进行编码时,首先对子序列2进行调色板编码和算术编码生成相应的描述2,然后根据边路解码质量要求对经调色板编码后的子序列2进行调色板解码、奇数帧预测、失真衡量和冗余调节反馈过程,以逐步选择添加子序列1中的部分图像块,即冗余信息,将子序列2和冗余信息结合依次进行调色板编码和算术编码后生成最终的描述2;

步骤三,在接收端,根据接收到描述1、描述2或同时接收到描述1和描述2的不同情况分别进行解码。

在解码端,如果只成功接收到单个描述,通过边路解码器进行解码。边路解码过程以只收到描述1为例,对描述1依次进行算术解码、调色板解码,可恢复出奇数帧的所有图像块和偶数帧的部分冗余图像块,而丢失的剩余偶数帧图像块可采用现有的运动补偿插值方法得到,这样便可重建出整个视频,提供一个质量可以被接受的粗略的重建视频信号;描述2的边路解码过程与描述1相同,通过边路解码器解码获得质量可被接受的重建屏幕内容视频。

在解码端,如果同时接收到两个描述,通过中心解码器进行解码。中心解码过程如下:对描述1和描述2分别依次进行算术解码、调色板解码,描述1中可恢复出奇数帧的所有图像块和偶数帧的部分图像块,描述2中可恢复出偶数帧的所有图像块和奇数帧的部分图像块,将描述1中含有的偶数帧的部分图像块和描述2中含有的奇数帧的部分图像块丢弃,将奇数帧和偶数帧的所有图像块组合成完整的屏幕内容视频,得到一个质量更佳的重建视频。

本发明方法在对单个子序列进行编码前,先选择性得加入另一个子序列的部分图像块,将单个子序列和冗余信息结合依次进行调色板编码、算术编码生成相应的描述。与现有只生成一个码流的屏幕内容视频编码方案相比,采用针对调色板的多描述屏幕内容视频编码方案在不可靠网络中能取得更好的重建视频质量。由于每个描述都能独立得解码恢复出视频信号,在一个描述的数据包发生丢失时不需要对丢失数据包进行重传,可利用另外一个描述进行解码,这样既能满足实时的通信需求,与重传数据包的方案相比又能减轻网络拥塞。同时,边路解码和中心解码两种情况能提供不同质量的视频信号,给网络资源不同、需求不同的用户提供了一定的可伸缩性功能。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变型,这些改进和变型也应视为本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1