CN101282480B - 用于先进视频标准的先进宏块熵编码 - Google Patents

用于先进视频标准的先进宏块熵编码 Download PDF

Info

Publication number
CN101282480B
CN101282480B CN2008100911786A CN200810091178A CN101282480B CN 101282480 B CN101282480 B CN 101282480B CN 2008100911786 A CN2008100911786 A CN 2008100911786A CN 200810091178 A CN200810091178 A CN 200810091178A CN 101282480 B CN101282480 B CN 101282480B
Authority
CN
China
Prior art keywords
macro block
zero
currency
macro
frame
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 - Fee Related
Application number
CN2008100911786A
Other languages
English (en)
Other versions
CN101282480A (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.)
Hong Kong University of Science and Technology HKUST
Original Assignee
Hong Kong University of Science and Technology HKUST
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 Hong Kong University of Science and Technology HKUST filed Critical Hong Kong University of Science and Technology HKUST
Publication of CN101282480A publication Critical patent/CN101282480A/zh
Application granted granted Critical
Publication of CN101282480B publication Critical patent/CN101282480B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • 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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • 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
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • 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/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)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

提供了一种用于对视频数据帧进行编码的方法和包含用于视频数据帧进行编码的计算机程序的计算机可读介质。该视频数据帧具有多个宏块。每个宏块包括具有多个元素的宏块头和宏块的剩余数据。宏块头的元素是基于先前宏块头的相同元素的值编码的,以减少宏块头的全部比特数。宏块头的元素是通过将该多个宏块的元素分组而编码的。

Description

