專利名稱:動態(tài)圖像編碼方法及動態(tài)圖像解碼方法
技術(shù)領(lǐng)域:
本發(fā)明涉及以塊為單位編碼輸入圖像并生成編碼流的動態(tài)圖像編碼方法,以及涉及以塊為單位解碼編碼流的動態(tài)圖像解碼方法。
背景技術(shù):
動態(tài)圖像編碼方法及動態(tài)圖像解碼方法中,例如有支持自適應(yīng)塊變換的ISO/IEC14496-10(MPEG-4AVC)等方法。自適應(yīng)塊變換是指,在編碼動態(tài)圖像時,在動態(tài)圖像序列中例如以宏塊為單位利用不同變換塊大小,來進行正交變換的方法(例如參照非專利文獻1、非專利文獻2)。據(jù)此,與只利用一個變換塊大小的情況相比,可以減少編碼失真,能提高編碼畫質(zhì)。適當(dāng)?shù)淖儞Q塊大小依從動態(tài)圖像的大小、圖片中的運動內(nèi)容等,而在某種情況下,就可以只用一個變換塊大小。在此情況下,在序列的開頭或者圖片的開頭設(shè)置禁止利用多個變換塊大小(即,固定變換塊大小)的標(biāo)志,并只有在標(biāo)志為ON的情況下,才將多個變換塊大小轉(zhuǎn)換。
現(xiàn)有技術(shù)中,在通知用于宏塊的變換塊大小時,有默認方法及明示方法這兩種通知方法。默認方法為了決定變換塊大小利用運動補償塊大小。例如,在運動補償塊大小大于8×8或等于8×8的情況下,變換塊大小就為8×8。而在運動補償塊大小小于8×8的情況下,變換塊大小就為4×4。
根據(jù)此方法,由于不按宏塊發(fā)送表示變換塊大小的附加語法要素,因此不用將表示變換塊大小的信息編碼,可以節(jié)約表示變換塊大小的比特數(shù)。然而,變換塊大小不一定與運動補償塊大小相關(guān)聯(lián),與按宏塊分別利用不同變換塊大小的情況相比,此方法并不一定能選擇適當(dāng)?shù)淖儞Q塊大小。
另外一個方法是明示方法,按宏塊發(fā)送表示宏塊中的變換塊大小的附加信息。例如,按與大于8×8或者等于8×8的運動補償塊相對應(yīng)的宏塊,可以具有標(biāo)志。該標(biāo)志決定變換塊大小是否是8×8或者4×4。在運動補償塊大小小于8×8的情況下,變換塊大小就固定為4×4。根據(jù)此方法,由于在同一圖片中,編碼器可以對宏塊明確設(shè)定變換塊大小,因此總能選擇最佳的變換塊大小。然而,存在這樣一個課題,即,由于按宏塊必需編碼變換塊大小,因此為了編碼變換塊大小,須要補充比特數(shù)。
非專利文獻1ISO/IEC 14496-10 Advanced Video Coding FirstEdition2003年12月1日(H.264/AVC標(biāo)準(zhǔn))非專利文獻2Draft Text of H.264/AVC Fidelity Range ExtensionsAmendmentJVT-L047 2004年7月(H.264/AVC Amd標(biāo)準(zhǔn)草案)上述現(xiàn)有技術(shù)存在以下應(yīng)該解決的課題。關(guān)于默認方法,應(yīng)該解決的課題是,不能在同一圖片中靈活利用不同變換塊大小來提高編碼圖像的畫質(zhì)。另外,關(guān)于明示方法,其課題是,按宏塊,必需對利用自適應(yīng)塊變換的各圖片分別通知附加信息,且其比特數(shù)較多。尤其是,在以高壓縮率(低比特率)被編碼的動態(tài)圖像序列的圖片中,往往因該附加信息而降低編碼效率。對于這種圖片,也可以完全禁止利用自適應(yīng)塊變換,并不按宏塊發(fā)送此附加信息。然而,當(dāng)禁止適當(dāng)?shù)剞D(zhuǎn)換變換塊大小時,按圖片的不同,有可能導(dǎo)致降低圖片的編碼畫質(zhì)。
發(fā)明內(nèi)容
于是,本發(fā)明的目的在于,鑒于上述情況,提供一種動態(tài)圖像編碼方法及動態(tài)圖像解碼方法,能夠提高編碼效率,且能提高動態(tài)圖像的質(zhì)量。
為了達到上述目的,本發(fā)明涉及的動態(tài)圖像編碼方法以塊為單位編碼輸入圖像,并生成編碼流,其特征在于決定在對對象塊進行正交變換時的變換塊大小的通知方法;制作表示上述通知方法的自適應(yīng)塊變換模式;在上述編碼流附加上述自適應(yīng)塊變換模式。
在這里,優(yōu)選的是,決定默認方法及明示方法中的任一個方法作為上述通知方法,該默認方法是指,根據(jù)有關(guān)上述對象塊的信息來決定上述變換塊大小的方法,上述明示方法是指,以所定的塊為單位附加表示上述變換塊大小的變換大小標(biāo)志的方法。
為此,由于能夠選擇并利用默認方法或明示方法作為變換塊大小的通知方法,因此例如按序列、或按圖片、或按宏塊系列,可以靈活地轉(zhuǎn)換默認方法和明示方法。因此,能夠高效率地利用自適應(yīng)塊變換,提高編碼效率,且能提高動態(tài)圖像的質(zhì)量。
并且,上述默認方法,可以根據(jù)運動補償塊大小決定上述變換塊大小,該運動補償塊大小用于上述對象塊的運動補償。為此,例如在運動補償塊大小為大的情況下,可以選擇大的變換塊大小,而在運動補償塊大小為小的情況下,可以選擇小的變換塊大小。
并且,上述默認方法,可以根據(jù)位于上述對象塊附近的塊的運動矢量來決定上述變換塊大小。為此,例如在附近塊的運動矢量間有差異的情況下,對象塊包含復(fù)雜的運動(方向不同),因此通過選擇小的變換塊大小,從而可以忠實編碼運動補償誤差。
并且,上述默認方法,可以根據(jù)量化參數(shù)決定上述變換塊大小,該量化參數(shù)用于上述對象塊的量化。為此,例如當(dāng)量化參數(shù)大(量化步驟大)時,在很多情況下要減少比特數(shù)來提高壓縮率,因此通過選擇大的變換塊大小,從而可以減少編碼后的比特數(shù)。
并且,本發(fā)明涉及的動態(tài)圖像解碼方法,以塊為單位解碼編碼流,其特征在于從上述編碼流獲得表示通知方法的自適應(yīng)塊變換模式,該通知方法是指,在對對象塊進行正交變換時的變換塊大小的通知方法;根據(jù)上述自適應(yīng)塊變換模式確定上述通知方法;根據(jù)所確定的上述通知方法決定上述變換塊大??;以所決定的上述變換塊大小來對上述對象塊進行反正交變換并進行解碼。
在這里,優(yōu)選的是,上述自適應(yīng)塊變換模式表示默認方法及明示方法中的任一個方法作為上述通知方法,該默認方法是根據(jù)有關(guān)上述對象塊的信息來決定上述變換塊大小的方法,上述明示方法是以所定的塊為單位添加表示上述變換塊大小的變換大小標(biāo)志的方法。
為此,從編碼流,能夠確定變換塊大小的通知方法,并能決定變換塊大小,該編碼流是例如按序列、或按圖片、或按宏塊系列選擇并利用了默認方法或者明示方法的編碼流。
再者,本發(fā)明不僅能實現(xiàn)為這種動態(tài)圖像編碼方法及動態(tài)圖像解碼方法,還能實現(xiàn)為將這種方法包括的特征性步驟作為單元的動態(tài)圖像編碼裝置及動態(tài)圖像解碼裝置,且能實現(xiàn)為使計算機執(zhí)行這些步驟的程序。并且,通過CD-ROM等記錄媒體、互聯(lián)網(wǎng)等傳輸媒體,當(dāng)然能夠廣泛配送這種程序。
根據(jù)本發(fā)明涉及的動態(tài)圖像編碼方法及動態(tài)圖像解碼方法,能夠提高編碼效率,且能提高動態(tài)圖像的質(zhì)量。
圖1是一種方框圖,表示本發(fā)明的實施方式涉及的動態(tài)圖像編碼裝置的結(jié)構(gòu)。
圖2是一種流程圖,表示在動態(tài)圖像編碼裝置決定變換塊大小的通知方法時的工作流程。
圖3是一種流程圖,表示根據(jù)運動補償塊大小決定變換塊大小時的基本工作流程。
圖4是一種流程圖,表示根據(jù)運動補償塊大小決定變換塊大小時的具體例子的工作流程。
圖5是一種流程圖,表示根據(jù)運動補償塊大小決定變換塊大小時的其他具體例子的工作流程。
圖6是一種流程圖,表示決定變換塊大小時的基本工作流程。
圖7是一種流程圖,表示決定變換塊大小時的具體例子的工作流程。
圖8是一種流程圖,表示決定變換塊大小時的其他具體例子的工作流程。
圖9是一種示意圖,表示編碼流的ABT標(biāo)志、ABT模式、以及變換大小標(biāo)志的位置。
圖10(a)是一種示意圖,說明附近塊的運動矢量;圖10(b)是一種流程圖,表示根據(jù)附近塊的運動矢量決定變換塊大小時的工作流程。
圖11是一種流程圖,表示根據(jù)量化參數(shù)決定變換塊大小時的工作流程。
圖12是一種方框圖,表示本發(fā)明的實施方式涉及的動態(tài)圖像解碼裝置的結(jié)構(gòu)。
圖13是一種流程圖,表示在動態(tài)圖像解碼裝置確定變換塊大小的通知方法時的工作流程。
圖14是一種流程圖,表示根據(jù)變換大小標(biāo)志決定變換塊大小時的基本工作流程。
圖15是一種流程圖,表示根據(jù)變換大小標(biāo)志決定變換塊大小時的具體例子的工作流程。
圖16是一種流程圖,表示根據(jù)變換大小標(biāo)志決定變換塊大小時的其他具體例子的工作流程。
符號說明100動態(tài)圖像編碼裝置101運動檢測部102運動補償部103差分運算部104正交變換部105量化部
106逆量化部107反正交變換部108加法部109圖片存儲器110可變長編碼部111模式?jīng)Q定部200動態(tài)圖像解碼裝置201可變長解碼部202反量化部203反正交變換部204運動補償部205加法部206圖片存儲器207模式?jīng)Q定部具體實施方式
以下,根據(jù)
本發(fā)明的實施方式。
圖1是一種方框圖,表示本發(fā)明的實施方式涉及的動態(tài)圖像編碼裝置的結(jié)構(gòu)。
動態(tài)圖像編碼裝置100是以塊為單位編碼輸入圖像并生成編碼流的裝置,如圖1所示,包括運動檢測部101、運動補償部102、差分運算部103、正交變換部104、量化部105、反量化部106、反正交變換部107、加法部108、圖片存儲器109、可變長編碼部110以及模式?jīng)Q定部111。
輸入圖像被輸入到運動檢測部101和差分運算部103。運動檢測部101將存儲在圖片存儲器109的解碼圖像作為搜索對象,檢測與輸入圖像最近似的圖像區(qū)域,決定表示其位置的運動矢量。該運動矢量的檢測是以規(guī)定的運動補償塊大小為單位來進行的。運動補償部102利用由運動檢測部101所檢測的運動矢量,從存儲在圖片存儲器109的解碼圖像中獲得最適于預(yù)測圖像的圖像區(qū)域,生成預(yù)測圖像。
模式?jīng)Q定部111決定是否最好要進行自適應(yīng)塊變換,該自適應(yīng)塊變換是一種變換方法,以規(guī)定的塊(本實施方式中指宏塊)為單位,從多個變換塊大小中選擇一個變換塊大小,來進行正交變換。并且,在利用自適應(yīng)塊變換的情況下,模式?jīng)Q定部111決定在對對象塊進行正交變換時的變換塊大小的通知方法(以下也稱模式)。即,模式?jīng)Q定部111決定以下通知方法中的任一個通知方法默認方法(以下也稱隱含模式implicit mode),該方法是指,根據(jù)用于對象塊的運動補償?shù)倪\動補償塊大小來決定變換塊大小的方法;明示方法(以下也稱外顯模式explicit mode),該方法是指,以宏塊為單位附加表示變換塊大小的變換大小標(biāo)志的方法。并且,模式?jīng)Q定部111將表示是否利用自適應(yīng)塊變換的自適應(yīng)塊變換標(biāo)志(以下也稱ABT標(biāo)志adaptive block flag)以及表示所決定的通知方法是隱含模式還是外顯模式的自適應(yīng)塊變換模式(以下也稱ABT模式)輸出到可變長編碼部110。
再者,按序列、或按圖片、或按宏塊系列,也進行決定通知方法的處理。ABT標(biāo)志及ABT模式要在比宏塊更高的層次中被存儲,該宏塊包括在序列參數(shù)集、序列頭、圖片參數(shù)集、圖片頭或者宏塊系列頭中。
另一方面,收到輸入圖像的差分運算部103計算輸入圖像和預(yù)測圖像間的差分值,輸出到正交變換部104。正交變換部104以所決定的變換塊大小來將差分值變換為頻率系數(shù),并輸出到量化部105,該所決定的變換塊大小是根據(jù)由模式?jīng)Q定部111所決定的通知方法來決定的。量化部105將所輸入的頻率系數(shù)量化,將量化值輸出到可變長編碼部110。
反量化部106對所輸入的量化值進行反量化來將它復(fù)原到頻率系數(shù),輸出到反正交變換部107。反正交變換部107將頻率系數(shù)反變頻到像素差分值,輸出到加法部108。加法部108將像素差分值與從運動補償部102所輸出的預(yù)測圖像相加,來生成解碼圖像??勺冮L編碼部110對量化值、運動矢量、變換大小標(biāo)志、ABT標(biāo)志以及ABT模式等進行可變長編碼,輸出編碼流。
下面,說明具有上述結(jié)構(gòu)的動態(tài)圖像編碼裝置100的工作。
圖2是一種流程圖,表示動態(tài)圖像編碼裝置100決定模式時的工作流程。
模式?jīng)Q定部111決定是否最好要利用多個變換塊大小來進行正交變換(步驟S101)。在這里,在決定為最好不利用多個變換塊大小來進行正交變換的情況下,即在決定為不利用自適應(yīng)塊變換的情況下(步驟S101的“否”),模式?jīng)Q定部111將ABT標(biāo)志設(shè)定為“0”(步驟S102)。并且,模式?jīng)Q定部111將ABT標(biāo)志輸出到可變長編碼部110(步驟S103)。在此情況下,因不利用多個變換塊大小,而固定預(yù)先所定的一個變換塊大小來進行正交變換。例如,在圖片中,幾乎所有的宏塊的變換塊大小都為一定的情況下,因不需要利用自適應(yīng)塊變換,而將ABT標(biāo)志設(shè)定為“0”。
而在決定為最好要利用多個變換塊大小來進行正交變換的情況下,即決定為要利用自適應(yīng)塊變換的情況下(步驟S101的“是”),模式?jīng)Q定部111將ABT標(biāo)志設(shè)定為“1”(步驟S104)。然后,模式?jīng)Q定部111判定,作為宏塊中的變換塊大小的通知方法,默認方法是否比明示方法更好,該默認方法是根據(jù)用于對象宏塊的運動補償?shù)倪\動補償塊大小來決定變換塊大小的方法,該明示方法是以宏塊為單位附加表示變換塊大小的變換大小標(biāo)志的方法(步驟S105)。根據(jù)上述判定,例如在優(yōu)先實時性,而處理量越少越好的情況下,可以判定為最好要利用默認方法,而在即使處理量會增加,還是要優(yōu)先畫質(zhì)的情況下,可以判定為最好要利用明示方法。并且,在編碼流的比特率低的情況下,可以判定為利用默認方法更好,而在編碼流的比特率高的情況下,則可以判定為利用明示方法更好。之所以判定為上述結(jié)果,是因為在編碼流的比特率高的情況下,即使按宏塊分別附加了變換大小標(biāo)志,其變換大小標(biāo)志的比特數(shù)也對總比特數(shù)增加的影響是小的。
該判定的結(jié)果,在判定為利用默認方法更好的情況下(步驟S105的“是”),模式?jīng)Q定部111選擇默認方法(步驟的S106),將ABT模式設(shè)定為“0”(步驟S107)。在此情況下,根據(jù)所選擇的默認方法來決定變換塊大小。而在判定為利用明示方法更好的情況下(步驟S105的“否”),模式?jīng)Q定部111選擇明示方法(步驟的S108),將ABT模式設(shè)定為“1”(步驟S109)。在此情況下,根據(jù)所選擇的明示方法來決定變換塊大小。然后,模式?jīng)Q定部111,將ABT標(biāo)志及ABT模式輸出到可變長編碼部110(步驟S110)。
下面,說明利用默認方法來決定宏塊的變換塊大小時的工作。首先說明在根據(jù)用于對象宏塊的運動補償?shù)倪\動補償塊大小來決定變換塊大小時的基本工作,然后說明具體例子的工作。
圖3是一種流程圖,表示根據(jù)運動補償塊大小決定變換塊大小時的基本工作流程。
模式?jīng)Q定部111,從以多個塊大小為單位的運動補償中獲得最適當(dāng)?shù)?運動補償誤差和運動補償信息編碼所需的比特數(shù)少的)運動補償塊大小(步驟S201)。然后,模式?jīng)Q定部111根據(jù)運動補償塊大小選擇變換塊大小(步驟S202)。
圖4是一種流程圖,表示根據(jù)運動補償塊大小決定變換塊大小時的具體例子的工作流程。
模式?jīng)Q定部111獲得用于運動補償?shù)倪\動補償塊大小(步驟S201)。然后,模式?jīng)Q定部111選擇與運動補償塊大小相同的變換塊大小(步驟S301)。例如,運動補償塊大小為4×8的情況下,選擇4×8作為變換塊大小。
圖5是一種流程圖,表示根據(jù)運動補償塊大小決定變換塊大小時的其他具體例子的工作流程。在這里假定只支持8×8及4×4這兩種變換塊大小。
模式?jīng)Q定部111獲得用于運動補償?shù)倪\動補償塊大小(步驟S201)。然后,模式?jīng)Q定部111判定運動補償塊大小是否小于8×8(步驟S401)。該判定的結(jié)果,在運動補償塊大小不小于8×8的情況下(步驟S401的“否”),模式?jīng)Q定部111選擇8×8作為變換塊大小(步驟S402)。而在運動補償塊大小小于8×8的情況下(步驟S401的“是”),模式?jīng)Q定部111選擇4×4作為變換塊大小(步驟S403)。
下面,說明利用明示方法來決定宏塊的變換塊大小時的工作。首先,說明決定變換塊大小時的基本工作,然后說明具體例子的工作。
圖6是一種流程圖,表示決定變換塊大小時的基本工作流程。模式?jīng)Q定部111決定對象宏塊的變換塊大小(步驟S501)。然后,模式?jīng)Q定部111根據(jù)所決定的變換塊大小設(shè)定變換大小標(biāo)志(步驟S502)。下面,模式?jīng)Q定部111將變換大小標(biāo)志輸出到可變長編碼部110(步驟S503)。
圖7是一種流程圖,表示決定變換塊大小時的具體例子的工作流程。在這里假定只支持8×8及4×4這兩種變換塊大小。
模式?jīng)Q定部111決定對象宏塊的變換塊大小(步驟S501)。然后,模式?jīng)Q定部111判定是否決定了變換塊大小為8×8(步驟S511)。該判定的結(jié)果,在決定為8×8的情況下(步驟S511的“是”),模式?jīng)Q定部111選擇8×8作為變換塊大小,將變換大小標(biāo)志設(shè)定為8×8(步驟S512)。而在沒有決定為8×8的情況下(步驟S902的“否”),模式?jīng)Q定部111選擇4×4作為變換塊大小,將變換大小標(biāo)志設(shè)定為4×4(步驟S513)。下面,模式?jīng)Q定部111將變換大小標(biāo)志輸出到可變長編碼部110(步驟S503)。
圖8是一種流程圖,表示決定變換塊大小時的其他具體例子的工作流程。
模式?jīng)Q定部111判定對象宏塊是否沒有在幀內(nèi)被編碼(intraencode,畫面內(nèi)編碼),且判定運動補償塊是否小于8×8(步驟S521)。該判定的結(jié)果,沒有在幀內(nèi)被編碼、且運動補償塊大小小于8×8的情況下(步驟S521的“是”),模式?jīng)Q定部111選擇4×4作為變換塊大小(步驟S522)。之所以根據(jù)幀內(nèi)編碼與否來進行判定,是因為在幀內(nèi)編碼的情況下不進行運動補償,而不能獲得運動補償塊大小。而在幀內(nèi)被編碼或者運動補償塊大小不小于8×8的情況下(步驟S521的“否”),模式?jīng)Q定部111決定對象宏塊的變換塊大小(步驟S501)。然后,模式?jīng)Q定部11 1判定是否決定了變換塊大小為8×8(步驟S511)。該判定的結(jié)果,在決定為8×8的情況下(步驟S511的“是”),模式?jīng)Q定部111選擇8×8作為變換塊大小,將變換大小標(biāo)志設(shè)定為8×8(步驟S512)。而在沒有決定為8×8的情況下(步驟S902的“否”),模式?jīng)Q定部111選擇4×4作為變換塊大小,將變換大小標(biāo)志設(shè)定為4×4(步驟S513)。下面,模式?jīng)Q定部111將變換大小標(biāo)志輸出到可變長編碼部110(步驟S503)。
圖9是一種示意圖,表示編碼流的ABT標(biāo)志、ABT模式、以及變換大小標(biāo)志的位置。圖9所示,在存在ABT標(biāo)志及ABT模式的情況下,其在宏塊系列、圖片、序列信息的各個頭中被存儲。另外,例如宏塊系列頭那樣下層頭中的參數(shù)會改寫如序列頭那樣上層頭中的參數(shù)意義的情況下,ABT標(biāo)志及ABT模式有可能在多個頭中被存儲。并且,變換大小標(biāo)志在宏塊層被存儲。再者,圖9中,在啟動代碼的緊后面存儲有ABT標(biāo)志及ABT模式,但也可以在啟動代碼的后面且ABT標(biāo)志及ABT模式的前面存儲有其他信息。
如上所述,由于按序列或按圖片或按宏塊系列,可以分別選擇并利用默認方法或者明示方法作為變換塊大小的通知方法,因此能提高編碼效率、且能提高動態(tài)圖像的質(zhì)量。
另外,在上面說明了根據(jù)運動補償塊大小來決定變換塊大小的方法,作為默認方法,但不限于此。例如,可以根據(jù)位于對象塊附近的附近塊的運動矢量來決定變換塊大小,也可以根據(jù)對象塊的量化參數(shù)來決定變換塊大小。
圖10(a)是一種示意圖,說明附近塊的運動矢量;圖10(b)是一種流程圖,根據(jù)附近塊的運動矢量決定變換塊大小時的工作流程。
模式?jīng)Q定部111獲得位于對象塊附近的附近塊的運動矢量(步驟S600)。例如,關(guān)于附近塊的運動矢量,如圖10(a)所示,獲得位于對象塊11左邊的塊12a的運動矢量MVa及位于對象塊11上邊的塊12b的運動矢量MVb。然后,模式?jīng)Q定部111判定各個附近塊的運動矢量間是否有差異(步驟S602)。在這里,MVa-MVb的大小在規(guī)定閾值以上的情況下,則可以判定為各個附近塊的運動矢量間有差異。該判定的結(jié)果,在各個附近塊的運動矢量間有差異的情況下(步驟S601的“是”),模式?jīng)Q定部111選擇小的變換塊,例如選擇4×4作為變換塊大小(步驟S602)。而在各個附近塊的運動矢量間沒有差異的情況下(步驟S601的“否”),模式?jīng)Q定部111選擇大的變換塊,例如選擇8×8作為變換塊大小(步驟S603)。
由此,在各個附近塊的運動矢量間有差異的情況下,對象塊包含復(fù)雜的運動(方向不同),因此通過選擇小的變換塊大小,從而能忠實編碼運動補償誤差。
圖11是一種流程圖,表示根據(jù)量化參數(shù)決定變換塊大小時的工作流程。
模式?jīng)Q定部111獲得對象塊的量化參數(shù)(步驟S700)。然后,模式?jīng)Q定部111判定量化參數(shù)是否在規(guī)定閾值以上(步驟S701)。該判定的結(jié)果,量化參數(shù)在規(guī)定閾值以上的情況下(步驟S701的“是”),模式?jīng)Q定部111選擇大的變換塊大小,例如選擇8×8作為變換塊大小(步驟S702)。而,量化參數(shù)不在規(guī)定閾值以上的情況下(步驟S701的“否”),模式?jīng)Q定部111選擇小的變換塊大小,例如選擇4×4作為變換塊大小(步驟S703)。
由此,當(dāng)量化參數(shù)大(量化步驟大)時,在很多情況下要減少比特數(shù)來提高壓縮率,因此通過選擇大的變換塊大小,從而可以減少編碼后的比特數(shù)。
圖12是一種方框圖,表示本發(fā)明的實施方式涉及的動態(tài)圖像解碼裝置的結(jié)構(gòu)。
動態(tài)圖像解碼裝置200是用于以塊為單位將所輸入的編碼流解碼并輸出圖像的裝置,如圖12所示,包括可變長解碼部201、反量化部202、反正交變換部203、運動補償部204、加法部205、圖片存儲器206以及模式?jīng)Q定部207。
可變長解碼部201解碼編碼流,將量化值輸出到反量化部202,將運動矢量等輸出到運動補償部204。并且,可變長解碼部201解析編碼流的頭,將ABT標(biāo)志及ABT模式輸出到模式?jīng)Q定部207。再者,該頭也可以為宏塊系列頭、圖片頭、序列頭。運動補償部204,利用從可變長解碼部201所輸入的運動矢量,從存儲在圖片存儲器206的解碼圖像中獲得最適于預(yù)測圖像的圖像區(qū)域,生成預(yù)測圖像。
模式?jīng)Q定部207根據(jù)ABT標(biāo)志判定是否利用了自適應(yīng)塊變換。并且,模式?jīng)Q定部207,在利用了自適應(yīng)塊變換的情況下,根據(jù)ABT模式確定在對對象塊進行正交變換時的變換塊大小的通知方法。即,模式?jīng)Q定部207確定利用了默認方法還是明示方法作為通知方法。并且,模式?jīng)Q定部207決定由默認方法或明示方法所通知的變換塊大小。
反量化部202,將所輸入的量化值反量化來復(fù)原為頻率系數(shù),輸出到反正交變換部203。反正交變換部203利用所決定的變換塊大小,將頻率系數(shù)反變頻到像素差分值,輸出到加法部205,該所決定的變換塊大小是根據(jù)由模式?jīng)Q定部207所決定的通知方法來決定的。加法部205,將像素差分值與從運動補償部204所輸出的預(yù)測圖像相加,來輸出解碼圖像。
下面,說明具有上述結(jié)構(gòu)的動態(tài)圖像解碼裝置200的工作。
圖13是一種流程圖,表示動態(tài)圖像解碼裝置200確定模式時的工作流程。
模式?jīng)Q定部207獲得ABT標(biāo)志(步驟S1001)。然后,模式?jīng)Q定部207判定ABT標(biāo)志是否等于“1”,即判定是否利用了自適應(yīng)塊變換(步驟S1002)。該判定的結(jié)果,當(dāng)利用了自適應(yīng)塊變換時(步驟S1002的“是”),模式?jīng)Q定部207獲得ABT模式(步驟S1003)。在這里,即使不存在ABT標(biāo)志的情況下,也可以假定利用了自適應(yīng)塊變換,而模式?jīng)Q定部207可以獲得ABT模式。然后,模式?jīng)Q定部207判定ABT標(biāo)志是否等于“0”,即判定是否利用了默認方法還是明示方法(步驟S1004)。該判定的結(jié)果,在ABT標(biāo)志等于“0”的情況下(步驟S1004的“是”),模式?jīng)Q定部207確定利用了默認方法,而選擇默認方法(步驟S1005)。另一方面,在ABT標(biāo)志不等于“0”的情況下(步驟S1004的“否”),模式?jīng)Q定部207確定利用了明示方法,而選擇明示方法(步驟S1006)。然后,模式?jīng)Q定部207根據(jù)所選擇的默認方法或者明示方法決定宏塊的變換塊大小(步驟S1008)。關(guān)于根據(jù)默認方法的選擇方法,按照圖3、圖4、圖5、圖8、圖10、圖11所記載的方法等來選擇與動態(tài)圖像編碼裝置相同的變換塊大小。
另一方面,當(dāng)沒有利用自適應(yīng)塊變換時(步驟S1002的“否”),模式?jīng)Q定部207決定宏塊的變換塊大小為預(yù)先所定的變換塊大小(步驟S1009)。在這里,該預(yù)先所定的變換塊大小通常是最多利用的塊大小。
最后,反正交變換部203以如上所定的變換塊大小來將宏塊的頻率系數(shù)反變頻到像素差分值(步驟S1010)。
在這里,在利用默認方法來決定宏塊的變換塊大小時的工作,因與動態(tài)圖像編碼裝置100的情況相同,而省略說明。
下面,說明利用明示方法來決定宏塊的變換塊大小時的工作。首先說明以宏塊為單位,根據(jù)變換大小標(biāo)志來決定變換塊大小時的基本工作,然后說明具體例子的工作。
圖14是一種流程圖,表示根據(jù)變換大小標(biāo)志決定變換塊大小時的基本工作流程。
模式?jīng)Q定部207獲得對象宏塊的變換大小標(biāo)志(步驟S801)。然后,模式?jīng)Q定部207根據(jù)變換大小標(biāo)志選擇變換塊大小(步驟S802)。
圖15是一種流程圖,表示根據(jù)變換大小標(biāo)志決定變換塊大小時的具體例子的工作流程。在這里假定只支持8×8及4×4這兩種變換塊大小。
模式?jīng)Q定部207獲得對象宏塊的變換大小標(biāo)志(步驟S801)。然后,模式?jīng)Q定部207判定變換大小標(biāo)志是否表示8×8(步驟S902)。該判定的結(jié)果,在變換大小標(biāo)志表示8×8的情況下(步驟S902的“是”),模式?jīng)Q定部207選擇8×8作為變換塊大小(步驟S903)。而在變換大小標(biāo)志不表示8×8的情況下(步驟S902的“否”),模式?jīng)Q定部207選擇4×4作為變換塊大小(步驟S904)。
圖16是一種流程圖,表示根據(jù)變換大小標(biāo)志決定變換塊大小時的其他具體例子的工作流程。
模式?jīng)Q定部207判定對象宏塊是否沒有在幀內(nèi)被編碼(intraencode畫面內(nèi)編碼),且判定運動補償塊是否小于8×8(步驟S901)。該判定的結(jié)果,沒有在幀內(nèi)被編碼、且運動補償塊大小小于8×8的情況下(步驟S901的“是”),模式?jīng)Q定部207選擇4×4作為變換塊大小(步驟S905)。之所以根據(jù)幀內(nèi)編碼與否來進行判定,是因為在幀內(nèi)編碼的情況下不進行運動補償,而不能獲得運動補償塊大小。另一方面,在幀內(nèi)被編碼或者運動補償塊大小不小于8×8的情況下(步驟S901的“否”),模式?jīng)Q定部207獲得對象宏塊的變換大小標(biāo)志(步驟S801)。然后,模式?jīng)Q定部207判定變換大小標(biāo)志是否表示8×8(步驟S902)。該判定的結(jié)果,在變換大小標(biāo)志表示8×8的情況下(步驟S902的“是”),模式?jīng)Q定部207選擇8×8作為變換塊大小(步驟S903)。而在變換大小標(biāo)志不表示8×8的情況下(步驟S902的“否”),模式?jīng)Q定部207選擇4×4作為變換塊大小(步驟S903)。
如上所述,從編碼流,能夠確定變換塊大小的通知方法,并能決定變換塊大小,該編碼流是按序列、或按圖片、或按宏塊系列選擇并利用了默認方法或者明示方法的編碼流。
在這里,關(guān)于圖1及圖12所示的方框圖的各功能塊,其典型的實現(xiàn)方法是作為集成電路的LSI(大規(guī)模集成電路)。這些可以個別被構(gòu)成為單片結(jié)構(gòu),也可以構(gòu)成為包括一部分或整體的單片結(jié)構(gòu)(例如,也可以將存儲器以外的功能塊構(gòu)成為單片結(jié)構(gòu))。另外,在此稱為LSI,但是由于集成度的不同,也可能稱為IC、系統(tǒng)LSI、超級LSI、極超級LSI等。
并且,實現(xiàn)集成電路的方法不限于LSI,而可以由專用電路或通用處理器來實現(xiàn)。此外,在制造LSI后,也可以利用可設(shè)計程序的FPGA(Field Programmable Gate Array;現(xiàn)場可編程門陣列)或可重構(gòu)處理器,該可重構(gòu)處理器可以重構(gòu)LSI內(nèi)部的一部分電路的連接和設(shè)定。
并且,隨著半導(dǎo)體技術(shù)的進步或另外技術(shù)的衍生,如果出現(xiàn)能代替LSI的另外集成電路技術(shù),當(dāng)然可以利用該技術(shù)對功能塊進行集成化。在此方面,存在適用生物技術(shù)等的可能性。
本發(fā)明涉及的動態(tài)圖像編碼方法及動態(tài)圖像解碼方法,可以適用于各種各樣的多媒體數(shù)據(jù),能夠提高編碼效率,且能提高動態(tài)圖像的質(zhì)量,例如在利用移動電話、DVD裝置、個人電腦等來進行存儲、傳輸、通信等的情況下,有用于其動態(tài)圖像編碼方法及動態(tài)圖像解碼方法。
權(quán)利要求
1.一種動態(tài)圖像編碼方法,以塊為單位編碼輸入圖像,并生成編碼流,其特征在于,決定在對對象塊進行正交變換時的變換塊大小的通知方法;制作表示上述通知方法的自適應(yīng)塊變換模式;在上述編碼流附加上述自適應(yīng)塊變換模式。
2.如權(quán)利要求1所述的動態(tài)圖像編碼方法,其特征在于,決定默認方法及明示方法中的任一個方法作為上述通知方法,該默認方法是指,根據(jù)有關(guān)上述對象塊的信息來決定上述變換塊大小的方法,上述明示方法是指,以所定的塊為單位附加表示上述變換塊大小的變換大小標(biāo)志的方法。
3.如權(quán)利要求2所述的動態(tài)圖像編碼方法,其特征在于,上述默認方法,根據(jù)運動補償塊大小決定上述變換塊大小,該運動補償塊大小用于上述對象塊的運動補償。
4.如權(quán)利要求3所述的動態(tài)圖像編碼方法,其特征在于,上述默認方法,在上述運動補償塊大小小于8×8的情況下,決定上述變換塊大小為4×4;在上述運動補償塊大小等于或大于8×8的情況下,決定上述變換塊大小為8×8。
5.如權(quán)利要求2所述的動態(tài)圖像編碼方法,其特征在于,上述默認方法,根據(jù)位于上述對象塊附近的塊的運動矢量來決定上述變換塊大小。
6.如權(quán)利要求5所述的動態(tài)圖像編碼方法,其特征在于,上述默認方法,在上述運動矢量間的差異在規(guī)定閾值以上的情況下,決定上述變換塊大小為4×4;在上述運動矢量間的差異未滿規(guī)定閾值的情況下,決定上述變換塊大小為8×8。
7.如權(quán)利要求2所述的動態(tài)圖像編碼方法,其特征在于,上述默認方法,根據(jù)量化參數(shù)決定上述變換塊大小,該量化參數(shù)用于上述對象塊的量化。
8.如權(quán)利要求7所述的動態(tài)圖像編碼方法,其特征在于,上述默認方法,在上述量化參數(shù)在規(guī)定閾值以上的情況下,決定上述變換塊大小為8×8;在上述量化參數(shù)未滿規(guī)定閾值的情況下,決定上述變換塊大小為4×4。
9.如權(quán)利要求1所述的動態(tài)圖像編碼方法,其特征在于,上述動態(tài)圖像編碼方法,進一步,決定是否進行自適應(yīng)塊變換,該自適應(yīng)塊變換是一種變換方法,從多個變換塊大小中決定并利用用于對象塊的正交變換的變換塊大?。辉谶M行上述自適應(yīng)塊變換的情況下,決定上述通知方法;制作表示是否進行上述自適應(yīng)塊變換的自適應(yīng)塊變換標(biāo)志;在上述編碼流附加上述自適應(yīng)塊變換標(biāo)志。
10.如權(quán)利要求1所述的動態(tài)圖像編碼方法,其特征在于,上述動態(tài)圖像編碼方法,進一步,根據(jù)上述通知方法決定上述變換塊大?。灰运鶝Q定的上述變換塊大小來對上述對象塊進行正交變換并進行編碼。
11.一種動態(tài)圖像解碼方法,以塊為單位解碼編碼流,其特征在于,從上述編碼流獲得表示通知方法的自適應(yīng)塊變換模式,該通知方法是指,在對對象塊進行正交變換時的變換塊大小的通知方法;根據(jù)上述自適應(yīng)塊變換模式確定上述通知方法;根據(jù)所確定的上述通知方法決定上述變換塊大?。灰运鶝Q定的上述變換塊大小來對上述對象塊進行反正交變換并進行解碼。
12.如權(quán)利要求11所述的動態(tài)圖像解碼方法,其特征在于,上述自適應(yīng)塊變換模式表示默認方法及明示方法中的任一個方法作為上述通知方法,該默認方法是指,根據(jù)有關(guān)上述對象塊的信息來決定上述變換塊大小的方法,上述明示方法是指,以所定的塊為單位附加表示上述變換塊大小的變換大小標(biāo)志的方法。
13.如權(quán)利要求12所述的動態(tài)圖像解碼方法,其特征在于,上述默認方法,根據(jù)運動補償塊大小決定上述變換塊大小,該運動補償塊大小用于上述對象塊的運動補償。
14.如權(quán)利要求13所述的動態(tài)圖像解碼方法,其特征在于,上述默認方法,在上述運動補償塊大小小于8×8的情況下,決定上述變換塊大小為4×4;在上述運動補償塊大小等于或大于8×8的情況下,決定上述變換塊大小為8×8。
15.如權(quán)利要求12所述的動態(tài)圖像解碼方法,其特征在于,上述默認方法,根據(jù)位于上述對象塊附近的塊的運動矢量來決定上述變換塊大小。
16.如權(quán)利要求15所述的動態(tài)圖像解碼方法,其特征在于,上述默認方法,在上述運動矢量間的差異在規(guī)定閾值以上的情況下,決定上述變換塊大小為4×4;在上述運動矢量間的差異未滿規(guī)定閾值的情況下,決定上述變換塊大小為8×8。
17.如權(quán)利要求12所述的動態(tài)圖像解碼方法,其特征在于,上述默認方法,根據(jù)量化參數(shù)決定上述變換塊大小,該量化參數(shù)用于上述對象塊的量化。
18.如權(quán)利要求17所述的動態(tài)圖像解碼方法,其特征在于,上述默認方法,在上述量化參數(shù)在規(guī)定閾值以上的情況下,決定上述變換塊大小為8×8;在上述量化參數(shù)未滿規(guī)定閾值的情況下,決定上述變換塊大小為4×4。
19.如權(quán)利要求11所述的動態(tài)圖像解碼方法,其特征在于,上述動態(tài)圖像解碼方法,進一步,獲得自適應(yīng)塊變換標(biāo)志,該自適應(yīng)塊變換標(biāo)志表示是否進行了自適應(yīng)塊變換,該自適應(yīng)塊變換是一種變換方法,從多個變換塊大小中決定并利用用于對象塊的正交變換的變換塊大??;在由上述自適應(yīng)塊變換標(biāo)志表示進行了自適應(yīng)塊變換的情況下,獲得上述自適應(yīng)塊變換模式。
20.一種動態(tài)圖像編碼裝置,以塊為單位編碼輸入圖像,并生成編碼流,其特征在于,包括通知方法決定單元,決定在對對象塊進行正交變換時的變換塊大小的通知方法;制作單元,制作表示上述通知方法的自適應(yīng)塊變換模式;以及編碼單元,在上述編碼流附加上述自適應(yīng)塊變換模式。
21.一種動態(tài)圖像解碼裝置,以塊為單位解碼編碼流,其特征在于,包括獲得單元,從上述編碼流獲得表示通知方法的自適應(yīng)塊變換模式,該通知方法是指,在對對象塊進行正交變換時的變換塊大小的通知方法;確定單元,根據(jù)上述自適應(yīng)塊變換模式確定上述通知方法;決定單元,根據(jù)所確定的上述通知方法決定上述變換塊大??;解碼單元,以所決定的上述變換塊大小來對上述對象塊進行反正交變換并進行解碼。
22.一種集成電路,以塊為單位編碼輸入圖像,并生成編碼流,其特征在于,包括通知方法決定單元,決定在對對象塊進行正交變換時的變換塊大小的通知方法;制作單元,制作表示上述通知方法的自適應(yīng)塊變換模式;以及編碼單元,在上述編碼流附加上述自適應(yīng)塊變換模式。
23.一種集成電路,以塊為單位解碼編碼流,其特征在于,包括獲得單元,從上述編碼流獲得表示通知方法的自適應(yīng)塊變換模式,該通知方法是指,在對對象塊進行正交變換時的變換塊大小的通知方法;確定單元,根據(jù)上述自適應(yīng)塊變換模式確定上述通知方法;決定單元,根據(jù)所確定的上述通知方法決定上述變換塊大??;解碼單元,以所決定的上述變換塊大小來對上述對象塊進行反正交變欹并進行解碼。
全文摘要
本發(fā)明的目的在于,提供一種動態(tài)圖像編碼方法及動態(tài)圖像解碼方法,能夠提高編碼效率,且能提高動態(tài)圖像的質(zhì)量。動態(tài)圖像編碼裝置(100)包括模式?jīng)Q定部(111),決定默認方法和明示方法中的任一個方法作為在對對象塊進行正交變換時的變換塊大小的通知方法,并輸出表示所決定的通知方法的ABT模式;正交變換部(104),以所決定的變換塊大小,將輸入圖像和預(yù)測圖像的差分值變換為頻率系數(shù),該變換塊大小是根據(jù)所決定的通知方法來決定的;量化部(105),對頻率系數(shù)進行量化并輸出量化值;以及可變長編碼部(110),對量化值及ABT模式等進行可變長編碼并輸出編碼流。
文檔編號H04N7/30GK101019435SQ200580030189
公開日2007年8月15日 申請日期2005年9月6日 優(yōu)先權(quán)日2004年9月8日
發(fā)明者林宗順, 申省梅, 角野真也 申請人:松下電器產(chǎn)業(yè)株式會社