两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種視頻編碼和譯碼的方法及設(shè)備的制作方法

文檔序號:7964704閱讀:269來源:國知局
專利名稱:一種視頻編碼和譯碼的方法及設(shè)備的制作方法
本申請是申請?zhí)枮?00510005721.2的專利申請的分案申請。
本發(fā)明涉及視頻編碼。
移動電信中當(dāng)前的目標(biāo)之一是提高數(shù)據(jù)傳輸?shù)乃俣?,以便能夠通過無線網(wǎng)提供多媒體業(yè)務(wù)。多媒體的一個關(guān)鍵部分是數(shù)字視頻。數(shù)字視頻比起傳統(tǒng)的模擬系統(tǒng)給出非常多的優(yōu)點,支持諸如視頻技術(shù)和多媒體應(yīng)用那樣的業(yè)務(wù)。然而,當(dāng)與模擬系統(tǒng)相比較時,數(shù)字視頻的關(guān)鍵問題是對于通信和貯存資源的要求。例如,為了發(fā)送廣播質(zhì)量的視頻,需要約160Mbps的帶寬,這與對于可比較的質(zhì)量的模擬視頻的約5MHz的帶寬成為鮮明對照。因此,為了能夠使用數(shù)字視頻,數(shù)字信號需要減小數(shù)據(jù)量。
視頻傳輸包括代表活動圖象的連續(xù)的數(shù)據(jù)業(yè)務(wù)。眾所周知,傳送圖象所需要的數(shù)據(jù)量與許多其它類型的媒體相比較是很高的,至今為止低比特速率終端的視頻的使用一直是可忽略的。然而,在低比特速率視頻壓縮領(lǐng)域中取得了重大的進(jìn)展??梢栽诖蠹s每秒20千比特的比特速率下得到可接受的視頻質(zhì)量。
由于這種對比特速率的逐漸降低,預(yù)期視頻很快成為提供給有限帶寬網(wǎng)絡(luò)的可行的業(yè)務(wù),諸如公共交換電話網(wǎng)(PSTN)和移動電信網(wǎng)。在使用固定網(wǎng)絡(luò)的視頻電話應(yīng)用項中,錯誤典型地是通過重新發(fā)送數(shù)據(jù)而被克服的。然而,移動電話比起PSTN趨向于更高的錯誤率,以及具有較長的來回路程延時。這些較長的延時使得對于實時移動視頻電話應(yīng)用項來說使用重新發(fā)送是不實際的。重新發(fā)送在高的錯誤率情形下也是不經(jīng)濟(jì)的。
視頻序列包含一系列靜止圖象或幀。數(shù)據(jù)減小是通過使用壓縮技術(shù)去除冗余的數(shù)據(jù)而仍舊保持足夠的信息以允許原先的圖象以可接受的質(zhì)量被重現(xiàn)而達(dá)到的。在視頻信號中有兩種主要類型的冗余度空間的和時間的。對于圖象的編碼,只利用空間冗余度的技術(shù)被稱為幀內(nèi)或I幀(即,它們分開地處理每個幀),而利用時間冗余度的技術(shù)被稱為幀間或P幀(即,它們利用幀之間的相同性)。后者也總是利用空間冗余度,這種利用例如通過產(chǎn)生用來描述在當(dāng)前的和先前的圖象的相同區(qū)域之間的運(yùn)動(位移)的運(yùn)動補(bǔ)償數(shù)據(jù)來實現(xiàn)。在幀間的情形下,預(yù)測的(運(yùn)動補(bǔ)償?shù)?圖象很難足夠精確,所以空間壓縮的預(yù)測錯誤圖象也是與每個幀間相關(guān)聯(lián)的。
然而,只減小序列的冗余度,通常不能達(dá)到足夠的壓縮。因此,視頻編碼器試圖降低視頻序列中主觀上最不重要的那些部分的質(zhì)量。另外,編碼的比特流的冗余度是借助于對壓縮的參量和系數(shù)進(jìn)行有效的無損編碼而被減小的。主要的技術(shù)是使用可變長度編碼,其中每個數(shù)值通過使用獨(dú)特的碼字來編碼。最短的碼字被分配給統(tǒng)計上最經(jīng)常出現(xiàn)的那些值。
已經(jīng)開發(fā)了幾種視頻編碼方法。這些方法包括運(yùn)行長度編碼、有條件的再補(bǔ)充、變換編碼、Huffman(霍夫曼)編碼、和差分相位碼調(diào)制(DPCM)。其中有許多被利用在關(guān)鍵的標(biāo)準(zhǔn)中,諸如ITU-T建議JPEG、MPEG-1和MPEG-2、以及H.261/H.263。JPEG規(guī)定用于靜止圖象的壓縮數(shù)據(jù)流的形式;MPEG/MPEG2是用于活動圖象的壓縮;H.261/H.263主要被規(guī)定用于采用低的比特速率通信鏈路(大約幾十kbit/s)的視頻電話應(yīng)用項。當(dāng)前的視頻電話系統(tǒng)主要被設(shè)計使用于PSTN或分組網(wǎng),以及遵從ITU-T建議H.234(它覆蓋低比特速率的多媒體通信)、H.245(它覆蓋傳輸協(xié)議)、H.233(它涉及復(fù)接)、和H.323(它覆蓋在傳統(tǒng)的共享媒體的局域網(wǎng)上的視頻會議)。第一個移動視頻電話將是基于H.324的。
壓縮的視頻容易遭受傳輸錯誤的破壞,這主要由于兩個原因。第一,由于利用時間預(yù)測差分編碼(幀間),錯誤在空間和時間上被傳播。實際上,這意味著,一旦出現(xiàn)錯誤,它就在相對較長的時間內(nèi)對于人的眼睛是很容易看到的。低的比特速率下的傳輸是特別受影響的,這種情況下只有幾個幀間編碼幀(幀間編碼幀的傳輸將停止時間錯誤的傳播)。第二,使用可變長度編碼會增加受錯誤影響的程度。當(dāng)誤碼改變碼字時,譯碼器將失去碼字同步,而且也不能正確地譯碼以后的無錯誤的碼字(包括幾個比特)直至下一個同步碼(或開始)為止。同步碼是一種不能從其它碼字的任何合法組合來產(chǎn)生的比特圖案,以及這樣的代碼在一些時間間隔內(nèi)被加到比特流,以便使得能夠重新得到同步。
在壓縮的視頻比特流中的每個比特對于解壓縮的圖象不具有相等的重要性。某些比特屬于規(guī)定必不可少的信息的段,諸如圖象類型(例如,幀內(nèi)的或幀間的)、量化器數(shù)值和被使用的可任選的編碼模式。在H.263中,最重要的信息被集中在圖象標(biāo)題中。在圖象標(biāo)題中的傳輸錯誤典型地造成用于規(guī)定圖象內(nèi)容的隨后的比特的總的錯誤解譯。由于利用時間預(yù)測差分編碼(幀間),錯誤在空間上和時間上被傳播。因此,當(dāng)譯碼器檢測被破壞的圖象標(biāo)題時,典型的方法是凍結(jié)屏幕上的先前的圖象、發(fā)送內(nèi)部圖象請求給發(fā)送終端、以及等待請求的內(nèi)部的幀。這造成接收的視頻中令人討厭的暫停。
傳輸錯誤具有不同的性質(zhì),這取決于基礎(chǔ)網(wǎng)絡(luò)。在分組交換的網(wǎng)絡(luò)中,傳輸錯誤典型地是分組丟失(由于網(wǎng)絡(luò)單元中的擁塞)。在電路交換的網(wǎng)絡(luò)中,傳輸錯誤典型地是比特錯誤,其中“1”被破壞成“0”,或反之亦然,以及在無線通信網(wǎng)絡(luò)中,錯誤可能在突發(fā)中出現(xiàn),使得情形甚至更困難。
為了減輕由傳輸錯誤引入的圖象中的惡化,可以使用重新發(fā)送(如上所述),可以應(yīng)用檢錯和/或糾錯方法,和/或可以掩蓋由接收的破壞的數(shù)據(jù)造成的影響。在固定網(wǎng)絡(luò)中,重新發(fā)送提供適當(dāng)?shù)姆绞絹矸乐挂曨l數(shù)據(jù)流出錯,因為誤碼率(BER)典型地是在10-6的范圍。然而,與低的比特速率無線傳輸有關(guān)的、大的路程來回延時以及中等的或高的誤碼率(例如,10-4到10-3)使得使用重新發(fā)送是不實際的,特別是對于實時無線視頻電話應(yīng)用項。檢錯和糾錯方法在必須被發(fā)送的數(shù)據(jù)和所需要的存儲器/處理能力方面,通常需要大的附加開銷。因此,對于低的比特速率應(yīng)用項,錯誤掩蓋可被認(rèn)為是用來防止和修復(fù)圖象傳輸錯誤的最好的方法。視頻錯誤掩蓋方法典型地可應(yīng)用于在分組丟失和比特破壞時出現(xiàn)的傳輸錯誤。
H.263是對于低比特速率(它通常是指低于64kbps的數(shù)據(jù)速率)通信的視頻編碼的ITU-T建議。該建議規(guī)定比特流句法和比特流的譯碼。當(dāng)前,有兩種H.263的版本。版本1包含核心算法和四個可任選的編碼模式。H.263版本2是版本1的擴(kuò)展,提供12個新的可協(xié)商的編碼模式。
圖象按亮度(Y)和兩個色差(色度)分量(CB和CR)被編碼。色度圖象以亮度圖象的分辨率的一半沿著兩個坐標(biāo)軸被采樣。圖象數(shù)據(jù)是基于逐塊的原則被編碼的,每個塊代表亮度或色度的8×8象素。
每個編碼的圖象以及相應(yīng)的編碼的比特流被安排在帶有四個層的分級結(jié)構(gòu)中,這四層是塊層、宏塊層、圖象段層和圖象層。圖象段層可以被安排為一個塊組(GOB)或一個分片。
塊層數(shù)據(jù)包含均勻地量化的離散余弦變換系數(shù),它們以鋸齒形狀的次序被掃描、用運(yùn)行長度編碼器進(jìn)行處理、和以可變長度碼被編碼。
每個宏塊涉及16×16的亮度象素以及空間上相應(yīng)的8×8的色度分量。換句話說,宏塊包含四個8×8亮度塊和兩個空間上相應(yīng)的8×8的色差塊。每個內(nèi)部的宏塊與包括運(yùn)動矢量的運(yùn)動補(bǔ)償數(shù)據(jù)有關(guān),運(yùn)動矢量規(guī)定最接近地相似于內(nèi)部宏塊的象素的、相應(yīng)的區(qū)域在參考幀中的位置。內(nèi)部宏塊數(shù)據(jù)包括對于宏塊的象素的編碼的預(yù)測錯誤數(shù)據(jù)。
通常,每個圖象被分成多個塊組(GOBs)。每個塊組(GOB)典型地包括一排宏塊。每個GOB的數(shù)據(jù)包含可任選的GOB標(biāo)題,后面接著是在GOB內(nèi)的宏塊的數(shù)據(jù)。
如果使用可任選的分片結(jié)構(gòu)模式,則每個圖象被分成片而不是GOB。有關(guān)分片包含多個按掃描次序的接連的宏塊。每個分片的數(shù)據(jù)包含分片標(biāo)題,后面接著是分片的宏塊的數(shù)據(jù)。
圖象層數(shù)據(jù)包含影響整個圖象面積和圖象數(shù)據(jù)的譯碼的參量。編碼的參量數(shù)據(jù)被安排在所謂的圖象標(biāo)題中。
圖象和GOB(或分片)標(biāo)題以同步碼來開頭。沒有其它的碼字或碼字的合法組合可以形成與同步碼相同的比特圖案。因此,同步碼可被使用于比特流檢錯和用于發(fā)生比特錯誤后的重新同步。被加到比特流上的同步碼越多,則系統(tǒng)對于抵抗錯誤來說就越堅固。
大多數(shù)已知的錯誤掩蓋方法是基于空間和時間的內(nèi)插方案的??臻g內(nèi)插被使用于內(nèi)部的幀和內(nèi)部的幀的已編碼的區(qū)域之間??臻g內(nèi)插是指丟失的區(qū)域從空間相鄰的區(qū)域進(jìn)行內(nèi)插。這可以通過使用邊界象素的距離加權(quán)平均來進(jìn)行。
使用時間內(nèi)插的錯誤掩蓋更經(jīng)常地被使用于低比特速率的視頻編碼,這是因為幀間的幀的數(shù)目通常是相當(dāng)少的。一個很基本的時間內(nèi)插方案從先前的幀的同一個位置復(fù)制丟失的區(qū)域,即,它把丟失的塊當(dāng)作為“未編碼的”塊處理。在更先進(jìn)的方案中,通過使用空間上相鄰的塊的運(yùn)動矢量的中值或平均值來進(jìn)行運(yùn)動補(bǔ)償。已經(jīng)提出一些建議使用邊界象素匹配來找出丟失的塊的最好的運(yùn)動矢量。
在低的分辨率和低的比特速率的情況下,在空間相鄰的塊之間的相關(guān)性常常是相當(dāng)?shù)偷摹R虼?,基于空間相鄰的象素數(shù)據(jù)的內(nèi)插運(yùn)動矢量可能與原先的數(shù)值相差很遠(yuǎn)。這意味著,單向掩蓋方案常常無法重新構(gòu)建原先的塊。而且,如果只有運(yùn)動矢量被使用于掩蓋而不嘗試修復(fù)預(yù)測的錯誤塊的話,則圖象會為模糊的,因為大量細(xì)節(jié)將丟失。實際上,通過使用當(dāng)前的掩蓋方案,錯誤或不正確地掩蓋的塊在相當(dāng)長的時間內(nèi)是能看到的。
術(shù)語編碼譯碼器是指進(jìn)行編碼和譯碼的能力。控制視頻編碼譯碼器中的編碼的算法的視頻編碼參量通常是根據(jù)它們被設(shè)計用以運(yùn)行的環(huán)境而被預(yù)先選擇的。這對于在易于錯誤的信道上的傳輸是特別有利的。在這樣的條件下,編碼參量被選擇成試圖使得傳輸錯誤對圖象質(zhì)量的影響最小化。在傳輸時出現(xiàn)錯誤的場合下,結(jié)果所得到的譯碼的視頻通常產(chǎn)生附加的塊、令人煩惱的綠色和粉紅色方塊、時間的不平穩(wěn)、和有時是方格狀的圖案。
在現(xiàn)有的系統(tǒng)中,在編碼算法中典型地預(yù)先設(shè)置的兩個參量是內(nèi)部更新的信息量和起始碼的頻率。在PSTN網(wǎng)絡(luò)中,視頻編碼譯碼器從一個全部幀內(nèi)的幀開始編碼。幀內(nèi)的圖象不用參考其它的圖象而被編碼,這意味著它們包含對于它們由譯碼器進(jìn)行重新構(gòu)建所需要的所有的信息,為此,它們是用于訪問視頻序列的基本輸入點。因為幀內(nèi)幀的信息內(nèi)容很重要,壓縮率相對較低,所以一個全幀內(nèi)的幀需要很大數(shù)目的數(shù)據(jù)比特來規(guī)定圖象。結(jié)果,通過低的帶寬信道的全部幀內(nèi)的幀的傳輸,即使使用小的緩存來使延時減小到最小,仍會花費(fèi)很多時間。這通常導(dǎo)致譯碼器把先前的圖象凍結(jié)在屏幕上一段時間,以便實際上允許獲取以后的圖象。因此,作為替換的方法,在接連的圖象中,部分圖象在幀內(nèi)模式下被更新(或刷新),而不是立即更新整個圖象。所以,圖象被稱為是幀內(nèi)刷新的。典型地,這是在16×16象素的逐個的宏塊的基礎(chǔ)上發(fā)生的。如果宏塊被刷新的速率很慢,則圖象上的傳輸錯誤產(chǎn)物是可以在很長的時間內(nèi)覺察的,并且只有在錯誤的宏塊被內(nèi)部刷新時才消失。在易于發(fā)生錯誤的網(wǎng)絡(luò)中,因此必須提高每個幀中的內(nèi)部刷新宏塊的數(shù)目,或全部幀內(nèi)的幀被發(fā)送的速率。
被使用來減小傳輸錯誤的影響的另一個方法是減小受影響的面積的大小。因為編碼的比特流包含可變長度編碼(VLC)碼字,在大多數(shù)情況下在比特流中的錯誤會使得譯碼器失去與VLC碼字的同步。譯碼器只有在接收到起始碼以后才繼續(xù)正確地譯碼。典型地,起始碼在編碼的圖象幀的開始處被找到;然而,大多數(shù)視頻編碼標(biāo)準(zhǔn)也允許起始碼被插入在圖象的任何地方,例如在宏塊的每行的開始處,或甚至更經(jīng)常地被插入。因此,為了減小受傳輸錯誤影響的面積的大小,可以把起始碼引入到圖象中最經(jīng)常的位置。這些起始碼的密度是在由于增加的起始碼數(shù)目造成的降低的圖象質(zhì)量與受傳輸錯誤影響的面積的大小之間的折衷。在易于發(fā)生錯誤的環(huán)境下,犧牲某些視覺圖象質(zhì)量以便減小由傳輸錯誤影響的圖象面積是有益的。
當(dāng)前的總的方案是把內(nèi)部刷新信息和起始碼參量預(yù)先編程到用于根據(jù)預(yù)期的傳輸錯誤水平來控制視頻編碼器的算法中。內(nèi)部刷新的數(shù)據(jù)和起始碼對于緩和可預(yù)測的傳輸錯誤的影響是相當(dāng)有效的,但這些方法具有一定的缺點。在原理上,這些缺點是由于實際的傳輸錯誤不總是可預(yù)測的,以及在預(yù)測的傳輸錯誤與實際的傳輸錯誤之間有很大的容限的情形下,內(nèi)部的刷新與起始碼參量將與對于這些編碼參量所需要的水平不一致。例如,如果傳輸錯誤小于預(yù)期的,則內(nèi)部刷新數(shù)據(jù)的水平或起始碼重復(fù)的水平將超過所需要的,以及這種超過因此將是冗余的。另一方面,如果傳輸錯誤比預(yù)期的壞得多,則內(nèi)部刷新和起始碼信息將是不夠的,以及在譯碼的圖象中在時間和空間上散布得太寬,結(jié)果導(dǎo)致很差的圖象質(zhì)量。
在已知的H.324多媒體終端中,有可能通過H.245控制協(xié)議從接收譯碼器發(fā)送各種命令到發(fā)送編碼器。一個命令是VideoFastUpdatePicture(視頻快速更新圖象),譯碼器請求編碼器盡早進(jìn)入快速更新模式以及更新整個圖象。協(xié)議并不規(guī)定編碼器如何實行更新。協(xié)議也規(guī)定VideoFastUpdateGOB(視頻快速更新GOB)命令,它請求編碼器盡早進(jìn)入快速更新模式以及更新整個GOB;以及還有VideoFastUpdateMB(視頻快速更新MB)命令,它請求編碼器盡早進(jìn)入快速更新模式以及更新整個宏塊。因此,譯碼器可識別要被更新的圖象、GOB、或宏塊。
在基本實施方案中,遵從H.324的多媒體終端每次將發(fā)送VideoFastUpdatePicture(視頻快速更新圖象)命令,以及使得錯誤能被檢測。同樣地,對于每個被破壞的GOB,發(fā)送VideoFastUpdateGOB(視頻快速更新GOB)命令。
按照H.245,請求的終端需要來自編碼器的、對于每個發(fā)送的消息的應(yīng)答,以及如果應(yīng)答未被及時發(fā)送,則譯碼器將再次發(fā)送消息。這意味著,由于重復(fù)的命令而使得控制信道變成為非常地堵塞。
在H.263附錄1中,引入所謂的錯誤跟蹤的反饋機(jī)制,其中H.245協(xié)議被使用來發(fā)送關(guān)于一幀中的哪些宏塊在接收時已被破壞的指示。視頻編碼器跟蹤在過去的Z幀的中預(yù)測的錯誤。根據(jù)H.245指示和預(yù)測錯誤計數(shù)器,視頻編碼器可以判定它將在內(nèi)部模式時更新哪些宏塊。
第三種已知的反饋視頻傳輸系統(tǒng)在H.263附錄N中被規(guī)定。這被稱為參考圖象選擇模式。它規(guī)定視頻譯碼器用以指示哪些圖象段(GOB或分片)被破壞的方式,并且根據(jù)這個信息,視頻譯碼器可以通過使用較老的幀而不是最近的幀來編碼破壞的部分。譯碼器對于每個破壞的圖象段發(fā)送否定的應(yīng)答(NACK)。因此如果這個圖象被破壞,則對于每個分段的NACK都將被破壞。替換地,譯碼器可以發(fā)送肯定的反饋,即,哪些分段未破壞地被接收,以及編碼器只能將那些未破壞的區(qū)域用于預(yù)測。
按照本發(fā)明的第一方面,提供了視頻譯碼方法,包括由視頻譯碼器接收已編碼的視頻數(shù)據(jù),譯碼所述視頻數(shù)據(jù)以形成代表視頻序列的接連的圖象的譯碼的視頻數(shù)據(jù),確定譯碼的視頻數(shù)據(jù)是否包含錯誤,以及當(dāng)確定存在錯誤時,發(fā)送一個消息給發(fā)送視頻編碼器,以便請求至少更新包含該錯誤的視頻數(shù)據(jù)的那個部分,其中所述更新消息只在自從對于視頻數(shù)據(jù)的一個相應(yīng)部分的以前的更新消息被發(fā)送以來經(jīng)歷了預(yù)定的時間間隔時,才被發(fā)送。
更新消息可以請求更新視頻序列的整個圖象。另外、或替換地,更新消息可以請求更新視頻序列的圖象的一個分段。
優(yōu)選地,所述預(yù)定時間間隔正比于視頻譯碼器與視頻編碼器之間的往返路徑延時。有利地,該預(yù)定的時間間隔是往返路徑延時的兩倍。
按照本發(fā)明的第二方面,確定視頻是否包含錯誤的步驟包括確定當(dāng)與視頻圖象的一個相應(yīng)的區(qū)域的先前的圖象數(shù)據(jù)相比較時的視頻數(shù)據(jù)中的改變量。
按照本發(fā)明的第三方面,確定視頻是否包含錯誤的步驟包括確定在先前的圖象中的運(yùn)動量超過預(yù)定的門限值。
按照本發(fā)明的第四方面,提供了視頻譯碼的方法,包括由視頻譯碼器接收編碼的視頻數(shù)據(jù),譯碼所述視頻數(shù)據(jù)以形成代表視頻序列的接連的圖象的譯碼的視頻數(shù)據(jù),確定譯碼的視頻數(shù)據(jù)是否包含錯誤,以及當(dāng)確定存在錯誤時,發(fā)送一個消息給發(fā)送視頻編碼器,以便請求至少更新包含該錯誤的視頻數(shù)據(jù)的那個部分,其中所述確定譯碼的視頻是否包含錯誤的步驟包括確定對于第一圖象的一個區(qū)域當(dāng)與先前的圖象的一個相應(yīng)的區(qū)域的視頻數(shù)據(jù)相比較時的視頻數(shù)據(jù)中的改變量,如果該改變量超過預(yù)定的門限值,則發(fā)送更新消息。
按照本發(fā)明的再一個方面,提供了視頻譯碼的方法,包括由視頻譯碼器接收編碼的視頻數(shù)據(jù),譯碼所述視頻數(shù)據(jù)以形成代表視頻序列的接連的圖象的譯碼的視頻數(shù)據(jù),確定譯碼的視頻數(shù)據(jù)是否包含錯誤,以及如果是的話,則掩蓋包含錯誤的圖象的區(qū)域,以及當(dāng)確定存在錯誤時產(chǎn)生一個消息給發(fā)送視頻編碼器,以便請求至少更新包含該錯誤的視頻數(shù)據(jù)的那個部分,其中如果被掩蓋的圖象的區(qū)域的數(shù)目小于預(yù)定的門限值,則發(fā)送更新消息。
按照本發(fā)明的再一個方面,提供了視頻譯碼方法,包括由視頻譯碼器接收編碼的視頻數(shù)據(jù),譯碼所述視頻數(shù)據(jù)以形成代表視頻序列的接連的圖象的譯碼的視頻數(shù)據(jù),確定譯碼的視頻數(shù)據(jù)是否包含錯誤,以及如果是的話,則掩蓋包含該錯誤的圖象的區(qū)域,以及當(dāng)確定存在錯誤以使得圖象不能被譯碼時,把圖象的所有的部分標(biāo)記為被掩蓋的,以及譯碼下一個圖象。
本發(fā)明也涉及編碼視頻信號的方法,包括接收要被編碼的視頻信號;編碼視頻信號以形成編碼的視頻數(shù)據(jù);以及發(fā)送編碼的視頻數(shù)據(jù)到遠(yuǎn)端視頻譯碼器,其中所述編碼對于從遠(yuǎn)端視頻譯碼器接收的更新的控制信號作出響應(yīng),以漸進(jìn)的方式在多個圖象上更新所請求的編碼視頻數(shù)據(jù)。
優(yōu)選地,更新是在逐個宏塊的基礎(chǔ)上實行的,更新的宏塊是在視頻信號的順序的圖象上被更新的。
按照本發(fā)明的再一個方面,視頻譯碼設(shè)備包括用于接收編碼的視頻數(shù)據(jù)的裝置,用于譯碼所述視頻數(shù)據(jù)以形成譯碼的視頻數(shù)據(jù)的裝置;用于確定譯碼的視頻數(shù)據(jù)是否包含錯誤的裝置;以及一種這樣的發(fā)送裝置,它用于發(fā)送一個消息給發(fā)送視頻編碼器,以便請求至少更新包含所述錯誤的視頻數(shù)據(jù)的那個部分,其中設(shè)備被安排成只在自從對于視頻數(shù)據(jù)的一個相應(yīng)部分的以前的更新消息被發(fā)送以來已經(jīng)經(jīng)歷了預(yù)定的時間間隔,才發(fā)送更新消息。
優(yōu)選地,所述用于確定譯碼的視頻數(shù)據(jù)是否包含錯誤的裝置包括一種這樣的裝置,該裝置用于確定當(dāng)與視頻圖象的相應(yīng)的區(qū)域的先前的圖象數(shù)據(jù)相比較時的視頻數(shù)據(jù)中的改變量,如果該改變量超過預(yù)定的門限值,則發(fā)送更新消息。
有利地,如果在先前的圖象中的運(yùn)動量超過預(yù)定的門限值,則產(chǎn)生更新消息。
按照本發(fā)明的再一個方面,視頻信號編碼設(shè)備包括用于接收要被編碼的視頻信號的裝置;用于編碼視頻信號以形成編碼的視頻數(shù)據(jù)的裝置;以及用于發(fā)送編碼的視頻數(shù)據(jù)到遠(yuǎn)端視頻譯碼器的裝置,其中編碼裝置對于從遠(yuǎn)端視頻譯碼器接收的更新的控制信號作出響應(yīng),以漸進(jìn)的方式在多個圖象上更新所請求的編碼視頻數(shù)據(jù)。
優(yōu)選地,更新是在逐個宏塊的基礎(chǔ)上實行的,更新的宏塊是在視頻信號的順序圖象上被更新的。
本發(fā)明也擴(kuò)展到移動無線設(shè)備。
現(xiàn)在將參照附圖,僅僅通過例子描述本發(fā)明,其中

