CN1738413A - 视频解码器中的错误隐藏 - Google Patents

视频解码器中的错误隐藏 Download PDF

Info

Publication number
CN1738413A
CN1738413A CNA2005100926294A CN200510092629A CN1738413A CN 1738413 A CN1738413 A CN 1738413A CN A2005100926294 A CNA2005100926294 A CN A2005100926294A CN 200510092629 A CN200510092629 A CN 200510092629A CN 1738413 A CN1738413 A CN 1738413A
Authority
CN
China
Prior art keywords
macro block
frame
reconstruct
video decoder
video
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.)
Granted
Application number
CNA2005100926294A
Other languages
English (en)
Other versions
CN100461868C (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.)
Huihe Development Co ltd
Original Assignee
Polycom Inc
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 Polycom Inc filed Critical Polycom Inc
Publication of CN1738413A publication Critical patent/CN1738413A/zh
Application granted granted Critical
Publication of CN100461868C publication Critical patent/CN100461868C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/15Conference systems
    • H04N7/152Multipoint control units therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/17Methods 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/176Methods 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 block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/65Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
    • H04N19/68Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience involving the insertion of resynchronisation markers into the bitstream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods 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
    • 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
    • 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)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

这里所公开的错误隐藏技术涉及解码器使用已有信息来隐藏比特流错误,而与编码器无关。例如,已有信息的示例包括前一参考帧、前一参考帧的宏块信息等。这里所描述的系统的另一方案涉及编码器可以进行的增强解码器从传输错误中适当地恢复的能力的步骤。可由编码器进行的典型步骤包括:内游荡和发送GOB报头。尽管这些编码器技术可以提供极大增强的结果,但其并非这里所描述的系统严格需要的。

Description

