新四季網

靈活冗餘編碼的製作方法

2023-08-04 21:57:21

專利名稱:靈活冗餘編碼的製作方法
技術領域:
本公開涉及數據編碼。
背景技術:
編碼系統經常提供冗餘,使得可以在存在錯誤的情況下接收並對 所發送的數據進行解碼。例如在視頻環境下,特定系統針對特定的圖 像序列提供多個編碼。這些系統還發送所有多個編碼。即使這些編碼 中的一個或多個丟失或錯誤接收,接收所發送的編碼的接收機也可以 使用冗餘編碼來正確地對特定序列進行解碼。

發明內容
根據一種實現,訪問用於確定要在通道上發送數據對象的至少一 部分的多個編碼中的哪些編碼的信息,並確定要在通道上發送的編碼 的集合。所述集合是根據所述多個編碼確定的,並且所述集合包括所 述多個編碼中的至少一個甚至可能更多個編碼。所確定的集合中編碼 的數目取決於所訪問的信息。
根據另一實現,提供用於確定要在通道上發送數據對象的多個編 碼中的哪些編碼的信息。在通道上接收編碼的集合,所述集合是根據 所述多個編碼確定的,並且所述集合包括所述多個編碼中的至少一個 甚至可能更多個編碼。集合中編碼的數目取決於所提供的信息。
在附圖和以下描述中闡述了一個或多個實現的細節。根據以下結 合附圖和權利要求考慮的詳細描述,其他方面和特徵將變得十分明顯。 然而,還應理解的是,附圖僅用於說明的目的,而並非對本發明原理 的限制的限定。還應進一步理解的是,附圖不一定是按比例繪製的, 除非另有指出,否則這些附圖僅僅旨在在概念上說明具體結構和過程。


