CN109194960B - 一种图像帧渲染方法、装置及电子设备 - Google Patents

一种图像帧渲染方法、装置及电子设备 Download PDF

Info

Publication number
CN109194960B
CN109194960B CN201811347254.5A CN201811347254A CN109194960B CN 109194960 B CN109194960 B CN 109194960B CN 201811347254 A CN201811347254 A CN 201811347254A CN 109194960 B CN109194960 B CN 109194960B
Authority
CN
China
Prior art keywords
image frame
decoding
texture
memory
texture cache
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.)
Active
Application number
CN201811347254.5A
Other languages
English (en)
Other versions
CN109194960A (zh
Inventor
刘小辉
***
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.)
Beijing QIYI Century Science and Technology Co Ltd
Original Assignee
Beijing QIYI Century Science and Technology Co Ltd
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 Beijing QIYI Century Science and Technology Co Ltd filed Critical Beijing QIYI Century Science and Technology Co Ltd
Priority to CN201811347254.5A priority Critical patent/CN109194960B/zh
Publication of CN109194960A publication Critical patent/CN109194960A/zh
Application granted granted Critical
Publication of CN109194960B publication Critical patent/CN109194960B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/001Texturing; Colouring; Generation of texture or colour
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

本发明实施例提供了一种图像帧渲染方法,可以确定对视频文件解码得到的图像帧的大小,且按照图像帧的大小,在显存中创建纹理缓存,以及将图像帧备份至纹理缓存中,以及对纹理缓存中存储的图像帧进行渲染,由于纹理缓存的存在,使解码端得到的图像帧可以备份至纹理缓存中,从而使渲染端对纹理缓存中备份的图像帧进行渲染的同时,解码端可以进行下一图像帧的解码,从而使解码端不必等到渲染结束再去解码下一图像帧,且对于软解码得到的图像帧而言,不需要在内存中进行备份操作,实现了在不增加内存消耗的情况下,解码与渲染的解耦。

Description