视频解码器中的错误隐藏
技术领域
本发明大体上涉及视频通信,更具体地涉及一种检测和隐藏视频比特流中的错误的方法。
背景技术
视频图像的数字化已经变得越来越重要。除了将其用在全球通信(例如视频会议)中,用于数字视频记录的视频图像数字化已经变得越来越普及。在每个应用中,通过如电话线、ISDN、DSL和射频等电信链路来传输视频信息,或者将其存储在如DVD和SVCD等多种介质设备中。在很多情况下,传输和/或存储易于将错误引入视频比特流中。
典型地,视频数据的有效传输、接收和/或存储需要对视频数据进行编码和压缩。存在用于编码和压缩源视频信号的几种方法和标准。一些标准用于特定的应用,如ITU-T建议H.261、H.263和H.264等,广泛地用在视频会议应用中。此外,由运动图像专家组公布的标准(MPEG-2、MPEG-4)已经在消费电子产品和其他应用中得到了广泛的应用。上述标准中的每一个一并在此作为参考。
在任何情况下,数字图像均由单独像素的网格构成。典型地,并不一次处理整幅图像,而是将其分为单独处理的块。每个块包括预定数目的亮度像素(通常规定像素的亮度)和预定数目的色度像素(通常规定像素的颜色)的矩形网格。将预定数目的块组合为宏块,其形成了大多数方案中的基本处理单元。尽管下面讨论了处理单元的这种层次的一些方面,本领域普通技术人员已知基于块的图像处理方法和技术,因此这里不再对其进行详细的描述。
可以按照两种基本技术之一对图像数据的宏块进行编码。例如,可以使用“帧内(intra)”编码,其中对原始宏块进行编码,而不参照如来自前一帧的对应宏块等历史数据。或者,可以使用“帧间(inter)”编码,其中考虑宏块与如来自前一帧的对应宏块等数据参考宏块之间的差别,对图像数据的宏块进行编码。本领域普通技术人员已知这两种基本方案的多种变体,因此这里不再对其进行详细的讨论。通常希望选择需要最少比特数来描述数据的宏块的编码技术。帧内编码典型地需要更多的比特来表示块,因此帧间编码通常是优选的。
通常利用两种技术之一来进行视频会议“呼叫”。已经使用了传统的电路交换网络(如ISDN电话线等)。典型地,根据国际电信联盟(ITU)建议H.320、“Narrow-Band Visual Telephone System AndTerminal Equipment”进行这些呼叫。最近,如因特网等分组交换网络已经越来越广泛地用于视频会议。存在多种分组交换多媒体通信协议,一个示例是ITU建议H.323、“Packet-based MultimediaCommunication Systems”。每个建议一并在此作为参考。尽管这里的描述是在这两个协议之一的环境下,但应当注意本发明并不局限于这些协议。
利用任何一种技术传输的视频呼叫在很多情况下在传输过程中发生错误。传统上,当解码器检测到比特流错误时,其具有两种选择。第一种选择是冻结显示,并请求来自发射机的快速更新。发射机根据该请求发送内帧(intra frame)。接收机的显示器保持冻结,直到接收到内帧为止。冻结视频的几秒钟对用户的体验不利。第二种选择是请求快速更新,但继续显示具有错误的帧。在所请求的内帧到达以前,存在如亮色块、黑块或加扰图像等人工假象。典型地,这些人工假象对于用户的体验比冻结显示更为不利,所以视频会议领域的一般实践是通过选择第一种选择(即冻结显示)来隐藏错误。
但是,上述两种选择都不是所期望的。因此,本领域所需要的是一种较少干扰用户体验的隐藏视频传输中的错误的替代技术。因此,本发明大体上涉及一种用于隐藏视频错误、减少或消除可视人工假象、并减少或消除由于帧内更新帧而引起的可视干扰的影响的方法。尽管参照视频会议系统进行描述,但这里所描述的概念可以等效地适用于任何视频编码和解码应用。
发明内容
这里所公开的错误隐藏技术涉及解码器使用已有信息来隐藏比特流错误,而与编码器无关。例如,已有信息的示例包括前一参考帧、前一参考帧的宏块信息等。这里所描述的系统的另一方案涉及编码器可以进行的增强解码器从传输错误中适当地恢复的能力的步骤。可由编码器进行的典型步骤包括内游荡(intra walk around)和发送GOB报头。尽管这些编码器技术可以提供极大增强的结果,但其并非这里所描述的系统严格需要的。
这里所公开的系统具有很多优点,参照以下的详细描述,将变得显而易见。例如,所述系统是完全基于标准的,因此与任何标准兼容视频会议系统相兼容,包括已有端点、网关和多点控制单元。此外,所述系统与利用H.261、H.263或H.264标准中任一个进行编码的视频相兼容。这里所描述的系统也易于实现,尤其是在H.264解码器中。此外,如上所述,尽管优选的是具有这里所描述的编码器和解码器增强,但解码器本身可以极大地改善用户的体验。这里所描述的其他优点包括对编码效率的可忽略影响以及最小所需额外计算。
附图说明
图1示出了用在H.320视频呼叫中的普遍错误序列。
图2示出了用在利用H.261编解码器的H.320视频呼叫中的错误序列。
图3示出了用在利用H.263编解码器的H.320视频呼叫中的错误序列。
具体实施方式
如以上简要介绍的那样,实质上按照两种方式来传输视频比特流:ISDN网络上的比特流或IP网络上的分组。这两种方式都具有能够引起解码器失去同步的错误。为了成功隐藏错误,有三个重要步骤。第一,解码器必须将错误的影响约束在画面上尽可能小的区域内。第二,解码器必须利用已有信息来修补未被成功解码的区域。第三,如果需要,解码器可以联系远端编码器,以重新发送丢失的信息,以便将解码器与编码器重新同步。编码器可以通过如内游荡或关键帧的相对频繁传输等方法来回避对第三步骤的需求。
一旦检测到错误,解码器需要重新同步,以便能够继续解码处理。在比特流中存在解码器可以重新同步的四个不同的点。第一个同步点是在帧等级上。利用帧等级的同步,解码器放弃当前正在解码的帧,并通过搜索画面开始代码移动到下一帧上。
第二个同步点只对于H.261和H.263视频比特流可用。将利用H.261或H.263进行编码的视频帧分为块组(GOB)。可以将GOB报头用作同步点。当检测到错误时,从前一GOB报头到下一GOB报头的画面部分丢失。画面的其余部分仍然完整无缺。H.263视频比特流中的GOB等级同步的一个问题在于H.263并不要求编码器发送GOB报头。尽管允许GOB报头的传输,但通常将其省略以减少开销,并从而提高数据速率。为了使GOB等级的同步能够与H.263一起适当地进行操作,编码器应当至少传输一些GOB报头。利用H.261进行编码的视频总是包括GOB报头,所以这里所描述的技术能够与传统系统一起很好地进行操作。
第三个同步点,宏块等级的同步,也只对于H.261和H.263解码器可用。在宏块等级上,并不存在与原始比特流同步的简单方式,而是当在分组中接收到比特时,分组报头包含与宏块信息有关的信息。但是,分组报头中的信息可能实际上是不可靠的,因为以往的系统并不在分组报头中提供纠错信息。
第四个同步点,只可用在H.264比特流中,是网络适配层单元(NALU)等级的同步。在H.264比特流中,通过NALU将宏块分组在一起。可以按照任意次序发送属于一个帧的NALU。这需要H.264解码器能够在NALU等级进行同步。与GOB一样,每个丢失的NALU只影响画面的一部分。
最常用的同步点是帧的起始。不利用其他同步点可能会导致:如果在帧的开始附近检测到错误,则需要修补几乎整个帧。因此,在可行时,应当使用额外的同步点。因为宏块等级的重新同步被认为是不可靠的,对于H.261和H.263系统的最佳选择是GOB等级的重新同步。对于H.264,NALU等级的同步是优选的。
在任何一种情况下,在解码帧之前,将所有宏块标记为“丢失”宏块。在解码帧时,将每个成功解码的宏块从丢失宏块变为“好”宏块。在上下文中,“宏块”表示解码器参考帧中的像素区域(对应于显示器上的特定区域)。
因为错误的即时检测是不确定的,当检测到比特流错误时,从最后一个同步点开始解码出的所有宏块都是可疑的,并应当重新标记为丢失。下面描述了用于减少在这种情况下需要被标记为丢失的宏块数量的技术。当已经解码整个帧时,必须重构仍被标记为丢失的全部宏块。以下的伪代码描述了如何在帧间重构这些“丢失”宏块。N=0;do{
if(the Nth MB is lost)
{
set CurrentMBInfo=Nth MBInfo of the previous frame
if((CurrentMBInfo->MBType is INTER)&&
         (CurrentMBInfo->ReferenceFrameNum is the most recent frame))
    {
         set Motion Vectors of CurrentMB=
               the Motion Vectors of the Nth MB of previous frame;
         set Coefficients of CurrentMB=no coefficient;
         MotionComp(CurrentMB);
    }
else//if the MBType is INTRA or the prediction frame is not the most recent
    {
         Copy MB from the previous frame;
       }
   }}while(++N<Total Number of MBs in a Frame)
此伪代码所执行的操作可以总计如下。该例程进入帧的宏块。如果宏块丢失,则将宏块信息(例如宏块是帧间编码还是帧内编码的,以及如果是帧间编码的,运动矢量是什么)设置为来自前一帧的对应宏块的数值。(编解码器可能还保留了与宏块有关的其他信息,但在本发明的上下文中不需要这些信息。)如果当前宏块是帧间编码宏块,并且参考帧是最近的帧,则将当前宏块的运动矢量设置为来自在先帧的对应宏块的运动矢量,并将当前宏块的系数设置为零。然后,利用运动补偿算法,重构宏块,并通过扩展运动补偿,根据先前的帧,实质上推断块。
或者,如果当前宏块是帧内编码的或者如果预测帧不是最近的帧,则从前一帧中的对应宏块,复制整个宏块。因此,不对帧内编码帧进行重构。当在解码内帧的同时检测到比特流错误时,解码器冻结显示,并请求快速更新。这样做的原因在于:在正常情况下,只在以下三种情况之一中发送内帧:(1)在呼叫的开始;(2)当改变源时;或(3)当改变编码分辨率时。解码器必须获得此内帧,以建立有效的分辨率和有效的参考帧。
这里所描述的重构对于丢失的宏块操作得相当好,但解码器所使用的参考帧不同于编码器在编码块时用作参考帧的帧。这种分歧随着时间而变得越来越恶劣。因此,需要针对重构宏块的帧内更新。这可以按照两种方式来实现。在一种方案中,解码器向编码器发送完整帧快速更新请求。这不需要改变典型的编码器。或者,可以利用编码器上的内游荡来实现重构宏块的内更新。以下对这种机制进行了描述,并且需要对编码器进行一些简单的改变。
尽管完整帧快速更新造成了视觉干扰,但其可用于所有现存编码器。为了使解码器独立于编码器是否能够进行内游荡,可以使用以下的机制来确保:如果编码器能够进行内游荡并且启用了内游荡,则不发送完整帧快速请求。在将宏块标记为丢失时,针对该宏块,记录时间。当在帧内模式下更新宏块时,复位此时标。在每个帧的结尾,检查所有帧的时标。如果任何宏块已经被标记为“丢失”超过N秒,则向远端编码器发送完整帧快速更新。如果编码器正在进行内游荡,则宏块应当在N秒的时间段内已经被更新,而无需完整帧快速更新。
编码器上的内游荡速度(如果实现的话)应当得自于N,从而在编码器发送游荡时,解码器不会请求快速更新。N应当优选地反映出正在编码的视频流的类型,即分辨率和帧速率。例如,将用于传输计算机展示的高分辨率、低帧速率视频应当具有相对较高的N值,可能是20秒的量级。可选地,对于将用于传输视频会议中的人员的较低分辨率、较高帧速率视频,N应当具有相对较高的数值,优选地在10秒的量级。为了确保不会发送过多的快速更新请求,在发送第一快速更新请求时,启动周期为M秒的定时器。在此时间段期间,不发送额外的快速更新请求。应当针对最佳的系统性能,调整M,并且确信数值10将产生最佳结果。
优选解决方案是具有内游荡(或等效更新处理)使能编码器。内游荡是一种编码器每帧拾取几个宏块以编码为帧内宏块的处理。针对每个帧,选择不同的宏块,从而在特定的时间段内,帧内的所有宏块均被帧内编码至少一次。然后,继续重复该处理。对该技术总结如下。
将编码帧的每个宏块所需的时间段定义为T。于是,每帧内编码宏块的数量(Nintra)为Nmb/(Fr*T),其中Nmb是每帧的宏块总数,以及Fr是针对给定比特率的标称帧速率。帧速率可以通过调谐例程动态地获得,或者可以针对给定的比特率而静态地定义。如果动态地计算帧速率,重要的是值在完整的帧游荡之后改变帧速率值。
作为示例,针对384kbps CIF呼叫的标称帧速率是15。(紧凑中间格式对应于352×288亮度像素的分辨率。)将游荡周期T设置为10秒,以匹配解码器对内游荡的期望。于是,Nintra=396/(15*10)=2.64。上取整为最接近的整数,每帧要进行帧内编码的宏块数是3。
在H.264中,应当对内游荡宏块进行编码,从而使其与参考帧无关。这意味着其不能使用任何帧间宏块作为其预测的基础,所以其必须被编码为约束帧内。在John Sievers的、题为“Improved Intra BlockWalk Around Refresh for H.264”的、美国专利申请序列号No.10/799,829中描述了H.264中的内游荡的细节,将其全部在此一并作为参考。
有助于解码器重新同步的另一编码器增强是每帧发送一些GOB报头。如上所述,在H.263系统中,不需要发送GOB报头,并且许多编码器消除了这些比特,以减少开销并提高数据速率。为了这里所描述的增强的目的,不需要发送全部GOB报头。在IP网络上,几乎所有比特流错误均源自分组丢失。因此,只有任意分组中的第一同步点能够提供较大的好处。为了使跟随丢失分组的任何分组中被跳过的比特数最小,同步点应当尽可能地靠近分组的开始。如果多于一个GOB在任何一个分组中开始,GOB报头的最佳位置使在这些GOB中的第一个的开始处。不需要分组边界对应于GOB边界。
如上所述,比特流错误的即时检测通常是不可能的,所以当检测到错误时,通常需要假定从前一同步点开始的全部宏块都丢失。返回前一同步点是确保不显示任何“坏”宏块也不进行适当隐藏的惟一方式。尽管这种方案是安全的,但并非特别有效,因为一些好宏块也可能被标记为丢失。如果解码器能够在其发生时立即检测到错误,则可以将所有已解码宏块看作是好的。因此,解码器不必回溯到前一同步点,而且将更多地限制比特流错误所引起的影响。(对于H.261和H.263,同步点是GOB报头。对于H.264,同步点是NALU边界。)
在H.320呼叫中,将H.261/H.263比特作为512比特帧发送。每个帧由同步比特、表示所述帧是填充还是真实数据的标志、492个净荷比特和用于检错和纠错的18比特代码构成。利用末尾的18比特代码,通常可以检测到错误,有时甚至可以纠错。尽管有时该代码错误地认为不存在任何错误,或者已经更正了任何错误,但是其通常知道帧中存在未更正的错误。如果数据链路代码丢弃或者只是通过已知具有未更正错误的帧,视频解码器可能不会立即识别出已经发生了错误。在其识别出以前,编码器将应用对参考帧的更新,通常将破坏处理中的参考帧。
更好的是,解码器接收明显错误的比特,从而使解码器得知不以这些错误比特破坏参考帧。因此,当数据链路层得知帧中存在未更正的错误时,其应当以视频解码器已知其错误的比特序列替代帧。数据链路层的这种监控可以驻留在位于端点之间的任意数量的网络组件中,例如,包括网桥、网关或多点控制单元(MCU)。因为发现比特流错误的设备可以是网络设备,而不是视频编码器/解码器,优选的是数据链路代码不必直到使用了何种视频编码标准。因此,希望具有针对H.261、H.263和H.264的一个序列。
在图1中示出了一个这种序列。该序列包括至少63个零(即重复多于62次的0),后面是1,然后是22个零,后面是序列10111,后面是10个零,后面是1。帧中的其他剩余比特应当也是避免“开始代码模仿”的比特。每个压缩算法对其他比特的解译描述如下。
对于H.261比特流,在开始具有这么多的零确保了解码器将检测到错误,除非其期望遇到画面或GOB开始代码。在获得前48个零之后,解码器将遇到至少15或更多的零,一个1和四个零,其包括画面开始代码。接下来的12个零将被看作画面报头的其余部分。(PTYPE的最后一个比特应当是1,但并非所有的解码器都检测该比特,因为一些古老的编解码器发送错误比特。)此时,解码器将期望找出GOB开始代码,其为15个零和一个1。代替地,其将只能找到1前面的6个零,所以编解码器将检测到另一个错误。解码器将利用22个零来搜索同步。在跳过前7比特之后,其将找到15个零和一个1,其包括GOB开始代码。然后,其将遇到“0111”,表示GOB数为7个。在此之后,是5比特的GQUANT值。GQUANT为零是非法的,所以解码器将检测另一错误。这里并不存在足够长使画面或GOB开始代码发生错误的其他零串。
在H.263中,在开始具有这么多的零确保了解码器将检测到错误,除非其期望遇到画面、GOB或片段开始代码。在获得前47个零之后,解码器将遇到至少16个零、一个1和五个零,其包括画面开始代码。此后的第九比特预期为1,但解码器将遇到零,所以其将检测到错误。解码器将利用22个零来搜索同步。在跳过前6比特之后,其将找到16个零和一个1,其包括GOB或片段开始代码。接下来的5比特,“01110”表示GOB数为14个。接下来的4比特将用于GOB子比特流指示符(GSBI)和GOB帧ID(GFID)。其后是5比特的GQUANT值。零值是非法的,所以解码器将检测另一错误。这里并不存在足够长使画面、片段或GOB开始代码发生错误的其他零串。
最后,利用H.264解码器,在前32比特之后,该序列具有31个零和一个1,包括同步代码。如果同步代码并不与预期排列匹配,解码器将检测到错误。在任何情况下,其都将按照此同步代码来设置其排列预期。于是,其将遇到三个字节0、0、2(22个零比特,一个1和一个零),是非法序列。解码器在此流中不会再遇到其他同步代码。
在H.323视频呼叫中,每个分组包含序列号。利用这些序列号,能够确定是否有分组丢失。因为每个H.264 NALU适合于一个分组并包含足够的上下文信息,不需要将丢失分组通知给视频解码器。对于H.261和H.263,需要以非法比特序列替代任何丢失分组或分组序列,从而使视频解码器不会误解下一分组中的比特。因为分组报头指示使用了何种压缩算法,不必使用对所有算法无效的比特序列,尽管也可以使用这种序列。优选地,通常使用以所使用的压缩算法为目标的序列。下面,描述了适合序列的一些示例。
在图2中示出了适合于与H.261一起使用的一个这种无效序列,包括16个零、后面是序列10011、后面是5个零、并以一个1结束。这将被解译为GN=3且GQUANT=0的GOB报头。因为GQUANT数值不可以为零,将检测到错误。此序列以1结束,以防止通过这些比特和其后的任何比特的组合对于开始代码的模拟。
在图3中示出了适合于与H.263一起使用的另一个这种无效序列,包括17个零、后面是序列10011、后面是10个零和一个1。这将被解译为GN=6、GSBI=0、GFID=0且GQUANT=0的GOB报头。因为GQUANT数值不可以为零,将检测到错误。此序列以1结束,以防止通过这些比特和其后的任何比特的组合对于开始代码的模拟。应当注意,此序列也可以用于H.261。
这里,已经参照典型实施例,对本发明进行了解释。本领域的普通技术人员应当清楚的是:可以对其进行多种修改,而并不偏离本发明的广阔精神和范围。此外,尽管已经在特定环境和特定应用的实施上下文中,对本发明进行了描述,本领域普通技术人员应当意识到本发明的用途并不局限于此,本发明可以有利地在多种环境下和以多种实施方式使用。因此,前述描述和附图应当被看作示例性的,而非限制性的。

Claims (24)

1、一种用于解码视频信号的方法,其中所述视频信号包括多个同步点,所述方法包括:
将帧的全部宏块指定为丢失宏块;
在解码帧时,将每个成功解码的宏块指定为好宏块;
如果检测到错误,将从在先同步点开始接收到的每个宏块重新指定为丢失宏块;以及
在所述错误之后的同步点,重新与编码器同步。
2、根据权利要求1所述的方法,其特征在于,所述同步点是从由帧、块组、宏块和网络适配层单元组成的组中选择的。
3、根据权利要求1所述的方法,还包括:
在解码整个帧时,重构被指定为丢失宏块的每个宏块。
4、根据权利要求3所述的方法,其特征在于,重构被指定为丢失宏块的每个宏块包括:
将丢失宏块的宏块信息设置为在先帧中的对应宏块的宏块信息的值。
5、根据权利要求4所述的方法,其特征在于,宏块信息包括:
宏块是帧间编码的还是帧内编码的;以及
如果宏块是帧间编码的,则信息还包括运动矢量的值。
6、根据权利要求4所述的方法,其特征在于重构被指定为丢失宏块的每个宏块还包括:
如果丢失宏块是参照最近的帧内编码的,则将重构宏块的运动矢量设置为来自最近的帧的对应宏块的运动矢量,以及将重构宏块的系数设置为零;以及
如果丢失宏块是参照不是最近的帧的在先帧帧间编码的,或者如果丢失宏块是帧内编码的,则将重构宏块设置为在先帧中的对应宏块的数值。
7、根据权利要求3所述的方法,还包括请求重构宏块的完整帧内更新。
8、根据权利要求7所述的方法,其特征在于,如果提供了内游荡更新,则不请求完整帧内更新。
9、根据权利要求8所述的方法,还包括根据以下方法确定是否提供了内游荡更新:
在其被标记为丢失时,记录丢失宏块的时标;
在接收到对宏块的帧内更新时,复位所述时标;
在每个帧的结尾,检查每个宏块的时标;以及
如果宏块已经被标记为丢失超过预定时间段,则请求完整帧快速更新。
10、一种用于解码视频信号的方法,所述方法包括:
将帧的全部宏块指定为丢失宏块;
在解码帧时,将每个成功解码的宏块指定为好宏块;
如果通过接收预定的错误比特序列,检测到错误,则停止更新参考帧。
11、根据权利要求10所述的方法,其特征在于,由位于从由网桥、网关和多点控制单元构成的组中选择的组件中的数据链路层监控器,将预定的错误比特序列插入比特流中。
12、根据权利要求10所述的方法,其特征在于,设计所述预定的错误比特序列,以便产生针对视频解码器所支持的多个视频编解码器中的一个或多个的错误。
13、一种视频解码器,配置用于实现视频解码方法,其中所述视频解码方法包括:
将帧的全部宏块指定为丢失宏块;
在解码帧时,将每个成功解码的宏块指定为好宏块;
如果检测到错误,将从在先同步点开始接收到的每个宏块重新指定为丢失宏块;以及
在所述错误之后的同步点,重新与编码器同步。
14、根据权利要求13所述的视频解码器,其特征在于,所述同步点是从由帧、块组、宏块和网络适配层单元组成的组中选择的。
15、根据权利要求13所述的视频解码器,其特征在于,所述视频解码方法还包括:
在解码整个帧时,重构被指定为丢失宏块的每个宏块。
16、根据权利要求15所述的视频解码器,其特征在于,重构被指定为丢失宏块的每个宏块包括:
将丢失宏块的宏块信息设置为在先帧中的对应宏块的宏块信息的值。
17、根据权利要求16所述的视频解码器,其特征在于,宏块信息包括:
宏块是帧间编码的还是帧内编码的;以及
如果宏块是帧间编码的,还包括运动矢量的值。
18、根据权利要求16所述的视频解码器,其特征在于重构被指定为丢失宏块的每个宏块还包括:
如果丢失宏块是参照最近的帧内编码的,则将重构宏块的运动矢量设置为来自最近的帧的对应宏块的运动矢量,以及将重构宏块的系数设置为零;以及
如果丢失宏块是参照不是最近的帧的在先帧帧间编码的,或者如果丢失宏块是帧内编码的,则将重构宏块设置为在先帧中的对应宏块的数值。
19、根据权利要求15所述的视频解码器,其特征在于,所述视频解码方法还包括请求重构宏块的完整帧内更新。
20、根据权利要求19所述的视频解码器,其特征在于,如果提供了内游荡更新,则不请求完整帧内更新。
21、根据权利要求20所述的视频解码器,其特征在于,所述视频解码方法还包括根据以下方法确定是否提供了内游荡更新:
在其被标记为丢失时,记录丢失宏块的时标;
在接收到对宏块的帧内更新时,复位所述时标;
在每个帧的结尾,检查每个宏块的时标;以及
如果宏块已经被标记为丢失超过预定时间段,则请求完整帧快速更新。
22、一种视频解码器,配置用于实现视频解码方法,其中所述视频解码方法包括:
将帧的全部宏块指定为丢失宏块;
在解码帧时,将每个成功解码的宏块指定为好宏块;
如果通过接收预定的错误比特序列,检测到错误,则停止更新参考帧。
23、根据权利要求22所述的视频解码器,其特征在于,由位于从由网桥、网关和多点控制单元构成的组中选择的组件中的数据链路层监控器,将预定的错误比特序列插入比特流中。
24、根据权利要求22所述的视频解码器,其特征在于,设计所述预定的错误比特序列,以便产生针对视频解码器所支持的多个视频编解码器中的一个或多个的错误。
CNB2005100926294A 2004-08-20 2005-08-19 解码视频信号的方法及视频解码器 Active CN100461868C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US60311204P 2004-08-20 2004-08-20
US60/603,112 2004-08-20

