本申請要求于2014年7月10日提交的題為“ADAPTIVE BITRATE STREAMING FOR WIRELESS VIDEO(用于無線視頻的自適應比特率流傳輸)”的美國專利申請序列號14/327,752的優先權,該美國專利申請以其全部內容通過引用結合在此。
背景技術:
借助于無線顯示技術將視頻內容(例如,來自互聯網的內容、本地保存的內容等)從移動設備流傳輸至電視機變得日益流行。例如,Wi-Fi通信信道可以用于實現無線顯示(WiDi)和/或Miracast技術,從而使用戶能夠將視頻、電影、照片或顯示內容從移動設備流傳輸至電視機。
在一些實現方式中,當借助于無線信道傳輸視頻內容時,無線信道容量可能不是瓶頸或關注點。然而,借助于無線信道以不必要的高編碼比特率流傳輸視頻內容可能引起若干問題,如,浪費無線帶寬、引起傳輸環境中的干擾、以及縮短流傳輸視頻內容的移動設備的電池壽命。具體地,縮短的電池壽命可能比較顯著并且可能使移動設備和/或電視機的用戶的用戶體驗降級。在其他實現方式中,無線信道容量可能是關注點并且以較低的比特率來流傳輸視頻內容對于利用無線通信信道而言可能是有利的。
目前的WiDi/Miracast解決方案可以設置固定的相對高的視頻編碼比特率(例如,針對1920*1080分辨率視頻,約9兆位每秒(Mbps)的平均編碼比特率以及約12Mbps的最大比特率),從而保證無論流傳輸什么樣的視頻內容,傳輸都將不會使源內容(例如,發射設備上的內容)的質量降級。這種技術可能導致在WiDi/Miracast視頻流傳輸過程中的較短電池壽命。已經提出了解決方案用于降低編碼比特率,但是這種解決方案可能并不保證在接收顯示設備(例如,電視機)處的視頻質量或用戶體驗質量。
因此,現有技術并不提供用于在發射設備(例如,移動設備)處提高電池壽命并且在接收設備(例如,電視機)處呈現高質量視頻的具有減小的比特率的視頻內容的無線流傳輸。隨著對發射來自發射設備的視頻內容以進行高質量呈現、使接收設備處的視頻內容美觀舒適的需求變得更加廣泛,這種問題可能變得至關重要。
附圖說明
在附圖中通過舉例而非限制的方式展示了在此所描述的材料。為了圖示的簡明和清晰,圖中所展示的元件不一定按比例繪制。例如,為清楚起見,某些元件的尺寸相對于其他元件可能被放大了。另外,在認為適當的情況下,在附圖之間對參考標記加以重復以表示相應的或相似的元件。在附圖中:
圖1是用于對視頻內容進行無線傳輸的示例系統的示意圖;
圖2展示了用于對視頻內容進行編碼以進行無線傳輸的示例系統;
圖3展示了用于對視頻內容進行編碼以進行無線傳輸的示例系統;
圖4是流程圖,展示了用于對視頻內容進行編碼以進行無線傳輸的示例過程;
圖5是流程圖,展示了用于對視頻內容進行編碼以進行無線傳輸的示例過程;
圖6是示例系統的示意圖;
圖7是示例系統的示意圖;以及
圖8展示了全部根據本公開的至少一些實現方式安排的示例設備。
具體實施方式
現在參照附圖描述一個或多個實施例或實現方式。雖然對特定配置和安排進行了討論,但應理解,這僅出于說明目的來進行。相關領域的技術人員將認識到,在不背離本描述的精神和范圍的情況下可以采用其他配置和安排。對相關領域技術人員而言將明顯的是,在此描述的技術和/或安排還可以在除了在此描述的系統和應用之外的各種各樣的其他系統和應用中被采用。
雖然以下描述闡述可以在如例如片上系統(SoC)架構的架構中顯現各實現方式,但在此描述的技術和/或安排的實現方式并不局限于具體的架構和/或計算系統并且出于類似目的可以由任何架構和/或計算系統實現。例如,采用例如多個集成電路(IC)芯片和/或封裝體、和/或各種計算設備和/或消費電子產品(CE)設備(如機頂盒、智能電話等)的各架構可以實現在此描述的技術和/或安排。此外,雖然以下描述可以闡述許多特定的細節(如邏輯實現、系統部件的類型和內在關系、邏輯劃分/集成選擇等),但要求保護的主題可以在沒有這些特定細節的情況下被實踐。在其他實例中,可以不詳細示出某些材料(如,例如,控制結構和完整的軟件指令序列),以便不模糊在此公開的材料。
在此公開的材料可以在硬件、固件、軟件、或其任意組合中實現。在此公開的材料還可以被實現為存儲于機器可讀介質上的指令,這些指令可以由一個或多個處理器來讀取并執行。機器可讀介質可以包括用于存儲或傳輸具有由機器(例如,計算設備)可讀的形式的信息的任何介質和/或機制。例如,機器可讀介質可包括:只讀存儲器(ROM);隨機存取存儲器(RAM);磁盤存儲介質;光存儲介質;閃速存儲設備;電、光、聲或其他形式的傳播信號(例如,載波、紅外信號、數字信號等)以及其他。
說明書中提到“一種實現方式”、“實現方式”、“示例實現方式”等表明所描述的實現方式可以包括具體特征、結構、或特性,但每個實施例可能不一定包括這個具體特征、結構、或特性。而且,這些短語不一定指同一實現方式。此外,當結合一個實施方式來說明特定特征、結構或特性時,應當指出,無論是否在本文中明確說明,結合其他實施方式來實現這種特征、結構或特性都在本領域技術人員的知識范圍內。
本文描述的方法、設備、裝置、計算平臺和制品涉及對視頻內容進行編碼以進行無線傳輸,并且具體地涉及選擇用于對視頻內容進行編碼的比特率。
如上所述,借助于無線顯示技術將如源視頻(例如,來自互聯網的內容、本地保存的內容等)的視頻內容從移動設備流傳輸至電視機可能是有利的。例如,這種系統可以在呈現和共享內容方面為用戶提供靈活性。還如所討論的,一些現有技術可提供固定相對高的編碼比特率,其可能在發射設備處縮短電池壽命和/或在無線通信信道上引起過度使用或負擔。其他現有技術可能以降低用戶體驗的降低的視頻質量為代價降低編碼比特率。
在本文所討論的一些實施例中,編碼視頻內容以進行無線傳輸可以包括確定用于對源視頻的片段進行編碼的多個候選比特率。例如,候選比特率可能是用于基于本地編解碼器(例如,由發射設備用來進行編碼并由接收設備用來進行解碼的本地視頻編解碼器)對源視頻進行編碼的候選比特率。本地編解碼器可以是任何合適的編解碼器,如基于H.264/MPEG-4高級視頻編碼(AVC)標準或高效率視頻編碼(HEVC)標準等的編解碼器。最小候選比特率可被選擇用于對片段進行編碼并且可以基于本地視頻編解碼器和所選擇的比特率對片段進行編碼。所產生的經編碼的比特流可以被發射到接收設備以進行解碼并最終呈現給用戶。
在一些示例中,可以基于以比例因子修改的源視頻的比特率來確定第一候選比特率。例如,源視頻可以是基于與源視頻相關聯的視頻編解碼器已被壓縮的壓縮源視頻。用于壓縮的源視頻的視頻編解碼器可以是任何合適的編解碼器,如MPEG-2、H.264/MPEG-4 AVC標準、HEVC標準、音視頻標準(AVS)、Windows媒體視頻編解碼器等。例如,與源視頻的壓縮相關聯的本地視頻編解碼器和視頻編解碼器可以不同。可以確定與壓縮的源視頻相關聯的比特率(例如,借助于應用編程接口等),并且可以比例因子修改所確定的比特率以生成第一候選比特率。比例因子可以是基于與壓縮源視頻和本地解碼器相關聯的視頻編解碼器的自適應比例因子。
此外,第二候選比特率可基于使用本地編解碼器所編碼的片段或之前編碼的片段(例如,在使用本地編解碼器所編碼的源視頻中的前一片段)的平均比特率來確定。在一些示例中,之前編碼的片段可用于生成后一片段(例如,當前片段)的候選比特率。這樣的示例可以提供用于編碼和發射源視頻的低延遲和基本上實時的編碼比特率。在其它示例中,片段本身可以被編碼(例如,基于先前的目標比特率(默認的比特率)或者基于其他編碼參數),并且可以確定針對片段的候選比特率。在這些示例中,在從這些候選比特率中確定所選擇的編碼比特率之后,可以基于所選擇的比特率(再次)對該片段進行編碼。這樣的示例可能以在將視頻內容發射到接收設備的過程中的潛在延遲問題為代價來提高選擇編碼比特率的準確度。
在一些示例中,第三個候選比特率可基于針對使用本地編解碼器所編碼的片段或之前編碼的片段(例如,在使用本地編解碼器所編碼的源視頻中的前一片段)的編碼比特率預測來確定。編碼比特率預測可基于該片段或前一編碼片段的編碼比特流、所選擇的期望平均主觀評分(MOS;例如,用戶觀看質量的度量)、所選的最小和最大比特率邊界、以及與接收設備相關聯的質量系數(例如,基于接收設備的分辨率等)。編碼比特率預測可以提供基于無參考MOS的比特率預測以對片進行編碼。如關于第二候選比特率所討論的,編碼比特率預測可以基于對片段自身進行編碼或者基于對視頻內容的前一片段進行編碼。
該片段的所選編碼比特率可以被確定為第一、第二和第三候選比特率中的最小值。此外,可以使用本地視頻編解碼器并基于所選擇的編碼比特率對片段進行編碼。所產生的比特流可以被無線地發射到接收設備,該接收設備可以對比特流進行解碼以生成視頻幀用于呈現給用戶。這種技術可以提供用于發射視頻內容的減小的比特率,這可以節省發射設備處的電池壽命。此外,本文討論的技術可提供具有較低編碼比特率和較低所需無線帶寬的高質量視頻并提高干擾下的WiDi/Miracast性能魯棒性,從而提高了在視頻流傳輸過程中的用戶體驗。
圖1是根據本公開的至少一些實現方式安排的用于無線地發射視頻內容的示例系統100的示意圖。如圖1所示,系統100可以包括借助于無線通信信道103通信地耦合的發射設備101和接收設備102。在一些示例中,發射設備101可以借助于無線通信信道103將經編碼的視頻數據發射到接收設備102。接收設備102可接收經編碼的視頻數據、對其進行解碼以生成視頻幀等并將經解碼的視頻呈現給用戶。雖然展示的是單個發射設備101和單個接收設備102借助于單個無線通信信道103進行通信,但是在系統100中可以采用任何數量的發射設備、接收設備的、和/或無線通信信道。
在所展示的示例中,發射設備101是平板計算機并且接收設備102是電視機。然而,借助于系統100可以實現合適設備的任何組合。例如,發射設備101可以包括任何合適的設備,如計算機、膝上型計算機、超極本、智能電話、平板計算機等。此外,接收設備102可包括任何合適的設備,如電視機、智能電視機、計算機、膝上型計算機、超級本、智能電話、平板計算機等。在一些示例中,接收設備102可以是機頂盒或數字記錄器等。在這種示例中,接收設備102可以不包括顯示器,但接收設備102可以耦合到用于呈現視頻內容的顯示器。在任何情況下,發射設備101和/或接收設備102可以如本文中所用被描述為計算設備。此外,從發射設備101向接收設備102發射的視頻內容可以包括任何適當的視頻內容,如借助于互聯網或局域網等下載到發射設備101的視頻或其他內容、保存在發射設備的本地存儲器上的視頻文件或視頻容器或其他視頻內容、模擬發射設備101的顯示的視頻數據或其它圖像的流傳輸(例如,接收設備102可以鏡像借助于發射設備101顯示的內容)、從發射設備101流傳輸到接收設備102的照片等。在一些示例中,接收設備102和發射設備101可以將相同的內容呈現給一個或多個用戶,并且在其他示例中,它們可呈現不同的內容。
無線通信信道103可以是任何合適的無線鏈路并且通信可借助于任何合適的(多個)協議或(多個)標準來促進。在一些示例中,無線通信信道103是基于電氣與電子工程師協會(IEEE)802.11標準(如802.11a/b/g/n/ac/ad等)的Wi-Fi連接。在其它示例中,無線通信信道103可基于Wi-Fi多媒體(WMM)互操作標準的實現方式。在又進一步的示例中,無線通信信道103可提供基于無線顯示(WiDi)技術和/或基于無線屏幕鑄造標準(如使用Wi-Fi方向連接的Miracast標準)的實現方式的通信。在實施例中,無線通信信道103是無線局域網絡(WLAN)的一部分。
如本文所討論的,即使在無線通信信道103的帶寬不是瓶頸或關注點的情況下,限制將視頻內容從發射設備101發射到接收設備102的比特率仍可以是有利的。例如,這樣的帶寬限制可以保護發射設備101的電池壽命。本文所討論的技術可以減小傳輸視頻的比特率,同時為系統100的用戶提供期望的視頻質量和/或體驗質量(QoE)。
例如,本文討論的技術可以評估源視頻的內容信息(例如,比特率、分辨率、時間復雜度等),并基于無參考(NR)平均主觀評分(MOS)比特率預測工具或模塊顯示與接收設備102相關聯的信息以有差異地針對不同的視頻內容減小所需的視頻編碼比特率同時實現一定的期望視頻質量。
圖2展示了根據本公開的至少部分實現方式安排的用于對視頻內容進行編碼以進行無線傳輸的示例系統200。在一些示例中,系統200可以被實現為發射設備101的一部分。如圖2所示,系統200可以包括解碼器202、編碼器203、編碼比特率預測模塊204、片段平均比特率確定模塊205、基于編碼源視頻的比特率確定模塊206以及比特率選擇模塊207。如所示,系統200可以(例如,借助于存儲器)接收、獲取或包含源視頻201。還如所示,在一些示例中,系統200可以接收、獲取或包含多個源視頻,包括源視頻201和源視頻221。盡管展示了兩個源視頻201、221,但可以提供任意數量的源視頻。如本文進一步討論的,在一些示例中,可以利用不同的視頻編解碼器壓縮源視頻201和源視頻221。在此,對源視頻的討論出于示例性目的將使用源視頻201;然而,所討論的技術可以與源視頻221等一起使用。源視頻201可以包括借助于任何合適的方式獲得的用于傳輸到接收設備102的任何合適的視頻內容,如本文所討論的如借助于互聯網下載的、如保存在存儲器中的、借助于視頻媒體設備等的那些視頻內容。如所討論的,源視頻201可以是被壓縮的視頻內容,使得源視頻201借助于視頻編解碼器被壓縮。用于壓縮源視頻201的視頻編解碼器可被描述為與源視頻相關聯的視頻編解碼器。在各示例中,與源視頻相關聯的視頻編解碼器可以基于H.264/MPEG-4 AVC標準、HEVC標準、音視頻標準(AVS)、Windows媒體視頻編解碼器或者任何其他合適的標準。在一些示例中,源視頻201可以是視頻文件或視頻容器等。
如所示,解碼器202可接收源視頻201或其一部分。解碼器202可以基于與源視頻相關聯的視頻解碼器對源視頻201進行解碼并且解碼器202可以將經解碼的視頻內容或視頻內容的解碼部分傳送給編碼器203。編碼器203可以接收經解碼的視頻內容或該視頻內容的解碼部分。編碼器203可對經解碼的視頻內容的片段進行編碼,以生成編碼片段(ES)208(例如,針對源視頻201的片段的編碼比特流)。源視頻201的片段可以是源視頻201的任何合適部分,具有任意數量的幀(如,1至100幀、1至300幀等),或者是源視頻201的任何持續時間,如1至3秒等。如所討論的,編碼器203可以基于本地視頻編解碼器對解碼視頻內容進行編碼(例如,使得可以基于發射設備101與接收設備102之間的本地視頻編解碼器傳輸視頻內容)。本地視頻編解碼器可以以任何合適的方式確定,如,發射設備101與接收設備102之間的協商、預定的編解碼器、基于標準(例如,WiDi和/或Miracast)的編解碼器等等。例如,解碼器202可以基于第一視頻編解碼器(例如,與源視頻201相關聯的視頻編解碼器)對源視頻201進行解碼并且編碼器203可以基于第二視頻編解碼器(例如,本地視頻編解碼器)對解碼視頻內容(或其片段)進行編碼。以這種方式,解碼器202和編碼器203可以提供將源視頻201從一種壓縮格式轉碼到另一種壓縮格式。此外,在一些示例中,編碼片段208也可被提供作為比特流216的一部分(例如,作為用于傳輸至接收設備102的結果比特流的一部分)。
編碼比特率預測模塊204可以接收編碼片段208(例如,源視頻201的編碼片段的比特流)、最大比特率和最小比特率(最大、最小比特率)209、平均主觀評分(MOS)210以及顯示數據211。例如,最大比特率和最小比特率209可以通過壓縮和/或傳輸標準或協議預先設定、由系統開發人員預先設定、或由系統200啟發式確定等等。最大比特率和最小比特率209可以是提供質量視頻傳輸邊界以及傳輸所用帶寬限制的任何合適的比特率。例如,最大比特率可以是10Mbps、15Mbps、20Mbps等,并且最小比特率可以是1Mbps、2Mbps、5Mbps等。
此外,MOS 210可以是任何合適的平均主觀評分并且可以通過壓縮和/或傳輸標準或協議預先設定、由系統開發人員預先設定、由系統200啟發式確定、或由用戶設定等。例如,用戶可以基于呈現給用戶的用戶界面(如,滑動條等)選擇主觀質量選擇(例如,高、中或低質量),其可被譯碼為MOS。例如,MOS 210可以是3.5、4.0、4.5或5.0等。
顯示數據211可以是表示接收設備102的顯示器的質量和/或分辨率的任何合適的顯示數據。在一些示例中,顯示數據211可以是基于接收設備102的顯示器的一個或多個顯示質量系數。例如,顯示信息請求可以借助于無線通信信道103從發射設備101傳輸至接收設備102。接收設備102可借助于無線通信信道103利用顯示信息回復發射設備101,該顯示信息包括例如顯示器的分辨率、與接收設備102相關聯的型號或其他數據等等。在實施例中,接收設備102可以是WiDi槽并且顯示信息可以借助于實時流傳輸協議(RTSP;例如,被設計成用于控制流媒體設備的網絡控制協議)來傳達。系統200可以接收顯示信息并且可以例如使用查找表確定顯示數據211。例如,顯示數據211可以包括一個或多個接收設備相關的顯示質量系數。這種接收設備相關的顯示質量系數可以近似例如接收設備102的顯示質量。在一些示例中,系統200可以直接從接收設備102接收這種設備相關的顯示質量系數(例如,使得不需要本地查找表或類似技術)。
編碼比特率預測模塊204可以基于編碼片段208、最大和最小比特率209、MOS 210和/或顯示數據211來確定針對編碼片段208或者源視頻201的在編碼片段208隨后的片段的編碼比特率預測。生成的編碼比特率預測可以被提供給比特率選擇模塊207作為候選比特率(CBR)212。在一些示例中,系統200的編碼比特率預測模塊204可以基于源視頻201的之前編碼的片段生成源視頻201當前片段的候選比特率212。在其它示例中,系統200的編碼比特率預測模塊204可以基于當前片段本身的之前的編碼生成源視頻201當前片段的候選比特率212。在這樣的示例中,當前片段可基于所選擇的編碼比特率(例如,所選的編碼比特率215)而被編碼(例如,編碼第二時間)。這樣的示例可以在傳送部分比特流216的過程中以潛在延遲為代價提供更準確的比特率選擇。在源視頻201的當前片段的候選比特率212基于之前編碼的片段的示例中,可以以潛在較不準確的比特率選擇為代價來提供改善的延遲。
在任一情況下,編碼比特率預測模塊204可以基于編碼片段208的比特流分析確定候選比特率212,該比特流分析可以提供片段比特流參數,如,例如,編碼片段208的每像素平均比特數、編碼片段208的平均量化參數、編碼片段208的編碼幀速率、編碼片段208的編碼視頻高度等。此外,候選比特率212可基于預定的平均主觀評分(例如,MOS 210)、預定的最大和最小比特率(例如,最大和最小比特率209)以及與接收設備102相關聯的(多個)顯示質量系數(例如,顯示數據211)。例如,可使用任何合適的技術基于編碼片段208來確定時間復雜度。時間復雜度、顯示數據和片段比特流參數可被提供給預先訓練的比特率預測模型,該模型可以生成候選比特率212。在此關于以下圖3討論候選比特率212的示例確定的細節。
還如圖2所示,片段平均比特率確定模塊205可接收編碼片段208。片段平均比特率確定模塊205可以確定編碼片段208的平均比特率并且可以將作為候選比特率(CBR)213的該平均比特率提供給比特率選擇模塊207。在實施例中,候選比特率213是編碼片段208中的比特數除以由編碼片段208表示的播放時間。在另一個實施例中,候選比特率213(例如,編碼片段208的平均比特率)是編碼片段208中的比特數除以由編碼片段208表示的像素數量。如關于編碼比特率預測模塊204,可基于編碼片段208確定源視頻201的下一片段的或編碼片段208自身的候選比特率213。
如所示,基于編碼源視頻的比特率確定模塊206可接收源視頻201或其一部分。基于編碼源視頻的比特率確定模塊206可基于所接收的編碼源視頻201確定候選比特率(CBR)214。例如,基于編碼源視頻的比特率確定模塊206可確定編碼源視頻的比特率并根據比例因子修改所確定的比特率以生成候選比特率214。如所討論的,可以基于與用于對比特流216進行編碼以傳輸至接收設備102的視頻編解碼器不同的視頻編解碼器對編碼源視頻(例如,源視頻201或其一部分)進行編碼。在示例中,可以由系統200使用可訪問編碼視頻內容以確定其比特率的應用編程接口來確定編碼源視頻的比特率。可以比例因子修改所確定的比特率(例如,乘以比例因子)。例如,比例因子可以將確定的比特率增大或減少為確定的候選比特率214。比例因子可以是用于確定候選比特率214的任何合適的比例因子。在一些示例中,比例因子可以是在以下范圍內:50%至75%、75%至125%、90%至100%、125%至150%、或175%至225%等。
在一些示例中,比例因子基于與編碼源視頻相關聯的編解碼器(例如,之前用于對壓縮源視頻201進行編碼的編解碼器)和用于對比特流216進行編碼的編解碼器(例如,由發射設備101和接收設備102使用的本地編解碼器)可以是自適應的。在一些示例中,候選比特率214可以提供對源視頻201、221進行編碼所需的最小比特率,從而使得本地視頻編解碼器將產生相比源視頻201、221的質量相等的或更好的質量。在一些示例中,比例因子可以基于之前用于對源視頻進行編碼的編解碼器與用于對比特流216進行編碼的編解碼器之間的差異(例如,能力差異)來確定。例如,如果源視頻201已經基于MPEG-2以12Mbps被壓縮,那么如果本地編解碼器是H.264則候選比特率214可以只需為6Mbps。在這樣的示例(例如,MPEG-2源視頻編解碼器和H.264本地編解碼器)中,比例因子可因此為約50%或60%等。可以提供這樣的比例因子,因為本地編解碼器(在這個示例中的H.264)相比具有相同的編碼特征的MPEG-2是更高效的編解碼器。此外,如果本地編解碼器和源視頻編解碼器使用相同的編解碼器,則候選比特率214仍可以基于例如由編解碼器使用的不同特征被修改。例如,編解碼器可以使得I幀僅用于存檔,I幀和P幀用于實時流傳輸,或者I幀、P幀和B幀用于高質量等。例如,在H.264中以6Mbps利用B幀(例如,I幀、P幀和B幀)壓縮的源視頻可能需要約12Mbps的比特率以用于基于本地編解碼器在不利用B幀的情況下(例如,利用I幀和P幀或僅I幀)進行編碼。在這樣的示例中,比例因子可以因此約為200%等。其它組合可以是存在的。使用在此討論的技術,源視頻201的候選比特率(例如,在第一實例中的候選比特率214)與源視頻221的候選比特率(例如,在第二個實例中的候選比特率214)可能由此會有所不同。由此,比例因子基于用于壓縮源視頻(如,源視頻201、源視頻221等)的視頻編解碼器可以是自適應的。
如圖2所示,比特率選擇模塊207可以接收候選比特率212、213、214并且比特率選擇模塊207可以選擇所選的編碼比特率215來對片段(例如,如所討論的,與編碼片段208或隨后的或不同的片段相關聯的片段)進行編碼。例如,比特率選擇模塊207可以從候選比特率212、213、214中選擇最小的比特率作為選擇的編碼比特率215。在實施例中,比特率選擇模塊207可以使用如圖2中所展示的開關217選擇最小比特率。例如,可以基于候選比特率212、213、214中的最小比特率連接開關217以將該最小比特率發射作為選定的編碼比特率215。
編碼器203可以接收所選的編碼比特率215并且可以基于所選的編碼比特率215對經解碼的源視頻內容進行編碼以生成比特流216,該比特流可被提供給接收設備102。如所討論的,接收設備102可接收比特流216并且接收設備102可解碼比特流216以生成視頻幀用于呈現給用戶。編碼器203可以基于所選的編碼比特率215對經解碼的源視頻內容的任何部分進行編碼。在實施例中,編碼器203可基于所選的編碼比特率215對與編碼片段208相關聯的源視頻內容進行編碼。在另一個實施例中,編碼器203可基于所選的編碼比特率215對與源視頻201的另一個片段相關聯的源視頻內容進行編碼。例如,基于所選的編碼比特率215編碼的片段可以是關于編碼片段208的下一個片段。在一些實施例中,可以基于所選的編碼比特率215對源視頻201的所有或剩余部分進行編碼。
圖3展示了根據本公開的至少部分實現方式安排的用于對視頻內容進行編碼以進行無線傳輸的示例系統300。在一些示例中,系統300可以被實現為發射設備101的一部分。如圖3所示,系統300可以包括解碼器202、編碼器203、編碼比特率預測模塊204、片段平均比特率確定模塊205、基于編碼源視頻的比特率確定模塊206、比特率選擇模塊207、平均主觀評分模塊301、最大和最小比特率模塊302以及顯示信息模塊303。此外,顯示信息模塊303可包括顯示參數模塊304和顯示質量系數查找表(LUT)305,編碼比特率預測模塊可以包括函數建模模塊306、比特流分析模塊307、時間復雜度模塊308和比特率預測模塊309,片段平均比特率確定模塊205可以包括比特流分析模塊310和片段求平均模塊311,并且基于編碼源視頻的比特率確定模塊206可以包括源視頻比特率模塊和比例因子修改模塊313。
如所示,解碼器202可接收源視頻201和/或源視頻221或其一個或多個部分,并且解碼器202可基于與源視頻相關聯的視頻編解碼器解碼源視頻201并將經解碼的視頻內容或視頻內容的解碼部分傳送至編碼器203。編碼器203可以接收經解碼的視頻內容或該視頻內容的解碼部分,并且編碼器203可以對經解碼的視頻內容的片段進行編碼以生成編碼片段(ES)208。與源視頻201、源視頻221、解碼器202、編碼器203和編碼片段208相關聯的詳細信息已經關于圖2被討論并且簡潔起見將不再重復。
還如所示,平均主觀評分模塊301可確定、存儲和/或傳輸MOS 210,該MOS 210可以包括如本文所討論的任何適當的信息。例如,平均主觀評分模塊301可以(例如,借助于應用編程接口等)為系統開發者和/或用戶提供功能以調整MOS 210和/或用于存儲當前MOS的存儲器。類似地,最大和最小比特率(最大、最小比特率)模塊302可確定、存儲和/或傳輸最大和最小比特率(最大BR、最小BR)209,其可以包括如本文所討論的任何適當的信息。例如,最大和最小比特率模塊可以(例如,借助于應用編程接口等)為系統開發者和/或用戶提供功能以調整最大和最小比特率209和/或用于存儲最大和最小比特率(最大BR、最小BR)209的存儲器。
如所示,顯示信息模塊可以確定和/或生成顯示數據(DD)211。例如,顯示參數模塊304可以從接收設備102獲得顯示參數或信息(例如,分辨率信息)。在實施例中,接收設備102是WiDi槽并且顯示參數可借助于實時流傳輸協議(RTSP)從接收設備102傳達。顯示參數可以被傳送至顯示質量系數LUT 305,該LUT可基于該顯示參數確定接收設備相關的系數。例如,系數可以指示與接收設備102的(或與之相關聯的)顯示相關聯的質量。在實施例中,如本文進一步討論的,質量系數包括供編碼比特率預測模塊204使用以生成候選比特率212的兩個系數。在一些示例中,可以從接收設備102直接接收質量系數,并且在這樣的示例中,可以不需要顯示質量系數LUT 305。
如所示,編碼比特率預測模塊204的比特流分析模塊307可以接收編碼片段208(例如,源視頻201的片段的編碼比特流)。比特流分析模塊307可以確定與編碼片段208相關聯的片段比特流參數。例如,片段比特流參數可以包括每像素平均比特數、平均量化參數、編碼幀速率或編碼視頻高度。在一些示例中,片段比特流參數可以是幀大小數據、幀類型數據、幀分辨率數據或比特率數據。比特流分析模塊307可以將片段比特流參數傳送至函數建模模塊306和時間復雜度模塊308。
時間復雜度模塊308可以至少部分地基于接收到的片段比特流參數確定與編碼片段208相關聯的時間復雜度。時間復雜度模塊308可以使用任何合適的一項或多項技術確定時間復雜度。例如,時間復雜度可以基于等式(1),如下:
其中,TC可以是時間復雜度,fTC可以是確定TC的函數,f_參數可以是片段比特流參數,mean(Bitsp)可以每像素平均比特數,SF可以是約40的比例因子,c可以是約0.87的常數,mean(QPp)可以是平均量化參數,fps可以是編碼幀速率,并且f_h可以是編碼視頻高度。盡管是關于視頻高度f_h進行描述的,也可以使用與視頻或幀大小相關聯的其他信息或數據。在各示例中,可以使用視頻高度、視頻寬度、視頻寬高比或其組合。
如所示,時間復雜度可以被傳送至函數建模模塊306和比特率預測模塊309。函數建模模塊306可以基于用于預測視頻比特率的模型提供內容(例如,借助于片段比特流參數和時間復雜度的源視頻)和設備(例如,借助于顯示數據211的接收設備102)。例如,該模型可以是預訓練的線性和/或非線性的模型。例如,該模型訓練可以被提供作為如等式(2)所示的基于視頻片段的訓練集的參數的非線性擬合和/或作為如等式(3)所示的線性擬合以及基于如等式(4)所示的測試:
vi=nonlinear fit(比特率,MOS),i=4,5
(2)
其中,v可以是用于預測編碼比特率的參數或函數建模系數,比特率可以是訓練視頻片段的比特率,并且MOS可以是訓練視頻片段的平均主觀評分。
其中,a和b可以分別是斜率和對應于vi的y截距,并且TC訓練可以是訓練集的時間復雜度。
vi_測試=a×TC測試+b
(4)
其中,vi_測試可以是針對輸入測試視頻的預測vi。
在一些示例中,函數建模模塊306的訓練可以離線(例如,關于源視頻201在運行時間之前)執行并且函數建模模塊306可以借助于存儲器被保存以用于實現。如所示,比特率預測模塊306可接收來自函數建模模塊306的參數和來自時間復雜度模塊308的時間復雜度。比特率預測模塊306可以使用任何合適的一項或多項技術基于編碼比特率預測確定候選比特率212。在示例中,比特率預測模塊306可以基于由等式(5)確定的編碼比特率預測確定候選比特率212,如下:
其中,e_比特率可以是編碼比特率預測,期望_MOS可以是MOS 210,b_最大和b_最小可以是分別來自最大和最小比特率209的最大和最小比特率,并且b可以是約3.7的常數。
如圖3所示且如本文所討論的,所述編碼比特率預測可以被提供給比特率選擇模塊207作為候選比特率212。
此外,如所示,片段平均比特率確定模塊205的比特流分析模塊310可以接收編碼片段208。比特流分析模塊310可確定編碼片段208的平均比特率和/或編碼片段208的每像素平均比特數。此外,片段求平均模塊311可以確定編碼片段208的平均比特率。在一些示例中,比特流分析模塊307、310可以被單獨實現(如所示),并且在其它示例中,它們可一起實現。此外,在一些示例中,片段求平均模塊311可以被消除,并且所討論的求平均可以由比特流分析模塊310來提供。
如所討論的,在一些示例中,候選比特率213可被提供作為編碼片段208的平均比特率。在這種示例中,比特流分析模塊310或片段求平均模塊311可以提供平均比特率(并且如果需要的話可以消除其它模塊)。在其它示例中,可以基于由比特流分析模塊307和/或比特流分析模塊310執行的閾值化(在到達比特率選擇模塊207之前)消除候選比特率212或候選比特率213之一。例如,可以確定編碼片段208的每像素平均比特數。每像素平均比特數可以與閾值進行比較,以判定候選比特率212或候選比特率213是否可以被提供給比特率選擇模塊207。例如,如果每像素平均比特數大于(或等于)閾值,則候選比特率212可以被提供(并且候選比特率213可以被消除),并且,如果每像素平均比特數小于(或等于)閾值,則候選比特率212可以被提供(并且候選比特率213可以被消除)。在這樣的示例中,比特率選擇模塊207可以針對特定的片段在兩個候選比特率(例如,候選比特率214與候選比特率212或候選比特率213之一)之間進行選擇,而不是如圖3所示的三個比特率。本文進一步關于圖4對這種技術進行討論。
如圖3所示,編碼源視頻比特率確定模塊206的源視頻比特率模塊312可以接收源視頻201或其一部分。例如,編碼源視頻比特率確定模塊206可以接收壓縮的(例如,編碼的)源視頻,從而使得源視頻基于與源視頻201相關聯的視頻編解碼器被壓縮(例如,在下載之前、在存儲到存儲器中時、在采集時等等;并且不同于由編碼器203所使用的視頻編解碼器或者與由編碼器203使用的視頻編解碼器相同但具有實現的不同特征)。源視頻比特率模塊312可以基于平均比特率等確定壓縮源視頻的比特率。源視頻比特率模塊312可以將壓縮源視頻的所確定的比特率傳送至比例因子修改模塊313。如本文所討論的,比例因子修改模塊313可以以比例因子修改所確定的比特率。例如,比例因子可以基于用于對壓縮源視頻進行壓縮的編解碼器與用于對比特流216進行編碼的本地編解碼器之間的差異。如所討論的,比例因子可以由此基于用于對壓縮源視頻進行壓縮的編解碼器的質量和/或用于對比特流216進行編碼的本地編解碼器的質量是自適應的。例如,使用不同編解碼器壓縮的兩個源視頻可具有如以比例因子修改模塊313確定的不同的比例因子。可以比例因子以任何合適方式修改所確定的比特率。在實施例中,比例因子(在本示例中或正或負)被添加到確定的比特率。在另一個實施例中,比例因子乘以所確定的比特率(例如,所確定的比特率被修改x%,其中,x是比例因子)。
比特率選擇模塊207可以接收候選比特率212、213、214或者候選比特率214與候選比特率212、213之一(如所討論的),并且比特率選擇模塊207可以確定選擇的編碼比特率215以用于對源視頻201的片段進行編碼(例如,用于對視頻內容的解碼片段進行編碼,從而使得該片段要么與由編碼片段208表示的片段相同要么與由編碼片段208表示的片段不同)。例如,比特率選擇模塊207可以將所接收的候選比特率中的最小比特率選擇為選擇的編碼比特率215。在實施例中,如本文所討論的,比特率選擇模塊207可以基于開關215選擇最小的比特率。
編碼器203可以接收所選的編碼比特率215并且可以對源視頻201(例如,基于所選的編碼比特率215的經解碼的視頻內容)進行編碼以生成比特流216,該比特流可被提供給接收設備102。如所討論的,可以使用本地視頻編解碼器對比特流216進行編碼。本地視頻編解碼器可以基于標準、發射設備101與接收設備102之間的協商等來確定。接收設備102可以接收比特流216并解碼比特流216,以生成視頻幀用于呈現給用戶。編碼器203可以基于所選的編碼比特率215對經解碼的視頻內容的任何部分進行編碼。在實施例中,編碼器203可以基于所選的編碼比特率215對與編碼片段208相關聯的視頻內容進行編碼。在另一個實施例中,編碼器203可以基于所選的編碼比特率215對與源視頻201的另一個片段相關聯的視頻內容進行編碼。例如,基于所選的編碼比特率215編碼的片段可以是關于編碼片段208的下一個片段。在一些實施例中,可以基于所選的編碼比特率215對源視頻201的所有或剩余部分進行編碼。
圖4是流程圖,展示了根據本公開的至少部分實現方式安排的用于對視頻內容進行編碼以進行無線傳輸的示例過程400。如圖4所展示的,過程400可以包括一個或多個操作401-415。過程400可以形成視頻編碼過程的至少一部分。通過非限制性示例,針對由如在此討論的設備101或800或者系統200、300、600或700采取的視頻內容,過程400可以形成視頻編碼過程的至少一部分。
在一些示例中,即使在無線信道容量不是瓶頸或關注點時仍可以實現過程400。此外,過程400可以是基于無參考(NR)比特率預測器(例如,編碼比特率預測模塊204)。在一些示例中,當每像素片段平均比特數低于特定閾值時(例如,如關于判定操作409所討論的),編碼比特率預測可以被跳過或旁路。在其它示例中,如關于候選比特率212和213所討論,編碼比特率預測與片段平均比特率可以被提供用于選擇。在這樣的示例中,當旁路會發生時(從而使得僅候選比特率213將被提供),候選比特率213可能會(或必須)小于候選212,從而使得旁路或確定兩者都提供相同的結果。片段平均比特率的這種旁路和/或確定可以在以下情形中提供改進的比特率預測:編碼比特率預測可能如例如在評估由具有極少比特數的靜態幀(例如,黑幀和白幀)組成的片段的過程中具有限制。
此外,如所討論的,基于編碼源視頻的比特率確定可以是基于以比例因子修改的壓縮源視頻的比特率進行的。當源視頻201是具有相對較低的視頻質量的互聯網視頻內容或者具有相對較高的視頻質量的本地視頻內容(例如,與H.264 AVC或HEVC質量相比而言的低或高質量)時,這種技術可能是有利的。針對這兩種情況,可實現的視頻質量比特流216(例如,用于傳輸的編碼視頻)主要是由源視頻201的比特率和分辨率確定的。如果源視頻201具有高比特率以及比期望的MOS更高的MOS(例如,MOS 210),則所討論的編碼NR MOS比特率預測可用于顯著減小編碼比特率。然而,如果源視頻201具有低或非常低的比特率,那么使用高編碼器比特率(例如,所選的編碼比特率215)可能是浪費的并將不會提高在接收設備102處的視頻呈現的MOS。在這種情形下,如所討論的,比例因子(例如,以比例因子修改源視頻的比特率)可以用于確定編碼比特率(例如,所選的編碼比特率215)。例如,如所討論的,比例因子(例如,x)可基于源和本地編解碼器性能差異被自適應地調整。
返回到圖4,過程400可以從操作401“設置用于本地編碼的最小和最大比特率”開始,其中,可以如本文所討論的設置或確定最小比特率和最大比特率。例如,可以借助于系統300的最大和最小比特率模塊302來設置或確定最大和最小比特率209。
過程400可以在操作402“設置用于本地編碼的期望的MOS”處繼續,其中,可以如本文所討論設置或確定所期望的平均主觀評分(MOS)。例如,可以借助于平均主觀評分模塊301來設置或確定平均主觀評分210。
過程400可以在操作403“獲取接收顯示信息”處繼續,其中,可以如本文所討論的獲取或接收接收器(例如,接收設備102)的顯示信息。例如,顯示信息模塊303的顯示參數模塊304可獲取或接收接收設備102的顯示信息(例如,顯示分辨率信息)。
過程400可以在操作404“確定設備相關系數”處繼續,其中,可以如本文所討論的確定設備相關系數,如顯示質量系數。例如,包括顯示質量系數的顯示數據211可以借助于顯示信息模塊303的顯示器質量系數查找表305來確定。
過程400可以在操作405“獲取本地編碼視頻片段的比特流”處繼續,其中,可以如本文中所討論的獲取和/或確定本地編碼視頻片段的比特流。例如,如所討論的,解碼器202可以(基于與壓縮源視頻相關聯的視頻編解碼器)對源視頻201的片段進行解碼并且編碼器203可以基于本地視頻編解碼器對該片段進行編碼。
過程400可以在操作406“執行比特流分析”處繼續,其中,可以如本文中所討論的基于與視頻的片段相關聯的比特流執行比特流分析。例如,編碼比特率預測模塊204的比特流分析模塊307可以基于編碼片段208執行比特流分析,以生成包括以下各項的片段比特流參數:片段的每像素平均比特數、片段的平均量化參數、片段的編碼幀速率或者片段的編碼視頻高度。
過程400可以在操作407“收集源視頻內容的比特率”處繼續,其中,可以如本文所討論的收集或確定源視頻內容的比特率。例如,基于編碼源視頻的比特率確定模塊206的源視頻比特率模塊312可以接收源視頻201(例如,壓縮的源視頻)或其一部分,并且源視頻比特率模塊312可以確定使用與源視頻的壓縮相關聯的視頻編解碼器所編碼的源視頻的比特率。
過程400可以在操作408“以比例因子調整以確定CBR”處繼續,其中,可以如本文所討論的以比例因子來調整壓縮源視頻的比特率。例如,基于編碼源視頻的比特率確定模塊206的比例因子修改模塊313可以根據比例因子修改比特率以生成候選比特率214。如所討論的,比例因子基于與源視頻的壓縮相關聯的視頻編解碼器可以是自適應的。
過程400可以從操作406繼續,如在判定操作409“每像素片段平均比特數<閾值?”處所討論的,其中,片段的每像素平均比特數可以與閾值進行比較。如所示,如果該片段的每像素平均比特數小于(或者在一些實現方式中小于或等于)閾值,則過程400可以在操作410處繼續,并且如果該片段的每像素平均比特數大于或等于(或者在一些實現方式中大于)閾值,則過程400可以在操作413處繼續。
過程400可以由此在操作410“確定時間復雜度”處繼續,其中,可以如本文所討論的確定片段的時間復雜度。例如,編碼比特率預測模塊204的時間復雜度模塊308可以基于等式(1)等確定時間復雜度。
過程400可以在操作411“確定函數建模系數”處繼續,其中,可以基于借助于操作404確定的設備相關系數和借助于操作410確定的時間復雜度來確定函數建模系數。例如,函數建模系數可以提供預訓練的比特率預測模型的系數,該模型可以根據片段的內容(例如,時間復雜度)和接收器顯示器的質量(例如,設備相關的質量系數)生成比特率預測。
處理400可以在操作412“確定編碼比特率預測作為CBR”處繼續,其中,可以基于借助于操作411確定的函數建模系數、借助于操作401確定的最小和最大比特率以及借助于操作402確定的期望的MOS來確定編碼比特率預測。例如,編碼比特率預測模塊204的比特率預測模塊309可以基于等式(5)等確定候選比特率212。
如所討論的,在每像素片段平均比特數小于閾值(或者小于或等于閾值)的示例中,過程400可以從判定操作409繼續至操作413“使用片段平均比特數為CBR”,其中,片段平均比特數(或者片段平均比特率)可被用作候選比特率。如所討論的,在一些示例中,判定操作409和操作413可以提供操作410-112的旁路或跳過。例如,當每像素片段平均比特數小于閾值(或者小于或等于閾值)時,可能發生這樣的旁路。在這些示例中,所討論的編碼比特率的預測模型可能如在低或非常低的比特率的情況(例如,靜態黑白幀的片段等)不會提供有用的結果。例如,片段求平均模塊311或比特流分析模塊310可以提供候選比特率213作為片段的平均比特數。
過程400可以在操作414“確定候選比特率中的最小比特率”處繼續中,其中,可確定候選比特率中的最小比特率。例如,比特率選擇模塊207可以確定候選比特率中的最小比特率。如所討論的,在過程400的示例中,操作414可以用于選擇由操作408提供的候選比特率以及由操作412提供的候選比特率或由操作413提供的候選比特率(取決于在判定操作409處的判定)中的最小比特率。這樣的旁通實現可以例如提供較少的計算和更快的處理時間。
在如本文所討論的其他實施例中,判定操作409可以被旁路,并且由操作412提供的候選比特率以及由操作413提供的候選比特率(連同由操作408提供的候選比特率)都可以被提供用于在操作414處確定候選比特率中的最小比特率。
過程400可以在操作415“設置編碼比特率和編碼片段”處繼續,其中,編碼比特率可以被設置并且片段可以被編碼。例如,比特率選擇模塊207可以設置編碼器203的所選編碼比特率215以對(經解碼的)源視頻201的片段進行編碼。如所討論的,在一些示例中,所選擇的比特率可用于對目前正被評估的片段的下一個片段進行編碼,并且在其他示例中,所選擇的比特率可以用于對當前片段自身進行當前編碼。
可以針對源視頻的任意數量的片段和/或針對任意數量的源視頻將過程400的操作串行地或并行地重復任意次數。如所討論的,各種源視頻可能已使用不同的視頻編解碼器被壓縮,這可能影響借助于操作408實現的比例因子。
圖5是流程圖,展示了根據本公開的至少部分實現方式安排的用于對視頻內容進行編碼以進行無線傳輸的示例過程500。如圖5所展示的,過程500可以包括一個或多個操作501-505。過程500可以形成視頻編碼過程的至少一部分。通過非限制性示例,過程500可以形成由如在此討論的設備101或800或者系統200、300、600或700采取的視頻編碼過程的至少一部分。此外,在此將參考圖6的系統600描述過程500。
圖6是根據本公開的至少一些實現方式安排的示例系統600的示意圖。例如,系統600可以是設備101的視頻編碼系統等。如圖6中所示,系統600可以包括一個或多個成像設備602、天線602、包括邏輯電路630的一個或多個處理單元620、一個或多個處理器603、一個或多個存儲器存儲604以及顯示設備605。此外,邏輯電路630可包括解碼器202、解碼器202、編碼比特流預測模塊205、片段平均比特率確定模塊205、基于編碼源視頻的比特率確定模塊206以及比特率選擇模塊207。如所展示的,(多個)成像設備601、天線602、(多個)處理單元620、邏輯電路630、解碼器202、解碼器202、(多個)處理器603、(多個)存儲器存儲604、和/或顯示設備605可以能夠與彼此進行通信。
如所示,在一些示例中,系統600可以包括天線602。例如,天線602可被配置成用于發射或接收視頻數據的編碼比特流。另外,在一些示例中,系統600可以包括顯示設備605。顯示設備605可以被配置成用于呈現視頻數據,如解碼源視頻201。如所示,在一些示例中,可借助于(多個)處理單元620實現邏輯電路630。(多個)處理單元620可以包括應用專用集成電路(ASIC)邏輯、(多個)圖形處理器、(多個)通用處理器等。系統600還可以包括可選的(多個)處理器603,處理器可以類似地包括應用專用集成電路(ASIC)邏輯、(多個)圖形處理器、(多個)通用處理器等。在一些示例中,邏輯電路630可借助于硬件、視頻編碼專用硬件等來實現,并且(多個)處理器603可以借助于例如多核中央處理單元(CPU)實現通用軟件、操作系統等。此外,(多個)存儲器存儲604可以是任意類型的存儲器,如易失性存儲器(例如,靜態隨機存取存儲器(SRAM)、動態隨機存取存儲器(DRAM)等)或非易失性存儲器(例如,閃存等)等等。在非限制性示例中,(多個)存儲器存儲604可以由緩存存儲器實現。在一些示例中,邏輯電路630可訪問(多個)存儲器存儲604(例如,用于實現視頻幀緩沖器)。在其它示例中,邏輯電路630和/或(多個)處理單元620可以包括用于實現視頻幀緩沖器等的存儲器存儲(例如,高速緩存等)。例如,(多個)存儲器存儲604可存儲任何視頻數據,如源視頻201(例如,壓縮的源視頻),解碼的源視頻,編碼片段208,比特流216,候選比特率212、213、214、最大和最小比特率209,MOS 210,顯示數據211,選擇的編碼比特率215或者如本文所討論的被利用或生成的任何其他數據。
在一些示例中,借助于邏輯電路630實現的編碼器100可以包括幀緩沖器(例如,借助于(多個)處理單元620或者(多個)存儲器存儲604)以及圖形處理單元(例如,借助于(多個)處理單元620)。例如,圖形處理單元可以通信地耦合到幀緩沖器。圖形處理單元可以包括如借助于邏輯電路630實現的編碼器100和/或如本文所討論的各模塊。例如,如所示,圖形處理單元可以包括解碼器202、解碼器202、編碼比特流預測模塊205、片段平均比特率確定模塊205、基于編碼源視頻的比特率確定模塊206以及比特率選擇模塊207。所展示的模塊可以被實現以執行在此討論的任何操作。
在一些示例中,系統2000的天線602可以被配置成用于發射視頻數據的編碼比特流,如比特流216。如所討論的,編碼比特流可以包括使用本地編解碼器(如H.264 AVC編解碼器或HEVC編解碼器等)編碼的視頻數據。
返回到圖5的討論,過程500可以開始于操作501,“將用于使用第一視頻編解碼器對源視頻的片段進行編碼的第一候選比特率確定為以比例因子修改的使用第二視頻編解碼器所編碼的該源視頻的比特率”,其中,用于使用第一視頻編解碼器對源視頻的片段進行編碼的第一候選比特率可以被確定為使得該第一候選比特率是以比例因子修改的使用第二視頻編解碼器所編碼的該源視頻的比特率。例如,如借助于邏輯電路630實現的基于編碼源視頻的比特率確定模塊206可以接收壓縮的源視頻或其一部分,從而使得使用與源視頻的壓縮相關聯的編解碼器(例如,第二視頻編解碼器)執行壓縮并且基于編碼源視頻的比特率確定模塊206可以確定壓縮源視頻的比特率并且如本文所討論的以比例因子對其進行修改以生成第一候選比特率。可以使用本地視頻編解碼器(例如,第一視頻編解碼器)確定對片段進行編碼的第一比特率。例如,比例因子可以基于與源視頻的壓縮相關聯的視頻編解碼器的質量,從而使得針對視頻編解碼器之間的較大質量差異,可以使用較大的比例因子。
例如,候選比特率可被確定用于使用第一視頻編解碼器對第二源視頻的第二片段進行編碼,從而使得候選比特率包括以第二比例因子修改的使用第三視頻編解碼器所編碼的第二源視頻的比特率。在實施例中,如果第二視頻編解碼器和第三視頻編解碼器不同,則所確定的比例因子也不同。例如,當其中第一視頻編解碼器與第二視頻解碼器之間的第一質量差異大于第一視頻編解碼器與第三視頻編解碼器之間的第二質量差異時,使用第二視頻編解碼器所編碼的片段的比例因子大于使用第三視頻編解碼器所編碼的片段的比例因子。
處理可以在操作502“將用于使用該第一視頻編解碼器對該源視頻的該片段進行編碼的第二候選比特率確定為使用該第一視頻編解碼器所編碼的該源視頻的該片段或前一片段的平均比特率”處繼續,其中,用于使用該第一視頻編解碼器對該源視頻的該片段進行編碼的第二候選比特率可以被確定為使得第二候選比特率是使用該第一視頻編解碼器所編碼的該源視頻的該片段或使用該第一視頻編解碼器所編碼的該源視頻的前一片段中的至少一者的平均比特率。在實施例中,前一片段被使用并且該前一片段緊接在源視頻的該片段之前。例如,如借助于邏輯電路630實現的片段平均比特率確定模塊205可以接收使用本地編解碼器所編碼(例如,第一視頻編解碼器)的片段,并且如借助于邏輯電路630實現的片段平均比特率確定模塊205可以基于所接收的編碼片段將平均比特率確定為第二候選比特率。
處理可以在操作503“將用于使用該第一視頻編解碼器對該源視頻的該片段進行編碼的第三候選比特率確定為針對使用該第一視頻編解碼器所編碼的該片段或前一片段的編碼比特率預測”處繼續,其中,用于使用該第一視頻編解碼器對該源視頻的片段進行編碼的第三候選比特率可以被確定為使得該第三候選比特率是針對使用該第一視頻編解碼器所編碼的該片段或使用該第一視頻編解碼器所編碼的前一片段中的至少一者的編碼比特率預測。例如,如借助于邏輯電路630實現的片段編碼比特率預測模塊204可以接收使用本地編解碼器所編碼(例如,第一視頻編解碼器)的片段,并且如借助于邏輯電路630實現的編碼比特率預測模塊204可以基于用于確定第三候選比特率的編碼片段和/或其他數據將比特率預測確定為編碼比特率預測。例如,如本文所討論,該編碼比特率預測至少部分地基于預定平均主觀評分、預定最大比特率、預定最小比特率或與無線傳輸的接收設備相關聯的顯示質量系數之一。
在一些示例中,確定編碼比特率預測可以包括對使用第一視頻編解碼器所編碼的該片段或使用第一視頻編解碼器所編碼的前一片段的比特流進行分析以確定片段比特流參數,基于片段比特流參數確定時間復雜度,以及基于時間復雜度和預訓練的比特率預測模型生成比特率預測。在實施例中,片段比特流參數包括片段的每像素平均比特數、片段的平均量化參數、片段的編碼幀速率或者片段的編碼視頻高度中的至少一者。在一些示例中,如本文所討論的,比特率預測進一步基于預定平均主觀評分、預定最大比特率、預定最小比特率以及與無線傳輸的接收設備相關聯的顯示質量系數。例如,與接收設備相關聯的顯示質量系數可以是基于從接收設備接收的分辨率信息使用查找表確定的。
處理可以在操作504“將該片段的編碼比特率選擇為該第一、第二和第三候選比特率中的最小值”處繼續,其中,該源視頻的該片段的編碼比特率可以被選擇為第一、第二和第三候選比特率中的最小值。例如,如借助于邏輯電路630實現的比特率選擇模塊207可以接收第一、第二和第三候選比特率并將它們中的最小比特率選擇為選擇的編碼比特率。如所討論的,在一些示例中,如借助于邏輯電路630實現的比特率選擇模塊207可以接收三個候選比特率。在其它示例中,第二或第三候選比特率可以被旁路,并且,借助于邏輯電路630實現的比特率選擇模塊207可以選擇第一候選比特率以及或者第二或者第三候選比特率中的最小比特率用于提供選擇的編碼比特率。
處理可以在操作505“基于所選擇的編碼比特率使用該第一視頻編解碼器對該片段進行編碼”處繼續,其中,可以使用該第一視頻編解碼器并且基于所選擇的編碼比特率對該源視頻的該片段進行編碼。例如,如借助于邏輯電路630實現的解碼器202可以基于所選擇的編碼比特率對源視頻的片段進行編碼。
此外,該編碼片段的比特流可以被提供給接收設備,該接收設備可以對該比特流進行解碼并將視頻呈現給用戶。例如,如借助于邏輯電路630實現的解碼器202可以將編碼的比特流(例如,基于所選擇的編碼比特率編碼的)提供至天線602以用于無線傳輸到接收設備。
可以針對源視頻的任意數量的片段和/或針對任意數量的源視頻將過程500的操作串行地或并行地重復任意次數。
在此描述的系統的各種部件可以用軟件、固件、和/或硬件和/或其任何組合來實現。例如,成像設備101或800或系統200、300、600或700的各部件可以至少部分地由如可以在計算系統(如,例如,智能電話)中找到的計算片上系統(SoC)的硬件來提供。本領域技術人員可以認識到,在此描述的系統可以包括尚未在相應附圖中描繪的附加部件。例如,在此討論的系統可以包括為了清楚起見尚未被描繪的附加部件,如比特流復用器或解復用器模塊等。
雖然在此討論的示例過程的實現方式可以包括按所展示的順序采取示出的所有操作,但是本公開并不限于這個方面,并且在各個示例中,此處的示例過程的實現方式可以僅包括所示操作的子集、以與所展示的順序不同的順序執行的操作、或附加操作。
另外,在此討論的操作中的任何一個或多個操作可以響應于由一個或多個計算機程序產品提供的指令而被采取。這類程序產品可以包括提供指令的信號承載介質,當指令由例如處理器執行時可以提供在此描述的功能。計算機程序產品可以以一個或多個機器可讀介質的任何形式被提供。因此,例如,包括一個或多個圖形處理單元或處理器核的處理器可以響應于由一個或多個機器可讀介質傳達給處理器的程序代碼和/或指令或指令集而采取此處的示例過程的塊中的一個或多個塊。通常,機器可讀介質可以以程序代碼和/或指令或指令集的形式傳達軟件,這些程序編碼和指令集可以使在此描述的設備和/或系統中的任意一者實現成像設備101或800或系統200、300、600或700的至少多個部分、或者如在此討論的任何其他模塊或部件。
如在此描述的任何實現方式中所使用的,術語“模塊”指被配置成用于提供在此所描述的功能的軟件邏輯、固件邏輯、硬件邏輯和/或電路的任何組合。軟件可以具體化為軟件包、代碼和/或指令集或指令,并且如在此描述的任何實現方式中所使用的,“硬件”可以例如單獨地或以任何組合包括硬連線電路、可編程電路、狀態機電路、固定功能電路、執行單元電路和/或存儲由可編程電路執行的指令的固件。這些模塊可以統一地或單獨地具體化為形成例如,集成電路(IC)、片上系統(SoC)等的較大系統的一部分的電路。
圖7是根據本公開的至少一些實現方式安排的示例系統700的示意圖。在各實現方式中,盡管系統700不限于此上下文,但系統700可以是媒體系統。例如,系統700可以并入個人計算機(PC)、膝上計算機、超級膝上計算機、平板計算機、觸摸板、便攜式計算機、手持式計算機、掌上型計算機、個人數字助理(PDA)、蜂窩電話、組合式蜂窩電話/PDA、電視、智能設備(例如,智能電話、智能平板計算機或智能電視)、移動互聯網設備(MID)、消息設備、數據通信設備、相機(例如,自動對焦相機、超級變焦相機、數碼單鏡頭反光(DSLR)相機)等。
在各實現方式中,系統700包括耦合至顯示器720的平臺702。平臺702可以從內容設備(如(多個)內容服務設備730或(多個)內容傳遞設備740或者其他類似內容源)接收內容。包括一個或多個導航特征的導航控制器750可以用于例如與平臺702和/或顯示器720進行交互。以下更詳細地描述這些部件中的每一個部件。
在各實現方式中,平臺702可以包括芯片組705、處理器710、存儲器712、天線713、存儲設備714、圖形子系統715、應用716和/或無線電718的任意組合。芯片組705可以在處理器710、存儲器712、存儲設備714、圖形子系統715、應用716和/或無線電718之中提供相互通信。例如,芯片組705可以包括能夠提供與存儲設備714的交互通信的存儲適配器(未示出)。
處理器710可以被實現為復雜指令集計算機(CISC)或精簡指令集計算機(RISC)處理器、x86指令集兼容處理器、多核處理器、或任何其他微處理器或中央處理器單元(CPU)。在各實現方式中,處理器710可以是(多個)雙核處理器、(多個)雙核移動處理器等。
存儲器712可以被實現為易失性存儲設備,如但不限于隨機存取存儲器(RAM)、動態隨機存取存儲器(DRAM)、或靜態RAM(SRAM)。
存儲設備714可以被實現為非易失性存儲設備,如但不限于:磁盤驅動器、光盤驅動器、磁帶驅動器、內部存儲設備、附連存儲設備、閃存、電池備用SDRAM(異步DRAM)和/或網絡可訪問存儲設備。在各實現方式中,存儲設備714可以包括用于當例如包括多個硬盤驅動器時增加對有價值的數字媒體的存儲性能增強型保護的技術。
圖形子系統715可以執行對如用于顯示的靜態或視頻圖像的處理。例如,圖形子系統715可以是圖形處理單元(GPU)或視覺處理單元(VPU)。可以使用模擬或數字接口將圖形子系統715和顯示720通信地耦合。例如,接口可以是高清晰度多媒體接口、顯示端口、無線HDMI和/或符合無線HD的技術中的任何一個。圖形子系統715可以集成到處理器電路710或芯片組705中。在一些實現方式中,圖形子系統715可以是通信地耦合至芯片組705的獨立設備。
在此描述的圖形和/或視頻處理技術可以用各種硬件架構實現。例如,圖形和/或視頻功能可以集成到芯片組中。替代性地,可以使用離散圖形和/或視頻處理器。如又另一種實現方式,圖形和/或視頻功能可以由通用處理器(包括多核處理器)來提供。在進一步的實施例中,所述功能可以在消費電子設備中實現。
無線電718可以包括能夠使用各種適當的無線通信技術發射并接收信號的一個或多個無線電。這些技術可以涉及跨一個或多個無線網絡的通信。示例無線網絡包括(但不限于)無線局域網(WLAN)、無線個人局域網(WPAN)、無線城域網(WMAN)、蜂窩網和衛星網。在跨這種網絡進行通信時,無線電718可以根據任何版本中的一個或多個可適用標準進行操作。
在各實現方式中,顯示器720可以包括任何電視機類型的監測器或顯示器。顯示器720可以包括例如,計算機顯示屏、觸摸屏顯示器、視頻監視器、類似電視機的設備和/或電視機。
顯示器720可以是數字的和/或模擬的。在各實現方式中,顯示器720可以是全息顯示器。而且,顯示器720可以是可以接收視覺投影的透明表面。這樣的投影可以傳遞各種形式的信息、圖像、和/或物體。例如,這樣的投影可以是移動增強現實(MAR)應用的視覺覆蓋。在一個或多個軟件應用716的控制下,平臺702可以在顯示720上顯示用戶界面722。
在各實現方式中,(多個)內容服務設備730可以由任何國家的、國際的和/或獨立的服務托管,并因此例如借助于互聯網可接入平臺702。(多個)內容服務設備730可以耦合至平臺702和/或至顯示器720。平臺702和/或內容服務設備730可以耦合到網絡760以將媒體信息去往和來自網絡760地通信(例如發送和/或接收)。內容傳遞設備740也可以耦合到平臺702和/或顯示器720。
在各實現方式中,(多個)內容服務設備730可以包括有線電視盒、個人計算機、網絡、電話、能夠傳遞數字信息和/或內容的支持互聯網的設備或電器、以及能夠在內容提供方與平臺702和/或顯示器720之間借助于網絡760或直接地單向或雙向傳達內容的任何其他類似設備。將認識到,內容可以借助于網絡760被單向地和/或雙向地傳達到系統700中的部件中的任何一個部件和內容提供方且從系統中的部件中的任何一個部件和內容提供方被傳達。內容的示例可以包括任何媒體信息,包括例如視頻、音樂、醫療和游戲信息等。
(多個)內容服務設備730可以接收如包含媒體信息、數字信息和/或其他內容的有線電視節目的內容。內容提供方的示例可以包括任何有線或衛星電視或無線電或互聯網內容提供方。所提供的示例不旨在以任何方式限制根據本公開的實現方式。
在各實現方式中,平臺702可以從具有一個或多個導航特征的導航控制器750中接收控制信號。控制器750的導航特征可以用于例如與用戶界面722進行交互。在各實施例中,導航控制器750可以是定點設備,所述定點設備可以是允許用戶輸入空間(例如,連續的和多維的)數據到計算機的計算機硬件部件(特別是人機接口設備)。如圖形用戶界面(GUI)、和電視機以及監視器的許多系統允許用戶使用物理姿勢來控制計算機或電視機并向計算機或電視機提供數據。
可以通過指針、光標、聚焦環或在顯示器上顯示的其他視覺指示器的移動在顯示器(例如,顯示器720)上復制控制器750的導航特征的移動。例如,在軟件應用716的控制下,位于導航控制器750上的導航特征可以例如被映射至用戶界面722上顯示的虛擬導航特征。在各實施例中,控制器750可以不是獨立部件但可以集成在平臺702和/或顯示器720內。然而,本公開不限于在此示出或描述的元素或內容。
在各實現方式中,驅動器(未示出)可以包括使用戶能夠通過例如在初始引導后啟動的按鈕的觸摸立刻打開和關閉類似電視機的平臺702的技術。當平臺被“關閉”時,程序邏輯可以允許平臺702將內容流傳輸到媒體適配器或其他(多個)內容服務設備730或(多個)內容傳遞設備740。此外,芯片組705可以包括支持例如5.1環繞聲音頻和/或高清7.1環繞聲音頻的硬件和/或軟件。驅動器可以包括用于集成圖形平臺的圖形驅動器。在各實施例中,圖形驅動器可以包括外圍部件互連(PCI)快速圖形卡。
在各實現方式中,系統700中示出的部件中的任何一個或多個部件可以是集成的。例如,平臺702和(多個)內容服務設備730可以是集成的,或者平臺702和(多個)內容傳遞設備740可以是集成的,或者平臺702、(多個)內容服務設備730和(多個)內容傳遞設備740可以例如是集成的。在各種實施例中,平臺702和顯示器720可以是集成的單元。例如,顯示720和內容服務設備730可以是集成的,或者顯示720和內容傳遞設備740可以是集成的。這些示例并不意在限制本公開。
在各實施例中,系統700可以被實現為無線系統、有線系統、或二者的組合。當實現為無線系統時,系統700可以包括適合于通過如一個或多個天線、發送器、接收器、收發器、放大器、過濾器、控制邏輯等的無線共享介質通信的部件和接口。無線共享介質的示例可以包括無線頻譜部分,例如RF頻譜等。當被實現為有線系統時,系統700可以包括適用于通過有線通信介質(如輸入/輸出(I/O)適配器、利用相應有線通信介質連接I/O適配器的物理連接器、網絡接口卡(NIC)、光盤控制器、視頻控制器、音頻控制器等)進行通信的部件和接口。有線通信介質的示例可以包括導線、電纜、金屬引線、印刷電路板(PCB)、背板、交換光纖、半導體材料、雙絞線、同軸電纜、光纖等。
平臺702可以建立一個或多個邏輯或物理信道以傳達信息。所述信息可以包括媒體信息和控制信息。媒體信息可以指表示針對用戶的內容的任何數據。內容的示例可以包括例如,來自語音對話、視頻會議、流式視頻、電子郵件消息、語音郵件消息、字母數字符號、圖形、圖像、視頻、文字等的數據。來自語音對話的數據可以是例如,語音信息、靜音期、背景噪音、舒適噪音、聲調等。控制信息可以指表示針對自動化系統的命令、指令或控制字的任何數據。例如,控制信息可以用于通過系統路由媒體信息、或者指示節點以預定方式處理所述媒體信息。然而,各實施例并不限于圖7中示出或描述的元素或上下文。
如上所述,系統700可以用變化的物理風格或形成因子來體現。圖8展示了可以用其具體化系統800的小形成因子設備800的實現方式。在各實施例中,例如,設備800可以被實現為具有無線能力的移動計算設備。例如,移動計算設備可以指具有處理系統和移動電源或電源(如一個或多個電池)的任何設備。
如上所述,移動計算設備的示例可以包括個人計算機(PC)、膝上計算機、超級膝上計算機、平板計算機、觸摸板、便攜式計算機、手持式計算機、掌上型計算機、個人數字助理(PDA)、蜂窩電話、組合式蜂窩電話/PDA、電視、智能設備(例如,智能電話、智能平板計算機或智能電視)、移動互聯網設備(MID)、消息設備、數據通信設備、相機(例如,自動對焦相機、超級變焦相機、數碼單鏡頭反光(DSLR)相機)等。
移動計算設備的示例還可以包括被安排以由人穿戴的計算機,如手腕計算機、手指計算機、戒指計算機、眼鏡計算機、皮帶夾計算機、臂帶計算機、鞋計算機、服裝計算機、以及其他可穿戴計算機。在各實施例中,例如移動計算設備可以實現為能夠執行計算機應用程序、以及語音通信和/或數據通信的智能電話。舉例來講,盡管一些實施例可以用被實現為智能電話的移動計算設備來描述,但可以理解的是,其他實施例也可以使用其他無線移動計算設備來實現。實施例并不限于本上下文中。
如圖8所示,設備800可以包括:殼體802、顯示器804、輸入/輸出(I/O)設備806、和天線808。設備800還可以包括導航特征812。顯示器804可以包括適合于移動計算設備的用于顯示信息的任何適當的顯示單元。I/O設備806可以包括用于將信息輸入移動計算設備中的任何適當的I/O設備。I/O設備806的示例可以包括:字母數字鍵盤、數字小鍵盤、觸摸板、輸入鍵、按鈕、開關、搖桿式開關、麥克風、揚聲器、語音識別設備和軟件等。信息也可以通過麥克風(未示出)輸入到設備800中。這種信息可以由語音識別設備(未示出)數字化。實施例并不限于本上下文中。
可以使用硬件元件、軟件元件、或兩者的組合來實現各實施例。硬件元件的示例可以包括:處理器、微處理器、電路、電路元件(例如,晶體管、電阻器、電容器、電感器等等)、集成電路、專用集成電路(ASIC)、可編程邏輯器件(PLD)、數字信號處理器(DSP)、現場可編程門陣列(FPGA)、邏輯門、寄存器、半導體器件、芯片、微芯片、芯片組等等。軟件的示例可以包括:軟件部件、程序、應用、計算機程序、應用程序、系統程序、機器程序、操作系統軟件、中間件、固件、軟件模塊、例程、子例程、函數、方法、過程、軟件接口、應用程序接口(API)、指令集、計算代碼、計算機代碼、代碼片段、計算機代碼片段、字、值、符號、或其任意組合。判定是否使用硬件元件和/或軟件元件來實現實施例可以根據任意數量的因子而變化,如預期的計算速率、功率電平、耐熱性、處理周期預算、輸入數據速率、輸出數據速率、存儲器資源、數據總線速度以及其他設計或性能約束。
可以由機器可讀介質上所存儲的表屬性指令實現至少一個實施例的一個或多個方面,所述指令代表處理器內的各種邏輯,當被機器讀取時所述指令使所述機器制作用于執行在此所描述的技術的邏輯。此類表示(稱為“IP核”)可以被存儲在有形的機器可讀介質上并提供給各顧客或制造設施以加載至實際制作所述邏輯或處理器的制作機器中。
雖然已經參照各實現方式描述了在此闡述的某些特征,但并不打算在限制性意義上解釋本說明書。因此,本公開涉及的對本領域技術人員而言明顯的對在此描述的實現方式以及其他實現方式的各種修改被視為是在本公開的精神和范圍內。
下面的示例涉及進一步的實施例。
在一個或多個第一實施例中,一種用于對視頻內容進行編碼以進行無線傳輸的計算機實現的方法,包括:確定用于使用第一視頻編解碼器對源視頻的片段進行編碼的第一、第二和第三候選比特率,其中,所述第一候選比特率包括以比例因子修改的使用第二視頻編解碼器所編碼的所述源視頻的比特率,其中,所述第二候選比特率包括使用所述第一視頻編解碼器所編碼的所述源視頻的所述片段或使用所述第一視頻編解碼器所編碼的所述源視頻的前一片段中的至少一者的平均比特率,并且其中,所述第三候選比特率包括針對使用所述第一視頻編解碼器所編碼的所述片段或使用所述第一視頻編解碼器所編碼的所述前一片段中的至少一者的編碼比特率預測;將所述源視頻的所述片段的編碼比特率選擇為所述第一、第二和第三候選比特率中的最小值;以及基于所述選擇的編碼比特率使用所述第一視頻編解碼器對所述源視頻的所述片段進行編碼。
進一步針對所述第一實施例,所述方法進一步包括確定用于使用所述第一視頻編解碼器對第二源視頻的第二片段進行編碼的第四候選比特率,其中,所述第四候選比特率包括以第二比例因子修改的使用第三視頻編解碼器所編碼的所述第二源視頻的比特率,并且其中,所述比例因子不同于所述第二比例因子。
進一步針對所述第一實施例,所述第一視頻編解碼器是與所述無線傳輸相關聯的本地視頻編解碼器,并且其中,所述第二視頻解碼器與所述源視頻的壓縮相關聯。
進一步針對所述第一實施例,所述編碼比特率預測至少部分地基于預定平均主觀評分、預定最大比特率、預定最小比特率或與所述無線傳輸的接收設備相關聯的顯示質量系數之一。
進一步針對所述第一實施例,基于所述編碼比特率預測確定所述第三候選比特率包括:對使用所述第一視頻編解碼器所編碼的所述片段或使用所述第一視頻編解碼器所編碼的所述前一片段的比特流進行分析,以確定片段比特流參數;基于所述片段比特流參數確定時間復雜度;以及基于所述時間復雜度和預訓練比特率預測模型生成比特率預測。
進一步針對所述第一實施例,基于所述編碼比特率預測確定所述第三候選比特率包括:對使用所述第一視頻編解碼器所編碼的所述片段或使用所述第一視頻編解碼器所編碼的所述前一片段的比特流進行分析,以確定片段比特流參數;基于所述片段比特流參數確定時間復雜度;以及基于所述時間復雜度和預訓練比特率預測模型生成比特率預測,其中,所述片段比特流參數包括所述片段的每像素平均比特數、所述片段的平均量化參數、所述片段的編碼幀速率或者所述片段的編碼視頻高度中的至少一者。
進一步針對所述第一實施例,基于所述編碼比特率預測確定所述第三候選比特率包括:對使用所述第一視頻編解碼器所編碼的所述片段或使用所述第一視頻編解碼器所編碼的所述前一片段的比特流進行分析,以確定片段比特流參數;基于所述片段比特流參數確定時間復雜度;以及基于所述時間復雜度和預訓練比特率預測模型生成比特率預測,其中,生成所述比特率預測進一步基于預定平均主觀評分、預定最大比特率、預定最小比特率以及與所述無線傳輸的接收設備相關聯的顯示質量系數。
進一步針對所述第一實施例,基于所述編碼比特率預測確定所述第三候選比特率包括:對使用所述第一視頻編解碼器所編碼的所述片段或使用所述第一視頻編解碼器所編碼的所述前一片段的比特流進行分析,以確定片段比特流參數;基于所述片段比特流參數確定時間復雜度;以及基于所述時間復雜度和預訓練比特率預測模型生成比特率預測,其中,生成所述比特率預測進一步基于預定平均主觀評分、預定最大比特率、預定最小比特率以及與所述無線傳輸的接收設備相關聯的顯示質量系數,并且其中,與所述接收設備相關聯的所述顯示質量系數是基于從所述接收設備接收的分辨率信息使用查找表確定的。
進一步針對所述第一實施例,所述第二候選比特率和所述第三候選比特率是基于所述源視頻的所述前一片段確定的,并且其中,所述前一片段緊接在所述源視頻的所述片段之前。
進一針對所述第一實施例,所述方法進一步包括:將借助于對所述片段進行所述編碼生成的結果比特流無線傳輸至接收設備。
在一個或一個第二實施例中,一種用于對視頻內容進行編碼以進行無線傳輸的系統,所述系統包括:存儲器,所述存儲器被配置成用于存儲視頻數據;以及處理單元,所述處理單元耦合到所述存儲器,其中,所述處理單元包括:基于編碼源視頻的比特率確定電路,所述電路被配置成用于確定用于基于第一視頻編解碼器對源視頻的片段進行編碼的第一候選比特率,其中,所述第一候選比特率包括以比例因子修改的使用第二視頻編解碼器所編碼的所述源視頻的比特率;片段平均比特率確定電路,所述電路被配置成用于確定用于基于所述第一視頻編解碼器對所述源視頻的所述片段進行編碼的第二候選比特率,其中,所述第二候選比特率包括使用所述第一視頻編解碼器所編碼的所述源視頻的所述片段或使用所述第一視頻編解碼器所編碼的所述源視頻的前一片段中的至少一者的平均比特率;編碼比特率預測電路,所述電路被配置成用于確定用于基于所述第一視頻編解碼器對所述源視頻的所述片段進行編碼的第三候選比特率,其中,所述第三候選比特率包括針對使用所述第一視頻編解碼器所編碼的所述片段或使用所述第一視頻編解碼器所編碼的所述前一片段中的至少一者的編碼比特率預測;比特率選擇電路,所述電路被配置成用于將所述源視頻的所述片段的編碼比特率選擇為所述第一、第二和第三候選比特率中的最小值;以及編碼器電路,所述電路被配置成用于根據所述選擇的編碼比特率基于所述第一視頻編解碼器對所述源視頻的所述片段進行編碼。
進一步針對所述第二實施例,所述基于編碼源視頻的比特率確定電路進一步被配置成用于確定用于使用所述第一視頻編解碼器對第二源視頻的第二片段進行編碼的第四候選比特率,其中,所述第四候選比特率包括以第二比例因子修改的使用第三視頻編解碼器所編碼的所述第二源視頻的比特率,并且其中,所述比例因子不同于所述第二比例因子。
進一步針對所述第二實施例,所述第一視頻編解碼器是與所述無線傳輸相關聯的本地視頻編解碼器,并且其中,所述第二視頻解碼器與所述源視頻的壓縮相關聯。
進一步針對所述第二實施例,所述編碼比特率預測至少部分地基于預定平均主觀評分、預定最大比特率、預定最小比特率或與所述無線傳輸的接收設備相關聯的顯示質量系數之一。
進一步針對所述第二實施例,所述編碼比特率預測電路被配置成用于確定所述第三候選比特率包括所述編碼比特率預測電路被配置成用于:對使用所述第一視頻編解碼器所編碼的所述片段或使用所述第一視頻編解碼器所編碼的所述前一片段的比特流進行分析,以確定片段比特流參數;基于所述片段比特流參數確定時間復雜度;以及基于所述時間復雜度和預訓練比特率預測模型生成比特率預測。
進一步針對所述第二實施例,所述編碼比特率預測電路被配置成用于確定所述第三候選比特率包括所述編碼比特率預測電路被配置成用于:對使用所述第一視頻編解碼器所編碼的所述片段或使用所述第一視頻編解碼器所編碼的所述前一片段的比特流進行分析,以確定片段比特流參數;基于所述片段比特流參數確定時間復雜度;以及基于所述時間復雜度和預訓練比特率預測模型生成比特率預測,其中,所述片段比特流參數包括所述片段的每像素平均比特數、所述片段的平均量化參數、所述片段的編碼幀速率或者所述片段的編碼視頻高度中的至少一者。
進一步針對所述第二實施例,所述編碼比特率預測電路被配置成用于確定所述第三候選比特率包括所述編碼比特率預測電路被配置成用于:對使用所述第一視頻編解碼器所編碼的所述片段或使用所述第一視頻編解碼器所編碼的所述前一片段的比特流進行分析,以確定片段比特流參數;基于所述片段比特流參數確定時間復雜度;以及基于所述時間復雜度和預訓練比特率預測模型生成比特率預測,其中,生成所述比特率預測進一步基于預定平均主觀評分、預定最大比特率、預定最小比特率以及與所述無線傳輸的接收設備相關聯的顯示質量系數。
進一步針對所述第二實施例,所述編碼比特率預測電路被配置成用于確定所述第三候選比特率包括所述編碼比特率預測電路被配置成用于:對使用所述第一視頻編解碼器所編碼的所述片段或使用所述第一視頻編解碼器所編碼的所述前一片段的比特流進行分析,以確定片段比特流參數;基于所述片段比特流參數確定時間復雜度;以及基于所述時間復雜度和預訓練比特率預測模型生成比特率預測,其中,生成所述比特率預測進一步基于預定平均主觀評分、預定最大比特率、預定最小比特率以及與所述無線傳輸的接收設備相關聯的顯示質量系數,所述系統進一步包括查找表,所述查找表包括與所述接收的分辨率信息相關聯的所述顯示質量系數。
進一步針對所述第二實施例,所述第二候選比特率和所述第三候選比特率是基于所述源視頻的所述前一片段確定的,并且其中,所述前一片段緊接在所述源視頻的所述片段之前。
進一步針對所述第二實施例,所述第二候選比特率和所述第三候選比特率是基于所述源視頻的所述前一片段,并且其中,所述前一片段緊接在所述源視頻的所述片段之前。
進一步針對所述第二實施例,所述系統包括計算機、膝上型計算機、超極本、智能電話或平板計算機中的至少一部分。
在一個或多個第三實施例中,一種用于對視頻內容進行編碼以進行無線傳輸的系統,所述系統包括:存儲器,所述存儲器被配置成用于存儲視頻數據;以及處理單元,所述處理單元耦合到所述存儲器,其中,所述處理單元包括:用于確定用于使用第一視頻編解碼器對源視頻的片段進行編碼的第一、第二和第三候選比特率的裝置,其中,所述第一候選比特率包括以比例因子修改的使用第二視頻編解碼器所編碼的所述源視頻的比特率,其中,所述第二候選比特率包括使用所述第一視頻編解碼器所編碼的所述源視頻的所述片段或使用所述第一視頻編解碼器所編碼的所述源視頻的前一片段中的至少一者的平均比特率,并且其中,所述第三候選比特率包括針對使用所述第一視頻編解碼器所編碼的所述片段或使用所述第一視頻編解碼器所編碼的所述前一片段中的至少一者的編碼比特率預測;用于將所述源視頻的所述片段的編碼比特率選擇為所述第一、第二和第三候選比特率中的最小值的裝置;以及用于基于所述選擇的編碼比特率使用所述第一視頻編解碼器對所述源視頻的所述片段進行編碼的裝置。
進一步針對所述第三實施例,所述處理單元進一步包括:用于確定用于使用所述第一視頻編解碼器對第二源視頻的第二片段進行編碼的第四候選比特率的裝置,其中,所述第四候選比特率包括以第二比例因子修改的使用第三視頻編解碼器所編碼的所述第二源視頻的比特率,并且其中,所述比例因子不同于所述第二比例因子。
進一步針對所述第三實施例,用于確定所述第一、所述第二、和所述第三候選比特率的所述裝置包括:用于對使用所述第一視頻編解碼器所編碼的所述片段或使用所述第一視頻編解碼器所編碼的所述前一片段的比特流進行分析以確定片段比特流參數的裝置;用于基于所述片段比特流參數確定時間復雜度的裝置;以及基于所述時間復雜度和預訓練比特率預測模型生成比特率預測作為所述第三候選比特率的裝置。
進一步針對所述第三實施例,用于確定所述第一、所述第二、和所述第三候選比特率的所述裝置包括:用于對使用所述第一視頻編解碼器所編碼的所述片段或使用所述第一視頻編解碼器所編碼的所述前一片段的比特流進行分析以確定片段比特流參數的裝置;用于基于所述片段比特流參數確定時間復雜度的裝置;以及基于所述時間復雜度和預訓練比特率預測模型生成比特率預測作為所述第三候選比特率的裝置,其中,所述片段比特流參數包括所述片段的每像素平均比特數、所述片段的平均量化參數、所述片段的編碼幀速率或者所述片段的編碼視頻高度中的至少一者。
在一個或多個第四實施例中,一種機器可讀介質,包括多條指令,所述指令響應于在計算設備上被執行而使所述計算設備通過以下方式對視頻內容進行編碼以進行無線傳輸:確定用于使用第一視頻編解碼器對源視頻的片段進行編碼的第一、第二和第三候選比特率,其中,所述第一候選比特率包括以比例因子修改的使用第二視頻編解碼器所編碼的所述源視頻的比特率,其中,所述第二候選比特率包括使用所述第一視頻編解碼器所編碼的所述源視頻的所述片段或使用所述第一視頻編解碼器所編碼的所述源視頻的前一片段中的至少一者的平均比特率,并且其中,所述第三候選比特率包括針對使用所述第一視頻編解碼器所編碼的所述片段或使用所述第一視頻編解碼器所編碼的所述前一片段中的至少一者的編碼比特率預測;將所述源視頻的所述片段的編碼比特率選擇為所述第一、第二和第三候選比特率中的最小值;以及基于所述選擇的編碼比特率使用所述第一視頻編解碼器對所述源視頻的所述片段進行編碼。
進一步針對所述第四實施例,所述機器可讀介質包括另外的指令,所述指令使所述計算設備通過以下方式對視頻內容進行編碼以進行無線傳輸:確定用于使用所述第一視頻編解碼器對第二源視頻的第二片段進行編碼的第四候選比特率,其中,所述第四候選比特率包括以第二比例因子修改的使用第三視頻編解碼器所編碼的所述第二源視頻的比特率,并且其中,所述比例因子不同于所述第二比例因子。
進一步針對所述第四實施例,所述編碼比特率預測至少部分地基于預定平均主觀評分、預定最大比特率、預定最小比特率或與所述無線傳輸的接收設備相關聯的顯示質量系數之一。
進一步針對所述第四實施例,基于所述編碼比特率預測確定所述第三候選比特率包括:對使用所述第一視頻編解碼器所編碼的所述片段或使用所述第一視頻編解碼器所編碼的所述前一片段的比特流進行分析,以確定片段比特流參數;基于所述片段比特流參數確定時間復雜度;以及基于所述時間復雜度和預訓練比特率預測模型生成比特率預測。
進一步針對所述第四實施例,基于所述編碼比特率預測確定所述第三候選比特率包括:對使用所述第一視頻編解碼器所編碼的所述片段或使用所述第一視頻編解碼器所編碼的所述前一片段的比特流進行分析,以確定片段比特流參數;基于所述片段比特流參數確定時間復雜度;以及基于所述時間復雜度和預訓練比特率預測模型生成比特率預測,其中,所述片段比特流參數包括所述片段的每像素平均比特數、所述片段的平均量化參數、所述片段的編碼幀速率或者所述片段的編碼視頻高度中的至少一者。
進一步針對所述第四實施例,基于所述編碼比特率預測確定所述第三候選比特率包括:對使用所述第一視頻編解碼器所編碼的所述片段或使用所述第一視頻編解碼器所編碼的所述前一片段的比特流進行分析,以確定片段比特流參數;基于所述片段比特流參數確定時間復雜度;以及基于所述時間復雜度和預訓練比特率預測模型生成比特率預測,其中,生成所述比特率預測進一步基于預定平均主觀評分、預定最大比特率、預定最小比特率以及與所述無線傳輸的接收設備相關聯的顯示質量系數。
在一個或多個第五實施例中,至少一種機器可讀介質可以包括多條指令,所述指令響應于在計算設備上被執行而使所述計算設備執行根據以上實施例中的任一項所述的方法。
在一個或多個第六實施例中,一種裝置可以包括:用于執行根據以上實施例中的任一項所述的方法的裝置。
將認識到,這些實施例不局限于如此描述的這些實施例,而是可以在不背離所附權利要求書的范圍的情況下通過修改和變更來實踐。例如,以上實施例可以包括特征的特定組合。然而,以上實施例并不限于這個方面,并且在各實現方式中,以上實施例可以包括僅采取這類特征的子集、采取這類特征的不同順序、采取這類特征的不同組合、和/或采取除了明確例舉的那些特征之外的附加特征。因此,這些實施例的范圍應當參考所附權利要求書、連同這樣的權利要求書有權獲得的等效物的全部范圍來確定。