TWI590085B - 用於硬體加速視頻系統中策略察知之裝置及方法 - Google Patents

用於硬體加速視頻系統中策略察知之裝置及方法 Download PDF

Info

Publication number
TWI590085B
TWI590085B TW101149327A TW101149327A TWI590085B TW I590085 B TWI590085 B TW I590085B TW 101149327 A TW101149327 A TW 101149327A TW 101149327 A TW101149327 A TW 101149327A TW I590085 B TWI590085 B TW I590085B
Authority
TW
Taiwan
Prior art keywords
resource
video
media player
hardware
web browser
Prior art date
Application number
TW101149327A
Other languages
English (en)
Other versions
TW201342096A (zh
Inventor
張卿
吳杰珂
謝丹銘
Original Assignee
英特爾公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 英特爾公司 filed Critical 英特爾公司
Publication of TW201342096A publication Critical patent/TW201342096A/zh
Application granted granted Critical
Publication of TWI590085B publication Critical patent/TWI590085B/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/426Internal components of the client ; Characteristics thereof
    • H04N21/42653Internal components of the client ; Characteristics thereof for processing graphics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/001Arbitration of resources in a display system, e.g. control of access to frame buffer by video controller and/or main processor
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/003Details of a display terminal, the details relating to the control arrangement of the display terminal and to the interfaces thereto
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/426Internal components of the client ; Characteristics thereof
    • H04N21/42607Internal components of the client ; Characteristics thereof for processing the incoming bitstream
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5021Priority
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/12Overlay of images, i.e. displayed pixel being the result of switching between the corresponding input pixels
    • G09G2340/125Overlay of images, i.e. displayed pixel being the result of switching between the corresponding input pixels wherein one of the images is motion video
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2352/00Parallel handling of streams of display data
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/02Networking aspects
    • G09G2370/022Centralised management of display operation, e.g. in a server instead of locally
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/02Networking aspects
    • G09G2370/027Arrangements and methods specific for the display of internet documents
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/14Display of multiple viewports

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Television Signal Processing For Recording (AREA)

Description

用於硬體加速視頻系統中策略察知之裝置及方法
本發明係關於一種用於在視頻播放系統中優先分配視頻加速硬體的裝置及方法。
發明背景
用戶設備(UE)可能包括電腦、智能手機、膝上型電腦、機上盒、視頻遊戲機,或其它網絡功能的裝置。這樣的設備可以配置成用來提供視頻播放,但是對於視頻轉列(video rendering)的資源可能有限(例如,處理器能力、電池夀命等)。設備的資源限制可能會對設備提供用戶能夠接受之高解析度(HD)下的流暢播放的能力造成影響。無論是有線或者無線網路的速度都已提升,而且用戶對於來自他們的設備之高質量視頻性能也不斷地成長。例如,HD視頻在這些網路上日益普及。專用的視頻加速硬體可以增強視頻播放性能。但是,由於在任何一個時間能夠獲得支援的頻道數有其實體限制,因此專用硬體無法如用戶所期待地處理所有的使用方案。使用方案的例子可以包括,多視窗網頁瀏覽、多標籤(multi-tab)視頻播放、一標籤內多視頻播放(multi-video-in-one-tab playback)、多媒體播放器,或其 它具有一個以上的有效視頻或多媒體播放器之配置。
典型的視頻播放系統中,視頻解碼管線及視頻轉列程序可能是計算密集型的,而且可以極大地影響UE的整體系統性能。HD視頻的處理要求可能會使UE的回應時間變慢,或者帶來整個系統滯後或無反應的結果。UE處理視頻播放之性能需求的缺失可以導致不良的用戶體驗和用戶的挫折。
受處理器所限之應用的通解包括,使用平行計算、單指令多資料(SIMD)指令集,或專用的硬體引擎以加速解碼管線。但是,視頻轉列程序可能依然是一個可以限制整體系統性能的瓶頸。例如,不同格式的解碼資料在對合適的視頻轉列引擎提供該解碼資料之前,可能需要外的記憶體存取,而這可能會在轉列程序中成為延遲的原因。可選擇的解決方案如,升級處理器的能力,可以改善性能;然而,處理器升級往往需要在犧牲電池夀命或增加行動裝置的尺寸上權衡代價。
依據本發明之一實施例,係特地提出一種包含多個指令之至少一個機器可讀取媒體,該等指令因應在一計算裝置上執行而致使該計算裝置:從具有至少一個優先順序屬性的一請求者接收一硬體資源的請求以加速視頻播放;基於被請求之該硬體資源的狀態來判定對於被請求之該硬體資源是否存在一資源衝突;以及因應若判定存在該資源衝突,則基於該至少一個優先順序屬性和一屬性優先 順序清單來指派該硬體資源以加速視頻播放。
100‧‧‧視頻播放系統
102‧‧‧視頻初始化請求
104‧‧‧解碼引擎
106‧‧‧解碼管線
108‧‧‧處理器轉換器模組
110‧‧‧顯示引擎
200‧‧‧視頻加速系統
202‧‧‧視頻初始化請求
204‧‧‧播放管理單元
205‧‧‧資源管理器
206‧‧‧檢查操作
208‧‧‧休眠狀態
210‧‧‧硬體引擎
212‧‧‧解碼管線
216‧‧‧直接轉列模組
218‧‧‧視頻顯示器
300‧‧‧PMU(播放管理單元)
301‧‧‧視頻優先順序檢查模組
302‧‧‧第一瀏覽器標籤
303‧‧‧資源分配模組
304‧‧‧第一視頻
306‧‧‧請求
308‧‧‧回應
310‧‧‧第二瀏覽器標籤
312‧‧‧第二視頻
314‧‧‧請求
316‧‧‧占用通知
318‧‧‧釋出通知
320‧‧‧資源
322‧‧‧第三視頻
324‧‧‧第二請求
326‧‧‧不許可回應3
328‧‧‧通知
330‧‧‧許可回應
332‧‧‧通知
334‧‧‧復原播放通知
502-528‧‧‧操作
702‧‧‧處理器
704‧‧‧主記憶體
706‧‧‧靜態記憶體
710‧‧‧顯示裝置
712‧‧‧輸入裝置
714‧‧‧UI導航裝置
716‧‧‧大量儲存器
718‧‧‧信號產生裝置
720‧‧‧網路介面裝置
721‧‧‧感測器
722‧‧‧機器可讀媒體
724‧‧‧指令
726‧‧‧網路
728‧‧‧輸出控制器
附圖中,不一定是按比例繪製的,類似的編號在不同的視圖中可能描述相似的構件。具有不同的后綴字母之類似編號可以代表不同實施例的相似構件。圖式通常是說明,作為舉例,但並非做為限制,本文獻中所討論的不同實施方案。
圖1係說明習知技術之視頻播放系統的示例方塊圖。
圖2係說明依據一實施方案之,包括分頁管理單元及硬體引擎的視頻加速系統之示例方塊圖。
圖3係說明依據一實施方案之,一分頁管理單元與視頻資源的多個請求的互動之示例方塊圖。
圖4係說明依據一實施方案之,敘述不同屬性的優先順序排序之示例方塊圖。
圖5係說明依據一實施方案之,管理優先順序判定程序的方案之示例流程圖。
圖6係說明依據一實施方案之,包括兩個視頻播放區域的網頁瀏覽器之示例圖解。
圖7係說明一或多個實施方案可能在其上實現之機器的示例方塊圖。
較佳實施例之詳細說明
以下的敘述和圖式充分說具體實施方案以使熟 習此項技術者能夠實施本發明。其它實施方案可以結合結構的、邏輯的、與電相關的、程序的,以及其它的變化。某些實施方案的一部分或者特徵在其它實施方案中可以包括在內或者也可以省略。申請專利範圍中闡述的實施方案包含這些請求項的一切可用的等效方案。
一實施例中,視頻加速系統可以用不同的或相同的視頻協議來管理多個視頻的演示。例如,QuickTime®、動畫專家群(Moving Picture Experts Group,MPEG),或聲視讯交插(Audio Video Interleave,AVI)之類的視頻格式,全都可以在單一環境中用合適的媒體播放器或編碼譯碼器進行管理。一個環境示例係配備了HTML5-相容轉列引擎的網頁瀏覽器。實施例中,視頻可以在一或多個視窗、標籤,或媒體播放器畫布(media player canvases)中演示並加以管理。一個實施例中,HTML5-相容網頁瀏覽器可以在可攜式計算裝置,例如智慧型手機上操作,並協調多個並行的視頻演示之播放。
圖1係說明視頻播放系統100處理視頻初始化請求102的示範例。視頻播放系統100可以利用解碼引擎104來處理並演示視頻,例如在網頁瀏覽器中用HTML5畫布加以格式化的網頁分頁中所演示之視頻。網頁瀏覽器通常會顯示在包括桌上型和可攜式計算裝置的UE上,以使用戶能夠和通過網路接收到的或是先前已經加載到該UE上的多媒體互動。與HTML5標準兼容之各種不同格式下的視頻可以從網際網路上的許多網站取得,並且通常在新式的網頁瀏 覽器中會得到支援。典型的網頁瀏覽器中,解碼引擎104係利用解碼管線106,以及顯示引擎110來處理並向用戶演示視頻。
當利用接收自解碼管線106的各視訊框之記憶複製(memory copy)以在視訊框上執行任何所需的調處之處理器轉換器模組(processor transformer module)108將視頻資料從解碼引擎104轉移到顯示引擎110時,視頻資料可能會被轉換或轉列。視訊框的調處可能包含,例如,重調尺寸、色彩轉換,或合成視訊框。
一些處理器計算能力受限的電腦及可攜式裝置可能無法滿足在快得足以正常地顯示多個視頻的速率下,正常地提供並解碼高質量視頻流所需的要求。對於處理器受限的裝置有一種解決方案,就是納入專用硬體引擎,例如,可以在視頻處理期間加速視頻解碼和顏色空間轉換的處理之圖形處理單元(GPU)。視頻解碼和顏色空間轉換是計算密集的程序,可以受益於有時也被稱做視頻處理器的專用硬體構件。
圖2所示為用來加速視頻顯示並管理多個視頻初始化請求的視頻加速系統200之實施例。視頻加速系統200可以在各種計算系統中實現,包括但不限於,行動電話、桌上型電腦、智慧型手機,或其它任何一種包含對用戶提供視頻播放機制的儀器。視頻加速系統200可以應用在多個視頻可能同時播放或佇列的情況下。因此,視頻加速系統200的一個潛在優勢是,將各個單獨的視頻之播放適當地排 列出優先順序,視頻播放性能可以被最適化。
實施例中,播放管理單元(PMU)204接收視頻初始化請求202以啟動對視頻資源的請求。請求可能源自,例如,用戶啟動和該用戶想要觀看的視頻相關之網頁瀏覽器中的鏈接。PMU 204可以管理硬體的資源共享,使有限的資源配置最佳化,協調對請求方的硬體資源分配,而且也可以納入優先順序方案以定義如何處理請求。如果資源正在使用中,PMU 204可以決定該請求是否應該等候該資源成為可用的,或者是否應該強制該資源的現有持有者釋出該資源。
實施例中,沒有正在播放的視頻的情況下,PMU 204可以決定被請求的資源可以立刻授予請求方。優先順序處理資源管理器205會執行檢查操作206以確定資源是否處於可用狀態。PMU 204如果判定資源因為被一較高優先順序的請求佔用而成為不可用資源,視頻初始化請求202就會被置於休眠狀態208直到該資源成為可用資源為止。PMU 204如果執行檢查操作206而判定該資源為可用資源,或者比正在使用該資源之現有請求具有較高優先順序,就會將視頻初始化請求202發送到硬體引擎210。
硬體引擎210可以用直接轉列模組216加速解碼管線212,同時也加速轉列程序。從解碼管線212輸出的資料在適當的時間被直接轉列到硬體重疊以顯示該視頻,因此在解碼和轉列管線之間沒有冗餘數據複製。刪除解碼和轉列管線之間的記憶複製可以改善視頻播放性能。解碼管 線212與轉列程序二者都可以由專用硬體模組予以加速。
實施例中,直接轉列模組216既可用來消除硬體解碼和軟體轉列之間的速度差距,又可以避免丟框(frame drops)。轉列程序中通常與資料複製及格式轉換相關聯的潛時係通過直接將已解碼的視頻內容從解碼管線212傳送到直接轉列模組216而不使用單獨的記憶複製的方式來排除,而在硬體引擎210中未包含解碼管線212和直接轉列模组216的實施例中,則可以存在單獨的記憶複製。
圖3所示為兩個網頁瀏覽器標籤與PMU 300互動的實施例。各網頁瀏覽器標籤可以包含單獨的或共享的媒體播放器以對用戶顯示視頻。PMU 300可包含視頻優先順序檢查模組301和資源分配模組303。視頻優先順序檢查模組301可以維護一能夠指示個別資源如果被提出二或多個請求時應如何分配資源之資料庫、清單或其它優先順序方案。資源分配模組303可以維護一資料庫、清單或其它機制以監控個別資源在系統中是如何被應用的。
舉例而言,在為一HTML5視頻初始化一新的網頁媒體播放器的期間,可以由各標籤或網頁媒體播放器請求者發送資源請求給PMU 300。PMU 300可以被配置來管理與視頻播放或與為播放加速相關聯的所有硬體資源。資源擷取期間,PMU 300可以通過詢問系統資源管理器來探查資源的狀態(未示出)。視頻播放完成時,或者從一較高優先順序視頻接收到佔先請求,而播放如果尚未完成,則可以向視頻之各播放器發出暫停播放,儲存播放內容的信號, 釋出該硬體管線資源,並且通知PMU 300該資源已被釋出。
舉例來說,第一瀏覽器標籤302可依用戶指示而打開含有第一視頻304之網頁。來自第一瀏覽器標籤302的請求306被發送到PMU 300。視頻優先順序檢查模組可以決定來自第一瀏覽器標籤302的請求之優先順序。資源分配模組可進行檢查以決定第一瀏覽器標籤302所請求的資源是否為可用資源。如果系統上沒有其它在使用資源的視頻,PMU 300會傳輸一回應308允許該請求,並提供一硬體資源以加速第一視頻304在第一瀏覽器標籤302的播放。在這個僅顯示一個視頻的實施例中,第一視頻304在系統中具有最高的優先順序。如果提出請求的瀏覽器標籤302,或媒體播放器,接收到回應308,請求者就可以開始建立新的視頻播放管線,其中一例示於圖2。
PMU 300可以將硬體資源重新分配給較高優先順序的請求者,或者喚醒一在等待該資源之暫停的視頻播放器。暫停的播放器一接收到喚醒信號就可以將硬體管線重新初始化,復原任一先前儲存的播放內容,並且將視頻播放回復到視頻播放器先前被暫停的確切點上。
舉例來說,在允許多個視窗或標籤同時被打開或同時有效的網頁瀏覽器中,用戶可以請求一第二瀏覽器標籤310。如果用戶請求一第二瀏覽器標籤310,第一瀏覽器標籤302可以被新的第二瀏覽器標籤310遮住。或者,如果第一瀏覽器標籤302和第二瀏覽器標籤310是在不同的視窗中,或者是在一種對用戶而言二者都看得到的配置下,那 麼第一瀏覽器標籤302就仍然看得到。第二瀏覽器標籤310可以包含一第二視頻312。第二視頻312可以出現在加載到第二瀏覽器標籤310中之初始網頁,或者是用戶導航的結果指向一包含第二視頻312的網頁。第二瀏覽器標籤310中之第二視頻312可以向PMU 300發送一請求視頻加速資源的請求314。
在視頻優先順序是依據一瀏覽器標籤之為有效或為前景狀態而定的實施例中,如果第二瀏覽器標籤310在前,或者比第一瀏覽器標籤302在更近才選出,那麼第二瀏覽器標籤310中之第二視頻312將會比第一瀏覽器標籤302中之第一視頻304具有更高的優先順序。通過使第一視頻304處於前景狀態,以及預期性地搶先到正被第二視頻312使用之硬體資源的用戶之前,用戶對第一瀏覽器標籤302的選擇將可以逆轉視頻的優先順序。
視頻優先順序檢查模組可以通過考量第二瀏覽器標籤310和第一瀏覽器標籤302二者的位置或狀態以決定來自第二瀏覽器標籤310之請求314的優先順序。資源分配模組可以進行檢查以決定第二瀏覽器標籤310所請求的資源是否為可用資源。如果第二瀏覽器標籤310所請求的資源正為第一瀏覽器標籤302之第一視頻304所使用,PMU 300可以對第一瀏覽器標籤302發送一占用通知(occupy notification)316。占用通知316可以向第一瀏覽器標籤302指出,有更高優先順序的視頻對正被第一視頻304使用的資源發出請求而必須將其釋出。第一瀏覽器標籤302可以儲存 第一視頻304的狀態並釋出被提出請求的資源。基於網頁瀏覽器可用的記憶體資源或者將第一視頻304顯示給用戶的媒體播放器,所保留之第一視頻304的狀態可以儲存到依電性或非依電性記憶體。第一視頻304的狀態一旦被儲存起來,第一瀏覽器標籤302就可以提供釋出通知318給PMU 300。
PMU 300一收到釋出通知318就可以回應請求提供硬體加速資源的請求314,將資源320授予較高優先順序的第二視頻312。第一瀏覽器標籤302中的第一視頻304可以暫停在休眠狀態直到它被提升至一能夠允許第一視頻304去搶先使用所需的硬體加速資源之較高優先順序為止,或者直到該資源被較高優先順序的用戶釋出為止。或者,第一視頻304可以繼續以較低的框速率而不使用硬體加速之下,在一個可見的背景區或部分被遮住的部分區域中顯示。
個別的顯示視窗或瀏覽器標籤可以在單一視窗中有多個同時有效的視頻。例如,如圖3所示,第三視頻322可以顯示在第二瀏覽器標籤310中。視頻優先順序模組可以被配置成用來將單一視窗或瀏覽器標籤中的多個視頻做優先順序排序。例如,顯示在第二瀏覽器標籤310中的第二視頻312可以比同一標籤310中的第三視頻322具有較高的優先順序。如果第三視頻322顯示在第二瀏覽器標籤310中,而PMU 300從第二瀏覽器標籤310接收到第二請求324。PMU 300可以判定第三視頻322所請求的硬體加速資源正在使用中,並將一不許可回應326回覆給第三視頻322。休 眠狀態下,第二請求324可以被置於一佇列以等待喚醒信號;喚醒信號可由PMU 300提供,代表所請求的資源已經變成可用資源。
如果視頻已經完成播放、被用戶手動停止播放,不然就是無法繼續播放,那麼視頻正在使用的資源就會被釋出。例如,當第二瀏覽器標籤310中的第二視頻312結束時,會提供通知328給PMU 300表明可以釋出與第二視頻312相關聯之資源或多個資源,從而使得那些資源可以為其他請求者所用。PMU 300一接收到通知328就會進行檢查以決定哪個視頻,如果有的話,在優先順序佇列中是下一個順位。示於圖3的實施例中,第二視頻312一結束,第二瀏覽器標籤310中的第三視頻322就會變成最高優先順序的視頻資源請求。PMU 300可以提供許可回應330給第二瀏覽器標籤310,允許將第三視頻322從休眠佇列或請求者等待清單中移除。對於尚未開始播放程序之視頻的請求,其許可程序可以包含創建新的視頻播放管線,圖2所示為其一例。
第三視頻322可以在第二瀏覽器標籤310中顯示,直到因為更高優先順序的視頻請求而中斷為止,其需要釋出任一已分配資源的優先順序狀態,或第三視頻已完成播放的點會發生變動。一旦播放結束,或者有一事件將第二瀏覽器標籤或與第三視頻322相關聯的媒體播放器關閉,就可以將通知332提供給PMU 300表明資源已因為潛在的重指定而由資源分配模組釋出。
當第一視頻304請求使用的資源變成可用資源 時,PUM 300可以提供復原播放通知334給第一瀏覽器標籤302。第一瀏覽器標籤302可以復原第一視頻304的保留狀態,並利用最初創建給第一視頻304之媒體播放管線來繼續進行硬體加速播放。
視頻優先順序排序系統可以建立在以視頻對用戶之顯示區域的量為特徵之可見性屬性的基礎上。可見性屬數可以指示顯示屏上是否有全部視頻,一部分視頻,或沒有視頻提供給用戶。圖4所示係對各種網頁瀏覽器、媒體播放器,或其它視頻播放區的可見性屬性的優先順序排序圖例。視頻播放區域可以包含顯示的任一部分,例如,包含一配置來呈現視頻給用戶之視頻標籤的HTML5畫布。
如圖4所示,代表視頻位於最上面的前景視窗或被指派了最大化顯示區域的屬性會分配到最高優先順序。次高的優先順序屬性將包含位於前景顯示區域中且未被遮住的視頻。非最大化視窗或前景視窗,但卻完全可見(未被遮住)的視頻視窗則是次高優先順序別。如圖4所示,可以將一低於前景視頻,但同時也高於對用戶為不可見之任何視頻的優先順序指派給一具有表示視頻並不在前景顯示區域內的屬性之部分可見視頻。
可以指派一個低於完全可見或部分可見的視頻之優先順序給,例如因遮蔽視頻顯示區的控制、選單,或其它網頁元素所致而不可見的視頻。隱藏的視頻是位於不可見的顯示區域,被最小化到視頻顯示區域沒有那個部能夠被用戶看到的視頻。最低級別的屬性表示視頻被歸類到 背景顯示區,或者其他用戶或操作系統分派的低優先順序區域或空間,可能會分配到最低優先順序的背景級別。
除了根據可見性屬性來進行視頻優先順序排序之外,還可以利用視頻順序的屬性來為硬體加速排定優先順序。視頻順序的屬性可以包括用戶啟動、打開,或選擇視頻,或者視頻的狀態在一多視窗操作系統中是處於活躍的、最小化的,或在背景視窗中的相對順序。
視頻屬性的組合,像是可見性、順序和狀態(例如,暫停或播放中等等)全部可以結合到優先順序的級別中,以便在任何可以在個別的視頻播放裝置上實現的顯示構型中,對亦可用來為PMU提供各視頻排序的決勝標準進行解釋。例如,在有兩個都是可見的並行視頻的網頁中,最近被用戶選來開始播放的視頻(較高優先順序順序的屬性),總的來說盡管可見性優先順序屬性相同,還是可以有較高的優先順序。
視頻播放器請求者的優先順序可以基於變動的情況或方向而動態地轉移。如果視頻播放器變成可見的或被隱藏,如果視頻從背景或前景顯示區域被移走,優先順序就可能改變,或反之亦然。如果視頻在視窗、網頁瀏覽器,或媒體播放器中,在整個顯示螢幕上被最小化、最大化,或者被關閉,視頻的優先順序就會被重新指定以反應發生的變化。如果視頻的狀態改變,例如,用戶如果讓視頻暫停、改變視頻播放速率,或讓暫停的視頻回復播放,優先順序就可能跟著變。包含各視頻、視窗、網頁瀏覽器、 媒體播放器、嵌式媒體播放器或其它視頻播放區域之一或多個屬性的清單、資料庫、陣列,或其它記憶體結構,可由PMU在一機器可讀媒體中加以維護和更新。
示於圖5之流程圖係為了硬體加速而對視頻播放器進行優先順序排序之,將PMU中的資源處理請求進行優先順序排序的方法例。PMU可以等候資源請求或在資源使用中的狀態變化或可能影響資源分配之優先順序調整。在前景檢查操作502,PMU首先會檢查網頁瀏覽器或媒體播放器視窗是否在前景裡。前景視窗可以是用戶能夠完全看到的最顯眼的、最近選出的,或最近創建的視窗。如果視窗不在前景視窗裡,PMU就會在可見性檢查操作504進行檢查以確定視頻在背景視窗中是否可見。背景視窗是未被選做前景視窗,或者至少有部分被任何其它視窗遮蔽的任一視窗。
在操作506,視頻在背景視窗中如果是不可見的,那麼視頻的狀態就會被儲存起來,而該視頻所占有的任一硬體資源都會釋回PMU。在操作508,非-可見視窗之例可以包含由用戶創建來做為背景視窗的網頁瀏覽器標籤。瀏覽器標籤可以載入一個包含視頻的網頁,但是PMU並不會指派硬體加速資源給該視頻,因為該視頻對用戶而言並非可見的視頻。如此,就可以為用戶可見的視頻進行硬體資源的優先順序排序。
在操作510,PMU可以等候新的資源請求或資源使用中的狀態變化或可能影響資源分配的優先順序調整。 如果資源請求係源自一或為前景視窗(在前景檢查操作502被確定的)或為含有可見的視頻播放器(在可見性檢查操作被確定的)之視窗,就會在操作514執行可用性檢查。可用性檢查操作514可由PMU中的資源分配模組來執行。如果被請求的資源正在使用中,那麼PMU就可以在操作516判定新的請求是否來自一比該資源的當前用戶具有更高優先順序的請求者。如果請求者並不比該資源當前的請求者具有更高的優先順序別,請求就會遭拒。在操作518,PMU可以通知請求者該資源為不可用資源。在操作520,該請求可以被放置到一個佇列或者其它記憶體結構以等待該資源變成可用資源。
如果,在操作516,PMU判定請求者比現有用戶具有較高的優先順序,那麼PMU就可以在操作522通知當前的用戶並搶占該資源的使用。在操作524,PMU可以等候當前的資源用戶將其現行狀態儲存起來並釋出資源到PMU。在操作526,PMU可以對請求者許可使用所請求的資源。
在操作528,PMU可以監控任一已分配資源的使用以判定資源是否已被請求者釋出。請求者可以通過停止或暫停視頻播放、通過讓一由PMU分配的硬體資源從一具有在所使用之網頁瀏覽器中的視頻的網頁離開,或者通過終止一正在使用PMU所分配的硬體資源之應用來釋出資源。PMU可以針對資源狀態定期輪詢請求的應用、程序、網頁瀏覽器、媒體播放器,或其他請求者。或者,可以利用由操作系統提供的軟體信息或中斷將資源使用的變化通 知給PMU。請求者結束資源的使用後,會對PMW傳輸通知,而PMU會回到操作510以等待另一個資源請求。
圖6所示為一具有多標籤瀏覽能力之網頁瀏覽器600的圖例。網頁瀏覽器600可以包含一網頁瀏覽器介面區和多個選單。圖6所示之例中,網頁瀏覽器包括多個瀏覽器標籤。瀏覽器標籤Z被突顯為目前有效的標籤,並包含一帶有網頁內容的顯示區和兩個視頻顯示區。瀏覽器標籤X和瀏覽器標籤Y是無效標籤,目前對用戶而言是不可見的。瀏覽器標籤X或瀏覽器標籤Y也可以包含網頁內容或視頻顯示區。
圖6之示例網頁瀏覽器600中,第一或第二視頻顯示區內的有效視頻具有比可能出現在瀏覽器標籤X或瀏覽器標籤Y的任一視頻元素更高的優先順序。視頻元素的優先順序可以回應用戶與網頁瀏覽器600的互動而改變。例如,用戶如果要選擇瀏覽器標籤X,導致瀏覽器標籤Z對用戶而言不再是可見的,PMU就會降低瀏覽器標籤Z中的第一和第二視頻元素的優先順序排序,並使瀏覽器標籤X中的任何視頻元素升級。根據優先順序的變化,PMU可以動態地分配任何可用的硬體加速通道,或搶占任何正由第一或第二視頻元素使用中的硬體加速資源,以供瀏覽器標籤X使用。
圖7所示為一示例機器700的方塊圖,本文所討論的技術中之任一種或多種都可以在其上執行。在不同的實施方案中,機器700可以做為獨立的裝置來操作,或者可以與其它機器連接(例如,連網)。在連網部署中,機器700可 以在伺服機、客戶機的能力,或二者皆在伺服器-客戶網路環境中操作。一實施例中,機器700可以在點對點(P2P,peer-to-peer)(或其它分散式)網路環境中作為一個對等機器。機器700可以是個人電腦(PC)、平板電腦、轉頻器(STB,set-top-box)、個人數位助理(PDA)、行動電話、網路設備(web appliance)、網路選路器、交換機或橋接器,或任何能夠執行指定要由它來採取行動的指令(順序指令或其它指令)的機器。此外,雖然僅示出單一個機器,但是術語“機器”應該也包括任何單獨或共同執行一(或多組)指令以實施本文所討論的任一或多個方法,例如雲端運算、軟體即服務(SaaS,software as a service)的機器集合、其它計算機叢集組態。
本文所載實施例可以包括,邏輯或多個組件、模組,或機構,或者可以在其上操作。模組是能夠執行特定操作的有形實體,並且能夠以特定方式設置或排列。一實施例中,電路可以利用指定的方式設置(例如,內部設置或在外部實體上,如其它電路的設置)為模組。一實施例中,一或多個電腦系統(例如,獨立的、客戶端的或伺服器電腦系統)的整體或部分,或者一或多個硬體處理器,可以藉韌體或軟體(例如,指令、應用部分,或應用)配置成用於執行指定操作的操作模組。一實施例中,軟體可以駐留在(1)非暫時性的機器可讀媒體上,或(2)傳輸信號中。一實施例中,當軟體被模組的底層硬體執行時,會促使硬體執行指定的操作。
因此,術語“模組”應理解成包含有形實體,是一種實體地建構成,特殊地配置(例如,固線式),或暫時性地(例如,短暫地)配置(例如,程控式)來以一指定方式操作或執行本文所敘述之任一種操作的部分或全部。就組係暫時性配置的實施例而論,模組的每一個並不需要在任何時刻都是實體化的。例如,模組如果包含一個使用軟件設置的通用硬體處理器,該通用硬體處理器就可以設置成在不同時間是作為各自不同的模組。軟體可以相應地對硬體處理器進行設置,例如,在一時間實例構成一特殊的模組,而在一不同的時間實例則構成一個不同的模組。
機器(例如,電腦系統)700可以包含硬體處理器702(例如,處理單元、圖形處理單元(GPU)、硬體處理器核心,或它們的任何組合)、主記憶體704,及靜態記憶體,這些構件有些或全部可以通過鏈接708(例如,匯流排、互連等等)互相溝通。機器700可以進一步包含顯示裝置710、輸入裝置712(例如,鍵盤),及用戶介面(UI)導航裝置714(例如,鼠標)。一實施例中,顯示裝置710、輸入裝置712,及UI導航裝置714可以是一個觸控螢幕顯示器。機器700還可以包括大量儲存器(例如,驅動單元)716、信號產生裝置(例如,揚聲器)718、網路介面裝置720,及一或多個感測器,諸如全球定位系統(GPS)感測器、羅盤、加速計之類,或其它感測器。機器700可以包括輸出控制器728,像是串列(例如,通用串列匯流排(USB))、平行,或其它固線或無線(例如,紅外線(IR))連接以進行通信或控制一或多個周邊 裝置(例如,列印機、讀卡機等)。
大量儲存器716可以包括機器可讀媒體722,其上儲存著一或多資料結構或指令724(例如,軟體),以便體現本文所敘述之一或多種技術或功能,或者被應用。指令720在機器700執行指令的期間亦可,完整地或至少部分地,駐留在主記憶體704內、在靜態記憶體706內,或者在硬體處理器702內。實施例中,機器可讀媒體可由硬體處理器702、主記憶體704、靜態記憶體706,或大量儲存器716之一或任一組合構成。
機器可讀媒體722雖然描述為一個單一的媒體,但是術語“機器可讀媒體”可以包含設置來儲存一或多個指令724之單一的媒體或多媒體(例如,集中式或分散式資料庫,及/或相關的快取及伺服器)。
術語“機器可讀媒體”可以包含任何能夠儲存、編碼,或運載要給機器700去執行並促使機器700去完成本說明書所載之任一或多個技術的指令,或者能夠儲存、編碼或運載由此類指令所使用,或與此類指令相關的資料結構之有形的媒體。非限定性機器可讀媒體例可以包含固態記憶體,以及光學和磁性媒體。機器可讀媒體的具體實例可以包含:非依電性記憶體,諸如半導體記憶裝置(例如,電子可程式唯讀記憶體(EPROM)、電子可抹除可程式化唯讀記憶體(EEPROM))和快閃記憶裝置;磁碟,例如內部硬磁碟和可移磁碟;磁光碟;及CD-ROM與DVD-ROM磁碟。
利用傳輸媒體,經由網路介面裝置720,使用一 或多個傳送協定(例如,訊框中繼、網際網路協定(IP)、傳輸控制協定(TCP)、用戶資料報協定(UDP)、超文件傳送協定(HTTP)等)。通信網路示例可以包括區域網路(LAN)、廣域網路(WAN)、分封數據網路(例如,網際網路)、行動電話網路(例如,胞狀網路)、老電話(POTS)網路,以及無線數據網路(例如,電機電子工程師學會(IEEE)802.11系列標準,被稱做Wi-Fi®、IEEE 802.16系列標準被稱做WiMax®)、同級間網路(P2P)等等,指令724可以進一步通過通信網路傳輸或接收。一實施例中,網路介面裝置720可以包含一或多個物理插孔(例如,乙太網、同軸或電話插孔)或一或多個天線,以便和通信網路726相連接。一實施例中,網路介面裝置720可以包括多個天線以便利用單輸入多輸出(SIMO)、多輸入多輸出(MIMO),或多輸入單輸出(MISO)技術中的至少一種進行無線通信。術語“傳輸媒體”應該理解為包括任何能夠儲存、編碼或運載要給機器700去執行的指令之無形的媒體,並包含數位或類比通信信號或其它無形的媒體以利於此類軟體的通信。
附加說明&實施例
實施例1的主要內容係例如,一種有形的計算機可讀媒體,其具有計算機可執行指令作為對要在一計算裝置上執行的回應,促使計算裝置進行:從一具有至少一個優先順序屬性的請求者接收一加速視頻播放的硬體資源之請求;基於被請求之硬體資源的狀態判定被請求之硬體資源是否存在資源衝突;以及,因應若判定存在資源衝突, 以該至少一個優先順序屬性和一屬性優先順序清單為基礎來指派用於加速視頻播放的硬體資源。
在實施例2,實施例1的主要內容可以選擇性地包括維護一包括各請求者之優先順序屬性的資料庫之指令;其中該請求者之優先順序屬性在視頻播放期間可以動態地改變。
在實施例3,實施例1或2的主要內容可以選擇性地包括促使一計算裝置進行:重新分配該硬體資源的指令以作為對至少一請求者在至少一屬性上的改變之回應。
在實施例4,實施例1、2或3的主要內容可以選擇性地包括促使一計算機系統向一資源管理器查詢該硬體資源的狀態;並從該資源管理器接收一狀態回應。
在實施例5,實施例1、2、3或4的主要內容中,指派該硬體資源包括,如果硬體資源被指派給該請求者,就創建一個硬體管線的實例。
在實施例6,實施例1、2、3、4或5的主要內容中,指派該硬體資源包括,如果該狀態回應顯示該硬體資源並未指派給該請求者,就讓該請求進入佇列。
在實施例7,實施例1、2、3、4、5或6的主要內容中,該硬體資源為一視頻播放引擎。
在實施例8,實施例1、2、3、4、5、6或7的主要內容可以選擇性地包括,指示一當前的資源持有者釋出該資源以因應若判定該資源衝突存在。
在實施例9,實施例1、2、3、4、5、6、7或8的 主要內容可以選擇性地包括,接收該當前的資源持有者已釋出該資源的通知。
在實施例10,實施例1、2、3、4、5、6、7、8或9的主要內容中,該請求者為一媒體播放器。
在實施例11,實施例1、2、3、4、5、6、7、8、9或10的主要內容中,該媒體播放器的屬性係選自由下列所組成之一群組:該媒體播放器為一前景視窗、該媒體播放器為一背景視窗、該媒體播放器在一最小化的視窗中、該媒體播放器在一最大化的視窗中、該媒體播放器是可見的、該媒體播放器是最新的媒體播放器、以及該媒體播放器是隱藏的媒體播放器組成的群組選出。
在實施例12,實施例1、2、3、4、5、6、7、8、9、10或11的主要內容中,該請求者為一網頁瀏覽器。
在實施例13,實施例1、2、3、4、5、6、7、8、9、10、11或12的主要內容中,該網頁瀏覽器的屬性係選自由下列所組成之一群組:該網頁瀏覽器為一前景視窗、該網頁瀏覽器為一背景視窗、該網頁瀏覽器在一最小化的視窗中、該網頁瀏覽器在一最大化的視窗中該網頁瀏覽器是可見的、該網頁瀏覽器是最新的網頁瀏覽器、以及該網頁瀏覽器是隱藏的網頁瀏覽器組成的群組選出。
在實施例14,實施例1、2、3、4、5、6、7、8、9、10、11、12或13的主要內容中,該硬體引擎為一HTML5-相容轉列引擎。
實施例15的主要內容(例如一系統、一設備、一 裝置等)包括:在一數位計算機系統中,從一具有至少一個優先順序屬性的請求者接收一加速視頻播放的硬體資源之請求;基於被請求之硬體資源的狀態判定被請求之硬體資源是否存在資源衝突;以及,因應若判定存在資源衝突,以該至少一個優先順序屬性和一屬性優先順序清單為基礎來指派用於加速視頻播放的硬體資源。
在實施例16,實施例15的主要內容中,指派該硬體資源包括,如果硬體資源被指派給該請求者,就創建一個硬體資源管線的實例。
在實施例17,實施例15或16的主要內容中,指派該硬體資源包括,如果該狀態回應顯示該硬體資源並未指派給該請求者,就讓該請求進入佇列。
在實施例18,實施例15、16或17的主要內容可以選擇性地包括向一資源管理器查詢該硬體資源的狀態;及從該資源管理器接收一狀態回應。
在實施例19,實施例15、16、17或18的主要內容中,該硬體資源為一視頻播放引擎。
在實施例20,實施例15、16、17、18或19的主要內容可以選擇性地包括維護一包括各請求者之優先順序屬性的資料庫;其中該請求者優先順序屬性在視頻播放期間可以動態地改變。
在實施例21,實施例15、16、17、18、19或20的主要內容可以選擇性地包括重新分配該硬體資源以回應在至少一請求者之至少一屬性上的改變。
在實施例22,實施例15、16、17、18、19、20或21的主要內容可以選擇性地包括,指示一當前的資源持有者釋出該資源以因應若判定該資源衝突存在。
在實施例23,實施例15、16、17、18、19、20、21或22的主要內容可以選擇性地包括接收該當前的資源持有者已釋出該資源的通知。
在實施例24,實施例15、16、17、18、19、20、21、22或23的主要內容中,該請求者為一媒體播放器。
在實施例25,實施例24的主要內容中,該媒體播放器的屬性係選自由下列所組成之一群組:該媒體播放器為一前景視窗、該媒體播放器為一背景視窗、該媒體播放器在一最小化的視窗中、該媒體播放器在一最大化的視窗中、該媒體播放器是可見的、該媒體播放器是最新的媒體播放器、以及該媒體播放器是隱藏的媒體播放器組成的群組選出。
在實施例26,實施例15、16、17、18、19、20、21、22或23的主要內容中,該請求者為一網頁瀏覽器。
在實施例27,實施例26的主要內容中,該網頁瀏覽器的屬性係選自由下列所組成之一群組:該網頁瀏覽器為一前景視窗、該網頁瀏覽器為一背景視窗、該網頁瀏覽器在一最小化的視窗中、該網頁瀏覽器在一最大化的視窗中該網頁瀏覽器是可見的、該網頁瀏覽器是最新的網頁瀏覽器、以及該網頁瀏覽器是隱藏的網頁瀏覽器組成的群組選出。
在實施例28,實施例15、16、17、18、19、20、21、22、23、24、25、26的主要內容中,該硬體引擎為一HTML5-相容轉列引擎。
實施例29主要內容(例如一系統、一設備、一裝置等)包括,一支援至少一視頻通道的播放之硬體引擎;及一頁面管理單元,係配置為用於分配在該視頻播放系統上執行之多個媒體播放器的每一個對該硬體引擎的使用,並設置為應用該硬體引擎以在一顯示幕上呈現至少一個視頻,該分配係以一包括各該媒體播放器的屬性之預定義的優先順序為基礎。
在實施例30,實施例29的主要內容中,該硬體引擎包括一解碼管線和一轉列模組,二者係鏈接成資料會直接從該解碼管線被傳輸到該轉列模組。
在實施例31,實施例29或30的主要內容可以選擇性地包括一含有各個媒體播放器的屬性之資料庫;其中該各個媒體播放器的屬性可以在視頻播放期間動態地改變。
在實施例32,實施例29、30或31的主要內容中,該媒體播放器的屬性係選自由下列所組成之一群組:該媒體播放器為一前景視窗、該媒體播放器為一背景視窗、該媒體播放器在一最小化的視窗中、該媒體播放器在一最大化的視窗中、該媒體播放器是可見的、該媒體播放器是最新的媒體播放器、以及該媒體播放器是隱藏的媒體播放器組成的群組選出。
在實施例33,實施例29、30、31或32的主要內容 可以選擇性地包含一個儲存在一包括各請求者屬性的計算機可讀媒體中之資料庫,其中該請求者屬性可以在視頻播放期間動態地改變;及頁面管理單元進一步配置成用來重分配該硬體資源以作為對至少一請求者在屬性上的變化之回應。
在實施例34,實施例29、30、31、32或33的主要內容中,從該解碼模組到該該轉列模組的資料傳輸並不需要記憶複製。
在實施例35,實施例29、30、31、32、33或34的主要內容中,該至少一個視頻與HTML5相容。
在實施例36,實施例29、30、31、32、33、34或35的主要內容中,該硬體引擎為一HTML5-相容的轉列引擎。
在實施例37,實施例29、30、31、32、33、34、35或36的主要內容中,該硬體引擎為一視頻播放器。
在實施例38,實施例29、30、31、32、33、34、35、36或37的主要內容中,各該媒體播放器係內嵌在一網頁瀏覽器中。
上述詳細說明內容包括引用構成詳細說明的一部分之附圖。圖式以舉例說明的方式顯示,本發明可以在具體實施方案中實踐。這些實施方案在本文中亦稱為“實施例”。此類實施例可以包括所示或所載以外的元件。但是,發明人等還考慮了僅有所示或所載元件的實施例。此外,發明人等也考慮了使用所示或所載元件(或其中之一或多 個條件)的任何組合或置換的實施例,或考慮本文所示或所載之特定實施例(或其中之一或多個條件),或其它實施例(或其中之一或多個條件)。
在本文獻中,獨立於任何其他“至少一個”“一或多個”的實例或用法,術語“一”或“一個”和一般專利文獻中的用法相同,包含一個或一個以上的意思。本文獻中,術語“或”指的是非排他的,例如“A或B”包含“A”但非“B”,“B”但非“A”,及“A和B”,除非另有指定。在申請專利範圍中,術語“包括(including)”及“其中(in which)”是作為簡易英語的用語“包含(comprising)”及“其中(wherein)”的等效術語。同樣地,以下的申請專利範圍中,術語“包括(including)”和“包含(comprising)”都是開放式的語法,亦即,在一申請專利範圍中,一系統、裝置、製品,或程序即使包含了列在這樣一個術語之後的其它元件,還是會被認為落入那個申請專利範圍的範疇。此外,在以下的申請專利範圍中,術語“第一”、“第二”及“第三”等等,只是做為標示使用,而非意圖在它們的對象上加入數值要求。
以上說明內容是做為舉例說明而非做為限制之用。例如,上述實施例(或其中之一或多個條件)可以互相以結合形態使用。其它的實施方案可以由熟習此項技術者在閱讀以上說明的基礎上進行使用。摘要是遵照37 C.F.R.§ 1.72(b)而提供的,能夠使讀者很快地確認本技術內容的性質。提交摘要應理解成它不會被用來解釋或限制申請專利範圍的範疇或意義。同樣地,在上述詳細說明書中,各種 特徵可以組合在一起以精簡記載內容。關於這點不應該被解釋成未請求的揭露特徵對於任一申請專利範圍而言是必需的。因此,以下的申請專利範圍將誁入詳細說明書中,每一個請專利範圍本身就代表一個獨立的實施方案。本發明的範疇應該參考所附申請專利範圍,以及這些申請專利範圍有權利要求的等效範圍來決定。
200‧‧‧視頻加速系統
202‧‧‧視頻初始化請求
204‧‧‧播放管理單元
205‧‧‧資源管理器
206‧‧‧檢查操作
208‧‧‧休眠狀態
210‧‧‧硬體引擎
212‧‧‧解碼管線
216‧‧‧直接轉列模組
218‧‧‧視頻顯示器

Claims (38)

  1. 一種包含含有多個指令的至少一個機器可讀取媒體的機器可讀取媒體,該等指令在執行於計算裝置上時會致使該計算裝置進行以下操作:接收來自具有至少一個優先順序屬性的一請求者的對於用於加速視頻播放的一硬體資源的一請求;基於被請求的該硬體資源的一狀態,判定對於被請求的該硬體資源而言是否有資源衝突;以及若判定出有資源衝突,則基於該至少一個優先順序屬性和列出不同優先順序屬性所對應之優先順序的一屬性優先順序清單而指派該硬體資源來加速視頻播放,其中,該請求者之該至少一個優先順序屬性可在視頻播放之期間內動態地改變為列於該屬性優先順序清單中的其他優先順序屬性。
  2. 如申請專利範圍第1項之機器可讀取媒體,其含有用於進行以下操作的指令:維持一資料庫,該資料庫含有該請求者及至少一個其他請求者的優先順序屬性。
  3. 如申請專利範圍第2項之機器可讀取媒體,其含有用於進行以下操作的指令:因應該請求者及該至少一個其他請求者中之至少一者的至少一個優先順序屬性之改變而重新分配該硬體資源。
  4. 如申請專利範圍第1、2或3項之機器可讀取媒體,其含有用於進行以下操作的指令:向一資源管理器查詢該硬體資源的狀態;以及自該資源管理器接收一狀態回應。
  5. 如申請專利範圍第4項之機器可讀取媒體,其中,指派該硬體資源之操作包括:若該狀態回應指出該硬體資源並未被指派給該請求者,則讓該請求進入佇列。
  6. 如申請專利範圍第1、2或3項之機器可讀取媒體,其中,指派該硬體資源之操作包括:若該硬體資源被指派給該請求者,則創建一種硬體管線。
  7. 如申請專利範圍第1、2或3項之機器可讀取媒體,其中,該硬體資源為一視頻播放引擎。
  8. 如申請專利範圍第1、2或3項之機器可讀取媒體,其包含用於進行以下操作的指令:若判定出有資源衝突,則指示一當前資源持有者釋出該硬體資源。
  9. 如申請專利範圍第8項之機器可讀取媒體,其包含用於進行以下操作的指令:接收指出該當前資源持有者已釋出該硬體資源的一通知。
  10. 如申請專利範圍第1、2或3項之機器可讀取媒體,其中,該請求者為一媒體播放器。
  11. 如申請專利範圍第10項之機器可讀取媒體,其中,該媒體播放器之該至少一個優先順序屬性係選自於由下列項目所組成的一群組:該媒體播放器為一前景視窗、該媒體播放器為一背景視窗、該媒體播放器是在一被最小化視窗中、該媒體播放器是在一被最大化視窗中、該媒體播放器是可見的、該媒體播放器是最新的媒體播放器、以及該媒體播放器是隱藏的。
  12. 如申請專利範圍第1、2或3項之機器可讀取媒體,其中,該請求者為一網頁瀏覽器。
  13. 如申請專利範圍第12項之機器可讀取媒體,其中,該網頁瀏覽器之該至少一個優先順序屬性係選自於由下列項目所組成的一群組:該網頁瀏覽器為一前景視窗、該網頁瀏覽器為一背景視窗、該網頁瀏覽器是在一被最小化視窗中、該網頁瀏覽器是在一被最大化視窗中、該網頁瀏覽器是可見的、該網頁瀏覽器是最新的網頁瀏覽器、以及該網頁瀏覽器是隱藏的。
  14. 如申請專利範圍第1、2或3項之機器可讀取媒體,其中,該硬體引擎為與HTML5相容的一轉列引擎。
  15. 一種分配視頻播放資源的方法,其包含以下步驟:在一數位計算機系統中,接收來自具有至少一個優先順序屬性的一請求者的對於用於加速視頻播放的一硬體資源的一請求;基於被請求的該硬體資源之狀態,判定對於被請求的該硬體資源而言是否有資源衝突;以及 若判定出有資源衝突,則基於該至少一個優先順序屬性和列出不同優先順序屬性所對應之優先順序的一屬性優先順序清單而指派該硬體資源來加速視頻播放,其中,該請求者之該至少一個優先順序屬性可在視頻播放之期間內動態地改變為列於該屬性優先順序清單中的其他優先順序屬性。
  16. 如申請專利範圍第15項之方法,其中,指派該硬體資源之步驟包括:若硬體資源被指派給該請求者,則創建一種硬體管線。
  17. 如申請專利範圍第15項之方法,其包含以下步驟:向一資源管理器查詢該硬體資源的狀態;以及自該資源管理器接收一狀態回應。
  18. 如申請專利範圍第17項之方法,其中,指派該硬體資源之步驟包括:若該狀態回應指出該硬體資源並未被指派給該請求者,則讓該請求進入佇列。
  19. 如申請專利範圍第15、16或17項之方法,其中,該硬體資源為一視頻播放引擎。
  20. 如申請專利範圍第15、16或17項之方法,其包含以下步驟:維持含有該請求者及至少一個其他請求者的優先順序屬性的一資料庫。
  21. 如申請專利範圍第20項之方法,其包含以下步驟: 因應該請求者及該至少一個其他請求者中之至少一者的至少一個優先順序屬性之改變而重新分配該硬體資源。
  22. 如申請專利範圍第15項之方法,其包含以下步驟:若判定出有資源衝突,則指示一當前資源持有者釋出該硬體資源。
  23. 如申請專利範圍第22項之方法,其包含以下步驟:接收指出該當前資源持有者已釋出該硬體資源的一通知。
  24. 如申請專利範圍第15、16或17項之方法,其中,該請求者為一媒體播放器。
  25. 如申請專利範圍第24項之方法,其中,該媒體播放器的該至少一個優先順序屬性係選自於由下列項目所組成的一群組:該媒體播放器為一前景視窗、該媒體播放器為一背景視窗、該媒體播放器是在一被最小化視窗中、該媒體播放器是在一被最大化視窗中、該媒體播放器是可見的、該媒體播放器是最新的媒體播放器、以及該媒體播放器是隱藏的。
  26. 如申請專利範圍第15、16或17項之方法,其中,該請求者為一網頁瀏覽器。
  27. 如申請專利範圍第26項之方法,其中,該網頁瀏覽器的該至少一個優先順序屬性係選自於由下列項目所組成的一群組:該網頁瀏覽器為一前景視窗、該網頁瀏覽器為一背景視窗、該網頁瀏覽器是在一被最小化視窗中、 該網頁瀏覽器是在一被最大化視窗中、該網頁瀏覽器是可見的、該網頁瀏覽器是最新的網頁瀏覽器、以及該網頁瀏覽器是隱藏的。
  28. 如申請專利範圍第15、16或17項之方法,其中,該硬體引擎為與HTML5相容的一轉列引擎。
  29. 一種策略察知視頻播放系統,其包含:一硬體引擎,其支援對至少一個視頻通道的播放;以及一頁面管理單元,其被組配成可分配要在該視頻播放系統上執行的多個媒體播放器中之各者對該硬體引擎的使用,並被組配成可利用該硬體引擎來在一顯示幕上呈現至少一個視頻,此分配行為係以包括該等媒體播放器之屬性及對應於該等屬性之優先順序的一屬性優先順序清單為基礎,其中,該等媒體播放器之該等屬性可在視頻播放之期間內動態地改變為被包括在該屬性優先順序清單中的其他屬性。
  30. 如申請專利範圍第29項之系統,其中,該硬體引擎包括一解碼管線也包括一轉列模組,該解碼管線和該轉列模組相互連結以使資料能夠從該解碼管線直接傳輸至該轉列模組。
  31. 如申請專利範圍第29或30項之系統,其包含:一資料庫,其含有該等媒體播放器中之各者的該屬性。
  32. 如申請專利範圍第29或30項之系統,其中,該等媒體播放器之屬性係選自於由下列項目所組成的一群組:該媒體播放器為一前景視窗、該媒體播放器為一背景視窗、該媒體播放器是在一被最小化視窗中、該媒體播放器是在一被最大化視窗中、該媒體播放器是可見的、該媒體播放器是最新的媒體播放器、以及該媒體播放器是隱藏的。
  33. 如申請專利範圍第29項之系統,其中:該頁面管理單元進一步被組配成可因應該等媒體播放器中之至少一者之該屬性之改變而重分配對該硬體引擎的使用。
  34. 如申請專利範圍第33項之系統,其中,將資料從該解碼管線傳輸至該轉列模組並不需要複製記憶體。
  35. 如申請專利範圍第29、30、33或34項之系統,其中,該至少一個視頻與HTML5相容。
  36. 如申請專利範圍第29、30、33或34項之系統,其中,該硬體引擎為與HTML5相容的一轉列引擎。
  37. 如申請專利範圍第29、30、33或34項之系統,其中,該硬體引擎為一視頻播放引擎。
  38. 如申請專利範圍第29、30、33或34項之系統,其中,該等媒體播放器各係內嵌在一網頁瀏覽器中。
TW101149327A 2011-12-29 2012-12-22 用於硬體加速視頻系統中策略察知之裝置及方法 TWI590085B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2011/084929 WO2013097150A1 (en) 2011-12-29 2011-12-29 Apparatuses and methods for policy awareness in hardware accelerated video systems

Publications (2)

Publication Number Publication Date
TW201342096A TW201342096A (zh) 2013-10-16
TWI590085B true TWI590085B (zh) 2017-07-01

Family

ID=48696228

Family Applications (1)

Application Number Title Priority Date Filing Date
TW101149327A TWI590085B (zh) 2011-12-29 2012-12-22 用於硬體加速視頻系統中策略察知之裝置及方法

Country Status (4)

Country Link
US (1) US20140333633A1 (zh)
EP (1) EP2798532A4 (zh)
TW (1) TWI590085B (zh)
WO (1) WO2013097150A1 (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9171348B2 (en) * 2012-01-23 2015-10-27 Google Inc. Rendering content on computing systems
US8966370B2 (en) * 2012-08-31 2015-02-24 Google Inc. Dynamic adjustment of video quality
US9367211B1 (en) * 2012-11-08 2016-06-14 Amazon Technologies, Inc. Interface tab generation
US20140300611A1 (en) * 2013-03-15 2014-10-09 Trigger Happy, Ltd. Web and native code environment modular player and modular rendering system
US10368136B1 (en) * 2015-12-17 2019-07-30 Amazon Technologies, Inc. Resource management for video playback and chat
KR20180057036A (ko) 2016-11-21 2018-05-30 삼성전자주식회사 효율적인 리소스 관리를 위한 전자 장치 및 이의 방법
US11523151B2 (en) * 2018-05-03 2022-12-06 Arris Enterprises Llc Rendering stream controller
CN110087144A (zh) * 2019-05-15 2019-08-02 深圳市商汤科技有限公司 视频文件处理方法、装置、电子设备和计算机存储介质
CN111258738A (zh) * 2020-01-20 2020-06-09 深圳市商汤科技有限公司 视图信息处理方法及装置、电子设备和存储介质
US11431787B1 (en) * 2021-09-20 2022-08-30 Dell Products L.P. Managing cloud native workloads at an information handling system
TWI795181B (zh) * 2022-01-20 2023-03-01 網路家庭國際資訊股份有限公司 增加網頁流暢度的方法和網頁伺服器
CN114827751B (zh) * 2022-03-28 2023-01-17 慧之安信息技术股份有限公司 基于wasm的web端无插件监控录像播放方法
CN115037968B (zh) * 2022-06-17 2024-05-28 浙江大华技术股份有限公司 视频的播放方法、装置、存储介质及电子装置
CN115243092B (zh) * 2022-07-01 2024-02-23 网易(杭州)网络有限公司 视频播放方法、装置及存储介质
CN115460469B (zh) * 2022-08-24 2024-06-11 网易(杭州)网络有限公司 多视频播放的处理方法、装置、计算机设备及存储介质
CN116112580B (zh) * 2022-11-23 2024-04-26 国网智能电网研究院有限公司 一种电力低延时业务的硬件流水线gtp数据分流方法及装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6412031B1 (en) * 1998-02-10 2002-06-25 Gateway, Inc. Simultaneous control of live video device access by multiple applications via software locks and in accordance with window visibility of applications in a multiwindow environment
US7417637B1 (en) * 2004-09-01 2008-08-26 Nvidia Corporation Fairly arbitrating between clients
KR100782646B1 (ko) * 2006-02-13 2007-12-06 엘지전자 주식회사 미디어 플레이어의 리소스 설정방법
CN101390395B (zh) * 2006-02-24 2010-12-15 皇家飞利浦电子股份有限公司 用于在同伴网络中共享资源的设备
US20070283261A1 (en) * 2006-06-06 2007-12-06 Christopher Harrison Gesture-Based Transient Prioritization Processes Scheduling
CN101600011B (zh) * 2008-06-03 2013-06-05 中兴通讯股份有限公司 移动终端多媒体的并发播放方法和装置
EP2224351A1 (en) * 2009-02-26 2010-09-01 Telefonaktiebolaget L M Ericsson (publ) method for use in association with a multi-tab interpretation and rendering function
US9043800B2 (en) * 2011-05-26 2015-05-26 Adobe Systems Incorporated Video player instance prioritization
CN102289389A (zh) * 2011-05-26 2011-12-21 中兴通讯股份有限公司 跨平台的多媒体应用方法及装置

Also Published As

Publication number Publication date
US20140333633A1 (en) 2014-11-13
EP2798532A4 (en) 2015-07-29
TW201342096A (zh) 2013-10-16
EP2798532A1 (en) 2014-11-05
WO2013097150A1 (en) 2013-07-04

Similar Documents

Publication Publication Date Title
TWI590085B (zh) 用於硬體加速視頻系統中策略察知之裝置及方法
US10872064B2 (en) Utilizing version vectors across server and client changes to determine device usage by type, app, and time of day
US9047321B2 (en) Prioritizing downloading of image files
US20140289196A1 (en) Prioritizing synchronization of audio files to an in-vehicle computing device
EP3039564B1 (en) Method for sharing media data and electronic device thereof
EP2984564B1 (en) Display object pre-generation
US8843616B2 (en) Personal cloud computing with session migration
EP2160685B1 (en) Digital data management using shared memory pool
US20150067150A1 (en) Systems and methods for proactive media data sharing
JP7454680B2 (ja) 素材表示方法、装置、電子機器、および記憶媒体
JP2018110387A (ja) リアルタイムライブ環境でのバッファに基づく帯域幅測定および適応的データ送信のための方法およびシステム
US11606309B2 (en) Multimedia content steering
WO2016191053A1 (en) Predictive peer determination for peer-to-peer digital content download
US9805446B2 (en) Method of changing algorithm and electronic device therefor
US10367879B2 (en) Download prioritization
US20140032787A1 (en) Methods, apparatuses and computer program products for enhancing performance and controlling quality of service of devices by using application awareness
US20240365175A1 (en) Metaverse services with network slicing
US20110161971A1 (en) Method and Data Processing Device for Processing Requests
US20200218209A1 (en) Content output apparatus and content output method
Qi Optimization of adaptive media player algorithm for smart TV terminal
CN113238828A (zh) 一种内容显示方法、装置、设备及存储介质
KR20130126312A (ko) 사용자 반응성을 향상시키기 위한 전자 장치 및 방법

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees