新四季網

用於數字視頻的自適應同步解碼的方法、設備和電腦程式產品的製作方法

2023-10-11 10:22:24 3

專利名稱:用於數字視頻的自適應同步解碼的方法、設備和電腦程式產品的製作方法
技術領域:
本發明的實施方式一般地涉及數字視頻回放技術,以及尤其涉及用於通過自適應 同步解碼維持音頻/視頻同步的方法、設備和電腦程式產品。
背景技術:
現代通信時代已經帶來了有線和無線網絡的極大發展。計算機網絡、電視網絡和 電話網絡正在經歷由消費者需求驅動的前所未有的技術發展。無線和行動網路技術已經解 決有關的消費者需求,同時提供了信息傳送的更多靈活性和即時性。網絡的這種擴展和通信模式的增長已經允許創造和遞送逐漸增長的複雜數字視 頻,諸如從遠程網絡設備通過下載媒體內容文件或流式傳輸數字視頻文件到本地網絡終 端。隨著帶寬和網絡範圍的擴展已經允許日益複雜的數字視頻並且向甚至行動裝置終端遞 送視頻內容,諸如在個人計算機以及諸如PDA和蜂窩電話之類的行動裝置中使用的計算機 硬體和軟體的能力需要增長,從而跟上對現代數字視頻回放日益增長的需求。儘管硬體和軟體發展,但是視頻內容總是可以被創建得超過系統的能力,而不論 涉及的軟體或硬體、使用哪些編解碼器或視頻內容的解析度為何。當視頻內容超過播放它 的系統的能力時,結果通常是被稱為音頻/視頻同步丟失或AV同步(有時也稱為步調)的 丟失。理想地,當視頻內容在設備上播放時,音頻和視頻軌道將彼此保持同步,因此,例如, 當視頻中的人說話時,該語音的音頻軌道將和該人張開嘴的視頻軌道同步,通常也稱為唇 同步。然而,當視頻的複雜度超過播放它的系統的能力時,在較輕微的情況下,唇同步可能 丟失,並且該人的語音音頻可能略微早於或略微遲於示出正在移動他的嘴的視頻來播放。 在播放視頻內容的要求大大超過系統能力的較嚴重情況下,視頻回放可能周期性地定格或 整體拖延,而音頻軌道可能繼續播放或可能不繼續播放。AV同步的此類丟失對觀眾的體驗 是有害的。為了嘗試在視頻內容超過系統能力的情況下保持AV同步,過去已經提出了若干 算法,其中丟棄稱為幀的視頻和/或音頻軌道的部分。雖然丟棄音頻幀可以幫助保持AV同 步,但是極大地降低觀眾的體驗,因為遺失的音頻幀對觀眾來說幾乎總是明顯的。另一方 面,在多數情況下,丟棄一個或多個視頻幀並不是必然地會被觀眾注意到。例如,美國電視 標準規定使用每秒30視頻幀,而歐洲標準指定使用每秒25幀用於視頻回放,在這兩種回放 標準之間,觀眾不能察覺到任何明顯的區別。所以,當視頻內容超出系統能力時,在系統中 為了最好地保持AV同步,理想的途徑是丟棄一個或多個視頻幀而不丟棄任何音頻幀。丟棄視頻幀可能出現在兩個級別(1)在後處理之前或(2)在解碼之前。在被解 碼之後但在被後處理之前丟棄視頻幀的第一情況中,每當一個幀輕微晚些到達後處理器, 將不會對其進行後處理或呈現,這在理論上將為按時對下一幀進行後處理和顯示節約足夠 的時間。在第二情況中,晚些到達解碼器的幀可以在被解碼前丟棄。為了更好的理解在第二情況中如何在解碼前在解碼器級處丟棄視頻幀,首先需要理解視頻幀是如何分類的。出於簡單的目的,本申請所撰寫的說明書將視頻幀分類兩個類 型之一,關鍵幀或非關鍵幀。在本領域中,關鍵幀也被稱為幀內編碼幀或i_幀,並且是自包 含的視頻幀,其包含所有完全呈現單個視頻幀而不參考任何之前或隨後的幀所需的所有信 息。非關鍵幀也被稱為預測幀(P-巾貞)或雙向幀(b_幀),另一方面,非關鍵幀不是自包含 的並包括可供一個或多個之前或隨後幀參考的數據。例如,在短視頻中,一個對象可以逐漸 地通過幀序列移動,而背景視頻內容的其餘部分維持同樣的定位。因此,最後關鍵幀之後的 非關鍵幀只包含用於描述一個移動物體位置中移動所需的數據,而不包括任何關於如何完 全呈現剩餘的視頻內容背景的數據。因此,由於在序列中,視頻幀可以參考之前的和/或 之後的視頻幀,所以每當在解碼器級丟棄幀時,都可以存在可視的後果,因為丟棄幀將導致 參考所丟棄幀的任何幀被不正確地呈現,因為其遺失了對完全呈現來說必須的某些信息部 分。於是,當任何幀被丟棄時,可視質量迅速下降,並且僅在只要不丟棄隨後的非關鍵幀就 對關鍵幀進行解碼並保持時才可以恢復可視質量。當在解碼器級丟棄幀時,之前對導致可視質量降低最常用的現有技術方案是一旦 任何非關鍵幀遲到,就丟棄所有連續的幀直到下一關鍵幀。在此方法下,一旦丟棄任何非關 鍵幀直到下一關鍵幀到達,則對傳入視頻幀的顯示將停止。如果視頻片段幾乎不包括關鍵 幀,則觀眾可能獲得回放已經停止或掛起的印象。因此,提供用於保持AV同步的改進方法是有利的,其允許對視頻幀的自適應解碼 和丟棄,以便基本上保持AV同步,而通過在視頻回放中防止長暫停來儘可能小地引起對觀 眾體驗的負面影響,視頻回放中的長暫停可以是由現有方法丟棄非關鍵幀的序列引起的。 此類改進方法可以幫助改進其舒適區域之上的系統能力,這允許在無法處理視頻內容複雜 度的環境中對視頻內容的最佳回放。

發明內容
因此,提供一種方法、設備和電腦程式產品用於改進對於視頻片段觀眾的視頻 回放體驗,其中該視頻片段複雜度超過了播放其的系統的能力。特別地,提供一種方法、設 備和電腦程式產品來支持,例如,根據非關鍵幀在解碼器級的到達時刻以及下一關鍵幀 的鄰近性而在解碼器級處自適應丟棄非關鍵幀。就這一點而言,在大多數環境中可以保持 AV同步,並且視頻流可以不給觀眾掛起的體驗。因而,當觀看的視頻片段超過系統的回放能 力時,可以增強觀眾體驗。在一個示例性實施方式中,提供了一種方法,其可以包括維持下一關鍵幀時間戳, 對視頻片段的多個關鍵幀進行解碼,對按時到達的視頻片段的多個非關鍵幀進行解碼,以 及如果視頻幀遲到並且下一關鍵幀處於計算的丟棄時間窗內,則丟棄一個或多個非關鍵幀 直到下一關鍵幀。對下一關鍵幀是否處於丟棄時間窗內的確定基於下一關鍵幀時間戳。在另一示例性實施方式中,提供一種包括至少一個計算機可讀存儲介質的計算機 程序產品,所述計算機可讀存儲介質具有存儲於其中的計算機可讀程序代碼部分。所述計 算機可讀程序代碼部分包括第一、第二、第三和第四可執行部分。第一可執行部分用於維持 下一關鍵幀時間戳。第二可執行部分用於對視頻片段的多個關鍵幀進行解碼。第三可執行 部分用於對按時到達的視頻片段的多個非關鍵幀進行解碼。第四可執行部分用於如果視頻 幀遲到並且下一關鍵幀處於計算的丟棄時間窗內,則丟棄一個或多個非關鍵幀直到下一關
6鍵幀。對下一關鍵幀是否處於丟棄時間窗內的確定基於下一關鍵幀時間戳。在另一示例性實施方式中,提供一種可以包括處理器的裝置。所述處理器可以 配置為維持下一關鍵幀時間戳,對視頻片段的多個關鍵幀進行解碼,對按時到達的視頻片 段的多個非關鍵幀進行解碼,以及如果視頻幀遲到並且下一關鍵幀處於計算的丟棄時間窗 內,則丟棄一個或多個非關鍵幀直到下一關鍵幀。對下一關鍵幀是否處於丟棄時間窗內的 確定基於下一關鍵幀時間戳。在另一示例性實施方式中,提供一種設備,其可以包括用於維持下一關鍵幀時間 戳的裝置,用於對視頻片段的多個關鍵幀進行解碼的裝置,用於對按時到達的視頻片段的 多個非關鍵幀進行解碼的裝置,以及用於如果視頻幀遲到並且下一關鍵幀處於計算的丟棄 時間窗內,則丟棄一個或多個非關鍵幀直到下一關鍵幀。對下一關鍵幀是否處於丟棄時間 窗內的確定基於下一關鍵幀時間戳。因此,本發明的實施方式可以提供一種方法、設備和電腦程式產品來增強視頻 回放。結果,例如,觀眾觀看視頻片段的體驗得到增強,即使視頻片段在其能力被該視頻片 段的複雜度超過了的系統上播放。


因此一般性地描述了本發明的實施方式,現在將參考附圖,其不必按比例繪出,以 及在附圖中圖1是根據本發明示例性實施方式的移動終端的示意性框圖;圖2是根據本發明示例性實施方式的無線通信系統的示意性框圖;圖3是根據本發明示例性實施方式的、描述自適應同步解碼算法流程圖的框圖;圖4是示出了根據本發明示例性實施方式的、用於在伺服器上解碼和轉碼視頻片 段並且向遠程設備流式傳輸經轉碼的片段的系統;以及圖5是根據用於自適應同步解碼的示例性方法的流程圖。
具體實施例方式現在將參考附圖在下文中更全面地描述本發明的實施方式,附圖中示出了本發明 的某些而不是所有實施方式。實際上,本發明可以按照多種不同的形式來實現,並且不應該 認為是被限制於此記載的實施方式;相反,提供這些實施方式是為了使本公開內容滿足適 用的法律要求。貫穿附圖,相同的標號表示相同的元件。圖1示出了可以受益於本發明實施方式的移動終端10的框圖。然而,應當理解, 所示出以及在此後描述的移動終端僅僅是可以受益於本發明實施方式的一種類型電子設 備的示範,因此,不應用來限制本發明實施方式的範圍。儘管出於示例目的而示出並在此後 描述了電子設備的多個實施方式,但是其他類型的電子設備也可以採用本發明的,其中電 子設備諸如可攜式數字助理(PDA)、尋呼機、膝上型計算機、臺式計算機、遊戲設備、電視和 其他類型的電子系統。如圖所示,移動終端10包括天線12,其與發射機14和接收機16進行通信。移 動終端10還包括控制器20或者其他處理器,其分別提供去往發射機的信號和接收來自接 收機的信號。這些信號可以包括根據適用蜂窩系統的空中接口標準和/或任何數量的不同無線聯網技術的信令信息,不同的無線聯網技術包括但不限於無線高保真(Wi-Fi)、無線 LAN(WLAN)技術,諸如IEEE 802. 11等。此外,這些信號可以包括語音數據、用戶生成的數 據、用戶請求的數據等。在此方面,移動終端能夠利用一個或多個空中接口標準、通信協議、 調製類型以及接入類型等來進行操作。更具體地,移動終端能夠根據各種第一代(1G)、第二 代(2G)、2. 5G、第三代(3G)、第四代(4G)通信協議等來進行操作。例如,移動終端能夠根據 2G無線通信協議IS-136 (TDMA)、GSM和IS-95 (CDMA)來進行操作。而且,例如,移動終端能 夠根據2. 5G無線通信協議GPRS、EDGE、等來進行操作。此外,例如,移動終端能夠根據諸如 採用WCDMA無線電接入技術的UMTS網絡之類的3G無線通信協議來進行操作。一些NAMPS 以及TACS移動終端也可以從本發明的教導受益,其應該是雙模或者更高模的電話(例如, 數字/模擬或者TDMA/CDMA/模擬電話)。此外,移動終端10能夠根據無線高保真(Wi-Fi) 協議進行操作。應該理解,控制器20可以包括實現移動終端10的音頻和邏輯功能所需的電路。例 如,控制器20可以是數位訊號處理器設備、微處理器設備、模數轉換器、數模轉換器等。移 動終端的控制和信號處理功可以根據這些設備各自的能力在其間分配。控制器還可以包括 內部語音編碼器(VC) 20a、內部數據數據機(DM) 20b等。此外,控制器可以包括對可以 存儲在存儲器中的一個或多個軟體程序進行操作的功能。例如,控制器20能夠操作連接程 序,諸如Web瀏覽器。連接程序可以允許移動終端10例如根據諸如無線應用協議(WAP)、超 文本傳輸協議(HTTP)等之類的協議來發射和接收Web內容(諸如基於位置的內容)。移動 終端10能夠使用傳輸控制協議/網際網路協議(TCP/IP)來跨網際網路50發射和接收Web內 容。移動終端10還可以包括用戶接口,其包括傳統的耳機或者揚聲器24、振鈴器22、 麥克風26、顯示器28以及用戶輸入接口等,所有這些設備都可以耦合至控制器20。儘管未 示出,移動終端可以包括用於為與移動終端相關的各種電路供電的電池,例如,用於提供機 械振動作為可覺察輸出的電路。用戶輸入接口可以包括允許移動終端10接收數據的設備, 諸如小鍵盤30、觸摸顯示器(未示出)、控制杆(未示出)和/或其他輸入設備。在包括小 鍵盤的實施方式中,小鍵盤可以包括傳統的數字鍵(0-9)和相關鍵(#、*),和/或用於操作 移動終端的其他鍵。如圖1所示,移動終端10還可以包括用於共享和/或獲得數據的一個或多個裝 置。例如,移動終端可以包括短距射頻(RF)收發機和/或詢問器64,因此,可以根據RF技 術與電子設備共享和/或從電子設備獲得數據。移動終端可以包括其他短距收發機,例如 紅外(IR)收發機66、使用由藍牙(Bluetooth )特殊興趣組開發的藍牙(Bluetooth )類型 無線技術操作的藍牙(Bluetooth (BT))收發機68等。藍牙收發機68能夠根據Wibree 無線電標準進行操作。這這點上,移動終端10以及具體地短距收發機能夠向處於移動終端 的鄰近區域內(諸如10米內)的電子設備傳輸數據和/或從該電子設備接收數據。儘管 未示出,但是移動終端能夠根據各種無線聯網技術從電子設備傳輸和/或接收數據,其中 各種無線聯網技術包括無線高保真(Wi-Fi)、諸如IEEE 802. 11技術的WLAN技術等。移動終端10還可以包括存儲器,諸如訂戶身份模塊(UIM) 38、可移動用戶身份模 塊(R-UIM)等,其可以存儲與移動訂戶相關的信元。除了 SIM之外,移動終端10還可以包 括其他可移動和/或固定存儲器。在這點上,移動終端可以包括易失性存儲器40,諸如易失性隨機訪問存儲器(RAM),其可以包括用於數據臨時存儲的高速緩存區域。移動終端可以包 括其他非易失性存儲器42,其可以是嵌入式的和/或可移動的。非易失性存儲器可以包括 EEPR0M、快閃記憶體等。存儲器可以存儲移動終端10可以用於執行移動終端功能的一個或多個軟 件程序、指令、信息片段、數據等。例如,存儲器可以包括能夠唯一標識移動終端10的標識 符,諸如國際行動裝置標識(IMEI)碼。在示例性實施方式中,移動終端10包括與控制器20通信的媒體捕獲模塊,諸如照 相機、視頻和/或音頻模塊。媒體捕獲模塊可以是用於捕獲圖像、視頻和/或音頻以便存儲、 顯示或者傳輸的任何裝置。例如,在媒體捕獲模塊是照相機模塊36的示例性實施方式中, 照相機模塊36可以包括能夠根據捕獲的圖像形成數字圖像文件或根據一系列捕獲的圖像 形成數字視頻文件的數位照相機。同樣,照相機模塊36包括所有硬體,諸如,鏡頭或者其他 光學部件,以及用於根據捕獲的圖像或一系列捕獲的圖像來創建數字圖像或視頻文件所需 的軟體。備選地,照相機模塊36可以僅包括查看圖像所需的硬體,而移動終端10的存儲器 設備存儲由控制器20執行的指令,其形式為根據捕獲的圖像或多個圖像來創建數字圖像 或視頻文件所需的軟體。在示例性實施方式中,照相機模塊36還可以包括諸如協處理器的 處理元件,其協助控制器20來處理圖像數據以及編碼器和/或解碼器,以便壓縮和/或解 壓圖像數據。編碼器和/或解碼器可以根據JPEG或MPEG標準格式來編碼和/或解碼。現在參考圖2,以示例而不是限制的方式提供可以支持向諸如圖1的移動終端的 電子設備通信或從其進行通信的一個類型的系統的圖示。如圖所示,一個或多個移動終端 10的每個都可以包括天線12,以用於將信號發射至基地或基站(BS)44以及用於從其接收 信號。基站44可以是一個或多個蜂窩或行動網路的一部分,每個網絡包括操作該網絡所需 的元件,例如移動交換中心(MSC)46。如本領域技術人員公知的,行動網路還可以稱為基站 /MSC/互聯功能(BMI)。在操作中,當移動終端10進行和接收呼叫時,MSC 46能夠路由去 往和來自移動終端10的呼叫。當呼叫涉及移動終端10時,MSC 46還可以提供到陸地線主 幹的連接。此外,MSC 46能夠控制去往和來自移動終端10的消息的轉發,並且還能夠控制 去往和來自消息收發中心的、針對移動終端10的消息的轉發。應當注意,儘管在圖2的系 統中示出了 MSC 46,但是MSC 46僅僅是示例性網絡設備,並且本發明不限於在採用MSC的 網絡中使用。MSC 46可以耦合至數據網絡,諸如區域網(LAN)、城域網(MAN)和/或廣域網 (WAN)。MSC 46可以直接耦合至數據網絡。然而,在一個典型實施方式中,MSC 46可以耦 合至GTW 48,而GTW 48可以耦合至例如網際網路50的WAN。繼而,諸如處理元件(例如,個 人計算機、伺服器計算機等)的設備可以經由網際網路50耦合至移動終端10。例如,如下所 述,處理元件可以包括與下文描述的計算系統52 (圖2中示出了兩個)、源伺服器54(圖2 中示出了一個)等相關聯的一個或多個處理元件。如圖2所示,BS 44還可以耦合至信令GPRS(通用分組無線服務)支持節點 (SGSN)56。如本領域技術人員公知的,SGSN 56能夠執行類似於MSC 46的功能,以用於分組 交換服務。與MSC 46類似,SGSN 56可以耦合至諸如網際網路50的數據網絡。SGSN 56可以 直接耦合至數據網絡。備選地,SGSN 56可以耦合至分組交換核心網,諸如GPRS核心網58。 分組交換核心網繼而可以耦合至另一 GTW 48,諸如GTW GPRS支持節點(GGSN) 60,而GGSN 60可以耦合至網際網路50。除了 GGSN 60之外,分組交換核心網還可以耦合至GTW 48。而且,GGSN 60可以耦合至消息收發中心。在此方面,類似於MSC 46,GGSN 60和SGSN 56能 夠控制消息(諸如MMS消息)的轉發。GGSN60和SGSN 56還能夠控制去往和來自消息收發 中心的、針對移動終端10的消息的轉發。此外,通過將SGSN 56耦合至GPRS核心網58和GGSN 60,諸如計算系統52和/或 源伺服器54的設備可以經由網際網路50、SGSN 56以及GGSN 60耦合至移動終端10。在此 方面,諸如計算系統52和/或源伺服器54的設備可以跨越SGSN 56、GPRS核心網58以及 GGSN60來與移動終端10通信。通過將移動終端10以及其他設備(例如,計算系統52、源 伺服器54等)直接或者間接地連接至網際網路50,移動終端10例如可以根據超文本傳輸協 議(HTTP)等來與其他設備通信以及相互之間彼此通信,由此執行移動終端10的各種功能。儘管沒有在圖2中示出了並描述了每個可能的行動網路的每個元件,但是應當意 識到,諸如移動終端10的電子設備可以通過BS 44耦合至多個不同網絡中的任意的一個或 多個。在此方面,網絡能夠支持根據多個第一代(1G)、第二代(2G)、2.5G、第三代(3G)、第 四代(4G)和/或未來移動通信協議等中的任意一個或多個協議的通信。例如,一個或多個 網絡能夠支持根據2G無線通信協議IS-136 (TDMA)、GSM和IS-95 (CDMA)的通信。而且,例 如,一個或多個網絡能夠支持根據2. 5G無線通信協議GPRS、增強數據GSM環境(EDGE)等的 通信。此外,例如,一個或多個網絡能夠支持根據3G無線通信協議的通信,其中3G無線通 信協議諸如使用寬帶碼分多址(WCDMA)無線電接入技術的通用行動電話系統(UMTS)網絡。 某些窄帶AMPS(NAMPS)以及TACS網絡還可以從本發明的實施方式中受益,還有雙模或更高 模移動終端(例如,數字/模擬或TDMA/CDMA/模擬電話)。如圖2所示,移動終端10還可以耦合至一個或多個無線接入點(AP)62。AP 62可 以包括被配置為根據諸如以下的技術來與移動終端10進行通信的接入點射頻(RF)、藍牙 (Bluetooth (BT))、紅外(IrDA)或者多種不同的無線網絡互聯技術中的任意技術,其中無 線網絡互聯技術包括諸如 IEEE 802. 11 (例如,802. 11a,802. lib,802. llg、801. lln 等) 的無線LAN(WLAN)技術、Wibree 技術、諸如IEEE 802. 16的微波接入全球互通(WiMAX)技 術,無線高保真(Wi-Fi)和/或諸如IEEE 802. 15等的超寬帶(UWB)等技術等等。AP 62可 以耦合至網際網路50。類似於MSC 46,AP 62可以直接耦合至網際網路50。然而,在一個實施 方式中,AP 62可以經由GTW 48間接耦合至網際網路50。此外,在一個實施方式中,可以將 BS 44視作另一 AP 62。將會意識到,通過將移動終端10以及計算系統52、源伺服器54和 /或多種其他設備中的任意設備直接或者間接地連接至網際網路50,移動終端10可以彼此進 行通信,與計算系統進行通信,等等,由此來執行移動終端10的各種功能,例如將數據、內 容等發射至計算系統52和/或從計算系統52接收內容、數據等。這裡使用的術語「數據」、 「內容」、「信息」以及類似術語可以互換使用,用來表示能夠根據本發明的實施方式而被發 射、接收和/或存儲的數據。由此,不應將任何這種術語的使用作為對本發明實施方式的精 神以及範圍的限制。儘管未在圖2中示出,除了跨越網際網路50將移動終端10耦合至計算系統52和/ 或源伺服器54之外或者作為替代,還可以根據例如RF、BT、IrDA或者多種不同的有線或無 線通信技術(包括LAN、WLAN、WiMAX、無線高保真(Wi-Fi) .Wibree 和/或UWB等技術)中 的任意技術來將移動終端10、計算系統52與源伺服器54彼此耦合和通信。一個或多個計算 系統52可以附加地或者備選地包括可移動存儲器,其能夠存儲隨後可以傳送給移動終端
1010的內容。此外,移動終端10可以耦合至一個或多個電子設備,諸如印表機、數字投影儀和 /或其他多媒體捕獲、產生和/或存儲設備(例如,其他終端)。類似於計算系統52,移動終 端10可以被配置為根據例如RF、BT、IrDA或者多種不同的有線或無線通信技術(包括USB、 LAN、Wibree 、Wi-Fi、WLAN、WiMAX和/或UWB等技術)中的任意技術來與可攜式電子設備 進行通信。在這方面,移動終端10能夠經由短距通信技術與其他設備進行通信。例如,移 動終端10可以與配備有短距通信收發器80的一個或多個設備51進行無線短距無線通信。 電子設備51可以包括能夠根據不同短距通信技術中的任意一個來發射和/或接收數據的 多個不同設備和轉發器中的任意一個,其中不同短距通信技術包括但不限於Bluetooth 、 RFID、IR、WLAN、紅外數據聯盟(IrDA)等。電子設備51可以包括不同移動或靜止設備中的 任意一個,包括其他移動終端、無線附件、設備、可攜式數字助理(PDA)、尋呼機、膝上型計算 機、運動傳感器、燈開關和其他類型的電子設備。圖3示出了表示根據本發明示例性實施方式的自適應同步解碼算法流程圖的框 圖。應該理解,流程圖的每個框或步驟以及流程圖中框的組合可以通過各種手段實現,諸如 硬體、固件、和/或包括一個或多個電腦程式指令的軟體。例如,上文描述的一個或多個 過程可以通過電腦程式指令實現。就這一點而言,這些電腦程式指令可以由一個或多 個電子設備的存儲器設備存儲,並由至少一個處理器執行。應該理解,任何這樣的計算機程 序指令可以被加載到計算機設備或其他裝置(即硬體)上來製造機器,從而在計算設備或 其他裝置上執行的指令實現了圖3的方法。這些電腦程式指令可以存儲於計算機可讀存 儲器中,其可以引導計算設備或其他裝置以特定的方式運行,從而存儲於計算機可讀存儲 器中的指令製造包括實現圖3方法的指令的產品。電腦程式指令可以被加載到計算設備 或其他裝置上,以使得在計算設備或其他裝置上執行一系列的操作步驟,以便生產計算機 實現的過程,從而在計算設備或其他裝置上執行的指令提供用於實現圖3方法的步驟。在示例性實施方式中,本發明可包括可以被設備(例如,移動終端10)的處理器 (例如,控制器20)執行或否則被控制的指令。例如,用戶可以在移動終端10的顯示器28 上觀看視頻片段。在示例性實施方式中,視頻片段可駐留於移動終端10的存儲器42中,並 且可以預先從遠程網絡設備(諸如圖4的視頻源150)上下載下來,其可以實現為源服務 器54。在另一示例性實施方式中,視頻片段可以被移動終端10的照相機模塊36捕獲。在 又一示例性實施方式中,視頻片段可以存儲在圖2所示系統中的一個或多個設備的存儲器 中,並且以整體或部分被發送到移動終端10。如果視頻片段的複雜度超過控制器20的解 碼和回放該視頻片段的能力,該設備可為了 AV同步而自適應地確定何時省略幀,在此處稱 為「丟棄」和/或何時解碼幀。像上文提到的,這裡使用的術語「AV同步」可與術語「AV的 同步」、「音頻/視頻同步」以及「步調」互換使用,並且其表示視頻片段中獨立的音頻和視頻 部分的相對定時,其中理想化的是音頻和視頻部分回放的定時將彼此同步。應該理解,當這 裡討論超過系統硬體、軟體或它們組合的能力的視頻片段時,術語「超過能力」並不一定意 味著超過系統的總能力,只是僅僅超過可能被花費在解碼視頻片段上的系統能力。包括用於執行包括本發明實施方式的指令的設備可以是網絡設備,諸如,例如圖 2系統中的源伺服器54或計算系統52。源伺服器54或計算系統52可以用作如圖4所描 繪的視頻源150。現參考圖4,在示例性實施方式中,該視頻源150可以訪問可存儲在存儲 器152中的多個視頻片段,它的處理器可配置為使用解碼器154解碼視頻片段,使用轉碼器156將視頻片段轉碼為遠程客戶端設備支持的格式,並且通過網絡鏈路實時地按需向諸如 用戶設備158的遠程客戶端設備流式傳輸視頻片段,用戶設備158可以是移動終端10。即 使單個視頻片段的解碼和轉碼不超過視頻源150的系統資源,同時對多個視頻片段進行解 碼、轉碼和流式傳輸可能約束和/或超過系統資源。根據該示例性實施方式,諸如視頻源 150的處理器的設備可以自適應地丟棄由設備解碼並轉碼的一個或多個視頻片段中的一個 或多個幀,以便避免由該設備流式傳輸的一個或多個視頻片段上由於受約束的系統資源而 丟失AV同步。在本發明自適應同步解碼算法的一個示例性實施方式中,若干布爾變量、統計量 和時間戳可以由解碼器確定和維持,以允許如下描述的、將執行的解碼器級確定步驟。例 如,解碼器可以確定和維持視頻回放的當前時間。該當前時間代表音頻回放的當前位置並 且可以是信息性的,因為本發明的實施方式考慮視頻幀的位塊傳送是由音頻回放驅動的並 且從未丟棄音頻幀。當前時間可以存儲在設備的存儲器中,在該設備上可以實現本發明的 實施方式,存儲器諸如是移動終端10的易失性存儲器40。如結合圖3在下文所描述的,任 何視頻幀的時間戳可以與如由當前時間表示的當前音頻回放位置時間戳進行比較,以出於 根據本發明的實施方式的、確定是丟棄還是解碼視頻幀的目的來確定視頻幀是否遲到。解碼器也可確定和維持下一關鍵幀的時間戳。該時間戳可以存儲在其上實現本發 明實施方式的設備的存儲器中,例如存儲器是移動終端10的易失存儲器40。下一關鍵幀的 時間戳指示在時間線中何時顯示下一關鍵幀並且可以從多個源的一個或多個獲得該下一 關鍵幀。例如,解碼視頻以及基於自適應同步解碼算法丟棄和/或解碼幀的設備可以包含 多個輸入緩衝器,其在解碼之前預先緩衝視頻幀。在這個示例中,如果輸入緩衝器中的一個 包括關鍵幀,則該設備可以提取該關鍵幀的時間戳,從而定義下一關鍵幀的時間戳。如另一 個示例,視頻片段可以具有以已知率散置在視頻片段內的關鍵幀,諸如每30個幀一個關鍵 幀。在這個示例中,設備可以確定相對於之前關鍵幀的下一關鍵幀的時間戳。在另一個示 例中,關鍵幀的位置可以在解碼前被設備標識。就這一點而言,文件格式解析器可以讀取視 頻文件並且在由設備解碼前標識關鍵幀的位置。備選地,視頻文件可以與索引表相關聯,該 索引表描述視頻片段的幀序列並且標識該關鍵幀。應該理解,時間戳可以包括一個或多個 表示時間的方法,諸如絕對時間參考,偏移時間參考等。根據本發明實施方式的設備可以獨立地維持涉及解碼單個關鍵幀和單個非關鍵 幀所需時間的統計量。這些統計量可以存儲在設備的存儲器中,諸如,存儲器是移動終端10 的易失存儲器40。在一個實施方式中,為了示例的目的,統計量可以描述解碼關鍵幀所需的 平均時間和解碼非關鍵幀所需的平均時間,並且每次對幀進行解碼時可以由設備動態地重 新計算。設備的處理器,諸如移動終端10的控制器20,可以確定平均解碼時間,諸如通過 執行提供該確定的軟體。儘管可以動態地計算和維持平均解碼時間,以便估計解碼傳入幀 所需的時間,本發明的實施方式並不限於此並且無需維持平均解碼時間統計量。反而,在備 選的實施方式中,該設備可以確定和維持解碼每個最後關鍵幀和最後非關鍵幀所花費的時 間。備選地,設備可以基於例如視頻的複雜度並且考慮諸如其解析度的因素來確定解碼關 鍵幀和非關鍵幀所需時間的固定估計。在備選的實施方式中,設備可以維持中間解碼時間 來代替平均解碼時間。所有這些用於確定解碼單個關鍵幀和單個非關鍵幀所需時間的方法 和其他類似方法由本發明的實施方式所構思並且可以互換使用,諸如取決於哪種方法更有效。同樣,雖然解碼單個關鍵幀和單個非關鍵幀所需時間將處於示例的目的在下文中依據 平均解碼時間來討論,但是本發明的實施方式不限於此。設備也可以維持布爾邏輯變量,其指示是否所有非關鍵幀都被連續地丟棄直至下 一關鍵幀到達。最初,這一變量可以被設置為FALSE (假),並且當每一個關鍵幀到達並解 碼時可以被重新設置為FALSE。然而,變量在一定環境中可以被設置為真,這將在下文中討 論。變量的值可以維持在設備的存儲器中,諸如移動終端10的易失性存儲器40。此外,設備可以維持變量,該變量指示已經丟棄的連續幀的數量。該變量的最初值 可以是0並且每次解碼幀時可以對其進行重置。當幀被丟棄,該值可以遞增。該變量的當 前值可以維持在設備的存儲器中,諸如移動終端10的易失存儲器40。該設備還可以包括指 示可以丟棄的連續幀的最大數量的變量。該變量的值可以憑經驗確定,以便至少周期性地 位塊傳送視頻幀以迫使視頻顯示器周期性地更新,從而用戶不認為視頻回放已經延遲。例 如,如果視頻片段的幀率是每秒30幀(fps),每30幀解碼一幀將保證幀每秒位塊傳送幀一 次。同樣,該設備可以將可以丟棄的連續幀最大數量設置為29。該變量的值可以維持在設 備的存儲器中,諸如移動終端10的易失存儲器40。自適應同步解碼背後的基本邏輯是試圖連續地解碼所有幀。然而,當幀由於視頻 片段的複雜度超過系統資源而遲到時,自適應同步解碼邏輯允許對非關鍵幀選擇性地丟 棄。如在圖3中可見的,操作100-126可以在解碼器級執行,諸如通過解碼器,其可以以硬 件、軟體、或它們的某些組合實現,並可以由處理器控制或實現,處理器諸如移動終端10的 控制器20。操作128-138可以在後處理級執行,諸如通過後處理器,其可以以硬體、軟體、 或它們的某些組合實現,並且可以由處理器控制或實現,處理器諸如移動終端10的控制器 20。起初,在操作100,傳入的編碼幀可到達解碼器。該解碼器可以在操作102確定傳 入幀是否是關鍵幀。如果該幀是關鍵幀,則解碼器可以在操作104解碼該關鍵幀。接下來, 在操作106,解碼器可以重新設置布爾變量的值為假,其中該布爾變量指示是否所有直到下 一關鍵幀的幀都應當被丟棄。該解碼器繼而可以更新指示在操作108解碼關鍵幀所需時間 的變量,諸如平均時間。另一方面,如果該解碼器確定在操作102傳入的編碼幀不是關鍵幀,則該解碼器 可以確定布爾變量的值,該布爾變量指示是否所有直到下一關鍵幀的幀都應當在操作110 被丟棄。如果布爾變量的值為TRUE (真),則表明所有直到下一關鍵幀的幀都應當被丟棄, 在操作126,解碼器可以將維持之前已經丟棄的連續幀數量的變量值與可以丟棄的連續幀 的最大數量進行比較。在操作126,如果值是相等的,則該解碼器可以在操作122解碼非關 鍵幀。通過解碼非關鍵幀,該解碼器可以確保視頻中的至少一個幀被頻繁的位塊傳送,這足 以維持對於用戶而言的正在進行的視頻回放的表現。該解碼器也可以重置指示已經丟棄的 連續幀的數量的變量值為零。隨後,該解碼器可以在操作124中更新解碼非關鍵幀所花費 的平均時間。如果在操作126中的確定是丟棄的連續幀的數量沒有達到被丟棄的連續幀的 最大可允許數量,則該解碼器可以在操作118丟棄非關鍵幀。如果在操作110,該解碼器確定布爾變量的值為FALSE,其中布爾變量指示是否直 到下一關鍵幀的所有的幀應當被丟棄,則該解碼器可以確定視頻幀對解碼器來說是否遲 到,如操作112所示。在示例性實施方式中,該解碼器可以做這樣的確定,例如,通過和當前音頻回放位置比較傳入視頻幀的時間戳。如果傳入視頻幀的時間戳比當前音頻回放位置 晚,則可以認為傳入視頻幀遲到。如果在操作112解碼器確定傳入編碼幀沒有遲到,則該解 碼器可以在操作122解碼非關鍵幀,並且該解碼器可以在操作124更新解碼非關鍵幀的平 均時間。然而,如果該傳入編碼幀對於解碼器而言遲到,則該解碼器可以在操作114繼續確 定是否下一關鍵幀位於丟棄時間窗內。如果下一關鍵幀時間戳位於丟棄時間窗內,則該解 碼器可以在操作116設置變量的布爾值為TRUE,其中變量指示是否所有直到下一關鍵幀的 幀將被丟棄,並且可以在操作118繼續丟棄幀。丟棄時間窗(DTW)可以基於解碼單個關鍵幀所需的平均時間(KF_DeC_Time)以 及解碼單個非關鍵幀所需的平均時間(NKF_DeCT_ime)乘以一個整數值的積來計算,其中 該整數值等於小於在其上實現本發明實施方式的設備的輸出緩衝器的數量(Num_0utput_ Buffers)的一個整數值。用於計算丟棄時間窗的等式可以表示如下DTff = KF_Dec_Time+NKF_Dec_Time*(Num_Output_Buffers_l)因此,丟棄時間窗 值表示在對下一關鍵幀以及該關鍵幀之後連續的足夠非關鍵幀進行解碼以填充設備的所 有輸出緩衝器所需的時間量。在這點上,如果非關鍵幀對於解碼器而言遲到並且下一關鍵 幀將在丟棄時間窗內達到,那麼解碼器可以丟棄所有幀直到下一關鍵幀,從而當位塊傳送 下一關鍵幀時,將對填充輸出緩衝器的該關鍵幀和足夠的隨後非關鍵幀進行解碼,使得音 頻回放和視頻回放可以重新同步並且可以至少在此後的一段時間內維持同步。需要指出以下影響,輸出緩衝器的數量也可以影響回放。在這點上,由於輸出緩衝 器的數量可以用於計算丟棄時間窗,所以可以在存在更多輸出緩衝器的時刻丟棄更多連續 的非關鍵幀,直到已經丟棄了最大連續數量的非關鍵幀。因此,如果在具有更多輸出緩衝器 的解碼器處幀開始遲到,則丟棄第一幀時和顯示下一關鍵幀時之間的視頻回放中的暫停可 以按比例地延長並且因此可能對視頻片段的觀眾而言更加明顯。然而,如果解碼器在操作114確定下一關鍵幀時間戳不在丟棄時間窗內,則解碼 器可以在操作120確定是否已經觸發了故障安全機制。故障安全機制可以表示以下內容之 間的折中(1)如果下一關鍵幀不在丟棄時間窗內則允許解碼以及位塊傳送非關鍵幀輕微 不同步(2)允許視頻回放滯後於音頻回放如此之多,則不僅由於繼續解碼遲到的幀而可能 浪費系統資源(這導致逐漸地惡化了 AV同步),而且系統可能變得不穩定,因為系統資源受 到進一步約束。因此,如果視頻幀遲於故障安全閾值到達,則解碼器可以在操作116將布爾 變量設置為TRUE,該布爾變量指示是否下一關鍵幀之前的所有非關鍵幀都應該被丟棄。然 後,解碼器可以在操作118丟棄幀。故障安全閾值表示視頻回放中的恆定最大可允許滯後時間,並且可以以多種方式 對其進行確定。在一個實施方式中,故障安全閾值可以表示系統可以預先緩衝的已解碼視 頻的長度。備選地,例如,故障安全閾值可以根據不允許視頻回放滯後於音頻回放的固定時 間長度來設置,諸如3秒。故障安全機制進一步提供以下情況中的真正「故障安全」,在該 情況中,下一關鍵幀的時間戳不可用於允許在下一關鍵幀處於丟棄時間窗內時丟棄非關鍵 幀。在該情況中,故障安全機制可以用於避免落在音頻回放之後超過故障安全閾值的視頻 回放,並且可以在下一關鍵幀處恢復同步。另一方面,如果視頻幀遲到,而下一關鍵幀不在丟棄時間窗內並且尚未觸發故障 安全機制,則解碼器可以在操作122解碼非關鍵幀,並且解碼器還可以在操作124更新解碼非關鍵幀所需的平均時間。然後,遲到非關鍵幀可以繼續被解碼並且可能逐漸失去AV同步 直到下一關鍵幀處於丟棄時間窗內或觸發了故障安全機制。一旦下一關鍵幀到達並且被解 碼,則可以恢復AV同步。可以將已經解碼的任何幀傳遞到後處理器,其可以對幀進行後處理和顯示。出於 本發明實施方式的目的,後處理器的操作邏輯無需改變,因為在一個實施方式中,所有相關 判決邏輯都由解碼器執行。再次參考圖3,一旦幀到達後處理器,則後處理器可以在操作 128確定幀是否遲到。如果幀沒有遲到,則後處理器在操作130對幀進行後處理。然後,後 處理器可以等待直到回放時間線中幀應該顯示的時刻,並且繼而可以在操作134對該幀進 行顯示。另一方面,如果幀遲到了,則後處理器可以在操作136確定幀是否非常遲。對於什 麼樣才被認為是「非常遲」的預定義時間閾值可以取決於後處理器實現而不同,但是在示例 實施方式中,可以處於100毫秒以上的任何數量級上。如果幀不是非常遲,則丟棄幀。然而, 如果如由幀是否遲於預定義的閾值到達而確定幀非常遲,則可以在操作138對該幀進行後 處理並且隨後在操作134進行顯示。該基本後處理器實現背後的邏輯在於如果幀僅是稍微 遲到,則為了恢復AV同步或至少防止回放落後於同步更遠,應該丟棄該幀。然而,如果後處 理器保持接收總是遲於它們應該到達時刻的幀,這導致了幀「非常遲」,則在已經失去AV同 步時後處理器可以使得幀被顯示,並且對於視頻回放而言,最佳用戶體驗在繼續而不是丟 棄所有視頻幀。然而,在本發明的一個實施方式中,設備可以包括邏輯,該邏輯進一步允許在解碼 器級進行丟棄還是解碼並顯示幀的判決,而不是允許後處理器決定什麼幀遲到以及非常 遲,從而後處理器無需進行任何修改來支持自適應同步解碼。為了實現該邏輯,解碼器可以 調整已經解碼或待解碼的遲到幀的時間戳,從而它們反映僅稍微大於如由音頻回放位置確 定的當前時間的時間,這使得後處理器將顯示幀而不是丟棄它們。與當前時間相加以計算 新時間戳的附加時間常數可以是平均後處理時間,其反映了在顯示幀之前對所解碼幀進行 顏色轉換、縮放、旋轉等所需的時間。由於該值可能遠沒有解碼時間那麼動態,所以可以將 其視為片段之間的常數。因此,雖然備選實施方式將動態地計算針對幀解碼時間實現的平 均後處理時間,但是可以代之以使用靜態值來避免對後處理器邏輯進行任何修改。例如,在 一個實施方式中,包含平均後處理時間的估計的參考表可以存儲在存儲器中,該平均後處 理時間的估計取決於視頻片段解析度或複雜度的其他測量,存儲器諸如移動終端10的非 易失性存儲器42,並且該參考表由解碼器參考用於確定將與當前時間相加來獲得遲到幀時 間戳新值的恆定平均後處理時間。存儲在該表中的值可以根據在其上對視頻片段進行後處 理的系統的實際軟體和硬體配置而改變。在一個示例實施方式中,對於遲到的每個已解碼幀可以不執行時間戳修改。反之, 可以對遲於遲到幀容限值的幀執行該時間戳修改,從而僅在回放仍舊同步的情況下幀逐漸 地遲到並且不僅是輕微延遲時應用時間戳修改。例如,遲到幀容限值可以設置為50毫秒, 因為後處理器經常具有+/-20毫秒的閾值用於確定幀是否準時。然而,上面的值僅是出於 示例目的,並且關於遲到幀容限,本發明的實施方式不限於上述值。在這點上,仍舊可以允 許後處理器丟棄在回放仍舊基本上同步時僅輕微遲到的幀。然而,如果回放失去同步,則解 碼器可以確定是否顯示已解碼的幀,從而為觀眾提供可行的體驗。圖5是可以由根據本發明示例性實施方式的方法和電腦程式產品執行的操作
15的流程圖。圖5流程圖的操作表示根據本發明示例性實施方式的、圖3所示的操作的步驟的 簡化組合。應該理解,流程圖的每個框或步驟、流程圖中框的組合可以通過各種方式實現, 諸如硬體、固件和/或包括一個或多個電腦程式指令的軟體。例如,上述一個或多個過程 可以由電腦程式指令實現。在這點上,這些電腦程式指令可以由一個或多個電子設備 的存儲器設備存儲並且由至少一個處理器執行。應該理解,任何此類電腦程式指令可以 加載到計算設備或其他裝置(即,硬體)上用於生產機器,從而計算設備或其他裝置上執行 的指令實現圖5的方法。這些電腦程式指令可以存儲在計算機可讀存儲器中,其可以引 導計算設備或其他裝置以特定方式工作,從而存儲在計算機可讀存儲器中的電腦程式指 令生產包括用於實現圖5方法的指令的產品。電腦程式指令可以加載到計算設備或其他 裝置上以使得計算設備或其他裝置上待執行的一系列操作步驟產生計算機實現的過程,從 而在計算設備或其他裝置上執行的指令提供用於實現圖4的方法的步驟。在這點上,圖5示出了用於視頻片段的自適應同步解碼的方法的一個實施方式。 該方法的操作可以在解碼器級執行,諸如由解碼器執行,其可以以硬體、軟體或它們的組合 來實現,並且可以由處理器控制或由處理器實現,處理器諸如行動裝置10的控制器20。該 方法可以包括在操作200維持下一關鍵幀時間戳。如操作210所示,可以對視頻片段的多 個關鍵幀進行解碼。儘管在一個實施方式中,對所有關鍵幀進行解碼,但是本發明的實施方 式不限於此並且可以不時丟棄關鍵幀。如操作220所表示的,可以對按時到達的、視頻片段 的多個非關鍵幀進行解碼。然而,如果視頻幀遲到並且觸發了故障安全機制或如果視頻幀 遲到並且下一關鍵幀處於所計算的丟棄時間窗內,則可以丟棄一個或多個非關鍵幀直到下 一關鍵幀,如操作230所示。上述功能可以以多種方式執行。例如,可以採用用於執行上述每個功能的任何合 適手段來執行本發明的實施方式。在一個實施方式中,所有或一部分元件通常將在計算機 程序產品的控制下操作。用於執行本發明實施方式的方法的電腦程式產品可以包括計算 機可讀存儲介質,諸如非易失性存儲介質,以及計算機可讀程序代碼部分,諸如包含在計算 機可讀存儲介質中的一系列計算機指令。同樣,繼而,本發明的實施方式可以增強視頻片段的AV同步和觀眾的體驗。在一 個方面中,本發明的實施方式支持對視頻片段進行解碼的諸如移動終端10的設備回放具 有超過設備硬體和/或軟體能力的複雜度的視頻片段。下一關鍵幀將何時到達的知識將允 許當幀在解碼器處遲到時在下一關鍵幀之前丟棄非關鍵幀的連續序列,使得可以預先緩衝 下一關鍵幀和多個後續幀,從而允許在下一關鍵幀處恢復AV同步。如果關鍵幀在視頻片段 中不頻繁並且視頻回放逐漸遠遠地落後於音頻回放,則本發明實施方式的故障安全機制可 以通過提供在下一關鍵幀之前丟棄多個非關鍵幀而在可以恢復同步時幫助避免以下情況, 即視頻回放比故障安全閾值落後於音頻回放更遠。而且,本發明的實施方式可以促進以下 情況,即通過限制可以被丟棄的連續幀的數量而使丟棄一系列非關鍵幀儘可能小地幹擾觀 眾體驗,使得周期性地位塊傳送至少一個幀,從而更新顯示器以警告觀眾回放尚未停止。而 且,本發明的實施方式支持超過系統複雜度而不丟棄任何音頻幀的視頻片段的增強回放。本發明的實施方式還可以以媒體流式傳輸或實時轉碼設備實現。儘管這些設備通 常具有大大超過在其上觀看視頻片段的平均用戶設備(諸如移動終端10)能力的硬體和軟 件能力,但是仍舊可能創建超過此類設備的硬體和/或軟體能力的視頻片段。而且,設備通常按需對多個視頻片段進行同時解碼和轉碼以便向多個遠程用戶進行流式傳輸。同樣,系 統資源可能被約束並且本發明的實施方式可以用於跨多個視頻片段維持更好的同步,從而 可以在保持AV同步時對更多視頻片段進行解碼。 這裡記載的本發明的很多修改和其他實施方式將被從上面的描述和相關聯附圖 中所呈現的教導獲益的、這些發明所涉及的領域中的技術人員想到。因此,應該理解,本發 明的實施方式不限於所公開的具體實施方式
並且修改和其他實施方式旨在被包括在所附 權利要求書的範圍內。儘管這裡使用了特定的術語,但是僅在一般性和描述性的意義上使 用它們並且不是出於限制的目的。
權利要求
一種方法,包括維持下一關鍵幀時間戳;對視頻片段的多個關鍵幀進行解碼;對按時到達的視頻片段的多個非關鍵幀進行解碼;以及如果視頻幀遲到並且下一關鍵幀處於至少部分地基於所述下一關鍵幀時間戳計算的丟棄時間窗內,則丟棄一個或多個非關鍵幀直到下一關鍵幀。
2.根據權利要求1所述的方法,進一步包括維持對已經丟棄的連續幀數量的計數,並 且如果已經丟棄了多於連續非關鍵幀的預定最大數量,則解碼非關鍵幀。
3.根據權利要求2所述的方法,其中確定可以丟棄的連續非關鍵幀的預定最大數量, 從而將以足以警告視頻片段觀眾回放尚未終止的頻率對幀進行解碼。
4.根據權利要求1所述的方法,進一步包括確定到達解碼器的非關鍵幀是否遲於預定 義閾值,並且如果遲於預定義閾值,則修改非關鍵幀上的時間戳,以便將對其進行後處理。
5.根據權利要求4所述的方法,其中預定義閾值是100毫秒。
6.根據權利要求1所述的方法,其中通過從已緩衝的關鍵幀、在視頻片段內散置關鍵 幀的已知恆定率、已經讀取描述視頻片段的文件並且標識了關鍵幀的文件格式解析器中的 一個或多個、或從與視頻片段相關聯的索引表提取下一關鍵幀的時間戳來維持下一關鍵幀 的時間戳。
7.根據權利要求1所述的方法,進一步包括如果視頻幀遲到並且觸發了故障安全機制,則丟棄一個或多個非關鍵幀直到下一關鍵 幀,其中如果視頻幀延遲了大於預定閾值的時間長度,則觸發故障安全機制;以及維持對已經丟棄的連續幀數量的計數,並且如果已經丟棄了多於連續非關鍵幀的預定 最大數量,則解碼非關鍵幀。
8.根據權利要求1所述的方法,進一步包括維持詳細描述解碼關鍵幀所需的時間以及 解碼非關鍵幀所需的時間的獨立統計量,其中基於解碼關鍵幀所需的時間、解碼非關鍵幀 所需的時間以及系統能夠緩衝的已解碼視頻幀的數量來計算丟棄時間窗。
9.一種包括至少一個計算機可讀存儲介質的電腦程式產品,所述計算機可讀存儲介 質具有存儲於其中的計算機可讀程序代碼部分,所述計算機可讀程序代碼部分包括第一可執行部分,用於維持下一關鍵幀時間戳;第二可執行部分,用於對視頻片段的多個關鍵幀進行解碼;第三可執行部分,用於對按時到達的視頻片段的多個非關鍵幀進行解碼;以及第四可執行部分,用於如果視頻幀遲到並且下一關鍵幀處於至少部分地基於所述下一 關鍵幀時間戳計算的丟棄時間窗內,則丟棄一個或多個非關鍵幀直到下一關鍵幀。
10.根據權利要求9所述的電腦程式產品,其中第四可執行部分包括用於維持對已 經丟棄的連續幀數量的計數並且如果已經丟棄了多於連續非關鍵幀的預定最大數量,則解 碼非關鍵幀的指令。
11.根據權利要求10所述的電腦程式產品,其中確定可以丟棄的連續非關鍵幀的預 定最大數量,從而將以足以警告視頻片段觀眾回放尚未終止的頻率對幀進行解碼。
12.根據權利要求9所述的電腦程式產品,進一步包括第五可執行部分,其具有用於 確定到達解碼器的非關鍵幀是否遲於預定義閾值,並且如果遲於預定義閾值,則修改非關鍵幀上的時間戳,以便將對其進行後處理的指令。
13.根據權利要求12所述的電腦程式產品,其中預定義閾值是100毫秒。
14.根據權利要求9所述的電腦程式產品,其中第一可執行部分包括用於通過從已 緩衝的關鍵幀、在視頻片段內散置關鍵幀的已知恆定率、已經讀取描述視頻片段的文件並 且標識了關鍵幀的文件格式解析器中的一個或多個、或從與視頻片段相關聯的索引表提取 下一關鍵幀的時間戳來維持下一關鍵幀的時間戳的指令。
15.根據權利要求9所述的電腦程式產品,進一步包括第五可執行部分,用於如果視頻幀遲到並且觸發了故障安全機制,則丟棄一個或多個 非關鍵幀直到下一關鍵幀,其中如果視頻幀延遲了大於預定閾值的時間長度,則觸發故障 安全機制;以及第六可執行部分,用於維持對已經丟棄的連續幀數量的計數,並且如果已經丟棄了多 於連續非關鍵幀的預定最大數量,則解碼非關鍵幀。
16.根據權利要求9所述的電腦程式產品,進一步包括第五可執行部分,用於維持詳 細描述解碼關鍵幀所需的時間以及解碼非關鍵幀所需的時間的獨立統計量,並且其中第四 可執行部分包括用於基於解碼關鍵幀所需的時間、解碼非關鍵幀所需的時間以及系統能夠 緩衝的已解碼視頻幀的數量來計算丟棄時間窗的指令。
17.一種包括處理器的裝置,所述處理器配置為維持下一關鍵幀時間戳;對視頻片段的多個關鍵幀進行解碼;對按時到達的視頻片段的多個非關鍵幀進行解碼;以及如果視頻幀遲到並且下一關鍵幀處於至少部分地基於所述下一關鍵幀時間戳計算的 丟棄時間窗內,則丟棄一個或多個非關鍵幀直到下一關鍵幀。
18.根據權利要求17所述的裝置,其中所述處理器進一步配置為維持對已經丟棄的連 續幀數量的計數,並且如果已經丟棄了多於連續非關鍵幀的預定最大數量,則解碼非關鍵 幀。
19.根據權利要求18所述的裝置,其中確定可以丟棄的連續非關鍵幀的預定最大數 量,從而將以足以警告視頻片段觀眾回放尚未終止的頻率對幀進行解碼。
20.根據權利要求17所述的裝置,其中所述處理器進一步配置為確定到達解碼器的非 關鍵幀是否遲於預定義閾值,並且如果遲於預定義閾值,則修改非關鍵幀上的時間戳,以便 將對其進行後處理。
21.根據權利要求20所述的裝置,其中預定義閾值是100毫秒。
22.根據權利要求17所述的裝置,其中所述處理器進一步配置為通過從已緩衝的關鍵 幀、在視頻片段內散置關鍵幀的已知恆定率、已經讀取描述視頻片段的文件並且標識了關 鍵幀的文件格式解析器中的一個或多個、或從與視頻片段相關聯的索引表提取下一關鍵幀 的時間戳來維持下一關鍵幀的時間戳。
23.根據權利要求17所述的裝置,所述處理器進一步配置為如果視頻幀遲到並且觸發了故障安全機制,則丟棄一個或多個非關鍵幀直到下一關鍵 幀,其中如果視頻幀延遲了大於預定閾值的時間長度,則觸發故障安全機制;以及維持對已經丟棄的連續幀數量的計數,並且如果已經丟棄了多於連續非關鍵幀的預定最大數量,則解碼非關鍵幀。
24.根據權利要求17所述的裝置,其中所述處理器進一步配置為維持詳細描述解碼關 鍵幀所需的時間以及解碼非關鍵幀所需的時間的獨立統計量,其中基於解碼關鍵幀所需的 時間、解碼非關鍵幀所需的時間以及系統能夠緩衝的已解碼視頻幀的數量來計算丟棄時間窗。
25.一種設備,包括用於維持下一關鍵幀時間戳的裝置; 用於對視頻片段的多個關鍵幀進行解碼的裝置; 用於對按時到達的視頻片段的多個非關鍵幀進行解碼的裝置;以及 用於如果視頻幀遲到並且下一關鍵幀處於至少部分地基於所述下一關鍵幀時間戳計 算的丟棄時間窗內,則丟棄一個或多個非關鍵幀直到下一關鍵幀的裝置。
全文摘要
一種用於數字視頻的自適應同步解碼的裝置可以包括處理器。所述處理器配置為維持下一關鍵幀時間戳,對視頻片段的多個關鍵幀進行解碼,對按時到達的視頻片段的多個非關鍵幀進行解碼,以及如果視頻幀遲到並且下一關鍵幀處於至少部分地基於所述下一關鍵幀時間戳計算的丟棄時間窗內,則丟棄一個或多個非關鍵幀直到下一關鍵幀。還提供了相應的方法和電腦程式產品。
文檔編號H04N7/52GK101946518SQ200880126577
公開日2011年1月12日 申請日期2008年12月9日 優先權日2007年12月28日
發明者A·瓦奎羅, V·戈恩迪 申請人:諾基亞公司

同类文章

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

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有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-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