CN101287122A - 一种具有主动式缓存管理和复杂度控制功能的视频解码方法 - Google Patents
一种具有主动式缓存管理和复杂度控制功能的视频解码方法 Download PDFInfo
- Publication number
- CN101287122A CN101287122A CN 200810112628 CN200810112628A CN101287122A CN 101287122 A CN101287122 A CN 101287122A CN 200810112628 CN200810112628 CN 200810112628 CN 200810112628 A CN200810112628 A CN 200810112628A CN 101287122 A CN101287122 A CN 101287122A
- Authority
- CN
- China
- Prior art keywords
- decoding
- frame
- video
- decoding end
- state
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 34
- 230000006870 function Effects 0.000 claims abstract description 7
- 238000004364 calculation method Methods 0.000 claims description 21
- 230000001186 cumulative effect Effects 0.000 claims description 7
- 230000000295 complement effect Effects 0.000 claims description 5
- 238000001514 detection method Methods 0.000 claims description 5
- 230000005540 biological transmission Effects 0.000 claims description 4
- 238000004891 communication Methods 0.000 abstract description 3
- 230000000694 effects Effects 0.000 abstract description 2
- 230000002457 bidirectional effect Effects 0.000 abstract 1
- 238000005516 engineering process Methods 0.000 description 5
- 238000013139 quantization Methods 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 2
- 230000008034 disappearance Effects 0.000 description 2
- 206010011469 Crying Diseases 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000012958 reprocessing Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明涉及一种具有主动式缓存管理和复杂度控制功能的视频解码方法,属于多媒体通信技术领域;本方法包括:解码端周期性地检测接收帧率frecv、最大解码能力Cmax、当前预计的所需解码能力C和解码缓存占用量Bf参数,判断解码端所处状态,并对不同状态分别采用正常解码模式、缓冲-触发模式、选择性帧丢弃补偿模式、综合缓存管理和复杂度控制模式之一种模式进行自适应地解码视频流,从而获得连续的、较高质量的视频播放效果;本发明简单实用,对定义了I帧(帧内帧)、P帧(单向预测帧)和B帧(双向预测帧)概念的视频编码标准均有效,而且解码端无需编码端的配合就可以实现解码缓存管理和复杂度控制。
Description
技术领域
本发明属于多媒体通信技术领域,特别涉及一种具有主动式缓存管理和复杂度控制功能的视频解码方法。
背景技术
随着移动通信技术的不断升级,蕴含着巨大商机的无线多媒体业务,如手机电视、视频点播等,越来越受到人们的青睐,而其技术基础就是MPEG-4、H.264等国际视频编码标准。这些标准均定义了I帧(Intra frame,帧内帧)、P帧(Predicted frame,单向预测帧)和B帧(Bi-predicted frame,双向预测帧)这三种帧类型。通常,在一个图片组(Group ofPicture,GOP)中不同类型帧的重要性、同类型但是不同位置的视频帧的重要性具有差异,即是说
(a)I帧最重要,它是一个GOP中所有帧解码的基础。如果I帧没有被正确解码,则P帧和B帧都不能被正确解码,将导致整个GOP都失真。
(b)P帧次重要。当前P帧之后的所有P帧和B帧均与之有依存关系,所以一个P帧在GOP中的位置越是靠前,其重要性越大。
(c)B帧重要性相对最小。它依赖于相邻的P帧或I帧,若不能被正确解码,其影响也仅局限于本帧,并无差错传递。
另一方面,解码I帧、P帧和B帧所需计算复杂度依次递增,恰好与I帧、P帧和B帧重要性依次递减相对应。
在视频通信中,还存在一种叫差错隐藏的技术来尽可能减少视频数据缺失对视频质量重建的影响。它属于视频后处理的范畴,即通过视频内容在时域和空域上的相关性,尽可能地估计出当前缺失的宏块数据,并直接将估计数据作为当前宏块的近似数据。差错隐藏的计算复杂度相对很小,几乎可以忽略。
目前,大多数无线流媒体服务系统基本上还不能支持可伸缩性编码,输出的码流是固定分辨率和帧率的。但是,用于解码的移动终端却始终不可避免地存在多样性。一些低端手持设备可能由于解码能力有限而不能及时解码到达的视频帧,导致数据在解码缓存中过多累积而溢出,不能接收新的视频帧,同时某些帧也会由于解码延时过大而失去时效性。申请号为01803526.4的专利申请案公开了一种针对国际视频编码标准MPEG-2的比例缩放解码器中复杂度的动态适配方法。该方法通过迭代选择不同调节解码复杂度阈值,直到其收敛,然后采用前一GOP的比例缩放复杂度作为当前GOP解码器所需复杂度。
发明内容
本发明的目的是为克服已有技术的不足之处,提出一种具有主动式缓存管理和复杂度控制功能的视频解码方法;本方法简单适用,不需要反馈信道和编码端的配合,解码端仅通过检测接收到的固定码流,实现解码复杂度的控制;且适用面广,可使移动设备能根据解码缓存占用量和解码能力,在四种解码模式间进行自适应的切换,从而获得连续的视频解码播放。
本发明提出了一种具有主动式缓存管理和复杂度控制功能的视频解码方法。其特征在于,解码端通过检测接收帧率frecv、最大解码能力Cmax、当前预计的所需解码能力C和解码缓存占用量Bf参数,判断解码端所处状态,并对不同状态分别采用正常解码模式、缓冲-触发模式、选择性帧丢弃补偿模式、综合缓存管理和复杂度控制模式之一种模式进行自适应地解码视频流,具体包括以下步骤:
1)检测解码端所处的状态,分别为:
11)如果(frecv=fexpect)∩(C≤Cmax),则判定解码端处于状态一,其中,fexpect为解码端和编码端事先约定的期望发送帧率,符号∩表示其两边的条件需同时满足;
12)如果(frecv<fexpect)∩(C≤Cmax),则判定解码端处于状态二;
13)如果(frecv=fexpect)∩(C>Cmax),则判定解码端处于状态三;
14)如果(frecv<fexpect)∩(C>Cmax),则判定解码端处于状态四;
2)如果解码端处于状态一,采用正常解码模式解码视频流;
3)如果解码端处于状态二,采用缓冲-触发模式解码视频流,具体包括以下步骤:
31)暂停解码,使接收到的视频帧在缓存中累积;
32)如果检测到解码缓存大于期望的累积容量,则触发正常解码模式解码视频流;
33)如果检测到解码缓存小于期望的积累容量,跳转到步骤31);
4)如果解码端处于状态三,采用选择性帧丢弃补偿模式解码视频流;
5)如果解码端处于状态四,判断当前缓存占用量Bf所处的取值范围,采用综合缓存管理和复杂度控制模式,使视频解码和视频到达速率尽量相匹配;具体包括以下步骤:
51)如果Bth1≤Bf≤Bth2,解码端则采用正常解码模式解码视频流;其中,Bth1和Bth2为解码缓存管理的下溢和上溢的警戒线;
52)如果Bf<Bth1,解码端则采用缓冲-触发模式解码视频流;
53)如果Bf>Bth1,解码端则采用选择性帧丢弃补偿模式解码视频流;
6)当前周期结束,跳转到步骤1)。
本发明的特点:
(a)本发明核心思想在于,若全力解码都不能及时完成解码任务,不如退而求其次,有选择性地放弃一些相对不重要却有较大复杂度的视频帧,故意不解码,仅仅借助计算复杂度极低的差错隐藏技术来近似这些帧,以有效地降低期望的解码帧率。这就是本发明中选择性帧丢弃补偿模式解码视频流的根本之所在。
(b)本发明方法与已公开专利01803526.4不同之处在于,不是在GOP级进行迭代的测试,而是在一个GOP之内,对组成GOP的每一个帧进行计算复杂度的分配,从而实现更精细的解码复杂度控制。
(c)本发明解码方法联合考虑了反映无线信道状况的期望帧率和接收帧率的关系,能使解码端面对到来的不具伸缩性的“硬码流”,自适应地判断解码端所处状态,主动地采取相应措施来管理解码缓存和控制解码复杂度,从而保持较高的视频重构质量。
本发明的优点:
(a)适用面广,对定义了I、P和B帧概念的视频编码标准均有效;
(b)简单适用,不需要反馈信道和编码端的配合,解码端仅通过检测接收到的固定码流,就能实现解码复杂度的控制;
(c)自适应性好,移动设备能根据解码缓存占用量和解码能力,在四种解码模式间进行切换,从而获得较好的视频解码播放效果。
附图说明
图1为不同帧类型间的依赖性有向图。
图2为本发明的视频解码方法的总流程框图。
图3为在状态二下的缓冲-触发模式的流程框图。
图4为在状态三下的选择性帧丢弃补偿模式的流程框图。
图5为在状态四下的综合缓存管理和复杂度控制模式的流程框图。
具体实施方式
本发明提出的一种具有主动式缓存管理和复杂度控制功能的视频解码方法,结合附图及实施例详细说明如下:
本发明的方法为:解码端通过检测接收帧率frecv、最大解码能力Cmax、当前预计的所需解码能力C(取上一个GOP解码复杂度的平均值)和解码缓存占用量Bf参数,判断解码端所处状态,并对不同状态分别采用正常解码模式、缓冲-触发模式、选择性帧丢弃补偿模式、综合缓存管理和复杂度控制模式之一种模式进行自适应地解码视频流,总体流程如图2所示,包括以下步骤:
1)检测解码端所处的状态;其中,本发明涉及的状态共四种,分别为:
11)如果(frecv=fexpect)∩(C≤Cmax),则判定解码端处于状态一,其中,fexpect为解码端和编码端事先约定的期望发送帧率(一般设10~30帧/秒),符号∩表示其两边的条件需同时满足;
12)如果(frecv<fexpect)∩(C≤Cmax),则判定解码端处于状态二;
13)如果(frecv=fexpect)∩(C>Cmax),则判定解码端处于状态三;
14)如果(frecv<fexpect)∩(C>Cmax),则判定解码端处于状态四;
2)如果解码端处于状态一,采用正常解码模式解码视频流(按照视频标准直接解码,无需任何额外的缓存管理和复杂度控制);
3)如果解码端处于状态二,采用缓冲-触发模式解码视频流,具体包括以下步骤:
31)暂停解码,使接收到的视频帧在缓存中累积;
32)如果检测到解码缓存大于期望的累积容量(一般取10~50个视频帧对应的容量),则触发正常解码模式解码视频流;
33)如果检测到解码缓存小于期望的累积容量,则跳转到步骤31);
4)如果解码端处于状态三,采用选择性帧丢弃补偿模式解码视频流;
5)如果解码端处于状态四,判断当前缓存占用量Bf所处的取值范围,采用综合缓存管理和复杂度控制模式,使视频解码和视频到达速率尽量相匹配;具体包括以下步骤:
51)如果Bth1≤Bf≤Bth2,解码端则采用正常解码模式解码视频流;其中,Bth1和Bth2为解码缓存管理的下溢(当解码端的显示缓存需要数据时,解码缓存却无数据可以填充过去)和上溢(需要累积的解码缓存量超过解码缓存最大容量,不能接收新的视频帧数据)的警戒线(通常分别取解码缓存最大容量的1/20和19/20);
52)如果Bf<Bth1,解码端则采用缓冲-触发模式解码视频流;
53)如果Bf>Bth1,解码端则采用选择性帧丢弃补偿模式解码视频流;
6)当前周期结束(例如播放5个图像组(GOP)的时间段),跳转到步骤1)。
上述步骤4)中的选择性帧丢弃补偿模式,包括以下步骤:
设变量Cr为解码端在当前阶段能提供的总计算能力(算法首次运行时初始化为0),变量Cmax为当前阶段检测到的最大解码能力,常量Cc为差错隐藏的计算复杂度(对于同一分辨率的视频格式和同一种具体的差错隐藏方式取相同值);
设本步骤的循环阶段为一个图像组GOP(共L帧),其中I帧(帧内帧)、P帧(单向预测帧)、B帧(双向预测帧)各占的比例分别为γI、γP和γB,相应的解码复杂度变量记为CI、CP和CB;对于视频片段来说,相同量化系数和帧类型下,编码生成的码流解码复杂度大致具有连续性,取上一个GOP中的同类型视频帧的解码复杂度平均值作为当前GOP的I帧、P帧和B帧的解码复杂度,即E[CI]=μI,E[CP]=μP,E[CB]=μB,其中,符号E[·]表示取平均值;
41)检测相关参数和更新可提供的总计算能力Cr
检测在显示缓存中的视频帧数Ld;检测I、P和B帧的解码复杂度CI、CP和CB;检测最大解码能力Cmax;更新解码端在一个GOP时间内可提供的总计算能力:
Cr=Cr+Ld·Cmax
即上一个GOP循环阶段中剩余的可提供的总计算能力Cr与本GOP循环阶段中可新增的预期计算能力之和;
42)根据总计算能力Cr,对I帧做解码复杂度分配和关联视频帧的解码,并更新计算能力余量Cr,具体包括以下步骤:
(421)比较解码I帧所需计算能力μI与可提供的总计算能力Cr;
(422)如果Cr<μI,则直接丢弃I帧和与之相关联的所有P帧和B帧,并采用差错隐藏方法来近似这些丢弃帧;为下个循环阶段保留的计算能力余量为
Cr=Cr-L·Cc
跳转到步骤41);
(423)如果Cr≥μI,则解码当前I帧,并更新计算能力余量:
Cr=Cr-μI;
43)根据计算能力余量Cr,对P帧做解码复杂度分配和关联视频帧的解码,并更新计算能力余量Cr,具体包括以下步骤:
(432)如果LP<γPL,则解码前LP个P帧;直接丢弃剩余的γPL-LP个P帧和全部的B帧,并采用差错隐藏方法来近似这些丢弃帧;为下个循环阶段保留的计算能力余量为
Cr=Cr-LPμP-(γPL-Lp+γBL)·Cc
跳转到步骤41);
(433)如果LP≥γPL,则直接解码所有的P帧;更新计算能力余量:
Cr=Cr-γPL·μP;
44)根据计算能力余量Cr,对B帧做解码复杂度分配和解码,并更新计算能力余量Cr,具体包括如下步骤:
(442)如果LB<γBL,则等间隔地丢弃γBL-LB个B帧,并采用差错隐藏方法来近似这些丢弃帧;解码余下的LB个B帧;更新计算能力余量为
Cr=Cr-LBμB-(γBL-LB)·Cc
跳转到步骤41);
(443)如果LB≥γBL,则解码所有B帧,更新计算能力余量为
Cr=Cr-γBL·μB;
跳转到步骤41)。
实施例
本实施例的条件如下:
(a)视频编解码设置:采用国际视频编码标准H.264参考软件(JM)以及1/4标准化图像格式(QCIF,176x144)的Foreman测试序列;量化参数(QP)固定为24;采用的熵编码方式是CABAC;运动搜索参考帧数为2,运动搜索范围为16象素;GOP编码结构为IBBP...IBBP...,I帧间隔为9。
(b)网络和缓存设置:发送帧率fexpect为10帧/秒;解码缓存最大容量为60000字节;最初在显示缓存中的视频帧数Ld为10帧(一个GOP的长度)。
图1显示了不同帧类型和同类型不同位置帧的依赖性有向图。其中,10个视频帧组成一个GOP,方框内的字母代表视频帧的类型,方框外的数字代表该帧在此GOP内的帧号;实线箭头指向的视频帧依赖于其发源端连接的视频帧,要正确解码当前帧,其依赖帧也必须被提前正确解码。比如,第6(B帧)、7帧(B帧)要能解码,那么第1(I帧)、2(P帧)、5(P帧)帧也必须被提前正确解码。
本实施例的总体流程如图2所示,其中,解码端通过检测接收帧率frecv(≤10帧/秒)、最大解码能力Cmax、当前预计的所需解码能力C(取上一个GOP解码复杂度的平均值)和解码缓存占用量Bf(0≤Bf≤60000字节)参数,判断解码端所处状态,并对不同状态分别采用正常解码模式、缓冲-触发模式、选择性帧丢弃补偿模式、综合缓存管理和复杂度控制模式之一种模式进行自适应地解码视频流,具体包括以下步骤:
1)检测解码端所处的状态;
解码端统计并估计当前所需的解码复杂度C、移动终端软硬件限制下的最大解码能力Cmax、接收到的视频帧率frecv;
11)如果(frecv=10)∩(C≤Cmax),则判定解码端处于状态一,即接收帧率等于期望帧率并且所需解码复杂度小于等于最大解码能力,表征视频流到达速度与期望的解码速度匹配,缓存填充率基本稳定,不存在解码缓存上溢和下溢的风险;
12)如果(frecv<10)∩(C≤Cmax),则判定解码端处于状态二,即接收帧率小于期望帧率并且所需解码复杂度小于等于最大解码能力,表征解码速度快于视频流到达速度,但是到达速度却不够,解码产生的视频帧不足以填补显示缓存,解码缓存可能有下溢的风险;
13)如果(frecv=10)∩(C>Cmax),则判定解码端处于状态三,即接收帧率等于期望帧率并且所需解码复杂度大于等于最大解码能力,表征解码速度慢于视频流到达速度,视频帧不能及时解码,在缓冲区中累积得越来越多,解码缓存可能有上溢的风险;
14)如果(frecv<10)∩(C>Cmax),则判定解码端处于状态四,即接收帧率小于期望帧率并且所需解码复杂度大于等于最大解码能力,表征解码缓存可能有上溢或下溢的风险。
2)如果解码端处于状态一,采用正常解码模式解码视频流(按照视频标准直接解码,无需任何额外的缓存管理和复杂度控制);
3)如果解码端处于状态二,采用缓冲-触发模式解码视频流;
4)如果解码端处于状态三,采用选择性帧丢弃补偿模式解码视频流;
5)如果解码端处于状态四,判断当前缓存占用量Bf所处的取值范围,采用综合缓存管理和复杂度控制模式,使视频解码和视频到达速率尽量相匹配;
6)当前周期结束(播放3个GOP的时间段,即3秒钟),跳转到步骤1)。
上述解码端的步骤3)的工作流程如图3所示,解码端采用缓冲-触发模式解码视频流,具体包括以下步骤:
31)暂停解码,使接收到的视频帧在缓存中累积;
32)如果检测到解码缓存大于期望的累积容量30帧,则触发正常解码模式解码视频流;
33)如果检测到解码缓存小于期望的累积容量30帧,则跳转到步骤31);
上述解码端的步骤4)的工作流程如图4所示,解码端采用选择性帧丢弃补偿模式解码视频流,其包括以下步骤:
设变量Cr为解码端在当前阶段能提供的总计算能力(算法首次运行时初始化为0),变量Cmax为当前阶段检测到的最大解码能力,常量Cc为帧拷贝(众多差错隐藏方法中的一个例子)的计算复杂度;
设本步骤的循环阶段为一个图像组GOP(共10帧),其中I、P、B帧数分别为1、3、6帧,相应的解码复杂度变量记为CI、CP和CB;对于视频片段来说,相同量化系数和帧类型下,编码生成的码流解码复杂度大致具有连续性,取上一个GOP中的同类型视频帧的解码复杂度平均值作为当前GOP的I、P、B帧的解码复杂度,即E[CI]=μI,E[CP]=μP,E[CB]=μB,其中,符号E[·]表示取平均值;
41)检测相关参数和更新可提供的总计算能力Cr
检测在显示缓存中的视频帧数Ld;检测I、P和B帧的解码复杂度CI、CP和CB;检测最大解码能力Cmax;更新解码端在1秒内(在本实施例中等效于一个GOP周期)可提供的总计算能力:
Cr=Cr+Ld·Cmax
即上一秒钟内剩余的可提供的总计算能力Cr与本秒内可新增的预期计算能力之和。
42)根据总计算能力Cr,对I帧做解码复杂度分配和关联视频帧的解码,并更新计算能力余量Cr,具体包括以下步骤:
(421)比较解码I帧所需计算能力μI与可提供的总计算能力Cr;
(422)如果Cr<μI,则直接丢弃I帧和与之相关联的所有P帧和B帧,依次采用帧拷贝差错隐藏方法来近似所有的这些丢弃帧;为本方法的下一秒钟的新循环阶段保留的计算能力余量为
Cr=Cr-10Cc
跳转到步骤41);其中,帧拷贝差错隐藏方法为将丢失帧直接由上一个正确解码帧来替代;如果有多个连续帧丢失,则这些帧都会被之前最后一个接收并正确解码的帧来代替。
(423)如果Cr≥μI,即解码当前I帧,并更新计算能力余量:
Cr=Cr-μI;
43)根据计算能力余量Cr,对P帧做解码复杂度分配和关联视频帧的解码,并更新计算能力余量Cr,其中又包括以下步骤:
(432)如果LP<3,则解码前LP个P帧;直接丢弃剩余的3-LP个P帧和全部的B帧,并采用帧拷贝的差错隐藏方法来近似这些丢弃帧;为算法的下一秒钟的新循环阶段保留的计算能力余量为
Cr=Cr-LPμP-(3-LP+6)·Cc
跳转到步骤41);
(433)如果LP≥3,则直接解码所有的P帧;更新计算能力余量:
Cr=Cr-3μP;
44)根据计算能力余量Cr,对B帧做解码复杂度分配和解码,并更新计算能力余量Cr,具体包括如下步骤:
(442)如果LB<6,则等间隔地丢弃6-LB个B帧(以最大可能的减少差错隐藏在时域上对视频连续性的影响),并采用帧拷贝差错隐藏方法来近似这些丢弃帧;余下的LB个B帧正常解码;更新计算能力余量为
Cr=Cr-LBμB-(6-LB)·Cc
跳转到步骤41);
(443)如果LB≥6,则解码所有B帧,更新计算能力余量为
Cr=Cr-6μB;
跳转到步骤41);
上述解码端的步骤5)的工作流程如图5所示,解码端判断当前缓存占用量Bf所处的取值范围,采用综合缓存管理和复杂度控制模式,使视频解码和视频到达速率尽量相匹配;具体其包括以下步骤:
51)如果解码缓存占用量Bf位于上溢和下溢门限之内,即3000≤Bf≤57000(单位为字节),解码端则采用正常解码模式解码视频流;其中,Bth1和Bth2为解码缓存管理的下溢和上溢的警戒线;
52)如果解码缓存占用量Bf<3000字节,解码端则采用缓冲-触发模式解码视频流;
53)如果解码缓存占用量Bf>57000字节,解码端则采用选择性帧丢弃补偿模式解码视频流。
尽管本发明已参照具体实施方式进行描述和举例说明,但是并不意味着本发明限于这些描述的实施方式。本领域技术人员可采用除帧拷贝差错隐藏方法之外的相对更复杂、但效果更好的基于运动预测的帧重建算法;本领域技术人员也可在本发明思想下对本发明进行更多的修改,但凡依本发明权利要求书范围所做的同等的变化及修饰,均属于专利保护范畴。
Claims (2)
1.一种具有主动式缓存管理和复杂度控制功能的视频解码方法,其特征在于,解码端通过检测接收帧率frecv、最大解码能力Cmax、当前预计的所需解码能力C和解码缓存占用量Bf参数,判断解码端所处状态,并对不同状态分别采用正常解码模式、缓冲-触发模式、选择性帧丢弃补偿模式、综合缓存管理和复杂度控制模式之一种模式进行自适应地解码视频流,具体包括以下步骤:
1)检测解码端所处的状态,分别为:
11)如果(frecv=fexpect)∩(C≤Cmax),则判定解码端处于状态一,其中,fexpect为解码端和编码端事先约定的期望发送帧率,符号∩表示其两边的条件需同时满足;
12)如果(frecv<fexpect)∩(C≤Cmax),则判定解码端处于状态二;
13)如果(frecv=fexpect)∩(C>Cmax),则判定解码端处于状态三;
14)如果(frecv<fexpect)∩(C>Cmax),则判定解码端处于状态四;
2)如果解码端处于状态一,采用正常解码模式解码视频流;
3)如果解码端处于状态二,采用缓冲-触发模式解码视频流,具体包括以下步骤:
31)暂停解码,使接收到的视频帧在缓存中累积;
32)如果检测到解码缓存大于期望的累积容量,则触发正常解码模式解码视频流;
33)如果检测到解码缓存小于期望的累积容量,跳转到步骤31);
4)如果解码端处于状态三,采用选择性帧丢弃补偿模式解码视频流;
5)如果解码端处于状态四,判断当前缓存占用量Bf所处的取值范围,采用综合缓存管理和复杂度控制模式,使视频解码和视频到达速率尽量相匹配;具体包括以下步骤:
51)如果Bth1≤Bf≤Bth2,解码端则采用正常解码模式解码视频流;其中,Bth1和Bth2为解码缓存管理的下溢和上溢的警戒线;
52)如果Bf<Bth1,解码端则采用缓冲-触发模式解码视频流;
53)如果Bf>Bth1,解码端则采用选择性帧丢弃补偿模式解码视频流;
6)当前周期结束,跳转到步骤1)。
2.如权利要求1所述方法,其特征在于,所述步骤4)中解码端采用选择性帧丢弃补偿模式解码视频流,具体包括以下步骤:
设变量Cr为解码端在当前阶段能提供的总计算能力,Cr初始化为0,变量Cmax为当前阶段检测到的最大解码能力,常量Cc为差错隐藏的计算复杂度;
设本步骤的循环阶段为一个图像组GOP,其中,一个GOP共包含L个视频帧,L为正整数,I帧、P帧和B帧各占的比例分别为γI、γP和γB,相应的解码复杂度变量分别为CI、CP和CB;取上一个GOP中的同类型视频帧的解码复杂度平均值作为当前GOP的I帧、P帧和B帧的解码复杂度,即E[CI]=μI,E[CP]=μP,E[CB]=μB,其中,符号E[·]表示取平均值;
41)检测相关参数和更新可提供的总计算能力Cr
检测在显示缓存中的视频帧数Ld;检测I、P和B帧的解码复杂度CI、CP和CB;检测最大解码能力Cmax;更新解码端在一个GOP时间内可提供的总计算能力:
Cr=Cr+Ld·Cmax
即上一个GOP循环阶段中剩余的可提供的总计算能力Cr与本GOP循环阶段中可新增的预期计算能力之和;
42)根据总计算能力Cr,对I帧做解码复杂度分配和关联视频帧的解码,并更新计算能力余量Cr,具体包括以下步骤:
(421)比较解码I帧所需计算能力μI与可提供的总计算能力Cr;
(422)如果Cr<μI,则直接丢弃I帧和与之相关联的所有P帧和B帧,并采用差错隐藏方法来近似这些丢弃帧;为下个循环阶段保留的计算能力余量为
Cr=Cr-L·Cc
跳转到步骤41);
(423)如果Cr≥μI,则解码当前I帧,并更新计算能力余量为
Cr=Cr-μI;
43)根据计算能力余量Cr,对P帧做解码复杂度分配和关联视频帧的解码,并更新计算能力余量Cr,具体包括以下步骤:
(432)如果LP<γPL,则解码前LP个P帧;直接丢弃剩余的γPL-LP个P帧和全部的B帧,并采用差错隐藏方法来近似这些丢弃帧;为下个循环阶段保留的计算能力余量为
Cr=Cr-LPμP-(γPL-LP+γBL)·Cc
跳转到步骤41);
(433)如果LP≥γPL,则直接解码所有的P帧;更新计算能力余量为
Cr=Cr-γPL·μP;
44)根据计算能力余量Cr,对B帧做解码复杂度分配和解码,并更新计算能力余量Cr,具体包括如下步骤:
(442)如果LB<γBL,则等间隔地丢弃γBL-LB个B帧,并采用差错隐藏方法来近似这些丢弃帧;解码余下的LB个B帧;更新计算能力余量为
Cr=Cr-LBμB-(γBL-LB)·Cc
跳转到步骤41);
(443)如果LB≥γBL,则解码所有B帧,更新计算能力余量为
Cr=Cr-γBL·μB;
跳转到步骤41)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200810112628 CN100558170C (zh) | 2008-05-23 | 2008-05-23 | 具有主动式缓存管理和复杂度控制功能的视频解码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200810112628 CN100558170C (zh) | 2008-05-23 | 2008-05-23 | 具有主动式缓存管理和复杂度控制功能的视频解码方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101287122A true CN101287122A (zh) | 2008-10-15 |
CN100558170C CN100558170C (zh) | 2009-11-04 |
Family
ID=40059054
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200810112628 Expired - Fee Related CN100558170C (zh) | 2008-05-23 | 2008-05-23 | 具有主动式缓存管理和复杂度控制功能的视频解码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100558170C (zh) |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101557512B (zh) * | 2009-05-19 | 2011-07-20 | 武汉长江通信产业集团股份有限公司 | 视频终端接收视频数据延时的处理方法 |
CN102193499A (zh) * | 2011-06-02 | 2011-09-21 | 中国科学院计算技术研究所 | 针对群体绘制的效率控制方法 |
CN102300084A (zh) * | 2010-06-22 | 2011-12-28 | 联发科技股份有限公司 | 处理输入比特流的方法与信号处理装置 |
CN102368823A (zh) * | 2011-06-28 | 2012-03-07 | 上海盈方微电子有限公司 | 一种基于分级机制的视频丢帧策略 |
CN102523187A (zh) * | 2011-12-20 | 2012-06-27 | 展讯通信(上海)有限公司 | 通信系统的解调方法及装置、解码方法及装置、基带芯片 |
CN102769715A (zh) * | 2012-03-31 | 2012-11-07 | 新奥特(北京)视频技术有限公司 | 一种码流剪辑的方法及系统 |
CN103051899A (zh) * | 2012-12-31 | 2013-04-17 | 青岛中星微电子有限公司 | 一种视频解码的方法及装置 |
CN103188236A (zh) * | 2011-12-30 | 2013-07-03 | 华为技术有限公司 | 媒体传输质量的评估方法和装置 |
CN103618911A (zh) * | 2013-10-12 | 2014-03-05 | 北京视博云科技有限公司 | 一种基于视频属性信息的视频流提供方法及装置 |
CN104053002A (zh) * | 2014-06-05 | 2014-09-17 | 乐视网信息技术(北京)股份有限公司 | 视频解码方法和视频解码装置 |
CN104363411A (zh) * | 2014-10-20 | 2015-02-18 | 福建星网锐捷安防科技有限公司 | 一种视频监控系统中的视频播放方法及装置 |
CN104683762A (zh) * | 2015-01-29 | 2015-06-03 | 中国人民解放军理工大学 | 一种基于缓冲占用比的无人机视频无线自适应传输方法和无线传输系统 |
US9054837B2 (en) | 2012-12-31 | 2015-06-09 | Spreadtrum Communications (Shanghai) Co., Ltd. | Demodulation method and apparatus, decoding method and apparatus and baseband chip in communication system |
US9077416B2 (en) | 2012-12-31 | 2015-07-07 | Spreadtrum Communications (Shanghai) Co., Ltd. | Method and apparatus for demodulating downlink channel in communication system and baseband chip |
CN104883623A (zh) * | 2015-04-30 | 2015-09-02 | 北京小鸟看看科技有限公司 | 一种头戴显示器视频控制方法和电路 |
CN106686386A (zh) * | 2016-12-14 | 2017-05-17 | 北京佳讯飞鸿电气股份有限公司 | 一种多路视频解码方法及装置 |
CN106792148A (zh) * | 2016-12-09 | 2017-05-31 | 广东威创视讯科技股份有限公司 | 一种提高图像流畅度的方法及系统 |
CN110636284A (zh) * | 2019-10-25 | 2019-12-31 | 腾讯科技(深圳)有限公司 | 解码能力检测方法及装置 |
CN112154665A (zh) * | 2019-09-05 | 2020-12-29 | 深圳市大疆创新科技有限公司 | 视频显示方法、接收端、系统及存储介质 |
CN112702601A (zh) * | 2020-12-17 | 2021-04-23 | 北京达佳互联信息技术有限公司 | 确定用于帧间预测的运动矢量的方法和装置 |
CN114339406A (zh) * | 2022-01-27 | 2022-04-12 | 重庆紫光华山智安科技有限公司 | 送解码速度调整方法、系统、设备及介质 |
-
2008
- 2008-05-23 CN CN 200810112628 patent/CN100558170C/zh not_active Expired - Fee Related
Cited By (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101557512B (zh) * | 2009-05-19 | 2011-07-20 | 武汉长江通信产业集团股份有限公司 | 视频终端接收视频数据延时的处理方法 |
CN102300084A (zh) * | 2010-06-22 | 2011-12-28 | 联发科技股份有限公司 | 处理输入比特流的方法与信号处理装置 |
CN102300084B (zh) * | 2010-06-22 | 2014-12-17 | 联发科技股份有限公司 | 处理输入比特流的方法与信号处理装置 |
CN102193499A (zh) * | 2011-06-02 | 2011-09-21 | 中国科学院计算技术研究所 | 针对群体绘制的效率控制方法 |
CN102368823A (zh) * | 2011-06-28 | 2012-03-07 | 上海盈方微电子有限公司 | 一种基于分级机制的视频丢帧策略 |
CN102523187A (zh) * | 2011-12-20 | 2012-06-27 | 展讯通信(上海)有限公司 | 通信系统的解调方法及装置、解码方法及装置、基带芯片 |
CN102523187B (zh) * | 2011-12-20 | 2014-07-09 | 展讯通信(上海)有限公司 | 通信系统的解调方法及装置、解码方法及装置、基带芯片 |
CN103188236A (zh) * | 2011-12-30 | 2013-07-03 | 华为技术有限公司 | 媒体传输质量的评估方法和装置 |
WO2013097783A1 (zh) * | 2011-12-30 | 2013-07-04 | 华为技术有限公司 | 媒体传输质量的评估方法和装置 |
US9774910B2 (en) | 2011-12-30 | 2017-09-26 | Huawei Technologies Co., Ltd. | Method and apparatus for evaluating media delivery quality |
CN103188236B (zh) * | 2011-12-30 | 2015-12-16 | 华为技术有限公司 | 媒体传输质量的评估方法和装置 |
CN102769715A (zh) * | 2012-03-31 | 2012-11-07 | 新奥特(北京)视频技术有限公司 | 一种码流剪辑的方法及系统 |
CN102769715B (zh) * | 2012-03-31 | 2017-12-29 | 新奥特(北京)视频技术有限公司 | 一种码流剪辑的方法及系统 |
CN103051899A (zh) * | 2012-12-31 | 2013-04-17 | 青岛中星微电子有限公司 | 一种视频解码的方法及装置 |
CN103051899B (zh) * | 2012-12-31 | 2015-12-02 | 青岛中星微电子有限公司 | 一种视频解码的方法及装置 |
US9054837B2 (en) | 2012-12-31 | 2015-06-09 | Spreadtrum Communications (Shanghai) Co., Ltd. | Demodulation method and apparatus, decoding method and apparatus and baseband chip in communication system |
US9077416B2 (en) | 2012-12-31 | 2015-07-07 | Spreadtrum Communications (Shanghai) Co., Ltd. | Method and apparatus for demodulating downlink channel in communication system and baseband chip |
CN103618911A (zh) * | 2013-10-12 | 2014-03-05 | 北京视博云科技有限公司 | 一种基于视频属性信息的视频流提供方法及装置 |
CN103618911B (zh) * | 2013-10-12 | 2017-02-01 | 北京视博云科技有限公司 | 一种基于视频属性信息的视频流提供方法及装置 |
CN104053002A (zh) * | 2014-06-05 | 2014-09-17 | 乐视网信息技术(北京)股份有限公司 | 视频解码方法和视频解码装置 |
CN104363411A (zh) * | 2014-10-20 | 2015-02-18 | 福建星网锐捷安防科技有限公司 | 一种视频监控系统中的视频播放方法及装置 |
CN104683762B (zh) * | 2015-01-29 | 2018-07-17 | 中国人民解放军理工大学 | 一种基于缓冲占用比的无人机视频无线自适应传输方法和无线传输系统 |
CN104683762A (zh) * | 2015-01-29 | 2015-06-03 | 中国人民解放军理工大学 | 一种基于缓冲占用比的无人机视频无线自适应传输方法和无线传输系统 |
CN104883623B (zh) * | 2015-04-30 | 2018-12-18 | 北京小鸟看看科技有限公司 | 一种头戴显示器视频控制方法和电路 |
CN104883623A (zh) * | 2015-04-30 | 2015-09-02 | 北京小鸟看看科技有限公司 | 一种头戴显示器视频控制方法和电路 |
CN106792148A (zh) * | 2016-12-09 | 2017-05-31 | 广东威创视讯科技股份有限公司 | 一种提高图像流畅度的方法及系统 |
WO2018103360A1 (zh) * | 2016-12-09 | 2018-06-14 | 威创集团股份有限公司 | 一种提高图像流畅度的方法及系统 |
CN106686386A (zh) * | 2016-12-14 | 2017-05-17 | 北京佳讯飞鸿电气股份有限公司 | 一种多路视频解码方法及装置 |
CN112154665A (zh) * | 2019-09-05 | 2020-12-29 | 深圳市大疆创新科技有限公司 | 视频显示方法、接收端、系统及存储介质 |
WO2021042341A1 (zh) * | 2019-09-05 | 2021-03-11 | 深圳市大疆创新科技有限公司 | 视频显示方法、接收端、系统及存储介质 |
CN110636284A (zh) * | 2019-10-25 | 2019-12-31 | 腾讯科技(深圳)有限公司 | 解码能力检测方法及装置 |
CN110636284B (zh) * | 2019-10-25 | 2021-11-09 | 腾讯科技(深圳)有限公司 | 解码能力检测方法及装置 |
CN112702601A (zh) * | 2020-12-17 | 2021-04-23 | 北京达佳互联信息技术有限公司 | 确定用于帧间预测的运动矢量的方法和装置 |
CN112702601B (zh) * | 2020-12-17 | 2023-03-10 | 北京达佳互联信息技术有限公司 | 确定用于帧间预测的运动矢量的方法和装置 |
CN114339406A (zh) * | 2022-01-27 | 2022-04-12 | 重庆紫光华山智安科技有限公司 | 送解码速度调整方法、系统、设备及介质 |
CN114339406B (zh) * | 2022-01-27 | 2023-01-24 | 重庆紫光华山智安科技有限公司 | 送解码速度调整方法、系统、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN100558170C (zh) | 2009-11-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100558170C (zh) | 具有主动式缓存管理和复杂度控制功能的视频解码方法 | |
CN102714752B (zh) | 视频质量估计技术 | |
US7738561B2 (en) | MPEG-4 streaming system with adaptive error concealment | |
US9071841B2 (en) | Video transcoding with dynamically modifiable spatial resolution | |
CN101232619B (zh) | 嵌入帧内编码块的视频编码方法 | |
CN101939992B (zh) | 经内插或经外推的视频单元的选择性显示 | |
US8194729B2 (en) | Apparatus and method for matching compressed video data under wireless fading environment | |
CN100444637C (zh) | 一种在网络中传输视频流的方法 | |
CN103957389A (zh) | 基于压缩感知的3g视频传输方法及系统 | |
CN102065302B (zh) | 一种基于h.264的可伸缩视频编码方法 | |
KR20070044455A (ko) | 비디오 압축에 대한 인코더 보조-프레임 레이트 업컨버젼(ea-fruc)을 위한 방법 및 장치 | |
KR20090063406A (ko) | 전송 특성을 고려한 실시간 동영상 화질 평가 시스템 및방법 | |
CN102026001B (zh) | 基于运动信息的视频帧重要性评估方法 | |
WO2012079329A1 (zh) | 自适应解码复杂度的编码方法、编码端和编解码系统 | |
CN102946533B (zh) | 视频编码 | |
US20140321556A1 (en) | Reducing amount of data in video encoding | |
CN101094398A (zh) | 一种基于时间分辨率变换的视频转换处理方法 | |
Xiong et al. | Rate control for real-time video network transmission on end-to-end rate-distortion and application-oriented QoS | |
CN101103634B (zh) | 确定编码数据帧序列的损坏指示的方法 | |
Chiou et al. | Content-aware error-resilient transcoding using prioritized intra-refresh for video streaming | |
Chen et al. | Robust video streaming over wireless LANs using multiple description transcoding and prioritized retransmission | |
CN102123282B (zh) | 基于Wyner-Ziv视频编码系统的GOP层编码方法 | |
Lee et al. | Interleaved source coding (ISC) for predictive video coded frames over the Internet. | |
Yang et al. | Adaptive Intra Refresh for Screen Content Video Transmission in Dynamic Network | |
Xiong et al. | An error resilience scheme on an end-to-end distortion analysis for video transmission over Internet |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20091104 |
|
CF01 | Termination of patent right due to non-payment of annual fee |