TWI672939B - 圖片文件處理方法、裝置及存儲介質 - Google Patents
圖片文件處理方法、裝置及存儲介質 Download PDFInfo
- Publication number
- TWI672939B TWI672939B TW107111914A TW107111914A TWI672939B TW I672939 B TWI672939 B TW I672939B TW 107111914 A TW107111914 A TW 107111914A TW 107111914 A TW107111914 A TW 107111914A TW I672939 B TWI672939 B TW I672939B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- image
- stream data
- picture file
- file
- Prior art date
Links
- 238000012545 processing Methods 0.000 title claims abstract description 89
- 238000000034 method Methods 0.000 title claims abstract description 83
- 230000003068 static effect Effects 0.000 claims description 46
- 238000003672 processing method Methods 0.000 claims description 12
- 238000010586 diagram Methods 0.000 description 55
- 238000004891 communication Methods 0.000 description 20
- 238000006243 chemical reaction Methods 0.000 description 18
- 230000006835 compression Effects 0.000 description 12
- 238000007906 compression Methods 0.000 description 12
- 238000005538 encapsulation Methods 0.000 description 9
- 230000009286 beneficial effect Effects 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000000926 separation method Methods 0.000 description 6
- 239000000463 material Substances 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 239000012528 membrane Substances 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- 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/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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本申請實施例公開了一種圖片文件處理方法、裝置及存儲介質,其中方法包括:從圖片文件的碼流資料段中獲取由所述圖片文件中的第一圖像生成的第一碼流資料和第二碼流資料;按照第一視頻解碼模式對第一碼流資料進行解碼,生成第一圖像的RGB資料;按照第二視頻解碼模式對第二碼流資料進行解碼,生成所述第一圖像的透明度資料;根據所述第一圖像的所述RGB資料和所述透明度資料,生成所述第一圖像對應的RGBA資料。
Description
本申請涉及電腦技術領域,尤其涉及一種圖片文件處理方法、裝置及存儲介質。
隨著移動互聯網的發展,終端設備的下載流量大幅增長。使用者下載流量中,圖片文件流量佔據很大比例。大量的圖片文件也給網路傳輸頻寬負載帶來了很大的壓力。如果能將圖片文件大小減小,不但能提升載入速度,還能節省大量頻寬以及存儲成本。
本申請實施例提供了一種圖片文件處理方法、裝置及存儲介質,通過對第一碼流資料和第二碼流資料分別進行解碼獲得RGBA資料,實現了在採用視頻編解碼模式的同時保留了透明度資料,保證了圖片文件的品質。
本申請實施例提供了一種圖片文件處理方法,應用於一計算設備,包括:從圖片文件的碼流資料段中獲取由所述圖片文件中的第一圖像生成的第一碼流資料和第二碼流資料;按照第一視頻解碼模式對所述第一碼流資料進行解碼,生成所述第一圖像的RGB資料;按照第二視頻解 碼模式對所述第二碼流資料進行解碼,生成所述第一圖像的透明度資料;根據所述第一圖像的RGB資料和透明度資料,生成所述第一圖像對應的RGBA資料。
本申請實施例提供了一種圖片文件處理裝置,包括:處理器以及與所述處理器連接的記憶體,所述記憶體中存儲有可由所述處理器執行的機器可讀指令,所述處理器執行所述機器可讀指令完成以下操作:從圖片文件的碼流資料段中獲取由所述圖片文件中的第一圖像生成的第一碼流資料和第二碼流資料;按照第一視頻解碼模式對所述第一碼流資料進行解碼,生成所述第一圖像的RGB資料;按照第二視頻解碼模式對所述第二碼流資料進行解碼,生成所述第一圖像的透明度資料;根據所述第一圖像的RGB資料和透明度資料,生成所述第一圖像對應的RGBA資料。
本申請實施例提供了一種非揮發性電腦可讀存儲介質,所述存儲介質中存儲有機器可讀指令,所述機器可讀指令用於使處理器執行上述的方法。
10‧‧‧計算設備
20‧‧‧用戶終端
30‧‧‧網路
100011‧‧‧系統匯流排
100012‧‧‧處理器
100013‧‧‧非揮發性存儲介質
100014‧‧‧記憶體
1000131‧‧‧作業系統
1000132‧‧‧圖片文件處理裝置
101-104‧‧‧步驟
201-207‧‧‧步驟
301-307‧‧‧步驟
401-404‧‧‧步驟
501-507‧‧‧步驟
601-605‧‧‧步驟
701-705‧‧‧步驟
801-803‧‧‧步驟
1‧‧‧編碼裝置
11‧‧‧資料獲取模組
12‧‧‧第一編碼模組
13‧‧‧第二編碼模組
14‧‧‧資料寫入模組
121‧‧‧第一資料轉換單元
122‧‧‧第一碼流生成單元
131‧‧‧第二資料轉換單元
132‧‧‧第二碼流生成單元
15‧‧‧資訊生成膜組
1000‧‧‧編碼裝置
1001、2001‧‧‧處理器
1002、2002‧‧‧通訊匯流排
1003、2003‧‧‧使用者介面
1004、2004‧‧‧網路介面
1005、2005‧‧‧記憶體
10031、20031‧‧‧螢幕
10032、20032‧‧‧鍵盤
10051、20051‧‧‧作業系統
10052、20052‧‧‧網路通訊模組
10053、20053‧‧‧使用者介面模組
10054、20054‧‧‧機器可讀指令
10055‧‧‧編碼應用程式
2‧‧‧解碼裝置
21‧‧‧第一解碼模組
22‧‧‧第二解碼模組
23‧‧‧資料生成模組
24‧‧‧第二資料獲取膜組
25‧‧‧檔解析模組
26‧‧‧第一資料獲取模組
211‧‧‧第一資料生成單元
212‧‧‧第一資料轉換單元
221‧‧‧第二資料生成單元
222‧‧‧第二資料轉換單元
20055‧‧‧解碼應用程式
3‧‧‧圖片文件處理裝置
31‧‧‧資訊生成模組
32‧‧‧第一資訊寫入模組
33‧‧‧第二資訊寫入模組
34‧‧‧資料編碼模組
35‧‧‧資料寫入模組
3000‧‧‧圖片文件處理裝置
3001、4001‧‧‧處理器
3002、4002‧‧‧通訊匯流排
3003、4003‧‧‧使用者介面
3004、4004‧‧‧網路介面
3005、4005‧‧‧記憶體
30031、40031‧‧‧螢幕
30032、40032‧‧‧鍵盤
30051、40051‧‧‧作業系統
30052、40052‧‧‧網路通訊模組
30053、40053‧‧‧使用者介面模組
30054、40054‧‧‧機器可讀指令
4000‧‧‧圖片文件處理裝置
30055、40055‧‧‧圖片文件處理應用程式
4‧‧‧圖片文件處理裝置
41‧‧‧文件解析模組
42‧‧‧資料讀取模組
43‧‧‧資料解編碼模組
5000‧‧‧圖片文件處理系統
5001‧‧‧編碼設備
5002‧‧‧解碼設備
6000‧‧‧編碼模組
7000‧‧‧解碼模組
8000‧‧‧終端設備
6001‧‧‧RGB資料和透明度資料分離子模組
6002‧‧‧第一視頻編碼模式子模組
6003‧‧‧第二視頻編碼模式子模組
6004‧‧‧圖片頭資訊、幀頭資訊封裝子模組
7001‧‧‧圖片頭資訊、幀頭資訊解析子模組
7002‧‧‧第一視頻解碼模式子模組
7003‧‧‧第二視頻解碼模式子模組
7004‧‧‧RGB資料和透明度資料合併子模組
為了更清楚地說明本申請實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
第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 AAAAAA……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 RGBARGBA……RGBA
因此,所述編碼裝置需要對第一圖像的RGBA資料進行分 離,以獲得第一圖像的RGB資料和透明度資料,例如,將上述N個圖元點組成的第一圖像執行分離操作之後,獲得N個圖元點中每個圖元點的RGB資料和每個圖元點的透明度資料,其形式如下:RGB RGB RGB RGB RGB RGB……RGB AAAAAA……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 AAAAAA……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資料中的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 AAAAAA……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 AAAAAA……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-F1介面)。記憶體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 (24)
- 一種圖片文件處理方法,應用於一計算設備,包括:從圖片文件的碼流資料段中獲取由所述圖片文件中的第一圖像生成的第一碼流資料和第二碼流資料;對所述第一碼流資料進行解碼,生成所述第一圖像的RGB資料;對所述第二碼流資料進行解碼,生成所述第一圖像的透明度資料;根據所述第一圖像的RGB資料和透明度資料,生成所述第一圖像對應的RGBA資料;其中,所述圖片文件包括:圖片頭資訊的圖片頭資訊資料段、所述第一碼流資料和第二碼流資料的碼流資料段,所述圖片頭資訊包括圖像特徵資訊資料段,所述圖像特徵資訊資料段包括圖像透明度標誌。
- 根據申請專利範圍第1項所述之方法,其中對所述第一碼流資料進行解碼,生成所述第一圖像的RGB資料,包括:按照所述第一視頻解碼模式對所述第一碼流資料進行解碼,生成所述第一圖像的第一YUV資料;將所述第一YUV資料轉換為所述第一圖像的RGB資料。
- 根據申請專利範圍第1項所述之方法,其中對所述第二碼流資料進行解碼,生成所述第一圖像的透明度資料,包括:對所述第二碼流資料進行解碼,生成所述第一圖像的第二YUV資料;將所述第二YUV資料轉換為所述第一圖像的透明度資料。
- 根據申請專利範圍第3項所述之方法,其中所述將所述第二YUV資料轉換為所述第一圖像的透明度資料,包括;將所述第二YUV資料中的Y分量設定為所述第一圖像的所述透明度資料,且捨棄所述第二YUV資料中的U分量和V分量。
- 根據申請專利範圍第1項所述之方法,還包括:若所述圖片文件為動態格式的圖片文件且所述第一圖像為所述圖片文件中的第k幀對應的圖像,則判斷所述第k幀是否為所述圖片文件中的最後一幀,其中,k為大於0的正整數;若所述第k幀不是所述圖片文件中的最後一幀,從所述圖片文件的碼 流資料段中獲取由所述圖片文件中第(k+1)幀對應的第二圖像生成的第三碼流資料和第四碼流資料;按照第三視頻解碼模式對所述第三碼流資料進行解碼,生成所述第二圖像的RGB資料;按照第四視頻解碼模式對所述第四碼流資料進行解碼,生成所述第二圖像的透明度資料;根據所述第二圖像的RGB資料和透明度資料,生成所述第二圖像對應的RGBA資料。
- 根據申請專利範圍第1-5項任一項所述之方法,其中所述從圖片文件的碼流資料段中獲取由所述圖片文件中的第一圖像生成的第一碼流資料和第二碼流資料之前,還包括:解析所述圖片文件,得到所述圖片文件的圖片頭資訊和幀頭資訊,其中,所述幀頭資訊用於指示所述圖片文件的碼流資料段。
- 根據申請專利範圍第6項所述之方法,其中所述解析圖片文件,得到所述圖片文件的圖片頭資訊,包括;從圖片文件的圖片頭資訊資料段中讀取所述圖片文件的圖片頭資訊;所述圖片頭資訊包括影像檔識別字、解碼器識別字、版本號和所述圖像特徵資訊;所述影像檔識別字用於表示所述圖片文件的類型,所述解碼器識別字用於表示所述圖片文件採用的編解碼標準的標識;所述版本號用於表示所述圖片文件採用的編解碼標準的檔次。
- 根據申請專利範圍第7項所述之方法,其中所述圖像特徵資訊還包括所述圖像特徵資訊起始碼、所述圖像特徵資訊資料段長度、所述圖片文件是否為靜態格式的圖片文件、所述圖片文件是否為動態格式的圖片文件、所述圖片文件是否為無損編碼、所述圖片文件採用的YUV顏色空間值域、所述圖片文件的寬度、所述圖片文件的高度和用於指示若所述圖片文件為動態格式的圖片文件的幀數。
- 根據申請專利範圍第6項所述之方法,其中所述解析圖片文件,得到所述圖片文件的幀頭資訊,包括:從圖片文件的幀頭資訊資料段中讀取所述圖片文件的幀頭資訊;所述幀頭資訊包括所述幀頭資訊起始碼和用於指示若所述圖片文件為 動態格式的圖片文件的延遲時間資訊。
- 根據申請專利範圍第9項所述之方法,其中所述從圖片文件的碼流資料段中獲取由所述圖片文件中的第一圖像生成的第一碼流資料和第二碼流資料,包括:若通過所述圖像特徵資訊確定所述圖片文件包含透明度資料,則讀取所述幀頭資訊指示的碼流資料段中的碼流資料,其中,所述碼流資料包括所述第一碼流資料和所述第二碼流資料。
- 一種圖片文件處理裝置,包括:處理器以及與所述處理器連接的記憶體,所述記憶體中存儲有可由所述處理器執行的機器可讀指令,所述處理器執行所述機器可讀指令完成以下操作:從圖片文件的碼流資料段中獲取由所述圖片文件中的第一圖像生成的第一碼流資料和第二碼流資料,其中,所述圖片文件包括:圖片頭資訊的圖片頭資訊資料段、所述第一碼流資料和第二碼流資料的碼流資料段,所述圖片頭資訊包括圖像特徵資訊資料段,所述圖像特徵資訊資料段包括圖像透明度標誌;對所述第一碼流資料進行解碼,生成所述第一圖像的RGB資料;對所述第二碼流資料進行解碼,生成所述第一圖像的透明度資料;根據所述第一圖像的RGB資料和透明度資料,生成所述第一圖像對應的RGBA資料。
- 根據申請專利範圍第11項所述之裝置,其中所述對所述第一碼流資料進行解碼,生成所述第一圖像的RGB資料,包括:按照所述第一視頻解碼模式對所述第一碼流資料進行解碼,生成所述第一圖像的第一YUV資料;將所述第一YUV資料轉換為所述第一圖像的RGB資料。
- 根據申請專利範圍第11項所述之裝置,其中所述對所述第二碼流資料進行解碼,生成所述第一圖像的透明度資料,包括:按照所述第二視頻解碼模式對所述第二碼流資料進行解碼,生成所述第一圖像的第二YUV資料;將所述第二YUV資料轉換為所述第一圖像的透明度資料。
- 根據申請專利範圍第13項所述之裝置,其中所述將所述第二YUV資料轉換為所述第一圖像的透明度資料,包括:將所述第二YUV資料中的Y分量設定為所述第一圖像的所述透明度資料,且捨棄所述第二YUV資料中的U分量和V分量。
- 根據申請專利範圍第11項所述之裝置,其中所述處理器執行所述機器可讀指令完成以下操作:若所述圖片文件為動態格式的圖片文件且所述第一圖像為所述圖片文件中的第k幀對應的圖像,則判斷所述第k幀是否為所述圖片文件中的最後一幀,其中,k為大於0的正整數;若所述第k幀不是所述圖片文件中的最後一幀,從所述圖片文件的碼流資料段中獲取由所述圖片文件中第(k+1)幀對應的第二圖像生成的第三碼流資料和第四碼流資料;按照第三視頻解碼模式對所述第三碼流資料進行解碼,生成所述第二圖像的RGB資料;按照第四視頻解碼模式對所述第四碼流資料進行解碼,生成所述第二圖像的透明度資料;根據所述第二圖像的RGB資料和透明度資料,生成所述第二圖像對應的RGBA資料。
- 根據申請專利範圍第11-15項任一項所述之裝置,其中所述從圖片文件的碼流資料段中獲取由所述圖片文件中的第一圖像生成的第一碼流資料和第二碼流資料之前,還包括:解析所述圖片文件,得到所述圖片文件的圖片頭資訊和幀頭資訊,其中,所述幀頭資訊用於指示所述圖片文件的碼流資料段。
- 根據申請專利範圍第16項所述之裝置,其中所述解析圖片文件,得到所述圖片文件的圖片頭資訊,包括:從圖片文件的圖片頭資訊資料段中讀取所述圖片文件的圖片頭資訊;所述圖片頭資訊包括影像檔識別字、解碼器識別字、版本號和所述圖像特徵資訊;所述影像檔識別字用於表示所述圖片文件的類型,所述解碼器識別字用於表示所述圖片文件採用的編解碼標準的標識;所述版本號用於表示所述圖片文件採用的編解碼標準的檔次。
- 根據申請專利範圍第17項所述之裝置,其中所述圖像特徵資訊還包括所述圖像特徵資訊起始碼、所述圖像特徵資訊資料段長度、所述圖片文件是否為靜態格式的圖片文件、所述圖片文件是否為動態格式的圖片文件、所述圖片文件是否為無損編碼、所述圖片文件採用的YUV顏色空間值域、所述圖片文件的寬度、所述圖片文件的高度和用於指示若所述圖片文件為動態格式的圖片文件的幀數。
- 根據申請專利範圍第16項所述之裝置,其中所述解析圖片文件,得到所述圖片文件的幀頭資訊,包括:從圖片文件的幀頭資訊資料段中讀取所述圖片文件的幀頭資訊;所述幀頭資訊包括所述幀頭資訊起始碼和用於指示若所述圖片文件為動態格式的圖片文件的延遲時間資訊。
- 根據申請專利範圍第19項所述之裝置,其中所述從圖片文件的碼流資料段中獲取由所述圖片文件中的第一圖像生成的第一碼流資料和第二碼流資料,包括:若通過所述圖像特徵資訊確定所述圖片文件包含透明度資料,則讀取所述幀頭資訊指示的碼流資料段中的碼流資料,其中,所述碼流資料包括所述第一碼流資料和所述第二碼流資料。
- 一種非揮發性電腦可讀存儲介質,所述存儲介質中存儲有機器可讀指令,所述機器可讀指令用於使處理器執行如申請專利範圍第1至10項任一項所述的方法。
- 一種圖片文件處理方法,其包括:從圖片文件的碼流資料段中讀取第一碼流資料和所述第二碼流資料;對第一碼流資料進行解碼,生成第一圖像的RGB資料;對第二碼流資料進行解碼,生成所述第一圖像的Alpha資料;根據所述第一圖像的所述RGB資料和所述Alpha資料,生成所述第一圖像對應的RGBA資料;其中,所述圖片文件還包括圖片頭資訊資料段,所述圖片頭資訊資料段包括圖像特徵資訊資料段,所述圖像特徵資訊資料段包括圖像透明度標誌。
- 一種圖片文件處理方法,其包括:生成圖片文件對應的圖片頭資訊資料段、關於顏色資料的第一碼流資料段和關於透明度資料的第二碼流資料段;其中,所述第一碼流資料段包括顏色幀頭和顏色幀資料,所述第二碼流資料段包括透明通道幀頭和透明通道幀資料;所述圖片頭資訊資料段包括圖像特徵資訊資料段,所述圖像特徵資訊資料段包括圖像透明度標誌。
- 一種圖片文件處理方法,其包括:解析圖片文件,得到所述圖片文件的圖片頭資訊、顏色幀頭資訊和透明通道幀頭,所述圖片頭資訊包括圖像特徵資訊以用於指示所述圖片文件是否存在透明度資料;所述圖片文件包括:所述圖片頭資訊的圖片頭資訊資料段、所述顏色幀頭資訊的幀頭資訊資料段、所述透明通道幀頭的幀頭資訊資料段、關於顏色資料的第一碼流資料和關於透明度資料的第二碼流資料的碼流資料段。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710225913.7A CN107071516B (zh) | 2017-04-08 | 2017-04-08 | 一种图片文件处理方法 |
??201710225913.7 | 2017-04-08 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201838409A TW201838409A (zh) | 2018-10-16 |
TWI672939B true TWI672939B (zh) | 2019-09-21 |
Family
ID=59602473
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW107111914A TWI672939B (zh) | 2017-04-08 | 2018-04-03 | 圖片文件處理方法、裝置及存儲介質 |
Country Status (3)
Country | Link |
---|---|
CN (2) | CN107071516B (zh) |
TW (1) | TWI672939B (zh) |
WO (1) | WO2018184464A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107071516B (zh) * | 2017-04-08 | 2018-12-21 | 腾讯科技(深圳)有限公司 | 一种图片文件处理方法 |
CN108322722B (zh) * | 2018-01-24 | 2020-01-21 | 阿里巴巴集团控股有限公司 | 基于增强现实的图像处理方法、装置及电子设备 |
CN109309868B (zh) * | 2018-08-19 | 2019-06-18 | 上海极链网络科技有限公司 | 视频文件配置解析系统 |
EP3734973B1 (en) * | 2019-05-02 | 2023-07-05 | Sick IVP AB | Method and encoder relating to encoding of pixel values to accomplish lossless compression of a digital image |
CN112070867A (zh) | 2019-06-11 | 2020-12-11 | 腾讯科技(深圳)有限公司 | 动画文件处理方法、装置、计算机可读存储介质和计算机设备 |
CN113994708A (zh) * | 2020-05-28 | 2022-01-28 | 深圳市大疆创新科技有限公司 | 编码方法、解码方法、装置及系统 |
EP4231640A1 (en) * | 2022-02-16 | 2023-08-23 | Beijing Xiaomi Mobile Software Co., Ltd. | Encoding/decoding video picture data |
WO2023210594A1 (ja) * | 2022-04-27 | 2023-11-02 | ヌヴォトンテクノロジージャパン株式会社 | 画像符号化装置及び画像符号化方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101742317A (zh) * | 2009-12-31 | 2010-06-16 | 北京中科大洋科技发展股份有限公司 | 一种带阿尔法透明通道的视频压缩编码方法 |
CN102036059A (zh) * | 2009-09-25 | 2011-04-27 | 腾讯科技(深圳)有限公司 | 一种透明图像的压缩和解压缩方法、装置和系统 |
CN104333762A (zh) * | 2014-11-24 | 2015-02-04 | 成都瑞博慧窗信息技术有限公司 | 一种视频解码方法 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
CN101540901B (zh) * | 2008-03-20 | 2011-04-06 | 华为技术有限公司 | 编解码方法及装置 |
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 | 福州瑞芯微电子有限公司 | 基于用户界面对关键色进行显示的方法 |
CN102724471A (zh) * | 2012-06-11 | 2012-10-10 | 宇龙计算机通信科技(深圳)有限公司 | 图片和视频的转换方法和装置 |
US20150074735A1 (en) * | 2013-09-06 | 2015-03-12 | Seespace Ltd. | Method and Apparatus for Rendering Video Content Including Secondary Digital Content |
KR20160026005A (ko) * | 2014-08-29 | 2016-03-09 | (주) 디아이지 커뮤니케이션 | 알파 채널을 포함하는 증강 현실 동영상의 압축 장치 및 방법 |
CN104980798B (zh) * | 2015-07-14 | 2018-04-10 | 天脉聚源(北京)教育科技有限公司 | 一种远端视频显示方法及装置 |
CN106375759B (zh) * | 2016-08-31 | 2018-03-02 | 深圳超多维科技有限公司 | 一种视频图像数据的编、解码方法及装置 |
CN107071516B (zh) * | 2017-04-08 | 2018-12-21 | 腾讯科技(深圳)有限公司 | 一种图片文件处理方法 |
-
2017
- 2017-04-08 CN CN201710225913.7A patent/CN107071516B/zh active Active
- 2017-04-08 CN CN201811273801.XA patent/CN109040789B/zh active Active
-
2018
- 2018-03-19 WO PCT/CN2018/079442 patent/WO2018184464A1/zh active Application Filing
- 2018-04-03 TW TW107111914A patent/TWI672939B/zh active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102036059A (zh) * | 2009-09-25 | 2011-04-27 | 腾讯科技(深圳)有限公司 | 一种透明图像的压缩和解压缩方法、装置和系统 |
CN101742317A (zh) * | 2009-12-31 | 2010-06-16 | 北京中科大洋科技发展股份有限公司 | 一种带阿尔法透明通道的视频压缩编码方法 |
CN104333762A (zh) * | 2014-11-24 | 2015-02-04 | 成都瑞博慧窗信息技术有限公司 | 一种视频解码方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107071516B (zh) | 2018-12-21 |
CN109040789B (zh) | 2021-05-28 |
CN107071516A (zh) | 2017-08-18 |
TW201838409A (zh) | 2018-10-16 |
WO2018184464A1 (zh) | 2018-10-11 |
CN109040789A (zh) | 2018-12-18 |
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) | 圖片文件處理方法、系統及儲存介質 | |
US20210004604A1 (en) | Video frame extraction method and apparatus, computer-readable medium | |
US20200195936A1 (en) | Devices and methods for identifying a leading picture | |
JP6703032B2 (ja) | 後方互換性拡張画像フォーマット | |
WO2011035658A1 (zh) | 一种透明图像的压缩和解压缩方法、装置和系统 | |
US20240323544A1 (en) | Image capture method, image display method, and apparatus | |
CN113099232B (zh) | 视频解码方法、装置、电子设备及计算机存储介质 | |
CN118214872A (zh) | 一种超高清无损图像编解码方法和系统 | |
CN117221740A (zh) | 一种图片的处理方法及相关设备 | |
TW202408219A (zh) | 影像處理方法及影像處理裝置 | |
CN114760525A (zh) | 视频生成及播放方法、装置、设备、介质 | |
TW202005378A (zh) | 操作影像處理裝置的方法及影像處理裝置 |