CN110401837A - 用于图形帧缓冲器的像素存储 - Google Patents
用于图形帧缓冲器的像素存储 Download PDFInfo
- Publication number
- CN110401837A CN110401837A CN201910333692.4A CN201910333692A CN110401837A CN 110401837 A CN110401837 A CN 110401837A CN 201910333692 A CN201910333692 A CN 201910333692A CN 110401837 A CN110401837 A CN 110401837A
- Authority
- CN
- China
- Prior art keywords
- pixel
- bits number
- pixel group
- memory
- target bits
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/363—Graphics controllers
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/39—Control of the bit-mapped memory
- G09G5/395—Arrangements specially adapted for transferring the contents of the bit-mapped memory to the screen
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/182—Methods 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 a pixel
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/186—Methods 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 a colour or a chrominance component
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/423—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2340/00—Aspects of display data processing
- G09G2340/02—Handling of images in compressed format, e.g. JPEG, MPEG
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2350/00—Solving problems of bandwidth in display systems
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2360/00—Aspects of the architecture of display systems
- G09G2360/18—Use of a frame buffer in a display terminal, inclusive of the display panel
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computer Graphics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本公开涉及用于图形帧缓冲器的像素存储。实施图形帧缓冲器的主体像素存储的装置可包含至少一个处理器,所述至少一个处理器经配置以:获得含有存储于存储器中的多个像素的多个数据单元,所述多个数据单元中的每一者包含与所述多个像素中的第二像素的至少一部分连续地封装的所述多个像素中的第一像素,其中所述多个像素由位数目表示;从所述多个像素获得像素群组;及使用目标位数目存储所述像素群组。还提供实施图形帧缓冲器的所述主体像素存储的方法及计算机程序产品。
Description
相关申请的交叉引用
本申请要求2018年4月25日提交的标题为“视频译码(VIDEO CODING)”的第62/662,399号美国临时申请的优先权权益,所述申请通过引用以其全文结合在此。
技术领域
本说明书大体上涉及视频编码、压缩及/或存储,及视频解码、解压缩及/或存储,但非排他地,涉及用于图形帧缓冲器的像素存储。
背景技术
根据编码及解码标准(例如,每样本8个位),包含图像、视频及渲染的标准动态范围(SDR)媒体具有用于像素的亮度值或明度的有限动态范围,所述有限动态范围由位深度或可用于表示像素的亮度的位数目限制。相反,高动态范围(HDR)媒体标准提供更多位或更大位深度(例如,每样本10、12、16、24、32个位或更多),从而允许图像在白色与黑色或明亮与黑暗区域之间的更大范围,而不会由于过度量化而引入不可接受量的梯化现象。因此,媒体可具有较高对比度、较暗黑暗部分及较亮明亮部分。
发明内容
本公开的方面涉及一种装置,所述装置包括:至少一个处理器,其经配置以:获得含有存储于存储器中的多个像素的多个数据单元,所述多个数据单元中的每一者包含与所述多个像素中的第二像素的至少一部分连续地封装的所述多个像素中的第一像素,所述多个像素由一定数目个位表示;从所述多个像素获得像素群组;及使用目标位数目存储所述像素群组。
在本公开的另一方面,方法包括:获得含有存储于存储器中的多个像素的多个数据单元,所述多个数据单元中的每一者包含与所述多个像素中的第二像素的至少一部分连续地封装的所述多个像素中的第一像素,所述多个像素由一定数目个位表示;从所述多个像素获得像素群组;使用目标位数目压缩所述像素群组;及存储所述压缩像素群组。
在本公开的又一方面,计算机程序产品包括存储于有形计算机可读存储媒体中的指令,其中所述指令包括:用于获得含有存储于存储器中的多个像素的多个数据单元的指令,所述多个数据单元中的每一者包含与所述多个像素中的第二像素的至少一部分连续地封装的所述多个像素中的第一像素,所述多个像素由一定数目个位表示;用于从所述多个像素获得像素群组的指令;用于使用与所述位数目不同的目标位数目压缩所述像素群组的指令;及用于存储所述压缩像素群组的指令。
附图说明
在所附权利要求书中阐述本发明技术的某些特征。然而,出于阐释的目的,在以下图式中阐述本发明技术的若干实施例。
图1说明实例网络环境,其中可根据一或多个实施方案实施视频译码***。
图2说明根据一或多个实施方案的实施用于图形帧缓冲器中的像素存储的图形***的实例电子装置120。
图3说明根据一或多个实施方案的用于图形帧缓冲器中的像素存储的实例图形***的数据流。
图4说明根据一或多个实施方案的未压缩图形帧缓冲器及对应的压缩图形帧缓冲器。
图5A到5C说明根据一或多个实施方案的用于图形帧缓冲器中的像素存储的***的相应实例像素存储过程的流程图。
图6在概念上说明通过其实施本发明技术的任何实施方案的电子***。
具体实施方式
下文阐述的详细描述意图作为对本发明技术的各种配置的描述,且并非意图表示可实践本发明技术的唯一配置。附图并入本文中并且构成详细描述的一部分。详细描述包含出于提供对本发明技术的透彻理解的目的的具体细节。然而,本发明技术不限于本文中阐述的具体细节且可使用一或多个实施方案来实践。在一或多个例子中,以框图形式示出结构及组件以避免混淆本发明技术的概念。
图形处理***通常保持两种类型的缓冲器,即,可显示缓冲器及不可显示缓冲器。可显示缓冲器包含可传送带显示器,例如TV或计算机监视器的像素。不可显示缓冲器可包含辅助数据,例如,应用程序用于帮助渲染可显示缓冲器的深度图,或不可显示缓冲器可包含像素数据,例如,用于中间处理且不直接发送到显示器的纹理图。
传统***包含SDR***,并且通常将其可显示缓冲器的像素以每分量8位存储在存储器中。三个分量(红(R)、绿(G)及蓝(B))通常与用于控制渲染图形的层之间的混合强度的称为α(A)的项一起存储。在一些实施方案中,这些分量,即R、G、B及A一般可一起称为“RGBA”。典型的RGBA像素可适合32位存储器位置。在传统的中央处理单元(CPU)及图形处理单元(GPU)***中,这是很好地适合(或封装)存储器组织的适宜位数目。就此而言,32位的任何倍数可很好地封装。在一些方面中,具有64位(或某一其它倍数)的像素数据可为存储器,例如动态随机存取存储器(DRAM)的最高效使用。在此实例中,两个像素(即,2*32位=64位)将处理为单个数据单元。在一些方面中,术语“缓冲器”一般指位于芯片外的DRAM缓冲器。
传统的存储器组织也可据称为高效的。封装RGBA像素中的所有32位可含有有用及有效信息。传统的存储器组织还可据称提供简单的随机存取。由于一个像素包含在一个32位字内,因此为了通过CPU或GPU访问特定像素,访问32位字所需的地址计算简单且高效。
当读出可显示器缓冲器以供显示时,可以满足通过接口到显示器(例如,高清多媒体接口(HDMI)或DisplayPort)的像素流的速率从存储缓冲器(通常DRAM)读取像素。如果像素流的速率无法满足在任何时间显示所需的速率,则显示器上的图片可能已损坏。为了防止此类问题,必须保证所需速率可由***提供。为了保证所需数据流速率可由***提供,必须知道需要以何种速率从DRAM读取多少数据。对于上文提供的RGBA实例,与多少像素耦合的定义明确的像素存储参数存储在缓冲器中,并且进一步与帧时间(例如,显示器的刷新率的倒数)耦合引起从DRAM的清楚定义的所需像素流速,所述像素流速是避免显示器损坏所需的。
与SDR***相比,HDR***允许较大明度范围(较亮及较暗两者)。HDR***还允许色域的较宽范围。就此而言,与SDR***相比,HDR***可显示明度及颜色的较宽范围。因此,用于SDR像素的封装技术与HDR像素封装不兼容。当表示HDR***中的像素时,需要用于可显示器缓冲器的最小值每分量10位来提供通常可接受的图片质量。如果使用少于每分量10位,则分量的位深度分辨率缺乏可能导致显示器上的聚束及其它量化伪影。因此,需要选择提供最小值每分量10位的像素格式。然而,不存在满足实施节约成本的HDR图形***所需的封装、效率、随机存取及实时访问要求的可用的当前像素格式。
本发明技术提供将像素存储在HDR图形***中以用于具有图2到4所描述特性的可显示图形帧缓冲器的有损压缩过程。可节约成本地支持HDR图形***的可显示图形帧缓冲器,同时满足所需的图形***要求。通过根据一或多个实施方案的像素格式及有损压缩的所描述特性,可满足封装、效率、随机存取及实时要求。
图1说明实例网络环境100,其中可根据一或多个实施方案实施视频译码***。然而,可能不需要全部的所描绘组件,并且一或多个实施方案可包含图中未展示的额外组件。可在不脱离如本文所阐述的权利要求书的精神或范围的情况下,对组件的布置及类型作出变化。可提供额外组件、不同组件或较少组件。
实例网络环境100包含内容传递网络(CDN)110,其例如通过网络108可通信地耦合到电子装置120。CDN 110可包含及/或可通信地耦合到内容服务器112,以通过网络108、用于在空中传输编码数据流的天线116,及用于将编码数据流传输到卫星115的卫星传输装置118来编码及/或传输编码数据流,例如高效视频译码(HEVC)编码视频流、AV1编码视频流,及/或H266编码视频流。
电子装置120可包含及/或可耦合到卫星接收装置122,例如圆盘式卫星天线,其从卫星115接收编码数据流。在一或多个实施方案中,电子装置120可进一步包含用于在空中从CDN 110的天线116接收编码数据流,例如编码视频流的天线。内容服务器112及/或电子装置120可为,及/或可包含下文相对于图2论述的电子***的一或多个组件。
网络108可为公共通信网络(例如,因特网、蜂窝数据网络、通过电话网络的拨号调制解调器)或专用通信网络(例如,专用局域网(“LAN”)、租用线路)。网络108还可包含但不限于以下网络拓扑中的任何一或多者,包含总线网络、星形网络、环形网络、网状网络、星形总线网络、树型或分层网络等。在一或多个实施方案中,网络108可包含以通信方式耦合内容服务器112及电子装置120的传输线,例如,共轴传输线、光纤传输线或一般任何传输线。
内容服务器112可包含,或可耦合到一或多个处理装置、数据存储装置114、编码器及/或压缩装置。举例来说,一或多个处理装置执行存储在数据存储装置114中的计算机指令来实施内容传递网络。数据存储装置114可将计算机指令存储在非暂时性计算机可读媒体上。数据存储装置114可进一步存储由CDN 110传递的一或多个程序,例如视频及/或音频流。编码器可使用编解码器来编码视频流,例如,HEVC编解码器、AV1编解码器、H266编解码器或任何其它合适的编解码器。在一或多个实施方案中,编码器可实施编码、压缩及/或存储技术中的一或多者。
在一或多个实施方案中,内容服务器112可为单个计算装置,例如,计算机服务器。或者,内容服务器112可表示一起工作以执行服务器计算机的动作的多个计算装置(例如,计算机的云及/或分布式***)。内容服务器112可与各种数据库、存储服务,或可与内容服务器112并置或可与内容服务器112不同地定位的其它计算装置耦合。
电子装置120可包含或可耦合到一或多个处理装置、存储器及/或解码器,例如硬件解码器。电子装置120可为能够对编码数据流,例如编码视频流进行解码及/或解压缩的任何装置。在一或多个实施方案中,解码器可实施解码、解压缩及/或存储技术中的一或多者。
举例来说,当例如通过视频处理引擎将像素及/或像素分量写入存储器中时,可一起处理像素群组以利用那些像素内的统计冗余。在一或多个实施方案中,存储器可为DRAM并且举例来说,可对应于一或多个图形帧缓冲器。在一或多个实施方案中,目标位数目可用于表示像素群组。举例来说,目标位数目可多于、少于或等于对应于像素群组的原始位数目。
在一或多个实施方案中,电子装置120可为,或可包含以下各项的全部或部分:膝上型计算机或台式计算机;智能电话;平板计算机装置;可穿戴电子装置,例如一副眼镜或手表,其中一或多个处理器耦合到其及/或嵌入其中;机顶盒;电视机或其它显示器,其中一或多个处理器耦合到其及/或嵌入其中;或其它合适的电子装置,其可用于对编码数据流,例如编码视频流进行解码。
在图1中,电子装置120描绘为机顶盒,例如,耦合到显示器124且能够在所述显示器上显示视频内容的装置,例如,电视机、监视器,或能够显示视频内容的任何装置。在一或多个实施方案中,电子装置120可集成到显示器124中,及/或显示器124可能够输出除了视频内容之外的音频内容。电子装置120可从CDN 110接收流,例如编码数据流,所述编码数据流包含例如电视节目、电影或一般任何内容项目的内容项目。电子装置120可通过天线116、通过网络108及/或通过卫星115从CDN 110接收编码数据数据流,并且例如使用硬件解码器来对编码数据流进行解码。
图2说明根据一或多个实施方案的实施用于图形帧缓冲器中的像素存储的图形***的实例电子装置120。然而,并非可使用全部的所描绘组件,并且一或多个实施方案可包含图中未展示的额外组件。可在不脱离如本文所阐述的权利要求书的精神或范围的情况下,对组件的布置及类型作出变化。可提供额外组件、不同组件或较少组件。
电子装置120包含图形渲染及准备部分202,及显示部分204。图形渲染及准备部分202可包含一或多个解码器222(描绘为“视频解码器”)、处理单元块224,及存储器226。显示部分204可包含显示引擎块240。在一或多个实施方案中,存储器226可为DRAM,或可包含DRAM。在一或多个实施方案中,处理单元块224包含一或多个中央处理单元块235(描绘为“CPU”)、三维(3D)图形引擎块237,及二维(2D)图形引擎块239。一或多个CPU块235、3D图形引擎块237,及2D图形引擎块239中的每一者可单独地访问存储器226,并从存储器226读取像素数据及将像素数据写入存储器226中。在一或多个实施方案中,CPU块235、3D图形引擎块237,及/或2D图形引擎块239中的每一者可为能够对编码数据流,例如编码视频流进行解码及/或解压缩,及能够对解码数据流,例如解码视频流进行编码及/或压缩的任何装置。在一或多个实施方案中,处理单元块224可包含一或多个MPEG馈送器模块、一或多个定标器模块,或一般任何图像处理块或模块。
在操作中,解码器222可例如从一或多个AV流源接收一或多个视频流。举例来说,解码器222可接收进入的视频流信号212。进入视频流信号212可作为压缩数字数据或数字化基带模拟视频流动。解码器222可对进入的视频流信号212进行解压缩及解码,并且在存储器226中缓冲视频流的静止帧图像。解码器222可基于进入的视频流信号212生成解码流。解码器222可从存储器226检索可解码流,对所述可解码流进行解码及将所述可解码流再次存储在存储器226中。在一些方面中,存储器226可由存储器控制模块(未展示)控制。在一或多个实施方案中,进入的视频流信号212可包含已呈解码格式的视频流,例如从蓝光播放器接收的视频流,并且可绕过解码器222。
多个处理块(例如,CPU块235、3D图形引擎块237、2D图形引擎块239)从存储器226读取像素数据及将像素数据写入存储器226中。处理块中的每一者可渲染像素,并且一个块的输出像素随后可输入到另一块以便进一步处理,例如,将多个平面混合到单个合成图形缓冲器(未展示)中。在一些实施方案中,处理块224中的至少一者随后可在解码流上操作。处理单元块224可对视频流的静止帧图像执行图像处理,例如缩放等,并且将经处理帧提供到显示引擎块240。举例来说,CPU块235可应用缩放及组成帧。在其它实例中,3D图形引擎块237及/或2D图形引擎块239中的任一者可将图形或附加视频与进入的视频流信号212组合。随后,可通过合适的输出接口,例如视频输出接口214将所得流发送到一或多个视频编码器(未展示)以供显示。
处理块224中的每一者可经由存储器226获得从其它处理块,例如CPU 235、3D图形引擎块237或2D图形引擎块239输出的未压缩像素数据。处理块224可基于信号的输入格式及输出格式,及任何合适的***要求而处理进入的视频流信号212。进入的视频流信号212可按比例缩放并直接转换成输出显示格式,或经由3D/2D引擎块235、237通过单个及多个捕获及播放环路。每个捕获及播放环路可涉及数据处理,例如,DNR、MAD-IT,或缩放等等。存储器226可包含一系列图形帧缓冲器,例如可显示缓冲器,其允许无限数目的图形层在进行显示之前合成及混合在一起。显示引擎240可并行读取多个准备的图形帧缓冲器并执行最终混合以供显示。下文参考图5A进一步论述对压缩像素进行解码及将未压缩像素存储在存储器中的实例过程。
在图形帧缓冲器可用之后,图形帧缓冲器可使用合成器与视频组合。合成器可允许多达两个视频表面与存储于图形帧缓冲器中的数据组合。在一些实施方案中,任何表面的混合次序可由计算机实施的过程控制。处理单元块224接收静止帧图像,及确定合成图像中将可见,例如未被遮挡的静止帧图像的像素。
在一或多个实施方案中,当图像合成为合成图像时,处理单元块224及/或显示引擎块240可例如从应用层接收位置信息项及静止帧图像中的每一者的层指示。举例来说,处理单元块224及/或显示引擎块240可以通信方式耦合到电子装置120的主机处理器(未展示),并且主机处理器可将位置信息项及/或层指示提供给处理单元块224及/或显示引擎块240。
在视频处理期间,在显示之前立即组合任何图形或附加视频,并且控制的视频随后通过视频输出接口214发送到一或多个视频编码器(未展示)以供显示。处理单元块224中的每一者可包含编码器,所述编码器对可称为图像的可见像素的将在合成图像中可见的图像像素进行编码,例如压缩,并且将压缩的可见像素存储在存储器226的图形帧缓冲器中。捕获块239随后例如至少基于图像中的每一者的位置信息确定存储器中226用于写入图像中的每一者的压缩像素的位置,例如地址,并且将压缩像素写入存储器226的所确定位置中。下文关于图5B进一步讨论压缩图像的可见像素及将压缩像素写入存储器226中的实例过程。
响应于对显示渲染图形的请求,图形***可在3D图形引擎块237或2D图形引擎块239中的一或多者中生成渲染图形。对显示渲染图形的请求的实例可包含激活菜单、改变频道、浏览频道指南、显示照片或视频,及可引起渲染图形的显示的其它请求。响应于对渲染图形的请求,图形***可首先确定将用于渲染图形的色彩空间及非线性空间。在特定色彩空间或非线性空间中渲染图形的决策可取决于可对应于图形***的各个组件的容量的多个性能参数,及/或图形***外部的组件的其它参数。
在完成渲染图形之后,处理单元块224及/或显示引擎块240可对渲染图形执行各种色彩空间转换或非线性空间转换。随后,转换的图形可与静止帧图像组合及在合成器中组合以生成混合的视频输出。举例来说,合成器可接收视频流的静止帧图像,以添加附加的渲染图形并增强每个静止帧图像的信息。可将混合的视频示出提供给后处理器(未展示)。后处理器可对混合视频执行色彩空间转换或非线性转换以生成转换的输出。
显示引擎块240可在片上显示器缓冲器(未展示)中生成合成图像,并且可将合成图像提供给输出装置124,例如以供显示。包含组合的视频帧及图形的合成图像可通过与图形缩放***或显示装置的特定应用相关的视频输出接口214输出到显示器。视频输出接口214可包含HDMI图形连接、分量视频、A/V、合成、同轴或与特定视频显示器兼容的任何其它连接。
显示引擎块240可以任何合适的格式提供输出信号。举例来说,显示引擎块240可提供HD/SD、ITU-R-656TTX、HDMI,或任何其它合适的格式。在一些实施方案中,显示引擎块240包含视频编码器,所述视频编码器支持以下输出标准:NTSC-M、NTSC-J、PAL-BDGHIN、PAL-M、PAL-Nc,及SECAM。在一些实施方案中,另外支持以下输出格式:合成、S-视频、SCART1、SCART2、RGB及YPrPb分量,并且显示引擎块240可支持480i、480p、576i、576p、720p、1080i、1080p、2K、超高清(UHD)、4K、8k等等的输出分辨率。在一些实施方案中,高质量视频及图形处理集成到集成电路裸片中,从而具有2D/3D图形处理,同时仍保持存储器带宽的高效使用。
在一或多个实施方案中,解码器222、处理单元块224,及/或显示引擎块240可实施于软件(例如,子例程及代码)中。在一或多个实施方案中,解码器222、处理单元块224,及/或显示引擎块240可实施于硬件(例如,专用集成电路(ASIC)、现场可编程门阵列(FPGA)、可编程逻辑装置(PLD)、控制器、状态机、门控逻辑、离散硬件组件或任何其它合适的装置)两者的组合中。根据本发明技术的各个方面的这些模块的额外特征及功能在本公开中进一步描述。
图3说明根据一或多个实施方案的用于图形帧缓冲器中的像素存储的实例图形***300的数据流。然而,并非可使用全部的所描绘组件,并且一或多个实施方案可包含图中未展示的额外组件。可在不脱离如本文所阐述的权利要求书的精神或范围的情况下,对组件的布置及类型作出变化。可提供额外组件、不同组件或较少组件。
图形***300包含处理块310及存储器226。处理块310包含解压缩块312、填充丢弃块314、处理单元核心316、有损压缩块320,及填充***块318。在一或多个实施方案中,CPU块235、3D图形引擎块237及2D图形引擎块239中的每一者可为,或包含处理块310的至少一部分。存储器226包含用于存储有损压缩的HDR像素数据的图形帧缓冲器332-1及332-2,并且包含用于存储未压缩HDR像素数据的图形帧缓冲器334-1及334-2。解压缩块312包含与图形帧缓冲器332-1的输入接口,用于从存储装置获得有损压缩的HDR像素数据。有损压缩块320包含到图形帧缓冲器332-2的输出接口,用于存储有损压缩的HDR像素数据。填充丢弃块314具有与图形帧缓冲器334-1的输入接口,用于接收未压缩的HDR像素数据并从像素数据帧清除(或丢弃)任何填充。填充***块318具有与图形帧缓冲器334-2的输出接口,用于存储像素数据帧,所述像素数据帧含有***有未压缩的HDR像素数据的填充。解压缩块312及填充丢弃块314中的每一者具有与处理单元核心316的相应输出接口,以在未压缩的HDR像素数据上进行处理。有损压缩块320及填充***块318中的每一者具有与处理单元核心316的相应输入接口,以接收经处理的未压缩HDR像素数据,用于将相应HDR像素数据存储在存储器226中。
在操作中,处理块310从存储器226的图形帧缓冲器332-1检索压缩的可见像素,例如有损压缩的HDR像素数据的字节;例如至少基于位置信息及从存储器226检索字节的存储地址而确定对应于压缩的可见像素的图像;及可将压缩的可见像素存储在与所确定图像相关联的存储器226中的另一图形帧缓冲器,例如图形帧缓冲器332-2中。通过例如至少基于位置信息及层指示而从合适的图形帧缓冲器332-1检索合适的压缩可见像素;及使用本地解码器,例如解压缩块312对压缩的HDR像素数据进行解码,例如解压缩,处理块310可例如逐线生成合成图像。
在一些实施方案中,许多不可显示缓冲器(例如,含有辅助数据的缓冲器)不适合于有损压缩,因为信息的任何损耗可能对图形渲染过程产生严重的不利后果。其它不可显示缓冲器可包含不适合于有损压缩的像素,因为信息的任何损害可能损坏预期用于某些图形***(例如,OpenGL、Vulkan)的一致性测试的数学精度。但由于不可显示,所述缓冲器不具有如可显示缓冲器的实时要求,因此可适合于无损压缩。然而,可显示缓冲器最终指定用于显示在TV或计算机监视器上。无论如何,鉴于人类视觉***的特性及端到端图形***的缺陷,只要压缩指令足够高,则有损压缩可适合于与可显示缓冲器一起使用。
为了减少每像素的有效位数目,可通过利用像素之间的统计冗余来执行像素的压缩。尽管无损压缩通常可减小表示给定像素数目所需的位数目,但是取决于实际像素及其统计分布,无损压缩有时可引起表示像素所需的位数目的增加。位的这种增加可由于像素中有效的随机性或附加信息,因此导致无损压缩算法不会如所期望那样执行压缩。尽管可将此增加的上限向上设定成刚好高于未压缩的大小,但是不可假设可产生少于原始位数目的位数目。为了满足实时访问要求,需要考虑这种最坏情况增加。尽管无损压缩通常减少表示像素所需的位数目,但是出于实时访问目的,无损压缩可为有害的而不是有益的。
在一或多个实施方案中,本发明技术提供一种将HDR像素数据存储在图形***中的有损压缩方法,所述图形***用于具有下文所描述的特征的可显示图形帧缓冲器。举例来说,当例如通过处理块310将像素及/或像素分量写入存储器226中作为像素数据时,可一起处理像素群组以利用那些像素内的统计冗余。在一或多个实施方案中,存储器226可为DRAM且可对应于,或包含举例来说,一或多个图形帧缓冲器(例如,332-1、332-2、334-1、334-2)。在一或多个实施方案中,目标位数目可用于表示像素群组。举例来说,目标位数目可多于、少于或等于对应于像素群组的原始位数目。
如图3中所说明,图形***300内的数据流涉及处理块310读取及写入压缩或未压缩HDR像素。取决于***要求,处理块310可支持压缩/未压缩的输入及/或输出的所有组合。尽管未压缩的HDR像素数据可通过填充存储于存储器226中,但是处理块310可丢弃用于内部处理的填充。而且,有损压缩块320可压缩真实数据,因为可在输出时间在此数据的任何未来解压缩中重新***填充(通常0秒)。
在一或多个实施方案中,对于内部地在图形***300中的R、G、B及A分量中的每一者,处理块310可使用10位、12位或更多位将像素存储在存储器226的可显示图形帧缓冲器中。然而,当将像素数据写入存储器226中时,一起处理像素群组(例如,4像素乘以4像素,总共16像素)以利用那些像素内的统计冗余。但是严格地与以上无损压缩情况相比,使用可小于原始位数目的目标位数目来表示像素群组。在一些实施方案中,目标位数目大于表示像素群组所需的位数目。然而,在此情况下,填充所需位来满足目标位数目,因此可保持所需的随机存取特征。如果需要多于目标位数目来表示像素群组,则使用的位数目限于目标位数目。在一些方面中,丢弃信息的子集,并且处理块310尝试丢弃视觉上不重要的信息。与可产生数学上相同的原始及随后解压缩的压缩缓冲器的无损压缩算法相比,有损压缩算法可提供视觉上(但不是数学上相同)无损压缩。
在一些实施方案中,目标位数目可为值2的幂(例如,32、64、128等)且基于压缩比。如果目标位数目太小,则压缩比可能过高,因此损害视觉质量。本发明技术提供用于确定适当的目标位数目来获得足够的视觉质量。在一或多个实施方案中,目标位数目基于DRAM突发大小的倍数。举例来说,DRAM突发大小可被称为用于将数据传输到存储器226的突发长度。
压缩比可为每目标位数目的实际位数目。压缩比的现有技术为约10:1,但是比率值可根据实施方案而不同。因为主体***经配置以处理较小块(例如,4×4像素块)并且相对实时地执行图像处理,所以与10:1下的现有技术相比,主体***的目标在2:1下可更保守。实际上,举例来说,对于处理此相对较少数目的像素,压缩比10:1可能不可行,因为这些像素中不存在足够冗余来有效地利用压缩。
图4说明根据一或多个实施方案的未压缩图形帧缓冲器334及对应的压缩图形帧缓冲器332。然而,并非可使用全部的所描绘组件,并且一或多个实施方案可包含图中未展示的额外组件。可在不脱离如本文所阐述的权利要求书的精神或范围的情况下,对组件的布置及类型作出变化。可提供额外组件、不同组件或较少组件。
在一些实施方案中,未压缩图形帧缓冲器334可对应于含有用于显示的HDR像素数据的可显示缓冲器,或在其它实施方案中,可对应于含有辅助数据(不用于显示)的不可显示缓冲器。在一些实施方案中,压缩图形帧缓冲器332对应于含有有损压缩的HDR像素数据的可显示缓冲器。压缩图形帧缓冲器332可含有HDR压缩数据,所述HDR压缩数据在解压之后对应于对应的未压缩图形帧缓冲器334的HDR像素数据的相同块。
在一或多个实施方案中,图形帧缓冲器334可存储具有为HDR图形***考虑的第一像素格式的像素数据,所述第一像素格式一般可称为RGB10_A2。举例来说,在一个32位字中,第一像素格式包含各自封装有10位的红色、绿色及蓝色分量,及具有两个位的α分量。一般来说,两个位不足以使α分量执行适当混合。然而,为α分量保留10位不适合第一像素格式。第一像素格式满足封装、效率、随机存取及实时访问要求,但是在仅两个位可用于α的情况下,第一像素格式不满足α中所需的分辨率,以便充分用于现代用户接口。
在一或多个实施方案中,图形帧缓冲器334可存储具有为HDR图形***考虑的第二像素格式的像素数据,所述第二像素格式一般可称为RGBA10x6。举例来说,R、G、B及A分量中的每一者具有10个位,但是每一者填充到16位以适合每分量16位半字,使得出于封装及随机存取目的,整个像素适合64位。这提供以下优点:提供每分量10位,但是通过40位信息,第二像素格式占用64位DRAM。就此而言,第二像素格式的效率低,因为64位中的24位未使用。而且,通过需要每像素64位,与SDR图形***及第一像素格式相比,所需的存储及带宽量加倍。就此而言,由于不含有有用及有效信息的DRAM中的额外读取位置,第二像素格式提供低效率并且通过扩展,提供高成本。
在一或多个实施方案中,图形帧缓冲器334可存储具有为HDR图形***考虑的第三像素格式的像素数据,所述第三像素格式一般可称为RGBA10。举例来说,R、G、B及A分量中的每一者具有10个位,然而与第二像素格式相比,每个分量未填充到16位。相反,连续地封装每个10位分量以在数据单元中形成40位,例如,64位字,并且将下一像素的部分封装在相同64位字中。举例来说,第一像素占据64位中的40位,并且其余24位用于第二像素的R及G分量,及第二像素的B分量的四个位。第二像素的B分量及α分量的其余6个位存储于另一数据单元,例如另一64位字中。随后,此过程在下一64位字中重复。第三像素格式比第二像素格式更有效,因为第三像素格式使用较少空间,由此浪费减少位。然而,第三像素格式可损害执行随机存取的能力,因此本发明技术的方法可需要一次从存储器读取若干像素(例如,若干64位数据单元)来提取目标位数目。
在一或多个实施方案中,图形帧缓冲器334可存储具有为HDR图形***考虑的第四像素格式的像素数据,所述第四像素格式一般可称为FP16。FP16是浮点像素格式,其中RGBA分量中每一者用存储于16位中的浮点数表示。在一些方面中,整个RGBAFP16像素需要64位存储。第四像素格式具有用于表示HDR像素的足够分辨率。然而,通过其每像素64位存储的要求,第四像素格式具有与第二像素格式相等的低效率。与SDR***及第一像素格式相比,第四像素格式还需要存储及带宽量的两倍并且引申开来是高成本的。
未压缩图形帧缓冲器334可存储具有未压缩封装的像素数据。举例来说,未压缩图形帧缓冲器334可存储具有第二像素格式,即RGBA10x6的像素数据,其中像素数据位封装有每分量RGBA 16位。在此格式中,对于每个分量,10个位表示为真实数据并且6个位表示为填充。如果未压缩图形帧缓冲器334存储像素数据块,例如4×4像素群组,则如果用第二像素格式表示,像素数据的封装块可包含总共1024个位。在一些实施方案中,替代地,未压缩图形帧缓冲器334可存储具有第三像素格式,即RGBA10的像素数据,其中像素数据位用每分量RGBA 10位连续地封装。如果未压缩图形帧缓冲器334商店像素数据块,例如,4×4像素群组,则像素数据的封装块可包含总共640个位。
因为未压缩图形帧缓冲器334可存储对应于存储器单元中的多于一个HDR像素的未压缩像素数据(例如,64位字),所以访问来自DRAM的多个存储器单元(对应于未压缩HDR像素数据块)并用有损压缩算法处理所述存储器单元,以输出压缩HDR像素数据的对应块。就此而言,压缩图形帧缓冲器332存储对应于目标位数目的压缩数据。在一或多个实施方案中,目标位数目可用于表示像素群组。举例来说,目标位数目可多于、少于或等于对应于像素群组的原始位数目。
在一或多个实施方案中,来自多个像素的像素群组(例如,4×4像素块)可使用目标位数目存储于DRAM(或存储器226)中。可选择目标位数目以提供有益的压缩量,并且将目标位数目设计成很好地封装在存储器中。未压缩形式的4×4像素群组可包含具有第三像素格式的640个位。使用由有损压缩块320(图3)执行的有损压缩算法,可基于压缩比将此像素群组压缩降至目标位数目。基于约2.5:1的压缩比及对应于像素群组的原始位数目是640个位,可将目标位数目选择为例如,256个位。这等效于每像素16个位。在其它实例中,如果压缩比为约1.25:1,则可将目标位数目选择为512个位。在另外其它实例中,如果压缩比为约5:1,则可将目标位数目选择为128个位(当对应于像素群组的原始位数目是640个位时)。在其它实施方案中,目标位数目可对应于DRAM突发大小的倍数。在一些实施方案中,目标位数目可对应于值2的幂(例如,16、32、64、128、256、512等),或在其它实施方案中,可对应于值2的倍数。
在一个实例中,像素群组可处理为块。如图4中说明,块410包含未压缩HDR像素数据的NxM块。块410可包含可压缩成压缩HDR像素数据的对应N×M块(例如,420)的4×4像素群组。举例来说,块410可包含640个位的未压缩HDR像素数据,其中16个像素中的每一者包含每分量(R、G、B、A)10位。未压缩HDR像素数据的块410需要适合DRAM中的已知位数目(例如,256个位的目标数目)。假定像素群组包含需要适合DRAM中的256位块的640位信息,有损压缩算法应用于此未压缩信息块以清除视觉上不太重要的任何信息。有损压缩操作的目标是输出等效于目标位量(例如,256个位)的压缩数据。在一些实施方案中,压缩数据块可需要一些填充来确保压缩数据块对应于所述位数目(例如,包含256个位)。如果未压缩数据块包含超过压缩所需的附加信息,则压缩数据块仍受限于目标位数目以保持与DRAM中的存储器分配一致。在一些实施方案中,无论像素群组中包含的信息类型(或像素类型)如何,压缩输出是已知位值(或等效于目标位数目)。
图5A到5C说明根据一或多个实施方案的用于图形帧缓冲器中的像素存储的***的相应实例像素存储过程的流程图,其中图5A说明实例像素存储过程510的流程图,图5B说明实例像素存储过程500的流程图,并且图5C说明实例像素存储过程530的流程图。出于解释性目的,本文主要参考图3的处理块310描述实例像素存储过程510、520及530;然而,实例像素存储过程510、520及530不限于图3的处理块310,并且实例像素存储过程510、520及530可由电子装置120的一或多个其它组件执行。进一步出于解释性目的,实例像素存储过程510、520及530的块在本文中描述为串联或线性地出现。然而,实例像素存储过程510、520及530的多个块可并联出现。另外,可按照与所示次序不同的次序执行实例像素存储过程510、520及530的块,及/或不执行实例像素存储过程510、520及530的块中的一或多者。
在图5A中,过程510在步骤511处开始,其中处理块310对接收到的视频流进行解码(例如,212)。接下来,在步骤512处,处理块310从解码视频流获得像素群组。随后,在步骤513处,处理块310基于存储格式根据像素格式封装像素群组。存储格式可对应于存储器访问大小(例如,32位字访问)。接下来,在步骤514处,处理块310确定像素群组的像素格式是否需要填充。如果像素格式的确需要填充,则过程510前进到步骤515。否则,过程510前进到步骤516。在步骤515处,处理块310根据像素格式将一或多个填充位添加到像素群组。随后,在步骤516处,处理块310将具有像素格式的像素群组存储到DRAM(例如,226)中的图形帧缓冲器(例如,334)。
在图5B中,过程520在步骤521处开始,其中处理块310对来自DRAM(例如,226)中的第一图形帧缓冲器(例如,332-1)的压缩像素数据块进行解码。接下来,在步骤522处,处理块310处理解码像素数据块。随后,在步骤523处,处理块310确定用于表示对应于经处理像素数据块的位数目的目标位数目。在一些方面中,目标位数目不同于位数目。接下来,在步骤524处,处理块310对经处理像素数据块执行有损压缩操作,以使用目标位数目输出压缩像素数据。随后,在步骤525处,处理块310将压缩的像素数据存储到DRAM中的第二图形帧缓冲器(例如,334-2)。
在图5C中,过程530在步骤531处开始,其中处理块310从DRAM(例如,226)中的第一图形帧缓冲器(例如,334-1)获得未压缩像素数据块。接下来,在步骤532处,根据未压缩像素数据块的像素格式,处理块310丢弃来自未压缩像素数据块的任何填充。随后,在步骤533处,处理块310处理未压缩像素数据块。接下来,在步骤534处,处理块310确定未压缩像素数据块的像素格式是否需要填充。如果像素格式的确需要填充,则过程530前进到步骤535。否则,过程530前进到步骤536。在步骤535处,处理块310根据像素格式将一或多个填充位添加到未压缩像素数据块。随后,在步骤536处,处理块310将具有像素格式的未压缩像素数据块存储到DRAM(例如,226)中的第二图形帧缓冲器(例如,334-2)。
图6在概念上说明可通过其实施本发明技术的一或多个实施方案的电子***600。举例来说,电子***600可为网络装置、媒体转换器、台式计算机、笔记本计算机、平板计算机、服务器、智能电话,或一般对视频及/或音频流进行编码及/或解码的任何电子装置。此电子***600包含各种类型的计算机可读媒体,及用于各种其它类型的计算机可读媒体的接口。电子***600包含总线608、一或多个处理单元612、***存储器604、只读存储器(ROM)610、永久存储装置602、输入装置接口614、输出装置接口606,及网络接口616,或其子集及变化。
总线608共同表示以通信方式连接电子***600的多种内部装置的所有***、***装置及芯片组总线。在一或多个实施方案中,总线608将一或多个处理单元612与ROM610、***存储器604及永久存储装置602以通信方式连接。一或多个处理单元612从这些各种存储器单元检索待执行指令及待处理数据,以便执行本公开的过程。在不同实施方案中,一或多个处理单元612可为单个处理器或多核处理器。
ROM 610存储电子***的一或多个处理器612及其它模块所需的静态数据及指令。另一方面,永久存储装置602为读取及写入存储器装置。永久存储装置602为即使在电子***600关闭时也存储指令及数据的非易失性存储器单元。本公开的一或多个实施方案使用大容量存储装置(例如,磁盘或光盘及其对应的磁盘驱动器)作为永久存储装置602。
其它实施方案使用可拆除存储装置(例如软盘、闪存驱动器,及其对应的磁盘驱动器)作为永久存储装置602。类似于永久存储装置602,***存储器604为读取及写入存储器装置。然而,不同于永久存储装置602,***存储器604为易失性读取及写入存储器,例如,随机存取存储器。***存储器604存储一或多个处理单元612在运行时间需要的任何指令及数据。在一或多个实施方案中,本公开的过程存储在***存储器604、永久存储装置602及/或ROM 610中。一或多个处理器612从这些各种存储器单元检索待执行指令及待处理数据,以便执行一或多个实施方案的过程。
总线608还连接到输入装置接口614及输出装置接口606。输入装置接口614使用户能够将信息传送到电子***且选择到所述电子***的命令。用于输入装置接口614的输入装置包含例如字母数字键盘及指向装置(也被称为“光标控制装置”)。举例来说,输出装置接口606可实现电子***600所产生的图像的显示。用于输出装置接口606的输出装置包含例如打印机及显示装置,例如液晶显示器(LCD)、发光二极管(LED)显示器、有机发光二极管(OLED)显示器、可挠性显示器、平板显示器、固态显示器、投影仪,或用于输出信息的任何其它装置。一或多个实施方案可包含充当输入及输出装置两者的装置,例如触摸屏。在这些实施方案中,向用户提供的反馈可为任何形式的感觉反馈,例如,视觉反馈、听觉反馈或触感反馈;并且来自用户的输入可用任何形式接收,包含声波、语音或触觉输入。
最后,如图6中所示,总线608还通过一或多个网络接口616将电子***600耦合到一或多个网络(未展示)。以此方式,计算机可为一或多个计算机网络的一部分,例如,点对点网络、局域网(“LAN”)、广域网(“WAN”),或内联网,或网络的网络,例如互联网。电子***600的任一或所有组件可结合本公开使用。
本公开的范围内的实施方案可部分或完全使用对一或多个指令进行编码的有形计算机可读存储媒体(或一或多种类型的多个有形计算机可读存储媒体)来实现。有形计算机可读存储媒体本质上也可为非暂时性。
计算机可读存储媒体可为可由通用或专用计算装置,包含能够执行指令的任何处理电子装置及/或处理电路读取、写入,或以其它方式存取的任何存储媒体。举例来说,但无限制,计算机可读媒体可包含任何易失性半导体存储器,例如RAM、DRAM、SRAM、T-RAM、Z-RAM及TTRAM。计算机可读媒体还可包含任何非易失性半导体存储器,例如ROM、PROM、EPROM、EEPROM、NVRAM、快闪存储器、nvSRAM、FeRAM、FeTRAM、MRAM、PRAM、CBRAM、SONOS、RRAM、NRAM、粒子轨道存储器、FJG及千足虫存储器。
此外,计算机可读存储媒体可包含任何非半导体存储器,例如光盘存储装置、磁盘存储装置、磁带、其它磁性存储装置,或能够存储一或多个指令的任何其它媒体。在一些实施方案中,有形计算机可读存储媒体可直接耦合到计算装置,而在其它实施方案中,有形计算机可读存储媒体可间接耦合到计算装置,例如经由一或多个有线连接、一或多个无线连接,或其任何组合。
指令可为可直接执行的,或可用于开发可执行指令。举例来说,可将指令实现为可执行或不可执行的机器代码,或实现为呈可编译以产生可执行或不可执行的机器代码的高级语言的指令。此外,指令也可实现为或可包含数据。计算机可执行指令也可以任何格式组织,包含例程、子例程、程序、数据结构、对象、模块、应用程序、小程序、函数等。如所属领域的技术人员认识到,包含但不限于指令的数目、结构、序列及组织的细节可显著变化,而不改变基础逻辑、功能、处理及输出。
虽然上文的论述主要是指执行软件的微处理器或多核处理器,但一或多个实施方案由一或多个集成电路,例如专用集成电路(ASIC)或现场可编程门阵列(FPGA)执行。在一或多个实施方案中,此类集成电路执行存储在电路本身上的指令。
所属领域的技术人员将了解,本文所述的各种说明性块、模块、元件、组件、方法及算法可实施为电子硬件、计算机软件,或两者的组合。为了说明硬件与软件的此可互换性,上文已大致关于其功能性而描述了各种说明性块、模块、元件、组件、方法及算法。此类功能性是实施为硬件还是软件取决于特定应用及强加于整个***的设计约束。本领域技术人员可针对每一具体应用以不同方式实施所描述的功能性。在不脱离本发明技术的范围的情况下,各个组件及块都可以不同方式布置(例如,以不同次序布置,或以不同方式分割)。
应理解,所公开过程中的框的任何特定次序或层级是实例方法的说明。基于设计偏好,应理解,过程中的框的特定次序或层次可重新布置,或执行所有所说明的框。框中的任一者可同时执行。在一或多个实施方案中,多重任务处理及并行处理可为有利的。此外,上文所描述的实施例中的各种***组件的分离不应被理解为在所有实施例中要求此类分离,且应理解,所描述的程序组件及***一般可一起集成在单个软件产品中或封装到多个软件产品中。
如本说明书及本申请的任何权利要求书中所使用,术语“处理器”及“存储器”都指电子或其它技术装置。这些术语不包含人或人的群组。出于本说明书的目的,术语“显示器”或“显示”表示在电子装置上显示。
如本文所使用,在一系列项目之前的短语“……中的至少一者”整体修改列表,而不是列表的每个成员(即,每个项目),其中术语“及”或“或”用于分隔任何项目。短语“……中的至少一者”不需要选择所列每个项目中的至少一者;实际上,短语提供包括项目中的任一者中的至少一者,及/或项目的任何组合中的至少一者,及/或项目中的每一者中的至少一者的含义。举例来说,短语“A、B及C中的至少一者”或“A、B或C中的至少一者”各自指仅A、仅B或仅C;A、B及C的任何组合;及/或A、B及C中的每一者中的至少一者。
断言词“经配置以”、“可操作以”及“经编程以”并不暗示主题的任何特定有形或无形修改,而是既定可互换使用。在一或多个实施方案中,经配置以监视及控制操作或组件的处理器还可表示经编程以监视及控制操作的处理器,或可操作以监视及控制操作的处理器。同样,经配置以执行代码的处理器可被理解为经编程以执行代码或可操作以执行代码的处理器。
例如一方面、所述方面、另一方面、一些方面、一或多个方面、一实施方案、所述实施方案、另一实施方案、一些实施方案、一或多个实施方案、一实施例、所述实施例、另一实施例、一些实施例、一或多个实施例、一配置、所述配置、另一配置、一些配置、一或多个配置、本发明技术、公开内容、本公开、其它变化及类似的短语是为方便起见,且并不暗示与此类短语相关的公开内容对于本发明技术是必要的或此公开内容适用于本发明技术的所有配置。与此类短语相关的公开内容可适用于所有配置,或一或多个配置。与此类短语相关的公开内容可提供一或多个实例。例如,一方面或一些方面的短语可指一或多个方面且反之亦然,且这类似地适用于其它前述短语。
词语“示范性”在本文中用于意指“充当实例、例子或说明”。本文中描述为“示范性”或“实例”的任何实施例未必应解释为比其它实施例优选或有利。此外,就将术语“包含”、“具有”等用于说明书或权利要求书中而言,此类术语意图以类似于术语“包括”的方式为包含性的,如“包括”在用作在权利要求书中的过渡词时所解释的那样。
所属领域的技术人员已知或日后将知晓的贯穿本公开而描述的各种方面的元件的所有结构及功能等效物以引用的方式明确地并入本文中,且旨在由权利要求书涵盖。此外,本文公开的任何内容均不希望奉献给公众,无论权利要求书中是否明确地陈述此公开内容。权利要求要素不应依据35U.S.C.§112第六段的条款解释,除非所述要素是明确地使用短语“用于…的方式”来叙述,或者在方法权利要求项的情况下,所述要素使用短语“用于…的步骤”来叙述。
提供先前的描述以使所属领域的技术人员能够实践本文中所描述的各个方面。对这些方面的各种修改对于所属领域的技术人员来说将容易显而易见,并且本文中定义的一般原理可适用于其它方面。因此,权利要求书并不意图限于本文中所示的方面,而是应被赋予与语言权利要求一致的完整范围,其中参考呈单数形式的元件并不意图意味着“一个且仅一个”,除非明确地如此陈述,而是相反地为“一或多个”。除非另外特别地陈述,否则术语“一些”指代一或多个。关于男性的代词(例如,他的)包含女性及中性性别(例如,她的及它的),并且反之亦然。标题及副标题,如果存在的话,仅为了便利而使用且不会限制本发明。
Claims (20)
1.一种装置,包括:
至少一个处理器,其经配置以:
获得含有存储于存储器中的多个像素的多个数据单元,所述多个数据单元中的每一者包含与所述多个像素中的第二像素的至少一部分连续地封装的所述多个像素中的第一像素,所述多个像素由一定数目个位表示;
从所述多个像素获得像素群组;及
使用目标位数目存储所述像素群组。
2.根据权利要求1所述的装置,其中所述目标位数目不同于所述位数目。
3.根据权利要求1所述的装置,其中所述至少一个处理器经配置以:
将有损压缩操作应用于所述多个像素;及
基于所述所应用的有损压缩操作,使用所述目标位数目生成所述像素群组作为压缩数据。
4.根据权利要求3所述的装置,其中所述至少一个处理器经配置以:
使用所述所应用的有损压缩操作确定所述像素群组的像素之间的统计冗余;及
基于所述统计冗余从所述像素群组清除信息的一或多个单元,以将所述像素群组减少到对应于所述目标位数目的大小。
5.根据权利要求1所述的装置,其中所述至少一个处理器经配置以:
从存储器中的第一帧缓冲器获得压缩像素数据块;
将所述压缩像素数据块解压缩成未压缩像素数据块;
处理所述未压缩像素数据块;
使用所述目标位数目将所述经处理的未压缩像素数据块压缩成压缩像素数据块;及
将所述压缩像素数据块存储到所述存储器中的第二帧缓冲器。
6.根据权利要求5所述的装置,其中所述压缩像素数据块包含所述未压缩像素数据块的对应像素。
7.根据权利要求1所述的装置,其中所述至少一个处理器经配置以:
基于预定压缩比确定所述目标位数目,所述预定压缩比是对应于所述像素群组的所述位数目与所述目标位数目的比率。
8.根据权利要求1所述的装置,其中所述目标位数目对应于用于将数据传输到存储器的突发长度的倍数。
9.根据权利要求1所述的装置,其中所述至少一个处理器经配置以:
将接收到的视频流解码成所述多个像素;
基于存储器的存储格式选择所述像素群组的像素格式;
根据所述选定像素格式封装所述像素群组;
确定所述像素群组需要添加填充以符合所述像素格式;
根据所述像素格式将填充添加到所述像素群组;及
将具有所述像素格式的所述像素群组存储到所述存储器中的帧缓冲器。
10.根据权利要求1所述的装置,其中所述至少一个处理器经配置以:
从存储器中的第一帧缓冲器获得未压缩像素数据块;
确定所述未压缩像素数据块的像素格式包含一或多个填充位;
从所述未压缩像素数据块清除所述一或多个填充位;
处理所述未压缩像素数据块;
确定所述未压缩像素数据块的所述像素格式需要至少一个填充位用于存储;
将所述至少一个填充位添加到所述未压缩像素数据块;及
将具有所述所添加的至少一个填充位的所述未压缩像素数据块存储到所述存储器中的第二帧缓冲器。
11.根据权利要求1所述的装置,其中所述至少一个处理器经配置以:
基于对应于所述位数目的选定像素格式,将所述多个像素存储为未压缩像素数据;及
基于所述目标位数目,将所述像素群组存储为压缩像素数据,
其中所述多个像素及所述像素群组存储于不同帧缓冲器中。
12.一种方法,包括:
获得含有存储于存储器中的多个像素的多个数据单元,所述多个数据单元中的每一者包含与所述多个像素中的第二像素的至少一部分连续地封装的所述多个像素中的第一像素,所述多个像素由一定数目个位表示;
从所述多个像素获得像素群组;
使用目标位数目压缩所述像素群组;及
存储所述压缩像素群组。
13.根据权利要求12所述的方法,其中压缩所述像素群组包括:
将有损压缩操作应用于所述像素群组;及
基于所述所应用的有损压缩操作,通过所述目标位数目生成所述压缩像素群组。
14.根据权利要求13所述的方法,其中应用所述有损压缩操作包括:
使用所述所应用的有损压缩操作确定所述像素群组的像素之间的统计冗余;及
基于所述统计冗余从所述像素群组清除信息的一或多个单元,以将所述像素群组减少到对应于所述目标位数目的大小。
15.根据权利要求12所述的方法,还包括:
基于预定压缩比确定所述目标位数目,所述预定压缩比是对应于所述像素群组的所述位数目与所述目标位数目的比率。
16.一种计算机程序产品,包括存储于有形计算机可读存储媒体中的指令,所述指令包括:
用于获得含有存储于存储器中的多个像素的多个数据单元的指令,所述多个数据单元中的每一者包含与所述多个像素中的第二像素的至少一部分连续地封装的所述多个像素中的第一像素,所述多个像素由一定数目个位表示;
用于从所述多个像素获得像素群组的指令;
用于使用与所述位数目不同的目标位数目压缩所述像素群组的指令;及
用于存储所述压缩像素群组的指令。
17.根据权利要求16所述的计算机程序产品,其中所述指令还包括:
用于将有损压缩操作应用于所述像素群组的指令;及
用于基于所述所应用的有损压缩操作而使用所述目标位数目生成所述压缩像素群组的指令。
18.根据权利要求17所述的计算机程序产品,其中所述指令还包括:
用于使用所述所应用的有损压缩操作确定所述像素群组的像素之间的统计冗余的指令;及
用于基于所述统计冗余从所述像素群组清除信息的一或多个单元,以将所述像素群组减少到对应于所述目标位数目的大小的指令。
19.根据权利要求16所述的计算机程序产品,其中所述指令还包括:
用于基于预定压缩比确定所述目标位数目的指令,所述预定压缩比是对应于所述像素群组的所述位数目与所述目标位数目的比率。
20.根据权利要求16所述的计算机程序产品,其中所述多个像素表示高动态范围HDR像素。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862662399P | 2018-04-25 | 2018-04-25 | |
US62/662,399 | 2018-04-25 | ||
US16/391,148 | 2019-04-22 | ||
US16/391,148 US10922848B2 (en) | 2018-04-25 | 2019-04-22 | Pixel storage for graphical frame buffers |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110401837A true CN110401837A (zh) | 2019-11-01 |
CN110401837B CN110401837B (zh) | 2021-10-15 |
Family
ID=68291661
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910333692.4A Active CN110401837B (zh) | 2018-04-25 | 2019-04-24 | 用于图形帧缓冲器的像素存储 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10922848B2 (zh) |
CN (1) | CN110401837B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111885393A (zh) * | 2020-07-31 | 2020-11-03 | 广州华多网络科技有限公司 | 一种直播方法、***、存储介质及设备 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7320352B2 (ja) * | 2016-12-28 | 2023-08-03 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 三次元モデル送信方法、三次元モデル受信方法、三次元モデル送信装置及び三次元モデル受信装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020194175A1 (en) * | 2001-06-19 | 2002-12-19 | Gaebel Gary L. | Data processing method |
US20030016226A1 (en) * | 2001-07-18 | 2003-01-23 | Chung-Yen Lu | Apparatus and method for pixel block compression during rendering in computer graphics |
CN1472502A (zh) * | 2002-07-10 | 2004-02-04 | ������������ʽ���� | 记录介质判别方法及记录装置 |
US20070202842A1 (en) * | 2006-02-15 | 2007-08-30 | Samsung Electronics Co., Ltd. | Method and system for partitioning and encoding of uncompressed video for transmission over wireless medium |
US20080193028A1 (en) * | 2007-02-13 | 2008-08-14 | Yin-Chun Blue Lan | Method of high quality digital image compression |
CN103650495A (zh) * | 2011-07-01 | 2014-03-19 | 高通股份有限公司 | 分辨率减小的像素内插 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW346611B (en) * | 1996-03-28 | 1998-12-01 | Sega Enterprises Kk | An image processor, a game machine using the image processor, a method of image processing and a medium |
US7071908B2 (en) * | 2003-05-20 | 2006-07-04 | Kagutech, Ltd. | Digital backplane |
US20050117799A1 (en) * | 2003-12-01 | 2005-06-02 | Chiou-Shann Fuh | Method and apparatus for transforming a high dynamic range image into a low dynamic range image |
JP2013074560A (ja) * | 2011-09-29 | 2013-04-22 | Elpida Memory Inc | 論理回路及びデータ処理システム |
GB2543492B (en) * | 2015-10-16 | 2021-11-10 | Digital Barriers Services Ltd | Data Compression |
-
2019
- 2019-04-22 US US16/391,148 patent/US10922848B2/en active Active
- 2019-04-24 CN CN201910333692.4A patent/CN110401837B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020194175A1 (en) * | 2001-06-19 | 2002-12-19 | Gaebel Gary L. | Data processing method |
US20030016226A1 (en) * | 2001-07-18 | 2003-01-23 | Chung-Yen Lu | Apparatus and method for pixel block compression during rendering in computer graphics |
CN1472502A (zh) * | 2002-07-10 | 2004-02-04 | ������������ʽ���� | 记录介质判别方法及记录装置 |
US20070202842A1 (en) * | 2006-02-15 | 2007-08-30 | Samsung Electronics Co., Ltd. | Method and system for partitioning and encoding of uncompressed video for transmission over wireless medium |
US20080193028A1 (en) * | 2007-02-13 | 2008-08-14 | Yin-Chun Blue Lan | Method of high quality digital image compression |
CN103650495A (zh) * | 2011-07-01 | 2014-03-19 | 高通股份有限公司 | 分辨率减小的像素内插 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111885393A (zh) * | 2020-07-31 | 2020-11-03 | 广州华多网络科技有限公司 | 一种直播方法、***、存储介质及设备 |
Also Published As
Publication number | Publication date |
---|---|
US10922848B2 (en) | 2021-02-16 |
CN110401837B (zh) | 2021-10-15 |
US20190333249A1 (en) | 2019-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10257483B2 (en) | Color gamut mapper for dynamic range conversion and methods for use therewith | |
US20150365687A1 (en) | Method of displaying a region of interest in a video stream | |
US9558538B2 (en) | Dynamic range converter with frame by frame adaptation and methods for use therewith | |
JP2018528666A (ja) | 高ダイナミックレンジおよび広色域シーケンスのコーディングにおけるカラーボリューム変換 | |
CN107211130A (zh) | 对彩色画面进行编码和解码的方法和装置 | |
WO2017044740A2 (en) | Improved colour remapping information supplemental enhancement information message processing | |
US20220132147A1 (en) | Image Rendering and Coding Method and Related Apparatus | |
CN109196866A (zh) | 用于显示流压缩的子流多路复用 | |
US11195306B2 (en) | High bit-depth graphics compression | |
CN110495176A (zh) | 用于显示流压缩的中点预测误差扩散 | |
US9955173B2 (en) | Transparency information retention | |
TWI550557B (zh) | 視訊資料壓縮格式 | |
CN110401837A (zh) | 用于图形帧缓冲器的像素存储 | |
CN111885346A (zh) | 画面码流合成方法、终端、电子设备和存储介质 | |
TW201707454A (zh) | 圖框之編碼方法和裝置及其解碼方法和裝置,電腦程式製品和處理器可讀式媒體,以及非暫態儲存媒體 | |
Kim et al. | Design and implementation of display stream compression decoder with line buffer optimization | |
JP2018524932A (ja) | サブ画素パッキングを使用したディスプレイストリーム圧縮画素フォーマット拡張 | |
CN110087072A (zh) | 图像处理装置 | |
CN116700943A (zh) | 一种视频播放***、方法以及电子设备 | |
US11308649B2 (en) | Pixel storage for graphical frame buffers | |
EP3874759A1 (en) | Method and apparatus for an hdr hardware processor inline to hardware encoder and decoder | |
TW202324292A (zh) | 用於顏色空間轉換的非線性濾波 | |
WO2024120031A1 (zh) | 处理视频数据的方法、装置、计算机设备和存储介质 | |
EP3059972A1 (en) | Methods and devices for transmission of interactive content | |
TW202215373A (zh) | 圖像空間函數傳輸 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |