CN117377976A - 在时间内插帧使用掩膜的高质量ui元素边界 - Google Patents

在时间内插帧使用掩膜的高质量ui元素边界 Download PDF

Info

Publication number
CN117377976A
CN117377976A CN202280036444.3A CN202280036444A CN117377976A CN 117377976 A CN117377976 A CN 117377976A CN 202280036444 A CN202280036444 A CN 202280036444A CN 117377976 A CN117377976 A CN 117377976A
Authority
CN
China
Prior art keywords
frames
mask
frame
previous
density
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.)
Pending
Application number
CN202280036444.3A
Other languages
English (en)
Inventor
S·B·福尔摩斯
J·维克斯
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 CN117377976A publication Critical patent/CN117377976A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration using two or more images, e.g. averaging or subtraction
    • 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/37Details of the operation on graphic patterns
    • G09G5/377Details of the operation on graphic patterns for mixing or overlaying two or more graphic patterns
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/587Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal sub-sampling or interpolation, e.g. decimation or subsequent interpolation of pictures in a video sequence
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0127Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level by changing the field or frame frequency of the incoming video signal, e.g. frame rate converter
    • H04N7/013Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level by changing the field or frame frequency of the incoming video signal, e.g. frame rate converter the incoming video signal comprising different parts having originally different frame rate, e.g. video and graphics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0135Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes
    • H04N7/0145Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes the interpolation being class adaptive, i.e. it uses the information of class which is determined for a pixel based upon certain characteristics of the neighbouring pixels

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Graphics (AREA)
  • Image Processing (AREA)
  • Processing Or Creating Images (AREA)
  • Television Systems (AREA)

Abstract

帧处理器可以基于多个先前帧的第一集合帧的一个或多个静态区域,生成掩膜;并且调整所述掩膜,以进行以下中的至少一项:确定alpha数据,或隐藏与第一集合帧的一个或多个静态区域相关联的失真内容。失真内容是由对多个先前帧的第二集合帧中的帧进行的外推导致的。该帧处理器可以基于将掩膜或alpha数据中的至少一个应用到多个帧的先前帧,以及将基于将掩膜或alpha数据中的至少一个的先前帧应用到对多个先前帧的第二集合帧进行外推后的帧,生成合成帧。

Description

