TWI677232B - 一種圖片檔處理方法、裝置及儲存介質 - Google Patents

一種圖片檔處理方法、裝置及儲存介質 Download PDF

Info

Publication number
TWI677232B
TWI677232B TW107111918A TW107111918A TWI677232B TW I677232 B TWI677232 B TW I677232B TW 107111918 A TW107111918 A TW 107111918A TW 107111918 A TW107111918 A TW 107111918A TW I677232 B TWI677232 B TW I677232B
Authority
TW
Taiwan
Prior art keywords
data
image
picture file
header information
frame
Prior art date
Application number
TW107111918A
Other languages
English (en)
Other versions
TW201838410A (zh
Inventor
王詩濤
Shi Tao Wang
劉曉宇
Xiao Yu Liu
陳家君
Jia Jun Chen
黃曉政
Xiao Zheng Huang
丁飄
Piao DING
劉海軍
Hai Jun Liu
羅斌姬
Bin Ji Luo
陳新星
Xin Xing Chen
Original Assignee
大陸商騰訊科技(深圳)有限公司
Tencent Technology (Shenzhen) Company Limited
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 大陸商騰訊科技(深圳)有限公司, Tencent Technology (Shenzhen) Company Limited filed Critical 大陸商騰訊科技(深圳)有限公司
Publication of TW201838410A publication Critical patent/TW201838410A/zh
Application granted granted Critical
Publication of TWI677232B publication Critical patent/TWI677232B/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing 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/234336Processing 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing 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/234309Processing 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing 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/234318Processing 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/44Processing 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/4402Processing 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/440218Processing 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/44Processing 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/4402Processing 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/440236Processing 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8146Monomedia components thereof involving graphical data, e.g. 3D object, 2D graphics
    • H04N21/8153Monomedia components thereof involving graphical data, e.g. 3D object, 2D graphics comprising still images, e.g. texture, background image
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/85406Content authoring involving a specific file format, e.g. MP4 format

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)

Abstract

本揭示實施例公開了一種圖片檔處理方法、裝置及儲存介質,其中方法包括:獲取圖片檔中第一圖像對應的RGBA資料,並分離所述RGBA資料,以得到所述第一圖像的RGB資料和透明度數據(即,透明度的資料內容);按照第一視頻編碼模式對所述第一圖像的RGB資料進行編碼,生成第一碼流資料;按照第二視頻編碼模式對所述第一圖像的透明度數據進行編碼,生成第二碼流資料;將所述第一碼流資料和所述第二碼流資料寫入所述圖片檔的碼流資料段中。

Description

