基于位预算的图像数据的选择性无损-有损压缩的制作方法

文档序号:7990899阅读:132来源:国知局
基于位预算的图像数据的选择性无损-有损压缩的制作方法
【专利摘要】本发明描述针对数据压缩的技术。在一些实例中,所述技术可实施指示当前图像数据块的可用位预算的基于位预算的方案以实现目标压缩。所述技术可在所述当前图像数据块的压缩之后连续地更新所述位预算以确定下一图像数据块的所述位预算。
【专利说明】基于位预算的图像数据的选择性无损-有损压缩
[0001]本申请案主张2011年7月5日申请的第61 / 504,510号美国临时申请案的权益,所述美国临时申请案的内容以全文应用的方式并入本文。
【技术领域】
[0002]本发明是针对图像数据,且特定来说是针对图像数据的压缩。
【背景技术】
[0003]例如视频解码器和图形处理单元(GPU)等各种单元合成图像帧。举例来说,视频解码器可合成一系列视频图片,其循序地显示以得到平稳的视频重放。GPU可为例如视频游戏等执行的应用程序合成图形内容。相机处理器可合成由相机俘获的图像。图像帧可大体上涉及任何可视内容,例如来自GPU的经合成图形内容、来自视频解码器的视频图片,以及由相机俘获的图像,作为几个实例。
[0004]各种单元可将经合成图像帧输出到帧缓冲器进行存储。举例来说,帧缓冲器可存储图像帧的像素的像素值。显示器可从帧缓冲器接收像素值,且基于像素值将图像帧显示为可视内容。在替代实例中,各种单元可将图像帧输出到显示器,而无需首先将图像帧存储在帧缓冲器中。

【发明内容】

[0005]大体上,本发明是针对用于数据压缩的技术,使得将存储在帧缓冲器中或传输所需的数据量减少。数据压缩技术可为基于预算的压缩方案,其允许不同压缩模式之间的选择或使用不同压缩模式而压缩的经压缩数据之间的选择以实现目标压缩。举例来说,基于预算的压缩方案可连续地更新指示多少位可用于实现目标压缩的位预算。基于当前位预算,基于预算的压缩方案可选择使得数据被压缩到所要水平的特定压缩模式或根据特定压缩模式压缩的经压缩数据。
[0006]在一个实例中,本发明描述一种方法,其包含用压缩单元至少基于先前位预算、先前经压缩块的位数目以及指示保证可用于图像帧的块中的每一者以用于压缩的位数目的经压缩位阈值,来确定所述图像帧的像素值的当前块的当前位预算。所述方法还包含用所述压缩单元对所述当前块执行无损压缩以产生无损经压缩块。所述方法进一步包含当所述无损经压缩块的位数目小于或等于所述当前位预算时,用所述压缩单元输出所述无损经压缩块的位。
[0007]在另一实例中,本发明描述一种系统,其包含经配置以合成图像帧的图像处理器。所述系统还包含压缩单元,所述压缩单元经配置以至少基于先前位预算、先前经压缩块的位数目以及指示保证可用于图像帧的块中的每一者以用于压缩的位数目的经压缩位阈值,来确定所述图像帧的像素值的当前块的当前位预算。所述压缩单元还经配置以对当前块执行无损压缩以产生无损经压缩块,且当所述无损经压缩块的位数目小于或等于当前位预算时,输出无损经压缩块的位。[0008]在另一实例中,本发明描述一种压缩单元,所述压缩单元经配置以接收图像帧,且至少基于先前位预算、先前经压缩块的位数目以及指示保证可用于图像帧的块中的每一者以用于压缩的位数目的经压缩位阈值,来确定所述图像帧的像素值的当前块的当前位预算。所述压缩单元还经配置以对当前块执行无损压缩以产生无损经压缩块,且当所述无损经压缩块的位数目小于或等于当前位预算时,输出无损经压缩块的位。
[0009]在另一实例中,本发明描述一种系统,其包含用于至少基于先前位预算、先前经压缩块的位数目以及指示保证可用于图像帧的块中的每一者以用于压缩的位数目的经压缩位阈值来确定所述图像帧的像素值的当前块的当前位预算的装置。所述系统还包含用于对当前块执行无损压缩以产生无损经压缩块的装置,以及用于当所述无损经压缩块的位数目小于或等于当前位预算时输出无损经压缩块的位的装置。
[0010]在另一实例中,本发明描述一种包含存储于其上的指令的计算机可读存储媒体,所述指令在执行时致使一个或一个以上处理器至少基于先前位预算、先前经压缩块的位数目以及指示保证可用于图像帧的块中的每一者以用于压缩的位数目的经压缩位阈值来确定所述图像帧的像素值的当前块的当前位预算。所述指令还致使所述一个或一个以上处理器对当前块执行无损压缩以产生无损经压缩块,且当所述无损经压缩块的位数目小于或等于当前位预算时,输出无损经压缩块的位。
[0011]在附图和以下描述中陈述本发明的一个或一个以上方面的细节。从描述和图式以及从权利要求书将明了本发明的其它特征、目的和优点。
【专利附图】

