CN109426473A - 无线可编程媒体处理系统 - Google Patents

无线可编程媒体处理系统 Download PDF

Info

Publication number
CN109426473A
CN109426473A CN201710744954.7A CN201710744954A CN109426473A CN 109426473 A CN109426473 A CN 109426473A CN 201710744954 A CN201710744954 A CN 201710744954A CN 109426473 A CN109426473 A CN 109426473A
Authority
CN
China
Prior art keywords
block
compressed
thread
chunking
frame
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
CN201710744954.7A
Other languages
English (en)
Other versions
CN109426473B (zh
Inventor
刘云新
张健松
张霖涛
T·莫斯希布罗达
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Priority to CN202310883212.8A priority Critical patent/CN116774961A/zh
Priority to CN201710744954.7A priority patent/CN109426473B/zh
Priority to PCT/US2018/040666 priority patent/WO2019040187A1/en
Priority to EP18749663.3A priority patent/EP3649637A1/en
Priority to US16/635,628 priority patent/US11501740B2/en
Publication of CN109426473A publication Critical patent/CN109426473A/zh
Priority to US17/986,683 priority patent/US11893963B2/en
Application granted granted Critical
Publication of CN109426473B publication Critical patent/CN109426473B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • 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
    • 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/39Control of the bit-mapped memory
    • G09G5/395Arrangements specially adapted for transferring the contents of the bit-mapped memory to the screen
    • G09G5/397Arrangements specially adapted for transferring the contents of two or more bit-mapped memories to the screen simultaneously, e.g. for mixing or overlay
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2320/00Control of display operating conditions
    • G09G2320/02Improving the quality of display appearance
    • G09G2320/0252Improving the response speed
    • 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/02Handling of images in compressed format, e.g. JPEG, MPEG
    • 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/14Solving problems related to the presentation of information to be displayed
    • 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
    • G09G2352/00Parallel handling of streams of display data
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/06Use of more than one graphics processor to process data before displaying to one or more screens
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/08Power processing, i.e. workload management for processors involved in display operations, such as CPUs or GPUs
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/12Frame memory handling
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/12Frame memory handling
    • G09G2360/121Frame memory handling using a cache memory
    • 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/02Networking aspects
    • G09G2370/022Centralised management of display operation, e.g. in a server instead of locally
    • 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/06Consumer Electronics Control, i.e. control of another device by a display or vice versa
    • 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)
  • Computer Graphics (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Information Transfer Between Computers (AREA)
  • Digital Computer Display Output (AREA)

Abstract

本公开的实施例涉及无线可编程媒体处理系统。在该媒体处理系统中,计算设备中的处理单元基于用于计算设备上运行的应用的图形内容生成待显示的帧。此后,待显示的帧被划分成多组块,这些组块被压缩。经过压缩的图形块通过无线链路从处理单元被发送给图形显示设备。以此方式,待显示的帧的生成和压缩可以均在计算设备的同一处理单元中被完成,避免了数据复制,简化了处理操作,从而显著提高了数据处理速度和效率。

Description

无线可编程媒体处理系统
背景技术
虚拟现实(VR)可以模拟真实世界的图像、声音、触感等等,为用户创建身临其境般的虚拟环境。本文中的VR可以包括增强现实(AR)。VR系统通常由诸如个人计算机(PC)的计算设备和诸如头盔式显示器(HMD)的图形显示设备组成。借助于计算设备以高帧速率和高视觉品质对丰富图形内容进行渲染,图形显示设备可以为用户提供高质量的VR体验。
传统上,计算设备和图像显示设备通常通过线缆连接。例如,图形显示设备可以经由高清多媒体接口(HDMI)线连接到计算设备,以便从计算设备接收图形内容。图形显示设备还可以经由通用串行总线(USB)线将诸如传感器数据等数据送到计算设备。然而,这些线缆一方面限制了用户的移动,另一方面可能会给用户造成危害,例如可能会将用户绊倒,或者缠住用户脖子。
发明内容
本公开的实施例不同于简单地在计算设备和图形显示设备之间提供无线传输接口的传统无线媒体处理系统,提出了一种新的图形处理流程,以提高无线媒体处理系统在处理效率和延迟方面的性能。
根据本公开的实施例,在计算设备中的处理单元处,基于用于运行于计算设备上的应用的图形内容生成了待显示的帧。待显示的帧被分成多组块,这些组块被压缩。继而,经压缩的多组块通过无线链路被发送给图形显示设备。以此方式,与图形内容有关的渲染和压缩都在计算设备中的同一处理单元处执行,这大大简化了计算设备侧的处理流程,从而提高了效率。
提供发明内容部分是为了简化的形式来介绍对概念的选择,它们在下文的具体实施方式中将被进一步描述。发明内容部分无意标识要求保护的主题的关键特征或主要特征,也无意限制要求保护的主题的范围。
附图说明
结合附图并参考以下详细说明,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标注表示相同或相似的元素,其中:
图1示出了根据本公开的某些实施例的示例无线可编程媒体处理系统的架构;
图2示出了根据本公开的某些其他实施例的示例无线可编程媒体处理系统的架构;
图3示出了根据本公开的某些实施例的方法的流程图;以及
图4示出了根据本公开的某些其他实施例的方法的流程图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
在此使用的术语“媒体处理系统”是指具有高清或者超高清媒体传输能力的任意适当系统。媒体处理系统的示例包括但不限于,VR系统和AR系统。为讨论方便,在某些实施例中将以VR系统作为媒体处理系统的示例进行描述。
在此使用的术语“计算设备”是指具有计算能力的任意适当设备。计算设备可以支持任意适当应用(例如,VR或AR应用),并且可以对用于该应用的图形内容进行处理,以用于在图形显示设备上显示。计算设备的示例包括但不限于,大型主机、服务器、个人计算机(PC)、桌上型计算机、膝上型计算机、笔记本计算机、平板计算机、上网本、个人数字助理(PDA)、移动电话、或者智能电话等等。为讨论方便,在某些实施例中将以PC作为计算设备的示例进行描述。
在此使用的术语“图形显示设备”是指具有图形显示能力的任意适当设备。图形显示设备可以对经计算设备处理的图形信息进行显示,以便为用户提供VR体验。图形显示设备的示例包括但不限于,桌上型计算机、膝上型计算机、笔记本计算机、平板计算机、上网本、PDA、移动电话、智能手机、智能眼镜、智能手表、个人通信系统(PCS)设备、音频/视频播放器、数码相机/摄像机、个人导航设备、定位设备、电子书设备、游戏设备、或头盔式显示器(HMD)等等。为讨论方便,在某些实施例中将以HMD作为图形显示设备的示例进行描述。
在此使用的术语“处理单元”可以是能够根据程序代码指令执行各种处理的任意适当物理或虚拟的处理器。处理单元可以包括一个或多个核。在包括多个核的情况下,多个核可以并行地操作,从而提高处理单元的处理效率。
处理单元的示例包括但不限于,中央处理单元(CPU)、图形处理单元(GPU)、现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SoC)、复杂可编程逻辑器件(CPLD)、等等。为讨论方便,在某些实施例中将以GPU作为处理单元的示例进行描述。
在此使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”。其他术语的相关定义将在下文描述中给出。
如上所述,VR系统中的计算设备和图像显示设备传统上通过线缆连接,这限制了用户的活动,并且可能会给用户造成危害。已经开始探索使用无线传输代替基于线缆的有线传输,以实现高质量的无线VR系统。例如,已经提出了专用WirelessHD标准,该标准支持60GHz频率以上的无线高清视频传输。基于WirelessHD标准,在计算设备和图像显示设备上实现了60GHz频率以上的无线HDMI接口。还提出了使用无线保真(Wi-Fi)来代替计算设备和图像显示设备之间的USB线。这样,线缆从VR系统中被移除,因而避免了有线传输方式会产生的上述问题。
然而,发明人注意到,这种HDMI接口目前仅仅能够支持帧率为90Hz的2160×1200像素的图形内容,无法满足高质量VR应用对于系统性能的要求。另外,这种无线VR系统的图形显示设备仅具有显示功能而不具有可编程性,因而可扩展性和灵活性较差,而且不可能利用各种基于软件编程的技术来实现性能的改进。
为此,在本公开的实施例的一个方面,发明人经过研究,发现和提出了一种无线可编程媒体处理系统。根据在此提出的媒体处理系统,特别地,在图形显示设备侧增加了可编程设备,以使得图形显示设备具有可编程性。图1示出了根据本公开的某些实施例的示例无线可编程媒体处理系统100。在此示例中,媒体处理系统100被实施为VR系统。但是应当理解,这仅仅是出于说明目的无意于以任何方式限制本公开的范围。
如图所示,在系统100中设置了可编程设备105,它与图形显示设备110(在此示例中为HMD)耦合,以便为图形显示设备110提供可编程性。可编程设备105可以实现为任意适当形式。作为示例,可编程设备105可以包括便携并且低功耗的智能电话级别的片上系统(SoC)。根据本公开的实施例,可编程设备105可以包括任意适当组件,这方面的具体示例将在后文参考图2进行描述。
图形显示设备110与可编程设备105之间的耦合可以任意适当方式来实现。作为示例,可编程设备105可以通过HDMI线115和USB线120与图形显示设备110相连,以便经由HDMI线115向图形显示设备110发送要显示的与应用(例如,VR应用)有关的帧,并且经由USB线120从图形显示设备105接收诸如传感器数据等数据。应当理解,其他耦合方式也是可行的。
在系统100中,可编程设备105与计算设备125之间使用无线链路来进行数据传输。例如,可编程设备105可以经由无线链路从计算设备125接收用于特定应用的图形内容,并且将来自图形显示设备110的传感器数据等发送给计算设备125。在此示例中,如图所示,可编程设备110与计算设备125之间的无线链路基于千兆比特(WiGig)联盟标准而实现基于因特网协议(IP)的传输。应当理解,这仅仅是示例而非限制。目前已知或者将来开发的任何无线通信技术和通信协议可在此使用。通信技术的示例包括但不限于,无线局域网(WLAN)、全球微波接入互操作性(WiMAX)、蓝牙、Zigbee技术、机器类型通信(MTC)、D2D、或者M2M等等。通信协议的示例包括但不限于,传输控制协议(TCP)/互联网协议(IP)、超文本传输协议(HTTP)、用户数据报协议(UDP)、会话描述协议(SDP)等等。
由于在图形显示设备侧提供了可编程性,所以计算设备和图形显示设备这两侧可以基于软件编程一起配合工作,这提高了无线媒体处理系统的可扩展性和灵活性。另外,可以使用诸如压缩算法、内容预提取、姿态预测和协同渲染等等各种基于软件编程的技术来提高无线媒体处理系统的帧速率和分辨率,从而改善了系统性能和用户体验。
然而,系统100在传输速率和处理延迟等方面可能仍将面临挑战。例如,未来的VR系统以非常高的帧速率(例如,120Hz)和分辨率为目标。举例而言,高端的三维(3D)VR游戏对于网络吞吐量以及端到端的系统延迟具有非常高的要求。下面的表1示出了帧速率为90Hz时不同显示分辨率所需的示例数据吞吐量。
表1
显示分辨率(像素) 原始数据速率(Gbps)
2048×1080(2K) 4.8
2160×1200(2K) 5.6
3840×2160(4K UHD) 17.9
7680×4320(8K UHD) 71.7
在此示例中,假设使用三字节对每个像素的RGB数据进行编码。在未使用压缩的情况下,2160×1200(2K)的显示分辨率所需的原始数据速率是5.6Gbps。在显示分辨率为4K超高清(UHD)和8K UHD时,所需的数据速率分别高达17.9Gbps和71.7Gbps。
在系统延迟方面,在帧速率为90Hz的情况下,需要VR系统每11ms就能够渲染、发送并且显示一个高分辨率帧,以保证流畅的用户体验。对于以120Hz的帧速率为目标的未来VR,帧周期甚至缩短为仅8.3ms。而且,高质量VR还要求整个端到端(即,运动到显示)延迟为20ms到25ms。也就是说,一旦图形显示设备移动,VR系统必须能够在20ms到25ms内显示根据图形显示设备的新姿态生成的新的帧。
在采用有线传输方式的情况下,计算设备侧所生成的待显示的帧可以直接经由线缆(例如,HDMI线)发送给图形显示设备。与此不同,采用无线传输方式将需要某些额外的处理,下面将参考图2对此进行说明。
图2示出了根据本公开的某些其他实施例的示例无线可编程媒体处理系统200的架构。在该示例中,为了便于讨论,同样以VR系统作为媒体处理系统的示例。如图所示,在系统200中,计算设备125包括运行于其上的应用(例如,VR应用)205,用于为用户提供相应的服务,例如图形内容210的显示。计算设备125还包括处理单元(称为“第一处理单元”)215,用于执行对用于应用205的图形内容进行渲染等操作。在此示例中,如图所示,第一处理单元215实施为GPU。然而,这仅仅是示例而非限制。第一处理单元215可以实施为任意适当其他形式。例如,第一处理单元215还可以实施为FPGA或ASIC。
除了第一处理单元215之外,在一些实施例中,计算设备125还可以包括任意适当一个或多个其他处理单元。作为示例,在第一处理单元215实施为GPU或FPGA的实施例中,计算设备125还可以包括CPU。此时,GPU或FPGA用于执行图形渲染等功能,而CPU可以用于执行通用处理功能。多个处理单元可以并行执行计算机可执行指令,以提高计算设备125的并行处理能力。
如图所示,计算设备125还包括无线网络接口单元(称为“第一无线网络接口单元”)220,用于提供与可编程设备105进行无线通信的接口。作为示例,如图所示,第一无线网络接口单元220实施为网络接口卡(NIC)。第一无线网络接口单元220的其他实现形式也是可行的。
除此之外,计算设备125还可以包括实现通过通信介质与其他外部设备通信的任意适当其他通信接口。其他外部设备例如包括但不限于另一计算设备服务器、诸如存储设备、显示设备、输入设备(例如,鼠标、键盘、触摸屏、追踪球、语音输入设备等)、输出设备(例如显示器、扬声器、打印机等)的外部设备、或者使得计算设备125与其他外部设备通信的任何中间设备(例如,网卡、调制解调器等)。
在系统200中,计算设备125还包括图形堆栈225和网络堆栈230。图形堆栈225可由第一处理单元215访问,以用于存储待处理的图形内容210。网络堆栈230与第一无线网络接口单元220相互配合,以用于存储要通过无线链路传输的数据。图形堆栈225和网络堆栈230可以实现为任意适当存储设备,例如可以为计算机可读或机器可读存储介质。这样的介质可以是计算设备125可访问的任何可获得的介质,包括但不限于易失性或非易失性介质、可拆卸或不可拆卸介质。除此之外,计算设备125还可以包括一个或多个其他存储设备,用于存储可以在计算设备125内被访问的其他信息和/或数据。
如图所示,计算设备125还包括发送单元235,其对用于应用205的帧进行压缩等操作以减小要通过无线链路传输的数据的大小。发送单元235的具体操作将在后文进行描述。
除了所示出的组件之外,计算设备125还可以包括任意适当其他组件。例如,计算设备125可以包括存储器,其可以是易失性存储器(例如寄存器、高速缓存、随机访问存储器(RAM))、非易失性存储器(例如,只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、闪存)或其某种组合。存储器可以包括一个或多个程序模块,这些程序模块被配置为执行本公开的各实施例所实现的各种功能。特别地,程序模块可以由第一处理单元215访问和运行,以实现相应功能。
在此示例中,在计算设备125侧,应用205经由VR软件开发工具包(SDK)(未示出)跨过用户模式和内核模式的边界,使用第一处理器215基于相关联的图形内容210生成待显示的帧。该帧可以存储在第一处理单元215的存储器中(未示出)。
在计算设备125包括GPU作为第一处理单元215并且包括CPU用于实施通用处理功能的实施例中,发送单元235可以例如使用系统图形应用程序接口(API)跨过内核模式和用户模式的边界,将待显示的帧从第一处理单元215的存储器提取到CPU的存储器(未示出)。发送单元235可以对帧进行压缩以减小数据的大小。继而,发送单元235再次跨过用户模式和内核模式的边界,将压缩后的数据经由网络堆栈230发送给第一无线网络接口单元220。第一无线网络接口单元220经由无线链路将压缩后的数据发送出去。
在系统200中,计算设备125经由无线链路所发送的数据被可编程设备105接收。如图所示,可编程设备105包括无线网络接口单元(称为“第二无线网络接口单元”)240、用于存储第二无线网络接口单元240所接收的帧的网络堆栈245、用于对接收到的帧进行解压缩等处理的接收单元250、处理单元(称为“第二处理单元”)255、以及可由第二处理单元255访问的用于存储图形内容的图形堆栈260。可编程设备105中的上述各组件的具体功能以及实现方式与上面描述的计算设备125中的相应组件类似,故不再赘述。同样与计算设备125类似,可编程设备105可以包括除所示组件之外的任意适当其他组件。
在可编程设备105中,第二无线网络接口单元(例如,NIC)240通过无线链路接收到来自计算设备125的数据,并且将其存储在网络堆栈245中。接收器250跨过用户模式和内核模式的边界,从网络堆栈245获得第二无线网络接口单元240所接收的数据,并且对数据进行解压缩。而后接收器250再次跨过上述边界经由图形堆栈260将解压缩后的帧传递给第二处理单元(例如,GPU)255。如图所示,可编程设备105的第二处理单元255通过线缆(例如,HDMI线)260与图形显示设备110相连,由此可以将解压缩后的帧传递给图形显示设备110,以用于在图形显示设备110上进行显示。
如上所述,在系统200中,图形显示设备110的数据处理操作都能够在可编程设备105上执行。这使得图形显示设备110与瘦客户(thin client)端系统类似。以此方式,图形显示设备110的可扩展性和灵活性被增强。
上述数据处理过程需要很多次数据复制,因而产生了很多额外的数据副本。例如,在计算设备125中,待显示的帧可能需要从第一处理单元215的存储器复制到主机存储器,再从发送单元235复制到第一无线网络接口单元220。在可编程设备105中,数据需要从第二无线网络接口单元240复制到接收器250,继而复制到第二处理单元255。而通过数据的压缩和解压缩,可以明显减少通过无线链路传输的数据量,从而提高数据传输速率。
然而,发明人注意到,如果数据量较大,则这些数据复制以及压缩和解压缩可能会加重系统的处理负担。为了进一步简化处理操作以便进一步提高处理效率并且减小处理延迟,发明人在本公开的实施例的另一方面进一步提出了一种高效的数据压缩和解压缩方案。根据本公开的实施例,由计算设备中的第一处理单元执行关于待显示的帧的生成、压缩和发送的操作。具体而言,第一处理单元基于用于计算设备上运行的应用的图形内容生成待显示的帧。继而,第一处理单元将待显示的帧分成多组块,并且对这些组块进行压缩。而后第一处理单元通过无线链路向图形显示设备发送经压缩的多组块。由此,在发送端可以使用同一个处理单元执行上述生成、压缩和发送操作,因而可以减少图2中所示的较频繁的数据复制,进一步减小了处理延迟。
相应地,在接收端,关于图形内容的接收和解压缩操作也由同一个处理单元执行,特别地,由耦合到图形显示设备的可编程设备中的第二处理单元执行。具体而言,第二处理单元通过无线链路从计算设备接收经压缩的多组块,这些组块是基于用于计算设备上运行的特定应用的图形内容生成的。继而,第二处理单元对接收到的多组块进行解压缩,并且基于经解压缩的多组块生成待显示的帧以用于在图形显示设备上显示。以此方式,在接收端也避免了上述频繁的数据复制,进一步减小了处理延迟。
以下参考图3和图4来说明本公开的这一方面的基本原理和若干示例实现。首先参考图3,其示出了根据本公开的某些实施例在计算设备的第一处理单元处实施的方法300的流程图。方法300能够由图2所示的计算设备125中的第一处理单元215执行。为讨论方便,下面将结合图2对方法300进行描述。
如图所示,在框305,第一处理单元215基于用于计算设备125上运行的应用205的图形内容210生成待显示的帧。作为示例,待显示的帧可以通过对图形内容210进行渲染而生成。任何目前已知或者将来开发的渲染方法均可在此使用。
在得到待显示的帧后,第一处理单元215在框310将所得的帧分成多组块,并且在框315对这些组块进行压缩。根据本公开的实施例,可以采用任意适当压缩算法来实现该压缩。特别地,在某些实施例中,第一处理单元215可以并发地执行多组块的压缩,以便进一步提高处理效率,减少时延,这方面的具体示例将在后文描述。
在第一处理单元215包括多个核的情况下,可以利用多个核并发地执行待显示的帧的生成和压缩操作。也就是说,在某些实施例中,框305、310和框315可以并发执行。例如,第一处理单元215可以使用多个核中的一组核(称为“第一组核”)基于图形内容210(称为“第一图形内容”)生成待显示的帧。与此并行,第一处理单元215使用另一组不同的核(称为“第二组核”)对由待显示的帧得到的多组块进行压缩。这样,在使用第二组核进行图形压缩时,第一处理单元可以同时使用第一组核来基于用于该应用的其他图形内容(称为“第二图形内容”)生成待显示的帧,从而显著提高了系统处理效率。
在对多组块进行了压缩后,在框320,第一处理单元215通过无线链路向图形显示设备110发送经压缩的多组块。任何目前已知或者将来开发的无线传输方式均可在此使用。第一处理单元215可以任意适当方式实现多组块到图形显示设备110的传输。为了进一步提到处理效率,在某些实施例中,第一处理单元215可以布置压缩和传输的并行处理管道,也即,框315和框320可以并发执行。例如,第一处理单元215可以执行多个线程,并且利用其中一个线程(称为“第一线程”)执行压缩处理,并且利用另一个不同的线程(称为“第二线程”)执行传输处理。
举例而言,第一处理单元215在将待显示的帧分成多组块之后,可以使用第一线程逐一地对每个组块进行压缩。在完成了一组块(称为“第一组块”)的压缩之后,第一处理单元215可以马上使用分离的第二线程将该组块通过无线链路发送出去。与此同时,第一处理单元215可以继续使用第一线程对另一组块(称为“第二组块”)进行压缩。这种压缩和传输的并行处理明显缩短了发送端的处理时间。
相应地,在接收端,一旦接收到已压缩的一组块,可以立即对其进行解压缩,而不必等待接收到所有的块之后再解压缩,这样大大缩短了总的端到端数据处理时间。接收端的具体操作将在后文参考图4进行描述。
为了进一步缩短发送端的数据处理管道以便进一步减小延迟,在某些实施例中,第一处理单元215可以与计算设备125中的第一无线网络接口单元220耦合,以建立二者之间的直接数据传输路径。可以任何适当方式实现该耦合。作为示例,第一处理单元215和第一无线网络接口单元220可以连接到同一外围组件快速互连(PCIe)总线,继而经由PCIe协议直接访问彼此的存储器。
以此方式,图形数据不再需要越过内核/用户模式边界执行多次复制,就能从计算设备发送给图形显示设备。作为示例,对于图2所示的无线系统200而言,第一处理单元(例如,GPU)215在将待显示的帧分成多组块并且对各个多组块进行压缩后,经压缩的多组块可以存储在第一处理单元215的存储器中,而取代被复制到主机存储器中。可以允许第一无线网络接口单元(例如,NIC)220直接访问第一处理单元215的存储器,这样经压缩的多组块无需经由主机存储器,就可以经由无线链路发送出去。以此方式,进一步减少了发送端的数据路径的长度,从而进一步改进了系统性能,减少了系统延迟。
相应地,在接收端,可以采用高效的数据压缩方法,以进一步减少接收端的处理时延。下面将参考图4对接收侧的具体操作进行描述。图4示出了根据本公开的某些实施例的在耦合到图形显示设备的可编程设备中的第二处理单元处实施的方法400的流程图。方法400能够由图2所示的可编程设备105中的第二处理单元255执行。为讨论方便,下面将结合图2对方法400进行描述。
如图所示,在框405,第二处理单元255通过无线链路从计算设备125接收经压缩的多组块,这些组块是基于用于计算设备125上运行的应用205的图形内容210生成的。第二处理单元255可以任意适当方式实现该接收。为了缩短接收端的数据传输路径,进一步简化接收端的操作,在某些实施例中,第二处理单元255可以与可编程设备105中的第二无线网络接口单元240耦合,以建立直接的数据传输路径。在这种情况下,第二处理单元255可以通过无线链路经由第二无线网络接口单元240从计算设备125接收经压缩的多组块。第二处理单元255与第二无线网络接口单元220之间的耦合的具体实现方式与上述第一处理单元215与第二无线网络接口单元240之间的耦合类似,故不再赘述。
在框410,第二处理单元255对接收到的多组块进行解压缩。任何目前已知或者将来开发的解压缩方法均可在此使用。特别地,如上所示,在发送端并发地执行多组块的压缩和发送的实施例中,第二处理单元255可以并发地执行多组块的接收和解压缩,也即,框405和框410可以并发执行。例如,第二处理单元255可以执行多个线程,使用其中一个线程(称为“第三线程”)接收一组块(称为“第三组块”),并且使用另一不同的线程(称为“第四线程”)对接收到的该组块进行解压缩。这样,在对接收的组块进行解压缩的同时,第二处理单元255可以使用第三线程接收另一组块(称为“第四组块”)。以此方式,进一步缩短了接收端的处理时间。
在对多组块进行了解压缩之后,在框415,第二处理单元255基于经解压缩的多组块生成待显示的帧以用于在图形显示设备110上显示。块重组成帧和帧的显示方法在本领域中是已知的,故在此不再赘述。
由此,在接收端,多组块的解压缩和重组等处理可以在同一处理单元,即第二处理单元255执行,这进一步简化了接收侧的处理,从而进一步提高了系统效率,减少了系统延迟。特别地,在第二处理单元255与第二无线网络接口240之间存在直接数据传输路径的实施例中,可编程设备105不再需要越过内核/用户模式边界对图形数据执行多次复制。例如,第二无线网络接口240可以直接将接收到的多组块存储到第二处理单元255的存储器中,而无需通过主机存储器。以此方式,进一步减少了接收侧数据传输路径的长度,从而进一步改进了系统性能。
本文中所描述的功能可以至少部分地由一个或多个硬件逻辑组件来执行。例如但不限于,可以使用的硬件逻辑组件的示意性类型包括现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑器件(CPLD)等。
用于实施本文所描述的主题的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开内容的上下文中,计算机可读或机器可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本文所描述的主题的范围的限制。在单独的实现的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。
以下列出了本公开的一些示例实现。
在一方面,提供了一种在用于媒体处理系统的计算设备中的第一处理单元处实施的方法。该方法包括:基于用于计算设备上运行的应用的图形内容生成待显示的帧;将待显示的帧分成多组块;对多组块进行压缩;以及通过无线链路向媒体处理系统中的图形显示设备发送经压缩的多组块。
在一些实现方式中,第一处理单元包括多个核,生成待显示的帧包括使用多个核中的第一组核来基于图形内容生成待显示的帧,以及对多组块进行压缩包括使用多个核中的第二组核对多组块进行压缩,第二组核不同于第一组核。
在一些实现方式中,该图形内容是第一图形内容,待显示的帧是待显示的第一帧,该方法还包括:与使用第二组核对多组块进行压缩并发地,使用第一组核基于用于应用的第二图形内容生成待显示的第二帧,第二图形内容不同于第一图形内容,第二帧不同于第一帧。
在一些实现方式中,向图形显示设备发送经压缩的多组块包括:与对多组块的压缩并发地,通过无线链路向图形显示设备发送经压缩的多组块。
在一些实现方式中,第一处理单元执行多个线程,对多组块进行压缩包括使用多个线程中的第一线程,对多组块中的第一组块进行压缩,以及发送经压缩的多组块包括使用多个线程中的第二线程来通过无线链路向图形显示设备发送经压缩的第一组块,第二线程不同于第一线程。
在一些实现方式中,该方法还包括:与使用第二线程发送经压缩的第一组块并发地,使用第一线程对多组块中的第二组块进行压缩,第二组块不同于第一组块。
在一些实现方式中,第一处理单元与计算设备中的第一无线网络接口单元耦合,以及发送经压缩的多组块包括通过无线链路来经由第一无线网络接口单元向图形显示设备发送经压缩的多组块。
在一些实现方式中,该方法还包括:在使用第二线程发送经压缩的一个多组块的同时,使用第一线程对多组块中的另一多组块进行压缩。
在一些实现方式中,第一处理单元包括图形处理单元、现场可编程门阵列和专用集成电路中的至少一个。
在一方面,提供了一种媒体处理系统中的可编程设备中的第二处理单元处实施的方法,该可编程设备与图形显示设备耦合。该方法包括:通过无线链路从计算设备接收经压缩的多组块,经压缩的多组块基于用于计算设备上运行的应用的图形内容被生成;对接收到的多组块进行解压缩;以及基于经解压缩的多组块生成待显示的帧以用于在图形显示设备上显示。
在一些实现方式中,对多组块进行解压缩包括:与接收多组块并发地对多组块进行解压缩。
在一些实现方式中,第二处理单元执行多个线程,接收多组块包括使用多个线程中的第三线程来通过无线链路从计算设备接收多组块中的第三组块,以及对多组块进行解压缩包括使用多个线程中的第四线程来对接收到的第三组块进行解压缩,第四线程不同于第三线程。
在一些实现方式中,该方法还包括:与使用第四线程对接收到的第三组块进行解压缩并发地,使用第三线程来通过无线链路从计算设备接收多组块中的第四组块,第四组块不同于第三组块。
在一些实现方式中,该方法还包括:在使用第四线程对接收到的一个多组块进行解压缩的同时,使用第三线程通过无线链路从计算设备接收多组块中的另一多组块。
在一些实现方式中,第二处理单元与可编程设备中的第二无线网络接口单元耦合,以及接收多组块包括:通过无线链路经由第二无线网络接口单元从计算设备接收多组块。
在一些实现方式中,第二处理单元包括图形处理单元、现场可编程门阵列和专用集成电路中的至少一个。
在一方面,提供了一种用于媒体处理系统的计算设备。该计算设备包括处理单元;以及存储器,耦合至处理单元并且存储有指令,指令在由处理单元执行时执行图形内容的压缩处理,包括动作:基于用于计算设备上运行的应用的图形内容生成待显示的帧;将待显示的帧分成多组块;对多组块进行压缩;以及通过无线链路向媒体处理系统中的图形显示设备发送经压缩的多组块。
在一些实现方式中,第一处理单元包括多个核,生成待显示的帧包括使用多个核中的第一组核来基于图形内容生成待显示的帧,以及对多组块进行压缩包括使用多个核中的第二组核对多组块进行压缩,第二组核不同于第一组核。
在一些实现方式中,该图形内容是第一图形内容,待显示的帧是待显示的第一帧,动作还包括:与使用第二组核对多组块进行压缩并发地,使用第一组核来基于用于应用的第二图形内容生成待显示的第二帧,第二图形内容不同于第一图形内容,第二帧不同于第一帧。
在一些实现方式中,向图形显示设备发送经压缩的多组块包括:与对多组块的压缩并发地,通过无线链路向图形显示设备发送经压缩的多组块。
在一些实现方式中,第一处理单元执行多个线程,对多组块进行压缩包括使用多个线程中的第一线程,对多组块中的第一组块进行压缩,以及发送经压缩的多组块包括使用多个线程中的第二线程来通过无线链路向图形显示设备发送经压缩的第一组块,第二线程不同于第一线程。
在一些实现方式中,动作还包括:与使用第二线程发送经压缩的第一组块并发地,使用第一线程对多组块中的第二组块进行压缩,第二组块不同于第一组块。
在一些实现方式中,第一处理单元与计算设备中的第一无线网络接口单元耦合,以及发送经压缩的多组块包括通过无线链路来经由第一无线网络接口单元向图形显示设备发送经压缩的多组块。
在一些实现方式中,第一处理单元包括图形处理单元、现场可编程门阵列和专用集成电路中的至少一个。
在一方面,提供了一种媒体处理系统中的可编程设备。该可编程设备包括处理单元;以及存储器,耦合至处理单元并且存储有指令,指令在由处理单元执行时执行图形内容的解压缩处理,包括动作:通过无线链路从计算设备接收经压缩的多组块,经压缩的多组块基于用于计算设备上运行的应用的图形内容被生成;对接收到的多组块进行解压缩;以及基于经解压缩的多组块生成待显示的帧以用于在图形显示设备上显示。
在一些实现方式中,对多组块进行解压缩包括:与接收多组块并发地对多组块进行解压缩。
在一些实现方式中,第二处理单元执行多个线程,接收多组块包括使用多个线程中的第三线程来通过无线链路从计算设备接收多组块中的第三组块,以及对多组块进行解压缩包括使用多个线程中的第四线程来对接收到的第三组块进行解压缩,第四线程不同于第三线程。
在一些实现方式中,动作还包括:与使用第四线程对接收到的第三组块进行解压缩并发地,使用第三线程来通过无线链路从计算设备接收多组块中的第四组块,第四组块不同于第三组块。
在一些实现方式中,第二处理单元与可编程设备中的第二无线网络接口单元耦合,以及接收多组块包括通过无线链路经由第二无线网络接口单元从计算设备接收多组块。
在一些实现方式中,第二处理单元包括图形处理单元、现场可编程门阵列和专用集成电路中的至少一个。
在一方面,提供了一种机器可读存储介质,其中存储有机器可执行指令,机器可执行指令在设备中运行时,使得设备执行图形内容的压缩处理,包括动作:基于用于计算设备上运行的应用的图形内容生成待显示的帧;将待显示的帧分成多组块;对多组块进行压缩;以及通过无线链路向媒体处理系统中的图形显示设备发送经压缩的多组块。
在一些实现方式中,第一处理单元包括多个核,生成待显示的帧包括使用多个核中的第一组核来基于图形内容生成待显示的帧,以及对多组块进行压缩包括使用多个核中的第二组核对多组块进行压缩,第二组核不同于第一组核。
在一些实现方式中,该图形内容是第一图形内容,待显示的帧是待显示的第一帧,动作还包括:与使用第二组核对多组块进行压缩并发地,使用第一组核来基于用于应用的第二图形内容生成待显示的第二帧,第二图形内容不同于第一图形内容,第二帧不同于第一帧。
在一些实现方式中,向图形显示设备发送经压缩的多组块包括:与对多组块的压缩并发地,通过无线链路向图形显示设备发送经压缩的多组块。
在一些实现方式中,第一处理单元执行多个线程,对多组块进行压缩包括使用多个线程中的第一线程,对多组块中的第一组块进行压缩,以及发送经压缩的多组块包括使用多个线程中的第二线程来通过无线链路向图形显示设备发送经压缩的第一组块,第二线程不同于第一线程。
在一些实现方式中,动作还包括:与使用第二线程发送经压缩的第一组块并发地,使用第一线程对多组块中的第二组块进行压缩,第二组块不同于第一组块。
在一些实现方式中,第一处理单元与计算设备中的第一无线网络接口单元耦合,以及发送经压缩的多组块包括通过无线链路来经由第一无线网络接口单元向图形显示设备发送经压缩的多组块。
在一些实现方式中,第一处理单元包括图形处理单元、现场可编程门阵列和专用集成电路中的至少一个。
在一方面,提供了一种机器可读存储介质,其中存储有机器可执行指令,机器可执行指令在设备中运行时,使得设备执行图形内容的解压缩处理,包括动作:通过无线链路从计算设备接收经压缩的多组块,经压缩的多组块基于用于计算设备上运行的应用的图形内容被生成;对接收到的多组块进行解压缩;以及基于经解压缩的多组块生成待显示的帧以用于在图形显示设备上显示。
在一些实现方式中,对多组块进行解压缩包括:与接收多组块并发地对多组块进行解压缩。
在一些实现方式中,第二处理单元执行多个线程,接收多组块包括使用多个线程中的第三线程来通过无线链路从计算设备接收多组块中的第三组块,以及对多组块进行解压缩包括使用多个线程中的第四线程来对接收到的第三组块进行解压缩,第四线程不同于第三线程。
在一些实现方式中,动作还包括:与使用第四线程对接收到的第三组块进行解压缩并发地,使用第三线程来通过无线链路从计算设备接收多组块中的第四组块,第四组块不同于第三组块。
在一些实现方式中,第二处理单元与可编程设备中的第二无线网络接口单元耦合,以及接收多组块包括通过无线链路经由第二无线网络接口单元从计算设备接收多组块。
在一些实现方式中,第二处理单元包括图形处理单元、现场可编程门阵列和专用集成电路中的至少一个。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本公开,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。