一種圖片檔處理方法、裝置及儲存介質
本揭示涉及電腦技術領域,尤其涉及一種圖片檔處理方法、裝置及儲存介質。
隨著移動互聯網的發展,終端設備的下載流量大幅增長。使用者下載流量中,圖片檔流量佔據很大比例。大量的圖片檔也給網路傳輸頻寬負載帶來了很大的壓力。如果能將圖片檔大小減小,不但能提升載入速度,還能節省大量頻寬以及儲存成本。
本揭示實施例提供了一種圖片檔處理方法、裝置及儲存介質,能夠通過視頻編碼模式分別對RGB資料和透明度數據(即,透明度的資料內容)進行編碼,提高了圖片檔案壓縮率的同時能夠保證圖片檔的品質。
本揭示實施例提供了一種圖片檔處理方法,應用於一計算設備,包括:獲取圖片檔中第一圖像對應的RGBA資料,並分離所述RGBA資料,以得到所述第一圖像的RGB資料和透明度數據,其中,所述RGB資料為所述RGBA資料包含的顏色資料,所述透明度數據為所述RGBA 資料包含的透明度數據;按照第一視頻編碼模式對所述第一圖像的RGB資料進行編碼,生成第一碼流資料;按照第二視頻編碼模式對所述第一圖像的透明度數據進行編碼,生成第二碼流資料;將所述第一碼流資料和所述第二碼流資料寫入所述圖片檔的碼流資料段中。
本揭示實施例提供了一種圖片檔處理裝置,包括:處理器以及與所述處理器連接的記憶體,所述記憶體中儲存有可由所述處理器執行的機器可讀指令,所述處理器執行所述機器可讀指令完成以下操作:獲取圖片檔中第一圖像對應的RGBA資料,並分離所述RGBA資料,以得到所述第一圖像的RGB資料和透明度數據,其中,所述RGB資料為所述RGBA資料包含的顏色資料,所述透明度數據為所述RGBA資料包含的透明度數據;按照第一視頻編碼模式對所述第一圖像的RGB資料進行編碼,生成第一碼流資料;按照第二視頻編碼模式對所述第一圖像的透明度數據進行編碼,生成第二碼流資料;將所述第一碼流資料和所述第二碼流資料寫入所述圖片檔的碼流資料段中。
本揭示實施例提供了一種非易失性電腦可讀儲存介質,所述 儲存介質中儲存有機器可讀指令,所述機器可讀指令用於使處理器執行上述的方法。
10‧‧‧計算設備
20‧‧‧使用者終端
30‧‧‧網路
100011‧‧‧系統匯流排
100012‧‧‧處理器
100013‧‧‧非易失性儲存介質
1000131‧‧‧作業系統
1000132‧‧‧圖片檔處理裝置
100014‧‧‧內記憶體
101~104‧‧‧步驟
201~207‧‧‧步驟
301~307‧‧‧步驟
401~404‧‧‧步驟
501~507‧‧‧步驟
601~605‧‧‧步驟
701~705‧‧‧步驟
801~703‧‧‧步驟
1‧‧‧編碼裝置
11‧‧‧資料獲取模組
12‧‧‧第一編碼模組
121‧‧‧第一資料轉換單元
122‧‧‧第一碼流生成單元
13‧‧‧第二編碼模組
131‧‧‧第二資料轉換單元
132‧‧‧第二碼流生成單元
14‧‧‧資料寫入模組
15‧‧‧資訊生成模組
1000‧‧‧編碼裝置
1001‧‧‧處理器
1002‧‧‧通信匯流排
1003‧‧‧使用者介面
10031‧‧‧顯示幕
10032‧‧‧鍵盤
1004‧‧‧網路介面
1005‧‧‧記憶體
10051‧‧‧作業系統
10052‧‧‧網路通信模組
10053‧‧‧使用者介面模組
10054‧‧‧機器可讀指令
10055‧‧‧編碼應用程式
2‧‧‧解碼裝置
21‧‧‧第一解碼模組
211‧‧‧第一資料生成單元
212‧‧‧第一資料轉換單元
22‧‧‧第二解碼模組
221‧‧‧第二資料生成單元
222‧‧‧第二資料轉換單元
23‧‧‧資料生成模組
24‧‧‧第二資料獲取模組
25‧‧‧檔解析模組
26‧‧‧第一資料獲取模組
2000‧‧‧解碼裝置
2001‧‧‧處理器
2002‧‧‧通信匯流排
2003‧‧‧使用者介面
20031‧‧‧顯示幕
20032‧‧‧鍵盤
2004‧‧‧網路介面
2005‧‧‧記憶體
20051‧‧‧作業系統
20052‧‧‧網路通信模組
20053‧‧‧使用者介面模組
20054‧‧‧機器可讀指令
20055‧‧‧解碼應用程式
3‧‧‧圖片檔處理裝置
31‧‧‧資訊生成模組
32‧‧‧第一資訊寫入模組
33‧‧‧第二資訊寫入模組
34‧‧‧資料編碼模組
35‧‧‧資料寫入模組
3000‧‧‧圖片檔處理裝置
3001‧‧‧處理器
3002‧‧‧通信匯流排
3003‧‧‧使用者介面
30031‧‧‧顯示幕
30032‧‧‧鍵盤
3004‧‧‧網路介面
3005‧‧‧記憶體
30051‧‧‧作業系統
30052‧‧‧網路通信模組
30053‧‧‧使用者介面模組
30054‧‧‧機器可讀指令
30055‧‧‧圖片檔處理應用程式
4‧‧‧圖片檔處理裝置
41‧‧‧檔解析模組
42‧‧‧資料讀取模組
43‧‧‧資料解碼模組
4000‧‧‧圖片檔處理裝置
4001‧‧‧處理器
4002‧‧‧通信匯流排
4003‧‧‧使用者介面
40031‧‧‧顯示幕
40032‧‧‧鍵盤
4004‧‧‧網路介面
4005‧‧‧記憶體
40051‧‧‧作業系統
40052‧‧‧網路通信模組
40053‧‧‧使用者介面模組
40054‧‧‧機器可讀指令
40055‧‧‧圖片檔處理應用程式
5000‧‧‧圖片檔處理系統
5001‧‧‧編碼設備
5002‧‧‧解碼設備
6000‧‧‧編碼模組
6001‧‧‧RGB資料和透明度數據分離子模組
6002‧‧‧第一視頻編碼模式子模組
6003‧‧‧第二視頻編碼模式子模組
6004‧‧‧圖片頭資訊及幀頭資訊封裝子模組
7000‧‧‧解碼模組
7001‧‧‧圖片頭資訊及幀頭資訊解析子模組
7002‧‧‧第一視頻解碼模式子模組
7003‧‧‧第二視頻解碼模式子模組
7004‧‧‧RGB資料和透明度數據合併子模組
8000‧‧‧終端設備
為了更清楚地說明本揭示實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹:圖1a是本揭示實施例提供的一種圖片檔處理方法的實施環境示意圖;圖1b為本揭示一個實施例中用於實現一種圖片檔處理方法的計算設備的內部結構示意圖;圖1c為本揭示實施例提供的一種圖片檔處理方法的流程示意圖;圖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為本揭示實施例提供的另一種圖片檔處理方法的流程示意圖;圖14a為本揭示實施例提供的一種編碼裝置的結構示意圖;圖14b為本揭示實施例提供的一種編碼裝置的結構示意圖;圖14c為本揭示實施例提供的一種編碼裝置的結構示意圖;圖14d為本揭示實施例提供的一種編碼裝置的結構示意圖;圖15為本揭示實施例提供的另一種編碼裝置的結構示意圖;圖16a為本揭示實施例提供的一種解碼裝置的結構示意圖;圖16b為本揭示實施例提供的一種解碼裝置的結構示意圖;圖16c為本揭示實施例提供的一種解碼裝置的結構示意圖;圖16d為本揭示實施例提供的一種解碼裝置的結構示意圖;圖16e為本揭示實施例提供的一種解碼裝置的結構示意圖;圖17為本揭示實施例提供的另一種解碼裝置的結構示意圖;圖18為本揭示實施例提供的一種圖片檔處理裝置的結構示意圖; 圖19為本揭示實施例提供的另一種圖片檔處理裝置的結構示意圖;圖20為本揭示實施例提供的另一種圖片檔處理裝置的結構示意圖;圖21為本揭示實施例提供的另一種圖片檔處理裝置的結構示意圖;圖22為本揭示實施例提供的一種圖片檔處理系統的系統架構圖;圖23為本揭示實施例提供的一種編碼模組的示例圖;圖24為本揭示實施例提供的一種解碼模組的示例圖;圖25為本揭示實施例提供的一種終端設備的結構示意圖。
請參照圖式,其中相同的元件符號代表相同的元件或是相似的元件,本揭示的原理是以實施在適當的運算環境中來舉例說明。以下的說明是基於所例示的本揭示具體實施例,其不應被視為限制本揭示未在此詳述的其它具體實施例。
一般地,當需要傳輸大量的圖片檔時,若想節省頻寬或儲存成本,一種方法是降低圖片檔的品質,比如將jpeg格式的圖片檔品質由jpeg80降低到jpeg70甚至更低,但是圖片檔品質也大大下降,很影響用戶體驗;另一種方法是採用更高效的圖片檔案壓縮方法,目前的主流圖片檔案格式主要是jpeg、png、gif等,在保證圖片檔品質的前提下,它們都存在壓縮效率不高的問題。
有鑑於此,本揭示一些實施例提出了一種圖片檔處理方法、裝置及儲存介質,能夠通過視頻編碼模式分別對RGB資料和透明度數據進行編碼,在提高圖片檔案壓縮率的同時能夠保證圖片檔的品質。在本揭示實施例中,在第一圖像為RGBA資料的情況下,編碼裝置獲取圖片檔中第一 圖像對應的RGBA資料,並通過分離RGBA資料得到所述第一圖像的RGB資料和透明度數據,按照第一視頻編碼模式對所述第一圖像的RGB資料進行編碼,生成第一碼流資料;按照第二視頻編碼模式對第一圖像的透明度數據進行編碼,生成第二碼流資料;將第一碼流資料和第二碼流資料寫入碼流資料段中。這樣,通過採用視頻編碼模式編碼能夠提高圖片檔的壓縮率,減小圖片檔的大小,因此可以提升圖片載入速度,節省網路傳輸頻寬以及儲存成本;另外,通過對圖片檔中的RGB資料和透明度數據分別進行編碼,實現了在採用視頻編碼模式的同時保留了圖片檔中的透明度數據,從而保證了圖片檔的品質。應注意的是,本揭示的透明度數據例如可稱為透明度的資料內容。
圖1a是本揭示實施例提供的一種圖片檔處理方法的實施環境示意圖。其中,計算設備10用於實現本揭示任一實施例提供的圖片檔處理方法。該計算設備10與使用者終端20之間通過網路30連接,所述網路30可以是有線網路,也可以是無線網路。
圖1b為本揭示一個實施例中用於實現一種圖片檔處理方法的計算設備10的內部結構示意圖。參照圖1b,該計算設備10包括通過系統匯流排100011連接的處理器100012、非易失性儲存介質100013和內記憶體100014。其中,計算設備10的非易失性儲存介質100013儲存有作業系統1000131,還儲存有一種圖片檔處理裝置1000132,該圖片檔處理裝置1000132用於實現本揭示任一實施例提供的圖片檔處理方法。計算設備10的處理器100012用於提供計算和控制能力,支撐整個終端設備的運行。計算設備10中的內記憶體100014為非易失性儲存介質100013中的圖片檔處理裝 置的運行提供環境。該內記憶體100014中可儲存有電腦可讀指令,該電腦可讀指令被處理器100012執行時,可使得處理器100012執行本揭示任一實施例提供的圖片檔處理方法。該計算設備10可以是終端,也可以是伺服器。終端可以是個人電腦或者移動電子設備,移動電子設備包括手機、平板電腦、個人數位助理或者穿戴式設備等中的至少一種。伺服器可以用獨立的伺服器或者是多個物理伺服器組成的伺服器集群來實現。本領域技術人員可以理解,圖1b中示出的結構,僅僅是與本揭示方案相關的部分結構的框圖,並不構成對本揭示方案所應用於其上的計算設備的限定,具體的計算設備可以包括比圖1b中所示更多或更少的部件,或者組合某些部件,或者具有不同的部件佈置。
請參見圖1c,為本揭示實施例提供的一種圖片檔處理方法的流程示意圖,該方法可由上述計算設備執行。如圖1c所示,假設該計算設備為終端設備,本揭示實施例的所述方法可以包括步驟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資料可以是通過對各種格式的圖片檔解碼獲得的,其中圖片檔的格式可以為聯合圖像專家小組(Joint Photographic Experts Group,JPEG)、影像檔格式(Bitmap,BMP)、可攜式網路圖形(Portable Network Graphic Format,PNG)、點陣圖動畫格式(Animated Portable Network Graphics,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,並觸發執行獲取動態格式的圖片檔中第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幀是所述動態格式的圖片檔中的最後一幀,則完成對所述動態格式的圖片檔的編碼。
具體的,所述編碼裝置判斷第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顏色空間格式可以包括但不限定於YUY420、YUV422和YUV444。
步驟303,按照第二視頻編碼模式對所述第一圖像的透明度 數據進行編碼,生成第二碼流資料。
具體的,所述編碼裝置按照第二視頻編碼模式對所述第一圖像的透明度數據進行編碼,生成第二碼流資料。
針對步驟302的所述第一視頻編碼模式或步驟303的第二視頻編碼模式可以包括但不限定於I幀編碼模式和P幀編碼模式。其中,I幀表示關鍵幀,對I幀資料解碼時只需要本幀資料就可以重構完整圖像;P幀需要參考前面的已編碼幀,才可以重構完整圖像。本揭示實施例對靜態格式的圖片檔或動態格式的圖片檔中各幀圖像所採用的視頻編碼模式不做限定。
舉例來說,對於靜態格式的圖片檔而言,由於靜態格式的圖片檔只包含一幀圖像,在本揭示實施例中即為第一圖像,因此對第一圖像的RGB資料和透明度數據進行I幀編碼。又舉例來說,對於動態格式的圖片檔而言,由於動態格式的圖片檔包含至少兩幀圖像,在本揭示實施例中,對於動態格式的圖片檔中的第一幀圖像的RGB資料和透明度數據進行I幀編碼;對於非第一幀圖像的RGB資料和透明度數據可以進行I幀編碼,或者也可以進行P幀編碼。
在本揭示一些實施例中,所述編碼裝置按照第二視頻編碼模式對所述第一圖像的透明度數據進行編碼並生成第二碼流資料的具體過程為:將所述第一圖像的透明度數據轉換為第二YUV資料;按照第二視頻編碼模式對所述第二YUV資料進行編碼,生成第二碼流資料。
其中,所述編碼裝置將所述第一圖像的透明度數據轉換為第二YUV資料具體是:在本揭示一些實施例中,所述編碼裝置將所述第一圖像的透明度數據設定為第二YUV資料中的Y分量,且不設定所述第二YUV 資料中的U分量和V分量;或者,在本揭示另外一些實施例中,將所述第一圖像的透明度數據設定為第二YUV資料中的Y分量,且將所述第二YUV資料中的U分量和V分量設定為預設資料;在本揭示實施例中,所述編碼裝置可以按照預設的YUV顏色空間格式將透明度數據轉換為第二YUV資料,例如,預設的YUV顏色空間格式可以包括但不限定於YUV400、YUV420、YUV422和YUV444,並可以按照該YUV顏色空間格式設定U分量和V分量。
進一步的,若第一圖像對應的資料為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,則不設置U、V分量,並將4個圖元點的Y分量確定為所述第一圖像的第二YUV資料(如圖4c所示)。
若YUV顏色空間格式為除YUV400之外的其他存在U、V分量的格式,則將U、V分量設定為預設數據,如圖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位元無符號數標識,如表一所示,給出了版本號的類型。
請一併參見圖5b,為本揭示實施例提供的一種圖像特徵資訊資料段的示例圖,如圖5b所示,圖像特徵資訊資料段包括圖像特徵資訊起始碼、圖像特徵資訊資料段長度、是否有alpha通道標誌(即圖5b中所示的圖像透明度標誌)、動態圖像標誌、YUV顏色空間格式、無損模式標識、YUV顏色空間值域標誌、保留位元、圖像寬度、圖像高度和幀數。請參見以下具體介紹。
圖像特徵資訊起始碼:是用於指示圖片檔的圖像特徵資訊資料段起始位置的欄位,例如,採用1位元組表示,並採用欄位D0。
圖像特徵資訊資料段長度:表示圖像特徵資訊資料段所占的位元組數,例如,採用2位元組表示,比如,對於動態格式的圖片檔而言,圖5b中的圖像特徵資訊資料段一共有9個位元組,可以填寫9;對於靜態格式的圖片檔而言圖5b中的圖像特徵資訊資料段一共有12個位元組,可以填寫12。
圖像透明度標誌:用於表示該圖片檔中的圖像是否攜帶有透明度數據。例如,採用一個位元表示,0表示該圖片檔中的圖像沒有攜帶透明度數據,1表示該圖片檔中的圖像攜帶有透明度數據;可以理解的是,是否有alpha通道與是否包含透明度數據是代表相同的意思。
動態圖像標誌:用於表示所述圖片檔是否是動態格式的圖片檔和是否為靜態格式的圖片檔,例如,採用一個位元表示,0表示是靜態格式的圖片檔,1表示是動態格式的圖片檔。
YUV顏色空間格式:用於指示圖片檔的RGB資料轉換為YUV資料所採用的色度分量格式,例如,採用兩個位元表示,如下表二所示。
無損模式標誌:用於表示是否為無損編碼或是否為失真壓 縮,例如,採用一個位元表示,0表示有損編碼,1表示無損編碼,其中,對於圖片檔中的RGB資料直接採用視頻編碼模式進行編碼,則表示是無損編碼;對於圖片檔中的RGB資料採用先轉換為YUV資料,再對YUV資料進行編碼,則表示是有損編碼。
YUV顏色空間值域標誌:用於表示YUV顏色空間值域範圍符合ITU-R BT.601標準。例如採用一個位元表示,1表示Y分量的值域範圍為[16,235],U、V分量的值域範圍為[16,240];0表示Y分量和U、V分量的值域範圍為[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至步驟404。
步驟401,從圖片檔的碼流資料段中獲取由所述圖片檔中的第一圖像生成的第一碼流資料和第二碼流資料。
具體的,在終端設備中運行的解碼裝置從圖片檔的碼流資料段中獲取由所述圖片檔中的第一圖像生成的第一碼流資料和第二碼流資 料。
步驟402,按照第一視頻解碼模式對第一碼流資料進行解碼,生成第一圖像的RGB資料。
具體的,在終端設備中運行的解碼裝置按照第一視頻解碼模式對第一碼流資料進行解碼。其中,所述第一碼流資料和所述第二碼流資料是所述解碼裝置通過對圖片檔進行解析從碼流資料段中讀取由所述第一圖像生成的資料,並獲取到關於第一圖像的碼流資料,所述第一圖像為所述影像檔中包含的圖像。對於影像檔包含透明度數據的情況,所述解碼裝置獲取表示第一圖像的第一碼流資料和第二碼流資料。所述第一圖像可以為靜態格式的圖片檔所包含的一幀圖像;或者,所述第一圖像可以為動態格式的圖片檔所包含的多幀圖像中的任一幀圖像。
在本揭示一些實施例中,針對所述圖片檔包含RGB資料和透明度數據的情況,所述圖片檔中存在用於指示碼流資料段的資訊,以及對於動態格式的圖片檔而言,所述圖片檔中存在用於指示不同幀圖像對應的碼流資料段的資訊,以使所述解碼裝置能夠獲取到由第一圖像的RGB資料生成的第一碼流資料以及由第一圖像的透明度數據生成的第二碼流資料。
進一步的,所述解碼裝置對所述第一碼流資料進行解碼,以生成第一圖像的RGB資料。
步驟403,按照第二視頻解碼模式對第二碼流資料進行解碼,生成所述第一圖像的透明度數據。
具體的,所述解碼裝置按照第二視頻解碼模式對第二碼流資 料進行解碼,生成所述第一圖像的透明度數據。其中,所述第二碼流資料也同步驟402中第一碼流資料的讀取方式相同,在此不再贅述。
針對步驟402和步驟403而言,所述第一視頻解碼模式或第二視頻解碼模式可以是根據生成第一碼流資料或生成第二碼流資料所採用的視頻編碼模式確定的,例如,以第一碼流資料為例進行說明,若所述第一碼流資料採用I幀編碼,則所述第一視頻解碼模式為根據當前的碼流資料就可以生成RGB資料;若所述第一碼流資料採用P幀編碼,則所述第一視頻解碼模式為根據前面已解碼的資料,生成當前幀的RGB資料。第二視頻解碼模式可以參考第一視頻解碼模式的介紹,在此不再贅述。
需要說明的是,步驟402和步驟403在執行過程中並無先後順序之分。
步驟404,根據所述第一圖像的所述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資料的第一碼流資料和生成透明度數據的第二碼流資料,進而分別執行步驟402和步驟403。而對於圖片檔僅包含RGB資料的情況,能夠通過解析圖片檔讀取到可以生成RGB資料的第一碼流資料,並執行步驟402,生成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資料轉換為所述第一圖像的透明度數據。在本揭示一些實施例中,所述解碼裝置將所述第二YUV資料中的Y分量設定為所述第一圖像的所述透明度數據,且捨棄所述第二YUV資料中的U分量和V分量。
需要說明的是,步驟502和步驟503在執行過程中並無先後順序之分。
步驟504,根據所述第一圖像的所述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
步驟505,判斷第k幀是否為所述動態格式的圖片檔的最後一幀。
具體的,所述解碼裝置判斷第k幀是否為所述動態格式的圖片檔的最後一幀。在本揭示一些實施例中,可以通過檢測圖片頭資訊中包含的幀數來確定是否完成對圖片檔的解碼。若第k幀為所述動態格式的圖片檔的最後一幀,則表示完成對所述動態格式的圖片檔的解碼,執行步驟507;若第k幀不是所述動態格式的圖片檔的最後一幀,則執行步驟506。
步驟506,若第k幀不是所述動態格式的圖片檔的最後一幀,則更新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幀是所述動態格式的圖片檔的最後一幀,則完成對所述動態格式的圖片檔的解碼。
具體的,若所述解碼裝置判斷第k幀是所述動態格式的圖片檔的最後一幀,則表示完成對該動態格式的圖片檔解碼。
在本揭示一些實施例中,所述解碼裝置可以解析圖片檔,得到所述動態格式的圖片檔的圖片頭資訊和幀頭資訊,這樣可以通過圖片頭資訊確定該圖片檔是否包含透明度數據,進而能夠確定解碼過程中是只獲取由RGB資料生成的第一碼流資料,還是獲取由RGB資料生成的第一碼流資料和由透明度數據生成的第二碼流資料。
需要說明的,本揭示實施例的動態格式的圖片檔中每一幀對應的圖像為包含RGB資料和透明度數據的RGBA資料,而對於動態格式的圖片檔中每一幀對應的圖像僅包含RGB資料的情況,表示每一幀圖像的碼流資料僅僅是第一碼流資料,因此所述解碼裝置可以對表示每一幀圖像的第一碼流資料執行步驟502,以生成RGB資料。這樣依舊可以通過視頻解碼模式對僅包含RGB資料的碼流資料進行解碼。
在本揭示實施例中,在確定動態格式的圖片檔中包含RGB資料和透明度數據的情況下,解碼裝置按照第一視頻解碼模式對表示每一 幀圖像中的第一碼流資料進行解碼,生成第一圖像的RGB資料;按照第二視頻解碼模式對表示每一幀圖像中的第二碼流資料進行解碼,生成第一圖像的透明度數據;根據第一圖像的RGB資料和透明度數據,生成第一圖像對應的RGBA資料。通過對圖片檔中的第一碼流資料和第二碼流資料分別進行解碼,進而獲得RGBA資料,實現了在採用視頻編解碼模式的同時保留了圖片檔中的透明度數據,保證了圖片檔的品質。
請參見圖11,為本揭示實施例提供的另一種圖片檔處理方法的流程示意圖,該方法可由前述計算設備執行。如圖11所示,假設該計算設備為一終端設備,本揭示實施例的所述方法可以包括步驟601至步驟606。
步驟601,解析圖片檔,得到所述圖片檔的圖片頭資訊和幀頭資訊。
具體的,運行在終端設備中的解碼裝置解析圖片檔,以獲得所述圖片檔的圖片頭資訊和幀頭資訊。其中,所述圖片頭資訊包括指示所述圖片檔是否存在透明度數據的圖像特徵資訊,通過確定是否包含透明度數據可以確定如何獲取碼流資料以及獲取到的碼流資料是否包含由透明度數據生成的第二碼流資料。所述幀頭資訊用於指示所述圖片檔的碼流資料段,通過幀頭資訊可以確定能夠獲取到碼流資料的碼流資料段,進而實現對碼流資料的解碼。舉例來說,幀頭資訊包含幀頭資訊起始碼,通過識別幀頭資訊起始碼能夠確定碼流資料段。
在本揭示一些實施例中,所述解碼裝置解析圖片檔得到所述圖片檔的圖片頭資訊具體可以是:從圖片檔的圖片頭資訊資料段中讀取所述圖片檔的圖片頭資訊。
在本揭示一些實施例中,所述解碼裝置解析圖片檔得到所述圖片檔的幀頭資訊具體可以是:從圖片檔的幀頭資訊資料段中讀取所述圖片檔的幀頭資訊。
需要說明的是,本揭示實施例的圖片頭資訊和幀頭資訊可以參考圖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,生成圖片檔對應的圖片頭資訊和幀頭資訊。
具體的,運行在終端設備中的圖片檔處理裝置生成所述圖片檔對應的圖片頭資訊和幀頭資訊。其中,該圖片檔可以為靜態格式的圖片 檔,即僅包含該第一圖像;或者,該圖片檔為動態格式的圖片檔,即包含所述第一圖像以及其他圖像。不論該圖片檔是靜態格式的圖片檔還是動態格式的圖片檔,所述圖片檔處理裝置都需要生成該圖片檔對應的圖片頭資訊。其中,所述圖片頭資訊包括指示所述圖片檔是否存在透明度數據的圖像特徵資訊,以使解碼裝置通過所述圖像特徵資訊確定所述圖片檔是否包含透明度數據確定如何獲取碼流資料以及獲取到的碼流資料是否包含由透明度數據生成的第二碼流資料。
進一步的,所述幀頭資訊用於指示所述圖片檔的碼流資料段,以使解碼裝置通過幀頭資訊確定能夠獲取到碼流資料的碼流資料段,進而實現對碼流資料的解碼。舉例來說,幀頭資訊包含幀頭資訊起始碼,通過識別幀頭資訊起始碼能夠確定碼流資料段。
步驟702,將所述圖片頭資訊寫入所述圖片檔的圖片頭資訊資料段中。
具體的,所述圖片檔處理裝置將所述圖片頭資訊寫入所述圖片檔圖片頭資訊資料段。
步驟703,將所述幀頭資訊寫入所述圖片檔的幀頭資訊資料段中。
具體的,所述圖片檔處理裝置將所述幀頭資訊寫入所述圖片檔的幀頭資訊資料段中。
步驟704,若根據圖片頭資訊包括的圖像特徵資訊確定所述圖片檔中包含透明度數據,則對所述第一圖像對應的RGBA資料中包含的RGB資料按照第一視頻編碼模式進行編碼生成第一碼流資料,以及對所述 第一圖像對應的RGBA資料中包含的透明度數據按照第二視頻編碼模式進行編碼生成第二碼流資料。
具體的,若確定所述圖片檔中的第一圖像包含透明度數據,則所述圖片檔處理裝置按照第一視頻編碼模式對所述第一圖像對應的RGBA資料中包含的RGB資料進行編碼生成第一碼流資料,以及按照第二視頻編碼模式對所述第一圖像對應的RGBA資料中包含的透明度數據進行編碼生成第二碼流資料。
在本揭示一些實施例中,在所述圖片檔處理裝置獲取到所述圖片檔中的第一圖像對應的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,解析圖片檔,得到所述圖片檔的圖片頭資訊和幀頭資訊。
具體的,在終端設備中運行的圖片檔處理裝置解析圖片檔,以獲得所述圖片檔的圖片頭資訊和幀頭資訊。其中,所述圖片頭資訊包括指示所述圖片檔是否存在透明度數據的圖像特徵資訊,通過確定所述圖片檔是否包含透明度數據可以確定如何獲取碼流資料以及獲取到的碼流資料是否包含由透明度數據生成的第二碼流資料。所述幀頭資訊用於指示所述圖片檔的碼流資料段,通過幀頭資訊可以確定能夠獲取到碼流資料的碼流資料段,進而實現對碼流資料的解碼。舉例來說,幀頭資訊包含幀頭資訊起始碼,通過識別幀頭資訊起始碼能夠確定碼流資料段。
在本揭示一些實施例中,所述圖片檔處理裝置解析圖片檔得到所述圖片檔的圖片頭資訊具體可以是:從圖片檔的圖片頭資訊資料段中讀取所述圖片檔的圖片頭資訊。
在本揭示一些實施例中,所述圖片檔處理裝置解析圖片檔得到所述圖片檔的幀頭資訊具體可以是:從圖片檔的幀頭資訊資料段中讀取所述圖片檔的幀頭資訊。
需要說明的是,本揭示實施例的圖片頭資訊和幀頭資訊可以參考圖5a、圖5b、圖5c、圖6a、圖6b、圖7a、圖7b、圖8a、圖8b和圖8c的舉例來說,在此不再贅述。
步驟802,若通過所述圖像特徵資訊確定所述圖片檔包含透明度數據,則讀取所述圖片檔中所述幀頭資訊指示的碼流資料段中的碼流資料,所述碼流資料包括第一碼流資料和第二碼流資料。
具體的,若通過所述圖像特徵資訊確定所述圖片檔包含透明度數據,則所述圖片檔處理裝置讀取所述圖片檔中所述幀頭資訊指示的碼流資料段中的碼流資料。所述碼流資料包括第一碼流資料和第二碼流資料。
在本揭示一些實施例中,圖片檔的一幀圖像對應一個幀頭資訊,即該幀頭資訊可以用於指示包含第一碼流資料和第二碼流資料的碼流資料段。具體的,針對圖片檔為靜態格式的圖片檔的情況,靜態格式的圖片檔包含一幀圖像,即為第一圖像,因此,該靜態格式的圖片檔中包含一個幀頭資訊。針對圖片檔為動態格式的圖片檔的情況,動態格式的圖片檔一般包含至少兩幀圖像,對於其中的每一幀圖像均增加一個幀頭資訊。若確定所述圖片檔包含透明度數據,則所述圖片檔處理裝置根據所述幀頭資 訊指示的碼流資料段中讀取所述第一碼流資料和第二碼流資料。
在本揭示另外一些實施例中,圖片檔的一幀圖像中的一個碼流資料對應一個幀頭資訊,即一個幀頭資訊中指示的碼流資料段中包含一個碼流資料。具體的,針對靜態格式的圖片檔的情況,靜態格式的圖片檔包含一幀圖像,即為第一圖像,包含透明度數據的第一圖像對應於兩個碼流資料,分別為第一碼流資料和第二碼流資料,因此,該靜態格式的圖片檔中第一碼流資料對應一個幀頭資訊、第二碼流資料對應另一個幀頭資訊。針對動態格式的圖片檔的情況,動態格式的圖片檔包含至少兩幀圖像,包含透明度數據的每一幀圖像對應於兩個碼流資料,分別為第一碼流資料和第二碼流資料,並對每一幀圖像的第一碼流資料和第二碼流資料各增加一個幀頭資訊。因此,若確定所述圖片檔包含透明度數據,則所述圖片檔處理裝置根據兩個幀頭資訊分別指示的兩個碼流資料段,分別獲取第一碼流資料和第二碼流資料。
需要說明的是,對於圖片檔的一幀圖像中的一個碼流資料對應一個幀頭資訊的情況,編碼裝置可以按照預設的順序來排列第一碼流資料對應的幀頭資訊資料段、第一碼流資料段、第二碼流資料對應的幀頭資訊資料段、和第二碼流資料段,並且圖片檔處理裝置可以確定編碼裝置的排列順序。舉例來說,對於一幀圖像的第一碼流資料段、第二碼流資料段和各個碼流資料對應的幀頭資訊資料段,可以按照第一碼流資料對應的幀頭資訊資料段、第一碼流資料段、第二碼流資料對應的幀頭資訊資料段、第二碼流資料段進行排列,這樣在圖片檔處理裝置解碼的過程中,能夠確定表示該幀圖像的兩個幀頭資訊和兩個幀頭指示的碼流資料段中,哪一個 能夠獲取到第一碼流資料,哪一個能獲取到第二碼流資料。可以理解的是,這裡的第一碼流資料是指由RGB資料生成的碼流資料,第二碼流資料是指由透明度數據生成的碼流資料。
步驟803,對所述第一碼流資料和所述第二碼流資料分別進行解碼。
具體的,在所述圖片檔處理裝置從碼流資料段中獲取到第一碼流資料和第二碼流資料之後,所述圖片檔處理裝置對第一碼流資料和第二碼流資料分別進行解碼。
需要說明的是,所述圖片檔處理裝置可以參照圖9至圖11所示實施例中解碼裝置的執行過程實現對第一碼流資料和第二碼流資料的解碼,在此不再贅述。
在本揭示實施例中,圖片檔處理裝置對圖片檔進行解析以得到圖片頭資訊和幀頭資訊,通過圖片頭資訊包含的指示圖片檔是否存在透明度數據的圖像特徵資訊,能夠確定如何獲取碼流資料以及獲取到的碼流資料是否包含由透明度數據生成的第二碼流資料;通過幀頭資訊指示的圖片檔的碼流資料段,獲取到碼流資料段中的碼流資料,進而實現對碼流資料的解碼。
請參見圖14a,為本揭示實施例提供的一種編碼裝置的結構示意圖。如圖14a所示,本揭示實施例的所述編碼裝置1可以包括:資料獲取模組11、第一編碼模組12、第二編碼模組13和資料寫入模組14。
資料獲取模組11,用於獲取圖片檔中第一圖像對應的RGBA資料,並分離所述RGBA資料,以得到所述第一圖像的RGB資料和透明度數 據,其中,所述RGB資料為所述RGBA資料包含的顏色資料,所述透明度數據為所述RGBA資料包含的透明度數據;第一編碼模組12,用於按照第一視頻編碼模式對所述第一圖像的RGB資料進行編碼,生成第一碼流資料;第二編碼模組13,用於按照第二視頻編碼模式對所述第一圖像的透明度數據進行編碼,生成第二碼流資料;資料寫入模組14,用於將所述第一碼流資料和所述第二碼流資料寫入所述圖片檔的碼流資料段中,所述第一圖像為所述圖片檔中包含的圖像。
在本揭示一些實施例中,如圖14b所示,所述第一編碼模組12包括第一資料轉換單元121和第一碼流生成單元122,其中:第一資料轉換單元121,用於將所述第一圖像的RGB資料轉換為第一YUV資料;第一碼流生成單元122,用於按照第一視頻編碼模式對所述第一YUV資料進行編碼,生成第一碼流資料。
在本揭示一些實施例中,如圖14c所示,所述第二編碼模組13包括第二資料轉換單元131和第二碼流生成單元132,其中:第二資料轉換單元131,用於將所述第一圖像的透明度數據轉換為第二YUV資料;第二碼流生成單元132,用於按照第二視頻編碼模式對所述第二YUV資料進行編碼,生成第二碼流資料。
在本揭示一些實施例中,所述第二資料轉換單元131用於將 所述第一圖像的透明度數據設定為第二YUV資料中的Y分量,且不設定所述第二YUV資料中的U分量和V分量。或者,所述第二資料轉換單元131用於將所述第一圖像的透明度數據設定為第二YUV資料中的Y分量,且將所述第二YUV資料中的U分量和V分量設定為預設資料。
在本揭示一些實施例中,所述資料獲取模組11,用於若所述圖片檔為動態格式的圖片檔且所述第一圖像為所述圖片檔中的第k幀對應的圖像,則判斷所述第k幀是否為所述圖片檔中的最後一幀,其中,k為大於0的正整數;若所述第k幀不是所述圖片檔中的最後一幀,獲取所述圖片檔中的第(k+1)幀對應的第二圖像所對應的RGBA資料,並分離所述第二圖像所對應的RGBA資料,以得到所述第二圖像的RGB資料和透明度數據;所述第一編碼模組12,還用於按照第三視頻編碼模式對所述第二圖像的RGB資料進行編碼,生成第三碼流資料;所述第二編碼模組13,還用於按照第四視頻編碼模式對所述第二圖像的透明度數據進行編碼,生成第四碼流資料;所述資料寫入模組14,還用於將所述第三碼流資料和所述第四碼流資料寫入所述圖片檔的碼流資料段中。
在本揭示一些實施例中,如圖14d所示,所述編碼裝置1還包括:資訊生成模組15,用於生成所述圖片檔對應的圖片頭資訊和幀頭資訊,其中,所述圖片頭資訊包括指示所述圖片檔是否存在透明度數據的圖像特徵資訊,所述幀頭資訊用於指示所述圖片檔的碼流資料段。
在本揭示一些實施例中,所述資料寫入模組13,還用於將所 述資訊生成模組15生成的所述圖片頭資訊寫入所述圖片檔的圖片頭資訊資料段中。
在本揭示一些實施例中,所述資料寫入模組13,還用於將所述資訊生成模組15生成的所述幀頭資訊寫入所述圖片檔的幀頭資訊資料段中。
需要說明的是,本揭示實施例所描述的編碼裝置1所執行的模組、單元及帶來的有益效果可根據上述圖1c至圖8c所示方法實施例中的方法具體實現,此處不再贅述。
請參見圖15,為本揭示實施例提供的另一種編碼裝置的結構示意圖。如圖15所示,所述編碼裝置1000可以包括:至少一個處理器1001,例如CPU,至少一個網路介面1004,記憶體1005,至少一個通信匯流排1002。網路介面1004可以包括標準的有線介面、無線介面(如WI-FI介面)。記憶體1005可以是高速RAM記憶體,也可以是非不穩定的記憶體(non-volatile memory),例如至少一個磁碟記憶體。在本揭示一些實施例中,記憶體1005還可以是至少一個位於遠離前述處理器1001的儲存裝置。其中,通信匯流排1002用於實現這些元件之間的連接通信。在本揭示一些實施例中,所述編碼裝置1000包括使用者介面1003,其中,所述使用者介面1003可以包括顯示幕(Display)10031、鍵盤(Keyboard)10032。如圖15所示,作為一種電腦可讀儲存介質的記憶體1005中可以包括作業系統10051、網路通信模組10052、使用者介面模組10053以及機器可讀指令10054,所述機器可讀指令10054中包括編碼應用程式10055。
在圖15所示的編碼裝置1000中,處理器1001可以用於調用記 憶體1005中儲存的編碼應用程式10055,並具體執行以下操作:獲取圖片檔中第一圖像對應的RGBA資料,並分離所述RGBA資料,以得到所述第一圖像的RGB資料和透明度數據,所述RGB資料為所述RGBA資料包含的顏色資料,所述透明度數據為所述RGBA資料包含的透明度數據;按照第一視頻編碼模式對所述第一圖像的RGB資料進行編碼,生成第一碼流資料;按照第二視頻編碼模式對所述第一圖像的透明度數據進行編碼,生成第二碼流資料;將所述第一碼流資料和所述第二碼流資料寫入所述圖片檔的碼流資料段中。
在一個實施例中,所述處理器1001在執行按照第一視頻編碼模式對所述第一圖像的RGB資料進行編碼,生成第一碼流資料時,具體執行:將所述第一圖像的RGB資料轉換為第一YUV資料;按照第一視頻編碼模式對所述第一YUV資料進行編碼,生成第一碼流資料。
在一個實施例中,所述處理器1001在執行按照第二視頻編碼模式對所述第一圖像的透明度數據進行編碼,生成第二碼流資料時,具體執行:將所述第一圖像的透明度數據轉換為第二YUV資料;按照第二視頻編碼模式對所述第二YUV資料進行編碼,生成第二碼流資料。
在一個實施例中,所述處理器1001在執行將所述第一圖像的 透明度數據轉換為第二YUV資料時,具體執行:將所述第一圖像的透明度數據設定為第二YUV資料中的Y分量,且不設定所述第二YUV資料中的U分量和V分量;或者,將所述第一圖像的透明度數據設定為第二YUV資料中的Y分量,且將所述第二YUV資料中的U分量和V分量設定為預設資料。
在一個實施例中,所述處理器1001還執行以下步驟:若所述圖片檔為動態格式的圖片檔且所述第一圖像為所述圖片檔中的第k幀對應的圖像,則判斷所述第k幀是否為所述圖片檔中的最後一幀,其中,k為大於0的正整數;若所述第k幀不是所述圖片檔中的最後一幀,獲取所述圖片檔中的第(k+1)幀對應的第二圖像所對應的RGBA資料,並分離所述第二圖像對應的RGBA資料,以得到所述第二圖像的RGB資料和透明度數據;按照第三視頻編碼模式對所述第二圖像的RGB資料進行編碼,生成第三碼流資料;按照第四視頻編碼模式對所述第二圖像的透明度數據進行編碼,生成第四碼流資料;將所述第三碼流資料和所述第四碼流資料寫入所述圖片檔的碼流資料段中。
在一個實施例中,所述處理器1001還執行以下步驟:生成所述圖片檔對應的圖片頭資訊和幀頭資訊,其中,所述圖片頭資訊包括指示所述圖片檔是否存在透明度數據的圖像特徵資訊,所述幀頭資訊用於指示所述圖片檔的碼流資料段。
在一個實施例中,所述處理器1001還執行以下步驟:將所述圖片頭資訊寫入所述圖片檔的圖片頭資訊資料段中。
在一個實施例中,所述處理器1001還執行以下步驟:將所述幀頭資訊寫入所述圖片檔的幀頭資訊資料段中。
需要說明的是,本揭示實施例所描述的處理器1001所執行的步驟及帶來的有益效果可根據上述圖1c至圖8c所示方法實施例中的方法具體實現,此處不再贅述。
請參見圖16a,為本揭示實施例提供的一種解碼裝置的結構示意圖。如圖16a所示,本揭示實施例的所述解碼裝置2可以包括:第一資料獲取模組26、第一解碼模組21、第二解碼模組22和資料生成模組23。在本揭示實施例中的所述第一碼流資料和所述第二碼流資料是從圖片檔的碼流資料段中讀取的由所述第一圖像生成的資料。
第一資料獲取模組26,用於從圖片檔的碼流資料段中獲取由所述圖片檔中的第一圖像生成的第一碼流資料和第二碼流資料;第一解碼模組21,用於按照第一視頻解碼模式對第一碼流資料進行解碼,生成第一圖像的RGB資料;第二解碼模組22,用於按照第二視頻解碼模式對第二碼流資料進行解碼,生成所述第一圖像的透明度數據;資料生成模組23,用於根據所述第一圖像的所述RGB資料和所述透明度數據,生成所述第一圖像對應的RGBA資料。
在本揭示一些實施例中,如圖16b所示,所述第一解碼模組21,包括第一資料生成單元211和第一資料轉換單元212,其中: 第一資料生成單元211,用於按照第一視頻解碼模式對所述第一碼流資料進行解碼,生成第一圖像的第一YUV資料;第一資料轉換單元212,用於將所述第一YUV資料轉換為所述第一圖像的RGB資料。
在本揭示一些實施例中,如圖16c所示,所述第二解碼模組22,包括第二資料生成單元221和第二資料轉換單元222,其中:第二資料生成單元221,用於按照第二視頻解碼模式對所述第二碼流資料進行解碼,生成所述第一圖像的第二YUV資料;第二資料轉換單元222,用於將所述第二YUV資料轉換為所述第一圖像的透明度數據。
在本揭示一些實施例中,所述第二資料轉換單元222具體用於將所述第二YUV資料中的Y分量設定為所述第一圖像的所述透明度數據,且捨棄所述第二YUV資料中的U分量和V分量。
在本揭示一些實施例中,如圖16d所示,所述解碼裝置2還包括:第二資料獲取模組24,用於若所述圖片檔為動態格式的圖片檔且所述第一圖像為所述動態格式的圖片檔中的第k幀對應的圖像,則判斷所述第k幀是否為所述圖片檔中的最後一幀,其中,k為大於0的正整數;若所述第k幀不是所述圖片檔中的最後一幀,從所述圖片檔的碼流資料段中獲取由所述圖片檔中第(k+1)幀對應的第二圖像生成的第三碼流資料和第四碼流資料;所述第一解碼模組21,還用於按照第三視頻解碼模式對所述 第三碼流資料進行解碼,生成所述第二圖像的RGB資料;所述第二解碼模組22,還用於按照第四視頻解碼模式對所述第四碼流資料進行解碼,生成所述第二圖像的透明度數據;所述資料生成模組23,還用於根據所述第二圖像的所述RGB資料和所述透明度數據,生成所述第二圖像對應的RGBA資料。
在本揭示一些實施例中,如圖16e所示,所述解碼裝置2還包括檔解析模組25:所述檔解析模組25,用於解析圖片檔,得到所述圖片檔的圖片頭資訊和幀頭資訊,所述圖片頭資訊包括指示所述圖片檔是否存在透明度數據的圖像特徵資訊,所述幀頭資訊用於指示所述圖片檔的碼流資料段。
在本揭示一些實施例中,所述檔解析模組25具體用於從圖片檔的圖片頭資訊資料段中讀取所述圖片檔的圖片頭資訊。
在本揭示一些實施例中,所述檔解析模組25具體用於從圖片檔的幀頭資訊資料段中讀取所述圖片檔的幀頭資訊。
在本揭示一些實施例中,所述第一資料獲取模組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)20031、鍵盤(Keyboard)20032。如圖17所示,作為一種電腦可讀儲存介質的記憶體2005中可以包括作業系統20051、網路通信模組20052、使用者介面模組20053以及機器可讀指令20054,所述機器可讀指令20054包括解碼應用程式20055。
在圖17所示的解碼裝置2000中,處理器2001可以用於調用記憶體2005中儲存的解碼應用程式20055,並具體執行以下操作:從圖片檔的碼流資料段中獲取由所述圖片檔中的第一圖像生成的第一碼流資料和第二碼流資料;按照第一視頻解碼模式對第一碼流資料進行解碼,生成第一圖像的RGB資料;按照第二視頻解碼模式對第二碼流資料進行解碼,生成所述第一圖像的透明度數據;根據所述第一圖像的所述RGB資料和所述透明度數據,生 成所述第一圖像對應的RGBA資料;所述第一碼流資料和所述第二碼流資料是從圖片檔的碼流資料段中讀取的由所述第一圖像生成的資料。
在一個實施例中,所述處理器2001在執行按照第一視頻解碼模式對第一碼流資料進行解碼,生成第一圖像的RGB資料時,具體執行:按照第一視頻解碼模式對所述第一碼流資料進行解碼,生成第一圖像的第一YUV資料;將所述第一YUV資料轉換為所述第一圖像的RGB資料。
在一個實施例中,所述處理器2001在執行按照第二視頻解碼模式對第二碼流資料進行解碼,生成所述第一圖像的透明度數據時,具體執行:按照第二視頻解碼模式對所述第二碼流資料進行解碼,生成所述第一圖像的第二YUV資料;將所述第二YUV資料轉換為所述第一圖像的透明度數據。
在一個實施例中,所述處理器2001在執行將所述第二YUV資料轉換為所述第一圖像的透明度數據時,具體執行:將所述第二YUV資料中的Y分量設定為所述第一圖像的所述透明度數據,且捨棄所述第二YUV資料中的U分量和V分量。
在一個實施例中,所述處理器2001還執行以下步驟:若所述圖片檔為動態格式的圖片檔且所述第一圖像為所述動態格式的圖片檔中的第k幀對應的圖像,則判斷所述第k幀是否為所述圖片檔中的最後一幀,其中,k為大於0的正整數;若所述第k幀不是所述圖片 檔中的最後一幀,從所述圖片檔的碼流資料段中獲取由所述圖片檔中第(k+1)幀對應的第二圖像生成的第三碼流資料和第四碼流資料;按照第三視頻解碼模式對所述第三碼流資料進行解碼,生成所述第二圖像的RGB資料;按照第四視頻解碼模式對所述第四碼流資料進行解碼,生成所述第二圖像的透明度數據;根據所述第二圖像的所述RGB資料和所述透明度數據,生成所述第二圖像對應的RGBA資料。
在一個實施例中,所述處理器2001在執行按照第一視頻解碼模式對第一碼流資料進行解碼,生成第一圖像的RGB資料之前,還執行以下步驟:解析圖片檔,得到所述圖片檔的圖片頭資訊和幀頭資訊,所述圖片頭資訊包括指示所述圖片檔是否存在透明度數據的圖像特徵資訊,所述幀頭資訊用於指示所述圖片檔的碼流資料段。
在一個實施例中,所述處理器2001在執行解析圖片檔,得到所述圖片檔的圖片頭資訊時,具體執行:從圖片檔的圖片頭資訊資料段中讀取所述圖片檔的圖片頭資訊。
在一個實施例中,所述處理器2001在執行解析圖片檔,得到所述圖片檔的幀頭資訊時,具體執行:從圖片檔的幀頭資訊資料段中讀取所述圖片檔的幀頭資訊。
在一個實施例中,所述處理器2001還執行以下步驟:若通過 所述圖像特徵資訊確定所述圖片檔包含透明度數據,則讀取所述圖片檔中所述幀頭資訊指示的碼流資料段中的碼流資料,所述碼流資料包括第一碼流資料和第二碼流資料。
需要說明的是,本揭示實施例所描述的處理器2001所執行的步驟及帶來的有益效果可根據上述圖9至圖11所示方法實施例中的方法具體實現,此處不再贅述。
請參見圖18,為本揭示實施例提供的一種圖片檔處理裝置的結構示意圖。如圖18所示,本揭示實施例的所述圖片檔處理裝置3可以包括:資訊生成模組31。在本揭示一些實施例中,所述圖片檔處理裝置3還可以包括第一資訊寫入模組32、第二資訊寫入模組33、資料編碼模組34和資料寫入模組35中的至少一個。
資訊生成模組31,用於生成圖片檔對應的圖片頭資訊和幀頭資訊,所述圖片頭資訊包括指示所述圖片檔是否存在透明度數據的圖像特徵資訊,所述幀頭資訊用於指示所述圖片檔的碼流資料段。
在本揭示一些實施例中,所述圖片檔處理裝置3還包括:第一資訊寫入模組32,用於將所述圖片頭資訊寫入所述圖片檔的圖片頭資訊資料段中。
所述圖片檔處理裝置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)30031、鍵盤(Keyboard)30032。如圖19所示,作為一種電腦可讀儲存介質的記憶體3005中可以包括作業系統30051、網路通信模組30052、使用者介面模組30053以及機器可讀指令30054,所述機器可讀指令30054包含圖片檔處理應 用程式30055。
在圖19所示的圖片檔處理裝置3000中,處理器3001可以用於調用記憶體3005中儲存的圖片檔處理應用程式30055,並具體執行以下操作:生成圖片檔對應的圖片頭資訊和幀頭資訊,所述圖片頭資訊包括指示所述圖片檔是否存在透明度數據的圖像特徵資訊,所述幀頭資訊用於指示所述圖片檔的碼流資料段。
在一個實施例中,所述處理器3001還執行以下步驟:將所述圖片頭資訊寫入所述圖片檔的圖片頭資訊資料段中。
在一個實施例中,所述處理器3001還執行以下步驟:將所述幀頭資訊寫入所述圖片檔的幀頭資訊資料段中。
在一個實施例中,所述處理器3001還執行以下步驟:若根據所述圖像特徵資訊確定所述圖片檔包含透明度數據,則對所述圖片檔中包含的第一圖像對應的RGBA資料中包含的RGB資料進行編碼生成第一碼流資料,以及包含的透明度度數據進行編碼生成第二碼流資料;將所述第一碼流資料和所述第二碼流資料寫入所述第一圖像對應的幀頭資訊所指示的碼流資料段中。
需要說明的是,本揭示實施例所描述的處理器3001所執行的步驟及帶來的有益效果可根據上述圖12所示方法實施例中的方法具體實現,此處不再贅述。
請參見圖20,為本揭示實施例提供的一種圖片檔處理裝置的 結構示意圖。如圖20所示,本揭示實施例的所述圖片檔處理裝置4可以包括:檔解析模組41。在本揭示一些實施例中,所述圖片檔處理裝置4還可以包括資料讀取模組42和資料解碼模組43中的至少一個。
檔解析模組41,用於解析圖片檔,得到所述圖片檔的圖片頭資訊和幀頭資訊,所述圖片頭資訊包括指示所述圖片檔是否存在透明度數據的圖像特徵資訊,所述幀頭資訊用於指示所述圖片檔的碼流資料段。
在本揭示一些實施例中,所述檔解析模組41具體用於從圖片檔的圖片頭資訊資料段中讀取所述圖片檔的圖片頭資訊。
在本揭示一些實施例中,所述檔解析模組41具體用於從圖片檔的幀頭資訊資料段中讀取所述圖片檔的幀頭資訊。
在本揭示一些實施例中,所述圖片檔處理裝置4還包括資料讀取模組42和資料解碼模組43,其中:所述資料讀取模組42,用於若通過所述圖像特徵資訊確定所述圖片檔包含透明度數據,則讀取所述圖片檔中所述幀頭資訊指示的碼流資料段中的碼流資料,所述碼流資料包括第一碼流資料和第二碼流資料。
所述資料解碼模組43,用於對所述第一碼流資料和所述第二碼流資料分別進行解碼。
需要說明的是,本揭示實施例所描述的圖片檔處理裝置4所執行的模組及帶來的有益效果可根據上述圖13所示方法實施例中的方法具體實現,此處不再贅述。
請參見圖21,為本揭示實施例提供的另一種圖片檔處理裝置的結構示意圖。如圖21所示,所述圖片檔處理裝置4000可以包括:至少一 個處理器4001,例如CPU,至少一個網路介面4004,記憶體4005,至少一個通信匯流排4002。網路介面4004可以包括標準的有線介面、無線介面(如WI-FI介面)。記憶體4005可以是高速RAM記憶體,也可以是非不穩定的記憶體(non-volatile memory),例如至少一個磁碟記憶體。記憶體4005還可以是至少一個位於遠離前述處理器4001的儲存裝置。其中,通信匯流排4002用於實現這些元件之間的連接通信。在本揭示一些實施例中,所述圖片檔處理裝置4000包括使用者介面4003,其中,所述使用者介面4003可以包括顯示幕(Display)40031、鍵盤(Keyboard)40032。如圖21所示,作為一種電腦可讀儲存介質的記憶體4005中可以包括作業系統40051、網路通信模組40052、使用者介面模組40053以及機器可讀指令40054,所述機器可讀指令40054中包含圖片檔處理應用程式40055。
在圖21所示的圖片檔處理裝置4000中,處理器4001可以用於調用記憶體4005中儲存的圖片檔處理應用程式40055,並具體執行以下操作:解析圖片檔,得到所述圖片檔的圖片頭資訊和幀頭資訊,所述圖片頭資訊包括指示所述圖片檔是否存在透明度數據的圖像特徵資訊,所述幀頭資訊用於指示所述圖片檔的碼流資料段。
在一個實施例中,所述處理器4001在執行解析圖片檔,得到所述圖片檔的圖片頭資訊時,具體執行:從圖片檔的圖片頭資訊資料段中讀取所述圖片檔的圖片頭資訊。
在一個實施例中,所述處理器4001在執行解析圖片檔,得到 所述圖片檔的幀頭資訊時,具體執行:從圖片檔的幀頭資訊資料段中讀取所述圖片檔的幀頭資訊。
在一個實施例中,所述處理器4001還執行以下步驟:若通過所述圖像特徵資訊確定所述圖片檔包含透明度數據,則讀取所述圖片檔中所述幀頭資訊指示的碼流資料段中的碼流資料,所述碼流資料包括第一碼流資料和第二碼流資料;對所述第一碼流資料和所述第二碼流資料分別進行解碼。
需要說明的是,本揭示實施例所描述的處理器4001所執行的步驟及帶來的有益效果可根據上述圖13所示方法實施例中的方法具體實現,此處不再贅述。
請參見圖22,為本揭示實施例提供的一種圖片檔處理系統的系統架構圖。如圖22所示,該圖片檔處理系統5000包括編碼設備5001和解碼設備5002。
在本揭示一些實施例中,編碼設備5001可以是圖1c至圖8c所示的編碼裝置,或者也可以包含具有實現圖1c至圖8c所示的編碼裝置功能的編碼模組的終端設備;相應的,所述解碼設備5002可以是圖9至圖11所示的解碼裝置,或者,也可以包含具有實現圖9至圖11所示的解碼裝置功能的解碼模組的終端設備。
在本揭示另外一些實施例中,編碼設備5001可以是圖12所示的圖片檔處理裝置,或者也可以包含具有實現圖12所示的圖片檔處理裝置功能的圖片檔處理模組;相應的,解碼設備5002可以是圖13所示的圖片檔處理裝置,或者也可以包含具有實現圖13所示的圖片檔處理裝置的圖片檔 處理模組。
本揭示實施例中涉及的編碼裝置、解碼裝置、圖片檔處理裝置、終端設備可以包括平板電腦、手機、電子閱讀器、個人電腦(Personal Computer,PC)、筆記型電腦、車載設備、網路電視、可穿戴設備等設備,本揭示實施例對此不做限定。
進一步的,結合圖23和圖24對本揭示實施例涉及到的編碼設備5001和解碼設備5002進行具體介紹。圖23和圖24是從功能邏輯的角度更完整地展示了以上所示方法可能涉及到的其他方面,以方便讀者進一步理解本揭示記載的技術方案。請一併參見圖23,為本揭示實施例提供的一種編碼模組的示例圖。所述編碼設備5001可以包括圖23所示的編碼模組6000,而編碼模組6000可以包括:RGB資料和透明度數據分離子模組6001、第一視頻編碼模式子模組6002、第二視頻編碼模式子模組6003以及圖片頭資訊、幀頭資訊封裝子模組6004。其中,RGB資料和透明度數據分離子模組6001用於將圖片源格式中RGBA資料分離為RGB資料和透明度數據。第一視頻編碼模式子模組6002用於實現對RGB資料的編碼以生成第一碼流資料。第二視頻編碼模式子模組6003用於實現對透明度數據的編碼以生成第二碼流資料。圖片頭資訊、幀頭資訊封裝子模組6004用於生成包括第一碼流資料和第二碼流資料在內的碼流資料的圖片頭資訊和幀頭資訊以輸出壓縮圖像資料。
具體實現中,對於靜態格式的圖片檔而言,首先,編碼模組6000接收輸入的該圖片檔的RGBA資料,通過RGB資料和透明度數據分離子模組6001將RGBA資料劃分為RGB資料和透明度數據;接著,第一視頻編碼 模式子模組6002按照第一視頻編碼模式對RGB資料進行編碼,生成第一碼流資料;再接著,第二視頻編碼模式子模組6003按照第二視頻編碼模式對透明度數據進行編碼,生成第二碼流資料;接著,圖片頭資訊、幀頭資訊封裝子模組6004生成該圖片檔的圖片頭資訊和幀頭資訊,將第一碼流資料、第二碼流資料、幀頭資訊、圖片頭資訊寫入對應的資料段中,進而生成該RGBA資料對應的壓縮圖像資料。
對於動態格式的圖片檔而言,首先,編碼模組6000確定包含的幀數;接著,將每一幀的RGBA資料通過RGB資料和透明度數據分離子模組6001劃分為RGB資料和透明度數據,第一視頻編碼模式子模組6002按照第一視頻編碼模式對RGB資料進行編碼,生成第一碼流資料,以及第二視頻編碼模式子模組6003按照第二視頻編碼模式對透明度數據進行編碼,生成第二碼流資料,圖片頭資訊、幀頭資訊封裝子模組6004生成每一幀對應的幀頭資訊,將各個碼流資料和幀頭資訊寫入對應的資料段;最後,圖片頭資訊、幀頭資訊封裝子模組6004生成該圖片檔的圖片頭資訊,並將圖片頭資訊寫入對應的資料段,進而生成該RGBA資料對應的壓縮圖像資料。
在本揭示一些實施例中,壓縮圖像資料也可以採用壓縮碼流、圖像序列等名稱來描述,本揭示實施例對此不做限定。
請一併參見圖24,為本揭示實施例提供的一種解碼模組的示例圖。所述解碼設備5002可以包括圖24所示的解碼模組7000,所述解碼模組7000可以包括:圖片頭資訊及幀頭資訊解析子模組7001、第一視頻解碼模式子模組7002、第二視頻解碼模式子模組7003以及RGB資料和透明度數據合併子模組7004。其中,圖片頭資訊及幀頭資訊解析子模組7001用於對 圖片檔的壓縮圖像資料進行解析,以確定圖片頭資訊和幀頭資訊,該壓縮圖像資料是通過圖23所示的編碼模組完成編碼之後得到的資料。第一視頻解碼模式子模組7002用於實現對第一碼流資料的解碼,其中,第一碼流資料是由RGB資料生成的。第二視頻解碼模式子模組7003用於實現對第二碼流資料的解碼,其中,第二碼流資料是由透明度數據生成的。RGB資料和透明度數據合併子模組7004用於將RGB資料和透明度數據合併為RGBA資料,以輸出RGBA資料。
具體實現中,對於靜態格式的圖片檔而言,首先,解碼模組7000通過圖片頭資訊及幀頭資訊解析子模組7001解析圖片檔的壓縮圖像資料,得到圖片檔的圖片頭資訊和幀頭資訊,若根據圖片頭資訊確定圖片檔存在透明度數據,則從幀頭資訊指示的碼流資料段獲取第一碼流資料和第二碼流資料;接著,第一視頻解碼模式子模組7002按照第一視頻解碼模式對第一碼流資料進行解碼,生成RGB資料;再接著,第二視頻解碼模式子模組7003按照第二視頻解碼模式對第二碼流資料進行解碼,生成透明度數據;最後,RGB資料和透明度數據合併子模組7004將RGB資料和透明度數據進行合併,生成RGBA資料,並將RGBA資料輸出。
對於動態格式的圖片檔而言,首先,解碼模組7000通過圖片頭資訊及幀頭資訊解析子模組7001解析圖片檔的壓縮圖像資料,得到圖片檔的圖片頭資訊和幀頭資訊,確定圖片檔包含的幀數;接著,若根據圖片頭資訊確定圖片檔存在透明度數據,則從每一幀圖像的幀頭資訊指示的碼流資料段獲取第一碼流資料和第二碼流資料,第一視頻解碼模式子模組7002按照第一視頻解碼模式對每一幀圖像對應的第一碼流資料進行解碼, 生成RGB資料,以及第二視頻解碼模式子模組7003按照第二視頻解碼模式對每一幀圖像對應的第二碼流資料進行解碼,生成透明度數據;最後,RGB資料和透明度數據合併子模組7004將每一幀圖像的RGB資料和透明度數據進行合併,生成RGBA資料,並將該壓縮圖像資料包含的全部幀的RGBA資料輸出。
針對圖22所示的圖片檔處理系統,舉例來說,編碼設備5001可以將源格式的圖片檔按照圖23所示的編碼模組進行編碼並生成壓縮圖像資料,並將編碼之後的壓縮圖像資料傳輸至解碼設備5002,解碼設備5002接收到該壓縮圖像資料之後,按照圖24所示的解碼模組進行解碼,以得到該圖片檔對應的RGBA資料。其中,源格式的圖片檔可以包括但不限定於jpeg、png、gif等。
請參見圖25,為本揭示實施例提供的一種終端設備的結構示意圖。如圖25所示,所述終端設備8000包括編碼模組和解碼模組。在本揭示一些實施例中,編碼模組可以是具有實現圖1c至圖8c所示的編碼裝置功能的編碼模組;相應的,所述解碼模組可以是具有實現圖9至圖11所示的解碼裝置功能的解碼模組。在本揭示一些實施例中,編碼模組可以按照圖23所述的編碼模組6000實現編碼,解碼模組可以按照圖24所示的解碼模組7000實現解碼。具體的實現過程可以參考對應實施例的具體介紹,在此不再贅述。這樣,在一個終端設備可以實現對jpeg、png、gif等源格式的圖片檔進行編碼,以形成新格式的圖片檔,這樣,通過採用視頻編碼模式編碼能夠提高圖片檔的壓縮率,減小圖片檔的大小,因此可以提升圖片載入速度,節省網路傳輸頻寬以及儲存成本;另外,通過對圖片檔中的RGB資料和透 明度數據分別進行編碼,實現了在採用視頻編碼模式的同時保留了圖片檔中的透明度數據,保證了圖片檔的品質。在該終端設備還能夠對新格式的圖片檔進行解碼得到相應的RGBA資料,實現了採用視頻解碼模式解碼獲得RGB資料和透明度數據,保證了圖片檔的品質。
本領域普通技術人員可以理解實現上述實施例方法中的全部或部分流程,是可以通過電腦程式來指令相關的硬體來完成,所述的程式可儲存於一電腦可讀取儲存介質中,該程式在被處理器執行時,可包括如上述各方法的實施例的流程。其中,所述的儲存介質可為磁碟、光碟、唯讀儲存記憶體(Read-Only Memory,ROM)或隨機儲存記憶體(Random Access Memory,RAM)等。
雖然本揭示已用較佳實施例揭露如上,然其並非用以限定本揭示,本揭示所屬技術領域中具有通常知識者,在不脫離本揭示之精神和範圍內,當可作各種之更動與潤飾,因此本揭示之保護範圍當視後附之申請專利範圍所界定者為準。

