CN101800902B - 用于检测错误并恢复视频数据的方法 - Google Patents

用于检测错误并恢复视频数据的方法 Download PDF

Info

Publication number
CN101800902B
CN101800902B CN2010101074095A CN201010107409A CN101800902B CN 101800902 B CN101800902 B CN 101800902B CN 2010101074095 A CN2010101074095 A CN 2010101074095A CN 201010107409 A CN201010107409 A CN 201010107409A CN 101800902 B CN101800902 B CN 101800902B
Authority
CN
China
Prior art keywords
data division
backup copies
described data
nalu
sps
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
CN2010101074095A
Other languages
English (en)
Other versions
CN101800902A (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.)
Taiwan Semiconductor Manufacturing Co TSMC Ltd
Global Unichip Corp
Original Assignee
Taiwan Semiconductor Manufacturing Co TSMC Ltd
Global Unichip Corp
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 Taiwan Semiconductor Manufacturing Co TSMC Ltd, Global Unichip Corp filed Critical Taiwan Semiconductor Manufacturing Co TSMC Ltd
Publication of CN101800902A publication Critical patent/CN101800902A/zh
Application granted granted Critical
Publication of CN101800902B publication Critical patent/CN101800902B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods 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/895Methods 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)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明提供了一种用于检测错误和恢复视频数据的方法。用于处理视频数据的方法包括:提供位流;以及解码位流。解码位流的步骤包括:从位流中提取数据部分;从位流中提取数据部分的第一备份副本;以及根据数据部分自身和数据部分的第一备份副本来确定数据部分中语法的正确值。可以从位流中提取数据部分的第二备份副本,并将其与数据部分和数据部分的第一备份副本进行交叉检查。

Description

