漸近式jpeg影像解碼方法與解碼器的控制方法
2023-10-08 14:52:14
專利名稱:漸近式jpeg影像解碼方法與解碼器的控制方法
技術領域:
本發明是有關於一種影像解碼方法,特別是有關於一種漸近式 JPEG影像解碼方法。
背景技術:
以漸進式 (Progressive )離散餘弦變換(Discrete Cosine Transformation, DCT)為基礎的聯合照相專家群(Joint Photographic Experts Group, JPEG)壓縮技術是採取將整個影像以多次掃描的方式進 行編碼,使其編碼過的JPEG數據流包含多個掃描層的數據。因此在解 碼過程中,需解碼多個掃描層的數據以重建原始影像,又因為每一個 掃描層都記錄有原始影像的部分特徵,因此每一個掃描層所解碼出的 影像即可概略表現出原始影像,而其影像畫質會隨解碼出的掃描層個 數增加而提高。
圖1所繪示為傳統漸近式JPEG解碼裝置。請參照圖1,解碼裝置 IOO中包括可變長度解碼(Variable Length Decoding, VLD)裝置110、 內存裝置120、,反量化(Inverse Quantizer)裝置130和反離散餘弦變 換(Inverse DCT)裝置140。漸進式DCT為基礎的解碼過程中即需經 過上述裝置處理,其解碼流程概述如下
首先,已編碼的JPEG數據會先經過可變長度解碼裝置110處理。 由於每個掃描層在此可變長度解碼裝置110處理時需要參考之前掃描 層的信息,因此其處理結果需有一個與影像大小相同的內存裝置120 儲存,以作為下個掃描層在可變長度解碼裝置IIO處理時參考的依據。 每當內存裝置120收集完一個掃描層的所有係數之後,則會依序送入 反量化裝置130和反離散餘弦變換裝置140,以進行反量化和反離散餘 弦變換處理,而得到解碼像素並重建漸近式影像。
若將上述的漸近式JPEG影像解碼裝置及其運作方法應用在解碼器的控制上,利用控制系統控制解碼單元,而將比特流數據解碼為影
像數據,此時必需要使用到與解碼圖片大小相同的內存才能夠達到解
碼影像的功效。圖2所繪示為傳統解碼器的控制系統方塊圖,而圖3 所繪示為傳統解碼器的控制方法流程圖。請先參照圖2,控制系統200 包括控制單元210、數據單元220、解碼單元230及內存240,其中, 控制單元210分別與數據單元220與解碼單元230相連接,而解碼單 元230還另外與內存240相連接。其中,內存240的大小必需與解碼 圖片的大小相同,以作為存放解碼結果以及作為解碼過程中的參考信 息。
請同時參照圖2及圖3,控制單元210 —開始的狀態設定為初始狀 態(Initial),而在步驟S30中,控制單元210將下達一則重置指令(reset) 給解碼單元230,而由解碼單元230重設其內部狀態並清空內存240。
在步驟S302中,控制單元210會向數據單元220下達一則數據需 求(data require)指令,此時數據單元220即會將比特流數據傳送給解 碼單元230。與此同時,控制單元210還會另外下達一則解碼指令給解 碼單元230,由解碼單元230依序從數據單元220接收比特流數據進行 解碼,而解碼產生的解碼係數則會儲存至內存240中,此時控制單元 210的狀態為解碼(Decode)狀態。
在步驟S303中,當解碼單元230解碼所有的比特流數據時,解碼 單元230就會轉換為解碼結束(Finish)狀態。此時,控制單元210就 知道所有的解碼流程己完成。其中,若發生數據單元220沒有數據的 狀態時,則解碼單元會轉換到數據為空(Data—empty)的狀態,此時 控制單元210就會發出新的數據需求(data require)指令給數據單元 220。而當數據單元220恢復傳送數據時,解碼單元230即會轉換到解 碼狀態繼續解碼。此外,若解碼單元230在解碼時發生解碼錯誤的情 況時—,則解碼單元230就會轉換為錯誤(Error)狀態,由交由控制單 元210決定錯誤的處理方式。上述的漸近式JPEG解碼及解碼器的控制 方法雖可以保有漸進式圖像呈現的特性,但可解碼的圖像大小將受限 於內存空間,因此如何改善內存空間的使用仍有改善的空間。
臺灣專利第90127965號中揭露一種漸近式JPEG解碼方法,此方 法包括下列步驟首先,接收JPEG影像數據之一掃描層的數據,並將 此掃描層區分成多個區域。接著選擇這些區域其中之一作為局部解碼 區域。然後,對此掃描層進行解碼,其中會先依據此局部解碼區域的 數據產生多個解碼係數,然後再依此局部解碼區域以外的其它區域的 數據,產生其它區域針對這些解碼係數的非零歷史記錄,以及在JPEG 比特流的起始地址,並儲存至內存以作為後續解碼其它區域的參考數 據。該方法的精神就是將漸進式JPEG影像,切割成不同區域,每次只 解碼其中一個區域,等解碼完一個區域之後,再解碼另一個區域,而 解碼區域大小可以依照內存大小做調整,而不需要配置和圖像大小相 等的內存才可以解碼。然而,採用此方法需記錄大量的非零歷史記錄 及各區域的起始位置,仍會佔用不少的內存空間。
發明內容
有鑑於此,本發明的再一 目的是提供一種漸近式JPEG影像解碼方 法,將掃描層分割成多個解碼區域,而分別進行解碼,避免可解碼影 像大小受限於內存空間的影響。
本發明的又一 目的是提供一種解碼器的控制方法,通過將掃描層 分割成多個解碼區域分別解碼,而控制解碼器分別對這些解碼區域進 行解碼,達到顯著降低內存使用的目的。
為達上述或其它目的,本發明提出一種漸近式JPEG影像解碼方 法,適於將一筆比特數據解碼為影像數據,此比特流數據包括有多個 掃描層的數據,而其方法則包括下列步驟a.分割掃描層為多個解碼區 域;b.依序選擇這些解碼區域作為一局部解碼區域;c.依序接收比特流 數據中第一層掃描層的數據,並解碼此第一層掃描層的局部解碼區域 內的數據,產生多個區域解碼係數以儲存至一內存;d.依序接收此比特 流數據中下一層掃描層的數據,繼續解碼下一層掃描層的局部解碼區 域內的數據,並累加至內存儲存的區域解碼係數;e.將累加的區域解碼 係數經過反量化及反離散餘弦變換處理後,輸出作為部份影像數據。
在本發明的一實施例所述的漸近式JPEG影像解碼方法中,其中在 步驟d.中接收下一層掃描層的數據之前,更包括在解碼下一層掃描層
的下一個解碼區域的數據時,先加載下一層掃描層之前一次解碼的最 後解碼地址,然後從此最後解碼地址開始解碼下一個局部解碼區域的 數據,最後則重複上述步驟,解碼這些掃描層的局部解碼區域內的數
據,並輸出成為部份影像數據。
在本發明的一實施例所述的漸近式JPEG影像解碼方法中,分割的 解碼區域的大小依據內存大小而決定。
在本發明的一實施例所述的漸近式JPEG影像解碼方法中,當比特
流數據的所有掃描層的解碼區域的數據都解碼完畢時,則形成完整的 影像數據。
在本發明的一實施例所述的漸近式JPEG影像解碼方法中,區域解 碼係數包括經過反量化及反離散餘弦變換處理,而部份該影像數據則 包括經過一轉換器(scaler)轉換後輸出。
本發明提出一種解碼器的控制方法,適於利用控制系統控制解碼 單元,以將一筆比特流數據解碼為影像數據,其中控制系統包括控制 單元、數據單元、第一內存及第二內存,而比特流數據包括多個掃描 層的數據,此方法包括下列步驟a.控制單元下達一則重置指令給解碼 單元,而由解碼單元重設其內部狀態並清空第一內存;b.控制單元根據 第一內存的大小決定一區塊個數,並下達一則區塊個數指令給解碼單 元;c.控制單元下達一則數據需求指令給數據單元,而由數據單元傳送 比特流數據給解碼單元,同時控制單元也下達一則解碼指令給解碼單 元,而由解碼單元依序從數據單元接收比特流數據中第一層掃描層的 數據,並解碼其中一區塊個數的數據,產生多個區域解碼係數,而儲 存這些區域解碼係數於第一內存;d.控制單元記錄此第一層掃描層的最 後解碼地址於第二內存,作為此第一層掃描層的下一次解碼的起始位 置;e.控制單元下達一則掃描層開頭尋找指令給解碼單元,而由解碼單 元尋找此第一層掃描層的下一層掃描層的起始地址,並回傳一則尋找 完成指令給控制單元;f.控制單元下達解碼指令給解碼單元,而由解碼 單元依序從數據單元接收比特流數據中下一層掃描層的數據,並解碼 下一層掃描層的一區塊個數的數據,進而累加至第一內存所儲存的區 域解碼係數;g.控制單元記錄此下一層掃描層的最後解碼地址於第二內 存,作為此下一層掃描層下一次解碼的起始位置;h.最後則重複上述步 驟e.、 f.、 g.,直到所有掃描層的該區塊個數的數據都解碼完畢為止。
在本發明的一實施例所述的解碼器的控制方法中,步驟h.之後還 包括i.解碼單元回傳一則區塊解碼完成指令給控制單元;j.控制單元
下達一則掃描層位置回復指令給解碼單元,據以設定解碼單元回到第
--層掃描層,同對並下達一則區塊個數指令給解碼單元;k.控制單元從 第二內存讀取此第一層掃描層中上次解碼的最後解碼地址,並傳送給 數據單元,而由數據單元從此第一層掃描層的最後解碼地址開始傳送 第一層掃描層的數據給解碼單元;l.控制單元下達一則解碼指令給解碼 單元,而解碼單元解碼此第一層掃描層的一區塊個數的數據;m.每當 掃描層的該區塊個數的數據解碼完成時,解碼單元即回傳一則區塊解 碼完成指令給控制單元,而由控制單元記錄此解碼區域的最後解碼地 址於第二內存;n.接著返回步驟k,繼續解碼此第一層掃描層的下一層 掃描層的一區塊個數的數據,直到所有掃描層的此一區塊個數的數據 都解碼完畢為止;o.最後返回步驟j,繼續解碼這些掃描層的下一個區 塊個數的數據,直到這些掃描層中所有的解碼區塊的數據都解碼完畢 為止。
本發明因採用將掃描層分割成多個解碼區域分別解碼,因此在內 存資源有限的情況下,仍可正確地解碼及顯示JPEG影像。
為讓本發明的上述和其它目的、特徵和優點能更明顯易懂,下文 特舉較佳實施例,並配合所附圖式,作詳細說明如下。
圖1所繪示為傳統漸近式JPEG解碼裝置。 圖2所繪示為傳統解碼器的控制系統方塊圖。 圖3所繪示為傳統解碼器的控制方法流程圖。 圖4是依照本發明第一實施例所繪示的漸近式JPEG影像解碼方法 流程圖。
圖5是依照本發明第二實施例所繪示的解碼器的控制系統方塊圖。 圖6A是依照本發明第二實施例所繪示的解碼器的控制方法流程圖。
圖6B是依照本發明第二實施例所繪示的解碼器的控制方法流程圖。
具體實施例方式
為了使本發明的內容更為明了,以下特舉實施例作為本發明確實 能夠據以實施的範例。 第一實施例
在漸近式解碼方法中,每解碼一個掃描層數據時,必需將解碼出 的影像數據儲存在內存,待所有掃描層數據都解碼完畢時,才輸出完 整的影像數據。因此,可解像素的大小將會受到內存容量大小的限制, 本實施例即根據系統的內存容量大小,將掃描層分割成多個解碼區域, 而利用對這些解碼區域分別進行解碼,解決上述受限於內存容量大小 的問題。
圖4是依照本發明第一實施例所繪示的漸近式JPEG影像解碼方法 流程圖。請參照圖4,本實施例適於將一比特流數據解碼為一影像數據,
其中此比特流數據包括有多個掃描層的數據,以下介紹本實施例的解
碼方法的詳細步驟
首先,將掃描層分割為多個解碼區域(步驟S401)。其中,分割的
解碼區域的大小是依據內存的容量大小而決定,即先依據內存大小決 定解碼過程中可存儲的影像方塊的數量,再依此數量將掃描層分割成
多個解碼區域。
接著則是在這些分割的解碼區域中依序選擇一個解碼區域作為局
部解碼區域(步驟S402),下一步則依序接收此比特流數據的一層掃描 層的數據,並解碼此掃描層的局部解碼區域內的數據,產生多個區域 解碼係數(步驟S403)。其中,各個掃描層之間具有一定的順序,而在 本實施例中, 一開始接收的掃描層數據為比特流數據中排序最前的掃 描層數據。此外,由於在漸近式的解碼方式中,解碼其中一個掃描層 的數據時,必須參照先前掃描層的解碼結果,因此本實施例在產生區 域解碼係數的同時,也會將這些區域解碼係數記錄在內存中,以供後 續解碼其它掃描層時的參考。
值得一提的是,本實施例在一開始接收掃描層數據時,還包括先 去尋找該掃描層的起始地址,然後才從此起始地址開始進行解碼。此 外,在每解碼完一層掃描層的一個局部解碼區域數據後,本實施例也 包括將此局部解碼區域中最後被解碼的地址記錄下來,以作為解碼下 一個局部解碼區域的起始位置。相對地,在每次解碼一層掃描層的-
個局部解碼區域之前,也會先加載之前記錄的最後解碼地址,而能夠 接在前一個局部解碼區域的後面,繼續進行解碼動作。由上述可知, 本實施例的作法只需在每次解碼完一個局部解碼區域時記錄一個最後 解碼地址,而不需要預先儲存所有局部解碼區域的起始位置,因此可 以減少內存空間的使用。
在解碼完一個掃描層中一個解碼區域的數據後,則會依照掃描層 的順序,繼續接收下一層掃描層數據中同一個局部解碼區域的數據(步
驟S404),並參考先前儲存的區域解碼係數進行解碼,而產生新的區域 解碼係數(步驟S405)。而這些新的區域解碼係數,則會累加至先前儲 存的區域解碼係數(步驟S406),而作為下一次解碼的參考之用,累加 後的區域解碼係數包含兩個掃描層的信息,也因此具有更多的影像信 息。
下一步則是將這些累加的區域解碼係數經過反量化及反離散餘弦 變換處理後,輸出作為部份的影像數據(步驟S407)。其中,上述區域 解碼係數輸出的方式分為兩種, 一種是在最後一層掃描層的局部解碼 區域的數據解碼完畢後,才將累加的區域解碼係數經由反量化及反離 散餘弦變換處理後輸出;另一種方式則是在每一層掃描層的局部解碼 區域的數據解碼完畢時,即將累加的區域解碼係數經由反量化及反離 散餘弦變換處理後輸出。
上述兩種輸出方式的不同點在於在最後一層掃描層的局部解碼 區域解碼後所累加的區域解碼係數包括所有掃描層的影像信息,因此 最後輸出的影像就是一張完整的影像,當然這種方式也必須花費較長 的時間等待各個掃描層解碼完畢才會顯示出影像;相對的,在每解碼 完一層掃描層的局部解碼區域的數據後,所累加的區域解碼係數僅包 括這個掃描層及其前面的掃描層的影像信息,並未包含全部的影像信 息,因此輸出的影像也會以漸近式的方式呈現,而隨著解碼的掃描層 數目的增加,所顯示的影像也會愈來愈清晰。此種作法雖然一開始的 影像不清楚,但至少可以讓使用者先看到影像的初步模樣,這也是漸 近式影像的特點之一。
上述的反量化及反離散餘弦變換處理都屬於線性的計算,而不會 因為先累加區域解碼係數後再處理或處理後再累加的問題影響計算結
果。同理,尺寸大小的轉換也屬於線性的計算,因此本實施例也支持
轉換器(scaler)的轉換,透過在反量化及反離散餘弦變換處理之前先
改變輸出影像的尺寸,而能夠節省計算資源,快速地轉換影像。 在本實施例中,依照各個解碼區域在掃描層中的位置,依序進行
解碼,只需要記錄上一個解碼區域的結束位置,即可用以作為下一個
解碼區域的起始位置,不需記錄所有解碼區域的位置,因此可節省內
存空間的使用。 第二實施例
本發明還包括將上述的漸近式JPEG影像解碼方法應用在解碼器 的控制上,利用控制系統控制解碼單元,而將比特流數據解碼為影像 數據,此時不需要使用到與解碼圖片大小相同的內存就可以達到解碼 影像的功效,以下則舉實施例說明此控制系統與解碼單元間,指令傳
輸及數據處理的詳細步驟
圖5是依照本發明第二實施例所繪示的解碼器的控制系統方塊圖, 而圖6A及圖6B是依照本發明第二實施例所繪示的解碼器的控制方法 流程圖。請先參照圖5,在本實施例中,控制系統500包括控制單元 510、數據單元520、第一內存540及第二內存550,其中,控制單元 510分別與數據單元520、解碼單元530與第二內存550相連接,而解 碼單元530還另外與第一內存540相連接。
請同時參照圖5及圖6A,控制單元510 —開始的狀態設定為初始 狀態(Initial),而在步驟S601中,控制單元510將下達一則重置指令 (reset)給解碼單元530,而由解碼單元530重設其內部狀態並清空第 一內存540。
在步驟S602中,控制單元510根據第一內存540的容量大小決定 -一個區塊個數(Macroblock Number, MBN),並下達一則區塊個數指令 給解碼單元530,而解碼單元530則會根據此解碼區域的大小,將比特 流數據中的各個掃描層分割為多個解碼區域。
在步驟S603中,控制單元510會向數據單元520下達一則數據需 求(data require)指令,此時數據單元520即會將比特流數據傳送給解 碼單元530。與此同時,控制單元510還另外下達一則解碼指令給解碼 單元530,而由解碼單元530依序從數據單元520接收比特流數據中一
層掃描層的數據,並將此掃描層中該區塊個數的數據解碼產生多個區
域解碼係數,而儲存於第一內存540,此時控制單元510的狀態為解碼 (Decode)狀態。
在步驟S604中,當一個區塊個數解碼完成,控制單元510就會轉 換為區塊個數解碼結束(MBN—sos—end)狀態。此時,控制單元510 會將此掃描層解碼的最後解碼地址記錄於第二內存550,以作為解個下 一次解碼的起始位置。
在步驟S605中,控制單元510下達一則掃描層開頭尋找指令給解 碼單元530,而由解碼單元530據以找尋下一個層掃描層的起始地址, 而轉換其狀態為區塊個數解碼開始(MBN—sos—start)狀態,解碼單元 530在找到此起始地址後,則會回傳一則尋找完成指令給控制單元510。
此時則進入步驟S606,控制單元510將會下達解碼指令給解碼單 元530,而由解碼單元530依序從數據單元520接收比特流數據的下一 層掃描層的數據,並對此掃描層數據的一區塊個數的數據進行解碼, 而解碼所得的區域解碼係數則會累加至先前第一內存540中儲存的區 域解碼係數。此外,在解碼的同時,解碼單元530的狀態也轉換為解 碼(Decode)狀態。同樣地,在歩驟S607中,當此掃描層的區塊個數 的數據解碼完畢時,控制單元會將此掃描層的最後解碼地址記錄於第 二內存,而作為此掃描層下一次解碼的起始位置。
在步驟S608中,即會判斷是否所有掃描層的該區塊個數的數據都 已解碼完畢。若仍有掃描層的區塊個數的數據未解碼,則返回步驟 S605,並重複上述步驟S605 S607的動作,繼續解碼各個掃描層的該 區塊個數的數據,而當最後一層掃描層的區塊個數的數據也解碼完成 時,解碼單元530即會進入區塊解碼結束狀態(MBN一end)。
在上述步驟中,解碼單元530己完成所有掃描層中的第一個區塊 個數數據的解碼,這些區域解碼係數在由解碼單元530輸出後,即可 經由累加、反量化及反離散餘弦變換等處理,而作為部份的影像數據。 當然,本發明還包括繼續進行下一個區塊個數的數據的解碼,以下即
接著介紹本發明的解碼器的控制方法的其它步驟
請參照圖6B,在歩驟S609中,控制單元510會接收到解碼單元
530回傳的一則區塊解碼完成指令,此時即可獲知前一個區塊個數的數 據都已完成解碼。而緊接著在步驟S610中,控制單元510下達一則掃
描層地址回復指令給解碼單元530,據以將解碼單元530設定回到第一 掃描層,同時也下達一則區塊個數指令給解碼單元530,設定一次要解 碼多少個宏區塊(Macro-block)作為區塊個數。
在步驟S611中,控制單元510會從第二內存550上讀取此掃描層 在上次解碼時的最後解碼地址,並傳送給數據單元520,而數據單元 520即會從此掃描層的最後解碼地址開始,傳送此掃描層的數據給解碼 單元530。
在歩驟S612中,控制單元510將傳送一則解碼指令給解碼單元 530,而由解碼單元530開始解碼此掃描層數據中一個區塊個數的數據, 此時解碼單元530的狀態也轉換為解碼(Decode)狀態。
在步驟S613中,當此掃描層的該區塊個數的數據解碼完成時,解 碼單元530同樣會回傳一則區塊解碼完成指令給控制單元510,而由控 制單元510將掃描層解碼的最後解碼地址記錄於第二內存550。此時, 控制單元510同樣會轉換為區塊個數解碼結束(MBN_sos_end)狀態。
在步驟S614中,控制單元510將會判斷是否所有掃描層的該解碼 區域的數據都解碼完畢,若仍有掃描層的數據未解碼,則回到步驟 S611,繼續解碼下一層掃描層的該區塊個數的數據;若所有掃描層的 數據都解碼完畢,則進入步驟S615,由控制單元510繼續判斷是否所 有解碼區域的數據都解碼完畢,若仍有解碼區域未解碼,則回到步驟 S610,將解碼單元530設定回到第一掃描層,而由第一掃描層的下一 個解碼區域開始進行解碼;反之,若所有的掃描層的所有解碼區域的 數據都解碼完畢,則完成所有的解碼程序。
值得一提的是,當發生數據單元520沒有數據提供給解碼單元530 的狀況時,解碼單元530即會轉換為數據淨空(Data—empty)狀態, 此時控制單元510會發出新的數據需求(data require)指令給數據單元 520,而由數據單元520繼續恢復傳送數據,當數據恢復傳送時,控制 單元510的狀態才轉換為解碼(Decode)狀態。此外,在解碼單元530 解碼的過程中,若發生解碼錯誤的狀況時,解碼單元530就會轉換為 錯誤(error)狀態,此時就必需由控制單元510決定錯誤處理的方式。
綜上所述,在本發明的漸近式JPEG影像解碼方法中,依據內存大
小決定解碼過程中可存儲的影像方塊的數量,並依此數量將掃描層分 割為多個解碼區域,在每一回合的解碼中,會對所有掃描層中相同解 碼區域的數據進行解碼,並在下一回合,繼續挑選下一個解碼區域進 行解碼。因此,本發明在有限的內存資源中,仍可正確地實現影像解 碼,而不會影響到影像的顯示。
雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明, 任何熟習此技藝者,在不脫離本發明的精神和範圍內,當可作些許的 更動與潤飾,因此本發明的保護範圍當視後附的申請專利範圍所界定 的為準。
權利要求
1.一種漸近式JPEG影像解碼方法,適於將一比特流數據解碼為一影像數據,所述比特流數據包括有多個掃描層的數據,所述解碼方法包括下列步驟a.分割所述多個掃描層為多個解碼區域;b.依序選擇所述多個解碼區域作為一局部解碼區域;c.依序接收所述比特流數據中所述多個掃描層的第一層掃描層的數據,並解碼所述第一層掃描層的所述局部解碼區域內的數據,產生多個區域解碼係數以儲存至一內存;d.依序接收所述比特流數據中所述第一層掃描層的下一層掃瞄層的數據,繼續解碼所述下一層掃描層的所述局部解碼區域內的數據,並累加至所述內存所儲存的所述多個區域解碼係數;以及e.將累加的所述多個區域解碼係數經過反量化及反離散餘弦變換處理後,輸出作為部份的所述影像數據。
2. 如權利要求1所述的漸近式JPEG影像解碼方法,其中所述 步驟e.包括當最後所述多個掃描層的所述局部解碼區域的數據解碼都完畢 後,才將累加的所述多個區域解碼係數經過反量化及反離散餘弦變換 處理後輸出。
3. 如權利要求1所述的漸近式JPEG影像解碼方法,其中所述 步驟e.包括每當解碼完所述多個掃描層其中的一層的所述局部解碼區域的數 據時,即將累加的所述多個區域解碼係數經過反量化及反離散餘弦變 換處理後輸出。
4. 如權利要求1所述的漸近式JPEG影像解碼方法,所述步驟 d.中接收所述下一層掃描層的數據之前,進一步包括尋找所述下一層掃描層的起始地址,作為解碼所述下一層掃描層的起始地址。
5. 如權利要求1所述的漸近式JPEG影像解碼方法,進-步包括記錄所述局部解碼區域的一最後解碼地址,作為下一個所述局部 解碼區域的起始位置。
6. 如權利要求5所述的漸近式JPEG影像解碼方法,所述歩驟d.中接收所述下一層掃描層的數據之前,進一歩包括在解碼所述下一層掃描層的下一個解碼區域的數據時,先加載到所述下一層掃描層前一次解碼的所述最後解碼地址;從所述最後解碼地址開始解碼所述下一個局部解碼區域的數據;以及重複上述歩驟,分別解碼所述多個掃描層的所述多個局部解碼區 域的數據,並輸出成為部份所述影像數據。
7. 如權利要求1所述的漸近式JPEG影像解碼方法,其中分割 的所述多個解碼區域的大小是依據一內存大小而決定,且對每一所述 多個掃描層採用相同的分割方式。
8. 如權利要求1所述的漸近式JPEG影像解碼方法,其中當所 述比特流數據中所述多個掃描層的所述多個解碼區域的數據都解碼完 畢時,則完整地形成所述影像數據。
9. 一種解碼器的控制方法,適於利用一控制系統控制一解碼單 元將一比特流數據解碼為一影像數據,其中所述控制系統包括一控制 單元、 一數據單元、 一第一內存及一第二內存,而所述比特流數據包 括多個掃描層的數據,所述控制方法包括下列步驟a. 所述控制單元下達一重置指令給所述解碼單元,而由所述解碼單 元重設其內部狀態並清空所述第一 內存;b. 所述控制單元根據所述第一內存的大小決定一區塊個數,並下達一區塊個數指令給所述解碼單元;C.所述控制單元下達一數據需求指令給所述數據單元,而由所述數 據單元傳送所述比特流數據給所述解碼單元,同時所述控制單元下達 一解碼指令給所述解碼單元,而由所述解碼單元依序從所述數據單元 接收所述比特流數據中所述多個掃描層中的第一層掃描層的數據,並 解碼所述區塊個數的數據,產生多個區域解碼係數,進而儲存所述多 個區域解碼係數於所述第 一 內存;d. 所述控制單元記錄所述第一層掃描層的最後解碼地址於所述第二內存,作為所述第一層掃描層下一次解碼的起始位置;e. 所述控制單元下達一掃描層開頭尋找指令給所述解碼單元,而由 所述解碼單元尋找所述第一層掃描層的下一層掃瞄層的起始地址,並 回傳一尋找完成指令給所述控制單元;f. 所述控制單元下達所述解碼指令給所述解碼單元,而由所述解碼 單元依序從所述數據單元接收所述比特流數據中所述下一層掃描層的 數據,並解碼所述下一層掃描層的所述區塊個數的數據,進而累加至 所述第一內存所儲存的所述多個區域解碼係數;g. 所述控制單元記錄所述下一層掃描層的最後解碼地址於所述第 二內存,作為所述下一層掃描層下一次解碼的起始位置;以及h. 重複上述步驟e.、 f.、 g.,直到所有所述多個掃描層的所述區塊 個數的數據都解碼完畢為止。
10.如權利要求9所述的解碼器的控制方法,其中步驟h.之後進 一步包括i. 所述解碼單元回傳一區塊解碼完成指令給所述控制單元;以及 j.所述控制單元下達一掃描層位置回復指令給所述解碼單元,據以設定所述解碼單元回到所述第一層掃描層,同時並下達一區塊個數指 令給所述解碼單元;k.所述控制單元從所述第二內存讀取所述第一層掃描層上次解碼的所述最後解碼地址,並傳送給所述數據單元,而由所述數據單元從 所述第一層掃描層的所述最後解碼地址開始傳送所述第一層掃描層的 數據給所述解碼單元;l.所述控制單元下達一解碼指令給所述解碼單元,而所述解碼單元解碼所述第一層掃描層的所述區塊個數的數據;m.每當所述掃描層的所述區塊個數的數據解碼完成時,所述解碼 單元回傳一區塊解碼完成指令給所述控制單元,而由所述控制單元記 錄所述解碼區域的最後解碼地址於所述第二內存;n.返回步驟k,繼續解碼所述第一掃描層的下一層掃描層的所述區 塊個數的數據,直到所有所述多個掃描層的所述區塊個數的數據都解 碼完畢為止;以及o.返回步驟j,繼續解碼所述多個掃描層的下一所述區塊個數的數 據,直到所述多個掃描層的解碼區塊的數據都解碼完畢為止。
全文摘要
一種漸近式JPEG影像解碼方法與解碼器的控制方法,此影像解碼方法是依據內存大小決定解碼過程中可存儲的宏區塊(Macro-block)的數量,並依此數量將掃描層分割為多個解碼區域,在每一回合的解碼中,會對所有掃描層中相同解碼區域的數據進行解碼,並在下一回合,繼續挑選下一個解碼區域進行解碼。因此,本發明在有限的內存資源中,仍可正確地實現影像解碼,而不會影響到影像的顯示。此解碼方法也可應用在解碼器的控制上,同樣也可減少所需佔用的內存容量。
文檔編號H04N7/26GK101193293SQ20061014681
公開日2008年6月4日 申請日期2006年11月24日 優先權日2006年11月24日
發明者陳昱志, 黃志文 申請人:凌陽科技股份有限公司