專利名稱:對分組的相互依賴性進行編碼的方法和系統的制作方法
技術領域:
本發明一般地涉及分組數據傳輸。更特別地并且不是作為任何限制地,本發明針對一種用于對在分組數據傳輸系統中的分組的相互依賴性進行編碼的方法和系統。
背景技術:
在某些分組數據傳輸系統中,載運數據的分組表現出相互依賴性(interdependency),例如,與壓縮的視頻序列有關的分組,其中數據流的某些分組具有依賴于序列中的其他分組的內容的有效載荷。盡管實現這種相互依賴性在帶寬管理中是有用的,但是這種相互依賴性的確帶來了某些必須解決的問題。例如,如果在傳輸系統中在某一時刻必須丟棄分組(例如由于擁塞),則知道分組相互依賴性的某些知識將變得重要,從而不會優先丟棄其他分組所依賴的那些分組。
發明內容
在一個方面,公開了一種使用壓縮編碼機制對分組數據流中的分組的相互依賴性進行編碼的方案。在一個實施例中,該方案包括為分組數據流中的每個分組提供與之相關聯的依賴性關系字段(DRF);并且用第一分組的依賴性關系字段中的二進制碼表示分組數據流中第一分組對第二分組的依賴性,該二進制碼用于將該依賴性描述為第一分組與第二分組之間的子集關系。
在另一實施例中,該方案包括為分組數據流中的每個分組提供與之相關聯的相對位移指針(RDP)字段,RDP字段包括第一方向依賴性子字段和第二方向依賴性子字段;并且用第一方向依賴性子字段中的第一二進制碼和第二方向依賴性子字段中的第二二進制碼表示分組數據流的特定分組的依賴性,第一二進制碼用于描述該特定分組對設置在分組數據流的一個方向上的分組的依賴性,并且第二二進制碼用于描述該特定分組對設置在分組數據流的相反方向上的分組的依賴性。
在又一實施例中,本發明針對一種用于對分組數據流中的分組的相互依賴性進行編碼的系統,該系統包括用于為分組數據流中的每個分組提供與之相關聯的DRF部分的裝置;以及用于用第一分組的依賴性關系字段中的二進制碼來表示分組數據流中第一分組對第二分組的依賴性的裝置,其中該二進制碼用于將該依賴性描述為第一分組與第二分組之間的子集關系。
在另一實施例中,本發明針對一種用于對分組數據流中的分組的相互依賴性進行編碼的系統,該系統包括用于為分組數據流中的每個分組提供與之相關聯的RDP字段的裝置,RDP字段包括第一方向依賴性子字段和第二方向依賴性子字段;以及用于用第一方向依賴性子字段中的第一二進制碼和第二方向依賴性子字段中的第二二進制碼表示分組數據流的特定分組的依賴性的裝置,第一二進制碼用于描述該特定分組對設置在分組數據流的一個方向上的分組的依賴性,并且第二二進制碼用于描述該特定分組對設置在分組數據流的相反方向上的分組的依賴性。
在另一個方面,公開了一種用于發送分組數據流的分組數據傳輸系統。在一個實施例中,該分組數據傳輸系統包括分組數據發射器,其可操作為將來自多個視頻源的數據多路復用到分組數據流中;編碼器,其用于用第一分組的依賴性關系字段中的二進制碼來表示分組數據流中第一分組對第二分組的依賴性,該二進制碼用于將該依賴性描述為第一分組與第二分組之間的子集關系;以及分組數據接收器,其包括用于接收分組數據流的解碼器,該解碼器用于對分組數據流中的分組的依賴性進行解碼。
在另一實施例中,本發明的分組數據傳輸系統包括分組數據發射器,其可操作為將來自多個視頻源的數據多路復用到分組數據流中;編碼器,其用于用第一方向依賴性子字段中的第一二進制碼和第二方向依賴性子字段中的第二二進制碼表示分組數據流的特定分組的依賴性,第一二進制碼用于描述該特定分組對設置在分組數據流的一個方向上的分組的依賴性,并且第二二進制碼用于描述該特定分組對設置在分組數據流的相反方向上的分組的依賴性;以及分組數據接收器,其包括用于接收分組數據流的解碼器,該解碼器用于對分組數據流中的分組的依賴性進行解碼。
附圖結合在說明書中,并構成說明書的一部分,用于說明本發明的一個或多個目前優選的示例性實施例。根據以下結合所附權利要求并參考附圖進行的詳細描述,本發明的各種優點和特征將變得容易理解,附圖中圖1示出了可以實現本發明的一個實施例的示例性分組數據傳輸系統;圖2示出了可操作于圖1的分組數據傳輸系統中的示例性分組數據序列;圖3示出了根據本發明的啟示的分組相互依賴性編碼方案的一個實施例;圖4示出了圖3的分組相互依賴性編碼方案的圖示;圖5示出了可以實現本發明的另一實施例的示例性分組數據傳輸系統;圖6示出了用于根據本發明的啟示對分組相互依賴性進行編碼的相對位移指針(RDP)字段的一個實施例;圖7示出了使用RDP字段的分組相互依賴性編碼方案的圖示;圖8A和圖8B示出了分組相互依賴性關系的傳遞特性的圖示;以及圖9A和圖9B是與本發明的實施例相關聯的流程圖。
具體實施例方式
現在將參考關于如何最好地實現和使用本發明的各種實例來描述本發明的實施例。在整篇描述和幾幅附圖中使用相同的參考標號來表示相同的或相應的部分,其中各單元不一定是按比例畫出的。現在參考附圖,并且特別地參考圖1,圖1中示出了示例性的分組數據傳輸系統100,在該分組數據傳輸系統100中可以實現本發明的實施例,以便對可能存在于數據分組之間的分組間依賴性關系進行編碼。根據示圖,分組數據傳輸系統100可以包括任意的通用傳輸系統,其包括其中存在分組相互依賴性的分組化(packetized)數據的生成、發送和接收。例如,根據在本發明公開的背景技術部分曾提到的,與壓縮視頻序列有關的載運數據的分組具有依賴性關系,原因是某些分組包含了依賴于序列中的其他分組的內容的數據。因此,在一個示例性實施例中,分組數據傳輸系統100可以包括壓縮視頻傳輸系統,但是很明顯,本發明的啟示也可以在其他的分組數據傳輸系統中得到實現。
如圖所示,分組數據傳輸系統100包括多個數據源,例如源1 102-1至源N 102-N,這些源生成用于傳輸的數據分組。分組數據發射器104可操作為對來自N個獨立源的分組數據進行多路復用,以便可以在單個共享鏈路110上傳送合并的數據,用以由分組數據接收器108接收。與分組數據發射器104相關聯的解碼器106可操作為提供分組間依賴性關系編碼機制,其中為每個分組提供在下文中將詳細說明的依賴性關系字節(DRF)。本領域的普通技術人員將能夠理解,盡管圖1中將解碼器106示出為獨立的方框,但是解碼器106也可以集成在分組數據發射器104內。此外,解碼器可以設置在傳輸系統100的更上游位置,以便在對來自每個數據源的獨立數據流進行多路復用以便傳輸之前對其進行適當地編碼。不管在分組數據傳輸系統100的源端如何實現編碼,解碼器110都與分組數據接收器108相關聯,解碼器110可操作為對已編碼的分組數據進行解碼,以便確定所接收的分組的合適的分組間依賴性。
圖2示出了可操作于圖1的分組數據傳輸系統中的示例性分組數據序列200,其中可能產生分組相互依賴關系。作為例子,將可以由分組數據發射器104生成的分組數據序列200示出為包括兩個子序列,子序列A 202A和子序列B 202B。每個子序列依次包括多個可能顯示出某種程度的相互依賴性的分組,即使一個子序列中的分組通常不依賴于另一個子序列的分組。將子序列A 202A例示為具有N個分組,A(1)204-1至A(N)204-N,而子序列B 202B包括M個分組,B(1)206-1至B(M)206-M。作為替代,在數據流中,某些子序列可以具有相同數目的分組。
圖3示出了根據本發明的啟示的分組相互依賴性編碼方案300的一個實施例。作為示例,將包括N個分組的子序列A例示為其中為每個分組提供與之相關聯的任意大小的DRF(即任意大小的二進制字段)的分組數據流。對于整個分組數據流,為數據流的開頭分組A(1)204-1提供DRF 302-1,為下一個分組A(2)204-2提供DRF 302-2,依此類推。在N個數據分組之中存在多個相互依賴性關系,從而數據流的至少一個分組的內容依賴于數據流中的另一個分組的內容。根據本發明的啟示,用與第一分組相關聯的DRF中的二進制碼來表示數據流中的第一分組對數據流中的第二分組的依賴性,以便使用集合論公式對二進制碼進行編碼,其中所述集合論公式用于將該依賴性描述為第一分組與第二分組之間的子集關系。因此,由DRF編碼機制創建的子集關系的數目和數據分組之間存在的相互依賴性的數目一樣多。如圖所示,例示了K個相互依賴關系,基于通過本發明的DRF編碼機制對分組的DRF進行的二進制編碼,K個相互依賴關系可以產生K個子集公式。
在實現方面,可以在每個數據分組的報頭塊中提供DRF,因此有可能會需要對分組數據傳輸系統所用的分組數據協議進行某種修改。作為替代,可以在數據分組的有效載荷部分中提供DRF,只要傳輸系統能夠出于對分組相互依賴性進行解碼的目的適當地處理DRF并且不把DRF作為數據本身的一部分就行了。
圖4示出了圖3的分組相互依賴性編碼方案的圖示。參考標號400指的是6個數據分組(分組A 402-A至分組F 402-F)的流,每個數據分組具有5比特的DRF,對該5比特的DRF進行適當地編碼以描述分組數據中的相互依賴性。相應地,參考標號404-A至404-F分別指向與6個數據分組相關聯的DRF。此外,例示了6個相互依賴性關系分組B依賴于分組A和分組C;分組C接著又依賴于分組A和分組D;并且分組E和分組F同時依賴于分組D。如圖所示,用相應的方向箭頭406-1至406-6來表示這6個相互依賴性關系。
在一個實施例中,可以設置開頭分組的DRF的最高有效位(MSB),以便表示其中可能存在一個或多個相互依賴關系的子序列的開頭。換言之,設置開頭分組的DRF的MSB實現了分組集群的劃分,所述分組集群需要基于其中的任意相互依賴性適當地進行編碼。如圖4所示,設置與分組A相關聯的DRF 404-A的MSB,由此表示序列的開始。將子序列中的其余分組的DRF的MSB全部清除(即MSB=0)。然后以二進制碼的形式對每個DRF的子字段(即MSB后面的比特,在下文中稱為“子DRF”)進行編碼,以便當提供5比特DRF的全補碼時,這些DRF可操作為以數學的真子集公式的形式表示依賴性。例如,為了表示分組B依賴于分組A,將分組B的子DRF編碼為〔1000〕,因此其DRF變為〔01000〕,其為用二進制碼編碼為〔11100〕的分組A的DRF 404-A(即分組A的子DRF為〔1100〕)的真子集。使用集合論符號,將這種關系表示為BA,即B是A的真子集。在圖4中,參考標號408-1指的是這種子集關系。同樣,為了表示分組B依賴于分組C,將分組C的子DRF編碼為〔1100〕,因此其DRF變為〔01100〕。因此,分組B的DRF仍為分組C的DRF的真子集,同時分組C本身又依賴于分組A(由于〔01100〕是分組A的DRF〔11100〕的真子集)。換言之,通過適當地對相應的DRF進行編碼,可以同時保持BC以及CA的關系。在圖4中,分別用參考標號408-2和408-3來標記這些子集關系。按照相似的方式,通過本公開的編碼機制對其余分組的DRF進行編碼分組D的DRF為〔01110〕,分組E的DRF為〔00010〕以及分組F的DRF為〔00010〕。
有可能兩個分組的DRF是相同的,但是它們之間并沒有依賴性關系。例如,應當注意,分組E和分組F的DRF是相同的,因此不存在真子集關系。因此,集合論表示F¢E(由于E的DRF≡F的DRF)與這兩個分組之間的獨立關系保持了一致。
本領域普通技術人員應當意識到以上提出的DRF編碼機制可操作為對分組數據流中的任意數目的相互依賴性關系進行編碼,只要編碼適當的定界符以標識分組集群,其中分組間的DRF比較將被限制在所述分組集群內。在示例性的應用中,比較理想的是利用一種規則,使得子序列中開頭分組(諸如設置DRF的MSB的上述例子中的分組A)同時操作為“結束”(terminator)分組,從而該分組只屬于由其開始的那個子序列。不管如何對序列進行劃界,應當清楚,DRF編碼過程針對每個新的子序列重新開始。
圖5示出了示例性的分組數據傳輸系統500,其中可以實現本發明的另一個實施例。與圖1中的分組數據傳輸系統100相似,獨立源102-1至102-N提供各種分組數據流,用以由分組數據發射器104進行多路復用。正如下面將說明的,與發射器104和/或獨立源相關聯的編碼器502可操作為在每個分組中提供相對位移指針(RDP)字段,以便從屬分組可以指向分組數據流中的其他分組。與分組數據接收器108相關聯的適當的RDP解碼器502可操作為對編碼分組數據進行解碼,以便確定所接收分組的合適的分組間依賴性。
圖6示出了用于根據本發明的啟示對分組相互依賴性進行編碼的任意大小的相對位移指針(RDP)的實施例。參考標號600指向通用的RDP編碼的分組,其包括有效載荷塊602和RDP字段604。在所示出的示例性實施例中,將RDP字段604示出為獨立于有效載荷塊602的字段,其可能位于報頭塊(未具體示出)中。然而,在其他的實施例中,可以在通用的數據分組600中的其他位置提供RDP字段604。不管位于什么位置,RDP字段604都包括“Start(開始)”子字段606、第一方向依賴性子字段608和第二方向依賴性子字段610,其中每個子字段可以包含適當數目的比特。在一個實現中,本公開的RDP編碼機制可以用設定的單個比特對開頭分組的開始子字段606進行編碼(即Start=1),以便對跟在該開頭分組后面的相關分組集群進行編碼。該集群中的所有其他分組被編碼為Start=0。使用用于描述該分組對設置在分組數據流的一個方向上的分組(例如位于所考慮分組的前面或后面)的依賴性的第一二進制碼來對該分組的第一方向依賴性子字段608進行編碼。同樣,使用用于描述該分組對設置在分組數據流的另一個方向上(即在與第一方向依賴性子字段608所標識的方向相反的方向)的分組的依賴性的第二二進制碼來對該分組的第二方向依賴性子字段610進行編碼。
作為實現,基本上,用代表從屬分組與其在任一方向上所依賴的分組之間的相對距離的二進制數字對方向依賴性子字段608和610進行了編碼,因此標識了從屬分組所依賴的上游分組以及下游分組。應當意識到,盡管在一個示例性的實現中可以用相同數目的比特(即相同大小)來提供第一方向依賴性子字段608和第二方向依賴性子字段610,但是對本發明來說并不存在這種限制。此外,在給定了協議開銷、復雜度、計算費用等的特定應用中,方向依賴性子字段的大小可以根據在任一方向上將實現多大的指針而有所不同。
圖7示出了使用上述的RDP字段實施例的分組相互依賴性編碼方案的圖示。參考標號700指的是分組數據流,其包含6個分組,分組A702-A至分組F 702-F,每個分組具有5比特的RDP字段,RDP字段被適當地編碼為描述分組數據中的雙向相互依賴性。相應地,參考標號704-A至704-F指的是分別與這6個分組相關聯的RDP字段。此外,與圖4中示出的說明性數據流400類似,例示了同樣的6個相互依賴性關系分組B依賴于分組A以及分組C;分組C依次又依賴于分組A以及分組D;并且分組E和分組F都依賴于分組D。分組A 702-A具有其編碼為〔10000〕的5比特RDP字段704-A,表示分組A是一個序列的開頭分組(原因是其MSB=1)。另外,分組A的第一方向依賴性子字段和第二方向依賴性子字段為〔00〕,因此表示分組A不依賴于任一方向上的任何其他分組。分組B 702-B具有其編碼為〔00101〕的RDP字段704-B,亦即其開始子字段712=〔0〕,第一方向依賴性子字段714=〔01〕并且第二方向依賴性子字段716=〔01〕。因此,分組B 702-B依賴于其左邊的一個分組(即分組A)以及其右邊的一個分組(即分組C)。根據用于表示方向的無論何種約定,從分組B的觀點來看,這些分組都位于上游或下游(或者,前面或后面)。同樣,分組C 702-C具有其編碼為〔01001〕的RDP字段704-C,從而其開始子字段706=〔0〕,第一方向依賴性子字段708=〔10〕(表示分組C對設置在距離其自身兩個分組的位置的分組的依賴性)并且第二方向依賴性子字段710=〔01〕(表示分組C對設置在距離其一個分組之處的分組的依賴性)。如圖所示,這些分組分別是分組A和分組D。以相似的方式,本發明的RDP編碼機制提供了分組D、分組E和分組F的RDP子字段,分別是〔00000〕(表示分組D不是從屬分組,也不是開頭分組),〔00100〕(表示分組E依賴于分組D)以及〔01000〕(表示分組F依賴于分組D)。
應當注意,在上述的示例性RDP字段編碼方案中,只使用了5個比特,其將方向位移指針限制為在每個方向上最多指出3個分組(〔00〕=沒有依賴性;〔01〕=距離一個分組;〔10〕=距離兩個分組;以及〔11〕=距離三個分組)。通過利用圖8A和圖8B中示出的依賴性關系的傳遞特性可以超過這一范圍。在圖8A中,參考標號800A指的是5個分組的序列,分組A 802-A至分組E 802-E,每個分組具有5比特的RDP字段804-A至804-E。示出了4個依賴性關系808-1至808-4分組B、C、D和E中的每一個都只依賴于分組A。盡管5比特的RDP字段804-B至804-D已經足以描述分組B、C和D的依賴性(依賴于分組A),但是用這種指針卻不能描述分組E對分組A的依賴性,原因是相對位移超過了3。在圖8B中,編碼利用了依賴性的傳遞特性,其中參考標號800B指的是5個分組的序列,對其所具有的分組相互依賴性進行分解以便從屬分組依賴于最多只距離一個分組的分組。由于分組E依賴于分組D,而分組D依次依賴于分組C,分組C依賴于分組B,分組B依次依賴于分組A,因此利用傳遞特性來表示分組E最終依賴于分組A,獲得一組新的依賴性810-1至810-4。同樣,分組D對于分組A的長達3個分組距離的依賴性可以分解為多個長達1個分組距離的依賴性(通過分組C、分組B以及最終的分組A)。換言之,通過利用關系的傳遞特性,可以將“長距離”并行依賴性分解為“短距離”串行依賴性。由于每個這些依賴性只描述一個分組的位移,可以對分組的5比特RDP字段806-A至806-E進行適當地編碼,以表示這些依賴性關系。
參考圖9A和圖9B,其中示出了兩個與本發明的實施例相關聯的流程圖。在圖9A中,流程圖描述了在用于描述分組數據流中的相互依賴性的DRF編碼方案中涉及到的操作。對于分組數據流中的每個分組,由設置在分組數據傳輸系統中的編碼器來提供DRF部分(方框902)。如在之前的描述中所提到的,DRF部分可以占用分組報頭的一個部分或被設置在分組的有效載荷內。編碼器可操作為用DRF部分中的二進制碼來表示數據流(例如,相關分組的子序列或集群)中第一分組對第二分組的依賴性,其中二進制碼基于集合論公式描述依賴性,即將其描述為第一分組與第二分組之間的子集關系(方框904)。
在圖9B中,流程圖描述在用于描述分組數據流中的相互依賴性的RDP字段編碼方案中涉及到的操作。對于分組數據流中的每個分組,由在分組數據傳輸系統中的編碼器提供RDP字段,其中RDP字段包括第一方向依賴性子字段和第二方向依賴性子字段(方框920)。如在本公開的其他部分所說明的,RDP字段可以占用分組報頭的一部分或被設置在分組的有效載荷內。編碼器可操作為用第一方向依賴性子字段中的第一二進制碼和第二方向依賴性子字段中的第二二進制碼來表示數據流(例如,相關分組的子序列或集群)中的特定分組的依賴性,其中第一二進制碼用于描述該特定分組對設置在分組數據流的一個方向上的分組的依賴性,并且第二二進制碼用于描述該特定分組對設置在分組數據流的相反方向上的分組的依賴性(方框922)。
基于之前的詳細描述,應當意識到,本發明的示例性實施例有利地提供了用于描述分組數據傳輸系統中的分組相互依賴性的壓縮信令機制。因此,在此描述的實施例為設置在分組數據傳輸系統中的數據流業務管理器提供了必需的信息,使得該管理器可以以智能的方式管理并有可能避免不必要的分組數據丟失(例如由于擁塞管理策略)。特別地,如果必須丟棄兩個分組之一以解決擁塞,并且如果一個分組依賴于另一個,則管理器可以丟棄從屬分組,因為丟棄獨立分組會導致從屬分組也不能使用。此外,在此提出的實施例的壓縮方面使得可以在不使用附加的“帶外”(out-of-band)信令分組的情況下將分組相互依賴性信息利用信號發送給業務管理器,因此可以使協議開銷、計算復雜度等等最小化。
雖然已經參考某些示例性實施例對本發明進行了描述,但是應當理解,所示出和所描述的本發明的形式只可作為示例性實施例。因此,在不偏離由所附權利要求所限定的本發明的精神和范圍的情況下可以實現各種變化、替換和修改。
權利要求
1.一種對分組數據流中的分組相互依賴性進行編碼的方法,包括為所述分組數據流中的每個分組提供與之相關聯的依賴性關系字段;以及用第一分組的所述依賴性關系字段中的二進制碼來表示所述分組數據流中所述第一分組對第二分組的所述依賴性,所述二進制碼用于將所述依賴性描述為所述第一分組與所述第二分組之間的子集關系。
2.根據權利要求1所述的對分組數據流中的分組相互依賴性進行編碼的方法,其中,所述第一分組與所述第二分組之間的所述子集關系包括真子集關系。
3.根據權利要求1所述的對分組數據流中的分組相互依賴性進行編碼的方法,其中,在所述第一分組的報頭塊中提供所述依賴性關系字段。
4.根據權利要求1所述的對分組數據流中的分組相互依賴性進行編碼的方法,其中,在所述第一分組的有效載荷塊中提供所述依賴性關系字段。
5.根據權利要求1所述的對分組數據流中的分組相互依賴性進行編碼的方法,其中,用耦合到視頻分組數據發射器的編碼器對所述依賴性關系字段進行編碼。
6.根據權利要求5所述的對分組數據流中的分組相互依賴性進行編碼的方法,其中,所述視頻分組數據發射器可操作為對來自多個視頻源的數據進行多路復用。
7.一種用于發送分組數據流的分組數據傳輸系統,包括分組數據發射器,其可操作為將來自多個視頻源的數據多路復用到所述分組數據流中;編碼器,用于用第一分組的依賴性關系字段中的二進制碼來表示所述分組數據流中所述第一分組對第二分組的依賴性,所述二進制碼用于將所述依賴性描述為所述第一分組與所述第二分組之間的子集關系;以及分組數據接收器,其包括用于接收所述分組數據流的解碼器,所述解碼器用于對所述分組數據流中的分組的依賴性進行解碼。
8.根據權利要求7所述的用于發送分組數據流的分組數據傳輸系統,其中,所述第一分組與所述第二分組之間的子集關系包括真子集關系。
9.根據權利要求7所述的用于發送分組數據流的分組數據傳輸系統,其中,在所述第一分組的報頭塊中提供所述依賴性關系字段。
10.根據權利要求7所述的用于發送分組數據流的分組數據傳輸系統,其中,在所述第一分組的有效載荷塊中提供所述依賴性關系字段。
全文摘要
一種用于對分組數據流中的分組相互依賴性進行編碼的方法和系統。在一個實施例中,該方案包括為分組數據流中的每個分組提供與之相關聯的依賴性關系字段;以及用第一分組的依賴性關系字段中的二進制碼來表示分組數據流中第一分組對第二分組的依賴性,該二進制碼用于將依賴性描述為第一分組與第二分組之間的子集關系。
文檔編號H04L12/56GK1897574SQ20061009315
公開日2007年1月17日 申請日期2006年6月22日 優先權日2005年7月15日
發明者約翰·布蘭頓 申請人:美國阿爾卡特資源有限合伙公司