CN105103554A - 用于保护视频帧序列防止包丢失的方法 - Google Patents
用于保护视频帧序列防止包丢失的方法 Download PDFInfo
- Publication number
- CN105103554A CN105103554A CN201380075072.6A CN201380075072A CN105103554A CN 105103554 A CN105103554 A CN 105103554A CN 201380075072 A CN201380075072 A CN 201380075072A CN 105103554 A CN105103554 A CN 105103554A
- Authority
- CN
- China
- Prior art keywords
- frame
- video
- macro block
- frames
- sequence
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/65—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/48—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using compressed domain processing techniques other than decoding, e.g. modification of transform coefficients, variable length coding [VLC] data or run-length data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/577—Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/65—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
- H04N19/66—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience involving data partitioning, i.e. separation of data into packets or partitions according to importance
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/89—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
- H04N19/895—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder in combination with error concealment
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明涉及一种用于保护视频帧序列防止随机和/或突发包丢失的方法(100),所述方法(100)包括:将所述视频帧序列分割(101)成多个交织视频帧子序列;由差分视频编解码器独立地编码(103)所述多个交织视频帧子序列;为所述多个交织视频帧子序列中的至少一个生成(105)从所述多个交织视频帧子序列中的另一个预测的至少一个B帧;以及将所述至少一个B帧用作(107)用于保护所述视频帧序列的冗余B帧。
Description
背景技术
本发明涉及一种用于保护视频帧序列防止随机和/或突发包丢失的方法,具体而言,涉及一种具有包丢失的IP网络中视频流保护的方法。
在现代世界中,由于基于IP的语音和视频(VVOIP)系统的使用扩展,可以观察到指数式的IP流量增长。在这样的条件下,网络容量不足会导致网络故障,例如,包丢失、时延和网络抖动,这大大降低了实时VVoIP系统中的视频和音频质量,尤其是对于通过IP网络的视频传输。最流行的现代视频编解码器,如H.264AVC、H.264SVC和HEVC使用差分编码算法,因此,即使在传输过程中丢失了单个视频帧,那么所有后续视频帧也不能被解码直至周期性INTRA帧接收。由于这一原因,即使是低网络包丢失也会导致强烈的视频质量下降。因此,针对具有包丢失的IP网络的视频流量保护算法开发是非常重要的问题。稳健的视频流量保护算法允许显著改善具有包丢失的IP网络中的视频质量。
现代的视频流包丢失保护算法应满足以下要求:使帧丢失后正确地解码视频帧之间的时间间隔最小化,允许包丢失后快速解码器状态恢复,使编码效率下降最小化,使帧速率下降最小化,避免在发射器和接收器侧引入额外时延,以及如果丢失帧无法被精确地恢复使恢复错误传播最小化。算法应保护视频流防止随机和突发包丢失,因为现代路由器可以使用不同的算法进行拥塞控制。
丢失包重传(NACK)在RFC4585中描述如下:“用于基于实时传输控制协议(RTCP)反馈的扩展RTP配置文件(RTP/AVPF)”是用于包丢失保护的最常用的方法。根据该方法,接收器检测到包丢失,并向发射器侧发送相应的否定确认。发射器基于该信息向接收器重新发送丢失包。该算法仅对于具有低往返时间和低包丢失概率的网络信道才是高效的。否则,它会引入显著的算法时延,因而显著地降低视频质量。该方法相对于视频编解码器而言是外部的,并且所请求信息的量不依赖于视频内容。相对于集成源和信道编码的方法而言,它降低了编码效率。前向纠错常用于具有大网络时延和抖动的网络中的丢失包恢复,但使用该方法用于视频流保护受到以下因素的限制:由于RTP包的短帧长每个视频帧被分别编码的情况下的低FEC效率,或由于若干视频帧通过一个码字编码的情况下的显著算法时延,以及使用RTP包交织情况下的长算法时延。
使用交织源编码的视频流包丢失保护的外部方法在源编码级增加冗余以用于帧丢失保护。图14示出用于交织源编码的流程图。根据图14,交织源编码引入了两个或更多个被独立编码的交织视频流1601、1602。如果由于包丢失视频流1601无法被解码,那么可以解码其它视频流1602并显示1603。所有的视频流可以在GOP时段后、当周期性INTRA帧到达后恢复。交织源编码是用于视频流包丢失保护的一种有效方法。它可用于随机和突发包丢失保护,但它具有以下缺点。即使一个独立数据流中的单个包丢失,那么该流也无法恢复直至周期性INTRA帧接收。在这种情况下,显示帧速率下降,并且两个正确解码帧之间的时间距离在接收器侧增大。在包丢失后,正确接收器状态只有在周期性INTRA帧接收之后才可以恢复,因此应充分经常地插入INTRA帧,结果,对于恒定比特率而言视频质量将降低。
由S.Wenger、G.Knorr、J.Ott和F.Kossentini在1998年11月的IEEE视频技术电路与系统会报第8卷第867至877页的“H.263+中容错性支持”中描述的视频冗余编码扩展了ISC算法。在该ISC算法中,根据图15,源视频流被分离成两个独立编码的交织视频流1701、1702。对于快速解码器状态恢复,引入了特殊的同步帧1703、1705。这些帧从两个视频流1701、1702预测,如果至少一个独立视频流未受破坏,这些帧就可以被解码。在同步帧后,从该帧预测独立视频流。相对于一般ISC算法,VRC算法允许减少解码器状态恢复时间。然而,VRC算法具有很多缺点。如果INTRA帧被用作同步帧,那么该算法具有与一般ISC算法相同的缺点。如果SP帧被用作同步帧,那么它应需要比INTRA帧更少的比特,但如果使用若干个视频帧流,那么同步帧将需要多得多的比特,因而同步帧编码效率将降低。另外,VRC算法对于同步帧丢失是敏感的。如果该帧丢失,那么所有后序视频帧流都无法被解码。只有前向预测被用于同步帧编码。相对于双向帧预测,它降低了编码效率。在包丢失后,视频解码器状态只有在同步帧接收后才能恢复。因此,相对于其它包丢失保护算法,它减少了解码器状态恢复时间。
发明内容
本发明的目标在于提供一种改进的用于保护视频帧序列防止包丢失的技术。
该目标通过独立权利要求的特征来实现。从从属权利要求、说明书和附图中,另外的实施形式是显而易见的。
本发明是基于以下发现:通过将输入视频帧序列划分成两个或更多个单独编码的交织视频帧子序列,可以提供这样一种改进的技术。每个视频帧链使用具有至参考图片的长帧的特殊恢复P帧以用于帧丢失后解码器状态恢复。来自每个独立视频流的恢复帧受到使用来自某个其它独立视频流的的参考帧的冗余B帧的保护。这种保护允许在至少一个视频帧流未受破坏的情况下恢复所有丢失视频帧流。实施这种技术的算法可以应用于VVoIP系统中的视频流包丢失保护。
为了详细描述本发明,将使用下列术语、缩写和符号:
IP:互联网协议。
VVoIP:基于IP的语音和视频。
H.264:根据ITU-TH.264标准的视频编解码器。
H.264AVC:根据ITU-TH.264高级视频编码标准的视频编解码器。
H.264SVC:根据ITU-TH.264可扩展视频编码标准的视频编解码器。
HEVC:根据ITU-TH.265标准或根据MPEG-H部分2标准的高效视频编码。
SVC200:使用用于包丢失保护的黄金/恢复帧技术的视频帧流配置。
SVC47、SVC37、SVC27:使用根据本发明的下述各方面的包丢失保护的视频帧流配置。
FEC:前向纠错。
RTP:实时传输协议。实时传输协议(RTP)定义了用于通过IP网络传送音频和视频的标准化包格式。RTP被广泛用于涉及流媒体的通信和娱乐系统,如电话、视频应用、电话会议应用和电视服务。RTP与RTP控制协议(RTCP)结合使用。RTP携带媒体流(例如,音频和视频),而RTCP用于监控传输数据统计和服务质量(QoS)并协助多个流的同步。
GOP:图片组。在视频编码中,图片组,或GOP结构,指定帧内和帧间布置的顺序。GOP是编码后视频流内的一组连续图片。每个编码后视频流由连续GOP构成。从包含在其中的图片,生成可见帧。GOP可以包含以下图片类型:I图片或I帧(帧内编码的图片)-参考图片,它代表固定图像并且独立于其它图片类型。每个GOP以该类型的图片开始。P图片或P帧(预测性编码后图片)-包含来自前一I帧或P帧的运动补偿差分信息。B-图片或B帧(双向预测性编码后图片)-包含来自GOP内前一或后一I帧或P帧的差分信息。D图片或D帧(DC直接编码的图片)-用于服务快速发展。
ISC:交织源编码。交织源编码是用于通过单一擦除信道传输的预测性视频编码后帧的容错性编码方法之一。ISC已经显示可以显著改善通过有损信道传输的预测性编码后视频流的整体质量。
VRC:视频冗余编码。视频冗余编码是用于抑制时间误差传播的容错性编码机制之一。该算法是同时发送至少两个P帧线程,其中每个P帧依赖于线程的早先P帧但不依赖于其它线程的任何信息。新编码的图片将以交织方式分配给各个线程。所有线程均从同步帧开始并以另外两个同步帧结束。如果一个线程被损坏,其它线程仍保持完整并可以被解码和显示。
视频帧:在视频压缩领域中,视频帧是使用具有不同优点和缺点的不同算法进行压缩的,这些算法主要围绕数据压缩量。这些用于视频帧的不同算法被称为图片类型或帧类型。在这些不同视频算法中使用的三种主要图片类型是I、P和B。I帧是最少可压缩的但不需要其它视频帧进行解码。P帧可以使用来自先前帧的数据进行解压缩,并且比I帧更可压缩。B帧可以使用先前帧和前向帧用于数据参考以获得最高的数据压缩量。
P帧:P帧(“预测的图片”)仅保存来自前一帧的图像的变化。编码器不需要在P帧中存储不变的背景像素,从而节省了空间。P帧也被称为增量帧。
B帧:B帧(“双向预测性图片”)通过使用当前帧与先前帧和后续帧两者之间的差异来指定其内容而节省了更多空间。
I帧:I帧是“帧内编码的图片”,实际上是完全指定的图片,就像常规的静态图像文件一样。P帧和B帧仅保存图象信息的一部分,所以它们比I帧需要更少的空间来存储,从而提高了视频压缩率。
SP帧:切换P帧。在视频编解码器H.264中,帧可以分段成被称为片的宏块的序列,并且代替使用I帧、B帧和P帧类型的选择,编码器可以在每个单独片上以不同方式选择预测样式。在H.264中可以找到若干种其它类型的帧/片。SP帧/片(切换P)和SI帧或片便于编码流之间的切换。多帧运动估计允许提高视频的质量,同时允许相同的压缩比。定义用于扩展配置文件的SI帧和SP帧将允许提高容错性。当此类帧与智能解码器一起使用时,有可能恢复受损DVD的广播流。
SP帧:交换B帧、冗余B帧、受保护B帧。SB帧允许提高容错性。当此类帧与智能解码器一起使用时,有可能恢复受损DVD的广播流。
INTRA帧:帧内编码被用于视频编码(压缩)中。术语帧内编码是指以下事实:各种无损和有损压缩技术是相对于仅包含在当前帧内的信息执行的,而不是相对于视频序列中的任何其它帧。换言之,不在当前图片或帧之外执行时间处理。取决于所使用的编码器(例如:JPEG、H.264),编码过程差别很大,但最常见的步骤通常包括:分割成宏块、变换(例如:DCT、或小波)、量化和熵编码。帧内编码应用于分割成宏块步骤。
熵编码:在信息理论中,熵编码是独立于介质的特定特性的一种无损数据压缩方案。主要的熵编码类型之一为输入中出现的每个唯一符号创建和分配唯一的无前缀码。这些熵编码器然后通过用相应的可变长度无前缀输出码字来替换每个固定长度的输入符号进行数据压缩。每个码字的长度与概率的负对数近似成比例。因此,最常见的符号使用最短码。
宏块:宏块是基于用于静止图像和视频帧的离散余弦变换的一种图像压缩组件和技术。宏块通常由两个或更多个像素块组成。块的大小取决于编解码器,并且通常是4的倍数。在现代编解码器中,如H.263和H.264,总体宏块大小固定为16×16像素,但它被分解成更小的4、8或16像素乘以4、8或16像素的块或分区。这些较小分区的组合必须结合起来以形成16×16宏块。
DCT:离散余弦变换。离散余弦变换通过以不同频率振荡的余弦函数的和表示有限多个数据点的序列。DCT对于音频有损压缩(例如,MP3)和图像有损压缩(例如,JPEG)中其中可丢弃小的高频分量的应用是重要的。使用余弦而不是正弦函数的是在这些应用中是至关重要的。对于压缩,事实证明,余弦函数高效得多,即,需要较少的函数来对典型信号进行近似。
fps:帧每秒。
Y-PSNR:宏块的Y(亮度)分量的峰值信噪比。
YCbCr:在ITU的ITU-RBT.601-5和ITU-RBT.709-5标准中定义的色彩空间。这些文件将YCbCr定义为用于数字电视系统的色彩空间。YCbCr色彩空间的单独色彩分量是亮度Y、色度Cb和色度Cr。
量化:量化是将大的输入值集合映射至更小集合,例如将值取整为某种精度单位的过程。执行量化的设备被称为量化器。由量化引入的误差被称为量化误差或舍入误差。几乎所有的数字信号处理中都涉及量化,因为以数字形式表示信号的过程通常涉及取整。图像处理中所涉及的量化是通过将值范围压缩至单量子值而实现的一种有损压缩技术。当给定流中的离散符号的数量减少时,流变得更可压缩。典型的视频编解码器通过将图片分解成离散块,例如在MPEG的情况下8×8像素的离散块,进行工作。这些块然后可以经离散余弦变换(DCT)处理以在水平和垂直方向上计算频率分量。所得块(与原始块大小相同)然后预乘以量化标度码并逐元素除以量化矩阵,并且每个所得元素被取整。量化矩阵设计用于除了将尽可能多的分量变换至0,还向可感知频率分量提供比更不可感知分量更高的分辨率(通常较低频率超过高频率),这些分量可以以最大效率进行编码。
根据第一方面,本发明涉及一种用于保护视频帧序列防止随机和/或突发包丢失的方法,所述方法包括:将所述视频帧序列分割成多个交织视频帧子序列;由差分视频编解码器独立地编码所述多个交织视频帧子序列;为所述多个交织视频帧子序列中的至少一个生成从所述多个交织视频帧子序列中的另一个预测的至少一个B帧;以及将所述至少一个B帧用作用于保护所述视频帧序列的冗余B帧。
这种保护允许在至少一个视频帧流未受破坏的情况下恢复所有丢失视频帧流。实施这种技术的算法可以应用于例如VVoIP系统中的视频流包丢失保护。
根据第二方面,本发明涉及一种视频帧编码方法,包括:基于所述交织视频帧子序列中的一个的重构后视频帧与所述交织视频子序列中的另一个的视频帧的预测信号之间的残差信号来编码利用所述第一方面的方法生成的冗余B帧。
在包丢失后,所述视频解码器状态可以恢复而无需等待同步帧接收。因此,相对于其它包丢失保护算法,它增加了解码器状态恢复时间。
在根据所述第二方面的所述视频帧编码方法的第一可能实施形式中,所述方法包括:通过使用量化级网格来量化所述残差信号,其中所述量化级网格对应于用于量化残差信号以编码所述视频帧序列的P帧的量化级网格。
当使用相同的量化级网格时,计算效率得到提高。
在根据所述第二方面的所述第一实施形式的所述视频帧编码方法的第二可能实施形式中,所述方法包括:通过使用相同的第一量化参数来量化所述P帧和所述冗余B帧的所预测的宏块。
当使用相同的所述第一量化参数来量化所述预测的宏块和所述冗余B帧时,计算效率得到提高。
在根据所述第二方面的所述第二实施形式的所述视频帧编码方法的第三可能实施形式中,所述第一量化参数对应于用于量化通过所述第一方面的所述方法保护的所述视频帧序列的宏块的第二量化参数。
当所述第一量化参数对应于第二量化参数时,计算复杂性得到降低,并且所述视频帧编码方法执行得更快。
根据第三方面,本发明涉及一种视频帧解码方法,包括:由差分视频编解码器解码通过根据所述第一方面的所述方法保护的视频帧序列,其中所述视频帧序列的丢失视频帧由冗余B帧替换。
在包丢失后,所述视频解码器状态可以通过用冗余B帧替换丢失视频帧来恢复而无需等待同步帧接收。因此,相对于其它包丢失保护算法,它增加了解码器状态恢复时间。
在根据所述第三方面的所述视频帧解码方法的第一可能实施形式中,所述方法包括:基于所述冗余B帧恢复所述视频帧序列;以及在所述解码后以一个视频帧的时延显示所述恢复的视频帧序列。
在包丢失后,所述视频解码器状态可以通过在解码后等待仅一个视频帧的时延而得到完美恢复。
在根据所述第三方面的所述视频帧解码方法的第二可能实施形式中,所述方法包括:恢复所述解码的状态;以及在所述解码后显示非冗余视频帧而没有算法时延。
在包丢失后,所述视频解码器可以显示解码后视频序列而不引入额外时延。丢失帧只是简单地被丢弃。
在根据所述第三方面或根据所述第三方面的所述第一或所述第二实施形式的所述视频帧解码方法的第三可能实施形式中,所述视频帧序列被通过使用根据所述第二方面的所述第二或所述第三实施形式的所述第一量化参数量化的参考宏块进行解码。
当所述视频帧序列被通过使用利用所述第一量化参数量化的参考宏块进行解码时,可以应用相同的参数,从而提高了解码效率。
根据第四方面,本发明涉及一种视频帧编码方法,包括:根据第三量化参数量化通过根据所述第一方面的所述方法保护的所述视频序列的P帧的宏块;以及根据在所述第三量化参数的基础上计算得到的第四量化参数来量化通过所述第一方面的所述方法保护的所述视频序列的冗余B帧的宏块。
所述视频帧编码方法允许大致恢复丢失帧。这种简化的编码算法可以用于节约比特预算,并提供具有和不具有包丢失的网络中的编码效率之间的灵活折衷。
在根据所述第四方面的所述视频帧编码方法的第一可能实施形式中,所述第四量化参数是所述第三量化参数的移位后版本。
移位操作容易通过使用移位寄存器来实施。计算复杂性因此得到降低。
根据第五方面,本发明涉及一种用于编码通过根据所述第一方面的所述方法保护的视频帧序列的视频编码器,所述视频编码器包括:用于从所述视频帧序列的参考宏块确定运动矢量的运动补偿器;用于确定所述参考宏块的离散余弦变换系数并且用于确定作为所述视频帧序列的P帧和B帧之一的宏块的当前宏块的离散余弦变换系数的离散余弦变换器;以及用于基于所述当前宏块的所述离散余弦变换系数以及所述参考宏块的所述离散余弦变换系数来提供残差信号的残差信号处理器,所述残差信号编码所述视频帧序列。
与常规的视频编码器相比,这种视频编码器提供更高的帧速率、更小的冻结时间以及更高的接收器侧Y-PSNR相对于包丢失概率。
在根据所述第五方面的所述视频编码器的第一可能实施形式中,所述视频编码器包括:用于量化所述参考宏块的所述离散余弦变换系数从而提供所述参考宏块的量化后离散余弦变换系数的量化器;用于逆向量化所述参考宏块的所述量化后离散余弦变换系数从而提供所述参考宏块的量化后/解量化后离散余弦变换系数的解量化器,其中所述残差信号处理器用于从所述当前宏块的所述离散余弦变换系数减除所述参考宏块的所述量化后/解量化后离散余弦变换系数以提供所述残差信号。
这种视频编码器的包丢失保护克服了常规H.264编码/解码算法的帧恢复以及H.264/AVC和H.264/SVC恢复帧(黄金帧)技术在具有包丢失的网络中的缺点。
根据第六方面,本发明涉及一种用于解码残差信号的视频解码器,所述残差信号携带通过根据所述第一方面的所述方法保护的视频帧序列的P帧和B帧之一的宏块,所述视频解码器包括:用于逆向量化所述残差信号从而提供残差信号宏块的解量化器;用于从所述残差信号宏块确定参考宏块的运动补偿器;用于确定所述参考宏块的离散余弦变换系数的离散余弦变换器;以及用于基于所述残差信号宏块和预测信号宏块提供解码后宏块的解码处理器,其中当所述残差信号携带P帧的宏块时,所述预测信号宏块对应于所述参考宏块,并且其中当所述残差信号携带B帧的宏块时,所述预测信号宏块是基于所述参考宏块的所述离散余弦变换系数。
与常规的视频解码器相比,这种视频解码器提供更高的帧速率、更小的冻结时间以及更高的接收器侧Y-PSNR相对于包丢失概率。
在根据所述第六方面的所述视频编码器的第一可能实施形式中,所述视频解码器包括:用于量化所述预测信号宏块从而提供量化后预测信号宏块的量化器;以及用于逆向量化所述量化后预测信号宏块从而提供量化后/解量化后预测信号宏块的解量化器,其中所述解码处理器用于基于所述残差信号宏块和所述量化后/解量化后预测信号宏块的和来提供所述解码后宏块。
相对于常规的H.264、H.264/AVC和H.264/SVC编码/解码算法,这种视频解码器的包丢失保护得到改进。
根据第七方面,本发明涉及一种随机和突发包丢失保护方法,其中输入视频帧序列被划分成两个或更多个交织视频流,这些交织视频流由差分视频编解码器独立地编码,并且其中每个视频帧序列的每个或一些视频帧由从来自另一视频帧子序列的参考帧预测的冗余B帧进行保护。
在所述第七方面的第一实施形式中,在编码器侧重构的受保护视频帧是用于冗余B帧编码的源视频帧。
在所述第七方面的第二实施形式中,交织独立视频流的量超过2。
在所述第七方面的第三实施形式中,仅独立视频流的一部分受冗余B帧保护。
在所述第七方面的第四实施形式中,仅来自视频序列的一部分帧受冗余B帧保护。
根据第八方面,本发明涉及一种冗余B帧解码方法,其中解码后冗余B帧在解码器的参考帧缓冲器中替换丢失的受保护帧。
在所述第八方面的第一实施形式中,交织独立视频流的量超过2。
在所述第八方面的第二实施形式中,仅独立视频流的一部分受冗余B帧保护。
在所述第八方面的第三实施形式中,仅来自视频序列的一部分帧受冗余B帧保护。
根据第九方面,本发明涉及一种受保护的P帧和冗余B帧的解码的方法,其中所有的非冗余视频帧在解码后以一个帧的时延进行显示。如果受保护的视频帧在传输过程中丢失并且之后基于冗余B帧解码得到恢复,这种方法允许显示该受保护视频帧。
在所述第九方面的第一实施形式中,所有的非冗余视频帧在解码后显示而没有算法时延。这种方法允许在视频帧丢失后恢复解码器状态而没有算法时延。
在所述第九方面的第二实施形式中,受保护帧和冗余B帧的量化后残差信号使用相同的量化级网格。这种方法允许基于冗余帧精确地恢复丢失的受保护视频帧。
在所述第九方面的第三实施形式中,用于受保护P帧和冗余B帧的所预测的宏块利用相同的量化参数PRED_QP进行量化。
在所述第九方面的第四实施形式中,量化参数PRED_QP等于P_QP或P_QP移位-6,并且P_QP是由受保护帧比特率控制系统计算得到的受保护视频帧宏块量化参数。
在所述第九方面的第五实施形式中,具有量化参数PRED_QP的量化后预测(参考)宏块被用于受保护帧和冗余B帧的解码。
在所述第九方面的第六实施形式中,交织独立视频流的量超过2。
在所述第九方面的第七实施形式中,仅独立视频流的一部分受冗余B帧保护。
在所述第九方面的第八实施形式中,仅来自视频序列的一部分帧受冗余B帧保护。
根据第十方面,本发明涉及一种简化的受保护P帧和冗余B帧的编码方法,其中受保护P帧宏块在无修改的情况下进行编码,并且冗余B帧宏块利用在受保护P帧宏块量化参数QP的基础上计算得到的量化参数B_QP进行编码。
在所述第十方面的第一实施形式中,所述量化参数B_QP和QP根据下式相关:B_QP=QP+SHIFT和SHIFT>=0。
在所述第十方面的第二实施形式中,针对具有周期性INTRA片的帧禁止冗余B帧生成,这些具有周期性INTRA片的帧在经过很长一段时间后被用于解码器状态恢复。
在所述第十方面的第三实施形式中,交织独立视频流的量超过2。
在所述第十方面的第四实施形式中,仅独立视频流的一部分受冗余B帧保护。
在所述第十方面的第五实施形式中,仅来自视频序列的一部分帧受冗余B帧保护。
本文描述的方法、系统和设备可以实施为数字信号处理器(DSP)、微控制器或任何其它副处理器中的软件或者实施为专用集成电路(ASIC)内的硬件电路。
本发明可以在数字电子电路中,或计算机硬件、固件、软件中,或其组合中实施,例如在常规移动设备的可用硬件中或在专用于处理本文描述的方法的新硬件中实施。
附图说明
本发明的其它实施方式将结合以下附图进行描述,其中:
图1示出根据实施形式的用于保护视频帧序列防止随机和/或突发包丢失的方法的示意图;
图2a示出根据实施形式的视频帧编码方法的示意图;
图2b示出根据实施形式的视频帧解码方法的示意图;
图3示出根据实施形式的视频编码器的流程图;
图4示出根据实施形式的第一解码算法的流程图;
图5示出根据实施形式的第二解码算法的流程图;
图6示出根据实施形式的视频编码器的高级流程图;
图7示出根据实施形式的用于精确丢失帧重构的编码器程序的示意图;
图8示出根据实施形式的用于受保护P帧编码的流程图;
图9示出根据实施形式的用于冗余B帧编码的流程图;
图10示出根据实施形式的用于受保护P帧和冗余B帧的编码器的流程图;
图11示出根据实施形式的用于受保护P帧和冗余B帧的解码器的流程图;
图12示出根据实施形式的用于模拟和比较的视频帧流的示意图;
图13示出图示了根据实施形式的用于保护视频帧序列的方法的接收器侧平均Y-PSNR的性能图。
图14示出描绘了常规的交织源编码算法的流程图;
图15示出描绘了常规的视频冗余编码算法的流程图。
具体实施方式
图1示出根据实施形式的用于保护视频帧序列防止随机和/或突发包丢失的方法100的示意图。方法100包括:将视频帧序列分割101成多个交织视频帧子序列;由差分视频编解码器独立地编码103多个交织视频帧子序列;为多个交织视频帧子序列中的至少一个生成105从多个交织视频帧子序列中的另一个预测的至少一个B帧;以及将该至少一个B帧用作用于保护视频帧序列的冗余B帧。
图2a示出根据实施形式的视频帧编码方法200的示意图。视频帧编码方法200包括:基于交织视频帧子序列中的一个的重构后视频帧与交织视频子序列中的另一个的视频帧的预测信号之间的残差信号来编码201利用上文结合图1描述的方法100生成的冗余B帧。
在实施形式中,视频帧编码方法200包括:通过使用量化级网格对残差信号进行量化,其中量化级网格对应于用于量化残差信号以编码视频帧序列的P帧的量化级网格。在实施形式中,视频帧编码方法200包括:通过使用相同的第一量化参数PRED_QP来量化P帧和冗余B帧的所预测的宏块。在视频帧编码方法200的实施形式中,第一量化参数PRED_QP对应于用于量化通过根据上文结合图1描述的方法100保护的视频帧序列的宏块的第二量化参数P_QP。
在实施形式中,视频帧编码方法200包括:根据第三量化参数QP量化通过根据上文结合图1描述的方法100保护的视频序列的P帧的宏块;以及根据在第三量化参数QP的基础上计算得到的第四量化参数B_QP来量化通过根据上文结合图1描述的方法100保护的视频序列的冗余B帧的宏块。在视频帧编码方法200的实施形式中,第四量化参数B_QP是第三量化参数QP的移位后版本。
图2b示出根据实施形式的视频帧解码方法202的示意图。视频帧解码方法202包括:由差分视频编解码器解码203通过根据上文结合图1描述的方法100保护的视频帧序列,其中视频帧序列的丢失视频帧由冗余B帧替换。
在实施形式中,视频帧解码方法202包括:基于冗余B帧恢复视频帧序列;以及在解码后以一个视频帧的时延显示所恢复的视频帧序列。在可替代实施形式中,视频帧解码方法202包括:恢复解码的状态;以及在解码后显示非冗余视频帧而没有算法时延。在视频帧解码方法202的实施形式中,视频帧序列是通过使用利用根据上文结合图2a描述的第一量化参数PRED_QP量化的参考宏块进行解码的。
图3示出根据实施形式的视频编码器的流程图300,其中仅使用两个独立的视频帧流301、302并且每个帧由冗余B帧进行保护。
输入视频序列P0、P1、……、P4、P5303被划分成两个交织视频帧序列P0、P2、P4301和P1、P3、P5302。然后,两个视频帧序列由差分视频编码器独立地编码。
针对每个输入视频帧,生成冗余B帧。B帧仅用于常规P帧丢失保护。该帧仅当相应的受保护P帧在网络传输过程中丢失时才被解码。否则,不使用并丢弃该帧。如果B帧是针对第一视频帧序列301生成的,那么它从第二视频帧序列302的视频帧进行预测,反之亦然。如果另一视频流序列没有在传输过程中被破坏,那么这种冗余B帧可以用于受破坏视频序列的恢复。当然,冗余B帧可以用于丢失帧恢复,但冗余B帧的主要目的是解码器状态恢复。因此,冗余B帧可以很少插入至视频流中以减少编码后视频流的冗余。
如果在每个视频帧序列中使用具有至参考图片的长链接的恢复帧以用于快速解码器状态恢复,那么冗余B帧可以仅针对恢复帧生成以实现比特预算节约。
将输入视频序列P0、P1、……、P4、P5划分成两个交织视频帧子序列P0、P2、P4301和P1、P3、P5302,独立地编码两个视频帧子序列,生成冗余B帧和使用B帧用于P帧丢失保护可以通过结合图1描述的方法执行。
两种不同的解码算法应用于所描述的编码算法。第一种算法允许基于B帧恢复和显示丢失的受保护P帧,但它在接收器侧引入了一帧的算法时延。第二种算法仅允许在受保护P帧丢失后恢复解码器状态,但不允许所恢复的丢失帧的显示。这种算法不会引入任何算法时延。
图4示出根据实施形式的第一解码算法的流程图400。如上文结合图3所描述的,使用两个独立的视频帧流401、402并且每个帧由冗余B帧进行保护。根据该第一解码算法,所有的常规P帧P0、P1、P2、P3、P4和P5均在帧解码405后以一帧的时延显示。如果某个帧丢失410,那么第一解码算法允许基于所接收的冗余B帧来显示406所恢复的帧。
具有P帧P0、P2、P4和冗余B帧B1'、B3'、B5'的第一视频帧流401以及具有P帧P1、P3、P5和冗余B帧B0'、B2'、B4'的第二视频帧流402被编码为具有元素(P0,B')、(P1,B0')、(P2,B1')、(P3,B2')、(P4,B3')、(P5,B4')的冗余视频帧流403。如果接收视频帧流404中的一个元素,例如(P1,B0'),丢失410,那么丢失元素410通过接收视频帧流404中的另一元素的冗余B帧进行重构,例如通过下一元素(P2,B1')进行重构。因此,解码后视频帧流405包括原始视频帧流的P帧P0、P1、P2、P3、P4和P5,但顺序不同。通过重构显示顺序406,原始视频帧流P0、P1、P2、P3、P4和P5可以正确地显示。第一解码算法是结合图1描述的方法100的一种实施形式。对冗余视频帧流403的编码可以对应于结合图2a描述的编码。对解码后视频帧流405的解码可以对应于结合图2b描述的解码。
图5示出根据实施形式的第二解码算法的流程图500。根据该第二算法,解码后视频帧505在解码后立即显示。在这种情况下,所恢复的帧,例如根据图5的P1无法显示,因为它只有在下一帧,例如根据图5的P3,将被显示时的那一时刻才恢复。因此,第二解码算法优选用于解码器状态恢复。
如上文结合图3所描述的,使用两个独立的视频帧流501、502并且每个帧由冗余B帧进行保护。根据该第二解码算法,所有的常规P帧P0、P1、P2、P3、P4和P5均在帧解码505显示而没有时延。如果帧丢失510,那么不显示相应的P帧。具有P帧P0、P2、P4和冗余B帧B1'、B3'、B5'的第一视频帧流501以及具有P帧P1、P3、P5和冗余B帧B0'、B2'、B4'的第二视频帧流502被编码为具有元素(P0,B')、(P1,B0')、(P2,B1')、(P3,B2')、(P4,B3')、(P5,B4')的冗余视频帧流503。如果接收视频帧流504中的一个元素,例如(P1,B0'),丢失510,那么该丢失元素510被丢弃。解码后视频帧流505包括原始视频帧流的P帧P0、P1、P2、P3、P4和P5,但顺序不同。由于重构显示顺序将需要延迟序列,因此第二算法只是丢弃乱序元素以避免插入时延。原始视频帧流P0、P1、P2、P3、P4和P5在没有丢失元素P1的情况下被显示506。
第二解码算法是结合图1描述的方法100的一种实施形式。对冗余视频帧流503的编码可以对应于结合图2a描述的编码。对解码后视频帧流505的解码可以对应于结合图2b描述的解码。
对于上述视频流,编码和解码算法实施通用差分视频编解码器(H.264,HEVC)的修改版本。以下呈现了用于包丢失视频流保护的两种不同的编码器。第一种编码器允许在接收到另一视频序列而无破坏的情况下精确地恢复受破坏的视频序列。第二种编码器允许在接收到另一视频序列而无破坏的情况下大致恢复受破坏的视频序列。在这两种情况下,均可以使用相对于下文结合图6的描述的常规B帧编码程序修改的冗余B帧编码程序。
图6示出根据实施形式的视频编码器的高级流程图。当对常规B帧进行编码时,残差信号是在输入视频帧与从同一视频帧序列的视频帧导出并且包括正在编码的B帧的预测信号之间计算得到的。与常规的B帧编码过程相反,对于冗余B帧,残差信号是在一个视频帧序列的重构后受保护P帧与从某个其它视频帧序列的视频帧导出的预测信号之间计算得到的。如上文结合图4和图5所描述的,针对受保护P帧和冗余B帧应用两种不同的编码程序。第一编码程序允许精确地恢复受破坏的视频帧流。第二种则允许大致恢复受破坏的视频帧流。
根据图6,所接收的P帧P2603被提供给运动估计和补偿单元605,运动估计和补偿单元605相对于所接收到的P帧603以及参考图片缓冲器611中的P帧P1615执行运动估计和补偿以获得残差信号,该残差信号被在残差编码单元607中进行编码从而提供P2比特流609。帧重构单元617提供存储在参考图片缓冲器611中的P帧P2619。P帧P2619用于生成冗余B帧B2'621。冗余B帧B2'621被提供给运动估计和补偿单元623,运动估计和补偿单元623相对于冗余B帧B2'621以及参考图片缓冲器629中的P帧P3631和P1635执行运动估计和补偿,以获得在残差编码单元625中进行编码的残差信号从而提供B2'比特流627。
Fig.图7示出根据实施形式的用于精确丢失帧重构的编码器程序的示意图。在该图中,P1、SP3、P5是来自第一独立的交织视频序列701的编码后输入视频帧。P0、P2、P4、P6是来自第二独立的交织视频序列702的编码后输入视频帧。SB是保护第一视频帧序列701的三个帧的编码后冗余B帧703。帧P1、P5、P0、P2、P4、P6被编码为常规P帧。从第一视频序列701选择参考帧用于所有的奇数输入帧,而所有偶数输入帧使用来自第二视频序列702的参考帧。以下结合图8和图9描述了用于受保护帧SP3和冗余B帧SB的编码程序。
图8示出根据实施形式的用于受保护P帧编码的流程图。描绘了用于保护上文结合图7描述的第一输入视频帧序列的三个帧的编码程序。针对受保护P帧(SP3)803的每个宏块,执行以下操作。首先,执行运动补偿程序,并确定相应的运动矢量831。SP3帧803中的MBi817被表示为受保护P帧803的第i个宏块。编码器速率控制系统选择用于当前宏块的量化参数,为P_QP(i)。针对受保护P帧807的宏块817执行DCT变换837,并针对参考帧805的宏块815执行DCT变换835。用于参考帧809的宏块819的量化参数被设定为PRED_QP(i)=P_QP(i),或设定为P_QP(i)-6,即P_QP(i)移位6位。参考宏块819的DCT系数被量化,并且然后通过使用量化参数PRED_QP(i)被解量化从而获得参照帧813的宏块823。受保护P帧811的宏块821的DCT系数与参照帧813的宏块823的量化后/解量化后DCT系数之间的残差信号860例如通过减除操作829进行计算从而获得量化后/解量化后宏块825,量化后/解量化后宏块825利用量化参数P_QP(i)进行量化827。量化825后的量化后残差信号由熵编码器839进行编码。
图9示出根据实施形式的用于冗余B帧编码的流程图。冗余B帧(SB)949用于保护第一视频帧序列的三个输入视频帧。根据该程序,针对冗余B帧901的每个第i个宏块925执行以下程序。首先,执行运动补偿程序,并从从参考帧P2947和P4951确定相应的运动矢量943、945。用于冗余B帧901的宏块925的DCT系数是通过应用DCT变换939确定的。用于P2帧903的宏块927的DCT系数是通过应用DCT变换937确定的。用于P4帧905的宏块929的DCT系数是通过应用DCT变换941确定的。对参考宏块931、935的DCT系数进行平均915,以产生用于冗余B帧宏块的预测信号960。预测信号960的DCT系数被利用在编码来自受保护P帧的对应宏块期间确定的量化参数PRED_QP(i)进行量化/解量化913。冗余B帧909与量化后/解量化后预测信号962的DCT系数之间的残差信号964利用量化参数PRED_QP(i)来确定和量化919。量化后残差信号966由熵编码器923进行编码。
图10示出根据实施形式的用于受保护P帧和冗余B帧的编码器1000的流程图。在实施形式中,编码器1000实施对应于上文结合图8和/或图9描述的编码程序的编码。P帧P1、P5、P0、P2、P4和P6被根据上文结合图7的描述解码为常规P帧。因此,受保护P帧(SP3)和冗余B(SB)帧被相对于现代差分视频编解码器中所使用的常规程序进行修改。
视频编码器1000包括用于从视频帧序列的参考宏块确定运动矢量的运动补偿器1011。参考宏块被存储在参考帧缓冲器1013中。视频编码器1000包括两个离散余弦变换器1009、1001,离散余弦变换器1009、1001用于确定参考宏块的离散余弦变换系数并且用于确定作为视频帧序列的P帧和B帧之一的宏块的当前宏块的离散余弦变换系数。视频编码器1000包括残差信号处理器1017,残差信号处理器1017用于基于当前宏块的离散余弦变换系数以及参考宏块的离散余弦变换系数来提供残差信号。残差信号1060编码视频帧序列。
视频编码器1000包括第一量化器1007,第一量化器1007用于量化参考宏块的离散余弦变换系数从而提供参考宏块的量化后离散余弦变换系数。视频编码器1000包括第一解量化器1005,第一解量化器1005用于逆向量化参考宏块的量化后离散余弦变换系数从而提供参考宏块的量化后/解量化后离散余弦变换系数1058。第一量化器1007和第一解量化器1005通过应用量化参数PRED_QP来量化相应的宏块。残差信号处理器1017用于从当前宏块的离散余弦变换系数减除参考宏块的量化后/解量化后离散余弦变换系数来提供残差信号1060。
视频编码器1000包括第二量化器1003和第二解量化器1021。第二量化器1003用于量化残差信号1060从而向熵编码器1032提供量化后残差信号1062。第二解量化器1021用于逆量化量化后残留信号1062从而提供量化后/解量化后残差信号1064。第二量化器1003和第二解量化器1021通过应用量化参数P_QP来量化相应的宏块。加法器1019用于将参考宏块的量化后/解量化后离散余弦变换系数1058与量化后/解量化后残差信号1064相加从而向第二逆DCT单元1015提供和信号,第二逆DCT单元1015的输出端耦合至参考帧缓冲器1013。
图11示出根据实施形式的用于受保护P帧和冗余B帧的解码器1100的流程图。视频解码器1100正在解码携带受保护视频帧序列的P帧和B帧之一的宏块的残差信号1160,该受保护视频帧序列例如通过结合图1所描述的方法100进行保护。视频解码器1100包括解量化器1101,解量化器1101用于逆向量化残差信号1060从而提供残差信号宏块1062。视频解码器1100包括用于从残差信号宏块确定参考宏块的运动补偿器。视频解码器1100包括离散余弦变换器1111,离散余弦变换器1111用于确定参考宏块的离散余弦变换系数。视频解码器1100包括解码处理器1105,解码处理器1105用于基于残差信号宏块1162和预测信号宏块1164来提供解码后宏块。当残差信号携带P帧的宏块时,预测信号宏块1064对应于参考宏块。当残差信号携带B帧的宏块时,预测信号宏块1064是基于参考宏块的离散余弦变换系数。视频解码器1100还包括量化器1109,量化器1109用于量化预测信号宏块1164从而提供量化后预测信号宏块1166。视频解码器1100还包括解量化器1107,解量化器1107用于逆向量化量化后预测信号宏块1166从而提供量化后/解量化后预测信号宏块1168。解码处理器1105用于基于残差信号宏块1162和量化后/解量化后预测信号宏块1168的和来提供解码后宏块。解码后宏块被提供给逆DCT变换1103以获得解码后帧1132的DCT系数,解码后帧1132还被提供给缓冲参考宏块的参考帧缓冲器1113。
根据由视频解码器1100应用的解码程序,针对受保护P帧或冗余B帧的第i个宏块,执行以下程序。量化后残差信号利用用于受保护P帧的量化参数P_QP(i)并利用用于冗余B帧的量化参数PRED_QP(i)进行解量化。执行运动补偿程序,并确定用于受保护P帧的对应参考宏块或用于冗余B帧的参考宏块。计算出用于一个或多个参考宏块的DCT系数。如果要解码冗余B帧,那么对参考宏块的DCT系数进行平均以产生用于冗余B帧宏块的预测信号。如果要解码受保护P帧,那么预测信号宏块等于参考图片宏块。预测信号宏块利用量化参数PRED_QP(i)进行量化/解量化。正被解码的宏块的DCT系数被确定为预测信号宏块与残差信号宏块的和。执行逆DCT变换以获得解码后宏块的DCT系数。解码后宏块被传递给标准差分视频编解码器以进行任何额外处理,例如解块、存储在参考缓冲器中等。
在实施形式中,解码器1100用于实施允许大致恢复丢失帧的简化的编码和解码程序。该简化的编码算法用于比特预算节约,并提供具有和不具有包丢失的网络中编码效率之间的灵活折衷。根据该简化算法,受保护P帧被编码为常规差分视频编解码器中的常规P帧而不进行修改。冗余B帧编码器则被修改。在帧预测期间,编码器不使用原始输入帧,而是使用在P帧编码器内部产生的其重构(通过量化进行扭曲等)后版本,以获得参照帧用于进一步帧间预测。P帧量化参数QP通过编码器比特率控制算法来选择。冗余B帧量化参数在用于相应宏块的P帧量化参数QP的基础上进行选择。在实施形式中,冗余B帧量化参数被设定为QP+移位,其中,移位是实现不具有包丢失的网络中的编码效率与具有包丢失的网络中的误差传播之间的灵活折衷的移位值。用于P帧和B帧的标准解码程序在接收器侧针对受保护P帧和冗余B帧使用。冗余B帧解码程序仅在相应的受保护P帧丢失时才执行。在这种情况下,恢复后P帧被放置在参考帧缓冲器中,而不是放置在H.264规范所定义的“不存在”占位符P帧中。上述解码算法允许在独立的交织视频序列中的至少一个在传输后未受破坏的情况下完全恢复解码器状态。在实施形式中,当所有独立的交织视频序列均被破坏时,使用周期性INTRA片用于解码器状态恢复。在实施形式中,在周期性INTRA片传输过程中禁止冗余B帧生成以提高编码效率。
如上文结合图3、图4和图5所描述的,解码器和编码器正在处理两个独立的交织视频流。然而,可以扩展编码和解码程序用于三个、四个和更多个独立视频流。特别是在这种情况下,该算法对于防止突发包丢失而言非常稳健。上文结合图10描述的编码器保护所有独立视频流中的所有P帧。在实施形式中,冗余B帧被持续长时段插入。在实施形式中,冗余B帧被用于保护仅P帧的一小部分。这两种实施形式均可提高编码效率,例如,当恢复帧用于包丢失稳健性并且冗余B帧仅被用于恢复帧保护时。在实施形式中,罕见冗余B帧插入被用作用于解码器状态恢复的INTRA帧传输的可替代方案。用于冗余B帧编码的比特预算小于INTRA帧编码。
图12示出根据实施形式的用于模拟和比较的视频帧流的示意图。为了评价上述视频编码器和视频解码器的性能,图12中呈现了针对具有随机包丢失的网络信道执行的模拟的模拟结果。图12示出选择用于模拟和比较的视频帧流配置的帧间预测参考结构。
图12a)中描绘的SVC200是一种视频帧流配置,其使用所谓的黄金/恢复帧技术用于包丢失保护。这种技术例如在H.264/SVC标准中使用。在图12中,处理三个P帧的四个块1201、1202、1203、1204。图12b)中描绘的SVC47以及未描绘的SVC37和SVC27是使用如上文结合图1至图11描述的用于保护P帧的块1211、1212、1213和1214的包丢失保护算法的视频帧流配置。使用了上文结合图11描述的简化的冗余B帧编码算法。量化参数移位被选择为15。在所有的视频帧流配置中,周期性INTRA片均被用于完全解码器状态恢复。
图13示出图示了根据实施形式的用于保护视频帧序列的方法的接收器侧平均Y-PSNR的性能图1500。图1500示出当通过具有和不具有包丢失的包网络传输视频时接收器侧以dB为单位的平均Y-PSNR与包丢失概率的关系。如果视频帧已在接收器侧丢失,那么Y-PSNR是在源视频帧与最后一个正确解码的视频帧之间计算得到的。第一曲线1501描绘了H.264/AVC配置,第二曲线1502描绘了SVC27配置,第三曲线1503描绘了SVC37配置,第四曲线1504描绘了SVC47配置,第五曲线1505描绘了SVC200配置。所有配置均使用前向纠错(FEC)。
模拟结果表明,如上文结合图1至图12描述的包丢失保护技术克服了常规的H.264编码/解码算法(视频帧流配置IPPPPPPP)以及H.264/AVC和H.264/SVC恢复帧(黄金帧)技术在具有包丢失的网络中的缺点。对于所有所测参数都已观察到改进。对于具有和不具有包丢失的信道两者,结合图1至图12所描述的算法均具有与黄金/恢复帧算法相当的性能。
通过阅读以上内容,所属领域的技术人员将清楚地了解,可提供多种方法、系统、记录媒体上的计算机程序及其类似者等等。
本发明还支持包含计算机可执行代码或计算机可执行指令的计算机程序产品,这些计算机可执行代码或计算机可执行指令在执行时使得至少一台计算机执行本文所述的执行及计算步骤。
通过以上启示,对于本领域技术人员来说,许多替代产品、修改及变体是显而易见的。当然,所属领域的技术人员容易意识到除本文所述的应用之外,还存在本发明的众多其它应用。虽然已参考一个或多个特定实施例描述了本发明,但所属领域的技术人员将认识到在不偏离本发明的范围的前提下,仍可对本发明作出许多改变。因此,应理解,只要是在所附权利要求书及其等效文句的范围内,可以用不同于本文具体描述的方式来实践本发明。
Claims (15)
1.一种用于保护视频帧序列防止随机和/或突发包丢失的方法(100),其特征在于,所述方法(100)包括:
将所述视频帧序列分割(101)成多个交织视频帧子序列;
由差分视频编解码器独立地编码(103)所述多个交织视频帧子序列;
为所述多个交织视频帧子序列中的至少一个生成(105)从所述多个交织视频帧子序列中的另一个预测的至少一个B帧;以及
将所述至少一个B帧用作(107)用于保护所述视频帧序列的冗余B帧。
2.视频帧编码方法(200),其特征在于,包括:
基于所述交织视频帧子序列中的一个的重构后视频帧与所述交织视频子序列中的另一个的视频帧的预测信号之间的残差信号来编码(201)利用权利要求1的所述方法(100)生成的所述冗余B帧。
3.根据权利要求2所述的视频帧编码方法(200),其特征在于,包括:
通过使用量化级网格来量化所述残差信号,其中所述量化级网格对应于用于量化残差信号以编码所述视频帧序列的P帧的量化级网格。
4.根据权利要求3所述的视频帧编码方法(200),其特征在于,包括:
通过使用相同的第一量化参数(PRED_QP)来量化所述P帧和所述冗余B帧的所预测的宏块。
5.根据权利要求4所述的视频帧编码方法(200),其特征在于,所述第一量化参数(PRED_QP)对应于用于量化通过权利要求1的所述方法保护的所述视频帧序列的宏块的第二量化参数(P_QP)。
6.视频帧解码方法(202),其特征在于,包括:
由差分视频编解码器解码(203)通过根据权利要求1的所述方法保护的视频帧序列,其中所述视频帧序列的丢失视频帧由冗余B帧替换。
7.根据权利要求6所述的视频帧解码方法(202),其特征在于,包括:
基于所述冗余B帧恢复所述视频帧序列;以及
在所述解码后以一个视频帧的时延显示所述恢复的视频帧序列。
8.根据权利要求6所述的视频帧解码方法(202),其特征在于,包括:
恢复所述解码的状态;以及
在所述解码后显示非冗余视频帧而没有算法时延。
9.根据权利要求6至8之一所述的视频帧解码方法(202),其特征在于,所述视频帧序列通过使用根据权利要求4或权利要求5的所述第一量化参数(PRED_QP)量化的参考宏块进行解码。
10.视频帧编码方法,其特征在于,包括:
根据第三量化参数(QP)量化通过根据权利要求1的所述方法(100)保护的所述视频序列的P帧的宏块;以及
根据在所述第三量化参数(QP)的基础上计算得到的第四量化参数(B_QP)来量化通过根据权利要求1的所述方法(100)保护的所述视频序列的冗余B帧的宏块。
11.根据权利要求10所述的视频帧编码方法(202),其特征在于,所述第四量化参数(B_QP)是所述第三量化参数(QP)的移位后版本。
12.用于编码通过根据权利要求1的所述方法(100)保护的视频帧序列的视频编码器(1000),其特征在于,所述视频编码器(1000)包括:
用于从所述视频帧序列的参考宏块确定运动矢量的运动补偿器(1011);
用于确定所述参考宏块的离散余弦变换系数并且用于确定作为所述视频帧序列的P帧和B帧之一的宏块的当前宏块的离散余弦变换系数的离散余弦变换器(1009,1001);以及
用于基于所述当前宏块的所述离散余弦变换系数以及所述参考宏块的所述离散余弦变换系数来提供残差信号的残差信号处理器(1017),所述残差信号编码所述视频帧序列。
13.根据权利要求12所述的视频编码器(1000),其特征在于,包括:
用于量化所述参考宏块的所述离散余弦变换系数从而提供所述参考宏块的量化后离散余弦变换系数的量化器(1007);以及
用于逆向量化所述参考宏块的所述量化后离散余弦变换系数从而提供所述参考宏块的量化后/解量化后离散余弦变换系数的解量化器(1005),其中
所述残差信号处理器(1017)用于从所述当前宏块的所述离散余弦变换系数减除所述参考宏块的所述量化后/解量化后离散余弦变换系数以提供所述残差信号。
14.用于解码残差信号的视频解码器(1100),所述残差信号携带通过根据权利要求1的所述方法保护的视频帧序列的P帧和B帧之一的宏块,其特征在于,所述视频解码器(1100)包括:
用于逆向量化所述残差信号从而提供残差信号宏块的解量化器(1101);
用于从所述残差信号宏块确定参考宏块的运动补偿器;
用于确定所述参考宏块的离散余弦变换系数的离散余弦变换器(1111);以及
用于基于所述残差信号宏块和预测信号宏块来提供解码后宏块的解码处理器(1105),
其中当所述残差信号携带P帧的宏块时,所述预测信号宏块对应于所述参考宏块,并且其中当所述残差信号携带B帧的宏块时,所述预测信号宏块是基于所述参考宏块的所述离散余弦变换系数。
15.根据权利要求14所述的视频解码器(1100),其特征在于,包括:
用于量化所述预测信号宏块从而提供量化后预测信号宏块的量化器(1109);以及
用于逆向量化所述量化后预测信号宏块从而提供量化后/解量化后预测信号宏块的解量化器(1107),其中
所述解码处理器(1105)用于基于所述残差信号宏块和所述量化后/解量化后预测信号宏块的和来提供所述解码后宏块。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/RU2013/000257 WO2014158049A1 (en) | 2013-03-28 | 2013-03-28 | Method for protecting a video frame sequence against packet loss |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105103554A true CN105103554A (zh) | 2015-11-25 |
Family
ID=49517601
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380075072.6A Pending CN105103554A (zh) | 2013-03-28 | 2013-03-28 | 用于保护视频帧序列防止包丢失的方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10425661B2 (zh) |
CN (1) | CN105103554A (zh) |
WO (1) | WO2014158049A1 (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110557639A (zh) * | 2018-05-31 | 2019-12-10 | 北京字节跳动网络技术有限公司 | 交织预测的应用 |
CN110740380A (zh) * | 2019-10-16 | 2020-01-31 | 腾讯科技(深圳)有限公司 | 视频处理方法和装置、存储介质及电子装置 |
WO2020233483A1 (zh) * | 2019-05-22 | 2020-11-26 | 腾讯科技(深圳)有限公司 | 视频编码方法和视频解码方法 |
CN112805990A (zh) * | 2018-11-15 | 2021-05-14 | 深圳市欢太科技有限公司 | 视频处理方法、装置、电子设备及计算机可读存储介质 |
CN113784123A (zh) * | 2021-11-11 | 2021-12-10 | 腾讯科技(深圳)有限公司 | 视频编码方法和装置、存储介质及电子设备 |
CN114640867A (zh) * | 2022-05-20 | 2022-06-17 | 广州万协通信息技术有限公司 | 一种基于视频流认证的视频数据处理方法及装置 |
US11871022B2 (en) | 2018-05-31 | 2024-01-09 | Beijing Bytedance Network Technology Co., Ltd | Concept of interweaved prediction |
US11930182B2 (en) | 2019-01-02 | 2024-03-12 | Beijing Bytedance Network Technology Co., Ltd | Motion vector derivation between dividing patterns |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3491784B1 (en) * | 2016-08-01 | 2020-05-13 | Telefonaktiebolaget LM Ericsson (PUBL) | Estimation of losses in a video stream |
CN106254869A (zh) * | 2016-08-25 | 2016-12-21 | 腾讯科技(深圳)有限公司 | 一种视频数据的编解码方法、装置和系统 |
US20180343098A1 (en) * | 2017-05-24 | 2018-11-29 | Qualcomm Incorporated | Techniques and apparatuses for controlling negative acknowledgement (nack) transmissions for video communications |
US10567703B2 (en) * | 2017-06-05 | 2020-02-18 | Cisco Technology, Inc. | High frame rate video compatible with existing receivers and amenable to video decoder implementation |
CN110198443B (zh) * | 2018-05-10 | 2022-09-13 | 腾讯科技(深圳)有限公司 | 视频帧的编码单元划分方法、装置、存储介质及电子装置 |
US10805663B2 (en) * | 2018-07-13 | 2020-10-13 | Comcast Cable Communications, Llc | Audio video synchronization |
CN109068133B (zh) * | 2018-09-17 | 2022-04-29 | 鲍金龙 | 视频解码方法及装置 |
US20230275841A1 (en) * | 2022-02-28 | 2023-08-31 | Cisco Technology, Inc. | Cross-layer application network flow adaptation |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1126409A (zh) * | 1994-10-31 | 1996-07-10 | 三菱电机株式会社 | 图象编码数据再编码设备 |
CN1325594A (zh) * | 1998-11-02 | 2001-12-05 | 诺基亚移动电话有限公司 | 视频信号中的差错掩蔽 |
CN1672421A (zh) * | 2002-07-31 | 2005-09-21 | 皇家飞利浦电子股份有限公司 | 采用混合预测码执行多描述运动补偿的方法和装置 |
CN1781314A (zh) * | 2003-04-30 | 2006-05-31 | 诺基亚有限公司 | 图像编码方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6104757A (en) * | 1998-05-15 | 2000-08-15 | North Carolina State University | System and method of error control for interactive low-bit rate video transmission |
GB2366464A (en) | 2000-08-14 | 2002-03-06 | Nokia Mobile Phones Ltd | Video coding using intra and inter coding on the same data |
US6765963B2 (en) * | 2001-01-03 | 2004-07-20 | Nokia Corporation | Video decoder architecture and method for using same |
US20030151753A1 (en) * | 2002-02-08 | 2003-08-14 | Shipeng Li | Methods and apparatuses for use in switching between streaming video bitstreams |
US20060093031A1 (en) | 2002-07-31 | 2006-05-04 | Koninkijke Phillips Electronics N.V. | Method and apparatus for performing multiple description motion compensation using hybrid predictive codes |
US8929443B2 (en) | 2009-01-09 | 2015-01-06 | Microsoft Corporation | Recovering from dropped frames in real-time transmission of video over IP networks |
US8451896B2 (en) * | 2009-10-19 | 2013-05-28 | Hong Kong Applied Science and Technology Research Institute Company Limited | Method and apparatus for adaptive quantization in digital video coding |
US9749633B2 (en) * | 2012-01-19 | 2017-08-29 | Vid Scale, Inc. | System and method of video coding quantization and dynamic range control |
US9179196B2 (en) * | 2012-02-22 | 2015-11-03 | Adobe Systems Incorporated | Interleaved video streams |
-
2013
- 2013-03-28 WO PCT/RU2013/000257 patent/WO2014158049A1/en active Application Filing
- 2013-03-28 CN CN201380075072.6A patent/CN105103554A/zh active Pending
-
2015
- 2015-09-25 US US14/866,256 patent/US10425661B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1126409A (zh) * | 1994-10-31 | 1996-07-10 | 三菱电机株式会社 | 图象编码数据再编码设备 |
CN1325594A (zh) * | 1998-11-02 | 2001-12-05 | 诺基亚移动电话有限公司 | 视频信号中的差错掩蔽 |
CN1672421A (zh) * | 2002-07-31 | 2005-09-21 | 皇家飞利浦电子股份有限公司 | 采用混合预测码执行多描述运动补偿的方法和装置 |
CN1781314A (zh) * | 2003-04-30 | 2006-05-31 | 诺基亚有限公司 | 图像编码方法 |
Non-Patent Citations (4)
Title |
---|
A.R. REIBMAN等: ""Multiple Description Coding for Video Using Motion Compensated Prediction",A.R. Reibman等,Image Processing, 1999. ICIP 99. Proceedings. 1999 International Conference on,第3卷,第837-841页,1999年10月", 《IMAGE PROCESSING, 1999. ICIP 99. PROCEEDINGS. 1999 INTERNATIONAL CONFERENCE ON》 * |
J.G. APOSTOLOPOULOS: ""Error resilient video compression through the use of multiple states",J.G. Apostolopoulos,Image Processing, 2000. Proceedings. 2000 International Conference on,第3卷,第352-355页,2000年9月", 《IMAGE PROCESSING, 2000. PROCEEDINGS. 2000 INTERNATIONAL CONFERENCE ON》 * |
YANG WANG等: ""Error resilient video coding using multiple description motion compensation",Yang Wang等,Multimedia Signal Processing, 2001 IEEE Fourth Workshop on,第441-446页,2001年10月", 《MULTIMEDIA SIGNAL PROCESSING, 2001 IEEE FOURTH WORKSHOP ON》 * |
余兆明等: "《移动数字电视技术》", 31 July 2007, 人民邮电出版社 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110557639A (zh) * | 2018-05-31 | 2019-12-10 | 北京字节跳动网络技术有限公司 | 交织预测的应用 |
CN110557639B (zh) * | 2018-05-31 | 2022-09-02 | 北京字节跳动网络技术有限公司 | 交织预测的应用 |
US11871022B2 (en) | 2018-05-31 | 2024-01-09 | Beijing Bytedance Network Technology Co., Ltd | Concept of interweaved prediction |
CN112805990A (zh) * | 2018-11-15 | 2021-05-14 | 深圳市欢太科技有限公司 | 视频处理方法、装置、电子设备及计算机可读存储介质 |
US11930182B2 (en) | 2019-01-02 | 2024-03-12 | Beijing Bytedance Network Technology Co., Ltd | Motion vector derivation between dividing patterns |
WO2020233483A1 (zh) * | 2019-05-22 | 2020-11-26 | 腾讯科技(深圳)有限公司 | 视频编码方法和视频解码方法 |
CN110740380A (zh) * | 2019-10-16 | 2020-01-31 | 腾讯科技(深圳)有限公司 | 视频处理方法和装置、存储介质及电子装置 |
CN113784123A (zh) * | 2021-11-11 | 2021-12-10 | 腾讯科技(深圳)有限公司 | 视频编码方法和装置、存储介质及电子设备 |
CN114640867A (zh) * | 2022-05-20 | 2022-06-17 | 广州万协通信息技术有限公司 | 一种基于视频流认证的视频数据处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2014158049A1 (en) | 2014-10-02 |
US20160021397A1 (en) | 2016-01-21 |
US10425661B2 (en) | 2019-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105103554A (zh) | 用于保护视频帧序列防止包丢失的方法 | |
CN1893666B (zh) | 视频编码和解码方法及设备 | |
JP5280003B2 (ja) | 映像コーデックにおけるスライス層 | |
US6141448A (en) | Low-complexity error-resilient coder using a block-based standard | |
JP3807342B2 (ja) | デジタル信号符号化装置、デジタル信号復号装置、デジタル信号算術符号化方法、およびデジタル信号算術復号方法 | |
EP1677547B1 (en) | Use of frame caching to improve packet loss recovery | |
US8331445B2 (en) | Method, apparatus, and system for enhancing robustness of predictive video codecs using a side-channel based on distributed source coding techniques | |
JP3923898B2 (ja) | 画像符号化方法及び装置 | |
JP4981927B2 (ja) | Svccgs拡張層コーディングに関するcavlc拡張 | |
AU2010285760B2 (en) | Device and method for image processing | |
US20130156105A1 (en) | High quality seamless playback for video decoder clients | |
JP2006507745A (ja) | 可変長コード化されたデータ・ストリーム用のトランスコーダ | |
US9071848B2 (en) | Sub-band video coding architecture for packet based transmission | |
JP4211780B2 (ja) | デジタル信号符号化装置、デジタル信号復号装置、デジタル信号算術符号化方法、およびデジタル信号算術復号方法 | |
US20020136306A1 (en) | Run-length coding of non-coded macroblocks | |
JP4211873B2 (ja) | デジタル信号符号化装置、デジタル信号復号装置、デジタル信号算術符号化方法、およびデジタル信号算術復号方法 | |
Zheng et al. | Error-resilient coding of H. 264 based on periodic macroblock | |
WO2002019709A1 (en) | Dual priority video transmission for mobile applications | |
Duong | New h. 266/vvc based multiple description coding for robust video transmission over error-prone networks | |
KR100961756B1 (ko) | 적응적인 부가 영상 정보를 활용한 오류 강인 부호화 방법 | |
Rhaiem et al. | New robust decoding scheme-aware channel condition for video streaming transmission | |
Wang et al. | S frame design for multiple description video coding | |
WO2001015458A2 (en) | Dual priority video transmission for mobile applications | |
EP1648171A1 (en) | A method of encoding and decoding of data packets using length field | |
Lin et al. | Multiple description video coding based on forward error correction within expanding windows |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20151125 |
|
RJ01 | Rejection of invention patent application after publication |