Mpeg流的快進和快倒的算法的製作方法
2023-05-26 05:38:16
專利名稱:Mpeg流的快進和快倒的算法的製作方法
技術領域:
本發明的背景和概要本發明一般涉及從網絡伺服器到媒體客戶的MPEG視頻流的傳送,尤其涉及響應於用戶的請求有效地執行快進和快倒操作的技術。該技術採用包含在這些流中的MPEG視頻文件的緩衝和中間傳送,以避免與文件之間過渡相關的網絡延遲。
隨著計算機和網際網路的迅速普及,利用網絡把諸如視頻和聲頻材料的多媒體選擇傳送到遠程位置的興趣越來越大。交互式電視(ITV)、點播以及其他多媒體推進技術就處於更有前景的應用當中。
傳送視頻和聲頻資料通常涉及從為許多個別媒體客戶服務的網絡上伺服器傳遞視頻文件。例如,ITV伺服器使用一組計算、存儲和通信設備在提供交互式視頻服務時傳遞這些文件。特定的交互式服務可能需要一個以上的伺服器才能被實施,或者一個伺服器可以實現一個以上的服務。伺服器產生標準格式的壓縮聲頻和視頻流,在媒體客戶的位置處只需要對它們解壓縮。消費者的遙控按鈕-撳壓信號被帶回到伺服器,有服務應用程式判讀。在這種類型的結構中,媒體客戶能夠以與他操作標準VCR相同的方式觀看電影或者其他類型視頻。
由於大多數視頻文件的大小,需要在網絡上把文件以文件流方式從伺服器傳送到媒體客戶。然而,存在在傳送視頻流時關心的一些數據網絡協議問題。一個問題關於數字視頻數據流對延遲和傳輸差錯十分敏感,由於各種數據網絡原因會引起延遲和傳輸差錯。此外,數字視頻數據流傳輸通常需要傳輸率超過當前居民訪問網絡技術的帶寬能力。
已知存儲在盤上的電影作為基於MPEG正常播放文件,快遞文件代表正常播放文件的縮短版本,使得只有對應於電影快進(或快倒)播放的幀被存儲在快遞文件中。因此,MPEG流數據可以包括正常播放、倒退快遞文件和前進快遞文件,這裡分別縮寫為1X、RX和FX。利用快遞文件背後的想法是節省網絡帶寬和盤帶寬。由於每n個幀的一幀在快進和快倒視頻的顯示期間是實際對用戶顯示的,這就浪費了把所有數據(包括將放棄的幀)送往客戶的帶寬。因此,通過對正常播放文件掃描以及選擇每個第n幀建立快遞文件。
為了使選擇更容易,快遞文件可以僅存儲出現在正常播放文件中的Ⅰ幀。Ⅰ幀包括有幀內編碼技術(它利用圖象之間存在的空間冗餘)產生的信息。在快遞文件的情況中,n值的選擇因此被局限於正常播放文件的圖象組的大小。
為了讓快遞文件工作,在三種類型的視頻文件之間必須維持一定連結信息。這一信息有助於響應於媒體客戶的命令在視頻文件之間的過渡。每個視頻文件具有與其他視頻文件記錄相關的資料庫文件。例如,1X文件具有1X-FX記錄和1X-RX記錄的資料庫文件。資料庫文件包括文件之間過渡的必要連結信息。文件的每個記錄包含載有指向其他資料庫文件的連結指針的欄位。資料庫文件中的連結指針由每個流的幀數目索引。一旦用戶通過撳快進、快倒或播放按鈕請求另一文件,基於當前流中的當前幀數目,連結信息允許確定需要被檢索和顯示的下一個流。
儘管連結信息保證適當序列幀的顯示,但是並不保證幀在正確時間上顯示。儘管選擇了正確的幀,這些幀在被顯示之前由於網絡延遲可能經歷明顯延遲。媒體客戶顯示屏上的不希望有的「打嗝(hiccup)」是這種延遲的結果。
為了更全面地理解本發明、其目的和優點,可以參考以下說明書和附圖。
附圖簡述
圖1是表明本發明較佳實施例的系統構成的圖。
圖2是數據流圖,表明按照本發明的較佳實施例的MPEG視頻文件的連續傳遞。
圖3是數據流圖,表明按照本發明的較佳實施例的MPEG視頻文件的過渡傳遞。
較佳實施例的詳細描述參考圖1,圖中以10示出示例的視頻傳送系統。傳送控制器20、緩衝系統30和計數器40允許視頻傳送系統10響應於媒體客戶60的一個或多個媒體請求61把MPEG流數據80從網絡伺服器50傳遞到媒體客戶60。媒體請求61把視頻傳送系統10的傳遞狀態設定為或是連續傳遞或是過渡傳遞。本較佳實施方案在於軟體中,其中緩衝系統和計數器是由客戶維持的數據結構。
正如圖2和3所示,本發明通常使用連續傳遞狀態作為在過渡傳遞期間把MPEG流數據80寫入緩衝系統30的群緩衝器35中供以後檢索的機會。連續傳遞意味著自從視頻傳送系統10開始傳遞最後請求的文件以來媒體客戶還未作出請求,而過渡傳遞意味著媒體客戶已經請求不同於當前正在被傳遞的一個文件。因此,當把1X、FX或RX文件傳遞到媒體客戶60時,視頻傳送系統10以連續傳遞狀態工作。同樣,當媒體客戶60請求伺服器從當前文件切換到被請求的文件時,視頻傳送系統10以過渡傳遞狀態工作。因此,視頻傳送系統10能夠進行上述文件的傳遞以及執行有效的以下文件過渡FX-1X、1X-FX、RX-FX、RX-1X、FX-RX和1X-RX。
在連續傳遞期間,MPEG流數據80包括上述文件中的一個,而在過渡傳遞期間,MPEG流數據80包括一個當前文件、中間Ⅰ幀(將在下面討論)和一個接著被請求的文件。
計數器40跟蹤傳遞給媒體客戶60的Ⅰ幀的數目。雖然媒體客戶60實際接收的數據的內容會隨作出的請求而變化,視頻傳送系統10保證在這種數據中含有可計數的Ⅰ幀。計數器40因此跟蹤在連續傳遞和過渡傳遞二者之間所傳遞的Ⅰ幀。因此,當1X和FX文件被傳遞到媒體客戶60時,計數器40隨每個Ⅰ幀而遞增,當RX文件被傳遞到媒體客戶60時,計數器40隨每個Ⅰ幀而遞減。通過以下描述的附加計數器調節,視頻傳送系統10還能夠執行更複雜文件過渡。傳送控制器20因此能夠基於傳遞狀態和計數器40把MPEG流數據80從伺服器50送至媒體客戶60。
通常,緩衝系統30存儲MPEG流數據80。客戶維持多個緩衝器空間,其功能為播放緩衝器、快進緩衝器和快退緩衝器。播放緩衝器包含對應於正常播放文件(1X文件)的幀數據。快進緩衝器包含與快進播放相關的數據。這一數據被連續地超高速緩存,便於切換到快進。快退緩衝器包含與快退播放相關的數據。這一數據被連續地超高速緩存,便於切換到快退。具體而言,緩衝系統30具有根據視頻傳送系統10和文件的傳遞狀態把MPEG流數據80存儲在傳送緩衝器34或是群緩衝器35或二者中的緩衝器寫入機構33。緩衝系統30還具有從傳送緩衝器34讀出MPEG流數據80和從總體緩衝器35讀出中間Ⅰ幀70的緩衝器讀出機構31。注意這些中間Ⅰ幀70是在連續傳遞期間被存儲的。較佳地,緩衝器讀出機構31還能夠把數據傳遞到媒體客戶60,數據能夠被存儲在緩衝器34和35中和從其被檢索,或是作為Ⅰ幀或是作為整個文件。如果需要的話,媒體客戶軟體能夠執行數據檢索功能,注意到這是重要的。也可以採用其它公知技術實現緩衝數據的存儲和檢索。
在連續傳遞期間,傳送控制器20通過傳送緩衝器34把1X和RX文件送至媒體客戶60和直接把FX文件送至媒體客戶60而實施數據至媒體客戶60的傳遞。因此,如果媒體請求61包括傳遞FX文件的請求,MPEG流數據80包括FX文件,傳送控制器20把包含在FX文件中的Ⅰ幀送至緩衝器寫入機構33用於存儲,以及直接送至媒體客戶60用於觀看。如果媒體請求包括傳遞1X文件,傳送控制器20通過傳送緩衝器34和緩衝器讀出機構31的方式把整個1X文件送至緩衝器寫入機構33用於存儲和觀看。最後,如果媒體請求61包括傳遞RX文件的請求,傳送控制器20通過傳送緩衝器34和緩衝器讀出機構31的方式把包含在RX文件中的Ⅰ幀送至緩衝器寫入機構33用於存儲和觀看。
過渡傳遞典型地涉及中間Ⅰ幀70的傳遞直至被請求的文件提供為止。然而,如果媒體請求61包括從FX文件的傳遞過渡到1X文件的傳遞的請求,傳送控制器20以慢運動速度把包含在MPEG流數據80中的中間Ⅰ幀70』直接傳遞到媒體客戶60,而不訪問包含在群緩衝器35中的數據。在所有其他過渡期間,緩衝器讀出機構31把包含在群緩衝器35中的中間Ⅰ幀70傳遞給客戶60直至被請求文件可提供使用為止。被緩衝的MPEG流數據的中間傳遞允許視頻傳送系統10避免與網絡延遲相關的共有問題。例如,當媒體請求61包括從1X文件的傳遞過渡到RX文件的傳遞的請求,MPEG流數據80既包括1X文件又包括RX文件。在這種情況中,緩衝器讀出機構31以快進速度把包含在群緩衝器35中的中間Ⅰ幀70傳遞到媒體客戶60直至FX文件可提供使用為止。快進速度模擬是1X-FX和1X-RX過渡需要的,而慢運動模擬是FX-1X和RX-1X過渡需要的。
為了適當地從一個文件過渡到另一個文件,傳送控制器20使用計數器40來選擇並請求文件中的開始位置。當視頻傳送系統10正在過渡到RX文件的傳遞或者從RX文件的傳遞過渡時,傳送控制器20調節與從群緩衝器35被傳遞給媒體客戶60的中間Ⅰ幀70數目相關的計數器40。這一調節是由於相同幀的多次傳遞造成的。具體地說,當媒體請求61是過渡到RX文件的傳遞的請求時,傳送控制器20使計數器40的值減少被傳遞的中間Ⅰ幀70的數目,當媒體請求61是從RX文件的傳遞過渡的請求時,傳送控制器20使計數器40的值增加被傳遞的中間Ⅰ幀70的數目。對於FX-1X和1X-FX過渡,不需要計數器調節。
算法概要正常播放模式在正常播放模式期間,採取以下行動1.文件1X從伺服器連續地發送到客戶正常播放緩衝器bp。
2.客戶軟體從bp讀出數據以及播放電影。
3.刪除Ⅰ幀以及增大計數器cI。
4.在裝載Ⅰ幀時檢測bp中Ⅰ幀的位置,以及以逆序把Ⅰ幀複製到快退緩衝器bf(即以堆棧方式)。
1X到FF過渡當客戶撳快進按鈕時,便發生從文件1X到文件FX的過渡。在這一過渡期間,採取以下行動1.使用cI的值來確定從文件FX中何處開始。
2.與此同時,以快進速度播放bp中的幀。
3.以逆序把Ⅰ幀(從1X或從FX)複製到bf。
快進模式在快進模式期間,執行以下行動1.從文件FX連續檢索數據頁,這些主要包括Ⅰ幀。
2.當檢索Ⅰ幀時從FX播放Ⅰ幀。
3.當裝載Ⅰ幀時增大cI。
4.以逆序把Ⅰ幀存儲在bf中。
FF到1X過渡1.使用cI的值在適當位置切換到文件1X。
2.以慢運動速度播放FX的Ⅰ幀。這模擬正常播放速度。
3.一旦從文件1X檢索到各頁恢復從bp的播放。
1X到FR過渡1.把cI的值調節為ci-bf中Ⅰ幀的數目。
2.使用ci的更新值從文件RX檢索適當的幀。
3.與此同時播放bf中Ⅰ幀。
快退模式在快退模式期間,執行以下行動1.從文件RX連續檢索數據頁並將其存儲在bf中。這些主要包含Ⅰ幀。
2.在檢索Ⅰ幀時從bf播放它們。
3.在裝置Ⅰ幀時增大ci。
4.以逆序把Ⅰ幀存儲在bf中。
FF到FR過渡1.如果在緩衝器池bf中存在一些數據,首先播放這些數據。
(a)把cI的值調節為ci-bf中Ⅰ幀的數目,如果有的話。
(b)使用ci的更新值從文件RX檢索適當的幀。
(c)與此同時播放bf中Ⅰ幀。
2.利用ci的值,從文件RX檢索適當的幀數據。
3.當播放Ⅰ幀時,以逆序將它們複製到緩衝器bf中。
RF到1X過渡1.把cI的值調節為ci+bf中Ⅰ幀的數目,如果有的話。
2.使用ci的更新值從文件1X檢索適當的幀。
3.與此同時以慢運動速度播放bf中Ⅰ幀。
4.一旦從1X檢索到數據,將其存儲在bf中,一旦bf中的幀被全部播放,從bp恢復正常播放。
5.以慢運動速度從bf播放幀。
RF到FF過渡1.如果在緩衝器池bf中存在一些數據,首先播放這些數據。
(a)把cI的值調節為ci+bf中Ⅰ幀的數目,如果有的話。
(b)使用ci的更新值從文件FX檢索適當的幀。
(c)與此同時播放bf中Ⅰ幀。
2.利用ci的值,從文件FX檢索適當的幀數據。
3.當播放Ⅰ幀時,以逆序將它們複製到緩衝器bf中。
雖然參考較佳實施例在說明書中描述了本發明和在附圖中示出了本發明,但是本領域專業技術人員將會明白,可以作出各種變化,對其元件可以作等效替代,而不偏離權利要求書中限定的本發明的範圍。此外,可以作出需要改進以便使特定情況和材料適應本發明的教導情況,而不偏離其基本範圍。因此,希望本發明不局限於作為實現本發明最佳模式在附圖中所示出和在說明書中所描述的特定實施例,而是本發明將包括以下在所附權利要求書的描述中的任何實施例。
權利要求
1.一種響應於媒體請求把MPEG流數據傳遞到媒體客戶的傳送系統,其中所述媒體請求設定所述傳送系統的傳遞狀態而所述MPEG流數據包括Ⅰ幀,所述系統包括跟蹤數個被傳遞Ⅰ幀的計數器;用於存儲所述MPEG流數據的緩衝系統;以及基於所述傳遞狀態和所述計數器把所述MPEG流數據送至所述媒體客戶的傳送控制器。
2.如權利要求1所述的傳送系統,其特徵在於所述媒體請求把所述傳遞狀態設定為連續傳遞。
3.如權利要求2所述的傳送系統,其特徵在於所述緩衝器系統包括群緩衝器;以及用於把所述MPEG流數據存儲在所述群緩衝器中的緩衝器寫入機構。
4.如權利要求3所述的傳送系統,其特徵在於所述媒體請求包括傳遞前進快遞文件的請求,以致於所述MPEG流數據包括所述前進快遞文件;以及所述傳送控制器把包含在所述前進快遞文件中的所述Ⅰ幀送至緩衝器寫入機構和直接送至所述媒體客戶。
5.如權利要求3所述的傳送系統,其特徵在於所述緩衝系統進一步包括從所述緩衝器寫入機構接收所述MPEG流數據的傳送緩衝器;以及讀出包含在所述傳送緩衝器中的所述MPEG流數據並把所述MPEG流數據傳遞給所述媒體客戶的緩衝器讀出機構。
6.如權利要求5所述的傳送系統,其特徵在於所述媒體請求包括傳遞正常播放文件的請求,以致於所述MPEG流數據包括所述正常播放文件;以及所述傳送控制器把所述正常播放文件送至緩衝器寫入機構。
7.如權利要求5所述的傳送系統,其特徵在於所述媒體請求包括傳遞後退快遞文件的請求,以致於所述MPEG流數據包括所述後退快遞文件;以及所述傳送控制器把包含在所述後退快遞文件中的所述Ⅰ幀送至緩衝器寫入機構。
8.如權利要求1所述的傳送系統,其特徵在於所述媒體請求把所述傳遞狀態設定為過渡傳遞。
9.如權利要求8所述的傳送系統,其特徵在於所述媒體請求包括從前進快遞文件的傳遞過渡到正常播放文件的傳遞的請求,以致於所述MPEG流數據包括所述前進快遞文件和所述正常播放文件,以及所述傳送控制器以慢運動把包含在所述前進快遞文件中的中間Ⅰ幀傳遞給所述媒體客戶,直至所述正常播放文件可提供使用為止。
10.如權利要求8所述的傳送系統,其特徵在於所述緩衝系統進一步包括群緩衝器,所述群緩衝器包括中間Ⅰ幀;以及讀出所述中間Ⅰ幀並把所述中間Ⅰ幀傳遞給所述媒體客戶的緩衝器讀出機構。
11.如權利要求10所述的傳送系統,其特徵在於所述媒體請求包括從正常播放文件的傳遞過渡到前進快遞文件的傳遞的請求,以致於所述MPEG流數據包括所述正常播放文件和所述前進快遞文件;以及所述緩衝器讀出機構以快進速度把包含在所述群緩衝器中的所述中間Ⅰ幀傳遞給所述媒體客戶直至所述前進快遞文件可提供使用為止。
12.如權利要求10所述的傳送系統,其特徵在於所述傳送控制器調節與從所述群緩衝器被傳遞給所述媒體客戶的數個所述中間Ⅰ幀相關的所述計數器。
13.如權利要求12所述的傳送系統,其特徵在於所述媒體客戶請求包括過渡到迴繞快遞文件的請求,所述傳送控制器使所述計數器減少所述數目的所述中間Ⅰ幀。
14.如權利要求13所述的傳送系統,其特徵在於所述媒體請求進一步包括從正常播放文件的傳遞過渡的請求,以致於所述MPEG流數據包括所述正常播放文件和所述後退快遞文件;以及所述緩衝器讀出機構以快進速度把包含在所述群緩衝器中的所述中間Ⅰ幀傳遞給所述媒體客戶,直至所述後退快遞文件可提供使用為止。
15.如權利要求13所述的傳送系統,其特徵在於所述媒體請求進一步包括從前進快遞文件的傳遞過渡的請求,以致於所述MPEG流數據包括所述前進快遞文件和所述後退快遞文件;以及所述緩衝器讀出機構把包含在所述群緩衝器中的所述中間Ⅰ幀傳遞給所述媒體客戶,直至所述後退快遞文件可提供使用為止。
16.如權利要求12所述的傳送系統,其特徵在於所述媒體客戶請求包括從迴繞快遞文件的傳遞過渡的請求,所述傳送控制器使所述計數器增加所述數目的所述中間Ⅰ幀。
17.如權利要求16所述的傳送系統,其特徵在於所述媒體請求進一步包括過渡到正常播放文件的傳遞的請求,以致於所述MPEG流數據包括所述後退快遞文件和所述正常播放文件;以及所述緩衝器讀出機構以慢運動把包含在所述群緩衝器中的所述中間Ⅰ幀傳遞給所述媒體客戶,直至所述正常播放文件可提供使用為止。
18.如權利要求16所述的傳送系統,其特徵在於所述媒體請求進一步包括過渡到前進快遞文件的傳遞的請求,以致於所述MPEG流數據包括所述後退快遞文件和所述前進快遞文件;以及所述緩衝器讀出機構把包含在所述群緩衝器中的所述中間Ⅰ幀傳遞給所述媒體客戶,直至所述前進快遞文件可提供使用為止。
19.一種響應於媒體請求把MPEG流數據傳遞給媒體客戶的方法,其中所述媒體請求設定傳遞狀態而所述MPEG流數據包括Ⅰ幀,所述方法包括跟蹤數個被傳遞的Ⅰ幀;把所述MPEG流數據存儲在群緩衝系統中;以及基於所述傳遞狀態和所述數目的被傳遞Ⅰ幀把所述MPEG流數據送至所述媒體客戶。
20.如權利要求19所述的方法,其特徵在於所述媒體請求設定所述傳遞裝置為連續傳遞。
21.如權利要求20所述的方法,其特徵在於所述媒體請求包括傳遞前進快遞文件的請求,以致於所述MPEG流數據包括所述前進快遞文件,其中所述傳送步驟包括把包含在所述前進快遞文件中的所述Ⅰ幀送至所述群緩衝器中;以及把包含在所述前進快遞文件中的所述Ⅰ幀直接送至所述媒體客戶。
22.如權利要求20所述的方法,其特徵在於所述傳送步驟包括把所述MPEG流數據存儲在傳送緩衝器中;讀出包含在所述傳送緩衝器中的所述MPEG流數據;以及把所述MPEG流數據傳遞給所述媒體客戶。
23.如權利要求23所述的方法,其特徵在於所述媒體請求包括傳遞正常播放文件的請求,以致於所述MPEG流數據包括所述正常播放文件。
24.如權利要求22所述的方法,其特徵在於所述媒體請求包括傳遞後退快遞文件的請求,以致於所述MPEG流數據包括包含在所述後退快遞文件中的所述Ⅰ幀。
25.如權利要求19所述的方法,其特徵在於所述媒體請求設定所述傳遞裝置為過渡傳遞。
26.如權利要求25所述的方法,其特徵在於所述媒體請求包括從前進快遞文件的傳遞過渡到正常播放文件的傳遞的請求,以致於所述MPEG流數據包括所述前進快遞文件和所述正常播放文件;以及所述傳送步驟包括以慢運動傳遞包含在所述前進快遞文件中的中間Ⅰ幀,直至所述正常播放文件可提供使用為止。
27.如權利要求25所述的方法,其特徵在於所述群緩衝器包括中間Ⅰ幀,所述傳送步驟包括把所述中間Ⅰ幀傳遞給所述媒體客戶。
全文摘要
一種傳送系統,允許MPEG流數據從網絡伺服器(50)傳遞給媒體客戶(60),而避免與包含在這些流數據中的文件之間的過渡相關的網絡延遲。緩衝系統(30)、傳送控制器(20)和計數器(40)允許MPEG流數據的緩衝和中間傳遞。傳送控制器(20)既能把MPEG流數據直接傳遞給媒體客戶也能通過緩衝系統(30)傳送數據。緩衝系統(30)包括用於存儲中間MPEG流數據的群緩衝器(35)和在連續傳遞期間用於臨時存儲MPEG流數據的傳送緩衝器(34)。在過渡傳遞期間,傳送控制器(20)把中間數據傳遞給媒體客戶(60)直至被請求文件可提供使用為止以及使用計數器選擇被請求文件中適當開始位置。
文檔編號H04N5/93GK1321395SQ99811652
公開日2001年11月7日 申請日期1999年9月8日 優先權日1998年10月5日
發明者W·G·阿雷弗, S·慕克吉, I·M·卡邁勒 申請人:松下技術股份有限公司