TWI715057B - 視頻處理方法與系統 - Google Patents
視頻處理方法與系統 Download PDFInfo
- Publication number
- TWI715057B TWI715057B TW108119368A TW108119368A TWI715057B TW I715057 B TWI715057 B TW I715057B TW 108119368 A TW108119368 A TW 108119368A TW 108119368 A TW108119368 A TW 108119368A TW I715057 B TWI715057 B TW I715057B
- Authority
- TW
- Taiwan
- Prior art keywords
- segment
- speed value
- network speed
- data
- video
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/65—Transmission of management data between client and server
- H04N21/658—Transmission by the client directed to the server
- H04N21/6587—Control parameters, e.g. trick play commands, viewpoint selection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/472—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
- H04N21/47202—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/239—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
- H04N21/2393—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
- H04N21/26208—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/432—Content retrieval operation from a local storage medium, e.g. hard-disk
- H04N21/4325—Content retrieval operation from a local storage medium, e.g. hard-disk by playing back content from the storage medium
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/442—Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
- H04N21/44209—Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
- H04N21/462—Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
- H04N21/4621—Controlling the complexity of the content stream or additional data, e.g. lowering the resolution or bit-rate of the video stream for a mobile client with a small screen
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/472—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/633—Control signals issued by server directed to the network components or client
- H04N21/6332—Control signals issued by server directed to the network components or client directed to client
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/643—Communication protocols
- H04N21/64322—IP
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/647—Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
- H04N21/64723—Monitoring of network processes or resources, e.g. monitoring of network load
- H04N21/64738—Monitoring network characteristics, e.g. bandwidth, congestion level
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/84—Generation or processing of descriptive data, e.g. content descriptors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/858—Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
一種視頻處理方法包含下列操作:接收跳轉指令,並響應於跳轉指令確認已儲存的資料流內是否包含對應於視頻中的第一分段的第一資料;若資料流內未包含第一資料,獲取第一分段的一下載網址;根據在接收到跳轉指令前的至少一網路速度值產生一預估網路速度值,以根據預估網路速度值與下載網址自一伺服器下載該第一資料,其中預估網路速度值低於至少一網路速度值;以及根據第一資料播放第一分段,以自視頻中的當前分段跳轉至第一分段。
Description
本案是有關於一種視頻處理方法與系統,且特別是有關於應用在超文本協定的動態適應流的視頻處理方法與系統。
隨著網路技術與視訊處理技術的進步,在網路上播放視頻或音頻已為相當普及的應用。在實際應用中,使用者在觀看視頻時,可能會需要向前或向後跳轉,以觀看視頻中不同時間點的內容。然而,現有的技術中並未對針對視頻跳轉的操作進行最佳化,而無法讓使用者感受到跳轉後的視頻可流暢地延續播放。
為解決上述問題,本案一些實施態樣提供一種視頻處理方法,其包含下列操作:接收跳轉指令,並響應於跳轉指令確認已儲存的資料流內是否包含對應於視頻中的第一分段的第一資料;若資料流內未包含第一資料,獲取第一分段的一下載網址;根據在接收到跳轉指令前的至少一網路速度值產
生一預估網路速度值,以根據預估網路速度值與下載網址自一伺服器下載該第一資料,其中預估網路速度值低於至少一網路速度值;以及根據第一資料播放第一分段,以自視頻中的當前分段跳轉至第一分段。
本案一些實施態樣提供一種視頻處理系統,其包含至少一記憶體與至少一處理器。至少一記憶體用以儲存一程式碼與資料流;以及至少一處理器,用以執行程式碼,以執行上述視頻處理方法。
綜上所述,本案實施例提供的視頻處理系統與視頻處理方法可增進影片播放與跳轉的效率,並增加影片播放的流暢性。
100:視頻處理系統
120:客戶端
140:伺服器
IT:網路
DD:視頻
SV:影像資料
SA:聲音資料
DASH:掃描輸入端
F1:多媒體演示說明檔案
C1:至少一程式碼
410、420:資料流
WN-i:權重
Z:預定倍數
Q1:預定參數
EB:預估網路速度值
301:適應組
300:期間
303A:初始化資料
302:表示
W1、W2:資訊
303B:媒體段資料
402:標頭
401:第一個分段
TN、TN+1、TN-4:時間點
400:幀緩衝器
BN、BN+1:網路速度值
BN-4:網路速度值
WN、WN+1、WN-4:權重
X、X’:跳轉時間點
P:預設秒數
T1:起始時間
T2:結束時間
200:視頻播放方法
600:視頻跳轉方法
S210、S220:操作
S230、S240:操作
S250、S260:操作
S270、S280:操作
S290、S610:操作
S620、S625:操作
S630、S640:操作
S650、S660:操作
本案所附圖式之說明如下:第1圖為根據本案一些實施例所繪製的一種視頻處理系統的示意圖;第2圖為根據本案一些實施例所繪示的視頻播放方法的流程圖;第3圖為根據本案一些實施例所繪示第1圖的多媒體演示說明檔案之結構示意圖;第4圖為根據本案一些實施例繪製幀緩衝器的示意圖;第5圖為根據本案一些實施例繪製配置權重的示意圖;以及第6圖為根據本案一些實施例所繪示的視頻跳轉方法的
流程圖。
以下將以圖式揭露本案之複數個實施方式,為明確說明起見,許多實務上的細節將在以下敘述中一併說明。然而,應瞭解到,這些實務上的細節不應用以限制本案。也就是說,在本案部分實施方式中,這些實務上的細節是非必要的。此外,為簡化圖式起見,一些習知慣用的結構與元件在圖式中將以簡單示意的方式繪示之。
關於本文中所使用之『第一』、『第二』、…等,並非特別指稱次序或順位的意思,亦非用以限定本案,其僅僅是為了區別以相同技術用語描述的元件或操作而已。如本文所用,詞彙『與/或』包含了列出的關聯項目中的一個或多個的任何組合。
關於本文中所使用之『耦接』或『連接』,均可指二或多個元件相互直接作實體或電性接觸,或是相互間接作實體或電性接觸,亦可指二或多個元件相互操作或動作。
參照第1圖,第1圖為根據本案一些實施例所繪製的一種視頻處理系統100的示意圖。
視頻處理系統100包含客戶端120以及伺服器140。客戶端120經由網路IT發送需求至伺服器140,以獲取視頻DD(例如包含影像資料SV以及聲音資料SA)。於一些實施例中,網路IT可為有線或無線網路,並支持超文本
傳輸協定(HyperText Transfer Protocol,HTTP)。於一些實施例中,伺服器140可通過HTTP的動態自適應流(dynamic adaptive streaming over HTTP,DASH)的技術傳輸視頻DD。
於一些實施例中,客戶端120可透過執行後述的方法200,以播放視頻DD。於一些實施例中,客戶端120可透過執行後述的方法600,以加快視頻跳轉(seek)的操作效率。於一些實施例中,客戶端120可以任意電子裝置,例如為手機、平板電腦、個人電腦等等。
於一些實施例中,客戶端120包含處理器120A、記憶體120B以及輸入輸出(input/output,I/O)介面120C。處理器120A可由至少一數位訊號處理電路、中央處理單元(CPU)、特殊應用積體電路(ASIC)、多處理器、分散式系統或合適的處理電路實施。各種實施至少一處理器120A的電路或單元皆為本案所涵蓋的範圍。
記憶體120B儲存用以處理視頻DD的至少一程式碼C1。處理器120A可執行儲存於記憶體120B內的至少一程式碼C1,以自動地執行自伺服器140獲取與播放視頻DD的操作。例如,至少一程式碼C1可用於執行例如為第2或5圖所示的多個操作的可執行指令集。於一些實施例中,記憶體120B亦可儲存後述提及的資料流410、420、權重WN、預定參數Q1與/或預定倍數Z。
於一些實施例中,記憶體120B可為非暫態電腦可讀取媒體,例如可為隨機存取記憶體(RAM)、唯讀記憶
體(ROM)、剛性磁碟與/或光學磁碟,但本案並不以此為限。
I/O介面120C可自各種控制裝置(未繪示)接收多個輸入或指令(例如為跳轉指令CMD),其中該些控制裝置可由使用者操作。據此,視頻處理系統100可經由I/O介面120C接收的輸入或指令被操控。於一些實施例中,I/O介面120C包含顯示器,其用以顯示視頻DD。於各種實施例中,I/O介面120C包含圖形化用戶介面(GUI)、鍵盤、滑鼠、軌跡球、軌跡板、觸控螢幕、游標方向鍵、或上述任意組合,以與處理器120A溝通資訊與指令。於一些實施例中,I/O介面120C包含通訊電路(例如,網路卡、訊號收發器等),以與伺服器140建立網路IT的連線。
第1圖中的處理器120A、記憶體120B以及I/O介面120C的數量用於示例,但本案並不以此為限。於各個實施例中,處理器120A、記憶體120B與I/O介面120C中每一者的數量可為一或多個。
參照第2圖,第2圖為根據本案一些實施例所繪示的視頻播放方法200的流程圖。於一些實施例中,視頻播放方法200由第1圖中的處理器120A執行。
於操作S210,與伺服器140基於HTTP協定建立連結,並獲取關聯於視頻DD的多媒體演示說明(media presentation description,MPD)檔案F1。
於操作S220,解析MPD檔案F1,以獲得視頻DD的分段(fragment)管理資訊。
於操作S230,根據分段管理資訊,下載視頻DD
的多個分段的影像資料SV與聲音資料SA。
舉例而言,客戶端120可發起連線需求至伺服器140,以基於HTTP協議建立網路IT。客戶端120通過網路IT發送播放視頻DD的請求(未繪示)至伺服器140。響應於此請求,伺服器140可傳送MPD檔案F1至客戶端120。客戶端120可解析此MPD檔案F1,以獲得視頻DD的分段管理資訊。
參照第3圖,第3圖為根據本案一些實施例所繪示第1圖的MPD檔案F1之結構示意圖。舉例而言,處理器120A可執行記憶體120B內所儲存的解譯器或相關軟體(未繪示),以解析MPD檔案F1。於一些實施例中,MPD檔案F1具有如第3圖所示的樹狀結構。
如第3圖所示,多個期間300包含一或多個適應組(Adaptation Set)301。每一適應組301可包含各種不同位元率的視頻(與/或音頻)的串流方案(即表示302)。每一表示(representation)302包含初始化資料303A與媒體段資料303B。
媒體段資料303B包含視頻DD中對應分段的下載網址(URL)與資訊W1或W2。依據現有的DASH技術,分段管理的機制可包含『SegmentBase』機制或『SegmentTemplate』機制。在『SegmentBase』機制中,媒體段資料303B包含資訊W1。資訊W1指示視頻DD中的對應分段的起始時間。在『SegmentTemplate』機制中,媒體段資料303B包含資訊W2。資訊W2指示視頻DD的對應分
段的總播放時間。
據此,客戶端120可依據上述資訊開始分別下載視頻DD的各個分段所對應的影像資料SV與聲音資料SA。在一些實施例中,在下載第一個分段時,由於當前網路速度未知,客戶端120可下載具有中間位元率的影像資料SV與聲音資料SA。
繼續參照第2圖,於操作S240,分析下載到的分段,以生成幀(frame)緩衝器400。
於操作S250,儲存對應於影像資料SV的多個幀緩衝器400為資料流410,並儲存對應於聲音資料SA的多個幀緩衝器400為資料流420。
參照第4圖,第4圖為根據本案一些實施例繪製幀緩衝器400的示意圖。如第4圖所示,在下載到視頻DD的第一個分段401後,處理器120A可讀取此第一個分段401的標頭(header)402。標頭402可包含幀的數量、每一個幀的大小、時間與關鍵幀等資訊。接著,處理器120A可根據上述資訊切割第一個分段401為多個幀,並將每一個幀的內容與相關資訊儲存為一個幀緩衝器400。
如第4圖所示,處理器120A可生成對應於影像資料SV的多個幀緩衝器400,並儲存為資料流410。處理器120A可生成對應於聲音資料SA的多個幀緩衝器400並儲存為資料流420。於一些實施例中,資料流410與420可儲存於第1圖中的記憶體120B。於一些實施例中,資料流410與420彼此獨立。
第4圖僅以第一個分段401為例,但本案並不以此為限。於各個實施例中,處理器120A會分析視頻DD中的每一個已下載的分段,以產生對應於不同分段的多個資料流410與420。
繼續參照第2圖,於操作S260,讀取資料流410與420,以播放視頻DD。例如,處理器120A可自記憶體120B一幀幀的讀取資料流410與420的資料,以進行解碼與顯示等後續操作。
於操作S270,計算先前下載分段的網路速度值,並根據此網路速度值調整欲下載的下一分段所具有的位元率。在執行操作S270後,操作S230再次被執行,以繼續下載後續分段。
於一些實施例中,處理器120A可依據已下載分段的資料量除以下載此分段的總時間來評估當前網路速度。舉例而言,第一個分段401具有X位元組,且下載第一個分段401耗費了Y秒。處理器120A可將X除以Y得到一個基礎值。接著,處理器120A可將基礎值乘以預定倍數Z得到下載第一個分段401的網路速度值。依據網路速度值與當前網路IT的實際情況,處理器120A可選擇第二個分段的適當位元率。於一些實施例中,預定倍數Z可為2~8之間的數值,但本案並不以此為限。
於一些實施例中,當欲下載當前分段時,處理器120A可依據先前數個分段的網路速度值來選擇欲下載的分段之位元率。舉例而言,當欲下載第N+1個分段時,處理
器120A可利用下式1執行一加權平均運算,以依據第N+1個分段之前面5個分段對應的網路速度值BN~BN-4來計算網路速度值BN+1。
其中,WN-i表示為第N-i個分段所對應的權重,權重WN(即i=0,對應至第N個分段)最大,且權重WN-4(即i=4,即對應至第N-4個分段)最小。
參照第5圖,第5圖為根據本案之一些實施例繪製配置權重WN的示意圖。換言之,如於一些實施例中,一指令(例如為前述播放視頻DD的請求或後述的跳轉指令CMD)是在時間點TN+1被發送給處理器120A。於此條件下,若在時間點TN+1前的網路速度值所對應的時間點(例如為時間點TN)越接近於第一時間點,分配到此先前的網路速度值的權重越大。反之,若先前的網路速度值所對應的時間點(例如為時間點TN-4)越遠離於時間點TN+1,分配到此先前的網路速度值的權重越小。
藉由上述設方式,可依據網路IT的最近的速度變化下載具有適合位元率的第N+1個分段。如此一來,可確視頻DD可以被流暢地播放,並同時確保了視頻DD的畫質。
參照第6圖,第6圖為根據本案一些實施例所繪示的視頻跳轉方法600的流程圖。於一些實施例中,視頻跳轉方法600由第1圖中的處理器120A執行。
於操作S610,響應於跳轉指令CMD,暫停播放視頻DD並暫停下載分段。
例如,使用者可透過I/O介面120C輸入跳轉指令CMD,以跳轉(快轉或倒轉)至視頻DD的另一時間點的內容。響應於跳轉指令CMD,處理器120A可暫停播放視頻DD當前的內容,並清除已送入解碼與播放的暫存內容。同時,暫停下載分段的操作(即操作S230),以等待下載新的分段。
於操作S620,根據跳轉指令CMD所指示的時間點,確認資料流410與420中是否存在對應於此時間點的資料。若資料流410與資料流420內具有對應於此時間點的資料,操作S625被執行。反之,若資料流410與資料流420內不具有對應於此時間點的資料,操作S630被執行。
於操作S625,自資料流410與420讀取對應於時間點X的資料,並恢復下載其他分段。
於操作S660,播放對應於此時間的分段。
例如,如第4圖所示,每一資料流410與420皆具有對應的起始時間T1與結束時間T2。當使用者欲跳轉到視頻DD中的時間點X,處理器120A可根據起始時間T1與結束時間T2與時間點X,確認對應於時間點X的資料是否已經存在於資料流410與420。若對應於時間點X的資料已經存在,處理器120A可讀取此資料,以進行解碼與播放的操作。同時,處理器120A可恢復繼續下載其他分段。
於一些實施例中,若欲跳轉的時間點X為先前
的時間點(即倒帶),藉由操作S620,可從已下載的資料流410與420讀取對應的分段,以更有效率地完成視頻跳轉的操作。
於操作S630,計算對於此時間點的分段的位置。
若在已下載的資料流410與420不存在對應時間點X的資料,處理器120A可依據時間點來計算新分段(即時間點X對應的分段)之位置。例如,若管理機制為『SegmentBase』機制,處理器120A可直接將時間點X與資訊W1內的起始時間進行比較,以確認新分段的位置。例如,時間點X為5秒,第一個分段的起始時間為2秒,且第二個分段的起始時間為4.5秒,第三個分段的起始時間為7秒。處理器120A比較上述時間後可確認時間點X對應的分段為第二個分段。
或是,若管理機制為『SegmentTemplate』機制,處理器120A可根據加總多個分段所對應的資訊W2內中的總播放時間,以得到每一個分段的起始時間。接著,處理器120A比較每一分段的起始時間與時間點X,以確認新分段的位置。例如,時間點X為5秒,第一個分段的總播放時間為2秒,第二個分段的總播放時間為2.5秒,且第三個分段的總播放時間為2.5秒。處理器120A相加第一與第二分段的總播放時間得到第三個分段的起始時間為4.5秒,並相加第一至第三的總播放時間得到第四個分段的起始時間為7秒。處理器120A將上述起始時間與時間點X比較後,可確
認時間點X對應的分段為第三個分段。
於一些實施例中,處理器120A自欲跳轉的時間點減去預設秒數P(例如為1秒,但並不以此為限),以產生新的跳轉時間點X’(如第4圖所示),並利用此新的跳轉時間點來執行操作S630。例如,在前面的例子中,時間點X為5秒,處理器120A會產生新的跳轉時間點X’為4秒(即5-1),並使用跳轉時間點X’執行操作S630,以決定欲跳轉的分段。藉由此設置方式,可避免部分情況造成視頻跳轉失敗,以增加跳轉操作的穩定性。
繼續參照第6圖,於操作S640,根據至少一先前網路速度值產生預估網路速度值EB,以決定欲下載對應於此時間點的分段之位元率。
於操作S650,下載對應於此時間點的分段的影像資料SV與聲音資料SA。
於一些實施例中,處理器120A可依據在接收到跳轉指令CMD前所下載的數個分段之網路速度值與預定參數Q1,以決定預估網路速度值EB。此處之操作類似於式1。例如,處理器120A透過式1決定出一個網路速度值(例如為式1的BN+1)後,可根據此網路速度值與預定參數Q1之乘積產生預估網路速度值EB。其中,預定參數Q1可為小於1的正數,例如可為0.5,但本案並不以此為限。
藉由設定預定參數Q1,預估網路速度值EB會低於先前的網路速度值。如此,處理器120A可挑選並下載具有較低位元率的新分段的影像資料SV與聲音資料SA。如
此,需要下載的資料量可以降低,以加快新分段的下載速度,藉以增加視頻跳轉的效率與撥放的流暢度。
接著,處理器120A可執行類似於第2圖中操作S230至S250之操作,以下載對應於新分段的視訊資料SV與聲音資料SA並生成新的幀緩衝器與新的資料流。於此操作中,處理器120A可進一步確認欲跳轉的時間點是否有存在於新的資料流,以提高視頻跳轉的穩定性。
在產生新的資料流後,處理器120A可自新的資料流讀取新分段的資料,並進行解碼與顯示(即操作S630)。
上述方法200或600的多個操作僅為示例,並非限於上述示例的順序執行。在不違背本揭示內容的各實施例的操作方式與範圍下,在方法200或600下的各種操作當可適當地增加、替換、省略或以不同順序執行。
綜上所述,本案實施例提供的視頻處理系統、視頻播放方法與視頻跳轉方法可增進影片播放與跳轉的效率,並增加影片播放的流暢性。
雖然本案已以實施方式揭露如上,然其並非限定本案,任何熟習此技藝者,在不脫離本案之精神和範圍內,當可作各種更動與潤飾,因此本案之保護範圍當視後附之申請專利範圍所界定者為準。
600‧‧‧視頻跳轉方法
S620、S625‧‧‧操作
S610‧‧‧操作
S650、S660‧‧‧操作
S630、S640‧‧‧操作
Claims (10)
- 一種視頻處理方法,包含:接收一跳轉指令,並響應於該跳轉指令確認已儲存的一資料流內是否包含對應於一視頻中的一第一分段的一第一資料;若該資料流內未包含該第一資料,獲取該第一分段的一下載網址;根據在接收到該跳轉指令前的至少一網路速度值、至少一權重以及一預定參數產生一預估網路速度值,以根據該預估網路速度值與該下載網址自一伺服器下載該第一資料,其中該預估網路速度值低於該至少一網路速度值,其中該至少一權重與發出該跳轉指令的一第一時間點相關聯;以及根據該第一資料播放該第一分段,以自該視頻中的一當前分段跳轉至該第一分段。
- 如請求項1所述的視頻處理方法,其中確認該資料流內是否包含該第一資料包含:比較該第一分段的一第二時間點與該資料流的一起始時間與一結束時間;以及若該第二時間點存在於該起始時間與該結束時間之間,判斷該資料流內包含該第一資料。
- 如請求項2所述的視頻處理方法,更包含: 若該資料流包含該第一資料,自該資料流讀取該第一資料,以播放該第一分段。
- 如請求項1所述的視頻處理方法,其中根據在接收到該跳轉指令前的該至少一網路速度值、該至少一權重以及該預定參數產生該預估網路速度值包含:根據該至少一網路速度值與該至少一權重執行一加權平均運算,以產生對應於該第一分段的一第一網路速度值;相乘該第一網路速度值與該預定參數,以產生該預估網路速度值;以及根據該預估網路速度值挑選一位元率,以自該伺服器下載具有該位元率的該第一資料。
- 如請求項4所述的視頻處理方法,其中該預估參數為小於1的正數。
- 如請求項4所述的視頻處理方法,其中該跳轉指令在該第一時間點被發出,且若該至少一網路速度值中的該第一網路速度值所對應的一第二時間點越近於該第一時間點,該至少一權重中分配給該第一網路速度值的一第一權重越大。
- 如請求項1所述的視頻處理方法,其中獲取該第一分段的該下載網址包含:解析關聯於該視頻的一多媒體演示說明檔案,以獲取 該視頻的一時間資訊;以及比較該時間資訊以及該第一分段的一第二時間點,以獲得該第一分段的該下載網址。
- 如請求項7所述的視頻處理方法,其中比較該時間資訊以及該第一分段的該第二時間點包含:自該第一分段的該第二時間點減去一預設秒數,以產生一跳轉時間點;以及比較該時間資訊與該跳轉時間點,以獲得該第一分段的該下載網址。
- 一種視頻處理系統,包含:至少一記憶體,用以儲存一程式碼與一資料流;以及至少一處理器,用以執行該程式碼,以:接收一跳轉指令,並響應於該跳轉指令確認該資料流內是否包含對應於一視頻中的一第一分段的一第一資料;若該資料流內未包含該第一資料,獲取該第一分段的一下載網址;根據在接收到該跳轉指令前的至少一網路速度值、至少一權重以及一預定參數產生一預估網路速度值,以根據該預估網路速度值與該下載網址自一伺服器下載該第一資料,其中該第一資料的一位元率低於該預估網路速度值,其中該至少一權重與發出該跳轉指令的一時間點相關聯;以及 根據該第一資料播放該第一分段,以自該視頻中的一當前分段跳轉至該第一分段。
- 如請求項9所述的視頻處理系統,其中該至少一處理器用以根據該至少一網路速度值與該至少一權重執行一加權平均運算以產生對應於該第一分段的一第一網路速度值,並相乘該第一網路速度值與該預定參數以產生該預估網路速度值,並根據該預估網路速度值挑選該位元率,以自該伺服器下載具有該位元率的該第一資料。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910198975.2A CN111698536B (zh) | 2019-03-15 | 2019-03-15 | 视频处理方法与系统 |
CN201910198975.2 | 2019-03-15 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202037181A TW202037181A (zh) | 2020-10-01 |
TWI715057B true TWI715057B (zh) | 2021-01-01 |
Family
ID=72423226
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108119368A TWI715057B (zh) | 2019-03-15 | 2019-06-04 | 視頻處理方法與系統 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11457287B2 (zh) |
CN (1) | CN111698536B (zh) |
TW (1) | TWI715057B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102204272A (zh) * | 2010-12-31 | 2011-09-28 | 华为技术有限公司 | 流媒体中播放时间点跳转后的处理方法及装置 |
CN106803999A (zh) * | 2017-02-14 | 2017-06-06 | 北京时间股份有限公司 | 一种视频缓存处理方法、装置及服务器 |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB9506493D0 (en) * | 1995-03-30 | 1995-05-17 | Thomson Consumer Electronics | The implementation of trick-play modes for pre-encoded video |
KR100833240B1 (ko) * | 2006-09-15 | 2008-05-28 | 삼성전자주식회사 | 타임 쉬프트 저장 공간 제어 방법 및 장치와 그와 같은기능을 수행할 수 있는 텔레비전 |
CN102656857B (zh) * | 2010-12-17 | 2015-01-07 | 华为技术有限公司 | 一种启动阶段的流媒体数据获取、发送方法及装置 |
US10433239B2 (en) * | 2011-04-01 | 2019-10-01 | Intel Corporation | Cross-layer optimized adaptive HTTP streaming |
US8856283B2 (en) * | 2011-06-03 | 2014-10-07 | Apple Inc. | Playlists for real-time or near real-time streaming |
JP6021385B2 (ja) * | 2012-03-30 | 2016-11-09 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | ストリーミングメディア再生装置、ストリーミングメディア再生方法、及びプログラム |
US10110940B2 (en) * | 2013-05-20 | 2018-10-23 | Verint Americas Inc. | System and method of video quality adaptation |
US9124947B2 (en) * | 2013-09-04 | 2015-09-01 | Arris Enterprises, Inc. | Averting ad skipping in adaptive bit rate systems |
WO2015038749A1 (en) * | 2013-09-13 | 2015-03-19 | Arris Enterprises, Inc. | Content based video content segmentation |
US9444870B2 (en) * | 2013-09-25 | 2016-09-13 | Ericsson Ab | Adaptive video white spot learning and user bandwidth delivery control system |
US9813474B2 (en) * | 2014-03-07 | 2017-11-07 | Ericsson Ab | ABR video white spot coverage system and method |
CN103916679B (zh) * | 2014-03-10 | 2018-04-10 | 百度在线网络技术(北京)有限公司 | 一种用于提供视频信息的方法、设备与系统 |
CN105282560B (zh) * | 2014-06-24 | 2019-06-04 | Tcl集团股份有限公司 | 一种快速播放网络视频的方法及系统 |
US10110657B2 (en) * | 2014-07-03 | 2018-10-23 | Telefonaktiebolaget Lm Ericsson (Publ) | System and method for pushing live media content in an adaptive streaming environment |
US20160182594A1 (en) * | 2014-12-19 | 2016-06-23 | Cable Television Laboratories, Inc. | Adaptive streaming |
CN104754415B (zh) * | 2015-03-30 | 2018-02-09 | 北京奇艺世纪科技有限公司 | 一种视频播放方法及装置 |
US10136193B2 (en) * | 2015-04-28 | 2018-11-20 | Arris Enterprises Llc | Supporting trickplay of streaming DLNA multimedia by HLS access device |
US11057446B2 (en) * | 2015-05-14 | 2021-07-06 | Bright Data Ltd. | System and method for streaming content from multiple servers |
CN105681874A (zh) * | 2015-06-02 | 2016-06-15 | 深圳Tcl数字技术有限公司 | 网络视频在线播放的方法和装置 |
US10764610B2 (en) * | 2015-07-03 | 2020-09-01 | Telefonaktiebolaget Lm Ericsson (Publ) | Media user client, a media user agent and respective methods performed thereby for providing media from a media server to the media user client |
WO2017092805A1 (en) * | 2015-12-02 | 2017-06-08 | Telefonaktiebolaget Lm Ericsson (Publ) | Data rate adaptation for multicast delivery of streamed content |
EP3403409A1 (en) * | 2016-01-15 | 2018-11-21 | VID SCALE, Inc. | Scalable coding based video distribution |
JP2017157903A (ja) * | 2016-02-29 | 2017-09-07 | 富士ゼロックス株式会社 | 情報処理装置 |
US10313408B2 (en) * | 2016-06-22 | 2019-06-04 | Telefonaktiebolaget Lm Ericsson (Publ) | Client-assisted time-shift live media and advertisement content play for learned ABR video white spot coverage in a streaming network |
CN108965949B (zh) * | 2018-07-27 | 2020-06-16 | 清华大学 | 一种视频业务中满足用户个性化体验的码率自适应方法 |
-
2019
- 2019-03-15 CN CN201910198975.2A patent/CN111698536B/zh active Active
- 2019-06-04 TW TW108119368A patent/TWI715057B/zh active
- 2019-11-05 US US16/674,123 patent/US11457287B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102204272A (zh) * | 2010-12-31 | 2011-09-28 | 华为技术有限公司 | 流媒体中播放时间点跳转后的处理方法及装置 |
CN106803999A (zh) * | 2017-02-14 | 2017-06-06 | 北京时间股份有限公司 | 一种视频缓存处理方法、装置及服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN111698536A (zh) | 2020-09-22 |
CN111698536B (zh) | 2023-03-28 |
TW202037181A (zh) | 2020-10-01 |
US11457287B2 (en) | 2022-09-27 |
US20200296477A1 (en) | 2020-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108079578B (zh) | 一种基于云游戏的码率调整方法、装置及存储介质 | |
US10382514B2 (en) | Presentation of media in an application | |
US9836271B2 (en) | Delivery of synchronised soundtracks for electronic media content | |
CN101355500B (zh) | 内容再现设备、内容再现方法 | |
US9544346B1 (en) | Systems and methods for selecting a node for media streaming | |
KR101364824B1 (ko) | 스트리밍 미디어 콘텐츠에 대응하는 광고 콘텐츠를 관리하는 시스템 및 방법 | |
US20160180496A1 (en) | Information processor, information processing method, and program | |
CN110022498B (zh) | 一种实现码率切换的方法及装置 | |
US20240155209A1 (en) | Systems and methods to generate metadata for content | |
CN113424553A (zh) | 用于响应于用户选择而推进交互式媒体项目的重放的技术 | |
US20240340507A1 (en) | Methods, systems, and media for streaming video content using adaptive buffers | |
US9525641B1 (en) | Facilitating buffer wait time determination based on device- or entity-related conditions | |
CN108989905B (zh) | 媒体流控制方法、装置、计算设备及存储介质 | |
WO2024099455A1 (zh) | 直播互动方法、装置、电子设备及存储介质 | |
WO2024078245A1 (zh) | 视频控制方法、装置、电子设备以及存储介质 | |
TWI715057B (zh) | 視頻處理方法與系統 | |
KR20220130837A (ko) | 네트워크에서 스트리밍되는 콘텐츠를 클라이언트 디바이스의 플레이어에서 재생하기 위한 방법 | |
CN114747225B (zh) | 用于选择流送媒体内容项的格式的方法、系统和介质 | |
TWI713362B (zh) | 多媒體內容播放裝置與多媒體內容播放方法 | |
US12128299B2 (en) | Timing compensation and correlation of input with frames in a video game application | |
WO2024036979A9 (zh) | 一种多媒体资源播放方法及相关装置 | |
WO2020158093A1 (ja) | 制御装置及び通信装置 | |
WO2020191040A1 (en) | Timing compensation and correlation of input with frames in a video game application | |
KR20200116887A (ko) | 동영상 콘텐츠의 미리보기 동영상을 생성하여 제공하는 방법과 시스템 |