一种图像帧渲染方法、装置及电子设备
技术领域
本发明涉及视频播放技术领域,特别是涉及一种图像帧渲染方法、装置及电子设备。
背景技术
现有的视频播放技术,一般可以先对视频文件进行硬解码,然后进行渲染操作,也可以先对视频文件进行软解码,再进行渲染操作。其中,通过硬解码得到的图像帧保存显存中,但是为了避免覆盖之前解码得到的还未进行渲染的图像帧,会解码一帧,渲染一帧,再解码下一帧,渲染下一帧;而通过软解码得到的图像帧保存在内存中,同时会对解码得到的图像帧进行数据备份,得到备份图像帧,当需要进行渲染操作时,会将备份图像帧加载到显存中进行渲染。
发明人在实现本发明的过程中发现,现有技术至少存在如下问题:
现有的硬解码-渲染无法做到解码与渲染的解耦,即解码一帧后,在对该帧渲染完成之前,无法解码下一帧,也就是说,无法实现解码与渲染的分离,而现有的软解码-渲染虽然实现了解码与渲染的解耦,但是同时也增加了内存的消耗。
发明内容
本发明实施例的目的在于提供一种图像帧渲染方法,以实现在不增加内存消耗的情况下,实现视频解码与渲染的解耦。具体技术方案如下:
本发明实施提供了一种图像帧渲染方法,所述方法包括:
确定对视频文件解码得到的图像帧的大小;
按照所述图像帧的大小,在显存中创建纹理缓存;
将所述图像帧备份至所述纹理缓存中;
对所述纹理缓存中存储的所述图像帧进行渲染。
进一步的,所述确定对视频文件解码得到的图像帧的大小,包括:
获取对视频文件解码得到的图像帧的宽度、高度及格式类型;
基于所述图像帧的宽度、高度及格式类型,计算出所述图像帧的大小。
进一步的,所述对所述纹理缓存中存储的所述图像帧进行渲染,包括:
基于所述图像帧的格式类型,确定对应所述图像帧的格式类型的着色器;
将所述纹理缓存中的所述图像帧绑定到纹理单元;
调用所述着色器,通过对绑定到纹理单元的所述图像帧进行采样,获取所述图像帧的图像值;
调用所述着色器对获取到的所述图像帧的所述图像值进行计算并渲染输出。
进一步的,所述图像帧为采用硬解码方式对所述视频文件解码得到的;
所述将所述图像帧备份至所述纹理缓存中,包括:
将硬解码得到的存储于显存中的所述图像帧通过离屏渲染的方式备份至所述纹理缓存中;或者,
将硬解码得到的存储于显存中的所述图像帧通过显存拷贝的方式备份至所述纹理缓存中。
进一步的,所述图像帧为采用软解码方式对所述视频文件解码得到的;
所述将所述图像帧存储至所述纹理缓存中,包括:
调取纹理加载函数;
利用所述纹理加载函数,将软解码得到的存储于内存中的所述图像帧加载至所述纹理缓存中。
本发明实施还提供了一种图像帧渲染装置,所述装置包括:
大小确定模块,用于确定对视频文件解码得到的图像帧的大小;
缓存创建模块,用于按照所述图像帧的大小,在显存中创建纹理缓存;
图像帧备份模块,用于将所述图像帧备份至所述纹理缓存中;
图像帧渲染模块,用于对所述纹理缓存中存储的所述图像帧进行渲染。
进一步的,所述大小确定模块,具体用于获取对视频文件解码得到的图像帧的宽度、高度及格式类型,并基于所述图像帧的宽度、高度及格式类型,计算出所述图像帧的大小。
进一步的,所述图像帧渲染模块,具体用于基于所述图像帧的格式类型,确定对应所述图像帧的格式类型的着色器,并将所述纹理缓存中的所述图像帧绑定到纹理单元,并调用所述着色器,通过对绑定到纹理单元的所述图像帧进行采样,获取所述图像帧的图像值,以及调用所述着色器对获取到的所述图像帧的所述图像值进行计算并渲染输出。
进一步的,当所述图像帧为采用硬解码方式对所述视频文件解码得到的时,所述图像帧备份模块,具体用于将硬解码得到的存储于显存中的所述图像帧通过离屏渲染的方式备份至所述纹理缓存中;或者,将硬解码得到的存储于显存中的所述图像帧通过显存拷贝的方式备份至所述纹理缓存中。
进一步的,当所述图像帧为采用软解码方式对所述视频文件解码得到的时,所述图像帧备份模块,具体调取纹理加载函数,并利用所述纹理加载函数,将软解码得到的存储于内存中的所述图像帧加载至所述纹理缓存中。
本发明实施还提供了一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器、通信接口和存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一图像帧渲染方法。
本发明实施还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一图像帧渲染方法的步骤。
本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一图像帧渲染方法。
本发明实施例提供的一种图像帧渲染方法,可以确定对视频文件解码得到的图像帧的大小,并按照图像帧的大小,在显存中创建纹理缓存,以及将图像帧备份至纹理缓存中,以及对纹理缓存中存储的图像帧进行渲染,由于纹理缓存的存在,使解码端得到的图像帧可以备份至纹理缓存中,从而使渲染端对纹理缓存中备份的图像帧进行渲染的同时,解码端可以进行下一图像帧的解码,从而使解码端不必等到渲染结束再去解码下一图像帧,且对于软解码得到的图像帧而言,不需要在内存中进行备份操作,实现了在不增加内存消耗的情况下,解码与渲染的解耦。
当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明一个实施例提供的图像帧渲染方法的流程图;
图2为本发明一个实施例提供的图像帧渲染装置的结构示意图;
图3为本发明一个实施例提供的电子设备的结构示意图。
具体实施方式
为了给出实现在不增加内存消耗的情况下,解码与渲染的解耦的实现方案,本发明实施例提供了一种图像帧渲染方法、装置及电子设备,以下结合说明书附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
在本发明的一个实施例中,提供一种图像帧渲染方法,如图1所示,该方法包括:
S101:确定对视频文件解码得到的图像帧的大小。
本步骤中,可以通过获取对视频文件解码得到的图像帧的宽度、高度及格式类型,并基于图像帧的宽度、高度及格式类型,计算出图像帧的大小,对于格式类型为RGB24的图像帧,其图像帧大小计算公式为size=width×heigth×3Byte,其中width代表图像帧的宽度,heigth代表图像帧的高度,对于格式类型为RGB32的图像帧,其图像帧的大小计算公式为size=width×heigth×4Byte,而对于图像格式为YUV420的图像帧,其图像帧的大小计算公式为size=width×heigth×1.5Byte,优选的,可以通过解码器从解码之后的编码参数中解析获得图像帧的宽度和高度。
S102:按照图像帧的大小,在显存中创建纹理缓存。
本步骤中,可以通过调用OpenGL(开放图形库,Open Graphics Library)中glgentextures()函数在按照图像帧的大小在显存中创建纹理缓存,优先的,在创建纹理缓存的同时会生成一纹理标识或纹理指针,以方便后续步骤中,可以通过该纹理标识或纹理指针获取纹理缓存中存储的图像帧数据。
S103:将图像帧备份至纹理缓存中。
本步骤中,可以根据视频文件采用的不同解码方式,采用不同的方式将图像帧备份到纹理缓存中,具体可以采用如下两种方式:
第一种方式,若图像帧为采用硬解码方式对视频文件解码得到的,那么可以将硬解码得到的存储于显存中的图像帧通过离屏渲染的方式备份至纹理缓存中,例如可以通过FBO(帧缓冲对象,Frame Buffer Object)技术实现离屏渲染;
或者,将硬解码得到的存储于显存中的图像帧通过显存拷贝的方式备份至纹理缓存中,例如,可以通过渲染到纹理的方法将存储于显存中的图像帧通过显存拷贝的方式备份至纹理缓存中。
第二种方式,若图像帧为采用软解码方式对视频文件解码得到的,那么可以将软解码得到的存储于内存中的图像帧加载至纹理缓存中,具体的,可以通过调取纹理加载函数,并利用纹理加载函数,将软解码得到的存储于内存中的图像帧加载至纹理缓存中,例如,可以通过调用OpenGL中的glteximage2d()函数实现将内存中的图像帧加载至纹理缓存中。
优先的,可以在实现将图像帧备份至纹理缓存中的同时获取图像帧的PTS(Presentation Time Stamp,显示时间戳)信息,用于后续渲染时计算该图像帧画面的停留时间,保证画音同步,在实际实现过程中,可以直接通过视频文件读取图像帧的PTS信息。
S104:对纹理缓存中存储的图像帧进行渲染。
本步骤中,可以先基于图像帧的格式类型,确定与图像帧的格式类型对应的着色器,例如,可以通过glCreateshader()函数创建一与格式类型相对应的着色器,通过该着色器对纹理缓存中存储的图像帧进行渲染,具体的,可以将纹理缓存通过调用glBindTexture()函数将纹理缓存绑定到指定的纹理单元,并调用着色器,通过纹理单元获取纹理缓存中的图像帧,例如,可以将该着色器中的采样器对指定的纹理单元绑定的纹理缓存进行采样获取图像帧的图像值,再调用着色器对获取到的图像值进行计算并输出,实现渲染,上述纹理单元为显存中特殊的存储位置,该存储位置用于存储能够被着色器读取的数据,而上述的图像值代表图像帧的像素数据,着色器可以通过采样算法对像素数据进行平滑处理,并将采集到的像素数据输入至显示器进行渲染。
本发明实施例的在实现步骤S102时,解码线程可以获取渲染线程的上下文环境,使得解码线程和渲染线程的上下文环境保持相同,避免后续线程切换时上下文环境的频繁切换,增加***资源的消耗。
本发明实施例提供的上述图像帧渲染方法,可以确定对视频文件解码得到的图像帧的大小,且按照图像帧的大小,在显存中创建纹理缓存,以及将图像帧备份至纹理缓存中,以及对纹理缓存中存储的图像帧进行渲染,由于纹理缓存的存在,使解码端得到的图像帧可以备份至纹理缓存中,从而使渲染端对纹理缓存中备份的图像帧进行渲染的同时,解码端可以进行下一图像帧的解码,从而使解码端不必等到渲染结束再去解码下一图像帧,且对于软解码得到的图像帧而言,不需要在内存中进行备份操作,实现了在不增加内存消耗的情况下,解码与渲染的解耦。
基于同一发明构思,根据本发明实施例提供的图像帧渲染方法,本发明实施例还提供了一种图像帧渲染装置,如图2所示,该装置包括:
大小确定模块201,用于确定对视频文件解码得到的图像帧的大小;
缓存创建模块202,用于按照图像帧的大小,在显存中创建纹理缓存;
图像帧备份模块203,用于将图像帧备份至纹理缓存中;
图像帧渲染模块204,用于对纹理缓存中存储的图像帧进行渲染。
进一步的,大小确定模块201,具体用于获取对视频文件解码得到的图像帧的宽度、高度及格式类型,并基于图像帧的宽度、高度及格式类型,计算出图像帧的大小。
进一步的,图像帧渲染模块204,具体用于基于图像帧的格式类型,确定对应图像帧的格式类型的着色器,并将所述纹理缓存中的所述图像帧绑定到纹理单元,并调用所述着色器,通过对绑定到纹理单元的所述图像帧进行采样,获取所述图像帧的图像值,以及调用所述着色器对获取到的所述图像帧的所述图像值进行计算并渲染输出。
进一步的,当图像帧为采用硬解码方式对视频文件解码得到的时,图像帧备份模块203,具体用于将硬解码得到的存储于显存中的图像帧通过离屏渲染的方式备份至纹理缓存中;或者,将硬解码得到的存储于显存中的图像帧通过显存拷贝的方式备份至纹理缓存中。
进一步的,当图像帧为采用软解码方式对视频文件解码得到的时,图像帧备份模块203,具体用于调取纹理加载函数,并利用纹理加载函数,将软解码得到的存储于内存中的图像帧加载至纹理缓存中。
本发明实施例还提供了一种电子设备,如图3所示,包括处理器301、通信接口302、存储器303和通信总线304,其中,处理器301、通信接口302和存储器303通过通信总线304完成相互间的通信,
存储器303,用于存放计算机程序;
处理器301,用于执行存储器303上所存放的程序时,实现如下步骤:
确定对视频文件解码得到的图像帧的大小;
按照图像帧的大小,在显存中创建纹理缓存;
将图像帧备份至纹理缓存中;
对纹理缓存中存储的图像帧进行渲染。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一图像帧渲染方法的步骤。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一图像帧渲染方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备、计算机可读存储介质、计算机程序产品实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (7)

