CN109194962B - 一种图片文件处理方法及系统 - Google Patents
一种图片文件处理方法及系统 Download PDFInfo
- Publication number
- CN109194962B CN109194962B CN201811272357.XA CN201811272357A CN109194962B CN 109194962 B CN109194962 B CN 109194962B CN 201811272357 A CN201811272357 A CN 201811272357A CN 109194962 B CN109194962 B CN 109194962B
- Authority
- CN
- China
- Prior art keywords
- data
- image
- picture file
- code stream
- header information
- 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
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 23
- 238000000034 method Methods 0.000 claims abstract description 79
- 238000012545 processing Methods 0.000 claims description 88
- 238000004891 communication Methods 0.000 claims description 24
- 230000006835 compression Effects 0.000 abstract description 8
- 238000007906 compression Methods 0.000 abstract description 8
- 230000003068 static effect Effects 0.000 description 54
- 238000010586 diagram Methods 0.000 description 51
- 238000006243 chemical reaction Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 8
- 230000009286 beneficial effect Effects 0.000 description 7
- 108091026890 Coding region Proteins 0.000 description 6
- 238000000926 separation method Methods 0.000 description 5
- HWWIYXKSCZCMFV-ZETCQYMHSA-N 2-[[(2s)-1-acetylpyrrolidine-2-carbonyl]-nitrosoamino]acetic acid Chemical compound CC(=O)N1CCC[C@H]1C(=O)N(CC(O)=O)N=O HWWIYXKSCZCMFV-ZETCQYMHSA-N 0.000 description 4
- 101150075622 UL80 gene Proteins 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 4
- 238000004806 packaging method and process Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/182—Methods 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 a pixel
-
- 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/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- 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/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/85406—Content authoring involving a specific file format, e.g. MP4 format
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/172—Methods 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
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/186—Methods 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 a colour or a chrominance component
-
- 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/46—Embedding additional information in the video signal during the compression process
-
- 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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/234309—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4 or from Quicktime to Realvideo
-
- 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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/234318—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by decomposing into objects, e.g. MPEG-4 objects
-
- 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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/234336—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by media transcoding, e.g. video is transformed into a slideshow of still pictures or audio is converted into text
-
- 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/431—Generation of visual interfaces for content selection or interaction; Content or additional data rendering
- H04N21/4318—Generation of visual interfaces for content selection or interaction; Content or additional data rendering by altering the content in the rendering process, e.g. blanking, blurring or masking an image region
-
- 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/4402—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 reformatting operations of video signals for household redistribution, storage or real-time display
- H04N21/440218—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 reformatting operations of video signals for household redistribution, storage or real-time display by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4
-
- 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/4402—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 reformatting operations of video signals for household redistribution, storage or real-time display
- H04N21/440236—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 reformatting operations of video signals for household redistribution, storage or real-time display by media transcoding, e.g. video is transformed into a slideshow of still pictures, audio is converted into text
-
- 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/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/8146—Monomedia components thereof involving graphical data, e.g. 3D object, 2D graphics
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Graphics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
本发明实施例公开了一种图片文件处理方法及系统,其中方法包括:获取图片文件中第一图像对应的RGBA数据,并分离所述RGBA数据,以得到所述第一图像的RGB数据和透明度数据;按照第一视频编码模式对所述第一图像的RGB数据进行编码,生成第一码流数据;按照第二视频编码模式对所述第一图像的透明度数据进行编码,生成第二码流数据;将所述第一码流数据和所述第二码流数据写入所述图片文件的码流数据段中。采用本发明,能够通过视频编码模式分别对RGB数据和透明度数据进行编码,提高了图片文件压缩率的同时能够保证图片文件的质量。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种图片文件处理方法及系统。
背景技术
随着移动互联网的发展,终端设备的下载流量大幅增长,用户下载流量中,图片文件流量占据很大占比。大量的图片文件也给网络传输带宽负载带来了很大的压力。如果能将图片文件大小减小,不但能提升加载速度,还能节省大量带宽以及存储成本。若想节省带宽或存储成本,一是降低图片文件质量,比如将jpeg图片文件质量由jpeg80降低到jpeg70甚至更低,但是图片文件质量也大大下降,很影响用户体验;另一种是采用更高效的图片文件压缩方法,而目前的主流图片文件有是jpeg、png、gif等,但在保证图片文件质量的前提下,它们都存在压缩效率不高的问题。
发明内容
本发明实施例所要解决的技术问题在于,提供一种图片文件处理方法及系统,能够通过视频编码模式分别对RGB数据和透明度数据进行编码,提高了图片文件压缩率的同时能够保证图片文件的质量。
第一方面,为本发明实施例提供了一种图片文件处理方法,包括:
获取图片文件中第一图像对应的RGBA数据,并分离所述RGBA数据,以得到所述第一图像的RGB数据和透明度数据,所述RGB数据为所述RGBA数据包含的颜色数据,所述透明度数据为所述RGBA数据包含的透明度数据;
按照第一视频编码模式对所述第一图像的RGB数据进行编码,生成第一码流数据;
按照第二视频编码模式对所述第一图像的透明度数据进行编码,生成第二码流数据;
将所述第一码流数据和所述第二码流数据写入所述图片文件的码流数据段中。
在一个实施例中,所述按照第一视频编码模式对所述第一图像的RGB数据进行编码,生成第一码流数据,包括:
将所述第一图像的RGB数据转换为第一YUV数据;
按照第一视频编码模式对所述第一YUV数据进行编码,生成第一码流数据。
在一个实施例中,所述按照第二视频编码模式对所述第一图像的透明度数据进行编码,生成第二码流数据,包括:
将所述第一图像的透明度数据转换为第二YUV数据;
按照第二视频编码模式对所述第二YUV数据进行编码,生成第二码流数据。
在一个实施例中,所述将所述第一图像的透明度数据转换为第二YUV数据,包括:
将所述第一图像的透明度数据设定为第二YUV数据中的Y分量,且不设定所述第二YUV数据中的UV分量;或者,
将所述第一图像的透明度数据设定为第二YUV数据中的Y分量,且将所述第二YUV数据中的UV分量设定为预设数据。
在一个实施例中,所述方法还包括:
若所述图片文件为动态格式的图片文件且所述第一图像为所述图片文件中的第k帧对应的图像,则获取所述图片文件中的第(k+1)帧对应的第二图像所对应的RGBA数据,并分离所述RGBA数据,以得到所述第二图像的RGB数据和透明度数据;
按照第三视频编码模式对所述第二图像的RGB数据进行编码,生成第三码流数据;
按照第四视频编码模式对所述第二图像的透明度数据进行编码,生成第四码流数据;
将所述第三码流数据和所述第四码流数据写入所述图片文件的码流数据段中。
在一个实施例中,所述方法还包括:
生成所述图片文件对应的图片头信息和帧头信息,所述图片头信息包括所述图片文件是否存在透明度数据的图像特征信息,所述帧头信息用于指示所述图片文件的码流数据段。
在一个实施例中,所述方法还包括:
将所述图片头信息写入所述图片文件的图片头信息数据段中;
所述图片头信息包括图像文件标识符、解码器标识符、版本号和所述图像特征信息;所述图像文件标识符用于表示所述图片文件的类型,所述解码器标识符用于表示所述图片文件采用的编解码标准的标识;所述版本号用于表示所述图片文件采用的编解码标准的档次。
在一个实施例中,所述图像特征信息还包括所述图像特征信息起始码、所述图像特征信息数据段长度、所述图片文件是否为静态格式的图片文件、所述图片文件是否为动态格式的图片文件、所述图片文件是否为无损编码、所述图片文件采用的YUV颜色空间值域、所述图片文件的宽度、所述图片文件的高度和用于指示若所述图片文件为动态格式的图片文件的帧数。
在一个实施例中,所述方法还包括:
将所述帧头信息写入所述图片文件的帧头信息数据段中;
所述帧头信息包括所述帧头信息起始码和用于指示若所述图片文件为动态格式的图片文件的延迟时间信息。
第二方面,为本发明实施例提供了一种图片文件处理方法,包括:
按照第一视频解码模式对第一码流数据进行解码,生成第一图像的RGB数据;
按照第二视频解码模式对第二码流数据进行解码,生成所述第一图像的透明度数据;
根据所述第一图像的所述RGB数据和所述透明度数据,生成所述第一图像对应的RGBA数据;
所述第一码流数据和所述第二码流数据是从图片文件的码流数据段中读取由所述第一图像生成的数据。
在一个实施例中,所述按照第一视频解码模式对第一码流数据进行解码,生成第一图像的RGB数据,包括:
按照第一视频编码模式对所述第一码流数据进行解码,生成第一图像的第一YUV数据;
将所述第一YUV数据转换为所述第一图像的RGB数据。
在一个实施例中,所述按照第二视频解码模式对第二码流数据进行解码,生成所述第一图像的透明度数据,包括:
按照第二图像视频编码模式对所述第二码流数据进行解码,生成所述第一图像的第二YUV数据;
将所述第二YUV数据转换为所述第一图像的透明度数据。
在一个实施例中,所述将所述第二YUV数据转换为所述第一图像的透明度数据,包括:
将所述第二YUV数据中的Y分量设定为所述第一图像的所述透明度数据,且舍弃所述第二YUV数据中的UV分量。
在一个实施例中,所述方法还包括:
若所述图片文件为动态格式的图片文件且所述第一图像为所述动态格式的图片文件中的第k帧对应的图像,则从所述图片文件的码流数据段中获取由所述图片文件中第(k+1)帧对应的第二图像生成的第三码流数据和第四码流数据;
按照第三视频解码模式对所述第三码流数据进行解码,生成所述第二图像的RGB数据;
按照第四视频解码模式对所述第四码流数据进行解码,生成所述第二图像的透明度数据;
根据所述第二图像的所述RGB数据和所述透明度数据,生成所述第二图像对应的RGBA数据。
在一个实施例中,所述按照第一视频解码模式对第一码流数据进行解码,生成第一图像的RGB数据之前,还包括:
解析图片文件,得到所述图片文件的图片头信息和帧头信息,所述图片头信息包括所述图片文件是否存在透明度数据的图像特征信息,所述帧头信息用于指示所述图片文件的码流数据段。
在一个实施例中,所述解析图片文件,得到所述图片文件的图片头信息,包括:
从图片文件的图片头信息数据段中读取所述图片文件的图片头信息;
所述图片头信息包括图像文件标识符、解码器标识符、版本号和所述图像特征信息;所述图像文件标识符用于表示所述图片文件的类型,所述解码器标识符用于表示所述图片文件采用的编解码标准的标识;所述版本号用于表示所述图片文件采用的编解码标准的档次。
在一个实施例中,所述图像特征信息还包括所述图像特征信息起始码、所述图像特征信息数据段长度、所述图片文件是否为静态格式的图片文件、所述图片文件是否为动态格式的图片文件、所述图片文件是否为无损编码、所述图片文件采用的YUV颜色空间值域、所述图片文件的宽度、所述图片文件的高度和用于指示若所述图片文件为动态格式的图片文件的帧数。
在一个实施例中,所述解析图片文件,得到所述图片文件的帧头信息,包括:
从图片文件的帧头信息数据段中读取所述图片文件的帧头信息;
所述帧头信息包括所述帧头信息起始码和用于指示若所述图片文件为动态格式的图片文件的延迟时间信息。
在一个实施例中,所述方法还包括:
若通过所述图像特征信息确定所述图片文件包含透明度数据,则读取所述图片文件中所述帧头信息指示的码流数据段中的码流数据,所述码流数据包括第一码流数据和第二码流数据。
第三方面,为本发明实施例提供了一种图片文件处理方法,包括:
生成图片文件对应的图片头信息和帧头信息,所述图片头信息包括所述图片文件是否存在透明度数据的图像特征信息,所述帧头信息用于指示所述图片文件的码流数据段。
在一个实施例中,所述方法还包括:
将所述图片头信息写入所述图片文件的图片头信息数据段中;
所述图片头信息包括图像文件标识符、解码器标识符、版本号和所述图像特征信息;所述图像文件标识符用于表示所述图片文件的类型,所述解码器标识符用于表示所述图片文件采用的编解码标准的标识;所述版本号用于表示所述图片文件采用的编解码标准的档次。
在一个实施例中,所述图像特征信息还包括所述图像特征信息起始码、所述图像特征信息数据段长度、所述图片文件是否为静态格式的图片文件、所述图片文件是否为动态格式的图片文件、所述图片文件是否为无损编码、所述图片文件采用的YUV颜色空间值域、所述图片文件的宽度、所述图片文件的高度和用于指示若所述图片文件为动态格式的图片文件的帧数。
在一个实施例中,所述方法还包括:
将所述帧头信息写入所述图片文件的帧头信息数据段中,所述第一图像为所述图片文件包含的图像;
所述帧头信息包括所述帧头信息起始码和用于指示若所述图片文件为动态格式的图片文件的延迟时间信息。
在一个实施例中,所述方法还包括:
若确定所述图片文件的图像特征信息包含透明度数据,则对所述第一图像对应的RGBA数据中包含的RGB数据进行编码生成第一码流数据,以及包含的透明度度数据进行编码生成第二码流数据;
将所述第一码流数据和所述第二码流数据写入所述第一图像对应的帧头信息所指示的码流数据段中。
第四方面,为本发明实施例提供了一种图片文件处理方法,包括:
解析图片文件,得到所述图片文件的图片头信息和帧头信息,所述图片头信息包括所述图片文件是否存在透明度数据的图像特征信息,所述帧头信息用于指示所述图片文件的码流数据段。
在一个实施例中,所述解析图片文件,得到所述图片文件的图片头信息,包括:
从图片文件的图片头信息数据段中读取所述图片文件的图片头信息;
所述图片头信息包括图像文件标识符、解码器标识符、版本号和所述图像特征信息;所述图像文件标识符用于表示所述图片文件的类型,所述解码器标识符用于表示所述图片文件采用的编解码标准的标识;所述版本号用于表示所述图片文件采用的编解码标准的档次。
在一个实施例中,所述图像特征信息还包括所述图像特征信息起始码、所述图像特征信息数据段长度、所述图片文件是否为静态格式的图片文件、所述图片文件是否为动态格式的图片文件、所述图片文件是否为无损编码、所述图片文件采用的YUV颜色空间值域、所述图片文件的宽度、所述图片文件的高度和用于指示若所述图片文件为动态格式的图片文件的帧数。
在一个实施例中,所述解析图片文件,得到所述图片文件的帧头信息,包括:
从图片文件的帧头信息数据段中读取所述图片文件的帧头信息;
所述帧头信息包括所述帧头信息起始码和用于指示若所述图片文件为动态格式的图片文件的延迟时间信息。
在一个实施例中,所述方法还包括:
若通过所述图像特征信息确定所述图片文件包含透明度数据,则读取所述图片文件中所述帧头信息指示的码流数据段中的码流数据,所述码流数据包括第一码流数据和第二码流数据;
对所述第一码流数据和所述第二码流数据分别进行解码。
第五方面,为本发明实施例提供了一种编码装置,包括:
数据获取模块,用于获取图片文件中第一图像对应的RGBA数据,并分离所述RGBA数据,以得到所述第一图像的RGB数据和透明度数据,所述RGB数据为所述RGBA数据包含的颜色数据,所述透明度数据为所述RGBA数据包含的透明度数据;
第一编码模块,用于按照第一视频编码模式对所述第一图像的RGB数据进行编码,生成第一码流数据;
第二编码模块,用于按照第二视频编码模式对所述第一图像的透明度数据进行编码,生成第二码流数据;
数据写入模块,用于将所述第一码流数据和所述第二码流数据写入所述图片文件的码流数据段中,所述第一图像为所述图片文件中包含的图像。
第六方面,为本发明实施例提供了一种解码装置,包括:
第一解码模块,用于按照第一视频解码模式对第一码流数据进行解码,生成第一图像的RGB数据;
第二解码模块,用于按照第二视频解码模式对第二码流数据进行解码,生成所述第一图像的透明度数据;
数据生成模块,用于根据所述第一图像的所述RGB数据和所述透明度数据,生成所述第一图像对应的RGBA数据;
所述第一码流数据和所述第二码流数据是从图片文件的码流数据段中读取由所述第一图像生成的数据。
第七方面,为本发明实施例提供了一种图片文件处理装置,包括:
信息生成模块,用于生成图片文件对应的图片头信息和帧头信息,所述图片头信息包括所述图片文件是否存在透明度数据的图像特征信息,所述帧头信息用于指示所述图片文件的码流数据段。
第八方面,为本发明实施例提供了一种图片文件处理方法,包括:
文件解析模块,用于解析图片文件,得到所述图片文件的图片头信息和帧头信息,所述图片头信息包括所述图片文件是否存在透明度数据的图像特征信息,所述帧头信息用于指示所述图片文件的码流数据段。
第九方面,为本发明实施例提供了一种图片文件处理系统,所述图片文件处理系统包括编码装置和解码装置,所述编码装置包括处理器、存储器以及通信接口,所述存储器用于存储程序代码,所述处理器调用所述存储器中存储的程序代码执行第一方面提供给的图片文件处理方法;所述解码装置包括处理器、存储器以及通信接口,所述存储器用于存储程序代码,所述处理器调用所述存储器中存储的程序代码执行第二方面提供的图片文件处理方法。
第十方面,为本发明实施例提供了一种图片文件处理系统,所述图片文件处理系统包括第一图片文件处理装置和第二图片文件处理装置,所述第一图片文件处理装置包括处理器、存储器以及通信接口,所述存储器用于存储程序代码,所述处理器调用所述存储器中存储的程序代码执行第三方面提供的图片文件处理方法;所述第二图片文件处理装置包括处理器、存储器以及通信接口,所述存储器用于存储程序代码,所述处理器调用所述存储器中存储的程序代码执行第四方面提供的图片文件处理方法。
在本发明实施例中,在第一图像为RGBA数据的情况下,编码装置获取图片文件中第一图像对应的RGBA数据,并通过分离RGBA数据得到所述第一图像的RGB数据和透明度数据,按照第一视频编码模式对所述第一图像的RGB数据进行编码,生成第一码流数据;按照第二视频编码模式对第一图像的透明度数据进行编码,生成第二码流数据;将第一码流数据和第二码流数据写入码流数据段中。这样通过采用视频编码模式编码能够提高图片文件的压缩率,另外通过对图片文件中的RGB数据和透明度数据分别进行编码,实现了在采用视频编码模式的同时保留了图片文件中的透明度数据,保证了图片文件的质量。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供了一种图片文件处理方法的流程示意图;
图2为本发明实施例提供了另一种图片文件处理方法的流程示意图;
图3为本发明实施例提供了另一种图片文件处理方法的示例图;
图4a为本发明实施例提供了另一种图片文件处理方法的流程示意图;
图4b为本发明实施例提供了一种RGB数据转YUV数据的示例图;
图4c为本发明实施例提供了一种透明度数据转YUV数据的示例图;
图4d为本发明实施例提供了一种透明度数据转YUV数据的示例图;
图5a为本发明实施例提供了一种图片头信息的示例图;
图5b为本发明实施例提供了一种图像特征信息数据段的示例图;
图5c为本发明实施例提供了一种用户自定义信息的示例图;
图6a为本发明实施例提供了一种静态格式的图片文件的封装示例图;
图6b为本发明实施例提供了一种动态格式的图片文件的封装示例图;
图7a为本发明实施例提供了另一种静态格式的图片文件的封装示例图;
图7b为本发明实施例提供了另一种动态格式的图片文件的封装示例图;
图8a为本发明实施例提供了一种帧头信息的示例图;
图8b为本发明实施例提供了一种图像帧头信息的示例图;
图8c为本发明实施例提供了一种透明通道帧头信息的示例图;
图9为本发明实施例提供了另一种图片文件处理方法的流程示意图;
图10为本发明实施例提供了另一种图片文件处理方法的流程示意图;
图11为本发明实施例提供了另一种图片文件处理方法的流程示意图;
图12为本发明实施例提供了另一种图片文件处理方法的流程示意图;
图13为本发明实施例提供了另一种图片文件处理方法的流程示意图;
图14为本发明实施例提供了一种编码装置的结构示意图;
图15为本发明实施例提供了另一种编码装置的结构示意图;
图16为本发明实施例提供了一种解码装置的结构示意图;
图17为本发明实施例提供了另一种解码装置的结构示意图;
图18为本发明实施例提供了一种图片文件处理装置的结构示意图;
图19为本发明实施例提供了另一种图片文件处理装置的结构示意图;
图20为本发明实施例提供了另一种图片文件处理装置的结构示意图;
图21为本发明实施例提供了另一种图片文件处理装置的结构示意图;
图22为本发明实施例提供了一种图片文件处理系统的系统架构图;
图23为本发明实施例提供了一种编码模块的示例图;
图24为本发明实施例提供了一种解码模块的示例图;
图25为本发明实施例提供了一种终端设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参见图1,为本发明实施例提供了一种图片文件处理方法的流程示意图,如图1所示,本发明实施例的所述方法可以包括步骤101至步骤104。
101,获取图片文件中第一图像对应的RGBA数据,并分离所述RGBA数据,以得到所述第一图像的RGB数据和透明度数据。
具体的,编码装置获取图片文件中第一图像对应的RGBA数据,并分离所述RGBA数据,以得到所述第一图像的RGB数据和透明度数据。其中,所述第一图像对应的数据为RGBA数据。RGBA数据是代表红色(Red)、绿色(Green)、蓝色(Blue)和透明度信息(Alpha)的色彩空间。将所述第一图像对应的RGBA数据分离为RGB数据和透明度数据。所述RGB数据为所述RGBA数据包含的颜色数据,所述透明度数据为所述RGBA数据包含的透明度数据。
举例来说,若第一图像对应的数据为RGBA数据,由于第一图像是由很多的像素点组成的,每个像素点对应一个RGBA数据,因此,由N个像素点组成的第一图像包含N个RGBA数据,其形式如下:
RGBA RGBA RGBA RGBA RGBA RGBA……RGBA
因此,可选的,所述编码装置需要对第一图像的RGBA数据进行分离,以获得第一图像的RGB数据和透明度数据,例如,将上述N个像素点组成的第一图像执行分离之后,获得N个像素点中每个像素点的RGB数据和每个像素点的透明度数据,其形式如下:
RGB RGB RGB RGB RGB RGB……RGB
A A A A A A……A
进一步的,在获得第一图像的RGB数据和透明度数据之后,分别执行步骤102和步骤103。
102,按照第一视频编码模式对所述第一图像的RGB数据进行编码,生成第一码流数据。
具体的,编码装置按照第一视频编码模式对第一图像的RGB数据进行编码,生成第一码流数据。其中,所述第一图像可以为静态格式的图片文件所包含的一帧图像;或者,所述第一图像可以为动态格式的图片文件所包含的多帧图像中的任一帧图像。
103,按照第二视频编码模式对所述第一图像的透明度数据进行编码,生成第二码流数据。
具体的,所述编码装置按照第二视频编码模式对所述第一图像的透明度数据进行编码,生成第二码流数据。
针对步骤102和步骤103而言,所述第一视频编码模式或第二视频编码模式可以包括但不限定于帧内预测(Intra-Prediction,I)帧编码模式和帧间预测(Prediction,P)帧编码模式。其中,I帧表示关键帧,对I帧数据解码时只需要本帧数据就可以重构完整图像;P帧需要参考前面已编码帧,才可以重构完整图像。本发明实施例对静态格式的图片文件或动态格式的图片文件中各帧图像所采用的视频编码模式不做限定。
举例来说,对于静态格式的图片文件而言,由于静态格式的图片文件只包含一帧图像,在本发明实施例中即为第一图像,因此对第一图像的RGB数据和透明度数据进行I帧编码。又举例来说,对于动态格式的图片文件而言,由于动态格式的图片文件一般包含至少两帧图像,在本发明实施例中,对于动态格式的图片文件中的第一帧图像的RGB数据和透明度数据进行I帧编码;对于非第一帧图像的RGB数据和透明度数据可以进行I帧编码,可以进行P帧编码。
104,将所述第一码流数据和所述第二码流数据写入所述图片文件的码流数据段中。
具体的,所述编码装置将由第一图像的RGB数据生成的第一码流数据,以及由第一图像的透明度数据生成的第二码流数据,写入图片文件的码流数据段中。其中,所述第一码流数据和所述第二码流数据为第一图像对应的完整的码流数据,即通过对第一码流数据和第二码流数据进行解码能够获得第一图像的RGBA数据。
需要说明的是,步骤102和步骤103在执行过程中并无先后顺序之分。
又一需要说明的是,本发明实施例中编码之前输入的RGBA数据可以是通过对各种格式的图片文件解码获得的,其中图片文件的格式可以为联合图像专家小组(JointPhotographic Experts Group,JPEG)、图像文件格式(Bitmap,BMP)、可移植网络图形格式(Portable Network Graphic Format,PNG)、位图动画格式(Animated Portable NetworkGraphics,APNG)、图像互换格式(Graphics Interchange Format,GIF)等格式中的任一种,本发明实施例对编码之前的图片文件的格式不做限定。
又一需要说明的是,本发明实施例中的第一图像为包含RGB数据和透明度数据的RGBA数据,而对于第一图像仅包含RGB数据的情况,所述编码装置可以在获取到第一图像对应的RGB数据之后对RGB数据执行步骤102,以生成第一码流数据,并将第一码流数据确定为第一图像对应的完整的码流数据,这样依旧可以通过视频编码模式对仅包含RGB数据的第一图像进行编码,以实现对第一图像的压缩。
在本发明实施例中,在第一图像为RGBA数据的情况下,编码装置获取图片文件中第一图像对应的RGBA数据,并通过分离RGBA数据得到所述第一图像的RGB数据和透明度数据,按照第一视频编码模式对所述第一图像的RGB数据进行编码,生成第一码流数据;按照第二视频编码模式对第一图像的透明度数据进行编码,生成第二码流数据;将第一码流数据和第二码流数据写入码流数据段中。这样通过采用视频编码模式编码能够提高图片文件的压缩率,另外通过对图片文件中的RGB数据和透明度数据分别进行编码,实现了在采用视频编码模式的同时保留了图片文件中的透明度数据,保证了图片文件的质量。
请参见图2,为本发明实施例提供的另一种图片文件处理方法的流程示意图,如图2所示,本发明实施例的所述方法可以包括步骤201至步骤207。本发明实施例是以动态格式的图片文件进行说明的,请参见以下具体介绍。
201,获取动态格式的图片文件中第k帧对应的第一图像所对应的RGBA数据,并分离所述RGBA数据,以得到所述第一图像的RGB数据和透明度数据。
具体的,编码装置获取待编码的动态格式的图片文件,该动态格式的图片文件中包含至少两帧图像,所述编码装置获取该动态格式的图片文件中的第k帧对应的第一图像。其中,第k帧可以为所述至少两帧图像中的任意一帧,k为大于0的正整数。
可选的,所述编码装置可以按照所述动态格式的图片文件中每一帧对应的图像的先后顺序进行编码,即可以先获取所述动态格式的图片文件的第一帧对应的图像。本发明实施例对所述编码装置获取所述动态格式的图片文件所包含的图像的顺序不做限定。
进一步,若第一图像对应的数据为RGBA数据,RGBA数据是代表Red、Green、Blue和Alpha的色彩空间。将所述第一图像对应的RGBA数据分离为RGB数据和透明度数据。具体是:由于第一图像是由很多的像素点组成的,每个像素点对应一个RGBA数据,因此,由N个像素点组成的第一图像包含N个RGBA数据,其形式如下:
RGBA RGBA RGBA RGBA RGBA RGBA……RGBA
因此,所述编码装置需要对第一图像的RGBA数据进行分离,以获得第一图像的RGB数据和透明度数据,例如,将上述N个像素点组成的第一图像执行分离之后,获得N个像素点中每个像素点的RGB数据和每个像素点的透明度数据,其形式如下:
RGB RGB RGB RGB RGB RGB……RGB
A A A A A A……A
进一步的,在获得第一图像的RGB数据和透明度数据之后,分别执行步骤202和步骤203。
202,按照第一视频编码模式对所述第一图像的RGB数据进行编码,生成第一码流数据。
具体的,所述编码装置按照第一视频编码模式对第一图像的RGB数据进行编码。所述RGB数据是从所述第一图像对应的RGBA数据中分离得到的颜色数据。
203,按照第二视频编码模式对所述第一图像的透明度数据进行编码,生成第二码流数据。
具体的,所述编码装置按照第二视频编码模式对所述第一图像的透明度数据进行编码,生成第二码流数据。其中,所述透明度数据从所述第一图像对应的RGBA数据中分离得到的。
需要说明的是,步骤202和步骤203在执行过程中并无先后顺序之分。
204,将所述第一码流数据和所述第二码流数据写入所述图片文件的码流数据段中。
具体的,所述编码装置将由第一图像的RGB数据生成的第一码流数据,以及由第一图像的透明度数据生成的第二码流数据,写入图片文件的码流数据段中。其中,所述第一码流数据和所述第二码流数据为第一图像对应的完整的码流数据,即通过对第一码流数据和第二码流数据进行解码能够获得第一图像的RGBA数据。
205,判断第k帧对应第一图像是否为所述动态格式的图片文件中的最后一帧。
具体的,所述编码装置判断第k帧对应第一图像是否为所述动态格式的图片文件中最后一帧,若为最后一帧,则表示对已完成对动态格式的图片文件的编码,继而执行步骤207;若不是最后一帧,则表示该动态格式的图片文件中还存在未被编码的图像,进而执行步骤206。
206,若否,则更新k,并触发执行获取动态格式的图片文件中第k帧对应的第一图像所对应的RGBA数据,并分离所述RGBA数据,以得到所述第一图像的RGB数据和透明度数据。
具体的,所述编码装置判断第k帧对应的第一图像不是所述动态格式的图片文件中的最后一帧,则对下一帧对应的图像进行编码,即采用(k+1)的数值更新k。在将k更新之后,触发执行获取动态格式的图片文件中第k帧对应的第一图像所对应的RGBA数据,并分离所述RGBA数据,以得到所述第一图像的RGB数据和透明度数据。
可以理解的是,采用更新的k所获取的图像与k更新之前所获取的图像并非是同一帧对应的图像,为了便于说明,这里将k更新之前的k帧对应的图像设为第一图像,将k更新之后的k帧对应的图像设为第二图像,以便于区别。
在对第二图像执行步骤202至步骤204时,可选的,第二图像对应的RGBA数据中包含RGB数据和透明度数据,所述编码装置按照第三视频编码模式对第二图像的RGB数据进行编码,生成第三码流数据;按照第四视频编码模式对所述第二图像的透明度数据进行编码,生成第四码流数据;并将所述第三码流数据和所述第四码流数据写入图片文件的码流数据段中。
针对步骤202和步骤203而言,上述涉及到的所述第一视频编码模式、第二视频编码模式、第三视频编码模式或第四视频编码模式可以包括但不限定于I帧编码模式和P帧编码模式。其中,I帧表示关键帧,对I帧数据解码时只需要本帧数据就可以重构完整图像;P帧需要参考前面已编码帧,才可以重构完整图像。本发明实施例对动态格式的图片文件中各帧图像中RGB数据和透明度数据所采用的视频编码模式不做限定。例如,同一帧图像中的RGB数据和透明度数据可以按照不同的视频编码模式进行编码;或者,可以按照相同的视频编码模式进行编码。不同帧图像中的RGB数据可以按照不同的视频编码模式进行编码;或者,可以按照相同的视频编码模式进行编码。不同帧图像中的透明度数据可以按照不同的视频编码模式进行编码;或者,可以按照相同的视频编码模式进行编码。
进一步需要说明的是,所述动态格式的图片文件包含有多个码流数据段,可选的,一帧图像对应一个码流数据段;或者,一个码流数据对应一个码流数据段。因此,所述第一码流数据和第二码流数据写入的码流数据段与所述第三码流数据和第四码流数据写入的码流数据段不同。
举例来说,请一并参见图3,为本发明实施例提供的一种图片文件处理方法的示例图。如图3所示,图3是针对动态格式的图片文件进行说明的,该动态格式的图片文件中包含多帧图像,例如,第1帧对应的图像、第2帧对应的图像、第3帧对应的图像、第4帧对应的图像等等,其中,每一帧对应的图像中包含RGB数据和透明度数据。可行的方案中,所述编码装置可以对第1帧对应的图像中的RGB数据和透明度数据分别按照I帧编码模式进行编码、对第2帧、第3帧、第4帧等其他帧分别对应的图像按照P帧编码模式进行编码,例如,第2帧对应图像中的RGB数据按照P帧编码模式进行编码,需要参考第1帧对应图像中的RGB数据,第2帧对应图像中的透明度数据按照P帧编码模式进行编码,需要参考第1帧对应图像中的透明度数据,以此类推,第3帧、第4帧等其他帧可以参考第2帧采用P帧编码模式进行编码。
需要说明的是,上述仅为动态格式的图片文件中以一种可选的编码方案;或者,所述编码装置还可以对第1帧、第2帧、第3帧、第4帧等其他帧均采用I帧编码模式进行编码。
207,若是,则完成对所述动态格式的图片文件的编码。
具体的,所述编码装置判断第k帧对应第一图像为所述动态格式的图片文件中最后一帧,则表示完成对该动态格式的图片文件编码。
可选的,所述编码装置可以对每一帧对应的图像所生成的码流数据生成帧头信息,并对所述动态格式的图片文件生成图片头信息,这样可以通过图片头信息确定该图片文件是否包含透明度数据,进而能够确定解码过程中是只获取由RGB数据生成的第一码流数据,还是获取由RGB数据生成的第一码流数据和由透明度数据生成的第二码流数据。
需要说明的是,本发明实施例的动态格式的图片文件中每一帧对应的图像是包含RGB数据和透明度数据的RGBA数据的,而对于动态格式的图片文件中每一帧对应的图像仅包含RGB数据的情况,所述编码装置可以对每一帧图像的RGB数据执行步骤202,以生成第一码流数据以及将所述第一码流数据写入图片文件的码流数据段中,最后将第一码流数据确定为第一图像对应的完整的码流数据,这样依旧可以通过视频编码模式对仅包含RGB数据的第一图像进行编码,以实现对第一图像的压缩。
又一需要说明的是,本发明实施例中编码之前输入的RGBA数据可以是通过对各种动态格式的图片文件解码获得的,其中图片文件的动态格式可以为APNG、GIF等格式中的任一种,本发明实施例对编码之前的图片文件的动态格式不做限定。
在本发明实施例中,在动态格式的图片文件中的第一图像为RGBA数据的情况下,编码装置获取图片文件中第一图像对应的RGBA数据,并通过分离RGBA数据得到所述第一图像的RGB数据和透明度数据,按照第一视频编码模式对所述第一图像的RGB数据进行编码,生成第一码流数据;按照第二视频编码模式对第一图像的透明度数据进行编码,生成第二码流数据;将第一码流数据和第二码流数据写入码流数据段中。另外,对于动态格式的图片文件中每一帧对应的图像均可以按照第一图像的方式实现编码。这样通过采用视频编码模式编码能够提高图片文件的压缩率,另外通过对图片文件中的RGB数据和透明度数据分别进行编码,实现了在采用视频编码模式的同时保留了图片文件中的透明度数据,保证了图片文件的质量。
请参见图4a,为本发明实施例提供的另一种图片文件处理方法的流程示意图,如图4a所示,本发明实施例的所述方法可以包括步骤301至步骤307。
301,获取图片文件中第一图像对应的RGBA数据,并分离所述RGBA数据,以得到所述第一图像的RGB数据和透明度数据。
具体的,编码装置获取图片文件中第一图像对应的RGBA数据,并分离所述RGBA数据,以得到所述第一图像的RGB数据和透明度数据。其中,所述第一图像对应的数据为RGBA数据。RGBA数据是代表Red、Green、Blue和Alpha的色彩空间。将所述第一图像对应的RGBA数据分离为RGB数据和透明度数据。所述RGB数据为所述RGBA数据包含的颜色数据,所述透明度数据为所述RGBA数据包含的透明度数据。
举例来说,若第一图像对应的数据为RGBA数据,由于第一图像是由很多的像素点组成的,每个像素点对应一个RGBA数据,因此,由N个像素点组成的第一图像包含N个RGBA数据,其形式如下:
RGBA RGBA RGBA RGBA RGBA RGBA……RGBA
因此,可选的,所述编码装置需要对第一图像的RGBA数据进行分离,以获得第一图像的RGB数据和透明度数据,例如,将上述N个像素点组成的第一图像执行分离之后,获得N个像素点中每个像素点的RGB数据和每个像素点的透明度数据,其形式如下:
RGB RGB RGB RGB RGB RGB……RGB
A A A A A A……A
进一步的,在获得第一图像的RGB数据和透明度数据之后,分别执行步骤302和步骤303。
302,按照第一视频编码模式对所述第一图像的RGB数据进行编码,生成第一码流数据。
具体的,编码装置按照第一视频编码模式对第一图像的RGB数据进行编码,其中,所述第一图像可以为静态格式的图片文件所包含的一帧图像;或者,所述第一图像可以为动态格式的图片文件所包含的多帧图像中的任一帧图像。
可选的,所述编码装置按照第一视频编码模式对第一图像的RGB数据进行编码并生成第一码流数据的具体过程是:将所述第一图像的RGB数据转换为第一YUV数据;按照第一视频编码模式对所述第一YUV数据进行编码,生成第一码流数据。可行的方案中,编码装置可以按照预设的YUV颜色空间格式将RGB数据转换为第一YUV数据,例如,预设的YUV颜色空间格式可以包括但不限定于YUV420、YUV422和YUV444。
303,按照第二视频编码模式对所述第一图像的透明度数据进行编码,生成第二码流数据。
具体的,所述编码装置按照第二视频编码模式对所述第一图像的透明度数据进行编码,生成第二码流数据。
针对步骤302的所述第一视频编码模式或步骤303的第二视频编码模式可以包括但不限定于I帧编码模式和P帧编码模式。其中,I帧表示关键帧,对I帧数据解码时只需要本帧数据就可以重构完整图像;P帧需要参考前面已编码帧,才可以重构完整图像。本发明实施例对静态格式的图片文件或动态格式的图片文件中各帧图像所采用的视频编码模式不做限定。
举例来说,对于静态格式的图片文件而言,由于静态格式的图片文件只包含一帧图像,在本发明实施例中即为第一图像,因此对第一图像的RGB数据和透明度数据进行I帧编码。又举例来说,对于动态格式的图片文件而言,由于动态格式的图片文件包含至少两帧图像,在本发明实施例中,对于动态格式的图片文件中的第一帧图像的RGB数据和透明度数据进行I帧编码;对于非第一帧图像的RGB数据和透明度数据可以进行I帧编码,或者也可以进行P帧编码。
可选的,所述编码装置按照第二视频编码模式对所述第一图像的透明度数据进行编码并生成第二码流数据的具体过程为:将所述第一图像的透明度数据转换为第二YUV数据;按照第二视频编码模式对所述第二YUV数据进行编码,生成第二码流数据。
其中,所述编码装置将所述第一图像的透明度数据转换为第二YUV数据具体是:一种可行的方案中,所述编码装置将所述第一图像的透明度数据设定为第二YUV数据中的Y分量,且不设定所述第二YUV数据中的UV分量;或者,另一种可行的方案中,将所述第一图像的透明度数据设定为第二YUV数据中的Y分量,且将所述第二YUV数据中的UV分量设定为预设数据;可行的方案中,所述编码装置可以按照预设的YUV颜色空间格式将透明度数据转换为第二YUV数据,例如,预设的YUV颜色空间格式可以包括但不限定于YUV400、YUV420、YUV422和YUV444,并可以按照该YUV颜色空间格式设定UV分量。
进一步的,若第一图像对应的数据为RGBA数据,所述编码装置通过对第一图像的RGBA数据的分离,获得第一图像的RGB数据和透明度数据。接下来对将第一图像的RGB数据转换为第一YUV数据和将第一图像的透明度数据转换为第二YUV数据进行举例说明,以第一图像包含4个像素点为例进行说明,第一图像的RGB数据为这4个像素点的RGB数据,第一图像的透明度数据为这4个像素点的透明度数据,将第一图像的RGB数据和透明度数据进行转换具体过程请参见图4b至图4d的举例说明。
请参见图4b所示,为本发明实施例提供了一种RGB数据转YUV数据的示例图。如图4b所示,RGB数据包含4个像素点的RGB数据,按照色彩空间转换模式对4个像素点的RGB数据进行转换,若YUV颜色空间格式为YUV444的情况,则按照相应的转换公式一个像素点的RGB数据能转换成一个YUV数据,这样4个像素点的RGB数据转换成了4个YUV数据,第一YUV数据包含这个4个YUV数据。其中,不同YUV颜色空间格式对应的转换公式不同。
进一步的,请参见图4c和图4d,分别为本发明实施例提供了一种透明度数据转YUV数据的示例图。首先,如图4c和4d所示,透明度数据包含4个像素点的A数据,其中A表示透明度,将每个像素点的透明度数据设定为Y分量;接着确定YUV颜色空间格式,以确定第二YUV数据。
若YUV颜色空间格式为YUV400,则不设置UV分量,并将4个像素点的Y分量确定为所述第一图像的第二YUV数据(如图4c所示)。
若YUV颜色空间格式为除YUV400之外的其他存在UV分量的格式,则将UV分量设定为预设数据,如图4d所示,图4d中是以YUV444的颜色空间格式进行转换的,即每一个像素点设置一个为预设数据的U分量和V分量。另外,还比如,YUV颜色空间格式为YUV422,则对每两个像素点设置一个为预设数据的U分量和V分量;或者,YUV颜色空间格式为YUV420,则对每四个像素点设置一个为预设数据的U分量和V分量。其他格式以此类推,在此不再赘述;最后将4个像素点的YUV数据确定为所述第一图像的第二YUV数据。
需要说明的是,步骤302和步骤303在执行过程中并无先后顺序之分。
304,将所述第一码流数据和所述第二码流数据写入所述图片文件的码流数据段中。
具体的,所述编码装置将由第一图像的RGB数据生成的第一码流数据,以及由第一图像的透明度数据生成的第二码流数据,写入图片文件的码流数据段中。所述第一码流数据和所述第二码流数据为第一图像对应的完整的码流数据,即通过对第一码流数据和第二码流数据进行解码能够获得第一图像的RGBA数据。
305,生成所述图片文件对应的图片头信息和帧头信息。
具体的,所述编码装置生成所述图片文件对应的图片头信息和帧头信息。其中,该图片文件可以为静态格式的图片文件,即仅包含该第一图像;或者,该图片文件为动态格式的图片文件,即包含所述第一图像以及其他图像。不论该图片文件是静态格式的图片文件还是动态格式的图片文件,所述编码装置都需要生成该图片文件对应的图片头信息。其中,所述图片头信息包括所述图片文件是否存在透明度数据的图像特征信息,以使解码装置通过确定是否包含透明度数据确定如何获取码流数据以及获取到的码流数据是否包含由透明度数据生成的第二码流数据。
进一步的,所述帧头信息用于指示所述图片文件的码流数据段,以使解码装置通过帧头信息确定能够获取到码流数据的码流数据段,进而实现对码流数据的解码。
需要说明的是,本发明实施例对步骤305生成所述图片文件对应的图片头信息和帧头信息与步骤302、步骤303、步骤304的先后顺序不做限定。
306,将所述图片头信息写入所述图片文件的图片头信息数据段中。
具体的,所述编码装置将所述图片头信息写入所述图片文件的图片头信息数据段中。其中,所述图片头信息包括图像文件标识符、解码器标识符、版本号和所述图像特征信息;所述图像文件标识符用于表示所述图片文件的类型,所述解码器标识符用于表示所述图片文件采用的编解码标准的标识;所述版本号用于表示所述图片文件采用的编解码标准的档次。
可选的,所述图片头信息还可以包括用户自定义信息,所述用户自定义信息包括所述用户自定义信息起始码、所述用户自定义信息的长度和用户自定义信息;所述用户自定义信息包括可交换图像文件(Exchangeable Image File,EXIF)信息,例如拍摄时的光圈、快门、白平衡、国际标准化组织(International Organization for Standardization,ISO)、焦距、日期时间等和拍摄条件以及相机品牌、型号、色彩编码、拍摄时录制的声音以及全球定位系统数据、缩略图等,用户自定义信息包含了可以由用户自定义而设定的信息,本发明实施例对此不做限定。
其中,所述图像特征信息还包括所述图像特征信息起始码、所述图像特征信息数据段长度、所述图片文件是否为静态格式的图片文件、所述图片文件是否为动态格式的图片文件、所述图片文件是否为无损编码、所述图片文件采用的YUV颜色空间值域、所述图片文件的宽度、所述图片文件的高度和用于指示若所述图片文件为动态格式的图片文件的帧数。可选的,所述图像特征信息还可以包括所述图片文件采用的YUV颜色空间格式。
举例来说,请参见图5a,为本发明实施例提供的一种图片头信息的示例图。如图5a所示,一图片文件的图片头信息由图像序列头数据段、图像特征信息数据段、用户自定义信息数据段三部分组成。
其中,图像序列头数据段包括图像文件标识符、解码器标识符、版本号和所述图像特征信息。
图像文件标识符(image_identifier):用来表示该图片文件的类型,可以通过预设标识来表示,例如图像文件标识符占用4个字节,比如该图像文件标识符为位串‘AVSP’,用来标识这是一个AVS图片文件。
解码器标识符:用来表示对当前的图片文件进行压缩所采用的编解码标准的标识,例如,采用4字节表示。或者也可以解释为表示当前图片解码采用的解码器内核型号,当采用AVS2内核时,code_id为‘AVS2’。
版本号:用来表示压缩标准标识指示的编解码标准的档次,例如,档次可以包括基本档次(Baseline Profile)、主要档次(Main Profile)、扩展档次(Extended Profile)等等。例如,采用8位无符号数标识,如表一所示,给出了版本号的类型。
表一
版本号的取值 | 档次 |
‘B’ | Base Profile |
‘M’ | Main Profile |
‘H’ | High Profile |
请一并参见图5b,为本发明实施例提供了一种图像特征信息数据段的示例图,如图5b所示,图像特征信息数据段包括图像特征信息起始码、图像特征信息数据段长度、是否有alpha通道标志、动态图像标志、YUV颜色空间格式、无损模式标识、YUV颜色空间值域标志、保留位、图像宽度、图像宽度和帧数。请参见以下具体介绍。
图像特征信息起始码:是用于指示图片文件的图像特征信息数据段起始位置的字段,例如,采用1字节表示,并采用字段D0。
图像特征信息数据段长度:表示图像特征信息数据段所占的字节数,例如,采用2字节表示,比如,对于动态格式的图片文件而言,图5b中的图像特征信息数据段一共有9个字节,可以填写9;对于静态格式的图片文件而言图5b中的图像特征信息数据段一共有12个字节,可以填写12。
图像透明度标志:用于表示该图片文件中的图像是否携带有透明度数据。例如,采用一个比特表示,0表示该图片文件中的图像没有携带透明度数据,1表示该图片文件中的图像携带有透明度数据;可以理解的是,是否有alpha通道与是否包含透明度数据是代表相同的意思。
动态图像标志:用于表示所述图片文件是否是动态格式的图片文件和是否为静态格式的图片文件,例如,采用一个比特表示,0表示是静态格式的图片文件,1表示是动态格式的图片文件。
YUV颜色空间格式:用于指示图片文件的RGB数据转换为YUV数据所采用的色度分量格式,例如,采用两个比特表示,如下表二所示。
表二
YUV_颜色空间格式的值 | YUV颜色空间格式 |
00 | 4:0:0 |
01 | 4:2:0 |
10 | 4:2:2(保留) |
11 | 4:4:4 |
无损模式标志:用于表示是否为无损编码或是否为有损压缩,例如,采用一个比特表示,0表示有损编码,1表示无损编码,其中,对于图片文件中的RGB数据直接采用视频编码模式进行编码,则表示是无损编码;对于图片文件中的RGB数据采用先转换为YUV数据,再对YUV数据进行编码,则表示是有损编码。
YUV颜色空间值域标志:用于表示YUV颜色空间值域范围符合ITU-R BT.601标准。例如采用一个比特表示,1表示Y分量的值域范围为[16,235],UV分量的值域范围为[16,240];0表示Y分量和UV分量的值域范围为[0,255]。
保留位:10位无符号整数。将字节中的多余比特位设定为保留比特位。
图像宽度:用来表示图片文件中每个图像的宽度,例如,若图像宽度范围在0-65535之间,可以通过2个字节表示。
图像高度:用来表示图片文件中每个图像的高度,例如,又或者,若图像宽度范围在0-65535之间,可以通过2个字节表示。
图像帧数:只有在动态格式的图片文件情况下才会存在,用来表示图片文件所包含的总帧数,例如,采用3字节表示。
请一并参见图5c,为本发明实施例提供了一种用户自定义信息数据段的示例图,如图5c所示,具体参见以下详细介绍。
用户自定义信息起始码:是用于指示用户自定义信息起始位置的字段,例如,采用1字节表示,如,位串‘0x000001BC’标识用户自定义信息的开始。
用户自定义信息数据段长度:表示当前用户自定义信息的数据长度,例如,采用2字节表示。
用户自定义信息:用来写入用户需要传入的数据,例如EXIF等信息,占用的字节数可以根据用户自定义信息的长度来确定。
需要说明的是,以上仅为举例说明,本发明实施例对图片头信息包含的各个信息的名称、各个信息在图片头信息中的位置以及表示各个信息所占用的比特数不做限定。
307,将所述帧头信息写入所述图片文件的帧头信息数据段中。
具体的,所述编码装置将所述帧头信息写入所述图片文件的帧头信息数据段中。
一种可选的方案中,图片文件的一帧图像对应一个帧头信息。具体的,针对图片文件为静态格式的图片文件的情况,静态格式的图片文件包含一帧图像,即为第一图像,因此,该静态格式的图片文件中包含一个帧头信息。针对图片文件为动态格式的图片文件的情况,动态格式的图片文件一般包含至少两帧图像,对于其中的每一帧图像均增加一个帧头信息。
请参见图6a,为本发明实施例提供了一种静态格式的图片文件的封装示例图。如图6a所示,该图片文件包含图片头信息数据段、帧头信息数据段、码流数据段。一静态格式的图片文件包含图片头信息、帧头信息和表示图片文件的图像的码流数据,这里的码流数据包含由该帧图像的RGB数据生成的第一码流数据和由该帧图像的透明度数据生成的第二码流数据。将各个信息或数据写入对应的数据段中,例如,将图片头信息写入图片头信息数据段;将帧头信息写入帧头信息数据段;将码流数据写入码流数据段。需要说明的是,由于码流数据段中的第一码流数据和第二码流数据是通过视频编码模式得到的,因此码流数据段可以采用视频帧数据段来描述,这样在视频帧数据段中写入的信息为对该静态格式的图像文件进行编码得到的第一码流数据和第二码流数据。
请参见图6b,为本发明实施例提供了一种动态格式的图片文件的封装示例图。如图6b所示,该图片文件包含图片头信息数据段、多个帧头信息数据段以及多个码流数据段。一动态格式的图片文件包含图片头信息、多个帧头信息和表示多帧图像的码流数据。其中,一帧图像对应的码流数据对应一个帧头信息,其中,表示每一帧图像的码流数据包含由该帧图像的RGB数据生成的第一码流数据和由该帧图像的透明度数据生成的第二码流数据。将各个信息或数据写入对应的数据段中,例如,将图片头信息写入图片头信息数据段;将第1帧对应的帧头信息写入第1帧对应的帧头信息数据段;将第1帧对应的码流数据写入第1帧对应的码流数据段,以此类推,实现将多帧对应的帧头信息写入各个帧对应的帧头信息段中,以及将多帧对应的码流数据写入各个帧对应的码流数据段中。需要说明的是,由于码流数据段中的第一码流数据和第二码流数据是通过视频编码模式得到的,因此码流数据段可以采用视频帧数据段来描述,这样在每一帧图像对应的视频帧数据段中写入的信息为对该该帧图像进行编码得到的第一码流数据第二码流数据。
另一种可行的方案中,图片文件的一帧图像中的一个码流数据对应一个帧头信息。具体的,针对静态格式的图片文件的情况,静态格式的图片文件包含一帧图像,即为第一图像,包含透明度数据的第一图像对应于两个码流数据,分别为第一码流数据和第二码流数据,因此,该静态格式的图片文件中第一码流数据对应一个帧头信息、第二码流数据对应另一个帧头信息。针对动态格式的图片文件的情况,动态格式的图片文件包含至少两帧图像,包含透明度数据的每一帧图像对应于两个码流数据,分别为第一码流信息和第二码流信息,并对每一帧图像的第一码流信息和第二码流信息各增加一个帧头信息。
请参见图7a,为本发明实施例提供了另一种静态格式的图片文件的封装示例图。为了区分第一码流数据对应的帧头信息和第二码流数据对应的帧头信息,在这里用图像帧头信息和透明通道帧头信息进行区分,其中,由RGB数据生成的第一码流数据与图像帧头信息对应,由透明度数据生成的第二码流数据与透明通道帧头信息对应。如图7a所示,该图片文件包含图片头信息数据段、第一码流数据对应的图像帧头信息数据段、第一码流数据段、第二码流数据对应的透明通道帧头信息数据段、第二码流数据段。一静态格式的图片文件包含图片头信息、两个帧头信息和表示一帧图像的第一码流数据和第二码流数据,其中,第一码流数据是由该帧图像的RGB数据生成,第二码流数据是由该帧图像的透明度数据生成的。将各个信息或数据写入对应的数据段中,例如,将图片头信息写入图片头信息数据段;将第一码流数据对应的图像帧头信息写入第一码流数据对应的图像帧头信息数据段;将第一码流数据写入第一码流数据段;将第二码流数据对应的透明通道帧头信息写入第二码流数据对应的透明通道帧头信息数据段;将第二码流数据写入第二码流数据段。可选的,第一码流数据对应的图像帧头信息数据段和第一码流数据段可以设定为图像帧数据段,第二码流数据对应的透明通道帧头信息数据段和第二码流数据段可以设定为透明通道帧数据段,本发明实施例对各个数据段的名称和各个数据段相结合后的数据段名称不做限定。
可选的,对于图片文件的一帧图像中的一个码流数据对应一个帧头信息的情况,所述编码装置可以按照预设的顺序来排列第一码流数据对应的帧头信息数据段、第一码流数据段、第二码流数据对应的帧头信息数据段和第二码流数据段;例如,对于一帧图像的第一码流数据段、第二码流数据段和各个码流数据对应的帧头信息数据段,可以按照第一码流数据对应的帧头信息数据段、第一码流数据段、第二码流数据对应的帧头信息数据段、第二码流数据段进行排列,这样在解码装置解码的过程中,能够确定表示该帧图像的两个帧头信息和两个帧头指示的码流数据段中,哪一个能够获取到第一码流数据,哪一个能获取到第二码流数据。可以理解的是,这里的第一码流数据是指由RGB数据生成的,第二码流数据是指由透明度数据生成的。
请参见图7b,为本发明实施例提供了另一种动态格式的图片文件的封装示例图。为了区分第一码流数据对应的帧头信息和第二码流数据对应的帧头信息,在这里用图像帧头信息和透明通道帧头信息进行区分,其中,由RGB数据生成的第一码流数据与图像帧头信息对应,由透明度数据生成的第二码流数据与透明通道帧头信息对应。如图7b所示,该图片文件包含图片头信息数据段、多个帧头信息数据段以及多个码流数据段。一动态格式的图片文件包含图片头信息、多个帧头信息和表示多帧图像的码流数据。其中,一帧图像对应的第一码流数据和第二码流数据分别对应一个帧头信息,其中,第一码流数据是由该帧图像的RGB数据生成,第二码流数据是由该帧图像的透明度数据生成的。将各个信息或数据写入对应的数据段中。例如,将图片头信息写入图片头信息数据段;将第1帧中第一码流数据对应的图像帧头信息写入第1帧中的第一码流数据对应的图像帧头信息数据段;将第1帧对应的第一码流数据写入第1帧中的第一码流数据段;将第1帧中第二码流数据对应的透明通道帧头信息写入第1帧中的第二码流数据对应的透明通道帧头信息数据段;将第1帧对应的第二码流数据写入第1帧中的第二码流数据段,以此类推,实现将多帧中各个码流数据对应的帧头信息写入各个帧中相应码流数据对应的帧头信息数据段中,以及将多帧中的各个码流数据写入各个帧中相应码流数据对应的码流数据段中。可选的,第一码流数据对应的图像帧头信息数据段和第一码流数据段可以设定为图像帧数据段,第二码流数据对应的透明通道帧头信息数据段和第二码流数据段可以设定为透明通道帧数据段,本发明实施例对各个数据段的名称和各个数据段相结合后的数据段名称不做限定。
进一步的,所述帧头信息包括所述帧头信息起始码和用于指示若所述图片文件为动态格式的图片文件的延迟时间信息。可选的,所述帧头信息还包括所述帧头信息数据段长度和所述帧头信息所指示的码流数据段的码流数据段长度中的至少一项。进一步,可选的,所述帧头信息还包括区别于其他帧图像的特有信息,如编码区域信息、透明度信息、颜色表等等,本发明实施例对此不做限定。
对于将一帧图像编码后得到的第一码流数据和第二码流数据对应一个帧头信息的情况,所述帧头信息可以参考图8a所示的帧头信息的示例图,如图8a所示,请参见以下具体介绍。
帧头信息起始码:是用于指示帧头信息起始位置的字段,例如,采用1字节表示。
帧头信息数据段长度:表示帧头信息的长度,例如,采用1字节表示,该信息是可选信息。
码流数据段长度:表示所述帧头信息所指示的码流数据段的码流长度,其中,对于第一码流数据和第二码流数据对应于一个帧头信息的情况,则这里的码流长度为第一码流数据的长度和第二码流数据的长度的总和,该信息是可选信息。
延迟时间信息:只有当图片文件为动态格式的图片文件时才存在,表示显示当前帧对应的图像与显示下一帧对应的图像的时间差,例如,采用1字节表示。
需要说明的是,以上仅为举例说明,本发明实施例对帧头信息包含的各个信息的名称、各个信息在帧头信息中的位置以及表示各个信息所占用的比特数不做限定。
对于第一码流数据和第二码流数据分别对应一个帧头信息的情况,帧头信息分为图像帧头信息和透明通道帧头信息,请一并参见图8b和图8c。
如图8b所示,为本发明实施例提供了一种图像帧头信息的示例图。所述图像帧头信息包括所述图像帧头信息起始码和用于指示若所述图片文件为动态格式的图片文件的延迟时间信息。可选的,所述图像帧头信息还包括所述图像帧头信息数据段长度和所述图像帧头信息所指示的第一码流数据段的第一码流数据段长度中的至少一项。进一步,可选的,所述图像帧头信息还包括区别于其他帧图像的特有信息,如编码区域信息、透明度信息、颜色表等等,本发明实施例对此不做限定。
图像帧头信息起始码:是用于指示图像帧头信息起始位置的字段,例如,采用1字节表示,如位串‘0x000001BA’。
图像帧头信息数据段长度:表示图像帧头信息的长度,例如,采用1字节表示,该信息是可选信息。
第一码流数据段长度:表示所述图像帧头信息所指示的第一码流数据段的码流长度,该信息是可选信息。
延迟时间信息:只有当图片文件为动态格式的图片文件时才存在,表示显示当前帧对应的图像与显示下一帧对应的图像的时间差,例如,采用1字节表示。
如图8c所示,为本发明实施例提供了一种透明通道帧头信息的示例图。所述透明通道帧头信息包括所述透明通道帧头信息起始码。可选的,所述透明通道帧头信息还包括所述透明通道帧头信息数据段长度、所述透明通道帧头信息所指示的第二码流数据段的第二码流数据段长度和用于指示若所述图片文件为动态格式的图片文件的延迟时间信息中的至少一项。进一步,可选的,所述透明通道帧头信息还包括区别于其他帧图像的特有信息,如编码区域信息、透明度信息、颜色表等等,本发明实施例对此不做限定。
透明通道帧头信息起始码:是用于指示透明通道帧头信息起始位置的字段,例如,采用1字节表示,如位串‘0x000001BB’。
透明通道帧头信息数据段长度:表示透明通道帧头信息的长度,例如,采用1字节表示,该信息是可选信息。
第一码流数据段长度:表示所述透明通道帧头信息所指示的第二码流数据段的码流长度,该信息是可选信息。
延迟时间信息:只有当图片文件为动态格式的图片文件时才存在,表示显示当前帧对应的图像与显示下一帧对应的图像的时间差,例如,采用1字节表示。该信息是可选信息。透明通道帧头信息在不包含延迟时间信息的情况下,可以参考图像帧头信息中的延迟时间信息。
在本发明实施例中,图片文件、图像、第一码流数据、第二码流数据、图片头信息、帧头信息以及图片头信息包含的各个信息、帧头信息包含的各个信息等词可以以其他名称出现,例如,图片文件采用“图片”来描述,只要各个次的功能和本发明类似,则属于本发明权利要求及其等同技术的范围之内。
又一需要说明的是,本发明实施例中编码之前输入的RGBA数据可以是通过对各种格式的图片文件解码获得的,其中图片文件的格式可以为JPEG、BMP、PNG、APNG、GIF等格式中的任一种,本发明实施例对编码之前的图片文件的格式不做限定。
需要说明的是,本发明实施例中的每个起始码的形式在整个压缩图像数据中是唯一的,以起到唯一识别各个数据段的作用。本发明实施例中涉及到的图片文件用于表示一个完整的图片文件或图像文件,它可以包含一幅或多幅图像,图像是指一帧图画。本发明实施例中涉及到的视频帧数据是图片文件中的每一帧图像通过视频编码后得到的码流数据,例如,对RGB数据编码之后得到的第一码流数据可以看做一个视频帧数据,对透明度数据编码之后得到的第二码流数据也可以看做一个视频帧数据。
在本发明实施例中,在第一图像为RGBA数据的情况下,编码装置获取图片文件中第一图像对应的RGBA数据,并通过分离RGBA数据得到所述第一图像的RGB数据和透明度数据,按照第一视频编码模式对所述第一图像的RGB数据进行编码,生成第一码流数据;按照第二视频编码模式对第一图像的透明度数据进行编码,生成第二码流数据;并生成包含第一图像的图片文件对应的图片头信息和帧头信息;最后将第一码流数据和第二码流数据写入码流数据段中、将图片头信息写入图片头信息数据段、将帧头信息写入帧头信息数据段。这样通过采用视频编码模式编码能够提高图片文件的压缩率,另外通过对图片文件中的RGB数据和透明度数据分别进行编码,实现了在采用视频编码模式的同时保留了图片文件中的透明度数据,保证了图片文件的质量。
请参见图9,为本发明实施例提供了一种图片文件处理方法的流程示意图,如图9所示,本发明实施例的所述方法可以包括步骤401至步骤403。
401,按照第一视频解码模式对第一码流数据进行解码,生成第一图像的RGB数据。
具体的,解码装置按照第一视频解码模式对第一码流数据进行解码。其中,所述第一码流数据和所述第二码流数据是所述解码装置通过对图片文件进行解析从码流数据段中读取由所述第一图像生成的数据,并获取到关于第一图像的码流数据,所述第一图像为所述图像文件中包含的图像。对于图像文件包含透明度数据的情况,所述解码装置获取表示第一图像的第一码流数据和第二码流数据。所述第一图像可以为静态格式的图片文件所包含的一帧图像;或者,所述第一图像可以为动态格式的图片文件所包含的多帧图像中的任一帧图像。
可选的,针对所述图片文件包含RGB数据和透明度数据的情况,所述图片文件中存在用于指示码流数据段的信息,以及对于动态格式的图片文件而言,所述图片文件中存在用于指示不同帧图像对应的码流数据段的信息,以使所述解码装置能够获取到由第一图像的RGB数据生成的第一码流数据以及由第一图像的透明度数据生成的第二码流数据。
进一步的,所述解码装置对所述第一码流数据进行解码,以生成第一图像的RGB数据。
402,按照第二视频解码模式对第二码流数据进行解码,生成所述第一图像的透明度数据。
具体的,所述解码装置按照第二视频解码模式对第二码流数据进行解码,生成所述第一图像的透明度数据。其中,所述第二码流数据也同步骤401中第一码流数据的读取方式相同。
针对步骤401和步骤402而言,所述第一视频解码模式或第二视频解码模式可以是根据生成第一码流数据或生成第二码流数据所采用的视频编码模式确定的,例如,以第一码流数据为例进行说明,若所述第一码流数据采用I帧编码,则所述第一视频编码模式为根据当前的码流数据就可以生成RGB数据;若所述第一码流数据采用P帧编码,则所述第一视频编码模式为根据前面已解码的数据,生成当前帧的RGB数据。第二视频编码模式可以参考第一视频编码模式的介绍,在此不再赘述。
需要说明的是,步骤401和步骤402在执行过程中并无先后顺序之分。
403,根据所述第一图像的所述RGB数据和所述透明度数据,生成所述第一图像对应的RGBA数据。
具体的,所述解码装置根据所述第一图像的所述RGB数据和所述透明度数据,生成所述第一图像对应的RGBA数据。其中,RGBA数据是代表Red、Green、Blue和Alpha的色彩空间。RGB数据和透明度数据能够合成为RGBA数据。这样能够将按照视频编码模式编码得到的码流数据,通过对应的视频解码模式生成相应的RGBA数据,实现了在采用视频编解码模式的同时保留了图片文件中的透明度数据,保证了图片文件的质量和展示效果。
举例来说,所述解码装置解码获得的第一图像的RGB数据和透明度数据,形式如下:
RGB RGB RGB RGB RGB RGB……RGB
A A A A A A……A
则所述解码装置将相对应的RGB数据和透明度数据进行合并,以得到第一图像的RGBA数据,其形式如下:
RGBA RGBA RGBA RGBA RGBA RGBA……RGBA
需要说明的是,本发明实施例中的图片文件是包含RGB数据和透明度数据的情况,因此能够通过解析图片文件读取到可以生成RGB数据的第一码流数据和生成透明度数据的第二码流数据,进行分别执行步骤401和步骤402。而对于图片文件仅包含RGB数据的情况,能够通过解析图片文件读取到可以生成RGB数据的第一码流数据,并执行步骤401,生成RGB数据即完成了对第一码流数据的解码。
在本发明实施例中,解码装置按照第一视频解码模式对第一码流数据进行解码,生成第一图像的RGB数据;按照第二视频解码模式对第二码流数据进行解码,生成第一图像的透明度数据;根据第一图像的RGB数据和透明度数据,生成第一图像对应的RGBA数据。通过对图片文件中的第一码流数据和第二码流数据分别进行解码,进而获得RGBA数据,实现了在采用视频编解码模式的同时保留了图片文件中的透明度数据,保证了图片文件的质量。
请参见图10,为本发明实施例提供的另一种图片文件处理方法的流程示意图,如图10所示,本发明实施例的所述方法可以包括步骤501至步骤507。本发明实施例是以动态格式的图片文件进行说明的,请参见以下具体介绍。
501,获取动态格式的图片文件中由第k帧对应的第一图像生成的第一码流数据和第二码流数据。
具体的,解码装置通过对所述动态格式的图片文件进行解析,从图片文件的码流数据段中获取由第k帧对应的第一图像生成的第一码流数据和第二码流数据。其中,对于图像文件包含透明度数据的情况,所述解码装置获取表示第一图像的第一码流数据和第二码流数据。该动态格式的图片文件中包含至少两帧图像,第k帧可以为所述至少两帧图像中的任意一帧。其中,k为大于0的正整数。
可选的,针对动态格式的图片文件包含RGB数据和透明度数据的情况,所述图片文件中存在用于指示不同帧图像对应的码流数据段的信息,以使所述解码装置能够获取到由第一图像的RGB数据生成的第一码流数据以及由第一图像的透明度数据生成的第二码流数据。
可选的,所述解码装置可以按照所述动态格式的图片文件中每一帧对应的码流数据的先后顺序进行解码,即可以先获取所述动态格式的图片文件的第一帧对应的码流数据进行解码。本发明实施例对所述解码装置获取所述动态格式的图片文件的表示各帧图像的码流数据的顺序不做限定。
可选的,所述解码装置可以通过图片文件的图片头信息和帧头信息确定表示每一帧对应的图像的码流数据,可以参见下一个实施例中关于图片头信息和帧头信息的具体介绍。
502,按照第一视频解码模式对第一码流数据进行解码,生成第一图像的RGB数据。
具体的,所述解码装置按照第一视频解码模式对第一码流数据进行解码,生成第一图像的RGB数据。可选的,所述解码装置按照第一视频编码模式对所述第一码流数据进行解码,生成第一图像的第一YUV数据;将所述第一YUV数据转换为所述第一图像的RGB数据。
503,按照第二视频解码模式对第二码流数据进行解码,生成所述第一图像的透明度数据。
具体的,所述解码装置按照第二视频解码模式对第二码流数据进行解码,生成所述第一图像的透明度数据。可选的,按照第二图像视频编码模式对所述第二码流数据进行解码,生成所述第一图像的第二YUV数据;将所述第二YUV数据转换为所述第一图像的透明度数据。
举例来说,所述解码装置解码获得的第一图像的RGB数据和透明度数据,形式如下:
RGB RGB RGB RGB RGB RGB……RGB
A A A A A A……A
则所述解码装置将相对应的RGB数据和透明度数据进行合并,以得到第一图像的RGBA数据,其形式如下:
RGBA RGBA RGBA RGBA RGBA RGBA……RGBA
需要说明的是,步骤502和步骤503在执行过程中并无先后顺序之分。
504,根据所述第一图像的所述RGB数据和所述透明度数据,生成所述第一图像对应的RGBA数据。
具体的,所述解码装置根据所述第一图像的所述RGB数据和所述透明度数据,生成所述第一图像对应的RGBA数据。其中,RGBA数据是代表Red、Green、Blue和Alpha的色彩空间。RGB数据和透明度数据能够合成为RGBA数据。这样能够将按照视频编码模式编码得到的码流数据,通过对应的视频解码模式生成相应的RGBA数据,实现了在采用视频编解码模式的同时保留了图片文件中的透明度数据,保证了图片文件的质量和展示效果。
505,判断第k帧是否为所述动态格式的图片文件的最后一帧。
具体的,所述解码装置判断第k帧是否为所述动态格式的图片文件的最后一帧,可选的,可以通过检测图片头信息中包含的帧数来确定是否完成对图片文件的解码。若第k帧为所述动态格式的图片文件的最后一帧,则表示完成对所述动态格式的图片文件的解码,执行步骤507;若第k帧不是所述动态格式的图片文件的最后一帧,则执行步骤506。
506,若否,则更新k,并触发执行获取动态格式的图片文件中第k帧对应的第一图像的第一码流数据和第二码流数据。
具体的,若判断第k帧不是所述动态格式的图片文件的最后一帧,则对下一帧对应的图像的码流数据进行解码,即采用(k+1)的数值更新k。在将k更新之后,触发执行获取动态格式的图片文件中第k帧对应的第一图像的第一码流数据和第二码流数据。
可以理解的是,采用更新的k所获取的图像与k更新之前所获取的图像并非是同一帧对应的图像,为了便于说明,这里将k更新之前的k帧对应的图像设为第一图像,将k更新之后的k帧对应的图像设为第二图像,以便于区别。
在对第二图像执行步骤502至步骤504时,可选的,表示第二图像的码流数据为第三码流数据和第四码流数据;按照第三视频解码模式对所述第三码流数据进行解码,生成所述第二图像的RGB数据;按照第四视频解码模式对所述第四码流数据进行解码,生成所述第二图像的透明度数据,其中,第三码流数据是根据第二图像的RGB数据生成的,第四码流数据是根据第二图像的透明度数据生成的;根据所述第二图像的所述RGB数据和所述透明度数据,生成所述第二图像对应的RGBA数据。
针对步骤502和步骤503而言,上述涉及到的所述第一视频解码模式、第二视频解码模式、第三视频解码模式或第四视频解码模式是根据生成码流数据所采用的视频编码模式确定的。例如,以第一码流数据为例进行说明,若所述第一码流数据采用I帧编码,则所述第一视频编码模式为根据当前的码流数据就可以生成RGB数据;若所述第一码流数据采用P帧编码,则所述第一视频编码模式为根据前面已解码的数据,生成当前帧的RGB数据。对于其他视频编码模式可以参考第一视频编码模式的介绍,在此不再赘述。
进一步需要说明的是,所述动态格式的图片文件包含有多个码流数据段,可选的,一帧图像对应一个码流数据段;或者,一个码流数据对应一个码流数据段。因此,读取所述第一码流数据和第二码流数据的码流数据段与读取所述第三码流数据和第四码流数据的码流数据段不同。
507,若是,则完成对所述动态格式的图片文件的解码。
具体的,若判断第k帧是所述动态格式的图片文件的最后一帧,则表示完成对该动态格式的图片文件解码。
可选的,所述解码装置可以对每一帧对应的图像所生成的码流数据生成帧头信息,并对所述动态格式的图片文件生成图片头信息,这样可以通过图片头信息确定该图片文件是否包含透明度数据,进而能够确定解码过程中是只获取由RGB数据生成的第一码流数据,还是获取由RGB数据生成的第一码流数据和由透明度数据生成的第二码流数据。
需要说明的,本发明实施例的动态格式的图片文件中每一帧对应的图像是包含RGB数据和透明度数据的RGBA数据的,而对于动态格式的图片文件中每一帧对应的图像仅包含RGB数据的情况,表示每一帧图像的码流数据仅仅是第一码流数据,因此所述解码装置可以对表示每一帧图像的第一码流数据执行步骤502,以生成RGB数据。这样依旧可以通过视频解码模式对仅包含RGB数据的码流数据进行解码。
在本发明实施例中,在确定动态格式的图片文件中包含RGB数据和透明度数据的情况下,解码装置按照第一视频解码模式对表示每一帧图像中的第一码流数据进行解码,生成第一图像的RGB数据;按照第二视频解码模式对表示每一帧图像中的第二码流数据进行解码,生成第一图像的透明度数据;根据第一图像的RGB数据和透明度数据,生成第一图像对应的RGBA数据。通过对图片文件中的第一码流数据和第二码流数据分别进行解码,进而获得RGBA数据,实现了在采用视频编解码模式的同时保留了图片文件中的透明度数据,保证了图片文件的质量。
请参见图11,为本发明实施例提供的另一种图片文件处理方法的流程示意图,如图11所示,本发明实施例的所述方法可以包括步骤601至步骤606。
601,解析图片文件,得到所述图片文件的图片头信息和帧头信息。
具体的,解码装置解析图片文件,以获得所述图片文件的图片头信息和帧头信息。其中,所述图片头信息包括所述图片文件是否存在透明度数据的图像特征信息,通过确定是否包含透明度数据可以确定如何获取码流数据以及获取到的码流数据是否包含由透明度数据生成的第二码流数据。所述帧头信息用于指示所述图片文件的码流数据段,通过帧头信息可以确定能够获取到码流数据的码流数据段,进而实现对码流数据的解码。举例来说,帧头信息包含帧头信息起始码,通过识别帧头信息起始码能够确定码流数据段。
可选的,所述解码装置解析图片文件得到所述图片文件的图片头信息具体可以是:从图片文件的图片头信息数据段中读取所述图片文件的图片头信息。其中,所述图片头信息包括所述图片头信息包括图像文件标识符、解码器标识符、版本号和所述图像特征信息;所述图像文件标识符用于表示所述图片文件的类型,所述解码器标识符用于表示所述图片文件采用的编解码标准的标识;所述版本号用于表示所述图片文件采用的编解码标准的档次。
可选的,所述图片头信息还可以包括用户自定义信息,所述用户自定义信息包括所述用户自定义信息对应的标识信息、所述用户自定义信息的长度和用户自定义信息;所述用户自定义信息包括EXIF信息,例如拍摄时的光圈、快门、白平衡、ISO、焦距、日期时间等和拍摄条件以及相机品牌、型号、色彩编码、拍摄时录制的声音以及全球定位系统数据、缩略图等。
可选的,所述图像特征信息还包括所述图像特征信息起始码、所述图像特征信息数据段长度、所述图片文件是否为静态格式的图片文件、所述图片文件是否为动态格式的图片文件、所述图片文件是否为无损编码、所述图片文件采用的YUV颜色空间值域、所述图片文件的宽度、所述图片文件的高度和用于指示若所述图片文件为动态格式的图片文件的帧数。可选的,所述图像特征信息还可以包括所述图片文件采用的YUV颜色空间格式。
可选的,所述解码装置解析图片文件得到所述图片文件的帧头信息具体可以是:从图片文件的帧头信息数据段中读取所述图片文件的帧头信息。其中,所述帧头信息包括所述帧头信息起始码和用于指示若所述图片文件为动态格式的图片文件的延迟时间信息。可选的,所述帧头信息还包括所述帧头信息数据段长度和所述帧头信息所指示的码流数据段的码流数据段长度中的至少一项。进一步,可选的,所述帧头信息还包括区别于其他帧图像的特有信息,如编码区域信息、透明度信息、颜色表等等,本发明实施例对此不做限定。
需要说明的是,本发明实施例的图片头信息和帧头信息可以参考图5a、图5b、图5c、图6a、图6b、图7a、图7b、图8a、图8b和图8c的举例来说,在此不再赘述。
602,读取所述图片文件中所述帧头信息指示的码流数据段中的码流数据。
具体的,若通过所述图像特征信息确定所述图片文件包含透明度数据,则所述解码装置读取所述图片文件中所述帧头信息指示的码流数据段中的码流数据。所述码流数据包括第一码流数据和第二码流数据。
一种可行的方案中,图片文件的一帧图像对应一个帧头信息,即该帧头信息可以用于指示包含第一码流数据和第二码流数据的码流数据段。具体的,针对图片文件为静态格式的图片文件的情况,静态格式的图片文件包含一帧图像,即为第一图像,因此,该静态格式的图片文件中包含一个帧头信息。针对图片文件为动态格式的图片文件的情况,动态格式的图片文件一般包含至少两帧图像,对于其中的每一帧图像均有一个帧头信息。若确定所述图片文件包含透明度数据,则所述解码装置根据所述帧头信息指示的码流数据段中读取所述第一码流数据和第二码流数据。
另一种可行的方案中,图片文件的一帧图像中的一个码流数据对应一个帧头信息,即一个帧头信息中指示的码流数据段中包含一个码流数据。具体的,针对静态格式的图片文件的情况,静态格式的图片文件包含一帧图像,即为第一图像,包含透明度数据的第一图像对应于两个码流数据,分别为第一码流数据和第二码流数据,因此,该静态格式的图片文件中第一码流数据对应一个帧头信息、第二码流数据对应另一个帧头信息。针对动态格式的图片文件的情况,动态格式的图片文件包含至少两帧图像,包含透明度数据的每一帧图像对应于两个码流数据,分别为第一码流信息和第二码流信息,并对每一帧图像的第一码流信息和第二码流信息各增加一个帧头信息。因此,若确定所述图片文件包含透明度数据,则所述解码装置根据两个帧头信息分别指示的两个码流数据段,分别获取第一码流数据和第二码流数据。
需要说明的是,对于图片文件的一帧图像中的一个码流数据对应一个帧头信息的情况,编码装置可以按照预设的顺序来排列第一码流数据对应的帧头信息数据段、第一码流数据段、第二码流数据对应的帧头信息数据段、和第二码流数据段,并且解码装置可以确定编码装置的排列顺序。举例来说,对于一帧图像的第一码流数据段、第二码流数据段和各个码流数据对应的帧头信息数据段,可以按照第一码流数据对应的帧头信息数据段、第一码流数据段、第二码流数据对应的帧头信息数据段、第二码流数据段进行排列,这样在解码装置解码的过程中,能够确定表示该帧图像的两个帧头信息和两个帧头指示的码流数据段中,哪一个能够获取到第一码流数据,哪一个能获取到第二码流数据。可以理解的是,这里的第一码流数据是指由RGB数据生成的,第二码流数据是指由透明度数据生成的。
603,按照第一视频解码模式对第一码流数据进行解码,生成第一图像的RGB数据。
604,按照第二视频解码模式对第二码流数据进行解码,生成所述第一图像的透明度数据。
605,根据所述第一图像的所述RGB数据和所述透明度数据,生成所述第一图像对应的RGBA数据。
其中,步骤603至步骤605可以参见图9和图10实施例中对应步骤的具体描述,在此不再赘述。
在本发明实施例中,在图片文件包含RGB数据和透明度数据的情况下,解码装置解析图片文件,得到图片文件的图片头信息和帧头信息,并读取图片文件中帧头信息指示的码流数据段中的码流数据;按照第一视频解码模式对表示每一帧图像中的第一码流数据进行解码,生成第一图像的RGB数据;按照第二视频解码模式对表示每一帧图像中的第二码流数据进行解码,生成第一图像的透明度数据;根据第一图像的RGB数据和透明度数据,生成第一图像对应的RGBA数据。通过对图片文件中的第一码流数据和第二码流数据分别进行解码,进而获得RGBA数据,实现了在采用视频编解码模式的同时保留了图片文件中的透明度数据,保证了图片文件的质量。
请参见图12,为本发明实施例提供了另一种图片文件处理方法的流程示意图,如图12所示,本发明实施例的所述方法可以包括步骤701至步骤705。
701,生成图片文件对应的图片头信息和帧头信息。
具体的,图片文件处理装置生成所述图片文件对应的图片头信息和帧头信息。其中,该图片文件可以为静态格式的图片文件,即仅包含该第一图像;或者,该图片文件为动态格式的图片文件,即包含所述第一图像以及其他图像。不论该图片文件是静态格式的图片文件还是动态格式的图片文件,所述图片文件处理装置都需要生成该图片文件对应的图片头信息。其中,所述图片头信息包括所述图片文件是否存在透明度数据的图像特征信息,以使解码装置通过确定是否包含透明度数据确定如何获取码流数据以及获取到的码流数据是否包含由透明度数据生成的第二码流数据。
进一步的,所述帧头信息用于指示所述图片文件的码流数据段,以使解码装置通过帧头信息确定能够获取到码流数据的码流数据段,进而实现对码流数据的解码。举例来说,帧头信息包含帧头信息起始码,通过识别帧头信息起始码能够确定码流数据段。
可选的,所述图片头信息包括图像文件标识符、解码器标识符、版本号和所述图像特征信息;所述图像文件标识符用于表示所述图片文件的类型,所述解码器标识符用于表示所述图片文件采用的编解码标准的标识;所述版本号用于表示所述图片文件采用的编解码标准的档次。
可选的,所述图片头信息还可以包括用户自定义信息,所述用户自定义信息包括所述用户自定义信息对应的标识信息、所述用户自定义信息的长度和用户自定义信息;所述用户自定义信息包括EXIF信息,例如拍摄时的光圈、快门、白平衡、ISO、焦距、日期时间等和拍摄条件以及相机品牌、型号、色彩编码、拍摄时录制的声音以及全球定位系统数据、缩略图等。
可选的,所述图像特征信息还包括所述图像特征信息起始码、所述图像特征信息数据段长度、所述图片文件是否为静态格式的图片文件、所述图片文件是否为动态格式的图片文件、所述图片文件是否为无损编码、所述图片文件采用的YUV颜色空间值域、所述图片文件的宽度、所述图片文件的高度和用于指示若所述图片文件为动态格式的图片文件的帧数。可选的,所述图像特征信息还可以包括所述图片文件采用的YUV颜色空间格式。
可选的,所述帧头信息包括所述帧头信息起始码和用于指示若所述图片文件为动态格式的图片文件的延迟时间信息。可选的,所述帧头信息还包括所述帧头信息数据段长度和所述帧头信息所指示的码流数据段的码流数据段长度中的至少一项。进一步,可选的,所述帧头信息还包括区别于其他帧图像的特有信息,如编码区域信息、透明度信息、颜色表等等,本发明实施例对此不做限定。
702,将所述图片头信息写入所述图片文件的图片头信息数据段中。
具体的,所述图片文件处理装置将所述图片头信息写入所述图片文件图片头信息数据段。
703,将所述帧头信息写入所述图片文件的帧头信息数据段中。
具体的,所述图片文件处理装置将所述帧头信息写入所述图片文件的帧头信息数据段中。
704,若确定所述图像特征信息包含透明度数据,则对所述第一图像对应的RGBA数据中包含的RGB数据进行编码生成第一码流数据,以及包含的透明度度数据进行编码生成第二码流数据。
具体的,若确定所述图像特征信息包含透明度数据,则所述图片文件处理装置对所述第一图像对应的RGBA数据中包含的RGB数据进行编码生成第一码流数据,以及包含的透明度度数据进行编码生成第二码流数据。
可选的,在所述图片文件处理装置获取到所述图片文件的中第一图像对应的RGBA数据之后,分离所述RGBA数据,以得到所述第一图像的RGB数据和透明度数据,所述RGB数据为所述RGBA数据包含的颜色数据,所述透明度数据为所述RGBA数据包含的透明度数据。进一步实现对RGB数据和透明度数据的分别编码,具体的编码过程可以参见图1至图4d所示实施例中具体介绍,在此不再赘述。
705,将所述第一码流数据和所述第二码流数据写入所述第一图像对应的帧头信息所指示的码流数据段中。
具体的,所述图片文件处理装置将所述第一码流数据和所述第二码流数据写入所述第一图像对应的帧头信息所指示的码流数据段中。
需要说明的是,本发明实施例的图片头信息和帧头信息可以参考图5a、图5b、图5c、图6a、图6b、图7a、图7b、图8a、图8b和图8c的举例来说,在此不再赘述。
又一需要说明的是,本发明实施例中编码之前输入的RGBA数据可以是通过对各种格式的图片文件解码获得的,其中图片文件的格式可以为JPEG、BMP、PNG、APNG、GIF等格式中的任一种,本发明实施例对编码之前的图片文件的格式不做限定。
在本发明实施例中,图片文件处理装置生成图片文件对应的图片头信息和帧头信息,通过图片头信息包含的图片文件是否存在透明度数据的图像特征信息,能够让解码装置确定如何获取码流数据以及获取到的码流数据是否包含由透明度数据生成的第二码流数据;通过帧头信息指示的图片文件的码流数据段,能够让解码装置获取到码流数据段中的码流数据,进而实现对码流数据的解码。
请参见图13,为本发明实施例提供了另一种图片文件处理方法的流程示意图,如图13所示,本发明实施例的所述方法可以包括步骤801至步骤803。
801,解析图片文件,得到所述图片文件的图片头信息和帧头信息。
具体的,图片文件处理装置解析图片文件,以获得所述图片文件的图片头信息和帧头信息。其中,所述图片头信息包括所述图片文件是否存在透明度数据的图像特征信息,通过确定是否包含透明度数据可以确定如何获取码流数据以及获取到的码流数据是否包含由透明度数据生成的第二码流数据。所述帧头信息用于指示所述图片文件的码流数据段,通过帧头信息可以确定能够获取到码流数据的码流数据段,进而实现对码流数据的解码。举例来说,帧头信息包含帧头信息起始码,通过识别帧头信息起始码能够确定码流数据段。
可选的,所述图片文件处理装置解析图片文件得到所述图片文件的图片头信息具体可以是:从图片文件的图片头信息数据段中读取所述图片文件的图片头信息。其中,所述图片头信息包括所述图片头信息包括图像文件标识符、解码器标识符、版本号和所述图像特征信息;所述图像文件标识符用于表示所述图片文件的类型,所述解码器标识符用于表示所述图片文件采用的编解码标准的标识;所述版本号用于表示所述图片文件采用的编解码标准的档次。
可选的,所述图片头信息还可以包括用户自定义信息,所述用户自定义信息包括所述用户自定义信息对应的标识信息、所述用户自定义信息的长度和用户自定义信息;所述用户自定义信息包括EXIF信息,例如拍摄时的光圈、快门、白平衡、ISO、焦距、日期时间等和拍摄条件以及相机品牌、型号、色彩编码、拍摄时录制的声音以及全球定位系统数据、缩略图等。
可选的,所述图像特征信息还包括所述图像特征信息起始码、所述图像特征信息数据段长度、所述图片文件是否为静态格式的图片文件、所述图片文件是否为动态格式的图片文件、所述图片文件是否为无损编码、所述图片文件采用的YUV颜色空间值域、所述图片文件的宽度、所述图片文件的高度和用于指示若所述图片文件为动态格式的图片文件的帧数。可选的,所述图像特征信息还可以包括所述图片文件采用的YUV颜色空间格式。
可选的,所述图片文件处理装置解析图片文件得到所述图片文件的帧头信息具体可以是:从图片文件的帧头信息数据段中读取所述图片文件的帧头信息。其中,所述帧头信息包括所述帧头信息起始码和用于指示若所述图片文件为动态格式的图片文件的延迟时间信息。可选的,所述帧头信息还包括所述帧头信息数据段长度和所述帧头信息所指示的码流数据段的码流数据段长度中的至少一项。进一步,可选的,所述帧头信息还包括区别于其他帧图像的特有信息,如编码区域信息、透明度信息、颜色表等等,本发明实施例对此不做限定。
需要说明的是,本发明实施例的图片头信息和帧头信息可以参考图5a、图5b、图5c、图6a、图6b、图7a、图7b、图8a、图8b和图8c的举例来说,在此不再赘述。
802,若通过所述图像特征信息确定所述图片文件包含透明度数据,则读取所述图片文件中所述帧头信息指示的码流数据段中的码流数据,所述码流数据包括第一码流数据和第二码流数据。
具体的,若通过所述图像特征信息确定所述图片文件包含透明度数据,则所述图片文件处理装置读取所述图片文件中所述帧头信息指示的码流数据段中的码流数据。所述码流数据包括第一码流数据和第二码流数据。
一种可行的方案中,图片文件的一帧图像对应一个帧头信息,即该帧头信息可以用于指示包含第一码流数据和第二码流数据的码流数据段。具体的,针对图片文件为静态格式的图片文件的情况,静态格式的图片文件包含一帧图像,即为第一图像,因此,该静态格式的图片文件中包含一个帧头信息。针对图片文件为动态格式的图片文件的情况,动态格式的图片文件一般包含至少两帧图像,对于其中的每一帧图像均增加一个帧头信息。若确定所述图片文件包含透明度数据,则所述图片文件处理装置根据所述帧头信息指示的码流数据段中读取所述第一码流数据和第二码流数据。
另一种可行的方案中,图片文件的一帧图像中的一个码流数据对应一个帧头信息,即一个帧头信息中指示的码流数据段中包含一个码流数据。具体的,针对静态格式的图片文件的情况,静态格式的图片文件包含一帧图像,即为第一图像,包含透明度数据的第一图像对应于两个码流数据,分别为第一码流数据和第二码流数据,因此,该静态格式的图片文件中第一码流数据对应一个帧头信息、第二码流数据对应另一个帧头信息。针对动态格式的图片文件的情况,动态格式的图片文件包含至少两帧图像,包含透明度数据的每一帧图像对应于两个码流数据,分别为第一码流信息和第二码流信息,并对每一帧图像的第一码流信息和第二码流信息各增加一个帧头信息。因此,若确定所述图片文件包含透明度数据,则所述图片文件处理装置根据两个帧头信息分别指示的两个码流数据段,分别获取第一码流数据和第二码流数据。
需要说明的是,对于图片文件的一帧图像中的一个码流数据对应一个帧头信息的情况,编码装置可以按照预设的顺序来排列第一码流数据对应的帧头信息数据段、第一码流数据段、第二码流数据对应的帧头信息数据段、和第二码流数据段,并且图片文件处理装置可以确定编码装置的排列顺序。举例来说,对于一帧图像的第一码流数据段、第二码流数据段和各个码流数据对应的帧头信息数据段,可以按照第一码流数据对应的帧头信息数据段、第一码流数据段、第二码流数据对应的帧头信息数据段、第二码流数据段进行排列,这样在图片文件处理装置解码的过程中,能够确定表示该帧图像的两个帧头信息和两个帧头指示的码流数据段中,哪一个能够获取到第一码流数据,哪一个能获取到第二码流数据。可以理解的是,这里的第一码流数据是指由RGB数据生成的,第二码流数据是指由透明度数据生成的。
803,对所述第一码流数据和所述第二码流数据分别进行解码。
具体的,在所述图片文件处理装置从码流数据段中获取到第一码流数据和第二码流数据之后,所述图片文件处理装置对第一码流数据和第二码流数据进行解码。
需要说明的是,所述图片文件处理装置可以参照图9至图11所示实施例中解码装置的执行过程实现对第一码流数据和第二码流数据的解码,在此不再赘述。
在本发明实施例中,图片文件处理装置对图片文件进行解析以得到图片头信息和帧头信息,通过图片头信息包含的图片文件是否存在透明度数据的图像特征信息,能够确定如何获取码流数据以及获取到的码流数据是否包含由透明度数据生成的第二码流数据;通过帧头信息指示的图片文件的码流数据段,获取到码流数据的码流数据段,进而实现对码流数据的解码。
请参见图14,为本发明实施例提供了一种编码装置的结构示意图。如图14所示,本发明实施例的所述编码装置1可以包括:数据获取模块11、第一编码模块12、第二编码模块13和数据写入模块14。可选的,所述编码装置1还可以包括信息生成模块15。
数据获取模块11,用于获取图片文件中第一图像对应的RGBA数据,并分离所述RGBA数据,以得到所述第一图像的RGB数据和透明度数据,所述RGB数据为所述RGBA数据包含的颜色数据,所述透明度数据为所述RGBA数据包含的透明度数据;
第一编码模块12,用于按照第一视频编码模式对所述第一图像的RGB数据进行编码,生成第一码流数据;
第二编码模块13,用于按照第二视频编码模式对所述第一图像的透明度数据进行编码,生成第二码流数据;
数据写入模块14,用于将所述第一码流数据和所述第二码流数据写入所述图片文件的码流数据段中,所述第一图像为所述图片文件中包含的图像。
可选的,所述第一编码模块12包括第一数据转换单元和第一码流生成单元,其中:
第一数据转换单元,用于将所述第一图像的RGB数据转换为第一YUV数据;
第一码流生成单元,用于按照第一视频编码模式对所述第一YUV数据进行编码,生成第一码流数据。
可选的,所述第二编码模块13包括第二数据转换单元和第二码流生成单元,其中:
第二数据转换单元,用于将所述第一图像的透明度数据转换为第二YUV数据;
第二码流生成单元,用于按照第二视频编码模式对所述第二YUV数据进行编码,生成第二码流数据。
可选的,所述第二数据转换单元具体用于将所述第一图像的透明度数据设定为第二YUV数据中的Y分量,且不设定所述第二YUV数据中的UV分量。或者,所述第二数据转换单元具体用于将所述第一图像的透明度数据设定为第二YUV数据中的Y分量,且将所述第二YUV数据中的UV分量设定为预设数据。
可选的,所述数据获取模块11,用于若所述图片文件为动态格式的图片文件且所述第一图像为所述图片文件中的第k帧对应的图像,则获取所述图片文件中的第(k+1)帧对应的第二图像所对应的RGBA数据,并分离所述RGBA数据,以得到所述第二图像的RGB数据和透明度数据;
所述第一编码模块12,还用于按照第三视频编码模式对所述第二图像的RGB数据进行编码,生成第三码流数据;
所述第二编码模块13,还用于按照第四视频编码模式对所述第二图像的透明度数据进行编码,生成第四码流数据;
所述数据写入模块14,还用于将所述第三码流数据和所述第四码流数据写入所述图片文件的码流数据段中。
可选的,所述编码装置1还包括:
信息生成模块15,用于生成所述图片文件对应的图片头信息和帧头信息,所述图片头信息包括所述图片文件是否存在透明度数据的图像特征信息,所述帧头信息用于指示所述图片文件的码流数据段。
可选的,所述数据写入模块13,还用于将所述信息生成模块15生成的所述图片头信息写入所述图片文件的图片头信息数据段中;所述图片头信息包括图像文件标识符、解码器标识符、版本号和所述图像特征信息;所述图像文件标识符用于表示所述图片文件的类型,所述解码器标识符用于表示所述图片文件采用的编解码标准的标识;所述版本号用于表示所述图片文件采用的编解码标准的档次。
可选的,所述图像特征信息还包括所述图像特征信息起始码、所述图像特征信息数据段长度、所述图片文件是否为静态格式的图片文件、所述图片文件是否为动态格式的图片文件、所述图片文件是否为无损编码、所述图片文件采用的YUV颜色空间值域、所述图片文件的宽度、所述图片文件的高度和用于指示若所述图片文件为动态格式的图片文件的帧数。
可选的,所述数据写入模块13,还用于将所述信息生成模块15生成的所述帧头信息写入所述图片文件的帧头信息数据段中;
所述帧头信息包括所述帧头信息起始码和用于指示若所述图片文件为动态格式的图片文件的延迟时间信息。
需要说明的是,本发明实施例所描述的编码装置1所执行的模块、单元及带来的有益效果可根据上述图1至图8所示方法实施例中的方法具体实现,此处不再赘述。
请参见图15,为本发明实施例提供了另一种编码装置的结构示意图。如图15所示,所述编码装置1000可以包括:至少一个处理器1001,例如CPU,至少一个网络接口1004,存储器1005,至少一个通信总线1002。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。其中,通信总线1002用于实现这些组件之间的连接通信。可选的,所述编码装置1000包括用户接口1003,其中,可选的,所述用户接口1003可以包括显示屏(Display)、键盘(Keyboard)。如图15所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及编码应用程序。
在图15所示的编码装置1000中,处理器1001可以用于调用存储器1005中存储的编码应用程序,并具体执行以下操作:
获取图片文件中第一图像对应的RGBA数据,并分离所述RGBA数据,以得到所述第一图像的RGB数据和透明度数据,所述RGB数据为所述RGBA数据包含的颜色数据,所述透明度数据为所述RGBA数据包含的透明度数据;
按照第一视频编码模式对所述第一图像的RGB数据进行编码,生成第一码流数据;
按照第二视频编码模式对所述第一图像的透明度数据进行编码,生成第二码流数据;
将所述第一码流数据和所述第二码流数据写入所述图片文件的码流数据段中。
在一个可能的实施例中,所述处理器1001在执行按照第一视频编码模式对所述第一图像的RGB数据进行编码,生成第一码流数据,具体执行:
将所述第一图像的RGB数据转换为第一YUV数据;按照第一视频编码模式对所述第一YUV数据进行编码,生成第一码流数据。
在一个可能的实施例中,所述处理器1001在执行按照第二视频编码模式对所述第一图像的透明度数据进行编码,生成第二码流数据,具体执行:
将所述第一图像的透明度数据转换为第二YUV数据;按照第二视频编码模式对所述第二YUV数据进行编码,生成第二码流数据。
在一个可能的实施例中,所述处理器1001在执行将所述第一图像的透明度数据转换为第二YUV数据,具体执行:
将所述第一图像的透明度数据设定为第二YUV数据中的Y分量,且不设定所述第二YUV数据中的UV分量;或者,
将所述第一图像的透明度数据设定为第二YUV数据中的Y分量,且将所述第二YUV数据中的UV分量设定为预设数据。
在一个可能的实施例中,所述处理器1001还执行以下步骤:
若所述图片文件为动态格式的图片文件且所述第一图像为所述图片文件中的第k帧对应的图像,则获取所述图片文件中的第(k+1)帧对应的第二图像所对应的RGBA数据,并分离所述RGBA数据,以得到所述第二图像的RGB数据和透明度数据;
按照第三视频编码模式对所述第二图像的RGB数据进行编码,生成第三码流数据;
按照第四视频编码模式对所述第二图像的透明度数据进行编码,生成第四码流数据;
将所述第三码流数据和所述第四码流数据写入所述图片文件的码流数据段中。
在一个可能的实施例中,所述处理器1001还执行以下步骤:
生成所述图片文件对应的图片头信息和帧头信息,所述图片头信息包括所述图片文件是否存在透明度数据的图像特征信息,所述帧头信息用于指示所述图片文件的码流数据段。
在一个可能的实施例中,所述处理器1001还执行以下步骤:
将所述图片头信息写入所述图片文件的图片头信息数据段中;
所述图片头信息包括图像文件标识符、解码器标识符、版本号和所述图像特征信息;所述图像文件标识符用于表示所述图片文件的类型,所述解码器标识符用于表示所述图片文件采用的编解码标准的标识;所述版本号用于表示所述图片文件采用的编解码标准的档次。
在一个可能的实施例中,所述图像特征信息还包括所述图像特征信息起始码、所述图像特征信息数据段长度、所述图片文件是否为静态格式的图片文件、所述图片文件是否为动态格式的图片文件、所述图片文件是否为无损编码、所述图片文件采用的YUV颜色空间值域、所述图片文件的宽度、所述图片文件的高度和用于指示若所述图片文件为动态格式的图片文件的帧数。
在一个可能的实施例中,所述处理器1001还执行以下步骤:
将所述帧头信息写入所述图片文件的帧头信息数据段中;
所述帧头信息包括所述帧头信息起始码和用于指示若所述图片文件为动态格式的图片文件的延迟时间信息。
需要说明的是,本发明实施例所描述的处理器1001所执行的步骤及带来的有益效果可根据上述图1至图8所示方法实施例中的方法具体实现,此处不再赘述。
请参见图16,为本发明实施例提供了一种解码装置的结构示意图。如图16所示,本发明实施例的所述解码装置2可以包括:第一解码模块21、第二解码模块22和数据生成模块23。可选的,所述解码装置2还可以包括第一数据获取模块24、文件解析模块25和第二数据获取模块26中的至少一个。在本发明实施例中的所述第一码流数据和所述第二码流数据是从图片文件的码流数据段中读取由所述第一图像生成的数据。
第一解码模块21,用于按照第一视频解码模式对第一码流数据进行解码,生成第一图像的RGB数据;
第二解码模块22,用于按照第二视频解码模式对第二码流数据进行解码,生成所述第一图像的透明度数据;
数据生成模块23,用于根据所述第一图像的所述RGB数据和所述透明度数据,生成所述第一图像对应的RGBA数据;
可选的,所述第一解码模块21,包括第一数据生成单元和第一数据转换单元,其中:
第一数据生成单元,用于按照第一视频编码模式对所述第一码流数据进行解码,生成第一图像的第一YUV数据;
第一数据转换单元,用于将所述第一YUV数据转换为所述第一图像的RGB数据。
可选的,所述第二解码模块22,包括第二数据生成单元和第二数据转换单元,其中:
第二数据生成单元,用于按照第二图像视频编码模式对所述第二码流数据进行解码,生成所述第一图像的第二YUV数据;
第二数据转换单元,用于将所述第二YUV数据转换为所述第一图像的透明度数据。
可选的,所述第二数据转换单元具体用于将所述第二YUV数据中的Y分量设定为所述第一图像的所述透明度数据,且舍弃所述第二YUV数据中的UV分量。
可选的,所述解码装置2还包括:
第一数据获取模块24,用于若所述图片文件为动态格式的图片文件且所述第一图像为所述动态格式的图片文件中的第k帧对应的图像,则从所述图片文件的码流数据段中获取由所述图片文件中第(k+1)帧对应的第二图像生成的第三码流数据和第四码流数据;
所述第一解码模块21,还用于按照第三视频解码模式对所述第三码流数据进行解码,生成所述第二图像的RGB数据;
所述第二解码模块22,还用于按照第四视频解码模式对所述第四码流数据进行解码,生成所述第二图像的透明度数据;
所述数据生成模块23,还用于根据所述第二图像的所述RGB数据和所述透明度数据,生成所述第二图像对应的RGBA数据。
可选的,所述解码装置2还包括文件解析模块25:
所述文件解析模块25,用于解析图片文件,得到所述图片文件的图片头信息和帧头信息,所述图片头信息包括所述图片文件是否存在透明度数据的图像特征信息,所述帧头信息用于指示所述图片文件的码流数据段。
可选的,所述文件解析模块25在解析图片文件,得到所述图片文件的图片头信息方面具体用于从图片文件的图片头信息数据段中读取所述图片文件的图片头信息;
所述图片头信息包括图像文件标识符、解码器标识符、版本号和所述图像特征信息;所述图像文件标识符用于表示所述图片文件的类型,所述解码器标识符用于表示所述图片文件采用的编解码标准的标识;所述版本号用于表示所述图片文件采用的编解码标准的档次。
进一步可选的,所述图像特征信息还包括所述图像特征信息起始码、所述图像特征信息数据段长度、所述图片文件是否为静态格式的图片文件、所述图片文件是否为动态格式的图片文件、所述图片文件是否为无损编码、所述图片文件采用的YUV颜色空间值域、所述图片文件的宽度、所述图片文件的高度和用于指示若所述图片文件为动态格式的图片文件的帧数。
可选的,所述文件解析模块25在解析图片文件,得到所述图片文件的帧头信息方面具体用于从图片文件的帧头信息数据段中读取所述图片文件的帧头信息;
所述帧头信息包括所述帧头信息起始码和用于指示若所述图片文件为动态格式的图片文件的延迟时间信息。
可选的,所述解码装置2还包括:
第二数据获取模块26,用于若通过所述图像特征信息确定所述图片文件包含透明度数据,则读取所述图片文件中所述帧头信息指示的码流数据段中的码流数据,所述码流数据包括第一码流数据和第二码流数据。
需要说明的是,本发明实施例所描述的解码装置2所执行的模块、单元及带来的有益效果可根据上述图9至图11所示方法实施例中的方法具体实现,此处不再赘述。
请参见图17,为本发明实施例提供了另一种解码装置的结构示意图。如图17所示,所述解码装置2000可以包括:至少一个处理器2001,例如CPU,至少一个网络接口2004,存储器2005,至少一个通信总线2002。网络接口2004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器2005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器2005可选的还可以是至少一个位于远离前述处理器2001的存储装置。其中,通信总线2002用于实现这些组件之间的连接通信。可选的,所述解码装置2000包括用户接口2003,其中,可选的,所述用户接口2003可以包括显示屏(Display)、键盘(Keyboard)。如图17所示,作为一种计算机存储介质的存储器2005中可以包括操作系统、网络通信模块、用户接口模块以及解码应用程序。
在图17所示的解码装置2000中,处理器2001可以用于调用存储器2005中存储的解码应用程序,并具体执行以下操作:
按照第一视频解码模式对第一码流数据进行解码,生成第一图像的RGB数据;
按照第二视频解码模式对第二码流数据进行解码,生成所述第一图像的透明度数据;
根据所述第一图像的所述RGB数据和所述透明度数据,生成所述第一图像对应的RGBA数据;
所述第一码流数据和所述第二码流数据是从图片文件的码流数据段中读取由所述第一图像生成的数据。
在一个可能的实施例中,所述处理器2001在执行按照第一视频解码模式对第一码流数据进行解码,生成第一图像的RGB数据,具体执行:
按照第一视频编码模式对所述第一码流数据进行解码,生成第一图像的第一YUV数据;将所述第一YUV数据转换为所述第一图像的RGB数据。
在一个可能的实施例中,所述处理器2001在执行按照第二视频解码模式对第二码流数据进行解码,生成所述第一图像的透明度数据,具体执行:
按照第二图像视频编码模式对所述第二码流数据进行解码,生成所述第一图像的第二YUV数据;将所述第二YUV数据转换为所述第一图像的透明度数据。
在一个可能的实施例中,所述处理器2001在执行将所述第二YUV数据转换为所述第一图像的透明度数据,具体执行:
将所述第二YUV数据中的Y分量设定为所述第一图像的所述透明度数据,且舍弃所述第二YUV数据中的UV分量。
在一个可能的实施例中,所述处理器2001还执行以下步骤:
若所述图片文件为动态格式的图片文件且所述第一图像为所述动态格式的图片文件中的第k帧对应的图像,则从所述图片文件的码流数据段中获取由所述图片文件中第(k+1)帧对应的第二图像生成的第三码流数据和第四码流数据;
按照第三视频解码模式对所述第三码流数据进行解码,生成所述第二图像的RGB数据;
按照第四视频解码模式对所述第四码流数据进行解码,生成所述第二图像的透明度数据;
根据所述第二图像的所述RGB数据和所述透明度数据,生成所述第二图像对应的RGBA数据。
在一个可能的实施例中,所述处理器2001在执行按照第一视频解码模式对第一码流数据进行解码,生成第一图像的RGB数据之前,还执行以下步骤:
解析图片文件,得到所述图片文件的图片头信息和帧头信息,所述图片头信息包括所述图片文件是否存在透明度数据的图像特征信息,所述帧头信息用于指示所述图片文件的码流数据段。
在一个可能的实施例中,所述处理器2001在执行解析图片文件,得到所述图片文件的图片头信息,具体执行:
从图片文件的图片头信息数据段中读取所述图片文件的图片头信息;
所述图片头信息包括图像文件标识符、解码器标识符、版本号和所述图像特征信息;所述图像文件标识符用于表示所述图片文件的类型,所述解码器标识符用于表示所述图片文件采用的编解码标准的标识;所述版本号用于表示所述图片文件采用的编解码标准的档次。
在一个可能的实施例中,所述图像特征信息还包括所述图像特征信息起始码、所述图像特征信息数据段长度、所述图片文件是否为静态格式的图片文件、所述图片文件是否为动态格式的图片文件、所述图片文件是否为无损编码、所述图片文件采用的YUV颜色空间值域、所述图片文件的宽度、所述图片文件的高度和用于指示若所述图片文件为动态格式的图片文件的帧数。
在一个可能的实施例中,所述处理器2001在执行解析图片文件,得到所述图片文件的帧头信息,具体执行:
从图片文件的帧头信息数据段中读取所述图片文件的帧头信息;
所述帧头信息包括所述帧头信息起始码和用于指示若所述图片文件为动态格式的图片文件的延迟时间信息。
在一个可能的实施例中,所述处理器2001还执行以下步骤:若通过所述图像特征信息确定所述图片文件包含透明度数据,则读取所述图片文件中所述帧头信息指示的码流数据段中的码流数据,所述码流数据包括第一码流数据和第二码流数据。
需要说明的是,本发明实施例所描述的处理器2001所执行的步骤及带来的有益效果可根据上述图9至图11所示方法实施例中的方法具体实现,此处不再赘述。
请参见图18,为本发明实施例提供了一种图片文件处理装置的结构示意图。如图18所示,本发明实施例的所述图片文件处理装置3可以包括:信息生成模块31。可选的,所述图片文件处理装置3还可以包括第一信息写入模块32、第二信息写入模块33、数据编码模块34和数据写入模块35中的至少一个。
信息生成模块31,用于生成图片文件对应的图片头信息和帧头信息,所述图片头信息包括所述图片文件是否存在透明度数据的图像特征信息,所述帧头信息用于指示所述图片文件的码流数据段。
可选的,所述图片文件处理装置3还包括:
第一信息写入模块32,用于将所述图片头信息写入所述图片文件的图片头信息数据段中;所述图片头信息包括图像文件标识符、解码器标识符、版本号和所述图像特征信息;所述图像文件标识符用于表示所述图片文件的类型,所述解码器标识符用于表示所述图片文件采用的编解码标准的标识;所述版本号用于表示所述图片文件采用的编解码标准的档次。
进一步可选的,所述图像特征信息还包括所述图像特征信息起始码、所述图像特征信息数据段长度、所述图片文件是否为静态格式的图片文件、所述图片文件是否为动态格式的图片文件、所述图片文件是否为无损编码、所述图片文件采用的YUV颜色空间值域、所述图片文件的宽度、所述图片文件的高度和用于指示若所述图片文件为动态格式的图片文件的帧数。
所述图片文件处理装置3还包括第二信息写入模块33:
所述第二信息写入模块33,用于将所述帧头信息写入所述图片文件的帧头信息数据段中,所述第一图像为所述图片文件包含的图像;其中,所述帧头信息包括所述帧头信息起始码和用于指示若所述图片文件为动态格式的图片文件的延迟时间信息。
所述图片文件处理装置3还包括数据编码模块34和数据写入模块35:
所述数据编码模块34,若确定所述图像特征信息包含透明度数据,则对所述第一图像对应的RGBA数据中包含的RGB数据进行编码生成第一码流数据,以及包含的透明度度数据进行编码生成第二码流数据;
所述数据写入模块35,将所述第一码流数据和所述第二码流数据写入所述第一图像对应的帧头信息所指示的码流数据段中。
需要说明的是,本发明实施例所描述的图片文件处理装置3所执行的模块及带来的有益效果可根据上述图12所示方法实施例中的方法具体实现,此处不再赘述。
请参见图19,为本发明实施例提供了另一种图片文件处理装置的结构示意图。如图19所示,所述图片文件处理装置3000可以包括:至少一个处理器3001,例如CPU,至少一个网络接口3004,存储器3005,至少一个通信总线3002。网络接口3004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器3005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器3005可选的还可以是至少一个位于远离前述处理器3001的存储装置。其中,通信总线3002用于实现这些组件之间的连接通信。
可选的,所述图片文件处理装置3000包括用户接口3003,其中,可选的,所述用户接口3003可以包括显示屏(Display)、键盘(Keyboard)。如图19所示,作为一种计算机存储介质的存储器3005中可以包括操作系统、网络通信模块、用户接口模块以及图片文件处理应用程序。
在图19所示的图片文件处理装置3000中,处理器3001可以用于调用存储器3005中存储的图片文件处理应用程序,并具体执行以下操作:
生成图片文件对应的图片头信息和帧头信息,所述图片头信息包括所述图片文件是否存在透明度数据的图像特征信息,所述帧头信息用于指示所述图片文件的码流数据段。
在一个可能的实施例中,所述处理器3001还执行以下步骤:
将所述图片头信息写入所述图片文件的图片头信息数据段中;
所述图片头信息包括图像文件标识符、解码器标识符、版本号和所述图像特征信息;所述图像文件标识符用于表示所述图片文件的类型,所述解码器标识符用于表示所述图片文件采用的编解码标准的标识;所述版本号用于表示所述图片文件采用的编解码标准的档次。
在一个可能的实施例中,所述图像特征信息还包括所述图像特征信息起始码、所述图像特征信息数据段长度、所述图片文件是否为静态格式的图片文件、所述图片文件是否为动态格式的图片文件、所述图片文件是否为无损编码、所述图片文件采用的YUV颜色空间值域、所述图片文件的宽度、所述图片文件的高度和用于指示若所述图片文件为动态格式的图片文件的帧数。
在一个可能的实施例中,所述处理器3001还执行以下步骤:
将所述帧头信息写入所述图片文件的帧头信息数据段中,所述第一图像为所述图片文件包含的图像;
所述帧头信息包括所述帧头信息起始码和用于指示若所述图片文件为动态格式的图片文件的延迟时间信息。
在一个可能的实施例中,所述处理器3001还执行以下步骤:
若确定所述图像特征信息包含透明度数据,则对所述第一图像对应的RGBA数据中包含的RGB数据进行编码生成第一码流数据,以及包含的透明度度数据进行编码生成第二码流数据;
将所述第一码流数据和所述第二码流数据写入所述第一图像对应的帧头信息所指示的码流数据段中。
需要说明的是,本发明实施例所描述的处理器3001所执行的步骤及带来的有益效果可根据上述图12所示方法实施例中的方法具体实现,此处不再赘述。
请参见图20,为本发明实施例提供了一种图片文件处理装置的结构示意图。如图20所示,本发明实施例的所述图片文件处理装置4可以包括:文件解析模块41。可选的,所述图片文件处理装置4还可以包括数据读取模块42和数据解码模块43中的至少一个。
文件解析模块42,用于解析图片文件,得到所述图片文件的图片头信息和帧头信息,所述图片头信息包括所述图片文件是否存在透明度数据的图像特征信息,所述帧头信息用于指示所述图片文件的码流数据段。
可选的,所述文件解析模块42在解析图片文件,得到所述图片文件的图片头信息方面具体用于从图片文件的图片头信息数据段中读取所述图片文件的图片头信息;其中,所述图片头信息包括图像文件标识符、解码器标识符、版本号和所述图像特征信息;所述图像文件标识符用于表示所述图片文件的类型,所述解码器标识符用于表示所述图片文件采用的编解码标准的标识;所述版本号用于表示所述图片文件采用的编解码标准的档次。
进一步可选的,所述图像特征信息还包括所述图像特征信息起始码、所述图像特征信息数据段长度、所述图片文件是否为静态格式的图片文件、所述图片文件是否为动态格式的图片文件、所述图片文件是否为无损编码、所述图片文件采用的YUV颜色空间值域、所述图片文件的宽度、所述图片文件的高度和用于指示若所述图片文件为动态格式的图片文件的帧数。
可选的,所述文件解析模块41在解析图片文件,得到所述图片文件的帧头信息方面具体用于从图片文件的帧头信息数据段中读取所述图片文件的帧头信息;其中,所述帧头信息包括所述帧头信息起始码和用于指示若所述图片文件为动态格式的图片文件的延迟时间信息。
可选的,所述图片文件处理装置4还包括数据读取模块42和数据解码模块43,其中:
所述数据读取模块42,用于若通过所述图像特征信息确定所述图片文件包含透明度数据,则读取所述图片文件中所述帧头信息指示的码流数据段中的码流数据,所述码流数据包括第一码流数据和第二码流数据。
所述数据解码模块43,用于对所述第一码流数据和所述第二码流数据分别进行解码。
需要说明的是,本发明实施例所描述的图片文件处理装置4所执行的模块及带来的有益效果可根据上述图12所示方法实施例中的方法具体实现,此处不再赘述。
请参见图21,为本发明实施例提供了另一种图片文件处理装置的结构示意图。如图21所示,所述图片文件处理装置4000可以包括:至少一个处理器4001,例如CPU,至少一个网络接口4004,存储器4005,至少一个通信总线4002。网络接口4004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器4005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器4005可选的还可以是至少一个位于远离前述处理器4001的存储装置。其中,通信总线4002用于实现这些组件之间的连接通信。可选的,所述图片文件处理装置4000包括用户接口4003,其中,可选的,所述用户接口4003可以包括显示屏(Display)、键盘(Keyboard)。如图21所示,作为一种计算机存储介质的存储器4005中可以包括操作系统、网络通信模块、用户接口模块以及图片文件处理应用程序。
在图21所示的图片文件处理装置4000中,处理器4001可以用于调用存储器4005中存储的图片文件处理应用程序,并具体执行以下操作:
解析图片文件,得到所述图片文件的图片头信息和帧头信息,所述图片头信息包括所述图片文件是否存在透明度数据的图像特征信息,所述帧头信息用于指示所述图片文件的码流数据段。
在一个可能的实施例中,所述处理器4001在执行解析图片文件,得到所述图片文件的图片头信息,具体执行:
从图片文件的图片头信息数据段中读取所述图片文件的图片头信息;
所述图片头信息包括图像文件标识符、解码器标识符、版本号和所述图像特征信息;所述图像文件标识符用于表示所述图片文件的类型,所述解码器标识符用于表示所述图片文件采用的编解码标准的标识;所述版本号用于表示所述图片文件采用的编解码标准的档次。
在一个可能的实施例中,所述图像特征信息还包括所述图像特征信息起始码、所述图像特征信息数据段长度、所述图片文件是否为静态格式的图片文件、所述图片文件是否为动态格式的图片文件、所述图片文件是否为无损编码、所述图片文件采用的YUV颜色空间值域、所述图片文件的宽度、所述图片文件的高度和用于指示若所述图片文件为动态格式的图片文件的帧数。
在一个可能的实施例中,所述处理器4001在执行解析图片文件,得到所述图片文件的帧头信息,具体执行:
从图片文件的帧头信息数据段中读取所述图片文件的帧头信息;
所述帧头信息包括所述帧头信息起始码和用于指示若所述图片文件为动态格式的图片文件的延迟时间信息。
在一个可能的实施例中,所述处理器4001还执行以下步骤:
若通过所述图像特征信息确定所述图片文件包含透明度数据,则读取所述图片文件中所述帧头信息指示的码流数据段中的码流数据,所述码流数据包括第一码流数据和第二码流数据。
对所述第一码流数据和所述第二码流数据分别进行解码。
需要说明的是,本发明实施例所描述的处理器4001所执行的步骤及带来的有益效果可根据上述图13所示方法实施例中的方法具体实现,此处不再赘述。
请参见图22,为本发明实施例提供了一种图片文件处理系统的系统架构图。如图22所示,该图片文件处理系统5000包括编码设备5001和解码设备5002。
一种可行的方案中,编码设备5001可以是图1至图8所示的编码装置,或者也可以包含具有实现图1至图8所示的编码装置功能的编码模块的终端设备;相应的,所述解码设备5002可以是图9至图11所示的解码装置,或者,也可以包含具有实现图9至图11所示的解码装置功能的解码模块的终端设备。
另一种可行的方案中,编码设备5001可以是图12所示的图片文件处理装置,或者也可以包含具有实现图12所示的图片文件处理装置功能的图片文件处理模块;相应的,解码设备5002可以是图13所示的图片文件处理装置,或者也可以包含具有实现图13所示的图片文件处理装置的图片文件处理模块。
本发明实施例中涉及的编码装置、解码装置、图片文件处理装置、终端设备可以包括平板电脑、手机、电子阅读器、个人计算机(Personal Computer,PC)、笔记本电脑、车载设备、网络电视、可穿戴设备等设备,本发明实施例对此不做限定。
进一步的,结合图23和图24对本发明实施例涉及到的编码设备5001和解码设备5002进行具体介绍。图23和图24是从功能逻辑的角度更完整地展示了以上所示方法可能涉及到的其他方面,以方便读者进一步理解本申请记载的技术方案。请一并参见图23,为本发明实施例提供了一种编码模块的示例图。如图23所示,所述编码设备5001可以包括图23所示的编码模块6000,而编码模块6000可以包括:RGB数据和透明度数据分离子模块、第一视频编码模式子模块、第二视频编码模式子模块以及图片头信息、帧头信息封装子模块。其中,RGB数据和透明度数据分离子模块用于将图片源格式中RGBA数据分离为RGB数据和透明度数据。第一视频编码模式子模块用于实现对RGB数据的编码以生成第一码流数据。第二视频编码模式子模块用于实现对透明度数据的编码以生成第二码流数据。图片头信息、帧头信息封装子模块用于生成包括第一码流数据和第二码流数据在内的码流数据的图片头信息和帧头信息以输出压缩图像数据。
具体实现中,对于静态格式的图片文件而言,首先,编码模块6000接收输入的该图片文件的RGBA数据,通过RGB数据和透明度数据分离子模块将RGBA数据划分为RGB数据和透明度数据;接着,按照第一视频编码模式对RGB数据进行编码,生成第一码流数据;再接着,按照第二视频编码模式对透明度数据进行编码,生成第二码流数据;接着,生成该图片文件的图片头信息和帧头信息,将第一码流数据、第二码流数据、帧头信息、图片头信息写入对应的数据段中,进而生成该RGBA数据对应的压缩图像数据。
对于动态格式的图片文件而言,首先,编码模块6000确定包含的帧数;接着,将每一帧的RGBA数据通过RGB数据和透明度数据分离模块划分为RGB数据和透明度数据,按照第一视频编码模式对RGB数据进行编码,生成第一码流数据,以及按照第二视频编码模式对透明度数据进行编码,生成第二码流数据,并生成每一帧对应的帧头信息,将各个码流数据和帧头信息写入对应的数据段;最后,生成该图片文件的图片头信息,并将图片头信息写入对应的数据段,进而生成该RGBA数据对应的压缩图像数据。
可选的,压缩图像数据也可以采用压缩码流、图像序列等名称来描述,本发明实施例对此不做限定。
请一并参见图24,为本发明实施例提供了一种解码模块的示例图。如图24所示,所述解码设备5002可以包括图24所示的编码模块7000,所述解码模块7000可以包括:图片头信息、帧头信息解析子模块、第一视频解码模式子模块、第二视频解码模式子模块以及RGB数据和透明度数据分离子模块。其中,图片头信息、帧头信息解析子模块用于对图片文件的压缩图像数据进行解析,以确定图片头信息和帧头信息,该压缩图像数据是通过图23所示的编码模块完成编码之后得到的数据。第一视频解码模式子模块用于实现对第一码流数据的解码,其中,第一码流数据是由RGB数据生成的。第二视频解码模式子模块用于实现对第二码流数据的解码,其中,第二码流数据是由透明度数据生成的。RGB数据和透明度数据合并子模块用于将RGB数据和透明度数据合并为RGBA数据,以输出RGBA数据。
具体实现中,对于静态格式的图片文件而言,首先,解码模块7000通过图片头信息、帧头信息解析子模块解析图片文件的压缩图像数据,得到图片文件的图片头信息和帧头信息,若根据图片头信息确定图片文件存在透明度数据,则从帧头信息指示的码流数据段获取第一码流数据和第二码流数据;接着,按照第一视频解码模式对第一码流数据进行解码,生成RGB数据;再接着,按照第二视频解码模式对第二码流数据进行解码,生成透明度数据;最后,将RGB数据和透明度数据进行合并,生成RGBA数据,并将RGBA数据输出。
对于动态格式的图片文件而言,首先,解码模块7000通过图片头信息、帧头信息解析子模块解析图片文件的压缩图像数据,得到图片文件的图片头信息和帧头信息,确定图片文件包含的帧数;接着,若根据图片头信息确定图片文件存在透明度数据,则从每一帧图像的帧头信息指示的码流数据段获取第一码流数据和第二码流数据,按照第一视频解码模式对每一帧图像对应的第一码流数据进行解码,生成RGB数据,以及按照第二视频解码模式对每一帧图像对应的第二码流数据进行解码,生成透明度数据;最后,将每一帧图像的RGB数据和透明度数据进行合并,生成RGBA数据,并将该压缩图像数据包含的全部帧的RGBA数据输出。
针对图22所示的图片文件处理系统,举例来说,编码设备5001可以将源格式的图片文件按照图23所示的编码模块进行编码并生成压缩图像数据,并将编码之后的压缩图像数据传输至解码设备5002,解码设备5002接收到该压缩图像数据之后,按照图24所示的解码模块进行解码,以得到该图片文件对应的RGBA数据。其中,源格式的图片文件可以包括但不限定于jpeg、png、gif等。
请参见图25,为本发明实施例提供了一种终端设备的结构示意图。如图25所示,所述终端设备包括编码模块和解码模块。可行的方案中,编码模块可以是具有实现图1至图8所示的编码装置功能的编码模块;相应的,所述解码模块可以是具有实现图9至图11所示的解码装置功能的解码模块。可行的方案中,编码模块可以按照图23所述的编码模块6000实现编码,解码模块可以按照图24所示的解码模块7000实现解码。具体的实现过程可以参考对应实施例的具体介绍,在此不再赘述。这样在一个终端设备既可以实现对jpeg、png、gif等源格式的图片文件进行编码,以形成新格式的图片文件,这样通过采用视频编码模式编码能够提高图片文件的压缩率,另外通过对图片文件中的RGB数据和透明度数据分别进行编码,实现了在采用视频编码模式的同时保留了图片文件中的透明度数据。还能够对新格式的图片文件进行解码得到相应的RGBA数据,实现了在采用视频编解码模式解码获得RGB数据和透明度数据,保证了图片文件的质量。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (9)
1.一种图片文件处理方法,其特征在于,包括:
获取图片文件中第一图像对应的RGBA数据,并分离所述RGBA数据,以得到所述第一图像的RGB数据和透明度数据,所述RGB数据为所述RGBA数据包含的颜色数据,所述透明度数据为所述RGBA数据包含的透明度数据;
按照视频编码模式对所述第一图像的RGB数据进行编码,生成第一码流数据;
按照视频编码模式对所述第一图像的透明度数据进行编码,生成第二码流数据;
生成所述图片文件对应的图片头信息、图像帧头信息和透明通道帧头信息,所述图片头信息包括是否存在透明度数据的图像特征信息,所述图像帧头信息对应于所述第一码流数据,所述透明通道帧头信息对应于所述第二码流数据,
其中,所述图像帧头信息和所述第一码流数据设定为图像帧数据段,所述透明通道帧头信息和所述第二码流数据设定为透明通道帧数据段。
2.根据权利要求1所述的方法,其特征在于,还包括:
若所述图片文件为动态格式的图片文件且所述第一图像为所述图片文件中的第k帧对应的图像,则获取所述图片文件中的第(k+1)帧对应的第二图像所对应的RGBA数据,并分离所述RGBA数据,以得到所述第二图像的RGB数据和透明度数据;
按照视频编码模式对所述第二图像的RGB数据进行编码,生成第三码流数据;
按照视频编码模式对所述第二图像的透明度数据进行编码,生成第四码流数据;
将所述第三码流数据和所述第四码流数据写入所述图片文件的码流数据段中。
3.一种图片文件处理方法,其特征在于,包括:
对所述图片文件的图片头信息进行解码,得到图片文件是否存在透明度数据的图像特征信息;
按照视频解码模式和与第一码流数据对应的图像帧头信息对所述第一码流数据进行解码,生成第一图像的RGB数据;
按照视频解码模式和与第二码流数据对应的透明通道帧头信息对第所述二码流数据进行解码,生成所述第一图像的透明度数据;
根据所述第一图像的所述RGB数据和所述透明度数据,生成所述第一图像对应的RGBA数据。
4.根据权利要求3所述的方法,其特征在于,还包括:
若所述图片文件为动态格式的图片文件且所述第一图像为所述动态格式的图片文件中的第k帧对应的图像,则从所述图片文件的码流数据段中获取由所述图片文件中第(k+1)帧对应的第二图像生成的第三码流数据和第四码流数据;
按照视频解码模式对所述第三码流数据进行解码,生成所述第二图像的RGB数据;
按照视频解码模式对所述第四码流数据进行解码,生成所述第二图像的透明度数据;
根据所述第二图像的所述RGB数据和所述透明度数据,生成所述第二图像对应的RGBA数据。
5.一种图片文件处理方法,其特征在于,该图片文件包含图片头信息数据段、帧头信息数据段、码流数据段,包括:
生成图片文件对应的图片头信息、图像帧头信息和透明通道帧头信息,所述图片头信息包括所述图片文件是否存在透明度数据的图像特征信息,所述图像帧头信息对应于由所述图片文件中第一图像的RGB数据生成的第一码流数据,所述透明通道帧头信息对应于由所述图片文件中第一图像的透明度数据生成的第二码流数据,
其中,所述图像帧头信息和所述第一码流数据设定为图像帧数据段,所述透明通道帧头信息和所述第二码流数据设定为透明通道帧数据段。
6.一种图片文件处理方法,其特征在于,包括:
解析图片文件,得到所述图片文件的图片头信息、图像帧头信息和透明通道帧头信息,所述图片头信息包括所述图片文件是否存在透明度数据的图像特征信息,所述图像帧头信息对应于由所述图片文件中第一图像的RGB数据生成的第一码流数据,所述透明通道帧头信息对应于由所述图片文件中第一图像的透明度数据生成的第二码流数据,其中,该图片文件包含图片头信息数据段、图像帧数据段、透明通道帧数据段,所述图像帧头信息和所述第一码流数据设定为图像帧数据段,所述透明通道帧头信息和所述第二码流数据设定为透明通道帧数据段。
7.一种图片文件处理系统,其特征在于,所述图片文件处理系统包括编码装置和解码装置,所述编码装置包括处理器、存储器以及通信接口,所述存储器用于存储程序代码,所述处理器调用所述存储器中存储的程序代码执行权利要求1至权利要求2任一所述的方法;所述解码装置包括处理器、存储器以及通信接口,所述存储器用于存储程序代码,所述处理器调用所述存储器中存储的程序代码执行权利要求3至权利要求4任一所述的方法。
8.一种图片文件处理系统,其特征在于,所述图片文件处理系统包括第一图片文件处理装置和第二图片文件处理装置,所述第一图片文件处理装置包括处理器、存储器以及通信接口,所述存储器用于存储程序代码,所述处理器调用所述存储器中存储的程序代码执行权利要求5所述的方法;所述第二图片文件处理装置包括处理器、存储器以及通信接口,所述存储器用于存储程序代码,所述处理器调用所述存储器中存储的程序代码执行权利要求6所述的方法。
9.一种计算机存储介质,其特征在于,该计算机存储介质中存储有应用程序,该应用程序被处理器执行时,实现如权利要求1-6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811272357.XA CN109194962B (zh) | 2017-04-08 | 2017-04-08 | 一种图片文件处理方法及系统 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710225909.0A CN107071515B (zh) | 2017-04-08 | 2017-04-08 | 一种图片文件处理方法及系统 |
CN201811272357.XA CN109194962B (zh) | 2017-04-08 | 2017-04-08 | 一种图片文件处理方法及系统 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710225909.0A Division CN107071515B (zh) | 2017-04-08 | 2017-04-08 | 一种图片文件处理方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109194962A CN109194962A (zh) | 2019-01-11 |
CN109194962B true CN109194962B (zh) | 2022-07-22 |
Family
ID=59602416
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710225909.0A Active CN107071515B (zh) | 2017-04-08 | 2017-04-08 | 一种图片文件处理方法及系统 |
CN201811272300.XA Active CN109089162B (zh) | 2017-04-08 | 2017-04-08 | 一种图片文件处理方法及系统 |
CN201811272357.XA Active CN109194962B (zh) | 2017-04-08 | 2017-04-08 | 一种图片文件处理方法及系统 |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710225909.0A Active CN107071515B (zh) | 2017-04-08 | 2017-04-08 | 一种图片文件处理方法及系统 |
CN201811272300.XA Active CN109089162B (zh) | 2017-04-08 | 2017-04-08 | 一种图片文件处理方法及系统 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11012716B2 (zh) |
EP (1) | EP3609188A4 (zh) |
CN (3) | CN107071515B (zh) |
TW (1) | TWI707309B (zh) |
WO (1) | WO2018184483A1 (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107071515B (zh) * | 2017-04-08 | 2018-12-07 | 腾讯科技(深圳)有限公司 | 一种图片文件处理方法及系统 |
CN109547849B (zh) * | 2017-09-21 | 2022-06-07 | 腾讯科技(北京)有限公司 | 一种视频信息播放方法、装置、终端和计算机存储介质 |
CN109993817B (zh) * | 2017-12-28 | 2022-09-20 | 腾讯科技(深圳)有限公司 | 一种动画的实现方法和终端 |
CN111131857A (zh) * | 2019-12-31 | 2020-05-08 | 北京金山云网络技术有限公司 | 图像压缩方法、装置及电子设备 |
CN113099232B (zh) * | 2021-03-25 | 2024-01-19 | 杭州网易云音乐科技有限公司 | 视频解码方法、装置、电子设备及计算机存储介质 |
CN113099270B (zh) * | 2021-04-07 | 2023-03-24 | 浙江大华技术股份有限公司 | 文件存储方法及解码方法、装置、存储介质、电子装置 |
CN114786040B (zh) * | 2022-06-15 | 2022-09-23 | 阿里巴巴(中国)有限公司 | 数据通信方法、系统、电子设备和存储介质 |
CN115297312A (zh) * | 2022-08-04 | 2022-11-04 | 深圳市瑞云科技有限公司 | 一种传输图像透明度信息的方法 |
CN115643427B (zh) * | 2022-12-23 | 2023-04-07 | 广州佰锐网络科技有限公司 | 一种超高清音视频通信方法、系统及计算机可读存储介质 |
CN116543131A (zh) * | 2023-07-06 | 2023-08-04 | 中兴通讯股份有限公司 | 画面的虚实融合方法、存储介质和电子装置 |
CN118283271A (zh) * | 2024-06-04 | 2024-07-02 | 西安万像电子科技有限公司 | 图像编解码装置、方法及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101540901A (zh) * | 2008-03-20 | 2009-09-23 | 华为技术有限公司 | 编解码方法及装置 |
CN101742317A (zh) * | 2009-12-31 | 2010-06-16 | 北京中科大洋科技发展股份有限公司 | 一种带阿尔法透明通道的视频压缩编码方法 |
CN102244784A (zh) * | 2011-06-09 | 2011-11-16 | 杭州典能科技有限公司 | 含透明信息图片压缩和显示的方法 |
Family Cites Families (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5793427A (en) * | 1996-10-11 | 1998-08-11 | Divicom Inc. | Processing system with delta-based video data encoding |
JP2003116004A (ja) * | 2001-10-04 | 2003-04-18 | Seiko Epson Corp | 透明部分を含む画像ファイル |
JP3938054B2 (ja) * | 2003-01-17 | 2007-06-27 | セイコーエプソン株式会社 | 画像データ構造を有するデータが記録されたコンピュータ読み取り可能な記憶媒体、画像記録方法、装置及びプログラム |
EP1571850A3 (en) * | 2004-03-05 | 2006-12-13 | Samsung Electronics Co., Ltd. | Apparatus and method for encoding and decoding image containing grayscale alpha channel image |
US7450134B2 (en) * | 2004-11-18 | 2008-11-11 | Time Warner Cable Inc. | Methods and apparatus for encoding and decoding images |
JP4568120B2 (ja) * | 2005-01-04 | 2010-10-27 | 株式会社東芝 | 再生装置 |
US7852353B1 (en) * | 2005-03-31 | 2010-12-14 | Apple Inc. | Encoding a transparency (alpha) channel in a video bitstream |
US8189908B2 (en) * | 2005-09-02 | 2012-05-29 | Adobe Systems, Inc. | System and method for compressing video data and alpha channel data using a single stream |
US8014615B2 (en) * | 2005-09-02 | 2011-09-06 | Adobe Systems Incorporated | System and method for decompressing video data and alpha channel data using a single stream |
US8633940B2 (en) * | 2009-08-04 | 2014-01-21 | Broadcom Corporation | Method and system for texture compression in a system having an AVC decoder and a 3D engine |
CN102036059A (zh) * | 2009-09-25 | 2011-04-27 | 腾讯科技(深圳)有限公司 | 一种透明图像的压缩和解压缩方法、装置和系统 |
US10033997B2 (en) * | 2010-06-23 | 2018-07-24 | Panasonic Intellectual Property Management Co., Ltd. | Image decoding apparatus, image decoding method, integrated circuit, and program |
CN102103463B (zh) * | 2011-02-17 | 2013-03-13 | 浙江宇视科技有限公司 | 一种带透明度用户界面信息的处理方法和设备 |
US8681170B2 (en) * | 2011-05-05 | 2014-03-25 | Ati Technologies Ulc | Apparatus and method for multi-streaming for more than three pixel component values |
US8655086B1 (en) * | 2011-11-01 | 2014-02-18 | Zynga, Inc. | Image compression with alpha channel data |
US8878867B2 (en) * | 2012-06-11 | 2014-11-04 | Blackberry Limited | Transparency information in image or video format not natively supporting transparency |
CN102821279A (zh) * | 2012-07-31 | 2012-12-12 | 北京天神互动科技有限公司 | 一种保留alpha通道的图片压缩方法 |
CN103826028B (zh) * | 2012-11-19 | 2017-08-25 | 腾讯科技(深圳)有限公司 | 一种无损压缩图片的方法和装置 |
GB2512825A (en) * | 2013-04-05 | 2014-10-15 | British Broadcasting Corp | Transmitting and receiving a composite image |
RU2013118988A (ru) * | 2013-04-24 | 2014-11-10 | Общество С Ограниченной Ответственностью "Э-Студио" | Обработка видеопотоков |
CN104349171B (zh) * | 2013-07-31 | 2018-03-13 | 上海通途半导体科技有限公司 | 一种视觉无损的图像压缩编、解码装置及编、解码方法 |
US10404988B2 (en) * | 2014-03-16 | 2019-09-03 | Vid Scale, Inc. | Method and apparatus for the signaling of lossless video coding |
KR20160026005A (ko) * | 2014-08-29 | 2016-03-09 | (주) 디아이지 커뮤니케이션 | 알파 채널을 포함하는 증강 현실 동영상의 압축 장치 및 방법 |
CN104333762B (zh) * | 2014-11-24 | 2017-10-10 | 成都瑞博慧窗信息技术有限公司 | 一种视频解码方法 |
GB2539461B (en) * | 2015-06-16 | 2020-01-08 | Canon Kk | Image data encapsulation |
CN104980798B (zh) * | 2015-07-14 | 2018-04-10 | 天脉聚源(北京)教育科技有限公司 | 一种远端视频显示方法及装置 |
EP3338243B1 (en) * | 2015-09-23 | 2022-04-20 | ARRIS Enterprises LLC | High dynamic range adaptation operations at a video decoder |
CN105979282B (zh) * | 2016-06-02 | 2019-08-06 | 腾讯科技(深圳)有限公司 | 一种动画帧处理方法、服务器、终端及系统 |
US11062738B2 (en) * | 2017-03-23 | 2021-07-13 | Qualcomm Incorporated | Signalling of video content including sub-picture bitstreams for video coding |
CN107071515B (zh) * | 2017-04-08 | 2018-12-07 | 腾讯科技(深圳)有限公司 | 一种图片文件处理方法及系统 |
-
2017
- 2017-04-08 CN CN201710225909.0A patent/CN107071515B/zh active Active
- 2017-04-08 CN CN201811272300.XA patent/CN109089162B/zh active Active
- 2017-04-08 CN CN201811272357.XA patent/CN109194962B/zh active Active
-
2018
- 2018-03-26 WO PCT/CN2018/080445 patent/WO2018184483A1/zh active Application Filing
- 2018-03-26 EP EP18781491.8A patent/EP3609188A4/en not_active Ceased
- 2018-04-03 TW TW107111917A patent/TWI707309B/zh active
-
2019
- 2019-04-03 US US16/374,314 patent/US11012716B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101540901A (zh) * | 2008-03-20 | 2009-09-23 | 华为技术有限公司 | 编解码方法及装置 |
CN101742317A (zh) * | 2009-12-31 | 2010-06-16 | 北京中科大洋科技发展股份有限公司 | 一种带阿尔法透明通道的视频压缩编码方法 |
CN102244784A (zh) * | 2011-06-09 | 2011-11-16 | 杭州典能科技有限公司 | 含透明信息图片压缩和显示的方法 |
Non-Patent Citations (3)
Title |
---|
BPG Specification;Fabrice Bellard;《https://bellard.org/bpg/ bpg_ spec.txt》;20170302;正文第1-13页 * |
Logo insertion;Philippe Bordes;《JVT-R016》;20060115;全文 * |
REXT/MV-HEVC/SHVC HLS: auxiliary picture layers;Miska M. Hannuksela;《JCTVC-O0041》;20140113;全文 * |
Also Published As
Publication number | Publication date |
---|---|
TWI707309B (zh) | 2020-10-11 |
CN107071515B (zh) | 2018-12-07 |
CN109089162A (zh) | 2018-12-25 |
CN107071515A (zh) | 2017-08-18 |
CN109194962A (zh) | 2019-01-11 |
EP3609188A4 (en) | 2020-09-30 |
US20190230382A1 (en) | 2019-07-25 |
CN109089162B (zh) | 2021-05-28 |
TW201837867A (zh) | 2018-10-16 |
EP3609188A1 (en) | 2020-02-12 |
US11012716B2 (en) | 2021-05-18 |
WO2018184483A1 (zh) | 2018-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106937132B (zh) | 一种图片文件处理方法 | |
CN109194962B (zh) | 一种图片文件处理方法及系统 | |
CN109040789B (zh) | 一种图片文件处理方法 | |
US11012489B2 (en) | Picture file processing method, picture file processing device, and storage medium | |
JP7053722B2 (ja) | ビットストリーム内で、ldrピクチャのピクチャ/ビデオ・フォーマットと、このldrピクチャおよびイルミネーション・ピクチャから取得された復号済みのhdrピクチャのピクチャ/ビデオ・フォーマットとをシグナリングする方法および装置 | |
US20240323544A1 (en) | Image capture method, image display method, and apparatus | |
US7986350B2 (en) | Mobile terminal and operating method thereof | |
CN114079823A (zh) | 基于Flutter的视频渲染方法、装置、设备及介质 | |
TWI835238B (zh) | 影像處理方法及影像處理裝置 | |
CN113014834B (zh) | 图片字幕显示方法、装置及相关装置 | |
CN118214872A (zh) | 一种超高清无损图像编解码方法和系统 | |
CN118283271A (zh) | 图像编解码装置、方法及存储介质 | |
CN118660167A (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 |