Claims (21)

  1. 一種圖片檔處理方法,應用於一計算設備,包括:生成圖片檔對應的圖片頭資訊和幀頭資訊,其中,所述圖片頭資訊包括指示所述圖片檔是否存在透明度數據的圖像特徵資訊,所述幀頭資訊用於指示所述圖片檔的碼流資料段;獲取所述圖片檔中第一圖像對應的RGBA資料,並分離所述RGBA資料,以得到所述第一圖像的RGB資料和所述透明度數據,其中,所述RGB資料為所述RGBA資料包含的顏色資料,所述透明度數據為所述RGBA資料包含的透明度數據;對所述第一圖像的RGB資料進行編碼,生成第一碼流資料;對所述第一圖像的透明度數據進行編碼,生成第二碼流資料;將所述第一碼流資料和所述第二碼流資料合併。
  2. 如申請專利範圍第1項所述的方法,所述按照第一視頻編碼模式對所述第一圖像的RGB資料進行編碼,生成第一碼流資料,包括:將所述第一圖像的RGB資料轉換為第一YUV資料;按照所述第一視頻編碼模式對所述第一YUV資料進行編碼,生成第一碼流資料。
  3. 如申請專利範圍第1項所述的方法,所述按照第二視頻編碼模式對所述第一圖像的透明度數據進行編碼,生成第二碼流資料,包括:將所述第一圖像的透明度數據轉換為第二YUV資料;按照所述第二視頻編碼模式對所述第二YUV資料進行編碼,生成第二碼流資料。
  4. 如申請專利範圍第3項所述的方法,所述將所述第一圖像的透明度數據轉換為第二YUV資料,包括:將所述第一圖像的透明度數據設定為第二YUV資料中的Y分量,且不設定所述第二YUV資料中的U分量和V分量;或者,將所述第一圖像的透明度數據設定為第二YUV資料中的Y分量,且將所述第二YUV資料中的U分量和V分量設定為預設資料。
  5. 如申請專利範圍第1項所述的方法,還包括:若所述圖片檔為動態格式的圖片檔且所述第一圖像為所述圖片檔中的第k幀對應的圖像,則判斷所述第k幀是否為所述圖片檔中的最後一幀,其中,k為大於0的正整數;若所述第k幀不是所述圖片檔中的最後一幀,獲取所述圖片檔中的第(k+1)幀對應的第二圖像所對應的RGBA資料,並分離所述第二圖像對應的RGBA資料,以得到所述第二圖像的RGB資料和透明度數據;按照第三視頻編碼模式對所述第二圖像的RGB資料進行編碼,生成第三碼流資料;按照第四視頻編碼模式對所述第二圖像的透明度數據進行編碼,生成第四碼流資料;將所述第三碼流資料和所述第四碼流資料寫入所述圖片檔的碼流資料段中。
  6. 如申請專利範圍第1項所述的方法,還包括:將所述圖片頭資訊寫入所述圖片檔的圖片頭資訊資料段中;所述圖片頭資訊包括影像檔識別字、解碼器識別字、版本號和所述圖像特徵資訊;所述影像檔識別字用於表示所述圖片檔的類型,所述解碼器識別字用於表示所述圖片檔採用的編解碼標準的標識;所述版本號用於表示所述圖片檔採用的編解碼標準的檔次。
  7. 如申請專利範圍第6項所述的方法,所述圖像特徵資訊還包括所述圖像特徵資訊起始碼、所述圖像特徵資訊資料段長度、所述圖片檔是否為靜態格式的圖片檔、所述圖片檔是否為動態格式的圖片檔、所述圖片檔是否為無損編碼、所述圖片檔採用的YUV顏色空間值域、所述圖片檔的寬度、所述圖片檔的高度和用於指示若所述圖片檔為動態格式的圖片檔的幀數。
  8. 如申請專利範圍第1項所述的方法,還包括:將所述幀頭資訊寫入所述圖片檔的幀頭資訊資料段中;所述幀頭資訊包括所述幀頭資訊起始碼和用於指示若所述圖片檔為動態格式的圖片檔的延遲時間資訊。
  9. 如申請專利範圍第1至5任一項所述的方法,在獲取圖片檔中第一圖像對應的RGBA資料之前,還包括:將所述圖片頭資訊寫入所述圖片檔的圖片頭資訊資料段中;將所述幀頭資訊寫入所述圖片檔的幀頭資訊資料段中;若根據所述圖像特徵資訊確定所述圖片檔包含透明度數據,則執行獲取圖片檔中第一圖像對應的RGBA資料,並分離所述RGBA資料,以得到所述第一圖像的RGB資料和透明度數據的步驟。
  10. 如申請專利範圍第9項所述的方法,所述將所述第一碼流資料和所述第二碼流資料合併,包括:將所述第一碼流資料和所述第二碼流資料寫入所述第一圖像對應的幀頭資訊所指示的碼流資料段中。
  11. 一種圖片檔處理裝置,包括:處理器以及與所述處理器連接的記憶體,所述記憶體中儲存有可由所述處理器執行的機器可讀指令,所述處理器執行所述機器可讀指令完成以下操作:生成圖片檔對應的圖片頭資訊和幀頭資訊,其中,所述圖片頭資訊包括指示所述圖片檔是否存在透明度數據的圖像特徵資訊,所述幀頭資訊用於指示所述圖片檔的碼流資料段;獲取所述圖片檔中第一圖像對應的RGBA資料,並分離所述RGBA資料,以得到所述第一圖像的RGB資料和所述透明度數據,其中,所述RGB資料為所述RGBA資料包含的顏色資料,所述透明度數據為所述RGBA資料包含的透明度數據;對所述第一圖像的RGB資料進行編碼,生成第一碼流資料;對所述第一圖像的透明度數據進行編碼,生成第二碼流資料;將所述第一碼流資料和所述第二碼流資料合併。
  12. 如申請專利範圍第11項所述的裝置,所述按照第一視頻編碼模式對所述第一圖像的RGB資料進行編碼,生成第一碼流資料,包括:將所述第一圖像的RGB資料轉換為第一YUV資料;按照所述第一視頻編碼模式對所述第一YUV資料進行編碼,生成第一碼流資料。
  13. 如申請專利範圍第11項所述的裝置,所述按照第二視頻編碼模式對所述第一圖像的透明度數據進行編碼,生成第二碼流資料,包括:將所述第一圖像的透明度數據轉換為第二YUV資料;按照所述第二視頻編碼模式對所述第二YUV資料進行編碼,生成第二碼流資料。
  14. 如申請專利範圍第13項所述的裝置,所述將所述第一圖像的透明度數據轉換為第二YUV資料,包括:將所述第一圖像的透明度數據設定為第二YUV資料中的Y分量,且不設定所述第二YUV資料中的U分量和V分量;或者,將所述第一圖像的透明度數據設定為第二YUV資料中的Y分量,且將所述第二YUV資料中的U分量和V分量設定為預設資料。
  15. 如申請專利範圍第11項所述的裝置,所述處理器執行所述機器可讀指令完成以下操作:若所述圖片檔為動態格式的圖片檔且所述第一圖像為所述圖片檔中的第k幀對應的圖像,則判斷所述第k幀是否為所述圖片檔中的最後一幀,其中,k為大於0的正整數;若所述第k幀不是所述圖片檔中的最後一幀,獲取所述圖片檔中的第(k+1)幀對應的第二圖像所對應的RGBA資料,並分離所述第二圖像對應的RGBA資料,以得到所述第二圖像的RGB資料和透明度數據;按照第三視頻編碼模式對所述第二圖像的RGB資料進行編碼,生成第三碼流資料;按照第四視頻編碼模式對所述第二圖像的透明度數據進行編碼,生成第四碼流資料;將所述第三碼流資料和所述第四碼流資料寫入所述圖片檔的碼流資料段中。。
  16. 如申請專利範圍第11項所述的裝置,所述處理器執行所述機器可讀指令完成以下操作:將所述圖片頭資訊寫入所述圖片檔的圖片頭資訊資料段中;所述圖片頭資訊包括影像檔識別字、解碼器識別字、版本號和所述圖像特徵資訊;所述影像檔識別字用於表示所述圖片檔的類型,所述解碼器識別字用於表示所述圖片檔採用的編解碼標準的標識;所述版本號用於表示所述圖片檔採用的編解碼標準的檔次。
  17. 如申請專利範圍第16項所述的裝置,所述圖像特徵資訊還包括所述圖像特徵資訊起始碼、所述圖像特徵資訊資料段長度、所述圖片檔是否為靜態格式的圖片檔、所述圖片檔是否為動態格式的圖片檔、所述圖片檔是否為無損編碼、所述圖片檔採用的YUV顏色空間值域、所述圖片檔的寬度、所述圖片檔的高度和用於指示若所述圖片檔為動態格式的圖片檔的幀數。
  18. 如申請專利範圍第11項所述的裝置,還包括:將所述幀頭資訊寫入所述圖片檔的幀頭資訊資料段中;所述幀頭資訊包括所述幀頭資訊起始碼和用於指示若所述圖片檔為動態格式的圖片檔的延遲時間資訊。
  19. 如申請專利範圍第11至15任一項所述的裝置,在獲取圖片檔中第一圖像對應的RGBA資料之前,所述處理器執行所述機器可讀指令完成以下操作:將所述圖片頭資訊寫入所述圖片檔的圖片頭資訊資料段中;將所述幀頭資訊寫入所述圖片檔的幀頭資訊資料段中;若根據所述圖像特徵資訊確定所述圖片檔包含透明度數據,則執行獲取圖片檔中第一圖像對應的RGBA資料,並分離所述RGBA資料,以得到所述第一圖像的RGB資料和透明度數據的步驟。
  20. 如申請專利範圍第19項所述的裝置,所述將所述第一碼流資料和所述第二碼流資料合併,包括:將所述第一碼流資料和所述第二碼流資料寫入所述第一圖像對應的幀頭資訊所指示的碼流資料段中。
  21. 一種非易失性電腦可讀儲存介質,所述儲存介質中儲存有機器可讀指令,所述機器可讀指令用於使處理器執行如申請專利範圍第1至5任一項所述的方法。