1.一种图像帧渲染方法,其特征在于,所述方法包括:
确定对视频文件解码得到的图像帧的大小;
按照所述图像帧的大小,在显存中创建纹理缓存;
将所述图像帧备份至所述纹理缓存中;
对所述纹理缓存中存储的所述图像帧进行渲染;
所述将所述图像帧备份至所述纹理缓存中,包括:
当所述图像帧为采用硬解码方式对所述视频文件解码得到的时,将硬解码得到的存储于显存中的所述图像帧通过离屏渲染的方式备份至所述纹理缓存中;或者,将硬解码得到的存储于显存中的所述图像帧通过显存拷贝的方式备份至所述纹理缓存中;
当所述图像帧为采用软解码方式对所述视频文件解码得到的时,调取纹理加载函数;利用所述纹理加载函数,将软解码得到的存储于内存中的所述图像帧加载至所述纹理缓存中。
2.根据权利要求1所述的方法,其特征在于,所述确定对视频文件解码得到的图像帧的大小,包括:
获取对视频文件解码得到的图像帧的宽度、高度及格式类型;
基于所述图像帧的宽度、高度及格式类型,计算出所述图像帧的大小。
3.根据权利要求2所述的方法,其特征在于,所述对所述纹理缓存中存储的所述图像帧进行渲染,包括:
基于所述图像帧的格式类型,确定对应所述图像帧的格式类型的着色器;
将所述纹理缓存中的所述图像帧绑定到纹理单元;
调用所述着色器,通过对绑定到纹理单元的所述图像帧进行采样,获取所述图像帧的图像值;
调用所述着色器对获取到的所述图像帧的所述图像值进行计算并渲染输出。
4.一种图像帧渲染装置,其特征在于,所述装置包括:
大小确定模块,用于确定对视频文件解码得到的图像帧的大小;
缓存创建模块,用于按照所述图像帧的大小,在显存中创建纹理缓存;
图像帧备份模块,用于将所述图像帧备份至所述纹理缓存中;
图像帧渲染模块,用于对所述纹理缓存中存储的所述图像帧进行渲染;
当所述图像帧为采用硬解码方式对所述视频文件解码得到的时,所述图像帧备份模块,具体用于将硬解码得到的存储于显存中的所述图像帧通过离屏渲染的方式备份至所述纹理缓存中;或者,将硬解码得到的存储于显存中的所述图像帧通过显存拷贝的方式备份至所述纹理缓存中;
当所述图像帧为采用软解码方式对所述视频文件解码得到的时,所述图像帧备份模块,具体用于调取纹理加载函数,并利用所述纹理加载函数,将软解码得到的存储于内存中的所述图像帧加载至所述纹理缓存中。
5.根据权利要求4所述的装置,其特征在于,所述大小确定模块,具体用于获取对视频文件解码得到的图像帧的宽度、高度及格式类型,并基于所述图像帧的宽度、高度及格式类型,计算出所述图像帧的大小。
6.根据权利要求5所述的装置,其特征在于,所述图像帧渲染模块,具体用于基于所述图像帧的格式类型,确定对应所述图像帧的格式类型的着色器,并将所述纹理缓存中的所述图像帧绑定到纹理单元,并调用所述着色器,通过对绑定到纹理单元的所述图像帧进行采样,获取所述图像帧的图像值,以及调用所述着色器对获取到的所述图像帧的所述图像值进行计算并渲染输出。
7.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器、通信接口和存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-3任一所述的方法。
CN201811347254.5A 2018-11-13 2018-11-13 一种图像帧渲染方法、装置及电子设备 Active CN109194960B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811347254.5A CN109194960B (zh) 2018-11-13 2018-11-13 一种图像帧渲染方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811347254.5A CN109194960B (zh) 2018-11-13 2018-11-13 一种图像帧渲染方法、装置及电子设备

