新四季網

一種分幀媒體數據傳輸方法、系統及裝置的製作方法

2023-05-31 22:52:41

專利名稱:一種分幀媒體數據傳輸方法、系統及裝置的製作方法
技術領域:
本發明涉及數據傳輸技術,尤其涉及一種分幀媒體數據傳輸的方法、系統 及裝置。
背景技術:
目前有不少關於提高媒體數據傳輸業務質量的方法,例如對網絡中的丟幀
提出的解決方法為在不考慮網絡延時的情況下,根據連續收到的兩幀之間的 序號差值來判斷需要補償的幀數;對數據幀亂序提出的解決方法為設定一個 延時時間,在延時時間內將收到的幀進行排隊,將超出該延時時間的幀丟棄。 但是這兩種方法沒有綜合考慮,只分別適合於僅存在丟幀或僅存在亂序的特定 情況中,並且也沒有提出出現靜音時的解決方法。而在實際網絡中,這些因素 是綜合存在的。如果將這些技術疊加來解決實際問題,由於這些技術都有比較 大的延時,這樣就會導致數據傳輸延時過大,數據傳輸質量下降,且用戶主觀 感受較差。

發明內容
本發明提供一種分幀々某體數據傳輸方法、系統及裝置,以解決現有技術中 存在的沒有綜合考慮丟幀和亂序的問題。
本發明提供一種分幀媒體數據傳輸方法,該方法包括
A. 發送側對當前幀進行排序,將數據緩衝區分為一個以上的數據讀寫區, 並將當前幀按照確定的順序寫入數據緩沖區中的對應位置;
B. 發送側按序讀取數據緩衝區,並將讀取的幀向接收側發送,當判斷數 據緩沖區中當前被讀的數據讀寫區與其後的待讀數據讀寫區間隔為預先設定
的數據讀寫區的個數,且該待讀數據讀寫區沒有存儲未發送幀時,向該數據讀 寫區中寫入補償幀。
所述每一數據讀寫區對應一狀態標識,所述狀態標識為空表示對應的數據 讀寫區沒有存儲未發送幀,所述狀態標識為非空表示對應的數據讀寫區已存儲
未發送幀;
在讀取數據讀寫區中的幀之前包括步驟查詢該數據讀寫區狀態標識,當 狀態標識為非空,則讀取該數據讀寫區中的幀;
在向數據讀寫區中寫入幀之前包括步驟查詢該數據讀寫區狀態標識,當 狀態標識為空,則向該數據讀寫區中寫入幀。
在讀取數據讀寫區中的幀之後包括步驟將該數據讀寫區的狀態標識置為

