欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

漸進(jìn)式j(luò)peg圖像解碼方法

文檔序號:7654972閱讀:279來源:國知局
專利名稱:漸進(jìn)式j(luò)peg圖像解碼方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種圖像解碼方法,且特別涉及一種漸進(jì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ù)以重建原始圖像,且每一個(gè)掃 描層皆記錄有原始圖像的部分特征,因此每一個(gè)掃描層所解碼出的圖 像即可概略表現(xiàn)出原始圖像,其圖像畫質(zhì)會隨解碼出的掃描層個(gè)數(shù)的 增加而提高。圖1所繪示的是傳統(tǒng)漸進(jìn)式JPEG解碼裝置,解碼裝置100中包 括可變長度解碼(Variable Length Decoding, VLD)裝置110、內(nèi)存裝 置120、反量化(Inverse Quantizer)裝置130和反離散余弦變換(Inverse DCT)裝置140。以漸進(jìn)式DCT為基礎(chǔ)的解碼過程中即需經(jīng)過上述裝 置處理,其解碼流程概述如下首先,已編碼的JPEG數(shù)據(jù)會先經(jīng)過可變長度解碼裝置110處理。 由于每個(gè)掃描層在此可變長度解碼裝置110處理時(shí)需要參考先前掃描 層的信息,故其處理結(jié)果需有一個(gè)與圖像大小相同的內(nèi)存裝置120存 儲,以作為下個(gè)掃描層在可變長度解碼裝置IIO處理時(shí)參考的依據(jù)。 每當(dāng)內(nèi)存裝置120收集完一個(gè)掃描層的所有系數(shù)之后,則會依序送入 反量化裝置130和反離散余弦變換裝置140,以進(jìn)行反量化和反離散 余弦變換處理,而得到解碼圖素并重建漸進(jìn)式圖像。此法雖可以保持 有漸進(jìn)式圖像呈現(xiàn)的特性,但可解碼的圖像大小將受限于內(nèi)存空間限 制,故如何改善內(nèi)存空間的使用將會是一個(gè)新挑戰(zhàn)。臺灣專利第92124394號中揭露了一種漸進(jìn)式JPEG解碼方法,其 針對每個(gè)掃描層產(chǎn)生一部分解碼像素及一個(gè)非零歷史表格,并依照預(yù) 設(shè)順序累加由每一層掃描層所產(chǎn)生的部分解碼像素,以及更新由每一 掃描層所產(chǎn)生的非零歷史記錄。雖然參考非零歷史記錄的方式可以省 內(nèi)存的空間。然而,非零歷史記錄僅能用以作為霍夫曼解碼階段時(shí)的 參考,而在累加每層掃描層的解碼系數(shù)之前,仍必須參考先前相同地 址的解碼結(jié)果的正負(fù)值,而將解碼系數(shù)做正負(fù)二的次方調(diào)整,才能夠 取得正確的解碼系數(shù)。舉例來說,對于一個(gè)-9的值來說,若用二進(jìn)制以8位表示,也就 是11110111,但是在霍夫曼編碼時(shí),則是取其絕對值進(jìn)行編碼,若第 一次編碼的位為7到3位(總共包括0 7位),而之后都為一個(gè)位的話, 應(yīng)為取|-9|= (00001001)。其中,第一次編碼為前5個(gè)位(00001)和0(0為 負(fù)1為正)、第二次為0、第三次為0,以及第四次為1。因此,當(dāng)解碼 器接收到第一個(gè)數(shù)據(jù)時(shí),由0知道是負(fù)值,應(yīng)該將(00001)作二的正負(fù) 次方調(diào)整,故在將(OOOOl)取補(bǔ)碼后得到(llllO),再取二的次方后則得 到(llllOOOO)。接著,第二、三次的解碼結(jié)果均為0,也就是代表沒有 值,而第四次為l, l代表有值,而根據(jù)正負(fù)號表格中記錄的負(fù)值,因 此可解出-1的二進(jìn)制值為(llllllll)。然而,由于第四次解碼的掃描層 所對應(yīng)的位是編號O的位,所以必須將上述的解碼值(llllllll)向左平 移零個(gè)位以得到(lllllllll)。此即代表數(shù)值-1,而在將所有解碼的數(shù)值 相加后,即可得到最后的解碼系數(shù)-9 , 即 (11111000)+0+0+(111111111)=(11110111),至此才算完成解碼的動(dòng)作。 然而,在上述臺灣專利第92124394號中并未揭露此累加值需要做正負(fù) 二的次方調(diào)整的部分,因此采用其方法將可能導(dǎo)致解碼的錯(cuò)誤,而無 法呈現(xiàn)正確的圖像。發(fā)明內(nèi)容有鑒于此,本發(fā)明的目的就是提供一種漸進(jìn)式JPEG圖像解碼方 法,采用以非零歷史表格及正負(fù)號表格取代前個(gè)掃描層的解碼結(jié)果, 而降低內(nèi)存的使用。為達(dá)上述或其它目的,本發(fā)明提出一種漸進(jìn)式JPEG圖像解碼方法,適于將位流數(shù)據(jù)解碼為圖像數(shù)據(jù),該位流數(shù)據(jù)中包括有多個(gè)掃描層的數(shù)據(jù),此解碼方法包括下列步驟a.依序接收位流數(shù)據(jù)的一層掃描 層的數(shù)據(jù);b.根據(jù)一個(gè)非零歷史表格,將此掃描層的數(shù)據(jù)解碼為多個(gè)解 碼系數(shù);c.根據(jù)正負(fù)號表格,將解碼系數(shù)做正負(fù)二的次方調(diào)整;d.根據(jù) 解碼產(chǎn)生的解碼系數(shù),更新非零歷史表格及正負(fù)號表格;e.輸出解碼系 數(shù)。在本發(fā)明的一實(shí)施例所述的漸進(jìn)式JPEG圖像解碼方法中,步驟 b.包括根據(jù)非零歷史表格,將掃描層的數(shù)據(jù)進(jìn)行游程長度(Run Length) 解碼,獲得各個(gè)解碼系數(shù)的系數(shù)值,而步驟c.則包括根據(jù)正負(fù)號表格, 將各個(gè)解碼系數(shù)的系數(shù)值加上正負(fù)號,并參考目前解碼的掃描層對應(yīng) 于圖像數(shù)據(jù)所記錄的位在二元序列的位置,將各個(gè)解碼系數(shù)的系數(shù)值 乘上二的次方。在本發(fā)明的一實(shí)施例所述的漸進(jìn)式JPEG圖像解碼方法中,步驟 e.包括將解碼系數(shù)經(jīng)過反量化變換、反離散余弦變換處理,以及轉(zhuǎn)換器 轉(zhuǎn)換后輸出。此外,輸出的解碼系數(shù)則包括累加至先前輸出的解碼系 數(shù)。在本發(fā)明的一實(shí)施例所述的漸進(jìn)式JPEG圖像解碼方法中,在步驟 e.之后更包括判斷最后解碼的掃描層是否為最后的掃描層,若不是最后 的掃描層,則返回步驟a.,繼續(xù)解碼下一層掃描層的數(shù)據(jù);反之,若 為最后的掃描層,則停止解碼動(dòng)作。在本發(fā)明的一實(shí)施例所述的漸進(jìn)式JPEG圖像解碼方法中,當(dāng)位流 數(shù)據(jù)的所有掃描層的數(shù)據(jù)皆解碼完畢時(shí),最后累加的解碼系數(shù)即為完 整的圖像數(shù)據(jù)。本發(fā)明提出一種漸進(jìn)式JPEG圖像解碼方法,適于將位流數(shù)據(jù)解碼 為圖像數(shù)據(jù),此位流數(shù)據(jù)包括多個(gè)掃描層的數(shù)據(jù),此方法包括下列步 驟a.分割掃描層為多個(gè)解碼區(qū)域;b.依序在這些解碼區(qū)域中選擇一個(gè) 作為一部解碼區(qū)域;c.依序接收位流數(shù)據(jù)中一層掃描層的數(shù)據(jù),并根據(jù) 非零歷史表格與正負(fù)號表格,解碼此掃描層的局部解碼區(qū)域內(nèi)的數(shù)據(jù), 而輸出多個(gè)區(qū)域解碼系數(shù),以及更新非零歷史表格與正負(fù)號表格;d. 依序接收位流數(shù)據(jù)中此掃描層的下一層掃描層的數(shù)據(jù),并重復(fù)步驟c., 繼續(xù)解碼下一層掃描層的局部解碼區(qū)域內(nèi)的數(shù)據(jù),而輸出區(qū)域解碼系數(shù),以及更新非零歷史表格與正負(fù)號表格,直到所有掃描層的局部解 碼區(qū)域內(nèi)的數(shù)據(jù)皆解碼完畢為止。在本發(fā)明的一實(shí)施例所述的漸進(jìn)式JPEG圖像解碼方法中,步驟 c.包括將區(qū)域解碼系數(shù)經(jīng)過反量化變換、反離散余弦變換處理,以及轉(zhuǎn) 換器轉(zhuǎn)換后輸出。此外,這些輸出的區(qū)域解碼系數(shù)則累加至先前輸出 的區(qū)域解碼系數(shù)。在本發(fā)明的一實(shí)施例所述的漸進(jìn)式JPEG圖像解碼方法中,步驟 c.包括根據(jù)非零歷史表格,將掃描層的數(shù)據(jù)進(jìn)行游程長度解碼,獲得各 個(gè)解碼系數(shù)的系數(shù)值,再根據(jù)正負(fù)號表格,將各個(gè)解碼系數(shù)的系數(shù)值 做正負(fù)二的次方調(diào)整。在本發(fā)明的一實(shí)施例所述的漸進(jìn)式JPEG圖像解碼方法中,步驟 a.中分割的解碼區(qū)域的大小依據(jù)內(nèi)存大小而決定,且對每一層掃描層采 用相同的分割方式。在本發(fā)明的一實(shí)施例所述的漸進(jìn)式JPEG圖像解碼方法中,步驟 c.更包括記錄掃描層的局部解碼區(qū)域的最后解碼地址,作為下一個(gè)掃描 層的局部解碼區(qū)域的起始位置。在本發(fā)明的一實(shí)施例所述的漸進(jìn)式JPEG圖像解碼方法中,步驟c. 中接收掃描層的數(shù)據(jù)之前,更包括在解碼掃描層的下一個(gè)解碼區(qū)域的 數(shù)據(jù)時(shí),先加載前一層掃描層的最后解碼地址,然后從此最后解碼地 址開始解碼下一個(gè)局部解碼區(qū)域的數(shù)據(jù),最后則重復(fù)上述步驟,解碼 各個(gè)掃描層的局部解碼區(qū)域內(nèi)的數(shù)據(jù),并輸出成為部分的圖像數(shù)據(jù)。在本發(fā)明的一實(shí)施例所述的漸進(jìn)式JPEG圖像解碼方法中,步驟d. 之后更包括判斷是否所有解碼區(qū)域內(nèi)的數(shù)據(jù)皆解碼完畢;若仍有解碼 區(qū)域的數(shù)據(jù)未解碼,則重復(fù)步驟b,d.,繼續(xù)選擇第一層掃描層的下一 個(gè)局部解碼區(qū)域,并解碼下一個(gè)局部解碼區(qū)域的數(shù)據(jù),直到所有解碼 區(qū)域內(nèi)的數(shù)據(jù)皆解碼完畢為止。在本發(fā)明的一實(shí)施例所述的漸進(jìn)式JPEG圖像解碼方法中,當(dāng)位流 數(shù)據(jù)中所有掃描層的所有解碼區(qū)域的數(shù)據(jù)皆解碼完畢時(shí),則形成完整 的圖像數(shù)據(jù)。本發(fā)明因采用以非零歷史表格及正負(fù)號表格取代前個(gè)掃描層的解 碼結(jié)果,而無需在內(nèi)存中保留前個(gè)掃描層中各個(gè)解碼系數(shù)的系數(shù)值,因此在內(nèi)存資源有限的情況下,仍可正確地解碼及顯示JPEG圖像。為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)能更明顯易懂,下 文特舉較佳實(shí)施例,并配合附圖,作詳細(xì)說明如下。


圖1所繪示的是傳統(tǒng)漸進(jìn)式JPEG解碼裝置。 圖2是依照本發(fā)明第一實(shí)施例所繪示的漸進(jìn)式JPEG圖像解碼方法 的流程圖。圖3是依照本發(fā)明第一實(shí)施例所繪示的二元序列的范例。 圖4是依照本發(fā)明第三實(shí)施例所繪示的漸進(jìn)式JPEG圖像解碼方法 的流程圖。附圖標(biāo)記說明100:解碼裝置110:可變長度解碼裝置120:內(nèi)存裝置130:反量化裝置140:反離散余弦變換裝置S201 S207:本發(fā)明第一實(shí)施例的漸進(jìn)式JPEG圖像解碼方法的各步驟300: 二元序列S401 S407:本發(fā)明第三實(shí)施例的漸進(jìn)式JPEG圖像解碼方法的各步驟具體實(shí)施方式
在漸進(jìn)式解碼方法中,每次解碼一個(gè)掃描層數(shù)據(jù)時(shí),必需參考前 一層掃描層的數(shù)據(jù),也就是說,在解碼的過程中,必需隨時(shí)在內(nèi)存中 保留一塊對應(yīng)于圖像大小的空間來記錄前一層掃描層的數(shù)據(jù),才能順 利解碼接續(xù)在后的掃描層的數(shù)據(jù),此種方式將會占用不少的內(nèi)存空間。 本發(fā)明即是針對改善此缺點(diǎn)所發(fā)展出來的一種漸進(jìn)式JPEG圖像解碼 方法,通過記錄一個(gè)非零歷史表格及正負(fù)號表格,取代前一層掃描層的解碼結(jié)果,而能夠大幅節(jié)省所需使用的內(nèi)存空間。為了使本發(fā)明的 內(nèi)容更為明了,以下特舉實(shí)施例作為本發(fā)明確實(shí)能夠據(jù)以實(shí)施的范例。 第一實(shí)施例圖2是依照本發(fā)明第一實(shí)施例所繪示的漸進(jìn)式JPEG圖像解碼方法 的流程圖。請參照圖2,本實(shí)施例適于將一筆位流數(shù)據(jù)解碼為圖像數(shù)據(jù), 其中此位流數(shù)據(jù)包括有多個(gè)掃描層的數(shù)據(jù),以下介紹本實(shí)施例的解碼方法的詳細(xì)步驟首先,依序接收此位流數(shù)據(jù)的一層掃描層的數(shù)據(jù),(步驟S201)。 其中,各個(gè)掃描層之間具有一定的順序,而在本實(shí)施例中, 一開始接 收的掃描層數(shù)據(jù)為位流數(shù)據(jù)中排序最前的掃描層數(shù)據(jù)。接著,在步驟S202中,本實(shí)施例即根據(jù)一個(gè)非零歷史表格,對所 接收的掃描層數(shù)據(jù)進(jìn)行解碼,而獲得此掃描層中各個(gè)像素的解碼系數(shù)。 其中,此步驟可通過將掃描層的數(shù)據(jù)進(jìn)行游程長度解碼,獲得各個(gè)解 碼系數(shù)的系數(shù)值。然后,在步驟S203中,可再根據(jù)一個(gè)正負(fù)號表格將 這些解碼系數(shù)做正負(fù)二的次方調(diào)整。詳細(xì)地說,由于在漸進(jìn)式的解碼方式中,利用可變長度解碼裝置 解碼掃描層的數(shù)據(jù)時(shí),必須參照先前掃描層的解碼結(jié)果(即解碼系數(shù) 是否為非零),因此本實(shí)施例在解碼掃描層的數(shù)據(jù)時(shí),必須參考非零歷 史表格進(jìn)行解碼,而在產(chǎn)生解碼系數(shù)的同時(shí),也必需想辦法將這些解 碼系數(shù)的非零歷史記錄下來,以供后續(xù)解碼其它掃描層時(shí)的參考。漸進(jìn)式的解碼方式的另一個(gè)特性是在輸出每層掃描層的解碼系數(shù) 之前,必須參考之前相同地址的解碼結(jié)果的正負(fù)值,而將解碼系數(shù)做 正負(fù)的調(diào)整。因此,本發(fā)明除了記錄上述掃描層中各個(gè)像素是否為零 的一個(gè)非零歷史表格外,還需記錄一個(gè)正負(fù)號表格,以將解碼系數(shù)做 正負(fù)的調(diào)整。再者,分析傳統(tǒng)的漸進(jìn)式的解碼方式可發(fā)現(xiàn),完整的圖像數(shù)據(jù)是 分別記錄在各個(gè)不同的掃描層中,而在每解碼完一層掃描層的數(shù)據(jù)后, 即可得到更多的圖像信息,當(dāng)然也可獲得更清晰的解碼圖像。更精確 地來說,假設(shè)一個(gè)像素的像素值是由多個(gè)位記錄而成,而在每一層掃 描層中,僅僅記錄其中一個(gè)或部分位的數(shù)據(jù),因此每當(dāng)解碼完一層掃 描層的數(shù)據(jù)時(shí),也只能得到此像素值的一個(gè)或少數(shù)位的圖像信息,而獲得不完全但可大致描繪出圖像輪廓的模糊圖像,必須等待所有的掃 描層一一解碼完成時(shí),即可通過將各個(gè)掃描層解碼所得的位拼湊而成 完整的位信息,進(jìn)而描繪出清晰的圖像。此作法的優(yōu)點(diǎn)在于能夠讓使 用者提前預(yù)見圖像的大概內(nèi)容,而不必長時(shí)間地等待完整的圖像解碼 完畢。根據(jù)上述可知,由于各個(gè)掃描層包含的位信息固定,因此本發(fā)明 除了利用正負(fù)號表格,將各個(gè)解碼系數(shù)的系數(shù)值加上正負(fù)號之外,還 可以參考目前解碼的掃描層對應(yīng)于圖像數(shù)據(jù)所記錄的位在二元序列中 的位置,將各個(gè)解碼系數(shù)的系數(shù)值乘上二的次方,而推測此位所對應(yīng) 的像素值。舉例來說,假設(shè)完整的像素值是由8個(gè)位組合而成(即可記錄大 小為0 255的像素值),若目前解碼的掃描層所記錄的位信息是其中編 號3的位,而此位有值且為正(如圖3所示)時(shí),則可推論其所代表 的像素值為"=8 。在完成前一層掃描層的解碼系數(shù)的計(jì)算后,在步驟S204中,則可 依照這些解碼系數(shù)所對應(yīng)的位信息及正負(fù)號信息再次計(jì)算其所對應(yīng)的 非零歷史表格及正負(fù)號表格,并以這些表格更新先前所記錄、對應(yīng)于 前一個(gè)掃描層的解碼系數(shù)的非零歷史表格及正負(fù)號表格,進(jìn)而作為解 碼下一層掃描層之用。此外,在步驟S205中,上述解碼產(chǎn)生的解碼系數(shù)隨即輸出至外部 的幀緩沖器(Frame Buffer),而顯示在計(jì)算機(jī)屏幕上。其中,依照漸 進(jìn)式JEPG解碼的標(biāo)準(zhǔn),這些解碼系數(shù)在輸出前還包括經(jīng)過反量化變換 及反離散余弦變換處理,另外也可根據(jù)使用者的需求,經(jīng)由轉(zhuǎn)換器轉(zhuǎn) 換其大小后再輸出,而讓使用者看到適當(dāng)大小的圖像。最后在步驟S206中,則是判斷目前解碼的掃描層是否是位流數(shù)據(jù) 中最后一層的掃描層,若不是最后一層,則代表仍有掃描層的數(shù)據(jù)未 解碼,此時(shí)即可回到步驟S201,繼續(xù)解碼下一層掃描層的數(shù)據(jù);相對 地,若判斷目前解碼的掃描層是最后一層掃描層,則代表所有掃描層 的數(shù)據(jù)皆解碼完畢,因此在累加解碼系數(shù)后,即可獲得完整的圖像數(shù) 據(jù)(步驟S207)。值得注意的是,上述計(jì)算所得的下一層掃描層的解碼系數(shù)則可同樣經(jīng)由反量化變換及反離散余弦變換等處理后輸出,并累加至先前輸 出的解碼系數(shù),而由于累加后的解碼系數(shù)包含更多位的圖像數(shù)據(jù),因 此顯示出來的圖像也必定更為清晰。綜上所述,本實(shí)施例利用各個(gè)掃描層中僅記錄圖像中固定位信息 的特性,將原本需整筆記錄的前一層掃描層的解碼系數(shù)轉(zhuǎn)換成僅需以 兩個(gè)位記錄的非零歷史表格與正負(fù)號表格,因此可大幅減少記錄解碼 系數(shù)所需的內(nèi)存,而不致受到內(nèi)存空間大小的限制。而為了更清楚地 說明上述實(shí)施例中記錄非零歷史表格與正負(fù)號表格的詳細(xì)流程,以下 再舉另一個(gè)實(shí)施例來說明。第二實(shí)施例本實(shí)施例以解碼實(shí)際的解碼系數(shù)為例,詳細(xì)說明此解碼系數(shù)的編、解碼過程。以解碼系數(shù)-9為例,-9的二進(jìn)制表示為11110111,而如同先前技術(shù)的介紹,在將系數(shù)進(jìn)行霍夫曼編碼時(shí),是取其絕對值進(jìn)行編碼,而-9的絕對值可表示為1—9I = ()()()()1()Q1,其中,假設(shè)本實(shí)施總共分做 4層掃描層進(jìn)行編碼,而第一次編碼為前5個(gè)位(OOOOl),即為-1,而編 碼的方式是采用游程長度編碼。游程長度編碼的格式為Table(RRRRSSSS)AA(K),其中K為數(shù)個(gè) 零值后第一個(gè)非零值,RRRR是指在K值之前有幾個(gè)零值,SSSS是 指這個(gè)K值有幾個(gè)位,而AA(K)為能夠表示K的適當(dāng)位。此外, RRRRSSSS為將RRRR值放到一個(gè)二元序列編號7 4的位,將SSSS 值放到此二元序列編號3~0的位,而構(gòu)成一個(gè)8位的二元序列。實(shí)際 在進(jìn)行編碼時(shí),若編碼的系數(shù)值為負(fù)數(shù),則取此系數(shù)的補(bǔ)碼進(jìn)行編碼, 而在取得RRRRSSSS值之后,即可經(jīng)由查表取得一個(gè)最少位的碼字 (codeword),艮卩Table(RRRRSSSS)。其中,此表是依照RRRRSSSS 出現(xiàn)的機(jī)率而產(chǎn)生的一個(gè)對照表。接著,第二、三、四次所要進(jìn)行的 編碼依序?yàn)?、 0、 1,這些值均附加到下一個(gè)出現(xiàn)的非零值。回到之前編碼-l的步驟,由上述內(nèi)容可推得其對應(yīng)的RRRR值為 0, SSSS值為1,且AA(K)=0。此時(shí)假設(shè)査表所得的碼字為 Table(RRRRSSSS)=1011,則再加上AA(K)-0,合并后可得到壓縮后的 編碼10110。相對地,在進(jìn)行霍夫曼解碼時(shí),則可相對采用游程長度解碼方法,解出-1的二進(jìn)制值(即11111111)。此時(shí)由于目前解碼的掃描層所對應(yīng)的位是編號7~3的位,因此需要將上述的解碼值(miiiii)向左平移三個(gè)位,而得到(11111000),此即代表數(shù)值-8,此時(shí)即可在正負(fù)號表格中將 此解碼系數(shù)記錄為負(fù)。接著,第二、三次的解碼結(jié)果均為0,此即代表沒有值。而第四次 的解碼結(jié)果則為l, l代表有值,而根據(jù)正負(fù)號表格中記錄的負(fù)值,因 此可解出-1的二進(jìn)制值(即11111111)。然而,由于第四次解碼的掃描層所對應(yīng)的位是編號o的位,所以在將上述的解碼值(miiiii)向左平移零個(gè)位后,即可得到(lllllllll)。此即代表數(shù)值-1,而在將所有解碼的數(shù)值相加后,即可得到最后的解碼系數(shù)-9 ,即 (11111000)+0+0+(111111111)=(11110111)。簡言之,本實(shí)施例就是將-9 分成-8、 0、 0、 -l來傳送。經(jīng)由上述可知,在本發(fā)明的漸進(jìn)式JPEG圖像解碼方法中,除了必 須參考前一層掃描層的非零歷史表格外,還需要根據(jù)正負(fù)號表格決定 解碼系數(shù)的正負(fù)號,才能產(chǎn)生正確的解碼系數(shù)。相較于先前技術(shù)并未 提及解碼系數(shù)需要做正負(fù)二的次方調(diào)整的部分,因此可證明采用其方 法將可能導(dǎo)致解碼的錯(cuò)誤,而無法呈現(xiàn)正確的圖像,而本發(fā)明已可解 決這樣的缺陷。另一方面,本發(fā)明還包括根據(jù)系統(tǒng)的內(nèi)存容量大小,將掃描層分 割成多個(gè)解碼區(qū)域,并分別進(jìn)行解碼,搭配上述記錄的非零歷史表格 及正負(fù)號表格,可有效地將解碼所需使用的內(nèi)存降至最低,以下則再 舉一實(shí)施例詳細(xì)說明。第三實(shí)施例圖4是依照本發(fā)明第三實(shí)施例所繪示的漸進(jìn)式JPEG圖像解碼方法 的流程圖。請參照圖4,本實(shí)施例適于將一筆位流數(shù)據(jù)解碼為圖像數(shù)據(jù), 其中此位流數(shù)據(jù)包括有多個(gè)掃描層的數(shù)據(jù),以下介紹本實(shí)施例的解碼 方法的詳細(xì)步驟首先,將掃描層分割為多個(gè)解碼區(qū)域(步驟S401)。其中,分割的 解碼區(qū)域的大小是依據(jù)內(nèi)存的容量大小而決定的,即先依據(jù)內(nèi)存大小 決定解碼過程中可處理的圖像方塊的數(shù)量,再依此數(shù)量將掃描層分割 成多個(gè)解碼區(qū)域。接著則是在這些分割韻解碼區(qū)域中依序選擇一個(gè)解碼區(qū)域作為局部解碼區(qū)域(步驟S402)。其中,由于各個(gè)掃描層之間具有一定的順序, 因此在本實(shí)施例中, 一開始接收的掃描層數(shù)據(jù)為位流數(shù)據(jù)中排序最前 的掃描層數(shù)據(jù)。下一步則依序接收此位流數(shù)據(jù)的一層掃描層的數(shù)據(jù),并根據(jù)一個(gè) 非零歷史表格與一個(gè)正負(fù)號表格,解碼此掃描層的局部解碼區(qū)域內(nèi)的 數(shù)據(jù),產(chǎn)生多個(gè)區(qū)域解碼系數(shù)(步驟S403)。此步驟包括先根據(jù)非零歷 史表格,將掃描層的數(shù)據(jù)進(jìn)行游程長度解碼,獲得各個(gè)解碼系數(shù)的系 數(shù)值,再根據(jù)正負(fù)號表格,將各個(gè)解碼系數(shù)的系數(shù)值做正負(fù)二的次方 調(diào)整,其中詳細(xì)的解碼方式與第一實(shí)施例中所述相同或相似,故在此 不再贅述。而在產(chǎn)生區(qū)域解碼系數(shù)的同時(shí),也根據(jù)這些區(qū)域解碼系數(shù)的大小, 更新非零歷史表格與正負(fù)號表格(步驟S404)。其中,由于在漸進(jìn)式的 解碼方式中,解碼其中一個(gè)掃描層的數(shù)據(jù)時(shí),必須參照先前掃描層的 解碼結(jié)果,因此本實(shí)施例在產(chǎn)生區(qū)域解碼系數(shù)的同時(shí),也會將這些區(qū) 域解碼系數(shù)改以一個(gè)非零歷史表格與一個(gè)正負(fù)號表格取代,以供后續(xù) 解碼其它掃描層時(shí)的參考。值得一提的是,本實(shí)施例在一開始接收掃描層數(shù)據(jù)時(shí),還包括先 去尋找該掃描層的起始地址,然后才從此起始地址開始進(jìn)行解碼。此 外,在每解碼完一層掃描層的一個(gè)局部解碼區(qū)域數(shù)據(jù)后,本實(shí)施例也 包括將此局部解碼區(qū)域中最后被解碼的地址記錄下來,以作為解碼下 一個(gè)局部解碼區(qū)域的起始位置。相對地,在每次解碼一層掃描層的一 個(gè)局部解碼區(qū)域之前,也會先加載之前記錄的最后解碼地址,而能夠 接續(xù)前一個(gè)局部解碼區(qū)域的后面,繼續(xù)進(jìn)行解碼動(dòng)作。由上述可知, 本實(shí)施例的作法只需在每次解碼完一個(gè)局部解碼區(qū)域時(shí),記錄一個(gè)最 后解碼地址,而不需要預(yù)先存儲所有局部解碼區(qū)域的起始位置,因此 可以減少內(nèi)存空間的使用。下一步則是將這些解碼產(chǎn)生的區(qū)域解碼系數(shù)經(jīng)過反量化及反離散 余弦變換處理后,輸出作為部分的圖像數(shù)據(jù)(步驟S405)。其中,上述 的區(qū)域解碼系數(shù)還包括經(jīng)過轉(zhuǎn)換器轉(zhuǎn)換后輸出,而不限制其范圍。在每解碼完一個(gè)掃描層中一個(gè)解碼區(qū)域的數(shù)據(jù),并輸出區(qū)域解碼系數(shù)后,則會判斷是否還有其它掃描層的數(shù)據(jù)未解碼(步驟S406),若 仍有掃描層的數(shù)據(jù)未解碼,則返回步驟S403,依照掃描層的順序,繼 續(xù)接收下一層掃描層數(shù)據(jù)中同一個(gè)局部解碼區(qū)域的數(shù)據(jù),并參考先前 存儲的非零歷史表格與正負(fù)號表格進(jìn)行解碼,產(chǎn)生新的區(qū)域解碼系數(shù), 直到所有局部解碼區(qū)域內(nèi)的數(shù)據(jù)皆解碼完畢為止。上述產(chǎn)生的新的區(qū) 域解碼系數(shù),則會輸出并累加至先前輸出的區(qū)域解碼系數(shù),累加后的 區(qū)域解碼系數(shù)由于包含更多層掃描層的信息,因此最后顯示的部分圖 像也將變得更為清晰。最后,每當(dāng)有一個(gè)解碼區(qū)域的數(shù)據(jù)解碼完畢時(shí),還包括判斷是否 還有其它解碼區(qū)域內(nèi)的數(shù)據(jù)尚未解碼(步驟S407),若仍有其它的解碼 區(qū)域的數(shù)據(jù)未解碼,則返回步驟S402,繼續(xù)選擇下一個(gè)局部解碼區(qū)域, 并解碼下一個(gè)局部解碼區(qū)域的數(shù)據(jù),直到所有解碼區(qū)域內(nèi)的數(shù)據(jù)皆解 碼完畢后,即可獲得完整的圖像數(shù)據(jù)(步驟S408)。在本實(shí)施例中,依據(jù)內(nèi)存大小決定解碼過程中可存儲的圖像方塊 的非零歷史表格和正負(fù)號表格的數(shù)量,并依此數(shù)量將掃描層分割為多 個(gè)解碼區(qū)域,在每一回合的解碼中,會對所有掃描層中相同解碼區(qū)域 的數(shù)據(jù)進(jìn)行解碼,并在下一回合,繼續(xù)挑選下一個(gè)解碼區(qū)域進(jìn)行解碼。 而解碼產(chǎn)生的解碼系數(shù)也先行輸出,并改以非零歷史表格與正負(fù)號表 格的形式,提供給后續(xù)掃描層解碼之用。因此,本發(fā)明能夠節(jié)省更多 的內(nèi)存資源。綜上所述,在本發(fā)明的漸進(jìn)式JPEG圖像解碼方法中,通過記錄每 一個(gè)可變長度解碼結(jié)果的非零歷史記錄及正負(fù)號記錄,而不用直接記 錄解碼結(jié)果的系數(shù)值,因此可以節(jié)省內(nèi)存空間的使用,而使得在有限 的內(nèi)存資源中,仍可正確地實(shí)現(xiàn)圖像解碼,而不會影響到圖像的顯示。雖然本發(fā)明已以較佳實(shí)施例揭露如上,然其并非用以限定本發(fā)明, 任何熟悉此技術(shù)者,在不脫離本發(fā)朋的精神和范圍內(nèi),當(dāng)可作些許的 更動(dòng)與潤飾,因此本發(fā)明的保護(hù)范圍當(dāng)視后附的權(quán)利要求所界定者為 準(zhǔn)。
權(quán)利要求
1.一種漸進(jìn)式JPEG圖像解碼方法,適于將位流數(shù)據(jù)解碼為圖像數(shù)據(jù),該位流數(shù)據(jù)中包括有多個(gè)掃描層的數(shù)據(jù),該漸進(jìn)式JPEG圖像解碼方法包括下列步驟a.依序接收該位流數(shù)據(jù)中該些掃描層其中之一的數(shù)據(jù);b.根據(jù)非零歷史表格,依序解碼該掃描層的數(shù)據(jù)為多個(gè)解碼系數(shù);c.根據(jù)正負(fù)號表格,將該些解碼系數(shù)做正負(fù)二的次方調(diào)整;以及d.根據(jù)該些解碼系數(shù),更新該非零歷史表格及該正負(fù)號表格;e.輸出該些解碼系數(shù)。
2. 如權(quán)利要求1所述的漸進(jìn)式JPEG圖像解碼方法,其中該步驟b.包括根據(jù)該非零歷史表格,將該掃描層的數(shù)據(jù)進(jìn)行游程長度解碼,進(jìn) 而分別獲得該些解碼系數(shù)的系數(shù)值。
3. 如權(quán)利要求2所述的漸進(jìn)式JPEG圖像解碼方法,其中該步驟C.包括根據(jù)該正負(fù)號表格,分別將該些解碼系數(shù)的系數(shù)值加上正負(fù)號;以及參考目前解碼的該掃描層對應(yīng)于該圖像數(shù)據(jù)所記錄的位在二元序 列的位置,分別將該些解碼系數(shù)的系數(shù)值乘上二的次方。
4. 如權(quán)利要求1所述的漸進(jìn)式JPEG圖像解碼方法,其中該步驟 e.包括將該些解碼系數(shù)經(jīng)過轉(zhuǎn)換器轉(zhuǎn)換,以及反量化變換與反離散余弦 變換處理后輸出;以及將輸出的該些解碼系數(shù)累加至先前輸出的該些解碼系數(shù)。
5. 如權(quán)利要求1所述的漸進(jìn)式JPEG圖像解碼方法,其中在該步 驟e.之后還包括判斷最后解碼的該掃描層是否為最后的該掃描層,若不是最后的該掃描層,則返回步驟a.,繼續(xù)解碼下一該掃描層的數(shù)據(jù),否則,停止解碼動(dòng)作,其中當(dāng)位流數(shù)據(jù)的所有掃描層的數(shù)據(jù)皆解碼完畢時(shí),最后累加的該些 解碼系數(shù)即為完整的該圖像數(shù)據(jù)。
6. —種漸進(jìn)式JPEG圖像解碼方法,適于將位流數(shù)據(jù)解碼為圖像 數(shù)據(jù),該位流數(shù)據(jù)包括有多個(gè)掃描層的數(shù)據(jù),該解碼方法包括下列步驟a. 分割該些掃描層為多個(gè)解碼區(qū)域;b. 依序選擇該些解碼區(qū)域作為局部解碼區(qū)域;c. 依序接收該位流數(shù)據(jù)中該些掃描層其中之一相關(guān)的數(shù)據(jù),并根 據(jù)非零歷史表格與正負(fù)號表格,解碼該掃描層的該局部解碼區(qū)域內(nèi)的 數(shù)據(jù),進(jìn)而輸出多個(gè)區(qū)域解碼系數(shù),以及更新該非零歷史表格與該正 負(fù)號表格;d. 依序接收該位流數(shù)據(jù)中該掃描層的下一層掃描層的數(shù)據(jù),并重 復(fù)步驟c.,繼續(xù)解碼該下一層掃描層的該局部解碼區(qū)域內(nèi)的數(shù)據(jù),而 輸出該些區(qū)域解碼系數(shù),以及更新該非零歷史表格與該正負(fù)號表格, 直到所有該些掃描層的數(shù)據(jù)皆解碼完畢為止。
7. 如權(quán)利要求6所述的漸進(jìn)式JPEG圖像解碼方法,其中該步驟 c.包括將該些區(qū)域解碼系數(shù)經(jīng)過轉(zhuǎn)換器轉(zhuǎn)換,以及反量化變換與反離散 余弦變換處理后輸出;以及將輸出的該些區(qū)域解碼系數(shù)累加至先前輸出的該些區(qū)域解碼系數(shù)。
8. 如權(quán)利要求6所述的漸進(jìn)式JPEG圖像解碼方法,其中該步驟C.包括根據(jù)該非零歷史表格,將該掃描層的數(shù)據(jù)進(jìn)行游程長度解碼,分別獲得該些解碼系數(shù)的系數(shù)值;以及根據(jù)該正負(fù)號表格,分別將該些解碼系數(shù)的系數(shù)值做正負(fù)二的次方調(diào)整。
9. 如權(quán)利要求6所述的漸進(jìn)式JPEG圖像解碼方法,其中該步驟 a.中分割的該些解碼區(qū)域的大小依據(jù)內(nèi)存大小而決定,且對每一該些掃 描層采用相同的分割方式。
10. 如權(quán)利要求6所述的漸進(jìn)式JPEG圖像解碼方法,其中該步驟 c.還包括記錄該掃描層的該局部解碼區(qū)域的最后解碼地址,用以作為下一 個(gè)該掃描層的該局部解碼區(qū)域的起始位置。
11. 如權(quán)利要求10所述的漸進(jìn)式JPEG圖像解碼方法,該步驟c.中接收該掃描層的數(shù)據(jù)之前,還包括在解碼該掃描層的下一個(gè)該解碼區(qū)域的數(shù)據(jù)時(shí),先加載前一層該掃描層的該最后解碼地址;從該最后解碼地址開始解碼下一個(gè)該局部解碼區(qū)域的數(shù)據(jù);以及 解碼該些掃描層的該局部解碼區(qū)域內(nèi)的數(shù)據(jù),并輸出成為部分的該圖像數(shù)據(jù)。
12. 如權(quán)利要求11所述的漸進(jìn)式JPEG圖像解碼方法,其中該步 驟d.之后還包括判斷是否該些掃描層的該些解碼區(qū)域內(nèi)的數(shù)據(jù)皆解碼完畢; 若仍有該解碼區(qū)域的數(shù)據(jù)未解碼,則重復(fù)步驟b,步驟d.,繼續(xù)選 擇第一層該掃描層的下一個(gè)該局部解碼區(qū)域并解碼下一個(gè)該局部解碼 區(qū)域的數(shù)據(jù),直到所有解碼區(qū)域內(nèi)的數(shù)據(jù)皆解碼完畢為止,其中當(dāng)該位流數(shù)據(jù)中該些掃描層的該些解碼區(qū)域的數(shù)據(jù)皆解碼完畢 時(shí),則形成完整的該圖像數(shù)據(jù)。
全文摘要
一種漸進(jìn)式JPEG圖像解碼方法,此解碼方法通過記錄每一個(gè)可變長度解碼結(jié)果的非零歷史記錄及正負(fù)號記錄,用以作為解碼下一個(gè)掃描層的參考,不用直接記錄解碼結(jié)果的系數(shù)值,進(jìn)而節(jié)省了所占用的內(nèi)存空間。據(jù)此,本發(fā)明在有限的內(nèi)存資源中,仍可正確地實(shí)現(xiàn)圖像解碼,而不會影響到圖像的呈現(xiàn)。
文檔編號H04N7/30GK101335887SQ200710112700
公開日2008年12月31日 申請日期2007年6月27日 優(yōu)先權(quán)日2007年6月27日
發(fā)明者陳昱志, 黃志文 申請人:凌陽科技股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
鹤庆县| 太仓市| 青川县| 咸丰县| 上杭县| 南投市| 迁西县| 嫩江县| 辽宁省| 丰台区| 江安县| 越西县| 静安区| 宣威市| 正镶白旗| 乐都县| 昌都县| 当阳市| 广平县| 肃宁县| 平舆县| 永仁县| 探索| 德清县| 武冈市| 怀集县| 类乌齐县| 色达县| 婺源县| 宝山区| 子洲县| 海林市| 古蔺县| 开鲁县| 确山县| 寻乌县| 宁明县| 安义县| 洪洞县| 安国市| 宁陵县|