Claims (20)

1.一种用于媒体处理系统的计算设备,包括:
第一处理单元;以及
存储器,耦合至所述第一处理单元并且存储有指令,所述指令在由所述第一处理单元执行时执行图形内容的压缩处理,包括动作:
基于用于所述计算设备上运行的应用的图形内容生成待显示的帧;
将所述待显示的帧分成多组块;
对所述多组块进行压缩;以及
通过无线链路向所述媒体处理系统中的图形显示设备发送经压缩的所述多组块。
2.根据权利要求1所述的计算设备,其中
所述第一处理单元包括多个核,
生成所述待显示的帧包括使用所述多个核中的第一组核来基于所述图形内容生成所述待显示的帧,以及
对所述多组块进行压缩包括使用所述多个核中的第二组核对所述多组块进行压缩,所述第二组核不同于所述第一组核。
3.根据权利要求2所述的计算设备,其中所述图形内容是第一图形内容并且所述帧是第一帧,所述动作还包括:
与使用所述第二组核对所述多组块进行压缩并发地,使用所述第一组核来基于用于所述应用的第二图形内容生成待显示的第二帧,所述第二图形内容不同于所述第一图形内容,所述第二帧不同于所述第一帧。
4.根据权利要求1所述的计算设备,其中向所述图形显示设备发送经压缩的所述多组块包括:
与对所述多组块的压缩并发地,通过所述无线链路向所述图形显示设备发送经压缩的所述多组块。
5.根据权利要求4所述的计算设备,其中
所述第一处理单元执行多个线程,
对所述多组块进行压缩包括使用所述多个线程中的第一线程,对所述多组块中的第一组块进行压缩,以及
发送经压缩的所述多组块包括使用所述多个线程中的第二线程来通过所述无线链路向所述图形显示设备发送经压缩的所述第一组块,所述第二线程不同于所述第一线程。
6.根据权利要求5所述的计算设备,所述动作还包括:
与使用所述第二线程发送经压缩的所述第一组块并发地,使用所述第一线程对所述多组块中的第二组块进行压缩,所述第二组块不同于所述第一组块。
7.根据权利要求1所述的计算设备,其中
所述第一处理单元与所述计算设备中的第一无线网络接口单元耦合,以及
发送经压缩的所述多组块包括通过所述无线链路来经由所述第一无线网络接口单元向所述图形显示设备发送经压缩的所述多组块。
8.根据权利要求1所述的计算设备,其中所述第一处理单元包括图形处理单元、现场可编程门阵列和专用集成电路中的至少一个。
9.一种媒体处理系统中的可编程设备,所述可编程设备与图形显示设备耦合并且包括:
第二处理单元;以及
存储器,耦合至所述第二处理单元并且存储有指令,所述指令在由所述第二处理单元执行时执行图形内容的解压缩处理,包括动作:
通过无线链路从计算设备接收经压缩的多组块,所述经压缩的多组块基于用于所述计算设备上运行的应用的图形内容被生成;
对接收到的所述多组块进行解压缩;以及
基于经解压缩的所述多组块生成待显示的帧以用于在所述图形显示设备上显示。
10.根据权利要求9所述的可编程设备,其中对所述多组块进行解压缩包括:
与接收所述多组块并发地对所述多组块进行解压缩。
11.根据权利要求10所述的可编程设备,其中
所述第二处理单元执行多个线程,
接收所述多组块包括使用所述多个线程中的第三线程来通过所述无线链路从所述计算设备接收所述多组块中的第三组块,以及
对所述多组块进行解压缩包括使用所述多个线程中的第四线程来对接收到的所述第三组块进行解压缩,所述第四线程不同于所述第三线程。
12.根据权利要求11所述的可编程设备,所述动作还包括:
与使用所述第四线程对接收到的所述第三组块进行解压缩并发地,使用所述第三线程来通过所述无线链路从所述计算设备接收所述多组块中的第四组块,所述第四组块不同于所述第三组块。
13.根据权利要求9所述的可编程设备,其中
所述第二处理单元与所述可编程设备中的第二无线网络接口单元耦合,以及
接收所述多组块包括通过所述无线链路经由所述第二无线网络接口单元从所述计算设备接收所述多组块。
14.根据权利要求9所述的可编程设备,其中所述第二处理单元包括图形处理单元、现场可编程门阵列和专用集成电路中的至少一个。
15.一种在用于媒体处理系统的计算设备中的第一处理单元处实施的方法,包括:
基于用于所述计算设备上运行的应用的图形内容生成待显示的帧;
将所述待显示的帧分成多组块;
对所述多组块进行压缩;以及
通过无线链路向所述媒体处理系统中的图形显示设备发送经压缩的所述多组块。
16.根据权利要求15所述的方法,其中
所述第一处理单元包括多个核,
生成所述待显示的帧包括使用所述多个核中的第一组核来基于所述图形内容生成所述待显示的帧,以及
对所述多组块进行压缩包括使用所述多个核中的第二组核对所述多组块进行压缩,所述第二组核不同于所述第一组核。
17.根据权利要求15所述的方法,其中向所述图形显示设备发送经压缩的所述多组块包括:
与对所述多组块的压缩并发地,通过所述无线链路向所述图形显示设备发送经压缩的所述多组块。
18.根据权利要求17所述的方法,其中
所述第一处理单元执行多个线程,
对所述多组块进行压缩包括使用所述多个线程中的第一线程,对所述多组块中的第一组块进行压缩,以及
发送经压缩的所述多组块包括使用所述多个线程中的第二线程来通过所述无线链路向所述图形显示设备发送经压缩的所述第一组块,所述第二线程不同于所述第一线程。
19.根据权利要求18所述的方法,还包括:
与使用所述第二线程发送经压缩的所述第一组块并发地,使用所述第一线程对所述多组块中的第二组块进行压缩,所述第二组块不同于所述第一组块。
20.根据权利要求15所述的方法,其中
所述第一处理单元与所述计算设备中的第一无线网络接口单元耦合,以及
发送经压缩的所述多组块包括通过所述无线链路来经由所述第一无线网络接口单元向所述图形显示设备发送经压缩的所述多组块。
CN201710744954.7A 2017-08-25 2017-08-25 无线可编程媒体处理系统 Active CN109426473B (zh)