圖l包括用於發送和接收編碼數據的系統的框圖。
圖2包括用於發送和接收編碼數據的另一系統的框圖。
圖3包括利用圖〗和2的系統來選擇編碼的過程的流程圖。
圖4包括利用圖1和2的系統來接收編碼的過程的流程圖。
圖5包括利用圖2的系統來發送編碼的過程的流程圖。
圖6包括針對N幅圖像中的每幅圖像的多個編碼的圖形表示。
圖7包括從圖6的表示中選出的編碼的圖形表示。
圖8包括利用圖2的系統對所接收的編碼進行處理的過程的流程圖。
圖9包括利用層發送和接收編碼數據的系統的框圖。
圖10包括利用圖9的系統來發送編碼的過程的流程圖。
圖11包括根據圖10的過程被排序到層中的圖6的編碼的圖形表
具體實施例方式
一種實現,涉及使用由ISO ("國際標準化組織")和MPEG ("運 動圖像專家組")標準組織公布的H.264/AVC (高級視頻編碼)標準的 視頻編碼。H.264/AVC標準描述了一種"冗餘切片(redundant slice)" 特徵,該"冗餘切片"特徵允許例如將特定圖像多次編碼,從而提供 冗餘。使用"冗餘切片"特徵,可以將特定圖像首次編碼成"主編碼 圖像"("PCP"),另外的一次或多次編碼成一個或多個"冗餘編碼圖 像"("RCP")。編碼圖像(PCP或RCP)可以包括多個切片,然而為 了簡單的目的,典型地可替換地使用這些術語,就好像編碼圖像僅包 括單個切片一樣。
上述實現提前對特定圖像進行編碼,產生一個PCP和多個RCP。 例如,當例如因用戶請求通過網際網路下載,而請求傳輸特定圖像時, 發射機訪問這些編碼圖像。例如,發射機還訪問對通向用戶的路徑上 的當前誤差率(error rate)加以描述的信息。根據當前誤差率,發射 機確定將多個RCP中的哪些RCP與PCP—起發送給用戶。例如,發射機可以確定在誤差率低的情況下僅發送一個RCP,而在誤差率高的情 況下發送所有多個RCP。
圖1示出了用於發送和接收編碼數據的系統100的框圖。系統IOO 包括編碼源110,編碼源U0通過路徑120向編輯器(compiler) 130供應 編碼。編輯器130從信源140接收信息,將編輯後的編碼流通過路徑150 提供至接收機/存儲設備160。
可以使用多種不同編碼標準或方法中的任何標準或方法來實現 系統IOO,並且系統100無需遵照任何標準。例如,源110可以是個人計 算機或者使用多種不同運動估計編碼技術或甚至分組碼(block code) 來對數據進行編碼的其他計算設備。例如,源110還可以是存儲經這樣 的計算設備編碼得到的編碼的存儲設備。然而,為了清楚和完整的進 行說明,本申請的許多內容描述了使用H.264/AVC編碼標準的具體實 現。儘管這些實現的細節和焦點有關H.264/AVC標準,然而可以想到 不使用任何標準更不用說H.264/AVC標準的其他實現。
編輯器130從源110接收針對特定數據單元的多個編碼。編輯器選 擇要發送至接收機/存儲設備160的、多個編碼中的至少一些編碼,並 對所選擇的編碼進行編輯,以將所選擇的編碼發送至接收機/存儲設備 160。在許多實現中,編輯器130響應於請求或在接收到請求之後,對 編碼進行編輯和發送。
這樣的請求可以是從例如源110、接收機/存儲設備160、或從系統 100中未示出的另一設備接收的。例如,這樣的其他設備可以包括web 伺服器,所述web伺服器列出源110上可用的編碼,並為用戶提供對所 列編碼的訪問。在這樣的實現中,web伺服器可以連接至編輯器130, 以請求將編碼發送至接收機/存儲設備160,其中用戶可以在物理上位 於所述接收機/存儲設備160處。例如,接收機/存儲設備160可以為用 戶提供用於查看所接收的編碼(例如,視頻)的高清晰顯示器、以 及用於從web伺服器選擇視頻的瀏覽器。
編輯器130還可以在無請求的情況下對編碼進行編輯和發送。例 如,編輯器130可以簡單地響應於從源110接收到編碼流,對編碼進行 編輯和發送。作為另一示例,編輯器130可以在每晚固定的時間對編碼
8進行編輯和發送,以提供每日編輯的每日新聞事件流,並且可以將流
推送至各種接受者(recipient)。
編輯器130至少部分地根據從信源140接收的信息來選擇所要編 輯和發送的編碼。所接收的信息可以涉及一種或多種不同因素,舉例 而言,這些因素包括(1)給定數據單元所期望或希望的服務質量、 或服務類型,(2)分配給給定數據單元的容量(例如,比特或帶寬), (3)到接收機/存儲設備160的路徑(亦稱通道)上的誤差率(例如, 誤比特率或誤分組率),以及(4)到接收機/存儲設備160的路徑上的 可用容量。許多因素與例如誤差率或容量等通道狀態(亦稱通道性能) 有關。例如,信源140可以是(1)監控路徑150的控制單元,(2)服 務質量管理器,對於編輯器130可以是例如本地的,或(3)包含在編 輯器130中的查找表,為不同數據單元提供目標比特率。
編輯器130可以採用不同方式來使用來自信源140的信息。例如, 如果誤差率低於閾值,則編輯器可以確定針對給定的數據單元僅編輯 和發送一半的可用編碼。相反,如果誤差率等於或高於閾值,則編輯 器可以確定針對特定的數據單元編輯和發送所有可用編碼。
例如,接收機/存儲設備160可以是能夠接收由編輯器130發送的、 編輯後的編碼的任何設備。例如,接收機/存儲設備160可以包括各種 一般的可用存儲設備中的一種或多種,舉例而言,各種一般的可用存 儲設備包括硬碟、伺服器磁碟、或可攜式存儲設備。在不同實現中, 在編輯之後將編輯後的編碼直接發送至存儲設備,用於隨後的顯示或 進一步的傳輸。例如,接收機/存儲設備160還可以是能夠接收編碼數 據和處理編碼數據的計算設備。例如,這樣的計算設備可以包括機 頂盒、編碼器、解碼器、或編解碼器。例如,這樣的計算設備還可以 是諸如電視之類的視頻顯示設備的一部分或包括諸如電視之類的視頻 顯示設備。這樣的接收機可以被設計用於接收根據具體標準發送的數 據。
圖2示出了用於發送和接收編碼數據的系統200的框圖。系統200 與系統100的具體實現相對應。系統200包括兩個可能的編碼源,編碼 器210a和存儲器210b。這兩個編碼源都通過路徑220連接至編輯器230,並且編輯器230還通過路徑250連接至接收機260。路徑220和250類似於路徑120和150。
編碼器210a接收輸入視頻序列,編碼器210a包括主編碼器212和冗餘編碼器214。主編碼器212針對輸入視頻序列中的每幅圖像(或其他數據單元)創建主編碼,冗餘編碼器214針對輸入視頻序列中的每幅圖像創建一個或多個冗餘編碼。值得注意的是,圖像可以包括例如場或幀。編碼器210a還包括復用器216,復用器216接收並復用每幅圖像的主編碼和一個或多個冗餘編碼。復用器216從而創建出輸入視頻序列的編碼的復用流或信號。將復用流提供給存儲器210b和/或復用器230。
編輯器230從編碼器210a和/或存儲器210b接收編碼流。編輯器230包括串聯的解析器(parser) 232、選擇器234、複製器(duplicator)236、以及復用器238。解析器232還與控制單元231連接,並且直接與復用器238連接。此外,選擇器234具有連接至複製器236的兩個連接,包括流連接234a和控制連接234b。與編輯器130類似,編輯器230選擇要發送至接收機260的、多個編碼中的至少一些編碼,並對所選擇的編碼進行編輯,以將所選擇的編碼發送至接收機260。此外,編輯器230至少部分地根據從接收機260接收的信息來進行選擇。
控制單元231接收發送一個或多個編碼的請求。這樣的請求可以來自於例如編碼器210a、接收機260、或系統200中未示出的設備。例如,這樣的設備可以包括如前所述的web伺服器。例如,控制單元231可以通過路徑220接收來自編碼器210a的請求,或者可以通過路徑250接收來自接收機260的請求,或者可以接收源自如前所述的定時事件(timed event)的自發請求。 一旦接收到請求,控制單元231就將請求傳遞至解析器232,並且解析器232從編碼器210a或存儲器210b請求相應的編碼流。
系統200的實現無需提供請求或使用控制單元231。例如,解析器232可以簡單地在接收到來自編碼器210的編碼流時對編碼進行編輯和發送。
解析器232接收來自編碼器210a的流,並將所接收的流分成針對主編碼的子流和針對冗餘編碼的子流。將冗餘編碼提供給選擇器234。選擇器234還從接收機260接收描述路徑250當前狀態的信息。根據從接收機260接收的信息,選擇器234確定將哪些冗餘編碼包含在將要被發送至接收機260的編碼流中。將所選擇的冗餘編碼從選擇器234通過流連接234a輸出至複製器236,,並且不發送未選擇的冗餘編碼。
在一實現中,選擇器234從接收機260接收指示路徑250上的可用容量的信息,選擇器234選擇所有冗餘編碼直到容量用盡為止。例如,所述信息可以指示路徑250當前具有2Mbps (兆比特/秒)的容量。例如,由於其他編輯器(未示出)可變地使用路徑容量的緣故,所述容量是可變的。例如,假定編輯器230將lMbps專用於主編碼,那麼選擇器234可以將剩餘的lMbps專用於冗餘編碼。此外,那麼選擇器234可以選擇冗餘編碼直到lMbps帶寬填滿為止。例如,為了填滿lMbps的帶寬,在時分多址方案中,選擇器234可以為冗餘編碼分配4個時隙,其中,給予每個時隙250kbps。
選擇器234還可以將特定的冗餘編碼選擇兩次。例如,假定針對冗餘編碼為給定圖像分配了lMbps,並且該特定圖像僅具有帶寬需求為1200kbps和500kbps的兩個冗餘編碼。選擇器234可以確定應該將第二冗餘編碼發送兩次以使用整個lMpbs。為此,選擇器234通過流連接234a將流中的第二冗餘編碼發送至複製器236,還通過控制連接234b將控制信號發送至複製器236。控制信號指示複製器236複製第二冗餘編碼,並將所複製的編碼包含在複製器236發送給復用器238的流中。
接收機260包括與通道信源264連接的數據接收機262。數據接收機262經由路徑250接收從編輯器230發送的編碼流,並且數據接收機262可以執行多種功能。例如,這樣的功能可以包括對編碼進行解碼、以及顯示解碼後的視頻序列。數據接收機262的另一功能是,確定要提供給通道信源264的通道信息。從數據接收機262提供給通道信源264的通道信息指示路徑250的當前狀態。例如,該信息可以包括諸如誤比特率或誤分組率之類的誤差率、或諸如正在使用的數據速率或仍然可用的數據速率之類的容量利用(capacity utilization)。如前所述,通道信源264將該信息提供給選擇器234。通道信源264可以通過路徑250或通過諸如非常規通道(back-channel)或輔助通道之類的另一路徑提
ii供該信息。
系統200不針對任何特定的編碼算法,更不用說完整的標準。然
而,系統200可以適用於H.264/AVC標準。例如,在一個這樣的實現中,通過使主編碼器212適於創建PCP以及使冗餘編碼器214適於創建RCP,使編碼器210a適於充當H.264/AVC編碼器。此外,在該實現中,解析器232適於將PCP解析成直接發送至復用器238的子流,並將RCP解析成發送至選擇器234的子流。此外,在所述實現中,除了提供通道信息以外,接收機260還適於充當H.264/AVC解碼器。
圖3和4示出了使用系統100和200的過程的流程圖。下面將簡要描述這些流程圖,然後將結合其他附圖更詳細地闡釋各個方面。
圖3示出了描述過程300的流程圖,所述過程300可以由系統100和200中的每一個系統執行。過程300包括接收在通道上發送數據對象的至少一部分的一個或多個編碼的請求(305)。例如,在系統100中,編輯器130可以接收向接收機/存儲設備160發送編碼的請求。在另一示例中,在系統200中,編輯器230的控制單元231可以接收向接收機260發送編碼的請求。 '
過程300還包括訪問用於確定或選擇要在通道上發送數據對象的至少一部分的多個編碼中的哪些編碼的信息(310)。典型地,當在操作305中接收到請求之後訪問信息,並且可以響應於接收到請求來訪問信息。例如,在系統100中,編輯器130訪問由信源140提供的信息,並且在系統200中,選擇器234訪問由通道信源264提供的信息。
過程300還包括基於所訪問的信息,確定要在通道上發送的多個編碼的集合(320)。所述集合是根據多個編碼確定的,包括多個編碼中的至少一個編碼甚至可能更多個編碼。此外,集合中編碼的數目取決於所訪問的信息。例如,在系統100中,編輯器130選擇要在路徑150上發送編碼中的哪些編碼,所選擇的編碼的量取決於所訪問的信息。作為另一示例,在系統200中,選擇器234選擇要在路徑250上發送冗餘編碼中的哪些編碼,所選擇的量取決於所訪問的通道信息。在許多實現中,所述量至少是2。然而在其他實現中所述量可以是0或1。
例如,編輯器130可以包括數據伺服器、個人計算機、web服務
12器、視頻伺服器、或視頻編碼器。在許多實現中,編輯器130的不同部分執行過程300的不同的操作,其中所述不同部分包括執行特定操作所需的硬體和軟體指令。因此,例如,視頻伺服器的第一部分可以接收
請求(305),視頻伺服器的第二部分可以訪問信息(310),數據伺服器的第三部分可以確定所要發送的編碼的集合(320)。
圖4示出了描述過程400的流程圖,過程400可以由系統100和200中的每一個系統來執行。過程400包括提供信息用於確定要在通道上發送數據對象的至少一部分的多個編碼中的哪些編碼的信息(410)。例如,在系統100中,信源140向編輯器130提供這樣的信息,在系統200中,通道信源264向選擇器234提供這樣的信息。
過程400還包括通過通道來接收數據對象的至少一部分的編碼的集合(420)。所述編碼集合包括;多個編碼中的至少一個甚至可能更多個編碼。此外,集合中編碼的數目取決於操作410中提供的信息。例如,在系統100中,接收機/存儲設備160通過路徑150來接收由編輯器130確定並發送的編碼集合。此外,編輯器130根據從信源140接收的信息來選擇集合中的編碼。作為另一示例,在系統200中,接收機260通過路徑250來接收由編輯器230選擇並發送的集合中一定量的編碼。此外,編輯器230給予從通道信源264接收的信息,確定要包含在集合中的編碼。
圖5和8示出了使用系統200的其他過程。圖6-7示出了將結合圖5和8加以闡釋的圖。
圖5示出了描述過程500的流程圖,所述過程500可以由系統200執行。過程500包括對數據單元中每幅圖像(例如圖像組("GOP")或僅僅單幅圖像的多個編碼進行編碼(510)。在系統200中,編碼器210a使用主編碼器212和冗餘編碼器214針對數據單元中的每幅圖像創建多個編碼。圖6示出了多個編碼的示例。
圖6包括針對N幅圖像中每幅圖像的多個編碼的圖形表示600。可以根據H.264/AVC標準來創建編碼,以生成PCP和RCP。對於每幅圖像,示出了一個PCP和多個RCP。具體地,所示PCP包括PCP 1 (605)、PCP2(610)禾口PCPN(615)。此夕卜,所示RCP包括(1 )與PCP 1 (605)相對應的RCPl.l (620)和RCP 1.2 (625); (2)與PCP2 (610)相對應的RCP2.1 (630)、 RCP2.2 (635)、 RCP2.3 (640)禾口RCP2,4 (645);以及(3)與PCPN (615)相對應的RCPN.l (650)、 RCPN.2 (655)和RCP N.3 (660)。可以使用多種編碼技術中的一種或多種來創建編碼圖像。
圖形表示600中所示的多個編碼以及許多其他實現中的編碼是源編碼。與通道編碼相比,源編碼是對正在編碼的數據加以壓縮的編碼,所述通道編碼是添加典型地用於糾錯或檢錯的附加信息的編碼。因此,在針對給定圖像發送多個源編碼的實現中,多個源編碼提供源編碼冗餘。例如,當使用伴隨此處討論的眾多視頻傳輸實現一起出現的有損通道時,冗餘是有價值的。
過程500還包括,存儲多個編碼(520)。例如可以將編碼存儲在多種存儲設備中的任何存儲設備上。如同過程500中的許多操作以及本申請公開的其他處理一樣,操作520是可選的。在過程500中,存儲是可選的,這是因為例如在其他實現中,在創建了多個編碼之後由例如編輯器直接處理所述多個編碼。在系統200中,可以將多個編碼存儲在存儲器210b中。
過程500包括接收發送數據單元中的圖像(或多幅圖像)的編碼的請求(530)。在系統200中,如前所述,可以由控制單元231來接
收發送編碼的請求。
過程500包括訪問用於確定要在路徑250上發送數據單元中的圖像(或多幅圖像)的多個準備好的編碼中的哪些編碼的通道信息(540)。過程500還包括確定要在路徑250上發送的編碼的集合,其中所確定的集合包括多個編碼中的至少一個甚至可能更多個編碼,集合中編碼的數目取決於所訪問的通道信息(550)。操作540和550與過程330中的操作310和320類似,並且例如在以上對操作310和320的討論中己說明了系統200對操作310和320的執行。然而,將使用圖7來提供進一步的說明。
圖7包括針對N幅圖像中每幅圖像的所選編碼的圖形表示700。所選編碼是從圖形表示600所示的編碼中選擇的。如圖形表示700所示,
14選擇了所有的PCP。 g卩,選擇了PCP 1 (605)、 PCP2 (610)禾口PCPN(615)。然而,並未選擇圖形表示600中所有的可用RCP。具體而言,
(1) 針對PCP 1 (605),選擇RCPl.l (620)而不選擇RCP 1.2 (625);
(2) 針對PCP2 (610),選擇RCP 2.1 (630)和RCP 2.2 (635)而不選擇RCP2.3 (640)禾口RCP2.4 (645);以及(3)針對PCPN (615),選擇RCPN.l (650)和RCPN.2 (655)而不選擇RCP N.3 (660)。此外,將RCP 2.1 (630)選擇兩次,使得RCP 2.1 (630)將在最終的復用編碼流中出現兩次。利用圖形表示700中的參考數字730a和730b來表示RCP2.1 (630)的兩次選擇。
圖7示出了作為一示例的選擇過程的結果,然而圖7沒有說明為什麼選擇某些編碼而未選擇其他編碼。可以使用多種標準來確定要選擇哪些可能的編碼。例如,可以按照針對給定圖像的接收順序來選擇編碼,直到使用了該圖像的比特約束(bit constraint)為止。作為另一示例,可以針對每個編碼計算失真度量(metric)值,並且可以選擇失真值在特定閾值以下的所有編碼。附錄A描述了針對另一實現的選擇過程。
過程500還包括發送所選編碼(560)。如前所述,例如可以將編碼發送至存儲設備或處理設備。在系統200中,編輯器230通過路徑250從復用器238向接收機260發送復用後的編碼流。許多實現通過形成包括所選編碼的流來發送編碼。
應當清楚的是,對於不同圖像,所提供的源編碼冗餘量可以改變。例如,源編碼冗餘量可以因所選擇的源編碼的不同數目而改變。針對不同圖像,可以選擇不同數目的源編碼,舉例而言,這是因為不同圖像的源編碼具有不同大小,或者對於不同圖像所訪問的信息不同。
圖8示出了描述過程800的流程圖,所述過程800可以由系統200的接收機260執行。過程800包括確定用於確定要在通道上發送多個編碼中的哪些編碼的通道信息(810),然後提供所述信息(820)。在系統200中,數據接收機262確定指示通道當前狀態的通道信息,並將該通道信息提供給通道信源264。然後,通道信源264將通道信息提供給選擇器234。過程800的操作820類似於過程400的操作410。過程800還包括通過通道接收編碼的集合或一定量的編碼 (830)。所述集合包括多個編碼中的一個甚至可能更多個編碼。先根 據所提供的通道信息選擇集合中一定量的編碼,然後在通道上發送所
述一定量的編碼。過程800的操作830類似於過程400的操作420,並且 在對操作420的討論中提供了執行操作420的系統200的示例。過程800 還包括對接收到的編碼進行處理(840)。處理的示例包括對編碼 進行解碼、顯示解碼後的編碼、以及將所接收的編碼或解碼後的編碼 發送至另一目的地。
在一實現中,系統200遵循H.264/AVC標準。H.264/AVC標準定義 了被稱為"redundant_pic—count"的變量,該變量對於PCP為零,對於 RCP非零。此外,對於與給定PCP相關聯的每個RCP,該變量遞增。 因此,接收機260能夠針對每幅圖像確定特定的所接收的編碼是RCP 還是PCP 。對於每幅圖像,接收機260於是可以以變量 "redundant_pk—count"的最小值來對編碼進行解碼和顯示。然而,其
他實現可以合併無誤接收的多個編碼圖像。
圖9-ll涉及將編碼組織成層,並提供容錯(enw resilience)的另 一實現。圖9示出了系統900的框圖,系統900包括為編輯器930提供 編碼的編碼器910a、以及為接收機960提供編輯後的編碼的編輯器930。 系統900還包括信源140。系統900的結構和操作很大程度上類似於系統 200的結構和操作,其中,相應的參考數字通常具有至少一些相應的功 能。因此,沒有必要重複說明相同的特徵,以下對系統900的描述集中 於同系統200的差異。
編碼器910a包括主編碼器212和冗餘編碼器214。編碼器910a還 包括失真發生器915,從冗餘編碼器214接收編碼,針對每個編碼產 生失真度量值,並向排序單元917提供每個編碼以及針對每個編碼的失 真值。排序單元917基於所產生的失真值對編碼進行排序,並將已排序 的編碼提供給復用器916。復用器916與復用器216類似,將已排序的冗 餘編碼和主編碼復用成被提供給編輯器930的輸出流。
編輯器930包括控制單元231,控制單元231與向層單元937和復用 器938提供輸入的解析器932相連接。層單元937還向復用器928提供輸
16入。編輯器930接收來自編碼器910a的編碼流,並將編輯後的編碼流提 供給接收機960。
解析器932與解析器232類似,並將所接收的流分離為直接提供 給復用器938的主編碼、以及提供給層單元937的輔編碼。更具體地, 解析器932將所接收的流分離為針對主編碼的基本層和針對冗餘編碼 的子流。解析器932將基本層提供給復用器938,並將冗餘編碼的子流 提供給層單元937。
層單元937接收的冗餘編碼的子流包括已經由排序單元917排好 序的冗餘編碼。層單元937將冗餘編碼的子流分離為被稱為增強層的一 層或多層,並根據需要將增強層提供給復用器938。如圖9所示,層單 元937具有"n"個輸出937a-937n,每個輸出對應一個增強層。如果實 現僅需要一個增強層,那麼對於增強層,層單元937僅需要一個輸出, 並且在輸出937a上提供單個增強層。然而,系統可以包括多個輸出 937a-n,為可能需要不同數目的層的各種實現提供靈活性。
層單元937還接收來自信源140的輸入,並以類似於編輯器130使 用來自信源140的信息的所述方式以及選擇器234使用來自通道信源 264的通道信息的方式,使用來自信源140的輸入。具體地,層單元937 可以使用來自信源140的信息來確定要創建多少增強層。
編輯器930的若干實現對離散的圖像集合進行操作。例如, 一個 視頻實現對GOP進行操作。在該實現中,解析器932針對每個GOP向復 用器938提供單獨的基本層,並且層單元937針對每個GOP提供單獨的 增強層。
接收機960通常類似於接收機160,且包括從復用器938接收復用 流的數據接收機962。數據接收機962類似於接收機262,可以執行多種 功能。例如,這樣的功能可以包括對編碼進行解碼、以及顯示或將 解碼後的編碼提供給終端用戶。
系統900不針對任何特定的編碼算法,更不用說完整的標準。然 而,系統900可以適用於H.264/AVC標準。例如,在一個這樣的實現中, 通過使主編碼器212適於創建PCP以及使冗餘編碼器214適於創建 RCP,可以使編碼器910a適於充當H.264/AVC編碼器。此外,解析器932適於將PCP解析為直接發送至復用器938的子流,並將RCP解析為 發送至層單元937的子流。此外,接收機960適於充當H.264/AVC解碼器。
圖10提供了用於在視頻環境下作業系統900的過程1000的實現的 流程圖。過程1000包括針對視頻序列中的每幅圖像,對多個編碼進 行編碼,所述多個編碼包括主編碼和一個或多個冗餘編碼(1010)。 操作1010類似於過程500中的操作510。在圖9中,主編碼器212和冗餘 編碼器214可以創建用於操作1010的編碼。在一實現中,所創建的編碼 可以包括圖形表示600所示的編碼。
過程1000包括產生或確定針對每個冗餘編碼的失真度量的值 (1020)。例如,失真度量可以是用於根據對質量的某種度量來排列編 碼的任何度量或計量。針對每個給定的編碼而確定的一個這樣的計量 是給定編碼與原始圖像之間的均方誤差("MSE")。另一種這樣的計 量是給定編碼的峰值信噪比("PSNR")。在許多實現中,MSE是在解 碼後的圖像與原始圖像間計算得到的,並且典型地在圖像組上對MSE 求平均以產生被稱作平均MSE的度量。眾所周知,在許多實現中,根 據MSE將針對該編碼的PSNR計算為該編碼的MSE的對數函數。眾所 周知,可以通過求和和除法(summing and dividing)對編碼集合的 PSNR集合求平均,以產生平均PSNR。然而,可選地,通過使用用於 計算獨立編碼的PSNR的相同的對數函數,可以根據平均MSE來直接 計算平均PSNR。平均PSNR的可選計算方式更側重於具有較大失真的 解碼圖像,這種側重往往更精確地反映由查看解碼圖像的終端用戶感 知到的質量變化。還可以使用其他失真度量。
過程1000包括基於針對每個編碼產生的失真值,對編碼進行排 序(1030),以及將己排序的編碼組織成層(1035)。排序單元917可以 執行排序和分層功能。在一實現中,通過重排冗餘編碼,使得這些編 碼按照失真值遞增的順序排列(預計越高的失真值導致質量越差的解 碼),來實現排序。例如,所述重排可以是物理重排或邏輯重排。例如, 邏輯重排包括根據編碼創建鍊表(linked list),使層中的每個編碼 指向其層中的下一編碼。此外,可以通過將特定數目的比特分配給冗餘編碼的每一層,然 後利用己排序的編碼填充這些層,使得在繼續填充下一層之前每一層 都被填充,來實現分層。在另一實現中,可以通過根據失真度量的值 將編碼流分成層,從而實現分層。例如,可以將失真值位於特定端點 之間的所有冗餘編碼放入公共層中。
圖11提供了在已根據過程1000的實現將編碼排序到多層中後,來 自於圖形表示600的編碼的圖形表示1100。具體地,圖形表示1100示出
了已經將編碼組織成4層,包括基本層1110、增強層l 1120、增強層
2 1130、以及增強層3 1140。
基本層1110包括針對給定GOP的所有PCP。所示PCP是PCP 1 (605)、 PCP2 (610)禾口PCPN (615)。增強層l 1120是冗餘編碼的第
一層,包括RCP 1,1 (620)、 RCP 2.1 (630)、 RCP 2.2 (635)以及
RCPN.l (650)。增強層2 1130是冗餘編碼的第二層,包括RCP 2.3 (640)、 RCP2.4 (645)禾口RCPN.2 (655)。增強層3 1130是冗餘編碼
的第三層,包括RCP 1.2 (625)和RCPN.3 (660)。在該實現中,按照
失真值遞增的順序組織增強層,使"更好的"冗餘編碼被包含在較早
的增強層中。
再次參考附錄A,附錄A示出了根據失真值來選擇編碼的實現。 例如,該實現可以擴展為在整個GOP中對編碼的集合進行排序,而不 是僅對針對給定圖像的編碼集合進行排序。在這樣的擴展中,相對於 整個GOP而不是單幅圖像來確定失真減小的期望值,並且針對GOP的 所有編碼而不是僅僅單幅圖像的編碼,使失真減小的期望值最優化。 還應注意到的,在附錄A中,序列的失真的期望值取決於針對序列中 的獨立編碼計算得到的失真值。
過程1000包括存儲編碼和失真值(1040)。該操作如同過程1000 中的許多操作一樣是可選的。操作1040類似於過程500中的操作520。 例如,實現可以獲取先前存儲的編碼。相反,實現可以接收當前產生 的編碼。
過程1000包括接收發送針對特定圖像的一個或多個編碼的請求 (1050)。過程1000還包括訪問用於確定要針對特定圖像發送的編碼的信息(1060);基於所訪問的信息,確定所要發送的最後的編碼
(1070);以及發送所選擇的編碼(1080)。操作1050、 1060、 1070和 1080分別類似於過程500中的操作530-560。
在一實現中,在操作1060中,使用從信源140訪問到的信息確定 有多少比特可以用來發送給定圖像的編碼。由於己將冗餘編碼按照它 們的失真值進行了排序,因此假定順序表示要選擇和要發送哪些冗餘 編碼的偏好。因此,對於給定圖像,選擇主編碼,並將所述主編碼包 含在所要發送的編碼的集合中,並且按順序選擇所有冗餘編碼,直到 用完可用數目的比特為止。可能出現的情況是,對於給定圖像,可能 剩下一些未被所選編碼所使用的比特,然而那些剩下的比特不足以發 送針對給定圖像的、已排序的編碼集合中的下一編碼。 一種解決這種 情況的方法是上捨入(roundup)或下捨入(round down),有效地判 斷將額外的比特分配給下一圖像的編碼,或從下一圖像的編碼中取出 一些比特。因此,在該實現中,通過確定有多少比特可用,然後在確 定的比特值處終止已排序的編碼流(可能是上捨入或下捨入),來選擇 編碼。因此,通過選擇在其所在位置終止流的編碼,來選擇編碼的量。 即,通過選擇所要發送的"最後(last)"編碼來選擇編碼的量。所選 擇的編碼被包含在所要發送的編碼集合中。
在上述實現中,還可以通過簡單地選擇要發送多少層來實現確定 所要發送的最後的編碼的操作(1070)。例如,如果實現己經確定了用 於發送給定圖像的編碼的比特數,那麼過程可以在所確定的比特值所 在的層的末尾終止已排序的編碼流。因此,如果基本層和每個增強層 需要1000比特,並且從信源140訪問到的信息表明有2700比特是可用 的,那麼一實現選擇基本層和前兩個增強層來發送。由於將使用3000 比特,所以該實現還可以從下一圖像的比特分配中減去300比特。
在上述實現中,如同許多實現一樣,可以使用多個切片對給定RCP 進行編碼。在典型的實現中,所有這些切片將被放入同一層中,以確 保發送針對該RCP的所有切片(或不發送針對該RCP的切片)。然而, 在某一實現中,不將針對給定RCP的所有切片放入同一層中。
在另一實現中,僅在選擇要發送哪些編碼(1070)之後將編碼組
20織成層(1035)。例如,在系統900中,層單元937可以將編碼組織成層。 由於從信源140訪問的信息可以用於確定層的大小,該實現可以提供靈 活性的優勢。此外,層單元937還可以產生針對編碼的失真值並執行排 序。通過在層單元937中產生失真值,層單元937可以具有,已訪問了 來自信源140的信息的優勢。例如,所訪問的信息可以允許層單元937 產生考慮到可以發送的可用比特(或層、或編碼)數的失真值。
過程1000的實現還可以為編碼流提供容錯可縮放性(scalability)。 為了提供容錯可縮放性,希望隨著流中編碼數目的提高,流的容錯能 力遞增。即,發送的編碼越多,誤差(或例如失真)度量的期望值就 越小。考慮視頻環境,具體而言H.264/AVC實現, 一個具體的容錯可 縮放實現首先發送針對GOP圖像的PCP,然後發送RCP。隨著發送的 編碼越來越多(首先發送PCP然後發送RCP), GOP容錯能力提高,這 是因為所述實現具有更高的正確解碼GOP的可能性。此外,如果己經 根據遞增的失真值對編碼進行了排序,則針對任何給定圖像所選擇的 編碼串對於所使用的比特率而言可以是最優的或接近最優的。應當清 楚的是,可以在存在或不存在層的情況下提供容錯可縮放性。
系統900還可以被修改為,可以通過選擇模式使多種操作成為可 選的。例如,用戶可以指示不需要失真值,系統可以禁用失真發生器 915和排序單元917。用戶還可以指出不需要分層,系統可以使層單元 937充當選擇器234和複製器236。此外,還應清楚的是,在一實現中, 例如通過使用啟用或禁用針對於系統200或系統900的各種特徵的開 關,可以使系統充當例如系統200或系統900。
還應清楚的是,例如,可以在層單元937中實現複製器236的功能, 使得可以複製特定編碼並將其包含在層中。例如,如果在選擇了層之 後存在未用過的比特,則可以通過複製一個或多個編碼來擴展上一 (last)層。
許多實現遵循H.264/AVC標準,但是不需要所有實現都遵循 H.264/AVC標準或任何其他標準。此外,使用與H.264/AVC標準有關的 術語(例如"主編碼圖像"、"冗餘編碼圖像"以及"冗餘切片")描述 了許多實現。然而,使用這樣的術語並不意味著實現遵循或需要遵循H.264/AVC標準。那些術語是在一般意義下使用的,與H.264/AVC標準 無關,並且不具體體現H.264/AVC標準或任何其他標準。此外,那些 術語可以與包括未來標準在內的其他標準一起使用,並且實現旨在與 所有這樣的標準一同應用。
實現還可以通過訪問來自信源140的信息,然後產生期望的編碼 而不是在準備好的編碼當中進行選擇的方式工作。這些實現可以具有 例如在滿足特殊的比特率約束方面更為靈活的優勢。
如前所述,許多實現確定所要發送的編碼的集合,其中,所述確 定取決於所訪問的信息。在許多實現中,確定集合將等效於選擇編碼 的量,其中,所述確定取決於所訪問的信息,所述量取決於所訪問的 信息。然而,可以存在其中兩種特徵有所不同的實現。此外,在訪問 用於選擇要在通道上發送多個編碼中的哪些編碼的信息的實現中,可 以響應於在通道上發送數據對象的至少一部分的一個或多個編碼的請 求,來訪問信息。
可以針對(取代失真,或除失真外的)多種不同因素,使實現最
優化。例如,這樣的其他因素包括通過給定通道以給定質量發送數 據的開銷。
如果路徑(例如,路徑IIO)沒有中間(intervening)元件,則路 徑可以是直接路徑,或者在支持中間元件的情況下路徑可以是間接路 徑。如果說兩個元件是"耦合的",則兩個元件可以是直接或間接地耦 合的或連接的。此外,例如,當通過各種路由器和中繼器將兩個元件 跨自由空間地通信耦合(例如,兩個蜂窩電話),耦合無需是物理上的稱合。
這裡所描述的各種過程和特徵的實現可以體現在多種不同的設 備或應用中,具體而言,例如與視頻傳輸有關的設備或應用。設備的 示例包括視頻編解碼器、web伺服器、蜂窩電話、可攜式數字助理 ("PDA")、機頂盒、膝上型計算機、以及個人計算機。根據這些示例 應當了解的是,可以通過包括例如無線或有線路徑、網際網路、有線電 視線、電話線、以及乙太網連接在內的多種路徑來發送編碼。
即使以上並未參考特定方式或僅使用一種方式進行描述,也可以採用多種方式中的一種或多種方式來實現各個方面、實現以及特徵。 例如,可以使用例如(1)方法(亦稱過程)、(2)設備、(3)用於執 行方法的設備或處理設備、(4)用於執行一個或多個方法的程序或其
他指令集、(5)包括程序或指令集的設備、以及(6)計算機可讀介質
中的一種或多種來實現所述各個方面、實現以及特徵。
例如,設備可以包括分立的或集成的硬體、固件和軟體。例如, 設備可以包括一般被稱為處理設備的處理器,所述處理器包括例如微 處理器、集成電路或可編程邏輯設備。作為另一示例,設備可以包括 一個或多個計算機可讀介質,所述計算機可讀介質具有用於實施一個 或多個處理的指令。
例如,計算機可讀介質可以包括軟體載體或諸如硬碟、緊緻盤
(compact diskette)、隨機存取存儲器("RAM")、或只讀存儲器 ("ROM")等其他存儲設備。例如,計算機可讀介質還可以包括經 格式化的電磁波編碼或發送指令。指令可以存在於硬體、固件、軟體、 或電磁波中。例如,可以在作業系統、單獨的應用程式、或二者結合 中找到指令。因此,舉例而言,處理器可以被表徵為,用於實施處理 的設備以及包括計算機可讀介質的設備,所述計算機可讀介質具有用 於實施處理的指令。
已描述了多個實現。然而,應理解的是,可以進行各種修改。例 如,可以對不同實現的元件進行組合、補充、修改、或去除,以產生 其他實現。此外,本領域技術人員將理解,可以將可以用其他結構和 過程來代替所公開的結構和過程,並且得到的實現以至少實質上相同 的方式執行至少實質上相同的功能,從而得到了至少與所公開的實現 實質上相同的結果。因此,可以根據該應用想到上述和其他實現,並 且所述上述和其他實現屬於以下權利要求的範圍。
23附錄A 冗餘切片選擇的實現
假定當產生預編碼比特流時,針對每幅輸入圖像編碼多幅冗餘圖 像,以提供不同的容錯能力和比特率的折中。因此,對於給定的通道 丟失率(lossmte)和比特率約束,可以選擇包含在最終比特流中的冗 餘切片的集合,從而使其容錯能力最大化。
可以將所接收的視頻的失真分成兩部分由壓縮引起的源失真、 以及由傳輸期間的切片丟失引起的通道失真。僅在沒有正確接收冗餘 切片的相應主切片時使用所述冗餘切片。因此,冗餘切片僅影響通道 失真。
假定輸入視頻序列具有N幅圖像,並且對於圖像n,在預編碼比特 流中存在Kn個不同的冗餘切片。通過將針對圖像n的冗餘集合Sn包含在 最終比特流中,可以減小圖像的期望通道失真,將失真減小量表示為 E[ADn]。值得注意的是,使針對圖像n的通道失真最小化等價於使 E[ADn]最大化。
假定對於每幅圖像n, E[ADn]近似於非相關。冗餘切片選擇的目
標可以被寫為
max t £[AAJ s.t, X《閉^ _玄《閉 (1 )
rt=l W=l /7=1
在上式中,RT是給定的速率約束,《^)和《^)分別是針對圖像n 的主切片和冗餘切片的速率。此外,對於給定的切片丟失率P, £[AZ)J 可以被表示為
可Ai)》藝^AD二]
(2)
=2>'(!—p)(《cp)—
/=,
其中,E[AD二]是由包括來自Sn的第i個冗餘切片帶來的期望失真減 小。此外,"^)是在主切片丟失並且S。為空集時招致的失真。類似地, "f)是在正確對Sn中第i個編碼冗餘切片進行了解碼,而丟失了主切片
24以及集合中所包含的第l至第(i-l)個冗餘切片時招致的失真。
直接解由方程(1)和(2)提出的最優化問題可能是很困難的。
取而代之,開發了一種低複雜度的貪婪(greedy)搜索算法。類似於 其他基於貪婪的算法,在每個步驟,算法根據失真減小與速率開銷 (rate cost)的比率來選擇最佳冗餘切片,直到耗盡給定比特率為止。 在選擇了冗餘切片之後,算法將其作為新元素添加到集合中,或者如 果所述新的冗餘切片產生更大的期望失真減小,就將集合中已有的冗 餘切片替換成新的冗餘切片。
令P為針對圖像n的集合Sn的位置i的候選冗餘切片。將該冗餘切片 的比特率表示為《7),並且該冗餘切片的相應E[AD二]可以被計算為方
程(2)中的一項。對於每個集合Sn,分配計數器c來記錄已經包含的
冗餘切片的數目。最終,將分配給所有冗餘切片的總比特率表示為 《w)。以下列出了算法的詳細步驟。
1. 初始化V^[1,AA],將Sn設置為空,並將其c設置為0。將/ 嚴P)
2. 針對所有集合Sn (V e[l,iV]),在位置/ (/^c,c + l)且iX))處,
選擇在這些位置處的所有候選切片當中具有最大的^[A^]與《;r)之比
的冗餘切片P。
3. 如果《7、i 嚴",則排除切片P作為Sn的位置i的候選切片。轉
移至步驟6。
4a.如果1==0+1,則在Sn的位置i包含P,並且排除P作為該位置的
候選切片。將C設置為i,並將/^c"更新為i "cP)—《,。。
4b.否則,如果(i==C),這意味著Sn的位置i已被另一切片P'佔
用,貝IJ
1) 如果E[A"],〉E[AD:]p,,則在該位置將P'替換成P。將/^")更新
2) 排除P作為該位置的候選切片。
5.如果存在另一可用的候選冗餘切片,則轉移至步驟2;否則退 出,並且(&,Vne[l,A^包含針對最終比特流的所選冗餘切片的集合。為了有助於闡明上述算法的操作,提供了以下示例,在該示例中,
僅需要填充單個集合。在第一輪(round)中,算法評估集合的位置l
的候選切片。值得注意的是,針對所有位置的候選切片是相同的。
在第一輪期間,將假定在步驟2中選擇了還滿足步驟3的候選切 片。然後嘗試性地用該候選切片來填充位置l。
然後,算法進行至第二輪,在所述第二輪中同時對集合的位置l 和位置2進行評估。與第一輪不同,第二輪可以包含多遍執行(multiple passes)整個算法。在第二輪中,算法在步驟2中確定具有最佳比率的 候選切片。在確定最佳比率時,算法評估(1)針對位置l的基於失真 減小的期望值的所有候選切片(除了針對位置l嘗試性選擇的候選切片 之外),以及(2)針對位置2的基於失真減小的期望值的所有候選切片。 在步驟2中,從這"兩個"候選切片集合中選擇最佳候選切片。所選擇 的候選切片可以是針對位置1或位置2的。這樣就完成了第二輪的第一 遍執行。
如果新選擇的候選切片再次針對位置l,則在步驟4b中,將第一 輪中選擇的候選切片的失真減小的期望值與第二輪(第一遍執行)中 選擇的候選切片的失真減小的期望值進行比較。針對位置l,嘗試性地 選擇具有較高(較佳)值的候選切片,從而可以替換在第一輪中嘗試 性選擇的候選切片。此外,通過第二遍執行整個算法,繼續進行第二 輪。在第二遍執行中,算法(在步驟2中)評估以下候選切片的比率 (1)針對位置l的基於失真減小的期望值的所有候選切片(除了針對 位置l的兩個先前選擇的候選切片以外)、以及(2)針對位置2的基於 失真減小的期望值的所有候選切片。應當清楚的是,第二輪可能需要 許執行多遍整個算法。在執行每遍整個算法時,在對位置l的比率評估 的進一步考慮中,不再考慮最近選擇的候選切片(針對位置l)和所有 其他先前選擇的候選切片(針對位置l)。
然而,只要從第二輪中任意一遍執行中新選擇的候選切片是針對 位置2的,就利用新選擇的候選切片嘗試性地填充位置2。由於(無論
是在第一輪期間還是在第二輪期間選擇的)候選切片將不會遭到另外 的替換,還認為填充了位置l。接著,算法進行至第三輪,在所述第三
26輪中同時評估位置2和位置3 。
通常每幅圖像可以在該圖像丟失時對解碼後序列的通道失真造 成不同的影響。利用所提出的算法,^A"]與^f)之比或^[A^]值更
大的那些圖像佔用更多的位置,因而為它們的冗餘切片給定更多的比 特率,從而所述圖像受到更強的錯誤保護。這形成了對整個序列的不 等差錯保護(UEP),並且這是算法所提供的性能增益的根源。
因為每個冗餘切片的重要性可以是不同的,所以可以根據冗餘切 片的相對重要性,將所包含的冗餘切片進行排序。因此,可以將所有 主切片組合形成基本層,並且將所有冗餘切片一起按照重要性遞減的 順序分配至增強層。這形成了就容錯能力而言的可縮放比特流,艮P, 可以通過包含更多的比特流增強層來實現更好的容錯能力。通過形成 具有容錯能力可縮放性的預編碼比特流,可以通過簡單地根據速率約 束來截短預編碼的比特流,來得到最終比特流。這簡化了組裝過程
(assembly process)。
權利要求
1、一種方法,包括接收在通道上發送數據對象的至少一部分的一個或多個編碼的請求(305);訪問用於確定要在通道上發送數據對象的至少所述部分的多個編碼中的哪些編碼的信息(310);以及在接收到所述請求後,確定要在通道上發送的編碼的集合,所述集合是根據所述多個編碼確定的,並且包括多個編碼中的至少一個甚至可能更多個編碼,所確定的集合中編碼的數目取決於所訪問的信息(320)。
2、 根據權利要求l所述的方法,其中,所述所確定的編碼集合包 括一個或更多個源編碼,並且所確定的集合中的源編碼的數目指示源 編碼冗餘的特定級別。
3、 根據權利要求l所述的方法,其中,所述所確定的集合中的所 述至少一個編碼對視頻序列中的圖像進行編碼。
4、 根據權利要求3所述的方法,其中,所述所確定的集合中的所 述至少一個編碼是所述數據對象的至少所述部分的有損編碼。
5、 根據權利要求3所述的方法,其中,所述所確定的集合包括 圖像的主編碼和圖像的冗餘編碼。
6、 根據權利要求5所述的方法,其中,所述主編碼是主編碼圖像, 所述冗餘編碼是冗餘編碼圖像。
7、 根據權利要求6所述的方法,其中,所述主編碼圖像和冗餘編 碼圖像符合H.264/AVC標準。
8、 根據權利要求3所述的方法,還包括確定要在通道上發送的編碼的第二集合,所述第二集合是根據視 頻序列中第二圖像的多個編碼確定的,並且所述第二個所確定的集合 中編碼的數目取決於所訪問的信息,並可能與所述所確定的集合中的 編碼的數目不同。
9、 根據權利要求3所述的方法,還包括訪問用於確定要在通道上發送視頻序列中第二圖像的多個編碼 中的哪些編碼的第二信息;以及確定要在通道上發送的編碼的第二集合,所述第二集合是根據視 頻序列中第二圖像的所述多個編碼確定的,並且所述第二個所確定的 集合中編碼的數目取決於所訪問的第二信息,並可能與所確定的集合 中編碼的數目不同。
10、 根據權利要求l所述的方法,還包括在接收所述請求之前 存儲所述多個編碼,其中,所述確定集合的步驟包括根據所存儲的 編碼來確定所述集合。
11、 根據權利要求l所述的方法,其中,所述訪問信息的步驟包 括訪問描述通道的通道狀態的信息。
12、 根據權利要求l所述的方法,其中 所述所訪問的信息包括通道的可用容量;並且 所述確定集合的步驟包括確定在所述可用容量內,可以在通道上發送的編碼的集合。
13、 根據權利要求l所述的方法,其中 所述所訪問的信息包括通道的誤差率;並且所述確定集合的步驟包括誤差率越低,就將相對越少的編碼包 含在所述集合中,並且誤差率越高,就將相對越多的編碼包含在所述 集合中。
14、 根據權利要求13所述的方法,其中所述多個編碼包括針對視頻序列中給定圖像的多個冗餘切片,並且所述確定集合的步驟還包括誤差率越低,就將多個冗餘切片中 相對越少的冗餘切片包含在所述集合中,並且誤差率越高,就將多個 冗餘切片中相對越多的冗餘切片包含在所述集合中。
15、 根據權利要求14所述的方法,其中所述多個冗餘切片符合H.264/AVC標準,所述所確定的集合包括冗餘切片中的至少一個冗餘切片,並且所述方法還包括以符合H.264/AVC標準的形式向接收機發送所確定的編碼集合,所確定的編碼集合包括至少一個冗餘切片。
16、 根據權利要求l所述的方法,其中,所述所訪問的信息包括(1)通道的可用容量、(2)通道的誤差率、以及(3)在通道上傳輸所需的開銷中的一項或多項。
17、 根據權利要求l所述的方法,其中所述多個編碼存在於已排序的編碼集合中,所述已排序集合中的每個編碼對所述數據對象的至少所述部分執行編碼,所述已排序集合中的編碼是根據與同原始數據相比所述編碼的質量有關的度量來進行排序的,所述原始數據由所述編碼進行編碼,並且所述確定編碼集合的步驟包括確定所述己排序集合中的目標編碼;以及將從己排序集合的端點起到包括所述目標編碼為止的所有編碼包含在所述集合中。
18、 根據權利要求17所述的方法,其中所述通道是有損通道,並且所述已排序集合中的編碼被排序為在已將已排序集合中的特定編碼通過有損信道發送至設備之後,如果在已排序集合中的特定編碼之後出現的下一編碼也通過有損通道被發送至設備,則設備對數據對象的至少所述部分進行解碼的期望質量有所提高。
19、 根據權利要求l所述的方法,還包括複製所述多個編碼中的至少一個編碼,所述確定集合的步驟包括將複製後的編碼包含在所述集合中。
20、 一種計算機可讀介質,包括用於使一個或更多個設備執行以下處理的指令接收(305)在通道上發送數據對象的至少一部分的一個或多個編碼的請求;訪問(310)用於選擇要在通道上發送數據對象的至少所述部分的多個編碼中的哪些編碼的信息;以及在接收到所述請求之後,選擇要在通道上發送的編碼的集合,所述集合是根據所述多個編碼確定的,並且包括所述多個編碼中的至少一個甚至可能更多個編碼,所確定的集合中編碼的數目取決於所訪問的信息(320)。
21、 一種設備,包括用於訪問用以選擇要在通道上發送數據對象的至少一部分的多個編碼中的哪些編碼的信息的裝置(130);以及用於選擇要在通道上發送的編碼的集合的裝置(130),所述集合是根據所述多個編碼確定的,並且包括所述多個編碼中的至少一個甚至可能更多個編碼,所確定的集合中編碼的數目取決於所訪問的信息。
22、 一種選擇單元(130),被配置為訪問用於確定要在通道上發送數據對象的至少一部分的多個編碼中的哪些編碼的信息;以及確定要在通道上發送的編碼的集合,所述集合是根據所述多個編碼確定的,並且包括所述多個編碼中的至少一個甚至可能更多個編碼,所確定的集合中編碼的數目取決於所訪問的信息。
23、 一種方法,包括提供(410)用於確定要在通道上發送數據對象的至少一部分的多個編碼中的哪些編碼的信息;以及在所述通道上接收(420)編碼的集合,所述集合是已根據所述多個編碼確定的,並且包括所述多個編碼中的至少一個甚至可能更多個編碼,所述集合中編碼的數目已取決於所提供的信息。
24、 根據權利要求23所述的方法,其中所述所提供的信息包括描述通道的通道狀態的信息;並且所述方法還包括基於在通道上接收的數據,確定描述通道狀態的信息。
全文摘要
多種公開的實現允許在編碼中使用靈活的冗餘量。在一般實現中,訪問用於確定要在通道上發送數據對象的至少一部分的多個編碼中的哪些編碼的信息(310)。確定要在通道上發送的多個編碼的集合,其中,所述集合包括所述多個編碼當中的至少一個甚至可能更多個編碼,並且集合中編碼的數目取決於所訪問的信息(320)。在一個更具體的實現中,使用H.264/AVC編碼標準的冗餘切片特徵,並且基於當前通道狀態針對任意給定的圖像發送可變數目的冗餘切片。
文檔編號H04N7/24GK101513068SQ200680055971
公開日2009年8月19日 申請日期2006年9月28日 優先權日2006年9月28日
發明者吉爾·麥克唐納·博伊斯, 吳振宇 申請人:湯姆森許可貿易公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