一种视频解码系统和方法

文档序号:7985282阅读:221来源:国知局
一种视频解码系统和方法
【专利摘要】本发明公开了一种视频解码系统和方法,该系统包括控制器、解析器和解码器。其中,所述控制器用于向所述解析器发送控制命令并接收来自所述解析器返回的状态报告;所述解析器用于根据所述控制命令对视频流进行解析,并将解析后的结果发送给所述解码器;以及所述解码器用于对所述解析后的结果进行解码。使用本发明提供的视频解码系统和方法,可以在整个视频解码过程中对视频流中的错误进行隐藏,进而可以在接收端获得理想的视频输出效果。
【专利说明】一种视频解码系统和方法
【技术领域】
[0001]本发明涉及视频通信领域,尤其涉及一种视频解码系统和方法。
【背景技术】
[0002]在数字视频技术高速发展的今天,视频压缩对于数字传输是非常重要的,因为只有有效地提高传输的速率,在接收端才能使传输的视频信号被实时连接地播放出来被人的视觉接受。然而,在视频传输过程中由于信道不是完全无错信道的关系总会不可避免地出现错误,因此,为了在接收端获得理想的视频输出效果,需要对视频流中的错误进行隐藏。如果在编码端进行错误隐藏,则基本能够消除因可变长编码(VLC)码字的传输误码造成的解码错误,但其代价是增加了编码器的负担,占用了有用带宽,从而相对降低了图像质量。因此,需要一种带有错误隐藏机制的视频解码系统和方法以解决上述问题。

【发明内容】

[0003]在
【发明内容】
部分中引入了一系列简化形式的概念,这将在【具体实施方式】部分中进一步详细说明。本发明的
【发明内容】
部分并不意味着要试图限定出所要求保护的技术方案的关键特征和必要技术特征,更不意味着试图确定所要求保护的技术方案的保护范围。
[0004]为了解决上述问题,本发明公开了一种视频解码系统,包括控制器、解析器和解码器。其中,所述控制器用于向所述解析器发送控制命令并接收来自所述解析器反馈的状态报告;所述解析器用于根据所述控制命令对视频流进行解析,并将解析后的结果发送给所述解码器;以及所述解码器用于对所述解析后的结果进行解码。
[0005]在本发明一个优选实施例中,所述状态报告进一步包括:无错状态报告,用于所述解析器在解析过程中没有发现错误或发现轻微错误时返回给所述控制器;以及出错状态报告,用于所述解析器在所述解析过程中发现严重错误时返回给所述控制器。
[0006]在本发明一个优选实施例中,所述解析器在所述解析过程中遇到所述轻微错误时进行饱和操作或默认操作。
[0007]在本发明一个优选实施例中,所述系统还包括:数据寄存器,用于存储含有所述轻微错误和所述严重错误的错误类型表以供所述解析器查询以确定向所述控制器发送所述无错状态报告或所述出错状态报告。
[0008]在本发明一个优选实施例中,所述系统还包括:缓冲寄存器,用于存储所述解析器解析时遇到的错误宏块地址。
[0009]在本发明一个优选实施例中,所述控制命令进一步包括:解析命令,用于通知所述解析器对所述视频流进行解析;以及隐藏命令,用于通知所述解析器对所述视频流进行错
误隐藏。
[0010]在本发明一个优选实施例中,所述解析命令进一步包括开始解析的宏块号、结束解析的宏块号以及所需要解析的视频流的比特流大小。
[0011]在本发明一个优选实施例中,所述隐藏命令进一步包括开始隐藏的宏块号、结束隐藏的宏块号以及错误隐藏类型。
[0012]在本发明一个优选实施例中,所述开始隐藏的宏块号以及所述结束隐藏的宏块号是通过错误隐藏模式确定的。
[0013]在本发明一个优选实施例中,所述错误隐藏模式进一步包括:片模式,用于从当前片开始隐藏;行模式,用于从当前错误宏块行开始隐藏;以及宏块模式,用于从当前错误宏块之前的一个或多个宏块开始隐藏。
[0014]在本发明一个优选实施例中,所述错误隐藏类型进一步包括:帧内隐藏,用于使用垂直帧内预测模式来解码当前宏块;零运动矢量隐藏,用于使用零运动矢量来解码所述当前宏块;p帧跳跃宏块的默认运动矢量隐藏,用于使用P帧跳跃宏块的默认运动矢量来解码所述当前宏块;以及B帧跳跃宏块的默认运动矢量隐藏,用于使用B帧跳跃宏块的默认运动矢量来解码所述当前宏块。
[0015]根据本发明另一方面,还公开了一种视频解码方法,包括:控制器向解析器发送控制命令;所述解析器根据所述控制命令对视频流进行解析;所述解析器向所述控制器返回状态报告;所述解析器将解析后的结果发送给解码器;以及所述解码器对所述解析后的结果进行解码。
[0016]在本发明一个优选实施例中,所述状态报告进一步包括:无错状态报告,用于所述解析器在解析过程中没有发现错误或发现轻微错误时返回给所述控制器;以及出错状态报告,用于所述解析器在所述解析过程中发现严重错误时返回给所述控制器。
[0017]在本发明一个优选实施例中,所述解析器在所述解析过程中遇到所述轻微错误时进行饱和操作或默认操作。
[0018]在本发明一个优选实施例中,所述控制命令进一步包括:解析命令,用于通知所述解析器对所述视频流进行解析;以及隐藏命令,用于通知所述解析器对所述视频流进行错
误隐藏。
[0019]在本发明一个优选实施例中,所述解析命令进一步包括开始解析的宏块号、结束解析的宏块号以及所需要解析的视频流的比特流大小。
[0020]在本发明一个优选实施例中,所述隐藏命令进一步包括开始隐藏的宏块号、结束隐藏的宏块号以及错误隐藏类型。
[0021]在本发明一个优选实施例中,所述开始隐藏的宏块号以及所述结束隐藏的宏块号是通过错误隐藏模式确定的。
[0022]在本发明一个优选实施例中,所述错误隐藏模式进一步包括:片模式,用于从当前片开始隐藏;行模式,用于从当前错误宏块行开始隐藏;以及宏块模式,用于从当前错误宏块之前的一个或多个宏块开始隐藏。
[0023]在本发明一个优选实施例中,所述错误隐藏类型进一步包括:帧内隐藏,用于使用垂直帧内预测模式来解码当前宏块;零运动矢量隐藏,用于使用零运动矢量来解码所述当前宏块;p帧跳跃宏块的默认运动矢量隐藏,用于使用P帧跳跃宏块的默认运动矢量来解码所述当前宏块;以及B帧跳跃宏块的默认运动矢量隐藏,用于使用B帧跳跃宏块的默认运动矢量来解码所述当前宏块。
[0024]使用本发明提供的视频解码系统和方法,可以在整个视频解码过程中对视频流中的错误进行隐藏,进而可以在接收端获得理想的视频输出效果。【专利附图】