Priority Applications (6)

Application Number Priority Date Filing Date Title
CN202310883212.8A CN116774961A (zh) 2017-08-25 2017-08-25 无线可编程媒体处理系统
CN201710744954.7A CN109426473B (zh) 2017-08-25 2017-08-25 无线可编程媒体处理系统
PCT/US2018/040666 WO2019040187A1 (en) 2017-08-25 2018-07-03 PROGRAMMABLE WIRELESS MULTIMEDIA PROCESSING SYSTEM
EP18749663.3A EP3649637A1 (en) 2017-08-25 2018-07-03 Wireless programmable media processing system
US16/635,628 US11501740B2 (en) 2017-08-25 2018-07-03 Wireless programmable media processing system
US17/986,683 US11893963B2 (en) 2017-08-25 2022-11-14 Wireless programmable media processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710744954.7A CN109426473B (zh) 2017-08-25 2017-08-25 无线可编程媒体处理系统

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202310883212.8A Division CN116774961A (zh) 2017-08-25 2017-08-25 无线可编程媒体处理系统

Publications (2)

Publication Number Publication Date
CN109426473A true CN109426473A (zh) 2019-03-05
CN109426473B CN109426473B (zh) 2023-07-28

Family

ID=63080514

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202310883212.8A Pending CN116774961A (zh) 2017-08-25 2017-08-25 无线可编程媒体处理系统
CN201710744954.7A Active CN109426473B (zh) 2017-08-25 2017-08-25 无线可编程媒体处理系统

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202310883212.8A Pending CN116774961A (zh) 2017-08-25 2017-08-25 无线可编程媒体处理系统

