首页 专利交易 科技果 科技人才 科技服务 国际服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

图形处理器、渲染系统及操作图形处理器的方法 

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

申请/专利权人:三星电子株式会社

摘要:提供了一种图形处理器、渲染系统以及操作图形处理器的方法。所述图形处理器可以包括内部命令生成器和图形计算设备。所述内部命令生成器可以被配置为接收定时信息并且基于所述定时信息生成用于定期地执行变形的变形命令。所述图形计算设备可以被配置为响应于所述变形命令,通过使用从外部源提供的感测信息以及已被渲染过的帧数据,定期地执行所述变形,而无需由主机进行上下文切换。

主权项:1.一种图形处理器,包括:内部命令生成器,所述内部命令生成器被配置为:接收具有特定周期的定时信息,而无需主机的干预,并且基于所述定时信息生成用于定期地执行变形的变形命令;以及图形计算设备,所述图形计算设备被配置为:响应于所述变形命令,使用从外部源提供的感测信息和已被渲染过的帧数据,根据所述特定周期定期地执行所述变形,而无需所述主机执行从渲染处理到变形处理的上下文切换。

全文数据:图形处理器、渲染系统及操作图形处理器的方法相关专利申请的交叉引用本申请要求于2017年12月22日在韩国知识产权局提交的韩国专利申请号10-2017-0178741的优先权,其公开内容通过引用全部并入本文。技术领域与示例实施例一致的装置和方法涉及图形处理器,更具体地涉及执行变形warp的图形处理器、包括图形处理器的渲染系统以及操作图形处理器的方法。背景技术虚拟现实VR指的是通过使用计算机来创建特定环境或情况的用户到设备界面,从而使使用该界面的用户感觉就像他们正在与真实环境和真实情况进行交互一样。在VR应用中,用户的运动反映在向用户显示的图像上,因此极大地展示了真实感。为了将用户的运动快速地反映到向用户显示的图像,使用了现有渲染结果的变形技术可能是适用的。然而,用于渲染的上下文contextforrendering和用于变形的上下文contextforwarping之间切换时出现的延迟时间可能会降低VR中的真实感。发明内容一个或更多个示例实施例提供了图形处理器、包括所述图形处理器的渲染系统以及操作所述图形处理器的方法,所述图形处理器能够通过减少在变形期间出现的延迟时间来增强虚拟现实VR中的真实感。根据示例实施例的一个方面,提供了一种图形处理器,所述图形处理器包括:内部命令生成器,所述内部命令生成器被配置为接收定时信息,并且基于所述定时信息生成用于定期地执行变形的变形命令;以及图形计算设备,所述图形计算设备被配置为响应于所述变形命令,通过使用从外部源提供的感测信息以及已被渲染的渲染过的帧数据,定期地执行所述变形,而无需由主机进行的上下文切换。根据示例实施例的一个方面,提供了一种渲染系统,所述渲染系统包括:定时器,所述定时器被配置为生成表示变形时机的定时信息;图形处理器,所述图形处理器被配置为响应于来自主机的命令来执行渲染以生成渲染过的帧数据;存储器,所述存储器包括存储区域和处理器,所述存储区域存储所述渲染过的帧数据,所述处理器被配置为响应于定时信息通过使用所述渲染过的帧数据以及从外部源提供的感测信息来执行变形,并将变形后的图像存储在所述存储区域中。根据示例实施例的一个方面,提供了一种操作图形处理器的方法。所述方法可以包括:响应于来自主机的命令生成渲染过的帧数据;基于不依赖于所述主机而接收到的定时信息来确定变形时机;基于所述渲染过的帧数据和不依赖于所述主机而接收到的感测信息来执行变形;以及通知所述主机所述变形已完成。附图说明根据以下结合附图对示例实施例的详细描述,上述和或其他方面将被更清楚地理解,在附图中:图1是根据示例实施例的渲染系统的框图;图2是图1的渲染系统已应用于头戴式显示器HMD的示例的框图;图3是例示了根据示例实施例的渲染系统的操作的框图;图4是根据示例实施例的操作图形处理器的方法的流程图;图5A和图5B是分别例示了基于上下文切换的一般变形处理的图和根据示例实施例的变形处理的图;图6是根据示例实施例的渲染系统的框图;图7是例示了根据示例实施例的图形处理器的详细结构和操作的框图;图8是例示了与图形处理单元GPU的操作相关联的流程的框图;图9和图10是根据示例实施例的操作渲染系统的方法的流程图;图11是执行了根据图9的上述示例实施例的操作方法的图形处理器的实施例的框图;图12是执行了根据图10的上述示例实施例的操作方法的渲染系统的实施例的框图;图13例示了在主机控制下由GPU执行的变形以及由运算处理器执行的变形在变形期间的操作特性的示例;以及图14是根据示例实施例的包括存储器设备的移动设备的框图。具体实施方式现在将参照附图更全面地描述示例实施例。图1是根据示例实施例的渲染系统10的框图。渲染系统10可以包括图形处理器100和存储器101。图形处理器100可以是图形处理单元GPU。为了便于解释,在下面的示例实施例中,GPU可以被称为图形处理器。然而,可以使用包括中央处理单元CPU、应用处理器AP等的各种其他类型的处理器中的任何一种来实现图形处理器100。图形处理器100可以执行渲染系统10内的图形操作。例如,图形处理器100可以接收三维3D对象然后对接收到的3D对象执行图形操作以便输出二维2D渲染图像。图形处理器100可以被配置为执行基于图块的渲染并且可以包括图形管线以便实现该配置。图形管线可以并行处理多条图形数据。每个图形管线可以包括用于图形相关操作的各种类型的配置,并且例如可以通过硬件、软件或两者的组合进行配置。渲染系统10还可以包括控制该系统的整体操作的中央处理单元CPU,以及用于组件之间通信的诸如外围组件互连PCI总线和PCIExpress总线之类的各种类型的总线。渲染系统10的示例可以包括但不限于个人计算机PC、移动电话、智能电话、膝上型计算机、平板PC、个人数字助理PDA、便携式多媒体播放器PMP、导航设备、智能电视、头戴式显示器HMD和可穿戴设备。渲染系统10可以对应于各种类型的电子系统中的任何一种。图形处理器100可以基于各种类型的应用程序接口API标准诸如开放图形库OpenGL、DirectX和计算统一设备体系构架CUDA来接收多条渲染相关的信息,并且可以执行各种图形相关的操作,诸如着色、纹理化、变形等。存储器101可以集成到与图形处理器100相同的半导体芯片中,或者可以使用与图形处理器100不同的半导体芯片来实现。存储器101可以对应于随机存取存储器RAM诸如动态随机存取存储器DRAM或静态随机存取存储器SRAM,或者可以对应于存储器设备诸如只读存储器ROM、电可擦除可编程只读存储器EEPROM或闪存。存储器101可以存储要由图形处理器100处理的图形数据例如,帧数据,或存储已由图形处理器100处理的图形数据。根据示例实施例,图形处理器100可以执行用于虚拟现实VR应用的图形操作,并且可以在VR应用中在向用户显示的图像中反映用户的运动。在这种情况下,可以将用户的运动与反映该用户运动的VR设备的显示画面之间的延迟时间定义为运动的光子延迟,并且图形处理器100可以在渲染过的图形数据例如,帧数据中执行再次反映用户运动信息的变形处理以便减少运动的光子延迟时间。图形处理器100可以经由固定更新来执行变形或用于变形的线程,以便减少由各种因素诸如在渲染系统10内由主机或由操作系统OS切换上下文引起的运动的光子延迟时间Motion-To-Photondelaytime。例如,图形处理器100可以不通过由主机或OS进行上下文切换来将渲染操作改变为用于变形的操作,而是可以经由与特定循环对应的固定更新来执行变形。根据示例实施例,图形处理器100可以基于表示特定循环的定时信息Info_T来生成变形命令CMD_warp。图形处理器100可以基于定时信息Info_T该定时信息Info_T从包括在图形处理器100内部或外部的定时器提供定期地生成变形命令CMD_warp。换句话说,因为图形处理器100能够在不需要由主机进行上下文切换来进行图形处理器100的线程改变的情况下执行变形,所以可以减少运动的光子延迟时间。对于这样的操作,图形处理器100可以包括内部命令生成器110和图形计算设备120。内部命令生成器110可以生成用于控制在图形处理器100内执行的图形操作的内部命令。例如,内部命令生成器110可以响应于定时信息Info_T生成上述变形命令CMD_warp。内部命令生成器110可以处理由主机提供的命令,并且还可以生成用于控制图形处理器100的内部操作的另一内部命令。图形计算设备120可以执行各种类型的图形操作。例如,图形计算设备120可以响应于变形命令CMD_warp通过使用渲染过的帧数据和感测信息即,传感器信息Info_sen来执行变形。例如,图形计算设备120可以基于感测信息Info_sen来确定向用户显示的图像已经改变这一状态,并且可以通过使帧数据变形来生成反映在向用户显示的图像上的变形帧数据例如,变形图像。根据示例实施例,图形计算设备120可以向主机提供指示已完成变形的信息Info_warp。换句话说,图形计算设备120可以通知主机变形已完成。响应于来自主机的命令,图形计算设备120可以执行用于一般渲染的图形操作。主机可以经由主机驱动器向图形处理器100提供一系列命令,该一系列命令描述了渲染技术以及待渲染的数据,并且图形处理器100可以接收并解释命令并且因此执行包括了几何变换处理、光栅化处理和或像素着色处理的渲染处理。图形计算设备120可以包括至少一个硬件例如,处理核心,并且变形处理可以由至少一个硬件来执行。根据示例实施例,变形和一般渲染可以由相同的硬件或不同的硬件来执行。根据示例实施例,当图形计算设备120根据从主机接收到的命令正在执行一般渲染时,图形计算设备120可以响应于来自内部命令生成器110的变形命令CMD_warp而中断一般渲染,并且可以执行变形。定时信息Info_T可以包括具有特定周期的信息,然后可以被提供给图形处理器100。例如,定时信息Info_T可以包括以至少一个帧区间的间隔被激活的信息。图形处理器100可以在定时信息Info_T已被激活的时机使用感测信息Info_sen执行变形处理。感测信息Info_sen可以为各种类型的信息,例如关于感测到的用户的头部运动或头部位置的信息。图形处理器100可以与存储器101通信,从而从存储器101接收渲染过的帧数据。例如,变形后的帧可以对应于紧接在当前正在渲染的帧之前的帧或者被输出的或被显示的最新帧。由于根据示例实施例定期地执行变形,因此可以将以特定周期例如,规则时间间隔变形的帧数据更新到存储器101。根据示例实施例,因为图形处理器100根据定时信息Info_T定期地执行变形,而不需要执行引起时间延迟的由主机进行的上下文切换,所以可以在变形期间去除延迟时间。换句话说,根据示例实施例,可以减轻或消除在要输出变形后的图像时的延迟变形、不完整变形的问题,并且可以正确地输出使用最新输出的帧的变形处理的结果。图2是图1的渲染系统10已应用于HMD的示例的框图。当渲染系统10对应于HMD时,渲染系统10还可以包括VR本体11。渲染系统10可以包括图1中所示的组件。图1中所示的组件可以构成渲染设备。参照图2,渲染设备可以包括图形处理器100和存储器101,并且可以被耦接到VR本体11。用户可以通过佩戴VR本体11来观看由渲染系统10处理的VR图像。根据示例实施例,渲染系统10还可以包括定时器130和传感器140。定时器130可以生成指示将执行上述变形处理的时机的定时信息Info_T,并且可以向图形处理器100提供该定时信息Info_T。传感器140可以生成包括用户的头部运动和头部位置的各种类型的感测信息。例如,传感器140可以包括但不限于各种类型的传感器,诸如惯性传感器、光学传感器、接近传感器、磁性传感器、加速度传感器、红外传感器、陀螺仪传感器、方位传感器例如,全球定位系统GPS传感器和RGB传感器即,颜色传感器。或者,传感器140可以对应于其他类型的传感器,或者还可以包括其他传感器。尽管传感器140被包括在图2中的渲染设备中,但是传感器140也可以被包括在VR本体11中,并且可以通过有线或无线通信向图形处理器100提供感测信息Info_sen。图3是例示了根据示例实施例的渲染系统200的操作的框图。参照图3,渲染系统200可以包括作为图形处理器的GPU210、作为传感器的示例的头部位置传感器220、定时器230和主机240。主机240可以包括应用和主机驱动器。例如,应用和主机驱动器可以对应于存储在渲染系统200中包括的操作存储器例如,主存储器中的软件,并且由于应用和主机驱动器由渲染系统200中包括的CPU来执行,所以可以实现与应用和主机驱动器对应的功能。可以将主机驱动器与渲染系统200中包括的各种类型的组件一致地进行布置,渲染系统200中包括的组件可以由主机驱动器来控制。主机240可以经由主机驱动器将待渲染的数据和命令提供给GPU210。GPU210可以响应于经由主机驱动器的命令来执行渲染并且可以将渲染的结果存储在外部存储器中。GPU210可以直接接收定时信息Info_T和感测信息Info_sen,而无需向主机驱动器请求干预,并且可以基于接收到的定时信息Info_T和接收到的感测信息Info_sen来确定变形时机。定时信息Info_T可以包括用于更新变形帧数据的循环信息,并且GPU210可以根据定时信息Info_T执行变形。换句话说,GPU210可以执行变形而不用管由OS或主机240进行的上下文切换,并且可以向主机240提供指示变形已经完成的信息。GPU210可以暂时中断当前正在执行的渲染处理以便执行变形。例如,GPU210可以根据先占法中断某个操作过程并且可以执行变形。GPU210可以被分配一些其他资源例如,处理核心并且执行变形。根据示例实施例,变形可以由执行一般渲染的资源来执行。根据示例实施例,在渲染系统200内,定时信息Info_T和感测信息Info_sen可以被提供给主机240。例如,定时信息Info_T和感测信息Info_sen可以经由OS驱动器被提供给主机240,并且主机240可以基于各种类型的接收到的信息来控制变形后的图像的输出。根据示例实施例,GPU210可以包括多个处理核心,其中一些处理核心可以执行渲染而其他的处理核心可以与渲染并行地执行变形。根据示例实施例,GPU210可以基于定时信息Info_T来检查在变形期间的感测信息Info_sen,并且当用户的头部位置没有改变时可以跳过变形。根据示例实施例,当执行特定应用时,基于OS的控制可能出现多次上下文切换,但是GPU210可以在OS不进行的上下文切换的情况下执行变形。因此,用户的运动可以快速地反映在呈现给用户的显示图像中,从而提高了VR中真实感和沉浸感。另外,可以缓解或消除由于OS进行的上下文切换而在已确定的帧定时处对新帧进行不完整的和或延迟的渲染的问题。图4是根据示例实施例的操作图形处理器的方法的流程图。参照图4,在操作S11中,图形处理器可以响应于来自主机的命令来执行一般渲染,并且在操作S12中,图形处理器可以不用管主机而在执行渲染的同时定期地接收定时信息和感测信息。例如,感测信息可以定期地被更新到图形处理器的内部寄存器或图形处理器的外部存储器,并且可以从内部寄存器或外部存储器读取并且被提供给包括在图形处理器中的命令处理器。在操作S13中,图形处理器可以根据接收到的定时信息来确定执行变形的时机。在操作S14中,图形处理器可以通过使用渲染过的帧数据或最新的输出帧数据和感测信息来执行变形。根据示例实施例,当前正在执行的渲染处理可以被中断并且可以执行变形,变形可以由执行渲染的硬件或者由单独的硬件来执行。在操作S15中,图形处理器可以向主机发送指示变形已完成的信息。图5A和图5B是分别例示了基于上下文切换的一般变形处理和根据示例实施例的变形处理的图。在示例实施例中,变形可以被定义为与上述一般渲染区分开的概念,并且渲染和一般渲染可以互换地使用。将参照图5A和图5B来描述从主机的角度来执行渲染的示例。存储器可以包括多个缓冲器,图5A和图5B的第一缓冲器Buffer0和第二缓冲器Buffer1是用于存储渲染结果的空间,因此可以表示在显示中使用的前缓冲器和记录渲染的中间数据的后缓冲器。然而,这仅仅是一个示例,因此存储器可以具有三个或更多个缓冲器。参照图5A,主机可以向GPU提供用于渲染的命令,并且GPU可以通过使用第二缓冲器Buffer1来渲染第N帧。在渲染期间可能出现表示变形循环的OS事件,因此主机可以中断当前正在执行的渲染处理,并且可以基于渲染过的帧数据和头部位置信息经由主机驱动器请求切换到用于变形的上下文。此时,因为关于第N帧的渲染尚未完成,所以GPU可以在主机的控制下通过使用紧接在第N帧之前渲染并存储在第一缓冲器Buffer0中的第N-1帧数据帧N-1来执行变形,并且可以生成变形的帧数据例如,变形的图像帧N-1'。所生成的变形的图像帧N-1'可以对应于通过在第N-1帧中反映最近更新的用户头部位置信息而获得的新图像,并且可以输出所生成的变形的图像帧N-1'。在变形之后,再次切换上下文以用于针对第N帧的渲染,然后对第N帧执行渲染。可以对第N+1帧、第N+2帧等重复执行该操作。在这种情况下,如图5A所示,由于上下文切换产生的延迟时间,可能会出现帧遗漏。例如,在针对第N帧的渲染已完成之后,在针对第N+1帧的渲染过程中,如虚线所指示的,在出现了用于变形的上下文切换的情况下,延迟时间可能出乎预料地增加,并且无法输出使用最终输出帧例如,第N帧的变形的图像。在这种情况下,在主机的控制下可能重新使用现有的变形的图像帧N-1'。这可能会导致在用户体验中真实感和沉浸感的减弱。参照图5B,当执行变形时,GPU可以减少OS的干预,因此可以在变形期间适当地反映渲染后和更新后的帧。例如,如图5B所示,GPU以规则间隔执行变形而不受OS的干预,因此可以消除由OS用来进行上下文切换的延迟时间。例如,GPU可以根据主机的命令通过使用第二缓冲器Buffer1来对第N帧执行一般渲染,并且GPU可以根据定时信息通过使用存储在第一缓冲器Buffer0中的第N-1帧数据以及感测信息来执行变形,并且可以输出经由变形而生成的变形的图像帧N-1'。此时,主机可以连续地为GPU提供用于一般渲染的命令和数据而无需上下文切换。此后,GPU可以根据主机的命令对第N+1帧执行渲染,并且GPU可以根据定时信息通过使用存储在第二缓冲器Buffer1中的第N帧数据以及感测信息来执行变形,并且可以输出经由变形而生成的变形的图像帧N'。换句话说,由于可以消除在执行变形以前生成的、由主机进行上下文切换而引起的延迟时间,可以适当地更新变形结果,因而相应地,可以提供更稳定和一致的用户体验。图6是根据示例实施例的渲染系统300的框图。渲染系统300可以包括作为图形处理器的GPU310、VR本体320和存储器330。如上所述,当渲染系统300是HMD时,除了VR本体320之外的组件可以构成渲染设备,并且渲染设备可以耦接到VR本体320。GPU310可以包括内部定时器311和内部命令生成器312,并且VR本体320可以包括传感器321。在上述示例实施例中,存储器330可以包括至少一个缓冲器,并且GPU310可以从存储器330接收渲染过的帧数据Data_Ren,可以针对渲染过的帧数据Data_Ren执行根据上述示例实施例的变形,并且可以将变形后的帧数据Data_warp存储在存储器330中。根据示例实施例,定时信息Info_T和感测信息Info_sen可以在渲染系统300内以各种形式被生成。在图6中,因为VR本体320包括传感器321,所以VR本体320可以感测用户的头部运动和头部位置,并且可以经由有线或无线传输单元向GPU310提供感测信息Info_sen。GPU310可以根据来自GPU310的内部定时器311的定时信息Info_T,定期地执行变形而不受主机或OS的干预。图6中所示的特征仅仅是示例实施例,因此内部定时器311和传感器321可以被布置在渲染系统300内的各种其他位置。图7是例示了根据示例实施例的图形处理器的详细结构和操作的框图。参照图7,渲染系统400可以包括作为图形处理器的GPU410,并且还可以包括传感器420、定时器430和存储器440。作为传感器420,图7例示了感测用户的头部运动和或头部位置的头部位置传感器。传感器420和定时器430可以被布置在渲染系统400内的各种位置,或者根据上述示例实施例,传感器420可以被布置在VR本体中。GPU410可以包括寄存器411、中断控制器413、命令处理器414、着色器处理器415和存储器控制器416。GPU410可以包括作为可选组件的在内部检测时机的组件。图7例示了内部定时器412被包括在GPU410中的示例。在这种情况下,可以不将定时器430包括在渲染系统400中,或者GPU410不需要从定时器430接收定时信息Info_T。例如,存储器控制器416可以是直接存储器存取控制器DMAC。存储器440可以包括各种存储区域,例如存储渲染系统400中使用的各条信息的区域,以及存储根据上述示例实施例渲染的帧数据以及正在渲染的帧数据的至少一个缓冲区域。变形后的帧数据还可以被存储在存储器440中,并且主机可以将存储在存储器440中的变形后的图像输出到显示器。寄存器411可以临时存储与图形操作相关联的各条信息。例如,寄存器411可以存储与GPU410的操作相关联的状态信息或者存储感测信息Info_sen,诸如从传感器420接收的头部运动和或头部位置信息。当在GPU410内执行变形时,可以使用在寄存器411中定期更新的感测信息Info_sen。或者,作为示例,来自传感器420的感测信息Info_sen可以被存储在存储器440的区域中,并且经由渲染系统400的初始设置过程而存储感测信息Info_sen的存储器440的区域的地址信息可以被存储在寄存器411中。当在GPU410内执行变形时,可以使用根据存储在寄存器411中的地址从存储器440读取的感测信息Info_sen。中断控制器413可以响应于GPU410内部或外部的定时信息Info_T来控制中断操作。根据示例实施例,中断控制器413可以基于定时信息Info_T控制中断,使得GPU410执行变形。例如,中断控制器413可以中断当前正在执行的渲染处理并且控制该中断,从而执行变形。命令处理器414可以根据上述示例实施例执行内部命令生成操作,并且可以根据示例实施例生成用于控制变形的变形命令。命令处理器414可以在GPU410内执行整体命令控制操作,并且可以执行对从主机接收的命令进行处理的操作。着色器处理器415可以是包括在根据上述示例实施例的图形计算设备中的组件,并且可以包括至少一个执行包括变形在内的图形操作的硬件。例如,着色器处理器415可以在一般渲染期间基于着色来执行图形操作,并且可以根据上述示例实施例在命令处理器414的控制下执行变形。如上所述,渲染和变形可以通过相同的硬件或通过不同的硬件来执行。存储器控制器416可以执行用于直接访问GPU410外部的存储器440的控制功能。着色器处理器415可以使用经由存储器控制器416接收到的帧数据来执行变形,并且可以经由存储器控制器416向存储器440提供与变形的结果对应的帧数据。现在将参照图7和图8来描述GPU410的操作。图8是例示了与GPU410的操作相关联的流程的框图。图8还例示了包括在渲染系统400中的控制GPU410的主机驱动器450。在操作S21中,主机可以经由主机驱动器450将用于变形的着色器发送到GPU410。用于变形的着色器可以包括信息,诸如与要由着色器处理器415执行的变形操作相关联的指令和程序,并且可以当渲染系统400操作时在GPU410内被设置。例如,可以通过各种类型的操作来执行变形,并且描述了变形操作方法的指令可以被发送到GPU410。GPU410可以基于所设置的信息执行变形而不受随后的主机干预。根据示例实施例,用于变形的着色器可以被存储在存储器440中,并且GPU410可以从存储器440接收用于变形的着色器。在操作S22中,GPU410可以基于从主机接收的命令以及图形数据来执行一般渲染。主机可以包括与将最终输出到屏幕的帧对应的特殊指示符信息,并且可以将包括该指示符信息的帧发送到GPU410。GPU410可以通过检查包括在帧中的指示符信息来确定待变形的帧。在操作S23中,GPU410可以将经历了一般渲染的帧图像存储在存储器440中。根据上述示例实施例,在操作S24中,GPU410可以定期地接收感测信息例如,头部运动和或头部位置信息。根据示例实施例,当初始设置渲染系统400时,可以对存储来自传感器420的感测信息Info_sen的位置进行设置。例如,感测信息Info_sen可以被存储在渲染系统400的寄存器411中。感测信息Info_sen可以被定期地更新至寄存器411,并且存储在寄存器411中的感测信息Info_sen可以被定期地提供给指令处理器414。例如,来自传感器420的感测信息Info_sen可以被存储在存储器440的存储空间中,并且感测信息Info_sen可以被定期地更新到存储器440。存储感测信息Info_sen的存储器440的地址信息可以被设置在寄存器411中,并且GPU410可以通过使用存储在寄存器411中的地址信息定期地读取存储在存储器440中的感测信息Info_sen,并且将定期地读出的感测信息Info_sen提供给命令处理器414。作为另一示例,来自传感器420的感测信息Info_sen可以被存储在传感器420中并且可以被定期地提供给GPU410。在操作S25中,定时器430可以根据渲染系统400的状态设置向GPU410定期地提供定时信息Info_T。根据示例实施例,当GPU410包括内部定时器412时,来自内部定时器412的定时信息Info_T可以被提供给中断控制器413。GPU410可以根据通用中断处理方法或与其对应的另一方法来处理外部提供的信号。如果外部提供的信号是诸如感测信息Info_sen和定时信息Info_T之类的变形相关信号,则可以如下来执行变形。在操作S26中,GPU410可以从存储器440接收在变形期间要使用的帧数据,例如渲染过的帧数据,并且可以接收存储在存储器440的初始设置地址中的感测信息Info_sen。尽管感测信息Info_sen被存储在图8中的存储器440中,然而可以如上所述从GPU410的寄存器411读取感测信息Info_sen,或者可以将存储在传感器420中的感测信息Info_sen提供给命令处理器414。命令处理器414可以使用诸如先前接收到的用于变形的着色器、渲染过的帧数据和感测信息Info_sen之类的变形相关信息来产生内部命令。着色器处理器415可以根据所生成的内部命令来执行用于变形的图形操作。根据示例实施例,所生成的内部命令可以立即用于命令调度,或者可以在被存储于存储器440之后用于命令调度。GPU410可以根据如上所述的先占法等中断已经关于全部或一些资源执行的渲染,以便执行变形。可以使用感测信息Info_sen基于内插或变换操作来对渲染过的帧数据进行变形,并且作为变形的结果,可以生成通过在向用户显示的图像中反映用户的运动而获得的变形后的图像。在操作S28中,变形后的图像可以被存储在存储器440中。在操作S29中,当变形已经完成时,GPU410可以向主机驱动器450提供表示变形完成的信息。表示变形完成的信息可以与表示已经完成一般渲染的信息区分开,并且主机可以基于表示变形完成的信息来控制变形后的图像的输出。图9和图10是根据示例实施例的操作渲染系统的方法的流程图。图9和图10例示了在着色器处理器之外执行用于变形的图形操作的示例。参照图9,在操作S31中,着色器处理器可以响应于来自主机的命令来执行一般渲染。在操作S32中,图形处理器GPU可以不用管主机而接收与变形相关联的定时信息和感测信息。在操作S33中,图形处理器GPU可以根据接收到的定时信息来确定变形时机。除了用于执行一般渲染的着色器处理器之外,图形处理器GPU还可以包括执行特定操作的计算设备,并且计算设备可以执行与渲染无关的操作。在这种情况下,当变形时机已达到时,图形处理器GPU可以经由内部命令来控制计算设备的操作,并且在操作S34中计算设备可以通过使用已经渲染过的帧数据和感测信息来执行用于变形的操作。当计算设备完成变形时,在操作S35中,图形处理器可以向主机发送指示变形已完成的信息。然而,参照图10,在操作S41中,图形处理器GPU可以响应于来自主机的命令来执行一般渲染。渲染系统包括能够执行预设操作的计算设备。在操作S42中,根据上述实施例,计算设备可以接收定时信息和感测信息。根据示例实施例,外部计算设备可以不用管主机而接收定时信息和感测信息。根据示例实施例,外部计算设备可以经由主机接收定时信息和感测信息。在操作S43中,外部计算设备可以基于定时信息来确定变形时机,并且可以通过使用渲染过的帧数据和感测信息来执行用于变形的操作。在操作S44中,外部计算设备可以向主机发送指示变形已完成的信息。根据图9和图10的示例实施例,因为变形是由独立于图形处理器内执行一般渲染的硬件的计算设备来执行的,所以渲染和变形可以同时被执行。换句话说,变形可以被稳定地执行,并且由于在图形处理器内渲染被中断的次数的减少,渲染速度可以提高。图11是执行了根据图9的上述示例实施例的操作方法的图形处理器的实施例的框图。参照图11,作为图形处理器的GPU500可以包括命令处理器510、着色器处理器520和DMA控制器DMAC530。DMAC530可以控制外部存储器以向外部存储器写入数据和从外部存储器读取数据,并且可以包括执行与变形相关联的图形操作的运算处理器531。运算处理器531可以包括固定或可编程硬件形式的、变形所需要的计算功能。可以通过使用已经渲染过的帧数据,通过诸如内插和或变换之类的简单运算来执行变形,并且GPU500可以通过使用DMAC530的运算处理器531来执行变形。根据示例实施例,可以在DMAC530和外部存储器之间传输要被变形的帧数据和变形后的帧数据。也可以在DMAC530和外部存储器之间传输与变形相关联的各条信息中的至少一些信息。例如,当感测信息被存储在存储器中时,感测信息可以在DMAC530和存储器之间传输。描述了用于在DMAC530中执行变形操作的变形操作方法的程序可以被存储在DMAC530或存储器中,并且与变形操作相关联的程序信息可以在DMAC530和存储器之间传输。根据操作示例,命令处理器510可以根据上述示例实施例执行处理来自主机的命令的操作,并且可以生成用于执行内部变形的变形命令CMD_warp。例如,命令处理器510可以处理来自主机的命令,并且因此向着色器处理器520提供用于一般渲染的内部命令CMD_Ren。命令处理器510可以根据上述示例实施例通过使用与变形相关联的多条信息来生成变形命令CMD_warp,并且可以将变形命令CMD_warp提供给DMAC530。例如,命令处理器510可以基于定时信息定期地生成变形命令CMD_warp。当从外部传感器向GPU500提供感测信息时,可以在命令处理器510的控制下向DMAC530提供与用户的头部运动和或头部位置信息相关联的感测信息。例如,当感测信息被存储到GPU500中包括的寄存器中时,在命令处理器510的控制下,感测信息被从寄存器读取并且被提供给DMAC530。根据示例实施例,由着色器处理器520执行的一般渲染和由DMAC530执行的变形可以被并行地执行。例如,即使当要执行变形的时机达到时,包括在GPU500中的中断控制器也不会生成用于中断一般着色的中断。图12是执行了根据图10的上述示例实施例的操作方法的渲染系统600的示例实施例的框图。图12例示了在外部存储器中执行变形的示例。渲染系统600可以包括作为图形处理器的GPU610、主机620、外部存储器630、传感器640和定时器650。如同在上述示例实施例中那样,传感器640可以感测用户的头部运动和或头部位置以生成感测信息,并且定时器650可以被实现为包括在GPU610中的内部定时器。根据示例实施例,外部存储器630可以包括执行用于变形的图形操作的处理器631,以及用于存储各条信息和数据的存储空间。由于外部存储器630包括内部处理功能,所以外部存储器630可以被称为存储器中的处理器PIM。图12例示了外部存储器630的存储空间包括用于存储渲染过的帧图像的空间、用于存储变形后的图像的空间以及用于存储各种类型的信息的空间的示例。根据示例实施例,来自传感器640的感测信息Info_sen可以被定期地存储在外部存储器630中。GPU610可以响应于来自主机620的命令来执行一般渲染,并且可以将渲染过的帧数据存储在外部存储器630中。来自定时器650的定时信息可以不经由GPU610而直接地被提供给外部存储器630,处理器631可以基于定时信息定期地且直接地执行用于变形的图形操作。例如,渲染过的帧图像和感测信息Info_sen可以被提供给处理器631。处理器631可以根据定时信息定期地执行已经反映了感测信息Info_sen的变形处理,并且可以向主机620提供表示变形已完成的信息。类似于上述示例实施例,描述了变形操作方法的程序信息可以被存储在外部存储器630中,并且可以使用该程序信息来执行上述变形处理。根据图12的示例实施例,可以在GPU610之外执行变形,并且相应地,可以将与变形相关联的各种类型的信息直接提供给外部存储器630。尽管定时信息和感测信息全部被提供给图12中的外部存储器630,但实施例不限于此。例如,定时信息可以被提供给GPU610,并且GPU610可以向外部存储器630定期地提供执行用于变形的图形操作的命令。根据图12的示例实施例,可以并行地执行由GPU610执行的一般渲染和由外部存储器630执行的变形。图13例示了在主机控制下由GPU执行的变形以及由运算处理器执行的变形在变形期间的操作特性的示例。图13的图a、图b和图c例示了从GPU的角度的渲染和变形。参照图13的图a,当通过由主机进行上下文切换来执行变形时,主机通过上下文切换在一般渲染和变形之间定期地执行切换。GPU可以通过反映由于上下文切换而导致的延迟时间来执行一般渲染和变形。然而,参照图13的图b,主机可以向GPU提供用于渲染的命令,而不切换到变形。GPU可以交替地执行渲染和变形。在这种情况下,可以消除或减少在渲染和变形之间切换期间所产生的延迟时间。然而,参照图13的图c,根据上述示例实施例,当包括在存储器控制器中的运算处理器或包括在存储器中的处理器执行变形时,GPU可以连续地执行渲染而不用切换到变形,并且运算处理器或处理器可以执行独立于渲染的变形,即并行地执行变形和渲染。因此,可以提高GPU渲染的速度,并且运算处理器或处理器可以稳定地执行变形。图14是根据示例实施例的包括存储器设备720的移动设备700的框图。移动设备700可以对应于渲染系统,并且可以包括应用处理器AP710和存储设备720。AP710可以通过使用单片系统SoC来实现。SoC可以包括已经应用了具有特定总线标准的协议的系统总线,并且可以包括被连接到该系统总线的各种类型的智能属性IP设备。图14例示了AP710包括作为IP设备的CPU711、图形处理器GPU712、调制解调器处理器713、存储器控制单元714和操作存储器715。当AP710执行调制解调器通信功能时,AP710可以被称为ModAP。高级精简指令集计算机ARM的高级微控制器总线架构AMBA协议可以被用作系统总线的标准。使用AMBA协议的总线的示例可以包括高级高性能总线AHB、高级外设总线APB、高级可扩展接口AXI、AXI4和AXI一致性扩展ACE。除此之外,其他类型的协议诸如SONICs公司的uNetwork、IBM的CoreConnect以及OCP-IP的开放核心协议都是适用的。图形处理器712可以执行上述实施例中描述的变形处理。因此,图形处理器712可以在没有OS干预的情况下确定变形时机,生成内部命令,并且根据所生成的内部命令执行用于变形的操作。例如,无需请求CPU711来运行存储在操作存储器715中的程序以便执行与变形相关联的上下文切换,图形处理器712可以接收感测信息并且可以通过使用感测信息来执行变形。图形处理器712可以向存储器设备720发送变形后的图像,并且可以向主机提供指示变形已完成的信息。虽然已经参考本公开的示例实施例示出和描述了本公开,但是将理解的是,在不脱离所附权利要求的精神和范围的情况下,可以对本公开进行形式和细节上的各种改变。

