CN106210883A - 一种视频渲染的方法、设备 - Google Patents
一种视频渲染的方法、设备 Download PDFInfo
- Publication number
- CN106210883A CN106210883A CN201610659067.5A CN201610659067A CN106210883A CN 106210883 A CN106210883 A CN 106210883A CN 201610659067 A CN201610659067 A CN 201610659067A CN 106210883 A CN106210883 A CN 106210883A
- Authority
- CN
- China
- Prior art keywords
- view data
- data
- video
- decoded
- conversion
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 134
- 238000009877 rendering Methods 0.000 title claims abstract description 63
- 230000008569 process Effects 0.000 claims abstract description 97
- 238000006243 chemical reaction Methods 0.000 claims abstract description 95
- 238000004040 coloring Methods 0.000 claims abstract description 64
- 238000004364 calculation method Methods 0.000 claims abstract description 41
- 238000003860 storage Methods 0.000 claims abstract description 35
- 239000011159 matrix material Substances 0.000 claims description 36
- 238000005070 sampling Methods 0.000 claims description 26
- 238000012937 correction Methods 0.000 claims description 20
- 238000000151 deposition Methods 0.000 claims description 6
- 239000000872 buffer Substances 0.000 description 12
- 238000005516 engineering process Methods 0.000 description 12
- 230000009466 transformation Effects 0.000 description 9
- 238000004590 computer program Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000003111 delayed effect Effects 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000003139 buffering effect Effects 0.000 description 2
- 230000005611 electricity Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 239000003086 colorant Substances 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/44012—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving rendering scenes according to scene graphs, e.g. MPEG-4 scene graphs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/64—Circuits for processing colour signals
- H04N9/68—Circuits for processing colour signals for controlling the amplitude of colour signals, e.g. automatic chroma control circuits
- H04N9/69—Circuits for processing colour signals for controlling the amplitude of colour signals, e.g. automatic chroma control circuits for modifying the colour signals by gamma correction
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Image Processing (AREA)
- Image Generation (AREA)
Abstract
本发明公开了一种视频渲染的方法、设备,用以减小视频在渲染过程中对CPU的性能的损耗。所述视频渲染的方法,包括:中央处理器CPU对需要播放的视频的图像数据进行解码,并将解码后的图像数据存储在图形处理器GPU访问的纹理缓存中,其中,所述解码后的图像数据的颜色空间类型YUV预先设置在运行在图形处理器GPU上的像素着色器中;图形处理器GPU根据所述像素着色器中的颜色空间类型YUV对所述纹理缓存中存储的图像数据进行采样、插值计算和颜色空间变换,并将变换后的图像数据存储在交换链中,并通过所述交换链的翻转将所述变换后的图像数据进行显示。
Description
技术领域
本发明涉及显示技术领域,尤其涉及一种视频渲染的方法、设备。
背景技术
渲染是制作动画或者静帧作品时的最后一道工序,它是使用渲染器根据场景中设置的物体的参数设置对物体进行着色的过程,渲染是制作过程中比较重要的环节。
具体地,一个完整的图像数据处理流程包括如下环节:图像采集、数据编码、网络传输、数据解码和渲染显示。其中图像采集和数据编码位于发送端,编码数据经过网络传输后到达接收端,由接收端负责图像数据的解码和渲染以便呈现在监视器上。在接收端,经过解码后的图像数据以某种具体的颜色空间来表示(颜色空间是颜色集合的数学表达),在视频***中常用的颜色空间是YUV(其中Y表示亮度分量,U、V表示两个色度分量,彩色电视***的三大标准PAL、NTSC和SECAM都使用YUV颜色空间),实现了亮度分量和色度分量的分离,因此能够良好适应彩色和黑白视频显示***。但在计算机图形处理中,由于彩色监视器使用红、绿、蓝三种基本色来产生期望的颜色值,因此常用的颜色空间是RGB(通常不直接使用,而是使用经过伽马矫正后的RGB,用符号表示为R’G’B’)。因此,渲染显示的主要过程是进行颜色空间的变换,并将变换后的数据通过显示适配器最终输出到监视器上。
现有技术中,中国专利CN201210206062.9中公开的是基于Direct3D技术的图像处理方法及其装置,其所使用的方法是通过Direct3D技术创建表面、第一纹理、第二纹理以及与第二纹理绑定的图形流水线;将图像数据发送至表面;将表面中的图像数据发送至第一纹理;将第一纹理中的图像数据发送至第二纹理;通过图形流水线对图像数据进行处理。主要创新点是利用在显存中创建的表面直接接收图像数据,通过在显存中创建纹理以接收表面中的图像数据,并利用图形流水线对图像进行处理。然而,该方法中需要创建表面,然后将表面数据发送到第一纹理,再从第一纹理发送到第二纹理,期间存在多次拷贝传送过程才能进入图形流水线处理,而且没有说明如何进行颜色空间的变换,这一点非常重要,因为如果色彩空间的变换是通过CPU计算得到,那么效率仍然比较低,同时没有说明对于SDTV和HDTV进行区分处理,其最终渲染出的画质可能受到影响。
中国专利CN201310590667.7中公开的方法是创建至少两个帧缓冲区对象;创建图像渲染线程,将图像数据渲染到所述帧缓冲区对象;创建swap线程,将后缓冲所存储的图像数据交换到前缓冲,将渲染后的所述图像数据从所述帧缓冲区对象复制到所述后缓冲。主要创新点在于其中图像渲染线程和swap线程分属不同的线程,可以并发执行,swap线程的Swap buffer的阻塞不会影响图像渲染线程的图像渲染,因此可以保证图像渲染的帧率。同时又由于图像渲染线程未被阻塞,可以最快的响应用户的操作,因此可以减少操作延时。然而,该方法是需要分别创建用户态线程用于图像渲染和交换,其不可避免地存在线程之间需要互斥量或信号量来实现线程同步机制,因此影响到渲染的效率,同时也没有说明如何进行颜色空间的变换和变换时对SDTV/HDTV标准进行区分处理。
综上所述,如何减小视频在渲染过程中对CPU的性能的损耗是亟待解决的问题。
发明内容
本发明实施例提供了一种视频渲染的方法、设备,用以减小视频在渲染过程中对CPU的性能的损耗。
本发明实施例提供了一种视频渲染的方法,该方法包括:
中央处理器CPU对需要播放的视频的图像数据进行解码,并将解码后的图像数据存储在图形处理器GPU访问的纹理缓存中,其中,所述解码后的图像数据的颜色空间类型YUV预先设置在运行在图形处理器GPU上的像素着色器中;
图形处理器GPU根据所述像素着色器中的颜色空间类型YUV对所述纹理缓存中存储的图像数据进行采样、插值计算和颜色空间变换,将变换后的图像数据存储在交换链中,并通过所述交换链的翻转将所述变换后的图像数据进行显示。
通过本发明实施例提供的一种视频渲染的方法,首先CPU对需要播放的视频的图像数据进行解码,并将解码后的图像数据存储在图形处理器GPU访问的纹理缓存中,其中,所述解码后的图像数据的颜色空间类型YUV预先设置在运行在图形处理器GPU上的像素着色器中;GPU根据所述像素着色器中存储的颜色空间类型YUV对所述纹理缓存中存储的图像数据进行采样、插值计算和颜色空间变换,将变换后的图像数据存储在交换链中,并通过所述交换链的翻转将所述变换后的图像数据进行显示。因此,本发明实施例中对需要渲染的视频的图像数据的采样、插值计算和颜色空间变换的复杂过程均在图形处理器中实现,从而减小了视频在渲染过程中对CPU的性能的损耗;本发明实施例中通过纹理缓存和像素着色器,以及通过交换链技术进行缓存,避免了在渲染过程中创建交换线程或显式创建表面,无需将视频的数据在纹理之间进行传递,从而进一步降低了视频在渲染过程中对CPU的性能的损耗。
较佳地,中央处理器CPU对需要播放的视频的图像数据进行解码,并将解码后的图像数据存储在图形处理器GPU可以访问的纹理缓存中,包括:
中央处理器CPU对需要播放的视频的图像数据进行解码,得到解码后的图像数据的颜色空间类型YUV所对应的亮度分量Y、色度分量U、V数据,将所述亮度分量Y、色度分量U、V数据存储在图形处理器GPU访问的纹理缓存中。
较佳地,中央处理器CPU对需要播放的视频的图像数据进行解码后,还包括:
中央处理器CPU根据解码后的图像数据的分辨率确定所述视频的图像标准的类型,并将所述图像标准的类型置于所述像素着色器中,其中图像标准包括标准清晰度电视SDTV和高清晰度电视HDTV。
较佳地,图形处理器GPU根据所述像素着色器中的颜色空间类型YUV对所述纹理缓存中存储的图像数据进行采样、插值计算和颜色空间变换,包括:
图形处理器GPU根据所述像素着色器中的颜色空间类型YUV,对所述纹理缓存中存储的亮度分量Y、色度分量U、V数据进行采样和插值计算,根据所述像素着色器中的所述视频的图像标准的类型,确定所述图像数据的颜色空间变换矩阵,并根据所述颜色空间变换矩阵将插值计算后的图像数据转换成经伽马矫正后的红绿蓝RGB数据。
较佳地,将变换后的图像数据存储在交换链中,并通过所述交换链的翻转将所述变换后的图像数据进行显示,包括:
将变换后的图像数据存储在交换链的背缓存中,当所述背缓存中存储的背缓存翻转为前缓存时,将前缓存中存储的所述经伽马矫正后的红绿蓝RGB数据发送给显示设备进行显示。
本发明实施例提供了一种视频渲染的设备,该设备包括:
中央处理器CPU:用于对需要播放的视频的图像数据进行解码,将解码后的图像数据存储在图形处理器GPU的纹理缓存中,其中,所述解码后的图像数据的颜色空间类型YUV预先设置在运行在图形处理器GPU上的像素着色器中;
图形处理器GPU:用于根据所述像素着色器中的颜色空间类型YUV对所述纹理缓存中存储的图像数据进行采样、插值计算和颜色空间变换,将变换后的图像数据存储在交换链中,并通过所述交换链的翻转将所述变换后的图像数据进行显示。
较佳地,所述中央处理器CPU具体用于:
对需要播放的视频的图像数据进行解码,得到解码后的图像数据的颜色空间类型YUV所对应的亮度分量Y、色度分量U、V数据,将所述亮度分量Y、色度分量U、V数据存储在图形处理器GPU访问的纹理缓存中。
较佳地,所述中央处理器CPU还用于:
根据解码后的图像数据的分辨率确定所述视频的图像标准的类型,并将所述图像标准的类型置于所述像素着色器中,其中图像标准包括标准清晰度电视SDTV和高清晰度电视HDTV。
较佳地,所述图形处理器GPU具体用于:
根据所述像素着色器中的颜色空间类型YUV,对所述纹理缓存中存储的亮度分量Y、色度分量U、V数据进行采样和插值计算,根据所述像素着色器中的所述视频的图像标准的类型,确定所述图像数据的颜色空间变换矩阵,并根据所述颜色空间变换矩阵将插值计算后的图像数据转换成经伽马矫正后的红绿蓝RGB数据。
较佳地,所述图形处理器GPU还用于:
将变换后的图像数据存储在交换链的背缓存中,当所述交换链中的背缓存翻转为前缓存时,将前缓存中存储的所述经伽马矫正后的红绿蓝RGB数据发送给显示设备进行显示。
附图说明
图1为本发明实施例提供的一种视频渲染的方法的流程示意图;
图2(a)和图2(b)为本发明实施例提供的一种交换链技术的平面示意图;
图3为本发明实施例提供的一种视频渲染的方法的具体流程示意图;
图4为本发明实施例提供的一种视频渲染的设备的结构示意图;
图5为本发明实施例提供的一种视频渲染的***的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明实施例提供了一种视频渲染的方法、设备,用以减小视频在渲染过程中对CPU的性能的损耗。
参见图1,本发明实施例提供的一种视频渲染的方法,该方法包括:
S101、中央处理器CPU对需要播放的视频的图像数据进行解码,将解码后的图像数据存储在图形处理器GPU访问的纹理缓存中,其中,解码后的图像数据的颜色空间类型YUV预先设置在运行在图形处理器GPU上的像素着色器中;
S102、图形处理器GPU根据像素着色器中的颜色空间类型YUV对纹理缓存中存储的图像数据进行采样、插值计算和颜色空间变换,并将变换后的图像数据存储在交换链中,并通过交换链的翻转将所述变换后的图像数据进行显示。
其中,本发明实施例中中央处理器CPU和图形处理器GPU可以位于移动终端中,例如手机、电脑、或者平板电脑中等。
需要说明的是,本发明实施例提供的视频渲染的方法,主要是利用可编程管线创建像素着色器,进行视频的渲染,且通过Direct3D的交换链技术,自动进行数据的缓存的切换,从而完成对视频数据的渲染。其中,本发明实施例主要是通过创建像素着色器对像素进行操作,完成视频图像的渲染。具体地,本发明实施例中通过根据解码后的图像数据创建运行在图形处理器GPU上的像素着色器以及图形处理器GPU可以访问的纹理缓存,其中,解码后的图像数据的颜色空间类型YUV设置在像素着色器中,将解码后的图像数据保存在纹理缓存中,并通过像素着色器和纹理缓存,实现GPU对图像数据的采样、插值计算和颜色空间变换,从而降低对CPU的性能损耗。
具体地,为了减少CPU的性能损耗,并将对图像数据进行采样、插值计算和颜色空间变换的复杂计算通过GPU完成,因此,采用创建像素着色器的方式来可编程地控制GPU的光栅化过程,通过对GPU进行编程来实现通过GPU对图像数据进行采样、插值计算和颜色空间变换。具体地,为了使得运行在CPU上的代码和运行在GPU上的代码之间进行数据交互,一般采用常量表作为一个交互桥梁,即CPU可以通过常量表将解码后的图像数据的颜色空间类型YUV数据设置在像素着色器中。因此,通过常量表,运行在CPU上的程序代码可以操纵到运行在GPU上的程序代码中的数据。其中,CPU和GPU之间的桥梁不限于常量表的方式,还可以采用其他方式进行交互,在此不做具体限定。
通过本发明实施例提供的一种视频渲染的方法,首先CPU对需要播放的视频的图像数据进行解码,并将解码后的图像数据存储在图形处理器GPU访问的纹理缓存中,其中,解码后的图像数据的颜色空间类型YUV预先设置在运行在图形处理器GPU上的像素着色器中;GPU根据像素着色器中的颜色空间类型YUV对纹理缓存中存储的图像数据进行采样、插值计算和颜色空间变换,并将变换后的图像数据存储在交换链中,并通过交换链的翻转将变换后的图像数据进行显示。因此,本发明实施例中对需要渲染的视频的图像数据的采样、插值计算和颜色空间变换的复杂过程均在图形处理器GPU中实现,从而减小了视频在渲染过程中对CPU的性能的损耗;本发明实施例中通过纹理缓存和像素着色器,避免了在渲染过程中创建交换线程或显式创建表面,无需将视频的数据在纹理之间进行传递,从而进一步降低了视频在渲染过程中对CPU的性能的损耗。
较佳地,步骤S101中中央处理器CPU对需要播放的视频的图像数据进行解码,并将解码后的图像数据存储在图形处理器GPU访问的纹理缓存中,包括:
中央处理器CPU对需要播放的视频的图像数据进行解码,得到解码后的图像数据的颜色空间类型YUV所对应的亮度分量Y、色度分量U、V数据,将亮度分量Y、色度分量U、V数据存储在图形处理器GPU访问的纹理缓存中。
具体地,在进行视频数据渲染时,CPU接收终端发送的需要播放的视频数据,其中,该视频数据中包括图像的像素值,即宽度和高度。CPU将该视频数据进行解码,图像数据的颜色空间类型包括多种如YUV(Luminance、Chrominance,亮度、色度)类型,或者RGB(Red、Green、Blue,红、绿、蓝)类型。本发明中根据解码后得到的颜色空间类型为YUV的数据进行渲染,因此,将图像数据进行解码后,得到颜色空间类型为YUV的数据时,得到图像数据的亮度分量Y、色度分量U、V数据。其中,CPU将该视频数据进行解码,得到亮度分量Y、色度分量U、V数据的过程与现有技术相同,此处不再赘述。具体地,在CPU将视频数据进行解码之前,需要根据待解码数据的宽度和高度创建渲染设备,用于提供视频数据在该渲染设备中进行渲染的场景。
具体地,中央处理器CPU根据解码后得到的图像数据的亮度分量Y、色度分量U、V数据,创建纹理缓存,用于存储解码后的图像数据,为后续对解码后的图像数据进行渲染做好准备。其中CPU可以创建三个纹理缓存作为存储亮度分量Y、色度分量U、V数据的缓冲区;中央处理器CPU将解码后得到的亮度分量Y、色度分量U、V数据分别存储在三个纹理缓存中。具体地,本发明实施例中建立三个纹理缓存只是针对图像数据解码后得到亮度分量Y、色度分量U、V数据的类型,针对其他类型,非YUV类型的数据,可以建立一个纹理缓存或者两个纹理缓存。在此不做具体限定。其中,建立三个纹理缓存分别存储亮度分量Y、色度分量U、V数据,间接地提高了数据存储的速度。
中央处理器CPU根据解码后的图像数据,确定图像数据的颜色空间类型,使用相应的像素着色器代码创建像素着色器,并将图像数据的颜色空间类型置于像素着色器中。其中,针对颜色空间类型为YUV这类的图像数据,包括多种不同的格式,例如,常用的四种格式包括YUV444、YUV422、YUV411和YUV420,一般地,在将亮度分量Y、色度分量U、V数据通过颜色空间变换之前需要判断该YUV的格式是否为YUV444的格式。针对不属于YUV444格式的YUV数据需要通过像素着色器的插值计算转换成YUV444的格式,具体转换过程在步骤102的过程中进行描述。
为了进一步说明创建三个纹理缓存的过程,下面通过具体实施例进行详细描述。
例如,通过定义三个全局纹理对象TexY,TexU,TexV,为创建的三个纹理缓存。定义2D采样器YSampler,设置其对应的纹理对象为TexY,纹理过滤模式为线性模式,纹理寻址模式为夹取寻址模式;定义2D采样器USampler,设置其对应的纹理对象为TexU,纹理过滤模式为线性模式,纹理寻址模式为夹取寻址模式;定义2D采样器VSampler,设置其对应的纹理对象为TexV,纹理过滤模式为线性模式,纹理寻址模式为夹取寻址模式。其中,定义像素着色器的输入结构为PIXEL_INPUT,其中包括三个双浮点数变量YCoords、UCoords、VCoords,用于输入Y、U、V三个纹理的数据坐标。
较佳地,步骤S101中央处理器CPU对需要播放的视频的图像数据进行解码后,该方法还包括:
中央处理器CPU根据解码后的图像数据的分辨率确定需要播放的视频的图像标准的类型,并将图像标准的类型置于GPU访问的像素着色器中,其中图像标准包括标准清晰度电视SDTV和高清晰度电视HDTV
具体地,终端显示的图像标准的类型包括标准清晰度电视SDTV和高清晰度电视HDTV,根据解码后的图像数据的分辨率可以确定图像数据所对应的图像标准的类型属于SDTV还是HDTV。具体地,不同的图像标准所确定的颜色空间变换矩阵不同。为了避免在视频渲染时,通过单一的颜色空间变换矩阵对待渲染视频的图像数据进行渲染,造成色彩失真的情况,需要辨别待渲染视频的图像数据的图像标准。
其中,图像数据的图像标准是CPU根据解码后的图像数据的分辨率确定的,为了方便GPU在像素着色器中对解码后的数据根据不同图像标准的类型采用相应的颜色空间变换矩阵对图像数据进行渲染,因此,像素着色器中也需要知道解码后的图像数据的图像标准。具体地,在CPU确定解码后的图像数据的图像标准的类型后,可以将该类型设置在像素着色器中,例如CPU可以通过常量表的方式对像素着色器的图像标准类型进行设置。其中,具体设置的方式不仅限于常量表,在此不做具体限定。
为了进一步说明如何将图像标准类型置于像素着色器中,下面通过具体实施例进行详细描述。例如,定义一个全局布尔型对象Standard,取值为FALSE表示当前选用标准清晰度电视SDTV所对应的颜色空间变换矩阵,取值为TRUE表示当前选用高清晰度电视HDTV所对应的颜色空间变换矩阵。
其中,步骤S102中图形处理器GPU根据像素着色器中的颜色空间类型YUV对纹理缓存中存储的图像数据进行采样、插值计算和颜色空间变换,包括:
图形处理器GPU根据像素着色器中的颜色空间类型YUV,对纹理缓存中存储的亮度分量Y、色度分量U、V数据进行采样和插值计算,根据像素着色器中的视频的图像标准的类型,确定图像数据的颜色空间变换矩阵,并根据颜色空间变换矩阵将插值计算后的图像数据转换成经伽马矫正后的红绿蓝RGB数据。
具体地,将亮度分量Y、色度分量U、V数据转换为经伽马矫正后的红绿蓝RGB数据,是通过具体的转换公式完成,如参见表一,从YUV颜色空间类型变换到经伽马矫正后的RGB(R’G’B’)颜色空间类型的颜色空间变换矩阵。
Y=0.299R’+0.587G’+0.114B’ |
U=-0.147R’-0.289G’+0.436B’=0.492(B’-Y) |
V=0.615R’–0.515G’-0.100B’=0.877(R’-Y) |
表一
因此,可以得到从R’G’B’颜色空间类型到YUV颜色空间类型的颜色空间变换矩阵,参见表二:
R’=Y+1.140V |
G’=Y–0.395U–0.581V |
B’=Y+2.032U |
表二
具体地,R’G’B’数据的取值范围为0~255,Y值的取值范围在0~255,U值的取值范围在0~正负112,V值的取值范围在0~正负157,为了避免出现负值,在实际的N制和P制的编解码器上通常会对YUV的值进行缩放。YUV颜色空间的偏移和缩放版本称为YCrCb颜色空间,此时Y的取值为16~235,Cb和Cr的取值范围在16~240。由于计算机***中1个字节的取值范围是0~255,为了处理上的方便,希望R’G’B’和YCrCb的各个分量在计算机***中的取值范围都是0~255,因此需要在两者进行颜色空间的变换时对变换系数较标准变换系数进行微调。
其中,针对颜色空间类型为YUV的数据常用的四种格式,具体为YUV的比例为4:4:4、4:2:2、4:1:1和4:2:0,一般地,在将亮度分量Y、色度分量U、V数据通过颜色空间变换之前需要判断该YUV的格式是否为4:4:4。若YUV的比例为4:2:2、或者4:1:1或者4:2:0中的任一类型,均需要通过插值计算将YUV的格式变为4:4:4的格式。
将YUV的经过插值计算变为4:4:4的格式后,进一步根据该YUV的图像标准的类型确定颜色空间变换矩阵,然后根据该颜色空间变换矩阵,将YUV的数据转换成R’G’B’数据。
具体地,标准清晰度电视SDTV和高清晰度电视HDTV在R’G’B’颜色空间与YCbCr颜色空间之间的转换上有所不同。
对于标准清晰度电视SDTV,从R’G’B’到YCbCr的变换矩阵参见表三所示:
Y=0.257R’+0.504G’+0.098B’+16 |
Cb=-0.148R’–0.291G’+0.439B’+128 |
Cr=0.439R’–0.368G’–0.071B’+128 |
表三
因此,对于标准清晰度电视SDTV,从YCbCr到R’G’B’的变换矩阵见表四:
R’=1.164(Y-16)+1.596(Cr-128) |
G’=1.164(Y-16)-0.813(Cr-128)-0.391(Cb-128) |
B’=1.164(Y-16)+2.018(Cb-128) |
表四
对于高清晰度电视HDTV,从R’G’B’到YCbCr的变换矩阵参见表五所示:
Y=0.183R’+0.614G’+0.062B’+16 |
Cb=-0.101R’–0.338G’+0.439B’+128 |
Cr=0.439R’–0.399G’–0.040B’+128 |
表五
因此,对于高清晰度电视HDTV,从YCbCr到R’G’B’的变换矩阵见表六:
R’=1.164(Y-16)+1.793(Cr-128) |
G’=1.164(Y-16)-0.534(Cr-128)-0.213(Cb-128) |
B’=1.164(Y-16)+2.115(Cb-128) |
表六
具体地,图形处理器GPU通过像素着色器确定视频的图像标准为高清晰度电视HDTV,则将解码后得到的亮度分量Y、色度分量U、V数据通过表六所示的颜色空间变换矩阵,转换成R’G’B’数据;当确定视频所对应的图像标准为标准清晰度电视SDTV,则根据表四所示的颜色空间变换矩阵,转换成R’G’B’数据。
例如,标准清晰度电视SDTV的颜色空间变换矩阵中的变换系数为{1.164,0.0,1.596;1.164,-0.391,-0.813;1.164,2.018,0.0}。高清晰度电视HDTV的颜色空间变换矩阵中的变换系数为{1.164,0.0,1.793;1.164,-0.213,-0.534;1.164,2.115,0.0}。根据像素着色器中的主函数中分别对2D采样器YSampler、USampler和VSampler进行2D采样,由于采样器的采样模式为线性模式,因此采样时将根据纹理坐标自动进行插值,然后将经插值计算的结果分别存入三个双浮点数变量YCoords、UCoords、VCoords中,然后判断布尔型变量Standard的值,如果为FALSE,则将三个双浮点数变量YCoords、UCoords、VCoords中存储的数据与表四所对应的矩阵进行矩阵乘法;如果为TRUE,则将三个双浮点数变量YCoords、UCoords、VCoords中存储的数据于表六所对应的矩阵进行矩阵乘法,得到RGB数据。
较佳地,步骤S102中将变换后的图像数据存储在交换链中,并通过所述交换链的翻转将所述变换后的图像数据进行显示,包括:
将变换后的图像数据存储在交换链的背缓存中,当交换链中的背缓存翻转为前缓存时,将前缓存中存储的经伽马矫正后的红绿蓝RGB数据发送给显示设备进行显示。
具体地,本发明实施例通过交换链技术将经伽马矫正后的红绿蓝RGB数据进行存储并发送给显示设备进行图像的显示。其中,参见图2(a)所示,交换链20包括前缓存31和背缓存32,其中通过前缓存31将数据发送给显示设备30,在GPU将经伽马矫正后的红绿蓝RGB数据发送给显示设备30进行显示前,在一帧的时间内,在显示时,将前缓存31中存储的经伽马矫正后的红绿蓝RGB数据发送给显示设备30进行图像的显示;或者将当前帧的经伽马矫正后的红绿蓝RGB数据存储在背缓存32中,参见图2(b),在第二帧的时间内,通过交换链的的翻转,背缓存32翻转到前缓存31的位置,即将背缓存32作为前缓存31,将背缓存32中存储的经伽马矫正后的红绿蓝RGB数据发送给显示设备30进行图像的显示。以此类推,通过交换链技术将前缓存和背缓存依次翻转,实现对图像数据的显示。
本发明实施例中,通过利用交换链技术实现视频的渲染,无需创建交换线程或显式创建表面,无需将待渲染视频的数据在纹理之间相互传递,进一步降低了渲染过程对CPU的性能的损耗。
下面通过附图以及具体实施例详细描述本发明实施例提供的视频渲染的具体步骤。
参见图3,本发明实施例提供的一种视频渲染的方法,包括步骤:
S401、根据待渲染视频数据的像素值、显示窗口句柄、顶点处理模式和默认的显示适配器创建渲染设备;
其中,顶点处理模式包括软件顶点处理模式和硬件顶点处理模式。
S402、当渲染设备创建成功时,判断源颜色空间是否支持所述渲染设备,若是则执行步骤S403,否则结束流程;
S403、根据解码后的数据颜色空间类型YUV,创建像素着色器,并获取该像素着色器所对应的常量表;
S404、当像素着色器创建成功时,创建顶点缓存;
其中顶点缓存用于存储顶点数据,顶点数据代表了构成矩形渲染区域的4个点的位置。
S405、当顶点缓存创建成功时,根据待渲染视频的数据的像素值将顶点数据存储在顶点缓存中;
S406、根据CPU解码后的待渲染视频的亮度分量Y、色度分量U、V数据创建三个纹理缓存,作为存储图像数据的亮度分量Y、色度分量U、V数据的缓冲区;
S407、当三个纹理缓存创建成功时,将解码后的待渲染视频的图像数据亮度分量Y、色度分量U、V数据分别存储在三个纹理缓存中;
S408、通过交换链将前缓存设置为渲染设备的颜色缓冲区;
S409、将创建好的像素着色器和三个纹理缓存设置到渲染设备中启用多重纹理混合,然后将创建好的顶点缓存中的顶点数据作为数据流源设置到渲染设备中,通过在像素着色器中的常量表确定待渲染视频的分辨率对应的图像标准,然后通过像素着色器进行多重纹理混合完成采样、插值计算和颜色空间变换,并将转换后得到的经伽马矫正后的RGB数据存储在背缓存中;
S4010、当背缓存翻转为前缓存时,将前缓存中存储的经伽马矫正后的RGB数据在显示设备中进行显示;
S4011、判断待渲染视频数据是否渲染完成,若是则结束流程,否则返回步骤S407。
综上所述,本发明实施例中提供的视频渲染的方法,本发明实施例中CPU仅是对需要播放的视频的图像数据进行解码,并将解码后的图像数据存储在GPU可以访问的纹理缓存中,解码后的图像数据的颜色空间类型YUV预先设置到运行在GPU上的像素着色器中,而对解码后的图像数据进行采样、插值计算和颜色空间的变换的过程均是通过GPU完成,即充分利用GPU来完成渲染过程中计算量较大,且较为复杂的过程,采样、插值计算和颜色空间变换,因此,可以有效地降低了视频在渲染过程中对CPU的性能的损耗;其次,本发明实施例中通过采用交换链技术,在渲染过程中无需创建交换线程或者显式创建表面,节省了解码后的图像数据在纹理之间的相互传递,从而进一步降低了视频渲染过程中对CPU的性能的损耗;第三,本发明实施例中确定待渲染视频数据是SDTV还是HDTV,然后根据不同的颜色空间变换矩阵,进行视频的渲染,从而具备良好的适应性,避免使用单一变换矩阵导致的色彩失真的问题。
基于同一发明思想,参见图4,本发明实施例提供了一种视频渲染的设备,该设备包括:
中央处理器CPU51:用于对需要播放的视频的图像数据进行解码,将解码后的图像数据存储在图形处理器GPU的纹理缓存中,其中,所述解码后的图像数据的颜色空间类型YUV预先设置在运行在图形处理器GPU上的像素着色器中;
图形处理器GPU52:用于根据所述像素着色器中的颜色空间类型YUV对所述纹理缓存中存储的图像数据进行采样、插值计算和颜色空间变换,将变换后的图像数据存储在交换链中,并通过所述交换链的翻转将所述变换后的图像数据进行显示。
较佳地,中央处理器CPU51具体用于:
对需要播放的视频的图像数据进行解码,得到解码后的图像数据的颜色空间类型YUV所对应的亮度分量Y、色度分量U、V数据,将所述亮度分量Y、色度分量U、V数据存储在图形处理器GPU访问的纹理缓存中。
较佳地,所述中央处理器CPU还用于:
根据解码后的图像数据的分辨率确定所述视频的图像标准的类型,并将所述图像标准的类型置于所述像素着色器中,其中图像标准包括标准清晰度电视SDTV和高清晰度电视HDTV。
较佳地,所述图形处理器GPU52具体用于:
根据所述像素着色器中的颜色空间类型YUV,对所述纹理缓存中存储的亮度分量Y、色度分量U、V数据进行采样和插值计算,根据所述像素着色器中的所述视频的图像标准的类型,确定所述图像数据的颜色空间变换矩阵,并根据所述颜色空间变换矩阵将插值计算后的图像数据转换成经伽马矫正后的红绿蓝RGB数据。
较佳地,所述图形处理器GPU52还用于:
将变换后的图像数据存储在交换链的背缓存中,当所述交换链中的背缓存翻转为前缓存时,将前缓存中存储的所述经伽马矫正后的红绿蓝RGB数据发送给显示设备进行显示。
基于同一发明思想,参见图5,本发明实施例提供了一种视频渲染的***,包括RTSP协议处理模块11、RTP包处理模块12、帧缓冲模块13、解码模块14和渲染模块15,
其中,解码模块14用于对需要播放的视频的图像数据进行解码,得到图像数据的颜色空间类型YUV,将所述颜色空间类型YUV设置到运行在渲染模块15上的像素着色器中,并将所述解码后的图像数据存储在渲染模块15访问的纹理缓存中;
渲染模块15用于根据所述像素着色器中的颜色空间类型YUV对所述纹理缓存中存储的图像数据进行采样、插值计算和颜色空间变换,并将变换后的图像数据存储在交换链中,并通过所述交换链的翻转将所述变换后的图像数据进行显示。
需要说明的是,本发明实施例提供的视频渲染的***主要是通过实时视频显示***能够通过实时流传输协议RTSP从RTSP服务端获取媒体流数据,并对获取到的实时传输协议RTP数据包进行拼帧操作,然后调用相应解码器进行解码操作,最后对解码后的图像数据进行渲染并显示到显示设备中。
具体地,RTSP协议处理模块11:用于处理RTSP信令交互,协商媒体格式、网络端口等信息,并创建网络通道接收媒体流数据;
RTP包处理模块12:用于接收RTP数据包并进行缓存处理,当接收到一个媒体帧的所有RTP数据包后,将RTP数据包进行拼帧处理并将拼好的数据帧存储在帧缓冲模块13中;
帧缓冲模块13:用于维持一个数据帧队列对数据帧进行缓存,并从数据帧队列中获取位于队首的数据帧送入解码模块14中进行解码,当一帧解码完成后将解码后的媒体流数据送入渲染模块,然后继续循环下一帧数据的渲染;其中,RTSP协议处理模块11可以在接收到RTSP的TEARDOWN方法或PAUSE方法时控制帧缓冲模块暂停解码或释放帧缓冲模块的所有资源;
总之,本发明实施例提供的一种视频渲染的方法、设备,减小视频在渲染过程中对CPU的性能的损耗。具体地,本发明实施例中CPU仅是对需要播放的视频的图像数据进行解码,并将解码后的图像数据存储在GPU访问的纹理缓存中,其中,解码后的图像数据所对应的颜色空间类型YUV预先设置在运行在GPU上的像素着色器中,而对解码后的图像数据进行采样、插值计算和颜色空间的变换的过程均是通过GPU完成,即充分利用GPU来完成渲染过程中计算量较大,且较为复杂的过程,采样、插值计算和颜色空间变换,因此,可以有效地降低了视频在渲染过程中对CPU的性能的损耗;其次,本发明实施例中通过采用交换链技术,在渲染过程中无需创建交换线程或者显式创建表面,节省了解码后的图像数据在纹理之间的相互传递,从而进一步降低了视频渲染过程中对CPU的性能的损耗;第三,本发明实施例中确定待渲染视频数据是SDTV还是HDTV,然后根据不同的颜色空间变换矩阵,进行视频的渲染,从而具备良好的适应性,避免使用单一变换矩阵导致的色彩失真的问题。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种视频渲染的方法,其特征在于,该方法包括:
中央处理器CPU对需要播放的视频的图像数据进行解码,并将解码后的图像数据存储在图形处理器GPU访问的纹理缓存中,其中,所述解码后的图像数据的颜色空间类型YUV预先设置在运行在图形处理器GPU上的像素着色器中;
图形处理器GPU根据所述像素着色器中的颜色空间类型YUV对所述纹理缓存中存储的图像数据进行采样、插值计算和颜色空间变换,将变换后的图像数据存储在交换链中,并通过所述交换链的翻转将所述变换后的图像数据进行显示。
2.根据权利要求1所述的方法,其特征在于,中央处理器CPU对需要播放的视频的图像数据进行解码,并将解码后的图像数据存储在图形处理器GPU可以访问的纹理缓存中,包括:
中央处理器CPU对需要播放的视频的图像数据进行解码,得到解码后的图像数据的颜色空间类型YUV所对应的亮度分量Y、色度分量U、V数据,将所述亮度分量Y、色度分量U、V数据存储在图形处理器GPU访问的纹理缓存中。
3.根据权利要求2所述的方法,其特征在于,中央处理器CPU对需要播放的视频的图像数据进行解码后,还包括:
中央处理器CPU根据解码后的图像数据的分辨率确定所述视频的图像标准的类型,并将所述图像标准的类型置于所述像素着色器中,其中图像标准包括标准清晰度电视SDTV和高清晰度电视HDTV。
4.根据权利要求3所述的方法,其特征在于,图形处理器GPU根据所述像素着色器中的颜色空间类型YUV对所述纹理缓存中存储的图像数据进行采样、插值计算和颜色空间变换,包括:
图形处理器GPU根据所述像素着色器中的颜色空间类型YUV,对所述纹理缓存中存储的亮度分量Y、色度分量U、V数据进行采样和插值计算,根据所述像素着色器中的所述视频的图像标准的类型,确定所述图像数据的颜色空间变换矩阵,并根据所述颜色空间变换矩阵将插值计算后的图像数据转换成经伽马矫正后的红绿蓝RGB数据。
5.根据权利要求4所述的方法,其特征在于,将变换后的图像数据存储在交换链中,并通过所述交换链的翻转将所述变换后的图像数据进行显示,包括:
将变换后的图像数据存储在交换链的背缓存中,当所述交换链中的背缓存翻转为前缓存时,将前缓存中存储的所述经伽马矫正后的红绿蓝RGB数据发送给显示设备进行显示。
6.一种视频渲染的设备,其特征在于,该设备包括:
中央处理器CPU:用于对需要播放的视频的图像数据进行解码,将解码后的图像数据存储在图形处理器GPU的纹理缓存中,其中,所述解码后的图像数据的颜色空间类型YUV预先设置在运行在图形处理器GPU上的像素着色器中;
图形处理器GPU:用于根据所述像素着色器中的颜色空间类型YUV对所述纹理缓存中存储的图像数据进行采样、插值计算和颜色空间变换,将变换后的图像数据存储在交换链中,并通过所述交换链的翻转将所述变换后的图像数据进行显示。
7.根据权利要求6所述的设备,其特征在于,所述中央处理器CPU具体用于:
对需要播放的视频的图像数据进行解码,得到解码后的图像数据的颜色空间类型YUV所对应的亮度分量Y、色度分量U、V数据,将所述亮度分量Y、色度分量U、V数据存储在图形处理器GPU访问的纹理缓存中。
8.根据权利要求7所述的设备,其特征在于,所述中央处理器CPU还用于:
根据解码后的图像数据的分辨率确定所述视频的图像标准的类型,并将所述图像标准的类型置于所述像素着色器中,其中图像标准包括标准清晰度电视SDTV和高清晰度电视HDTV。
9.根据权利要求8所述的设备,其特征在于,所述图形处理器GPU具体用于:
根据所述像素着色器中的颜色空间类型YUV,对所述纹理缓存中存储的亮度分量Y、色度分量U、V数据进行采样和插值计算,根据所述像素着色器中的所述视频的图像标准的类型,确定所述图像数据的颜色空间变换矩阵,并根据所述颜色空间变换矩阵将插值计算后的图像数据转换成经伽马矫正后的红绿蓝RGB数据。
10.根据权利要求9所述的设备,其特征在于,所述图形处理器GPU还用于:
将变换后的图像数据存储在交换链的背缓存中,当所述交换链中的背缓存翻转为前缓存时,将前缓存中存储的所述经伽马矫正后的红绿蓝RGB数据发送给显示设备进行显示。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610659067.5A CN106210883A (zh) | 2016-08-11 | 2016-08-11 | 一种视频渲染的方法、设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610659067.5A CN106210883A (zh) | 2016-08-11 | 2016-08-11 | 一种视频渲染的方法、设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106210883A true CN106210883A (zh) | 2016-12-07 |
Family
ID=57515054
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610659067.5A Pending CN106210883A (zh) | 2016-08-11 | 2016-08-11 | 一种视频渲染的方法、设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106210883A (zh) |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107277616A (zh) * | 2017-07-21 | 2017-10-20 | 广州爱拍网络科技有限公司 | 视频特效渲染方法、装置及终端 |
CN107770472A (zh) * | 2017-10-31 | 2018-03-06 | 中国电子科技集团公司第二十九研究所 | 一种secam制式模拟电视信号数字化解调方法及数字信号图像恢复方法 |
CN107948735A (zh) * | 2017-12-06 | 2018-04-20 | 北京金山安全软件有限公司 | 一种视频播放方法、装置及电子设备 |
CN108184163A (zh) * | 2017-12-29 | 2018-06-19 | 深圳华侨城卡乐技术有限公司 | 一种视频播放方法、存储介质及播放器 |
CN108259779A (zh) * | 2018-04-08 | 2018-07-06 | 成都索贝数码科技股份有限公司 | 一种利用部分幅面数据实现快速处理大幅面视频图像的方法 |
CN108366288A (zh) * | 2018-03-01 | 2018-08-03 | 厦门普杰信息科技有限公司 | 一种用于高清视频的高效解码和播放方法及*** |
CN108663662A (zh) * | 2018-03-06 | 2018-10-16 | 中国船舶重工集团公司第七二四研究所 | 基于gpu的雷达视频信号整体定时刷新贴图显示方法 |
CN108881916A (zh) * | 2018-06-21 | 2018-11-23 | 深圳市斯迈龙科技有限公司 | 远程桌面的视频优化处理方法及装置 |
CN109118422A (zh) * | 2018-07-10 | 2019-01-01 | 西安科技大学 | 一种嵌入式移动图形处理器的纹理Cache及处理方法 |
CN109672931A (zh) * | 2018-12-20 | 2019-04-23 | 北京百度网讯科技有限公司 | 用于处理视频帧的方法和装置 |
CN109828791A (zh) * | 2018-12-28 | 2019-05-31 | 北京奇艺世纪科技有限公司 | 一种动画播放方法、终端和计算机可读存储介质 |
CN110381370A (zh) * | 2019-07-22 | 2019-10-25 | 腾讯科技(深圳)有限公司 | 一种动画处理方法、装置、终端及存储介质 |
CN110769241A (zh) * | 2019-11-05 | 2020-02-07 | 广州虎牙科技有限公司 | 视频帧处理方法、装置、用户端及存储介质 |
CN110784773A (zh) * | 2019-11-26 | 2020-02-11 | 北京奇艺世纪科技有限公司 | 弹幕生成方法、装置、电子设备及存储介质 |
CN111079738A (zh) * | 2019-11-23 | 2020-04-28 | 中国科学院长春光学精密机械与物理研究所 | 一种图像处理方法、***及终端设备 |
CN111476848A (zh) * | 2020-03-31 | 2020-07-31 | 北京经纬恒润科技有限公司 | 一种视频流仿真方法及装置 |
CN113038221A (zh) * | 2021-03-02 | 2021-06-25 | 海信电子科技(武汉)有限公司 | 一种双路视频播放方法及显示设备 |
CN113096233A (zh) * | 2021-06-11 | 2021-07-09 | 腾讯科技(深圳)有限公司 | 图像处理方法、装置、电子设备及可读存储介质 |
CN113747198A (zh) * | 2021-06-25 | 2021-12-03 | 航天时代飞鸿技术有限公司 | 无人机集群视频图片渲染及后处理的方法、介质和装置 |
CN113810641A (zh) * | 2021-08-12 | 2021-12-17 | 荣耀终端有限公司 | 视频处理方法、装置、电子设备和存储介质 |
CN113810642A (zh) * | 2021-08-12 | 2021-12-17 | 荣耀终端有限公司 | 视频处理方法、装置、电子设备和存储介质 |
CN114040246A (zh) * | 2021-11-08 | 2022-02-11 | 网易(杭州)网络有限公司 | 图形处理器的图像格式转换方法、装置、设备及存储介质 |
TWI762664B (zh) * | 2017-07-13 | 2022-05-01 | 英商Arm有限公司 | 圖形處理系統、操作方法、及電腦軟體 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1868211A (zh) * | 2003-03-28 | 2006-11-22 | 微软公司 | 使用图形处理单元加速视频解码 |
CN101512656A (zh) * | 2005-06-30 | 2009-08-19 | 微软公司 | 具有提前渲染队列的gpu时间线 |
US20130063456A1 (en) * | 2011-09-09 | 2013-03-14 | Leonardo E. Blanco | Buffer Display Techniques |
CN104244087A (zh) * | 2014-09-19 | 2014-12-24 | 青岛海信移动通信技术股份有限公司 | 一种视频渲染的方法及设备 |
CN104813367A (zh) * | 2012-04-04 | 2015-07-29 | 高通股份有限公司 | 图形处理中的拼补着色 |
-
2016
- 2016-08-11 CN CN201610659067.5A patent/CN106210883A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1868211A (zh) * | 2003-03-28 | 2006-11-22 | 微软公司 | 使用图形处理单元加速视频解码 |
CN101512656A (zh) * | 2005-06-30 | 2009-08-19 | 微软公司 | 具有提前渲染队列的gpu时间线 |
US20130063456A1 (en) * | 2011-09-09 | 2013-03-14 | Leonardo E. Blanco | Buffer Display Techniques |
CN104813367A (zh) * | 2012-04-04 | 2015-07-29 | 高通股份有限公司 | 图形处理中的拼补着色 |
CN104244087A (zh) * | 2014-09-19 | 2014-12-24 | 青岛海信移动通信技术股份有限公司 | 一种视频渲染的方法及设备 |
Cited By (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI762664B (zh) * | 2017-07-13 | 2022-05-01 | 英商Arm有限公司 | 圖形處理系統、操作方法、及電腦軟體 |
CN107277616A (zh) * | 2017-07-21 | 2017-10-20 | 广州爱拍网络科技有限公司 | 视频特效渲染方法、装置及终端 |
CN107770472B (zh) * | 2017-10-31 | 2020-07-28 | 中国电子科技集团公司第二十九研究所 | 一种secam制式模拟电视信号数字化解调方法及数字信号图像恢复方法 |
CN107770472A (zh) * | 2017-10-31 | 2018-03-06 | 中国电子科技集团公司第二十九研究所 | 一种secam制式模拟电视信号数字化解调方法及数字信号图像恢复方法 |
CN107948735A (zh) * | 2017-12-06 | 2018-04-20 | 北京金山安全软件有限公司 | 一种视频播放方法、装置及电子设备 |
US11706483B2 (en) | 2017-12-06 | 2023-07-18 | Joyme Pte. Ltd. | Video playing method and apparatus, and electronic device |
CN107948735B (zh) * | 2017-12-06 | 2020-09-25 | 北京乐我无限科技有限责任公司 | 一种视频播放方法、装置及电子设备 |
CN108184163A (zh) * | 2017-12-29 | 2018-06-19 | 深圳华侨城卡乐技术有限公司 | 一种视频播放方法、存储介质及播放器 |
CN108366288A (zh) * | 2018-03-01 | 2018-08-03 | 厦门普杰信息科技有限公司 | 一种用于高清视频的高效解码和播放方法及*** |
CN108663662A (zh) * | 2018-03-06 | 2018-10-16 | 中国船舶重工集团公司第七二四研究所 | 基于gpu的雷达视频信号整体定时刷新贴图显示方法 |
CN108259779B (zh) * | 2018-04-08 | 2020-05-05 | 成都索贝数码科技股份有限公司 | 一种利用部分幅面数据实现快速处理大幅面视频图像的方法 |
CN108259779A (zh) * | 2018-04-08 | 2018-07-06 | 成都索贝数码科技股份有限公司 | 一种利用部分幅面数据实现快速处理大幅面视频图像的方法 |
CN108881916A (zh) * | 2018-06-21 | 2018-11-23 | 深圳市斯迈龙科技有限公司 | 远程桌面的视频优化处理方法及装置 |
CN109118422A (zh) * | 2018-07-10 | 2019-01-01 | 西安科技大学 | 一种嵌入式移动图形处理器的纹理Cache及处理方法 |
CN109118422B (zh) * | 2018-07-10 | 2023-05-05 | 西安科技大学 | 一种嵌入式移动图形处理器的纹理Cache及处理方法 |
CN109672931B (zh) * | 2018-12-20 | 2020-03-20 | 北京百度网讯科技有限公司 | 用于处理视频帧的方法和装置 |
CN109672931A (zh) * | 2018-12-20 | 2019-04-23 | 北京百度网讯科技有限公司 | 用于处理视频帧的方法和装置 |
CN109828791A (zh) * | 2018-12-28 | 2019-05-31 | 北京奇艺世纪科技有限公司 | 一种动画播放方法、终端和计算机可读存储介质 |
CN109828791B (zh) * | 2018-12-28 | 2022-03-22 | 北京奇艺世纪科技有限公司 | 一种动画播放方法、终端和计算机可读存储介质 |
CN110381370A (zh) * | 2019-07-22 | 2019-10-25 | 腾讯科技(深圳)有限公司 | 一种动画处理方法、装置、终端及存储介质 |
CN110769241A (zh) * | 2019-11-05 | 2020-02-07 | 广州虎牙科技有限公司 | 视频帧处理方法、装置、用户端及存储介质 |
CN110769241B (zh) * | 2019-11-05 | 2022-02-01 | 广州虎牙科技有限公司 | 视频帧处理方法、装置、用户端及存储介质 |
CN111079738A (zh) * | 2019-11-23 | 2020-04-28 | 中国科学院长春光学精密机械与物理研究所 | 一种图像处理方法、***及终端设备 |
CN111079738B (zh) * | 2019-11-23 | 2023-09-29 | 中国科学院长春光学精密机械与物理研究所 | 一种图像处理方法、***及终端设备 |
CN110784773A (zh) * | 2019-11-26 | 2020-02-11 | 北京奇艺世纪科技有限公司 | 弹幕生成方法、装置、电子设备及存储介质 |
CN111476848A (zh) * | 2020-03-31 | 2020-07-31 | 北京经纬恒润科技有限公司 | 一种视频流仿真方法及装置 |
CN111476848B (zh) * | 2020-03-31 | 2023-04-18 | 北京经纬恒润科技股份有限公司 | 一种视频流仿真方法及装置 |
CN113038221A (zh) * | 2021-03-02 | 2021-06-25 | 海信电子科技(武汉)有限公司 | 一种双路视频播放方法及显示设备 |
CN113038221B (zh) * | 2021-03-02 | 2023-02-28 | Vidaa(荷兰)国际控股有限公司 | 一种双路视频播放方法及显示设备 |
CN113096233A (zh) * | 2021-06-11 | 2021-07-09 | 腾讯科技(深圳)有限公司 | 图像处理方法、装置、电子设备及可读存储介质 |
CN113096233B (zh) * | 2021-06-11 | 2021-08-27 | 腾讯科技(深圳)有限公司 | 图像处理方法、装置、电子设备及可读存储介质 |
WO2022257750A1 (zh) * | 2021-06-11 | 2022-12-15 | 腾讯科技(深圳)有限公司 | 图像处理方法、装置、电子设备、程序及可读存储介质 |
CN113747198A (zh) * | 2021-06-25 | 2021-12-03 | 航天时代飞鸿技术有限公司 | 无人机集群视频图片渲染及后处理的方法、介质和装置 |
CN113747198B (zh) * | 2021-06-25 | 2024-02-09 | 航天时代飞鸿技术有限公司 | 无人机集群视频图片渲染及后处理的方法、介质和装置 |
CN113810641B (zh) * | 2021-08-12 | 2023-02-28 | 荣耀终端有限公司 | 视频处理方法、装置、电子设备和存储介质 |
CN113810642B (zh) * | 2021-08-12 | 2023-02-28 | 荣耀终端有限公司 | 视频处理方法、装置、电子设备和存储介质 |
CN113810642A (zh) * | 2021-08-12 | 2021-12-17 | 荣耀终端有限公司 | 视频处理方法、装置、电子设备和存储介质 |
CN113810641A (zh) * | 2021-08-12 | 2021-12-17 | 荣耀终端有限公司 | 视频处理方法、装置、电子设备和存储介质 |
CN114040246A (zh) * | 2021-11-08 | 2022-02-11 | 网易(杭州)网络有限公司 | 图形处理器的图像格式转换方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106210883A (zh) | 一种视频渲染的方法、设备 | |
US9137488B2 (en) | Video chat encoding pipeline | |
US9760968B2 (en) | Reduction of graphical processing through coverage testing | |
CN106228581B (zh) | 通过gpu将像素格式由argb转换为nv12的方法及*** | |
JP2014089727A (ja) | デプスエンジンの動的な再配置を用いたグラフィックシステム | |
KR20160145809A (ko) | 분할된 디스플레이를 구동하는 다수의 디스플레이 파이프라인들 | |
US11882297B2 (en) | Image rendering and coding method and related apparatus | |
CN101452578B (zh) | 用于在图形环境中进行颜色格式转换的***和方法 | |
US11783445B2 (en) | Image processing method, device and apparatus, image fitting method and device, display method and apparatus, and computer readable medium | |
TWI550557B (zh) | 視訊資料壓縮格式 | |
CN108235055A (zh) | Ar场景中透明视频实现方法及设备 | |
GB2538797B (en) | Managing display data | |
CN109643462A (zh) | 基于渲染引擎的实时图像处理方法以及显示设备 | |
CN108154539A (zh) | 一种基于Opengl ES的颜色空间数据转化算法 | |
CN104811631B (zh) | 一种图像处理方法及图像处理器 | |
CN106469039B (zh) | 图像显示方法及*** | |
CN109658488B (zh) | 一种虚实融合***中通过可编程gpu加速解码摄像头视频流的方法 | |
US20120218292A1 (en) | System and method for multistage optimized jpeg output | |
CN108345559A (zh) | 虚拟现实数据输入装置和虚拟现实设备 | |
CN108307163B (zh) | 图像数据处理方法及装置、计算机装置及可读存储介质 | |
CN104463939B (zh) | 用于图形渲染的反走样方法和*** | |
CN107578737B (zh) | 一种背光分区颜色去饱和优化方法 | |
CN113409196B (zh) | 一种用于实时视频拼接的高速全局色差矫正方法 | |
US6618508B1 (en) | Motion compensation device | |
JP2003173453A (ja) | 描画処理方法及び装置、半導体デバイス、描画処理プログラム及び記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20161207 |
|
RJ01 | Rejection of invention patent application after publication |