用于先进视频标准的先进宏块熵编码
优先权请求 
根据35U.S.C.§119(e)1,本申请要求2007年4月5日提交的美国临时申请No.60/907517的优先权。 
技术领域
本发明总的涉及对视频数据帧的编码,更具体地,本发明涉及基于前面的头的元素值对宏块头的元素进行编码。 
视频编码器通过消除视频数据间的冗余来实现压缩。视频数据间的冗余有两种:空域冗余和时域冗余。去除空域和时域冗余的方法分别包括,在帧内使用变换编码技术,在帧间使用运动估计和补偿技术。 
MPEG4(“Coding of Moving Pictures and Audio,”ISO/IEC JTC1/SC29/WG11N3312,2000年3月),H.263(“H.263Video coding forLow Bit Rate Communication,”ITUT Rcommendation,1993)和H.264(“T.Wiegand,“Working Draft Number 2,Revision 8(WD-2rev8)”JVT-B118r8,ISO/IEC  MPEG&ITU-T-T  VCEG,Geneva,Switzerland,2002年1月29日-2月29日”)中使用基于块的编码机制,其中图像分为更小的称为块的单元,这些单元按照光栅扫描顺序被编码器和解码器逐个处理。块在H.264中定义为一组4×4个像素,在H.263和MPEG4中定义为一组8×8个像素。一个合计大小为16×16的块组就是所谓的宏块(MB)。一定数量的连续宏块被分组成条带(slice),条带代表独立的、不需要参考同一帧的其它条带就可解码的编码单元。通过DCT变换以及量化,块的一组数据采样值首先被线性变换,然后量化成为一组变换系数,导致输入采样值的能量集中在少量的低频系数中。在编码得到的剩余数据时,通常使用可变长度编码(VLC)。 
在低比特率视频编码中,为了节约在剩余的数据上花费的比特数,编码器会使用更大的量化参数。结果,头的开销成为制约总比特率的重要因素,在高复杂度视频标准例如H.264当中,这点尤其突出。在低比特率视频编码当中,这对低速率网络应用(K.Yu,J.Li,C.Shi,和 S.Li,“A Novel Model-based Rate-Control Method for PortraitVideo Coding”,IEEE Trans.Circuits Syst.VideoTechnol.,Vol.15,No.12,Dec.2005;X.Yang,W.Lin,Z.Lu,X.Lin,S.Rahardja,E.ong,和S.Yao,“Rate Control for Videophone Using LocalPerceptual Cues”,IEEE Trans.Circuits Syst.VideoTechnol.,Vol.15,No.4,Apr.2005)是很重要的,这些低速率网络应用包括20-40kbps的2.5G无线网络,24-64kbps的视频电话以及64kbps的ISDN。现在,市场上正在销售中的手机,绝大多数都已经具有观看视频的功能。手机视频已经越来越普及了。按照2006年四月发布的移动视频统计(“Mobile Video Research&Statistics”,Http://mmaglobal.com/modules/wfsection/article.php?articleid=378),超过半数的手机用户使用手机观看视频的频率,是至少每周一次。在韩国,最近,移动电视也已经嵌入手机当中。像美国等其他国家,也将为移动电视提供视频流。在不久的将来,通过移动电话来使用视频将逐渐成为移动电话用户的普遍趋势。因此,需要为这样的视频应用提供一种先进的编码机制。 
发明内容
本发明提供了一种用于对视频数据帧进行编码的方法以及一种包含对视频数据帧进行编码的计算机程序的计算机可读介质。 
本发明的一方面提供了一种用于对视频数据帧进行编码的方法,该视频数据帧包括多个宏块(MB),宏块被分成未跳过宏块和已跳过宏块,每个宏块包括具有多个元素的宏块头和宏块的剩余数据,其中宏块头的元素是基于先前宏块头的相同元素的值编码的,以减少宏块头中的总比特数。 
根据另一方面,本发明包括一种用于对视频数据帧进行编码的方法,该视频数据帧包括多个宏块(MB),该宏块被分成未跳过宏块和已跳过宏块,每个宏块包含具有多个元素的宏块头和宏块剩余数据,该多个元素的其中之一是宏块游程,该方法包括以下步骤:确定帧中的第i个宏块是否是未跳过宏块;如果帧中的第i个宏块是未跳过宏块则确定i是否为零;如果i是零,正常编码宏块头的元素的当前值;如果i不是零,确定宏块头的该元素的所述当前值是否为零。 
根据又一方面,本发明包括一种包括用于编码视频数据帧的计算 机程序的计算机程序的计算机可读介质,该视频数据帧包括多个宏块(MB),宏块被分成未跳过宏块和已跳过宏块,每个宏块包含具有多个元素的宏块头和宏块剩余数据,该多个元素的其中之一是宏块游程,该计算机程序包括:确定帧中的第i个宏块是否是未跳过宏块的第一代码;如果帧中的第i个宏块是未跳过宏块则确定i是否为零的第二代码;如果i是零则正常编码宏块头的元素的当前值的第三代码;以及如果i不是零则确定宏块头的该元素的当前值是否为零的***码。
附图说明
参考以下描述中的示例以及附图将会清楚明确本发明的这些和其他方面,其中: 
图1示出作为条带的帧内的基本H.264宏块格式。 
图2示出了“Akiyo”的宏块头的比特数比重在H.264和H.263中的对比的曲线图。 
图3示出了“Foreman”的宏块头的比特数比重在H.264和H.263中的对比的曲线图。 
图4示出了“Stefan”的宏块头的比特数比重在H.264和H.263中的对比的曲线图。 
图5示出了作为条带的帧内的H.264宏块格式。 
图6是示出根据本发明实施例的用于编码P帧中的宏块头的先进算法的流程图。 
图7示出了MBR的减小百分比的曲线图。 
图8示出了MBVx的减小百分比的曲线图。 
图9示出了MBVy的减小百分比的曲线图。 
图10示出了MBC的减小百分比的曲线图。 
图11示出了MBQ的减小百分比的曲线图。 
图12示出了头的减小百分比的曲线图。 
图13示出了全部比特的减小百分比的曲线图。 
图14示出了“Akiyo”的PSNR对比特率的曲线图。 
图15示出了“Foreman”的PSNR对比特率的曲线图。 
图16示出了“Stefan”的PSNR对比特率的曲线图。 
具体实施方式
本申请中,申请人提出了一种先进的用于对宏块头进行熵编码的编码算法,主要应用于例如可在实时视频流应用当中使用的帧间编码的帧(即P帧)。申请人首先介绍宏块头的特性。申请人发现,在低比特率的视频编码中,宏块头的比特数量对组合的宏块剩余数据的比特数量的百分比比较高(即量化参数(QP)大),并且相邻宏块之间每单个元素的头相关性很大,这些元素即游程(run-length),模式,运动矢量,块编码模式以及量化参数。基于这些宏块头的特性,申请人利用了宏块头的最可能值,并且提出了一种先进的宏块头熵编码的编码算法。 
宏块头简介 
在H.264当中,每个帧被划分为宏块,每一个宏块包含16×16的亮度样本和两个对应的8×8的色度样本。在QCIF的图像格式中,每一帧包括99个宏块。按照光栅扫描顺序的多个连续宏块可以被分组成条带,代表不参考同一帧中其它条带就可解码的独立编码单元。 
假定整个帧作为一个单位条带,对帧头(FH)编码,继而依次处理N个宏块。得到的宏块格式如图1所示,每一个宏块格式包括宏块头(MBH)以及后面的宏块剩余数据(MBD)。在P帧中,MB头基本上包括诸如游程(MBR)、宏块模式(MBM)、运动矢量数据(MBV)、块编码模式(MBC)以及量化参数的变化(MBQ)等元素。当开始对宏块头编码的时候,游程表明通过复制前一已解码帧中对应位置的图像信息而造成的已跳过宏块数目。利用运动估计,通过搜索最佳模式宏块和当前宏块之间的最佳匹配确定和编码最佳宏块模式。为了定位由最佳模式造成的参考帧间块,指定二维的运动矢量。宏块编码模板(codedblock pattern,CBP)表明宏块的每个8×8亮度子块和每个4×4色度子块是否都包括非零的残余系数。利用非零系数,MBQ确定当前宏块的量化参数和前一块量化参数的差别。宏块头编码结束后,非零的亮度和色度系数都将使用UVLC或者CABAC进行熵编码(“T.Wiegand,“Working Draft Number 2,Revision 8(WD-2rev 8),”JVT-B118r8,ISO/IEC MPEG &ITU-T-T VCEG,Geneva,Switzerland,2002年1月29日-2月29日”)。对该帧内的下个宏块以及其余宏块重复该编码过程。 
宏块头特性 
1.量化参数的作用 
量化参数(QP)在视频编码中有很大的作用。编码的比特数通常是由量化参数决定的。量化参数越大,总比特率就越小。最新的视频标准H.264中的帧和宏块头信息的复杂度比以前的标准如H.263高很多。因为在H.264的宏块头中引入了游程以及先进的宏块模式,导致H.264的宏块头很大。表1显示了H.264和H.263中的宏块头(Pheader)以及亮度色度剩余数据(Pdata)的比特数的比重。图2、图3和图4分别显示了视频序列“Akiyo”、“Foreman”以及“Stefan”中的对应图。在H.264和H.263中的测试条件基本上相似:图像格式是QCIF,编码帧率是10帧/秒(fps),图像组(GOP)的结构是H.264帧间图像(inter picture)(IPPP),最大的搜索范围是16,参考帧数为1,熵编码方法是VideoLAN Client(VLC)。值得注意的是,在H.264的量化参数范围[0...51]之中,H.264中的量化参数值[12...43]类似于H.263中的量化参数值[0...31]。H.264中的QP=12,37,43分别近似等于H.263中的QP=1,16,32。在H.264中QP每加6(例如37->43),等同于H.263中的QP翻倍。选出的其它QP值也可以相应地近似。 
Figure S2008100911786D00051
           表1 
观察到对于任意给定的QP,H.264中的Pheader都要比H.263高。这是因为H.264中编码了更大的游程值以及先进的宏块模式,因而剩余数据的比特数减小。同时我们也可以注意到,当QP增加的时候,Pheader 在H.264和H.263中都会增加。在“Akiyo”和“Foreman”中,当QP=43时,宏块头成为制约全部编码比特数的关键因素。这是因为大多数的剩余数据的系数都被量化成0,对比特数的贡献微不足道。此外,在宏块头中为已跳过宏块使用了更大的游程值,导致游程比特数变大。H.264中采用更大的QP值(即>43)甚至导致Pheader更大。所以,宏块头在低比特率视频编码的时候,会成为制约编码比特数的重要因素,在H.264的更大的QP范围中尤甚。 
2.宏块头相关性 
如上所述,每个宏块的宏块头都包括它自己的元素,包括MBR、MBM、MBV、MBC和MBQ。这里,每一个宏块头都是独立编码的。相邻宏块的头之间存在着相关。我们可以发现,当QP增大的时候,相邻宏块头的元素的最可能值更可能重复,并且所有元素的最可能值趋向于0。表2显示了假定在同之前所述的H.264相同的测试条件下前一值也是最可能值,则宏块头的当前元素取得最可能值“0”(Pzero)的概率。 
Figure S2008100911786D00061
                表2 
总体上来说,优选依照代价方程最小化宏块头和宏块剩余数据的比特数,该代价方程在T.Wiegand,“Working Draft Number 2,Revision 8(WD-2 rev8),”JVT-B118r8,ISO/IEC MPEG&ITU-T-T VCEG,Geneva,Switzerland,2002年1月29日-2月29日以及F.Moscheni等的“Entropy Criterion for Optimal Bit Allocation between Motionand Prediction Error Information”,Proc.SPIE Visual Commun.And Image Proc.Pp.235-242,1993年11月中有所介绍。发现除了MBR和MBQ之外其他所有元素的Pzero都随着QP增加而增加。当QP=43的时候Pzero的取值范围从27.8%到98.8%。因为复制对应位置的参考宏块而没有MBV信息比特,MBM趋向于模式0。MBVx(水平方向)和MBVy(垂直方向)可能给出0分量以最小化运动矢量的开销。MBC趋向于包含“0”CBP,用于指明没有亮度和色度系数要编码,也没有为这些系数花费比特。在MBR的情况下,非零游程是优选的,在QP更大时更多的宏块被跳过以节省比特数。虽然,MBR的Pzero会随着QP变大而变小,但它的结果值仍然是很大的(即akiyo中的35.5%)。因为实验中使用固定QP,因此MBQ的值不因QP值的变化而改变。所以,宏块头相关性高意味着为了达到更好的压缩编码效率需要更高的头信息冗余,这在低比特率视频编码(即更大的QP)中很重要。 
提出的宏块头分组
如上所述,宏块头在大QP时成为制约全部编码比特数大小的关键因素,高的宏块头相关性可以达到更高的编码效率。为了减少总比特数不再单独地编码每一个宏块头,而是基于前面的值,通过将不同宏块的同一元素分组在一起来编码当前宏块头的元素。公知当前值的熵H(Y)(D.S.Taubman and M.W.Marcellin,JPEG 2000 ImageCompression Fundamentals,Standards and Practice,Norwell,Kluwer Acad.,2002)大于在前一值已知情况下当前值的熵H(Y|X)。 
H(Y)≥H(Y|X)    (1) 
证明: 
H ( Y | X )
= - Σ i = 1 n Σ j = 1 n p ( x i , y j ) log 2 ( p ( y j | x i ) )
= - Σ i = 1 n Σ j = 1 n p ( x i ) p ( y j | x i ) log 2 ( p ( y j | x i ) )
= - Σ i = 1 n p ( x i ) Σ j = 1 n p ( y j | x i ) log 2 ( p ( y j | x i ) )
= Σ i = 1 n p ( x i ) H ( Y | x i )
≤ Σ i = 1 n p ( x i ) H ( Y )
= H ( Y ) Σ i = 1 n p ( x i )
= H ( Y )
类似地,如果已知前面更多的值X1,X2,...,Xk,当前值的熵就会变得更小,如下公式所示: 
H(Y)≥H(Y|X1)≥H(Y|Y1,X2)...≥H(Y|X1,X2...Xk)  (2) 
为了说明和简便起见,以“Foreman”为例,在QP=37时选择元素“MBR”,并且使用两个符号、即0和非0值。首先假设前面的值是0和非0的概率分别为0.7和0.3。如果前一值为“0”,当前值为“0”和“非0”的概率分别为0.8和0.2。如果前一值为“非0”,当前值为“0”和“非0”的概率分别为0.6和0.4。所以,如果已知前一值,当前值为“0”或“非0”的概率分别为0.7×0.8+0.3×0.6=0.74和0.7×0.2+0.3×0.4=0.26。熵计算过程见下表: 
  H(Y)  =-0.7log20.7-0.3log20.3  =0.8813   H(Y|X)  =-0.74log20.74-0.26log20.26=0.8268  <0.8813
注意到由于前一值和当前值间的相关性,H(X)>H(X′)。如果前一值已知则下个将来值的熵会更小(即0.8144)。因此,优选基于前一值来编码当前值和/或将来值。图5示出了本方法提出的作为条带的帧内的H.264宏块格式。 
在提出的格式当中,如果将一帧内所有宏块的类似的元素放在一 起,将会更有利于视频编码器对宏块头的单个元素进行编码。不再依次对宏块头以及每个宏块头后面的宏块数据编码,本方法首先放置一帧中的所有宏块的宏块头并对这些宏块头编码。在处理完宏块头之后,再对剩下的宏块数据编码。 
先进的MB编码算法
如上所述,在大QP值时,所有元素的最可能值趋向于0,而相邻宏块头的元素的最可能值更有可能重复。通过使用游程编码(D.S.Taubman  和M.W.Marcellin,JPEG 2000 Image CompressionFundamentals,Standards and Practice,Norwell,KluwerAcad.,2002),本方法提出的对P帧中的宏块头编码的算法描述如下: 
对于宏块头中的每个元素 
Element_Run-length=0 
For each i-th non-skipped MB within a frame 
If(i=0) 
  Encode curr_value as normal 
Else 
  If(curr_value =“zero”) 
  { 
    If(prev_value =“zero”) 
    { 
       Element_Run-length++ 
    If(i=last MB) 
          Encode Element_Run-length 
   Else 
    Encode curr_value as normal 
Else 
  If (prev_value =”zero”) 
  (1)Encode Element_Run-length 
  (2)Encode curr_value with index=curr_value-1 
  (3)Element_Run-length =0 
      Else 
        Encode curr_value as normal 
      } 
    } 
  } 
  If(last MB =skipped MB and element =MBR) 
   If(Element_Run-length >0) 
   (1)Encode Element_Run-length 
   (2)Encode curr_value with index =curr_value-1 
   Else 
     Encode curr_value as normal 