圖1顯示多媒體移動通信系統(tǒng);圖2顯示多媒體終端的多媒體部件的例子;圖3顯示視頻編碼譯碼器的例子;圖4是顯示按照本發(fā)明的第一實施例的視頻譯碼器的運(yùn)行的流程圖;圖5是顯示按照本發(fā)明的視頻譯碼器在圖象級別上的運(yùn)行的流程圖;圖6是顯示按照本發(fā)明的視頻譯碼器在GOB級別上的運(yùn)行的流程圖;圖7是顯示由按照本發(fā)明的視頻譯碼器實行的宏塊譯碼算法的流程圖;圖8是顯示按照本發(fā)明的視頻譯碼器的另一個實施例在圖象級別上的運(yùn)行的流程圖;圖9是顯示按照本發(fā)明的視頻譯碼器在圖象級別上的運(yùn)行的流程圖;以及圖10是顯示按照本發(fā)明的視頻譯碼器在GOB級別上的運(yùn)行的流程圖。
下面參照H.324建議進(jìn)一步描述本發(fā)明。然而,并不打算把本發(fā)明的應(yīng)用限制于這一個范圍以及它的有關(guān)的協(xié)議。
圖1顯示典型的多媒體移動通信系統(tǒng)。第一多媒體移動終端1通過到移動通信網(wǎng)4的無線鏈路3與第二多媒體移動終端2通信。在兩個終端1,2之間發(fā)送控制數(shù)據(jù)以及多媒體數(shù)據(jù)。
圖2顯示遵從H.324的終端1的典型的多媒體部件。該終端包括遵從H.263的視頻編碼譯碼器10、遵從G.723的音頻編碼譯碼器20、遵從T.120的數(shù)據(jù)協(xié)議管理器30、遵從H.245的控制管理器40、遵從H.233的復(fù)接器/分接器50、和調(diào)制解調(diào)器60(如果需要的話)。視頻編碼譯碼器10接收來自視頻捕獲裝置(未示出,例如攝影機(jī))的信號以便用于編碼以及接收來自遠(yuǎn)端終端2的信號以便由終端1譯碼和在顯示器70上顯示。音頻編碼譯碼器20從終端1的話筒(未示出)接收信號以便用于編碼,以及接收來自遠(yuǎn)端終端2的信號以便譯碼和由終端1的揚(yáng)聲器(未示出)進(jìn)行重現(xiàn)。
控制管理器40控制視頻編碼譯碼器10、音頻編碼譯碼器20和數(shù)據(jù)協(xié)議管理器30的運(yùn)行。然而,由于本發(fā)明關(guān)心視頻編碼譯碼器10的運(yùn)行,所以對音頻編碼譯碼器20和協(xié)議管理器30不作進(jìn)一步討論。
圖3顯示按照本發(fā)明的視頻編碼譯碼器10的例子。該視頻編碼譯碼器包括編碼器部件100和譯碼器部件200。編碼器部件100包括輸入端101,用于接收來自終端1的攝影機(jī)或視頻源(未示出)的視頻信號。開關(guān)102在編碼的幀內(nèi)-模式與幀間-模式之間切換該編碼器。
在幀內(nèi)-模式,來自輸入端101的視頻信號101由DCT變換器103變換成DCT系數(shù)。DCT系數(shù)然后被傳送到量化器104,后者用于量化這些系數(shù)。開關(guān)102和量化器104被視頻編碼譯碼器的編碼控制管理器105控制,它也借助于H.245控制管理器40而接收來自接收終端2的反饋控制。
在幀間-模式,交換機(jī)102用來從減法器106接受在來自輸入端101的信號與被存儲在圖象存儲器107中的先前的圖象之間的差值。從減法器106輸出的差值數(shù)據(jù)代表在當(dāng)前圖象與被存儲在圖象存儲器107中的先前的圖象之間的預(yù)測錯誤。在圖象存儲器107中的數(shù)據(jù)是通過把由量化器輸出的數(shù)據(jù)傳送到逆量化器108以及把逆DCT變換109應(yīng)用到逆量化的數(shù)據(jù)而產(chǎn)生的。結(jié)果所得的數(shù)據(jù)由加法器110加到圖象存儲器107的內(nèi)容中去。運(yùn)動估值器111可以以慣用的方式從圖象存儲器107產(chǎn)生運(yùn)動補(bǔ)償數(shù)據(jù)。
視頻編碼譯碼器輸出已量化的DCT系數(shù)112a、量化指數(shù)112b(即,所使用的量化的細(xì)節(jié))、表示所執(zhí)行的編碼的模式(I或P/B)的幀間/幀內(nèi)標(biāo)志112c、表示正在被編碼的幀的數(shù)目的發(fā)送標(biāo)志112d、以及用于被編碼的圖象的運(yùn)動矢量112e。這些參量連同其它多媒體信號被復(fù)接器50復(fù)接在一起。
視頻編碼譯碼器10的譯碼器部件200包括逆量化器120、逆DCT變換器121、運(yùn)動補(bǔ)償器122、圖象存儲器123和控制器124??刂破?24接收由分接器50從編碼的多媒體數(shù)據(jù)流中分接的視頻編碼譯碼器控制信號。實際上,編碼器的控制器105和譯碼器的控制器124可以是同一個處理器。
考慮終端1從終端2接收編碼的視頻數(shù)據(jù),現(xiàn)在將首先參照它的譯碼作用來描述視頻編碼譯碼器10的運(yùn)行。終端1接收來自發(fā)送終端2的多媒體信號。分接器50分接多媒體信號,以及把視頻數(shù)據(jù)傳送到視頻編碼譯碼器10和把H245控制數(shù)據(jù)傳送到H.245控制器40。視頻編碼譯碼器的譯碼器200通過逆量化、逆DCT變換、和運(yùn)動補(bǔ)償已編碼的視頻數(shù)據(jù),從而譯碼所述已編碼的視頻數(shù)據(jù)。譯碼的視頻數(shù)據(jù)然后被輸出,用于在接收終端1的顯示器70上重現(xiàn)。譯碼器的控制器124檢驗接收數(shù)據(jù)的整體性,如果檢測到錯誤,則它可請求以下面描述的方式更新來自發(fā)送終端2的編碼器的受破壞的數(shù)據(jù)。
視頻數(shù)據(jù)中的錯誤可以在圖象級別、GOB級別或宏塊級別上出現(xiàn)。錯誤檢驗可以在每個級別上實行。
在圖象級別上的錯誤意味著,圖象不能被譯碼以及完全丟失或它被破壞成使得它實際上是丟失的。在圖象級別上的錯誤可以以一個或多個方式被檢測。圖4顯示說明按照本發(fā)明的第一實施例的、產(chǎn)生更新消息的方法的流程圖。首先(300),譯碼器開始譯碼接收的圖象。如果圖象的標(biāo)題被破壞(302),或被找到的是一個不同的參量(例如,當(dāng)編碼類型是幀內(nèi)時設(shè)置一個內(nèi)部的標(biāo)記),則認(rèn)為圖象被丟失。
替換地,錯誤可以通過確定圖象中所使用的編碼的類型而被檢測,并且如果編碼類型是幀內(nèi)的以及多于Q個的分段被確定為被破壞的(304)則認(rèn)為圖象被丟失。分段可包括GOB、分片或宏塊。例如,在QCIF圖象格式中每個圖象有9個GOB。所以,可以設(shè)置一個準(zhǔn)則,如果說圖象的大于四個GOB被破壞,認(rèn)為圖象是被丟失的。GOB是否被破壞,可以由CRC確定。
替換地,如果在多于F個的圖象上出現(xiàn)錯誤的時間傳播(例如,在設(shè)置的時間X內(nèi)一個MB沒有被更新)以及掩蓋的區(qū)域變成為大于某個門限值而不被更新(306),則認(rèn)為圖象是被丟失的。為了達(dá)到這一點,在譯碼期間譯碼器跟蹤圖象的宏塊的狀態(tài)(例如,掩蓋/幀間/幀內(nèi)),以及如果大于預(yù)定的數(shù)目的宏塊被標(biāo)記為掩蓋的,則認(rèn)為圖象是被丟失的。
替換地,如果當(dāng)前的圖象N被認(rèn)為是被丟失的,則控制器124確定(307)在當(dāng)前的幀(N-1)之前的幀究竟是包含許多運(yùn)動還是包含許多預(yù)測錯誤。這可以在譯碼下一個圖象(N+1)期間通過收集下一個圖象(N+1)的運(yùn)動矢量和計算對于整個圖象而表示的位移而達(dá)到。這可以通過計算由運(yùn)動矢量代表的平均運(yùn)動或計數(shù)與圖象有關(guān)的運(yùn)動矢量的數(shù)目而完成。如果確定在當(dāng)前幀后面的幀不包含許多運(yùn)動或預(yù)測錯誤,則下一個圖象被譯碼(300)。否則,可能需要當(dāng)前的圖象去產(chǎn)生一個可接受的圖象,即,下一個圖象是幀間編碼的,以及必須從先前正確地譯碼的圖象中進(jìn)行預(yù)測。
當(dāng)找到一個在圖象級別上的錯誤時,控制器124確定(308)自從上一次更新圖象以來圖象內(nèi)容是否很大地改變。這可以通過產(chǎn)生當(dāng)前的幀的和先前成功地譯碼的圖象的色度和/或亮度象素值的直方圖以及比較直方圖而達(dá)到。替換地,可以比較兩個圖象的梯度總和。對于每個圖象,梯度總和代表在x和y方向上相鄰的象素亮度值之間的差值的總和。如果當(dāng)前的圖象被認(rèn)為很大地改變,則控制器124確定(312)自從先前的圖象更新被發(fā)送以來所經(jīng)歷的時間是否大于一個時間間隔T。如果是的話,則把VideoFastUpdatePicture(視頻快速更新圖象)消息發(fā)送(314)到發(fā)送終端2。然后譯碼器進(jìn)行譯碼下一個圖象(300),而不必等待編碼器對更新命令的響應(yīng)。
T正比于在兩個通信終端1,2之間的通信路徑的來回路程延時,這可由H.245協(xié)議管理器40測量。T的典型數(shù)值是來回路程延時的兩倍。T的數(shù)值的確定考慮到在接收譯碼器與發(fā)送譯碼器之間的來回路程延時和由發(fā)送編碼器響應(yīng)更新命令所花費(fèi)的時間。
所有的步驟302,304,306和307不一定都實行每個步驟可被單獨(dú)使用或者可以使用其它的檢錯方法。
圖5是顯示本發(fā)明的第二實施例的譯碼器在圖象級別上的運(yùn)行的流程圖。首先(400)譯碼下一個圖象N。如果譯碼器不能譯碼圖象(402),則圖象具有狀態(tài)“丟失”。當(dāng)圖象標(biāo)題是不可檢索時,譯碼器將返回這個決定。在這種情形下,譯碼器控制器124檢查接收的和已成功譯碼的先前的圖象(N-m),以及確定在先前的圖象中的運(yùn)動量(404)。例如,這可以通過計算由與先前成功地譯碼的圖象(N-m)的MB有關(guān)的運(yùn)動矢量代表的總的位移量而達(dá)到。如果這個運(yùn)動小于或等于預(yù)定的門限值D,則把“檢驗下一個圖象”標(biāo)記設(shè)置為1(406)和譯碼下一個圖象(N+1)(400)。如果運(yùn)動大于預(yù)定的門限值D,則認(rèn)為圖象被破壞,以及所有的MB被標(biāo)記為破壞的(408)。這是通過設(shè)置圖象中所有宏塊的狀態(tài)為“掩蓋的”而達(dá)到的??刂破?24然后確定(410)自從先前的圖象更新被發(fā)送以來所經(jīng)歷的時間是否大于一個時間間隔T1。如果是的話,則把VideoFastUpdatePicture(視頻快速更新圖象)消息發(fā)送(412)到發(fā)送編碼器。在任一個情形下,則把“檢驗下一個圖象標(biāo)記”設(shè)置為0(414)和譯碼下一個圖象(400)。
T1正比于在兩個通信終端1,2之間的通信路徑的來回路程延時,這可由H.245協(xié)議管理器40來測量。T1的適當(dāng)?shù)臄?shù)值是來回路程延時的兩倍。
如果譯碼器設(shè)法成功地譯碼圖象標(biāo)題(402),則圖象的GOB被譯碼(500)(見圖6)。按照H.263,是否包括GOB標(biāo)題是可任選的。如果它被忽略,則譯碼器不執(zhí)行GOB級別上的任何完整性檢驗和GOB的MB的標(biāo)題和數(shù)據(jù)立即被譯碼。
如圖7所示,當(dāng)圖象的每個GOB被譯碼時,GOB的每個MB的狀態(tài)被確定(602)。如果宏塊被破壞或丟失,則通過使用已知的錯誤掩蓋技術(shù)來掩蓋MB,以及MB的狀態(tài)被設(shè)置為“掩蓋的”(604)。對于其它的MB,譯碼器從宏塊標(biāo)題確定MB的類型。對于幀內(nèi)編碼的MB,狀態(tài)被設(shè)置為“更新”(606)。控制器124保存對于每個GOB和每個圖象的MB的狀態(tài)的記錄(608)。對于幀間編碼的MB,狀態(tài)是從被譯碼的先前的幀的相應(yīng)的MB那里復(fù)制的。
回到圖6,一旦GOB的所有的MB已被譯碼(只要譯碼器能夠),在GOB中被譯碼的掩蓋的MB的數(shù)目可通過檢查MB狀態(tài)記錄(608/502)而被確定。如果掩蓋的MB的數(shù)目小于預(yù)定的門限值M(503),則譯碼下一個GOB(501)。然而,如果掩蓋的MB的數(shù)目大于預(yù)定的門限值M(503),則控制器124查看(504)先前是否譯碼器已命令進(jìn)行GOB更新。如果先前已發(fā)送更新命令,則控制器124確定(505)自從先前的GOB更新被發(fā)送以來所經(jīng)歷的時間是否大于一個時間間隔T2。如果是的話,則發(fā)送VideoFastUpdateGOB(視頻快速更新GOB)消息(506)。如果不是的話,則下一個GOB被譯碼(501)。T2也正比于在兩個通信終端1,2之間的通信路徑的來回路程延時,這可由H.245協(xié)議管理器40來測量。T2的典型的數(shù)值是來回路程延時的兩倍。
如果先前沒有發(fā)送GOB更新(504),則控制器檢驗GOB是否被破壞(507)。這可通過CRC、誤碼率或檢查GOB標(biāo)題(如果存在的話)而確定。如果GOB被認(rèn)為沒有破壞,則譯碼下一個GOB(501)。如果GOB被認(rèn)為是破壞的,則檢查相鄰的GOB(例如,先前的GOB)(508),以便查看它們是否包括許多幀內(nèi)編碼的MB。如果是的話,則當(dāng)前的破壞的GOB多半也包括許多幀內(nèi)編碼的MB??刂破?24然后確定(505);自從先前的GOB更新被發(fā)送以來所經(jīng)歷的時間是否大于一個時間間隔T2。如果是的話,則發(fā)送VideoFastUpdateGOB(視頻快速更新GOB)消息(506)。如果不是的話,則下一個GOB被譯碼(501)。如果確定相鄰的GOB不包括許多幀內(nèi)編碼的MB,則當(dāng)前的GOB中的比特數(shù)目被計數(shù)(509),以及與門限值B進(jìn)行比較。典型地,QCIF GOB包含大約200個比特,以及B的典型值可以是500比特。如果GOB中的比特數(shù)目超過門限值B,則控制器124確定(505)自從先前的GOB更新被發(fā)送以來所經(jīng)歷的時間是否大于一個時間間隔T2。如果是的話,則發(fā)送VideoFastUpdateGOB(視頻快速更新GOB)(506)。如果不是的話,則下一個GOB被譯碼(501)。這個處理過程繼續(xù)進(jìn)行,直至圖象的最后一個GOB的最后一個MB被譯碼(510)為止,在這時,譯碼處理過程繼續(xù)進(jìn)行圖5的步驟420。
因此,若干個GOB更新命令可以針對單個圖象被發(fā)送。對于圖象的每個GOB保持一個獨(dú)立的定時器,以及GOB更新命令只是在自從對于圖象的那個GOB的GOB更新命令被發(fā)送以來已經(jīng)歷大于一個時間間隔T2后才被發(fā)送。例如,在譯碼圖象N后,比如說可以發(fā)送對于GOB 1和5的更新命令。在譯碼圖象N+1時,即使發(fā)現(xiàn)GOB 1和5是破壞的,對于這些GOB的GOB更新命令并不及時被發(fā)送,因為自從對于這些GOB的更新命令先前被發(fā)送以來時間間隔T2還沒有消逝。
一旦已譯碼圖象的所有的GOB(500),掩蓋的MB的總的數(shù)目從MB狀態(tài)記錄(608)中被確定(420)。如果掩蓋的MB的數(shù)目被確定(422)為大于門限值C,則控制器124確定(410);自從先前的圖象更新被發(fā)送以來所經(jīng)歷的時間是否大于一個時間間隔T1。如果是的話,則發(fā)送VideoFastUpdatePicture(視頻快速更新圖象)消息(412)到發(fā)送編碼器,以及譯碼下一個圖象(400)。在任一個情形下,把“檢驗下一個圖象標(biāo)記”設(shè)置為0(414)。
如果圖象中掩蓋的MB的數(shù)目被確定(422)為小于C而大于零,則控制器124確定(424)當(dāng)前的圖象是否很大地改變。這可以通過比較當(dāng)前的幀與成功地譯碼的先前的幀的直方圖和/或比較兩個幀的梯度和值而以傳統(tǒng)的方式達(dá)到。如果當(dāng)前的圖象被認(rèn)為很大地改變,則控制器124確定(410)自從先前的圖象更新被發(fā)送以來所經(jīng)歷的時間是否大于一個時間間隔T1。如果是的話,則發(fā)送VideoFastUpdatePicture(視頻快速更新圖象)消息(412)到發(fā)送終端2。如果當(dāng)前的圖象被認(rèn)為沒有很大地改變,則把“檢驗下一個圖象標(biāo)記”設(shè)置為0(414)以及譯碼下一個圖象(400)。
如果圖象中掩蓋的MB的數(shù)目被確定(422)為零,則檢驗“檢驗下一個圖象”標(biāo)記(426)。如果標(biāo)記沒有被設(shè)置(即=0),則譯碼下一個圖象(400)。然而,如果標(biāo)記被設(shè)置(即=1),則這意味著先前的圖象(N-1)被丟失。因此,使當(dāng)前的圖象(N)與先前的成功地譯碼的圖象(N-n)進(jìn)行比較(其中,n是大于1的整數(shù)),以及圖象內(nèi)容的改變?nèi)缜懊婷枋龅乇淮_定(424)。
按照上述的實施例,GOB更新命令針對一個GOB被發(fā)送,除非對于所考慮的GOB的更新命令已經(jīng)在時間T2內(nèi)被發(fā)送了。同樣地,圖象更新命令針對每個圖象被發(fā)送,除非這樣的更新命令已經(jīng)在時間T1內(nèi)被發(fā)送了。因此,有可能發(fā)送對于同一個圖象的GOB更新命令和圖象更新命令。按照本發(fā)明的另一個實施例,更新命令被產(chǎn)生,但在整個圖象被譯碼以前不被發(fā)送(只要這是可能的)。如果確定對于正在被譯碼的當(dāng)前的圖象發(fā)送圖象更新命令,則不發(fā)送對于同一個圖象的任何GOB更新命令。因此,在步驟506,GOB更新命令被產(chǎn)生但不被發(fā)送,如圖所示,在步驟428,控制器124確定對于正在被譯碼的當(dāng)前圖象是否已發(fā)送圖象更新命令。如果是的話,對于當(dāng)前圖象的GOB更新命令被忽略。如果不是的話,對于當(dāng)前圖象的GOB更新命令被發(fā)送。然后實行下一個圖象的譯碼(400)。
現(xiàn)在將描述發(fā)送終端2的視頻編碼譯碼器的編碼器部分的運(yùn)行。第一圖象作為內(nèi)部的幀被編碼,而以后的幀作為幀間的幀被編碼,直至情景改變造成內(nèi)部的幀被編碼、或強(qiáng)迫的更新由編碼器的預(yù)定的參量設(shè)置而被發(fā)起、或更新消息從接收終端1被接收為止。
當(dāng)發(fā)送終端2接收更新消息時,編碼器部分通過更新從接收終端1那里請求的消息中的圖象部分而進(jìn)行應(yīng)答。因此,如果接收終端1已發(fā)送VideoFastUpdatePicture(視頻快速更新圖象)命令,則發(fā)送終端2的編碼器更新整個圖象。如果接收終端1已發(fā)送VideoFastUpdateGOB(視頻快速更新GOB)命令,則發(fā)送終端2的編碼器更新整個GOB。
圖9是顯示按照本發(fā)明的編碼器如何對于圖象更新VideoFastUpdatePicture(視頻快速更新圖象)命令作出反應(yīng)的流程圖。發(fā)送終端2借助于視頻編碼譯碼器的控制管理器40與控制器105監(jiān)視(800)來自接收終端1的編碼譯碼器反饋消息(例如,通過H.245控制信道發(fā)送的)。當(dāng)更新命令被編碼器100接收(802)時,控制器105檢驗(804)這是否在發(fā)送開始的S秒(例如5秒)內(nèi)。如果是的話,控制器指令(806)編碼器按幀內(nèi)編碼的方式更新整個圖象。這使得開關(guān)102關(guān)斷減法器106,以及使得編碼器100按內(nèi)部的幀來編碼來自輸入端101的進(jìn)入的視頻的整個的下一個圖象。
如果當(dāng)圖象更新命令被接收時已經(jīng)經(jīng)歷了大于S秒的時間,則控制器105確定(808)在預(yù)定的時間間隔I內(nèi)發(fā)送終端2是否已接收到大于R個更新請求。如果是的話,控制器把開關(guān)102切換到幀內(nèi)模式以及整個圖象以幀內(nèi)編碼的格式被更新(806)。否則,控制器使得能夠逐個宏塊地啟動開關(guān)102的幀內(nèi)模式狀態(tài)(810),以使得所有的宏塊按幀內(nèi)格式逐個宏塊地在接連的圖象上被編碼。如果編碼器被這樣地預(yù)先編程、以使得缺省更新處理過程(在頭S秒以后)是逐個宏塊地更新、以及接收譯碼器不接受接連的宏塊更新,則接收譯碼器將發(fā)送多個VideoFastUpdatePicture(視頻快速更新圖象)命令到發(fā)送編碼器。所以,操作步驟808確保編碼器將最終按幀內(nèi)格式更新整個圖象。R和I的適當(dāng)?shù)臄?shù)值分別是10和5秒。
圖10是顯示發(fā)送終端2的編碼器100如何對于VideoFastUpdateGOB(視頻快速更新GOB)命令作出反應(yīng)的流程圖。從接收終端1發(fā)送的反饋消息(例如,通過H.245控制信道)被發(fā)送終端2的編碼器部分100的控制管理器40與控制器105監(jiān)視(900)。當(dāng)VideoFastUpdateGOB(視頻快速更新GOB)命令被編碼器100接收(902)時,控制器105識別(904)已改變得最大的那些所請求的GOB的宏塊。已改變得最大的那些所請求的GOB的MB首先通過幀內(nèi)編碼被更新。這些MB可以通過逐個象素地考慮要被編碼的下一個圖象的GOB的MB的象素的亮度值而被識別。下一個圖象與先前的圖象的象素之間的差值的平方和被形成。編碼器按幀內(nèi)模式首先編碼具有最大的差值的那些MB。GOB的其它MB在以下的圖象中相應(yīng)的GOB中的相應(yīng)的MB的編碼期間被更新。
編碼器100的控制器也跟蹤被破壞的MB的時間傳播。因此當(dāng)VideoFastUpdateGOB(視頻快速更新GOB)命令被接收時,編碼器也可更新根據(jù)破壞的GOB(譯碼器針對它已發(fā)送了VideoFastUpdateGOB(視頻快速更新GOB)命令)預(yù)測的那些MB。
權(quán)利要求
1.一種視頻譯碼方法,包括由視頻譯碼器接收已編碼的視頻數(shù)據(jù),譯碼所述視頻數(shù)據(jù)以形成代表視頻序列的接連的圖象的譯碼的視頻數(shù)據(jù),確定譯碼的視頻數(shù)據(jù)是否包含錯誤,以及當(dāng)確定存在錯誤時從所述視頻譯碼器發(fā)送更新請求消息給發(fā)送視頻編碼器,以便請求至少更新包含該錯誤的視頻數(shù)據(jù)的相應(yīng)部分,其特征在于如果對于該視頻數(shù)據(jù)的一個相應(yīng)部分的以前的更新請求消息從所述視頻譯碼器發(fā)送到所述發(fā)送視頻編碼器后已經(jīng)經(jīng)歷了預(yù)定的時間間隔,則從所述視頻譯碼器發(fā)送進(jìn)一步的更新請求消息給所述視頻編碼器,由此限制更新消息的不必要的重復(fù)傳送量。
2.按照權(quán)利要求1的方法,其中更新消息請求更新視頻序列的整個圖象。
3.按照權(quán)利要求1的方法,其中更新消息請求更新視頻序列的圖象的分段。
4.按照權(quán)利要求1,2或3的方法,其中預(yù)定的時間間隔正比于在視頻譯碼器與視頻編碼器之間的往返路徑延時。
5.按照權(quán)利要求1,2或3的方法,其中確定譯碼的視頻數(shù)據(jù)是否包含錯誤的步驟包括確定當(dāng)與視頻圖象的一個相應(yīng)的區(qū)域的先前的圖象數(shù)據(jù)相比較時的譯碼的視頻數(shù)據(jù)中的改變量,如果改變量超過預(yù)定的門限值,則產(chǎn)生更新消息。
6.按照權(quán)利要求1,2或3的視頻譯碼方法,其中如果先前的圖象中的運(yùn)動量超過預(yù)定的門限值,則產(chǎn)生更新消息。
7.按照權(quán)利要求1的視頻譯碼方法,其中所述確定譯碼的視頻是否包含錯誤的步驟包括對于第一圖象的區(qū)域,確定該視頻數(shù)據(jù)相對于以前圖象的相應(yīng)區(qū)域的視頻數(shù)據(jù)的改變量,當(dāng)該改變量超過預(yù)定的門限值時,則確定存在錯誤,其中所述更新消息與包含錯誤的第一圖象的分段相關(guān)。
8.按照權(quán)利要求1的視頻譯碼方法,其中當(dāng)確定出譯碼的視頻數(shù)據(jù)中的錯誤時,掩蓋該包含錯誤的圖象區(qū)域,當(dāng)確定存在錯誤時,生成消息并將其提供到發(fā)送視頻編碼器,以請求至少更新包含錯誤的視頻數(shù)據(jù)的那部分,其中如果被掩蓋的圖象區(qū)域的數(shù)目小于預(yù)定門限值,則發(fā)送更新消息;如果被掩蓋的圖象區(qū)域的數(shù)目超過預(yù)定門限值,發(fā)送更新整個圖象的請求。
9.按照權(quán)利要求8的視頻譯碼方法,當(dāng)確定存在錯誤從而使得圖象不能被譯碼時,則將圖象的所有部分標(biāo)記為被掩蓋,并譯碼下一圖象。
10.一種編碼視頻信號的方法,包括接收要被編碼的視頻信號;編碼視頻信號以形成代表視頻序列的接連的圖象的編碼的視頻數(shù)據(jù);以及發(fā)送編碼的視頻數(shù)據(jù)到遠(yuǎn)端視頻譯碼器,其中所述編碼過程對于從遠(yuǎn)端視頻譯碼器接收的更新請求消息作出響應(yīng),以更新視頻數(shù)據(jù)的被請求的錯誤的部分,其特征在于如果對于被檢測出有錯誤的編碼視頻數(shù)據(jù)的一個相應(yīng)部分的以前的更新請求消息從所述遠(yuǎn)端視頻譯碼器發(fā)送后已經(jīng)經(jīng)歷了預(yù)定的時間間隔,則從所述視頻譯碼器發(fā)送進(jìn)一步的更新請求消息,由此限制更新消息的不必要的重復(fù)傳送量。
11.按照權(quán)利要求10的編碼視頻信號的方法,其中所述更新過程是在逐個宏塊的基礎(chǔ)上實行的,更新的宏塊在視頻信號的順序的圖象上被更新。
12.一種視頻譯碼設(shè)備(200),包括用于接收編碼的視頻數(shù)據(jù)的裝置(50,60);用于譯碼所述視頻數(shù)據(jù)以形成代表視頻序列的接連的圖象的譯碼的視頻數(shù)據(jù)的裝置(120,121,123,124),用于確定譯碼的視頻數(shù)據(jù)是否包含錯誤的裝置(124),和用于發(fā)送更新請求消息給發(fā)送視頻編碼器以請求至少更新包含錯誤的視頻數(shù)據(jù)的相應(yīng)部分的裝置(124),其特征在于如果對于視頻數(shù)據(jù)的一個相應(yīng)部分從所述視頻譯碼器發(fā)送到所述發(fā)送編碼器后已經(jīng)經(jīng)歷了預(yù)定的時間間隔,則從所述視頻譯碼器發(fā)送進(jìn)一步的更新請求消息,由此限制更新消息的不必要的復(fù)重傳送量。
13.按照權(quán)利要求12的設(shè)備,其中用于確定譯碼的視頻數(shù)據(jù)是否包含錯誤的裝置(124)包括用于確定所述譯碼的視頻數(shù)據(jù)相對于視頻圖象的相應(yīng)區(qū)域的先前圖象數(shù)據(jù)的改變量的裝置,如果所述改變量超過預(yù)定的門限值,則發(fā)送更新消息。
14.按照權(quán)利要求12或13的設(shè)備,其中如果在先前的圖象中的運(yùn)動量超過預(yù)定的門限值,則產(chǎn)生更新消息。
15.視頻信號編碼設(shè)備(100),包括用于接收要被編碼的視頻信號的裝置(101);用于編碼視頻信號以形成代表視頻序列的接連的圖象的編碼的視頻數(shù)據(jù)的裝置(102,103,104,108,109,110,111);以及用于發(fā)送編碼的視頻數(shù)據(jù)到遠(yuǎn)端視頻譯碼器(200)的裝置(60),其中該編碼裝置(102,103,104,108,109,110,111)對于從遠(yuǎn)端視頻譯碼器(200)接收的更新請求消息作出響應(yīng)以更新視頻數(shù)據(jù)的被請求的有錯誤的部分,其特征在于如果對于被檢測出有錯誤的編碼視頻數(shù)據(jù)的一個相應(yīng)部分的以前更新請求消息從所述遠(yuǎn)端視頻譯碼器被發(fā)送后已經(jīng)經(jīng)歷了預(yù)定的時間間隔,則從所述視頻譯碼器發(fā)送進(jìn)一步的更新請求消息,由此限制更新消息的不必要的重復(fù)傳送量。
16.按照權(quán)利要求15的設(shè)備,其中更新是在逐個宏塊的基礎(chǔ)上實行的,更新的宏塊在視頻信號的順序圖象上被更新。
17.一種移動無線設(shè)備,包括視頻譯碼設(shè)備,其中所述視頻譯碼設(shè)備包括用于接收編碼的視頻數(shù)據(jù)的裝置(50,60);用于譯碼所述視頻數(shù)據(jù)以形成代表視頻序列的接連的圖象的譯碼的視頻數(shù)據(jù)的裝置(120,121,123,124),用于確定譯碼的視頻數(shù)據(jù)是否包含錯誤的裝置(124),和用于發(fā)送更新請求消息給發(fā)送視頻編碼器以請求至少更新包含錯誤的視頻數(shù)據(jù)的相應(yīng)部分的裝置(124),其特征在于如果對于視頻數(shù)據(jù)的一個相應(yīng)部分從所述視頻譯碼器發(fā)送到所述發(fā)送編碼器后已經(jīng)經(jīng)歷了預(yù)定的時間間隔,則從所述視頻譯碼器發(fā)送進(jìn)一步的更新請求消息,由此限制更新消息的不必要的復(fù)重傳送量。
18.一種移動無線設(shè)備,包括視頻信號編碼設(shè)備,其中該視頻信號編碼設(shè)備包括用于接收要被編碼的視頻信號的裝置(101);用于編碼視頻信號以形成代表視頻序列的接連的圖象的編碼的視頻數(shù)據(jù)的裝置(102,103,104,108,109,110,111);以及用于發(fā)送編碼的視頻數(shù)據(jù)到遠(yuǎn)端視頻譯碼器(200)的裝置(60),其中該編碼裝置(102,103,104,108,109,110,111)對于從遠(yuǎn)端視頻譯碼器(200)接收的更新請求消息作出響應(yīng)以更新視頻數(shù)據(jù)的被請求的有錯誤的部分,其特征在于如果對于被檢測出有錯誤的編碼視頻數(shù)據(jù)的一個相應(yīng)部分的以前更新請求消息從所述遠(yuǎn)端視頻譯碼器被發(fā)送后已經(jīng)經(jīng)歷了預(yù)定的時間間隔,則從所述視頻譯碼器發(fā)送進(jìn)一步的更新請求消息,由此限制更新消息的不必要的重復(fù)傳送量。
全文摘要
視頻譯碼的方法包括接收編碼的視頻數(shù)據(jù);譯碼所述視頻數(shù)據(jù)形成譯碼的視頻數(shù)據(jù),以及確定譯碼的視頻數(shù)據(jù)是否包含錯誤。當(dāng)確定存在錯誤時發(fā)送一個消息給發(fā)送視頻編碼器,以便請求至少更新包含錯誤的視頻數(shù)據(jù)的那個部分,其中所述更新消息只在自從以前的更新消息被發(fā)送以來經(jīng)歷了預(yù)定的時間間隔時才被發(fā)送。也描述了互補(bǔ)的編碼器。
文檔編號H04N7/24GK1897697SQ20061010058
公開日2007年1月17日 申請日期2000年2月16日 優(yōu)先權(quán)日1999年2月18日
發(fā)明者M·漢努克塞拉, A·霍倫蘭塔 申請人:諾基亞移動電話有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
兰溪市| 江陵县| 天峻县| 谢通门县| 颍上县| 衡阳县| 南昌市| 西畴县| 静海县| 遂平县| 崇义县| 思南县| 城口县| 绥棱县| 桃源县| 张家口市| 亚东县| 荆门市| 广东省| 开江县| 文登市| 吴忠市| 林甸县| 鹿泉市| 密山市| 高青县| 莆田市| 进贤县| 邮箱| 汤原县| 行唐县| 鲁甸县| 胶南市| 涿州市| 墨玉县| 利川市| 英山县| 南投市| 汕头市| 武城县| 玉溪市|