CN103026402B - 显示压缩超级切片图像 - Google Patents
显示压缩超级切片图像 Download PDFInfo
- Publication number
- CN103026402B CN103026402B CN201180035342.1A CN201180035342A CN103026402B CN 103026402 B CN103026402 B CN 103026402B CN 201180035342 A CN201180035342 A CN 201180035342A CN 103026402 B CN103026402 B CN 103026402B
- Authority
- CN
- China
- Prior art keywords
- frame
- super tile
- processing unit
- graphics processing
- compression
- 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.)
- Active
Links
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
-
- 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
-
- 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
- G09G2360/00—Aspects of the architecture of display systems
- G09G2360/06—Use of more than one graphics processor to process data before displaying to one or more screens
-
- 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/12—Frame memory handling
- G09G2360/122—Tiling
-
- 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/59—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
Abstract
公开了用于压缩超级切片图像的显示的方法。在一个实施例中,用于显示来自多个压缩超级切片帧的图像帧的方法包括:读取压缩超级切片帧;扩展压缩超级切片帧;以及组合扩展超级切片帧以生成图像帧。扩展可以包括:通过将不在对应的压缩超级切片帧中的切片的空白像素插入到扩展超级切片帧中,来生成对应于每个压缩超级切片帧的扩展超级切片帧。还公开了对应的系统和计算机程序产品。
Description
技术领域
本发明的实施例涉及减少图像显示中的存储器消耗。
背景技术
一些图形处理系统包括诸如图形处理单元(GPU)之类的多个处理单元,以允许通过图形任务的并行处理来实现性能增益。例如,图形密集型游戏的运行可能需要或者会受益于具有由于使用多个GPU所提供的额外处理力。
系统中可供使用的多个GPU以多种方式使用,包括处理正在被渲染的交替帧(即,交替帧渲染)或者处理相同帧的部分。例如,当帧需要能够由同时处理相同帧的两个GPU系统的两个GPU高效处置的复杂处理时,则CPU能够将相同的帧分配给两个GPU。
在一些图形处理模式中,诸如当使能多采样时,在每个GPU中处理帧所需的存储器占板面积(footptint)大幅增加。例如,当使用多采样或超采样时,帧的每个像素可以包括多个样本,从而显著增加了存储在GPU存储器中的帧数据的尺寸。所需存储器占板面积的增加会由于可伸缩性限制、带宽限制和渲染帧的延迟而导致性能降级。
于是,所需要的是减少每个处理器在处理帧时所需的存储器占板面积的方法和系统。
发明内容
本发明的实施例使能压缩超级切片图像(compressed supertile images)的显示。在一个实施例中,显示来自多个压缩超级切片帧的图像帧的方法包括:读取压缩超级切片帧;扩展压缩超级切片帧;以及组合扩展的超级切片帧以生成图像帧。扩展可以包括:通过将不在对应的压缩超级切片帧中的空白切片(tile)像素插入到扩展超级切片帧中,来生成对应于每个压缩超级切片帧的扩展超级切片帧。
另一实施例是用于显示来自图像帧的多个压缩超级切片帧的图像帧的系统。所述系统包括:控制处理器;多个图形处理单元,其与所述控制处理器耦合;以及超级切片帧组合器。每个图形处理单元被配置为处理一个或多个超级切片压缩帧。超级切片帧组合器被配置为,读取压缩超级切片帧,扩展压缩超级切片帧,并且组合扩展帧以生成图像帧。
再一实施例是存储指令的计算机可读介质,其中所述指令当被执行时适于通过一方法显示来自多个压缩超级切片帧的图像帧,所述方法包括:读取压缩超级切片帧;扩展压缩超级切片帧;以及组合扩展的超级切片帧以生成图像帧。
下面将参照附图详细地说明本发明的另外的实施例、特征和优势,以及本发明的各个实施例的结构和操作。
附图说明
合并于本文中并构成说明书的一部分的附图图示出了本发明的实施例,并且连同说明书一起进一步用于解释本发明的原理并使相关领域的技术人员能够实现并使用本发明的实施例。
图1示出了根据本发明的实施例的图形计算环境的框图。
图2示出了根据本发明的实施例的图像帧切片的示例以及超级切片帧分配给处理器的示例。
图3示出了根据实施例的分配给每个处理器的压缩帧的扩展的示例。
图4是图示出根据本发明的实施例的多GPU系统中的图像帧的处理的流程图。
图5是图示出根据本发明的实施例的压缩超级切片帧的组合的流程图。
将参照附图对本发明进行说明。一般地,部件首次出现的附图通常由相应附图标记中最左侧的数字表示。
具体实施方式
应当理解的是,发明详述部分,而不是发明内容和摘要部分,旨在用于解释权利要求。发明内容和摘要部分可阐述发明人所构思的本发明的示例性实施例的一个或多个而不是全部的示例性实施例,并且因此不旨在以任何方式限制本发明及随附的权利要求。
通过允许并行地执行一些图形操作,具有诸如多个图形处理单元(GPU)之类的多个图形处理器的图形系统相比于具有单个GPU的系统能够提供增强的性能。多个图形处理器可以包括GPU、通用GPU(GPGPU)、CPU、其组合或者任何其它能够处理如本文所述的图像数据的处理器。图1示出了根据本发明的实施例的多GPU计算环境。例如,计算环境100包括与GPU 104和106耦合的中央处理单元(CPU)102。基于本文的描述相关领域技术人员将理解的是,尽管在图1中示出了两个GPU实施例,但是本发明的实施例可以包括任何数量的GPU。每个GPU 104和106可以与诸如存储器、显示器等另外的部件耦合。GPU 104和106接收来自CPU102的图形相关任务,诸如图形处理(例如,渲染)或显示任务。本领域普通技术人员将理解的是,如图所示的,GPU 104和106可以为离散部件(即,分离的装置)、集成部件(即,集成到诸如单集成电路(IC)之类的单个装置、容纳多个IC的单个封装件中,集成到其它IC---例如,CPU或北桥(Northbridge)中)并且可以不相同(例如,具有一些不同的能力,诸如例如性能)。
GPU 104包括诸如命令处理器112、存储器控制器114和本地图形存储器116等部件。命令处理器112控制GPU 104上的命令执行。例如,命令处理器112能够控制和/或协调将要在GPU 104中处理的来自CPU 102的命令和数据的接收。命令处理器112还能够控制和/或协调图形存储器116中存储器的分配(例如通过存储器控制器114)。存储器控制器114能够控制为了读取和写入数据而对图形存储器116的存取。
以与GPU 104相似的方式,GPU 106可以包括命令处理器118、存储器控制器120和图形存储器122。命令处理器118、存储器控制器120和图形存储器122的功能与上面所述的GPU 104中的对应装置112、114和116的功能相似。
计算环境100还包括系统存储器108。系统存储器108能够用于保持在GPU 104和106与CPU 102之间传递的命令和数据。在利用图形操作处理数据之后,经处理的数据可从GPU 104和106写回到系统存储器108中。例如,在一些实施例中,来自图形存储器116的经处理数据可以在用于进一步处理或者用于在诸如屏幕110之类的屏幕上显示之前写到系统存储器108中。在一些实施例中,在GPU 104和/或106中处理的帧数据通过显示引擎123写到屏幕110上。显示引擎123能够以硬件和/或软件实现或者实现为它们的组合,并且可以包括根据屏幕110的具体特性优化数据显示的功能。在另一实施例中,显示引擎123能够接收直接来自GPU存储器116和/或GPU存储器122的经处理的显示数据。
计算系统100的各个装置通过通信基础架构126耦合。例如,通信基础架构126可以包括包含快速外围部件互连(PCI-E)的一个或多个通信总线、以太网(Ethernet)、火线(Firewire)、或其它互连装置。在实施例中,通信基础架构126可以包括将两个以上的GPU彼此耦合的互连装置。
在本发明的实施例中,将切片组从图像帧分配到多个处理器被称为超级切片。来自分配到处理器的原始图像帧的切片组被称为超级切片帧。每个GPU还可以包括基于将要在给其分配的超级切片帧中处理的切片来确定在其本地存储器中将要进行的存储器分配的逻辑。例如,GPU 104包括切片密集逻辑块138,并且GPU 106包括切片密集逻辑块130。根据本发明的实施例,每个切片密集逻辑块可以包括如下功能:确定指定给相应的(respective)GPU的切片的所需存储器分配,根据本发明的教导协调相应的本地存储器中切片的存储,并且确定相应的图形存储器内的切片的逻辑布局。
在实施例中,GPU 104或106中的一个或多个还可以包括超级切片帧组合逻辑块132。超级切片帧组合逻辑块132包括将在多个GPU中分别处理的切片组合成能够显示在屏幕上或者能够传递到系统存储器的单个帧的逻辑。在一些实施例中,超级切片帧组合块132能够对其自身的GPU 104的本地存储器116以及GPU 106的本地存储器122进行存取,以取回在每个GPU中分别处理的切片。根据实施例,超级切片帧组合逻辑块132包括如下功能:通过将未使用的像素(也称为“空白像素”)插入到未分配给相应的GPU的切片位置,将一个或多个压缩帧(也称为压缩超级切片帧)扩展成全分辨率帧。在其它的实施例中,超级切片帧组合块132可以取回并输出来自GPU的相应的本地存储器的压缩帧,使得帧能够被显示,而无需首先不得不在邻近存储器中重构整个帧。应当注意的是,超级切片帧组合逻辑块132和/或其功能能够在GPU 104或106中的至少一个内或者该两个GPU外实现。例如,在实施例中,超级切片帧组合逻辑块132能够以显示引擎123来实现。在另一实施例中,超级切片帧组合逻辑块132能够以GPU的光栅操作(ROP)逻辑来实现。
在上文的描述中,GPU 104和106被描述为包括所选的部件和功能。然而,本领域技术人员将理解的是,GPU 104和106中的一个或两个可以包括诸如但不限于着色器引擎等其它部件。
图2示出了将图像帧的切片指定给两个GPU的示例以及每个GPU本地存储器的本地存储器中对应切片的布局的示例。例如,帧202可以包含待由GPU 104和106渲染到屏幕110上的图像。帧202内的每个小矩形表示切片。切片可以为任何尺寸的矩形,但是通常使用的切片尺寸为16×16像素和32×32像素。划分成切片的帧,诸如帧202,被称为切片帧。在所示的实施例中,CPU 102以棋盘样式分配帧202的切片,每个交替的切片分配给GPU 104的图形存储器116,其余切片分配给GPU 106的图形存储器122。如之前所述,每个GPU被分配了超级切片帧,所述超级切片帧包括从图像帧202处理过的多个切片。
切片分配的样式可以基于包括显示模式的各种因素。例如,如果帧202在屏幕110上的最终显示将通过以从左到右以及从上到下的样式逐渐显示切片来执行,则可能有利的是将交替切片分配给每个GPU以使工作负荷根据所分配切片的数量以及所分配切片的空间分布而在GPU之间均衡。
图2还示出了分配给相应的GPU的帧的切片如何能够分别逻辑地布置在GPU 104和106的图形存储器116和122中的示例。系统存储器108中经切片的图像帧202被显示为具有16个切片。还可以为具有不同尺寸的切片和/或不同数量的切片的帧。图示了切片数量的范围从01-16,以使能够方便地示出分配的示例样式。在所示的示例中,以棋盘样式将切片分配给两个GPU。还可以具有将切片分配给相应的GPU的其它样式。GPU 104中的图形存储器116中的存储器区域可以具有分配给以所示的方式布置的GPU 104的切片(存储器区域中所示的01-16的范围内的对应切片数表示相同切片的副本)。如图所示,切片可以以对应于分配给GPU 104的那些切片中的相应的切片在帧202中出现的次序的左右上下方式布置在矩形网格中。同样,GPU 106中的图形存储器116中的存储器区域可以具有以图示方式布置的分配给GPU 106的切片。例如,仅通过分配存储指定切片的存储器空间而不分配用于任何未指定切片的空间,将分配给相应的GPU的切片以压缩帧的形式存储在对应的GPU存储器中从而使存储器占板面积最小化。在所示的示例中,通过仅将指定给该GPU的切片存储在每个图形存储器中,每个图形存储器中的帧所需的存储器占板面积减少至存储整个帧所需的占板面积的大约一半。而且,通过仅将指定切片存储在其图形存储器中,每个GPU避免未指定切片的处理。
图3以图形方式示出了根据本发明的实施例的混合压缩帧以生成全分辨率帧的过程的方案。如图2所示,来自切片帧202的切片被指定给单独的GPU并且作为压缩帧204和206存储在相应的GPU存储器中。最初在图2中示出的压缩帧204和206再次示于图3中。压缩帧204和206分别扩展成未压缩帧(下面也称为“扩展帧”或“扩展超级切片帧”)302和304,未压缩帧302和304各自包括分配给对应GPU的切片。在扩展帧302和304中以数字示出的每个切片表示来自相应的压缩帧的对应切片。在帧302和304中标有“X”的每个切片表示依照本发明的实施例的插入的空白像素。具有插入的空白像素的扩展帧302和304被组合(也称为“混合”)以生成含有在相应的GPU处处理过的切片帧202的全部切片的最后组合全分辨率帧306。组合全分辨率帧306随后可显示在屏幕上。
图4是根据本发明的实施例的使能由多个GPU处理帧的过程的流程图。在操作402中,对应于待渲染的图像而生成切片帧。根据实施例,切片帧为以整个帧(或显示区域)由切片覆盖的方式分成多个切片的帧。切片通常的尺寸为16×16、32×32或64×64个像素。帧的后续处理、存储器存取等可以基于单个的切片。根据实施例,通过其左上方像素的位置能在帧内识别切片。
根据实施例,经过切片的帧包括对于其上将要被渲染到对应图像的显示器上的每个像素位置的具有一个或多个片断的光栅数据。光栅帧的像素和/或像素片断可以为诸如顶点着色器、几何形状着色器和/或像素着色器等一个或多个着色器程序的输出。着色器程序通常处理像素的四方形或2×2的块。在块被写到输出缓冲器中之前,着色器的输出可通过执行诸如颜色组合和反锯齿等功能的ROP来处理。ROP可以在输出缓冲器上运行以限定切片帧。
在步骤404中,切片组分配给多个处理器。例如,起始于左上方切片的切片帧的每个交替切片可以分配给GPU-1 104,并且其余的切片可以分配给GPU-2 106。在图2中示出了将超级切片帧分配给GPU-1和GPU-2。如图2所示,每个处理器压缩其被分配的超级切片帧,然后才通过仅存储其被分配的切片而将其存储到其存储器中。存储在每个GPU中的帧为压缩超级切片帧。在实施例中,通过保持限定分配给相应的处理器的切片的列表或预定模式标识以及将分配的切片存储在相应的处理器内的邻近存储器内,来实现压缩。
在步骤406中,每个处理器对给其分配的切片执行任何所需的处理。例如,这种处理可以包括通过一个或多个着色器程序的处理。在实施例中,当每个处理器已经完成对给其分配的切片的处理时,信号可从相应的处理器发送到协调单独分配的帧的重新装配以形成帧的部件。例如,能够发送消息包,能够设定寄存器值,和/或能够断定硬件信号。
在步骤408中,读取每个相应处理器中的压缩超级切片帧。在实施例中,图形驱动程序或其它逻辑接收来自其已完成所分配切片的处理的每个处理器的信号。图形驱动程序或其它逻辑随后可以继续从每个处理器的存储器中取回压缩帧。在实施例中,接收和组合压缩帧的逻辑在超级切片帧组合逻辑块132中实现。
在步骤410中,从相应的处理器取回的压缩帧被解压以生成对应的扩展帧。读取和组合压缩帧的逻辑能够从图形处理器存储器中读取压缩帧并且在将其写到例如系统存储器或图形存储器中的缓冲器的同时对其进行扩展。根据实施例,压缩帧的读取能够逐切片地进行。在另一实施例中,能够对整个压缩帧进行请求。
在实施例中,通过重新插入未分配给该处理器的每个切片的空白切片,由每个相应的压缩帧构成扩展帧(也称为“扩展超级切片帧”)。空白切片(即,标记为未含有有效数据的切片)能够由限定为不具有有效内容的像素(“空白像素”)的像素构成。在实施例中,空白像素为具有0值的像素。具有0值的空白像素也称为“黑色像素”。在另一实施例中,空白像素和/或空白切片能够以容许方便地组合对应于相应的压缩帧的扩展帧的任何方式进行标记。
在步骤412中,具有经处理切片的扩展帧被组合以形成组合全分辨率帧。根据实施例,组合或混合是通过对相应的扩展帧执行相加运算来实现的。因为对于每个切片位置仅一个扩展帧将具有非空白切片值,所以组合帧的相加运算得到其中每个切片都是经处理切片的组合全分辨率帧。在实施例中,通过在进行相加运算之前用黑色像素(即,具有0值的像素)来替换每个空白像素,获得了组合全分辨率帧,其中全分辨率帧的每个像素的值为其处理值。
在步骤414中,在步骤412中构建的组合全分辨率帧可以显示或用于另外的目的,诸如例如进行数字存储。
图5示出了根据实施例由多个压缩帧构建组合全分辨率帧的方法500。在步骤502中,对存储器缓冲器进行初始化以保持组合全分辨率帧。存储器缓冲器可以为帧缓冲器、图形存储器中的存储器区域或系统存储器中的存储器。
在步骤503中,对存储器区域进行初始化以保持基于压缩帧构建的扩展帧。扩展帧存储器区域可以为重新初始化并且再次用于待扩展的每个压缩帧。扩展帧存储器区域可以在系统存储器、图形存储器或其它存储器中。
在步骤504中,从存储器中读取压缩帧。压缩帧可以存储在对应于上文关于步骤404所述的相应的处理器的图形存储器中。从对应的图形存储器中读取压缩帧可以基于分别读取切片、基于通过单个读取指令来读取整个帧或者基于读取存储器的中间尺寸。在读取时,压缩帧和/或其部分可以写到系统存储器或图形存储器中。
在步骤506中,读取来自最后读取的压缩帧的切片。在处理最后读取的压缩帧的步骤506的每次调用时,能够以起始于压缩帧的左上角且以从左到右从上到下的样式继续的序列来读取来自最后读取的压缩帧的切片。
在步骤508中,确定扩展帧内的切片的位置。根据实施例,扩展帧内切片的位置可以基于切片分配给相应的处理器的样式而被确定。在另一实施例中,每个切片可以已对其扩展帧中的位置进行编码。例如,切片可在相应的处理器中处理之前对其在原始切片帧中的位置进行编码。基于所确定的位置,切片能够插入到扩展帧中。
在步骤510中,基于最后插入的切片的位置,空白像素与最后插入的切片相邻地插入。如前面关于步骤410所述,空白像素能以实现特定方式限定以指示在扩散帧中该像素不具有有效数据。根据实施例,在每个压缩帧包括来自以棋盘样式分配给两个处理器的原始切片帧的切片的情况下,空白像素可以分配给最后分配切片的相邻切片(即,左方、右方、上方和下方的切片)。
在步骤512中,判定最后插入的切片是否为当前帧的最后一个单元。如果为否,则重复步骤506-512,直到当前帧中所有的切片均被处理。在当前帧的最后切片插入到扩展帧中并且插入了对应的空白像素之后,处理继续到步骤514。
在步骤514中,当前扩展帧与当前组合全分辨率帧组合。根据实施例,组合是通过将当前扩展帧与当前组合全分辨率帧相加来实现的。通过相加运算的组合是可供使用的,因为在本发明的实施例中,对于组合全分辨率帧中的特定切片位置,仅一个扩展帧会具有有效像素数据。
在步骤516中,判定是否已经处理最后压缩帧。如上所述,当前正处理的原始切片帧已经在多个处理器之间进行分配,使得每个处理器处理压缩帧。如果最后压缩帧尚未被处理,则处理返回到步骤504,并且重复步骤504-516,直到最后压缩帧扩展并组合到全分辨率帧中。当最后压缩帧组合到全分辨率帧中时,原始切片帧的处理完成,并且通过组合分别在相应的处理器中处理过的压缩帧来构建组合全分辨率帧。
由执行本发明的方案的逻辑执行的指令可以各种编程语言进行编码,诸如C和C++、Assembly、和/或硬件描述语言(HDL),并且汇编到能够由逻辑或其它器件执行的对象代码中。
上面所述的实施例可以诸如Verilog、RTL、netlists等硬件描述语言来描述,并且,通过生成掩膜工件/光掩膜以生成具体实现如本文所述的本发明的方案的一个或多个硬件装置,这些描述能够用于最终配置制造过程。
本发明的方案可以整体地或部分地存储在计算机可读介质中。存储在计算机可读介质上的指令可使处理器适于整体地或部分地执行本发明的实施例。
上文已经借助于图示出指定功能的实现及其关系的功能构建块描述了本发明。为了方便描述,本文已经任意地限定了这些功能构建块的界限。能够限定可选的界限,只要适当地执行指定功能及其关系即可。
尽管上文已经说明了本发明的各个实施例,但应当理解的是,仅通过举例的方式而不是限制的方式提供了这些实施例。相关领域的技术人员显知的是,可以在不偏离本发明的精神和范围的情况下对其进行形式和细节的各种变型。因此,本发明的广度和范围不应受上述任一示例性实施例所限制,而应当仅依照随后的权利要求及其等同方案进行限定。
具体实施例的前面的描述将如此全面地展示了本发明的一般本质,以使得其它人能够通过应用本领域技术内的知识以对于各种应用容易地修改和/或改进这些具体的实施例,无需过多的实验,且不会偏离本发明的总构思。因此,基于本文提供的教导和指导,这些改进和修改应当在所公开的实施例的等同实施例的含义和范围内。应当理解的是,本文的用语或术语是为了描述而不是为了限制的目的,使得应由技术人员根据教导和指导来解释本说明书的术语或者用语。
Claims (12)
1.一种用于显示来自多个压缩超级切片帧的图像帧的系统的方法,其包括:
从读取自系统存储器的多个切片中形成多个压缩超级切片帧,其中所述压缩超级切片帧对应于要产生的图像;
使用多个图形处理单元处理所述多个压缩超级切片帧,其中每个图形处理单元处理被分配给所述图形处理单元的一个或多个压缩超级切片帧;
读取所述压缩超级切片帧,并且通过使用超级切片帧组合器扩展每个所述压缩超级切片帧以生成扩展超级切片帧,其中在每个图形处理单元产生所述扩展超级切片帧,并且所述扩展超级切片帧对于未分配给所述图形处理单元的每个切片包含空白切片;以及
使用所述超级切片帧组合器组合所述扩展超级切片帧以生成图像帧;以及
在显示器上显示所述生成的图像帧。
2.如权利要求1所述的方法,进一步包括:
使用控制处理器由所述多个切片来确定多个超级切片帧;
使用所述控制处理器将一个或多个所述超级切片帧分配给每个图形处理单元;以及
使用所述图形处理单元压缩相应数目的所述超级切片帧。
3.如权利要求2所述的方法,其中,每个所述超级切片帧均包括所述图像帧的非近邻切片。
4.如权利要求3所述的方法,进一步包括:
将相应的所述超级切片帧存储在单独的图形处理单元中。
5.如权利要求2所述的方法,其中,所述压缩包括:
对于相应数目的所述超级切片帧,仅存储分配给相应的所述图形处理单元的切片组。
6.如权利要求1所述的方法,其中,所述扩展与所述组合同时进行。
7.如权利要求1所述的方法,其中,所述组合包括:
使用相加运算来组合所述扩展超级切片帧。
8.一种用于显示来自图像帧的多个压缩超级切片帧的所述图像帧的系统,其包括:
控制处理器;
多个图形处理单元,其与所述控制处理器耦合,每个图形处理单元被配置为:
处理一个或多个压缩超级切片帧,其中每个图形处理单元处理被分配给所述图形处理单元的一个或多个压缩超级切片帧;
系统存储器,其耦合至所述控制处理器和多个图形处理单元;
超级切片帧组合器,其被配置为:
读取所述压缩超级切片帧;扩展每个所述压缩超级切片帧以生成扩展超级切片帧,其中在每个图形处理单元产生所述扩展超级切片帧,并且所述扩展超级切片帧对于未分配给所述图形处理单元的每个切片包含空白切片;并组合所述扩展超级切片帧以生成图像帧;以及
显示器,其配置成显示所述生成的图像帧。
9.如权利要求8所述的系统,进一步包括:
所述控制处理器被配置为:
从所述多个切片确定多个超级切片帧;
将一个或多个所述超级切片帧分配给每个图形处理单元;以及
所述图形处理单元被配置为:
压缩相应数目的所述超级切片帧。
10.如权利要求9所述的系统,其中,所述压缩包括:
对于相应数目的所述超级切片帧,仅存储分配给对应的所述图形处理单元的切片组。
11.如权利要求9所述的系统,其中,每个所述超级切片帧均包括所述图像帧的非近邻切片。
12.如权利要求8所述的系统,其中,所述扩展与所述组合同时进行。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US36570610P | 2010-07-19 | 2010-07-19 | |
US61/365,706 | 2010-07-19 | ||
PCT/IB2011/002209 WO2012010968A1 (en) | 2010-07-19 | 2011-07-19 | Displaying compressed supertile images |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103026402A CN103026402A (zh) | 2013-04-03 |
CN103026402B true CN103026402B (zh) | 2017-03-29 |
Family
ID=45496573
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180035342.1A Active CN103026402B (zh) | 2010-07-19 | 2011-07-19 | 显示压缩超级切片图像 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9064468B2 (zh) |
EP (1) | EP2596491B1 (zh) |
JP (1) | JP5823515B2 (zh) |
KR (1) | KR101692460B1 (zh) |
CN (1) | CN103026402B (zh) |
WO (1) | WO2012010968A1 (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2494903B (en) * | 2011-09-22 | 2017-12-27 | Advanced Risc Mach Ltd | Graphics processing systems |
GR20140100528A (el) | 2014-10-20 | 2016-06-01 | Arm Limited | Ενας βασισμενος σε πλακιδια επεξεργαστης γραφικων και μια μεθοδος επεξεργασιας γραφικων σε ενα βασισμενο σε πλακιδια επεξεργαστη |
US10163180B2 (en) * | 2015-04-29 | 2018-12-25 | Qualcomm Incorporated | Adaptive memory address scanning based on surface format for graphics processing |
US11150943B2 (en) * | 2017-04-10 | 2021-10-19 | Intel Corporation | Enabling a single context hardware system to operate as a multi-context system |
US10950305B1 (en) * | 2018-11-02 | 2021-03-16 | Facebook Technologies, Llc | Selective pixel output |
US11508110B2 (en) | 2020-02-03 | 2022-11-22 | Sony Interactive Entertainment Inc. | System and method for efficient multi-GPU rendering of geometry by performing geometry analysis before rendering |
US11263718B2 (en) | 2020-02-03 | 2022-03-01 | Sony Interactive Entertainment Inc. | System and method for efficient multi-GPU rendering of geometry by pretesting against in interleaved screen regions before rendering |
US11120522B2 (en) | 2020-02-03 | 2021-09-14 | Sony Interactive Entertainment Inc. | System and method for efficient multi-GPU rendering of geometry by subdividing geometry |
CN117618883A (zh) * | 2020-02-03 | 2024-03-01 | 索尼互动娱乐股份有限公司 | 用于图形处理的方法、计算机可读介质及计算机系统 |
WO2021158483A1 (en) * | 2020-02-03 | 2021-08-12 | Song Interactive Entertainment Inc. | System and method for efficient multi-gpu rendering of geometry by pretesting against interleaved screen regions before rendering |
US11170461B2 (en) | 2020-02-03 | 2021-11-09 | Sony Interactive Entertainment Inc. | System and method for efficient multi-GPU rendering of geometry by performing geometry analysis while rendering |
US11321800B2 (en) | 2020-02-03 | 2022-05-03 | Sony Interactive Entertainment Inc. | System and method for efficient multi-GPU rendering of geometry by region testing while rendering |
US11080814B1 (en) | 2020-02-03 | 2021-08-03 | Sony Interactive Entertainment Inc. | System and method for efficient multi-GPU rendering of geometry by pretesting against screen regions using prior frame information |
JP7254252B2 (ja) * | 2020-02-03 | 2023-04-07 | 株式会社ソニー・インタラクティブエンタテインメント | レンダリング中のジオメトリ解析によるジオメトリの効率的なマルチgpuレンダリングのためのシステム及び方法 |
US11514549B2 (en) | 2020-02-03 | 2022-11-29 | Sony Interactive Entertainment Inc. | System and method for efficient multi-GPU rendering of geometry by generating information in one rendering phase for use in another rendering phase |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04245865A (ja) * | 1991-01-31 | 1992-09-02 | Toshiba Corp | 画像処理装置 |
JP3238584B2 (ja) * | 1993-12-16 | 2001-12-17 | 松下電器産業株式会社 | マルチウィンドウ装置 |
US6630933B1 (en) * | 2000-09-01 | 2003-10-07 | Ati Technologies Inc. | Method and apparatus for compression and decompression of Z data |
JP2003143599A (ja) * | 2001-10-30 | 2003-05-16 | Mitsubishi Electric Corp | 画像伝送装置および画像伝送方法 |
US8933945B2 (en) * | 2002-11-27 | 2015-01-13 | Ati Technologies Ulc | Dividing work among multiple graphics pipelines using a super-tiling technique |
US9108107B2 (en) * | 2002-12-10 | 2015-08-18 | Sony Computer Entertainment America Llc | Hosting and broadcasting virtual events using streaming interactive video |
US8111928B2 (en) * | 2003-02-13 | 2012-02-07 | Ati Technologies Ulc | Method and apparatus for compression of multi-sampled anti-aliasing color data |
CN1472704A (zh) * | 2003-06-27 | 2004-02-04 | 上海龙贝信息科技有限公司 | 二维条形码数字图像信息的增强方法 |
US7075541B2 (en) | 2003-08-18 | 2006-07-11 | Nvidia Corporation | Adaptive load balancing in a multi-processor graphics processing system |
US7383412B1 (en) * | 2005-02-28 | 2008-06-03 | Nvidia Corporation | On-demand memory synchronization for peripheral systems with multiple parallel processors |
US7649537B2 (en) * | 2005-05-27 | 2010-01-19 | Ati Technologies, Inc. | Dynamic load balancing in multiple video processing unit (VPU) systems |
US7613346B2 (en) | 2005-05-27 | 2009-11-03 | Ati Technologies, Inc. | Compositing in multiple video processing unit (VPU) systems |
US7612783B2 (en) * | 2006-05-08 | 2009-11-03 | Ati Technologies Inc. | Advanced anti-aliasing with multiple graphics processing units |
EP1889732A1 (en) * | 2006-08-18 | 2008-02-20 | Setec Oy | Method of superimposing an image onto another, method of personalizing a data carrier using the the method |
US8154556B1 (en) * | 2007-11-06 | 2012-04-10 | Nvidia Corporation | Multiple simultaneous unique outputs from a single display pipeline |
CN101452690A (zh) * | 2007-11-29 | 2009-06-10 | 华邦电子股份有限公司 | 图像处理方法及系统 |
US8547382B2 (en) * | 2008-05-30 | 2013-10-01 | Advanced Micro Devices, Inc. | Video graphics system and method of pixel data compression |
US20100066900A1 (en) * | 2008-09-12 | 2010-03-18 | Himax Technologies Limited | Image processing method |
-
2011
- 2011-07-19 EP EP11809337.6A patent/EP2596491B1/en active Active
- 2011-07-19 US US13/186,160 patent/US9064468B2/en active Active
- 2011-07-19 WO PCT/IB2011/002209 patent/WO2012010968A1/en active Application Filing
- 2011-07-19 CN CN201180035342.1A patent/CN103026402B/zh active Active
- 2011-07-19 JP JP2013520236A patent/JP5823515B2/ja active Active
- 2011-07-19 KR KR1020137004198A patent/KR101692460B1/ko active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
US20120162250A1 (en) | 2012-06-28 |
EP2596491A1 (en) | 2013-05-29 |
EP2596491A4 (en) | 2015-03-04 |
JP2013541746A (ja) | 2013-11-14 |
EP2596491B1 (en) | 2017-08-30 |
WO2012010968A1 (en) | 2012-01-26 |
CN103026402A (zh) | 2013-04-03 |
KR20130132752A (ko) | 2013-12-05 |
JP5823515B2 (ja) | 2015-11-25 |
US9064468B2 (en) | 2015-06-23 |
KR101692460B1 (ko) | 2017-01-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103026402B (zh) | 显示压缩超级切片图像 | |
DE102018132468A1 (de) | Multi-gpu-frame-rendern | |
US7969444B1 (en) | Distributed rendering of texture data | |
Montrym et al. | InfiniteReality: A real-time graphics system | |
DE102019117585A1 (de) | Selektives Packen von Patches für immersives Video | |
US8963931B2 (en) | Tiling compaction in multi-processor systems | |
CN107003964B (zh) | 处理未对准块传送操作 | |
DE102019119102A1 (de) | Spärliche repräsentation für voxel | |
CN103003839B (zh) | 反锯齿样本的拆分存储 | |
TW201516953A (zh) | 圖形處理系統 | |
KR20080010361A (ko) | 그래픽 파이프 라인에서의 타일 기반 정밀 래스터화 | |
CN109785417B (zh) | 一种实现OpenGL累积操作的方法及装置 | |
CN104134183A (zh) | 图形处理系统 | |
DE102019119085A1 (de) | Punktbasiertes rendern und entfernung von projektionsrauschen | |
JP2008165760A (ja) | グラフィックスを処理する方法および装置 | |
DE102019117218A1 (de) | Reduziertes Rendern eines Videos mit sechs Freiheitsgraden | |
US8624896B2 (en) | Information processing apparatus, information processing method and computer program | |
JP2018512644A (ja) | 低品質タイルを使用してメモリ帯域幅を減らすためのシステムおよび方法 | |
DE102019115130A1 (de) | Vorrichtung und Verfahren für konservatives morphologisches Anti-Aliasing mit Mehrfachabtastung | |
DE102019117545A1 (de) | Reduzierung von registerbankkonflikten für ausführungseinheiten eines multithread-prozessors | |
DE102020126177A1 (de) | Verfahren und vorrichtung zum planen der threadreihenfolge, um den cache-wirkungsgrad zu verbessern | |
DE102020105902A1 (de) | Hardware-indexzuordnungsmechanismus | |
DE112018003999T5 (de) | Verfahren und Vorrichtung für effiziente Verarbeitung von abgeleiteten einheitlichen Werten in einem Grafikprozessor | |
DE102020104651A1 (de) | Arbeitsspeicherkomprimierungs-Hashmechanismus | |
DE102019124705A1 (de) | Multiphasenarchitektur für Mehrraten-Pixelschattierung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |