少部分地基于中間視頻254執(zhí)行中間運(yùn)動(dòng)估計(jì)。在一些示例中,可只例如在中間視頻的全整數(shù)像素點(diǎn)分辨率上而不在分?jǐn)?shù)像素點(diǎn)分辨率上執(zhí)行中間運(yùn)動(dòng)估計(jì)。
[0032]在一些示例中,在第二獨(dú)立編碼流204的編碼期間執(zhí)行的目標(biāo)視頻源210的決定性運(yùn)動(dòng)估計(jì)可至少部分地基于中間運(yùn)動(dòng)估計(jì)。第二編碼輸出260可具有與第一編碼輸出270相同的分辨率和與第一編碼輸出270不同的帶寬要求,或第二編碼輸出260可具有與第一編碼輸出270不同的分辨率和與第一編碼輸出270相同的帶寬要求。
[0033]如下面將更詳細(xì)討論的,視頻編碼系統(tǒng)200可用于執(zhí)行下面關(guān)于圖4和/或5討論的各種功能的一些或全部。
[0034]圖3示出根據(jù)本公開的示例視頻編碼系統(tǒng)200的高級(jí)方框圖。在各種實(shí)現(xiàn)中,視頻編碼系統(tǒng)200可包括預(yù)測(cè)模塊302、變換模塊304、量化模塊306、掃描模塊308、以及熵編碼模塊310。在各種實(shí)現(xiàn)中,視頻編碼系統(tǒng)300可配置成根據(jù)各種視頻編碼標(biāo)準(zhǔn)和/或規(guī)范(包括但不限于計(jì)劃為在2012年末完成的高效視頻編碼(HEVC)視頻壓縮標(biāo)準(zhǔn)、MPEG2、VCl、H.264-AVC/SVc、VP8、和/或類似標(biāo)準(zhǔn))來對(duì)視頻數(shù)據(jù)(例如以視頻幀或圖片的形式)進(jìn)行編碼。為了清楚,所述的各種設(shè)備、系統(tǒng)和過程不限于任何特定的視頻編碼標(biāo)準(zhǔn)和/或規(guī)范。
[0035]預(yù)測(cè)模塊302可使用輸入視頻數(shù)據(jù)301來執(zhí)行空間和/或時(shí)間預(yù)測(cè)。例如,為了編碼的目的,輸入視頻圖像幀可分解成分片(slice),其進(jìn)一步細(xì)分成宏塊。預(yù)測(cè)模塊302可應(yīng)用已知的空間(幀內(nèi))預(yù)測(cè)技術(shù)和/或已知的時(shí)間(幀間)預(yù)測(cè)技術(shù)來預(yù)測(cè)宏塊數(shù)據(jù)值。
[0036]變換模塊304可接著將已知的變換技術(shù)應(yīng)用于宏塊以在空間上將宏塊數(shù)據(jù)解相關(guān)。本領(lǐng)域中的技術(shù)人員可認(rèn)識(shí)到,變換模塊304可在應(yīng)用適當(dāng)尺寸的變換矩陣之前首先將16x16的宏塊細(xì)分成4x4或8x8的塊。
[0037]量化模塊306可接著響應(yīng)于可例如在每宏塊基礎(chǔ)上改變的量化控制參數(shù),來量化變換系數(shù)。例如,對(duì)于8位樣本深度,量化控制參數(shù)可具有52個(gè)可能的值。此外,量化步長(zhǎng)大小關(guān)于量化控制參數(shù)可以不是線性的。
[0038]掃描模塊308可接著使用各種已知的掃描順序方案來掃描量化變換系數(shù)的矩陣以產(chǎn)生一串變換系數(shù)符號(hào)要素。變換系數(shù)符號(hào)要素以及額外的句法要素(例如宏塊類型、幀間預(yù)測(cè)模式、運(yùn)動(dòng)矢量、參考圖片索引、殘余變換系數(shù)等)可接著被提供到熵編碼模塊310,其又可輸出編碼視頻數(shù)據(jù)312。
[0039]如下面將更詳細(xì)討論的,如在圖2和/或3中描述的視頻編碼系統(tǒng)200可用于執(zhí)行下面關(guān)于圖4和/或5討論的各種功能中的一些或全部。
[0040]圖4是示出根據(jù)本公開的至少一些實(shí)現(xiàn)布置的示例視頻編碼過程400的流程圖。在所示實(shí)現(xiàn)中,過程400可包括如由一個(gè)或多個(gè)塊402和/或404示出的一個(gè)或多個(gè)操作、功能或行動(dòng)。通過非限制性示例的方式,將在本文參考圖2、3和/或6的示例視頻編碼系統(tǒng)200來描述過程400。
[0041]過程400可作為用于運(yùn)動(dòng)估計(jì)的內(nèi)容感知選擇調(diào)節(jié)的計(jì)算機(jī)實(shí)現(xiàn)的方法而被利用。過程400可在塊402 “在第二獨(dú)立編碼流內(nèi)執(zhí)行目標(biāo)視頻源的決定性運(yùn)動(dòng)估計(jì)”開始,其中可執(zhí)行目標(biāo)視頻源的決定性運(yùn)動(dòng)估計(jì)。例如,可在第二獨(dú)立編碼流內(nèi)執(zhí)行目標(biāo)視頻源的決定性運(yùn)動(dòng)估計(jì),其中目標(biāo)視頻源可以是原始視頻源的向下采樣版本。原始視頻源可與第一獨(dú)立編碼流相關(guān)聯(lián),且目標(biāo)視頻源可與第二獨(dú)立編碼流相關(guān)聯(lián)。
[0042]處理可從操作402繼續(xù)到操作404 “至少部分地基于目標(biāo)視頻源的決定性運(yùn)動(dòng)估計(jì)來在第一獨(dú)立編碼流內(nèi)執(zhí)行原始視頻源的決定性運(yùn)動(dòng)估計(jì)”,其中可執(zhí)行原始視頻源的決定性運(yùn)動(dòng)估計(jì)。例如,可至少部分地基于在第二獨(dú)立編碼流內(nèi)的目標(biāo)視頻源的決定性運(yùn)動(dòng)估計(jì),來在第一獨(dú)立編碼流內(nèi)執(zhí)行原始視頻源的決定性運(yùn)動(dòng)估計(jì)。
[0043]可在下面關(guān)于圖5更詳細(xì)討論的實(shí)現(xiàn)的一個(gè)或多個(gè)示例中示出與過程400有關(guān)的一些額外和/或可選的細(xì)節(jié)。
[0044]圖5是根據(jù)本公開的至少一些實(shí)現(xiàn)布置的在操作中的示例視頻編碼系統(tǒng)200和視頻編碼過程500的示意圖。在所示實(shí)現(xiàn)中,過程500可包括如由一個(gè)或多個(gè)行動(dòng)512、514、516、518、520、522、524、和/或526示出的一個(gè)或多個(gè)操作、功能或行動(dòng)。通過非限制性示例的方式,將在本文參考圖2、3和/或6的示例視頻編碼系統(tǒng)200來描述過程500。
[0045]在所示實(shí)現(xiàn)中,視頻編碼系統(tǒng)200可包括邏輯模塊506、類似模塊和/或其組合。例如,邏輯模塊506可包括第一運(yùn)動(dòng)估計(jì)邏輯模塊508、第二運(yùn)動(dòng)估計(jì)邏輯模塊510、類似模塊和/或其組合。雖然如圖5所示的視頻編碼系統(tǒng)200可包括與特定的模塊相關(guān)聯(lián)的特定的一組塊或行動(dòng),這些塊或行動(dòng)可與不同于這里示出的特定模塊的模塊相關(guān)聯(lián)。
[0046]過程500可在塊512 “開始編碼”開始,其中編碼可開始。雖然如所示的過程500是用于編碼,所描述的概念和/或操作可以用相同或相似的方式應(yīng)用于通用編碼,包括解碼。
[0047]在第二獨(dú)立編碼流被編碼的情況下,處理可從操作512繼續(xù)到操作514“目標(biāo)向下采樣”,否則,在第一獨(dú)立編碼流被編碼的情況下,處理可從操作512繼續(xù)到操作524 “決定性運(yùn)動(dòng)估計(jì)2”。
[0048]處理可從操作512繼續(xù)到操作514 “目標(biāo)向下采樣”,其中可執(zhí)行目標(biāo)向下采樣。例如,可執(zhí)行從原始視頻源到目標(biāo)視頻源的目標(biāo)向下采樣以提供目標(biāo)視頻源??稍谀繕?biāo)視頻源的決定性運(yùn)動(dòng)估計(jì)的執(zhí)行之前執(zhí)行目標(biāo)向下采樣。
[0049]處理可從操作516繼續(xù)到操作518“中間向下采樣1”,其中可執(zhí)行中間向下采樣。例如,可執(zhí)行從目標(biāo)視頻源到中間視頻的中間向下采樣。
[0050]處理可從操作516繼續(xù)到操作518 “中間運(yùn)動(dòng)估計(jì)I ”,其中可執(zhí)行中間運(yùn)動(dòng)估計(jì)。例如,可至少部分地基于中間視頻來執(zhí)行中間運(yùn)動(dòng)估計(jì)。在一些示例中,可只在中間視頻的全整數(shù)像素點(diǎn)分辨率上而不在分?jǐn)?shù)像素點(diǎn)分辨率上執(zhí)行中間運(yùn)動(dòng)估計(jì),而可在分?jǐn)?shù)像素點(diǎn)分辨率上執(zhí)行目標(biāo)視頻源的決定性運(yùn)動(dòng)估計(jì)。
[0051]處理可從操作518繼續(xù)到操作520 “決定性運(yùn)動(dòng)估計(jì)1”,其中可執(zhí)行目標(biāo)視頻源的決定性運(yùn)動(dòng)估計(jì)。例如,可在第二獨(dú)立編碼流內(nèi)執(zhí)行目標(biāo)視頻源的決定性運(yùn)動(dòng)估計(jì),其中目標(biāo)視頻源可以是原始視頻源的向下采樣版本。原始視頻源可與第一獨(dú)立編碼流相關(guān)聯(lián),且目標(biāo)視頻源可與第二獨(dú)立編碼流相關(guān)聯(lián)。在一些示例中,在第二獨(dú)立編碼流的編碼期間執(zhí)行的目標(biāo)視頻源的決定性運(yùn)動(dòng)估計(jì)可至少部分地基于中間運(yùn)動(dòng)估計(jì)。
[0052]處理可從操作520繼續(xù)到操作522 “完成編碼輸出1”,其中來自第二獨(dú)立編碼流的輸出可被摘編碼。
[0053]處理可以此外或可選地從操作520繼續(xù)到操作524 “決定性運(yùn)動(dòng)估計(jì)2”,其中可執(zhí)行原始視頻源的決定性運(yùn)動(dòng)估計(jì)。例如,可至少部分地基于在第二獨(dú)立編碼流內(nèi)的目標(biāo)視頻源的決定性運(yùn)動(dòng)估計(jì),來在第一獨(dú)立編碼流內(nèi)執(zhí)行原始視頻源的決定性運(yùn)動(dòng)估計(jì)。
[0054]處理可從操作524繼續(xù)到操作526 “完成編碼輸出2”,其中來自第一獨(dú)立編碼流的輸出可被摘編碼。
[0055]在操作中,過程500(和/或400)可操作以使得:對(duì)于目標(biāo)視頻源的決定性運(yùn)動(dòng)估計(jì),至少部分地基于所執(zhí)行的決定性運(yùn)動(dòng)估計(jì),來自第二獨(dú)立編碼流的輸出可以被熵編碼,以便包括在多流同播中,以從目標(biāo)視頻源產(chǎn)生編碼的第二輸出。類似地,對(duì)于原始視頻源,至少部分地基于所執(zhí)行的決定性運(yùn)動(dòng)估計(jì),來自第一獨(dú)立編碼流的輸出可以被熵編碼,以便包括在多流同播中,以從原始視頻源產(chǎn)生編碼的第一輸出。在一些示例中,可根據(jù)第一編碼標(biāo)準(zhǔn)對(duì)第一獨(dú)立編碼流進(jìn)行編碼,而可根據(jù)與關(guān)聯(lián)于第一獨(dú)立編碼流的第一編碼標(biāo)準(zhǔn)不同的第二編碼標(biāo)準(zhǔn)對(duì)第二獨(dú)立編碼流進(jìn)行編碼。例如,第二編碼輸出可具有與第一編碼輸出相同的分辨率和與第一編碼輸出不同的帶寬要求,或第二編碼輸出可具有與第一編碼輸出不同的分辨率和與第一編碼輸出相同的帶寬要求。
[0056]所提出的優(yōu)化將減少一些向下采樣過程并重新使用較低層運(yùn)動(dòng)估計(jì)結(jié)果。具體地,對(duì)于上面的示例,如果我們將第一流的向下采樣的分辨率選擇為與第二流的分辨率相同,則可將可能獨(dú)立于彼此完成的向下采樣過程組合成一個(gè)向下采樣過程,且可通過重新使用來自第二獨(dú)立編碼流的結(jié)果,從第一獨(dú)立編碼流消除中間運(yùn)動(dòng)估計(jì)的過程。在具有雙流同播場(chǎng)景的示例中,可從整個(gè)過程省去至少一個(gè)下采樣和一個(gè)運(yùn)動(dòng)估計(jì),其獨(dú)自可省去多達(dá)計(jì)算密集流程的三分之一。這個(gè)優(yōu)化可潛在地節(jié)省計(jì)算能力、減小存儲(chǔ)器帶寬以及從編碼器產(chǎn)生更多的編碼吞吐量。
[0057]雖然如圖4和5所示的示例過程400和500的實(shí)現(xiàn)可包括以所示順序?qū)嵤┧镜乃袎K,但是本公開不限于這一方面,并且在各種示例中,過程400和500的實(shí)現(xiàn)可包括只實(shí)施所示塊的子集和/或以與所示不同的順序。
[0058]此外,可響應(yīng)于由一個(gè)或多個(gè)計(jì)算機(jī)程序產(chǎn)品提供的指令來實(shí)施圖4和5的任一個(gè)或多個(gè)塊。這樣的程序產(chǎn)品可包括提供指令的信號(hào)承載介質(zhì),所述指令當(dāng)由例如處理器執(zhí)行時(shí),可提供在本文描述的功能??稍谌魏涡问降挠?jì)算機(jī)可讀介質(zhì)中提供計(jì)算機(jī)程序產(chǎn)品。因此例如,包括一個(gè)或多個(gè)處理器核心的處理器可響應(yīng)于由機(jī)器可讀介質(zhì)傳送到處理器的指令,來實(shí)施圖4和5所示的一個(gè)或多個(gè)塊。
[0059]如在本文描述的任何實(shí)現(xiàn)中使用的,術(shù)語(yǔ)“模塊”指配置成提供本文描述的功能的軟件、固件和/或硬件的任何組合。軟件可被體現(xiàn)為軟件封裝、代碼和/或指令集或指令,且如在本文描述的任何實(shí)現(xiàn)中使用的“硬件”可單獨(dú)地或以任何組合包括例如硬連線電路、可編程電路、狀態(tài)機(jī)電路、和/或存儲(chǔ)由可編程電路執(zhí)行的指令的固件。模塊可共同或單獨(dú)地被體現(xiàn)為形成較大系統(tǒng)的部分的電路,例如集成電路(1C)、片上系統(tǒng)(SoC)等。
[0060]圖6是根據(jù)本公開的至少一些實(shí)現(xiàn)布置的示例視頻編碼系統(tǒng)200的示意圖。在所示實(shí)現(xiàn)中,視頻編碼系統(tǒng)200可包括天線601、顯示器602、成像設(shè)備604、視頻編碼器603、視頻解碼器605、和/或邏輯模塊506。邏輯模塊506可包括第一運(yùn)動(dòng)估計(jì)邏輯模塊508、第二運(yùn)動(dòng)估計(jì)邏輯模塊510、類似模塊和/或其組合。
[0061]如所示,天線601、視頻編碼器605、處理器606、存儲(chǔ)器存儲(chǔ)608、和/或顯示器602可能能夠與彼此通信和/或與邏輯模塊506的部分通信。類似地,成像設(shè)備604和視頻編碼器603可能能夠與彼此通信和/或與邏輯模塊506的部分通信。因此,視頻解碼器605可包括邏輯模塊506的全部或部分,而視頻編碼器603可包括類似的邏輯模塊。雖然如圖6所示的視頻編碼系統(tǒng)200可包括與特定模塊相關(guān)聯(lián)的特定的一組塊或行動(dòng),這些塊或行動(dòng)可與不同于這里示出的特定模塊的模塊相關(guān)聯(lián)。
[0062]在一些示例中,視頻編碼系統(tǒng)200可包括天線601、視頻解碼器605、類似物和/或其組合。天線601可配置成接收視頻數(shù)據(jù)的編碼比特流。視頻解碼器605可通信地耦合到天線60