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

運(yùn)動圖象編碼方法和運(yùn)動圖象編碼設(shè)備的制作方法

文檔序號:7551230閱讀:197來源:國知局
專利名稱:運(yùn)動圖象編碼方法和運(yùn)動圖象編碼設(shè)備的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及使用色度或亮度的量化值執(zhí)行幀間預(yù)測的圖象序列編碼和解碼的方法。
背景技術(shù)
在圖象序列高效編碼中,利用前面相鄰的幀的相似性的幀間預(yù)測(運(yùn)動補(bǔ)償)已知作為數(shù)據(jù)壓縮的高效技術(shù)。當(dāng)今最常使用的運(yùn)動補(bǔ)償方法是具有半象素精度的數(shù)據(jù)塊匹配,它用于H.263的國際標(biāo)準(zhǔn)MPEG1和MPEG2中。在該種方法中,編碼的圖象被分段為數(shù)據(jù)塊,并且這些數(shù)據(jù)塊的運(yùn)動矢量的水平和垂直分量估算為相鄰的象素間的距離的一半的整數(shù)倍。這個處理過程用下面的方程表示[方程1]P(x,y)=R(x+ui,y+vi(x,y)∈Bi,0≤i<N ...(1)其中,P(x,y)和R(x,y)分別表示為位于在當(dāng)前幀的預(yù)測圖象P和參照圖象(在當(dāng)前幀以前已經(jīng)編碼的幀的編碼圖象)R中的坐標(biāo)(x,y)內(nèi)的象素的取樣值(亮度或色度的強(qiáng)度)。x和y是整數(shù),并且假定所有的象素位于坐標(biāo)值是整數(shù)的那些點(diǎn)。另外,假定這些象素的取樣值量化為非負(fù)的整數(shù)。N,Bi和(ui,vi)分別表示在該圖象中的數(shù)據(jù)塊的號碼,包括在該圖象的第i塊中的象素組和在第i塊中的運(yùn)動矢量。當(dāng)ui和vi的值不是整數(shù)時,需要在參考圖象中找到不實(shí)際存在任何象素的點(diǎn)上的色強(qiáng)度值。當(dāng)前用于該處理的最常用的方法是使用相鄰的四個象素的雙線性內(nèi)插方法。用下面的方程表示這種內(nèi)插的方法 R(x+pd,y+qd=((d-q)((d-p)R(x,y)+pR(x+1,y))]]>+q((d-p)R(x,y+1)+pR(x+1,y+1)))//d2---(2)]]>其中,d是正整數(shù),和p和q是小于d但不小于0的數(shù)?!濉巍灞硎旧崛胪ǔ5某ńY(jié)果(使用實(shí)數(shù)的除法)成最接近的整數(shù)的整除。
在圖1中示出了H.263視頻編碼器的結(jié)構(gòu)的示例。作為編碼算法,H.263采用混合編碼方法(自適應(yīng)幀間/幀內(nèi)編碼方法),它是數(shù)據(jù)塊匹配和DCT(離散余弦變換)的結(jié)合。減法器102計算輸入圖象(當(dāng)前幀基本圖象)101和幀間/幀內(nèi)編碼選擇器119的輸出圖象113(相對后者)間的差,并輸出誤差圖象103。這個誤差圖象在DCT轉(zhuǎn)換器104中被轉(zhuǎn)換成DCT系數(shù)以后在量化器105中量化,形成量化的DCT系數(shù)106。這些量化的DCT系數(shù)通過通信信道被傳輸,同時在該編碼器中用于合成幀間預(yù)測圖象。下面解釋合成預(yù)測圖象的過程。在通過去量化器108和反向DCT轉(zhuǎn)換器109以后,上述的量化的DCT系數(shù)106形成再現(xiàn)誤差圖象110(在接收端相同的再現(xiàn)誤差圖象)。這個再現(xiàn)的誤差圖象和幀間/幀內(nèi)編碼選擇器119的輸出圖象113被加法器111相加,得到當(dāng)前幀的解碼圖象112(與在接收端再現(xiàn)的當(dāng)前幀的解碼圖象相同的圖象)。這個圖象存儲在幀存儲器114中,且被延時的時間等于幀間隔。因此,在當(dāng)前的時間點(diǎn),幀存儲存儲器114輸出先前幀的解碼圖象115。這個先前幀的解碼圖象和當(dāng)前幀的原來的圖象101輸入給數(shù)據(jù)塊匹配部分116,該116在這些圖象間執(zhí)行塊匹配。當(dāng)前幀的原來的圖象分段為多個數(shù)據(jù)塊,通過從先前的幀的解碼圖象抽取最類似這些數(shù)據(jù)塊的部分合成當(dāng)前幀的預(yù)測圖象117。在這個過程中,必須計算每個數(shù)據(jù)塊的前幀和當(dāng)前幀間的運(yùn)動。在運(yùn)動估算處理過程中估算的每個塊的運(yùn)動矢量作為運(yùn)動矢量數(shù)據(jù)120傳送給接收端。在該接收端,使用運(yùn)動矢量信息和先前幀的解碼圖象,合成作為在發(fā)送端的相同的預(yù)測圖象。該預(yù)測圖象117與″0″信號118一起輸出給幀間/幀內(nèi)編碼選擇器119,這個選擇器119通過選擇這些輸入的任何一個選擇幀間編碼或幀內(nèi)編碼。當(dāng)預(yù)測圖象117被選擇時(圖2所示情形),執(zhí)行幀間編碼。另一方面,當(dāng)選擇″0″信號時,由于輸入圖象本身被轉(zhuǎn)換成為DCT系數(shù)和輸出給通信信道,執(zhí)行幀內(nèi)編碼。為了接收端正確地再現(xiàn)編碼的圖象,必須通知接收機(jī)是否在發(fā)送端執(zhí)行幀內(nèi)編碼或幀間編碼。因此,給通信電路輸出識別標(biāo)志121。最后,通過在多路復(fù)用器122中多路化量化的DCT系數(shù),運(yùn)動矢量,和幀間/幀內(nèi)識別標(biāo)志信息,可以得到H.263編碼比特流123。
在圖2中示出了接收從圖1所示的編碼器輸出的編碼的比特流的解碼器200的結(jié)構(gòu)。接收的H.263編碼的比特流217在信號解多路化器216中被解多路化成量化的DCT系數(shù)201,運(yùn)動矢量數(shù)據(jù)202,和幀間/幀內(nèi)識別標(biāo)志203。在由反向量化器204和反向DCT轉(zhuǎn)換器205處理后,量化的DCT系數(shù)201變成解碼的誤差圖象206。在加法器207中解碼的誤差圖象加到幀間/幀內(nèi)編碼選擇器214的輸出圖象215上,該圖象的和作為解碼圖象208被輸出。根據(jù)幀間/幀內(nèi)編碼選擇器的識別標(biāo)志203,切換幀間/幀內(nèi)編碼選擇器的輸出。當(dāng)執(zhí)行幀間編碼時,在預(yù)測圖象合成器211中合成利用的預(yù)測圖象212。在這個合成器中,在幀存儲器209中存儲的前幀的解碼圖象210中的數(shù)據(jù)塊的位置根據(jù)運(yùn)動矢量202移位。另一方面,對于幀內(nèi)編碼,幀間/幀內(nèi)編碼選擇器輸出作為幀內(nèi)編碼的″0″信號213。
由H.263編碼的圖象包括包含亮度信息的亮度平面(Y平面)和包含色度信息的兩個色度平面(U平面和V平面)。這時的特點(diǎn)在于當(dāng)圖象在水平方向上有2m個象素和在垂直方向上有2n個象素(m和n是正整數(shù))時,Y平面有2m個水平象素和2n個垂直象素,U和V平面有m個水平象素和n個垂直象素。在色度平面上分辨率低是由于人的視覺系統(tǒng)對于彩色空間中的差異具有比較遲鈍的視覺能力。具有輸入H.263的圖象在稱作宏數(shù)據(jù)塊的數(shù)據(jù)塊單元中執(zhí)行編碼和解碼。在圖3中示出了宏數(shù)據(jù)塊的結(jié)構(gòu)。該宏數(shù)據(jù)塊包括三種數(shù)據(jù)塊Y塊,U塊和V塊。包含亮度信息的Y數(shù)據(jù)塊301的大小是16×16象素,包含彩色信息的U塊302和V塊303的大小是8×8象素。
在H.263中,半象素精度的數(shù)據(jù)塊匹配應(yīng)用到每個數(shù)據(jù)塊中。因此,當(dāng)估算的運(yùn)動矢量定義為(u,v)時,該u和v二者是象素間的距離一半的整數(shù)倍。換言之,1/2用作最小單位。用于強(qiáng)度值(此后″亮度″和″色度″的強(qiáng)度值用一般的術(shù)語″強(qiáng)度值″稱謂)內(nèi)插方法的結(jié)構(gòu)示于圖4中。當(dāng)執(zhí)行方程2所述的內(nèi)插時,除得的商舍入為最接近的整數(shù),另外,當(dāng)該商具有一個半整數(shù)值時(也就是0.5加上一個整數(shù))執(zhí)行舍入為在離開0點(diǎn)的方向上的下一個整數(shù)。換言之,在圖4中,當(dāng)401,402,403和404的強(qiáng)度分別是La,Lb,Lc和Ld(La,Lb,Lc和Ld是非負(fù)整數(shù)),在位置405,406,407,和408處的內(nèi)插強(qiáng)度值Ia,Ib,Ic,和Id(Ia,Ib,Ic,和Id是非負(fù)整數(shù)由下面的方程表達(dá)[方程3]Ia=LaIb=[(La+Lb+1)/2]Ic=[(La+Lc+1)/2] ...(3)Id=[(La+Lb+Lc+Ld+2)/4]這里″[]″表示朝向0方向最接近的整數(shù)的舍入(也就是舍棄小數(shù)部分)。由這個舍入成為整數(shù)所引起的誤差的期望值估算如下假設(shè)在圖4中的位置405,406,407和408的強(qiáng)度值的概率都是25%。當(dāng)求得位置405的強(qiáng)度值Ia值時,舍入誤差將明顯是零。當(dāng)求得位置406的強(qiáng)度值Ib時,當(dāng)La+Lb是偶數(shù)時,誤差是零,當(dāng)是奇數(shù)時,誤差為1/2。如果La+Lb是偶數(shù)和奇數(shù)的概率二者是50%,于是誤差的期望值將是0×1/2+1/2×1/2=1/4。另外,當(dāng)求得位置407的強(qiáng)度值Ic時,誤差的期望值是作為Ib的1/4。當(dāng)求得位置408的強(qiáng)度值Id時,當(dāng)用4除La+Lb+Lc+Ld的殘數(shù)是0,1,2,和3時,誤差分別是0,-1/4,1/2和1/4。如果我們假設(shè)殘數(shù)是0,1,2,和3的概率都是相同時(即25%),誤差的期望值是0×1/4-1/4×1/4+1/2×1/4+1/4×1/4=1/8。如上所述,假設(shè)在所有位置405-408的強(qiáng)度值的概率全相同,誤差的最后的期望值是0×1/4+1/4×1/4+1/4×1/4+1/8×1/4=5/32,這就表明每次用數(shù)據(jù)塊匹配的方式執(zhí)行運(yùn)動補(bǔ)償時,誤差5/32就出現(xiàn)在象素強(qiáng)度值中。一般在低速率的編碼中,在幀間誤差的編碼中沒有使用足夠多的位數(shù),以至DCT系數(shù)的量化規(guī)模傾向很大。因此,只有當(dāng)它是很大時才校正由于運(yùn)動補(bǔ)償出現(xiàn)的誤差。當(dāng)在沒有執(zhí)行幀內(nèi)編碼的環(huán)境下連續(xù)執(zhí)行幀間編碼時,勢必引起誤差的累加并在再現(xiàn)的圖象中產(chǎn)生不好的效果。
正如以上所述,在色度平面的垂直和水平方向上象素數(shù)大約是一半。因此,對于U塊和V塊的運(yùn)動矢量,Y塊的運(yùn)動矢量的一半數(shù)值用作垂直和水平分量。由于Y塊的運(yùn)動矢量的水平和垂直分量是1/2的整數(shù)倍,如果執(zhí)行一般的除法,U塊和V塊的運(yùn)動矢量分量將表現(xiàn)為1/4的整數(shù)倍(1/4象素精度)。然而,由于具有1/4象素精度的運(yùn)動矢量的強(qiáng)度內(nèi)插處理的高計算復(fù)雜程度,U塊和V塊的運(yùn)動矢量舍入成264行中的半象素精度。在H.263中使用的舍入方法如下根據(jù)上述的定義,(u,v)表示宏數(shù)據(jù)塊的運(yùn)動矢量(等于Y數(shù)據(jù)塊中的運(yùn)動矢量)。假設(shè),r是一個整數(shù),s是小于4的非負(fù)整數(shù),u/2可以重寫成u/2=r+s/4。當(dāng)s是0或2時,由于u/2已經(jīng)是1/2的整數(shù)倍,就不需要舍入了。然而,當(dāng)s等于1或3時,s的值舍入成2。通過使用這種舍入方法增加s取為2的值的概率,運(yùn)動補(bǔ)償?shù)倪^濾效果可以加強(qiáng)。當(dāng)舍入前s的值是0,1,2和3的概率都是25%時,在舍入后s是0或2的概率分別是25%和75%。有關(guān)運(yùn)動矢量的水平分量u的以上的解釋處理過程還應(yīng)用到垂直分量v。因此,在U塊和V塊中,使用位置401的強(qiáng)度值的概率是1/4×1/4=1/16,使用位置402和403的強(qiáng)度值的概率都是1/4×3/4=3/16,同時使用位置404的強(qiáng)度的概率是3/4×3/4=9/16。通過使用上述方法,強(qiáng)度值誤差的期望值為0×1/16+1/4×3/16+1/4×3/16+1/8×9/16=21/128。如上對Y塊的解釋,當(dāng)幀間編碼連續(xù)地進(jìn)行時,就出現(xiàn)了累積誤差的問題。
如有關(guān)前面,對于執(zhí)行幀間預(yù)測的圖象序列編碼和解碼的方法,亮度和色度強(qiáng)度被量化,出現(xiàn)了舍入誤差累加所產(chǎn)生的問題。當(dāng)在產(chǎn)生幀間預(yù)測圖象期間亮度和色度強(qiáng)度值被量化時,就產(chǎn)生了舍入誤差。