TW107111918A 2017-04-08 2018-04-03 一種圖片檔處理方法、裝置及儲存介質 TWI677232B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201710225910.3A CN106937132B (zh) 2017-04-08 2017-04-08 一种图片文件处理方法
??201710225910.3 2017-04-08

Publications (2)

Publication Number Publication Date
TW201838410A TW201838410A (zh) 2018-10-16
TWI677232B true TWI677232B (zh) 2019-11-11

Family

ID=59425861

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107111918A TWI677232B (zh) 2017-04-08 2018-04-03 一種圖片檔處理方法、裝置及儲存介質

Country Status (4)

Country Link
US (1) US20200036983A1 (zh)
CN (2) CN109005426B (zh)
TW (1) TWI677232B (zh)
WO (1) WO2018184458A1 (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109005426B (zh) * 2017-04-08 2021-04-30 腾讯科技(深圳)有限公司 一种图片文件处理方法
CN109547849B (zh) * 2017-09-21 2022-06-07 腾讯科技(北京)有限公司 一种视频信息播放方法、装置、终端和计算机存储介质
CN108074272A (zh) * 2017-12-21 2018-05-25 珠海亿智电子科技有限公司 一种仿真图形混合处理的方法
CN110113615A (zh) * 2018-02-01 2019-08-09 腾讯科技(深圳)有限公司 图像编码方法、解码方法、装置、计算设备及存储介质
CN109271540B (zh) * 2018-09-26 2021-05-25 浙江万朋教育科技股份有限公司 一种结合图片有损压缩和记录透明度信息的实现方法
US11558778B2 (en) * 2019-06-07 2023-01-17 Qualcomm Incorporated Techniques for file aware communications
CN112070867A (zh) 2019-06-11 2020-12-11 腾讯科技(深圳)有限公司 动画文件处理方法、装置、计算机可读存储介质和计算机设备
WO2021237569A1 (zh) * 2020-05-28 2021-12-02 深圳市大疆创新科技有限公司 编码方法、解码方法、装置及系统
DE102021117548A1 (de) * 2020-07-16 2022-01-20 Samsung Electronics Co., Ltd. Bildsensormodul, bildverarbeitungssystem, und bildkomprimierungsverfahren
CN114173127A (zh) * 2020-08-23 2022-03-11 腾讯科技(深圳)有限公司 视频处理方法、装置、设备及存储介质
CN112037291B (zh) * 2020-08-31 2024-03-22 维沃移动通信有限公司 数据处理方法、装置和电子设备
CN112402958B (zh) * 2020-10-27 2022-05-13 腾讯科技(深圳)有限公司 一种图像处理方法、装置和存储介质
CN112529008A (zh) * 2020-11-03 2021-03-19 浙江大华技术股份有限公司 图像识别和图像特征处理方法、电子设备及存储介质
CN113473132B (zh) * 2021-07-26 2024-04-26 Oppo广东移动通信有限公司 透明视频压缩方法、装置、存储介质以及终端
CN113938572A (zh) * 2021-09-29 2022-01-14 广州虎牙科技有限公司 图片传输方法、显示方法、装置、电子设备及存储介质
CN114173157B (zh) * 2021-12-10 2022-12-16 广州博冠信息科技有限公司 视频流传输方法及装置、电子设备、存储介质
EP4231640A1 (en) * 2022-02-16 2023-08-23 Beijing Xiaomi Mobile Software Co., Ltd. Encoding/decoding video picture data
CN115550624B (zh) * 2022-12-02 2023-07-18 成都索贝数码科技股份有限公司 一种携带α通道值的HDMI视频数据传输方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101742317A (zh) * 2009-12-31 2010-06-16 北京中科大洋科技发展股份有限公司 一种带阿尔法透明通道的视频压缩编码方法
US20120275525A1 (en) * 2005-09-02 2012-11-01 Adobe Systems Incorporated System and Method for Compressing Video Data and Alpha Channel Data using a Single Stream

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
CN101540901B (zh) * 2008-03-20 2011-04-06 华为技术有限公司 编解码方法及装置
CN102036059A (zh) * 2009-09-25 2011-04-27 腾讯科技(深圳)有限公司 一种透明图像的压缩和解压缩方法、装置和系统
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
CN102724582B (zh) * 2012-05-31 2014-09-24 福州瑞芯微电子有限公司 基于用户界面对关键色进行显示的方法
CN102821279A (zh) * 2012-07-31 2012-12-12 北京天神互动科技有限公司 一种保留alpha通道的图片压缩方法
CN104349171B (zh) * 2013-07-31 2018-03-13 上海通途半导体科技有限公司 一种视觉无损的图像压缩编、解码装置及编、解码方法
KR20160026005A (ko) * 2014-08-29 2016-03-09 (주) 디아이지 커뮤니케이션 알파 채널을 포함하는 증강 현실 동영상의 압축 장치 및 방법
CN104333762B (zh) * 2014-11-24 2017-10-10 成都瑞博慧窗信息技术有限公司 一种视频解码方法
CN104980798B (zh) * 2015-07-14 2018-04-10 天脉聚源(北京)教育科技有限公司 一种远端视频显示方法及装置
CN105979282B (zh) * 2016-06-02 2019-08-06 腾讯科技(深圳)有限公司 一种动画帧处理方法、服务器、终端及系统
CN106375759B (zh) * 2016-08-31 2018-03-02 深圳超多维科技有限公司 一种视频图像数据的编、解码方法及装置
CN109005426B (zh) * 2017-04-08 2021-04-30 腾讯科技(深圳)有限公司 一种图片文件处理方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120275525A1 (en) * 2005-09-02 2012-11-01 Adobe Systems Incorporated System and Method for Compressing Video Data and Alpha Channel Data using a Single Stream
CN101742317A (zh) * 2009-12-31 2010-06-16 北京中科大洋科技发展股份有限公司 一种带阿尔法透明通道的视频压缩编码方法

Also Published As

Publication number Publication date
CN106937132B (zh) 2018-12-07
WO2018184458A1 (zh) 2018-10-11
CN109005426B (zh) 2021-04-30
CN109005426A (zh) 2018-12-14
CN106937132A (zh) 2017-07-07
TW201838410A (zh) 2018-10-16
US20200036983A1 (en) 2020-01-30

Similar Documents

Publication Publication Date Title
TWI677232B (zh) 一種圖片檔處理方法、裝置及儲存介質
TWI672939B (zh) 圖片文件處理方法、裝置及存儲介質
US11012489B2 (en) Picture file processing method, picture file processing device, and storage medium
TWI707309B (zh) 圖片文件處理方法、系統及儲存介質
US20200195936A1 (en) Devices and methods for identifying a leading picture
WO2020010997A1 (zh) 视频帧的提取方法、装置、计算机可读介质及电子设备
JP7053722B2 (ja) ビットストリーム内で、ldrピクチャのピクチャ/ビデオ・フォーマットと、このldrピクチャおよびイルミネーション・ピクチャから取得された復号済みのhdrピクチャのピクチャ/ビデオ・フォーマットとをシグナリングする方法および装置
JP6703032B2 (ja) 後方互換性拡張画像フォーマット
WO2017063168A1 (zh) 图像编码方法、装置以及图像处理设备
CN114079823A (zh) 基于Flutter的视频渲染方法、装置、设备及介质
WO2023138491A1 (zh) 一种图像采集方法、图像显示方法及装置
CN118214872A (zh) 一种超高清无损图像编解码方法和系统