CN111541901A - 图片解码的方法和装置 - Google Patents
图片解码的方法和装置 Download PDFInfo
- Publication number
- CN111541901A CN111541901A CN202010393078.XA CN202010393078A CN111541901A CN 111541901 A CN111541901 A CN 111541901A CN 202010393078 A CN202010393078 A CN 202010393078A CN 111541901 A CN111541901 A CN 111541901A
- Authority
- CN
- China
- Prior art keywords
- decoding
- decoded
- preset
- picture file
- data
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000012545 processing Methods 0.000 claims abstract description 53
- 230000006870 function Effects 0.000 claims description 51
- 238000009877 rendering Methods 0.000 claims description 13
- 238000013507 mapping Methods 0.000 claims description 11
- 238000010586 diagram Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 230000006835 compression Effects 0.000 description 4
- 238000007906 compression Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005034 decoration Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 238000004148 unit process Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明公开了一种图片解码的方法和装置。其中,该方法包括:获取待解码图片文件;基于中央处理器对待解码图片文件进行解析处理,得到调色板数据以及多帧图像数据;基于图形处理器对调色板数据以及多帧图像数据进行解码处理,得到解码后图片文件。本发明解决了现有技术中央处理器对图片进行解码所导致的系统运行效率低的技术问题。
Description
技术领域
本发明涉及计算机领域,具体而言,涉及一种图片解码的方法和装置。
背景技术
目前,在一些客户端游戏中,例如,2D的客户端游戏中,其图形界面的绘制通常采用TCP图片。TCP图片是一种基于调色板与游程编码方法的有损序列帧图片压缩格式的图片。在游戏运行时,游戏引擎在对每一帧动画进行绘制时需要对TCP图片动态解码操作,才能使其转变成帧缓冲区域中的数据,并在显示器中显示出来。
其中,TCP图片采用的游程编码方式是基于线的游程编码压缩方法,即通过一个控制字符和若干个数据字符来记录一行内一个或多个连续像素的在调色板中的索引值。因此,TCP图片在一行内线与线之间的数据具有依赖性,解码器或解码方法需要按照编码顺序先解码前面的数据,再解码后面的数据。例如,图1为TCP图片的编码格式,由图1可知,TCP图片的编码格式包括文件头、调色板和帧数据;图2为一种可选的帧数据的格式,由图2可知,帧数据的格式包括帧信息以及每一行的信息,其中,一帧数据分为多行数据(如图2中的行1、行n),行与行之间无解码依赖,而一行可拆分为多个线,线与线之间有解码依赖,如图2中的第二行中的不同灰度的线。
在现有技术中,采用基于CPU(Central Processing Unit,中央处理器)的实时解码后再使用硬件渲染接口绘制的方法来实现对图片的解码以及渲染。如图3所示的图片解码和渲染流程,对于TCP图片的其中一帧(如图3中的单帧TCP数据),需要在CPU中对其进行逐像素解码,然后把解码的结果(即位图数据)暂时存放到内存中。在单帧的游戏画面中,需要对游戏窗口的所有TCP图片做上述解码操作后,再把该帧的内存数据通过硬件渲染接口传输到GPU(Graphics Processing Unit,图形处理器)当中,最后调用GPU接口进行一帧画面的绘制和显示。
然而,现有方案主要存在以下缺点:
(1)使用CPU进行图像解码是串行的。CPU需要对每个TCP图片进行逐像素解码操作,而逐像素解码无疑会增加CPU的运行负担。
(2)在客户端游戏中,内存和显存是异构的,因此对于一帧游戏画面,需要将解码后的数据从内存传输到显存中,再交由GPU绘制,但该传输方式需要一定时间,易造成延迟或卡顿。
(3)在游戏中,CPU需要负责包括脚本逻辑、资源加载、网络通信等运算,从而使得CPU易卡顿。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种图片解码的方法和装置,以至少解决现有技术中央处理器对图片进行解码所导致的系统运行效率低的技术问题。
根据本发明实施例的一个方面,提供了一种图片解码的方法,包括:获取待解码图片文件;基于中央处理器对待解码图片文件进行解析处理,得到调色板数据以及多帧图像数据;基于图形处理器对调色板数据以及多帧图像数据进行解码处理,得到解码后图片文件。
进一步地,图片解码的方法还包括:基于图形处理器对调色板数据以及多帧图像数据进行映射处理,得到预设对象;确定待解码图片文件的当前帧所对应的行数;获取与行数对应的核函数,其中,每一行的帧数据与一个核函数相对应,核函数用于对对应行的帧数据进行解码处理;对与核函数对应的预设对象进行解码处理,得到解码后图片文件。
进一步地,图片解码的方法还包括:在获取与行数对应的核函数之前,获取当前帧所对应的预设对象的指针、行数以及当前行所对应的偏移数据;将预设对象的指针、行数以及当前行所对应的偏移数据输入至核函数中。
进一步地,图片解码的方法还包括:根据行数以及当前行所对应的偏移数据得到待解码的行所对应的指针;根据行数以及预设对象所对应的列数确定预设对象的下标;根据下标以及指针确定控制位;基于控制位从预设的指针数组中获取对应的线解码函数;基于线解码函数对预设对象进行解码,得到解码后图片文件。
进一步地,图片解码的方法还包括:确定预设对象的像素类型,其中,像素类型至少包括:重复半透明像素、单个半透明像素、连续不透明像素、重复不透明像素以及重复空白像素;确定与像素类型对应的控制位的预设位数;根据预设位数确定重复像素的重复个数、透明度以及颜色值索引;根据颜色值索引从调色板数据中获取颜色数据;基于颜色数据以及透明度得到解码后图片文件。
进一步地,图片解码的方法还包括:在基于图形处理器对调色板数据以及多帧图像数据进行解码处理,得到解码后图片文件之后,将解码后图片文件存储在预设缓冲区中。
进一步地,图片解码的方法还包括:在获取待解码图片文件之后,创建纹理对象;将纹理对象映射到预设缓冲区中;对预设缓冲区以及预设的运行环境进行关联处理。
进一步地,图片解码的方法还包括:在基于图形处理器对调色板数据以及多帧图像数据进行解码处理,得到解码后图片文件之后,取消预设缓冲区与预设的运行环境的关联处理;将预设缓冲区与预设图形库接口进行关联,得到关联关系;基于关联关系对纹理对象进行渲染。
根据本发明实施例的另一方面,还提供了一种图片解码的装置,包括:获取模块,用于获取待解码图片文件;解析模块,用于基于中央处理器对待解码图片文件进行解析处理,得到调色板数据以及多帧图像数据;解码模块,用于基于图形处理器对调色板数据以及多帧图像数据进行解码处理,得到解码后图片文件。
根据本发明实施例的另一方面,还提供了一种存储介质,该存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行上述的图片解码的方法。
根据本发明实施例的另一方面,还提供了一种处理器,该处理器用于运行程序,其中,程序运行时执行上述的图片解码的方法。
在本发明实施例中,采用图形处理器解码图片的方式,在获取待解码图片文件之后,基于中央处理器对待解码图片文件进行解析处理,得到调色板数据以及多帧图像数据,然后基于图形处理器对调色板数据以及多帧图像数据进行解码处理,得到解码后图片文件。
在上述图片解码过程中,图形处理器对待解码图片文件进行解码,而中央处理器仅对待解码图片文件进行简单的解析操作,并不进行解码操作,从而减轻了中央处理器处理图片解码时的运行负担,进一步减少了中央处理器与图形处理器之间的数据传输,提高了系统的运行效率。
由此可见,本申请所提供的方案达到了对待解码图片文件进行解码的目的,从而实现了提高系统运行效率的技术效果,进而解决了现有技术中央处理器对图片进行解码所导致的系统运行效率低的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据现有技术的一种TCP图片的编码格式的示意图;
图2是根据现有技术的一种帧数据的格式的示意图;
图3是根据现有技术的一种图片解码和渲染流程示意图;
图4是根据本发明实施例的一种图片解码的方法流程图;以及
图5是根据本发明实施例的一种图片解码的装置示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
根据本发明实施例,提供了一种图片解码的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
此外,还需要说明的是,计算设备(例如,电脑)可以作为本实施例的执行主体,其中,该计算设备至少包括中央处理器CPU以及图形处理器GPU。可选的,中央处理器CPU作为计算机系统的运算和控制核心,是信息处理、程序运行的最终执行单元;图形处理器GPU是一种可实现图像和图像相关运算工作的微处理器。
在一种可选的实施例中,图4是根据本发明实施例的图片解码的方法流程图,如图4所示,该方法包括如下步骤:
步骤S402,获取待解码图片文件。
在步骤S402中,待解码图片文件为TCP文件,其中,TCP文件为基于行压缩的游程编码压缩格式的图片文件。
在一种可选的实施例中,游戏开发人员在需要对TCP文件进行解码时,将待解码图片文件输入至计算设备中,计算设备通过执行本实施例所提供的图片解码的方法来实现对待解码图片文件的解码。
步骤S404,基于中央处理器对待解码图片文件进行解析处理,得到调色板数据以及多帧图像数据。
在步骤S404中,调色板为计算机图形学中的给定有限颜色数组,通过数组下标来实现对颜色值的索引。可选的,上述调色板数据包括但不限于每种颜色的颜色值以及与该颜色值所对应下标。
需要说明的是,在本实施例中,中央处理器仅对待解码图片文件进行解析处理,并不进行解码处理,从而减轻了中央处理器的运行负担。
步骤S406,基于图形处理器对调色板数据以及多帧图像数据进行解码处理,得到解码后图片文件。
需要说明的是,一个TCP文件(即待解码图片文件)可以包括多帧图像数据,每帧图像数据又具有多行数据,每行数据中包括多个线。在通过步骤S404对待解码图片文件进行解析处理,得到调色板数据以及多帧图像数据之后,图形处理器以行为单位对调色板数据以及多帧图像数据进行解码处理,得到解码后图片文件。容易注意到的是,TCP文件的行与行之间的数据没有依赖关系,因此行与行之间的数据可并行解码,而通过使用图形处理器对TCP文件进行并行解码进一步提高了对待解码图片文件的解码效率。
基于上述步骤S402至步骤S406所限定的方案,可以获知,采用图形处理器解码图片的方式,在获取待解码图片文件之后,基于中央处理器对待解码图片文件进行解析处理,得到调色板数据以及多帧图像数据,然后基于图形处理器对调色板数据以及多帧图像数据进行解码处理,得到解码后图片文件。
容易注意到的是,在上述图片解码过程中,图形处理器对待解码图片文件进行解码,而中央处理器仅对待解码图片文件进行简单的解析操作,并不进行解码操作,从而减轻了中央处理器处理图片解码时的运行负担,进一步减少了中央处理器与图形处理器之间的数据传输,提高了系统的运行效率。
由此可见,本申请所提供的方案达到了对待解码图片文件进行解码的目的,从而实现了提高系统运行效率的技术效果,进而解决了现有技术中央处理器对图片进行解码所导致的系统运行效率低的技术问题。
在一种可选的实施例中,在获取待解码图片文件之后,计算设备基于图形处理器对调色板数据以及多帧图像数据进行解码处理,得到解码后图片文件。具体的,计算设备首先基于图形处理器对调色板数据以及多帧图像数据进行映射处理,得到预设对象,并确定待解码图片文件的当前帧所对应的行数,然后获取与行数对应的核函数,最后对与核函数对应的预设对象进行解码处理,得到解码后图片文件。其中,每一行的帧数据与一个核函数相对应,核函数用于对对应行的帧数据进行解码处理。
在上述过程中,预设对象可以为但不限于CUDA(Compute Unified DeviceArchitecture,统一计算设备架构)对象,其中,CUDA为一种运算平台,其具有并行的计算架构,该架构可使CPU能够解决复杂的计算问题,从而避免了CPU处理复杂的计算问题所导致的卡顿现象。
需要说明的是,在本实施例中,CUDA作为GPU的编程接口,可实现对图片文件的解码。另外,上述核函数可以为Kernel,在本实施例中,CUDA的执行以Kernel为基本单位,每一个Kernel分配到一个或多个CUDA核心上执行。由于在单帧TCP数据中,行与行之间的解码顺序无明显依赖,因此,通过为每一行的帧数据分配一个Kernel来进行解码操作,可以以行为单位并行解码,最大程度上利用GPU资源。
可选的,在获取与行数对应的核函数之前,图形处理器还获取当前帧所对应的预设对象的指针、行数以及当前行所对应的偏移数据,然后将预设对象的指针、行数以及当前行所对应的偏移数据输入至核函数中。即对于一个TCP文件,首先CPU对其进行简单的解析,提取出调色板数据和多帧图像数据,并把调色板数据和多帧图像数据上传至GPU的显存中,并将其映射为一个CUDA对象(即上述预设对象)。然后,GPU根据TCP当前帧的行数发射若干个Kernel并将CUDA对象(包括调色板数据和多帧图像数据)的指针传入到Kernel中,同时传入行数和偏移数据。
进一步地,在获取与行数对应的核函数之后,图形处理器对与核函数对应的预设对象进行解码处理,得到解码后图片文件。具体的,图形处理器首先根据行数以及当前行所对应的偏移数据得到待解码的行所对应的指针,并根据行数以及预设对象所对应的列数确定预设对象的下标,然后根据下标以及指针确定控制位,并基于控制位从预设的指针数组中获取对应的线解码函数,最后基于线解码函数对预设对象进行解码,得到解码后图片文件。
可选的,图形处理器将给定的5种线解码函数放入Kernel的函数指针数组(即预设的指针数据)中,并从传入核函数的指定行数开始获取到待解码行数据的指针,然后根据传进来的行数和列数计算输出预设对象的下标,并将读取到的字节作为控制位,根据控制位调用不同的线解码函数。重复上述步骤,读取到的字符为行结束符为止。至此,便实现了对待解码图片文件的解码过程。
需要说明的是,上述5种线解码函数包括基于重复半透明像素的线解码函数、基于单个半透明像素的线解码函数、基于连续不透明像素的线解码函数、基于重复不透明像素的线解码函数以及重基于复空白像素的线解码函数。
在一种可选的实施例中,在基于控制位从预设的指针数组中获取对应的线解码函数之后,图形处理器基于线解码函数对预设对象进行解码,得到解码后图片文件。具体的,图形处理器首先确定预设对象的像素类型,并确定与像素类型对应的控制位的预设位数,然后根据预设位数确定重复像素的重复个数、透明度以及颜色值索引,并根据颜色值索引从调色板数据中获取颜色数据,最后基于颜色数据以及透明度得到解码后图片文件。
需要说明的是,上述像素类型至少包括:重复半透明像素、单个半透明像素、连续不透明像素、重复不透明像素以及重复空白像素。
现以重复半透明像素为例进行说明。首先图形处理器从控制位的后5位(即预设位数)读取出重复半透明像素的重复个数,并读取控制位之后的第一个字节,作为重复半透明像素的Alpha值(即透明度);读取控制位之后的第二个字节,作为重复半透明像素的颜色值索引,然后根据索引值从调色板数据中取得相应的R、G、B分量颜色数据,最后将得到的R、G、B以及Alpha数值写到当前绑定的纹理对象CUDA的缓冲区中。
更进一步的,在基于图形处理器对调色板数据以及多帧图像数据进行解码处理,得到解码后图片文件之后,图形处理器将解码后图片文件存储在预设缓冲区中,其中,预设缓冲区可以为上述CUDA缓冲区。
在一种可选的实施例中,在获取待解码图片文件之后,计算设备还创建纹理对象,并将纹理对象映射到预设缓冲区中,然后对预设缓冲区以及预设的运行环境进行关联处理。
可选的,计算设备使用OpenGL创建纹理对象,并调用CUDA提供的接口以将纹理对象映射为CUDA缓冲区,同时读取和编译解码所需要的Kernel(即核函数),同时,将纹理对象的CUDA缓冲区绑定至当前CUDA的环境中。
进一步地,在基于图形处理器对调色板数据以及多帧图像数据进行解码处理,得到解码后图片文件之后,计算设备取消预设缓冲区与预设的运行环境的关联处理,并将预设缓冲区与预设图形库接口进行关联,得到关联关系,最后基于关联关系对纹理对象进行渲染。即计算设备取消对CUDA缓冲区的绑定,并作为一个纹理对象绑定到OpenGL当中,然后再调用OpenGL接口绘制一个屏幕矩形,采样上一步的纹理对象。
在上述过程中,OpenGL(Open Graphics Library,即开放式图形库)可作为图形绘制接口,其为用于渲染2D、3D矢量图形的跨语言、跨平台的应用程序编程接口。
基于上述内容可知,本申请所提供的基于GPU的游程编码图片解码和实时渲染的方法,将原本属于CPU处理的图片解码运算移到了GPU中实现,同时令解码后的图片在GPU中渲染出来,减少了CPU与GPU之间的数据传输,进一步提高了运行效率。
实施例2
根据本发明实施例,还提供了一种图片解码的装置实施例,其中,图5是根据本发明实施例的图片解码的装置示意图,如图5所示,该装置包括:获取模块501、解析模块503以及解码模块505。
其中,获取模块501,用于获取待解码图片文件;解析模块503,用于基于中央处理器对待解码图片文件进行解析处理,得到调色板数据以及多帧图像数据;解码模块505,用于基于图形处理器对调色板数据以及多帧图像数据进行解码处理,得到解码后图片文件。
此处需要说明的是,上述获取模块501、解析模块503以及解码模块505对应于上述实施例的步骤S402至步骤S406,三个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例所公开的内容。
在一种可选的实施例中,解码模块包括:第一映射模块、第一确定模块、第一获取模块以及第一解码模块。其中,第一映射模块,用于基于图形处理器对调色板数据以及多帧图像数据进行映射处理,得到预设对象;第一确定模块,用于确定待解码图片文件的当前帧所对应的行数;第一获取模块,用于获取与行数对应的核函数,其中,每一行的帧数据与一个核函数相对应,核函数用于对对应行的帧数据进行解码处理;第一解码模块,用于对与核函数对应的预设对象进行解码处理,得到解码后图片文件。
在一种可选的实施例中,图片解码的装置还包括:第二获取模块以及输入模块。其中,第二获取模块,用于在获取与行数对应的核函数之前,获取当前帧所对应的预设对象的指针、行数以及当前行所对应的偏移数据;输入模块,用于将预设对象的指针、行数以及当前行所对应的偏移数据输入至核函数中。
在一种可选的实施例中,第一解码模块包括:第一处理模块、第二确定模块、第三确定模块、第三获取模块以及第二解码模块。其中,第一处理模块,用于根据行数以及当前行所对应的偏移数据得到待解码的行所对应的指针;第二确定模块,用于根据行数以及预设对象所对应的列数确定预设对象的下标;第三确定模块,用于根据下标以及指针确定控制位;第三获取模块,用于基于控制位从预设的指针数组中获取对应的线解码函数;第二解码模块,用于基于线解码函数对预设对象进行解码,得到解码后图片文件。
在一种可选的实施例中,第二解码模块包括:第四确定模块、第五确定模块、第六确定模块、第四获取模块以及第二处理模块。其中,第四确定模块,用于确定预设对象的像素类型,其中,像素类型至少包括:重复半透明像素、单个半透明像素、连续不透明像素、重复不透明像素以及重复空白像素;第五确定模块,用于确定与像素类型对应的控制位的预设位数;第六确定模块,用于根据预设位数确定重复像素的重复个数、透明度以及颜色值索引;第四获取模块,用于根据颜色值索引从调色板数据中获取颜色数据;第二处理模块,用于基于颜色数据以及透明度得到解码后图片文件。
在一种可选的实施例中,图片解码的装置还包括:存储模块,用于在基于图形处理器对调色板数据以及多帧图像数据进行解码处理,得到解码后图片文件之后,将解码后图片文件存储在预设缓冲区中。
在一种可选的实施例中,图片解码的装置还包括:创建模块、第二映射模块以及第一关联模块。其中,创建模块,用于在获取待解码图片文件之后,创建纹理对象;第二映射模块,用于将纹理对象映射到预设缓冲区中;第一关联模块,用于对预设缓冲区以及预设的运行环境进行关联处理。
在一种可选的实施例中,图片解码的装置还包括:第三处理模块、第二关联模块以及渲染模块。其中,第三处理模块,用于在基于图形处理器对调色板数据以及多帧图像数据进行解码处理,得到解码后图片文件之后,取消预设缓冲区与预设的运行环境的关联处理;第二关联模块,用于将预设缓冲区与预设图形库接口进行关联,得到关联关系;渲染模块,用于基于关联关系对纹理对象进行渲染。
实施例3
根据本发明实施例的另一方面,还提供了一种存储介质,该存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行上述实施例1中的图片解码的方法。
实施例4
根据本发明实施例的另一方面,还提供了一种处理器,该处理器用于运行程序,其中,程序运行时执行上述实施例1中的图片解码的方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (11)
1.一种图片解码的方法,其特征在于,包括:
获取待解码图片文件;
基于中央处理器对所述待解码图片文件进行解析处理,得到调色板数据以及多帧图像数据;
基于图形处理器对所述调色板数据以及所述多帧图像数据进行解码处理,得到解码后图片文件。
2.根据权利要求1所述的方法,其特征在于,基于图形处理器对所述调色板数据以及所述多帧图像数据进行解码处理,得到解码后图片文件,包括:
基于所述图形处理器对所述调色板数据以及所述多帧图像数据进行映射处理,得到预设对象;
确定所述待解码图片文件的当前帧所对应的行数;
获取与所述行数对应的核函数,其中,每一行的帧数据与一个核函数相对应,所述核函数用于对对应行的帧数据进行解码处理;
对与所述核函数对应的预设对象进行解码处理,得到所述解码后图片文件。
3.根据权利要求2所述的方法,其特征在于,在获取与所述行数对应的核函数之前,所述方法还包括:
获取当前帧所对应的预设对象的指针、所述行数以及当前行所对应的偏移数据;
将所述预设对象的指针、所述行数以及当前行所对应的偏移数据输入至所述核函数中。
4.根据权利要求3所述的方法,其特征在于,对与所述核函数对应的预设对象进行解码处理,得到所述解码后图片文件,包括:
根据所述行数以及所述当前行所对应的偏移数据得到待解码的行所对应的指针;
根据所述行数以及所述预设对象所对应的列数确定所述预设对象的下标;
根据所述下标以及所述指针确定控制位;
基于所述控制位从预设的指针数组中获取对应的线解码函数;
基于所述线解码函数对所述预设对象进行解码,得到所述解码后图片文件。
5.根据权利要求4所述的方法,其特征在于,基于所述线解码函数对所述预设对象进行解码,得到所述解码后图片文件,包括:
确定所述预设对象的像素类型,其中,所述像素类型至少包括:重复半透明像素、单个半透明像素、连续不透明像素、重复不透明像素以及重复空白像素;
确定与所述像素类型对应的控制位的预设位数;
根据所述预设位数确定重复像素的重复个数、透明度以及颜色值索引;
根据所述颜色值索引从所述调色板数据中获取颜色数据;
基于所述颜色数据以及所述透明度得到所述解码后图片文件。
6.根据权利要求5所述的方法,其特征在于,在基于图形处理器对所述调色板数据以及所述多帧图像数据进行解码处理,得到解码后图片文件之后,所述方法还包括:
将所述解码后图片文件存储在预设缓冲区中。
7.根据权利要求6所述的方法,其特征在于,在获取待解码图片文件之后,所述方法还包括:
创建纹理对象;
将所述纹理对象映射到所述预设缓冲区中;
对所述预设缓冲区以及预设的运行环境进行关联处理。
8.根据权利要求7所述的方法,其特征在于,在基于图形处理器对所述调色板数据以及所述多帧图像数据进行解码处理,得到解码后图片文件之后,所述方法还包括:
取消所述预设缓冲区与所述预设的运行环境的关联处理;
将所述预设缓冲区与预设图形库接口进行关联,得到关联关系;
基于所述关联关系对所述纹理对象进行渲染。
9.一种图片解码的装置,其特征在于,包括:
获取模块,用于获取待解码图片文件;
解析模块,用于基于中央处理器对所述待解码图片文件进行解析处理,得到调色板数据以及多帧图像数据;
解码模块,用于基于图形处理器对所述调色板数据以及所述多帧图像数据进行解码处理,得到解码后图片文件。
10.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至7中任意一项所述的图片解码的方法。
11.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至7中任意一项所述的图片解码的方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202010393078.XA CN111541901B (zh) | 2020-05-11 | 2020-05-11 | 图片解码的方法和装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202010393078.XA CN111541901B (zh) | 2020-05-11 | 2020-05-11 | 图片解码的方法和装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN111541901A true CN111541901A (zh) | 2020-08-14 |
| CN111541901B CN111541901B (zh) | 2022-05-27 |
Family
ID=71975620
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202010393078.XA Active CN111541901B (zh) | 2020-05-11 | 2020-05-11 | 图片解码的方法和装置 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN111541901B (zh) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN114996491A (zh) * | 2022-04-22 | 2022-09-02 | 武汉光庭信息技术股份有限公司 | 一种全液晶仪表显示性能优化方法和系统 |
Citations (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6778181B1 (en) * | 2000-12-07 | 2004-08-17 | Nvidia Corporation | Graphics processing system having a virtual texturing array |
| JP2006333330A (ja) * | 2005-05-30 | 2006-12-07 | Sony Corp | データ処理方法、その装置およびプログラム |
| CN104125466A (zh) * | 2014-07-10 | 2014-10-29 | 中山大学 | 一种基于gpu的hevc并行解码方法 |
| CN104268021A (zh) * | 2014-09-15 | 2015-01-07 | 西安电子科技大学 | 基于图形处理器的rs解码方法 |
| CN106254865A (zh) * | 2015-06-08 | 2016-12-21 | 同济大学 | 一种图像编码及解码方法、图像处理设备 |
| US20170339421A1 (en) * | 2016-05-23 | 2017-11-23 | Qualcomm Incorporated | End of sequence and end of bitstream nal units in separate file tracks |
| CN108366288A (zh) * | 2018-03-01 | 2018-08-03 | 厦门普杰信息科技有限公司 | 一种用于高清视频的高效解码和播放方法及系统 |
| CN109964204A (zh) * | 2017-10-19 | 2019-07-02 | 腾讯科技(深圳)有限公司 | 用于处理图形的方法和系统 |
| US20190313080A1 (en) * | 2018-04-06 | 2019-10-10 | Disney Enterprises, Inc. | Depth codec for real-time, high-quality light field reconstruction |
| WO2019239396A1 (en) * | 2018-06-12 | 2019-12-19 | Kliots Shapira Ela | Method and system for automatic real-time frame segmentation of high resolution video streams into constituent features and modifications of features in each frame to simultaneously create multiple different linear views from same video source |
-
2020
- 2020-05-11 CN CN202010393078.XA patent/CN111541901B/zh active Active
Patent Citations (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6778181B1 (en) * | 2000-12-07 | 2004-08-17 | Nvidia Corporation | Graphics processing system having a virtual texturing array |
| JP2006333330A (ja) * | 2005-05-30 | 2006-12-07 | Sony Corp | データ処理方法、その装置およびプログラム |
| CN104125466A (zh) * | 2014-07-10 | 2014-10-29 | 中山大学 | 一种基于gpu的hevc并行解码方法 |
| CN104268021A (zh) * | 2014-09-15 | 2015-01-07 | 西安电子科技大学 | 基于图形处理器的rs解码方法 |
| CN106254865A (zh) * | 2015-06-08 | 2016-12-21 | 同济大学 | 一种图像编码及解码方法、图像处理设备 |
| US20170339421A1 (en) * | 2016-05-23 | 2017-11-23 | Qualcomm Incorporated | End of sequence and end of bitstream nal units in separate file tracks |
| CN109964204A (zh) * | 2017-10-19 | 2019-07-02 | 腾讯科技(深圳)有限公司 | 用于处理图形的方法和系统 |
| CN108366288A (zh) * | 2018-03-01 | 2018-08-03 | 厦门普杰信息科技有限公司 | 一种用于高清视频的高效解码和播放方法及系统 |
| US20190313080A1 (en) * | 2018-04-06 | 2019-10-10 | Disney Enterprises, Inc. | Depth codec for real-time, high-quality light field reconstruction |
| WO2019239396A1 (en) * | 2018-06-12 | 2019-12-19 | Kliots Shapira Ela | Method and system for automatic real-time frame segmentation of high resolution video streams into constituent features and modifications of features in each frame to simultaneously create multiple different linear views from same video source |
Non-Patent Citations (1)
| Title |
|---|
| 刘寿生: "虚拟现实仿真平台异构并行计算关键技术研究", 《博士论文电子期刊》 * |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN114996491A (zh) * | 2022-04-22 | 2022-09-02 | 武汉光庭信息技术股份有限公司 | 一种全液晶仪表显示性能优化方法和系统 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN111541901B (zh) | 2022-05-27 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9165399B2 (en) | System, method, and computer program product for inputting modified coverage data into a pixel shader | |
| US7612783B2 (en) | Advanced anti-aliasing with multiple graphics processing units | |
| CN111080780B (zh) | 虚拟角色模型的边缘处理方法和装置 | |
| US8988434B1 (en) | Text rendering for browsers and mobile based applications | |
| US20100064209A1 (en) | Method for transforming web page objects | |
| CN112307403B (zh) | 页面渲染方法、装置、存储介质以及终端 | |
| US10049425B2 (en) | Merging filters for a graphic processing unit | |
| CN116883228B (zh) | 一种gpu像素填充率测量方法 | |
| US10311060B2 (en) | Glyph management in texture atlases | |
| CN111541901B (zh) | 图片解码的方法和装置 | |
| US10424084B2 (en) | Digital content rendering that supports alpha is shape (AIS) as part of knockout groups | |
| EP4254341B1 (en) | Method and apparatus for animation rendering, electronic device, and storage medium | |
| CN111460342A (zh) | 页面的渲染展示方法、装置、电子设备及计算机存储介质 | |
| CN118043842A (zh) | 一种渲染格式选择方法及其相关设备 | |
| US10269168B2 (en) | Graphics processing systems | |
| US9536281B2 (en) | Image scaling for images including low resolution text | |
| CN102023838B (zh) | Mrc图片文件的处理方法及系统 | |
| CN114996491A (zh) | 一种全液晶仪表显示性能优化方法和系统 | |
| CN111179386A (zh) | 动画生成方法、装置、设备及存储介质 | |
| KR20180037837A (ko) | 채널의 변화량에 기초하여 채널에 할당되는 비트들의 수를 결정하는 방법 및 장치. | |
| CN115738254B (zh) | 渲染方法、装置、设备、可读存储介质及程序产品 | |
| CN114245138B (zh) | 视频帧处理方法和装置 | |
| CN119052524B (zh) | 一种视频显示方法及系统 | |
| CN117235403A (zh) | 图像解码方法、电子设备及计算机存储介质 | |
| US12412330B2 (en) | Programmable pixel blending pipeline, programmable pixel blending method and apparatus, and storage medium |
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 |