用于检测错误并恢复视频数据的方法
本申请要求于2009年2月11日提交的、标题为“Method for DetectingErrors and Recovering Video Data”的美国临时申请No.61/151,747的优先权,其申请结合与此作为参考。
技术领域
本发明总的来说涉及视频数据译码和编码方法,更具体地,涉及用于检测并校正视频数据中的错误的方法。
背景技术
增强视频通信系统被持续增强,以满足诸如减少成本、减小尺寸、提高服务质量和增加数据率的要求。ITU-T视频编码专家组(VCEG)和ISO/IEC移动图像专家组(MPEG)已经定义了视频编码标准,如已知的ITU-T推荐H.264和ISO/IEC MPEG-4高级视频编码(H.264)。H.264标准包括诸如空间预测、时间预测、转换、交织编码和防损失熵编码等功能。
尽管可以使用许多高级处理技术,但符合H.264的视频编码器和用于编码和解码的方法在该标准中没有指定。因此,通信系统的优化对于视频编码器和解码器的设计来说被遗忘。
在使用H.264标准的数据传输中,数据以位流的方式被传输。现有的H.264格式缺乏用于检测错误并根据错误校正位流的机制。例如,每个H.264位流都包括名为seq_parameter_set(SPS)的报头,其存储位流的重要的参数。如果对于SPS发生错误,则整个位流(其可能包括数百个图像帧)可能不被正确地解码。此外,虽然可以为不同的范围,诸如pic_parameter_set(PPS)和宏块(MB)数据的其他参数都影响图像的解码。然而,由于位流格式,如果发生任何错误,例如丢失位或者位被错误地插入,则整个位流的解码可能失败。解码器在其可以再次解码之前必须等待下一个SPS或PPS。另一方面,MB中的错误可以被传播到相同帧中的剩余MB。因此,所需要的是用于克服现有技术中上述缺陷的错误检测和校正机制。
发明内容
根据本发明的实施例,用于处理视频数据的方法包括:提供位流;以及解码位流。解码位流的步骤包括:从位流中提取数据部分;从位流中提取数据部分的第一备份副本;以及根据数据部分和数据部分的第一备份副本来确定数据部分中语法的正确值(correct value)。可以从位流中提取数据部分的第二备份副本,并将其与数据部分和数据部分的第一备份副本进行交叉检查。还公开了其他实施例。
根据本发明的实施例,一种用于处理视频数据的方法包括:提供H.264位流;以及对所述H.264位流进行解码,包括:从所述H.264位流中提取数据部分,其中,所述数据部分选自基本由seq_parameter_set(SPS)、pic_parameter_set(PPS)、宏块(MB)信息(MB_info)、MB_data和它们的组合组成的组;从所述H.264位流提取所述数据部分的第一备份副本;使用第一偏移校正字节将所述数据部分的所述第一备份副本偏移到正确的位位置;执行第一循环冗余校验(CRC)以确定所述数据部分的所述第一备份副本的正确性;以及根据所述数据部分自身和所述数据部分的所述第一备份副本,确定所述数据部分中语法的正确值。
根据本发明的实施例,一种用于处理视频数据的方法,所述方法包括:对所述H.264位流进行编码,包括:将数据部分编码到所述H.264位流中,其中,所述数据部分选自基本由seq_parameter_set(SPS)、pic_parameter_set(PPS)、宏块(MB)信息(MB_info)、MB_data和它们的组合组成的组;以及将所述数据部分的第一备份副本编码到所述H.264位流中。
优选地,该方法还包括:将所述数据部分的第二备份副本编码到所述H.264位流中。
优选地,该方法还包括:从所述H.264位流中解码所述数据部分;从所述H.264位流中解码所述数据部分的所述第一备份副本;从所述H.264位流中解码所述数据部分的所述第二备份副本;以及交叉检查所述数据部分、所述数据部分的所述第一备份副本和所述数据部分的所述第二备份副本中的语法的值,以确定所述语法的正确值。
优选地,该方法还包括:在所述数据部分的所述第一备份副本之后,将循环冗余校验(CRC)数据和偏移校正字节编码到所述H.264位流中。
优选地,所述数据部分的所述第一备份副本被编码到包括所述数据部分的网络抽象层单元(NALU)之后的位置。
优选地,所述数据部分的所述第一备份副本被编码到包括所述数据部分的NALU内部的位置。
本发明的优点包括用于找到并校正H.264位流中的错误的机制,因此提高了H.264位流传输的可靠性。
附图说明
为了更好地理解本发明及其优点,现在结合附图进行以下描述作为参考,其中:
图1示出了H.264位流和用于插入备份数据的位置;
图2A示出了包括在用于SPS的原始NALU之后插入的seq_parameter_set(SPS)的备份副本的备份网络抽象层单元(NALU);
图3A示出了插入到用于SPS的原始NALU内的SPS的备份副本;
图2B示出了包括在用于PPS的原始NALU之后插入的pic_parameter_set(PPS)的备份副本的备份NALU;
图3B示出了在用于PPS的原始NALU内插入的PPS的备份副本;
图4示出了用于对具有图2A或图2B所示格式的位流进行解码的流程图,其中,执行交叉检查以提取SPS和PPS中语法的正确值;
图5示出了用于对具有图3A或图3B所示格式的位流进行解码的流程图,其中,执行交叉检查以提取SPS和PPS中语法的正确值;
图6和图7示意性地示出了图像帧以及可以被备份的宏块(MB)数据;
图8示出了包括MB相关数据的备份副本的备份NALU,其中,备份NALU被插入到各个PPS的原始NALU之后;
图9示出了包括插入到各个PPS的原始NALU内的MB相关数据的备份副本的备份NALU;
图10A和图10B示出了与PPS和片段(slice)相关的两种格式;
图11示出了用于对具有图8所示格式的位流进行解码的流程图,其中,执行交叉检查以提取MB中语法的正确值;以及
图12示出了用于对具有图9所示格式的位流进行解码的流程图,其中,执行交叉检查以提取MB中语法的正确值。
具体实施方式
下面详细描述本发明优选实施例的制造和使用。然而,应该理解,本发明提供了许多可以在具体环境下被具体化的许多可应用的发明思想。所讨论的具体实施例仅仅示出了制造和使用本发明的具体方式,并不限制本发明的范围。
提供了新的错误检测和校正方法以及对应格式的位流。讨论了实施例的变化和操作。贯穿本发明的各个附图和所示实施例,类似的参考标号用于表示类似的元件。尽管详细讨论了位流格式的解码,但位流的编码也在本发明的实施例的范围内。
图1示出了位流2,其可以是H.264位流。位流2包括多个网络抽象层单元(NALU),其可以是数据包。包括seq_parameter_set(SPS)、pic_parameter_set(PPS)和片段数据的NALU是不同类型的NALU, 并且被分别表示为NALUSPS(或可选地SPS)、NALUPPS(或可选地PPS)和NALUSlice(或可选地Slice(片段))。具有不同格式的NALU通过不同的NALU_type_id来表示。例如,NALUSPS具有为7的NALU_type_id,而NALUPPS具有为8的NALU_type_id。SPS可包括诸如profile_idc、constraint_set0_flag、constraint_set1_flag、seq_parameter_set_id等的语法。PPS可包括诸如pic_parameter_set_id、seq_parameter_set_id、entropy_coding_mode_flag、pic_order_present_flag等的语法。贯穿整个描述,虚线(例如,虚线4)用于示出NALU的具体实施例或详情(或数据的一部分),其中,连接至线4顶端的块对应于NALU或数据,而连接至线4底部的块对应于具体实施例或详情。
如图1所示,位流可包括NALUSPS、一个或多个NALUPPS和多个NALUSlice。NALUSlice可包括多个片段数据,其包括宏块(MB)信息(MB_info)和MB_data。注意,H.264位流可具有多种格式的变化。尽管仅讨论了一些变化,但本领域的技术人员可应用其他变化的实施例的思想。
在传统的H.264位流格式中,NALUSPS、NALUPPS和NALUSlice都不具有备份副本。因此,如果这些数据被破坏,则没有充分的数据恢复机制。本发明的实施例提供了用于恢复被破坏数据的备份数据。图1示出了示例性位置6、8、9、和12,在这些位置可以插入备份数据。然而,其他插入位置也在本发明实施例的范围内。在下面段落中详细讨论备份数据的详情。
图2A示出了用于对位流进行编码以及备份SPS的示例性实施例。示出了位流的一部分,该部分包括作为具有SPS的原始NALUSPS的NALUSPS。两个备份NALU(即,NALU-1SPS和NALU-2SPS)被放置在原始NALUSPS的后面。NALU-1SPS和NALU-2SPS的每一个都包括SPS的备份副本、循环冗余校验(CRC)数据和偏移校正字节。SPS的备份可进一步包括rbsp_trailing_bits以使SPS的备份副本中的位数为字节的整数倍。因此,SPS的备份副本变成对准的字节,并且CRC和偏移校正字节可以被正确地恢复。CRC用于验证SPS副本的正确性。在示例性实施例中,偏移校正字节为1000_0001,但是也可以使用其他偏移校正字节。因此,存在可用于交叉检查以确定NALUSPS的正确性的SPS的三个副本。在可选实施例中,除原始NALUSPS之外,只有一个备份NALU(即,NALU-1SPS)。在又一实施例中,具有多于两个的备份NALUSPS。注意,增加NALUSPS的备份副本的数量将增加错误校正的精度。然而,还增加了诸如处理能力和所要求寄存器数量的成本。备份副本NALU-1SPS和NALU-2SPS可以被插入图1中的位置8,其在原始NALUSPS和NALUPPS之间。
在可选实施例中,如图3A所示,SPS的备份副本可以被插入到原始NALUSPS内(图1中的位置6)。在该实施例中,SPS的备份副本可以被插入到原始SPS之后且在rbsp_trailing_bits之前。再次,SPS的每个备份副本都可以包括附加的rbsp_trailing_bits、对应的CRC数据和偏移校正字节(1000_0001)。附加的rbsp_trailing_bits实现了用于后续CRC和偏移校正字节的字节对准,使得它们可以被正确地恢复。在NALU的分析和解码中,将移动结尾位(trailing bit)以恢复SPS的备份副本。
注意,原始NALUSPS不具有CRC数据。然而,其将具有rbsp_trailing_bits(未示出)。因此,CRC数据和偏移校正字节是新增加的信息。认识到,如图2A所示的NALU-1SPS和NALU-2SPS以及如图3A所示的修改NALUSPS的格式与现有的NALUSPS格式不同,因此,对应的NALU-1SPS(和NALU-2SPS)的对应NALU_type_id可使用预留的NALU_type_id(从24到31)来代替使用现有的NALU_type_id 6(其仍然被NALUSPS使用)。NALU-1SPS和NALU-2SPS均具有相同的新使用的NALU_type_id。因此,当解码器找到具有表示NALUSPS的备份的新NALU_type_id的两个相同NSLU时,解码器知道存在两个备份副本。
图2B和图3B示出了NALUPPS的备份格式。除了PPS的副本代替SPS以及用于插入备份副本的位置不同之外,NALUPPS的备份基本上与备份NALUSPS相同。例如,参照图2B,NALUPPS的备份副本被插入到图1的位置12中,其正好在对应的原始NALUPPS之后且在NALUSlice之前。再次,可以制作NALUPPS的两个副本(表示为NALU-1PPS和NALU-2PPS),其中,NALU-1PPS和NALU-2PPS的每一个都包括rbsp_trailing_bits、CRC数据和偏移校正字节(1000_0001)。在位流中,可能存在多个NALUPPS。因此,每个NALUPPS都可以被备份。图3B示出了在原始NALUPPS内备份PPS,这与图3A类似。其详情基本与图3A相同,因此这里不再重复。
图4示出了用于检测和校正编码的位流中的错误的流程图,其中,该流程图对应于图2A或图2B,其中,备份NALUSPS或NALUPPS插入到对应的原始NALUSPS或NALUPPS之后。为了简单,关于SPS和PPS的流程图被组合成单个流程图,尽管在实际情况下,关于SPS和PPS的流程图是独立的流程。因此,当阅读图4所示的流程图时,PPS可以被忽略,使得流程图变成SPS的流程图,或者SPS可以被忽略,使得流程图变成PPS的流程图。下面讨论简要流程。以下讨论使用用于SPS的错误检测和恢复作为实例。然而,相同的方法和流程还可以应用于PPS的错误检测和恢复。
参照图4,在检索到位流之后,解码器(未示出)对来自(第一)NALUSPS的第一SPS(原始SPS)进行解码(步骤102)。然后对备份副本NALU-1SPS(第二NALUSPS)(其可以通过其在24至31范围内的NALU_taye_id来识别)进行解码(步骤104)。因此,获得对应的CRC数据和偏移校正字节。解码器检查偏移校正字节是否为1000_0001(或者任何其他预定值)(步骤106)。如果该值为1000_0001,则解码器知道没有发生位偏移,并且没有丢失位且没有位被插入到对应的SPS的备份副本和CRC数据中。然而,如果偏移校正字节不同于预期值,则确定发生位偏移,并且解码器将向左或向右偏移SPS的备份副本和CRC数据,直到偏移校正字节被恢复为1000_0001(步骤110)。例如,如果找到x100_000,则解码器将SPS的备份副本和CRC数据向左偏移一位。然而,如果找到0000_001x,则解码器将SPS的备份副本和CRC数据向右偏移一位。通过该步骤,提取出NALU-1SPS中的正确(未偏移)备份SPS(下文称作第一备份SPS)和CRC数据。
接下来,使用提取的CRC数据执行CRC(步骤108)。如果没有发生错误,则确定第一备份SPS是正确的,并且该副本被用作整个位流的最终SPS(步骤112),并结束SPS的提取(步骤114)。可以丢弃原始SPS。然而,如果CRC校验失败,则意味着第一备份SPS中的至少一个语法有错误。因此,将原始SPS中的每个语法和第一备份SPS中的对应语法相互进行比较(步骤116)。原始SPS和第一备份SPS中具有相同值的那些语法被确定为没有错误,以及原始SPS和第一备份SPS中具有不同值的那些语法被确定为有错误。有错误的语法需要与NALU-2SPS中的SPS的备份副本中的值进行比较。
在步骤118、120、122和124中,对NALU-2SPS进行解码,并提取未偏移的CRC和SPS,随后为CRC校验。详情基本与步骤104、106、108和110相同,因此这里不再重复。接下来,使用从NALU-2SPS提取的CRC数据执行CRC校验。如果没有发生错误,则确定来自NALU-2SPS的SPS的备份副本(下文称作第二备份SPS)是正确的,并且该副本被用作最终SPS(步骤128),并结束SPS的提取(步骤114)。可以丢弃原始SPS和第一备份SPS。然而,如果CRC失败,则已知第二备份SPS中的至少一个语法有错误。因此,将有错误的每个语法(先前通过步骤116确定)与原始SPS、第一备份SPS和第二备份SPS中的对应语法进行交叉检查(cross-examine)(步骤126)。在原始SPS、第一备份SPS和第二备份SPS的至少两个中具有相同值的那些语法被确定为没有错误,以及在SPS的所有三个副本中都具有不同值的那些语法被确定为有错误。对于在SPS的三个副本中具有三个不同值的语法,如果只有一个值在指定值范围内,则该值被确定为正确值。然而,如果三个值都不在指定值范围内,则使用前一位流的SPS中的值。
如图4所示,PPS的提取基本与上述流程相同。一个不同在于,如果语法的三个不同值都不在指定值范围内,则可以使用前一PPS中的值,其中,前一PPS可以在同一位流中或在前一位流中。
图5示出了用于检测和校正编码位流中的错误的流程图,其中,该流程图对应于图3A或图3B,其中,SPS或PPS的备份在对应的NALUSPS或NALUPPS内,并且在对应的原始SPS或PPS之后。注意,除了备份SPS或PPS现在是从与原始SPS或PPS相同的NALU中解码之外,包括步骤200和步骤200之后的步骤的步骤与图4中的对应步骤类似。可以在解码语法vui_parameters_present_flag或second_chroma_qp_index_offset之后开始步骤200。再次,在图5所示的流程图中,如果第一备份SPS(或PPS)和第二备份SPS(或PPS)中的任何一个通过CRC校验,则其具有正确值并进行使用。否则,原始SPS(或PPS)、第一备份SPS(或PPS)和第二备份SPS(或PPS)被交叉检查以确定语法的正确值,其中,交叉检查与图4所示的方法类似。
除备份SPS和/或PPS之外,本发明的实施例还提供了用于备份对于MB的重要MB_info和MB_data的机制。图6示出了示例性图像帧,其包括例如99(11×9)MB。假设接近图像帧中心的MB比接近图像帧边缘的MB更加重要。此外,由于从左向右、以及从上向下扫描帧,所以图像帧中心上方的MB比帧中心下方的MB更加重要。因此,假设重要的MB可以通过考虑这些偏好进行选择。例如,在图6中,9个带阴影的MB被备份。可选地,如图7所示,两行带阴影的MB被备份。注意,中心上方的行可以更加重要,这是因为备份这些MB可以防止这些MB中的错误传播到图像帧中的剩余MB,包括图像帧的中心MB。
返回参照图1,在一个实施例中,MB的备份副本可以被插入到位置12。可以想到,MB_info和MB_data的备份副本的原始数据被保存在MBslice中。如果PPS也被备份并且也被插入到位置12,则MB的备份副本可插入到PPS的备份副本之后。图8示出了备份NALU-1MB_info&MB_data和NALU-2MB_info&MB_data的典型格式,除了所有SPS数据应该被MB相关的MB_info和MB_data代替之外,每一个均包括NALUMB_info和NALUMB_data的副本。NALU-1MB_info&MB_data和NALU-2MB_info&MB_data具有与NALU-1SPS类似的格式。NALU-1MB_info&MB_data可以被看作是用一个或多个NALUMB_info&NALUMB_data的副本代替图3A中的SPS的副本,其中,NALUMB_info&NALUMB_data的每个组合集合都对应于图6或图7中的一个带阴影的MB块。再次,CRC数据和偏移校正字节(1000_0001)被插入到每个NALU-1MB_info&MB_data中。在NALU-1MB_info&MB_data之后和NALUslice之前,可以存在NALU-2MB_info&MB_data,其包括与NALU-1MB_info&MB_data相同的信息。
图9示出了本发明的可选实施例。代替将MB_info和MB_data的备份副本插入到位置12(参照图1),MB_info和MB_data被插入到位置9。在该实施例中,MB_info和MB_data的副本被插入到原始PPS(或PPS的备份副本)之后且在rbsp_trailing_bits之前。再次,MB_info和MB_data的每个备份副本都包括CRC数据和偏移校正字节(1000_0001)。类似地,可以存在MB_info和MB_data的一种或多种组合,其中,MB_info和MB_data的每种组合都对应于图6或图7中的一个带阴影的MB块。
注意,图8和图9所示的实施例可以都应用于如图10A所示的位流格式,其中,每个NALUslice都在NALUPPS之前。在该实施例中,NALUslice中的重要MB_info和MB_data都在NALUslice之前备份,在NALUslice之前的对应NALUPPS之后或内部。然而,如果位流具有图10B所示的格式,其中,多于一个的NALUslice对应于一个NALUPPS,则可以使用图8中的实施例,而不可以应用图9所示的实施例。
图11示出了用于检测和校正用于MB的MB_info和MB_data中的错误的流程图,其中,该流程图对应于图8,其中,备份NALU-1MB_info&MB_data和NALU-2MB_info&MB_data被插入到对应的原始NALUPPS或备份NALU-1PPS或NALU-2PPS之后。除了对MB_info&MB_data(代替SPS或PPS)进行解码以及提取其中语法的正确值之外,这些步骤基本与图4所示的步骤相同。通过比较图4和图11以及通过应用图4至图11的讨论,本领域的技术人员将认识到详情。
图12示出了用于检测和校正用于MB的MB_info和MB_data中的错误的流程图,其中,该流程图对应于图9,其中,MB_info和MB_data的备份副本在对应的前一NALUPPS内。除了MB_info和MB_data(代替SPS或PPS)的一种或多种组合被解码和校正之外,这些步骤基本与图5所示的步骤相同。通过比较图5和图12以及通过应用图5至图12的讨论,本领域的技术人员将认识到详情。
本发明的实施例具有多个优点。通过备份SPS、PPS和/或MB_info和MB_data,对于正确解码位流来说重要的参数/语法存在较少的错误。通过制作两个备份副本以使可通过交叉检查确定参数/语法,显著减小了具有错误的可能性。
尽管详细描述了本发明及其优点,但应该理解,在不背离由所附权利要求限定的本发明的精神和范围的情况下,可以做出各种改变、替换和变化。此外,本发明的范围不用于限制在说明书中描述的处理、机器、制造、物质、装置、方法和步骤的组合的具体实施例。本领域的技术人员根据本发明的公开内容可容易理解,可以根据本公开利用现有或后来发展执行基本上与本文中所描述的对应实施例相同的功能或者基本实现与本文所描述的对应实施例相同的结果的处理、机器、制造和物质、装置、方法或步骤的组合。因此,所附权利要求包括在其范围内,诸如处理、机器、制造和物质、装置、方法或步骤的组合。此外,每个权利要求都够构成单独的实施例,并且各种权利要求和实施例的组合都在本发明的范围之内。