Publications (2)

Publication Number Publication Date
CN109194960A CN109194960A (zh) 2019-01-11
CN109194960B true CN109194960B (zh) 2020-12-18

Family

ID=64939679

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811347254.5A Active CN109194960B (zh) 2018-11-13 2018-11-13 一种图像帧渲染方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN109194960B (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111696186B (zh) * 2019-02-27 2023-09-26 杭州海康威视***技术有限公司 界面渲染方法及装置
CN109922360B (zh) * 2019-03-07 2022-02-11 腾讯科技(深圳)有限公司 视频处理方法、装置及存储介质
CN109996104A (zh) * 2019-04-22 2019-07-09 北京奇艺世纪科技有限公司 一种视频播放方法、装置及电子设备
CN110069313B (zh) * 2019-04-29 2022-04-29 珠海豹好玩科技有限公司 图像切换方法、装置、电子设备及存储介质
CN110147512B (zh) * 2019-05-16 2022-12-20 腾讯科技(深圳)有限公司 播放器预加载、运行方法、装置、设备及介质
CN110211022A (zh) * 2019-05-16 2019-09-06 北京奇艺世纪科技有限公司 一种图像处理方法、装置及电子设备
CN111988554B (zh) * 2019-05-22 2022-05-27 瑞芯微电子股份有限公司 一种显示设备多分区数据的采样方法及终端
CN110753265B (zh) * 2019-10-28 2022-04-19 北京奇艺世纪科技有限公司 数据处理方法、装置和电子设备
CN110930480B (zh) * 2019-11-30 2023-07-21 航天科技控股集团股份有限公司 液晶仪表的开机动画视频直接渲染方法
CN111311478B (zh) * 2020-03-23 2024-02-09 西安芯云半导体技术有限公司 一种gpu渲染核数据的预读取方法、装置及计算机存储介质
CN111601077A (zh) * 2020-05-08 2020-08-28 杭州海康威视数字技术股份有限公司 数据帧渲染方法及装置
CN112153082B (zh) * 2020-11-25 2021-03-09 深圳乐播科技有限公司 一种在安卓***中平滑显示实时流视频画面的方法及装置
CN112614042B (zh) * 2020-12-29 2022-09-27 完美世界(北京)软件科技发展有限公司 贴图延迟渲染的数据驱动方法及装置
CN114827741A (zh) * 2021-01-18 2022-07-29 武汉斗鱼鱼乐网络科技有限公司 直播流管理方法、装置、电子设备及存储介质
CN113194266A (zh) * 2021-04-28 2021-07-30 深圳迪乐普数码科技有限公司 图像序列帧实时渲染方法、装置、计算机设备及存储介质
CN113487542B (zh) * 2021-06-16 2023-08-04 成都唐源电气股份有限公司 一种接触网导线磨耗区域的提取方法
CN115209216A (zh) * 2022-06-22 2022-10-18 浙江宇视科技有限公司 视频的播放方法、装置及电子设备
CN114972607B (zh) * 2022-07-29 2022-10-21 烟台芯瞳半导体科技有限公司 加速图像显示的数据传输方法、装置及介质
CN117830457B (zh) * 2024-03-05 2024-04-26 北京麟卓信息科技有限公司 一种基于帧内信号量的渲染同步优化方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102857819A (zh) * 2012-09-12 2013-01-02 广东威创视讯科技股份有限公司 一种纹理图片的加载方法及显示终端、服务器和***
CN108093293A (zh) * 2018-01-15 2018-05-29 北京奇艺世纪科技有限公司 一种视频渲染方法及***
CN108259779A (zh) * 2018-04-08 2018-07-06 成都索贝数码科技股份有限公司 一种利用部分幅面数据实现快速处理大幅面视频图像的方法
CN108509272A (zh) * 2018-03-22 2018-09-07 武汉斗鱼网络科技有限公司 将gpu显存纹理拷贝到***内存的方法、装置及电子设备
CN108765534A (zh) * 2018-05-24 2018-11-06 武汉斗鱼网络科技有限公司 一种图像渲染方法、装置、设备及存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200950527A (en) * 2008-05-16 2009-12-01 Asustek Comp Inc Method for processing video data stream
CN108364324B (zh) * 2018-01-22 2021-10-08 杭州橙云科技创新服务有限公司 图像数据处理方法、装置及电子终端

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102857819A (zh) * 2012-09-12 2013-01-02 广东威创视讯科技股份有限公司 一种纹理图片的加载方法及显示终端、服务器和***
CN108093293A (zh) * 2018-01-15 2018-05-29 北京奇艺世纪科技有限公司 一种视频渲染方法及***
CN108509272A (zh) * 2018-03-22 2018-09-07 武汉斗鱼网络科技有限公司 将gpu显存纹理拷贝到***内存的方法、装置及电子设备
CN108259779A (zh) * 2018-04-08 2018-07-06 成都索贝数码科技股份有限公司 一种利用部分幅面数据实现快速处理大幅面视频图像的方法
CN108765534A (zh) * 2018-05-24 2018-11-06 武汉斗鱼网络科技有限公司 一种图像渲染方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN109194960A (zh) 2019-01-11

Similar Documents

Publication Publication Date Title
CN109194960B (zh) 一种图像帧渲染方法、装置及电子设备
CN111163345B (zh) 一种图像渲染方法及装置
CN107515759B (zh) 截屏方法、装置、电子设备及可读存储介质
KR101623415B1 (ko) 드로잉 방법, 장치, 및 단말
CN112770188B (zh) 一种视频播放方法及装置
KR101558069B1 (ko) 범용 그래픽스 프로세싱 유닛에서의 컴퓨테이션 리소스 파이프라이닝
WO2019085598A1 (zh) 计算页面首屏渲染时长的方法、装置及电子设备
CN110865888A (zh) 一种资源加载方法、装置、服务器及存储介质
CN109086105B (zh) 一种页面布局转换方法、装置及电子设备
CN108509272B (zh) 将gpu显存纹理拷贝到***内存的方法、装置及电子设备
WO2018120992A1 (zh) 一种窗口渲染方法及终端
WO2015161809A1 (en) Picture splitting method and apparatus, and picture loading method and apparatus
CN111813465B (zh) 一种信息获取方法、装置、介质和设备
CN106484779B (zh) 文件操作方法及装置
CN111338831B (zh) 一种多线程运行性能的处理方法、装置、介质和电子设备
CN111199569A (zh) 数据处理的方法、装置、电子设备及计算机可读介质
CN111008934A (zh) 一种场景构建方法、装置、设备及存储介质
CN112433778B (zh) 一种移动设备页面显示方法、装置、电子设备及存储介质
US8693042B2 (en) Image copying method and device
CN114647411A (zh) 编程界面加载方法、装置、电子设备及存储介质
CN110038301B (zh) 数据处理方法、装置、电子设备及存储介质
CN110287437B (zh) 网页截图方法、装置、存储介质及终端
CN113377455A (zh) 一种媒体组件的切换方法、切换装置、存储介质及电子设备
US20100299682A1 (en) Method and apparatus for executing java application
CN115809956B (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