專利名稱:圖像編碼器,圖像解碼器及圖象發(fā)送系統(tǒng)的制作方法
技術(shù)領域:
本發(fā)明的背景本發(fā)明涉及圖象編碼器,圖象解碼器及圖象發(fā)送系統(tǒng),該系統(tǒng)把好的數(shù)據(jù)壓縮性能同高的幀丟失容錯性結(jié)合起來。
近來,通過通信網(wǎng)絡發(fā)送運動圖象的系統(tǒng)得到了迅速發(fā)展,如包括用可視電話,電視會議及點播電視(VOD)系統(tǒng),為了減少發(fā)送數(shù)據(jù)量,圖象被數(shù)字化及在發(fā)送設備上壓縮編碼,而在接收設備上解碼。
活動圖象編碼的基本類型可分為基礎幀編碼(Intra-framecoding)和幀間編碼(Inter-frame coding)兩類?;A幀編碼分別地編碼每一幀,或把一幀分成幾塊分別地編碼每一塊,基礎幀編碼的各種方法已被標準化,例如JPEG(Joint photographic Experts Group)。基礎幀編碼通過減低每幀中空間冗余來壓縮數(shù)據(jù)。
幀間編碼不僅減少空間冗余還減少時間上的冗余,它只對這一幀同前一幀之差進行編碼。幀間編碼可以包括產(chǎn)生高數(shù)據(jù)壓縮率的運動補償。
所用的基礎幀編碼和幀間編碼都已標準化,例如MPEG(MovingPicture Experts Group)和ITU-T(TelecommunicationStandardization Sector of International Telecommunication Union)。圖21說明了在ITU-T的H.261建議中用的編碼系統(tǒng)?;A幀編碼,如圖中陰影線所示以規(guī)律的間隔執(zhí)行;幀間編碼在其它時間上執(zhí)行。在幀間編碼中,每幀以緊接著的前一幀為基準而編碼,如箭頭所示,用幀間編碼所編碼的一些幀是以前趨幀預測出來的,稱為P-幀。而基礎幀編碼所編碼的一些幀稱作為I-幀。在圖21中,幀a和i為I-幀,而幀b到h,j和k為p-幀。
圖22顯示了出現(xiàn)在H.261方案及類似的方案中問題的例子。如果因某些原因接收裝置不能解碼幀e,那么幀f,g和h亦將不能解碼。在解碼重新開始以前接收裝置必須等待,直到它接收到下一個I-幀(幀i)。因此,丟失一個幀能導至在接收活動圖象中的冗長而高度不希望的間隙。
幀丟失可以因多種原因而發(fā)生,一些幀可以故意地在接收端被丟失,例如因為解碼器比編碼器有更慢的處理速度而不能繼續(xù)下去。在以信息包或單元發(fā)送數(shù)據(jù)的網(wǎng)絡中,當網(wǎng)絡過載時,信息包或單元可在途中丟失。這種現(xiàn)象例如可出現(xiàn)在采用著名的以太網(wǎng)系統(tǒng)的局域網(wǎng)中,或出現(xiàn)在著名的異步傳輸模式(ATM)的廣域網(wǎng)中。特別在廣域網(wǎng)中,信息包或單元亦可以不按序列到達,例如因為在不同的網(wǎng)絡路徑上發(fā)送。這在P-幀的解碼中又引起問題。
為了處理這些后面的問題,某些網(wǎng)絡利用一些協(xié)議,在這種協(xié)議中發(fā)送設備發(fā)送的信息包附有一序列號碼,接收設備以正確順序重新排列信息包,確定它們的到達,且發(fā)出請求要發(fā)送裝置重新發(fā)送沒有到達的信息包。這種類型協(xié)議的著名的例子是TCP協(xié)議(Transmissioncontrol Protocol傳送控制協(xié)議)。
然而,當網(wǎng)絡工作不穩(wěn)定時,信息包頻繁地丟失,在這種類型協(xié)議中的重新發(fā)送能引起產(chǎn)生大的積累延遲,這對于活動圖象的實時傳送是不適合的。當傳送活動圖象數(shù)據(jù)時,通常最好顯示新數(shù)據(jù),即使那個裝置跳幀,也不要去等待老數(shù)據(jù)的重新發(fā)送。
這些問題在多點傳送方案中例如在廣播和多信道廣播方案中被組合起來,多信道廣播方案對多個接收點發(fā)送相同的數(shù)據(jù)。如果發(fā)送裝置注意從一個接收點來的重新發(fā)送的請求,將會經(jīng)常地強使給其它點發(fā)送一個在其它點已經(jīng)成功地接收的信息包,這樣網(wǎng)絡負載將大大增加。因此,廣播和多信道廣播通常在不執(zhí)行重新發(fā)送的協(xié)議下工作,例如UDP協(xié)議(User Datagram protocol用戶數(shù)據(jù)報協(xié)議)。但其結(jié)果是幀丟失的概率增加了。
在無線網(wǎng)絡中,即使當傳送發(fā)生在專用的通道上,而不是利用包或單元交換,幀丟失是一個嚴重的問題。無線傳送是高度容易出錯的,當這些錯誤超過接收裝置的錯誤校正能力時,通常實際上丟失數(shù)據(jù)的某一部分,以便重建有效的數(shù)據(jù)處理。因此,數(shù)據(jù)的丟失趨于比有線網(wǎng)絡中更多。
這些因素限制了圖21中所說明的編碼方案的有用性。該方案是通過電話線,綜合服務數(shù)字網(wǎng)(ISDNS)和在發(fā)送和接收設備之間,等效于物理電路提供可靠連接的其它設施來傳送活動圖象。對于通過其它類型的網(wǎng)絡傳送,其中幀丟失或跳幀在某種程度上是不可避免的,圖23所說明的方案經(jīng)常用于例如用JPEG編碼按I-幀編碼來編碼全部幀。
當所有幀按I-幀編碼時,如果丟失出現(xiàn)在圖24中幀e,它對活動圖象感覺出質(zhì)量有一點影響。在圖24中只丟失了幀e;后面的幀f,g和h因為它們的解碼并不取決于前面幀而能成功的解碼。
全部為I-幀的方案的問題是數(shù)據(jù)的壓縮率不是非常高,因為沒有除去時間的冗余,因此很多的網(wǎng)絡帶寬被浪費。
日本專利Kokai出版物No.95571/1995公布另一種方案,在圖25中予以說明。其中P-幀b到h均以前面I-幀(a)為基準編碼。在該方案中,一個P幀的丟失并不影響其它P-幀的解碼,這個方案的缺點是數(shù)據(jù)壓縮率,隨著由于P-幀和I-幀之間時間距離的增加,每個后續(xù)的P-幀勢必下降,而P-幀是以I幀為基準。
本發(fā)明的摘要本發(fā)明的一個目的是使P-幀,包括以前面P-幀為基準編碼的P-幀,在幀丟失以后能被解碼,不必等待下一個I-幀。
本發(fā)明的另一個目的是使圖象質(zhì)量適應于傳送通道情況。
本發(fā)明的還有一個目的是使數(shù)據(jù)壓縮率適應于傳送通道情況。
本發(fā)明的再有一個目的是把發(fā)送的活動圖象的質(zhì)量控制提供給用戶,以適應不同傳送通道情況。
本發(fā)明的傳送系統(tǒng)從發(fā)送裝置發(fā)送一系列幀給接收裝置。對每幀選擇基礎幀編碼或幀間編碼,及相應的編碼處理在發(fā)送裝置上被執(zhí)行。當選擇幀間編碼時,這幀以參考幀為基準編碼,參考幀是在以前已被編碼的幀。由基礎幀編碼和幀間編碼的編碼數(shù)據(jù)被發(fā)送到接收裝置。接收裝置解碼被編碼的數(shù)據(jù),并把確認信號送回到發(fā)送裝置,發(fā)送裝置根據(jù)這些確認信號選擇參考幀。
在第一個優(yōu)選操作方式中,接收裝置發(fā)送正確認信號,并且發(fā)送裝置選擇正確認的幀作為參考幀。
在第二個優(yōu)選操作方式中,接收裝置發(fā)送負確認信號,并且發(fā)送裝置選擇最新編碼幀作為參考幀,除非接收到負確認信號。當接收到負確認信號時,參考幀被設定回到負確認的前一幀,負確認信號可以伴隨所要的參考幀號使發(fā)送裝置選擇接收裝置已成功解碼的參考幀。
在第三個優(yōu)選操作方式中,負確認信號和正確認信號都發(fā)送,發(fā)送通道的質(zhì)量根據(jù)這些確認信號而評估,并且參考幀選擇的方法隨評估而變化。例如,在壞通道情況下,參考幀可按上面的第一優(yōu)選方式來選擇,而在好通道情況下,參考幀可按上面的第二優(yōu)選方式來選擇。
通道質(zhì)量評估標準和參考幀選擇方法亦可以隨用戶的輸入而改變。
附圖的簡要說明
圖1是第一實施例中活動圖像編碼器的方塊圖。
圖2是第一實施例中活動圖像解碼器的方塊圖。
圖3顯示了第一實施例中幀間編碼關系的示例。
圖4顯示了第一實施例中幀間編碼關系的另一個示例。
圖5顯示了第一實施例中幀丟失的示例。
圖6是顯示了第一實施例中活動圖像編碼器的一種變異的方塊圖。
圖7是第二實施例中活動圖象編碼器的參考幀更新單元的方塊圖。
圖8顯示了第二實施例中幀丟失的示例。
圖9顯示了第二實施例中確認信號丟失的示例。
圖10是第三實施例中活動圖像編碼器的參考幀更新單元的方塊圖。
圖11顯示了第三實施例中幀丟失的示例。
圖12是第四實施例中活動圖像編碼器的參考幀更新單元的方塊圖。
圖13顯示了第四實施例中幀丟失的示例。
圖14顯示了第四實施例中幀丟失后面有確認信號丟失的示例。
圖15是第五實施例中活動圖像編碼器的方塊圖。
圖16是第五實施例中活動圖像解碼器的方塊圖。
圖17顯示了在第五實施例中幀丟失的示例。
圖18是第六實施例中活動圖像編碼器的方塊圖。
圖19是第七實施例中活動圖像編碼器的方塊圖。
圖20是第七實施例中活動圖像解碼器的方塊圖。
圖21說明在第一個現(xiàn)有技術(shù)方案中幀間編碼關系。
圖22顯示了第一個現(xiàn)有技術(shù)方案中幀丟失的示例。
圖23說明在第2個現(xiàn)有技術(shù)方案中幀間編碼關系。
圖24顯示了第2個現(xiàn)有技術(shù)方案中幀丟失的示例。
圖25說明在第3個現(xiàn)有技術(shù)方案中幀間編碼的關系。
本發(fā)明的實施例將參考所述說明性圖予以敘述。
這些實施例可以作為例如半導體集成電路而實現(xiàn)。這里省略了電路級別上的說明。作為設計和制造所需集成電路的方法對那些熟悉本技術(shù)的人來說是了解的。本發(fā)明亦可以通過軟件的方法實現(xiàn)。
第一實施例說明本發(fā)明的活動圖像發(fā)送系統(tǒng)中編碼器和解碼器的一般結(jié)構(gòu),且顯示了參考幀選擇的一個方案,其它的方案將在后面的實施例中作詳細說明。
圖1是第一實施例中活動圖象編碼器300的功能性方塊圖。這個置于發(fā)送裝置中的編碼器包括活動圖象輸入單元301,編碼單元302,解碼單元303,幀存貯器單元304,參考幀存貯器單元305,基礎幀/幀間確定單元306,編碼數(shù)據(jù)發(fā)送單元307,確認信號接收單元308及參考幀更新單元309。
活動圖象輸入單元301把例如從視頻攝象機輸入的活動圖象數(shù)據(jù),逐幀的供給編碼單元302。編碼單元302編碼輸入幀數(shù)據(jù),且把編碼的數(shù)據(jù)供給解碼單元303和編碼數(shù)據(jù)發(fā)送單元307。編碼單元302在基礎幀/幀間確定單元306的控制下,實現(xiàn)基礎幀編碼和幀間編碼。對幀間編碼,編碼單元302參照存貯在參考幀存貯器單元305中的參考幀,且最好采用運動補償只對當前幀和參考幀之間的差進行編碼。
解碼單元303解碼從編碼單元302接收的編碼數(shù)據(jù),并把解碼后的幀和幀號寫到幀存貯器單元304中,幀存貯器單元304存貯這些已解碼的幀。參考幀存貯器單元305存貯由參考幀更新單元309從幀存貯器單元304中拷貝的一個參考幀。
基礎幀/幀間確定單元306選擇基礎幀編碼或幀間編碼,并把選擇通知給編碼單元302,解碼單元303和編碼數(shù)據(jù)發(fā)送單元307。通?;A幀編碼以固定間隔選擇(例如每30幀一次),而幀間編碼在其它時間選擇。而且,基礎幀/幀間確定單元306可以接收一個強使選擇基礎幀編碼的刷新信號(RFSH),刷新信號由解碼器送出,這在后面詳述。當選擇基礎幀編碼時,亦通知參考幀更新單元309。
編碼數(shù)據(jù)發(fā)送單元307通過傳送通道(未顯示)給一個活動圖象解碼器或不同接收地點的很多活動圖象解碼器發(fā)送編碼活動圖像數(shù)據(jù)。編碼數(shù)據(jù)發(fā)送單元307多路傳送標題信息到輸出數(shù)據(jù)流。標題信息包括參考幀號(如P幀),基礎幀/幀間標記及其它需要的信息如傳送路由信息。
確認信號接收單元308從活動圖象解碼器接收正確認信號(ACK),并通知已經(jīng)有正確認的各幀的參考幀更新單元309。在多點傳送中,確認信號接收單元308通知至少由某些接收點,最好由所有接收點已經(jīng)正確認的這些幀的參考幀更新單元309。
參考幀更新單元309響應基礎幀/幀間確定單元306和確認信號接收單元308接收的通知,更新參考幀存貯器單元305。根據(jù)基礎幀/幀間確定單元306接收的基礎幀編碼通知參考幀更新單元309等待要由編碼單元302編碼,解碼單元303解碼并寫在幀存貯器單元304中的當前幀,然后,把這幀從幀存貯器單元304拷貝到參考幀存貯器單元305,并刪除幀存貯器單元304中的全部幀數(shù)據(jù)。根據(jù)確認信號接收單元308中接收正確認幀的幀號,參考幀更新單元309等待編碼單元302去結(jié)束使用存貯在參考幀存貯器單元305中的幀,去編碼當前的幀,然后從幀存貯器單元304把正確認幀拷貝到參考幀存貯器單元305,并刪除幀存貯器單元304中包括正確認幀的幀數(shù)據(jù)。
圖2是第一實施例中活動圖象解碼器400的功能性方塊圖。這個置于接收設備中的解碼器包括編碼數(shù)據(jù)輸入單元401,參考幀比較單元402,參考幀更新單元403,參考幀存貯器單元404,幀存貯器單元405,解碼單元406,確認信號發(fā)送單元407,活動圖象輸出單元408和刷新信號發(fā)送單元409。
編碼數(shù)據(jù)輸入單元401接收活動圖象編碼器300發(fā)送的編碼數(shù)據(jù)和頭標信息,并把編碼數(shù)據(jù)供給解碼單元406,從頭標信息中,編碼數(shù)據(jù)輸入單元401抽取基礎幀/幀間標記及(為P-幀)參考幀號,把基礎幀/幀間標記提供給解碼單元406,把參考幀號提供給解碼單元406及參考幀比較單元402。
參考幀比較單元402把編碼數(shù)據(jù)輸入單元401中接收的參考幀號同存貯在參考幀存貯器單元404中的參考幀號比較。如果接收的參考幀號比存貯的參考幀號更新,參考幀比較單元402把所接收的參考幀號與參考幀更新請求一起傳到參考幀更新單元403。
根據(jù)接收的參考幀更新請求,參考幀更新單元403在幀存貯器單元405中按所接收的參考幀號尋找此幀。如果找到該幀,參考幀更新單元403把該幀及其幀號拷貝到參考幀存貯器單元404中,從而更新參考幀。
參考幀存貯器單元404存貯一幅參考幀及它的幀號。幀存貯器單元405存貯解碼的幀數(shù)據(jù)及最新的一些幀的幀號。無論何時,參考幀更新單元403通過從幀存貯器單元405拷貝到參考幀存貯器單元404更新了參考幀,則被拷貝的幀和所有前面的幀從幀存貯器單元405中刪除掉。
解碼單元406根據(jù)所附的基礎幀/幀間標記解碼從編碼數(shù)據(jù)輸入單元401接收的編碼數(shù)據(jù)。當該標記指示幀間編碼時,解碼單元406首先檢查接收的參考幀號匹配存貯在參考幀存貯器單元404中的參考幀號,只有當這兩個幀號相匹配時才解碼此數(shù)據(jù);在這種情況下的解碼是根據(jù)在參考幀存貯器單元404中存貯的參考幀的幀間幀解碼。
在解碼處理期間,解碼單元406執(zhí)行了例如循環(huán)冗余校驗這種錯誤檢查。如果檢查通過,認為這幀已經(jīng)成功地完成解碼,解碼單元406把解碼后的數(shù)據(jù)送到活動圖象輸出單元408。如果這幀是I-幀,解碼單元406還把解碼數(shù)據(jù)和幀號寫到參考幀存貯器單元404,于是更新參考幀并把幀號提供給確認信號發(fā)送單元407。如果這幀是P-幀,解碼單元406把解碼數(shù)據(jù)和幀號寫到幀存貯器單元405。在某些情況下,解碼單元406還把成功地解碼的P-幀的幀號提供給確認信號發(fā)送單元407??梢岳貌煌那闆r,下面的說明中假定如果編碼數(shù)據(jù)超過某一閾值大小時把幀號供給確認信號發(fā)送單元407。
根據(jù)從解碼單元406接收的幀號,確認信號發(fā)送單元407把一個正向確認(ACK)信號發(fā)送給活動圖象編碼器300。ACK信號包括從解碼單元406接收的幀號。
活動圖象輸出單元408從解碼單元406輸出解碼數(shù)據(jù)給監(jiān)視器顯示裝置或類似的裝置,刷新信號發(fā)送單元409接收來自用戶控制輸入裝置420的刷新請求,并把相應的刷新(RFSH)信號送到活動圖象編碼器300。
下一步,第一實施例的操作將參考圖3,4和5來說明。在這些圖及以后的圖中,確認信號用直線箭頭來表示,而用曲線箭頭表示參考關系。
圖3顯示的情況,其中編碼和解碼處理及數(shù)據(jù)傳送處理是以比較高的速度執(zhí)行。第一幀(a)作為I-幀被編碼,并成功地被發(fā)送出以及由活動圖象解碼器400解碼,解碼器400把解碼的數(shù)據(jù)存貯在它的參考幀存貯器單元404并把正向確認信號返給活動圖象編碼器300,如標記ACK的第一箭頭所示。
幀a亦在活動圖象編碼器300中由解碼單元303解碼。解碼的數(shù)據(jù)寫到幀存貯器單元304,然后拷貝到參考幀存貯器單元305,以便使在編碼器和解碼器中參考幀存貯器單元305和404包含有同樣的解碼數(shù)據(jù)作為參考幀用。
接著一些幀(b,c,d和e)成功地根據(jù)該參考幀(a)被編碼和解碼。幀b,c和d同幀a沒有很大的不同,因而編碼數(shù)據(jù)的尺寸小且活動圖象解碼器400并不返回確認信號。而幀e有足夠的差異,從而造成編碼數(shù)據(jù)尺寸有一定增加,活動圖象解碼器400相應地對幀e返回一個正確認信號。
活動圖象編碼器300在下一幀(f)編碼開始以前接收該確認信號,參考幀更新單元309因此能夠及時把幀e的解碼數(shù)據(jù)拷貝到參考幀存貯器單元305,以便以幀e為基礎編碼幀f。從而減少幀f的編碼數(shù)據(jù)的尺寸。
當活動圖象解碼器400接收幀f的編碼數(shù)據(jù)時,參考幀比較單元402尋找所附的參考幀號(幀e的號)是比在參考幀存貯器單元404中存貯的幀號(幀a的號)更新,且支配參考幀更新單元403從幀存貯器單元405中拷貝幀e到參考幀存貯器單元404。然后,解碼單元406根據(jù)幀e成功地解碼幀f。
幀g和h亦以幀e為基準編碼及成功地解碼。
在多點連結(jié)中,只有當至少某些接收點,最好是全部接收點為幀e返回正確認信號時,才將參考幀從幀a改變成幀e。
圖4說明一種情況,其中活動圖象解碼器為幀d返回一個正確認信號,但由于編碼,解碼或傳送速度都比較慢,活動圖象編碼器300在幀e已經(jīng)開始編碼以后才接收到該正確認信號。因此,幀e根據(jù)存在的參考幀a為基準編碼和解碼。然后,參考幀改變成幀d,并且下面各幀(f,g及h)以幀d為基準編碼和解碼。
圖5說明幀丟失的情況,幀b,c,d及e以第一個I-幀為基準編碼,幀b到d被成功地解碼,且為幀d返回正確認信號。幀e的編碼數(shù)據(jù)在傳送中被丟失或破壞,在圖中用X-標記來表示。結(jié)果,編碼數(shù)據(jù)或者不能接收,或者接收了但不能成功地解碼,如用交叉陰影線所表示的,這并不影響下面幀f,g和h,這些幀以正確認幀d為基準成功地編碼和解碼?;顒訄D象解碼器400不必在幀e丟失以后為了再繼續(xù)解碼而等待下一個I-幀(i)。
如果通過活動圖象輸出單元408觀察活動圖象輸出的用戶得到不希望的圖象損壞,例如由于無檢測錯誤,這時他或她可以按下按鍵或執(zhí)行類似操作,即發(fā)送一刷新命令給刷新信號發(fā)送單元409。然后,給活動圖象編碼器300發(fā)送一個刷新信號,強使下一幀作為I-幀編碼,從而恢復很好的圖象質(zhì)量。
在第一實施例中,P-幀的丟失一點也不能妨礙后繼幀的解碼,因為只有正向確認的P-幀能變成參考幀。同圖23的現(xiàn)有技術(shù)不同,解碼能不等待下一個I-幀的到達而繼續(xù)。同時,當P-幀被成功地解碼及正向地確認時,它亦可以用作對后繼幀編碼的參考幀,因此,減少了編碼和參考幀之間時間上的距離,同圖26所示的現(xiàn)有技術(shù)相比,改善了數(shù)據(jù)壓縮率。
尤其,當系統(tǒng)情況實質(zhì)上允許所有幀能被成功地發(fā)送和解碼時,如果為了發(fā)送確認信號,編碼數(shù)據(jù)尺寸閾值設置在一個足夠低的水平,第一實施例的數(shù)據(jù)壓縮性能將接近圖22中方案說明的情況,其中每幀以前一幀為基準編碼。
當通道情況不太好是,或閾值較高時,正確認信號將不大頻繁,參考幀更新將不經(jīng)常發(fā)生,因此,數(shù)據(jù)壓縮率將相應下降。然而,在提供同樣的防止幀丟失時,第一實施例比圖26的現(xiàn)有技術(shù)方法仍可得到更高的數(shù)據(jù)壓縮率。
這樣,第一實施例允許數(shù)據(jù)壓縮率隨通道情況而變,使傳送系統(tǒng)利用良好的通道情況能得到高壓縮率,而且即使在不利的通道情況下,仍保持好的圖象質(zhì)量。
圖6說明在活動圖象編碼器500沒有解碼單元時第一實施例的變化方案。編碼器的其它部分同圖1相同,且各部分具有相同參照數(shù)字。除了活動圖象直接把每個接收的幀寫到幀存貯器單元304外,這個變化方案的操作同上所述。除了簡化了活動圖象編碼器500的結(jié)構(gòu)和操作之外,該變化方案具有的優(yōu)點涉及運動補償?shù)木?。其缺點是活動圖象編碼器和活動圖象解碼器并不以恰好相同的數(shù)據(jù)編碼和解碼P-幀。
關于其它變化,在圖1中的解碼單元303或圖6中的活動圖象輸入單元301能適于直接把I-幀數(shù)據(jù)寫到參考幀存貯器單元305,而不是首先把數(shù)據(jù)寫到幀存貯器單元304,然后通過參考幀更新單元309拷貝到參考幀存貯器單元305。這樣安排簡化了活動圖象編碼器的操作。
關于其它變化,參考幀存貯器單元305和幀存貯器單元304能組成一個幀存貯器單元,用一指針去指示哪個存貯幀是參考幀。通過消除從一存貯器到另一個存貯器的數(shù)據(jù)拷貝,這樣安排進一步簡化了活動圖象編碼器的操作,減少了存貯器的要求。
這個組合成的幀存貯單元能作為一個環(huán)形緩沖器,當存貯器滿時,用新數(shù)據(jù)復蓋寫到老數(shù)據(jù)上,從而不必刪除老數(shù)據(jù)。同樣的方法,當單元304沒有同參考幀存貯器單元305結(jié)合時,可以用于幀存貯器單元304。
關于還有其它變化,在圖2中活動圖象解碼器400中的解碼單元406能適合于估算解碼處理,并在低質(zhì)量圖象或其它解碼問題的征兆出現(xiàn)時,給刷新信號發(fā)送單元409發(fā)出刷新命令,然后,刷新信號發(fā)送單元409不需要從用戶輸入能發(fā)送刷新信號。當上一幀不能成功地解碼時,刷新信號亦能發(fā)送。
還有一種變化方案,活動圖象編碼器300把每幀分成很多塊,分別地編碼每塊。在P-幀中,每塊以相應于參考幀中的塊為基準編碼,對每個塊能保持一個獨立參考幀號,以使在同一幀中不同塊能以不同參考幀為基準而編碼,且每一塊能給一獨立的確認信號。因為塊比幀小,錯誤的概率也降低了,改善了整個參考幀的更新率及數(shù)據(jù)的壓縮率,且丟失的影響限制于在一幀中的一個具體塊上。第二實施例除了活動圖象解碼器400確認每個成功解碼幀之外,第二實施例同第一實施例相同。
圖7說明了參考幀更新單元309A的內(nèi)部結(jié)構(gòu),其中包括一個幀號設定單元310和數(shù)據(jù)拷貝單元311。該參考幀更新單元309A例示出第一實施例中參考幀更新單元309的一個優(yōu)選的內(nèi)部結(jié)構(gòu)。
幀號設置單元310設定確認信號接收單元308接收到正確認的幀的幀號。這些幀號被設定在內(nèi)部工作存貯器區(qū)域(未顯示),并傳到數(shù)據(jù)拷貝單元311。
數(shù)據(jù)拷貝單元311從幀存貯器單元304拷貝具有由幀號設置單元310接收的幀號的這些幀到參考幀存貯器單元305。
下面將說明第二實施例的操作。
參考幀更新單元309A根據(jù)活動圖象解碼器400發(fā)送的ACK信號更新參考幀。在圖8中,例如活動圖象解碼器400通過標記ACK的箭頭表示確認幀a,b和c?;顒訄D象編碼器300在幀c的編碼已開始之后為幀b接收ACK信號。所以,幀c仍然以幀a為基準編碼,但幀d以幀b為基準編碼。同樣,幀e以幀c為基準編碼。活動圖象解碼器400以幀a為基準解碼幀b和c,以b為基準解碼幀d,并以幀c為基準解碼幀e。
幀d的解碼是不成功的,所以活動圖象解碼器400并不為幀d發(fā)送ACK信號。因此,活動圖象編碼器300在編碼幀f時不改變參考幀,而繼續(xù)的用幀c作為參考幀。這樣,活動圖象解碼器400能夠去解碼幀f。
幀e被成功地解碼和確認,所以幀g以幀e為基準編碼,幀g亦就能成功地解碼。
在第2實施例中,如同在第一實施例那樣,幀d的丟失不影響后繼各幀的解碼,它們能不等待下一個I-幀而成功地解碼。由于丟失引起圖象質(zhì)量的下降成為最小。數(shù)據(jù)壓縮率亦變好,如幀c,d,e,g和h均以2幀之前的幀為基準編碼,而幀f僅以三幀之前的幀為基準編碼。用幀c代替幀d作為幀f的參考幀通常只輕微的影響數(shù)據(jù)壓縮率。
圖9顯示了通過從活動圖象解碼器400向活動圖象編碼器300發(fā)送ACK信號,在通道上丟失的例子。在該例子中,幀d被成功地編碼。但對應的ACK信號在途中丟失。活動圖象編碼器300同圖8中相同的方式起作用,以幀c為基準編碼幀f,以幀e為基準編碼幀g等等。所有這些幀能成功地解碼,數(shù)據(jù)壓縮率同圖8相同。
因此,第二實施例對信號丟失和數(shù)據(jù)在編碼器和解碼器之間兩個方向的傳播,有高容錯力。
第三實施例不同于前面的實施例,在于它的活動圖象解碼器400發(fā)送負確認(NACK)信號,而不是正確認信號。當一幀在傳送中被丟失或受到無法改正的破壞時,發(fā)送一個負確認信號。負確認信號包括沒有接收到的幀的幀號或所接收的無法改正的錯誤幀的幀號。
除了這個不同外,在第3實施例中的活動圖象解碼器的操作同具有圖2所示的結(jié)構(gòu)的第一實施例中的方式相同。
活動圖象編碼器300具有圖1所示的結(jié)構(gòu),但參考幀更新單元的操作不同。
圖10說明了第3實施例中參考幀更新單元309b的內(nèi)部結(jié)構(gòu),后綴B表示這種結(jié)構(gòu)同第2實施例中結(jié)構(gòu)不同,其組成部分是幀號設定單元310A,數(shù)據(jù)拷貝單元311A及幀號確定單元312。后綴A亦表示同第2實施例的不同。
幀號設定單元310A把從確認信號接收單元308接收的負確認幀的幀號供給幀號確定單元312,并從幀號確定單元312接收返回的最近確定的幀號,幀號設定單元310A在內(nèi)部存貯器中(未顯示)設定每個最新確定的幀號,并把這些最新確定的幀號傳給數(shù)據(jù)拷貝單元311A。
當從幀號設定單元310A接收負確認的幀號時,幀號確定單元312從幀存貯器單元304中存貯的幀號中尋找,以找出比幀號設定單元310A接收的幀號更老并且沒有被負確認的最新的幀號。該幀號返回給幀號設定單元310A作為最新確定的幀號。
數(shù)據(jù)拷貝單元311A通常在編碼單元302開始編碼下一幀之前,通過圖1中的解碼單元303在幀一被寫到幀存貯器單元304中就把幀存貯器單元304中的每一幀拷貝到參考幀存貯器單元305。而且根據(jù)從幀號設定單元310A接收的最新確定的幀號,數(shù)據(jù)拷貝單元311A從幀存貯器單元304中,將具有該幀號的幀拷貝到參考幀存貯器單元305。
只是無論何時,一個新參考幀被拷貝到參考幀存貯器單元305時,不從幀存貯器單元304中刪除幀數(shù)據(jù),活動圖象編碼器300的其它部分的操作如同第一實施例,在沒有負確認信號的情況下,在幀存貯器單元304中保存幀數(shù)據(jù)長達某一時間,最好盡可能長。
下面,參考圖11來說明第三實施例的操作。
只要活動圖象編碼器300沒有接收負確認信號,參考幀更新單元309B假定所有發(fā)送幀已成功地解碼,以及保持更新參考幀為最新編碼幀。因此,通常每幀用緊接的前一幀為基準編碼,如圖11的頂部實線箭頭所示的,在圖11中的幀b,c,d和e是用這樣的方法編碼的。
幀a,b和c被成功地解碼,但幀d在傳送中被丟失或破壞,活動圖象解碼器400返回一負確認信號(NACK)。該NACK信號在編碼單元302以幀d為基準對幀e進行編碼時到達活動圖象編碼器300。一旦編碼單元302已經(jīng)完成涉及幀d的編碼,參考幀更新單元309B通過將幀c,即幀d之前尚未被負確認的最新幀從幀存貯器單元304拷貝到參考幀存貯器單元305更新參考幀。這里,幀d和e可以從幀存貯器單元304中刪除。因為很清楚,活動圖象解碼器400沒能解碼幀d也將不能解碼幀e。
幀f現(xiàn)在以幀c為基準編碼,如圖11中頂部用虛線箭頭所示。因此,活動圖象解碼器400能解碼幀f,幀e不能被解碼,因為它是以幀d為基準被編碼的,但幀e本身在傳送中沒有丟失或破壞。因此,在活動圖象編碼器300編碼幀f時活動圖像解碼器400對幀e無負確認信號返回。
因此,數(shù)據(jù)拷貝單元311B從幀存貯器單元304把幀f拷貝到參考幀存貯器單元305,及幀g以幀f為基準編碼。同樣,幀h,i,j和k中每一幀用緊接著的前趨幀為基準編碼。
同第二實施例比較,一般第三實施例得到更高的數(shù)據(jù)壓縮率,因為每幀以緊接著的前趨幀為基準編碼,而不是以2幀前的幀為基準。當出現(xiàn)幀丟失時,下面一幀或多個幀可能不能解碼(如圖11中幀e),但不必再等待下一個I-幀而解碼很快成為可能。
在多點傳送中,如果至少某些接收點的確定號被確認為負向,確認信號接收單元308標定已經(jīng)負確認的一幀。例如,如果一幀至少在一個點為負確認,就作為負向確認而標定。
第四實施例大體上同第三實施例相同,但活動圖象解碼器400對不能成功地解碼的所有幀發(fā)送負確認(NACK)信號。不管是傳送錯誤或幀本身丟失,還是前趨幀傳送錯誤或丟失。當確認信號通道上的丟失可能性存在時,這種方式是較好的,每個NACK信號既指定不能解碼的幀的幀號,又指定一個所要求的參考幀號。所要求的參考幀號是成功地解碼的最新幀的幀號。
下面的說明限于活動圖象編碼器中參考幀更新單元的結(jié)構(gòu)和操作。
圖12說明參考幀更新單元309C的內(nèi)部結(jié)構(gòu),后綴C表示其結(jié)構(gòu)不同于第三實施例。其組成部分包括幀號設定單元310C,數(shù)據(jù)拷貝單元311B,幀號確定單元312A,備選號刪除單元313及備選號碼表保持單元314。
幀號設定單元310C把每個負確認幀號傳給幀號確定單元312A。如果幀號確定單元312A確定負確認幀號如下面所述,幀號設定單元310C把所要求的參考幀號傳給數(shù)據(jù)拷貝單元311B及備選號刪除單元313。如果負確認的幀號沒有確定,幀號設定單元310C不動作。
當從幀號設定單元310C中接收負確認的幀號時,幀號確定單元312A尋找存貯在備選號碼表保持單元314的備選號表中負確認的幀號,并通知幀號設定單元310C關于是否在備選號表中存在負確認的幀號,在備選號表上報告出現(xiàn)的幀號就認為已經(jīng)被確定。
當接收到一個所要的參考幀號時,備選號刪除單元313從備選號表中刪除所有比要求參考幀號更新的要求的參考幀號。當從備選號表中刪除幀號時,相應的幀數(shù)據(jù)亦從幀存貯器單元304中被刪除。
備選號碼表保持單元314存貯和更新備選號表。當每一幀由編碼單元302編碼時,它的幀號被加到備選號表中。當一幀從幀存貯器單元304和參考幀存貯器單元305中已被刪除時,其幀號就從備選號表中除去。
數(shù)據(jù)拷貝單元311B的操作相同于第三實施例中數(shù)據(jù)拷貝單元311A。通常解碼單元303一解碼完這幀就從幀存貯器單元304把每一幀盡快拷貝到參考幀存貯器單元305。然而,當從幀號設定單元310C接收所要求的參考幀號時,數(shù)據(jù)拷貝單元311B從幀存貯器單元304把具有那個幀號的幀拷貝到參考幀存貯器單元305。
下面,第四實施例的操作將參考圖13和14予以說明。
圖13說明情況同圖11情況相同,其中幀d在傳送中丟失,幀d和e不能被解碼,而NACK信號為這2幀d和e被返回,兩個NACK信號指定幀c的幀號作為所要求的參考幀號。
直到這些NACK信號到達,參考幀更新單元309C認為所有幀已經(jīng)被成功地解碼,及更新每一幀上的參考幀。因此,幀b到e均以緊接著的前趨幀為基準被編碼。
當參考幀更新單元309C接收幀d的負確認時,幀a到幀d已經(jīng)被編碼和發(fā)送,且已經(jīng)在備選號表上,幀e現(xiàn)在被編碼。幀號確定單元312A確定幀d在備選號表上,所以幀號設定單元310C把幀c的幀號傳送給數(shù)據(jù)拷貝單元311B及備選號刪除單元313。當完成幀e的編碼時,數(shù)據(jù)拷貝單元311從幀存貯器單元304把幀c拷貝到參考幀存貯器單元305,備選號刪除單元313刪除備選號表中幀d和e的幀號。幀d從幀存貯器單元304中被刪除。幀e最好不要寫到幀存貯器單元304中;如果已寫入,應立即刪除。
幀f以幀c為基準編碼,在幀f編碼期間,參考幀更新單元309c為幀e接收一個負確認,幀e因為以丟失的幀d為基準編碼,所以不能被譯碼。幀號確定單元312A在備選表中尋找?guī)琫,但因為它已經(jīng)被上面提到的備選表刪除單元313刪除而找不到。由于幀e的負確認不能被幀號確定單元312A確定,幀號設定單元310C并不為數(shù)據(jù)拷貝單元311B和備選刪除單元313提供任何幀號。當幀f已被編碼時,它被發(fā)送到活動圖象解碼器400并加到備選號表上,且數(shù)據(jù)拷貝單元311B立即把幀f拷貝到參考幀存貯器單元305。
因此,幀g以緊接著的前趨幀f為基準編碼,后繼各幀的編碼照這樣繼續(xù)。
圖14說明一個負確認信號被發(fā)送了但沒有到達的情況。正如前面情況,幀d在發(fā)送中被丟失或破壞,致使幀d和e不能解碼。而且,這時,幀d的NACK信號亦在發(fā)送中丟失,所以,參考幀更新單元309C不能認識幀d而不能被解碼,且繼續(xù)通常方式的處理,以幀e為基準編碼幀f。幀a到e均放在備選號表中。
活動圖象解碼器400為幀e發(fā)送另一個NACK信號,伴隨著幀號c的幀號作為所要求的參考幀號,且NACK信號在活動圖象編碼器300中被接收,數(shù)據(jù)拷貝單元311B從幀存貯器單元304把幀c拷貝到參考幀存貯器單元305中,備選號刪除單元313從備選號表中刪除比幀c更新的(幀號d,e和f)所有幀號。幀g以幀c為基準編碼。
活動圖象解碼器400還為幀f發(fā)送NACK信號,再次伴隨著幀號c作為所要求的參考幀號。由于幀號f已經(jīng)從備選號表中刪除,而且,參考幀更新單元309c不管該NACK信號,從幀存貯器單元304中拷貝幀g而不是幀c到參考幀存貯器單元305。因此,幀h能以幀g為基準編碼。
由于幀d和它的負確認信號的丟失,3個幀(d,e和f)不能被解碼,但系統(tǒng)仍然能恢復使用。幀g及以后各幀能全部被成功地解碼,所以,避免了長時間圖象惡化。而且,除幀g外的所有幀以緊接著的前趨幀為基準編碼,所以保持了高數(shù)據(jù)壓縮率。
第三和第四實施例之間的不同是第四實施例用幀號確定單元312檢查是否負確認的幀出現(xiàn)在備選號表上,只要負確認的幀號不在備選號表上則不管NACK信號,第四實施例避免多余地根據(jù)重復的NACK信號保留一個老的參考幀。在圖13中,幀g是以幀c為基準編碼的,而在第三實施例中(圖11),幀g是以幀c為基準先編碼的。因此,當出現(xiàn)幀丟失時,第四實施例比第三實施例能得到更好的數(shù)據(jù)壓縮率。第四實施例的優(yōu)點隨著活動圖像編碼器300和解碼器400之間來回傳送時間的增加顯得更加重要。
作為第四實施例的變化方案,活動圖象解碼器400能從NACK信號中省略所要的參考幀號,及活動圖象編碼器300能處理還沒有負確認,作為所要求參考幀的最后一個前趨幀。當NACK信號的傳送通道高度可靠時,這種變化方案是合適的。
關于其它變化是活動圖象解碼器400既能發(fā)送ACK信號又能發(fā)送NACK信號,及在活動圖象編碼器300中的參考幀更新單元309C能處理曾接收到ACK信號作為所要參考幀號的最新幀號。
在第五實施例中的傳送系統(tǒng)為每幀發(fā)送正或負確認信號,且根據(jù)通道情況合適地調(diào)正參考幀更新方式。
在好的通道情況下,參考幀號一般對每一幀更新。當接收到負確認時,設置回到如同在第三和第四實施例那樣。這種操作方式將被稱為NACK方式。
在不合適的通道情況下,參考幀號只在接收到正確認時被更新,如第一和第二實施例,這種工作方式被稱為ACK方式。
因此,除了參考幀更新單元,活動圖象編碼器具有通道評估單元和方式轉(zhuǎn)換單元。
圖15顯示了在第五實施例中活動圖象編碼器600的結(jié)構(gòu),對相同部分利用同圖1相同的旁注數(shù)字,對相似部分用具有字母詞尾的旁注數(shù)字。下面的說明集中在同第一實施例不同的部分或第一實施例中沒有的部分上。這些部分包括確認信號接收單元308A,參考幀更新單元309D,通道評估單元315及更新方式轉(zhuǎn)換單元316。
確認信號接收單元308A接收確認信號,且把正或負確認信息傳給參考幀更新單元309D及通道評估單元315。如果在一確定時間內(nèi)確認信號無法到達,確認信號接收單元308A把相關幀視作已被負確認。
在多點傳送中,確認信號接收單元308A從每個目的地點接收確認信號,計算由至少是某些點,最好是所有點被正確認的那些幀的幀數(shù),對其余的幀數(shù)作為已被負確認的幀對待。
在更新方式轉(zhuǎn)換單元316所表示的更新方式中,參考幀更新單元309D更新參考幀,對基礎幀/幀間確定單元306和確認信號接收單元308A接收的通知作出反應。
在ACK方式中,當從確認信號接收單元308A接收一個具體幀號的正確認時,參考幀更新單元309D把相應的幀數(shù)據(jù)從幀存貯器單元304拷貝到參考幀存貯器單元305。這時,該幀號前面的數(shù)據(jù)可從幀存貯器單元304中刪除,對負確認不產(chǎn)生作用。
在NACK方式中,參考幀更新單元309D就在編碼單元302開始對下幀編碼之前,通常把幀存貯器單元304中的每幀拷貝到參考幀存貯器單元305。而當從確認信號接收單元308A接收到一個負確認時,最近的正確認幀從幀存貯器單元304拷貝到參考幀存貯器單元305,從而設定后面的參考幀,標識最新正確認幀的信息保持在參考幀更新單元309D中,并且在從確認信號接收單元308A接收到正確認時被更新。這時,具有幀號比最新正確認幀號老的幀可以從幀存貯器單元304中刪除。
在從基礎幀/幀間確定單元306中接收到基礎幀編碼通知時,參考幀更新單元309把幀存貯器單元304中的當前幀(I幀)的數(shù)據(jù)拷貝到參考幀存貯器單元305,并刪除幀存貯器單元304中的所有幀數(shù)據(jù)。
通道評估單元315根據(jù)確認信號接收單元308A接收的確認信號評估通道質(zhì)量,并把評估的結(jié)果通知更新方式轉(zhuǎn)換單元316。在以下說明中只有2個評估等級,即好和壞。如果,例如在N個最新幀中有M個或更多個負確認時,通道質(zhì)量被評為壞。而如果N幀中少于M幀被負確認時,通道質(zhì)量被評為好(這里M,N是正整數(shù),其中N≥M)。
亦可以用其它的評估標準。例如當有L個連續(xù)幀為負確認時,通道質(zhì)量被評為壞,這里L是一個合適的正整數(shù)。
更新方式轉(zhuǎn)換單元316根據(jù)通道評估單元315作出的評估轉(zhuǎn)換更新方式。例如,當評估結(jié)果對開始一些連續(xù)幀為好時,方式可以轉(zhuǎn)換成NACK方式,而當評估結(jié)果對后面一些連續(xù)幀為壞時,方式轉(zhuǎn)成ACK方式。
圖16說明了在第五實施例中活動圖象解碼器700的結(jié)構(gòu)。對同圖2中相同的部分用同樣的參考號,而對類似的部分用原來參考后加字母字尾。本實施例中的活動圖象解碼器的結(jié)構(gòu)基本上同第一實施例中相同。但有一些相同的部分的功能和操作不同,對這些不同將在下面敘述。
參考幀比較單元402A,對按每一幀接收的參考幀號同參考幀存貯器單元404中記錄的參考幀號比較,并當參考幀號不同時向參考幀更新單元403發(fā)出參考幀更新請求。而在第一實施例中,只把向前方向的參考幀號更新成較新的幀號。第五實施例中,還允許把向后方向的參考幀號更新成較老的幀號。
在第一實施例中,解碼單元406A解碼所接收的幀數(shù)據(jù),把已解碼的I-幀寫入?yún)⒖紟尜A器單元404,把已解碼的P-幀寫入幀存貯器單元405。解碼單元406A還檢查解碼中的錯誤,例如用循環(huán)冗余檢查。并通知確認信號發(fā)送單元407是否成功或不成功接收每一幀。
下面,說明第五實施例的操作。該說明將集中在活動圖象編碼器300的操作。這隨它所選擇的方式是ACK方式還是NACK方式而異。為了簡化說明,當接收到正確認信號時,通道質(zhì)量被評估為好,而當接收到負確認信號時,通道質(zhì)量被評為壞,當通道質(zhì)量即使是因為一幀被評價為壞時,工作方式就從NACK方式轉(zhuǎn)成ACK方式。而當通道質(zhì)量因四個連續(xù)幀評為好時,工作方式從ACK方式轉(zhuǎn)成NACK。
開始活動圖象編碼器300以NACK方式工作,參見圖17,它用前趨幀為基準編碼每一幀。幀a,b和c被成功編碼,而丟失出現(xiàn)在幀d。如虛線箭頭所示NACK信號記錄接收到這種丟失時,阻止幀e以幀d為基準編碼已太遲,但對幀f參考幀號被設置成返回到已經(jīng)正確認的最新幀幀e。因此,幀f以幀c為基準被編碼。
活動圖象解碼器400不能解碼幀e,但能解碼幀f。因此,活動圖象解碼器400對幀e發(fā)出一負確認,在圖17中用另一虛線箭頭表示;而對幀f發(fā)出一個正確認,在圖17中用實線箭頭表示。
與此同時,活動圖象編碼器300因為幀d的負確認而轉(zhuǎn)成ACK方式。因此,對幀e的NACK信號被忽略,參考幀任其不改變,而幀g以幀c為基準被編碼。
在幀g被編碼的同時,接收到幀f的正確認信號,因此,下一幀h以f幀為基準而編碼。同樣的,為幀g接收的正確認信號使幀i以幀g為基準被編碼。
另一丟失出現(xiàn)在幀h,因為幀h的NACK信號在幀j的編碼之前接收到,所以當幀j被編碼時,參考幀號不被更新。幀j能被編碼,并且以幀g為基準成功地解碼。在幀j編碼期間,為幀i接收到一個ACK信號,所以下一幀k以幀i為基準被編碼。
還有一個丟失出現(xiàn)在幀k。結(jié)果NACK信號使幀m以幀j為基準編碼并且成功地被解碼。而幀l的正確認使幀n以幀l為基準被編碼并且成功地被解碼。
幀l,m,n和0全部被成功地解碼。它們的正確認信號使活動圖象編碼器300在編碼幀q以后轉(zhuǎn)回到NACK方式。因此,幀r以幀q為基準編碼,而幀s以幀r為基準編碼。
在好的通道條件下,當無丟失時,參考幀號每幀被更新,所以,即使有大的往返行程的傳輸延遲,也能得到一個好的數(shù)據(jù)壓縮率。如果偶然出現(xiàn)丟失,因為系統(tǒng)在NACK方式下操作,而下一幀或下面一些幀就不能解碼。而造成的圖象質(zhì)量的退化往往主觀地被忽略,因為該發(fā)送用好的圖象質(zhì)量以長的任意丟失間隔控制。
如果通道情況變壞,活動圖象編碼器300從NACK方式轉(zhuǎn)成ACK方式,并開始只用正確認幀作為參考幀。以使一個P-幀的丟失不阻礙其它幀被解碼。在這種方式中,系統(tǒng)允許連續(xù)丟失而不會因這種丟失引起長時間運行不能解碼的幀。因此,圖象退化被限于由于它自己丟失而引起的不可避免的退化。在較差的通道情況下,第五實施例提供大約為第三和第四實施例中一到五分貝圖象質(zhì)量的改進。在圖22中的現(xiàn)有技術(shù)中未做說明。
在ACK或NACK方式中的丟幀以后,成功地解碼P-幀能重新開始而不要等待下一個I-幀。
數(shù)據(jù)壓縮率敏感地適應于通道的情況。當通道質(zhì)量下降時,活動圖象編碼器300操作增加ACK方式時間的比例,因此,數(shù)據(jù)壓縮率相應下降,且只要有任何時間被花費在NCK方式中,數(shù)據(jù)壓縮率將比第一和第二實施例中更好。
第五實施例的優(yōu)點是通過用存在的確認信號去評估通道質(zhì)量而得到的。因此,不需要為通道評估的目的發(fā)送新信息。
第五實施例的另一個優(yōu)點是在接收側(cè)的操作不取決于參考幀的更新方式。只是活動圖象編碼器300必須轉(zhuǎn)換方式,以及不需給接收側(cè)發(fā)送方式通知信號??紤]到最后點,如果方式通知信號已被發(fā)送,必須取強錯誤檢測和校正測量以確保該信號被接收到。因此,第五實施例不僅要保留為發(fā)送方式通知信號所需的通道帶寬,而且也要保留為錯誤防止所需要的帶寬。
下面對第五實施例的幾種變化予以說明。
第一個變化,每幀被分成一些塊。每個塊提供獨立的參考幀號。這種方案在第一實施例的變化中已經(jīng)說明過。如果該方案用于第五實施例中,通道可以以在同一位置的一系列連接幀中塊接收的確認信號為基礎而評估。
另一種變化,在多點傳送中,確認信號接收單元308A把從不同目的地點接收的各個確認信號傳到通道評估單元315,而不是簡單地通知通道評估單元315關于是否所有點的幀被成功的解碼。這種變化能使通道評估單元315更敏感地評估通道條件。
還有另外一種變化,能提供多于2個通道的評估級,每級用獨立的操作方式,例如一個很壞的級可以加到上面所述的一個好的和壞的級上。當認為是一個非常壞的級時,在編碼處理中量化步的尺寸可以增加,以減少每幀的編碼數(shù)據(jù)量,增加可成功解碼的幀的百分數(shù)。
還有另外一種變化,活動圖象解碼器400只發(fā)送ACK信號。不能在計劃的時間內(nèi)收到ACK信號作為負確認對待。這種變化對于用可預測往返行程傳送時間的傳送通道是合適的。
另有一種變化,方式信息作為標記信息通過活動圖象編碼器300加到所發(fā)送的數(shù)據(jù)上?;顒訄D象解碼器400能利用這種信息從幀存貯器單元405中刪除不需要的數(shù)據(jù)。例如,在ACK方式中,比當前參考幀更老的數(shù)據(jù)能被刪除。
再有一種變化,活動圖象解碼器400決定何時去轉(zhuǎn)換方式。從確認信號中,活動圖象編碼器300僅能確定是否每幀(或塊)有不可校正的錯誤,而活動圖象解碼器400能確定可校正的錯誤率,從而更敏感地評價通道情況。
還有一種變化,I-幀通過解碼單元303直接地寫到參考幀存貯器單元305,而不是通過參考幀更新單元309D從幀存貯器單元304拷貝到參考幀存貯器單元305。
另有一種變化,參考幀存貯器單元305和幀存貯器單元304組合成單個存貯器單元,其中的參考幀由指針管理。
再有一種變化,通道評估單元315為了評估通道狀態(tài)有很多標準,當所有這些標準都認為好時,這個通道被評估為好,而當這些標準中的一個(或多個)評為壞時,這個通道被評估為壞。另外的方法,當標準中的任意一個評為好時,這狀態(tài)被評估為好。而當所有標準被評估為壞時為壞或僅在當至少某些數(shù)量的標準指示變化時,評估被改變。第六實施例第六實施例同第五實施例類似,還可用人為操作活動圖象編碼器而控制方式轉(zhuǎn)換。因此,編碼器的結(jié)構(gòu)同第五實施例略有不同?;顒訄D象解碼器的結(jié)構(gòu)和操作同第五實施例相同,故不再敘述。圖18是第六實施例中活動圖象編碼器600的方塊圖。對于同第五實施例(圖15)中相等的或等價的部分采用相同的參照數(shù)字,這些部分將不再敘述。
標準修改單元317接收操作負輸入的標準修改命令,從這些命令中確定合適的新的通道評估標準并通知通道評估單元315A。
通道評估單元315A,除了具有在第五實施例中所述的通道評估功能之外,適用于把通道評估標準改成由標準修改單元317提供的標準。
方式修改單元318接收操作負輸入的方式修改命令,命令更新方式轉(zhuǎn)換單元316A轉(zhuǎn)換成所指示的方式。
更新方式轉(zhuǎn)換單元316A,除了具有在第五實施例中所述的更新方式轉(zhuǎn)換單元316的功能之外,適合于根據(jù)從方式修改單元318接收的命令而轉(zhuǎn)換方式。然后,參考幀更新單元309D以命令方式操作直到例如接收到一個復位信號。于是更新方式轉(zhuǎn)換單元316A重新開始根據(jù)通道情況轉(zhuǎn)換更新方式。
下面將說明第六實施例的操作,這說明限于根據(jù)活動圖象編碼器800的操作員的輸入來執(zhí)行的操作。其它的操作情況如同第五實施例。
活動圖象編碼器800的操作員用二種操作類型控制參考幀更新處理。
一種操作類型是改變被評估的傳送通道的狀態(tài)標準。這種操作類型的一個例子是改變壞評估的標準,例如把最后10幀的至少3個負確認成為最后12幀的至少7個負確認。這樣,操作員能影響參考幀更新方式,而同時仍然允許活動圖象編碼器去適應變化的通道情況。
另一種操作類型是強使活動圖象編碼器800在指定的方式下操作。如ACK方式或NACK方式,而不考慮通道情況。
除了具有第五實施例的優(yōu)點外,第六實施例給操作員直接或間接地實行選擇,控制參考幀更新方式,因此控制圖象質(zhì)量和數(shù)據(jù)壓縮率。這樣允許操作員按照個人喜歡或按照指定的通道情況采取行動。第六實施例亦用于測試和評價各種評估標準和參考幀更新方式。
第七實施例亦同第五實施例類似,它根據(jù)第六實施例中活動圖象編碼器操作員的喜歡,給活動圖象解碼器用戶以選擇。這里的活動圖象編碼器和活動圖象解碼器同第五實施例中的略有不同。
圖19說明了活動圖象編碼器900的結(jié)構(gòu),對于同第六實施例中同樣的部分使用如圖18所示的相同的參照數(shù)字。下面的說明限于它們之間不同部分。
標準修改單元317A相似于第六實施例中的標準修改單元317。但是接收從活動圖象解碼器1000發(fā)送的標準修改信號,而不是從附在活動圖象編碼器900上的輸入裝置輸入的命令。
方式修改單元318A類似于第6實施例中方式修改單元318。但接收從活動圖象解碼器1000發(fā)送的方式修改信號,而不是從附在活動圖象編碼器900上的輸入裝置輸入的命令。
圖20說明了活動圖象解碼器1000的結(jié)構(gòu),對于相同的部件使用同圖16中相同的參考數(shù)字,下面的說明限于增加部分。
標準修改信號發(fā)送單元410,接收通過輸入裝置420由用戶輸入的標準修改命令,并通過傳送通道發(fā)送相應的標準修改信號給活動圖象編碼器900。
類似地方式修改信號發(fā)送單元411接收通過輸入裝置420由用戶輸入的方式修改命令,并通過傳送通道發(fā)送相應的方式修改信號給活動圖象編碼器900。
下面將說明第七實施例的操作。說明將限于根據(jù)活動圖象解碼器1000的用戶輸入的命令所執(zhí)行的操作。
用戶可執(zhí)行三種操作類型。一種操作類型如在第一實施例中那樣輸入刷新命令。另外2種操作類型是輸入標準修改命令和方式修改命令。這些命令類似于第六實施例中由活動圖象編碼器900的操作員輸入的相應命令。
這三種操作類型中的任意一種類型都使活動圖象解碼器1000給活動圖象編碼器900發(fā)送相應的信號。刷新信號強使活動圖象編碼器900去編碼和發(fā)送I-幀。標準修改和方式修改信號如同第六實施例中標準修改和方式修改命令那樣被處理。
第七實施例具有同第五實施例同樣的優(yōu)點,外加給活動圖象解碼器1000的用戶在圖象質(zhì)量上有更多的控制的優(yōu)點。第七實施例的特殊的優(yōu)點是標準修改命令和方式修改命令能根據(jù)活動圖象解碼器1000的用戶實際感覺到的圖象質(zhì)量發(fā)出。
在第六實施例中,直接指定通道評估標準和參考幀更新方式的能力在不同標準和方式下,測試和評價系統(tǒng)性能是有用的。
作為一種變化,第六實施例能同第七實施例結(jié)合起來。給2端的用戶通過評估標準和參考幀更新方式執(zhí)行選擇控制。
盡管對于發(fā)送活動圖象數(shù)據(jù),本發(fā)明已作了敘述。它能用于使用基礎幀和幀間幀編碼方式編碼的任何數(shù)據(jù)中。如果一幀被分成獨立編碼塊,所發(fā)明的參考幀更新方法能分別地加到每塊,如上所說。而字“幀”能被解釋成所指的一塊,如圖象的一個部分。
實施例中許多變化在上面已說明過。對熟悉本技術(shù)領域的人來說將知道在本發(fā)明的如下權(quán)利要求范圍之內(nèi)仍可以作進一步的變化。
權(quán)利要求
1.一個編碼器,用基礎幀編碼和幀間編碼對一系列的幀進行編碼,把編碼的數(shù)據(jù)經(jīng)過傳送通道發(fā)送給解碼器,并且從所說的解碼器接收確認信號,其中包括一個存貯器裝置,用來存貯所說一系列幀中的很多幀;一個參考幀更新裝置,根據(jù)所說的確認信號,選擇在所說的存貯器裝置中存貯的一個幀作為參考幀一個確定裝置,用來指示在所說的一系列幀中的哪一幀用基礎幀編碼來編碼,哪一幀用幀間編碼來編碼;一個耦合到所說的存貯器裝置和所說的確定裝置的編碼裝置,以實現(xiàn)由所說確定裝置指示的基礎幀編碼和幀間編碼。從而產(chǎn)生編碼數(shù)據(jù),幀間編碼由所說的參考幀更新裝置所指示的參考幀為基準實現(xiàn);及一個耦合到所說的編碼裝置的發(fā)送裝置,以便把所說的編碼數(shù)據(jù)發(fā)送到所說的數(shù)據(jù)解碼器。
2.根據(jù)權(quán)利要求1的編碼器,其特征在于,所說的一系列幀構(gòu)成一活動圖象。
3.根據(jù)權(quán)利要求1的編碼器,其特征在于,所說的一系列幀中的每幀表示一幅圖象。
4.根據(jù)權(quán)利要求1的編碼器,其特征在于,所說的一系列幀中的每幀表示一幅圖象的一部分。
5.根據(jù)權(quán)利要求1的編碼器,其特征在于,所說的編碼器發(fā)送所說的編碼數(shù)據(jù)給很多解碼器,從所說的很多解碼器中接收所說的確認信號,所說的參考幀更新裝置選擇已被所說的至少某些解碼器正確認的一幀,作為所說的參考幀。
6.根據(jù)權(quán)利要求1的編碼器,其特征在于,所說的編碼器發(fā)送所說的編碼數(shù)據(jù)給很多解碼器,從所說的很多解碼器中接收所說的確認信號,所說的參考幀更新裝置選擇所說解碼器的至少某些未被負確認的一幀,作為所說的參考幀。
7.根據(jù)權(quán)利要求1的編碼器,其特征在于,所說的確認信號包括指示成功解碼的幀的正確認信號,及當所說的每個正確認信號接收到時,所說的參考幀更新裝置選擇由所說的正確認信號之一指示的幀,作為所說的參考幀。
8.根據(jù)權(quán)利要求1的編碼器,其特征在于,所說的確認信號包括指示未被成功解碼的幀的負確認信號,及當每個所說的負確認信號接收到時,所說的參考幀更新裝置選擇在由所說負確認信號之一指示的幀之前被編碼的幀,作為所說的參考幀。
9.根據(jù)權(quán)利要求1的編碼器,其特征在于,所說的確認信號包括指示未被成功解碼幀的負確認信號及所要的參考幀,當每個所說的負確認信號接收到時,所說的參考幀更新裝置選擇由所說的負確認信號之一所指示的所期望的參考幀,作為所說的參考幀。
10.根據(jù)權(quán)利要求1的編碼器,其特征在于,所說的參考幀更新裝置包括一個表保持單元,以保存一備選參考幀表,把所說編碼單元編碼的幀加到所說的備選參考幀表中;及一個刪除單元,當所說的確認信號之一指示一個幀沒有成功地解碼時,從所說的備選參考幀表中刪除所指示的這幀及在所說一系列幀中所有更加新的一些幀;及其中所說的參考幀更新裝置選擇所說的備選參考幀表上的幀之一,作為所說的參考幀。
11.根據(jù)權(quán)利要求10的編碼器,其特征在于,所說的確認信號包括指示不能成功地被解碼的一幀和所期望的一個參考幀的負確認信號。
12.根據(jù)權(quán)利要求11的編碼器,其特征在于,如果所說的不能成功地被解碼的幀和所說的所期望的參考幀出現(xiàn)在所說的備選參考幀表上,所說的參考幀更新裝置選擇所說所期望的參考幀作為所說的參考幀。
13.根據(jù)權(quán)利要求11的編碼器,其特征在于,當所說的不能成功地解碼的幀是不在所說備選參考幀表上時,所說的參考幀更新裝置選擇所說的備選參考幀表上的最新的幀作為所說的參考幀。
14.根據(jù)權(quán)利要求1的編碼器,其特征在于,還包括一個評估裝置,根據(jù)所說的確認信號評估所說的傳送通道的質(zhì)量;及一個耦合到所說評估裝置的方式轉(zhuǎn)換裝置,用來控制所說的參考幀更新裝置,根據(jù)所說的質(zhì)量以不同方式去選擇參考幀。
15.根據(jù)權(quán)利要求14的編碼器,其特征在于所說的評估裝置通過計數(shù)某些最新發(fā)送的幀中間的負確認幀來評估所說的質(zhì)量。
16.根據(jù)權(quán)利要求14的編碼器,其特征在于,所說的評估裝置通過計數(shù)連續(xù)的負確認幀來評估所說的質(zhì)量。
17.根據(jù)權(quán)利要求14的編碼器,其特征在于,所說的這些幀表示活動圖象中的部分圖象,而所說的評估裝置通過計數(shù)在某些連續(xù)圖象中同一位置上負性確認的幀數(shù),評估所說的質(zhì)量。
18.根據(jù)權(quán)利要求14的編碼器,其特征在于,所說的評估裝置根據(jù)很多標準來評估所說的質(zhì)量。
19.根據(jù)權(quán)利要求14的編碼器,其特征在于,所說的評估裝置,通過形成的好的和壞的評估來評估所說的質(zhì)量。
20.根據(jù)權(quán)利要求19的編碼器,其特征在于,當所說的質(zhì)量評為好時,所說的方式轉(zhuǎn)換裝置控制所說的參考幀更新裝置去選擇最新編碼的幀作為所說的參考幀,除非接收到一個負確認信號。
21.根據(jù)權(quán)利要求19的編碼器,其特征在于,當所說的質(zhì)量評為壞時,所說的方式轉(zhuǎn)換裝置控制所說的參考幀更新裝置僅選擇被所說確認信號確定已經(jīng)被成功地解碼的幀,作為所說的參考幀。
22.根據(jù)權(quán)利要求14的編碼器,其特征在于,包括一個用于從用戶接收一個方式命令的方式修改裝置,及強迫所說的參考幀更新裝置去選擇由所說的方式命令所示的方式中的所說參考幀。
23.根據(jù)權(quán)利要求14的編碼器,其特征在于,包括一個用于從用戶接收標準修改命令的標準修改裝置,且根據(jù)所說的標準修改命令,修改所說的評估裝置評估的質(zhì)量標準。
24.一種解碼器,用于通過一個傳送通道,接收從實現(xiàn)基礎幀編碼和幀間編碼的編碼器中來的編碼數(shù)據(jù),并解碼所說的編碼數(shù)據(jù),以得到一系列的幀,它包括一個確認信號發(fā)送裝置,以發(fā)送確認信號給所說的編碼器,確認相應的幀。
25.根據(jù)權(quán)利要求24的編碼器,其特征在于,所說的一系列幀組成一活動圖象。
26.根據(jù)權(quán)利要求24的解碼器,其特征在于,所說的確認信號包括表示各幀已成功地解碼正確認信號。
27.根據(jù)權(quán)利要求24的解碼器,其特征在于,所說的確認信號包括表示各幀沒有成功地接收的負確認信號。
28.根據(jù)權(quán)利要求24的解碼器,其特征在于,所說的確認信號包括表示各幀沒有成功地解碼的負確認信號。
29.根據(jù)權(quán)利要求24的解碼器,其特征在于,所說的確認信號包括表示相應的幀已被成功地解碼的正確認信號和相應的幀沒有被成功地接收的負確認信號。
30.根據(jù)權(quán)利要求24的解碼器,其特征在于,所說的確認信號包括表示相應的幀沒有被成功地解碼的負確認信號,以及所說的各個負確認信號指示所要的參考幀用于所說編碼器對后面各幀進行幀間編碼。
31.根據(jù)權(quán)利要求24的解碼器,其特征在于,所說編碼器按照某一標準評估所說發(fā)送通道的質(zhì)量,及根據(jù)相應于所說質(zhì)量的方式,為利用幀間編碼選擇參考幀,所說的解碼器還包括一個標準修改信號發(fā)送裝置,以接收用戶的輸入,并且給所說的編碼器發(fā)送一個相應信號,命令所說編碼器根據(jù)所說的輸入修改所說的標準。
32.根據(jù)權(quán)利要求24的解碼器,其特征在于,所說的編碼器按照某一標準評估所說發(fā)送通道的質(zhì)量,及根據(jù)相應于所說質(zhì)量的方式,為利用幀間編碼選擇參考幀,所說的解碼器還包括一個方式修改信號發(fā)送裝置,以接收用戶的輸入,并且給所說的編碼器發(fā)送一個信號,命令所說編碼器按照所說的輸入修改所說的方式。
33.從發(fā)送裝置發(fā)送一系列表示活動圖象的幀到接收裝置的方法,包括下列各步在所說一系列幀中,通過在基礎幀編碼和幀間編碼中判決,為每幀選擇一個編碼方法;選擇基礎幀編碼的方法編碼幀,不需要以其它幀為基準;選擇幀間編碼的方法編碼幀,以參考幀為基準,所說的參考幀是前面已編碼的幀;由所說幀通過基礎幀編碼和幀間編碼產(chǎn)生的編碼數(shù)據(jù),從所說的發(fā)送裝置發(fā)送到接收裝置;在所說的接收裝置上,對所說的編碼數(shù)據(jù)進行解碼;從所說的接收裝置給所說的發(fā)送裝置發(fā)送確認信號;及根據(jù)所說的確認信號,在所說的發(fā)送裝置上選擇所說的參考幀。
34.根據(jù)權(quán)利要求33的方法,其特征在于,所說的一系列幀中的每一幀代表一圖象。
35.根據(jù)權(quán)利要求33的方法,其特征在于,所說的一系列幀中的每一幀代表一圖象的一部分。
36.根據(jù)權(quán)利要求33的方法,其特征在于,所說的編碼數(shù)據(jù)被發(fā)送到很多接收裝置上,及所說的確認信號從所說很多接收裝置上被接收。
37.根據(jù)權(quán)利要求36的方法,其特征在于,所說的選擇參考幀的步驟包括選擇一幀,這幀已由至少某些所說的接收裝置所正確認。
38.根據(jù)權(quán)利要求36的方法,其特征在于,選擇所說的參考幀的所說步驟包括選擇一幀,這一幀還沒有由至少某些所說的接收裝置負確認。
39.根據(jù)權(quán)利要求33的方法,其特征在于,所說的確認信號包括表示已成功地解碼各幀的正確認信號,及選擇所說參考幀的所說步驟包括選擇由所說正確認信號之一表示一個幀。
40.權(quán)利要求33的方法,其中所說的確認信號包括表示沒有成功地解碼各幀的負確認信號,而選擇所說參考幀的所說步驟包括選擇在由所說負確認信號之一表示的幀之前編碼的一幀。
41.根據(jù)權(quán)利要求33的方法,其特征在于,所說的確認信號包括表示沒有被成功解碼的各幀的負確認信號和所要的參考幀,而所說的選擇參考幀的步驟包括選擇所說所期望的參考幀作為所說參考幀。
42.根據(jù)權(quán)利要求33的方法,其特征在于,選擇所說參考幀的步驟還包括下列各步保持一個備選參考幀表;把用基礎幀編碼的編碼幀和用幀間編碼的編碼幀加到所說的表中;從所說的表中刪除負確認的每一幀;同時從所說的表中刪除比負確認幀更新的一些幀;及從所說的表中選擇所說的參考幀。
43.根據(jù)權(quán)利要求42的方法,其特征在于,所說的確認信號包括表示不能成功解碼的一幀和所要的參考幀的負確認信號。
44.根據(jù)權(quán)利要求43的方法,其特征在于,選擇所說的參考幀的步驟包括如果所說的不能成功解碼的幀和所說所要的參考幀是在所說的表上,選擇所說所要的參考幀。
45.根據(jù)權(quán)利要求43的方法,其特征在于,所說的選擇參考幀的步驟包括如果所說的不能成功解碼的幀不在所說的表上,選擇所說表上的最新幀。
46.根據(jù)權(quán)利要求33的方法,其特征在于,還包括下列步驟評估所說的傳送通道的質(zhì)量;及相應于所說的質(zhì)量,依據(jù)不同方式選擇所說的參考幀。
47.根據(jù)權(quán)利要求46的方法,其特征在于,所說的發(fā)送裝置根據(jù)確認信號執(zhí)行所說的評估質(zhì)量的步驟。
48.根據(jù)權(quán)利要求47的方法,其特征在于,所說的評估質(zhì)量的步驟包括在一確定間隔期間,計數(shù)負確認幀。
49.根據(jù)權(quán)利要求47的方法,其特征在于,所說的評估質(zhì)量的步驟包括計數(shù)連續(xù)的負確認幀。
50.根據(jù)權(quán)利要求47的方法,其特征在于,所說的這些幀代表所說活動圖象中一些圖象的一部分,而所說的評估質(zhì)量的步驟包括計數(shù)在某些連續(xù)圖象中的同一位置的負確認的幀。
51.根據(jù)權(quán)利要求46的方法,其特征在于,所說的評估質(zhì)量的步驟包括形成好和壞的評估。
52.根據(jù)權(quán)利要求51的方法,其特征在于,所說選擇參考幀的步驟包括當所說的質(zhì)量評估為好時,選擇最新的編碼幀;除非接收到一負確認信號。
53.根據(jù)權(quán)利要求51的方法,其特征在于,選擇所說的參考幀的步驟包括當所說的質(zhì)量評估為壞時,用已經(jīng)成功地解碼的確認信號確定選擇一些幀。
54.根據(jù)權(quán)利要求46的方法,其特征在于,還包括從用戶處接收第一個命令,指出將用于評估的所說質(zhì)量的標準的步驟。
55.根據(jù)權(quán)利要求54的方法,其特征在于,所說的第一命令是在所說的發(fā)送裝置上從用戶處接收的。
56.根據(jù)權(quán)利要求54的方法,其特征在于,所說的第一命令是在所說的接收裝置上從用戶處接收的。
57.根據(jù)權(quán)利要求46的方法,其特征在于,還包括從用戶處接收第2個命令,指定選擇所說的參考幀的方式的步驟。
58.根據(jù)權(quán)利要求57的方法,其特征在于,所說的第2命令是在所說的發(fā)送裝置上,從用戶處接收的。
59.根據(jù)權(quán)利要求57的方法,其特征在于,所說的第二命令是在所說的接收裝置上,從用戶處接收的,它還包括下一步從所說的接收裝置給發(fā)送裝置發(fā)送所說的第2個命令。
全文摘要
一個傳送系統(tǒng),用基礎幀編碼和幀間編碼從發(fā)送裝置向接收裝置發(fā)送一系列編碼的幀。接收裝置解碼這些幀,并把確認信號送給發(fā)送裝置。發(fā)送裝置根據(jù)這些確認信號選擇用于幀間編碼的參考幀。參考幀選擇的方法隨著傳送通道質(zhì)量的評估而變化。評估標準或參考幀自身的選擇方法隨著用戶的輸入而變化。
文檔編號H04N7/24GK1168055SQ97103478
公開日1997年12月17日 申請日期1997年3月17日 優(yōu)先權(quán)日1996年4月19日
發(fā)明者福永茂, 中井敏久 申請人:沖電氣工業(yè)株式會社