Claims (9)

1.一种用于处理视频数据的方法,所述方法包括:
提供位流;以及
对所述位流进行解码,包括:
从所述位流中提取数据部分;
从所述位流中提取所述数据部分的第一备份副本;
使用偏移校正字节来将所述数据部分的所述第一备份副本偏移到正确的位置;
执行循环冗余校验(CRC)以确定所述数据部分的所述第一备份副本的正确性;以及
根据所述数据部分自身和所述数据部分的第一备份副本来确定所述数据部分中语法的正确值;
并且,所述数据部分包括rbsp_trailing_bits,在第一备份副本的分析和解码中,将移动结尾位rbsp_trailing_bits以恢复第一备份副本。
2.根据权利要求1所述的方法,其中,确定所述数据部分中的所述语法的正确值的步骤包括:
当CRC通过时,采用所述数据部分中的所述第一备份副本中的所述语法的所有值;以及
当CRC失败时,交叉检查并采用所述数据部分中以及所述数据部分的所述第一备份副本中的所述语法的相同值。
3.根据权利要求1所述的方法,还包括:
从所述位流中提取所述数据部分的第二备份副本;以及
根据所述数据部分、所述数据的所述第一备份副本和所述数据部分的所述第二备份副本,交叉检查并确定所述语法的正确值。
4.一种用于处理视频数据的方法,所述方法包括:
提供H.264位流;以及
对所述H.264位流进行解码,包括:
从所述H.264位流中提取数据部分,其中,所述数据部分选自由seq_parameter_set(SPS)、pic_parameter_set(PPS)、宏块(MB)信息(MB_info)、MB_data和它们的组合组成的组;
从所述H.264位流提取所述数据部分的第一备份副本;
使用第一偏移校正字节将所述数据部分的所述第一备份副本偏移到正确的位位置;
执行第一循环冗余校验(CRC)以确定所述数据部分的所述第一备份副本的正确性;以及
根据所述数据部分自身和所述数据部分的所述第一备份副本,确定所述数据部分中语法的正确值;
其中,所述数据部分包括rbsp_trailing_bits,在第一备份副本的分析和解码中,将移动结尾位rbsp_trailing_bits以恢复第一备份副本。
5.根据权利要求4所述的方法,还包括:
从所述H.264位流中提取所述数据部分的第二备份副本;
使用第二偏移校正字节来将所述数据部分的所述第二备份副本偏移到附加正确位置;
执行第二CRC以确定所述数据部分的所述第二备份副本的正确性;以及
交叉检查所述数据部分、所述数据部分的所述第一备份副本和所述数据部分的所述第二备份副本中的语法的值,以确定所述语法的正确值。
6.根据权利要求4所述的方法,其中,从包括所述数据部分的附加NALU后面的网络抽象层单元(NALU)提取所述数据部分的所述第一备份副本。
7.根据权利要求4所述的方法,其中,从包括所述数据部分的NALU内的位置提取所述数据部分的所述第一备份副本。
8.根据权利要求4所述的方法,其中,所述MB_info和所述MB_data包括接近图像帧中心的MB的数据。
9.一种用于处理视频数据的方法,所述方法包括:
对H.264位流进行编码,包括:
将数据部分编码到所述H.264位流中,其中,所述数据部分选自由seq_parameter_set(SPS)、pic_parameter_set(PPS)、宏块(MB)信息(MB_info)、MB_data和它们的组合组成的组;以及
将所述数据部分的第一备份副本编码到所述H.264位流中;
其中,所述第一备份副本中包括:偏移校正字节,用于将所述数据部分的所述第一备份副本偏移到正确的位置;CRC,用于确定所述数据部分的所述第一备份副本的正确性;
并且,所述数据部分包括rbsp_trailing_bits,在第一备份副本的分析和解码中,将移动结尾位rbsp_trailing_bits以恢复第一备份副本。
CN2010101074095A 2009-02-11 2010-01-29 用于检测错误并恢复视频数据的方法 Active CN101800902B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US15174709P 2009-02-11 2009-02-11
US61/151,747 2009-02-11
US12/617,498 2009-11-12
US12/617,498 US8767840B2 (en) 2009-02-11 2009-11-12 Method for detecting errors and recovering video data