在时间内插帧使用掩膜的高质量UI元素边界
技术领域
本申请要求于2021年5月26日提交的题为“HIGH QUALITY UI ELEMENTS WITHFRAME EXTRAPOLATION”的美国非暂时性专利申请序列号17/331,530的权益,该申请的全部内容通过引用明确并入本文。
背景技术
本公开一般涉及处理***,更具体地说,涉及一种或多种帧处理技术。
计算设备通常执行图形和/或显示处理(例如,使用图形处理单元(GPU)、中央处理器(CPU)、显示处理器等)以渲染和显示可以视内容。例如,这种计算设备可以包括计算机工作站、移动电话(诸如只能手机)、嵌入式***、个人计算机、平板计算机和视频游戏机等。GPU配置为执行包括图形处理管线(pipeline),该管线包括一个或多个处理阶段,其一起运行以执行图形处理命令并且输出帧。中央处理器(CPU)可以通过向GPU发出(issue)一条或多条图形处理命令来控制GPU的运行。现代CPU通常能够并行地(concurrently)执行多个应用,每个应用在执行过程中都可能需要使用GPU。显示处理器可以配置为将从CPU接收到的数字信息转换为模拟值,并且可以向显示面板发出用于显示视觉内容的命令。用于在显示器上提供视觉展示的设备可以使用CPU、GPU和/或显示处理器。
可以执行帧外推(frame extrapolation)程序以减少GPU的渲染负载。然而,包括在先前渲染帧中的用户界面(UI)元素可能在经外推帧中失真。因此,存在改进帧外推技术的需要。
发明内容
以下展示了一个或多个方面的简化概述,以便提供对这些方面的基本理解。本概述并不是对所有预期方面的广泛概述,其目的既不是非确定所有方面的关键或重要元素,也不是划定任何或所有方面的范围。其唯一目的是以简化的形式展示一个或多个方面的一些概念,作为后面将展示的更详细描述的前序。
在本公开的一个方面中,提供了一种方法、计算机可读介质和装置。该装置可以基于多个先前帧的第一集合帧的一个或多个静态区域(static regions)生成掩膜(mask);调整该掩膜,以进行以下中的至少一项:确定alpha数据或隐藏(conceal)与第一集合帧的一个或多个静态区域相关联的失真内容,该失真内容是由对多个先前帧的第二集合帧中的帧进行的外推导致的;并且基于将掩膜或alpha数据中的至少一个应用到该多个帧的先前帧,以及将基于将掩膜或alpha数据中的至少一个的先前帧应用到对多个先前帧的第二集合帧进行外推后的帧,生成合成帧(composite frame)。
为实现上述及相关目的,该一个或多个方面包括在下文中全面描述并且在权利要求书中具体指出的特征。以下描述和附图详细阐述了一个或多个方面的某些说明性特征。然而,这些特征仅表明对可以采用各方面原理的各种方法中的少数几种,并且该描述得目的是包括所有这些方面及其等效物。
附图说明
图1是示出了根据本公开的一种或多种技术的示例内容生成***的框图。
图2是示出了根据本公开的一种或多种技术的在帧处理器与显示面板之间通信的示例的调用流程图。
图3示出了根据本公开的一种或多种技术的帧外推程序图。
图4示出了根据本公开的一种或多种技术的掩膜生成程序的示意图。
图5展示了根据本公开的一种或多种技术的帧组成程序的示意图。
图6是根据本公开的一种或多种技术的帧处理示例方法的流程图。
图7是根据本公开的一种或多种技术的帧处理示例方法的流程图。
具体实施方式
在下文中将参考附图更全面地描述***、装置、计算机程序产品和方法的各个方面。然而,本公开可以以多种不同的形式体现,并且不应被理解为仅限于本公开中介绍的任何特定结构或功能。相反,提供这些方面是为了使得本公开全面完整,并且向本领域得技术人员充分传达本公开的范围。基于在本文中的教导,本领域得技术人员应理解,本公开范围的目的是在本文中所公开的***、装置、计算机程序产品和方法的任何方面,无论是独立于本公开的其他方面进行实施,还是与本公开的其他方面相结合进行实施。例如,可以使用在本文中所阐述的任何方面实施装置或施行方法。此外,本公开范围的目的是涵盖除在本文中所阐述的各方面之外或之外使用其他结构、功能或结构和功能进行实施的装置或方法。在本文中所公开的任何方面都可以通过权利要求的一个或多个要素体现。
虽然在本文中描述了各个方面,但这些方面的许多变型和排列都属于本公开的范围。虽然提到了本公开的各个方面的一些潜在益处和优点,但本公开的范围并不限于具体的益处、用途或目标。相反,本公开的各个方面的目的是广泛适用于不同的无线技术、***配置、处理***、网络和发送协议,其中一些在图中和以下描述中以示例方式示出。详细的描述和附图仅是对本公开的说明,而不是限制,本公开的范围由所附权利要求书及其等效物限定。
参考各种装置和方法介绍了几个方面。这些装置和方法在以下详细描述中进行描述,并且在附图中通过各种块、组件、电路、过程、算法以及类似方式(统称为“元素”)进行示出。这些元素可以使用电子硬件、计算机软件或其任何组合实施。至于这些元素是以硬件还是软件的形式实施,则取决于具体的应用和对整个***施加的设计限制。
举例来说,元素、元素的任何部分或元素的任何组合都可以作为“处理***”实施,该***包括一个或多个处理器(也可以被称为处理单元)。处理器的示例包括微处理器、微控制器、图形处理器(GPU)、通用GPU(GPGPU)、中央处理器(CPU)、应用处理器、数字信号处理器(DSP)、精简指令集计算(RISC)处理器、片上***(SOC)、基带处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、可编程逻辑器件(PLD)、状态机、门控逻辑、分立硬件电路,以及其他配置为执行在本公开中所述的各种功能的合适硬件。处理***中的一个或多个处理器可以执行软件。软件可以从广义上理解为指代指令、指令集、代码、代码段、程序代码、程序、子程序、软件组件、应用程序、软件应用、软件包、例程、子例程、对象、可执行文件、执行线程、例程、函数等,无论被称为软件、固件、中间件、微码、硬件描述语言或其他。
术语“应用”可以指软件。如在本文中所述,“一种或多种技术”可以指配置为执行一种或多种功能的应用(例如,软件)。在这些示例中,应用可以存储在存储器(例如,处理器的片上存储器、***存储器或任何其他存储器)中。在本文中所述的硬件(例如,处理器)可以配置为执行应用。例如,应用可以被描述为包括代码,该代码在由硬件执行时使得该硬件执行在本文中所述的一项或多项技术。例如,硬件可以从存储器访问代码并且执行从存储器访问的代码,以执行在本文中所述的一种或多种技术。在一些示例中,组件在本公开中被标识出来。在这些示例中,组件可以是硬件、软件或其组合。这些组件可以是单独的组件,也可以是单个组件的子组件。
在在本文中所述的一个或多个示例中,功能可以以硬件、软件或其任何组合实施。如果以软件实施,功能可以存储在计算机可读介质上或编码为计算机可读介质上的一个或多个指令或代码。计算机可读介质包括计算机存储介质。存储介质可以是计算机可以访问的任何可以用介质。作为示例而非限制,这种计算机可读介质可以包括随机存取存储器(RAM)、只读存储器(ROM)、电可以擦除可编程ROM(EEPROM)、光盘存储、磁盘存储、其他磁性存储设备、上述类型的计算机可读介质的组合,或可以用于存储计算机可访问的指令或数据结构形式的计算机可执行代码的任何其他介质。
如在本文中所使用,术语“内容”的实例可以指“图形内容”、“图像”等,无论这些术语是否用作形容词、名词或其他词性。在一些示例中,在本文中所使用的术语“图形内容”可以指由图形处理管线的一个或多个过程所产生的内容。在更多示例中,在本文中所使用术语“图形内容”可以指由配置为执行图形处理的处理单元所产生的内容。在更多示例中,如在本文中所使用,术语“图形内容”可以指由图形处理单元所产生的内容。
应用(诸如视频游戏)的帧可以由GPU渲染并且提供给用于向终端用户显示渲染后的内容的显示设备。可以执行帧外推以生成用于减少GPU渲染负载的帧子集。帧外推可以包括分析一个或多个先前渲染帧以生成经外推帧/后续帧,作为基于在该帧中包括的图形对象的采样值对后续帧进行渲染的替代方案。通过这种方式,由GPU基于图形对象的采样值进行渲染的帧的数量可以减少,因为GPU可能不必完全对应用指示的每个帧进行渲染。
帧外推可以用于游戏、视频播放器或其他使用用户界面(UI)元素的应用。包括在先前渲染帧中的UI元素可能在经外推帧中失真,因为UI元素可能未被登记(register)为静止(stationary)对象和/或可能与经外推的移动背景内容组合。例如,经外推的像素块可能包括与移动内容相关联的第一数量的像素和与非移动内容相关联的第二数量的像素。当将整个像素块指示为移动内容块或非移动内容块时,与相反特征相关联的像素子集可能出现失真。因此,UI元素可能出现失真。“失真内容”指与在先前帧中的对应内容相比,在后续帧中被拉伸(stretch)到不同像素的内容。
为了减少伪影(artifact)和失真,可以生成对应于先前渲染帧的静态区域的掩膜。掩膜的质量可以基于用于生成该掩膜的先前渲染帧之间的时间间隔的增加和/或基于用于生成掩膜的帧总数的增加而提高。可以对所生成的掩膜进行增长(grow)以及羽化/模糊,以在经外推帧的掩膜区域(例如,与静态内容相关联)与经外推帧的非掩膜区域(例如,与非静态内容相关联)之间提供混合过渡(blended transition)。“静态内容”可以指在多个连续帧中保持在显示器上相对固定的位置的内容(诸如UI元素)。同时,一些UI元素可能比背景内容更加静态,即使在一些情况下UI元素可能不是完全静态的,但仍可以作为一个整体在多个连续帧期间在显示器上具有相对固定的位置。
可以通过将先前帧的掩膜部分叠加(overlay)到经外推帧上生成合成帧。从掩膜的增长和羽化程序中确定的alpha通道数据可以用于调整先前帧的掩膜部分的边缘周围的不透明度(opaqueness)(例如,提供先前帧的掩膜部分与经外推帧之间的混合过渡)。由终端用户感知到的(perceive)合成帧包括经外推帧中内容被确定为移动的区域,以及先前帧(例如最近渲染的帧)中内容被确定为静态的区域。因此,该合成帧可以提供包括与UI元素相关联的减少后的数量的伪影和失真的修改后的经外推帧。
图1是示出了配置为实实施本公开的一个或多个技术的示例内容生成***100的框图。内容生成***100包括设备104。设备104可以包括一个或多个用于执行在本文中所述各种功能的组件或电路。在一些示例中,设备104的一个或多个组件可以是SOC的组件。设备104可以包括配置为执行本公开的一个或多个技术的一个或多个组件。在所示示例中,设备104可以包括处理单元120、内容编码器/解码器122和***存储器124。在一些方面,设备104可以包括多个可选组件(例如,通信接口126、收发器132、接收器128、发送器130、显示处理器127和一个或多个显示器131)。(多个)显示器131可以指一个或多个显示器131。例如,显示器131可以包括单个显示器或多个显示器,其中可以包括第一显示器和第二显示器。第一显示器可以是左眼(left-eye)显示器,并且第二显示器可以是右眼显示器。在一些示例中,第一显示器和第二显示器可以接收不同的用于在其上显示的帧展示。在其他示例中,第一显示器和第二显示器可以接收相同的用于在其上显示的帧。在更多示例中,图形处理的结果可以不显示在设备上,例如,第一显示器和第二显示器可以不接收任何用于在其上显示的帧。作为替代,可以将帧或图形处理结果发送到另一设备。在一些方面,这可以被称为分割渲染(split-rendering)。
处理单元120可以包括内部存储器121。处理单元120可以配置为使用图形处理管线107执行图形处理。内容编码器/解码器122可以包括内部存储器123。在一些示例中,设备104可以包括处理器,该处理器可以配置为在由一个或多个显示器131显示帧之前,对由处理单元120生成的一个或多个帧执行一个或多个显示处理技术。虽然示例内容生成***100中的处理器配置为显示处理器127,但应理解的是,显示处理器127是该处理器的一个示例,并且其他类型的处理器、控制器等都可以用以取代显示处理器127。显示处理器127可以配置为执行显示处理。例如,显示处理器127可以配置为对由处理单元120生成的一个或多个帧执行一个或多个显示处理技术。一个或多个显示器131可以配置为显示或以其他方式展示由显示处理器127处理的帧。在一些示例中,一个或多个显示器131可以包括液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器、投影显示设备、增强现实显示设备、虚拟现实显示设备、头戴式显示器或任何其他类型的显示设备中的一个或多个。
处理单元120和内容编码器/解码器122外部的存储器(诸如***存储器124)可能可由处理单元120和内容编码器/解码器122访问。例如,处理单元120和内容编码器/解码器122可以配置为从外部存储器(诸如***存储器124)读取和/或写入。处理单元120可以通过总线与***存储器124通信耦接。在一些示例中,处理单元120和内容编码器/解码器122可以通过总线或不同的连接与内部存储器121通信耦接。
内容编码器/解码器122可以配置为从任何来源(诸如***存储器124和/或通信接口126)接收图形内容。***存储器124可以配置为存储接收到的经编码或经解码的图形内容。内容编码器/解码器122可以配置为接收(例如,从***存储器124和/或通信接口126接收经编码的像素数据形式的图形内容)经编码或经解码的像素数据形式的图形内容。内容编码器/解码器122可以配置为对任何图形内容进行编码或解码。
内部存储器121或***存储器124可以包括一个或多个易失性或非易失性存储器或存储设备。在一些示例中,内部存储器121或***存储器124可以包括RAM、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、可以擦除可编程ROM(EPROM)、EEPROM、闪存、磁性数据介质或光学存储介质或任何其他类型的存储器。根据一些示例,内部存储器121或***存储器124可以是非暂时性存储介质。术语“非暂时性”可以指示存储介质不体现在载波或传播信号中。但是,术语“非暂时性”不应解释为意味着内部存储器121或***存储器124不可移动或其内容是静态的。如一个示例,***存储器124可以从设备104中移除,并且移动到另一设备上。如另一示例,***存储器124可以不从设备104中移除。
处理单元120可以是CPU、GPU、GPGPU或可以配置为执行图形处理的任何其他处理单元。在一些示例中,处理单元120可以集成到设备104的主板(motherboard)中。在更多示例中,处理单元120可以存在于安装在设备104主板端口中的图形卡(graphics card)上,或者以其他方式集成在配置为与设备104交互的***设备中。处理单元120可以包括一个或多个处理器,诸如一个或多个微处理器、GPU、ASIC、FPGA、算术逻辑单元(ALU)、DSP、分立逻辑、软件、硬件、固件、其他等效的集成或分立逻辑电路,或其任何组合。如果技术部分地通过软件实施,处理单元120可以将软件的指令存储在合适的非暂时性计算机可读存储介质(例如,内部存储器121)中,并且可以使用一个或多个处理器在硬件中执行指令,以执行本公开的技术。包括硬件、软件、硬件和软件的组合等在内的任何前述内容都可以被视为一个或多个处理器。
内容编码器/解码器122可以是配置为执行内容解码的任何处理单元。在一些示例中,内容编码器/解码器122可以集成到设备104的主板中。内容编码器/解码器122可以包括一个或多个处理器,诸如一个或多个微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、算术逻辑单元(ALU)、数字信号处理器(DSP)、视频处理器、分立逻辑、软件、硬件、固件、其他等效集成或分立逻辑电路,或任何其任何组合。如果技术部分通过软件实施,内容编码器/解码器122可以将软件指令存储在合适的非暂时性计算机可读存储介质(例如,内部存储器123)中,并且可以使用一个或多个处理器在硬件中执行指令,以执行本公开的技术。包括硬件、软件、硬件和软件的组合等在内的任何前述内容都可以被视为一个或多个处理器。
在一些方面,内容生成***100可以包括通信接口126。通信接口126可以包括接收器128和发送器130。接收器128可以配置为执行在本文中所述的关于设备104的任何接收功能。此外,接收器128还可以配置为从另一设备接收信息(例如,眼睛或头部位置信息、渲染命令和/或位置信息)。发送器130可以配置为执行在本文中所述的关于设备104的任何发送功能。例如,发送器130可以配置为向另一设备发送信息,其中可以包括对内容的请求。接收器128和发送器130可以组合成收发器132。在这些示例中,收发器132可以配置为执行在本文中所述的关于设备104的任何接收功能和/或发送功能。
再次参考图1,在某些方面,显示处理器127或处理单元120(例如、GPU、CPU等)可以包括帧合成器198该帧合成器可以包括配置为基于多个先前帧的第一集合帧的一个或多个静态区域,生成掩膜;调整该掩膜,以进行以下中的至少一项:确定alpha数据或隐藏与第一集合帧的一个或多个静态区域相关联的失真内容,该失真内容是由对多个先前帧的第二集合帧中的帧进行的外推导致的;并且基于将掩膜或alpha数据中的至少一个应用到该多个帧的先前帧,以及将基于将掩膜或alpha数据中的至少一个的先前帧应用到对多个先前帧的第二集合帧进行外推后的帧,生成合成帧。虽然以下描述可能侧重于帧处理,但在本文中所描述的概念可以应用于其他类似的处理技术。
设备(诸如设备104)可以指配置为执行在本文中所述一种或多种技术的任何设备、装置或***。例如,设备可以是服务器、基站、用户设备、客户端设备、站、接入点、计算机(诸如个人计算机、台式计算机、膝上计算机、平板计算机、计算机工作站或大型计算机)、终端产品、装置、电话、智能电话、服务器、视频游戏平台或控制台、手持设备(诸如便携式视频游戏设备或个人数字助理(PDA))、可穿戴计算设备(诸如智能手表)、增强现实设备或虚拟现实设备、不可穿戴设备、显示器或显示设备、电视机、电视机顶盒、中间网络设备、数字媒体播放器、视频流设备、内容流设备、车载计算机、任何移动设备、任何配置为生成图形内容的设备或任何配置为执行在本文中所述一种或多种技术的设备。本文中的过程可以描述为由具体组件(例如,GPU)执行,但在其他实施例中,可以使用与所公开的实施例一致的其他组件(例如,CPU)执行。
图2是示出了根据本公开的一种或多种技术在帧处理器202和显示面板204之间示例通信的调用流程图200。在示例中,帧处理器202可以对应于处理器(诸如显示处理器127或处理单元120),其中包括帧合成器198。在206处,帧处理器202可以确定应用的(多个)先前帧的(多个)静态区域。(多个)先前帧可以存储在存储器/缓冲区205中,帧处理器202可以从该存储器/缓冲区接收(多个)先前帧,以在206处确定(多个)先前帧的静态区域。在各个方面中,先前帧的静态区域可能与叠加在移动背景内容上的静止UI元素相关联。
在208处,帧处理器202可以基于(多个)先前帧的(多个)静态区域生成掩膜。在208处,所生成的掩膜可以用于覆盖与静态区域(例如,UI元素)相关联的伪影和/或失真,这些伪影和/或失真可能由经外推帧的移动(即,非静态)背景内容导致。当与在先前帧中的对应内容相比,该内容在当前帧中被拉伸到不同像素时,可能出现失真。例如,如果整个经外推像素块与移动内容相关联,但该像素块中的一些像素实际上对应于非移动内容,则将对应于该非移动内容的像素作为移动内容处理可能导致非移动内容出现拉伸/失真。“伪影”指帧的图形表示中出现的可被终端用户注意到的视觉异常(anomalies)。基于在数字处理程序中对数据进行意外改动(unintended alternations),可能出现伪影。在208处所生成的掩膜是(多个)先前帧的静态区域的表示,从而可以将掩膜叠加在经外推帧上,以用(多个)先前帧的静态区域(如经由掩膜表示)覆盖/隐藏经外推帧的静态区域。
在210a处,帧处理器202可以调整掩膜以隐藏与(多个)先前帧的(多个)静态区域相关联的伪影和/或失真。在210a处的调整可以基于在210b处执行的一个或多个程序。例如,在210a处,调整掩膜可以包括:在210b(1)处扩大(expand)(多个)掩膜区域的尺寸和/或在210b(2)处模糊(blur)先前帧的(多个)掩膜/非掩膜区域之间的过渡。在示例中,在210b(2)处执行的模糊程序可以包括多个子程序。例如,帧处理器202可以在210b(2)(i)处执行第一模糊程序。在210b(2)(i)处执行该第一模糊程序后,帧处理器202还可以在210b(2)(ii)处增加掩膜的密度(intensity)。在210b(2)(ii)处将该掩膜的密度增加到第一密度后,帧处理器202还可以在210b(2)(iii)处进一步执行第二模糊程序。在210b(2)(iii)处执行第二模糊程序后,帧处理器202还可以在210b(2)(iv)处进一步将掩膜的密度增加到高于第一密度的第二密度。与一次性执行所有的模糊处理和所有的模糊处理相比,对掩膜递增进行模糊和强化可以在掩膜(表示先前帧的(多个)静态区域)与经外推帧的移动背景内容之间提供更平滑的过渡。
在212处,帧处理器202可以基于在210a-210b处对掩膜的调整确定alpha数据。“alpha数据”指像素数据中为透明度信息保留的部分。因此,当第一像素叠加在第二像素上时,alpha数据可以指示第一像素的颜色与第二像素的颜色合并(merge)的程度(extent)。alpha数据可以用于调整(多个)先前帧的掩膜区域的边缘周围的不透明度,并且可以应用于最近的渲染帧,以生成经外推帧的(多个)静态区域的叠加。因此,在214处,可以根据将叠加应用到经外推帧的情况生成合成帧。在216处,可以将合成帧发送到显示面板204,显示面板204可以在218处显示合成帧。
图3示出了根据本公开的一种或多种技术的帧外推程序的图300。应用(诸如视频游戏)的帧可以由GPU渲染并且提供给用于向终端用户显示渲染内容的显示设备。在一些情况下,GPU可以渲染该应用的每个帧,用于将渲染内容提供给显示设备。内容可以包括图形内容、扩展现实(XR)内容等。在更多情况下,可以从服务器接收(例如,从云服务器流式发送的内容)帧/内容。
可以执行帧外推308,通过从应用的经先前渲染帧(例如帧N-1 302a)外推内容来生成该应用的后续帧(诸如经外推帧310),以减少GPU的渲染负载。也就是说,帧外推308可以包括分析一个或多个经先前渲染帧,以生成经外推帧310,作为基于在帧中包括的图形对象的所有值对后续帧进行渲染的替代方案。通过这种方式,由GPU基于图形对象的所有值进行渲染的帧的数量可以减少,因为GPU可能不必完全对应用指示的每个帧进行渲染。减少由GPU进行渲染的帧的数量可以节省GPU的功耗。然而,在一些情况下,经外推帧310可能包括伪像和/或失真。当可用带宽不足以渲染应用的每个帧时,或者当帧率需要提高时(例如,一些帧可能包括可能导致GPU无法以足够高的帧率渲染内容的复杂性(complexities)),也可以执行帧外推308。
帧外推308可以类似于帧率转换,其中基于对其他帧的分析生成中间帧(intermediate frame)可以。例如,基于中间帧的生成,视频帧处理速率可以从30帧/每秒(frames per second,FPS)提高到60FPS。由于基于一个或多个过去帧(past frame)生成/外推未来帧(future frames),帧外推308可能与帧率转换不同。然而,可以参考指示未来帧的信息,从一个或多个过去帧执行外推处理以提供预期帧(expected frame),而不是该渲染预期帧。帧外推308可以金鱼两步程序执行。首先,可以分析过去的帧(诸如帧N-1 302a和帧N-2 302b),以确定过去帧中似乎正在移动的区域。可以对过去帧执行移动估计304,以确定指示过去帧的移动区域的移动矢量306。其次,指示过去帧的移动区域的信息(例如,移动矢量306)可以应用于最近的经渲染过去帧(例如,帧N-1 302a),以对具有在当前帧(诸如,经外推帧310)中的移动区域的预期位置的移动区域进行网格渲染(mesh render)。“网格”指对应于帧的三维(3D)对象的顶点、边和面的集合。“网格渲染”指使用三维对象的网格/几何形状对帧中的具***置处的三维对象进行渲染。
包括在最近的渲染帧中(例如,帧N-1 302a)的UI元素可能导致经外推帧310中的伪影和/或失真,因为该UI元素可能未被登记为静止对象和/或该UI元素可能与移动背景内容相关联。当静止的UI元素排列在移动背景内容的上方时,由外推帧308导致的静止UI元素的失真可能可由终端用户感知到。这种失真可以基于:基于比每个像素基(per pixelbasis)更大的粒度级别(level of granularity)对帧对象执行移动估计304。例如,移动矢量306可以对应于8x8的像素块,从而使得外推内容块可以包括与移动内容相关联的块的第一部分和与非移动内容相关联的块的第二部分。也就是说,块的第一部分可能是移动背景内容,而块的第二部分可能是非移动前景内容。出于帧外推的目的,当包括在块中的像素子集对应于相反的特征(例如,与分配给整个块的移动/非移动指示相反)时,将整个块指示为移动内容或非移动内容可能导致经外推帧310中的失真和/或伪影。
即使使用每个像素的移动矢量对帧进行外推,当半透明(translucent)内容位于移动背景内容的上方时,仍出现伪影和失真。因此,即使在像素级别对帧进行外推以对帧进行网格渲染,当叠加在移动背景内容上时,静止的UI元素的边缘周围也可能出现失真。虽然对于一些游戏/应用,可以对背景内容与UI元素进行单独渲染,但当执行帧外推308时,可能不可确定这种单独。例如,在云渲染情况下,背景内容和UI元素可以作为将由显示设备显示的单个帧一起接收。因此,当基于先前帧(例如,帧N-1 302a)执行帧外推308时,背景内容和UI元素可以不与单独的通行证(pass)相关联。游戏引擎可以类似地配置为将背景内容和UI元素一起接收(例如,在非流式情况下)。
为了减少伪影和/或失真,在312处可以生成对应于先前渲染帧(例如,帧N-1302a、帧N-2 302b、帧N-3 302c等)的静态区域的掩膜。掩膜的质量可以基于先前渲染帧之间的时间间隔的增加而提高。例如,可以经由帧N-1302a、帧N-51和帧N-101基于50帧的时间间隔生成掩膜。还可以通过增加用于在312处生成掩膜的帧的总数来提高掩膜的质量(例如,可以在312处基于4个或更多帧,而不是之前渲染的3个帧N-1 302a、N-2 302b和N-3302c,生成掩膜)。
在314处,可以对所生成的掩膜进行增长和羽化/模糊。增长和羽化/模糊是指增大先前渲染帧(例如,帧N-1 302a)的一个或多个掩膜区域的掩膜尺寸,同时在先前渲染帧的一个或多个掩膜区域(例如,与先前渲染帧N-1 302a的静态特征相关联)与对应于经外推帧310的一个或多个非掩膜区域(例如,与先前渲染帧N-1 302a和N-2 302b的非静态特征相关联)之间提供混合过渡。在318处,基于将从314处的增长和羽化/模糊中确定的alpha数据316应用到最近的渲染帧(例如,帧N-1 302a)的掩膜区域以生成经外推帧310的叠加帧,可以生成合成帧320。也就是说,合成帧320可以被感知为包括经外推帧310的非掩膜区域(其中内容被确定为移动)和最近的渲染帧(例如,帧N-1 302a)的掩膜区域(其中内容被确定为静态)。因此,合成帧320可以包括减少后的数量的由UI元素导致的伪影和失真。
图4示出了根据本公开的一种或多种技术的掩膜生成程序的图400。为了基于包括UI元素的帧的区域生成掩膜,可以对经先前渲染帧执行成对(pairwise)比较,以确定经先前渲染帧中未改变的像素。第一输入帧402a、第二输入帧402b和第三输入帧402c可以用于生成掩膜。输入帧402a-402c可以是非序列帧(non-sequential frames)(例如,输入帧402a-402c的时间间隔可以是50帧)。可以基于第一输入帧402a、第二输入帧402b和第三输入帧402c,分别生成第一比较掩膜404a、第二比较掩膜404b和第三比较掩膜404c。
虽然图400使用了与三个不同的比较掩膜404a-404c相关联的三个经先前渲染帧(例如,输入帧402a-402c),但在其他示例中可以确定不同数量的输入帧和比较掩膜。将经先前渲染帧在时间上分开可以提高掩膜的质量,因为UI元素可能在许多连续帧中都是静态的,而背景内容可能会随着得出后续帧在较短时间段内得出不同的内容。因此,UI元素的掩膜可能不必以应用的全帧率更新。然而,在一些配置中,输入帧402a-402c可以对应与一个或多个序列帧,并且可以基于该一个或多个连续帧生成比较掩膜404a-404c。
基于经由输入帧402a-402c的成对比较,可以生成的比较掩膜404a-404c确定的中值(median value)生成组合掩膜(combined mask)406。与单独的第一比较掩膜404a、第二比较掩膜404b和第三比较掩膜404c相比,组合掩膜406可以包括减少后的噪声。因此,基于组合掩膜406,可以更有效地将UI元素从背景内容中隔离出。虽然输入帧的一些部分可能包括在输入帧402a-402c中未改变的背景内容,并且因此被并入比较掩膜404a-404c和/或组合掩膜406中,但由于与比较掩膜404a-404c和/或组合掩膜406相关联的像素可能与经外推帧相同,因此合成帧可能不会受到未改变内容的负面影响。
图5示出了根据本公开的一种或多种技术的帧合成程序的图500。在将组合掩膜应用于经外推帧之前,可以在502处对掩膜进行增长和羽化/模糊,以生成应用于帧中对应于失真/静态内容的掩膜区域的alpha通道数据。即使UI元素的位置按每个像素基确定,UI元素的失真也可能导致与在经先前渲染帧中的UI元素相比,该UI元素在外推帧中被拉伸到不同像素。也就是说,通过UI元素周围的一些失真量,UI元素可能偏移。因此,可以在502处对掩膜进行增长和羽化/模糊,以不仅覆盖最初确定的UI元素位置,还覆盖可能对应于UI元素失真的位置。
可以在502处对UI元素的掩膜进行羽化/模糊,以提供掩膜内容与背景内容之间的平滑过渡。在各个方面,可以增加掩膜的密度(例如,强烈增加),然后进一步模糊掩膜,之后进一步增加掩膜的密度(例如,轻微增加),以在502处对掩膜进行羽化/模糊。可以基于将掩膜每个像素的掩膜值乘以缩放因子增加掩膜的密度。可以变化缩放因子的尺寸,以提供密度的强烈增加或密度的轻微增加。如果掩膜存储在线性色彩空间中,则缩放因子可以是常量;如果掩膜对应于非线性格式或非线性色彩空间,则缩放因子可以是非线性传递函数。通过这种方式,掩膜可以扩展到叠加帧的区域,否则UI元素的失真可能会在经外推帧中扩展。基于这种技术,也可以在UI元素与背景内容之间提供平滑过渡。
在504处,可以在经外推帧的上方应用掩膜,以提供具有减少后的数量的伪影和失真的合成帧/修改后的经外推帧。合成帧的掩膜区域可以对应于经先前渲染帧的静止区域。在示例中,增长和羽化/模糊掩膜可以对应于经外推帧的叠加帧,该叠加帧可以在502处基于确定的alpha数据(例如,根据最近渲染帧(例如第N-1帧))生成。可以将叠加帧在504处应用到经外推帧,以提供具有减少后的数量的伪影和失真的合成帧/修改后的经外推帧。可以对叠加帧的掩膜区域的边缘进行羽化/模糊,以将叠加帧与初始经外推帧混合。也就是说,对应于叠加帧的(多个)先前帧的一部分可以与经外推帧混合。在504处,可以覆盖经外推帧的损坏区域(corrupted region)(包括失真UI元素),因为终端用户可以注意/感知到经羽化/模糊的alpha数据可以防止经外推帧的非损坏区域与叠加帧的掩膜区域之间的硬过渡。
图6是根据本公开的一种或多种技术进行帧处理的示例方法的流程图600。该方法可以由与图1-5的方面相关联的装置执行,诸如用于帧处理的装置、帧处理器、CPU、GPU、显示处理器/DPU、无线通信设备和类似设备,结合图1-5的各个方面所使用。
在602处,该装置可以基于多个先前帧的一个或多个静态区域生成掩膜。例如,参考图2-4,帧处理器202可以在208处基于(多个)先前帧的(多个)静态区域生成掩膜。在图300中,可以在312处生成静态区域的掩膜。此外,步骤604可以由帧合成器19执行。
在604处,该装置可以调整掩膜以进行以下中的至少一项:确定alpha数据或隐藏与一个或多个静态区域相关联的失真内容——该失真内容可能是由对多个先前帧的帧进行的外推导致的。例如,参考图2,帧处理器202可以在210a处调整掩膜,以隐藏与静态区域相关联的伪影和/或失真。然后,帧处理器202可以在212处基于210a处对掩膜的调整确定alpha数据。在图300中,可以在314处对掩膜进行增长和羽化/模糊,用于隐藏与经外推帧310相关联的伪影和/或确定alpha数据316(例如,以在502处生成图500的经增长和羽化/模糊的掩膜)。此外,步骤606可以由帧合成器198执行。
在606处,该装置可以基于将掩膜或alpha数据中的至少一个应用到该多个帧的先前帧,以及将基于将掩膜或alpha数据中的至少一个的先前帧应用到对多个先前帧的第二集合帧进行外推后的帧,生成合成帧。例如,参考图2-3,帧处理器202可以在214处生成合成帧。在图300中,可以在318处基于alpha数据316、帧N-1 302a和经外推帧310生成合成帧。此外,步骤616可以由帧合成器198执行。
图7是根据本公开的一种或多种技术进行帧处理的示例方法的流程图700。该方法可以由与图1-5的方面相关联的装置执行,诸如用于帧处理的装置、帧处理器、CPU、GPU、显示处理器/DPU、无线通信设备和类似设备,结合图1-5的各个方面所使用。
在702处,该装置可以基于多个先前帧中的多个像素的成对比较确定多个先前帧的一个或多个静态区域。例如,参考图2,帧处理器202可以在206处确定(多个)先前帧的(多个)静态区域。此外,步骤702可以由帧合成器198执行。
在704处,该装置可以基于多个先前帧的一个或多个静态区域生成掩膜。例如,参考图2-4,帧处理器202可以在208处基于(多个)先前帧的(多个)静态区域生成掩膜。此外,步骤704可以由帧合成器198执行。在图300中,可以在312处生成静态区域的掩膜。该一个或多个静态区域可以对应于UI元素。在各个方面中,可以基于与分别从多个先前帧(例如,输入帧404a-404c)中生成的多个比较掩膜(例如,比较掩膜404a-404c)相关联的中值生成掩膜(例如,组合掩膜406)。在进一步的示例中,组合掩膜406可以基于与多个比较掩膜404a-404c相关联的其他值生成,诸如平均值或加权值,其中加权值可以基于输入帧402a-402c与当前帧的时间远近(how recent)可以分配或不分配较高或较低的权重。多个先前帧(例如,输入帧404a-404c)可以是顺序帧或非顺序帧。
在706处,该装置可以调整掩膜以进行以下中的至少一项:确定alpha数据或隐藏与一个或多个静态区域相关联的失真内容——该失真内容是由对多个先前帧的帧进行的外推导致的。例如,参考图2,帧处理器202可以在210a处调整掩膜,以隐藏与(多个)静态区域相关联的伪影和/或失真。然后,帧处理器202可以在212处基于在210a处对掩膜的调整确定alpha数据。此外,步骤706可以由帧合成器198执行。在图300中,可以在314处对掩膜进行增长和羽化/模糊,以隐藏与经外推帧310和/或确定alpha数据316相关联的伪影(例如,在502处生成图500的经增长和羽化/模糊掩膜)。在210a处调整掩膜可以包括以下中的至少一项:在210b(1)处对掩膜的掩膜区域的尺寸进行扩大,或在210b(2)处对掩膜的掩膜区域与掩膜的非掩膜区域之间的过渡进行模糊(例如,基于在210b(2)(i)处执行的第一模糊程序)。掩膜区域的扩大后的尺寸可以大于或等于失真内容的尺寸。
在708处,在第一模糊程序之后,该装置可以将掩膜的密度增加到第一密度。例如,参考图2,在在210b(2)(i)处执行第一模糊程序之后,帧处理器202可以在210b(2)(ii)处将掩膜的密度增加到第一密度。此外,步骤708可以由帧合成器198执行。
在710处,在将掩膜的密度增加到第一密度之后,该装置可以执行第二模糊程序。例如,参考图2,在210b(2)(iii)处将掩膜的密度增加到第一密度之后,帧处理器202可以在210b(2)(ii)处执行第二模糊程序。此外,步骤710可以由帧合成器198执行。
在712处,在第二模糊程序之后,该装置可以将掩膜的密度增加到第二密度——第二密度是比第一密度更高的密度。与一次性执行所有的模糊处理和所有的模糊处理相比,对掩膜递增进行模糊和强化可以在UI元素与背景内容之间提供更平滑的过渡。例如,参考图2,在210b(2)(iii)处执行第二模糊程序之后,帧处理器202可以在210b(2)(iv)处将掩膜的密度增加到比第一密度更高的第二密度。此外,步骤712可以由帧合成器198执行。
在714处,该装置可以基于对掩膜的调整确定alpha数据。例如,参考图2-3,基于在210a-210b处对掩膜的调整,帧处理器202可以在212处确定alpha数据。基于多个帧中的先前帧,可以在212处确定alpha数据316。先前帧可以是多个先前帧中最近的经渲染帧(例如,帧N-1 302a)。此外,步骤714可以由帧合成器198执行。alpha数据316可以用于调整先前帧的掩膜区域边缘周围的不透明度,从而在318处将先前帧的掩膜区域叠加在经外推帧310上以生成合成帧。
在716处,该装置可以基于将掩膜或alpha数据中的至少一个应用到该多个帧的先前帧,以及将基于将掩膜或alpha数据中的至少一个的先前帧应用到对多个先前帧的第二集合帧进行外推后的帧,生成合成帧。例如,参考图2-3,帧处理器202可以在214处生成合成帧。此外,步骤716可以由帧合成器198执行。在图300中,可以在318处基于alpha数据316、帧N-1 302a和经外推帧310生成合成帧。
在718处,该装置可以将合成帧发送到显示器。例如,参考图2,帧处理器202可以在216处将合成帧发送到显示面板204。此外,步骤718可以由帧合成器198执行。在216处发送的合成帧可以包括与从多个先前帧外推的帧相比的以下至少一项:更少的失真或更少的UI伪影。
在配置中,提供了一种用于帧处理的方法或装置。该装置可以是帧处理器、显示处理器、DPU、GPU、CPU或其他可以执行帧处理的处理器。在各个方面中,该装置可以是设备104中的显示处理器127或处理单元120,其可以包括帧合成器198,也可以是设备104或其他设备中的其他硬件。该装置可以包括:用于基于多个先前帧的第一集合帧的一个或多个静态区域生成掩膜的部件;用于调整该掩膜,以进行以下中的至少一项的部件:确定alpha数据或隐藏与第一集合帧的一个或多个静态区域相关联的失真内容(失真内容是由对多个先前帧的第二集合帧中的帧进行的外推导致的);以及用于基于将掩膜或alpha数据中的至少一个应用到该多个帧的先前帧,以及将基于将掩膜或alpha数据中的至少一个的先前帧应用到对多个先前帧的第二集合帧进行外推后的帧,生成合成帧的部件。该装置还可以包括基于多个先前帧的第一集合帧中的多个像素的成对比较确定一个或多个静态区域的部件。在各个方面中,用于调整掩膜的部件还可以配置为进行以下中的至少一项:对掩膜的掩膜区域的尺寸进行扩大,或对掩膜的掩膜区域与掩膜的非掩膜区域之间的过渡进行模糊。该装置还可以包括用于在第一模糊程序之后将掩膜的密度增加到第一密度的部件。该装置还可以包括用于在将掩膜的密度增加到第一密度之后执行第二模糊程序的部件;以及用于在第二模糊程序之后将掩膜的密度增加到第二密度的部件,第二密度是比第一密度更高的密度。该装置还可以包括基于对掩膜的调整确定alpha数据的部件。该装置还可以包括将合成帧发送到显示器的部件。
可以理解的是,在本文中所公开的过程、流程图和/或调用流程图中块/步骤的特定顺序或层次是示例方法的说明。根据设计偏好,过程、流程图和/或调用流程图中块/步骤的具体顺序或层次可以重新排列。此外,还可以将一些块/步骤合并和/或省略。也可以添加其他块/步骤。所附方法权利要求以示例顺序介绍了各个块/步骤的要素,并不限于所介绍的具体顺序或层次。
先前的描述是为了让本领域的任何技术人员能够实践在本文中所述的各个方面。对于本领域的技术人员来说,对这些方面的各种修改是显而易见的,在本文中所定义的通用原则也可以应用于其他方面。因此,权利要求的目的并非局限于在本文中所示的方面,而是应被赋予与权利要求书的语言一致的全部范围,除非特别说明,其中提到的单数元素并不意味着“一个且仅有一个”,而是指“一个或多个”。此处使用的“示例”一词是指“作为示例、实例或说明”。在本文中描述为“示例性”的任何方面并不一定被理解为优于或优于其他方面。
除非另有特别说明,术语“一些”指的是一个或多个,而术语“或”可以解释为“和/或”,如果上下文没有特别说明的话。诸如“A、B或C中的至少一种”、“A、B或C中的一种或多种”、“A、B和C中的至少一种”、“A、B和C中的一种或多种”"以及“A、B、C或其任何组合”等组合包括A、B和/或C的任何组合,并可以包括A的倍数、B的倍数或C的倍数。具体地说,“A、B或C中的至少一种”、“A、B或C中的一种或多种”、“A、B和C中的至少一种”、“A、B和C中的一种或多种”以及“A、B、C或其任何组合”等组合可以是仅A、仅B、仅C、A和B、A和C、B和C或A和B和C,其中任何这种组合可以包括A、B或C的一个或多个成员。本公开中描述的各方面要素的所有结构和功能等效物,凡是本领域的普通技术人员已知的或后来知道的,均以引用的方式明确并入本公开中,并且包括在权利要求中。此外,在本文中所公开的任何内容的目的都不是向公众公开,无论权利要求中是否明确叙述了这种公开。“模块”、“机构”、“元件”、“装置”等词语不能代替“部件”一词。因此,除非使用短语"用于…的部件”明确表述,否则任何权利要求要素都不能理解为“部件加功能”。
在一个或多个示例中,在本文中所述功能可以通过硬件、软件、固件或其任何组合实施。例如,尽管在本公开的整个过程中使用了术语“处理单元”,但这些处理单元可以通过硬件、软件、固件或其任何组合实施。如果在本文中所述的任何功能、处理单元、技术或其他模块是通过软件实施,则该功能、处理单元、技术或其他模块可以作为一个或多个指令或代码存储在计算机可读介质上或通过计算机可读介质发送。
计算机可读介质可以包括计算机数据存储介质或通信介质,包括任何便于将计算机程序从一个地方发送到另一地方的介质。这样,计算机可读介质一般可以对应于以下介质:(1)有形的计算机可读存储介质,其为非暂时性性的;或(2)通信介质,诸如信号或载波。数据存储介质可以是任何可以用的介质,可以被一台或多台计算机或一个或多个处理器访问,以检索用于实施本公开所述技术的指令、代码和/或数据结构。作为示例而非限制,这种计算机可读介质可以包括RAM、ROM、EEPROM、光盘只读存储器(CD-ROM)或其他光盘存储、磁盘存储或其他磁性存储设备。在本文中所使用的磁盘和光盘包括光盘(CD)、激光光盘、光盘、数字多功能光盘(DVD)、软盘和蓝光光盘,其中磁盘通常以磁性方式复制数据,而光盘通常以激光光学方式复制数据。计算机可读介质的范围还应包括上述介质的组合。计算机程序产品可以包括计算机可读介质。
本公开的技术可以在多种设备或装置中实施,包括无线手机、集成电路(IC)或集成电路组,例如芯片组。本公开中描述了各种组件、模块或单元,以强调配置为执行所公开技术的设备的功能方面,但并不一定需要通过不同的硬件单元实施。相反,如上所述,各种单元可以组合在任何硬件单元中,或由一系列交互的硬件单元提供,包括如上所述的一个或多个处理器,以及合适的软件和/或固件。因此,在本文中所使用的“处理器”可以指上述任何结构或适合于实施在本文中所述技术的任何其他结构。此外,这些技术也可以在一个或多个电路或逻辑元件中完全实施。
以下方面仅为说明性的,可以与在本文中所述的其他方面或教导相结合,但不限于此。
方面1是一种用于帧处理的方法,包括:基于多个先前帧的第一集合帧的一个或多个静态区域,生成掩膜;调整该掩膜,以进行以下中的至少一项:确定alpha数据或隐藏与第一集合帧的一个或多个静态区域相关联的失真内容,失真内容是由对多个先前帧的第二集合帧中的帧进行的外推导致的;以及基于将掩膜或alpha数据中的至少一个应用到该多个帧的先前帧,以及将基于将掩膜或alpha数据中的至少一个的先前帧应用到对多个先前帧的第二集合帧进行外推后的帧,生成合成帧。
方面2可以与方面1相结合,并且还包括:基于多个先前帧的第一集合帧中的多个像素的成对比较,确定一个或多个静态区域。
方面3可以与方面1-2中的任一方面相结合,并且包括:基于与分别从多个先前帧的第一集合帧中生成的多个比较掩膜相关联的中值生成掩膜。
方面4可以与方面1-3中的任一方面相结合,包括:第一集合帧包括非序列帧。
方面5可以与方面1-4中的任一方面相结合,并且包括:调整掩膜还包括以下中的至少一项:基于第一模糊程序,对掩膜的掩膜区域的尺寸进行扩大,或对掩膜的掩膜区域与掩膜的非掩膜区域之间的过渡进行模糊。
方面6可以与方面1-5中的任一方面相结合,并且包括:掩膜区域的扩大尺寸大于或等于失真内容的尺寸。
方面7可以与方面1-6中的任一方面相结合,并且还包括:在第一模糊程序之后,将掩膜的密度增加到第一密度。
方面8可以与方面1-7中的任一方面相结合,并且还包括:在将掩膜的密度增加到第一密度之后,执行第二模糊程序;以及在第二模糊程序之后,将掩膜的密度增加到第二密度,第二密度是比第一密度更高的密度。
方面9可以与方面1-8中的任一方面结合,并且还包括:基于对掩膜的调整,确定alpha数据。
方面10可以与方面1-9中的任一方面相结合,并且包括alpha数据基于多个帧的先前帧,先前帧是多个先前帧的最近的经渲染帧。
方面11可以与方面1-10中的任一方面结合,并且还包括:将合成帧发送到显示器。
方面12可以与方面1-11中的任一方面结合,并且还包括:与对多个先前帧的第二集合帧进行外推后的帧相比,该合成帧包括以下至少一项:更少的失真或更少的UI伪影。
方面13可以与方面1-12中的任一方面结合,包括:一个或多个静态区域对应于UI元素。
方面14是用于帧处理的装置,包括:至少一个处理器,耦接到存储器并且配置为实施如方面1-13中任一方面的方法。
方面15可以与方面14结合,并且包括:该装置是无线通信设备。
方面16是一种用于帧处理的装置,包括用于实施方面1-13中任一方面的方法的部件。
方面17是一种存储有计算机可执行代码的计算机可读介质,当该代码由至少一个处理器执行时,使得至少一个处理器实施如方面1-13中任一方面的方法。
在本文中描述了各个方面。这些方面和其它方面属于以下权利要求的范围。