i,
在向數據讀寫區中寫入幀之後包括步驟將該數據讀寫區的狀態標識置為 非空。
步驟B中所述發送側按序讀取數據緩衝區,並將讀取的幀向接收側發送, 是按照預先設定的時間間隔讀取和發送的。 在所述步驟A之前包括步驟
A0、判定所述當前幀是否超過預先設定的最大延時,若超過,則將該幀丟 棄並結束,若未超過,則再對該幀進行排序。 步驟A包括
All、根據當前幀與上一收到幀的序號確定兩幀之間的序號差; A12、根據序號差確定當前幀要寫入的數據緩衝區中的數據讀寫區; A13、當該數據讀寫區狀態標識為空時,將當前幀寫入,再將該數據讀寫 區狀態標識置為非空。
所述步驟A中是根據當前幀的時戳和序號對當前幀進行排序。 步驟A包括
A21、根據當前幀與上一收到幀的時戳確定兩幀之間的靜音幀個數,並根
據已補償的靜音幀個數確定還需要補償的靜音幀個數;
A22、根據當前幀與上一收到幀的序號確定兩幀之間的序號差;
A23、根據序號差和所述還需要補償的靜音幀個數確定當前幀要寫入的數
據讀寫區;
A24、當該數據讀寫區狀態標識為空時,將當前幀寫入,並將該數據讀寫 區狀態標識置為非空。
步驟B中所述補償幀包括舒適噪聲幀或平滑幀,則所述寫入補償幀的步驟 包括
判斷上一收到幀的類型,若上一收到幀為靜寂幀,則寫入舒適噪聲幀,若 上一收到幀為々某體數據幀,則寫入平滑幀。
本發明提供一種分幀媒體數據傳輸系統,所述系統包括
發送單元,用於對當前幀進行排序,並將當前幀按照確定的順序寫入緩衝 單元中的對應位置,並按序讀取緩衝單元,並將讀取的幀向接收側發送;
補償幀發送單元,用於當判斷緩衝單元中當前被讀的數據讀寫區與其後的 待讀數據讀寫區間隔為預先設定的數據讀寫區的個數,且該待讀數據讀寫區沒 有存儲未發送幀時,向該數據讀寫區中寫入補償幀;
緩衝單元,包含一個以上的數據讀寫區,用於按照發送單元確定的順序存 儲幀。
所述每一數據讀寫區對應 一狀態標識,所述狀態標識為空表示對應的數據 讀寫區沒有存儲未發送幀,所述狀態標識為非空表示對應的數據讀寫區已存儲 未發送幀;
所述發送單元,用於在讀取數據讀寫區中的幀之前,查詢該數據讀寫區狀
態標識,當狀態標識為非空則讀取該數據讀寫區中的幀;在向數據讀寫區中寫
入幀之前,查詢該數據讀寫區狀態標識,當狀態標識為空則向該數據讀寫區中
寫入幀;在讀取數據讀寫區中的幀之後,將該數據讀寫區的狀態標識置為空; 在向數據讀寫區中寫入幀之後將該數據讀寫區的狀態標識置為非空。
所述發送單元包^":
排序單元,用於對當前幀進行排序,將該幀按照確定的存儲順序寫入數據 讀寫區中;
幀發送單元,用於按照預先設定的時間間隔向接收側發送已存儲在數據讀 寫區中的幀。
所述發送單元包括
存儲單元,用於存儲預先設定的最大延時;
最大延時判定單元,用於判定當前幀是否超過預先設定的最大延時,若超 過,則將該幀丟棄,若未超過,則將該幀發送到排序單元。 所述排序單元包括
時戳判定單元,用於根據當前幀與上一收到幀的時戳確定兩幀之間的靜音 幀個數,並根據已補償的靜音幀個數確定還需要補償的靜音幀個數;
序號判定單元,用於+艮據當前幀與上一收到幀的序號確定兩幀之間的序號 差,並根據序號差和所述還需要補償的靜音幀個數確定當前幀要寫入的數據讀 寫區,當該數據讀寫區狀態標識為空時,將當前幀寫入,並將該數據讀寫區狀 態標識置為非空。
所述排序單元包括
序號單獨判定單元,用於根據當前幀與上一收到幀的序號確定兩幀之間的 序號差,並才艮據序號差確定當前幀要寫入的緩衝單元中的數據讀寫區,當該數 據讀寫區狀態標識為空時,將當前幀寫入,再將該數據讀寫區狀態標識置為非
六 麼o
所述補償幀發送單元包括
幀判定單元,用於判定上一收到幀的類型;
幀發送單元,用於當上一收到幀為靜寂幀時,則寫入舒適噪聲幀,若上一 收到幀為^Mf數據幀時,則寫入平滑幀。
本發明方法通過對當前幀根據序號或根據序號和時戳來進行排序,確定該
幀在數據緩衝區的存放順序,並且在必要時向該數據緩衝區中發送補償幀的方 法,提高了數據傳輸質量,且傳輸延時較小,使得終端用戶得到更好的體驗。


圖1為本發明分幀媒體數據傳輸系統結構示意圖; 圖2為本發明實施例中緩衝單元13結構示意圖; 圖3為本發明實施例中步驟流程示意圖; 圖4為本發明實施例中b=l時緩沖單元13結構示意圖; 圖5為本發明實施例中b>l時緩衝單元13結構示意圖; 圖6為本發明實施例中bO時緩衝單元13結構示意圖; 圖7為本發明實施例中達到預先設定的數據讀寫區的個數時緩沖單元13 結構示意圖。
具體實施例方式
在數據傳輸過程中,為了保證較好的傳輸質量,使用戶體驗儘可能的好, 則從數據緩衝區向外發送幀是連續的。在網絡情況較好時,數據緩衝區接收數 據和發送數據的時間是匹配的,但是在實際網絡傳輸中亂序、丟幀的情況,在 傳輸音頻幀時還可能出現靜音情況,這樣就會使得緩衝區接收、發送數據時間 不匹配,除憲法空或傳輸4普誤幀的情況。本發明通過對當前幀進行排序,將該 幀按照確定的存儲順序寫入數據緩衝區中,同時發送側讀出數據緩沖區的幀, 向接收側發送,當數據緩沖區中當前被讀區域與其後的待讀區域間隔為預先設 定的數據讀寫區的個數,且該待讀區域未存儲還未發送的幀時,向該待讀區域 寫入補償幀。通過本發明方法,同時解決了網絡中丟幀和亂序的問題,使得數 據傳輸質量得以提高,用戶體驗更好。
下面結合說明書附圖對本發明作進一步詳細描述。
如圖1所示,本發明的分幀媒體數據傳輸系統應用於終端側或網絡側,該
系統包括發送單元ll、補償幀發送單元12和緩衝單元13。其中,發送單元 11用於對當前幀進行排序,並將當前幀按照確定的順序寫入緩衝單元13中的 對應位置,並按序讀取緩衝單元13,並將讀取的幀向接收側發送;補償幀發送 單元12用於當緩衝單元13中當前被讀的數據讀寫區與其後的待讀數據讀寫區 間隔為預先設定的數據讀寫區的個數,且該待讀數據讀寫區沒有存儲未發送幀 時,向該數據讀寫區中寫入補償幀;緩沖單元13包含一個以上的數據讀寫區, 用於按照發送單元11確定的順序存儲幀。
每一數據讀寫區對應一狀態狀態標識,所述狀態狀態標識為空表示對應的 數據讀寫區沒有存儲未發送幀,所述狀態狀態標識為非空表示對應的數據讀寫 區已存儲未發送幀。發送單元11在讀取數據讀寫區中的幀之前,查詢該數據 讀寫區狀態標識,當狀態標識為非空則讀取該數據讀寫區中的幀;在向數據讀 寫區中寫入幀之前,查詢該數據讀寫區狀態標識,當狀態標識為空則向該數據 讀寫區中寫入幀;在讀取數據讀寫區中的幀之後,將該數據讀寫區的狀態標識 置為空;在向數據讀寫區中寫入幀之後將該數據讀寫區的狀態標識置為非空。
所述發送單元11包括排序單元21和幀發送單元22。其中,排序單元21 用於對當前幀進行排序,將該幀按照確定的存儲順序寫入數據讀寫區中;幀發的幀。
所述發送單元11包括存儲單元23和最大延時判定單元24。其中,存儲單 元23用於存儲預先設定的最大延時;最大延時判定單元24用於判定當前幀是 否超過預先設定的最大延時,若超過,則將該幀丟棄,若未超過,則將該幀發 送到排序單元。
所述排序單元21包括時戳判定單元31和序號判定單元32。其中,時戳判 定單元31用於根據當前幀與上一收到幀的時戳確定兩幀之間的靜音幀個數, 並根據已補償的靜音幀個數確定還需要補償的靜音幀個數;序號判定單元32
用於才艮據當前幀與上一收到幀的序號確定兩幀之間的序號差,並根據序號差和
所述還需要補償的靜音幀個數確定當前幀要寫入的數據讀寫區,當該數據讀寫 區標識為空時,將當前幀寫入,並將該數據讀寫區標識置為非空。
在本系統中,可以根據時戳和序號來對當前幀進行排序,但當沒有靜音幀 出現時也可以只根據序號來對當前幀進行排序。
所述排序單元21包括序號單獨判定單元33,用於根據當前幀與上一收到 幀的序號確定兩幀之間的序號差,並根據序號差確定當前幀要寫入的緩衝單元 中的數據讀寫區,當該數據讀寫區標識為空時,將當前幀寫入,再將該數據讀 寫區標識置為非空。
所述補償幀發送單元12包括幀判定單元41和幀發送單元42。其中,幀判 定單元41用於判定上一收到幀的類型;幀發送單元42用於當上一收到幀為靜 寂幀時,則寫入舒適噪聲幀,若上一收到幀為4某體數據幀時,則寫入平滑幀。
如圖2所示,為本發明實施例的緩衝單元13的結構示意圖。在本實施例 中,設定該數據傳輸裝置位於網絡側,接收第一終端側發送的數據,並向第二 終端側發送數據。並同時設定緩衝單元13為環形,包含12個數據讀寫區,每 一個數據讀寫區與狀態標識——對應,狀態標識包括空和非空,存儲未發送過 的幀的數據讀寫區設定狀態標識為非空,沒有存儲未發送過的幀的數據讀寫區 設定狀態標識為空。寫指針指向的數據讀寫區為非空,讀指針指過以後標記為 空。為了便於判定在數據讀寫區中存放幀的位置,可以在該緩衝單元13中設 定讀指針(R)、寫指針(W)和輔助寫指針(AW)。讀指針指向存放即將被發 送幀的數據讀寫區,寫指針指向存;^文當前幀的數據讀寫區,輔助寫指針指向離 讀指針最近的狀態標識為空的數據讀寫區。
為了保證較好的數據傳輸質量,則從數據讀寫區發送的幀必須是連續的,
時間間隔固定的,因此該讀指針是連續均勻地移動。但是寫指針是在有數據進 入該數據讀寫區時才移動,並由於可能出現幀的不連續跳變,因此寫指針是不 連續不均勻地移動的。由於可能有亂序情況存在,寫指針躍過的數據讀寫區可 能為空,所以在每個數據讀寫區設定狀態標識。初始時,輔助寫指針和寫指針
重合,它們與讀指針之間的數據讀寫區狀態標識為非空。讀走幀的時候要先判 斷該數據讀寫區是否為非空,若是才將幀讀走,並將該數據讀寫區的狀態標識
置為空;寫入指針時也要判斷該數據讀寫區是否為空,若是才將幀寫入,並將 該數據讀寫區的狀態標識置為非空。
由於可能有丟幀和有靜音幀的情況存在,會出現一段時間內沒有幀寫入, 或寫入的幀通過判斷不應該存放在輔助寫指針指向的狀態標識為空的數據讀 寫區的狀況,此時輔助寫指針將不會移動,但讀指針仍然會均勻移動,就可能 會出現讀指針超過輔助寫指針的情況。此時發送的幀就可能是以前存儲的且已 發送過的幀,這些幀都不是正確的幀,對於終端用戶而言會造成音頻噪音或視 頻錯誤的情況。
因此在沒有數據寫入時判斷出當前被讀的數據讀寫區與其後的待讀數據 讀寫區間隔為預先設定的數據讀寫區的個數,且該待讀數據讀寫區沒有存儲未 發送幀,準確進行提前補償,向數據讀寫區發送補償幀,使得在沒有正確的幀 寫入時,讓終端用戶的視頻或音頻體驗儘可能的好。所述補償幀可以包括舒適 噪聲幀和平滑幀。
如圖3所示,為本發明實施例的步驟流程示意圖。本實施例中設定傳輸的 幀為音頻幀,因此可能會出現靜音幀,且每次從數據讀寫區發送幀的時間間隔 為10ms。
步驟301:判斷收到的幀延時是否在系統容忍的範圍內。 在初始化時,將讀寫指針保持一定的間距,這個間距可以是該網絡中所能 容忍的最大延時的時間轉換為的空間間距,也可以是其它事先設定最大延時。 設定本實施例中的網絡中所能容忍的延時為G=30ms,由於從數據讀寫區發送 數據的時間間隔為10ms,因此設定初始化時讀寫指針之間的間距為3個數據 讀寫區,且這三個數據讀寫區的狀態標識都為非空。
當有音頻幀要進入緩衝單元13時,首先判斷該幀的延時是否在系統容忍 範圍內。判斷方法包括以下步驟Al、確定該收到的幀與上一收到的幀之間的時間間隔中發送了多少幀c,
也就是收到這兩幀之間經歷多少整數時間。由於發送幀是均勻連續的,因此發
送幀的過程可以近似看作 一個時鐘運動。
例如,該收到的幀與上一收到幀之間的時間間隔中發送了 3幀,說明該收 到的幀在網絡中延時10ms,此時c-3。
A2、確定連續收到兩幀的時戳差與抽樣之比a。在本實施例中設定在該網 絡中抽樣的數據為8000個抽樣/秒,則由於在同一網絡中終端側和網絡側的發 送數據時間間隔都為10ms,因此進入該數據傳輸系統時每一幀中有80個抽樣。 收到的每一幀都含有一個時戳,若第一幀的時戳為80,則連續的第二幀為160。 但是在發送音頻幀的時候可能會出現靜音幀的情況,當出現一個靜音幀時,靜 音幀雖然也已經加了 80但卻沒有發送,而後發送的幀的時戳為240,此時a-(240-80)/80=2,說明含有一個靜音幀。
此時,若連續收到的兩音頻幀之間沒有靜音幀,或收到的幀不是音頻幀, 則a將一直為1。該要進入緩衝單元13的幀相對延時為(c-a) *10ms。
A3、確定上一收到幀的絕對延時。設定初始狀態的第一幀的絕對延時為0, 則通過步驟A1和A2後,第二幀的絕對延時0+ (c-a) *10ms,以此類推,可 以得到在本實施例中上一收到幀的絕對延時為d。
A4、將該要進入緩衝單元13的幀的絕對延時d+ (c-a) *10ms與G進行 比較。當a-O時,說明該幀為重複幀,則將該幀丟棄,不做後續處理;當該數 據幀的絕對延時大於G時,說明該幀已經超過系統所能容忍的延時,則將該幀 丟棄,不〗故後續處理。當該數據幀的絕對延時小於G時,記錄下該幀的時戳和 序號,準備將該幀放入緩衝單元13的數據讀寫區中,存放的位置在下一步獲 得。此時,再更新<1=(1+ (c-a)留待下次使用。
步驟302:確定收到的幀在緩衝單元13中的數據讀寫區的存放位置。
通過上述A4步驟後,只有該數據幀的絕對延時小於G時才執行本步驟, 通過判斷該幀是否是在出現了亂序、丟幀或靜音的情況收到的,來確定該收到 的幀在數據讀寫區的存^:位置,該確定方式包括以下步驟
Bl、判斷連續收到的兩幀之間的序號差b。從步驟A4可以看出,每一個 收到的幀都記錄下了該幀的序號,因此可以容易得到該收到的幀與上一收到幀 的序號差。
B2、對不同的b值分別進行處理。
當b-O時,說明該幀與上一收到幀重複,則將該幀丟棄,不做後續處理。
當b-l時,說明該幀和上一收到幀為連續的幀。此時要通過時戳判斷該收 到的幀與上一收到幀之間是否有未發送的靜音幀。如上述步驟A2得到的數據 a-l即為兩幀之間靜音幀的個數,設e為已經補償的靜音幀個數,此時由於是 連續的幀,因此在補償以前e-O,則向狀態標識為空的數據讀寫區連續補償a-l 個靜音幀,存儲的位置為在收到的上一收到幀後的連續的數據讀寫區,並將這 些寫入靜音幀的數據讀寫區的狀態標識置為非空。當補償完畢後將該收到的幀 存放在存儲靜音幀之後的連續的狀態標識為空的數據讀寫區,並將該數據讀寫 區的狀態標識置為非空。此時寫指針指向該收到的幀,輔助寫指針仍然指向離 讀指針最近的未存入還未發送幀的數據讀寫區。
例如,如圖4所示,若上一收到幀的序號為4,該收到的幀的序號為5, 但通過步驟A2得到a-l=l,說明這兩幀之間有1個靜音幀,則向存放序號4 的幀的狀態標識為空的數據讀寫區後連續存入一個靜音幀,再將該收到的幀存 入靜音幀之後的連續的狀態標識為空的數據讀寫區,再將這兩個數據讀寫區的 狀態標識置為非空。同時寫指針指向該收到的幀所在的數據讀寫區。
若兩幀之間沒有靜音幀,則將該收到的幀直接存放在上一收到幀之後的狀 態標識為空的數據讀寫區中,且寫指針指向該收到的幀,輔助寫指針仍然指向 離讀指針最近的狀態標識為空的數據讀寫區。
當bM時,說明該幀與上一收到幀是不連續的幀,可能是出現的亂序或前 面出現了丟幀的情況。此時,同樣要通過時戳判斷該收到的幀與上一收到幀之 間是否有未發送的靜音幀。當a-l- (b-l) >0時,則向狀態標識為非空的數據
讀寫區連續補償a-l- (b-l )個靜音幀,存儲的位置為在收到的上一收到幀後的 連續的數據讀寫區。此時e--(b-l),當後續有序號介於這兩幀之間的幀到達 時,判斷靜音幀時就要考慮該e值。當補償完畢後再將該收到的幀存儲,存儲 的位置為補償靜音幀之後的第b個狀態標識為非空的數據讀寫區。此時寫指針 指向該收到的幀,輔助寫指針仍然指向離讀指針最近的狀態標識為空的數據讀 寫區。但是,若此時寫指針越過了讀指針,說明丟幀太多或亂序情況很嚴重, 則將該幀丟棄,將讀寫指針復位到初始化值,不作後續處理。判斷是否丟幀太 多或亂序情況很嚴重可以有其他方法,例如,可以通過"&定b的最大值來確定。
同樣如圖5所示,設定上一收到幀的序號為3,該收到的幀的序號為5, 此時b-2。若判斷出a-l- (b-l ) =2,即連續收到的兩幀之間有2個靜音幀,則 在存放序號為3的幀的數據讀寫區後連續存放兩個靜音幀,再將該收到的幀存 放在靜音幀後第二個狀態標識為非空的數據讀寫區中。
若兩幀之間沒有靜音幀,則將該收到的幀存放在上一收到幀之後的第二個 狀態標識為非空的數據讀寫區中,寫指針指向該收到的幀,輔助寫指針仍然指 向離讀指針最近的狀態標識為空的數據讀寫區。
當bO時,說明是前面亂序的幀現在才收到。此時同樣要判斷該收到的幀 與上一收到幀之間是否有未發送的且還未補償的靜音幀。當a-e-l- (-b-l ) >0 時,則在存放上一收到幀的數據讀寫區前連續補償a-e-l-(-b-l)個靜音幀,再 將該收到的幀存方文在所述靜音幀前第-b個狀態標識為非空的讀據讀寫區中。若 此時已不需要補償靜音幀,則將該收到的幀存放在上一收到幀前第-b個狀態標 識為非空的數據讀寫區中。此時,寫指針指向該收到的幀,若該收到的幀被丟 棄則指向上一收到收到的幀,輔助寫指針仍然指向離讀指針最近的狀態標識為 空的數據讀寫區。
例如,如圖6所示,設定連續收到三幀的序號分別為4、 6、 5,序號為5 的幀由於亂序而沒有按時收到,且序號4和6之間有一個靜音幀,此時收到的 序號為5的幀還沒有超過最大延時。由於前面收到的序號分別為4和6的幀時 已經補償了它們之間的兩個靜音幀,因此收到該序號為5的幀時就不用再做靜
音幀補償,而是直接存放在序號6之前的第一個狀態標識為空的數據讀寫區中。 步驟303:當數據緩衝區中當前被讀的數據讀寫區與其後的待讀數據讀寫
區間隔為預先設定的數據讀寫區的個數,且該待讀數據讀寫區狀態標識為空
時,向該區域寫入補償幀。
前述設定了在初始時寫指針和輔助寫指針重合,它們與讀指針之間設定了
間距,將此間距轉換為時間即為系統所能容忍的最大延時。同時也可以設定讀
指針與輔助寫指針之間的數據讀寫區的個數,當讀指針與輔助寫指針之間達到
該數據讀寫區的個數時即進行補償。在本實施例中設定該數據讀寫區的個數為 一個數據讀寫區,轉換成時間即為10ms 。
當讀指針與輔助寫指針之間只相差一個數據讀寫區即達到該間隔,且此時
沒有幀寫入,或寫入的幀經過步驟301和302的判斷不存儲在當前輔助寫指針 指向的狀態標識為空的數據讀寫區中時,向該輔助寫指針指向的數據讀寫區中 寫入補償幀。
在寫入補償幀之前,要判斷應該是補償平滑幀還是舒適噪聲幀。該判斷方 法可以為根據上一收到幀來判斷,當上一收到幀為靜寂幀時,則後面補償為 舒適噪聲幀;當上一收到幀的不為靜寂而是語音幀或視頻幀等媒體數據幀時, 則補償平滑幀。
當寫入補償幀後,將該數據讀寫區的狀態標識置為非空,同時輔助寫指針 將指向下一個距離讀指針最近的狀態標識為空的數據讀寫區,寫指針指指向不
變,當此時再接收到數據幀,且判斷該幀應該存放在前述已存放補償幀的數據 讀寫區時,將該幀^L作已超過最大延時而丟棄。
如圖7中(a)所示,當讀指針指向存放幀序號為2的數據讀寫區時,輔 助寫指針與讀指針之間只有一個數據讀寫區時,且此時沒有幀寫入,並判斷上
一收到幀的類型為靜寂幀時,則向該輔助寫指針指向的數據讀寫區寫入舒適噪 聲幀。並將該數據讀寫區的狀態標識置為非空,同時輔助寫指針將指向下一個 距離讀指針最近的狀態標識為空的數據讀寫區,如圖7中(b)所示。
步驟304:將存儲在數據讀寫區中的幀按照預先設定的時間間隔和在數據
緩衝區的存儲順序向第二終端側發送。
通過本發明方法,綜合解決了網絡中丟幀、亂序和延時等問題,並且還解
決了語音靜音的問題,提高了媒體數據的傳輸質量,使終端的主觀感受大大提高。
顯然,本領域的技術人員可以對本發明進行各種改動和變型而不脫離本發 明的精神和範圍。這樣,倘若本發明的這些修改和變型屬於本發明權利要求及 其等同技術的範圍之內,則本發明也意圖包含這些改動和變型在內。
權利要求
1、一種分幀媒體數據傳輸方法,其特徵在於,該方法包括以下步驟A.發送側對當前幀進行排序,將數據緩衝區分為一個以上的數據讀寫區,並將當前幀按照確定的順序寫入數據緩衝區中的對應位置;B.發送側按序讀取數據緩衝區,並將讀取的幀向接收側發送,當判斷數據緩衝區中當前被讀的數據讀寫區與其後的待讀數據讀寫區間隔為預先設定的數據讀寫區的個數,且該待讀數據讀寫區沒有存儲未發送幀時,向該數據讀寫區中寫入補償幀。
2、 如權利要求1所述方法,其特徵在於,所述每一數據讀寫區對應一狀 態標識,所述狀態標識為空表示對應的數據讀寫區沒有存儲未發送幀,所述狀 態標識為非空表示對應的數據讀寫區已存儲未發送幀;在讀取數據讀寫區中的幀之前包括步驟查詢該數據讀寫區狀態標識,當 狀態標識為非空,則讀取該數據讀寫區中的幀;在向數據讀寫區中寫入幀之前包括步驟查詢該數據讀寫區狀態標識,當 狀態標識為空,則向該數據讀寫區中寫入幀。
3、 如權利要求1所述方法,其特徵在於,在讀取數據讀寫區中的幀之後 包括步驟將該數據讀寫區的狀態標識置為空;在向數據讀寫區中寫入幀之後包括步驟將該數據讀寫區的狀態標識置為 非空。
4、 如權利要求l所述方法,其特徵在於,步驟B中所述發送側按序讀取 數據緩衝區,並將讀取的幀向接收側發送,是按照預先設定的時間間隔讀取和 發送的。
5、 如權利要求l所述方法,其特徵在於,在所述步驟A之前包括步驟 A0、判定所述當前幀是否超過預先設定的最大延時,若超過,則將該幀丟棄並結束,若未超過,則再對該幀進行排序。
6、 如權利要求5所述方法,其特徵在於,步驟A包括All、根據當前幀與上一收到幀的序號確定兩幀之間的序號差; Al2、根據序號差確定當前幀要寫入的數據緩沖區中的數據讀寫區; A13、當該數據讀寫區狀態標識為空時,將當前幀寫入,再將該數據讀寫 區狀態標識置為非空。
7、 如權利要求l所述方法,其特徵在於,所述步驟A中是根據當前幀的 時戳和序號對當前幀進行排序。
8、 如權利要求7所述方法,其特徵在於,步驟A包括A21、根據當前幀與上一收到幀的時戳確定兩幀之間的靜音幀個數,並根據已補償的靜音幀個數確定還需要補償的靜音幀個數;A22、根據當前幀與上一收到幀的序號確定兩幀之間的序號差;A23、根據序號差和所述還需要補償的靜音幀個數確定當前幀要寫入的數據讀寫區;A24、當該數據讀寫區狀態標識為空時,將當前幀寫入,並將該數據讀寫 區狀態標識置為非空。
9、 如權利要求l所述方法,其特徵在於,步驟B中所述補償幀包括舒適 噪聲幀或平滑幀,則所述寫入補償幀的步驟包括判斷上一收到幀的類型,若上一收到幀為靜寂幀,則寫入舒適噪聲幀,若 上一收到幀為媒體數據幀,則寫入平滑幀。
10、 一種分幀士某體數據傳輸系統,其特徵在於,所述系統包括 發送單元,用於對當前幀進行排序,並將當前幀按照確定的順序寫入緩衝單元中的對應位置,並按序讀取緩沖單元,並將讀取的幀向接收側發送;補償幀發送單元,用於當緩衝單元中當前被讀的數據讀寫區與其後的待讀數據讀寫區間隔為預先設定的數據讀寫區的個數,且該待讀數據讀寫區沒有存儲未發送幀時,向該數據讀寫區中寫入補償幀;緩衝單元,包含一個以上的數據讀寫區,用於按照發送單元確定的順序存儲幀。
11、 如權利要求10所述系統,其特徵在於,所述每一數據讀寫區對應一狀態標識,所述狀態標識為空表示對應的數據讀寫區沒有存儲未發送幀,所述狀態標識為非空表示對應的數據讀寫區已存儲未發送幀;所述發送單元,用於在讀取數據讀寫區中的幀之前,查詢該數據讀寫區狀 態標識,當狀態標識為非空則讀取該數據讀寫區中的幀;在向數據讀寫區中寫 入幀之前,查詢該數據讀寫區狀態標識,當狀態標識為空則向該數據讀寫區中 寫入幀;在讀取數據讀寫區中的幀之後,將該數據讀寫區的狀態標識置為空; 在向數據讀寫區中寫入幀之後將該數據讀寫區的狀態標識置為非空。
12、 如權利要求10所述系統,其特徵在於,所述發送單元包括 排序單元,用於對當前幀進行排序,將該幀按照確定的存儲順序寫入數據讀寫區中;幀發送單元,用於按照預先設定的時間間隔向接收側發送已存儲在數據讀 寫區中的幀。
13、 如權利要求10所述系統,其特徵在於,所述發送單元包括 存儲單元,用於存儲預先設定的最大延時;最大延時判定單元,用於判定當前幀是否超過預先設定的最大延時,若超 過,則將該幀丟棄,若未超過,則將該幀發送到排序單元。
14、 如權利要求12所述系統,其特徵在於,所述排序單元包括 時戳判定單元,用於根據當前幀與上一收到幀的時戳確定兩幀之間的靜音幀個數,並根據已補償的靜音幀個數確定還需要補償的靜音幀個數;序號判定單元,用於根據當前幀與上一收到幀的序號確定兩幀之間的序號差,並根據序號差和所述還需要補償的靜音幀個數確定當前幀要寫入的數據讀 寫區,當該數據讀寫區狀態標識為空時,將當前幀寫入,並將該數據讀寫區狀 態標識置為非空。
15、 如權利要求12所述系統,其特徵在於,所述排序單元包括 序號單獨判定單元,用於根據當前幀與上一收到幀的序號確定兩幀之間的序號差,並根據序號差確定當前幀要寫入的緩衝單元中的數據讀寫區,當該數 據讀寫區狀態標識為空時,將當前幀寫入,再將該數據讀寫區狀態標識置為非
16、如權利要求10所述系統,其特徵在於,所述補償幀發送單元包括 幀判定單元,用於判定上一收到幀的類型;幀發送單元,用於當上一收到幀為靜寂幀時,則寫入舒適噪聲幀,若上一 收到幀為媒體數據幀時,則寫入平滑幀。
全文摘要
本發明公開了一種分幀媒體數據傳輸方法,該方法包括A.發送側對當前幀進行排序,將數據緩衝區分為一個以上的數據讀寫區,並將當前幀按照確定的順序寫入數據緩衝區中的對應位置;B.發送側按序讀取數據緩衝區,並將讀取的幀向接收側發送,當判斷數據緩衝區中當前被讀的數據讀寫區與其後的待讀數據讀寫區間隔為預先設定的數據讀寫區的個數,且該待讀數據讀寫區沒有存儲未發送幀時,向該數據讀寫區中寫入補償幀。通過本發明方法,綜合解決了網絡中丟幀、亂序和延時等問題,並且還解決了語音靜音的問題,提高了媒體數據的傳輸質量,使終端的主觀感受大大提高。本發明還公開了一種分幀媒體數據傳輸系統及裝置。
文檔編號H04L12/56GK101175012SQ20061011421
公開日2008年5月7日 申請日期2006年11月1日 優先權日2006年11月1日
發明者孫永青 申請人:大唐移動通信設備有限公司

同类文章

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

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有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-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