权利要求:1.一种图形处理器,包括:内部命令生成器,所述内部命令生成器被配置为:接收定时信息,并且基于所述定时信息生成用于定期地执行变形的变形命令;以及图形计算设备,所述图形计算设备被配置为:响应于所述变形命令,使用从外部源提供的感测信息以及已被渲染过的帧数据,定期地执行所述变形,而无需由主机进行的上下文切换。2.根据权利要求1所述的图形处理器,还包括中断控制器,所述中断控制器被配置为控制中断操作,使得所述图形计算设备基于所述定时信息中断当前正被执行的渲染处理并且执行所述变形。3.根据权利要求1所述的图形处理器,其中,所述感测信息和所述定时信息直接被提供给所述图形计算设备,而不用经由所述主机。4.根据权利要求3所述的图形处理器,其中,所述感测信息包括由与所述图形处理器耦接的虚拟现实设备中包括的传感器所生成的用户的头部位置信息。5.根据权利要求1所述的图形处理器,还包括内部定时器,所述内部定时器被配置为生成表示所述变形将被执行的时机的所述定时信息,其中,所述内部命令生成器还被配置为从所述内部定时器接收所述定时信息。6.根据权利要求1所述的图形处理器,还包括寄存器,所述寄存器被配置为存储所述感测信息,其中,所述感测信息在所述寄存器中定期地被更新,其中,所述感测信息被从所述寄存器读取并被提供给所述图形计算设备。7.根据权利要求1所述的图形处理器,其中,所述图形计算设备包括多个处理核心,所述多个处理核心包括第一处理核心和第二处理核心,其中,根据来自所述主机的命令的一般渲染由所述第一处理核心执行,并且根据所述变形命令的所述变形由所述第二处理核心执行,并且其中,由所述第一处理核心执行的所述一般渲染和由所述第二处理核心执行的所述变形被并行地执行。8.根据权利要求1所述的图形处理器,其中,所述图形计算设备还被配置为:还使用当所述图形处理器初始操作时由所述主机提供的着色器程序来执行所述变形。9.根据权利要求1所述的图形处理器,其中,所述图形计算设备包括用于控制外部存储器的存储器控制器,并且所述存储器控制器包括运算处理器,并且其中,所述变形由所述存储器控制器内的所述运算处理器执行。10.根据权利要求1所述的图形处理器,其中,所述图形计算设备还被配置为:从所述主机接收指示将被渲染的帧是否将被变形的指示符信息,以及通知所述主机所述变形已完成。11.一种渲染系统,包括:定时器,所述定时器被配置为生成表示变形时机的定时信息;图形处理器,所述图形处理器被配置为响应于来自主机的命令来执行渲染以生成渲染过的帧数据;以及存储器,所述存储器包括存储区域和处理器,所述存储区域存储所述渲染过的帧数据,所述处理器被配置为响应于所述定时信息通过使用所述渲染过的帧数据以及从外部源提供的感测信息来执行变形,并将变形后的图像存储在所述存储区域中。12.根据权利要求11所述的渲染系统,其中,所述定时信息和所述感测信息被直接提供给所述存储器,而不用经由包括在所述渲染系统中的所述主机。13.根据权利要求11所述的渲染系统,其中,所述存储器还包括存储与所述变形相关联的至少一条信息的信息存储区域,并且其中,从所述外部源提供的所述感测信息在所述信息存储区域中定期地被更新,并且从所述信息存储区域读取的所述感测信息被提供给所述处理器。14.根据权利要求11所述的渲染系统,其中,由所述图形处理器执行的所述渲染和由所述处理器执行的所述变形被并行地执行。15.根据权利要求11所述的渲染系统,其中,所述图形处理器还被配置为向所述存储器提供指示渲染过的帧中的将被变形的帧的指示符,并且其中,所述存储器还被配置为通过使用由所述指示符指示的所述渲染过的帧数据来执行所述变形,并且通知所述主机所述变形已完成。16.一种操作图形处理器的方法,所述方法包括:响应于来自主机的命令生成渲染过的帧数据;基于不依赖于所述主机而接收到的定时信息来确定变形时机;基于所述渲染过的帧数据和不依赖于所述主机而接收到的感测信息来执行变形;以及通知所述主机所述变形已完成。17.根据权利要求16所述的方法,还包括从所述主机接收指示将被变形的帧的指示符信息,其中,所述的执行所述变形包括:对存储在外部存储器中的至少一个帧数据中的由所述指示符信息指示的帧数据进行变形。18.根据权利要求16所述的方法,还包括从所述主机接收用于所述变形的着色器程序,其中,通过使用所述着色器程序执行所述变形。19.根据权利要求16所述的方法,还包括基于所述定时信息执行中断控制以中断当前正被执行的渲染并且执行所述变形。20.根据权利要求16所述的方法,其中,所述图形处理器包括至少一个处理核心和用于与外部存储器通信的存储器控制器,其中,所述渲染由所述至少一个处理核心执行,并且所述变形由包括在所述存储器控制器中的运算处理器执行,并且所述渲染和所述变形被并行地执行。

百度查询: 三星电子株式会社 图形处理器、渲染系统及操作图形处理器的方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。