CN102223544B - 一种h264视频码流检测到错误后处理错误的方法 - Google Patents

一种h264视频码流检测到错误后处理错误的方法 Download PDF

Info

Publication number
CN102223544B
CN102223544B CN 201110147616 CN201110147616A CN102223544B CN 102223544 B CN102223544 B CN 102223544B CN 201110147616 CN201110147616 CN 201110147616 CN 201110147616 A CN201110147616 A CN 201110147616A CN 102223544 B CN102223544 B CN 102223544B
Authority
CN
China
Prior art keywords
frame
error
data
decoded
over
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.)
Active
Application number
CN 201110147616
Other languages
English (en)
Other versions
CN102223544A (zh
Inventor
姜明俊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Rockchip Electronics Co Ltd
Original Assignee
Fuzhou Rockchip Electronics Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fuzhou Rockchip Electronics Co Ltd filed Critical Fuzhou Rockchip Electronics Co Ltd
Priority to CN 201110147616 priority Critical patent/CN102223544B/zh
Publication of CN102223544A publication Critical patent/CN102223544A/zh
Application granted granted Critical
Publication of CN102223544B publication Critical patent/CN102223544B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

一种H264视频码流检测到错误后处理错误的方法,包括如下步骤:解码器检测到错误时首先判断错误是否在帧头出现,是,丢弃不处理,否,再判断当前的帧和之前解码出来的帧是否有场景切换,有场景切换,则判断是否解码出大部分图像,如果是已解码出大部分图像,通过帧内预测恢复剩下的图像数据,如果只解码出小部分图像则丢弃不处理;无场景切换,保留已经解码的数据,并将前一帧中对应当前帧应错误未解码的宏块数据拷贝过来,补全整帧图象后将当前帧放入帧缓存中继续进行解码。本发明能够有效改善由于丢包和数据错误而是解码器出现花屏和跳帧的情况。

Description

一种H264视频码流检测到错误后处理错误的方法
【技术领域】
本发明涉及一种针对出错情况下的H264视频码流的处理错误的方法,该方法应用于嵌入式移动电视设备上对于由于误码和丢包引起的264码流不能正常解码情况下的错误隐藏、纠正及恢复方法。
【背景技术】
H264/AVC解码流程主要模块包括帧内预测、运动补偿,去块滤波、反变换、反量化和熵编码。解码的主要流程是,当压缩视频码流读入解码器缓冲区后,首先需要进行熵编码,得到视频流的一系列重要编码信息和实际压缩帧的数据,然后经过反扫描重新排序,通过反量化、反变换后得到编码帧的预测残差值及运动矢量等,根据得到的码流语义解释进行相应的帧内预测或帧间运动补偿,对于帧间预测还需要进行编码器端完全相同的去块滤波操作,形成重建的参考帧,在完成所有宏块的价码后,就得到相应的解码重建帧,输出解码视频序列。
当视频业务的传输载体为ISDB、DVB、CMMB等无线信道时,由于无线信道有着时变,干扰因素复杂,事先难于预计的特点,所以一般误码率比较高,视频比特流也会因为信道的不稳定而产生误码和丢包的现象。丢包现象对于手持电视的低比特率的应用尤其如此,因为264码流中P帧的大小足以放到一个传送包中,一旦产生丢包就有可能造成后续视频序列缺少参考而不能进行正常的解码。由于264编码器采用了空间的帧内预测和时间上的帧间预测以及熵编码等技术,经过高压缩后的视频码流对传输所产生的误码非常敏感,一旦产生误码,不仅影响该误码数据的恢复,还会影响与之相关的其他数据的恢复,造成误码扩散。
目前主要的在编码端的错误控制的方法有分片(将一帧数据分成几个互相之间数据没有相关性的片进行编码的方法),数据分割,分级编码,FMO(Flexible MacroBlock Ordering),ASO(Arbitrary Slice Order)。但这些都会增加编解码器的负担,因此大部分在H264实际出现编码器中并没有被使用,而分片虽然有使用,但在DVB、CMMB、ISDB中没有经常被使用,因此就需要靠解码器端来进行错误的隐藏和恢复工作。
在中国发明专利CN200610170066中有提到一些对Mainprofile以及HighProfile中的一些错误纠正的方法,在美国专利US200505254584中介绍了如何产生运动向量(Motion Vector)进行帧间(Inter picture)恢复以及如何进行帧内图象(Intra picture)内插没有正确解码的区域,它适用于H264以及以前的Mpeg系列。美国专利US20060045190中介绍了一种在264解码过程中如何选取Intra Prediction进行预测没有正确加码的区域的方法。但是以上专利论文介绍的错误纠正和隐藏的方法对H264 Baseline以及手持嵌入式设备来说不是很适合,也不是很完善。
【发明内容】
本发明所要解决的技术问题在于提供一种手持嵌入式设备上的H264视频码流检测到错误后处理错误的方法。
本发明采用以下技术方案解决上述技术问题:
一种H264视频码流检测到错误后处理错误的方法,包括如下步骤:
步骤10:解码器检测到错误;
步骤20:判断错误是否在帧头出现?是,转入步骤70,否,转入步骤30;
步骤30:判断当前的帧和之前解码出来的帧是否有场景切换?是,转入步骤40,否,转入步骤60;
步骤40:判断是否解码出大部分图像?是,转入步骤50,否,转入步骤70;
步骤50:通过帧内预测恢复剩下的图像数据,然后将当前帧放入帧缓存中进行后续的处理;
步骤60:保留已经解码的数据,并将前一帧中对应当前帧应错误未解码的宏块数据拷贝过来,补全整帧图象后将当前帧放入帧缓存中继续进行解码;
步骤70:当前出错的帧不再进行错误恢复并且丢弃,从码流去寻找下一个IDR帧。
所述步骤30中判断当前的帧和之前解码出来的帧是否有场景切换具体包括如下步骤:
根据错误发生前正确解码出的YUV数据中零散的取出若干个宏块的数据和前一个解码帧相应位置的数据进行比较,并计算他们的误差,如果误差大于一个阀值就说明两帧的差别比较大,那么就可以判断上一个解码出来的帧和当前解码帧有着场景切换,如果小于一个阀值的话,那么就把当前帧和前一帧看做同一场景中,判断为两帧之间无场景切换。
本发明的有益效果在于:无线实时视频信号中出现丢包或错误比特的概率非常高,本发明能够有效改善此环境下由于丢包和数据错误而是解码器出现花屏和跳帧的情况。
【附图说明】
下面参照附图结合实施例对本发明作进一步的描述。
图1是本发明工作流程示意图。
【具体实施方式】
手持设备的特点:芯片上解码器资源少,运算能力弱——因此主要只实现H264 Baseline Profile。
DVB、CMMB、ISDB等标准定义的H264 Baseline码流有以下特点:码率低(有的帧可以包含在一个网络包中)、P帧小I帧大(一般相差5-10倍)、由于设备上芯片的资源过少导致解码器不如PC上的稳定,对错误敏感。
这些情况造成解码器所收到的264码流特点为i帧由很多个包组成,易出现误码和丢包,p帧基本可以包含在一个包内,易出现丢包。由于资源较少,解码器对错误比较敏感、一般1-2秒中有且只有一个IDR(i帧并且为同步帧)帧、Baseline Profile只存在I帧和P帧,在每帧有且仅有一个参考帧(就是在帧管理Buffer中前面的那帧)、一般每帧都只有1个slice,因此Slice可以当成帧来看待、由于I帧比P帧大很多,所以误码一般都出现在I帧。
具体处理错误的方法如图1所示,包括如下步骤:
一种H264视频码流检测到错误后处理错误的方法,包括如下步骤:
步骤10:解码器检测到错误;
步骤20:判断错误是否在帧头出现?是,转入步骤70,否,转入步骤30;
步骤30:判断当前的帧和之前解码出来的帧是否有场景切换?是,转入步骤40,否,转入步骤60;
其中判断当前的帧和之前解码出来的帧是否有场景切换具体包括:
根据错误发生前正确解码出的YUV数据中零散的取出若干个宏块的数据和前一个解码帧相应位置的数据进行比较,并计算他们的误差,如果误差大于一个阀值就说明两帧的差别比较大,那么就可以判断上一个解码出来的帧和当前解码帧有着场景切换,如果小于一个阀值的话,那么就把当前帧和前一帧看做同一场景中,判断为两帧之间无场景切换。
步骤40:判断是否解码出大部分图像?是,转入步骤50,否,转入步骤70;
步骤50:通过帧内预测恢复剩下的图像数据,然后将当前帧放入帧缓存中进行后续的处理;
步骤60:保留已经解码的数据,并将前一帧中对应当前帧应错误未解码的宏块数据拷贝过来,补全整帧图象后将当前帧放入帧缓存中继续进行解码;
步骤70:当前出错的帧不再进行错误恢复并且丢弃,从码流去寻找下一个IDR帧。
对于移动电视标准来说,一般的H264帧都只有一个Slice,所以都是帧的前半部分被解码,后半部分由于误码或者丢包而没有被解码,然后根据具体情况判断是否进行错误隐藏。
在没有场景变化的情况下恢复的效果较好,因此首选此情况下的错误恢复。而帧内预测进行错误恢复的方式可以根据具体情况选择是否采用,一方面当出现丢包和误码的时候使用此方法恢复的效果较差,另一方面不采用此方法在场景切换的情况下就会出现整个图象序列的丢失。
本发明能够有效改善由于丢包和数据错误而是解码器出现花屏和跳帧的情况。

Claims (2)

1.一种H264视频码流检测到错误后处理错误的方法,其特征在于:包括如下步骤:
步骤10:解码器检测到错误;
步骤20:判断错误是否在帧头出现?是,转入步骤70,否,转入步骤30;
步骤30:判断当前的帧和之前解码出来的帧是否有场景切换?是,转入步骤40,否,转入步骤60;
步骤40:判断是否解码出大部分图像?是,转入步骤50,否,转入步骤70;
步骤50:通过帧内预测恢复剩下的图像数据,然后将当前帧放入帧缓存中进行后续的处理;
步骤60:保留已经解码的数据,并将前一帧中对应当前帧应错误未解码的宏块数据拷贝过来,补全整帧图象后将当前帧放入帧缓存中继续进行解码;
步骤70:当前出错的帧不再进行错误恢复并且丢弃,从码流去寻找下一个IDR帧。
2.如权利要求1所述的一种H264视频码流检测到错误后处理错误的方法,其特征在于:
所述步骤30中判断当前的帧和之前解码出来的帧是否有场景切换具体包括如下步骤:
根据错误发生前正确解码出的YUV数据中零散的取出若干个宏块的数据和前一个解码帧相应位置的数据进行比较,并计算他们的误差,如果误差大于一个阀值就说明两帧的差别比较大,那么就可以判断上一个解码出来的帧和当前解码帧有着场景切换,如果小于一个阀值的话,那么就把当前帧和前一帧看做同一场景中,判断为两帧之间无场景切换。
CN 201110147616 2011-06-02 2011-06-02 一种h264视频码流检测到错误后处理错误的方法 Active CN102223544B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201110147616 CN102223544B (zh) 2011-06-02 2011-06-02 一种h264视频码流检测到错误后处理错误的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201110147616 CN102223544B (zh) 2011-06-02 2011-06-02 一种h264视频码流检测到错误后处理错误的方法

Publications (2)

Publication Number Publication Date
CN102223544A CN102223544A (zh) 2011-10-19
CN102223544B true CN102223544B (zh) 2013-02-06

Family

ID=44779951

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201110147616 Active CN102223544B (zh) 2011-06-02 2011-06-02 一种h264视频码流检测到错误后处理错误的方法

Country Status (1)

Country Link
CN (1) CN102223544B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104581185B (zh) * 2015-01-20 2017-12-05 宁波大学 一种应用于立体视频切换帧的自适应错误隐藏方法
CN106162375A (zh) * 2015-04-14 2016-11-23 宏碁股份有限公司 影像播放装置及影像播放方法
CN108881775B (zh) * 2018-05-30 2021-05-28 维沃移动通信有限公司 一种视频通信方法和移动终端
CN111010575B (zh) * 2019-12-17 2022-08-02 北京数码视讯科技股份有限公司 一种码流容错的方法及装置、可读存储介质
CN112637586A (zh) * 2020-12-15 2021-04-09 北京百度网讯科技有限公司 异常视频构造方法、检测方法、装置、设备、介质及产品

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1180276A (zh) * 1996-09-27 1998-04-29 次级系统有限公司 数字视频信号的场景变化检测器
CN1190848A (zh) * 1997-02-13 1998-08-19 三星电子株式会社 用于屏蔽视频数据错误的装置和方法
CN1328747A (zh) * 1998-09-29 2001-12-26 通用仪器公司 高清晰度电视编码器中检测场景改变与调节画面编码类型的方法与装置
CN101867759A (zh) * 2010-05-19 2010-10-20 西安交通大学 基于场景检测的自适应运动补偿帧频提升方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI359617B (en) * 2008-07-03 2012-03-01 Univ Nat Taiwan Low-complexity and high-quality error concealment

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1180276A (zh) * 1996-09-27 1998-04-29 次级系统有限公司 数字视频信号的场景变化检测器
CN1190848A (zh) * 1997-02-13 1998-08-19 三星电子株式会社 用于屏蔽视频数据错误的装置和方法
CN1328747A (zh) * 1998-09-29 2001-12-26 通用仪器公司 高清晰度电视编码器中检测场景改变与调节画面编码类型的方法与装置
CN101867759A (zh) * 2010-05-19 2010-10-20 西安交通大学 基于场景检测的自适应运动补偿帧频提升方法

Also Published As

Publication number Publication date
CN102223544A (zh) 2011-10-19

Similar Documents

Publication Publication Date Title
JP5007322B2 (ja) ビデオ符号化方法
US8229983B2 (en) Channel switch frame
KR101016168B1 (ko) 비디오 압축에 대한 인코더 보조-프레임 레이트 업 컨버젼(ea-fruc)을 위한 방법 및 장치
US6611530B1 (en) Video communication using multiple streams
CN103152576B (zh) 一种适用于组播抗丢包的视频编码及解码装置
CN102223544B (zh) 一种h264视频码流检测到错误后处理错误的方法
JP2006279972A (ja) ビデオ符号化における画像フレームのグループ化
CN101252696A (zh) 视频编码
CN1781314A (zh) 图像编码方法
KR100612691B1 (ko) 동영상 화질 평가시스템 및 방법
JP5502798B2 (ja) チャネル交換フレーム
CN102026001B (zh) 基于运动信息的视频帧重要性评估方法
WO2010000288A1 (en) Fast channel switching in tv broadcast systems
CN101242540B (zh) 用于视频解码器芯片的差错控制方法
JP4020883B2 (ja) 動画像復号装置
JP5275810B2 (ja) 基準フレームの選択ルールを使用したビデオエラー隠蔽の方法及び装置
US20110299605A1 (en) Method and apparatus for video resolution adaptation
CN102378012A (zh) 基于数据隐藏的h·264视频传输误码恢复方法
WO2006008673A1 (en) A method and apparatus for decoding encoded data
JP2005192073A (ja) マルチメディアデータ通信方法および装置
Carreira et al. A robust video encoding scheme to enhance error concealment of intra frames
JP4756594B2 (ja) 画像復号化装置及び方法、並びにコンピュータプログラム
JP2011239464A (ja) 復号器
JP2010166140A (ja) 画像復号装置および画像データ出力方法
Fumagalli et al. A sequence-based error-concealment algorithm for an unbalanced multiple description video coding system

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
C56 Change in the name or address of the patentee
CP01 Change in the name or title of a patent holder

Address after: 350000 Fuzhou Gulou District, Fujian, software Avenue, building 89, No. 18

Patentee after: FUZHOU ROCKCHIP ELECTRONICS CO., LTD.

Address before: 350000 Fuzhou Gulou District, Fujian, software Avenue, building 89, No. 18

Patentee before: Fuzhou Rockchip Semiconductor Co., Ltd.

CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 350000 building, No. 89, software Avenue, Gulou District, Fujian, Fuzhou 18, China

Patentee after: Ruixin Microelectronics Co., Ltd

Address before: 350000 building, No. 89, software Avenue, Gulou District, Fujian, Fuzhou 18, China

Patentee before: Fuzhou Rockchips Electronics Co.,Ltd.