发明内容
一种根据信号内容(signal content)在视频解码器中动态选择变换尺寸的方法和系统,结合至少附图之一和权利要求进行充分地说明。
本发明的这些或那些优点、特征和新颖性以及其举例说明的实施例的细节,可以从以下描述和附图中得到更全面的理解。
根据本发明的一方面,提供一种视频信号处理方法,该方法包括:
在视频解码器中启动8×8逆变换尺寸;
从视频信息流接收帧内编码(intra-coded)宏块;
从所述视频信息流接收变换尺寸语法元(syntax element),其中,所述变换尺寸语法元表明所接收的帧内编码宏块的宏块类型;
根据所接收的变换尺寸语法元,在所启动的8×8逆变换尺寸和4×4逆变换尺寸之间选择一个逆变换尺寸,其中所述逆变换尺寸和所述变换尺寸语法元表明的所述宏块类型的尺寸相同;以及
根据所述被选逆变换尺寸,逆变换所接收的帧内编码宏块。
优选地,所接收的帧内编码宏块是4×4宏块类型。
优选地,所接收的帧内编码宏块是8×8宏块类型。
优选地,当所接收的帧内编码宏块是N×N宏块类型时,所接收的变换尺寸语法元用于选择所述逆变换尺寸。
根据本发明的一方面,提供一种视频信号处理方法,该方法包括:
在视频解码器中启动8×8逆变换尺寸;
从视频信息流接收帧间编码(inter-coded)宏块;
从所述视频信息流接收变换尺寸语法元;
根据所接收的变换尺寸语法元,在所启动的8×8逆变换尺寸和4×4逆变换尺寸之间选择一个逆变换尺寸;以及
根据所述被选逆变换尺寸,逆变换所接收的帧间编码宏块。
优选地,所接收的帧间编码宏块是8×16宏块类型。
优选地,所接收的帧间编码宏块是16×8宏块类型。
优选地,所接收的帧间编码宏块是16×16宏块类型。
根据本发明的一方面,提供一种视频信号处理方法,该方法包括:
在视频解码器中启动8×8逆变换尺寸;
从视频信息流接收帧间编码宏块,其中所接收的帧间编码宏块是8×8宏块类型且被再分割;以及
根据4×4逆变换尺寸,逆变换所接收的帧间编码宏块。
根据本发明的一方面,提供一种视频信号处理方法,该方法包括:
在视频解码器中启动8×8逆变换尺寸;
从视频信息流接收帧间编码宏块,该所接收的帧间编码宏块是8×8宏块类型且不被再分割;
从所述视频信息流接收变换尺寸语法元;
根据所接收的变换尺寸语法元,在所述启动的8×8逆变换尺寸和4×4逆变换尺寸之间选择一个逆变换尺寸;以及
根据所述被选逆变换尺寸,逆变换所接收的帧间编码宏块。
根据本发明的一方面,提供一种视频信号处理方法,该方法包括:
在视频解码器中启动高级规范模式和8×8逆变换尺寸;
从视频信息流接收直接模式帧间编码宏块;
从所述视频信息流接收变换尺寸语法元和直接推断语法元;
根据所接收的变换尺寸语法元和所接收的直接推断语法元,选择所启动的8×8逆变换尺寸;以及
根据所述被选逆变换尺寸,逆变换所接收的帧间编码宏块。
根据本发明的一方面,提供一种视频信号处理系统,该系统包括:
用于在视频解码器中启动8×8逆变换尺寸的电路;
用于从视频信息流接收帧内编码宏块的电路;
用于从所述视频信息流接收变换尺寸语法元的电路,其中所述变换尺寸语法元表明所接收的帧内编码宏块的宏块类型;
用于根据所接收的变换尺寸语法元,在所启动的8×8逆变换尺寸和4×4逆变换尺寸之间选择一个逆变换尺寸的电路,其中所述逆变换尺寸和所述变换尺寸语法元表明的所述宏块类型的尺寸相同;以及
用于根据所述被选逆变换尺寸,逆变换所接收的帧内编码宏块的电路。
优选地,所接收的帧内编码宏块是4×4宏块类型。
优选地,所接收的帧内编码宏块是8×8宏块类型。
优选地,所述系统还包括当所接收的帧内编码宏块是N×N宏块类型时,根据所接收的变换尺寸语法元选择所述逆变换尺寸的电路。
根据本发明的一方面,提供一种视频信号处理系统,该系统包括:
用于在视频解码器中启动8×8逆变换尺寸的电路;
用于从视频信息流接收帧间编码宏块的电路;
用于从所述视频信息流接收变换尺寸语法元的电路;
用于根据所接收的变换尺寸语法元,在所启动的8×8逆变换尺寸和4×4逆变换尺寸之间选择一个逆变换尺寸的电路;以及
用于根据所述被选逆变换尺寸,逆变换所接收的帧间编码宏块的电路。
优选地,所接收的帧间编码宏块是8×16宏块类型。
优选地,所接收的帧间编码宏块是16×8宏块类型。
优选地,所接收的帧间编码宏块是16×16宏块类型。
根据本发明的一方面,提供一种视频信号处理系统,该系统包括:
用于在视频解码器中启动8×8逆变换尺寸的电路;
用于从视频信息流接收帧间编码宏块的电路,其中所接收的帧间编码宏块是8×8宏块类型且被再分割;
用于根据4×4逆变换尺寸,逆变换所接收的帧间编码宏块的电路。
根据本发明的一方面,提供一种视频信号处理系统,该系统包括:
用于在视频解码器中启动8×8逆变换尺寸的电路;
用于从视频信息流接收帧间编码宏块的电路,其中所接收的帧间编码宏块是8×8宏块类型且不被再分割;
用于从所述视频信息流接收变换尺寸语法元的电路;
用于根据所接收的变换尺寸语法元,在所启动的8×8逆变换尺寸和4×4逆变换尺寸之间选择一个逆变换尺寸的电路;以及
用于根据所述被选逆变换尺寸,逆变换所接收的帧间编码宏块的电路。
根据本发明的一方面,提供一种视频信号处理系统,该系统包括:
用于在视频解码器中启动8×8逆变换尺寸的电路;
用于从视频信息流接收直接模式帧间编码宏块的电路;
用于从所述视频信息流接收变换尺寸语法元和直接推断语法元的电路;
用于根据所接收的变换尺寸语法元和所接收的直接推断语法元,选择所启动的8×8逆变换尺寸的电路;以及
用于根据所述被选逆变换尺寸,逆变换所接收的帧间编码宏块的电路。
具体实施方式
本发明的某些实施例可以在一种根据信号内容动态选择变换尺寸的方法和系统中获得。通过在图像和视频信号的编码和解码过程中执行一套简化的变换选择规则和方针,使具有急速或突然转换区域的信号中压缩人为效果的影响最小化时,实现ISO MPEG4 Part 10和ITU-TH.264的低比特率目标成为可能。通过结合由较好信号预测选择缩减的剩余相关性带来的好处和在没有高画质(细节)和/或急速转换的区域中的大变换尺寸带来的好处,这些选择规则和方针可以实现这一目标。除了通过基于图像内容和预测块尺寸的变换选择提供改良的压缩效率之外,使用简单的选择规则可以减小旁信息(side information)的数量,该旁信息可被传送至解码器重建该图像。值得注意的是以下讨论一般可能交替使用术语“视频(Video)”、“图像(image)”和“画面(picture)”。因此,本发明的范围不应该被术语“视频”、“图像”和“画面”的不同含义所限制。
图1是本发明一实施例的示范性编码器和解码器系统的结构示意图。图1显示了视频编码器102和视频解码器104。该视频编码器102可包括适当的逻辑、电路和/或代码,可适于编码或压缩来自视频源的视频信息,并生成包括编码或压缩视频信息的编码视频比特流。该生成的编码视频比特流也可以包括有关视频编码器102中的编码或压缩操作的旁信息。该生成的编码视频比特流可被传送至视频解码器104。视频编码器102可适于支持,例如,ISO MPEG4 Part 10和ITU-T H.264标准规范。此外,该视频编码器102可适于支持,例如,保真度范围扩展(FRExt)和结合H.264标准规范的高级规范(profile)操作模式。
视频解码器104可包括适当的逻辑、电路和/或代码,可适于解码或解压缩视频编码器102生成的编码视频比特流,并生成可以传送至其他处理设备、存储设备和/或显示设备的视频信号。该视频解码器104可适于支持,例如,ISO MPEG4 Part 10和ITU-T H.264标准规范。此外,该视频解码器104可适于支持,例如,保真度范围扩展(FRExt)和结合H.264标准规范的高级规范(profile)操作模式。
当在视频编码器102中编码当前画面时,该当前画面可以在一个宏块的多个单元中被处理,其中宏块相当于,例如原始图像中的16×16像素。宏块可以以帧内(intra-coded)编码模式编码“I”画面,或以帧间(inter-coded)编码模式编码预测或“P”画面和双向或“B”画面。帧内编码或“I”画面仅使用画面中的信息来执行视频压缩。在H.264标准中,例如,“I”画面可使用空间预测来减小冗余。内含“I”画面提供一基础指标或锚点帧,作为后续画面的值的评估。每一画面群组(GOP)通常以一个内含“I”画面开始,作为生成该画面群组中的其他画面的参考或锚点帧,以供显示。该画面群组频率和相应“I”画面的频率可以被特殊应用空间驱动。预测或“P”画面可用运动估计方案生成可以从最近的锚点帧或“I”画面预测的画面元。压缩预测采样值和原值的差异获得的编码效率较通过传送原画面的编码版本可获得的编码效率高。在视频解码器104,已压缩差异的画面被解码,随后被加到预测画面,以供显示。
运动估计是指一种方法,使用该方法,编码器通过置换另一画面中另一组画面采样,为画面“P”中的许多画面采样估计运动数量。两组画面采样可以在其相应画面上具有相同的坐标,且该置换可以在一标记有一运动视窗的更大画面采样组群中实行。最小化这两组画面采样间的差异促进了运动估计。相应于最小差异的一组被置换的画面采样,可被看作最佳预测,并可被一组运动矢量识别。一旦所有的运动矢量都是有效的,整个画面即可被预测并从“P”画面的采样中减去。而后该结果差异信号可由视频编码器102编码。
运动补偿是指一种方法,通过该方法,解码器恢复一组运动矢量并置换相应组画面采样。通过将被置换的画面采样加至被解码的差异画面,可解码或重建输出采样。因为生成自由漂移的输出流可能是所期望的,编码器和解码器都需要访问同一个解码画面,以将该解码画面作为估计其他画面的基准。为达到这一目的,编码器可以具有该解码器结构的副本,以能够得到重建画面的副本。结果是,最终的运动估计和最终的置换可以在重建画面上实现。
由于“I”画面和“P”画面都可用于预测像素,他们亦可以称为“参考”画面。双向预测画面或“B”画面可使用发生在视频序列一未来位置中或视频序列一过去位置中的多画面,来预测图像采样。当有“P”画面时,运动估计可用于“B”画面中的像素预测,原始来源和预测画面间的差异可被视频编码器102压缩。在视频解码器104,一个或多个“B”画面可以被运动补偿,并可被加至压缩差异信号的解码版本,以供显示。
在基于H.264标准的应用中,画面或图像的片段或部分可以包括帧内编码或帧间编码的宏块。在这一点上,“I”片段包括帧内编码宏块,“P”片段包括预测帧间编码宏块,“B”片段包括双向预测帧间编码宏块。“P”片段中的帧间编码宏块可仅使用一个矢量预测一像素块。“B”片段中的帧间编码宏块可使用一个或两个矢量预测一像素块。
图2是本发明一实施例示范性的基于H.264标准的编码器的结构示意图。如图2所示,视频编码器102适于支持,例如保真度范围扩展(FRExt)和结合H.264标准规范的高级规范操作模式。该视频编码器102可包括当前帧(Fn)源202、第一数字加法器204、正变换(T)206、正量化器(Q)208、熵编码器210、参考帧(Fn-1*)源224、运动估计器226、运动补偿器228、帧内编码选择器230和帧内编码预测器232、逆量化器(Q-1)214、逆变换(T-1)216、第二数字加法器218、数字滤波器220以及当前重建帧(Fn*)源222。
在编码操作期间,当前帧源202可提供一画面群组(GOP)中的当前帧或画面,以供编码。当前画面可在一个宏块的多个单元中被处理,其中宏块相当于,如原始图像中的16×16像素。对于“I”画面,每一宏块可以以帧内编码模式编码,对于或“P”画面和“B”画面,第一宏块可以帧间编码模式编码。无论哪种模式,预测宏块P可以在一重建帧或画面上形成。在帧内编码模式中,帧内编码选择器230可在当前画面Fn的采样图像和在先已被编码、解码和重建的画面(如图所示的第二数字加法器218的未滤过的重建输出uFn*)的采样图像之间选择。帧内编码预测器232可根据未滤过的重建输出uFn*和帧内编码选择器230的选择,生成预测宏块P。在帧间编码模式中,根据当前画面和来自参考帧源224中的一个或多个参考帧的运动补偿预测,可以生成预测宏块P。该运动补偿预测可由运动估计器226和运动补偿器228提供。运动补偿预测可基于及时来自正被编码的当前画面的至少一个在先编码和重建画面和/或至少一个随后编码或重建画面为基础进行。
该预测宏块P可由第一数字加法器204从当前宏块中减去,生成差异宏块Dn。该差异宏块可由正变换206变换并由正量化器208量化。正量化器208的输出在被传送至编码视频比特流前,可由熵编码器212熵编码。该编码视频比特流包括熵编码视频内容和任何解码该宏块需要的旁信息。
在重建操作中,来自正量化器208的结果可被重新调节并由逆量化器214和逆变换216逆变换,生成重建差异宏块Dn*。预测宏块P可由第二数字加法器218加至重建差异宏块Dn*,生成未滤过的重建输出uFn*。滤波器220可应用于uFn*以减小块失真的影响,重建参考帧或画面Fn*可被生成。
图3A是本发明一实施例的示范性基于H.264标准的具有固定变换尺寸的编码器的部分结构示意图。如图3A所示,编码器300可适于支持,例如,保真度范围扩展(FRExt)和结合H.264标准规范的高级规范操作模式。该视频编码器300可包括预测引擎(engine)302、最佳预测块尺寸选择器304、4×4变换器306、量化器308和熵编码器310。该预测引擎302可包括多个预测尺寸块312-324。这些预测块尺寸可为,例如,4×4预测块312、4×8预测块314、8×4预测块316、8×8预测块318、16×8预测块320、8×16预测块322和/或16×16预测块324。
预测引擎302可包括适当的逻辑、电路和/或代码,可适于执行宏块的帧内预测和帧间预测。该预测引擎302可帧内预测或帧间预测宏块的部分或子块。当块以帧内模式或帧内预测或帧内编码编码时,预测块P可基于空间预测模式形成。在这一点上,块或预测块可指代16×16宏块或M×N子宏块,其中M≤16,N≤16。预测块P可从当前块中减去,在编码前生成误差信号。该块内容可以是亮度(luma)采样或色度(chrome)采样。根据块的内容,特定的空间块尺寸可以有不同空间预测模式。例如8×8色度块可以有4种空间预测模式。块所选择的空间预测模式可以是最小化预测块P和当前块间残差的模式。帧内预测模式的选择可为被发送给解码器的旁信息的部分。
依照所支持的块尺寸,将该宏块划分成几个部分和子部分,使基于运动补偿的预测可以在宏块上执行。当块以帧间模式或帧间预测或帧间编码编码时,可以根据在先的编码和重建块形成预测块P。该预测宏块的每一部分和子部分要求单独的运动矢量。每一运动矢量和该部分和子部分的结构可被编码并传送至解码器进行视频重建。例如,当选择大的部分或子部分,需要少量的比特将运动矢量和部分尺寸发送至解码器。
最佳预测块尺寸选择器304可包括适当的逻辑、电路和/或代码,可适于确定用于预测宏块的最佳预测块尺寸。该最佳预测块尺寸选择器304可适于确定宏块的一组最佳预测块尺寸,根据该预测块尺寸来最小化预测块P和当前块间残差。关于该组最佳预测块尺寸的信息可以被编码并传送至解码器,以进行视频重建。
4×4变换器306可包括适当的逻辑、电路和/或代码,可适于使用4×4变换尺寸在当前宏块的预测表示上执行正变换。该4×4变换器306可应用于帧间预测和帧内预测图像。可选择该4×4变换器306的变换系数,以通过将信号能量压缩至实现尽可能少的基本功能,减小信号的空间内容的冗余。例如,该变换系数可以是可设计的,且帧内预测图像和帧间预测图像可以有不同的系数组。量化器308可包括适当的逻辑、电路和/或代码,可适于量化或按比例处理(分级)4×4变换器306生成的变换预测图像。该量化器308的比例系数可为可设计的,且帧内预测图像和帧间预测图像可以有不同的系数组。熵编码器310可包括适当的逻辑、电路和/或代码,可适于编码量化器308的输出,以生成编码视频比特流,该编码视频比特流可被传送至至少一个视频解码器。该熵编码器310也可以编码附加的旁信息,该旁信息可被解码器用于重建图像,以供显示。
如图3A所示的视频编码器300的4×4变换器306限于4×4变换尺寸。该尺寸变换可减小与较大变换关联的人为效果,但它可能要求传送一大容量的旁信息至解码器以重建图像。
图3B是本发明一实施例的示范性基于H.264标准的依据最佳预测块尺寸选择变换块尺寸的编码器的部分结构示意图。如图3B所示,视频编码器330与图3A所示视频编码器300的不同之处在于用N×M变换器332代替了4×4变换器306。该N×M变换器332可包括适当的逻辑、电路和/或代码,可适于采用N×M变换尺寸对预测宏块进行正变换。该N×M变换尺寸可选用与正被变换的预测块的最佳预测块尺寸相同的尺寸。例如,当宏块被最佳预测具有8×8预测尺寸,则N×M变换器332可采用8×8变换尺寸。该方法可允许较大变换的应用,以提高压缩效率,但会导致具有突然转换的图像选择较大变换尺寸。与图3A中的4×4变换器306相同,该N×M变换器323可对帧间预测和帧内预测宏块使用不同的变换系数。
图3C是本发明一实施例的示范性基于H.264标准的依据图像内容和最佳预测块尺寸选择变换尺寸的编码器的部分结构示意图。如图3C所示,视频编码器340与图3B所示视频编码器330的不同之处在于系统中添加了变换尺寸控制器342。该变换尺寸控制器342可包括适当的逻辑、电路、和/或代码,可适于确定N×M变换器332变换帧间预测和帧内预测宏块所采用的N×M变换尺寸。
该N×M变换器332可根据一套允许视频编码器340实现H.264标准的效率目标的规则和方针确定N×M变换尺寸。该变换尺寸控制器342可将变换尺寸选择相关的信息传送至熵编码器310进行编码。在这一点上,变换尺寸控制器342可生成,例如,可包括关于变换尺寸的信息的变换尺寸语法元,该变换尺寸可用于宏块的重建。然后,将编码信息传送至解码器解码和重建画面。接着,该解码器可利用视频编码器340使用的这些规则和方针来逆变换具有已缩减数量的旁信息的预测块。
图4是本发明一实施例的示范性基于H.264标准的解码器的结构示意图。如图4所示,图1中的视频解码器104包括代码输入端402、代码缓冲器404、符号翻译器408、前后关系(context)存储块406、CPU410、空间预测器412、逆扫描器、量化器和变换器(ISQDCT)414、运动补偿器416、重建器420、去块滤波器424、画面缓冲器418和显示引擎422。
代码缓冲器402可包括适当的电路、逻辑和/或代码,可适于在符号翻译器翻译压缩视频流之前,接收并缓冲来自代码输入端402的压缩视频流。例如,该压缩视频流可用CABAC或CAVLC编码成二进制格式。根据该编码方法,代码缓冲器404可适于传送符号翻译器408需要的部分不同长度的该压缩视频流。代码缓冲器404可包括存储系统的一部分,例如动态随机存取存储器(DRAM)。
符号翻译器408可包括适当的电路、逻辑和/或代码,可适于翻译该压缩视频流以获得解码压缩视频流所需的量化的频率系数信息和附加旁信息。在这一点上,符号翻译器408适于获得变换尺寸语法元,该变换尺寸语法元由视频编码器生成并作为旁信息的一部分被传送。例如,该符号翻译器408也可适于翻译CABAC或CAVLC编码视频流。作为本发明的一方面,该符号翻译器408可包括CABAC解码器和CAVLC解码器。由符号翻译器408确定的量化的频率系数可被传送至ISQDCT 414,旁信息可被传送至运动补偿器416和空间预测器412。
符号翻译器408也可适于向ISQDCT 414提供关于压缩视频信息流中的编码宏块的正变换的信息。在这一点上,符号翻译器408可将解码变换尺寸语法元传送至ISQDCT 414。根据与被翻译的一组量化的频率系数相关的每一宏块的预测模式,如果编码期间使用空间预测,符号翻译器408可向提供旁信息至空间预测器412;如果编码期间使用时间预测,符号翻译器408可提供旁信息至运动补偿器416。该旁信息可包括,例如预测模式信息和/或运动矢量信息。
符号翻译器408也可向去块滤波器424提供旁信息。当去块滤波器424是基于H.264标准指定的标准化去块滤波器时,旁信息可以包括预测模式信息、运动矢量信息、量化参数信息和/或边界像素值,以确定去块滤波器跨越(across)的强度,例如4×4或8×8边缘边界。
为增加处理效率,例如,CPU410可与该符号翻译器408连接以调整编码数据比特流中的每一宏块的翻译过程。此外,符号翻译器408可与前后关系存储块406连接。该前后关系存储块406可适于存储多个可用于翻译CABAC或CAVLC编码比特流的前后关系。该前后关系存储块406可以是与代码缓冲器404相同的存储系统的另一部分,或不同存储系统的一部分。
通过符号翻译器408将来自代码缓冲器404的信息翻译后,可将多组量化频率系数传送至ISQDCT 414。该ISQDCT 414可包括适当的电路、逻辑和/或代码,可适于从一组从符号翻译器408接收的量化频率系数生成一预测误差。例如,该ISQDCT 414可适于使用可由变换尺寸语法元确定的尺寸的逆变换,将量化频率系数变换回空间域。在这一点上,逆变换尺寸可由编码器对宏块进行正变换时使用的那组规则和方针来确定。预测误差生成后,可被传送至重建器420。
空间预测器412和运动补偿器416可包括适当的电路、逻辑和/或代码,可适于使用从符号翻译器408接收的旁信息生成预测像素。例如,空间预测器412可为空间预测宏块生成预测像素,而运动补偿器416可为时间预测宏块生成预测像素。运动补偿器416生成的预测像素可包括与在先重建画面中的运动补偿矢量相关联的预测像素。该运动补偿器416可从存储于画面缓冲器418中的在先重建的画面恢复预测像素。该画面缓冲器418可存储在先重建的画面,该在先重建的画面可相应于正处理的当前画面之前和/或之后的画面。
重建器420可包括适当的电路、逻辑和/或编码,可适于从ISQDCT414接收预测误差,以及根据预测模式是时间预测还是空间预测分别从运动补偿器416或空间预测器412接收预测像素。然后,该重建器420可生成重建输出流,在此该重建输出流中的重建宏块编辑重建画面。该重建输出流可基于预测误差和从空间预测器412或运动补偿器416接收的旁信息而生成,然后被传送至去块滤波器424进行空间滤波。
当空间预测器412用于生成预测像素时,重建宏块可从重建器420传送回空间预测器412。这样,空间预测器412可利用沿与相邻宏块相邻的左边、拐角或顶边界的像素信息,以获得当前宏块的像素估计。
去块滤波器424可包括适当的电路、逻辑和/或代码,可适于将从重建器420接收的重建输出流空间滤波,以减小模块化人为效果。这些模块化人为效果可与沿相邻宏块间的一条或多条边界的遗漏像素信息和/或与宏块间的空间低频偏移的遗漏像素信息相关。
画面缓冲器418可适于存储从去块滤波器424接收的滤波重建输出流中的一幅或多幅滤波重建画面。该画面缓冲器418也适于将滤波重建画面传送至运动补偿器416。此外,画面缓冲器418可将在先滤波重建画面传送回去块滤波器424,以使得当前画面中的当前宏块可被空间滤波,以移除或减小模块化人为效果。该画面缓冲器418也可将一幅或多幅滤波重建画面传送至显示引擎424。该显示引擎424可包括适当的逻辑、电路和/或代码,可适于将该滤波重建输出流输出至如一视频显示器。
例如,在高级规范操作模式中,由视频编码器340生成、由图4中的视频解码器104接收的变换尺寸语法元,可以以标准画质清晰度以及更高清晰度的观察资料为基础。小于8×8的块尺寸的使用是被限制的,因此可应用新编码工具一亮度8×8变换和亮度8×8帧内预测模式。在这一点上,Transform8变换模式,可用于表明可能8×8变换正在使用或8×8变换被启动用于8×8或以上的块尺寸。该模式可被变换尺寸语法元,transform_8×8_mode_frag,在图像参数集RBSP中启动。
结果是,可以应用以下简化或条件:变换尺寸不被混合在一宏块中;限制较大变换尺寸至8×8,也就是不使用8×4或4×8变换;限制新帧内模式至8×8,也就是,不使用8×4或4×8帧内模式;当启动Transform8时允许帧内16×16模式;限制Transform8模式的使用至当语法元层level×10大于或等于40,也就是level≥3,因为在这些层,语法元direct_8×8_inference_flag等于逻辑1,保证直接模式矢量不被应用于小于8×8的块;限制Transform8模式的使用至当语法元结构等于专业扩展(the Professional Extensions);限制Transform8模式的使用至当该语法元entropy_coding_mode_frag等于逻辑1,也就是,CABAC能够被启动于,例如在图4所示的字符翻译器408中。
除变换尺寸语法元外,可使用附加的语法元。对于宏块类型P_8×8和B_8×8,语法元all_8×8等于逻辑1可用于表明所有四个8×8子分区正使用8×8块尺寸。在这种情况下,使用的是8×8变换尺寸。另外,当all_8×8等于逻辑0时,小于8×8的块尺寸可以使用,因此现有的4×4变换尺寸被使用。对于语法元mb_type等于逻辑0,语法元intra_pred_size可用于表明宏块类型是否为intra_4×4,也就是,语法元intra_pred_size等于逻辑0,或intra_8×8。当宏块类型是intra_8×8时,语法元prev_intra8×8_pred_mode_flag和rem_intra8×8_pred_mode可用于确定特定8×8帧内模式被使用。
宏块类型 |
transform_8×8_mode_flag |
all_8×8 |
亮度变换尺寸 |
Intra_4×4 |
na |
na |
4×4 |
Intra_8×8 |
na |
na |
8×8 |
Intra_16×16 |
na |
na |
4×4 |
P_16×16 |
0 |
na |
4×4 |
|
1 |
na |
8×8 |
P_8×16 |
0 |
na |
4×4 |
1 |
na |
8×8 |
P_16×8 |
0 |
na |
4×4 |
1 |
na |
8×8 |
P_8×8 |
0 |
na |
4×4 |
1 |
0 |
4×4 |
1 |
1 |
8×8 |
B_Direct |
0 |
na |
4×4 |
1 |
na |
8×8 |
B_16×16 |
0 |
na |
4×4 |
1 |
na |
8×8 |
B_16×8 |
0 |
na |
4×4 |
1 |
na |
8×8 |
B_8×16 |
0 |
na |
4×4 |
1 |
na |
8×8 |
B_8×8 |
0 |
na |
4×4 |
1 |
0 |
4×4 |
1 |
1 |
8×8 |
表1.亮度变换尺寸
表1是宏块类型与亮度变换尺寸的对照图,由H.264标准规范中编码和解码操作的新语法元附加部分产生。例如,表1包括帧内宏块类型Intra_4×4、Intra_8×8和Intra_16×16,帧间编码宏块类型P_16×16、P_8×16、P_16×8、P_8×8、B_16×16、B_8×16、B_16×8、B_8×8和B_direct,其中B_direct相当于直接模式B片段中的宏块。
图5是本发明一实施例根据变换尺寸语法元,在基于H.264标准的视频解码器中逆变换块尺寸选择的流程图。如图5所示,开始步骤502以后,在步骤504,图1中的视频解码器104可确定当前解码宏块是否是帧内编码宏块。当该宏块是帧内编码的,该视频解码器104执行步骤506,确定变换尺寸。在步骤506,视频解码器104中的高级规范模式和8×8变换可被启动。宏块类型解码为14×4可被语义变换为表示1_N×N。当该宏块类型被解码表示1_N×N时,transform_size_8×8_flag语法元表明N×N是相当于4×4变换尺寸还是相当于8×8变换尺寸。当transform_size_8×8_flag语法元表明是8×8变换尺寸,则使用8×8空间预测和8×8变换。否则,使用4×4空间预测和4×4变换。以上对帧内编码宏块的描述允许对8×8空间预测模式的支持,无需引用许多VLC表或CABLC文本表。确定逆变换尺寸后,流程图500进行到步骤514。
返回步骤504,当该宏块不是帧内编码宏块时,该视频解码器104执行步骤508。在步骤508,视频解码器104确定该宏块是否是直接模式帧间宏块。当该宏块不是直接模式宏块,视频解码器104执行步骤510。在步骤510,当该宏块的类型是8×16、16×8或16×16时,变换尺寸可为4×4变换尺寸或8×8变换尺寸,且该变换尺寸可用transform_size_8×8_flag语法元表明,也就是说,transform_size_8×8_flag语法元可表明使用4×4变换尺寸还是使用8×8变换尺寸。当该宏块的类型是8×8时,视频解码器104确定是否任何8×8块可以被再分割。如果块是,例如4×4、4×8或8×4,则仅可以使用4×4变换尺寸,且transform_size_8×8_flag语法元不必在编码视频比特流中。当8×8块中没有被再分割,则transform_size_8×8_flag语法元在编码视频比特流中,以表明将使用4×4变换尺寸还是使用8×8变换尺寸。确定逆变换尺寸后,流程图500进行到步骤514。
返回步骤508,当该宏块是直接模式宏块,视频解码器104执行步骤512。在步骤512,当帧间编码宏块是B片段的部分时,整个宏块可为直接模式,B_Direct_16×16,或一个独立8×8块可以是直接模式,B_Direct_8×8。无论哪种情况,该宏块或该块可继承一特定参考画面中的配置宏块或配置块的块尺寸。该配置块尺寸在流分解过程中可能是未知的。在这一点上,当继承的8×8块尺寸进一步再分割时,视频解码器104可使用4×4变换尺寸。因为为达到标准或更高清晰度,继承块一般为8×8或更大,可通过将direct_8×8_inference_flag语法元设为逻辑1表示标准清晰度或更高清晰度来表明,而且transform_size_8×8_flag语法元是在编码视频比特流中,可用于确定使用4×4变换尺寸还是8×8变换尺寸。确定逆变换尺寸后,流程图500进行到步骤514
在步骤514,图1中的视频解码器104可根据步骤506、510或512中的任一步骤选择的逆变换尺寸,逆变换接收的宏块。完成步骤514后,视频解码器104执行结束步骤516。
在此介绍的H.264标准规范中高级规范的这些选择规则和方针以及语法元可以将以下两者结合起来:通过较好信号预测选择缩减剩余相关性带来的益处,及没有高细节和/或急速转换的区域中的大变换尺寸带来的益处。
因此,本发明可以在硬件、软件或硬件和软件组合中实现。本发明可以在至少一个计算机系统中以集中方式实现或以分布方式实现,该分布方式是指不同部件分布于几个相互连接的计算机系统。任一种计算机或其他适于执行这里所描述的方法的设备都是适合的。一种典型的硬件和软件的结合可以是一安装有计算机程序的通用计算机系统,当该计算机程序被安装和执行,即可控制计算机系统去执行这里所描述的方法。
本发明也可以被嵌入计算机程序产品中,该计算机程序产品包括所有能够执行这里所描述的方法的特征,且当被安装到计算机系统中时,能够执行这些方法。这里所说的计算机程序可以采用一组指令的任何表达形式,如用任何语言、代码或符号表达,该组指令能够使具有信息处理能力的系统直接执行特定功能,或在将该指令以下列方式之一或全部处理后:a)转换成另一种语言、代码或符号,b)用不同材料形式复制,执行特定功能。
虽然本发明是参考一些实施例进行的描述,对本领域的普通技术人员来说可以理解,各种改变及等同替代将不脱离本发明的范围。另外,很多对本发明所述内容的适合特别情况和材料的修改也不脱离本发明的范围。因此,本发明不限于所揭示的特定实施例,本发明将包括所有落入权利要求范围中的实施例。
本专利申请要求申请号为60/568,926、申请日为2004年5月7日的美国临时专利申请的优先权。
因此上述申请在此作为本申请的全面参考。