通过再量化的比特速率降低方法

文档序号:7684079阅读:251来源:国知局

专利名称::通过再量化的比特速率降低方法
技术领域
:本发明涉及一种根据使用参考图像中的帧内和帧间模式的编码来降低编码的视频数据流的比特速率的方法。
背景技术
:本发明更具体地应用于H.264或AVC或MPEG-4类型的视频流。例如,在文献ITU-TRec.H264/ISO/IEC14496-10AVC(MPEG4)中对该标准进行了描述。该领域是广播通过无线电、卫星或电缆信道的电视节目的领域(被称为"广播"),还是广播根据因特网协议或IP、通过固定线路或无线、在ADSL上广播电视节目的领域(也被称为"广播波段(broadband)")。这里所定义的比特速率降低方法或"速率转换"包括将根据标准进行编码的数据流的传输比特速率改变为通常根据相同标准的另一编码数据流,在转换域中进行比特速率降低。速率转换方法必定不同于代码转换方法,代码转换方法包括对图像进行解码,然后使用编码器对其重新编码。在像素层级上执行编码和解码,其原因在于该方法也被称为像素域中的代码转换。尽管比特速率降低方法有时也被称为"转换域中的代码转换",但是将为下文的像素域而保留术语"转换"。应当注意,如上所述,如果比特速率降低通常与相同标准的图像相关,则代码转换可以提供新标准的图像。该降低可以包括数据的部分解码,例如DCT系数的去量化(如果使用MPEG标准,则根据所需比特速率的该数据的逆部分重新编码、重新量化)。在最终用户或多个用户处来自其产生、存储或发射地点的视频的传输系统可以涉及许多构建者和多个转换。具体地,出于经济或商业方面的考虑(例如,插入广告),必须转换内容、视频以使其适于传输、可用带宽的限制。这些转换有时需要降低所传输的视频的比特速率,那么比特速率降低或视频流代码转换的任何技术是必要的。其在于将编码视频入射至具有较低比特速率的另一编码视频流。视频代码转换在于将解码器和视频编码器级联。该技术具有灵活的优点,可以容易地改变编码参数、格式、标准、编码模式等,或者插入标志图。然而,尤其对于比特速率降低解决方案来说,在存在解码器和编码器的情况下,计算量非常大。实质上,通过再用诸如第一编码通路(pass)的运动区域、编码模式等信息,可以减少编码器层级上的计算。事实上,从原始比特速率中获得的越多,确认所使用的编码判决合适的假设越少。图1示出了根据现有技术的视频流代码转换设备,该设备并不使用第一编码通路的信息。参考号为1的编码器从源图像接收视频数据。按照典型的方式,该编码器1包括运动估计器3,用于计算用于帧内模式下编码的运动矢量;以及例如根据成本的编码模式的判决模块4。电路2是使用尤其是离散余弦变换和量化的编码核心。将因此而编码的数据流或若对代码转换做出参考的情况下的原始数据流传送至解码器5,该解码器5执行解码器的逆操作以提供解码后的图像。编码器类型1的第二编码器6使用运动估计电路8的信息来执行来自编码核心7的编码操作、以及来自编码模式判决电路9的编码操作,从而以所需比特速率提供代码转换后的流。图2示出了根据现有技术的视频流代码转换设备,该设备使用了第一编码通路的信息。解码器5的电路上游是相同的。通过解码器5,在与解码后的图像同时来发送运动信息和编码模式判决,从而以所需比特速率提供代码转换后的流。这里,由于信息来自解码器5,所以运动估计和编码模式判决电路并不是必要的。编码核心11易于编码核心7处理电路8和9的信息相类似的方式来处理该信息。图3示出了包括级联的MPEG-2或AVC类型的视频解码器和编码器的主要模块,该视频解码器和编码器由图中的虚线框出。将源信号发送至编码器的输入,该输入也是可变长度解码电路VLD15的输入。然后,该信号经过逆量化电路IQ116、逆离散余弦变换IDCT17、加法器28和滤波器18。滤波器的输出是解码电路的输出。该输出与由存储器和运动补偿MC或帧内预测电路所构成的电路19的输入连接。根据通过VLD电路接收到的流解码后的运动矢量V中获得补偿。由相邻块、根据通过VLD电路接收到的流解码后的运动矢量帧内预测来构成帧内预测。在加法器28输入处,向解码后的残余块加上来自图像的预测块、或在19处存储的重构参考图像的块、以及来自与解码块相关联的运动矢量V或帧内预测模式的块。将在滤波器输出处的解码图像发送至编码器的输入,以顺序地提供给减法器29、离散余弦变换电路DCT20、量化器Q221、可变长度编码电路VLC22,该VLC22的输出是以新比特速率编码的数据流。通过逆量化器IQ223、逆离散余弦变换电路IDCT24来重构在量化器Q2的输出处转换并量化的系数块。被重构并发送到加法器30的第一输入的残余块加上发送给该加法器30的第二输入的预测块。通过滤波器25对在该加法器的输出处获得的重构块进行滤波,然后存储在电路26中,因而电路26存储被编码的重构图像。与存储电路、构成参考电路26的设置相关联的运动补偿和帧内预测电路根据接收到的运动矢量执行运动补偿(帧间预测或帧内预测的情况),从而定义图像中的预测块。在减法器29的第二输入上传送预测块,在帧间编码模式或帧内预测模式下,减法器29在其输出提供了残余块。通过编码器来计算运动矢量,因而编码器包括运动估计电路27。或者这些矢量来自于解码电路,因而节省了该运动估计器,如上所述,减损了质量。G.J.Keesman在文献"Multi-programVideoDataCompression"ThesisTechnischeUniversiteitDelft.ISBN90-74445-20-9,1995中提出了一种简化的结构,该结构考虑了DCT变换和运动补偿的线性。图4示出了这种比特速率降低的简化结构T2。添加了量化误差逆向环。将压縮后的视频数据流发送至可变长度解码电路VLD40的输入,然后至逆量化电路IQ141,例如,该逆量化电路IQ141使用编码期间所使用的量化步骤执行去量化操作。发送至减法器42的第一输入的去量化系数块减去来自离散余弦变换电路DCT49的再量化误差预测,被发送至减法器的第二输入。因此,在帧间模式下,当去量化后的系数块是帧间残余块时,对于通过关联运动矢量与当前块匹配的该误差图像的去量化误差块,这些块包括从存储的参考图像的去量化误差图像中计算出的误差预测。在帧内模式下,当去量化后的系数块是帧内残余块时,这些块是从先前针对用于所述当前系数块的帧内预测编码模式所处理和采用的当前图像的块或宏块中计算得到的去量化误差。因而在空间域中计算的预测去量化误差块经过离散余弦变换49来提供变换域中的误差块、从去量化的当前块中减得的块。将如此获得的修正后的系数块发送至量化电路Q243,然后至可变长度编码电路VLC44,从而提供代码转换后的视频数据流,通过量化器43的中间量化步骤Q2的选择转换至所需的比特速率。在所述量化器Q243的输出处,也将信号发送至参考号为45的逆量化器IQ2。在通过减法器46从量化步骤Q2的量化和去量化中减去在量化步骤Q1处的量化和去量化之后,该电路的输出给出了重构的修正系数块。该差值表示所得到的再量化误差。将由这些修正系数块的再量化误差所构成的、该减法器46的输出处的重构的再量化误差块发送至逆离散余弦变换电路47,通过电路48来存储在空间域中获得的误差块。针对帧间模式编码,获得了空间域中误差的图像,通过对系数再量化来得到该误差。对在参考图像中得到的误差进行存储,从而在例如基于参考图像的双向型或P型图像的帧间编码过程中来使用该误差。在空间域中将系数块的这些再量化误差进行解译,从而能够使用运动补偿,将域运动矢量有关的信息发送至包括存储块和运动补偿块的电路48。在帧内模式中,这些是存储在空间域中的相邻块,从而能够根据用于帧内预测的相邻块的亮度值来计算再量化误差。从电路48中提取针对帧间预测所计算的帧内预测块或运动补偿块,在发送至减法器42的第二输入之前,通过离散余弦变换电路49进行变换。实质上,存储器包括用于帧间编码的多个参考图像。当对当前块进行再量化时,因而可以去除针对在编码期间所述当前块所基于的参考图像或相邻块所得到的误差。事实上,解码器将向这些参考提供该再量化误差。可以将这种简化方式应用于无需使用帧内预测的MPEG2或MPEG4部分2型的代码转换、或者应用于MPEG4部分10或AVC编码,然而环路中不存在滤波器引入了轻微的劣化。一方面,该简化的结构T2使得能够删除运动步骤块和逆量化块,另一方面,能够删除两个图像存储模块之一。该结构因而需要较少的计算功率和较少的存储资源。不会对解码后的图像进行重构,存储模块用于存储由于再量化导致的误差。该结果与代码转换图并不完全相同,一方面在于量化和逆量化操作,另一方面,离散余弦变换和逆变换计算(它们是线性操作)导致了舍入(rounding)。同样,运动补偿的空间域中的操作使用来自针对相邻块的亮度值上的线性组合的预测块的线性内插或计算操作,该运动补偿的空间域中的操作通过计算舍入来生成不能被T2结构所考虑到的误差。因而引入了在图像组或GOP上累积的劣化,该劣化被称为"漂移",因而一些图像用作针对下面图像的编码的预测。简化结构T2基于在用于预测的块上得到的再量化误差的补偿。该从当前块的残余中减去误差,因而误差不会在图像的帧内预测中传播、或者基于时间在帧间时间预测中传播。在不对残余进行编码的情况下,因而不会执行该误差补偿,而误差可以传播。
发明内容本发明致力于克服以上所描述的缺点。其目的在于,通过根据第一量化步骤的去量化、然后根据第二量化步骤的再量化,将第一编码视频数据流转换为第二流的比特速率降低方法,所述编码使用根据参考图像计算预测块的预测模式,其特征在于,所述方法包括在第一量化步骤处去量化的系数块的修正步骤,该步骤使用从重构再量化误差块中获得的参考图像的预测去量化误差块,来给出修正后的系数块;再量化的块是修正后的系数块;以及-如果根据"跳过的宏块"模式对当前宏块进行编码,并且如果该宏块的至少一个修正后的系数块具有非空或大于预定阈值的系数,则将宏块的编码模式修改为不同于"跳过的宏块"的模式,修改或添加数据流的数据,以指定该模式和系数值。根据特定实施方式,如果当前宏块是非跳过的宏块,如果该宏块的系数块具有为空或小于预定阈值系数,并且如果满足"跳过的宏块"模式条件,则将宏块的编码模式改变为"跳过的宏块"模式。"跳过的宏块"模式条件是非跳过的宏块参考参考列表LO的图像0(refldxL0=0),以及运动矢量等于预测运动矢量。根据特定实施方式,除了残余数据之外,修改或添加后的流的数据还-在片段数据的句法级,与以下字段有关mb—skip—flagmb—field—decoding—flag-在宏块层的句法级,与以下字段有关mbtype-在宏块预测句法级,与以下字段有关refidx10和refidxll,mvd10禾QmvdII-transform—size—8x8。根据特定实施方式,如果宏块模式属于片段P,则最初跳过的宏块模式变为P—LO—16x16,以及如果宏块模式属于片段B,则最初跳过的宏块模式变为B_Direct—16x16。根据特定实施方式,如果宏块属于MBAFF类型的图像,则考虑标记"mb—field—decoding—flag"的值,以确定是否满足条件。根据特定实施方式,通过运动补偿,从与由参考图像的重构误差块所形成的误差图像的当前块相关联的运动矢量中获得预测误差块。根据特定实施方式,通过帧内预测,从与当前块相关联的帧内预测模式中获得预测误差块,根据当前图像的重构块重构预测。根据特定实施方式,根据MPEG4部分10标准对视频数据流进行编码。受益于所提出的方法,在没有运动补偿或参考图像重构的情况下,极大地衰减了由于比特速率降低的简化结构所导致的图像质量的劣化。再量化误差传播,宏块误差可以受到影响其残余为空的所有宏块可以变得非空并相反。以要与另一模式解码相同的方式对"跳过的宏块"模式中的宏块进行测试,当这一点可能时,实现针对这些宏块的较好质量解码。因此,可以以与编码模式不同的模式来执行宏块的解码。因而降低了由于这种类型的编码与比特速率转换的组合而导致的误差,该误差是由于可以将跳过的宏块用作解码器层级上的预测的事实,因而是潜在的漂移源。所有这些误差都更加不便,因为这些误差特别在统一区域中可见,该区域有利于在"跳过的宏块"模式下对宏块的编码。另一方面,在比特速率转换器的层级上使用"跳过的宏块"的可能性使得能够提高压縮率。参照附图,本发明的其他特定特征和优点将从作为非限制性示例的以下的描述中显而易见,其中图1是根据现有技术的代码转换方法,图2是使用来自第一通路的信息的根据现有技术的代码转换方法,图3是根据现有技术的AVC代码转换方法,图4是根据现有技术的比特速率降低的简化结构,图5是根据本发明的比特速率降低的简化结构。具体实施方式接下来,为了精确,会在括号中提到AVC标准的术语和首字母縮写词,其他术语仅是近似的。括号中的术语是该标准(尤其在第3部分)中定义的术语。AVC标准提供了被称为"跳过"模式或"跳过的宏块"模式的多个编码模式,对于所述模式,不对宏块残余进行编码,并认为宏块残余为空-针对宏块的"P一Skip"模式属于类型P的片段(P片段)、或者类型SP的片段(SP片段)。-针对宏块的"B一Skip"模式属于类型B的片段(B片段)。然而,这些在编码成本方面经济的模式仅在特定条件下是可能的,该特定条件是,仅使在系统末尾处的解码器在没有其他信息的情况下重构所述宏块。在标准、例如在文献"Draftofversion4ofH.264/AVC(ITU-TRecommendationH.264andISO/IEC14496-10(MPEG-4part10)AdvancedVideoCoding)",2005年1月11日,部分8.4"interpredictionprocess"、子部分8.4.1.1"DerivationprocessforlumamotionvectorsforskippedmacroblockinPandSPslice"禾口8.4,1.2"DerivationprocessforlumamotionvectorsforB—Skip"中定义了这些预测/重构过程在句法结构中的层级或宏块层不包含与根据这些模式之一编码的宏块有关的数据。因此,在上层定义了宏块,它是与片段(片段数据)有关的数据字段中的片段,因此,解码器负责根据当前的相邻宏块来预测或重构所述宏块,并通过推断(即推导信息),句法元素不存在于比特流中。根据情况,该标准针对"P一skip"模式或"B一skip"模式提供了所有推理法则。因此,当将值分配给不同类型的宏块(mb_type)时,针对属于片段P和SP的宏块的表格7-13、针对属于片段B的宏块的表格7-14,在"跳过的宏块"的宏块层中不发送信息,因为根本没有对该信息进行编码。通过自身推导出参考号,不能确定针对块16*16的帧间模式或针对子分区(partition)8*8的直接模式来对编码特性进行解码的类型(mb—type)(根据属于P片段还是属于B片段而被称为"P一skip"或"B一skip")。AVC标准"DerivationprocessforlumamotionvectorsforskippedmacroblockinPandSPslice"的部分8.4.1.1涉及"P—Skip"模式。其在参考图像L0的列表中定义了索引refldxL0,将运动矢量mvL0分配给根据"跳过的宏块"模式编码的宏块。refldxLO索引的计算非常简单,因为它总是为0。因此推导出,在编码期间,已经通过比特速率降低操作消除了所有残余的P类型宏块是跳过的宏块编码"P一Skip模式"的备选(若其残余参考了列表L0的第一图像)。针对运动矢量mvL0的计算,由于其涉及到当前宏块的左相邻(A)和上相邻(B)宏块、以及它们各自的参数refldxLOA,refldxLOB,mvL0A:nwLOB而更加复杂。当MBAFF模式(宏块自适应帧字段)有效时,由于在这种情况下,宏块是双帧类型(currMbFrameFlag-TRUE)或帧类型(currMbFrameFlag-FALSE)的事实结合其是宏块对的顶宏块(mbIsTopMbFlag=TRUE)或底宏块(mblsTopMbFlag=FALSE)的事实开始,所以该相邻计算更加复杂。其所有残余已经通过比特速率降低操作消除的P类型宏块是"P—Skip模式"跳过的宏块编码模式的备选(如果标记cmrMbFmmeFlag是与将在"P—Skip模式"跳过的宏块编码模式中推导出来的标记)。现在,在"P_Skip"模式下,数据流中不存在使能标记cmrMbFmmeFlag的符号元素mb_field—decoding—flag。因此,推理法则如下-如果在相同片段中存在紧靠当前宏块对左侧的宏块对,则标记mb一field一decoding_flag的值必定被推导为等于该相邻对的标记mb—field_decoding—flag的值。-否则,如果在相同片段中存在紧靠当前宏块对上侧的宏块对,则标记mb—field—decoding—flag的值必定被推导为等于该相邻对的标记mb—field—decoding—flag的值。-否则,标记mb—field—decoding—flag的值必定被推导为等于"FALSE"。因此推导出,在编码期间,在MBAFF模式下,如果标记mb—field—decoding—flag等于其左侧相邻对(如果存在)之一,默认等于上侧相邻对(如果存在)之一,并默认等于"FALSE",则其所有残余已经通过比特速率降低操作消除的P类型宏块是"P一Skip模式"跳过的宏块编码模式的备选。不应忘记将亮度运动矢量mvLO转换为色度运动矢量mvCLO的过程。如果在帧模式下对当前块进行编码,并且通过索引"refldxLO"定义的参考图像不是相同类型(上帧源(TOP)、下帧参考(BOTTOM)或相反)的,则在mvCL0与mvL0之间将运动矢量的分量重新调整土2。因此推导出,在编码期间,在MBAFF模式下,如果定义了上(TOP)或下(BOTTOM)宏块的字段内容与所使用的参考之一相同,则其所有残余已经通过比特速率降低操作消除的P类型宏块是"P—Skip模式"跳过的宏块编码模式的备选。部分"DerivationprocessforlumamotionvectorsforB—Skip"涉及类型"B_skip"的宏块。描述了从参考图像L0和L1的列表、子分区矢量subMvCnt个数计数器的运动矢量mvL0和mvLl、以及预测列表predFlagLO和predFlagLl的使用标签中获得索引refldxL0和refldxLl。在编码期间,在MBAFF模式下,如果标记mb—field—decoding_flag等于其左侧相邻对(如果存在)之一,默认等于上侧相邻对(如果存在)之一,并默认等于"FALSE",则其所有残余已经通过比特速率降低操作消除的B类型宏块是"BP一Skip模式"跳过的宏块编码模式的备选。在基本的模式P—Skip和B一Skip之上,也可以发信号通知不存在仅针对给定的当前宏块的8*8分区或4*4子分区的残余的编码。这是参数CBP、编码块图样句法元素,使得可以针对整个宏块定义空残余块或分区。掩码值"mask(i)"与每个分区(i)相关联。因此,值"。8&&mask(i)"(&=logicalAND)"定义了分区i和残余值。空值指示该分区的残余为空。利用宏块层级,再量化误差传播,可以分配宏块的子分区的残余其所有残余为空(CBP&&mask(i)=0)的宏块的子分区可以变得非空并相反。图5示出了根据本发明的比特速率降低结构的示例。该图示是从图4推导出来的,使用了对于相同电路的参考。仅对图4的附加部分进行描述。将比特速率转换的数据流发送至比特速率转换器的输入,它也是可变长度解码电路VLD40的输入。图中未示出的处理电路处理不同的操作。当与片断层相关的数据指示"跳过"宏块,使用空系数的值重新组成该宏块,推导出运动矢量,通过处理电路执行计算。因而,针对任何宏块,将所产生的宏块发送至其量化操作是透明的电路41,然后至执行再量化误差修正的子转包器(subcontractor)42。通过量化电路Q243对修正块进行量化,例如作为量化步骤,先前宏块的量化步骤或先前宏块量化步骤的方式。将电路43的输出发送至用于计算再量化误差的逆量化电路45的输入,也发送至被称为计算电路CBP+skip的电路调用计算电路,所计算的数据接下来被发送至可变长度编码电路VLC44。与先前的配置相关,将CBP+skip的再计算电路插入再量化电路Q243和电路VLC44的输入之间,以计算参数CBP和标记mb一skip—flag。而在现有技术中,即使根据再量化误差修正的该宏块不同于零,在比特速率降低期间,为宏块保留"跳过的宏块"模式,通过该电路,如果可以在量化操作之后,根据"跳过的宏块"模式对非跳过的宏块进行编码,则根据本发明的方法将确定是否必须保存"跳过的宏块"编码模式和相反。因此,针对从量化修正系数块获得的宏块(CBP&&mask(i)),在两个步骤中执行参数CBP的另一系统计算,不同于跳过的宏块标记(mb一skip一flag)的计算在第一步骤中,处理多个分区。如果遵循由于一方面的再量化误差和另一方面的再量化Q2导致的修正,则宏块的分区(i)的系数残余为空或小于阈值,而乘积"CBP&mask(i)"处于1,将"CBP&mask(i)"比特设为零,指示宏块的该分区(i)(最初编码为具有非空系数)现在仅具有空系数或接近于零。相反,如果分区(i)的至少一个残余系数是非空,而乘积"CBP&mask(i)"处于零,则将"CBP&mask(i)"比特设为1,指示该分区(i)(最初编码为具有所有空系数)现在具有不同于零的系数。在第二步骤中,对宏块整体进行处理针对宏块的所有分区(i)计算乘积"CBP&mask(i)"。如果它对于所有值均等于零,即如果遵循由于一方面的再量化误差和另一方面的再量化Q2导致的修正,则宏块所有分区的所有系数残余为空或小于阈值,宣布宏块为"跳过的宏块"模式的备选。在相反的情况下,宣布宏块是非备选。如果宏块是针对"跳过的宏块"的备选、如果将"跳过的宏块"的其他条件联合、以及如果标记"mb—skip_flag"处于0,即如果在编码期间宏块没有处于跳过的宏块模式下,则改变标记"mb_Skip_flag"并设为1。相反,如果宏块不是针对"跳过的宏块"的备选、以及如果标记"mb—skip—flag"处于1,则修改该标记"mb—skip—flag"并设为0,对所考虑的宏块残余进行编码。在这后一情况下,如果宏块处于P—Skip模式中,则该模式切换至P—L0一16xl6模式。如果宏块处于B—Skip模式中,则该模式切换至"B—Direct—16x16"模式。如果图像在MBAFF模式下编码,则数据流中的第一结果是明确出现"mb—field—decoding—flag"标记。在片段数据句法(§7.3.4:片段数据句法)中,该标记指示编码是否处于帧或比特帧模式下(§7.4.4:片段数据语义)。如果宏块是顶宏块(TOP)(CurrMbAddr%2==0),则必须使该标记等于这一个,这是在"跳过"模式(P—Skip或B一Skip)中推导出来的,即从左或顶宏块对之一中推导出来的。在下一宏块是底宏块(BOTTOM)(CurrMbAddr%2==1&&prevMbSkipped),明确编码该标记"mb—field—decoding—flag"的情况下,它必定不再这样做。然后有必要检查"TOP"标记等于在跳过的宏块模式中推导出的标记,也等于针对底宏块(BOTTOM)显式编码得到的标记。如果宏块是底宏块(BOTTOM)(CurrMbAddr%2==1),则考虑两种情况-先前宏块自身是"跳过的宏块"。然后,必须将mb—field—decoding—flag标记引入数据流,并且使该标记等于在跳过的宏块模式下(P—Skip或B—Skip)推导出来的。-对于先前宏块,它不处于跳过的宏块模式下。因此mb—field—decoding—flag标记不出现在数据流中。在宏块层层级上,还必须确保填充了在"跳过的宏块"模式下推导出的信息的不同字段。更一般地,与"跳过的宏块"模式之一的上下文一起工作,例如使用DCT4*4,将标记transform—size—8x8—flag推导为具有值0。因此,必须检查特定多个条件以将非跳过的宏块的编码模式修改为"跳过的宏块"。在编码期间,检查使宏块能够成为针对"跳过的宏块"模式的备选的条件符合非跳过的宏块的编码条件。由于针对根据运动矢量对预测块的计算,跳过的宏块可以仅参考列表LO的图像0,则跳过的宏块必须该参考LO的图像0。换言之,空的残余有必要参考列表L0的图像号0。同样,当处于MBAFF模式中,由定义了非跳过的宏块的帧或双帧模式的标记mb—field_decoding—flag所定义的帧或双帧模式必须与在"跳过的宏块"模式中推导出来的模式相同。在MBAFF模式中,也必须使"TOP"或"BOTTOM"字段等于所使用的参考的字段。"跳过的宏块"模式至非跳过的模式的改变需要是数据流的字段内填充实质上要传输的量化系数值。例如,在宏块层中,标准的部分7.3.5指示必须填充cbp值的coded_block_pattem字段。如果跳过的宏块必须改变模式,则必须检查子分区的块,从而针对这里所感兴趣的情况计算定义了色度空残余子分区的"cbp"。根据子分区来计算cbp值,无论它们是否为空,即无论它们是否具有空残余系数。如果所有子分区均为空,则跳过的宏块是"跳过的宏块"模式的备选,这里假设cbp值等于零,因而它是非该改变模式的备选,可以检查其他条件以对选择做出决定。所描述的原始方法能够没有例外地针对所有宏块防止再量化误差的传播,因而可以提高在通过类型T2的比特速率转换过程对数据流进行转换之后解码的图像的质量。为了示出该方法的有效性,在最初以2.87Mbps编码、以及利用T2算法将比特速率转换为不同的比特速率的SDTV视频序列上获得的以dB为单位的信噪比或PSNR来做出增益测量。<table>tableseeoriginaldocumentpage17</column></row><table>权利要求1、一种比特速率降低方法,用于通过根据第一量化步骤对系数块去量化(41)、然后根据第二量化步骤对块的再量化(43),来将第一编码视频数据流转换为第二流,所述编码使用根据参考图像来计算预测块的预测模式,其特征在于,所述方法包括在第一量化步骤处对去量化的系数块的修正步骤(42),该步骤使用从重构再量化误差块(48,49)中获得的参考图像的预测去量化误差块(48,49),来给出修正后的系数块,其中再量化的块(43)是修正后的系数块;以及-如果根据“跳过的宏块”模式对当前宏块进行编码,并且如果该宏块的至少一个修正后的系数块具有非空或大于预定阈值的系数,则将宏块的编码模式修改(50)为不同于“跳过的宏块”的模式,修改或添加(50)数据流的数据,以指定该模式和系数值。2、如权利要求l所述的方法,其特征在于,如果当前宏块是非跳过的宏块,如果该宏块的系数块具有为空或小于预定阈值系数,并且如果满足"跳过的宏块"模式条件,则将宏块的编码模式改变为"跳过的宏块"模式。3、如权利要求2所述的方法,其特征在于,"跳过的宏块"模式条件是,该跳过的宏块参照参考列表LO的图像0(refldxL=0),并且该跳过的宏块的运动矢量等于预测运动矢量。4、如权利要求l所述的方法,其特征在于,除了残余数据之外,流的修改或添加的数据还-在片段数据的句法级,与以下字段有关mb_skip—flagmb_field—decoding_flag-在宏块层的句法级,与以下字段有关mbtype-在宏块预测句法级,与以下字段有关refidx10和refidxll,mvd10禾口mvdII-transform—size—8x8。5、如权利要求l所述的方法,其特征在于,如果宏块模式属于片段P,则最初跳过的宏块模式变为P—L0_16xl6,以及如果宏块模式属于片段B,则最初跳过的宏块模式变为B_Direct—16x16。6、如权利要求2所述的方法,其特征在于,如果宏块属于MBAFF类型的图像,则考虑标记"mb—field—decoding—flag"的值,以确定是否满足条件。7、如权利要求1所述的方法,其特征在于,通过运动补偿(48),从与由参考图像的重构误差块所形成的误差图像的当前块相关联的运动矢量中获得预测误差块。8、如权利要求l所述的方法,其特征在于,通过帧内预测(48),从与当前块相关联的帧内预测模式中获得预测误差块,根据当前图像的重构块重构预测。9、如权利要求1所述的方法,其特征在于,所述视频数据流是根据MPEG4部分IO标准编码的。全文摘要所述方法的特征在于,如果根据“跳过的宏块”模式对当前宏块进行编码,并且如果该宏块的至少一个修正后的系数块具有非空或大于预定阈值的系数,则将宏块的编码模式修改(50)为不同于“跳过的宏块”的模式,修改或添加(50)数据流的数据,以指定该模式和系数值。文档编号H04N7/30GK101247522SQ20081000995公开日2008年8月20日申请日期2008年2月15日优先权日2007年2月16日发明者菲利普·博尔德,阿尼塔·奥汗德申请人:汤姆森许可贸易公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1