Alpha通道传输方法及装置、终端装置及存储介质与流程

文档序号:15297099发布日期:2018-08-31 19:32阅读:188来源:国知局
本发明涉及图像处理领域,具体的,涉及一种alpha通道传输方法、alpha通道传输装置、终端装置及计算机可读存储介质。
背景技术
:本部分旨在为权利要求书及具体实施方式中陈述的本发明实施例的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。alpha通道在存储图像文件中代表各像素点透明度的附加信息,利用alpha通道的透明特性可以制作丰富的图像效果。由于带有alpha通道的图像文件通常都占用较大的存储空间,因而在图像文件传输过程中,带有alpha通道的图像文件也占用了较大的带宽资源。如果能将带有alpha通道的图像文件大小减小,不但能提升加载速度,还能节省大量带宽及存储成本。然而目前在对带有alpha通道的图像文件进行编码压缩时,得到的压缩图像数据仍较大,不利于图片的存储及传输。技术实现要素:鉴于此,有必要提供一种alpha通道传输方法、alpha通道传输装置、终端装置及计算机可读存储介质,可优化alpha通道传输的操作,提升用户体验。本发明实施例一方面提供一种alpha通道传输方法,所述alpha通道传输方法包括:将图像各像素的rgba数据转换为图像各像素的第一yuva数据;以yuv422的编码形式编码yuv420形式的数据,得到第二yuva数据;在将所述第二yuva数据传输给接收端后,将所述第二yuva数据转换为rgba形式的数据。进一步的,在本发明实施例提供的上述alpha通道传输方法中,所述图像各像素的第一yuva数据包括yuv422形式的数据以及alpha通道数据。进一步的,在本发明实施例提供的上述alpha通道传输方法中,所述以yuv422的编码形式编码yuv420形式的数据包括:以预设规则设定u、v、a值与y值;所述预设规则包括:一个rgb颜色数据对应一个y通道数据,四个rgb颜色数据共用一个uv二通道数据,两个rgb颜色数据共用一个alpha通道数据。进一步的,在本发明实施例提供的上述alpha通道传输方法中,所述设定u、v、a值包括:将u、v的二维位置信息转换为一维位置信息;获取u、v的起点位置;获取u、v、a的分量地址信息;以预设方式设定u、v、a的值。进一步的,在本发明实施例提供的上述alpha通道传输方法中,所述预设方式包括:获取y一通道数据中的四个像素点的值;分别设定u、v值为四个像素点的值之和与4的比值;设定a值为两个像素点的值之和与2的比值。进一步的,在本发明实施例提供的上述alpha通道传输方法中,所述将所述第二yuva数据转换为rgba形式的数据包括:获取y、u、v、a的分量地址信息;根据所述分量地址信息获取y、u、v、a的数据信息;根据所述预设规则将所述y、u、v、a的数据信息转换为所述图像各像素的rgba数据。本发明实施例再一方面还提供一种alpha通道传输装置,所述alpha通道传输装置包括:第一转换模块,用于将图像各像素的rgba数据转换为图像各像素的第一yuva数据;编码模块,用于以yuva422的编码形式编码yuva420形式的数据,得到第二yuva数据;第二转换模块,用于在将所述第二yuva数据传输给接收端后,将所述第二yuva数据转换为rgba形式的数据。进一步的,在本发明实施例提供的上述alpha通道传输装置中,所述编码模块还包括:设定模块,用于以预设规则设定u、v、a值与y值;所述预设规则包括:一个rgb颜色数据对应一个y通道数据,四个rgb颜色数据共用一个uv二通道数据,两个rgb颜色数据共用一个alpha通道数据。本发明实施例再一方面还提供一种终端装置,所述终端装置包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现上述任意一项所述的alpha通道传输方法的步骤。本发明实施例再一方面还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的alpha通道传输方法的步骤。本发明实施例提供的alpha通道传输方法、alpha通道传输装置、终端装置以及计算机可读存储介质,将图像各像素的rgba数据转换为图像各像素的第一yuva数据;以yuv422的编码形式编码yuv420形式的数据,得到第二yuva数据;在将所述第二yuva数据传输给接收端后,将所述第二yuva数据转换为rgba形式的数据。利用本发明实施例,可优化alpha通道传输操作,在一定程度上节省带有alpha通道的图像的流量带宽以及存储成本,提升用户体验。附图说明图1是本发明实施例提供的alpha通道传输方法的流程图。图2是本发明一实施方式的终端的结构示意图。图3是图2所示的终端的示例性的功能模块图。图4是yuv422形式保存yuv420形式的数据的示意图。主要元件符号说明终端1存储器10显示屏20处理器30第一转换模块11编码模块12第二转换模块13设定模块121如下具体实施方式将结合上述附图进一步说明本发明实施例。具体实施方式为了能够更清楚地理解本发明实施例的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行详细描述。需要说明的是,在不冲突的情况下,本申请的实施方式中的特征可以相互组合。在下面的描述中阐述了很多具体细节以便于充分理解本发明实施例,所描述的实施方式是本发明一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式,都属于本发明实施例保护的范围。除非另有定义,本文所使用的所有的技术和科学术语与属于本发明实施例的
技术领域
的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施方式的目的,不是旨在于限制本发明实施例。图1是本发明实施例提供的alpha通道传输方法的流程图。所述alpha通道传输方法可以应用于终端,所述终端可以是例如智能手机、笔记本电脑、台式/平板电脑、智能手表等智能设备。如图1所示,所述alpha通道传输方法可以包括如下步骤:s101:将图像各像素的rgba数据转换为图像各像素的第一yuva数据。本实施方式中,采用视频编码器(编码端)和视频解码器(解码端)来对包含alpha通道的图像进行编码和解码操作。在视频编码器中,一般包括y通道、u通道以及v通道,视频编码器基于这三个通道完成对视频帧的编码压缩。其中,y通道数据表示亮度,也即灰阶值;u、v二通道数据表示色度,可以用于指定像素的颜色。对于人眼来说,亮度很敏感,而色度的较小变化人眼一般是察觉不出来的,因而色度信息是可压缩的。在利用编码端将图像各像素的rgba数据转换为图像各像素的第一yuva数据之前,可以先对待编码的图像进行数据解析,得到rgba数据,所述rgba数据中包括r(红)、g(绿)、b(蓝)、a(alpha)四通道数据。其中,rgb数据为图像的颜色数据,alpha通道是一个8位的灰度通道,一般用作不透明度参数。若一个像素的alpha通道的数值为0,则表示所述像素是完全透明的;若一个像素的alpha通道的数值为1,则表示所述像素是完全不透明的;若一个像素的alpha通道的数值在0到1之间,则表示所述像素是半透明的。本实施方式中,利用编码方式将图像各像素的rgba数据直接转换为图像各像素的第一yuva数据,所述图像各像素的第一yuva数据包括yuv422形式的数据以及alpha通道数据。所述yuv422形式的数据中每两个y通道数据共用一对u、v二通道数据。可以理解的是,所述rgb颜色数据转化为yuv数据时,由rgb颜色数据得到的y通道数据是一对一的,例如,有1920*1080个rgb三通道的信息,就有1920*1080个y通道数据。uv二通道数据是可压缩的,yuv422形式的数据就是二个rgb颜色数据共用一个uv二通道数据,如上就是有960*540个u一通道数据,960*540个v一通道数据。yuv420形式的数据就是四个rgb颜色数据共用一个uv二通道数据,如上就是有480*270个u一通道数据,480*270个v一通道数据,y通道数据一直为1920*1080个。在一实施方式中,图像各像素的rgb颜色数据与图像各像素的yuv数据可以采用如下所示的变化公式:y=0.299r+0.587g+0.114bu=-0.1687r-0.3313g+0.5b+128v=0.5r-0.4187g-0.0813b+128r=y+1.402(cr-128)g=y-0.34414(cb-128)-0.71414(cr-128)b=y+1.772(cb-128)s102:以yuv422的编码形式编码yuv420形式的数据,得到第二yuva数据。本实施方式中,所述以yuv422的编码形式编码yuv420形式的数据可以包括:以预设规则设定y值与u、v、a值。所述预设规则包括:一个rgb颜色数据对应一个y通道数据,四个rgb颜色数据共用一个uv二通道数据,两个rgb颜色数据共用一个alpha通道数据。其中,设定u、v、a值的方法可以包括:先将u、v的二维位置信息转换为一维位置信息;获取u、v的起点位置;获取u、v、a的分量地址信息;以预设方式设定u、v、a的值。所述预设方式包括:获取y通道数据中的四个像素点的值;分别设定u、v值为四个像素点的值之和与4的比值;设定a值为两个像素点的值之和与2的比值。优选的,所述四个像素点的位置可以包括:选定一个点作为一像素点,再选定所述一个点的右边/下边/右下边位置的点作为另外三个像素点。可以理解的是,所述yuv420形式的数据中每四个y通道数据共用一对uv二通道数据,yuv422形式的数据就是每两个y通道数据共用一个uv二通道数据。yuv422形式的数据与yuv420形式的数据中都无位置存放alpha通道的数据,而yuv422形式的数据与yuv420形式的数据相比,多出了一对uv二通道数据。若用yuv422的编码形式编码yuv420形式的数据,多出来的一对uv二通道数据的位置可以用来存放alpha通道数据,也即每两个y通道数据共用一个alpha通道数据。所述第二yuva数据可以包括:以yuv422形式保存的yuv420形式的数据与alpha通道数据。s103:在将所述第二yuva数据传输给接收端后,将所述第二yuva数据转换为rgba形式的数据。本实施方式中,在将所述第二yuva数据传输给接收端后,所述接收端控制将所述第二yuva数据转换为rgba形式的数据。所述将所述第二yuva数据转换为rgba形式的数据可以包括:通过视频解码器(解码端)获取所述第二yuva数据中的y、u、v、a的分量地址信息;根据所述分量地址信息获取y、u、v、a的数据信息;根据所述预设规则将所述y、u、v、a的数据信息转换为所述图像各像素的rgba数据。所述预设规则包括:y值与rgb颜色数据为一对一存在,四个rgb颜色数据共用一个uv二通道数据,两个rgb颜色数据共用一个alpha通道数据。本发明实施例提供的alpha通道传输方法,将图像各像素的rgba数据转换为图像各像素的第一yuva数据;以yuv422的编码形式编码yuv420形式的数据,得到第二yuva数据;在将所述第二yuva数据传输给接收端后,将所述第二yuva数据转换为rgba形式的数据。利用本发明实施例,可优化alpha通道传输的操作,在一定程度上节省带有alpha通道的图像的流量带宽以及存储成本,提升用户体验。以上是对本发明实施例所提供的方法进行的详细描述。根据不同的需求,所示流程图中方块的执行顺序可以改变,某些方块可以省略。下面对本发明实施例所提供的终端进行描述。本发明实施例还提供一种终端装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一实施方式中所述的alpha通道传输方法的步骤。图2是本发明一实施方式的终端的结构示意图。如图2所示,终端1包括存储器10,存储器10中存储有alpha通道传输装置100。所述alpha通道传输装置100可以将图像各像素的rgba数据转换为图像各像素的第一yuva数据;以yuv422的编码形式编码yuv420形式的数据,得到第二yuva数据;在将所述第二yuva数据传输给接收端后,将所述第二yuva数据转换为rgba形式的数据。利用本发明实施例,可优化alpha通道传输的操作,在一定程度上节省带有alpha通道的图像的流量带宽以及存储成本,提升用户体验。本实施方式中,终端1还可以包括显示屏20及处理器30。存储器10、显示屏20可以分别与处理器30电连接。所述的存储器10可以是不同类型存储设备,用于存储各类数据。例如,可以是终端1的存储器、内存,还可以是可外接于该终端1的存储卡,如闪存、sm卡(smartmediacard,智能媒体卡)、sd卡(securedigitalcard,安全数字卡)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。存储器用于存储各类数据,例如,所述终端1中安装的各类应用程序(applications)、应用上述alpha通道传输方法而设置、获取的数据等信息。显示屏20安装于终端1,用于显示信息。处理器30用于执行所述alpha通道传输方法以及所述终端1内安装的各类软件,例如操作系统及应用显示软件等。处理器30包含但不限于处理器(centralprocessingunit,cpu)、微控制单元(microcontrollerunit,mcu)等用于解释计算机指令以及处理计算机软件中的数据的装置。所述的alpha通道传输装置100可以包括一个或多个的模块,所述一个或多个模块被存储在终端1的存储器10中并被配置成由一个或多个处理器(本实施方式为一个处理器30)执行,以完成本发明实施例。例如,参阅图3所示,所述alpha通道传输装置100可以包括第一转换模块11、编码模块12、第二转换模块13;其中,所述编码模块12还可以包括设定模块121。本发明实施例所称的模块可以是完成一特定功能的程序段,比程序更适合于描述软件在处理器中的执行过程。可以理解的是,对应上述alpha通道传输方法中的各实施方式,alpha通道传输装置100可以包括图3中所示的各功能模块中的一部分或全部,各模块的功能将在以下具体介绍。需要说明的是,以上alpha通道传输方法的各实施方式中相同的名词相关名词及其具体的解释说明也可以适用于以下对各模块的功能介绍。为节省篇幅及避免重复起见,在此就不再赘述。第一转换模块11可以用于将图像各像素的rgba数据转换为图像各像素的第一yuva数据。编码模块12可以用于以yuva422的编码形式编码yuva420形式的数据,得到第二yuva数据。第二转换模块13可以用于在将所述第二yuva数据传输给接收端后,将所述第二yuva数据转换为rgba形式的数据。设定模块121可以用于设定模块,用于以预设规则设定y值与u、v、a值;所述预设规则包括:一个rgb颜色数据对应一个y通道数据,四个rgb颜色数据共用一个uv二通道数据,两个rgb颜色数据共用一个alpha通道数据。本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一实施方式中的alpha通道传输方法的步骤。所述alpha通道传输装置/终端/计算机设备集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施方式方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读存储介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。所称处理器可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述alpha通道传输装置/终端的控制中心,利用各种接口和线路连接整个alpha通道传输装置/终端的各个部分。所述存储器用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述alpha通道传输装置/终端的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。请参阅图4,图4是利用yuv422形式保存yuv420形式的数据的示意图。yuv422形式的数据中每2个y通道数据共用一个uv二通道数据,yuv420形式的数据中每4个y通道数据共用一个uv二通道数据,因而利用yuv422形式的数据比yuva420形式的数据多出了一些信息。如图4所示,y表示y通道数据,u、v分别表示u、v通道数据,a表示alpha通道数据。可以看出,y通道数据所占的空间大小分别是u、v通道数据所占空间大小的四倍,也即4个y通道数据共用一个uv二通道数据,y通道数据所占的空间大小是alpha通道数据所占空间大小的2倍,也即2个y通道数据共用一个alpha通道数据。在利用yuv422形式保存yuv420形式的数据时,多出了一些信息的位置就用于存放rgba数据中的alpha通道数据。每两个相邻的像素共存入一个alpha通道数据。因而利用本发明实施例,可优化alpha通道传输的操作,并在一定程度上节省带有alpha通道的图像的流量带宽以及存储成本,提升用户体验。进一步的,本发明实施例可以使用computershader使得本算法可在gpu上进行计算,极大的提高了运行效率。本发明实施例提供的alpha通道传输方法、alpha通道传输装置、终端装置以及计算机可读存储介质,将图像各像素的rgba数据转换为图像各像素的第一yuva数据;以yuv422的编码形式编码yuv420形式的数据,得到第二yuva数据;在将所述第二yuva数据传输给接收端后,将所述第二yuva数据转换为rgba形式的数据。利用本发明实施例,可优化alpha通道传输操作,在一定程度上节省带有alpha通道的图像的流量带宽以及存储成本,提升用户体验。在本发明所提供的几个具体实施方式中,应该理解到,所揭露的终端和方法,可以通过其它的方式实现。例如,以上所描述的系统实施方式仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。对于本领域技术人员而言,显然本发明实施例不限于上述示范性实施例的细节,而且在不背离本发明实施例的精神或基本特征的情况下,能够以其他的具体形式实现本发明实施例。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明实施例的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明实施例内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。系统、装置或终端权利要求中陈述的多个单元、模块或装置也可以由同一个单元、模块或装置通过软件或者硬件来实现。以上实施方式仅用以说明本发明实施例的技术方案而非限制,尽管参照以上较佳实施方式对本发明实施例进行了详细说明,本领域的普通技术人员应当理解,可以对本发明实施例的技术方案进行修改或等同替换都不应脱离本发明实施例的技术方案的精神和范围。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1