發(fā)明內(nèi)容
鑒于上述問題,本發(fā)明的目的就是通過防止誤差累加來改善再現(xiàn)圖象的質(zhì)量。
為了實(shí)現(xiàn)上述目標(biāo),通過限制出現(xiàn)誤差或執(zhí)行消除已經(jīng)出現(xiàn)的誤差的操作,以防止誤差的累積。
本發(fā)明提供一種運(yùn)動圖象編碼方法,將輸入圖像作為P幀或B幀進(jìn)行編碼,包括在輸入圖像和參照圖像之間進(jìn)行運(yùn)動推測,檢測運(yùn)動矢量,使用上述運(yùn)動矢量和上述參照圖像,合成上述輸入圖像的預(yù)測圖像;求出上述預(yù)測圖像和上述輸入圖像之間的差分,獲得誤差圖像;將關(guān)于上述誤差圖像的信息和關(guān)于上述運(yùn)動矢量的信息包含在上述輸入圖像的編碼信息中輸出,上述進(jìn)行預(yù)測圖像的合成的步驟包括用內(nèi)插運(yùn)算求出上述參照圖象中不存在象素的點(diǎn)的強(qiáng)度值的步驟;將上述輸入圖像作為P幀進(jìn)行編碼和作為B幀進(jìn)行編碼的情況下作為P幀進(jìn)行編碼時,可以使用正舍入方法進(jìn)行上述內(nèi)插運(yùn)算,也可以使用負(fù)舍入方法進(jìn)行上述內(nèi)插運(yùn)算;當(dāng)作為B幀進(jìn)行編碼時,僅使用正舍入方法和負(fù)舍入方法中被預(yù)先固定的一種舍入方法進(jìn)行上述內(nèi)插運(yùn)算。
本發(fā)明提供一種計算機(jī)可讀記錄介質(zhì),記錄運(yùn)動圖象編碼方法,該方法將輸入圖像作為P幀或B幀進(jìn)行編碼,該方法包括在第一幀存儲器中存儲參照圖像的步驟;在第二幀存儲器中存儲輸入圖像的步驟;在上述第二存儲器中存儲的上述輸入圖像和上述第一存儲器中存儲的上述參照圖像之間進(jìn)行運(yùn)動推測,檢測運(yùn)動矢量,使用上述運(yùn)動矢量和上述參照圖像,合成上述輸入圖像的預(yù)測圖像的步驟;求出上述預(yù)測圖像和上述輸入圖像之間的差分,獲得誤差圖像的步驟;將關(guān)于上述誤差圖像的信息和關(guān)于上述運(yùn)動矢量的信息包含在上述輸入圖像的編碼信息中輸出的步驟,上述進(jìn)行預(yù)測圖像的合成的步驟包括用內(nèi)插運(yùn)算求出上述參照圖象中不存在象素的點(diǎn)的強(qiáng)度值的步驟;將上述輸入圖像作為P幀進(jìn)行編碼和作為B幀進(jìn)行編碼的情況下作為P幀進(jìn)行編碼時,可以使用正舍入方法進(jìn)行上述內(nèi)插運(yùn)算,也可以使用負(fù)舍入方法進(jìn)行上述內(nèi)插運(yùn)算;當(dāng)作為B幀進(jìn)行編碼時,僅使用正舍入方法和負(fù)舍入方法中被預(yù)先固定的一種舍入方法進(jìn)行上述內(nèi)插運(yùn)算。
本發(fā)明提供一種運(yùn)動矢量編碼設(shè)備,將輸入圖像作為P幀或B幀進(jìn)行編碼,其特征在于包括塊匹配部分,在輸入圖像和參照圖像之間進(jìn)行運(yùn)動推定,檢測運(yùn)動補(bǔ)償,使用該運(yùn)動矢量和上述參照圖像,合成上述輸入圖像的預(yù)測圖像;DCT轉(zhuǎn)換器,將上述預(yù)測圖像和上述輸入圖像之間的差分進(jìn)行DCT轉(zhuǎn)換,獲得DCT系數(shù);量化器,將上述DCT系數(shù)進(jìn)行量化,獲得量化DCT系數(shù);多路化器,將上述量化系數(shù)與關(guān)于上述運(yùn)動矢量的信息進(jìn)行多路化;上述輸入圖像在作為P幀進(jìn)行編碼和作為B幀進(jìn)行編碼的情況下被作為P幀進(jìn)行編碼時,上述塊匹配部分,在預(yù)測圖像的合成中對上述參照圖像中不存在象素的點(diǎn)的強(qiáng)度值進(jìn)行內(nèi)插運(yùn)算時,可以使用正舍入方法進(jìn)行上述內(nèi)插運(yùn)算,也可以使用負(fù)舍入方法進(jìn)行上述內(nèi)插運(yùn)算;當(dāng)作為B幀進(jìn)行編碼時,僅使用正舍入方法和負(fù)舍入方法中被預(yù)先固定的一種舍入方法。


