TWI571106B - 視訊延時減小 - Google Patents
視訊延時減小 Download PDFInfo
- Publication number
- TWI571106B TWI571106B TW103136466A TW103136466A TWI571106B TW I571106 B TWI571106 B TW I571106B TW 103136466 A TW103136466 A TW 103136466A TW 103136466 A TW103136466 A TW 103136466A TW I571106 B TWI571106 B TW I571106B
- Authority
- TW
- Taiwan
- Prior art keywords
- image
- video frame
- pixels
- video
- active
- Prior art date
Links
- 230000009467 reduction Effects 0.000 title claims description 6
- 238000000034 method Methods 0.000 claims description 78
- 238000012545 processing Methods 0.000 claims description 46
- 238000004891 communication Methods 0.000 claims description 24
- 230000005540 biological transmission Effects 0.000 claims description 17
- 238000007906 compression Methods 0.000 claims description 13
- 230000006835 compression Effects 0.000 claims description 12
- 230000000694 effects Effects 0.000 claims description 6
- 238000003780 insertion Methods 0.000 claims description 2
- 230000037431 insertion Effects 0.000 claims description 2
- 238000012546 transfer Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 238000009877 rendering Methods 0.000 description 9
- 230000002093 peripheral effect Effects 0.000 description 8
- 230000008901 benefit Effects 0.000 description 6
- 230000007704 transition Effects 0.000 description 6
- 238000013461 design Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000001360 synchronised effect Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- GJWAPAVRQYYSTK-UHFFFAOYSA-N [(dimethyl-$l^{3}-silanyl)amino]-dimethylsilicon Chemical compound C[Si](C)N[Si](C)C GJWAPAVRQYYSTK-UHFFFAOYSA-N 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 241000238876 Acari Species 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/04—Synchronising
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/32—Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
- H04N1/327—Initiating, continuing or ending a single-mode communication; Handshaking therefor
- H04N1/32765—Initiating a communication
- H04N1/32771—Initiating a communication in response to a request, e.g. for a particular document
- H04N1/32773—Initiating a communication in response to a request, e.g. for a particular document to capture an image, e.g. at a location or event remote from the requester
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/139—Format conversion, e.g. of frame-rate or size
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/194—Transmission of image signals
-
- 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/436—Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
- H04N21/4363—Adapting the video stream to a specific local network, e.g. a Bluetooth® network
- H04N21/43632—Adapting the video stream to a specific local network, e.g. a Bluetooth® network involving a wired protocol, e.g. IEEE 1394
- H04N21/43635—HDMI
-
- 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/81—Monomedia components thereof
- H04N21/816—Monomedia components thereof involving special video data, e.g 3D video
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/64—Computer-aided capture of images, e.g. transfer from script file into camera, check of taken image quality, advice or proposal for image composition or decision on when to take image
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/04—Synchronising
- H04N5/05—Synchronising circuits with arrangements for extending range of synchronisation, e.g. by using switching between several time constants
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/04—Synchronising
- H04N5/06—Generation of synchronising signals
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2340/00—Aspects of display data processing
- G09G2340/02—Handling of images in compressed format, e.g. JPEG, MPEG
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2370/00—Aspects of data communication
- G09G2370/02—Networking aspects
- G09G2370/022—Centralised management of display operation, e.g. in a server instead of locally
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Controls And Circuits For Display Device (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Television Systems (AREA)
Description
本揭示內容之各個態樣涉及視訊捕捉。特定言之,本揭示內容之各個態樣涉及用於減小捕捉視訊幀之延時的系統及方法。
隨著電信系統之頻寬及資料傳送速率的持續發展,如今之許多計算需求正朝基於網路之分散式運算系統(統稱為「雲端計算(cloud computing)」)轉變。一般言之,雲端計算涉及離線下載某些計算任務給一或多個遠端計算資源及使用遠端計算資源來給本端裝置提供服務。雲端計算通常被實施為用戶端-伺服器模型,其中遠端伺服器給本端用戶端裝置提供所需計算能力,從而避免本端用戶端裝置需要自身執行某些計算任務。在許多實例中,可將計算資源完整或幾乎完整地離線下載到伺服器,使得用戶端提供較少或僅提供使用者界面用於雲端計算任務,從而允許任何聯網裝置潛在地用作特定應用的用戶端。
雲端計算已採用於多種計算服務中,包括遠端資料儲存方案、音樂及視訊串流程服務以及多種其他消費者及商業方案。一般言之,雲端計算提供多種眾所周知的好處,包括藉由使用共用資源增加效率、增加存取內容的靈活性而不限於特定裝置、降低硬體升級可用時的預付成本及其他優點。
其中雲端計算尚未達到廣泛採用的一個領域是逐漸流行的視訊遊戲領域。包括個人電腦(PC)遊戲、家用單機遊戲、手持單機遊戲等等的視訊遊戲仍然是消費者中流行的娛樂來源。隨著可用視訊遊戲名稱集合之逐漸增加,雲端遊戲給許多視訊遊戲需求提供特別吸引人的方案。理想狀況是,在雲端遊戲框架內,使用者將能夠從遠端儲存之名稱的巨大集合中即刻存取任何視訊遊戲名稱,且無需物理拷貝遊戲、無需等待下載名稱且無需局部處理運行遊戲所需硬體系統或資源。然後可在「雲端(cloud)」中遠端執行圖形之呈現、回應於使用者輸入進行的改變遊戲狀態及其他遊戲計算並將其發送到使用者的本端裝置。不幸的是,實施傳統雲端計算伺服器設計內的此種類型的服務面臨多個技術挑戰:迄今為止許多視訊遊戲平臺阻止廣泛採用雲端遊戲。
一個挑戰是:如今許多視訊遊戲的節奏極快且動作緊密,使得高級圖形需要呈現大量的計算資源。尤其是在基於視訊串流之伺服器設計(其中遠端執行全部遊戲計算及圖形呈現計算)中,遊戲需要能夠執行全部此等
任務且回應於控制輸入將壓縮音訊/視訊串流傳遞到用戶端裝置,使得可感知的延時最小甚至沒有可感知的延時。否則,此可能中斷玩家的時間且無法重複傳統局部執行之遊戲會話的回應。
另一挑戰源於以下事實:傳統上言之,(一方面)PC遊戲(經設計以在個人電腦、膝上型電腦及通用本質的其他計算系統上運行)與(另一方面)單機遊戲(經設計以在稱作視訊遊戲機的專用系統上運行)之間存在不同。視訊遊戲機通常被設計為具有專門調整來用於視訊遊戲環境之獨有計算架構的嵌入式平臺。使用專用控制台硬體作為視訊遊戲平臺提供多種好處,尤其是呈優化硬體以滿足生產如今許多視訊遊戲所需圖形呈現及遊戲計算的大量計算資源需求的形式。因此,雖然PC遊戲已實現一定的流行性,但是單機遊戲在傳統上仍然佔據視訊遊戲市場且可能在未來繼續佔據視訊遊戲市場。
然而,使視訊遊戲機及其他嵌入式平臺適應雲端串流服務面臨多個挑戰。專用平臺之硬體或軟體架構的大量修改可能面臨與被設計用於專用平臺之應用的相容問題。因此,所需應用可能需要直接在伺服器端處的單獨「終端機系統(terminal system)」上的可相容架構上運行以執行應用來經由網路進行串流。終端機系統可為遊戲機架構或經設計以運行專用應用的其他現有的嵌入式平臺。
為了經由網路串流應用,從在終端機系統上
運行的應用捕捉視訊幀以在傳輸之前壓縮輸出視訊信號需要多種技術。習知視訊捕捉卡能夠捕捉經由視訊界面鏈路(諸如HDMI、DVI、VGA等等)傳送的視訊幀,使得其可被壓縮且被發送到位於遠處的顯示器。然而,將各幀傳送到捕捉裝置消耗之時間的延遲導致應用內容產生幀之時間與在用戶端處之顯示器上展示各幀的時間之間產生延時。可感知的延時可能是由於視訊捕捉延遲、壓縮延遲、網路延遲及其他起因的組合所引起的。在雲端遊戲及其他雲端計算環境中,最小化延時是一項重要的任務,且在用戶端處為使用者提供回應體驗時計數每一毫秒。
本揭示內容是在此種背景下產生的。
本揭示內容之實施方式可包括一種用於具有第一顯示解析度之複數個可見圖像像素之第一視訊幀圖像的方法。該方法可包括將第一視訊幀圖像插入到具有大於第一顯示解析度之第二顯示解析度的源視訊幀中。插入第一視訊幀圖像可包括將複數個可見圖像像素及複數個額外像素插入到源視訊幀的活動顯示區域中。
在一些實施方式中,該方法進一步可包括:藉由將複數個同步信號添加到源視訊幀形成輸出視訊幀;將輸出視訊幀傳送到視訊捕捉裝置;用視訊捕捉裝置捕捉輸出視訊幀中的可見圖像像素,同時忽略來自該捕捉的額外像素;及在捕捉可見圖像像素之後且在傳送輸出視訊幀
的整個活動顯示區域之前壓縮第一視訊幀圖像。
在一些實施方式中,源視訊幀可呈活動顯示區域中具有兩個圖像區域的立體3D格式,兩個圖像區域對應於左側圖像區域及右側圖像區域。插入第一視訊幀圖像可包括將複數個可見圖像像素插入到兩個圖像區域之一中且用額外像素填充兩個圖像區域中的另一個。
在一些實施方式中,第一視訊幀圖像可具有複數個可見圖像行,其中每個該可見圖像行具有複數個可見圖像像素。源視訊幀可呈活動顯示區域界定單色圖像區域的單色格式。單色圖像區域可具有複數個活動行,每個該活動行具有複數個活動像素。單色圖像區域中之活動行的數量可大於第一視訊幀圖像中之可見圖像行的數量,且每個該活動行中之活動像素之數量可大於每個該可見圖像行中之可見圖像像素的數量。插入第一視訊幀可包括將每個該可見圖像行插入到該活動行中之各自活動行中且用額外像素填充各個活動行的剩餘部分。在其他實施方式中,插入第一視訊幀可包括用可見圖像像素填充活動行之至少一些,使得活動行之至少一些各包括來自一個以上可見圖像行的可見圖像像素。
本揭示內容之其他實施方式可包括一種用於具有複數個可見圖像行之第一視訊幀圖像的方法,每個該可見圖像行具有複數個可見圖像像素。該方法可包括形成輸出視訊幀,輸出視訊幀具有第一視訊幀圖像及同步區域,其中同步區域在每個該可見圖像行之間具有指示每個
該可見圖像行之間之轉變的複數個同步信號,且同步區域在指示幀之終點的複數個可見圖像行中的最後一個之後具有複數個同步行。形成輸出視訊幀包括將額外像素之複數個虛設行添加到同步行之後的同步區域。
本揭示內容之其他實施方式可包括一種系統,其具有第一處理單元及操作地連接到第一處理單元的第一記憶體單元。該系統可經組態以執行一種用於具有第一顯示解析度之複數個可見圖像像素之第一視訊幀圖像的方法。該方法可包括將第一視訊幀圖像插入到具有大於第一顯示解析度之第二顯示解析度的源視訊幀中。插入第一視訊幀圖像可包括將複數個可見圖像像素及複數個額外像素插入到源視訊幀之活動顯示區域中。
本揭示內容之其他實施方式可包括一種系統,其具有第一處理單元及操作地連接到第一處理單元的第一記憶體單元。該系統可經組態以執行一種用於具有複數個可見圖像行之第一視訊幀圖像的方法,每個該可見圖像行具有複數個可見圖像像素。該方法可包括形成輸出視訊幀,輸出視訊幀具有第一視訊幀圖像及同步區域。同步區域可在每個該可見圖像行之間具有指示每個該可見圖像行之間之轉變的複數個同步信號,且同步區域可在指示幀之終點的複數個可見圖像行中的最後一個之後具有複數個同步行。形成輸出視訊幀包括將額外像素之複數個虛設行添加到同步行之後的同步區域。
100‧‧‧分散式運算系統
102‧‧‧串流伺服器
104‧‧‧遠端連接的用戶端裝置
106‧‧‧網路
108‧‧‧程序
110‧‧‧串流伺服器程序
200‧‧‧分散式系統
202‧‧‧串流伺服器
204‧‧‧用戶端裝置
206‧‧‧網路
208‧‧‧程序
210‧‧‧串流伺服器程序
212‧‧‧終端機系統
302‧‧‧主機系統
308‧‧‧程序
310‧‧‧串流伺服器程序
312‧‧‧終端機系統
320‧‧‧捕捉裝置
322‧‧‧儲存程序
300‧‧‧幀
301‧‧‧可見像素
303‧‧‧不可見像素
305‧‧‧HSYNC脈衝
307‧‧‧VSYNC脈衝
412‧‧‧終端機系統
408‧‧‧應用
424‧‧‧大型儲存主機控制器
426‧‧‧大型儲存主機驅動器
427‧‧‧文件系統層
431‧‧‧sync信號產生器
441‧‧‧像素時脈產生器
449‧‧‧圖形記憶體
450‧‧‧圖形處理單元(GPU)
451‧‧‧幀緩衝器
452‧‧‧圖形驅動器
453‧‧‧掃描輸出單元
454‧‧‧圖形程序庫
456‧‧‧A/V傳輸器
402‧‧‧主機系統
414‧‧‧大型儲存埠
420‧‧‧界面裝置
429‧‧‧捕捉裝置驅動器
428‧‧‧專用邏輯單元
430‧‧‧A/V接收器
432‧‧‧儲存程序
434‧‧‧A/V程序
436‧‧‧網路界面卡
438‧‧‧網路磁碟
439‧‧‧網路程序庫
440‧‧‧系統記憶體
442‧‧‧記憶體驅動器
444‧‧‧文件系統程序庫
446‧‧‧串流伺服器程序
520‧‧‧界面裝置
530‧‧‧A/V接收器
560‧‧‧專用處理單元
562‧‧‧主機硬體界面
564‧‧‧主機界面塊
565‧‧‧中斷輸入
567‧‧‧直接記憶體存取(DMA)引擎
568‧‧‧大型儲存裝置通信界面
569‧‧‧SATA埠
570‧‧‧大型儲存裝置控制器
572‧‧‧晶片上互連件
574‧‧‧記憶體單元
576‧‧‧記憶體控制器
578‧‧‧A/V捕捉邏輯單元
580‧‧‧A/V硬體界面
582‧‧‧GPIO控制器
600‧‧‧幀
601‧‧‧可見像素
605‧‧‧水平同步信號
607‧‧‧垂直同步信號
611‧‧‧額外像素
700a‧‧‧幀
700b‧‧‧幀
701‧‧‧可見像素
713‧‧‧額外像素
800‧‧‧幀
801‧‧‧可見像素(左側圖像)
815‧‧‧未使用像素(右側圖像)
900a‧‧‧使用具有額外像素之擴大幀來捕捉輸出視訊信號的方法
900b‧‧‧涉及將額外像素添加到幀之活動區的捕捉、壓縮及傳輸視訊幀的方法
藉由結合附圖考慮下列詳述可輕易理解本揭示內容之教示,其中:圖1係經由網路進行之示例性串流技術的示意圖。
圖2係經由網路進行之另一示例性串流技術的示意圖。
圖3A係具有用於從視訊源捕捉視訊資料並壓縮視訊資料之捕捉卡之示例性串流系統的示意圖。
圖3B係示例性視訊輸出幀的示意說明。
圖4A係用作視訊源之示例性終端機系統架構的示意圖。
圖4B係示例性主機系統及可從視訊源捕捉視訊幀並壓縮視訊幀的捕捉卡架構。
圖5係具有專用處理單元之示例性視訊捕捉卡設計的示意圖。
圖6係具有額外像素之示例性擴大視訊幀的示意說明。
圖7A至圖7B係具有額外像素之擴大視訊幀之額外實例的示意說明。
圖8係具有額外像素之擴大視訊幀之又另一實例的示意說明。
圖9A至圖9B係捕捉擴大視訊輸出幀之示例性方法的流程圖。
雖然下列詳述為說明目的而包括許多具體細節,但是此項技術者將明白下列細節之許多變動及更改是在本發明的範圍內。因此,提出下文描述之本發明的示例性實施方案且本發明無任何一般性之損失且不強加限制本發明。
本揭示內容之各個態樣涉及用於藉由將額外像素添加到串流之各者視訊幀來減小視訊傳送延遲的技術。一般言之,視訊幀將由可見像素及不可見像素兩者組成,其中可見像素界定用於顯示之幀的圖像,而不可見像素則可用於(例如)同步。本揭示內容之實施方式可將額外像素添加到視訊幀使得可經由視訊界面更加快速地傳送每個幀內的可見像素。特定言之,將額外像素添加到幀可能造成視訊傳送硬體增加基於每個幀內之像素總數的像素時脈速率。由於傳送每個幀中的可見像素所需時間的對應降低,可減小由於視訊捕捉程序之延遲而產生的延時。
為了更好地說明本揭示內容之各個態樣,圖1中描繪分散式運算系統100的第一說明實例。圖1中描繪的分散式系統100涉及經由網路106(諸如互聯網)連接
的複數個計算裝置102、104。
在示例性分散式系統中,串流伺服器102執行程序108以經由網路106將程序輸出之即時資料流提供給遠端連接的用戶端裝置104。在圖1之已說明示意圖中,程序104可為視訊遊戲程序,其根據程序108之執行處理接收自用戶端裝置104的控制輸入且將壓縮音訊及視訊串流發送到用戶端裝置104。位於用戶端處之使用者可經由用戶端裝置104之使用者界面(例如,經由在連接到用戶端裝置104的顯示器及/或揚聲器處提供控制輸入及接收音訊及視訊遊戲輸出)與程序交互。在圖1之實例中,用於處理輸入、呈現視訊遊戲圖形等等的計算負載可被完全離線下載到串流伺服器102以供遠端執行。
為了使用圖1中描繪之系統100實施雲端遊戲,串流伺服器102可經組態以不但執行遊戲程序108,而且串流伺服器102進一步可實施具體實施在伺服器102中的「串流伺服器程序(streaming server process)」110,其可執行各種功能以協調用於在用戶端裝置104與串流伺服器102之間經由網路106通信的程序輸入/輸出。例如,串流伺服器程序110可具體實施於在與遊戲軟體108協作之串流伺服器102上運行的一或多個程序中。遊戲108連同串流伺服器程序110的遠端執行可被執行使得用戶端裝置104處的輸入與輸出之間的延時最小或沒有延時,使得用戶端處之使用者感知到正在局部執行程序108。此外,可存取遠端儲存之程序的廣泛集合以供執
行。例如,在雲端遊戲應用中,使用者將有可能能夠選擇被設計用於相關視訊遊戲平臺的任何遊戲,且遠端伺服器將能夠根據接收自使用者之輸入來載入遊戲、執行遊戲並將其輸出串流到用戶端裝置且使得所接收的輸入及音訊/視訊輸出之間感知不到延時。
在圖1中描繪之實例中,此可藉由在相同計算裝置(例如,串流伺服器102)處執行串流伺服器程序110及遊戲代碼108兩者來完成。串流伺服器可使用在串流伺服器架構內實施之各種元件來處理應用的視訊內容以經由網路進行捕捉、壓縮及傳輸。對於雲端遊戲及其他雲端計算實施方式,若用戶端104之在伺服器102處執行的軟體應用108經設計以運行個人電腦(PC)架構或類似於串流線伺服器102之其他電腦架構,則此可輕易實施。例如且無限制,對於PC雲端遊戲實施方式,可容易使用的基於x86之伺服器不但可用來實施串流伺服器程序110,而且一旦PC遊戲程序108被伺服器102存取,便立即執行PC遊戲程序108。
然而,圖1中描繪之示例性技術100無法適用於其中程序108經設計以在嵌入式平臺及其他專用架構上執行的某些應用。例如,若所需程序係被設計用於專用主控台平臺之視訊遊戲,則遊戲軟體在沒有某種類型之模擬器的情況下可能無法在伺服器架構上運行。不幸的是,模擬器通常難以開發且其開發比較昂貴,且合適之模擬器可能不可用。此外,在許多情況下,為期望雲端服務之每
個獨有架構建立專用伺服器將是不切實際的,且嵌入式平臺可能沒有具有足夠多之免費計算資源(例如,CPU、記憶體)來用於支援視訊壓縮及其他伺服器程序。同樣地,使用具有不同於現有平臺之性能特性的額外資源可能存在相容問題。
為了解決此等挑戰,可希望在伺服器端處使用額外計算裝置來執行程序,因而額外計算裝置執行所需程序,同時連接到此額外計算裝置之串流伺服器執行其常見功能以與用戶端裝置交互。圖2中描繪使用此種技術之分散式系統200的說明實例,其中「終端機系統(terminal system)」212連接到串流伺服器202且終端機系統執行所需應用208。若終端機系統無法以其他方式具有足夠多之免費資源用於此等功能,則串流伺服器可提供資源用於網路儲存及視訊壓縮。
在某些實施方式中,終端機系統212可為嵌入式系統或具有專用架構之其他計算系統,諸如視訊遊戲機,同時串流伺服器202可基於任何計算架構,諸如x86指令集架構,其被調整來提供串流服務且不一定需要具有與終端機系統212相同的架構。串流伺服器202可經組態以執行串流伺服器程序202且給終端機系統程序208提供常見之雲端服務,且伺服器端處之計算裝置(例如,串流伺服器202及終端機系統212)可共同地操作來給用戶端裝置204提供視訊遊戲串流服務。
圖2中描繪之簡易示意圖中之組態可提供實
用又靈活的伺服器方案,其可被輕易調整來用於被設計用於多種不同計算架構之多種不同軟體平臺。例如,潛在地任何串流伺服器202可被調整來藉由局部連接運行軟體之終端機系統來串流被設計用於多種不同計算架構的軟體應用。
然而,在伺服器端處之終端機系統212上執行所需軟體在雲端計算框架內可能面臨某些挑戰,且新的技術可能有用於從終端機系統212捕捉視訊輸出並壓縮該視訊輸出。習知視訊捕捉卡可用來經由終端機系統之視訊I/O界面(諸如HDMI鏈路)捕捉應用之視訊內容,但是當使用習知技術時捕捉經由界面發送之視訊資料的程序可能會增加明顯之延時。
圖3A中描繪使用視訊捕捉裝置320之視訊捕捉技術的說明實例。在圖3A之示例性捕捉技術中,可使用連接到串流伺服器302之捕捉裝置320來捕捉視訊資料及視情況輸出自在終端機系統312上運行的應用308之音訊資料。捕捉卡320可經由與終端機系統312連接之視訊界面接收視訊串流,且可連同由串流伺服器310實施之串流伺服器程序310一起來壓縮視訊資料且例如如圖2中說明般經由網路串流該視訊資料。例如且無限制,捕捉裝置320可被實施為擴展卡,諸如快速PCI附加卡,其可經由擴展界面連接到串流伺服器302。
根據本揭示內容之各個態樣,圖3A中描繪之示例性視訊捕捉系統可被優化來藉由將額外像素添加到每
個視訊幀減小捕捉程序的延時,使得每個幀內之可見圖像以較小的延遲到達視訊捕捉裝置320。
在一些實施方式中,捕捉卡320進一步可給終端機系統312提供儲存虛擬化功能以給涉及終端機系統312之雲端計算應用提供集成方法。由Roelof Roderick Colenbrander在與本申請案同一天提交的名為「雲端計算之大型儲存虛擬化(MASS STORAGE VIRTUALIZATION FOR CLOUD COMPUTING)」之共同指派待決美國申請案第___號(代理人案號第SCEA13031US00號)中描述可由捕捉卡320及串流伺服器302實施之儲存虛擬化技術的其他細節,該申請案之全部內容是以引用的方式引入本文。
為了更好地明白本揭示內容之各個態樣,首先討論如何經由諸如HDMI、DVI、VGA、DisplayPort等等之視訊界面從視訊源傳送視訊幀是有益的。轉向圖3B,描繪視訊輸出幀300之說明實例。示例性輸出幀300可為共同構成視訊串流之類似格式幀的序列中之一個幀。視訊幀序列可輸出自某個視訊內容源,諸如視訊遊戲應用、視訊文件、直播串流等等。
如圖3B中說明,輸出幀300可由像素陣列構成,像素陣列可由像素資料值之對應陣列表示。如下文描述,輸出幀300進一步可用像素資料值以外的額外信號來傳輸。
取決於所使用之特定彩色模型,陣列之各個
像素資料值可包括複數個彩色空間成分。例如,若使用YCrCb(數位視訊)或YPbPr(類比視訊),則陣列之各個像素資料值可包括對應像素之兩個色度(顏色)值及亮度(強度)值。替代地,RGB彩色空間或彩色空間成分之某個其他集合可用於每個像素的像素資料。此外,可由複數個位元以數位形式表示每個像素之每個彩色空間成分的像素資料值。例如,24位元色彩深度可使每個像素之每個彩色空間成分使用8位元。術語「像素(pixel)」在指代對應於像素時脈之一次跳動之輸出幀的該部分時有時候在本文用作速記。
除了像素資料值以外,輸出幀進一步可包括除了像素資料值以外之外部信號。外部信號可包括具有指示像素是否可見之資訊的信號,例如指示是否將顯示像素且因此是否具有包括在該像素之像素資料值中之可見像素的資料啟用信號。如圖3B之示例性輸出幀300中可見,陣列中之全部數量之像素包括可見像素301(圖示中說明為格子)及不可見像素303(圖示中說明為消隱填充區域)兩者。在圖3B之示例性幀中,可見像素301構成輸出幀之活動圖像區域(其可由高的資料啟用值指示),且不可見像素303構成輸出幀之同步區域(其可由低的資料值指示)。活動圖像區域中之可見像素301可共同構成將要顯示之幀的可見圖像。應注意,在圖3B之示例性輸出幀300中,視訊幀圖像之可見像素與所述幀之格式的活動區域重合。
大部分裝置(例如,主控台、PC、電話及其他視訊源)通常以每個彩色成分至少8位元/1位元向以RGB像素組織之「幀緩衝器(frame buffer)」呈現視訊幀。由視訊傳輸器(其可為呈現視訊幀之GPU的部分或其可在GPU外部)產生之視訊信號可傳輸RGB中的像素,但是其亦可在其他彩色空間模型(諸如YCrCb(數位視訊)或YPbPr(類比視訊))中傳輸RGB中之像素,以防某物(例如,傳輸器)必須從RGB轉換成其他格式。
一旦GPU完成呈現,其可立即「掃描輸出幀(scan the frame out)」,此是藉由某個串列連接(例如,HDMI、DVI等等)逐個像素地發送幀的程序。掃描輸出程序可能涉及輸出幀(例如,輸出幀300)之外部信號的產生,且掃描輸出程序可部分取決於視訊連接之類型以及「視訊傳輸器(video transmitter)」是在GPU內部還是外部。一般言之,GPU可在掃描輸出幀時產生複數個信號,包括像素資料值以外的信號。當掃描輸出幀時,信號可包括:
●像素時脈信號
●資料啟用信號
●水平同步(hsync)信號
●垂直同步(vsync)信號
●資料匯流排信號,其攜帶活動像素之彩色空間成分(例如,RGB、24位元寬,每個彩色空間成分具有8位
元)
在已呈現之幀的掃描輸出期間,GPU可從保存完整之幀圖像的緩衝器(例如,幀緩衝器)擷取像素。作為實例,即,GPU目前處於某行之第一像素處。對於給定行,在像素時脈信號之每次「跳動(tick)」時,其將會將新的像素置於資料匯流排信號上。其進一步將在資料啟用信號上輸出對應於所述像素之「高位準(high level)」。
在行之終點處,存在(持續時間HTOTAL-HDISPLAY像素或像素時脈脈衝的)水平消隱週期。在消隱週期期間,改變複數個信號。首先,可在hsync行上產生脈衝以通知轉變到下一行。「資料啟用(data enable)」。信號為低,此意指目前在資料匯流排信號上之任何資料不應被解譯為像素(「該行之終點處存在不可見像素(these are the invisible pixels at the end of the line)」)。
可逐行繼續進行此程序直到幀圖像之終點為止。在幀之終點處,在vsync行上產生脈衝。對於幀之終點處的「不可見行(invisible line)」中之任何者,資料啟用行亦為低。
一般言之,無論資料啟用信號何時為低,像素均「不可見(invisible)」,且像素資料值不包括對應於圖像之顯示區域的所需彩色空間值。因為總是存在活動像素時脈,所以資料匯流排上基本上會產生「不可見像素
(invisible pixel)」。應注意,水平及垂直同步信號儲存在像素資料外部。
經由序列界面傳輸例如構成輸出幀300之視訊信號的程序可取決於視訊技術。對於典型的VGA,所描述之信號實際上直接由監視器消耗,信號包括像素資料信號及與幀相關之外部信號。外部信號可包括直接用於VGA之時序信號。像素資料信號可為類比信號,其中每個彩色成分具有其自身之通道,例如紅色信號通道、綠色信號通道及藍色信號通道。數位至類比轉換器(DAC)可由數位資料匯流排信號(所描述之24位元,其中每個通道具有8位元)產生類比像素信號。對於如DVI、HDMI或DisplayPort之其他技術,傳輸器可接受上述信號並將其轉換成適用於所述技術之信號。在HDMI之情況下,HDMI傳輸器具有3個TMDS資料通道(TX0至TX2)及TMDS時脈,其中HDMI傳輸器嵌入全部信號(hsync信號、vsync信號、像素資料信號)且TMDS時脈以某種方式包括像素時脈信號。「接收器(sink)」內部之電纜的另一端上之HDMI接收器具有此等信號作為輸入,但是恢復hsync、vsync、資料及其他信號。對於如DVI或DisplayPort之其他視訊標準,情況亦是如此。
若視訊傳輸器在GPU內部,則掃描輸出邏輯可作用於所描述之信號,但是掃描輸出邏輯亦可直接輸出(例如)HDMI,從而省略用於此等其他信號之中間步驟。
像素資料值及與輸出幀之每個像素相關的其他信號通常逐行輸出,其中每行包括複數個像素且每個幀包括複數個行。通常,此等行水平定向,且水平行中之像素可經由視訊通信界面按次序從視訊源傳送到顯示裝置或其他視訊接收裝置(例如,從左到右串列傳送)。類似地,水平行可按次序從頂部輸出到底部直到到達幀之終點為止。因此,幀300中之全部像素(包括可見像素301及不可見像素303兩者)可具有定義之傳送序列。
在圖3B之示例性輸出幀300中,幀之每行具有總數為HTOTAL(其可定義輸出幀之總水平解析度)之像素的水平行。類似地,示例性輸出幀300具有總數為VTOTAL的行,其可定義幀之總垂直解析度。因此,總水平及垂直解析度包括可見像素及不可見像素兩者。
幀之活動顯示區域301可包括定義幀之垂直顯示解析度之複數個活動行VDISPLAY,且每個活動行可包括定義幀之水平顯示解析度的複數個活動像素HDISPLAY。活動顯示區域301可對應於由GPU呈現且如上所述般輸出到幀緩衝器之幀的圖像。
如上所述,由於幀中存在同步區域303,輸出幀300之總解析度(例如,HTOTAL×VTOTAL)可大於輸出幀之顯示解析度(例如,HDISPLAY×VDISPLAY),同步區域303可產生在幀之掃描輸出期間(例如,向幀緩衝器呈現幀的活動顯示區域之後)。具體言之,活動顯示區域對應於擷取自幀緩衝器之像素,而同
步區域則是指由於添加外部像素產生之像素(例如,如上所述掃描輸出幀)。同步區域303可包括每行之終點處對應於水平消隱區域之複數個不可見像素及每個幀之終點處對應於垂直消隱區域的複數個不可見行。一般言之,消隱區域之同步信號可被提供來同步視訊源與顯示器之間之視訊資料流傳送,其中HSYNC信號一般指示幀中之每行之間的轉變,且VSYNC信號一般指示構成視訊串流之幀序列之各者幀之間之轉變。雖然hsync及vsync信號係並非「像素資料(pixel data)」之部分的外部信號,但是因為GPU總是在像素時脈上輸出像素資料及同步信號,所以在hsync或vsync行上之脈衝活動時的週期期間,像素資料中產生「不可見像素(invisible pixel)」。在HDMI之情況下,hsync及vsync實際上以像素資料傳輸。然後在藉由HDMI電纜傳輸之後,HDMI接收器將再次分離信號。
如圖3B之實例中可見,按次序(例如,逐個像素地)傳送幀300之像素將造成在每行的終點處傳送對應於HSYNC區域之像素305,且在幀300之終點處傳送對應於VSYNC區域之像素307。水平同步信號可包括HSYNC脈衝305,其具有對應的水平前沿及水平後沿(在圖示中分別說明為HSYNC脈衝305之前及之後的消隱區域),且垂直同步信號可包括HSYNC脈衝307,其具有對應的垂直前沿及垂直後沿(在圖示中分別說明為HSYNC脈衝307之前及之後的消隱區域),且此等像素可共同構成輸出幀300之同步區域303。
參考圖3B之實例,視訊信號可由類似於輸出幀300之複數個視訊幀構成,且輸出幀可經由諸如HDMI、DVI、VGA等等的視訊界面從視訊源傳送到顯示裝置、視訊捕捉裝置或其他視訊接收裝置。一般言之,顯示硬體之刷新速率(例如,VRrefresh)應對應於視訊串流之輸出的幀率(例如,每秒鐘之幀數量)。因此,經由視訊源與顯示裝置之間的界面傳送像素之時序應被同步以保證視訊串流中之像素傳送速率與顯示器同步且與顯示刷新速率保持一致。
通常,如上所述,可為由電子器件或具體實施在視訊傳送硬體中之其他元件產生的外部信號且可為所產生之與掃描輸出幀相關之外部信號的像素時脈控制視訊源與視訊接收器之間之每個像素的傳送之時序。一般言之,像素時脈將控制像素之傳送時序使得每個幀內的全部數量之像素以與顯示裝置之刷新速率同步的速率從視訊源傳送。對於其中按次序一個接一個地傳送像素之序列界面,像素時脈可數學形式如下表達為每行內之像素總數、每個幀內之總行數及垂直刷新速率的乘積:像素時脈=HTOTAL*VTOTAL*Vrefresh
標準之視訊界面通常支援不同的顯示解析度(例如HDISPLAY×VDISPLAY),諸如720p(1280×720)、1080p(1920×1080)等等,對於每個幀而言,解析度每個具有不同像素總數。具體實施在視訊傳送硬體中之像素時脈產生器可經組態以基於類似於上文說明的數學
運算式之公式(例如,基於每個幀之刷新速率及解析度)針對給定的視訊解析度及/或幀率產生像素時脈。
應特定注意,由於實際考慮及所涉及之電子器件及元件的技術要求以及可精確地維持像素時脈之頻率的實際限制,可限制像素時脈之上界。例如,顯示器製造商通常想要使像素時脈盡可能低,因為像素時脈越高,電子器件及元件之設計更加複雜且成本更貴。因此,參考圖3B,幀中之活動行的數量(VDISPLAY)及總行數(VTOTAL)之值通常接近,因為垂直同步信號僅需要少量的行,且常識一般規定使用的行不需要多於必需的行。
本揭示內容之各個實施方式可並有用於藉由人工增加幀中之像素總數(即,像素時脈之跳動)使其超過包括每個輸出幀內之可見像素資料及/或同步信號所需之像素總數來降低傳送輸出視訊幀之時間的技術。因此,可增加像素時脈速率以輸出更大數量之總像素,從而造成在更少時間內傳送具體實施在輸出幀之活動區域內的可見視訊幀圖像之所需可見像素。在一些實施方式中,此可藉由增加每個幀之序列的終點處之行數或以其他方式按具有之總像素的數量大於源幀圖像之某個框架格式放置輸出幀來完成。
例如且無限制,對於圖3B中描繪之示例性輸出視訊幀300,假設60Hz之刷新速率(VRefresh),將例如基於幀中之活動顯示行與總行數的比例每隔VDISPLAY/VTOTAL*1/60Hz輸出某個輸出幀之全部可
見圖像行。若VDISPLAY及VTOTAL的值接近,則輸出幀內之圖像301的時間將大致上為~1/60Hz,其對應於16.7ms。根據本揭示內容之各個態樣,輸出幀之可見圖像行之此一時間可藉由使得VTOTAL顯著大於VDISPLAY來減小。因此,對於上文提及之相同60Hz垂直刷新速率,若VTOTAL為VDISPLAY的大小之兩倍(即,幀內之總行數為幀內的可見/活動行數量的兩倍),則傳送時間減小到8.3ms,因為在VDISPLAY/VTOTAL=0.5*16.7之後,將傳送幀內之所需圖像。例如藉由以某種方式將行添加到幀可使得VDISPLAY/VTOTAL更小。
圖4A及圖4B提供用於產生並捕捉根據本揭示內容之各個實施方式之視訊幀的示例性硬體/軟體架構之概述。特定言之,圖4A及圖4B之示例性系統可為用於使用類似於圖3A中描述的串流伺服器及終端機系統設置來串流視訊遊戲及其他應用的系統。圖4A說明根據本揭示內容之各個態樣之示例性視訊源的架構,且圖4B說明用於從根據本揭示內容之各個實施方式之視訊源捕捉視訊的示例性視訊捕捉系統之架構。在一些實施方式中,視訊源412可為類似於圖3A且經組態以運行用於雲端串流之應用的終端機系統,且可為現有之嵌入式系統、視訊遊戲機或具有專用架構之其他計算裝置。在一些實施方式中,視訊捕捉系統402(視訊接收器)可為經組態以從終端機系統捕捉視訊輸出並將視訊輸出從終端機系統串流到
用戶端裝置(例如,如圖2中描繪)之串流伺服器。然而,重點在於圖4A及圖4B之已說明架構僅是藉由實例的方式提供,且本揭示內容之各個實施方式可能涉及使用其他架構且在雲端遊戲及雲端計算應用以外之其他背景下減小視訊傳送時間。
轉向圖4A,示例性視訊源可為經組態以運行應用408之終端機系統412,應用408可能涉及由視訊捕捉系統402捕捉視訊輸出。例如且無限制,應用可為呈現圖形作為視訊輸出的視訊遊戲,其可被傳送到串流伺服器402以經由網路來發送。特定言之,終端機系統可包括圖形處理單元(GPU)450,其可連同圖形記憶體449一起經組態以將應用輸出408呈現為視訊幀的圖像序列。圖像可輸出作為具有包括顯示在顯示裝置上之每個幀的圖像之像素資料的可見像素之視訊幀的序列,且視訊幀圖像可經由諸如HDMI之視訊界面發送到視訊捕捉系統402作為具有可見像素及不可見像素兩者之輸出幀。然而,為了減小源於視訊捕捉程序之延遲,視訊源可經組態以添加額外像素使得經由視訊界面發送擴大的輸出幀。下文描述可如何將額外像素添加到輸出幀之其他實例。
為了支援視訊信號之輸出,視訊源412可包括經組態以連接GPU 450以將應用視訊信號呈現為視訊幀圖像之序列的圖形驅動器452。特定言之,GPU 450可根據應用408產生視訊信號輸出之視訊幀圖像,且圖形驅動器452可與GPU 450協作來將視訊幀圖像呈現為支援特定
顯示圖像解析度(例如,720p)的源視訊框架格式。GPU 450可連同圖形驅動器452一起按具有複數個可見圖像行的格式呈現視訊幀圖像,其中每個可見圖像行具有複數個可見圖像像素。在某些實施方式中,圖形驅動器452可經組態以除了由GPU(例如)藉由呈現具有大於視訊幀圖像中之像素數量之解析度的擴大幀中之幀呈現的幀圖像像素以外亦添加額外像素。下文描述藉由以擴大框架格式呈現幀來擴大幀之其他實例。
更具體言之,視訊源412可包括幀緩衝器451及掃描輸出單元453,其可操作地連接到GPU 450,且在某些實施方式中,可具體實施在GPU 450中。GPU 450可經組態以例如基於應用408之輸出向幀緩衝器451呈現視訊圖像,且掃描輸出單元453可經組態以從幀緩衝器451擷取幀圖像並產生用於經由例如如上所述之界面將圖像發送作為輸出幀的額外外部信號。
特定言之,掃描輸出單元453可包括用於在掃描輸出幀之期間產生像素時脈信號的像素時脈產生器441及/或用於使用每個輸出幀產生同步信號(例如,hsync及vsync信號)之sync信號產生器431。例如,sync信號產生器431可添加在幀之每行的終點處具有水平消隱區域之hsync信號,且對應於幀之每行的終點處之複數個不可見像素。信號產生器431亦可添加在幀之每行的終點處具有垂直消隱區域的vsync信號,且對應於幀之每行的終點處之複數個不可見行。像素時脈產生器441可產
生具有與被產生來經由視訊界面傳送的輸出幀之各個像素相關的脈衝之時脈信號,像素包括從幀緩衝器451擷取的全部數量之活動像素及對應於同步區域之插入在活動像素之間的全部數量之像素。應注意,像素時脈產生器441及/或sync信號產生器431可包括作為掃描輸出單元453的部分,且掃描輸出單元453可包括作為GPU 450之部分。然而,重點在於此僅是說明性實例,且元件中之一或多個可被實施為單獨元件。
視訊源可包括連接到視訊通信界面之視訊傳輸器456,且傳輸器可經由串列通信界面(例如)按次序逐個像素地將視訊信號傳送到視訊捕捉系統402,其中sync信號因此指示序列中的行與幀之間之轉變。如上文討論,像素時脈產生器441可產生時脈信號以基於(例如)像素總數及視訊內容之幀率同步每個像素的時序。在某些實施方式中,像素時脈產生器441可基於包括在每個圖像內之活動顯示區域內的額外像素、包括在同步區域內之額外像素或兩者來產生像素時脈使得增加每個像素中的傳送頻率。視情況,視訊界面亦可支援音訊傳送(諸如使用HDMI界面),且輸出自應用之音訊信號亦可經由視訊界面遞送。在替代性實施方式中,可使用單獨的音訊界面。
視訊源可經組態以將輸出視訊信號發送到連接到計算系統402之視訊捕捉裝置420。捕捉裝置可接收包括在所傳送之視訊信號中的視訊像素資料使得其可數位形式捕捉且由串流伺服器402壓縮。串流伺服器402可包
括視訊捕捉程序434及/或編碼器,其可經組態以壓縮接收自視訊捕捉裝置的每個視訊幀。串流伺服器程序446可經組態以將所壓縮之視訊串流傳輸到位於遠處的裝置,使得可解壓已壓縮之視訊串流並在遠端顯示裝置上顯示已壓縮的視訊串流。
在某些實施方式中,根據本揭示內容之各個態樣,視訊捕捉裝置可包括視訊捕捉邏輯428,其被具體配置來僅捕捉包括在擴大幀內之視訊幀圖像之可見像素。例如,在某些實施方式中,視訊源之圖形呈現元件可經組態以僅將視訊幀圖像之可見圖像像素插入到特定格式的活動顯示區域之部分中,且視訊捕捉裝置420可經組態以計數所接收之每個幀內的行及/或像素以已知何時完成顯示圖像之捕捉。此可基於視訊源如何呈現幀之預定配置。替代地,視訊捕捉裝置420可基於同步信號(例如,其中藉由添加同步行擴大幀之實施方式中的VSYNC信號)之存在來確定捕捉完成。串流伺服器402或其他計算裝置可經組態以開始壓縮視訊幀,前提為每個幀內之可見顯示圖像的捕捉完成。
捕捉裝置可經由可與輸出自視訊源412之視訊信號相容之通信界面接收視訊信號,且視訊界面可連接到視訊接收器430。例如且無限制,視訊捕捉裝置可包括一或多個埠(例如HDMI埠或如下文參考圖5描述之其他埠)作為音訊及/或視訊通信界面的部分。
界面裝置402可包括專用處理單元,其包括
操作地連接到視訊信號界面之邏輯428,其中專用處理單元具有專用於執行與A/V捕捉相關之功能及視情況與雲端串流相關的其他功能之邏輯428以藉由連接器從終端機系統402接收信號。邏輯428亦可支援經由額外的通信界面與主機系統402通信,該通信界面可與主機系統402的週邊匯流排通信以連接具體實施在主機系統中的A/V程序。例如且無限制,界面裝置420可為附加卡,其藉由擴展埠(諸如周邊元件連接(PCI)、擴展PCI(PCI-X)、快速PCI(PCIe))或促進例如經由週邊匯流排與主機系統402進行的通信之其他界面與主機系統402記憶體/CPU通信。主機系統可包括捕捉裝置驅動器426以支援經由界面裝置420交換信號。
在某些實施方式中,專用處理單元可為現場可程序設計閘陣列(FPGA)、專用積體電路(ASIC)或具有根據本文描述之原理配置的專用邏輯單元之另一專用處理單元。專用處理單元之邏輯單元428亦可包括專用邏輯以除了對來自在終端機系統402上運行之應用408的輸出進行音訊/視訊捕捉以外亦支援用於雲端串流之各種功能,諸如與儲存程序432協作的儲存虛擬化。
在圖4A至圖4B中描繪之實例中,具體實施在專用處理單元之邏輯428中的A/V捕捉單元可與主機系統402中之捕捉裝置驅動器426及具體實施在主機系統402中的A/V程序432(例如,在中央處理單元404上運行之軟體應用)通信。例如,若終端機系統412將視訊像
素發送到視訊捕捉裝置,則此樣之視訊資料可使其經過圖形驅動器452、包括在邏輯428中之視訊捕捉單元、捕捉裝置驅動器426而至具體實施在主機系統中之A/V程序432。然後A/V程序432可壓縮所捕捉之視訊幀,且根據由額外像素造成之像素時脈的增加可儘快開始壓縮。在某些實施方式中,視訊接收器402視情況可為被調整來經由網路傳輸來自在終端機系統412上運行之應用408之視訊輸出的串流之串流伺服器。例如,串流伺服器402可包括乙太網適配器或其他網路界面卡436及對應的乙太網驅動器或用於主機402之作業系統的其他網路磁碟438,其中可相容網路程序庫439提供用於網路通信之協定支援。主機系統亦可包括受控於對應之記憶體驅動器442(例如,tmpfs)且由文件系統程序庫444支援的系統記憶體440。串流伺服器程序446可在主機系統402上運行以執行與將即時資料流提供給經由網路(圖4A至圖4B中沒有描述)連接之用戶端裝置相關的功能。
終端機系統412可包括各種其他元件以支援應用408,其可為(例如)被設計用於現有之嵌入式平臺的視訊遊戲軟體。終端機系統412可包括用於存取儲存裝置之文件系統層427以及用於支援圖形儲存裝置存取的各種元件。在一些實施方式中,系統及捕捉裝置420可經組態以實施儲存虛擬化技術,由Roelof Roderick Colenbrander在與本申請案同一天提交的名為「雲端計算之大型儲存虛擬化(MASS STORAGE VIRTUALIZATION
FOR CLOUD COMPUTING)」的共同指派待決美國申請案第___號(代理人案號第SCEA13031US00號)中描述儲存虛擬化技術之其他細節,該申請案之全部內容是以引用的方式引入本文。
現在轉向圖5,根據本揭示內容之各個實施方式描繪可在界面卡420上實施之示例性捕捉裝置520、捕捉裝置520上的一些元件及示例性專用處理單元560之固有屬性的示意圖。例如且無限制,捕捉裝置520可被配置為具有附接到印刷電路板(PCB)之元件的附加卡,且捕捉卡520可經由主機硬體界面562(諸如週邊擴展埠或在連接時允許主機系統之週邊匯流排進行通信的其他擴展通信界面)與主機系統之週邊匯流排連接。應注意,圖5之示例性捕捉裝置520包括各種選用元件,其並非視訊捕捉所必需,但是可提供用於雲端計算及其他實施方式的額外功能。
示例性專用處理單元560可包括專用於根據本揭示內容之各個態樣之專用功能的各種邏輯塊。例如,專用處理單元可被實施為FPGA、ASIC或類似專用處理單元。專用處理單元560可包括主機界面塊564,其實施用於界面卡520與捕捉裝置560之主機系統(圖5中沒有描述)的週邊匯流排之間的通信界面之協定堆棧的部分。
如快速PCI之通信匯流排可被視為具有多層的協定堆棧。不同之通信協議具有不同層。通常頂部處存在「應用層(application layer)」,然後中間存在一些傳
輸相關層且底部處存在某個實體層。主機界面塊564無需實施此協定堆棧的全部層。相反地,主機界面塊可維護實體層,其負責例如藉由電或光學信號將數位資訊置於通信鏈路上。主機界面塊亦可負責協定堆棧的「傳輸層(transport layer)」之部分或可能全部,但是無需負責應用層。
例如且無限制,主機界面塊564可為用於藉由快速PCI連接進行通信之硬PCIe塊,且此嵌入使得PCIe界面或其他界面存取主機系統之本端匯流排的協定堆棧。主機界面塊564可集成到記憶體存取界面單元566中,記憶體存取界面單元566連同專用處理單元560之其他邏輯單元可經由主機硬體界面562(例如使用請求主機系統中斷)直接存取主機系統的系統記憶體。
在一些實施方式中,記憶體存取界面566可包括提供記憶體存取及中斷功能的元件。特定言之,主機界面塊564可經組態以在晶片上互連件572與主機硬體界面562之間提供連接使得可使用記憶體映射輸入/輸出(I/O)從主機系統存取任何晶片上裝置。此種功能將允許主機系統程序設計連接到晶片上互連件572之任何裝置,諸如大型儲存區裝置控制器570、記憶體控制器576或GPIO 582。
記憶體存取界面566亦可包括中斷連接565,其允許任何連接之裝置(例如,A/V捕捉單元578)對事件(例如,完成所捕捉之視訊幀圖像)產生中斷。若僅存
在一個裝置與主機硬體界面硬體562連接,則可期望記憶體存取界面提供此種功能。
記憶體存取界面566亦可(視情況)包括直接記憶體存取(DMA)引擎567。如本文所使用且一般為此項技術者所瞭解,術語直接記憶體存取(DMA)是指允許電腦內之某些硬體子系統存取獨立於電腦的中央處理單元(CPU)之系統記憶體的特徵。DMA引擎567可在主機界面塊564與主機硬體界面562之間實施資料移動運算。在一些實施方式中,記憶體存取界面單元566可實施並非由主機界面塊564提供之協定堆棧(例如,快速PCI)之部分,諸如將主機界面塊564連接到晶片上互連件572。
為了用於視訊捕捉之功能的目的,捕捉裝置520可包括一或多個視訊及視情況音訊/視訊通信界面580(其可一或多個HDMI埠571及/或連接器之形式實施)或其他視訊信號通信界面,且其可附接到捕捉裝置520的電路板。例如且無限制,界面卡520可包括兩個HDMI埠以促進到兩個不同視訊源/終端機系統之連接,但是應注意捕捉裝置可替代地包括不同數量之視訊連接器,使得單一捕捉裝置520可服務於不同數量之視訊源或終端機系統。對於視訊信號連接器580之各者,可在可與特定視訊通信界面(例如,HDMI、DVI、VGA等等)相容的專用處理單元560中具體實施對應之視訊捕捉單元578。
專用處理單元之一或多個視訊捕捉單元578
可藉由晶片上互連件572連接到專用處理單元560的其他邏輯單元,此可使視訊捕捉單元578之各者存取主機界面元件(例如,快速PCI)。晶片上互連件可被配置為標準之晶片上匯流排架構,其經組態以連接專用處理單元(例如,FPGA或ASIC)上的功能塊。例如,若專用處理單元560為FPGA,則可使用主-從架構(例如,高級微控制器匯流排架構(AMBA),諸如AXI4或AXI4-Lite)或另一合適之晶片上匯流排架構來互連專用處理單元的元件。AXI4可用於大型資料傳輸且AXI-Lite可用於低性能連接或配置目的。可根據如圖5中說明的主-從類型配置來配置專用處理單元邏輯塊之晶片上互連件。在已說明之示意圖中,「M」及對應之粗線表示主連接,「S」及對應之虛線表示從連接,且「Ctrl」表示控制。
界面裝置520可包括可受控於以專用處理單元560之邏輯提供的記憶體控制器576之一或多個記憶體單元574。記憶體單元可根據由經由大型儲存區裝置界面568連接之終端機系統發出的資料請求(例如,大型儲存區裝置虛擬化)支援終端機系統與經由主機硬體界面562連接的主機系統之間的資料傳輸。例如,記憶體單元574可為暫時RAM單元(諸如DDR3 RAM)或經組態以根據本文描述之原理暫時儲存由終端機系統發出的讀取請求而請求之資料。記憶體控制器576可連接到晶片上匯流排架構572以根據接收自專用處理單元560之其他邏輯單元的信號執行記憶體讀取/寫入操作。
在操作期間,經由視訊界面580連接之視訊源(圖5中沒有描述)的圖形驅動器及/或掃描輸出單元可產生具有由捕捉卡520捕捉的額外像素之擴大輸出視訊幀。當接收到視訊輸出幀時,視訊捕捉單元578可經組態以確定何時捕捉每個幀之可見顯示圖像像素並忽略捕捉的每個幀中之額外像素,從而丟棄此等額外像素,因為其包括不想要的資料。每個幀之所捕捉的視訊資料可使用中斷經由主機硬體界面562傳輸到主機系統中之視訊捕捉程序以進一步經由網路來進行處理、壓縮及/或傳輸。壓縮可給定之幀率儘快開始,因為每個幀內之較低比例的像素需要被傳輸以傳送幀中的全部可見圖像像素。
應注意,一或多個A/V捕捉邏輯單元578之各者可操作地連接到對應的A/V接收器530,其之各者又可連接到合適之A/V硬體界面580,諸如HDMI埠571或如圖5中說明的其他A/V連接埠。來自終端機系統之A/V輸出可經由A/V界面580使用可相容的A/V連接器連接到A/V接收器530。A/V捕捉單元578可經由主機硬體界面562與主機系統上之界面裝置驅動器及A/V程序通信,主機硬體界面562可連接到主機系統匯流排(例如,週邊匯流排),且主機系統然後可經由網路將A/V串流傳遞到用戶端裝置。
界面裝置視情況可包括提供用於在終端機系統上運行之串流應用的額外功能(諸如雲端遊戲串流)之各種其他元件。例如,專用處理單元560亦可包括用於模
擬一或多個終端機系統之儲存裝置的一或多個大型儲存區裝置控制器570。界面裝置582亦可包括一或多個通用輸入/輸出(GPIO)塊以支援額外功能。例如且無限制,GPIO塊之各者可連接到終端機系統中之一個對應終端機系統以提供額外功能,諸如終端機系統的功率控制及其他功能。
如上文提及,專用處理單元560可根據本揭示內容之各個態樣被實施為(例如)FPGA、ASIC或具有專用於某些功能之塊的其他積體電路,諸如A/V捕捉、大型儲存區裝置控制器、記憶體控制器、DMA引擎等等。在本揭示內容之某些實施方式中,此等單元中之一或多個可被提供作為可再用邏輯單元或本領域中統稱為IP塊或IP核心的其他晶片設計。
現在轉向圖6,描繪根據第一說明性技術將額外像素添加到源幀的實例。圖6描繪以額外行611之形式在源幀之終點處添加額外像素的示例性擴大視訊幀600。額外行611實際上可為被添加到幀之終點以創建、擴大並修改輸出幀600之虛設行。虛設行611可被添加在指示幀之終點的一或多個同步信號607之集合之後。在圖6之實例中,行水平定向,且當幀被傳輸作為構成行序列之像素序列時,其底部對應於幀的終點。
因此,在示例性修改之幀600中,被添加到幀之終點的額外像素611在幀之底部處被說明為一組水平行,其可位於活動圖像行601之後及通常指示幀之終點的
VSYNC信號607之集合之後。應注意,額外像素611可藉由在已修改之幀600的終點處基本上延長垂直消隱區域使其超出垂直同步所需之區域而被添加到針對輸出幀產生的同步區域。
圖6中描繪之第一示例性技術的一個優點是:因為可見視訊幀圖像與幀之活動區域重合且垂直同步607之位置仍然指示幀中的圖像之終點,所以垂直同步信號607仍然可由接收擴大幀600的裝置使用來已知包括在擴大幀600內之可見圖像601的截止。因此,例如,若使用視訊捕捉裝置來捕捉幀中之可見圖像601,則視訊捕捉裝置可基於垂直同步信號607之存在而容易確定完成像素序列中之可見圖像601的傳送。例如,此可能是有利於促進顯示圖像601之壓縮,前提是在傳送期間到達垂直同步區域607,而在此之前沒有傳送幀中之整個像素集合。
圖6之技術的另一優點是:其可進行而無需大量的軟體改變或改變為如何呈現原始視訊源幀。例如,使用圖4之已說明終端機系統作為實例,可由通常具體實施為硬體元件的掃描輸出單元及/或sync信號產生器而產生,掃描輸出單元及/或sync信號產生器可在從幀緩衝器擷取可見圖像像素之後在同步區域中產生額外行。此可完成而無需改變圖像驅動器或更改其中由GPU在幀緩衝器中呈現像素資料的顯示解析度。
應注意,由於幀之終點處的額外行,與幀之未修改版本相比,較高的水平頻率可造成已修改的幀
600。因此,為了促進已修改之幀600的同步傳送,為考慮更大之水平頻率及避免相容問題可作出某些調整。特定言之,與較高位準頻率相關的一個挑戰是:此一頻率信號可獲自軟體。在遊戲實施方式中,例如,某個遊戲可使得某個內部遊戲時序基於此一水平頻率,且因而可能具有時序問題。在某些實施方式中,此一遊戲可被修改來考慮此等問題或作業系統可被修改來偽造時序。
在圖6之示例性技術中,應注意,所添加之像素611可為不包括需要被捕捉用於壓縮活動圖像之任何資料的不可見像素。根據圖6之已修改的幀600與圖3B之類似但未修改的源幀300之間之比較將明白,幀內之活動行與總行的比例(VDISPLAY/VTOTAL)藉由添加虛設行611而顯著減小,此可造成像素時脈增加且傳輸幀內之可見像素601的時間對應降低。在一些實施方式中,輸出幀中之可見圖像行與輸出幀中的總行數的比例介於0.25與0.75之間。在其他實施方式中,輸出幀中之可見圖像行與輸出幀中之總行數的比例介於0.4與0.6之間。在其他實施方式中,輸出幀中之可見圖像行與輸出幀中之總行數的比例約為0.5。
特定言之,應注意720p(1280×720)解析度通常在每行中使用總數大約為1650之像素(HTOTAL)及總數大約為750之垂直行(VTOTAL)。特定言之,在此習知實例中,總垂直行與可見行之比例為720/750=0.96。常識規定與此習知實例中一樣,此數位應接近1。
藉由對比,本揭示內容之實施方式可使用遠低於1之比例來加速幀中的可見像素之傳送。
此比例之下限(即,在此實例中可被添加到幀的虛設行之最大數量)可能受限於硬體。例如,對於HDMI 1.0,界限為165MHz,但是對於HDMI 1.3,界限移動到340MHz。在撰寫本文時,大部分消費者硬體使用165MHz界限。
因此,例如,對於具有165MHz之界限的硬體,用於呈現720p幀之總行的最大數量將為165MHz/(1650×60)=1666行,對應於720/1666=0.43之比例,注意,所使用之比例為720而並非750,因為在此實例中720為720p幀之可見行的數量。
藉由另一實例,對於具有340MHz之界限的硬體,輸出幀中之可見行與總行的比例之下限可為大約0.2。
現在轉向圖7A至圖7B,描繪將額外像素添加到視訊輸出幀之其他實例。在圖7A至圖7B之說明性實例中,擴大幀700b可藉由將視訊幀圖像呈現到具有大於所呈現之視訊幀圖像中的像素數量之顯示解析度之幀中、用額外像素(例如,不可見像素)填充在較大解析度之剩餘像素中而產生。應注意,僅為了說明的目的,圖7A至圖7B中僅描繪幀700a、700b之活動圖像區域。應注意,根據本揭示內容之實施方式,在例如由GPU/圖形驅動器將此等幀呈現到幀緩衝器之後,可藉由(例如,使
用如圖4A至圖4B中說明之掃描輸出單元)掃描輸出來自幀緩衝器之幀、將同步信號、像素時脈信號及/或其他外部信號進一步添加到此等幀中形成輸出幀。
特定言之,圖7A至圖7B描繪具有額外像素713之擴大視訊幀700b的實例,額外像素713係藉由將原始視訊幀圖像700a重新充填到具有大於可見幀圖像700a之顯示解析度的較大幀中而添加。因此,擴大幀700b中之像素總數超過可見視訊幀圖像中的可見圖像像素701之總數。特定言之,幀700b可包括來自原始幀圖像700a之可見像素701以及填充較大幀之剩餘部分的額外像素713。應注意,修改幀700b中之額外像素713基本上可為較高顯示解析度幀的未使用像素。
應注意,圖7A至圖7B用於將額外像素添加到源視訊幀之示例性幀重新充填技術可以多種方式實施。例如,幀700a及700b之各者可具有水平解析度及垂直解析度,其分別可由每行內之活動像素的數量及每行內之活動行的數量來定義。根據本揭示內容之各個態樣,較大幀700b可具有較大之水平解析度、較大的垂直解析度或兩者。
在一些實施方式中,源幀700a之每個單行可如圖7A中說明般充填到較大幀700b之各自行中。若較大之幀700b具有的每行內之活動像素的數量大於源圖像700a之每個可見圖像行內的可見圖像像素701(例如,若如圖7A中說明,擴大幀具有較大水平解析度),則僅以
此方式將源幀之單行充填到較大幀700b的各自單行中可造成如圖7A中說明般在每行之終點處基本上會浪費像素。具體言之,浪費像素意指,當在傳送幀中之整個可見圖像701之前輸出幀、按次序逐行傳送像素時,將仍然需要在每行之終點處傳送每行的終點處之額外像素713(並非視訊幀之可見圖像像素701)。然而,儘管每行之終點處潛在地浪費像素,但是仍然可期望圖7A之此一示例性方法,因為該方法可提供實施此樣之方案的實用又容易的方式。此外,仍然可減小傳送延遲,因為全部可見圖像像素701可位於較大幀中之額外添加的像素713(例如,活動行中位於幀700b中之最後的可見行之後的額外像素)之至少一些之前。
作為圖7A之實例的替代,如圖7B中說明,取決於較高解析度幀之每行可容納的像素數量,每行較大之幀700b可包括一行以上的源幀700a。例如且無限制,若源視訊幀700a為1280×720(720p),則較大幀700b可為(例如)1920×1080(1080p)。使用圖7B之方法,一個1080p行可容納1.5個720p行(1080/720=1.5)。當將可見像素充填到行之終點時,容納可見幀圖像701將總共需要720/1.5=480行之1080p幀。換言之,參考示例性60Hz刷新速率,HDMI傳送時間可為480/1080*16.7ms=7.4ms。雖然在一些態樣實施如圖7B中說明之此種方法可能比實施圖7A的方法(僅將每行源幀700a充填到較高顯示解析度幀700b之起點處的對應行中)更加
複雜,但是其增加完全使用幀之起點處的行而不浪費像素的好處,因而更加有效率地在修改幀700b之起點處充填可見像素。因此,由於在修改幀700b中更加有效率地充填可見圖像,可更好地優化用於輸出可見像素701之傳送時間,因為將需要的擴大幀之活動區域的行更少。
應注意,不同於圖6之示例性擴大幀600(其中虛設行添加在垂直同步區域之後),圖7A至圖7B之幀重新充填方法中的添加像素713具有額外但未使用之像素713(即,僅要無需包括幀之任何可見圖像資料,則便是未使用之像素),其仍然可位於根據此種較大框架格式之較高顯示解析度的幀700b之垂直同步區域(沒有描述)之前。因此,將位於幀之活動區域之最後行之後的垂直同步信號由於幀之活動區域中存在額外像素行713而沒有指示幀中的可見行701之終點。因此,視訊捕捉裝置可經組態以由某種其他技術而不是VSYNC信號確定可見幀圖像的截止。例如,視訊捕捉裝置可經組態以基於原始視訊幀圖像之顯示解析度、擴大幀顯示解析度及用於輸出幀的幀充填技術來計數行。基於由計數行確定之截止點,可見圖像701的壓縮然後可儘快開始,而無需等待傳送所修改的額外像素713。轉向圖4B及圖5之系統,例如,包括在專用處理單元中之視訊捕捉單元578可經組態以計數經由視訊界面接收自視訊源412之每個輸出幀中的像素或行,且一旦傳送並捕捉預定數量之行便立即通知視訊捕捉程序434(例如,使用中斷)。例如,由編碼器進行之壓
縮可儘快開始,而無需等待傳送視訊輸出幀之整個活動區域。
應注意,在實施示例性第二技術時,可有利於在視訊源上包括額外視訊記憶體,諸如圖4A之終端機系統412,以考慮每個幀中的較大量之像素資料(儘管存在不可見資料)。亦應注意,可能需要修改終端機系統之圖形驅動器以按不同於將額外像素添加到每個所呈現的視訊幀圖像之原始內容的格式來呈現幀。
現在轉向圖8,描繪根據又另一說明性技術將額外像素添加到視訊輸出幀之又另一實例。應注意,在圖7A至圖7B之實例中,以具有高於視訊幀圖像之顯示解析度的單色幀呈現可見幀圖像之可見像素(即,幀呈二維格式)。在其他實施方式中(例如如圖8中說明),擴大框架格式可為立體3D格式,其中輸出視訊幀之較高顯示解析度由憑藉對應於左側圖像及右側圖像之兩個不同圖像構成的活動顯示區域來定義。
在圖8之實例中,可藉由按立體3D框架格式將源幀之可見圖像僅充填到兩個圖像之一中來將額外像素815添加到源幀。兩個圖像中之另一個可用額外像素915填充,使得視訊幀圖像之可見像素完全呈現在3D幀之活動區域中的兩個圖像之一中。
應注意,可存在許多習知立體3D格式,其將兩個圖像(例如,左側圖像及右側圖像)充填到單一立體3D幀中。在圖8之示例性修改幀800中,立體3D幀具有
頂部及底部格式(有時候稱作上方、下方格式),其中左側圖像及右側圖像佈置在彼此上方。其他立體3D格式之實例包括並排格式、交錯格式及其他格式。一般言之,可根據本揭示內容之各個態樣使用除了圖8之已說明實例中的頂部及底部格式以外之立體3D格式。
例如,立體3D幀可具有定義之像素傳輸序列,包括幀中之兩個圖像(左側圖像及右側圖像)之各者的像素。本揭示內容之實施方式可使用立體3D格式,其中兩個圖像之一的全部或大部分在次序上位於兩個圖像中之另一個後面(例如,左側圖像之像素在序列中位於右側圖像中的一些或全部像素之前)。在圖8之示例性頂部及底部立體3D幀800中,頂部左側圖像801在幀800之序列中位於底部「右側(right)」圖像815前面。因此,當按次序傳送幀的像素時,頂部圖像中之可見像素801被傳送到底部圖像中之像素815之前。因為源幀的可見像素可完全地呈現在頂部圖像中且右側圖像像素沒有用於實際3D顯示器且反而僅用作用於人工地增加輸出幀中之像素總數的額外虛設像素,所以可根據像素時脈之增加來更早地傳送幀的整個可見圖像。特定言之,如圖8中說明,與原始源幀之內容相比,總行數VTOTAL有所增加。
重點是,圖6至圖8之擴大幀被提供作為說明性實例以僅用來說明本揭示內容之各個態樣。此外,應特別注意,圖6至圖8之技術沒有相互排斥,且可使用示例性技術的各種組合。例如,根據本揭示內容之實施方式
使用圖7A/7B及圖8之實例的組合,其中每個幀不但可被充填到具有較高解析度之較大幀中,而且可充填到立體3D幀之單一圖像中,其中3D幀之左側圖像及右側圖像之各者具有高於源圖像的顯示解析度。因此,例如,若源圖像為480p,則其可被充填到720p立體3D幀之左側圖像中。
轉向圖9A,描繪使用具有額外像素之擴大幀來捕捉輸出視訊信號的示例性方法900a。特定言之,在示例性方法900a中,以被添加到輸出幀之活動圖像之後的同步行之後之額外虛設行的形式將額外像素添加到幀。方法900a可能涉及形成、捕捉及壓縮類似於圖7之示例性幀700的視訊輸出幀。
特定言之,方法900a涉及視訊幀921之可見圖像。例如且無限制,可見圖像921可由電腦應用基於程序狀態而產生。電腦圖形可按由圖像中之可見像素的數量定義之第一解析度產生,且該方法可能涉及將視訊圖像923呈現到與底層內容921之可見像素的數量一致之像素數量之幀中,因而產生界定最終輸出幀之顯示區域的源視訊幀925。例如,源視訊幀可由GPU呈現到幀緩衝器中。
該方法可能涉及藉由將同步信號927添加到源幀925來形成輸出幀。將sync區域添加到幀可能不但涉及將常見之sync信號添加到幀,而且涉及例如使用如圖4A中說明的sync信號產生器將虛設行之擴展集合添加在序列中之同步行之後。與典型之幀相比,所得輸出幀
929可具有增加數量的行。例如且無限制,可見圖像行可僅佔據輸出幀中之總行的一半或更少,此可造成像素時脈對應增加。特定言之,將虛設行添加到同步區域可藉由從幀緩衝器(例如,如上文所述)掃描輸出源幀圖像而執行。
由於輸出幀929中存在虛設行,然後可按較高像素頻率將像素傳送到視訊捕捉裝置933。因此,可使用視訊捕捉裝置更加快速地捕捉(935)來自可見幀圖像921之可見像素,因為可見像素可在較短之時間量內到達捕捉裝置。
捕捉裝置可經組態以(例如)藉由基於同步行之偵測(在此實例中指示可見幀圖像之終點)確定已傳送全部可見像素來停止輸出幀之捕捉935及/或(例如,使用編碼器)起始幀圖像之壓縮937,前提是已捕捉到可見像素。然後可經由網路906發送已壓縮之視訊幀使得可解碼(941)視訊信號且將其作為可見圖像展示在顯示器943上(例如遠離捕捉系統的遠端裝置處)。可針對每個視訊幀連續重複該程序以傳輸視訊內容之即時資料流。
現在轉向圖9B,描繪捕捉、壓縮及傳輸視訊幀之類似示例性方法900b。然而,與圖9A之實例相比,方法900b涉及將額外像素添加到幀之活動區域以(例如)如上文圖7A至圖8中說明般產生輸出幀。
特定言之,如圖9B中說明,可較高顯示解析度及複數個額外像素將可用第一顯示解析度之複數個可見
像素產生的可見幀圖像921呈現到較大幀923中。例如且無限制,此可能涉及將幀圖像充填到較大單色圖像或立體3D框架格式之單一活動圖像區域(例如,左側或右側)中。在某些實施方式中,此可藉由用例如如上所述的額外像素將具有額外像素之較大圖像呈現到幀緩衝器中來完成。然後可掃描輸出擴大之圖像以產生具有例如如上所述的同步區域及/或其他外部信號之輸出幀。
在此實例中,同步行可能不再表示可見圖像區域之終點,例如因為可見行由於活動圖像區域中存在額外像素而僅佔據輸出幀929之活動行的部分。為了開始壓縮程序(前提是傳送圖像),視訊捕捉裝置可經組態以藉由計數傳送到其像素或行來確定可見圖像區域之終點。然後可在傳送輸出幀之整個活動區域之前儘快壓縮(937)視訊信號,且如同之前一樣可經由網路906傳輸已編碼之幀以用於解碼(941)且進行遠端顯示(943)。
應注意,已參考雲端遊戲作為其中可期望需要更加快速地傳送視訊幀中之可見圖像的特定實例描述本揭示內容之各個態樣,但是本揭示內容之實施方式並無如此限制。為了其他目的,本揭示內容之實施方式可提供從任何視訊源到視訊接收器之減小的傳送延遲,此可能並未涉及雲端計算或雲端遊戲。
應注意,本揭示內容之實施方式可使用多種
音訊及/或視訊標準中之任何者,包括HDMI、S-視訊、分量視訊、複合視訊、DisplayPort、VGA、DVI及其他視訊或A/V通信界面標準。
雖然上文是本發明之較佳實施方案的完整描述,但是亦可使用各種替代、修改及等效物。因此,不應參考上述描述來確定本發明的範圍,取而代之,應參考隨附申請專利範圍連同其全部等效範圍來確定本發明的範圍。本文描述之任何特徵(無論是否較佳)均可與本文描述的任何其他特徵(無論是否較佳)組合。在下列申請專利範圍中,除非另有明確說明,否則不定冠詞「一個(a/an)」是指冠詞後面之物品中的一或多個之數量。隨附申請專利範圍不應被解譯為包括方法加功能限制,除非此一限制使用短語「用於…的方法(means for...)」在給定的申請專利範圍中加以明確引用。
Claims (18)
- 一種用於視訊延時減小的方法,其包括:對於具有一第一顯示解析度之複數個可見圖像像素的一第一視訊幀圖像,將該第一視訊幀圖像插入到具有大於該第一顯示解析度之一第二顯示解析度的一源視訊幀中,其中該源視訊幀係在該活動顯示區域中具有兩個圖像區域的立體3D格式,其中該插入該第一視訊幀圖像包括將該複數個可見圖像像素及複數個額外像素插入到該源視訊幀的一活動顯示區域中,其中該插入該第一視訊幀圖像包括將該複數個可見圖像像素插入到該兩個圖像區域之一中且用該等額外像素填充該兩個圖像區域中的另一個。
- 如申請專利範圍第1項之方法,其進一步包括:藉由將複數個同步信號添加到該源視訊幀形成一輸出視訊幀。
- 如申請專利範圍第1項之方法,其進一步包括:藉由將複數個同步信號添加到該源視訊幀形成一輸出視訊幀;將該輸出視訊幀傳送到一視訊捕捉裝置;用該視訊捕捉裝置捕捉該輸出視訊幀中之該等可見圖像像素,同時忽略來自該捕捉的該等額外像素。
- 一種用於視訊延時減小的方法,其包括:對於具有一第一顯示解析度之複數個可見圖像像素的 一第一視訊幀圖像,將該第一視訊幀圖像插入到具有大於該第一顯示解析度之一第二顯示解析度的一源視訊幀中,藉由將複數個同步信號添加到該源視訊幀形成一輸出視訊幀;將該輸出視訊幀傳送到一視訊捕捉裝置;用該視訊捕捉裝置捕捉該輸出視訊幀中之該等可見圖像像素,同時忽略來自該捕捉的該等額外像素;以及在已經捕捉該等可見圖像像素之後壓縮該第一視訊幀圖像,在已經傳送該輸出視訊幀之整個活動顯示區域之前開始該壓縮。
- 如申請專利範圍第1項之方法,其中該源視訊幀呈該活動顯示區域中具有兩個圖像區域的立體3D格式,該兩個圖像區域對應於一左側圖像區域及一右側圖像區域。
- 如申請專利範圍第1項之方法,其中該源視訊幀呈該活動顯示區域中具有兩個圖像區域的一頂部及底部立體3D格式,該兩個圖像區域分別對應於佈置在該活動顯示區域之頂部及該活動顯示區域之底部中的一左側圖像區域及一右側圖像區域;其中該插入該第一視訊幀圖像包括將該複數個可見圖像像素插入到該活動顯示區域的該頂部圖像中且用該等額外像素填充該活動顯示區域的該底部。
- 如申請專利範圍第1項之方法,其中該源視訊幀呈該活動顯示區域中具有兩個圖像區 域的立體3D格式,該兩個圖像區域對應於一左側圖像區域及一右側圖像區域,該兩個圖像區域之各者具有大於該第一視訊幀圖像之該第一顯示解析度的一顯示解析度。
- 一種用於視訊延時減小的方法,其包括:對於具有一第一顯示解析度之複數個可見圖像像素的一第一視訊幀圖像,將該第一視訊幀圖像插入到具有大於該第一顯示解析度之一第二顯示解析度的一源視訊幀中;其中該插入該第一視訊幀圖像包括將該複數個可見圖像像素及複數個額外像素插入到該源視訊幀的一活動顯示區域中,其中該第一視訊幀圖像具有複數個可見圖像行,各個該可見圖像行具有複數個該等可見圖像像素;其中該源視訊幀呈該活動顯示區域界定單色圖像區域的一單色格式;其中該單色圖像區域具有複數個活動行,各個該活動行具有複數個活動像素;其中該單色圖像區域中之活動行的數量大於該第一視訊幀圖像中之可見圖像行的數量;其中各個該活動行中之活動像素的數量大於各個該可見圖像行中之可見圖像像素的數量;其中該插入該第一視訊幀包括將各個該可見圖像行插入到該活動行中之各自活動行中且用該等額外像素填充該活動行之各者該各自活動行的剩餘部分。
- 一種用於視訊延時減小的方法,其包括: 對於具有一第一顯示解析度之複數個可見圖像像素的一第一視訊幀圖像,將該第一視訊幀圖像插入到具有大於該第一顯示解析度之一第二顯示解析度的一源視訊幀中;其中該插入該第一視訊幀圖像包括將該複數個可見圖像像素及複數個額外像素插入到該源視訊幀的一活動顯示區域中,其中該第一視訊幀圖像具有複數個可見圖像行,各個該可見圖像行具有複數個該等可見圖像像素;其中該源視訊幀呈該活動顯示區域界定單色圖像區域的一單色格式;其中該單色圖像區域具有複數個活動行,各個該活動行具有複數個活動像素;其中該單色圖像區域中之活動行的數量大於該第一視訊幀圖像中之可見圖像行的數量;其中各個該活動行中之活動像素的數量大於各個該可見圖像行中之可見圖像像素的數量;其中該插入該第一視訊幀包括用該等可見圖像像素填充該活動行之至少一些,使得該活動行之至少一些各包括來自一個以上該等可見圖像行的該等可見圖像像素。
- 如申請專利範圍第9項之方法,其中該源視訊幀具有一定義之像素傳送序列,其中該插入該第一視訊幀圖像包括將該複數個額外像素之至少一些插入在該序列中之該複數個可見圖像像素之後的位置處。
- 一種用於視訊延時減小的系統,其包括:一第一處理單元;及一第一記憶體單元,其操作地連接到該第一處理單元,其中該系統經組態以執行一方法,該方法包括:對於具有一第一顯示解析度之複數個可見圖像像素的一第一視訊幀圖像,將該第一視訊幀圖像插入到具有大於該第一顯示解析度之一第二顯示解析度的一源視訊幀中且壓縮該第一視訊幀圖像,其中該源視訊幀係在該活動顯示區域中具有兩個圖像區域的立體3D格式,其中該插入該第一視訊幀圖像包括將該複數個可見圖像像素及複數個額外像素插入到該源視訊幀之一活動顯示區域中,其中該插入該第一視訊幀圖像包括將該複數個可見圖像像素插入到該兩個圖像區域之一中且用該等額外像素填充該兩個圖像區域中的另一個。
- 如申請專利範圍第11項之系統,該方法進一步包括:藉由將複數個同步信號添加到該源視訊幀形成一輸出視訊幀。
- 如申請專利範圍第11項之系統,其進一步包括:一視訊捕捉裝置,其經由一視訊通信界面操作地連接到該第一處理單元,該方法進一步包括: 藉由將複數個同步信號添加到該源視訊幀形成一輸出視訊幀;將該輸出視訊幀傳送到該視訊捕捉裝置;用該視訊捕捉裝置捕捉該輸出視訊幀中的該等可見圖像像素,同時忽略來自該捕捉的該等額外像素。
- 一種用於視訊延時減小的系統,其包括:一第一處理單元;及一第一記憶體單元,其操作地連接到該第一處理單元,一視訊捕捉裝置,其經由一視訊通信界面操作地連接到該第一處理單元;及一電腦系統,其具有操作地連接到該視訊捕捉裝置之一第二處理單元及一第二記憶體單元,其中該系統係配置以執行一方法,該方法包括:對於具有一第一顯示解析度之複數個可見圖像像素的一第一視訊幀圖像,將該第一視訊幀圖像插入到具有大於該第一顯示解析度之一第二顯示解析度的一源視訊幀中,其中該插入該第一視訊幀圖像包括將該複數個可見圖像像素及複數個額外像素插入到該源視訊幀之一活動顯示區域中;藉由將複數個同步信號添加到該源視訊幀形成一輸出視訊幀;將該輸出視訊幀傳送到該視訊捕捉裝置;用該視訊捕捉裝置捕捉該輸出視訊幀中的該等可見圖 像像素;在捕捉該等可見圖像像素之後用該電腦系統壓縮該第一視訊幀圖像,在傳送該輸出視訊幀的整個活動顯示區域之前開始該壓縮。
- 如申請專利範圍第11項之系統,其中該第一處理單元係經組態以以該第二顯示解析度呈現該視訊幀圖像的一圖形處理單元(GPU)。
- 一種在其中具體實施處理器可執行指令的非暫時電腦可讀媒體,其中由處理器執行該指令造成該處理器執行一用於視訊延時減小的方法,該方法包括:對於具有一第一顯示解析度之複數個可見圖像像素的一第一視訊幀圖像,將該第一視訊幀圖像插入到具有大於該第一顯示解析度之一第二顯示解析度的一源視訊幀中且壓縮該第一視訊幀圖像,其中該源視訊幀係在該活動顯示區域中具有兩個圖像區域的立體3D格式,其中該插入該第一視訊幀圖像包括將該複數個可見圖像像素及複數個額外像素插入到該源視訊幀的一活動顯示區域中,其中該插入該第一視訊幀圖像包括將該複數個可見圖像像素插入到該兩個圖像區域之一中且用該等額外像素填充該兩個圖像區域中的另一個。
- 一種在其中具體實施處理器可執行指令的非暫時電腦可讀媒體,其中由處理器執行該指令造成該處理器執行一用於視訊延時減小的方法,該方法包括: 對於具有一第一顯示解析度之複數個可見圖像像素的一第一視訊幀圖像,將該第一視訊幀圖像插入到具有大於該第一顯示解析度之一第二顯示解析度的一源視訊幀中,其中該插入該第一視訊幀圖像包括將該複數個可見圖像像素及複數個額外像素插入到該源視訊幀之一活動顯示區域中,其中該第一視訊幀圖像具有複數個可見圖像行,各個該可見圖像行具有複數個該等可見圖像像素;其中該源視訊幀呈該活動顯示區域界定單色圖像區域的一單色格式;其中該單色圖像區域具有複數個活動行,各個該活動行具有複數個活動像素;其中該單色圖像區域中之活動行的數量大於該第一視訊幀圖像中之可見圖像行的數量;其中各個該活動行中之活動像素的數量大於各個該可見圖像行中之可見圖像像素的數量;其中該插入該第一視訊幀包括用該等可見圖像像素填充該活動行之至少一些,使得該活動行之至少一些各包括來自一個以上該等可見圖像行的該等可見圖像像素。
- 一種用於視訊延時減小的系統,其包括:一第一處理單元;及一第一記憶體單元,其操作地連接到該第一處理單元,其中該系統係配置以執行一方法,該方法包括: 對於具有一第一顯示解析度之複數個可見圖像像素的一第一視訊幀圖像,將該第一視訊幀圖像插入到具有大於該第一顯示解析度之一第二顯示解析度的一源視訊幀中,其中該插入該第一視訊幀圖像包括將該複數個可見圖像像素及複數個額外像素插入到該源視訊幀之一活動顯示區域中;其中該第一視訊幀圖像具有複數個可見圖像行,各個該可見圖像行具有複數個該等可見圖像像素;其中該源視訊幀呈該活動顯示區域界定單色圖像區域的一單色格式;其中該單色圖像區域具有複數個活動行,各個該活動行具有複數個活動像素;其中該單色圖像區域中之活動行的數量大於該第一視訊幀圖像中之可見圖像行的數量;其中各個該活動行中之活動像素的數量大於各個該可見圖像行中之可見圖像像素的數量;其中該插入該第一視訊幀包括用該等可見圖像像素填充該活動行之至少一些,使得該活動行之至少一些各包括來自一個以上該等可見圖像行的該等可見圖像像素。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/135,374 US9497358B2 (en) | 2013-12-19 | 2013-12-19 | Video latency reduction |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201540050A TW201540050A (zh) | 2015-10-16 |
TWI571106B true TWI571106B (zh) | 2017-02-11 |
Family
ID=53401491
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW103136466A TWI571106B (zh) | 2013-12-19 | 2014-10-22 | 視訊延時減小 |
Country Status (7)
Country | Link |
---|---|
US (1) | US9497358B2 (zh) |
EP (1) | EP3085078B1 (zh) |
JP (1) | JP6230714B2 (zh) |
KR (1) | KR101764766B1 (zh) |
CN (1) | CN104735462B (zh) |
TW (1) | TWI571106B (zh) |
WO (1) | WO2015094475A1 (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8990446B2 (en) | 2012-10-04 | 2015-03-24 | Sony Computer Entertainment America, LLC | Method and apparatus for decreasing presentation latency |
US10353633B2 (en) | 2013-12-19 | 2019-07-16 | Sony Interactive Entertainment LLC | Mass storage virtualization for cloud computing |
US9332216B2 (en) | 2014-03-12 | 2016-05-03 | Sony Computer Entertainment America, LLC | Video frame rate compensation through adjustment of vertical blanking |
US9728166B2 (en) * | 2015-08-20 | 2017-08-08 | Qualcomm Incorporated | Refresh rate matching with predictive time-shift compensation |
US10744407B2 (en) | 2015-09-08 | 2020-08-18 | Sony Interactive Entertainment LLC | Dynamic network storage for cloud console server |
US10652553B2 (en) * | 2016-12-07 | 2020-05-12 | Qualcomm Incorporated | Systems and methods of signaling of regions of interest |
US10963365B2 (en) * | 2019-03-20 | 2021-03-30 | Electronic Arts Inc. | System for testing command execution latency within an application |
US11020658B2 (en) | 2019-03-20 | 2021-06-01 | Electronic Arts Inc. | System for testing command execution latency within a video game |
US11057634B2 (en) * | 2019-05-15 | 2021-07-06 | Disney Enterprises, Inc. | Content adaptive optimization for neural data compression |
TWI765293B (zh) * | 2019-07-08 | 2022-05-21 | 聯詠科技股份有限公司 | 接收裝置、影像紀錄系統以及降低影像紀錄系統之影像延遲的方法 |
US11524230B2 (en) | 2019-10-01 | 2022-12-13 | Sony Interactive Entertainment Inc. | Encoder tuning to improve tradeoffs between latency and video quality in cloud gaming applications |
US11420118B2 (en) | 2019-10-01 | 2022-08-23 | Sony Interactive Entertainment Inc. | Overlapping encode and transmit at the server |
US11539960B2 (en) | 2019-10-01 | 2022-12-27 | Sony Interactive Entertainment Inc. | Game application providing scene change hint for encoding at a cloud gaming server |
US11458391B2 (en) | 2019-10-01 | 2022-10-04 | Sony Interactive Entertainment Inc. | System and method for improving smoothness in cloud gaming applications |
US11235235B2 (en) | 2019-10-01 | 2022-02-01 | Sony Interactive Entertainment Inc. | Synchronization and offset of VSYNC between gaming devices |
EP4107719A4 (en) * | 2020-02-21 | 2023-10-11 | Qualcomm Incorporated | REDUCED DISPLAY PROCESSING UNIT TRANSFER TIME TO COMPENSATE FOR GRAPHICS PROCESSING UNIT RENDERING DELAY |
CN115119049B (zh) * | 2022-06-22 | 2023-10-17 | 深圳市瑞云科技有限公司 | 一种支持云游戏一起玩的动态编码方法 |
US11776507B1 (en) | 2022-07-20 | 2023-10-03 | Ivan Svirid | Systems and methods for reducing display latency |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5502462A (en) * | 1993-11-01 | 1996-03-26 | The 3Do Company | Display list management mechanism for real-time control of by-the-line modifiable video display system |
US20040174378A1 (en) * | 2003-03-03 | 2004-09-09 | Deering Michael F. | Automatic gain control, brightness compression, and super-intensity samples |
US20080143729A1 (en) * | 2006-12-15 | 2008-06-19 | Nvidia Corporation | System, method and computer program product for adjusting a refresh rate of a display for power savings |
US20100149413A1 (en) * | 2008-12-15 | 2010-06-17 | Kabushiki Kaisha Toshiba | Electronic apparatus and display control method |
US20120306926A1 (en) * | 2011-06-06 | 2012-12-06 | Apple Inc. | Inline scaling unit for mirror mode |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5034817A (en) | 1990-02-28 | 1991-07-23 | The United States Of America As Represented By The Secretary Of The Navy | Reconfigurable video line digitizer and method for storing predetermined lines of a composite video signal |
US5969828A (en) * | 1997-03-12 | 1999-10-19 | Minolta Co., Ltd. | Digital copying machine, image reading device used in said digital copying machine, and image processing method used in these devices |
US6874060B2 (en) | 2001-12-07 | 2005-03-29 | Dell Products L.P. | Distributed computer system including a virtual disk subsystem and method for providing a virtual local drive |
US20080211816A1 (en) * | 2003-07-15 | 2008-09-04 | Alienware Labs. Corp. | Multiple parallel processor computer graphics system |
JP3799048B2 (ja) * | 2004-02-27 | 2006-07-19 | シャープ株式会社 | 映像表示装置及び映像表示方法 |
US20060061517A1 (en) * | 2004-09-23 | 2006-03-23 | Jolly Paul A | Delivering pixels received at a lower data transfer rate over an interface that operates at a higher data transfer rate |
JP4557739B2 (ja) * | 2005-02-04 | 2010-10-06 | シャープ株式会社 | 映像変換装置、及び映像表示装置 |
KR100813961B1 (ko) * | 2005-06-14 | 2008-03-14 | 삼성전자주식회사 | 영상 수신장치 |
EP2044543A4 (en) | 2006-04-13 | 2012-07-04 | Yosef Mizrachi | METHOD AND DEVICE FOR PROVIDING GAME SERVICES AND MOVING WITH VIDEO CONTENT |
JP5239136B2 (ja) * | 2006-08-22 | 2013-07-17 | セイコーエプソン株式会社 | データ伝送方法、データ伝送システム、情報処理装置、データ伝送プログラム、外部装置 |
US20090135916A1 (en) * | 2007-11-26 | 2009-05-28 | Mediatek Inc. | Image processing apparatus and method |
EP2238743A4 (en) | 2007-12-17 | 2011-03-30 | Stein Gausereide | REAL-TIME VIDEO INCLUSION SYSTEM |
US20100280817A1 (en) | 2009-04-30 | 2010-11-04 | Spansion Llc | Direct pointer access and xip redirector for emulation of memory-mapped devices |
US20110149032A1 (en) | 2009-12-17 | 2011-06-23 | Silicon Image, Inc. | Transmission and handling of three-dimensional video content |
DE102009058795A1 (de) | 2009-12-18 | 2011-06-22 | Epcos Ag, 81669 | Piezoelektrisches Keramikmaterial, Verfahren zur Herstellung des piezoelektrischen Keramikmaterials, piezoelektrisches Vielschichtbauelement und Verfahren zur Herstellung des piezoelektrischen Vielschichtbauelements |
US8669993B2 (en) | 2010-01-11 | 2014-03-11 | Apple Inc. | User interface unit for fetching only active regions of a frame |
US8341363B2 (en) | 2010-05-03 | 2012-12-25 | Panzura, Inc. | Efficient cloud network attached storage |
JP2012039476A (ja) * | 2010-08-09 | 2012-02-23 | Sony Corp | 送受信装置および送受信方法 |
KR101312268B1 (ko) * | 2010-12-24 | 2013-09-25 | 주식회사 케이티 | 클라우드 컴퓨팅 환경에서 게임 서비스 제공 방법, 클라우드 컴퓨팅 서버, 및 클라우드 컴퓨팅 시스템 |
PL2472879T3 (pl) | 2010-12-31 | 2014-03-31 | Advanced Digital Broadcast Sa | Sposób i system do określania typu ramki wideo |
US9165537B2 (en) | 2011-07-18 | 2015-10-20 | Nvidia Corporation | Method and apparatus for performing burst refresh of a self-refreshing display device |
US8281288B1 (en) | 2011-10-20 | 2012-10-02 | Google Inc. | Integrated development environment with network-based compilation and sandboxed native machine-language capabilities |
US10319333B2 (en) * | 2012-09-26 | 2019-06-11 | Apple Inc. | Refresh rate matching for displays |
US20140281023A1 (en) * | 2013-03-18 | 2014-09-18 | Nvidia Corporation | Quality of service management server and method of managing quality of service |
US10353633B2 (en) | 2013-12-19 | 2019-07-16 | Sony Interactive Entertainment LLC | Mass storage virtualization for cloud computing |
-
2013
- 2013-12-19 US US14/135,374 patent/US9497358B2/en active Active
-
2014
- 2014-10-21 JP JP2016541614A patent/JP6230714B2/ja active Active
- 2014-10-21 WO PCT/US2014/061636 patent/WO2015094475A1/en active Application Filing
- 2014-10-21 EP EP14871630.1A patent/EP3085078B1/en active Active
- 2014-10-21 KR KR1020167016463A patent/KR101764766B1/ko active IP Right Grant
- 2014-10-22 TW TW103136466A patent/TWI571106B/zh active
- 2014-10-31 CN CN201410602456.5A patent/CN104735462B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5502462A (en) * | 1993-11-01 | 1996-03-26 | The 3Do Company | Display list management mechanism for real-time control of by-the-line modifiable video display system |
US20040174378A1 (en) * | 2003-03-03 | 2004-09-09 | Deering Michael F. | Automatic gain control, brightness compression, and super-intensity samples |
US20080143729A1 (en) * | 2006-12-15 | 2008-06-19 | Nvidia Corporation | System, method and computer program product for adjusting a refresh rate of a display for power savings |
US20100149413A1 (en) * | 2008-12-15 | 2010-06-17 | Kabushiki Kaisha Toshiba | Electronic apparatus and display control method |
US20120306926A1 (en) * | 2011-06-06 | 2012-12-06 | Apple Inc. | Inline scaling unit for mirror mode |
Also Published As
Publication number | Publication date |
---|---|
JP6230714B2 (ja) | 2017-11-15 |
EP3085078A1 (en) | 2016-10-26 |
WO2015094475A1 (en) | 2015-06-25 |
US9497358B2 (en) | 2016-11-15 |
TW201540050A (zh) | 2015-10-16 |
CN104735462A (zh) | 2015-06-24 |
US20150181084A1 (en) | 2015-06-25 |
EP3085078A4 (en) | 2017-11-22 |
KR20160088926A (ko) | 2016-07-26 |
JP2017505035A (ja) | 2017-02-09 |
CN104735462B (zh) | 2019-07-12 |
EP3085078B1 (en) | 2023-09-20 |
KR101764766B1 (ko) | 2017-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI571106B (zh) | 視訊延時減小 | |
US11741916B2 (en) | Video frame rate compensation through adjustment of timing of scanout | |
CN104244088B (zh) | 显示控制器、屏幕图像传送装置和屏幕图像传送方法 | |
US6646645B2 (en) | System and method for synchronization of video display outputs from multiple PC graphics subsystems | |
CN101057272B (zh) | 连接图形适配器以获得可缩放性能 | |
KR102362054B1 (ko) | 다중 디스플레이 시스템을 구성하는 디스플레이 장치 및 그 제어 방법 | |
GB2538797B (en) | Managing display data | |
US8681170B2 (en) | Apparatus and method for multi-streaming for more than three pixel component values | |
CN108345559B (zh) | 虚拟现实数据输入装置和虚拟现实设备 | |
JP2013516117A (ja) | 多重ストリーム送信/受信動作を伴う3次元ビデオディスプレイシステム | |
EP4290465A1 (en) | 3d object streaming method, device, and program | |
CN104717397A (zh) | 一种图像数据处理方法及电子设备 | |
CN111683077B (zh) | 虚拟现实设备及数据的处理方法 | |
KR20180108967A (ko) | 멀티비전 화면 영상 렌더링 시스템, 장치 및 방법 | |
CN104581109A (zh) | 一种3d数字视频信号处理方法及其装置 | |
Osmanis et al. | Development of digital uncompressed 3D image transfer using DisplayPort™ 1.2 video standard for volumetric 3D imaging applications | |
EP2315443A1 (en) | Instant image processing system, method for processing instant image and image transferring device | |
Yu et al. | Design of 3D-TV Horizontal Parallax Obtaining System Based on FPGA | |
Aumüller | D5. 3.4–Remote hybrid rendering: revision of system and protocol definition for exascale systems |