亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

圖象解碼方法

文檔序號:7508787閱讀:188來源:國知局
專利名稱:圖象解碼方法
技術(shù)領(lǐng)域
本發(fā)明涉及圖象解碼方法,特別是涉及對進(jìn)行通用性高的可變長度編碼的圖象編碼結(jié)果的圖象解碼處理。
背景技術(shù)
為了有效地存儲或傳送數(shù)字圖象,需要進(jìn)行壓縮編碼。作為這種對數(shù)字圖象進(jìn)行壓縮編碼的方法,有在具有代表性的標(biāo)準(zhǔn)即JPEG(JointPhotographic Experts Group)或MPEG(Moving Picture Expertsgroup)中作為其中心技術(shù)的離散余弦變換(DCT),除此之外,還有子帶編碼或小波變換、以及分形等波形編碼方法。另外,為了消除圖象間的冗余信號,基本上是在以一個靜止圖象內(nèi)的空間相關(guān)關(guān)系為依據(jù)的畫面內(nèi)進(jìn)行編碼,但除此之外,還根據(jù)各靜止圖象間的時間相關(guān)關(guān)系,用移動補(bǔ)償進(jìn)行圖象間預(yù)測,來進(jìn)行對差分信號編碼的畫面間編碼,通過該兩者并用,能獲得壓縮率高的編碼數(shù)據(jù)。
在以MPEG標(biāo)準(zhǔn)等為根據(jù)的現(xiàn)有技術(shù)的圖象編碼處理方法中,在DCT等的處理后進(jìn)行量化處理,然后再進(jìn)行可變長度編碼處理。即,首先對數(shù)字圖象數(shù)據(jù)進(jìn)行DCT變換、子帶編碼、小波變換等的處理,用規(guī)定的量化幅度對通過該處理而獲得的變換系數(shù)進(jìn)行量化,生成量化變換系數(shù),再對該量化變換系數(shù)進(jìn)行可變長度編碼處理。
通過量化處理獲得的量化變換系數(shù)是構(gòu)成二維排列的系數(shù),各系數(shù)為零或非零中的某一個。在可變長度編碼處理中,對呈該二維排列的系數(shù)(零或非零)進(jìn)行按照規(guī)定的順序掃描的鋸齒形掃描,變換成一維后,根據(jù)該一維系數(shù)的排列,生成由先行的零系數(shù)的個數(shù)的運(yùn)算(Run)和非零系數(shù)值的電平(Level)構(gòu)成的事件。預(yù)先準(zhǔn)備出分配了單值可變長代碼的可變長代碼表,參照該表進(jìn)行編碼。除此之外,還可以采用分配其它碼作為表示系數(shù)是否是最后系數(shù)的碼的方法,或者將在運(yùn)算和電平的組中增加了表示是否是最后系數(shù)的末尾(Last)的(Last,Run,Level)的組作為一個事件,使用將可變長代碼分配給這三者的組的表進(jìn)行編碼的方法。
圖18是表示現(xiàn)有技術(shù)中對由(Last,Run,Level)構(gòu)成的事件進(jìn)行編碼處理的順序的流程圖。以下,根據(jù)圖18中的流程說明現(xiàn)有技術(shù)的編碼處理方法。
如果在步驟1801中開始處理,則在步驟1802中第j個事件作為處理對象的輸入事件而被輸入。在步驟1803中進(jìn)行輸入事件和可變長代碼表中的參照事件的比較。
從圖19至圖22中示出了現(xiàn)有技術(shù)的可變長度編碼處理中使用的可變長代碼表的例。如圖所示,該表是由(Last,Run,Level)構(gòu)成的事件和碼對應(yīng)的表。圖中“VLC CODE”欄中的“s”在電平為正時為0,電平為負(fù)時為1。另外,Last為0時,表示該系數(shù)不是最后的系數(shù)。
在圖18所示的步驟1803中,參照該可變長代碼表,進(jìn)行輸入事件和該表中含有的由(Last,Run,Level)構(gòu)成的各參照事件的比較,在步驟1804中判斷在上述比較處理中是否有(Last,Run,Level)一致的參照事件。在步驟1804的判斷中,在有參照事件的情況下,執(zhí)行步驟1805,但在沒有的情況下,執(zhí)行步驟1806。這里,在執(zhí)行步驟1805時輸出與該參照事件對應(yīng)的可變長代碼,轉(zhuǎn)移到下文所述的步驟1807。
另一方面,在執(zhí)行步驟1806時,即,即使參照可變長代碼表,但在處理對象的事件中沒有該(Last,Run,Level)的情況下,在步驟1806中進(jìn)行固定長度編碼。圖23是表示固定長度編碼的示意圖。如圖所示,對運(yùn)算分配的碼如圖23(a)所示,對電平分配的碼如圖23(b)所示,這些就是編碼結(jié)果。在這樣進(jìn)行了固定長度編碼處理后,為了與進(jìn)行可變長度編碼獲得的碼加以區(qū)別,為了表示編碼結(jié)果是固定長度碼,在獲得編碼結(jié)果之前為了傳送而附加控制碼。該控制碼稱為換碼字符(ESC),在該例中,如圖22所示,采用符號“0000011”。即,在進(jìn)行了固定長度編碼的情況下,ESC碼的7位和如上分配的碼能獲得運(yùn)算的編碼數(shù)據(jù)。
在執(zhí)行了步驟1805或步驟1806中的任何一個步驟的情況下,在接著的步驟1807中,判斷所處理的輸入事件是否是最后的輸入事件,是最后時,便在步驟1808中將編碼處理結(jié)束。另一方面,若不是最后時,則在步驟1809中將j增加1后,返回步驟1802,進(jìn)行與下一個輸入事件同樣的處理。這樣一直連續(xù)處理到最后的非零系數(shù)為止。
這樣,在現(xiàn)有技術(shù)的圖象編碼處理中,對被量化后的變換系數(shù)生成事件,將該事件與可變長代碼表中包含的參照事件進(jìn)行比較,如果有一致的事件,就用從該表獲得的可變長代碼,如果沒有一致的事件,則用附加了控制碼(ESC碼)的固定長度編碼結(jié)果。
一般來說,可變長代碼表是用多個圖象檢查統(tǒng)計分布,對頻繁發(fā)生的事件分配短碼作成的,由此謀求總體壓縮率的提高。如上所述,在不能用可變長代碼表進(jìn)行編碼碼的情況下,進(jìn)行固定長度編碼,使壓縮率降低,所以最好能設(shè)定得盡可能地不進(jìn)行固定長度編碼。這時,在現(xiàn)有技術(shù)的圖象編碼中,如圖18所示,在步驟1904的判斷中,在沒有合適的參照事件的情況下,立刻在步驟1806中進(jìn)行固定長度編碼,所以編碼效率好的可變長度編碼執(zhí)行率直接由可變長代碼表中合適的事件的存在率來決定。
可是,在圖象壓縮編碼中,系數(shù)的統(tǒng)計分布隨量化的大小而變化,特別是在高壓縮率的情況和低壓縮率的情況下,已知系數(shù)的分布異常地不同。因此,在對成為對象的系數(shù)不用合適的可變長代碼表的情況下,可變長代碼表中合適的事件的存在率下降,固定長度編碼執(zhí)行率變高,使得編碼效率下降。
一般來說,如果量化幅度較大,就量化變換系數(shù)而言,壓縮率變高,但由這樣的量化變換系數(shù)獲得的事件所具有的電平值有變小的趨向。在從圖19至圖22所示的可變長代碼表中,所含有的電平值小的事件較多,而且將短碼分配給電平值小的事件,適合于將壓縮率較高的量化變換系數(shù)作為處理對象的情況。因此,在量化幅度較小、量化變換系數(shù)的壓縮率較低的情況下,所獲得的事件的電平值大的變多,所以在這樣的可變長代碼表中合適事件的不存在率變高,另外即使存在,也是分配了較長的碼的情況增多編碼結(jié)果的位數(shù)增大。即,將作成用于低壓縮率的可變長代碼表用于高壓縮率編碼,使得編碼效率降低。
這樣,在對可變長度編碼處理對象的系數(shù)不用適當(dāng)設(shè)定的可變長度編碼表時,不能進(jìn)行可變長度編碼的固定長度編碼增加,而且進(jìn)行可變長度編碼時位量增大,所以碼量增加,不能謀求提高壓縮率,這一點(diǎn)是現(xiàn)有的圖象編碼處理中所存在的問題。

