针对压缩视频的基于转码的鲁棒性流媒体技术和系统的制作方法

文档序号:7713181阅读:222来源:国知局

专利名称::针对压缩视频的基于转码的鲁棒性流媒体技术和系统的制作方法
技术领域
:本发明总的来说涉及视频压縮领域,特别是涉及基于转码的视频压縮。
背景技术
:视频编码包括表示模拟和数字视频的视频数据,用于存储和/或者传输。视频编码的目的在于紧凑地准确地表达视频数据,提供视频导航的方式(即向前搜索,向后搜索,随机访问等),并提供其他额外的作者和内容的信息,如字幕。视频编码中最困难的任务之一是利用视频压縮减小视频数据的大小。视频压縮技术通常指减少表示数字视频数据的数据量。该技术是空间域图像压縮和时域运动补偿的结合°从80年代初以来,寻找高效的视频压縮技术已成为视频编码领域的主导活动。第一个重要的里程碑是H.261标准,从该标准中,JPEG图形专家组采用了使用离散余弦变换(DCT)的想法。从那时起,压縮技术取得了很多进步,如运动估计。特别是,国际电信联盟(ITU)己经发布了许多在编码视频方面标准,包括H.261,H.262和H.263。国际标准化(ISO)和国际电工委员会(IEC)的国际组织联合制定了最新的视频编码标准,H.264/高级视频编码(AVC),也称为MPEG-4第10部分。H.264标准是早期的标准如MPEG-2和MPEG-4的发展产物。在此,标准协议H.261,H.262,H.263,H.264/AVC,MPEG-2,MPEG-4,AVS(包括AVS-M,AVS1.0,等),以及H.264/SVC在此以引用的方式并入。由于互联网的迅速发展和对视频内容的需求不断增加,通信网络的视频流媒体服务已收到来自学术界和工业界的极大关注。在一个典型的流媒体系统中,压縮的视频流从服务器传输到客户端设备时进行实时解码和显示。为了减少数据包传输过程中丢失或延误,多种错误恢复技术被提出。大多数以前的错误恢复技术着力于提高在线压縮过程中错误的鲁棒性。但是,在视频流系统中,如视频点播系统,视频服务器依据离线压縮视频提供视频服务。因此,人们渴望提高传输之前压縮过的视频时的抗误码能力,从而提供高质量的视频服务。
发明内容在此描述了一项可以提供对离线压縮视频数据有错误恢复能力的传输的发明的多个实施例。根据该项发明的多个实施例,无损帧间转码(LIFT)技术把传统的编码视频数据块转化成为一种被称作转码块的新型块,以实现类似帧内编码I块的抗误码能力。根据其中一个实施例,在没有传输错误时,转码块可以无损的转换回到精确的原始编码块。根据其中另一个实例,当传输错误造成预测块不可知时,转码块可以像内部编码I块那样被鲁棒性的解码。不同于传统编码数据块,转码数据块在编码过程中,不仅包含和视频数据块相关的编码系数,而且还包含用来生成系数数据的预测数据。根据该项发明的一个实施例,转码数据块包含一个由与原始视频数据块相关的系数块和一个与原始视频数据块相关的预测块构成的线性组合。该系数块和预测块的线性组合优选地是经量化和变换的系数块,与经量化和变换的预测块之和。在解码端,当从之前的编码数据块中可得到预测块时,原始的视频数据可无损的从编码的比特流和预测数据中恢复。当由于包丢失,解码器不能得到预测块时,原始的视频数据仍可鲁棒性地从编码的比特流中重建。因为,经量化和变换的系数块和经量化和变换的预测块的和是原始视频数据的近似值,所以如此产生的数据重建是原始视频数据的无损估计。根据一个可替换的实施例,转码数据块可以直接从原始视频数据产生。此外,转码数据块可转换回可由传统解码器解码的传统编码数据块。此外,一种利用新型离线转码和在线合成技术的视频服务器是12该发明的另一个实施例。根据这一实施例,视频服务器以离线转码的方式,把传统的编码视频流数据块转化为其相应的转码数据块。当采用编码数据块提供视频服务时,视频服务器有选择性地将视频流中的一个或多个传统的编码数据块用其转码后的对应部分取代。由于转码数据块可以被鲁棒性的解码,即使当解码器不能得到它们的预测块时,所以在时变信道下高丢包率的环境中,如无线信道、Wi-Fi/Wi-Max,3G/3.5G/4G、蓝牙、有线信道、互联网、IP网络等,原始视频数据仍可从编码视频流中恢复。对于一个时变信道,在服务器不能在线转码时,这个技术能实现和在线转码时相同的自适应抗误码能力。这项技术尤其适合不同的信道状态下的多个客户同时连接到服务器的视频流系统。根据一个实施例,提供了一种用于传输具有多个数据块的数字视频数据的方法。该方法包括将视频数据块编码成编码数据块;将编码数据块转化成一个转码数据块,该转码数据块包含一个与视频数据块相关的预测块和一个与视频数据块相关的残差块;以及将转码数据块传送到一个解码器进行解码。根据这个实施例,编码视频数据块进一步包括形成和视频数据块相关的预测块;通过从视频数据块中减去预测块来计算残差块;变换残差块;量化经变换的残差块;通过编码经量化和变换的残差块来形成编码数据块。此外,将编码数据块转换成转码数据块进一步包括将编码数据块解码至经量化和变换的残差块;形成与视频数据块相应的预测块;变换和量化预测块;对经量化和变换的残差块和经量化和变换的预测块求和;通过编码求得的和值产生转码数据块。根据上述实施例,提供了一种计算机可读介质,其包括指示一个或多个数字处理器的程序代码,用于传输具有多个数据块的数字视频数据。该程序代码包括以下指令将一个视频数据块编码成一个编码的数据块;将编码的数据块转换成一个转码的数据块,该转码数据块包含一个预测块和与视频数据块相关的残差块;传送转码数据块至解码器进行解码。根据发明的另一个实施例,描述一种可提供视频服务的方法,这种视频服务是一种基于具有多个数据块的数字视频数据的视频服务。该方法包括将多个数据块中的每一个数据块编码成一个编码数据块;将多个编码数据块中的每一个转换为一个包含与编码数据块相关的预测块和残差块的转码数据块;在通过计算机网络传送到解码器的比特流中,传送多个编码数据块中的至少一个编码数据块和多个转码数据块中的至少一个转码数据块;以及调整比特流中转码数据块的比例。在另一个实施例中,提供了一种计算机可读的介质,包括其上存储的程序代码,它们可被数字处理器执行,以提供基于具有多个数据块的数字视频数据的视频服务。计算机代码包括以下指令将多个编码数据块中的每一个编码成为编码数据块;将每个编码数据块转换为转码数据块,该转码数据块中包括一个与编码数据块相关的预测块和一个与编码数据块相关的残差块;在通过计算机网络传送到解码器的比特流中,传送多个编码数据块中的至少一个编码数据块和多个转码数据块中的至少一个转码数据块;调整比特流中的转码数据块的比例。在另一个实施例中,提供了一种用于解码具有多个块的视频数据的方法。这种方法包括接收携带编码数据块的比特流,其中编码数据由一个视频数据块编码得来;通过解码比特流获取编码数据块;确定编码数据块是一个转码数据块,该转码数据块包括一个与视频数据块相关的预测块和一个与视频数据块相关的残差块;确定与视频数据块相关的预测块的可得性;以及根据预测块的可得性选择第一和第二解码方案中的一个解码方案来解码转码数据块。根据这个实施例,第一种解码方案是一种无损解码方案。这种方案进一步包括确定能得到预测块,和依据第一种解码方案对转码数据块进行解码。在更进一步的实施例中,依据第一种解码方案来解码转码数据块包括从之前的重建视频数据中,获得与视频数据块相关的预测块;变换预测块;量化变换的预测块;从转码数据块中减去量化的转码预测块;反量化被减去的转码数据块;通过反变换反量化的被减去的转码数据块,来重建残差块;通过对预测块和重建的残差块求和,形成视频数据块的一个近似,其中这个近似是视频数据块的无损重建。在可替换的实施例中,第二种解码方案是有损的。相应的,这个方法进一步包括确定不能得到预测块,和依据第二种解码方案解码转码数据块。在进一步的实施例中,依据第二种解码方案解码转码数据块包括反量化转码数据块;通过反变换反量化的转码数据块,形成一个视频数据块的近似,其中这个近似是视频数据块的有损重建。上面所描述的变换、量化、编码以及它们的反操作(包括反变换、反量化、解码)都要遵循选自H.261、H.262、H.263、H.264/AVC、MPEG-2、MPEG-4、AVS-M、AVS1.0、禾口H.264/SVC构成的组中的视频编码标准。另外,这些操作也可以遵循任何利用运动补偿对视频数据进行编码的视频编码技术。图1A描述了一个基于视频编码和解码技术提供视频服务的系统的总体框图1B说明了I,P和B帧以及它们与其他视频帧之间的关系;图2A和2B分别描述了根据现有的视频编码标准的视频编码器和解码器;图3描述了基于本发明的一个实施例的一种无损的帧间转码器(即LIFT转码器),在此转码器中,转码数据块是由传统的编码视频数据块(如I-块、P-块、或者B-块)生成;图4描述了一个重建原始视频数据的解码器,它直接解码由图3中描述的转码器产生的转码数据块;图5描述了一种编码器,它通过对原始的视频数据进行直接编码产生转码数据块;图6描述了一种解码器,它将转码数据块转换成一个可被传统解码器解码的传统的编码数据块;图7描述了一种提供时变信道上视频服务的系统,该系统是基于离线转码和在线合成技术的。图7B描述了用于实施视频编码器、解码器、视频服务器、以及客户端以提供基于转码技术的视频服务的计算环境;图8显示了一个在线合成的过程,该过程有选择性地将传统的编码块和转码块组合,以传输视频数据。图9给出了一种方法,该方法通过将传统的编码视频帧转码成转码视频帧,以实现给视频流中加入一个随机存取点;图IOA给出了基于本发明的一个实施例的视频数据编码方法;图10B给出了一种对含有转码数据块的视频数据进行解码的方法;图IIA、IIB、和IIC描述了刷新率一定的转码器的抗误码能力。图12A和12B描述了在不同丢包率下转码器的抗误码能力。具体实施例方式在该申请中使用下列符号只是为了简化对本发明的各个典型实施例的讨论和描述。但是,它们的目的不在于限制本发明的范围。<table>tableseeoriginaldocumentpage16</column></row><table><table>tableseeoriginaldocumentpage17</column></row><table>回到附图上并且首先参照图1A,它描述了一个提供基于视频编码和压縮技术的视频服务的系统100。在一个视频服务器101中,原始视频104的数据被压缩后存放在存储器中。服务器101然后将在用户的请求下将压縮的视频数据发送到一个客户端103(比如电视,PC或者移动视频设备)。一般情况下视频数据的压縮遵循前面提到的一些视频编码标准。根据这些编码标准,在视频编码器102上的视频压縮一般包括一个由块106表示的预测功能、一个由块108表示的变换和量化功能、和一个由块110表示的编码功能。原始视频数据104被编码和压縮,成为压縮后的视频数据112。在客户端103,视频解码器114将一系列的逆运算应用在压縮后的视频数据112上,用以复原原始的视频数据。这些逆运算包括一个由块116表示的解码功能、一个由块118表示的逆变换和反量化功能、和一个由块120表示的重建功能。根据编码和解码技术,及传输压縮视频数据的信道的性能,解码后的视频122可以是无损重建,一个原始视频104的完美副本;或者可以是一个有损重建,包含编码和传输导致的错误。在现有的视频编码标准中,每一个视频帧都在块基上被压縮和编码。具体来讲,一个待编码的视频帧被处理并分解成一些块,这些块通常称为宏块。在这里,为了表述的方便,我们用"块"来表达宏块的意思。一个典型的块是一个图像像素阵列,大小通常为4X4,8X8,16X16等。现在来看图1B,这里描述了三种类型的帧以及在视频压縮标准中它们所分别对应的块。不同种类的帧和块利用了存在于视频序列中不同类型的冗余,因此具有不同的压縮效率和不同的功能特性。一个内帧,如帧152(俗称内编码帧或I帧),包含了只利用当前帧内的像素点之间的空间相关性而没有利用其它帧的信息来编码的编码视频数据块154。I帧通常作为其它帧解码/解压縮的基,以及给可以开始解码的编码序列提供一个接入点。一个预测帧,如帧162(俗称P帧),包含了基于利用所谓的参考帧的运动预测来编码的视频数据块164,这些参考帧是指之前已编码的I或P帧,如帧166。一个双向帧,如帧172(俗称B帧),利用由前面、后面、或者两者兼而有之的先前已编码的帧(I或P帧)获得的预测进行编码,得到视频数据块174。在图1B中,帧172中的B-块174是利用了前面的帧176和后面的帧178的数据来进行编码的。B帧不会用来作为其它帧的预测参考帧。对于P帧或者B帧,编码器会对一帧中的每一块执行运动估计,以寻找参考帧中的最佳匹配。对于每个数据块,参考帧中的最佳匹配将会作为当前块的预测。以下为了讨论方便,I帧的数据块通常会被称为帧内编码块或I块,而B数据块和P数据块通常会被称为帧间编码块,或分别被称为B块和P块。编码器和解码器的详细运算过程在这里用图2A和2B来描述。图2A描述了传统的视频编码器200执行的编码过程。如图2A所示,编码器200首先从正在编码的帧202中检索出视频数据块x,同时形成与块x相关的预测块y。预测块y是通过当前帧202(即帧内预测)或者其他已经编码的帧(即帧间预测)的数据构造形成的。编码器将预测块y从当前块x中减去,得到残差块e。残差块e然后被转换成系数块E,系数块E包含从一组标准基模块获得的加权数值。系数块E然后被量化和编码,形成可供传输的码流。如图2B所示,在解码器端250,对已编码的视频数据252进行逆运算,重构得到原始视频源数据(重构块266)。具体来说,对所接收到的视频数据块252进行解码(254)、去量化(258)和逆变换(262),得到重构的残差块S(264)。这个过程同时也生成了量化系数块256和系数块260,这两个系数块分别是量化系数块220和系数块216的重建。如果数据块266是帧内编码块(即I块),将重构的残差块§(264)与预测块y(268)进行组合就可以得到原始的数据块x,在这里,预测块y(268)是预测过程270基于当前帧274生成的(即帧内预测)。另一方面,如果视频数据块266是帧间编码块(即P块或B块),组合g(264)和由其它帧272生成的预测块y数据块,从而获得与帧内编码块类似的错误鲁棒性。LIFT技术将传统的编码块进行了重新编码,使得当没有传输错误的时候,编码块可以被无损地复原,而当对应的预测块y无法获得时,编码块也可以被鲁棒性的解码。根据该实施例,视频码流的I、P和B块可以分别转换成LI、LP和LB块。如图3所示,LIFT转码器的输入是量化过的残差块Q(E)以及由当前帧或其它帧获得的预测块y。预测块y经过变换和量化,得到量化预测块Q(Y)。然后,将Q(E)与Q(Y)之和进行熵编码,得到转码块,在视频码流中,转码块替代了原始的编码块Q(E)。参照图3,LI块,类似于I块,有帧内预测信息却没有运动矢量信息。如图3所示,为了生成LI块,I块首先被完全解码,重构得到原始视频数据(即重构帧)。通过已重构的帧数据获得的帧内预测信息,计算出预测块y。然后对预测块y进行变换和量化,得到量化预测块Q(Y)。最后对Q(Y)与Q(E)之和进行编码,获得LI块。类似于P块,由转码器300从P块中生成的LP块有一个相对于参考帧的运动矢量。如图3所示,首先P块被完全解码,重构得到原始视频数据。然后,利用运动补偿(MC)和已解码的参考帧,得到对应于原始视频数据块x的预测块y。接着对预测块y进行变换和量化,得到Q(Y)。最后将量化和变换过的残差块Q(E)与预测块Q(Y)之和编码,获得LP块。类似于B块,LB块有两个或者多个相对于其它参考帧的运动矢量。为了获得LB块,首先B块被完全解码获得原始的视频数据。利用多运动矢量以及对应的参考帧进行运动补偿,获得预测块y。然后19对预测块y进行变换和量化获得量化和变换过的预测块Q(Y)。最后将Q(Y)与Q(E)相加,编码获得LB块。根据该实施例,利用遵从视频编码标准的视频编码技术,从原始的视频数据块中获得原始压縮比特流的I、P和B块。举例来说,这些块可以由以下已存在的视频编码标准生成H.261,H.262,H.263,H.264/AVC,MPEG—2,MPEG—4,AVS—M,AVS1.0禾口H.264/SVC。同日寸,这些数据块也可以由其它一些采用运动补偿技术来计算帧内或帧间预测信息的编码技术生成。正如之前已经描述过的,在原始的压縮码流中,I块是指依赖于帧内预测信息的块,而P块和B块则是指那些依赖于帧间预测信息的块。本领域的技术人员也应该清楚,为了让LIFT转码器正常工作,图3描述的LIFT转码器中变换T、量化Q和编码E应符合用来生成之前已经压縮过的码流的视频编码技术。具体来说,这些视频编码技术通常都采用变换、量化和编码这些运算进行视频数据编码。根据图5所示的可替换的实施例500,LI、LP和LB块直接从原始视频数据块x中生成。根据该实施例,通过从视频数据块x中减去预测块y,首先得到了残差块e。接着对残差块e进行变换和量化,获得系数块Q(E)。然后,对与视频数据块x相关的预测块y进一步的变换和量化,得到Q(Y)。最后,将Q(Y)和Q(E)之和编码,获得转码块。根据该实施例,根据在运算过程中使用的预测数据块y选择LI,LP和LB块中的一块作为转码块。具体来说,当预测数据块y是从当前正在被编码的视频帧中获取的时候,转码块是LI块。当预测数据块是从其它帧而不是当前视频帧中获得的时候,转码块是LP或者LB块。同样,类似于图3中所描述的,图5中所示的LIFT转码器的变换T、量化Q和编码E都应符合以下这些视频标准H.261,H.262,H.263,H.264/AVC,MPEG-2,MPEG-4,AVS-M,AVS1.0禾口.264/SVC,或者任何采用运动补偿、变换、量化和编码运算的编码技术。根据图4中所示的实施例,在LIFT解码器400中,根据是否能够获得预测块y,可以在两种解码方案中选择一种来对接收到的转码数据进行解码。如图4所示,如果可获取与接收到的转码数据关联的预测块y,无损解码方案将会被采用。具体来说,首先解码接收到的数据块,恢复Q(Y)与Q(E)之和。然后,利用运动补偿(MC)、转换T和量化Q等技术,得到量化和变换预测块Q(Y)。接着从Q(Y)与Q(E)之和中减去Q(Y),得到系数块Q(E)。随后对Q(E)进行反量化Q—1卩逆变换伫得到重构残差块g,最后将g与预测块y组合,得到原始视频数据块^。在这个解码方案中,因为量化残差系数Q(E)和预测块y都是已知的,重建信号;是原始视频数据x的无损重构。在LIFT解码器400中的解码过程如下所示"厂1fe-'fe("+卿-網))"+"fe-H鹏))=_y+S=x万一包丢失,导致没有获取预测块y,则接收到的转码数据仍然可以被鲁棒性地解码。因为Q(Y)+0化)可以近似认为Q(X),即原始视频数据块x的量化变换。在这个解码方案中,首先接收Q(Y)+Q(E),然后对其进行反量化和反变换,从而获得一个原始视频数据x的有损重建。解码过程如下所示"fe"te("+,))、.7(2)=_y+e=£根据该实施例,解码器可以有损或者无损地还原出原始的视频数据块x。有损或者无损取决于预测块y是否可获取。正如上面所讨论的,当预测块可获取的时候,转码视频数据块拥有帧间编码的性质,21之和大于Q(E)而类似于Q(X),则转码数据块保持与传统帧内编码数据类似的比特率。根据另一个实施例,转码数据块(即LI,LP和LB块)可以在LIFT解码器中转换回传统的编码数据块(即I,P和B块)。图6描述了根据该实施例的LIFT解码器600的工作原理。具体来说,首先,将解码器中获得的转码数据块解码,从而获得解码数据Q(E)+Q(Y)。从解码数据Q(E)+Q(Y)中减去从与当前视频数据块x相关的预测块获得的经量化和变换过的预测块Q(Y)。所得到的数据是与视频数据块x相关的系数数据块Q(E),然后可编码视频数据块x获得传统编码数据块(即I,P和B块)。然后,系数块Q(E)被进一步地反量化Q—'和逆变换T—t得到残差块e。最后将残差块e与预测块y组合以重构视频帧。不像解码器400那样直接解码视频数据,LIFT解码器600输出的是一些传统的编码数据块。之后,这些数据块可以通过H.261,H.262,H.263,H.264/AVC,MPEG-2,MPEG-4,AVS-M,AVS1.0,H.264/SVC或者其它任何采用了运动补偿、变换、量化和编码运算的视频编码标准来进行解码。此外,在LIFT解码器600中的编码E,变换T,量化Q,解码E—、逆变换T—1,和反量化Q—1,都与LIFT编码器300和500中的对应部分相同。^^^适应错误鲁獰丝游观^嚴夯器根据如图7A所示的一个实施例,利用如上所述的LIFT转码技术,视频服务器702在时变信道706中向用户(或客户端)704提供了具有鲁棒性的数字视频服务。对于时变信道706,如无线信道,Wi-Fi/Wi-Max,3G/3.5G/4G,蓝牙,有线信道,因特网,IP网络等等,由于缺少信道状态信息,利用传统的离线转码技术难以获得最优误差复原;而在线转码技术也十分复杂,尤其是在有不同信道状态的多客户端的情况下。为了解决现有系统的这些问题,根据该实施例的视频服务器702用本文所描述的转码技术来进行离线转码和在线组成,以在时变信道706中获得自适应误差鲁棒性。图8描述了在视频服务器702上采用离线转码和在线合成技术800的一个实例。给定一个传统的包含P块的编码P帧,服务器702在离线状态下将所有的P块转码成对应的LP块(为了方便描述,在图8中用"L"表示),同时将所有P块和LP块都保存在存储空间。在传输视频码流的时候,不同于只传输P块的传统技术,视频服务器702同时采用了P块和LP块进行在线合成,生成组合编码帧来进行传输。如图8所示,当组合编码视频帧在服务器702上被构造的时候,LP块将会代替一个或多个P块。当然,服务器702也可以用对应的P块来替代转码帧中的一个或多个LP块。以上两种情况的效果是相似的。如图8中的实例所示,LP块和P块能随机地互相替换。LP块可以在预置模式中替代对应的P块。比如说,视频帧中每隔一个P块或者是每隔两个P块将会被对应的LP块所替换。当然,也可以采用其它预置模式来利用P块和LP块合成视频帧。根据客户端(即接收端)所测得的包丢失率p,视频服务器702进一步地调整PL块的比例(即PL块在组合编码帧中的百分比)。为此,客户端通过监测接收到的数据包来计算丢包率P,然后通过确认机制或者其它反馈机制将p传输给服务器702。当视频服务器702检测到丢包率P变大或者有增长的趋势的时候,它就提高PL块的比例(也就是说使用更多的PL块和更少的P块),以便于在丢包率比较高的情况下让视频码流具有更好的鲁棒性。相反,当丢包率变小或者有减少趋势的时候,服务器702减少PL块的比例(即使用更多的P块和更少的LP块)来传输视频帧。或者,服务器702将包丢失率p与一个预置的阈值进行比较。当从客户端反馈获得的包丢失率高于这个阈值,这就表明视频码流中将有更多的包丢失。这种情况下,应该用更多的LP块组合视频帧,以便于在由于包丢失导致的预测帧不可获取的情况下仍然能够较好地解码数据块。反之,当包丢失率小于这个阈值的时候,表明传输质量很高,包丢失得很少。在这种情况下应使用更多的P块来传输视频数据。仍然作为选择之一,一个高阈值和一个低阈值用来调整视频帧中的LP块的比例。具体地说,当数据丢包率落在高阈值和低阈值之间时,LP块的比例被设置为预设值。当数据丢包率变得比低阈值更低时,这一比例会下降,使更少的LP块用来传输视频数据流。当数据丢包率变得比高阈值更高时,比例增加,使更多的LP块用来传输视频数据流,从而保证了传输的鲁棒性。读完这段说明,本领域的技术人员就会明白,其他的机制也适用于为了提高视频服务的鲁棒性而调整视频帧中转码块的比例。P块和LP块都只是作为说明在视频服务器702上实现离线转码和在线合成技术的一个例子。它们不是为了限制该发明的范围。具体来说,相同的离线转换和在线合成技术可以用在其它包括I,B,LI,和LB块的块类型上。例如,一个视频帧可以包括B和LB块,或者I和LI块,以提高视频服务的鲁棒性。同样,在这些复合编码帧中转码块(即,LI和LB块)的比率也可以根据丢包率作出调整。根据进一步的实施现,视频服务器可以优化转码块的比例以及它们的位置。由于转码块在有损环境中有类似于帧内编码块的比特率和鲁棒性,所以这个优化问题类似于G.Cote和F.Kossentini在"OptimalintracodingofblocksforrobustvideocommunicationovertheInternet",SignalProcessing:ImageCommunication,vol.15,no.1,pp.25-34,1999(以下称为"Cote")中所描述的帧内刷新问题,这篇文章在此以参考文献的方式纳入。根据Cote的研究,最佳帧内刷新率大致等于数据丢包率p。根据该实施例,转码块的比例因此被设置为复合帧中的数据丢包率P。复合帧中的转码块的位置可以随意选择,也可以按照上面所说的预定模式选择。或者,当原始的视频码流可以获得作为计算失真的参考时,转码块在组合帧中的位置可以按照R.Zhang,S.L.Regunathan禾卩K.Rose在"Videocodingwithoptimalinter/intra-modeswitchingforpacketlossresilience",SelectedAreasinCommunications,IEEEJournalon,vol.18,nol.6,pp.966-976,2000中提出的"比特失真优化(RDO)"方法进行选择。这篇文章在此以参考文献方式纳入。在视频服务器702上的另一个可选实施例中,为进一步提高误差鲁棒性,一个由在线合成技术产生的给定的压縮视频流也可以被重新编码以增加更多的I块。所属领域的技术人员就会意识到,这种再压縮的过程引入了转码失真,而LIFT方法是无损的。更重要的是,提案800可以实现离线转码和根据数据丢包率在线调整转码块的数量。然而,现有系统的再压縮方法如果是在离线状态实现的话,都无法在线调整I块的数量,而且在线再压縮也过于复杂,特别是当多个客户有不同的数据包丢失率时。根据进一步的实施例,转码块的变换和量化中涉及的Q(E)+Q(Y)的直流分量是从相邻块进行预测得到的。运动矢量保存在码流中。此外,一个二进制映射图与视频数据压縮在一起,以指示一个视频数据块是一个传统的编码块还是一个转码块。例如,二进制映射图的每个比特位与一个编码块相关联,以指示该编码块是传统编码块还是转码块。根据另一个实施例,除了用传统的编码块和转码块生成混合的视频帧以外,视频服务器702进一步用转码帧取代了整个传统编码帧,来传输视频数据。具体来说,服务器执行离线转码,将视频帧的所有传统块转换成转码块。当传输视频数据时,服务器发送一个只包含转码块的视频帧(即转码帧),而不是一个只有传统编码块的原始帧(即传统编码帧)。取决于编码块所采取的编码方案,传统的编码帧可能是I帧,P帧或是B帧,而转码块可能是LI帧,LP帧或是LB帧。图9给出了一个例子,视频流中的一个P帧被它所对应的L帧所代替来进行传输。所属领域的技术人员将会了解到,类似的操作也可以用在I帧和B帧上来进行传输视频数据。在传统的视频流系统中,随机访问只能发生在I帧(即只能从I帧开始进行解码,而不是从P帧或是B帧)。相反,本文所描述的702服务器可以通过将传统编码帧转码为转码帧来加入随机访问点。这是因为转码帧可以独立于参考帧被解码,从而允许客户端重新同步视频数据,并给客户端提供额外的视频数据的随机访问点。根据图IOA所示的另一个实施例,描述了一种方法IOOO,用以基于含有多个数据块的数字视频数据来提供视频服务。根据该实施例,输入视频帧首先被划分为块。每个块的大小可以是4x4,8x8,16x16。然后编码器将块编码为L,P,B,I块中的一种。在这里,L块通常指的是分别与I,P,B块对应的LI,LP,LB块的转码块。对于I块,编码器利用帧内预测来编码块(即利用当前帧中的重建像素作为预测块)。对于P块和B块,编码器利用帧间预测来编码块(即利用以前编码的帧和/或以后编码的帧作为预测块)。如上所述,L块可以由I,P,B块进行构造,也可以直接由原始视频数据进行构造。取决于生成L块的过程中预测块所选取的位置的不同,L块可能是LI,LP,或LB块中的一种。将每个帧中的所有块都压縮后,编码器利用上面描述的那些块合成一个压縮帧,并输出复合帧(例如,将压縮视频数据写入到视频服务器上的文件中,或者将编码数据块传输到网络上)。当压縮视频数据在一个有着时变特性的信道上进行传输时,该方法进一步包括了如前所述的调整合成视频帧中的转码块的比例。層吝户端在客户端704,根据上述的解码器,提供方法1050以解码视频数据。同样,这里的L块通常指的是转码块,包括I,P,B块对应的LI,LP,LB。具体来说,如图10B所示,方法1050首先读取携带了编码帧的输入比特流,然后解码帧头。编码块的类型取决于帧头。比特流根据每个块的类型进行解码。对于I块,帧内预测被用来解码编码块。对于P或B块,帧间预测被用来解码数据。在解码L块时,根据是否能够获得预测块来选择解码方案。具体来说,当能获得L块的预测块时,转码的L块被转换回传统编码的26I,P或B块。接着这些传统编码块将被传统解码器解码。另外,转码的L块可以直接解码,无损重建出视频数据块X。另一方面,当不能获得预测块时,转码的L块仍然可以被解码,以获得原始的视频数据块的有损重建。每帧的所有块被解码后,将解码数据块进行组合可以重建出原始帧。除了解码视频数据流以外,客户端704还监测传输信道706的包丢失率p,并将数据包丢失率p报告给视频服务器702以调整在以后视频帧中的转码块的比例。例如,客户端704周期性地以响应接收数据包而作出确认的方式来报告数据包丢失率P。或者,只有在数据包丢失率p有显著变化,需要视频服务器702调整在随后视频流中的转码块的比例时,客户端704才将数据包丢失率p报告给视频服务器702。实观裸凝编碍器、观^嚴夯器、观凝*碍器*欲凝吝户璩游#"图7b说明了一个合适的硬件系统700的例子,其中本发明的各个方面都能够得到实现。硬件系统700只是合适操作环境的一个例子,并不是为了对本发明的使用或功能进行任何的限制。其他一些适用于该发明的已知计算机系统,环境,以及/或配置包括但不限于个人电脑,服务器电脑,手持设备或笔记本电脑,多处理器系统,基于微处理器的系统,可编程电子器件,网络个人电脑,迷你电脑,大型计算机,包括任何上述系统或设备的分布式计算环境,等等。参考图7B,这里描述了一个实现视频编码器,服务器,解码器,或客户端的示例系统700。系统700包括一个计算设备,例如设备710。在其最基本的配置中,设备710通常包括一个处理单元720和系统内存730。取决于具体的配置和计算设备,系统内存730可包括易失性存储器(如RAM732),非易失性存储器(如ROM731),或两者的某种组合。此外,系统700也可以有大容量存储单元,包括不可移动存储器741(例如硬盘)和/或可移动存储器(如传统的软盘752,或光盘(CD/DVD)756,或闪存设备)。类似地,系统700也可以有输入设备(如鼠标761,键盘762)和/或输出设备(如显示单元791,打印机796,和扬声器797)。系统700的其它方面可能包括使用有线或无线媒体与其他设备,计算机,网络,服务器等进行的网络连接。例如,系统700可进一步包括调制解调器772和网络接口770,用于通过广域网(WAN)773和/或局域网(LAN)771与远程计算机780通信。此外,设备710还包括系统总线721以连接处理单元720、各种的内存模块、输入/输出设备、以及上面所述的其他功能部件。因此,处理单元720可直接读取和写入数据到系统内存730。它还可以通过各种接口(如内存和网络设备接口740和750、用户输入接口760、网络接口770、视频接口790、及输出外设接口795)与各种输入/输出设备和网络设备进行数据交换。所有这些设备都是所属领域已知的设备,这里就不需要再讨论了。上面描述的编码和解码技术、视频服务器702、客户端704可实现为一个或多个在类似于设备710的通用数字处理器上运行的软件程序进行实现。具体来说,实现视频编码和解码、视频服务器702、客户端704的软件程序可包括指示设备710的各种组件执行上述方法步骤的程序代码。例如,程序代码可能包括功能模块和计算机可执行指令以提供各个组件的功能,包括变换T、量化Q、编码E、解码E—'、反量化(即重新縮放)Q—\逆变换T—\运动补偿(MC)等等。此外,程序代码可进一步提供在线合成和丢包率监测和报告的功能。或者,该系统可以包含独立的计算机程序,每个程序独立执行以提供上面提到的编码器、解码器、视频服务器、视频客户端等功能。观^编^¥器浙观^嚴夯器程,根据上述实施例,视频编码器程序代码包括将一个视频数据块x编码为传统编码块(即I,P,B块)的指令、将传统编码块转换成包含与视频数据块x相关联的预测块y和残差块e的转码块(即LI,LP,LB块)的指令、以及将转码块发送给解码器进行解码的指令。特别地,编码视频数据块x的指令进一步包括了构建与视频数据块x相关联的预测块y的指令;从视频数据块x中减去预测块y以计算残差块e的指令;变换残差块e以得到E的指令;量化变换残差块E以得到Q(E)的指令;通过编码量化过的变换残差块Q(E)来构造编码数据块E(Q(E))的指令。如上所述,传统的编码块是I,P,B块中的一种。对于I块,预测块y是基于当前视频帧的数据进行帧内预测得到的。对于P和B块,预测块y是基于先前编码帧和/或后续编码帧进行帧间预测得到的。此外,将传统编码数据块转换为转码数据块的指令进一步包括将编码数据块解码为量化过的变换残差块Q(E)的指令;构造对应于视频数据块x的预测块y的指令;变换和量化预测块y以得到Q(Y)的指令;将量化过的变换残差块Q(E)与量化过的变换预测块Q(Y)相加的指令;以及编码Q(E)+Q(Y)并创建转码数据块的指令。如上所述,转码块是LI,LP和LB中的一种。对于LI块,预测块y是基于当前视频帧的数据进行帧内预测得到的。对于P和B块,预测块y是基于先前编码帧和/或后续编码帧进行帧间预测得到的。在转换编码数据块的过程中,原始视频数据帧被重建。特别地,计算机代码进一步包括从量化过的变换残差块Q(E)构造残差块g的近似值的指令;将残差块g的近似值与预测块y相加以重建视频数据块;f的指令;以及将重建的视频数据块^组合以重建视频帧的指令。程序代码还包括产生预测块y的运动补偿的指令。视频服务器程序代码包括将视频数据块编码为编码数据块x的指令;将编码数据块(即I,P,B块)转换成转码数据块(即LI,LP,LB块)的指令,转码数据块包括与编码数据块x相关联的预测块y与残差块;传送比特流中的至少一个编码数据块和至少一个转码数据块的指令;调整比特流中的转码数据块的比例的指令。在调整比特流中的转码块的比例的过程中,视频服务器程序代码进一步包括从客户端接收在计算机网络传输时的相关误差参数的指令;以及响应错误参数而调整数据流中转码数据块的比例的指令。根据另一个实施例,服务器程序接收到的误差参数是传输信道的丢包率,该参数表明了传输质量。根据该实施例,视频服务器程序代码进一步包括将一个或多个编码数据块替换为对应的一个或多个转码数据块以构造复合视频数据的指令;构造一个二进制映射图的指令,其中该二进制映射图的每个比特对应复合视频数据的一个块,二进制映射图的每个比特的值指示对应块是编码数据块还是转码数据块;将该二进制映射图并入比特流并传输给解码器的指令。此外,视频服务器可能是一个在通用计算机上运行的服务器程序。视频服务器程序代码可以用多种编程语言实现,包括但不限于C,C++,Java,Basic等等。该程序将原始视频数据压縮存储到存储空间,例如图7B中的741、752、756、732和731。服务器程序通过网络接口770侦听网络,并等待从连接至网络的另一远程计算机(如计算机780)上运行的客户端程序发出的连接请求。一旦与客户端计算机780连接,服务器程序就应客户端程序的请求将压縮视频数据发送到客户端程序。裸^#码器,裸凝吝户^程,根据另一个实施例,视频解码器程序代码包括接收传统解码的或转码的视频数据块的指令;确定编码数据块是否为转码数据块(即LI,LP,LB块)的指令,其中转码数据块包括与形成编码视频数据块的视频数据块x关联的一个预测块y和一个残差块e;确定是否能够获得与视频数据块x关联的预测块y的指令;根据是否能够获得预测数据块来从用于解码转码数据块的第一和第二解码方案中选择一个的指令。特别是,解码器程序代码还包括为了接收如上面描述的二进制映射图的指令,该二进制映射图包括关联视频数据的多个二进制值以及基于多个二进制值中一个与编码视频数据块对应的二进制值来决定编码视频数据块为转码数据块的指令。例如,如果与视频数据块关联的二进制值为0,解码器确定编码数据块为按传统方式编码的数据块,通过传统的解码技术(例如标准H.261,H.262,H.263,H.264/AVC,MPEG-2,MPEG-4中所规定的那些技术)来解码这些编码数据块。如果与视频数据块关联的二进制值为1,解码器确定编码数据块为转码数据块然后通过于此描述的技术来解码这些编码数据块。在转码数据块的解码中,程序代码还包含确定能获得预测块y的指令和通过优选为无损可重构技术的第一解码方案对转码数据块进行解码的指令。尤其是,根据第一种解码方案,解码器首先从先前的重构视频数据中获得与视频数据x关联的预测块y,然后对预测块y进行变换得到Y,对转换后的预测块Y进行量化得到Q(Y),从转码数据块(即Q(E)+Q(Y))中减去量化的变换预测块Q(Y)来恢复量化的变换残差块(即量化的系数块)Q(E),通过对减后的转码数据块进行反量化来恢复系数块E,通过对系数块E进行逆变换(即尺度变换的被减的转码数据块)来重建残差块e,并且通过对预测块y和重建的残差块g求和构建一个视频数据块S的近似值,获得的这个重构的;就是原始视频数据块x的无损重构。如果解码器确定不能获得预测块y,则解码器程序代码还包括根据第二解码方案对转码数据块进行解码的指令,第二种解码方案是一种有损解码技术。按照这种有损解码技术,解码器首先重新调节(即反量化)转码数据块Q(E)+Q(Y)来得到和Y+P,并且通过对重新尺度调节的转码数据块进行逆变换T—'得到视频数据块X的近似值y+g,这是原始视频数据块的有损重构。根据上述的各个实施例,视频客户端程序代码包括在通信信道上接收输入码流的指令、从码流中提取编码视频数据并且获得编码视频数据块的指令、基于与数据块关联的二进制值来判断编码数据块是传统方式编码的数据块还是转码数据块的指令。如果编码数据块是依照视频编码标准进行视频编码的,则视频客户端通过一种适合于该编码数据块的解码技术对该数据块进一步解码。如果编码数据块是转码的,视频客户端通过于此描述的技术对数据块进行解码。除此之外,视频客户端监视与传播信道关联的误差参数(如丢包率)并且把它报告给视频服务器来调节视频流中转码数据块所占的比例。视频客户端进一步基于解码数据来重构原始视频流并且将视频流在一个视频播放装置中展现出来以便用户査看。31前面提到的软件程序可以通过标准编程语言(如C/C++、C#、Java、以及Basic)来实现。作为选择,他们可以在商业计算平台(例如MATLAB)上执行。每个在710设备上执行的软件程序都可以是一个独立于其他在710设备上执行的程序,也可以嵌入到其他程序中或提供视频流和视频压縮的操作系统中。例如,为了提供数字视频流服务,编码器和服务器程序可以被嵌入到UNIX操作系统或者Windows服务器系统中。为了接收和解码视频流,解码器和客户端程序可以被嵌入到A卯le的QuickTime视频程序或者Microsoft的WindowsMediaPlayer程序中。实现编码器、服务器、解码器和客户端的软件程序可以存在于不可移除的存储器741上,或者可移除存储设备(如软盘752或CD/DVD756)上。当启动系统700或收到用户通过鼠标761或键盘762输入的执行软件程序的指令时,与系统内存730中应用程序相关联的程序代码就可以被加载到内存空间735。另一方面,将要编码和解码的视频数据可以通过各种设备被设备710接收。例如,视频数据可以被存储在不可移除的存储器741以及载入与系统存储730中的程序数据关联的存储空间737中。作为选择,将要被编码和解码的视频数据可以被存储在软盘752上或CD/DVD756上,通过存储接口750和磁盘读取器751或755读入内存空间。还或者,将被编码和解码的视频数据可以通过网络接口770从远端计算机780输入。当另一个执行编码或解码程序的指令被接收到时,处理单元从存储空间735中读出包括指令的程序代码,并对它们进行翻译。程序代码可以指示处理单元720载入先前接收并存储在存储空间737中的数据并且根据在此描述的方法处理这个数据。在编码或解码过程中,中间的数据和参数(包括重构的视频帧、预测块y、量化结果、,变换结果)可以存储在与程序数据相关联的存储空间737中或处理单元720的内部寄存器中。当编码或解码完成后,结果数据可以被放在存储空间737以便后续处理或被其他程序使用。或者选择将结果数据输出到不可移除存储器741中或包括软盘752及CD/DVD756的可移除存储器中保存。可以选择通过LAN771经由网络接口770或通过WAN773经由调制解调器772将结果数据传输到远程计算机780上。还可以选择将结果编码或解码数据通过显示设备791展现出来。它可以被嵌入到其他的视频或者非视频数据中,使得视频数据被展示为与其他非视频内容一起的嵌入式视频。根据其他一些实施例,这里描述的编码和解码方法以及系统也可以在专有软件/硬件系统中以计算机卡片插入一个通用计算机系统的形式来实现。也可以选择以现场可编程门阵列(FPGA)或专业集成电路(ASIC)的形式来实现。此外,在以上描述的实现编码器、解码器、视频服务器和视频客户端的过程中,变换、量化、编码、它们的逆运算(包括逆变换、反量化、解码)、以及为生成预测块所做的运动补偿优选地遵从视频编码标准(如H.261、H.262、H.263、H.264/AVC、MPEG-2、MPEG-4、AVS-M、AVSl.O、H.264/SVC),以及其他适合编码视频数据的标准。实验接下来的实验在此仅仅为了说明在如上描述的编码和解码技术的一个实施例的有效性,而不是为了限制本发明的范围。在实验中,所有的视频数据已被事先用H.264编码(JM13.2,baselineprofile)并通过包擦除通道传播。图像组(GOP)结构是'IPPP...,。对三种不同的方法进行比较第一种是将编码视频流直接发送,第二种是使用H.264标准以帧内刷新(即强制使一些块转换成I-块)来重新编码,第三种方法是使用上面描述的LIFT转码器对视频转码。比较的结果展示如下。率关真Ofete-Z^'stom.朋,AYU丝虔在率失真(RD)性能测试中,每个视频使用四种不同的比特率编码并且对每个视频的四种压縮视频流进行转码。对于LIFT转码器,10。/。的P-块依据LIFT转码技术被转码成LP-块。为有一个比较的基准,视频流也基于H.264以10%帧内刷新进行重编码。转码视频帧中LP-块的位置与新出现在由依据H.264技术生成的再压縮方案中的1-块完全一致。如图11A-C所示,因为LIFT转码器是无损转码器,因此LIFT转码器比基于H.264的转码器拥有更高的率失真性能。与原始H.264视频流相比较,虽然LIFT转码流拥有更高的比特率,但它们的峰值信噪比(PSNR)是一样的。图11A-C描绘了另一个率失真曲线(即虚线)以供参考,该RD曲线是通过用10%帧内刷新压縮原始未压縮的视频获得的。该附图表明LIFT方法能达到与10%帧内刷新压縮视频相似的率失真性能。贫误碍丝虔图12A和B描绘了LIFT转码器与H.264转码器在不同的丢包率0%,3%,5%,10%,20%下的抗误码性能。每个丢包率下各有100个不同的随机丢包模式。LIFT转码器与H.264转码器在高丢包率下表现相似,但在3%的丢包率下增加0.6dB,无丢包率下增加1.8dB。假设原始未压縮视频是可用的,LIFT曲线仍然接近基于H.264以10。/。帧内刷新方式压縮视频的性能虚线。^适应拔误^激力在时变信道上传输压縮视频流方面引入了两个额外的测试。在第一个测试中,平均丢包率^是10%,但瞬时丢包率p是在传输中不断变化的。开始时的瞬时丢包率为0%,但传输了1/3时间后变成10%,在最后1/3的传输时间变为20%。在第二个测试中,瞬时丢包率p在三个时隙中分别被设为0%,5%,10%,平均丢包率^是5%。在每一个时隙,视频序列传输100次以获得平均的表现性能。在进行测试中,假定服务器不足以承受起在线转码(例如,由于客户数量的原因),因此所有的转码(如需要)都是离线执行的。模拟结果如表l所示。正如上面所描述的,LIFT视频服务器执行离线转码和在线合成。既然在每个时隙中转码块比率和丢包率P是相等的,因此在第一个时隙中就没有转码块,在第三个时隙中有更多的转码块。然而,由于复杂度的限制H.264再压縮方案只能对视频在一定的帧内刷新率(第一个测试中为10%,第二个测试中为5%)下离线转码。因此,H.264再压縮方案在三个时隙中有固定的比特率。<table>tableseeoriginaldocumentpage35</column></row><table>具体地以引文方式并入和提出一样。在描述本发明时的上下文中(尤其是在随附的权利要求中)的术语"一个"和"一种"以及类似表述的使用应当被理解为覆盖单数和复数,除非上下文明确指出。在描述发明时用到的术语"组成"、"有"、"包含"应该被理解为开放式术语(即,意味着包含但不限于),除非特别注明。除非在此指出,否则在这里叙述的值的范围仅仅作为一种单独指出落入该范围内的每个单独的值的简化方法,并且每个单独的数值包含于说明书中,好像在这里个别地叙述了一样。这里描述的所有的方法可以在任何一种合适的顺序下执行,除非在此说明或者明显与前后冲突。所有使用的例子或示范性语言(如"比如"),仅仅旨在更好的解释发明而不是限制本发明的范围,除非声明。说明书中的任何语言都不应当被理解为任何对本发明实践必不可少的没有要求的元素。在这里描述的是本发明的优选实施例,包括发明人所知道的执行发明的最好模型。在阅读了前面的描述后,对于所属领域的技术人员而言,这些优选实施例的变型将变得显然。发明人希望所属领域的技术人员正确地利用这些变型,并且发明人旨在以在此具体描述之外的方式来实现本发明。因此,本发明包括适用法律所允许的所附权利要求中所要求保护的主题的所有变型和等价物。再者,其所有可能的变型中的上述元素的组合也包含于本发明,除非在此说明或者明显与前后冲突。本专利申请要求于2008年9月19日提交的美国临时专利申请No.61/136,621的优先权,该美国临时专利申请在此以引文方式整体并入此文。权利要求1.一种传输具有多个数据块的数字视频数据的方法,该方法包括将一个视频数据块编码成为一个编码数据块;将该编码数据块转换成包括与视频数据块相关联的一个预测块和一个残差块的转码数据块;将该转码数据块传送到解码器进行解码。2.根据权利要求1所述的方法,其中视频数据块、编码数据块、转码数据块、预测块和残差块的大小相同,它们的大小是4x4,8x8,或者16x16。3.根据权利要求1所述的方法,编码视频数据块还包括构造与视频数据块相关联的预测块;通过从视频数据块中减去预测块来计算出残差块;对残差块进行变换;量化变换后的残差块;利用熵编码对量化变换后的残差块进行编码,来构造编码数据块。4.根据权利要求3所述的方法,其中数字视频数据包含一个帧序列,并且每个帧具有一个或多个数据块。5.根据权利要求4所述的方法,其中编码数据块是一个帧内编码数据块,并且与视频数据块相关联的预测块是基于来自包含该视频数据块的帧的数据形成的。6.根据权利要求4所述的方法,其中编码数据块是一个帧间编码数据块,并且与视频数据块相关联的预测块是基于来自不包含该视频数据块的帧的数据形成的。7.根据权利要求3所述的方法,其中变换、量化和编码运算都有符合视频编码标准的逆运算。8.根据权利要求7所述的方法,其中视频编码标准是下列标准之一H.261,H.262,H.263,H.264/AVC,MPEG-2,MPEG-4,AVS-M,AVSl.O,H.264/SVC。9.根据权利要求3所述的方法,其中,将编码数据块转换成转码数据块还包括-将该编码数据块解码成为量化变换后的残差块;构造对应于视频数据块的预测块;变换和量化预测块;对量化变换后的残差块和量化变换后的预测块求和;通过编码所述和来产生转码数据块。10.根据权利要求3所述的方法,其中变换、量化和编码符合以下视频编码标准中的一个H.261,H.262,H.263,H.264/AVC,MPEG-2,MPEG-4,AVS-M,AVS1.0,H.264/SVC。11.根据权利要求IO所述的方法,其中数字视频数据包含一个帧序列,该方法还包括构造残差块的一个近似值;通过对残差块的近似值和预测块求和来重建视频数据块;将重建后的视频数据块合并成帧序列的重建结果。12.根据权利要求11所述的方法,还包括将运动补偿应用到帧序列的重建结果上,其中预测块是从运动补偿后的帧中获得的。13.根据权利要求12所述的方法,其中编码数据块是一个帧内编码数据块,并且预测块是从一个包含了重建的视频数据块的运动补偿后的帧中获得的。14.根据权利要求12所述的方法,其中编码数据块是一个帧间编码数据块,并且预测块是从一个不包含重建的视频数据块的运动补偿后的帧中获得的。15.—种计算机可读媒体,其包含用来指示一个或多个数字处理器的程序代码,其中数字处理器用来传输具有多个数据块的数字视频数据,该程序代码包括将视频数据块编码成为编码数据块的指令;将编码数据块转换成转码数据块的指令,其中转码数据块包含了与视频数据块相关联的一个预测块和一个残差块;将转码数据块传输给解码器进行解码的指令。16.根据权利要求15所述的计算机可读媒体,将视频数据块编码成为编码数据块的指令还包括构造与视频数据块相关联的预测块的指令;通过将预测块从视频数据块中减去来计算残差块的指令;变换残差块的指令;量化变换后的残差块的指令;通过编码量化变换后的残差块来构造编码数据块的指令。17.根据权利要求16所述的计算机可读媒体,将编码数据块转换成为转码数据块还包括将编码数据块解码成为量化变换后的残差块的指令;构造与视频数据块对应的预测块的指令;对量化变换后的残差块和量化变换后的预测块求和的指令;编码所述和以及产生转码数据块的指令。18.根据权利要求17所述的方法,其中数字视频数据包括一个帧序列,计算机代码还包括从量化变换后的残差块构造残差块的近似值的指令;对残差块的近似值和预测块求和并产生视频数据块的重建结果的指令;将视频数据块的重建结果合并成为帧序列的重建结果的指令。19.一种基于具有多个数据块的数字视频数据来提供视频服务的方法,该方法包括将多个数据块中的每个数据块编码成为编码数据块;将多个编码数据块中的每个编码数据块转换成为包括与编码数据块相关联的一个预测块和一个残差块的转码数据块;在通过计算机网络传送到解码器的一个比特流内,传输多个编码数据块中的至少一个编码数据块和多个转码数据块中的至少一个转码数据块;调节比特流中转码数据块和编码数据块的比例。20.根据权利要求19所述的方法,还包括从解码器接收一个与通过计算机网络进行传输相关联的误差参数;根据该误差参数调节转码数据块和编码数据块的比例。21.根据权利要求20所述的方法,其中计算机网络是一个基于包的网络,同时所述误差参数包含丢包率。22.根据权利要求21所述的方法,还包括检测丢包率的上升趋势;根据丢包率的上升趋势来提高转码数据块和编码数据块的比例。23.根据权利要求21所述的方法,还包括检测丢包率的下降趋势;根据丢包率的下降趋势来降低转码数据块和编码数据块的比例。24.根据权利要求21所述的方法,还包括确定丢包率高于一个预设的阈值;根据该确定结果来提高转码数据块和编码数据块的比例。25.根据权利要求21所述的方法,还包括确定丢包率低于一个预设的阈值;根据该确定结果来降低转码数据块和编码数据块的比例。26.根据权利要求19所述的方法,在比特流内传送多个编码数据块中的至少一个编码数据块和多个转码数据块中的至少一个转码数据块,还包括通过用一个或多个转码数据块来替换多个编码数据块中对应的一个或多个编码数据块来构造复合视频数据;产生一个二进制映射图,其中该二进制映射图中的每个比特对应于所述复合视频数据的一个块,并且该二进制映射图中的每个比特有一个用来指示对应的块是一个编码数据块还是一个转码数据块的值;将该二进制映射图并入到比特流中传送到解码器。27.—种计算机可读媒体,其上存放有程序代码,程序代码被数字处理器执行,用于基于具有多个数据块的数字视频数据来提供一种视频服务,这些计算机代码包括将多个数据块中的每个数据块编码成为编码数据块的指令;将多个编码数据块中的每个编码数据块转换成一个转码数据块的指令,该转码数据块包括与编码数据块相关联的一个预测块和一个残差块;在通过计算机网络传输到解码器的一个比特流内,传送多个编码数据块中的至少一个编码数据块和多个转码数据块中的至少一个转码数据块的指令;调节比特流中转码数据块的比例的指令。28.根据权利要求27所述的计算机可读媒体,程序代码还包括从解码器接收一个与通过计算机网络进行传输相关联的误差参数的指令;根据所述误差参数来调节比特流中转码数据块的比例的指令。29.根据权利要求28所述的计算机可读媒体,误差参数代表了通过计算机网络进行传输的传输质量。30.根据权利要求28所述的计算机可读媒体,在比特流内传送多个编码数据块中的至少一个编码数据块和多个转码数据块中的至少一个转码数据块的指令还包括通过用一个或多个转码数据块来替换多个编码数据块中对应的一个或多个编码数据块来构造复合视频数据的指令;产生一个二进制映射图的指令,其中二进制映射图的每个比特对应于所述复合视频数据的一个块,并且二进制映射图的每个比特有一个用来指示对应的块是一个编码数据块还是一个转码数据块的值;将该二进制映射图并入到比特流中传送到解码器的指令。31.—种解码包含多个数据块的视频数据的方法,该方法包括接收一个载有从一个视频数据块编码而得的编码数据块的比特流;解码该比特流,得到编码数据块;确定编码数据块是一个转码数据块,该转码数据块包含与所述视频数据块相关联的一个预测块和一个残差块;检测是否能够获得与所述视频数据块相关联的预测块,以及根据是否能够获得预测块,选择第一解码方案或者第二解码方案来对转码数据块进行解码。32.根据权利要求31所述的方法,其中编码数据块符合下列视频编码标准之一H.261,H.262,H.263,H.264/AVC,MPEG-2,MPEG-4,AVS-M,AVSl.O,H.264/SVC,该方法还包括根据视频编码标准来解码编码数据块。33.根据权利要求31所述的方法,还包括接收一个包括多个与视频数据块相关联的二进制值的二进制映射图;基于多个对应于视频数据块的二进制值中的一个来确定编码数据块是转码数据块。34.根据权利要求31所述的方法,其中第一解码方案是一种无损解码方案,该方法还包括确定能够获得预测块;根据第一解码方案来解码转码数据块。35.根据权利要求34所述的方法,其中根据第一解码方案解码转码数据块还包括从先前重建的视频数据中获得与视频数据块相关联的预测块;对该预测块进行变换;对变换后的预测块进行量化;从转码数据块中减去量化变换后的预测块;重新縮放被减后的转码数据块;通过对重新縮放后的被减后的转码数据块进行逆变换来重建残差块;对预测块和重建后的残差块求和来构造视频数据块的近似值,其中该近似值是视频数据块的无损重建结果。36.根据权利要求35所述的方法,其中解码、变换、量化、重新縮放和逆变换符合下列视频编码标准之一H.261,H.262,H.263,H.264/AVC,MPEG-2,MPEG-4,AVS-M,AVS1.0,H.264/SVC。37.根据权利要求31所述的方法,其中第二解码方案是一种有损解码方案,该方法还包括确定不能够获得预测块;根据第二解码方案对转码数据块进行解码。38.根据权利要求37所述的方法,根据第二解码方案对转码数据块进行解码还包括重新縮放转码数据块;通过对重新縮放后的转码数据块进行逆变换来构造视频数据块的近似值,其中该近似值是视频数据块的有损重建结果。39.根据权利要求38所述的方法,其中重新縮放和逆变换符合下列视频编码标准之一H.261,H.262,H.263,H.264/AVC,MPEG-2,MPEG-4,AVS-M,AVSl.O,H.264/SVC。40.根据权利要求31所述的方法,其中编码视频数据块是服务器通过计算机网络传送出去的,该方法还包括确定与传送相关联的传送质量;向服务器报告该传送质量。41.一种计算机可读媒体,其上存放有程序代码,其中程序代码被一个或者多个数字处理器执行,用于解码包含多个数据块的视频数据,程序代码包括接收一个编码视频数据块的指令;确定编码视频数据块是一个转码数据块的指令,该转码数据块包含与构造编码视频数据块的视频数据块相关联的预测块和残差块;确定是否能够获得与视频数据块相关联的预测块的指令;根据是否能够获得预测块来选择第一解码方案和第二解码方案中的一种来对转码数据块进行解码。42.根据权利要求39所述的计算机可读媒体,程序代码还包括接收包括多个与视频数据块相关联的二进制值的二进制映射图的指令;根据多个对应于编码视频数据块的二进制值中的一个来确定编码视频数据块为转码数据块的指令。43.根据权利要求39所述的计算机可读媒体,其中第一解码方案是一种无损解码方案,程序代码还包括确定能够获得预测块的指令;根据第一解码方案来解码转码数据块的指令。44.根据权利要求39所述的计算机可读媒体,其中第二解码方案是一种有损解码方案,程序代码还包括确定不能够获得预测块的指令;根据第二解码方案来解码转码数据块的指令。全文摘要本发明描述了一种用于提高视频传输的抗误码能力的被称为无损帧间转码技术(LIFT)的新型转码技术。根据多个实施例,传统编码块被有选择地转码为新的转码块。在解码端,当能获得预测图像时,转码块可被转码回传统编码块。当不能获得预测图像时,转码块仍然可以独立地被鲁棒性的解码。根据另一实施例,提供了一种离线转码在线合成技术。该技术用转码块和传统编码块生成出一个复合帧,并且可调节转码块的比例,以此获得可伸缩的抗误码能力。文档编号H04N7/50GK101677405SQ20091017344公开日2010年3月24日申请日期2009年9月16日优先权日2008年9月19日发明者区子廉,范晓鹏申请人:香港科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1