技术领域
本发明涉及视频编码和解码装置和方法。更具体地说,本发明涉及用于对具有与宏块尺寸的整数倍不同的尺寸的输入图像的外部区域进行有效编码和解码的装置和方法,其中,假定按照产生最少比特数的模式对位于输入图像边界之外的边界线部分(块)进行编码/解码,或者边界线部分(块)中的预测、变换或这种信息数据免于编码/解码,或者当对输入图像的外部区域进行编码和解码时通过使用可变宏块尺寸来对输入图像进行编码/解码。
背景技术:
本部分中的陈述仅提供与本发明相关的背景信息并且可能不构成现有技术。
压缩图像数据的标准技术当前包括H.261、H.263、H.264、MPEG-2、MPEG-4等。根据这些压缩图像的常规技术,每个图像被划分成具有固定尺寸的宏块并随后以宏块为单位进行编码。
当输入图像的尺寸不是宏块尺寸的整数倍时,对输入图像进行填充,使得输入图像变成宏块尺寸的整数倍,在空间上或时间上预测经填充的输入图像内的每个宏块的所有亮度(luma)分量和所有色度(chroma)分量,然后通过诸如变换、量化和熵编码的处理对预测后的残留进行压缩。
然而,在压缩图像的通用技术中,当输入图像的尺寸不是宏块尺寸的整数倍时,难以确定宏块的最佳类型和最佳预测模式,因为在对输入图像进行填充以使得输入图像的尺寸变成宏块尺寸的整数倍之后确定宏块类型和预测模式包括填充区域,并且因为产生了包括填充区域的数据的比特流,所以编码效率会降低。
另外,因为与图像编码相对应地执行对图像进行解码的步骤,所以由于对高分辨率图像进行编码的压缩效率已经降低,使得难以预期高效的解码。
技术实现要素:
技术问题
因此,本发明的方面致力于解决上述问题,并且本发明的方面旨在:通过基于位于输入图像的边界之外的部分(块)处于产生最少比特数的模式的假设对位于输入图像的边界之外的部分(块)进行编码/解码,或者通过阻止诸如位于输入图像的边界之外的部分(块)中的预测信息或变换信息的数据被编码/解码,或者通过使用可变宏块尺寸,来改进在输入图像的尺寸不是任意宏块尺寸的整数倍时对图像进行编码和解码的压缩效率和重建效率。
概述
本发明的实施方式提供了一种视频编码/解码装置,该视频编码/解码装置包括:图像编码器,该图像编码器用于在当前待编码的可变宏块没有完全位于输入图像内时,通过将所述当前待编码的可变宏块的水平尺寸和垂直尺寸减小为设置的尺寸,或者按照设置的比率减小所述当前待编码的可变宏块的水平尺寸和垂直尺寸,来将所述当前待编码的可变宏块的所述水平尺寸和所述垂直尺寸重设为小于当前尺寸的尺寸,并且用于基于重设的可变宏块来执行预测编码;以及图像解码器,该图像解码器用于在当前待解码的可变宏块没有完全位于输入图像内时,通过将所述可变宏块的尺寸减小为设置的尺寸,或者按照设置的比率减小所述可变宏块的尺寸,来将所述当前待解码的可变宏块的尺寸重设为小于所述当前尺寸的尺寸,并且执行解码。
本发明的另一个实施方式提供了一种视频编码装置,该视频编码装置包括:宏块尺寸设置单元,该宏块尺寸设置单元用于在当前待编码的宏块没有按照预定比率或更大比率与输入图像交叠时,通过将所述宏块的水平尺寸和垂直尺寸减小为设置的尺寸,或者按照设置的比率减小所述宏块的水平尺寸和垂直尺寸,来重设所述宏块的尺寸;预测器,该预测器用于对所述宏块执行帧内预测或帧间预测;以及编码器,该编码器用于对通过所述帧内预测或所述帧间预测得到的残留信号进行变换和量化,并且对经变换和量化的残留信号执行熵编码。
本发明的另一个实施方式提供了一种视频编码装置,该视频编码装置包括:宏块尺寸设置单元,该宏块尺寸设置单元用于在当前待编码的宏块没有完全位于输入图像内时,将所述宏块的尺寸重设为包括在位于所述输入图像中的可用宏块尺寸中的最大尺寸;预测器,该预测器用于对所述宏块执行帧内预测或帧间预测;以及编码器,该编码器用于对通过所述帧内预测或所述帧间预测得到的残留信号进行变换和量化,并且对经变换和量化的残留信号执行熵编码。
本发明的另一个实施方式提供了一种视频解码装置,该视频解码装置包括:宏块尺寸设置单元,该宏块尺寸设置单元在当前待解码的宏块没有按照预定比率或更大比率与输入图像交叠时,通过将所述宏块的水平尺寸和垂直尺寸减小为设置的尺寸,或者按照设置的比率减小所述宏块的水平尺寸和垂直尺寸,来重设所述宏块的尺寸;解码器,该解码器用于从比特流中提取关于所述宏块的类型信息和包含变换系数的预测信息,并且对所提取的信息进行解码;预测器,该预测器用于基于所述类型信息来对所述宏块执行帧内预测或帧间预测;以及重建单元,该重建单元用于对所述变换系数进行逆量化和逆变换,以生成残留信号,并且将所生成的残留信号与由所述预测器预测的值相加,以生成重建的宏块。
本发明的另一个实施方式提供了一种视频解码装置,该视频解码装置包括:宏块尺寸设置单元,该宏块尺寸设置单元用于在当前待解码的宏块没有完全位于输入图像内时,将所述宏块的尺寸重设为包括在位于所述输入图像中的可用宏块尺寸中的最大尺寸;解码器,该解码器用于从比特流中提取关于所述宏块的类型信息和包含变换系数的预测信息,并且对所提取的信息进行解码;预测器,该预测器用于基于所述类型信息来对所述宏块执行帧内预测或帧间预测;以及重建单元,该重建单元用于对所述变换系数进行逆量化和逆变换,以生成残留信号,并且将所生成的残留信号与由所述预测器预测的值相加,以生成重建的宏块。
本发明的另一个实施方式提供了一种视频编码/解码方法,该视频编码/解码方法包括以下步骤:在当前待编码的可变宏块没有完全位于输入图像内时,通过将所述可变宏块的水平尺寸和垂直尺寸减小为设置的尺寸,或者按照设置的比率减小所述可变宏块的水平尺寸和垂直尺寸,来将所述当前待编码的可变宏块的尺寸重设为小于当前尺寸的尺寸,并且基于重设的可变宏块来执行预测编码;以及在所述当前待解码的可变宏块没有完全位于所述输入图像内时,通过将所述可变宏块的尺寸减小为设置的尺寸,或者按照设置的比率减小所述可变宏块的尺寸,来将所述当前待解码的可变宏块的尺寸重设为小于当前尺寸的尺寸,并且执行解码。
本发明的另一个实施方式提供了一种视频编码方法,该视频编码方法包括以下步骤:在当前待编码的宏块没有按照预定比率或更大比率与输入图像交叠时,通过将所述宏块的水平尺寸和垂直尺寸减小为设置的尺寸,或者按照设置的比率减小所述宏块的水平尺寸和垂直尺寸,来重设所述宏块的尺寸;对所述宏块执行帧内预测或帧间预测;以及对通过所述帧内预测或所述帧间预测得到的残留信号进行变换和量化,并且对经变换和量化的残留信号执行熵编码。
在此,所述重设的步骤通过重复地按照所述设置的比率减小所述当前待编码的宏块的所述水平尺寸和所述垂直尺寸,直至所述宏块按照所述预定比率或更大比率与所述输入图像交叠为止,来重设所述宏块的尺寸。
本发明的另一个实施方式提供了一种视频编码方法,该视频编码方法包括以下步骤:在当前待编码的宏块没有完全位于输入图像内时,将所述宏块的尺寸重设为包括在位于所述输入图像中的可用宏块尺寸中的最大尺寸;对所述宏块执行帧内预测或帧间预测;以及对通过所述帧内预测或所述帧间预测得到的残留信号进行变换和量化,并且对经变换和量化的残留信号执行熵编码。
在此,所述可用宏块尺寸包括可用变换尺寸的正整数倍。
本发明的另一个实施方式提供了一种视频解码方法,该视频解码方法包括以下步骤:在当前待解码的宏块没有按照预定比率或更大比率与输入图像交叠时,通过按照设置的比率减小所述宏块的水平尺寸和垂直尺寸,来重设所述宏块的尺寸;从比特流中提取关于所述宏块的类型信息和包含变换系数的预测信息,并且对所提取的信息进行解码;基于所述类型信息来对所述宏块执行帧内预测或帧间预测;以及对所述变换系数进行逆量化和逆变换,以生成残留信号,并且将所生成的残留信号与通过所述帧内预测或所述帧间预测的步骤预测的值相加,以生成重建的宏块。
本发明的另一个实施方式提供了一种视频解码方法,该视频解码方法包括以下步骤:在当前待解码的宏块没有完全位于输入图像内时,将所述宏块的尺寸重设为包括在位于所述输入图像中的可用宏块尺寸中的最大尺寸;从比特流中提取关于所述宏块的类型信息和包含变换系数的预测信息,并且对所提取的信息进行解码;基于所述类型信息来对所述宏块执行帧内预测或帧间预测;以及对所述变换系数进行逆量化和逆变换,以生成残留信号,并且将所生成的残留信号与通过所述帧内预测或所述帧间预测的步骤预测的值相加,以生成重建的宏块。
有益效果
根据如上所述的本发明的方面,当在对输入图像进行编码和解码时所述输入图像的尺寸不是宏块尺寸的整数倍时,通过使用可用宏块尺寸来对输入图像的外部区域进行编码和解码,由此可以改进压缩效率和重建效率。
附图说明
图1和图2是用于描述当对根据常规的编码/解码方法输入的图像进行填充以使得输入图像变成宏块尺寸的整数倍时的视频编码和视频解码的视图;
图3和图4是用于描述根据本发明的方面的使用具有可变尺寸的宏块的视频编码和视频解码的视图;
图5是示出根据本发明的方面的视频编码方法的流程图;
图6是示出根据本发明的方面的视频解码方法的流程图;
图7是示出根据本发明的另一方面的视频编码方法的流程图;
图8是示出根据本发明的另一方面的视频解码方法的流程图;
图9是示意性示出根据本发明的方面的视频编码装置的视图;以及
图10是示意性示出根据本发明的方面的视频解码装置的视图。
具体实施方式
下文将参照附图详细描述本发明的一些方面。在以下描述中,将用相同的附图标记来表示相同的元件,尽管这些元件是在不同的附图中示出。此外,在本发明的以下描述中,当对并入本文的公知功能和构造的详细描述使得本发明的主题并不清晰时,将省略这些详细描述。
另外,在描述本发明的组件时,可以存在诸如第一、第二、A、B、(a)和(b)的术语。这些术语仅出于将一个组件与其它组件相区分的目的而不暗示或意指这些组件的实质、顺序或次序。如果将组件描述为“连接”、“耦接”或“链接”到其它组件,则这些组件不仅可以直接“连接”、“耦接”或“链接”到其它组件而且可以经由第三组件间接地“连接”、“耦接”或“链接”到其它组件。
随后将描述的视频编码装置和视频解码装置可以是个人计算机或PC、笔记本计算机或膝上型计算机、个人数字助理或PDA、便携式多媒体播放器或PMP、便携式游戏机或PSP或移动通信终端、智能电话或这些装置,并且表示配备有例如用于在各种装置或有线/无线通信网络之间执行通信的诸如调制解调器的通信装置、用于存储用于对图像和相关数据进行编码的各种程序的存储器以及用于执行这些程序以实现操作和控制的微处理器的各种设备。
另外,由视频编码装置编码成比特流的图像可以在经由有线/无线通信网络(包括互联网、短距离无线通信网络、无线LAN网络、还被称为WiMax网络的WiBro(无线宽带)以及移动通信网络)或诸如线缆或USB(通用串行总线)的通信接口发送之后实时或非实时地发送至视频解码装置,以对该比特流进行解码,从而重建成图像并且再现成动态图像。
本发明的方面描述了当输入图像的尺寸不是宏块尺寸的整数倍时对输入图像的外部区域进行编码/解码的方法,所述输入图像的外部区域与宏块的局部区域交叠。
图1和图2是用于描述当对根据常规的编码/解码方法输入的图像进行填充以使得输入图像的尺寸变成宏块尺寸的整数倍时的视频编码和视频解码的视图,图3和图4是用于描述根据本发明的方面的使用具有可变尺寸的宏块的视频编码和视频解码的视图。
当输入图像的尺寸为1280×720并且宏块的尺寸为64×64时,常规编码/解码方法对输入图像进行填充以使得输入图像的尺寸为1280×768,即为宏块尺寸的整数倍,如图1所示,然后将经填充的输入图像划分成总共240个宏块,从而以宏块为单位对输入图像执行编码和解码。位于底部的20个宏块各自具有包括在实际输入图像中的64×16的区域和没有包括在实际输入图像中的64×48的区域。
作为另一个示例,当输入图像的尺寸为1920×1080并且宏块的尺寸为128×128时,常规编码/解码方法对输入图像进行填充以使得输入图像的尺寸为1920×1152,即为宏块尺寸的整数倍,如图2所示。然后,将经填充的输入图像划分成总共135个宏块,并且以宏块为单位对输入图像进行编码和解码。位于底部的15个宏块各自具有包括在实际输入图像中的128×56的像素区域和包括在经填充的区域中的128×72的像素区域。
当输入图像的水平尺寸不是宏块的水平尺寸的整数倍或者输入图像的垂直尺寸不是宏块的垂直尺寸的整数倍时,宏块位于输入图像的边界。如图1和图2所示,宏块位于输入图像的底部边界,并且因为位于底部边界的宏块在经填充的区域中比在实际图像区域中具有更多的数据,所以可以按照错误预测模式或宏块类型来确定宏块。也就是说,相对于通过仅使用实际图像区域确定的块,预测模式和宏块类型可能存在变化。另外,因为产生比特流时包括经填充的区域中的数据,所以编码和解码的性能会降低。
为了解决以上问题,可以使用具有16×16的小尺寸的宏块进行编码,但是通过使用具有小尺寸的宏块来对整个图像进行编码/解码的方法是没有效率的,因为以较大块为单位对高分辨率图像进行编码才是有效的。
因此,本发明的方面在对输入图像的内部区域进行编码/解码时使用具有大尺寸的宏块,并且在对输入图像的外部区域进行编码/解码时使用具有可变尺寸的宏块,以便使经填充的区域中的数据最少。结果,针对输入图像的外部区域执行有效的编码/解码,同时保持了通过使用具有大尺寸的宏块能够得到的编码/解码效率。在这种情况下,只要输入图像和宏块的尺寸是已知的,编码器(或编码装置)和解码器(或解码装置)就能通过使用相同方法得到用于对输入图像的外部区域进行编码/解码的宏块的尺寸,因而不需要关于宏块尺寸的附加信息。
基于图3所示的根据本发明的方面的视频编码/解码方法,当输入图像的尺寸为1280×720并且宏块尺寸为64×64时,通过使用尺寸为16×16的宏块来对位于输入图像底部的、与宏块的部分区域交叠的1280×16的像素区域进行编码/解码,从而避免使用除输入图像以外的其它数据。另外,被编码成比特流的数据仅使用包括在实际输入图像中的像素值。
图4示出根据本发明的另一方面的视频编码/解码。当输入图像的尺寸为1920×1080并且宏块尺寸为128×128时,通过使用尺寸为128×128的宏块来对输入图像的1920×1024的像素区域进行编码/解码,并且通过使用具有(按照通过利用预定比率减小宏块的原始尺寸或者将宏块的原始尺寸减小为预定尺寸得到的比例的)重设尺寸的宏块,对位于输入图像底部的、与宏块的部分区域交叠的1920×56的像素区域进行编码/解码。即使当通过使用具有重设尺寸的宏块来对1920×56的像素区域进行编码时,判定宏块的部分区域是否与输入图像交叠以及交叠了多少区域。当通过使用具有重设尺寸的宏块对1920×56的像素区域进行编码/解码时,如果输入图像与宏块交叠的区域具有预定的尺寸,例如,该区域与宏块的1/2相同或者大于宏块的1/2,则通过使用具有重设尺寸的该宏块来执行编码/解码。在这种情况下,如果输入图像与宏块交叠的区域具有预定的尺寸,例如,该区域与宏块的1/2相同或者大于宏块的1/2并且宏块仅部分区域与输入图像交叠,则在执行填充之后执行编码/解码。
当通过使用具有重设尺寸的宏块对1920×56的像素区域进行编码/解码时,如果输入图像与宏块交叠的区域具有预定的尺寸,例如,该区域小于宏块的1/2,则重设宏块的尺寸并且通过使用上述方法来执行编码/解码。
例如,在图4中,判定当对位于输入图像底部的1920×56像素区域进行编码/解码时,是否使用1/2的缩小比率(用于减小宏块的尺寸)来重设宏块的尺寸。因为输入图像仅与尺寸为128×128的宏块内的125×56的像素区域交叠并且该交叠区域小于宏块的1/2,所以通过利用预定的缩小比率(例如,1/2)来重设宏块的尺寸。因此,因为输入图像与重设尺寸为64×64的宏块内的64×56的像素区域交叠并且该交叠区域与宏块的1/2相同或大于宏块的1/2,所以使用尺寸为64×64的宏块对位于输入图像底部的区域进行编码/解码。在这种情况下,输入图像仅与64×56的像素区域(即,宏块的部分区域)交叠,使得64×16的剩余像素区域被填充。
图5是示出根据本发明的方面的视频编码方法的流程图。
基于根据本发明的方面的视频编码方法,在步骤S502中,视频编码装置设置一个或更多个可用宏块尺寸和形状。可以由用户输入可用宏块尺寸和形状或者通过可用宏块内的子块的变换类型或尺寸来确定可用宏块尺寸和形状。另选地,所述尺寸和形状可以包括在由其它装置输入的已确定候选组中。另外,可用宏块尺寸和形状可以具有一个或更多个尺寸和形状,诸如64×64、32×32、16×16和8×8。然而,可用宏块尺寸应该是可用变换尺寸的正整数倍。
例如,当通过宏块内的变换尺寸或子块尺寸来确定可用宏块尺寸并且可用于预测的子块的尺寸为4×4、4×8、8×4、8×8、16×8、8×16、16×16、16×32、32×16、32×32、32×16、32×32、32×64、64×32和64×64并且可用变换尺寸为4×4、8×8和16×16时,可用宏块尺寸可以与宏块内的子块的类型相同。也就是说,可用宏块尺寸可以是4×4、4×8、8×4、8×8、16×8、8×16、16×16、16×32、32×16、32×32、32×16、32×32、32×64、64×32和64×64。
关于可用宏块尺寸和形状的信息被包括在序列头、图片或片段头的信息中,并且可以被编码成比特流。
另外,可以根据编码和解码装置进行的变换和预测中使用的子块类型来内部确定可用宏块尺寸和形状。在这种情况下,关于可用宏块尺寸和形状的信息没有被编码成比特流。
此外,关于输入图像尺寸的信息被编码在序列头中,并且解码器从比特流中提取关于输入图像尺寸的信息并对该信息进行编码,并且使用关于输入图像尺寸的重建的信息对每个宏块进行解码。
下文中,为了简便起见,在本发明的各个实施方式中,省略了对序列头内部和外部的关于输入图像尺寸的信息进行编码和解码的处理的描述。
当通过使用在编码装置与解码装置之间一致的可用宏块尺寸和形状来以宏块为单位对输入图像进行编码时,如果在步骤S504中当前待编码的宏块完全位于输入图像内,则在步骤S506中,对被划分成多个子块的具有基准尺寸的当前宏块执行预测编码,产生经编码的图像数据,以完成对当前待编码宏块的编码并且开始对后续宏块进行编码。
在当前待编码的宏块没有完全包括在输入图像内时,在步骤S508中将当前待编码的宏块重设为新尺寸。在重新设置宏块尺寸的方法中,通过按照宏块的预定比率(例如,1/2)减小宏块的水平尺寸和垂直尺寸,来重设宏块的尺寸。另选地,宏块被重设为可用宏块尺寸之中的最大尺寸,该最大尺寸使得宏块能够位于输入图像内。然而,宏块的重设尺寸优选地是多个可用宏块尺寸中的一个并且小于当前宏块的尺寸。
另外,可用宏块尺寸之中的使得宏块能够位于输入图像内的宏块的最大尺寸可以被确定为宏块的重设尺寸。在以下描述中讨论了图3所示的示例。当可用宏块尺寸为64×64、64×32、64×16、64×8、64×4、32×64、16×64、8×64、4×64、32×32、32×16、32×8、32×4、16×32、8×32、4×32、16×16、16×8、16×4、8×16、4×16、8×8、8×4、4×8和4×4时,如果输入图像与宏块的64×16的像素区域交叠,则重设宏块的尺寸。可用宏块尺寸之中的使得宏块能够位于输入图像内的宏块的尺寸包括64×16、64×8、64×4、32×16、32×8、32×4、16×16、16×8、16×4、8×16、4×16、8×8、8×4、4×8和4×4。所列出的尺寸之中的最大尺寸64×16被确定为当前宏块的尺寸,并且对当前待编码的宏块执行预测编码,产生经编码的图像数据,以在开始对后续宏块进行编码之前完成对当前宏块的编码并且将宏块的尺寸重新设置为64×64(基准宏块尺寸)。
当可用宏块尺寸包括64×64、64×32、64×16、64×8、64×4、32×64、16×64、8×64、4×64、32×32、32×16、32×8、32×4、16×32、8×32、4×32、16×16、16×8、16×4、8×16、4×16、8×8、8×4、4×8和4×4并且输入图像与宏块内的64×48的像素区域交叠时,可用宏块尺寸之中的、使得宏块能够位于输入图像内的宏块尺寸包括64×32、64×16、64×8、64×4、32×32、32×16、32×8、32×4、16×32、8×32、4×32、16×16、16×8、16×4、8×16、4×16、8×8、8×4、4×8和4×4。以上尺寸之中的最大尺寸64×32被确定为当前宏块尺寸,并且对当前待编码的宏块执行预测编码,产生经编码的图像数据,以在开始对后续宏块进行编码之前完成对当前宏块的编码并且将宏块的尺寸重新设置为64×64(基准宏块尺寸)。
当可用宏块尺寸包括64×64、32×32、16×16、8×8和4×4并且将用于重设宏块尺寸的预定尺寸或比率选定为1/2时,可以如下参照图3来描述编码方法。
首先,64×64、32×32、16×16、8×8和4×4的尺寸被设置为可用宏块尺寸信息。判定当前待编码的宏块是否完全位于输入图像内。当宏块完全位于输入图像内时,以64×64为单位对输入图像进行编码并且生成图像数据。位于输入图像底部的尺寸为64×64的宏块没有完全位于输入图像内,并且宏块中仅部分区域与输入图像交叠,因而将宏块的尺寸重设为尺寸32×32,然后再次判定当前宏块的重设尺寸是否完全位于输入图像内或者当前宏块中是否仅部分区域与输入图像交叠。尺寸为32×32的宏块也仅与输入图像的部分区域交叠,因而将宏块重设为16×16的尺寸(在水平上和垂直上都对应于一半尺寸),并且再次判定当前宏块的尺寸是否完全位于输入图像内或者当前宏块中是否仅部分区域与输入图像交叠。具有16×16的重设尺寸的宏块完全包括在输入图像内并且尺寸16×16被确定为当前宏块尺寸,并且对进行编码的当前宏块执行预测编码,产生经编码的图像数据,以完成对当前宏块的编码,并且开始对后续宏块进行编码。
图6是示出根据本发明的方面的视频解码方法的流程图。
基于根据本发明的方面的视频解码方法,在步骤S602中,视频解码装置设置一个或更多个可用宏块尺寸。可以通过可用子块尺寸或变换类型来确定可用宏块尺寸,或者通过提取关于可用宏块尺寸的信息来设置可用宏块尺寸。另外,可用宏块尺寸可以被包括在由其它装置输入的已确定候选组中。在这种情况下,设置可用宏块尺寸的方法包括上述方法之中的与编码装置一致的方法。
当通过从比特流中提取的信息来确定可用宏块尺寸时,从诸如序列头、图片头、片段头或宏块头的与编码装置一致的位置提取对应信息,然后对该对应信息进行解码,以设置可用宏块尺寸。
另外,当通过变换或预测中使用的子块类型来确定可用宏块尺寸时,按照与编码装置一致的方法,在解码装置中自动设置关于可用宏块尺寸的信息。
在从比特流中提取序列头和宏块头并且进行解码之后,在步骤S604中,通过使用与编码装置一致的方法来设置可用宏块尺寸和形状,并且通过使用分配至输入图像内的当前待解码宏块的数量来计算当前待解码宏块的位置。当在步骤S606中当前待解码宏块完全位于输入图像内时,在步骤S608中,从比特流中提取经编码的宏块数据并使用基准宏块尺寸进行解码,并且使用经解码的宏块数据对宏块执行解码。当在步骤S606中当前待解码宏块没有完全位于输入图像内时,通过与编码装置一致的方法来重设宏块尺寸,并且通过使用重设的宏块尺寸来判定当前待解码宏块是否完全位于输入图像内或者宏块中是否仅部分区域与输入图像交叠。当宏块完全位于输入图像内时,通过使用重设的宏块尺寸来对宏块执行解码。当宏块中仅部分区域与输入图像交叠时,在步骤S610中,重设宏块尺寸。
图7是示出根据本发明的另一方面的视频编码方法的流程图。
基于根据本发明的另一方面的视频编码方法,在步骤S702中,通过使用上述方法,视频编码装置设置一个或更多个可用宏块尺寸和形状。当在步骤S704中当前待编码宏块完全位于输入图像内时,在步骤S710中,对被划分成多个子块的当前宏块执行预测编码,产生经编码的图像,以在开始对后续宏块进行编码之前完成对当前待编码宏块的编码。
当在步骤S704和S706中当前待编码宏块没有完全位于输入图像和预定区域内(例如,仅等于或大于宏块的1/2的区域与输入图像交叠)时,在步骤S708中,对与位于实际输入图像外部的宏块区域对应的输入图像区域进行填充。随后,在步骤S710中,对当前待编码宏块执行预测编码,生成经编码图像数据,以在开始对后续宏块进行编码之前完成对当前待编码宏块的编码。
当在步骤S704和S706中当前待编码宏块没有完全位于输入图像和预定区域内(例如,仅小于宏块的1/2的区域与输入图像交叠)时,通过上述方法来重设宏块尺寸,随后判定具有重设的尺寸的当前宏块是否完全位于输入图像内以及当宏块没有完全位于输入图像内时有多少宏块与输入图像交叠。随后,步骤S712重复上述处理,即,通过使用当前宏块尺寸对输入图像进行编码,或者在对输入图像进行填充后,通过使用当前宏块尺寸来对输入图像进行编码,或者重设宏块尺寸。
当执行编码(包括宏块内的位于输入图像的边界之外的部分或块)时,例如,当对图4所示的位于输入图像底部的宏块进行编码时,对包括位于实际输入图像的边界之外的宏块部分(也就是说,经填充的区域)的宏块进行编码/解码,这是基于这些宏块部分处于生成最少比特数的模式的假设,否则不对位于边界之外的块的数据执行编码/解码。
下文中,将描述对包括宏块内的位于输入图像的边界之外的部分(块)的宏块进行编码的方法。
将每个宏块划分成多个子块,随后对划分后的子块执行帧内预测编码或帧间预测编码。
在这种情况下,对于位于输入图像内的子块,考虑待编码块与重建块之间的误差值以及对待编码块进行编码所需的比特数这两者,来确定是帧内预测模式还是帧间预测模式(即,关于基准图片和运动矢量的信息)。另外,关于所确定的模式的信息被编码成比特流,并且通过使用关于所确定的模式的信息来重建每个块。对于位于输入图像外部的子块,仅考虑对待编码块进行编码所需的比特数,来确定是帧内预测模式还是帧间预测模式(即,关于基准图片和运动矢量的信息)。另外,关于所确定的模式的信息被编码成比特流,并且根据关于所确定的模式的信息来重建每个块。也就是说,当执行预测编码时,仅考虑数据编码所需的生成比特(诸如,预测模式信息、变换信息和变换系数信息)的数量,来按照生成最少比特数的模式对当前子块进行编码。
另选地,通过使用上述方法来对位于输入图像内的子块进行编码。对于位于输入图像外部的子块,仅考虑对待编码块进行编码所需的比特数,来确定是帧内预测模式还是帧间预测模式(即,关于基准图片和运动矢量的信息)。另外,关于所确定的模式的信息被编码成比特流,并且在生成重建块时,通过使用对输入图像进行填充的方法来重建每个块。也就是说,当对输入图像进行填充时,如果通过将128的像素值插入到位于输入图像的边界之外的部分中来实现填充,则位于输入图像外部的子块的重建块内的所有像素值是128。
另外,可以通过使用上述方法来对位于输入图像内的子块进行编码,并且诸如位于输入图像外部的子块的预测信息、变换信息或变换系数信息的数据可以被编码成比特流,并且可以通过使用对输入图像进行填充的方法来在生成重建块时重建每个块。
对包括宏块内的位于输入图像的边界之外的部分(块)的宏块进行编码的上述方法可以与常规的编码方法组合起来使用。
图8是示出根据本发明的另一方面的视频解码方法的流程图。
首先,在步骤S802中,视频解码装置通过使用与编码装置一致的方法来设置一个或更多个可用宏块尺寸。当通过从比特流中提取的信息确定可用宏块尺寸时,从诸如序列头、图片头、片段头或宏块头的与编码装置一致的位置提取对应的信息,然后将该信息解码,以设置可用宏块尺寸。
另选地,在通过变换或预测中使用的子块类型来确定可用宏块尺寸时,按照与编码装置一致的方法,在解码装置中自动设置关于可用宏块尺寸的信息。
在从比特流中提取序列头和宏块头并且进行解码之后,在步骤S804中,通过使用与编码装置一致的方法来设置可用宏块尺寸和形状,并且通过使用分配至输入图像内的当前用于解码的宏块的数量来计算当前用于解码的宏块的位置。
当在步骤S806中当前待解码的宏块完全位于输入图像内或者该宏块没有完全位于输入图像内并且等于或大于宏块的1/2的区域与输入图像交叠时,在步骤S808中,从比特流中提取经编码的宏块数据并进行解码,并且通过使用经解码的宏块数据来对该宏块执行解码。
当在步骤S806中当前待解码的宏块没有完全位于输入图像和预定区域内(例如,小于宏块的1/2的区域与输入图像交叠)时,通过上述方法重设宏块尺寸,然后判定具有重设的尺寸的当前宏块有多少与输入图像交叠。随后,在步骤S810中,重设宏块尺寸或者对具有当前设置的尺寸的宏块进行解码。
下文中,将描述用于以块为单位对图像进行编码和解码的装置的示例。在此,块可以是尺寸为M×N(然而,M和N可以是等于或大于16的整数)的宏块或者尺寸为O×P(然而,O和P是等于或小于M或N的整数)的较小块或子块。以块为单位对图像进行编码和解码仅出于示例目的,并且可以按典型区域(如,块)为单位或者按非典型形成的区域为单位,来对图像执行编码和解码。然而,随后将描述的视频编码/解码装置可以使用具有任意尺寸的块,并且块尺寸在视频编码装置与视频解码装置之间一致。
图9是示意性示出根据本发明的方面的视频编码装置的框图。
根据本发明的方面的视频编码装置对应于通过使用尺寸大于16×16的尺寸的宏块来对图像进行编码的装置,并且可以包括宏块尺寸设置单元902、预测器903、编码器910、重建单元912、滤波器914和帧存储器916。在此,根据实施方式,可以选择性地在剩余组件中省略或包括重建单元912、滤波器914和帧存储器916。
在当前待编码的宏块没有完全位于输入图像内时,宏块尺寸设置单元902重设宏块尺寸。
仅在当前待编码的宏块没有完全位于输入图像内时,可以通过按照预定比率减小当前宏块的水平尺寸和垂直尺寸,例如,通过对当前宏块重复进行1/2尺寸减小来重设宏块尺寸,或者可以将宏块尺寸重设为可用宏块尺寸中的使得宏块能够位于输入图像内的最大尺寸。
另选地,在当前待编码的宏块没有完全位于作为预定区域的输入图像内(例如,小于宏块的1/2的区域与输入图像交叠)时,可以通过上述方法来重设宏块尺寸。
预测器903可以包括运动估计器904、运动补偿器906和帧内预测单元908,并预测输入图像的宏块。在此,宏块是指尺寸等于或大于16×16的宏块(或者尺寸为M×N的宏块,其中,M和N是等于或大于16的整数)。
运动估计器904将待预测的宏块与存储在帧存储器中的基准图片进行比较,以估计对应宏块的运动并由此生成运动矢量。
运动补偿器906参照由运动估计器904生成的运动矢量,从存储在帧存储器中的基准图片得到与待预测宏块的尺寸对应的块数量。通过运动补偿器906得到的宏块变成具有待预测宏块的预测值的预测宏块。
帧内预测单元908对待预测宏块执行帧内预测。为此,帧内预测单元908通过使用关于已经编码和解码的重建的邻近像素的信息来产生基准块,将基准块与待编码的目标宏块进行比较以确定帧内预测模式,并且根据所确定的内部预测模式来对宏块执行帧内预测。由帧内预测单元908预测的宏块变成具有目标宏块的预测值的预测宏块。
编码器910对与目标宏块的像素值和预测宏块的像素值之间的差对应的残留信号进行编码,并且通过对残留信号进行变换、量化和熵编码来执行编码。另外,当编码器908对待编码的宏块执行帧间预测时,编码器908可以对关于宏块模式的信息(诸如,宏块尺寸)和运动信息(诸如,运动估计器904产生的运动矢量)进行编码。当编码器908对待编码的目标宏块执行帧间预测时,编码器908可以对关于宏块模式的信息(诸如,宏块尺寸)和关于预测模式的信息(诸如,帧内预测模式)进行编码。
重建单元912对经变换和量化的残留信号执行逆量化和逆变换,并且将其与从预测器输出的预测宏块相加,以重建目标宏块。
滤波器914通过使用诸如去块滤波器的滤波器来对重建的宏块进行滤波。经滤波的重建宏块存储在帧存储器916中并被预测器903用于预测后续宏块或后续图片的宏块。
图10是示意性示出根据本发明的方面的视频解码装置的框图。
根据本发明的方面的视频解码装置可以包括宏块尺寸设置单元1001、解码器1002、预测器1003、重建单元1008、滤波器1010和帧存储器1012。
宏块尺寸设置单元1001通过使用相同宏块的数量来得到当前待解码的目标宏块的位置,并且在待解码的宏块没有完全位于输入图像中时,宏块尺寸设置单元1001重设宏块的尺寸。在这种情况下,可以通过加法计算(每次将解码器内部解码的宏块计数递增一)来得到宏块数量,并且可以通过从比特流中的序列头进行提取来获取输入图像的尺寸,之后进行解码。
仅在当前待解码的宏块没有完全位于输入图像内时,可以按照预定比率(例如,通过对初始宏块的尺寸重复进行1/2减小)来重设宏块尺寸,或者可以将宏块尺寸重设为可用宏块尺寸之中的使得宏块能够位于输入图像内的最大尺寸。
另选地,在当前待解码的宏块没有完全位于作为预定区域的输入图像内时,例如,小于宏块的1/2的区域与输入图像交叠时,可以通过上述方法来重设宏块尺寸。
解码器1002从输入的比特流中提取对宏块进行解码所需的三种信息。
首先,对关于宏块类型的信息(其表示当前待解码的宏块是帧间宏块还是帧内宏块)和关于子块模式的信息(其表示宏块的子块模式)进行熵解码,随后提取这些信息。
其次,对进行预测所需的信息进行熵解码,随后提取该信息。在这种情况下,待解码的预测数据的类型和对该预测数据进行解码的方法根据各个宏块是帧内块还是帧间块而变化。当待重建块是帧间宏块时,从比特流中提取对相应子块的运动进行补偿所需的基准图片信息和运动信息(诸如,运动矢量),然后对这些信息进行解码。当待重建块是帧内块时,从比特流中提取关于亮度分量和色度分量的帧内预测模式的信息,然后对该信息进行解码。
最后,对残留信号进行解码所需的信息被解码。初始地对指示每个子块(针对该每个子块对指示变换类型和经量化的变换系数的变换信息进行解码)中是否存在不为“0”的变换系数的信息(例如,CBP)执行解码。
在这种情况下,当解码装置没有将宏块内的位于输入图像的边界之外的块的数据编码成比特流时,解码器1002计算宏块内的相应子块的位置,并判定当前子块是否位于输入图像的边界之外。当这些子块位于输入图像的边界之外时,不需要对关于子块模式的信息、进行预测所需的信息和对残留信号进行解码所需的信息执行解码(即,解码装置既不从比特流中进行提取也不执行解码,因为编码装置没有执行编码成比特流的步骤)。
预测器1003预测当前待解码的块并且可以包括运动补偿器1004和帧内预测单元1006。在当前块是帧间块时,运动补偿器1004从存储在帧存储器中的基准图片获取与当前宏块尺寸对应的数量的像素,并且通过使用由解码器1002进行解码而重建的运动矢量来产生预测宏块。在当前块是帧内块时,帧内预测单元1006根据由解码器1002进行解码而重建的帧内预测模式来预测当前宏块并产生预测宏块。
当解码装置使用上述方法对宏块内的图像边界上的边界线块进行解码(其中,仅考虑必要的比特数来判定是帧内预测模式还是帧间预测模式(即,关于运动矢量和基准图片的信息),并且将关于所确定的模式的信息编码成比特流,之后通过使用在产生重建块时填充输入图像的方法来重建各个块)时,预测器1006计算宏块内各个子块的位置并且判定是否存在当前块的边界线情况,其中,不考虑从比特流中提取的模式信息,而是采用利用编码装置预先设置的填充方法来产生预测块。
另外,即使当编码装置没有将宏块内的边界线块的数据编码成比特流时,判定当前子块是否位于输入图像的边界之外,并且针对边界线子块使用与编码装置一致的填充方法来产生预测块。
重建单元1008对由解码装置解码的经量化的变换系数进行逆量化,将该变换系数从解码器1002中提取出来,通过使用重建的变换类型对经过逆量化的变换系数进行逆变换以生成残留信号,将所产生的残留信号与由预测器产生的宏块相加,并且产生重建的宏块。所产生的重建宏块在滤波器1010中滤波,存储在帧存储器1012中,并且用于重建后续宏块或图片。
当编码装置使用上述方法对宏块内的图像边界上的边界线块进行编码(其中,仅考虑必要的比特数来判定是帧内预测模式还是帧间预测模式(即,关于运动矢量和基准图片的信息),并且将关于所确定的模式的信息编码成比特流,之后通过使用在产生重建块时填充输入图像的方法来重建各个块)时,或者当编码装置跳过将宏块内的边界线块的数据编码成比特流的步骤时,判定是否存在当前块的边界线情况,其中采用利用编码装置预先设置的填充方法来产生预测块并且最终产生重建块(即,考虑到没有残留信号)。
对包括宏块内的位于输入图像的边界之外的部分(块)的宏块进行解码的上述方法可以与常规的解码方法组合使用。
在上面的描述中,尽管本发明的多个实施方式的全部组件可以被解释为装配为或可操作地连接为一个单元,但是本发明并非旨在将其本身限于这些实施方式。确切地讲,在本发明的目标范围内,相应组件可以选择性地且可操作地按任何数量组合。每个组件本身还可以按硬件来实现,同时可以将相应组件部分地或者作为整体选择性地组合并且采用具有用于执行硬件等同物的功能的程序模块的计算机程序来实现。本领域技术人员可以容易地推断用于构成这种程序的代码或代码段。该计算机程序可以存储在计算机可读介质中,其在操作时可以实现本发明的方面。作为计算机可读介质,候选物包括磁记录介质、光记录介质,以及载波介质。
另外,例如“包括”、“包含”以及“具有”的术语应当默认地解释为是包含的或者开放的,而非排它的或封闭的,除非另有指明。所有技术的、科学的等术语都与本领域技术人员所理解的含义一致,除非另有说明。在词典中找到的普通术语应当在相关技术内容背景下被解释为不是太理想化或者非实用,除非本发明直接将它们限定为如此。
尽管出于例示性目的已经描述了本发明的示例性方面,但是本领域技术人员应当清楚,在不脱离本发明的基本特征的情况下,可以进行各种修改、添加以及替换。因此,本发明的示例性方面并非出于限制性目的而进行了描述。因此,本发明的范围并非通过上述方面而是通过权利要求书及其等同物来限制。
工业应用性
如上所述,本发明的方面在输入图像的尺寸不是宏块的预定尺寸的整数倍时,通过使用具有可变尺寸的宏块来对输入图像的外部区域进行编码和解码。结果,本发明对于改进压缩效率和重建效率非常有用。
相关申请的交叉引用
如果可应用,则本申请要求在韩国于2009年10月21日提交的专利申请No.10-2009-0100443、2010年4月16日提交的专利申请No.10-2010-0035446、2010年4月16日提交的专利申请No.10-2010-0035456、2010年4月16日提交的专利申请No.10-2010-0035536和2010年10月21日提交的专利申请No.10-2010-0103075在35U.S.C§119(a)下的优先权,通过引用将这些专利申请的全部内容并入本文。另外,该非临时申请基于这些韩国专利申请,以相同理由要求保护在除美国以外的其它国家的优先权,通过引用将这些专利申请的全部内容并入本文。