發(fā)明內(nèi)容
本發(fā)明就是鑒于上述這樣的問題而完成的,其目的在于在圖象編碼中使用同一可變長度編碼表,在大范圍內(nèi)即對從高壓縮率到低壓縮率的編碼對象都能有效地進(jìn)行編碼。
為了解決上述課題,本發(fā)明的一種圖像解碼方法,抽取出包含在壓縮編碼數(shù)據(jù)中的可變長代碼,利用參照可變長代碼與參照事件相對應(yīng)的可變長代碼表,求出對應(yīng)于所述可變長代碼的事件并根據(jù)該事件求出輸出變換系數(shù),其中在所述可變長代碼不包含控制代碼的情況下,利用所述可變長代碼表獲取對應(yīng)于所述可變長代碼的事件;在所述可變長代碼包含所述控制代碼且所述控制代碼為第2控制代碼的情況下,利用所述可變長代碼表獲得對應(yīng)于所述可變長代碼的事件,并利用預(yù)定函數(shù)對獲取的該事件的Level值進(jìn)行變換以求出變換事件;在所述可變長代碼包含所述控制代碼且所述控制代碼為第1控制代碼的情況下,對所述可變長代碼進(jìn)行定長譯碼處理以獲得對應(yīng)于所述可變長代碼的事件。
本發(fā)明的另一種圖像解碼方法,抽取出包含在壓縮編碼數(shù)據(jù)中的可變長代碼,利用參照可變長代碼與參照事件相對應(yīng)的可變長代碼表,求出對應(yīng)于所述可變長代碼的事件并根據(jù)該事件求出輸出變換系數(shù),其特征在于判斷所述可變長代碼是否包含控制代碼;在所述可變長代碼不包含控制代碼的情況下,利用所述可變長代碼表獲得對應(yīng)于所述可變長代碼的事件,在判斷出所述可變長代碼包含所述控制代碼、且所述控制代碼為第2控制代碼的情況下,利用所述可變長代碼表獲得對應(yīng)于所述可變長代碼的事件,并利用預(yù)定函數(shù)對獲得的該事件的Level值進(jìn)行變換以求出變換事件,以及在判斷出所述可變長代碼包含所述控制代碼、且所述控制代碼為第1控制代碼的情況下,對所述可變長代碼進(jìn)行定長譯碼處理以獲得對應(yīng)于所述可變長代碼的事件。
本發(fā)明的另一種圖象編碼方法是根據(jù)規(guī)定的變換方法對編碼對象圖象取得變換系數(shù),用規(guī)定的量化幅度對上述變換系數(shù)進(jìn)行量化處理,取得量化變換系數(shù),參照有多對參照事件和可變長代碼的對的可變長代碼表,對上述量化變換系數(shù)進(jìn)行可變長度編碼處理,在該圖象編碼方法中執(zhí)行以下步驟根據(jù)上述量化幅度,對上述可變長代碼表中包含的參照事件進(jìn)行使用規(guī)定的函數(shù)的變換處理,生成變換事件,通過上述量化變換系數(shù)和上述變換事件的比較處理,取得變換比較結(jié)果,在上述變換比較結(jié)果表明“一致”的情況下,用與生成該變換參照事件的參照事件對應(yīng)的可變長代碼取得編碼結(jié)果的可變長度編碼步驟,通過對可變長代碼表中包含的參照事件的變換處理,能提高比較時的一致率,靈活運(yùn)用可變長代碼表,提高編碼處理的效率。
如果采用以上的本發(fā)明,則能獲得使用同一個可變長代碼表在大范圍內(nèi)(從高壓縮率到低壓縮率)有效地對圖象進(jìn)行編碼的效果。
另外,本發(fā)明的圖象編碼裝置是實施上述的圖象編碼方法、獲得高壓縮率的編碼結(jié)果的裝置。
另外,本發(fā)明的圖象解碼方法是能對用上述的圖象編碼方法獲得的編碼結(jié)果適當(dāng)?shù)剡M(jìn)行解碼處理的方法。
另外,本發(fā)明的圖象解碼裝置是能對用上述的圖象編碼裝置獲得的編碼結(jié)果適當(dāng)?shù)剡M(jìn)行解碼處理的裝置。
另外,本發(fā)明的圖象編碼程序記錄媒體記錄了進(jìn)行上述這樣的圖象編碼方法的圖象編碼程序,在計算機(jī)系統(tǒng)中執(zhí)行該程序,靈活利用裝置資源,實現(xiàn)能獲得高壓縮率的編碼結(jié)果的圖象編碼裝置。
另外,本發(fā)明的圖象解碼程序記錄媒體記錄了進(jìn)行上述這樣的圖象解碼方法的圖象解碼程序,在計算機(jī)系統(tǒng)中執(zhí)行該程序,靈活利用裝置資源,實現(xiàn)能對高壓縮率的編碼結(jié)果適當(dāng)?shù)剡M(jìn)行解碼處理的圖象解碼裝置。


圖1是表示本發(fā)明的實施例1的可變長度編碼方法中的處理順序的流程圖。
圖2是表示該實施例的圖象編碼裝置的結(jié)構(gòu)框圖。
圖3是表示用該實施例的可變長度編碼方法變換的碼例的說明圖。
圖4是表示該實施例的圖象解碼裝置的結(jié)構(gòu)框圖。
圖5是表示該實施例的可變長度解碼方法中的處理順序的流程圖。
圖6是表示本發(fā)明的實施例2的可變長度編碼方法中的處理順序的流程圖。
圖7是表示用該實施例的可變長度編碼方法變換的碼例的說明圖。
圖8是表示本發(fā)明的實施例3的可變長度編碼方法中的處理順序的流程圖。
圖9是表示用該實施例的可變長度編碼方法變換的碼例的說明圖。
圖10是表示本發(fā)明的實施例4的可變長度編碼方法中的處理順序的流程圖。
圖11是表示用該實施例的可變長度編碼方法變換的碼例的說明圖。
圖12是表示本發(fā)明的實施例5的可變長度編碼方法中的處理順序的流程圖。
圖13是表示用該實施例的可變長度編碼方法中使用的量化幅度和變換處理用的除法算符的關(guān)系圖。
圖14是表示用該實施例的可變長度編碼方法變換的碼例的說明圖。
圖15是表示本發(fā)明的實施例6的可變長度編碼方法中的處理順序的流程圖。
圖16是表示該實施例的圖象編碼裝置所具有的可變長度編碼器的內(nèi)部結(jié)構(gòu)框圖。
圖17是表示該實施例的圖象解碼裝置所具有的可變長度解碼器的內(nèi)部結(jié)構(gòu)框圖。
圖18是表示現(xiàn)有技術(shù)的可變長度編碼方法中的處理順序的流程圖。
圖19~圖22是可變長度編碼中使用的可變長代碼表之一例圖。
圖23是說明固定長度編碼處理用的說明圖。
具體實施例方式
實施例1本發(fā)明的實施例1的圖象編碼方法是一種通過對作為編碼對象的事件進(jìn)行編碼處理,增加可變長度編碼表的使用機(jī)會,謀求提高編碼效率的方法。
圖1是表示本發(fā)明的實施例1的可變長度編碼方法中的處理順序的流程圖。圖2是表示本實施例1的實施可變長度編碼處理的圖象編碼裝置的結(jié)構(gòu)框圖。圖3是表示可變長度編碼結(jié)果的例圖。
首先,用圖2說明本實施例1的圖象編碼裝置。如圖2所示,本實施例1的圖象編碼裝置備有第一加法器202、編碼器203、第二加法器210、可變長度編碼器(VLC)211、幀存儲器(FM)213、移動檢測器(ME)214、以及移動補(bǔ)償器(MC)215,從輸入端201輸入成為編碼處理對象的數(shù)字圖象數(shù)據(jù),由輸出端206輸出該圖象編碼裝置輸出的編碼數(shù)據(jù)。另外,編碼器203內(nèi)部包括離散余弦變換器(DCT)204和量化器(Q)205,解碼器207內(nèi)部包括逆量化器(IQ)208和逆離散余弦變換器(IDCT)209。
以下,說明如上構(gòu)成的圖象編碼裝置的工作情況。首先,將數(shù)字圖象數(shù)據(jù)即編碼對象圖象輸入到輸入端201。編碼對象圖象被分割成相鄰的多個小區(qū)。在本實施例1中,編碼對象圖象被分割成相鄰的16×16個塊,對該所分割的每個塊進(jìn)行編碼處理。
成為編碼對象的塊即對象塊由信號線216被輸入第一加法器202,同時經(jīng)過信號線225被輸入移動檢測器214。另外,如下文所述,過去的再生圖象被存入幀存儲器213,移動檢測器214由信號線224輸入該存儲的圖象,將它作為參照圖象用,進(jìn)行對編碼對象塊的移動檢測處理,取得移動矢量。在移動檢測處理中,用塊匹配等方法對編碼對象塊求能供給誤差最小的預(yù)測信號的移動位移信息,將該移動位移信息作為移動矢量實施,移動檢測器214將移動矢量輸出給移動補(bǔ)償器215。另外,移動矢量經(jīng)過信號線228還輸出給可變長度編碼器211,在可變長度編碼器211中被變換成可變長代碼,作為側(cè)面信息的一部分被附加的編碼結(jié)果中。
移動補(bǔ)償器215同樣將存儲在幀存儲器213中的圖象作為參照圖象用,根據(jù)該參照圖象和移動矢量,生成預(yù)測塊,由信號線226將它輸出給第一加法器202,同時由信號線227還輸出給第二加法器210。在第一加法器202中,通過取得輸入的對象塊和預(yù)測塊的差分,生成剩余塊,由信號線217將它輸出給編碼器203。
在編碼器203中,剩余塊被壓縮編碼。在本實施例1中,將剩余塊輸入離散余弦變換器204中,變換成頻率區(qū)的系數(shù),頻率區(qū)的系數(shù)由信號線218輸入量化器205,量化器205用規(guī)定的量化幅度進(jìn)行量化處理。在第一加法器202中未取得差分的情況下,即在進(jìn)行畫面內(nèi)編碼的情況下,對象塊被輸入編碼器203中,進(jìn)行與剩余塊同樣的處理。
被量化了的變換系數(shù)即量化變換系數(shù)和量化處理中用的量化幅度從量化器205經(jīng)過信號線219被輸出給可變長度編碼器203,被進(jìn)行編碼處理,編碼結(jié)果與移動矢量或量化幅度等其它側(cè)面信息一起被輸出給輸出端206。另一方面,量化變換系數(shù)也被輸出給解碼器207,進(jìn)行展開處理。在本實施例1中,在逆量化器208中用上述的量化幅度進(jìn)行逆量化,其結(jié)果由信號線221輸入逆離散余弦變換器209,進(jìn)行離散余弦變換的逆處理,獲得空間區(qū)域的數(shù)據(jù)。用解碼器207獲得的展開后的剩余塊由信號線221輸出給第二加法器210,與經(jīng)過信號線227輸送的預(yù)測塊相加,生成再生塊。該再生塊經(jīng)過信號線222輸出給幀存儲器213儲存起來,以便在下一次編碼處理中作為參照圖象用。
在本實施例1的圖象編碼裝置中,將量化變換系數(shù)和量化幅度及移動矢量等側(cè)面信息輸入可變長度編碼器211,將它們變換成可變長度或固定長度碼。以下,根據(jù)圖1中的流程,說明可變長度編碼器211對量化變換系數(shù)進(jìn)行處理時的工作情況。
與在現(xiàn)有技術(shù)中說明的一樣,變換系數(shù)是作為零及非零系數(shù)的二維排列獲得的系數(shù),按照規(guī)定的順序(鋸齒形)對該二維排列進(jìn)行重新排列,獲得一維排列后,歸納成由先行的零系數(shù)的個數(shù)(運(yùn)算,Run)和非零系數(shù)值、電平(Level)構(gòu)成的事件。另外,附加表示是否是用電平表示的變換系數(shù)還是最后系數(shù)的Last(末尾)的信息。將由這樣形成的(Last,Run,Level)構(gòu)成的事件作為可變長度編碼器211的處理對象的輸入事件。
如果在步驟101中開始處理,則在步驟102中獲得第j個輸入事件。在步驟103中,在可變長度編碼器211中進(jìn)行輸入事件和可變長代碼表中的參照事件的比較。作為可變長代碼表使用現(xiàn)有技術(shù)中使用的圖19~圖22所示的表,進(jìn)行與由該表中含有的(Last,Run,Level)構(gòu)成的各參照事件的比較。
在步驟104中,判斷在上述比較處理中是否有(Last,Run,Level)一致的參照事件。若在步驟104的判斷中有參照事件時,執(zhí)行步驟105,若沒有時執(zhí)行步驟106。這里,在執(zhí)行了步驟105的情況下,輸出與該參照事件對應(yīng)的可變長代碼,轉(zhuǎn)移到下文所述的步驟111。
另一方面,在執(zhí)行步驟106的情況下,用規(guī)定的函數(shù)對輸入事件所具有的電平進(jìn)行變換處理,生成變換輸入事件。在接著的步驟107中,與步驟103一樣進(jìn)行變換輸入事件和參照事件的比較。在接著的步驟108中,進(jìn)行是否是一致的參照事件的判斷,在有參照事件的情況下,執(zhí)行步驟110,在沒有時執(zhí)行步驟109。這里,在執(zhí)行步驟110的情況下,預(yù)先附加了單值設(shè)定的第二控制碼的編碼結(jié)果被輸出給與該參照事件對應(yīng)的可變長代碼,轉(zhuǎn)移到步驟111。
另一方面,在執(zhí)行步驟109的情況下,對輸入事件進(jìn)行圖23所示的編碼處理,生成固定長度碼。然后,輸出能區(qū)別于第二控制碼的第一控制碼被附加在該固定長度碼中的編碼結(jié)果。
在執(zhí)行了步驟110或步驟109兩者中的任意一個步驟后,在接著的步驟111中,判斷所處理的輸入事件是否是最后的輸入事件,若是最后時,則在步驟112中結(jié)束編碼處理。另一方面,若不是最后時,則在步驟113中使j增加1后,返回步驟102,進(jìn)行與下一個輸入事件同樣的處理。這樣,將處理一直進(jìn)行到最后的非零系數(shù)為止。
在本實施例1中,作為從輸入事件獲得變換輸入事件時的規(guī)定的函數(shù)的是具有規(guī)定值的偏置值的減法處理的函數(shù)。即,從輸入事件所具有的電平值減去偏置值,作為變換輸入事件。最好是在從電平值的絕對值減去偏置值后,帶上電平符號(正或負(fù))。該偏置值可以是一個,也可以與Last和Run的值對應(yīng)地取可變的值。在本實施例1中,從圖19至圖22所示的表中可以得到(Last,Run)=(0、0)時,偏置值=12,(Last,Run)=(0、1)時,偏置值=6,(Last,Run)=(0、2)時,偏置值=4,將各(Last,Run)對的最大電平值作為偏置值。
圖19至圖22所示的可變長代碼表是適合于壓縮系數(shù)較高的變換系數(shù)的表,表內(nèi)的事件所具有的電平值多半較小。因此,對于該表中不存在的適宜的事件的輸入事件來說,對其電平值進(jìn)行減法處理,獲得電平值小的變換輸入事件,提高可變長度編碼率,另外,謀求提高該表中分配給電平值小的事件的短碼的使用率。
另外,作為第一控制碼,使用圖23所示的與現(xiàn)有技術(shù)中使用的ESC碼相同的“0000011”,作為第二控制碼,使用將該ESC碼兩次反復(fù)后的碼。
圖3是表示編碼結(jié)果之一例圖。這里,利用圖3將本實施例1的編碼處理方法與現(xiàn)有技術(shù)中的情況進(jìn)行比較。這里,考慮將(Last,Run,Level)=(0、0、13)的事件作為編碼對象的情況。在從圖19至圖22所示的可變長代碼表中,沒有(0、0、13)的組。因此,如果按照現(xiàn)有技術(shù)進(jìn)行編碼處理,則如上所述,進(jìn)行圖23所示的固定長度編碼處理,在其中附加ESC碼后輸出。圖3(a)表示這樣處理的結(jié)果,輸出7位的ESC碼301、表示Last的1位的302、其后是表示電平而6位的303、以及8位的304。這里,電平用表示零運(yùn)算的303和固定長度碼304表示。這樣,合計必須是22位。
與此不同,在本實施例1的處理結(jié)果中,從圖1的流程中的步驟103到104,即使在可變長代碼表中不存在適當(dāng)?shù)膮⒄帐录那闆r下,也不象現(xiàn)有技術(shù)所進(jìn)行的處理那樣直接進(jìn)行固定長度編碼,而是進(jìn)行步驟106~步驟108所示的變換處理,并再次進(jìn)行比較。在變換處理中,從電平值13減去偏置值(=12),以便將電平值變換成1,獲得變換輸入事件(0、0、1)。如圖18所示,事件(0、0、1)存在于可變長代碼表中,所以在圖1的流程中執(zhí)行步驟108至步驟110。因此,如圖3(b)所示,獲得由第二控制碼806和對(0、0、1)的可變長代碼807構(gòu)成的編碼結(jié)果,因此,這時變成需要17位的碼,結(jié)果比需要22位的現(xiàn)有技術(shù)減少了編碼量。
在圖1的流程中,即使用變換輸入事件進(jìn)行比較處理,在可變長代碼表中不存在適當(dāng)?shù)膮⒄帐录那闆r下,步驟109的處理變成與現(xiàn)有技術(shù)相同。因此,在本實施例1中,在最壞的情況下也能進(jìn)行與現(xiàn)有技術(shù)相同的編碼。另外,在附加了第二控制碼的碼長比附加了第一控制碼的碼長還要長的情況下,用第一控制碼和固定長度碼編碼時位數(shù)少。
以下,說明對用本實施例1中所示的通過圖象編碼處理獲得的編碼數(shù)據(jù)進(jìn)行的解碼處理。
圖4是本實施例1的圖象解碼裝置的結(jié)構(gòu)框圖。如該圖所示,本實施例1的圖象解碼裝置備有數(shù)據(jù)分析器(DA)402、加法器406、可變長度解碼器(VLD)408、解碼器403、幀存儲器(FM)409、以及移動補(bǔ)償器(MC)410,從輸入端401輸入成為解碼處理對象的編碼數(shù)據(jù),由輸出端407輸出該圖象解碼裝置的輸出即解碼數(shù)據(jù)。另外,解碼器403內(nèi)部包括逆量化器(IQ)404和逆離散余弦變換器(IDCT)405。
以下說明如上構(gòu)成的本實施例1的圖象解碼裝置對在圖2所示的圖象編碼裝置中進(jìn)行了壓縮編碼的編碼數(shù)據(jù)進(jìn)行解碼處理時的工作情況。
將作為處理對象的編碼數(shù)據(jù)輸入到輸入端401,在數(shù)據(jù)分析器402中分析數(shù)據(jù),取得由量化變換系數(shù)獲得的可變長代碼和包含量化幅度和移動矢量的側(cè)面信息的碼。其中,將量化幅度和量化變換系數(shù)的可變長代碼經(jīng)過信號線412被傳送到可變長度解碼器408,移動矢量經(jīng)過信號線418被輸出給移動補(bǔ)償器410。在可變長度解碼器408中,參照可變長代碼表,將被量化了的變換系數(shù)的可變長代碼復(fù)原成變換系數(shù),通過重新排列,取得壓縮剩余塊,將其輸出給解碼器403。
在解碼器403中,將壓縮剩余塊展開,復(fù)原成展開剩余塊。在本實施例1的解碼器403中,在逆量化器404中用量化幅度進(jìn)行逆量化,對其結(jié)果,由逆離散余弦變換器405將頻率區(qū)域信號變換成空間區(qū)域信號。該信號作為被展開的剩余塊輸出給加法器406。
另一方面,在輸入了移動矢量的移動補(bǔ)償器410中,根據(jù)該移動矢量,生成對幀存儲器409進(jìn)行訪問用的地址,根據(jù)幀存儲器409中存儲的圖象,生成預(yù)測塊。所生成的預(yù)測塊被輸出給加法器406,通過與展開的剩余塊進(jìn)行加法處理,生成再生塊。這樣再生的圖象作為該圖象解碼裝置的輸出,被從輸出端407輸出,同時被輸出給幀存儲器409儲存。
圖5是表示可變長度解碼器408的可變長度解碼方法的處理順序的流程圖。以下,根據(jù)圖5中的流程,說明系數(shù)可變長度解碼器408進(jìn)行解碼處理時的工作情況。
首先,如果在步驟501中開始處理,則在步驟502中,第j個處理對象的由量化變換系數(shù)獲得的可變長代碼被作為輸入可變長代碼輸入。在步驟503中,判斷輸入可變長代碼是否包含控制碼,如果不包含,執(zhí)行步驟504,如果包含,執(zhí)行步驟505。在執(zhí)行步驟504時,即在沒有控制碼的情況下,通過使用可變長代碼表,輸出與輸入可變長代碼對應(yīng)的(Last,Run,Level),轉(zhuǎn)移到下文所述的步驟510。
另一方面,在執(zhí)行步驟505時,即在包含控制碼的情況下,判斷該控制碼是否是第二控制碼,如果是第二控制碼,執(zhí)行步驟506,如果不是,執(zhí)行步驟507。在執(zhí)行步驟506時,即在是第二控制碼的情況下,通過使用可變長代碼表,取得與輸入可變長代碼對應(yīng)的(Last,Run,Level),用規(guī)定的函數(shù)變換其電平值,所取得的結(jié)果被輸出后,轉(zhuǎn)移到下文所述的步驟510。在本實施例1中,作為電平值的變換處理,是進(jìn)行規(guī)定的偏置值的加法處理,如上所述,該偏置值的值是對應(yīng)于(Last,Run)可變的值。
這里,考慮對圖3(b)中的碼進(jìn)行解碼處理的情況。在步驟505的判斷中,由于斷定了是第二控制碼,所以執(zhí)行步驟506。因此,通過參照可變長代碼表,取得與圖3(b)中的306所示的碼“100”的部分對應(yīng)的(Last,Run,Level=0、0、1),對其電平進(jìn)行偏置值=12的加法處理后,能復(fù)原真的(Last,Run,Level)=(0、0、13)。
與此不同,在執(zhí)行步驟507時,進(jìn)一步判斷該控制碼是否是第一控制碼。如果是第一控制碼,執(zhí)行步驟508,但如果斷定不是第一控制碼時,則既不帶第一控制碼,也不帶第二控制碼,所以在步驟509中,中止解碼處理,進(jìn)行將該意思顯示給使用者等的錯誤處理。另一方面,在執(zhí)行步驟508時,即有第一控制碼時,再生固定長度碼解碼系數(shù)。
在執(zhí)行了步驟504、步驟506、或步驟508后,在接著的步驟510中,判斷所處理的輸入可變長代碼是否是最后輸入可變長代碼,在是最后的情況下,在步驟511中結(jié)束解碼處理。另一方面,在不是最后的情況下,在步驟512中,使j增加1后,返回步驟502,進(jìn)行與下一個輸入可變長代碼同樣的處理。這樣一直連續(xù)處理到最后的可變長代碼為止。
這樣,如果采用本實施例1的圖象編碼方法,則如圖1所示,在從步驟103至步驟104的比較處理中,即使在可變長代碼表中不存在適當(dāng)?shù)膮⒄帐录?,但由于在步驟106中對輸入事件進(jìn)行變換處理,在步驟107至步驟108中,用獲得的變換輸入事件進(jìn)行比較處理,所以通過執(zhí)行步驟109,降低了固定長度編碼率,另外,由于使用變換輸入事件,在可變長度編碼中提高了分配短碼的可能性,可謀求在總體上提高編碼結(jié)果的壓縮率。
另外,如果采用本實施例1的圖象編碼裝置,則由于備有執(zhí)行上述編碼方法的可變長度編碼器211,所以在編碼器203中的壓縮編碼的壓縮率為高壓縮率的情況下,或者在低壓縮率的情況下,都能使用同一個可變長代碼表,能獲得壓縮率好的編碼結(jié)果。
另外,如果采用本實施例1的圖象解碼方法及圖象解碼裝置,則能對應(yīng)于如上獲得的編碼結(jié)果,進(jìn)行適當(dāng)?shù)慕獯a處理,獲得再生圖象。
另外,在本實施例1的編碼處理中,說明了在壓縮編碼時進(jìn)行離散余弦變換的處理方法,但也可以用小波編碼等的波形編碼方法代替它,同樣能進(jìn)行編碼處理。
另外,在本實施例1的編碼處理中,對輸入事件進(jìn)行變換處理時,變換輸入事件的電平值,但也可以變換輸入事件的運(yùn)算的值來代替它。這時,將圖19至圖22的可變長代碼表中的各參照事件的(Last,Run)對的最大的Run值作為偏置值,從輸入事件的運(yùn)算的值減去(偏置值+1),能獲得變換輸入事件。另外,也可以采用下述方法來代替使用偏置值,即,采用使電平或運(yùn)算的值遞增,或進(jìn)行二次函數(shù)的處理,或變更動態(tài)范圍的方法,進(jìn)行變換處理。另外,還可以用規(guī)定的函數(shù)變換可變長代碼表中的電平或運(yùn)算,進(jìn)行比較處理,代替對輸入事件的電平或運(yùn)算施以規(guī)定的函數(shù)。
如上所述,在編碼處理中,變換運(yùn)算值代替電平值時,即使在解碼處理中,也可將(偏置值+1)加到可變長度解碼過的運(yùn)算值中,生成真的運(yùn)算值。如上所述,這時的偏置值是(Last,Run)對的Run的最大值。
另外,在本實施例1中,用圖1及圖5中的流程圖說明了編碼處理及解碼處理的順序,但不限于這樣的處理順序,也可以采用能進(jìn)行同樣的處理的順序,謀求提高編碼效率,以及對這樣的編碼結(jié)果進(jìn)行適當(dāng)?shù)慕獯a處理。
實施例2本發(fā)明的實施例2的圖象編碼方法與實施例1相同,也是對成為編碼對象的事件進(jìn)行變換處理,通過使用方式碼,謀求減少位數(shù)。
圖6是表示本實施例2的可變長度編碼方法中的處理順序的流程圖。另外,本實施例2的圖象編碼裝置具有與實施例1同樣的結(jié)構(gòu),說明時用圖2。
在本實施例2的圖象編碼處理中,雖然只用圖2所示的可變長度編碼器211進(jìn)行處理,但與實施例1不同,所以以下根據(jù)圖6說明可變長度編碼器211的編碼處理工作的情況。
從步驟601至步驟608與實施例1中的步驟101至步驟108同樣地進(jìn)行,在步驟108中根據(jù)變換輸入事件和可變長代碼表中的參照事件的比較進(jìn)行判斷。根據(jù)判斷結(jié)果,在有一致的參照事件的情況下,執(zhí)行步驟601,在沒有的情況下,執(zhí)行步驟609。
在執(zhí)行了步驟601后,輸出在與該參照事件對應(yīng)的可變長代碼上附帶了預(yù)先單值地設(shè)定的控制碼和第二方式碼的編碼結(jié)果,轉(zhuǎn)移到步驟611。這里,作為控制碼,與圖22所示的ESC碼相同,是使用0000011的碼,作為第二方式碼是使用“0”的碼。
另一方面,在執(zhí)行了步驟609后,對輸入事件進(jìn)行圖23所示的編碼處理,生成固定長度碼。然后,輸出控制碼和第一方式碼被附加在該固定長度碼上的編碼結(jié)果。作為第一方式碼是使用“1”的碼。
在執(zhí)行了步驟610或步驟609后,在接著的步驟611中,判斷所處理的輸入事件是否是最后的輸入事件,是最后時,便在步驟612中使編碼處理結(jié)束。另一方面,若不是最后時,則在步驟613中將j增加1后,返回步驟602,進(jìn)行與下一個輸入事件同樣的處理。這樣一直連續(xù)處理到最后的非零系數(shù)為止。
在本實施例2中,與實施例1一樣,在生成輸入變換事件時,對輸入事件的電平進(jìn)行使用偏置值的變換,與實施例1一樣,偏置值既可取預(yù)定的值,也可以取與Last和Run對應(yīng)的值。在本實施例中,(Last,Run)=(0、0)時,偏置值=12,(Last,Run)=(0、1)時,偏置值=6,(Last,Run)=(0、2)時,偏置值=4,這些都可以從圖19至圖22所示的可變長度編碼表獲得,將各(Last,Run)的最大電平值作為偏置值。
以下,說明對通過本實施例2所示的編碼處理獲得的編碼數(shù)據(jù)進(jìn)行的解碼處理情況。本實施例2的圖象解碼裝置的結(jié)構(gòu)與實施例1的相同,說明時使用圖4。
圖7是表示本實施例2的可變長度解碼方法的處理順序的流程圖。在本實施例2的圖象解碼處理中,只由圖4所示的可變長度解碼器408進(jìn)行處理,這一點(diǎn)與實施例1不同,所以以下根據(jù)圖7說明可變長度解碼器408的解碼處理的工作情況。
從步驟701至步驟704與實施例1中的步驟501~504(圖5)同樣地進(jìn)行,其次進(jìn)行步驟705中的判斷處理。在步驟703的判斷中,在斷定有控制碼的情況下,在步驟705中進(jìn)行繼該控制碼之后的下一個1位是“0”還是“1”的判斷處理。然后,若是“0”時執(zhí)行步驟706,若是“1”時執(zhí)行步驟708。
在執(zhí)行步驟706的情況下,首先利用可變長代碼表,取得與輸入的可變長代碼對應(yīng)的(Last,Run,Level),用規(guī)定的函數(shù)對其所具有的電平值進(jìn)行變換處理后,輸出解碼結(jié)果。在本實施例2的變換處理中,是將規(guī)定的偏置值加在所取得的電平值上。該偏置值如上所述是對應(yīng)于(Last,Run)可變的值。
另一方面,在執(zhí)行步驟708的情況下,將輸入可變長代碼作為固定長度碼進(jìn)行解碼,使系數(shù)再生。在執(zhí)行了步驟704、步驟706、或步驟708后,在接著的步驟710中,判斷所處理的輸入可變長代碼是否是最后輸入可變長代碼,在是最后的情況下,在步驟711中結(jié)束解碼處理。另一方面,在不是最后的情況下,在步驟712中,使j增加1后,返回步驟702,進(jìn)行與下一個輸入可變長代碼同樣的處理。這樣一直連續(xù)處理到最后的可變長代碼為止。
這樣,如果采用本實施例2的圖象編碼方法,則如圖6所示,在從步驟603至步驟604的比較處理中,即使在可變長代碼表中不存在適當(dāng)?shù)膮⒄帐录?,但由于在步驟606中對輸入事件進(jìn)行變換處理,在步驟607至步驟608中,用所獲得的變換輸入事件進(jìn)行比較處理,所以通過執(zhí)行步驟609,降低了固定長度編碼率,另外,由于使用變換輸入事件,在可變長度編碼中提高了分配短碼的可能性,可謀求在總體上提高編碼結(jié)果的壓縮率。而且,在步驟610或步驟609中,用1位的方式碼對固定長度編碼和進(jìn)行過偏置值處理的電平進(jìn)行區(qū)別,所以與使用第一及第二控制碼的實施例1相比較,具有能減少編碼結(jié)果中總位數(shù)的優(yōu)點(diǎn)。
另外,如果采用本實施例2的圖象編碼裝置,則由于備有執(zhí)行上述編碼方法的可變長度編碼器211,所以在編碼器203中的壓縮編碼的壓縮率為高壓縮率的情況下,或者在低壓縮率的情況下,都能使用同一個可變長代碼表,能獲得壓縮率好的編碼結(jié)果。
另外,如果采用本實施例2的圖象解碼方法及圖象解碼裝置,則能對應(yīng)于如上獲得的編碼結(jié)果,進(jìn)行適當(dāng)?shù)慕獯a處理,獲得再生圖象。
另外,在本實施例2中,雖然是使用一個方式碼,但也可以用兩個以上的方式碼來區(qū)別多個方式。例如,可以增加變更零運(yùn)算值的方式作為第三種方式。
另外,在本實施例2中,也與實施例1一樣,變換輸入事件的電平,獲得變換輸入事件,但也可以變換運(yùn)算。另外,雖然是用偏置值進(jìn)行變換處理,但也可以代之以采用使電平遞增,或采用二次函數(shù),或變更動態(tài)范圍的方法。
實施例3本發(fā)明的實施例3的圖象編碼方法與實施例1及2相同,也是對成為編碼對象的事件進(jìn)行變換處理,能反復(fù)進(jìn)行變換處理,謀求提高編碼效率。
圖8是表示本實施例3的可變長度編碼方法中的處理順序的流程圖。另外,本實施例3的圖象編碼裝置具有與實施例1同樣的結(jié)構(gòu),說明時用圖2。
在本實施例3的圖象編碼處理中,雖然只用圖2所示的可變長度編碼器211進(jìn)行處理,但與實施例1不同,所以以下根據(jù)圖8說明可變長度編碼器211的編碼處理工作的情況。
在圖8(a)的流程中,從步驟801至步驟805與實施例1中的步驟101至步驟105同樣地進(jìn)行。在本實施例3中,在步驟806的變換處理中,通過使用規(guī)定函數(shù)的變換處理,獲得第一變換輸入事件。這里,與實施例1同樣地進(jìn)行變換處理,通過對輸入事件所具有的電平值減少規(guī)定的偏置值,獲得第一變換輸入事件。其中(Last,Run)=(0、0)時,偏置值=12,(Last,Run)=(0、1)時,偏置值=6,(Last,Run)=(0、2)時,偏置值=4,這些都可以從圖19至圖22所示的可變長度編碼表獲得,將各(Last,Run)的最大電平值作為偏置值。
在步驟807中,進(jìn)行第一變換輸入事件和可變長代碼表中含有的參照事件的比較,在步驟808中根據(jù)該比較結(jié)果進(jìn)行判斷。通過判斷,在有一致的參照事件的情況下,執(zhí)行步驟810,在沒有的情況下,執(zhí)行圖8(b)中的順序。這時,在執(zhí)行了步驟810后,輸出在與該參照事件對應(yīng)的可變長代碼上附帶了預(yù)先單值地設(shè)定的控制碼和第二方式碼的編碼結(jié)果,轉(zhuǎn)移到步驟811。這里,作為控制碼,與圖22所示的ESC碼相同,是使用0000011的碼,作為第二方式碼是使用“0”的碼。
另一方面,在執(zhí)行圖8(b)中的順序的情況下,用規(guī)定的函數(shù)變換輸入事件的運(yùn)算,取得第二變換輸入事件。在本實施例3中,從運(yùn)算值減去規(guī)定的偏置值,生成有新的運(yùn)算值的第二變換輸入事件。作為這時的偏置值,是將可變長代碼表中的各(Last,Level)的最大運(yùn)算值作為偏置值。
在步驟822中,進(jìn)行第二變換輸入事件和可變長代碼表中含有的參照事件的比較,在步驟823中根據(jù)該比較結(jié)果進(jìn)行判斷。通過判斷,在有一致的參照事件的情況下,執(zhí)行步驟824,在沒有的情況下,執(zhí)行步驟825。這時,在執(zhí)行了步驟824后,輸出在與該參照事件對應(yīng)的可變長代碼上附帶了控制碼和第三方式碼的編碼結(jié)果,轉(zhuǎn)移到圖8(a)的步驟811。作為第三方式碼是使用“10”的碼。
另一方面,在執(zhí)行步驟825的情況下,對輸入事件進(jìn)行圖23所示的編碼處理,生成固定長度碼。然后,輸出控制碼和第一方式碼被附加在該固定長度碼上的編碼結(jié)果。作為第一方式碼是使用“11”的碼。
在執(zhí)行了步驟810、或圖8(b)所示的步驟824、或步驟825后,在接著的步驟811中,判斷所處理的輸入可變長代碼是否是最后的輸入可變長代碼,在是最后的情況下,在步驟812中結(jié)束編碼處理。另一方面,在不是最后的情況下,在步驟813中使j增加1后,返回步驟802,進(jìn)行與下一個輸入可變長代碼同樣的處理。這樣一直連續(xù)處理到非零系數(shù)為止。
以下,說明對通過本實施例3所示的編碼處理獲得的編碼數(shù)據(jù)進(jìn)行的解碼處理的情況。本實施例3的圖象解碼裝置的結(jié)構(gòu)與實施例1的相同,說明時使用圖4。
圖9是表示本實施例3的可變長度解碼方法的處理順序的流程圖。在本實施例3的圖象解碼處理中,只由圖4所示的可變長度解碼器408進(jìn)行處理,這一點(diǎn)與實施例1不同,所以以下根據(jù)圖7說明可變長度解碼器408的解碼處理的工作情況。
從步驟901至步驟906與圖7所示的實施例2中的步驟701~706同樣地進(jìn)行,然后,在步驟905的判斷中,在成為對象的位為“1”的情況下,執(zhí)行步驟907,再對后繼的一位進(jìn)行該位是“0”還是“1”的判斷處理。然后,若是“0”時執(zhí)行步驟908,若是“1”時執(zhí)行步驟909。
在執(zhí)行步驟908的情況下,首先利用可變長代碼表,取得與輸入的可變長代碼對應(yīng)的(Last,Run,Level),用規(guī)定的函數(shù)對其所具有的電平值進(jìn)行變換處理后,輸出解碼結(jié)果。在本實施例3的變換處理中,是將規(guī)定的(偏置值+1)加在所取得的運(yùn)算值上。
另一方面,在執(zhí)行步驟909的情況下,將輸入可變長代碼作為固定長度碼進(jìn)行解碼,使系數(shù)再生。在執(zhí)行了步驟904、步驟906、步驟908、或步驟909中任意一個步驟之后,在接著的步驟910中,判斷所處理的輸入可變長代碼是否是最后輸入可變長代碼,在是最后的情況下,在步驟911中結(jié)束解碼處理。另一方面,在不是最后的情況下,在步驟912中使j增加1后,返回步驟902,進(jìn)行與下一個輸入可變長代碼同樣的處理。這樣一直連續(xù)處理到最后的可變長代碼為止。
這樣,如果采用本實施例3的圖象編碼方法,則如圖8(a)所示,在從步驟803至步驟804的比較處理中,在可變長代碼表中不存在適當(dāng)?shù)膮⒄帐录那闆r下,也是在步驟806中對輸入事件進(jìn)行變換處理,在從步驟807至步驟808中,用所獲得的第一變換輸入事件進(jìn)行比較處理,這時在可變長代碼表中也不存在適當(dāng)?shù)膮⒄帐录那闆r下,執(zhí)行圖8(b)中的處理,在步驟821中對輸入事件進(jìn)行變換處理,在從步驟822至步驟823中,用所獲得的第二變換輸入事件進(jìn)行比較處理,所以與實施例1及2相比較,通過執(zhí)行步驟825,降低了固定長度編碼率,另外,在可變長度編碼中提高了分配短碼的可能性,可謀求在總體上提高編碼結(jié)果的壓縮率。
另外,如果采用本實施例3的圖象編碼裝置,則由于備有執(zhí)行上述編碼方法的可變長度編碼器211,所以在編碼器203中的壓縮編碼的壓縮率為高壓縮率的情況下,或者在低壓縮率的情況下,都能使用同一個可變長代碼表,能獲得壓縮率好的編碼結(jié)果。
另外,如果采用本實施例3的圖象解碼方法及圖象解碼裝置,則能對應(yīng)于如上獲得的編碼結(jié)果,進(jìn)行適當(dāng)?shù)慕獯a處理,獲得再生圖象。
實施例4本發(fā)明的實施例4的圖象編碼方法通過同時使用多個可變長代碼表進(jìn)行比較處理,增加可變長代碼表的使用機(jī)會,謀求提高編碼效率。
圖10是表示本實施例4的可變長度編碼方法中的處理順序的流程圖。另外,本實施例4的圖象編碼裝置具有與實施例1同樣的結(jié)構(gòu),說明時用圖2。
在本實施例4的圖象編碼處理中,雖然只用圖2所示的可變長度編碼器211進(jìn)行處理,但與實施例1不同,所以以下根據(jù)圖10說明可變長度編碼器211的編碼處理的工作情況。這里,在本實施例4的圖象編碼處理中,使用第一可變長代碼表和第二可變長代碼表。第一可變長代碼表與實施例1~3相同,使用從圖19至圖22所示的表。另一方面,第二可變長代碼表使用與第一表不同的表,這里是使用由電平值為10以上的項構(gòu)成的表。這樣,在本實施例4中,與電平值在10以下為主體的第一可變長代碼表不同,還使用電平值包括10以上的第二可變長代碼表,但作為第二可變長代碼表最好使用由第一可變長代碼表中不包括的參照事件構(gòu)成的表。
如果在步驟1001中開始處理,則在步驟1002中獲得第j個輸入事件。在步驟1003中,在可變長度編碼器211中進(jìn)行輸入事件和第一可變長代碼表中含有的參照事件的比較。其次在步驟1004中,判斷在上述比較處理中是否有(Last,Run,Level)一致的參照事件。若在步驟1004的判斷中有參照事件時,執(zhí)行步驟1005,若沒有時執(zhí)行步驟1006。這里,在執(zhí)行了步驟1005的情況下,輸出與該參照事件對應(yīng)的可變長代碼,轉(zhuǎn)移到下文所述的步驟1010。
另一方面,在執(zhí)行了步驟1006的情況下,在可變長度編碼器211中進(jìn)行輸入事件和第二可變長代碼表中含有的參照事件的比較。其次在步驟1007中,判斷在上述比較處理中是否有(Last,Run,Level)一致的參照事件。在步驟1007的判斷中如果有參照事件時,執(zhí)行步驟108,沒有時執(zhí)行步驟1009。這里,在執(zhí)行了步驟1008后,取得與該參照事件對應(yīng)的可變長代碼,在附加了單值設(shè)定的控制碼和第二方式碼后被輸出,轉(zhuǎn)移到下文所述的步驟1010。這里,作為控制碼,與圖22所示的ESC碼相同,是使用0000011的碼,作為第二方式碼是使用“0”的碼。
另一方面,在執(zhí)行了步驟1009的情況下,對輸入事件進(jìn)行圖23所示的編碼處理,生成固定長度碼。然后,輸出控制碼和第一方式碼被附加在該固定長度碼中的編碼結(jié)果。作為第一方式碼是使用“1”的碼。
在執(zhí)行了步驟1005、步驟1008、或步驟1009中的任意一個步驟后,在接著的步驟1010中,判斷所處理的輸入事件是否是最后的輸入事件,若是最后時,則在步驟1011中結(jié)束編碼處理。另一方面,若不是最后時,則在步驟1012中使j增加1后,返回步驟1002,進(jìn)行與下一個輸入事件同樣的處理。這樣,將處理連續(xù)地進(jìn)行到最后的非零系數(shù)為止。
以下,說明對通過本實施例4所示的編碼處理獲得的編碼數(shù)據(jù)進(jìn)行的解碼處理的情況。本實施例4的圖象解碼裝置的結(jié)構(gòu)與實施例1的相同,說明時使用圖4。
圖11是表示本實施例4的可變長度解碼方法的處理順序的流程圖。在本實施例4的圖象解碼處理中,只由圖4所示的可變長度解碼器408進(jìn)行處理,這一點(diǎn)與實施例1不同,所以以下根據(jù)圖11說明可變長度解碼器408的解碼處理的工作情況。
首先,如果在步驟1101中開始處理,則在步驟1102中作為輸入可變長代碼輸入作為第j個處理對象的量化了的變換系數(shù)的可變長代碼。在步驟1103中,判斷輸入可變長代碼是否包括控制碼,如果不包括,執(zhí)行步驟1104,如果包括,執(zhí)行步驟1105。執(zhí)行了步驟1104后,即在沒有控制碼的情況下,通過使用第一可變長代碼表,輸出與輸入可變長代碼對應(yīng)的(Last,Run,Level),轉(zhuǎn)移到下文所述的步驟1110。
在步驟1103的判斷中,如果斷定有控制碼時,在步驟1105中進(jìn)行繼該控制碼之后的下一位是“0”還是“1”的判斷處理。然后,若是“0”時,執(zhí)行步驟1106,若是“1”時,執(zhí)行步驟1108。
在執(zhí)行了步驟1106后,通過使用第二可變長代碼表,輸出與輸入可變長代碼對應(yīng)的(Last,Run,Level),轉(zhuǎn)移到下文所述的步驟1110。另一方面,在執(zhí)行了步驟1108后,將輸入可變長代碼作為固定長度碼進(jìn)行解碼處理,使系數(shù)再生。
在執(zhí)行了步驟1004、步驟1006、或步驟1008中的任意一個步驟后,在接著的步驟1110中,判斷所處理的輸入可變長代碼是否是最后的輸入可變長代碼,若是最后時,則在步驟1111中結(jié)束編碼處理。另一方面,若不是最后時,則在步驟1112中使j增加1后,返回步驟1102,進(jìn)行與下一個輸入事件同樣的處理。這樣,將處理連續(xù)地進(jìn)行到最后的可變長代碼為止。
這樣,如果采用本實施例4的圖象編碼方法,則如圖10所示,由于使用第一可變長代碼表和第二可變長代碼表,在從步驟1003至步驟1004中的比較處理中,在第一可變長代碼表中不存在適合的參照事件時,在從步驟1006至步驟1007中進(jìn)行與第二可變長代碼表的比較處理,所以通過執(zhí)行步驟1009,能降低固定編碼率,在總體上能謀求提高編碼結(jié)果的壓縮率。如果采用本實施例4,雖然需要準(zhǔn)備多個可變長代碼表,但如上所述,由于該多個表中包含的事件不同,所以能謀求提高編碼效率。
另外,如果采用本實施例4的圖象編碼裝置,則由于備有執(zhí)行上述編碼方法的可變長度編碼器211,所以在編碼器203中的壓縮編碼的壓縮率為高壓縮率的情況下,或者在低壓縮率的情況下,都能獲得壓縮率好的編碼結(jié)果。
另外,如果采用本實施例4的圖象解碼方法及圖象解碼裝置,則能對應(yīng)于如上獲得的編碼結(jié)果,進(jìn)行適當(dāng)?shù)慕獯a處理,獲得再生圖象。
另外,在本實施例4中使用兩個可變長代碼表,但也可以準(zhǔn)備任意數(shù)的可變長代碼表,用該數(shù)的方式碼來區(qū)別該多個可變長代碼表。另外,還可以用量化幅度區(qū)別多個可變長代碼表。
實施例5本發(fā)明的實施例5的圖象編碼方法是通過對成為編碼對象的事件進(jìn)行除法處理的變換處理,進(jìn)行與可變長代碼表的比較的方法。
圖12是表示本實施例5的可變長度編碼方法中的處理順序的流程圖。另外,本實施例5的圖象編碼裝置具有與實施例1同樣的結(jié)構(gòu),說明時用圖2。
在本實施例5的圖象編碼處理中,雖然只用圖2所示的可變長度編碼器211進(jìn)行處理,但與實施例1不同,所以以下根據(jù)圖12說明可變長度編碼器211的編碼處理工作的情況。如果在步驟1201中開始處理,則在步驟1202中獲得由(Last,Run,Level)構(gòu)成的第j個輸入事件。然后,在步驟1203中對輸入事件進(jìn)行除法處理的變換處理。變換處理是用根據(jù)量化幅度確定的除法算符對輸入事件所具有的電平值進(jìn)行除法運(yùn)算,取得電平的商。圖13表示量化幅度和除法算符的關(guān)系。圖13(a)是兩者關(guān)系中設(shè)定的一個例,在量化幅度從1到7的情況下,除法算符為2,量化幅度為8以上時,除法算符為1。如果這時量化幅度為8以上,意味著不進(jìn)行除法運(yùn)算。圖13(b)是兩者關(guān)系中設(shè)定的另一個例,將量化幅度這樣分成3類,根據(jù)種類確定除法算符即可。
量化處理基本上是除法處理,如果量化幅度小,量化變換系數(shù)的值就有變大的趨向,因此,生成事件時它所具有的電平值多半是變大。圖19~圖22所示的可變長代碼表是適用于壓縮率較高的系數(shù)而作成的表,多半包含電平值小的事件,所以在這種情況下該表中包含的參照事件的適當(dāng)率低,可變長度編碼率也低,使得編碼效率惡化。因此,在本實施例5中,在量化幅度小的情況下,對電平進(jìn)行除法運(yùn)算,生成電平值小的變換輸入事件,通過在比較處理中使用該變換輸入事件,來提高可變長度編碼率,而且謀求增大分配短碼的可能性。
如果取得了電平的商,則在步驟1204中對變換輸入事件的(Last,Run,Level的商)進(jìn)行與可變長代碼表中含有的參照事件的比較,在下一步驟1205中,進(jìn)行該比較結(jié)果的判斷處理。在步驟1205的判斷中在有參照事件的情況下,執(zhí)行步驟1207,在沒有的情況下,執(zhí)行步驟1206。
在執(zhí)行步驟1207時,輸出適當(dāng)?shù)膮⒄帐录目勺冮L代碼,接著在步驟1208中對電平的剩余進(jìn)行固定長度編碼,該編碼結(jié)果被作為輸入輔助碼輸出。電平的剩余的碼長由除法算符變換。例如在圖13(a)所示的設(shè)定的情況下,除法算符為2時,剩余的位長為1,除法算符為1時,剩余的位長為0。即,除法算符為1時不對剩余編碼。在執(zhí)行了步驟1206至步驟1207時,作為編碼結(jié)果而輸出可變長代碼和輸入輔助碼。
另一方面,在執(zhí)行了步驟1208的情況下,對輸入事件進(jìn)行固定長度編碼處理,生成固定長度碼。然后,輸出將控制碼附加的該固定長度碼上的編碼結(jié)果。
在執(zhí)行了步驟1207~1208、或步驟1206中的任意一個步驟后,在接著的步驟1209中判斷所處理的輸入事件是否是最后的輸入事件,若是最后時,則在步驟1210中結(jié)束編碼處理。另一方面,若不是最后時,則在步驟1211中使j增加1后,返回步驟1202,進(jìn)行與下一個輸入事件同樣的處理。這樣,將處理連續(xù)地進(jìn)行到最后的非零系數(shù)為止。以下,說明對通過本實施例5所示的編碼處理獲得的編碼數(shù)據(jù)進(jìn)行的解碼處理的情況。本實施例5的圖象解碼裝置的結(jié)構(gòu)與實施例1的相同,說明時使用圖4。
圖14是表示本實施例5的可變長度解碼方法的處理順序的流程圖。在本實施例5的圖象解碼處理中,只由圖4所示的可變長度解碼器408進(jìn)行處理,這一點(diǎn)與實施例1不同,所以以下根據(jù)圖14說明可變長度解碼器408的解碼處理的工作情況。
首先,如果在步驟1401中開始處理,則在步驟1402中作為輸入可變長代碼輸入作為第j個處理對象的量化了的變換系數(shù)的可變長代碼。這里,在本實施例5的圖象編碼處理中,如上所述能獲得包含輸入輔助碼的編碼結(jié)果,所以該輸入輔助碼也和可變長代碼一起作為處理對象被輸入。在步驟1403中,判斷輸入可變長代碼是否包括控制碼,如果包括,執(zhí)行步驟1404,如果不包括,執(zhí)行步驟1405。執(zhí)行了步驟1404后,即在有控制碼的情況下,將輸入可變長代碼作為固定長度碼進(jìn)行解碼,使系數(shù)再生并輸出后,轉(zhuǎn)移到下文所述的步驟1408。
另一方面,執(zhí)行了步驟1405后,即在沒有控制碼的情況下,通過使用第一可變長代碼表,取得與輸入可變長代碼對應(yīng)的(Last,Run,Level),然后執(zhí)行步驟1406,對所取得的電平的值進(jìn)行乘以規(guī)定值的變換處理。規(guī)定的值是根據(jù)量化幅度規(guī)定的值,這里是對應(yīng)于編碼處理,采用圖13所示的值。然后,在步驟1407中通過對輸入輔助碼進(jìn)行固定長度解碼,取得電平的剩余,通過對在步驟1406中的變換處理獲得的積進(jìn)行加法運(yùn)算,取得正的電平值,使用該電平值的(Last,Run,Level)被作為解碼結(jié)果輸出。
在執(zhí)行了步驟1404、或步驟1405~1407中的任意一個步驟后,在接著的步驟1408中判斷所處理的輸入可變長代碼是否是最后的輸入可變長代碼,若是最后時,則在步驟1409中結(jié)束編碼處理。另一方面,若不是最后時,則在步驟1410中使j增加1后,返回步驟1402,進(jìn)行與下一個輸入可變長代碼同樣的處理。這樣,將處理連續(xù)地進(jìn)行到最后的可變長代碼為止。
這樣如果采用本實施例5的圖象編碼方法,則如圖12中的步驟1203所示,使用根據(jù)量化幅度規(guī)定的數(shù),對作為處理對象的輸入事件所具有的電平值進(jìn)行除法運(yùn)算的變換處理,在步驟1204中用進(jìn)行過該變換處理的變換輸入事件進(jìn)行比較處理,所以能提高與可變長代碼表中包含的參照事件的一致率,降低在步驟1206中進(jìn)行的固定長度編碼率,另外,通過使用變換輸入事件,能在可變長度編碼中提高分配短碼的可能性,能謀求提高編碼效率。
另外,如果采用本實施例5的圖象編碼裝置,則由于備有執(zhí)行上述這樣的編碼方法的可變長度編碼器211,所以在編碼器203中的壓縮編碼的壓縮率為高壓縮率的情況下,或者在低壓縮率的情況下,都能使用同一個可變長代碼表,能獲得壓縮率好的編碼結(jié)果。
另外,如果采用本實施例5的圖象解碼方法及圖象解碼裝置,則能對應(yīng)于如上獲得的編碼結(jié)果,進(jìn)行適當(dāng)?shù)慕獯a處理,獲得再生圖象。
另外,在本實施例5中,說明了對事件所具有的電平進(jìn)行變換處理的情況,但也可以不對電平,而是對運(yùn)算進(jìn)行變換處理。
實施例6本發(fā)明的實施例6的圖象編碼方法是將對輸入事件進(jìn)行變換處理代之以對參照事件進(jìn)行變換處理并進(jìn)行比較的方法。
圖15是表示本實施例6的可變長度編碼方法中的處理順序的流程圖。另外,本實施例6的圖象編碼裝置具有與實施例1同樣的結(jié)構(gòu),說明時用圖2。
在本實施例6的圖象編碼處理中,雖然只用圖2所示的可變長度編碼器211進(jìn)行處理,但與實施例1不同,所以以下根據(jù)圖15說明可變長度編碼器211的編碼處理工作的情況。如果在步驟1501中開始處理,則在步驟1502中獲得由(Last,Run,Level)構(gòu)成的第j個輸入事件。另外,還輸入在量化處理中使用的量化幅度。然后,在步驟1503中從可變長代碼表取得第j個參照事件,在步驟1504中對該參照事件進(jìn)行變換處理,生成變換參照事件。
在本實施例6中,該變換處理的方法是將根據(jù)在步驟1502中輸入的量化幅度設(shè)定的偏置值加到參照事件所具有的電平值上來進(jìn)行變換。這里,這樣進(jìn)行設(shè)定量化幅度為1或2時,偏置值=5,量化幅度為3或4時,偏置值=4,量化幅度為5或6時,偏置值=3,量化幅度為7或8時,偏置值=2,量化幅度為9或10時,偏置值=1,量化幅度為11以上時,偏置值=0。例如,成為編碼對象的事件為(Last,Run,Level)=(0、1、6)時,在對參照事件進(jìn)行變換處理的情況下,有相當(dāng)于圖19所示的參照事件,使用對應(yīng)的碼,所以編碼結(jié)果為13位。可是,量化幅度為4時,在以該事件為對象的情況下,對全部參照事件都進(jìn)行電平值加4的變換處理,所以變成使用與圖19所示的參照事件(0、1、2)對應(yīng)的可變長代碼,這時變?yōu)?位,與進(jìn)行上述的變換處理時相比,能節(jié)省6位。這樣,將偏置值加在參照事件的電平上,等效于從成為編碼對象的事件(Last,Run,Level)的電平減去偏置值,再與可變長代碼表中的各項進(jìn)行比較的方法。
如在實施例5中所述,如果量化幅度小,則量化了的系數(shù)值有變大的趨向,所以電平值大的事件出現(xiàn)的頻度增大。與此不同,圖19至圖22所示的可變長代碼表適合于壓縮率高的系數(shù),多半含有電平值小的事件。因此,通過將偏置值加在參照事件所具有的電平值上,與對輸入事件所具有的電平值進(jìn)行減法處理的情況(實施例1等)相同,能提高用短碼進(jìn)行的可變長度編碼率,能謀求提高壓縮率。
在步驟1505中,進(jìn)行在步驟1504中的比較結(jié)果的判斷處理。在步驟1505的判斷中在一致的情況下,執(zhí)行步驟1506后,輸出與第i個參照事件對應(yīng)的可變長代碼,然后轉(zhuǎn)移到下文所述的步驟1509。另一方面,在不一致的情況下,執(zhí)行步驟1507。
在步驟1507中,判斷第i個參照事件是否是可變長代碼表中包含的最后的參照事件,在是最后的參照事件的情況下,執(zhí)行步驟1508。在不是最后的參照事件的情況下,在步驟1502中使i增加1后,返回步驟1503,反復(fù)進(jìn)行到在步驟1507中的判斷。
通過從步驟1503至步驟1507的處理,反復(fù)進(jìn)行第j個輸入事件和可變長代碼表中含有的參照事件的比較,直至在步驟1505中斷定為一致,或在步驟1507中斷定為最后為止。即,一直比較到進(jìn)行可變長度編碼或比較到可變長代碼表的最后結(jié)束。
在步驟1507中,在斷定為最后的情況下,即在第j個輸入事件和可變長代碼表中的參照事件的比較結(jié)束了的情況下,不進(jìn)行可變長度編碼,在步驟1508中對輸入事件進(jìn)行固定長度編碼,控制碼被附加在編碼結(jié)果上輸出后,轉(zhuǎn)移到步驟1509。
在繼步驟1506或步驟1508之后執(zhí)行的步驟1509中,判斷所處理的輸入事件是否是最后的輸入事件,若是最后時,則在步驟1510中結(jié)束編碼處理。另一方面,若不是最后時,則在步驟1511中使j增加1后,返回步驟1502,進(jìn)行與下一個輸入事件同樣的處理。這樣,將處理連續(xù)地進(jìn)行到最后的非零系數(shù)為止。
圖16是表示本發(fā)明的實施例6的圖象編碼裝置中使用的可變長度編碼器(圖2中的211)的內(nèi)部結(jié)構(gòu)框圖。如圖所示,該可變長度編碼器備有可變長代碼表1601、電平變換器1602、比較器1603、固定長度編碼器1604、以及開關(guān)1605,輸入輸入事件和量化幅度,輸出編碼結(jié)果。
可變長代碼表1601是圖19~圖22所示的表。電平變換器1602輸入量化幅度和參照事件,與量化幅度對應(yīng)地變換參照事件所具有的電平值,生成變換參照事件。比較器1603進(jìn)行輸入事件和變換參照事件的比較處理,對應(yīng)于比較結(jié)果輸出控制信號。固定長度編碼器1604在輸入了輸入事件時,對它進(jìn)行固定編碼處理,輸出編碼結(jié)果。開關(guān)1605對應(yīng)于來自比較器1603的輸出進(jìn)行切換,將來自可變長代碼表1601的輸出、或來自固定長度編碼器1604的輸出作為編碼結(jié)果輸出。
以下對應(yīng)于圖15中的流程,說明這樣構(gòu)成的可變長度編碼器的工作情況。在圖15所示的流程的步驟1502中,如果量化幅度和輸入事件(第j個)被輸入該可變長度編碼器(圖2中的211)中,量化幅度由信號線1611輸入電平變換器1602,另外輸入事件由信號線1612輸入比較器1603。在圖15所示的流程的步驟1503中,電平變換器1602由信號線1613從可變長代碼表取得參照事件(第i個),用輸入的量化幅度對該參照事件所具有的電平值進(jìn)行變換處理,將所獲得的變換參照事件輸出給比較器1603。
在圖15所示的流程的步驟1505中,由比較器1603進(jìn)行比較處理和判斷處理。比較器1603進(jìn)行輸入的輸入事件和變換參照事件的比較處理,判斷是否一致。在斷定為一致的情況下,比較器1603經(jīng)由信號線1615將控制信號送給可變長代碼表1601,以便輸出與該第i個參照事件對應(yīng)的碼,同時通過信號線1617將控制信號送給開關(guān)1605,以使來自開關(guān)1605的輸出是來自可變長代碼表1601的碼。于是,在步驟1505中的判斷結(jié)果為“一致”的情況下,在圖15所示的流程的步驟1506中,由開關(guān)1605的輸出信號線1620輸出可變長代碼。
另一方面,在比較器1603的比較處理中,在不一致的情況下,利用經(jīng)由信號線1615的控制信號,下一個(第i+1個)參照事件從可變長代碼表1601被輸入電平變換器1602。在圖15的流程中,在步驟1512中i增加后,執(zhí)行從步驟1503開始的反復(fù)過程。
在步驟1507的判斷中,在確認(rèn)了比較處理已進(jìn)行到了可變長代碼表的最后而結(jié)束的情況下,比較器1603利用信號線1618將該輸入事件(第j個)輸出給固定長度編碼器1604,同時通過信號線1617還將控制信號送給開關(guān)1605,以便使來自開關(guān)1605的輸出是來自固定長度編碼器1604的碼。
在圖15所示的流程的步驟1508中,固定長度編碼器1604對所輸入的輸入事件進(jìn)行編碼處理,將所獲得的編碼結(jié)果通過信號線1619輸出給開關(guān)1605。利用來自比較器1603的控制信號,固定長度碼從開關(guān)1605經(jīng)過信號線1620輸出。
在從信號線1620輸出后,從信號線1612輸入下一個輸入事件,反復(fù)進(jìn)行對圖15的流程中的輸入事件的處理。
這樣,進(jìn)行本發(fā)明的實施例6的圖象編碼,而在圖4所示的圖象解碼裝置中對通過這樣的圖象編碼獲得的編碼數(shù)據(jù)進(jìn)行解碼處理。在本實施例6的圖象解碼處理中,只由圖4所示的可變長度解碼器408進(jìn)行處理,這一點(diǎn)與實施例1不同,所以以下根據(jù)圖17說明可變長度解碼器408的解碼處理的工作情況。
如圖17所示,該可變長度解碼器備有可變長代碼表1701、比較器1702、電平逆變換器1703、固定長度解碼器1704、以及開關(guān)1705,輸入輸入可變長代碼和量化幅度,輸出解碼處理的再生結(jié)果。
可變長代碼表1701是圖19~圖22所示的表。比較器1702進(jìn)行輸入可變長代碼和參照可變長代碼的比較處理,對應(yīng)于比較結(jié)果輸出控制信號。電平逆變換器1703輸入量化幅度和參照事件,對應(yīng)于量化幅度變換參照事件所具有的電平值,生成變換參照事件。固定長度解碼器1704在輸入了輸入可變長代碼后,對它進(jìn)行固定長度解碼處理,輸出解碼結(jié)果。開關(guān)1705對應(yīng)于來自比較器1702的輸出進(jìn)行切換,作為再生結(jié)果輸出來自可變長代碼表1701的輸出或來自固定長度解碼器1704的輸出。
以下說明這樣構(gòu)成的可變長度解碼器的工作情況。如果量化幅度和輸入可變長代碼被輸入該可變長度解碼器(圖4中的408),則量化幅度由信號線1711輸入電平逆變換器1703,另外輸入的可變長代碼由信號線1712輸入比較器1702。比較器1702經(jīng)由信號線1713從可變長代碼表1701取得參照可變長代碼,進(jìn)行輸入可變長代碼和參照可變長代碼的比較。
在通過比較斷定為一致的情況下,比較器1702經(jīng)由信號線1712將控制信號送給可變長代碼表1701,以便輸出對應(yīng)于該參照可變長代碼的參照事件,同時通過信號線1714還將控制信號送給開關(guān)1705,以便使來自開關(guān)1705的輸出是來自可變長代碼表1701的碼。
參照事件從可變長代碼表經(jīng)由信號線1715被輸入電平逆變換器1703,得到變換處理。電平逆變換器1703對應(yīng)于參照事件所具有的電平,根據(jù)量化幅度,進(jìn)行編碼時所進(jìn)行的變換處理的逆處理。在本實施例6中,將對應(yīng)于量化幅度規(guī)定的偏置值加到參照事件所具有的電平值中。如下使用量化幅度為1或2時,偏置值=5,量化幅度為3或4時,偏置值=4,量化幅度為5或6時,偏置值=3,量化幅度為7或8時,偏置值=2,量化幅度為9或10時,偏置值=1,量化幅度為11以上時,偏置值=0。例如,假定輸入可變長代碼為“0101000”,作為參照事件從圖19所示的表取得(Last,Run,Level)=(0、1、2)。在輸入了該參照事件的電平逆變換器1703中,假定所輸入的量化幅度為4,便在參照事件所具有的電平上加4,將所獲得的結(jié)果(0、1、6)由信號線1716輸出給開關(guān)1705。然后,對應(yīng)于來自比較器1702的控制信號,開關(guān)1705將該結(jié)果作為再生結(jié)果由信號線1720輸出。因此,在斷定為“一致”的情況下,由開關(guān)1705的輸出信號線1720輸出可變長代碼。
另一方面,在比較器1702的比較處理中,在未找到一致的參照可變長代碼的情況下,比較器1703將該輸入可變長代碼由信號線1718輸出給固定長度編碼器1704,同時將通過信號線1717的控制信號送給開關(guān)1705,以便使來自開關(guān)1705的輸出是來自固定長度編碼器1704的碼。因此,由開關(guān)1705的輸出信號線1720輸出固定長度編碼的結(jié)果。
這樣,如果采用本實施例6的圖象編碼方法,通過對可變長度編碼表中所具有的參照事件進(jìn)行圖15中的步驟1502所示的變換處理,與對輸入事件進(jìn)行同等的變換處理的實施例1等一樣,能提高可變長度編碼的實施率、以及短碼的分配率,能謀求提高編碼效率。
另外,如果采用本實施例6的圖象編碼裝置,則由于備有具有圖16所示的內(nèi)部結(jié)構(gòu)的執(zhí)行上述這樣的編碼方法的可變長度編碼器211,所以在編碼器203中的壓縮編碼的壓縮率為高壓縮率的情況下,或者在低壓縮率的情況下,都能使用同一個可變長代碼表,能獲得壓縮率好的編碼結(jié)果。
另外,如果采用本實施例6的圖象解碼方法及圖象解碼裝置,則能對應(yīng)于如上獲得的編碼結(jié)果,進(jìn)行適當(dāng)?shù)慕獯a處理,獲得再生圖象。
另外,在本實施例6中,作為對參照事件的變換處理,雖然說明了采用偏置值的加法運(yùn)算的方法,但不受此限,也可以采用其它的函數(shù)。例如,可以采用根據(jù)量化幅度改變加在電平值上的倍數(shù),或采用二次函數(shù),或變更電平的動態(tài)范圍的方法,也能獲得上述的效率。
另外在實施例1等中,說明了對輸入事件的變換處理可以采用進(jìn)行對運(yùn)算值的變換處理的方來代替對參照事件的電平的變換處理。
以上說明了本發(fā)明的實施例,但任何一個實施例中用流程圖示出的處理順序都是一個例子,也可以用其它的處理順序執(zhí)行同樣的編碼解碼方法。
另外,本發(fā)明的實施例1~6所示的圖象編碼裝置及圖象解碼裝置將進(jìn)行各個實施例所示的圖象編碼方法或圖象解碼方法的圖象編碼程序或圖象解碼程序記錄在記錄媒體上,通過在有個人計算機(jī)、工作站等的計算機(jī)系統(tǒng)中執(zhí)行該記錄的程序?qū)崿F(xiàn)圖象的編碼和解碼。作為記錄媒體可以使用軟盤、CD-ROM等光盤等能記錄程序的記錄媒體。
如上所述,如果采用本發(fā)明的圖象編碼方法及圖象編碼裝置,將通過對數(shù)字圖象數(shù)據(jù)進(jìn)行DCT、波形編碼等的處理而壓縮編碼后的數(shù)據(jù)作為處理對象,對于其壓縮度不同范圍的對象靈活使用一個可變長代碼表,就能進(jìn)行壓縮率高的編碼處理。
另外,如果采用本發(fā)明的圖象解碼方法及圖象解碼裝置,對上述那樣有效的編碼處理過的編碼結(jié)果適當(dāng)?shù)剡M(jìn)行解碼處理,能獲得再生圖象。
另外,如果采用本發(fā)明的圖象編碼程序記錄媒體及圖象解碼程序記錄媒體,則通過在計算機(jī)系統(tǒng)中執(zhí)行該記錄的程序,靈活使用裝置資源,能實現(xiàn)能獲得高壓縮率的編碼結(jié)果的圖象編碼裝置、以及能適當(dāng)?shù)靥幚磉@樣的編碼結(jié)果的圖象解碼裝置。
權(quán)利要求
1.一種圖像解碼方法,抽取出包含在壓縮編碼數(shù)據(jù)中的可變長代碼,利用參照可變長代碼與參照事件相對應(yīng)的可變長代碼表,求出對應(yīng)于所述可變長代碼的事件并根據(jù)該事件求出輸出變換系數(shù),其特征在于在所述可變長代碼不包含控制代碼的情況下,利用所述可變長代碼表獲取對應(yīng)于所述可變長代碼的事件,在所述可變長代碼包含所述控制代碼、且所述控制代碼為第2控制代碼的情況下,利用所述可變長代碼表獲得對應(yīng)于所述可變長代碼的事件,并利用預(yù)定函數(shù)對獲取的該事件的Level值進(jìn)行變換以求出變換事件,以及在所述可變長代碼包含所述控制代碼、且所述控制代碼為第1控制代碼的情況下,對所述可變長代碼進(jìn)行定長解碼處理以獲得對應(yīng)于所述可變長代碼的事件。
2.一種圖像解碼方法,抽取出包含在壓縮編碼數(shù)據(jù)中的可變長代碼,利用參照可變長代碼與參照事件相對應(yīng)的可變長代碼表,求出對應(yīng)于所述可變長代碼的事件并根據(jù)該事件求出輸出變換系數(shù),其特征在于判斷所述可變長代碼是否包含控制代碼;在所述可變長代碼不包含控制代碼的情況下,利用所述可變長代碼表獲得對應(yīng)于所述可變長代碼的事件,在判斷出所述可變長代碼包含所述控制代碼、且所述控制代碼為第2控制代碼的情況下,利用所述可變長代碼表獲得對應(yīng)于所述可變長代碼的事件,并利用預(yù)定函數(shù)對獲得的該事件的Level值進(jìn)行變換以求出變換事件,以及在判斷出所述可變長代碼包含所述控制代碼、且所述控制代碼為第1控制代碼的情況下,對所述可變長代碼進(jìn)行定長解碼處理以獲得對應(yīng)于所述可變長代碼的事件。
全文摘要
本發(fā)明提供一種圖像解碼方法,抽取出包含在壓縮編碼數(shù)據(jù)中的可變長代碼,利用參照可變長代碼與參照事件相對應(yīng)的可變長代碼表,求出對應(yīng)于所述可變長代碼的事件并根據(jù)該事件求出輸出變換系數(shù),其中在所述可變長代碼不包含控制代碼的情況下,利用所述可變長代碼表獲取對應(yīng)于所述可變長代碼的事件;在所述可變長代碼包含所述控制代碼且所述控制代碼為第2控制代碼的情況下,利用所述可變長代碼表獲得對應(yīng)于所述可變長代碼的事件,并利用預(yù)定函數(shù)對獲取的該事件的Level值進(jìn)行變換以求出變換事件;在所述可變長代碼包含所述控制代碼且所述控制代碼為第1控制代碼的情況下,對所述可變長代碼進(jìn)行定長譯碼處理以獲得對應(yīng)于所述可變長代碼的事件。
文檔編號H03M7/48GK1681327SQ20051005426
公開日2005年10月12日 申請日期1997年11月6日 優(yōu)先權(quán)日1996年11月6日
發(fā)明者文仲丞 申請人:松下電器產(chǎn)業(yè)株式會社
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1