專利名稱:兼容漸進下載方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種漸進下載方法和系統(tǒng),更具體地說,涉及使用元數(shù)據(jù)的兼容漸進下載方法和系統(tǒng)。
背景技術(shù):
通常,內(nèi)容下載服務(wù)指的是這樣的服務(wù)使網(wǎng)頁客戶機從服務(wù)器下載特定多媒體內(nèi)容,在其本地存儲器中存儲下載的多媒體內(nèi)容,以及重復(fù)播放存儲的多媒體內(nèi)容。由于傳統(tǒng)下載方法使用超文本傳輸協(xié)議(HTTP),并通過傳輸控制協(xié)議(TCP)傳輸來執(zhí)行可靠數(shù)據(jù)發(fā)送/接收,因此數(shù)據(jù)丟失最少,并且一旦完成下載就可提供高顯示質(zhì)量。然而,根據(jù)傳統(tǒng)下載方法,直到完成下載才能播放正下載的內(nèi)容。
將參照圖2A描述根據(jù)使用TCP的傳統(tǒng)下載方法的數(shù)據(jù)傳輸處理。在圖2A中,當(dāng)終端200和服務(wù)器210通過網(wǎng)絡(luò)進行TCP連接時,終端200將對于具有特定范圍的mp4格式文件的x.mp4請求發(fā)送到服務(wù)器210。當(dāng)接收對x.mp4請求的響應(yīng)信號200 OK時,終端200下載對應(yīng)的x.mp4文件并釋放TCP連接。按照該方式,執(zhí)行數(shù)據(jù)發(fā)送/接收。
將參照圖2B描述根據(jù)傳統(tǒng)可恢復(fù)下載方法的數(shù)據(jù)傳輸處理。在圖2B中,內(nèi)部或外部因素中斷文件的下載。在此情況下,在220所指示的超時之后,將對恢復(fù)文件的下載的請求發(fā)送到服務(wù)器210。由于終端200目前(即在超時之前)已經(jīng)得知已經(jīng)下載的文件的范圍,因此終端200將已經(jīng)下載的文件的范圍通知給服務(wù)器210,從而下載文件的剩余范圍。
就通過網(wǎng)絡(luò)的數(shù)據(jù)傳輸而言的作為代表性實時應(yīng)用的流傳輸方法使用用戶數(shù)據(jù)報協(xié)議(UDP)傳輸,其不具有以特定傳輸速率的重傳能力。流傳輸方法通過UDP傳輸來執(zhí)行實時發(fā)送/接收,并且很可能經(jīng)歷錯誤和/或數(shù)據(jù)丟失,所述UDP傳輸需要比內(nèi)容下載更復(fù)雜和不可靠的控制處理。由于具有丟失的數(shù)據(jù)的流傳輸數(shù)據(jù)存儲在本地存儲器中,因此如果存在數(shù)據(jù)丟失,則當(dāng)播放存儲的數(shù)據(jù)時,不能提供與原始內(nèi)容相同的質(zhì)量。
作為對前述兩種方法的替換,存在由第三代伙伴項目(3GPP)提議的漸進下載方法。該漸進下載方法定標于基本基于MPEG4(運動圖像專家組-4)的*.3GP格式文件,并在3GPP TS 26.244標準中被定義。漸進下載方法可播放正下載的內(nèi)容,從而確保高顯示質(zhì)量,而沒有數(shù)據(jù)丟失,并提供實時服務(wù)。由于這些優(yōu)點,一些歐洲通用分組無線服務(wù)(GPRS)和全球業(yè)務(wù)管理系統(tǒng)(UTMS)網(wǎng)絡(luò)運營商正積極引入漸進下載方法。
然而,漸進下載方法具有以下限制。
首先,流傳輸方法使用不具有以特定傳輸速率的重傳的UDP傳輸,而漸進下載方法使用可靠傳輸協(xié)議TCP下載和將時間不敏感文件存儲為不同于實時回放文件的存儲。例如,在漸進下載方法中,由于TCP傳輸提供的流控制和重傳可能導(dǎo)致臨時中斷下載,從而降低了實時應(yīng)用中的實時特性。
漸進下載方法在創(chuàng)建數(shù)據(jù)存儲的瀏覽中的內(nèi)容方面具有限制。3GPP TS26.244V6.0.0標準規(guī)定了用于漸進下載服務(wù)的3gp文件格式。在3GPP TS26.244V6.0.0標準中,文件概要被規(guī)定為“3gr6”,3gp中的“moov”邏輯單元必須被定位在緊接“ftyp”邏輯單元之后,這兩個邏輯單元(或原子)必須被定位在3gp文件的頭部。此外,必須按1秒或更少的間隔來交織媒體軌道。
然而,在普通MPEG4文件具有圖1A至1C所示的各種格式。圖1A至1C是示出普通MPEG4內(nèi)容文件的各種格式的示圖。
在圖1A中的命名為sharp.3gp的3gp格式內(nèi)容文件中,文件名稱sharp.3gp100后面是指示文件類型的“ftpy”邏輯單元,“ftpy”邏輯單元后面是“mdat”邏輯單元105,其后面有“moov”邏輯單元110。該文件具有3gp文件格式,但在內(nèi)部,包括22幀的其視頻數(shù)據(jù)具有H.263格式,包括21幀的其音頻數(shù)據(jù)具有AMR(自適應(yīng)多速率)格式。
反之,圖1B中,文件名稱aking.mp4的文件后面按順序有“ftpy”邏輯單元,“udta”邏輯單元120、多個“mdat”邏輯單元125以及“moov”邏輯單元130。在圖1B所示的文件中,視頻數(shù)據(jù)具有MPEG4格式,音頻數(shù)據(jù)具有AMR格式。
在圖1C中,文件名稱vfuk.3gp后面按順序有“ftpy”邏輯單元、“moov”邏輯單元140和“mdat”邏輯單元145。在圖1C所示的文件中,視頻數(shù)據(jù)和音頻數(shù)據(jù)都具有MPEG4格式。如圖1A至1C所示,由于MPEG4內(nèi)容文件不符合3GPP提議的規(guī)定,因此漸進下載方法不能應(yīng)用于不符合3GPP規(guī)定而創(chuàng)建的傳統(tǒng)內(nèi)容文件。
然而,3GPP沒有提議在無線網(wǎng)絡(luò)中與傳統(tǒng)內(nèi)容兼容的替代漸進下載方法。但隨著僅為3G網(wǎng)絡(luò)規(guī)定的漸進下載方法正朝著目標是集成無線和有線網(wǎng)絡(luò)并建立開放架構(gòu)的4G技術(shù)演進,存在對與傳統(tǒng)內(nèi)容兼容的替代技術(shù)的增長的需要。例如,諸如Vodafone的某些代表性歐洲GPRS(通用分組無線業(yè)務(wù))和UTMS(全球移動通信系統(tǒng))網(wǎng)絡(luò)運營商允許終端用戶通過統(tǒng)一資源定位符(URL)輸入來訪問UMTS網(wǎng)絡(luò)的外部互聯(lián)網(wǎng)上的網(wǎng)頁服務(wù)器并下載期望的內(nèi)容。然而,在互聯(lián)網(wǎng)上的幾乎所有服務(wù)器的內(nèi)容是沒有考慮3GPP標準而創(chuàng)建的并且實際上不能根據(jù)3GPP標準重新創(chuàng)建已創(chuàng)建的內(nèi)容。
如上所述,雖然能夠播放正下載的內(nèi)容,但當(dāng)下載不考慮3GPP標準而創(chuàng)建的內(nèi)容時,不能使用傳統(tǒng)漸進下載方法。
發(fā)明內(nèi)容
因此,本發(fā)明的目的在于提供一種使用與傳統(tǒng)內(nèi)容兼容的使用元數(shù)據(jù)的兼容漸進下載方法和系統(tǒng)。
根據(jù)本發(fā)明一方面,提供一種兼容漸進下載方法,包括由終端從服務(wù)器獲得內(nèi)容文件的格式信息;使用獲得的格式信息從服務(wù)器下載內(nèi)容文件的媒體數(shù)據(jù),并執(zhí)行用于填充預(yù)定緩沖器的初始緩沖;當(dāng)完成初始緩沖時,輸出在預(yù)定緩沖器中填充的每一媒體數(shù)據(jù)以進行回放;以及每當(dāng)在回放期間媒體數(shù)據(jù)的緩沖量小于閾值時,停止緩沖正從服務(wù)器下載的當(dāng)前媒體數(shù)據(jù),并開始緩沖小于閾值的媒體數(shù)據(jù)。
根據(jù)本發(fā)明另一方面,提供一種兼容漸進下載系統(tǒng),其包括終端和服務(wù)器。所述終端使用內(nèi)容文件的格式信息從服務(wù)器下載內(nèi)容文件的每一媒體數(shù)據(jù);執(zhí)行初始緩沖以填充預(yù)定緩沖器;當(dāng)完成初始緩沖以進行回放時輸出每一媒體數(shù)據(jù);以及每當(dāng)在回放期間媒體數(shù)據(jù)的緩沖量小于閾值時就停止緩沖正下載的當(dāng)前媒體數(shù)據(jù),并開始緩沖小于閾值的媒體數(shù)據(jù)。服務(wù)器在初始緩沖中提供由終端指定的對應(yīng)的范圍中的每一媒體數(shù)據(jù),并且當(dāng)接收對小于閾值的媒體數(shù)據(jù)的請求時,將具有與所述請求對應(yīng)的位置和大小的媒體數(shù)據(jù)發(fā)送到終端,替代正發(fā)送的當(dāng)前媒體數(shù)據(jù)。
當(dāng)結(jié)合附圖時,通過下面的詳細描述,本發(fā)明的上述和其他目的、特點和優(yōu)點將會變得更加清楚,其中圖1A至1C是示出普通MPEG4內(nèi)容文件的各種格式的示圖;圖2A是示出根據(jù)使用TCP的傳統(tǒng)下載方法的數(shù)據(jù)傳輸處理的流程圖;圖2B是示出根據(jù)傳統(tǒng)可恢復(fù)下載方法的數(shù)據(jù)傳輸處理的流程圖;圖3是示出根據(jù)本發(fā)明的兼容漸進下載的組合流程和框圖;圖4是示出根據(jù)本發(fā)明的元數(shù)據(jù)獲取處理的流程圖;圖5是示出根據(jù)本發(fā)明的通過隨機范圍訪問的下載和回放處理的流程圖;圖6是示出執(zhí)行根據(jù)本發(fā)明的兼容漸進下載的終端中的處理的流程圖;以及圖7是示出根據(jù)本發(fā)明的緩沖控制處理的示圖。
具體實施例方式
現(xiàn)將參照附圖詳細描述本發(fā)明的優(yōu)選實施例。在下面的描述中,為了簡明而省略合并到此的公知功能和配置的詳細描述。
本發(fā)明實現(xiàn)兼容漸進下載功能。為此,根據(jù)本發(fā)明的終端在下載內(nèi)容文件之前獲得遠程內(nèi)容文件的格式信息,并基于獲得的格式信息設(shè)置漸進下載環(huán)境。其后,終端從服務(wù)器下載與格式信息對應(yīng)的位置的數(shù)據(jù),同時播放下載的數(shù)據(jù)。此時,按照分別接收每一媒體數(shù)據(jù)(即音頻數(shù)據(jù)和視頻數(shù)據(jù))并且在回放期間下載小于預(yù)定閾值的媒體數(shù)據(jù)以填充緩沖器的方式來執(zhí)行漸進下載。該漸進下載方法可兼容地應(yīng)用于下載除了由3GPP標準定義的格式之外的其它格式的內(nèi)容。因此,無需修改服務(wù)器上的內(nèi)容的格式以符合3GPP標準。
此外,由于根據(jù)本發(fā)明的兼容漸進下載方法是對傳統(tǒng)漸進下載方法的替換,因此其可播放正下載的內(nèi)容,確保高顯示質(zhì)量而沒有數(shù)據(jù)損失,并提供實時服務(wù)。
下文中,將參照圖3描述根據(jù)本發(fā)明的兼容漸進下載系統(tǒng),圖3是示出根據(jù)本發(fā)明的兼容漸進下載系統(tǒng)的組合流程和框圖。
參照圖3,漸進下載系統(tǒng)大致包括終端300、網(wǎng)絡(luò)310、服務(wù)器320和存儲器330。服務(wù)器320是使用HTTP協(xié)議的服務(wù)器,并通過網(wǎng)絡(luò)310從終端300下載與請求對應(yīng)的存儲器330中存儲的數(shù)據(jù)。更具體地說,在步驟S300,在終端300的HTTP客戶機370接收對應(yīng)的內(nèi)容文件的URL作為輸入并且通過網(wǎng)絡(luò)310TCP連接到服務(wù)器320之后,在步驟S305,HTTP客戶機370將對3gp格式文件的x.3gp請求發(fā)送到服務(wù)器320。
在步驟S310,響應(yīng)于x.3gp請求,服務(wù)器320將響應(yīng)信號200 OK發(fā)送到終端300的HTTP客戶機370。通過該處理,在步驟S315,終端300準備遠程內(nèi)容文件的下載,服務(wù)器320從存儲器330提取內(nèi)容文件,并開始將提取的內(nèi)容文件發(fā)送到HTTP客戶機370。
此時,為了搜索包括根據(jù)本發(fā)明的內(nèi)容文件的格式信息的元數(shù)據(jù),終端300的HTTP客戶機370請求發(fā)送包括在內(nèi)容文件中的具有特定范圍的數(shù)據(jù)。其后,HTTP客戶機370分析包括在特定范圍中的頭信息以計算文件指針,并繼續(xù)設(shè)置特定范圍和請求發(fā)送具有特定范圍的數(shù)據(jù),直到發(fā)現(xiàn)元數(shù)據(jù)。當(dāng)獲得元數(shù)據(jù)時,HTTP客戶機370可識別服務(wù)器320的存儲格式,并通過隨機訪問遠程內(nèi)容文件來執(zhí)行漸進下載。
在終端300的漸進下載操作期間,HTTP客戶機370可確定基于獲得的元數(shù)據(jù)檢索服務(wù)器320的特定位置中存儲的內(nèi)容文件。因此,HTTP客戶機370可在確定的位置中設(shè)置內(nèi)容文件的特定范圍,并在設(shè)置的范圍中下載數(shù)據(jù)。通過隨機寫入本地存儲器340而將下載的數(shù)據(jù)恢復(fù)為原始內(nèi)容文件。此時,HTTP客戶機370還基于元數(shù)據(jù)確定將隨機寫入執(zhí)行到本地存儲器340的哪個偏移位置。這里,本地存儲器340可以是隨機存取存儲器(RAM)、閃速存儲器或盤,以存儲內(nèi)容回放所需的數(shù)據(jù)。
其后,以寫入的數(shù)據(jù)填充A/V(音頻/視頻)緩沖器350。如果嘗試回放內(nèi)容,則終端300通過媒體播放器360開始輸出對應(yīng)的數(shù)據(jù)。換句話說,將內(nèi)容文件的數(shù)據(jù)解析為視頻數(shù)據(jù)和音頻數(shù)據(jù),以填充A/V緩沖器350,視頻數(shù)據(jù)和音頻數(shù)據(jù)通過顯示單元和揚聲器而輸出。
在終端300的漸進下載操作大致分為內(nèi)容標識步驟、下載環(huán)境設(shè)置步驟以及下載和回放步驟。
下文中,將參照圖4描述根據(jù)本發(fā)明的內(nèi)容標識步驟。圖4是示出根據(jù)本發(fā)明的元數(shù)據(jù)獲得處理的流程圖。
在圖4中,在下載內(nèi)容文件之前獲得內(nèi)容文件的格式信息。首先,在步驟400,終端300通過TCP連接到服務(wù)器320。當(dāng)TCP連接到服務(wù)器320時,在步驟405,終端300將對mp4格式內(nèi)容文件的x.mp4請求發(fā)送到服務(wù)器320。更具體地說,終端300將包括用于設(shè)置內(nèi)容文件的特定范圍的信息的“GET包”發(fā)送到服務(wù)器320以獲得頭信息。執(zhí)行步驟405,從而終端300確定將對應(yīng)的數(shù)據(jù)定位到服務(wù)器320的哪個位置。
例如,可將內(nèi)容文件的元數(shù)據(jù)定位到內(nèi)容文件的前面或后面,以及存儲音頻軌道或視頻軌道的采樣位置沒有固定。因此,在本發(fā)明中,在通過擴展HTTP先前獲得內(nèi)容文件的格式信息之后,預(yù)先下載內(nèi)容文件的元數(shù)據(jù)。因此,基于下載的元數(shù)據(jù)實時下載必要數(shù)據(jù),從而允許兼容漸進下載。
通常,MPEG4內(nèi)容文件的邏輯單元頭信息占用幾十字節(jié)或更少。在本發(fā)明的實施例中,終端300以10字節(jié)為單位請求遠程內(nèi)容文件的數(shù)據(jù)以獲得邏輯單元頭信息。為此,終端300設(shè)置0-10.000的特定范圍,并將對內(nèi)容文件的數(shù)據(jù)的請求發(fā)送到服務(wù)器320。在步驟S410,終端300從服務(wù)器320接收響應(yīng)信號200 OK,并開始從服務(wù)器320接收內(nèi)容文件的10字節(jié)部分。在接收10字節(jié)數(shù)據(jù)之后,終端300分析包括在接收的10字節(jié)數(shù)據(jù)中的頭信息。由于頭信息包括邏輯單元的大小信息,因此終端300可通過所述分析來識別指示文件類型的邏輯單元的大小。
終端300從服務(wù)器320讀取10字節(jié)數(shù)據(jù)以基于分析結(jié)果來分析和識別邏輯單元的名稱和大小。例如,如果邏輯單元名稱是“ftyp”,則因為“ftyp”邏輯單元是指示文件類型的邏輯單元,所以終端300計算文件指針以搜索包括元數(shù)據(jù)的“moov”邏輯單元。由于終端300可基于分析結(jié)果識別“ftyp”邏輯單元的大小,因此其可計算用于“ftyp”邏輯單元之后的邏輯單元的文件指針。
在步驟415,如果終端300通過分析用于“ftyp”邏輯單元的頭信息來識別“ftyp”邏輯單元的偏移范圍是0-2000,則終端300設(shè)置2000.00-2000.0010的特定范圍以獲得用于“ftyp”邏輯單元之后的邏輯單元的頭信息,并請求內(nèi)容文件的另一10字節(jié)部分。在步驟420,終端300從服務(wù)器320接收響應(yīng)信號200 OK,并從服務(wù)器320接收內(nèi)容文件的10字節(jié)數(shù)據(jù)。
在步驟425和430,如果終端300識別元數(shù)據(jù)沒有包括在最多偏移3000的范圍的邏輯單元中,則終端300讀取另一10字節(jié)數(shù)據(jù),分析在從服務(wù)器320接收響應(yīng)信號之后接收的數(shù)據(jù)(即頭信息)以計算下一文件指針,并檢查元數(shù)據(jù)是否包括在與計算的文件指針對應(yīng)的位置中。按照該方式,終端300重復(fù)探察內(nèi)容文件的部分以搜索內(nèi)容文件中的元數(shù)據(jù)。
如果在步驟430邏輯單元的名稱是作為分析10字節(jié)數(shù)據(jù)(即頭信息)的結(jié)果的“moov”,則在步驟435,終端300識別邏輯單元包括元數(shù)據(jù),并將對元數(shù)據(jù)的請求(即GET包)發(fā)送到服務(wù)器320。其后,在步驟440,終端300獲得元數(shù)據(jù),同時從服務(wù)器320接收響應(yīng)信號。此時,由于終端300已經(jīng)分析頭信息并因此不僅識別邏輯單元名稱還識別邏輯單元大小,因此其可得知將讀取多少內(nèi)容文件的數(shù)據(jù)以獲得元數(shù)據(jù)。因此,將設(shè)置將讀取的內(nèi)容文件的數(shù)據(jù)的范圍的GET包發(fā)送到服務(wù)器320以獲得元數(shù)據(jù)。按照該方式,終端300以預(yù)定字節(jié)為單位讀取遠程內(nèi)容的數(shù)據(jù)以分析讀取的數(shù)據(jù),計算文件指針直到找出元數(shù)據(jù),并在與計算的文件指針對應(yīng)的位置獲得找到的元數(shù)據(jù)。其后,終端300解析找到的元數(shù)據(jù),并更新數(shù)據(jù)庫,即本地存儲器340。在獲得和解析元數(shù)據(jù)之后,終端300可確定將內(nèi)容文件的視頻采樣和音頻采樣定位到什么位置(即服務(wù)器320的偏移)。
可通過如下所示的表1中的軟件算法來實現(xiàn)前述處理表1
根據(jù)本發(fā)明的探察處理指的是這樣的處理終端300重復(fù)發(fā)送具有小范圍的GET包并從服務(wù)器320對其關(guān)于內(nèi)容文件的信息(例如邏輯單元的名稱和大小)以計算用于元數(shù)據(jù)的文件指針。如果服務(wù)器320可通過擴展HTTP預(yù)先提供對應(yīng)的文件指針信息,即關(guān)于哪一數(shù)據(jù)位于哪一位置的信息,則可跳過前述探察處理。此時,服務(wù)器320可使用響應(yīng)信號200 OK的頭來提供指針信息。由于當(dāng)獲得用于元數(shù)據(jù)的文件指針時終端300可得知元數(shù)據(jù)位于哪一偏移,因此其使用獲得的文件指針和偏移開始元數(shù)據(jù)下載和本地存儲器存儲。
當(dāng)獲得元數(shù)據(jù)時,終端300可使用獲得的元數(shù)據(jù)設(shè)置適合于內(nèi)容文件的漸進下載環(huán)境。更具體地說,終端300通過分析元數(shù)據(jù)來設(shè)置視頻采樣和音頻采樣之間的交織程度、每一視頻或音頻幀的偏移和大小、以及回放視頻采樣和音頻采樣中的每一個所需的傳輸速率,從而初始化緩沖控制變量,并設(shè)置用于優(yōu)化漸進下載環(huán)境的環(huán)境變量,例如范圍頭的范圍、TCP連接的數(shù)量以及傳輸速率。用于本發(fā)明的TCP連接的數(shù)量可與媒體類型(音頻和視頻)的數(shù)量相同。
更具體地說,如下執(zhí)行這樣的對兼容漸進下載的準備處理。
終端300使用元數(shù)據(jù)計算每一音頻采樣和視頻采樣的位置和持續(xù)時間。音頻采樣和視頻采樣可通過交織而存儲在單個“mdat”邏輯單元中,或分別存儲在幾個“mdat”邏輯單元中。如果按1秒或更少來交織音頻采樣和視頻采樣,則可通過以內(nèi)容文件的第一部分來開始下載的普通下載方法來執(zhí)行漸進下載。然而,如果在單個“mdat”邏輯單元中交織間隔大于1秒,或在多個“mdat”邏輯單元中與整個回放時間相同,則由于無法同步A/V緩沖器350而不連續(xù)執(zhí)行回放。因此,在本發(fā)明所建議的緩沖控制中,緩沖閾值(即音頻采樣閾值x和視頻采樣閾值y)被設(shè)置為視頻采樣和音頻采樣分別輸出到其的顯示單元和揚聲器的邊界。閾值x和y表示切換在音頻采樣和視頻采樣之間緩沖時間點。閾值x和y的默認值可被設(shè)置為媒體播放器的初始緩沖的默認值的一半。
可通過如下表2所示的軟件算法來實現(xiàn)前述處理。
表2
下文中,將參照圖5描述根據(jù)本發(fā)明的下載和播放內(nèi)容文件的處理。圖5是示出根據(jù)本發(fā)明的通過隨機范圍訪問的下載和回放處理的流程圖。
在下載和回放處理之前,終端300基于通過探察處理獲得的元數(shù)據(jù)確定在什么位置檢索什么采樣。其后,終端300執(zhí)行緩沖以從服務(wù)器320檢索音頻采樣或視頻采樣,在本地存儲器340中下載讀取的音頻采樣或視頻采樣以填充A/N緩沖器350,并嘗試回放。根據(jù)本發(fā)明的用于內(nèi)容文件下載的隨機范圍訪問和實時緩沖控制方法重復(fù)對服務(wù)器320的隨機訪問并緩沖控制以允許A/V緩沖器350將填充A/V緩沖器350的緩沖選擇性地與音頻采樣或視頻采樣同步,從而確保在下載期間無縫連續(xù)回放。
對于無縫連續(xù)回放,終端300從服務(wù)器320接收與從A/V緩沖器350輸出到媒體播放器360同樣多的數(shù)據(jù)。在圖5中,通過隨機范圍訪問反過來重復(fù)接收內(nèi)容文件的音頻采樣和視頻采樣。
首先,在開始回放之前,終端300執(zhí)行初始緩沖以將A/V緩沖器350填充到一定程度。由于終端300已經(jīng)基于元數(shù)據(jù)知道將從服務(wù)器320的哪一偏移讀取多少音頻采樣或視頻采樣,因此其可執(zhí)行回放,同時從服務(wù)器320逐漸檢索音頻采樣或視頻采樣。如果用于以在初始緩沖之后的音頻采樣填充A/V緩沖器350的音頻緩沖量減少到音頻采樣閾值x或更少,則終端300在范圍中設(shè)置音頻采樣的位置,并將包括設(shè)置的范圍的GET包發(fā)送到服務(wù)器320。因此,終端300可在設(shè)置的范圍內(nèi)接收音頻采樣。連續(xù)執(zhí)行這樣的音頻緩沖,直到視頻緩沖量減少到視頻采樣閾值x或更少。如果視頻緩沖量減少到視頻采樣閾值x或更少,則停止音頻緩沖,其后切換到用于以視頻采樣填充A/V緩沖器350的視頻緩沖。
在參照圖5的A/V采樣獲得和回放中,一旦在初始緩沖之后填充A/V緩沖器350的音頻采樣和視頻采樣輸出到媒體播放器360的顯示單元和揚聲器,就將它們看作被消耗。如果可播放的剩余視頻采樣小于視頻采樣閾值x,則終端300識別應(yīng)該填充A/V緩沖器350。因此,在步驟500,終端300設(shè)置將從服務(wù)器320讀取的視頻采樣的位置,并將用于填充A/V緩沖器350的對視頻采樣的x.mp4請求發(fā)送到服務(wù)器320。在步驟505,當(dāng)從服務(wù)器320接收對x.mp4請求的響應(yīng)信號200 OK時,終端300下載請求的視頻采樣。其后,終端300在本地存儲器中存儲下載的視頻采樣,并解析視頻采樣,以將其發(fā)送到A/V緩沖器350,并通過媒體播放器360將其輸出,從而執(zhí)行無縫回放。此時,在步驟510,在視頻采樣的輸出期間,如果可播放的音頻采樣小于音頻采樣閾值x,則終端300發(fā)送對預(yù)定范圍中的音頻采樣的x.mp4請求。在步驟525,當(dāng)從服務(wù)器320接收對x.mp4請求的響應(yīng)信號200 OK時,終端300下載音頻采樣。
這樣,在步驟520至535重復(fù)執(zhí)行視頻采樣和音頻采樣的下載,直到完成下載和回放。每次在視頻緩沖和音頻緩沖之間切換就將GET包發(fā)送到服務(wù)器320。在步驟540,當(dāng)完成下載和播放時,終端300釋放與服務(wù)器320的TCP連接。
可通過如下表3所示的軟件算法來實現(xiàn)前述處理。
表3
下文中,將參照圖6描述根據(jù)本發(fā)明的用于兼容漸進下載的終端300的控制操作,圖6是示出執(zhí)行根據(jù)本發(fā)明的兼容漸進下載的終端中的處理的流程圖。在步驟700,終端300通過網(wǎng)絡(luò)310執(zhí)行與服務(wù)器320的TCP連接。其后,在步驟705,終端300搜索元數(shù)據(jù)以獲得內(nèi)容文件的格式信息。終端300將指定預(yù)定范圍的GET包重復(fù)發(fā)送到服務(wù)器320以獲得用于內(nèi)容文件的每一邏輯單元的頭信息。其后,終端300分析接收的數(shù)據(jù)(即頭信息)以獲得當(dāng)前邏輯單元的名稱和大小。如果確定當(dāng)前邏輯單元不包括元數(shù)據(jù),則終端300計算文件指針以指示下一邏輯單元的位置。終端300從由文件指針指示的位置讀取預(yù)定范圍中的數(shù)據(jù),并分析頭信息以確定邏輯單元是否包括元數(shù)據(jù)。按照該方式,通過以幾字節(jié)為單位從每一邏輯單元開始的位置讀取數(shù)據(jù),終端300可識別元數(shù)據(jù)的位置,并獲得元數(shù)據(jù)。另一方面,當(dāng)服務(wù)器320使用響應(yīng)信號的頭預(yù)先提供內(nèi)容文件的格式信息時,終端300不需要搜索元數(shù)據(jù)。
換句話說,本發(fā)明所應(yīng)用的終端300可通過探察元數(shù)據(jù)或通過從服務(wù)器320被直接提供元數(shù)據(jù)而獲得內(nèi)容文件的格式信息。通過該處理,在步驟710,終端300確定是否獲得元數(shù)據(jù)。如果獲得,則終端300進入步驟715,使用獲得的元數(shù)據(jù)獲得內(nèi)容文件的格式信息,并識別每一媒體數(shù)據(jù)的位置。每一媒體數(shù)據(jù)可用于指示音頻采樣或視頻采樣。其后,終端300從服務(wù)器320下載對應(yīng)的位置中的媒體數(shù)據(jù)(即音頻采樣和/或視頻采樣),并執(zhí)行寫入和回放。此時,輪流下載音頻采樣和視頻采樣的每一個。
通過下載,每一媒體數(shù)據(jù)(例如音頻采樣和視頻采樣)填充A/V緩沖器350,并且在A/V緩沖器350中填充的每一采樣通過媒體播放器360而輸出。其后,在步驟725,終端300確定可播放的每一采樣是否小于對應(yīng)的閾值。換句話說,終端300確定在回放期間用于每一媒體數(shù)據(jù)的數(shù)據(jù)緩沖量是否小于閾值。此時,執(zhí)行根據(jù)本發(fā)明的回放,從而即使當(dāng)音頻采樣和視頻采樣都被消耗時也下載音頻采樣和視頻采樣。因此,通過回放消耗的采樣將會小于閾值。這里,為音頻采樣和視頻采樣設(shè)置不同的閾值。
如果在步驟725沒有小于閾值的采樣,則終端300進入步驟715,識別將下載的媒體數(shù)據(jù)的位置,并下載媒體數(shù)據(jù)。反之,如果在步驟725存在小于閾值的采樣,則在步驟730,終端300切換緩沖以緩沖小于閾值的媒體數(shù)據(jù)。例如,在音頻緩沖期間,如果A/V緩沖器350中剩余的視頻采樣(即視頻緩沖量)小于視頻采樣閾值x,則終端300將音頻緩沖切換到用于下載視頻采樣的視頻緩沖。另一方面,如果音頻緩沖量小于音頻采樣閾值x,則終端300停止緩沖視頻采樣,并開始緩沖小于音頻采樣閾值x的音頻采樣。因此,只要與服務(wù)器320的TCP連接沒有釋放,終端300就重復(fù)執(zhí)行音頻緩沖或視頻緩沖。這樣,終端300停止緩沖正從服務(wù)器320下載的媒體數(shù)據(jù),并且在回放期間每當(dāng)用于每一媒體數(shù)據(jù)的緩沖量小于閾值就緩沖小于閾值的媒體數(shù)據(jù)。
下文中,將參照圖7描述音頻緩沖和視頻緩沖的緩沖控制操作,圖7是示出根據(jù)本發(fā)明的緩沖控制處理的示圖。
在圖7中,假定以30kb/s下載30kb/s的3MB文件(不包括元數(shù)據(jù)),其包括10kb/s的音頻數(shù)據(jù)和20kb/s的視頻數(shù)據(jù)。當(dāng)每一采樣將A/V緩沖器350填充到一定程度時,終端300首先開始回放。為此,終端300執(zhí)行6秒的初始緩沖。換句話說,終端300執(zhí)行初始緩沖,直到60k字節(jié)音頻數(shù)據(jù)和120k字節(jié)視頻數(shù)據(jù)填充A/V緩沖器350。
如圖7所示,終端300首先開始音頻緩沖以緩沖來自服務(wù)器320的音頻采樣,其后,在預(yù)定時間過去之后(即60k字節(jié)視頻采樣填充A/V緩沖器350),執(zhí)行用于緩沖視頻采樣的視頻緩沖。圖7中的預(yù)定時間時2秒。當(dāng)在視頻緩沖之后120k字節(jié)視頻采樣填充A/V緩沖器350時,A/V緩沖器350被填充到允許回放的程度。因此,終端300識別完成初始緩沖。換句話說,如果終端300執(zhí)行視頻緩沖并在4秒內(nèi)完成緩沖,則其完成初始緩沖并在6秒點開始回放。
因此,終端300在6秒點在回放期間執(zhí)行音頻緩沖。此時,在回放期間,由于以30kb/s接收音頻采樣,但以10kb/s由媒體播放器360消耗,因此其實際上以20kb/s增加。反之,在音頻緩沖期間,由于不能讀取視頻采樣,因此媒體播放器360以20kb/s消耗其。當(dāng)消耗填充A/V緩沖器350的視頻采樣并且剩余的視頻采樣小于視頻采樣閾值x時,終端300停止音頻緩沖并開始視頻緩沖,因此,視頻采樣以10kb/s增加。從圖7可見,剩余視頻采樣在9秒點達到視頻采樣閾值y。
相似地,當(dāng)剩余在A/V緩沖器350中的音頻采樣(即可播放的音頻采樣)小于音頻采樣閾值x時(即圖7中的18秒點),終端300停止音頻緩沖,將視頻緩沖切換到音頻緩沖,并重復(fù)前述處理,直到完成下載。
如上所述,在根據(jù)本發(fā)明的兼容漸進下載中,通過擴展終端的HTTP客戶機的協(xié)議或服務(wù)器的協(xié)議,預(yù)先獲得內(nèi)容文件的格式信息。因此,終端可識別將下載的內(nèi)容文件,并在回放期間連續(xù)獲得必須的數(shù)據(jù)。此外,終端可基于獲得的內(nèi)容文件的格式信息來確定交織信息,并使用隨機范圍訪問,從而實時控制緩沖。
本發(fā)明不僅可將3GPP的漸進下載應(yīng)用于由3GPP定義的格式,而且還可將其應(yīng)用于在終端修改的MPEG4內(nèi)容,而無需在服務(wù)器分別改變內(nèi)容文件。因此,隨著僅為3G網(wǎng)絡(luò)指示的漸進下載方法正朝著目標在于集成有線和無線網(wǎng)絡(luò)并建立開放架構(gòu)的4G技術(shù)演進,本發(fā)明可用作提供3GPP的漸進下載的兼容性的標準,并可作為與傳統(tǒng)內(nèi)容兼容的替換技術(shù)。
雖然已參照優(yōu)選實施例示出和描述了本發(fā)明,但本領(lǐng)域技術(shù)人員應(yīng)理解,在不脫離本發(fā)明的精神和范圍的情況下,可在形式和細節(jié)上進行各種改變。
權(quán)利要求
1.一種兼容漸進下載方法,包括以下步驟由終端從服務(wù)器獲得內(nèi)容文件的格式信息;使用獲得的格式信息從服務(wù)器下載內(nèi)容文件的每一媒體數(shù)據(jù),并執(zhí)行初始緩沖以填充預(yù)定的緩沖器;當(dāng)完成初始緩沖時,輸出預(yù)定的緩沖器中填充的每一媒體數(shù)據(jù)以進行回放;以及在回放期間,每當(dāng)媒體數(shù)據(jù)的緩沖量小于閾值時,就停止緩沖正從服務(wù)器下載的當(dāng)前媒體數(shù)據(jù),并開始緩沖小于閾值的媒體數(shù)據(jù)。
2.如權(quán)利要求1所述的兼容漸進下載方法,其中,通過響應(yīng)信號預(yù)先從服務(wù)器提供內(nèi)容文件的格式信息。
3.如權(quán)利要求1所述的兼容漸進下載方法,其中,獲得內(nèi)容文件的格式信息的步驟包括由終端從服務(wù)器接收內(nèi)容文件的預(yù)定范圍內(nèi)的數(shù)據(jù),并分析接收的數(shù)據(jù)以確定指示內(nèi)容文件的格式信息的元數(shù)據(jù)是否包括在接收的數(shù)據(jù)中;以及如果元數(shù)據(jù)包括在接收的數(shù)據(jù)中,則從服務(wù)器獲得對應(yīng)的位置中的元數(shù)據(jù)。
4.如權(quán)利要求3所述的兼容漸進下載方法,還包括如果元數(shù)據(jù)沒有包括在先前接收的數(shù)據(jù)中,則由終端從服務(wù)器接收內(nèi)容文件的另一預(yù)定范圍內(nèi)的數(shù)據(jù),并分析接收的數(shù)據(jù)以確定元數(shù)據(jù)是否包括咱接收的數(shù)據(jù)中。
5.如權(quán)利要求3所述的兼容漸進下載方法,其中,確定元數(shù)據(jù)是否包括在接收的數(shù)據(jù)中的步驟包括通過將指定所述預(yù)定范圍的GET包發(fā)送到服務(wù)器而由終端請求內(nèi)容文件的部分;分析響應(yīng)于請求而接收的數(shù)據(jù),并基于分析結(jié)果確定邏輯單元的名稱和大?。灰约盎谒龃_定來確定媒體數(shù)據(jù)是否包括在接收的數(shù)據(jù)中。
6.如權(quán)利要求1所述的兼容漸進下載方法,還包括使用獲得的格式信息來設(shè)置用于內(nèi)容文件的音頻采樣和視頻采樣的漸進下載環(huán)境;在設(shè)置的漸進下載環(huán)境下識別音頻采樣和視頻采樣中的每一個的位置和持續(xù)時間;以及下載與識別的位置對應(yīng)的音頻采樣和視頻采樣中的每一個,并將其寫入預(yù)定的存儲器位置。
7.如權(quán)利要求6所述的兼容漸進下載方法,其中,通過使用獲得的格式信息來設(shè)置媒體之間的交織程度、每一邏輯單元的大小和偏移、以及回放所需的傳輸速率中的至少一個來執(zhí)行設(shè)置漸進下載環(huán)境的步驟。
8.如權(quán)利要求1所述的兼容漸進下載方法,其中,通過從服務(wù)器下載每一媒體數(shù)據(jù)直到每一媒體數(shù)據(jù)將預(yù)定的緩沖器填充到預(yù)定程度來完成所述初始緩沖。
9.如權(quán)利要求1所述的兼容漸進下載方法,其中,每一媒體數(shù)據(jù)是音頻采樣和視頻采樣中的一個。
10.如權(quán)利要求9所述的兼容漸進下載方法,還包括在初始緩沖之后,執(zhí)行用于接收音頻采樣的緩沖,并根據(jù)回放輸出音頻采樣和視頻采樣中的每一個;當(dāng)視頻采樣的緩沖量小于閾值時,停止音頻緩沖,并執(zhí)行用于接收視頻采樣的視頻緩沖;以及每當(dāng)采樣的緩沖量小于與采樣對應(yīng)的閾值直到完成回放時,就緩沖小于閾值的采樣。
11.一種兼容漸進下載系統(tǒng),包括終端,使用內(nèi)容文件的格式信息從服務(wù)器下載內(nèi)容的每一媒體數(shù)據(jù),執(zhí)行初始緩沖以填充預(yù)定緩沖器,當(dāng)完成初始緩沖以進行回放時輸出每一媒體數(shù)據(jù),在回放期間,每當(dāng)媒體數(shù)據(jù)的緩沖量小于閾值時,就停止緩沖正下載的當(dāng)前媒體數(shù)據(jù),并開始緩沖小于閾值的媒體數(shù)據(jù);以及服務(wù)器,在初始緩沖中,在由終端直到的對應(yīng)的范圍內(nèi)提供每一媒體數(shù)據(jù),當(dāng)接收對小于閾值的媒體數(shù)據(jù)的請求時,發(fā)送具有與終端的請求對應(yīng)的位置的大小的媒體數(shù)據(jù)來代替正發(fā)送的當(dāng)前媒體數(shù)據(jù)。
12.如權(quán)利要求11所述的兼容漸進下載系統(tǒng),其中,通過響應(yīng)信號預(yù)先從服務(wù)器提供內(nèi)容文件的格式信息。
13.如權(quán)利要求10所述的兼容漸進下載系統(tǒng),其中,終端從服務(wù)器接收內(nèi)容文件的預(yù)定范圍內(nèi)的數(shù)據(jù),分析接收的數(shù)據(jù)以確定指示內(nèi)容文件的格式信息的元數(shù)據(jù)是否包括在接收的數(shù)據(jù)中,如果元數(shù)據(jù)包括在接收的數(shù)據(jù)中,則從服務(wù)器獲得對應(yīng)的位置內(nèi)的媒體數(shù)據(jù)。
14.如權(quán)利要求13所述的兼容漸進下載系統(tǒng),其中,如果元數(shù)據(jù)沒有包括在先前接收的數(shù)據(jù)中,則終端從服務(wù)器接收內(nèi)容文件的另一預(yù)定范圍內(nèi)的數(shù)據(jù),并分析接收的數(shù)據(jù)以確定元數(shù)據(jù)是否包括在接收的數(shù)據(jù)中。
15.如權(quán)利要求14所述的兼容漸進下載系統(tǒng),其中,終端從服務(wù)器接收以幾十字節(jié)為單位的數(shù)據(jù),分析接收的數(shù)據(jù)以識別邏輯單元的名稱和大小,并基于識別邏輯單元的名稱來搜索元數(shù)據(jù)。
16.如權(quán)利要求14所述的兼容漸進下載系統(tǒng),其中,當(dāng)從服務(wù)器接收預(yù)定字節(jié)的數(shù)據(jù)時,終端分析接收的數(shù)據(jù)以識別邏輯單元的名稱和大小,如果邏輯單元不包括元數(shù)據(jù),則計算指示下一邏輯單元的文件指針,在由計算的文件指針指示的位置接收預(yù)定字節(jié)的數(shù)據(jù),并在接收的數(shù)據(jù)中搜索元數(shù)據(jù)。
17.如權(quán)利要求11所述的兼容漸進下載系統(tǒng),其中,每一媒體數(shù)據(jù)與音頻采樣和視頻采樣中的一個對應(yīng)。
18.如權(quán)利要求17所述的兼容漸進下載系統(tǒng),其中,當(dāng)在預(yù)定緩沖中將音頻采樣和視頻采樣填充到各個預(yù)定程度時,終端識別初始緩沖完成。
19.如權(quán)利要求17所述的兼容漸進下載系統(tǒng),其中,每當(dāng)采樣小于閾值時終端基于獲得的格式信息設(shè)置范圍以請求采樣,并將指定設(shè)置的范圍的GET包發(fā)送到服務(wù)器。
全文摘要
公開了一種兼容漸進下載方法和系統(tǒng)。在該系統(tǒng)中,終端在下載內(nèi)容文件之前獲得遠程內(nèi)容文件的格式信息,并基于獲得的格式信息設(shè)置漸進下載環(huán)境。其后,終端同時從服務(wù)器下載與格式信息對應(yīng)的位置中的數(shù)據(jù),并播放下載的數(shù)據(jù)。此時,獨立執(zhí)行接收每一媒體數(shù)據(jù),即音頻數(shù)據(jù)和視頻數(shù)據(jù),并按照下載在回放期間小于其閾值的媒體數(shù)據(jù)以填充緩沖器的方式來執(zhí)行漸進下載。該漸進下載方法可應(yīng)用于除了第三代伙伴項目(3GPP)定義的格式之外的其它格式的內(nèi)容的下載。因此,服務(wù)器無需根據(jù)3GPP標準修改內(nèi)容的格式。
文檔編號H04L29/02GK1972193SQ20061014930
公開日2007年5月30日 申請日期2006年11月21日 優(yōu)先權(quán)日2005年11月22日
發(fā)明者樸珍 申請人:三星電子株式會社