串流數據下載方法及計算機可讀取儲存介質的製作方法
2023-05-20 09:45:31 1
串流數據下載方法及計算機可讀取儲存介質的製作方法
【專利摘要】一種串流數據下載方法及計算機可讀取儲存介質。該串流數據下載方法適用於視頻播放裝置由網際網路從視頻伺服器下載視頻文件,該串流數據下載方法包括:向該視頻伺服器請求下載該視頻文件,以從該視頻文件的緩衝區的起始處開始下載緩衝數據;計算完整下載該緩衝數據所需要的下載時間;劃分該下載時間為多個時間區段,用以從該視頻伺服器分別下載該多個時間區段中的緩衝數據;從該多個時間區段當中選取至少其中之一為下載區段,並向該視頻伺服器請求下載所選取的該下載區段的數據,以建立與通道數量相符的多個下載通道;以及根據該多個下載通道,同時下載該多個下載區段的數據。本發明可快速取得視頻文件的數據,減少使用者等待數據下載的時間。
【專利說明】串流數據下載方法及計算機可讀取儲存介質
【技術領域】
[0001]本發明涉及一種數據下載方法及儲存介質,且特別涉及一種串流數據下載方法及計算機可讀取儲存介質。
【背景技術】
[0002]利用網絡平臺傳遞影音視頻等信息的做法,隨著寬帶網絡的普及越來越興盛。使用者可隨時點選存在於網絡上的視頻文件,由本地端的計算機或網絡電視通過網際網路下載視頻文件後在本地端觀看。
[0003]然而,使用者最常遇到的困擾在於,通過網際網路下載視頻文件等串流數據時,必須等待本地端的裝置預載一部分視頻內容後,才會開始播放影像。而前述等待的時間會受到文件本身的數據量、帶寬及下載當時的網絡流量而變動。當帶寬不足或網絡流量大時,使用者必須花費更多的時間等候本地端的裝置預載足夠的數據。
[0004]另一方面,當使用者在觀看視頻影像的過程中,若希望「快轉」影像以觀看後段的影像時,由於裝置可能尚未預載到使用者指定的段落,致使本地端的裝置必須在使用者操作後,即時向視頻文件的來源處請求使用者指定的段落的數據。上述的程序將造成使用者觀看影像前必須再度等待裝置預載一段數據。前述的情況易於造成使用者無法順暢地觀看視頻影像,並經常產生影像中斷的不良使用經驗。
[0005]因此,需要提供一種串流數據下載方法及計算機可讀取儲存介質來解決上述問題。
【發明內容】
[0006]本發明的實施例提供一種串流數據下載方法,該串流數據下載方法適用於一視頻播放裝置由網際網路從一視頻伺服器下載一視頻文件,該串流數據下載方法包括:向該視頻伺服器請求下載該視頻文件,以從該視頻文件的一緩衝區的起始處開始下載緩衝數據;計算完整下載該緩衝數據所需要的一下載時間;劃分該下載時間為多個時間區段,用以從該視頻伺服器分別下載該多個時間區段中的緩衝數據;從該多個時間區段當中選取至少其中之一為一下載區段,並向該視頻伺服器請求下載所選取的該下載區段的數據,以建立與一通道數量相符的多個下載通道;以及根據該多個下載通道,同時下載該多個下載區段的數據。
[0007]判斷所述的下載區段當中是否有任一者的數據已下載完畢;當其中一個下載區段已下載數據完畢時,判斷下載區段之後是否還有未被請求下載的時間區段;當尚有未被請求下載的時間區段,選取尚未被請求下載的其中一個時間區段為新下載區段以維持通道數量;向視頻伺服器發出新下載請求,以下載新下載區段,直到所述的多個時間區段的數據都下載完畢。
[0008]此外,本發明實施例還提供一種串流數據下載方法,適用於視頻播放裝置經由網際網路從視頻伺服器下載視頻文件。所述方法包括:向視頻伺服器請求下載視頻文件;從視頻文件的緩衝數據起始處開始下載數據,並計算下載視頻文件所需要的文件時間及下載緩衝數據所需要的下載時間;根據下載時間劃分文件時間為多個時間區段,用以從視頻伺服器分別下載所述多個時間區段的數據;從多個時間區段當中選取至少其中之一為下載區段,並向視頻伺服器請求下載所選取的下載區段的數據,以建立與通道數量相符的多個下載通道;根據多個下載通道,同時下載多個下載區段的數據;當其中一個下載通道已下載數據完畢時,判斷所述多個下載區段之後是否還有未被請求下載的時間區段;當尚有未被請求下載的時間區段,選取尚未被請求下載的其中一個時間區段為新的下載區段;以及向視頻伺服器發出新下載請求,以下載新下載區段的數據,直到多個時間區段的數據都下載完畢。
[0009]本發明還提供一種串流數據下載方法,該串流數據下載方法適用於一視頻播放裝置經由網際網路從一視頻伺服器下載一視頻文件,該串流數據下載方法包括:向該視頻伺服器請求下載該視頻文件;從該視頻文件的一緩衝數據的起始處開始下載數據,並計算下載該視頻文件所需要的一文件時間及下載該緩衝數據所需要的一下載時間;根據該下載時間劃分該文件時間為多個時間區段,用以從該視頻伺服器分別下載該多個時間區段的數據;從該多個時間區段當中選取至少其中之一為一下載區段,並向該視頻伺服器請求下載所選取的該下載區段的數據,以建立與一通道數量相符的多個下載通道;根據該多個下載通道,同時下載該多個下載區段的數據;當該多個下載區段的其中一個已下載數據完畢時,判斷該多個下載區段之後是否還有未被請求下載的該時間區段;當尚有未被請求下載的該時間區段,選取尚未被請求下載的其中一個時間區段為一新的下載區段;以及向該視頻伺服器發出一新下載請求,以下載該新下載區段,直到該多個時間區段的數據都下載完畢。
[0010]除此之外,本發明實施例還提供可執行上述方法的計算機可讀取儲存介質。
[0011]本發明還提供一種計算機可讀取儲存介質,該計算機可讀取儲存介質記錄一組程序代碼,其中,該組程序代碼被一處理器讀取時,該處理器執行該組程序代碼以實施如上述的方法。
[0012]本發明還提供一種計算機可讀取儲存介質,該計算機可讀取儲存介質記錄一組程序代碼,其中,該組程序代碼被一處理器讀取時,該處理器執行該組程序代碼以實施如上述的方法。
[0013]本發明可大幅縮短使用者等待視頻影像開始播放的時間,並可極為快速地將整個視頻文件的內容都下載到視頻播放裝置,維持整部視頻播放的順暢度,還可隨時響應使用者快轉影像播放片段的需求;因此既不影響使用者的使用習慣,又可縮短使用者等候數據的時間,有效地提供使用者良好的使用經驗。
【專利附圖】
【附圖說明】
[0014]圖1為本發明提供的一種串流數據下載方法實施例的流程圖;
[0015]圖2為本發明實施例中的視頻文件的時間軸示意圖(未播放視頻);
[0016]圖3為本發明實施例中的視頻文件的時間軸示意圖(播放視頻中);
[0017]圖4A-圖4D為本發明實施例中的緩衝數據的時間軸示意圖;
[0018]圖5A為本發明實施例中的視頻文件的時間軸示意圖(視頻數據未劃分區段);
[0019]圖5B為本發明實施例中的視頻文件的時間軸示意圖(視頻數據劃分多區段);[0020]圖6為本發明提供的另一種串流數據下載方法的實施例的流程圖;
[0021]圖7為本發明實施例中的視頻文件的時間軸示意圖(視頻文件劃分多區段);以及
[0022]圖8為本發明提供的一種視頻下載裝置實施例的方框圖。
[0023]主要組件符號說明:
[0024]S101-S123流程步驟30工作管理模塊
[0025]2視頻文件31儲存單元
[0026]20緩衝數據32寄存控制單元
[0027]201-205時間區段33解碼器
[0028]21指針34影像寄存單元
[0029]22視頻數據35示單元
[0030]20』,221-229時間區段4網際網路
[0031]22a、24、26區段5視頻伺服器
[0032]3視頻播放裝置S601-S621流程步驟
【具體實施方式】
[0033]〔串流數據下載方法實施例〕
[0034]請參照圖1,圖1是本發明提供的一種串流數據下載方法實施例的流程圖。本實施例的方法可用於供視頻播放裝置通過網際網路從視頻伺服器下載視頻文件。
[0035]視頻播放裝置可接受使用者操作而產生的指令,經由網際網路向視頻伺服器發出下載一視頻文件的下載請求(request) (SlOl)0視頻伺服器響應接收到的下載請求,與視頻播放裝置之間建立一個下載通道,從視頻文件的起始處開始,通過網際網路將視頻文件的內容傳送回視頻播放裝置,以供視頻播放裝置接收寄存。視頻播放裝置從起始處開始接收視頻文件內容的同時,還會根據整個視頻文件的數據量、下載文件當時的網絡傳輸速率及帶寬,計算出通過單個下載通道,依照視頻文件的播放順序下載視頻文件內容時,需要預先下載的緩衝數據的數據量,以及完整下載緩衝數據所需要的下載時間(S103)。請參閱圖2繪示的視頻文件下載時間軸的示意圖。圖2所繪示的時間軸全長代表視頻文件2的全部時間長度,所述的緩衝數據20是視頻播放裝置開始下載視頻文件2到開始播放視頻文件2之間所應接收的內容數據。請參閱圖3,在已知的做法中,當視頻播放裝置下載了整個視頻文件2當中足夠的緩衝數據20後,視頻影像才開始從視頻文件2的起始處播放,其中,指針21代表視頻文件目前播放位置,區段24顯示了已播放過的視頻數據。在播放的過程中,視頻播放裝置會繼續下載緩衝數據以外的視頻數據22,以讓視頻文件可以持續順暢地播放直到結束。例如圖3所示,當視頻播放裝置預先下載緩衝數據20之後,從視頻文件起始處開始播放影像到指針21處(對應區段24)時,視頻播放裝置也同時又下載了視頻數據22當中的另一部分(對應區段26)。
[0036]在本實施例中,為了減少使用者從開始下載數據到開始播放之間的等待時間,因此,視頻播放裝置可在計算出緩衝數據的下載時間後,如圖4A所示將緩衝數據20劃分為多個連續的時間區段(S105),本實施例中舉例示意劃分為時間區段201到205。視頻文件的起始部分對應了所述時間區段當中的第一區段(即時間區段201)。視頻播放裝置會依照預定的通道數量及時間區段的順序,再選取第一區段201之後的一個或多個連續的時間區段為下載區段,並且根據所選的各時間區段的起始時間,向視頻伺服器分別發出下載請求,以建立對應於第一區段以外的一個或多個下載通道,使得從視頻播放裝置與視頻伺服器之間建立的下載通道的數量與預定的通道數量相等(S107)。在本實施例中預定的通道數量為3,因此視頻播放裝置在第一區段201之外,進一步選取了接續在第一區段201之後的兩個時間區段202及203,並向視頻伺服器請求對應於時間區段202及203的數據。
[0037]視頻播放裝置建立下載通道後,可先根據網絡流量及所需要下載的數據量,判斷當時是否有足夠的帶寬供所述多個時間區段的數據同時下載(S109)。若帶寬不足以供全部的下載通道一起下載數據,則可根據時間區段的順序,讓順序在後的時間區段所對應的下載通道暫時進入等待的模式(S111),直到恢復足夠的帶寬再繼續下載。
[0038]在帶寬足夠的情況下,視頻伺服器亦可響應新發出的一個或多個下載請求,進而根據下載請求所指出的起始時間而開始提供分組數據,使得視頻播放裝置除了向視頻伺服器請求下載視頻文件後就開始下載的第一區段201的數據外,還同時下載緩衝數據當中,第一區段之後的一個或多個時間區段的數據(即本實施例中的時間區段202、203)。換言之,視頻播放裝置會與視頻伺服器建立多個下載通道,並通過所述的多個下載通道同時下載緩衝數據當中不同時間區段的內容(S113)。藉由同時下載多個時間區段的數據,可縮短視頻播放裝置下載全部緩衝數據所需要的時間,減少使用者等待緩衝數據下載完成的時間。
[0039]請參照圖4A所示的視頻播放裝置下載數據的時間軸示意圖,圖4A顯示的是視頻播放裝置開始下載數據I秒後的數據下載情況。當視頻播放裝置向視頻伺服器提出下載視頻文件的請求後,可從視頻文件的起始部分開始下載數據。所述的起始部分也是緩衝數據的起始部分,也就是視頻文件的第I秒開始的數據。因此,將緩衝數據的下載時間劃分為多個時間區段時,首先開始被下載的起始部分的數據即為第一區段中201的數據。在本實施例中,多個時間區段所包含的時間長度成指數型遞增。假設以2為底數的指數型遞增為例,時間區段201到205依序包括了 I秒、2秒、4秒、8秒以及16秒的時間長度,換言之,從視頻文件的第一區段(即時間區段201)開始到時間區段205結束為止,共包括視頻文件第I到第31秒的數據。
[0040]除了首先開始下載的第一區段201的數據之外,在本實施例中,視頻播放裝置可再依據通道數量向視頻伺服器提出一個或多個下載請求,以同時下載多部分的時間區段中的數據。例如本實施例的通道數量為3,視頻播放裝置可選取第二區段202及第三區段203為下載區段,並根據時間區段當中的第二區段202及第三區段203的起始時間(即第I秒與第4秒),向視頻伺服器請求下載第二區段202及第三區段203的內容。待視頻伺服器響應後,再建立起供下載第二區段202及第三區段203的數據的兩個下載通道,視頻播放裝置即可同時通過多個下載通道(在本實施例中共三個),從視頻伺服器下載緩衝數據當中的第一區段201到第三區段203的三部分緩衝數據當中的內容。具體來說,視頻播放裝置將同時開始下載視頻文件當中的第I秒、第2秒與第4秒的數據,也就是圖4A所顯示的開始下載I秒之後,視頻播放裝置已取得視頻文件的第1、第2與第4秒的數據。相比僅提出一個下載請求,而以單個下載通道依序下載第一區段到第三區段的內容,本實施例中同時下載多個區段的內容可節省大量的時間。
[0041]回到圖1,視頻播放裝置可持續判斷是否有任一下載區段的數據已下載完成(S115)。若尚未有任何下載區段的數據下載完成,則繼續同時進行多個區段的下載(返回步驟S113)。當通過多個下載通道下載的數據當中任一者已下載完畢時,視頻播放裝置可判斷下載區段之後的時間區段是否超過緩衝數據的下載時間(S117),以決定是否還有其他時間區段所對應的數據尚未向視頻伺服器請求下載。當第I秒結束後,第一區段201的數據已下載完畢時,通過第三區段203的起始時間及第三區段203所包括的時間長度,可計算出接續在第三區段203之後的第四區段204的起始時間(即第8秒)。視頻播放裝置可比較第四區段204的起始時間是否已超過緩衝數據20整體的下載時間,以得知是否還有未被請求下載的時間區段的內容。假設本實施例中的緩衝數據20的下載時間為16秒,則第四區段204的起始時間尚未超過下載時間。
[0042]若判斷的結果為尚有未被請求下載的時間區段,視頻播放裝置可再選擇接續在已被請求下載的下載區段之後的時間區段(如上述舉例示意的第四區段204),根據新選取的時間區段的起始時間向視頻伺服器發出新的下載請求(S119),維持相同的下載通道的數量,以便使新選取的第四區段204與其他尚在下載當中的第二區段202及第三區段203的數據同時下載。
[0043]當視頻播放裝置根據被選取的新的下載區段向視頻伺服器請求下載後,可返回步驟S109判斷當時是否有足夠的帶寬下載新的下載區段的數據。若當時的帶寬不足,視頻播放裝置則與視頻伺服器維持下載通道,並等待恢復足夠的帶寬(S111)。請參閱圖4B,當判斷帶寬已恢復至足以供下載新的下載區段的數據時,視頻播放裝置即開始從視頻伺服器下載新的下載區段的數據(如第四區段204XS113),以便與尚未完成下載的其他下載區段(本實施例中為第二區段202及第三區段203) —起接收數據。因此,當第2秒結束時,從圖4B可見到第二區段202、第三區段203及新增下載的第四區段204分別又下載了 I秒長的數據。其中,總時間長度2秒鐘長的第二區段202的數據在此時也下載完畢。
[0044]因第2秒結束時第二區段202所包含的2秒長的數據下載完畢,視頻播放裝置可再根據第四區段204的時間長度計算出第五區段205的起始時間(即第16秒),並比對第五區段205的起始時間是否超出下載時間,以判斷是否仍有尚未被請求下載的時間區段的數據。若第五區段205的起始時間尚未超過下載時間,視頻播放裝置則可再根據第五區段205的起始時間向視頻伺服器發出下載請求,使得第五區段205的數據得以與尚在下載當中的第三區段203與第四區段204的數據同時下載。在本實施例中所需的下載時間為20秒,第五區段205的起始時間為第16秒,故視頻播放裝置判斷第五區段205尚未超出下載時間,進而可向視頻伺服器請求下載第五區段205的數據。參照圖4C所示的下載數據第3秒結束時的示意圖,可見到第三區段203到第五區段205中各自又下載了 I秒長的數據。
[0045]相反地,若視頻播放裝置判斷出最後一個被請求下載的時間區段的下一個區段的起始時間已超出下載時間時,代表整個緩衝數據的內容都已經由視頻播放裝置向視頻伺服器請求下載(即步驟SI 17的判斷結果為否),視頻播放裝置可停止再向視頻伺服器請求緩衝數據的內容(S121),僅需等待被請求的時間區段的數據全部下載完畢,即可從視頻伺服器取得完整的緩衝數據。如圖4D所示,開始下載視頻文件到第4秒結束時,第三區段203總時間長度4秒鐘長的數據已全部下載完畢,第四區段204與第五區段205則分別又下載了I秒長的數據。藉此可將播放視頻文件所需預先下載的緩衝數據持續且迅速地下載到視頻播放裝置中,以利於視頻文件的順暢播放。
[0046]當緩衝數據已完整下載完畢後(步驟S123後),可由視頻播放裝置再向視頻伺服器請求下載視頻文件當中除緩衝數據之外的視頻數據(S125 )。由於已經取得讓視頻文件可持續順暢播放到結束所需要的緩衝數據,因此視頻播放裝置可通過單個下載通道依序下載所述的視頻數據(如圖5A的區段22所示),直到全部的視頻文件下載完畢。藉此,既可快速下載緩衝數據,又可在取得緩衝數據後,減輕視頻播放裝置的處理單元的運作負荷量及對帶寬的需求。
[0047]其中,當第一區段201中的數據下載完畢後,視頻播放裝置即可開始從第一區段201播放視頻文件的內容。由於本實施例中同時下載多段的數據,假設數據下載與播放的速率相等,數據被下載回視頻播放裝置儲存而增加的速度是視頻文件的數據因播放而消耗的速度的三倍。因此,根據本實施例所公開的技術手段,視頻文件不需要再等待緩衝數據全部下載完畢後才開始播放,而是在緩衝數據的第一區段的數據下載完成後即可開始播放。
[0048]更進一步來說,請再次參閱圖4A到圖4D。第一區段201的數據時間長度為I秒,因此如圖4A所示,在第I秒結束時第一區段201的數據已下載完畢,視頻播放裝置在第2秒就可以開始播放視頻文件第I秒的數據。如圖4B所示,第2秒結束時,除了第二區段202完成視頻文件第2及第3秒數據的下載之外,第一區段201所下載的視頻文件第I秒數據此時也正好播放完畢,亦即指針21所指示的位置。因此,視頻播放裝置即可接著在第3到第4秒播放視頻文件的第2到第3秒數據(分別參照圖4C及圖4D)。如圖4D所示,當第4秒結束時,除視頻文件第2到第3秒的數據播完之外,第三區段203所對應的時間長度為4秒鐘的數據也同樣已下載完畢。因此,根據本實施例所提供的手段,可達到每一時間區段所下載的數據播放完畢時,次一個時間區段所應下載的數據也同時下載完畢的效果。故而可保證視頻播放裝置一旦開始播放視頻文件,可連續順暢地播放到視頻文件完整結束。
[0049]更進一步來說,如圖4A到圖4D所示,當第一區段201總計I秒長的數據下載完畢時,第二區段202的數據正好下載一半(I秒)。而當第二區段202總計2秒鐘長的數據下載完畢時,第三區段203的數據也正好下載一半(2秒)。因此,根據本實施例所述的手段,亦可達到每一時間區段所下載的數據下載完畢時,次一個時間區段所應下載的數據也已經下載一半。藉此可確保應下載的數據穩定地取得。
[0050]特別補充的是,本實施例中所述的各個時間區段的時間長度,除了如上述舉例示意的為指數型遞增之外,亦可根據一預定的預載時間的長度均分,例如每一時間區段都對應三秒長的緩衝數據。
[0051]但上述時間區段劃分方式僅為舉例說明,不限於所述的劃分方式。
[0052]請參閱圖5B,在另一個實施例當中,繼續下載視頻文件中剩餘的視頻數據時(步驟S123),可保留原有的數個下載通道(例如上述例示中的三個),並將下載視頻文件當中緩衝數據以外的視頻數據所需時間,按照下載通道的數量也劃分成多個區段,如圖5B所示的時間區段221、222及223。視頻播放裝置再根據每一個時間區段221、222及223的起始時間,分別向視頻伺服器請求下載視頻文件的緩衝數據以外的各部分數據。藉此,除了利用同時間內下載多區段的數據的方式下載緩衝數據之外,也通過分段下載剩餘數據的方式,縮短下載完整視頻文件的時間。
[0053]〔串流數據下載方法另一實施例〕
[0054]請參閱圖6,圖6繪示了本發明提供的另一種串流數據下載方法實施例的流程圖。本實施例的方法也可用於供視頻播放裝置通過網際網路從視頻伺服器下載視頻文件。[0055]視頻播放裝置可接受使用者選取視頻文件而產生指令,並根據指令經由網際網路向視頻伺服器發出下載被選取的視頻文件的下載請求(S601)。視頻伺服器響應接收到的下載請求,即可與視頻播放裝置之間建立一個下載通道,從視頻文件的起始處開始,通過網際網路將視頻文件的內容傳送回視頻播放裝置,以供視頻播放裝置接收寄存。開始下載視頻文件的同時,還會根據整個視頻文件的數據量、下載文件當時的網絡傳輸速率及帶寬,計算出需要預先下載的緩衝數據的數據量,以及完整下載緩衝數據所需要的下載時間,以及下載整個視頻文件所需的時間(S603)。
[0056]請參閱圖7,與前一實施例不同的是,在本實施例中,視頻播放裝置根據計算出來的下載時間,將下載整個視頻文件所需的時間劃分為多個時間區段(S605)。在圖7所示的例示中,視頻文件劃分為七個時間區段20』、224到229。而從視頻文件的起始處開始下載的緩衝數據即對應到所述時間區段當中的第一區段20』。
[0057]視頻播放裝置會依照時間區段的順序,再選取第一區段20』之後的一個或多個連續的時間區段為下載區段,並且根據所選的各時間區段的起始時間,向視頻伺服器分別發出下載請求,以建立對應於第一區段以外的一個或多個下載通道(S607)。
[0058]視頻播放裝置建立下載通道後,可先判斷當時是否有足夠的帶寬供所述多個時間區段的數據同時下載(S609)。若帶寬不足以供全部的下載通道一起下載數據,則可根據時間區段的順序,讓順序在後的時間區段所對應的下載通道暫時進入等待的模式(S611),直到恢復足夠的帶寬再繼續下載。
[0059]在帶寬足夠的情況下,視頻伺服器響應新發出的下載請求,進而根據下載請求所指出的各時間區段的起始時間而開始提供數據,使得視頻播放裝置除了下載的第一區段20』所對應的緩衝數據外,還同時下載緩衝數據之後的一個或多個時間區段的數據(S613)。在圖7所示的實施例中以後續的第二區段224及第三區段225為下載區段,與第一區段20』中的緩衝數據周期下載。
[0060]視頻播放裝置可持續判斷是否有任一下載區段的數據已下載完成(S615)。若尚未有任何一個下載通道中的數據下載完畢,則繼續下載所述多個區段的數據(返回步驟S613)。當通過多個下載通道下載的數據當中任一者已下載完畢時,視頻播放裝置可判斷是否還有其他時間區段所對應的數據尚未向視頻伺服器請求下載(S617)。若視頻文件所包括的多個時間區段當中仍有尚未向視頻伺服器請求下載的區段,視頻播放裝置即可再選取一個尚未被請求下載的時間區段為新的下載區段,並根據新的下載區段的起始時間,向視頻伺服器請求下載數據(S619)。
[0061]例如圖7所示,第一區段20』的數據已下載完畢時,通過已被請求下載的最後一個下載區段(本例中的第三區段225)的起始時間及第三區段225所包括的時間長度,可計算出接續在第三區段225之後的第四區段226的起始時間。視頻播放裝置可比較第四區段226的起始時間是否已超過整個視頻文件的時間,以判斷是否還有未被請求下載的時間區段的內容。
[0062]當判斷的結果發現下載區段之後的時間區段未超過整個視頻文件的時間,代表尚有未被請求的時間區段時(如圖7所示的第四區段226到第七區段229),視頻播放裝置可選擇接續在已被請求下載的各下載區段之後的一個時間區段為新的下載區段(本實施例中為第四區段226),並根據所述新的下載區段的起始時間,再度向視頻伺服器請求下載新的下載區段。藉此,當第一區段20』所對應的緩衝數據已下載完畢後,在帶寬足夠的情況下,第二區段224、第三區段225及第四區段226仍可同時下載相對應時間區段內的數據(如圖7所示)。
[0063]相對地,若其中一個下載區段中的數據下載完畢時,視頻播放裝置判斷出視頻文件已經沒有未被請求下載的時間區段時(即步驟S617的判斷結果為否),則可停止再向視頻伺服器發出下載請求,僅需等待尚未將數據下載完畢的一個或多個下載區段完成下載,進而完整取得整個視頻文件的數據(S621)。
[0064]其中,當第一區段20』當中的緩衝數據下載完畢時,視頻播放裝置即可開始從第一區段20』依序播放視頻文件的內容。
[0065]本實施例中所述的各個時間區段的時間長度,可根據緩衝數據的下載時間的長度均分,例如每一時間區段的時間長度都相當於下載時間。或者可根據下載時間的時間長度成指數型遞增。例如緩衝數據的下載時間為I秒,以3為底數,使第一區段對應I秒長的緩衝數據,第二區段則對應3秒長的緩衝數據,第三區段則對應9秒長的緩衝數據,依此類推。但上述時間區段劃分方式僅為舉例說明,不限於所述的劃分方式。
[0066]本實施例中與前一實施例所共同具有的特徵,請參閱前述實施例的說明,本實施例中不再重述。
[0067]〔視頻播放裝置實施例〕
[0068]請參閱圖8,圖8繪示了一種視頻播放裝置的實施例方框圖。
[0069]本實施例中的視頻播放裝置3包括工作管理模塊30、儲存單元31、寄存控制單元32、解碼器33、影像寄存單元34以及顯示單元35。所述的視頻播放裝置3可經由網際網路4而連結到視頻伺服器5,並執行圖1及圖6所示的串流數據下載方法,而取得使用者所選擇的視頻文件並加以播放。工作管理模塊30用以控制向視頻伺服器5提出的下載請求的時機與數量。其中,工作管理模塊30可向視頻伺服器5提出下載視頻文件的請求,並根據視頻伺服器5的響應而計算緩衝數據及其下載時間,並根據預定的通道數量以及各時間區段的起始時間,分別向視頻伺服器5發出多個下載請求,以便讓視頻播放裝置3同時下載視頻文件當中多個區段的數據。
[0070]經由網際網路4從視頻伺服器5下載回來的視頻文件的數據寄存於儲存單元31中,並經由寄存控制單元32根據數據的時間與所屬的時間區段加以整理排列。
[0071]當第一區段的數據已從視頻伺服器下載完成後,寄存控制單元32即可將第一區段當中的數據傳送到解碼器33解碼及重組,再寄存於影像寄存單元34以循序輸出到顯示單元35,以供使用者從顯示單元35開始觀看視頻文件的影像畫面。
[0072]〔實施例的可能功效〕
[0073]根據本發明實施例,利用上述的串流數據下載方法及視頻播放裝置同時下載多段視頻文件的緩衝數據,可以迅速將緩衝數據下載到視頻播放裝置,進而大幅縮短使用者等待視頻影像開始播放的時間。
[0074]此外,根據本發明實施例,當採用上述串流數據下載方法及視頻播放裝置同時下載整個視頻文件當中的多段數據時,則可預先將視頻文件當中較後段的數據先預存在視頻播放裝置當中。藉此可以極為快速地將整個視頻文件的內容都下載到視頻播放裝置,維持整部視頻播放的順暢度。[0075]更進一步來說,根據本發明實施例,利用所述的串流數據下載方法及視頻播放裝置,以同時下載多段緩衝數據的內容,且在完整取的緩衝數據而開始播放後,又同時分段下載視頻文件當中剩餘的視頻數據。藉此,若使用者在觀看視頻影像的過程中,決定快轉時間軸以觀賞後段的內容時,由於已預先下載了後段影像當中部分的數據,同樣也有助於減少使用者快轉到後段時重新等待數據下載的時間。故而,通過本發明的實施例所公開的手段,不僅從下載視頻文件的開始,就能有效縮短使用者等待視頻影像開始播放的時間,又在播放視頻影像的同時繼續分多段下載緩衝數據以外的視頻數據,而可隨時響應使用者快轉影像播放片段的需求。
[0076]通過上述手段,僅需由視頻播放裝置計算及分配時間區段,以及向視頻伺服器提出多個下載請求即可達到上述的效果。視頻伺服器的運作或提供數據的方式不需改變,因此使用者仍可任意點選位於不同伺服器上的各種視頻文件下載觀看。藉此,既不影響使用者的使用習慣,又可縮短使用者等候數據的時間,可有效地提供使用者的良好使用經驗。
[0077]以上所述僅為本發明的實施例,其並非用以局限本發明的專利範圍。
【權利要求】
1.一種串流數據下載方法,該串流數據下載方法適用於一視頻播放裝置由網際網路從一視頻伺服器下載一視頻文件,該串流數據下載方法包括: 向該視頻伺服器請求下載該視頻文件,以從該視頻文件的一緩衝區的起始處開始下載緩衝數據; 計算完整下載該緩衝數據所需要的一下載時間; 劃分該下載時間為多個時間區段,用以從該視頻伺服器分別下載該多個時間區段中的緩衝數據; 從該多個時間區段當中選取至少其中之一為一下載區段,並向該視頻伺服器請求下載所選取的該下載區段的數據,以建立與一通道數量相符的多個下載通道;以及根據該多個下載通道,同時下載該多個下載區段的數據 。
2.如權利要求1所述的串流數據下載方法,其中,該串流數據下載方法還包括: 判斷該多個下載區段當中是否有任一者的數據已下載完畢; 當該多個下載區段的其中一個已下載數據完畢時,判斷該多個下載區段之後是否還有未被請求下載的該時間區段;以及 當尚有未被請求下載的該時間區段,選取尚未被請求下載的其中一個時間區段為一新下載區段,並向該視頻伺服器請求下載該新下載區段以維持該通道數量。
3.如權利要求2所述的串流數據下載方法,其中,該串流數據下載方法還包括: 向該視頻伺服器發出一新下載請求,以下載該新下載區段,直到該多個時間區段的數據都下載完畢。
4.如權利要求3所述的串流數據下載方法,其中,劃分該下載時間為多個時間區段的步驟中,從該緩衝數據的起始處開始下載的數據為該多個時間區段當中的一第一區段的數據。
5.如權利要求4所述的串流數據下載方法,其中,從該多個時間區段當中依序選取的該多個下載區段當中包括該第一區段,向該視頻伺服器發出的該多個下載請求包括下載該視頻文件的請求。
6.如權利要求4所述的串流數據下載方法,其中,當該多個下載區段的其中一個已下載數據完畢時,判斷該多個下載區段之後是否還有未被請求下載的該時間區段的步驟中還包括: 判斷已下載數據完畢的該下載區段是否為該第一區段的數據;以及 當該第一區段的數據已下載完畢,從該第一區段的數據開始播放該視頻文件。
7.如權利要求6所述的串流數據下載方法,其中,劃分該下載時間為多個時間區段的步驟中,該多個時間區段所包括的時間長度依序成指數型遞增。
8.如權利要求7所述的串流數據下載方法,其中,當該多個時間區段其中之一的數據播放完畢時,次一個時間區段的數據下載完畢。
9.如權利要求7所述的串流數據下載方法,其中,當該多個時間區段其中之一的數據下載完畢時,次一個時間區段的數據下載至一半。
10.如權利要求3所述的串流數據下載方法,其中,根據該多個下載通道,同時下載該多個下載區段的數據的步驟中包括: 判斷帶寬是否足夠下載該些下載區段的數據;當帶寬不足時,控制至少其中一個該下載區段維持在等待狀態,直到帶寬增加或該多個下載區段其中之一下載完畢;以及 當帶寬足夠時,立即開始下載該些新下載區段。
11.如權利要求3所述的串流數據下載方法,其中,該多個時間區段的數據都下載完畢後,該串流數據下載方法還包括: 向該視頻伺服器請求下載該視頻文件當中該緩衝數據以外的視頻數據。
12.如權利要求11所述的串流數據下載方法,其中,該多個時間區段的數據都下載完畢後,該串流數據下載方法還包括: 將該視頻文件當中該緩衝數據以外的數據劃分為多個數據區段;以及 根據該數據區段的數量,同時向該視頻伺服器發出多個請求,以同時下載該多個數據區段。
13.如權利要求3所述的串流數據下載方法,其中,劃分該下載時間為多個時間區段的步驟中包括: 根據一預載時間劃分該下載時間,其中,該多個時間區段的每一個包括一個或多個該預載時間; 其中,該預載時間為開始下載該緩衝數據到開始播放該視頻文件之間所需等待的時間。
14.一種串流數據下載方法,該串流數據下載方法適用於一視頻播放裝置經由網際網路從一視頻伺服器下載一視頻文件,該串流數據下載方法包括: 向該視頻伺服器請求下載該視頻文件; 從該視頻文件的一緩衝數據的起始處開始下載數據,並計算下載該視頻文件所需要的一文件時間及下載該緩衝數據所需要的一下載時間; 根據該下載時間劃分該文件時間為多個時間區段,用以從該視頻伺服器分別下載該多個時間區段的數據; 從該多個時間區段當中選取至少其中之一為一下載區段,並向該視頻伺服器請求下載所選取的該下載區段的數據,以建立與一通道數量相符的多個下載通道; 根據該多個下載通道,同時下載該多個下載區段的數據; 當該多個下載區段的其中一個已下載數據完畢時,判斷該多個下載區段之後是否還有未被請求下載的該時間區段; 當尚有未被請求下載的該時間區段,選取尚未被請求下載的其中一個時間區段為一新的下載區段;以 及 向該視頻伺服器發出一新下載請求,以下載該新下載區段,直到該多個時間區段的數據都下載完畢。
15.如權利要求14所述的串流數據下載方法,其中,根據該下載時間劃分該文件時間為多個時間區段的步驟中,該緩衝數據為該多個時間區段當中的一第一區段的數據。
16.如權利要求15所述的串流數據下載方法,其中,從該多個時間區段當中選取的該多個下載區段當中包括該第一區段,向該視頻伺服器發出的該多個下載請求包括下載該視頻文件的請求。
17.如權利要求15所述的串流數據下載方法,其中,當該多個下載區段的其中一個已下載數據完畢時,判斷該多個下載區段之後是否還有未被請求下載的該時間區段的步驟中還包括: 判斷已下載數據完畢的該下載區段是否為該第一區段;以及 當該第一區段的該緩衝數據已下載完畢,從該緩衝數據開始播放該視頻文件。
18.如權利要求14所述的串流數據下載方法,其中,根據該多個下載通道,同時下載該多個下載區段的數據的步驟中包括: 判斷帶寬是否足夠下載該些下載區段的數據; 當帶寬不足時,控制至少其中一個該些下載區段維持在等待狀態,直到帶寬增加或該多個下載區段其中之一 下載完畢;以及 當帶寬足夠時,立即開始下載該些下載區段的數據。
19.一種計算機可讀取儲存介質,該計算機可讀取儲存介質記錄一組程序代碼,其中,該組程序代碼被一處理器讀取時,該處理器執行該組程序代碼以實施如權利要求1所述的方法。
20.一種計算機可讀取儲存介質,該計算機可讀取儲存介質記錄一組程序代碼,其中,該組程序代碼被一處理器讀取時,該處理器執行該組程序代碼以實施如權利要求14所述的方法。
【文檔編號】H04N21/438GK103731726SQ201210442570
【公開日】2014年4月16日 申請日期:2012年11月7日 優先權日:2012年10月11日
【發明者】賴佩玲, 陳柏旭 申請人:緯創資通股份有限公司