Claims (28)

1.一种用于帧处理的装置,包括:
存储器;和
至少一个处理器,耦接到所述存储器并且配置为:
基于多个先前帧的第一集合帧的一个或多个静态区域,生成掩膜;
调整所述掩膜,以进行以下中的至少一项:
确定alpha数据,或
隐藏与所述第一集合帧的所述一个或多个静态区域相关联的失真内容,所述失真内容是由对所述多个先前帧的第二集合帧中的帧进行的外推导致的;以及
基于将所述掩膜或所述alpha数据中的至少一个应用到所述多个帧的先前帧,以及将基于将所述掩膜或所述alpha数据中的至少一个的所述先前帧应用到对所述多个先前帧的所述第二集合帧进行外推后的帧,生成合成帧。
2.根据权利要求1所述的装置,其中,所述至少一个处理器还配置为:基于所述多个先前帧的所述第一集合帧中的多个像素的成对比较,确定所述一个或多个静态区域。
3.根据权利要求1所述的装置,其中,基于与分别从所述多个先前帧的第一集合帧中生成的多个比较掩膜相关联的中值生成所述掩膜。
4.根据权利要求3所述的装置,其中,所述第一集合帧包括非序列帧。
5.根据权利要求1所述的装置,其中,为了调整所述掩膜,所述至少一个处理器还配置为基于第一模糊程序,进行以下中的至少一项:
扩大所述掩膜的掩膜区域的尺寸,或
模糊所述掩膜的所述掩膜区域与所述掩膜的非掩膜区域之间的过渡。
6.根据权利要求5所述的装置,其中,所述掩膜区域的扩大尺寸大于或等于所述失真内容的尺寸。
7.根据权利要求5所述的装置,其中,所述至少一个处理器还配置为:
在所述第一模糊程序之后,将所述掩膜的密度增加到第一密度。
8.根据权利要求7所述的装置,其中,所述至少一个处理器还配置为:
在将所述掩膜的密度增加到所述第一密度之后,执行第二模糊程序;以及
在所述第二模糊程序之后,将所述掩膜的密度增加到第二密度,所述第二密度是比所述第一密度更高的密度。
9.根据权利要求1所述的装置,其中,所述至少一个处理器还配置为:
基于对掩膜的调整,确定alpha数据。
10.根据权利要求1所述的装置,其中,所述alpha数据基于所述多个帧的所述先前帧,所述先前帧是所述多个先前帧的最近的经渲染帧。
11.根据权利要求1所述的装置,其中,所述至少一个处理器还配置为:
将所述合成帧发送到显示器。
12.根据权利要求1所述的装置,其中,与对所述多个先前帧的所述第二集合帧进行外推后的帧相比,所述合成帧包括以下至少一项:更少的失真或更少的用户界面UI伪影。
13.根据权利要求1所述的装置,其中,所述一个或多个静态区域对应于用户界面UI元素。
14.根据权利要求1所述的装置,其中,所述装置是无线通信设备。
15.一种用于帧处理的方法,包括:
基于多个先前帧的第一集合帧的一个或多个静态区域,生成掩膜;
调整所述掩膜,以进行以下中的至少一项:
确定alpha数据,或
隐藏与所述第一集合帧的所述一个或多个静态区域相关联的失真内容,所述失真内容是由对所述多个先前帧的第二集合帧中的帧进行的外推导致的;以及
基于将所述掩膜或所述alpha数据中的至少一个应用到所述多个帧的先前帧,以及将基于将所述掩膜或所述alpha数据中的至少一个的所述先前帧应用到对所述多个先前帧的所述第二集合帧进行外推后的帧,生成合成帧。
16.根据权利要求15所述的方法,还包括:基于所述多个先前帧的所述第一集合帧中的多个像素的成对比较,确定所述一个或多个静态区域。
17.根据权利要求15所述的方法,其中,基于与分别从所述多个先前帧的第一集合帧中生成的多个比较掩膜相关联的中值生成所述掩膜。
18.根据权利要求17所述的方法,其中,所述第一集合帧包括非序列帧。
19.根据权利要求15所述的方法,其中,调整所述掩膜包括基于第一模糊程序,进行以下中的至少一项:
扩大所述掩膜的掩膜区域的尺寸,或
模糊所述掩膜的所述掩膜区域与所述掩膜的非掩膜区域之间的过渡。
20.根据权利要求19所述的方法,其中,所述掩膜区域的扩大尺寸大于或等于所述失真内容的尺寸。
21.根据权利要求19所述的方法,还包括:在所述第一模糊程序之后,将所述掩膜的密度增加到第一密度。
22.根据权利要求21所述的方法,还包括:
在将所述掩膜的密度增加到所述第一密度之后,执行第二模糊程序;以及
在所述第二模糊程序之后,将所述掩膜的密度增加到第二密度,所述第二密度是比所述第一密度更高的密度。
23.根据权利要求15所述的方法,还包括:基于对掩膜的调整,确定alpha数据。
24.根据权利要求23所述的方法,其中,所述alpha数据基于所述多个帧的所述先前帧,所述先前帧是所述多个先前帧的最近的经渲染帧。
25.根据权利要求15所述的方法,还包括:将所述合成帧发送到显示器。
26.根据权利要求25所述的方法,其中,与对所述多个先前帧的所述第二集合帧进行外推后的帧相比,所述合成帧包括以下至少一项:更少的失真或更少的用户界面UI伪影。
27.根据权利要求23所述的方法,其中,所述一个或多个静态区域对应于用户界面UI元素。
28.一种存储有计算机可执行代码的计算机可读介质,当所述代码由至少一个处理器执行时,使得所述至少一个处理器:
基于多个先前帧的第一集合帧的一个或多个静态区域,生成掩膜;
调整所述掩膜,以进行以下中的至少一项:
确定alpha数据,或
隐藏与所述第一集合帧的所述一个或多个静态区域相关联的失真内容,所述失真内容是由对所述多个先前帧的第二集合帧中的帧进行的外推导致的;以及
基于将所述掩膜或所述alpha数据中的至少一个应用到所述多个帧的先前帧,以及将基于将所述掩膜或所述alpha数据中的至少一个的所述先前帧应用到对所述多个先前帧的所述第二集合帧进行外推后的帧,生成合成帧。
CN202280036444.3A 2021-05-26 2022-05-25 在时间内插帧使用掩膜的高质量ui元素边界 Pending CN117377976A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/331,530 2021-05-26
US17/331,530 US11587208B2 (en) 2021-05-26 2021-05-26 High quality UI elements with frame extrapolation
PCT/US2022/030955 WO2022251383A1 (en) 2021-05-26 2022-05-25 High quality ui element boundaries using masks in temporally interpolated frames

