CN112740278A - 混合邻近分格 - Google Patents

混合邻近分格 Download PDF

Info

Publication number
CN112740278A
CN112740278A CN201980061933.2A CN201980061933A CN112740278A CN 112740278 A CN112740278 A CN 112740278A CN 201980061933 A CN201980061933 A CN 201980061933A CN 112740278 A CN112740278 A CN 112740278A
Authority
CN
China
Prior art keywords
processing unit
rendered
pixel density
bin
area
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
Application number
CN201980061933.2A
Other languages
English (en)
Other versions
CN112740278B (zh
Inventor
T.霍恩贝克
J.威克斯
A.E.格鲁伯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN112740278A publication Critical patent/CN112740278A/zh
Application granted granted Critical
Publication of CN112740278B publication Critical patent/CN112740278B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/013Eye tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/40Filling a planar surface by adding surface attributes, e.g. colour or texture
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control 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/363Graphics controllers
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/04Changes in size, position or resolution of an image
    • G09G2340/0407Resolution change, inclusive of the use of different resolutions for different screen areas

Abstract

提供了一种用于无线通信的方法、装置和计算机可读介质。一方面,一种示例性方法可包括将与帧相对应的第一所渲染分格存储到存储器中。该示例性方法可包括将包括第一过度渲染区域的第二所渲染分格存储到该存储器中。该示例性方法可包括混合该第一过度渲染区域与该第一所渲染分格的区域以在该第一所渲染分格中生成混合区域。

Description

混合邻近分格
相关申请交叉引用
本申请要求于2018年9月28日提交的美国非临时申请号16/147,237的权益,该申请的全部内容通过引用结合于本文。
技术领域
本公开总体上涉及图形处理。
背景技术
计算设备常常利用图形处理单元(GPU)来加速图形数据的渲染以供显示。此类计算设备可包括例如计算机工作站、诸如所谓的智能电话的移动电话、嵌入式系统、个人计算机、平板计算机以及视频游戏控制台。GPU执行图形处理管线,该图形处理管线包括一起操作以执行图形处理命令/指令并输出帧的多个处理阶段。中央处理单元(CPU)可通过向GPU发出一个或多个图形处理命令/指令来控制GPU的操作。现代CPU通常能够同时执行多个应用,每个应用在执行期间可能需要利用GPU。提供用于视觉呈现在显示器上的内容的设备一般包括图形处理单元(GPU)。
GPU将图形内容的帧渲染到帧缓冲器中以供显示。在显示之前,可由显示处理单元从帧缓冲器读取该所渲染帧并进行处理。例如,显示处理单元可被配置为对由GPU所渲染以供显示的一个或多个帧执行处理,并随后将处理过的帧输出到显示器。包括CPU、GPU以及显示处理单元的管线可被称为显示处理管线。
发明内容
下文提供了对一个或多个方面的简化概述,以便提供对这些方面的基本理解。本概述不是对所有预期方面的详尽概述,并且既不旨在标识所有方面的关键或重要要素,也不旨在描绘任何或所有方面的范围。其唯一目的是以简化形式呈现一个或多个方面的一些概念作为稍后呈现的更详细描述的序言。
在本公开的方面中,提供了一种方法、计算机可读介质以及装置。该装置可被配置为将与帧相对应的第一所渲染分格存储到存储器中。第一所渲染分格可包括处于第一像素密度的第一图形内容。该装置可被配置为将包括第一过度渲染区域的第二所渲染分格存储到存储器中。第二所渲染分格对应于帧。第二所渲染分格与第一所渲染分格共享第一边界。第二所渲染分格包括处于第二像素密度的第二图形内容,并且第一过度渲染区域包括处于第二像素密度的第一图形内容的部分。第一过度渲染区域延伸超出第一边界。该装置可被配置为混合第一过度渲染区域与第一所渲染分格的区域以在第一所渲染分格中生成混合区域。混合区域包括处于第三像素密度的第一图形内容的部分。第三像素密度介于第一像素密度与第二像素密度之间。
在附图及下文描述中陈述本公开的一个或多个示例的细节。从说明书和附图以及从权利要求,本公开的其它特征、目的和优点将是显而易见的。
附图说明
图1A是示出被配置为执行本公开的一种或多种技术的示例性设备的框图。
图1B是示出图1A中描绘的设备的组件与显示器之间的示例性配置的框图。
图1C是示出图1A中描绘的设备的组件与显示器之间的示例性配置的框图。
图2A至2N示出了根据本公开的一种或多种技术的平滑化以不同质量水平渲染的两个分格之间的过渡的各种示例。
图3示出了示例性帧,其中眼睛注视区域与多个分格重叠。
图4A至4B示出了根据本文中所描述的技术的示例性流程图。
图5示出了根据本公开的一种或多种技术的示例性方法的示例性流程图。
具体实施方式
下文中参考附图更全面地描述系统、装置、计算机程序产品以及方法的各种方面。然而,本公开可以通过许多不同的形式体现,并且不应被解释为限于贯穿本公开呈现的任何特定结构或功能。更确切地,提供这些方面使得本公开将变得透彻和完整,并且将向本领域技术人员完整地传达本公开的范围。基于本文中的教导,本领域技术人员应当理解,本公开的范围旨在涵盖本文中公开的系统、装置、计算机程序产品以及方法的任何方面,无论是独立于本公开的其它方面实施还是与其组合而实施。例如,可以使用本文陈述的任何数量的方面来实施装置或实践方法。另外,本公开的范围旨在涵盖这样的装置或方法,该装置或方法使用其它结构、功能性或除本文陈述的本公开的各个方面之外或以外的结构和功能性来实践。本文所公开的任何方面均可通过权利要求的一个或多个要素来体现。
尽管本文描述了各个方面,但是这些方面的许多变化和排列都落入本公开的范围内。尽管提及本公开的方面的一些潜在益处以及优势,但是本公开的范围并非旨在限于特定益处、用途或目标。更确切地,本公开的各方面旨在广泛适用于不同的无线技术、系统配置、网络以及发送协议,其中的一些在附图中以及在以下描述中借助于示例加以示出。详细描述和附图仅是对本公开的说明而不是限制,本公开的范围由所附权利要求及其等同物限定。
参考各种装置和方法来呈现几个方面。这些装置和方法在下面的详细描述中进行描述并且在附图中通过各种框、组件、电路、过程、算法等(统称为“要素”)进行示出。可以使用电子硬件、计算机软件或其任意组合来实施这些要素。将此类要素实施为硬件还是软件取决于强加于整个系统的特定应用和设计约束。
例如,要素或要素的任何部分或要素的任何组合可以被实施为包括一个或多个处理器(其也可被称为处理单元)的“处理系统”。处理器的示例包括微处理器、微控制器、图形处理单元(GPU)、专用GPU(GPGPU)、中央处理单元(CPU)、应用处理器、数字信号处理器(DSP)、精简指令集计算(RISC)处理器、片上系统(SoC)、基带处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、可编程逻辑设备(PLD)、状态机、门控逻辑、分立硬件电路,以及被配置为执行贯穿本公开中所描述的各种功能性的其它合适硬件。处理系统中的一个或多个处理器可以执行软件。软件应当被广泛地解释为意味着指令、指令集、代码、代码段、程序代码、程序、子程序、软件组件、应用、软件应用、软件包、例程、子例程、对象、可执行文件、执行线程、进程、功能等,无论称为软件、固件、中间件、微码、硬件描述语言还是其它。术语应用可指代软件。如本文所描述,一种或多种技术可指代被配置为执行一个或多个功能的应用(即,软件)。在此类示例中,应用可存储于存储器(例如,处理器的片上存储器、系统存储器或任何其它存储器)上。本文所描述的硬件(诸如处理器)可被配置为执行应用。例如,应用可被描述为包括代码,该代码在由硬件执行时使硬件执行本文中所描述的一种或多种技术。作为示例,硬件可从存储器访问代码,并执行从存储器访问的代码以执行本文中所描述的一种或多种技术。在一些示例中,在本公开中标识出组件。在此类示例中,组件可为硬件、软件或其组合。组件可为分离的组件或单个组件的子组件。
因此,在本文中所描述的一个或多个示例中,可以硬件、软件或其任何组合来实施所描述功能。如果在软件中实施,则功能可以作为一或多个指令或代码存储在计算机可读介质上或作为一或多个指令或代码编码在计算机可读介质上。计算机可读介质包括计算机存储介质。存储介质可以是可以由计算机访问的任何可用介质。作为示例而非限制,此计算机可读介质可以包括随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程ROM(EEPROM)、光盘存储设备、磁盘存储设备、其它磁性存储设备、上述类型的计算机可读介质的组合,或者可以用于以可以由计算机访问的指令或数据结构的形式存储计算机可执行代码的任何其它介质。
如本文中所使用,术语“内容”的实例可指代图形内容或显示内容。在一些示例中,如本文中所使用,术语“图形内容”可指代由被配置为执行图形处理的处理单元生成的内容。例如,术语“图形内容”可指代由图形处理管线的一个或多个过程生成的内容。在一些示例中,如本文中所使用,术语“图形内容”可指代由图形处理单元生成的内容。在一些示例中,如本文中所使用,术语“显示内容”可指代由被配置为执行显示处理的处理单元生成的内容。在一些示例中,如本文中所使用,术语“显示内容”可指代由显示处理单元生成的内容。图形内容可被处理以变成显示内容。例如,图形处理单元可将诸如帧的图形内容输出到缓冲器(其可被称为帧缓冲器)。显示处理单元可从缓冲器读取诸如一个或多个帧的图形内容,并对其执行一种或多种显示处理技术以生成显示内容。例如,显示处理单元可被配置为对一个或多个所渲染层执行合成以生成帧。作为另一示例,显示处理单元可被配置为将两个或更多个层合成、混合或以其它方式组合在一起成为单个帧。显示处理单元可被配置为对帧执行缩放(例如,放大或缩小)。在一些示例中,帧可指代层。在其它示例中,帧可指代已混合在一起以形成帧的两个或更多个层(即,帧包括两个或更多个层,并且包括两个或更多个层的帧可随后被混合)。
如本文所参考,第一组件(例如,GPU)可将诸如帧的内容提供给第二组件(例如,显示处理单元)。在一些示例中,第一组件可通过将内容存储于第二组件可访问的存储器中而将内容提供给第二组件。在此类示例中,第二组件可被配置为读取由第一组件存储于存储器中的内容。在其它示例中,第一组件可在不存在任何中间组件(例如,不存在存储器或另一组件)的情况下将内容提供给第二组件。在此类示例中,第一组件可被描述为将内容直接提供给第二组件。例如,第一组件可将内容输出到第二组件,并且第二组件可被配置为将从第一组件接收到的内容存储于诸如缓冲器的存储器中。
图1A是示出被配置为执行本公开的一种或多种技术的示例性设备100的框图。设备100包括被配置为执行本公开的一种或多种技术的显示处理管线102。根据本文中所描述的技术,显示处理管线102可被配置为生成指定用于显示的内容。显示处理管线102可通信地耦合到显示器103。在图1A的示例中,显示器103是设备100的显示器。然而,在其它示例中,显示器103可为在设备100外部的显示器(如图1中通过显示器103'所示)。对显示器103的参考可指代显示器103或显示器103'(即,设备的显示器或在设备外部的显示器)。
在显示器103不在设备100外部的示例中,设备的组件可被配置为将命令和/或内容发送或以其它方式提供给显示器103以供在其上呈现。在显示器103在设备100外部的示例中,设备100可被配置为将命令和/或内容发送或以其它方式提供给显示器103以供在其上呈现。如本文中所使用,“命令”、“指令”以及“代码”可互换使用。在一些示例中,设备100的显示器103可表示被配置为将内容投影到诸如观看介质(例如,屏幕、墙壁或任何其它观看介质)上的显示器投影仪。在一些示例中,显示器103可包括以下一者或多者:液晶显示器(LCD)、等离子体显示器、有机发光二极管(OLED)显示器、投影显示设备、增强现实(AR)显示设备、虚拟现实(VR)显示设备、头戴式显示器、可穿戴显示器或任何其它类型的显示器。
在一些示例中,显示器103表示第一显示器以及第二显示器,其中第一显示器用于为用户的左眼呈现显示内容并且第二显示器用于为用户的右眼呈现显示内容。在此类示例中,第一显示器以及第二显示器可分别被称为左眼显示器以及右眼显示器。在一些示例中,显示器103可为视频模式显示器。在其它示例中,显示器103可为命令模式显示器。
显示处理管线102可包括被配置为执行本公开的一种或多种技术的一个或多个组件(或电路)。如本文中所使用,对被配置为执行任何功能、技术等的显示处理管线的参考是指被配置为形成此类任何功能、技术等的显示处理管线的一个或多个组件。
在图1A的示例中,显示处理管线102包括第一处理单元104、第二处理单元106和第三处理单元108。在一些示例中,第一处理单元104可被配置为执行一个或多个应用120,第二处理单元106可被配置为执行图形处理,并且第三处理单元108可被配置为执行显示处理。在此类示例中,第一处理单元104可为中央处理单元(CPU),第二处理单元106可为图形处理单元(GPU)或通用GPU(GPGPU),并且第三处理单元108可为显示处理单元,其也可被称为显示处理器。在其它示例中,第一处理单元104、第二处理单元106和第三处理单元108可各自为被配置为执行关于每个处理单元所描述的一个或多个特征的任何处理单元。
图1B是示出设备的第三处理单元108与显示器103之间的示例性配置的框图。图1B中的显示器103的示例是智能面板或命令模式面板的示例。第三处理单元108与显示器103可被配置为经由通信介质(例如,有线和/或无线通信介质)彼此通信。例如,第三处理单元108可包括通信接口130(例如,总线接口),并且显示器103可包括实现彼此之间的通信的通信接口132(例如,总线接口)。在一些示例中,第三处理单元108与显示器103之间的通信可与通信标准、通信协议等兼容。例如,第三处理单元108与显示器103之间的通信可与显示串行接口(DSI)标准兼容。在一些示例中,第三处理单元108可被配置为将数据(例如,显示内容)提供给显示器103以供在其上呈现。诸如在显示器103是命令模式显示器时,第三处理单元108也可被配置为将命令/指令提供给显示器103。显示器103可包括处理单元134以及可由处理单元134访问的存储器136。处理单元134可被称为显示控制器。存储器136可被配置为存储显示器103从第三处理单元108接收到的数据。例如,存储器136可被配置为存储(例如,缓冲)从第三处理单元108接收到的帧。处理单元134可被配置为读取存储于存储器136中的从第三处理单元108接收到的数据,并基于从第三处理单元108接收到的一个或多个命令来驱动显示器103。
图1C是示出设备的第三处理单元108与显示器103之间的示例性配置的框图。图1C中的显示器103的示例是哑面板或视频模式面板的示例。第三处理单元108与显示器103可被配置为经由通信介质(例如,有线和/或无线通信介质)彼此通信。例如,第三处理单元108可包括通信接口130(例如,总线接口),并且显示器103可包括实现彼此之间的通信的通信接口132(例如,总线接口)。在一些示例中,第三处理单元108与显示器103之间的通信可与通信标准、通信协议等兼容。例如,第三处理单元108与显示器103之间的通信可与显示串行接口(DSI)标准兼容。在一些示例中,第三处理单元108可被配置为将数据(例如,显示内容)提供给显示器103以供在其上呈现。显示器103可包括处理单元134并且可不包括存储器。处理单元134可被称为显示驱动器。处理单元134可被配置为使从第三处理单元108接收到的显示内容显示于显示器103上。
返回参考图1A,第一处理单元可包括内部存储器105。第二处理单元106可包括内部存储器107。在一些示例中,内部存储器107可被称为GMEM。第三处理单元108可包括内部存储器109。显示处理管线102的处理单元104、106和108中的一者或多者可通信地耦合到存储器110。存储器110可在显示处理管线102的处理单元104、106和108中的一者或多者外部。例如,存储器110可为系统存储器。系统存储器可为设备100的可由设备100的一个或多个组件访问的系统存储器。例如,第一处理单元104可被配置为从存储器110读取和/或写入到存储器110。第二处理单元106可被配置为从存储器110读取和/或写入到该存储器。第三处理单元108可被配置为从存储器110读取和/或写入到存储器110。第一处理单元104、第二处理单元106和第三处理单元108可经由总线通信地耦合到存储器110。在一些示例中,显示处理管线102的一个或多个组件可经由总线或不同连接通信地彼此耦合。在其它示例中,系统存储器可为在设备100外部的存储器。
内部存储器105、内部存储器107、内部存储器109和/或存储器110可包括一个或多个易失性或非易失性存储器或存储设备。在一些示例中,内部存储器105、内部存储器107、内部存储器109和/或存储器110可包括随机存取存储器(RAM)、静态RAM(SRAM)、动态RAM(DRAM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、快闪存储器、磁性数据介质或光学存储介质,或任何其它类型的存储器。
根据一些示例,内部存储器105、内部存储器107、内部存储器109和/或存储器110可为非暂时性存储介质。术语“非暂时性”可以指示存储介质不体现在载波或传播信号中。然而,术语“非暂时性”不应解释为表示内部存储器105、内部存储器107、内部存储器109和/或存储器110是不可移动的或者其内容为静态的。作为一个示例,存储器110可从设备100移除并移动到另一设备。作为另一示例,存储器110可能无法从设备100移除。
在一些示例中,第一处理单元104可被配置为执行本文中关于第二处理单元106所描述的任何技术。在此类示例中,显示处理管线102可仅包括第一处理单元104以及第三处理单元108。替代地,显示处理管线102仍可包括第二处理单元106,但本文中关于第二处理单元106所描述的技术中的一种或多种可代替地由第一处理单元104执行。
在一些示例中,第一处理单元104可被配置为执行本文中关于第三处理单元108所描述的任何技术。在此类示例中,显示处理管线102可仅包括第一处理单元104以及第二处理单元106。替代地,显示处理管线102仍可包括第三处理单元108,但本文中关于第三处理单元108所描述的技术中的一种或多种可代替地由第一处理单元104执行。
在一些示例中,第二处理单元106可被配置为执行本文中关于第三处理单元108所描述的任何技术。在此类示例中,显示处理管线102可仅包括第一处理单元104以及第二处理单元106。替代地,显示处理管线102仍可包括第三处理单元108,但本文中关于第三处理单元108所描述的技术中的一种或多种可代替地由第二处理单元106执行。
第一处理单元104可被配置为执行一个或多个应用120。第一处理单元104可被配置为将一个或多个命令/指令(例如,绘制指令)提供给第二处理单元106,以使第二处理单元106生成图形内容。如本文中所使用,“命令”、“指令”以及“代码”可互换使用。例如,执行一个或多个应用120中的应用可使与该应用相对应的一个或多个命令/指令(例如,绘制指令)被提供给第二处理单元106,以生成用于该应用的图形内容。在一些示例中,应用可为存储于内部存储器105中的软件(例如,代码)。在其它示例中,应用可为存储于存储器110或第一处理单元104可访问的另一存储器中的软件。在其它示例中,应用可为存储于多个存储器(诸如内部存储器105以及存储器110)中的软件。
第二处理单元106可被配置为根据本文中所描述的技术诸如在图形处理管线111中执行图形处理。换言之,第二处理单元106可被配置为执行本文中关于第二处理单元106所描述的任何过程。例如,第二处理单元106可被配置为使用基于片的渲染(也称为“分格”)、直接渲染、自适应渲染、凹式渲染和/或任何图形处理技术来生成图形内容。
在基于片的渲染中,第二处理单元106可被配置为将缓冲器(例如,帧缓冲器)划分成被称为分格(bin)或片(tile)的多个子区域。例如,如果内部存储器107能够存储N个存储器单位的数据(其中N为正整数),则可将场景划分成分格,使得每个分格中所含有的像素数据小于或等于N个存储器单位。在一些示例中,将缓冲器划分成多个分格可被称为将帧划分成多个分格。以此方式,第二处理单元106可通过将场景划分成可单独地渲染到内部存储器107中的分格来渲染场景,将来自内部存储器107的每个所渲染分格存储到缓冲器(其可位于存储器110中),并针对场景的每个分格重复该渲染和存储。所渲染帧是所有所渲染分格的组合。将分格渲染到内部存储器107中可包括执行命令以将相关联分格中的图元渲染到内部存储器107中。存储所渲染帧(即,对应于帧的所有所渲染分格)的缓冲器可被称为帧缓冲器。帧缓冲器是保存可由诸如第三处理单元108的一个或多个其它组件读取的一个或多个所渲染帧的分配的存储器。因此,对将帧缓冲器、帧或场景划分成多个子区域的参考是指配置第二处理单元106以逐分格地渲染与帧相对应的图形内容。
如本文所描述,在分格遍次期间限定的分格可与所渲染帧(其可被称为所渲染场景)的分格/片同义。例如,每个所渲染分格可表示所渲染帧的部分。构成场景的分格可各自与存储每个相应分格中所包括的图形内容的存储器中的分格相关联。分格可为存储器的存储部分所渲染帧的部分。
基于片的渲染一般包括两个遍次:分格遍次以及渲染遍次。在分格遍次期间,第二处理单元106可被配置为接收并处理针对特定场景的绘制命令,以准备将场景渲染成帧。绘制命令可包括一个或多个图元。图元可具有一个或多个顶点。第二处理单元106可被配置为生成针对特定场景的绘制命令中的每个图元的每个顶点在屏幕空间中的位置数据(例如,坐标数据,诸如三轴(X,Y,Z)坐标数据)。在分格遍次期间,第二处理单元106可被配置为将缓冲器划分成帧将渲染到的多个分格。在一些示例中,第二处理单元106可被配置为在分格遍次期间生成多个分格中的每个分格的可视性信息。第二处理单元106可被配置为基于每个分格地生成可视性信息(例如,针对每个分格生成可视性信息)。
在生成每个分格的可视性信息(例如,在分格遍次期间)之后,第二处理单元106可被配置为使用每个相应分格的相应可视性信息单独地渲染多个分格中的每个相应分格。在一些示例中,第二处理单元106可被配置为使用在分格遍次期间生成的可视性流来阻止渲染分格遍次期间标识为不可见的图元,这避免了过度绘制。因此,仅可见图元和/或有可能可见的图元被渲染到每个分格中。
在渲染每个分格期间,第二处理单元106可被配置为将与正渲染的分格相对应的像素值存储于内部存储器107中。以此方式,基于片的渲染可使用第二处理单元106的内部存储器107。第二处理单元106可被配置为将存储于内部存储器107中的所渲染分格存储(例如,复制)到在第二处理单元106外部的存储器,诸如存储器110。在一些示例中,一旦分格已完全渲染到内部存储器107中,第二处理单元106就可被配置为将完全渲染的分格存储到在第二处理单元106外部的存储器。在其它示例中,第二处理单元106可被配置为将分格的图形内容渲染到内部存储器107中,并且并行地将渲染到内部存储器107中的图形内容存储到在第二处理单元106外部的存储器。因此,虽然第二处理单元106可逐分格地渲染图形内容,但逐分格地渲染到内部存储器107中的图形内容随后可存储于帧缓冲器中(例如,分配于存储器110中)。
如本文中所使用,在一些示例中,“可视性信息”可指代任何数据结构中指示一个或多个图元相对于生成可视性信息的分格是否可见和/或可能可见(例如,有可能可见)的任何信息。如本文所描述,图元是否可见/有可能可见或不可见可分别指代是否将相对于生成可视性信息的分格渲染或不渲染图元。如本文中所使用,根据一个示例,“可能可见”的图元(例如,有可能可见的图元)可指代不知道图元在图形处理管线中的特定处理点处(例如,渲染遍次之前的分格遍次期间)在所渲染帧中(即,所渲染帧的相应所渲染分格中)是否将可见或将不可见的事实。在另一示例中,“可能可见”的图元(例如,有可能可见的图元)可指代在图形处理管线中的特定处理点处(例如,渲染遍次之前的分格遍次期间)在所渲染帧中(即,所渲染帧的相应所渲染分格中)不可见或将不确定可见的图元。
例如,“可视性信息”可指代任何数据结构中指示与一个或多个绘制命令相关联的一个或多个图元相对于分格是否可见和/或可能可见的任何信息。作为另一示例,“可视性信息”可被描述为包括l和0的序列的可视性流,其中每个“1”或“0”与位于分格内的特定图元相关联。在一些示例中,每个“1”可指示分别与其相关联的图元在所渲染帧中(即,所渲染帧的相应所渲染分格中)可见或可能可见,并且每个“0”可指示分别与其相关联的图元在所渲染帧中(即,所渲染帧的相应所渲染分格中)将不可见。在其它示例中,每个“0”可指示分别与其相关联的图元在所渲染帧中(即,所渲染帧的相应所渲染分格中)可见或可能可见,并且每个“1”可指示分别与其相关联的图元在所渲染帧中(即,所渲染帧的相应所渲染分格中)将不可见。在其它示例中,“可视性信息”可指代包括格式不同于可视性流的可视性信息的数据结构。
在直接渲染模式中,第二处理单元106可被配置为在一个遍次中直接渲染到帧缓冲器(例如,存储器110中的存储器位置)。换言之,第二处理单元106可被配置为在不使用内部存储器107来中间存储所渲染图形内容的情况下将图形内容渲染到帧缓冲器。在一些示例中,根据基于片的渲染的执行方式,直接渲染模式可被视为单个分格,除了整个帧缓冲器被处理为单个分格。如本文中所提及,渲染模式(例如,直接渲染模式、基于片的渲染模式、自适应渲染模式以及凹式渲染模式)可指代第二处理单元106被配置为执行与渲染模式相关联的一种或多种技术。本文中所描述的一个或多个渲染模式可被组合。
在自适应渲染模式中,第二处理单元106可被配置为组合一种或多种基于片的渲染技术与一种或多种直接渲染技术。例如,在自适应渲染中,可将一个或多个分格(例如,使用基于片的渲染模式渲染的分格)渲染到内部存储器107并且随后从内部存储器107存储到在第二处理单元106外部的存储器中的帧缓冲器,并且可直接将一个或多个分格(例如,使用直接渲染模式渲染的分格)渲染到在第二处理单元106外部的存储器中的帧缓冲器。第二处理单元106可被配置为使用在分格遍次期间针对待渲染的分格生成的可视性信息而使用直接渲染来渲染这些相应分格,并且对这些直接渲染的分格的渲染可在一个渲染遍次中发生。相反地,第二处理单元106可被配置为使用在分格遍次期间针对待渲染的分格生成的可视性信息而使用基于片的渲染来渲染这些相应分格,并且对这些基于片渲染的分格的渲染可在多个渲染遍次(例如,针对使用基于片的渲染所渲染的分格中的每个相应分格的相应渲染遍次)中发生。
在凹式渲染模式中,第二处理单元106可被配置为基于指示眼睛注视区域的信息来渲染帧的图形内容。人类视觉系统在中央凹(中央视觉区域,即,人员正在看的区域)中产生高分辨率视觉,并且在中央凹周围的外围区域中产生低分辨率视觉。凹式渲染通过以高分辨率渲染与眼睛注视区域相对应的图形内容并以低分辨率渲染与眼睛注视区域周围的外围区域相对应的图形内容而利用人类视觉系统的工作方式。通过降低外围区域中的分辨率,可降低第二处理单元106的计算负载,因此带来更高效的处理。
在一些示例中,将图形内容渲染到帧缓冲器可指代将像素值写入到帧缓冲器。像素值可具有一个或多个分量,诸如一个或多个颜色分量。每个分量可具有对应值。例如,红色、绿色和蓝色颜色空间中的像素可具有红色颜色分量值、绿色颜色分量值和蓝色颜色分量值。
第三处理单元108可被配置为根据本文中所描述的技术来执行一个或多个显示处理过程122。例如,第三处理单元108可被配置为在由显示器103呈现之前,对由第二处理单元106生成的一个或多个帧执行一种或多种显示处理技术。换言之,第三处理单元108可被配置为执行显示处理。在一些示例中,一个或多个显示处理过程122可包括以下中的一者或多者:旋转操作、混合操作、缩放操作、任何显示处理过程/操作或本文中关于第三处理单元108所描述的任何过程/操作。
在一些示例中,一个或多个显示处理过程122包括本文中关于第三处理单元108所描述的任何过程/操作。显示器103可被配置为显示使用显示处理管线102生成的内容。例如,第二处理单元106可基于从第一处理单元104接收到的命令/指令而生成图形内容。图形内容可包括一个或多个层。这些层中的每一个可构成图形内容的帧。第三处理单元108可被配置为对由第二处理单元106渲染的图形内容执行合成以生成显示内容。显示内容可构成供显示的帧。供显示的帧可包括由第三处理单元108混合在一起的两个或更多个层/帧。
设备100可包括或连接到一个或多个输入设备113。在一些示例中,一个或多个输入设备113可包括以下中的一者或多者:触摸屏、鼠标、外围设备、音频输入设备(例如,麦克风或任何其它视觉输入设备)、眼睛注视输入设备(其可被称为眼睛注视跟踪器、眼睛跟踪器、眼睛注视传感器、眼睛移动跟踪器、眼睛移动传感器、眼睛传感器等)、视觉输入设备(例如,相机、眼睛跟踪器或任何其它视觉输入设备)、任何用户输入设备,或被配置为从用户接收输入的任何输入设备。在一些示例中,显示器103可为触摸屏显示器;并且,在此类示例中,显示器103构成示例性输入设备113。
在图1A的示例中,一个或多个输入设备113被示出为包括眼睛注视输入设备113-1。眼睛注视输入设备113-1可被配置为确定设备100的用户正在看的地方,诸如在显示器(例如,显示器103)上用户正在看的地方。换言之,眼睛注视输入设备113-1可被配置为生成指示眼睛注视区域的信息。眼睛注视区域可为设备100的用户正在看的区域。在一些示例中,眼睛注视区域可被称为中央凹/凹式区域或固定点区。指示眼睛注视区域的信息可包括指示一个或多个区域(诸如眼睛注视区域(例如,中央凹区域)和/或眼睛注视区域外部的一个或多个区域(例如,外围区域))的信息。在一些示例中,外围区域可为落在眼睛注视区域外部的区域。
眼睛注视输入设备113-1可被配置为将指示眼睛注视区域的信息提供给第一处理单元104和/或第二处理单元106。在一些示例中,第一处理单元104可被配置为从眼睛注视输入设备113-1接收指示眼睛注视区域的信息,并进一步处理该信息以生成指示眼睛注视区域的处理过的信息。例如,第一处理单元104可被配置为调整与从眼睛注视输入设备113-1接收到的指示眼睛注视区域的信息相对应的眼睛注视区域的大小。在其它示例中,第一处理单元104可被配置为从眼睛注视输入设备113-1接收指示眼睛注视区域的信息,并将其转发到第二处理单元106。根据本文中所描述的技术,第二处理单元106可被配置为从诸如第一处理单元104或眼睛注视输入设备113-1的任何组件接收指示眼睛注视区域的信息。由第二处理单元106接收的指示眼睛注视区域的信息可由眼睛注视输入设备113-1生成,并且在由第二处理单元106接收之前可由零个或多个其它组件处理。
输入设备的输出可构成从输入设备接收输出的组件的输入。眼睛注视输入设备113-1可与设备100集成,使得眼睛注视输入设备113-1被配置为检测相对于显示器103用户正在看的地方。
显示处理管线102可被配置为执行一个或多个应用。例如,第一处理单元104可被配置为执行一个或多个应用120。第一处理单元104可被配置为使第二处理单元106生成用于正由第一处理单元104执行的一个或多个应用120的内容。换言之,由第一处理单元104执行一个或多个应用120可使由图形处理管线111生成图形内容。例如,第一处理单元104可向第二处理单元106发出或以其它方式提供指令(例如,绘制指令),该指令使第二处理单元106基于从第一处理单元104接收到的指令而生成图形内容。第二处理单元106可被配置为生成用于由第一处理单元104执行的一个或多个应用120中的每个应用的一个或多个层。由第二处理单元106生成的每个层可存储于缓冲器(例如,帧缓冲器)中。换言之,缓冲器可被配置为存储由第二处理单元106渲染的图形内容的一个或多个层。缓冲器可驻留于第二处理单元106的内部存储器107和/或存储器110(在一些示例中,其可为设备100的系统存储器)中。由第二处理单元106产生的每个层可构成图形内容。一个或多个层可对应于单个应用或多个应用。第二处理单元106可被配置为生成内容的多个层,这表示第一处理单元104可被配置为使第二处理单元106生成内容的多个层。
在一些示例中,设备100和/或显示处理管线102的一个或多个组件可组合为单个组件。例如,显示处理管线102的一个或多个组件可为片上系统(SoC)的一个或多个组件,在该情况下显示处理管线102仍可包括第一处理单元104、第二处理单元106以及第三处理单元108;但是作为SoC的组件而非物理上分离的组件。在其它示例中,显示处理管线102的一个或多个组件可为并不集成于单个组件中的物理上分离的组件。例如,第一处理单元104、第二处理单元106以及第三处理单元108可各自为彼此物理上分离的组件。应当理解,显示处理管线可具有不同配置。因而,本文中所描述的技术可改善任何显示处理管线和/或显示器,而非仅本文中所描述的特定示例。
在一些示例中,显示处理管线102的一个或多个组件可集成于设备100的主板中。在一些示例中,显示处理管线102的一个或多个组件可存在于设备100的显卡(诸如安装在设备100的主板中的端口中的显卡或结合于被配置为与设备100互操作的外围设备内的显卡)上。
第一处理单元104、第二处理单元106和/或第三处理单元108可包括一个或多个处理器,诸如一个或多个微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、算术逻辑单元(ALU)、数字信号处理器(DSP)、分立逻辑、软件、硬件、固件、其它等效集成或分立逻辑电路或其任何组合。在本文中所描述的技术部分地以软件实施的示例中,软件(指令、代码等)可存储于可由处理单元访问的合适非暂时性计算机可读存储介质中。处理单元可使用一个或多个处理器以硬件执行软件来执行本公开的技术。例如,显示处理管线102的一个或多个组件可被配置为执行软件。可由第一处理单元104执行的软件可存储于内部存储器105和/或存储器110中。可由第二处理单元106执行的软件可存储于内部存储器107和/或存储器110中。可由第三处理单元108执行的软件可存储于内部存储器109和/或存储器110中。
如本文所描述,诸如设备100的设备可指代被配置为执行本文中所描述的一种或多种技术的任何设备、装置或系统。例如,设备可为服务器、基站、用户设备、客户端设备、站、接入点、计算机(例如,个人计算机、台式计算机、膝上型计算机、平板计算机、计算机工作站或大型计算机)、最终产品、装置、电话、智能电话、服务器、视频游戏平台或控制台、手持式设备(例如,便携式视频游戏设备或个人数字助理(PDA))、可穿戴计算设备(例如,智能手表、增强现实(AR)设备或虚拟现实(VR)设备)、非可穿戴设备(例如,非可穿戴AR设备或非可穿戴VR设备)、任何AR设备、任何VR设备、显示器(例如,显示设备)、电视机、电视机顶盒、中间网络设备、数字媒体播放器、视频流设备、内容流设备、车载计算机、任何移动设备、被配置为生成内容的任何设备或被配置为执行本文中所描述的一种或多种技术的任何设备。在一些示例中,设备100可为装置。装置可为处理单元、SOC或任何设备。
如本文所描述,设备、组件等可在本文中被描述为被配置为彼此通信。例如,显示处理管线102的一个或多个组件可被配置为与设备100的一个或多个其它组件通信,该一个或多个其它组件诸如显示器103、存储器110和/或设备100的一个或多个其它组件(例如,一个或多个输入设备)。显示处理管线102的一个或多个组件可被配置为彼此通信。例如,第一处理单元104可通信地耦合到第二处理单元106和/或第三处理单元108。作为另一示例,第二处理单元106可通信地耦合到第一处理单元104和/或第三处理单元108。作为另一示例,第三处理单元108可通信地耦合到第一处理单元104和/或第二处理单元106。
如本文所描述,通信可包括将信息从第一组件通信到第二组件(或从第一设备通信到第二设备)。在一些示例中,可在一个或多个消息中携带信息。作为示例,与第二组件通信的第一组件可被描述为通信地耦合到或以其它方式耦合第二组件。例如,第一处理单元104与第二处理单元106可通信地耦合。在此类示例中,第一处理单元104可将信息通信到第二处理单元106和/或从第二处理单元106接收信息。
在一些示例中,术语“通信地耦合”可指代可为直接或间接的通信连接。通信连接可为有线和/或无线的。有线连接可指代信息可经由其行进的导电路径、迹线或物理介质(排除无线物理介质)。导电路径可指代任何长度的任何导体,诸如导电焊盘、导电通孔、导电平面、导电迹线或任何导电介质。直接通信连接可指代在两个通信地耦合的组件之间未驻留中间组件的连接。间接通信连接可指代在两个通信地耦合的组件之间驻留有至少一个中间组件的连接。在一些示例中,通信连接可实现通信信息(例如,输出信息、发送信息、接收信息等)。在一些示例中,术语“通信地耦合”可指代临时、间歇或永久的通信连接。
本文中所描述的任何设备或组件可被配置为根据一个或多个通信协议来操作。例如,第一组件与第二组件可经由连接通信地耦合。该连接可兼容或以其它方式依据通信协议。如本文中所使用,术语“通信协议”可指代任何通信协议,诸如与通信标准兼容的通信协议等。作为示例,通信协议可包括显示串行接口(DSI)协议。DSI可实现第三处理单元108与显示器103之间经由诸如总线的连接的通信。
根据本文中所描述的技术,可平滑化具有不同像素密度的分格之间的边界。换言之,可根据本文中所描述的技术平滑化具有不同像素密度的两个邻近分格之间的过渡。平滑化具有不同像素密度的分格之间的边界减少或消除了分格之间在边界处质量改变的明显性。本文中所描述的技术可与使用基于片的渲染的任何渲染模式一起使用。例如,本文中所描述的技术可与基于片的渲染模式、凹式渲染模式或使用基于片的渲染的任何其它渲染模式(例如,基于片的凹式渲染、用于凹式渲染的自适应渲染或任何其它技术)一起使用。例如,基于片的凹式渲染在包括以第一像素密度渲染的图形内容的分格与包括以第二像素密度渲染的图形内容的分格之间引入边界。第一像素密度可对应于第一分辨率并且第二像素密度可对应于第二分辨率。第一像素密度可大于第二像素密度,这表示第一分辨率可大于第二分辨率。换言之,基于片的凹式渲染引入存在从较高分辨率数据到较低分辨率数据的过渡的边界。当边界较接近焦点时,以不同质量水平渲染的分格之间的过渡可能在边界处变得较明显。例如,随着眼睛跟踪技术变得更准确,凹式区域的大小可变得更准确,从而导致更小的高分辨率区域被渲染。与凹式区域相对应的更小的高分辨率区域表示高分辨率分格与低分辨率分格之间的边界可能更接近焦点,这可能导致边界更易于被感知。根据本文中所描述的技术,平滑化不同质量的分格之间的边界减少或消除了分格之间的质量改变的明显性。
图2A至2N示出根据本文中所描述的技术平滑化以不同质量水平渲染的两个分格之间的过渡的各种示例。图2A的示例包括两个不同的所渲染分格:分格1和分格2。分格1和2彼此相邻并且在帧中共享一个边界。在该示例中,共享边界是分格1的底部边缘和分格2的顶部边缘。分格1和2可被称为邻近分格,因为其彼此相邻。例如,分格1邻近分格2,并且分格2邻近分格1。邻近分格也可包括与另一分格共享拐角的对角地定位的分格。换言之,共享拐角的两个对角地定位的分格可被称为邻近分格,即使这两个分格并不彼此相邻。在一些示例中,分格1和2可各自是与帧相对应的多个分格中的相应分格。多个分格可包括两个或更多个分格。例如,第二处理单元106可被配置为将帧划分成多个分格。多个分格可包括分格1和分格2。
在图2A的示例中,分格1和2各自是过度渲染的分格的示例。过度渲染的分格包括与邻近分格相对应的图形内容。例如,分格1包括以第一像素密度渲染的第一图形内容以及第一过度渲染区域。第一过度渲染区域包括与分格2相对应的第二图形内容的部分。第一过度渲染区域在分格1的底部边界处开始并且延伸远离分格1的底部边界。第一过度渲染区域中的第二图形内容的该部分是以第一像素密度渲染。分格2包括以第二像素密度渲染的第二图形内容以及第二过度渲染区域。第二过度渲染区域包括与分格1相对应的第一图形内容的部分。第二过度渲染区域在分格2的顶部边界处开始并且延伸远离分格2的顶部边界。第二过度渲染区域中的第一图形内容的该部分是以第二像素密度渲染。在一些示例中,第一像素密度可大于第二像素密度。在其它示例中,第一像素密度可小于第二像素密度。
过度渲染区域可延伸超出分格的边界过度渲染距离。过度渲染距离可为X个像素,其中X为正整数。例如,X可为16个像素。在其它示例中,X可小于16个像素。在其它示例中,X可大于16个像素。在一些示例中,X可等于或小于与过度渲染方向(例如,延伸方向)相对应的分格维度的像素的Z%。例如,参考图2A,分格1具有长度以及宽度。在该示例中,第一过度渲染区域的过度渲染距离可为与宽度(即,较短维度)相对应的像素数量的Z%。在一些示例中,Z可小于50%、25%、10%、5%、2.5%、1%、0.5%或任何其它百分比。
图2B示出了混合一个分格的过度渲染区域与另一分格的区域以平滑化两个分格之间的过渡的示例。例如,从图2A中的示例可知,第二过度渲染区域可与分格1的区域混合以在分格1中生成混合区域。分格1的区域是包括以第一像素密度渲染的第一图形内容的部分的区域。混合区域包括处于第三像素密度的第一图形内容的部分,该第三像素密度介于第一像素密度与第二像素密度之间。第三像素密度可被称为中间像素密度,因为其介于第一与第二像素密度之间。混合区域包括处于两个像素密度(即,在该示例中为第一像素密度和第二像素密度)的图形内容,这导致混合区域具有第三像素密度。例如,图2B中的混合区域包括第一百分比(N%)的以第一像素密度渲染的第一图形内容的部分,以及第二百分比(M%)的以第二像素密度渲染的第一图形内容的部分,其中N+M=100。在一些示例中,N与M可相等(即,N以及M两者均可为50%)。在其它示例中,N与M可不相等。例如,N可小于50%并且M可大于50%。作为另一示例,N可大于50%并且M可小于50%。
混合区域可从分格的边界延伸到分格中混合距离。混合距离可为Y个像素,其中Y为正整数。在一些示例中,过度渲染距离可与混合距离相同。在其它示例中,过度渲染距离可小于或大于混合距离。在一些示例中,Y可为16个像素。在其它示例中,Y可小于16个像素。在其它示例中,Y可大于16个像素。在一些示例中,Y可等于或小于与延伸方向相对应的分格维度的像素的W%。例如,参考图2A,分格1具有长度以及宽度。在该示例中,第一过度渲染区域的混合距离可为与宽度(即,较短维度)相对应的像素数量的W%。在一些示例中,W可小于50%、25%、10%、5%、2.5%、1%、0.5%或任何其它百分比。在一些示例中,W可与Z相同。在其它示例中,W可小于或大于Z。
参考图2A和2B,第一像素密度可小于第二像素密度。在此类示例中,混合可被称为将以较高像素密度渲染的图形内容混合到以较低像素密度渲染的图形内容中。在其它示例中,第一像素密度可大于第二像素密度。在此类示例中,混合可被称为将以较低像素密度渲染的图形内容混合到以较高像素密度渲染的图形内容中。
图2C示出了混合一个分格的过度渲染区域与另一分格的区域以平滑化两个分格之间的过渡的示例。例如,从图2A中的示例可知,第一过度渲染区域可与分格2的区域混合以在分格2中生成混合区域。分格2的区域是包括以第二像素密度渲染的第二图形内容的部分的区域。混合区域包括处于第三像素密度的第二图形内容的部分,该第三像素密度介于第一像素密度与第二像素密度之间。第三像素密度可被称为中间像素密度,因为其介于第一与第二像素密度之间。混合区域包括处于两个像素密度(即,在该示例中为第一像素密度和第二像素密度)的图形内容,这导致混合区域具有第三像素密度。例如,图2C中的混合区域包括第一百分比(N%)的以第一像素密度渲染的第一图形内容的部分,以及第二百分比(M%)的以第二像素密度渲染的第一图形内容的部分,其中N+M=100。在一些示例中,N与M可相等(即,N以及M两者均可为50%)。在其它示例中,N与M可不相等。例如,N可小于50%并且M可大于50%。作为另一示例,N可大于50%并且M可小于50%。
参考图2A和2C,第一像素密度可大于第二像素密度。在此类示例中,混合可被称为将以较高像素密度渲染的图形内容混合到以较低像素密度渲染的图形内容中。在其它示例中,第一像素密度可小于第二像素密度。在此类示例中,混合可被称为将以较低像素密度渲染的图形内容混合到以较高像素密度渲染的图形内容中。
图2D示出了混合与同一边界相对应的多个过度渲染区域的示例。例如,从图2A中的示例可知,第二过度渲染区域可与分格1的区域混合以在分格1中生成第一混合区域,并且第一过度渲染区域可与分格2的区域混合以在分格2中生成第二混合区域。分格1的区域是包括以第一像素密度渲染的第一图形内容的部分的区域。第一混合区域包括处于第三像素密度的第一图形内容的部分,该第三像素密度介于第一像素密度与第二像素密度之间。分格2的区域是包括以第二像素密度渲染的第二图形内容的部分的区域。第二混合区域包括处于第四像素密度的第二图形内容的部分,该第四像素密度介于第一像素密度与第二像素密度之间。第三像素密度和第四像素密度可各自被称为中间像素密度,因为第三像素密度和第四像素密度各自均介于第一像素密度与第二像素密度之间。
第一混合区域包括处于两个像素密度(即,在该示例中为第一像素密度和第二像素密度)的图形内容,这导致混合区域具有第三像素密度。例如,图2D中的第一混合区域包括第一百分比(N%)的以第一像素密度渲染的第一图形内容的部分,以及第二百分比(M%)的以第二像素密度渲染的第一图形内容的部分,其中N+M=100。在一些示例中,N与M可相等(即,N以及M两者均可为50%)。在其它示例中,N与M可不相等。例如,N可小于50%并且M可大于50%。作为另一示例,N可大于50%并且M可小于50%。
第二混合区域包括处于两个像素密度(即,在该示例中为第一像素密度和第二像素密度)的图形内容,这导致混合区域具有第四像素密度。例如,图2D中的第二混合区域包括第一百分比(R%)的以第一像素密度渲染的第二图形内容的部分,以及第二百分比(S%)的以第二像素密度渲染的第二图形内容的部分,其中R+S=100。在一些示例中,R与S可相等(即,R以及S两者均可为50%)。在其它示例中,R与S可不等。例如,R可小于50%并且S可大于50%。作为另一示例,R可大于50%并且S可小于50%。在一些示例中,第三像素密度可等于第四像素密度。在其它示例中,第三像素密度可不等于第四像素密度。例如,第三像素密度可大于第四像素密度。作为另一示例,第三像素密度可小于第四像素密度。
参考图2A和2D,第一像素密度可小于第二像素密度。在此类示例中,生成第一混合区域可被称为将以较高像素密度渲染的图形内容混合到以较低像素密度渲染的图形内容中,并且生成第二混合区域可被称为将以较低像素密度渲染的图形内容混合到以较高像素密度渲染的图形内容中。在其它示例中,第一像素密度可大于第二像素密度。在此类示例中,生成第一混合区域可被称为将以低高像素密度渲染的图形内容混合到以较高像素密度渲染的图形内容中,并且生成第二混合区域可被称为将以较高像素密度渲染的图形内容混合到以较低像素密度渲染的图形内容中。
混合区域可包括一个或多个混合区域,如在图2E和2F中所示的示例中。换言之,混合区域可包括以两个或更多个不同像素密度渲染的图形内容。图2E的示例包括三个不同的所渲染分格:分格1、分格2以及分格3。分格1至3中的每个分格是其它两个分格的邻近分格。在该示例中,分格1与分格2共享边界并且与分格3共享拐角。分格1至3可各自是与帧相对应的多个分格中的相应分格。多个分格可包括三个或更多个分格。例如,第二处理单元106可被配置为将帧划分成多个分格。多个分格可包括分格1至3。
在图2E的示例中,分格1包括以第一像素密度渲染的第一图形内容,并且分格2和3各自是过度渲染的分格的示例。分格2包括以第二像素密度渲染的第二图形内容以及过度渲染区域250。过度渲染区域250包括与分格1相对应的第一图形内容的部分。过度渲染区域250中的第一图形内容的该部分是以第二像素密度渲染。分格3包括以第三像素密度渲染的第三图形内容以及过度渲染区域252。过度渲染区域252包括与分格1相对应的第一图形内容的部分。过度渲染区域252中的第一图形内容的该部分是以第三像素密度渲染。过度渲染区域250和252中的第一图形内容的部分是不同的。过度渲染区域250中的第一图形的部分对应于分格1中以第一像素密度渲染的相同图形内容。类似地,过度渲染区域252中的第一图形的部分对应于分格1中以第一像素密度渲染的相同图形内容(即,拐角中的图形内容)。
图2F示出了混合多个过度渲染区域与另一分格的区域以平滑化多个分格之间的过渡的示例。例如,从图2E中的示例可知,过度渲染区域250以及过度渲染区域252可与分格1的区域混合以在分格1中生成混合区域254。分格1的区域是包括以第一像素密度渲染的第一图形内容的部分的区域。
混合区域254包括第一混合区域256以及第二混合区域258。第一混合区域256包括以两个像素密度(即,在该示例中为第一像素密度和第二像素密度)渲染的第一图形内容,这导致第一混合区域256具有介于第一像素密度与第二像素密度之间的第四像素密度。第二混合区域258包括以三个像素密度(即,在该示例中为该示例中的第一像素密度、第二像素密度以及第三像素密度)渲染的第一图形内容,这导致第二混合区域258具有介于第一、第二以及第三像素密度当中的最高像素密度与最低像素密度之间的第五像素密度。
在一些示例中,第二处理单元106可被配置为过度渲染与帧相对应的每个分格。在此类示例中,第二处理单元106可被配置为针对与邻近分格共享边界的每个相应边界通过相应过度渲染区域来渲染每个分格,而不管邻近分格所渲染或待渲染的像素密度如何。
图2G示出了针对与帧相对应的每个分格的每个共享边界渲染过度渲染区域的示例。在图2G的示例中,帧已被划分成9个分格。每个分格的中心的编号表示分格编号。分格5包括以第一像素密度渲染的第五图形内容(即,与分格5相对应的图形内容)。分格1包括以第二像素密度渲染的第一图形内容(即,与分格1相对应的图形内容)。在图2G的示例中,第二像素密度小于第一像素密度。分格2包括以第二像素密度渲染的第二图形内容(即,与分格2相对应的图形内容)。分格3包括以第二像素密度渲染的第三图形内容(即,与分格3相对应的图形内容)。分格4包括以第二像素密度渲染的第四图形内容(即,与分格4相对应的图形内容)。分格6包括以第二像素密度渲染的第六图形内容(即,与分格6相对应的图形内容)。分格7包括以第三像素密度渲染的第七图形内容(即,与分格7相对应的图形内容)。在图2G的示例中,第三像素密度小于第二像素密度。分格8包括以第三像素密度渲染的第八图形内容(即,与分格8相对应的图形内容)。分格9包括以第三像素密度渲染的第九图形内容(即,与分格9相对应的图形内容)。
分格边界外部的区构成与每个分格相对应的过度渲染区域。“A-B”的过度渲染区域命名法为如下:A代表渲染过度渲染区域的分格编号并且B代表过度渲染区域中的图形内容所对应的邻近分格编号。例如,所渲染分格1包括以第二像素密度渲染的第一图形内容以及三个不同的过度渲染区域:过度渲染区域1-2、过度渲染区域1-4以及过度渲染区域1-5。过度渲染区域1-2包括与分格2相对应的第二图形内容的部分。过度渲染区域1-2中的第二图形内容的该部分是以第二像素密度渲染。过度渲染区域1-4包括与分格4相对应的第四图形内容的部分。过度渲染区域1-4中的第四图形内容的该部分是以第二像素密度渲染。过度渲染区域1-5包括与分格5相对应的第五图形内容的部分。过度渲染区域1-5中的第五图形内容的该部分是以第二像素密度渲染。
作为另一示例,所渲染分格7包括以第三像素密度渲染的第七图形内容以及三个不同的过度渲染区域:过度渲染区域7-4、过度渲染区域7-5以及过度渲染区域7-8。过度渲染区域7-4包括与分格4相对应的第四图形内容的部分。过度渲染区域7-4中的第四图形内容的该部分是以第三像素密度渲染。过度渲染区域7-5包括与分格5相对应的第五图形内容的部分。过度渲染区域7-5中的第五图形内容的该部分是以第三像素密度渲染。过度渲染区域7-8包括与分格8相对应的第八图形内容的部分。过度渲染区域7-8中的第八图形内容的该部分是以第三像素密度渲染。
图2H示出了与图2G中所示相同的示例,其中一个差异在于:不过度渲染共享拐角。在一些示例中,拐角可被过度渲染,诸如图2G的示例中所示。在其它示例中,拐角可不被过度渲染,诸如图2H的示例中所示。通过不过度渲染拐角,可简化混合算法、可减少处理资源消耗并且可减少存储器消耗。
在一些示例中,第二处理单元106可被配置为仅针对与以不同像素密度所渲染或待渲染的邻近分格共享边界的每个相应边界通过相应过度渲染区域来渲染每个分格。在此类示例中,第二处理单元106可被配置为减少处理资源的消耗,因为在以相同像素密度渲染的分格之间不必要进行平滑化。在此类示例中,第二处理单元106可被配置为基于混合方向而进一步减少处理资源消耗以及存储器消耗。例如,混合可被限于基于像素密度的方向。作为一个示例,较低像素密度图形内容可混合到较高像素密度图形内容中,但较高像素密度图形内容可不混合到较低像素密度图形内容中。图2K和2L示出了此类示例。作为另一示例,较高像素密度图形内容可混合到较低像素密度图形内容中,但较低像素密度图形内容可不混合到较高像素密度图形内容中。图2M和2N示出了此类示例。
图2I示出针对与以不同像素密度所渲染或待渲染的邻近分格共享边界的分格的每个边界渲染过度渲染区域的示例。在图2I的示例中,帧已被划分成9个分格。每个分格的中心的编号表示分格编号。分格5包括以第一像素密度渲染的第五图形内容(即,与分格5相对应的图形内容)。分格1包括以第二像素密度渲染的第一图形内容(即,与分格1相对应的图形内容)。在图2G的示例中,第二像素密度小于第一像素密度。分格2包括以第二像素密度渲染的第二图形内容(即,与分格2相对应的图形内容)。分格3包括以第二像素密度渲染的第三图形内容(即,与分格3相对应的图形内容)。分格4包括以第二像素密度渲染的第四图形内容(即,与分格4相对应的图形内容)。分格6包括以第二像素密度渲染的第六图形内容(即,与分格6相对应的图形内容)。分格7包括以第三像素密度渲染的第七图形内容(即,与分格7相对应的图形内容)。在图2E的示例中,第三像素密度小于第二像素密度。分格8包括以第三像素密度渲染的第八图形内容(即,与分格8相对应的图形内容)。分格9包括以第三像素密度渲染的第九图形内容(即,与分格9相对应的图形内容)。
分格边界外部的区构成与每个分格相对应的过度渲染区域。“A-B”的过度渲染区域命名法为如下:A代表渲染过度渲染区域的分格编号并且B代表过度渲染区域中的图形内容所对应的邻近分格编号。例如,所渲染分格1包括以第二像素密度渲染的第一图形内容以及过度渲染区域1-5。过度渲染区域1-5包括与分格5相对应的第五图形内容的部分。过度渲染区域1-5中的第五图形内容的该部分是以第二像素密度渲染。
作为另一示例,所渲染分格2包括以第二像素密度渲染的第二图形内容以及过度渲染区域2-5。过度渲染区域2-5包括与分格5相对应的第五图形内容的部分。过度渲染区域2-5中的第五图形内容的该部分是以第二像素密度渲染。
作为另一示例,所渲染分格7包括以第三像素密度渲染的第七图形内容以及两个不同的过度渲染区域:过度渲染区域7-4以及过度渲染区域7-5。过度渲染区域7-4包括与分格4相对应的第四图形内容的部分。过度渲染区域7-4中的第四图形内容的该部分是以第三像素密度渲染。过度渲染区域7-5包括与分格5相对应的第五图形内容的部分。过度渲染区域7-5中的第五图形内容的该部分是以第三像素密度渲染。
图2J示出了与图2I中所示相同的示例,其中一个差异在于:不过度渲染共享拐角。在一些示例中,拐角可被过度渲染,诸如图2I的示例中所示。在其它示例中,拐角可不被过度渲染,诸如图2J的示例中所示。通过不过度渲染拐角,可简化混合算法、可减少处理资源消耗并且可减少存储器消耗。
图2K示出了与图2I中所示相同的示例,其中一个差异在于:在该示例中,混合受限,使得仅较低像素密度图形内容可与较高像素密度图形内容混合。因而,无需渲染某些过度渲染区域,因为它们在任何混合操作期间将并不会使用。换言之,图2K示出了图2I中所示的示例,但其中第二处理单元106考虑较低像素密度图形内容到较高像素密度图形内容的混合方向。
图2L示出了与图2K中所示相同的示例,其中一个差异在于:不过度渲染共享拐角。在一些示例中,拐角可被过度渲染,诸如图2K的示例中所示。在其它示例中,拐角可不被过度渲染,诸如图2L的示例中所示。通过不过度渲染拐角,可简化混合算法、可减少处理资源消耗并且可减少存储器消耗。
图2M示出了与图2I中所示相同的示例,其中一个差异在于:在该示例中,混合受限,使得仅较高像素密度图形内容可与较低像素密度图形内容混合。因而,无需渲染某些过度渲染区域,因为它们在任何混合操作期间将并不会使用。换言之,图2M示出了图2I中所示的示例,但其中第二处理单元106考虑较高像素密度图形内容到较低像素密度图形内容的混合方向。
图2N示出了与图2M中所示相同的示例,其中一个差异在于:不过度渲染共享拐角。在一些示例中,拐角可被过度渲染,诸如图2M的示例中所示。在其它示例中,拐角可不被过度渲染,诸如图2N的示例中所示。通过不过度渲染拐角,可简化混合算法、可减少处理资源消耗并且可减少存储器消耗。
在一些示例中,每个分格待渲染的像素密度可基于眼睛注视区域是否与分格重叠。眼睛注视区域可与一个或多个分格重叠。图3示出了示例性帧300,其中眼睛注视区域与多个分格重叠。在图3的示例中,帧300被划分成16个分格,并且分格6、7、10以及11与眼睛注视区域重叠。基于指示眼睛注视区域的信息,第二处理单元106可被配置为确定分格1至16中的哪个或哪些分格待以第一像素密度渲染并且分格1至16中的哪个或哪些分格待以第二像素密度渲染。在一些示例中,第一像素密度可大于第二像素密度。在此类示例中,第二处理单元106可被配置为确定分格6、7、10以及11待以第一像素密度渲染,并确定分格1至5、8、9以及12至16待以第二像素密度渲染。根据本文中所描述的技术,第二处理单元106可被配置为平滑化以第一像素密度渲染的分格与以第二像素密度渲染的分格之间的过渡。
根据本文中所描述的技术,第二处理单元106可被配置为渲染图形内容。例如,第二处理单元106可被配置为渲染与帧相对应的多个分格。第二处理单元106可被配置为过度渲染多个分格中的一个或多个分格,如本文中所描述。
如本文所描述,可通过混合以第一像素密度渲染的图形内容的部分与以不同于第一像素密度的一个或多个像素密度渲染的图形内容的一个或多个过度渲染区域而生成混合区域。在一些示例中,可由第二处理单元106执行对以不同像素密度渲染的图形内容的混合。例如,第二处理单元106可被配置为在将所渲染图形内容存储到存储器110中时,混合以不同像素密度渲染的图形内容。在其它示例中,第二处理单元106可被配置为在不混合的情况下将以不同像素密度渲染的图形内容存储到存储器110中。在此类示例中,第二处理单元106或不同的处理单元(例如,第一处理单元104、第三处理单元108或任何其它处理单元)可被配置为从存储器110读取以不同像素密度渲染的图形内容。从存储器读取以不同像素密度渲染的图形内容的处理单元可被配置为在从存储器110读取所渲染图形内容时,混合以不同像素密度渲染的图形内容。
在一些示例中,可使用梯度、线性插值、抖动、用于混合的另一算法或其任何组合来执行对以不同像素密度渲染的图形内容的混合。例如,参考图2B,可使用梯度来生成混合区域。混合距离的示例是10个像素。像素的第1行在边界处开始并且递增到包括在像素的第10行结束的混合区域的分格中。以10个像素作为混合距离的梯度的示例可包括:对于第1行M=90%并且N=10%、对于第2行M=80%并且N=20%、对于第3行M=70%并且N=30%、对于第4行M=60%并且N=40%、对于第5行M=50%并且N=50%、对于第6行M=40%并且N=60%、对于第7行M=30%并且N=70%、对于第8行M=20%并且N=80%、对于第9行M=10%并且N=90%,并且对于第10行M=0%并且N=100%。使用梯度的混合会导致边界附近进行较多混合并且远离边界进行较少混合。混合的另一示例可为基于在每个像素处生成的伪随机数来选择混合百分比。另一方面,混合百分比衰减可为非线性的。例如,代替每个像素下降10%,下降可为平方的或对数的。
图4A至4B示出了根据本文中所描述的技术的示例性流程图400。在其它示例中,本文中所描述的一种或多种技术可被添加到流程图400和/或在流程图中描绘的一种或多种技术可被移除。可并行执行图4A至4B中所示的一个或多个框。处理单元401可为任何处理单元,诸如第一处理单元104、第二处理单元106、第三处理单元108或任何其它处理单元。
在图4A至4B的示例中,在框410处,第一处理单元104可被配置为执行应用。在框412处,第一处理单元104可被配置为将一个或多个指令提供给第二处理单元106,以使第二处理单元106生成与应用相对应的图形内容。在框414处,第二处理单元106可被配置为接收一个或多个指令。在框415处,第二处理单元106可被配置为接收指示眼睛注视区域的信息。在一些示例中,第二处理单元106可被配置为从第一处理单元104和/或眼睛注视输入设备113-1接收指示眼睛注视区域的信息。
在框416处,第二处理单元106可被配置为根据本文中所描述的一种或多种技术(诸如根据示例性流程图500)生成图形内容。图形内容可包括一个或多个帧。第二处理单元106可被配置为基于从第一处理单元104接收到的一个或多个指令来生成图形内容。在第二处理单元106接收到指示眼睛注视区域的信息的示例中,第二处理单元106可被配置为基于从第一处理单元104接收到的一个或多个指令并基于指示眼睛注视区域的信息来生成图形内容。
在框418处,第二处理单元106可被配置为存储所生成的图形内容(例如,存储在存储器110中),如本文中所描述。在一些示例中,可在存储图形内容时发生对以不同像素密度渲染的图形内容的混合,如由框419所示。在框420处,处理单元401可被配置为读取所生成的图形内容(例如,从存储器110读取),如本文中所描述。在一些示例中,可在读取图形内容时发生对以不同像素密度渲染的图形内容的混合,如由框421所示。
图5示出了根据本公开的一种或多种技术的方法的示例性流程图500。该方法可由一个或多个处理单元执行。在一些示例中,流程图500中所示出的方法可包括图5中未示出的本文中所描述的一个或多个功能,和/或可排除一个或多个所示出功能。关于图5使用第一处理单元和第二处理单元并不分别指代第一处理单元104和第二处理单元106。
在框502处,第一处理单元(例如,第二处理单元106)可被配置为将与帧相对应的第一所渲染分格存储到存储器(例如,存储器110)中。第一所渲染分格包括处于第一像素密度的第一图形内容。存储器可在第一处理单元外部。
在框504处,第一处理单元可被配置为将包括第一过度渲染区域的第二所渲染分格存储到存储器中。第二所渲染分格对应于帧。第二所渲染分格与第一所渲染分格共享第一边界。第二所渲染分格包括处于第二像素密度的第二图形内容,并且第一过度渲染区域包括处于第二像素密度的第一图形内容的部分。第一过度渲染区域延伸超出第一边界。在一些示例中,第一像素密度大于第二像素密度。在其它示例中,第一像素密度小于第二像素密度。在一些示例中,第一处理单元可被配置为渲染第一所渲染分格,并渲染包括第一过度渲染区域的第二所渲染分格。
在框506处,第一处理单元或第二处理单元(例如,不同于第一处理单元的处理单元)可被配置为混合第一过度渲染区域与第一所渲染分格的区域以在第一所渲染分格中生成混合区域。混合区域包括处于第三像素密度的第一图形内容的部分。第三像素密度介于第一像素密度与第二像素密度之间。在一些示例中,为了混合第一过度渲染区域与第一所渲染分格的区域以在第一所渲染分格中生成混合区域,第一处理单元或第二处理单元可被配置为平滑化第一所渲染分格与第二所渲染分格之间的第一边界。在一些示例中,为了混合第一过度渲染区域与第一所渲染分格的区域以在第一所渲染分格中生成混合区域,第一处理单元或第二处理单元可被配置为执行线性插值或抖动,以平滑化第一所渲染分格与第二所渲染分格之间的第一边界。
在一些示例中,第一处理单元或第二处理单元被配置为在将包括第一过度渲染区域的第二所渲染分格存储到存储器中时,混合第一过度渲染区域与第一所渲染分格的区域以在第一所渲染分格中生成混合区域。
在一些示例中,第一处理单元或第二处理单元可被配置为从存储器读取第一所渲染分格以及包括第一过度渲染区域的第二所渲染分格。第一处理单元或第二处理单元可被配置为在从存储器读取第一所渲染分格以及包括第一过度渲染区域的第二所渲染分格时,混合第一过度渲染区域与第一所渲染分格的区域以在第一所渲染分格中生成混合区域。
在一些示例中,第一处理单元是图形处理单元并且第二处理单元不同于第一处理单元。在一些示例中,SoC可包括第一处理单元和第二处理单元。
在一些示例中,第一所渲染分格可包括第二过度渲染区域。在此类示例中,第一所渲染分格和与帧相对应的第三所渲染分格可共享第二边界。第三所渲染分格可包括处于第四像素密度的第三图形内容。第二过度渲染区域可包括处于第一像素密度的第三图形内容的部分。第二过度渲染区域延伸超出第二边界。在一些示例中,第四像素密度可等于第二像素密度。在其它示例中,第四像素密度可不等于第二像素密度。
根据本公开,术语“或”可被解译为“和/或”,其中上下文并不以其它方式指示。另外,虽然诸如“一个或多个”或“至少一个”等词组可用于本文中所公开的一些特征,但是没有用于其他特征;在上下文没有另外指示的情况下,暗示未使用此语言的特征可被解释为具有此含义。
在一个或多个示例中,本文所描述的功能可以在硬件、软件、固件或其任何组合中实施。例如,尽管已贯穿本公开使用术语“处理单元”,但此类处理单元可以在硬件、软件、固件或其任何组合中实施。如果任何功能、处理单元、本文中所描述的技术或其它模块实施于软件中,则功能、处理单元、本文中所描述的技术或其它模块可作为一个或多个指令或代码存储于计算机可读介质上,或通过该计算机可读介质发送。计算机可读介质可包括计算机数据存储介质或通信介质(包括促进将计算机程序从一处转移到另一处的任何介质)。以此方式,计算机可读介质一般可对应于(1)非暂时性有形计算机可读存储介质,或(2)通信介质(诸如,信号或载波)。数据存储介质可为可由一个或多个计算机或一个或多个处理器访问以检索用于实施本公开中所描述的技术的指令、代码和/或数据结构的任何可用介质。作为示例而非限制,此类计算机可读介质可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁性存储设备。如本文中使用的磁盘及光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软盘及蓝光光盘,其中磁盘通常磁性地再现数据,而光盘借助于激光光学地再现数据。上述组合也应包括于计算机可读介质的范围内。计算机程序产品可包括计算机可读介质。
代码可以由一个或多个处理器执行,处理器诸如一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、算术逻辑单元(ALU)、现场可编程逻辑阵列(FPGA)或其它等效的集成或分立逻辑电路。因此,如本文所使用的术语“处理器”可以指代任何前述结构或者适合于实施本文描述的技术的任何其它结构。同样,技术可以在一个或多个电路或逻辑元件中完全实施。
本公开的技术可实施于广泛多种设备或装置中,包括无线手持机、集成电路(IC)或IC集合(例如,芯片集)。本公开中描述各种组件、模块或单元以强调被配置为执行所公开技术的设备的功能方面,但未必需要由不同硬件单元来实现。更确切地,如上文所描述,可将各种单元组合于任何硬件单元中,或由互操作性硬件单元(包括如上文所描述的一个或多个处理器)的集合结合合适软件和/或固件来提供各种单元。
已经描述了各种示例。这些和其它示例在以下权利要求的范围内。

Claims (30)

1.一种方法,包括:
由第一处理单元将与帧相对应的第一所渲染分格存储到存储器中,其中,所述第一所渲染分格包括处于第一像素密度的第一图形内容;
由所述第一处理单元将包括第一过度渲染区域的第二所渲染分格存储到所述存储器中,其中,所述第二所渲染分格对应于所述帧,其中,所述第二所渲染分格与所述第一所渲染分格共享第一边界,其中,所述第二所渲染分格包括处于第二像素密度的第二图形内容,并且所述第一过度渲染区域包括处于所述第二像素密度的所述第一图形内容的部分,并且其中,所述第一过度渲染区域延伸超出所述第一边界;以及
由所述第一处理单元或第二处理单元混合所述第一过度渲染区域与所述第一所渲染分格的区域以在所述第一所渲染分格中生成混合区域,其中,所述混合区域包括处于第三像素密度的所述第一图形内容的部分,其中,所述第三像素密度介于所述第一像素密度与所述第二像素密度之间。
2.根据权利要求1所述的方法,其中,在将包括所述第一过度渲染区域的所述第二所渲染分格存储到所述存储器中时,发生混合所述第一过度渲染区域与所述第一所渲染分格的区域以在所述第一所渲染分格中生成所述混合区域。
3.根据权利要求1所述的方法,还包括:
由所述第一处理单元或所述第二处理单元从所述存储器读取所述第一所渲染分格以及包括所述第一过度渲染区域的所述第二所渲染分格。
4.根据权利要求3所述的方法,其中,在从所述存储器读取所述第一所渲染分格以及包括所述第一过度渲染区域的所述第二所渲染分格时,发生混合所述第一过度渲染区域与所述第一所渲染分格的区域以在所述第一所渲染分格中生成所述混合区域。
5.根据权利要求1所述的方法,其中,所述第一像素密度大于所述第二像素密度。
6.根据权利要求1所述的方法,其中,所述第一像素密度小于所述第二像素密度。
7.根据权利要求1所述的方法,其中,混合所述第一过度渲染区域与所述第一所渲染分格的区域以在所述第一所渲染分格中生成所述混合区域包括平滑化所述第一所渲染分格与所述第二所渲染分格之间的所述第一边界。
8.根据权利要求1所述的方法,其中,混合所述第一过度渲染区域与所述第一所渲染分格的区域以在所述第一所渲染分格中生成所述混合区域包括执行线性插值或抖动以平滑化所述第一所渲染分格与所述第二所渲染分格之间的所述第一边界。
9.根据权利要求1所述的方法,还包括:
由所述第一处理单元渲染所述第一所渲染分格;以及
由所述第一处理单元渲染包括所述第一过度渲染区域的所述第二所渲染分格。
10.根据权利要求1所述的方法,其中,所述第一处理单元是图形处理单元并且所述第二处理单元不同于所述第一处理单元。
11.根据权利要求10所述的方法,其中,片上系统(SoC)包括所述第一处理单元以及所述第二处理单元。
12.根据权利要求1所述的方法,其中,所述存储器在所述第一处理单元外部。
13.根据权利要求1所述的方法,其中,所述第一所渲染分格包括第二过度渲染区域。
14.根据权利要求13所述的方法,其中,所述第一所渲染分格与和所述帧相对应的第三所渲染分格共享第二边界,其中,所述第三所渲染分格包括处于第四像素密度的第三图形内容,其中,所述第二过度渲染区域包括处于所述第一像素密度的所述第三图形内容的部分,并且其中,所述第二过度渲染区域延伸超出所述第二边界。
15.根据权利要求14所述的方法,其中,所述第四像素密度等于所述第二像素密度,或者其中,所述第四像素密度不等于所述第二像素密度。
16.一种设备,包括:
存储器;
第一处理单元,所述第一处理单元通信地耦合到所述存储器;以及
第二处理单元,所述第二处理单元通信地耦合到所述存储器,其中:
所述第一处理单元被配置为将与帧相对应的第一所渲染分格存储到所述存储器中,其中,所述第一所渲染分格包括处于第一像素密度的第一图形内容;
所述第一处理单元被配置为将包括第一过度渲染区域的第二所渲染分格存储到所述存储器中,其中,所述第二所渲染分格对应于所述帧,其中,所述第二所渲染分格与所述第一所渲染分格共享第一边界,其中,所述第二所渲染分格包括处于第二像素密度的第二图形内容,并且所述第一过度渲染区域包括处于所述第二像素密度的所述第一图形内容的部分,并且其中,所述第一过度渲染区域延伸超出所述第一边界;以及
所述第一处理单元或所述第二处理单元被配置为混合所述第一过度渲染区域与所述第一所渲染分格的区域以在所述第一所渲染分格中生成混合区域,其中,所述混合区域包括处于第三像素密度的所述第一图形内容的部分,其中,所述第三像素密度介于所述第一像素密度与所述第二像素密度之间。
17.根据权利要求16所述的设备,其中,所述第一处理单元或所述第二处理单元被配置为在将包括所述第一过度渲染区域的所述第二所渲染分格存储到所述存储器中时,混合所述第一过度渲染区域与所述第一所渲染分格的区域以在所述第一所渲染分格中生成所述混合区域。
18.根据权利要求16所述的设备,其中,所述第一处理单元或所述第二处理单元被配置为从所述存储器读取所述第一所渲染分格以及包括所述第一过度渲染区域的所述第二所渲染分格。
19.根据权利要求18所述的设备,其中,所述第一处理单元或所述第二处理单元被配置为在从所述存储器读取所述第一所渲染分格以及包括所述第一过度渲染区域的所述第二所渲染分格时,混合所述第一过度渲染区域与所述第一所渲染分格的区域以在所述第一所渲染分格中生成所述混合区域。
20.根据权利要求16所述的设备,其中,所述第一像素密度大于所述第二像素密度。
21.根据权利要求16所述的设备,其中,所述第一像素密度小于所述第二像素密度。
22.根据权利要求16所述的设备,其中,为了混合所述第一过度渲染区域与所述第一所渲染分格的区域以在所述第一所渲染分格中生成所述混合区域,所述第一处理单元或所述第二处理单元被配置为平滑化所述第一所渲染分格与所述第二所渲染分格之间的所述第一边界。
23.根据权利要求16所述的设备,其中,为了混合所述第一过度渲染区域与所述第一所渲染分格的区域以在所述第一所渲染分格中生成所述混合区域,所述第一处理单元或所述第二处理单元被配置为执行线性插值或抖动,以平滑化所述第一所渲染分格与所述第二所渲染分格之间的所述第一边界。
24.根据权利要求16所述的设备,其中,所述第一处理单元被配置为:
渲染所述第一所渲染分格;以及
渲染包括所述第一过度渲染区域的所述第二所渲染分格。
25.根据权利要求16所述的设备,其中,所述第一处理单元是图形处理单元并且所述第二处理单元不同于所述第一处理单元。
26.根据权利要求25所述的设备,其中,所述设备是片上系统(SoC),或者其中,所述设备包括SoC,所述SoC包括所述第一处理单元以及所述第二处理单元。
27.根据权利要求16所述的设备,其中,所述存储器在所述第一处理单元外部。
28.根据权利要求16所述的设备,其中,所述第一所渲染分格包括第二过度渲染区域。
29.根据权利要求28所述的设备,其中,所述第一所渲染分格与和所述帧相对应的第三所渲染分格共享第二边界,其中,所述第三所渲染分格包括处于第四像素密度的第三图形内容,其中,所述第二过度渲染区域包括处于所述第一像素密度的所述第三图形内容的部分,并且其中,所述第二过度渲染区域延伸超出所述第二边界。
30.根据权利要求29所述的设备,其中,所述第四像素密度等于所述第二像素密度,或者其中,所述第四像素密度不等于所述第二像素密度。
CN201980061933.2A 2018-09-28 2019-09-13 用于图形处理的方法及设备 Active CN112740278B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/147,237 US10504278B1 (en) 2018-09-28 2018-09-28 Blending neighboring bins
US16/147,237 2018-09-28
PCT/US2019/050994 WO2020068456A1 (en) 2018-09-28 2019-09-13 Blending neighboring bins

Publications (2)

Publication Number Publication Date
CN112740278A true CN112740278A (zh) 2021-04-30
CN112740278B CN112740278B (zh) 2022-04-26

Family

ID=68084948

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980061933.2A Active CN112740278B (zh) 2018-09-28 2019-09-13 用于图形处理的方法及设备

Country Status (5)

Country Link
US (1) US10504278B1 (zh)
EP (1) EP3857516A1 (zh)
CN (1) CN112740278B (zh)
TW (1) TWI698834B (zh)
WO (1) WO2020068456A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2578769B (en) * 2018-11-07 2022-07-20 Advanced Risc Mach Ltd Data processing systems
GB2583061B (en) * 2019-02-12 2023-03-15 Advanced Risc Mach Ltd Data processing systems

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180249163A1 (en) * 2017-02-28 2018-08-30 Nokia Technologies Oy Method and apparatus for improving the visual quality of viewport-based omnidirectional video streaming

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7079157B2 (en) * 2000-03-17 2006-07-18 Sun Microsystems, Inc. Matching the edges of multiple overlapping screen images
US9652882B2 (en) * 2014-04-05 2017-05-16 Sony Interactive Entertainment America Llc Gradient adjustment for texture mapping for multiple render targets with resolution that varies by screen location
US9471955B2 (en) * 2014-06-19 2016-10-18 Apple Inc. Multiple display pipelines driving a divided display
US9569811B2 (en) * 2014-06-26 2017-02-14 Qualcomm Incorporated Rendering graphics to overlapping bins
US20170243384A1 (en) * 2016-02-19 2017-08-24 Mediatek Inc. Image data processing system and associated methods for processing panorama images and image blending using the same

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180249163A1 (en) * 2017-02-28 2018-08-30 Nokia Technologies Oy Method and apparatus for improving the visual quality of viewport-based omnidirectional video streaming

Also Published As

Publication number Publication date
TWI698834B (zh) 2020-07-11
TW202025080A (zh) 2020-07-01
EP3857516A1 (en) 2021-08-04
US10504278B1 (en) 2019-12-10
CN112740278B (zh) 2022-04-26
WO2020068456A1 (en) 2020-04-02

Similar Documents

Publication Publication Date Title
US10796478B2 (en) Dynamic rendering for foveated rendering
US11164357B2 (en) In-flight adaptive foveated rendering
US11037271B2 (en) Dynamic rendering for foveated rendering
US10565689B1 (en) Dynamic rendering for foveated rendering
US20200020067A1 (en) Concurrent binning and rendering
US11468629B2 (en) Methods and apparatus for handling occlusions in split rendering
CN112740278B (zh) 用于图形处理的方法及设备
US11631212B2 (en) Methods and apparatus for efficient multi-view rasterization
US20200380745A1 (en) Methods and apparatus for viewpoint visibility management
US11875452B2 (en) Billboard layers in object-space rendering
US20220343459A1 (en) Methods and apparatus to facilitate regional processing of images for under-display device displays
US11622113B2 (en) Image-space function transmission
WO2024044936A1 (en) Composition for layer roi processing
US20240046410A1 (en) Foveated scaling for rendering and bandwidth workloads

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