Publications (2)

Publication Number Publication Date
CN1738413A true CN1738413A (zh) 2006-02-22
CN100461868C CN100461868C (zh) 2009-02-11

Family

ID=35058993

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100926294A Active CN100461868C (zh) 2004-08-20 2005-08-19 解码视频信号的方法及视频解码器

Country Status (6)

Country Link
US (2) US8064527B2 (zh)
EP (1) EP1628488B1 (zh)
JP (1) JP2006060813A (zh)
KR (1) KR100719493B1 (zh)
CN (1) CN100461868C (zh)
HK (1) HK1082623A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101312536B (zh) * 2007-05-24 2011-03-02 中兴通讯股份有限公司 一种用于视频传输差错控制的视频编码方法及装置
CN101562720B (zh) * 2008-04-17 2012-07-25 英华达(上海)电子有限公司 一种在视频通信中处理无效数据的方法及系统
CN101690219B (zh) * 2007-07-10 2013-11-06 高通股份有限公司 用于快速信道切换的早期呈现
CN101960853B (zh) * 2008-02-26 2016-03-30 高通股份有限公司 视频解码器错误处置
CN106878044A (zh) * 2015-09-28 2017-06-20 佳能株式会社 远程支持系统、信息处理设备、图像处理设备及控制方法

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7929776B2 (en) * 2005-03-10 2011-04-19 Qualcomm, Incorporated Method and apparatus for error recovery using intra-slice resynchronization points
US8798172B2 (en) * 2006-05-16 2014-08-05 Samsung Electronics Co., Ltd. Method and apparatus to conceal error in decoded audio signal
JP2008076847A (ja) * 2006-09-22 2008-04-03 Matsushita Electric Ind Co Ltd 復号器及び信号処理システム
DE602007007587D1 (de) * 2007-05-25 2010-08-19 Psytechnics Ltd Videoqualitätsbestimmung
US8121189B2 (en) * 2007-09-20 2012-02-21 Microsoft Corporation Video decoding using created reference pictures
US9848209B2 (en) * 2008-04-02 2017-12-19 Microsoft Technology Licensing, Llc Adaptive error detection for MPEG-2 error concealment
US9924184B2 (en) 2008-06-30 2018-03-20 Microsoft Technology Licensing, Llc Error detection, protection and recovery for video decoding
US9788018B2 (en) * 2008-06-30 2017-10-10 Microsoft Technology Licensing, Llc Error concealment techniques in video decoding
US8509325B2 (en) * 2008-07-01 2013-08-13 Qualcomm Incorporated Adaptive thresholding for OFDM channel estimation
US20100065343A1 (en) * 2008-09-18 2010-03-18 Chien-Liang Liu Fingertip Touch Pen
US9131241B2 (en) * 2008-11-25 2015-09-08 Microsoft Technology Licensing, Llc Adjusting hardware acceleration for video playback based on error detection
US8340510B2 (en) * 2009-07-17 2012-12-25 Microsoft Corporation Implementing channel start and file seek for decoder
TWI442778B (zh) 2010-02-05 2014-06-21 Acer Inc 視訊解碼裝置
CA2810899C (en) 2010-10-05 2016-08-09 General Instrument Corporation Coding and decoding utilizing adaptive context model selection with zigzag scan
CN104125457B (zh) * 2011-01-14 2018-01-09 华为技术有限公司 图像编码解码方法、处理图像数据方法及其设备
CN102595124B (zh) * 2011-01-14 2014-07-16 华为技术有限公司 图像编码解码方法、处理图像数据方法及其设备
US9247257B1 (en) * 2011-11-30 2016-01-26 Google Inc. Segmentation based entropy encoding and decoding
JPWO2013136678A1 (ja) * 2012-03-16 2015-08-03 パナソニックIpマネジメント株式会社 画像復号装置および画像復号方法
US9774856B1 (en) 2012-07-02 2017-09-26 Google Inc. Adaptive stochastic entropy coding
US9509998B1 (en) 2013-04-04 2016-11-29 Google Inc. Conditional predictive multi-symbol run-length coding
US9392288B2 (en) 2013-10-17 2016-07-12 Google Inc. Video coding using scatter-based scan tables
US9179151B2 (en) 2013-10-18 2015-11-03 Google Inc. Spatial proximity context entropy coding
US10819976B2 (en) * 2018-06-25 2020-10-27 Polycom, Inc. Long-term reference for error recovery without back channel
US11265583B2 (en) 2020-01-06 2022-03-01 Plantronics Inc. Long-term reference for error recovery in video conferencing system

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5805302A (en) * 1990-12-28 1998-09-08 Canon Kabushiki Kaisha Variable length encoding of image data
KR100396971B1 (ko) * 1994-11-29 2003-11-03 산요덴키가부시키가이샤 인코드된비디오데이터의에러검출및처리기능을구비한비디오디코더
US5959672A (en) 1995-09-29 1999-09-28 Nippondenso Co., Ltd. Picture signal encoding system, picture signal decoding system and picture recognition system
JP3297293B2 (ja) 1996-03-07 2002-07-02 三菱電機株式会社 動画像復号方法および動画像復号装置
JP3065251B2 (ja) * 1996-07-08 2000-07-17 日本電気株式会社 動画像復号装置
US6201834B1 (en) * 1996-12-20 2001-03-13 Intel Corporation Method and apparatus for packet loss recovery with standard-based packet video
JP3053781B2 (ja) * 1997-03-18 2000-06-19 沖電気工業株式会社 動画像圧縮符号の復号方法及び復号装置
JP3604290B2 (ja) * 1998-09-25 2004-12-22 沖電気工業株式会社 動画像復号方法及び装置
GB2347038A (en) * 1999-02-18 2000-08-23 Nokia Mobile Phones Ltd A video codec using re-transmission
US6357028B1 (en) * 1999-03-19 2002-03-12 Picturetel Corporation Error correction and concealment during data transmission
KR100357093B1 (ko) * 1999-06-02 2002-10-18 엘지전자 주식회사 동영상 압축 복원시스템에서의 오류 은폐장치 및 방법
FI109393B (fi) * 2000-07-14 2002-07-15 Nokia Corp Menetelmä mediavirran enkoodaamiseksi skaalautuvasti, skaalautuva enkooderi ja päätelaite
US20020163971A1 (en) * 2001-02-23 2002-11-07 Goran Roth Video bitstream washer
US6728318B2 (en) * 2001-03-02 2004-04-27 Redrock Semiconductor, Ltd. Error recovery of corrupted MPEG-4 bitstreams using fuzzy decoding of start codes and resync markers
US6778610B2 (en) * 2001-03-02 2004-08-17 Redrock Semiconductor, Ltd. Simultaneous search for different resync-marker patterns to recover from corrupted MPEG-4 bitstreams
MXPA04001656A (es) * 2001-08-23 2004-11-22 Polycom Inc Sistema y metodo para ocultar errores de video.
KR100418437B1 (ko) * 2001-12-24 2004-02-14 (주)씨앤에스 테크놀로지 멀티미디어 신호처리를 위한 영상복원 프로세서
US8514711B2 (en) * 2005-10-21 2013-08-20 Qualcomm Incorporated Reverse link lower layer assisted video error control

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101312536B (zh) * 2007-05-24 2011-03-02 中兴通讯股份有限公司 一种用于视频传输差错控制的视频编码方法及装置
CN101690219B (zh) * 2007-07-10 2013-11-06 高通股份有限公司 用于快速信道切换的早期呈现
US9426522B2 (en) 2007-07-10 2016-08-23 Qualcomm Incorporated Early rendering for fast channel switching
CN101960853B (zh) * 2008-02-26 2016-03-30 高通股份有限公司 视频解码器错误处置
CN101562720B (zh) * 2008-04-17 2012-07-25 英华达(上海)电子有限公司 一种在视频通信中处理无效数据的方法及系统
CN106878044A (zh) * 2015-09-28 2017-06-20 佳能株式会社 远程支持系统、信息处理设备、图像处理设备及控制方法