Country Status (4)

Country Link
US (2) US11501740B2 (zh)
EP (1) EP3649637A1 (zh)
CN (2) CN116774961A (zh)
WO (1) WO2019040187A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113160026A (zh) * 2020-01-07 2021-07-23 北京地平线机器人技术研发有限公司 图像处理方法、装置、介质以及电子设备
CN113852826A (zh) * 2021-09-06 2021-12-28 歌尔光学科技有限公司 图像数据传输方法、装置及系统

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11563513B1 (en) * 2019-09-10 2023-01-24 Valve Corporation Low-latency wireless display system
JP6823333B1 (ja) * 2020-05-22 2021-02-03 株式会社Tvt データ送信装置、プログラム及びシステム

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04301972A (ja) * 1991-03-29 1992-10-26 Canon Inc 画像通信装置
CN101035285A (zh) * 2007-04-13 2007-09-12 深圳市融合视讯科技有限公司 一种网络传输中的图像分解及还原方法
CN101355632A (zh) * 2007-07-24 2009-01-28 富士施乐株式会社 图像处理装置和图像处理方法
CN102239678A (zh) * 2008-12-06 2011-11-09 国际商业机器公司 用于逼真成像工作量分布的系统和方法
US8265168B1 (en) * 2008-02-01 2012-09-11 Zenverge, Inc. Providing trick mode for video stream transmitted over network
JP2013115784A (ja) * 2011-11-30 2013-06-10 Fujitsu Ltd 情報処理装置、画像送信方法及び画像送信プログラム
CN103249352A (zh) * 2010-12-08 2013-08-14 索尼电脑娱乐公司 利用视线跟踪的自适应显示
CN103959235A (zh) * 2011-11-30 2014-07-30 英特尔公司 在操作系统初始化过程中显示多媒体数据的技术
CN104780374A (zh) * 2015-03-23 2015-07-15 中国科学技术大学先进技术研究院 一种基于亮度编码的帧缓存有损压缩方法及装置
CN105302294A (zh) * 2015-09-07 2016-02-03 哈尔滨市一舍科技有限公司 一种交互式虚拟现实演示装置
US20160283391A1 (en) * 2015-03-24 2016-09-29 Jim K. Nilsson Compaction for Memory Hierarchies
EP3082017A1 (en) * 2015-04-15 2016-10-19 Thomson Licensing Method and system for displaying additional information associated with a content via an optical head mounted display device
US20170180800A1 (en) * 2015-09-09 2017-06-22 Vantrix Corporation Method and System for Selective Content Processing Based on a Panoramic Camera and a Virtual-Reality Headset
US20170178276A1 (en) * 2015-12-22 2017-06-22 Intel Corporation Clustered color compression for efficient processing of graphics data at computing devices
US9705526B1 (en) * 2016-03-17 2017-07-11 Intel Corporation Entropy encoding and decoding of media applications

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4881237B2 (ja) * 2007-06-29 2012-02-22 株式会社東芝 画面転送装置およびその方法ならびに画像転送のためのプログラム
JP2014063259A (ja) * 2012-09-20 2014-04-10 Fujitsu Ltd 端末装置,及び処理プログラム
US20160094849A1 (en) * 2014-09-27 2016-03-31 Intel Corporation THERMAL THROTTLING OF WiDi VIDEO STREAM RESOLUTION
US20160238852A1 (en) * 2015-02-13 2016-08-18 Castar, Inc. Head mounted display performing post render processing
US10089964B2 (en) 2015-12-18 2018-10-02 Intel Corporation Graphics processor logic for encoding increasing or decreasing values
US10171825B1 (en) * 2016-04-27 2019-01-01 Matrox Graphics Inc. Parallel compression of image data in a compression device

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04301972A (ja) * 1991-03-29 1992-10-26 Canon Inc 画像通信装置
CN101035285A (zh) * 2007-04-13 2007-09-12 深圳市融合视讯科技有限公司 一种网络传输中的图像分解及还原方法
CN101355632A (zh) * 2007-07-24 2009-01-28 富士施乐株式会社 图像处理装置和图像处理方法
US8265168B1 (en) * 2008-02-01 2012-09-11 Zenverge, Inc. Providing trick mode for video stream transmitted over network
CN102239678A (zh) * 2008-12-06 2011-11-09 国际商业机器公司 用于逼真成像工作量分布的系统和方法
CN103249352A (zh) * 2010-12-08 2013-08-14 索尼电脑娱乐公司 利用视线跟踪的自适应显示
JP2013115784A (ja) * 2011-11-30 2013-06-10 Fujitsu Ltd 情報処理装置、画像送信方法及び画像送信プログラム
CN103959235A (zh) * 2011-11-30 2014-07-30 英特尔公司 在操作系统初始化过程中显示多媒体数据的技术
CN104780374A (zh) * 2015-03-23 2015-07-15 中国科学技术大学先进技术研究院 一种基于亮度编码的帧缓存有损压缩方法及装置
US20160283391A1 (en) * 2015-03-24 2016-09-29 Jim K. Nilsson Compaction for Memory Hierarchies
EP3082017A1 (en) * 2015-04-15 2016-10-19 Thomson Licensing Method and system for displaying additional information associated with a content via an optical head mounted display device
CN105302294A (zh) * 2015-09-07 2016-02-03 哈尔滨市一舍科技有限公司 一种交互式虚拟现实演示装置
US20170180800A1 (en) * 2015-09-09 2017-06-22 Vantrix Corporation Method and System for Selective Content Processing Based on a Panoramic Camera and a Virtual-Reality Headset
US20170178276A1 (en) * 2015-12-22 2017-06-22 Intel Corporation Clustered color compression for efficient processing of graphics data at computing devices
US9705526B1 (en) * 2016-03-17 2017-07-11 Intel Corporation Entropy encoding and decoding of media applications

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
沈龙梅;张立文;国珊珊;宋占伟;: "基于JPEG硬编码的嵌入式无线图像传输处理终端", 吉林大学学报(信息科学版), no. 04 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113160026A (zh) * 2020-01-07 2021-07-23 北京地平线机器人技术研发有限公司 图像处理方法、装置、介质以及电子设备
CN113160026B (zh) * 2020-01-07 2024-03-05 北京地平线机器人技术研发有限公司 图像处理方法、装置、介质以及电子设备
CN113852826A (zh) * 2021-09-06 2021-12-28 歌尔光学科技有限公司 图像数据传输方法、装置及系统

