CN100581238C - 视频错误隐藏的系统和方法 - Google Patents

视频错误隐藏的系统和方法 Download PDF

Info

Publication number
CN100581238C
CN100581238C CN02816465A CN02816465A CN100581238C CN 100581238 C CN100581238 C CN 100581238C CN 02816465 A CN02816465 A CN 02816465A CN 02816465 A CN02816465 A CN 02816465A CN 100581238 C CN100581238 C CN 100581238C
Authority
CN
China
Prior art keywords
macro block
frame
given
data
coded macroblocks
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.)
Expired - Lifetime
Application number
CN02816465A
Other languages
English (en)
Other versions
CN1679330A (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.)
Polycom Inc
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 CN1679330A publication Critical patent/CN1679330A/zh
Application granted granted Critical
Publication of CN100581238C publication Critical patent/CN100581238C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/12Systems in which the television signal is transmitted via one channel or a plurality of parallel channels, the bandwidth of each channel being less than the bandwidth of the television signal
    • 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/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/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/164Feedback from the receiver or from the transmission channel
    • H04N19/166Feedback from the receiver or from the transmission channel concerning the amount of transmission errors, e.g. bit error rate [BER]
    • 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/172Methods 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
    • 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/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • 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/66Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience involving data partitioning, i.e. separation of data into packets or partitions according to importance
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/93Run-length coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Radio Transmission System (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

在一个实施例中,本发明提供了一种用于隐藏视频错误的系统和方法。该系统将视频信息进行编码、重排序并打包为用于在通信网络中传输的视频数据分组,由此当系统接收、解包、排序(915)并解码所述数据分组时,系统隐藏了由丢失的视频数据分组引起的视频错误。在一个实施例中,该系统和方法对视频信息进行编码和打包,从而不将相邻宏块放置于同一个视频数据分组中(925)。此外,系统和方法提供了伴随着视频数据分组的信息以便于解码处理。这种方案的优点在于将由视频数据分组丢失引起的错误空间散布于视频帧中。因此,如果对丢失宏块周围的数据区域进行了成功解码,则解码器可以具有更高准确度地预测运动矢量和空间信息,这导致了更高的视频质量。

Description

视频错误隐藏的系统和方法
本发明要求标题为“视频错误隐藏的系统和方法”的临时专利申请的权益,该申请于2001年8月23日提交,申请序列号为No.60/314,413,在此被合并参考。
技术领域
一般地,本发明涉及视频通信,更具体地,涉及视频错误隐藏。
背景技术
视频图像越来越成为全球通信的重要部分。特别地,视频会议和视频电话具有广泛的应用范围,诸如基于桌面和房间的会议、因特网和电话线上的视频、监督和监视、远程医疗以及基于计算机的培训和教育。在各种这些应用中,通过包括电话线、ISDN、DSL以及无线频率在内的远程通信链接,传输视频和伴音信息。
视频会议中使用的一种标准视频格式是通用中间格式(CIF),该格式是国际电信联盟(ITU)H.261视频会议标准。最初的CIF格式也被称作完全CIF或FCIF。还建立了其它分辨率高于或低于FCIF的格式。图1是在根据现有技术,认为表示一个象素需要12位的情况下,不同视频格式所需分辨率和比特率的列表。所示的比特率(每秒兆比特,Mbps)是未压缩的彩色帧。
近年来,视频信号的高效传输和接收需要对视频及伴音数据进行编码和压缩。视频压缩编码是一种对数字视频数据进行编码的方法,从而需要更小的存储器存储视频数据并减少传输所需的带宽。经常将一定的压缩/解压缩(CODEC)方案用于压缩视频帧以减少所需的传输比特率。因此,CODEC硬件和软件允许将数字视频信号压缩为比原始数字视频格式(即未压缩)更小的二进制格式。
存在多种对源视频信号进行编码和压缩的方法和标准。一些方法被设计用于特定的应用,诸如用于静态图像的JPEG(联合图片专家组),以及用于运动图像的H.261、H.263、MPEG(运动图像专家组)、MPEG-2以及MPEG-4。典型地,这些编码标准使用了基于16×16象素块的运动补偿预测,一般地这些块指宏块。根据4∶2∶0采样结构,宏块是一种包含4个8×8亮度数据块以及两个对应8×8色度数据块的信息单元,其中在水平和垂直方向对色度数据进行了2∶1子采样。
从实用性上讲,还必须连同视频数据一起,对音频数据进行压缩、传输和同步。诸如H.320(基于ISDN的视频会议)、H.324(基于POTS的视频电话)以及H.323(基于LAN或IP的视频会议)之类的标准均覆盖到了同步、多路复用以及协议问题。H.263(或其前任H.261)提供了这些标准组的一部分视频编码。
运动估计和补偿方案是一种典型用于减少视频信号传输所需带宽的传统方法。由于宏块是基本数据单元,所以运动估计和补偿方案将当前视频帧的一个给定宏块与之前被传输的视频帧中该给定宏块周围的区域进行比较,并试图找到接近的数据匹配。典型地,在之前被传输视频帧中,接近匹配的宏块到给定宏块的空间偏移量小于该给定宏块的宽度。如果找到了接近的数据匹配,此方案从在之前被传输视频帧中接近匹配的偏移量宏块减去当前视频帧中的给定宏块,从而只需要对差别(即残留)和空间偏移量进行编码和传输。空间偏移量一般指运动矢量。如果运动估计和运动补偿是有效的,则保留的残留宏块应当只包含用于说明一定数据以及运动矢量所必需的信息量,所述数据与从之前视频帧到当前视频帧变化的象素相关。因此,不必将没有变化的视频帧区域(即背景)进行编码和传输。
传统地,H.263标准指定将用于运动估计和运动补偿的运动矢量进行差分编码。尽管差分编码减少了传输所需的数据量,但是一个宏块丢失或破坏运动矢量数据的任何错误会对相邻宏块产生负面影响。结果是由于引起较低视频质量的被破坏数据,引起了错误的传播。
当准备在分组交换通信网络中进行视频帧信息传输时,编码方案将通过运动估计和补偿技术进行压缩的视频帧信息转换为用于通过通信网络进行传输的数据分组。尽管数据分组使传输效率更高,但被丢失、破坏以及延迟的数据分组还是会引起导致视频质量下降的错误。可选地,可以在不同种类的通信网络中传输视频数据,其中端点之一与电路交换网络相关,并且使用了网关或其它分组交换对电路交换网络的桥接设备。
目前,数据分组的丢失会破坏经常引起降低视频质量。因此,为了隐藏由于数据分组丢失引起的错误,需要能够组织和传输数据分组的系统和方法。
发明内容
本系统和方法克服或实质上缓解了与视频数据分组丢失相关的前述问题。总的来说,本发明提供了具有隐藏视频数据分组丢失引起的视频错误能力的对分组交换网络中传输的视频信息进行编码、重排序以及分组的系统和方法。
在典型实施例中,将视频信号编码为一组宏块。然后宏块重排序引擎将被称作宏块组标识符(MBGID)的整数标签分配给每一个宏块。优势在于,在一个典型实施例中,分配给相邻宏块的MBGID是不同的。然后宏块打包引擎对这些宏块进行打包,从而将被分配有相同MBGID的宏块打包到一起。针对那些将不同的MBGID分配给相邻宏块的实施例,则不将空间相邻的宏块打包到一起。此外,将诸如帧内宏块映射之类的对应数据并入图片报头或由其它机制传送,从而便于对应的解码处理。
然而在本发明的另一个实施例中,当图像处理引擎收到包括已编码宏块的数据分组时,进行数据分组的解包、已编码宏块的排序以及解码。在另一个实施例中,图像处理引擎对接收到的数据分组进行解包,然后按照这些宏块被接收的次序进行解码以减少处理延时。如果丢失了一个或多个数据分组,使用伴随着成功传送数据分组宏块的数据以减轻分组数据丢失的影响。根据丢失的宏块是帧内编码还是帧间编码,有不同方法补偿丢失的宏块。在进行补偿时,则可以显示视频信号。因此,本系统和方法能够隐藏数据分组丢失引起的视频错误。
附图说明
图1是根据现有技术各种视频格式所需的分辨率及比特率列表;
图2是根据本发明典型视频会议系统的框图;
图3是图2中视频会议的典型视频会议站的框图;
图4是图3中图像处理引擎典型实施例的框图;
图5是用于QCIF格式视频帧的宏块重排序模式典型示意图,其中各个号码是按照对应空间位置分配给宏块的;
图6是图5中QCIF帧宏块重排序模式的典型示意图,其中丢失了包含宏块MBGID=5的编码宏块数据的数据分组;
图7是根据本发明的一个实施例的二维内插方案的框图,其中使用了与位于相邻宏块的象素相关的数据;
图8是根据本发明,用于估计丢失宏块m的运动矢量的相邻宏块的典型框图;
图9是根据本发明的一个实施例,用于视频数据处理方法步骤的流程图;以及
图10是根据本发明,当接收视频数据时用于视频错误隐藏方法步骤的流程图。
具体实施方式
本发明隐藏了由数据分组丢失引起的视频信号错误。本系统和方法与现有技术的区别之处在于按照灵活的视频帧次序进行宏块的打包。与现有视频编码标准相比,按照宏块重排序模式指定的次序进行宏块的打包。此外,对每一个宏块的运动矢量进行无差别地编码。这些改进试图减轻通信链路中由数据分组丢失引起的干扰。本发明的范围覆盖了多种视频标准,包括,但并不限于H.261、H.263、H.264、MPEG、MPEg-2以及MPEG-4。
图2示出了典型的视频会议系统200。该视频会议系统200包括本地视频会议站202以及通过网络206与其相连的远程视频会议站204。尽管图2只示出了两个视频会议站202和204,本领域技术人员会认识到可以有更多与视频会议系统200相连的视频会议站。应当注意到可以在任何在其网络中传送视频数据的通信系统中使用本系统和方法。该网络可以是任意类型的电子传输介质,诸如,但并不限于POTS、电缆、光纤以及无线传输介质。
图3是典型视频会议站300的框图。简单起见,尽管远程视频会议站204(图2)可以包括类似的结构,仍然利用本地视频会议站202(图2)对视频会议站300进行说明。在一个实施例中,视频会议站300包括显示装置302、CPU 304、存储器306、至少一个视频俘获装置308、图像处理引擎310以及通信接口312。可选地,视频会议站300还可以配有其它装置,或不全是上述提供的指定装置。至少一个视频俘获装置308可以由电荷耦合器件(CCD)摄像机、互补金属氧化物半导体(CMOS)摄像机或其它类型的图像俘获装置实现。至少一个视频俘获装置308俘获用户、会议房间或其它场景的图像,并将这些图像发送到图像处理引擎310。典型地,在通信接口312将数据分组传输到远程视频会议站204之前,图像处理引擎310将视频图像处理为数据分组。将结合图4对图像处理引擎310进行更详细的说明。相反,图像处理引擎310还将从远程视频会议站204接收到的数据分组转换为用于在显示装置302上显示的视频信号。
图4是图3中图像处理引擎310的典型实施例。该图像处理引擎310包括编码引擎402、宏块重排序引擎404、宏块打包引擎406以及通信缓冲器408。首先,来自视频俘获装置308(图3)的视频信号进入编码引擎402,编码引擎402将每一帧视频转换为希望的格式,并将每一个视频信号帧转换为一组宏块。宏块是一种包含数据块的数据单元,所述数据包括与图片单元(也指象素)相关的亮度和色度分量。例如,在H.263中,一个色度采样格式4∶2∶0的宏块由四个8×8亮度数据块以及两个对应的8×8色度数据块,。一个8×8数据块是数据的8行乘8列矩阵,其中每一个数据对应该视频帧的一个象素。4∶2∶0色度格式宏块包括覆盖了此视频帧16象素×16象素部分的数据。不过,本发明并不限于传统定义的宏块,而可以将其扩展到任何包括亮度和/或色度数据的数据单元。此外,本发明的范围覆盖了其它的采样格式,诸如包括四个8×8亮度数据块以及四个对应的8×8色度数据块的4∶2∶2色度采样格式,或是包括四个8×8亮度数据块以及八个对应的8×8色度数据块的4∶4∶4色度采样格式。
此外,编码引擎402对每一个宏块进行编码(即压缩)以减少用于表示数据内容的比特数目。可以对每一个宏块进行“帧内编码”或“帧间编码”,且一帧中可以包括帧内编码宏块与帧间编码宏块的任意组合。使用时间相似性(即来自一帧的宏块与来自之前帧的接近匹配宏块之间存在的相似性)进行帧间编码宏块的编码。特别地,给定帧间编码宏块包括给定宏块和来自之前视频帧的接近匹配宏块之间差值的编码。来自之前视频帧的接近匹配宏块包括与某些象素相关的数据,这些象素是到与给定宏块相关象素的偏移。可选地,没有使用来自其它视频帧的信息,以类似于JPEG静态图像编码标准使用的方式,对帧内编码的宏块进行编码。
例如,为了确定是否应当将给定宏块作为帧间编码宏块进行编码,编码引擎402计算当前视频帧中给定宏块的数据与来自之前视频帧宏块数据(指偏移宏块)之间的差值,例如,通过宏块内数据之间的平均绝对误差或均方误差可以得到这种差值,所述数据对应着位于共同定位位置的象素。针对给定的宏块,编码引擎402计算用于多个偏移宏块的误差。如果编码引擎402只发现误差均大于预定的差阈值,则在来自给定宏块的数据和来自之前帧的数据之间不存在足够的相似性,并对该宏块进行帧内编码。不过,针对给定宏块和给定来自之前帧的偏移宏块,如果发现有一个误差小于预定的差阈值,则对给定宏块进行帧间编码。
为了对给定宏块进行帧间编码,编码引擎402从偏移宏块的数据中减去给定宏块的数据(即针对每一个象素,从与偏移宏块中对应象素相关的亮度和色度数据中减去与给定宏块象素相关的亮度和色度数据)以给出差异数据,使用诸如离散余弦变换之类的标准编码技术以及其中的量化方法对差值数据进行编码,确定从给定宏块到偏移宏块的偏移矢量(指运动矢量)并对该偏移矢量进行编码。
目前,诸如H.261和H.263之类的视频编码标准指定对帧间编码宏块的运动矢量进行差分编码以提供编码效率。不过,由于通常与给定宏块相关的编码运动矢量数据并不独立于相邻宏块的运动矢量数据,所以差分编码使得由丢失或被破坏的运动矢量数据造成的错误传播到相邻宏块,而这些宏块是没有解码错误的。因此,给定宏块运动矢量数据的影响并没有在空间上停留于给定的宏块中,不过,如果每一个帧间编码的运动矢量都使用非差分编码,则将运动矢量数据的影响停留于给定的宏块。结果明显增大了错误再次出现的能力(resilience)。在大多数情况下,运动矢量的编码方法从差分到非差分技术的变化引起整个编码效率的少量损失(典型地减少几个百分比)。优势在于,与传统方法相反,根据本发明的一个实施例,不对每一个帧间编码宏块相关的运动矢量分量使用差分编码。
在本发明另一个实施例中,编码引擎402可以使用“绕行更新(walk-around-refresh)”机制对帧的宏块进行帧内编码。这种“绕行更新”机制是一种通过对每一帧特定模式的宏块进行帧内编码,从而清除被称为数据漂移的参考帧失配的确定性机制。在对当前帧帧间编码宏块解码中,编码引擎402使用参考帧的宏块作为偏移宏块。在本发明一个实施例中,“绕行更新”机制使用从一组预定整数绕行间隔中选择的一个整数绕行间隔w,对一种模式宏块进行帧内编码。例如,如果w=47,则编码引擎402每w个宏块进行以帧内编码。可以根据视频数据传输率和错误率选择绕行间隔。当远程视频会议站204(图2)的编码引擎接收到“绕行更新”的帧内编码宏块时,这些“绕行更新”的帧内编码宏块的帧内宏块取代了来自之前帧的对应宏块,该对应宏块可能由于视频数据传输错误可能已被破坏。当远程视频会议站204的编码引擎使用被破坏的宏块作为参考宏块用于解码其它接收到的宏块时,任何由于视频数据传输错误可能已被破坏(且没有被取代)的宏块会进一步传播并可能扩大数据漂移。因此,“绕行更新”帧内编码宏块向远程视频会议站204的编码引擎提供了被用作参考宏块的一组“新鲜”的帧内编码宏块,由此减少了数据漂移的传播。
此外,编码引擎402可以产生识别编码的视频帧中哪一个宏块是帧内编码的帧内宏块映射。在产生了帧内宏块映射以后,图像处理引擎310将该映射发送到远程视频会议站204。即使使用了其它字段,还可以将该映射作为例如与编码的视频帧相关的图片报头字段的一部分发送。
根据本发明,编码引擎402可以两种方式中的一种产生帧内宏块映射。在本发明一个实施例中,编码引擎402使用形成长度(run-length)编码以说明此帧中帧内编码宏块的位置。形成长度编码是一种减少重复字符串数量的技术。在本发明的另一个实施例中,编码引擎402产生位图,其中位图中的每一比特对应该帧的一个宏块。一个比特的值标识了对应的宏块编码类型。例如,在本发明的一个实施例中,“1”比特表示对应宏块是帧内编码。在本发明另一个实施例中,“1”比特对应宏块是帧间编码。可以设想将其它用于产生帧内宏块映射的方法用于本发明。
仍在本发明另一个实施例中,编码引擎402选择产生最少比特数目的帧内宏块映射编码方法。例如,352×288象素(即水平分辨率352象素乘垂直分辨率288象素)FCIF视频帧包括396个结构为22×18宏块矩阵的宏块。不包括任何可能需要的比特开销,编码方法的位图需要396比特(一个比特用于一个宏块)。因此,独立于FCIF帧中帧内编码宏块的数目,将396比特用于发送编码的帧内宏块映射的位置。不过相反,用于发送形成长度编码帧内宏块映射的比特数目取决于该FCIF帧中帧内编码宏块的数目。发送形成长度编码帧内宏块映射的成本是每一个帧内宏块8个比特(即每一个形成值8比特),其中形成值确定了在该FCIF帧中帧内编码宏块的位置。因此,如果该FCIF帧包括n个帧内宏块,则需要8n比特用于传送该形成长度编码的帧内宏块映射。
因此,如果CIF帧包括少于50个帧内编码宏块(n<50),则源编码引擎402选择形成长度编码方法,否则该源编码引擎402选择位图编码方法。帧内宏块映射编码方法的选择取决于视频格式,在典型实施例中视频格式是FCIF视频帧格式。
随后,将编码的宏块转送到宏块重排序引擎404。该宏块重排序引擎404对编码的宏块重新排序。特别地,从多个宏块组标识符(MBGID)中给每一个宏块分配一个MBGID。在本发明一个典型实施例中,根据图5所示的典型宏块分配模式,针对有9行,每行11个宏块的QCIF格式帧,对这些宏块从1到6进行编号。最大MBGID指最大组标识符(MGID)。在图5典型实施例中,MGID=6。如图所示,按照一定方式分配MBGID,从而使被分配有相同MBGID的相邻宏块最少。可选地,其它分配模式将相同MBGID分配给相邻的宏块或按照其它任意分配次序。
下面进一步结合图6进行说明,对宏块进行分配,从而相邻宏块分配不同的MBGID,其优势在于因为丢失的数据分组宏块在一帧的空间中交叉散布,因此这样使在一帧的一个区域集中的错误最少。由于一帧中由丢失分组引起的错误集中于一个区域的可能性较小,可以使用来自相邻宏块的数据更准确的重构与丢失宏块相关的丢失数据。换句话说,如果帧中的数据丢失没有空间停留于某一区域,则能够更准确地确定来自相邻宏块的数据空间插值或对丢失宏块运动矢量的估计。
远程视频会议站204(图2)中图像处理引擎310(图3)的编码引擎402(图4)可以使用多种结合了宏块重排序的错误隐藏技术以提供视频质量。例如,在本发明一个实施例中,编码引擎402对丢失的帧间编码宏块的相邻宏块进行解码,估计该丢失宏块的运动矢量,然后使用估计的运动矢量重构丢失的宏块的数据。在本发明另一个实施例中,编码引擎402可以对丢失的帧内编码宏块的相邻宏块进行解码,并对解码的相邻数据进行空间插值以重构丢失的数据。本发明的范围覆盖了其它的结合了宏块重排序使用的错误隐藏技术,从而提高丢失或破坏的宏块导致的视频质量。
根据本发明可以使用不同的重排序模式和MBGID。在本发明一个实施例中,宏块重排序引擎404根据视频数据率和/或视频格式选择MGID。
返回参考图4,一旦宏块被分配了MBGID,宏块打包引擎406根据宏块的MBGID将这些宏块放置于分散的数据分组中。因此,将具有相同MBGID(例如MBGID=1)的宏块放置于共同的分散数据分组中(例如数据分组1)。参考图5中本发明的典型实施例,打包引擎406将每一个QCIF帧中的宏块放置于6个数据分组中。不过,打包引擎406可以使用多于一个的具有给定MBGID的分组以传送具有该给定MBGID的宏块。例如,打包引擎406可以创建包括一部分MBGID=1宏块的第一数据分组1,和包括其余MBGID=1宏块的第二数据分组1。典型地,由与网络206(图2)相关的最大传输单元容量(MTU)控制这种方式的分割分组。
随后,将数据分组和图片报头转发到通信缓冲器408,用于通过通信接口312(图3)传输到网络206(图2)。为了进一步提高抵抗分组丢失的恢复力,可以每一帧发送多于一个图片报头。这种图片报头可以包括帧内宏块映射。
相反地,图像处理引擎310还处理从远程位置接收的视频数据分组并提供用于显示的视频信号。首先,通过通信接口312(图3)接收视频数据分组,并将其转发到通信缓冲器408。然后将视频分组数据发送到对宏块进行解包的宏块打包引擎406。下一步,宏块重排序引擎404,将宏块按照初始次序(即在远程视频会议站204进行宏块重排序之前的模式,典型地是光栅扫描(图2))进行排序。
随后,编码引擎402用作解码器,并确定在通过网络206的传输中是否丢失了一个视频数据分组。图6是图5中QCIF帧宏块重排序模式的示意图,其中丢失了包含宏块MBGID=5的编码宏块数据的数据分组。将丢失的宏块标记为“X”。应当注意到,根据本发明的一个实施例,优势在于丢失的宏块在QCIF帧空间上交叉散布,因此得到了这种使用空间插值或运动矢量估计和补偿的准确、低复杂度的错误隐藏技术。尽管图6为了方便讨论只示出了单个丢失数据,本发明的范围覆盖了在传输过程中破坏或丢失了任意数目的数据分组情况下的错误隐藏。进一步还应当注意到尽管这里所述的相同元件用于传输和接收功能,这些元件应当包含于分离的接收方和传输方装置中。
返回参考图4,针对每一个丢失的宏块,编码引擎402确定丢失的宏块是帧内编码还是帧间编码。例如,编码引擎402可以检查帧内宏块映射以确定该丢失的宏块是否是帧内编码的。如上所述,可以将帧内宏块映射在图片报头字段中发送或作为视频流之外传送的边信息,并使用形成长度编码算法或其他有效的编码算法对其进行压缩,将其设置为标识了帧内编码宏块的位图。
如果丢失的宏块是帧内编码的,则可以使用多种错误隐藏技术。例如,如果丢失的宏块是作为“绕行更新”机制一部分的帧内编码,则编码引擎402用来自之前帧“对应”宏块的内容来取代丢失的宏块,其中两个“对应”宏块覆盖了其各自帧的相同空间区域。根据本发明,“绕行更新”机制的清除率是数据率和错误率的函数。
可选地,如果丢失的帧内编码宏块不是作为“绕行更新”机制的一部分进行编码的,则编码引擎402由相邻宏块对该丢失宏块的内容进行空间插值。在本发明一个实施例中,由两个位于相邻宏块的最近块对每一个8×8的丢失宏块进行插值。图7示出了使用与位于相邻宏块的象素相关的数据的插值典型方案。图7包括丢失的宏块705、左相邻宏块710、上相邻宏块715以及右相邻宏块720。例如,为了重构丢失的16×16宏块705的8×8左上块725的数据,编码引擎(图4)由左相邻宏块710的8×8右上块735在最后一列数据730插入数据(用x表示),并且由上相邻宏块715的8×8左下块745在最后一行数据740插入数据(用x表示)。
类似地,为了重构丢失宏块705的8×8右上块750,编码引擎402由右相邻宏块720的8×8左上块760在第一行数据755插入数据,并且由上相邻宏块715的8×8右下块770在最后一行数据765插入数据。也可以使用其他的插值形式以及使用相邻宏块的其它块,这些均在本发明的范围之内。
如果丢失的宏块是帧间编码,则编码引擎402通过检查相邻宏块的运动矢量,计算丢失宏块的运动矢量估计。图8是根据本发明的一个实施例,用于估计丢失宏块m的运动矢量的相邻宏块的框图。针对丢失的宏块m,计算三个相邻宏块a、b及c的运动矢量的中间值。例如,宏块m的估计运动矢量的x分量是 MV x m = median ( MV x a , MV x b , MV x c ) , 且宏块m的估计运动矢量的y分量是 MV y m = median ( MV y a , MV y b , MV y c ) , 其中MVx a,MVx b,MVx c分别是宏块a、b及c运动矢量的x分量,且MVy a,MVy b,MVy c分别是宏块a、b及c运动矢量的y分量。尽管图8中本发明的实施例使用了来自相邻宏块a、b及c的运动矢量以计算宏块m的估计运动矢量,可以使用任意数目相邻宏块以及相邻宏块的任意组合来估计丢失宏块的运动矢量。一旦估计出了丢失宏块的运动矢量,编码引擎402(图4)通过使用估计的运动矢量运动补偿丢失的宏块以重建丢失宏块的数据内容。在重建了给定帧所有丢失宏块的数据内容之后,编码引擎402将这些宏块转换为视频信号,用于显示于显示装置302(图3)。尽管只示出了一个丢失的数据分组,可以使用本发明隐藏具有多个丢失数据分组的错误。
图9是根据本发明的一个实施例在分组交换网络中传输视频数据时,用于视频错误隐藏的方法步骤的流程图900。在步骤905,视频俘获装置308(图3)俘获视频图像并产生视频信号。下一步,在步骤910,编码引擎402(图4)(当处理用于传输的数据时,也指编码器)接收该视频信号并将该视频信号转换为一个或多个帧内编码和帧间编码的宏块。一个视频帧可以包括帧内编码、帧间编码或帧内编码与帧间编码的任意组合。在本发明的一个实施例中,“绕行更新”机制能够使用从一组预定绕行间隔中选择的绕行间隔对宏块的模式进行帧内编码。可以根据视频数据率和错误率选择该绕行间隔。此外,编码引擎402针对每一个帧间编码的宏块,计算非差分编码运动矢量。
随后,在步骤915,编码引擎402产生标识了帧内编码宏块位置的帧内宏块映射。在本发明的一个实施例中,根据对帧内宏块映射进行编码所需的比特数目总和,使用形成长度法或位图编码法对该帧内宏块映射进行编码。
下一步,在步骤920宏块重排序引擎404(图4)给每一个宏块分配一个MBGID。例如,可以按照如图5所示的模式给宏块分配MBGID。在一个实施例中,给宏块分配MBGID,从而使被分配有相同MBGID的相邻宏块最少。可选地,其它实施例可以考虑给相邻宏块分配相同的MBGID。
随后,宏块打包引擎406(图4)在步骤925中创建分散的数据分组并根据宏块的MBGID将这些宏块放置于分散的数据分组中。例如,将具有相同MBGID的宏块放入共同的分散数据分组中。可选地,宏块打包引擎406可以是传送引擎,用于将宏块放入特定的用于在电路交换网络上传送的格式。最后,在步骤930,将数据分组和图片报头(包括帧内宏块映射)发送到通信缓冲器408(图4)以传输到远程视频会议站204(图2)。
图10是当接收视频数据时,根据本发明用于视频错误隐藏方法步骤的流程图。在步骤1005,通信缓冲器408(图4)接收从远程视频会议站204(图2)经网络206(图2)发送来的数据分组。然后在步骤1010,宏块打包引擎406(图4)将接收的数据分组解包成宏块。随后在步骤1015,宏块重排序引擎404(图4)对宏块进行排序并将宏块放入视频帧中合适的空间结构内。
下一步,在步骤1020编码引擎402(图4)对宏块进行解码。在步骤1025,编码引擎402(用作解码器)或其它与视频数据分组转换(例如RTP序列号)相关的机制确定是否丢失了任意包括视频帧的宏块。如果经视频数据分组在网络206中的传输丢失或破坏了一个或多个数据分组,则丢失了宏块。如果在步骤1025确定没有宏块丢失,则在步骤1030通过显示装置302(图3)显示这些宏块。不过,如果在步骤1025确定丢失了一个或多个宏块,则在步骤1035,根据丢失宏块的编码类型重构与一个或多个丢失的宏块相关的数据。编码引擎402可以使用帧内宏块映射确定每一个丢失宏块的编码类型。
例如,如果丢失的宏块是作为“绕行更新”机制一部分的帧内编码,则编码引擎402用来自之前帧对应宏块的内容来取代丢失宏块的内容。可选地,如果丢失的帧内编码宏块不是作为“绕行更新”机制的一部分进行编码的,则由最近邻相邻宏块对该丢失宏块的内容进行空间插值。在本发明一个实施例中,编码引擎402使用二维插值用相邻宏块进行数据插值(图7)。
可选地,如果丢失的宏块是帧间编码,则编码引擎402通过检查相邻宏块的运动矢量,估计丢失宏块的运动矢量。在本发明的一个实施例中,计算三个邻近宏块运动矢量的中间值作为运动矢量(图8)。然后编码引擎402通过重构丢失宏块数据内容的估计,使用估计的运动矢量补偿丢失宏块的数据内容。一旦重建了丢失宏块的数据内容,在步骤1025,通过显示装置302显示这些宏块。
参考上述典型实施例对本发明进行了说明。对于本领域技术而言,显然可以进行各种修改,而不脱离本发明更广泛的精神和范围。此外,尽管在上下文中对本发明的说明是在特定环境中实现,并用于特定应用,本领域技术人员会认识到本发明的有效性并不限于此,并且可以将本发明受益地用于许多环境和应用中。因此,认为前述说明和附图只是演示,而没有限制的意思。

Claims (68)

1.一种处理视频数据的系统,包括:
编码引擎,用于处理视频信号中的每一帧以产生宏块并对这些宏块进行编码;
宏块重排序引擎,用于将来自多个宏块组标识符(MBGID)的一个MBGID分配给每一个已编码的宏块;以及
宏块打包引擎,用于根据MBGID,将每一个已编码的宏块放置于一个特定的数据分组中,从而每一个分组仅包含具有公共MBGID的宏块。
2.根据权利要求1所述的系统,其特征在于所述宏块重排序引擎将不同的MBGID分配给相邻的已编码宏块。
3.根据权利要求1所述的系统,其特征在于针对每一个是帧间编码宏块的已编码宏块,所述编码引擎产生非差分编码的运动矢量。
4.根据权利要求1所述的系统,其特征在于所述宏块打包引擎将具有分配的不同MBGID的已编码宏块放置于不同的数据分组。
5.根据权利要求1所述的系统,其特征在于所述MBGID的值为从1到最大组标识符(MGID)。
6.根据权利要求5所述的系统,其特征在于所述宏块重排序引擎根据视频数据率确定所述MGID。
7.根据权利要求5所述的系统,其特征在于所述宏块重排序引擎根据视频格式确定所述MGID。
8.根据权利要求1所述的系统,其特征在于如果在当前帧的给定宏块数据和之前帧的最接近匹配偏移宏块数据之间存在着明显的差异,则所述编码引擎将当前帧的给定宏块作为帧内编码宏块进行编码。
9.根据权利要求1所述的系统,其特征在于如果在当前帧的给定宏块数据和之前帧的最接近匹配偏移宏块数据之间存在着明显的相似,则所述编码引擎将当前帧的给定宏块作为帧间编码宏块进行编码。
10.根据权利要求1所述的系统,其特征在于所述编码引擎进一步产生标识给定帧中帧内编码宏块的帧内宏块映射。
11.根据权利要求10所述的系统,其特征在于所述编码引擎通过选择产生最少比特数目的帧内宏块映射编码方法,对帧内宏块映射进行编码。
12.根据权利要求10所述的系统,其特征在于所述编码引擎使用形成长度编码对帧内宏块映射进行编码。
13.根据权利要求10所述的系统,其特征在于所述编码引擎使用位图对帧内宏块映射进行编码。
14.根据权利要求1所述的系统,其特征在于接收装置的宏块打包引擎对已编码宏块进行解包。
15.根据权利要求1所述的系统,其特征在于接收装置的宏块重排序引擎对已编码宏块进行排序。
16.根据权利要求1所述的系统,其特征在于接收装置的编码引擎对已编码宏块进行解码并检测丢失的解码宏块。
17.根据权利要求16所述的系统,其特征在于如果给定丢失解码宏块是作为帧内编码宏块编码的,则接收装置的编码引擎由相邻解码宏块的数据对给定丢失解码宏块的数据进行空间插值,从而隐藏了视频错误的影响。
18.根据权利要求16所述的系统,其特征在于如果给定丢失解码宏块是作为帧间编码宏块编码的,则接收装置的编码引擎根据相邻解码宏块的运动矢量估计给定的丢失解码宏块的运动矢量,从而通过运动补偿重构给定的丢失解码宏块的数据内容以隐藏视频错误的影响。
19.根据权利要求1所述的系统,其特征在于所述宏块打包引擎是传送引擎,用于根据MBGID,将每一个已编码的宏块放置于用于在电路交换网络中传送的特定格式中。
20.一种处理视频数据的方法,包括步骤:
处理视频信号中的每一帧以产生宏块;
对这些宏块进行编码;
将来自多个宏块组标识符(MBGID)的一个MBGID分配给每一个已编码的宏块;以及
根据所述MBGID,将每一个已编码的宏块放置于一个特定的数据分组中,从而每一个分组仅包含具有公共MBGID的宏块。
21.根据权利要求20所述的方法,其特征在于分配的步骤进一步包括步骤:将不同的MBGID分配给相邻的已编码宏块。
22.根据权利要求20所述的方法,其特征在于进一步包括步骤:针对每一个是帧间编码宏块的已编码宏块,产生非差分编码运动矢量。
23.根据权利要求20所述的方法,其特征在于放置的步骤进一步包括步骤:将具有分配的不同MBGID的已编码宏块放置于不同的数据分组。
24.根据权利要求20所述的方法,其特征在于所述MBGID的值为从1到最大组标识符(MGID)。
25.根据权利要求23所述的方法,其特征在于进一步包括步骤:根据视频数据率确定所述MGID。
26.根据权利要求23所述的方法,其特征在于进一步包括步骤:根据视频格式确定所述MGID。
27.根据权利要求20所述的方法,其特征在于编码的步骤进一步包括步骤:如果在当前帧的给定宏块数据和之前帧的最接近匹配偏移宏块数据之间存在着明显的差异,则将当前帧的给定宏块作为帧内编码宏块进行编码。
28.根据权利要求20所述的方法,其特征在于编码的步骤进一步包括步骤:如果在当前帧的给定宏块数据和之前帧的最接近匹配偏移宏块数据之间存在着明显的相似,则将当前帧的给定宏块作为帧间编码宏块进行编码。
29.根据权利要求20所述的方法,其特征在于进一步包括步骤:产生标识给定帧中帧内编码宏块的帧内宏块映射。
30.根据权利要求29所述的方法,其特征在于进一步包括步骤:选择产生最少比特数目的帧内宏块映射编码方法。
31.根据权利要求29所述的方法,其特征在于进一步包括步骤:使用形成长度编码对帧内宏块映射进行编码。
32.根据权利要求29所述的方法,其特征在于进一步包括步骤:使用位图对帧内宏块映射进行编码。
33.根据权利要求20所述的方法,其特征在于进一步包括步骤:对已编码宏块进行解包。
34.根据权利要求20所述的方法,其特征在于进一步包括步骤:对已编码宏块进行排序。
35.根据权利要求20所述的方法,其特征在于进一步包括步骤:对已编码宏块进行解码并检测丢失的解码宏块。
36.根据权利要求35所述的方法,其特征在于进一步包括步骤:如果给定丢失解码宏块是作为帧内编码宏块编码的,则为了隐藏视频错误的影响,由相邻解码宏块的数据对给定丢失解码宏块的数据进行空间插值。
37.根据权利要求35所述的方法,其特征在于进一步包括步骤:如果给定丢失解码宏块是作为帧间编码宏块编码的,则根据相邻解码宏块的运动矢量估计给定的丢失解码宏块的运动矢量,从而通过运动补偿重构给定的丢失解码宏块的数据内容以隐藏视频错误的影响。
38.根据权利要求20所述的方法,其特征在于放置的步骤进一步包括:根据MBGID,将每一个已编码的宏块放置于用于在电路交换网络中传送的特定格式中。
39.一种用于处理视频数据的方法,包括步骤:
为视频信号的每一帧生成宏块;
对这些宏块进行编码;
将来自多个宏块组标识符(MBGID)的一个MBGID分配给每一个已编码的宏块;以及
将具有分配的不同的MBGID的已编码宏块放置于不同的数据分组中,从而每一个分组仅包含具有公共MBGID的宏块;
将不同的数据分组发送到远程设备;
对在远程设备接收到的不同的数据分组的已编码宏块进行解码;
检测丢失的解码宏块;以及
重构丢失的解码宏块的数据。
40.根据权利要求39所述的方法,其中所述重构数据的步骤还包括步骤:如果给定丢失解码宏块是作为帧内编码宏块编码的,由相邻解码宏块的数据对给定丢失解码宏块的数据进行空间插值,从而隐藏了视频错误的影响。
41.根据权利要求39所述的方法,其中所述重构数据的步骤还包括步骤:如果给定丢失解码宏块是作为帧间编码宏块编码的,则根据相邻解码宏块的运动矢量估计给定的丢失解码宏块的运动矢量,从而通过运动补偿重构给定的丢失解码宏块的数据内容以隐藏视频错误的影响。
42.一种用于处理视频数据的系统,包括:
宏块解包引擎,用于接收多个数据分组,其中每一个数据分组包括多个宏块,给定分组的多个宏块中的每一个宏块具有公共的宏块组标识符(MBGID);
宏块重排序引擎,用于按照预定次序对从多个数据分组接收到的宏块进行重排序;以及
解码引擎,用于处理重排序的宏块,以生成视频信号。
43.根据权利要求42所述的系统,其特征在于所述预定次序是光栅扫描次序。
44.根据权利要求42所述的系统,其特征在于所述多个数据分组包括针对每一个帧间编码宏块的已编码宏块的非差分编码运动矢量。
45.根据权利要求42所述的系统,其特征在于不同的数据分组包含具有分配的不同的MBGID的宏块。
46.根据权利要求42所述的系统,其特征在于所述MBGID值的范围为从1到最大组标识符(MGID)。
47.根据权利要求46所述的系统,其特征在于MGID与视频数据率对应。
48.根据权利要求46所述的系统,其特征在于所述MGID与视频格式对应。
49.根据权利要求42所述的系统,其特征在于所述多个数据分组包括标识给定帧中帧内编码宏块的帧内宏块映射。
50.根据权利要求49所述的系统,其特征在于使用形成长度编码对所述帧内宏块映射进行编码。
51.根据权利要求49所述的系统,其特征在于使用位图对所述帧内宏块映射进行编码。
52.根据权利要求49所述的系统,其特征在于所述解码引擎检测是使用形成长度编码还是使用位图对所述帧内宏块映射进行编码,并据此处理该宏块。
53.根据权利要求42所述的系统,其特征在于所述解码引擎检测从重排序宏块中丢失的宏块。
54.根据权利要求53所述的系统,其特征在于如果给定的丢失宏块是作为帧内编码宏块编码的,则所述解码引擎由相邻解码宏块的数据对给定丢失宏块的数据进行空间插值。
55.根据权利要求53所述的系统,其特征在于如果给定丢失解码宏块是作为帧间编码宏块编码的,则所述解码引擎根据相邻解码宏块的运动矢量估计给定的丢失解码宏块的运动矢量,从而通过运动补偿重构给定的丢失解码宏块的数据内容。
56.一种用于处理视频数据的方法,包括步骤:
接收多个数据分组,其中每一个数据分组包括多个宏块,特定分组中的每一个宏块具有公共宏块组标识符(MBGID);
对已编码的宏块进行解包;
按照与接收宏块的次序不同的预定次序对接收的宏块进行重排序;以及
对重排序的宏块进行解码以产生视频信号。
57.根据权利要求56所述的方法,其特征在于所述预定次序是光栅扫描次序。
58.根据权利要求56所述的方法,其特征在于所述多个数据分组包括针对每一个帧间编码宏块的已编码宏块的非差分编码运动矢量。
59.根据权利要求56所述的方法,其特征在于不同的数据分组包含具有分配的不同的MBGID的宏块。
60.根据权利要求56所述的方法,其特征在于所述MBGID值的范围从1到最大组标识符(MGID)。
61.根据权利要求60所述的方法,其特征在于MGID与视频数据率对应。
62.根据权利要求60所述的方法,其特征在于所述MGID与视频格式对应。
63.根据权利要求56所述的方法,其特征在于所述多个数据分组包括标识给定帧中帧内编码宏块的帧内宏块映射。
64.根据权利要求63所述的方法,其特征在于使用形成长度编码对所述帧内宏块映射进行编码。
65.根据权利要求63所述的方法,其特征在于使用位图对所述帧内宏块映射进行编码。
66.根据权利要求56所述的方法,其特征在于进一步包括检测丢失宏块的步骤。
67.根据权利要求66所述的方法,其特征在于包括步骤:如果给定的丢失宏块是作为帧内编码宏块编码的,则所述解码引擎由相邻解码宏块的数据对给定丢失宏块的数据进行空间插值。
68.根据权利要求66所述的方法,其特征在于进一步包括步骤:如果给定丢失宏块是作为帧间编码宏块编码的,则根据相邻宏块的运动矢量估计给定的丢失宏块的运动矢量,从而通过运动补偿重构给定的丢失宏块的数据内容。
CN02816465A 2001-08-23 2002-08-23 视频错误隐藏的系统和方法 Expired - Lifetime CN100581238C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US31441301P 2001-08-23 2001-08-23
US60/314,413 2001-08-23

Publications (2)

Publication Number Publication Date
CN1679330A CN1679330A (zh) 2005-10-05
CN100581238C true CN100581238C (zh) 2010-01-13

Family

ID=23219857

Family Applications (1)

Application Number Title Priority Date Filing Date
CN02816465A Expired - Lifetime CN100581238C (zh) 2001-08-23 2002-08-23 视频错误隐藏的系统和方法

Country Status (15)

Country Link
US (2) US7239662B2 (zh)
EP (1) EP1421787A4 (zh)
JP (2) JP4881543B2 (zh)
KR (1) KR100691307B1 (zh)
CN (1) CN100581238C (zh)
AU (1) AU2002326713B2 (zh)
BR (2) BR0212000A (zh)
CA (1) CA2457882C (zh)
IL (2) IL160476A0 (zh)
MX (1) MXPA04001656A (zh)
NO (2) NO339116B1 (zh)
NZ (1) NZ531863A (zh)
RU (1) RU2291586C2 (zh)
WO (1) WO2003019939A1 (zh)
ZA (1) ZA200401377B (zh)

Families Citing this family (69)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6965644B2 (en) * 1992-02-19 2005-11-15 8×8, Inc. Programmable architecture and methods for motion estimation
US8780970B2 (en) * 2001-12-21 2014-07-15 Polycom, Inc. Motion wake identification and control mechanism
AU2003248908A1 (en) * 2003-01-10 2004-08-10 Thomson Licensing S.A. Spatial error concealment based on the intra-prediction modes transmitted in a coded stream
MXPA05007452A (es) * 2003-01-10 2005-09-12 Thomson Licensing Sa Tecnica para definir orden de disimulo para minimizar la propagacion de error.
US7827458B1 (en) 2003-03-03 2010-11-02 Apple Inc. Packet loss error recovery
US7817716B2 (en) * 2003-05-29 2010-10-19 Lsi Corporation Method and/or apparatus for analyzing the content of a surveillance image
US8705613B2 (en) * 2003-06-26 2014-04-22 Sony Corporation Adaptive joint source channel coding
US7826526B2 (en) * 2003-10-20 2010-11-02 Logitech Europe S.A. Methods and apparatus for encoding and decoding video data
US8582640B2 (en) * 2003-12-16 2013-11-12 Sony Corporation Adaptive joint source channel coding
US20050281339A1 (en) * 2004-06-22 2005-12-22 Samsung Electronics Co., Ltd. Filtering method of audio-visual codec and filtering apparatus
US20060013315A1 (en) * 2004-07-19 2006-01-19 Samsung Electronics Co., Ltd. Filtering method, apparatus, and medium used in audio-video codec
JP2006060813A (ja) * 2004-08-20 2006-03-02 Polycom Inc ビデオデコーダにおける誤り隠蔽
EP1638337A1 (en) 2004-09-16 2006-03-22 STMicroelectronics S.r.l. Method and system for multiple description coding and computer program product therefor
US7543064B2 (en) * 2004-09-30 2009-06-02 Logitech Europe S.A. Multiplayer peer-to-peer connection across firewalls and network address translators using a single local port on the local host
US7463755B2 (en) * 2004-10-10 2008-12-09 Qisda Corporation Method for correcting motion vector errors caused by camera panning
US20060262860A1 (en) * 2005-02-23 2006-11-23 Chou Jim C Macroblock adaptive frame/field coding architecture for scalable coding
US7738468B2 (en) * 2005-03-22 2010-06-15 Logitech Europe S.A. Method and apparatus for packet traversal of a network address translation device
EP1884028A2 (en) * 2005-05-11 2008-02-06 QUALCOMM Incorporated A method and apparatus for unified error concealment framework
US9661376B2 (en) * 2005-07-13 2017-05-23 Polycom, Inc. Video error concealment method
US9055298B2 (en) 2005-07-15 2015-06-09 Qualcomm Incorporated Video encoding method enabling highly efficient partial decoding of H.264 and other transform coded information
US7916796B2 (en) * 2005-10-19 2011-03-29 Freescale Semiconductor, Inc. Region clustering based error concealment for video data
US9516326B1 (en) 2005-12-09 2016-12-06 Nvidia Corporation Method for rotating macro-blocks of a frame of a video stream
US9794593B1 (en) * 2005-12-09 2017-10-17 Nvidia Corporation Video decoder architecture for processing out-of-order macro-blocks of a video stream
US8238442B2 (en) * 2006-08-25 2012-08-07 Sony Computer Entertainment Inc. Methods and apparatus for concealing corrupted blocks of video data
US8711929B2 (en) * 2006-11-01 2014-04-29 Skyfire Labs, Inc. Network-based dynamic encoding
US8375304B2 (en) * 2006-11-01 2013-02-12 Skyfire Labs, Inc. Maintaining state of a web page
US8443398B2 (en) * 2006-11-01 2013-05-14 Skyfire Labs, Inc. Architecture for delivery of video content responsive to remote interaction
US9247260B1 (en) * 2006-11-01 2016-01-26 Opera Software Ireland Limited Hybrid bitmap-mode encoding
CN101202923B (zh) * 2006-12-15 2010-09-01 扬智科技股份有限公司 影像解码器的码流错误侦测方法
CN102176751B (zh) * 2006-12-27 2013-12-25 松下电器产业株式会社 运动图像解码装置及运动图像解码方法
US8630512B2 (en) * 2007-01-25 2014-01-14 Skyfire Labs, Inc. Dynamic client-server video tiling streaming
US7957307B2 (en) * 2007-03-14 2011-06-07 Microsoft Corporation Reducing effects of packet loss in video transmissions
KR101125846B1 (ko) * 2007-03-23 2012-03-28 삼성전자주식회사 패킷 기반의 영상 프레임 전송 방법 및 장치
US8582656B2 (en) 2007-04-13 2013-11-12 Apple Inc. Method and system for video encoding and decoding
US8605779B2 (en) 2007-06-20 2013-12-10 Microsoft Corporation Mechanisms to conceal real time video artifacts caused by frame loss
DE102007058033A1 (de) * 2007-11-30 2009-06-04 Paterok, Peter, Dr. Verfahren und Vorrichtung zur verbesserten Videoausgabe
FR2929466A1 (fr) * 2008-03-28 2009-10-02 France Telecom Dissimulation d'erreur de transmission dans un signal numerique dans une structure de decodage hierarchique
US20100104003A1 (en) * 2008-10-24 2010-04-29 Manufacturing Resources International Inc. System and method for securely transmitting video data
US9812047B2 (en) 2010-02-25 2017-11-07 Manufacturing Resources International, Inc. System and method for remotely monitoring the operating life of electronic displays
US8648858B1 (en) 2009-03-25 2014-02-11 Skyfire Labs, Inc. Hybrid text and image based encoding
CN102036061B (zh) 2009-09-30 2012-11-21 华为技术有限公司 视频数据传输处理、发送处理方法、装置和网络系统
KR101457418B1 (ko) 2009-10-23 2014-11-04 삼성전자주식회사 계층적 부호화 단위의 크기에 따른 비디오 부호화 방법과 그 장치, 및 비디오 복호화 방법과 그 장치
US20110249127A1 (en) * 2010-04-07 2011-10-13 Cisco Technology, Inc. Estimating Video Quality Corruption in Lossy Networks
JP5485851B2 (ja) * 2010-09-30 2014-05-07 日本電信電話株式会社 映像符号化方法,映像復号方法,映像符号化装置,映像復号装置およびそれらのプログラム
US9542611B1 (en) * 2011-08-11 2017-01-10 Harmonic, Inc. Logo detection for macroblock-based video processing
CN103179468B (zh) * 2011-12-22 2018-03-30 海尔集团公司 多媒体数据传输装置、系统及方法
GB2499831B (en) * 2012-03-02 2015-08-05 Canon Kk Method and device for decoding a bitstream
RU2485592C1 (ru) * 2012-03-07 2013-06-20 Федеральное государственное унитарное предприятие "Государственный научно-исследовательский институт авиационных систем" Способ формирования целочисленных неортогональных декоррелирующих матриц заданных размеров и устройство для его осуществления
US9386326B2 (en) 2012-10-05 2016-07-05 Nvidia Corporation Video decoding error concealment techniques
US9479788B2 (en) * 2014-03-17 2016-10-25 Qualcomm Incorporated Systems and methods for low complexity encoding and background detection
JP6481457B2 (ja) * 2015-03-26 2019-03-13 富士通株式会社 動画像符号化装置、動画像符号化方法、動画像復号装置、及び動画像復号方法
US10319408B2 (en) 2015-03-30 2019-06-11 Manufacturing Resources International, Inc. Monolithic display with separately controllable sections
US10922736B2 (en) 2015-05-15 2021-02-16 Manufacturing Resources International, Inc. Smart electronic display for restaurants
US10269156B2 (en) 2015-06-05 2019-04-23 Manufacturing Resources International, Inc. System and method for blending order confirmation over menu board background
AU2016321400B2 (en) 2015-09-10 2019-05-30 Manufacturing Resources International, Inc. System and method for systemic detection of display errors
CN105611290B (zh) * 2015-12-28 2019-03-26 惠州Tcl移动通信有限公司 一种基于移动终端的无线传输图片的处理方法和系统
US10319271B2 (en) 2016-03-22 2019-06-11 Manufacturing Resources International, Inc. Cyclic redundancy check for electronic displays
US10313037B2 (en) 2016-05-31 2019-06-04 Manufacturing Resources International, Inc. Electronic display remote image verification system and method
WO2018031717A2 (en) 2016-08-10 2018-02-15 Manufacturing Resources International, Inc. Dynamic dimming led backlight for lcd array
CN107888931B (zh) * 2017-11-28 2020-03-17 上海大学 一种利用视频统计特征预测差错敏感度的方法
US10908863B2 (en) 2018-07-12 2021-02-02 Manufacturing Resources International, Inc. System and method for providing access to co-located operations data for an electronic display
US11645029B2 (en) 2018-07-12 2023-05-09 Manufacturing Resources International, Inc. Systems and methods for remotely monitoring electronic displays
CN109936624B (zh) * 2019-01-31 2022-03-18 平安科技(深圳)有限公司 Http请求报文头的适配方法、装置和计算机设备
US11402940B2 (en) 2019-02-25 2022-08-02 Manufacturing Resources International, Inc. Monitoring the status of a touchscreen
WO2020176416A1 (en) 2019-02-25 2020-09-03 Manufacturing Resources International, Inc. Monitoring the status of a touchscreen
US11965804B2 (en) 2021-07-28 2024-04-23 Manufacturing Resources International, Inc. Display assemblies with differential pressure sensors
US11921010B2 (en) 2021-07-28 2024-03-05 Manufacturing Resources International, Inc. Display assemblies with differential pressure sensors
US11895362B2 (en) 2021-10-29 2024-02-06 Manufacturing Resources International, Inc. Proof of play for images displayed at electronic displays
US11972672B1 (en) 2022-10-26 2024-04-30 Manufacturing Resources International, Inc. Display assemblies providing open and unlatched alerts, systems and methods for the same

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5400076A (en) * 1991-11-30 1995-03-21 Sony Corporation Compressed motion picture signal expander with error concealment
US5481297A (en) * 1994-02-25 1996-01-02 At&T Corp. Multipoint digital video communication system
US6154495A (en) * 1995-09-29 2000-11-28 Kabushiki Kaisha Toshiba Video coding and video decoding apparatus for changing a resolution conversion according to a reduction ratio setting information signal

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0286241A (ja) * 1988-09-21 1990-03-27 Nippon Telegr & Teleph Corp <Ntt> 可変レート画像階層符号化伝送方式
US5440344A (en) * 1992-04-28 1995-08-08 Mitsubishi Denki Kabushiki Kaisha Video encoder using adjacent pixel difference for quantizer control
US5576902A (en) * 1993-01-13 1996-11-19 Hitachi America, Ltd. Method and apparatus directed to processing trick play video data to compensate for intentionally omitted data
JP2679941B2 (ja) * 1993-05-10 1997-11-19 松下電器産業株式会社 ディジタル磁気記録再生装置
KR940026915A (ko) * 1993-05-24 1994-12-10 오오가 노리오 디지탈 비디오신호 기록장치 및 재생장치 및 기록방법
JPH0730896A (ja) * 1993-06-25 1995-01-31 Matsushita Electric Ind Co Ltd 動きベクトル符号化及び復号化方法
JPH0730855A (ja) * 1993-07-08 1995-01-31 Sony Corp ビデオデータの記録方法
EP0647066A3 (en) * 1993-09-30 1996-08-14 Toshiba Kk Packet conversion apparatus and system.
JP3046224B2 (ja) * 1994-07-26 2000-05-29 三星電子株式会社 固定ビット率の符号化方法および装置とこれを利用した高速探索のためのトラッキング方法
JP3474005B2 (ja) * 1994-10-13 2003-12-08 沖電気工業株式会社 動画像符号化方法及び動画像復号方法
JPH08256333A (ja) * 1995-03-16 1996-10-01 Matsushita Electric Ind Co Ltd 画像符号化復号方法及び装置
JPH0973617A (ja) * 1995-09-07 1997-03-18 Sony Corp 回転ヘッド装置
US5724369A (en) 1995-10-26 1998-03-03 Motorola Inc. Method and device for concealment and containment of errors in a macroblock-based video codec
JP3400428B2 (ja) * 1996-05-17 2003-04-28 松下電器産業株式会社 画像伝送方法
KR0178756B1 (ko) * 1996-06-29 1999-04-15 김광호 셔플을 위한 최적의 메모리 제어방법 및 그 장치
US6154780A (en) * 1996-12-18 2000-11-28 Intel Corporation Method and apparatus for transmission of a flexible and error resilient video bitstream
GB9703470D0 (en) * 1997-02-19 1997-04-09 Thomson Consumer Electronics Trick play reproduction of MPEG encoded signals
US6639945B2 (en) * 1997-03-14 2003-10-28 Microsoft Corporation Method and apparatus for implementing motion detection in video compression
JP4014263B2 (ja) * 1997-10-01 2007-11-28 松下電器産業株式会社 映像信号変換装置及び映像信号変換方法
US6163868A (en) 1997-10-23 2000-12-19 Sony Corporation Apparatus and method for providing robust error recovery for errors that occur in a lossy transmission environment
JPH11298878A (ja) * 1998-04-08 1999-10-29 Nec Corp 画像スクランブル方法およびそれを実施する装置
GB2347038A (en) * 1999-02-18 2000-08-23 Nokia Mobile Phones Ltd A video codec using re-transmission
US6754271B1 (en) * 1999-04-15 2004-06-22 Diva Systems Corporation Temporal slice persistence method and apparatus for delivery of interactive program guide
US6115076A (en) * 1999-04-20 2000-09-05 C-Cube Semiconductor Ii, Inc. Compressed video recording device with non-destructive effects addition
JP2001078042A (ja) * 1999-09-03 2001-03-23 Fuji Xerox Co Ltd 画像伸長処理装置および画像圧縮処理装置
JP3976975B2 (ja) * 1999-12-22 2007-09-19 キヤノン株式会社 画像処理装置及びその方法と記憶媒体
US6993074B2 (en) 2000-03-24 2006-01-31 Microsoft Corporation Methods and arrangements for handling concentric mosaic image data
US6721362B2 (en) * 2001-03-30 2004-04-13 Redrock Semiconductor, Ltd. Constrained discrete-cosine-transform coefficients for better error detection in a corrupted MPEG-4 bitstreams

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5400076A (en) * 1991-11-30 1995-03-21 Sony Corporation Compressed motion picture signal expander with error concealment
US5481297A (en) * 1994-02-25 1996-01-02 At&T Corp. Multipoint digital video communication system
US6154495A (en) * 1995-09-29 2000-11-28 Kabushiki Kaisha Toshiba Video coding and video decoding apparatus for changing a resolution conversion according to a reduction ratio setting information signal

Also Published As

Publication number Publication date
CN1679330A (zh) 2005-10-05
MXPA04001656A (es) 2004-11-22
JP2012070391A (ja) 2012-04-05
NO20161599A1 (no) 2004-04-23
WO2003019939A1 (en) 2003-03-06
JP4881543B2 (ja) 2012-02-22
US20030039312A1 (en) 2003-02-27
BRPI0212000B1 (pt) 2017-12-12
KR100691307B1 (ko) 2007-03-12
ZA200401377B (en) 2005-07-27
US20070230583A1 (en) 2007-10-04
CA2457882A1 (en) 2003-03-06
BR0212000A (pt) 2004-09-28
NO339116B1 (no) 2016-11-14
AU2002326713B2 (en) 2006-12-14
NZ531863A (en) 2005-10-28
NO343205B1 (no) 2018-12-03
EP1421787A4 (en) 2008-10-08
JP2005501488A (ja) 2005-01-13
IL160476A (en) 2009-02-11
NO20040754L (no) 2004-04-23
IL160476A0 (en) 2004-07-25
KR20040027982A (ko) 2004-04-01
RU2291586C2 (ru) 2007-01-10
CA2457882C (en) 2009-06-02
US7239662B2 (en) 2007-07-03
EP1421787A1 (en) 2004-05-26
RU2004105598A (ru) 2005-07-20

Similar Documents

Publication Publication Date Title
CN100581238C (zh) 视频错误隐藏的系统和方法
CN1620761B (zh) 自适应可变长度编码和解码方法和对应的编码器和解码器
CN1910926B (zh) 用于处理视频通信差错的方法和装置
AU2003240172B2 (en) Spatial prediction based intra coding
CN1327395C (zh) 基于上下文的自适应二进制算术编码的方法和系统
EP1575302A2 (en) Intra block walk around refresh for H.264
AU2002326713A1 (en) System and method for video error concealment
JP2004215252A (ja) ビデオエラー隠蔽のための動的イントラ符号化マクロブロックリフレッシュインターバル
CN101175213A (zh) 视频编码
CN100544445C (zh) 一种基于Brew平台的无线视频传输系统
CN100454339C (zh) 基于上下文的自适应二进制算术编码的方法和系统
JP2006510307A (ja) 低コスト複数記述ビデオ・ストリームをゲートウェイで符号化する方法
US6560280B1 (en) Video transmission system
CN101420598A (zh) 一种基于Symbian平台下的视频监控信息交互系统
CN118556403A (zh) 用于联合发信号通知变换系数符号的系统和方法
Ramaprabha et al. A study on stereoscopic video file transmission over internet through ISDN Lines.
KR20040058670A (ko) 화상회의를 위한 객체 지향적 전송율 제어 및 전송 오류은닉 송수신 방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1075780

Country of ref document: HK

C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: WD

Ref document number: 1075780

Country of ref document: HK

CX01 Expiry of patent term

Granted publication date: 20100113

CX01 Expiry of patent term