Also Published As

Publication number Publication date
KR100719493B1 (ko) 2007-05-17
EP1628488A3 (en) 2006-11-08
HK1082623A1 (zh) 2006-06-09
EP1628488B1 (en) 2015-04-08
US20060039475A1 (en) 2006-02-23
US8064527B2 (en) 2011-11-22
EP1628488A2 (en) 2006-02-22
CN100461868C (zh) 2009-02-11
US20120033739A1 (en) 2012-02-09
KR20060053152A (ko) 2006-05-19
JP2006060813A (ja) 2006-03-02

Similar Documents

Publication Publication Date Title
CN100461868C (zh) 解码视频信号的方法及视频解码器
CN1192635C (zh) 一种视频编码和译码的方法及设备
JP5081408B2 (ja) ビデオ誤り隠蔽法
CA2377865C (en) Video coding using repeated header data
CN1440622A (zh) 视频编码
CA2476843C (en) Video coding
CN1240224C (zh) 视频错误补偿方法以及装置
CA2474931A1 (en) Video processing
KR100585710B1 (ko) 가변길이 동영상 부호화 방법
CN1926862A (zh) 视频信息传输
EP1345451A1 (en) Video processing

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: 20231016

Address after: Texas, USA

Patentee after: Huihe Development Co.,Ltd.

Address before: California, USA

Patentee before: Polycom, Inc.

TR01 Transfer of patent right