圖1是表示H.263的圖象編碼器的方框圖;圖2是表示H.263的圖象解碼器的方框圖;圖3是表示宏數(shù)據(jù)塊的結(jié)構(gòu);圖4是表示具有半象素精度的塊匹配的強(qiáng)度值內(nèi)插處理的示圖;圖5是表示編碼的圖象序列的示圖;圖6是表示軟件圖象編碼裝置的方框圖;圖7是表示軟件圖象解碼裝置的方框圖;圖8是表示在軟件圖象解碼裝置中處理示例的流程圖;圖9是表示決定軟件圖象解碼裝置處理的編碼方式的示例的流程圖;圖10是在軟件圖象解碼裝置中運(yùn)動估算和運(yùn)動補(bǔ)償處理的示例的流程圖;圖11是表示軟件圖象解碼裝置中的處理的流程圖;
圖12是表示在軟件圖象解碼裝置中運(yùn)動補(bǔ)償處理的示例的流程圖;圖13是表示在其上記錄由輸出包括I,P+和P-幀的比特流的編碼方法產(chǎn)生的編碼比特流的存儲介質(zhì)的示例的示圖;圖14是表示使用同時存在P+和P-幀的編碼方法的裝置的具體示例的示圖;圖15是表示在其上記錄由輸出包括I,B,P+和P-幀的比特流的編碼方法產(chǎn)生的編碼比特流的存儲介質(zhì)的示例的示圖;圖16是表示在使用同時存在P+和P-幀的編碼方法的裝置中包括的預(yù)測圖象合成器的方框圖;圖17是表示包括在解碼由同時存在P+和P-幀的編碼方法編碼的比特流的裝置中的預(yù)測圖象合成器的方框圖。
具體實(shí)施例方式
首先,必須考慮出現(xiàn)作為與現(xiàn)有技術(shù)有關(guān)的累積舍入誤差的環(huán)境。由能夠執(zhí)行如在MPEG.1,MPEG.2和H.263中的單向預(yù)測和雙向預(yù)測二者的編碼方法所編碼的圖象序列的示例示于圖5中。圖象501是由幀內(nèi)編碼裝置編碼的幀,稱為I幀。相反,圖象503,505,507和509稱為P幀,使用先前的I或P幀作為參考圖象進(jìn)行單向幀間編碼來編碼這些幀。因此,當(dāng)例如編碼的圖象505,圖象503用作參考圖象并執(zhí)行幀間預(yù)測。圖象502,504,506和508稱為B幀,利用先前和隨后的I和P幀執(zhí)行雙向幀間預(yù)測。B幀的特點(diǎn)在于當(dāng)執(zhí)行幀間預(yù)測時不用作參考圖象。由于在I幀中不執(zhí)行運(yùn)動補(bǔ)償,不產(chǎn)生由運(yùn)動補(bǔ)償形成的舍入誤差。反之,不僅在P幀中執(zhí)行運(yùn)動補(bǔ)償,而且P幀還用作其它的P或B幀的參考圖象,以至導(dǎo)致累積舍入誤差。另一方面,在B幀中,執(zhí)行運(yùn)動補(bǔ)償,以至在重現(xiàn)的圖象中出現(xiàn)累積舍入誤差的效果。然而,由于B幀不用作參考圖象,B幀不是累積舍入誤差的來源。因此,如果防止在P幀有累積誤差,則可以在所有圖象序列中減輕舍入誤差的不好效果。在H.263中存在編碼P幀和B幀的幀并稱為PB幀(例如,幀503和504可以編碼為PB幀)。如果結(jié)合的兩幀被視為單獨(dú)的幀,上述的概念可以應(yīng)用。換言之,在PB幀期間采取對P幀的舍入誤差對抗措施,可以防止累積誤差。
在亮度值內(nèi)插期間,當(dāng)從通常的除法(它的運(yùn)算結(jié)果是實(shí)數(shù)的除法)得到的值是一個半整數(shù)(0.5加上一個整數(shù))時,這個結(jié)果于是被舍入到在離開0點(diǎn)的方向上的下一個整數(shù),因此產(chǎn)生舍入誤差。例如,當(dāng)用4去除得到一個內(nèi)插的強(qiáng)度值時,殘數(shù)是1和3的情形的舍入誤差具有相等的絕對值,但是符號不同。因此,當(dāng)計算舍入誤差的期望值時,由這兩種情形產(chǎn)生的舍入誤差抵消(用更通俗的語說,當(dāng)執(zhí)行用正整數(shù)d′去除時,由殘數(shù)是t和d′-t的情形產(chǎn)生的誤差抵消)。然而,殘數(shù)是2時,換言之,當(dāng)通常的除法的結(jié)果是一個半整數(shù)時,舍入誤差不能消除,并導(dǎo)致累積誤差。為了解決這個問題,可以使用允許用兩種舍入方法的方法。在這里使用的兩種舍入方法是一種是離開0點(diǎn)進(jìn)位半個整數(shù),一種是朝向0點(diǎn)舍去半個整數(shù)。通過結(jié)合使用這兩種舍入方法,可以抵消舍入誤差。以后,把將通常的除法結(jié)果舍入最接近的整數(shù)和離開0點(diǎn)進(jìn)位半個整數(shù)的舍入方法稱為″正舍入″。另外,把將通常的除法結(jié)果舍入最接近的整數(shù)和朝向0點(diǎn)舍去半個整數(shù)的舍入方法稱為″負(fù)舍入″。在方程3中示出了用于半象素精度的塊匹配的正舍入的處理。當(dāng)用負(fù)舍入替代時,這個方程重寫為如下。
Ia=LaIb=[(La+Lb)/2]Ic=[(La+Lc)/2] ...(4)Id=[(La+Lb+Lc+Ld+1)/4]此后,為合成幀間預(yù)測圖象執(zhí)行正和負(fù)舍入的運(yùn)動補(bǔ)償方法被分別稱為″使用正舍入的運(yùn)動補(bǔ)償″和″使用負(fù)舍入的運(yùn)動補(bǔ)償″。另外,對于使用具有半象素精度的塊匹配作運(yùn)動補(bǔ)償?shù)腜幀,將正舍入的幀稱之為″P+幀″且使用負(fù)舍入的幀稱之為″P-幀″(在這種定義下,在H.263中的P幀都是P+幀)。P+和P-幀中的舍入誤差的期望值具有相同的絕對值,但符號不同。因此,當(dāng)沿時間軸交替安排P+幀和P-幀時,可以防止出現(xiàn)舍入誤差的累積。在圖5中的例子中,如果幀503和507設(shè)為P+幀且?guī)?05和509設(shè)為P-幀,可以實(shí)施這種方法。P+幀和P-幀的交替出現(xiàn)導(dǎo)致了在B幀的雙向預(yù)測上P+幀和P-幀的使用。一般地說,正向預(yù)測圖象(即當(dāng)在圖5中編碼幀504時使用幀503合成的預(yù)測圖象)和后向預(yù)測圖象(即當(dāng)在圖5中編碼幀504時使用幀505合成的預(yù)測圖象)的平均經(jīng)常用于幀B的合成預(yù)測圖象。這就意味著在B幀的雙向預(yù)測中使用P+幀(舍入誤差的期望值具有正值)和P-幀(舍入誤差的期望值具有負(fù)值)有效地抵消了舍入的誤差作用。前面討論過,在B幀中的舍入處理不產(chǎn)生誤差的累積。因此,即使在所有的B幀中使用相同的舍入方法也沒有問題。例如,即使對在圖5中所有的B幀502,504,506和508執(zhí)行運(yùn)動補(bǔ)償?shù)恼崛胍膊粫薪獯a圖象的嚴(yán)重惡化。為了簡化B幀的解碼處理,最好是對B幀執(zhí)行一種舍入處理。
根據(jù)利用多種舍入方法的上述運(yùn)動補(bǔ)償方法的一種圖象解碼器的塊匹配部分1600示于圖16中。與其它的圖中相同的數(shù)字表示相同的部分。通過用1600替代圖1中的塊匹配部分116,可以使用多種舍入方法。在運(yùn)動估算器1601中執(zhí)行輸入圖象101和先前幀的解碼圖象間的運(yùn)動估算處理。結(jié)果,輸出運(yùn)動信息120。在預(yù)測圖象合成器1603中合成預(yù)測圖象時利用這個運(yùn)動信息。舍入方法確定裝置1602確定是否將正還是負(fù)舍入方法作為舍入方法用于現(xiàn)時被編碼的幀。被確定的有關(guān)舍入方法的信息1604輸入給預(yù)測圖象合成器1603。在這個合成器1603中根據(jù)由信息裝置1604確定的舍入方法合成預(yù)測圖象117并輸出之。在圖1的塊匹配部分116中,沒有與圖16中的1602和1604等同的結(jié)構(gòu),而且只用正舍入合成預(yù)測圖象。還有,在塊匹配部分中確定的舍入方法1605能夠輸出,且它的信息可被多路化成比特流然后被發(fā)送。
圖象解碼器的預(yù)測圖象合成器1700示于圖17中,圖象解碼器能夠解碼由使用多種舍入方法的編碼方法產(chǎn)生的比特流。與其它的圖中相同的數(shù)字表示相同的部分。通過用1700替代圖2的預(yù)測圖象合成器211可以使用多種舍入方法。在舍入方法確定裝置1701中,在解碼處理中適合預(yù)測圖象合成的舍入方法被確定。為了正確地完成解碼,在這里選擇的舍入方法必須與編碼中選擇的舍入方法相同。例如,在編碼器和解碼器間可以遵守下面的規(guī)則當(dāng)現(xiàn)時的幀是P幀,且從最近的I幀算起的P幀的幀數(shù)(包括現(xiàn)時的幀)是奇數(shù)時,這時現(xiàn)時的幀是P+幀。當(dāng)這個數(shù)是偶數(shù)時,現(xiàn)時的幀是P-幀。如果在編碼端的舍入方法確定裝置(例如圖16中的1602)和解碼端的舍入方法確定裝置1701共享這個規(guī)則,于是該圖象能夠被正確地解碼。在預(yù)測圖象合成器1703中使用運(yùn)動信息202,前幀的解碼圖象210和前述的有關(guān)確定的舍入方法的信息1702合成預(yù)測圖象。這個預(yù)測圖象212被輸出并然后用于解碼圖象的合成。作為上述的另一種情形,有關(guān)舍入方法的信息被在發(fā)送的比特流中多路傳輸?shù)那樾慰梢员豢紤](通過從圖16中描述的塊匹配部分輸出有關(guān)舍入方法的信息1605,在編碼器可以產(chǎn)生比特流。在這種情況下,不使用舍入方法確定裝置1701,從編碼的比特流抽取的有關(guān)舍入方法的信息1704用于預(yù)測圖象合成器1703中。
除了利用圖1和圖2中所示的通常技術(shù)的慣用的電路和慣用的芯片的圖象編碼器和圖象解碼器外,本發(fā)明還可以應(yīng)用到利用通用目的的處理器的軟件圖象編碼器和軟件圖象解碼器。在圖6和7中示出了軟件圖象編碼器600和軟件圖象解碼器700。在軟件圖象編碼器600中輸入圖象601首先存儲在輸入幀存儲器602中且通用目的處理器603從這里裝入信息和執(zhí)行編碼。驅(qū)動這個通用目的處理器的程序可以從作為硬盤,軟盤等等的存儲裝置608裝入,并在程序存儲器604中存儲。這個通用目的的處理器還使用處理存儲器605執(zhí)行編碼。由通用目的的處理器輸出的編碼信息暫時存儲在輸出緩沖器606中,然后作為編碼的比特流607輸出。
在圖8中示出了編碼軟件(由計算機(jī)可讀的記錄介質(zhì))的流程。該處理開始于801,在802中值0賦于變量N。然后,在803和804中,當(dāng)N的值是100時,0值賦于N。N是幀數(shù)的計數(shù)器。對于其處理完成的每一個幀加1,當(dāng)執(zhí)行編碼時,允許值從0至99。當(dāng)N的值是0值時,現(xiàn)時的幀是I幀。當(dāng)N是奇數(shù)時,現(xiàn)時的幀是P+幀,當(dāng)是非零的偶數(shù)時,現(xiàn)時的幀是P-幀。當(dāng)N的值的上限是99時,這意昧著在99P幀(P+幀或P-幀)被編碼后一個I幀被編碼。在一定數(shù)目的編碼的幀中總是插入一個I幀,可以得到下面的好處(a)可以防止由于在編碼器和解碼器間的處理不匹配所引起的誤差累積(例如,在DCT的計算中的不匹配);和(b)從編碼數(shù)據(jù)得到目標(biāo)幀的重放圖象的處理負(fù)載(隨機(jī)存取)被減小。當(dāng)編碼器的性能或使用的編碼器的環(huán)境變化時,最佳N值變化。因此,這不意味著N值總是100。為每一幀確定舍入方法和編碼方式的處理在805中執(zhí)行,圖9示出了這個操作的詳細(xì)的流程。首先,在901檢查N是否是0。如果N是0,在902中于是輸出作為預(yù)測方式的區(qū)別信息的″I″給輸出緩沖器。這意味著被編碼的圖象將編碼成為I幀。這里,″輸出給輸出緩沖器″意味著在輸出緩沖器中存儲以后,該信息輸出給作為編碼的比特流部分的外部裝置。當(dāng)N不是0時,于是在904中識別N是奇數(shù)還是偶數(shù)。當(dāng)N是奇數(shù)時,在905″+″輸出給輸出緩沖器作為舍入方法的區(qū)別信息,和被編碼的圖象將編碼成為P+幀。另一方面,當(dāng)N是偶數(shù)時,在906″-″輸出給輸出緩沖器作為舍入方法的區(qū)別信息,且被編碼的圖象將編碼成為P-幀。在805中在確定了編碼方式以后,處理再次返回到圖8,在806中該輸入圖象存儲在幀存儲器中。這里涉及的幀存儲器A意味著軟件編碼器的存儲區(qū)部分(例如,保持在圖6的605存儲器中的存儲區(qū))。在807中,檢查編碼的現(xiàn)時的幀是否是I幀。當(dāng)識別不是I幀時,在808中執(zhí)行運(yùn)動估算和運(yùn)動補(bǔ)償。在圖10中示出了在808中執(zhí)行的操作的細(xì)節(jié)。首先,在1001中,在存儲在幀存儲器A和B的圖象間執(zhí)行運(yùn)動估算(正象在這段最后部分所寫,前幀的解碼圖象存儲在幀存儲器B中)。每塊的運(yùn)動矢量被找到,且這個運(yùn)動矢量發(fā)送給輸出緩沖器。然后,在1002中,檢查當(dāng)前幀是否是P+幀。當(dāng)現(xiàn)時的幀是P+幀時,在1003中利用正舍入方法合成預(yù)測圖象,這個預(yù)測圖象存儲在幀存儲器C中。另一方面,當(dāng)當(dāng)前幀是P-幀時,在1004中利用負(fù)舍入方法合成預(yù)測圖象,這個預(yù)測圖象存儲在幀存儲器C中。其次,在1005中,得到幀存儲器A和C間的差分圖象,存儲在幀存儲器A中。這里,該處理再次返回到圖8。在809中的處理開始前,當(dāng)當(dāng)前幀是I幀時,輸入幀存儲在幀存儲器A中,當(dāng)當(dāng)前幀是P幀(P+或P-幀)時,輸入圖象和預(yù)測圖象間的差分圖象存儲在幀存儲器A中。在809中,DCT應(yīng)用到存儲在幀存儲器ZA中,這里計算的DCT系數(shù)在量化后發(fā)送給輸出存儲器。在810中,對量化的DCT系數(shù)執(zhí)行反向量化和應(yīng)用反向的DCT。應(yīng)用反向的DCT得到的圖象存儲在幀存儲器B中。接著,在811中,再次檢查當(dāng)前幀是否是I幀。當(dāng)當(dāng)前幀不是I幀時,存儲在存儲器B和C中的圖象相加,其結(jié)果存儲在存儲器B中。幀的編碼處理在這里結(jié)束,存儲在幀存儲器B中的圖象在進(jìn)入813以前是這個幀的再現(xiàn)的圖象(這個幀與在解碼端得到的相同)。在813中,檢查是否剛完成編碼的幀是序列中的最后的幀。如果是的話,編碼處理結(jié)束,如果這幀不是最后幀,在814中將1加到N上,處理再次返回到803,下一幀的編碼處理開始。
在圖7中示出了軟件解碼器700。在解碼的比特流702暫時地存儲在輸入緩沖器702中以后,該比特流然后裝入通用目的的處理器703。驅(qū)動這個通用目的的處理器的程序從可以是硬盤軟盤等等的存儲裝置裝入和存儲在程序存儲器704中。該通用目的處理器還使用處理存儲器605執(zhí)行解碼。通過解碼處理得到的解碼圖象暫時存儲在輸出幀存儲器706中,然后作為輸出圖象707發(fā)送。
在圖11中示出了圖7中的軟件解碼器700的解碼軟件的流程圖。在1101中操作開始,在1102中檢查是否出現(xiàn)輸入信息。如果沒有輸入信息,在1103中停止解碼操作。當(dāng)輸入信息出現(xiàn)了,在1104中輸入預(yù)測方式的區(qū)別信息。這里所用的此詞″輸入″意味著存儲在輸入緩沖器中的信息(例如圖7中的702)已經(jīng)由通用目的處理器裝入。在1105中檢查是否解碼方式區(qū)別信息的信息是″I″,當(dāng)不是″I″時,舍入方法的區(qū)別信息輸入且在1107中執(zhí)行幀間預(yù)測圖象的合成。在圖12中示出了在1107中操作的詳細(xì)流程圖。在1201中,為每個數(shù)據(jù)塊輸入運(yùn)動矢量。于是在1202中,檢查是否在1106中裝入的舍入方法的區(qū)別信息是″+″。當(dāng)這個信息是″+″,當(dāng)前被解碼的幀是P+幀。在這種情況下,在1203中使用正的舍入方法合成預(yù)測圖象,在幀存儲器D中存儲該預(yù)測的圖象。這里,幀存儲器意味著軟件解碼器的存儲區(qū)的部分(例如,在圖7中的操作存儲器705中得到的存儲區(qū))。當(dāng)舍入方法的區(qū)別信息不是″+″時,解碼的現(xiàn)時的幀是P-幀。在1204中用負(fù)舍入方法合成預(yù)測圖象,這個預(yù)測圖象存儲在幀存儲器D中。在這一點(diǎn),如果由于一些類型的差錯P+幀被解碼成P-幀,或者相反,如果P-幀被解碼成為P+幀,在解碼器中沒有合成正確的預(yù)測圖象,解碼的圖象的質(zhì)量將惡化。在合成預(yù)測圖象以后,操作返回到圖11且量化的DCT系數(shù)在1108中被輸入。反向量化和反向DCT于是應(yīng)用到這些系數(shù)且合成圖象存儲在幀存儲器E中。在1109中再次檢查是否現(xiàn)時解碼的幀是I幀。如果現(xiàn)時的幀不是I幀時,在幀存儲器D和E中存儲的圖象在1110中相加,且在幀存儲器E中存儲該和圖象。在1111中開始操作前存儲在幀存儲器E中的圖象是被再現(xiàn)圖象。在111中這個存儲在幀存儲器E中的圖象輸出到輸出幀存儲器(例如圖7中的706),然后從該解碼器輸出再現(xiàn)的圖象。在這里完成了幀的解碼操作,通過返回到1102以開始下一幀的處理。當(dāng)基于圖8-12的流程圖的軟件在軟件圖象編碼器或解碼器中運(yùn)行時,利用通常的電路和芯片可以得到相同的效果。
在圖13中示出了在存儲介質(zhì)(記錄介質(zhì))上記錄由圖6的601的軟件解碼器產(chǎn)生的比特流。假設(shè)在圖8-10的流程圖中所示的算法在軟件編碼器中使用。數(shù)字信息同心地記錄在能夠記錄數(shù)字信息的記錄盤1301(例如磁盤,光盤等)。記錄在這個數(shù)字盤的信息的部分1302包括預(yù)測方式區(qū)別信息1303,1305,1308,1311,和1314;舍入方法區(qū)別信息1306,1309,1312和1315;和運(yùn)動矢量和DCT系數(shù)信息1304,1307,1310,1313和1316。在1303中記錄了表示″I″的信息,″P″記錄在1305,1308,1311和1314,″+″記錄在1306和1312中,和″-″記錄在1309和1315中。在這種情況下,″I″和″+″可以由單一位0表示,″P″和″-″可以由單一位1表示。使用這個表示,解碼器能夠正確地解碼記錄的信息,和合成正確的再現(xiàn)圖象。通過使用上述的方法在存儲介質(zhì)上存儲編碼的比特流,當(dāng)該比特流被讀出和解碼時,防止了舍入誤差的累積。
在圖15中示出了在記錄介質(zhì)上記錄圖5中所示的圖象序列的編碼數(shù)據(jù)的比特流。該記錄比特流包括有關(guān)P+,P-和B幀的信息。用在圖13中的1301中相同的方法,在能夠記錄數(shù)字信息的記錄盤1501上同心地記錄數(shù)字信息(例如磁盤,光盤等)。在這個數(shù)字盤上記錄的數(shù)字信息的部分1502包括預(yù)測方式區(qū)別信息1503,1505,1508,1510和1513;舍入方法區(qū)別信息1506和1512;和運(yùn)動矢量和DCT系數(shù)信息1504,1507,1509,1511和1514。表示″I″的信息記錄在1503中,″P″記錄在1505和1510中,″B″記錄在1508和1513中,″+″記錄在1505中,″-″記錄在1511中。在這種情形下,″I″,″P″和″B″可以分別用兩位值00,01,和10表示,″+″和″-″可以分別用一位值0和1表示。使用這種表示,解碼器能夠正確地解碼記錄的信息和合成正確的再現(xiàn)圖象。在圖15中,有關(guān)幀501(I幀)的信息是1503和1504,有關(guān)502(B幀)的信息是1508和1509,有關(guān)幀503(P+幀)的信息是1505和1507,有關(guān)幀504(B幀)的信息是1513和1514,和有關(guān)幀505(P-幀)的信息是1510和1512。當(dāng)使用B幀解碼編碼的圖象序列時,幀的發(fā)送次序和顯示次序通常是不同的。這是由于B幀的預(yù)測圖象合成以前先前和隨后的參考圖象需要被編碼。因此,盡管在幀503前顯示幀502,有關(guān)幀503的信息在有關(guān)幀502的信息以前就傳送了。如上所述,由于在B幀中運(yùn)動補(bǔ)償不導(dǎo)致舍入誤差的累積,對于B幀就不需要多種舍入方法了。因此,如這個示例所示,指明舍入方法(即″+″和″-″)的信息不為B幀傳送。因而,例如,即使只有正的舍入應(yīng)用于B幀,也不發(fā)生舍入誤差累積的問題。通過用上述的方法在存儲介質(zhì)上存儲包括有關(guān)B幀的信息的編碼的比特流,當(dāng)這個比特流被讀和解碼時,可以防止出現(xiàn)舍入誤差的累積。
使用在這個說明書中的敘及的編碼方法具體的編碼器和解碼器的示例示于圖14中。通過安裝圖象編碼和解碼軟件于計算機(jī)1401中可以利用圖象編碼和解碼的方法。這個軟件可以記錄在一些種類的存儲介質(zhì)(CD-ROM,軟盤,硬盤等)1412上,使用它們裝入計算機(jī)。另外,通過聯(lián)接計算機(jī)到通信線路上,計算機(jī)可以用作圖象通信終端。還可以將說明書中敘及的解碼方法裝入播放裝置1403,以便記錄在存儲介質(zhì)1402上的編碼比特流被讀取和解碼。在這種情況下,在電視監(jiān)視器1404上可以顯示再現(xiàn)的圖象信號。裝置1403可以只用作讀取編碼的比特流,在這種情況下,可以在電視監(jiān)視器1404上安裝解碼裝置。眾所周知,可以通過使用衛(wèi)星和地波可以實(shí)現(xiàn)數(shù)字?jǐn)?shù)據(jù)的傳輸。解碼裝置還可以安裝在能夠接收如數(shù)字發(fā)射的電視接收機(jī)上。而且解碼裝置也可以安裝在聯(lián)接衛(wèi)星/地波天線的前置盒接收機(jī)內(nèi),或電纜電視系統(tǒng)的電纜1408上,以便在電視監(jiān)視器1410上顯示再現(xiàn)的圖象。在這種情況下,解碼裝置可以與電視監(jiān)視器相結(jié)合,而不是與1404情況的前置盒接收機(jī)結(jié)合。數(shù)字衛(wèi)星電視廣播系統(tǒng)的方案示于1413,1414和1415中。在編碼的比特流中的視頻信息從廣播電臺1413發(fā)送給通信或廣播衛(wèi)星1414。該衛(wèi)星接收這個信息,發(fā)送它到具有接收衛(wèi)星廣播節(jié)目的家庭,和使用電視接收機(jī)或前置盒接收機(jī)這樣的裝置在家庭再現(xiàn)和顯示該視頻信息。由于用很低位率的圖象通信成為可能,使用移動終端1406最近引起相當(dāng)?shù)年P(guān)注。數(shù)字便攜式終端可以分為如下三類具有編碼器和解碼器二者的無線收發(fā)機(jī);只具有編碼器的發(fā)射機(jī);和只具有解碼器的接收機(jī)。編碼裝置可以安裝在視頻攝象機(jī)的錄相機(jī)1407上。攝象機(jī)還可以只用獲得視頻信號,這個信號可以提供給通常的編碼器1411。在這個圖中所示的所有的裝置或系統(tǒng)可以用該說明書中敘及的編碼或/和解碼方法裝備。通過使用在這些裝置或系統(tǒng)中的這個編碼或/和解碼方法,可以得到比用通常的技術(shù)得到的圖象質(zhì)量要好的高質(zhì)量。
下面的變化很清楚包含在本發(fā)明的范圍內(nèi)。
(i)上述概念的先決條件是使用塊匹配作為運(yùn)動補(bǔ)償方法。然而,本發(fā)明還可以進(jìn)一步應(yīng)用到所有圖象序列編碼和解碼方法,在該方法中通過對垂直和水平象素運(yùn)動的分量而不是對象素的垂直和水平方向的取樣周期的整數(shù)倍取值,然后通過內(nèi)插求得取樣值不存在的位置的強(qiáng)度來執(zhí)行運(yùn)動補(bǔ)償。例如,列在日本專利申請No.hei08-060572中的整體運(yùn)動補(bǔ)償和列在日本專利申請No.hei08-249601中包括的預(yù)測應(yīng)用到本發(fā)明的方法中。
(ii)本發(fā)明的說明書僅敘述了對運(yùn)動矢量的水平和垂直分量取1/2的整數(shù)倍的值情形。然而,本發(fā)明還一般地應(yīng)用到運(yùn)動矢量的水平和垂直允許的1/d的整數(shù)倍的方法。然而,當(dāng)d變大時,在雙線性內(nèi)插中的除法的除數(shù)(d的平方,見方程2)也變大,以至于相反地,達(dá)到0.5的值的通常除法的結(jié)果的概率變小,因此,當(dāng)只執(zhí)行正的舍入時,舍入誤差的期望值的絕對值變小,由累積誤差引起的不好的作用不明顯。而且還可應(yīng)用到本發(fā)明的該方法中的是運(yùn)動補(bǔ)償方法,例如,d值是個變量,當(dāng)d小于一個固定的數(shù)值時,正舍入和負(fù)舍入二者被使用,當(dāng)d值大于一個固定的數(shù)值時,只有正舍入或只有負(fù)舍入被使用。
(iii)如現(xiàn)有技術(shù)所述,當(dāng)DCT被用來作為誤差編碼方法時,當(dāng)DCT系數(shù)的量化步驟的規(guī)模大時,來自累積的舍入誤差的不利影響顯露出來。然而,一種方法可以應(yīng)用于本發(fā)明,其中,當(dāng)DCT系數(shù)的量化的步驟的規(guī)模大于一個閾值時,于是正舍入和負(fù)舍入和二者被使用。當(dāng)DCT系數(shù)的量化步驟的規(guī)模小于一個閾值時,于是只有正舍或負(fù)舍入被使用。
(iv)在誤差累積出現(xiàn)在亮度平面的情形和誤差累積出現(xiàn)在色度平面的情形下,在色度平面上有誤差累積的情形下,在再現(xiàn)的圖象上的不好的影響總地說就更嚴(yán)重。這是由于這樣的事實(shí),與圖象稍微黑或亮的情況,相比圖象發(fā)生的顏色整個的變化所造成的惡化更明顯。然而,一種方法可以應(yīng)用到這個發(fā)明,其中正舍入和負(fù)舍入二者用于色度信號,和只有正舍入或負(fù)舍入用于亮度信號。
如在相關(guān)的技術(shù)說明中所述,通過二等分1/2象素精度運(yùn)動矢量得到的1/4象素精度運(yùn)動矢量舍入到H.263中的1/2象素精度。然而,加入一定的變化給這個方法,舍入誤差的絕對值期望值可以減小。在現(xiàn)有技術(shù)中敘及的H.263中,是亮度平面的運(yùn)動矢量的水平或垂直分量的一半的值表示為r+s/4(r是一個整數(shù),s是小于4且不小于0的整數(shù)),和當(dāng)s是1或3,執(zhí)行舍入操作得到2。這個操作可以如下變化當(dāng)s是1,執(zhí)行舍入操作得0,和當(dāng)s是3,1加到r,使得s是0。通過執(zhí)行這些操作,在圖4中的在位置406-408的強(qiáng)度值的倍數(shù)明顯地減小(水平和垂直的運(yùn)動矢量的分量將是整數(shù)的概率變高),以至舍入誤差的絕對期望值變小。然而,即使在這個方法中的誤差出現(xiàn)的大小能夠被限制,也不能夠完全防止誤差的累積。
(v)在這個說明書中敘及的發(fā)明可以應(yīng)用到一種方法中,這種方法通過平均由不同的運(yùn)動補(bǔ)償方法得到的預(yù)測圖象得到最后幀間預(yù)測圖象。例如,在日本專利申請No.Hei8-2616中敘及的方法中通過下面兩種方法使得到的預(yù)測圖象被平均塊匹配,其中運(yùn)動矢量賦于每一個16×16的象素塊;和塊匹配,其中運(yùn)動矢量賦于每一個8×8的象素塊。在這種方法中,當(dāng)計算兩個預(yù)測圖象的平均值時,也執(zhí)行舍入。當(dāng)只有正舍入在這個平均運(yùn)算中連續(xù)執(zhí)行時,累加了新式的舍和誤差。通過在這個平均運(yùn)算中使用多種舍入方法可以解決這個問題。在這個方法中,當(dāng)在塊匹配中執(zhí)行負(fù)舍入時,在平均操作中執(zhí)行正舍入操作。相反,當(dāng)在塊匹配中執(zhí)行負(fù)舍入時,在平均操作中執(zhí)行正舍入操作。通過對平均和塊匹配使用不同的舍入方法,在相同的幀中來自不同的來源的舍入誤差抵消了。
(vi)當(dāng)利用交替地沿時間軸安排P+幀和P-幀的一種方法時,該編碼器或解碼器需要確定現(xiàn)時處理的P幀是P+幀或是P-幀。下面是識別方法的一個示例在最近的編碼或解碼I幀后計數(shù)器計算P幀的數(shù),和當(dāng)數(shù)是奇數(shù)時,現(xiàn)時P幀是P+幀,和當(dāng)是偶數(shù)時,現(xiàn)時P幀是P-幀(這種方法稱作隱含方案)。還有一種方法的例子,在編碼的圖象信息的標(biāo)題部分寫入識別在編碼器現(xiàn)時編碼的P幀是P+幀或P-幀的信息(這種方法稱作顯式方案)。與隱含方案比較,這種方法能很好地經(jīng)受傳輸誤差,這是由于不需要計算P幀的數(shù)目。
另外,顯式方法具有下面的優(yōu)點(diǎn)如在有關(guān)技術(shù)的說明中所述,過時的編碼標(biāo)準(zhǔn)(如MPEG-1或MPEG-2)對運(yùn)動補(bǔ)償只使用正的舍入方法。這意味著在市場上的MPEG-1/MPEG-2運(yùn)動估算/運(yùn)動補(bǔ)償裝置(例如等同于圖1中的106)與使用P+幀和P-幀二者的編碼方法不兼容。這里假定,有一個解碼器,它能夠解碼由使用P+幀和P-幀編碼的方法產(chǎn)生的比特流。在這種情況下,如果解碼器是根據(jù)上述隱含方法,于是它將困難地開發(fā)產(chǎn)生能夠正確地使用上述的解碼器使用上述的MPEG-1/MPEG-2運(yùn)動估算/補(bǔ)償裝置解碼的比特流的編碼器。然而,如果該解碼器是根據(jù)上述的顯式方法,這個問題可以解決。使用MPEG-1/MPEG-2運(yùn)動估算/補(bǔ)償裝置的編碼器通過在幀信息標(biāo)題連續(xù)寫表示正的舍入的舍入方法區(qū)別信息,能夠連續(xù)地發(fā)送P+幀。當(dāng)執(zhí)行它時,根據(jù)顯式方法的解碼器能夠正確地解碼由這個編碼器產(chǎn)生的比特流。當(dāng)然,由于只有P+幀出現(xiàn),它應(yīng)當(dāng)更可能是出現(xiàn)舍入誤差累積的情形。然而,在編碼器只使用小的值作DCT系數(shù)的量化步驟的規(guī)模的情況下誤差累積不是嚴(yán)重的問題(那種編碼器的示例是只用于高速率編碼的通用編碼器)。除了過去標(biāo)準(zhǔn)間的互操作性外,顯式方法還有下面的優(yōu)點(diǎn)(a)高速率的通常編碼器的設(shè)備成本,由于常常插入I幀,編碼器不易于舍入誤差的累積和由于只安裝正的或負(fù)的舍入方法作運(yùn)動補(bǔ)償?shù)南笏刂瞪崛敕椒ǎ靡越档?。?b)上述的編碼器不易于舍入誤差的累積,還有這樣的優(yōu)點(diǎn),不需要決定是否編碼現(xiàn)時的幀作為P+或P-幀,和該操作被簡化。
(vii)在這個說明書中敘及的本發(fā)明可應(yīng)用到將伴隨舍入的濾波應(yīng)用到幀間預(yù)測圖象的編碼和解碼方法。例如,在圖象序列編碼的261行的標(biāo)準(zhǔn)中,低通濾波器(稱之為回路濾波器)應(yīng)用到在幀間預(yù)測圖象中運(yùn)動矢量不是0的塊信號。而且,在H.263中,濾波器能用以平滑塊邊緣上的不連續(xù)性(分塊人工因素)。所有這些濾波器對象素亮度值執(zhí)行加權(quán)平均,然后對平均亮度值執(zhí)行舍入。甚至是這些情況,選擇使用正的和負(fù)的舍入有效地防止誤差累積。
(viii)除了IP+P-P+P-...外,混合如P+P+P-P-P+P+...或IP+P-P-P+P+的P+幀和P-幀的各種方法可以應(yīng)用到本發(fā)明的方法中。例如,使用輸出以50%的概率的0和1二者的隨機(jī)數(shù)發(fā)生器,當(dāng)輸出分別為0和1時,編碼器能夠編碼P+和P-幀。在任何情況下,在一定的時間周期出現(xiàn)P+幀和P-幀的概率差越小,易于出現(xiàn)的舍入誤差累積就越小。另外,當(dāng)用任意的方法編碼器允許混合P+幀和P-幀時,該編碼器和解碼器必須根據(jù)顯式方法和沒有上述的隱含式方法操作。因此當(dāng)從編碼器和解碼器的允許的適應(yīng)性的結(jié)構(gòu)的視圖看顯式方法是優(yōu)越的。
(ix)在本說明書中敘及的本發(fā)明不限定象素值內(nèi)插方法于雙線性內(nèi)插。強(qiáng)度值內(nèi)插方法一般地能由下面的方程表示[方程5]R(x+r,y+s)=T(Σj=-∞∞Σj=-∞∞h(r-j,s-k)R(x+j,y+k))---(5)]]>這里,r和s是實(shí)數(shù),h(r,s)是內(nèi)插實(shí)數(shù)的函數(shù),和T(z)是舍入實(shí)數(shù)z的函數(shù)。R(x,y),x,和y的定義與在方程4中的相同。當(dāng)T(z)是表示正舍入的函數(shù)時,執(zhí)行利用正舍入的運(yùn)動補(bǔ)償,和當(dāng)T(z)是表示負(fù)舍入的函數(shù)時,執(zhí)行利用負(fù)舍入的運(yùn)動補(bǔ)償。本發(fā)明可以應(yīng)用到使用方程5描述的內(nèi)插方法。例如,可以用下面所示的h(r,s)的定義描述雙線性內(nèi)插。
h(r,s)=(1-|r|)(1-|s|),0 ≤|r|≤1,0≤|s|≤1,...(6)0,其他然而,如果例如h(r,s)定義如下,[方程7]h(r,s)=1-|r|-|s|,0≤|r|+|s|≤1,rs<0,1-|r|,|r|≥|s|,|r|≤1,rs≥0, ...(7)1-|s|,|s|>|r|,|s|≤1,rs>0,0, 其他于是不同于雙線性的內(nèi)插的內(nèi)插方法被實(shí)施,但本發(fā)明仍可應(yīng)用。
(x)在本說明書中敘及的本發(fā)明不限定對DCT(離散余弦變換)的誤差圖象的編碼方法。例如,子波變換(例如M.Antonioni等著的″使用子波變換的圖象編碼″在IEEEE會刊.1992.4月圖象處理第1卷第二期,)和Walsh-Hadamard變換(例A.N.Netravalli和B.G.Haskell的″數(shù)字圖象″1998年)都可以應(yīng)用于本發(fā)明。
權(quán)利要求
1.一種運(yùn)動圖象編碼方法,將輸入圖像作為P幀或B幀進(jìn)行編碼,包括在輸入圖像和參照圖像之間進(jìn)行運(yùn)動推測,檢測運(yùn)動矢量,使用上述運(yùn)動矢量和上述參照圖像,合成上述輸入圖像的預(yù)測圖像;求出上述預(yù)測圖像和上述輸入圖像之間的差分,獲得誤差圖像;將關(guān)于上述誤差圖像的信息和關(guān)于上述運(yùn)動矢量的信息包含在上述輸入圖像的編碼信息中輸出,上述進(jìn)行預(yù)測圖像的合成的步驟包括用內(nèi)插運(yùn)算求出上述參照圖象中不存在象素的點(diǎn)的強(qiáng)度值的步驟;將上述輸入圖像作為P幀進(jìn)行編碼和作為B幀進(jìn)行編碼的情況下作為P幀進(jìn)行編碼時,可以使用正舍入方法進(jìn)行上述內(nèi)插運(yùn)算,也可以使用負(fù)舍入方法進(jìn)行上述內(nèi)插運(yùn)算;當(dāng)作為B幀進(jìn)行編碼時,僅使用正舍入方法和負(fù)舍入方法中被預(yù)先固定的一種舍入方法進(jìn)行上述內(nèi)插運(yùn)算。
2.按照權(quán)利要求1所述的運(yùn)動圖像編碼方法,其特征在于上述輸入圖像作為B幀進(jìn)行編碼時按照正舍入方法進(jìn)行上述內(nèi)插運(yùn)算。
3.按照權(quán)利要求1或2所述的運(yùn)動圖像編碼方法,其特征在于上述正舍入方法,在從上述參照圖象中,從具有強(qiáng)度為La的第一象素、與上述第一象素在水平方向相鄰具有強(qiáng)度為Lb的第二象素、與上述第一象素在垂直方向相鄰具有強(qiáng)度為Lc的第三象素、與上述第二象素在垂直方向相鄰并且與上述第三象素在水平方向相鄰具有強(qiáng)度為Ld的第四象素,求出不存在象素的上述第一象素和上述第二象素的中間點(diǎn)的強(qiáng)度Ib,上述第一象素和上述第三象素的中間點(diǎn)的強(qiáng)度Ic,上述第一象素、第二象素、第三象素和第四象素包圍的與它們具有等距離的點(diǎn)的強(qiáng)度Id時,有使用如下舍入方法的情況,其中Ib=[(La+Lb+1)/2],Ic=[(La+Lc+1)/2],Id=[(La+Lb+Lc+Ld+2)/4];上述負(fù)舍入方法有使用如下舍入方法的情況,其中Ib=[(La+Lb)/2],Ic=[(La+Lc)/2],Id=[(La+Lb+Lc+Ld+1)/4]。
4.一種計算機(jī)可讀記錄介質(zhì),記錄運(yùn)動圖象編碼方法,該方法將輸入圖像作為P幀或B幀進(jìn)行編碼,該方法包括在第一幀存儲器中存儲參照圖像的步驟;在第二幀存儲器中存儲輸入圖像的步驟;在上述第二存儲器中存儲的上述輸入圖像和上述第一存儲器中存儲的上述參照圖像之間進(jìn)行運(yùn)動推測,檢測運(yùn)動矢量,使用上述運(yùn)動矢量和上述參照圖像,合成上述輸入圖像的預(yù)測圖像的步驟;求出上述預(yù)測圖像和上述輸入圖像之間的差分,獲得誤差圖像的步驟;將關(guān)于上述誤差圖像的信息和關(guān)于上述運(yùn)動矢量的信息包含在上述輸入圖像的編碼信息中輸出的步驟,上述進(jìn)行預(yù)測圖像的合成的步驟包括用內(nèi)插運(yùn)算求出上述參照圖象中不存在象素的點(diǎn)的強(qiáng)度值的步驟;將上述輸入圖像作為P幀進(jìn)行編碼和作為B幀進(jìn)行編碼的情況下作為P幀進(jìn)行編碼時,可以使用正舍入方法進(jìn)行上述內(nèi)插運(yùn)算,也可以使用負(fù)舍入方法進(jìn)行上述內(nèi)插運(yùn)算;當(dāng)作為B幀進(jìn)行編碼時,僅使用正舍入方法和負(fù)舍入方法中被預(yù)先固定的一種舍入方法進(jìn)行上述內(nèi)插運(yùn)算。
5.按照權(quán)利要求4所述的記錄介質(zhì),其特征在于上述輸入圖像作為B幀進(jìn)行編碼時僅按照正舍入方法進(jìn)行上述內(nèi)插運(yùn)算。
6.按照權(quán)利要求4或5所述的記錄介質(zhì),其特征在于上述正舍入方法,在從上述參照圖象中,從具有強(qiáng)度為La的第一象素、與上述第一象素在水平方向相鄰具有強(qiáng)度為Lb的第二象素、與上述第一象素在垂直方向相鄰具有強(qiáng)度為Lc的第三象素、與上述第二象素在垂直方向相鄰并且與上述第三象素在水平方向相鄰具有強(qiáng)度為Ld的第四象素,求出不存在象素的上述第一象素和上述第二象素的中間點(diǎn)的強(qiáng)度Ib,上述第一象素和上述第三象素的中間點(diǎn)的強(qiáng)度Ic,上述第一象素、第二象素、第三象素和第四象素包圍的與它們具有等距離的點(diǎn)的強(qiáng)度Id時,有使用如下舍入方法的情況,其中Ib=[(La+Lb+1)/2],Ic=[(La+Lc+1)/2],Id=[(La+Lb+Lc+Ld+2)/4];上述負(fù)舍入方法有使用如下舍入方法的情況,其中Ib=[(La+Lb)/2],Ic=[(La+Lc)/2],Id=[(La+Lb+Lc+Ld+1)/4]。
7.一種運(yùn)動矢量編碼設(shè)備,將輸入圖像作為P幀或B幀進(jìn)行編碼,其特征在于包括塊匹配部分,在輸入圖像和參照圖像之間進(jìn)行運(yùn)動推定,檢測運(yùn)動補(bǔ)償,使用該運(yùn)動矢量和上述參照圖像,合成上述輸入圖像的預(yù)測圖像;DCT轉(zhuǎn)換器,將上述預(yù)測圖像和上述輸入圖像之間的差分進(jìn)行DCT轉(zhuǎn)換,獲得DCT系數(shù);量化器,將上述DCT系數(shù)進(jìn)行量化,獲得量化DCT系數(shù);多路化器,將上述量化系數(shù)與關(guān)于上述運(yùn)動矢量的信息進(jìn)行多路化;上述輸入圖像在作為P幀進(jìn)行編碼和作為B幀進(jìn)行編碼的情況下被作為P幀進(jìn)行編碼時,上述塊匹配部分,在預(yù)測圖像的合成中對上述參照圖像中不存在象素的點(diǎn)的強(qiáng)度值進(jìn)行內(nèi)插運(yùn)算時,可以使用正舍入方法進(jìn)行上述內(nèi)插運(yùn)算,也可以使用負(fù)舍入方法進(jìn)行上述內(nèi)插運(yùn)算;當(dāng)作為B幀進(jìn)行編碼時,僅使用正舍入方法和負(fù)舍入方法中被預(yù)先固定的一種舍入方法。
8.按照權(quán)利要求7所述的編碼設(shè)備,其特征在于上述輸入圖像作為B幀進(jìn)行編碼時,上述塊匹配部分,在預(yù)測圖像的合成中對上述參照圖像中不存在象素的點(diǎn)的強(qiáng)度值進(jìn)行內(nèi)插運(yùn)算時,僅按照正舍入方法進(jìn)行上述內(nèi)插運(yùn)算。
9.按照權(quán)利要求7或8所述的編碼設(shè)備,其特征在于上述正舍入方法,在從上述參照圖象中,從具有強(qiáng)度為La的第一象素、與上述第一象素在水平方向相鄰具有強(qiáng)度為Lb的第二象素、與上述第一象素在垂直方向相鄰具有強(qiáng)度為Lc的第三象素、與上述第二象素在垂直方向相鄰并且與上述第三象素在水平方向相鄰具有強(qiáng)度為Ld的第四象素,求出不存在象素的上述第一象素和上述第二象素的中間點(diǎn)的強(qiáng)度Ib,上述第一象素和上述第三象素的中間點(diǎn)的強(qiáng)度Ic,上述第一象素、第二象素、第三象素和第四象素包圍的與它們具有等距離的點(diǎn)的強(qiáng)度Id時,有使用如下舍入方法的情況,其中Ib=[(La+Lb+1)/2],Ic=[(La+Lc+1)/2],Id=[(La+Lb+Lc+Ld+2)/4];上述負(fù)舍入方法有使用如下舍入方法的情況,其中Ib=[(La+Lb)/2],Ic=[(La+Lc)/2],Id=[(La+Lb+Lc+Ld+1)/4]。
全文摘要
本發(fā)明提供了運(yùn)動圖象編碼方法和運(yùn)動圖象編碼設(shè)備。包括在輸入圖像和參照圖像之間進(jìn)行運(yùn)動推測,檢測運(yùn)動矢量,合成上述輸入圖像的預(yù)測圖像;求出上述預(yù)測圖像和上述輸入圖像之間的差分,獲得誤差圖像;將關(guān)于上述誤差圖像的信息和關(guān)于上述運(yùn)動矢量的信息包含在上述輸入圖像的編碼信息中輸出,用內(nèi)插運(yùn)算求出上述參照圖象不存在象素的點(diǎn)的強(qiáng)度值;將上述輸入圖像作為P幀進(jìn)行編碼和作為B幀進(jìn)行編碼的情況下作為P幀進(jìn)行編碼時,可以使用正舍入方法進(jìn)行上述內(nèi)插運(yùn)算,也可以使用負(fù)舍入方法進(jìn)行上述內(nèi)插運(yùn)算;當(dāng)作為B幀進(jìn)行編碼時,僅使用正舍入方法和負(fù)舍入方法中被預(yù)先固定的一種舍入方法進(jìn)行上述內(nèi)插運(yùn)算。本發(fā)明能夠抵消舍入誤差和防止舍入誤差的累積。
文檔編號H04N7/26GK1549601SQ20031011382
公開日2004年11月24日 申請日期1998年6月9日 優(yōu)先權(quán)日1997年6月9日
發(fā)明者中屋雄一郎 申請人:株式會社日立制作所
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1