新四季網

內容自適應的高精度宏塊速率控制的製作方法

2023-06-08 16:43:26 4

內容自適應的高精度宏塊速率控制的製作方法
【專利摘要】方法和系統可以包括一種裝置,所述裝置具有用於為與視頻信號相關聯的比特流分配宏塊比特預算集合的硬體邏輯單元。所述硬體邏輯單元還可以在一次性編碼配置中基於所述宏塊比特預算集合來控制所述比特流的幀大小。在一個例子中,所述硬體邏輯單元根據所述宏塊比特預算集合來調整所述比特流的一個或多個量化參數。
【專利說明】內容自適應的高精度宏塊速率控制
【背景技術】
[0001]傳統的速率控制算法可以被設計為通過使用用於在視頻比特流的幀和/或圖片層級上執行量化參數(QP)調整的硬體邏輯單元來實現目標視頻比特速率。當存在場景變化或內容切換時,由於與場景變化相關聯的內容複雜度改變,可能面臨壓縮的視頻比特速率的急劇上升或下降。雖然一種方法可以是在第二次編碼中使用新的QP來對視頻幀進行重新編碼,但這樣的解決方案會造成對於諸如視頻會議之類的實時應用來說可能是不可接受的延遲。
【專利附圖】

【附圖說明】
[0002]通過閱讀下面的說明書和所附的權利要求書,並且通過引用下面的附圖,對於本領域技術人員來說,本發明的實施例的各個優點將變得顯而易見,其中:
[0003]圖1是根據實施例的對視頻信號進行編碼的方法的例子的流程圖;
[0004]圖2是根據實施例的宏塊比特預算集合的例子的繪圖;
[0005]圖3是根據實施例的、使用區域來實現宏塊比特預算集合的方法的例子的流程圖;
[0006]圖4是根據實施例的計算平臺的例子的框圖;
[0007]圖5是根據實施例的、具有導航控制器的系統的例子的框圖;
[0008]圖6是根據實施例的、具有小外形規格的系統的例子的框圖。
【具體實施方式】
[0009]實施例可以涉及一種計算機實現的方法,其中,宏塊比特預算集合被分配用於與視頻信號相關聯的比特流。所述方法還可以規定:在一次性編碼配置中基於所述宏塊比特預算集合來控制所述比特流的幀大小。
[0010]實施例也可以包括一種裝置,所述裝置具有用於為與視頻信號相關聯的比特流分配宏塊比特預算集合的硬體邏輯單元。所述硬體邏輯單元還可以在一次性編碼配置中基於所述宏塊比特預算集合來控制所述比特流的幀大小。
[0011]此外,實施例可以包括一種具有圖形處理器的系統,所述圖形處理器具有用於為與視頻信號相關聯的比特流分配宏塊比特預算集合的硬體邏輯。所述硬體邏輯還可以在一次性編碼配置中基於所述宏塊比特預算集合來控制所述比特流的幀大小。在一個例子中,所述系統還包括耦合至所述圖形處理器的硬驅動器。
[0012]其它實施例可以包括一種計算機實現的方法,其中,基於宏塊像素方差、總體高頻幅度、殘餘誤差以及先前經編碼的比特數量中的至少一項來確定針對與視頻信號相關聯的比特流的宏塊複雜度。所述方法還可以規定:基於靜態位置、所述比特流的內容以及外部動態輸入中的至少一項來確定所述比特流的重要區域。可以基於所述宏塊複雜度和所述重要區域來為所述比特流分配宏塊比特預算集合。所述方法可以包括:生成宏塊大小估計以確定所述比特流的累計(running)比特和,其中,可以在所述累計比特和與所述宏塊比特預算集合之間執行比較。此外,所述方法可以規定:基於所述比較來選擇更新策略,以及在一次性編碼配置中基於所選擇的更新策略來控制所述比特流的幀大小。
[0013]現在轉到圖1,示出了對視頻信號進行編碼(例如,壓縮)的方法10。方法10可以在使用諸如(舉例來說)專用集成電路(ASIC)、互補金屬氧化物半導體(CMOS)或電晶體-電晶體邏輯(TTL)技術、或其任意組合之類的電路技術的多種多樣的計算系統的固定功能硬體中來實現。示出的處理框12規定:為與視頻信號相關聯的比特流分配宏塊比特預算集合。如將更為詳細地所討論的,在一次性編碼配置中,可以基於宏塊複雜度信息、重要區域信息等等來分配所述宏塊比特預算集合。此外,所述宏塊比特預算集合可以包括:一個或多個預算,所述一個或多個預算可用於在宏塊層級上跟蹤並控制所述經編碼的比特流的幀大小。具體地說,在框14,在所述一次性編碼配置中可以基於所述宏塊比特預算集合來控制所述比特流的幀大小。
[0014]圖2示出了用於實現針對與視頻比特流相對應的運行比特和18的宏塊比特預算集合16(16a-16e)的一種方法。累計比特和18可以表示包含諸如視頻會議內容之類的實時內容的視頻信號的經編碼的/經壓縮的比特的累積數量。在示出的例子中,比特預算16隨著經處理的宏塊數量增加而增加,其中,目標宏塊比特預算16a表示在時間上所預算的編碼比特的目標數量。此外,最大宏塊比特預算16b可以表示在時間上所預算的編碼比特的最大數量,而最小宏塊比特預算16c可以表示在時間上所預算的編碼比特的最小數量。在示出的例子中,宏塊比特預算集合16還包括:在目標宏塊比特預算16a與最大宏塊比特預算16b之間的上限平均16d,以及在目標宏塊比特預算16a與最小宏塊比特預算16c之間的下限平均16e。取決於狀況,可以使用其它宏塊比特預算。
[0015]如將更為詳細地所討論的,宏塊比特預算集合16可以定義一個或多個區域20、
22、24,所述一個或多個區域20、22、24可以用於選擇針對所述比特流的更新策略。所選擇的更新策略可以包括例如一個或多個量化參數(QP)調整、離散餘弦變換(DCT)係數調整等等。通常,DCT係數可以使得能夠在頻域上對視頻信號進行監視、分析以及控制,其中,視頻編碼系統的QP可以建立步長大小,以便將DCT係數與有限的步長集合相關聯。因此,大的QP值可以表示相對大的步長,其大致接近於空間變換,使得可以僅通過幾個係數來捕獲大部分的信號。另一方面,小的QP值可以更準確地接近於空間頻譜,但是以更多的比特為代價。
[0016]在示出的例子中,區域20位於離目標宏塊比特預算16a最近之處,區域24位於離目標宏塊比特預算16a最遠之處,而區域22設置在相應的區域20與24之間。因此,如果累計比特和18從區域20轉換至區域22中,則可以選擇更新策略以便在逐宏塊的基礎上抑制幀大小的增長。例如,對這種轉換的響應可以是將QP簡單地增加某一小量。
[0017]類似地,如果累計比特和18從區域22轉換至區域24中,則可以選擇甚至更激進的更新策略(例如,「應急(panic)」模式)。例如,對這種轉換的響應可以是將QP設置為最大值或者將除了零頻率(例如,DC)項以外的所有的變換係數清零。可以使用諸如箝位頻率係數(例如,將高頻係數限制在特定範圍內以避免長碼)以及將高頻係數清零(例如,在已經滿足了固定數量的非零/AC係數之後)之類的其它數據縮減技術。事實上,在極端情況下,可以將所有的頻率(例如,AC)係數清零,使得僅DC係數保留。這種方法可以替換具有平坦均值的宏塊,其需要相對少的比特數量以便對比特流進行編碼。[0018]另一方面,當累計比特和18從區域24通過區域22轉換至區域20中時,可以逐漸地選擇允許更多比特的更新策略並且將其應用於比特流。因此,響應於這種轉換,可以中斷前面提及的數據縮減技術和/或可以減小QP。
[0019]工作原理概沭
[0020]在一個例子中,比特打包模塊可以生成針對所打包的每一個宏塊的大小(例如,字節)估計。此外,用戶可以指定每宏塊的目標大小和最大大小,其中,這些信號(例如,實際、目標、最大)的累計和可以創建用於標識何時QP調整是必需的「曲線」(見圖2)。可以根據目標信號和最大信號由量化速率控制模塊對稱地生成再三條曲線(例如,upper_midpt,lower_midpt、sum_min)。目標信號和最大信號的值可以由用戶指定並且可以決定這些曲線的形狀。
[0021]例如,在sum_actual和sum_target之間的差異(例如,「bytediff 」)可以標識在目標大小與實際大小之間的誤差餘量。在當前的bytediff與先前計算的bytediff之間的差異可以表示該餘量在時間上的變化速率,其中,該速率的符號可以用於標識校正是否正趨向適當的方向(例如,向bytediff = O)。
[0022]QPmod
[0023]每一個宏塊可以具有請求的QP (其可以跨宏塊而改變或者保持恆定)。可以將修改參數(例如,「QPmod」)添加至所請求的QP,其中,當目標被欠預測時,QPmod將是正的,而當目標被過度預測時,QPmod將是負的。此外,當內部計數器(例如,「向上」和「向下」)達到跳變點(例如,「增長」和「縮減」)時,可以遞增或遞減QPmod。對於所處理的每一個MB,並且基於在哪一個區域中值sum_aCtual下降,可以將各種數量的點添加至任一個計數器。如果向上計數器超過增長點,則可以遞增QPmod,然而如果向下計數器超過縮減點,則可以遞減QPmod。
[0024]為了抑制在相同方向上的重複的變化的效應,可以實現針對該方向的阻力(resistance)的增大和針對反方向的阻力的減小(例如增長_阻力」和「收縮_阻力」)。可以將這一阻力添加至增長點或收縮點,這隨後需要更多的點來解扣(trip)在該方向上的下一個校正。
[0025]此外,用戶可以指定保護頻帶,所述保護頻帶限制了可以對QPmod進行修改的量。例如,可以將 QPmo d 限制在「 QPmax_p o s_mo d 」 與「 -QPmax_n e g_mo d_ab s 」 之間。
[0026]觸發
[0027]在一個例子中,速率控制模塊僅在其被觸發時開始修改QPmod。因此,可以存在三種級別的觸發..「總是(always) 」、「溫和(gentle) 」、以及「寬鬆(loose)」。總是級別可以表示:一旦參數「sum_actual」達到區域20, RC將是活動的。一旦sum_actual達到區域22,溫和級別可以觸發速率控制。此外,當sum_aCtual達到區域24時,寬鬆級別可以進行等待以觸發速率控制。
[0028]一旦sum_actual開始在一系列宏塊上跟蹤sum_target,速率控制模塊可以停用(例如,觸發=false)。具體地說,可以在宏塊窗口上監視針對bytediff的變化速率的符號。當在所述窗口上的這些符號的和落入容限值時(例如,稱作『穩態』),可以將觸發重置為 false。
[0029]應急[0030]當啟用時,每當SUm_actUal達到區域24時,可以發生應急模式,並且其可以保持如此直至sum_actual達到區域20。當應急時,所有的宏塊可以利用QP = MB (n).QP+QPmax_pos_mod來進行量化,箝位至諸如51之類的值。
[0031]用戶控制
[0032]通過允許用戶定義各個關鍵參數可以實現相當大的靈活性。例如,在每宏塊層級,目標值和最大值可以被指定,並且其可以創建將與sum_actUal相比較的各種形狀的曲線。
[0033]此外,在每片層級,用戶可以指定禁用觸發所需要的觸發靈敏度和容限。此外,用戶可以啟用應急檢測。
[0034]除了其它事項以外,分配給區域20、22、24中的每一個區域的點值可以向用戶公開,以便考慮針對過度預測和欠預測的非對稱的控制。此外,用戶可以指定增長點和收縮點的初始值連同當調用校正時所應用的阻力值。QPmod的最大值和最小值也可以向用戶公開。
[0035]現在轉到圖3,示出了用於使用區域來實現宏塊比特預算集合的方法26。方法26可以在使用諸如(舉例來說)ASIC、CMOS或TTL技術、或其任意組合之類的電路技術的多種多樣的計算系統的固定功能硬體中來實現。示出的處理框28規定:估計對當前宏塊進行編碼所需要的比特數量,其中,所述估計可能考慮宏塊的複雜度、宏塊是否是重要區域的部分等等。例如,宏塊複雜度的確定可以基於像素方差、總體聞頻幅度(例如,在DCT係數之間)、殘餘誤差、先前經編碼的比特數量等。如果基於統計使用例如SAD(絕對差異的和)或MSE (均方差)來預先定義殘餘誤差,貝U可以如下生成相關函數,Estimate_Bits[k]=Statistics_Function (Residual_Error [k]);針對第 k 個 MB。
[0036]此外,重要區域的確定可以基於靜態位置(例如,顯示器的中心)、比特流的內容(例如,人臉、運動對象等)、外部動態輸入(例如,由實時眼睛跟蹤設備提供的數據)等等。對此,可以將宏塊重要性的加權函數賦值為在O與I之間的分數權重,
[0037]Importance [k];針對第 k 個 MB。
[0038]如已經提到的,在框30,可以將當前宏塊比特預算集合添加至先前的預算和。因此,在框30,可以將針對當前宏塊的目標比特預算添加至先前的目標比特預算的和,可以將針對當前宏塊的最大比特預算添加至先前的最大比特預算的和等等,以獲得如已經討論的宏塊比特預算集合。示出的框32規定:將所估計的、對當前宏塊進行編碼所需要的比特數量添加至總的實際幀大小,以便獲得總體估計的幀大小(例如,累計比特和)。對於最大比特預算、最小比特預算和其它比特預算可以重複相同的情況。在框34,然後可以將總體估計的幀大小與所述宏塊比特預算集合相比較,其中,所述比較可以使得能夠識別已經討論的、諸如區域20、22、24(圖2)之類的預算區域。
[0039]如果在框36確定當前區域不同於先前區域,則在框40增大計數器之前,可以在框38重置計數器。如果當前區域與先前區域相同,則可以在框40執行計數器增大而不用重置計數器。對此,計數器可以用於防止過快地作出QP和/或DCT係數調整。因此,僅當在框42確定計數器已經超過預先定義的閾值,示出的方法26才在框44執行區域特定的QP更新。這種滯後功能可以顯著地改善系統性能。在框46可以對宏塊比特流進行打包,其中,經打包的比特流可以用於確定實際的幀大小。
[0040]現在轉到圖4,示出了平臺56,其中,平臺56可以是移動平臺,諸如膝上型計算機、移動網際網路設備(MID)、個人數字助理(PDA)、媒體播放器、成像設備等等、諸如智慧型電話、智能平板等等的任何智能設備、或其任意組合。平臺56也可以是固定平臺,諸如個人計算機(PC)、伺服器、工作站、智能TV等等。示出的平臺56包括:中央處理單元(CPU,例如,主處理器)58,CPU 58具有提供對系統存儲器60的訪問的集成存儲器控制器(iMC) 62,系統存儲器60可以包括例如雙倍數據速率(DDR)同步動態RAM(SDRAM,例如,DDR3SDRAM JEDEC標準JESD79-3C,2008年4月)模塊。可以將系統存儲器60的模塊合併入例如單列直插式存儲器模塊(SIMM)、雙列直插式存儲器模塊(DIMM)、小型DMM (SODIMM)等等。CPU 58還可以具有一個或多個驅動64和/或處理器核(未示出),其中每一個核可以是功能齊全的,其具有指令提取單元、指令解碼器、一級(LI)緩存、執行單元等等。CPU 58可以替代地經由前側總線或使平臺56中的組件中的每一個組件互連的點對點結構與iMC 62的晶片外變型(也被稱作北橋)通信。CPU 58還可以執行諸如Microsoft Windows、Linux、或Mac (Macintosh)OS之類的作業系統(OS) 66。
[0041]示出的CPU 58經由集線器總線與平臺控制器集線器(PCH) 68 (也被稱作南橋)通信。iMC 62/CPU 58和PCH 68有時被稱為晶片組。CPU 58還可以通過PCH 68經由網絡埠(未示出)可操作地連接至網絡(未示出)。顯示器70 (例如,觸控螢幕、LCD、LED顯示器)也可以與PCH 68通信,以便允許用戶查看來自平臺56的圖像和/或視頻。示出的PCH 58還耦合至存儲裝置,所述存儲裝置可以包括硬驅動器76、R0M、光碟、快閃記憶體(未示出)等等。
[0042]示出的平臺56還包括耦合至專用圖形存儲器80的專用圖形處理單元(GPU) 78。專用圖形存儲器80可以包括例如GDDR(圖形DDR)或DDRSDRAM模塊,或適用於支持圖形呈現的任何其它存儲器技術。GPU 78和圖形存儲器80可以安裝於圖形/視頻卡上,其中,GPU 78可以經由諸如PCI Express圖形(PEG,例如,外設組件互連/PCI Express xl6圖形150W-ATX規範1.0, PCI特別興趣小組)總線或加速圖形埠(例如,AGP V3.0接口規範,2002年9月)總線之類的圖形總線與CPU 58通信。圖形卡可以集成至系統主板上、集成入主CPU 58管芯、配置為主板上的分立板卡等。GPU 78還可以執行一個或多個驅動82,並且可以包括用於存儲指令和其它數據的內部緩存84。
[0043]示出的GPU 78包括硬體邏輯單元86,硬體邏輯單元86被配置為:為與視頻信號相關聯的比特流分配宏塊比特預算集合,以及在一次性編碼配置中基於所述宏塊比特預算集合來控制所述比特流的幀大小。在一個例子中,硬體邏輯單元86根據所述宏塊比特預算集合來調整所述比特流的多個量化參數中的一個量化參數。
[0044]圖5示出了系統700的實施例。在實施例中,系統700可以是媒體系統,儘管系統700不受限於該上下文。例如,可以將系統700合併入個人計算機(PC)、膝上型計算機、超膝上型計算機、平板、觸摸板、可攜式計算機、手持式計算機、掌上型計算機、個人數字助理(PDA)、蜂窩電話、蜂窩電話/PDA的組合、電視機、智能設備(例如,智慧型手機、智能平板或智能電視機)、移動網際網路設備(MID)、消息傳送設備、數據通信設備等等。
[0045]在實施例中,系統700包括耦合至顯示器720的平臺702。平臺702可以從諸如內容服務設備730或內容分發設備740或其它類似的內容源之類的內容設備接收內容。包括一個或多個導航特徵的導航控制器750可以用於與例如平臺702和/或顯示器720進行交互。以下更詳細地描述這些組件中的每一個組件。
[0046]在實施例中,平臺702可以包括晶片組705、處理器710、存儲器712、存儲裝置714、圖形子系統715、應用716和/或無線電臺718的任意組合。晶片組705可以在處理器710、存儲器712、存儲裝置714、圖形子系統715、應用716和/或無線電臺718之間提供互相通信。例如,晶片組705可以包括能夠提供與存儲裝置714的互相通信的存儲裝置適配器(未描繪)。
[0047]處理器710可以實現為複雜指令集計算機(CISC)或精簡指令集計算機(RISC)處理器、兼容x86指令集的處理器、多核、或任何其它微處理器或中央處理單元(CPU)。在實施例中,處理器710可以包括雙核處理器、雙核移動處理器等等。
[0048]存儲器712可以實現為易失性存儲設備,諸如但不限於隨機存取存儲器(RAM)、動態隨機存取存儲器(DRAM)、或靜態RAM(SRAM)。
[0049]存儲裝置714可以實現為非易失性儲存設備,諸如但不限於磁碟驅動器、光碟驅動器、磁帶驅動器、內部存儲設備、附帶的存儲設備、快閃記憶體、電池支持的SDRAM(同步DRAM)、和/或網絡可存取的存儲設備。在實施例中,例如,當包括多個硬驅動器時,存儲裝置714可以包括用於提高針對有價值的數字媒體的存儲性能增強性保護的技術。
[0050]圖形子系統715可以執行對諸如靜止圖像或視頻的處理以便顯示。例如,圖形子系統715可以是圖形處理單元(GPU)或視覺處理單元(VPU)。模擬或數字接口可以用於通信地耦合圖形子系統715和顯示器720。例如,所述接口可以是高清晰度多媒體接口、顯示埠、無線HDMIjP /或兼容無線HD的技術中的任何一種。圖形子系統715可以集成入處理器710或晶片組705。圖形子系統715可以是通信地耦合至晶片組705的獨立板卡。
[0051]本文所描述的圖形和/或視頻處理技術可以在各種硬體架構中實現。例如,圖形和/或視頻功能可以集成於晶片組內。或者,可以使用分立的圖形和/或視頻處理器。舉另一個實施例,圖形和/或視頻功能可以由通用處理器(包括多核處理器)來實現。在另外的實施例中,所述功能可以在消費電子設備中實現。
[0052]無線電臺718可以包括能夠使用各種適當的無線通信技術來發送和接收信號的一個或多個無線電臺。這些技術可以涉及跨越一個或多個無線網絡的通信。示例性無線網絡包括(但不限於)無線區域網(WLAN)、無線個域網(WPAN)、無線城域網(WMAN)、蜂窩網絡、以及衛星網絡。在跨越這些網絡進行通信時,無線電臺718可以根據任何版本中的一個或多個適用標準來操作。
[0053]在實施例中,顯示器720可以包括任何電視機類型的監視器或顯示器。顯示器720可以包括例如計算機顯示屏、觸控螢幕顯示器、視頻監視器、類似電視機的設備、和/或電視機。顯示器720可以是數字的和/或模擬的。在實施例中,顯示器720可以是全息顯示器。此外,顯示器720可以是可接收視覺投影的透射表面。這種投影可以傳達各種形式的信息、圖像、和/或對象。例如,這種投影可以是用於移動增強現實(MAR)應用的視覺重疊。在一個或多個軟體應用716的控制下,平臺702可以在顯示器720上顯示用戶界面722。
[0054]在實施例中,例如,內容服務設備730可以由任何國家的、國際的和/或獨立服務主持(host)並且因此經由網際網路可存取至平臺702。內容服務設備730可以耦合至平臺702和/或顯示器720。平臺702和/或內容服務設備730可以耦合至網絡760以便向網絡760傳送以及從網絡760傳送(例如,發送和/或接收)媒體信息。內容分發設備740還可以耦合至平臺702和/或顯示器720。
[0055]在實施例中,內容服務設備730可以包括:有線電視盒、個人計算機、網絡、電話、能夠傳送數字信息和/或內容的、支持網際網路的設備或電器、以及能夠經由網絡760或直接地在內容供應商與平臺702和/顯示器720之間單向地或雙向地傳送內容的任何其它類似的設備。將意識到的是,可以經由網絡760單向地和/或雙向地向系統700中的組件中的任何一個和內容供應商傳送內容以及從系統700中的組件中的任何一個和內容供應商傳送內容。內容的例子可以包括任何媒體信息,其包括例如視頻、音樂、醫療和遊戲信息等等。
[0056]內容服務設備730接收諸如包括媒體信息、數字信息、和/或其它內容的有線電視節目之類的內容。內容供應商的例子可以包括任何有線電視或衛星電視或無線電或網際網路內容供應商。所提供的例子並不意味著要限制本發明的實施例。
[0057]在實施例中,平臺702可以從具有一個或多個導航特徵的導航控制器750接收控制信號。例如,控制器750的導航特徵可以用於與用戶界面722進行交互。在實施例中,導航控制器750可以是定點設備,定點設備可以是容許用戶將空間(例如,連續的和多維度的)數據輸入計算機的計算機硬體組件(具體地說,人工接口設備)。諸如圖形用戶界面(GUI)、以及電視機和監視器之類的許多系統允許用戶使用物理手勢來控制並且向計算機或電視機提供數據。
[0058]控制器750的導航特徵的移動可以通過指針、光標、焦點環、或顯示在顯示器上的其它可視指示符的移動而回顯在顯示器(例如,顯示器720)上。例如,在軟體應用716的控制下,可以將位於導航控制器750上的導航特徵例如映射到在用戶界面722上顯示的虛擬導航特徵。在實施例中,控制器750可以不是單獨的組件,而是集成入平臺702和/或顯示器720。然而,實施例並不受限於在本文所示出或所描述的上下文中的元件。
[0059]在實施例中,驅動器(未示出)可以包括用於使得用戶能夠立即打開和關閉平臺702的技術,類似於電視機,例如,當啟用時,在初始啟動之後,觸碰按鈕。當平臺「關閉」時,程序邏輯單元可以允許平臺702向媒體適配器或其它內容服務設備730或內容分發設備740流式傳輸內容。此外,晶片組705可以包括例如對5.1環繞聲音頻和/或高清晰度7.1環繞聲音頻的硬體和/或軟體支持。驅動可以包括集成的圖形平臺的圖形驅動。在實施例中,圖形驅動可以包括外設組件互連(PCI)Express圖形卡。
[0060]在各個實施例中,可以集成在系統700中所示出的組件中的任意一個或多個組件。例如,可以集成平臺702和內容服務設備730,或者可以集成平臺702和內容分發設備740,或者例如可以集成平臺702、內容服務設備730、以及內容分發設備740。在各個實施例中,平臺702和顯示器720可以是集成單元。例如,可以集成顯示器720和內容服務設備730,或者可以集成顯示器720和內容分發設備740。這些例子並不意味著要限制本發明。
[0061]在各個實施例中,系統700可以實現為無線系統、有線系統、或兩者的組合。當實現為無線系統時,系統700可以包括適用於通過無線共享介質進行通信的組件和接口,例如一個或多個天線、發射機、接收機、收發機、放大器、濾波器、控制邏輯單元等等。無線共享介質的例子可以包括無線頻譜的部分,例如RF頻譜等等。當實現為有線系統時,系統700可以包括適用於通過有線通信介質進行通信的組件和接口,例如輸入/輸出(I/O)適配器、用於將I/O適配器與相對應的有線通信介質相連接的物理連接器、網絡接口卡(NIC)、光碟控制器、視頻控制器、音頻控制器等等。有線通信介質的例子可以包括:電線、電纜、金屬導線、印刷電路板(PCB)、背板、交換結構、半導體材料、雙絞線、同軸電纜、光纖等等。
[0062]平臺702可以建立一個或多個邏輯單元或物理信道以傳送信息。信息可以包括媒體信息和控制信息。媒體信息可以是指表示旨在用於用戶的內容的任何數據。內容的例子可以包括例如來自語音對話、視頻會議、流式傳輸視頻、電子郵件(「電郵」)消息、語音郵件消息、字母數字符號、圖形、圖像、視頻、文本等等的數據。來自語音對話的數據可以是例如語音信息、靜默時段、背景噪聲、舒適噪聲、音調等等。控制信息可以是指表示旨在用於自動系統的命令、指令或控制字的任何數據。例如,控制信息可以用於通過系統來路由媒體信息,或指示節點以預先確定的方式來處理媒體信息。然而,實施例並不受限於圖5中所示出或所描述的元件或上下文。
[0063]如上文所描述的,系統700可以以變化的物理樣式或外形規格來體現。圖6示出了其中可以體現系統700的小外形規格設備800的實施例。在實施例中,例如,設備800可以實現為具有無線能力的移動計算設備。移動計算設備可以是指具有處理系統和移動電源或移動電力供應(例如,諸如一個或多個電池)的任何設備。
[0064]如上文所描述的,移動計算設備的例子可以包括個人計算機(PC)、膝上型計算機、超膝上型計算機、平板、觸摸板、可攜式計算機、手持式計算機、掌上型計算機、個人數字助理(PDA)、蜂窩電話、蜂窩電話/PDA的組合、電視機、智能設備(例如,智慧型電話、智能平板或智能電視機)、移動網際網路設備(MID)、消息傳送設備、數據通信設備等等。
[0065]移動計算設備的例子還可以包括被布置為由人穿戴的計算機,諸如腕計算機、手指計算機、指環計算機、眼鏡計算機、皮帶夾計算機、臂帶計算機、鞋子計算機、衣服計算機、以及其它可穿戴的計算機。在實施例中,例如,移動計算設備可以實現為能夠執行計算機應用以及語音通信和/或數據通信的智慧型電話。儘管可以通過舉例的方式利用實現為智慧型電話的移動計算設備來描述一些實施例,但是可以意識到的是,其它實施例也可以使用其它無線移動計算設備來實現。實施例不受限於該上下文。
[0066]如圖6中所不出的,設備800可以包含殼體802、顯不器804、輸入/輸出(I/O)設備806、以及天線808。設備800還可以包括導航特徵812。顯示器804可以包括用於顯示適合於移動計算設備的信息的任何適當的顯示單元。I/O設備806可以包括用於向移動計算設備中輸入信息的任何適當的I/O設備。I/O設備806的例子可以包括字母數字鍵盤、數字小鍵盤、觸摸板、輸入鍵、按鈕、開關、往復式開關、麥克風、揚聲器、語音識別設備和軟體等等。信息也可以通過麥克風輸入至設備800中。可以通過語音識別設備將這樣的信息數位化。實施例不受限於該上下文。
[0067]各個實施例可以使用硬體元件、軟體元件、或兩者的組合來實現。硬體元件的例子可以包括處理器、微處理器、電路、電路元件(例如,電晶體、電阻、電容、電感等等)、集成電路、專用集成電路(ASIC)、可編程邏輯器件(PLD)、數位訊號處理器(DSP)、現場可編程門陣列(FPGA)、邏輯門、寄存器、半導體器件、晶片、微晶片、晶片組等等。軟體的例子可以包括軟體組件、程序、應用、電腦程式、應用程式、系統程序、機器程序、作業系統軟體、中間件、固件、軟體模塊、例程、子例程、函數、方法、過程、軟體接□、應用程式接□ (API)、指令集、計算代碼、計算機代碼、代碼段、計算機代碼段、字、值、符號、或其任意組合。確定實施例是否使用硬體元件和/或軟體元件來實現可以根據任意數量的因素而變化,例如期望的計算速率、功率級別、耐熱性、處理周期預算、輸入數據速率、輸出數據速率、存儲器資源、數據總線速度以及其它設計或性能約束。
[0068]至少一個實施例的一個或多個方面可以通過存儲在機器可讀介質上的代表性的指令來實現,所述代表性的指令表示處理器內的各種邏輯單元,所述代表性的指令在由機器讀取時使機器製造用於執行本文所描述的技術的邏輯單元。被稱作「IP核」的這樣的表示可以存儲在有形的、機器可讀介質上,並且提供給各個客戶或製造設施,以加載至實際製造邏輯單元或處理器的製造機器中。
[0069]本發明的實施例適用於與所有類型的半導體集成電路(「1C」)晶片的使用。這些IC晶片的例子包括但不限於處理器、控制器、晶片組組件、可編程邏輯陣列(PLA)、存儲器晶片、網絡晶片等等。此外,在一些附圖中,利用線來表示信號導線。一些可以不同,以指示更多的構成信號路徑,可以具有數字標記,以指示若干個構成信號路徑,和/或可以在一個或多個末端具有箭頭,以指示主要的信息流方向。然後,這不應當解釋為限制性的方式。更確切地說,這樣的添加細節可以結合一個或多個示例性的實施例用來促進對電路更容易的理解。任何所表示的信號線,不論是否具有附加信息,可以實際包括一個或多個信號,所述一個或多個信號可以在多個方向上行進並且可以用任何適當類型的信號方案來實現,例如用差分對實現的數字或模擬線、光纖線和/或單端線。
[0070]可能已經給出了示例性大小/模型/值/範圍,儘管本發明的實施例不受限於與之相同。當製造技術(例如,光刻)隨著時間成熟,預期可以製造較小尺寸的器件。此外,出於簡化說明和討論,並且為了不模糊本發明的實施例的某些方面,公知的至IC晶片和其它組件的電源/接地連接可以在或可以不在圖內示出。此外,布置可以以框圖的形式示出,以便避免模糊本發明的實施例,並且還鑑於針對這種框圖布置的實現的細節高度依賴於實施例將被實現於其內的平臺的事實,即這樣的細節應當在本領域技術人員的應知範圍內。在對具體細節(例如,電路)進行闡述以便描述本發明的示例性實施例的情況下,對於本領域技術人員來說應當顯而易見的是,本發明的實施例可以不用這些具體細節或用這些具體細節的變型來加以實施。因此所述描述應被認為是說明性的而不是限制性的。
[0071]一些實施例可以例如使用機器或有形的計算機可讀介質或製品來實現,所述有形的計算機可讀介質或製品可以存儲指令或指令集合,所述指令或指令集合如果由機器執行,可以使機器執行根據實施例的方法和/或操作。這樣的機器可以包括例如任何適當的處理平臺、計算平臺、計算設備、處理設備、計算系統、處理系統、計算機、處理器等等,並且其可以使用硬體和/或軟體的任何適當的組合來實現。機器可讀介質或製品可以包括例如任何適當類型的存儲器單元、存儲器設備、存儲器製品、存儲器介質、存儲設備、存儲製品、存儲介質和/或存儲單元,例如存儲器、可移動或不可移動介質、可擦除或不可擦除介質、可寫或可重寫介質、數字或模擬介質、硬碟、軟盤、壓縮盤只讀存儲器(CD-ROM)、可記錄壓縮盤(CD-R)、可重寫壓縮盤(CD-RW)、光碟、磁性介質、磁光介質、可移動存儲卡或盤、各種類型的數字多功能盤(DVD)、磁帶、盒式磁帶等等。指令可以包括任何適當類型的代碼,例如原始碼、經編譯的代碼、經解釋的代碼、可執行代碼、靜態代碼、動態代碼、經加密的代碼等等,這些代碼使用任何適當的高級、低級、面向對象、可視的、編譯的和/或解釋的程式語言來實現。
[0072]除非明確聲明,否則可以意識到的是,諸如「處理」、「計算」、「運算」、「確定」等等之類的術語是指計算機或計算系統或類似的電子計算設備的動作和/或處理,其將在計算系統的寄存器和/或存儲器內被表示為物理量(例如,電子)的數據操縱和/或變換為在計算系統的存儲器、寄存器或其它此類信息存儲、傳輸或顯示設備內被類似地表示為物理量的其它數據。實施例不受限於該上下文。[0073]術語「耦合」在本文中可以用於指代在所討論的組件之間的任何類型的關係,直接的或間接的,並且可以應用於電的、機械的、流體的、光學的、電磁的、機電的或其它的連接。此外,術語「第一」、「第二」等等在本文中可以僅用於方便討論,並且除非另外指明,否則其不傳遞任何特定的時間或順序上的意義。
[0074]通過前述描述本領域技術人員將意識到,本發明的實施例的寬泛技術可以以各種形式實現。因此,儘管已經結合其特定的例子描述了本發明的實施例,但是本發明的實施例的真實範圍不應當這樣受限制,因為在研究附圖、說明書和下面的權利要求書後,其它修改對於本領域普通技術人員來說將變得顯而易見。
【權利要求】
1.一種計算機實現的方法,包括: 基於宏塊像素方差、總體高頻幅度、殘餘誤差以及先前經編碼的比特數量中的至少一項來確定針對與視頻信號相關聯的比特流的宏塊複雜度; 基於靜態位置、所述比特流的內容以及外部動態輸入中的至少一項來確定所述比特流的重要區域; 基於所述宏塊複雜度和所述重要區域來為所述比特流分配宏塊比特預算集合; 生成宏塊大小估計以確定所述比特流的累計比特和; 在所述累計比特和與所述宏塊比特預算集合之間執行比較; 基於所述比較來選擇更新策略;以及 在一次性編碼配置中基於所選擇的更新策略來控制所述比特流的幀大小。
2.根據權利要求1所述的方法,其中,所述宏塊比特預算集合包括:目標宏塊比特預算、最小宏塊比特預算以及最大宏塊比特預算。
3.根據權利要求2所述的方法,其中,所述宏塊比特預算集合還包括:在所述目標宏塊比特預算與所述最大宏塊比特預算之間的上限平均,以及在所述目標宏塊比特預算與所述最小宏塊比特預算之間的下限平均。
4.根據權利要求1所 述的方法,其中,所選擇的更新策略包括量化參數調整和離散餘弦變換係數調整中的至少一項。
5.一種裝置,包括: 硬體邏輯單元,用於: 為與視頻信號相關聯的比特流分配宏塊比特預算集合;以及 在一次性編碼配置中基於所述宏塊比特預算集合來控制所述比特流的幀大小。
6.根據權利要求5所述的裝置,其中,所述硬體邏輯單元用於: 確定所述比特流的累計比特和; 在所述累計比特和與所述宏塊比特預算集合之間執行比較;以及基於所述比較來選擇更新策略,其中,基於所選擇的更新策略來控制所述比特流的所述幀大小。
7.根據權利要求6所述的裝置,其中,所選擇的更新策略包括量化參數調整和離散餘弦變換係數調整中的至少一項。
8.根據權利要求7所述的裝置,其中,所述硬體邏輯單元用於生成宏塊大小估計。
9.根據權利要求5所述的裝置,其中,所述宏塊比特預算集合包括:目標宏塊比特預算、最小宏塊比特預算以及最大宏塊比特預算。
10.根據權利要求9所述的裝置,其中,所述宏塊比特預算集合還包括:在所述目標宏塊比特預算與所述最大宏塊比特預算之間的上限平均,以及在所述目標宏塊比特預算與所述最小宏塊比特預算之間的下限平均。
11.根據權利要求5所述的裝置,其中,所述硬體邏輯單元用於基於宏塊像素方差、總體高頻幅度、殘餘誤差以及先前經編碼的比特數量中的至少一項來確定針對所述比特流的宏塊複雜度,以及其中,基於所述宏塊複雜度來分配所述宏塊比特預算集合。
12.根據權利要求5所述的裝置,其中,所述硬體邏輯單元用於基於靜態位置、所述比特流的內容以及外部動態輸入中的至少一項來確定所述比特流的重要區域,以及其中,基於所述重要區域來分配所述宏塊比特預算集合。
13.—種系統,包括: 圖形處理器,其包括硬體邏輯單元,所述硬體邏輯單元用於: 為與視頻信號相關聯的比特流分配宏塊比特預算集合;以及 在一次性編碼配置中基於所述宏塊比特預算集合來控制所述比特流的幀大小;以及 耦合至所述圖形處理器的硬驅動器。
14.根據權利要求13所述的系統,其中,所述硬體邏輯單元用於: 確定所述比特流的累計比特和; 在所述累計比特和與所述宏塊比特預算集合之間執行比較;以及基於所述比較來選擇更新策略,其中,基於所選擇的更新策略來控制所述比特流的所述幀大小。
15.根據權利要求14所述的系統,其中,所選擇的更新策略包括量化參數調整和離散餘弦變換係數調整中的至少一項。
16.根據權利要求14所述的系統,其中,所述硬體邏輯單元用於生成宏塊大小估計。
17.根據權利要求13所述的系統,其中,所述宏塊比特預算集合包括:目標宏塊比特預算、最小宏塊比特預算以及最大宏塊比特預算。
18.根據權利要求17所述的系統,其中,所述宏塊比特預算集合還包括:在所述目標宏塊比特預算與所述最大宏塊比特預算之間的上限平均,以及在所述目標宏塊比特預算與所述最小宏塊比特預算之間的下限平均。
19.根據權利要求13所述的系統,其中,所述硬體邏輯單元用於基於宏塊像素方差、總體高頻幅度、殘餘誤差以及先前經編碼的比特數量中的至少一項來確定針對所述比特流的宏塊複雜度,以及其中,基於所述宏塊複雜度來分配所述宏塊比特預算集合。
20.根據權利要求13所述的系統,其中,所述硬體邏輯單元用於基於靜態位置、所述比特流的內容以及外部動態輸入中的至少一項來確定所述比特流的重要區域,以及其中,基於所述重要區域來分配所述宏塊比特預算集合。
21.—種計算機實現的方法,包括: 為與視頻信號相關聯的比特流分配宏塊比特預算集合;以及 在一次性編碼配置中基於所述宏塊比特預算集合來控制所述比特流的幀大小。
22.根據權利要求21所述的方法,還包括: 確定所述比特流的累計比特和; 在所述累計比特和與所述宏塊比特預算集合之間執行比較;以及基於所述比較來選擇更新策略,其中,基於所選擇的更新策略來控制所述比特流的所述幀大小。
23.根據權利要求22所述的方法,其中,所選擇的更新策略包括量化參數調整和離散餘弦變換係數調整中的至少一項。
24.根據權利要求22所述的方法,其中,確定所述累計比特和包括:生成宏塊大小估計。
25.根據權利要求21所述的方法,其中,所述宏塊比特預算集合包括:目標宏塊比特預算、最小宏塊比特預算以及最大宏塊比特預算。
26.根據權利要求25所述的方法,其中,所述宏塊比特預算集合還包括:在所述目標宏塊比特預算與所述最大宏塊比特預算之間的上限平均,以及在所述目標宏塊比特預算與所述最小宏塊比特預算之間的下限平均。
27.根據權利要求21所述的方法,還包括:基於宏塊像素方差、總體高頻幅度、殘餘誤差以及先前經編碼的比特數量中的至少一項來確定針對所述比特流的宏塊複雜度,以及其中,基於所述宏塊複雜度來分配所述宏塊比特預算集合。
28.根據權利要求21所述的方法,還包括:基於靜態位置、所述比特流的內容以及外部動態輸入中的至少一項來 確定所述比特流的重要區域,以及其中,基於所述重要區域來分配所述宏塊比特預算集合。
29.根據權利要求21所述的方法,其中,硬體邏輯單元用於分配所述宏塊比特預算集合以及控制所述幀大小。
【文檔編號】H04N19/18GK104012090SQ201180075822
【公開日】2014年8月27日 申請日期:2011年12月23日 優先權日:2011年12月23日
【發明者】N·路, J·M·霍蘭, H·江 申請人:英特爾公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