国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      漸近式j(luò)peg影像解碼方法與解碼器的控制方法

      文檔序號(hào):7971386閱讀:223來源:國知局
      專利名稱:漸近式j(luò)peg影像解碼方法與解碼器的控制方法
      技術(shù)領(lǐng)域
      本發(fā)明是有關(guān)于一種影像解碼方法,特別是有關(guān)于一種漸近式 JPEG影像解碼方法。
      背景技術(shù)
      以漸進(jìn)式 (Progressive )離散余弦變換(Discrete Cosine Transformation, DCT)為基礎(chǔ)的聯(lián)合照相專家群(Joint Photographic Experts Group, JPEG)壓縮技術(shù)是采取將整個(gè)影像以多次掃描的方式進(jìn) 行編碼,使其編碼過的JPEG數(shù)據(jù)流包含多個(gè)掃描層的數(shù)據(jù)。因此在解 碼過程中,需解碼多個(gè)掃描層的數(shù)據(jù)以重建原始影像,又因?yàn)槊恳粋€(gè) 掃描層都記錄有原始影像的部分特征,因此每一個(gè)掃描層所解碼出的 影像即可概略表現(xiàn)出原始影像,而其影像畫質(zhì)會(huì)隨解碼出的掃描層個(gè) 數(shù)增加而提高。
      圖1所繪示為傳統(tǒng)漸近式JPEG解碼裝置。請(qǐng)參照?qǐng)D1,解碼裝置 IOO中包括可變長度解碼(Variable Length Decoding, VLD)裝置110、 內(nèi)存裝置120、,反量化(Inverse Quantizer)裝置130和反離散余弦變 換(Inverse DCT)裝置140。漸進(jìn)式DCT為基礎(chǔ)的解碼過程中即需經(jīng) 過上述裝置處理,其解碼流程概述如下
      首先,已編碼的JPEG數(shù)據(jù)會(huì)先經(jīng)過可變長度解碼裝置110處理。 由于每個(gè)掃描層在此可變長度解碼裝置110處理時(shí)需要參考之前掃描 層的信息,因此其處理結(jié)果需有一個(gè)與影像大小相同的內(nèi)存裝置120 儲(chǔ)存,以作為下個(gè)掃描層在可變長度解碼裝置IIO處理時(shí)參考的依據(jù)。 每當(dāng)內(nèi)存裝置120收集完一個(gè)掃描層的所有系數(shù)之后,則會(huì)依序送入 反量化裝置130和反離散余弦變換裝置140,以進(jìn)行反量化和反離散余 弦變換處理,而得到解碼像素并重建漸近式影像。
      若將上述的漸近式JPEG影像解碼裝置及其運(yùn)作方法應(yīng)用在解碼器的控制上,利用控制系統(tǒng)控制解碼單元,而將比特流數(shù)據(jù)解碼為影
      像數(shù)據(jù),此時(shí)必需要使用到與解碼圖片大小相同的內(nèi)存才能夠達(dá)到解
      碼影像的功效。圖2所繪示為傳統(tǒng)解碼器的控制系統(tǒng)方塊圖,而圖3 所繪示為傳統(tǒng)解碼器的控制方法流程圖。請(qǐng)先參照?qǐng)D2,控制系統(tǒng)200 包括控制單元210、數(shù)據(jù)單元220、解碼單元230及內(nèi)存240,其中, 控制單元210分別與數(shù)據(jù)單元220與解碼單元230相連接,而解碼單 元230還另外與內(nèi)存240相連接。其中,內(nèi)存240的大小必需與解碼 圖片的大小相同,以作為存放解碼結(jié)果以及作為解碼過程中的參考信 息。
      請(qǐng)同時(shí)參照?qǐng)D2及圖3,控制單元210 —開始的狀態(tài)設(shè)定為初始狀 態(tài)(Initial),而在步驟S30中,控制單元210將下達(dá)一則重置指令(reset) 給解碼單元230,而由解碼單元230重設(shè)其內(nèi)部狀態(tài)并清空內(nèi)存240。
      在步驟S302中,控制單元210會(huì)向數(shù)據(jù)單元220下達(dá)一則數(shù)據(jù)需 求(data require)指令,此時(shí)數(shù)據(jù)單元220即會(huì)將比特流數(shù)據(jù)傳送給解 碼單元230。與此同時(shí),控制單元210還會(huì)另外下達(dá)一則解碼指令給解 碼單元230,由解碼單元230依序從數(shù)據(jù)單元220接收比特流數(shù)據(jù)進(jìn)行 解碼,而解碼產(chǎn)生的解碼系數(shù)則會(huì)儲(chǔ)存至內(nèi)存240中,此時(shí)控制單元 210的狀態(tài)為解碼(Decode)狀態(tài)。
      在步驟S303中,當(dāng)解碼單元230解碼所有的比特流數(shù)據(jù)時(shí),解碼 單元230就會(huì)轉(zhuǎn)換為解碼結(jié)束(Finish)狀態(tài)。此時(shí),控制單元210就 知道所有的解碼流程己完成。其中,若發(fā)生數(shù)據(jù)單元220沒有數(shù)據(jù)的 狀態(tài)時(shí),則解碼單元會(huì)轉(zhuǎn)換到數(shù)據(jù)為空(Data—empty)的狀態(tài),此時(shí) 控制單元210就會(huì)發(fā)出新的數(shù)據(jù)需求(data require)指令給數(shù)據(jù)單元 220。而當(dāng)數(shù)據(jù)單元220恢復(fù)傳送數(shù)據(jù)時(shí),解碼單元230即會(huì)轉(zhuǎn)換到解 碼狀態(tài)繼續(xù)解碼。此外,若解碼單元230在解碼時(shí)發(fā)生解碼錯(cuò)誤的情 況時(shí)—,則解碼單元230就會(huì)轉(zhuǎn)換為錯(cuò)誤(Error)狀態(tài),由交由控制單 元210決定錯(cuò)誤的處理方式。上述的漸近式JPEG解碼及解碼器的控制 方法雖可以保有漸進(jìn)式圖像呈現(xiàn)的特性,但可解碼的圖像大小將受限 于內(nèi)存空間,因此如何改善內(nèi)存空間的使用仍有改善的空間。
      臺(tái)灣專利第90127965號(hào)中揭露一種漸近式JPEG解碼方法,此方 法包括下列步驟首先,接收J(rèn)PEG影像數(shù)據(jù)之一掃描層的數(shù)據(jù),并將 此掃描層區(qū)分成多個(gè)區(qū)域。接著選擇這些區(qū)域其中之一作為局部解碼 區(qū)域。然后,對(duì)此掃描層進(jìn)行解碼,其中會(huì)先依據(jù)此局部解碼區(qū)域的 數(shù)據(jù)產(chǎn)生多個(gè)解碼系數(shù),然后再依此局部解碼區(qū)域以外的其它區(qū)域的 數(shù)據(jù),產(chǎn)生其它區(qū)域針對(duì)這些解碼系數(shù)的非零歷史記錄,以及在JPEG 比特流的起始地址,并儲(chǔ)存至內(nèi)存以作為后續(xù)解碼其它區(qū)域的參考數(shù) 據(jù)。該方法的精神就是將漸進(jìn)式JPEG影像,切割成不同區(qū)域,每次只 解碼其中一個(gè)區(qū)域,等解碼完一個(gè)區(qū)域之后,再解碼另一個(gè)區(qū)域,而 解碼區(qū)域大小可以依照內(nèi)存大小做調(diào)整,而不需要配置和圖像大小相 等的內(nèi)存才可以解碼。然而,采用此方法需記錄大量的非零歷史記錄 及各區(qū)域的起始位置,仍會(huì)占用不少的內(nèi)存空間。

      發(fā)明內(nèi)容
      有鑒于此,本發(fā)明的再一 目的是提供一種漸近式JPEG影像解碼方 法,將掃描層分割成多個(gè)解碼區(qū)域,而分別進(jìn)行解碼,避免可解碼影 像大小受限于內(nèi)存空間的影響。
      本發(fā)明的又一 目的是提供一種解碼器的控制方法,通過將掃描層 分割成多個(gè)解碼區(qū)域分別解碼,而控制解碼器分別對(duì)這些解碼區(qū)域進(jìn) 行解碼,達(dá)到顯著降低內(nèi)存使用的目的。
      為達(dá)上述或其它目的,本發(fā)明提出一種漸近式JPEG影像解碼方 法,適于將一筆比特?cái)?shù)據(jù)解碼為影像數(shù)據(jù),此比特流數(shù)據(jù)包括有多個(gè) 掃描層的數(shù)據(jù),而其方法則包括下列步驟a.分割掃描層為多個(gè)解碼區(qū) 域;b.依序選擇這些解碼區(qū)域作為一局部解碼區(qū)域;c.依序接收比特流 數(shù)據(jù)中第一層掃描層的數(shù)據(jù),并解碼此第一層掃描層的局部解碼區(qū)域 內(nèi)的數(shù)據(jù),產(chǎn)生多個(gè)區(qū)域解碼系數(shù)以儲(chǔ)存至一內(nèi)存;d.依序接收此比特 流數(shù)據(jù)中下一層掃描層的數(shù)據(jù),繼續(xù)解碼下一層掃描層的局部解碼區(qū) 域內(nèi)的數(shù)據(jù),并累加至內(nèi)存儲(chǔ)存的區(qū)域解碼系數(shù);e.將累加的區(qū)域解碼 系數(shù)經(jīng)過反量化及反離散余弦變換處理后,輸出作為部份影像數(shù)據(jù)。
      在本發(fā)明的一實(shí)施例所述的漸近式JPEG影像解碼方法中,其中在 步驟d.中接收下一層掃描層的數(shù)據(jù)之前,更包括在解碼下一層掃描層
      的下一個(gè)解碼區(qū)域的數(shù)據(jù)時(shí),先加載下一層掃描層之前一次解碼的最 后解碼地址,然后從此最后解碼地址開始解碼下一個(gè)局部解碼區(qū)域的 數(shù)據(jù),最后則重復(fù)上述步驟,解碼這些掃描層的局部解碼區(qū)域內(nèi)的數(shù)
      據(jù),并輸出成為部份影像數(shù)據(jù)。
      在本發(fā)明的一實(shí)施例所述的漸近式JPEG影像解碼方法中,分割的 解碼區(qū)域的大小依據(jù)內(nèi)存大小而決定。
      在本發(fā)明的一實(shí)施例所述的漸近式JPEG影像解碼方法中,當(dāng)比特
      流數(shù)據(jù)的所有掃描層的解碼區(qū)域的數(shù)據(jù)都解碼完畢時(shí),則形成完整的 影像數(shù)據(jù)。
      在本發(fā)明的一實(shí)施例所述的漸近式JPEG影像解碼方法中,區(qū)域解 碼系數(shù)包括經(jīng)過反量化及反離散余弦變換處理,而部份該影像數(shù)據(jù)則 包括經(jīng)過一轉(zhuǎn)換器(scaler)轉(zhuǎn)換后輸出。
      本發(fā)明提出一種解碼器的控制方法,適于利用控制系統(tǒng)控制解碼 單元,以將一筆比特流數(shù)據(jù)解碼為影像數(shù)據(jù),其中控制系統(tǒng)包括控制 單元、數(shù)據(jù)單元、第一內(nèi)存及第二內(nèi)存,而比特流數(shù)據(jù)包括多個(gè)掃描 層的數(shù)據(jù),此方法包括下列步驟a.控制單元下達(dá)一則重置指令給解碼 單元,而由解碼單元重設(shè)其內(nèi)部狀態(tài)并清空第一內(nèi)存;b.控制單元根據(jù) 第一內(nèi)存的大小決定一區(qū)塊個(gè)數(shù),并下達(dá)一則區(qū)塊個(gè)數(shù)指令給解碼單 元;c.控制單元下達(dá)一則數(shù)據(jù)需求指令給數(shù)據(jù)單元,而由數(shù)據(jù)單元傳送 比特流數(shù)據(jù)給解碼單元,同時(shí)控制單元也下達(dá)一則解碼指令給解碼單 元,而由解碼單元依序從數(shù)據(jù)單元接收比特流數(shù)據(jù)中第一層掃描層的 數(shù)據(jù),并解碼其中一區(qū)塊個(gè)數(shù)的數(shù)據(jù),產(chǎn)生多個(gè)區(qū)域解碼系數(shù),而儲(chǔ) 存這些區(qū)域解碼系數(shù)于第一內(nèi)存;d.控制單元記錄此第一層掃描層的最 后解碼地址于第二內(nèi)存,作為此第一層掃描層的下一次解碼的起始位 置;e.控制單元下達(dá)一則掃描層開頭尋找指令給解碼單元,而由解碼單 元尋找此第一層掃描層的下一層掃描層的起始地址,并回傳一則尋找 完成指令給控制單元;f.控制單元下達(dá)解碼指令給解碼單元,而由解碼 單元依序從數(shù)據(jù)單元接收比特流數(shù)據(jù)中下一層掃描層的數(shù)據(jù),并解碼 下一層掃描層的一區(qū)塊個(gè)數(shù)的數(shù)據(jù),進(jìn)而累加至第一內(nèi)存所儲(chǔ)存的區(qū) 域解碼系數(shù);g.控制單元記錄此下一層掃描層的最后解碼地址于第二內(nèi) 存,作為此下一層掃描層下一次解碼的起始位置;h.最后則重復(fù)上述步 驟e.、 f.、 g.,直到所有掃描層的該區(qū)塊個(gè)數(shù)的數(shù)據(jù)都解碼完畢為止。
      在本發(fā)明的一實(shí)施例所述的解碼器的控制方法中,步驟h.之后還 包括i.解碼單元回傳一則區(qū)塊解碼完成指令給控制單元;j.控制單元
      下達(dá)一則掃描層位置回復(fù)指令給解碼單元,據(jù)以設(shè)定解碼單元回到第
      --層掃描層,同對(duì)并下達(dá)一則區(qū)塊個(gè)數(shù)指令給解碼單元;k.控制單元從 第二內(nèi)存讀取此第一層掃描層中上次解碼的最后解碼地址,并傳送給 數(shù)據(jù)單元,而由數(shù)據(jù)單元從此第一層掃描層的最后解碼地址開始傳送 第一層掃描層的數(shù)據(jù)給解碼單元;l.控制單元下達(dá)一則解碼指令給解碼 單元,而解碼單元解碼此第一層掃描層的一區(qū)塊個(gè)數(shù)的數(shù)據(jù);m.每當(dāng) 掃描層的該區(qū)塊個(gè)數(shù)的數(shù)據(jù)解碼完成時(shí),解碼單元即回傳一則區(qū)塊解 碼完成指令給控制單元,而由控制單元記錄此解碼區(qū)域的最后解碼地 址于第二內(nèi)存;n.接著返回步驟k,繼續(xù)解碼此第一層掃描層的下一層 掃描層的一區(qū)塊個(gè)數(shù)的數(shù)據(jù),直到所有掃描層的此一區(qū)塊個(gè)數(shù)的數(shù)據(jù) 都解碼完畢為止;o.最后返回步驟j,繼續(xù)解碼這些掃描層的下一個(gè)區(qū) 塊個(gè)數(shù)的數(shù)據(jù),直到這些掃描層中所有的解碼區(qū)塊的數(shù)據(jù)都解碼完畢 為止。
      本發(fā)明因采用將掃描層分割成多個(gè)解碼區(qū)域分別解碼,因此在內(nèi) 存資源有限的情況下,仍可正確地解碼及顯示JPEG影像。
      為讓本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)能更明顯易懂,下文 特舉較佳實(shí)施例,并配合所附圖式,作詳細(xì)說明如下。


      圖1所繪示為傳統(tǒng)漸近式JPEG解碼裝置。 圖2所繪示為傳統(tǒng)解碼器的控制系統(tǒng)方塊圖。 圖3所繪示為傳統(tǒng)解碼器的控制方法流程圖。 圖4是依照本發(fā)明第一實(shí)施例所繪示的漸近式JPEG影像解碼方法 流程圖。
      圖5是依照本發(fā)明第二實(shí)施例所繪示的解碼器的控制系統(tǒng)方塊圖。 圖6A是依照本發(fā)明第二實(shí)施例所繪示的解碼器的控制方法流程圖。
      圖6B是依照本發(fā)明第二實(shí)施例所繪示的解碼器的控制方法流程圖。
      具體實(shí)施例方式
      為了使本發(fā)明的內(nèi)容更為明了,以下特舉實(shí)施例作為本發(fā)明確實(shí) 能夠據(jù)以實(shí)施的范例。 第一實(shí)施例
      在漸近式解碼方法中,每解碼一個(gè)掃描層數(shù)據(jù)時(shí),必需將解碼出 的影像數(shù)據(jù)儲(chǔ)存在內(nèi)存,待所有掃描層數(shù)據(jù)都解碼完畢時(shí),才輸出完 整的影像數(shù)據(jù)。因此,可解像素的大小將會(huì)受到內(nèi)存容量大小的限制, 本實(shí)施例即根據(jù)系統(tǒng)的內(nèi)存容量大小,將掃描層分割成多個(gè)解碼區(qū)域, 而利用對(duì)這些解碼區(qū)域分別進(jìn)行解碼,解決上述受限于內(nèi)存容量大小 的問題。
      圖4是依照本發(fā)明第一實(shí)施例所繪示的漸近式JPEG影像解碼方法 流程圖。請(qǐng)參照?qǐng)D4,本實(shí)施例適于將一比特流數(shù)據(jù)解碼為一影像數(shù)據(jù),
      其中此比特流數(shù)據(jù)包括有多個(gè)掃描層的數(shù)據(jù),以下介紹本實(shí)施例的解
      碼方法的詳細(xì)步驟
      首先,將掃描層分割為多個(gè)解碼區(qū)域(步驟S401)。其中,分割的
      解碼區(qū)域的大小是依據(jù)內(nèi)存的容量大小而決定,即先依據(jù)內(nèi)存大小決 定解碼過程中可存儲(chǔ)的影像方塊的數(shù)量,再依此數(shù)量將掃描層分割成
      多個(gè)解碼區(qū)域。
      接著則是在這些分割的解碼區(qū)域中依序選擇一個(gè)解碼區(qū)域作為局
      部解碼區(qū)域(步驟S402),下一步則依序接收此比特流數(shù)據(jù)的一層掃描 層的數(shù)據(jù),并解碼此掃描層的局部解碼區(qū)域內(nèi)的數(shù)據(jù),產(chǎn)生多個(gè)區(qū)域 解碼系數(shù)(步驟S403)。其中,各個(gè)掃描層之間具有一定的順序,而在 本實(shí)施例中, 一開始接收的掃描層數(shù)據(jù)為比特流數(shù)據(jù)中排序最前的掃 描層數(shù)據(jù)。此外,由于在漸近式的解碼方式中,解碼其中一個(gè)掃描層 的數(shù)據(jù)時(shí),必須參照先前掃描層的解碼結(jié)果,因此本實(shí)施例在產(chǎn)生區(qū) 域解碼系數(shù)的同時(shí),也會(huì)將這些區(qū)域解碼系數(shù)記錄在內(nèi)存中,以供后 續(xù)解碼其它掃描層時(shí)的參考。
      值得一提的是,本實(shí)施例在一開始接收掃描層數(shù)據(jù)時(shí),還包括先 去尋找該掃描層的起始地址,然后才從此起始地址開始進(jìn)行解碼。此 外,在每解碼完一層掃描層的一個(gè)局部解碼區(qū)域數(shù)據(jù)后,本實(shí)施例也 包括將此局部解碼區(qū)域中最后被解碼的地址記錄下來,以作為解碼下 一個(gè)局部解碼區(qū)域的起始位置。相對(duì)地,在每次解碼一層掃描層的-
      個(gè)局部解碼區(qū)域之前,也會(huì)先加載之前記錄的最后解碼地址,而能夠 接在前一個(gè)局部解碼區(qū)域的后面,繼續(xù)進(jìn)行解碼動(dòng)作。由上述可知, 本實(shí)施例的作法只需在每次解碼完一個(gè)局部解碼區(qū)域時(shí)記錄一個(gè)最后 解碼地址,而不需要預(yù)先儲(chǔ)存所有局部解碼區(qū)域的起始位置,因此可 以減少內(nèi)存空間的使用。
      在解碼完一個(gè)掃描層中一個(gè)解碼區(qū)域的數(shù)據(jù)后,則會(huì)依照掃描層 的順序,繼續(xù)接收下一層掃描層數(shù)據(jù)中同一個(gè)局部解碼區(qū)域的數(shù)據(jù)(步
      驟S404),并參考先前儲(chǔ)存的區(qū)域解碼系數(shù)進(jìn)行解碼,而產(chǎn)生新的區(qū)域 解碼系數(shù)(步驟S405)。而這些新的區(qū)域解碼系數(shù),則會(huì)累加至先前儲(chǔ) 存的區(qū)域解碼系數(shù)(步驟S406),而作為下一次解碼的參考之用,累加 后的區(qū)域解碼系數(shù)包含兩個(gè)掃描層的信息,也因此具有更多的影像信 息。
      下一步則是將這些累加的區(qū)域解碼系數(shù)經(jīng)過反量化及反離散余弦 變換處理后,輸出作為部份的影像數(shù)據(jù)(步驟S407)。其中,上述區(qū)域 解碼系數(shù)輸出的方式分為兩種, 一種是在最后一層掃描層的局部解碼 區(qū)域的數(shù)據(jù)解碼完畢后,才將累加的區(qū)域解碼系數(shù)經(jīng)由反量化及反離 散余弦變換處理后輸出;另一種方式則是在每一層掃描層的局部解碼 區(qū)域的數(shù)據(jù)解碼完畢時(shí),即將累加的區(qū)域解碼系數(shù)經(jīng)由反量化及反離 散余弦變換處理后輸出。
      上述兩種輸出方式的不同點(diǎn)在于在最后一層掃描層的局部解碼 區(qū)域解碼后所累加的區(qū)域解碼系數(shù)包括所有掃描層的影像信息,因此 最后輸出的影像就是一張完整的影像,當(dāng)然這種方式也必須花費(fèi)較長 的時(shí)間等待各個(gè)掃描層解碼完畢才會(huì)顯示出影像;相對(duì)的,在每解碼 完一層掃描層的局部解碼區(qū)域的數(shù)據(jù)后,所累加的區(qū)域解碼系數(shù)僅包 括這個(gè)掃描層及其前面的掃描層的影像信息,并未包含全部的影像信 息,因此輸出的影像也會(huì)以漸近式的方式呈現(xiàn),而隨著解碼的掃描層 數(shù)目的增加,所顯示的影像也會(huì)愈來愈清晰。此種作法雖然一開始的 影像不清楚,但至少可以讓使用者先看到影像的初步模樣,這也是漸 近式影像的特點(diǎn)之一。
      上述的反量化及反離散余弦變換處理都屬于線性的計(jì)算,而不會(huì) 因?yàn)橄壤奂訁^(qū)域解碼系數(shù)后再處理或處理后再累加的問題影響計(jì)算結(jié)
      果。同理,尺寸大小的轉(zhuǎn)換也屬于線性的計(jì)算,因此本實(shí)施例也支持
      轉(zhuǎn)換器(scaler)的轉(zhuǎn)換,透過在反量化及反離散余弦變換處理之前先
      改變輸出影像的尺寸,而能夠節(jié)省計(jì)算資源,快速地轉(zhuǎn)換影像。 在本實(shí)施例中,依照各個(gè)解碼區(qū)域在掃描層中的位置,依序進(jìn)行
      解碼,只需要記錄上一個(gè)解碼區(qū)域的結(jié)束位置,即可用以作為下一個(gè)
      解碼區(qū)域的起始位置,不需記錄所有解碼區(qū)域的位置,因此可節(jié)省內(nèi)
      存空間的使用。 第二實(shí)施例
      本發(fā)明還包括將上述的漸近式JPEG影像解碼方法應(yīng)用在解碼器 的控制上,利用控制系統(tǒng)控制解碼單元,而將比特流數(shù)據(jù)解碼為影像 數(shù)據(jù),此時(shí)不需要使用到與解碼圖片大小相同的內(nèi)存就可以達(dá)到解碼 影像的功效,以下則舉實(shí)施例說明此控制系統(tǒng)與解碼單元間,指令傳
      輸及數(shù)據(jù)處理的詳細(xì)步驟
      圖5是依照本發(fā)明第二實(shí)施例所繪示的解碼器的控制系統(tǒng)方塊圖, 而圖6A及圖6B是依照本發(fā)明第二實(shí)施例所繪示的解碼器的控制方法 流程圖。請(qǐng)先參照?qǐng)D5,在本實(shí)施例中,控制系統(tǒng)500包括控制單元 510、數(shù)據(jù)單元520、第一內(nèi)存540及第二內(nèi)存550,其中,控制單元 510分別與數(shù)據(jù)單元520、解碼單元530與第二內(nèi)存550相連接,而解 碼單元530還另外與第一內(nèi)存540相連接。
      請(qǐng)同時(shí)參照?qǐng)D5及圖6A,控制單元510 —開始的狀態(tài)設(shè)定為初始 狀態(tài)(Initial),而在步驟S601中,控制單元510將下達(dá)一則重置指令 (reset)給解碼單元530,而由解碼單元530重設(shè)其內(nèi)部狀態(tài)并清空第 一內(nèi)存540。
      在步驟S602中,控制單元510根據(jù)第一內(nèi)存540的容量大小決定 -一個(gè)區(qū)塊個(gè)數(shù)(Macroblock Number, MBN),并下達(dá)一則區(qū)塊個(gè)數(shù)指令 給解碼單元530,而解碼單元530則會(huì)根據(jù)此解碼區(qū)域的大小,將比特 流數(shù)據(jù)中的各個(gè)掃描層分割為多個(gè)解碼區(qū)域。
      在步驟S603中,控制單元510會(huì)向數(shù)據(jù)單元520下達(dá)一則數(shù)據(jù)需 求(data require)指令,此時(shí)數(shù)據(jù)單元520即會(huì)將比特流數(shù)據(jù)傳送給解 碼單元530。與此同時(shí),控制單元510還另外下達(dá)一則解碼指令給解碼 單元530,而由解碼單元530依序從數(shù)據(jù)單元520接收比特流數(shù)據(jù)中一
      層掃描層的數(shù)據(jù),并將此掃描層中該區(qū)塊個(gè)數(shù)的數(shù)據(jù)解碼產(chǎn)生多個(gè)區(qū)
      域解碼系數(shù),而儲(chǔ)存于第一內(nèi)存540,此時(shí)控制單元510的狀態(tài)為解碼 (Decode)狀態(tài)。
      在步驟S604中,當(dāng)一個(gè)區(qū)塊個(gè)數(shù)解碼完成,控制單元510就會(huì)轉(zhuǎn) 換為區(qū)塊個(gè)數(shù)解碼結(jié)束(MBN—sos—end)狀態(tài)。此時(shí),控制單元510 會(huì)將此掃描層解碼的最后解碼地址記錄于第二內(nèi)存550,以作為解個(gè)下 一次解碼的起始位置。
      在步驟S605中,控制單元510下達(dá)一則掃描層開頭尋找指令給解 碼單元530,而由解碼單元530據(jù)以找尋下一個(gè)層掃描層的起始地址, 而轉(zhuǎn)換其狀態(tài)為區(qū)塊個(gè)數(shù)解碼開始(MBN—sos—start)狀態(tài),解碼單元 530在找到此起始地址后,則會(huì)回傳一則尋找完成指令給控制單元510。
      此時(shí)則進(jìn)入步驟S606,控制單元510將會(huì)下達(dá)解碼指令給解碼單 元530,而由解碼單元530依序從數(shù)據(jù)單元520接收比特流數(shù)據(jù)的下一 層掃描層的數(shù)據(jù),并對(duì)此掃描層數(shù)據(jù)的一區(qū)塊個(gè)數(shù)的數(shù)據(jù)進(jìn)行解碼, 而解碼所得的區(qū)域解碼系數(shù)則會(huì)累加至先前第一內(nèi)存540中儲(chǔ)存的區(qū) 域解碼系數(shù)。此外,在解碼的同時(shí),解碼單元530的狀態(tài)也轉(zhuǎn)換為解 碼(Decode)狀態(tài)。同樣地,在歩驟S607中,當(dāng)此掃描層的區(qū)塊個(gè)數(shù) 的數(shù)據(jù)解碼完畢時(shí),控制單元會(huì)將此掃描層的最后解碼地址記錄于第 二內(nèi)存,而作為此掃描層下一次解碼的起始位置。
      在步驟S608中,即會(huì)判斷是否所有掃描層的該區(qū)塊個(gè)數(shù)的數(shù)據(jù)都 已解碼完畢。若仍有掃描層的區(qū)塊個(gè)數(shù)的數(shù)據(jù)未解碼,則返回步驟 S605,并重復(fù)上述步驟S605 S607的動(dòng)作,繼續(xù)解碼各個(gè)掃描層的該 區(qū)塊個(gè)數(shù)的數(shù)據(jù),而當(dāng)最后一層掃描層的區(qū)塊個(gè)數(shù)的數(shù)據(jù)也解碼完成 時(shí),解碼單元530即會(huì)進(jìn)入?yún)^(qū)塊解碼結(jié)束狀態(tài)(MBN一end)。
      在上述步驟中,解碼單元530己完成所有掃描層中的第一個(gè)區(qū)塊 個(gè)數(shù)數(shù)據(jù)的解碼,這些區(qū)域解碼系數(shù)在由解碼單元530輸出后,即可 經(jīng)由累加、反量化及反離散余弦變換等處理,而作為部份的影像數(shù)據(jù)。 當(dāng)然,本發(fā)明還包括繼續(xù)進(jìn)行下一個(gè)區(qū)塊個(gè)數(shù)的數(shù)據(jù)的解碼,以下即
      接著介紹本發(fā)明的解碼器的控制方法的其它步驟
      請(qǐng)參照?qǐng)D6B,在歩驟S609中,控制單元510會(huì)接收到解碼單元
      530回傳的一則區(qū)塊解碼完成指令,此時(shí)即可獲知前一個(gè)區(qū)塊個(gè)數(shù)的數(shù) 據(jù)都已完成解碼。而緊接著在步驟S610中,控制單元510下達(dá)一則掃
      描層地址回復(fù)指令給解碼單元530,據(jù)以將解碼單元530設(shè)定回到第一 掃描層,同時(shí)也下達(dá)一則區(qū)塊個(gè)數(shù)指令給解碼單元530,設(shè)定一次要解 碼多少個(gè)宏區(qū)塊(Macro-block)作為區(qū)塊個(gè)數(shù)。
      在步驟S611中,控制單元510會(huì)從第二內(nèi)存550上讀取此掃描層 在上次解碼時(shí)的最后解碼地址,并傳送給數(shù)據(jù)單元520,而數(shù)據(jù)單元 520即會(huì)從此掃描層的最后解碼地址開始,傳送此掃描層的數(shù)據(jù)給解碼 單元530。
      在歩驟S612中,控制單元510將傳送一則解碼指令給解碼單元 530,而由解碼單元530開始解碼此掃描層數(shù)據(jù)中一個(gè)區(qū)塊個(gè)數(shù)的數(shù)據(jù), 此時(shí)解碼單元530的狀態(tài)也轉(zhuǎn)換為解碼(Decode)狀態(tài)。
      在步驟S613中,當(dāng)此掃描層的該區(qū)塊個(gè)數(shù)的數(shù)據(jù)解碼完成時(shí),解 碼單元530同樣會(huì)回傳一則區(qū)塊解碼完成指令給控制單元510,而由控 制單元510將掃描層解碼的最后解碼地址記錄于第二內(nèi)存550。此時(shí), 控制單元510同樣會(huì)轉(zhuǎn)換為區(qū)塊個(gè)數(shù)解碼結(jié)束(MBN_sos_end)狀態(tài)。
      在步驟S614中,控制單元510將會(huì)判斷是否所有掃描層的該解碼 區(qū)域的數(shù)據(jù)都解碼完畢,若仍有掃描層的數(shù)據(jù)未解碼,則回到步驟 S611,繼續(xù)解碼下一層掃描層的該區(qū)塊個(gè)數(shù)的數(shù)據(jù);若所有掃描層的 數(shù)據(jù)都解碼完畢,則進(jìn)入步驟S615,由控制單元510繼續(xù)判斷是否所 有解碼區(qū)域的數(shù)據(jù)都解碼完畢,若仍有解碼區(qū)域未解碼,則回到步驟 S610,將解碼單元530設(shè)定回到第一掃描層,而由第一掃描層的下一 個(gè)解碼區(qū)域開始進(jìn)行解碼;反之,若所有的掃描層的所有解碼區(qū)域的 數(shù)據(jù)都解碼完畢,則完成所有的解碼程序。
      值得一提的是,當(dāng)發(fā)生數(shù)據(jù)單元520沒有數(shù)據(jù)提供給解碼單元530 的狀況時(shí),解碼單元530即會(huì)轉(zhuǎn)換為數(shù)據(jù)凈空(Data—empty)狀態(tài), 此時(shí)控制單元510會(huì)發(fā)出新的數(shù)據(jù)需求(data require)指令給數(shù)據(jù)單元 520,而由數(shù)據(jù)單元520繼續(xù)恢復(fù)傳送數(shù)據(jù),當(dāng)數(shù)據(jù)恢復(fù)傳送時(shí),控制 單元510的狀態(tài)才轉(zhuǎn)換為解碼(Decode)狀態(tài)。此外,在解碼單元530 解碼的過程中,若發(fā)生解碼錯(cuò)誤的狀況時(shí),解碼單元530就會(huì)轉(zhuǎn)換為 錯(cuò)誤(error)狀態(tài),此時(shí)就必需由控制單元510決定錯(cuò)誤處理的方式。
      綜上所述,在本發(fā)明的漸近式JPEG影像解碼方法中,依據(jù)內(nèi)存大
      小決定解碼過程中可存儲(chǔ)的影像方塊的數(shù)量,并依此數(shù)量將掃描層分 割為多個(gè)解碼區(qū)域,在每一回合的解碼中,會(huì)對(duì)所有掃描層中相同解 碼區(qū)域的數(shù)據(jù)進(jìn)行解碼,并在下一回合,繼續(xù)挑選下一個(gè)解碼區(qū)域進(jìn) 行解碼。因此,本發(fā)明在有限的內(nèi)存資源中,仍可正確地實(shí)現(xiàn)影像解 碼,而不會(huì)影響到影像的顯示。
      雖然本發(fā)明已以較佳實(shí)施例揭露如上,然其并非用以限定本發(fā)明, 任何熟習(xí)此技藝者,在不脫離本發(fā)明的精神和范圍內(nèi),當(dāng)可作些許的 更動(dòng)與潤飾,因此本發(fā)明的保護(hù)范圍當(dāng)視后附的申請(qǐng)專利范圍所界定 的為準(zhǔn)。
      權(quán)利要求
      1.一種漸近式JPEG影像解碼方法,適于將一比特流數(shù)據(jù)解碼為一影像數(shù)據(jù),所述比特流數(shù)據(jù)包括有多個(gè)掃描層的數(shù)據(jù),所述解碼方法包括下列步驟a.分割所述多個(gè)掃描層為多個(gè)解碼區(qū)域;b.依序選擇所述多個(gè)解碼區(qū)域作為一局部解碼區(qū)域;c.依序接收所述比特流數(shù)據(jù)中所述多個(gè)掃描層的第一層掃描層的數(shù)據(jù),并解碼所述第一層掃描層的所述局部解碼區(qū)域內(nèi)的數(shù)據(jù),產(chǎn)生多個(gè)區(qū)域解碼系數(shù)以儲(chǔ)存至一內(nèi)存;d.依序接收所述比特流數(shù)據(jù)中所述第一層掃描層的下一層掃瞄層的數(shù)據(jù),繼續(xù)解碼所述下一層掃描層的所述局部解碼區(qū)域內(nèi)的數(shù)據(jù),并累加至所述內(nèi)存所儲(chǔ)存的所述多個(gè)區(qū)域解碼系數(shù);以及e.將累加的所述多個(gè)區(qū)域解碼系數(shù)經(jīng)過反量化及反離散余弦變換處理后,輸出作為部份的所述影像數(shù)據(jù)。
      2. 如權(quán)利要求1所述的漸近式JPEG影像解碼方法,其中所述 步驟e.包括當(dāng)最后所述多個(gè)掃描層的所述局部解碼區(qū)域的數(shù)據(jù)解碼都完畢 后,才將累加的所述多個(gè)區(qū)域解碼系數(shù)經(jīng)過反量化及反離散余弦變換 處理后輸出。
      3. 如權(quán)利要求1所述的漸近式JPEG影像解碼方法,其中所述 步驟e.包括每當(dāng)解碼完所述多個(gè)掃描層其中的一層的所述局部解碼區(qū)域的數(shù) 據(jù)時(shí),即將累加的所述多個(gè)區(qū)域解碼系數(shù)經(jīng)過反量化及反離散余弦變 換處理后輸出。
      4. 如權(quán)利要求1所述的漸近式JPEG影像解碼方法,所述步驟 d.中接收所述下一層掃描層的數(shù)據(jù)之前,進(jìn)一步包括尋找所述下一層掃描層的起始地址,作為解碼所述下一層掃描層的起始地址。
      5. 如權(quán)利要求1所述的漸近式JPEG影像解碼方法,進(jìn)-步包括記錄所述局部解碼區(qū)域的一最后解碼地址,作為下一個(gè)所述局部 解碼區(qū)域的起始位置。
      6. 如權(quán)利要求5所述的漸近式JPEG影像解碼方法,所述歩驟d.中接收所述下一層掃描層的數(shù)據(jù)之前,進(jìn)一歩包括在解碼所述下一層掃描層的下一個(gè)解碼區(qū)域的數(shù)據(jù)時(shí),先加載到所述下一層掃描層前一次解碼的所述最后解碼地址;從所述最后解碼地址開始解碼所述下一個(gè)局部解碼區(qū)域的數(shù)據(jù);以及重復(fù)上述歩驟,分別解碼所述多個(gè)掃描層的所述多個(gè)局部解碼區(qū) 域的數(shù)據(jù),并輸出成為部份所述影像數(shù)據(jù)。
      7. 如權(quán)利要求1所述的漸近式JPEG影像解碼方法,其中分割 的所述多個(gè)解碼區(qū)域的大小是依據(jù)一內(nèi)存大小而決定,且對(duì)每一所述 多個(gè)掃描層采用相同的分割方式。
      8. 如權(quán)利要求1所述的漸近式JPEG影像解碼方法,其中當(dāng)所 述比特流數(shù)據(jù)中所述多個(gè)掃描層的所述多個(gè)解碼區(qū)域的數(shù)據(jù)都解碼完 畢時(shí),則完整地形成所述影像數(shù)據(jù)。
      9. 一種解碼器的控制方法,適于利用一控制系統(tǒng)控制一解碼單 元將一比特流數(shù)據(jù)解碼為一影像數(shù)據(jù),其中所述控制系統(tǒng)包括一控制 單元、 一數(shù)據(jù)單元、 一第一內(nèi)存及一第二內(nèi)存,而所述比特流數(shù)據(jù)包 括多個(gè)掃描層的數(shù)據(jù),所述控制方法包括下列步驟a. 所述控制單元下達(dá)一重置指令給所述解碼單元,而由所述解碼單 元重設(shè)其內(nèi)部狀態(tài)并清空所述第一 內(nèi)存;b. 所述控制單元根據(jù)所述第一內(nèi)存的大小決定一區(qū)塊個(gè)數(shù),并下達(dá)一區(qū)塊個(gè)數(shù)指令給所述解碼單元;C.所述控制單元下達(dá)一數(shù)據(jù)需求指令給所述數(shù)據(jù)單元,而由所述數(shù) 據(jù)單元傳送所述比特流數(shù)據(jù)給所述解碼單元,同時(shí)所述控制單元下達(dá) 一解碼指令給所述解碼單元,而由所述解碼單元依序從所述數(shù)據(jù)單元 接收所述比特流數(shù)據(jù)中所述多個(gè)掃描層中的第一層掃描層的數(shù)據(jù),并 解碼所述區(qū)塊個(gè)數(shù)的數(shù)據(jù),產(chǎn)生多個(gè)區(qū)域解碼系數(shù),進(jìn)而儲(chǔ)存所述多 個(gè)區(qū)域解碼系數(shù)于所述第 一 內(nèi)存;d. 所述控制單元記錄所述第一層掃描層的最后解碼地址于所述第二內(nèi)存,作為所述第一層掃描層下一次解碼的起始位置;e. 所述控制單元下達(dá)一掃描層開頭尋找指令給所述解碼單元,而由 所述解碼單元尋找所述第一層掃描層的下一層掃瞄層的起始地址,并 回傳一尋找完成指令給所述控制單元;f. 所述控制單元下達(dá)所述解碼指令給所述解碼單元,而由所述解碼 單元依序從所述數(shù)據(jù)單元接收所述比特流數(shù)據(jù)中所述下一層掃描層的 數(shù)據(jù),并解碼所述下一層掃描層的所述區(qū)塊個(gè)數(shù)的數(shù)據(jù),進(jìn)而累加至 所述第一內(nèi)存所儲(chǔ)存的所述多個(gè)區(qū)域解碼系數(shù);g. 所述控制單元記錄所述下一層掃描層的最后解碼地址于所述第 二內(nèi)存,作為所述下一層掃描層下一次解碼的起始位置;以及h. 重復(fù)上述步驟e.、 f.、 g.,直到所有所述多個(gè)掃描層的所述區(qū)塊 個(gè)數(shù)的數(shù)據(jù)都解碼完畢為止。
      10.如權(quán)利要求9所述的解碼器的控制方法,其中步驟h.之后進(jìn) 一步包括i. 所述解碼單元回傳一區(qū)塊解碼完成指令給所述控制單元;以及 j.所述控制單元下達(dá)一掃描層位置回復(fù)指令給所述解碼單元,據(jù)以設(shè)定所述解碼單元回到所述第一層掃描層,同時(shí)并下達(dá)一區(qū)塊個(gè)數(shù)指 令給所述解碼單元;k.所述控制單元從所述第二內(nèi)存讀取所述第一層掃描層上次解碼的所述最后解碼地址,并傳送給所述數(shù)據(jù)單元,而由所述數(shù)據(jù)單元從 所述第一層掃描層的所述最后解碼地址開始傳送所述第一層掃描層的 數(shù)據(jù)給所述解碼單元;l.所述控制單元下達(dá)一解碼指令給所述解碼單元,而所述解碼單元解碼所述第一層掃描層的所述區(qū)塊個(gè)數(shù)的數(shù)據(jù);m.每當(dāng)所述掃描層的所述區(qū)塊個(gè)數(shù)的數(shù)據(jù)解碼完成時(shí),所述解碼 單元回傳一區(qū)塊解碼完成指令給所述控制單元,而由所述控制單元記 錄所述解碼區(qū)域的最后解碼地址于所述第二內(nèi)存;n.返回步驟k,繼續(xù)解碼所述第一掃描層的下一層掃描層的所述區(qū) 塊個(gè)數(shù)的數(shù)據(jù),直到所有所述多個(gè)掃描層的所述區(qū)塊個(gè)數(shù)的數(shù)據(jù)都解 碼完畢為止;以及o.返回步驟j,繼續(xù)解碼所述多個(gè)掃描層的下一所述區(qū)塊個(gè)數(shù)的數(shù) 據(jù),直到所述多個(gè)掃描層的解碼區(qū)塊的數(shù)據(jù)都解碼完畢為止。
      全文摘要
      一種漸近式JPEG影像解碼方法與解碼器的控制方法,此影像解碼方法是依據(jù)內(nèi)存大小決定解碼過程中可存儲(chǔ)的宏區(qū)塊(Macro-block)的數(shù)量,并依此數(shù)量將掃描層分割為多個(gè)解碼區(qū)域,在每一回合的解碼中,會(huì)對(duì)所有掃描層中相同解碼區(qū)域的數(shù)據(jù)進(jìn)行解碼,并在下一回合,繼續(xù)挑選下一個(gè)解碼區(qū)域進(jìn)行解碼。因此,本發(fā)明在有限的內(nèi)存資源中,仍可正確地實(shí)現(xiàn)影像解碼,而不會(huì)影響到影像的顯示。此解碼方法也可應(yīng)用在解碼器的控制上,同樣也可減少所需占用的內(nèi)存容量。
      文檔編號(hào)H04N7/26GK101193293SQ20061014681
      公開日2008年6月4日 申請(qǐng)日期2006年11月24日 優(yōu)先權(quán)日2006年11月24日
      發(fā)明者陳昱志, 黃志文 申請(qǐng)人:凌陽科技股份有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1