Also Published As

Publication number Publication date
US11501740B2 (en) 2022-11-15
WO2019040187A1 (en) 2019-02-28
EP3649637A1 (en) 2020-05-13
CN116774961A (zh) 2023-09-19
US20210125580A1 (en) 2021-04-29
CN109426473B (zh) 2023-07-28
US20230077904A1 (en) 2023-03-16
US11893963B2 (en) 2024-02-06

Similar Documents

Publication Publication Date Title
Hou et al. Wireless VR/AR with edge/cloud computing
US20210248012A1 (en) Distributed realization of digital content
US11893963B2 (en) Wireless programmable media processing system
US9665332B2 (en) Display controller, screen transfer device, and screen transfer method
CN103581665A (zh) 转码视频数据
CN104881367B (zh) 处理分布式缓存组织结构中的已压缩数据的方法、计算设备、计算系统和机器可读介质
US20140108940A1 (en) Method and system of remote communication over a network
US20220241689A1 (en) Game Character Rendering Method And Apparatus, Electronic Device, And Computer-Readable Medium
CN102118360A (zh) 数据处理方法、瘦客户机系统、服务器及瘦客户机
CN103152573A (zh) 一种移动终端与智能电视间图像帧传输的方法及系统
Zhong et al. On building a programmable wireless high-quality virtual reality system using commodity hardware
US9721359B2 (en) Apparatus and method of decompressing rendering data and recording medium thereof
CN106713922B (zh) 图像处理方法和电子设备
CN103632337A (zh) 实时的顺序无关透明渲染
CN104094603A (zh) 用于在视频编码系统中进行集成元数据插入的系统和方法
CN109413152B (zh) 图像处理方法、装置、存储介质及电子设备
JP6395971B1 (ja) グラフィカルコマンドトークンの修正
CN102185861B (zh) 一种实现平板电脑与智能手机交互的系统及方法
CN107077747B (zh) 远程显示的图形命令压缩
CN105745930B (zh) 用于图像比特流处理的技术
Pańka et al. Visualization of multidimensional data on distributed mobile devices using interactive video streaming techniques
CN104427334A (zh) 数据处理方法、图像演示方法、数据处理装置和演示设备
US11677980B2 (en) Image compression and decompression via reconstruction of lower resolution image data
JP6067085B2 (ja) 画面転送装置
CN117938823A (zh) 云游戏画面分享方法、装置、设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant