減少視頻編碼中的數據量的制作方法
【專利摘要】一種用于將應用的屏幕輸出編碼成一系列視頻序列的方法,其中各視頻序列能夠包括幀內(I幀)以及與I幀相關的幀間(P幀),并且各視頻序列對一個屏幕輸出來形成。該方法能夠包括對第一屏幕輸出形成第一視頻序列,其中第一視頻序列能夠包括I幀和(P幀),以及對第二屏幕輸出形成包括I幀和(P幀)的第二視頻序列,其中第二視頻序列的I幀能夠通過對第二屏幕輸出與第一屏幕輸出相比的變更區(qū)域進行編碼來得到。還提供一種用于編碼的裝置、編碼器、用于解碼的裝置以及解碼。能夠按照本發(fā)明減少視頻數據。
【專利說明】減少視頻編碼中的數據量
[0001]
【技術領域】
[0002]本發(fā)明涉及多媒體數據的處理,具體來說,涉及減少對應用的屏幕輸出進行編碼中的數據量。
【背景技術】
[0003]點播服務指在需求時通過網絡連接、服務器、相關壓縮技術等直接向最終用戶流播的那些服務。服務的內容不是存儲在諸如計算機、移動電話等的最終用戶機器上,而是存儲在服務器上。服務器對內容進行編碼,并且將編碼內容傳送給最終用戶機器,使得最終用戶體驗該服務而無需在他/她的機器中安裝與服務相關的任何應用。
[0004]隨著包括固定網絡、移動通信網絡和用來在裝置之間傳送數據的其它網絡的網絡技術的高度發(fā)展,點播服務變得越來越普遍。
[0005]游戲點播(GoD)是點播服務的一個示例。用戶能夠使用經由網絡連接到服務器的用戶設備(即,上述用戶機器)玩游戲,所述游戲安裝在服務器中。點播服務的其它示例涉及視頻點播(VOD)、電視點播(TOD)等。
[0006]服務器對與點播服務相關的應用的內容(例如游戲的內容)進行編碼,以便形成壓縮數據以促進網絡上的傳送。
[0007]沒有網絡等待時間的通過網絡的平滑傳送給預期欣賞點播服務的用戶帶來良好體驗。但是,當網絡的業(yè)務超出某個閾值時,網絡等待時間由于網絡擁塞而發(fā)生,并且使點播服務對用戶是不良體驗。
【發(fā)明內容】
[0008]鑒于前面所述,本發(fā)明的一個目的是提供允許待編碼的視頻數據量被減少以使得能夠解決上述和其它問題的方法、裝置和編碼器。
[0009]本發(fā)明提供一種用于將應用的屏幕輸出編碼成一系列視頻序列的方法,其中各視頻序列能夠包括幀內(I幀)以及與I幀相關的幀間(P幀)。應用的屏幕輸出能夠輸入到用來對其編碼的裝置,并且存儲在那個裝置的存儲器中。按照本發(fā)明的一個方面的各視頻序列能夠對各屏幕輸出而形成。該方法能夠包括:對第一屏幕輸出形成第一視頻序列,其中第一視頻序列能夠包括I幀和P幀;以及對第二屏幕輸出形成包括I幀和P幀的第二視頻序列,其中第二視頻序列的I幀能夠通過對第二屏幕輸出與第一屏幕輸出相比的變更區(qū)域進行編碼來得到。
[0010]本發(fā)明還提供一種用于將應用的屏幕輸出編碼成多個視頻序列的編碼器,其中各視頻序列包括幀內(I幀)以及與I幀相關的幀間(P幀),并且各視頻序列對一個屏幕輸出而形成。編碼器布置成對第一屏幕輸出形成包括I幀和P幀的第一視頻序列,以及對第二屏幕輸出形成包括I幀和P幀的第二視頻序列,其中第二視頻序列的I幀通過對第二屏幕輸出與第一屏幕輸出相比的變更區(qū)域進行編碼來得到。
[0011]本發(fā)明還提供一種用于將應用的屏幕輸出編碼成一系列視頻序列的裝置,其中各視頻序列對一個屏幕輸出而形成,并且各視頻序列包括幀內(I幀)以及與I幀相關的幀間(P幀)。該裝置能夠包括存儲裝置和編碼元件,其中存儲裝置能夠用來將應用的屏幕輸出存儲為原始數據,以及編碼元件能夠用來對第一屏幕輸出形成包括I幀和P幀的第一視頻序列,并且對第二屏幕輸出形成包括I幀和P幀的第二視頻序列,其中第二視頻序列的I幀能夠通過對第二屏幕輸出與屏幕輸出相比的變更區(qū)域進行編碼來得到。
[0012]本發(fā)明還提供一種用于對一系列視頻序列進行解碼的方法,其中各視頻序列包括幀內(I幀)以及與I幀相關的幀間(P幀),并且各視頻序列對于應用的多個屏幕輸出中的屏幕輸出而形成。該方法能夠包括:對包括I幀和P幀的第一視頻序列進行解碼,其中第一視頻序列對第一屏幕輸出而形成;以及對包括I幀和P幀的第二視頻序列進行解碼,其中第二視頻序列對第二屏幕輸出而形成,其中第二視頻序列的I幀通過對第二屏幕輸出與屏幕輸出相比的變更區(qū)域進行編碼來得到。
[0013]本發(fā)明另外提供一種用于對一系列視頻序列進行解碼的解碼器,各視頻序列包括幀內(I幀)以及與I幀相關的幀間(P幀),各視頻序列對于應用的多個屏幕輸出中的屏幕輸出而形成。解碼器能夠布置成將對第一屏幕輸出所形成并且包括I幀和P幀的第一視頻序列進行解碼,以及將對第二屏幕輸出所形成并且包括I幀和P幀的第二視頻序列進行解碼,其中第二視頻序列的I幀通過對第二屏幕輸出與第一屏幕輸出相比的變更區(qū)域進行編碼來得到。
[0014]本發(fā)明還提供一種用于對一系列視頻序列(其中的每個包括幀內(I幀)以及與I幀相關的幀間(P幀))進行解碼的裝置,各視頻序列對于應用的多個屏幕輸出中的屏幕輸出而形成。裝置能夠包括存儲裝置和解碼元件,其中存儲裝置能夠用于存儲接收的視頻序列,以及解碼元件能夠用于將對第一屏幕輸出所形成并且包括I幀和P幀的第一視頻序列進行解碼,并且用于將對第二屏幕輸出所形成并且包括I幀和P幀的第二視頻序列進行解碼,其中第二視頻序列的I幀通過對第二屏幕輸出與第一屏幕輸出相比的變更區(qū)域進行編碼來得到。
[0015]變更區(qū)域的位置信息能夠包含在第二視頻序列的I幀中。
[0016]按照本發(fā)明,能夠減少視頻序列的I幀中的視頻數據量。
【專利附圖】
【附圖說明】
[0017]下面將參照示例和附圖來詳細描述本發(fā)明,其中,
圖1是示出平均網絡帶寬相對于視頻序列的每幀的數據量的圖。
[0018]圖2是按照本發(fā)明的實施例,用于將應用的屏幕輸出編碼成一系列視頻序列的方法的流程圖。
[0019]圖3示出按照本發(fā)明的實施例的I幀的RTP (實時協(xié)議)分組的示范結構。
[0020]圖4示出圖3所示的擴展數據的示范結構。
[0021]圖5a示出第一視頻序列的示范顯示。
[0022]圖5b示出接著圖5a所示的第一視頻序列的顯示。
[0023]圖6示出按照本發(fā)明,用于將應用的屏幕輸出編碼成一系列視頻序列的裝置的框圖。
[0024]圖7是按照本發(fā)明的實施例,用于對一系列編碼視頻序列進行解碼的方法的流程圖。
[0025]圖8示出按照本發(fā)明的實施例,用于對一系列視頻幀進行解碼的裝置的框圖。
[0026]圖9示出應用的一個屏幕輸出的示例。
[0027]圖10示出按照本發(fā)明的云計算的示范架構。
【具體實施方式】
[0028]將參照附圖更全面地描述本發(fā)明,附圖中示出各個實施例。但是,本發(fā)明可按照許多不同形式來實施,而不應構造為限于本文闡述的實施例。而是,提供這些實施例使得本公開將是全面和完整的,并且將把本發(fā)明的范圍全部傳達給本領域的技術人員。
[0029]本文所使用的術語僅用于便于描述具體實施例的目的,而不意在限制本發(fā)明。如本文所使用的,單數形式“一”、“一個”和“所述”意圖也包括復數形式,除非上下文另外明確說明。還將理解,術語“包括”、“包含”及其變型在本說明書中使用時指定所述特征、步驟、元件和/或組件的存在,但是并不排除一個或多個其它特征、步驟、元件、組件和/或其組的存在或附加。
[0030]將理解,雖然術語“第一”、“第二”在本文中可用來描述各種視頻序列、元件等,這些視頻序列和元件不應當受到這些術語限制。這些術語僅用來將本文所述的一個視頻序列和元件與另一個加以區(qū)分。因此,以下討論的第一視頻序列或者第一元件可稱作第二視頻序列或者第二元件,而沒有背離本發(fā)明的教導。
[0031]除非另外限定,本文所使用的所有術語(包括技術術語和科學術語)都具有與本發(fā)明所屬領域的普通技術人員通常所理解的相同的含意。
[0032]多媒體文件中的視頻文件包括大量靜止圖像幀,其被接連(通常每秒15至30幀)快速顯示以創(chuàng)建運動圖像的印象。圖像幀通常包括通過基本上保持不變的圖像信息所確定的多個靜止背景對象以及通過在某種程度上改變的圖像信息所確定的幾個運動對象。由連續(xù)顯示的圖像幀所包含的信息通常在很大程度上是相似的,即,連續(xù)圖像幀包括大量冗余。在視頻文件中出現的冗余能夠分為空間、時間和譜冗余??臻g冗余指鄰近圖像像素的互相關,時間冗余指后續(xù)幀中的特定圖像對象中發(fā)生的變化,以及譜冗余指圖像幀內的不同色彩分量的相關。
[0033]為了減少視頻文件中的數據量,能夠通過減少圖像幀中的冗余信息量來將圖像數據壓縮成較小形式。另外,在編碼時,當前使用的視頻編碼器的大多數使視頻信息中不太重要的圖像幀部分中的圖像質量降級。此外,許多視頻編碼方法允許從要通過稱作VLC(可變長度編碼)的壓縮參數的有效無損編碼來減少的圖像數據所編碼的比特流中的冗余。
[0034]另外,許多視頻編碼方法利用連續(xù)圖像幀的上述時間冗余。在那種情況下,使用稱作運動補償時間預測的方法,即,視頻序列中的圖像幀的一些(通常為大部分)的內容通過跟蹤連續(xù)圖像幀的特定對象或區(qū)域中的變化而從序列中的其它幀預測。視頻序列始終包括一些壓縮的圖像幀,其圖像信息尚未使用運動補償時間預測來確定。這類幀稱作幀內或I幀。對應地,從先前的圖像幀所預測的運動補償視頻序列圖像幀稱作幀間或P幀(預測的)。P幀的圖像信息使用一個I幀以及可能地一個或多個先前編碼P幀來確定。[0035]I幀通常發(fā)起定義為圖像組(GOP)的視頻序列,其P幀只能基于所述的GOP的I幀和先前P幀來確定。下一個I幀開始新的圖像組G0P,即新的視頻序列。新GOP的P幀只能基于新GOP的I幀來確定。在ITU-T (國際電信聯(lián)盟,電信標準化部門)所發(fā)布的某些標準(例如H.264、MPEG-4等)中應用用來減少視頻圖像中的冗余的這樣的編碼方法。但是,在將方法應用于一些標準(例如H.264和MPEG-4)時,I幀的視頻數據量仍然相對較大。
[0036]圖1是示出平均網絡帶寬相對于視頻序列的每幀的數據量的圖。圖1所示的視頻序列是通過MPEG-4來編碼的游戲的一系列視頻序列之一。如所示,能夠稱作GOP的視頻序列開始于I幀10和必要數量的P幀20。如所示,I幀10的數據量比網絡的平均吞吐量30要大許多。大量視頻數據塊平滑通過網絡的I幀10的傳送,使得I幀無法由接收器(其能夠提供有電子裝置,例如移動電話)實時地接收和解碼。實際上,為常規(guī)接收器的解碼器提供抖動緩沖器,以確保整個I幀能夠在解碼之前接收。
[0037]圖2是按照本發(fā)明的實施例,用于將應用的屏幕輸出編碼成一系列視頻序列的方法的流程圖。本文中的應用的屏幕輸出指輸入到裝置并且存儲在那個裝置的存儲器中的原始數據,其中該裝置用來將屏幕輸出編碼成一系列視頻序列。視頻序列的編碼序列能夠在能夠經由網絡連接到裝置用戶設備(諸如移動電話、MP3、MP4、膝上型計算機等)中顯示。開始于I幀并且還包括必要數量的P幀的各視頻序列對于應用的屏幕輸出而形成。
[0038]如所示,第一視頻序列對于第一屏幕輸出(其包括I幀和必要數量的P幀)而形成(步驟101)。第一視頻序列的P幀基于I幀和/或先前P幀而確定。然后,第二視頻序列對第二屏幕輸出而形成(步驟103),其中第二視頻序列的I幀通過僅對第二屏幕輸出與第一屏幕輸出相比的變更區(qū)域進行編碼來得到。能夠理解,第二屏幕輸出比第一屏幕輸出更遲地向用戶顯示。
[0039]為了使用戶設備在顯示應用中知道相對于整個屏幕輸出的變更區(qū)域的特定位置,將變更區(qū)域的位置信息作為擴展數據包含在第二視頻幀的I幀中。
[0040]通過示例的方法,按照本發(fā)明的一個實施例的方法,通過使用H.264或MPEG-4對視頻序列進行編碼。圖3示出按照本發(fā)明的實施例的I幀的RTP(實時協(xié)議)分組的示范結構。圖4示出圖3所示的擴展數據的示范結構。如圖3所示,I幀的RTP分組包括擴展數據部分,其指示變更區(qū)域的位置信息。諸如UDP(用戶數據報協(xié)議)報頭、RTP報頭等的RTP分組的其它部分通過RFC 3984 (H.264視頻的RTP有效載荷格式)和RFC 3016 (MPEG-4視頻/視覺流的RTP有效載荷格式)來定義。參照圖4,擴展數據包括:視頻寬度部分440(示出變更區(qū)域的寬度的值);視頻高度442 (示出變更區(qū)域的高度的值);以及參考點部分444 (其相對于應用的屏幕輸出來定位變更區(qū)域)。按照本實施例,擴展數據44能夠僅附加到I幀的第一 RTP分組,并且接著I幀的P幀能夠使用I幀中的擴展數據而沒有包含位置信息,即,P幀也不需要附加擴展數據,使得能夠避免不必要的網絡業(yè)務。在附加有擴展數據的I幀的大小超出預期大小的情況下,I幀能夠分為若干RTP分組。但是,位置信息還能夠以其它方式提供有視頻序列,例如在P幀中。能夠理解,圖3和圖4中的圖示只是說明性示例。此外,按照本發(fā)明,變更區(qū)域能夠是保持為暫時改變的區(qū)域。
[0041]參照圖2,將理解,“第一視頻序列”或“第一屏幕輸出”的術語“第一”不是用來限制第一視頻序列或者第一屏幕輸出是視頻序列的系列中的實際第一個或者實際第一屏幕輸出。如上所述,術語“第一”僅用來將一個視頻序列與另一個加以區(qū)分,以及將一個屏幕輸出與另一個 加以區(qū)分。按照本發(fā)明的第一屏幕輸出能夠是應用的實際第一屏幕輸出,以及也能夠是應用的屏幕輸出的任一個。類似地,第一視頻序列能夠是視頻序列的系列中的實際第一視頻序列,以及也能夠是視頻序列的系列中的任一個。例如,應用的屏幕輸出能夠形成為視頻序列1、視頻序列2、視頻序列3、視頻序列4、視頻序列5、…、視頻序列n-2、視頻序列η-1和視頻序列η。在這種情況下,本文中的第一視頻序列能夠用來指示任何視頻序列,例如視頻序列2或者視頻序列5或者視頻序列n-2或者實際第一視頻序列,即視頻序列I。類似地,第二屏幕輸出用來指除了實際第一視頻序列之外的應用的任何屏幕輸出。對應地,第二視頻序列能夠是除了實際第一視頻序列之外的視頻序列的系列中的任何視頻序列。例如,第二視頻序列能夠是視頻序列1,例如視頻序列3或者視頻序列6或者視頻序列η-1或者實際第二視頻序列,即視頻序列2。
[0042]此外,如果第一視頻序列是視頻序列系列中的實際第一視頻序列,則在步驟101,通過對應用的第一屏幕輸出的原始數據進行編碼來形成第一視頻序列的I幀;以及如果第一視頻序列不是實際第一視頻序列,例如第一視頻序列是視頻序列2、視頻序列3等,則通過僅將對應屏幕輸出與先前屏幕輸出相比的變更區(qū)域進行編碼來形成第一視頻序列的I幀。
[0043]圖5a示出第一視頻序列的示范顯示。第一視頻序列的顯示是應用的第一屏幕輸出。應當注意,圖5a只是說明性的,而不意在限制。實際上,在解碼之后所顯示的視頻序列可包括比所示更多的細節(jié)。通過示例的方式,第一屏幕輸出的人305將從位置301移動到另一個位置。第二視頻序列(即應用的第二屏幕輸出)的顯示在圖5b中示出,其中人305移動到的位置指示為302。與第一屏幕輸出相比,只有人305的位置改變。因此,至少包括人的原始位置301和新位置302的區(qū)域30能夠被視為變更區(qū)域。在這種情況下,第二視頻序列的I幀僅通過對變更區(qū)域30進行編碼來形成。在編碼期間,這個變更區(qū)域30的位置信息也包含在第二視頻序列的I幀中。由于僅對變更區(qū)域30進行編碼,第二序列的I幀的視頻數據量比對整個屏幕輸出進行編碼要少許多。返回到圖1,超過網絡的平均吞吐量30的I幀的數據量甚至減少到低于網絡的平均吞吐量。由大I幀產生的網絡等待時間得到極大改進。
[0044]圖6示出按照本發(fā)明,用于將應用的屏幕輸出編碼成一系列視頻序列的裝置的框圖。裝置包括存儲裝置50和編碼元件52。存儲裝置50將應用的屏幕輸出存儲為能夠用來形成視頻序列的原始數據。存儲裝置50能夠用來存儲其它相關數據。編碼元件52將應用的屏幕輸出編碼成一系列視頻序列,其中各視頻序列對屏幕輸出而形成,以及各視頻序列包括I幀和必要數量的P幀。本文中的必要數量的P幀指在形成視頻序列中所需要的一個或多個P幀。第一視頻序列由編碼元件52對第一屏幕輸出來形成,其中第一視頻序列包括I幀和P幀。如以上參照圖2所述,第一屏幕輸出和第一視頻序列能夠分別是應用的實際第一屏幕輸出和視頻序列系列的實際第一視頻序列,在這種情況下,第一視頻序列的I幀能夠通過對第一屏幕輸出的原始數據進行編碼來形成,其中原始數據能夠輸入到裝置中并且存儲在存儲裝置50中。但是,如果第一視頻序列不是視頻序列系列的實際第一視頻序列(例如視頻序列3或者視頻序列5等),則第一視頻序列的I幀通過僅對第一屏幕輸出與先前屏幕輸出(例如對應于視頻序列2的屏幕輸出)相比的變更區(qū)域進行編碼來形成。第二視頻序列也由編碼元件52來編碼。元件編碼元件52通過以下來形成第二視頻序列:借助于僅對第二屏幕輸出與第一屏幕輸出相比的變更區(qū)域進行編碼來形成I幀,并且然后基于所形成I幀來形成必要的P幀。由裝置在對應用的屏幕輸出進行編碼期間所產生的視頻數據減少,因為編碼元件52僅對變更區(qū)域進行編碼。為了使對編碼視頻序列進行接收和解碼的裝置知道變更區(qū)域相對于第一視頻序列的I幀的位置,變更區(qū)域的位置信息包含在第二視頻序列的I幀中。例如,位置信息能夠提供有I幀,如圖3和圖4所示。圖6所示的裝置能夠實施為計算機、便攜裝置,例如移動電話、媒體播放器等。將理解,裝置還能夠包括輸入和輸出元件、處理器等。在裝置包括處理器的情況下,編碼元件能夠可選地集成到其中。
[0045]圖6所示裝置的編碼元件52能夠實施為獨立元件,其能夠提供在各種設備中,例如計算機、便攜裝置、如移動電話等。獨立元件還能夠實施為編碼器,其布置成按照參照圖2討論的方法來對應用的屏幕輸出進行編碼。按照本發(fā)明的編碼器能夠通過軟件、硬件或者它們兩者來實現。本文中的編碼器能夠包括由常規(guī)編碼器包含的元件,除了本發(fā)明的編碼器布置成通過將對應的屏幕輸出與先前屏幕輸出相比的變更區(qū)域進行編碼來形成一個視頻序列的I幀之外。在本發(fā)明的一個實施例中,編碼器是H.264編碼器或Mpeg-4編碼器。
[0046]圖7是按照本發(fā)明的實施例,用于對一系列編碼視頻序列進行解碼的方法的流程圖。各視頻序列包括I幀以及與I幀相關的P幀,以及各視頻序列對于應用的多個屏幕輸出中的屏幕輸出來形成。如所示,在步驟601,第一視頻序列被解碼,其中第一視頻序列對第一屏幕來輸出來形成,并且包括I幀和必要數量的P幀。在步驟603,第二視頻序列經過解碼,其中第二視頻序列對第二屏幕輸出來形成,并且包括I幀和P幀,其中I幀通過僅對第二屏幕輸出與第一屏幕輸出相比的變更區(qū)域進行編碼來形成。變更區(qū)域相對于整個屏幕輸出的位置信息包含在第二視頻序列中,以便確定變更區(qū)域的位置信息。作為示例,能夠按照參照圖3和圖4討論的方式,將位置信息包含在I幀中。因此,變更區(qū)域的特定位置能夠在對第二視頻序列的I幀進行解碼期間得到,使得與第二視頻序列關聯(lián)的視頻圖像能夠適當地再現。第一視頻序列能夠是如以上參照圖2所述的視頻序列系列的實際第一視頻序列,在那種情況下,第一視頻序列的I幀能夠通過對第一視頻屏幕輸出的原始數據進行編碼來形成。但是,如果第一視頻序列不是視頻序列系列的實際第一視頻序列(例如視頻序列3或者視頻序列5等),則第一視頻序列的I幀通過僅將對應屏幕輸出與先前屏幕輸出(例如視頻序列2或者視頻序列4等)相比的變更區(qū)域進行編碼來形成。
[0047]執(zhí)行按照本發(fā)明的用于對編碼視頻序列的系列進行解碼的方法的任何設備(例如用戶設備)能夠以更少時間和更少開銷來對視頻序列進行解碼,因為視頻序列的大多數的I幀具有少得多的數據量。該設備僅更新與顯示解碼視頻序列中的變更區(qū)域相關的它的顯示的屏幕輸出中的部分。
[0048]圖8示出按照本發(fā)明的實施例,用于對一系列視頻序列進行解碼的裝置的框圖。視頻序列對應用的屏幕輸出來形成,其中各視頻序列對屏幕輸出來形成。該裝置包括存儲裝置70和解碼元件72。存儲裝置70用于存儲接收的視頻序列。接收的視頻序列在被解碼之前暫時存儲在存儲裝置70中。解碼元件72將對第一屏幕輸出所形成并且包括I幀和P幀的第一視頻序列進行解碼。解碼元件72還對第二視頻序列進行解碼。第二視頻序列對第二屏幕輸出來形成,并且包括I幀和P幀,其中第二視頻序列的I幀通過對第二屏幕輸出與第一屏幕輸出相比的變更區(qū)域進行編碼來得到。變更區(qū)域的位置信息編碼在第二視頻序列中,使得裝置知道變更區(qū)域相對于屏幕輸出的特定位置。因此,變更區(qū)域的特定位置能夠在對第二視頻序列的I幀進行解碼期間得到,使得與第二視頻序列關聯(lián)的視頻圖像能夠適當地再現。此外,裝置能夠包括用于顯示解碼視頻序列的顯示器。圖8所示的裝置能夠實施為計算機、便攜裝置,例如移動電話、媒體播放器等。將理解,裝置還能夠包括輸入和輸出元件、處理器等。在裝置包括處理器的情況下,解碼元件能夠可選地集成到其中。
[0049]圖8所示裝置的解碼元件72能夠實施為獨立元件,其能夠提供在各種設備中,例如計算機、便攜裝置、如移動電話、MP3、MP4等。獨立元件還能夠實施為解碼器,其布置成按照參照圖8所述的方法來對應用的屏幕輸出進行解碼。按照本發(fā)明的解碼器能夠通過軟件、硬件或者它們兩者來實現。
[0050]本發(fā)明的用于對一系列視頻幀進行解碼的裝置或者提供有按照本發(fā)明的解碼器的設備能夠以更少時間和更少開銷來對視頻序列進行解碼,因為視頻序列中的大多數視頻序列的I幀具有少得多的數據量。
[0051]一般來說,按照本發(fā)明,視頻序列能夠通過僅對屏幕輸出的變更區(qū)域進行編碼來得到。因為變更區(qū)域大部分小于整個屏幕輸出,除了變更區(qū)域是整個屏幕輸出之外,所以編碼視頻序列,特別是視頻序列的I幀具有少得多的視頻數據量。應用的屏幕輸出保持變化,也就是說,變更區(qū)域不是固定的而是變化的。但是,本發(fā)明的方法、裝置和編碼器能夠例如從應用本身得到變更區(qū)域,即,應用(例如游戲)基本上知道將來的變更區(qū)域。此外,本發(fā)明的方法、裝置和編碼器能夠通過與用戶交互來得到變更區(qū)域。
[0052]如上所述的應用能夠是游戲、電影以及能夠按照視頻方式向用戶示出的其它應用。按照本發(fā)明,應用編碼為一系列視頻序列并且如上所述來進行解碼。
[0053]方法、裝置、編碼器和解碼器能夠單獨地或者相互組合地使用。例如,按照本發(fā)明的方法能夠在系統(tǒng)(例如點播服務提供系統(tǒng),其包括經由例如電信網絡(如2.5G、3G和4G)以及因特網、局域網等的網絡連接到用戶設備的一個或多個服務器)中單獨使用。在這樣的系統(tǒng)中,按照本發(fā)明的一個實施例,參照圖2的用于對應用進行編碼的方法能夠應用于服務器。這樣的系統(tǒng)中的編碼視頻序列對各視頻序列的I幀具有少得多的數據量,使得有可能某個吞吐量的網絡以更少等待時間甚至沒有等待時間來傳送視頻序列。此外,這樣的流播系統(tǒng)中的服務器能夠是參考圖6所述的裝置,或者能夠配置有如上所述的編碼器。用戶設備從點播系統(tǒng)的服務器接收視頻序列,并且還按照參照圖7所述的方式來對接收的視頻序列進行解碼。此外,用戶設備能夠是圖8所示的裝置,或者能夠配置有如上所述的解碼器。實際上,通過僅對變更區(qū)域進行編碼,需要解碼的數據也相對較低,由此減少解碼中的時間以及對編碼視頻序列進行解碼中的裝置的開銷。
[0054]參照圖9,示出應用的一個屏幕輸出的示例。這個示例中的應用是游戲,其能夠是點播游戲。屏幕輸出是能夠在顯示器上顯示的圖像。如所示的,屏幕輸出80具有640像素的長度和480像素的高度。關注區(qū)域802是按照游戲暫時保持變化的區(qū)域,其中關注區(qū)域802的長度和高度分別為320和320像素。關注區(qū)域相對于整個屏幕輸出80的參考點通過具有坐標(160,80)的804來表示。按照本發(fā)明的實施例,整個屏幕輸出80(8卩,視頻圖像)首先編碼為視頻序列,并且傳送給用戶設備。然后,只有關注區(qū)域802編碼為要傳送的下一個視頻序列。包括參考點804的坐標、寬度的值和高度的值的關注區(qū)域801的位置信息提供在下一個視頻序列的I幀內,例如在如圖3和圖4所示的I幀的第一 RTP分組中。
[0055]用來對應用(例如游戲、電影以及對其要求視頻編碼的其它任何應用)的屏幕輸出進行編碼的方法、裝置和編碼器能夠應用于需要視頻編碼的任何地方。對應地,方法、裝置和解碼器能夠應用于例如按照本發(fā)明形成接收的視頻序列的地方。這樣的地方能夠是IPTV系統(tǒng)、上述點播服務提供系統(tǒng)等。在IPTV系統(tǒng)中,服務器能夠采用如以上參照圖2所述的方法來對應用的屏幕輸出(即電視節(jié)目)進行編碼。備選地,服務器能夠是如參照圖6所述的裝置,或者服務器能夠配置有如上所述的編碼器。向用戶設備傳送編碼視頻序列。接收編碼視頻序列的裝置,例如電視機、計算機、便攜裝置、如移動電話、媒體播放器等能夠如參照圖7所述來對接收的視頻序列進行解碼。備選地,對編碼視頻序列進行接收和解碼的裝置能夠是參照圖8所述的這種裝置,或者能夠提供有如上所述的解碼器。
[0056]此外,方法、裝置、編碼器和解碼器也能夠應用于流播系統(tǒng)。術語“流播”指數據(通常為多媒體數據,例如音頻和視頻數據)的同時發(fā)送和回放,其中接收方可在接收待傳送的所有數據之前已經開始數據回放。多媒體數據流播系統(tǒng)包括流播服務器以及用戶設備,接收方將所述用戶設備用于例如經由電信網絡建立到流播服務器的數據連接。從流播服務器,接收方取回存儲的或者實時的多媒體數據,并且通過用戶設備中包含的流播應用,多媒體數據的回放則能夠最有利地與數據的傳送幾乎實時地開始。提供點播服務的系統(tǒng)能夠被看作是一種類型的流播系統(tǒng)。
[0057]圖10示出按照本發(fā)明的云計算的示范架構。用戶設備92,例如移動電話、個人計算機、電視機和平板個人計算機能夠經由應用點播中心91來請求點播服務。假定所請求的點播服務是游戲點播,則應用點播中心91找到能夠提供游戲的應用點播服務器90 (虛擬機),然后把來自用戶設備92的請求發(fā)送給找到的服務器90。服務器90采用如以上參照圖2所述的方法來對游戲進行編碼。備選地,服務器90能夠是如參照圖6所述的裝置,或者服務器90配置有如上所述的編碼器。游戲的編碼視頻序列經由網絡傳送給用戶設備92。用戶設備92能夠如參照圖7所述來對編碼視頻序列進行解碼。備選地,用戶設備92能夠是參照圖8所述的這種裝置,或者能夠包括如上所述的解碼器。
[0058]按照本發(fā)明,僅對屏幕輸出的變更區(qū)域進行編碼,I幀的視頻數據量減少,以及甚至基于I幀得到的P幀的數據量也減少。通過減少的視頻數據,有可能避免產生于網絡的傳送的等待時間。此外,接收編碼視頻序列的裝置能夠以較低開銷來對視頻序列進行解碼。
[0059]雖然為了清楚地理解,在一些細節(jié)中描述了上述發(fā)明,但是將顯而易見的是,在所附權利要求書的范圍內可實施某些變更和修改。因此,本文的實施例應當被理解為說明性而不是限制性的,以及本發(fā)明不應限于本文所給出的細節(jié),而是應當由所附權利要求及其等同物的全部范圍來限定。
【權利要求】
1.一種用于將作為原始數據輸入并且存儲在存儲器中的應用的屏幕輸出編碼成視頻序列的系列的方法,對屏幕輸出形成各視頻序列,各屏幕序列包括幀內(I幀)以及與所述I幀相關的幀間(P幀),所述方法包括: 對第一屏幕輸出形成第一視頻序列,其中所述第一視頻序列包括I幀和P幀, 對第二屏幕輸出形成包括I幀和P幀的第二視頻序列,其中所述第二視頻序列的所述I幀通過對所述第二屏幕輸出與所述第一屏幕輸出相比的變更區(qū)域進行編碼來得到。
2.如權利要求1所述的方法,其中所述變更區(qū)域的位置信息包含在所述第二視頻序列的所述I幀中。
3.如權利要求1或2所述的方法,其中將所述應用的屏幕輸出編碼成多個視頻序列是通過使用H.264或MPEG-4標準來將所述應用的屏幕輸出編碼成視頻序列的系列。
4.一種用于將應用的屏幕輸出編碼成多個視頻序列的編碼器,對屏幕輸出形成各視頻序列,各視頻序列包括幀內(I幀)以及與所述I幀相關的幀間(P幀),其中所述編碼器布置成對第一屏幕輸出形成包括I幀和P幀的第一視頻序列,以及對第二屏幕輸出形成包括I幀和P幀的第二視頻序列,其中所述第二視頻序列的所述I幀通過對所述第二屏幕輸出與所述第一屏幕輸出相比的變更區(qū)域進行編碼來得到。
5.如權利要求4所述的編碼器,還布置成在所述第二視頻序列的所述I幀中包含所述變更區(qū)域的位置信息。
6.如權利要求3或4所述的編碼器,其中所述編碼器是基于H.264或MPEG-4標準的編碼器。
7.一種用于將應用的屏幕輸出編碼成視頻序列的系列的裝置,對屏幕輸出形成各視頻序列,各屏幕序列包括幀內(I幀)以及與所述I幀相關的幀間(P幀),所述裝置包括: 存儲裝置,用于將應用的所述屏幕輸出存儲為原始數據,以及 編碼元件,用于對第一屏幕輸出形成包括I幀和P幀的第一視頻序列,并且用于對第二屏幕輸出形成包括I幀和P幀的第二視頻序列,其中所述第二視頻序列的所述I幀通過對所述第二屏幕輸出與所述第一屏幕輸出相比的變更區(qū)域進行編碼來得到。
8.如權利要求7所述的裝置,其中所述編碼元件在所述第二視頻序列的所述I幀中包含所述變更區(qū)域的位置信息。
9.如權利要求7或8所述的裝置,其中所述編碼元件通過使用H.264或MPEG-4標準來將所述應用的所述屏幕輸出編碼成視頻序列的系列。
10.一種用于對視頻序列的系列進行解碼的方法,各視頻序列包括幀內(I幀)以及與所述I幀相關的幀間(P幀),對應用的多個屏幕輸出中的屏幕輸出形成各視頻序列,所述方法包括: 對包括I幀和P幀的第一視頻序列進行解碼,其中對第一屏幕輸出形成所述第一視頻序列,以及 對包括I幀和P幀的第二視頻序列進行解碼,其中對第二屏幕輸出形成所述第二視頻序列,并且通過對所述第二屏幕輸出與所述第一屏幕輸出相比的變更區(qū)域進行編碼來得到所述第二視頻序列的所述I幀。
11.如權利要求10所述的方法,其中所述變更區(qū)域的位置信息在對所述第二視頻序列進行解碼中從所述第二視頻序列的所述I幀得到。
12.如權利要求10或11所述的方法,其中對視頻序列的系列進行解碼是采用H.264或MPEG-4標準來對視頻序列的所述系列進行解碼。
13.一種用于對視頻序列的系列進行解碼的解碼器,各視頻序列包括幀內(I幀)以及與所述I幀相關的幀間(P幀),對于應用的多個屏幕輸出中的屏幕輸出形成各視頻序列,其中所述解碼器布置成將對第一屏幕輸出所形成并且包括I幀和P幀的第一視頻序列進行解碼,并且將對第二屏幕輸出所形成并且包括I幀和P幀的第二視頻序列進行解碼,其中所述第二視頻序列的所述I幀通過對所述第二屏幕輸出與所述第一屏幕輸出相比的變更區(qū)域進行編碼來得到。
14.如權利要求13所述的解碼器,還布置成在對所述第二視頻序列進行解碼中從所述第二視頻序列的所述I幀得到所述變更區(qū)域的位置信息。
15.如權利要求13或14所述的解碼器,其中所述解碼器是基于H.264或MPEG-4標準的編碼器。
16.一種用于對視頻序列的系列進行解碼的裝置,所述視頻序列中的每個包括幀內(I幀)以及與所述I幀相關的幀間(P幀),對于應用的多個屏幕輸出中的屏幕輸出形成各視頻序列,所述裝置包括: 存儲裝置,用于存儲接收的視頻序列,以及 解碼元件,用于將對第一屏幕輸出所形成并且包括I幀和P幀的第一視頻序列進行解碼,并且用于將對第二屏幕輸出所形成并且包括I幀和P幀的第二視頻序列進行解碼,其中所述第二視頻序列的所述I幀通過對所述第二屏幕輸出與所述第一屏幕輸出相比的變更區(qū)域進行編碼來得到。
17.如權利要求16所述的裝置,其中所述解碼元件在對所述第二視頻序列進行解碼中通過所述第二視頻序列的所述I幀得到所述變更區(qū)域的位置信息。
18.如權利要求16或17所述的裝置,其中所述解碼元件采用H.264或MPEG-4標準來對所述多個視頻序列進行解碼。
19.如權利要求16所述的裝置,還包括用于顯示所述解碼視頻序列的顯示器。
【文檔編號】H04N19/107GK103918258SQ201180074902
【公開日】2014年7月9日 申請日期:2011年11月16日 優(yōu)先權日:2011年11月16日
【發(fā)明者】S.肖, A.榮格倫, F.羅梅赫德, Y.吳 申請人:瑞典愛立信有限公司