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

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

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

      數(shù)字圖像序列編碼方法和位流解碼方法與流程

      文檔序號(hào):12697260閱讀:299來(lái)源:國(guó)知局
      數(shù)字圖像序列編碼方法和位流解碼方法與流程

      技術(shù)領(lǐng)域

      本發(fā)明涉及一種用于對(duì)數(shù)字圖像序列進(jìn)行編碼的方法和裝置以及用于對(duì)相應(yīng)的位流進(jìn)行解碼的方法和裝置。

      本發(fā)明屬于數(shù)字信號(hào)處理領(lǐng)域,尤其屬于使用運(yùn)動(dòng)補(bǔ)償來(lái)減少視頻流中的空間冗余和時(shí)間冗余的視頻壓縮領(lǐng)域。



      背景技術(shù):

      例如H.263、H.264、MPEG-1、MPEG-2、MPEG-4、SVC等的許多視頻壓縮格式使用基于塊的離散余弦變換(DCT)和運(yùn)動(dòng)補(bǔ)償以去除空間冗余和時(shí)間冗余。這些格式可被稱(chēng)為預(yù)測(cè)視頻格式。視頻信號(hào)的各幀或圖像被分割成編碼后的并且能夠獨(dú)立進(jìn)行解碼的片(slice)。片通常是幀的矩形部分、或者更通常為幀的一部分或整個(gè)幀。此外,各片被分割成多個(gè)宏塊(MB),并且將各宏塊被進(jìn)一步分割成塊、通常為8×8個(gè)像素的塊。這些編碼幀為(被稱(chēng)為P幀的根據(jù)一個(gè)參考幀而預(yù)測(cè)到的或者被稱(chēng)為B幀的根據(jù)兩個(gè)參考幀而預(yù)測(cè)到的)時(shí)間預(yù)測(cè)幀和非時(shí)間預(yù)測(cè)幀(被稱(chēng)為內(nèi)幀或I幀)這兩種類(lèi)型。

      時(shí)間預(yù)測(cè)在于從參考幀(視頻序列的先前幀或?qū)?lái)幀)中發(fā)現(xiàn)最接近要編碼的塊的圖像部分或參考區(qū)域。該步驟已知為運(yùn)動(dòng)估計(jì)。接著,連同與表示運(yùn)動(dòng)補(bǔ)償要使用的參考區(qū)域的運(yùn)動(dòng)矢量有關(guān)的運(yùn)動(dòng)信息項(xiàng)一起,對(duì)要編碼的塊和參考部分之間的差進(jìn)行編碼(運(yùn)動(dòng)補(bǔ)償)。

      為了進(jìn)一步降低對(duì)運(yùn)動(dòng)信息進(jìn)行編碼的代價(jià),已提出了利用相對(duì)于通常根據(jù)要編碼的塊周?chē)膲K的運(yùn)動(dòng)矢量所計(jì)算出的運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的差來(lái)對(duì)運(yùn)動(dòng)矢量進(jìn)行編碼。

      在H.264中,針對(duì)根據(jù)位于要編碼的塊的因果鄰域(例如根據(jù)位于要編碼的塊的上方和左方的塊)的運(yùn)動(dòng)矢量所計(jì)算出的中值預(yù)測(cè)結(jié)果來(lái)對(duì)運(yùn)動(dòng)矢量進(jìn)行編碼。僅對(duì)中值預(yù)測(cè)結(jié)果和當(dāng)前塊運(yùn)動(dòng)矢量之間的差(還被稱(chēng)為殘差運(yùn)動(dòng)矢量)進(jìn)行編碼。

      使用殘差運(yùn)動(dòng)矢量的編碼節(jié)省了若干位率,但需要解碼器進(jìn)行運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的相同計(jì)算從而對(duì)要編碼的塊的運(yùn)動(dòng)矢量的值進(jìn)行解碼。

      近來(lái),已提出了諸如使用多個(gè)可能運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果等的進(jìn)一步改進(jìn)。被稱(chēng)為運(yùn)動(dòng)矢量競(jìng)爭(zhēng)的該方法在于在幾個(gè)運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果或候選之間判斷哪個(gè)運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果使殘差運(yùn)動(dòng)信息的編碼代價(jià)(通常為率失真代價(jià))最小。該殘差運(yùn)動(dòng)信息包括殘差運(yùn)動(dòng)矢量(即,要編碼的塊的實(shí)際運(yùn)動(dòng)矢量和所選擇的運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果之間的差)、以及例如所選擇的運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的索引的編碼值等的表示所選擇的運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的信息項(xiàng)。

      在目前標(biāo)準(zhǔn)化期間的高效率視頻編碼(HEVC)中,已提出了使用如圖1示意性示出的多個(gè)運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果:從位于要編碼的塊的鄰域的塊提取的3個(gè)所謂的空間運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果V1、V2和V3;基于三個(gè)空間運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果V1、V2和V3的分量所計(jì)算出的中值運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果;以及作為該序列的前一圖像中的同一位置塊(例如位于與圖像N的塊“編碼中”相同的空間位置處的圖像N-1的塊)的運(yùn)動(dòng)矢量的時(shí)間運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果V0。當(dāng)前在HEVC中,根據(jù)可用性的預(yù)定規(guī)則,從位于要編碼的塊的左方的塊(V3)、位于上方的塊(V2)、以及從位于要編碼的塊的各角部的塊之一中提取3個(gè)空間運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果。該運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果選擇方案被稱(chēng)為高級(jí)運(yùn)動(dòng)矢量預(yù)測(cè)(AMVP)。在圖1的例子中,選擇位于左上方的塊的矢量V1。

      最終,獲得了混合有空間預(yù)測(cè)結(jié)果和時(shí)間預(yù)測(cè)結(jié)果的5個(gè)運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果候選的集合。為了減少在位流中傳送運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的開(kāi)銷(xiāo),通過(guò)除去重復(fù)的運(yùn)動(dòng)矢量、即具有相同值的運(yùn)動(dòng)矢量來(lái)縮減運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的集合。例如,在圖1的例示中,V1和V2相等,并且V0和V3也相等,因而應(yīng)僅保持這四者中的兩個(gè)(例如,V0和V1)作為運(yùn)動(dòng)矢量預(yù)測(cè)候選。在這種情況下,僅需要1位來(lái)向解碼器指示運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的索引。

      可以基于預(yù)測(cè)結(jié)果的值來(lái)進(jìn)一步縮減運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的集合。在得知運(yùn)動(dòng)矢量殘差和編碼器的代價(jià)優(yōu)化標(biāo)準(zhǔn)的情況下,一旦選擇了最佳的運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果并且計(jì)算出運(yùn)動(dòng)矢量殘差,可以從該預(yù)測(cè)集合中進(jìn)一步除去尚未選擇的候選。由于可以使用較少的位來(lái)對(duì)所選擇的運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的指示進(jìn)行編碼,因此充分縮減預(yù)測(cè)結(jié)果的集合使得獲得信令開(kāi)銷(xiāo)。在極限的情況下,例如如果所有的運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果都相等,則可以將候選的集合縮減為1,因此無(wú)需將與所選擇的運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果有關(guān)的任何信息插入位流。

      概括而言,利用與運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的差所進(jìn)行的運(yùn)動(dòng)矢量的編碼連同運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果候選的數(shù)量的縮減一起會(huì)導(dǎo)致壓縮增益。然而,如上所述,對(duì)于給定要編碼的塊,運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果候選的數(shù)量的縮減基于該集合的運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果所取的值、特別是相鄰塊的運(yùn)動(dòng)矢量的值和同一位置塊的運(yùn)動(dòng)矢量的值。此外,解碼器需要能夠?qū)赡苓\(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的集合應(yīng)用與編碼器相同的分析,從而推知表示所選擇的運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果所使用的位量、能夠?qū)\(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的索引進(jìn)行解碼、并且最終使用接收到的運(yùn)動(dòng)矢量殘差對(duì)運(yùn)動(dòng)矢量進(jìn)行解碼。參考圖1的示例,利用編碼器將塊“編碼中”的運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的集合縮減為V0和V1,因而將索引編碼到一位上。在圖像N-1的塊“同一位置”在傳輸期間丟失的情況下,解碼器無(wú)法獲得V0的值,因此無(wú)法得出V0和V3相等。因此,解碼器無(wú)法發(fā)現(xiàn)使用多少位來(lái)對(duì)塊“編碼中”的運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的索引進(jìn)行編碼,結(jié)果解碼器由于其無(wú)法發(fā)現(xiàn)索引編碼在何處停止以及視頻數(shù)據(jù)的編碼在何處開(kāi)始因此無(wú)法正確地解析片的數(shù)據(jù)。

      因此,在有損通信網(wǎng)絡(luò)上將位流傳輸至解碼器的情況下,發(fā)送運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果所使用的位數(shù)依賴(lài)于運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果所取的值這一事實(shí)使得該方法非常容易受通信錯(cuò)誤所影響。實(shí)際上,該方法需要了解運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的值以在解碼器處正確地解析位流。在包丟失的情況下,當(dāng)某些運(yùn)動(dòng)矢量殘差值丟失時(shí),解碼器無(wú)法判斷使用多少位來(lái)對(duì)表示運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的索引進(jìn)行編碼,因而無(wú)法正確地解析位流。這種錯(cuò)誤可能會(huì)傳播,由此造成在解碼器接收到隨后的未經(jīng)預(yù)測(cè)的編碼后的同步圖像之前發(fā)生解碼器的去同步。

      期望即使在包丟失的情況下也至少能夠在解碼器處對(duì)編碼位流進(jìn)行解析,以使得隨后可以應(yīng)用某些去同步或錯(cuò)誤隱藏。

      在2010年10月7~15日于廣州召開(kāi)的視頻編碼聯(lián)合組(JTC-VC)第三次會(huì)議上K.Sato所發(fā)布的文獻(xiàn)JCTVC-C166r1,“TE11:Study on motion vector coding(experiment 3.3a and 3.3c)”中提出了僅使用預(yù)測(cè)結(jié)果集合內(nèi)的來(lái)自同一片的空間運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果。該解決方案解決了在片丟失的情況下在解碼器處進(jìn)行解析的問(wèn)題。然而,由于不再使用時(shí)間運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果,因此編碼效率顯著下降。因此,該解決方案在壓縮性能方面不令人滿(mǎn)意。



      技術(shù)實(shí)現(xiàn)要素:

      期望解決一個(gè)或多個(gè)現(xiàn)有技術(shù)的缺陷。

      根據(jù)本發(fā)明的一個(gè)方面,提供一種用于將數(shù)字圖像序列編碼成位流的方法,其中圖像的至少一部分是通過(guò)相對(duì)于參考圖像部分的運(yùn)動(dòng)補(bǔ)償來(lái)進(jìn)行編碼的,所述方法包括以下步驟:針對(duì)要編碼的圖像部分獲得運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的初始集合;測(cè)試所述初始集合的運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的數(shù)量(N;N1)是否低于目標(biāo)數(shù)量,并且在低于所述目標(biāo)數(shù)量的情況下,向所述初始集合添加一個(gè)或多個(gè)運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果以生成運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的集合;以及從所生成的運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的集合中選擇用于所述要編碼的圖像部分的運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果,其中,所述初始集合的運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果是具有從編碼中圖像或參考圖像的圖像部分獲得的運(yùn)動(dòng)矢量的實(shí)際運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果,以及用于添加的可能運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果包括一個(gè)或多個(gè)其它實(shí)際運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果,并且還包括不具有從所述編碼中圖像或所述參考圖像的圖像部分獲得的運(yùn)動(dòng)矢量的一個(gè)或多個(gè)虛擬運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果。

      根據(jù)本發(fā)明的另一方面,提供一種用于對(duì)包括編碼后的數(shù)字圖像序列的位流進(jìn)行解碼的方法,其中圖像的至少一部分是通過(guò)相對(duì)于參考圖像的運(yùn)動(dòng)補(bǔ)償來(lái)進(jìn)行編碼的,所述方法包括以下步驟:針對(duì)要解碼的圖像部分獲得運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的初始集合;測(cè)試所述初始集合的運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的數(shù)量是否低于目標(biāo)數(shù)量,并且在低于目標(biāo)數(shù)量的情況下,向所述初始集合添加一個(gè)或多個(gè)運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果以生成運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的集合;以及使用所生成的運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的集合來(lái)確定用于所述要解碼的圖像部分的運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果,其中,所述初始集合的運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果是具有從解碼中圖像或參考圖像的圖像部分獲得的運(yùn)動(dòng)矢量的實(shí)際運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果,以及用于添加的可能運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果包括一個(gè)或多個(gè)其它實(shí)際運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果,并且還包括不具有從所述解碼中圖像或所述參考圖像的圖像部分獲得的運(yùn)動(dòng)矢量的一個(gè)或多個(gè)虛擬運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果。

      根據(jù)本發(fā)明的另一方面,提供一種用于將數(shù)字圖像序列編碼成位流的裝置,其中圖像的至少一部分是通過(guò)相對(duì)于參考圖像部分的運(yùn)動(dòng)補(bǔ)償來(lái)進(jìn)行編碼的,所述裝置包括以下部件:用于針對(duì)要編碼的圖像部分獲得運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的初始集合的部件;用于測(cè)試所述初始集合的運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的數(shù)量是否低于目標(biāo)數(shù)量、并且在低于目標(biāo)數(shù)量的情況下向所述初始集合添加一個(gè)或多個(gè)運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果以生成運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的集合的部件;以及用于從所生成的運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的集合中選擇用于所述要編碼的圖像部分的運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的部件,其中,所述初始集合的運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果是具有從編碼中圖像或參考圖像的圖像部分獲得的運(yùn)動(dòng)矢量的實(shí)際運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果,以及用于添加的可能運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果包括一個(gè)或多個(gè)其它實(shí)際運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果,并且還包括不具有從所述編碼中圖像或所述參考圖像的圖像部分獲得的運(yùn)動(dòng)矢量的一個(gè)或多個(gè)虛擬運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果。

      根據(jù)本發(fā)明的另一方面,提供一種用于對(duì)包括編碼后的數(shù)字圖像序列的位流進(jìn)行解碼的裝置,其中圖像的至少一部分是通過(guò)相對(duì)于參考圖像的運(yùn)動(dòng)補(bǔ)償來(lái)進(jìn)行編碼的,所述裝置包括以下部件:用于針對(duì)要解碼的圖像部分獲得運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的初始集合的部件;用于測(cè)試所述初始集合的運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的數(shù)量是否低于目標(biāo)數(shù)量、并且在低于目標(biāo)數(shù)量的情況下向所述初始集合添加一個(gè)或多個(gè)運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果以生成運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的集合的部件;以及用于使用所生成的運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的集合來(lái)確定用于所述要解碼的圖像部分的運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的部件,其中,所述初始集合的運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果是具有從解碼中圖像或參考圖像的圖像部分獲得的運(yùn)動(dòng)矢量的實(shí)際運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果,以及用于添加的可能運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果包括一個(gè)或多個(gè)其它實(shí)際運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果,并且還包括不具有從所述解碼中圖像或所述參考圖像的圖像部分獲得的運(yùn)動(dòng)矢量的一個(gè)或多個(gè)虛擬運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果。

      根據(jù)本發(fā)明的另一方面,提供一種計(jì)算機(jī)程序,其中所述計(jì)算機(jī)程序在運(yùn)行在計(jì)算機(jī)上的情況下,使計(jì)算機(jī)執(zhí)行如上所述的用于對(duì)數(shù)字視頻信號(hào)進(jìn)行編碼的方法或者如上所述的用于對(duì)位流進(jìn)行解碼的方法。該程序可以存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上。

      根據(jù)本發(fā)明的另一方面,提供一種用于將數(shù)字圖像序列編碼成位流的方法,其中圖像的至少一部分是通過(guò)相對(duì)于參考圖像部分的運(yùn)動(dòng)補(bǔ)償來(lái)進(jìn)行編碼的,所述方法包括以下步驟:針對(duì)要編碼的圖像部分獲得運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的初始集合;測(cè)試所述初始集合的運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的數(shù)量是否低于目標(biāo)數(shù)量,并且在低于所述目標(biāo)數(shù)量的情況下,向所述初始集合添加一個(gè)或多個(gè)運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果以生成具有受控多樣性的運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的集合;以及從所生成的運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的集合中選擇用于所述要編碼的圖像部分的運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果。

      在一個(gè)實(shí)施例中,所述初始集合的運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果是具有從編碼中圖像或參考圖像的圖像部分獲得的運(yùn)動(dòng)矢量的實(shí)際運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果,以及用于添加的可能運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果包括一個(gè)或多個(gè)其它實(shí)際運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果,并且還包括不具有從所述編碼中圖像或所述參考圖像的圖像部分獲得的運(yùn)動(dòng)矢量的一個(gè)或多個(gè)虛擬運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果。

      在一個(gè)實(shí)施例中,所述方法還包括以下步驟:測(cè)試所述初始集合的運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的數(shù)量是否低于所述目標(biāo)數(shù)量,并且在“是”的情況下,首先添加一個(gè)或多個(gè)所述其它實(shí)際運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果,然后再次測(cè)試在添加了所述其它實(shí)際運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果之后運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的數(shù)量是否低于所述目標(biāo)數(shù)量,并且在“是”的情況下,添加一個(gè)或多個(gè)所述虛擬運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果。

      在一個(gè)實(shí)施例中,至少一個(gè)所述虛擬運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果是根據(jù)現(xiàn)有運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果計(jì)算出的。

      在一個(gè)實(shí)施例中,向現(xiàn)有運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的運(yùn)動(dòng)矢量加上補(bǔ)充矢量,其中所述補(bǔ)充矢量相對(duì)于所述現(xiàn)有運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的運(yùn)動(dòng)矢量的方向具有預(yù)先確定的方向。

      在一個(gè)實(shí)施例中,所述補(bǔ)充矢量的大小依賴(lài)于所述現(xiàn)有運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的運(yùn)動(dòng)矢量的大小。

      在一個(gè)實(shí)施例中,所述補(bǔ)充矢量具有與所述現(xiàn)有運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的運(yùn)動(dòng)矢量的各相應(yīng)分量成比例的分量。

      在一個(gè)實(shí)施例中,所述方法還包括以下步驟:對(duì)表示所選擇的運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的信息項(xiàng)進(jìn)行編碼。

      在一個(gè)實(shí)施例中,所述方法還包括以下步驟:在所述位流中發(fā)送所述目標(biāo)數(shù)量。

      在一個(gè)實(shí)施例中,所述方法還包括以下步驟:從所述初始集合中除去重復(fù)值。

      根據(jù)本發(fā)明的另一方面,提供一種用于對(duì)包括編碼后的數(shù)字圖像序列的位流進(jìn)行解碼的方法,其中圖像的至少一部分是通過(guò)相對(duì)于參考圖像的運(yùn)動(dòng)補(bǔ)償來(lái)進(jìn)行編碼的,所述方法包括以下步驟:針對(duì)要解碼的圖像部分獲得運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的初始集合;測(cè)試所述初始集合的運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的數(shù)量是否低于目標(biāo)數(shù)量,并且在低于目標(biāo)數(shù)量的情況下,向所述初始集合添加一個(gè)或多個(gè)運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果以生成具有受控多樣性的運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的集合;以及從所生成的運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的集合中確定用于所述要解碼的圖像部分的運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果。

      在一個(gè)實(shí)施例中,所述方法還包括以下步驟:對(duì)表示所選擇的用于所述要解碼的圖像部分的運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的信息項(xiàng)進(jìn)行解碼。

      在一個(gè)實(shí)施例中,所述方法還包括以下步驟:使用解碼后的信息項(xiàng)來(lái)從所生成的運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的集合中檢索所選擇的運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果。

      在一個(gè)實(shí)施例中,所述初始集合的運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果是具有從解碼中圖像或參考圖像的圖像部分獲得的運(yùn)動(dòng)矢量的實(shí)際運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果,以及用于添加的可能運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果包括一個(gè)或多個(gè)其它實(shí)際運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果,并且還包括不具有從所述解碼中圖像或所述參考圖像的圖像部分獲得的運(yùn)動(dòng)矢量的一個(gè)或多個(gè)虛擬運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果。

      在一個(gè)實(shí)施例中,所述方法還包括以下步驟:測(cè)試所述初始集合的運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的數(shù)量是否低于所述目標(biāo)數(shù)量,并且在“是”的情況下,首先添加一個(gè)或多個(gè)所述其它實(shí)際運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果,然后再次測(cè)試在添加了所述其它實(shí)際運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果之后運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的數(shù)量是否低于所述目標(biāo)數(shù)量,并且在“是”的情況下,添加一個(gè)或多個(gè)所述虛擬運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果。

      在一個(gè)實(shí)施例中,至少一個(gè)所述虛擬運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果是根據(jù)現(xiàn)有運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果計(jì)算出的。

      在一個(gè)實(shí)施例中,向現(xiàn)有運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的運(yùn)動(dòng)矢量加上補(bǔ)充矢量,其中所述補(bǔ)充矢量相對(duì)于所述現(xiàn)有運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的運(yùn)動(dòng)矢量的方向具有預(yù)先確定的方向。

      在一個(gè)實(shí)施例中,所述補(bǔ)充矢量的大小依賴(lài)于所述現(xiàn)有運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的運(yùn)動(dòng)矢量的大小。

      在一個(gè)實(shí)施例中,所述補(bǔ)充矢量具有與所述現(xiàn)有運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的運(yùn)動(dòng)矢量的各相應(yīng)分量成比例的分量。

      在一個(gè)實(shí)施例中,所述方法還包括以下步驟:從所述位流獲得所述目標(biāo)數(shù)量。

      在一個(gè)實(shí)施例中,所述方法還包括以下步驟:從所述初始集合中除去重復(fù)值。

      本發(fā)明的其它方面提供一種編碼所用的相應(yīng)裝置、解碼所用的相應(yīng)裝置、以及相應(yīng)的計(jì)算機(jī)程序和計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。

      根據(jù)本發(fā)明的另一方面,提供一種用于將數(shù)字圖像序列編碼成位流的方法,其中圖像的至少一部分是通過(guò)相對(duì)于參考圖像部分的運(yùn)動(dòng)補(bǔ)償來(lái)進(jìn)行編碼的,所述方法包括以下步驟:針對(duì)要編碼的圖像部分獲得運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的第一集合;進(jìn)行所述第一集合的運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的數(shù)量是否低于目標(biāo)數(shù)量的第一測(cè)試,并且在低于所述目標(biāo)數(shù)量的情況下,進(jìn)行向所述第一集合添加一個(gè)或多個(gè)運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果以獲得運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的第二集合的第一添加處理;進(jìn)行所述第二集合的運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的數(shù)量是否低于所述目標(biāo)數(shù)量的第二測(cè)試,并且在低于所述目標(biāo)數(shù)量的情況下,進(jìn)行向所述第二集合添加一個(gè)或多個(gè)運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果以生成具有受控多樣性的運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的集合的第二添加處理;以及從所生成的運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的集合中選擇用于所述要編碼的圖像部分的運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果。

      在一個(gè)實(shí)施例中,所述第一集合的運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果是具有從編碼中圖像或參考圖像的圖像部分獲得的運(yùn)動(dòng)矢量的實(shí)際運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果,以及所述第一添加處理添加一個(gè)或多個(gè)其它實(shí)際運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果,并且所述第二添加處理添加不具有從所述編碼中圖像或所述參考圖像的圖像部分獲得的運(yùn)動(dòng)矢量的一個(gè)或多個(gè)虛擬運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果。

      在一個(gè)實(shí)施例中,至少一個(gè)所述虛擬運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果是根據(jù)現(xiàn)有運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果計(jì)算出的。

      在一個(gè)實(shí)施例中,向現(xiàn)有運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的運(yùn)動(dòng)矢量加上補(bǔ)充矢量,其中所述補(bǔ)充矢量相對(duì)于所述現(xiàn)有運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的運(yùn)動(dòng)矢量的方向具有預(yù)先確定的方向。

      在一個(gè)實(shí)施例中,所述補(bǔ)充矢量的大小依賴(lài)于所述現(xiàn)有運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的運(yùn)動(dòng)矢量的大小。

      在一個(gè)實(shí)施例中,所述補(bǔ)充矢量具有與所述現(xiàn)有運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的運(yùn)動(dòng)矢量的各相應(yīng)分量成比例的分量。

      在一個(gè)實(shí)施例中,所述方法還包括以下步驟:對(duì)表示所選擇的運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的信息項(xiàng)進(jìn)行編碼。

      在一個(gè)實(shí)施例中,所述方法還包括以下步驟:在所述位流中發(fā)送所述目標(biāo)數(shù)量。

      在一個(gè)實(shí)施例中,所述方法還包括以下步驟:從所述初始集合中除去重復(fù)值。

      根據(jù)本發(fā)明的另一方面,提供一種用于對(duì)包括編碼后的數(shù)字圖像序列的位流進(jìn)行解碼的方法,其中圖像的至少一部分是通過(guò)相對(duì)于參考圖像的運(yùn)動(dòng)補(bǔ)償來(lái)進(jìn)行編碼的,所述方法包括以下步驟:針對(duì)要解碼的圖像部分獲得運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的第一集合;進(jìn)行所述第一集合的運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的數(shù)量是否低于目標(biāo)數(shù)量的第一測(cè)試,并且在低于所述目標(biāo)數(shù)量的情況下,進(jìn)行向所述第一集合添加一個(gè)或多個(gè)運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果以獲得運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的第二集合的第一添加處理;進(jìn)行所述第二集合的運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的數(shù)量是否低于所述目標(biāo)數(shù)量的第二測(cè)試,并且在低于所述目標(biāo)數(shù)量的情況下,進(jìn)行向所述第二集合添加一個(gè)或多個(gè)運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果以生成具有受控多樣性的運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的集合的第二添加處理;以及從所生成的運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的集合中確定用于所述要解碼的圖像部分的運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果。

      在一個(gè)實(shí)施例中,所述方法還包括以下步驟:對(duì)表示所選擇的用于所述要解碼的圖像部分的運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的信息項(xiàng)進(jìn)行解碼。

      在一個(gè)實(shí)施例中,所述方法還包括以下步驟:使用解碼后的信息項(xiàng)來(lái)從所生成的運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的集合中檢索所選擇的運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果。

      在一個(gè)實(shí)施例中,所述第一集合的運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果是具有從解碼中圖像或參考圖像的圖像部分獲得的運(yùn)動(dòng)矢量的實(shí)際運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果,以及所述第一添加處理添加一個(gè)或多個(gè)其它實(shí)際運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果,并且所述第二添加處理添加不具有從所述解碼中圖像或所述參考圖像的圖像部分獲得的運(yùn)動(dòng)矢量的一個(gè)或多個(gè)虛擬運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果。

      在一個(gè)實(shí)施例中,至少一個(gè)所述虛擬運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果是根據(jù)現(xiàn)有運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果計(jì)算出的。

      在一個(gè)實(shí)施例中,向現(xiàn)有運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的運(yùn)動(dòng)矢量加上補(bǔ)充矢量,其中所述補(bǔ)充矢量相對(duì)于所述現(xiàn)有運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的運(yùn)動(dòng)矢量的方向具有預(yù)先確定的方向。

      在一個(gè)實(shí)施例中,所述補(bǔ)充矢量的大小依賴(lài)于所述現(xiàn)有運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的運(yùn)動(dòng)矢量的大小。

      在一個(gè)實(shí)施例中,所述補(bǔ)充矢量具有與所述現(xiàn)有運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的運(yùn)動(dòng)矢量的各相應(yīng)分量成比例的分量。

      在一個(gè)實(shí)施例中,所述方法還包括以下步驟:從所述位流獲得所述目標(biāo)數(shù)量。

      在一個(gè)實(shí)施例中,所述方法還包括以下步驟:從所述初始集合中除去重復(fù)值。

      本發(fā)明的其它方面提供一種編碼所用的相應(yīng)裝置、解碼所用的相應(yīng)裝置、以及相應(yīng)的計(jì)算機(jī)程序和計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。

      還期望提供如下一種方法,其中該方法使得即使在因傳輸損失而損壞的位流的情況下也能夠在解碼器處進(jìn)行正確解析,同時(shí)保持良好的壓縮效率。

      為此,本發(fā)明涉及一種用于將數(shù)字圖像序列編碼成位流的方法,其中圖像的至少一部分是通過(guò)相對(duì)于參考圖像部分的運(yùn)動(dòng)補(bǔ)償來(lái)進(jìn)行編碼的。針對(duì)至少一個(gè)要編碼的圖像部分,所述方法包括以下步驟:

      -獲得所述要編碼的圖像部分要使用的運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的目標(biāo)數(shù)量,以及

      -生成包括所述目標(biāo)數(shù)量的運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的集合,其中所生成的集合的各運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果不同于所生成的集合的任何其它運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果。

      有利地,本發(fā)明的方法使得能夠系統(tǒng)地確定對(duì)與圖像部分相關(guān)聯(lián)的諸如運(yùn)動(dòng)矢量等的運(yùn)動(dòng)信息進(jìn)行編碼要使用的運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的目標(biāo)數(shù)量,并且通過(guò)生成全部彼此不同的運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的集合來(lái)有利地改善壓縮。使用固定的運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的目標(biāo)數(shù)量的潛在開(kāi)銷(xiāo)由所選擇的各種預(yù)測(cè)結(jié)果來(lái)補(bǔ)償,從而有助于改善壓縮率。不同的運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的目標(biāo)數(shù)量與作為用于要編碼的當(dāng)前圖像部分的運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果所選擇的諸如運(yùn)動(dòng)矢量等的運(yùn)動(dòng)信息的項(xiàng)的實(shí)際值無(wú)關(guān)地確定的并且是固定的。

      本發(fā)明的實(shí)施例在例如使用AMVP的情況那樣、初始生成的運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的數(shù)量先驗(yàn)未知的情況下是有效的。例如,在執(zhí)行初始集合的縮減、并且通過(guò)縮減處理所除去的初始預(yù)測(cè)結(jié)果的數(shù)量是先驗(yàn)未知的情況下,本發(fā)明的實(shí)施例可用于確保運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的最終集合包括目標(biāo)數(shù)量的運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果。

      根據(jù)實(shí)施例,編碼方法還包括以下步驟:

      -從所述所生成的運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的集合中選擇用于所述要編碼的圖像部分的運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果,以及

      -基于所獲得的所述目標(biāo)數(shù)量來(lái)對(duì)表示所述所選擇的運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的信息項(xiàng)進(jìn)行編碼。

      有利地,可以針對(duì)要編碼的當(dāng)前塊選擇運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果并且可以根據(jù)所確定的運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的數(shù)量對(duì)所選擇的運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果進(jìn)行編碼。解碼器可以系統(tǒng)地檢索到運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的數(shù)量,由此即使在損失的情況下也可以在解碼器處系統(tǒng)地對(duì)編碼位流進(jìn)行解析。

      根據(jù)實(shí)施例,表示所述所選擇的運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的信息項(xiàng)是所生成的運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的集合中的所選擇運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的索引,并且將該索引編碼到依賴(lài)于所獲得的所述目標(biāo)數(shù)量的位數(shù)上。

      根據(jù)實(shí)施例,在獲得所述要編碼的圖像部分要使用的運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的目標(biāo)數(shù)量的步驟中,針對(duì)數(shù)字圖像的序列中的任何要編碼的圖像部分將所述目標(biāo)數(shù)量設(shè)置得等于預(yù)定值。

      本實(shí)施例的優(yōu)點(diǎn)在于以下:在編碼器和解碼器這兩者處,可以在無(wú)需任何輔助計(jì)算或信令開(kāi)銷(xiāo)的情況下容易地獲得運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的目標(biāo)數(shù)量。

      根據(jù)另一實(shí)施例,在獲得所述要編碼的圖像部分要使用的運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的目標(biāo)數(shù)量的步驟中,針對(duì)給定要編碼的圖像部分,根據(jù)所述給定要編碼的圖像部分的編碼信息來(lái)確定所述目標(biāo)數(shù)量。

      有利地,這種編碼信息可以是編碼參數(shù),例如在將圖像分割成可變大小的宏塊以進(jìn)行處理的情況下要編碼的圖像部分所屬于的宏塊的大小等。這種編碼信息例如還可以是與要編碼的圖像部分相關(guān)聯(lián)的編碼模式。

      根據(jù)又一方面,本發(fā)明涉及一種用于將數(shù)字圖像序列編碼成位流的裝置,其中圖像的至少一部分是通過(guò)相對(duì)于參考圖像部分的運(yùn)動(dòng)補(bǔ)償來(lái)進(jìn)行編碼的。針對(duì)至少一個(gè)要編碼的圖像部分,所述裝置包括:

      -用于獲得所述要編碼的圖像部分要使用的運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的目標(biāo)數(shù)量的部件,以及

      -用于生成包括所述目標(biāo)數(shù)量的運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的集合的部件,其中所生成的集合的各運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果不同于所生成的集合的任何其它運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果。

      根據(jù)又一方面,本發(fā)明還涉及一種能夠載入可編程設(shè)備的計(jì)算機(jī)程序產(chǎn)品,包括指令序列,其中所述指令序列用于在將所述計(jì)算機(jī)程序載入所述可編程設(shè)備并且由所述可編程設(shè)備來(lái)執(zhí)行的情況下,實(shí)現(xiàn)如以上簡(jiǎn)要說(shuō)明的用于對(duì)數(shù)字圖像序列進(jìn)行編碼的方法。這種計(jì)算機(jī)程序可以是瞬態(tài)或非瞬態(tài)的。在實(shí)現(xiàn)中,該計(jì)算機(jī)程序可以存儲(chǔ)在非瞬態(tài)計(jì)算機(jī)可讀載體介質(zhì)上。

      用于對(duì)數(shù)字圖像序列進(jìn)行編碼的裝置、存儲(chǔ)部件和計(jì)算機(jī)程序產(chǎn)品的特定特征和優(yōu)點(diǎn)與數(shù)字視頻信號(hào)編碼方法的特征和優(yōu)點(diǎn)類(lèi)似,因而這里不進(jìn)行重復(fù)。

      根據(jù)又一方面,本發(fā)明還涉及一種用于對(duì)包括編碼后的數(shù)字圖像序列的位流進(jìn)行解碼的方法,其中圖像的至少一部分是通過(guò)相對(duì)于參考圖像部分的運(yùn)動(dòng)補(bǔ)償來(lái)進(jìn)行編碼的。針對(duì)至少一個(gè)所述要解碼的圖像部分,所述方法包括以下步驟:

      -獲得所述要解碼的圖像部分要使用的運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的目標(biāo)數(shù)量,以及

      -生成包括所述目標(biāo)數(shù)量的運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的集合,其中所生成的集合的各運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果不同于所生成的集合的任何其它運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果。

      用于對(duì)位流進(jìn)行解碼的方法具有使得能夠確定運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的目標(biāo)數(shù)量并且使用這些數(shù)量的不同運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的優(yōu)點(diǎn)。可以系統(tǒng)地檢索到運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的目標(biāo)數(shù)量,結(jié)果即使在傳輸錯(cuò)誤的情況下也可以系統(tǒng)地解析位流。另一優(yōu)點(diǎn)如下:在所有情況下,位流的解析簡(jiǎn)單,并且特別是與不使用解碼器能夠獲得的預(yù)定目標(biāo)數(shù)量的、自適應(yīng)地縮減運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的數(shù)量的現(xiàn)有技術(shù)方法相比更為簡(jiǎn)單。

      根據(jù)實(shí)施例,該方法還包括基于所獲得的所述目標(biāo)數(shù)量來(lái)對(duì)表示所選擇的用于所述要解碼的圖像部分的運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的信息項(xiàng)進(jìn)行解碼的步驟。

      有利地,如果在編碼器處應(yīng)用了依賴(lài)于運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的數(shù)量的編碼的情況下,則即使在傳輸錯(cuò)誤的情況下,也可以系統(tǒng)地對(duì)表示所選擇的用于所述要解碼的圖像部分的運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的信息項(xiàng)進(jìn)行解碼。

      根據(jù)又一方面,本發(fā)明還涉及一種用于對(duì)包括編碼后的數(shù)字圖像序列的位流進(jìn)行解碼的裝置,其中圖像的至少一部分是通過(guò)相對(duì)于參考圖像部分的運(yùn)動(dòng)補(bǔ)償來(lái)進(jìn)行編碼的。針對(duì)至少一個(gè)所述要解碼的圖像部分,所述裝置包括:

      -用于獲得所述要解碼的圖像部分要使用的運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的目標(biāo)數(shù)量的部件,以及

      -用于生成包括所述目標(biāo)數(shù)量的運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的集合的部件,其中所生成的集合的各運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果不同于所生成的集合的任何其它運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果。

      根據(jù)又一方面,本發(fā)明還涉及一種計(jì)算機(jī)或微處理器能夠讀取的信息存儲(chǔ)部件,其中該存儲(chǔ)部件是能夠移除的,并且存儲(chǔ)有實(shí)現(xiàn)如以上簡(jiǎn)要說(shuō)明的用于對(duì)位流進(jìn)行解碼的方法所用的計(jì)算機(jī)程序的指令。

      根據(jù)又一方面,本發(fā)明還涉及一種能夠載入可編程設(shè)備的計(jì)算機(jī)程序產(chǎn)品,包括指令序列,其中所述指令序列用于在將所述計(jì)算機(jī)程序載入所述可編程設(shè)備并且由所述可編程設(shè)備來(lái)執(zhí)行的情況下,實(shí)現(xiàn)如以上簡(jiǎn)要說(shuō)明的用于對(duì)位流進(jìn)行解碼的方法。這種計(jì)算機(jī)程序可以是瞬態(tài)或非瞬態(tài)的。在實(shí)現(xiàn)中,該計(jì)算機(jī)程序可以存儲(chǔ)在非瞬態(tài)計(jì)算機(jī)可讀載體介質(zhì)上。

      用于對(duì)位流進(jìn)行解碼的裝置、存儲(chǔ)部件和計(jì)算機(jī)程序產(chǎn)品的特定特征和優(yōu)點(diǎn)與解碼方法的特征和優(yōu)點(diǎn)類(lèi)似,因而這里不進(jìn)行重復(fù)。

      根據(jù)本發(fā)明的另一方面,提供一種用于將數(shù)字圖像序列編碼成位流的方法,其中圖像的至少一部分是通過(guò)相對(duì)于參考圖像部分的運(yùn)動(dòng)補(bǔ)償來(lái)進(jìn)行編碼的,所述方法包括以下步驟:生成具有受控多樣性的運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的集合;以及從所述所生成的運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的集合中選擇用于所述要編碼的圖像部分的運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果。

      受控多樣性意味著該集合的運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果彼此不同,但這些運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果中的一個(gè)或多個(gè)從統(tǒng)計(jì)上有可能接近實(shí)際運(yùn)動(dòng)信息由此殘差(實(shí)際運(yùn)動(dòng)信息和所關(guān)注的預(yù)測(cè)結(jié)果之間的差)小,因而能夠高效地進(jìn)行壓縮。

      所述方法可以包括以下步驟:

      生成第一運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果;

      將一個(gè)或多個(gè)第一運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果識(shí)別為種子預(yù)測(cè)結(jié)果;

      基于種子預(yù)測(cè)結(jié)果來(lái)生成一個(gè)或多個(gè)第二運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果;以及

      根據(jù)第一和/或第二運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果來(lái)形成運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的所述集合。

      在這種情況下,第一運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果可以是從統(tǒng)計(jì)上有望在壓縮效率方面得到良好結(jié)果的預(yù)測(cè)結(jié)果。然后,可以使用基于第一預(yù)測(cè)結(jié)果的第二運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果來(lái)以有組織或系統(tǒng)方式研究第一預(yù)測(cè)結(jié)果附近的預(yù)測(cè)結(jié)果空間內(nèi)的其它預(yù)測(cè)結(jié)果。這些預(yù)測(cè)結(jié)果也有望得到良好結(jié)果,并且研究的預(yù)測(cè)結(jié)果越多,發(fā)現(xiàn)與實(shí)際運(yùn)動(dòng)信息良好匹配的機(jī)會(huì)越大。

      在一個(gè)實(shí)施例中,基于所關(guān)注的第一運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的重要度來(lái)將至少一個(gè)第一運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果識(shí)別為這種種子預(yù)測(cè)結(jié)果。

      該重要度可以依賴(lài)于所關(guān)注的第一運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果在這些第一運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果中出現(xiàn)的次數(shù)。次數(shù)越大,該預(yù)測(cè)結(jié)果被視為越重要并且在該集合中越有可能使用該預(yù)測(cè)結(jié)果。除了尋找相同的預(yù)測(cè)結(jié)果(重復(fù)值)以外,尋找相近匹配也是有效的。

      可選地,重要度可以依賴(lài)于所關(guān)注的第一運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果表示第一運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果整體的程度的度量。例如,在對(duì)第一運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果求平均的情況下,平均預(yù)測(cè)結(jié)果和給定的第一運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果之間的差或距離是該給定預(yù)測(cè)結(jié)果表示第一運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果整體的程度的度量。

      控制多樣性的一個(gè)方式是通過(guò)從所述種子預(yù)測(cè)結(jié)果的其中一個(gè)中加上或減去偏移量來(lái)生成至少一個(gè)所述第二運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果。該偏移量可以是固定的。還可以是偽隨機(jī)值,只要對(duì)于解碼器可利用與編碼器相同的種子值即可。在種子預(yù)測(cè)結(jié)果是矢量的情況下,還可以通過(guò)向該種子預(yù)測(cè)結(jié)果添加例如具有固定大小和相對(duì)于該種子預(yù)測(cè)結(jié)果的方向的預(yù)定方向的另一矢量來(lái)控制多樣性。

      多個(gè)所述第二運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果可以是基于同一所述種子預(yù)測(cè)結(jié)果所生成的。在運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果是各自具有X分量和Y分量的矢量的情況下,可以通過(guò)相對(duì)于同一所述種子預(yù)測(cè)結(jié)果的一個(gè)或這兩個(gè)所述分量加上和/或減去偏移量來(lái)獲得多個(gè)第二運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果。例如,可以相對(duì)于同一種子預(yù)測(cè)結(jié)果加上和減去同一偏移量。在種子預(yù)測(cè)結(jié)果是具有X分量和Y分量的矢量的情況下,存在相對(duì)于同一種子預(yù)測(cè)結(jié)果的X分量和Y分量的其中一個(gè)或這兩個(gè)加上/減去偏移量的多個(gè)排列。這是在不會(huì)產(chǎn)生大的處理負(fù)荷的情況生成受控多樣性的高效方式。

      控制多樣性的另一方式是通過(guò)形成不同對(duì)(或其它組合)的第一運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的平均值來(lái)生成多個(gè)第二運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果。例如,在第一運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果為V1、V2和V3的情況下,可以根據(jù)V1&V2、V2&V3和V3&V1的平均值形成3個(gè)第二運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果。還可以形成相同的第一運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的不同加權(quán)組合作為不同的第二運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果。

      第一運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果可以是或者包括與編碼中的圖像部分具有預(yù)定的空間和/或時(shí)間關(guān)系的圖像部分相關(guān)聯(lián)的運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果。例如,AMVP中使用的運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果可以是第一運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果。這些運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果是種子預(yù)測(cè)結(jié)果的良好源。

      在另一實(shí)施例中,所述方法包括以下步驟:

      生成第一運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果;

      檢查所生成的第一運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果之間的差;以及

      基于這些差來(lái)從運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的所述集合中排除一個(gè)或多個(gè)第一運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果。

      通過(guò)考慮到第一運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果之間的差,可以對(duì)該集合的運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的多樣性進(jìn)行控制。在這種情況下,無(wú)需在第一運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果中識(shí)別種子預(yù)測(cè)結(jié)果以及基于這些種子預(yù)測(cè)結(jié)果來(lái)生成第二運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果。例如,這在初始可利用充分高的數(shù)量的第一運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的情況下可以是有效的。

      例如,作為控制多樣性的方式,可以除去相對(duì)于另一第一運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的差最小的第一運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果??梢愿鶕?jù)需要重復(fù)該處理,以連續(xù)除去變化較少的預(yù)測(cè)結(jié)果。

      在本發(fā)明的該方面中,重要的是要注意所述集合中的運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的數(shù)量可以是可變的。

      然而,與本發(fā)明的其它基本方面相同,至少針對(duì)要編碼的給定圖像部分或者即使針對(duì)所有圖像部分,所述集合中的運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的數(shù)量可以是預(yù)先確定的(目標(biāo)數(shù)量)。這使得不僅可以實(shí)現(xiàn)該集合的預(yù)測(cè)結(jié)果中的受控多樣性,而且還可以解決引言部分所提到的解析問(wèn)題。

      本發(fā)明的該方面還提供一種相應(yīng)的解碼方法、相應(yīng)的編碼裝置和解碼裝置、以及使得進(jìn)行編碼和解碼的程序。

      根據(jù)又一方面,本發(fā)明涉及一種用于將數(shù)字圖像序列編碼成位流的方法,其中圖像的至少一部分是通過(guò)相對(duì)于參考圖像部分的運(yùn)動(dòng)補(bǔ)償來(lái)進(jìn)行編碼的。針對(duì)至少一個(gè)要編碼的圖像部分,所述方法包括以下步驟:

      -獲得所述要編碼的圖像部分要使用的運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的第一集合,以及

      -根據(jù)所述運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的第一集合來(lái)生成運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果的第二集合,該所生成的集合的各運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果不同于所生成的運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的第二集合的任何其它運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果,其中第二集合的至少一個(gè)運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果是根據(jù)第一集合的所選擇的運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果計(jì)算出的。

      有利地,所生成的運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的第二集合用于對(duì)與要編碼的圖像部分相關(guān)聯(lián)的運(yùn)動(dòng)矢量進(jìn)行編碼。該運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的第二集合包括所生成的(并且有可能是所選擇的)各種不同運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果,從而提高壓縮效率。

      根據(jù)實(shí)施例,在選擇步驟中,根據(jù)重要度值來(lái)選擇第一集合的運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果。

      根據(jù)實(shí)施例,該編碼方法包括用于計(jì)算與第一集合的各運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果相關(guān)聯(lián)的重要度值的步驟。

      根據(jù)實(shí)施例,在選擇步驟中,根據(jù)第一集合的運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果之間的距離來(lái)選擇第一集合的運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果。

      用于選擇運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果以進(jìn)一步生成附加或虛擬運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的各實(shí)施例使得能夠應(yīng)用受控多樣性選擇,從而具有提高壓縮效率的優(yōu)點(diǎn)。實(shí)際上,使用根據(jù)初始集合的重要運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果所計(jì)算出的運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果使得能夠更加精確地表示要編碼的當(dāng)前圖像部分的運(yùn)動(dòng)矢量。此外,在最終集合中具有固定或目標(biāo)數(shù)量的預(yù)測(cè)結(jié)果并非是必需的。

      根據(jù)實(shí)施例,運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的第一集合中的運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果是與編碼中圖像和/或參考圖像中的要編碼的圖像部分相關(guān)聯(lián)的運(yùn)動(dòng)矢量。該第一集合可以由AMVP中使用的預(yù)測(cè)結(jié)果構(gòu)成或者可以包括AMVP中使用的預(yù)測(cè)結(jié)果。

      附圖說(shuō)明

      在以下參考附圖所進(jìn)行的僅以非限制性示例的方式給出的說(shuō)明中將出現(xiàn)其它特征和優(yōu)點(diǎn),其中:

      (前面所述的)圖1示意性示出運(yùn)動(dòng)矢量預(yù)測(cè)方案中所使用的運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的集合;

      圖2是被配置為實(shí)現(xiàn)本發(fā)明的實(shí)施例的處理裝置的圖;

      圖3是根據(jù)本發(fā)明的實(shí)施例的編碼器的框圖;

      圖4示出根據(jù)本發(fā)明的實(shí)施例的解碼器的框圖;

      圖5詳細(xì)說(shuō)明根據(jù)第一實(shí)施例的運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的集合的判斷;

      圖6詳細(xì)說(shuō)明根據(jù)第二實(shí)施例的運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的集合的判斷;

      圖7示意性示出運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的第二集合;以及

      圖8示意性示出坐標(biāo)系中的運(yùn)動(dòng)矢量。

      具體實(shí)施方式

      圖2示出被配置為實(shí)現(xiàn)本發(fā)明的一個(gè)實(shí)施例的處理裝置1000的圖。該裝置1000例如是微計(jì)算機(jī)、工作站或輕薄便攜式裝置。

      裝置1000包括通信總線1113,其中優(yōu)選該通信總線1113連接有以下組件:

      -諸如微處理器等的表示為CPU的中央處理單元1111;

      -表示為ROM的只讀存儲(chǔ)器1107,其能夠容納實(shí)現(xiàn)本發(fā)明所用的計(jì)算機(jī)程序;

      -表示為RAM的隨機(jī)存取存儲(chǔ)器1112,其能夠容納本發(fā)明的方法的可執(zhí)行代碼以及如下寄存器,其中這些寄存器被配置為記錄實(shí)現(xiàn)對(duì)數(shù)字圖像序列進(jìn)行編碼的方法和/或?qū)ξ涣鬟M(jìn)行解碼的方法所需的變量和參數(shù);以及

      -通信接口1102,其連接至傳輸要處理的數(shù)字?jǐn)?shù)據(jù)所經(jīng)由的通信網(wǎng)絡(luò)1103。

      可選地,裝置1000還可以具有以下組件:

      -諸如硬盤(pán)等的數(shù)據(jù)存儲(chǔ)部件1104,其能夠容納實(shí)現(xiàn)本發(fā)明的程序以及在本發(fā)明的實(shí)現(xiàn)期間所使用或所產(chǎn)生的數(shù)據(jù);

      -盤(pán)1106所用的盤(pán)驅(qū)動(dòng)器1105,其中該盤(pán)驅(qū)動(dòng)器被配置為從盤(pán)1106讀取數(shù)據(jù)或者將數(shù)據(jù)寫(xiě)到所述盤(pán)上;

      -屏幕1109,用于利用鍵盤(pán)1110或任何其它指示部件來(lái)顯示數(shù)據(jù)以及/或者用作與用戶(hù)的圖形界面。

      裝置1000可以連接至例如數(shù)字照相機(jī)1100或麥克風(fēng)1108等的各種外圍設(shè)備,其中這些外圍設(shè)備各自連接至輸入/輸出卡(未示出)從而向裝置1000供給多媒體數(shù)據(jù)。

      通信總線提供裝置1000內(nèi)所包括的或連接至裝置1000的各種元件之間的通信和互操作性。該總線的表示并非限制性的,并且特別地,中央處理單元能夠直接地或者利用裝置1000的其它元件向裝置100的任意元件通信指示。

      盤(pán)1106可以由例如(可重寫(xiě)或不可重寫(xiě)的)致密盤(pán)(CD-ROM)、ZIP盤(pán)或存儲(chǔ)卡等的任何信息介質(zhì)以及概括而言由信息存儲(chǔ)部件來(lái)替換,其中該信息存儲(chǔ)部件可以由集成于該裝置內(nèi)或沒(méi)有集成于該裝置內(nèi)的可能能夠移除的微計(jì)算機(jī)或微處理器來(lái)讀取,并且被配置為存儲(chǔ)如下的一個(gè)或多個(gè)程序,其中執(zhí)行該一個(gè)或多個(gè)程序使得能夠?qū)崿F(xiàn)根據(jù)本發(fā)明的對(duì)數(shù)字圖像序列進(jìn)行編碼的方法和/或?qū)ξ涣鬟M(jìn)行解碼的方法。

      可執(zhí)行代碼可以存儲(chǔ)在只讀存儲(chǔ)器1107中、硬盤(pán)1104上或者例如前面所述的盤(pán)1106等的可移除數(shù)字介質(zhì)上。根據(jù)變形例,程序的可執(zhí)行代碼可以利用通信網(wǎng)絡(luò)1103經(jīng)由接口1102接收到,從而在執(zhí)行之前存儲(chǔ)在諸如硬盤(pán)1104等的裝置1000的存儲(chǔ)部件的其中一個(gè)中。

      中央處理單元1111被配置為控制和指導(dǎo)根據(jù)本發(fā)明的程序的指令或軟件代碼的一部分的執(zhí)行,其中這些指令存儲(chǔ)在上述存儲(chǔ)部件的其中一個(gè)中。在通電時(shí),將存儲(chǔ)在非易失性存儲(chǔ)器中(例如硬盤(pán)1104上或只讀存儲(chǔ)器1107中)的程序傳遞至隨機(jī)存取存儲(chǔ)器1112,然后該隨機(jī)存取存儲(chǔ)器1112容納程序的可執(zhí)行代碼以及用于存儲(chǔ)實(shí)現(xiàn)本發(fā)明所需的變量和參數(shù)的寄存器。

      在本實(shí)施例中,該裝置是使用軟件來(lái)實(shí)現(xiàn)本發(fā)明的可編程設(shè)備。然而,可選地,本發(fā)明可以以硬件形式(例如,以專(zhuān)用集成電路或ASIC的形式)來(lái)實(shí)現(xiàn)。

      圖3示出根據(jù)本發(fā)明的實(shí)施例的編碼器的框圖。該編碼器由所連接的模塊來(lái)表示,其中各模塊被配置為例如以對(duì)裝置1000的CPU 1111要執(zhí)行的編程指令的形式來(lái)執(zhí)行實(shí)現(xiàn)本發(fā)明的實(shí)施例的方法的相應(yīng)步驟。

      編碼器30接收到原始的數(shù)字圖像序列i0~in 301作為輸入。各數(shù)字圖像由已知為像素的一組樣本來(lái)表示。

      編碼器30輸出位流310。

      位流310包括多個(gè)編碼單位或片,其中各片包括:片頭,其包括對(duì)片進(jìn)行編碼所使用的編碼參數(shù)的編碼值;以及片本體,其包括編碼視頻數(shù)據(jù)。

      將所輸入的數(shù)字圖像分割成塊(302),其中這些塊是圖像部分并且可以具有可變大小(例如,4×4、8×8、16×16、32×32)。針對(duì)各輸入塊選擇編碼模式。存在空間預(yù)測(cè)編碼或幀內(nèi)編碼以及時(shí)間預(yù)測(cè)編碼或幀間編碼這兩類(lèi)編碼模式。對(duì)可能的編碼模式進(jìn)行測(cè)試。

      模塊303實(shí)現(xiàn)幀內(nèi)預(yù)測(cè),其中利用根據(jù)給定要編碼的塊附近的像素計(jì)算出的預(yù)測(cè)結(jié)果來(lái)預(yù)測(cè)該要編碼的塊。在選擇幀內(nèi)編碼的情況下,對(duì)所選擇的幀內(nèi)預(yù)測(cè)結(jié)果的指示和給定塊與其預(yù)測(cè)結(jié)果之間的差進(jìn)行編碼。

      時(shí)間預(yù)測(cè)由模塊304和305來(lái)實(shí)現(xiàn)。首先,選擇一組參考圖像316中的參考圖像,并且利用運(yùn)動(dòng)估計(jì)模塊304來(lái)選擇該參考圖像中的作為最接近要編碼的給定塊的區(qū)域的部分(還被稱(chēng)為參考區(qū)域)。利用運(yùn)動(dòng)補(bǔ)償模塊305來(lái)計(jì)算所選擇的參考區(qū)域和給定塊之間的差(還稱(chēng)為殘差塊)。所選擇的參考區(qū)域由運(yùn)動(dòng)矢量來(lái)表示。

      在選擇幀間預(yù)測(cè)的情況下,對(duì)與運(yùn)動(dòng)矢量和殘差塊有關(guān)的信息進(jìn)行編碼。為了進(jìn)一步降低比特率,利用相對(duì)于運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的差來(lái)對(duì)運(yùn)動(dòng)矢量進(jìn)行編碼。利用運(yùn)動(dòng)矢量預(yù)測(cè)和編碼模塊317來(lái)從運(yùn)動(dòng)矢量字段318獲得運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果(還稱(chēng)為運(yùn)動(dòng)信息預(yù)測(cè)結(jié)果)的集合。

      有利地,如以下參考圖5和6更詳細(xì)地所述,生成用于選擇最佳運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果以對(duì)當(dāng)前運(yùn)動(dòng)矢量進(jìn)行編碼的運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的集合。對(duì)于給定要編碼的當(dāng)前塊,設(shè)置預(yù)定數(shù)量Nmax的運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果,結(jié)果可以使用預(yù)定的位數(shù)來(lái)對(duì)作為表示所選擇的運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的信息項(xiàng)的、所選擇的運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的索引進(jìn)行編碼。即使在丟失的情況下,解碼器也可以檢索到該預(yù)定的位數(shù),因此確保解碼器即使在錯(cuò)誤或丟失的情況下也能夠?qū)ξ涣鬟M(jìn)行解析。這Nmax個(gè)運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果根據(jù)各實(shí)施例被選擇為全部彼此不同,從而提高了壓縮效率。

      根據(jù)諸如塊大小或編碼模式等的編碼參數(shù),可以針對(duì)整個(gè)序列、針對(duì)該序列的一組圖像或者以塊水平應(yīng)用預(yù)定數(shù)量Nmax的運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果和用于對(duì)運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的索引進(jìn)行編碼的相應(yīng)的位數(shù)的選擇。例如,針對(duì)使用對(duì)殘差塊進(jìn)行編碼的幀間預(yù)測(cè)而進(jìn)行編碼的塊,可以使用第一預(yù)定數(shù)量Nmax1的運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果,并且針對(duì)使用僅對(duì)運(yùn)動(dòng)矢量進(jìn)行編碼而沒(méi)有對(duì)殘差塊進(jìn)行編碼的SKIP模式而進(jìn)行編碼的塊,可以使用第二預(yù)定數(shù)量Nmax2的運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果。例如,可以通過(guò)將運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的各數(shù)量Nmax1和Nmax2插入諸如片頭等的頭或者任何適當(dāng)?shù)脑獢?shù)據(jù)字段來(lái)在位流中發(fā)送這些數(shù)量。

      編碼器30還包括編碼模式的選擇的模塊306,其中該模塊306使用諸如率失真標(biāo)準(zhǔn)等的編碼代價(jià)標(biāo)準(zhǔn)來(lái)判斷在空間預(yù)測(cè)模式和時(shí)間預(yù)測(cè)模式中哪個(gè)模式是最佳模式。將變換307應(yīng)用于殘差塊,然后所獲得的變換數(shù)據(jù)由模塊308進(jìn)行量化并且由模塊309進(jìn)行熵編碼。最后,將要編碼的當(dāng)前塊的編碼殘差塊連同與所使用的預(yù)測(cè)結(jié)果有關(guān)的信息一起插入位流310。對(duì)于以“SKIP”模式編碼后的塊,僅將該預(yù)測(cè)結(jié)果的參考編碼在位流中,而無(wú)任何殘差塊。

      編碼器30還進(jìn)行編碼圖像的解碼從而產(chǎn)生后續(xù)圖像的運(yùn)動(dòng)估計(jì)所用的參考圖像。模塊311對(duì)量化數(shù)據(jù)進(jìn)行逆量化,之后進(jìn)行逆變換312。逆運(yùn)動(dòng)預(yù)測(cè)模塊313使用預(yù)測(cè)信息來(lái)判斷哪個(gè)預(yù)測(cè)結(jié)果用于給定塊,并且逆運(yùn)動(dòng)補(bǔ)償模塊314實(shí)際將模塊312所獲得的殘差加至從一組參考圖像316獲得的參考區(qū)域。可選地,應(yīng)用去塊濾波器315以除去結(jié)塊效果并且提高解碼圖像的視覺(jué)質(zhì)量。在解碼器處應(yīng)用相同的去塊濾波器,以使得在不存在傳輸損失的情況下,編碼器和解碼器應(yīng)用相同的處理。

      圖4示出根據(jù)本發(fā)明的實(shí)施例的解碼器的框圖。該解碼器由所連接的模塊來(lái)表示,其中各模塊被配置為例如以對(duì)裝置1000的CPU 1111要執(zhí)行的編程指令的形式執(zhí)行實(shí)現(xiàn)本發(fā)明的實(shí)施例的方法的相應(yīng)步驟。

      解碼器40接收包括編碼單位的位流401,其中每一個(gè)編碼單位包括包含與編碼參數(shù)有關(guān)的信息的頭以及包含編碼視頻數(shù)據(jù)的本體。如參考圖3所述,對(duì)編碼視頻數(shù)據(jù)進(jìn)行熵編碼,并且按預(yù)定的位數(shù)針對(duì)給定塊對(duì)運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的索引進(jìn)行編碼。對(duì)接收到的編碼視頻數(shù)據(jù)進(jìn)行熵解碼(402),去量化(403),然后應(yīng)用逆變換(404)。

      特別地,在接收到的編碼視頻數(shù)據(jù)與要編碼的當(dāng)前塊的殘差塊相對(duì)應(yīng)的情況下,解碼器也對(duì)來(lái)自該位流的運(yùn)動(dòng)預(yù)測(cè)信息進(jìn)行解碼,從而得到編碼器所使用的參考區(qū)域。

      模塊410對(duì)通過(guò)運(yùn)動(dòng)預(yù)測(cè)編碼后的各當(dāng)前塊應(yīng)用運(yùn)動(dòng)矢量解碼,其中該運(yùn)動(dòng)矢量解碼包括確定所使用的運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的數(shù)量Nmax并且檢索按根據(jù)Nmax的位數(shù)編碼后的運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果索引。與圖3的模塊317類(lèi)似,運(yùn)動(dòng)矢量解碼模塊410生成Nmax個(gè)運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的集合。以下參考圖5和6所述的實(shí)施例同樣適用。在毫無(wú)丟失地接收到位流的情況下,解碼器生成與編碼器完全相同的運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的集合。在丟失的情況下,可能無(wú)法生成運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的集合并且因此無(wú)法正確地對(duì)與當(dāng)前塊相關(guān)聯(lián)的運(yùn)動(dòng)矢量進(jìn)行解碼。然而,由于解碼器可以系統(tǒng)地檢索到對(duì)運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的索引進(jìn)行編碼所使用的位數(shù),因此即使在丟失的情況下也總是可以進(jìn)行位流的解析。

      一旦獲得了當(dāng)前塊的運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的索引,則在沒(méi)有發(fā)生丟失的情況下,可以對(duì)與當(dāng)前塊相關(guān)聯(lián)的運(yùn)動(dòng)矢量的實(shí)際值進(jìn)行解碼并且使用該實(shí)際值來(lái)應(yīng)用逆運(yùn)動(dòng)補(bǔ)償(406)。從參考圖像(408)提取由解碼后的運(yùn)動(dòng)矢量表示的參考區(qū)域以最終應(yīng)用逆運(yùn)動(dòng)補(bǔ)償406。

      在應(yīng)用了幀內(nèi)預(yù)測(cè)的情況下,利用模塊405應(yīng)用逆幀內(nèi)預(yù)測(cè)。

      最終,獲得了解碼塊。與在編碼器處應(yīng)用的去塊濾波器315類(lèi)似,應(yīng)用去塊濾波器407。最終,解碼器40提供解碼后的視頻信號(hào)409。

      圖5詳細(xì)說(shuō)明本發(fā)明的第一實(shí)施例中的運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果或運(yùn)動(dòng)矢量候選的集合的生成。圖5所示的算法的所有步驟可以以軟件形式實(shí)現(xiàn)并且由裝置1000的中央處理單元1111來(lái)執(zhí)行。

      圖5示出適用于具有在參考圖像中指定參考區(qū)域的關(guān)聯(lián)運(yùn)動(dòng)矢量的給定要編碼的當(dāng)前塊的流程圖。

      首先,在步驟S500中獲得運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的初始集合L1。該集合L1包括N個(gè)候選。在實(shí)施例中,運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的初始集合包括根據(jù)參考圖1已經(jīng)說(shuō)明的運(yùn)動(dòng)矢量預(yù)測(cè)方案AMVP所選擇的運(yùn)動(dòng)矢量候選(例如,圖1的矢量V0~V3以及根據(jù)V1、V2和V3計(jì)算出的中值矢量)。因此,N的最大值為5。

      優(yōu)選地,運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的初始集合L1僅包含彼此不同的運(yùn)動(dòng)矢量。以圖1為例,應(yīng)僅將運(yùn)動(dòng)矢量V0、V1和中值矢量保持在L1中,并且運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的數(shù)量為N=3。

      在可選實(shí)施例中,可以應(yīng)用用于選擇已計(jì)算出的運(yùn)動(dòng)矢量、并且根據(jù)可用的運(yùn)動(dòng)矢量計(jì)算其它運(yùn)動(dòng)矢量(即,平均值、中間值等)以形成運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的初始集合L1的任何其它方案。

      在又一可選實(shí)施例中,運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的初始集合L1為空并且N=0。

      在以下的步驟S502中,獲得要使用的候選運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的目標(biāo)數(shù)量Nmax。Nmax可以是針對(duì)要編碼的整個(gè)數(shù)字圖像序列預(yù)先確定的(例如,Nmax=4),或者可以根據(jù)要編碼的當(dāng)前塊或該要編碼的當(dāng)前塊所屬于的編碼單位(例如,片)的編碼參數(shù)來(lái)選擇的。

      例如,數(shù)量Nmax可以依賴(lài)于應(yīng)用于處理中的當(dāng)前塊所屬于的宏塊的變換的大小:例如,對(duì)于施加于2p+1×2p+1的塊的變換,Nmax=p。

      在本實(shí)施例中對(duì)運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的索引進(jìn)行編碼要使用的位數(shù)k與Nmax直接有關(guān):k=INTsup(log2(Nmax)),其中INTsup(x)是緊接著值x的整數(shù)。優(yōu)選地,Nmax應(yīng)當(dāng)是2的冪(Nmax=2k),從而使用能夠在k位上編碼的所有索引。有利地,使用發(fā)信令所使用的所有位從而能夠指定各種運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果并且提高壓縮。

      可選地,在確定了不同的運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的數(shù)量Nmax之后,可以使用表示運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的索引的任意類(lèi)型的編碼。特別地,可以使用諸如霍夫曼(Huffman)編碼或算術(shù)編碼等的任意類(lèi)型的熵編碼。此外,還可以使用諸如Rice-Golomb或一元編碼等的前綴型編碼來(lái)對(duì)索引進(jìn)行編碼。

      接著,在步驟S503中測(cè)試集合L1中的運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的數(shù)量N是否高于Nmax。

      在回答為肯定的情況下,在測(cè)試S503之后進(jìn)入從L1中選擇運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果候選的步驟S504,之后在步驟S506中從L1中除去所選擇的運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果候選以形成運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的修改集合L2。

      根據(jù)例如距離標(biāo)準(zhǔn)的除去標(biāo)準(zhǔn)來(lái)應(yīng)用步驟S504的選擇。例如,集合L1包括運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果{V1,….,VN},其中如圖8所示,各運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果是由其在坐標(biāo)系的X軸和Y軸上的分量或坐標(biāo)所表示的矢量。

      在實(shí)施例中,步驟S504通過(guò)如下計(jì)算距離來(lái)確定L1的各矢量Vk和除Vk自身以外的各其它矢量Vn之間的距離:d(Vk,Vn)=|Vkx-Vnx|+|Vky-Vny|,其中|a|表示a的絕對(duì)值。以圖8為例,矢量V的坐標(biāo)為(3,2),矢量V’的坐標(biāo)為(4,2)并且V”的坐標(biāo)為(3,3)。在該示例中,d(V,V’)=d(V,V”)=1,因而V’和V”相對(duì)于矢量V位于相同距離處,而d(V’,V”)=2。

      可選地,可以應(yīng)用距離的計(jì)算所使用的任何其它類(lèi)型的度量。

      得到d(Vp,Vq)的最小距離表示集合L1中的兩個(gè)最近矢量Vp、Vq,因此選擇這兩個(gè)矢量的其中一個(gè)以進(jìn)行除去。針對(duì)這兩個(gè)矢量的其中一個(gè)的選擇可以基于這兩個(gè)矢量中的每一個(gè)到修改集合L1中的剩余運(yùn)動(dòng)預(yù)測(cè)矢量的距離:選擇Vp和Vq中的相對(duì)于集合L1中的其它矢量的距離最小的矢量來(lái)進(jìn)行除去。

      效果是確保修改集合L2中的剩余矢量之間的距離最大,從而使得能夠使用盡可能不同或多樣的運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果。

      在除去了所選擇的矢量之后,N的值遞減(S508),然后將N與Nmax進(jìn)行比較(S510)。在N的值尚未達(dá)到Nmax的情況下(針對(duì)測(cè)試S510的回答為“否”),重復(fù)步驟S504~S510。否則,在N達(dá)到Nmax的情況下,在步驟S510之后進(jìn)入以下所述的步驟S522。

      在針對(duì)測(cè)試S503的回答為“否”的情況下,測(cè)試S512檢查N是否低于Nmax。在回答為否定的情況下、即在N=Nmax的情況下,在測(cè)試S512之后進(jìn)入以下所述的步驟S522。

      在針對(duì)測(cè)試S512的回答為“是”的情況下、即在N嚴(yán)格低于Nmax的情況下,在測(cè)試S512之后進(jìn)入步驟S514,其中該步驟S514獲得或生成附加運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果候選。實(shí)際上,從運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的初始集合L1開(kāi)始,可以按預(yù)定順序添加其它候選作為運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果,以形成運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的修改集合L2。以圖7為例,可以添加塊710、720、730和740的運(yùn)動(dòng)矢量作為可能運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果。此外,可以添加S500中沒(méi)有選擇的770、760、750中的兩個(gè)預(yù)測(cè)結(jié)果作為可能運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果。

      針對(duì)各可能運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果候選MV,檢查運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果MV是否不同于已存儲(chǔ)在集合L2中的所有運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果候選。

      在例如作為圖7的塊710、720、730、740、750、760和770的運(yùn)動(dòng)矢量所考慮的各可能運(yùn)動(dòng)矢量候選等于集合L2的運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的情況下,在步驟S514中計(jì)算新的“虛擬”運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果候選。

      這些運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果候選由于不是當(dāng)前圖像或參考圖像的其它塊的運(yùn)動(dòng)矢量因而被稱(chēng)為虛擬的。這些虛擬運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果例如是通過(guò)添加偏移量來(lái)根據(jù)現(xiàn)有運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果計(jì)算出的。例如,根據(jù)坐標(biāo)為(MVx,MVy)的集合L2的運(yùn)動(dòng)矢量MV,可以通過(guò)向其坐標(biāo)加上/減去偏移量off來(lái)計(jì)算出四個(gè)虛擬運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果:MV’(MVx±off,MVy±off)。通常,可以將off設(shè)置為等于1或2。

      可選地,可以應(yīng)用運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果MV的分量的其它變形以獲得虛擬運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果,從而獲得相對(duì)于現(xiàn)有運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果不同的運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果,從而增加壓縮效率。

      例如,可以分別使用兩個(gè)值offx和offy來(lái)獨(dú)立修改運(yùn)動(dòng)矢量MV的分量,并且可以將offx或offy設(shè)置為0。

      在實(shí)施例中,offx和offy這兩者與相應(yīng)的分量成比例:offx=aMVx并且offy=bMVy,其中a和b通常小于0.5。在需要的情況下,將修改后的坐標(biāo)MVx和MVy四舍五入為最近整數(shù)值,從而表示像素的網(wǎng)格上的位移。

      在實(shí)施例中,將預(yù)定規(guī)范的補(bǔ)充運(yùn)動(dòng)矢量加至矢量MV,其中該補(bǔ)充矢量具有與運(yùn)動(dòng)矢量MV相同的方向,如圖8所示:將補(bǔ)充矢量850加至矢量820。

      在又一可選實(shí)施例中,如下計(jì)算集合L2的運(yùn)動(dòng)矢量的方差:

      其中,表示L2的矢量的MVx坐標(biāo)的平均值并且表示L2的矢量的MVy坐標(biāo)的平均值。然后,通過(guò)將計(jì)算出的值var與預(yù)定閾值T進(jìn)行比較來(lái)選擇偏移量off。T可以等于50/L2。在var低于T的情況下,值off小(例如off=1);在var高于T的情況下,將off設(shè)置為較大值(例如off=3)。此外,同樣在本實(shí)施例中,可以針對(duì)各分量計(jì)算不同的值offx或offy。

      在步驟S516中將步驟S514中獲得的一個(gè)運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果添加至運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的集合L2,并且數(shù)量N增加1(步驟S518)。

      接著,在步驟S520中檢查N是否等于Nmax。在回答為否定的情況下,重復(fù)步驟S514~S520。

      在回答為肯定的情況下,達(dá)到了所確定的運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果候選的目標(biāo)數(shù)量Nmax,并且在步驟S520之后在編碼器處進(jìn)行從集合L2中選擇當(dāng)前塊的最佳運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的步驟S522。例如,應(yīng)用率失真優(yōu)化標(biāo)準(zhǔn)以選擇最佳運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果MVi,從而對(duì)當(dāng)前塊的運(yùn)動(dòng)矢量進(jìn)行編碼。

      在編碼器處,在步驟S524中,對(duì)運(yùn)動(dòng)殘差(即,當(dāng)前塊的運(yùn)動(dòng)矢量和所選擇的運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果之間的差)、以及所選擇的運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的指示進(jìn)行編碼。例如,使用k=INTsup(log2(Nmax))位來(lái)對(duì)L2的所選擇的運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果MVi的索引i進(jìn)行編碼。

      可選地,可以應(yīng)用索引i的熵編碼。

      在又一可選例中,可以使用諸如Rice-Golomb編碼等的前綴型編碼來(lái)對(duì)索引i進(jìn)行編碼,其中使用之后跟著“0”的i個(gè)“1”來(lái)對(duì)各值i進(jìn)行編碼。

      在無(wú)需進(jìn)行步驟S522和S524的情況下,圖5的算法還可以通過(guò)解碼器生成給定塊的運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果或運(yùn)動(dòng)矢量候選的集合來(lái)實(shí)現(xiàn)。

      在解碼器處,在得知Nmax并由此得知對(duì)索引i進(jìn)行了編碼的位數(shù)k的情況下,從位流獲得針對(duì)給定要解碼的塊的所選擇的運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果MVi的索引i。同樣地實(shí)現(xiàn)步驟S500~S518以獲得運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的集合L2,由此從位流解碼得到的索引i指定編碼器實(shí)際使用的運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果。

      在傳輸期間發(fā)生損失的情況下,由于解碼器可以系統(tǒng)地檢索到數(shù)量Nmax,因此即使根據(jù)包損失、在解碼器處可能無(wú)法獲得運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的完整集合L2,也可以系統(tǒng)地對(duì)接收到的位流進(jìn)行解析以提取指定所選擇的運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的索引i。

      圖6詳細(xì)說(shuō)明本發(fā)明的第二實(shí)施例中的運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果或運(yùn)動(dòng)矢量候選的集合的生成。圖6所示的算法的所有步驟可以以軟件形式來(lái)實(shí)現(xiàn)并且由裝置1000的中央處理單元1111來(lái)執(zhí)行。

      圖6示出適用于具有在參考圖像中指定參考區(qū)域的關(guān)聯(lián)運(yùn)動(dòng)矢量的給定要編碼的當(dāng)前塊的流程圖。

      首先,與圖5的步驟S502類(lèi)似,在步驟S600中確定要使用的運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果候選的目標(biāo)數(shù)量Nmax

      在實(shí)施例中,Nmax是2k的形式,以使得可以在k位上編碼的各索引值與可能運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果相對(duì)應(yīng)。

      例如,為了使用提出5個(gè)運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的AMVP方案的所有運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果,需要3位來(lái)對(duì)運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的索引進(jìn)行編碼。在這種情況下,優(yōu)選為Nmax=23=8。

      在步驟S602中,獲得運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果候選的初始集合L1。例如,選擇AMVP的N=5個(gè)運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的初始集合。

      對(duì)運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的初始集合應(yīng)用縮減處理以除去重復(fù)值,從而獲得包含N1個(gè)元素的運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的縮減集合。優(yōu)選地,將縮減處理之后的各剩余矢量的重復(fù)值的數(shù)量記錄和存儲(chǔ)在存儲(chǔ)器中以隨后在以下所述的步驟S612中使用。

      接著,檢查N1是否高于或等于運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的目標(biāo)數(shù)量Nmax(測(cè)試S606)??梢灾赋觯槍?duì)該測(cè)試的肯定結(jié)果僅在算法以運(yùn)動(dòng)矢量的數(shù)量比Nmax大的運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的第一集合開(kāi)始的情況下發(fā)生。在回答為肯定的情況下,在步驟S606之后進(jìn)入步驟S630,其中該步驟S630選擇集合L1的最初Nmax個(gè)運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果候選以形成運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的集合L2。

      在回答為否定的情況下,即在N1低于Nmax的情況下,必須利用附加運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果來(lái)補(bǔ)充運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的該集合。

      在步驟S608中,獲得運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果候選的第二集合L1’。

      運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果候選的第二集合L1’包括第一集合L1的剩余運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果以及例如與如圖7所示的參考圖像的塊710、720、730和740的運(yùn)動(dòng)矢量相對(duì)應(yīng)的附加運(yùn)動(dòng)矢量。此外,可以添加S600中沒(méi)有選擇的770、760、750中的兩個(gè)預(yù)測(cè)結(jié)果作為可能運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果。集合L1’的各運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果具有相應(yīng)的索引。

      接著,在步驟S610中向運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的第二集合應(yīng)用縮減處理以獲得N2個(gè)矢量的運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的縮減第二集合L1”。該縮減處理除去重復(fù)值,由此L1”的所有運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果彼此不同。將L1”中所保持的各矢量的重復(fù)值的數(shù)量記錄和存儲(chǔ)在存儲(chǔ)器中以隨后在以下所述的步驟S612中使用。

      然后,在步驟S628中檢查運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的數(shù)量N2是否高于或等于Nmax。在回答為肯定的情況下,在步驟S628之后進(jìn)入已經(jīng)說(shuō)明的步驟S630。

      在回答為否定的情況下,需要向運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的縮減第二集合L1”添加更多的運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果,以獲得Nmax個(gè)運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的最終集合。

      在測(cè)試S628之后,在回答為否定的情況下,在步驟S612中向運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的縮減第二集合L1”的各剩余運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果候選指派重要度值。

      在可選實(shí)施例中,在針對(duì)測(cè)試S606的回答為否定的情況下,在測(cè)試S606之后直接進(jìn)入步驟S612。

      在本實(shí)施例中,使用在步驟S604和S610期間計(jì)算和存儲(chǔ)的給定運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的重復(fù)值的數(shù)量來(lái)將重要度值作為給定運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的重復(fù)值的數(shù)量進(jìn)行計(jì)算。以圖1為例,兩個(gè)矢量V0和V3相等,因而矢量V0的重要度值等于2。

      在可選實(shí)施例中,可以將重要度值作為相對(duì)于所考慮的矢量的集合中的代表矢量(諸如該集合的矢量的平均值或該集合的矢量的中間值等)的距離的函數(shù)來(lái)計(jì)算。然后,可以將重要度作為該集合Vn的給定矢量相對(duì)于代表矢量的距離的倒數(shù)來(lái)計(jì)算:矢量Vn越接近該集合的代表值,Vn的重要度越高。

      然后,在步驟S614中,根據(jù)重要度值遞減的順序?qū)κS嗟腘2個(gè)運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果候選排序。在幾個(gè)運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果具有相同的重要度值的情況下,可以根據(jù)這些運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的索引的遞增順序來(lái)對(duì)它們排序。

      向重新排序后的運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果重新指派遞增索引{V0,V1,…,VN2-1}。

      在下一步驟S616中,將變量n初始化為0并且將變量N初始化為N2,這是重新排序后的集合中的運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的當(dāng)前數(shù)量。

      接著,在步驟S616之后的步驟S618中,向重新排序后的集合添加虛擬運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果候選。在本實(shí)施例中,根據(jù)基于重要度排序后的剩余運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果來(lái)計(jì)算虛擬運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果??紤]重新排序后的集合的索引n的運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果(坐標(biāo)為(Vnx,Vny)的Vn)。根據(jù)Vn,可以通過(guò)向Vn的一個(gè)或兩個(gè)坐標(biāo)連續(xù)加上+off和-off來(lái)計(jì)算由坐標(biāo)所定義的以下列出的8個(gè)虛擬運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果:{(Vnx+off,Vny),(Vnx-off,Vny),(Vnx+off,Vny+off),(Vnx+off,Vny-off),(Vnx-off,Vny+off),(Vnx-off,Vny-off),(Vnx,Vny+off),(Vnx,Vny-off)}。

      可以使用從運(yùn)動(dòng)數(shù)量預(yù)測(cè)結(jié)果Vn開(kāi)始的虛擬運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果(特別是以上針對(duì)圖5的步驟S514所述的替代值)的任何替代計(jì)算。

      將虛擬運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的該列表添加至運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的當(dāng)前集合。

      在步驟S620中除去重復(fù)值。

      在除去了可能的重復(fù)值之后,在步驟S622中將值N更新為運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的剩余數(shù)量。

      接著,在步驟S624中檢查N是否高于或等于Nmax。在回答為否定的情況下,在步驟S624之后進(jìn)行使值n增加1的步驟S626,并且重復(fù)步驟S618~S624。

      在針對(duì)步驟S624的回答為肯定的情況下,獲得了足夠的運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果。在步驟S624之后進(jìn)入步驟S630,其中在該步驟S630中,選擇最初Nmax個(gè)運(yùn)動(dòng)矢量候選以構(gòu)成Nmax個(gè)矢量的運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的最終集合L2。

      在編碼器處,在步驟S630之后進(jìn)入步驟S632,其中在該步驟S632中,與圖5的步驟S522類(lèi)似,根據(jù)諸如率失真標(biāo)準(zhǔn)等的預(yù)定標(biāo)準(zhǔn)來(lái)在當(dāng)前塊的運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的集合中選擇最佳運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果MVi。

      在步驟S632之后進(jìn)入步驟S634,其中在該步驟S634中,與圖5的步驟S524類(lèi)似,使用運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果MVi來(lái)對(duì)當(dāng)前塊的運(yùn)動(dòng)矢量進(jìn)行編碼。例如,使用k位來(lái)對(duì)運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果MVi的索引i進(jìn)行編碼,其中k是根據(jù)Nmax計(jì)算出的、即k=INTsup(log2(Nmax))。

      可選地,可以應(yīng)用索引i的熵編碼。

      在又一可選例中,可以使用諸如Rice-Golomb編碼等的前綴型編碼來(lái)對(duì)索引i進(jìn)行編碼,其中使用之后跟著“0”的i個(gè)“1”來(lái)對(duì)各值i進(jìn)行編碼。

      在解碼器側(cè),除了省略了步驟S632和S634以外,圖6的算法還可以通過(guò)解碼器生成給定塊的運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果或運(yùn)動(dòng)矢量候選的集合來(lái)實(shí)現(xiàn)。

      在解碼器處,在得知Nmax并由此得知對(duì)索引i進(jìn)行了編碼的位數(shù)k的情況下,從位流獲得給定要編碼的塊的所選擇的運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果MVi的索引i。類(lèi)似地執(zhí)行步驟S600~S630以獲得運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的集合L2,由此從位流解碼得到的索引i指定編碼器實(shí)際使用的運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果。

      在傳輸期間發(fā)生損失的情況下,由于解碼器可以系統(tǒng)地檢索到數(shù)量Nmax,因此即使根據(jù)包丟失、在解碼器處可能無(wú)法獲得運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的完整集合L2,也可以系統(tǒng)地對(duì)接收到的位流進(jìn)行解析以提取指定所選擇的運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的索引i。

      上述實(shí)施例基于輸入圖像的塊分割,但更通常地,可以考慮要編碼或解碼的任何類(lèi)型的圖像部分(特別是矩形部分或者更通常為幾何部分)。

      可以設(shè)想例如以下等的其它可選實(shí)施例:以包括比被確定為Nmax的運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果的目標(biāo)數(shù)量大的N個(gè)矢量的運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果候選的大集合開(kāi)始,并且應(yīng)用聚類(lèi)算法以縮減矢量的集合。例如,可以應(yīng)用分割以根據(jù)該集合的矢量之間的預(yù)先定義的距離來(lái)將該集合縮減為該集合的Nmax個(gè)最具代表性的矢量。

      更通常地,本領(lǐng)域技術(shù)人員可以容易地想到的上述實(shí)施例的任何變形或改進(jìn)均應(yīng)被視為落在本發(fā)明的范圍內(nèi)。

      本申請(qǐng)要求2011年1月12日提交的英國(guó)專(zhuān)利申請(qǐng)1100462.9的優(yōu)先權(quán),在此通過(guò)引用包含其全部?jī)?nèi)容。

      當(dāng)前第1頁(yè)1 2 3 
      網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1