CN108027715A - 图形命令令牌的修改 - Google Patents

图形命令令牌的修改 Download PDF

Info

Publication number
CN108027715A
CN108027715A CN201680050630.7A CN201680050630A CN108027715A CN 108027715 A CN108027715 A CN 108027715A CN 201680050630 A CN201680050630 A CN 201680050630A CN 108027715 A CN108027715 A CN 108027715A
Authority
CN
China
Prior art keywords
video data
modified
graph command
command token
host device
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
CN201680050630.7A
Other languages
English (en)
Other versions
CN108027715B (zh
Inventor
M·A·S·Y·马卡尔
V·R·拉韦恩德朗
X·王
H·江
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 CN108027715A publication Critical patent/CN108027715A/zh
Application granted granted Critical
Publication of CN108027715B publication Critical patent/CN108027715B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • 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/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1454Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • 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/003Details of a display terminal, the details relating to the control arrangement of the display terminal and to the interfaces thereto
    • G09G5/005Adapting incoming signals to the display format of the display terminal
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/398Synchronisation thereof; Control thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/426Internal components of the client ; Characteristics thereof
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2350/00Solving problems of bandwidth in display systems
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/16Use of wireless transmission of display information

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Architecture (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Image Generation (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Information Transfer Between Computers (AREA)
  • Processing Or Creating Images (AREA)
  • Digital Computer Display Output (AREA)

Abstract

在一个示例中,一种用于处理视频数据的方法包括:由宿设备从源设备接收可执行以渲染原始视频数据的一个或多个图形命令令牌;由所述宿设备修改所述图形命令令牌以生成经修改的图形命令令牌,所述经修改的图形命令令牌可执行以渲染与原始视频数据不同的经修改的视频数据;以及输出经修改的视频数据以用于在可操作地连接到宿设备的显示器处呈现。

Description

图形命令令牌的修改
技术领域
本公开内容涉及用于处理从源设备到宿设备的视频流的技术。
背景技术
无线显示(WD)系统包括源设备和一个或多个宿设备。源设备和每个宿设备可以是具有无线通信能力的移动设备或有线设备。作为移动设备,例如,源设备和宿设备中的一者或多者可以包括移动电话、平板计算机、膝上型计算机、具有无线通信卡的便携式计算机、个人数字助理(PDA)、无线游戏设备、便携式媒体播放器或者具有无线通信能力的其他闪存设备。移动设备还可以包括所谓的“智能”电话和“智能”平板或平板设备,或其他类型的无线通信设备。作为有线设备,例如,源设备和宿设备中的一者或多者可以包括包含无线通信能力的电视机、台式计算机、监视器、投影仪等。
源设备向参与特定通信会话的一个或多个宿设备发送诸如音频和/或视频数据的媒体数据。媒体数据可以在源设备的本地显示器和宿设备的每个显示器两者处重放。具体而言,每个参与方宿设备在其显示器和音频设备上渲染所接收的媒体数据。
发明内容
在一个示例中,一种用于处理视频数据的方法包括:由宿设备从源设备接收可执行以渲染原始视频数据的一个或多个图形命令令牌;由宿设备修改图形命令令牌以生成经修改的图形命令令牌,该经修改的图形命令令牌可执行以渲染与原始视频数据不同的经修改的视频数据;以及输出所修改的视频数据以用于在可操作地连接到宿设备的显示器处呈现。
在另一示例中,宿设备包括:通信单元,其被配置为从源设备接收可执行以渲染原始视频数据的图形命令令牌;和一个或多个处理器。在该示例中,一个或多个处理器被配置为:修改图形命令令牌以生成经修改的图形命令令牌,该经修改的图形命令令牌可执行以渲染经修改的视频数据;以及输出所修改的视频数据以用于在可操作地连接到宿设备的显示器处呈现。
在另一示例中,宿设备包括用于从源设备接收可执行以渲染原始视频数据的一个或多个图形命令令牌的单元;用于修改图形命令令牌以生成经修改的图形命令令牌的单元,该经修改的图形命令令牌可执行以渲染与原始视频数据不同的经修改的视频数据;以及用于输出经修改的视频数据以用于在可操作地连接到宿设备的显示器处呈现的单元。
在另一示例中,一种计算机可读存储介质存储指令,该指令在被执行时使宿设备的一个或多个处理器执行以下操作:从源设备接收可执行以渲染原始视频数据的一个或多个图形命令令牌;修改图形命令令牌以生成经修改的图形命令令牌,该经修改的图形命令令牌可执行以渲染与原始视频数据不同的经修改的视频数据;以及输出经修改的视频数据以用于在可操作地连接到宿设备的显示器处呈现。
在附图和下面的描述中阐述了一个或多个示例的细节。依据描述和附图以及权利要求,其他特征、目的和优点将是显而易见的。
附图说明
图1是根据本公开内容的一个或多个技术的示例性无线显示(WD)系统的概念图,其中设备被配置为修改图形命令令牌。
图2是示出根据本公开内容的一个或多个技术的图1的源设备和宿设备的一个示例的进一步细节的方块图,其中源设备被配置为通过通信信道将视频数据流传输到宿设备。
图3A、3B、4A、4B、5A、5B和6是示出根据本公开内容的一个或多个方面的可由设备执行的图形命令令牌的示例性修改的概念图。
图7是示出根据本公开内容的一个或多个技术的宿设备处理视频数据的示例性操作的流程图。
具体实施方式
本公开内容描述了用于将视频从源设备流传输到宿设备的技术。在一些示例中,源设备可以通过从源设备的帧缓冲器捕获所构建的帧并且将所捕获的帧发送到宿设备,来将视频流传输到宿设备,该宿设备然后可以在宿设备的显示器显示图像。该方法可以被称为“像素域”传输方法,例如,其中帧包括像素阵列。然而,在一些示例中,由于传输所捕获图像所需的高平均数据速率,因此可能不期望使用像素域方法。
可替换地,在一些示例中,源设备可以使用“图形域”传输方法来将解构的视频帧(即,非光栅格式的视频帧)流传输到宿设备。图形域传输可以通过以图形命令令牌(例如,令牌/OpenGL命令及其操作数的实例)和纹理元素的形式在源设备的图形处理单元(GPU)的输入处捕获显示数据,将图形命令令牌和纹理元素发送到宿设备来完成。宿设备的GPU可以执行图形命令令牌以基于纹理元素(即,通过参考纹理元素)来渲染可显示的帧,并且在宿设备的显示器处输出所渲染的视频数据帧。
在一些情况下,可能期望修改宿设备的显示器处的视频数据输出。为了避免降低的流媒体体验,可能期望实时(或接近实时地)执行修改,以避免可能由延迟引起的伪像。当使用像素域传输方法时,可能无法实时(或接近实时地)修改所捕获的帧。然而,当使用图形域传输方法时,可以实时(或接近实时地)修改所捕获的帧。例如,与可以存储并在稍后修改捕获的帧的像素域方法相反,通过利用图形域传输方法,可以在接近于捕获帧的时刻的时间(例如,在100毫秒、1秒、5秒内)修改捕获的帧。
在操作中,宿设备可以接收可渲染为原始视频数据的图形命令令牌。例如,宿设备可以从源设备无线地接收图形命令令牌。
根据本公开内容的一个或多个技术,宿设备可以修改图形命令令牌以生成可执行以渲染与原始视频数据不同的经修改的视频数据的经修改的图形命令令牌。宿设备可以执行所经修改的图形命令令牌并输出所修改的视频数据以在可操作地连接到宿设备的显示器处呈现。以这种方式,图形命令令牌可以被修改(例如,实时地)以使宿设备输出经修改的视频数据,即以某种方式已经相对于原始视频数据被修改的视频数据。对图形命令令牌的修改可以是各种修改或这些修改的组合中的任何一种,这通常导致对呈现给用户的视频数据的视觉外观的修改。
宿设备可以对图形命令令牌做出的一些示例性修改包括但不限于:图像处理点操作(例如,诸如灰度调整、模糊、锐化等的颜色转换)、具有艺术效果的图像处理滤镜(类似Instagram的滤镜)、分辨率改变(例如,以较高、较低空间分辨率或较大或较小尺寸渲染,例如用于部分覆盖显示器以允许多个应用程序等)、对三维(3D)对象的视点变化和替换纹理元素。对由宿设备执行的图形命令令牌的修改能够是对于任何应用程序(例如,灰度效果)通用的或特定于应用程序的(例如,改变特定应用程序中的特定对象的3D视点)。修改能够是部分或对于整个视图(例如,在Adobe Reader中对PDF文档的图形添加效果,但不对文本添加效果)。修改能够是自适应的。例如,如果由公司雇员查看,则在宿设备的显示器上的浏览器输出可以包括整个网页,但是如果非雇员/客人查看,则可能模糊某些部分。
图1是根据本公开内容的一个或多个技术的示例性无线显示(WD)系统的概念图,其中设备被配置为修改图形命令令牌。如图1所示,WD系统2包括源设备4、宿设备6和通信信道8。
通信信道8可以是能够在源设备4和宿设备6之间传播通信信号的任何信道。在一些示例中,通信信道8可以是无线通信信道。例如,通信信道8可以在诸如2.4吉赫兹(GHz)频带、5GHz频带、60GHz频带或其它频带的频带中的射频通信中实现。在一些示例中,通信信道8可以符合一组或多组标准、协议或技术,诸如无线通用串行总线(WUSB)(由USB实施者论坛推广)、Wi-Fi(由Wi-Fi联盟推广)、WiGig(由无线吉比特联盟推广)和/或电气和电子工程师协会(IEEE)802.11标准集合(例如,802.11、802.11a、802.11b、802.11g、802.11n、802.11ac、802.11ad等)或其他标准、协议或技术。802.11规范的2012版本在http://standards.ieee.org/getieee802/download/802.11-2012.pdf中阐述。所使用的频带(诸如2.4GHz、5GHz和60GHz频带)可以被定义用于本公开内容的目的,因为根据Wi-Fi、WiGig的标准、IEEE 802.11协议中的任何一个或多个或其他适用的标准或协议能理解它们。
WD 2可以包括源设备4,源设备4可以被配置为通过诸如通信信道8的通信信道将图形命令令牌形式的视频数据发送到诸如宿设备6的宿设备。源设备4的示例可以包括但不限于诸如智能电话或其他移动手持设备的移动设备、平板计算机、膝上型计算机、台式计算机、可穿戴计算设备(例如,智能手表、护目镜等)、一个或多个处理单元或其他集成电路或芯片组,或其他电子设备。如图1的示例所示,源设备4可以包括通信模块10、图形处理单元(GPU)12、流传输模块14和应用程序模块18A-18N。
源设备4可以包括通信模块10,通信模块10可以管理源设备4与一个或多个诸如宿设备6的外部设备之间的通信。例如,通信模块10可以通过通信信道8与宿设备6交换数据。作为一个示例,通信模块10可以通过通信信道8将图形命令令牌流传输到宿设备6。在一些示例中,通信模块10可以接收要从源设备4的其他组件发送的信息。例如,通信模块10可以从流传输模块14接收图形命令令牌。
源设备4可以包括GPU 12,GPU 12可以基于一个或多个纹理元素和图形命令令牌来渲染视频数据帧。可以由GPU 12令牌化和执行的图形命令的一些示例包括但不限于API、Khronos组织的API、Khronos组织的API(例如,A规范(版本4.5(核心配置文件)-2015年5月28日),可在https://www.opengl.org/registry/doc/glspec45.core.pdf获得)以及Khronos组织的OpenCLTMAPI(例如,OpenCL规范2.1版,Khronos OpenCL工作组,2015年1月29日,可在https://www.khronos.org/registry/cl/specs/opencl-2.1.pdf获得)。在一些示例中,GPU 12可以基于与一个或多个应用程序模块18相关联的图形命令令牌和纹理元素来渲染视频数据帧。例如,GPU 12可以基于由应用程序模块18的应用程序模块生成的图形命令令牌以及与应用程序模块18的应用程序模块相关联的纹理元素来渲染视频数据帧,用于在可操作地耦合到源设备4或包括在源设备4中的显示器处输出。
源设备4可以包括流传输模块14,流传输模块14可以被配置为将视频数据流传输到一个或多个外部设备。例如,流传输模块14可以将图形命令令牌和纹理元素的形式的视频数据流传输到宿设备6。在一些示例中,流传输模块14可以在GPU 12的输入处捕获图形命令令牌和/或纹理元素16。流传输模块14可以将包括图形命令令牌和一个或多个纹理元素的比特流输出到通信模块10以用于传输到宿设备6。
源设备4可以包括应用程序模块18,应用程序模块18可以各表示由制造源设备4的实体或在源设备4上操作的软件提供的应用程序或由第三方开发的用于与源设备4一起使用的应用程序。应用程序模块18的示例可以包括用于游戏、购物、旅行路线、地图、音频和/或视频呈现、文字处理、电子表格、天气等的应用程序。
源设备4可以包括纹理元素16,纹理元素16可以由GPU利用来渲染视频数据帧。在一些示例中,纹理元素16中的一个或多个可以与应用程序模块18的特定应用程序模块相关联。例如,在应用程序模块18的游戏应用程序需要落下水果(例如,西瓜、鳄梨、菠萝等)的切片时,可以与游戏应用程序相关联的纹理元素16的示例性纹理元素包括每种类型水果的图形表示。在一些示例中,纹理元素16可以以多种格式存储。一些示例性格式包括但不限于RGBα8888、RGBα4444、RGBα5551、RGB 565、Yα88和α8。
WD 2可以包括宿设备6,宿设备6可以被配置为通过通信信道(诸如通信信道8)从源设备(诸如源设备4)接收图形命令令牌形式的视频数据。宿设备6的示例可以包括但不限于诸如智能电话或其他移动手持设备的移动设备、平板计算机、膝上型计算机、台式计算机、可穿戴计算设备(例如,智能手表、护目镜等)、电视机、监视器、一个或多个处理单元或其他集成电路或芯片组或其他电子设备。如图1的示例所示,宿设备6可以包括通信模块19、图形处理单元(GPU)20、流传输模块22和纹理元素24。
宿设备6可以包括通信模块19,通信模块19可以管理宿设备6和一个或多个外部设备(例如源设备4)之间的通信。在一些示例中,通信模块19可以执行类似于源设备4的通信模块10的操作。例如,通信模块19可以通过通信信道8与源设备4交换数据。作为一个示例,通信模块19可以通过直接Wi-Fi连接从源设备4接收图形命令令牌和纹理元素。在一些示例中,通信模块19可以将接收到的信息提供给宿设备6的其他组件。例如,通信模块19可以将接收到的图形命令令牌和纹理元素提供给流传输模块22。
宿设备6可以包括GPU 20,GPU 20可以执行与源设备4的GPU 12类似的操作。例如,GPU 20可以基于一个或多个纹理元素和图形命令令牌来渲染视频数据帧。在一些示例中,GPU 20能够执行与GPU 12相同的图形命令。可以由GPU 20执行的图形命令的一些示例包括但不限于API、Khronos组织的API和OpenCLTM API。在一些示例中,GPU 20可以基于从宿设备6的一个或多个其它组件(诸如流传输模块22)接收到的图形命令令牌和纹理元素来渲染视频数据帧。例如,GPU 20可以基于从流传输模块22接收的图形命令令牌和纹理元素来渲染视频数据帧,以用于在可操作地耦合到宿设备6或包括在宿设备6中的显示器处输出。
宿设备6可以包括流传输模块22,流传输模块22可以被配置为从一个或多个外部设备接收流传输视频数据。例如,流传输模块22可以从源设备4接收图形命令令牌和纹理元素形式的流传输视频数据。
宿设备6可以存储纹理元素24,纹理元素24可以被GPU利用来渲染视频数据帧。在一些示例中,流传输模块22可以将从源设备4接收到的纹理元素存储在纹理元素24中。
源设备4的用户可能希望将视频从源设备4流传输到宿设备6。例如,在源设备4的显示器的尺寸小于宿设备6的显示器的尺寸的情况下,源设备4的用户可能希望利用宿设备6的较大显示器来输出视频。然而,例如由于带宽限制、处理能力等,可能不希望从源设备4向宿设备6发送构建的视频数据帧。这样,源设备4的流传输模块14可以经由通信信道8将图形命令令牌和一个或多个纹理元素输出到宿设备6的流传输模块22,以便使宿设备6的GPU20渲染视频数据帧。以此方式,与像素域中的流传输视频数据相反,源设备4可以例如通过流传输图形命令和纹理元素而在图形域中将视频数据流传输到宿设备6。
在一些示例中,可能希望修改在宿设备6的显示器处的视频数据输出。为了避免降低的流媒体体验,可能希望实时(或接近实时地)执行修改。另外,可能希望修改是独立于应用程序的。即,可能希望修改在没有生成视频数据的应用程序的参与的情况下发生(即,使得不需要在宿设备上安装生成视频数据的应用程序)。根据本公开内容的一个或多个技术,宿设备6的流传输模块22可以修改图形命令令牌,以使GPU 20渲染经修改的视频数据。
在操作中,源设备4可以接收可渲染为原始视频数据的原始图形命令令牌和一个或多个纹理元素。例如,源设备4的流传输模块14可以通过在源设备4的GPU 12的输入处捕获图形命令令牌来接收原始图形命令令牌。源设备4的流传输模块14可以经由通信信道8将包括原始图形命令令牌和一个或多个纹理元素的比特流输出到宿设备6的流传输模块22。
宿设备6的流传输模块22可以从源设备4接收原始图形命令令牌。例如,流传输模块22可以经由通信模块19无线地接收比特流。根据本公开内容的一个或多个技术,流传输模块22可以修改原始图形命令令牌以生成经修改的图形命令令牌,并且使得GPU 20执行经修改的图形命令令牌来渲染与原始视频数据不同的经修改的视频数据。以此方式,宿设备6可以(例如实时地)修改原始图形命令令牌,以使得GPU 20渲染经修改的视频数据(即,在保持与应用程序无关的同时)。
图2是示出根据本公开内容的一个或多个技术的图1的源设备4和宿设备6的一个示例的进一步细节的方块图,其中源设备4被配置为通过通信信道8将视频数据流传输到宿设备6。
如图2所示,源设备4可以包括一个或多个处理器30、一个或多个通信单元32、一个或多个用户接口(UI)设备34以及一个或多个存储设备36。组件30、32、34和36中的每一个组件可以经由用于组件间通信的通信信道38(物理地、通信地和/或可操作地)互连。在一些示例中,通信信道38可以包括系统总线、网络连接、进程间通信数据结构或用于传输数据的任何其他信道。在一些示例中,存储设备36中的一个或多个存储设备可以包括通信模块10、流传输模块14、一个或多个应用程序模块18A-18N(统称为“应用程序模块18”)和UI模块40。
在一个示例中,一个或多个处理器30(即,处理器30)被配置为实现用于在源设备4内执行的功能和/或处理指令。例如,处理器30能够处理存储在存储设备36中的一个或多个存储设备中的指令。处理器30的示例可以包括任何一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或任何其他等同的集成或分立逻辑电路,以及这些组件的任何组合。
在一些示例中,源设备4还包括一个或多个通信单元32。在一个示例中,源设备4利用一个或多个通信单元32经由一个或多个网络(诸如一个或多个无线网络)与外部设备进行通信。通信单元32中的一个或多个通信单元可以是网络接口卡,诸如以太网卡、光收发机,射频收发机或能够发送和接收信息的任何其他类型的设备。这种网络接口的其他示例可以包括蓝牙、3G和Wi-Fi无线单元。在一些示例中,源设备4利用通信单元32来与外部设备进行无线通信。例如,源设备4可以利用通信单元32通过通信信道8与宿设备6的通信单元52进行无线通信。在一些示例中,通信单元32可以从源设备4的其他组件接收输入,诸如通信模块10,其使得通信单元32与外部设备进行通信。
在一些示例中,源设备4还可以包括一个或多个UI设备34。在一些示例中,UI设备34中的一个或多个UI设备能够被配置为输出内容,诸如视频数据。例如,UI设备34的显示器可以被配置为显示由GPU 12渲染的视频数据帧。除了输出内容之外,UI设备34中的一个或多个UI设备还可以被配置为接收触觉、音频或视觉输入。UI设备34的一些示例包括视频显示器、扬声器、键盘、触摸屏、鼠标、轨迹球或其他指示设备、照相机等。
在一些示例中,源设备4还可以包括UI模块40。UI模块40能够执行一个或多个功能以接收内容,诸如来自与源设备4相关联的其他组件的UI数据,并且使得UI设备34中的一个或多个UI设备输出内容。在一些示例中,UI模块40可以被配置为接收诸如用户输入的对输入的指示,并将对输入的指示发送给与源设备4相关联的其他组件,诸如流传输模块14。
一个或多个存储设备36可以被配置为在操作期间在源设备4内存储信息。在一些示例中,存储设备36中的一个或多个存储设备可以包括计算机可读存储介质。在一些示例中,存储设备36中的一个或多个存储设备可以包括暂时性存储器,这意味着存储设备36中的一个或多个存储设备的主要目的不是长期存储。在一些示例中,存储设备36中的一个或多个存储设备可以包括易失性存储器,这意味着当系统关闭时存储设备36中的一个或多个存储设备不保存存储的内容。易失性存储器的示例包括随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)以及本领域已知的其他形式的易失性存储器。在一些示例中,存储设备36中的一个或多个存储设备被用于存储由处理器30执行的程序指令。在一个示例中,存储设备36中的一个或多个存储设备可以由运行在源设备4上的软件或模块使用(例如,通信模块10、流传输模块14、应用程序模块18和UI模块40)以在程序执行期间暂时存储信息。
在一些示例中,存储设备36中的一个或多个存储设备还可以包括一个或多个计算机可读存储介质。存储设备36中的一个或多个存储设备还可以被配置为用于长期存储信息。在一些示例中,存储设备36中的一个或多个存储设备可以包括非易失性存储元件。这种非易失性存储元件的示例包括磁硬盘、光盘、闪存或电可编程存储器(EPROM)或电可擦除可编程(EEPROM)存储器的形式。
宿设备6可以包括一个或多个处理器50(即,处理器50)、一个或多个通信单元52、一个或多个用户接口(UI)设备54以及一个或多个存储设备56。组件50、52、54和56中的每一个组件可以经由用于组件间通信的通信信道58互连(物理地、通信地和/或可操作地)。在一些示例中,通信信道58可以包括系统总线、网络连接、进程间通信数据结构或用于传输数据的任何其他信道。在一些示例中,存储设备56中的一个或多个存储设备可以包括通信模块19、流传输模块22、纹理元素24和UI模块60。
在一些示例中,处理器50可以被配置为实现用于在宿设备6内执行的功能和/或处理指令。例如,处理器50能够处理存储在存储设备56中的一个或多个存储设备中的指令。处理器50的示例可以包括任何一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或任何其他等同的集成或分立逻辑电路,以及这些组件的任何组合。
在一些示例中,宿设备6还包括一个或多个通信单元52。在一个示例中,宿设备6利用一个或多个通信单元52经由一个或多个网络(诸如一个或多个无线网络)与外部设备进行通信。通信单元52中的一个或多个通信单元可以是网络接口卡,诸如USB收发机、以太网卡、光收发机、射频收发机或能够发送和接收信息的任何其他类型的设备。这种网络接口的其他示例可以包括蓝牙、3G和Wi-Fi无线单元。在一些示例中,宿设备6利用通信单元52来与外部设备进行无线通信。例如,宿设备6可以利用通信单元52通过通信信道8与源设备4的通信单元32进行无线通信。在一些示例中,通信单元52可以将所接收的数据提供给宿设备6的其他组件,诸如通信模块19。
在一些示例中,宿设备6还可以包括一个或多个UI设备54。在一些示例中,UI设备54中的一个或多个UI设备可以被配置为输出内容,诸如视频数据。例如,UI设备54的显示器可以被配置为显示由GPU 20渲染的视频数据帧。除了输出内容之外,UI设备54中的一个或多个UI设备还可以被配置为接收触觉、音频或视觉输入。UI设备54的一些示例包括视频显示器、扬声器、键盘、触摸屏、鼠标、照相机等。
在一些示例中,宿设备6还可以包括UI模块60。UI模块60能够执行一个或多个功能以接收内容,诸如来自与宿设备6相关联的其他组件的UI数据,并且使得UI设备54中的一个或多个UI设备输出内容。在一些示例中,UI模块60可以被配置为接收诸如用户输入的对输入的指示,并将对输入的指示发送给与宿设备6相关联的其他组件,诸如流传输模块14。
一个或多个存储设备56可以被配置为在操作期间在宿设备6内存储信息。在一些示例中,存储设备56中的一个或多个存储设备可以包括计算机可读存储介质。在一些示例中,存储设备56中的一个或多个存储设备可以包括暂时性存储器,这意味着存储设备56中的一个或多个存储设备的主要目的不是长期存储。在一些示例中,存储设备56中的一个或多个存储设备可以包括易失性存储器,这意味着当系统关闭时存储设备56中的一个或多个存储设备不保存存储的内容。易失性存储器的示例包括随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)以及本领域已知的其他形式的易失性存储器。在一些示例中,存储设备56中的一个或多个存储设备被用于存储由处理器50执行的程序指令。在一个示例中,存储设备56中的一个或多个存储设备可以由运行在宿设备6上的软件或模块使用(例如,通信模块19、流传输模块22和UI模块60)以在程序执行期间暂时存储信息。
在一些示例中,存储设备56中的一个或多个存储设备还可以包括一个或多个计算机可读存储介质。存储设备56中的一个或多个存储设备还可以被配置用于长期存储信息。在一些示例中,存储设备56中的一个或多个存储设备可以包括非易失性存储元件。这种非易失性存储元件的示例包括磁硬盘、光盘、闪存或电可编程存储器(EPROM)或电可擦除可编程(EEPROM)存储器的形式。
如上所述,宿设备6可以包括流传输模块22,其可以被配置为从一个或多个外部设备接收流传输视频数据。在一些示例中,流传输模块22可以包括命令修改模块62,命令修改模块62可以被配置为修改一个或多个图形命令令牌。如下面进一步详细描述的,命令修改模块62可以修改图形命令令牌以生成可由GPU 20执行以渲染经修改的视频数据的经修改的图形命令令牌。
图3A-6是示出根据本公开内容的一个或多个方面的可由设备执行的图形命令的示例性修改的概念图。图3A和3B示出了示例性纹理元素替换修改。图4A和4B示出了示例性三维(3D)视点变化修改。图5A和5B示出了示例性高亮修改。图6示出了示例性分屏修改。为了解释的目的,在图1和2所示的宿设备6的上下文内描述图3A、3B、4A、4B、5A、5B和6的修改,尽管具有与宿设备6的配置不同的配置的计算设备可以执行图3A、3B、4A、4B、5A、5B和6的修改。
图3A和3B分别示出了基于原始图形命令令牌渲染的原始视频数据的帧302A和基于经修改的图形命令令牌渲染的经修改的视频数据的帧302B。帧302A可以被显示在诸如图2的UI设备54的显示设备的显示设备上。如图3A所示,原始视频数据的帧302A可以基于由涉及使直升机飞过各种障碍物的游戏应用程序(例如,图1和2的源设备4的应用程序模块18的应用程序模块)生成的原始图形命令令牌来渲染。为了能够渲染原始视频数据的帧302A,由游戏应用程序生成的图形命令令牌中的一个或多个图形命令令牌可以包括对直升机纹理元素304的引用。例如,由游戏应用程序生成的图形命令令牌中的一个或多个图形命令令牌可以包括对包括用于直升机纹理元素304的像素值的缓冲区的引用(例如,glTexImage2D或glTexSubImage2D图形命令可以包括向缓冲区的指针)。
如上所述,宿设备6的流传输模块22可以从源设备4接收原始图形命令令牌。根据本公开内容的一个或多个技术,宿设备6可以通过替换包括在原始视频数据中的一个或多个纹理元素来修改原始视频数据。例如,命令修改模块62可以修改由游戏应用程序生成的一个或多个图形命令令牌,以通过将图形命令令牌中对原始纹理元素的引用替换为对不同于原始纹理元素的替换纹理元素的引用来生成经修改的图形命令令牌。在一些示例中,替换纹理元素可以被包括在纹理元素24中。例如,命令修改模块62可以利用替换纹理元素的像素值来修改缓冲区中原始纹理元素的像素值。作为一个示例,命令修改模块62可以利用替换纹理元素的像素值来覆盖由glTexImage2D或glTexSubImage2D图形命令所指向的缓冲区中的像素值。
在图3A和3B的示例中,当生成经修改的图形命令令牌时,命令修改模块62可以将图形命令令牌中对直升机纹理元素304的引用替换为对龙纹理元素306的引用。如图3B所示,通过将对直升机纹理元素304的引用替换为对龙纹理元素306的引用,命令修改模块62可以使得GPU 20用龙纹理元素306代替直升机纹理元素304来渲染经修改的视频数据的帧302B。
在一些示例中,宿设备6可以通过改变一个或多个纹理元素的语言来修改原始视频数据。例如,宿设备6可以对由原始图形命令令牌引用的原始纹理元素执行光学字符识别(OCR),以确定原始纹理元素是否包括文本。如果宿设备6的用户选择的语言不同于原始纹理元素中包括的文本,则宿设备6可以生成包括将文本翻译为宿设备6的用户选择的语言的替换纹理元素,以及如上所述用对替换纹理元素的引用来替换对原始纹理元素的引用。
图4A和4B分别示出了基于原始图形命令令牌渲染的原始视频数据的帧402A和基于经修改的图形命令令牌渲染的经修改的视频数据的帧402B。如图4A所示,原始视频数据的帧402A可以基于由涉及三维(3D)饼图对象403的呈现的呈现应用程序(例如,图1和2的应用程序模块18的应用程序模块)生成的原始图形命令令牌来渲染。为了能够渲染原始视频数据的帧402A,由呈现应用程序生成的图形命令令牌中的一个或多个图形命令令牌可以使3D饼图对象403在第一视点404A处被渲染。
如上所述,宿设备6的流传输模块22可以从源设备4接收原始图形命令令牌。根据本公开内容的一个或多个技术,宿设备6可以通过调整在其上渲染3D对象的视点来修改原始视频数据。例如,在原始图形命令令牌可执行以渲染包括从第一视点呈现3D对象的原始视频数据的情况下,命令修改模块62可以通过生成经修改的图形命令令牌来修改一个或多个图形命令令牌,经修改的图形命令令牌可执行以渲染经修改的视频数据以包括从与第一视点不同的第二视点呈现3D对象。例如,命令修改模块62可以检测包括对3D对象的变换矩阵的图形命令(例如,glUniformMatrix4fv命令中的一个命令),并将变换矩阵乘以期望的变换。作为一个示例,如果所需视点变化在x、y、z方向上缩放3(用于放大对象),则命令修改模块62可以将该转换矩阵乘以[3 0 0 0;0 3 0 0;0 0 3 0;0 0 0 1]。
在图4A和4B的示例中,命令修改模块62可以生成经修改的图形命令令牌,其使得3D饼图对象403在第二视点404B处被渲染。如图4B所示,通过生成使得3D饼图对象403在第二视点404B处被渲染的经修改的图形命令令牌,命令修改模块62可以使得GPU 20用与原始视频数据的帧402A中的不同视点处的3D饼图对象403来渲染经修改的视频数据的帧402B。
图5A和5B分别示出了基于原始图形命令令牌渲染的原始视频数据的帧502A和基于经修改的图形命令令牌渲染的经修改的视频数据的帧502B。如图5A所示,原始视频数据的帧502A可以基于由涉及包括方块506A-506C(统称为“方块506”)的流程图504的呈现的呈现应用程序(例如,图1和2的应用程序模块18的应用程序模块)生成的原始图形命令令牌来渲染。
如上所述,宿设备6的流传输模块22可以从源设备4接收原始图形命令令牌。根据本公开内容的一个或多个技术,宿设备6可以通过高亮原始视频数据的一个或多个区域来修改原始视频数据。例如,命令修改模块62可以通过生成经修改的图形命令令牌来修改原始图形命令令牌,经修改的图形命令令牌可执行以渲染包括覆盖在原始视频数据上的高亮区的经修改的视频数据。作为一个示例,在原始图形命令令牌可执行以将原始视频数据渲染为原始纹理元素的图块的情况下,命令修改模块62可以用包括高亮区覆盖的替换纹理元素的像素值来修改由原始图形命令令牌中的一个或多个原始图形命令令牌参考的缓冲区中的原始纹理元素的一个或多个原始纹理元素的像素值。
在图5A和5B的示例中,命令修改模块62可以生成经修改的图形命令令牌,其使得高亮框508在流程图504的方块506A的上面被渲染。如图5B所示,通过生成使得高亮框508在流程图504的方块506A的上面被渲染的经修改的图形命令令牌,命令修改模块62可以使得GPU 20用对方块506A的额外突出来渲染经修改的视频数据的帧502B。
图6示出了基于经修改的图形命令令牌渲染的经修改的视频数据的帧602。如上所述,宿设备6的流传输模块22可以从源设备4接收原始图形命令令牌。根据本公开内容的一个或多个技术,与呈现经修改的视频数据的帧的单个版本相反,宿设备6可以在单个显示设备处同时呈现视频数据帧的多个版本。例如,命令修改模块62可以生成经修改的图形命令令牌的一个或多个集合,并且使得GPU 20执行经修改的图形命令令牌的一个或多个集合,以在经修改的视频数据的单个帧的不同区域处渲染经修改的视频数据的一个或多个版本。
在图6的示例中,命令修改模块62可以接收一个或多个原始图形命令令牌,该原始图形命令令牌可执行以渲染包括流程图604的方块606A-606C(统称为“方块606”)的原始视频数据的帧614。命令修改模块62可以修改原始图形命令令牌来生成经修改的图形命令令牌的第一集合、经修改的图形命令令牌的第二集合以及经修改的图形命令令牌的第三集合,所述经修改的图形命令令牌的第一集合可执行以渲染包括在方块606A上方具有高亮框608的方块606的经修改的视频数据的帧615A,所述经修改的图形命令令牌的第二集合可执行以渲染包括在方块606B上方具有高亮框608的方块606的经修改的视频数据的帧615B,所述经修改的图形命令令牌的第三集合可执行以渲染包括在方块606C上方具有高亮框608的方块606的经修改的视频数据的帧615C。
命令修改模块62可以将图形命令令牌的原始集合以及经修改的图形命令令牌的第一、第二和第三集合组合起来,并且使得GPU 20执行经修改的图形命令令牌的一个或多个集合来渲染经修改的视频数据的单个帧。如图6所示,命令修改模块62可以组合图形命令令牌的集合,使得GPU 20在帧602的左上角四分之一中渲染原始视频数据的帧614A,在帧602的右上角四分之一中渲染经修改的视频数据的帧615A,在帧602的左下角四分之一中渲染帧615B以及在帧602的右下角四分之一中渲染帧615C。以这种方式,命令修改模块62可以从原始图形命令令牌的单个集合(即,从单个比特流)生成经修改的图形命令令牌的多个集合。
应该理解的是,参照图3A-6所描述的修改仅是示例,并且其他类型的修改是可能的。作为一个示例,宿设备6可以修改图形命令令牌,使得用图像处理点操作(例如,诸如灰度、模糊、锐化等的颜色转换)来渲染经修改的视频数据。作为另一示例,宿设备6可以修改图形命令令牌,使得经修改的视频数据是利用使用一个或多个图像处理滤镜(例如一个或多个照相滤镜(例如,类似Instagram的滤镜))所处理的外观来渲染的。作为另一示例,宿设备6可以修改图形命令令牌以执行分辨率改变(例如,以更大的分辨率渲染,部分覆盖显示器以允许多个应用程序等)。
在一些示例中,由宿设备6执行的修改可以用于任何应用程序(例如,灰度效果)。在一些示例中,由宿设备6执行的修改可以是特定于应用程序的(例如,改变特定应用程序中的特定对象的3D视点)。由宿设备6执行的修改能够是部分或针对整个视图的(例如,在Adobe Reader中对PDF文档的图形添加效果,但不对文本添加效果)。由宿设备6执行的修改能够是自适应的(例如,如果由公司雇员查看,则在宿设备的显示器上的网页浏览器输出可以包括整个网页,但是如果客人查看,则可能模糊某些部分)。
图7是示出根据本公开内容的一个或多个技术的宿设备处理视频数据的示例性操作的流程图。图7的技术可以由诸如图1和2中所示的宿设备6的计算设备的一个或多个处理器执行。为了说明的目的,在图1和2中所示的宿设备6的上下文内描述图7的技术,尽管具有与宿设备6的配置不同的配置的计算设备可以执行图7的技术。
根据本公开内容的一个或多个技术,宿设备6可以从源设备接收可执行以渲染原始视频数据的图形命令令牌(702)。例如,宿设备6的处理器50中的一个或多个处理器可以执行流传输模块22以从诸如源设备4的源设备无线地接收包括图形命令令牌的比特流。在一些示例中,由宿设备6接收的比特流也可以包括一个或多个纹理元素。
宿设备6可以修改图形命令令牌以生成经修改的图形命令令牌(704)。例如,处理器50中的一个或多个处理器可以执行命令修改模块62以生成可执行以渲染经修改的视频数据的经修改的图形命令令牌。在一些示例中,处理器50中的一个或多个处理器可以执行命令修改模块62,以通过修改包括在接收到的比特流中的图形命令令牌来生成经修改的图形命令令牌。在一些示例中,处理器50中的一个或多个处理器可以执行命令修改模块62,以通过将附加的图形命令令牌插入到接收到的比特流中来生成经修改的图形命令令牌。在一些示例中,原始视频数据和经修改的视频数据可以是视频数据帧的序列。在一些示例中,原始视频数据和经修改的视频数据可以是视频数据的单个帧。
处理器50中的一个或多个处理器可以执行命令修改模块62以执行各种各样的修改。可以执行命令修改模块62以进行执行的一些示例性修改包括但不限于:替换纹理元素(例如,图3A和3B的示例)、对于3D对象的视点变化(例如,图4A和4B的示例)、图像处理点操作(例如,图5A和5B的示例)、具有艺术效果的图像处理滤镜以及分辨率改变。
在任何情况下,宿设备6可以执行经修改的图形命令令牌来渲染经修改的视频数据(706),并输出经修改的视频数据以用于在显示器上呈现(708)。例如,处理器50中的一个或多个处理器可以执行命令修改模块62以使宿设备6的GPU 20执行经修改的图形命令令牌以渲染经修改的视频数据并在宿设备6的UI设备54的显示器上输出经渲染的经修改的视频数据。
以下编号的示例可以说明本公开内容的一个或多个方面:
示例1。一种用于处理视频数据的方法,其包括:由宿设备从源设备接收一个或多个图形命令令牌,该一个或多个图形命令令牌可执行以基于一个或多个纹理元素渲染原始视频数据;由宿设备修改图形命令令牌以生成经修改的图形命令令牌,该经修改的图形命令令牌可执行以渲染与所述原始视频数据不同的经修改的视频数据;以及输出经修改的视频数据以用于在可操作地连接到宿设备的显示器处呈现。
示例2。根据示例1的方法,其中,接收图形命令令牌包括:从源设备无线地接收图形命令令牌。
示例3。根据示例1-2的任何组合的方法,还包括:利用与一个或多个所接收的纹理元素不同的一个或多个替换纹理元素,来替换所接收的纹理元素中的一个或多个所接收的纹理元素,使得经修改的视频数据基于一个或多个替换纹理元素。
示例4。根据示例1-3的任何组合的方法,其中,原始视频数据包括来根据第一视点的三维(3D)对象的表示,并且其中,修改图形命令令牌包括:修改图形命令令牌,使得经修改的视频数据包括根据不同于第一视点的第二视点的3D对象的表示。
示例5。根据示例1-4的任何组合的方法,其中,修改图形命令令牌以生成可执行以渲染经修改的视频数据的经修改的图形命令令牌包括:修改图形命令令牌以生成可执行以渲染第一经修改的视频数据的第一经修改的图形命令令牌,并且其中,输出经修改的视频数据包括:输出第一经修改的视频数据以用于在显示器的第一部分处呈现,方法还包括:修改图形命令令牌以生成可执行以渲染不同于原始视频数据和第一经修改的视频数据的第二经修改的视频数据的第二经修改的图形命令令牌;以及输出第二经修改的视频数据以用于在显示器的不同于第一部分的第二部分处呈现。
示例6。根据示例1-5的任何组合的方法,其中,生成经修改的图形命令令牌包括:生成经修改的图形命令令牌,使得经修改的视频数据是利用使用照相滤镜所处理的外观来渲染的。
示例7。根据示例1-6的任何组合的方法,其中,修改图形命令令牌包括实时修改图形命令令牌。
示例8。一种宿设备,其包括:通信单元,其被配置为从源设备接收图形命令令牌,该图形命令令牌可执行以基于一个或多个纹理元素渲染原始视频数据;以及一个或多个处理器,其被配置为执行示例1-7的任何组合的方法。
示例9。一种宿设备,其包括用于执行示例1-7的任意组合的方法的单元。
示例10。一种存储指令的计算机可读存储介质,指令在被执行时使宿设备的一个或多个处理器执行示例1-7的任何组合的方法。
应该认识到,取决于示例,本文描述的任何技术的某些动作或事件能够以不同的顺序执行,可以被添加、合并或完全省略(例如,并非全部描述的操作或事件是技术实践所必需的)。而且,在某些示例中,可以例如通过多线程处理、中断处理或多个处理器同时而不是顺序地执行动作或事件。
在一个或多个示例中,所描述的功能可以在硬件、软件、固件或其任何组合中来实现。如果以软件实现,则可以将这些功能作为一个或多个指令或代码存储在计算机可读介质上或通过计算机可读介质进行传输,并由基于硬件的处理单元执行。计算机可读介质可以包括计算机可读存储介质(其对应于诸如数据存储介质的实体介质)或通信介质,通信介质包括有助于例如根据通信协议将计算机程序从一个地方发送到另一个地方的任何介质。以此方式,计算机可读介质通常可对应于(1)非暂时性的实体计算机可读存储介质或(2)诸如信号或载波的通信介质。数据存储介质可以是能够由一个或多个计算机或一个或多个处理器存取以提取用于实现本公开内容中所描述的技术的指令、代码和/或数据结构的任何可用介质。计算机程序产品可以包括计算机可读介质。
示例性而非限制性地,这种计算机可读存储介质能够包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储器、磁盘存储器或其他磁存储设备、闪存或能够用于以指令或数据结构的形式存储所需程序代码模块并且能够被计算机存取的任何其他介质。此外,任何连接被适当地称为计算机可读介质。例如,如果使用同轴电缆、光纤电缆、双绞线、数字用户线(DSL)或诸如红外、无线电和微波的无线技术从网站、服务器或其他远程源发送指令,则同轴电缆、光纤电缆、双绞线、DSL或诸如红外、无线电和微波的无线技术包括在介质的定义中。然而,应该理解的是,计算机可读存储介质和数据存储介质不包括连接、载波、信号或其它暂时性介质,而是针对非暂时性实体存储介质。如本文所使用的磁盘和光盘包括压缩光盘(CD)、激光光盘、光盘、数字通用光盘(DVD)、软盘和蓝光光盘,其中,磁盘通常磁性地再现数据,而光盘用激光光学地再现数据。上述的组合也应当包括在计算机可读介质的范围内。
指令可以由一个或多个处理器执行,诸如一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其他等同的集成或分立逻辑电路。因此,如本文所使用的术语“处理器”可以指任何前述结构或适合于实施本文所描述的技术的任何其它结构。另外,在一些方面,本文描述的功能可以在被配置用于编码和解码的专用硬件和/或软件模块内提供,或并入到组合编解码器中。而且,这些技术可以完全在一个或多个电路或逻辑元件中实现。
本公开内容的技术可以在包括无线手持设备、集成电路(IC)或一组IC(例如,芯片组)的各种设备或装置中实现。在本公开内容中描述了各种组件、模块或单元以强调被配置为执行所公开的技术的设备的功能方面,但是不一定需要通过不同的硬件单元来实现。相反,如上所述,可以将各种单元组合在编解码器硬件单元中,或者通过包括如上所述的一个或多个处理器的互操作硬件单元的集合结合合适的软件和/或固件来提供。
已经描述了各种示例。这些和其他示例在以下权利要求的范围内。

Claims (29)

1.一种用于处理视频数据的方法,包括:
由宿设备从源设备接收可执行以渲染原始视频数据的一个或多个图形命令令牌;
由所述宿设备修改所述图形命令令牌以生成经修改的图形命令令牌,所述经修改的图形命令令牌可执行以渲染与所述原始视频数据不同的经修改的视频数据;以及
输出所述经修改的视频数据以用于在可操作地连接到所述宿设备的显示器处呈现。
2.根据权利要求1所述的方法,其中,接收所述图形命令令牌包括:
从所述源设备无线地接收所述图形命令令牌。
3.根据权利要求1所述的方法,还包括:
由所述宿设备从所述源设备接收一个或多个纹理元素,其中,所接收的一个或多个图形命令令牌可执行以基于所接收的一个或多个纹理元素来渲染所述原始数据;以及
利用与一个或多个所接收的纹理元素不同的一个或多个替换纹理元素,来替换所接收的纹理元素中的一个或多个所接收的纹理元素,使得所述经修改的视频数据是基于所述一个或多个替换纹理元素的。
4.根据权利要求1所述的方法,其中,所述原始视频数据包括根据第一视点的三维(3D)对象的表示,并且其中,修改所述图形命令令牌包括:
修改所述图形命令令牌,使得所述经修改的视频数据包括根据不同于所述第一视点的第二视点的所述3D对象的表示。
5.根据权利要求1所述的方法,其中,修改所述图形命令令牌以生成可执行以渲染经修改的视频数据的经修改的图形命令令牌包括:修改所述图形命令令牌以生成可执行以渲染第一经修改的视频数据的第一经修改的图形命令令牌,并且其中,输出所述经修改的视频数据包括:输出所述第一经修改的视频数据以用于在所述显示器的第一部分处呈现,所述方法还包括:
修改所述图形命令令牌以生成可执行以渲染不同于所述原始视频数据和所述第一经修改的视频数据的第二经修改的视频数据的第二经修改的图形命令令牌;以及
输出所述第二经修改的视频数据以用于在所述显示器的不同于所述第一部分的第二部分处呈现。
6.根据权利要求1所述的方法,其中,生成所述经修改的图形命令令牌包括:
生成所述经修改的图形命令令牌,使得所述经修改的视频数据是利用使用照相滤镜所处理的外观来渲染的。
7.根据权利要求1所述的方法,其中,修改所述图形命令令牌包括实时修改所述图形命令令牌。
8.一种宿设备,包括:
通信单元,其被配置为从源设备接收可执行以渲染原始视频数据的图形命令令牌;以及
一个或多个处理器,其被配置为:
修改所述图形命令令牌以生成经修改的图形命令令牌,所述经修改的图形命令令牌可执行以渲染经修改的视频数据;以及
输出所述经修改的视频数据以用于在可操作地连接到所述宿设备的显示器处呈现。
9.根据权利要求8所述的宿设备,其中,为了接收所述图形命令令牌,所述通信单元被配置为:
从所述源设备无线地接收所述图形命令令牌。
10.根据权利要求8所述的宿设备,其中,所述通信单元还被配置为接收一个或多个纹理元素,其中,所接收的一个或多个图形命令令牌可执行以基于所接收的一个或多个纹理元素来渲染所述原始数据;并且其中,所述一个或多个处理器还被配置为:
利用与一个或多个所接收的纹理元素不同的一个或多个替换纹理元素,来替换所接收的纹理元素中的一个或多个所接收的纹理元素,使得所述经修改的视频数据是基于所述一个或多个替换纹理元素的。
11.根据权利要求8所述的宿设备,其中,所述原始视频数据包括根据第一视点的三维(3D)对象的表示,并且其中,为了修改所述图形命令令牌,所述一个或多个处理器被配置为:
修改所述图形命令令牌,使得所述经修改的视频数据包括根据不同于所述第一视点的第二视点的所述3D对象的表示。
12.根据权利要求8所述的宿设备,其中,为了修改所述图形命令令牌以生成可执行以渲染经修改的视频数据的经修改的图形命令令牌,所述一个或多个处理器被配置为:修改所述图形命令令牌以生成可执行以渲染第一经修改的视频数据的第一经修改的图形命令令牌,并且其中,为了输出所述经修改的视频数据,所述一个或多个处理器被配置为:输出所述第一经修改的视频数据以用于在所述显示器的第一部分处呈现,并且其中,所述一个或多个处理器还被配置为:
修改所述图形命令令牌以生成可执行以渲染不同于所述原始视频数据和所述第一经修改的视频数据的第二经修改的视频数据的第二经修改的图形命令令牌;以及
输出所述第二经修改的视频数据以用于在所述显示器的不同于所述第一部分的第二部分处呈现。
13.根据权利要求8所述的宿设备,其中,为了生成所述经修改的图形命令令牌,所述一个或多个处理器被配置为:
生成所述经修改的图形命令令牌,使得所述经修改的视频数据是利用使用照相滤镜所处理的外观来渲染的。
14.根据权利要求8所述的宿设备,其中,为了修改所述图形命令令牌,所述一个或多个处理器被配置为实时修改所述图形命令令牌。
15.根据权利要求8所述的宿设备,还包括存储指令的存储器,所述指令在被执行时配置所述一个或多个处理器以执行以下操作:
修改所述图形命令令牌;以及
输出所述经修改的视频数据。
16.一种宿设备,包括:
用于从源设备接收可执行以渲染原始视频数据的一个或多个图形命令令牌的单元;
用于修改所述图形命令令牌以生成经修改的图形命令令牌的单元,所述经修改的图形命令令牌可执行以渲染与所述原始视频数据不同的经修改的视频数据;以及
用于输出所述经修改的视频数据以用于在可操作地连接到所述宿设备的显示器处呈现的单元。
17.根据权利要求16所述的宿设备,其中,所述用于接收所述图形命令令牌的单元包括:
用于从所述源设备无线地接收所述图形命令令牌的单元。
18.根据权利要求16所述的宿设备,还包括:
用于从所述源设备接收一个或多个纹理元素的单元,其中,所接收的一个或多个图形命令令牌可执行以基于所接收的一个或多个纹理元素渲染所述原始数据;以及
用于利用与一个或多个所接收的纹理元素不同的一个或多个替换纹理元素,来替换所接收的纹理元素中的一个或多个所接收的纹理元素,使得所述经修改的视频数据是基于所述一个或多个替换纹理元素的单元。
19.根据权利要求16所述的宿设备,其中,所述原始视频数据包括根据第一视点的三维(3D)对象的表示,并且其中,用于修改所述图形命令令牌的单元包括:
用于修改所述图形命令令牌,使得所述经修改的视频数据包括根据不同于所述第一视点的第二视点的所述3D对象的表示的单元。
20.根据权利要求16所述的宿设备,其中,所述用于修改所述图形命令令牌以生成可执行以渲染经修改的视频数据的经修改的图形命令令牌的单元包括:用于修改所述图形命令令牌以生成可执行以渲染第一经修改的视频数据的第一经修改的图形命令令牌的单元,并且其中,所述用于输出所述经修改的视频数据的单元包括用于输出所述第一经修改的视频数据以用于在所述显示器的第一部分处呈现的单元,所述宿设备还包括:
用于修改所述图形命令令牌以生成可执行以渲染不同于所述原始视频数据和所述第一经修改的视频数据的第二经修改的视频数据的第二经修改的图形命令令牌的单元;以及
用于输出所述第二经修改的视频数据以用于在所述显示器的不同于所述第一部分的第二部分处呈现的单元。
21.根据权利要求16所述的宿设备,其中,所述用于生成所述经修改的图形命令令牌的单元包括:
用于生成所述经修改的图形命令令牌,使得所述经修改的视频数据是利用使用照相滤镜所处理的外观来渲染的单元。
22.根据权利要求16所述的宿设备,其中,所述用于修改所述图形命令令牌的单元包括用于实时修改所述图形命令令牌的单元。
23.一种存储指令的计算机可读存储介质,所述指令在被执行时使宿设备的一个或多个处理器执行以下操作:
从源设备接收可执行以渲染原始视频数据的一个或多个图形命令令牌;
修改所述图形命令令牌以生成经修改的图形命令令牌,所述经修改的图形命令令牌可执行以渲染与所述原始视频数据不同的经修改的视频数据;以及
输出所述经修改的视频数据以用于在可操作地连接到所述宿设备的显示器处呈现。
24.根据权利要求23所述的计算机可读存储介质,其中,所述使所述一个或多个处理器接收所述图形命令令牌的指令包括使所述一个或多个处理器执行以下操作的指令:从所述源设备无线地接收所述图形命令令牌。
25.根据权利要求23所述的计算机可读存储介质,还包括使所述一个或多个处理器执行以下操作的指令:
从所述源设备接收一个或多个纹理元素,其中,所接收的一个或多个图形命令令牌可执行以基于所接收的一个或多个纹理元素来渲染所述原始数据;以及
利用与一个或多个所接收的纹理元素不同的一个或多个替换纹理元素,来替换所接收的纹理元素中的一个或多个所接收的纹理元素,使得所述经修改的视频数据是基于所述一个或多个替换纹理元素的。
26.根据权利要求23所述的计算机可读存储介质,其中,所述原始视频数据包括根据第一视点的三维(3D)对象的表示,并且其中,所述使所述一个或多个处理器修改所述图形命令令牌的指令包括使所述一个或多个处理器执行以下操作的指令:
修改所述图形命令令牌,使得所述经修改的视频数据包括根据不同于所述第一视点的第二视点的所述3D对象的表示。
27.根据权利要求23所述的计算机可读存储介质,其中,所述使所述一个或多个处理器修改所述图形命令令牌以生成可执行以渲染经修改的视频数据的经修改的图形命令令牌的指令包括使所述一个或多个处理器执行以下操作的指令:修改所述图形命令令牌以生成可执行以渲染第一经修改的视频数据的第一经修改的图形命令令牌,并且其中,所述使所述一个或多个处理器输出所述经修改的视频数据的指令包括使所述一个或多个处理器执行以下操作的指令:输出所述第一经修改的视频数据以用于在所述显示器的第一部分处呈现,以及还包括使所述一个或多个处理器执行以下操作的指令:
修改所述图形命令令牌以生成可执行以渲染不同于所述原始视频数据和所述第一经修改的视频数据的第二经修改的视频数据的第二经修改的图形命令令牌;以及
输出所述第二经修改的视频数据以用于在所述显示器的不同于所述第一部分的第二部分处呈现。
28.根据权利要求23所述的计算机可读存储介质,其中,所述使所述一个或多个处理器生成所述经修改的图形命令令牌的指令包括使所述一个或多个处理器执行以下操作的指令:
生成所述经修改的图形命令令牌,使得所述经修改的视频数据是利用使用照相滤镜所处理的外观来渲染的。
29.根据权利要求23所述的计算机可读存储介质,其中,所述使所述一个或多个处理器修改所述图形命令令牌的指令包括使所述一个或多个处理器执行以下操作的指令:实时修改所述图形命令令牌。
CN201680050630.7A 2015-09-03 2016-08-08 图形命令令牌的修改 Active CN108027715B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/845,082 US9911175B2 (en) 2015-09-03 2015-09-03 Modification of graphical command tokens
US14/845,082 2015-09-03
PCT/US2016/046042 WO2017039970A1 (en) 2015-09-03 2016-08-08 Modification of graphical command tokens

Publications (2)

Publication Number Publication Date
CN108027715A true CN108027715A (zh) 2018-05-11
CN108027715B CN108027715B (zh) 2019-05-28

Family

ID=56802672

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680050630.7A Active CN108027715B (zh) 2015-09-03 2016-08-08 图形命令令牌的修改

Country Status (6)

Country Link
US (1) US9911175B2 (zh)
EP (1) EP3345084A1 (zh)
JP (1) JP6395971B1 (zh)
KR (1) KR101882164B1 (zh)
CN (1) CN108027715B (zh)
WO (1) WO2017039970A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11405657B1 (en) * 2021-05-04 2022-08-02 International Business Machines Corporation Remote virtual reality viewing of an event using crowdsourcing
JP7088400B1 (ja) 2021-12-22 2022-06-21 凸版印刷株式会社 コンテンツ管理システム、コンテンツ管理方法、及びプログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998014906A1 (fr) * 1996-10-02 1998-04-09 Nippon Telegraph And Telephone Corporation Procede et appareil d'affichage graphique de structure hierarchique
US6222558B1 (en) * 1990-11-20 2001-04-24 David A. Berg System and method for efficiently transmitting and processing object information between and among a plurality of networked computers
CN103403649A (zh) * 2011-01-21 2013-11-20 高通股份有限公司 用于无线显示器的用户输入返回信道
CN104137559A (zh) * 2012-02-28 2014-11-05 高通股份有限公司 在无线显示系统中的宿设备处的定制回放

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8745173B1 (en) 2011-12-30 2014-06-03 hopTo Inc. Client computing system for and method of receiving cross-platform remote access to 3D graphics applications
US6263101B1 (en) * 1995-09-01 2001-07-17 Cerulean Colorization Llc Filtering in picture colorization
US7027062B2 (en) 2004-02-27 2006-04-11 Nvidia Corporation Register based queuing for texture requests
US8626440B2 (en) * 2005-04-18 2014-01-07 Navteq B.V. Data-driven 3D traffic views with the view based on user-selected start and end geographical locations
JP5579073B2 (ja) * 2007-11-16 2014-08-27 トムソン ライセンシング ストリーミング・メディアのセッション管理を行なうシステムおよび方法
US20110292181A1 (en) * 2008-04-16 2011-12-01 Canesta, Inc. Methods and systems using three-dimensional sensing for user interaction with applications
JP5773608B2 (ja) * 2010-10-16 2015-09-02 キヤノン株式会社 映像配信装置、撮像装置、映像配信システム、映像配信方法、映像配信プログラム
US8964783B2 (en) 2011-01-21 2015-02-24 Qualcomm Incorporated User input back channel for wireless displays
US8674957B2 (en) 2011-02-04 2014-03-18 Qualcomm Incorporated User input device for wireless back channel
US9503771B2 (en) 2011-02-04 2016-11-22 Qualcomm Incorporated Low latency wireless display for graphics
US9256408B2 (en) 2012-01-20 2016-02-09 Qualcomm Incorporated Optimizing texture commands for graphics processing unit
JP5875463B2 (ja) * 2012-05-21 2016-03-02 キヤノン株式会社 撮像装置、マスク画像設定方法、および、プログラム
US20140333639A1 (en) 2013-05-13 2014-11-13 Qnx Software Systems Limited System and method for forwarding a graphics command stream

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6222558B1 (en) * 1990-11-20 2001-04-24 David A. Berg System and method for efficiently transmitting and processing object information between and among a plurality of networked computers
WO1998014906A1 (fr) * 1996-10-02 1998-04-09 Nippon Telegraph And Telephone Corporation Procede et appareil d'affichage graphique de structure hierarchique
CN103403649A (zh) * 2011-01-21 2013-11-20 高通股份有限公司 用于无线显示器的用户输入返回信道
CN104137559A (zh) * 2012-02-28 2014-11-05 高通股份有限公司 在无线显示系统中的宿设备处的定制回放

Also Published As

Publication number Publication date
WO2017039970A1 (en) 2017-03-09
KR101882164B1 (ko) 2018-07-25
CN108027715B (zh) 2019-05-28
KR20180039730A (ko) 2018-04-18
US9911175B2 (en) 2018-03-06
EP3345084A1 (en) 2018-07-11
JP2018534648A (ja) 2018-11-22
US20170069053A1 (en) 2017-03-09
JP6395971B1 (ja) 2018-09-26

Similar Documents

Publication Publication Date Title
CN107633218B (zh) 用于生成图像的方法和装置
US9589357B2 (en) Avatar-based video encoding
CN105051792B (zh) 用于使用深度映射和光源合成增强3d图像的设备
CN109791431B (zh) 视点渲染
CN106575158B (zh) 环境映射虚拟化机构
CN107209693A (zh) 缓冲器优化
JP6328848B2 (ja) 遅延分離シェーディングのための技術
US11481586B2 (en) Electronic apparatus and controlling method thereof
US9251731B2 (en) Multi-sampling anti-aliasing compression by use of unreachable bit combinations
CN107660338A (zh) 对象的立体显示
CN110012460B (zh) 使用物理接近的安全通信
CN105224165A (zh) 为计算装置上部分模糊图形图像促进动态和有效的预启动裁剪
CN104184791B (zh) 图像效果提取
US20150271433A1 (en) Image matching-based pointing techniques
TW201926968A (zh) 程式、資訊處理方法及資訊處理裝置
CN108027715B (zh) 图形命令令牌的修改
DE112013004920T5 (de) Polygonrasterisierung mit reduzierter Bitanzahl
US11451721B2 (en) Interactive augmented reality (AR) based video creation from existing video
US10152818B2 (en) Techniques for stereo three dimensional image mapping
WO2023065961A1 (zh) 视频植入方法、装置、设备及计算机可读存储介质
CN111383289A (zh) 图像处理方法、装置、终端设备及计算机可读存储介质
CN111260756A (zh) 用于发送信息的方法和装置
KR20220036061A (ko) 전자 장치, 그 제어 방법 및 전자 시스템
DE112011105994T9 (de) Techniken für die Ratenregelung eines Anzeigedatenstroms
US11074885B2 (en) Facilitating efficient detection of patterns in graphics display streams prior to their display at computing devices

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