專利名稱:Fec編碼方法、fec解碼方法和fec解碼設備的制作方法
技術領域:
本發明涉及用于恢復在以分組形式傳輸流信息時出現的分組損 失的FEC編碼方法、FEC解碼方法和FEC解碼i殳備,例如適用于其 中分組的供給密度隨著時間變化的情況下的FEC編碼方法、FEC解 碼方法和FEC解碼設備。
背景技術:
FEC(前向糾錯)通常用作在接收端恢復在產生用來在網絡上傳輸 流數據例如視頻和音頻的分組(媒體分組)傳輸期間的局部損失的技術。
例如,在采用FEC進行信息傳輸中,為一組媒體分組設定損失 恢復規范,從而采用這組媒體分組的信息來進行FEC操作以針對該損 失恢復能力產生出相應數量的FEC分組。更具體地說,例如在編碼端 上對于100個々某體分組產生出20個FEC分組,并且將兩種分組輸出 給網絡。
上述FEC分組的生成沒有完全結束,直到提供了規定數量(在上 述實施例中為IOO)的媒體分組。因此,這些分組不能輸出給網絡,直 到提供了對于FEC操作所需的媒體分組,這會造成延遲。此外,如果 以隨著時間不變的密度提供媒體分組,則給網絡的輸出也以固定的速 度,但是如果媒體分組的提供密度隨著時間變化,則密度越低則延遲
增大,從而在給網絡的輸出之間的間隔可能變得不規則,大于在原始 媒體分組之間的間隔,從而導致以突發形式(塊形式)的分組輸出。
隨著時間變化的媒體分組的提供密度的具體示例包括以VBR(可 變位速率)編碼的視頻和音頻流的情況以及其中在網絡上重新傳輸數 字廣播軟件中忽略了數據的冗余部分以降低在網絡上的負載的情況 (例如在MPEG2-TS中沒有零(null)的情況中)。
上述兩種情況存在抑制在網絡上的平均帶寬(band)的作用,但 是趨向于在采用上述FEC時在緩沖存儲器中造成溢出或下溢,因為采 用突發形式的分組在接收端上被接收。如杲出現溢出或下溢,則視頻 和音頻中斷。為了防止該中斷,可想到的方法在于增大緩沖存儲器的 容量,但是該方案增加了到達真實再現的時間周期,從而導致有問題 的延遲和可操作性。
要指出的是,與本發明相關的現有技術包括在以下專利文獻l和 2中所述的那些技術。這些文獻的公開內容沒有描述檢測自從媒體分 組的有效負載已經開始存儲到緩沖存儲器中開始的時間段是否到達一 定時間或者檢測在檢測時刻的狀態中的任意處理的性能。 JP-A 2005-136546(KOKAI)
[專利文獻2j JP-A 2001-86153(KOKAI)
發明內容
本發明的目的在于提供用于恢復在以分組形式傳輸流信息時出 現的分組損失的FEC編碼方法、FEC解碼方法和FEC解碼設備,它 們即使在其中分組的供給密度隨著時間變化時也能夠避免以突發形式 輸出。
作為本發明一個方面的FEC編碼方法包括將包括在順序提供 的媒體分組中的每個有效負載順序存儲到緩沖存儲器中;檢測存儲到 緩沖存儲器中的有效負載數量是否達到規定數量,或者檢測自從有效 負載已經能夠開始存儲到緩沖存儲器中開始的時間段是否達到一定時 間段;在檢測到存儲到緩沖存儲器中的有效負載數量達到規定數量時,
采用存儲到緩沖存儲器中的規定有效負栽數量進行FEC操作以產生 出用于FEC的第一信息;在檢測到自從有效負載已經能夠開始存儲到 緩沖存儲器中開始的時間段達到一定時間段時,采用存儲到緩沖存儲 器中的有效負載進行FEC操作以產生出用于FEC的第二信息;將第 一信息與對應于該第 一信息的媒體分組一起輸出;并且將第二信息與 對應于該第二信息的媒體分組一起輸出。
換句話說,在FEC編碼方法中,提供了用于FEC操作的規定數 量媒體分組,從而產生出用于FEC的第一信息,并且另外可以進行隨 后的處理。更具體地說,在自從媒體分組的有效負栽已經能夠開始存 儲到緩沖存儲器中開始的時間段達到一定時間段時,采用所存儲的有 效負載進行FEC操作,直到產生出用于FEC的第二信息。然后,將 第一信息與對應于該第一信息的媒體分組一起輸出,并且將第二信息 與對應于該第二信息的媒體分組一起輸出。
因此,即使在將規定數量的有效負栽存儲到緩沖存儲器中之前的 一定時間段內也可以進行FEC操作,并且作為操作結果的第二信息可 以和與之對應的媒體分組一起順序輸出。因此,即使在原始媒體分組
的供應密度隨著時間變化的情況下,也能夠避免出現以突發形式的輸 出。
另外,作為本發明另一個方面的FEC編碼方法包括將包括在
順序接收的媒體分組中的每個有效負載順序存儲在緩沖存儲器中的第 一位置處;將所接收的要附加于一組媒體分組的用于FEC的信息順序 存儲在緩沖存儲器中與第一位置不同的第二位置處;從存儲到緩沖存 儲器中的第二位置處的用于FEC的信息中檢測這組媒體分組的分組 數量;在將與所檢測的分組數量對應的有效負載數量存儲在緩沖存儲 器中的第一位置處時,檢測在要存儲在緩沖存儲器中第一位置處的一
部分有效負載中是否出現損失;并且當在要存儲在緩沖存儲器中第一 位置處的一部分有效負載中出現了損失時,采用存儲到緩沖存儲器中 第一位置處的現有有效負栽和存儲到緩沖存儲器中第二位置處的用于
FEC的信息進行FEC操作,以恢復該損失。 該FEC解碼方法為與上述FEC編碼方法對應的解碼方法。更具 體地說,從存儲在緩沖存儲器中的第二位置處的用于FEC的信息中檢 測出在一組中的媒體分組數量。當將與所檢測出的分組數量對應的相
應有效負載數量存儲在緩沖存儲器中時,檢測在要存儲在緩沖存儲器 中的第一位置處的一部分有效負載中是否出現了損失。另外,在存在
損失時,采用存儲在緩沖存儲器中的第一位置處的現有有效負載和存 儲在第二位置處的用于FEC的信息進行FEC操作,以便恢復該損失。 根據該方法,與上述FEC編碼方法對應,即使對于其中已經采用少于 規定數量的有效負載產生出用于FEC的信息的情況,也順序進行FEC 編碼。
另外,作為本發明再一個方面的FEC解碼設備包括緩沖存儲 器;第一控制單元,被配置為將包括在順序接收的媒體分組中的每個 有效負栽順序存儲在緩沖存儲器中的第一位置處;第二控制單元,被 配置為將所接收的要附加于一組媒體分組的用于FEC的信息存儲在 緩沖存儲器中與第一位置不同的第二位置處;第三控制單元,被配置 為從存儲在緩沖存儲器中第二位置處的用于FEC的信息中檢測這組 媒體分組的分組數量;第四控制單元,被配置為在將與所檢測的分組 數量對應的有效負載數量存儲在緩沖存儲器中的第一位置處時,檢測
在要存儲到緩沖存儲器中第一位置處的一部分有效負載中是否出現損 失;以及第五控制單元,被配置為當在要存儲到緩沖存儲器中第一位 置處的一部分有效負載中出現了損失時,采用存儲到緩沖存儲器中第 一位置處的現有有效負載和存儲在緩沖存儲器中第二位置處的用于 FEC的信息進行FEC操作,以恢復該損失。
FEC解碼設備位包括緩沖存儲器和控制單元以實現上述FEC解 碼方法的設備。
根據本發明,可以提供用于恢復在以分組形式傳輸流信息時出現 的分組損失的FEC編碼方法、FEC解碼方法和FEC解碼設備,它們 即使在其中分組的供給密度隨著時間變化的情況下也能夠避免以突發
形式進行輸出。
圍l為一方框圖,顯示出根據一個實施方案用于實施FEC編碼 方法和FEC解碼方法的設備。
圖2為一說明圖,顯示出產生出FEC分組的示例(在提供規定數 量媒體分組的情況中)。
圖3A和3B為結構圖,顯示出媒體分組和FEC分組的內部數據 結構示例。
圖4為一說明圖,顯示出產生出FEC分組的示例(在沒有提供規 定數量的媒體分組的情況中)。
圖5為一流程圖,顯示出在圖1中所示的FEC設備(編碼端)的操 作流程。
圖6為一流程圖,顯示出在圖1中所示的FEC設備(解碼端)的操 作流程。
圖7為一說明圖,顯示出產生出FEC分組的另一個示例(在提供 規定數量的媒體分組的情況中)。
圖8為一說明圖,顯示出產生出FEC分組的另一個示例(在沒有 提供規定數量的媒體分組的情況中)。
圖9為一說明圖,顯示出產生出FEC分組的再一個示例(在提供 規定數量的媒體分組的情況中)。
圖IO為一說明圖,顯示出產生出FEC分組的再一個示例(包括 沒有提供規定數量的媒體分組的情況)。
圖11為一說明圖,顯示出產生出包括FEC冗余數據的媒體分組 的示例(在提供規定數量的媒體分組的情況中)。
圖12為一結構圖,顯示出包括FEC冗余數據的媒體分組的內部 數據結構示例。
圖13為一說明圖,顯示出產生出包括FEC冗余數據的媒體分組 的示例(在沒有提供規定數量的媒體分組的情況中)。
圖14為一流程圖,顯示出與圖11和13對應的在圖1中所示的FEC設備(編碼端)的操作流程。
圖15為一流程圖,顯示出與圖11和13對應的在圖1中所示的 FEC設備(解碼端)的操作流程。
具體實施方式
(實施方案的說明)
下面將參照這些附圖對本發明的實施方案進行說明,這些實施方 案只是用于舉例說明并且決不是對本發明進行限定。
本發明的一種形式(FEC編碼方法)能夠如此構成,從而將關于用 在FEC操作中的存儲到緩沖存儲器中的有效負栽數量的信息進一步加 入到第二信息中。根據該形式,在解碼端上能夠很容易檢測出在編碼
外)的數量。
另外, 一種形式能夠如此構成,從而另外將表示第二信息與第一 信息不同的信息加入到第二信息。根據該形式,可以很容易在解碼端 上檢測出沒有使用規定數量的有效負載來進行在編碼端上的FEC操作。
另外, 一種形式能夠如此構成,從而采用存儲到緩沖存儲器中的 有效負栽和所填補的啞有效負載通過FEC操作進行第二信息的生成。 這是這樣一種形式,其中將啞有效負載填補在緩沖存儲器中以允許如 通常一樣進行FEC操作。
這里還可能的是,在生成第二信息的FEC操作能夠只是采用啞有 效負載進行時,不進行FEC操作,從而通過FEC操作獲得的第二信息 沒有產生出。這使得能夠更有效地生成用于FEC的第二信息。
另外, 一種形式能夠如此構成,從而第一和第二信息兩者都生成 作為與媒體分組獨立的FEC分組。這是這樣一種形式,其中將由FEC 操作獲得的第一和第二信息作為分組發送。
另外, 一種形式還能夠這樣構成,從而將第一和第二信息兩者都 加入到分別與第 一和第二信息對應的媒體分組中。這是這樣一種形式,
其中將由FEC操作獲得的第 一和第二信息加入到媒體分組中。
本發明的一種形式(FEC解碼設備)能夠如此構成,從而第五控制 單元將啞有效負栽填補在緩沖存儲器中的笫一位置處,在那里沒有出 現損失并且還沒有存儲任何有效負載,并且進行FEC操作。這是這樣 一種形式,其中與在編碼端上填補啞有效負栽對應地進行FEC操作。 根據上面,下面將參照這些附圖對本發明的實施方案進行說明。 圖1為一方框圖,顯示出根據一個實施方案用于實施FEC編碼方法和 FEC解碼方法的設備的結構。信息從視頻流服務器IO順序送給FEC 設備(編碼端20)、網絡30、 FEC設備(解碼端)40和視頻流接收裝置 50,由此從發送端將信息例如視頻發送給接收端。
視頻流服務器IO產生出包含有信息例如視頻的媒體分組(其結構 將在后面描述),并且將它們順序提供給FEC設備(編碼端)20。 FEC 設備(編碼端)20存儲有多個所提供的媒體分組,采用所存儲的媒體分 組的有效負栽部分進行FEC操作(編碼操作),并且采用操作結果作為 FEC分組的有效負載部分產生出FEC分組。通過網絡30將媒體分組 和所產生出的FEC分組發送給FEC設備(解碼端)40側和視頻流接收 裝置50。要指出的是,FEC設備(編碼端)20可以結合在視頻流服務器 10中。
網絡30為沒有保證的信息發送路徑,例如因特網。從FEC設備 (編碼端)20輸出的媒體分組和FEC分組根據情況在網絡30上發送期
間可能部分損失。
FEC設備(解碼端)40順序存儲通過網絡30發送的媒體分組和 FEC分組,從而如果在一部分4某體分組中存在損失,則該設備通過使 用剩余媒體分組的有效負載部分和FEC分組的有效負載部分進行 FEC操作(解碼操作)來使該損失恢復。將通過恢復獲得的媒體分組和 所存儲的媒體分組提供給視頻流接收裝置50。視頻流接收裝置50從
所提供的媒體分組中再現視頻信號和音頻信號以便顯示或音頻輸出。 要指出的是,FEC設備(解碼端)40也能夠結合在視頻流接收裝置50中。
FEC設備(編碼端):JO具有接口 21、控制單元22、緩沖存儲器23 和接口 24。
接口 21為用未接收從視頻流服務器IO提供的媒體分組升且將它 們發送給控制單元22的接口。控制單元22用來采用緩沖存儲器23 作為緩沖區域來進行FEC操作(編碼操作)。更具體地說,控制單元22 進行以下處理,順序保持通過接口 21發送的媒體分組、將在順序保持 的媒體分組中的有效負載部分順序存儲在緩沖存儲器23中的預定位 置處、使用存儲在預定位置處的有效負載進行FEC操作以產生出用于 FEC分組的有效負載并且產生出包括用于FEC分組的所生成有效負 載的FEC分組。緩沖存儲器23具有能夠存儲至少對于上述FEC操作 所需的所有有效負載的存儲容量。
元22輸出給接口 24。接口 24為用于從控制單元22將媒體分組和FEC 分組輸出給網絡30的接口。
FEC設備(解碼端)40具有接口 41、控制單元42、緩沖存儲器43 和接口 44。
接口 41為用來從網絡30接收媒體分組和FEC分組并且將它們 提供給控制單元42的接口 。控制單元42用來采用緩沖存儲器43作為 緩沖區域來進行FEC操作(解碼操作)。
更具體地說,控制單元44進行以下處理,順序保持通過接口 41 發送的媒體分組和FEC分組、將在順序保持的媒體分組中的有效負載 部分順序存儲在緩沖存儲器43中的第 一預定位置處、將在順序保持的 FEC分組中的有效負載部分順序存儲在緩沖存儲器43中的第二預定 位置處、并且當在媒體分組的所存儲有效負載中存在損失時,通過使 用剩余有效負栽和存儲在第二位置處的FEC分組的有效負載進行 FEC操作(解碼操作)來恢復損失的有效負載。緩沖存儲器43具有能夠 存儲至少對于上述FEC採作所需的所有有效負載的存儲容量。
包括含有通過恢復獲得的有效負載的分組的在控制單元42中的 :煤體分組從控制單元42輸出給接口 44。接口 44為用來從控制單元42
將媒體分組提供給視頻流接收裝置50的接口 。
接下來將參照圖2對在控制單元22中產生出FEC分組的實施例 進行說明。閨2為一說明圖,顯示出生成FEC分組的示例(在提供規 定數量的媒體分組的情況中)。
如圖2所示,在該實施例中,媒體分組的有效負載部分如此存儲 到緩沖存儲器"中,從而十個有效負載按照其序列號的順序安排在辟 度和經度方向的每一個中。更具體地說,在FEC操作中的規定數為 100。采用在每一行或每一列中的十個媒體分組的有效負載將FEC分 組的有效負載部分計算作為每一個FEC有效負載(rl至r10, cl至 c10)。在此說明書中,對于100個々某體分組加入20個FEC分組。
在該情況中,即使在由在每一行或每一列中的有效負載和加入到 其上的每個FEC有效負載構成的每11個有效負載的任一個中存在一 個損失時,在解碼端上能夠使用包括FEC有效負載的剩余有效負載恢 復這一個損失。因此,例如在某一行中存在兩個或多個損失時,不能 一次恢復這些損失。
但是,在其中按每一列通過FEC操作(解碼操作)恢復兩個或多個 損失從而在該行中只有一個損失的狀態中,如果再次進行每一行的 FEC操作(解碼操作),則能夠恢復這一個損失。更具體地說,與這種 FEC操作(編碼操作)對應的解碼包括按照每一行、每一列和每一行(或 每一列、每一行和每一列)的順序包括三個FEC操作(解碼操作)。要指 出的是,由于用于這些操作的幾個模式是公知的并且能夠使用,所以 將省略這些FEC操作(編碼操作和解碼操作)的說明。
圖3A和3B為結構圖,顯示出媒體分組和FEC分組的內部數據 結構示例。如圖3A所示,媒體分組60由報頭部分和有效負載部分構 成,并且報頭部分由例如IP報頭61、 UDP報頭62和RTP報頭63 構成。有效負載部分為RTP有效負載64。 RTP有效負載64用來產生 用于FEC分組的有效負載。
另外,如圖3B所示,FEC分組70由報頭部分和有效負載部分 構成,并且報頭部分由例如IP報頭71、 UDP報頭72、 RTP報頭73
和FEC才艮頭74構成。有效負栽部分為FEC有效負栽75。通過使用 媒體分組(圖3A)的多個(在圖2中的該實施例中為10個)RTP有效負栽 64進行的搮作生成FEC有效負載75。 FEC報頭74如后面所迷一樣 保持著有關FEC操作(編碼操作)的預定屬性的信息。
接下來參照圖4,將在其中沒有提供規定數量的媒體分組的情況 中對在控制單元22中產生出FEC分組的實施例進行說明。圖4為一 說明圖,顯示出產生FEC分組的示例(在沒有提供規定數量的媒體分 組的情況中)。
如參照圖2所述的一樣,在該實施例中用來產生FEC分組的媒 體分組的規定數量為100。但是,如后面所述一樣,如果在劃分的一 定時間內沒有給控制單元22提供規定數量的媒體分組,則使用直到目 前為止所存儲的媒體分組的有效負載產生出FEC有效負載。
如圖4所示,例如當現在將例如少于規定數量的27個媒體分組 提供給控制單元22直到預定時刻并且將其有效負載存儲時,將啞有效 負載加入(填補)到如所示一樣的剩余存儲區域中,從而所填補的有效 負載也用來進行生成FEC有效負載的操作。在所示的序列號31和之 后的每一行中的FEC有效負載的生成這里可以省略。因為只是使用啞 有效負載進行操作,所以確定了該結果,并且當然不必發送包括其生 成被忽略的FEC有效負載的FEC分組。在該情況中,為27個媒體分 組將加入13個FEC分組(rl至r3和cl至c10)。
通過這種處理生成FEC有效負栽具有以下優點。這些FEC分組 在劃分的時間段中生成,并且將媒體分組輸出給網絡30,從而即使在 原始媒體分組在時間方面的提供密度較低時,也能夠根據該低密度順 序輸出這些媒體分組。因此,解決了在更低密度情況下進行發送中的 延遲增大的問題,并且基本上消除了所輸出的分組形成突發的可能性。
另外,不能發送使用所填補的啞有效負載生成的分組和只使用啞 有效負載生成的FEC分組,以便使在網絡30上的平均帶寬的增大最 小。而且,如果使用少于規定數量的媒體分組生成FEC分組,則改善 了恢復媒體分組的損失的基本能力。這是因為,在確定所要填補的有 效負栽信息時,根據還能夠進行哪個FEC操作(解碼操作)在無需恢復 該損失的情況下能夠在解碼端上補足該損失。
要指出的是,雖然在前面摘迷了啞有效負載的填補,但是作為一 變化實施例,可以用啞有效負載填補有效負栽的存儲區域作為其初始 狀態。在該情況中,不必在每次提供媒體分組時用媒體分組的有效負 載重寫存儲區域。此外,也可以將通過包括只使用啞有效負載進行操 作而生成的FEC有效負載的FEC分組發送給網路30,其決不會妨礙 解碼處理,因為它只需在解碼端上丟棄它們,但是在網絡30上的平均 帶寬稍微增加。
圖5為一流程圖,顯示出在圖1中所示的FEC設備(編碼端)20 的操作流程。該操作流程將再次隨著時間進行說明,但是與上面的說 明有些重復。
首先,重置計時器(步驟SIOI)。該計時器例如設置在控制單元22 中。然后,在控制單元22的控制下,從自視頻流服務器IO通過接口 21提供的并且存儲到緩沖存儲器23中的媒體分組提取有效負載部分 (步驟S102)。原始媒體分組也被保持。
在控制單元22的控制下檢測出所存儲的有效負載的數量是否達 到規定數量L或者從計時器重置開始是否已經經過了預定的時間段 (步驟S103)。如果都不能檢測出(在步驟S103中為No),則該流程返 回到步驟S102,其中將從視頻流服務器10提供的媒體分組的有效負 載部分連續存儲到緩沖存儲器23中。
在所存儲的有效負載的數量達到規定數量L時(在步驟S103中的 "規定數量"),則采用存儲到緩沖存儲器23中的有效負載進行FEC操 作(編碼操作)以生成FEC有效負載和FEC分組(步驟107;參見圖2)。 將所生成的FEC分組和與之對應的Jf某體分組一起發送給接口 24側。 另外,該流程返回到步驟IOI,并且重復上述處理步驟。
此外,在從計時器重置開始已經經過了一定時間段(在步驟103 中"已經經過了一定時間段")時,將在那時所存儲的有效負載的數量保 持為N(步驟104),并且將啞有效負載填補在緩沖存儲器23中直到該
數量達到規定數量L(步驟S105)。如上面所述一樣可以提前進行該填補。
然后,使用存儲到緩沖存儲器23中的有效負栽和啞有效負載進 行FEC操作(編碼操作)以產生出FEC有效負載和FEC分組(步驟106: 參見圖4)。更優選的是,FEC分組的所生成的FEC報頭包括上述N 和表示已經進行了填補處理的信息(步驟S106)。如果在FEC報頭中包 括有那些信息,則在解碼端上能夠很容易檢測出它們。要指出的是, 即使在FEC報頭中沒有總是包括這種信息的情況下,也能夠在解碼端 上例如通過根據包括在每個分組的每個報頭中的信息區分作為組發送 的分組并且獲得在該組中的分組的總數來確定N。
將所生成的FEC分組和與之對應的々某體分組一起發送給接口 24 側(步驟108)。另外,該流程返回到步驟101,并且重復上述處理步驟。
圖6為一流程圖,顯示出在圖1中所示的FEC設備(解碼端)的操 作流程。該流程將再次隨著時間進行說明,但是也在一定程度上與上 面的說明重復。
首先,在控制單元42的控制下,將順序接收到的媒體分組和FEC 分組這兩個分組的有效負載部分存儲到緩沖存儲器"中(步驟201)。 將媒體分組的有效負栽部分存儲在用于它們的存儲區域(第一位置) 中,并且將FEC分組的有效負載部分存儲在用于它們的存儲區域(第
二位置)中。
在那時的存儲一直進行到媒體分組的數量達到規定數量L,或者 媒體分組的數量達到N,該N作為當在FEC報頭中同樣包括填補處 理的信息時其信息記錄在FEC報頭中的數量。但是,即使在這種信息 沒有包括在FEC報頭中的情況下,也能夠例如通過根據包括在每個分 組的每個報頭中的信息區分作為組發送的分組并且獲得在該組中的分 組的總數來確定N。
然后,在該存儲一直進行到媒體分組的數量在緩沖存儲器43中 達到N的情況中,在緩沖存儲器43中的剩余存儲區域中將啞有效負 載填補到規定數量L上(步驟202)。如在編碼中一樣該填補可以提前
進行。
然后采用存儲到緩沖存儲器43中的有效負載(任選包括填補的那 些)進行FEC操作(解碼操作),由此恢復所損失的媒體分組(步驟203)。 包括其損失已經恢復的媒體分組的媒體分組通過接口 44發送給視頻 流接收裝置50(步驟204)。另外,該流程返回到步驟201并且重復上 述解碼處理步驟。
接下來將參照圖7對在控制單元22中生成FEC分組的另一個示 例進行說明。圖7為一說明圖,顯示出生成FEC分組的另一個示例(在 提供了規定數量媒體分組的情況中)。
在該示例中,通過使用在每一行或每一列中的媒體分組的十個有 效負載進行操作將FEC分組的每個有效負載部分計算作為兩個FEC 有效負載。在此說明書中,對于100個媒體分組加入40個FEC分組, 因此恢復分組損失的能力高于參照圖2所述的能力。更具體地說,即 使在由在每一行或每一列中的有效負載和加入在其上的FEC有效負 栽構成的12個有效負載中存在任意兩個損失時,也能夠使用包括FEC 有效負載的剩余有效負載恢復這些損失。同樣,在改善恢復分組損失 的能力的另 一種可能的方案中,使用在每一行或每一列中的十個有效 負載進行操作以計算出兩個以上FEC有效負載,由此產生出FEC分 組。
圖8為一說明圖,顯示出產生出FEC分組的另一個實施例(在沒 有提供規定數量媒體分組的情況中)。這是在其中進行如圖7所示的 FEC分組生成但是沒有提供規定數量的媒體分組的情況中在控制單 元22中生成FEC分組的實施例。
參照圖4和7,它們具體顯示出圖8。也就是說,啞有效負載的 填補、只是按啞有效負載省略FEC有效負載的生成以及省略發送這些 FEC分組如上面所述一樣。另外,這些效果例如消除所輸出分組形成 突發的可能性、減小在網絡30上平均帶寬增大的能力以及改善在使用 少于規定數量的媒體分組生成FEC分組時恢復媒體分組損失的基本 能力方面也如上述一樣。 另外,參照圖6的說明等能夠^艮容易理解與其中進行如圖7和8 所示的FEC操作(編碼操作)的情況對應的在解碼端上的FEC操作。
接下來,將參照圖9對在控制羊元22中生成FEC分組的另一個 實施例進行說明。圖9為一說明圖,顯示出生成FEC分組的再一個實 施例(在提供了規定數量的媒體分組的情況中)。在該實施例中,將媒 體分組的有效負載部分存儲到緩沖存儲器23中,從而按照其序列號的 順序布置十個有效負栽。也就是說,在FEC操作中的規定數量為10。 采用十個媒體分組的有效負載將FEC分組的有效負載部分計算成一 個FEC有效負載。
在該情況中,即使在由十個媒體分組的有效負載和加入到其上的 FEC有效負栽構成的11個有效負載的任一個中存在一個損失,則也 能夠使用包括FEC有效負載的剩余有效負載恢復該一個損失。因此, 在這ll個有效負載中存在兩個或多個損失時,不能夠恢復這些損失。 在這個意義上,在該實施例中恢復損失的能力小于在如圖2中所示的 在綷度和經度上生成FEC有效負載的方法中的能力。但是,緩沖存儲 器23(類似于在解碼端上的緩沖存儲器43)能夠具有較小的存儲容量, 并且可以應用在簡單設備中。
圖IO為一說明圖,顯示出生成FEC分組的再一個實施例(包括 沒有提供規定數量媒體分組的情況)。這是在其中進行如圖9所示的 FEC分組生成但是沒有提供規定數量媒體分組的情況中在控制單元 22中生成FEC分組的實施例。
在圖10中,針對圖9的說明適用于前十個媒體分組和下面十個 媒體分組的有效負載部分。對于它們之后的十個媒體分組的有效負載 部分,沒有提供規定數量的媒體分組,但是在該情況中提供了 7個媒 體分組。其它說明通過參照圖9和圖4充分說明。也就是說,啞有效 負栽的填補如上面所述的一樣。另外,其效果例如消除所輸出分組形 成突發的可能性、減小在網絡30上平均帶寬增大的能力以及改善在使 用少于規定數量的媒體分組生成FEC分組時恢復媒體分組損失的基 本能力方面也如上述一樣。
另外,參照針對圖6的說明也能夠很容易理解與其中已經進行如 圖9和10所示的FEC操作(編碼操作)的情況對應的在解碼端上的FEC 捧作。即使對于其中已經在發送端上進行了如圖2和圖4所示的綿度 和經度FEC操作(編碼操作)的情況,也可以將在該情況中在解碼端上 的FEC操作用作簡單的處理。
接下來,圖ll為一說明圖,顯示出生成包括FEC冗余數據的媒 體分組的實施例(在提供了規定數量的媒體分組的情況中)。在上述實 施例中,用來進行FEC的信息以獨立FEC分組形式生成。該情況釆 用了這樣一種形式,其中用來進行FEC的信息加入到每個媒體分組 上。
如圖ll所示,例如在概念上,將如圖2所示的FEC有效負栽的 計算結果當作過程中數據,并且將它劃分以形成加入到用于計算的有 效負載的每一個上的冗余數據。將這些數據作為編碼結果發送給網絡, 從而能夠將所加入的FEC冗余數據收集在解碼端上以再現這些FEC 有效負栽。在再現之后的處理與前面所述的一樣。
圖12為一結構圖,顯示出包括這種FEC冗余數據的媒體分組的 內部結構示例。如圖12所示,加入有FEC冗余數據的媒體分組80 由報頭部分、有效負載部分和一部分FEC冗余數據81構成,并且報 頭部分由例如IP報頭61、 UDF報頭62和RTP報頭63構成。有效負 載部分為RTP有效負載64。有效負載64用來產生出那部分FEC冗 余數據81。
圖13為一說明圖,顯示出生成包括FEC冗余數據的媒體分組的 實施例(在沒有提供規定數量媒體分組的情況中)。這是在其中進行如 圖11所示的FEC冗余數據添加但是沒有提供規定數量媒體分組的情 況中生成分組的實施例。如圖13所示,這是這樣一個實施例,其中例 如現在將少于規定數量的27個媒體分組提供給控制單元27直到預定 時刻,并且存儲其有效負栽。
在該情況中,如圖所示,采用所存儲的有效負載,針對添加FEC 冗余數據產生出過程中數據。這樣做的原因在于,可以將有效負載填 補到滿足規定數量所需的部分上,從而所填補的有效負栽也可以用來 產生出過程中數據,但是在該情況中通過填補產生出的有效負載不是
發送對象,從而不能加入FEC冗余數據。更具體地說,只使用所存儲 的有效負載來計算出更小的過程中數據,并且將所計算出的過程中數 據劃分并且加入到所存儲的有效負載上。
通過這種處理生成媒體分組(加入有FEC冗余數據)還包括以下 優點。也就是說,在劃分的時間段中產生出FEC冗余數據,并且將媒 體分組(添加有FEC冗余數據)輸出給網絡30,從而即使在原始媒體分 組在時間方面的提供密度較低時,也能夠根據該低密度順序輸出媒體 分組(添加有FEC冗余數據)。因此,解決了在更低密度情況下進行發 送中延遲增大的問題,并且基本上消除了所輸出的分組形成突發的可 能性。還可能使在網絡30上的平均帶寬增大最小。
圖14為一流程圖,顯示出與圖11和圖13對應的在圖1中所示 的FEC設備(編碼端)的操作流程。該操作流程將還是隨著時間進行說 明,但是在一定程度上與針對圖11和圖13的說明重疊。此外,在圖 5中已經提及的在圖14中的處理方框給予相同的標號和符號。它們的 說明可以省略。
步驟IOI、 102、 103和104與在圖5的說明中的那些相同。在步 驟103中,在所存儲的有效負載數量達到規定數量L(在步驟103中的 "規定數量")時,采用存儲到緩沖存儲器23中的有效負栽進行FEC操 作(編碼操作)以產生出媒體分組(加入有FEC冗余數據)(步驟307:參 見圖11)。將所生成的媒體分組(加入有FEC冗余數據)發送給接口 24 側(步驟308)。另外,該流程返回到步驟101,并且重復上迷處理步驟。
此外,在從計時器重置開始已經經過了一定時間段(在步驟103 中"已經經過了一定時間段")時,將在那時所存儲的有效負載的數量保 持為N(步驟104),并且生成FEC冗余數據并將它加入到每個媒體分 組中(步驟305:參見圖13)。更優選的是,所加入的FEC冗余分組括 上述N和已經進行了先前移動處理的信息(步驟305)。如果那些信息 包括在FEC冗余數據中,則很容易在解碼端上檢測出它們。要指出的
是,即使在不必包括這種信息的情況下,也可以在解碼端上例如通過 根據包括在每個分組的每個報頭中的信息區分作為組發送的分組并且
獲得在該組中的分組的總數來確定N 。
將加入有FEC冗余數據的媒體分組發送給接口 24側(步驟308)。 另外,該流程返回到步驟101,并且重復上述處理步驟。
圖15為一流程圖,顯示出與圖11和圖13對應的在圖1中所示 的FEC設備(解碼端)的操作流程。該操作流程將還是隨著時間進行說 明,但是在一定程度上與針對圖11和圖13的說明重疊。此外,在圖 6中已經提及的在圖14中的處理方框給予相同的標號和符號。它們的 說明可以省略。
首先,在控制單元42的控制下,將順序接收到的媒體分組(加入 有FEC冗余數據)的有效負載部分和FEC冗余數據部分存儲到緩沖存 儲器中(步驟401)。將有效負載部分存儲在用于它們的存儲區域中(第 一位置),并且將FEC冗余數據部分存儲在用于它們的存儲區域(第二 位置)中。
在那時的存儲一直進行到媒體分組的數量達到規定數量L,或者 直到媒體分組的數量達到N,該N作為當在FEC冗余數據中同樣包 括先前移動處理的信息時其信息記錄在FEC冗余數據中的數量。但 是,即使在這種信息沒有包括在FEC冗余數據中的情況下,也能夠例 如通過根據包括在每個分組的每個報頭中的信息區分作為組發送的分 組并且獲得在該組中的分組的總數來確定N 。
然后,使用存儲到緩沖存儲器43中的數據來進行FEC操作(解 碼操作)以恢復損失的有效負載,由此恢復所損失的媒體分組(步驟 402)。通過接口 44將包括其損失已經恢復的媒體分組的媒體分組發送 給視頻流接收裝置50(步驟204)。另外,該流程返回到步驟401并且 重復解碼處理的上述步驟。
下面對本發明的實施方案進行補充說明。對于接收分組、FEC操 作和在FEC設備(編碼端)20和FEC設備(解碼端)40中分組發送的功 能而言,可以分別設置多條通道,從而它們能夠并行處理。另外,能
夠例如根據恢復分組損失的能力的技術規范來確定規定數量L,并且 例如考慮在視頻流接收裝置50中可允許的信息延遲時間和網絡30的 質量來確定上述"一定時間段"。
本發明不限于在這里例舉說明的那些具體形式,要理解的是,在 其中包括了沒有脫離以下權利要求的范圍的情況下的所有變化和變 型。
權利要求
1.一種FEC編碼方法,包括將包括在順序提供的媒體分組中的每個有效負載順序存儲到緩沖存儲器中;檢測存儲到緩沖存儲器中的有效負載數量是否達到規定數量,或者檢測自從有效負載已經能夠開始存儲到緩沖存儲器中開始的時間段是否達到一定時間段;在檢測到存儲到緩沖存儲器中的有效負載數量達到規定數量時,采用存儲到緩沖存儲器中的規定有效負載數量進行FEC操作以產生出用于FEC的第一信息;在檢測到自從有效負載已經能夠開始存儲到緩沖存儲器中開始的時間段達到一定時間段時,采用存儲到緩沖存儲器中的有效負載進行FEC操作以產生出用于FEC的第二信息;將第一信息與對應于該第一信息的媒體分組一起輸出;并且將第二信息與對應于該第二信息的媒體分組一起輸出。
2. 如權利要求1所述的方法,還包括向第二信息加入有關存儲到緩沖存儲器中的有效負載的數量的 信息,所述有效負載在FEC操作中用來產生出第二信息。
3. 如權利要求1所述的方法,還包括向第二信息加入有關第二信息與第 一信息不同的信息。
4. 如權利要求1所述的方法,其中由使用存儲到緩沖存儲器中的 有效負載以及填補的啞有效負載的FEC操作引起第二信息的生成,直 到到達規定數量為止。
5. 如權利要求1所述的方法,其中第一信息和第二信息兩者生成 作為與所提供的々某體分組獨立的FEC分組。
6. 如權利要求1所迷的方法,其中第一信息和第二信息兩者分別 加入到與之對應的所提供的媒體分組上。
7. —種FEC編碼方法,包括 將包括在順序接收的媒體分組中的每個有效負載順序存儲在緩沖存儲器中的第一位置處;將所接收的要附加于一組媒體分組的用于FEC的信息順序存儲 在緩沖存儲器中與第 一位置不同的第二位置處;從存儲到緩沖存儲器中的第二位置處的用于FEC的信息中檢測 這組媒體分組的分組數量;在將與所檢測的分組數量對應的有效負栽數量存儲在緩沖存儲 器中的第一位置處時,檢測在要存儲在緩沖存儲器中第一位置處的一 部分有效負載中是否出現損失;并且當在要存儲在緩沖存儲器中第一位置處的一部分有效負載中出 現了損失時,采用存儲到緩沖存儲器中第一位置處的現有有效負載和 存儲到緩沖存儲器中第二位置處的用于FEC的信息進行FEC操作, 以恢復該損失。
8. —種FEC解碼設備,包括 緩沖存儲器;第一控制單元,被配置為將包括在順序接收的媒體分組中的每個 有效負載順序存儲在緩沖存儲器中的第一位置處;第二控制單元,被配置為將所接收的要附加于一組媒體分組的用于FEC的信息存儲在緩沖存儲器中與第一位置不同的第二位置處; 第三控制單元,被配置為從存儲在緩沖存儲器中第二位置處的用于FEC的信息中檢測這組媒體分組的分組數量;第四控制單元,被配置為在將與所檢測的分組數量對應的有效負載數量存儲在緩沖存儲器中的第一位置處時,檢測在要存儲到緩沖存儲器中第一位置處的一部分有效負載中是否出現損失;以及第五控制單元,被配置為當在要存儲到緩沖存儲器中第一位置處的一部分有效負載中出現了損失時,采用存儲到緩沖存儲器中第一位置處的現有有效負載和存儲在緩沖存儲器中第二位置處的用于FEC 的信息進行FEC操作,以恢復該損失。
9. 如權利要求8所述的設備,其中所述第五控制單元被配置為將 啞有效負栽填補到在緩沖存儲器中還沒有出現損失并且還沒有存儲任 何有效負栽的第 一位置處,并且使用現有的有效負載以及啞有效負載和用于FEC的信息進行FEC操作。
全文摘要
披露了一種FEC編碼方法,它包括將包括在順序提供的媒體分組中的每個有效負載順序存儲到緩沖存儲器中;檢測存儲到緩沖存儲器中的有效負載數量是否達到規定數量,或者檢測自從有效負載已經能夠開始存儲到緩沖存儲器中開始的時間段是否達到一定時間段;在檢測到存儲到緩沖存儲器中的有效負載數量達到規定數量時,采用存儲到緩沖存儲器中的規定有效負載數量進行FEC操作以產生出用于FEC的第一信息;在檢測到自從有效負載已經能夠開始存儲到緩沖存儲器中開始的時間段達到一定時間段時,采用存儲到緩沖存儲器中的有效負載進行FEC操作以產生出用于FEC的第二信息;并且將第一和第二信息和與之對應的媒體分組一起輸出。
文檔編號H04L12/56GK101098209SQ20061016858
公開日2008年1月2日 申請日期2006年12月21日 優先權日2006年6月28日
發明者坂本典哉, 川田宏, 春山秀朗 申請人:株式會社東芝