專利名稱::為小尺寸或全尺寸播放提供獨立編碼鏈的視頻編碼系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明的具體實施方式涉及能支持以可變選擇尺寸進(jìn)行視頻播放的視頻編碼系統(tǒng),更具體的說,涉及支持幀間編碼方案的視頻編碼系統(tǒng),如視頻編輯應(yīng)用程序中所采用的那樣。
背景技術(shù):
:現(xiàn)代視頻編輯應(yīng)用程序是基于軟件的工具,其允許操作員("編輯者")從多個侯選的輸入視頻序列中產(chǎn)生一個輸出視頻序列。視頻編輯應(yīng)用程序被用于從大量不同的圖像資源中開發(fā)電影和電視節(jié)目。為了以一種有趣的方式捕捉兩個人之間的對話,例如,一個編輯者可能生成一個在兩個或多個不同攝像角度間跳轉(zhuǎn)的輸出序列。該編輯者可能在一定的時間內(nèi)選擇一個第一視頻序列,然后在一個第二時間淡入(dissolve)到第二視頻序列中。為了支持這種編輯功能,該視頻編輯器可能會提供一種圖形化用戶接口,將各種侯選輸入序列沿一個公共的時間軸被顯示。編輯者可指定在將出現(xiàn)在輸出流中的輸入流之間進(jìn)行的剪切,以及它們中間產(chǎn)生的任何效果(如淡入)。這些是草案編輯設(shè)定,可以在獲得最終設(shè)定前任意的修改。視頻編輯應(yīng)用程序允許在任何時間測試編輯設(shè)定。該應(yīng)用程序通常具能夠訪問表示每個侯選輸入流的編碼視頻數(shù)據(jù)。該應(yīng)用程序的圖形化用戶接口還可提供一個窗口,該窗口占用顯示器的一部分來允許進(jìn)行編輯設(shè)定的播放。當(dāng)播放執(zhí)行時,在最終視頻序列被播放前,該應(yīng)用程序可使一個或多個存儲的視頻數(shù)據(jù)序列被譯碼,并應(yīng)用任何特效。在實時顯示中,呈現(xiàn)(rendering)可顯示的視頻序列需要在每個幀間隔(通常為1/30秒)執(zhí)行這些譯碼及特效操作。為了盡快實施該譯碼操作,傳統(tǒng)的視頻編輯應(yīng)用程序具有僅內(nèi)部預(yù)測的可接受的編碼視頻數(shù)據(jù)。也就是說,每一幀可以被譯碼而無需瞬時預(yù)測。視頻編碼應(yīng)用程序的設(shè)計者可能要被迫接受更多種類的編碼視頻數(shù)據(jù),包括根據(jù)瞬時預(yù)測編碼的數(shù)據(jù)。為了使得該譯碼搮作盡快進(jìn)行,發(fā)明人確定了根據(jù)其編碼格式對輸入視頻數(shù)據(jù)進(jìn)行譯碼、并根據(jù)內(nèi)部預(yù)測技術(shù)重新編碼該數(shù)據(jù)是非常有利的。而且該譯碼和重新編碼很可能會導(dǎo)致比輸入數(shù)據(jù)更少的壓縮,因此,有更大的文件尺寸,它很可能會帶來測試操作過程中更快的譯碼。發(fā)明人還意識到輸入數(shù)據(jù)的譯碼和重新編碼為提供更優(yōu)化的譯碼過程提供了機(jī)會,該譯碼過程在視頻設(shè)定的測試模式期間執(zhí)行。圖l是根據(jù)本發(fā)明的一個具體實施例的視頻編碼系統(tǒng)的方框圖。圖2示出了根據(jù)本發(fā)明的一個具體實施例的塊類型。圖3示出了根據(jù)本發(fā)明的一個具體實施例的游程長度(runlength)編碼器的掃描方向。圖4示出了根據(jù)本發(fā)明的一個通過小波系數(shù)實現(xiàn)編碼的具體實施例的塊類型。圖5示出了根據(jù)本發(fā)明的一個具體實施例的可變長度編碼器。圖6是根據(jù)本發(fā)明的一個具體實施例的視頻譯碼系統(tǒng)的方框圖。圖7是根據(jù)本發(fā)明的一個具體實施例的游程長度消耗法的流程圖。圖8是根據(jù)本發(fā)明一個具體實施例的系統(tǒng)硬件結(jié)構(gòu)圖。具體實施方式本發(fā)明的具體實施例提供了一種根據(jù)一對編碼鏈對數(shù)據(jù)進(jìn)行編碼的編碼系統(tǒng)。第一編碼鏈產(chǎn)生可被其自行譯碼的編碼視頻數(shù)據(jù),以代表一個小尺寸的源視頻序列,例如一個足夠支持實時播放和視頻編輯應(yīng)用程序的顯示特性的尺寸。第二編碼鏈產(chǎn)生表示補(bǔ)充數(shù)據(jù)的編碼視頻數(shù)據(jù),當(dāng)與第一編碼鏈的編碼視頻數(shù)據(jù)一起進(jìn)行譯碼時,產(chǎn)生全尺寸顯示的源視頻序列。該第一編碼鏈的輸出可以以一個文件結(jié)構(gòu)的形式存儲在存儲器中,所述文件結(jié)構(gòu)能獨立于第二編碼鏈的輸出而訪問,因此,便于實時譯碼和播放.圖1是根據(jù)本發(fā)明的一個具體實施方式的視頻編碼系統(tǒng)100的方框圖。該視頻編碼系統(tǒng)IOO可從一些源中接收視頻序列的數(shù)據(jù),或者從一個視頻捕獲設(shè)備或從存儲器接收視頻序列的數(shù)據(jù)。通常,視頻序列的圖像數(shù)據(jù)被組織成多個幀,每個幀包含一個象素陣。該象素數(shù)據(jù)可分解為亮度和一對色度分量(Y,Cr,Cb),每個分量都可由系統(tǒng)100獨立地進(jìn)行處理。該視頻編碼系統(tǒng)100可包括一個變換單元110,一個量化器120,一個分離器130和一對處理鏈140,150。每個處理鏈可包含各自的游程長度(runlength)編碼器142,152和可變長度編碼器144,156。該變換電路IIO將來自一個源幀的象素數(shù)據(jù)塊根據(jù)預(yù)定的變換方式變換為系數(shù)數(shù)據(jù)塊。例如,該變換單元110可根據(jù)離散余弦變換(DCT)操作。通常,DCT系數(shù)被描述為一種二維系數(shù)陣。最常見的方式是將源數(shù)據(jù)的一個8x8象素塊變換為DCT系數(shù)的8x8陣,如圖2(a)所示的陣。被作為該陣的原點(位置(0,0))的一個系數(shù)代表該塊的DC分量。其他系數(shù)代表塊中各種其他頻率的分量。沿所述塊的主軸方向提供的系數(shù)代表在單方向的遞增增加頻率上的圖像分量。沿塊的主對角線方向提供的系數(shù)代表在多個方向的遞增增加頻率的圖像分量。量化器120通過將他們除以一個量化參數(shù)(qp)將系數(shù)截短。這減小了這些用于之后的編碼操作的系數(shù)的幅度。一些低級別的系數(shù)被截短為0。該量化參數(shù)在一個幀的不同塊之間以及不同的幀之間可以不同。因此,關(guān)于該量化參數(shù)本身的信息可包含在視頻編碼系統(tǒng)100輸出的編碼數(shù)據(jù)中,這樣,在譯碼操作期間,該量化參數(shù)可被重構(gòu),且該量化操作可逆。該分離器130代表一種由該視頻編碼系統(tǒng)100執(zhí)行的解復(fù)用操作,以傳送每個塊的系數(shù)到一對編碼鏈140,150之一。根據(jù)一個具體實施例,對于每個輸入到分離器130中的系數(shù)數(shù)據(jù)塊,該分離器130可轉(zhuǎn)發(fā)一組較低頻率的系數(shù)到第一編碼鏈140,其他的系數(shù)到第二編碼鏈150。例如,為了以源圖像的1/4尺寸恢復(fù)可顯示的視頻信號,將最低頻率系數(shù)的1/4在第一編碼鏈一起編碼就足夠了(8x8塊產(chǎn)生的64個系數(shù)中的16個系數(shù)),其他系數(shù)在第二編碼鏈編碼。其他的顯示尺寸也是允許的。該編碼鏈140和150每個都可包括一個游程長度編碼器142,152和一個可變長度編碼器144,154。在一個實施例中,該游程長度編碼器142,152每個都根據(jù)傳統(tǒng)的之字形掃描方向執(zhí)行游程長度編碼。從一個原點開始,該游程長度編碼器穿越(traverse)各種系數(shù)位置并在該編碼器到達(dá)一個具有非零值的系數(shù)前計數(shù)穿越的位置的數(shù)目。穿越的位置的數(shù)目作為游程長度被輸出,該非零系數(shù)值作為一個級別被輸出。該編碼器重新開始穿越該塊,輸出之后的游程(run)和級別(level),直到該掃描穿越整個塊。當(dāng)然,對于第一鏈140,該游程長度編碼器142只需要穿越輸入給它的系數(shù)。利用上面提供的實施例,一個1/4尺寸的顯示將產(chǎn)生多個4x4的塊,如圖2(b)所示。傳統(tǒng)的之字形掃描適合這樣的塊。對于第二鏈150,游程長度編碼器152穿越所述塊中剩余的系數(shù),由于缺少被傳送到第一鏈140的系數(shù),這些剩余的系數(shù)通常都是不規(guī)則的系數(shù)值陣(圖2(c))。在一個實施例中,把這些剩余的系數(shù)作為一個規(guī)則的陣可能特別有效,在那些通常會被小塊的系數(shù)占據(jù)的位置設(shè)置虛擬的零值。因此,該游程長度編碼器152可對該塊執(zhí)行傳統(tǒng)的之字形掃描。因為,對于相對平坦的圖像內(nèi)容(低紋理),沿著塊的主對角線遠(yuǎn)離原點的系數(shù)趨向于零,這種游程長度編碼可能特別有效。替換的,游程長度編碼器152可根據(jù)傳統(tǒng)的之字形掃描以跳過被傳遞給第一鏈140的系數(shù)位置的方式穿越所述剩余塊。重新參考圖2(c),例如,不是從位置(0,O)開始,游程長度編碼器152可從位置(4,0)開始。在之字形掃描方向上下一個"相鄰"位置將會是位置(0,4),因為系數(shù)位置(3,1),(2,2)和(1,3)不是剩余塊的成員。下一個之字形跨越,從位置(0,5)到(5,0)類似地跳過系數(shù)位置(3,2)和(2,3),因為它們也是該實施例中小塊的成員。在另一實施例中,該剩余塊可根據(jù)之字形掃描方向被解析為多個子塊用于獨立的游程長度編碼。在圖2(c)的實施例中,例如,這些塊可被解析成三個4x4的系數(shù)數(shù)據(jù)陣,每個陣被獨立地進(jìn)行游程長度編碼。根據(jù)本發(fā)明的另一實施例,一個可變長度編碼器可根據(jù)多種可逆編碼算法中的一種執(zhí)行編碼??赡婢幋a算法允許通過一種直接計算(而不是參考一些查詢表)將VLC數(shù)據(jù)直接譯碼為游程長度數(shù)據(jù)。該源數(shù)據(jù)的直接計算提供了比查詢表更快的實時譯碼,尤其是在軟件實現(xiàn)的譯碼器中。為了示例,該可變長度編碼器可根據(jù)Golomb-Rice編碼族或exp-Golomb編碼族等來操作。兩個鏈140、150的可變長度編碼器144、154可編碼該游程,來自游程長度編碼器142,152的水平對數(shù)據(jù)輸出。在另一個實施例中,處理鏈140、150的游程長度編碼142、152可被一起忽略。在該實施例中,可變長度編碼器144、154可直接在分離器130的系數(shù)數(shù)據(jù)輸出上進(jìn)行操作。出于此原因,游程長度編碼器142、152在圖1中以虛線顯示。每一幀的編碼視頻數(shù)據(jù)可被存儲在存儲設(shè)備的文件160中。根據(jù)一個實施例,來自第一處理鏈140的編碼視頻數(shù)據(jù)輸出可被存儲在所述文件的相鄰區(qū)域,以便于訪問(顯示為組1162)。來自第二處理鏈150的編碼視頻數(shù)據(jù)輸出可被存儲在文件160的另一個區(qū)域164。在播放中,如果希望僅生成一個小尺寸的視頻序列,則可提取組l162的編碼視頻數(shù)據(jù)并譯碼。替換的,如果希望譯碼一個全尺寸視頻序列,則可提取組162和164并譯碼。因此,本發(fā)明方便了各種尺寸的圖像的實時播放。根據(jù)一個實施例,所有的幀可被編碼為內(nèi)部編碼幀("I幀")。內(nèi)部編碼使得一個幀中的一個塊的視頻數(shù)據(jù)可從該幀中的另一個塊的視頻數(shù)據(jù)中被譯碼。這樣,一給定塊X的視頻內(nèi)容可被從與塊X水平或垂直相鄰的塊的數(shù)據(jù)中被譯碼。例如,描述MPEG-4標(biāo)準(zhǔn)的技術(shù),7.4.3節(jié)可被用于本編碼器100。參見Informationtechnology-Codingofaudio-visualobjects-Part2:VisualAmendment1:Visualextensions,ISO/IECJTC1/SC29/WG11N3056(2000)。為了說明的簡單,這些操作被認(rèn)為包含在變換塊110中。根據(jù)一個實施例,游程長度編碼器142可根據(jù)穿過一對小塊的修改的之字形掃描來操作。圖3示出了穿過系數(shù)數(shù)據(jù)的一個示意性4x4對的之字形掃描。根據(jù)一個實施例,該掃描可以開始于第一塊的原點,并根據(jù)傳統(tǒng)的之字形掃描方向穿過第一塊內(nèi)的系數(shù)位置而前進(jìn)。該掃描在垂直于該塊的主對角線的方向上穿越該塊(與圖2(a)相比),直到它到達(dá)最后的系數(shù)位置。最后的系數(shù)位置一般位于距離原點最遠(yuǎn)的子塊的主對角線。從第一塊中的這個最后的位置,掃描方向可跳至第二塊上對應(yīng)的位置,在圖3中標(biāo)記為"初始位置"。所述掃描方向以相反的掃描方向穿越第二塊的系數(shù)位置。它沿垂直于該塊的主對角線方向,從所述初始位置向第二塊的原點。這樣,本實施方式的之字形掃描在掃描的每次迭代中消耗了兩個小塊。圖3的實施方式對小塊的編碼系數(shù)特別有效。因為與全尺寸塊相比,小塊一般包含小數(shù)量的系數(shù)(例如,與對64系數(shù)相比為16系數(shù)),所以僅穿越單個塊的傳統(tǒng)之字形掃描很可能遇到相對較短的零游程,這是低效率的。但是,通過用第二塊的反序之字形掃描擴(kuò)展第一塊的傳統(tǒng)之字形掃描,就可以遇到較長的零游程。對于平坦的圖像數(shù)據(jù),靠近第一塊的最后位置和第二塊的初始位置的系數(shù)很可能為零。這些零可被一個從第一塊"跳,,到第二塊的游程來捕獲。圖4是根據(jù)本發(fā)明的另一個實施例的編碼鏈400的方框圖。編碼鏈400可作為圖1中所述的第一或第二編碼鏈的應(yīng)用。圖4示出了一個多模式游程長度編碼系統(tǒng)410,它包括一個游程長度編碼器420和一個選擇器430,選擇器430可包括一對輸入。第一輸入被耦合至到編碼鏈的輸入,第二輸入被耦合至游程長度編碼系統(tǒng)410的一個輸出。游程長度編碼器420的一個輸入也可被耦合至游程長度編碼系統(tǒng)410的一個輸入。基于一個選擇信號(圖4中標(biāo)記為"RLE選擇"),選擇器430可從其所選的一個輸入將數(shù)據(jù)傳輸,以用于進(jìn)一步由可變長度編碼器處理。在另一個實施例中,要使用到數(shù)據(jù)上的編碼算法可根據(jù)輸入到可變長度編碼器440的不同的數(shù)據(jù)模式而動態(tài)改變??勺冮L度編碼器440被顯示為包括一個編碼單元450和多個編碼分配表460。響應(yīng)于一個選擇輸入,VLC選擇器470可將分配表之一耦合到編碼單元450。所述選擇輸入可動態(tài)改變,例如以逐塊為基礎(chǔ)、以逐片(tile-by-tile)為基礎(chǔ)、或以逐幀為基礎(chǔ)。VLC選擇信號可基于塊的類型(例如攜帶量度數(shù)據(jù)vs.色度數(shù)據(jù)),基于可變長度編碼器所屬的編碼鏈(鏈140或150),或者基于所述塊所屬的片(tile)。此外,一個塊可被通過多個VLC分配來編碼,以允許在它們之間進(jìn)行壓縮效率比較。取得最高壓縮的編碼結(jié)果可被用于存儲。在編碼中,即使使用可逆編碼算法,可變長度編碼器500也可通過或者直接計算或借助查表來編碼輸入數(shù)據(jù)。在另一個替換實施方式中,變換單元110可根據(jù)小波變換來操作。多分辨率小波分解是用于圖像信息編碼的最有效的方案之一。要被編碼的圖像信息被表示為局部支持的小波的線形組合。小波支持的一個實例被顯示在圖5中。小波分解可產(chǎn)生一個DC分量(標(biāo)記為"DC"),和對應(yīng)于小波的若干系數(shù)帶,其水平、垂直和對角線地沿伸穿過一給定塊的。在圖5中,示出了四個系數(shù)帶(帶1-4)。第一帶包括極低頻率小波的系數(shù)。帶2中的每個小波將塊的區(qū)域分成了四分之一塊。因此有四個水平小波系數(shù)、四個垂直小波系數(shù)和四個對角線小波系數(shù)。在小波系數(shù)的每一個附加帶中,所述系數(shù)表示具有前一個系數(shù)帶中的對應(yīng)小波的四分之一區(qū)域的小波。在圖5中,在塊內(nèi)的5個不同粒度上為圖像信息顯示了小波支持(帶0-4,其中帶0表示支流系數(shù))。本發(fā)明的原理可被擴(kuò)展到基于小波的編碼器。在這種實施方式中,變換單元110可生成由量化器120截短的小波系數(shù)。分離器130可將第一系列帶的小波系數(shù)發(fā)送給第一編碼鏈140,剩余帶的小波系數(shù)發(fā)送給第二編碼鏈150。如果系統(tǒng)要生成一個全尺寸圖像的25%的小尺寸顯示,則分離器可將帶0-3的系數(shù)發(fā)送給第一編碼鏈。圖6是根據(jù)本發(fā)明的一個實施例的視頻譯碼器600的方框圖。譯碼器600可對圖1的編碼器100所進(jìn)行的編碼操作進(jìn)行反操作。因此,該譯碼器可包括一個逆變換單元610,一個解量化器620,一個復(fù)用器630,一對處理鏈640、650,其中每個都包括一個游程長度譯碼器642、652和一個可變長度譯碼器644、654,和一個存儲單元660。如上所述,編碼音頻數(shù)據(jù)可被放置在存儲單元660中的一個文件中,在兩個不同的組中。第一組可包括小塊的編碼數(shù)據(jù),它能被獨立地譯碼,以獲取源音頻圖像的小尺寸復(fù)制品。第二組可包括塊的剩余部分的編碼數(shù)據(jù),它可與該小塊的編碼數(shù)據(jù)一起被譯碼,以生成全尺寸圖像。在操作中,處理鏈640、650中的一個或兩個將是激活的。如果僅有第一處理鏈640是激活的,小塊的編碼視頻數(shù)據(jù)可從存儲器、可變長度譯碼644和游程長度譯碼642中取回。如果第二處理鏈650是激活的,塊剩余部分的譯碼視頻數(shù)據(jù)也可從存儲器、可變長度譯碼654和游程長度譯碼652中取回。如果復(fù)用器630從處理鏈640、650中接收數(shù)據(jù),它將所述數(shù)據(jù)以一定格式組合在一起,以用于解量化器620和逆變換單元610進(jìn)一步處理。解量化器620通過將輸入系數(shù)值乘以量化器參數(shù)(qp)(圖1的量化器120所使用的)來恢復(fù)變換值。逆變換單元610通過對圖1的變換單元110實施的變換(如離散變換編碼或小波編碼)進(jìn)行逆操作來恢復(fù)像素值。這樣,變換單元輸出像素數(shù)據(jù)塊,所述像素數(shù)據(jù)塊可與其它塊進(jìn)行重建以用于顯示。如所述的,恢復(fù)的圖像數(shù)據(jù)可以是一個小尺寸圖像,只要小尺寸塊被譯碼了,或者它可以是所有編碼視頻數(shù)據(jù)的全尺寸圖像,如果所述幀被譯碼。在一個實施例中,逆變換單元610的操作可接收所使用的譯碼模式的指示符。當(dāng)執(zhí)行全尺寸譯碼時,逆變換單元610可以以傳統(tǒng)方式操作。當(dāng)時,當(dāng)執(zhí)行小尺寸譯碼,逆變換單元610可忽略僅參考剩余塊中出現(xiàn)的系數(shù)(將從第二處理鏈650中輸出的系數(shù))的變換計算。因為鏈650被選擇信號處理為不激活的,變換計算將不執(zhí)行有用的工作。忽略這種計算優(yōu)化了逆變換單元610的處理量。逆變換單元610可以是一個小波變換單元,以從小波系數(shù)中生成像素數(shù)據(jù)。在該實施例中,當(dāng)逆變換單元僅在小塊上操作時,由于缺少高頻系數(shù),傳統(tǒng)的小波譯碼將生成減小解析度的全尺寸視頻。在一個實施例中,譯碼器可調(diào)整全尺寸視頻的大小為一個對應(yīng)的較小尺寸(如將為原始的25%)。如下面的表1所示,游程長度編碼數(shù)據(jù)被表示為一系列游程等級對。一個游程值表示若干連續(xù)的系數(shù)掃描位置,在這些位置檢測到了零值系數(shù)。一個游程值可以是零和數(shù)據(jù)單元中的系數(shù)位置的最大數(shù)目(例如,8x8塊的64或4x4塊的編碼對的32)之間的任何值。等級值表示沿掃描方向遇到的下一個非零系數(shù)的值。這樣,為了對單個塊或一對塊的系數(shù)進(jìn)行編碼,游程長度編碼器將生成至少一個游程,以及可能的一系列等級和游程,如塊的信息內(nèi)容所指示的。塊的編碼可結(jié)束于一個游程或一個等級值。經(jīng)常,游程長度編碼器將生成若干游程長度對<table>tableseeoriginaldocumentpage15</column></row><table>表l典型情況下,如果最后的對的游程值消耗了給定塊的剩余部分,則它的后面是一個塊結(jié)束符號,而不是表l中所示的等級。根據(jù)本發(fā)明的一個實施例,通過考慮游程長度編碼數(shù)據(jù)的替代"模式,,,如表2中所示的模式,可獲得表l的數(shù)據(jù)的有效譯碼。<formula>formulaseeoriginaldocumentpage3</formula>如上所述,第n個等級符號可以提供、但是不需要被提供。圖7示出了根據(jù)本發(fā)明的一個實施例的消耗法700。根據(jù)該實施例,該方法讀取并"消耗"在游程長度對(方框710)的輸入模式中表示的第一游程值。然后該方法確定,由目前為止所消耗的等級值的數(shù)目和游程值的總和所標(biāo)識的當(dāng)前系數(shù)位置是否在結(jié)束位置的位置1中(方框720)。如果不是,該方法讀取并消耗一對等級和游程值(方框730),并返回到方框720以進(jìn)行另一次迭代。如果是這樣并且如果當(dāng)前系數(shù)位置在結(jié)束位置,則方法700可簡單地結(jié)束。如果是這樣并且如果當(dāng)前位置緊鄰結(jié)束位置,則該方法在結(jié)束前消耗一個最終等級值(方框740)。圖7中提出的消耗操作根據(jù)表2中所示的模式消耗游程、等級對。該消耗模式比基于表l的模式的消耗法要快,因為每次迭代它需要一個較少的測試。一般情況下,游程長度譯碼把游程值和等級值為獨立的符號處理并且測試,以在每個符號被消耗后確定是否到達(dá)結(jié)束位置。通過讀取如表2所示的符號對,圖7的方法執(zhí)行一半多的測試,從而提供了更快的性能。因此,如上所述,本實施例的編碼方案根據(jù)一種用于減小尺寸圖像的快速譯碼的協(xié)議,來組織編碼的視頻數(shù)據(jù),該協(xié)議特別適用于視頻編輯應(yīng)用。上面的描述提供了4x4塊的實例,其在譯碼時導(dǎo)致四分之一尺寸顯示。當(dāng)然,本發(fā)明的原理不受此所限。譯碼系統(tǒng)的操作可被修改以提供相比于全尺寸顯示的所希望的任何比率的小顯示。對于表格3中所示的尺寸比率,分離器130可直接從源8x8塊中組裝具有該表格中所示尺寸的子塊。<table>tableseeoriginaldocumentpage17</column></row><table>表3如果需要其它的尺寸比率,如50%,一旦當(dāng)譯碼視頻數(shù)據(jù)從譯碼器輸出后,可以在譯碼視頻數(shù)據(jù)上使用額外的空間大小調(diào)整技術(shù)(圖6)。另外,為了提供額外的靈活性,視頻編碼器和譯碼器可被提供3個或更多個編碼/譯碼鏈,每一個用于處理與預(yù)定幀尺寸相關(guān)的視頻數(shù)據(jù)。以視頻編碼器為例,第一編碼鏈可處理3x3陣的提取DCT系數(shù);第二編碼鏈可處理最大到5x5系數(shù)陣的剩余系數(shù)(其中去除了3x3陣系數(shù)的5x5陣);第三編碼鏈可處理前兩個編碼鏈提取后剩下的系數(shù)。類似地,視頻譯碼器可以以類似的方式處理多個編碼鏈。在上述實施方式在所述的系統(tǒng)和技術(shù)可被集成到較大的視頻編碼系統(tǒng)中以提供全編碼服務(wù)。一種這樣的系統(tǒng)將視頻幀作為大量"片(tile)"來編碼。幀的空間區(qū)域被組織成離散部分,稱為"片",出現(xiàn)在所述片中的用于塊的特定編碼判斷可在逐片的基礎(chǔ)上做出,而不是逐塊的基礎(chǔ)上。例如,VLC表(圖5)的選擇可以通用地針對一給定片中的所有塊做出。此外,編碼參數(shù),如量化器參數(shù)的選擇,可以對其中的所有塊通用做出。通過在逐片的基礎(chǔ)上組織編碼判斷,允許了一片的視頻數(shù)據(jù)獨立于屬于相同幀中的另一片的視頻數(shù)據(jù)被編碼和譯碼。這提供了多個優(yōu)勢,包括(l)片可被分配獨立的處理器以并行編碼或譯碼,(2)通過將幀的視頻數(shù)據(jù)分割成較小的片,存儲器和緩沖器管理簡單了,(3)可獲得較高的壓縮,因為可以為每個片獨立選擇編碼參數(shù)(從而優(yōu)化),(4)可以在不需要譯碼它們所屬的幀的情況下,對視頻序列中所感興趣的片進(jìn)行譯碼。因此,圖1的視頻編碼器和圖6的視頻譯碼器可以在并行處理系統(tǒng)中被復(fù)制,以獨立地譯碼所述片。本文特別示出和描述了本發(fā)明的多個實施方式。但是,可以理解本發(fā)明的修改和變化也被上述啟示所包括,并且處于附屬權(quán)利要求的范圍內(nèi),而不背離本發(fā)明的精神和預(yù)期的范圍。權(quán)利要求1.一種視頻編碼系統(tǒng),包括變換單元,用于將多個塊的像素數(shù)據(jù)編碼為變換系數(shù),第一可變長度編碼器,用于編碼每個塊的第一子塊,所述第一子塊包括預(yù)選數(shù)目的低頻變換系數(shù),以及第二可變長度編碼器,用于編碼每個塊的第二子塊,所述第二子塊包括剩余的變換系數(shù)。2、如權(quán)利要求1所述的視頻編碼系統(tǒng),還包括第一游程長度編碼器,用于編碼所述第一子塊;以及第二游程長度編碼器,用于編碼所述第二子塊。3、如權(quán)利要求2所述的視頻編碼系統(tǒng),其中所述第一游程長度編碼器根據(jù)一種掃描模式將一對低頻子塊一起編碼,該掃描模式為從其中的最低頻系數(shù)到最高頻系數(shù)以之字形穿過所述低頻子塊的第一個而前進(jìn),前進(jìn)到第二低頻子塊的最高頻系數(shù),以及從最高頻系數(shù)到最低頻系數(shù)以之字形穿過所述第二低頻子塊而前進(jìn)。4、如權(quán)利要求1所述的視頻編碼系統(tǒng),其中所述的可變長度編碼器之一包括編碼單元和一組可選擇的可變長度分配。5、如權(quán)利要求1所述的視頻編碼系統(tǒng),其中所述第一和第二可變長度編碼器分別直接編碼所述第一和第二子塊。6、一種視頻編碼方法,包括將輸入視頻的每一幀組織成多個像素塊,對每個塊根據(jù)預(yù)定的變換將所述塊編碼為多個系數(shù),根據(jù)一量化參數(shù)將所述系數(shù)塊量化,從每個塊中提取一個系數(shù)子集,根據(jù)可變長度編碼對提取的系數(shù)進(jìn)行編碼,并將其結(jié)果存儲在第一存儲位置中,根據(jù)可變長度編碼對剩余的系數(shù)進(jìn)行編碼,并將其結(jié)果存儲在第二存儲位置中。7、如權(quán)利要求6所述的視頻編碼方法,編碼還包括直接編碼所述被提取的系數(shù)和剩余的系數(shù)。8、如權(quán)利要求6所述的視頻編碼方法,其中所述變換是離散余弦變換。9、如權(quán)利要求6所述的視頻編碼方法,其中所述變換是小波分解。10、如權(quán)利要求6所述的視頻編碼方法,還包括對于至少一個塊,從一個鄰近塊中預(yù)測所述塊的圖像數(shù)據(jù)。11、如權(quán)利要求6所述的視頻編碼方法,其中視頻序列中的每個幀被編碼為內(nèi)部編碼幀。12、如權(quán)利要求6所述的視頻編碼方法,還包括在可變長度編碼之前根據(jù)游程長度編碼來編碼所述被提取的系數(shù);以及在可變長度編碼之前根據(jù)游程長度編碼來編碼所述剩余的系數(shù)。13、如權(quán)利要求12所述的視頻編碼方法,其中所述被提取系數(shù)的游程長度編碼包括根據(jù)一個掃描方向來游程長度編碼一對塊的被提取系數(shù),該掃描方向為從其中的最低頻系數(shù)到最高頻系數(shù)以之字形穿過第一塊的被提取系數(shù)而前進(jìn),前進(jìn)到第二塊的被提取系數(shù)的最高頻系數(shù),從最高頻系數(shù)到最低頻系數(shù)以之字形穿過第二塊的被提取系數(shù)而前進(jìn)。14、一種計算機(jī)可讀取介質(zhì),其上存儲有從處理生成的編碼視頻數(shù)據(jù),包括將輸入視頻的每一幀組織成多個像素塊,對每個塊根據(jù)預(yù)定的變換將所述塊編碼為多個系數(shù),根據(jù)一量化參數(shù)將所述系數(shù)塊量化,從每個塊中提取一個系數(shù)子集,根據(jù)可變長度編碼對提取的系數(shù)進(jìn)行編碼,并將其結(jié)果存儲在第一存儲位置中,根據(jù)可變長度編碼對剩余的系數(shù)進(jìn)行編碼,并將其結(jié)果存儲在第二存儲位置中,其中表示被提取的系數(shù)的編碼數(shù)據(jù)被存儲在計算機(jī)可讀取介質(zhì)的離散區(qū)域中,以便相對于表示所述剩佘系數(shù)的編碼數(shù)據(jù)被分離地訪問。15、如權(quán)利要求14所述的計算機(jī)可讀取介質(zhì),還包括在可變長度編碼之前根據(jù)游程長度編碼來編碼所述被提取的系數(shù);以及在可變長度編碼之前根據(jù)游程長度編碼來編碼所述剩余的系數(shù)。16、如權(quán)利要求15所述的計算機(jī)可讀取介質(zhì),其中所述被提取系數(shù)塊的游程長度編碼包括根據(jù)一種掃描方向來游程長度編碼一對塊的被提取系數(shù),該掃描方向為從其中的最低頻系數(shù)到最高頻系數(shù)以之字形穿過第一塊的被提取系數(shù)而前進(jìn),前進(jìn)到第二塊的被提取系數(shù)的最高頻系數(shù),從最高頻系數(shù)到最低頻系數(shù)以之字形穿過第二塊的被提取系數(shù)而前進(jìn)。17、一種視頻譯碼器,包括第一可變長度譯碼器,具有用于第一編碼視頻數(shù)據(jù)的輸入;多路復(fù)用器,具有耦合到所述笫一可變長度譯碼器的輸出的輸入;以及逆變換單元,耦合到所述多路復(fù)用器的輸出,其中所述第一可變長度譯碼器專用于譯碼所述第一編碼視頻數(shù)據(jù),所述第一編碼視頻數(shù)據(jù)表示小尺寸的源視頻序列。18、如權(quán)利要求17所述的視頻譯碼器,還包括第二可變長度譯碼器,具有用于第二編碼視頻數(shù)據(jù)的輸入,其中所述第二可變長度譯碼器專用于譯碼所述第二編碼視頻數(shù)據(jù),所述第二編碼視頻數(shù)據(jù)表示全尺寸的源視頻序列。19、如權(quán)利要求18所述的視頻譯碼器,還包括第一游程長度譯碼器,耦合到所述第一可變長度譯碼器的所述輸出;以及第二游程長度譯碼器,耦合到所述第二可變長度譯碼器的輸出。20、如權(quán)利要求18所述的視頻譯碼器,還包括一個控制輸入,用于確定是否禁用所述第二可變長度譯碼器。21、如權(quán)利要求17所述的視頻譯碼器,其中所述逆變換單元是一個逆離散余弦變換單元。22、如權(quán)利要求17所述的視頻譯碼器,其中所述逆變換單元是一個逆小波變換單元。23、一種視頻譯碼方法,包括獲取表示小尺寸圖像的第一編碼視頻數(shù)據(jù),譯碼所述第一編碼視頻數(shù)據(jù),以獲得其系數(shù)塊,當(dāng)控制信號指示要執(zhí)行全尺寸譯碼時獲取第二視頻編碼數(shù)據(jù),譯碼第二視頻編碼數(shù)據(jù),以獲得其補(bǔ)充系數(shù)塊,在逐塊的基礎(chǔ)上將所述系數(shù)和所述補(bǔ)充系數(shù)進(jìn)行合并,根據(jù)逆變換從合并的系數(shù)塊中生成像素數(shù)據(jù)。24、如權(quán)利要求23所述的視頻譯碼方法,還包括,當(dāng)所述控制信號指示不執(zhí)行全尺寸譯碼時,從所述系數(shù)塊中生成像素數(shù)據(jù)。25、如權(quán)利要求23所述的視頻譯碼方法,其中所述逆變換是逆離散余弦變換。26、如權(quán)利要求23所述的視頻譯碼方法,其中所述逆變換是逆小波變換。27、如權(quán)利要求23所述的視頻譯碼方法,其中所述第一編碼視頻數(shù)據(jù)的譯碼包括通過直接計算來譯碼可變長度編碼數(shù)據(jù)。28、一種數(shù)據(jù)信號,包括編碼視頻數(shù)據(jù),其表示根據(jù)如下產(chǎn)生的小尺寸圖象將輸入視頻的每一幀組織成多個像素塊,對每個塊根據(jù)預(yù)定的變換將一個像素數(shù)據(jù)塊編碼為一個系數(shù)數(shù)據(jù)塊,根據(jù)一量化參數(shù)將所述系數(shù)數(shù)據(jù)塊量化,提取一個系數(shù)子集,根據(jù)可變長度編碼對提取的系數(shù)進(jìn)行編碼。29、如權(quán)利要求28所述的方法,其中根據(jù)可變長度編碼對所述被提取的系數(shù)直接編碼。30、如權(quán)利要求28所述的方法,其中所述被提取的系數(shù)是預(yù)選擇數(shù)目的高頻系數(shù)。31、如權(quán)利要求28所述的方法,其中所述被提取的系數(shù)是預(yù)選擇數(shù)目的低頻系數(shù)。32、如權(quán)利要求31所述的方法,其中可變長度編碼之前根據(jù)游程長度編碼對所述被提取的系數(shù)編碼。33、如權(quán)利要求32所述的方法,其中所述被提取系數(shù)的游程長度編碼包括根據(jù)掃描方向來游程長度編碼一對塊的被提取系數(shù),該掃描方向為從其中的最低頻系數(shù)到最高頻系數(shù)以之字形穿過第一塊的被提取系數(shù)而前進(jìn),前進(jìn)到第二塊的被提取系數(shù)的最高頻系數(shù),從最高頻系數(shù)到最低頻系數(shù)以之字形穿過第二塊的被提取系數(shù)而前進(jìn)。34、一種存儲如權(quán)利要求28所述的數(shù)據(jù)信號的計算機(jī)可讀介質(zhì)。全文摘要本發(fā)明涉及一種為小尺寸或全尺寸播放提供獨立編碼鏈的視頻編碼系統(tǒng)。本發(fā)明的具體實施方式提供了一種根據(jù)一對編碼鏈對數(shù)據(jù)進(jìn)行編碼的編碼系統(tǒng)。第一編碼鏈產(chǎn)生可自行譯碼的編碼視頻數(shù)據(jù),以代表一個小尺寸的源視頻序列,如一個足夠支持實時播放和視頻編輯應(yīng)用程序的顯示特性的尺寸。第二編碼鏈產(chǎn)生表示補(bǔ)充數(shù)據(jù)的編碼視頻數(shù)據(jù),當(dāng)與第一編碼鏈的編碼視頻數(shù)據(jù)一起進(jìn)行譯碼時,產(chǎn)生全尺寸顯示的源視頻序列。該第一編碼鏈的輸出可以以獨立于第二編碼鏈的輸出而進(jìn)行訪問的文件結(jié)構(gòu)的形式存儲在存儲器中,因此,便于實時譯碼和播放。文檔編號G11B7/003GK101242531SQ20071009652公開日2008年8月13日申請日期2005年2月28日優(yōu)先權(quán)日2004年3月30日發(fā)明者格雷戈里·K·沃萊斯,米切爾·H·奧斯里克,過海濤申請人:蘋果電腦有限公司