Publications (1)

Publication Number Publication Date
CN117377976A true CN117377976A (zh) 2024-01-09

Family

ID=82404412

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280036444.3A Pending CN117377976A (zh) 2021-05-26 2022-05-25 在时间内插帧使用掩膜的高质量ui元素边界

Country Status (7)

Country Link
US (2) US11587208B2 (zh)
EP (1) EP4348571A1 (zh)
KR (1) KR20240012396A (zh)
CN (1) CN117377976A (zh)
BR (1) BR112023023868A2 (zh)
TW (1) TW202303374A (zh)
WO (1) WO2022251383A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230186446A1 (en) * 2021-12-15 2023-06-15 7 Sensing Software Image processing methods and systems for low-light image enhancement using machine learning models

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2406459C (en) 2000-04-07 2006-06-06 Demografx Enhanced temporal and resolution layering in advanced television
US7827488B2 (en) * 2000-11-27 2010-11-02 Sitrick David H Image tracking and substitution system and methodology for audio-visual presentations
US7133083B2 (en) * 2001-12-07 2006-11-07 University Of Kentucky Research Foundation Dynamic shadow removal from front projection displays
US20030215011A1 (en) * 2002-05-17 2003-11-20 General Instrument Corporation Method and apparatus for transcoding compressed video bitstreams
US9269157B2 (en) * 2005-03-01 2016-02-23 Eyesmatch Ltd Methods for extracting objects from digital images and for performing color change on the object
EP2118852B1 (en) 2007-03-07 2011-11-30 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Concept for synthesizing texture in a video sequence
US9307187B2 (en) 2012-05-22 2016-04-05 Panasonic Intellectual Property Management Co., Ltd. Display control device and display control method
GB201301445D0 (en) * 2013-01-28 2013-03-13 Microsoft Corp Adapting robustness in video coding
JP6102680B2 (ja) * 2013-10-29 2017-03-29 ソニー株式会社 符号化装置、復号装置、符号化データ、符号化方法、復号方法およびプログラム
CN112651288B (zh) * 2014-06-14 2022-09-20 奇跃公司 用于产生虚拟和增强现实的方法和***
US10852838B2 (en) * 2014-06-14 2020-12-01 Magic Leap, Inc. Methods and systems for creating virtual and augmented reality
KR101609280B1 (ko) 2014-10-01 2016-04-05 삼성전자주식회사 디스플레이 장치 및 그 제어 방법
KR20160040388A (ko) 2014-10-02 2016-04-14 삼성전자주식회사 프레임 레이트 변환 방법 및 영상출력장치
EP3224799A4 (en) 2014-11-27 2018-05-30 Nokia Technologies OY Method, apparatus and computer program product for generating super-resolved images
EP3238213B1 (en) * 2014-12-22 2023-06-21 InterDigital CE Patent Holdings Method and apparatus for generating an extrapolated image based on object detection
WO2017080420A1 (en) * 2015-11-09 2017-05-18 Versitech Limited Auxiliary data for artifacts –aware view synthesis
EP3376467B1 (en) * 2017-03-14 2020-04-22 Altostratus Capital LLC Generation of alpha masks of video frames
US10863230B1 (en) * 2018-09-21 2020-12-08 Amazon Technologies, Inc. Content stream overlay positioning
US10733783B2 (en) * 2018-10-09 2020-08-04 Valve Corporation Motion smoothing for re-projected frames
CN113966619A (zh) * 2020-05-14 2022-01-21 谷歌有限责任公司 渲染具有动态组件的视频

