CN101765016B - 视频译码方法 - Google Patents
视频译码方法 Download PDFInfo
- Publication number
- CN101765016B CN101765016B CN2009101295216A CN200910129521A CN101765016B CN 101765016 B CN101765016 B CN 101765016B CN 2009101295216 A CN2009101295216 A CN 2009101295216A CN 200910129521 A CN200910129521 A CN 200910129521A CN 101765016 B CN101765016 B CN 101765016B
- Authority
- CN
- China
- Prior art keywords
- video
- frame
- current
- substitution
- decodable
- 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
Links
Images
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/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/513—Processing of motion vectors
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/172—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
-
- 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/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- 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/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- 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
本发明至少提供一种视频译码方法,包含:提供先前视频帧的历史语法元素;接收当前视频帧以确定其中的当前语法元素;确定在该当前语法元素中是否存在高级语法误差;在检测到该高级语法误差后,根据该历史语法元素确定替代语法元素以替代该当前语法元素,其中该高级语法误差为宏区块层之上的语法误差。藉此,本发明可检测视频比特流中的不可恢复误差并且减少运动抖动的视频译码方法,以减轻不可恢复误差导致的视频质量下降问题。
Description
技术领域
本发明涉及视频译码,尤其涉及一种视频译码方法,该视频译码方法可检测与校正丢失视频帧(video frames)或不可译码(undecodable)的视频帧。
背景技术
为了便捷地处理视频数据,在视频装置当中实施有多种功能。视频编码译码器(CODECs)通常都依照如MPEG 1/2/4与H.26x之类的视频编码标准来实现数字数据处理与压缩。通过离散余弦变换(Discrete Cosine Transform,DCT)技术以及运动补偿(Motion Compensation,MC)技术,上述压缩技术可达到较高的压缩比,藉此已被压缩的压缩视频流可在各种数字网络上传送或以高效方式存储于各种存储媒介中。
尽管如此,MPEG 1/2/4以及H.26x视频编码采用的压缩策略是根据先前的视频帧来对之后的视频帧进行译码,而当在传输过程中不可恢复的误差被引入到视频比特流中时,这些存在于先前视频流的误差会导致所有之后依赖性(dependent)的视频帧都不可译码。通常的,视频译码器跳过不可译码的视频帧而重复先前可译码的帧,由于跳过多个视频帧而导致突然的(abrupt)画面变换或产生不连续的运动情况,这样会给用户带来不愉快的观赏经历。因此,需要一种可检测视频比特流中的不可恢复误差并且减少运动抖动的视频译码方法,以减轻不可恢复误差导致的视频质量下降问题。
发明内容
为了避免传统视频译码方法跳过不可恢复的视频帧而给用户带来不愉快的观赏经历的问题,本发明目的之一是提供一种视频译码方法。
根据本发明的一个实施例,提供一种视频译码方法,包含:提供先前视频帧的历史语法元素;接收当前视频帧以确定其中的当前语法元素;确定在该当前语法元素中是否存在高级语法误差;在检测到该高级语法误差后,根据该历史语法元素确定替代语法元素以替代该当前语法元素,其中该高级语法误差为宏区块层之上的语法误差。
藉此,本发明可检测视频比特流中的不可恢复误差并且减少运动抖动的视频译码方法,以减轻不可恢复误差导致的视频质量下降问题。
附图说明
图1a为按照播放顺序的图像组的示意图。
图1b为按照译码顺序的图像组的示意图。
图2a与图2b为在播放顺序与译码顺序中都仅包含I-frame与P-frame的图像组的示意图。
图3a显示的是在包含I-frame、P-frame与B-frame的图像组中受损视频帧产生的效应。
图3b显示的是在仅包含I-frame与P-frame的图像组中受损视频帧产生的效应。
图4为传统视频译码方法的流程图。
图5是结合视频译码器的较佳视频译码方法流程图。
图6是用于解析高级语法元素的高级比特流结构的实施例示意图。
图7显示的是基本比特流ES,封包化的基本比特流PES以及传输流TS的数据格式示意图。
图8是实施根据本发明的译码方法的较佳接收器的模块示意图。
图9为根据本发明的丢失视频帧较佳检测方法流程图。
图10为根据本发明的取代丢失视频帧或不可译码的视频帧的较佳视频译码方法的流程图。
图11是根据本发明的以替代视频帧来取代丢失或不可译码的视频帧的实施例示意图。
图12是根据本发明的取代丢失或不可译码的视频帧的另一个较佳视频译码方法的流程图。
图13是根据本发明的产生替代视频帧的较佳方法流程图。
图14为根据本发明的详细的运动向量外插方法流程图。
图15a为根据本发明的显示产生替代视频帧的实施例示意图。
图15b是根据图15a的实施例产生P-frame的前向运动向量的实施例示意图。
图16为根据本发明的产生替代视频帧的另一个实施例示意图。
图17为根据本发明的产生替代视频帧的另一个实施例示意图。
图18a为根据本发明的产生替代视频帧实施例的示意图。
图18b为根据本发明的产生B-frame前向运动向量的实施例示意图。
具体实施方式
以下根据多个图式对本发明的较佳实施例进行详细描述,本领域普通技术人员阅读后应可明确了解本发明的目的。这些实施例仅用来例举本发明的实施方式,以及阐释本发明的技术特征,并非用来限制本发明的范畴。本发明的保护范围以前述权利要求书为准。
在此揭露的视频译码策略实施方式均可遵从于运动图象专家组(MovingPicture Expert Group,MPEG)标准。
如图1a与图1b中所示,当视频译码器译码并播放视频数据时,译码顺序与播放顺序可能是不同的。图1a为按照播放顺序的图像组(groups of pictures,GOP)的示意图,而图1b为按照译码顺序的图像组的示意图。图1a与图1b中的图像组包含画内帧(Intra frame,I-frame)、预测帧(Predictive frame,P-frame)或是双向帧(Bidirectional frame,B-frame)构成的帧序列,其中,按照固定间隔播放每一视频帧,藉由一个表示该帧类型的字母(比如I)以及一个表示播放顺序或译码顺序的数字(比如0)代表每一视频帧(比如I0)。I-frame通常是图像组的第一帧,通过未经时间轴上的(temporal)运动补偿的帧内编码(intra-coded)或是帧内预测编码(intra-prediction coded)对I-frame进行编码。P-frame是从相邻的前一个I-frame或是P-frame预测得来。B-frame是从先前以及后继的I-frame或是P-frame双向预测得来的。由于在译码顺序中被用于定义未来的帧,I-frame与P-frame被视为参考帧。请注意,也可能一个P-frame会参考多个帧,一个B-frame会参考多个先前与后继帧,并且在近来的视频编码标准中B-frame也可作为参考帧。视频译码器译码以图1b中所示的译码顺序{I0,P1,B0,B1,P2,B2,B3,I1,B4,B5,P3,B6,B7}来对视频帧的集合GOP0与GOP1进行译码,而以图1a所示的不同的播放顺序{I0,B0,B1,P1,B2,B3,P2,B4,B5,I1,B6,B7,P3}来进行播放。P-frame与B-frame的预测编码与预测译码依赖于先前或/与后继视频帧,这是因为通常译码较晚的预测视频帧需要译码数据,而所述译码数据来源于译码一个或多个较早参考帧,这样当较早的参考帧丢失或是不可译码的时候,则无法继续译码或是播放较晚的预测视频帧,导致视频当中的运动抖动以及用户不愉快的观赏经历。
图2a与图2b为在播放顺序与译码顺序中都仅包含I-frame与P-frame的图像组的示意图。视频译码器以图2b中所示的译码顺序{I0,P1,P2,P3,P4,P5,P6,I1,P7,P8,P9,P10,P11}来对视频帧的集合GOP0与GOP1进行译码,而以图2a所示的相同的播放顺序{I0,P1,P2,P3,P4,P5,P6,I1,P7,P8,P9,P10,P11}来进行播放。P-frame的预测编码与预测译码依赖于先前或/与后继视频帧,因为通常对较晚的预测视频帧进行译码需要来自对一个或更多较早参考帧进行译码而得到的译码数据,这样当较早的参考帧丢失或是不可译码的时候,则无法继续译码或是播放较晚的预测视频帧,导致用户不愉快的观赏经历。
图3a显示的是在包含I-frame、P-frame与B-frame的图像组中受损视频帧产生的效应。图3b显示的是在仅包含I-frame与P-frame的图像组中受损视频帧产生的效应。在图3a中,若第一I-frame即I0是不可译码的,则使得依赖于I0的帧P1、B0与B1也不可译码,随后导致整个图像组GOP0后来的视频帧{P2,B2,B3}不可译码。如果视频帧B2与B3使用前向的参考帧,那么它们可能也不可译码。如果第一P-frame即P1是不可译码的,则使得依赖于P1的帧P2、B2与B3也不可译码,随后导致视频帧B4、B5不可译码,如果视频帧B4与B5使用前向的参考帧,那么它们也不可译码,也就是说,受损或丢失的先前参考帧可能会导致在译码顺序当中的所有后来的视频帧不可译码。在图3b中,若第一I-frame即I0是不可译码的,则在同一图像组当中的所有视频帧不可译码,如果第二P-frame即P2是不可译码的,图像组GOP0中剩下的视频帧{P3,P4,P5,P6}也不可译码。在传统的视频译码方法中,视频译码器会丢弃所有不可译码的视频帧。在图3a与图3b所示的实施例中,视频帧丢弃受损的参考帧与所有受影响的后续帧,导致由于跳过多个图像而产生的突然的画面变化,而给用户带来不愉快的观赏经历。
图4为传统视频译码方法的流程图。在视频译码方法4开始(S400)之后,视频译码器接收视频比特流并定位其图像启始(picture start)(S402),解析高级语法元素(high-level syntax elements)(S404),以确定视频帧是否可译码(S406),若视频帧不可译码,则跳过对当前视频帧的译码(S408),否则继续视频译码与对已译码视频数据的处理等正常流程(S410),最后结束视频译码(S412)。高级语法元素是指在宏区块(macroblock)层之上的语法元素,可以是序列标头、图像组标头或图像标头中的语法元素。当参考帧丢失时,高级语法误差发生时,或是图像数据的部分或全部受损时,将视频帧视为不可译码。因为在S408中视频译码器跳过所有不可译码的视频帧,所以可能会存在由于大量图像被丢弃而产生的突然的画面变化,给用户带来不愉快的观赏经历。
为解决此问题,在图5中提供根据本发明实施例的视频译码策略,图5是结合视频译码器的较佳视频译码方法流程图。
在视频译码方法5开始(S500)之后,视频译码器从视频缓冲器获得视频比特流,并且定位当前视频帧的图像启始(S502),提供先前视频帧的历史语法元素(S504),接收当前视频帧以确定当前语法元素(S506),确定在当前的语法元素中是否存在高级语法误差(S508),在检测到高级语法误差后,根据历史语法元素确定替代语法元素,以替代当前语法元素(S510)。在MPEG系统中,每一视频帧在开端包含同步序列,用来表示视频帧的起始处,称为图像启始。先前与当前视频帧的时间关系按照译码顺序而言,换言之,在译码当前视频帧之前对前一视频帧进行译码。高级语法误差是指在宏区块(macroblock)层之上的语法误差,包括序列标头、图像组标头或图像标头中的语法元素。举例而言,当在图像标头中的语法元素超过合法数值的界限时,视频译码器可能会将其认定为图像层(picture-layer)语法误差。在S510中,视频译码器将历史语法元素指定为替代语法元素,如果语法元素具有周期性,则基于历史语法元素,可为替代语法元素确定一个近似值(likely value),即利用该历史语法元素来估计正确的语法元素,并且指定该估计的结果为替代语法元素。
当在语法元素中检测不到误差,或是已藉由替代语法元素修正高级语法元素时,在S512中,视频译码器继续在当前视频帧中的图像数据上实施MPEG译码。接下来在S514中,视频译码器译码当前视频帧,以检测是否存在丢失的视频帧或当前视频帧是否不可译码,在检测丢失视频帧或不可译码的视频帧之后,产生替代视频帧以替换丢失的或不可译码的视频帧(S516),最后结束视频译码(S518)。当参考帧丢失,高级语法误差发生,或是部分或者全部的图像数据受损时,视频译码器确定视频帧不可译码。替代视频帧的生成包括,指定以播放顺序的最接近的可译码视频帧,或是根据可译码视频帧的运动向量(Motion Vector,MV)以及当前视频帧与可译码视频帧之间的时间轴上的距离,产生替代视频帧。
根据图5中的视频译码方法,图6是用于解析高级语法元素的高级比特流结构的实施例示意图。本实施例以ISO/IEC 13818-2标准为例进行描述。由视频译码器接收的视频比特流经历各种数据检查,包括对以下内容的语法检查,序列标头(S600)、序列扩充(S602)、序列扩充与用户(S604)、GOP标头(S606)、用户数据(S608)、图像标头(S610)、图像编码扩充(S612)以及序列扩充与用户(S614),以及最后视频译码器在宏区块级别的图像数据上实施预测编码(S616)。最终返回序列标头(S618)或是到达序列结束处(S620)。在步骤S616中的视频译码之前的全部语法检查都在本发明的高级语法检查范围之内。
在一个实施例中,视频译码器解析在序列标头当中的语法元素(S600),而语法元素的长宽比(aspect_ratio)与帧率(frame_rate)包含非法值“0000”。接下来,并非像传统技术当中输出错误响应“在ISO/IEC 13818-2中的禁止值”来表示语法误差,也没有停止译码和数据处理,本发明的视频译码器通过指定来源于历史语法元素中的数值作为当前的语法元素(图5中的S510),并且继续图像数据的视频译码,利用可用信息以减少图像集合当中的不可译码的视频帧数量,同时提高视频质量。在另一个实施例当中,视频译码器解析图像标头当中的语法元素(S610),并检测到语法元素“图像编码类型”的非法值“100”。接下来,并非像传统技术当中丢弃不可译码的数据,视频译码器执行对当前视频帧图像编码类型的估计,在历史语法元素的图像类型的基础上估计究竟是I-frame、P-frame还是B-frame(S510),以及继续实施视频译码。
图7显示的是基本比特流ES(Elementary Stream),封包化的基本比特流PES(Packetized Elementary Stream)以及传输流TS(Transport Stream)的数据格式示意图。在MPEG传输标准之下,包括已编码影像数据的视频基本数据ES被封包化为合适的尺寸,于是生成封包化的ES(即PES)。封包化的基本比特流PES是由MPEG通讯协议定义的规范,MPEG通讯协议允许将基本比特流ES分成多个封包以便数据传输。通常的,视频或音频基本比特流ES被传送至视频或音频编码器以转换成视频或音频PES封包,其中每一封包基本上包含标头与视频/音频ES数据两部分。接着封装进传输流TS或是节目流的内部。传输流TS具有视频、音频以及系统TS封包,每一封包基本可分为传输流标头和音频PES/视频PES/系统两部分。视频、音频以及系统TS封包则可利用广播技术进行多工转换(multiplex)与传送,比如在ATSC与DVB当中所使用的,可以由接收器接收并实施解多工与译码操作,以恢复视频或音频基本比特流ES。
图8是实施根据本发明的译码方法的较佳接收器的模块示意图。包括解多任务器800、视频缓冲器810、视频译码器812、视频控制器814、音频缓冲器820、音频译码器822、系统缓冲器830以及系统译码器832,解多任务器800耦接于视频缓冲器810、音频缓冲器820、以及系统缓冲器830。视频缓冲器810耦接于视频译码器812,并随后耦接于视频控制器814。音频缓冲器820耦接于音频译码器822,系统缓冲器830耦接于系统译码器832。输入传输流TS由解多任务器800根据选择信号Sel解多工,成为视频、音频或系统TS封包,而视频、音频或系统TS封包被分别传递至视频缓冲器810,音频缓冲器820与系统缓冲器830。从视频TS封包中移除TS标头以提供视频PES即VPES(Video PES),以及接下来VPES被存储于视频缓冲器810中。同时,从音频与系统TS中分别剥除TS标头以提供音频PES即APES(Audio PES)与系统数据Dsys,APES与系统数据Dsys将分别存储于音频译码器822与系统译码器832当中。
藉由在视频PES数据的启始处移除PES标头,视频译码器812从视频缓冲器810获得视频帧FV。PES标头在可选字段(optional field)中包含表达时间戳(Presentation Time Stamp,PTS)与译码时间戳(Decoding Time Stamp,DTS)信息,PES标头可用于识别是否存在丢失视频帧。与此类似,可在音频译码器822与系统译码器832处移除PES标头,藉此分别获得音频帧FA与系统数据Dsys。在定位到视频帧的图像启始之后,视频译码器812也获得随后的时间轴上的参考信息Tref,且将PTS,DTS与时间轴上的参考信息Tref转送到视频控制器814。视频控制器814接收PTS,DTS与时间轴上的参考信息Tref以确定是否存在丢失视频帧,并藉由信号Dmiss告知视频译码器812确认存在丢失帧。在检测到丢失帧后,视频译码器812产生替代视频帧,并基于替代视频帧实施视频预测编码。最后视频译码器812可输出视频数据DV,音频译码器822也可输出音频数据DA。
译码时间戳DTS指示应当从视频缓冲器810立即移除视频帧FV,而由视频译码器812对视频帧FV进行译码的某一具体时间。表达时间戳PTS指示应当从接收缓冲器移除已译码的译码视频帧FV而将其表达以供播放的某一具体时间。PTS或DTS对比特流进行定义,确定了以不超过700ms的间隔获取比特流。时间轴上的参考信息Tref在GOP标头之后设定为0,而在播放顺序中每经过一视频帧其数值加1。当在播放顺序中,当前时间轴上的参考信息与前一时间轴上的参考信息连续时,视频控制器814确定不存在丢失图像,当前视频帧的当前DTS与前一视频帧的前一DTS相比不大于700ms;否则视频控制器814藉由信号Dmiss指示存在丢失视频帧。
结合图8当中的接收器,图9为根据本发明的丢失视频帧较佳检测方法流程图。检测方法9可结合图5中的步骤S514,以检测图像组当中的丢失视频帧。
在进行丢失视频帧的检测方法9开始(S900)之后,解多任务器800接收输入传输流TS来恢复视频封包化的基本比特流VPES,并且在视频PES的PES标头当中确定表达时间戳PTS与译码时间戳DTS(S902)。视频译码器812从视频PES即VPES当中获取视频帧FV,以确定视频帧的时间轴上的参考信息Tref(S904),以及视频控制器814接收PTS、DTS与时间轴上的参考信息Tref以确定是否存在丢失视频帧(S906),最后结束检测(S908)。在检测到丢失视频帧之后,如图5步骤S516当中所提供的,视频译码器812产生替代视频帧以取代丢失视频帧。可藉由指定在播放顺序中最接近的可译码视频帧作为替代视频帧来产生替代视频帧,或者根据可译码视频帧的运动向量以及当前视频帧与可译码视频帧之间的时间轴上的距离来产生替代视频帧。
根据本发明,图10为取代丢失视频帧或不可译码的视频帧的较佳视频译码方法的流程图。
在视频译码方法10开始(S1000)之后,藉由对视频比特流的图像启始进行定位,视频译码器从视频缓冲器获取当前视频帧(S1002),并解析高级语法元素(S1004)。在某些实施例中,视频译码器在步骤S1004之前对高级语法误差进行检查校正。对高级语法误差的检查校正已在图5的实施例当中进行了详细描述,在此不再赘述。在步骤S1006当中,视频译码器确定在图像组当中是否存在丢失视频帧,若存在,以在播放顺序中最接近的可译码视频帧替代丢失视频帧(S1008),否则,继续确定当前视频帧是否可译码(S1010),并在检测到不可译码的视频帧后,以播放顺序中最接近的可译码视频帧替代不可译码的视频帧(S1012)。当没有检测到丢失或是不可译码的视频帧时,视频译码器则基于当前视频帧执行视频预测译码,以恢复视频数据DV,并且实施之后的相关数据处理等正常流程(S1014),最后结束当前视频帧的视频译码过程10(S1016)。
在步骤S1006当中,可根据图9揭露的检测方法识别丢失的图像,换言之,利用PTS、DTS与时间轴上的参考信息Tref确定是否存在丢失视频帧。在步骤S1010当中,当参考帧丢失,或是部分或全部图像数据受损时,视频帧不可译码。
根据图10中的帧产生方法,图11是以替代视频帧来取代丢失或不可译码的视频帧的实施例示意图。在一个实施例当中,参考视频帧P2为丢失或不可译码的视频帧,因此,根据播放顺序中最接近的可译码视频帧(比如B-frame B3),视频译码器产生丢失或不可译码P-frame P2的替代视频帧,由此,视频译码器仍可为依赖于P-frame P2的视频帧执行预测译码,减少了不可译码的视频帧数量,避免观赏质量的严重下降。P-frame P2的替代视频帧可以为参考帧(如P1)或者只有前向参考的非参考帧(如B3)。
图12是根据本发明的取代丢失或不可译码的视频帧的另一个较佳视频译码方法的流程图。
在视频译码方法12开始(S1200)之后,视频译码器从视频缓冲器获取视频比特流以定位图像启始(S1202),并且解析高级语法元素(S1204)。在一些实施例当中,视频译码器在步骤S1204之前检查校正高级语法误差。对高级语法误差的检查校正已在图5的实施例当中进行了详细描述,在此不再赘述。在步骤S1206当中,视频译码器确定在图像组当中是否存在丢失视频帧,若存在,根据可译码视频帧的运动向量以及当前视频帧与可译码视频帧之间的时间轴上的距离来产生替代视频帧(S1208),否则,继续确定当前视频帧是否可译码(S1210)。在一些实施例当中,若当前视频帧的参考帧丢失,或是检测到图像层语法误差时,则确认当前视频帧为不可译码。若当前视频帧不可译码,则根据可译码视频帧的运动向量以及当前视频帧与可译码视频帧之间的时间轴上的距离,视频译码器产生替代视频帧,并且以产生的替代视频帧替代不可译码的视频帧(S1212)。当没有检测到丢失或是不可译码的视频帧时,视频译码器则基于当前视频帧执行视频预测译码,以恢复视频数据DV,并且实施之后的相关数据处理等正常流程(S1214),最后结束当前视频帧的视频译码过程12(S1216)。
在步骤S1206当中,可根据图9揭露的检测方法识别丢失的图像,换言之,利用PTS,DTS与时间轴上的参考信息Tref确定是否存在丢失视频帧。在步骤S1210当中,当参考帧丢失,或是部分或全部图像数据受损时,视频帧不可译码。
在步骤S1208与步骤S1212当中,根据可译码视频帧的运动向量,当前视频帧与可译码视频帧之间的时间轴上的距离(播放顺序的时间差)以及丢失或不可译码视频帧的帧类型来产生替代视频帧。结合图12当中的步骤S1208或S1212,图13是产生替代视频帧的较佳方法流程图。
在开始的步骤S1300当中,如步骤S1206与S1210一样,视频译码器检测丢失或不可译码视频帧,并在步骤S1302中确定丢失或不可译码视频帧是否为参考视频帧(如I-frame与P-frame)。如果是,视频译码器则执行运动向量(MV)外插(extrapolation)以产生替代视频帧(S1304),如果不是,则视频译码器实施运动向量内插(interpolation)(近似直接模式)以产生替代视频帧(S1306)。在替代视频帧产生之后,视频译码器以替代视频帧替代丢失视频帧或不可译码视频帧,最后结束产生替代视频帧的方法13(S1308)。
结合图13当中的步骤S1304,图14为详细的运动向量外插方法流程图。在运动向量外插方法14开始(S1400)之后,视频译码器首先确定丢失或不可译码视频帧是否具有依赖于它们的依赖性非参考帧(如B-frame),如果是,则转至步骤S1404,否则转至步骤S1406。
在步骤S1404当中,当丢失或不可译码的视频帧是具有依赖性的B-frame的参考帧,替代视频帧仅仅包含前向运动向量。根据先前可译码的依赖性B-frame与当前视频帧之间的时间轴上的距离,以及根据另一个先前可译码的参考视频帧与当前视频帧之间的时间轴上的距离,外插先前可译码的依赖性B-frame的运动向量,以产生替代视频帧的前向运动向量,由此产生替代视频帧。先前可译码的依赖性B-frame在播放顺序中先于当前视频帧。
在步骤S1406中,当丢失视频帧或不可译码的视频帧是不具有依赖性的B-frame的参考帧时,替代视频帧仅包含前向运动向量。根据先前可译码的参考帧,以及根据另一个先前可译码的视频帧与当前视频帧之间的时间轴上的距离,外插先前可译码参考帧的运动向量,以产生替代视频帧的前向运动向量,由此产生替代视频帧。先前可译码的帧在播放顺序中先于当前视频帧。
重建替代视频帧之后,在步骤S1408中结束MV外插方法14。
根据图14当中的运动向量外插法,图15a为显示产生替代视频帧的实施例示意图。在图15a当中,参考帧P2是丢失或不可译码的(S1404),根据先前可译码的依赖性B-frame B3与当前视频帧之间的时间轴上的距离,以及根据另一个先前可译码的视频帧P1与当前视频帧之间的时间轴上的距离,外插先前可译码的依赖性B-frame B3的运动向量,以产生替代视频帧的前向运动向量,由此产生替代视频帧。图15b是根据图15a的实施例产生P-frame的前向运动向量的实施例示意图。视频译码器仅使用B-frame B3的前向运动向量MVF以及在帧B3与帧P2之间的时间轴上的距离以及帧P1与帧P2之间的时间轴上的距离,来实施运动向量外插以产生替代视频帧的前向运动向量MVF,如在图15b中右边帧P2的MB所示。如果替代视频帧的结果前向运动向量MVF超过帧界限,则应用运动向量剪辑(clipping)技术于结果前向运动向量MVF上。
根据图14当中的运动向量外插方法,图16为产生替代视频帧的另一个实施例示意图。在图16当中,参考帧P2为丢失的或不可译码的(S1404),藉由根据先前可译码的B-frame B2与当前视频帧P2之间的时间轴上的距离,以及根据另一个先前可译码的视频帧P1与先前可译码的B-frame B2之间的时间轴上的距离,视频译码器外插先前可译码的B-frame B2的运动向量以产生替代视频帧的前向运动向量,由此产生替代视频帧。在本实施例当中,B-frame B2后向参考丢失或不可译码帧P2,并且根据时间轴上的距离适当量度B2的后向运动向量MVB;举例而言,可对B2的MVB取反(negate)并用于参考帧B1;或是先将其减半,再取反,然后用于参考帧P1。
根据图14当中的运动向量外插方法,图17为产生替代视频帧的另一个实施例示意图。在图17当中,参考帧P3为丢失的或不可译码的(S1406),根据先前可译码的参考帧P2与另一个先前可译码的参考帧P1之间的时间轴上的距离,以及根据先前可译码的视频帧P2与当前视频帧之间的时间轴上的距离,视频译码器外插先前可译码的参考帧P2的运动向量以产生替代视频帧的前向运动向量,由此产生替代视频帧。
根据图13当中的步骤S1306的近似直接模式,图18a为产生替代视频帧实施例的示意图。当丢失视频帧或不可译码视频帧为具有可译码参考帧的双向帧时,替代视频帧包含前向与后向运动向量。根据先前可译码的参考帧与不可译码的视频帧之间的时间轴上的距离TF,以及根据后继的可译码参考帧与不可译码视频帧之间的时间轴上的距离TB,对丢失或不可译码的双向帧的后向可译码的参考帧的(前向)运动向量进行比例均衡,藉此产生替代视频帧,以进一步产生替代视频帧的前向与后向运动向量。图18a显示的是当双向帧B3丢失或不可译码时,视频译码器根据以下方程序计算前向运动向量MVF(B3)与后向运动向量MVB(B3):
其中,先前可译码参考帧为帧P1,后继可译码参考帧为帧P2,时间轴上的距离TF为先前可译码参考帧P1与不可译码视频帧B3之间的时间差,而时间轴上的距离TB为后继可译码参考帧P2与不可译码视频帧B3之间的时间差。
图18b为根据图13当中的方法与方程式(1)的产生B-frame前向运动向量的实施例示意图。视频帧B3的替代视频帧包含前向运动向量MVF与后向运动向量MVB,根据后继参考帧P2的前向运动向量与方程式(1)计算得出上述前向运动向量MVF与后向运动向量MVB。
上述实施例仅用来例举本发明的实施方式,以及阐释本发明的技术特征,并非用来限制本发明的范畴。任何普通技术人员可依据本发明的精神轻易完成的改变或均等性的安排均属于本发明所主张的范围,本发明的权利范围应以权利要求书为准。
Claims (8)
1.一种视频译码方法,其特征在于,包含:
提供先前视频帧的历史语法元素;
接收当前视频帧,以确定其中的当前语法元素;
确定在所述当前语法元素中是否存在高级语法误差;以及
在检测到所述高级语法误差后,根据所述历史语法元素确定替代语法元素以替代所述当前语法元素,
其中所述高级语法误差为宏区块层之上的语法误差。
2.根据权利要求1所述的视频译码方法,其特征在于,所述高级语法误差为图像层语法误差。
3.根据权利要求1所述的视频译码方法,其特征在于,所述先前视频帧是依照所述视频译码的顺序而言的。
4.根据权利要求1所述的视频译码方法,其特征在于,确定所述替代语法元素的步骤包含:利用所述历史语法元素来估计正确的语法元素,并且指定所述估计的结果为替代语法元素。
5.根据权利要求1所述的视频译码方法,其特征在于,在权利要求1的所有步骤之后进一步包含:
译码所述当前视频帧,以检测是否存在丢失视频帧或不可译码的视频帧;以及
在检测到所述丢失视频帧或不可译码的视频帧后,产生替代视频帧以取代所述丢失视频帧或所述不可译码的视频帧。
6.根据权利要求5所述的视频译码方法,其特征在于,产生所述替代视频帧的步骤包含指定在播放顺序中最接近的可译码视频帧为所述替代视频帧。
7.根据权利要求5所述的视频译码方法,其特征在于,产生所述替代视频帧的步骤包含根据可译码的视频帧以及所述当前视频帧与所述可译码的视频帧之间的时间轴上的距离产生所述替代视频帧。
8.根据权利要求5所述的视频译码方法,其特征在于,其中检测丢失视频帧的步骤包含:
以解多任务器接收传输流,来恢复视频封包化的基本比特流,在所述视频封包化的基本比特流的标头中确定表达时间戳以及译码时间戳;
以译码器从所述视频封包化的基本比特流获取当前视频帧,来确定所述当前视频帧的时间轴上的参考信息;以及
以控制器接收所述表达时间戳、所述译码时间戳以及所述时间轴上的参考信息,来确定是否存在丢失视频帧。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210393821.7A CN102905139B (zh) | 2008-12-22 | 2009-03-20 | 视频译码方法 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/340,872 US20100158130A1 (en) | 2008-12-22 | 2008-12-22 | Video decoding method |
US12/340,872 | 2008-12-22 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210393821.7A Division CN102905139B (zh) | 2008-12-22 | 2009-03-20 | 视频译码方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101765016A CN101765016A (zh) | 2010-06-30 |
CN101765016B true CN101765016B (zh) | 2012-12-12 |
Family
ID=42266059
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009101295216A Active CN101765016B (zh) | 2008-12-22 | 2009-03-20 | 视频译码方法 |
CN201210393821.7A Active CN102905139B (zh) | 2008-12-22 | 2009-03-20 | 视频译码方法 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210393821.7A Active CN102905139B (zh) | 2008-12-22 | 2009-03-20 | 视频译码方法 |
Country Status (3)
Country | Link |
---|---|
US (3) | US20100158130A1 (zh) |
CN (2) | CN101765016B (zh) |
TW (1) | TWI495344B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100231797A1 (en) * | 2009-03-10 | 2010-09-16 | Broadcom Corporation | Video transition assisted error recovery for video data delivery |
KR20110037590A (ko) * | 2009-10-07 | 2011-04-13 | 삼성전자주식회사 | P2p 네트워크 시스템 및 그 데이터 송수신 방법 |
US8539535B2 (en) * | 2009-11-30 | 2013-09-17 | Time Warner Cable Enterprises Llc | Methods and apparatus for supporting VOD requests in a system with hierarchical content stores |
TWI450538B (zh) * | 2011-03-22 | 2014-08-21 | 多媒體串流資料解密系統與方法 | |
CN103563380B (zh) * | 2011-05-27 | 2017-07-21 | 寰发股份有限公司 | 减少用于视频处理的行缓冲的方法及装置 |
US9736489B2 (en) * | 2011-09-17 | 2017-08-15 | Qualcomm Incorporated | Motion vector determination for video coding |
US9510022B2 (en) * | 2012-12-12 | 2016-11-29 | Intel Corporation | Multi-layer approach for frame-missing concealment in a video decoder |
JP2015173335A (ja) * | 2014-03-11 | 2015-10-01 | 株式会社リコー | 情報処理装置、情報処理システム及びプログラム |
US10158889B2 (en) * | 2015-01-31 | 2018-12-18 | Intel Corporation | Replaying old packets for concealing video decoding errors and video decoding latency adjustment based on wireless link conditions |
US10304468B2 (en) * | 2017-03-20 | 2019-05-28 | Qualcomm Incorporated | Target sample generation |
CN110401848A (zh) * | 2018-04-24 | 2019-11-01 | 北京视联动力国际信息技术有限公司 | 一种视频播放方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1856111A (zh) * | 2000-05-15 | 2006-11-01 | 诺基亚有限公司 | 视频信号编解码方法、编解码器及其相关的设备 |
US7302385B2 (en) * | 2003-07-07 | 2007-11-27 | Electronics And Telecommunications Research Institute | Speech restoration system and method for concealing packet losses |
CN101188771A (zh) * | 2007-12-18 | 2008-05-28 | 北京中星微电子有限公司 | 视频解码错误检测与消除的方法及装置 |
CN101288315A (zh) * | 2005-07-25 | 2008-10-15 | 汤姆森特许公司 | 隐藏丢失视频帧的方法和装置 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3183155B2 (ja) * | 1996-03-18 | 2001-07-03 | 株式会社日立製作所 | 画像復号化装置、及び、画像復号化方法 |
US5784527A (en) * | 1996-03-22 | 1998-07-21 | Cirrus Logic, Inc. | System and method for error handling during playback of an audio/video data stream |
US5875192A (en) | 1996-12-12 | 1999-02-23 | Pmc-Sierra Ltd. | ATM inverse multiplexing system |
KR100247978B1 (ko) * | 1997-08-08 | 2000-03-15 | 윤종용 | 픽쳐 디코딩 동기화 회로 및 그 방법 |
US6052415A (en) * | 1997-08-26 | 2000-04-18 | International Business Machines Corporation | Early error detection within an MPEG decoder |
GB2352350B (en) * | 1999-07-19 | 2003-11-05 | Nokia Mobile Phones Ltd | Video coding |
US6662329B1 (en) * | 2000-03-23 | 2003-12-09 | International Business Machines Corporation | Processing errors in MPEG data as it is sent to a fixed storage device |
US20030012287A1 (en) * | 2001-03-05 | 2003-01-16 | Ioannis Katsavounidis | Systems and methods for decoding of systematic forward error correction (FEC) codes of selected data in a video bitstream |
US6836514B2 (en) * | 2001-07-10 | 2004-12-28 | Motorola, Inc. | Method for the detection and recovery of errors in the frame overhead of digital video decoding systems |
JP2004336405A (ja) * | 2003-05-08 | 2004-11-25 | Ricoh Co Ltd | 動画像処理装置、プログラム、記憶媒体および動画像処理方法 |
WO2005046167A1 (en) * | 2003-11-07 | 2005-05-19 | Matsushita Electric Industrial Co., Ltd. | System and method for time based digital content access |
JP2005210219A (ja) | 2004-01-20 | 2005-08-04 | Sony Corp | 送受信システム、送信装置および方法、受信装置および方法、記録媒体、並びにプログラム |
US9560367B2 (en) * | 2004-09-03 | 2017-01-31 | Nokia Technologies Oy | Parameter set and picture header in video coding |
JP4730183B2 (ja) | 2006-04-17 | 2011-07-20 | 株式会社日立製作所 | 映像表示装置 |
JP2008017351A (ja) * | 2006-07-07 | 2008-01-24 | Toshiba Corp | パケットストリーム受信装置 |
US8958486B2 (en) * | 2007-07-31 | 2015-02-17 | Cisco Technology, Inc. | Simultaneous processing of media and redundancy streams for mitigating impairments |
US9357233B2 (en) * | 2008-02-26 | 2016-05-31 | Qualcomm Incorporated | Video decoder error handling |
-
2008
- 2008-12-22 US US12/340,872 patent/US20100158130A1/en not_active Abandoned
-
2009
- 2009-03-11 TW TW098107807A patent/TWI495344B/zh not_active IP Right Cessation
- 2009-03-20 CN CN2009101295216A patent/CN101765016B/zh active Active
- 2009-03-20 CN CN201210393821.7A patent/CN102905139B/zh active Active
-
2012
- 2012-01-04 US US13/343,593 patent/US9264729B2/en not_active Expired - Fee Related
-
2016
- 2016-01-08 US US14/991,830 patent/US10075726B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1856111A (zh) * | 2000-05-15 | 2006-11-01 | 诺基亚有限公司 | 视频信号编解码方法、编解码器及其相关的设备 |
US7302385B2 (en) * | 2003-07-07 | 2007-11-27 | Electronics And Telecommunications Research Institute | Speech restoration system and method for concealing packet losses |
CN101288315A (zh) * | 2005-07-25 | 2008-10-15 | 汤姆森特许公司 | 隐藏丢失视频帧的方法和装置 |
CN101188771A (zh) * | 2007-12-18 | 2008-05-28 | 北京中星微电子有限公司 | 视频解码错误检测与消除的方法及装置 |
Non-Patent Citations (1)
Title |
---|
JP特开2004-336405A 2004.11.25 |
Also Published As
Publication number | Publication date |
---|---|
TWI495344B (zh) | 2015-08-01 |
CN102905139B (zh) | 2016-04-13 |
TW201026078A (en) | 2010-07-01 |
US20160127740A1 (en) | 2016-05-05 |
US20100158130A1 (en) | 2010-06-24 |
US9264729B2 (en) | 2016-02-16 |
CN102905139A (zh) | 2013-01-30 |
US10075726B2 (en) | 2018-09-11 |
CN101765016A (zh) | 2010-06-30 |
US20120099654A1 (en) | 2012-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101765016B (zh) | 视频译码方法 | |
JP4132664B2 (ja) | トランスコーディング | |
CN102264004B (zh) | 一种防止关键帧缺失而不能seek的方法及装置 | |
JP3672185B2 (ja) | コーディングシステム及びこれを用いた装置並びに記録媒体 | |
US7072571B2 (en) | Data reproduction transmission apparatus and data reproduction transmission method | |
JPH07203433A (ja) | デジタル画像符号化方法及びデジタル画像復号化方法 | |
WO2003005728A1 (en) | Transcoding of video data streams | |
JP2001218213A (ja) | 画像信号変換符号化装置 | |
JPH09187007A (ja) | 誤りを含むデータストリームへの再同期の方法と、符号化器及び復号化器 | |
US20090232223A1 (en) | Moving Image Conversion Method, Moving Image Convesion Apparatus, Moving Image Conversion System, and Server Apparatus, and Program | |
JP2002077815A (ja) | 画像情報の伝送装置、伝送システムおよび伝送方法 | |
JP4739295B2 (ja) | 映像信号生成装置、映像信号生成方法、映像信号生成プログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体 | |
EP1411522A3 (en) | Determining a scene change point | |
JP4178521B2 (ja) | 符号化映像信号の記録方法、及び映像信号符号化装置 | |
JP3792770B2 (ja) | 記録再生装置 | |
JP4193162B2 (ja) | 画像信号符号化装置 | |
JP4596277B2 (ja) | 符号化装置、符号化方法、復号装置及び復号方法 | |
CN102577130A (zh) | 从第一mpeg流到第二mpeg流的代码转换器 | |
JP2007036705A (ja) | 映像蓄積再生装置 | |
JP2008010997A (ja) | 情報処理装置、情報処理方法及び半導体集積回路 | |
JP2000224588A (ja) | 画像再符号化方法および画像再符号化装置 | |
JP2004007736A (ja) | 画像復号化装置、画像復号化方法 | |
JP2001103489A (ja) | 動画像信号伝送システムとその符号化装置及び復号装置 | |
JP2007215068A (ja) | 画像処理装置および方法、並びにプログラム | |
JP2007259492A (ja) | 情報処理装置および方法 |
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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220216 Address after: ottawa Patentee after: Xueshan Technology Co.,Ltd. Address before: China Taiwan Hsinchu Science Park Hsinchu city Dusing a road No. Patentee before: MEDIATEK Inc. |
|
TR01 | Transfer of patent right |