图像编码器和图像解码器的制作方法

文档序号:7520794阅读:198来源:国知局

专利名称::图像编码器和图像解码器的制作方法
技术领域
:根据本发明的实施方式涉及图像/视频编码或解码,具体地,涉及图像编码器和图像解码器以及提供编码图像数据的方法和解码图像数据的方法。
背景技术
:人眼能适应约100,0001的范围上单张视图中的亮度,并且能够区分给定亮度的约10,000种颜色。不同的是,普通计算机显示器具有小于1001的亮度范围并且覆盖约一半的可见色谱。除了该区别外,大多数数字图像格式根据传统显示器的能力设置,而非人类视觉的特性。近年来,人们对包括采集和同步的高动态范围(HDR)图像研究的兴趣增加,这允许扩展处理和更高精度的显示方法。HDR图像储存画面参考图像(例如,“Krawczyk,G.,Myszkowski,K.,andSeideI,H.-P.2005,,Perceptualeffectsinreal-timetonemapping.,,InSCCG,05:Proc.Ofthe21stSpringConferenceonComputerGraphics,195.202.”)而不是显示参考图像。该图像可覆盖从微弱的星光(10_6cd/m2)到明亮的日光(108Cd/m2)的动态范围。眼睛可同时感知五个量级,也就是100,000:1的动态范围。为了适应这种高动态范围,最通常使用的HDR图像格式(例如,openEXR)以每个像素三个浮点数的方式储存图像。Logluv变换法(例如,“Larson,G.W.,“OvercomingGamutandDynamicRangeLimitationsinDigitalImages,”ProceedingsoftheSixthColorImagingConference,November1998”,“N.Adami,M.Okuda,“EffectivecolorspacerepresentationforwaveletbasedcompressionofHDRimages,”InternationalConferenceonImageAnalysisandProcessing,Modena(2007),,,“D.Springer,A.Kaup,“LossyCompressionofFloatingPointHighDynamicRangeImagesJPEG2000,,,“InternationalConferenceonImageAnalysisandProcessing,Modena(2007),,)将浮点像素变换成整数像素。该方案首先将浮点RGB值变换成装置无关的XYZ颜色空间。接着将XYZ颜色空间变换成整数Logluv颜色空间。对于亮度信道,使用基于对数的变换。对于颜色信道,使用CIEuv表征形式。
发明内容本发明的目的是提供一种用于图像或视频的改进构思,能够增强图像质量和/或减少所需要的编码图像数据量。通过根据权利要求I的图像编码器,根据权利要求7的图像解码器,根据权利要求11的用于提供编码图像数据的方法或根据权利要求12用于对图像数据解码的方法实现该目的。本发明的实施方式提供了一种图像编码器,包括极值确定器、浮点-到-整数转换器和编码器。极值确定器被配置为确定图像的一部分、图像或一组图像中每个像素的浮点图像值的最小值和最大值。此外,浮点-到-整数转换器被配置为将每个像素的浮点图像值映射到整数图像值。每个整数图像值位于整数图像值的预定范围内。所确定的最小浮点值被映射到整数图像值的预定范围的最小整数图像值并且所确定的最大浮点值被映射到整数图像值的预定范围的最大整数图像值。此外,编码器被配置为对每个像素的整数图像值编码以获得并提供该图像的一部分、该图像,或该一组图像的编码图像数据。根据本发明的实施方式基于以下中心思想浮点到整数转换适应图像的一部分、图像或一组图像内的像素的浮点值的分布。换言之,浮点值的范围被映射到整数值的范围,通过这种方式,整数值的范围可动态适应浮点值的范围。通过这种方式,相比于使用静态映射的构思,如果浮点值仅分布在窄浮点值范围上,那么可达到更好的分辨率。通过增强浮点到整数转换的分辨率,可显著提高具有窄浮点值分布的图像的图像质量。此外,与使用静态映射的构思相比,对于为具有窄浮点值分布的图像提供增强的分辨率,需要减少的图像数据量,因为这些已知的方法需要为整个允许范围的浮点值提供高分辨率,这将显著增加需图像数据的量。本发明的另一个实施例提供了一种图像解码器,包括解码器和整数-到-浮点转换器。解码器被配置为对接收到的编码图像数据解码以获得图像的一部分、图像或一组图像中每个像素的整数图像值,并获得图像的一部分、图像或一组图像的变换参数。此外,整数-到-浮点转换器被配置为基于该变换参数将每个像素的整数图像值映射到浮点图像值,其中每个浮点图像值位于浮点图像值的范围内,其中,浮点图像值的范围取决于变换参数。图像解码器基于与所述的图像编码器相同的中心思想。整数图像值的范围适应原图像的浮点值的范围。因此,编码图像数据包含变换参数以考虑整数图像值的范围和浮点图像值的范围之间的动态关系。因此,相比于使用静态映射的构思,如果浮点值仅分布在窄浮点值范围上,那么可达到更好的分辨率。通过增强浮点到整数转换的分辨率,可显著提高具有窄浮点值分布的图像的图像质量。在根据本发明的一些实施方式中,每个像素的浮点图像值和每个像素的整数图像值代表每个像素的亮度值。通常图像的部分、图像或一组图像包含具有与可能的亮度值范围相比窄范围内的亮度值的像素。因此,整数值的范围对浮点亮度值的自适应可显著提高分辨率,其中,没有增加图像数据的量。根据本发明的一些实施方式涉及确定每个像素的浮点值的对数值,使得浮点值对数分布在整个整数值的范围上。通过对数映射,可更精确的考虑人的视觉。将参照附图按顺序详细描述根据本发明的实施方式,其中图I是图像编码器的方框图;图2是图像编码器的方框图;图3是图像解码器的方框图;图4是图像解码器的方框图;图5是图像编码器和图像解码器的方框图6a是在非自适应变换后图像的亮度的柱状示意图;图6b是在自适应变换后图像的亮度的柱状示意图;图7是用于提供编码图像数据的方法的流程图;以及图8是用于对图像数据解码的方法的流程图。具体实施例方式在下文中,相同的参考数字被部分用于具有相同或相似功能特性的对象和功能单元,其参照附图的说明也适用于其它附图,从而减少对实施方式说明的赘述。图I示出了根据本发明实施方式的图像编码器100的方框图。图像编码器100包括极值确定器110、浮点-到-整数转换器120和编码器130。极值确定器110被连接至浮点-到-整数转换器120,浮点-到-整数转换器120被连接至编码器130。极值确定器110确定图像的一部分、图像或一组图像中每个像素的浮点图像值102的最小值112和最大值114。此外,浮点-到-整数转换器120将每个像素的浮点图像值102映射到整数图像值122,其中每个整数图像值122位于整数图像值的预定范围内。所确定的最小浮点值112被映射到整数图像值的预定范围的最小整数图像值,所确定的最大浮点值114被映射到整数图像值的预定范围的最大整数图像值。此外,编码器130对每个像素的整数图像值122编码以获得并提供图像的一部分、图像或一组图像的编码图像数据132。浮点图像值的最小值112和最大值114限定浮点图像值的范围。图像的一部分、图像或一组图像中所有像素的浮点图像值位于浮点图像值的该范围内。通过将最小浮点值112分配给整数图像值的预定范围的最小整数图像值并且将最大浮点值114分配给整数图像值的预定范围的最大整数图像值,浮点值的该范围被映射到整数图像值的范围。通过这种方式,浮点图像值的变化范围可被映射到图像的一部分、图像或一组图像的整数图像值的恒定的预定范围。例如,整数图像值的预定范围可达到从0到255、从0到1024、从0到4096或甚至更大(从0开始不是强制性的)。换言之,位于整数图像值的预定范围内的整数图像值可以是,例如,8比特、9比特、10比特、12比特或14比特(或甚至更大)的整数值。通过使用所描述的构思,可实现更好的分辨率。通过提高浮点到整数变换的分辨率,可显著提高具有窄浮点值分布的图像的图像质量。此外,与使用静态映射的构思相比,对于为具有窄浮点值分布的图像提供增强的分辨率,需要减少的图像数据量,因为这些已知的方法需要为整个允许范围的浮点图像值提供高分辨率,这将显著增加需要图像数据的量。例如,图像的可能允许的浮点图像值可达到从0到10,000,但图像的像素仅包括从7000到8000的浮点图像值。那么能够确定最小值7000和最大值8000。因此,根据所描述的构思,仅7000和8000之间的浮点值将被映射到整数图像值的范围,该整数图像值的范围,例如,可达到从0到1000。相比之下,已知的方法将可能的浮点图像值的整个范围,SP从0到10,000映射到整数图像值的范围。因此,对于该实例,所描述的构思可达到的分辨率将比已知方法的分辨率高十倍。使用已知的静态映射提供相同的分辨率需要十倍更大的整数图像值的范围,因此还需要增大的图像数据量。浮点图像值可以是任意浮点颜色空间参数,例如,RGB颜色空间(红,绿,蓝)参数,CMY颜色空间(青,品红,黄)参数,CMYK颜色空间(青,品红,黄,黑)参数,CIE-XYZ颜色空间(CIE,国际照明委员会)参数,或CIE-Luv颜色空间参数。整数图像值可以是颜色空间的任意整数颜色空间参数。例如,整数图像值可以是还可由浮点图像值表征的颜色空间的整数颜色空间参数。编码器130可以是,例如,熵编码器、差分编码器、MPEG-编码器H.262或H.264-编码器。极值确定器110、浮点-到-整数转换器120和编码器130可以是独立的硬件单元,数字信号处理器的部分、微控制器或计算机或在计算机或微控制器上运行的计算机程序或软件产品。极值确定器110可确定图像的每部分、一组图像中的每个图像或图像序列或视频中的每组图像的最小值112和最大值114。通过这种方式,浮点图像值的范围可自动适应整数图像值的范围。所以,对于图像的每部分,对于每个图像或对于每组图像,浮点图像值的分辨率可被最佳化。对于视频,图像还可被称为帧。在根据本发明的一些实施方式中,浮点-到-整数转换器120可为图像的一部分、图像或一组图像计算至少一个变换参数。变换参数可指示浮点图像值的范围和整数图像值的范围之间的关系(link)。因此,可基于所确定的最小浮点值和所确定的最大浮点值计算变换参数。接着,可基于变换参数对图像的一部分、图像或一组图像中的每个像素的浮点图像值102进行映射。此外,变换参数可被提供给图像的一部分、图像或一组图像的编码图像数据132。通过这种方式,图像解码器可使用变换参数与每个像素的整数图像值相结合重建图像。根据另一个方面,浮点-到-整数转换器120可确定每个像素的浮点图像值的对数值,并且将对数浮点图像值映射到整数图像值,使得浮点图像值对数分布在整个整数图像值的范围上。为此,所确定的最小值可以是浮点图像值的最小正值。通过对浮点图像值相对于整数图像值的范围的分布使用的对数标度,可更好的考虑人的视觉,所以可提高人感知的可实现质量。可替换的,每个像素的浮点图像值当然还可以在没有确定对数值的情况下以非对数方式映射到整数图像值。在根据本发明的一些实施方式中,每个像素的浮点图像值表示每个像素的亮度值。由于图像的一部分、图像或一组图像的像素的亮度值通常被限制于受限范围的值,对于浮点亮度图像,浮点图像值的范围到整数图像值的范围的映射的自适应可使得分辨率显著提闻。此外,除了所述浮点亮度图像值,每个像素可包括,例如,由CIE-XYZ颜色空间或CIE-Luv颜色空间定义的双浮点色度图像值。此外,图像编码器还可包括颜色空间转换器,颜色空间转换器用于将一个颜色空间的颜色空间参数变换为另一个颜色空间的颜色空间参数。图2示出了根据本发明实施方式的图像编码器200的方框图。图像编码器200与图I中所示的编码器相似,但额外包括颜色空间转换器210。颜色空间转换器210被连接至极值确定器110和浮点-到-整数转换器120。颜色空间转换器210可将任意颜色空间的颜色空间参数202变换为任意其它颜色空间的颜色空间参数。例如,颜色空间转换器210可将与装置有关的浮点图像数据202(例如,RGB颜色空间参数或CMYK颜色空间参数)变换成与装置无关的浮点图像数据102(例如,CIE-XYZ颜色空间参数或CIE-Luv颜色空间参数)。在该实例中,与装置有关的浮点图像数据可包括用于每个像素的三个浮点参数的值,与装置无关的浮点图像数据可包括用于每个像素的浮点亮度图像值和两个浮点色度图像值。例如,可将根据所提出的构思的自适应映射应用到全部三个颜色空间参数或仅应用到浮点亮度图像值。颜色空间转换器210可将浮点颜色空间参数提供给极值确定器110和浮点-到-整数转换器120,从而可实现根据所描述的构思的自适应浮点-到-整数映射或转换。图3示出了根据本发明实施方式的图像解码器300的方框图。图像解码器300包括被连接至整数-到-浮点转换器320的解码器310。解码器310对接收到的编码图像数据302解码以获得图像的一部分、图像或一组图像的整数图像值312,并获得图像的一部分、图像或一组图像的变换(transform)参数314。此外,整数-到-浮点转换器320基于变换参数314将每个像素的整数图像值312映射到浮点图像值322。每个浮点图像值322位于浮点图像值的范围内,浮点图像值的范围取决于变换参数314。整数-到-浮点转换器320将整数图像值的范围映射到浮点图像值的范围。由于浮点图像值的范围取决于变换参数314并且可以在不同的图像部分、图像或图像组之间变化,映射的分辨率可适合图像的一部分、图像或一组图像包含的浮点图像值的范围。通过这种方式,可更加高效的利用有限范围的整数图像值。尤其是具有窄浮点图像值范围的图像的一部分、图像或图像组可通过相对较低的图像数据量达到浮点图像值的高分辨率。如已针对图像编码器所作的描述,每个像素的整数图像值可以是颜色空间的颜色空间参数(例如,CIE-Luv颜色空间的亮度参数)并且浮点图像值可以是颜色空间的相应浮点颜色空间参数(例如,CIE-XYZ颜色空间的Y分量)。变换参数314可限定像素的整数图像值的范围和像素的浮点图像值的范围之间的关系。例如,可通过上面所述的图像编码器确定变换参数314。接收到的编码图像数据302可包含用于将整数图像值312映射到浮点图像值322的多于一个的变换参数314。解码器310和整数-到-浮点转换器320可以是独立的硬件单元、数字信号处理器的部分、计算机或微控制器或在计算机或微控制器上运行的计算机程序或软件产品。如针对图像编码器所作的描述,整数图像值可表示对数值。这可通过整数-到-浮点转换器320考虑。换言之,整数-到-浮点转换器320可通过考虑指数内的整数图像值将每个像素的整数图像值映射到浮点图像值。此外,根据图像编码器的描述,每个像素的整数图像值可表示,例如,每个像素的亮度值。在该实例中,整数-到-浮点转换器320可将这些整数亮度图像值映射到浮点亮度图像值。根据另一个方面,对于每个像素,图像数据302可包括多于一个的整数图像值。例如,对于每个像素,图像数据302可包括表示颜色空间(例如,CIE-Luv颜色空间)的三个颜色空间参数的三个整数图像值。这些整数颜色空间参数中的至少一个的整数图像值到浮点图像值的映射在某种程度上取决于变换参数,浮点图像值的范围取决于变换参数。例如,获得表示CIE-Luv颜色空间的参数的图像值,可以以根据所描述的构思的自适应方式映射亮度参数,而可以以非自适应方式映射色度参数(u和V)。此外,图像解码器可包括颜色空间转换器,颜色空间转换器用于将一个颜色空间的颜色空间参数(例如,浮点图像值)变换为另一个颜色空间的颜色空间参数。图4示出了根据本发明实施方式的图像解码器400的方框图。图像解码器400与图3中所示的解码器相似,但额外包括颜色空间转换器410。整数-到-浮点转换器320被连接至该颜色空间转换器410。颜色空间转换器410可将任意颜色空间的颜色空间参数322变换为任意其它颜色空间的颜色空间参数。例如,颜色空间转换器410可将与装置无关的浮点图像数据(例如,CIE-Luv颜色空间或CIE-XYZ颜色空间的颜色空间参数)变换为与装置有关的浮点图像数据(例如,RGB颜色空间或CMYK颜色空间的颜色空间参数)。例如,对于每个像素,与装置无关的浮点图像数据可包括浮点亮度图像值和两个浮点色度图像值,其可被变换为与装置有关的浮点图像数据中每个像素的三个浮点参数。图5示出了根据本发明实施方式的图像编码器500和相应的图像解码器550的方框图。在该实例中,图像编码器500包括连接至H.264编码器130的LogLuv变换器510。LogLuv变换器510包括极值确定器、浮点-到-整数转换器和颜色空间转换器。在该实例中,LogLuv变换器510接收高动态范围图像数据202。例如,可以以辐射HDR格式(radianceHDRformat)、可移植浮点映射(portablefloatmap)、TIFF格式(标记图像文件格式)或openEXR格式(例如,RGB4:4:4)提供高动态范围图像数据202。除了整数图像值122,LogLuv变换器510可提供三个变换参数314(a,b,C)。变换参数314可与整数图像值122—起被编码,或可通过不与编码图像数据132—起编码的方式提供。图像解码器550包括连接至逆LogLuv变换器的H.264解码器310。逆LogLuv变换器包括整数-到-浮点转换器320和颜色空间转换器410。逆LogLuv变转换器接收解码的浮点图像值312和三个变换参数314(a,b,c)。基于解码的浮点图像值和变换参数314,在该实例中,逆LogLuv变换器为每个像素提供表示高动态范围图像数据的与装置有关的三个浮点参数。高动态范围图像数据可以以与图像编码器500的输入数据相同的格式(例如,RGB4:4:4)或其它提到的格式提供。在下文中,将根据图5中示出的提出方案,解释通过根据所描述的构思的图像编码器或图像解码器进行的映射或变换的更详细实例。在该实例中,输入图像数据作为RGB数据提供。该RGB浮点值可被变换到与装置无关的XYZ颜色空间。接着找到成组帧、帧或部分帧中可得到的亮度的最小和最大值。这些值接着被用于将浮点亮度值映射为整数值,例如,通过下面的等式。对于图像数据的编码,也被称为正向变换,可使用下面的等式'Xl「0.4970.3390.164ji'Y=0.2560.6780.066GZjL0-0230.1130.864JL5「nIYx=-v=-X+Y+ZX+Y+Z权利要求1.图像编码器(100,200,500),包括极值确定器(110),被配置为确定图像的一部分、图像或一组图像中每个像素的浮点图像值(102)的最小值(112)和最大值(114),其中每个像素的所述浮点图像值代表每个像素的亮度值;浮点-到-整数转换器(120),被配置为将每个像素的所述浮点图像值(102)映射到整数图像值(122),其中,每个整数图像值(102)位于整数图像值的预定范围内,其中,所确定的最小浮点图像值(112)被映射到整数图像值的所述预定范围的最小整数图像值,所确定的最大浮点图像值(114)被映射到整数图像值的所述预定范围的最大整数图像值;以及编码器(130),被配置为对每个像素的所述整数图像值(122)编码以获得并提供所述图像的一部分、所述图像或所述一组图像的编码图像数据(132)。2.根据权利要求I所述的图像编码器,其中,所述极值确定器(110)被配置为确定图像的每部分、一组图像中每个图像或图像序列中每组图像的最小值(112)和最大值(114)。3.根据权利要求I或2所述的图像编码器,其中,所述浮点-到-整数转换器(120)被配置为基于所确定的最小浮点值(112)和所确定的最大浮点值(114)计算用于所述图像的一部分、所述图像或所述一组图像的至少一个变换参数,其中,基于所述变换参数映射所述图像的一部分、所述图像或所述一组图像中每个像素的浮点值(102),其中所述变换参数被提供给所述图像的一部、所述图像或所述一组图像的所述编码图像数据(132)。4.根据权利要求I至3中任一项所述的编码器,其中,所述浮点-到-整数转换器(120)被配置为确定每个像素的所述浮点图像值(102)的对数值,并且被配置为将对数浮点图像值映射到所述整数图像值,使得所述浮点图像值对数分布在整个所述整数图像值的范围上,其中,所确定的所述最小值(112)是所述浮点图像值的最小正值。5.根据权利要求I至4中任一项所述的编码器,包括颜色空间转换器(210),所述颜色空间转换器(210)被配置为将与装置有关的浮点图像数据变换成与装置无关的浮点图像数据,其中,所述与装置有关的浮点图像数据包括用于每个像素的三个浮点参数的值,所述与装置无关的浮点图像数据包括用于每个像素的浮点亮度图像值(102)和两个浮点色度图像值。6.根据权利要求I至5中任一项所述的编码器,包括颜色空间转换器(210),所述颜色空间转换器(210)被配置为基于每个像素的RGB数据(202)根据以下等式计算用于每个像素的浮点亮度图像值(Y)和两个浮点色度图像值(x,y)7.图像解码器(300,400,550),包括解码器(310),被配置为对接收到的编码图像数据(302)解码以获得图像的一部分、图像或一组图像中每个像素的整数图像值(312),并获得所述图像的一部分、所述图像或所述一组图像的变换参数(314),其中,每个像素的所述整数图像值代表每个像素的亮度值;以及整数-到-浮点转换器(320),被配置为基于所述变换参数(314)将每个像素的所述整数图像值(312)映射到浮点图像值(322),其中,每个浮点图像值(322)位于浮点图像值的范围内,其中,所述浮点图像值的所述范围取决于所述变换参数(314)。8.根据权利要求7所述的图像解码器,其中,所述整数-到-浮点转换器(320)被配置为基于求幂确定用于每个像素的浮点图像值,其中所述求幂的指数基于所述像素的相应的整数图像值(312)和所述图像的一部分、所述图像或所述一组图像的变换参数(314)。9.根据权利要求7或8所述的设备,包括颜色空间转换器(410),所述颜色空间转换器(410)被配置为将与装置无关的浮点图像数据(322)变换为与装置有关的浮点图像数据(412),其中所述与装置无关的浮点图像数据(322)包括用于每个像素的浮点亮度图像值(322)和两个浮点色度图像值,并且所述与装置有关的浮点图像数据(412)包括用于每个像素的三个浮点参数的值。10.根据权利要求7至9中任一项所述的图像解码器,包括颜色空间转换器(410),其中,所述整数-到-浮点转换器(320)被配置为根据以下等式确定用于每个像素的浮点亮度图像值(Y,322)11.用于提供编码图像数据的方法(700),包括确定(710)图像的一部分、图像或一组图像中每个像素的浮点图像值的最小值和最大值,其中,每个像素的所述浮点图像值代表每个像素的亮度值;将每个像素的所述浮点图像值映射(720)到整数图像值,其中每个整数图像值位于整数图像值的预定范围内,其中所确定的最小浮点图像值被映射到整数图像值的所述预定范围的最小整数图像值,所确定的最大浮点图像值被映射到整数图像值的所述预定范围的最大整数图像值;对每个像素的所述整数图像值编码(730)以获得所述图像的一部分、所述图像或所述一组图像的编码图像数据;以及提供(740)所述编码图像数据。12.用于对图像数据解码的方法(800),包括对接收到的编码图像数据解码(810)以获得图像的一部分、图像或一组图像中每个像素的整数图像值,并且获得所述图像的一部分、所述图像或所述一组图像的变换参数,其中,每个像素的整数图像值代表每个像素的亮度值;以及基于所述变换参数将每个像素的所述整数图像值映射(820)到浮点图像值,其中,每个浮点图像值位于浮点图像值的范围内,其中,所述浮点图像值的所述范围取决于所述变换参数。13.计算机程序,所述计算机程序具有当在计算机或微控制器上运行所述计算机程序时执行根据权利要求11或12所述的方法的程序代码。全文摘要图像编码器包括极值确定器、浮点-到-整数转换器和编码器。极值确定器确定图像的一部分、图像或一组图像中每个像素的浮点图像值的最小值和最大值。浮点-到-整数转换器将每个像素的浮点图像值映射到整数图像值,其中每个整数图像值位于整数图像值的预定范围内。所确定的最小浮点值被映射到整数图像值的预定范围的最小整数图像值,并且所确定的最大浮点值被映射到整数图像值的预定范围的最大整数图像值。此外,编码器被配置为对每个像素的整数图像值编码以获得并提供图像的一部分、图像或一组图像的编码图像数据。文档编号H03M7/30GK102812705SQ201080065603公开日2012年12月5日申请日期2010年12月30日优先权日2010年1月19日发明者赫伯特·托马,阿杰特·莫特拉申请人:弗兰霍菲尔运输应用研究公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1