專利名稱:聚合媒體數據單元的向后兼容特性的制作方法
技術領域:
本發明總體上涉及視頻傳輸和存儲。更具體地,本發明涉及提供信息來幫助單元決定應當轉發或處理哪些編碼數據單元。
背景技術:
該部分旨在提供在權利要求中所記載的本發明的背景或上下文。在此的描述可以包括可推行的概念,但不一定是先前已經構想或推行的概念。因此,除非在此另外指示,在該部分中所描述的內容對于本申請的說明書和權利要求書來說不是現有技術,并且也不認為被包括在該部分中便是現有技術。
也被稱為H.264/AVC的高級視頻編碼(AVC)是由ITU-T視頻編碼專家組(VCEG)和ISO/IEC運動圖像專家組(MPEG)的聯合視頻組(JVT)開發的視頻編碼標準。AVC包括視頻編碼層(VCL)和網絡抽象層(NAL)的概念。VCL含有編解碼器機制的信號處理功能性,諸如變換、量化、運動補償預測,以及環路濾波器。編碼圖像由一個或多個片段組成。NAL將VCL所生成的每個片段封裝成一個或多個NAL單元。NAL單元包括NAL單元報頭和NAL單元有效載荷。NAL單元報頭除其它以外還含有NAL單元類型,其指示NAL單元是否含有編碼片段、編碼片段數據分區、序列或圖像參數設置,等等。NAL單元流僅僅是多個NAL單元的級聯。根據H.264/AVC或其擴展(例如SVC)的編碼比特流是NAL單元流,或者是通過將起始代碼作為NAL單元流中每個NAL單元的前綴的字節流。
可擴縮的視頻編碼(SVC)提供了可擴縮的視頻比特流。可擴縮的視頻比特流含有不可擴縮的基礎層以及一個或多個增強層。增強層可以增強時間分辨率(即,幀速率)、空間分辨率或由較低層或其部分所表示的視頻內容的質量。在AVC的SVC擴展中,繼承了VCL和NAL概念。
多視圖視頻編碼(MVC)是AVC的另一擴展。MVC編碼器采用了從多個照相機捕獲的相同場景的輸入視頻序列(被稱為不同的視圖),并且輸出含有所有編碼視圖的單個比特流。MVC也繼承了VCL和NAL概念。
實時傳輸協議(RTP)廣泛用于諸如音頻和視頻這樣的定時媒體的實時傳輸。在RTP傳輸中,媒體數據被封裝成多個RTP分組。在IETF請求注解(RFC)3984中規定了用于AVC視頻的RTP傳輸的RTP有效載荷格式,其可從www.rfc-editor.org/rfc/rfc3984.txt中獲得,并且通過引用的方式將其內容合并于此。對于使用RTP的AVC視頻傳輸,每個RTP分組含有一個或多個NAL單元。
IETF RFC 3984規定了若干分組化模式,其中之一是交織模式。如果正在使用交織分組化模式,那么可以將來自不止一個訪問單元(access unit)的NAL單元分組化成一個RTP分組。RFC 3984還規定了解碼順序號(DON)的概念,其指示在RTP流中傳送的NAL單元的解碼順序。
在SVC RTP有效載荷格式草案中,draft-wenger-avt-rtp-svc-03中的因特網草案(從http://www.tools.ietf.org/html/draft-wenger-avt-rtp-svc-03可獲得),規定了被稱為有效載荷內容可擴縮性信息(PACSI)NAL單元的新的NAL單元類型。PACSI NAL單元(如果存在的話)是聚合分組中的第一個NAL單元,并且它在其它類型的分組中并不存在。PACSI NAL單元指示了在有效載荷中對于所有剩余NAL單元共有的可擴縮性特性,因而使得媒體感知網絡元件(MANE)更容易決定是否轉發/處理/丟棄聚合分組。發送機可以創建PACSI NAL單元。接收機可以忽略PACSI NAL單元或將它們用作使得能夠進行高效聚合分組處理的暗示。當聚合分組的第一聚合單元含有PACSI NAL單元時,在同一分組中存在至少一個附加聚合單元。在聚合分組中根據剩余NAL單元來設置RTP報頭字段。當在多時間聚合分組中包括PACSI NAL單元時,設置PACSI NAL單元的解碼順序號,以便指示PACSI NAL單元是在聚合分組內的NAL單元之中按照解碼順序的第一個NAL單元,或者PACSI NAL單元具有與聚合分組內的剩余NAL單元之中按照解碼順序的第一個NAL單元相同的解碼順序號。
關于應當傳送和/或處理哪些NAL單元的決定通常需要用于若干不同的目的。例如,在例如多方視頻會議的多點實時通信系統中,發送機可能不知道所有接收機的能力,例如,當接收機的數目很大時或者當接收機可以在不通知發送機的情況下加入多點會話時。如果可能的話,不應當根據最弱接收機的能力來限制發送機,因為這限制了可以提供給其它接收機的體驗的質量。因此,如果諸如多媒體會議中的多點控制單元(MCU)這樣的中間體(middlebox)可以根據接收機能力來高效地調節所轉發的流,那么將是有益的。
應當做出這樣的決定的另一情形涉及當在設備中或利用軟件(其能夠分別解碼僅是流的子集,諸如H.264/AVC相容基礎層,或者SVC或MVC比特流的視圖)來回放文件的時候。因此,只有NAL單元的子集需要處理。媒體播放器要回放的視頻數據可以具有根據文件格式容器的格式或者具有RTP流的格式。在這兩種情況中的任何情況下,都期望易于訪問有助于決定媒體播放器將要處理哪些NAL單元的所有信息。
被稱為MPEG文檔N8663的SVC文件格式草案標準支持將多個NAL單元聚合成一個聚合體NAL單元。期望這也在未來的MVC文件格式下得到支持。聚合體NAL單元既可以通過將NAL單元包括在它們之內來進行聚合(在由它們的長度所指示的大小之內),又可以通過在它們后面的參考NAL單元來進行聚合(在由它們之內的additional_bytes(附加_字節)字段所指示的區域之內)。當由AVC文件閱讀器來掃描流時,只有所包括的NAL單元被看作處在聚合體“之內”。這允許例如AVC文件閱讀器跳過不需要的SVC或MVC NAL單元的整個集合。SVC NAL單元指的是這樣的SVC特定NAL單元,即,AVC規范為該SVC特定NAL單元保留了NAL單元類型值。MVC NAL單元指的是這樣的MVC特定NAL單元,即,AVC規范為該MVC特定NAL單元保留了NAL單元類型值。類似地,如果AVC NAL單元通過參考而被聚合,則AVC閱讀器將不跳過它們,并且對于該閱讀器來說它們保持處于流內(in-stream)。該聚合機制在訪問用于決定媒體播放器要處理哪些NAL單元所需要的信息方面添加了復雜度。
應當做出這樣的決定的又一情形涉及當接收可擴縮或多視圖流的終端用戶決定分別切換他或她想要解碼和呈遞的層或視圖的時候。例如,經由會話標識協議(SIP)或實時流式協議(RTSP)來傳送相應的請求。作為響應,諸如服務器或中間體這樣的請求接受者應當選擇被轉發的層或視圖。由于層間和視圖間預測,可能不期望在所傳送的層或視圖中的即時改變,這是因為(1)所得到的流可能不是與標準相容的,因為在解碼器中可能不存在一些層間和視圖間參考;(2)一些所傳送的數據可能是不可解碼的并且因此對于接收機來說沒有用;以及(3)不可解碼的數據浪費信道中的比特率,并且可能造成擁塞和分組丟失并且增加傳輸延遲。因此,傳送方應當對來自下一可能的層切換或視圖切換位置的請求做出響應。
另外,要注意,冗余圖像提供了一種機制,該機制用于在損壞了相應的基本編碼圖像時,系統從傳輸差錯中進行恢復。然而,傳輸冗余圖像不是必要的,如果無法正確地解碼冗余圖像本身,則相應的基本編碼圖像可被正確地解碼,或者在接收機中不支持冗余圖像的解碼。因此,發送機或中間體在若干情況下可以省略對冗余圖像或其部分的傳輸。第一種這樣的情況涉及當沒有正確地解碼用于冗余圖像的參考圖像的時候。這可以例如從RTP/AVPF的通用NACK反饋或具有反饋的RTP音頻可視簡檔(RTP/AVPF)的片段丟失指示反饋來推斷。第二種情況是當冗余圖像在到達中間體時它不是完整的時候,即,在發送機與中間體之間的信道中丟失了冗余圖像的片段。這可以例如基于輸入分組的RTP序列號以及丟失分組的先前和后續RTP分組的內容而在中間體中推斷出來。第三種情況是當可靠通信協議用于傳輸的時候,當存在足夠的時間用于對損壞的基本編碼圖像進行選擇性重傳的時候,或者當檢測到網絡狀況是無損失的時候。第四種這樣的情況是例如當接收機隱含地經由所支持的簡檔或明確地利用redundant-pic-cap MIME/SDP參數來發信號通知不支持任何冗余圖像的時候。
在可以做出關于應當傳送和/或處理哪些NAL單元的決定的又一情形涉及當要求比特率調整以便根據瓶頸鏈路的吞吐量來修整所傳送的比特率(用于避免擁塞或用于調節網絡或客戶機緩沖器)的時候。在這種情況下,發送機或中間體應當做出關于沒有傳送哪些NAL單元的復雜決定。媒體感知網關或RTP混合器(例如,它可以是多點會議單元、在電路交換與分組交換視頻電話之間的網關、PoC服務器、在DVB-H系統中的IP封裝器,或者將廣播傳輸在本地轉發到家庭無線網絡的機頂盒)的一個功能是根據主導的下行鏈路網絡狀況來控制所轉發的流的比特率。所期望的是在不過度處理輸入數據的情況下(即,通過簡單丟棄分組或簡易標識的分組部分)來控制轉發數據速率。
當使用H.264/AVC和SVC RTP有效載荷格式的非交織和交織分組化模式時,在分組中所含的NAL單元的一些共有特性僅在檢查每個所含NAL單元時被標識出來。該檢查可能要求對NAL單元的部分解碼。例如,子序列信息SEI消息應當被解碼,以便找到時間級別切換點(temporal levelswitching points),并且片段報頭必須被解碼以便弄清楚編碼片段是否屬于基本編碼圖像或冗余編碼圖像。
中間體通常應當丟棄整個圖像或圖像序列,從而使得所得到的流保持有效。H.264/AVC RTP有效載荷規范的交織分組化模式允許將任何訪問單元的任何NAL單元實際上封裝到相同的RTP有效載荷(被稱為聚合分組)中。特別地,不要求將整個編碼圖像封裝在一個RTP有效載荷中,而是可以將編碼圖像的NAL單元分成多個RTP分組。雖然該自由權有助于很多應用,但是它造成在中間體操作中的下列難題。首先,給定聚合分組,在解析該聚合分組中所含的每個NAL單元的報頭之前,并不知道它的NAL單元屬于哪些圖像。因而,當應用了交織分組化模式時,應當解析每個聚合單元報頭和NAL單元報頭以便將它們映射到正確的圖像。當出現冗余圖像時,進一步要求解析成片段報頭。其次,在沒有出現相同訪問單元的一些其它NAL單元的情況下,可能不能夠標識出NAL單元的特性。例如,為了弄清楚編碼片段是否是可以隨機訪問的訪問單元的一部分,必須首先接收并解碼用于該訪問單元的恢復點SEI消息。
因此,需要在傳輸分組或文件格式聚合NAL單元中提供可易于訪問的信息,基于此,網絡中間體或媒體播放器可以決定將要傳送和/或處理哪些編碼數據單元。2007年1月11日提交并且通過引用的方式合并于此的美國專利申請No.11/622,430公開了一種用于SVC文件格式和用于RTP有效載荷格式的間接聚合體NAL單元,以指示在該間接聚合體NAL單元之后的特定NAL單元的可擴縮特性。然而,并沒有考慮超出用于SVC的可擴縮性信息之外的特性,包括在傳輸分組中所含的編碼數據單元是否是(1)冗余圖像的部分;(2)時間層切換點的部分;(3)視圖隨機訪問點的部分;(4)不作為瞬時解碼刷新(IDR)圖像的隨機訪問點的部分;以及(5)由視圖標識符所標識的特定視圖的圖像的部分。
發明內容
本發明的各種實施例提供了一種用于傳送信息的系統和方法,該信息有助于網絡中間體或媒體播放器以易于訪問的方式決定在RTP有效載荷或文件格式數據單元中轉發或處理哪些編碼數據單元。在本發明的各種實施例中,該機制可以用于提供對于諸如冗余編碼圖像、時間級別切換點、逐漸解碼刷新訪問點、視圖標識符以及視圖隨機訪問點這樣的項目的指示。然后,中間體和/或接收機可以使用該信息來確定是否需要處理和/或傳送特定的編碼數據單元。另外,也可以提供對于諸如用于非分層單視圖比特流的隨機訪問點這樣的項目的指示以及圖像類型指示。
各種實施例提供了一種用于對視頻序列的編碼表示進行分組化的方法、計算機程序產品和裝置,其中多個數據單元被分組化成第一分組。所述多個數據單元的第一數據單元包括至少一部分編碼比特流,并且所述多個數據單元的第二數據單元包括總結了編碼視頻的所述部分的內容的信息。第二數據單元被放置在第一分組中的所述多個數據單元的任何其它數據單元之前。
各種實施例提供了一種用于處理視頻序列的分組化比特流表示的方法、計算機程序產品和裝置。從第一分組中讀取多個數據單元,其中所述多個數據單元的第一數據單元包括至少一部分編碼比特流,并且所述多個數據單元的第二數據單元包括總結了編碼視頻的所述部分的內容的信息。第二數據單元被放置在第一分組中的所述多個數據單元的任何其它數據單元之前。然后,基于第二數據單元中所含的信息來處理所述多個數據單元。
當結合附圖時,根據下面的詳細描述,本發明的這些以及其它優點和特征連同其組織和操作的方式將變得顯而易見,其中,貫穿下述若干附圖,相同的元件具有相同的標記。
圖1示出了用于與本發明一起使用的通用多媒體通信系統; 圖2是可以在本發明的實現中使用的電子設備的立體圖;以及 圖3是圖2的電子設備的設備電路的示意表示。
具體實施例方式 本發明的各種實施例提供了一種用于傳送信息的系統和方法,該信息有助于網絡中間體或媒體播放器以易于訪問的方式決定在RTP有效載荷內或在文件格式數據單元中轉發或處理哪些編碼數據單元。在本發明的各種實施例中,該機制可以用于提供對于至少下列項目的指示 冗余編碼圖像的指示。該指示可以附帶有對聚合冗余編碼片段進行解碼所需要的參考圖像的列表以及對于聚合冗余編碼片段的空間覆蓋范圍的指示。存在這樣的時間,即,在這些時間處將聚合和表征僅一個冗余編碼圖像的片段。
時間級別切換點的指示。從時間級別切換點開始,如果在該時間級別切換點之前僅解碼了較低時間級別的圖像,則解碼器可以正確地解碼具有相同時間級別的所有隨后的編碼圖像。該指示可以附帶有通過例如為了使得能夠切換時間級別而應當被正確解碼的frame_num的值所指示的參考圖像的列表。注意到,通常可以在任何點降低解碼/轉發時間級別的數目。
逐漸解碼刷新訪問點的指示。如果解碼器從這樣的點開始解碼,那么將通過很多連續圖像來逐漸校正圖像內容。在某些實施例中,該指示應當附帶有對這樣的圖像或分組的計數,即,為了獲得內容正確的圖像,需要對該圖像或分組進行解碼。
視圖的指示。該指示用信號通知聚合NAL單元所屬的視圖(例如,就視圖ID而言)。
視圖隨機訪問圖像的指示。由于視圖間預測,因此不可能在任意點開始對視圖進行解碼。該指示因此被用于用信號通知解碼器可以從該位置開始解碼。該指示可以附帶有對這樣的圖像或分組的計數,即,為了獲得內容正確的圖像,需要對該圖像或分組進行解碼。在2006年10月16日提交的美國臨時專利申請No.60/852,223中討論了不同類型的視圖隨機訪問點,并且通過引用的方式將其合并于此。
在本發明的各種實施例中,將美國專利申請No.11/622,430中所討論的間接NAL單元聚合機制用作傳送以上指示的機制。另外,該相同的聚合機制也可以同樣用于其它指示。例如,該機制也可以用于非分層單視圖比特流的隨機訪問點指示(開啟和閉合的圖像組(GOP))以及圖像類型指示(例如,幀內圖像、非參考圖像)。
下面是本發明的各種實施例的一個實現,具體關于SVC和MVC的RTP有效載荷格式。在該實現中,擴展了在美國專利申請No.11/622,430中所討論的有效載荷內容可擴縮性信息(PACSI)NAL單元,以便含有附加類型信息。PACSI NAL單元的報頭保持不變。可選地,PACSI NAL單元報頭可以被修改成與即將到來的MVC NAL單元報頭相匹配,尤其是在即將到來的MVC NAL單元報頭是SVC NAL單元報頭的超集的情況下。MVC NAL單元報頭的當前草案按照nal_unit_header_svc_mvc_extension語法結構在2006年10月JVT會議的草案輸出中可獲得(從http://ftp3.itu.ch/av-arch/jvt-site/2006_10_Hangzhou/JVT-U209.zip中可獲得,并且通過引用的方式合并于此)。可選地,另外的NAL單元類型(諸如值31)可以用于指示在此所描述的信息。
下面是在聯合用于SVC和MVC的示例性RTP有效載荷格式的上下文中PACSI NAL單元的例子。
PACSI NAL單元由1個字節的NAL單元報頭、1個字節的內容信息(CI)報頭以及長度變化的CI有效載荷組成。1個字節的NAL單元報頭含有如下所規定的F、NRI和類型(Type)字段。
在PACSI NAL單元中字段的值被設置如下。如果在有效載荷中在至少一個剩余NAL單元中的F比特等于1,則F比特被設置成1。否則,F比特被設置成0。NRI字段被設置成在有效載荷中所有剩余NAL單元之中的NRI字段的最高值。類型字段被設置成30。
CI報頭含有標志,以便如下指示不同類型的內容信息的出現 0 1 2 3 4 5 6 7
等于1的S比特指示出現了在draft-wenger-avt-rtp-rtp-svc-03(在www.tools.ietf.org/html/draft-wenger-avt-rtp-svc-03處可獲得,并且通過引用的方式合并于此)中的因特網草案所同樣指定的內容可擴縮性信息并且復制在下面
當M比特等于1時,下面的多視圖內容信息出現在CI有效載荷中
R比特被保留。TL(時間級別)被設置成在RTP有效載荷中的剩余NAL單元之中TL字段的最低值。VL(視圖級別)被設置成在RTP有效載荷中的剩余NAL單元之中VL字段的最低值。
A(anchor_pic_flag)被設置成在RTP有效載荷中的剩余NAL單元之中A字段的最高值。因此,等于1的A比特值指示RTP有效載荷含有與錨點圖像(anchor picture)相關聯的至少一個NAL單元。等于0的A比特值指示RTP有效載荷不含與錨點圖像相關聯的任何NAL單元。
num_views指示了隨后的view_id語法元素的數目。num_views被設置成這樣的值,即,該值指示在RTP有效載荷中的剩余NAL單元之中view_id的不同值的數目。
view_id的每個值指示了出現在RTP有效載荷中的剩余NAL單元之中的view_id。view_id的值不應當在CI有效載荷中重復。當前,在MVC規范中,view_id的值是10比特的無符號整數,它們被轉換成用于CI有效載荷的16比特的無符號整數。
在本發明的一個實施例中,沒有出現num_views字段,并且只有view_id的一個值被包括在多視圖內容信息中。因此,要求RTP分組(其包括PACSINAL單元)含有僅來自一個視圖的編碼數據。
CI報頭的R比特指示出現冗余編碼圖像信息。當R比特等于1時,RTP有效載荷并不含有用于基本編碼圖像的任何NAL單元。沒有出現與R比特相對應的任何CI有效載荷。
CI報頭的A比特指示出現如下的隨機訪問點。當A比特等于1、S比特等于0并且M比特等于0時,RTP有效載荷含有屬于與恢復點SEI消息相關聯的幀內圖像或IDR圖像的NAL單元,并且recovery_frame_cnt語法元素的值等于0。當A比特和S比特等于1時,RTP有效載荷含有屬于SVC的IDR圖像的NAL單元。當A比特和M比特等于1時,RTP有效載荷含有屬于MVC的視圖隨機訪問圖像(IDR圖像或錨點圖像)的NAL單元。
CI報頭的T比特指示出現時間級別切換點。當T比特等于1時,S比特或M比特也必須等于1。當T比特等于1時,在CI有效載荷中出現了下面的時間級別信息
TLT語法元素指示了在以下情況下可以切換到的時間級別從該點開始對含有等于或低于TLT的時間級別的所有分組進行解碼(當在先前(至少自從按照傳輸順序對于時間級別(TLT-1)的先前時間級別切換點以來)解碼了時間級別(TLT-1)時)。可選地,可以包括多個TLT值,以便指示在與以上相同情況下可以切換到的多個temporal_level(時間級別)值。
保留字段的比特被保留。在CI報頭中的Res字段的比特也被保留。當在CI報頭中不止一個非保留比特被設置成1時,CI有效載荷語法結構按照相應比特在CI報頭中出現的順序而出現。
下面是本發明的各種實施例的另一實現,具體針對SVC的RTP有效載荷格式。在該實現中,通過如下添加不止一個八比特組(octet)來擴展在美國專利申請No.11/622,430中所討論的有效載荷內容可擴縮性信息(PACSI)NAL單元。
如果含有目標NAL單元的所有編碼圖像都是錨點圖像,則R字段被設置成1。否則,比特R被設置成0。目標NAL單元是包含在聚合分組中但卻沒有包括在PACSI NAL單元中的這樣的NAL單元,它們處于在聚合分組中的PACSI NAL單元之后的第一個NAL單元所屬的訪問單元內。錨點圖像是這樣的圖像,即如果從該圖像開始對層進行解碼,則可以正確地解碼該層的(按照輸出順序)所有隨后的圖像。注意到,錨點圖像是針對錨點圖像所屬的層的隨機訪問點。然而,如果在錨點圖像處進行隨機訪問,則按照解碼順序在該錨點圖像之后但是按照輸出順序在該錨點圖像之前的一些圖像可以指的是更早的圖像,因此這些圖像可能沒有被正確地解碼。
如果含有目標NAL單元的所有編碼圖像(如上所定義的)是時間可擴縮的層切換點,則T字段被設置成1。否則,比特T被設置成0。對于時間可擴縮的層切換點,按照解碼順序在切換點處或之后具有相同的temporal_level值的所有編碼圖像并非指的是按照解碼順序在切換點之前的具有相同的temporal_level值的任何編碼圖像。
如果含有目標NAL單元的所有編碼圖像(如上所定義的)是冗余圖像,則D字段被設置成1。否則,D字段被設置成0。如果在含有目標NAL單元的所有編碼圖像(如上所定義的)之中具有最大的dependency_id(依賴_id)值的圖像是幀內編碼圖像,即,該編碼圖像并非指的是在相同層中按照解碼順序的任何更早的編碼圖像,則I字段被設置成1。 RES字段被設置成0。
進一步地,可能并不在PACSI NAL單元中傳送用于這些指示的字段,而是將它們直接添加到在RTP分組中的任何NAL單元之前的有效載荷結構中。
對于SVC和MVC文件格式,可以通過聚合體NAL單元內的附加字段來傳送指示。在不同的實施例中,所建議的聚合體NAL單元的附加字段及其語義類似于在上述不同實施例中的PACSI NAL單元的語義的字段。
圖1示出了與本發明一起使用的通用多媒體通信系統。如圖1所示,數據源100提供按照模擬、未壓縮數字或壓縮數字格式或這些格式的任何組合的源信號。編碼器110將源信號編碼成編碼媒體比特流。編碼器110能夠編碼不止一個媒體類型,諸如音頻和視頻,或者可以要求不止一個編碼器110來編碼不同媒體類型的源信號。編碼器110還可以獲得合成產生的輸入,諸如圖形和文本,或者它能夠產生合成媒體的編碼比特流。在下面,考慮了僅對一種媒體類型的一個編碼媒體比特流的處理,以便簡化描述。然而,應當注意到,通常實時廣播服務包括若干流(通常是至少一個音頻、視頻和文本字幕流)。還應當注意到,系統可以包括很多編碼器,但在下面僅考慮了一個編碼器110,以便不失一般性地簡化描述。
應當理解,盡管在此含有的文本和例子可以具體地描述編碼過程,然而,本領域的技術人員將很容易理解相同的概念和原理還適用于對應的解碼過程,并且反之亦然。
編碼媒體比特流被傳送到存儲器120。存儲器120可以包括任何類型的大容量存儲器以存儲編碼媒體比特流。在存儲器120中的編碼媒體比特流的格式可以是元素自持(elementary selfcontained)的比特流格式,或者一個或多個編碼媒體比特流可以被封裝到容器文件中。一些系統操作“實況(live)”,即省略存儲器,并且將編碼媒體比特流從編碼器110直接傳送到發送機130。然后,編碼媒體比特流基于需要而被傳送到發送機130(也被稱為服務器)。在傳輸中使用的格式可以是元素自持的比特流格式、分組流格式,或者一個或多個編碼媒體比特流可以被封裝到容器文件中。編碼器110、存儲器120和發送機130可以駐留在相同的物理設備中,或者它們可以被包括在分離的設備中。編碼器110和發送機130可以在實況的情況下操作實時內容,在這種情況下,編碼媒體比特流通常并不永久被存儲,而是在內容編碼器110中和/或在發送機130中緩沖一小段時間,以便消除處理延遲、傳送延遲和編碼媒體比特率中的變化。
發送機130使用通信協議棧來發送編碼媒體比特流。該棧可以包括但不限于實時傳輸協議(RTP)、用戶數據報協議(UDP),以及因特網協議(IP)。當通信協議棧是面向分組的時,發送機130將編碼媒體比特流封裝到分組中。例如,當使用RTP時,發送機130根據RTP有效載荷格式將編碼媒體比特流封裝到RTP分組中。通常,每個媒體類型具有專用的RTP有效載荷格式。應當再次注意到,系統可以含有不止一個發送機130,但是出于簡化起見,下面的描述僅考慮了一個發送機130。
發送機130可以通過通信網絡連接到網關140或可以不通過通信網絡連接到網關140。網關140可以執行不同類型的功能,諸如將根據一個通信協議棧的分組流轉換成另一通信協議棧、融合和叉開數據流,以及根據下行鏈路和/或接收機能力來操縱數據流(諸如根據主導的下行鏈路網絡狀況來控制轉發流的比特率)。網關140的例子包括多點會議控制單元(MCU)、在電路交換與分組交換視頻電話之間的網關、基于蜂窩的一鍵通(PoC)服務器、在手持數字視頻廣播(DVB-H)系統中的IP封裝器,或者將廣播傳輸在本地轉發到家庭無線網絡的機頂盒。當使用了RTP時,網關140被稱為RTP混合器并且充當RTP連接的端點。
系統包括一個或多個接收機150,接收機150通常能夠將傳輸信號接收、解調和解封裝成編碼媒體比特流。編解碼器媒體比特流通常進一步由解碼器160來處理,解碼器160的輸出是一個或多個未壓縮的媒體流。最后,呈遞器170可以利用例如揚聲器或顯示器來再現未壓縮的媒體流。接收機150、解碼器160和呈遞器170可以駐留在相同的物理設備中或者它們可以被包括在分離的設備中。
應當注意,將要解碼的比特流可以從位于實際上任何類型的網絡內的遠程設備來接收。另外,可以從本地硬件或軟件接收比特流。
就比特率而言的可擴縮性、解碼復雜度以及圖像大小是用于異構和易于出錯環境的期望屬性。期望該屬性以便對抗諸如與比特率、顯示分辨率、網絡吞吐量以及在接收設備中的計算能力有關的約束這樣的限制。
本發明的通信設備可以使用各種傳送技術來通信,包括但不限于碼分多址(CDMA)、全球移動通信系統(GSM)、通用移動電信系統(UMTS)、時分多址(TDMA)、頻分多址(FDMA)、傳輸控制協議/因特網協議(TCP/IP)、短消息傳遞服務(SMS)、多媒體消息傳遞服務(MMS)、電子郵件、即時消息傳遞服務(IMS)、藍牙、IEEE 802.11,等等。通信設備可以使用各種介質來通信,包括但不限于無線電、紅外、激光、線纜連接,等等。
圖2和圖3示出了在其中可以實現本發明的一個代表性電子設備50。然而,應當理解,本發明并不旨在局限于一個特定類型的設備。圖2和圖3的電子設備50包括外殼30、液晶顯示器形式的顯示器32、鍵板34、擴音器36、耳機38、電池40、紅外端口42、天線44、根據本發明的一個實施例的UICC形式的智能卡46、讀卡器48、無線電接口電路52、編解碼器電路54、控制器56和存儲器58。單獨的電路和元件全都是本領域的公知類型,例如,在諾基亞系列的移動電話中。
在方法步驟或過程的一般上下文中描述了文中所描述的各種實施例,它們可以通過體現在計算機可讀介質中的計算機程序產品在一個實施例中實現,該計算機程序產品包括在聯網環境中由計算機執行的計算機可讀指令,諸如程序代碼。計算機可讀介質可以包括可裝卸和非可裝卸的存儲設備,包括但不限于只讀存儲器(ROM)、隨機訪問存儲器(RAM)、光盤(CD)、數字多用途光盤(DVD)等。通常,程序模塊可以包括執行特定任務或實現特定抽象數據類型的例程、程序、對象、組件、數據結構等。與數據結構相關聯的計算機可執行指令以及程序模塊表示用于執行文中所公開的方法的步驟的程序代碼的例子。這樣的可執行指令或相關聯的數據結構的特定序列表示用于實現在這樣的步驟或過程中所描述的功能的相應動作的例子。
本發明的實施例可以以軟件、硬件、應用邏輯或者軟件、硬件和應用邏輯的組合來實現。軟件、應用邏輯和/或硬件可以駐留在例如芯片組、移動設備、臺式計算機、膝上型計算機或服務器上。各種實施例的軟件和Web實現可以利用具有基于規則的邏輯和其它邏輯的標準編程技術來實現,以便完成各種數據庫搜索步驟或過程、相關步驟或過程、比較步驟或過程以及判定步驟或過程。各種實施例還可以完全或部分地在網絡元件或模塊中實現。應當注意,如在此或在下面的權利要求書中所使用的措辭“組件”和“模塊”旨在涵蓋使用一行或多行軟件代碼的實現和/或硬件實現和/或用于接收手動輸入的設備。
已經出于說明和描述的目的提供了對實施例的前述描述。前述描述并不旨在將本發明的實施例窮盡或限制成所公開的確切形式,并且鑒于以上教導,修改和變化是可能的,或者可以從各種實施例的實施中獲取。選擇和描述在此討論的實施例是為了解釋各種實施例的原理和性質及其實際應用,以便使得本領域技術人員能夠利用在各種實施例中并且具有適于特定預期使用的各種修改的本發明。在此所描述的實施例的特征可以被組合在所有可能的方法、裝置、模塊、系統和計算機程序產品的組合中。
權利要求
1.一種用于對視頻序列的編碼表示進行分組化的方法,其包括
將多個數據單元分組化成第一分組,
其中,所述多個數據單元的第一數據單元包括至少一部分編碼比特流,其中,所述多個數據單元的第二數據單元包括總結了編碼視頻的所述部分的內容的信息,并且其中,第二數據單元被放置在第一分組中的所述多個數據單元的任何其它數據單元之前。
2.根據權利要求1所述的方法,其中,所述第一分組包括實時傳輸協議分組。
3.根據權利要求1所述的方法,其進一步包括在所述第二數據單元中提供指示,其指示了所有所述多個數據單元共有的特性。
4.根據權利要求3所述的方法,其中所述指示包括在所述多個數據單元內的冗余編碼圖像的指示。
5.根據權利要求3所述的方法,其中所述指示包括在所述多個數據單元內的時間級別切換點的指示。
6.根據權利要求3所述的方法,其中所述指示包括在所述多個數據單元內的逐漸解碼訪問點的指示。
7.根據權利要求3所述的方法,其中所述指示包括所述多個數據單元所屬的視圖的指示。
8.根據權利要求3所述的方法,其中所述指示包括在所述多個數據單元內的視圖隨機訪問圖像的指示。
9.一種體現在計算機可讀介質中的計算機程序產品,其包括用于實現權利要求1的過程的計算機代碼。
10.一種裝置,其包括
處理器;以及
存儲器單元,所述存儲器單元在通信上連接到所述處理器并且包括
用于將多個數據單元分組化成第一分組的計算機代碼,
其中,所述多個數據單元的第一數據單元包括至少一部分編碼比特流,其中,所述多個數據單元的第二數據單元包括總結了編碼視頻的所述部分的內容的信息,并且其中,第二數據單元被放置在第一分組中的所述多個數據單元的任何其它數據單元之前。
11.根據權利要求10所述的裝置,其中,所述第一分組包括實時傳輸協議分組。
12.根據權利要求10所述的裝置,其中所述存儲器單元進一步包括用于在所述第二數據單元中提供指示的計算機代碼,所述指示指示了所有所述多個數據單元共有的特性。
13.根據權利要求12所述的裝置,其中所述指示包括在所述多個數據單元內的冗余編碼圖像的指示。
14.根據權利要求12所述的裝置,其中所述指示包括在所述多個數據單元內的時間級別切換點的指示。
15.根據權利要求12所述的裝置,其中所述指示包括在所述多個數據單元內的逐漸解碼訪問點的指示。
16.根據權利要求12所述的裝置,其中所述指示包括所述多個數據單元所屬的視圖的指示。
17.根據權利要求12所述的裝置,其中所述指示包括在所述多個數據單元內的視圖隨機訪問圖像的指示。
18.一種處理視頻序列的分組化比特流表示的方法,其包括
從第一分組中讀取多個數據單元,其中,所述多個數據單元的第一數據單元包括至少一部分編碼比特流,其中,所述多個數據單元的第二數據單元包括總結了編碼視頻的所述部分的內容的信息,并且其中,所述第二數據單元被放置在所述第一分組中的所述多個數據單元的任何其它數據單元之前;以及
基于所述第二數據單元中所含的信息來處理所述多個數據單元。
19.根據權利要求18所述的方法,其中,所述第一分組包括實時傳輸協議分組。
20.根據權利要求18所述的方法,其中,所述第二數據單元包括指示了所有所述多個數據單元共有的特性的指示。
21.根據權利要求20所述的方法,其中所述指示包括在所述多個數據單元內的冗余編碼圖像的指示。
22.根據權利要求20所述的方法,其中所述指示包括在所述多個數據單元內的時間級別切換點的指示。
23.根據權利要求20所述的方法,其中所述指示包括在所述多個數據單元內的逐漸解碼訪問點的指示。
24.根據權利要求20所述的方法,其中所述指示包括所述多個數據單元所屬的視圖的指示。
25.根據權利要求20所述的方法,其中所述指示包括在所述多個數據單元內的視圖隨機訪問圖像的指示。
26.一種體現在計算機可讀介質中的計算機程序產品,其包括用于實現權利要求18的過程的計算機代碼。
27.一種裝置,其包括
處理器;以及
存儲器單元,所述存儲器單元在通信上連接到處理器并且包括
用于從第一分組中讀取多個數據單元的計算機代碼,其中,所述多個數據單元的第一數據單元包括至少一部分編碼比特流,其中,所述多個數據單元的第二數據單元包括總結了編碼視頻的所述部分的內容的信息,并且其中,所述第二數據單元被放置在所述第一分組中的所述多個數據單元的任何其它數據單元之前;以及
用于基于所述第二數據單元中所含的信息來處理所述多個數據單元的計算機代碼。
28.根據權利要求27所述的裝置,其中,所述第一分組包括實時傳輸協議分組。
29.根據權利要求27所述的裝置,其中,所述第二數據單元包括指示了所有所述多個數據單元共有的特性的指示。
30.根據權利要求29所述的裝置,其中所述指示包括在所述多個數據單元內的冗余編碼圖像的指示。
31.根據權利要求29所述的裝置,其中所述指示包括在所述多個數據單元內的時間級別切換點的指示。
32.根據權利要求29所述的裝置,其中所述指示包括在所述多個數據單元內的逐漸解碼訪問點的指示。
33.根據權利要求29所述的裝置,其中所述指示包括所述多個數據單元所屬的視圖的指示。
34.根據權利要求29所述的裝置,其中所述指示包括在所述多個數據單元內的視圖隨機訪問圖像的指示。
35.一種設備,其包括
用于將多個數據單元分組化成第一分組的裝置,
其中,所述多個數據單元的第一數據單元包括至少一部分編碼比特流,其中,所述多個數據單元的第二數據單元包括總結了編碼視頻的所述部分的內容的信息,并且其中,第二數據單元被放置在第一分組中的所述多個數據單元的任何其它數據單元之前。
36.一種設備,其包括
用于從第一分組中讀取多個數據單元的裝置,其中,所述多個數據單元的第一數據單元包括至少一部分編碼比特流,其中,所述多個數據單元的第二數據單元包括總結了編碼視頻的所述部分的內容的信息,并且其中,所述第二數據單元被放置在所述第一分組中的所述多個數據單元的任何其它數據單元之前;以及
用于基于所述第二數據單元中所含的信息來處理所述多個數據單元的裝置。
全文摘要
一種用于傳送信息的系統和方法,該信息有助于網絡中間體或媒體播放器以易于訪問的方式決定將要在RTP有效載荷或文件格式數據單元內轉發或處理哪些編碼數據單元。該機制可以用于提供對諸如冗余編碼圖像、時間級別切換點、逐漸解碼刷新訪問點、視圖標識符以及視圖隨機訪問點這樣的項目的指示。然后,中間體和/或接收機可以使用該信息來確定是否需要處理和/或傳送特定的編碼數據單元。
文檔編號H04N7/26GK101611612SQ200880004918
公開日2009年12月23日 申請日期2008年2月22日 優先權日2007年2月23日
發明者M·漢努卡塞拉, Y-K·王 申請人:諾基亞公司