Publications (2)

Publication Number Publication Date
CN101800902A CN101800902A (zh) 2010-08-11
CN101800902B true CN101800902B (zh) 2013-02-20

Family

ID=42541395

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010101074095A Active CN101800902B (zh) 2009-02-11 2010-01-29 用于检测错误并恢复视频数据的方法

Country Status (2)

Country Link
US (1) US8767840B2 (zh)
CN (1) CN101800902B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2673958A1 (en) * 2011-02-12 2013-12-18 Unwired Planet, LLC A method for optimizing a video stream
EP2842323A1 (en) * 2012-04-24 2015-03-04 Telefonaktiebolaget LM Ericsson (Publ) Identifying a parameter set for decoding a multi-layer video representation
US9554146B2 (en) * 2012-09-21 2017-01-24 Qualcomm Incorporated Indication and activation of parameter sets for video coding
US9584413B2 (en) 2014-11-18 2017-02-28 Gigamon Inc. Systems and methods for determining input and out interfaces of a network device and copies of a same packet going through the network device
US9571393B2 (en) 2014-11-18 2017-02-14 Gigamon Inc. Systems and methods for processing packets tapped from a network
US9680710B2 (en) * 2014-11-18 2017-06-13 Gigamon Inc. Systems and methods for processing packets tapped from a network using discovery protocol
US20240143831A1 (en) * 2022-10-31 2024-05-02 Sophos Limited Sensitive data detection

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004091101A2 (en) * 2003-04-04 2004-10-21 Sony Electronics, Inc. Apparatus and method of parallel processing an mpeg-4 data stream
CN1780397A (zh) * 2004-11-19 2006-05-31 大唐移动通信设备有限公司 保障低码率无线信道传输高质量视频信号的方法
CN1893663A (zh) * 2005-09-02 2007-01-10 华为技术有限公司 多媒体通信的传输保护方法
CN101202923A (zh) * 2006-12-15 2008-06-18 扬智科技股份有限公司 解码器中图像错误检测、恢复和隐藏的方法
CN101340591A (zh) * 2008-08-11 2009-01-07 深圳华为通信技术有限公司 解码系统中接收视音频数据的处理方法及装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5202979A (en) * 1985-05-08 1993-04-13 Thinking Machines Corporation Storage system using multiple independently mechanically-driven storage units
US5247523A (en) * 1989-07-12 1993-09-21 Hitachi, Ltd. Code error correction apparatus
WO2003071777A2 (en) * 2002-02-21 2003-08-28 British Telecommunications Public Limited Company Video processing
JP4002878B2 (ja) * 2003-01-17 2007-11-07 松下電器産業株式会社 画像符号化方法
US7372859B2 (en) * 2003-11-19 2008-05-13 Honeywell International Inc. Self-checking pair on a braided ring network
US20060013318A1 (en) * 2004-06-22 2006-01-19 Jennifer Webb Video error detection, recovery, and concealment
US20060146734A1 (en) * 2005-01-04 2006-07-06 Nokia Corporation Method and system for low-delay video mixing
US20060209950A1 (en) * 2005-03-16 2006-09-21 Broadcom Advanced Compression Group, Llc Method and system for distributing video encoder processing
US8165161B2 (en) * 2005-04-01 2012-04-24 Broadcom Advanced Compression Group, Llc Method and system for formatting encoded video data
FR2898754B1 (fr) * 2006-03-17 2008-06-13 Thales Sa Procede de protection de donnees multimedia au moyen de couches d'abstraction reseau (nal) supplementaires
JP4736918B2 (ja) 2006-04-11 2011-07-27 パナソニック株式会社 デジタル再生装置または再生プログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004091101A2 (en) * 2003-04-04 2004-10-21 Sony Electronics, Inc. Apparatus and method of parallel processing an mpeg-4 data stream
CN1780397A (zh) * 2004-11-19 2006-05-31 大唐移动通信设备有限公司 保障低码率无线信道传输高质量视频信号的方法
CN1893663A (zh) * 2005-09-02 2007-01-10 华为技术有限公司 多媒体通信的传输保护方法
CN101202923A (zh) * 2006-12-15 2008-06-18 扬智科技股份有限公司 解码器中图像错误检测、恢复和隐藏的方法
CN101340591A (zh) * 2008-08-11 2009-01-07 深圳华为通信技术有限公司 解码系统中接收视音频数据的处理方法及装置

