表示视频图像显示顺序的方法
【专利摘要】本发明提供一种表示视频图像显示顺序的方法,包括编码步骤和解码步骤,其中,编码步骤包括:确定视频序列中的每一帧视频图像的编码顺序和显示顺序;根据每一帧视频图像的编码顺序和显示顺序计算显示延迟;将显示延迟作为该帧视频图像的编码数据的一部分;按照编码顺序将所有视频图像的编码数据排列起来形成编码视频序列;解码步骤包括:按照解码顺序依次对编码视频序列的每一帧视频图像的编码数据进行解码以获取每一帧视频图像和该帧视频图像的显示延迟;根据每一帧视频图像的解码顺序和显示延迟计算每一帧视频图像的显示顺序;根据视频图像的显示顺序依次显示每一帧视频图像。本发明可以能够使导出视频图像的显示顺序时更简便。
【专利说明】表示视频图像显示顺序的方法
【技术领域】
[0001]本发明涉及一种表示视频图像显示顺序的方法。
【背景技术】
[0002]视频序列是由一系列随时间变化的图像构成,视频图像之间存在冗余,为了去掉视频图像之间的冗余,在编码一些视频图像的时候可以参考已编码的视频图像,称为帧间预测编码。如果在编码一帧视频图像时仅参考时间上在前面的已经编码的视频图像,则称为前向预测编码,该帧视频图像被称为P帧。如果在编码一帧视频图像时既参考时间上在前面的已编码的视频图像,又参考时间上在后面的已编码的视频图像,则称为双向预测编码,该帧视频图像被称为B帧。采用双向预测编码时,需要提前编码一些时间上在后面的视频图像,再编码时间上在前面的视频图像。被提前编码的视频图像将会在编码视频序列中先出现,所以会被先解码。但是由于其时间上是在后面的,所以应该后显示。这就造成解码顺序和显示顺序不一致。解码器如何方便正确地导出视频图像的显示顺序成为一个重要的问题。视频图像的显示顺序不仅用于视频图像的正确显示,还用于根据视频图像时间上的距离对运动矢量的缩放。
[0003]以前保证视频图像按正确顺序显示的方法,视频编解码标准H.264的方法是把显示顺序直接放入图像头中,并用8位无符号整数表示,这样导致传输时比特数较多,压缩效率不高。正在制定中的中国数字音视频编解码技术标准AVS2,临时采用的方法是:在图像头增加两个语法元素:显示顺序相对于解码顺序的偏移的绝对值和符号,它们是通过计算视频图像的解码顺序与显示顺序之间的差值得到的。该方法使用了两个语法元素,引入了两个中间变量,导出视频图像显示顺序的规则比较复杂,解析图像头时也比较复杂。
【发明内容】
[0004]本发明的目的在于提供一种表示视频图像显示顺序的方法,能够使导出视频图像的显示顺序时更简便。
[0005]为解决上述问题,本发明提供一种表示视频图像显示顺序的方法,包括编码步骤和解码步骤,其中,
[0006]所述编码步骤包括:
[0007]确定视频序列中的每一帧视频图像的编码顺序和解码顺序,其中,所述解码顺序和编码顺序相同;
[0008]确定视频序列中的每一帧视频图像的显示顺序;
[0009]根据每一帧视频图像的编码顺序和显示顺序计算该视频图像的显示延迟,其中,所述显示延迟是从解码某一帧视频图像到显示该帧视频图像需要的延迟,单位是帧时间间隔,即帧速率的倒数;
[0010]对视频序列中的每一帧视频图像进行编码,其中,将该帧视频图像的显示延迟作为该帧视频图像的编码数据的一部分;[0011]按照视频图像的编码顺序将所有视频图像的编码数据排列起来形成编码视频序列;
[0012]所述解码步骤包括:
[0013]从所述编码视频序列获取每一帧视频图像的解码顺序,按照解码顺序依次对编码视频序列的每一帧视频图像的编码数据进行解码以获取每一帧视频图像和该帧视频图像的显示延迟;
[0014]根据每一帧视频图像的解码顺序和显示延迟计算每一帧视频图像的显示顺序;
[0015]根据视频图像的显示顺序依次显示每一帧视频图像。
[0016]进一步的,在上述方法中,在编码步骤中的确定视频序列中的每一帧视频图像的编码顺序和解码顺序的步骤中,每一帧视频图像的编码顺序和解码顺序用一个非负整数来表示,数值较小表示编码顺序和解码顺序靠前,同一个视频序列中的所有视频图像的编码顺序和解码顺序构成连续的整数序列。
[0017]进一步的,在上述方法中,从所述编码视频序列获取每一帧视频图像的解码顺序的步骤中,根据每一帧视频图像在编码视频序列中出现的顺序确定每一帧视频图像的解码顺序。
[0018]进一步的,在上述方法中,将该帧视频图像的显示延迟作为该帧视频图像的编码数据的一部分的步骤之后还包括:
[0019]将每一帧视频图像的解码顺序作为该帧视频图像的编码数据的一部分;
[0020]从所述编码视频序列获取每一帧视频图像的解码顺序的步骤中,从每一帧视频图像的编码数据中获取该帧视频图像的解码顺序。
[0021]进一步的,在上述方法中,在编码步骤中的确定视频序列中的每一帧视频图像的显示顺序的步骤中,每一帧视频图像的显示顺序用一个非负整数来表示,数值较小表示显示顺序靠前,同一个视频序列中的所有帧视频图像的显示顺序构成连续的整数序列。
[0022]进一步的,在上述方法中,在编码步骤中的确定视频序列中的每一帧视频图像的编码顺序和解码顺序的步骤中,确定编码顺序的规则是:(1) 一帧视频图像必须在它的所有参考图像都被编码完以后,才能被编码;(2)当有多帧视频图像的所有参考图像都已经被编码完时,编码时间上最靠前的视频图像;(3)第I帧被编码的视频图像的编码顺序为O ;
(4)第η帧被编码的视频图像的编码顺序为η-1。
[0023]进一步的,在上述方法中,在编码步骤中的确定视频序列中的每一帧视频图像的显示顺序的规则是:(I)给时间上最早的一帧视频图像设定一个临时显示顺序值0,后续视频图像的临时显不顺序依次为时间上相邻的如一巾贞视频图像的临时显不顺序加I ;(2)用每一帧视频图像的临时显示顺序减去该视频图像的编码顺序,并记录所得差值的最小值,记为D ; (3)每一巾贞视频图像的显不顺序等于该视频图像的临时显不顺序减去D。
[0024]进一步的,在上述方法中,在解码步骤中的根据每一帧视频图像的解码顺序和显示延迟计算每一帧视频图像的显示顺序的方法是:显示顺序等于该视频图像的解码顺序加上该视频图像的显示延迟。
[0025]与现有技术相比,本发明通过在编码步骤中根据每一帧视频图像的解码顺序和显示顺序计算该帧视频图像的显示延迟,并作为该帧视频图像编码数据的一部分传送给解码器,使解码器在解码步骤中可以根据解码顺序和显示延迟更加简便地导出视频图像的显示顺序。
【专利附图】
【附图说明】
[0026]图1是本发明一实施例的表示视频图像显示顺序的方法的编码步骤的流程图;
[0027]图2是本发明一实施例的表示视频图像显示顺序的方法的解码步骤的流程图;
[0028]图3是本发明一实施例的一种分层B帧编码结构的示意图;
[0029]图4是本发明一实施例的在视频图像头中传送显示延迟的示意图;
[0030]图5是本发明一实施例的利用视频图像的编码顺序与显示顺序导出显示延迟的示意图;
[0031]图6是本发明一实施例的利用视频图像的解码顺序与显示延迟导出显示顺序的示意图。
【具体实施方式】
[0032]为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和【具体实施方式】对本发明作进一步详细的说明。
[0033]本发明提供一种表示视频图像显示顺序的方法,包括编码步骤和解码步骤,其中,
[0034]如图1所示,所述编码步骤包括:
[0035]步骤SI I,确定视频序列中的每一帧视频图像的编码顺序和解码顺序,其中,所述解码顺序和编码顺序相同;
[0036]步骤S12,确定视频序列中的每一巾贞视频图像的显不顺序;
[0037]步骤S13,根据每一帧视频图像的编码顺序和显示顺序计算该视频图像的显示延迟,其中,所述显示延迟是从解码某一帧视频图像到显示该帧视频图像需要的延迟,单位是帧时间间隔,即帧速率的倒数;具体的,所述显示延迟是大于等于零的整数值;
[0038]步骤S14,对视频序列中的每一帧视频图像进行编码,其中,将该帧视频图像的显示延迟作为该帧视频图像的编码数据的一部分;
[0039]步骤S15,按照视频图像的编码顺序将所有视频图像的编码数据排列起来形成编码视频序列。具体的,编码步骤中对视频序列中的所有视频图像进行编码直到视频序列的结尾,然后输出视频图像的编码数据以形成编码视频序列。
[0040]优选的,步骤Sll中,每一帧视频图像的解码顺序和编码顺序用一个非负整数来表示,数值较小表示编码顺序和解码顺序靠前,同一个视频序列中的所有视频图像的解码顺序和编码顺序构成连续的整数序列。具体的,视频图像的解码顺序和编码顺序的数值可以不从O开始,编码一帧视频图像的时间是视频帧速率的倒数,单位是秒。
[0041]优选的,步骤S12中每一帧视频图像的显示顺序用一个非负整数来表示,数值较小表示显示顺序靠前,同一个视频序列中的所有视频图像的显示顺序构成连续的整数序列。具体的,视频图像的显示顺序的数值可以不从O开始,显示一帧视频图像的时间是视频帧速率的倒数,单位是秒。
[0042]优选的,步骤Sll中,确定编码顺序的规则是:(I) 一帧视频图像必须在它的所有参考图像都被编码完以后,才能被编码;(2)当有多帧视频图像的所有参考图像都已经被编码完时,编码时间上最靠前的视频图像;(3)第I帧被编码的视频图像的编码顺序为O ;(4)第η帧被编码的视频图像的编码顺序为η-1。优选的,步骤S12中,确定显示顺序的规则是:(I)给时间上最早的一帧视频图像设定一个临时显示顺序值O,后续视频图像的临时显示顺序依次为时间上相邻的前一帧视频图像的临时显示顺序加I ; (2)用每一帧视频图像的临时显示顺序减去该视频图像的编码顺序,并记录所得差值的最小值,记为D ;(3)每一中贞视频图像的显不顺序等于该视频图像的临时显不顺序减去D。
[0043]如图2所示,所述解码步骤包括:
[0044]步骤S21,从所述编码视频序列获取每一帧视频图像的解码顺序,按照解码顺序依次对编码视频序列的每一帧视频图像的编码数据进行解码以获取每一帧视频图像和该帧视频图像的显示延迟;具体的,可将待显示的视频图像存入一解码图像缓冲区中;
[0045]步骤S22,根据每一帧视频图像的解码顺序和显示延迟计算每一帧视频图像的显示顺序;
[0046]步骤S23,根据视频图像的显示顺序依次显示每一帧视频图像。具体的,根据每一帧视频图像的显示顺序判断该帧视频图像是否到了显示的时刻,如果到了显示的时刻,则显示该视频图像,否则继续存放在解码图像缓冲区中。
[0047]具体的,视频图像的解码顺序可以作为视频图像编码数据的一部分,也可以不作为视频图像编码数据的一部分。可选的,当视频图像的解码顺序不作为视频图像编码数据的一部分时,步骤S21中的从所述编码视频序列获取每一帧视频图像的解码顺序的步骤中,根据每一帧视频图像在编码视频序列中出现的顺序确定每一帧视频图像的解码顺序。可选的,当视频图像的解码顺序作为视频图像编码数据的一部分时,步骤S14中的将该帧视频图像的显示延迟作为该帧视频图像的编码数据的一部分的步骤之后还包括:将每一帧视频图像的解码顺序作为该帧视频图像的编码数据的一部分;相应的,步骤S21中的从所述编码视频序列获取每一帧视频图像的解码顺序的步骤中,从每一帧视频图像的编码数据中获取该帧视频图像的解码顺序。
[0048]优选的,步骤S22中,每一帧视频图像的显示顺序等于该视频图像的解码顺序加上该视频图像的显示延迟。
[0049]详细的,本发明一实施例中,采用如图3所示的分层B帧编码结构。图3中箭头的起点表示编码图像,箭头的终点表示编码箭头起点所示图像时需要参考的图像。图3中的Ι、Ρ、Β表示图像的编码方式,I表示采用帧内模式编码,没有参考图像,P表示采用前向预测模式编码,有一帧参考图像,B表示采用双向预测模式编码,有2帧参考图像。确定编码顺序的规则是:(I) 一帧图像必须在它的所有参考图像都被编码完以后,才能被编码;(2)当有多帧图像的所有参考图像都已经被编码完时,编码时间上最靠前的视频图像;(3)第I帧被编码的图像的编码顺序为O ; (4)第η帧被编码的视频图像的编码顺序为n-Ι。确定显示顺序的规则是:(I)给时间上最早的一帧图像设定一个临时显示顺序值0,后续图像的临时显不顺序依次为时间上相邻的如一巾贞图像的临时显不顺序加I ;(2)用每一巾贞图像的临时显示顺序减去该图像的编码顺序,并记录所得差值的最小值,记为D ;(3)每一帧视频图像的显示顺序等于该视频图像的临时显示顺序减去D。图3中D等于-3。本发明中的编码结构可为任意,并不局限于图3所示的编码结构。不论采用什么样的编码结构,使用本实施例的确定编码顺序的规则和确定显示顺序的规则都可以得到唯一且确定的编码顺序和显示顺序。[0050]如图4,可在每巾贞视频图像的编码数据的头中定义一个语法元素display_delay来表示该图像的显示延迟,该语法元素为6位无符号整数。该语法元素也可以采用别的名称,表示该语法元素的位数也可以不是6,甚至用可变长度的代码来表示也可以。本发明并不局限于此。
[0051]在编码时,利用显示顺序和编码顺序导出显示延迟的方法如图5所示,按照编码顺序从小到大依次编码每一帧视频图像,并用每一帧视频图像的显示顺序减去编码顺序,得到该视频图像的显示延迟。
[0052]在解码时,利用显示延迟和解码顺序(等于编码顺序)导出显示顺序的方法如图6所示,按照解码顺序从小到大依次解码每一帧视频图像,并用每一帧视频图像的显示延迟加上解码顺序,得到该视频图像的显示顺序。
[0053]本发明将两个语法元素合并为一个语法元素即显示延迟,简化了视频图像头的解析过程及图像显示顺序的导出过程。采用显示延迟不需要传输符号位,在导出图像显示顺序时更简便,只需要直接将解码顺序和显示延迟相加即可。
[0054]本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0055]专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0056]显然,本领域的技术人员可以对发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。
【权利要求】
1.一种表示视频图像显示顺序的方法,其特征在于,包括编码步骤和解码步骤,其中, 所述编码步骤包括: 确定视频序列中的每一帧视频图像的编码顺序和解码顺序,其中,所述解码顺序和编码顺序相同; 确定视频序列中的每一帧视频图像的显不顺序; 根据每一帧视频图像的编码顺序和显示顺序计算该视频图像的显示延迟,其中,所述显示延迟是从解码某一帧视频图像到显示该帧视频图像需要的延迟,单位是帧时间间隔,即帧速率的倒数; 对视频序列中的每一帧视频图像进行编码,其中,将该帧视频图像的显示延迟作为该帧视频图像的编码数据的一部分; 按照视频图像的编码顺序将所有视频图像的编码数据排列起来形成编码视频序列; 所述解码步骤包括: 从所述编码视频序列获取每一帧视频图像的解码顺序,按照解码顺序依次对编码视频序列的每一帧视频图像的编码数据进行解码以获取每一帧视频图像和该帧视频图像的显示延迟; 根据每一帧视频图像的解码顺序和显示延迟计算每一帧视频图像的显示顺序; 根据视频图像的显示顺序依次显示每一帧视频图像。
2.如权利要求1所述的表示视频图像显示顺序的方法,其特征在于,确定视频序列中的每一帧视频图像的编码顺序和解码顺序的步骤中,每一帧视频图像的编码顺序和解码顺序用一个非负整数来表示,数值较小表示编码顺序和解码顺序靠前,同一个视频序列中的所有视频图像的编码顺序和解码顺序构成连续的整数序列。
3.如权利要求1所述的表示视频图像显示顺序的方法,其特征在于,从所述编码视频序列获取每一帧视频图像的解码顺序的步骤中,根据每一帧视频图像在编码视频序列中出现的顺序确定每一帧视频图像的解码顺序。
4.如权利要求1所述的表示视频图像显示顺序的方法,其特征在于,将该帧视频图像的显示延迟作为该帧视频图像的编码数据的一部分的步骤之后还包括: 将每一帧视频图像的解码顺序作为该帧视频图像的编码数据的一部分; 从所述编码视频序列获取每一帧视频图像的解码顺序的步骤中,从每一帧视频图像的编码数据中获取该帧视频图像的解码顺序。
5.如权利要求1所述的表示视频图像显示顺序的方法,其特征在于,确定视频序列中的每一帧视频图像的显示顺序的步骤中,每一帧视频图像的显示顺序用一个非负整数来表示,数值较小表示显示顺序靠前,同一个视频序列中的所有视频图像的显示顺序构成连续的整数序列。
6.如权利要求1所述的表示视频图像显示顺序的方法,其特征在于,确定视频序列中的每一帧视频图像的编码顺序的步骤中,确定编码顺序的规则是:(1) 一帧视频图像必须在它的所有参考图像都被编码完以后,才能被编码;(2)当有多帧视频图像的所有参考图像都已经被编码完时,编码时间上最靠前的视频图像;(3)第I帧被编码的视频图像的编码顺序为O ; (4)第η帧被编码的视频图像的编码顺序为η-1。
7.如权利要求6所述的表示视频图像显示顺序的方法,其特征在于,确定视频序列中的每一帧视频图像的显示顺序的步骤中,确定显示顺序的规则是:(1)给时间上最早的一帧视频图像设定一个临时显示顺序值O,后续视频图像的临时显示顺序依次为时间上相邻的iu—帧视频图像的临时显不顺序加I ;(2)用每一帧视频图像的临时显不顺序减去该视频图像的编码顺序,并记录所得差值的最小值,记为D ; (3)每一帧视频图像的显示顺序等于该视频图像的临时显不顺序减去D。
8.如权利要求1所述的表示视频图像显示顺序的方法,其特征在于,根据每一帧视频图像的解码顺序和显示延迟计算每一帧视频图像的显示顺序的步骤中,每一帧视频图像的显示顺序等于该视频图像的解码顺`序加上该视频图像的显示延迟。
【文档编号】H04N19/577GK103716638SQ201310746046
【公开日】2014年4月9日 申请日期:2013年12月30日 优先权日:2013年12月30日
【发明者】李燕, 范涛, 林琪, 斯晓华, 赵海武, 王国中, 李国平, 滕国伟 申请人:上海国茂数字技术有限公司