Also Published As

Publication number Publication date
BR112023023868A2 (pt) 2024-01-30
KR20240012396A (ko) 2024-01-29
EP4348571A1 (en) 2024-04-10
US20230162329A1 (en) 2023-05-25
US11587208B2 (en) 2023-02-21
WO2022251383A1 (en) 2022-12-01
TW202303374A (zh) 2023-01-16
US20220383454A1 (en) 2022-12-01

Similar Documents

Publication Publication Date Title
US20230039100A1 (en) Multi-layer reprojection techniques for augmented reality
KR20190020197A (ko) 중간-분류 아키텍처에서 프레임 대 프레임 일관성의 활용
CN112740278B (zh) 用于图形处理的方法及设备
US9741154B2 (en) Recording the results of visibility tests at the input geometry object granularity
US11468629B2 (en) Methods and apparatus for handling occlusions in split rendering
US11908051B2 (en) Image processing system and method for generating image content
CN116406504A (zh) 用于使用多个帧的基于直方图且自适应的色调映射的方法和装置
US20230162329A1 (en) High quality ui elements with frame extrapolation
CN112565869B (zh) 一种视频重定向的窗口融合方法、装置及设备
WO2016192060A1 (en) Low power video composition using a stream out buffer
US9609319B2 (en) Detection, location, and processing of static pixels
US20240046410A1 (en) Foveated scaling for rendering and bandwidth workloads
US20230230201A1 (en) Fuzzy logic-based pattern matching and corner filtering for display scaler
WO2023197284A1 (en) Saliency-based adaptive color enhancement
US20230154063A1 (en) Non-linear filtering for color space conversions
US20240257307A1 (en) Histogram based ar/mr object image edge sharpening/enhancement
WO2023165385A1 (en) Checkerboard mask optimization in occlusion culling
WO2024087152A1 (en) Image processing for partial frame updates
US20240212634A1 (en) Cutoff prediction for histogram data and backlight control
KR101482828B1 (ko) 압축되지 않은 비디오 인터커넥트들 상의 송신을 위한 이미지 데이터의 지각적 무손실 압축
US20240096042A1 (en) Methods and apparatus for saliency based frame color enhancement
WO2022040015A2 (en) Image-space function transmission

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