Also Published As

Publication number Publication date
US8767840B2 (en) 2014-07-01
US20100205498A1 (en) 2010-08-12
CN101800902A (zh) 2010-08-11

Similar Documents

Publication Publication Date Title
CN101800902B (zh) 用于检测错误并恢复视频数据的方法
CN101536523B (zh) 用于信道切换的系统及方法
CN111510725B (zh) 网络装置和差错处理
JP2021048591A5 (zh)
US11849148B2 (en) Method and apparatus for video encoding and/or decoding to prevent start code confusion
CN103843340B (zh) 参考图片列表处理
CN101578876A (zh) 在多视点编码视频中使用高级语法参考视点的视频差错隐藏方法和装置
US20130271571A1 (en) Method and Arrangement for Processing of Encoded Video
CN1533635A (zh) 信号编码
CN101999235A (zh) 具有时间可缩放性的交错播送
US8332736B2 (en) Decoder with resiliency to handle errors in a received data stream
US20090296826A1 (en) Methods and apparatus for video error correction in multi-view coded video
US7653136B2 (en) Decoding method and decoding apparatus
EP2070336B1 (en) Method and apparatus for repairing samples included in container files having lost packets
CN1984332A (zh) 数据及图像编码之方法与系统
CN113630597B (zh) 一种与编解码无关的视频抗丢包的方法和系统
JP4731343B2 (ja) 復号装置
US20090228763A1 (en) Method and apparatus for encoding and decoding data with error correction
CN101578873B (zh) 一种解码多视图视频内容的装置和方法
CN101262326A (zh) 移动多媒体广播系统中提高容错的解复用方法及解复用器
CN101641895B (zh) 错误检测
US6909450B2 (en) Video encoding and decoding method of mitigating data losses in an encoded video signal transmitted through a channel
KR100531854B1 (ko) 영상 코덱의 프레임 타입 오인식 방지 방법
CN101176353A (zh) 用于流式多媒体中优化错误管理的解码器架构
JP2000138931A (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