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

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

Info

Publication number
TW201838416A
TW201838416A TW107111915A TW107111915A TW201838416A TW 201838416 A TW201838416 A TW 201838416A TW 107111915 A TW107111915 A TW 107111915A TW 107111915 A TW107111915 A TW 107111915A TW 201838416 A TW201838416 A TW 201838416A
Authority
TW
Taiwan
Prior art keywords
color
data
rgb
color table
table information
Prior art date
Application number
TW107111915A
Other languages
English (en)
Other versions
TWI672942B (zh
Inventor
羅斌姬
Original Assignee
大陸商騰訊科技(深圳)有限公司
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 大陸商騰訊科技(深圳)有限公司 filed Critical 大陸商騰訊科技(深圳)有限公司
Publication of TW201838416A publication Critical patent/TW201838416A/zh
Application granted granted Critical
Publication of TWI672942B publication Critical patent/TWI672942B/zh

Links

Classifications

    • 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/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/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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Image Processing (AREA)
  • Color Image Communication Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

本發明實施例公開一種圖片檔處理方法及其設備,其中方法包括如下步驟:接收發送端發送的針對原始圖片檔的轉碼碼流,解析所述轉碼碼流以獲取圖片檔的圖片頭資訊資料段和碼流資料,所述碼流資料為所述發送端對YUV資料進行編碼生成的資訊,所述YUV資料為所述發送端對圖片檔中每幀圖像進行轉換生成的資料;根據所述碼流資料生成所述YUV資料,並基於所述圖片頭資訊資料段對所述YUV資料進行處理以生成所述圖片檔。採用本發明,可以縮小圖片檔在傳輸過程中的檔資料量,降低頻寬成本。

Description

圖片檔處理方法、裝置及儲存介質
本發明涉及電腦技術領域,尤其涉及一種圖片檔處理方法、裝置及儲存介質。
圖片檔是由連續多幀圖像組成的動畫圖像,隨著電腦技術的不斷發展,圖片檔由於其具備動態展示的效果,得到了廣泛的運用,例如:即時通信、網頁展示等,然而由於圖片檔的內容較為複雜,導致圖片檔的檔資料量較大,需要耗費較大的頻寬進行傳輸,增加了頻寬成本。
本發明實施例提供一種圖片檔處理方法及其設備,可以縮小圖片檔在傳輸過程中的檔資料量,降低頻寬成本。
本發明實施例提供了一種圖片檔處理方法,應用於計算設備,可包括:接收發送設備發送的針對原始圖片檔的轉碼碼流,解析所述轉碼碼流以獲取圖片頭資訊資料段和碼流資料,所述圖片頭資訊資料段包括所述原始圖片檔的顏色表,所述碼流資料為所述發送設備對所述原始圖片檔中各圖元的第一色彩資料進行編碼生成的資訊; 解碼所述碼流資料以生成第二色彩資料,並基於所述顏色表對所述第二色彩資料進行處理以生成第二圖片檔。
本發明實施例還提供了一種圖片檔處理方法,應用於計算設備,可包括:獲取第一圖片檔的色彩資料,所述色彩資料包括各圖元點的色彩值;獲取初始顏色表,所述初始顏色表中各色彩值按照一個色彩分量的值的預設排序方式排列;根據所述各圖元點的色彩值中所述色彩分量的值在所述初始顏色表中搜索各圖元點在所述初始顏色表中對應的初始色彩值,利用所述初始色彩值對所述各圖元點的所述色彩值進行更新;將更新後的所述色彩資料進行圖像編碼以生成所述第二圖片檔。
本發明實施例還提供了一種圖片檔處理方法,應用於計算設備,可包括:接收發送端發送的針對原始圖片檔的轉碼碼流,解析所述轉碼碼流以獲取圖片檔的圖片頭資訊資料段和碼流資料,所述碼流資料為所述發送端對YUV(Y為亮度分量,UV為色度分量,YUV為一種視頻資料格式)資料進行編碼生成的資訊,所述YUV資料為所述發送端對圖片檔中每幀圖像進行轉換生成的資料;根據所述碼流資料生成所述YUV資料,並基於所述圖片頭資訊資料段對所述YUV資料進行處理以生成所述圖片檔。
本發明實施例還提供了一種圖片檔處理方法,可包括:根據原始圖片檔生成圖片檔的圖片頭資訊資料段,並將圖片檔中每幀圖像轉換為YUV資料;對所述YUV資料進行編碼以生成碼流資料;儲存轉碼碼流,所述轉碼碼流包含所述圖片頭資訊資料段和所述碼流資料;解析所述轉碼碼流以獲取所述圖片頭資訊資料段和所述碼流資料;根據所述碼流資料生成所述YUV資料,並基於所述圖片頭資訊資料段對所述YUV資料進行處理以生成所述圖片檔。
本發明實施例還提供了一種圖片檔處理方法,應用於計算設備,可包括:獲取對原始圖片檔解碼生成的三原色(Red Green Blue,RGB)資料,獲取RGB資料中的各圖元點的RGB值;採用各圖元點的RGB值對RGB資料的初始顏色表資訊進行訓練以生成RGB資料的局部顏色表資訊;採用RGB資料的局部顏色表資訊對各圖元點的RGB值進行更新。
本發明實施例還提供了一種圖片檔處理裝置,可包括處理器和記憶體,所述記憶體中儲存有電腦可讀指令,可以使所述處理器:獲取針對原始圖片檔的轉碼碼流,解析所述轉碼碼流以獲取圖片頭資訊資料段和碼流資料,所述圖片頭資訊資料段包括所述原始圖片 檔的顏色表,所述碼流資料為所述發送設備對所述原始圖片檔中各圖元的第一色彩資料進行編碼生成的資訊;解碼所述碼流資料生成第二色彩資料,並基於所述顏色表對所述第二色彩資料進行處理以生成第二圖片檔。
本發明實施例還提供了一種圖片檔處理裝置,可包括:處理器和記憶體,所述記憶體中儲存有電腦可讀指令,可以使所述處理器:獲取第一圖片檔的色彩資料,所述色彩資料包括各圖元點的色彩值;獲取初始顏色表,所述初始顏色表中各色彩值按照一個色彩分量的值的預設排序方式排列;根據所述各圖元點的色彩值中所述色彩分量的值在所述初始顏色表中搜索各圖元點在所述初始顏色表中對應的初始色彩值,利用所述初始色彩值對所述各圖元點的所述色彩值進行更新;將更新後的所述色彩資料進行圖像編碼以生成所述第二圖片檔。
本發明實施例還提供了一種電腦可讀儲存介質,儲存有電腦可讀指令,可以使處理器執行各實施例的方法。
在本發明實施例中,在接收到轉碼碼流時,可以根據碼流資料生成第二色彩資料,再基於顏色表對所述第二色彩資料進行處理生成第二圖片檔。通過在所述碼流中附有顏色表,可以縮短生成及顯示所述第二圖片檔的時間,並且降低生成所述第二圖片檔的複雜度。通過使用按照一色彩分量進行排序的顏色表對圖片檔的色彩資料進行處理,可以縮短顏色 表的搜索時間,提高處理效率。
S101A~S102A‧‧‧步驟
S101B~S105B‧‧‧步驟
S201~S208‧‧‧步驟
S2001~S2009‧‧‧步驟
S301~S303‧‧‧步驟
S401~S404‧‧‧步驟
S501~S502‧‧‧步驟
S601~S604‧‧‧步驟
S701~S705‧‧‧步驟
S801~S807‧‧‧步驟
S901~S907‧‧‧步驟
S1001~S1009‧‧‧步驟
S1101~S1112‧‧‧步驟
S1201A~S1204A‧‧‧步驟
S1201B~S1204B‧‧‧步驟
S1301~S1306‧‧‧步驟
1‧‧‧圖片檔處理設備
11‧‧‧圖像轉換單元
12‧‧‧圖像壓縮單元
13‧‧‧碼流發送單元
111‧‧‧圖像解碼子單元
112‧‧‧圖像轉換子單元
1000‧‧‧圖片檔處理設備
1001‧‧‧處理器
1002‧‧‧通信匯流排
1003‧‧‧使用者介面
1004‧‧‧網路介面
1005‧‧‧記憶體
2‧‧‧圖片檔處理設備
21‧‧‧資訊獲取單元
22‧‧‧圖像編碼單元
221‧‧‧圖像轉換子單元
222‧‧‧圖元點更新子單元
223‧‧‧圖像編碼子單元
2000‧‧‧圖片檔處理設備
2001‧‧‧處理器
2002‧‧‧通信匯流排
2003‧‧‧使用者介面
2004‧‧‧網路介面
2005‧‧‧記憶體
1‧‧‧發送端
2‧‧‧接收端
3‧‧‧圖片檔處理設備
31‧‧‧圖像轉換單元
32‧‧‧圖像壓縮單元
33‧‧‧碼流生成單元
34‧‧‧資訊獲取單元
35‧‧‧圖像編碼單元
311‧‧‧圖像解碼子單元
312‧‧‧圖像轉換子單元
351‧‧‧圖像轉換子單元
352‧‧‧圖元點更新子單元
353‧‧‧圖像編碼子單元
3000‧‧‧圖片檔處理設備
3001‧‧‧處理器
3002‧‧‧通信匯流排
3003‧‧‧使用者介面
3004‧‧‧網路介面
3005‧‧‧記憶體
4‧‧‧圖片檔處理設備
41‧‧‧圖元值獲取單元
42‧‧‧顏色表生成單元
43‧‧‧圖元值更新單元
4000‧‧‧圖片檔處理設備
4001‧‧‧處理器
4002‧‧‧通信匯流排
4003‧‧‧使用者介面
4004‧‧‧網路介面
4005‧‧‧記憶體
為了更清楚地說明本揭示實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹:圖1A是本發明實施例提供的一種圖片檔處理方法的流程示意圖。
圖1B是本發明實施例提供的一種圖片檔處理方法的流程示意圖;圖2是本發明實施例提供的一種圖片檔處理方法的流程時序圖;圖3是本發明實施例提供的一種圖片檔處理的舉例示意圖;圖4是本發明實施例提供的另一種圖片檔處理的舉例示意圖;圖5是本發明實施例提供的又一種圖片檔處理的舉例示意圖;圖6是本發明實施例提供的又一種圖片檔處理的舉例示意圖;圖7是本發明實施例提供的另一種圖片檔處理方法的流程時序圖;圖8是本發明實施例提供的另一種圖片檔處理方法的流程示意圖;圖9是本發明實施例提供的又一種圖片檔處理方法的流程示意圖;圖10是本發明實施例提供的一種壓縮圖像資料生成的舉例示意圖;圖11是本發明實施例提供的又一種圖片檔處理方法的流程示意圖;圖12是本發明實施例提供的又一種圖片檔處理方法的流程示意圖;圖13是本發明實施例提供的一種圖片檔生成的舉例示意圖;圖14是本發明實施例提供的又一種圖片檔處理方法的流程示意圖;圖15是本發明實施例提供的又一種圖片檔處理方法的流程示意圖;圖16是本發明實施例提供的又一種圖片檔處理方法的流程示意圖; 圖17是本發明實施例提供的又一種圖片檔處理方法的流程示意圖;圖18是本發明實施例提供的又一種圖片檔處理方法的流程示意圖;圖19是本發明實施例提供的一種YUV420模式的原始色度分量的舉例示意圖;圖20是本發明實施例提供的一種YUV420模式的目標色度分量的舉例示意圖;圖21A是本發明實施例提供的又一種圖片檔處理方法的流程示意圖;圖21B是本發明實施例提供的又一種圖片檔處理方法的流程示意圖;圖22是本發明實施例提供的又一種圖片檔處理方法的流程示意圖;圖23是本發明實施例提供的一種圖片檔處理設備的結構示意圖;圖24是本發明實施例提供的一種圖像轉換單元的結構示意圖;圖25是本發明實施例提供的另一種圖片檔處理設備的結構示意圖;圖26是本發明實施例提供的又一種圖片檔處理設備的結構示意圖;圖27是本發明實施例提供的一種圖像編碼單元的結構示意圖;圖28是本發明實施例提供的又一種圖片檔處理設備的結構示意圖;圖29是本發明實施例提供的一種影像處理系統的結構示意圖;圖30是本發明實施例提供的又一種圖片檔處理設備的結構示意圖;圖31是本發明實施例提供的另一種圖像轉換單元的結構示意圖;圖32是本發明實施例提供的另一種圖像編碼單元的結構示意圖;圖33是本發明實施例提供的又一種圖片檔處理設備的結構示意圖;圖34是本發明實施例提供的又一種圖片檔處理設備的結構示意圖;圖35是本發明實施例提供的又一種圖片檔處理設備的結構示意圖。
請參照圖式,其中相同的元件符號代表相同的元件或是相似的元件,本揭示的原理是以實施在適當的運算環境中來舉例說明。以下的說明是基於所例示的本揭示具體實施例,其不應被視為限制本揭示未在此詳述的其它具體實施例。
請參見圖1A,為本發明實施例提供了又一種圖片檔處理方法的流程示意圖。該方法可以由一計算設備執行。該方法可以包括以下步驟。
S101A,接收發送設備發送的原始圖片檔的轉碼碼流,解析所述轉碼碼流以獲取圖片頭資訊資料段和碼流資料,所述圖片頭資訊資料段包括所述原始圖片檔的顏色表,所述碼流資料為所述發送設備對所述原始圖片檔中各圖元的第一色彩資料進行編碼生成的資訊。
所述第一色彩資料可以是RGB資料,或YUV資料,或HSV資料等。
這裡,當所述原始圖片檔僅包括一幅圖像時,所述顏色表可以為該張圖片對應的顏色表。當所述原始圖片檔為具有多幀的圖片檔時,所述顏色表可以為所述圖片檔的全域顏色表,或者所述圖片檔中某幀圖像的局部顏色表。
S102A,解碼所述碼流資料以生成第二色彩資料,並基於所述顏色表對所述第二色彩資料進行處理以生成第二圖片檔。
在一些實例中,所述圖片頭資訊資料段進一步包括延時資訊、總幀數。計算設備可以採用所述延時時間和所述總幀數將更新後的所 述第二色彩資料進行圖像編碼以生成所述第二圖片檔。
在一些實例中,計算設備可以利用所述第二色彩資料中各圖元點的色彩值和所述顏色表生成所述第二色彩資料對應的局部顏色表,並採用所述局部顏色表對所述各圖元點的色彩值進行更新。
在一些實例中,當所述第二色彩資料為所述原始圖片檔的首幀圖像的色彩資料時,計算設備可以利用所述第二色彩資料對所述首幀圖像的初始顏色表進行訓練,得到所述首幀圖像對應的局部顏色表,所述首幀圖像的所述初始顏色表為所述顏色表。當所述第二色彩資料為所述原始圖片檔的第N幀圖像的色彩資料時,計算設備可以利用所述第二色彩資料對所述第N幀圖像對應的初始顏色表進行訓練,得到所述第N幀圖像對應的局部顏色表。其中,所述第N幀圖像對應的初始顏色表為所述原始圖片檔的第N-1幀圖像對應的局部顏色表,N為大於1的整數。
在一些實例中,計算設備可以將所述初始顏色表中的色彩值按照一個色彩分量的預設排序方式進行排序,以生成訓練顏色表。針對所述第二色彩資料中的各圖元點,在所述訓練顏色表中獲取所述色彩分量與所述圖元點的所述色彩分量最接近的第一色彩值,並獲取第一色彩值的第一色彩索引。在所述訓練顏色表中以所述第一色彩索引為中心的預設範圍內,獲取與所述圖元點的色彩值誤差最小的第二色彩值,並獲取第二色彩值的第二色彩索引。將所述第二色彩值替換為所述圖元點的色彩值,並採用預設權重值和所述圖元點的色彩值,對所述訓練顏色表中以所述第二色彩索引為中心的預設範圍內的多個色彩值進行修改。將修改後的所述訓練顏色表確定為所述局部顏色表。
上述色彩分量可以為表示色彩的多個參數中的任一個參數。例如,當色彩資料為RGB資料,上述色彩分量可以是R分量、G分量、或B分量。當色彩資料為YUV資料時,上述色彩分量可以是Y分量、U分量、或V分量。
在一些實例中,所述原始圖片檔的轉碼碼流可以是發送端發送的,該計算設備可以接收第二計算設備發送的所述轉碼碼流。在一些實例中,發送設備可以根據所述原始圖片檔生成所述圖片頭資訊資料段和所述第一色彩資料。對所述第一色彩資料進行編碼以生成所述碼流資料。儲存所述轉碼碼流,所述轉碼碼流包含所述圖片頭資訊資料段和所述碼流資料。需要時,發送設備可以讀取儲存的轉碼碼流並將所述轉碼碼流發送給接收設備。
本發明實施例的圖片檔處理方法可以應用於對圖片檔進行編解碼及傳輸的場景,例如:即時通信、網頁展示等。例如:發送端根據原始圖片檔生成圖片檔的圖片頭資訊資料段,並將圖片檔中每幀圖像轉換為YUV資料,所述發送端對所述YUV資料進行編碼以生成碼流資料。所述發送端生成壓縮圖像資料,並將所述壓縮圖像資料發送至接收端,所述壓縮圖像資料包含所述圖片頭資訊資料段和所述碼流資料。所述接收端接收所述發送端發送的所述壓縮圖像資料,解析所述壓縮圖像資料以獲取所述圖片頭資訊資料段和所述碼流資料。所述接收端根據所述碼流資料生成所述YUV資料,並基於所述圖片頭資訊資料段對所述YUV資料進行編碼處理以生成所述圖片檔的場景等。通過將檔資料量較大的圖片檔中每幀圖像轉換為資料量較小的YUV資料,再對YUV資料編碼得到碼流資料,極大的縮 小了圖片檔在傳輸過程中的檔資料量,降低了頻寬成本。
本發明實施例涉及的發送端可以為具備對圖片檔解碼、編碼等功能在內的終端設備或者後臺服務設備,或者可以為終端設備或者服務設備中的影像處理模組。所述接收端可以為具備對圖片檔編碼、視頻解壓等功能在內的終端設備或者後臺服務設備,或者可以為終端設備或者服務設備中的影像處理模組。上述終端設備可以包括電腦、平板電腦、智慧手機、筆記型電腦、掌上型電腦以及移動互聯網設備(MID)等。所述發送端和所述接收端可以應用到多種場景中的兩端。例如:在即時通信場景中,所述發送端可以為發送圖片檔的終端設備,所述接收端可以為接收所述圖片檔的即時通信應用的後臺服務設備。也可以是,所述發送端為轉發圖片檔的即時通信應用的後臺服務設備,所述接收端為接收圖片檔的終端設備等。在利用藍牙、紅外、資料線進行資料傳輸的場景中,所述發送端可以為發送圖片檔的終端設備,所述接收端可以為接收圖片檔的終端設備。以上場景僅為舉例說明,可以根據實際的運行場景確定發送端和接收端的類型,所有包含圖片檔編解碼及傳輸的場景均屬於本發明實施例的保護範疇,所述圖片檔可以為圖形交換格式(Graphics Interchange Format,GIF)圖像、音訊視頻交錯格式(Audio Video Interleaved,AVI)圖像、SWF(Shock Wave Flash)、點陣圖動畫格式(Animated Portable Network Graphics,APNG)中的任一種。
以下將對本發明實施例中將使用到的常用詞語進行介紹:圖像,用於表示圖片檔中的一幀畫面。
圖片,用於表示一個完整的影像檔,可以包含一幅或多幅圖 像。
分量,用於表示圖像的三個樣值矩陣中的一個矩陣或矩陣中的單個樣值。
亮度,用於表示亮度信號Y的樣值矩陣或單個樣值。
色度,用於表示Cr和Cb兩種色差信號中的任一種的樣值矩陣和單個樣值。
碼流資料,用於表示編碼後得到的資料,也可以採用視頻幀資料等名稱進行描述。
圖像特徵資訊段,用於表示圖片檔的延時資訊、總幀數、全域顏色表資訊等資訊。
使用者自訂資訊段,用於表示在對三原色(Red Green Blue,RGB)資料或YUV資料進行編碼時,所輸入的配置參數、編碼器複雜度等資訊。
圖片頭資訊資料段,用於表示壓縮圖像資料的起始端,可以包含圖像特徵資訊段以及使用者自訂資訊段。
壓縮圖像資料,用於表示對碼流資料和圖像頭資訊資料段進行圖片格式封裝生成的資料,也可以採用圖像序列、壓縮碼流等名稱進行描述。
圖1B為本發明實施例提供了一種圖片檔處理方法的流程示意圖。本發明實施例從發送端和接收端共同闡述圖片檔處理方法的具體流程,該方法可以包括以下步驟。
S101B,發送端根據原始圖片檔生成圖片檔的圖片頭資訊資 料段,並將圖片檔中每幀圖像轉換為YUV資料。
一些實例中,發送端可以解碼原始圖片檔以生成所述圖片檔的圖片頭資訊資料段。所述圖片檔可以是由開發人員完成對圖像製作後所輸入的圖像,也可以是從其它端接收的圖像。所述圖片頭資訊資料段可以包括所述圖片檔的延時資訊、總幀數等。所述延時資訊記錄有所述圖片檔中每幀圖像之間的播放間隔時間。所述總幀數為所述圖片檔中的圖像幀數。所述圖片頭資訊資料段中還可以包括所述圖片檔的全域顏色表資訊。所述全域顏色表資訊包含每幀圖像的每個圖元點的RGB值。針對一些圖片檔,其包含的所有圖像均共用一個全域顏色表資訊。而對於另外一些圖片檔,其每幀圖像都存在各自的局部顏色表資訊,因此若所述圖片檔中存在全域顏色表資訊,則獲取該全域顏色表資訊。若所述圖片檔中僅存在局部顏色表資訊,則可以對局部顏色表資訊進行獲取,也可以不獲取。所述發送端進一步將所述圖片檔中每幀圖像轉換為YUV資料。
S102B,所述發送端對所述YUV資料進行編碼以生成碼流資料。
一些實例中,所述發送端可以進一步對所述YUV資料進行編碼處理,生成碼流資料。所述編碼可以包括預測編碼、變換編碼、量化編碼和熵編碼。例如:所述發送端可以採用IPPP模式對所述YUV資料進行壓縮,第一幀YUV資料為I幀,I幀即為幀內預測幀,其餘幀YUV資料為P幀,P幀即為幀間預測幀,可以有效的壓縮圖片檔的檔資料量,還可以採用固定量化參數(Quantization Parameter,QP)的方式來穩定不同幀之間的品質等。熵編碼則可以包括哈夫曼編碼、算數編碼等。
S103B,所述發送端將壓縮圖像資料發送至接收端。
一些實例中,所述發送端可以生成壓縮圖像資料,所述發送端可以對所述壓縮圖像資料進行儲存。當檢測到接收端對所述圖片檔的請求時,所述發送端再將所述壓縮圖像資料發送至所述接收端。例如:當發送端檢測到包含所述圖片檔的網頁開啟時。所述發送端也可以直接將所述壓縮圖像資料發送至所述接收端。例如:即時通信應用中的一個用戶端需要將所述圖片檔發送至另一個用戶端時,應用服務設備需要將所述圖片檔進行轉發等,所述壓縮圖像資料包含所述圖片頭資訊資料段和所述碼流資料。
S104B,所述接收端接收所述發送端發送的所述壓縮圖像資料,解析所述壓縮圖像資料以獲取所述圖片頭資訊資料段和所述碼流資料。
一些實例中,所述接收端接收所述發送端發送的所述壓縮圖像資料,所述接收端可以對所述壓縮圖像資料進行解析處理,以獲取所述壓縮圖像資料中的所述圖片頭資訊資料段和所述碼流資料。
S105B,所述接收端根據所述碼流資料生成所述YUV資料,並基於所述圖片頭資訊資料段對所述YUV資料進行處理以生成所述圖片檔。
一些實例中,所述接收端解碼所述碼流資料以生成所述YUV資料,並基於圖片頭資訊資料段中的時延資訊、總幀數、全域顏色表資訊等對所述YUV資料進行編碼處理以生成所述圖片檔。
在本發明實施例中,根據原始的圖片檔生成圖片檔的圖片頭資訊資料段,將圖片檔中每幀圖像轉換為YUV資料,再基於YUV資料進行 編碼後得到的碼流資料以及圖片頭資訊資料段生成壓縮圖像資料,並將壓縮圖像資料進行傳輸,在接收到壓縮圖像資料時,可以根據碼流資料生成YUV資料,再基於圖片頭資訊資料段對YUV資料進行處理生成圖片檔。通過將檔資料量較大的圖片檔中每幀圖像轉換為資料量較小的YUV資料,再對YUV資料編碼得到碼流資料,極大的縮小了圖片檔在傳輸過程中的檔資料量,降低了頻寬成本。
請參見圖2,為本發明實施例提供了一種圖片檔處理方法的流程時序圖。本發明實施例從發送端側和接收端側共同闡述圖片檔處理方法的具體流程,該方法可以包括以下步驟。
S201,所述發送端解碼原始圖片檔生成圖片檔的圖片頭資訊資料段以及圖片檔中每幀圖像對應的RGB資料。
一些實例中,所述發送端可以解碼原始圖片檔以生成所述圖片檔的圖片頭資訊資料段以及所述圖片檔中每幀圖像對應的RGB資料。
S202,所述發送端採用顏色空間轉換公式將所述RGB資料轉換為YUV資料。
一些實例中,所述發送端可以採用顏色空間轉換公式將所述RGB資料轉換為YUV資料。在將RGB資料轉換為YUV資料的過程中,可以選擇亮度分量的值域範圍為[16,235],色度分量的值域範圍為[16,240]的顏色空間轉換公式。由於值域範圍的縮減,可以極大的減小轉換後YUV資料的資料量。還可以選擇亮度分量和色度分量的值域範圍均為[0,255]顏色空間轉換公式,可以減小轉換後YUV資料的失真。亮度分量和色度分量的值域範圍均為[0,255]的顏色空間轉換公式為: Y=0.299R+0.587G+0.114B。 (1)
U=-0.1687R-0.3313G+0.5B+128。 (2)
V=0.5R-0.4187G-0.0813B+128。 (3)
其中,YUV是一種視頻資料格式,Y為亮度分量,UV為色度分量,通過顏色空間轉換公式可以對每幀圖像的圖元點進行光柵掃描處理,將每幀RGB資料轉換為對應的YUV資料。
S203,所述發送端對所述YUV資料進行編碼以生成碼流資料。
一些實例中,所述發送端可以進一步對所述YUV資料進行編碼處理,生成碼流資料。
一些實例中,在對所述YUV資料進行編碼過程中,可以支援使用者添加配置參數,所述配置參數可以為對所述YUV資料進行編碼的參數,所述配置參數可以包括標清模式參數、高清模式參數和無損模式參數中的任一種,要求減少頻寬,則可以選擇標清模式參數(例如:YUV420模式參數)。要求圖像品質,則可以選擇高清模式參數(例如:YUV444模式參數)等。所述發送端可以採用配置參數對所述YUV資料進行編碼以生成碼流資料。
一些實例中,在對所述YUV資料進行編碼過程中,還可以支援使用者添加編碼器複雜度。所述編碼器複雜度可以為根據所述發送端的硬體性能所決定的編碼的精細度參數。所述編碼器複雜度可以包括第一複雜度、第二複雜度和第三複雜度中的任一種。所述第一複雜度高於所述第二複雜度,所述第二複雜度高於所述第三複雜度。例如:可以對所述發 送端的硬體性能進行檢測以生成性能數值。例如:測試所述發送端的中央處理器的計算速率等。當所述性能數值位於第一預設數值範圍內時,可以確定發送端硬體性能很高,則可以推薦使用第一複雜度的編碼方式。當所述性能數值位於第二預設數值範圍內時,可以確定發送端硬體性能中等,則可以推薦使用第二複雜度的編碼方式。當所述性能數值位於第三預設數值範圍內時,可以確定發送端硬體性能較差,或者當前要求即時轉碼等,則可以推薦使用第三複雜度的編碼方式等。所述發送端可以配置編碼器複雜度對所述YUV資料進行編碼以生成碼流資料。
需要說明的是,上述兩種編碼方式可以為並行的編碼方式,即所述發送端可以同時採用配置參數和配置的編碼器複雜度對所述YUV資料進行編碼以生成碼流資料。上述的性能數值、第一預設數值範圍、第二通預設數值範圍以及第三預設數值範圍具體可以根據開發人員的人為經驗進行設定。
S204,所述發送端將壓縮圖像資料發送至接收端,即,發送包含所述圖片頭資訊資料段和所述碼流資料的所述壓縮圖像資料。
S205,所述接收端接收所述發送端發送的所述壓縮圖像資料,解析所述壓縮圖像資料以獲取所述圖片頭資訊資料段和所述碼流資料。
S206,所述接收端解碼所述碼流資料以生成所述YUV資料,並採用顏色空間轉換公式將所述YUV資料轉換為RGB資料。
一些實例中,所述接收端解碼所述碼流資料以生成所述YUV資料,並可以採用顏色空間轉換公式將所述YUV資料轉換為RGB資料,一些實例中,所述接收端需要依據亮度分量的值域範圍確定所採用的 顏色空間轉換公式,可以理解的是,針對YUV444模式下的YUV資料,可以選擇亮度分量的值域範圍為[16,235],色度分量的值域範圍為[16,240]的顏色空間轉換公式,也可以選擇亮度分量和色度分量的值域範圍均為[0,255]顏色空間轉換公式,具體可以依據上述實施例中在將RGB資料轉換為YUV資料時選擇的顏色空間轉換公式對應。需要說明的是,色度包括Cb和Cr兩種色差信號中的任一種的樣值矩陣和單個樣值。兩種色差信號需要分別進行上採樣處理,兩者進行上採樣處理的方式均相同,其中,Cb對應YUV中的U,Cr對應YUV中的V。
若亮度分量的值域範圍為[16,235],色度分量的值域範圍為[16,240],則顏色空間轉換公式為:R=Clip3(0,255,(298*Y+409 *(Cr-128)+128)>>8)。 (4)
G=Clip3(0,255,(298*Y-100 *(Cb-128)+208*(Cr-128)+128)>>8)。 (5)
B=Clip3(0,255,(298*Y+516 *(Cb-128)+128)>>8)。 (6)
其中,“+128”用於對R值、B值、G值進行四捨五入,“>>8”表示除以2的8次方。
若亮度分量和色度分量的值域範圍均為[0,255],則顏色空間轉換公式為:R=Clip3(0,255,Y+(359 *(Cr-128)+128)>>8)。 (7)
G=Clip3(0,255,Y-(88 *(Cb-128)+183*(Cr-128)+ 128)>>8)。 (8)
B=Clip3(0,255,Y+(454 *(Cb-128)+128)>>8)。 (9)
其中,“+128”用於對R值、B值、G值進行四捨五入,“>>8”表示除以2的8次方。
通過顏色空間轉換公式可以對每幀圖像的圖元點進行光柵掃描處理,將每幀YUV資料轉換為對應的RGB資料。
S207,所述接收端採用所述全域顏色表資訊對所述RGB資料中的各圖元點的RGB值進行更新。
一些實例中,由於之前對所述YUV資料進行過編碼處理,因此導致由所述YUV資料轉換的RGB資料存在失真的情況,所述接收端可以採用所述全域顏色表資訊對所述RGB資料中的各圖元點的RGB值進行更新。所述RGB資料中可以包含一個或多個圖元點,當所述RGB資料中僅存在一個圖元點時,可以採用所述全域顏色表資訊對所述圖元點的RGB值進行更新,當所述RGB資料中存在多個圖元點時,可以採用所述全域顏色表資訊對多個圖元點中各圖元點的RGB值進行更新,所述接收端需要重新對所述全域顏色表資訊進行訓練,以生成符合所述RGB資料的局部顏色表資訊,而對於不存在全域顏色表資訊的情況,所述接收端可以生成初始化顏色表資訊,並通過對所述初始化顏色表資訊進行訓練,以生成符合所述RGB資料的局部顏色表資訊。
一些實例中,針對圖片頭資訊資料段中存在全域顏色表資訊的情況,當所述RGB資料為所述圖片檔中的第一幀圖像,所述接收端可以採用所述RGB資料中的各圖元點的RGB值對所述全域顏色表資訊進行訓練 以生成所述RGB資料的局部顏色表資訊,並採用所述RGB資料的局部顏色表資訊對所述各圖元點的RGB值進行更新。
一些實例中,當所述RGB資料為所述圖片檔中的第一幀圖像,且所述圖片頭資訊資料段中存在全域顏色表資訊時,所述接收端可以將所述全域顏色表資訊中的至少一個源RGB值按照G分量的預設排序方式(例如:昇冪、降冪等)進行排序,以生成訓練顏色表資訊。如圖3所示,所述全域顏色表資訊中包括色彩索引和源RGB值,例如:5,(8,1,10)、6,(8,9,8)、7,(1,7,6)、8,(10,8,6)、9,(5,8,5)、10,(9,10,1),按照G分量的昇冪排序可以生成訓練顏色表資訊,例如:5,(8,1,10)、6,(1,7,6)、7,(5,8,5)、8,(10,8,6)、9,(8,9,8)、10,(9,10,1)。
所述接收端在所述訓練顏色表資訊中獲取G分量與所述RGB資料中當前圖元點的G分量最接近的第一源RGB值,並獲取所述第一源RGB值的第一色彩索引。所述接收端可以採用所述當前圖元點的G分量遍歷所述訓練顏色表資訊中的源RGB值,獲取G分量最為接近的第一源RGB值。如圖4所示,假設第一幀RGB資料中有四個圖元點,當前圖元點為所述RGB資料中的第一個圖元點,所述當前圖元點的RGB值為(9,9,9),可以在所述訓練顏色表資訊中查找到(8,9,8)的G分量與當前圖元點的RGB值中的G分量最接近,則將(8,9,8)確定為第一源RGB值,並獲取所述第一源RGB值的第一色彩索引“9”。
所述接收端在所述訓練顏色表資訊中以所述第一色彩索引為中心的預設範圍內,獲取與所述當前圖元點的RGB值誤差最小的第二源 RGB值,並獲取所述第二源RGB值的第二色彩索引。所述接收端可以以所述第一色彩索引為中心,在所述第一色彩索引的前後預設範圍內獲取多個源RGB值,並分別計算所述第一源RGB值以及所述多個源RGB值與所述當前圖元點的RGB值的誤差,並將多個源RGB值中誤差最小的源RGB值確定為第二源RGB值。依據上述舉例,假設預設範圍為正負1的範圍,則以“9”為中心,獲取(10,8,6)和(9,10,1)兩個源RGB值,並分別計算(10,8,6)、(8,9,8)和(9,10,1)三者與(9,9,9)的誤差值。其中色彩索引“8”的誤差值為|9-10|+|9-8|+|9-6|=5,色彩索引“9”的誤差值為|9-8|+|9-9|+|9-8|=2,色彩索引“10”的誤差值為|9-9|+|9-10|+|9-1|=9,則確定源RGB值(8,9,8)為所述第二源RGB值,並獲取第二源RGB值的第二色彩索引“9”。上述獲取的第一源RGB值和第一色彩索引存在與第二源RGB值和第二色彩索引相同的情況,也可以存在不相同的情況,具體由實際執行過程確定。
所述接收端將所述第二源RGB值替換為所述當前圖元點的RGB值,並採用預設權重值和所述當前圖元點的RGB值,對所述訓練顏色表資訊中以所述第二色彩索引為中心的預設範圍內的多個源RGB值進行修改。參見圖5,依據上述舉例,所述第二源RGB值為(8,9,8),則將(8,9,8)替換為當前圖元點的RGB值(9,9,9),同時可以依據預設權重值以及當前圖元點的RGB值對以所述第二色彩索引為中心的預設範圍內的多個源RGB值進行修改。假設預設範圍為正負1,則需要對(10,8,6)和(9,10,1)兩個源RGB值進行修改。所述預設權重值可以為動態的權重值,對於距離所述第二色彩索引越近源RGB值,其受到當前圖元點的RGB值的影 響越大。假設當前權重值的分配為2:8,則採用(9,9,9)對(10,8,6)進行修改。例如,R分量=9*0.8+10*0.2=9.2,G分量=9*0.8+8*0.2=8.8,B分量=9*0.8+6*0.2=8.4,對以上結果採用四捨五入的方式,確定色彩索引“8”的源RGB值由(10,8,6)修改為(9,9,8)。同理,色彩索引“10”的源RGB值由(9,10,1)修改為(9,9,7)。
當所述當前圖元點不為所述RGB資料中的最後一個圖元點時,例如當前圖元點為圖4或圖5中所示的RGB資料中的第一個圖元點時,所述接收端獲取修改後得到的所述訓練顏色表資訊,將所述當前圖元點的下一個圖元點作為當前圖元點,並轉入執行在所述訓練顏色表資訊中獲取G分量與所述RGB資料中當前圖元點的G分量最接近的第一源RGB值。例如:將所述RGB資料中的第二個圖元點作為當前圖元點,對修改後得到的所述訓練顏色表資訊再一次進行訓練。一些實例中,訓練過程可以參見上述訓練過程的描述,在此不進行贅述。
當所述當前圖元點為所述RGB資料中的最後一個圖元點時,例如當前圖元點為圖4或圖5中所示的RGB資料中的第四個圖元點時,所述接收端獲取修改後得到的所述訓練顏色表資訊,並將所述訓練顏色表資訊確定為所述RGB資料的局部顏色表資訊。
所述接收端可以採用所述RGB資料的局部顏色表資訊對所述各圖元點的RGB值進行更新。一些實例中,所述接收端可以在所述RGB資料的局部顏色表資訊中依次獲取與所述各圖元點相同或誤差最小的源RGB值分別替換所述各圖元點的RGB值。在一些實例中,所述接收端可以將與所述各圖元點相同或誤差最小的源RGB值對應的色彩索引分別替換所 述各圖元點的RGB值。參見圖6,依據上述舉例,所述RGB資料的第一個圖元點(即像素點)的RGB值為(9,9,9),在所述局部顏色表資訊中與(9,9,9)誤差最小的為(9,9,8),則將(9,9,8)對應的色彩索引“8”替換所述第一個圖元點的RGB值,同理,第二個圖元點的色彩索引為“10”,第三個圖元點的色彩索引為“9”,第四個圖元點的色彩索引為“6”。
在一些實例中,針對圖片頭資訊資料段中不存在全域顏色表資訊的情況,當所述RGB資料為所述圖片檔中的第一幀圖像,所述接收端可以採用所述RGB資料中的各圖元點的RGB值對初始化顏色表資訊進行訓練以生成所述RGB資料的局部顏色表資訊,並採用所述RGB資料的局部顏色表資訊對所述各圖元點的RGB值進行更新。
一些實例中,當所述RGB資料為所述圖片檔中的第一幀圖像,且所述圖片頭資訊資料段中不存在全域顏色表資訊時,所述接收端可以生成一個初始化顏色表資訊,例如:(0,0,0)、(1,1,1)、(2,2,2)、……、(255,255,255)。所述接收端在初始化顏色表資訊中獲取G分量與所述RGB資料中當前圖元點的G分量最接近的第三源RGB值,並獲取所述第三源RGB值的第三色彩索引。所述接收端在所述初始化顏色表資訊中以所述第三色彩索引為中心的預設範圍內,獲取與所述當前圖元點的RGB值誤差最小的第四源RGB值,並獲取所述第四源RGB值的第四色彩索引。所述接收端將所述第四源RGB值替換為所述當前圖元點的RGB值,並採用預設權重值和所述當前圖元點的RGB值,對所述初始化顏色表資訊中以所述第四色彩索引為中心的預設範圍內的多個源RGB值進行修改。當所述當前圖元點不為所述RGB資料中的最後一個圖元點時,所述接收端獲取修改後得到的所述 初始化顏色表資訊,將所述當前圖元點的下一個圖元點作為當前圖元點,並轉入執行在所述初始化顏色表資訊中獲取G分量與所述RGB資料中當前圖元點的G分量最接近的第三源RGB值。當所述當前圖元點為所述RGB資料中的最後一個圖元點時,所述接收端獲取修改後得到的所述訓練顏色表資訊,並將所述初始化顏色表資訊確定為所述RGB資料的局部顏色表資訊,所述接收端可以採用所述RGB資料的局部顏色表資訊對所述各圖元點的RGB值進行更新。對初始化顏色表資訊進行訓練以及採用RGB資料的局部顏色表資訊對各圖元點的RGB值進行更新的過程均可以參見前述方式的執行過程,在此不進行贅述。
在一些實例中,針對所述RGB資料不為所述圖片檔中的第一幀圖像,即所述RGB資料為所述圖片檔中的第N幀圖像時,其中,N為大於1且小於或等於所述總幀數的正整數。所述接收端可以採用所述RGB資料中的各圖元點的RGB值對第N-1幀RGB資料的局部顏色表資訊進行訓練以生成所述RGB資料的局部顏色表資訊,並採用所述RGB資料的局部顏色表資訊對所述各圖元點的RGB值進行更新。
一些實例中,當所述RGB資料為所述圖片檔中的第N幀圖像時,所述接收端可以將第N-1幀RGB資料的局部顏色表資訊中的至少一個源RGB值按照G分量的預設排序方式進行排序,以生成訓練顏色表資訊。所述接收端在所述訓練顏色表資訊中獲取G分量與所述RGB資料中當前圖元點的G分量最接近的第五源RGB值,並獲取所述第五源RGB值的第五色彩索引。所述接收端在所述訓練顏色表資訊中以所述第五色彩索引為中心的預設範圍內,獲取與所述當前圖元點的RGB值誤差最小的第六源RGB值,並 獲取所述第六源RGB值的第六色彩索引。所述接收端將所述第六源RGB值替換為所述當前圖元點的RGB值,並採用預設權重值和所述當前圖元點的RGB值,對所述訓練顏色表資訊中以所述第六色彩索引為中心的預設範圍內的多個源RGB值進行修改。當所述當前圖元點不為所述RGB資料中的最後一個圖元點時,所述接收端獲取修改後得到的所述訓練顏色表資訊,將所述當前圖元點的下一個圖元點作為當前圖元點,並轉入執行在所述訓練顏色表資訊中獲取G分量與所述RGB資料中當前圖元點的G分量最接近的第五源RGB值。當所述當前圖元點為所述RGB資料中的最後一個圖元點時,所述接收端獲取修改後得到的所述訓練顏色表資訊,並將所述訓練顏色表資訊確定為所述RGB資料的局部顏色表資訊。所述接收端可以採用所述RGB資料的局部顏色表資訊對所述各圖元點的RGB值進行更新。需要說明的是,本例中對訓練顏色表資訊進行訓練以及採用RGB資料的局部顏色表資訊對各圖元點的RGB值進行更新的過程均可以參見前述方式的執行過程,在此不進行贅述。
需要說明的是,上述採用G分量作為對顏色表資訊進行訓練的引導僅為舉例,本發明實施例同樣可以採用R分量或者B分量作為對顏色表資訊進行訓練的引導,執行過程均可以參見上述內容中的描述,在此不進行贅述。上述第一源RGB值、第二源RGB值、第三源RGB值、第四源RGB值、第五源RGB值、第六源RGB值以及第一色彩索引、第二色彩索引、第三色彩索引、第四色彩索引、第五色彩索引、第六色彩索引均可以表示相同的源RGB值和色彩索引的含義,採用此方式進行命名僅為了區分不同的執行場景,例如:當所述RGB資料為所述圖片檔中的第一幀圖像,且所述 圖片頭資訊資料段中存在全域顏色表資訊時。當所述RGB資料為所述圖片檔中的第一幀圖像,且所述圖片頭資訊資料段中不存在全域顏色表資訊時。當所述RGB資料為所述圖片檔中的第N幀圖像時,以上三種執行場景。
S208,所述接收端採用所述延時時間和所述總幀數將更新後的所述RGB資料進行圖像編碼以生成所述圖片檔。
一些實例中,所述接收端採用所述延時時間和所述總幀數將更新後的所述RGB資料進行圖像編碼以生成所述圖片檔。在一些實例中,所述接收端可以基於所述延時時間和所述總幀數,並採用蘭博-立夫-衛曲編碼法(Lempel-Ziv-Welch Encoding,LZW)對所述RGB資料中各圖元點的色彩索引進行圖像編碼,生成所述圖片檔,所述接收端可以對所述圖片檔進行儲存或者展示。可以理解的是,所述圖像編碼的方式具體由圖片檔的圖像格式決定,例如:若需要生成的圖片檔為GIF圖像,則所述圖像編碼可以為GIF編碼等。
請參見圖7,為本發明實施例提供了另一種圖片檔處理方法的流程時序圖。本發明實施例從發送端側、中轉設備側和接收端側共同闡述圖片檔處理方法的具體流程,該方法包括以下步驟。
S2001,所述發送端解碼原始圖片檔以生成圖片檔的圖片頭資訊資料段以及圖片檔中每幀圖像對應的RGB資料。
一些實例中,所述發送端可以解碼原始圖片檔以生成所述圖片檔的圖片頭資訊資料段以及所述圖片檔中每幀圖像對應的RGB資料。
S2002,所述發送端採用顏色空間轉換公式將所述RGB資料轉換為YUV資料。
一些實例中,所述發送端可以採用顏色空間轉換公式將所述RGB資料轉換為YUV資料。
S2003,所述發送端對所述YUV資料進行編碼以生成碼流資料。
一些實例中,所述發送端可以進一步對所述YUV資料進行編碼處理,生成碼流資料。
一些實例中,在對所述YUV資料進行編碼過程中,可以支援使用者添加配置參數,所述配置參數可以為對所述YUV資料進行編碼的參數。所述發送端可以採用配置參數對所述YUV資料進行編碼以生成碼流資料。
一些實例中,在對所述YUV資料進行編碼過程中,還可以支援使用者添加編碼器複雜度,所述編碼器複雜度可以為根據所述發送端的硬體性能所決定的編碼的精細度參數。所述發送端可以配置編碼器複雜度對所述YUV資料進行編碼以生成碼流資料。
S2004,所述發送端將壓縮圖像資料發送至中轉設備。
一些實例中,所述發送端可以生成壓縮圖像資料,所述發送端可以對所述壓縮圖像資料進行儲存,當檢測到接收端對所述圖片檔的請求時,所述發送端再將所述壓縮圖像資料發送至所述接收端。
S2005,所述中轉設備接收所述發送端發送的所述壓縮圖像資料,並將所述壓縮圖像資料發送至接收端。
一些實例中,所述中轉設備可以為所述發送端及所述接收端間的連接設備,在所述發送端和所述接收端無法直接進行連接的情況下, 由中轉設備進行壓縮圖像資料的中轉處理,例如:針對即時通信應用中的兩個用戶端,所述中轉設備可以為即時通信應用的後臺服務設備等。所述中轉設備接收所述發送端發送的所述壓縮圖像資料,可以將所述壓縮圖像資料按照所述發送端指示的接收端的應用標識發送至所述接收端。
S2006,所述接收端接收所述中轉設備發送的所述壓縮圖像資料,解析所述壓縮圖像資料以獲取所述圖片頭資訊資料段和所述碼流資料。
一些實例中,所述接收端接收所述中轉設備發送的所述壓縮圖像資料,所述接收端可以對所述壓縮圖像資料進行解析處理,以獲取所述壓縮圖像資料中的所述圖片頭資訊資料段和所述碼流資料。
S2007,所述接收端解碼所述碼流資料以生成所述YUV資料,並採用顏色空間轉換公式將所述YUV資料轉換為RGB資料。
一些實例中,所述接收端解碼所述碼流資料以生成所述YUV資料,並可以採用顏色空間轉換公式將所述YUV資料轉換為RGB資料。一些實例中,所述接收端需要依據亮度分量的值域範圍確定所採用的顏色空間轉換公式。
S2008,所述接收端採用所述全域顏色表資訊對所述RGB資料中的各圖元點的RGB值進行更新。
S2009,所述接收端採用所述延時時間和所述總幀數將更新後的所述RGB資料進行圖像編碼以生成所述圖片檔。
請參見圖8,為本發明實施例提供了另一種圖片檔處理方法的流程示意圖。本發明實施例從發送端側闡述圖片檔處理方法的具體流 程,該方法可以包括以下步驟S301-步驟S303。
S301,根據原始圖片檔生成所述圖片檔的圖片頭資訊資料段,並將圖片檔中每幀圖像轉換為YUV資料。
一些實例中,發送端可以解碼原始圖片檔以生成所述圖片檔的圖片頭資訊資料段。所述發送端進一步將所述圖片檔中每幀圖像轉換為YUV資料。
S302,對所述YUV資料進行編碼以生成碼流資料。
一些實例中,所述發送端可以進一步對所述YUV資料進行編碼處理,生成碼流資料。
S303,將壓縮圖像資料發送至接收端。
所述接收端解碼所述碼流資料以生成所述YUV資料,並基於圖片頭資訊資料段中的時延資訊、總幀數、全域顏色表資訊等對所述YUV資料進行編碼處理以生成所述圖片檔。
在本發明實施例中,在對原始的圖片檔進行解碼後獲得圖片檔的圖片頭資訊資料段,將圖片檔中每幀圖像轉換為YUV資料,再基於YUV資料進行編碼後得到的碼流資料以及圖片頭資訊資料段生成壓縮圖像資料,並將壓縮圖像資料進行傳輸,在接收到壓縮圖像資料時,可以解碼碼流資料生成YUV資料,再基於圖片頭資訊資料段對YUV資料進行編碼處理生成圖片檔。通過將檔資料量較大的圖片檔中每幀圖像轉換為資料量較小的YUV資料,再對YUV資料編碼得到碼流資料,極大的縮小了圖片檔在傳輸過程中的檔資料量,降低了頻寬成本。
請參見圖9,為本發明實施例提供了又一種圖片檔處理方法 的流程示意圖。本發明實施例從發送端側闡述圖片檔處理方法的具體流程,該方法可以包括以下步驟S401-步驟S404。
S401,解碼原始圖片檔以生成圖片檔的圖片頭資訊資料段以及圖片檔中每幀圖像對應的RGB資料。
一些實例中,所述發送端可以解碼原始圖片檔以生成所述圖片檔的圖片頭資訊資料段以及所述圖片檔中每幀圖像對應的RGB資料。
S402,採用顏色空間轉換公式將所述RGB資料轉換為YUV資料。
一些實例中,所述發送端可以採用顏色空間轉換公式將所述RGB資料轉換為YUV資料。
S403,對所述YUV資料進行編碼以生成碼流資料。
一些實例中,所述發送端可以進一步對所述YUV資料進行編碼處理,生成碼流資料。
S404,將壓縮圖像資料發送至接收端。
請參見圖10,為本發明實施例提供了一種壓縮圖像資料生成的舉例示意圖。如圖10所示,在解碼原始圖片檔時,可以獲取所述圖片檔的延時資訊、總幀數、全域顏色表資訊等,所述延時資訊記錄有所述圖片檔中每幀圖像之間的播放間隔時間,所述總幀數為所述圖片檔中的圖像幀數,可以理解的是,所述圖片頭資訊資料段中還可以包括所述圖片檔的全域顏色表資訊,所述全域顏色表資訊包含每幀圖像的每個圖元點的RGB值,針對一些圖片檔,其包含的所有圖像均共用一個全域顏色表資訊,而對於另外一些圖片檔,其每幀圖像都存在各自的局部顏色表資訊,因此若 所述圖片檔中存在全域顏色表資訊,則獲取該全域顏色表資訊,若所述圖片檔中僅存在局部顏色表資訊,則不對局部顏色表資訊進行獲取。可以對所述圖片檔的延時資訊、總幀數、全域顏色表資訊等進行封裝,以生成所述圖片檔的圖片頭資訊資料段。同時解碼所述圖片檔還可以獲取圖片檔中每幀圖像對應的RGB資料可以採用顏色空間轉換公式將所述RGB資料轉換為YUV資料,通過顏色空間轉換公式可以對每幀圖像的圖元點進行光柵掃描處理,將每幀RGB資料轉換為對應的YUV資料。可以進一步對所述YUV資料進行編碼處理,生成碼流資料,所述編碼可以包括預測編碼、變換編碼、量化編碼和熵編碼。在對所述YUV資料進行編碼過程中,可以支援使用者添加配置參數,還可以支援使用者添加編碼器複雜度。最終可以生成壓縮圖像資料。
請參見圖11,為本發明實施例提供了又一種圖片檔處理方法的流程示意圖。本發明實施例從接收端側闡述圖片檔處理方法的具體流程,該方法可以包括以下步驟S501和步驟S502。
S501,接收發送端發送的針對原始圖片檔的壓縮圖像資料,解析所述壓縮圖像資料以獲取圖片檔的圖片頭資訊資料段和碼流資料。
一些實例中,發送端可以解碼原始圖片檔以生成所述圖片檔的圖片頭資訊資料段。所述發送端進一步將所述圖片檔中每幀圖像轉換為YUV資料。
所述發送端可以進一步對所述YUV資料進行編碼處理,生成碼流資料。
S502,根據所述碼流資料生成所述YUV資料,並基於所述 圖片頭資訊資料段對所述YUV資料進行處理以生成所述圖片檔,即解碼所述碼流資料以生成YUV資料,並基於所述圖片頭資訊資料段對所述YUV資料進行編碼處理以生成所述圖片檔。
請參見圖12,為本發明實施例提供了又一種圖片檔處理方法的流程示意圖。本發明實施例從接收端側闡述圖片檔處理方法的具體流程,該方法可以包括以下步驟S601-步驟S604。
S601,接收發送端發送的針對原始圖片檔的壓縮圖像資料,解析所述壓縮圖像資料以獲取圖片檔的圖片頭資訊資料段和碼流資料。
一些實例中,所述發送端可以解碼原始圖片檔以生成所述圖片檔的圖片頭資訊資料段以及所述圖片檔中每幀圖像對應的RGB資料。
所述發送端可以採用顏色空間轉換公式將所述RGB資料轉換為YUV資料。
所述發送端可以進一步對所述YUV資料進行編碼處理,生成碼流資料。
S602,解碼所述碼流資料以生成所述YUV資料,並採用顏色空間轉換公式將所述YUV資料轉換為RGB資料。
一些實例中,所述接收端解碼所述碼流資料以生成所述YUV資料,並可以採用顏色空間轉換公式將所述YUV資料轉換為RGB資料。一些實例中,所述接收端需要依據亮度分量的值域範圍確定所採用的顏色空間轉換公式。
S603,採用所述全域顏色表資訊對RGB資料中的各圖元點的RGB值進行更新。
S604,採用所述延時時間和所述總幀數將更新後的所述RGB資料進行圖像編碼以生成所述圖片檔。
一些實例中,所述接收端採用所述延時時間和所述總幀數將更新後的所述RGB資料進行圖像編碼以生成所述圖片檔。在一些實例中,所述接收端可以基於所述延時時間和所述總幀數,並採用LZW對所述RGB資料中各圖元點的色彩索引進行圖像編碼,生成所述圖片檔,所述接收端可以對所述圖片檔進行儲存或者展示。
請參見圖13,為本發明實施例提供了一種圖片檔生成的舉例示意圖。如圖13所示,在獲取壓縮圖像資料時,可以解析所述壓縮圖像資料,獲取所述壓縮圖像資料中的圖片頭資訊資料段和碼流資料,所述圖片頭資訊資料段中可以包含延時資訊、總幀數、全域顏色表資訊等,所述延時資訊記錄有所述圖片檔中每幀圖像之間的播放間隔時間,所述總幀數為所述圖片檔中的圖像幀數。所述全域顏色表資訊包含每幀圖像的每個圖元點的RGB值。針對一些圖片檔,其包含的所有圖像均共用一個全域顏色表資訊。而對於另外一些圖片檔,其每幀圖像都存在各自的局部顏色表資訊,因此若所述圖片檔中存在全域顏色表資訊,則圖片頭資訊資料段中存在全域顏色表資訊。若所述圖片檔中僅存在局部顏色表資訊,則圖片頭資訊資料段中不存在局部顏色表資訊。可以解碼所述碼流資料以生成所述YUV資料,並採用顏色空間轉換公式將所述YUV資料轉換為RGB資料。若當前處理的RGB資料為所述圖片檔中的第一幀RGB資料,則判斷圖片頭資訊資料段中是否存在全域顏色表資訊。若存在,則採用所述RGB資料中的各圖元點的RGB值對所述全域顏色表資訊進行訓練以生成所述RGB資料的局部顏 色表資訊,並採用所述RGB資料的局部顏色表資訊對所述各圖元點的RGB值進行更新。若不存在全域顏色表資訊,則可以生成初始化顏色表資訊,採用所述RGB資料中的各圖元點的RGB值對初始化顏色表資訊進行訓練以生成所述RGB資料的局部顏色表資訊,並採用所述RGB資料的局部顏色表資訊對所述各圖元點的RGB值進行更新。若當前處理的RGB資料為所述圖片檔中的第N幀RGB資料,其中N為大於1的正整數,則可以採用所述RGB資料中的各圖元點的RGB值對第N-1幀RGB資料的局部顏色表資訊進行訓練以生成所述RGB資料的局部顏色表資訊,並採用所述RGB資料的局部顏色表資訊對所述各圖元點的RGB值進行更新。最終採用所述延時時間和所述總幀數將更新後的所述RGB資料進行圖像編碼以生成所述圖片檔。
請參見圖14,為本發明實施例提供了又一種圖片檔處理方法的流程示意圖。如圖14所示,本發明實施例中的圖片檔處理設備可以為分散式服務設備,或者可以為分散式服務設備中的影像處理模組,本發明實施例的所述方法可以包括以下步驟S701-步驟S705。
S701,根據原始圖片檔生成圖片檔的圖片頭資訊資料段,並將圖片檔中每幀圖像轉換為YUV資料。即,解碼原始圖片檔以生成所述圖片檔的圖片頭資訊資料段,並將所述圖片檔中每幀圖像轉換為YUV資料。
一些實例中,圖片檔處理設備可以解碼原始圖片檔以生成所述圖片檔的圖片頭資訊資料段。所述圖片檔處理設備進一步將所述圖片檔中每幀圖像轉換為YUV資料。
S702,對所述YUV資料進行編碼以生成碼流資料。
一些實例中,所述圖片檔處理設備可以進一步對所述YUV 資料進行編碼處理,生成碼流資料,所述編碼可以包括預測編碼、變換編碼、量化編碼和熵編碼,例如:所述圖片檔處理設備可以採用IPPP模式對所述YUV資料進行壓縮,第一幀YUV資料為I幀,I幀即為幀內預測幀,其餘幀YUV資料為P幀,P幀即為幀間預測幀,可以有效的壓縮圖片檔的檔資料量,還可以採用固定QP的方式來穩定不同幀之間的品質等。熵編碼則可以包括哈夫曼編碼、算數編碼等。
S703,儲存壓縮圖像資料。
一些實例中,所述圖片檔處理設備可以生成壓縮圖像資料,所述圖片檔處理設備可以對所述壓縮圖像資料進行儲存,所述壓縮圖像資料包含所述圖片頭資訊資料段和所述碼流資料。
S704,解析所述壓縮圖像資料以獲取所述圖片頭資訊資料段和所述碼流資料。
一些實例中,所述圖片檔處理設備可以對所述壓縮圖像資料進行解析處理,以獲取所述壓縮圖像資料中的所述圖片頭資訊資料段和所述碼流資料。
S705,根據所述碼流資料生成所述YUV資料,並基於所述圖片頭資訊資料段對所述YUV資料進行編碼處理以生成所述圖片檔,即,解碼所述碼流資料以生成YUV資料,並基於所述圖片頭資訊資料段對YUV資料進行編碼處理以生成圖片檔。
一些實例中,所述圖片檔處理設備解碼所述碼流資料以生成所述YUV資料,並基於圖片頭資訊資料段中的時延資訊、總幀數、全域顏色表資訊等對所述YUV資料進行編碼處理以生成所述圖片檔。
在本發明實施例中,根據原始的圖片檔生成圖片檔的圖片頭資訊資料段,將圖片檔中每幀圖像轉換為YUV資料,再基於YUV資料進行編碼後得到的碼流資料以及圖片頭資訊資料段生成壓縮圖像資料,並將壓縮圖像資料進行儲存,在獲取到壓縮圖像資料時,可以根據碼流資料生成YUV資料,再基於圖片頭資訊資料段對YUV資料進行處理生成圖片檔。通過將檔資料量較大的圖片檔中每幀圖像轉換為資料量較小的YUV資料,再對YUV資料編碼得到碼流資料,極大的縮小了圖片檔在傳輸過程中的檔資料量,降低了儲存成本。
請參見圖15,為本發明實施例提供了又一種圖片檔處理方法的流程示意圖。如圖15所示,本發明實施例中的圖片檔處理設備可以為分散式服務設備,或者可以為分散式服務設備中的影像處理模組,本發明實施例具體闡述了將圖片檔案壓縮為壓縮圖像資料的過程,所述方法可以包括以下步驟S801-步驟S807。
S801,解碼原始圖片檔。
S802,判斷所述圖片檔的顏色表資訊是否為所述圖片檔的全域顏色表資訊。
一些實例中,所述圖片檔處理設備可以解碼原始圖片檔,可以理解的是,所述全域顏色表資訊包含所述圖片檔中每幀圖像的每個圖元點的RGB值,針對一些圖片檔,其包含的所有圖像均共用一個全域顏色表資訊,而對於另外一些圖片檔,其每幀圖像都存在各自的局部顏色表資訊,所述圖片檔處理設備可以進一步判斷所述圖片檔中的顏色表資訊是否為所述圖片檔的全域顏色表資訊,若是,則轉入執行步驟S803。若否,則轉入 執行步驟S804。
S803,生成包含延時資訊、總幀數、全域顏色表資訊的圖片頭資訊資料段以及圖片檔中每幀圖像對應的RGB資料。
一些實例中,當判斷所述圖片檔的顏色表資訊為所述圖片檔的全域顏色表資訊時,所述圖片檔處理設備可以生成包含延時資訊、總幀數、全域顏色表資訊等的圖片頭資訊資料段,所述延時資訊記錄有所述圖片檔中每幀圖像之間的播放間隔時間,所述總幀數為所述圖片檔中的圖像幀數,同時還生成所述圖片檔中每幀圖像對應的RGB資料。
S804,生成包含延時資訊、總幀數的圖片頭資訊資料段以及圖片檔中每幀圖像對應的RGB資料。
一些實例中,當判斷所述圖片檔的顏色表資訊不為所述圖片檔的全域顏色表資訊時,所述圖片檔處理設備可以生成包含延時資訊、總幀數等的圖片頭資訊資料段,所述延時資訊記錄有所述圖片檔中每幀圖像之間的播放間隔時間,所述總幀數為所述圖片檔中的圖像幀數,同時還生成所述圖片檔中每幀圖像對應的RGB資料。
S805,採用顏色空間轉換公式將所述RGB資料轉換為YUV資料。
一些實例中,所述圖片檔處理設備可以採用顏色空間轉換公式將所述RGB資料轉換為YUV資料。
S806,對所述YUV資料進行編碼以生成碼流資料。
一些實例中,在對所述YUV資料進行編碼過程中,可以支援使用者添加配置參數,所述配置參數可以為對所述YUV資料進行編碼的 參數。所述圖片檔處理設備可以採用配置參數對所述YUV資料進行編碼以生成碼流資料。
一些實例中,在對所述YUV資料進行編碼過程中,還可以支援使用者添加編碼器複雜度,所述編碼器複雜度可以為根據所述圖片檔處理設備的硬體性能所決定的編碼的精細度參數。所述圖片檔處理設備可以配置編碼器複雜度對所述YUV資料進行編碼以生成碼流資料。
S807,儲存壓縮圖像資料。
在本發明實施例中,根據原始的圖片檔生成圖片檔的圖片頭資訊資料段,將圖片檔中每幀圖像轉換為YUV資料,再基於YUV資料進行編碼後得到的碼流資料以及圖片頭資訊資料段生成壓縮圖像資料,並將壓縮圖像資料進行儲存。通過將檔資料量較大的圖片檔中每幀圖像轉換為資料量較小的YUV資料,再對YUV資料編碼得到碼流資料,極大的縮小了圖片檔在儲存過程中的檔資料量,降低了儲存成本。
請參見圖16,為本發明實施例提供了又一種圖片檔處理方法的流程示意圖。如圖16所示,本發明實施例中的圖片檔處理設備可以為分散式服務設備,或者可以為分散式服務設備中的影像處理模組,本發明實施例具體闡述了將壓縮圖像資料解壓為圖片檔的過程,所述方法可以包括以下步驟S901-步驟S907。
S901,解析所述壓縮圖像資料以獲取所述圖片頭資訊資料段和所述碼流資料。
S902,解碼所述碼流資料以生成所述YUV資料,並採用顏色空間轉換公式將所述YUV資料轉換為RGB資料。
一些實例中,所述圖片檔處理設備解碼所述碼流資料以生成所述YUV資料,並可以採用顏色空間轉換公式將所述YUV資料轉換為RGB資料,一些實例中,所述接收端需要依據亮度分量的值域範圍確定所採用的顏色空間轉換公式。
S903,判斷所述圖片頭資訊資料段中是否包含所述圖片檔的全域顏色表資訊。
一些實例中,所述圖片檔處理設備判斷所述圖片頭資訊資料段中是否包含所述圖片檔的全域顏色表資訊,若是,則轉入執行步驟S904。若否,則轉入執行步驟S905。
由於之前對所述YUV資料進行過編碼處理,因此導致由所述YUV資料轉換的RGB資料存在失真的情況,所述圖片檔處理設備可以採用所述全域顏色表資訊對所述RGB資料中的各圖元點的RGB值進行更新。
S904,當所述RGB資料為圖片檔中的第一幀圖像時,採用RGB資料中的各圖元點的RGB值對所述全域顏色表資訊進行訓練以生成RGB資料的局部顏色表資訊,並採用RGB資料的局部顏色表資訊對各圖元點的RGB值進行更新。
一些實例中,針對圖片頭資訊資料段中存在全域顏色表資訊的情況,當所述RGB資料為所述圖片檔中的第一幀圖像,所述圖片檔處理設備可以採用所述RGB資料中的各圖元點的RGB值對所述全域顏色表資訊進行訓練以生成所述RGB資料的局部顏色表資訊,並採用所述RGB資料的局部顏色表資訊對所述各圖元點的RGB值進行更新。
一些實例中,當所述RGB資料為所述圖片檔中的第一幀圖 像,且所述圖片頭資訊資料段中存在全域顏色表資訊時,所述圖片檔處理設備可以將所述全域顏色表資訊中的至少一個源RGB值按照G分量的預設排序方式(例如:昇冪、降冪等)進行排序,以生成訓練顏色表資訊。
所述圖片檔處理設備在所述訓練顏色表資訊中獲取G分量與所述RGB資料中當前圖元點的G分量最接近的第一源RGB值,並獲取所述第一源RGB值的第一色彩索引。
所述圖片檔處理設備在所述訓練顏色表資訊中以所述第一色彩索引為中心的預設範圍內,獲取與所述當前圖元點的RGB值誤差最小的第二源RGB值,並獲取所述第二源RGB值的第二色彩索引,可以理解的是,所述圖片檔處理設備可以以所述第一色彩索引為中心,在所述第一色彩索引的前後預設範圍內獲取多個源RGB值,並分別計算所述第一源RGB值以及所述多個源RGB值與所述當前圖元點的RGB值的誤差,並將多個源RGB值中誤差最小的源RGB值確定為第二源RGB值。
所述圖片檔處理設備將所述第二源RGB值替換為所述當前圖元點的RGB值,並採用預設權重值和所述當前圖元點的RGB值,對所述訓練顏色表資訊中以所述第二色彩索引為中心的預設範圍內的多個源RGB值進行修改。
當所述當前圖元點不為所述RGB資料中的最後一個圖元點時,例如當前圖元點為圖4或圖5中所示的RGB資料中的第一個圖元點時,所述圖片檔處理設備獲取修改後得到的所述訓練顏色表資訊,將所述當前圖元點的下一個圖元點作為當前圖元點,並轉入執行在所述訓練顏色表資訊中獲取G分量與所述RGB資料中當前圖元點的G分量最接近的第一源 RGB值,例如:將所述RGB資料中的第二個圖元點作為當前圖元點,對修改後得到的所述訓練顏色表資訊再一次進行訓練。一些實例中訓練過程可以參見上述訓練過程的描述,在此不進行贅述。
當所述當前圖元點為所述RGB資料中的最後一個圖元點時,例如當前圖元點為圖4或圖5中所示的RGB資料中的第四個圖元點時,所述圖片檔處理設備獲取修改後得到的所述訓練顏色表資訊,並將所述訓練顏色表資訊確定為所述RGB資料的局部顏色表資訊。
所述圖片檔處理設備可以採用所述RGB資料的局部顏色表資訊對所述各圖元點的RGB值進行更新,一些實例中,所述圖片檔處理設備可以在所述RGB資料的局部顏色表資訊中依次獲取與所述各圖元點相同或誤差最小的源RGB值分別替換所述各圖元點的RGB值,在一些實例中,所述圖片檔處理設備可以將與所述各圖元點相同或誤差最小的源RGB值對應的色彩索引分別替換所述各圖元點的RGB值,請一併參見圖6,依據上述舉例,所述RGB資料的第一個圖元點的RGB值為(9,9,9),在所述局部顏色表資訊中與(9,9,9)誤差最小的為(9,9,8),則將(9,9,8)對應的色彩索引“8”替換所述第一個圖元點的RGB值,同理,第二個圖元點的色彩索引為“10”,第三個圖元點的色彩索引為“9”,第四個圖元點的色彩索引為“6”。
S905,當所述RGB資料為圖片檔中的第一幀圖像時,採用RGB資料中的各圖元點的RGB值對初始化顏色表資訊進行訓練以生成RGB資料的局部顏色表資訊,並採用RGB資料的局部顏色表資訊對各圖元點的RGB值進行更新。
一些實例中,針對圖片頭資訊資料段中不存在全域顏色表資訊的情況,當所述RGB資料為所述圖片檔中的第一幀圖像,所述圖片檔處理設備可以採用所述RGB資料中的各圖元點的RGB值對初始化顏色表資訊進行訓練以生成所述RGB資料的局部顏色表資訊,並採用所述RGB資料的局部顏色表資訊對所述各圖元點的RGB值進行更新。
一些實例中,當所述RGB資料為所述圖片檔中的第一幀圖像,且所述圖片頭資訊資料段中不存在全域顏色表資訊時,所述圖片檔處理設備可以生成一個初始化顏色表資訊,例如:(0,0,0)、(1,1,1)、(2,2,2)、……、(255,255,255),所述圖片檔處理設備在初始化顏色表資訊中獲取G分量與所述RGB資料中當前圖元點的G分量最接近的第三源RGB值,並獲取所述第三源RGB值的第三色彩索引,所述圖片檔處理設備在所述初始化顏色表資訊中以所述第三色彩索引為中心的預設範圍內,獲取與所述當前圖元點的RGB值誤差最小的第四源RGB值,並獲取所述第四源RGB值的第四色彩索引,所述圖片檔處理設備將所述第四源RGB值替換為所述當前圖元點的RGB值,並採用預設權重值和所述當前圖元點的RGB值,對所述初始化顏色表資訊中以所述第四色彩索引為中心的預設範圍內的多個源RGB值進行修改,當所述當前圖元點不為所述RGB資料中的最後一個圖元點時,所述圖片檔處理設備獲取修改後得到的所述初始化顏色表資訊,將所述當前圖元點的下一個圖元點作為當前圖元點,並轉入執行在所述初始化顏色表資訊中獲取G分量與所述RGB資料中當前圖元點的G分量最接近的第三源RGB值,當所述當前圖元點為所述RGB資料中的最後一個圖元點時,所述圖片檔處理設備獲取修改後得到的所述訓練顏色表資 訊,並將所述初始化顏色表資訊確定為所述RGB資料的局部顏色表資訊,所述圖片檔處理設備可以採用所述RGB資料的局部顏色表資訊對所述各圖元點的RGB值進行更新。需要說明的是,各實例中對初始化顏色表資訊進行訓練以及採用RGB資料的局部顏色表資訊對各圖元點的RGB值進行更新的過程均可以參見前述方式的執行過程,在此不進行贅述。
S906,當所述RGB資料為圖片檔中的第N幀圖像時,採用RGB資料中的各圖元點的RGB值對第N-1幀RGB資料的局部顏色表資訊進行訓練以生成RGB資料的局部顏色表資訊,並採用RGB資料的局部顏色表資訊對各圖元點的RGB值進行更新。
一些實例中,當所述RGB資料為所述圖片檔中的第N幀圖像時,所述圖片檔處理設備可以將第N-1幀RGB資料的局部顏色表資訊中的至少一個源RGB值按照G分量的預設排序方式進行排序,以生成訓練顏色表資訊,所述圖片檔處理設備在所述訓練顏色表資訊中獲取G分量與所述RGB資料中當前圖元點的G分量最接近的第五源RGB值,並獲取所述第五源RGB值的第五色彩索引,所述圖片檔處理設備在所述訓練顏色表資訊中以所述第五色彩索引為中心的預設範圍內,獲取與所述當前圖元點的RGB值誤差最小的第六源RGB值,並獲取所述第六源RGB值的第六色彩索引,所述圖片檔處理設備將所述第六源RGB值替換為所述當前圖元點的RGB值,並採用預設權重值和所述當前圖元點的RGB值,對所述訓練顏色表資訊中以所述第六色彩索引為中心的預設範圍內的多個源RGB值進行修改,當所述當前圖元點不為所述RGB資料中的最後一個圖元點時,所述圖片檔處理設備獲取修改後得到的所述訓練顏色表資訊,將所述當前圖元點的下一個圖元 點作為當前圖元點,並轉入執行在所述訓練顏色表資訊中獲取G分量與所述RGB資料中當前圖元點的G分量最接近的第五源RGB值,當所述當前像素點為所述RGB資料中的最後一個圖元點時,所述圖片檔處理設備獲取修改後得到的所述訓練顏色表資訊,並將所述訓練顏色表資訊確定為所述RGB資料的局部顏色表資訊,所述圖片檔處理設備可以採用所述RGB資料的局部顏色表資訊對所述各圖元點的RGB值進行更新。需要說明的是,各實例中對訓練顏色表資訊進行訓練以及採用RGB資料的局部顏色表資訊對各圖元點的RGB值進行更新的過程均可以參見前述方式的執行過程,在此不進行贅述。
S907,採用所述延時時間和所述總幀數將更新後的所述RGB資料進行圖像編碼以生成所述圖片檔。
一些實例中,所述圖片檔處理設備採用所述延時時間和所述總幀數將更新後的所述RGB資料進行圖像編碼以生成所述圖片檔。在一些實例中,所述圖片檔處理設備可以基於所述延時時間和所述總幀數,並採用LZW對所述RGB資料中各圖元點的色彩索引進行圖像編碼,生成所述圖片檔,所述圖片檔處理設備可以對所述圖片檔進行儲存或者展示。
請參見圖17,為本發明實施例提供了又一種圖片檔處理方法的流程示意圖。如圖17所示,本發明實施例提供的圖片檔處理方法為對圖15所示實施例的進一步描述,所述方法包括以下步驟S1001-步驟S1009。
S1001,解碼原始圖片檔。
S1002,判斷所述圖片檔的顏色表資訊是否為所述圖片檔的全域顏色表資訊。
S1003,生成包含延時資訊、總幀數、全域顏色表資訊的圖片頭資訊資料段以及圖片檔中每幀圖像對應的RGB資料。
S1004,生成包含延時資訊、總幀數的圖片頭資訊資料段以及圖片檔中每幀圖像對應的RGB資料。
S1005,判斷所採用的配置參數是否為無損模式參數。
一些實例中,所述圖片檔處理設備可以獲取使用者自訂資訊資料段,所述使用者自訂資訊資料段可以包括配置參數及編碼器複雜度等,所述配置參數可以為對所述YUV資料進行編碼的參數。若獲取的配置參數為無損模式參數,則可以直接對所述RGB資料進行編碼生成碼流資料,若獲取的配置參數為標清模式參數或者高清模式參數,則需要將RGB資料轉換為YUV資料,再對所述YUV資料進行編碼以生成碼流資料。一些實例中,所述圖片檔處理設備可以判斷使用者自訂資訊資料段中所採用的配置參數是否為無損模式參數,若是,則轉入執行步驟S1006。若否,則轉入執行步驟S1007-S1008。
所述編碼器複雜度可以為根據所述圖片檔處理設備的硬體性能所決定的編碼的精細度參數。
S1006,對所述RGB資料進行編碼生成碼流資料。
一些實例中,若所述圖片檔處理設備判斷使用者自訂資訊資料段中所採用的配置參數為無損模式參數,則所述圖片檔處理設備可以對所述RGB資料進行編碼生成碼流資料,所述編碼可以包括預測編碼、變換編碼、量化編碼和熵編碼,例如:所述圖片檔處理設備可以採用IPPP模式對所述RGB資料進行壓縮,第一幀RGB資料為I幀,I幀即為幀內預測幀,其 餘幀RGB資料為P幀,P幀即為幀間預測幀,可以有效的壓縮圖片檔的檔資料量,還可以採用固定QP的方式來穩定不同幀之間的品質等。熵編碼則可以包括哈夫曼編碼、算數編碼等。
S1007,採用顏色域轉換公式將所述RGB資料轉換為YUV資料。
一些實例中,若所述圖片檔處理設備判斷使用者自訂資訊資料段中所採用的配置參數為無損模式參數,則所述圖片檔處理設備可以採用顏色空間轉換公式將所述RGB資料轉換為YUV資料。
S1008,對所述YUV資料進行編碼以生成碼流資料。
S1009,將配置參數添加至圖片頭資訊資料段中,儲存壓縮圖像資料。
一些實例中,所述圖片檔處理設備可以將所述配置參數添加至圖片頭資訊資料段中,一些實例中,所述圖片檔處理設備可以將所述使用者自訂資訊資料段添加至所述圖片頭資訊資料段中。
其中,本發明實施例的步驟S1001-步驟S1004可以分別參見圖15所示實施例的步驟S801-步驟S804的具體描述,在此不進行贅述。
在本發明實施例中,根據原始的圖片檔生成圖片檔的圖片頭資訊資料段,將圖片檔中每幀圖像轉換為YUV資料,再基於YUV資料進行編碼後得到的碼流資料以及圖片頭資訊資料段生成壓縮圖像資料,並將壓縮圖像資料進行儲存。通過將檔資料量較大的圖片檔中每幀圖像轉換為資料量較小的YUV資料,再對YUV資料編碼得到碼流資料,極大的縮小了圖片檔在儲存過程中的檔資料量,降低了儲存成本。通過加入使用者自訂的 配置參數,可以依據不同的配置參數實現不同清晰程度的編碼過程,提升了使用者體驗。
請參見圖18,為本發明實施例提供了又一種圖片檔處理方法的流程示意圖。如圖18所示,本發明實施例提供的圖片檔處理方法為對圖16所示實施例的進一步描述,所述方法包括以下步驟S1101-步驟S1112。
S1101,解析所述壓縮圖像資料以獲取所述圖片頭資訊資料段和所述碼流資料。
在一些實例中,所述圖片頭資訊資料段還可以包括使用者自訂資訊資料段,所述使用者自訂資訊資料段可以包括配置參數及編碼器複雜度等,所述配置參數可以為先前對所述YUV資料進行編碼的參數,所述配置參數可以包括標清模式參數、高清模式參數和無損模式參數中的任一種。所述編碼器複雜度可以為根據發送端的硬體性能所決定的編碼的精細度參數,所述編碼器複雜度可以包括第一複雜度、第二複雜度和第三複雜度中的任一種,所述第一複雜度高於所述第二複雜度,所述第二複雜度高於所述第三複雜度。
需要說明的是,上述的性能數值、第一預設數值範圍、第二通預設數值範圍以及第三預設數值範圍具體可以根據開發人員的人為經驗進行設定。
S1102,判斷圖片頭資訊資料段中的配置參數是否為無損模式參數。
一些實例中,所述圖片檔處理設備可以判斷圖片頭資訊資料段中的配置參數是否為無損模式參數,若是,則轉入執行步驟S1103。若否, 則轉入執行步驟S1104-S1107。
S1103,解碼所述碼流資料以生成RGB資料。
一些實例中,若所述圖片頭資訊資料段中的配置參數為無損模式參數,由於在無損模式下,是直接對RGB資料進行編碼生成的碼流資料,因此所述圖片檔處理設備可以解碼所述碼流資料直接生成RGB資料。
S1104,判斷配置參數是否為YUV444模式參數。
一些實例中,若所述圖片頭資訊資料段中的配置參數不為無損模式參數,即所述圖片頭資訊資料段中的配置參數為標清模式參數或者高清模式參數,可以理解的是,所述標清模式參數優選為YUV420模式參數,所述高清模式參數優選為YUV444模式參數。所述圖片檔處理設備可以進一步判斷所述配置參數是否為YUV444模式參數,若是,則轉入執行步驟S1105。若否,則轉入執行步驟S1106-S1107。
S1105,解碼所述碼流資料以生成所述YUV資料,並採用顏色空間轉換公式將所述YUV資料轉換為RGB資料。
一些實例中,若所述圖片檔處理設備判斷所述配置參數為YUV444模式參數,即在對YUV資料進行編碼時,完整保留了YUV資料中各圖元點的亮度分量及色度分量,因此所述圖片檔處理設備解碼所述碼流資料直接生成所述YUV資料,需要說明的是,色度包括Cb和Cr兩種色差信號中的任一種的樣值矩陣和單個樣值。兩種色差信號需要分別進行上採樣處理,兩者進行上採樣處理的方式均相同,其中,Cb對應YUV中的U,Cr對應YUV中的V,YUV資料由Y圖像、Cb圖像和Cr圖像組成。所述圖片檔處理設備採用顏色空間轉換公式將所述YUV資料轉換為RGB資料。
S1106,執行色度分量上採樣處理。
一些實例中,若所述圖片檔處理設備判斷所述配置參數不為YUV444模式參數,即在對YUV資料進行編碼時,僅保留了YUV資料中各圖元點的亮度分量,但對YUV資料中各圖元點的色度分量進行了壓縮,例如:在採用YUV420模式參數對所述YUV資料進行編碼的過程中,可以將YUV資料中上下左右相鄰的四個圖元點的色度分量壓縮為一個色度分量。因此所述圖片檔處理設備需要解碼所述碼流資料以生成所述YUV資料,並對所述YUV資料執行色度分量上採樣處理,即將一個色度分量還原為四個圖元點的色度分量的處理。需要說明的是,色度包括Cb和Cr兩種色差信號中的任一種的樣值矩陣和單個樣值。兩種色差信號需要分別進行上採樣處理,兩者進行上採樣處理的方式均相同,其中,Cb對應YUV中的U,Cr對應YUV中的V,YUV資料由Y圖像、Cb圖像和Cr圖像組成。下面將結合YUV420模式中的Cb圖像進行說明。
請一併參見圖19和圖20,如圖19所示,為壓縮後的Cb圖像,即源Cb圖像,包含(H*K)個圖元點,由於配置參數為YUV420模式參數,因此需要採用上採樣演算法將包含(H*K)個圖元點的源Cb圖像還原為如圖20所示的包含(2H*2K)個圖元點的目標Cb圖像,其中src(x,y)表示源Cb圖像中的圖元點,dst(x,y)表示目標Cb圖像中的圖元點,所述上採樣演算法可以包括:
(1)針對dst(x,y)屬於目標Cb圖像中非邊界圖元點,非邊界圖元點每個上採樣的Cb值由源Cb圖像對應位置相鄰四個圖元點的Cb值共同決定。具體計算規則如下: dst(2x,2y)=Clip3(0,255,(src(x-1,y-1)+3*src(x,y-1)+3*src(x-1,y)+9*src(x,y)+8)>>4)。
dst(2x-1,2y)=Clip3(0,255,(3*src(x-1,y-1)+src(x,y-1)+9*src(x-1,y)+3*src(x,y)+8)>>4)。
dst(2x,2y-1)=Clip3(0,255,(3*src(x-1,y-1)+9*src(x,y-1)+src(x-1,y)+3*src(x,y)+8)>>4)。
dst(2x-1,2y-1)=Clip3(0,255,(9*src(x-1,y-1)+3*src(x,y-1)+3*src(x-1,y)+src(x,y)+8)>>4)。
其中,0<x<W,0<y<H,“+8”用於對Cb值進行四捨五入,“>>4”用於對公式中的加權值(1+3+3+9)進行清除,即表示除以2的4次方。
(2)針對dst(x,y)屬於目標Cb圖像中的角點,目標Cb圖像中的角點的Cb值由源Cb圖像中的角點的Cb值決定。具體計算規則如下:dst(0,0)=src(0,0)。
dst(0,2H-1)=src(0,H-1)。
dst(2W-1,0)=src(W-1,0)。
dst(2W-1,2H-1)=src(W-1,H-1)。
(3)針對dst(x,y)屬於目標Cb圖像的第一行中和最後一行中除角點外的圖元點,目標Cb圖像的第一行中和最後一行中除角點外的圖元點的Cb值,由源Cb圖像中的第一行中和最後一行中左右相鄰的兩個圖元點的Cb值決定。具體計算規則如下: dst(2x,0)=Clip3(0,255,(src(x-1,0)+3*src(x,0)+2)>>2)。
dst(2x-1,0)=Clip3(0,255,(3*src(x-1,0)+src(x,0)+2)>>2)。
dst(2x,2H-1)=Clip3(0,255,(src(x-1,2H-1)+3*src(x,2H-1)+2)>>2)。
dst(2x-1,2H-1)=Clip3(0,255,(3*src(x-1,2H-1)+src(x,2H-1)>>2)>>2};其中,0<x<W,“+2”用於對Cb值進行四捨五入,“>>2”用於對公式中的加權值(1+3)進行清除,即表示除以2的2次方。
(4)針對dst(x,y)屬於目標Cb圖像的第一列中和最後一列中除角點外的圖元點,目標Cb圖像的第一列中和最後一列中除角點外的圖元點的Cb值,由源Cb圖像中的第一列中和最後一列中上下相鄰的兩個圖元點的Cb值決定。具體計算規則如下:dst(0,2y-1)=Clip3(0,255,(src(0,y-1)+3*src(0,y)+2)>>2)。
dst(0,2y)=Clip3(0,255,(3*src(0,y)+src(0,y-1)+2)>>2)。
dst(2W-1,2y-1)=Clip3(0,255,(src(2W-1,y-1)+3*src(2W-1,y)+2)>>2)。
dst(2W-1,2y)=Clip3(0,255,(3*src(2W-1,y)+src(2W-1,y-1)+2)>>2)。
其中,0<y<H,“+2”用於對Cb值進行四捨五入,“>>2”用於對公式中的加權值(1+3)進行清除,即表示除以2的2次方。
通過上述計算規則可以得到目標Cb圖像中所有圖元點的Cb值,可以理解的是,上述公式中的加權值可以依據經驗值進行確定。同理,可以採用上述計算規則得到目標Cr圖像中所有圖元點的Cr值。以此完成對色度分量上採樣處理的處理過程。
S1107,採用顏色空間轉換公式將所述YUV資料轉換為RGB資料。
一些實例中,所述圖片檔處理設備可以採用顏色空間轉換公式將所述YUV資料轉換為RGB資料,一些實例中,所述圖片檔處理設備需要依據亮度分量的值域範圍確定所採用的顏色空間轉換公式。
S1108,判斷所述圖片頭資訊資料段中是否包含所述圖片檔的全域顏色表資訊。
S1109,當所述RGB資料為圖片檔中的第一幀圖像時,採用RGB資料中的各圖元點的RGB值對所述全域顏色表資訊進行訓練以生成RGB資料的局部顏色表資訊,並採用RGB資料的局部顏色表資訊對各圖元點的RGB值進行更新。
S1110,當所述RGB資料為圖片檔中的第一幀圖像時,採用RGB資料中的各圖元點的RGB值對初始化顏色表資訊進行訓練以生成RGB資料的局部顏色表資訊,並採用RGB資料的局部顏色表資訊對各圖元點的RGB值進行更新。
S1111,當所述RGB資料為圖片檔中的第N幀圖像時,採用 RGB資料中的各圖元點的RGB值對第N-1幀RGB資料的局部顏色表資訊進行訓練以生成RGB資料的局部顏色表資訊,並採用RGB資料的局部顏色表資訊對各圖元點的RGB值進行更新。
S1112,採用所述延時時間和所述總幀數將更新後的所述RGB資料進行圖像編碼以生成所述圖片檔。
其中,本發明實施例的步驟S1108-步驟S1112可以分別參見圖16所示實施例的步驟S903-步驟S907的具體描述,在此不進行贅述。
請參見圖21A,為本發明實施例提供了又一種圖片檔處理方法的流程示意圖。該方法可以由計算設備執行。如圖21A所示,所述方法可以包括以下步驟。
S1201A,獲取第一圖片檔的色彩資料,所述色彩資料包括各圖元點的色彩值。
其中,所述色彩資料可以為RGB資料、或YUV資料等。計算設備可以通過獲取對第一圖片檔解碼生成的RGB資料,所述RGB資料包括各圖元點的RGB值。
S1202A,獲取初始顏色表,所述初始顏色表中各色彩值按照一個色彩分量的值的預設排序方式排列。即,採用所述各圖元點的RGB值對所述RGB資料的初始顏色表資訊進行訓練以生成RGB資料的局部顏色表資訊。
在一些實例中,計算設備可以獲取所述第一圖片檔中的全域顏色表。將所述全域顏色表中的色彩值按照一個色彩分量的值進行排序,得到所述初始顏色表。
在一些實例中,計算設備可以將預設的多個色彩值按照一個色彩分量的值以預設排序方式排列,以生成所述初始顏色表。
例如,所述初始顏色表可以為(0,0,0),(1,1,1),……(255,255,255)。
S1203A,根據所述各圖元點的色彩值中所述色彩分量的值在所述初始顏色表中搜索各圖元點在所述初始顏色表中對應的初始色彩值,利用所述初始色彩值對所述各圖元點的所述色彩值進行更新,即,採用所述RGB資料的局部顏色表資訊對所述各圖元點的RGB值進行更新。
在一些實例中,計算設備可以在所述初始顏色表中獲取所述色彩分量與所述圖元點的所述色彩分量最接近的第一色彩值,並獲取第一色彩值的第一色彩索引。在所述初始顏色表中以所述第一色彩索引為中心的預設範圍內,獲取與所述圖元點的色彩值誤差最小的第二色彩值作為所述初始色彩值。
在一些實例中,計算設備可以利用所述色彩資料中各圖元點的色彩值和所述初始色彩值對所述初始顏色表進行修改,得到所述色彩資料對應的局部顏色表,並採用所述局部顏色表對所述各圖元點的色彩值進行更新。
在一些實例中,計算設備可以獲取所述初始色彩值的第二色彩索引。將所述初始色彩值替換為所述圖元點的色彩值,並採用預設權重值和所述圖元點的色彩值,對所述訓練顏色表中以所述第二色彩索引為中心的預設範圍內的多個色彩值進行修改。將修改後的所述初始顏色表確定為所述局部顏色表。
S1204A,將修改後的所述初始顏色表確定為所述局部顏色表。
在一些實例中,當所述色彩資料為所述原始圖片檔的首幀圖像的色彩資料時,計算設備可以利用所述色彩資料對所述首幀圖像的初始顏色表進行訓練,得到所述首幀圖像對應的局部顏色表,所述首幀圖像的所述初始顏色表為所述初始顏色表。當所述色彩資料為所述原始圖片檔的第N幀圖像的色彩資料時,計算設備可以利用所述第二色彩資料對所述第N幀圖像對應的初始顏色表進行訓練,得到所述第N幀圖像對應的局部顏色表。其中,所述第N幀圖像對應的初始顏色表為所述原始圖片檔的第N-1幀圖像對應的局部顏色表,N為大於1的整數。
下面以所述色彩資料為RGB資料,所述RGB資料為對第一圖片檔解碼生成的舉例說明,請參見圖21B,為本發明實施例提供了又一種圖片檔處理方法的流程示意圖。如圖21B所示,本發明實施例具體闡述了對顏色表資訊進行訓練以及圖元點的RGB值更新的過程,所述方法可以包括以下步驟S1201B-步驟S1203B。
S1201B,獲取對原始圖片檔解碼生成的RGB資料,獲取RGB資料中的各圖元點的RGB值。例如獲取第一圖片檔的色彩資料,所述色彩資料包括各圖元點的色彩值。
一些實例中,圖片檔處理設備可以獲取對原始圖片檔解碼生成的RGB資料,可以理解的是,對所述圖片檔進行解碼可以生成所述圖片檔的圖片頭資訊資料段以及所述圖片檔中每幀圖像對應的RGB資料。所述RGB資料可以轉換為YUV資料,並將YUV資料進行編碼生成碼流資料,進 一步生成包含碼流資料和圖片頭資訊資料段的壓縮圖像資料,所述壓縮圖像資料可以用於儲存,或者傳輸至圖片檔處理設備進行圖片檔的還原。在一些實例中,所述圖片檔處理設備獲取所述壓縮圖像資料,可以解析所述壓縮圖像資料以獲取所述圖片頭資訊資料段和所述碼流資料,並解碼所述碼流資料生成YUV資料,進一步將YUV資料轉換為RGB資料,所述圖片檔處理設備獲取所述RGB資料,並獲取所述RGB資料中的各圖元點的RGB值。
S1202B,採用各圖元點的RGB值對RGB資料的初始顏色表資訊進行訓練以生成RGB資料的局部顏色表資訊。例如獲取初始顏色表,所述初始顏色表中各色彩值按照一個色彩分量的值的預設排序方式排列。
一些實例中,所述圖片檔處理設備可以判斷所述圖片頭資訊資料段中是否包含所述圖片檔的全域顏色表資訊,若是,則將所述全域顏色表資訊確定為所述圖片檔中的第一幀RGB資料的初始顏色表資訊,若否,則生成初始化顏色表資訊,確定為所述圖片檔中的第一幀RGB資料的初始顏色表資訊。採用第一幀RGB資料中各圖元點的RGB值對初始顏色表資訊進行訓練,生成第一幀RGB資料的局部顏色表資訊,而對於第N幀RGB資料,可以將第N-1幀RGB資料的局部顏色表資訊作為所述第N幀RGB資料的初始顏色表資訊,並採用第N幀RGB資料中各圖元點的RGB值對第N幀RGB資料的初始顏色表資訊進行訓練,生成第N幀RGB資料的局部顏色表資訊,其中N為大於1的正整數。
S1203B,採用RGB資料的局部顏色表資訊對各圖元點的RGB值進行更新。例如根據所述各圖元點的色彩值中所述色彩分量的值在所述初始顏色表中搜索各圖元點在所述初始顏色表中對應的初始色彩值, 利用所述初始色彩值對所述各圖元點的所述色彩值進行更新。
一些實例中,所述圖片檔處理設備可以採用所述RGB資料的局部顏色表資訊對所述各圖元點的RGB值進行更新,所述圖片檔處理設備採用所述延時時間和所述總幀數將更新後的所述RGB資料進行圖像編碼以生成所述圖片檔。
S1204B,將更新後的所述色彩資料進行圖像編碼以生成所述第二圖片檔。
在本發明實施例中,通過對全域顏色表資訊或初始化顏色表資訊進行訓練,生成RGB資料的局部顏色表資訊,有效的減少了圖像的失直。
請參見圖22,為本發明實施例提供了又一種圖片檔處理方法的流程示意圖。如圖22所示,本發明實施例具體闡述了對顏色表資訊進行訓練以及圖元點的RGB值更新的過程,所述方法可以包括以下步驟S1301-步驟S1306。
S1301,獲取對原始圖片檔解碼生成的RGB資料,獲取RGB資料中的各圖元點的RGB值。
一些實例中,圖片檔處理設備可以獲取對原始圖片檔解碼生成的RGB資料。所述RGB資料可以轉換為YUV資料,並將YUV資料進行編碼生成碼流資料,進一步生成包含碼流資料和圖片頭資訊資料段的壓縮圖像資料,所述壓縮圖像資料可以用於儲存,或者傳輸至圖片檔處理設備進行圖片檔的還原。
S1302,判斷解碼圖片檔生成的圖片頭資訊資料段中是否包 含圖片檔的全域顏色表資訊。
一些實例中,所述圖片檔處理設備判斷所述圖片頭資訊資料段中是否包含所述圖片檔的全域顏色表資訊,若是,則轉入執行步驟S1103。若否,則轉入執行步驟1104。
S1303,當所述RGB資料為圖片檔中的第一幀圖像時,採用RGB資料中的各圖元點的RGB值對所述全域顏色表資訊進行訓練以生成RGB資料的局部顏色表資訊。
S1304,當所述RGB資料為圖片檔中的第一幀圖像時,採用RGB資料中的各圖元點的RGB值對初始化顏色表資訊進行訓練以生成RGB資料的局部顏色表資訊。
S1305,當所述RGB資料為圖片檔中的第N幀圖像時,採用RGB資料中的各圖元點的RGB值對第N-1幀RGB資料的局部顏色表資訊進行訓練以生成RGB資料的局部顏色表資訊。
S1306,採用RGB資料的局部顏色表資訊對各圖元點的RGB值進行更新。
一些實例中,所述圖片檔處理設備可以採用所述RGB資料的局部顏色表資訊對所述RGB資料中各圖元點的RGB值進行更新,所述圖片檔處理設備採用所述延時時間和所述總幀數將更新後的所述RGB資料進行圖像編碼以生成所述圖片檔。
在本發明實施例中,通過對全域顏色表資訊或初始化顏色表資訊進行訓練,生成RGB資料的局部顏色表資訊,有效的減少了圖像的失真。通過採用G分量獲取最接近的源RGB值,並在顏色表資訊中進行小範圍 的色彩索引搜索,無需遍歷整個顏色表資訊,降低了對局部顏色表資訊訓練的複雜度,進一步提升了圖片檔的編碼效率。
下面將結合附圖23-附圖24,對本發明實施例提供的圖片檔處理設備進行詳細介紹。需要說明的是,附圖23-附圖24所示的圖片檔處理設備,用於執行本發明圖8和圖9所示實施例的方法,並且具體為上述實施例中的發送端,為了便於說明,僅示出了與本發明實施例相關的部分,具體技術細節未揭示的,請參照本發明圖8和圖9所示的實施例。
請參見圖23,為本發明實施例提供了一種圖片檔處理設備的結構示意圖。如圖23所示,本發明實施例的所述圖片檔處理設備1可以包括:圖像轉換單元11、圖像壓縮單元12和碼流發送單元13。
圖像轉換單元11,用於根據原始圖片檔生成圖片檔的圖片頭資訊資料段,並將圖片檔中每幀圖像轉換為YUV資料。
一些實例中,所述圖像轉換單元11可以解碼原始圖片檔以生成所述圖片檔的圖片頭資訊資料段。所述圖像轉換單元11進一步將所述圖片檔中每幀圖像轉換為YUV資料。
一些實例中,請一併參見圖24,為本發明實施例提供了一種圖像轉換單元的結構示意圖。如圖24所示,所述圖像轉換單元11可以包括:圖像解碼子單元111,用於解碼原始圖片檔以生成圖片檔的圖片頭資訊資料段以及圖片檔中每幀圖像對應的RGB資料。
一些實例中,所述圖像解碼子單元111可以解碼原始圖片檔以生成所述圖片檔的圖片頭資訊資料段以及所述圖片檔中每幀圖像對應的RGB資料。
圖像轉換子單元112,用於採用顏色空間轉換公式將所述RGB資料轉換為YUV資料。
一些實例中,所述圖像轉換子單元112可以採用顏色空間轉換公式將所述RGB資料轉換為YUV資料。
圖像壓縮單元12,用於對所述YUV資料進行編碼以生成碼流資料。
一些實例中,所述圖像壓縮單元12可以進一步對所述YUV資料進行編碼處理,生成碼流資料,所述編碼可以包括預測編碼、變換編碼、量化編碼和熵編碼,例如:所述圖像壓縮單元12可以採用IPPP模式對所述YUV資料進行壓縮,第一幀YUV資料為I幀,I幀即為幀內預測幀,其餘幀YUV資料為P幀,P幀即為幀間預測幀,可以有效的壓縮圖片檔的檔資料量,還可以採用固定QP的方式來穩定不同幀之間的品質等。熵編碼則可以包括哈夫曼編碼、算數編碼等。
一些實例中,在對所述YUV資料進行編碼過程中,可以支援使用者添加配置參數,所述配置參數可以為對所述YUV資料進行編碼的參數。所述圖像壓縮單元12可以採用配置參數對所述YUV資料進行編碼以生成碼流資料。
一些實例中,在對所述YUV資料進行編碼過程中,還可以支援使用者添加編碼器複雜度,所述編碼器複雜度可以為根據所述圖片檔處理設備1的硬體性能所決定的編碼的精細度參數,所述編碼器複雜度可以包括第一複雜度、第二複雜度和第三複雜度中的任一種,所述第一複雜度高於所述第二複雜度,所述第二複雜度高於所述第三複雜度,例如:可以 對所述圖片檔處理設備1的硬體性能進行檢測以生成性能數值,例如:測試所述圖片檔處理設備1的中央處理器的計算速率等,當所述性能數值位於第一預設數值範圍內時,可以確定圖片檔處理設備1硬體性能很高,則可以推薦使用第一複雜度的編碼方式。當所述性能數值位於第二預設數值範圍內時,可以確定圖片檔處理設備1硬體性能中等,則可以推薦使用第二複雜度的編碼方式。當所述性能數值位於第三預設數值範圍內時,可以確定圖片檔處理設備1硬體性能較差,或者當前要求即時轉碼等,則可以推薦使用第三複雜度的編碼方式等。所述圖像壓縮單元12可以配置編碼器複雜度對所述YUV資料進行編碼以生成碼流資料。
碼流發送單元13,用於將所述壓縮圖像資料發送至接收端。
一些實例中,所述碼流發送單元13可以生成壓縮圖像資料,所述圖片檔處理設備1可以對所述壓縮圖像資料進行儲存,當檢測到接收端對所述圖片檔的請求時,所述碼流發送單元13再將所述壓縮圖像資料發送至所述接收端,例如:當圖片檔處理設備1檢測到包含所述圖片檔的網頁開啟時。所述碼流發送單元13也可以直接將所述壓縮圖像資料發送至所述接收端,例如:即時通信應用中的一個用戶端需要將所述圖片檔發送至另一個用戶端時,應用服務設備需要將所述圖片檔進行轉發等,所述壓縮圖像資料包含所述圖片頭資訊資料段和所述碼流資料。
所述接收端接收所述圖片檔處理設備1發送的所述壓縮圖像資料,所述接收端可以對所述壓縮圖像資料進行解析處理,以獲取所述壓縮圖像資料中的所述圖片頭資訊資料段和所述碼流資料。
請參見圖25,為本發明實施例提供了另一種圖片檔處理設備 的結構示意圖。如圖25所示,所述圖片檔處理設備1000可以包括:至少一個處理器1001,例如CPU,至少一個網路介面1004,使用者介面1003,記憶體1005,至少一個通信匯流排1002。其中,通信匯流排1002用於實現這些元件之間的連接通信。其中,使用者介面1003可以包括顯示幕(Display)、鍵盤(Keyboard),可選用戶介面1003還可以包括標準的有線介面、無線介面。網路介面1004一些實例中可以包括標準的有線介面、無線介面(如WI-FI介面)。記憶體1005可以是高速RAM記憶體,也可以是非不穩定的記憶體(non-volatile memory),例如至少一個磁碟記憶體。記憶體1005一些實例中還可以是至少一個位於遠離前述處理器1001的儲存裝置。如圖25所示,作為一種電腦儲存介質的記憶體1005中可以包括作業系統、網路通信模組、使用者介面模組以及影像處理應用程式。
在圖25所示的圖片檔處理設備1000中,網路介面1004主要用於連接接收端,與所述接收端進行資料通信。而使用者介面1003主要用於為使用者提供輸入的介面,獲取使用者輸入的資料。而處理器1001可以用於調用記憶體1005中儲存的影像處理應用程式,並具體執行以下步驟:根據原始圖片檔生成所述圖片檔的圖片頭資訊資料段,並將圖片檔中每幀圖像轉換為YUV資料。
對所述YUV資料進行編碼以生成碼流資料。
將壓縮圖像資料發送至接收端,所述壓縮圖像資料包含所述圖片頭資訊資料段和所述碼流資料,以使所述接收端解析所述壓縮圖像資料以獲取所述圖片頭資訊資料段和所述碼流資料,根據所述碼流資料生成所述YUV資料,使所述接收端基於所述圖片頭資訊資料段對所述YUV資料 進行處理以生成所述圖片檔。
在一個實施例中,所述處理器1001在執行根據原始圖片檔生成圖片檔的圖片頭資訊資料段,並將圖片檔中每幀圖像轉換為YUV資料時,具體執行以下步驟:解碼原始圖片檔以生成圖片檔的圖片頭資訊資料段以及圖片檔中每幀圖像對應的RGB資料,所述圖片頭資訊資料段包括延時資訊、總幀數、全域顏色表資訊。
採用顏色空間轉換公式將所述RGB資料轉換為YUV資料。
在一個實施例中,所述編碼包括預測編碼、變換編碼、量化編碼和熵編碼。
在一個實施例中,所述處理器1001在執行對所述YUV資料進行編碼以生成碼流資料時,具體執行以下步驟:採用配置參數對所述YUV資料進行編碼以生成碼流資料,所述配置參數為對所述YUV資料進行編碼的參數,所述配置參數包括標清模式參數、高清模式參數和無損模式參數中的任一種。
在一個實施例中,所述處理器1001在執行對所述YUV資料進行編碼以生成碼流資料時,具體執行以下步驟:配置編碼器複雜度對所述YUV資料進行編碼以生成碼流資料,所述編碼器複雜度為根據硬體性能所決定的編碼的精細度參數。
在一個實施例中,所述圖片檔為GIF圖像。
下面將結合附圖26-附圖27,對本發明實施例提供的圖片檔處理設備進行詳細介紹。需要說明的是,附圖26-附圖27所示的圖片檔處理 設備,用於執行本發明圖11和圖12所示實施例的方法,並且具體為上述實施例中的接收端,為了便於說明,僅示出了與本發明實施例相關的部分,具體技術細節未揭示的,請參照本發明圖11和圖12所示的實施例。
請參見圖26,為本發明實施例提供了又一種圖片檔處理設備的結構示意圖。如圖26所示,本發明實施例的所述圖片檔處理設備2可以包括:資訊獲取單元21和圖像編碼單元22。
資訊獲取單元21,用於接收發送端發送的針對原始圖片檔的壓縮圖像資料,解析所述壓縮圖像資料以獲取圖片檔的圖片頭資訊資料段和碼流資料。
一些實例中,發送端可以解碼原始圖片檔以生成所述圖片檔的圖片頭資訊資料段以及所述圖片檔中每幀圖像對應的RGB資料。
所述發送端可以採用顏色空間轉換公式將所述RGB資料轉換為YUV資料。
所述發送端可以進一步對所述YUV資料進行編碼處理,生成碼流資料。
所述發送端可以生成壓縮圖像資料,所述發送端可以對所述壓縮圖像資料進行儲存,當檢測到圖片檔處理設備2對所述圖片檔的請求時,所述發送端再將所述壓縮圖像資料發送至所述圖片檔處理設備2。
所述資訊獲取單元21接收所述發送端發送的所述壓縮圖像資料,所述資訊獲取單元21可以對所述壓縮圖像資料進行解析處理,以獲取所述壓縮圖像資料中的所述圖片頭資訊資料段和所述碼流資料。
圖像編碼單元22,用於根據所述碼流資料生成所述YUV資 料,並基於所述圖片頭資訊資料段對所述YUV資料進行處理以生成所述圖片檔。
一些實例中,所述圖像編碼單元22解碼所述碼流資料以生成所述YUV資料,並基於圖片頭資訊資料段中的時延資訊、總幀數、全域顏色表資訊等對所述YUV資料進行編碼處理以生成所述圖片檔。
一些實例中,請一併參見圖27,為本發明實施例提供了一種圖像編碼單元的結構示意圖。如圖27所示,所述圖像編碼單元22可以包括:圖像轉換子單元221,用於解碼所述碼流資料以生成所述YUV資料,並採用顏色空間轉換公式將所述YUV資料轉換為RGB資料。
一些實例中,所述圖像轉換子單元221解碼所述碼流資料以生成所述YUV資料,並可以採用顏色空間轉換公式將所述YUV資料轉換為RGB資料,一些實例中,所述圖像轉換子單元221需要依據亮度分量的值域範圍確定所採用的顏色空間轉換公式,圖元點更新子單元222,用於採用所述全域顏色表資訊對RGB資料中的各圖元點的RGB值進行更新。
一些實例中,由於之前對所述YUV資料進行過編碼處理,因此導致由所述YUV資料轉換的RGB資料存在失真的情況,所述圖元點更新子單元222可以採用所述全域顏色表資訊對所述RGB資料中的各圖元點的RGB值進行更新。
一些實例中,針對圖片頭資訊資料段中存在全域顏色表資訊的情況,當所述RGB資料為所述圖片檔中的第一幀圖像,所述圖元點更新子單元222可以採用所述RGB資料中的各圖元點的RGB值對所述全域顏色 表資訊進行訓練以生成所述RGB資料的局部顏色表資訊,並採用所述RGB資料的局部顏色表資訊對所述各圖元點的RGB值進行更新。
一些實例中,當所述RGB資料為所述圖片檔中的第一幀圖像,且所述圖片頭資訊資料段中存在全域顏色表資訊時,所述圖元點更新子單元222可以將所述全域顏色表資訊中的至少一個源RGB值按照G分量的預設排序方式(例如:昇冪、降冪等)進行排序,以生成訓練顏色表資訊。
所述圖元點更新子單元222在所述訓練顏色表資訊中獲取G分量與所述RGB資料中當前圖元點的G分量最接近的第一源RGB值,並獲取所述第一源RGB值的第一色彩索引。
所述圖元點更新子單元222在所述訓練顏色表資訊中以所述第一色彩索引為中心的預設範圍內,獲取與所述當前圖元點的RGB值誤差最小的第二源RGB值,並獲取所述第二源RGB值的第二色彩索引,可以理解的是,所述圖元點更新子單元222可以以所述第一色彩索引為中心,在所述第一色彩索引的前後預設範圍內獲取多個源RGB值,並分別計算所述第一源RGB值以及所述多個源RGB值與所述當前圖元點的RGB值的誤差,並將多個源RGB值中誤差最小的源RGB值確定為第二源RGB值。
所述圖元點更新子單元222將所述第二源RGB值替換為所述當前圖元點的RGB值,並採用預設權重值和所述當前圖元點的RGB值,對所述訓練顏色表資訊中以所述第二色彩索引為中心的預設範圍內的多個源RGB值進行修改。
當所述當前圖元點不為所述RGB資料中的最後一個圖元點時,例如當前圖元點為圖4或圖5中所示的RGB資料中的第一個圖元點時, 所述圖元點更新子單元222獲取修改後得到的所述訓練顏色表資訊,將所述當前圖元點的下一個圖元點作為當前圖元點,並轉入執行在所述訓練顏色表資訊中獲取G分量與所述RGB資料中當前圖元點的G分量最接近的第一源RGB值,例如:將所述RGB資料中的第二個圖元點作為當前圖元點,對修改後得到的所述訓練顏色表資訊再一次進行訓練。一些實例中訓練過程可以參見上述訓練過程的描述,在此不進行贅述。
當所述當前圖元點為所述RGB資料中的最後一個圖元點時,例如當前圖元點為圖4或圖5中所示的RGB資料中的第四個圖元點時,所述圖元點更新子單元222獲取修改後得到的所述訓練顏色表資訊,並將所述訓練顏色表資訊確定為所述RGB資料的局部顏色表資訊。
所述圖元點更新子單元222可以採用所述RGB資料的局部顏色表資訊對所述各圖元點的RGB值進行更新,一些實例中,所述圖元點更新子單元222可以在所述RGB資料的局部顏色表資訊中依次獲取與所述各圖元點相同或誤差最小的源RGB值分別替換所述各圖元點的RGB值,在一些實例中,所述圖元點更新子單元222可以將與所述各圖元點相同或誤差最小的源RGB值對應的色彩索引分別替換所述各圖元點的RGB值。
一些實例中,針對圖片頭資訊資料段中不存在全域顏色表資訊的情況,當所述RGB資料為所述圖片檔中的第一幀圖像,所述圖元點更新子單元222可以採用所述RGB資料中的各圖元點的RGB值對初始化顏色表資訊進行訓練以生成所述RGB資料的局部顏色表資訊,並採用所述RGB資料的局部顏色表資訊對所述各圖元點的RGB值進行更新。
一些實例中,當所述RGB資料為所述圖片檔中的第一幀圖 像,且所述圖片頭資訊資料段中不存在全域顏色表資訊時,所述圖元點更新子單元222可以生成一個初始化顏色表資訊,例如:(0,0,0)、(1,1,1)、(2,2,2)、……、(255,255,255),所述圖元點更新子單元222在初始化顏色表資訊中獲取G分量與所述RGB資料中當前圖元點的G分量最接近的第三源RGB值,並獲取所述第三源RGB值的第三色彩索引,所述圖片檔處理設備2在所述初始化顏色表資訊中以所述第三色彩索引為中心的預設範圍內,獲取與所述當前圖元點的RGB值誤差最小的第四源RGB值,並獲取所述第四源RGB值的第四色彩索引,所述圖元點更新子單元222將所述第四源RGB值替換為所述當前圖元點的RGB值,並採用預設權重值和所述當前圖元點的RGB值,對所述初始化顏色表資訊中以所述第四色彩索引為中心的預設範圍內的多個源RGB值進行修改,當所述當前圖元點不為所述RGB資料中的最後一個圖元點時,所述圖元點更新子單元222獲取修改後得到的所述初始化顏色表資訊,將所述當前圖元點的下一個圖元點作為當前圖元點,並轉入執行在所述初始化顏色表資訊中獲取G分量與所述RGB資料中當前圖元點的G分量最接近的第三源RGB值,當所述當前圖元點為所述RGB資料中的最後一個圖元點時,所述圖元點更新子單元222獲取修改後得到的所述訓練顏色表資訊,並將所述初始化顏色表資訊確定為所述RGB資料的局部顏色表資訊,所述圖元點更新子單元222可以採用所述RGB資料的局部顏色表資訊對所述各圖元點的RGB值進行更新。需要說明的是,各實例中對初始化顏色表資訊進行訓練以及採用RGB資料的局部顏色表資訊對各圖元點的RGB值進行更新的過程均可以參見前述方式的執行過程,在此不進行贅述。
一些實例中,針對所述RGB資料不為所述圖片檔中的第一幀圖像,即所述RGB資料為所述圖片檔中的第N幀圖像時,其中,N為大於1且小於或等於所述總幀數的正整數,所述圖元點更新子單元222可以採用所述RGB資料中的各圖元點的RGB值對第N-1幀RGB資料的局部顏色表資訊進行訓練以生成所述RGB資料的局部顏色表資訊,並採用所述RGB資料的局部顏色表資訊對所述各圖元點的RGB值進行更新。
一些實例中,當所述RGB資料為所述圖片檔中的第N幀圖像時,所述圖元點更新子單元222可以將第N-1幀RGB資料的局部顏色表資訊中的至少一個源RGB值按照G分量的預設排序方式進行排序,以生成訓練顏色表資訊,所述圖元點更新子單元222在所述訓練顏色表資訊中獲取G分量與所述RGB資料中當前圖元點的G分量最接近的第五源RGB值,並獲取所述第五源RGB值的第五色彩索引,所述圖元點更新子單元222在所述訓練顏色表資訊中以所述第五色彩索引為中心的預設範圍內,獲取與所述當前圖元點的RGB值誤差最小的第六源RGB值,並獲取所述第六源RGB值的第六色彩索引,所述圖元點更新子單元222將所述第六源RGB值替換為所述當前圖元點的RGB值,並採用預設權重值和所述當前圖元點的RGB值,對所述訓練顏色表資訊中以所述第六色彩索引為中心的預設範圍內的多個源RGB值進行修改,當所述當前圖元點不為所述RGB資料中的最後一個圖元點時,所述圖元點更新子單元222獲取修改後得到的所述訓練顏色表資訊,將所述當前圖元點的下一個圖元點作為當前圖元點,並轉入執行在所述訓練顏色表資訊中獲取G分量與所述RGB資料中當前圖元點的G分量最接近的第五源RGB值,當所述當前圖元點為所述RGB資料中的最後一個圖元點時,所 述圖元點更新子單元222獲取修改後得到的所述訓練顏色表資訊,並將所述訓練顏色表資訊確定為所述RGB資料的局部顏色表資訊,所述圖元點更新子單元222可以採用所述RGB資料的局部顏色表資訊對所述各圖元點的RGB值進行更新。需要說明的是,各實例中對訓練顏色表資訊進行訓練以及採用RGB資料的局部顏色表資訊對各圖元點的RGB值進行更新的過程均可以參見前述方式的執行過程,在此不進行贅述。
圖像編碼子單元223,用於採用所述延時時間和所述總幀數將更新後的所述RGB資料進行圖像編碼以生成所述圖片檔。
一些實例中,所述圖像編碼子單元223採用所述延時時間和所述總幀數將更新後的所述RGB資料進行圖像編碼以生成所述圖片檔。
請參見圖28,為本發明實施例提供了又一種圖片檔處理設備的結構示意圖。如圖28所示,所述圖片檔處理設備2000可以包括:至少一個處理器2001,例如CPU,至少一個網路介面2004,使用者介面2003,記憶體2005,至少一個通信匯流排2002。其中,通信匯流排2002用於實現這些元件之間的連接通信。其中,使用者介面2003可以包括顯示幕(Display)、鍵盤(Keyboard),可選用戶介面2003還可以包括標準的有線介面、無線介面。網路介面2004一些實例中可以包括標準的有線介面、無線介面(如WI-FI介面)。記憶體2005可以是高速RAM記憶體,也可以是非不穩定的記憶體(non-volatile memory),例如至少一個磁碟記憶體。記憶體2005一些實例中還可以是至少一個位於遠離前述處理器2001的儲存裝置。如圖28所示,作為一種電腦儲存介質的記憶體2005中可以包括作業系統、網路通信模組、使用者介面模組以及影像處理應用程式。
在圖28所示的圖片檔處理設備2000中,網路介面2004主要用於連接發送端,與所述發送端進行資料通信。而使用者介面2003主要用於為使用者提供輸入的介面,獲取使用者輸入的資料。而處理器2001可以用於調用記憶體2005中儲存的影像處理應用程式,並具體執行以下步驟:接收發送端發送的針對原始圖片檔的壓縮圖像資料,解析所述壓縮圖像資料以獲取圖片檔的圖片頭資訊資料段和碼流資料,所述碼流資料為對圖片檔中每幀圖像轉換的YUV資料進行編碼生成的資訊。
根據所述碼流資料生成所述YUV資料,並基於所述圖片頭資訊資料段對所述YUV資料進行處理以生成所述圖片檔。
在一個實施例中,所述圖片頭資訊資料段包括延時資訊、總幀數、全域顏色表資訊。
所述處理器2001在執行根據所述碼流資料生成所述YUV資料,並基於所述圖片頭資訊資料段對所述YUV資料進行處理以生成所述圖片檔時,具體執行以下步驟:解碼所述碼流資料以生成所述YUV資料,並採用顏色空間轉換公式將所述YUV資料轉換為RGB資料。
採用所述全域顏色表資訊對所述RGB資料中的各圖元點的RGB值進行更新。
採用所述延時時間和所述總幀數將更新後的所述RGB資料進行圖像編碼以生成所述圖片檔。
在一個實施例中,所述處理器2001在執行採用所述全域顏色表資訊對所述RGB資料中的各圖元點的RGB值進行更新時,具體執行以下 步驟:當所述RGB資料為所述圖片檔中的第一幀圖像,且所述圖片頭資訊資料段中存在全域顏色表資訊時,採用所述RGB資料中的各圖元點的RGB值對所述全域顏色表資訊進行訓練以生成所述RGB資料的局部顏色表資訊,並採用所述RGB資料的局部顏色表資訊對所述各圖元點的RGB值進行更新。
在一個實施例中,所述處理器2001在執行採用所述RGB資料中的各圖元點的RGB值對所述全域顏色表資訊進行訓練以生成所述RGB資料的局部顏色表資訊時,具體執行以下步驟:將所述全域顏色表資訊中的至少一個源RGB值按照G分量的預設排序方式進行排序,以生成訓練顏色表資訊。
在所述訓練顏色表資訊中獲取G分量與所述RGB資料中當前圖元點的G分量最接近的第一源RGB值,並獲取所述第一源RGB值的第一色彩索引。
在所述訓練顏色表資訊中以所述第一色彩索引為中心的預設範圍內,獲取與所述當前圖元點的RGB值誤差最小的第二源RGB值,並獲取所述第二源RGB值的第二色彩索引。
將所述第二源RGB值替換為所述當前圖元點的RGB值,並採用預設權重值和所述當前圖元點的RGB值,對所述訓練顏色表資訊中以所述第二色彩索引為中心的預設範圍內的多個源RGB值進行修改。
當所述當前圖元點不為所述RGB資料中的最後一個圖元點時,獲取修改後得到的所述訓練顏色表資訊,將所述當前圖元點的下一個 圖元點作為當前圖元點,並轉入執行在所述訓練顏色表資訊中獲取G分量與所述RGB資料中當前圖元點的G分量最接近的第一源RGB值。
當所述當前圖元點為所述RGB資料中的最後一個圖元點時,獲取修改後得到的所述訓練顏色表資訊,並將所述訓練顏色表資訊確定為所述RGB資料的局部顏色表資訊。
在一個實施例中,所述處理器2001在執行採用所述全域顏色表資訊對所述RGB資料中的各圖元點的RGB值進行更新時,具體執行以下步驟:當所述RGB資料為所述圖片檔中的第一幀圖像,且所述圖片頭資訊資料段中不存在全域顏色表資訊時,採用所述RGB資料中的各圖元點的RGB值對初始化顏色表資訊進行訓練以生成所述RGB資料的局部顏色表資訊,並採用所述RGB資料的局部顏色表資訊對所述各圖元點的RGB值進行更新。
在一個實施例中,所述處理器2001在執行採用所述RGB資料中的各圖元點的RGB值對初始化顏色表資訊進行訓練以生成所述RGB資料的局部顏色表資訊時,具體執行以下步驟:在初始化顏色表資訊中獲取G分量與所述RGB資料中當前圖元點的G分量最接近的第三源RGB值,並獲取所述第三源RGB值的第三色彩索引。
在所述初始化顏色表資訊中以所述第三色彩索引為中心的預設範圍內,獲取與所述當前圖元點的RGB值誤差最小的第四源RGB值,並獲取所述第四源RGB值的第四色彩索引。
將所述第四源RGB值替換為所述當前圖元點的RGB值,並採用預設權重值和所述當前圖元點的RGB值,對所述初始化顏色表資訊中以所述第四色彩索引為中心的預設範圍內的多個源RGB值進行修改。
當所述當前圖元點不為所述RGB資料中的最後一個圖元點時,獲取修改後得到的所述初始化顏色表資訊,將所述當前圖元點的下一個圖元點作為當前圖元點,並轉入執行在所述初始化顏色表資訊中獲取G分量與所述RGB資料中當前圖元點的G分量最接近的第三源RGB值。
當所述當前圖元點為所述RGB資料中的最後一個圖元點時,獲取修改後得到的所述訓練顏色表資訊,並將所述初始化顏色表資訊確定為所述RGB資料的局部顏色表資訊。
在一個實施例中,所述處理器2001在執行採用所述全域顏色表資訊對所述RGB資料中的各圖元點的RGB值進行更新時,具體執行以下步驟:當所述RGB資料為所述圖片檔中的第N幀圖像時,採用所述RGB資料中的各圖元點的RGB值對第N-1幀RGB資料的局部顏色表資訊進行訓練以生成所述RGB資料的局部顏色表資訊,並採用所述RGB資料的局部顏色表資訊對所述各圖元點的RGB值進行更新,N為大於1且小於或等於所述總幀數的正整數。
在一個實施例中,所述處理器2001在執行採用所述RGB資料中的各圖元點的RGB值對第N-1幀RGB資料的局部顏色表資訊進行訓練以生成所述RGB資料的局部顏色表資訊時,具體執行以下步驟:將第N-1幀RGB資料的局部顏色表資訊中的至少一個源 RGB值按照G分量的預設排序方式進行排序,以生成訓練顏色表資訊。
在所述訓練顏色表資訊中獲取G分量與所述RGB資料中當前圖元點的G分量最接近的第五源RGB值,並獲取所述第五源RGB值的第五色彩索引。
在所述訓練顏色表資訊中以所述第五色彩索引為中心的預設範圍內,獲取與所述當前圖元點的RGB值誤差最小的第六源RGB值,並獲取所述第六源RGB值的第六色彩索引。
將所述第六源RGB值替換為所述當前圖元點的RGB值,並採用預設權重值和所述當前圖元點的RGB值,對所述訓練顏色表資訊中以所述第六色彩索引為中心的預設範圍內的多個源RGB值進行修改。
當所述當前圖元點不為所述RGB資料中的最後一個圖元點時,獲取修改後得到的所述訓練顏色表資訊,將所述當前圖元點的下一個圖元點作為當前圖元點,並轉入執行在所述訓練顏色表資訊中獲取G分量與所述RGB資料中當前圖元點的G分量最接近的第五源RGB值。
當所述當前圖元點為所述RGB資料中的最後一個圖元點時,獲取修改後得到的所述訓練顏色表資訊,並將所述訓練顏色表資訊確定為所述RGB資料的局部顏色表資訊。
在一個實施例中,所述圖片檔為GIF圖像。
請參見圖29,為本發明實施例提供了一種影像處理系統的結構示意圖。如圖29所示,該系統可以包括發送端1和接收端2,發送端1與接收端2可以通過網路相互連接,其中,所述發送端1具體為圖23所示實施例的圖片檔處理設備1,所述接收端2具體為圖26所示實施例的圖片檔處理設 備2。或者,所述發送端1具體為圖25所示實施例的圖片檔處理設備1000,所述接收端2具體為圖28所示實施例的圖片檔處理設備2000。
所述發送端1,用於根據原始圖片檔生成所述圖片檔的圖片頭資訊資料段,將圖片檔中每幀圖像轉換為YUV資料,對所述YUV資料進行編碼以生成碼流資料,將所述壓縮圖像資料發送至接收端2,所述壓縮圖像資料包含所述圖片頭資訊資料段和所述碼流資料。
所述接收端2,用於接收所述發送端1發送的所述壓縮圖像資料,解析所述壓縮圖像資料以獲取所述圖片頭資訊資料段和所述碼流資料,根據所述碼流資料生成所述YUV資料,並基於所述圖片頭資訊資料段對所述YUV資料進行處理以生成所述圖片檔。
在一個實施例中,所述發送端1用於根據原始圖片檔生成圖片檔的圖片頭資訊資料段,並將圖片檔中每幀圖像轉換為YUV資料時,具體用於:解碼原始圖片檔以生成圖片檔的圖片頭資訊資料段以及圖片檔中每幀圖像對應的RGB資料,所述圖片頭資訊資料段包括延時資訊、總幀數、全域顏色表資訊。
採用顏色空間轉換公式將所述RGB資料轉換為YUV資料。
在一個實施例中,所述編碼包括預測編碼、變換編碼、量化編碼和熵編碼。
在一個實施例中,所述發送端1用於對所述YUV資料進行編碼以生成碼流資料時,具體用於:採用配置參數對所述YUV資料進行編碼以生成碼流資料, 所述配置參數為對所述YUV資料進行編碼的參數,所述配置參數包括標清模式參數、高清模式參數和無損模式參數中的任一種。
在一個實施例中,所述發送端1用於對所述YUV資料進行編碼以生成碼流資料時,具體用於:配置編碼器複雜度對所述YUV資料進行編碼以生成碼流資料,所述編碼器複雜度為根據所述發送端1的硬體性能所決定的編碼的精細度參數。
在一個實施例中,所述接收端2用於根據所述碼流資料生成所述YUV資料,並基於所述圖片頭資訊資料段對所述YUV資料進行處理以生成所述圖片檔時,具體用於:解碼所述碼流資料以生成所述YUV資料,並採用顏色空間轉換公式將所述YUV資料轉換為RGB資料。
採用所述全域顏色表資訊對RGB資料中的各圖元點的RGB值進行更新。
採用所述延時時間和所述總幀數將更新後的所述RGB資料進行圖像編碼以生成所述圖片檔。
在一個實施例中,所述接收端2用於採用所述全域顏色表資訊對所述RGB資料中的各圖元點的RGB值進行更新時,具體用於:當所述RGB資料為所述圖片檔中的第一幀圖像,且所述圖片頭資訊資料段中存在全域顏色表資訊時,採用RGB資料中的各圖元點的RGB值對所述全域顏色表資訊進行訓練以生成RGB資料的局部顏色表資訊,並採用RGB資料的局部顏色表資訊對各圖元點的RGB值進行更新。
在一個實施例中,所述接收端2用於採用RGB資料中的各圖元點的RGB值對所述全域顏色表資訊進行訓練以生成RGB資料的局部顏色表資訊時,具體用於:將所述全域顏色表資訊中的至少一個源RGB值按照G分量的預設排序方式進行排序,以生成訓練顏色表資訊。
在所述訓練顏色表資訊中獲取G分量與RGB資料中當前圖元點的G分量最接近的第一源RGB值,並獲取第一源RGB值的第一色彩索引。
在訓練顏色表資訊中以第一色彩索引為中心的預設範圍內,獲取與當前圖元點的RGB值誤差最小的第二源RGB值,並獲取第二源RGB值的第二色彩索引。
將所述第二源RGB值替換為所述當前圖元點的RGB值,並採用預設權重值和所述當前圖元點的RGB值,對訓練顏色表資訊中以第二色彩索引為中心的預設範圍內的多個源RGB值進行修改。
當所述當前圖元點不為RGB資料中的最後一個圖元點時,獲取修改後得到的所述訓練顏色表資訊,將當前圖元點的下一個圖元點作為當前圖元點,並轉入執行在所述訓練顏色表資訊中獲取G分量與RGB資料中當前圖元點的G分量最接近的第一源RGB值。
當所述當前圖元點為RGB資料中的最後一個圖元點時,獲取修改後得到的所述訓練顏色表資訊,並將所述訓練顏色表資訊確定為RGB資料的局部顏色表資訊。
在一個實施例中,所述接收端2用於採用所述全域顏色表資 訊對RGB資料中的各圖元點的RGB值進行更新時,具體用於:當所述RGB資料為圖片檔中的第一幀圖像,且所述圖片頭資訊資料段中不存在全域顏色表資訊時,採用RGB資料中的各圖元點的RGB值對初始化顏色表資訊進行訓練以生成RGB資料的局部顏色表資訊,並採用RGB資料的局部顏色表資訊對各圖元點的RGB值進行更新。
在一個實施例中,所述接收端2用於採用RGB資料中的各圖元點的RGB值對初始化顏色表資訊進行訓練以生成RGB資料的局部顏色表資訊時,具體用於:在初始化顏色表資訊中獲取G分量與RGB資料中當前圖元點的G分量最接近的第三源RGB值,並獲取第三源RGB值的第三色彩索引。
在初始化顏色表資訊中以第三色彩索引為中心的預設範圍內,獲取與當前圖元點的RGB值誤差最小的第四源RGB值,並獲取第四源RGB值的第四色彩索引。
將所述第四源RGB值替換為所述當前圖元點的RGB值,並採用預設權重值和所述當前圖元點的RGB值,對初始化顏色表資訊中以第四色彩索引為中心的預設範圍內的多個源RGB值進行修改。
當所述當前圖元點不為RGB資料中的最後一個圖元點時,獲取修改後得到的所述初始化顏色表資訊,將當前圖元點的下一個圖元點作為當前圖元點,並轉入執行在所述初始化顏色表資訊中獲取G分量與RGB資料中當前圖元點的G分量最接近的第三源RGB值。
當所述當前圖元點為RGB資料中的最後一個圖元點時,獲取修改後得到的所述訓練顏色表資訊,並將所述初始化顏色表資訊確定為 RGB資料的局部顏色表資訊。
在一個實施例中,所述接收端2用於採用所述全域顏色表資訊對RGB資料中的各圖元點的RGB值進行更新時,具體用於:當所述RGB資料為圖片檔中的第N幀圖像時,採用RGB資料中的各圖元點的RGB值對第N-1幀RGB資料的局部顏色表資訊進行訓練以生成RGB資料的局部顏色表資訊,並採用RGB資料的局部顏色表資訊對各圖元點的RGB值進行更新,N為大於1且小於或等於總幀數的正整數。
在一個實施例中,所述接收端2用於採用RGB資料中的各圖元點的RGB值對第N-1幀RGB資料的局部顏色表資訊進行訓練以生成RGB資料的局部顏色表資訊時,具體用於:將第N-1幀RGB資料的局部顏色表資訊中的至少一個源RGB值按照G分量的預設排序方式進行排序,以生成訓練顏色表資訊。
在所述訓練顏色表資訊中獲取G分量與RGB資料中當前圖元點的G分量最接近的第五源RGB值,並獲取第五源RGB值的第五色彩索引。
在訓練顏色表資訊中以第五色彩索引為中心的預設範圍內,獲取與當前圖元點的RGB值誤差最小的第六源RGB值,並獲取第六源RGB值的第六色彩索引。
將所述第六源RGB值替換為所述當前圖元點的RGB值,並採用預設權重值和所述當前圖元點的RGB值,對所述訓練顏色表資訊中以第六色彩索引為中心的預設範圍內的多個源RGB值進行修改。
當所述當前圖元點不為RGB資料中的最後一個圖元點時, 獲取修改後得到的所述訓練顏色表資訊,將當前圖元點的下一個圖元點作為當前圖元點,並轉入執行在所述訓練顏色表資訊中獲取G分量與RGB資料中當前圖元點的G分量最接近的第五源RGB值。
當所述當前圖元點為RGB資料中的最後一個圖元點時,獲取修改後得到的所述訓練顏色表資訊,並將所述訓練顏色表資訊確定為RGB資料的局部顏色表資訊。
在一個實施例中,所述圖片檔為GIF圖像。
下面將結合附圖30-附圖32,對本發明實施例提供的圖片檔處理設備進行詳細介紹。需要說明的是,附圖30-附圖32所示的圖片檔處理設備,用於執行本發明圖14-圖16所示實施例的方法,為了便於說明,僅示出了與本發明實施例相關的部分,具體技術細節未揭示的,請參照本發明圖14-圖16所示的實施例。
請參見圖30,為本發明實施例提供了又一種圖片檔處理設備的結構示意圖。如圖30所示,本發明實施例的所述圖片檔處理設備3可以包括:圖像轉換單元31、圖像壓縮單元32、碼流生成單元33、資訊獲取單元34和圖像編碼單元35。
圖像轉換單元31,用於根據原始圖片檔生成圖片檔的圖片頭資訊資料段,並將圖片檔中每幀圖像轉換為YUV資料。
一些實例中,所述圖像轉換單元31可以解碼原始圖片檔以生成所述圖片檔的圖片頭資訊資料段,所述圖像轉換單元31進一步將所述圖片檔中每幀圖像轉換為YUV資料。
一些實例中,請一併參見圖31,為本發明實施例提供了另一 種圖像轉換單元的結構示意圖。如圖31所示,所述圖像轉換單元31可以包括:圖像解碼子單元311,用於解碼原始圖片檔以生成圖片檔的圖片頭資訊資料段以及圖片檔中每幀圖像對應的RGB資料。
一些實例中,所述圖像解碼子單元311可以解碼原始圖片檔。所述圖像解碼子單元311可以判斷所述圖片檔中的顏色表資訊是否為所述圖片檔的全域顏色表資訊。
當判斷所述圖片檔的顏色表資訊為所述圖片檔的全域顏色表資訊時,所述圖像解碼子單元311可以生成包含延時資訊、總幀數、全域顏色表資訊等的圖片頭資訊資料段,所述延時資訊記錄有所述圖片檔中每幀圖像之間的播放間隔時間,所述總幀數為所述圖片檔中的圖像幀數,同時還生成所述圖片檔中每幀圖像對應的RGB資料。
當判斷所述圖片檔的顏色表資訊不為所述圖片檔的全域顏色表資訊時,所述圖像解碼子單元311可以生成包含延時資訊、總幀數等的圖片頭資訊資料段,所述延時資訊記錄有所述圖片檔中每幀圖像之間的播放間隔時間,所述總幀數為所述圖片檔中的圖像幀數,同時還生成所述圖片檔中每幀圖像對應的RGB資料。
圖像轉換子單元312,用於採用顏色空間轉換公式將所述RGB資料轉換為YUV資料。
一些實例中,所述圖像轉換子單元312可以採用顏色空間轉換公式將所述RGB資料轉換為YUV資料。
圖像壓縮單元32,用於對所述YUV資料進行編碼以生成碼 流資料。
一些實例中,所述圖像壓縮單元32可以進一步對所述YUV資料進行編碼處理,生成碼流資料,所述編碼可以包括預測編碼、變換編碼、量化編碼和熵編碼,例如:所述圖像壓縮單元32可以採用IPPP模式對所述YUV資料進行壓縮,第一幀YUV資料為I幀,I幀即為幀內預測幀,其餘幀YUV資料為P幀,P幀即為幀間預測幀,可以有效的壓縮圖片檔的檔資料量,還可以採用固定QP的方式來穩定不同幀之間的品質等。熵編碼則可以包括哈夫曼編碼、算數編碼等。
碼流生成單元33,用於儲存壓縮圖像資料。
一些實例中,所述碼流生成單元33可以生成壓縮圖像資料,所述碼流生成單元33可以對所述壓縮圖像資料進行儲存,所述壓縮圖像資料包含所述圖片頭資訊資料段和所述碼流資料。
資訊獲取單元34,用於解析所述壓縮圖像資料以獲取所述圖片頭資訊資料段和所述碼流資料。
一些實例中,所述資訊獲取單元34可以對所述壓縮圖像資料進行解析處理,以獲取所述壓縮圖像資料中的所述圖片頭資訊資料段和所述碼流資料。
圖像編碼單元35,用於根據所述碼流資料生成所述YUV資料,並基於所述圖片頭資訊資料段對所述YUV資料進行處理以生成所述圖片檔。
一些實例中,所述圖像編碼單元35解碼所述碼流資料以生成所述YUV資料,並基於圖片頭資訊資料段中的時延資訊、總幀數、全域顏 色表資訊等對所述YUV資料進行編碼處理以生成所述圖片檔。
一些實例中,請一併參見圖32,為本發明實施例提供了另一種圖像編碼單元的結構示意圖。如圖32所示,所述圖像編碼單元35可以包括:圖像轉換子單元351,用於解碼所述碼流資料以生成所述YUV資料,並採用顏色空間轉換公式將所述YUV資料轉換為RGB資料。
一些實例中,所述圖像轉換子單元351解碼所述碼流資料以生成所述YUV資料,並可以採用顏色空間轉換公式將所述YUV資料轉換為RGB資料,一些實例中,所述圖像轉換子單元351需要依據亮度分量的值域範圍確定所採用的顏色空間轉換公式。
圖元點更新子單元352,用於採用所述全域顏色表資訊對RGB資料中的各圖元點的RGB值進行更新。
一些實例中,所述圖元點更新子單元352判斷所述圖片頭資訊資料段中是否包含所述圖片檔的全域顏色表資訊,由於之前對所述YUV資料進行過編碼處理,因此導致由所述YUV資料轉換的RGB資料存在失真的情況,所述圖片檔處理設備3可以採用所述全域顏色表資訊對所述RGB資料中的各圖元點的RGB值進行更新。
一些實例中,針對圖片頭資訊資料段中存在全域顏色表資訊的情況,當所述RGB資料為所述圖片檔中的第一幀圖像,所述圖元點更新子單元352可以採用所述RGB資料中的各圖元點的RGB值對所述全域顏色表資訊進行訓練以生成所述RGB資料的局部顏色表資訊,並採用所述RGB資料的局部顏色表資訊對所述各圖元點的RGB值進行更新。
一些實例中,當所述RGB資料為所述圖片檔中的第一幀圖像,且所述圖片頭資訊資料段中存在全域顏色表資訊時,所述圖元點更新子單元352可以將所述全域顏色表資訊中的至少一個源RGB值按照G分量的預設排序方式(例如:昇冪、降冪等)進行排序,以生成訓練顏色表資訊。
所述圖元點更新子單元352在所述訓練顏色表資訊中獲取G分量與所述RGB資料中當前圖元點的G分量最接近的第一源RGB值,並獲取所述第一源RGB值的第一色彩索引。
所述圖元點更新子單元352在所述訓練顏色表資訊中以所述第一色彩索引為中心的預設範圍內,獲取與所述當前圖元點的RGB值誤差最小的第二源RGB值,並獲取所述第二源RGB值的第二色彩索引,可以理解的是,所述圖元點更新子單元352可以以所述第一色彩索引為中心,在所述第一色彩索引的前後預設範圍內獲取多個源RGB值,並分別計算所述第一源RGB值以及所述多個源RGB值與所述當前圖元點的RGB值的誤差,並將多個源RGB值中誤差最小的源RGB值確定為第二源RGB值。
所述圖元點更新子單元352將所述第二源RGB值替換為所述當前圖元點的RGB值,並採用預設權重值和所述當前圖元點的RGB值,對所述訓練顏色表資訊中以所述第二色彩索引為中心的預設範圍內的多個源RGB值進行修改。
當所述當前圖元點不為所述RGB資料中的最後一個圖元點時,例如當前圖元點為圖4或圖5中所示的RGB資料中的第一個圖元點時,所述圖片檔處理設備3獲取修改後得到的所述訓練顏色表資訊,將所述當前圖元點的下一個圖元點作為當前圖元點,並轉入執行在所述訓練顏色表資 訊中獲取G分量與所述RGB資料中當前圖元點的G分量最接近的第一源RGB值,例如:將所述RGB資料中的第二個圖元點作為當前圖元點,對修改後得到的所述訓練顏色表資訊再一次進行訓練。一些實例中訓練過程可以參見上述訓練過程的描述,在此不進行贅述。
當所述當前圖元點為所述RGB資料中的最後一個圖元點時,例如當前圖元點為圖4或圖5中所示的RGB資料中的第四個圖元點時,所述圖元點更新子單元352獲取修改後得到的所述訓練顏色表資訊,並將所述訓練顏色表資訊確定為所述RGB資料的局部顏色表資訊。
所述圖元點更新子單元352可以採用所述RGB資料的局部顏色表資訊對所述各圖元點的RGB值進行更新,一些實例中,所述圖元點更新子單元352可以在所述RGB資料的局部顏色表資訊中依次獲取與所述各圖元點相同或誤差最小的源RGB值分別替換所述各圖元點的RGB值。在一些實例中,所述圖元點更新子單元352可以將與所述各圖元點相同或誤差最小的源RGB值對應的色彩索引分別替換所述各圖元點的RGB值。
一些實例中,針對圖片頭資訊資料段中不存在全域顏色表資訊的情況,當所述RGB資料為所述圖片檔中的第一幀圖像,所述圖元點更新子單元352可以採用所述RGB資料中的各圖元點的RGB值對初始化顏色表資訊進行訓練以生成所述RGB資料的局部顏色表資訊,並採用所述RGB資料的局部顏色表資訊對所述各圖元點的RGB值進行更新。
一些實例中,當所述RGB資料為所述圖片檔中的第一幀圖像,且所述圖片頭資訊資料段中不存在全域顏色表資訊時,所述圖元點更新子單元352可以生成一個初始化顏色表資訊,例如:(0,0,0)、(1,1, 1)、(2,2,2)、……、(255,255,255),所述圖片檔處理設備3在初始化顏色表資訊中獲取G分量與所述RGB資料中當前圖元點的G分量最接近的第三源RGB值,並獲取所述第三源RGB值的第三色彩索引,所述圖元點更新子單元352在所述初始化顏色表資訊中以所述第三色彩索引為中心的預設範圍內,獲取與所述當前圖元點的RGB值誤差最小的第四源RGB值,並獲取所述第四源RGB值的第四色彩索引,所述圖元點更新子單元352將所述第四源RGB值替換為所述當前圖元點的RGB值,並採用預設權重值和所述當前圖元點的RGB值,對所述初始化顏色表資訊中以所述第四色彩索引為中心的預設範圍內的多個源RGB值進行修改,當所述當前圖元點不為所述RGB資料中的最後一個圖元點時,所述圖元點更新子單元352獲取修改後得到的所述初始化顏色表資訊,將所述當前圖元點的下一個圖元點作為當前圖元點,並轉入執行在所述初始化顏色表資訊中獲取G分量與所述RGB資料中當前圖元點的G分量最接近的第三源RGB值,當所述當前圖元點為所述RGB資料中的最後一個圖元點時,所述圖元點更新子單元352獲取修改後得到的所述訓練顏色表資訊,並將所述初始化顏色表資訊確定為所述RGB資料的局部顏色表資訊,所述圖元點更新子單元352可以採用所述RGB資料的局部顏色表資訊對所述各圖元點的RGB值進行更新。需要說明的是,各實例中對初始化顏色表資訊進行訓練以及採用RGB資料的局部顏色表資訊對各圖元點的RGB值進行更新的過程均可以參見前述方式的執行過程,在此不進行贅述。
一些實例中,當所述RGB資料為所述圖片檔中的第N幀圖像時,所述圖元點更新子單元352可以將第N-1幀RGB資料的局部顏色表資訊 中的至少一個源RGB值按照G分量的預設排序方式進行排序,以生成訓練顏色表資訊,所述圖元點更新子單元352在所述訓練顏色表資訊中獲取G分量與所述RGB資料中當前圖元點的G分量最接近的第五源RGB值,並獲取所述第五源RGB值的第五色彩索引,所述圖元點更新子單元352在所述訓練顏色表資訊中以所述第五色彩索引為中心的預設範圍內,獲取與所述當前圖元點的RGB值誤差最小的第六源RGB值,並獲取所述第六源RGB值的第六色彩索引,所述圖元點更新子單元352將所述第六源RGB值替換為所述當前圖元點的RGB值,並採用預設權重值和所述當前圖元點的RGB值,對所述訓練顏色表資訊中以所述第六色彩索引為中心的預設範圍內的多個源RGB值進行修改,當所述當前圖元點不為所述RGB資料中的最後一個圖元點時,所述圖元點更新子單元352獲取修改後得到的所述訓練顏色表資訊,將所述當前圖元點的下一個圖元點作為當前圖元點,並轉入執行在所述訓練顏色表資訊中獲取G分量與所述RGB資料中當前圖元點的G分量最接近的第五源RGB值,當所述當前圖元點為所述RGB資料中的最後一個圖元點時,所述圖元點更新子單元352獲取修改後得到的所述訓練顏色表資訊,並將所述訓練顏色表資訊確定為所述RGB資料的局部顏色表資訊,所述圖元點更新子單元352可以採用所述RGB資料的局部顏色表資訊對所述各圖元點的RGB值進行更新。需要說明的是,各實例中對訓練顏色表資訊進行訓練以及採用RGB資料的局部顏色表資訊對各圖元點的RGB值進行更新的過程均可以參見前述方式的執行過程,在此不進行贅述。
圖像編碼子單元353,用於採用所述延時時間和所述總幀數將更新後的所述RGB資料進行圖像編碼以生成所述圖片檔。
一些實例中,所述圖像編碼子單元353採用所述延時時間和所述總幀數將更新後的所述RGB資料進行圖像編碼以生成所述圖片檔,在一些實例中,所述圖像編碼子單元353可以基於所述延時時間和所述總幀數,並採用LZW對所述RGB資料中各圖元點的色彩索引進行圖像編碼,生成所述圖片檔,所述圖片檔處理設備3可以對所述圖片檔進行儲存或者展示。
請參見圖33,為本發明實施例提供了又一種圖片檔處理設備的結構示意圖。如圖33所示,所述圖片檔處理設備3000可以包括:至少一個處理器3001,例如CPU,至少一個網路介面3004,使用者介面3003,記憶體3005,至少一個通信匯流排3002。其中,通信匯流排3002用於實現這些元件之間的連接通信。其中,使用者介面3003可以包括顯示幕(Display)、鍵盤(Keyboard),可選用戶介面3003還可以包括標準的有線介面、無線介面。網路介面3004一些實例中可以包括標準的有線介面、無線介面(如WI-FI介面)。記憶體3005可以是高速RAM記憶體,也可以是非不穩定的記憶體(non-volatile memory),例如至少一個磁碟記憶體。記憶體3005一些實例中還可以是至少一個位於遠離前述處理器3001的儲存裝置。如圖33所示,作為一種電腦儲存介質的記憶體3005中可以包括作業系統、網路通信模組、使用者介面模組以及影像處理應用程式。
在圖33所示的圖片檔處理設備3000中,網路介面3004主要用於分散式服務設備中的功能模組連接,與所述功能模組進行資料通信。而使用者介面3003主要用於為使用者提供輸入的介面,獲取使用者輸入的資料。而處理器3001可以用於調用記憶體3005中儲存的影像處理應用程式, 並具體執行以下步驟:根據原始圖片檔生成所述圖片檔的圖片頭資訊資料段,並將圖片檔中每幀圖像轉換為YUV資料。
對所述YUV資料進行編碼以生成碼流資料。
儲存壓縮圖像資料,所述壓縮圖像資料包含所述圖片頭資訊資料段和所述碼流資料。
解析所述壓縮圖像資料以獲取所述圖片頭資訊資料段和所述碼流資料。
解碼所述碼流資料以生成所述YUV資料,並基於所述圖片頭資訊資料段對所述YUV資料進行編碼處理以生成所述圖片檔。
在一個實施例中,所述處理器3001在執行根據原始圖片檔生成所述圖片檔的圖片頭資訊資料段,並將圖片檔中每幀圖像轉換為YUV資料時,具體執行以下步驟:解碼原始圖片檔以生成圖片檔的圖片頭資訊資料段以及圖片檔中每幀圖像對應的RGB資料,所述圖片頭資訊資料段包括延時資訊、總幀數、全域顏色表資訊。
採用顏色空間轉換公式將所述RGB資料轉換為YUV資料。
在一個實施例中,所述編碼包括預測編碼、變換編碼、量化編碼和熵編碼。
在一個實施例中,所述處理器3001在執行對所述YUV資料進行編碼以生成碼流資料時,具體執行以下步驟:採用配置參數對所述YUV資料進行編碼以生成碼流資料, 所述配置參數為對所述YUV資料進行編碼的參數,所述配置參數包括標清模式參數、高清模式參數和無損模式參數中的任一種。
在一個實施例中,所述處理器3001在執行對所述YUV資料進行編碼以生成碼流資料時,具體執行以下步驟:配置編碼器複雜度對所述YUV資料進行編碼以生成碼流資料,所述編碼器複雜度為根據所述發送端的硬體性能所決定的編碼的精細度參數。
在一個實施例中,所述處理器3001在執行解碼所述碼流資料以生成所述YUV資料,並基於所述圖片頭資訊資料段對所述YUV資料進行編碼處理以生成所述圖片檔時,具體執行以下步驟:解碼所述碼流資料以生成所述YUV資料,並採用顏色空間轉換公式將所述YUV資料轉換為RGB資料。
採用所述全域顏色表資訊對所述RGB資料中的各圖元點的RGB值進行更新。
採用所述延時時間和所述總幀數將更新後的所述RGB資料進行圖像編碼以生成所述圖片檔。
在一個實施例中,所述處理器3001在執行採用所述全域顏色表資訊對RGB資料中的各圖元點的RGB值進行更新時,具體執行以下步驟:當所述RGB資料為所述圖片檔中的第一幀圖像,且所述圖片頭資訊資料段中存在全域顏色表資訊時,採用RGB資料中的各圖元點的RGB值對所述全域顏色表資訊進行訓練以生成RGB資料的局部顏色表資訊,並採用RGB資料的局部顏色表資訊對各圖元點的RGB值進行更新。
在一個實施例中,所述處理器3001在執行採用RGB資料中的各圖元點的RGB值對所述全域顏色表資訊進行訓練以生成RGB資料的局部顏色表資訊時,具體執行以下步驟:將所述全域顏色表資訊中的至少一個源RGB值按照G分量的預設排序方式進行排序,以生成訓練顏色表資訊。
在所述訓練顏色表資訊中獲取G分量與所述RGB資料中當前圖元點的G分量最接近的第一源RGB值,並所述第一源RGB值的第一色彩索引。
所述接收端在訓練顏色表資訊中以第一色彩索引為中心的預設範圍內,獲取與當前圖元點的RGB值誤差最小的第二源RGB值,並獲取第二源RGB值的第二色彩索引。
將所述第二源RGB值替換為所述當前圖元點的RGB值,並採用預設權重值和所述當前圖元點的RGB值,對訓練顏色表資訊中以第二色彩索引為中心的預設範圍內的多個源RGB值進行修改。
當所述當前圖元點不為RGB資料中的最後一個圖元點時,獲取修改後得到的所述訓練顏色表資訊,將當前圖元點的下一個圖元點作為當前圖元點,並轉入執行在所述訓練顏色表資訊中獲取G分量與RGB資料中當前圖元點的G分量最接近的第一源RGB值。
當所述當前圖元點為RGB資料中的最後一個圖元點時,獲取修改後得到的所述訓練顏色表資訊,並將所述訓練顏色表資訊確定為RGB資料的局部顏色表資訊。
在一個實施例中,所述處理器3001在執行採用所述全域顏色 表資訊對RGB資料中的各圖元點的RGB值進行更新時,具體執行以下步驟:當所述RGB資料為圖片檔中的第一幀圖像,且所述圖片頭資訊資料段中不存在全域顏色表資訊時,採用RGB資料中的各圖元點的RGB值對初始化顏色表資訊進行訓練以生成RGB資料的局部顏色表資訊,並採用RGB資料的局部顏色表資訊對各圖元點的RGB值進行更新。
在一個實施例中,所述處理器3001在執行採用RGB資料中的各圖元點的RGB值對初始化顏色表資訊進行訓練以生成RGB資料的局部顏色表資訊時,具體執行以下步驟:在初始化顏色表資訊中獲取G分量與RGB資料中當前圖元點的G分量最接近的第三源RGB值,並獲取第三源RGB值的第三色彩索引。
在初始化顏色表資訊中以第三色彩索引為中心的預設範圍內,獲取與當前圖元點的RGB值誤差最小的第四源RGB值,並獲取第四源RGB值的第四色彩索引。
將所述第四源RGB值替換為所述當前圖元點的RGB值,並採用預設權重值和所述當前圖元點的RGB值,對初始化顏色表資訊中以第四色彩索引為中心的預設範圍內的多個源RGB值進行修改。
當所述當前圖元點不為RGB資料中的最後一個圖元點時,獲取修改後得到的所述初始化顏色表資訊,將當前圖元點的下一個圖元點作為當前圖元點,並轉入執行在所述初始化顏色表資訊中獲取G分量與RGB資料中當前圖元點的G分量最接近的第三源RGB值。
當所述當前圖元點為RGB資料中的最後一個圖元點時,獲取修改後得到的所述訓練顏色表資訊,並將所述初始化顏色表資訊確定為 RGB資料的局部顏色表資訊。
在一個實施例中,所述處理器3001在執行採用所述全域顏色表資訊對所述RGB資料中的各圖元點的RGB值進行更新時,具體執行以下步驟:當所述RGB資料為圖片檔中的第N幀圖像時,採用RGB資料中的各圖元點的RGB值對第N-1幀RGB資料的局部顏色表資訊進行訓練以生成RGB資料的局部顏色表資訊,並採用RGB資料的局部顏色表資訊對各圖元點的RGB值進行更新,N為大於1且小於或等於總幀數的正整數。
在一個實施例中,所述處理器3001在執行採用RGB資料中的各圖元點的RGB值對第N-1幀RGB資料的局部顏色表資訊進行訓練以生成RGB資料的局部顏色表資訊時,具體執行以下步驟:將第N-1幀RGB資料的局部顏色表資訊中的至少一個源RGB值按照G分量的預設排序方式進行排序,以生成訓練顏色表資訊。
在所述訓練顏色表資訊中獲取G分量與所述RGB資料中當前圖元點的G分量最接近的第五源RGB值,並獲取第五源RGB值的第五色彩索引。
在訓練顏色表資訊中以第五色彩索引為中心的預設範圍內,獲取與當前圖元點的RGB值誤差最小的第六源RGB值,並獲取第六源RGB值的第六色彩索引。
將所述第六源RGB值替換為所述當前圖元點的RGB值,並採用預設權重值和所述當前圖元點的RGB值,對訓練顏色表資訊中以第六色彩索引為中心的預設範圍內的多個源RGB值進行修改。
當所述當前圖元點不為RGB資料中的最後一個圖元點時,獲取修改後得到的所述訓練顏色表資訊,將當前圖元點的下一個圖元點作為當前圖元點,並轉入執行在所述訓練顏色表資訊中獲取G分量與RGB資料中當前圖元點的G分量最接近的第五源RGB值。
當所述當前圖元點為RGB資料中的最後一個圖元點時,獲取修改後得到的所述訓練顏色表資訊,並將所述訓練顏色表資訊確定為RGB資料的局部顏色表資訊。
在一個實施例中,所述壓縮圖像資料包含所述圖片頭資訊資料段和所述碼流資料。
下面將結合附圖34-附圖35,對本發明實施例提供的圖片檔處理設備進行詳細介紹。需要說明的是,附圖34-附圖35所示的圖片檔處理設備,用於執行本發明圖17-圖20所示實施例的方法,為了便於說明,僅示出了與本發明實施例相關的部分,具體技術細節未揭示的,請參照本發明圖17-圖20所示的實施例。
請參見圖34,為本發明實施例提供了又一種圖片檔處理設備的結構示意圖。如圖34所示,本發明實施例的所述圖片檔處理設備4可以包括:圖元值獲取單元41、顏色表生成單元42和圖元值更新單元43。
圖元值獲取單元41,用於獲取對原始圖片檔處理生成的RGB資料,獲取RGB資料中的各圖元點的RGB值。
一些實例中,所述圖元值獲取單元41可以獲取對原始圖片檔解碼生成的RGB資料。所述RGB資料可以轉換為YUV資料,並將YUV資料進行編碼生成碼流資料,進一步生成包含碼流資料和圖片頭資訊資料段的 壓縮圖像資料,所述壓縮圖像資料可以用於儲存,或者傳輸至圖片檔處理設備4進行圖片檔的還原,在一些實例中,所述圖元值獲取單元41獲取所述壓縮圖像資料,可以解析所述壓縮圖像資料以獲取所述圖片頭資訊資料段和所述碼流資料,並解碼所述碼流資料生成YUV資料,進一步將YUV資料轉換為RGB資料,所述圖元值獲取單元41獲取所述RGB資料,並獲取所述RGB資料中的各圖元點的RGB值。
顏色表生成單元42,用於採用各圖元點的RGB值對RGB資料的初始顏色表資訊進行訓練以生成RGB資料的局部顏色表資訊。
一些實例中,所述顏色表生成單元42判斷所述圖片頭資訊資料段中是否包含所述圖片檔的全域顏色表資訊,由於之前對所述YUV資料進行過編碼處理,因此導致由所述YUV資料轉換的RGB資料存在失真的情況,所述顏色表生成單元42可以採用所述全域顏色表資訊對所述RGB資料中的各圖元點的RGB值進行更新,可以理解的是,所述RGB資料中可以包含一個或多個圖元點,當所述RGB資料中僅存在一個圖元點時,可以採用所述圖元點的RGB值對所述初始顏色表資訊進行訓練,當所述RGB資料中存在多個圖元點時,可以採用多個圖元點中各圖元點的RGB值對所述初始顏色表資訊進行訓練,所述顏色表生成單元42需要重新對所述全域顏色表資訊進行訓練,以生成符合所述RGB資料的局部顏色表資訊,而對於不存在全域顏色表資訊的情況,所述顏色表生成單元42可以生成初始化顏色表資訊,並通過對所述初始化顏色表資訊進行訓練,以生成符合所述RGB資料的局部顏色表資訊。
一些實例中,針對圖片頭資訊資料段中存在全域顏色表資訊 的情況,當所述RGB資料為所述圖片檔中的第一幀圖像,所述顏色表生成單元42可以採用所述RGB資料中的各圖元點的RGB值對所述全域顏色表資訊進行訓練以生成所述RGB資料的局部顏色表資訊。
一些實例中,當所述RGB資料為所述圖片檔中的第一幀圖像,且所述圖片頭資訊資料段中存在全域顏色表資訊時,所述顏色表生成單元42可以將所述全域顏色表資訊中的至少一個源RGB值按照G分量的預設排序方式(例如:昇冪、降冪等)進行排序,以生成訓練顏色表資訊。
所述顏色表生成單元42在所述訓練顏色表資訊中獲取G分量與所述RGB資料中當前圖元點的G分量最接近的第一源RGB值,並獲取所述第一源RGB值的第一色彩索引。
所述顏色表生成單元42在所述訓練顏色表資訊中以所述第一色彩索引為中心的預設範圍內,獲取與所述當前圖元點的RGB值誤差最小的第二源RGB值,並獲取所述第二源RGB值的第二色彩索引,可以理解的是,所述顏色表生成單元42可以以所述第一色彩索引為中心,在所述第一色彩索引的前後預設範圍內獲取多個源RGB值,並分別計算所述第一源RGB值以及所述多個源RGB值與所述當前圖元點的RGB值的誤差,並將多個源RGB值中誤差最小的源RGB值確定為第二源RGB值。
所述顏色表生成單元42將所述第二源RGB值替換為所述當前圖元點的RGB值,並採用預設權重值和所述當前圖元點的RGB值,對所述訓練顏色表資訊中以所述第二色彩索引為中心的預設範圍內的多個源RGB值進行修改。
當所述當前圖元點不為所述RGB資料中的最後一個圖元點 時,例如當前圖元點為圖4或圖5中所示的RGB資料中的第一個圖元點時,所述顏色表生成單元42獲取修改後得到的所述訓練顏色表資訊,將所述當前圖元點的下一個圖元點作為當前圖元點,並轉入執行在所述訓練顏色表資訊中獲取G分量與所述RGB資料中當前圖元點的G分量最接近的第一源RGB值,例如:將所述RGB資料中的第二個圖元點作為當前圖元點,對修改後得到的所述訓練顏色表資訊再一次進行訓練。一些實例中訓練過程可以參見上述訓練過程的描述,在此不進行贅述。
當所述當前圖元點為所述RGB資料中的最後一個圖元點時,例如當前圖元點為圖4或圖5中所示的RGB資料中的第四個圖元點時,所述顏色表生成單元42獲取修改後得到的所述訓練顏色表資訊,並將所述訓練顏色表資訊確定為所述RGB資料的局部顏色表資訊。
一些實例中,針對圖片頭資訊資料段中不存在全域顏色表資訊的情況,當所述RGB資料為所述圖片檔中的第一幀圖像,所述顏色表生成單元42可以採用所述RGB資料中的各圖元點的RGB值對初始化顏色表資訊進行訓練以生成所述RGB資料的局部顏色表資訊。
一些實例中,當所述RGB資料為所述圖片檔中的第一幀圖像,且所述圖片頭資訊資料段中不存在全域顏色表資訊時,所述顏色表生成單元42可以生成一個初始化顏色表資訊,例如:(0,0,0)、(1,1,1)、(2,2,2)、……、(255,255,255),所述顏色表生成單元42在初始化顏色表資訊中獲取G分量與所述RGB資料中當前圖元點的G分量最接近的第三源RGB值,並獲取所述第三源RGB值的第三色彩索引,所述顏色表生成單元42在所述初始化顏色表資訊中以所述第三色彩索引為中心的預設範圍 內,獲取與所述當前圖元點的RGB值誤差最小的第四源RGB值,並獲取所述第四源RGB值的第四色彩索引,所述顏色表生成單元42將所述第四源RGB值替換為所述當前圖元點的RGB值,並採用預設權重值和所述當前圖元點的RGB值,對所述初始化顏色表資訊中以所述第四色彩索引為中心的預設範圍內的多個源RGB值進行修改,當所述當前圖元點不為所述RGB資料中的最後一個圖元點時,所述顏色表生成單元42獲取修改後得到的所述初始化顏色表資訊,將所述當前圖元點的下一個圖元點作為當前圖元點,並轉入執行在所述初始化顏色表資訊中獲取G分量與所述RGB資料中當前圖元點的G分量最接近的第三源RGB值,當所述當前圖元點為所述RGB資料中的最後一個圖元點時,所述顏色表生成單元42獲取修改後得到的所述訓練顏色表資訊,並將所述初始化顏色表資訊確定為所述RGB資料的局部顏色表資訊。需要說明的是,各實例中對初始化顏色表資訊進行訓練的過程可以參見前述方式的執行過程,在此不進行贅述。
一些實例中,針對所述RGB資料不為所述圖片檔中的第一幀圖像,即所述RGB資料為所述圖片檔中的第N幀圖像時,其中,N為大於1且小於或等於所述總幀數的正整數,所述顏色表生成單元42可以採用所述RGB資料中的各圖元點的RGB值對第N-1幀RGB資料的局部顏色表資訊進行訓練以生成所述RGB資料的局部顏色表資訊。
一些實例中,當所述RGB資料為所述圖片檔中的第N幀圖像時,所述顏色表生成單元42可以將第N-1幀RGB資料的局部顏色表資訊中的至少一個源RGB值按照G分量的預設排序方式進行排序,以生成訓練顏色表資訊,所述顏色表生成單元42在所述訓練顏色表資訊中獲取G分量與所述 RGB資料中當前圖元點的G分量最接近的第五源RGB值,並獲取所述第五源RGB值的第五色彩索引,所述顏色表生成單元42在所述訓練顏色表資訊中以所述第五色彩索引為中心的預設範圍內,獲取與所述當前圖元點的RGB值誤差最小的第六源RGB值,並獲取所述第六源RGB值的第六色彩索引,所述顏色表生成單元42將所述第六源RGB值替換為所述當前圖元點的RGB值,並採用預設權重值和所述當前圖元點的RGB值,對所述訓練顏色表資訊中以所述第六色彩索引為中心的預設範圍內的多個源RGB值進行修改,當所述當前圖元點不為所述RGB資料中的最後一個圖元點時,所述顏色表生成單元42獲取修改後得到的所述訓練顏色表資訊,將所述當前圖元點的下一個圖元點作為當前圖元點,並轉入執行在所述訓練顏色表資訊中獲取G分量與所述RGB資料中當前圖元點的G分量最接近的第五源RGB值,當所述當前圖元點為所述RGB資料中的最後一個圖元點時,所述顏色表生成單元42獲取修改後得到的所述訓練顏色表資訊,並將所述訓練顏色表資訊確定為所述RGB資料的局部顏色表資訊。需要說明的是,各實例中對訓練顏色表資訊進行訓練可以參見前述方式的執行過程,在此不進行贅述。
圖元值更新單元43,用於採用RGB資料的局部顏色表資訊對各圖元點的RGB值進行更新。
一些實例中,所述圖元值更新單元43可以採用所述RGB資料的局部顏色表資訊對所述RGB資料中各圖元點的RGB值進行更新,所述圖片檔處理設備4採用所述延時時間和所述總幀數將更新後的所述RGB資料進行圖像編碼以生成所述圖片檔。
在本發明實施例中,通過對全域顏色表資訊或初始化顏色表 資訊進行訓練,生成RGB資料的局部顏色表資訊,有效的減少了圖像的失真。通過採用G分量獲取最接近的源RGB值,並在顏色表資訊中進行小範圍的色彩索引搜索,無需遍歷整個顏色表資訊,降低了對局部顏色表資訊訓練的複雜度,進一步提升了圖片檔的編碼效率。
請參見圖35,為本發明實施例提供了又一種圖片檔處理設備的結構示意圖。如圖35所示,所述圖片檔處理設備4000可以包括:至少一個處理器4001,例如CPU,至少一個網路介面4004,使用者介面4003,記憶體4005,至少一個通信匯流排4002。其中,通信匯流排4002用於實現這些元件之間的連接通信。其中,使用者介面4003可以包括顯示幕(Display)、鍵盤(Keyboard),可選用戶介面4003還可以包括標準的有線介面、無線介面。網路介面4004一些實例中可以包括標準的有線介面、無線介面(如WI-FI介面)。記憶體4005可以是高速RAM記憶體,也可以是非不穩定的記憶體(non-volatile memory),例如至少一個磁碟記憶體。記憶體4005一些實例中還可以是至少一個位於遠離前述處理器4001的儲存裝置。如圖35所示,作為一種電腦儲存介質的記憶體4005中可以包括作業系統、網路通信模組、使用者介面模組以及影像處理應用程式。
在圖35所示的圖片檔處理設備4000中,網路介面4004主要用於連接發送端,與所述發送端進行資料通信。而使用者介面4003主要用於為使用者提供輸入的介面,獲取使用者輸入的資料。而處理器4001可以用於調用記憶體4005中儲存的影像處理應用程式,並具體執行以下步驟:獲取對原始圖片檔處理生成的RGB資料,獲取RGB資料中的各圖元點的RGB值。
採用各圖元點的RGB值對RGB資料的初始顏色表資訊進行訓練以生成RGB資料的局部顏色表資訊。
採用RGB資料的局部顏色表資訊對各圖元點的RGB值進行更新。
在一個實施例中,所述處理器4001在執行採用各圖元點的RGB值對RGB資料的初始顏色表資訊進行訓練以生成RGB資料的局部顏色表資訊時,具體執行以下步驟:當所述RGB資料為圖片檔中的第一幀圖像,且解碼所述圖片檔生成的圖片頭資訊資料段中存在全域顏色表資訊時,採用RGB資料中的各圖元點的RGB值對所述全域顏色表資訊進行訓練以生成RGB資料的局部顏色表資訊。
在一個實施例中,所述處理器4001在執行採用RGB資料中的各圖元點的RGB值對所述全域顏色表資訊進行訓練以生成RGB資料的局部顏色表資訊時,具體執行以下步驟:將所述全域顏色表資訊中的至少一個源RGB值按照G分量的預設排序方式進行排序,以生成訓練顏色表資訊。
在所述訓練顏色表資訊中獲取G分量與RGB資料中當前圖元點的G分量最接近的第一源RGB值,並獲取第一源RGB值的第一色彩索引。
在訓練顏色表資訊中以第一色彩索引為中心的預設範圍內,獲取與當前圖元點的RGB值誤差最小的第二源RGB值,並獲取第二源RGB值的第二色彩索引。
將所述第二源RGB值替換為所述當前圖元點的RGB值,並採用預設權重值和所述當前圖元點的RGB值,對訓練顏色表資訊中以第二色彩索引為中心的預設範圍內的多個源RGB值進行修改。
當所述當前圖元點不為RGB資料中的最後一個圖元點時,獲取修改後得到的所述訓練顏色表資訊,將當前圖元點的下一個圖元點作為當前圖元點,並轉入執行在所述訓練顏色表資訊中獲取G分量與RGB資料中當前圖元點的G分量最接近的第一源RGB值。
當所述當前圖元點為RGB資料中的最後一個圖元點時,獲取修改後得到的所述訓練顏色表資訊,並將所述訓練顏色表資訊確定為RGB資料的局部顏色表資訊。
在一個實施例中,所述處理器4001在執行採用各圖元點的RGB值對所述RGB資料的初始顏色表資訊進行訓練以生成RGB資料的局部顏色表資訊時,具體執行以下步驟:當所述RGB資料為圖片檔中的第一幀圖像,且解碼所述圖片檔生成的圖片頭資訊資料段中不存在全域顏色表資訊時,採用RGB資料中的各圖元點的RGB值對初始化顏色表資訊進行訓練以生成RGB資料的局部顏色表資訊。
在一個實施例中,所述處理器4001在執行採用RGB資料中的各圖元點的RGB值對初始化顏色表資訊進行訓練以生成RGB資料的局部顏色表資訊時,具體執行以下步驟:在初始化顏色表資訊中獲取G分量與RGB資料中當前圖元點的G分量最接近的第三源RGB值,並獲取第三源RGB值的第三色彩索引。
在初始化顏色表資訊中以第三色彩索引為中心的預設範圍內,獲取與當前圖元點的RGB值誤差最小的第四源RGB值,並獲取第四源RGB值的第四色彩索引。
將所述第四源RGB值替換為所述當前圖元點的RGB值,並採用預設權重值和所述當前圖元點的RGB值,對初始化顏色表資訊中以第四色彩索引為中心的預設範圍內的多個源RGB值進行修改。
當所述當前圖元點不為RGB資料中的最後一個圖元點時,獲取修改後得到的所述初始化顏色表資訊,將當前圖元點的下一個圖元點作為當前圖元點,並轉入執行在所述初始化顏色表資訊中獲取G分量與RGB資料中當前圖元點的G分量最接近的第三源RGB值。
當所述當前圖元點為RGB資料中的最後一個圖元點時,獲取修改後得到的所述訓練顏色表資訊,並將所述初始化顏色表資訊確定為RGB資料的局部顏色表資訊。
在一個實施例中,所述處理器4001在執行採用各圖元點的RGB值對RGB資料的初始顏色表資訊進行訓練以生成RGB資料的局部顏色表資訊時,具體執行以下步驟:當所述RGB資料為圖片檔中的第N幀圖像時,採用RGB資料中的各圖元點的RGB值對第N-1幀RGB資料的局部顏色表資訊進行訓練以生成RGB資料的局部顏色表資訊,N為大於1且小於或等於總幀數的正整數。
在一個實施例中,所述處理器4001在執行採用RGB資料中的各圖元點的RGB值對第N-1幀RGB資料的局部顏色表資訊進行訓練以生成RGB資料的局部顏色表資訊時,具體執行以下步驟: 將第N-1幀RGB資料的局部顏色表資訊中的至少一個源RGB值按照G分量的預設排序方式進行排序,以生成訓練顏色表資訊。
在所述訓練顏色表資訊中獲取G分量與RGB資料中當前圖元點的G分量最接近的第五源RGB值,並所述第五源RGB值的第五色彩索引。
在訓練顏色表資訊中以第五色彩索引為中心的預設範圍內,獲取與當前圖元點的RGB值誤差最小的第六源RGB值,並獲取第六源RGB值的第六色彩索引。
將所述第六源RGB值替換為所述當前圖元點的RGB值,並採用預設權重值和所述當前圖元點的RGB值,對訓練顏色表資訊中以第六色彩索引為中心的預設範圍內的多個源RGB值進行修改。
當所述當前圖元點不為RGB資料中的最後一個圖元點時,獲取修改後得到的所述訓練顏色表資訊,將當前圖元點的下一個圖元點作為當前圖元點,並轉入執行在所述訓練顏色表資訊中獲取G分量與RGB資料中當前圖元點的G分量最接近的第五源RGB值。
當所述當前圖元點為RGB資料中的最後一個圖元點時,獲取修改後得到的所述訓練顏色表資訊,並將所述訓練顏色表資訊確定為RGB資料的局部顏色表資訊。
在一個實施例中,所述圖片檔為GIF圖像。
在本發明實施例中,通過對全域顏色表資訊或初始化顏色表資訊進行訓練,生成RGB資料的局部顏色表資訊,有效的減少了圖像的失真。通過採用G分量獲取最接近的源RGB值,並在顏色表資訊中進行小範圍 的色彩索引搜索,無需遍歷整個顏色表資訊,降低了對局部顏色表資訊訓練的複雜度,進一步提升了圖片檔的編碼效率。
本領域普通技術人員可以理解實現上述實施例方法中的全部或部分流程,是可以通過電腦程式來指令相關的硬體來完成,所述的程式可儲存於一電腦可讀取儲存介質中,該程式在執行時,可包括如上述各方法的實施例的流程。其中,所述的儲存介質可為磁碟、光碟、唯讀儲存記憶體(Read-Only Memory,ROM)或隨機儲存記憶體(Random Access Memory,RAM)等。
雖然本揭示已用較佳實施例揭露如上,然其並非用以限定本揭示,本揭示所屬技術領域中具有通常知識者,在不脫離本揭示之精神和範圍內,當可作各種之更動與潤飾,因此本揭示之保護範圍當視後附之申請專利範圍所界定者為準。

Claims (46)

  1. 一種圖片檔處理方法,應用於計算設備,包括:接收發送設備發送的針對原始圖片檔的轉碼碼流,解析所述轉碼碼流以獲取圖片頭資訊資料段和碼流資料,所述圖片頭資訊資料段包括所述原始圖片檔的顏色表,所述碼流資料為所述發送設備對所述原始圖片檔中各圖元的第一色彩資料進行編碼生成的資訊;解碼所述碼流資料以生成第二色彩資料,並基於所述顏色表對所述第二色彩資料進行處理以生成第二圖片檔。
  2. 如申請專利範圍第1項所述的方法,其中,所述基於所述顏色表對所述第二色彩資料進行處理以生成第二圖片檔包括:利用所述第二色彩資料中各圖元點的色彩值和所述顏色表生成所述第二色彩資料對應的局部顏色表,並採用所述局部顏色表對所述各圖元點的色彩值進行更新。
  3. 如申請專利範圍第2項所述的方法,其中,利用所述第二色彩資料中各圖元點的色彩值和所述顏色表生成所述第二色彩資料對應的局部顏色表包括:將所述顏色表中的色彩值按照一個色彩分量的預設排序方式進行排序,以生成訓練顏色表;針對所述第二色彩資料中的各圖元點,在所述訓練顏色表中獲取所述色彩分量與所述圖元點的所述色彩分量最接近的第一色彩值,並獲取第一色彩值的第一色彩索引;在所述訓練顏色表中以所述第一色彩索引為中心的預設範圍內,獲取 與所述圖元點的色彩值誤差最小的第二色彩值,並獲取第二色彩值的第二色彩索引;將所述第二色彩值替換為所述圖元點的色彩值,並採用預設權重值和所述圖元點的色彩值,對所述訓練顏色表中以所述第二色彩索引為中心的預設範圍內的多個色彩值進行修改;將修改後的所述訓練顏色表確定為所述局部顏色表。
  4. 如申請專利範圍第2項所述的方法,其中,當所述第二色彩資料為所述原始圖片檔的首幀圖像的色彩資料時,利用所述第二色彩資料中各圖元點的色彩值和所述顏色表生成所述第二色彩資料對應的局部顏色表包括:利用所述第二色彩資料對所述首幀圖像的初始顏色表進行訓練,得到所述首幀圖像對應的局部顏色表,所述首幀圖像的所述初始顏色表為所述顏色表;當所述第二色彩資料為所述原始圖片檔的第N幀圖像的色彩資料時,利用所述第二色彩資料中各圖元點的色彩值和所述顏色表生成所述第二色彩資料對應的局部顏色表包括:利用所述第二色彩資料對所述第N幀圖像對應的初始顏色表進行訓練,得到所述第N幀圖像對應的局部顏色表;其中,所述第N幀圖像對應的初始顏色表為所述原始圖片檔的第N-1幀圖像對應的局部顏色表,N為大於1的整數。
  5. 如申請專利範圍第4項所述的方法,其中,利用所述第二色彩資料對所述初始顏色表進行訓練得到所述局部顏色表包括:將所述初始顏色表中的色彩值按照一個色彩分量的預設排序方式進行排序,以生成訓練顏色表; 針對所述第二色彩資料中的各圖元點,在所述訓練顏色表中獲取所述色彩分量與所述圖元點的所述色彩分量最接近的第一色彩值,並獲取第一色彩值的第一色彩索引;在所述訓練顏色表中以所述第一色彩索引為中心的預設範圍內,獲取與所述圖元點的色彩值誤差最小的第二色彩值,並獲取第二色彩值的第二色彩索引;將所述第二色彩值替換為所述圖元點的色彩值,並採用預設權重值和所述圖元點的色彩值,對所述訓練顏色表中以所述第二色彩索引為中心的預設範圍內的多個色彩值進行修改;將修改後的所述訓練顏色表確定為所述局部顏色表。
  6. 如申請專利範圍第1項所述的方法,其中,所述圖片頭資訊資料段進一步包括延時資訊、總幀數;其中,基於所述顏色表對所述第二色彩資料進行處理以生成所述第二圖片檔包括:採用所述延時時間和所述總幀數將更新後的所述第二色彩資料進行圖像編碼以生成所述第二圖片檔。
  7. 一種圖片檔處理方法,應用於計算設備,包括:獲取第一圖片檔的色彩資料,所述色彩資料包括各圖元點的色彩值;獲取初始顏色表,所述初始顏色表中各色彩值按照一個色彩分量的值的預設排序方式排列;根據所述各圖元點的色彩值中所述色彩分量的值在所述初始顏色表中搜索各圖元點在所述初始顏色表中對應的初始色彩值,利用所述初始色彩 值對所述各圖元點的所述色彩值進行更新;將更新後的所述色彩資料進行圖像編碼以生成所述第二圖片檔。
  8. 如申請專利範圍第7項所述的方法,其中,根據所述各圖元點的色彩值中所述色彩分量的值在所述初始顏色表中搜索各圖元點在所述初始顏色表中對應的初始色彩值包括:在所述初始顏色表中獲取所述色彩分量與所述圖元點的所述色彩分量最接近的第一色彩值,並獲取第一色彩值的第一色彩索引;在所述初始顏色表中以所述第一色彩索引為中心的預設範圍內,獲取與所述圖元點的色彩值誤差最小的第二色彩值作為所述初始色彩值。
  9. 如申請專利範圍第7項所述的方法,其中,利用所述初始色彩值對所述各圖元點的所述色彩值進行更新包括:利用所述色彩資料中各圖元點的色彩值和所述初始色彩值對所述初始顏色表進行修改,得到所述色彩資料對應的局部顏色表,並採用所述局部顏色表對所述各圖元點的色彩值進行更新。
  10. 如申請專利範圍第9項所述的方法,其中,利用所述色彩資料中各圖元點的色彩值和所述初始色彩值對所述初始顏色表進行修改包括:獲取所述初始色彩值的第二色彩索引;將所述初始色彩值替換為所述圖元點的色彩值,並採用預設權重值和所述圖元點的色彩值,對所述訓練顏色表中以所述第二色彩索引為中心的預設範圍內的多個色彩值進行修改;將修改後的所述初始顏色表確定為所述局部顏色表。
  11. 如申請專利範圍第9項所述的方法,其中, 當所述色彩資料為所述原始圖片檔的首幀圖像的色彩資料時,利用所述色彩資料中各圖元點的色彩值和所述初始色彩值對所述初始顏色表進行修改得到所述色彩資料對應的局部顏色表包括:利用所述色彩資料對所述首幀圖像的初始顏色表進行訓練,得到所述首幀圖像對應的局部顏色表,所述首幀圖像的所述初始顏色表為所述初始顏色表;當所述色彩資料為所述原始圖片檔的第N幀圖像的色彩資料時,利用所述色彩資料中各圖元點的色彩值生成所述色彩資料對應的局部顏色表包括:利用所述第二色彩資料對所述第N幀圖像對應的初始顏色表進行訓練,得到所述第N幀圖像對應的局部顏色表;其中,所述第N幀圖像對應的初始顏色表為所述原始圖片檔的第N-1幀圖像對應的局部顏色表,N為大於1的整數。
  12. 如申請專利範圍第7項所述的方法,其中,獲取所述初始顏色表包括:獲取所述第一圖片檔中的全域顏色表;將所述全域顏色表中的色彩值按照一個色彩分量的值進行排序,得到所述初始顏色表。
  13. 如申請專利範圍第7項所述的方法,其中,獲取所述初始顏色表包括:將預設的多個色彩值按照一個色彩分量的值預設排序方式排列,以生成所述初始顏色表。
  14. 一種圖片檔處理方法,應用於計算設備,包括:接收發送端發送的針對原始圖片檔的轉碼碼流,解析所述轉碼碼流以 獲取圖片檔的圖片頭資訊資料段和碼流資料,所述碼流資料為所述發送端對YUV資料進行編碼生成的資訊,所述YUV資料為所述發送端對圖片檔中每幀圖像進行轉換生成的資料;根據所述碼流資料生成所述YUV資料,並基於所述圖片頭資訊資料段對所述YUV資料進行處理以生成所述圖片檔。
  15. 如申請專利範圍第14項所述的方法,其中,所述圖片頭資訊資料段包括延時資訊、總幀數、全域顏色表資訊;所述根據所述碼流資料生成所述YUV資料,並基於所述圖片頭資訊資料段對所述YUV資料進行處理以生成所述圖片檔,包括:解碼所述碼流資料以生成所述YUV資料,並採用顏色域轉換公式將所述YUV資料轉換為三原色RGB資料;採用所述全域顏色表資訊對RGB資料中的各圖元點的RGB值進行更新;採用所述延時時間和所述總幀數將更新後的所述RGB資料進行圖像編碼以生成所述圖片檔。
  16. 如申請專利範圍第15項所述的方法,其中,所述採用所述全域顏色表資訊對RGB資料中的各圖元點的RGB值進行更新,包括:當所述RGB資料為所述圖片檔中的第一幀圖像,且所述圖片頭資訊資料段中存在全域顏色表資訊時,採用RGB資料中的各圖元點的RGB值對所述全域顏色表資訊進行訓練以生成RGB資料的局部顏色表資訊,並採用RGB資料的局部顏色表資訊對各圖元點的RGB值進行更新。
  17. 如申請專利範圍第16項所述的方法,其特徵在於,所述採用RGB 資料中的各圖元點的RGB值對所述全域顏色表資訊進行訓練以生成RGB資料的局部顏色表資訊,包括:將所述全域顏色表資訊中的至少一個源RGB值按照G分量的預設排序方式進行排序,以生成訓練顏色表資訊;在所述訓練顏色表資訊中獲取G分量與RGB資料中當前圖元點的G分量最接近的第一源RGB值,並獲取第一源RGB值的第一色彩索引;在訓練顏色表資訊中以第一色彩索引為中心的預設範圍內,獲取與當前圖元點的RGB值誤差最小的第二源RGB值,並獲取第二源RGB值的第二色彩索引;將所述第二源RGB值替換為所述當前圖元點的RGB值,並採用預設權重值和所述當前圖元點的RGB值,對訓練顏色表資訊中以第二色彩索引為中心的預設範圍內的多個源RGB值進行修改;當所述當前圖元點不為RGB資料中的最後一個圖元點時,獲取修改後得到的所述訓練顏色表資訊,將當前圖元點的下一個圖元點作為當前圖元點,並轉入執行在所述訓練顏色表資訊中獲取G分量與RGB資料中當前圖元點的G分量最接近的第一源RGB值;當所述當前圖元點為RGB資料中的最後一個圖元點時,獲取修改後得到的所述訓練顏色表資訊,並將所述訓練顏色表資訊確定為RGB資料的局部顏色表資訊。
  18. 如申請專利範圍第15項所述的方法,其中,所述採用所述全域顏色表資訊對RGB資料中的各圖元點的RGB值進行更新,包括:當所述RGB資料為圖片檔中的第一幀圖像,且所述圖片頭資訊資料段 中不存在全域顏色表資訊時,採用RGB資料中的各圖元點的RGB值對初始化顏色表資訊進行訓練以生成RGB資料的局部顏色表資訊,並採用RGB資料的局部顏色表資訊對各圖元點的RGB值進行更新。
  19. 如申請專利範圍第18項所述的方法,其中,所述採用RGB資料中的各圖元點的RGB值對初始化顏色表資訊進行訓練以生成RGB資料的局部顏色表資訊,包括:在初始化顏色表資訊中獲取G分量與RGB資料中當前圖元點的G分量最接近的第三源RGB值,並獲取第三源RGB值的第三色彩索引;在初始化顏色表資訊中以第三色彩索引為中心的預設範圍內,獲取與當前圖元點的RGB值誤差最小的第四源RGB值,並獲取第四源RGB值的第四色彩索引;將所述第四源RGB值替換為所述當前圖元點的RGB值,並採用預設權重值和所述當前圖元點的RGB值,對初始化顏色表資訊中以第四色彩索引為中心的預設範圍內的多個源RGB值進行修改;當所述當前圖元點不為RGB資料中的最後一個圖元點時,獲取修改後得到的所述初始化顏色表資訊,將當前圖元點的下一個圖元點作為當前圖元點,並轉入執行在所述初始化顏色表資訊中獲取G分量與RGB資料中當前圖元點的G分量最接近的第三源RGB值;當所述當前圖元點為RGB資料中的最後一個圖元點時,獲取修改後得到的所述訓練顏色表資訊,並將所述初始化顏色表資訊確定為RGB資料的局部顏色表資訊。
  20. 如申請專利範圍第15項所述的方法,其中,所述採用所述全域顏 色表資訊對RGB資料中的各圖元點的RGB值進行更新,包括:當所述RGB資料為圖片檔中的第N幀圖像時,所述接收端採用RGB資料中的各圖元點的RGB值對第N-1幀RGB資料的局部顏色表資訊進行訓練以生成RGB資料的局部顏色表資訊,並採用RGB資料的局部顏色表資訊對各圖元點的RGB值進行更新,N為大於1且小於或等於總幀數的正整數。
  21. 如申請專利範圍第20項所述的方法,其中,所述採用RGB資料中的各圖元點的RGB值對第N-1幀RGB資料的局部顏色表資訊進行訓練以生成RGB資料的局部顏色表資訊,包括:將第N-1幀RGB資料的局部顏色表資訊中的至少一個源RGB值按照G分量的預設排序方式進行排序,以生成訓練顏色表資訊;在所述訓練顏色表資訊中獲取G分量與RGB資料中當前圖元點的G分量最接近的第五源RGB值,並獲取第五源RGB值的第五色彩索引;在訓練顏色表資訊中以第五色彩索引為中心的預設範圍內,獲取與當前圖元點的RGB值誤差最小的第六源RGB值,並獲取第六源RGB值的第六色彩索引;將所述第六源RGB值替換為所述當前圖元點的RGB值,並採用預設權重值和所述當前圖元點的RGB值,對所述訓練顏色表資訊中以第六色彩索引為中心的預設範圍內的多個源RGB值進行修改;當所述當前圖元點不為RGB資料中的最後一個圖元點時,獲取修改後得到的所述訓練顏色表資訊,將當前圖元點的下一個圖元點作為當前圖元點,並轉入執行在所述訓練顏色表資訊中獲取G分量與RGB資料中當前圖 元點的G分量最接近的第五源RGB值;當所述當前圖元點為RGB資料中的最後一個圖元點時,獲取修改後得到的所述訓練顏色表資訊,並將所述訓練顏色表資訊確定為RGB資料的局部顏色表資訊。
  22. 一種圖片檔處理方法,應用於計算設備,包括:根據原始圖片檔生成圖片檔的圖片頭資訊資料段,並將圖片檔中每幀圖像轉換為YUV資料;對所述YUV資料進行編碼以生成碼流資料;存儲轉碼碼流,所述轉碼碼流包含所述圖片頭資訊資料段和所述碼流資料;解析所述轉碼碼流以獲取所述圖片頭資訊資料段和所述碼流資料;根據所述碼流資料生成所述YUV資料,並基於所述圖片頭資訊資料段對所述YUV資料進行處理以生成所述圖片檔。
  23. 如申請專利範圍第22項所述的方法,其中,所述根據原始圖片檔生成圖片檔的圖片頭資訊資料段,並將圖片檔中每幀圖像轉換為YUV資料,包括:解碼原始圖片檔以生成所述圖片檔的圖片頭資訊資料段以及所述圖片檔中每幀圖像對應的RGB資料,所述圖片頭資訊資料段包括延時資訊、總幀數、全域顏色表資訊;採用顏色域轉換公式將所述RGB資料轉換為YUV資料。
  24. 如申請專利範圍第22項所述的方法,其中,所述編碼包括預測編碼、變換編碼、量化編碼和熵編碼。
  25. 如申請專利範圍第22項所述的方法,其中,所述對所述YUV資料進行編碼以生成碼流資料,包括:採用配置參數對所述YUV資料進行編碼以生成碼流資料,所述配置參數為對所述YUV資料進行編碼的參數,所述配置參數包括標清模式參數、高清模式參數和無損模式參數中的任一種。
  26. 如申請專利範圍第22項所述的方法,其中,所述對所述YUV資料進行編碼以生成碼流資料,包括:配置編碼器複雜度對所述YUV資料進行編碼以生成碼流資料,所述編碼器複雜度為根據所述發送端的硬體性能所決定的編碼的精細度參數。
  27. 如申請專利範圍第23項所述的方法,其中,所述根據所述碼流資料生成所述YUV資料,並基於所述圖片頭資訊資料段對所述YUV資料進行處理以生成所述圖片檔,包括:解碼所述碼流資料以生成所述YUV資料,並採用顏色域轉換公式將所述YUV資料轉換為RGB資料;採用所述全域顏色表資訊對RGB資料中的各圖元點的RGB值進行更新;採用所述延時時間和所述總幀數將更新後的所述RGB資料進行圖像編碼以生成所述圖片檔。
  28. 如申請專利範圍第27項所述的方法,其中,所述採用所述全域顏色表資訊對RGB資料中的各圖元點的RGB值進行更新,包括:當所述RGB資料為所述圖片檔中的第一幀圖像,且所述圖片頭資訊資料段中存在全域顏色表資訊時,採用RGB資料中的各圖元點的RGB值對 所述全域顏色表資訊進行訓練以生成RGB資料的局部顏色表資訊,並採用RGB資料的局部顏色表資訊對各圖元點的RGB值進行更新。
  29. 如申請專利範圍第28項所述的方法,其中,所述採用RGB資料中的各圖元點的RGB值對所述全域顏色表資訊進行訓練以生成RGB資料的局部顏色表資訊,包括:將所述全域顏色表資訊中的至少一個源RGB值按照G分量的預設排序方式進行排序,以生成訓練顏色表資訊;在所述訓練顏色表資訊中獲取G分量與RGB資料中當前圖元點的G分量最接近的第一源RGB值,並獲取第一源RGB值的第一色彩索引;在訓練顏色表資訊中以第一色彩索引為中心的預設範圍內,獲取與當前圖元點的RGB值誤差最小的第二源RGB值,並獲取第二源RGB值的第二色彩索引;將所述第二源RGB值替換為所述當前圖元點的RGB值,並採用預設權重值和所述當前圖元點的RGB值,對訓練顏色表資訊中以第二色彩索引為中心的預設範圍內的多個源RGB值進行修改;當所述當前圖元點不為RGB資料中的最後一個圖元點時,獲取修改後得到的所述訓練顏色表資訊,將當前圖元點的下一個圖元點作為當前圖元點,並轉入執行在所述訓練顏色表資訊中獲取G分量與RGB資料中當前圖元點的G分量最接近的第一源RGB值;當所述當前圖元點為RGB資料中的最後一個圖元點時,獲取修改後得到的所述訓練顏色表資訊,並將所述訓練顏色表資訊確定為RGB資料的局部顏色表資訊。
  30. 如申請專利範圍第27項所述的方法,其中,所述採用所述全域顏色表資訊對RGB資料中的各圖元點的RGB值進行更新,包括:當所述RGB資料為圖片檔中的第一幀圖像,且所述圖片頭資訊資料段中不存在全域顏色表資訊時,採用RGB資料中的各圖元點的RGB值對初始化顏色表資訊進行訓練以生成RGB資料的局部顏色表資訊,並採用RGB資料的局部顏色表資訊對各圖元點的RGB值進行更新。
  31. 如申請專利範圍第30項所述的方法,其中,所述採用RGB資料中的各圖元點的RGB值對初始化顏色表資訊進行訓練以生成RGB資料的局部顏色表資訊,包括:在初始化顏色表資訊中獲取G分量與RGB資料中當前圖元點的G分量最接近的第三源RGB值,並獲取第三源RGB值的第三色彩索引;在初始化顏色表資訊中以第三色彩索引為中心的預設範圍內,獲取與當前圖元點的RGB值誤差最小的第四源RGB值,並獲取第四源RGB值的第四色彩索引;將所述第四源RGB值替換為所述當前圖元點的RGB值,並採用預設權重值和所述當前圖元點的RGB值,對初始化顏色表資訊中以第四色彩索引為中心的預設範圍內的多個源RGB值進行修改;當所述當前圖元點不為RGB資料中的最後一個圖元點時,獲取修改後得到的所述初始化顏色表資訊,將當前圖元點的下一個圖元點作為當前圖元點,並轉入執行在所述初始化顏色表資訊中獲取G分量與RGB資料中當前圖元點的G分量最接近的第三源RGB值;當所述當前圖元點為RGB資料中的最後一個圖元點時,獲取修改後得 到的所述訓練顏色表資訊,並將所述初始化顏色表資訊確定為RGB資料的局部顏色表資訊。
  32. 如申請專利範圍第27項所述的方法,其中,所述採用所述全域顏色表資訊對RGB資料中的各圖元點的RGB值進行更新,包括:當所述RGB資料為圖片檔中的第N幀圖像時,所述接收端採用RGB資料中的各圖元點的RGB值對第N-1幀RGB資料的局部顏色表資訊進行訓練以生成RGB資料的局部顏色表資訊,並採用RGB資料的局部顏色表資訊對各圖元點的RGB值進行更新,N為大於1且小於或等於總幀數的正整數。
  33. 如申請專利範圍第32項所述的方法,其中,所述採用RGB資料中的各圖元點的RGB值對第N-1幀RGB資料的局部顏色表資訊進行訓練以生成RGB資料的局部顏色表資訊,包括:將第N-1幀RGB資料的局部顏色表資訊中的至少一個源RGB值按照G分量的預設排序方式進行排序,以生成訓練顏色表資訊;在所述訓練顏色表資訊中獲取G分量與RGB資料中當前圖元點的G分量最接近的第五源RGB值,並獲取第五源RGB值的第五色彩索引;在訓練顏色表資訊中以第五色彩索引為中心的預設範圍內,獲取與當前圖元點的RGB值誤差最小的第六源RGB值,並獲取第六源RGB值的第六色彩索引;將所述第六源RGB值替換為所述當前圖元點的RGB值,並採用預設權重值和所述當前圖元點的RGB值,對所述訓練顏色表資訊中以第六色彩索引為中心的預設範圍內的多個源RGB值進行修改; 當所述當前圖元點不為RGB資料中的最後一個圖元點時,獲取修改後得到的所述訓練顏色表資訊,將當前圖元點的下一個圖元點作為當前圖元點,並轉入執行在所述訓練顏色表資訊中獲取G分量與RGB資料中當前圖元點的G分量最接近的第五源RGB值;當所述當前圖元點為RGB資料中的最後一個圖元點時,獲取修改後得到的所述訓練顏色表資訊,並將所述訓練顏色表資訊確定為RGB資料的局部顏色表資訊。
  34. 一種圖片檔處理方法,應用於計算設備,包括:獲取對原始圖片檔解碼生成的RGB資料,獲取RGB資料中的各圖元點的RGB值;採用各圖元點的RGB值對RGB資料的初始顏色表資訊進行訓練以生成RGB資料的局部顏色表資訊;採用RGB資料的局部顏色表資訊對各圖元點的RGB值進行更新。
  35. 如申請專利範圍第34項所述的方法,其中,所述採用各圖元點的RGB值對RGB資料的初始顏色表資訊進行訓練以生成RGB資料的局部顏色表資訊,包括:當所述RGB資料為所述圖片檔中的第一幀圖像,且所述圖片頭資訊資料段中存在全域顏色表資訊時,採用RGB資料中的各圖元點的RGB值對所述全域顏色表資訊進行訓練以生成RGB資料的局部顏色表資訊。
  36. 如申請專利範圍第35項所述的方法,其中,所述採用RGB資料中的各圖元點的RGB值對所述全域顏色表資訊進行訓練以生成RGB資料的局部顏色表資訊,包括: 將所述全域顏色表資訊中的至少一個源RGB值按照G分量的預設排序方式進行排序,以生成訓練顏色表資訊,在所述訓練顏色表資訊中獲取G分量與RGB資料中當前圖元點的G分量最接近的第一源RGB值,並獲取第一源RGB值的第一色彩索引;在訓練顏色表資訊中以第一色彩索引為中心的預設範圍內,獲取與當前圖元點的RGB值誤差最小的第二源RGB值,並獲取第二源RGB值的第二色彩索引;將所述第二源RGB值替換為所述當前圖元點的RGB值,並採用預設權重值和所述當前圖元點的RGB值,對訓練顏色表資訊中以第二色彩索引為中心的預設範圍內的多個源RGB值進行修改;當所述當前圖元點不為RGB資料中的最後一個圖元點時,獲取修改後得到的所述訓練顏色表資訊,將當前圖元點的下一個圖元點作為當前圖元點,並轉入執行在所述訓練顏色表資訊中獲取G分量與RGB資料中當前圖元點的G分量最接近的第一源RGB值;當所述當前圖元點為RGB資料中的最後一個圖元點時,獲取修改後得到的所述訓練顏色表資訊,並將所述訓練顏色表資訊確定為RGB資料的局部顏色表資訊。
  37. 如申請專利範圍第34項所述的方法,其中,所述採用各圖元點的RGB值對RGB資料的初始顏色表資訊進行訓練以生成RGB資料的局部顏色表資訊,包括:當所述RGB資料為圖片檔中的第一幀圖像,且所述圖片頭資訊資料段中不存在全域顏色表資訊時,採用RGB資料中的各圖元點的RGB值對初 始化顏色表資訊進行訓練以生成RGB資料的局部顏色表資訊。
  38. 如申請專利範圍第37項所述的方法,其中,所述採用RGB資料中的各圖元點的RGB值對初始化顏色表資訊進行訓練以生成RGB資料的局部顏色表資訊,包括:在初始化顏色表資訊中獲取G分量與RGB資料中當前圖元點的G分量最接近的第三源RGB值,並獲取第三源RGB值的第三色彩索引;在初始化顏色表資訊中以第三色彩索引為中心的預設範圍內,獲取與當前圖元點的RGB值誤差最小的第四源RGB值,並獲取第四源RGB值的第四色彩索引;將所述第四源RGB值替換為所述當前圖元點的RGB值,並採用預設權重值和所述當前圖元點的RGB值,對初始化顏色表資訊中以第四色彩索引為中心的預設範圍內的多個源RGB值進行修改;當所述當前圖元點不為RGB資料中的最後一個圖元點時,獲取修改後得到的所述初始化顏色表資訊,將當前圖元點的下一個圖元點作為當前圖元點,並轉入執行在所述初始化顏色表資訊中獲取G分量與RGB資料中當前圖元點的G分量最接近的第三源RGB值;當所述當前圖元點為RGB資料中的最後一個圖元點時,獲取修改後得到的所述訓練顏色表資訊,並將所述初始化顏色表資訊確定為RGB資料的局部顏色表資訊。
  39. 如申請專利範圍第34項所述的方法,其中,所述採用各圖元點的RGB值對RGB資料的初始顏色表資訊進行訓練以生成RGB資料的局部顏色表資訊,包括: 當所述RGB資料為圖片檔中的第N幀圖像時,採用RGB資料中的各圖元點的RGB值對第N-1幀RGB資料的局部顏色表資訊進行訓練以生成RGB資料的局部顏色表資訊,N為大於1且小於或等於總幀數的正整數。
  40. 如申請專利範圍第39項所述的方法,其中,所述採用RGB資料中的各圖元點的RGB值對第N-1幀RGB資料的局部顏色表資訊進行訓練以生成RGB資料的局部顏色表資訊,包括:將第N-1幀RGB資料的局部顏色表資訊中的至少一個源RGB值按照G分量的預設排序方式進行排序,以生成訓練顏色表資訊;在所述訓練顏色表資訊中獲取G分量與RGB資料中當前圖元點的G分量最接近的第五源RGB值,並獲取第五源RGB值的第五色彩索引;在訓練顏色表資訊中以第五色彩索引為中心的預設範圍內,獲取與當前圖元點的RGB值誤差最小的第六源RGB值,並獲取第六源RGB值的第六色彩索引;將所述第六源RGB值替換為所述當前圖元點的RGB值,並採用預設權重值和所述當前圖元點的RGB值,對所述訓練顏色表資訊中以第六色彩索引為中心的預設範圍內的多個源RGB值進行修改;當所述當前圖元點不為RGB資料中的最後一個圖元點時,獲取修改後得到的所述訓練顏色表資訊,將當前圖元點的下一個圖元點作為當前圖元點,並轉入執行在所述訓練顏色表資訊中獲取G分量與RGB資料中當前圖元點的G分量最接近的第五源RGB值;當所述當前圖元點為RGB資料中的最後一個圖元點時,獲取修改後得到的所述訓練顏色表資訊,並將所述訓練顏色表資訊確定為RGB資料的局 部顏色表資訊。
  41. 一種圖片檔處理裝置,包括:處理器和記憶體,所述記憶體中存儲有電腦可讀指令,可以使所述處理器:獲取原始圖片檔的轉碼碼流,解析所述轉碼碼流以獲取圖片頭資訊資料段和碼流資料,所述圖片頭資訊資料段包括所述原始圖片檔的顏色表,所述碼流資料為所述發送設備對所述原始圖片檔中各圖元的第一色彩資料進行編碼生成的資訊;解碼所述碼流資料以生成第二色彩資料,並基於所述顏色表對所述第二色彩資料進行處理以生成第二圖片檔。
  42. 如申請專利範圍第41項所述的裝置,其中,所述電腦可讀指令可以使所述處理器:利用所述第二色彩資料中各圖元點的色彩值和所述顏色表生成所述第二色彩資料對應的局部顏色表,並採用所述局部顏色表對所述各圖元點的色彩值進行更新。
  43. 如申請專利範圍第42項所述的裝置,其中,所述電腦可讀指令可以使所述處理器:將所述顏色表中的色彩值按照一個色彩分量的預設排序方式進行排序,以生成訓練顏色表;針對所述第二色彩資料中的各圖元點,在所述訓練顏色表中獲取所述色彩分量與所述圖元點的所述色彩分量最接近的第一色彩值,並獲取第一色彩值的第一色彩索引;在所述訓練顏色表中以所述第一色彩索引為中心的預設範圍內,獲取 與所述圖元點的色彩值誤差最小的第二色彩值,並獲取第二色彩值的第二色彩索引;將所述第二色彩值替換為所述圖元點的色彩值,並採用預設權重值和所述圖元點的色彩值,對所述訓練顏色表中以所述第二色彩索引為中心的預設範圍內的多個色彩值進行修改;將修改後的所述訓練顏色表確定為所述局部顏色表。
  44. 一種圖片檔處理裝置,包括:處理器和記憶體,所述記憶體中存儲有電腦可讀指令,可以使所述處理器:獲取第一圖片檔的色彩資料,所述色彩資料包括各圖元點的色彩值;獲取初始顏色表,所述初始顏色表中各色彩值按照一個色彩分量的值的預設排序方式排列;根據所述各圖元點的色彩值中所述色彩分量的值在所述初始顏色表中搜索各圖元點在所述初始顏色表中對應的初始色彩值,利用所述初始色彩值對所述各圖元點的所述色彩值進行更新;將更新後的所述色彩資料進行圖像編碼以生成所述第二圖片檔。
  45. 如申請專利範圍第44項所述的裝置,其中,所述電腦可讀指令可以使所述處理器:利用所述色彩資料中各圖元點的色彩值和所述初始色彩值對所述初始顏色表進行修改,得到所述色彩資料對應的局部顏色表,並採用所述局部顏色表對所述各圖元點的色彩值進行更新。
  46. 一種非易失性電腦可讀存儲介質,存儲有電腦可讀指令,可以使至少一個處理器執行如申請專利範圍第1至40任一項所述的方法。
TW107111915A 2017-04-08 2018-04-03 圖片檔處理方法、裝置及儲存介質 TWI672942B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201710225916.0A CN106921869B (zh) 2017-04-08 2017-04-08 一种图片文件处理方法及其设备
??201710225916.0 2017-04-08

Publications (2)

Publication Number Publication Date
TW201838416A true TW201838416A (zh) 2018-10-16
TWI672942B TWI672942B (zh) 2019-09-21

Family

ID=59568640

Family Applications (1)

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

Country Status (3)

Country Link
CN (2) CN109151503B (zh)
TW (1) TWI672942B (zh)
WO (1) WO2018184465A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109151503B (zh) * 2017-04-08 2022-03-15 腾讯科技(深圳)有限公司 一种图片文件处理方法及其设备
CN110069728B (zh) * 2017-10-30 2022-08-12 北京京东尚科信息技术有限公司 用于展示图片的方法及装置
US10841458B2 (en) * 2018-03-02 2020-11-17 Canon Kabushiki Kaisha Image processing apparatus, image processing method, and storage medium
CN108933945B (zh) * 2018-08-17 2020-06-19 腾讯科技(深圳)有限公司 一种gif图片的压缩方法、装置及存储介质

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6697521B2 (en) * 2001-06-15 2004-02-24 Nokia Mobile Phones Ltd. Method and system for achieving coding gains in wavelet-based image codecs
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
KR101277712B1 (ko) * 2006-11-13 2013-06-24 삼성전자주식회사 영상 처리 방법 및 장치
CN101540901B (zh) * 2008-03-20 2011-04-06 华为技术有限公司 编解码方法及装置
CN101459829B (zh) * 2008-12-25 2011-05-04 杭州恒生数字设备科技有限公司 一种低延迟的全数字监控系统
CN101742317B (zh) * 2009-12-31 2012-03-28 北京中科大洋科技发展股份有限公司 一种带阿尔法透明通道的视频压缩编码方法
CN102231836B (zh) * 2011-06-27 2013-06-26 深圳市茁壮网络股份有限公司 一种gif文件在数字电视系统中的处理方法和装置
CN104333762B (zh) * 2014-11-24 2017-10-10 成都瑞博慧窗信息技术有限公司 一种视频解码方法
CN106383880B (zh) * 2016-09-13 2020-01-24 广州视睿电子科技有限公司 一种gif文件的播放方法及系统
CN109151503B (zh) * 2017-04-08 2022-03-15 腾讯科技(深圳)有限公司 一种图片文件处理方法及其设备
CN108696761B (zh) * 2017-04-08 2022-03-04 腾讯科技(深圳)有限公司 一种图片文件处理方法及其设备、系统

Also Published As

Publication number Publication date
TWI672942B (zh) 2019-09-21
CN109151503A (zh) 2019-01-04
CN106921869A (zh) 2017-07-04
CN109151503B (zh) 2022-03-15
CN106921869B (zh) 2018-09-04
WO2018184465A1 (zh) 2018-10-11

Similar Documents

Publication Publication Date Title
TWI680671B (zh) 圖片檔處理方法、設備及系統以及儲存介質
TWI672942B (zh) 圖片檔處理方法、裝置及儲存介質
RU2668723C2 (ru) Способ и оборудование для кодирования и декодирования видеосигналов
WO2018184468A1 (zh) 图片文件处理方法、设备及存储介质
RU2693185C2 (ru) Способ кодирования и способ декодирования цветового преобразования и соответствующие устройства
CN112997503B (zh) 对已编码视频序列进行解码的方法、装置及存储介质
JP2022514160A (ja) 補間フィルタトレーニング方法及び装置、ビデオピクチャエンコーディング及びデコーディング方法、並びに、エンコーダ及びデコーダ
US20220116591A1 (en) Colour component prediction method, encoder, decoder, and storage medium
JP2022515031A (ja) ビデオコーディングのための方法、機器及びコンピュータ・プログラム
CN110708558B (zh) 变换类型的表示方法和设备
WO2020103800A1 (zh) 视频解码方法和视频解码器
KR102544278B1 (ko) 단순화된 최고 확률 모드 목록 생성 방식
JP7420991B2 (ja) ビデオ符号化のための方法、及び装置
CN111316639B (zh) 视频解码方法和装置、及存储介质
JP2021521751A (ja) ビデオ符号化において追加中間候補を有するマージモードの方法及び装置
CN111491168A (zh) 视频编解码方法、解码器、编码器和相关设备
CN110754085B (zh) 用于非4:4:4格式视频内容的颜色重映射
KR102349788B1 (ko) 영상의 부호화/복호화 방법 및 장치
KR20190020083A (ko) 인코딩 방법 및 장치 및 디코딩 방법 및 장치
WO2021139572A1 (zh) 编码方法、解码方法、编码器、解码器以及存储介质
JP2023115281A (ja) 映像圧縮におけるイントラ予測のための参照サンプルパディング及びフィルタリング
CN111246208B (zh) 视频处理方法、装置及电子设备
WO2021147464A1 (zh) 视频处理方法、装置及电子设备
CN113557727B (zh) 一种视频解码方法和相关装置
WO2021169817A1 (zh) 视频处理方法及电子设备