参照提出的宏块格式,宏块头的每一个元素组,包括MBR,MBM,MBVx,MBVy,MBC和MBQ,将被依次编码。图6是示出上面所提出的算法的实施方式的流程图。 
首先,宏块游程设置为“0”(S101)。然后确定第i个宏块(MB)是否是帧内的未跳过宏块(S101)。如果确定第i个宏块是帧内的未跳过宏块,则确定i是否为“0”,即第一个未跳过宏块,该元素的当前值“curr_value”会按照原有的H.264编码方式进行编码(S102、S103)。另一方面,如果i不是“0”,并且元素的当前值为“0”(S102、S104),则当前一值“prev_value”也为“0”时(S105),游程加一(S106)。这里,如果第i个宏块是帧中的最后宏块,则与游程增加(S106)同时地编码游程这个元素(S107)。否则,即在前一值不为“0”的情况下,仍然按照原来的H.264方法对当前的这个“0”值进行编码。如果当前值为“非0”,则当前一值为“0”时编码游程值(S104、S108)。同时用等于“curr_value-1”的码字索引对“非0”的当前值进行编码,并且将游程这个元素设置为“0”(S110、S111)。已知前一“0”值之后的当前值是“非0”,并且编码其游程(S109)。“0”索引可以排除在H.264中使用的码字表之外。在相同的码字表中,可以用一个较低的码字索引对非零的当前值进行编码以实现较小的编码比特数。如果当前值和前一值为“非0”,则按照原来的H.264对当前值编码(S112)。当处理过的未跳过宏块是帧中的最后一个时,并且当前值和前一值等于“0”,则对游程编码(S107)。在步骤S103、S107、S111、S112结束之后,该过程又移至步骤S101以确定第i个宏块是否 是帧内的未跳过宏块。 
在步骤s101)中,如果确定第i个宏块是帧内的已跳过宏块,即在“否”的情况下,确定第i个宏块是否是最后的宏块以及元素是否是宏块游程(S113)。当最后的宏块是已跳过宏块时,对游程编码并且对于非零游程用等于“curr_value-1”的码字索引来编码“非0”当前值(S113、S114、S115、S116)。另一方面,如果第i个宏块不是最后的宏块,或者元素不是宏块游程,则该过程又移至步骤S101(S113)。对于零游程,对当前值正常编码(S117)。表3提出了元素游程的码字。 
Figure S2008100911786D00111
表3 
对于游程值K,码字是“0...01X”,其中对于奇数K,X=0,对于偶数K,X=1。对于K>0,对应的比特数是[K/2]+2。在QCIF图像格式中,最大游程是98,码字是“0...011”,51个码字比特。在解码器一侧,当前一值非零或者宏块是解码每个元素组时的第一个未跳过宏块,则按照原来的H.264将码字解码为当前值。否则,用一个较低的码字索引在帧内对游程和下一码字进行解码。以相同的方式对随后的宏块进行解码直到最后一个宏块。对于下一帧和后面的帧重复该过程。 
实验结果
申请人在JVT JM10.2(“JVT JM10.2”,http://iphome.hhi.de/suehring/tml/,2006)上测试了提出的方法。在以下实验中,将提出的算法和原始的H264 JM10.2编码器进行了比较。基本档次(baseline profile)中使用的测试条件如下:图像格式是QCIF,编码帧率是10帧/秒,最大的搜索范围是16,参考帧数为1,熵编码方法是UVLC,MV的分辨率是四分之一像素,哈达玛(Hadamard)变换关闭,RD优化关闭,并且约束搜索范围为0。除第一帧是帧内编码帧(I帧)以外,随后的帧都是帧间编码帧(P帧)。 
Figure S2008100911786D00121
表34 
表4示出了与原始的H.264宏块头编码算法相比,提出的算法中P帧的每个元素的编码比特数以及减小百分比Pr。图7-13示出了在“Akiyo”,“Foreman”和“Stefan”视频序列中QP的对应减小百分比。Pr定义为(Rold-Rnew)/Rold*100,其中Rold和Rnew分别是原始H.264和本算法的比特数。两个算法给出了相同的峰值信噪比(PSNR)但是不同的编码比特数,因为它们的宏块头熵编码方法不同。实验表明,本算法可以达到更小的头比特数和总比特数。头比特数的Pr大约是20%,变动范围为9.2%到24.5%.可以看出头比特数的Pr在QP=43的时候并不是很大,可能是因为MBR和MBQ的Pr不是很大。MBR 的Pr低,可能因为已跳过宏块的数量在全部宏块上变化,导致已跳过宏块的零游程的数量较低。MBQ的Pr小,可能是因为未跳过宏块的数量小并且MBQ的编码比特数不高,导致提出的方案中比特减少相对较低。在“Foreman”序列中,QP=43时,总比特数的Pr高达10.3%。可以看出本算法在低比特率视频编码(即大QP)中的比特减少改进是显而易见的,因为宏块头的开销是主要的并且被有效压缩。值得注意的是,每个元素的Pr具有类似于表2中示出的Pzero的行为。对于MBM,MBV和MBC,Pr和Pzero都随着QP的增大而增大。对于MBC,观察发现Pr在QP=12的时候等于0,因为非零系数(而不是零)是优选的并且正常编码。对于MBR,Pr和Pzero都随着QP减小而减小。而对于MBQ,Pr大约是50%,因为提出的码字中的比特减少(即[K/2]+2)对于固定的QP来说接近50%。同时也发现随着QP增大,Pr会稍微减少,因为未跳过宏块的数量变小,导致比特减少的效应相对不显著。同样的实验也在H.263上作过,得出了相类似的结论但是Pr稍稍低了一些。图14到图16示出了在低比特率的视频序列“Akiyo”,“Foreman”以及“Stefan”中PSNR对比特率的曲线图。在任何视频序列中,在任何给定的比特率下都有PSNR增益。在10kbps的“Foreman”序列中,提出的算法的PSNR增益比JM10.2大约高0.3-0.4dB。 
头信息通常比数据信息具有更高的优先权,因为数据信息的使用主要依赖于头。在头损坏的情况下无法识别数据信息。在提出的格式中,分开处理头和数据信息,使得可以容易地采取不同的保护方法。例如,可以使用更鲁棒的信道编码来用于编码头信息。 
此外,当使用提出的格式时,视频解码器更有效,因为分离了主要存在于宏块头中的低效决策操作,例如if-then-else(如果-则-否则)操作。决策操作可以实时进行,随后剩余的宏块数据可以几乎不需要决策操作就可有效解码。而且,低级缓存中的诸如函数参数的值可以在分离的头和数据部分中重复使用,因为编码过程是在宏块头的元素组内和/或分离的数据的元素组内逐个宏块地重复的。 
还发现在解码一方是没有延时的,因为只有当帧(即条带)中的所有宏块都完全解码才显示整个帧。换句话说,显示每帧的解码时间不管帧条带的格式是什么都是相同的。 
虽然对本发明进行了描述,但是显而易见其可以许多方式改变。 这些改变不能认为是脱离本发明的精神和范围,并且所有这些改变对本领域技术人员来说是显而易见的,都要包括在所附权利要求书的范围内。 

Claims (13)

1.一种用于对视频数据帧进行编码的方法,该视频数据帧包括多个宏块(MB),每个宏块包括具有多个元素的宏块头和宏块的剩余数据,其中宏块头的元素是基于先前宏块头的相同元素的值编码的,以减少宏块头中的全部比特数,该方法包括以下步骤:
确定第i个宏块是否是帧内的未跳过宏块;
如果第i个宏块是帧内的未跳过宏块,则确定i是否为零;
如果i为零,则正常编码该宏块头的元素的当前值;以及
如果i不是零,则确定所述宏块头的元素的所述当前值是否为零,
其中还包括以下步骤:
如果所述宏块头的元素的当前值是零并且i不为零,则确定该元素的先前值是否为零。
2.根据权利要求1的方法,其中所述宏块头的元素是通过将该多个宏块的元素分组来编码的。
3.一种用于对视频数据帧进行编码的方法,该视频数据帧包括多个宏块(MB),宏块被分成未跳过宏块和已跳过宏块,每个宏块包括具有多个元素的宏块头和宏块的剩余数据,该多个元素的其中之一是宏块游程,该方法包括以下步骤:
确定第i个宏块是否是帧内的未跳过宏块;
如果第i个宏块是帧内的未跳过宏块,则确定i是否为零;
如果i为零,则正常编码该宏块头的元素的当前值;以及
如果i不是零,则确定所述宏块头的元素的所述当前值是否为零,
其中还包括以下步骤:
如果所述宏块头的元素的当前值是零并且i不为零,则确定该元素的先前值是否为零。
4.根据权利要求3的方法,其中该方法还包括以下步骤:
如果所述元素的先前值为零,则将宏块游程增加一;以及
如果所述元素的先前值不为零,则正常编码该元素的当前值。
5.根据权利要求4的方法,其中该方法还包括以下步骤:
如果i不为零,所述当前值不为零并且所述先前值为零,则编码宏块游程。
6.根据权利要求3的方法,其中该方法还包括以下步骤:
如果所述当前值不为零,i也不为零,则确定所述元素的所述先前值是否为零。
7.根据权利要求6的方法,其中如果所述当前值不为零并且所述先前值为零,该方法还包括以下步骤:
编码宏块游程;以及
用等于当前值减1的索引编码该元素的所述当前值。
8.根据权利要求6的方法,其中该方法还包括以下步骤:
如果所述先前值不为零,所述当前值也不为零,则正常编码所述当前值。
9.根据权利要求3的方法,其中该方法还包括以下步骤:
如果第i个宏块不是所述帧内的未跳过宏块,则确定第i个宏块是否是最后一个宏块。
10.根据权利要求9的方法,其中该方法还包括以下步骤:
如果第i个宏块是最后一个宏块,则确定宏块游程是否大于零。
11.根据权利要求10的方法,其中该方法还包括以下步骤:
如果宏块游程大于零,则用等于当前值减1的索引编码宏块游程和所述元素的所述当前值;以及
如果宏块游程不大于零,则正常编码所述元素的所述当前值。
12.根据权利要求3的方法,其中该方法还包括以下步骤:
如果正常编码宏块头的元素的当前值已经完成,则再次确定第i个宏块是否是所述帧内的未跳过宏块。
13.根据权利要求9的方法,其中该方法还包括以下步骤:
如果第i个宏块不是最后一个宏块,则再次确定第i个宏块是否是所述帧内的未跳过宏块。
CN2008100911786A 2007-04-05 2008-04-07 用于先进视频标准的先进宏块熵编码 Expired - Fee Related CN101282480B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US90751707P 2007-04-05 2007-04-05
US60/907517 2007-04-05

Publications (2)

Publication Number Publication Date
CN101282480A CN101282480A (zh) 2008-10-08
CN101282480B true CN101282480B (zh) 2012-04-25

Family

ID=39872162

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008100911786A Expired - Fee Related CN101282480B (zh) 2007-04-05 2008-04-07 用于先进视频标准的先进宏块熵编码

Country Status (3)

Country Link
US (1) US8189676B2 (zh)
CN (1) CN101282480B (zh)
HK (1) HK1122931A1 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8483282B2 (en) * 2007-10-12 2013-07-09 Qualcomm, Incorporated Entropy coding of interleaved sub-blocks of a video block
US9172960B1 (en) * 2010-09-23 2015-10-27 Qualcomm Technologies, Inc. Quantization based on statistics and threshold of luminanceand chrominance
US20120189052A1 (en) * 2011-01-24 2012-07-26 Qualcomm Incorporated Signaling quantization parameter changes for coded units in high efficiency video coding (hevc)
US8767824B2 (en) * 2011-07-11 2014-07-01 Sharp Kabushiki Kaisha Video decoder parallelization for tiles
WO2013088687A1 (ja) * 2011-12-15 2013-06-20 パナソニック株式会社 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、画像符号化復号装置
US9294766B2 (en) 2013-09-09 2016-03-22 Apple Inc. Chroma quantization in video coding
CN105791827B (zh) * 2016-02-26 2018-07-24 北京计算机技术及应用研究所 一种无线信道的视频编码方法
WO2020098786A1 (en) * 2018-11-16 2020-05-22 Mediatek Inc. Method and apparatus of luma-chroma separated coding tree coding with constraints
CN114745544B (zh) 2019-05-28 2024-05-28 杜比实验室特许公司 用信号发送量化参数的方法和计算机可读记录介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1620821A (zh) * 2002-01-23 2005-05-25 索尼株式会社 图像信息编码装置和图像信息编码方法、图像信息解码装置和图像信息解码方法
CN1659580A (zh) * 2002-06-11 2005-08-24 诺基亚有限公司 基于空间预测的帧内编码

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5717816A (en) * 1993-01-13 1998-02-10 Hitachi America Ltd. Method and apparatus for the selection of data for use in VTR trick playback operation in a system using intra-coded video frames
US5298896A (en) 1993-03-15 1994-03-29 Bell Communications Research, Inc. Method and system for high order conditional entropy coding
JP3855286B2 (ja) * 1995-10-26 2006-12-06 ソニー株式会社 画像符号化装置および画像符号化方法、画像復号化装置および画像復号化方法、並びに記録媒体
US5850482A (en) 1996-04-17 1998-12-15 Mcdonnell Douglas Corporation Error resilient method and apparatus for entropy coding
US5870146A (en) * 1997-01-21 1999-02-09 Multilink, Incorporated Device and method for digital video transcoding
AU736962B2 (en) 1997-07-09 2001-08-09 Quvis, Inc. Apparatus and method for entropy coding
US6118822A (en) 1997-12-01 2000-09-12 Conexant Systems, Inc. Adaptive entropy coding in adaptive quantization framework for video signal coding systems and processes
US6111914A (en) 1997-12-01 2000-08-29 Conexant Systems, Inc. Adaptive entropy coding in adaptive quantization framework for video signal coding systems and processes
CA2265089C (en) * 1998-03-10 2007-07-10 Sony Corporation Transcoding system using encoding history information
US6563953B2 (en) * 1998-11-30 2003-05-13 Microsoft Corporation Predictive image compression using a single variable length code for both the luminance and chrominance blocks for each macroblock
US6198412B1 (en) 1999-01-20 2001-03-06 Lucent Technologies Inc. Method and apparatus for reduced complexity entropy coding
US6618507B1 (en) * 1999-01-25 2003-09-09 Mitsubishi Electric Research Laboratories, Inc Methods of feature extraction of video sequences
US7023922B1 (en) 2000-06-21 2006-04-04 Microsoft Corporation Video coding system and method using 3-D discrete wavelet transform and entropy coding with motion information
US6614442B1 (en) * 2000-06-26 2003-09-02 S3 Graphics Co., Ltd. Macroblock tiling format for motion compensation
US7471298B1 (en) * 2000-06-26 2008-12-30 S3 Graphics Co., Ltd. Fetching pixel data with reduced memory bandwidth requirement
US6373411B1 (en) 2000-08-31 2002-04-16 Agere Systems Guardian Corp. Method and apparatus for performing variable-size vector entropy coding
US6842483B1 (en) 2000-09-11 2005-01-11 The Hong Kong University Of Science And Technology Device, method and digital video encoder for block-matching motion estimation
US6947874B2 (en) 2000-11-16 2005-09-20 Canon Kabushiki Kaisha Entropy coding
US6633242B2 (en) 2001-02-08 2003-10-14 Sun Microsystems, Inc. Entropy coding using adaptable prefix codes
US6677868B2 (en) 2001-03-16 2004-01-13 Sharp Laboratories Of America, Inc. Entropy coding with adaptive syntax to replace high probability symbols with lower probabilities symbols
US6859500B2 (en) * 2001-03-20 2005-02-22 Telefonaktiebolaget Lm Ericsson Run-length coding of non-coded macroblocks
US6968091B2 (en) * 2001-09-18 2005-11-22 Emc Corporation Insertion of noise for reduction in the number of bits for variable-length coding of (run, level) pairs
US20030159152A1 (en) * 2001-10-23 2003-08-21 Shu Lin Fast motion trick mode using dummy bidirectional predictive pictures
EP2262269B1 (en) * 2001-12-17 2018-01-24 Microsoft Technology Licensing, LLC Skip macroblock coding
US7158684B2 (en) 2002-04-25 2007-01-02 Texas Instruments Incoporated Entropy coding scheme for video coding
US20030215011A1 (en) * 2002-05-17 2003-11-20 General Instrument Corporation Method and apparatus for transcoding compressed video bitstreams
US7161507B2 (en) 2004-08-20 2007-01-09 1St Works Corporation Fast, practically optimal entropy coding
US7961783B2 (en) * 2005-07-07 2011-06-14 Mediatek Incorporation Methods and systems for rate control in video encoder
US7061410B1 (en) 2005-07-18 2006-06-13 Lsi Logic Corporation Method and/or apparatus for transcoding between H.264 CABAC and CAVLC entropy coding modes

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1620821A (zh) * 2002-01-23 2005-05-25 索尼株式会社 图像信息编码装置和图像信息编码方法、图像信息解码装置和图像信息解码方法
CN1659580A (zh) * 2002-06-11 2005-08-24 诺基亚有限公司 基于空间预测的帧内编码

Also Published As

Publication number Publication date
US20080260041A1 (en) 2008-10-23
CN101282480A (zh) 2008-10-08
HK1122931A1 (en) 2009-05-29
US8189676B2 (en) 2012-05-29

Similar Documents

Publication Publication Date Title
CN101282480B (zh) 用于先进视频标准的先进宏块熵编码
CN102172023B (zh) 用大宏块进行视频译码
CN101411196B (zh) 用于对与视频压缩相关联的信息进行编码及解码的方法及设备
KR101214148B1 (ko) 비디오 블록의 인터리빙된 서브?블록들의 엔트로피 코딩
EP1435063B1 (en) Method and system for context-based adaptive binary arithmetic coding
KR101479141B1 (ko) 트리 구조를 이용한 부호화/복호화 방법 및 장치
CN101098473B (zh) 一种图像编码方法及装置
US20040136457A1 (en) Method and system for supercompression of compressed digital video
KR101502909B1 (ko) 영상 부호화 및 복호화 방법과 장치
CN102172025A (zh) 用大宏块进行视频译码
CN102172021A (zh) 用大宏块进行视频译码
KR19980080013A (ko) 인터레이스드 디지털 비디오를 위한 인트라-매크로블록 디씨 및 에이씨 계수 예측
KR101038531B1 (ko) 복호화시 병렬처리가 가능한 영상 부호화 장치 및 방법, 그리고 병렬처리가 가능한 영상 복호화 장치 및 방법
WO2008035842A1 (en) Apparatus and method for encoding and decoding using alternative converter according to the correlation of residual signal
WO2009031904A2 (en) Method for alternating entropy coding
KR20120076815A (ko) 적응적 스캔 장치 및 그 스캔 방법
KR101375302B1 (ko) 멀티미디어 데이터의 처리 방법 및 그 장치
Wu et al. Brief analysis of the H. 264 coding standard
Patel et al. VHDL Implementation of H. 264 Video Coding Standard
Rodrigues et al. H. 264/AVC based video coding using multiscale recurrent patterns: First results
Wong et al. Advanced macro-block entropy coding in h. 264
Ng et al. An adaptive multiresolution modification of the H. 263 video coding algorithm
EELLEECCTTRROONNIICCSS RADIOELEKTRONIKA 2005
Pitas Transform Video Compression
Ng et al. An adaptive multiresolution modification of the H. 263 video

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1122931

Country of ref document: HK

C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1122931

Country of ref document: HK

CI01 Correction of invention patent gazette

Correction item: Description

Correct: Correct

False: Error

Number: 17

Volume: 28

CI03 Correction of invention patent

Correction item: Description

Correct: Correct

False: Error

Number: 17

Page: Description

Volume: 28

ERR Gazette correction

Free format text: CORRECT: DESCRIPTION; FROM: ERROR TO: CORRECT

RECT Rectification
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120425

Termination date: 20170407

CF01 Termination of patent right due to non-payment of annual fee