【附图说明】
[0025]本发明的下列附图在此作为本发明的一部分用于理解本发明。附图中示出了本发明的实施例及其描述,用来解释本发明的原理。在附图中,
[0026]图1示出了根据本发明一个优选实施例的带有错误隐藏机制的视频解码系统的结构框图;
[0027]图2示出了根据本发明一个优选实施例的带有错误隐藏机制的视频解码方法的流程图;
[0028]图3示出了根据本发明的一个优选实施例的带有错误隐藏机制的视频解码系统的工作原理图。
【具体实施方式】
[0029]在下文的描述中,给出了大量具体的细节以便提供对本发明更为彻底的理解。然而,对于本领域技术人员来说显而易见的是,本发明可以无需一个或多个这些细节而得以实施。在其他的例子中,为了避免与本发明发生混淆,对于本领域公知的一些技术特征未进行描述。
[0030]为了彻底了解本发明,将在下列的描述中提出详细的结构。显然,本发明的施行并不限定于本领域的技术人员所熟习的特殊细节。本发明的较佳实施例详细描述如下,然而除了这些详细描述外,本发明还可以具有其他实施方式。
[0031]根据本发明的一方面,公开了一种视频解码系统。图1示出了根据本发明一个优选实施例的视频解码系统的结构框图100。如图1所示,该视频解码系统100包括控制器101、解析器102和解码器103。其中,控制器101用于向解析器102发送控制命令并接收来自解析器102返回的状态报告(Status Report)0解析器102用于根据控制命令对视频流进行解析,并将解析后的结果发送给解码器10。解码器103用于对解析后的结果进行解码。
[0032]具体来讲,控制器101用于控制解析器102的解析过程,其向解析器102发出控制命令以使得解析器102更好地解析视频流,还接收解析器102返回的状态报告并根据状态报告做出响应。
[0033]根据本发明的一个优选实施例,控制器101所发出的控制命令可以为诸如解析哪些宏块、是否、何时、以及怎样进行错误隐藏等等的命令。表I示出了控制命令可包含的类型。
[0034]如表I所示,控制命令可以包括解析命令和隐藏命令。其中,解析命令用于通知解析器102对视频流进行解析。隐藏命令用于通知解析器102对视频流进行错误隐藏。解析命令可以包括开始解析的宏块号、结束解析的宏块号以及所需要解析的视频流的比特流大小。隐藏命令可以包括开始隐藏的宏块号、结束隐藏的宏块号以及错误隐藏类型。根据解析命令和隐藏命令,解析器102可以清楚地知道应该解析哪些宏块或隐藏哪些宏块,可以提高后续解码器103解码的效率和正确率。
[0035]表I控制命令的类型
[0036]
【权利要求】
1.一种视频解码系统,包括控制器、解析器和解码器,其中, 所述控制器用于向所述解析器发送控制命令并接收来自所述解析器返回的状态报告; 所述解析器用于根据所述控制命令对视频流进行解析,并将解析后的结果发送给所述解码器;以及 所述解码器用于对所述解析后的结果进行解码。
2.根据权利要求1所述的系统,其特征在于,所述状态报告进一步包括: 无错状态报告,用于所述解析器在解析过程中没有发现错误或发现轻微错误时返回给所述控制器;以及 出错状态报告,用于所述解析器在所述解析过程中发现严重错误时返回给所述控制器。
3.根据权利要求2所述的系统,其特征在于,所述解析器在所述解析过程中遇到所述轻微错误时进行饱和操作或默认操作。
4.根据权利要求2所述的系统,其特征在于,所述系统还包括: 数据寄存器,用于存储含有所述轻微错误和所述严重错误的错误类型表以供所述解析器查询以确定向所述控制器发送所述无错状态报告或所述出错状态报告。
5.根据权利要求1所述的系统,其特征在于,所述系统还包括: 缓冲寄存器,用于存储所述解析器解析时遇到的错误宏块地址。
6.根据权利要求1所述的系统,其特征在于,所述控制命令进一步包括: 解析命令,用于通知所述解析器对所述视频流进行解析;以及 隐藏命令,用于通知所述解析器对所述视频流进行错误隐藏。
7.根据权利要求6所述的系统,其特征在于,所述解析命令进一步包括开始解析的宏块号、结束解析的宏块号以及所需要解析的视频流的比特流大小。
8.根据权利要求6所述的系统,其特征在于,所述隐藏命令进一步包括开始隐藏的宏块号、结束隐藏的宏块号以及错误隐藏类型。
9.根据权利要求8所述的系统,其特征在于,所述开始隐藏的宏块号以及所述结束隐藏的宏块号是通过错误隐藏模式确定的。
10.根据权利要求9所述的系统,其特征在于,所述错误隐藏模式进一步包括: 片模式,用于从当前片开始隐藏; 行模式,用于从当前错误宏块行开始隐藏;以及 宏块模式,用于从当前错误宏块之前的一个或多个宏块开始隐藏。
11.根据权利要求8所述的系统,其特征在于,所述错误隐藏类型进一步包括: 帧内隐藏,用于使用垂直帧内预测模式来解码当前宏块; 零运动矢量隐藏,用于使用零运动矢量来解码所述当前宏块; P帧跳跃宏块的默认运动矢量隐藏,用于使用P帧跳跃宏块的默认运动矢量来解码所述当前宏块;以及 B帧跳跃宏块的默认运动矢量隐藏,用于使用B帧跳跃宏块的默认运动矢量来解码所述当前宏块。
12.一种视频解码方法,包括:控制器向解析器发送控制命令; 所述解析器根据所述控制命令对视频流进行解析; 所述解析器向所述控制器返回状态报告; 所述解析器将解析后的结果发送给解码器;以及 所述解码器对所述解析后的结果进行解码。
13.根据权利要求12所述的方法,其特征在于,所述状态报告进一步包括: 无错状态报告,用于所述解析器在解析过程中没有发现错误或发现轻微错误时返回给所述控制器;以及 出错状态报告,用于所述解析器在所述解析过程中发现严重错误时返回给所述控制器。
14.根据权利要求13所述的方法,其特征在于,所述解析器在所述解析过程中遇到所述轻微错误时进行饱和操作或默认操作。
15.根据权利要求12所述的方法,其特征在于,所述控制命令进一步包括: 解析命令,用于通知所述解析器对所述视频流进行解析;以及 隐藏命令,用于通知所 述解析器对所述视频流进行错误隐藏。
16.根据权利要求15所述的方法,其特征在于,所述解析命令进一步包括开始解析的宏块号、结束解析的宏块号以及所需要解析的视频流的比特流大小。
17.根据权利要求15所述的方法,其特征在于,所述隐藏命令进一步包括开始隐藏的宏块号、结束隐藏的宏块号以及错误隐藏类型。
18.根据权利要求17所述的方法,其特征在于,所述开始隐藏的宏块号以及所述结束隐藏的宏块号是通过错误隐藏模式确定的。
19.根据权利要求18所述的方法,其特征在于,所述错误隐藏模式进一步包括: 片模式,用于从当前片开始隐藏; 行模式,用于从当前错误宏块行开始隐藏;以及 宏块模式,用于从当前错误宏块之前的一个或多个宏块开始隐藏。
20.根据权利要求17所述的方法,其特征在于,所述错误隐藏类型进一步包括: 帧内隐藏,用于使用垂直帧内预测模式来解码当前宏块; 零运动矢量隐藏,用于使用零运动矢量来解码所述当前宏块; P帧跳跃宏块的默认运动矢量隐藏,用于使用P帧跳跃宏块的默认运动矢量来解码所述当前宏块;以及 B帧跳跃宏块的默认运动矢量隐藏,用于使用B帧跳跃宏块的默认运动矢量来解码所述当前宏块。
【文档编号】H04N19/895GK103813177SQ201210440833
【公开日】2014年5月21日 申请日期:2012年11月7日 优先权日:2012年11月7日
【发明者】虞新阳, 李锦程, 卢金跃, 马尼卓·潘里 申请人:辉达公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1