【附图说明】
[0012]图1A到ID是图解说明可实施本发明中描述的一个或一个以上实例性技术的系统的框图。
[0013]图2是更详细图解说明图1A到ID的压缩单元的实例的框图。
[0014]图3A和3B是图解说明一维预测的实例的概念图。
[0015]图3C是图解说明二维预测的一个实例的概念图。
[0016]图4是图解说明将执行块固定长度译码(BFLC)的方式的一个实例的概念图。
[0017]图5是图解说明将执行可变长度译码(VLC)的方式的一个实例的概念图。
[0018]图6是图解说明PCM译码器起作用的方式的一个实例的概念图。
[0019]图7是图解说明其中译码模式决策单元可确定图像帧是否为测试模式的实例性方式的流程图。
[0020]图8是图解说明其中译码模式决策单元更新模式数据库的方式的概念图。
[0021]图9是图解说明用于型样模式译码的实例性技术的流程图。
[0022]图10是图解说明型样模式译码器的输出位流的一个实例的概念图。
[0023]图11是更详细图解说明图2的量化器的实例的框图。
[0024]图12是图解说明实例性表条目的表图。
[0025]图13到15是图解说明无损位流的实例的概念图。
[0026]图16和17是图解说明有损位流的实例的概念图。
[0027]图18是图解说明无损压缩单元的实例的框图。
[0028]图19是图解说明有损压缩单元的实例的框图。[0029]图20是图解说明压缩单元的另一实例的框图。
[0030]图21和22是图解说明图像处理器将颜色值传输到压缩单元的实例性方式的框图。
[0031]图23和24是图解说明根据本发明中描述的方面压缩图像帧的结果的概念图。
[0032]图25是图解说明根据本发明中描述的技术的实例性操作的流程图。
[0033]图26是图解说明根据本发明中描述的技术的另一实例性操作的流程图。
【具体实施方式】
[0034]本发明描述一种压缩单元,其接收经合成图像帧的数据(例如,像素值)且压缩数据。通过压缩数据,本发明中描述的技术可减少需要存储在帧缓冲器中的数据量和/或减少需要传输的数据量。换句话说,在无压缩的情况下需要存储在帧缓冲器中和/或传输的数据量可能大于在具有压缩的情况下需要存储在帧缓冲器中和/或传输的数据量。
[0035]作为几个实例,图像帧可为由视频解码器合成的视频内容的图片、由图形处理单元(GPU)合成的图形内容,或由相机俘获且由相机处理器合成的图像。大体上,图像帧可为将在显示器上显示的图像内容的任一实例,包含产生可视内容的执行的应用程序的结果,所述应用程序例如为网络浏览器、游戏、媒体播放器和类似应用程序。
[0036]图像帧可由各自对应于显示器上的一像素的多个像素值界定。而且,合成图像帧的单元(例如,视频解码器、GPU和相机处理器)可共同称为图像处理器。换句话说,图像处理器的实例包含视频解码器、GPU、相机处理器以及合成图像帧供显示的任一其它单元中的一者或一者以上。
[0037]压缩单元可从视频解码器、GPU和相机处理器中的任一者接收经合成图像帧的像素的像素值。像素值中的每一者可由多个数据位表示。举例来说,像素值的一个实例可为颜色值,其包含用于红、绿和蓝(RGB)分量的数据位。作为实例,八个数据位可表示像素的红分量,八个数据位可表示像素的绿分量,且八个数据位可表示蓝分量,得到用于颜色值的总共24个位。
[0038]压缩单元可接收图像帧中的像素中的每一者的像素值的数据位,且应用压缩以使得需要较少的位来表示颜色值。压缩单元可类似地压缩其它类型的像素值,例如不透明度值和坐标,作为两个实例。如本发明中使用,术语“图像数据”可大体上指代像素值的位,且术语“经压缩图像数据”可指代在压缩单元压缩图像数据之后压缩单元的输出。举例来说,经压缩图像数据中的位数目可小于图像数据中的位数目。
[0039]为了压缩图像数据,压缩单元可实施基于预算的压缩方案。压缩单元可对图像帧的整体、图像帧的切片或逐行地实施基于预算的压缩方案。如更详细描述,根据基于预算的压缩方案,压缩单元可连续地更新指示可用于当前像素块的位量的位预算以实现目标压缩。
[0040]在一些实例中,压缩单元可利用各种压缩技术来压缩图像数据,包含无损和有损压缩技术。压缩单元可选择满足当前位预算的压缩技术的输出。在一些其它实例中,压缩单元可确定应将哪一类型的压缩技术应用于图像数据,且基于所确定的压缩技术来压缩图像数据。
[0041 ] 如更详细描述,在一些实例中,压缩单元可偏向于无损压缩超过有损压缩。举例来说,如果利用无损和有损压缩两者均得到满足位预算的经压缩图像数据,那么压缩单元可使用无损压缩来压缩图像数据。无损压缩可允许用解压缩来完全恢复原始图像数据,而在有损压缩的情况下,在解压缩之后经重构图像数据可能不相同于原始图像数据。因此,压缩单元可优选无损压缩超过有损压缩,使得在解压缩期间可完全恢复原始图像数据。
[0042]此外,当执行有损压缩时,压缩单元可执行有损压缩以使得在通过有损压缩而压缩的经压缩图像数据中的位数目保证小于当前位预算。以此方式,如果在无损经压缩图像数据中的位数目大于当前位预算,那么压缩单元可选择有损压缩。因此,压缩单元可经配置以总是输出满足当前位预算的经压缩块。
[0043]图1A到ID是图解说明可实施本发明中描述的一个或一个以上实例性技术的系统的框图。举例来说,图1A到ID分别图解说明系统IOA到10D。在图1A到IC中,系统IOA到IOC包含装置12和面板装置16,且在图1D中,系统IOD包含装置12而无面板装置16。在图1A到ID中,装置12的实例包含(但不限于)例如媒体播放器等视频装置、机顶盒、例如移动电话或所谓的智能电话等无线手持机、个人数字助理(PDA)、桌上型计算机、膝上型计算机、游戏控制台、数码相机、视频会议单元、平板计算装置、个人多媒体播放器和类似装置。在图1A到IC中,面板装置16的实例包含(但不限于)电视机、监视器、液晶显示器(LCD)、有机LED(OLED)、等离子显示器、上文提到的视频装置中的任一者的显示屏,或大体上显示图像的任一装置。
[0044]在系统IOA到IOD中,装置12包含图像处理器14。图像处理器14可为产生经完全合成图像帧的任一组件。图像帧可为将显示的任何可视内容,包含产生可视内容的执行的应用程序的结果。举例来说,图像处理器14的实例包含(但不限于)视频解码器、图形处理单元(GPU)和相机处理器中的任一者或一者以上。图像帧的实例包含(但不限于)由视频解码器合成的视频内容的图片、由GPU合成的图形内容或由相机俘获且由相机处理器合成的图像中的任一者或一者以上。
[0045]图像帧可视为包含多个像素的像素值。举例来说,图像帧可视为像素值的二维阵列,其中每一像素值可对应于面板26的一个像素。举例来说,图1A到ID中的面板26可显示图像帧,且面板26可基于图像帧的对应像素值来照亮其像素。
[0046]图像帧的像素值可由多个数字位界定。举例来说,像素值的一个实例是颜色值。颜色值大体上由红、绿和蓝(RGB)分量界定,但也可使用其它颜色空间。在一些实例中,图像处理器14可用8个位界定红分量,用8个位界定绿分量,且用8个位界定蓝分量,得到总共24个位。在此实例中,由图像处理器14合成的图像帧的像素中的每一者的像素值中的每一者可包含至少24个位。
[0047]图像处理器14可类似地用数字位表示像素值的其它实例,例如不透明度值和像素坐标。为了图解说明和便于描述的目的,本发明中描述的技术是在由RGB分量表示的颜色值的上下文中描述。换句话说,本发明中描述的技术是以其中图像处理器14用来界定像素值的位数目为24个位的实例进行描述。然而,本发明的方面不受此限制,且本文描述的技术可延伸到其中像素值由多于或少于24个位界定的实例。
[0048]在图1A到ID中,图像处理器14可将像素值传输到压缩单元20。在图1A的实例中,压缩单元20可驻留在面板装置16内,且在图1B到ID的实例中,压缩单元20可驻留在装置12内。而且,在图1B到ID的实例中,虽然压缩单元20图解说明为在图像处理器14的外部,但本发明的方面不受此限制。在其它实例中,压缩装置20可为图像处理器14的一部分。为便于描述,将压缩单元20描述为在图像处理器14的外部。
[0049]在其中装置12将由图像处理器14产生的像素值传输到面板装置16中的压缩单元20的图1A的实例中,或在其中装置12将压缩单元20的输出传输到面板装置16的图1B和IC的实例中,装置12和面板装置16可无线地耦合或与有线链路耦合。作为有线链路的一个实例,装置12和面板装置16可通过高清晰度多媒体接口(HDMI)电缆耦合。在图1B到ID的实例中,图像处理器14可经由装置12的系统总线将像素值传输到压缩单元20,所述系统总线互连装置12的各种组件。在其中图像处理器14包含压缩单元20的实例中,图像处理器14可将像素值传输到压缩单元20而不需要装置12的系统总线。
[0050]在图1A到IC的实例中,装置12可包含将图像处理器14的输出(图1A中)或压缩单元20的输出(图1B和IC中)转换为适合于传输到面板装置16的格式的接口,且面板装置16包含用以接收来自装置12的输出的接口。举例来说,图1A到IC图解说明其中图像帧在一个装置(即,装置12)中产生但图像帧在另一装置(即,面板装置16)中显示的实例。在图1A到IC的这些实例中,装置12包含允许装置12向面板装置16进行传输的接口,且面板装置16包含允许面板16从装置12进行接收的接口。在图1D的实例中,可不存在面板装置16,因为装置12可为既产生图像帧又呈现图像帧的装置。
[0051 ] 在图1A到ID的实例中的任一者中,压缩单元20可经配置以接收由图像处理器14产生的像素值且应用压缩。如上文描述,由图像处理器14产生的像素值可为表示颜色的多个位。压缩单元20可应用压缩以使得需要较少的位来表示颜色。作为实例,如上所述,一个像素值可为24个位,因此,八个像素值可为192个位。在此实例中,如果需要50%压缩,那么压缩单元20接收192个位且应用压缩以将总位数目减少到96个位(即,在此实例中将位压缩50%,因为192个位*50%等于96个位)。在此实例中,所得的96个位可表示八个像素值,而非用于八个像素值的192个位。
[0052]为了清楚,如本发明中使用,术语“图像数据”可大体上指代像素值的位,且术语“经压缩图像数据”可指代在压缩单元20压缩图像数据之后压缩单元20的输出。在本发明的方面中,经压缩图像数据中的位数目可小于图像数据中的位数目。举例来说,继续先前实例,压缩单元20可接收图像数据的192个位(例如,用于八个像素值的192个位),且将图像数据的192个位压缩为经压缩图像数据的96个位以实现50%压缩。
[0053]在图1A、1B和ID中,压缩单元20可将经压缩图像数据输出到帧缓冲器22。帧缓冲器22可存储经压缩图像数据。帧缓冲器22的实例是随机存取存储器(RAM),然而,其它类型的存储器可为可能的。通过在存储于帧缓冲器22中之前压缩图像数据,本发明的技术可允许帧缓冲器22的大小的减小。
[0054]举例来说,假定图像处理器14产生1280x800个像素值,得到总共24,576,000个位(S卩,1280*800个像素值*24位/像素值等于个24,576,000位)。在无压缩单元20的情况下,在此实例中帧缓冲器22可需要能够存储24,576,000个位。然而,如果压缩单元20将图像数据压缩50%,那么帧缓冲器22可需要能够存储12,288,000个位(例如,经压缩图像数据),从而允许帧缓冲器22的大小减小50%。大体上,帧缓冲器22的成本可与其大小成比例。因此,通过用压缩单元20压缩图像数据,帧缓冲器22的成本和大小与其中未应用压缩的实例相比可减少。[0055]帧缓冲器22可能并非在每个实例中都需要。如图1C中图解说明,装置12或面板装置16均不包含帧缓冲器22。在此实例中,装置12和面板装置16不可将图像数据临时存储在帧缓冲器22中。然而,即使在这些实例中,压缩图像数据以促进带宽效率也可为有益的。举例来说,继续先前实例,在无压缩单元20的情况下,装置12可需要传输24,576,000个位(假定由图像处理器14合成的图像帧的1280x800个像素值)。在通过压缩单元20压缩50%的情况下,装置12可需要传输12,288,000个位,其允许装置12每秒传输较少的位以得到较好的带宽效率。
[0056]以此方式,在图1A的系统IOA中,虽然装置12可将未经压缩图像数据传输到面板装置16,但压缩单元20可允许帧缓冲器22的大小的减小,借此与无压缩相比减少了由帧缓冲器22使用的总体成本和占据面积。在图1B的系统IOB中,因为压缩单元20在传输之前压缩图像数据,所以装置12可消耗较少的带宽,且面板装置16中的帧缓冲器22的大小和成本与无压缩相比可减少。在图1C的系统IOC中,在具有压缩单元20的情况下,带宽消耗与无压缩相比可减少。在图1D的系统IOD中,压缩单元20可允许帧缓冲器22的大小和成本与无压缩相比的减少。
[0057]在图1A到ID的实例中,解压缩单元24可解压缩经压缩图像以重构大体上类似于原始图像数据的图像数据。举例来说,解压缩单元24的输出可为大体上类似于图像处理器14合成的图像帧的像素值的像素值。在图1A、1B和ID中,解压缩单元24可从帧缓冲器22接收经压缩图像数据,且在图1C中,解压缩单元24可从装置12接收经压缩图像数据而无需先前存储于帧缓冲器22中。
[0058]为了对经压缩图像数据进行解压缩,解压缩单元24可应用压缩单元20应用的压缩的逆过程。如更详细描述,在一些实例中,压缩单元20可指示压缩单元20压缩图像数据的方式,其允许解压缩单元24确定对经压缩图像数据进行解压缩的方式。而且,如更详细描述,压缩单元20可应用无损或有损压缩。在无损压缩的情况下,解压缩单元24可能够对经压缩图像数据进行解压缩以使得所得图像数据实际上相同于原始图像数据。在有损压缩的情况下,解压缩单元24可不能够对经压缩图像数据进行解压缩以使得所得图像数据相同于原始图像数据。然而,即使在有损压缩的情况下,经解压缩图像数据也可类似于且潜在地大体上类似于原始图像数据。
[0059]面板26可为任一类型的显示器。举例来说,面板26的实例包含(但不限于)液晶显示器(LCD)、有机发光二极管显示器(OLED)、阴极射线管(CRT)显示器、等离子显示器或另一类型的显示器装置。面板26可包含多个像素,面板26照亮所述多个像素以显示由图像处理器14合成的图像帧的可视内容。举例来说,由解压缩单元24输出的像素值可指示面板26的像素将照亮的方式。
[0060]虽然在图1A到ID中未图示,但在一些实例中,解压缩单元24可耦合到显示器处理器,且显示器处理器可耦合到面板26。在这些实例中,显示器处理器可确定将应用于面板26的像素的电压,使得当被照亮时所述像素呈现所要的颜色。在图1A、1B和IC的实例中,面板装置16的组件(不包含面板26)可视为用于面板26的驱动器。举例来说,如果面板26是液晶监视器,那么驱动器可称为LCM驱动器,其包含面板装置16的图解说明的组件以及显不器处理器,且不包含面板26。
[0061]为了压缩图像数据,压缩单元20可对图像数据的块实施基于预算的压缩方案。作为实例,一个图像数据块可为八个像素值,然而,本发明的方面不受此限制。压缩单元20可在压缩图像数据块之后连续地更新指示多少位可用以实现所要压缩的位预算。
[0062]压缩单元20可确定初始位预算,如下文更详细描述。压缩单元20可随后基于初始位预算确定当前块的当前位预算。在一些实例中,压缩单元20可随后实施各种压缩技术,包含有损和无损压缩。举例来说,压缩单元20可实施有损压缩技术以产生有损经压缩图像数据块,且可实施无损压缩技术以产生无损经压缩图像数据块。有损和无损压缩技术的实例在下文更详细描述。然而,压缩单元20可利用任何已知或尚未开发的有损或无损压缩技术,且本发明的方面不限于下文描述的特定有损和无损压缩技术。
[0063]压缩单元20可确定有损经压缩图像数据块和无损经压缩图像数据块中的每一者中的位数目。如果无损经压缩图像数据块中的位数目小于或等于当前位预算,那么压缩单元20可将无损经压缩图像数据块的位存储在帧缓冲器22中,或装置12可将无损经压缩图像数据块的位传输到面板装置16(如图1A到ID的实例中的适当时)。否则,压缩单元20可将有损经压缩图像数据块的位存储在帧缓冲器22中,或装置12可将有损经压缩图像数据块的位传输到面板装置16(如图1A到ID的实例中的适当时)。
[0064]在一些其它实例中,在压缩之前,压缩单元20可确定应利用哪一类型的压缩。举例来说,可存在各种类型的无损和有损压缩技术。压缩单元20可确定利用哪些类型的无损或有损压缩技术以使得经压缩图像数据在当前位预算内。压缩单元20可随后基于所确定的压缩技术来压缩图像数据。
[0065]大体上,压缩单元20可偏向于选择无损压缩的结果超过有损压缩,来用于存储或传输。无损压缩可在解压缩时维持图像质量,因为可完全重构原始图像数据,而有损压缩可在解压缩时稍微地降级图像质量,因为不可完全重构原始图像数据。事实上,在使用有损压缩技术压缩时,经解压缩图像数据可类似于但不相同于原始图像数据。
[0066]在一些实例中,如果无损压缩和有损压缩两者均得到在当前位预算内的经压缩图像数据块,那么压缩单元20可偏向于选择无损经压缩图像数据块用于存储或传输,因为无损经压缩图像数据块可维持图像质量优于有损经压缩图像数据块。此外,如下文描述,压缩单元20可以有损经压缩图像块中的位数目保证小于或等于当前位预算的方式实施有损压缩。因此,如果无损经压缩图像块大于位预算,那么压缩单元20可能够输出有损经压缩图像块,因为有损经压缩图像块是以有损经压缩图像块中的位数目保证小于或等于位预算的方式来压缩。
[0067]根据本发明中描述的技术,压缩单元20可随后基于当前位预算和每块的额外位的平均数目来确定下一图像数据块的位预算。下文更详细地描述每块的额外位的平均数目。压缩单元20可将当前预算复位到所确定的下一块的预算。压缩单元20可重复上述步骤直到最后块的压缩。
[0068]如上所述,在一些实例中,压缩单元20可压缩经合成图像帧的图像数据。术语“经合成图像帧”指代最终经合成图像帧,例如准备好用于显示的最终经合成图像。术语“经合成图像帧”用以区分处于正在合成的过程中的图像帧。举例来说,如上所述,图像处理器14可为视频解码器。视频解码器可从各种其它参考帧的部分(例如,在称为帧间预测的过程中)或图像帧自身内的部分(例如,在称为帧内预测的过程中)构造图像帧。压缩单元20可对视频解码器构造的最终经合成图像帧实施压缩技术,且不一定在图像帧正在由视频解码器构造时对其实施压缩技术。
[0069]在一些实例中,压缩单元20可实现真正的实时压缩。举例来说,压缩单元20可能够在单个遍次中压缩图像数据,而不需要多个遍次。换句话说,只要压缩单元20压缩图像数据块,便可立即传输或存储经压缩图像数据块的位。以此方式,压缩单元20和解压缩单元24的添加可能增加等待时间(潜在地仅稍微的等待时间增加),然而,可不需要对系统IOA到IOD的其它修改来实现帧缓冲器22的大小和成本的减小和/或带宽消耗的减小。
[0070]此外,如从下文描述的实例将见到,压缩单元20可不需要大的存储器块用于压缩。举例来说,如上所述,通过压缩单元20,可减少帧缓冲器22的大小。在一些实例中,压缩单元20可实施不需要密集存储器用于存储的压缩技术,使得所述压缩技术不会否定由压缩单元20实现的帧缓冲器22的任何大小减小。
[0071]而且,如从下文描述的实例将见到,压缩单元20可不需要额外带宽用于压缩目的。举例来说,如上所述,通过压缩单元20,可减少带宽消耗。在一些实例中,压缩单元20可实施不需要额外带宽的压缩技术,例如时间预测(例如,帧间预测)用于压缩,使得所述压缩技术不会否定由压缩单元20实现的任何带宽消耗减小。举例来说,每一图像帧可经个别地压缩而不需要涉及其它图像帧。
[0072]图2是更详细图解说明图1A到ID的压缩单元的实例的框图。举例来说,图2更详细图解说明压缩单元20。压缩单元20的实例包含(但不限于)多种或通用或专用处理硬件中的任一者,例如数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路。
[0073]压缩单元20可对图像数据并行地(例如,同时)实施多种不同压缩技术。压缩单元20可基于当前位预算来选择根据不同压缩技术中的一者压缩的经压缩图像数据。以此方式,在一些实例中,压缩单元20可不执行关于应利用哪一特定压缩技术的任何先验决策。在这些实例中,如果一个以上压缩技术得到在当前位预算内的经压缩图像数据,那么压缩单元20可从由不同压缩技术产生的经压缩图像数据当中选择具有最少数目的位的经压缩图像数据。
[0074]此外,图18和19图解说明其中压缩单元20可先验地确定将应用哪一类型的压缩技术的实例。举例来说,压缩单元20可在压缩之前确定将应用哪一类型的压缩技术,且可根据所确定类型的压缩技术进行压缩。为了简明,图2的描述中的一些明显地涉及图18和19中图解说明的实例。因此,在描述图2时,本发明描述其中压缩单元20并行地(即,同时)实施不同压缩技术且从所述压缩技术中的一者选择经压缩图像数据的实例,以及其中压缩单元20可确定将应用哪一类型的压缩且选择根据所确定类型的压缩而压缩的压缩图像数据的实例。
[0075]如图解说明,压缩单元20包含初始位预算单元29、颜色值转换器32、颜色值转换器56、无损压缩单元35、有损压缩单元55、延迟单元34、预算控制器52,以及多路复用器(MUX) 54。压缩单元20可不在每个实例中包含所有这些组件。
[0076]举例来说,如更详细描述,初始位预算单元29可确定用于压缩图像数据的初始位预算。在某个实例中,压缩单元20可不包含初始位预算单元29,且可改为从例如装置12的处理器等另一组件接收用于压缩图像数据的初始位预算。在这些实例中,压缩单元20可不包含初始位预算单元29。[0077]作为另一实例,颜色值转换器32和颜色值转换器56可提供图像数据的某种预压缩。此预压缩可能不是在每个实例中都是必要的,且压缩单元20在此些实例中可不包含颜色值转换器32和颜色值转换器56。
[0078]作为另一实例,压缩单元20可仅执行无损压缩或仅执行有损压缩。在其中压缩单元20经配置以仅执行有损压缩的实例中,压缩单元20可不包含有损压缩单元55。在其中压缩单元20经配置以仅执行有损压缩的实例中,压缩单元20可不包含无损压缩单元35。作为又一实例,如更详细描述,压缩单元20可不包含图2的实例中图解说明的无损压缩单元35和有损压缩单元55的所有组件。
[0079]因此,图2图解说明压缩单元20的一个实例。大体上,压缩单元20可包含允许压缩单元20压缩图像数据以满足图像数据块的当前位预算的任何组件。举例来说,在本发明中描述的方面 中,压缩单元20可利用任何已知或尚待开发的技术来压缩图像数据,且图2图解说明压缩单元20可实施以压缩图像数据的一些实例性技术。
[0080]初始位预算单元29可确定经合成图像帧的初始位预算。经合成图像帧的初始位预算可为允许压缩单元20实现目标压缩的初始位预算。目标压缩可为用户可编程的或预编程的。举例来说,初始位预算单元29可从装置12的另一组件(例如装置12的图像处理器14)或另一处理器(例如中央处理单元(CPU))接收用户选择的或预编程的目标压缩值。
[0081]目标压缩指示经压缩图像数据中的位数目与图像数据中的位数目之间的比率。作为一个实例,用户可选择50%的目标压缩,这可意味着经压缩图像数据中的位数目是原始图像数据中的位数目的一半。
[0082]将图像数据压缩超过50%意味着小于50%的目标压缩值,这可为不合意的,因为图像帧的图像质量的降级可能太大。举例来说,30%的目标压缩值可意味着经压缩图像数据中的位数目与原始图像数据之间的比率为0.30。此压缩量可不利地影响图像质量。在一些实例中,目标压缩值可为k / 24,其中8≤k〈24。然而,小于12的k的值可使经合成图像帧的图像质量降级,使得在解压缩之后,所得图像质量并不合意。此外,虽然压缩超过50%可使图像质量降级而不合意,但目标压缩可小于50%,且甚至小于k / 24,其中k等于8。
[0083]可存在其中压缩单元20可实现经合成图像帧的目标压缩的各种方式,且初始位预算单元29可针对这些各种方式中的任一者来确定初始位预算。举例来说,假定目标压缩值为50%。作为一个实例,为了将图像帧的图像数据压缩50%,初始位预算单元29可确定图像帧的一行的初始位预算,使得如果所述行的图像数据曾经压缩,那么所述行的经压缩图像数据中的总位数目将为所述行的原始图像数据中的总位数目的50%。在此实例中,如果图像帧的每一行曾经压缩50%,那么图像帧的所得经压缩图像数据将为原始图像数据的50%。
[0084]作为另一实例,为了压缩经合成图像帧的图像数据,初始位预算单元29可确定整个图像帧的初始预算。举例来说,假定目标压缩为整个图像帧的50%。在此实例中,初始位预算单元29可确定整个图像帧的初始位预算,使得当整个图像帧的图像数据经压缩时,图像帧的经压缩图像数据中的总位数目将为原始图像数据中的总位数目的50%。
[0085]作为又一实例,为了压缩经合成图像帧的图像数据,初始位预算单元20可确定经合成图像帧的切片的初始预算,其中切片包含多个行,且图像帧包含一个或一个以上切片。又,如果目标压缩为整个图像帧的50%,那么初始位预算单元29可确定切片的初始预算,使得当切片的图像数据经压缩时,经压缩图像数据为所述切片的图像数据的50%。在此实例中,如果图像帧的每一切片曾经压缩50%,那么图像帧的所得经压缩图像数据将为原始图像数据的50%。
[0086]在一些实例中,与图像帧的一行或切片的初始位预算相比,可能更合意地利用整个图像帧的初始位预算用于压缩目的。举例来说,图像帧的一些行或切片与较不复杂的行或切片(例如,可经压缩超过50%同时维持高质量的行或切片)相比可相对复杂(例如,难以压缩50%同时维持高质量)。
[0087]通过确定整个图像帧的初始位预算,压缩20可执行复杂行或切片的较少压缩以维持可经压缩更多同时维持质量的简单行或切片的质量和较大压缩。然而,确定每一行或每一切片的初始位预算可迫使压缩单元20针对每一行或切片将图像数据压缩相同的量。这可导致复杂行和切片的图像质量的降级以及不如简单行或切片所可能的压缩。
[0088]因此,首先在针对整个图像帧而非针对一行或切片来确定初始位预算的上下文中描述本发明的技术。随后描述针对每一行或切片利用初始位预算来用于压缩目的。
[0089]经合成图像帧的初始位预算可基于图像帧内的块数目以及每块的额外位的平均数目。每块的额外位的平均数目可基于经压缩位阈值,且经压缩位阈值可基于目标压缩。以此方式,初始位预算单元29可基于目标压缩而确定整个图像帧的初始位预算。“图像帧内的块数目”、“每块的额外位的平均数目”以及“经压缩位阈值”全部在下文更详细描述。
[0090]图像帧可划分为各自包含多个像素的多个块。作为说明性实例,图像帧的一个块可包含八个像素(例如,1x8像素块);然而,本发明的方面不限于包含八个像素的图像帧的块,且图像帧的块可包含多于或少于八个像素,且可甚至为二维像素块。而且,假定图像帧的大小为1280x800像素,这再次为说明性值且不应视为限制性的。在此实例中,图像帧内的块数目可等于1280x800像素除以每块8个像素,得到128,000个块。
[0091]举例来说,在此实例中,初始位预算单元29可用8的块大小预编程,或可从例如装置12的图像处理器14或某个其它处理器等某个其它组件接收块大小值。而且,初始位预算单元29可用图像帧的大小预编程,或可接收图像帧的大小(例如,1280x800个像素)。初始位预算单元29可随后基于图像帧大小和块大小确定图像帧中的块数目。
[0092]经压缩位阈值可界定保证可用于压缩块的位数目,且可表示为每一块指派的位数目。举例来说,经压缩位阈值指示保证可用于图像帧的块中的每一者以用于压缩的位数目。换句话说,根据本发明中描述的基于预算的方案,图像帧的每一块可经压缩,且可向下压缩到至少保证的可用于每一块的位数目,如由经压缩位阈值所界定。
[0093]经压缩位阈值可为用户界定的或预编程的。举例来说,初始位预算单元29可从图像处理器14或装置12的另一处理器接收经压缩位阈值,或可用经压缩位阈值进行预编程。
[0094]经压缩位阈值可为小于或等于每块的经压缩位的平均数目的值。每块的经压缩位的平均数目指示用以实现目标压缩的每块的平均位数目,且可表示每一块的预算。举例来说,如果目标压缩为50%,那么每块的平均位数目可等于使得块被压缩50%的每块的位数目。
[0095]作为一个实例,假定存在每像素24个位(例如,针对红、绿和蓝分量中的每一者的8个位),且存在每块8个像素。随后,8个像素的总位数目为192个位(即,24乘以8)。如果整个经合成图像帧的目标压缩为50%,那么每块的经压缩位的平均数目为96个位(即,192个位乘以0.5)。以此方式,如果整个图像帧经压缩50%,那么平均每一图像帧块经压缩50%。
[0096]应了解,每块的经压缩位的平均数目不是必须将每一块压缩多少的度量。举例来说,压缩单元20可将图像帧的当前块压缩多于每块的经压缩位的平均数目、等于每块的经压缩位的平均数目,或小于每块的经压缩位的平均数目。在其中压缩单元20将一个块压缩小于每块的经压缩位的平均数目的实例中,将存在压缩单元20压缩多于每块的经压缩位的平均数目的某个其它块,使得平均来说经压缩块中的位数目等于每块的经压缩位的平均数目。
[0097]作为每块的经压缩位的平均数目与经压缩位阈值之间的关系的实例,如果每块的经压缩位的平均数目为96个位,那么经压缩位阈值可为92个位,因为92个位小于96个位。在此实例中,压缩单元20保证具有至少92个位可用于压缩块。换句话说,对于原始图像帧块中的任何192个位,经压缩位阈值92意味着原始图像帧块中的192个位可总是经压缩到92个位,因为保证92个位可用于压缩原始图像数据的192个位。然而,不一定原始图像数据经压缩到92个位。而是,压缩单元20可将原始图像数据压缩少于92个位、等于92个位或大于92个位,其中92个位是经压缩位阈值。
[0098]大体上,经压缩位阈值可大体上不偏离每块的经压缩位的平均数目。举例来说,在此实例中,经压缩位阈值可处于90个位到96个位的范围内,假定每像素24个位和每块8个像素。
[0099]将经压缩位阈值设定太低(例如,小于90个位)可导致图像质量的不合意降级。举例来说,如上所述,经压缩位阈值指示保证可用于块中的每一者以用于压缩的位数目。如果保证的位数目太低,那么一些块可经压缩到图像质量降级的点。因此,接近于每块的经压缩位的平均数目的经压缩位阈值可确保维持适当的图像质量。
[0100]每块的经压缩位的平均数目减去经压缩位阈值可指示每块的额外位的平均数目。举例来说,由于经压缩位阈值指示保证可用于每一块以用于压缩的位数目且每块的经压缩位的平均数目指示经压缩块中的平均位数目,因此每块的额外位的平均数目指示压缩单元20可用来压缩图像帧块的额外位的平均值。在以上实例中,每块的额外位的平均数目等于4(即,每块的经压缩位的平均数目(96)减去经压缩位阈值(92)等于4)。
[0101]每块的平均额外位可有助于在开始处包含复杂块且在结束处包含较不复杂块的图像帧。举例来说,假定压缩单元20从图像帧的左上方块开始且继续到图像帧的右下方块来开始压缩。在此实例中,每块的平均额外位可视为压缩单元20从较不复杂块借用位以用于较复杂块的压缩。甚至在其中初始块不如稍后块复杂的实例中,每块的平均额外位作为可用于压缩稍后较复杂块的剩余位也可为有益的。
[0102]作为帮助理解的简单实例,假定图像帧包含两个8像素块,其中每一像素为24个位,得到每块总共192个位(即,每块8个像素乘以每像素24个位等于每块192个位)。而且,假定目标压缩为50%,这意味着经压缩位的平均数目为96,且假定经压缩位阈值为92个位。在此实例中,原始图像帧包含386个位(S卩,每块192个位乘以2个块)。在50%压缩的情况下,所得的经压缩位数目应为192个位(即,384乘以0.5)。
[0103]而且,假定第一块与第二块相比为较不复杂的图像数据。在此实例中,压缩单元20可能够将第一块的192个位压缩到90个位。因此,存在102个位留给压缩单元20来压缩第二块(即,192个位减去90个位等于102个位)。在此实例中,压缩单元20可视为从压缩第一块所需的位数目借用6个位以用于压缩第二块以实现50%总体压缩,其允许压缩单元20针对第二块的102个位的位预算。
[0104]换句话说,在先前实例中,压缩单元20可能已将第一和第二块压缩到96个位。然而,由于第一块的较低复杂性,压缩单元20仅利用90个位用于压缩。这允许压缩单元20利用压缩单元20可能已用于压缩第一块的6个位来压缩第二块。因此,压缩单元20可利用102个位来压缩第二块的图像数据的192个位,而非96个位。
[0105]先前的实例描述其中初始位预算单元29可确定每块的额外位的平均数目的一种方式。然而,本发明的方面不限于此。在其它实例中,并非确定每块的额外位的平均数目,初始位预算单元29可接收每块的额外位的平均数目,或初始位预算单元29可用每块的额外位的平均数目的值来预编程。因此,虽然初始位预算单元29可基于每块的额外位的平均数目来确定初始位预算,但初始位预算单元29可不必在每个实例中都确定每块的额外位的平均数目。而是,初始位预算29可接收每块的额外位的平均数目的值,或可用每块的额外位的平均数目的值来预编程。在替代实例中,初始位预算单元29可用上述方式确定每块的额外位的平均数目。
[0106]为了确定初始位预算,初始位预算单元29可将每块的额外位的平均数目乘以总块数目。举例来说,如果图像帧中的总块数目为128,000 (例如,1280x800像素除以每块8个像素),那么初始位预算为512,000 (例如,128,000乘以4)。
[0107]应注意在一些实例中,“每块的额外位的平均数目”、“每块的经压缩位的平均数目”、“经压缩位阈值”以及“初始位预算”中的一者或一者以上全部可为所有图像帧预先确定。举例来说,图像处理器14或装置12的某个其它处理器可预先确定一些或所有这些值,且初始位预算单元29可为图像处理器14或装置12的某个其它处理器的部分。在另一实例中,一些或所有值可存储在装置12的存储器中,且压缩单元20可能够从装置12的存储器检索这些值中的一者或一者以上。
[0108]如更详细描述,压缩单元20可基于初始位预算和经压缩位阈值来确定图像帧的第一块的当前位预算。对于图像帧的后续块,压缩单元20可基于先前位预算、先前经压缩块的位数目以及指示保证可用于图像帧的块中的每一者以用于压缩的位数目的经压缩位阈值,来确定当前位预算。
[0109]在图2中图解说明的实例中,预算控制器52可接收初始位预算,且根据初始位预算确定第一图像帧块的当前位预算。第一块(例如,块O)的当前位预算可为初始位预算加上经压缩位阈值。在以上实例中,初始位预算为512,000加上92,其等于512,092个位。
[0110]无损压缩单元35和有损压缩单元55可各自分别利用无损和有损压缩技术来压缩第一块,如下文更详细描述。举例来说,无损压缩单元35可产生无损经压缩图像帧块,其为使用无损压缩技术压缩的原始块,且有损压缩单元55可产生有损经压缩图像帧块,其为使用有损压缩技术压缩的原始块。
[0111]无损压缩单元35可将指示无损经压缩图像帧块中的位数目的值输出到预算控制器52。类似地,有损压缩单元55可将指示有损经压缩图像帧块中的位数目的值输出到预算控制器52。预算控制器52可确定无损经压缩图像帧块和有损经压缩图像帧块中的哪一者在当前位预算内,且选择在当前预算内的经压缩图像帧块供MUX54输出。举例来说,预算控制器52可将指示输出到MUX54,向MUX54指示输出选定的经压缩图像帧块。MUX54可将选定的经压缩图像帧块输出到帧缓冲器22或解压缩单元24,如上文相对于图1A到ID描述。
[0112]在一些实例中,可能无损经压缩图像帧块的位数目和有损经压缩图像帧块的位数目两者均在当前位预算内。在一些实例中,在此些情况下,预算控制器52可向MUX54指示输出无损经压缩图像帧块而非有损经压缩图像帧块。大体上,当解压缩单元24对无损经压缩图像帧块进行解压缩时,所得的经解压缩位可相同于图像帧块的原始位。然而,当解压缩单元24对有损经压缩图像帧块进行解压缩时,所得的经解压缩位可不相同于图像帧块的原始位。
[0113]因为有损经压缩图像帧块的经解压缩位不相同于图像帧块的原始位,所以当有损经压缩图像帧块的经解压缩位用以照亮面板26的像素时可存在图像质量的一些降级。为了避免图像质量中的降级,当两者的输出均在当前位预算内时,预算控制器52可偏向于选择无损压缩单元35的输出超过有损压缩单元55。
[0114]举例来说,在各种实例中,预算控制器52可确定图像帧块O的当前位预算为512,092个位。假定无损压缩单元35将块O的192个位压缩到108个位,且有损压缩单元55将块O的192个位压缩到98个位。在此实例中,108个位和98个位都小于512,092位。因此,无损压缩单元35和有损压缩单元55的经压缩图像帧块输出在512,092的当前位预算内。在此实例中,预算控制器52由于偏向无损压缩而可选择无损压缩单元35的输出,且致使MUX54输出无损经压缩图像帧块。
[0115]然而如果有损经压缩图像帧块的位数目小于当前位预算,且无损经压缩图像帧块的位数目大于当前位预算,那么预算控制器52可选择有损压缩单元55的输出,且向MUX54指示输出有损经压缩图像帧块。在一些实例中,有损压缩单元55可实施有损压缩以使得有损经压缩图像帧块中的位数目保证小于或等于当前位预算。以此方式,如果无损压缩和有损压缩两者均满足当前位预算,那么MUX54可选择无损压缩图像帧块。然而如果无损压缩图像帧块不满足当前位预算,那么有损压缩图像帧块保证满足当前位预算。
[0116]预算控制器52可随后确定下一图像帧块(例如,块I)的当前位预算。为了确定下一块的当前位预算,预算控制器52可从先前块的预算减去先前经压缩块(例如,块O)的位数目。举例来说,先前块的位预算(例如,块O)是512,092个位,且预算控制器52选择由利用108个位(例如,先前经压缩块的位数目)的无损压缩单元35输出的输出无损经压缩图像帧块。
[0117]在此实例中,预算控制器52可从512,092个位减去108个位,等于511,984个位。预算控制器52可将所得值(例如,511,984个位)与经压缩位阈值(例如,92)求和。来自求和的所得值可为当前块的当前位预算。举例来说,在此实例中,图像帧块I的当前位预算是512,076个位(即,511,984加上92)。无损压缩单元35和有损压缩单元55可压缩块1,且预算控制器52可重复上述步骤以确定是否输出块I的无损或有损经压缩图像帧块,且针对图像帧内的所有后续块重复类似步骤。
[0118]在上述实例中,在当前块的压缩之前,块的当前位预算可视为当前位预算+=经压缩位阈值,且在当前块的压缩之后,当前位预算可视为当前位预算_=在压缩当前块中花费的位。换句话说,当前位预算的等式可表示为当前位预算+=经压缩位阈值-先前块的经压缩位。以此方式,只要当前位预算大于或等于O,则压缩单元20可保证在压缩之后图像帧的大小在预算内(例如,原始假定50%目标压缩的50% )。
[0119]在一些实例中,可根据行内的先前像素的值来预测行中的像素值,如相对于预测单元36和预测单元60更详细描述。然而,对于行中的第一块,可能不存在用来预测值的先前像素。为了解决此问题,在一些实例中,预算控制器52可稍微修改行内的第一块的初始位预算和/或经压缩位阈值。
[0120]举例来说,如果经压缩位阈值是92个位,那么对于每一行内的第一块,预算控制器52可将这些块的经压缩位阈值指派为94个位。因为经压缩位阈值被添加到先前块的先前位预算,所以每一行内的第一块的经压缩位阈值的增加均导致这些第一块的稍微更大的位预算。预算控制器52可类似地修改初始位预算,使得与一行内的其它块相比,预算控制器52可能够将稍微较高的位预算指派于所述行的第一块。
[0121]修改每一行内的第一块的位预算可能不是在每个实例中都是必要的。举例来说,在一些实例中,压缩单元20可不执行预测,例如由预测单元36和预测单元60执行的预测,且在这些实例中,预算控制器52可不修改每一行的第一块的位预算。此外,甚至在其中压缩单元20执行预测的实例中,预算控制器52也可不修改每一行内的第一块的位预算。
[0122]在先前实例中,预算控制器52利用整个图像帧的初始位预算来确定每一块的当前位预算。下文描述其中预算控制器52可利用每一行或每一切片的初始位预算来确定每一块的当前位预算的实例。
[0123]举例来说,在先前实例中,初始位预算等于每块的额外位的平均数目乘以图像帧中的总块数目。一行的初始位预算可为每块的额外位的平均数目乘以所述行中的总块数目。一切片的初始位预算可为每块的额外位的平均数目乘以所述切片中的总块数目。
[0124]举例来说,假定图像帧的大小为1280x800。因此,在一行中存在1280个像素。如果块大小为8个像素,那么在一行中存在160个块(即,1280除以8)。在此实例中,一行的初始位预算是160个块乘以4(例如,每块的额外位的平均数目),其为640个位。
[0125]对于一切片,所述切片中的总块数目是基于所述切片内的行数目。举例来说,假定一切片包含16行,这意味着在此实例中所述切片的大小为1280x16。如果块大小为8个像素,那么每切片存在2560个块,且一切片的初始位预算是每切片2560个块乘以4 (例如,每切片的额外位的平均数目),其为10,240个位。
[0126]对于其中初始位预算是针对一行的实例,预算控制器52可将第一块的当前位预算确定为所述行的初始位预算加上经压缩位阈值。对于其中初始位预算是针对一切片的实例,预算控制器52可将第一块的当前位预算确定为所述切片的初始位预算加上经压缩位阈值。
[0127]无损压缩单元35和有损压缩单元55可压缩行或切片的第一块,如上所述,且预算控制器52可选择所得的无损经压缩块或有损经压缩块供MUX54输出。随后预算控制器52可如上所述确定第二块的当前位预算(例如,当前位预算等于先前位预算加上经压缩位阈值减去先前经压缩块的位数目)。然而,预算控制器52在其中初始位预算是针对行的实例中可复位每一行的位预算,且在其中初始位预算是针对切片的实例中可复位每一切片的位预算。
[0128]如图解说明,压缩单元20可包含颜色值转换器32。颜色值转换器32可接收图像帧的块,且提供一些无损预压缩。举例来说,颜色值转换器32可将颜色值转换到不同的颜色空间。如上所述,图像处理器14可将颜色值界定为RGB分量,其中每一分量为8位。颜色值转换器32可将像素的颜色值从RGB颜色空间转换到亮度和色度颜色空间。
[0129]作为一个实例,颜色值转换器32可将RGB值转换到YCoCg值,其中Y为亮度分量且Co和Cg是色度分量。举例来说,“Y”表示亮度或强度,“Co”表示橙色色度,且“Cg”表示绿色色度。将RGB值转换为YCoCg值是一个实例,且转换到其它颜色空间可为可能的,例如YCbCr,其中“Cb ”表示蓝色色度,且“Cr ”表示红色色度,HSV,其中“H”表示色调,“ S”表示饱和度,且“V”表示值或强度,或任一其它颜色空间。
[0130]对于从RGB到YCoCg的颜色空间转换,颜色值转换器32可实施以下矩阵运算:
[0131]
【权利要求】
1.一种方法,其包括:用压缩单元至少基于先前位预算、先前经压缩块的位数目以及指示保证可用于图像帧的块中的每一者以用于压缩的位数目的经压缩位阈值来确定所述图像帧的像素值的当前块的当前位预算;用所述压缩单元对所述当前块执行无损压缩以产生无损经压缩块;以及当所述无损经压缩块的位数目小于或等于所述当前位预算时,用所述压缩单元输出所述无损经压缩块的位。
2.根据权利要求1所述的方法,其进一步包括:用所述压缩单元对所述当前块执行有损压缩以产生有损经压缩块;以及当所述无损压缩块的位数目大于所述当前位预算时,用所述压缩单元输出所述有损压缩块的位。
3.根据权利要求2所述的方法,其中执行所述有损压缩包括:对所述当前块的位进行量化以使得所述经量化位的数目小于或等于所述当前位预算;以及对所述经量化位执行压缩。
4.根据权利要求3所 述的方法,其进一步包括:基于所述当前位预算确定将应用的量化量,其中对位进行量化包括基于所述所确定量化量的所述当前块的经量化位,使得所述经量化位的所述数目小于或等于所述当前位预算。
5.根据权利要求2所述的方法,其中执行所述有损压缩包括与执行所述无损压缩同时执行所述有损压缩。
6.根据权利要求1所述的方法,其中执行所述无损压缩包括执行第一无损压缩,且所述无损经压缩块包括第一无损经压缩块,所述方法进一步包括:与所述第一无损压缩同时执行第二不同无损压缩以产生第二无损经压缩块;与所述第一无损压缩和所述第二无损压缩同时执行第一有损压缩以产生第一有损经压缩块;与所述第一无损压缩、所述第二无损压缩和所述第一有损压缩同时执行第二不同有损压缩以产生第二有损经压缩块;基于所述第一无损经压缩块和所述第二无损经压缩块中的哪一者包含较少位来选择所述第一无损经压缩块或所述第二无损经压缩块;基于所述第一有损经压缩块和所述第二有损经压缩块中的哪一者包含较少位来选择所述第一有损经压缩块或所述第二有损经压缩块;当所述无损经压缩块的所述选定一者的位数目小于或等于所述当前位预算时,输出所述无损经压缩块的所述选定一者的位;以及当所述无损经压缩块的所述选定一者的所述位数目大于所述当前位预算时,输出所述有损经压缩块的所述选定一者的位。
7.根据权利要求6所述的方法,其进一步包括:对所述当前块的位进行量化以使得所述经量化位的数目小于或等于所述当前位预算,其中执行所述第一有损压缩包括对所述经量化位执行第一压缩,且其中执行所述第二有损压缩包括对所述经量化位执行第二不同压缩。
8.根据权利要求1所述的方法,其中输出所述无损经压缩块的所述位包括将所述无损经压缩块的所述位存储在帧缓冲器中。
9.根据权利要求1所述的方法,其中输出所述无损经压缩块的所述位包括将所述无损经压缩块的所述位传输到解压缩单元。
10.根据权利要求1所述的方法,其进一步包括: 将所述先前位预算设定为等于所述当前位预算。
11.根据权利要求1所述的方法,其进一步包括: 确定每块的平均位数目; 从所述每块的平均位数目中减去所述经压缩位阈值以确定每块的平均额外位;以及 将所述每块的平均额外位乘以所述图像帧内的块数目以确定所述图像帧的初始位预笪
O
12.根据权利要求11所述的方法,其中所述当前块包括在初始块之后的块,所述方法进一步包括:` 将所述经压缩位阈值添加到所述图像帧的所述初始位预算以确定所述初始块的压缩预算。
13.根据权利要求11所述的方法,其中确定所述每块的平均位数目包括将每像素的位数目与每块的像素数目相乘以确定每块的位数目,且将所述每块的位数目与目标压缩值相乘。
14.根据权利要求1所述的方法,其中确定所述当前块的所述当前位预算包括从所述先前位预算中减去所述先前经压缩块的所述位数目且与所述经压缩位阈值求和。
15.根据权利要求1所述的方法,其中确定所述当前块的所述当前位预算包括基于所述整个图像帧的初始位预算来确定像素值的所述当前块的所述当前位预算。
16.根据权利要求1所述的方法,其中确定所述当前块的所述当前位预算包括基于所述图像帧的一行的初始位预算来确定像素值的所述当前块的所述当前位预算。
17.根据权利要求1所述的方法,其中确定所述当前块的所述当前位预算包括基于所述图像帧的一切片的初始位预算来确定像素值的所述当前块的所述当前位预算。
18.—种系统,其包括: 图像处理器,其经配置以合成图像帧;以及 压缩单元,其经配置以: 至少基于先前位预算、先前经压缩块的位数目以及指示保证可用于图像帧的块中的每一者以用于压缩的位数目的经压缩位阈值来确定所述图像帧的像素值的当前块的当前位预算; 对所述当前块执行无损压缩以产生无损经压缩块;以及 当所述无损经压缩块的位数目小于或等于所述当前位预算时,输出所述无损经压缩块的位。
19.根据权利要求18所述的系统,其中所述压缩单元经配置以: 对所述当前块执行有损压缩以产生有损经压缩块;以及 当所述无损压缩块的位数目大于所述当前位预算时,输出所述有损压缩块的位。
20.根据权利要求19所述的系统,其中所述压缩单元经配置以对所述当前块的位进行量化以使得经量化位的数目小于或等于所述当前位预算,且对所述经量化位执行压缩以执行所述有损压缩。
21.根据权利要求20所述的系统,其中所述压缩单元经配置以: 基于所述当前位预算确定将应用的量化量;以及 基于所述所确定量化量对所述当前块的位进行量化,使得所述经量化位的所述数目小于或等于所述当前位预算。
22.根据权利要求19所述的系统,其中所述压缩单元经配置以与所述无损压缩同时执行所述有损压缩。
23.根据权利要求18所述的系统,其中所述无损压缩包括第一无损压缩,且所述无损经压缩块包括第一无损经压缩块,且其中所述压缩单元经配置以:与所述第一无损压缩同时执行第二不同无损压缩以产生第二无损经压缩块; 与所述第一无损压缩和所述第二无损压缩同时执行第一有损压缩以产生第一有损经压缩块; 与所述第一无损压缩、所述第二无损压缩和所述第一有损压缩同时执行第二不同有损压缩以产生第二有损经压 缩块; 基于所述第一无损经压缩块和所述第二无损经压缩块中的哪一者包含较少位来选择所述第一无损经压缩块或所述第二无损经压缩块; 基于所述第一有损经压缩块和所述第二有损经压缩块中的哪一者包含较少位来选择所述第一有损经压缩块或所述第二有损经压缩块; 当所述无损经压缩块的所述选定一者的位数目小于或等于所述当前位预算时,输出所述无损经压缩块的所述选定一者的位;以及 当所述无损经压缩块的所述选定一者的所述位数目大于所述当前位预算时,输出所述有损经压缩块的所述选定一者的位。
24.根据权利要求23所述的系统,其中所述压缩单元经配置以: 对所述当前块的位进行量化以使得所述经量化位的数目小于或等于所述当前位预算; 对所述经量化位执行第一压缩以执行所述第一有损压缩;以及 对所述经量化位执行第二不同压缩以执行所述第二有损压缩。
25.根据权利要求18所述的系统,其进一步包括包含所述图像处理器的装置,以及包含所述压缩单元的面板装置。
26.根据权利要求18所述的系统,其进一步包括包含所述图像处理器和所述压缩单元的装置。
27.根据权利要求18所述的系统,其中所述压缩单元将所述无损经压缩块的所述位存储在帧缓冲器中以输出所述无损经压缩块的所述位。
28.根据权利要求18所述的系统,其中所述压缩单元将所述无损经压缩块的所述位传输到解压缩单元以输出所述无损经压缩块的所述位。
29.根据权利要求18所述的系统,其中所述压缩单元经配置以:将所述先前位预算设定为等于所述当前位预算。
30.根据权利要求18所述的系统,其中所述压缩单元经配置以从所述先前位预算中减去所述先前经压缩块的所述位数目且与所述经压缩位阈值求和以确定所述当前块的所述当前位预算。
31.根据权利要求18所述的系统,其中所述压缩单元经配置以基于所述整个图像帧的初始位预算来确定像素值的所述当前块的所述当前位预算。
32.根据权利要求18所述的系统,其中所述压缩单元经配置以基于所述图像帧的一行的初始位预算来确定像素值的所述当前块的所述当前位预算。
33.根据权利要求18所述的系统,其中所述压缩单元经配置以基于所述图像帧的一切片的初始位预算来确定像素值的所述当前块的所述当前位预算。
34.一种压缩单元,其经配置以: 接收图像帧; 至少基于先前位预算、先前经压缩块的位数目以及指示保证可用于图像帧的块中的每一者以用于压缩的位数目的经压缩位阈值来确定所述图像帧的像素值的当前块的当前位预算; 对所述当前块执行无损压缩以产生无损经压缩块;以及 当所述无损经压缩块的位数目小于或等于所述当前位预算时,输出所述无损经压缩块的位。
35.根据权利要求34所述的压缩单元,其中所述压缩单元经配置以: 对所述当前块执行有损压缩`以产生有损经压缩块;以及 当所述无损压缩块的位数目大于所述当前位预算时,输出所述有损压缩块的位。
36.根据权利要求35所述的压缩单元,其中所述压缩单元经配置以对所述当前块的位进行量化以使得经量化位的数目小于或等于所述当前位预算,且对所述经量化位执行压缩以执行所述有损压缩。
37.根据权利要求36所述的压缩单元,其中所述压缩单元经配置以: 基于所述当前位预算确定将应用的量化量;以及 基于所述所确定量化量对所述当前块的位进行量化,使得所述经量化位的所述数目小于或等于所述当前位预算。
38.根据权利要求35所述的压缩单元,其中所述压缩单元经配置以与所述无损压缩同时执行所述有损压缩。
39.一种系统,其包括: 用于至少基于先前位预算、先前经压缩块的位数目以及指示保证可用于图像帧的块中的每一者以用于压缩的位数目的经压缩位阈值来确定所述图像帧的像素值的当前块的当前位预算的装置; 用于对所述当前块执行无损压缩以产生无损经压缩块的装置;以及 用于当所述无损经压缩块的位数目小于或等于所述当前位预算时输出所述无损经压缩块的位的装置。
40.一种包含存储于其上的指令的计算机可读存储媒体,所述指令在执行时致使一个或一个以上处理器: 至少基于先前位预算、先前经压缩块的位数目以及指示保证可用于图像帧的块中的每一者以用于压缩的位数目的经压缩位阈值来确定所述图像帧的像素值的当前块的当前位预算; 对所述当前块执行无损压缩以产生无损经压缩块;以及 当所述无损经压缩块的位数目小于或等于所述当前位预算时,输出所述无损经压缩块的位。
【文档编号】H04N19/124GK103636204SQ201280032975
【公开日】2014年3月12日 申请日期:2012年6月28日 优先权日:2011年7月5日
【发明者】佳缘·滕 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1