相關(guān)申請
本申請要求于2015年1月31日提交的題為“replayingoldpacketsforconcealingvideodecodingerrors(重放用于隱藏視頻解碼錯誤的舊分組)”的美國臨時申請no.62/110,503以及于2015年1月31日提交的題為“videodecodinglatencyadjustmentbasedonwirelesslinkconditions(基于無線鏈路狀況的視頻解碼等待時間調(diào)整)”的美國臨時申請?zhí)?2/110,505的權(quán)益,其內(nèi)容明確地完全并入本文。
背景技術(shù):
視頻編碼器壓縮視頻信息,使得可以在給定帶寬上發(fā)送更多信息。然后可以將壓縮的信號發(fā)射到接收機,所述接收機在顯示之前對信號進行解碼或解壓縮。
在一些傳統(tǒng)的無線顯示系統(tǒng)中,使用視頻壓縮以便減少空中帶寬。由于無線介質(zhì)是不可靠的,并且一些攜帶壓縮視頻的分組會丟失,所以解碼器可以實現(xiàn)錯誤隱藏。現(xiàn)有的錯誤隱藏實現(xiàn)典型地使用幀緩沖器,其可以包含先前解碼的圖像。圖像的丟失部分典型地可以用來自幀緩沖器的先前的圖像的共位(co-located)部分替換。
附圖說明
本文所描述的材料不是在附圖中通過限制的方式而是通過示例的方式進行了說明。為了說明的簡單和清楚,附圖中所圖示的元件不一定按比例繪制。例如,為了清楚起見,相對于其它元件,可能將某些元件的尺寸進行放大。此外,在認(rèn)為適當(dāng)?shù)那闆r下,在圖中重復(fù)參考標(biāo)簽以指示相應(yīng)或類似的元件。
圖1是示例視頻處理系統(tǒng)的圖示圖;
圖2是示例現(xiàn)有技術(shù)無線顯示視頻解碼器的圖示圖;
圖3是示例視頻幀的圖示圖;
圖4是示例無線顯示視頻解碼器系統(tǒng)的圖示圖;
圖5是被撕裂(torn)的視頻幀的示例圖示;
圖6圖示了模式?jīng)Q策邏輯的示例實現(xiàn);
圖7示出了等待時間變化系統(tǒng)的示例實現(xiàn);
圖8是圖示了示例編譯碼過程的流程圖;
圖9提供示例視頻編譯碼系統(tǒng)和操作中的視頻編譯碼過程的圖示圖;
圖10是示例視頻編譯碼系統(tǒng)的圖示圖;
圖11是示例系統(tǒng)的圖示圖;和
圖12是全部根據(jù)本公開的至少一些實現(xiàn)進行布置的示例系統(tǒng)的圖示圖。
具體實施方式
盡管在下文的說明書闡述了可以顯現(xiàn)在諸如例如片上系統(tǒng)(soc)架構(gòu)之類的架構(gòu)中的各種實現(xiàn),但是本文所描述的技術(shù)和/或布置的實現(xiàn)不受限于特定的架構(gòu)和/或計算系統(tǒng),并且可以由用于相似目的的任何架構(gòu)和/或計算系統(tǒng)來實現(xiàn)。例如,采用例如多個集成電路(ic)芯片和/或封裝的各種架構(gòu)和/或諸如機頂盒、智能電話等的各種計算設(shè)備和/或消費電子(ce)設(shè)備可以實現(xiàn)本文所描述的技術(shù)和/或布置。此外,盡管在下文的說明書可以闡述許多特定細(xì)節(jié),諸如系統(tǒng)組件的邏輯實現(xiàn)、類型和相互關(guān)系、邏輯分區(qū)/集成選擇等,但是可以在沒有這些具體細(xì)節(jié)的情況下實踐所要求保護的主題。在其它實例中,為了不模糊本文公開的材料,可以不詳細(xì)地示出諸如例如控制結(jié)構(gòu)和完整的軟件指令序列之類的一些材料。
本文所公開的材料可以以硬件、固件、軟件或其任何組合來實現(xiàn)。本文所公開的材料還可以被實現(xiàn)為存儲在機器可讀介質(zhì)上的指令,其可以被一個或多個處理器讀取和執(zhí)行。機器可讀介質(zhì)可以包括用于以機器(例如,計算設(shè)備)可讀的形式存儲或發(fā)射信息的任何介質(zhì)和/或機制。例如,機器可讀介質(zhì)可以包括只讀存儲器(rom);隨機存取存儲器(ram);磁盤存儲介質(zhì);光存儲介質(zhì);閃存設(shè)備;電氣、光學(xué)、聲學(xué)或其它形式的傳播信號(例如載波、紅外信號、數(shù)字信號等)以及其他。
在本說明書中對“一個實現(xiàn)”、“實現(xiàn)”、“示例實現(xiàn)”等的引用指示所描述的實現(xiàn)可以包括特定的特征、結(jié)構(gòu)或特性,但是每個實現(xiàn)可以不必定包括特定的特征、結(jié)構(gòu)或特性。此外,這樣的短語不必定指代相同的實現(xiàn)。此外,無論本文是否明確描述,當(dāng)結(jié)合實現(xiàn)來描述特定特征、結(jié)構(gòu)或特性時,認(rèn)為結(jié)合其它實現(xiàn)來達成這樣的特征、結(jié)構(gòu)或特性是在本領(lǐng)域技術(shù)人員的知識范圍內(nèi)的。
下面描述系統(tǒng)、裝置、物品和方法,其包括用于重放用于隱藏視頻解碼錯誤的舊分組的操作以及用于基于無線鏈路狀況的視頻解碼等待時間調(diào)整的操作。
如上所述,在一些傳統(tǒng)無線顯示系統(tǒng)中,使用視頻壓縮以便減少空中帶寬。由于無線介質(zhì)是不可靠的,并且一些攜帶壓縮視頻的分組會丟失,解碼器可以會實現(xiàn)錯誤隱藏。現(xiàn)有的錯誤隱藏實現(xiàn)典型地使用幀緩沖器,其可以包含先前解碼的圖像。圖像的丟失部分典型地可以用來自幀緩沖器的先前的圖像的共位部分來替換。
此外,一些傳統(tǒng)解決方案典型地可以使用幀緩沖器以便存儲先前解碼的圖像。緩沖器很大,并且典型地以高帶寬進行訪問。它通常位于芯片外。這增加了產(chǎn)品成本和功耗。此外,已知的解決方案通常需要設(shè)計解碼器,其可以正確地處理丟失的分組。這樣的解碼器的實現(xiàn)和生效可能是復(fù)雜的。
如下面將更詳細(xì)描述的那樣,代替使用幀緩沖器,本文所描述的一些實現(xiàn)可以利用軟件來檢測圖像的哪些部分(例如,在片級別)丟失。代替使用幀緩沖器來構(gòu)成丟失的像素,可以重新解碼來自先前視頻幀的共位片,以便隱藏丟失的分組。因此,可以不是在未壓縮的像素域中而是在壓縮分組域中執(zhí)行錯誤隱藏。
與傳統(tǒng)解決方案對照而言,本文所描述的一些實現(xiàn)可以不需要幀緩沖器,因此可以減少產(chǎn)品成本和功耗。本文所描述的一些實現(xiàn)可以不需要能處理丟失的分組的解碼器。這可顯著地簡化解碼器實現(xiàn)(其可在hw中進行)和生效,從而減少項目時間線和風(fēng)險。例如,本文所描述的一些實現(xiàn)可以用于減少芯片上所導(dǎo)致的wigig系統(tǒng)的復(fù)雜性。
圖1是根據(jù)本公開的至少一些實現(xiàn)所布置的示例視頻編譯碼系統(tǒng)100的圖示圖。在各種實現(xiàn)中,視頻編譯碼系統(tǒng)100可以被配置為根據(jù)一個或多個高級視頻編解碼器標(biāo)準(zhǔn)進行視頻編譯碼和/或?qū)崿F(xiàn)視頻編解碼器。
此外,在各種實施例中,視頻編譯碼系統(tǒng)100可以被實現(xiàn)為圖像處理器、視頻處理器和/或媒體處理器的一部分,并且可以根據(jù)本公開進行幀間預(yù)測、幀內(nèi)預(yù)測、??預(yù)測編譯碼和/或類似操作。
如本文所使用的,術(shù)語“編譯碼器”(coder)可以是指編碼器(encoder)和/或解碼器(decoder)。類似地,如本文所使用的,術(shù)語“編譯碼”(coding)可以是指經(jīng)由編碼器的編碼(encoding)和/或經(jīng)由解碼器的解碼(decoding)。例如,如本文所述的視頻編碼器和視頻解碼器(例如,參見圖4)都可以是能夠進行編譯碼的編譯碼器的示例。
在一些示例中,視頻編譯碼系統(tǒng)100可以包括為了清楚起見而在圖1中未示出的附加項目。例如,視頻編譯碼系統(tǒng)100可以包括處理器、射頻類型(rf)收發(fā)機、顯示器和/或天線。此外,視頻編譯碼系統(tǒng)100可以包括為了清楚起見而在圖1中未示出的附加項目,諸如揚聲器、麥克風(fēng)、加速度計、存儲器、路由器、網(wǎng)絡(luò)接口邏輯等。
在一些示例中,在視頻編譯碼系統(tǒng)100的操作期間,可以以視頻數(shù)據(jù)幀的形式將當(dāng)前視頻信息提供給內(nèi)部比特深度增加模塊102。當(dāng)前視頻幀可以在模塊104處被分割成最大編譯碼單元(lcu),并且然后被傳遞給殘差預(yù)測模塊106。殘差預(yù)測模塊106的輸出可以通過變換和量化模塊108經(jīng)受已知的視頻變換和量化處理??梢詫⒆儞Q和量化模塊108的輸出提供給熵編譯碼模塊109以及給去量化和逆變換模塊110。熵編譯碼模塊109可以輸出熵編碼比特流111以用于到對應(yīng)解碼器的通信。
在視頻編譯碼系統(tǒng)100的內(nèi)部解碼循環(huán)內(nèi),去量化和逆變換模塊110可以實現(xiàn)由變換和量化模塊108進行的操作的逆,以將殘差預(yù)測模塊106的輸出提供給殘差重構(gòu)模塊112。本領(lǐng)域技術(shù)人員可以認(rèn)識到,如本文所述的變換和量化模塊以及去量化和逆變換模塊可以采用縮放技術(shù)。殘差重構(gòu)模塊112的輸出可以反饋到殘差預(yù)測模塊106,并且也可以被提供給包括解塊濾波器114、采樣自適應(yīng)偏移濾波器116、自適應(yīng)環(huán)路濾波器118、緩沖器120、運動估計模塊122、運動補償模塊124和幀內(nèi)預(yù)測模塊126的環(huán)路。如圖1中所示,運動補償模塊124或幀內(nèi)預(yù)測模塊126的輸出都與殘差預(yù)測模塊106的輸出組合成為解塊濾波器114的輸入,并且與lcu分割模塊104的輸出求差以充當(dāng)?shù)綒埐铑A(yù)測模塊106的輸入。
如下面將更詳細(xì)描述的那樣,代替使用幀緩沖器,本文所描述的一些實現(xiàn)可以利用軟件來檢測圖像的哪些部分(例如,在片級別)丟失。代替使用幀緩沖器來構(gòu)成丟失的像素,可以重新解碼來自先前視頻幀的共位片,以便隱藏丟失的分組。因此,可以不是在未壓縮的像素域中而是在壓縮分組域中執(zhí)行錯誤隱藏。
與傳統(tǒng)解決方案對照而言,本文所描述的一些實現(xiàn)可以不需要幀緩沖器,因此可以減少產(chǎn)品成本和功耗。本文所描述的一些實現(xiàn)可以不需要能處理丟失的分組的解碼器。這可顯著地簡化解碼器實現(xiàn)(其可在hw中進行)和生效,從而減少項目時間線和風(fēng)險。例如,本文所描述的一些實現(xiàn)可以用于減少芯片上所導(dǎo)致的wigig系統(tǒng)的復(fù)雜性。
如下面將更詳細(xì)地討論的,視頻編譯碼系統(tǒng)100可用于執(zhí)行下面結(jié)合圖3-圖4討論的各種功能的一些或全部。
圖2是示例現(xiàn)有技術(shù)無線顯示視頻解碼器系統(tǒng)200的圖示圖。
如所圖示的,在現(xiàn)有無線顯示視頻解碼器系統(tǒng)200中,可以接收編碼視頻分組的流,并且可以輸出解碼的像素。幀緩沖器204可以用于存儲先前解碼的幀。當(dāng)經(jīng)由視頻解碼器202解碼成功時,可以將新解碼的像素寫入幀緩沖器中。這些可以用于隱藏未來視頻幀中的解碼錯誤。當(dāng)由于分組的丟失/遲到而引起解碼失敗時,可以從幀緩沖器讀取相應(yīng)的丟失像素,以便隱藏該錯誤。可以使用大而昂貴的高存儲器帶寬高功耗存儲器以用于實現(xiàn)幀緩沖器。必須將解碼器設(shè)計為處理丟失的分組而不會失敗。
圖3是根據(jù)本公開的至少一些實現(xiàn)所布置的示例視頻幀300的圖示圖。
雖然現(xiàn)有的實現(xiàn)在未壓縮(即,像素)域中執(zhí)行錯誤隱藏,但是本文所描述的各種實現(xiàn)可以在壓縮域中執(zhí)行錯誤隱藏。在各種實現(xiàn)中,視頻幀300可以被分割成一個或多個部分,其中每個視頻分組僅屬于一個部分。每個部分可以包括整個視頻幀、單個片或若干片。在圖示中,視頻幀300可以被分割成四個部分(例如,片),例如,每個占據(jù)若干宏塊行。
圖4是根據(jù)本公開的至少一些實現(xiàn)所布置的示例無線顯示視頻解碼器系統(tǒng)400的圖示圖。
如所圖示,當(dāng)接收到分組時,控制無線顯示視頻解碼器系統(tǒng)400的軟件(例如,重放濾波邏輯模塊402)可以確定分組屬于哪個部分。這可以通過分組報頭中的信息來進行,諸如:wde視頻幀號、pes分組數(shù)據(jù)對齊指示(其在新的avc片開始時被設(shè)置)、片報頭的first_mb_in_slice字段或(由編碼器生成的)包含在分組中的附加專有信息等和/或其組合。當(dāng)重放濾波邏輯模塊402確定圖像的一部分的所有分組都被正確地接收時,可以發(fā)送分組以用于經(jīng)由解碼器406進行解碼并且也存儲在視頻分組儲存器404中(用于錯誤隱藏)。當(dāng)重放濾波邏輯模塊402確定某些分組丟失(或在其呈現(xiàn)時間之后到達)時,代替發(fā)送新分組(例如,不完整部分),可以發(fā)送存儲在視頻分組儲存器404中的對應(yīng)部分的分組以用于解碼。這確保了解碼器406總是接收到?jīng)]有分組丟失的流。因此,解碼器406不需要在硬件方面實現(xiàn)復(fù)雜的錯誤隱藏措施,也不需要保持幀緩沖器。
可以通過修改無線顯示視頻解碼器400以支持舊分組--例如,其呈現(xiàn)時間/序列號已過去的分組--的解碼,來完成簡化該重放濾波邏輯模塊402的軟件實現(xiàn)??梢酝ㄟ^向無線顯示視頻解碼器400傳遞的附加控制元數(shù)據(jù)或通過修改無線顯示視頻解碼器400以接受具有舊序列號的分組并將它們視為舊分組以及忽略它們的呈現(xiàn)時間戳(其是已過去的,并且在常規(guī)解碼器中將不被解碼),來完成檢測在無線顯示視頻解碼器400中的這些分組(例如,可以修改解碼器以便接受那些即使它們具有舊序列號的分組)。
可以實現(xiàn)這種技術(shù)的示例應(yīng)用(sampleapplication)是wigig顯示擴展(wde)中的僅幀內(nèi)(intraonly)模式。這里,圖像可以由許多片(每個宏塊行在1到16個片之間)組成,并且所有宏塊可以是幀內(nèi)宏塊(從頭開始編碼)。使用僅幀內(nèi)編碼意味著可以容易地將接收不完整的新片(例如,丟失的分組)替換為來自先前解碼的圖像的共位片。此外,片開端可以與wde分組邊界對齊。在該配置中,可以將幾個片聚合成圖像的單個部分,并且簡單地用針對過去被正確接收的共位區(qū)域的分組替換丟失的內(nèi)部編碼分組。
圖4中所圖示的示例實現(xiàn)可以包括不是使用幀緩沖器而是使用壓縮分組以便隱藏錯誤的思想。這減少了實現(xiàn)成本、復(fù)雜性并縮短了開發(fā)進度。
示例實現(xiàn)包括通過注意到分組的序列號(例如,wde分組序列號)是舊的(低于被解碼的最高序列號)而使解碼器識別舊分組(替換丟失/晚到的分組)的思想。這簡化了錯誤隱藏過程:sw只需要向解碼器發(fā)送舊分組。可能不需要在sw和解碼器之間的顯式通信或同步。
由于sw確保發(fā)送到解碼器的所有片是完好的(全部分組是新的或全部分組都是舊的),解碼器不需要實現(xiàn)為了處理某些分組丟失/晚到的情況所需要的復(fù)雜的錯誤隱藏。這顯著地減少了解碼器實現(xiàn)和生效的復(fù)雜性(通常在hw中實現(xiàn))。而且,當(dāng)存在解碼器錯誤時,在解碼器實現(xiàn)中等待直到下一個視頻幀的開始是常見的。在無線鏈路上,這意味著每個丟失/晚到的分組都將損壞視頻幀的顯著一部分,導(dǎo)致用戶體驗不佳。
當(dāng)使用這個示例實現(xiàn)時,sw控制錯誤隱藏的粒度。在諸如wigigwde的情況下,其中可以將幀劃分成許多片,偽影將被更加局部化(例如,一個片)。
注意,該思想主要針對其中所有片都是幀內(nèi)(intra)或p_skip片的編解碼器。當(dāng)編解碼器還支持p個宏塊(具有非零殘差/運動矢量)時,仍然可以利用該思想,以便避免解碼器中的復(fù)雜錯誤隱藏。在這種情況下,sw可以在具有丟失的分組的片的情況下饋送p_skip片(如果不使用本文所描述的技術(shù),則這需要解碼器來處理錯誤)。
為了幫助sw控制解碼器將分組分成片,并且然后成為視頻幀的一部分,可以在wde分組報頭中傳達附加數(shù)據(jù)。這個數(shù)據(jù)提供以下信息:分組所屬的片編號,指示這是否是片中的第一分組的比特,指示這是否是片中的最后一個分組的比特。除了片開始必須與wde數(shù)據(jù)分組邊界對齊的wigigwde限制之外,使用此信息使得即使屏幕的某些部分丟失也仍然能夠繼續(xù)解碼新的分組。這有助于將無線信道中丟失分組的影響局部化。這里的概念是在報頭部分中添加關(guān)于流的高級數(shù)據(jù),以這種方式使得sw而不是解碼器可以容易地獲得關(guān)于分組的內(nèi)容的信息(并且使用它來隱藏錯誤)。
如下面將更詳細(xì)地討論的,無線顯示視頻解碼器400(例如,圖4)可以用于執(zhí)行下面結(jié)合圖8和/或圖9所討論的各種功能中的一些或全部。
如將在下面更詳細(xì)地討論的,圖5-圖7中描述的示例實現(xiàn)討論了可以在無線顯示視頻解碼中在強健性和等待時間之間自動地進行平衡的算法。
現(xiàn)有解決方案通常需要用戶在會話啟動時(例如,在無線顯示會話開始之前)在使用典型地不太強?。ɡ?,更多的撕裂)的低等待時間/游戲模式和更強?。ɡ纾獯a視頻上較少/無撕裂)的高等待時間模式之間進行選擇。
下面討論的示例實現(xiàn)監(jiān)視解碼視頻中的撕裂次數(shù),并且當(dāng)撕裂頻率太高時,切換到?jīng)]有撕裂的較高等待時間模式。這可以通過添加一個視頻幀的附加延遲來完成,并且總是解碼完好地接收的最后一個圖像(例如,沒有撕裂地接收到的圖像)。當(dāng)無線鏈路狀況改善時,可以移除該額外的視頻幀等待時間。這個示例實現(xiàn)可以在沒有來自用戶干預(yù)的情況下工作。例如,這個實現(xiàn)可以根據(jù)無線鏈路狀況在空中采用等待時間。這可以在不同的無線鏈路狀況下給出強健的視頻,同時將等待時間最小化。低等待時間對于無線對接而言通常至關(guān)重要,其中用戶通過無線顯示鏈路來與計算機交互。
圖5是根據(jù)本公開的至少一些實現(xiàn)所布置的被撕裂的視頻幀的示例圖示。
在無線顯示系統(tǒng)中,存在視頻強健性和等待時間之間的折衷。當(dāng)使用小于視頻幀的等待時間時,解碼器在知道對應(yīng)于該視頻幀的所有分組是否通過無線鏈路完好地到達解碼器之前開始輸出視頻幀。當(dāng)某些分組丟失時發(fā)生撕裂:其中解碼視頻幀500的一部分屬于新接收的分組502,而其余部分(具有丟失分組的部分)是錯誤隱藏504的結(jié)果。通常,錯誤隱藏意味著顯示來自先前接收的幀的像素。這導(dǎo)致在視頻幀500中被稱為撕裂506的偽影,其是可檢測和令人煩惱的。
在現(xiàn)有系統(tǒng)中,為了避免顯示圖像500中的撕裂,用戶可以選擇更加強健的模式。在這個模式中,解碼器等待直到完好地接收對應(yīng)于每個視頻幀的所有分組,并且然后才開始解碼。這確保不會有撕裂506,但是意味著端到端(編碼器到解碼器)等待時間大于一個視頻幀。高等待時間在諸如其中需要眼睛-手部協(xié)調(diào)以及對用戶交互進行快速響應(yīng)的游戲和生產(chǎn)力工作之類的交互式應(yīng)用中是令人煩惱的。
如將在下面更詳細(xì)地討論的,圖6-圖7中討論的示例實現(xiàn)包含兩部分:動態(tài)地變化等待時間的方法以及決定是使用低等待時間還是高等待時間模式的模式?jīng)Q策邏輯。
圖6圖示了根據(jù)本公開的至少一些實現(xiàn)所布置的模式?jīng)Q策邏輯的示例實現(xiàn)。
在所圖示的示例中,系統(tǒng)600典型地以低等待時間模式啟動。如果在y個視頻幀內(nèi)出現(xiàn)超過x個撕裂,則在操作602處可以聲稱無線鏈路為壞。然后,系統(tǒng)轉(zhuǎn)換到高等待時間模式,其可能是強健的。在這種高等待時間模式下,沒有撕裂,因為只有完全完好的視頻幀才被發(fā)送到解碼器。在沒有撕裂/丟失的分組的z個視頻幀被解碼之后,可以聲稱無線鏈路良好。此時,在操作604處,系統(tǒng)轉(zhuǎn)換回低等待時間模式。x、y和z的值可以根據(jù)用例而預(yù)先建立和/或?qū)崟r地確定。
關(guān)于幀撕裂與幀重復(fù):根據(jù)我們的經(jīng)驗(在實驗室中進行測試),人們不會注意到何時若干(例如,3個)視頻幀被重復(fù)。相比之下,人們能夠檢測到在視頻序列內(nèi)部的具有撕裂或丟失像素的甚至單個圖像(例如,由丟失分組引起的圖像的黑色部分將被人作為圖像中的閃光而被檢測到)。因此,所提出的算法嘗試將具有撕裂的圖像數(shù)量最小化。此外,通過累積整個完好的視頻幀,并允許額外的端到端等待時間,可以有避免幀重復(fù)的更好機會。雖然在低等待時間模式下,到達得太晚(例如,在其計劃的解碼/呈現(xiàn)時間之后)的分組將導(dǎo)致撕裂,但是當(dāng)增加等待時間時,可能會更高的機會分組的重傳將成功,并且視頻幀將稍后但完好地到達。
此外,在一些無線技術(shù)(例如,諸如wigig)中,當(dāng)無線鏈路惡化時,鏈路的臨時中斷的概率增加。在這些中斷期間,無線電通過搜索更好的傳輸參數(shù)來嘗試改善鏈路狀況。示例實現(xiàn)可以自動檢測這種情況并臨時切換到高等待時間模式。在這種模式下,鏈路中斷將不太引人注意(折衷了由于鏈路中斷而導(dǎo)致的分組的晚到達與改善的圖像強健性(由于分組未按時到達而導(dǎo)致的較少撕裂))。關(guān)于直接檢測無線鏈路的質(zhì)量:典型來說重要的是有多少分組丟失/到達太晚而無法解碼和呈現(xiàn)。該知識不能直接用于無線層。例如,即使多次重發(fā)分組,仍可以按時成功接收它(避免發(fā)生撕裂)。在第二個示例中,丟棄諸如包含(冗余)序列參數(shù)集的分組之類的某些分組不會在解碼中引起任何問題,但如果無線層注意到它丟失,則可能會錯誤地將鏈接聲明為壞。
此外,并不總是能夠檢測正在使用的任務(wù)的交互性質(zhì)。然而,可以用來自os和/或應(yīng)用程序的提示來嘗試這樣的檢測,這可能增加顯著的復(fù)雜性。在所有情況下可能都是不可能的(例如,一些不提供此信息的傳統(tǒng)應(yīng)用)。此外,即使當(dāng)應(yīng)用需要強健性(無撕裂)時,示例實現(xiàn)也可能允許減少等待時間(冒著撕裂的風(fēng)險)。即使它覆蓋了預(yù)先存在的應(yīng)用需求,但這也改善了用戶體驗。只有當(dāng)鏈路狀況為壞并且需要增加等待時間時才使用它。在沒有示例實現(xiàn)的情況下,由于將更經(jīng)常地使用高等待時間/強健模式--即使不是必要的(因為鏈路良好),所以用戶體驗將會降級。此外,可以在接收機(解碼器)側(cè)完成改變等待時間,同時在發(fā)射機(編碼器)側(cè)需要完成檢測任務(wù)的性質(zhì),因此如果任務(wù)的交互性質(zhì)的檢測被使用,則需要發(fā)送附加的控制信息。相反,這里討論的示例實現(xiàn)可以完全植入接收機側(cè),這可能更簡單。示例實現(xiàn)不需要任何os/應(yīng)用程序提示。
圖7示出了根據(jù)本公開的至少一些實現(xiàn)所布置的端到端等待時間可以如何經(jīng)由無線等待時間變化系統(tǒng)700而動態(tài)變化的示例實現(xiàn)。
在所圖示的示例中,當(dāng)接收到新分組時,將它們發(fā)送到濾波邏輯模塊702,濾波邏輯模塊702累積完整的視頻幀,其中所有分組都是完好的(并且沒有分組丟失)。可以通過解析視頻分組所包含的元數(shù)據(jù)諸如視頻幀號或?qū)ふ抑T如在非vcl分組上指示新視頻幀開始的呈現(xiàn)時間以及沒有分組丟失(例如,分組序列號中可能沒有空)之類的指示來完成檢測沒有分組丟失??梢詫⒗鄯e的視頻幀存儲在“完好地接收的最后一個視頻幀”儲存器704中。
當(dāng)在分組源切換模塊706處低等待時間模式為有效的時,接收到的分組將立即由解碼器708解碼。當(dāng)在分組源切換模塊706處強健/高等待時間模式為有效的時,解碼器708可以被饋送來自完好地接收的最后一個視頻幀存儲器704的分組。這些分組是一個或多個舊的視頻幀。為了對其呈現(xiàn)時間是過去的這樣分組進行解碼,在解碼之前修改分組中的呈現(xiàn)時間,或者可以修改解碼器708以便支持舊分組的解碼??梢酝ㄟ^一個信號(例如,由上述邏輯生成的模式選擇信號)將解碼器708置于允許對舊分組進行解碼的特殊模式中。
如下面將更詳細(xì)地討論的,可以使用無線顯示視頻解碼器400(例如,圖4)和/或無線等待時間變化系統(tǒng)700(例如,圖7)來執(zhí)行下面結(jié)合圖8和/或圖9所討論的各種功能中的一些或全部。
圖8是圖示了根據(jù)本公開的至少一些實現(xiàn)所布置的示例過程800的流程圖。過程800可以包括由操作802等中的一個或多個所圖示的一個或多個操作、功能或動作。
過程800可以在操作802處開始,“識別完整的幀部分”,其中可以識別完整幀的至少部分。例如,可以經(jīng)由重放濾波邏輯模塊從未解碼的分組流中識別完整幀的至少部分。
過程800可以在操作804處繼續(xù),“存儲未解碼的累積的完整幀部分”,其中可以存儲累積的視頻幀的至少一部分。例如,在要被存儲的累積的視頻幀沒有分組丟失、是完整的情況下,可以經(jīng)由儲存存儲器將累積的視頻幀的至少一部分存儲為過去的未解碼分組。
過程800可以在操作806處繼續(xù),“識別不完整的幀部分”,其中可以識別不完整的當(dāng)前幀的至少一部分。例如,可以經(jīng)由重放濾波邏輯模塊從未解碼的分組流中識別不完整的當(dāng)前幀的至少一部分。
過程800可以在操作808處繼續(xù),“用存儲的未解碼的累積的完整幀部分替換已識別的不完整幀部分”,其中可以替換已識別的不完整幀部分。例如,經(jīng)由重放濾波邏輯模塊,已識別的不完整幀部分可以用與已識別的不完整幀部分相對應(yīng)的存儲的過去未解碼的分組來替換。
過程800可以在操作810處繼續(xù),“解碼當(dāng)前幀”,其中可以解碼當(dāng)前幀。例如,可以經(jīng)由解碼器至少部分地基于替換的存儲的過去未解碼分組來解碼當(dāng)前幀。
過程800可以提供視頻編譯碼,諸如視頻編碼、解碼和/或比特流傳輸技術(shù),其可以如本文所討論的由編譯碼器系統(tǒng)所采用。
可以在本文討論的實現(xiàn)的一個或多個示例中,并且特別地關(guān)于下面的圖9,來說明與過程800和本文討論的其它過程有關(guān)的一些附加和/或替代的細(xì)節(jié)。
圖9提供根據(jù)本公開的至少一些實現(xiàn)所布置的操作中的示例視頻編譯碼系統(tǒng)1000(對于更多細(xì)節(jié),例如參見圖10)和視頻編譯碼過程900的圖示圖。在圖示的實現(xiàn)中,過程900可以包括由動作910等中的一個或多個所圖示的一個或多個操作、功能或動作。
通過非限制性示例的方式,本文將參考包括圖1的編譯碼器100的示例視頻編譯碼系統(tǒng)1000來描述過程900,如本文在下面關(guān)于圖10進一步討論的那樣。在各種示例中,過程900可由包括編碼器和解碼器的系統(tǒng)或由具有采用編碼器(以及可選地解碼器)的一個系統(tǒng)和采用解碼器(以及可選地編碼器)的另一個系統(tǒng)的分立系統(tǒng)來進行。還要注意,如上所討論的,編碼器可以包括采用本地解碼器作為編碼器系統(tǒng)的一部分的本地解碼環(huán)路。
如所圖示,視頻編譯碼系統(tǒng)1000(對于更多細(xì)節(jié),例如參見圖10)可以包括邏輯模塊1050。例如,邏輯模塊1050可以包括關(guān)于本文所描述的任何系統(tǒng)或子系統(tǒng)所討論的任何模塊。例如,邏輯模塊850可以包括解碼器調(diào)整邏輯模塊1060,其可以包括重放濾波邏輯模塊904、等待時間調(diào)整邏輯模塊906和/或類似物。
過程900可以在操作910處開始,“識別完整的幀部分”,其中可以識別完整幀的至少部分。例如,可以經(jīng)由重放濾波邏輯模塊從未解碼的分組流中識別完整幀的至少部分。
在重放濾波邏輯模塊904的一些實現(xiàn)中,接收的未解碼分組流可以僅包括幀內(nèi)編譯碼幀,所接收的未解碼分組流可能已經(jīng)經(jīng)由不可靠的傳輸介質(zhì)(例如,經(jīng)由wigig等)被接收,和/或每幀可以具有一個或多個片。這些因素中的任何因素單獨或組合地可以加強重放濾波邏輯模塊904的功效。
過程900可以在操作920處繼續(xù),“存儲未解碼的累積的完整幀部分”,其中可以存儲累積的視頻幀的至少一部分。例如,在要被存儲的累積的視頻幀沒有分組丟失、是完整的情況下,可以經(jīng)由儲存存儲器將累積的視頻幀的至少一部分存儲為過去的未解碼分組。
在重放濾波邏輯模塊904的一些實現(xiàn)中,完整幀的部分可以包括在沒有丟失分組的情況下按時接收的完整片。
過程900可以在操作930處繼續(xù),“識別不完整的幀部分”,其中可以識別不完整的當(dāng)前幀的至少一部分。例如,可以經(jīng)由重放濾波邏輯模塊從未解碼的分組流中識別不完整的當(dāng)前幀的至少一部分。
在重放濾波邏輯模塊904的一些實現(xiàn)中,可以至少部分地基于以下中的一個或多個來識別哪些分組從不完整的當(dāng)前幀中丟失:與每個分組相關(guān)聯(lián)的序列號、與選擇分組相關(guān)聯(lián)的時間戳、與每個分組相關(guān)聯(lián)的幀號、與每個分組相關(guān)聯(lián)的片編號等、和/或其組合。
過程900可以在操作940處繼續(xù),“替換已識別的不完整幀部分”,其中可以替換已識別的不完整幀部分。例如,經(jīng)由重放濾波邏輯模塊,已識別的不完整幀部分可以用與已識別的不完整幀部分相對應(yīng)的存儲的過去未解碼分組來替換。
在重放濾波邏輯模塊904的一些實現(xiàn)中,可以至少部分地基于以下中的一個或多個來識別來自存儲的過去未解碼分組的哪些分組對應(yīng)于來自不完整的當(dāng)前幀的丟失分組:與每個分組相關(guān)聯(lián)的序列號、與選擇分組相關(guān)聯(lián)的時間戳、與每個分組相關(guān)聯(lián)的幀號、與每個分組相關(guān)聯(lián)的片編號等、和/或其組合。
附加地或替代地,用存儲的過去未解碼分組替換已識別的不完整幀部分還可以包括重置與替換的過去未解碼分組相關(guān)聯(lián)的時間戳,以將替換的過去未解碼分組偽裝成當(dāng)前分組(這個操作在圖9中未圖示出)。
與操作910-940并行地或者代替操作910-940,過程900可以在操作950處繼續(xù),“動態(tài)地切換等待時間模式”,其中對解碼器的饋送可以在低等待時間模式和高等待時間模式之間切換。例如,對解碼器的饋送可以在傳入的未解碼視頻分組流和存儲的過去完整視頻幀流之間進行切換。饋送的這種切換可以至少部分地基于經(jīng)由等待時間調(diào)整邏輯模塊的在低等待時間模式操作和高等待時間模式操作之間的轉(zhuǎn)換。
例如,操作910、920、930、940可以在低等待時間模式下使用(其中撕裂是可能的)。在使用高等待時間模式的情形下,可以使用操作910、920、930,但是代替操作940(例如,舊視頻幀的部分的錯誤隱藏),sw可以強制實施完整的舊視頻幀(例如,完好地接收的最后一個視頻幀)的解碼。
在等待時間調(diào)整邏輯模塊906的一些實現(xiàn)中,完整幀的部分可以包括在沒有丟失分組的情況下按時接收到的完整幀。
在等待時間調(diào)整邏輯模塊906的一些實現(xiàn)中,從高等待時間模式到低等待時間模式的轉(zhuǎn)換可以至少部分地基于不可接受的撕裂頻率發(fā)生。
在等待時間調(diào)整邏輯模塊906的一些實現(xiàn)中,從高等待時間模式到低等待時間模式的轉(zhuǎn)換可以至少部分地基于可接受的撕裂頻率發(fā)生。
在等待時間調(diào)整邏輯模塊906的一些實現(xiàn)中,從低等待時間模式到高等待時間模式的轉(zhuǎn)換至少部分地基于檢測到無線鏈路中斷。
在一些實現(xiàn)中,低等待時間模式和高等待時間模式之間的決定可以基于撕裂的頻率。這樣的實現(xiàn)有時比直接監(jiān)視鏈路中斷更好。然而,為了決定應(yīng)該使用哪個等待時間模式,除了監(jiān)視撕裂的頻率之外或者代替監(jiān)視撕裂的頻率,還可以使用監(jiān)視鏈路中斷。
作為操作940的一部分,除了操作940之外或者代替操作940,過程900可以在操作960處繼續(xù),“替換當(dāng)前幀”,其中可以替換當(dāng)前幀。例如,至少部分地基于低等待時間模式操作和高等待時間模式操作之間的轉(zhuǎn)換,可以經(jīng)由等待時間調(diào)整邏輯模塊,將當(dāng)前幀替換為與當(dāng)前幀相對應(yīng)的存儲的過去未解碼分組。
附加地或替代地,用存儲的過去未解碼分組替換當(dāng)前幀可以進一步包括經(jīng)由解碼器在高等待時間模式中操作分組時忽略與替換的過去未解碼分組相關(guān)聯(lián)的不適當(dāng)時間戳,以將替換的過去未解碼分組偽裝成當(dāng)前分組(這個操作在圖9中未圖示出)。
過程900可以在操作970處繼續(xù),“解碼當(dāng)前幀”,其中可以解碼當(dāng)前幀。例如,可以經(jīng)由解碼器至少部分地基于替換的存儲的過去未解碼分組來解碼當(dāng)前幀。
過程900可以在操作980處繼續(xù),“顯示解碼幀”,其中可以顯示當(dāng)前解碼幀。例如,可以經(jīng)由顯示器顯示當(dāng)前解碼幀。
可以在本文討論的實現(xiàn)的一個或多個示例中,并且特別地關(guān)于下面的圖10,來說明與過程900和本文討論的其它過程有關(guān)的一些附加和/或替代細(xì)節(jié)。
本文所描述的過程和/或系統(tǒng)的各種組件可以以軟件、固件和/或硬件和/或其任何組合來實現(xiàn)。例如,本文所描述的過程和/或系統(tǒng)的各種組件可以至少部分地由諸如可以在諸如例如智能手機之類的計算系統(tǒng)中找到的計算片上系統(tǒng)(soc)的硬件來提供。本領(lǐng)域技術(shù)人員可以認(rèn)識到,本文所描述的系統(tǒng)可以包括在相應(yīng)圖中未描繪的附加組件。
如本文所述的任何實現(xiàn)中所使用的,術(shù)語“模塊”可以指代“組件”或指代“邏輯單元”,如這些術(shù)語在下面所描述的。因此,術(shù)語“模塊”可以指代被配置為提供本文所描述的功能的軟件邏輯、固件邏輯和/或硬件邏輯的任何組合。例如,本領(lǐng)域普通技術(shù)人員將理解,由硬件和/或固件執(zhí)行的操作可以替代地經(jīng)由軟件組件來實現(xiàn),軟件組件可以體現(xiàn)為軟件包、代碼和/或指令集,并且還可以理解邏輯單元還可以利用軟件的一部分來實現(xiàn)其功能性。
如在本文所述的任何實現(xiàn)中使用的,術(shù)語“組件”指代被配置為提供本文所描述的功能性的軟件邏輯和/或固件邏輯的任何組合。軟件邏輯可以體現(xiàn)為存儲由可編程電路執(zhí)行的指令的固件和/或軟件包、代碼和/或指令集。這些組件可以共同地或各個地體現(xiàn)為用于作為更大的系統(tǒng)例如集成電路(ic)、片上系統(tǒng)(soc)等的一部分而實現(xiàn)。
如本文所述的任何實現(xiàn)中所使用的,術(shù)語“邏輯單元”是指被配置為提供本文所描述的功能性的固件邏輯和/或硬件邏輯的任何組合。如本文所述的任何實現(xiàn)中使用的,“硬件”可以包括例如單獨地或以任何組合形式存儲由可編程電路執(zhí)行的指令的硬連線電路、可編程電路、狀態(tài)機電路和/或固件。邏輯單元可以集體地或單獨地被體現(xiàn)為形成更大的系統(tǒng)例如集成電路(ic)、片上系統(tǒng)(soc)等的一部分的電路。例如,邏輯單元可以體現(xiàn)在用于實現(xiàn)本文所討論的系統(tǒng)的固件或硬件的邏輯電路中。此外,本領(lǐng)域普通技術(shù)人員將會理解,由硬件和/或固件執(zhí)行的操作也可以利用軟件的一部分來實現(xiàn)邏輯單元的功能性。
此外,本文所描述的過程的任何一個或多個塊可以響應(yīng)于由一個或多個計算機程序產(chǎn)品提供的指令來進行。這樣的程序產(chǎn)品可以包括提供指令的信號承載介質(zhì),所述指令在例如由處理器執(zhí)行時可以提供本文所描述的功能性。計算機程序產(chǎn)品可以以任何形式的計算機可讀介質(zhì)來提供。因此,例如,包括一個或多個處理器核心的處理器可以響應(yīng)于由計算機可讀介質(zhì)傳達給處理器的指令來進行一個或多個操作。
圖10是根據(jù)本公開的至少一些實現(xiàn)所布置的示例視頻編譯碼系統(tǒng)1000的圖示圖。在所圖示的實現(xiàn)中,視頻編譯碼系統(tǒng)1000盡管圖示為具有視頻編碼器1002和視頻解碼器1004兩者,但是在各種示例中,視頻編譯碼系統(tǒng)1000可以包括僅視頻編碼器1002或僅視頻解碼器1004。視頻編譯碼系統(tǒng)1000(其在各種示例中可以包括僅視頻編碼器1002或僅視頻解碼器1004)可以包括(一個或多個)成像設(shè)備1001、天線1002、一個或多個處理器1006、一個或多個存儲器貯存器1008和/或顯示設(shè)備1010。如所圖示,(一個或多個)成像設(shè)備1001、天線1002、視頻編碼器1002、視頻解碼器1004、(一個或多個)處理器1006、存儲器貯存器1008和/或顯示設(shè)備1010可以能夠彼此通信。
在一些實現(xiàn)中,視頻編譯碼系統(tǒng)1000可以包括天線1003。例如,天線1003可以被配置為例如發(fā)射或接收視頻數(shù)據(jù)的編碼比特流。(一個或多個)處理器1006可以是任何類型的處理器和/或處理單元。例如,(一個或多個)處理器1006可以包括不同的中央處理單元、不同的圖形處理單元、集成的片上系統(tǒng)(soc)架構(gòu)等、和/或其組合。此外,(一個或多個)存儲器貯存器1008可以是任何類型的存儲器。例如,(一個或多個)存儲器貯存器1008可以是易失性存儲器(例如,靜態(tài)隨機存取存儲器(sram)、動態(tài)隨機存取存儲器(dram)等)或非易失性存儲器(例如,閃存等)等等。在非限制性示例中,(一個或多個)存儲器貯存器1008可以由高速緩存存儲器來實現(xiàn)。此外,在一些實現(xiàn)中,視頻編譯碼系統(tǒng)1000可以包括顯示設(shè)備1010。顯示設(shè)備1010可以被配置為呈現(xiàn)視頻數(shù)據(jù)。
如所示,在一些示例中,視頻編譯碼系統(tǒng)1000可以包括邏輯模塊1050。雖然被圖示為與視頻解碼器1004相關(guān)聯(lián),但是視頻編碼器1002可以類似地與所圖示的邏輯模塊1050相同和/或類似的邏輯模塊相關(guān)聯(lián)。因此,視頻解碼器1004可以包括邏輯模塊1050的全部或部分。例如,天線1003、視頻解碼器1004、(一個或多個)處理器1006、(一個或多個)存儲器貯存器1008和/或顯示器1010可以能夠彼此通信和/或與邏輯模塊1050的一部分通信。類似地,視頻編碼器1002可以包括與邏輯模塊1050相同和/或類似的邏輯模塊。例如,(一個或多個)成像設(shè)備1001和視頻編碼器1002可以能夠彼此通信和/或和與邏輯模塊1050相同和/或類似的邏輯模塊通信。
在一些實現(xiàn)中,邏輯模塊1050可以如關(guān)于本文所描述的任何系統(tǒng)或子系統(tǒng)所討論的那樣體現(xiàn)各種模塊。在各種實施例中,邏輯模塊1050中的一些可以以硬件實現(xiàn),而軟件可以實現(xiàn)其它邏輯模塊。例如,在一些實施例中,一些邏輯模塊1050可以由專用集成電路(asic)邏輯來實現(xiàn),而其它邏輯模塊可以由諸如處理器1006的邏輯執(zhí)行的軟件指令來提供。然而,本公開不限于這方面,并且一些邏輯模塊1050可以通過硬件、固件和/或軟件的任何組合來實現(xiàn)。
例如,邏輯模塊1050可以包括被配置為實現(xiàn)本文所述的一個或多個實現(xiàn)的操作的解碼器調(diào)整模塊1060和/或類似物。
圖11是根據(jù)本公開的至少一些實現(xiàn)所布置的示例系統(tǒng)1100的圖示圖。在各種實現(xiàn)中,系統(tǒng)1100可以是媒體系統(tǒng),盡管系統(tǒng)1100不限于此上下文。例如,系統(tǒng)1100可以并入到個人計算機(pc)、膝上型計算機、超膝上型計算機、平板電腦、觸摸板、便攜式計算機、手持計算機、掌上電腦、個人數(shù)字助理(pda)、蜂窩電話、組合蜂窩電話/pda、電視、智能設(shè)備(例如智能電話、智能平板電腦或智能電視)、移動互聯(lián)網(wǎng)設(shè)備(mid)、消息傳送設(shè)備、數(shù)據(jù)通信設(shè)備、相機(例如傻瓜相機、超變焦相機、數(shù)碼單反相機(dslr)相機)等。
在各種實現(xiàn)中,系統(tǒng)1100包括耦合到顯示器1120的平臺1102。平臺1102可以從諸如(一個或多個)內(nèi)容服務(wù)設(shè)備1130或(一個或多個)內(nèi)容遞送設(shè)備1140或其它類似內(nèi)容源的內(nèi)容設(shè)備接收內(nèi)容。可以使用包括一個或多個導(dǎo)航特征的導(dǎo)航控制器1150與例如平臺1102和/或顯示器1120進行交互。在下面更詳細(xì)地描述這些組件中的每一個。
在各種實現(xiàn)中,平臺1102可以包括芯片組1105、處理器1110、存儲器1112、天線1113、儲存器1114、圖形子系統(tǒng)1115、應(yīng)用1116和/或無線電1118的任何組合。芯片組1105可以提供處理器111、存儲器1112、儲存器1114、圖形子系統(tǒng)1115、應(yīng)用1116和/或無線電11180之間的相互通信。例如,芯片組1105可以包括能夠提供與儲存器1114的相互通信的儲存適配器(未描繪出)。
可以將處理器1110實現(xiàn)為復(fù)雜指令集計算機(cisc)或精簡指令集計算機(risc)處理器、x86指令集兼容處理器、多核或任何其它微處理器或中央處理單元(cpu)。在各種實現(xiàn)中,處理器1110可以是(一個或多個)雙核處理器、(一個或多個)雙核移動處理器等等。
可以將存儲器1112實現(xiàn)為易失性存儲器設(shè)備,諸如但不限于隨機存取存儲器(ram)、動態(tài)隨機存取存儲器(dram)或靜態(tài)ram(sram)。
可以將儲存器1114實現(xiàn)為非易失性儲存器設(shè)備,諸如但不限于磁盤驅(qū)動器、光盤驅(qū)動器、帶驅(qū)動器、內(nèi)部儲存設(shè)備、附接儲存設(shè)備、閃存、電池備份-sdram(同步dram)和/或網(wǎng)絡(luò)可訪問儲存設(shè)備。在各種實現(xiàn)中,例如,當(dāng)包括多個硬盤驅(qū)動器時,儲存器1114可以包括增加對有價值數(shù)字媒體的儲存性能的增強保護的技術(shù)。
圖形子系統(tǒng)1115可以執(zhí)行諸如靜止或視頻之類的圖像的處理以進行顯示。圖形子系統(tǒng)1115例如可以是圖形處理單元(gpu)或視覺處理單元(vpu)。模擬或數(shù)字接口可以用于通信地耦合圖形子系統(tǒng)1115和顯示器1120。例如,接口可以是高清晰度多媒體接口、顯示端口、無線hdmi和/或無線hd兼容技術(shù)中的任何一種。可以將圖形子系統(tǒng)1115集成到處理器1110或芯片組1105中。在一些實現(xiàn)中,圖形子系統(tǒng)1115可以是通信地耦合到芯片組1105的獨立設(shè)備。
本文所描述的圖形和/或視頻處理技術(shù)可以在各種硬件架構(gòu)中實現(xiàn)。例如,可以將圖形和/或視頻功能性集成在芯片組內(nèi)。替代地,可以使用分立的圖形和/或視頻處理器。作為仍另一實現(xiàn),圖形和/或視頻功能可以由包括多核處理器的通用處理器來提供。在另外的實施例中,功能可以在消費電子設(shè)備中實現(xiàn)。
無線電1118可以包括能夠使用各種合適的無線通信技術(shù)來發(fā)射和接收信號的一個或多個無線電。這樣的技術(shù)可以涉及跨越一個或多個無線網(wǎng)絡(luò)的通信。示例無線網(wǎng)絡(luò)包括(但不限于)無線局域網(wǎng)(wlan)、無線個域網(wǎng)(wpan)、無線城域網(wǎng)(wman)、蜂窩網(wǎng)絡(luò)和衛(wèi)星網(wǎng)絡(luò)。在跨越這樣的網(wǎng)絡(luò)進行通信時,無線電1118可以根據(jù)任何版本中的一個或多個適用的標(biāo)準(zhǔn)進行操作。
在各種實現(xiàn)中,顯示器1120可以包括任何電視型監(jiān)視器或顯示器。顯示器1120可以包括例如計算機顯示屏幕、觸摸屏顯示器、視頻監(jiān)視器、類似電視的設(shè)備和/或電視機。顯示器1120可以是數(shù)字和/或模擬的。在各種實現(xiàn)中,顯示器1120可以是全息顯示器。此外,顯示器1120可以是可以接收視覺投影的透明表面。這樣的投影可以傳達各種形式的信息、圖像和/或?qū)ο?。例如,這樣的投影可以是用于移動增強現(xiàn)實(mar)應(yīng)用的視覺疊加。在一個或多個軟件應(yīng)用1116的控制下,平臺1102可以在顯示器1120上顯示用戶界面1122。
在各種實現(xiàn)中,(一個或多個)內(nèi)容服務(wù)設(shè)備1130可以由任何國家、國際和/或獨立服務(wù)主控,并且因此例如可以經(jīng)由互聯(lián)網(wǎng)對平臺1102進行訪問。(一個或多個)內(nèi)容服務(wù)設(shè)備1130可以耦合到平臺1102和/或顯示器1120。平臺1102和/或(一個或多個)內(nèi)容服務(wù)設(shè)備1130可以耦合到網(wǎng)絡(luò)1160以通信(例如,發(fā)送和/或接收)去往和來自網(wǎng)絡(luò)1160的媒體信息。(一個或多個)內(nèi)容遞送設(shè)備1140還可以耦合到平臺1102和/或耦合到顯示器1120。
在各種實現(xiàn)中,(一個或多個)內(nèi)容服務(wù)設(shè)備1130可以包括有線電視盒、個人計算機、網(wǎng)絡(luò)、電話、啟用互聯(lián)網(wǎng)的設(shè)備或能夠遞送數(shù)字信息和/或內(nèi)容的設(shè)施、以及能夠經(jīng)由網(wǎng)絡(luò)1160或直接地在內(nèi)容提供商和平臺1102和/顯示器1120之間單向或雙向地傳送內(nèi)容的任何其它類似設(shè)備。應(yīng)當(dāng)理解,內(nèi)容可以經(jīng)由網(wǎng)絡(luò)1160被單向地和/或雙向地傳送去往和來自系統(tǒng)1100中的任何一個組件和內(nèi)容提供商。內(nèi)容的示例可以包括任何媒體信息,包括例如視頻、音樂、醫(yī)療和游戲信息等。
(一個或多個)內(nèi)容服務(wù)設(shè)備1130可以接收諸如有線電視節(jié)目之類的內(nèi)容,包括媒體信息、數(shù)字信息和/或其它內(nèi)容。內(nèi)容提供商的示例可以包括任何有線或衛(wèi)星電視或無線電或互聯(lián)網(wǎng)內(nèi)容提供商。所提供的示例不意味著以任何方式限制根據(jù)本公開的實現(xiàn)。
在各種實現(xiàn)中,平臺1102可以從具有一個或多個導(dǎo)航特征的導(dǎo)航控制器1150接收控制信號。例如,控制器1150的導(dǎo)航特征可以用于與用戶界面1122交互。在各種實施例中,導(dǎo)航控制器1150可以是指點設(shè)備,其可以是允許用戶將空間(例如,連續(xù)和多維的)數(shù)據(jù)輸入計算機中的計算機硬件組件(具體而言是人類接口設(shè)備)。諸如圖形用戶界面(gui)以及電視和監(jiān)視器之類的許多系統(tǒng)允許用戶使用身體手勢來控制和提供數(shù)據(jù)到計算機或電視。
通過顯示器上顯示的指針、光標(biāo)、聚焦環(huán)或其它視覺指示器的移動,可以在顯示器(例如顯示器1120)上復(fù)制控制器1150的導(dǎo)航特征的移動。例如,在軟件應(yīng)用1116的控制下,位于導(dǎo)航控制器1150上的導(dǎo)航特征可以映射到用戶界面1122上顯示的虛擬導(dǎo)航特征。在各種實施例中,控制器1150可以不是分立組件,而是可以集成到平臺1102和/或顯示器1120中。然而,本公開不限于在本文所示出或描述的上下文中或元件。
在各種實現(xiàn)中,驅(qū)動器(未示出)可以包括使得用戶能夠在初始啟動之后--例如在啟用時--接觸一個按鈕以立即打開和關(guān)閉諸如電視的平臺1102的技術(shù)。程序邏輯可以允許平臺1102將內(nèi)容流式傳輸?shù)矫襟w適配器或(一個或多個)其它內(nèi)容服務(wù)設(shè)備1130或(一個或多個)內(nèi)容遞送設(shè)備1140--即使當(dāng)平臺被關(guān)閉時。另外,芯片組1105可以包括用于例如(5.1)環(huán)繞聲音頻和/或高清晰度(7.1)環(huán)繞聲音頻的硬件和/或軟件支持。驅(qū)動器可以包括用于集成的圖形平臺的圖形驅(qū)動器。在各種實施例中,圖形驅(qū)動器可以包括外圍組件互連(pci)高速(express)圖形卡。
在各種實現(xiàn)中,可以集成系統(tǒng)1100中所示出的任何一個或多個組件。例如,可以集成平臺1102和(一個或多個)內(nèi)容服務(wù)設(shè)備1130,或者可以集成平臺1102和(一個或多個)內(nèi)容遞送設(shè)備1140,或者例如可以集成平臺1102、(一個或多個)內(nèi)容服務(wù)設(shè)備1130和(一個或多個)內(nèi)容遞送設(shè)備1140。在各種實施例中,平臺1102和顯示器1120可以是集成單元??梢约娠@示器1120和(一個或多個)內(nèi)容服務(wù)設(shè)備1130,或者例如可以集成顯示器1120和(一個或多個)內(nèi)容遞送設(shè)備1140。這些示例并不意味著限制本公開。
在各種實施例中,可以將系統(tǒng)1100實現(xiàn)為無線系統(tǒng)、有線系統(tǒng)或兩者的組合。當(dāng)實現(xiàn)為無線系統(tǒng)時,系統(tǒng)1100可以包括適合于通過無線共享介質(zhì)進行通信的組件和接口,諸如一個或多個天線、發(fā)射機、接收機、收發(fā)機、放大器、濾波器、控制邏輯等。無線共享介質(zhì)的示例可以包括無線頻譜的部分,諸如rf頻譜等等。當(dāng)實現(xiàn)為有線系統(tǒng)時,系統(tǒng)1100可以包括適合于通過有線通信介質(zhì)進行通信的組件和接口,諸如輸入/輸出(i/o)適配器、用于將i/o適配器與相應(yīng)的有線通信介質(zhì)連接的物理連接器、網(wǎng)絡(luò)接口卡(nic)、光盤控制器、視頻控制器、音頻控制器等。有線通信介質(zhì)的示例可以包括導(dǎo)線、電纜、金屬引線、印刷電路板(pcb)、背板、開關(guān)結(jié)構(gòu)、半導(dǎo)體材料、雙絞線、同軸電纜、光纖等。
平臺1102可以建立一個或多個邏輯或物理信道來傳送信息。信息可以包括媒體信息和控制信息。媒體信息可以是指表示旨在針對用戶的內(nèi)容的任何數(shù)據(jù)。內(nèi)容的示例可以包括例如來自語音對話、視頻會議、流視頻、電子郵件(“email”)消息、語音郵件消息、字母數(shù)字符號、圖形、圖像、視頻、文本等的數(shù)據(jù)。來自語音對話的數(shù)據(jù)可以是例如語音信息、靜音時段、背景噪聲、舒適噪聲、音調(diào)等等。控制信息可以是指表示旨在針對自動化系統(tǒng)的命令、指令或控制字的任何數(shù)據(jù)。例如,控制信息可以用于通過系統(tǒng)路由媒體信息、或者指示節(jié)點以預(yù)定方式處理媒體信息。然而,實施例不限于圖11中所示出或描述的元件或上下文。
如上所述,系統(tǒng)1100可以以不同的物理風(fēng)格或形狀因數(shù)來體現(xiàn)。圖12圖示出了在其中可以體現(xiàn)系統(tǒng)1200的小形狀因數(shù)設(shè)備1200的實現(xiàn)。在各種實施例中,例如,可以將設(shè)備1200實現(xiàn)為具有無線能力的移動計算設(shè)備。移動計算設(shè)備可以是指例如具有處理系統(tǒng)和諸如一個或多個電池之類的移動電源或供電的任何設(shè)備。
如上所述,移動計算設(shè)備的示例可以包括個人計算機(pc)、膝上型計算機、超膝上型計算機、平板電腦、觸摸板、便攜式計算機、手持計算機、掌上電腦、個人數(shù)字助理(pda)、蜂窩電話、組合蜂窩電話/pda、電視、智能設(shè)備(例如智能電話、智能平板電腦或智能電視)、移動互聯(lián)網(wǎng)設(shè)備(mid)、消息傳送設(shè)備、數(shù)據(jù)通信設(shè)備、相機(例如傻瓜相機、超變焦相機、數(shù)碼單反相機(dslr)相機)等。
移動計算設(shè)備的示例還可以包括被布置成由人穿戴的計算機,諸如手腕計算機、手指計算機、戒指計算機、眼鏡計算機、皮帶夾計算機、臂帶計算機、鞋計算機、服裝計算機和其它可穿戴計算機。在各種實施例中,例如,可以將移動計算設(shè)備實現(xiàn)為能夠執(zhí)行計算機應(yīng)用以及語音通信和/或數(shù)據(jù)通信的智能電話。雖然可以通過示例的方式將移動計算設(shè)備實現(xiàn)為智能電話來描述一些實施例,但是可以理解,也可以使用其它無線移動計算設(shè)備來實現(xiàn)其它實施例。實施例不受限于本上下文中。
如圖12中所示,設(shè)備1200可以包括外殼1202、可以包括用戶接口1210的顯示器1204、輸入/輸出(i/o)設(shè)備1206和天線1208。設(shè)備1200還可以包括導(dǎo)航特征1212。顯示器1204可以包括用于顯示適合于移動計算設(shè)備的信息的任何合適的顯示單元。i/o設(shè)備1206可以包括用于將信息輸入到移動計算設(shè)備中的任何合適的i/o設(shè)備。用于i/o設(shè)備1206的示例可以包括字母數(shù)字鍵盤、數(shù)字鍵盤、觸摸板、輸入鍵、按鈕、開關(guān)、搖桿開關(guān)、麥克風(fēng)、揚聲器、語音識別設(shè)備和軟件、圖像傳感器等。也可以通過麥克風(fēng)(未示出)的方式將信息輸入設(shè)備1200中。這樣的信息可以由語音識別設(shè)備(未示出)進行數(shù)字化。實施例不限于本上下文中。
可以使用硬件元件、軟件元件或兩者的組合來實現(xiàn)各種實施例。硬件元件的示例可以包括:處理器、微處理器、電路、電路元件(例如,晶體管、電阻器、電容器、電感器等等)、集成電路、專用集成電路(asic)、可編程邏輯器件(pld)、數(shù)字信號處理器(dsp)、現(xiàn)場可編程門陣列(fpga)、邏輯門、寄存器、半導(dǎo)體設(shè)備、芯片、微芯片、芯片組等等。軟件的示例可以包括:軟件組件、程序、應(yīng)用、計算機程序、應(yīng)用程序、系統(tǒng)程序、機器程序、操作系統(tǒng)軟件、中間件、固件、軟件模塊、例程、子例程、函數(shù)、方法、過程、軟件接口、應(yīng)用程序接口(api)、指令集、計算代碼、計算機代碼、代碼段、計算機代碼段、字、值、符號或其任意組合。關(guān)于是使用硬件元件和/或軟件元件來對實施例進行實現(xiàn)的確定可以根據(jù)任意數(shù)量的因素而改變,所述因素諸如是期望的計算速率、功率電平、熱容限、處理循環(huán)預(yù)算、輸入數(shù)據(jù)速率、輸出數(shù)據(jù)速率、存儲器資源、數(shù)據(jù)總線速度以及其它設(shè)計或性能約束。
此外,本文討論的任何一個或多個操作可以響應(yīng)于由一個或多個計算機程序產(chǎn)品提供的指令而進行。這樣的程序產(chǎn)品可以包括信號承載介質(zhì),其提供指令,所述指令當(dāng)由例如處理器執(zhí)行時可以提供本文描述的功能性。計算機程序產(chǎn)品可以以一種或多種機器可讀介質(zhì)的任何形式來提供。因此,例如,包括一個或多個處理器核心的處理器可以響應(yīng)于由一個或多個機器可讀介質(zhì)傳達給處理器的程序代碼和/或指令或指令集來進行本文的示例過程的一個或多個操作。通常,機器可讀介質(zhì)可以傳達以程序代碼和/或指令或指令集的形式的軟件,其可以使得本文所述的任何設(shè)備和/或系統(tǒng)實現(xiàn)如本文所討論的系統(tǒng)的至少一部分。
盡管參照各種實現(xiàn)已經(jīng)描述了本文所闡述的特定特征,但是本說明書不旨在以限制的意義來進行解釋。因此,對于本公開所屬的本領(lǐng)域技術(shù)人員來說是顯而易見的本文中所描述的實現(xiàn)的各種修改以及其它實現(xiàn)被認(rèn)為是位于本公開內(nèi)容的精神和范圍之內(nèi)。
下面的示例關(guān)于進一步的實施例。
在一個示例中,用于視頻解碼無線顯示器的計算機實現(xiàn)的方法可以包括經(jīng)由重放濾波邏輯模塊從未解碼分組流中識別完整幀的至少部分。在要被存儲的累積視頻幀是完整的而沒有分組丟失的情況下,儲存存儲器將累積的視頻幀的至少一部分作為過去未解碼分組進行存儲。重放濾波邏輯模塊可以從未解碼分組流中識別不完整當(dāng)前幀的至少部分。重放濾波邏輯模塊可以用與已識別的不完整幀部分相對應(yīng)的存儲的過去未解碼分組替換所述已識別的不完整幀部分。解碼器可以至少部分地基于替換的存儲的過去未解碼分組來解碼當(dāng)前幀。
在另一示例中,在用于視頻解碼無線顯示的計算機實現(xiàn)的方法中,所接收的未解碼分組流可以僅包括幀內(nèi)編譯碼幀。經(jīng)由不可靠的傳輸介質(zhì)接收所接收的未解碼的分組流。每個幀可以具有超過一個或多個片。完整幀的至少部分包括在沒有丟失分組的情況下按時接收到的完整片。重放濾波邏輯模塊可以至少部分地基于以下中的一個或多個來識別哪些分組從不完整的當(dāng)前幀中丟失:與每個分組相關(guān)聯(lián)的序列號、與選擇分組相關(guān)聯(lián)的時間戳、與每個分組相關(guān)聯(lián)的幀號、和/或與每個分組相關(guān)聯(lián)的片編號。重放濾波邏輯模塊可以至少部分地基于以下中的一個或多個來識別來自存儲的過去未解碼分組的哪些分組與來自不完整當(dāng)前幀的丟失分組相對應(yīng):與每個分組相關(guān)聯(lián)的序列號、與選擇分組相關(guān)聯(lián)的時間戳、與每個分組相關(guān)聯(lián)的幀號、和/或與每個分組相關(guān)聯(lián)的片編號。用存儲的過去未解碼分組替換已識別的不完整幀部分還可以包括:重置與所述替換的過去未解碼分組相關(guān)聯(lián)的時間戳,以將所述替換的過去未解碼分組偽裝成當(dāng)前分組。
在另一示例中,在用于視頻解碼無線顯示器的計算機實現(xiàn)的方法中,完整幀的至少部分包括在沒有丟失分組的情況下按時接收到的完整幀。等待時間調(diào)整邏輯模塊可以在傳入的未解碼視頻分組流和存儲的過去完整視頻幀的流之間切換對解碼器的饋送,其中饋送的切換至少部分地基于低等待時間模式操作和高等待時間模式操作之間的轉(zhuǎn)換。等待時間調(diào)整邏輯模塊可以至少部分地基于不可接受的撕裂頻率發(fā)生從低等待時間模式轉(zhuǎn)換到高等待時間模式。等待時間調(diào)整邏輯模塊可以至少部分地基于可接受的撕裂頻率發(fā)生從高等待時間模式轉(zhuǎn)換到低等待時間模式。等待時間調(diào)整邏輯模塊可以至少部分地基于無線鏈路中斷的檢測從低等待時間模式轉(zhuǎn)換到高等待時間模式。當(dāng)在高等待時間模式中操作分組時,解碼器可以忽略與替換的過去未解碼分組相關(guān)聯(lián)的不適當(dāng)時間戳,以將所述替換的過去未解碼分組偽裝成當(dāng)前分組。
在另一示例中,在用于視頻解碼無線顯示器的計算機實現(xiàn)的方法中,所接收的未解碼分組流可以僅包括幀內(nèi)編譯碼幀。經(jīng)由不可靠的傳輸介質(zhì)接收所接收的未解碼分組流。每個幀可以具有超過一個或多個片。完整幀的至少部分包括在沒有丟失分組的情況下按時接收到的完整片。重放濾波邏輯模塊可以至少部分地基于以下中的一個或多個來識別哪些分組從不完整的當(dāng)前幀中丟失:與每個分組相關(guān)聯(lián)的序列號、與選擇分組相關(guān)聯(lián)的時間戳、與每個分組相關(guān)聯(lián)的幀號、和/或與每個分組相關(guān)聯(lián)的片編號。重放濾波邏輯模塊可以至少部分地基于以下中的一個或多個來識別來自存儲的過去未解碼分組的哪些分組與來自不完整當(dāng)前幀的丟失分組相對應(yīng):與每個分組相關(guān)聯(lián)的序列號、與選擇分組相關(guān)聯(lián)的時間戳、與每個分組相關(guān)聯(lián)的幀號、和/或與每個分組相關(guān)聯(lián)的片編號。用存儲的過去未解碼分組替換已識別的不完整幀部分還可以包括:重置與所述替換的過去未解碼分組相關(guān)聯(lián)的時間戳,以將所述替換的過去未解碼分組偽裝成當(dāng)前分組。
在其它示例中,用于視頻解碼無線顯示器的計算機實現(xiàn)的系統(tǒng)可以包括重放濾波邏輯模塊,其被配置為從未解碼的分組流中識別完整幀的至少部分。儲存存儲器可以被配置為在要被存儲的累積的視頻幀是完整的而沒有分組丟失的情況下,將累積的視頻幀的至少一部分作為過去未解碼分組進行存儲。重放濾波邏輯模塊還可以被配置為從未解碼的分組流中識別不完整當(dāng)前幀的至少部分。重放濾波邏輯模塊還可以被配置為用與已識別的不完整幀部分相對應(yīng)的存儲的過去未解碼分組替換所述已識別的不完整幀部分。解碼器可以被配置為至少部分地基于替換的存儲的過去未解碼分組來解碼當(dāng)前幀。
在另一個示例中,在用于視頻解碼無線顯示器的計算機實現(xiàn)的系統(tǒng)中,所述完整幀的至少部分包括在沒有丟失分組的情況下按時接收到的完整幀。等待時間調(diào)整邏輯模塊可以被配置為在傳入的未解碼視頻分組流和存儲的過去完整視頻幀的流之間切換對解碼器的饋送,其中,饋送的切換至少部分地基于低等待時間模式操作和高等待時間模式操作之間的轉(zhuǎn)換。等待時間調(diào)整邏輯模塊可以被進一步配置為:至少部分地基于不可接受的撕裂頻率發(fā)生,從低等待時間模式轉(zhuǎn)換到高等待時間模式。等待時間調(diào)整邏輯模塊還可以被配置為:至少部分地基于可接受的撕裂頻率發(fā)生,從所述高等待時間模式轉(zhuǎn)換到所述低等待時間模式。等待時間調(diào)整邏輯模塊還可以被配置為:至少部分地基于無線鏈路中斷的檢測,從所述低等待時間模式轉(zhuǎn)換到所述高等待時間模式。解碼器可以被進一步配置為:在高等待時間模式中操作分組時,忽略與替換的過去未解碼分組相關(guān)聯(lián)的不適當(dāng)時間戳,以將所述替換的過去未解碼分組偽裝成當(dāng)前分組。
在另一示例中,至少一個機器可讀介質(zhì)可以包括多個指令,響應(yīng)于在計算設(shè)備上被執(zhí)行,所述多個指令使計算設(shè)備執(zhí)行根據(jù)上述示例中的任一個的方法。
在又另一示例中,裝置可以包括用于執(zhí)行根據(jù)上述示例中的任一個的方法的裝置。
上述示例可以包括特征的特定組合。然而,這樣的上述示例在這方面不受限制,并且在各種實現(xiàn)中,上述示例可以包括僅采取這樣的特征的子集,采取這樣的特征的不同順序,采取這樣的特征的不同組合,和/或采取除明確列出的特征之外的另外的特征。例如,關(guān)于示例方法所描述的所有特征可以關(guān)于示例設(shè)備、示例系統(tǒng)和/或示例物品來實現(xiàn),并且反之亦然。