TW202112131A - 基於回饋資訊之動態視訊插入 - Google Patents

基於回饋資訊之動態視訊插入 Download PDF

Info

Publication number
TW202112131A
TW202112131A TW109125319A TW109125319A TW202112131A TW 202112131 A TW202112131 A TW 202112131A TW 109125319 A TW109125319 A TW 109125319A TW 109125319 A TW109125319 A TW 109125319A TW 202112131 A TW202112131 A TW 202112131A
Authority
TW
Taiwan
Prior art keywords
frame
video
block
missing
damaged
Prior art date
Application number
TW109125319A
Other languages
English (en)
Inventor
米納 艾曼 沙雷 雅尼 馬卡爾
阿吉特 文卡特 拉奧
山迪普 格訥格布爾 拉克許米康森
琦 薛
比哈 摩提
克利許納普拉沙德 凡內 莫爾克德
Original Assignee
美商高通公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 美商高通公司 filed Critical 美商高通公司
Publication of TW202112131A publication Critical patent/TW202112131A/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/164Feedback from the receiver or from the transmission channel
    • H04N19/166Feedback from the receiver or from the transmission channel concerning the amount of transmission errors, e.g. bit error rate [BER]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/167Position within a video image, e.g. region of interest [ROI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/507Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction using conditional replenishment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/65Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
    • H04N19/895Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder in combination with error concealment

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本發明提供用於基於回饋資訊而適應性地控制一編碼器件以允許動態插入經框內寫碼視訊內容的技術。舉例而言,可判定一視訊位元串流中之一視訊圖框之一視訊圖塊的至少一部分為缺失或損壞。指示該視訊圖塊的至少該部分缺失或損壞的回饋資訊可發送至一編碼器件。可回應於該回饋資訊而自該編碼器件接收到一經更新視訊位元串流。該經更新視訊位元串流可包括具有大於該缺失或損壞的視訊圖塊之一大小的至少一個經框內寫碼視訊圖塊。該至少一個經框內寫碼視訊圖塊之該大小可經判定以覆蓋該缺失或損壞的圖塊及由該缺失或損壞的圖塊引起之該視訊圖框中之傳播誤差。

Description

基於回饋資訊之動態視訊插入
本申請案係關於媒體相關之技術。舉例而言,本申請案之態樣係關於用於基於關於丟失或損壞的視訊資訊之回饋來執行動態視訊插入的系統、方法及電腦可讀媒體。
許多器件及系統允許處理並輸出視訊資料以供消耗。數位視訊資料包括大量資料以滿足消費者及視訊提供商之需求。舉例而言,視訊資料之消費者需要具有最優品質(具有高保真度、解析度、圖框速率及其類似者)之視訊。因此,滿足此等需求所需之大量視訊資料對處理及儲存視訊資料之通信網路及器件造成負擔。
各種視訊寫碼技術可用以壓縮視訊資料。視訊寫碼係根據一或多個視訊寫碼標準執行。舉例而言,視訊寫碼標準包括通用視訊寫碼(VVC)、高效視訊寫碼(HEVC)、進階視訊寫碼(AVC)、動畫專業團體(MPEG)相關之寫碼(例如MPEG-2第2部分寫碼)、VP9、開放媒體聯盟(AOMedia)視訊1 (AV1)以及其他。視訊寫碼通常使用利用存在於視訊影像或序列中之冗餘的預測方法(例如框間預測、框內預測或其類似者)。視訊寫碼技術之重要目標為將視訊資料壓縮成使用較低位元率之形式,同時避免視訊品質之降級或使視訊品質之降級最小化。
視訊可用於許多不同媒體環境。此媒體環境之一個實例為擴展實境(XR)系統,其涵蓋擴增實境(AR)、虛擬實境(VR)、混合實境(MR)以及其他。此等形式之XR中之每一者允許使用者體驗虛擬內容或與虛擬內容互動,有時結合真實內容。XR系統需要提供低運動對光子潛時,其為自使用者運動發生至對應內容經顯示之間的延遲。低運動對光子潛時為重要的,以便提供良好使用者體驗且防止用戶端器件(例如頭戴式顯示器或HMD)之使用者經歷動暈症或其他不良反應。
隨著包括XR技術之不斷演進之視訊服務的出現,需要具有更佳寫碼效率之編碼技術及其他視訊處理及管理技術。
描述用於基於指示具有缺失(或丟失)或損壞的視訊封包之視訊資料的回饋資訊來適應性地控制編碼器件(例如分割呈現無限擴展實境(XR)架構中之視訊編碼器,及/或其他適合系統)的系統及技術。回饋資訊可指示視訊圖框、視訊圖塊、其一部分或其他視訊資訊缺失封包或具有損壞的封包。在一個實例中,回饋資訊可指示視訊圖框之視訊圖塊之至少一部分缺失或損壞。缺失或損壞的視訊圖塊之部分可包括視訊圖塊之某些封包。
回饋資訊可自用戶端器件提供至編碼器件。編碼器件可使用回饋資訊來判定將經框內預測寫碼圖框(亦稱作經框內寫碼圖框或圖像)或經框內預測寫碼圖塊(亦稱作經框內寫碼圖塊)適應性地插入至經編碼視訊位元串流中的時間。用戶端器件可依賴於誤差消除(例如異步時間規整(ATW)誤差消除),直至接收到無誤差經框內寫碼圖框或圖塊。
在一些實施方案中,經框內寫碼圖框(I圖框)可基於回饋資訊而動態地插入至經編碼視訊位元串流中。舉例而言,I圖框可動態地插入於具有嚴格固定位元率(CBR)之系統中的經編碼視訊位元串流中。在此等實施方案中,使用指示封包丟失或損壞的封包資訊之來自用戶端器件之回饋,編碼器件可使I圖框至編碼結構中之週期性插入鬆弛(或甚至去除)。
在一些實施方案中,具有框內再新循環之經框內寫碼圖塊(I圖塊)可動態地插入至經編碼視訊位元串流中。框內再新循環經由若干圖框擴展I圖框之經框內寫碼區塊。可使框內再新循環中之圖塊之圖塊大小更大,以確保具有任何可能傳播運動之完全丟失的圖塊由框內再新圖塊之框內區塊覆蓋。使用回饋資訊,框內再新循環之週期性插入可鬆弛(或甚至在一些情況下經去除)。
在一些實施方案中,單獨I圖塊可基於回饋資訊而動態地插入至經編碼視訊位元串流中。舉例而言,若編碼器件允許,則編碼器件可將I圖塊插入於位元串流之受誤差影響之部分中。可使I圖塊之大小更大,以確保具有任何可能傳播運動之完全丟失的圖塊由I圖塊之框內區塊覆蓋。在一些實例中,編碼器件可決定在多個圖框上插入所需I圖塊,以免造成品質瞬時下降。
在一些實例中,亦提供用於使編碼器件與共同參考時脈(例如由無線存取點或其他器件或實體)以及其他編碼器件同步之系統及技術,其可在多個使用者環境中提供幫助。與共同時脈同步可有助於減少無線鏈路上之位元率波動,而不管編碼組態如何。在一些情況下,編碼器件可藉由動態插入I圖框及/或I圖塊而與共同時脈同步。舉例而言,在一個編碼器件接收指示一或多個丟失封包之回饋且需要強制使用I圖框或I圖塊時,來自其他編碼器件之任何非緊急(例如基於非回饋之)I圖框及/或I圖塊插入可延遲,使得一個編碼器件可儘快插入I圖框或I圖塊。
在基於回饋資訊之經框內預測寫碼圖框之適應性插入的一個說明性實例中,提供一種處理視訊資料之方法。該方法包括藉由一計算器件判定一視訊位元串流中之一視訊圖框之一視訊圖塊的至少一部分缺失或損壞。該方法進一步包括將回饋資訊發送至一編碼器件。該回饋資訊指示該視訊圖塊的至少該部分缺失或損壞。該方法進一步包括回應於該回饋資訊而接收來自該編碼器件之一經更新視訊位元串流。該經更新視訊位元串流包括具有大於該缺失或損壞的視訊圖塊之一大小的至少一個經框內寫碼視訊圖塊。該至少一個經框內寫碼視訊圖塊之該大小經判定以覆蓋(或補償)該缺失或損壞的圖塊及由該缺失或損壞的圖塊引起之該視訊圖框中之傳播誤差。
在基於回饋資訊之經框內預測寫碼圖框之適應性插入的另一實例中,提供一種用於處理視訊資料之裝置,該裝置包括一記憶體及一處理器,該處理器實施於電路中且耦接至該記憶體。在一些實例中,多於一個處理器可耦接至該記憶體。該處理器經組態以判定一視訊位元串流中之一視訊圖框之一視訊圖塊的至少一部分缺失或損壞。該處理器進一步經組態以將回饋資訊發送至一編碼器件。該回饋資訊指示該視訊圖塊的至少該部分缺失或損壞。該處理器進一步經組態以回應於該回饋資訊而接收來自該編碼器件之一經更新視訊位元串流。該經更新視訊位元串流包括具有大於該缺失或損壞的視訊圖塊之一大小的至少一個經框內寫碼視訊圖塊。該至少一個經框內寫碼視訊圖塊之該大小經判定以覆蓋(或補償)該缺失或損壞的圖塊及由該缺失或損壞的圖塊引起之該視訊圖框中之傳播誤差。
在基於回饋資訊之經框內預測寫碼圖框之適應性插入的另一實例中,提供一種計算器件之非暫時性電腦可讀媒體,其上儲存有指令,該等指令在由一或多個處理器執行時使得該一或多個處理器執行以下操作:判定一視訊位元串流中之一視訊圖框之一視訊圖塊的至少一部分缺失或損壞;將回饋資訊發送至一編碼器件,該回饋資訊指示該視訊圖塊的至少該部分缺失或損壞;以及回應於該回饋資訊而接收來自該編碼器件之一經更新視訊位元串流,該經更新視訊位元串流包括具有大於該缺失或損壞的視訊圖塊之一大小的至少一個經框內寫碼視訊圖塊,其中判定該至少一個經框內寫碼視訊圖塊之該大小以覆蓋(或補償)該缺失或損壞的圖塊及由該缺失或損壞的圖塊引起之該視訊圖框中之傳播誤差。
在基於回饋資訊之經框內預測寫碼圖框之適應性插入的另一實例中,提供一種用於處理視訊資料之裝置。該裝置包括用於判定一視訊位元串流中之一視訊圖框之一視訊圖塊的至少一部分缺失或損壞的構件。該裝置進一步包括用於將回饋資訊發送至一編碼器件的構件。該回饋資訊指示該視訊圖塊的至少該部分缺失或損壞。該裝置進一步包括用於回應於該回饋資訊而接收來自該編碼器件之一經更新視訊位元串流的構件。該經更新視訊位元串流包括具有大於該缺失或損壞的視訊圖塊之一大小的至少一個經框內寫碼視訊圖塊。該至少一個經框內寫碼視訊圖塊之該大小經判定以覆蓋(或補償)該缺失或損壞的圖塊及由該缺失或損壞的圖塊引起之該視訊圖框中之傳播誤差。
在一些態樣中,由該缺失或損壞的圖塊引起之該視訊圖框中之該傳播誤差係基於一運動搜尋範圍。
在一些態樣中,該缺失或損壞的圖塊在該視訊圖框中自一第一列橫跨至一第二列,且該至少一個經框內寫碼視訊圖塊之該大小經定義為包括該第一列減去一運動搜尋範圍至該第二列加上該運動搜尋範圍。
在一些態樣中,上文所描述之方法、裝置及電腦可讀媒體可包含回應於判定該視訊圖塊之至少該部分缺失或損壞而對一或多個視訊圖框執行誤差消除,直至在該經更新視訊位元串流中接收到一無誤差經框內寫碼視訊圖塊。
在一些態樣中,該至少一個經框內寫碼視訊圖塊包括一經框內寫碼圖框。在一些態樣中,該至少一個經框內寫碼視訊圖塊經包括為一框內再新循環之部分。該框內再新循環包括至少一個視訊圖框,該至少一個視訊圖框中之每一視訊圖框包括一或多個經框內寫碼視訊圖塊。在一些實例中,該框內再新循環之該至少一個視訊圖框的一數目係基於以下中之至少一者:包括該視訊圖塊之該視訊圖框中之圖塊的一數目、該視訊圖框中之該視訊圖塊的一位置及該框內再新循環基於該回饋資訊而插入至該經更新視訊位元串流中的時間。
在一個實例中,在該視訊圖塊之該位置為該視訊圖框中之一第一圖塊時,該框內再新循環之該至少一個視訊圖框包括至少兩個圖框。在此類實例中,上文所描述之方法、裝置及電腦可讀媒體可包含對該至少兩個圖框中之一第一圖框執行誤差消除且並不對該至少兩個圖框中之一第二圖框執行誤差消除,在該視訊位元串流中,該第二圖框在該第一圖框之後。在另一實例中,在該視訊圖塊之該位置並非該視訊圖框中之一第一圖塊時,該框內再新循環之該至少一個視訊圖框包括一經框內寫碼圖框。在另一實例中,在該視訊圖塊之該位置為該視訊圖框中之一最末圖塊時,該框內再新循環之該至少一個視訊圖框包括至少兩個圖框。在此類實例中,上文所描述之方法、裝置及電腦可讀媒體可包含基於該視訊圖塊為該視訊圖框中之一最末圖塊而對該至少兩個圖框中之一第一圖框及一第二圖框執行誤差消除。
在一些實施方案中,該計算器件及/或該裝置包括一擴展實境顯示器件,該擴展實境顯示器件經組態以提供運動資訊至該編碼器件以用於產生藉由該擴展實境顯示器件顯示之該視訊位元串流。
在基於回饋資訊之經框內預測寫碼圖框之適應性插入的另一說明性實例中,提供一種處理視訊資料之方法。方法包括在一編碼器件處接收來自一計算器件之回饋資訊。該回饋資訊指示一視訊位元串流中之一視訊圖框之一視訊圖塊的至少一部分缺失或損壞。該方法進一步包括回應於該回饋資訊而產生一經更新視訊位元串流。該經更新視訊位元串流包括具有大於該缺失或損壞的視訊圖塊之一大小的至少一個經框內寫碼視訊圖塊。該至少一個經框內寫碼視訊圖塊之該大小經判定以覆蓋(或補償)該缺失或損壞的圖塊及由該缺失或損壞的圖塊引起之該視訊圖框中之傳播誤差。
在基於回饋資訊之經框內預測寫碼圖框之適應性插入的另一實例中,提供一種用於處理視訊資料之裝置,該裝置包括一記憶體及一處理器,該處理器實施於電路中且耦接至該記憶體。在一些實例中,多於一個處理器可耦接至該記憶體。該處理器經組態以接收來自一計算器件之回饋資訊。該回饋資訊指示一視訊位元串流中之一視訊圖框之一視訊圖塊的至少一部分缺失或損壞。該處理器進一步經組態以回應於該回饋資訊而產生一經更新視訊位元串流。該經更新視訊位元串流包括具有大於該缺失或損壞的視訊圖塊之一大小的至少一個經框內寫碼視訊圖塊。該至少一個經框內寫碼視訊圖塊之該大小經判定以覆蓋(或補償)該缺失或損壞的圖塊及由該缺失或損壞的圖塊引起之該視訊圖框中之傳播誤差。
在基於回饋資訊之經框內預測寫碼圖框之適應性插入的另一實例中,提供一種編碼器件之非暫時性電腦可讀媒體,其上儲存有指令,該等指令在由一或多個處理器執行時使得該一或多個處理器執行以下操作:接收來自一計算器件之回饋資訊,該回饋資訊指示一視訊位元串流中之一視訊圖框之一視訊圖塊的至少一部分缺失或損壞;以及回應於該回饋資訊而產生一經更新視訊位元串流,該經更新視訊位元串流包括具有大於該缺失或損壞的視訊圖塊之一大小的至少一個經框內寫碼視訊圖塊,其中判定該至少一個經框內寫碼視訊圖塊之該大小以覆蓋(或補償)該缺失或損壞的圖塊及由該缺失或損壞的圖塊引起之該視訊圖框中之傳播誤差。
在基於回饋資訊之經框內預測寫碼圖框之適應性插入的另一實例中,提供一種用於處理視訊資料之裝置。該裝置包括用於接收來自一計算器件之回饋資訊的構件。該回饋資訊指示一視訊位元串流中之一視訊圖框之一視訊圖塊的至少一部分缺失或損壞。該裝置進一步包括用於回應於該回饋資訊而產生一經更新視訊位元串流的構件。該經更新視訊位元串流包括具有大於該缺失或損壞的視訊圖塊之一大小的至少一個經框內寫碼視訊圖塊。該至少一個經框內寫碼視訊圖塊之該大小經判定以覆蓋(或補償)該缺失或損壞的圖塊及由該缺失或損壞的圖塊引起之該視訊圖框中之傳播誤差。
在一些態樣中,由該缺失或損壞的圖塊引起之該視訊圖框中之該傳播誤差係基於一運動搜尋範圍。
在一些態樣中,該缺失或損壞的圖塊在該視訊圖框中自一第一列橫跨至一第二列。在此等態樣中,上文所描述之方法、裝置及電腦可讀媒體可包含判定該至少一個經框內寫碼視訊圖塊之該大小以包括該第一列減去一運動搜尋範圍至該第二列加上該運動搜尋範圍。
在一些態樣中,回應於該視訊圖塊之至少該部分缺失或損壞,對一或多個視訊圖框執行誤差消除直至在該經更新視訊位元串流中接收到一無誤差經框內寫碼視訊圖塊。
在一些態樣中,該至少一個經框內寫碼視訊圖塊包括一經框內寫碼圖框。在一些態樣中,該至少一個經框內寫碼視訊圖塊經包括為一框內再新循環之部分。該框內再新循環包括至少一個視訊圖框,該至少一個視訊圖框中之每一視訊圖框包括一或多個經框內寫碼視訊圖塊。在一些實例中,上文所描述之方法、裝置及電腦可讀媒體可包含基於以下中之至少一者來判定該框內再新循環之該至少一個視訊圖框的一數目:包括該視訊圖塊之該視訊圖框中之圖塊的一數目、該視訊圖框中之該視訊圖塊的一位置及該框內再新循環基於該回饋資訊而插入至該經更新視訊位元串流中的時間。
在一個實例中,在該視訊圖塊之該位置為該視訊圖框中之一第一圖塊時,該框內再新循環之該至少一個視訊圖框經判定以包括至少兩個圖框。在此類實例中,可對該至少兩個圖框中之一第一圖框執行誤差消除且並不對該至少兩個圖框中之一第二圖框執行誤差消除,在該視訊位元串流中,該第二圖框在該第一圖框之後。在另一實例中,在該視訊圖塊之該位置並非該視訊圖框中之一第一圖塊時,該框內再新循環之該至少一個視訊圖框經判定以包括一經框內寫碼圖框。在另一實例中,在該視訊圖塊之該位置為該視訊圖框中之一最末圖塊時,該框內再新循環之該至少一個視訊圖框經判定以包括至少兩個圖框。在此類實例中,可基於該視訊圖塊為該視訊圖框中之一最末圖塊而對該至少兩個圖框中之一第一圖框及一第二圖框執行誤差消除。
在一些態樣中,上文所描述之方法、裝置及電腦可讀媒體可包含儲存該經更新視訊位元串流。在一些態樣中,上文所描述之方法、裝置及電腦可讀媒體可包含將該經更新視訊位元串流傳輸至該計算器件。
在一些態樣中,上文所描述之方法、裝置及電腦可讀媒體可包含:根據與至少一個其他編碼器件共用之一參考時脈將經框內寫碼視訊資料添加至該視訊位元串流,該參考時脈定義用於使來自該編碼器件及該至少一個其他編碼器件之經框內寫碼視訊交錯的一時程;回應於該回饋資訊而發送調適該參考時脈以允許該編碼器件以一未排程時槽將經框內寫碼視訊資料添加至該視訊位元串流的一請求;接收該參考時脈經更新以定義一經更新時程之一指示;以及基於該經更新時程而根據該經更新參考時脈將該經框內寫碼視訊圖塊添加至該視訊位元串流。
在一些實施方案中,該計算器件包括一擴展實境顯示器件,且該編碼器件為一伺服器之部分。該編碼器件經組態以基於由該編碼器件自該擴展實境顯示器件接收到之運動資訊產生藉由該擴展實境顯示器件顯示之該視訊位元串流。
在共同參考時脈之編碼器件同步的一個說明性實例中,提供一種處理視訊資料之方法。該方法包括藉由一編碼器件產生一視訊位元串流。根據與至少一個其他編碼器件共用之參考時脈而(例如由編碼器件)將經框內寫碼視訊資料插入至視訊位元串流中。參考時脈定義用於使來自編碼器件及至少一個其他編碼器件之經框內寫碼視訊交錯的時程。該方法進一步包括藉由該編碼器件獲得指示該視訊位元串流之一視訊圖塊的至少一部分缺失或損壞的回饋資訊。該方法進一步包括回應於該回饋資訊而發送調適該參考時脈以允許該編碼器件以一未排程時槽將經框內寫碼視訊資料插入至該視訊位元串流中的一請求。該方法進一步包括接收該參考時脈經更新以定義一經更新時程之一指示,且基於該經更新時程而根據該經更新參考時脈將該經框內寫碼視訊資料插入至該視訊位元串流中。
在共同參考時脈之編碼器件同步的另一實例中,提供一種用於處理視訊資料之裝置,該裝置包括一記憶體及一處理器,該處理器實施於電路中且耦接至該記憶體。在一些實例中,多於一個處理器可耦接至該記憶體。該處理器經組態以產生一視訊位元串流。經框內寫碼視訊資料根據與至少一個其他編碼器件共用之一參考時脈而(例如藉由該裝置,其可包括一編碼器件)插入至該視訊位元串流中。該參考時脈定義用於使來自該編碼器件及該至少一個其他編碼器件之經框內寫碼視訊交錯的一時程。該處理器進一步經組態以獲得指示該視訊位元串流之一視訊圖塊的至少一部分缺失或損壞的回饋資訊。該處理器進一步經組態以回應於該回饋資訊而發送調適該參考時脈以允許該編碼器件以一未排程時槽將經框內寫碼視訊資料插入至該視訊位元串流中的一請求。該處理器進一步經組態以接收該參考時脈經更新以定義一經更新時程的一指示。該處理器進一步經組態以基於該經更新時程而根據該經更新參考時脈將該經框內寫碼視訊資料插入至該視訊位元串流中。
在共同參考時脈之編碼器件同步的另一實例中,提供一種編碼器件之非暫時性電腦可讀媒體,其上儲存有指令,該等指令在由一或多個處理器執行時使得該一或多個處理器執行以下操作:產生一視訊位元串流,其中根據與至少一個其他編碼器件共用之一參考時脈將經框內寫碼視訊資料插入至該視訊位元串流中,該參考時脈定義用於使來自該編碼器件及該至少一個其他編碼器件之經框內寫碼視訊交錯的一時程;獲得指示該視訊位元串流之一視訊圖塊的至少一部分缺失或損壞的回饋資訊;回應於該回饋資訊而發送調適該參考時脈以允許該編碼器件以一未排程時槽將經框內寫碼視訊資料插入至該視訊位元串流中的一請求;接收該參考時脈經更新以定義一經更新時程之一指示;以及基於該經更新時程而根據該經更新參考時脈將該經框內寫碼視訊資料插入至該視訊位元串流中。
在共同參考時脈之編碼器件同步的另一實例中,提供一種用於處理視訊資料之裝置。該裝置包括用於產生一視訊位元串流的構件。根據與至少一個其他編碼器件共用之參考時脈而(例如由編碼器件)將經框內寫碼視訊資料插入至視訊位元串流中。該參考時脈定義用於使來自該編碼器件及該至少一個其他編碼器件之經框內寫碼視訊交錯的一時程。該裝置進一步包括用於獲得指示該視訊位元串流之一視訊圖塊的至少一部分缺失或損壞之回饋資訊的構件。該裝置進一步包括用於回應於該回饋資訊而發送調適該參考時脈以允許該編碼器件以一未排程時槽將經框內寫碼視訊資料插入至該視訊位元串流中之一請求的構件。該裝置進一步包括用於接收該參考時脈經更新以定義一經更新時程之一指示的構件,以及用於基於該經更新時程而根據該經更新參考時脈將該經框內寫碼視訊資料插入至該視訊位元串流中的構件。
在一些態樣中,基於經更新時程,至少一個其他編碼器件延遲相對於由參考時脈定義之先前經排程時槽排程經框內寫碼視訊。
在一些態樣中,複數個編碼器件與參考時脈同步。在此等態樣中,複數個編碼器件中之每一編碼器件可經指派不同時間基準,藉由時間基準傳輸經編碼資料。在一些情況下,指派至編碼器件之第一時間基準不同於指派至至少一個其他編碼器件之第二時間基準。
在一些態樣中,未排程時槽與用於編碼器件之由參考時脈定義之複數個時槽偏離。
在一些態樣中,經更新參考時脈與至少一個其他編碼器件共用。
在一些態樣中,經框內寫碼視訊資料包括一或多個經框內寫碼視訊圖框。在一些態樣中,經框內寫碼視訊資料包括一或多個經框內寫碼視訊圖塊。在一些態樣中,經框內寫碼視訊資料包括框內再新時段,該框內再新時段包括至少一個視訊圖框。舉例而言,至少一個視訊圖框中之每一視訊圖框可包括一或多個經框內寫碼視訊圖塊。
在一些態樣中,自計算器件提供回饋資訊。在一些實施方案中,該計算器件包括一擴展實境顯示器件,且該編碼器件為一伺服器之部分。該編碼器件經組態以基於由該編碼器件自該擴展實境顯示器件接收到之運動資訊產生藉由該擴展實境顯示器件顯示之該視訊位元串流。
此發明內容並不意欲識別所主張主題之關鍵或基本特徵,亦不意欲單獨使用以判定所主張主題之範疇。應參考此專利之整個說明書之適當部分、任何或所有圖式及每一申請專利範圍來理解主題。
在參考以下說明書、申請專利範圍及隨附圖式時,前述內容連同其他特徵及實施例將變得更顯而易見。
在下文提供本發明之某些態樣及實施例。此等態樣及實施例中之一些可獨立地應用且其中之一些可以對於熟習此項技術者將顯而易見之組合來應用。在以下描述中,出於解釋之目的,闡述特定細節以便提供對本申請案之實施例的透徹理解。然而,將顯而易見的是,可在無此等特定細節之情況下實踐各種實施例。圖式及描述不意欲為限制性的。
隨後描述僅提供例示性實施例且並不意欲限制本發明的範疇、可應用性或組態。實際上,例示性實施例之隨後描述將為熟習此項技術者提供能夠實施例示性實施例之描述。應理解,可在不背離如所附申請專利範圍中所闡述之本申請案之精神及範疇的情況下對元件之功能及配置作出各種變化。
本文中描述用於基於自用戶端器件提供至視訊編碼器之回饋資訊(指示視訊資料具有缺失或損壞的視訊封包)來適應性地控制編碼器件(諸如視訊編碼器或其他類型之編碼器件)之系統及技術。舉例而言,視訊編碼器可使用回饋資訊來判定將經框內寫碼圖框(亦稱作圖像)及/或經框內寫碼圖塊適應性地插入至經編碼視訊位元串流中的時間。亦描述用於使編碼器件與共同參考時脈(例如由無線存取點或其他器件設定)以及其他編碼器件同步之系統及技術,其可有助於排程多個使用者環境中之視訊串流量。
視訊寫碼器件實施視訊壓縮技術以高效地編碼及解碼視訊資料。視訊壓縮技術可包括應用不同預測模式(包括空間預測(例如圖框內預測或框內預測)、時間預測(例如圖框間預測或框間預測)、層間預測(橫越視訊資料之不同層)及/或其他預測技術)以減少或移除為視訊序列所固有的冗餘。視訊編碼器可將原始視訊序列之每一圖像分割成被稱作視訊區塊或寫碼單元(下文更詳細地描述)之矩形區。可使用特定預測模式來編碼此等視訊區塊。
視訊區塊可以一或多種方式分成較小區塊之一或多個群組。區塊可包括寫碼樹型區塊、預測區塊、變換區塊及/或其他合適區塊。除非另外指定,否則通常對「區塊」之參考可指此類視訊區塊(例如寫碼樹型區塊、寫碼區塊、預測區塊、變換區塊或其他適當區塊或子區塊,如一般熟習此項技術者將理解)。此外,此等區塊中之每一者在本文中亦可互換地稱作「單元」(例如寫碼樹型單元(CTU)、寫碼單元、預測單元(PU)、變換單元(TU)或其類似者)。在一些情況下,單元可指示經編碼於位元串流中的寫碼邏輯單元,而區塊可指示一程序目標所指向的視訊圖框緩衝器之一部分。
對於框間預測模式,視訊編碼器可搜尋類似於經編碼於定位於另一時間位置中的圖框(或圖像)(稱作參考圖框或參考圖像)中之區塊的區塊。視訊編碼器可將搜尋限定於自待編碼之區塊的某一空間移位。可使用包括水平移位分量及豎直移位分量之二維(2D)運動向量來定位最佳匹配。對於框內預測模式,視訊編碼器可基於來自同一圖像內之先前經編碼相鄰區塊的資料使用空間預測技術而形成預測區塊。
視訊編碼器可判定預測誤差。舉例而言,可判定預測為經編碼區塊與預測區塊中之像素值之間的差。預測誤差亦可被稱作殘餘。視訊編碼器亦可將變換應用於預測誤差(例如離散餘弦變換(DCT)或其他適合變換),以產生變換係數。在變換之後,視訊編碼器可量化變換係數。經量化變換係數及運動向量可使用語法元素來表示且連同控制資訊一起形成視訊序列之經寫碼表示。在一些情形下,視訊編碼器可熵寫碼語法元素,藉此進一步減少其表示所需之位元數目。
視訊解碼器可使用上文所論述之語法元素及控制資訊來建構用於解碼當前圖框之預測性資料(例如預測性區塊)。舉例而言,視訊解碼器可將所預測區塊與經壓縮預測誤差相加。視訊解碼器可藉由使用經量化係數而加權變換基底函數來判定經壓縮預測誤差。經重建構圖框與原始圖框之間的差異被稱作重建構誤差。
本文中所描述之技術可應用於多種基於區塊之視訊寫碼技術中之一或多者,在該基於區塊之視訊寫碼技術中在逐塊基礎上重建構視訊。舉例而言,本文中所描述之技術可應用於現有視訊編解碼器中之任一者(例如高效視訊寫碼(HEVC)、進階視訊寫碼(AVC)或其他合適現有視訊編解碼器),且/或可為用於正被開發之任何視訊寫碼標準及/或未來視訊寫碼標準(諸如多功能視訊寫碼(VVC)、聯合探索模型(JEM)、VP9、AV1及/或在開發中或將開發之其他視訊寫碼標準)的高效寫碼工具。
圖1為說明包括編碼器件104及解碼器件112之系統100之實例的方塊圖。編碼器件104可為源器件之部分,且解碼器件112可為接收器件(亦稱作用戶端器件)之部分。源器件及/或接收器件可包括電子器件(諸如包括一或多個伺服器器件之伺服器系統(例如擴展實境(XR)分割呈現系統、視訊串流伺服器系統或其他適合伺服器系統)中之伺服器器件)、頭戴式顯示器(HMD)、抬頭指示器(HUD)、智慧型眼鏡(例如虛擬實境(VR)眼鏡、擴增實境(AR)眼鏡或其他智慧型眼鏡)、行動或固定電話手機(例如智慧型手機、蜂巢式電話或其類似者)、桌上型電腦、膝上型或筆記本電腦、平板電腦、機上盒、電視、攝影機、顯示器件、數位媒體播放器、視訊遊戲控制台、網際網路協定(IP)攝影機或任何其他適合電子器件。在一個說明性實例中,如圖2中所展示且下文更詳細地描述,源器件可包括伺服器,且接收器件可包括XR分割呈現系統中之XR用戶端器件(例如HMD或其他適合器件)。在一些實例中,源器件及接收器件可包括用於無線通信之一或多個無線收發器。
系統100之組件可包括電子電路或其他電子硬體及/或可使用電子電路或其他電子硬體來實施,且/或可包括電腦軟體、韌體或其任何組合及/或使用電腦軟體、韌體或其任何組合來實施以執行本文中所描述之各種操作,電子電路或其他電子硬體可包括一或多個可程式化電子電路(例如微處理器、圖形處理單元(GPU)、數位信號處理器(DSP)、中央處理單元(CPU)及/或其他適合電子電路)。
雖然系統100經展示為包括某些組件,但一般熟習此項技術者將瞭解,系統100可包括比圖1中所展示之組件更多或更少的組件。舉例而言,在一些情形下,系統100亦可包括除儲存器108及儲存器118以外之一或多個記憶體器件(例如一或多個隨機存取記憶體(RAM)組件、唯讀記憶體(ROM)組件、快取記憶體組件、緩衝器組件、資料庫組件及/或其他記憶體器件)、與一或多個記憶體器件通信及/或電連接至一或多個記憶體器件之一或多個處理器件(例如一或多個CPU、GPU及/或其他處理器件)、用於執行無線通信之一或多個無線介面(例如針對每一無線介面包括一或多個收發器及一基頻處理器)、用於執行經由一或多個固線式連接之通信的一或多個有線介面(例如,諸如通用串列匯串流排(USB)輸入之串列介面、照明連接器及/或其他有線介面),及/或圖1中未展示之其他組件。
本文中所描述之寫碼技術可適用於各種多媒體應用中之視訊寫碼,包括串流視訊傳輸(例如經由網際網路)、電視廣播或傳輸、編碼數位視訊以供儲存於資料儲存媒體上、解碼儲存於資料儲存媒體上之數位視訊或其他應用。在一些實例中,系統100可支援單向或雙向視訊傳輸以支援諸如視訊會議、視訊串流、視訊播放、視訊廣播、遊戲及/或視訊電話之應用。
編碼器件104 (或編碼器)可用以使用視訊寫碼標準或協定編碼視訊資料以產生經編碼視訊位元串流。視訊寫碼標準之實例包括ITU-T H.261、ISO/IEC MPEG-1 Visual、ITU-T H.262或ISO/IEC MPEG-2 Visual、ITU-T H.263、ISO/IEC MPEG-4 Visual、ITU-T H.264 (亦稱為ISO/IEC MPEG-4 AVC)(包括其可調式視訊寫碼(SVC)及多視圖視訊寫碼(MVC)擴展),及高效視訊寫碼(HEVC)或ITU-T H.265。存在涉及多層視訊寫碼的HEVC之各種擴展,包括範圍及螢幕內容寫碼擴展、3D視訊寫碼(3D-HEVC)及多視圖擴展(MV-HEVC)及可調式擴展(SHVC)。HEVC及其擴展已藉由ITU-T視訊寫碼專家組(VCEG)及ISO/IEC動畫專家組(MPEG)之視訊寫碼聯合協作小組(JCT-VC)以及3D視訊寫碼擴展開發聯合協作小組(JCT-3V)開發。
MPEG及ITU-T VCEG亦已形成聯合探索視訊小組(JVET)以探索及開發用於下一代視訊寫碼標準(稱為多功能視訊寫碼(VVC))之新的視訊寫碼工具。參考軟體稱為VVC測試模型(VTM)。VVC之目標為提供優於現有HEVC標準的壓縮效能之顯著改良,輔助較高品質視訊服務及新興應用(例如360°全向沉浸式多媒體、高動態範圍(HDR)視訊,以及其他)的部署。VP9及AV1為可使用之其他視訊寫碼標準。
可使用視訊編解碼器(諸如VTM、VVC、HEVC、AVC及/或其擴展)執行本文中所描述之許多實施例。然而,本文中所描述之技術及系統亦可適用於其他寫碼標準,諸如MPEG、JPEG (或用於靜止影像之其他寫碼標準)、VP9、AV1、其擴展,或已經可用或尚未可用或開發的其他適合寫碼標準。因此,雖然可參考特定視訊寫碼標準描述本文中所描述之技術及系統,但一般熟習此項技術者將瞭解,描述不應解譯為僅適用於彼特定標準。
參考圖1,視訊源102可將視訊資料提供至編碼器件104。視訊源102可為源器件之一部分,或可為除源器件以外的器件之一部分。視訊源102可包括視訊捕捉器件(例如視訊攝影機、攝影機電話、視訊電話或其類似者)、含有經儲存視訊之視訊存檔、提供視訊資料之視訊伺服器或內容提供商、自視訊伺服器或內容提供商接收視訊之視訊饋入介面、用於產生電腦圖形視訊資料之電腦圖形系統、此等源之組合或任何其他適合視訊源。
來自視訊源102之視訊資料可包括一或多個輸入圖像。圖像亦可被稱作「圖框」。在一些情況下,圖像或圖框為作為視訊之部分的靜態影像。在一些實例中,來自視訊源102之資料可為並非為視訊之一部分的靜態影像。在HEVC、VVC及其他視訊寫碼規範中,視訊序列可包括一系列圖像。圖像可包括三個樣本陣列,標示為SL 、SCb 及SCr 。SL 為亮度樣本之二維陣列,SCb 為Cb色訊樣本之二維陣列且SCr 為Cr色訊樣本之二維陣列。色訊樣本亦可在本文中被稱作「色度(chroma)」樣本。在其他情形下,圖像可為單色的且可僅包括亮度樣本陣列。
編碼器件104之編碼器引擎106 (或編碼器)編碼視訊資料以產生經編碼視訊位元串流。在一些實例中,經編碼視訊位元串流(或「視訊位元串流」或「位元串流」)為一系列之一或多個經寫碼視訊序列。經寫碼視訊序列(CVS)包括一系列存取單元(AU),其始於在基礎層中具有隨機存取點圖像且具有某些屬性之AU,直至且不包括在基礎層中具有隨機存取點圖像且具有某些屬性之下一AU。舉例而言,開始CVS的隨機存取點圖像之某些屬性可包括等於1之一RASL旗標(例如NoRaslOutputFlag)。否則,隨機存取點圖像(具有等於0之RASL旗標)不開始CVS。存取單元(AU)包括一或多個經寫碼圖像及對應於共用相同輸出時間之經寫碼圖像的控制資訊。圖像之經寫碼圖塊在位元串流層級經囊封至被稱作網路抽象層(NAL)單元之資料單元中。舉例而言,HEVC視訊位元串流可包括一或多個CVS,該一或多個CVS包括NAL單元。NAL單元中之每一者具有NAL單元標頭。在一個實例中,標頭對於H.264/AVC (除了多層擴展以外)為一個位元組且對於HEVC為兩個位元組。NAL單元標頭中之語法元素採取經指定位元,且因此對所有種類之系統及輸送層可見,諸如輸送串流、即時輸送(RTP)協定、檔案格式以及其他。
兩種類別之NAL單元存在於HEVC標準中,包括視訊寫碼層(VCL) NAL單元及非VCL NAL單元。VCL NAL單元包括形成經寫碼視訊位元串流之經寫碼圖像資料。舉例而言,形成經寫碼視訊位元串流之位元序列存在於VCL NAL單元中。VCL NAL單元可包括經寫碼圖像資料之一個圖塊或圖塊片段(下文描述),且非VCL NAL單元包括與一或多個經寫碼圖像有關的控制資訊。在一些情況下,可將NAL單元稱作封包。HEVC AU包括含有經寫碼圖像資料之VCL NAL單元及對應於經寫碼圖像資料之非VCL NAL單元(若存在)。除了其他資訊以外,非VCL NAL單元亦可含有具有與經編碼視訊位元串流相關之高層級資訊的參數集。舉例而言,參數集可包括視訊參數集(VPS)、序列參數集(SPS)及圖像參數集(PPS)。在一些情況下,每一圖塊或位元串流之其他部分可參考單一主動PPS、SPS及/或VPS以允許解碼器件112存取可用於解碼圖塊或位元串流之其他部分的資訊。
NAL單元可含有形成視訊資料之經寫碼表示(諸如,視訊中之圖像的經寫碼表示)的位元序列(例如經編碼視訊位元串流、位元串流之CVS或其類似者)。編碼器引擎106藉由將每一圖像分割成多個圖塊而產生圖像之經寫碼表示。一圖塊獨立於其他圖塊,以使得在不依賴於來自同一圖像內之其他圖塊之資料的情況下寫碼該圖塊中之資訊。一圖塊包括一或多個圖塊片段,該一或多個圖塊片段包括獨立圖塊片段及(若存在)取決於先前圖塊片段之一或多個相關圖塊片段。
在HEVC中,圖塊接著被分割成亮度樣本及色度樣本之寫碼樹型區塊(CTB)。亮度樣本之CTB及色度樣本之一或多個CTB連同樣本之語法被稱作寫碼樹型單元(CTU)。CTU亦可被稱作「樹型區塊」或「最大寫碼單元(LCU)」。CTU為用於HEVC編碼之基本處理單元。CTU可分成具有不同大小之多個寫碼單元(CU)。CU含有被稱作寫碼區塊(CB)之亮度及色度樣本陣列。
亮度及色度CB可進一步分成預測區塊(PB)。PB為對於框間預測或框內區塊複製預測(在可用或經啟用以供使用時)使用相同運動參數的亮度分量或色度分量之樣本的區塊。亮度PB及一或多個色度PB以及相關聯語法形成預測單元(PU)。對於框間預測,一組運動參數(例如一或多個運動向量、參考索引或其類似者)係在用於每一PU之位元串流中傳信且用於亮度PB及一或多個色度PB之框間預測。運動參數亦可被稱作運動資訊。CB亦可經分割成一或多個變換區塊(TB)。TB表示色彩分量之樣本之正方形區塊,對該正方形區塊應用同一二維變換以用於寫碼預測殘餘信號。變換單元(TU)表示亮度及色度樣本之TB及對應語法元素。
CU之大小對應於寫碼模式之大小,且可為正方形形狀。舉例而言,CU之大小可為8×8樣本、16×16樣本、32×32樣本、64×64樣本或達至對應CTU之大小的任何其他適當大小。片語「N×N」在本文中用於指代視訊區塊關於豎直及水平尺寸之像素尺寸(例如8像素×8像素)。可按列及行來排列區塊中之像素。在一些實施例中,區塊在水平方向上可不具有與在豎直方向上相同的數目個像素。與CU相關聯之語法資料可描述例如將CU分割成一或多個PU。分割模式可在CU經框內預測模式編碼抑或經框間預測模式編碼之間有所不同。PU可經分割成非正方形形狀。與CU相關聯之語法資料亦可描述例如根據CTU將CU分割成一或多個TU。TU可為正方形或非正方形形狀。
根據HEVC標準,可使用變換單元(TU)來執行變換。TU可針對不同CU而變化。可基於給定CU內之PU的大小而對TU設定大小。TU可與PU大小相同或小於PU。在一些實例中,可使用被稱為殘餘四分樹(RQT)之四分樹結構來將對應於CU之殘餘樣本細分成較小單元。RQT之葉節點可對應於TU。可變換與TU相關聯之像素差值以產生變換係數。變換係數可接著由編碼器引擎106量化。
一旦視訊資料之圖像經分割成CU,編碼器引擎106便使用預測模式來預測每一PU。接著自原始視訊資料減去預測單元或預測區塊以得到殘餘(如下描述)。對於每一CU,可使用語法資料在位元串流內部傳信預測模式。預測模式可包括框內預測(或圖像內預測)或框間預測(或圖像間預測)。框內預測使用圖像內之空間相鄰樣本之間的相關度。舉例而言,在使用框內預測之情況下,使用例如DC預測以發現PU之平均值、使用平面預測以使平面表面擬合於PU、使用方向預測以自相鄰資料外插或使用任何其他適合類型之預測,自同一圖像中之相鄰影像資料預測每一PU。框間預測使用圖像之間的時間相關度以便導出影像樣本之區塊的運動補償預測。舉例而言,在使用框間預測之情況下,使用運動補償預測自一或多個參考圖像(按輸出次序在當前圖像之前或之後)中之影像資料預測每一PU。可例如在CU層級決定是否使用圖像間預測抑或圖像內預測來寫碼圖像區域。
編碼器引擎106及解碼器引擎116 (在下文更詳細地描述)可經組態以根據VVC操作。根據VVC,視訊寫碼器(諸如編碼器引擎106及/或解碼器引擎116)將圖像分割成複數個寫碼樹型單元(CTU)(其中亮度樣本之CTB及色度樣本之一或多個CTB以及用於該等樣本之語法被稱作CTU)。視訊寫碼器可根據樹型結構分割CTU,諸如四分樹二元樹型(QTBT)結構或多類型樹型(MTT)結構。QTBT結構移除多個分割類型之概念,諸如HEVC之CU、PU以及TU之間的分離。QTBT結構包括兩個層級:包括根據四分樹分割而分割的第一層級,及根據二元樹分割而分割的第二層級。QTBT結構之根節點對應於CTU。二元樹之葉節點對應於寫碼單元(CU)。
在MTT分割結構中,區塊可使用四分樹分割、二元樹分割及一或多種類型之三元樹分割來分割。三元樹分割為區塊分成三個子區塊的分割。在一些實例中,三元樹分割在不經由中心分隔原始區塊之情況下將區塊分成三個子區塊。MTT中之分割類型(例如四分樹、二元樹及三元樹)可為對稱或不對稱的。
在一些實例中,視訊寫碼器可使用單個QTBT或MTT結構來表示明度及色訊分量中之每一者,而在其他實例中,視訊寫碼器可使用兩個或更多個QTBT或MTT結構,諸如用於明度分量之一個QTBT或MTT結構及用於兩個色訊分量之另一QTBT或MTT結構(或用於各別色訊分量之兩個QTBT及/或MTT結構)。
視訊寫碼器可經組態以使用根據HEVC之四分樹分割、QTBT分割、MTT分割,或其他分割結構。出於說明之目的,本文中之描述可指QTBT分割。然而,應理解,本發明之技術亦可應用於經組態以使用四元樹分割或其他類型之分割的視訊寫碼器。
在一些實例中,圖像之一或多個圖塊經指派圖塊類型。圖塊類型包括經框內寫碼圖塊(I圖塊)、經框間寫碼P圖塊及經框間寫碼B圖塊。I圖塊(經框內寫碼圖框,可獨立解碼)為僅藉由框內預測寫碼之圖像的圖塊,且因此可獨立解碼,此係因為I圖塊僅需要圖框內之資料來預測圖塊之任何預測單元或預測區塊。P圖塊(單向預測圖框)為可藉由框內預測及藉由單向框間預測寫碼之圖像的圖塊。藉由框內預測或框間預測寫碼P圖塊內之每一預測單元或預測區塊。當應用框間預測時,僅藉由一個參考圖像預測該預測單元或預測區塊,且因此參考樣本僅來自一個圖框之一個參考區。B圖塊(雙向預測性圖框)為可藉由框內預測及藉由框間預測(例如雙向預測或單向預測)寫碼之圖像的圖塊。B圖塊之預測單元或預測區塊可自兩個參考圖像雙向預測,其中每一圖像貢獻一個參考區,且兩個參考區之樣本集合經加權(例如藉由相等權重或藉由不同權重)以產生雙向預測區塊之預測信號。如上文所解釋,一個圖像之圖塊經獨立寫碼。在一些情況下,圖像可僅作為一個圖塊而經寫碼。
如上文所提及,圖像內預測使用圖像內之空間相鄰樣本之間的相關度。存在複數個框內預測模式(亦被稱作「框內模式」)。在一些實例中,亮度區塊之框內預測包括35個模式,包括平面模式、DC模式及33個角度模式(例如對角框內預測模式及鄰近於對角框內預測模式之角度模式)。框內預測之35個模式如下表1中所展示經索引化。在其他實例中,可定義可能不會已表示為33個角度模式的更多個包括預測角之框內模式。在其他實例中,與角度模式相關聯之預測角可能不同於用於HEVC中之彼等預測角。
框內預測模式 相關聯名稱
0 INTRA_PLANAR
1 INTRA_DC
2..34 INTRA_ANGULAR2..INTRA_ANGULAR34
表1-框內預測模式及相關聯名稱之規範
圖像間預測使用圖像之間的時間相關度以便導出影像樣本之區塊的運動補償預測。使用平移運動模型,先前經解碼圖像(參考圖像)中的區塊之位置係藉由運動向量(
Figure 02_image001
,
Figure 02_image003
)指示,其中
Figure 02_image005
指定水平移位且
Figure 02_image007
指定參考區塊相對於當前區塊之位置的豎直移位。在一些情況下,運動向量(
Figure 02_image001
,
Figure 02_image003
)可在整數樣本準確度(亦稱作整數準確度)中,在此情況下運動向量指向參考圖框之整數像素網格(或整數像素取樣網格)。在一些情況下,運動向量(
Figure 02_image001
,
Figure 02_image003
)可具有分數樣本準確度(亦稱作分數像素準確度或非整數準確度),以更準確地捕捉基礎物件之移動而不限於參考圖框之整數像素網格。運動向量之準確度可由運動向量之量化層級表達。舉例而言,量化層級可為整數準確度(例如1像素)或分數像素準確度(例如¼像素、½像素或其他子像素值)。當對應運動向量具有分數樣本準確度時,對參考圖像應用內插以導出預測信號。舉例而言,可對在整數位置處可用之樣本進行濾波(例如使用一或多個內插濾波器)以估計分數位置處之值。先前經解碼參考圖像由參考圖像清單的參考索引(refIdx)指示。運動向量及參考索引可被稱作運動參數。可執行兩種圖像間預測,包括單向預測及雙向預測。
在框間預測使用雙向預測情況下,使用兩組運動參數(
Figure 02_image011
,
Figure 02_image013
,
Figure 02_image015
Figure 02_image017
,
Figure 02_image019
Figure 02_image021
)來產生兩個運動補償預測(自相同參考圖像或可能自不同參考圖像)。舉例而言,藉由雙向預測,每一預測區塊使用兩個運動補償預測信號,且產生B預測單元。接著組合兩個運動補償預測以得到最終運動補償預測。舉例而言,可藉由取平均值來組合兩個運動補償預測。在另一實例中,可使用加權預測,在此情況下,不同權重可應用於每一運動補償預測。可用於雙向預測中之參考圖像儲存於兩個獨立的清單(表示為清單0及清單1)中。可使用運動估計程序在編碼器處導出運動參數。
在框間預測使用單向預測情況下,使用一組運動參數(
Figure 02_image011
,
Figure 02_image013
,
Figure 02_image015
)來自參考圖像產生運動補償預測。舉例而言,藉由單向預測,每一預測區塊使用至多一個運動補償預測信號,且產生P預測單元。
PU可包括與預測程序有關之資料(例如運動參數或其他適合資料)。舉例而言,當使用框內預測編碼PU時,PU可包括描述用於PU之框內預測模式的資料。作為另一實例,當使用框間預測來編碼PU時,PU可包括定義用於PU之運動向量的資料。定義用於PU之運動向量的資料可描述例如運動向量之水平分量(
Figure 02_image026
)、運動向量之豎直分量(
Figure 02_image028
)、用於運動向量之解析度(例如整數精確度、四分之一像素精確度或八分之一像素精確度)、運動向量指向之參考圖像、參考索引、用於運動向量之參考圖像清單(例如清單0、清單1或清單C),或其任何組合。
在使用框內及/或框間預測執行預測之後,編碼器件104可執行變換及量化。舉例而言,在預測之後,編碼器引擎106可計算對應於PU之殘餘值。殘餘值可包含經寫碼之像素之當前區塊(PU)與用於預測當前區塊之預測區塊(例如當前區塊之經預測版本)之間的像素差值。舉例而言,在產生預測區塊(例如使用框間預測或框內預測)之後,編碼器引擎106可藉由自當前區塊減去由預測單元產生之預測區塊來產生殘餘區塊。殘餘區塊包括量化當前區塊之像素值與預測區塊之像素值之間的差的一組像素差值。在一些實例中,殘餘區塊可以二維區塊格式(例如像素值之二維矩陣或陣列)表示。在此等實例中,殘餘區塊為像素值之二維表示。
使用區塊變換來變換可在執行預測之後剩餘的任何殘餘資料,此變換可基於離散餘弦變換、離散正弦變換、整數變換、小波變換、其他適合變換函數或其任何組合。在一些情況下,一或多個區塊變換(例如大小32×32、16×16、8×8、4×4或其他適合大小)可應用於每一CU中之殘餘資料。在一些實施例中,TU可用於藉由編碼器引擎106實施的變換及量化程序。給定之具有一或多個PU的CU亦可包括一或多個TU。如下文進一步詳細描述,可使用區塊變換將殘餘值變換成變換係數,且接著可使用TU來量化且掃描殘餘值以產生用於熵寫碼之串列化變換係數。
在一些實施例中,在使用CU之PU進行框內預測性或框間預測性寫碼之後,編碼器引擎106可計算CU之TU的殘餘資料。PU可包含空間域(或像素域)中之像素資料。在應用區塊變換之後,TU可包含變換域中之係數。如先前所提及,殘餘資料可對應於未經編碼圖像之像素與對應於PU之預測值之間的像素差值。編碼器引擎106可形成包括CU之殘餘資料的TU,且接著可變換TU以產生CU之變換係數。
編碼器引擎106可執行變換係數之量化。量化藉由量化變換係數以減少用以表示係數之資料的量來提供進一步壓縮。舉例而言,量化可減少與係數中之一些或所有相關聯的位元深度。在一個實例中,具有n位元值之係數可在量化期間經捨位為m位元值,其中n大於m。
一旦量化經執行,經寫碼視訊位元串流便包括經量化變換係數、預測資訊(例如預測模式、運動向量、區塊向量或其類似者)、分割資訊及任何其他適合資料,諸如其他語法資料。接著可藉由編碼器引擎106對經寫碼視訊位元串流之不同元素進行熵編碼。在一些實例中,編碼器引擎106可使用預定義掃描次序掃描經量化變換係數以產生可經熵編碼的串列化向量。在一些實例中,編碼器引擎106可執行適應性掃描。在掃描經量化變換係數以形成向量(例如一維向量)之後,編碼器引擎106可熵編碼向量。舉例而言,編碼器引擎106可使用上下文自適應性可變長度寫碼、上下文自適應性二進位算術寫碼、基於語法之上下文自適應性二進位算術寫碼、機率區間分割熵寫碼或另一適合的熵編碼技術。
編碼器件104之輸出110可經由通信鏈路120將構成經編碼視訊位元串流資料之NAL單元發送至接收器件之解碼器件112。解碼器件112之輸入114可接收NAL單元。通信鏈路120可包括由無線網路、有線網路或有線與無線網路之組合提供的通道。無線網路可包括任何無線介面或無線介面之組合,且可包括任何適合的無線網路(例如網際網路或其他廣域網路、基於封包之網路、WiFiTM 、射頻(RF)、UWB、WiFi-Direct、蜂巢式、長期演進(LTE)、WiMaxTM 或其類似者)。有線網路可包括任何有線介面(例如光纖、乙太網路、電力線乙太網路、經由同軸電纜之乙太網路、數位信號線(DSL)或其類似者)。可使用各種設備來實施有線及/或無線網路,該等設備諸如基地台、路由器、存取點、橋接器、閘道器、交換器或其類似者。可根據通信標準(諸如無線通信協定)調變經編碼視訊位元串流資料,且將其傳輸至接收器件。
在一些實例中,編碼器件104可將經編碼視訊位元串流資料儲存於儲存器108中。輸出110可自編碼器引擎106或自儲存器108擷取經編碼視訊位元串流資料。儲存器108可包括各種分散式或本端存取之資料儲存媒體中之任一者。舉例而言,儲存器108可包括硬碟機、儲存光碟、快閃記憶體、揮發性或非揮發性記憶體或用於儲存經編碼視訊資料之任何其他適合的數位儲存媒體。儲存器108亦可包括用於儲存參考圖像以供用於框間預測的經解碼圖像緩衝器(DPB)。在另一實例中,儲存器108可對應於檔案伺服器或可儲存由源器件產生之經編碼視訊的另一中間儲存器件。在此類情況下,包括解碼器件112之接收器件可經由串流傳輸或下載自儲存器件存取所儲存視訊資料。檔案伺服器可為能夠儲存經編碼視訊資料且將彼經編碼視訊資料傳輸至接收器件的任何類型之伺服器。實例檔案伺服器包括網頁伺服器(例如用於網站)、FTP伺服器、網路附接儲存(NAS)器件或本端磁碟機。接收器件可經由任何標準資料連接(包括網際網路連接)存取經編碼視訊資料。此標準資料連接可包括無線通道(例如Wi-Fi連接)、有線連接(例如DSL、電纜數據機等)或兩者之適合於存取儲存於檔案伺服器上之經編碼視訊資料的組合。經編碼視訊資料自儲存器108之傳輸可為串流傳輸、下載傳輸或其組合。
解碼器件112之輸入114接收經編碼視訊位元串流資料,且可將視訊位元串流資料提供至解碼器引擎116,或提供至儲存器118以供稍後由解碼器引擎116使用。舉例而言,儲存器118可包括用於儲存參考圖像以供用於框間預測的DPB。包括解碼器件112之接收器件可經由儲存器108接收待解碼的經編碼視訊資料。可根據通信標準(諸如無線通信協定)調變經編碼視訊資料,且將其傳輸至接收器件。用於傳輸經編碼視訊資料的通信媒體可包含任何無線或有線通信媒體,諸如射頻(RF)頻譜或一或多個實體傳輸線。通信媒體可形成基於封包之網路(諸如區域網路、廣域網路或諸如網際網路之全域網路)之部分。通信媒體可包括路由器、交換器、基地台或可能適用於促進自源器件至接收器件之通信的任何其他設備。
解碼器引擎116可藉由熵解碼(例如使用熵解碼器)及提取構成經編碼視訊資料之一或多個經寫碼視訊序列的元素來解碼經編碼視訊位元串流資料。解碼器引擎116可接著重新按比例調整經編碼視訊位元串流資料且對經編碼視訊位元串流資料執行反變換。接著將殘餘資料傳遞至解碼器引擎116之預測級。解碼器引擎116接著預測像素區塊(例如PU)。在一些實例中,預測經添加至反變換之輸出(殘餘資料)。
解碼器件112可將經解碼視訊輸出至視訊目的地器件122,其可包括用於將經解碼視訊資料顯示給內容之消費者的顯示器或其他輸出器件。在一些態樣中,視訊目的地器件122可為包括解碼器件112之接收器件的部分。在一些態樣中,視訊目的地器件122可為不同於接收器件之單獨器件的部分。
解碼器件112可監測自編碼器件104接收到之經編碼視訊位元串流,且可偵測封包何時缺失或損壞。舉例而言,視訊位元串流(或含有視訊位元串流之媒體檔案)可包括經編碼資料中之損壞或缺失的視訊圖框(或圖像)。缺失的圖框可在彼缺失的圖框之經編碼資料全部丟失時出現。損壞的圖框可以不同方式出現。舉例而言,圖框可在圖框之封包丟失時或在用於彼圖框之經編碼資料部分丟失時損壞。作為另一實例,圖框可在圖框為框間預測鏈之部分且框間預測鏈之某其他經編碼資料丟失或損壞以使得圖框無法正確地經解碼時損壞。舉例而言,若用於預測之一或多個參考圖框缺失或損壞,則依賴於該一或多個參考圖框的經框間寫碼圖框可能不可解碼。
回應於偵測到圖框、圖塊或其他視訊缺失封包,解碼器件112可將回饋資訊124發送至編碼器件104。回饋資訊124可指示視訊圖框、視訊圖塊、其一部分或其他視訊資訊缺失或損壞(在本文中稱為「損壞的視訊圖框」、「損壞的視訊圖塊」或其他類型的損壞的視訊資料)。編碼器引擎106可使用回饋資訊124來判定是否將經框內預測寫碼圖框(亦稱作經框內寫碼圖框或圖像)或經框內預測寫碼圖塊(亦稱作經框內寫碼圖塊)適應性地插入至經編碼視訊位元串流中。舉例而言,如下文更詳細地描述,編碼器引擎106可基於回饋資訊124將I圖框動態地插入至經編碼視訊位元串流中且/或可將I圖塊(例如單獨I圖塊及/或具有框內再新循環之I圖塊)動態地插入至經編碼視訊位元串流中。在一些情況下,回應於偵測到損壞的視訊資料,包括解碼器件112之接收器件可依賴於誤差消除(例如異步時間規整(ATW)誤差消除),直至接收到無誤差經框內寫碼圖框、圖塊或其他視訊資料。
在一些實施例中,視訊編碼器件104及/或視訊解碼器件112可分別與音訊編碼器件及音訊解碼器件整合。視訊編碼器件104及/或視訊解碼器件112亦可包括實施上文所描述之寫碼技術所必要的其他硬體或軟體,諸如一或多個微處理器、數位信號處理器(DSP)、特殊應用積體電路(ASIC)、場可程式化閘陣列(FPGA)、離散邏輯、軟體、硬體、韌體或其任何組合。視訊編碼器件104及視訊解碼器件112可整合為各別器件中之組合式編碼器/解碼器(編解碼器)之部分。
圖1中所展示之實例系統為可在本文中使用的一個說明性實例。用於使用本文中所描述之技術處理視訊資料的技術可藉由任何數位視訊編碼及/或解碼器件來執行。儘管通常本發明之技術由視訊編碼器件或視訊解碼器件來執行,但該等技術亦可由組合式視訊編碼器-解碼器(通常被稱作「編解碼器(CODEC)」)執行。此外,本發明之技術亦可由視訊預處理器執行。源器件及接收器件僅為此類寫碼器件之實例,其中源器件產生經編碼視訊資料以供傳輸至接收器件。在一些實例中,源及接收器件可以大體上對稱之方式操作,使得該等器件中之每一者包括視訊編碼及解碼組件。因此,實例系統可支援視訊器件之間的單向或雙向視訊傳輸,例如用於視訊串流、視訊播放、視訊廣播或視訊電話。
如上文所提及,在一些實例中,源器件可包括伺服器,且接收器件可包括擴展實境(XR)系統中之XR用戶端器件(例如HMD、智慧型眼鏡或其他適合之器件)。XR涵蓋擴增實境(AR)、虛擬實境(VR)、混合實境(MR)以及其他。此等形式之XR中之每一者允許使用者體驗虛擬內容或與虛擬內容互動,有時結合真實內容。
分割呈現無限XR系統為分割伺服器側與用戶端側(例如具有XR頭戴裝置(諸如HMD)之側)之間的XR處理負擔的一種類型之XR系統。圖2為說明包括伺服器側202 (對應於伺服器之組件)及用戶端側220 (對應於用戶端器件或接收器件之組件)的XR分割呈現系統200之實例的方塊圖。XR分割呈現系統200可分割伺服器側202與用戶端側220之間的XR應用(例如虛擬實境(VR)、擴增實境(AR)、混合實境(MR)或其他XR應用)之處理負擔。舉例而言,用戶端側220上之用戶端器件可經由無線連接(例如使用寬頻連接(諸如4G、5G或其類似者)、使用WiFi連接或其他無線連接)執行藉由位於伺服器側202上之計算資源強化的器件上處理。在一個實例中,伺服器側202可處於無線網路(例如寬頻網路,諸如5G網路)中之雲邊緣。
用戶端側220與伺服器側202之間的分割處理實現具相片真實感的高品質沉浸式體驗。藉由對伺服器側202執行內容呈現及其他處理來獲得各種優勢。舉例而言,伺服器側202比用戶端側220上之用戶端器件提供更高的處理能力及熱耗散能力,此在用戶端器件為可具有受限處理、電池及/或熱耗散特性的輕量XR頭戴裝置(例如頭戴式顯示器)時可為有利的。伺服器側202之更高處理能力可允許資源密集型應用(例如多個玩家遊戲、多個使用者視訊會議、多個使用者視訊應用以及其他)以高品質且以低潛時在伺服器側202處呈現且在用戶端側220處顯示。
伺服器側202包括各種組件,包括媒體源引擎204、視訊及音訊編碼器206、深度/運動編碼器208及速率/誤差適應性引擎210。用戶端側220亦包括各種組件,包括視訊及音訊解碼器222、深度/運動解碼器224、後處理引擎226及顯示器228。低潛時輸送鏈路212、214及216亦用於在伺服器側202與用戶端側220之間輸送資料。
XR分割呈現系統200之組件可包括電子電路或其他電子硬體及/或可使用電子電路或其他電子硬體來實施,且/或可包括電腦軟體、韌體或其任何組合及/或使用電腦軟體、韌體或其任何組合來實施以執行本文中所描述之各種操作,電子電路或其他電子硬體可包括一或多個可程式化電子電路(例如微處理器、圖形處理單元(GPU)、數位信號處理器(DSP)、中央處理單元(CPU)及/或其他適合電子電路)。
雖然XR分割呈現系統200展示為包括某些組件,但一般熟習此項技術者將瞭解,XR分割呈現系統200可包括比圖2中所展示之組件更多或更少的組件。舉例而言,XR分割呈現系統200亦可包括一或多個輸入器件及一或多個輸出器件(圖中未示)。在一些情形下,XR分割呈現系統200亦可包括一或多個記憶體器件(例如一或多個隨機存取記憶體(RAM)組件、唯讀記憶體(ROM)組件、快取記憶體組件、緩衝器組件、資料庫組件及/或其他記憶體器件)、與一或多個記憶體器件通信及/或電連接至一或多個記憶體器件之一或多個處理器件(例如一或多個CPU、GPU及/或其他處理器件)、用於執行無線通信之一或多個其他無線介面(例如針對每一無線介面包括一或多個收發器及一或多個基頻處理器)、用於執行經由一或多個固線式連接之通信的一或多個有線介面(例如,諸如通用串列匯串流排(USB)輸入之串列介面、照明連接器及/或其他有線介面),及/或圖2中未展示之其他組件。
在一些實例中,用戶端側220上之用戶端器件可包括XR頭戴裝置(諸如HMD)、XR眼鏡或具有顯示器之其他適合頭戴式器件。在一些情況下,XR頭戴裝置可執行顯示XR內容所需的用戶端側功能。在一些實例中,用戶端器件可包括多個器件,諸如與計算器件有線或無線通信之XR頭戴裝置,計算器件諸如智慧型手機、平板電腦、個人電腦及/或其他器件。舉例而言,計算器件可執行製備供呈現或顯示之XR內容所需的用戶端側處理功能(例如誤差消除、一或多個視訊圖框中之一或多個影像之解規整、最小化運動對光子潛時之處理以及其他功能),且XR頭戴裝置可基於藉由計算器件執行之處理而顯示內容。
使用用戶端器件,在XR頭戴裝置之使用者移動其頭部時,(例如XR頭戴裝置或以無線方式連接至該XR頭戴裝置或經由有線連接連接至該XR頭戴裝置之計算器件(圖中未示)的)器件上處理判定頭部姿勢,且經由低潛時輸送鏈路212將該姿勢發送至伺服器側202 (例如發送至媒體源引擎204,發送至視訊及音訊編碼器206,且/或發送至深度運動編碼器208),低潛時輸送鏈路212可包括高品質服務之通信鏈路(例如5G鏈路、WiFi鏈路或其他通信鏈路)。媒體源引擎204可使用頭部姿勢來部分地呈現下一視訊圖框及音訊圖框,且可將視訊及音訊圖框輸出至視訊及音訊編碼器206。媒體源引擎204亦可使用頭部姿勢來呈現深度及運動資訊,其可輸出至深度/運動編碼器208。
媒體源引擎204可包括任何媒體資料源,諸如遊戲引擎、串流媒體源、視訊點播內容源或其他媒體源。在一些實施方案中,媒體源引擎204可提供沉浸式媒體內容,該沉浸式媒體內容向用戶端器件之使用者提供沉浸式使用者體驗。沉浸式媒體內容包括之實例360度(或虛擬實境(VR))視訊、360度(或VR)視訊遊戲環境及其他虛擬或合成的可視化。藉由此沉浸式媒體內容,使用者之頭部姿勢(例如對應於XR頭戴裝置之位置及/或定向)反映相對於沉浸式內容的觀看方向及/或視場。舉例而言,在XR頭戴裝置之使用者向右轉頭時,媒體源引擎204可呈現沉浸式媒體內容以使得基於新頭部位置及定向將虛擬場景調整為使用者預期看見之位置。在一些情況下,(例如用於基於深度之功能的)眼睛凝視及/或眼睛焦點可用以判定使用者與沉浸式環境之互動。舉例而言,媒體源引擎204可提供並使用指示使用者在虛擬場景中注視之位置的眼睛凝視資訊,以判定場景中物件之選擇,以判定待強調之場景之一部分,以顯現場景中之強化內容,以使得場景中之物件(例如特徵)作出反應,及/或以基於眼睛凝視資訊執行其他操作。
視訊及音訊編碼器206編碼視訊及音訊資料,且經由低潛時輸送鏈路214將經編碼音訊-視訊資料發送至用戶端側220。亦可將經編碼資料發送至速率/誤差適應性引擎210。速率/誤差適應性引擎210可基於通信通道資訊調整位元率。深度/運動編碼器208可編碼深度及運動資料,且經由低潛時輸送鏈路216將經編碼深度及運動資料發送至用戶端側220。
用戶端側220上之視訊及音訊解碼器222解碼接收到的音訊-視訊資料。深度/運動解碼器224可解碼接收到的深度及運動資料。經解碼音訊-視訊資料及經解碼深度及運動資料可提供至後處理引擎226。基於最新頭部姿勢(其藉由用戶端器件在高頻率下產生),後處理引擎226可執行所需的任何其他呈現及調整。後處理可包括用於消除視訊及/或音訊資料中之誤差的誤差消除(例如異步時間規整(ATW)或其他類型的誤差消除)、間距規整(圖框-速率平滑化)、視訊圖框中之影像之解規整、對最小化運動對光子潛時之處理以及其他後處理功能。可對用戶端器件執行後處理以便滿足避免使用者不適所需的潛時臨限值(例如14毫秒(ms)、20 ms或其他適合之臨限值)。舉例而言,高運動對光子潛時可防止虛擬環境中之真實沉浸且可使得使用者感到不適。
運動對光子潛時為自使用者運動發生至對應內容經顯示之間的延遲。舉例而言,運動對光子潛時可包括使用者執行運動(例如向右或向左轉頭)與顯示器針對彼特定運動展示適當內容(例如向右或向左移動之後HMD上之內容)之間的時間長度。術語「光子」用於指定顯示系統之所有部分皆參與此程序,直至光子自顯示器發射為止。
最小化運動對光子潛時以便向使用者提供沉浸式體驗可為關鍵的。舉例而言,人類對此類潛時高度敏感,且在存在過多滯後之情況下可能感到不適或分不清方向。在一些情況下,對於VR內容,使用者可無法偵測到20 ms之滯後。低運動對光子潛時為重要的,以便提供良好使用者體驗且防止用戶端器件(例如頭戴式顯示器或HMD)之使用者經歷動暈症或其他不良反應。
在使用無限分割呈現系統(諸如XR分割呈現系統200)之情況下,由於用戶端將事件、姿勢、使用者互動及其他資訊發送至伺服器且伺服器基於資訊呈現XR場景、編碼內容且將所呈現內容發送至用戶端器件以供解碼及顯示,故可存在甚至更多潛時。此類潛時可被稱作運動對呈現對光子潛時。舉例而言,運動對呈現對光子潛時可為使用者執行運動、伺服器側202針對特定運動呈現適當內容、內容經提供至用戶端側220及顯示器針對彼特定運動展示適當內容之間的時間長度。
無限XR系統之視訊編碼及解碼部分可影響XR系統之潛時。舉例而言,具有更高位元率之視訊內容可能比較低位元率視訊內容需要更多用於傳輸之頻寬。由於一些XR內容之實時性質及此等系統之品質需求,可使用固定位元率(CBR)方案以便確保維持特定品質。在一些情況下,高位元率視訊圖框(例如I圖框及I圖塊,其大於經框間寫碼圖框)週期性地插入至經編碼視訊位元串流中,甚至在此頻率下可能不需要彼等圖框時亦如此。如上文所描述,I圖框為僅使用圖框內之資料藉由框內預測寫碼之圖框。I圖框獨立地可解碼,此係由於I圖框僅需要圖框內之資料來預測圖框之任何預測單元或預測區塊。P圖框可藉由框內預測且藉由單向框間預測來編碼,且B圖框可藉由框內預測、藉由單向框間預測或雙向框間預測來編碼。圖框可分割成多個圖塊,其中每一圖塊包括圖框之一或多個區塊。類似地,I圖塊(包括I圖框)為僅使用圖塊內之區塊寫碼之圖框的可獨立解碼圖塊。
描述用於基於自用戶端器件或其他器件(例如網路器件,諸如存取點(AP)、伺服器側202上之伺服器,或其他器件)提供至編碼器件之回饋資訊(諸如自解碼器件112提供至編碼器件104之回饋資訊124)而適應性地控制(例如分割呈現XR系統或其他視訊相關之系統中之)編碼器件的技術。在XR分割呈現系統中,編碼器件104可位於伺服器側(例如圖2中之伺服器側202)處,且解碼器件112可位於用戶端側(例如圖2中之用戶端側220)處。回饋資訊可向編碼器指示視訊資料缺失或損壞。雖然下文所描述之缺失或損壞的視訊資料之實例使用圖框及圖塊作為實例,但一般熟習此項技術者將瞭解,視訊之任何部分可偵測為具有缺失的封包,諸如圖框之群組、圖框之區塊(例如CU、PU或其他區塊),或其他適合之視訊資料。
由於各種因素,視訊資料可缺失或損壞。視訊通信系統可執行自視訊資料之編碼至解碼之各種步驟。舉例而言,視訊可首先藉由視訊編碼器(如上文所描述)壓縮以減小視訊之資料速率。經編碼視訊位元串流可接著分段為固定或可變長度封包且藉由其他資料類型(諸如音訊及/或元資料)多工。封包可經由網路直接發送,或可經歷通道編碼級(例如使用前向錯誤校正(FEC)及/或其他技術)以保護封包免受傳輸誤差影響。在接收器件(或用戶端器件)處,接收到的封包可經通道解碼(例如經FEC解碼)且解封裝,且所得經編碼視訊位元串流可提供至視訊解碼器以重建構初始視訊。
除非可提供保證服務品質(QoS)之專用鏈路在視訊源與接收器件之間為可用的,否則諸如由於由實體通道之障礙引起的串流量擁塞或位元誤差,資料封包可丟失或損壞。缺失圖框可在彼缺失圖框之所有經編碼資料(例如所有封包)丟失時出現。損壞的圖框(具有損壞的封包或資料)可在不同情況中出現。舉例而言,圖框可在用於彼圖框之經編碼資料之部分(例如一些封包,而非所有封包)丟失時損壞。此外,由於源處之編碼器件使用預測性寫碼,故壓縮的視訊串流對傳輸誤差敏感。舉例而言,由於使用時空預測,故單一錯誤回收之樣本可導致同一圖框中之及隨後圖框中之後續樣本(在錯誤回收樣本之後接收到)中的誤差。在一個實例中,圖框可在圖框為框間預測鏈之部分且框間預測鏈之某其他經編碼資料丟失(或損壞)以使得圖框無法正確地經解碼時損壞。若用於預測之一或多個參考圖框缺失或損壞,則依賴於該一或多個參考圖框的經框間寫碼圖框可能不可解碼。隨著預測鏈的繼續,誤差可能繼續傳播。舉例而言,先前經解碼圖框(參考圖框)中之誤差可導致當前圖框並未正確地經解碼,從而導致經解碼圖框之視訊資料之降級。視訊資料之降級將繼續傳播至後續經框間寫碼圖框,直至遇到I圖框或I圖塊。
在封包丟失或損壞時,視訊之品質降級且可發生不佳使用者體驗。舉例而言,播放實時多個使用者遊戲之XR頭戴裝置之使用者可在封包丟失或損壞時體驗不佳視訊品質。在另一實例中,觀看藉由串流服務提供之實時視訊或視訊的使用者可在封包丟失或損壞時體驗降級的視訊品質。不佳的或降級的視訊品質可由使用者視覺化為顯示的內容凍結(其中顯示的內容瞬時暫停)、顯示的內容抖動或不穩定的視覺效應、運動模糊以及其他。
在此等情況下,可藉由使用諸如自動重傳請求(ARQ)之技術允許丟失或受損封包重新傳輸來實現資料封包之無誤差遞送。然而,重新傳輸丟失或受損封包可導致某些即時應用(諸如XR應用、廣播應用或其他即時應用)不可接受之延遲。舉例而言,由於網路溢串流之考慮,廣播應用可能阻止重新傳輸算法之使用。
本文中所描述之技術提供視訊寫碼方案,其允許動態調整視訊位元串流以使得資料在傳輸誤差方面為可復原的。如下文更詳細地描述,編碼器件可使用來自用戶端器件(或其他器件,諸如網路器件)之指示視訊資料缺失或損壞的回饋資訊來判定將I圖框、I圖塊(具有或不具有框內再新循環)或其他視訊資料適應性地插入至經編碼視訊位元串流中的時間。I圖框或I圖塊之插入可終止誤差傳播,此係由於僅使用圖框內之視訊資料預測I圖框。
對於本文中所描述之技術中之任一者,用戶端器件可依賴於誤差消除直至接收到無誤差I圖框或I圖塊。在一個說明性實例中,異步時間規整(ATW)誤差消除可由基於XR之系統(諸如分割呈現XR系統)中之用戶端器件執行。ATW誤差消除可使用來自先前圖框之資訊來消除丟失的封包。舉例而言,使用ATW,前一圖框(在損壞或缺失的圖框之前的圖框)可經規整以產生當前圖框。可執行規整以反映自前一圖框經呈現以來的頭部運動。在一個實例中,可正好在應用時間規整之前針對用戶端器件擷取經更新定向資訊,且可計算變換矩陣,將眼睛緩存區(例如自使用者的眼睛中之一或兩者之位置及/或定向呈現的虛擬場景之立體圖)自其在前一圖框所處的位置規整至其在當前圖框經顯示時應處的位置。雖然新的所產生當前影像與由呈現引擎呈現之當前圖框並不完全相同,但由於針對頭部旋轉調整前一圖框,故相較於再次顯示前一圖框,將經規整前一圖框顯示為當前圖框將減少抖動及其他效應。
在一些情況下,在允許內容之用戶端側緩衝之應用中,可忍受用戶端器件長時間之誤差消除之效能。在一些情況下,若用戶端可緩衝內容,則用戶端可請求重新傳輸損壞的封包,在此情況下,可能不需要誤差消除(以潛時增加為代價)。雖然誤差消除(例如ATW誤差消除)可由用戶端器件執行直至接收到無誤差I圖框或I圖塊,但在校正具有缺失的封包之圖框、圖塊或其他視訊資料之效應時限制延遲可為有利的(且在一些應用中,甚至為關鍵的)。舉例而言,在潛時敏感之系統中,諸如在即時地遞送實時內容(例如在一些分割呈現XR系統、實時視訊串流及/或廣播以及其他中)之系統中,用戶端側器件可能不能夠本端地緩衝內容,且因此對可忍受之延遲的量可能存在限制。在此等系統中,用戶端器件必須執行誤差消除之時間量可能受限。舉例而言,可存在在一些潛時敏感系統中用戶端器件可由執行誤差消除之最大可接受時間量。
如下文更詳細地描述,本文中所描述之系統及技術可限制在接收I圖框、I圖塊或其他經框內寫碼資料時的延遲。舉例而言,為加快視訊位元串流之回收,可插入完整的I圖框或I圖塊以立即終止誤差傳播。在另一實例中,I圖塊可經由框內再新循環擴展,以便限制插入I圖框所需之位元率之峰值(及對應的品質下降)。可基於下文所描述之各種因素來定義包括於框內再新循環中之圖框之數目及/或框內再新循環中之I圖塊之大小,從而允許在限制位元率中之峰值與限制用戶端器件必須執行誤差消除之時間量之間作出折衷。框內再新循環之每一圖框可包括單一圖塊,或可包括多個圖塊。視訊內容具有位元率,其為視訊在每時間段輸送之資料的量(例如以位元/秒為單位)。高位元率導致更高頻寬消耗及更大的延遲。舉例而言,若可用頻寬小於位元率,則視訊之接收可延遲或完全停止。因此,位元率中之峰值可導致由用戶端器件接收到的資料(例如在XR分割呈現系統200中自伺服器側202發送至用戶端側220之視訊內容)中之延遲。避免位元率中之峰值可減少用於傳輸視訊內容所需之頻寬,且繼而可降低潛時,此在潛時敏感系統及應用中可為重要的。
現將描述用於基於指示已偵測到丟失或損壞的封包的回饋資訊而將I圖框或I圖塊(具有或不具有框內再新循環)動態地插入至經編碼視訊位元串流中的各種技術。在一些情況下,藉由使用受限視訊緩衝驗證程式(VBV)緩衝器大小或假想參考解碼器(HRD)緩衝器大小限制圖框大小,可將I圖框動態地插入至具有嚴格固定位元率(CBR)編碼結構之系統中之位元串流中。此技術假定編碼器可將圖框實行為I圖框。圖3為說明使用嚴格CBR之視訊寫碼結構之實例的圖。如圖3的嚴格CBR編碼結構中所展示,使用為IPPPIPPPI…之預設編碼結構(其中I指示I圖框且P指示P圖框),其具有一個參考圖框(因此,P圖框)。如上文所提及,可使用受限VBV緩衝器大小或受限HRD緩衝器大小來獲得嚴格CBR編碼結構。VBV及HRD (用於AVC、HEVC等)為理論視訊緩衝器模型,且用作一種約束以確保經編碼視訊位元串流可正確地經緩衝,且在解碼器器件處播放。按照定義,在VBV之輸入為順應串流時,VBV並不溢出或下溢,且因此,編碼器在編碼位元串流時必須符合VBV需求。對於CBR編碼結構,隨時間推移,解碼器件之緩衝器在固定資料速率下經填充。
在圖3的嚴格CBR編碼結構中,I圖框週期性地每四個圖框插入一個。使用來自用戶端器件(或其他器件)之指示視訊資料缺失或損壞的回饋資訊,編碼器件可使I圖框至編碼結構中之週期性插入鬆弛(或甚至去除)。舉例而言,在(例如XR分割呈現系統之伺服器中之)編碼器件接收指示視訊圖框之一或多個封包已丟失或損壞的回饋時,編碼器件可藉由強制待編碼之經編碼視訊位元串流中之下一圖框為I圖框來作出反應。
如上文所提及,基於回饋資訊之I圖框之動態插入允許I圖框插入之時段減小或在一些情況下甚至被去除。舉例而言,在一些情況下,相較於典型的嚴格CBR編碼結構(例如每35個圖框一個I圖框,而非每四個圖框一個I圖框),插入I圖框所處之時段可增大。在一些情況下,I圖框可僅回應於指示已偵測到丟失或損壞的視訊圖框之回饋而插入,在此情況下,由於I圖框將並不週期性地插入至位元串流中,故去除週期性插入。CBR結構中之受限VBV (或HRD)緩衝器大小可導致I圖框之峰值信號雜訊比(PSNR)瞬時下降,此係由於I圖框比P圖框具有更高的位元率。然而,鑒於某些系統(諸如XR系統)之高操作位元率,PSNR中之下降可為可忽略的。
圖4為說明具有嚴格CBR編碼結構之經編碼視訊位元串流中之動態I圖框插入之實例的圖。如圖4中所展示,CBR位元串流中之第一圖框402為週期性地插入至經編碼視訊位元串流中之初始I圖框。將I圖框插入至經編碼視訊位元串流中之週期性速率為每35個圖框一個之速率(如由第一I圖框402與下一I圖框408之間的間隙所展示)。一旦藉由用戶端器件偵測丟失的封包,編碼器件便可藉由對下一圖框執行框內預測來強制下一圖框為I圖框。舉例而言,用戶端器件可接收經編碼視訊位元串流,且可偵測視訊圖框404之一或多個封包缺失或損壞。在一些情況下,若圖塊之封包缺失或損壞,則整個圖塊並不可解碼。在一些情況下,標頭資訊可用以偵測一或多個封包是否缺失或損壞。舉例而言,編碼器件(或其他器件)可為每一封包添加標頭。標頭可包括指示標頭屬於哪一圖塊以及哪些區塊(例如巨集區塊、CTU、CTB或其他區塊)由圖塊覆蓋的資訊。在一個說明性實例中,標頭中之資訊可指示由封包覆蓋之第一及最末區塊。封包標頭中之資訊可由用戶端器件解析以偵測缺失的封包。用戶端器件可接著將具有視訊圖框具有缺失或丟失的封包之指示的回饋資訊(例如圖1中之回饋資訊124)發送至編碼器件。編碼器件可強制待使用框內預測寫碼之視訊圖框406,即使根據週期性I圖框插入,視訊圖框之解碼次序並未排程為I圖框。
在用戶端器件偵測視訊圖框404中之缺失或損壞的資料時以及在編碼器件可將經強制I圖框404插入至位元串流中時,存在延遲。延遲可基於偵測缺失或受損資料所耗費的時間量、將回饋資訊傳輸至編碼器件所耗費的時間量以及編碼器件針對視訊圖框406執行框內預測及其他寫碼程序所耗費的時間量。基於延遲,偵測為丟失或損壞的視訊圖框404與動態插入之經強制I圖框406之間存在間隙。如上文所提及,用戶端器件可對位元串流之視訊圖框(例如缺失或損壞的圖框404與經強制I圖框406之間的圖框)執行誤差消除,直至接收到經強制I圖框406。一旦接收到I圖框,用戶端器件便可停止執行誤差消除。
減小I圖框插入至位元串流中所處的速率可允許較低位元率圖框(例如P圖框及/或B圖框)包括於經編碼視訊位元串流中之更多情形。減小I圖框的數目可提供各種益處。舉例而言,減小I圖框的數目允許系統基於其他類型之圖框(例如P圖框及/或B圖框)之較低位元率在整體較低平均位元率下操作。
可使用回饋資訊執行的另一技術為將具有框內再新循環之I圖塊動態地插入至位元串流中。此技術假定編碼器可實行I圖框及框內再新循環。框內再新循環經由若干圖框擴展I圖框之經框內寫碼區塊。在具有四個I圖塊之I圖框之一個實例中,I圖框之一個I圖塊可包括於四個連續圖框中之每一者中,其中四個連續圖框之另一圖塊包括P圖框(或在一些情況下,包括B圖框)。在一些情況下,多個I圖塊可包括於框內再新循環之圖框中(或多個圖框中)。框內再新循環可有助於防止在完整的I圖框插入於位元串流中時出現圖框大小之峰值。圖框大小之峰值可增大潛時,導致抖動,且可導致其他難題(尤其對於XR相關應用)。防止圖框大小之峰值可有利於XR相關應用(例如提供沉浸式媒體消耗)、多個使用者應用以及相較於其他類型之媒體通常需要更高頻寬及/或更潛時敏感之其他應用。舉例而言,一些XR相關應用消耗大量資料且對延遲敏感,在此情況下,減小I圖框或I圖塊的數目可有助於減少潛時及頻寬消耗。
圖5為說明無誤差鏈路(未偵測到缺失或損壞的圖框)中之具有框內再新循環的視訊編碼結構之實例的圖。如所展示,位元串流中之第一圖框502為經寫碼至經編碼視訊位元串流中之初始I圖框。框內再新循環(包括框內再新循環504及框內再新循環506)可週期性地插入至位元串流中。框內再新循環504在四個圖框中分佈I圖塊,該四個圖框包括第一圖框504a、第二圖框504b、第三圖框504c及第四圖框504d。第一圖框504a之第一圖塊(最頂部圖塊)包括I圖塊,而第一圖框504a之第二、第三及第四圖塊包括P或B圖塊。第二圖框504b之第二圖塊(在第一圖塊正下方)包括I圖塊,而第二圖框504b之第一、第三及第四圖塊包括P或B圖塊。第三圖框504c之第三圖塊(在第二圖塊正下方)包括I圖塊,而第三圖框504c之第一、第二及第四圖塊包括P或B圖塊。第四圖框504d之第四圖塊(最底部圖塊)包括I圖塊,而第四圖框504d之第一、第二及第三圖塊包括P或B圖塊。
使用回饋資訊,框內再新循環之週期性插入可鬆弛(或甚至在一些情況下經去除)。舉例而言,若每一圖框分為N個圖塊,則框內再新循環可以更長時段(例如M個圖框)插入,其中每一循環覆蓋N個圖框,且M>>N。在基於回饋之框內再新插入之一個實例中,(例如分割呈現XR系統之伺服器處之)編碼器件可基於自用戶端器件接收到之回饋資訊識別具有缺失或損壞的封包的圖塊。在一些情況下,編碼器件可產生丟失的圖塊之掩碼。丟失的圖塊之掩碼可包括丟失區塊在圖像中之位置。舉例而言,掩碼可包括每像素之二進位值,其中二進位值對於丟失的圖塊中之像素為真實的(例如為1之值)且對於並非丟失的圖塊中之像素為虛假的(例如為0之值)。
伺服器可接著將經強制框內再新循環(包括框內再新圖塊之時段)及(在一些情況下)完整的經強制I圖框插入至位元串流之下一可用一或多個圖框中。在一些情況下,對於經強制框內再新循環,編碼器件可產生具有大於經編碼視訊位元串流之初始圖塊之大小之圖塊大小的圖塊。產生比位元串流中之初始圖塊更大的圖塊可確保儘可能迅速地補償已傳播至圖框之其他部分的任何誤差。舉例而言,框內再新循環之圖框中之位置N處的圖塊之圖塊大小可大於丟失或損壞的圖框中之位置N處的初始圖塊,此可確保完整的丟失圖塊及任何可能傳播運動由框內再新循環中之圖塊的經框內寫碼區塊覆蓋。將圖框劃分為多少圖塊之決定可為每圖框決定。在加強框內再新循環的情況下,編碼器件可判定框內再新循環將持續多長時間。舉例而言,參考圖7A (下文更詳細地描述),初始圖框702a具有六個圖塊。編碼器件可選擇在某一數目個圖框上插入框內再新循環(例如基於丟失或損壞的圖塊之位置,基於缺失或損壞的圖塊之偵測與框內再新循環之圖塊或I圖框之插入之間的延遲,以及其他因素)。舉例而言,基於決定在三個圖框上插入框內再新循環,編碼器件可將下一三個圖框(包括圖框706a、708a及710a)各自劃分為三個圖塊,且使得每一圖框中之一個圖塊為I圖塊,如圖7A中所展示。
如上文所提及,藉由產生比位元串流中之初始圖塊更大的圖塊,可儘可能迅速地補償已傳播至圖框之其他部分的任何誤差。經傳播誤差可包括傳播至具有丟失或損壞的資訊之圖框之後的由解碼器件處理之後續圖框的誤差。在一些情況下,由於將由解碼器件處理的後續圖框(隨著產生新的經強制I圖塊及/或I圖框)為依賴於框間預測之P圖框及/或B圖框,誤差可傳播。舉例而言,在此等情況下,由於藉由解碼器件使用具有丟失的圖塊之圖框來預測一或多個後續圖框,故誤差可傳播至未來P或B圖框。
如上文所提及,可取決於各種因素判定經強制框內再新循環之長度(例如圖框的數目)、每一框內再新圖框中之圖塊的數目、經強制框內再新循環之圖塊的大小及/或是否插入完整的經強制I圖框。此等因素之實例包括最大運動搜尋範圍(亦稱作運動搜尋範圍)、包括具有缺失封包之視訊圖塊的圖框中之圖塊的數目、視訊圖框中之缺失或損壞的視訊圖塊的位置、經強制框內再新循環或I圖框可基於回饋資訊而插入至經更新視訊位元串流中的時間、誤差消除可由用戶端器件執行之最大可接受時間量、其任何組合及/或其他適合因素。此等因素中之一或多者可用以判定經強制框內再新循環之長度、經強制框內再新循環之圖塊的大小及是否插入完整的經強制I圖框。插入經強制框內再新循環或I圖框的時間可基於缺失或損壞的圖塊之偵測與框內再新循環或I圖框之圖塊之插入之間的延遲(例如部分地基於編碼器件可作出反應且插入框內再新循環或I圖框的速度)。如上文所描述,延遲可基於偵測缺失或受損封包所耗費的時間量、將回饋資訊傳輸至編碼器件所耗費的時間量以及編碼器件針對視訊圖框406執行框內預測及其他寫碼程序所耗費的時間量。
除了用戶端器件可執行誤差消除之最大可接受時間量內之藉由(I圖框、I圖塊或其他視訊資料之)經框內寫碼區塊的傳播誤差(由圖框上之誤差之運動導致)以外,基於此等因素中之一或多者的決定亦可確保丟失的圖塊的覆蓋度。更大的框內再新循環可避免瞬時品質下降,但可能需要用戶端器件使誤差消除(例如ATW誤差消除)運行更多圖框。在編碼器件判定框內再新循環之長度之情況下,或為插入完整的I圖框,以便保持在用戶端器件可執行誤差消除之最大可接受時間量內。此解決方案可適用於潛時敏感系統(例如(諸如在一些分割呈現XR系統、實時視訊串流及/或廣播以及其他中)遞送實時內容之系統)。
在一個說明性實例中,假定缺失或損壞的圖塊在初始圖框中自列X橫跨至列Y,且最大運動搜尋範圍為d,則在一個圖框之後可添加自X-d覆蓋至Y+d之經框內寫碼區塊(例如I圖塊或經框內寫碼區塊之其他群組),在兩個圖框之後可添加自X-2d覆蓋至Y+2d之經框內寫碼區塊,等等。最大運動搜尋範圍(亦稱作運動搜尋範圍)可為距運動估計(框間預測)可用來搜尋類似區塊之當前區塊的最大距離。一般熟習此項技術者將瞭解,經框內寫碼區塊可基於運動搜尋範圍之其他倍數而添加至位元串流中,該等倍數諸如一個圖框之後之X-2d至Y+2d、兩個圖框之後之X-3d至Y+3d,或其他倍數。在一些情況下,最大運動搜尋範圍可為視訊編碼器之組態中之參數。在一些情況下,最大運動搜尋範圍可設定為預設值,且/或可作為輸入由使用者提供。在一個實例中,取決於上文所提及之因素,可產生相較於丟失或損壞的圖框中之位置N處的初始圖塊更大的圖框中之位置N處的圖塊。在另一實例中,可取決於各種因素將完整的經強制I圖框插入至經編碼視訊位元串流中。在下文相對於圖6A至圖6D、圖7A至圖7F及圖8A至圖8H描述實例。
圖6A至圖6D為說明使用動態I圖塊之視訊寫碼結構之實例的圖。圖6A至圖6D中所展示之組態用於包括四個圖塊之初始切分結構的圖框(具有缺失的封包)。如圖6A中所展示,初始圖框602a (其為包括於經編碼視訊位元串流中之圖框)包括缺失或損壞的圖塊604a。用戶端器件可偵測缺失或損壞的圖塊604a,且可將指示圖框602a包括丟失或損壞的圖塊的回饋資訊發送至編碼器件。編碼器件可開始在下一可用圖框606a中插入經強制框內再新循環或I圖框。圖框606a可為經編碼視訊位元串流中之緊接在圖框602a之後的下一圖框,或可(基於接收回饋資訊及產生框內再新時段所需之延遲)而為圖框602a之後的數個圖框。
如上文所提及,在以下各項時可考慮各種因素:判定經強制框內再新循環中之圖框的數目、判定經強制框內再新循環中之I圖塊的數目、判定經強制框內再新循環之I圖塊的大小及/或判定是否插入完整的經強制I圖框。在一些實例中,可被考慮之因素包括最大運動搜尋範圍、包括缺失或損壞的視訊圖塊之圖框中之圖塊的數目、視訊圖框中之缺失或損壞的視訊圖塊之位置、缺失或損壞的圖框之偵測與框內再新循環或I圖框之圖塊之插入之間的延遲、其任何組合(包括因素中之一或多者)及/或其他適合因素。在圖6A中,缺失或損壞的圖塊604a為初始圖框602a中之第一圖塊(最頂部圖塊)。基於圖塊604a為初始圖框602a中之最頂部圖塊且初始圖框602a中具有四個圖塊,編碼器件可在兩個圖框上插入框內再新循環,該兩個圖框包括第一框內再新圖框606a及第二框內再新圖框608a。框內再新循環包括兩個I圖塊,包括第一框內再新圖框606a中之圖塊605a及第二框內再新圖框608a中之圖塊607a。基於在兩個圖框上包括框內再新循環之判定,兩個圖框606a及608a中之每一者各自包括兩個圖塊,包括I圖塊(圖塊605a及圖塊607a)及P或B圖塊。
為補償由缺失或損壞的圖塊604a引起之誤差傳播,產生框內再新循環之圖塊(圖塊605a及圖塊607a)以使得其大於包括一或多個丟失的封包的初始圖塊。舉例而言,編碼器件可產生供用於插入在第一框內再新圖框606a中之圖塊605a,使得圖塊605a之大小使得圖塊605a包括第一框內再新圖框606a之數個區塊(例如CTU、CTB或其他區塊)。在一個實例中,圖塊605a可包括第一框內再新圖框606a之頂半部中之區塊。圖框606a中之另一圖塊(例如底半部中之區塊)可包括P圖塊或B圖塊。
編碼器件亦可產生供用於插入在第二框內再新圖框608a中之圖塊607a,其中圖塊607a之大小經定義為包括第二框內再新圖框608a之並未由圖塊605a覆蓋之其餘區塊(例如巨集區塊、CTU、CTB或其他區塊)。繼續圖塊605a包括第一框內再新圖框606a之頂半部中之區塊的上述實例,圖塊607a可包括第二框內再新圖框608a之底半部中之區塊。圖框608a中之另一圖塊(例如頂半部中之區塊)可包括P圖塊或B圖塊。圖框608a之後的圖框(包括圖框610a及612a)可包括P圖框或B圖框,直至另一缺失或損壞的圖框或圖塊由用戶端器件偵測到且I圖框、I圖塊或框內再新時段基於來自用戶端器件之回饋而插入至位元串流中。
在一個說明性實例中,圖框602a可具有1440×1440 (按照像素寬度×像素高度)之解析度,使得圖框602a具有1440列之像素。在此類實例中,缺失或損壞的圖塊604a可自圖框602a之第一列(最頂部列)(X=1)橫跨至列360(Y=360),且最大運動搜尋範圍可等於32 (d=32)。如上文所提及,對於自列X橫跨至列Y且具有為d之最大運動搜尋範圍的缺失或損壞的圖塊,可添加如下經框內寫碼區塊:一個圖框之後之自X-d覆蓋至Y+d(例如其在接收回饋之後採用編碼器一個圖框以開始插入框內再新循環,在此情況下丟失的圖框與框內再新循環之第一圖框之間沒有圖框),兩個圖框之後之X-2d至Y+2d(例如其在接收回饋之後採用編碼器兩個圖框以開始插入框內再新循環,在此情況下丟失的圖框與框內再新循環之第一圖框之間存在一個圖框),等等。使用此類實例且假定編碼器件能夠在一個圖框之後插入第一框內再新圖框606a,編碼器件可產生包括自第一列橫跨至列392 (Y+d=360+32=392)之經框內寫碼區塊的圖塊606a。應注意,由於第一列(X=1)為圖框602a之頂部列,故並不自第一列減去距離d。若編碼器件在兩個圖框之後插入第一框內再新圖框606a,則編碼器件可產生包括自第一列橫跨至列424 (Y+2d=360+64=424)之經框內寫碼區塊的圖塊606a。
在用戶端器件在接收到無誤差I圖框或I圖塊之前接收額外經框間寫碼圖框(例如P或B圖框)之情況下,用戶端器件可對經框間寫碼圖框執行誤差消除直至接收到無誤差I圖框或I圖塊。一旦I圖框或I圖塊之經框內寫碼區塊覆蓋丟失的圖塊,用戶端便可停止執行誤差消除。舉例而言,在圖6A中,用戶端器件可在第一框內再新圖框606a之後停止誤差消除,此係由於第一框內再新圖框606a中接收到無誤差I圖塊605a。
在圖6B中,初始圖框602b包括缺失或損壞的圖塊604b。用戶端器件可偵測缺失或損壞的圖塊604b,且可將回饋資訊發送至編碼器件,使得編碼器件意識到圖框602b包括丟失或損壞的圖塊。編碼器件可開始在下一可用圖框606b中插入經強制框內再新循環或I圖框,該下一可用圖框606b可為經編碼視訊位元串流中之緊接在圖框602b之後的下一圖框或(基於接收回饋資訊及產生框內再新時段所需之延遲)圖框602b之後的數個圖框。缺失或損壞的圖塊604b為初始圖框602b中之第二圖塊(緊接在最頂部圖塊下方之圖塊)。由於初始圖框602b中存在四個圖塊,且由於圖塊604b並非初始圖框602b中之最頂部圖塊或最底部圖塊,故由缺失或損壞的圖塊604b引起之誤差可傳播至一或多個後續圖框(包括圖框606b)之第一圖塊及/或第三圖塊(自圖框之頂部)。由於誤差可傳播至第一圖塊及/或第三圖塊,且因此可傳播至由圖框之大致四分之三覆蓋之區域,故框內再新循環無法如同圖6A之實例中所進行的那樣插入在兩個圖框(I區塊之兩個半部)上。舉例而言,框內再新為由圖框之常規切分方案控管的完整循環,此約束可實行動態I區塊之位置。在此等情況下,編碼器件可強制圖框606b為完整的I圖框,此可確保考慮到傳播誤差。圖框606b之後的圖框(包括圖框608b及610b)可包括P圖框或B圖框,直至另一缺失或損壞的圖框或圖塊由用戶端器件偵測到且I圖框、I圖塊或框內再新時段基於來自用戶端器件之回饋而插入至位元串流中。在圖6B之實例中,用戶端器件可執行誤差消除(若需要)直至接收到I圖框606b,且可在圖框606b之後停止誤差消除。
在一個說明性實例中,圖框602b可具有1440×1440 (具有1440列之像素)之解析度,缺失或損壞的圖塊604b可自圖框602b之列361 (X=361)橫跨至列720 (Y=720),且最大運動搜尋範圍可等於32 (d=32)。替代添加自列329 (X-d=361-32)橫跨至752 (Y+d=720+32)之圖框606b中之I圖塊(假定編碼器件能夠在一個圖框之後插入圖框606b),或編碼器件耗費更長時間插入圖框606b之其他大小,編碼器件可產生作為完整的I圖框之圖框606b,此係由於誤差可傳播至第一圖塊及/或第三圖塊,如上文所描述。舉例而言,如上文所提及,框內再新為由圖框之常規切分方案控管的完整循環,從而約束可實行動態I區塊之位置。由於此約束,覆蓋圖框602b之四分之三之圖塊無法由編碼器件插入。
在圖6C中,初始圖框602c包括缺失或損壞的圖塊604c,其可由用戶端器件偵測。用戶端器件可將回饋資訊發送至編碼器件以指示圖框602c包括丟失或損壞的圖塊。編碼器件可開始在下一可用圖框606c中插入經強制框內再新循環或I圖框,該下一可用圖框606c可為經編碼視訊位元串流中之緊接在圖框602c之後的下一圖框或圖框602c之後的數個圖框。缺失或損壞的圖塊604c為初始圖框602c中之第三圖塊(緊接在最底部圖塊上方的圖塊)。由於初始圖框602c中存在四個圖塊,且由於圖塊604c並非初始圖框602c中之最頂部圖塊或最底部圖塊,故來自缺失或損壞的圖塊604c之誤差可傳播至一或多個後續圖框(包括圖框606c)之第二圖塊及/或第四圖塊(自圖框之頂部)。編碼器件可強制圖框606c為完整的I圖框,以確保考慮到傳播誤差。圖框606c之後的圖框(包括圖框608c及610c)可包括P圖框或B圖框,直至另一缺失或損壞的圖框或圖塊由用戶端器件偵測到且I圖框、I圖塊或框內再新時段基於來自用戶端器件之回饋而插入至位元串流中。用戶端器件可執行誤差消除(若需要)直至接收到I圖框606c,且可在圖框606c之後停止誤差消除。
在一個說明性實例中,圖框602c可具有1440×1440 (具有1440列之像素)之解析度,缺失或損壞的圖塊604c可自圖框602c之列721 (X=721)橫跨至列1080 (Y=1080),且最大運動搜尋範圍可等於32 (d=32)。類似於上文相對於圖6B之實例,替代添加自列689 (X-d=721-32)橫跨至1112 (Y+d=1080+32)之圖框606c中之I圖塊(假定編碼器件能夠在一個圖框之後插入圖框606c),或編碼器件耗費更長時間插入圖框606c之其他大小,編碼器件可產生作為完整的I圖框之圖框606c。
在圖6D中,初始圖框602d包括缺失或損壞的圖塊604d。用戶端器件可偵測缺失或損壞的圖塊604d,且可將回饋資訊發送至編碼器件,因此編碼器件意識到圖框602a包括丟失或損壞的圖塊。編碼器件可開始在下一可用圖框606d中插入經強制框內再新循環或I圖框。圖框606d可為緊接在圖框602d之後的下一圖框,或可基於接收回饋資訊及產生框內再新時段所需之延遲而為圖框602d之後的數個圖框。
產生圖6D中之框內再新循環之圖塊(圖塊605d及圖塊607d),使得其大於圖框602d中之初始圖塊,以便補償(由圖框上之誤差之運動導致之)傳播誤差。在圖6D中,缺失或損壞的圖塊604d為初始圖框602d中之第四圖塊(最底部圖塊)。由於圖塊604d為初始圖框602d中之最底部圖塊,故編碼器件可在兩個圖框(包括第一框內再新圖框606d及第二框內再新圖框608d)上插入框內再新循環,在此情況下,兩個圖框606d及608d中之每一者各自包括兩個圖塊,包括I圖塊(圖塊605d及圖塊607d)及P或B圖塊。為考慮到傳播誤差,編碼器件可產生具有包括第一框內再新圖框606d之數個區塊(例如巨集區塊、CTU、CTB或其他區塊)之大小之用於第一框內再新圖框606d的圖塊605d。在一個實例中,圖塊605d可包括第一框內再新圖框606d之頂半部中之區塊。圖框606d中之另一圖塊(例如底半部中之區塊)可包括P圖塊或B圖塊。
編碼器件可產生供用於插入在第二框內再新圖框608d中之圖塊607d。圖塊607d之大小可經定義為包括第二框內再新圖框608d之並未由圖塊605d覆蓋之其餘區塊(例如巨集區塊、CTU、CTB或其他區塊)。繼續圖塊605d包括第一框內再新圖框606d之頂半部中之區塊的上述實例,圖塊607d可包括第二框內再新圖框608d之底半部中之區塊。圖框608d中之另一圖塊(例如頂半部中之區塊)可包括P圖塊或B圖塊。圖框608d之後的圖框(包括圖框610d及612d)可包括P圖框或B圖框,直至另一缺失或損壞的圖框或圖塊由用戶端器件偵測到且I圖框、I圖塊或框內再新時段基於來自用戶端器件之回饋而插入至位元串流中。用戶端器件可執行誤差消除(若需要)直至接收到I圖塊607d,且可在圖框608d之後(其為經框內寫碼區塊覆蓋丟失圖塊604d之時刻)停止誤差消除。
在一個說明性實例中,圖框602d可具有1440×1440之解析度。在此類實例中,缺失或損壞的圖塊604d可自圖框602a之列1081 (X=1081)橫跨至底部列1440 (Y=1440),且最大運動搜尋範圍可等於32 (d=32)。在一個實例中,假定編碼器件能夠在一個圖框之後插入第一框內再新圖框606d,編碼器件可產生包括自列1049 (X-d=1081-32=1049)橫跨至1440之經框內寫碼區塊的圖塊606d。應注意,距離d並未添加至圖框602d之最末列(Y=1440)中。若編碼器件在兩個圖框之後插入第一框內再新圖框606d,則編碼器件可產生包括自列1049 (X-d=1081-64=1017)橫跨至1440之經框內寫碼區塊的圖塊606d。
圖7A至圖7F為說明使用動態I圖塊之視訊寫碼結構之額外實例的圖。圖7A至圖7F中所展示之組態用於包括六個圖塊之初始切分結構之缺失或損壞的圖框。在圖7A中,包括於經編碼視訊位元串流中之初始圖框702a包括缺失或損壞的圖塊704a。用戶端器件可偵測缺失或損壞的圖塊704a,且可將指示圖框702a包括丟失或損壞的圖塊的回饋資訊發送至編碼器件。編碼器件可開始在下一可用圖框706a中插入經強制框內再新循環或I圖框,該下一可用圖框706a可為經編碼視訊位元串流中之緊接在圖框702a之後的下一圖框或可(基於接收回饋資訊及產生框內再新時段所需之延遲)而為圖框702a之後的數個圖框。
由於缺失或損壞的圖塊704a為初始圖框702a中之第一圖塊(最頂部圖塊)且基於初始圖框702a中具有六個圖塊,編碼器件可在三個圖框上插入框內再新循環,該三個圖框包括第一框內再新圖框706a、第二框內再新圖框708a及第三框內再新圖框710a。基於在三個圖框上包括框內再新循環之判定,三個圖框706a、708a及710a中之每一者各自包括三個圖塊,包括I圖塊(圖塊705a、圖塊707a及圖塊709a)及P或B圖塊。舉例而言,框內再新循環包括三個圖塊,包括圖塊705a、圖塊707a及圖塊709a。為考慮到由缺失或損壞的圖塊704a引起之誤差傳播,框內再新循環之圖塊(圖塊705a、圖塊707a及圖塊709a)大於包括一或多個丟失的封包的初始圖塊以便覆蓋傳播運動。舉例而言,編碼器件可產生供用於插入在第一框內再新圖框706a中之圖塊705a,使得圖塊705a之大小使得圖塊705a包括第一框內再新圖框706a之第一數目個區塊(例如巨集區塊、CTU、CTB或其他區塊),諸如第一框內再新圖框706a之頂部三分之一的區塊。圖框706a中之剩餘兩個圖塊(例如圖框706a之底部三分之二中之區塊)可包括P圖塊或B圖塊。
編碼器件可產生供用於插入在第二框內再新圖框708a中之圖塊707a,其具有經定義為包括第二框內再新圖框708a之第二數目個區塊(例如巨集區塊、CTU、CTB或其他區塊)之大小,該等第二數目個區塊諸如第二框內再新圖框708a之中間三分之一。第二框內再新圖框708a中之剩餘兩個圖塊(例如頂部三分之一及底部三分之一中之區塊)可包括P圖塊或B圖塊。編碼器件可進一步產生供用於插入在第三框內再新圖框710a中之圖塊709a,其中圖塊709a之大小經定義為包括第三框內再新圖框710a之並未由圖塊705a及圖塊707a覆蓋之其餘區塊(例如巨集區塊、CTU、CTB或其他區塊)。繼續圖塊705a包括第一框內再新圖框706a之頂部三分之一中之區塊且圖塊707a包括第二框內再新圖框708a之中間三分之一中之區塊的上述實例,圖塊709a可包括第三框內再新圖框710a之底部三分之一中之區塊。第三框內再新圖框710a中之剩餘兩個圖塊(例如頂部三分之二中之區塊)可包括P圖塊或B圖塊。圖框710a之後的圖框(包括圖框712a及714a)可包括P圖框或B圖框,直至另一缺失或損壞的圖框或圖塊由用戶端器件偵測到且I圖框、I圖塊或框內再新時段基於來自用戶端器件之回饋而插入至位元串流中。在圖7A之實例中,用戶端器件可執行誤差消除(若需要)直至接收到I圖塊705a,且可在圖框706a之後停止誤差消除。
在一個說明性實例中,圖框702a可具有1440×1440 (具有1440列之像素)之解析度。缺失或損壞的圖塊704a可自圖框702a之第一列(最頂部列)(X=1)橫跨至列240 (Y=240),且最大運動搜尋範圍可等於32 (d=32)。假定編碼器件能夠在一個圖框之後插入第一框內再新圖框706a,編碼器件可產生包括自第一列橫跨至列272 (Y+d=240+32)之經框內寫碼區塊的圖塊706a。由於第一列(X=1)為圖框702a之頂部列,故並不自第一列減去距離d。若編碼器件在兩個圖框之後插入第一框內再新圖框706a,則編碼器件可產生包括自第一列橫跨至列304 (Y+2d=240+64)之經框內寫碼區塊的圖塊706a。
參考圖7B,初始圖框702b包括缺失或損壞的圖塊704b。基於自用戶端器件接收到之指示圖框702b包括丟失或損壞的圖塊之回饋,編碼器件可開始在下一可用圖框706b (例如經編碼視訊位元串流中之緊接在圖框702b之後的下一圖框或圖框702b之後的數個圖框)插入經強制框內再新循環或I圖框。由於缺失或損壞的圖塊704b為初始圖框702b中之第二圖塊(緊接在最頂部圖塊下方之圖塊)且基於初始圖框702b中具有六個圖塊,編碼器件可在兩個圖框上插入框內再新循環,該兩個圖框包括第一框內再新圖框706b (具有圖塊705b)及第二框內再新圖框708b (具有圖塊707b)。基於框內再新循環橫跨在兩個圖框上,第一框內再新圖框706b及第二框內再新圖框708b各自包括兩個圖塊,包括I圖塊(圖塊705b及圖塊707b)及P或B圖塊。
為考慮到由缺失或損壞的圖塊704b引起之誤差傳播,編碼器件可產生圖塊705b以使得其包括第一框內再新圖框706b之第一數目個區塊(例如第一框內再新圖框706b之頂半部中之區塊)。圖框706b中之另一圖塊(例如圖框706b之底半部中之區塊)可包括P圖塊或B圖塊。編碼器件可產生供用於插入在第二框內再新圖框708b中之圖塊707b,其具有經定義為包括第二框內再新圖框708b之第二數目個區塊(例如第二框內再新圖框708b之底半部中之區塊)的大小。第二框內再新圖框708b中之另一圖塊(例如頂半部中之區塊)可包括P圖塊或B圖塊。圖框708b之後的圖框(包括圖框710b及712b)可包括P圖框或B圖框,直至另一缺失或損壞的圖框或圖塊由用戶端器件偵測到且I圖框、I圖塊或框內再新時段基於來自用戶端器件之回饋而插入至位元串流中。在圖7B之實例中,用戶端器件可執行誤差消除(若需要)直至接收到I圖塊705b,且可在圖框706b之後停止誤差消除。
在一個說明性實例中,圖框702b可具有1440×1440之解析度。缺失或損壞的圖塊704b可自圖框702b之列241 (X=241)橫跨至列480 (Y=480),且最大運動搜尋範圍可等於32 (d=32)。假定編碼器件能夠在一個圖框之後插入第一框內再新圖框706b,編碼器件可產生包括自列209 (X-d=241-32)橫跨至列512 (Y+d=480+32)之經框內寫碼區塊的圖塊706b。
在圖7C中,初始圖框702c包括缺失或損壞的圖塊704c。基於指示圖框702c包括丟失或損壞的圖塊之接收到的回饋,編碼器件可開始在下一可用圖框706c中插入經強制框內再新循環或I圖框。由於初始圖框702c中存在六個圖塊,且由於圖塊704c並非初始圖框702c中的兩個最頂部圖塊中之一者或兩個最底部圖塊中之一者,故來自缺失或損壞的圖塊704c之誤差可傳播至一或多個後續圖框(包括圖框706c)的整個部分。在此等情況下,編碼器件可強制圖框706c為完整的I圖框,以確保考慮到傳播誤差。圖框706c之後的圖框(包括圖框708c及710c)可包括P圖框或B圖框,直至另一缺失或損壞的圖框或圖塊由用戶端器件偵測到且I圖框、I圖塊或框內再新時段基於來自用戶端器件之回饋而插入至位元串流中。用戶端器件可執行誤差消除(若需要)直至接收到I圖框706c,且可在圖框706c之後停止誤差消除。
在一個說明性實例中,圖框702c可具有1440×1440之解析度,缺失或損壞的圖塊704c可自圖框702c之列481 (X=481)橫跨至列720 (Y=720),且最大運動搜尋範圍可等於32 (d=32)。替代添加自列449 (X-d=481-32)橫跨至752 (Y+d=720+32)之圖框706c中之I圖塊(假定編碼器件能夠在一個圖框之後插入圖框706c),或編碼器件耗費更長時間插入圖框706c之其他大小,編碼器件可產生作為完整的I圖框之圖框706c。
在圖7D中,初始圖框702d包括缺失或損壞的圖塊704d。基於自用戶端器件接收到之指示圖框702d包括丟失或損壞的圖塊的回饋,編碼器件可開始在下一可用圖框706d中插入經強制框內再新循環或I圖框。由於初始圖框702d中存在六個圖塊且圖塊704d並非初始圖框702d中的兩個最頂部圖塊中之一者或兩個最底部圖塊中之一者,故編碼器件可強制圖框706d為完整的I圖框,以確保考慮到可傳播至一或多個後續圖框之誤差。圖框706d之後的圖框(包括圖框708d及710d)可包括P圖框或B圖框,直至另一缺失或損壞的圖框或圖塊由用戶端器件偵測到且I圖框、I圖塊或框內再新時段基於來自用戶端器件之回饋而插入至位元串流中。用戶端器件可執行誤差消除(若需要)直至接收到I圖框706d,且可在圖框706d之後停止誤差消除。
在一個說明性實例中,圖框702d可具有1440×1440 (具有1440列之像素)之解析度,缺失或損壞的圖塊704d可自圖框702d之列721 (X=721)橫跨至列960 (Y=960),且最大運動搜尋範圍可等於32 (d=32)。類似於相對於圖7C論述之實例,替代添加橫跨圖框706d中之列之子集的I圖塊,編碼器件可產生作為完整的I圖框之圖框706d。
參考圖7E,初始圖框702e包括缺失或損壞的圖塊704e。基於指示圖框702e包括丟失或損壞的圖塊之接收到的回饋資訊,編碼器件可開始在下一可用圖框706e (例如經編碼視訊位元串流中之緊接在圖框702e之後的下一圖框或圖框702e之後的數個圖框)中插入經強制框內再新循環或I圖框。由於缺失或損壞的圖塊704e為初始圖框702e中之第五圖塊(緊接在最底部圖塊上方之圖塊)且基於初始圖框702e中具有六個圖塊,編碼器件可在兩個圖框上插入框內再新循環,該兩個圖框包括第一框內再新圖框706e (具有圖塊705e)及第二框內再新圖框708e (具有圖塊707e)。
為考慮到由缺失或損壞的圖塊704b引起之誤差傳播,編碼器件可產生圖塊705e以使得其包括第一框內再新圖框706e之第一數目個區塊(例如第一框內再新圖框706e之頂半部中之區塊)。圖框706e中之另一圖塊(例如圖框706e之底半部中之區塊)可包括P圖塊或B圖塊。編碼器件可產生具有經定義為包括第二框內再新圖框708e之第二數目個區塊(例如第二框內再新圖框708e之底半部中之區塊)之大小的圖塊707e。第二框內再新圖框608e中之另一圖塊(例如頂半部中之區塊)可包括P圖塊或B圖塊。圖框708e之後的圖框(包括圖框710e及712e)可包括P圖框或B圖框,直至另一缺失或損壞的圖框或圖塊由用戶端器件偵測到且I圖框、I圖塊或框內再新時段基於來自用戶端器件之回饋而插入至位元串流中。用戶端器件可執行誤差消除(若需要)直至接收到I圖塊705e,且可在圖框706e之後停止誤差消除。
在一個說明性實例中,圖框702e可具有1440×1440之解析度。缺失或損壞的圖塊704e可自圖框702e之列961 (X=961)橫跨至列1200 (Y=1200),且最大運動搜尋範圍可等於32 (d=32)。假定編碼器件能夠在一個圖框之後插入第一框內再新圖框706e,編碼器件可產生包括自列929 (X-d=961-32)橫跨至列1232 (Y+d=1200+32)之經框內寫碼區塊的圖塊706e。
在圖7F中,初始圖框702f包括缺失或損壞的圖塊704f。基於指示圖框702f包括丟失或損壞的圖塊之接收到的回饋資訊,編碼器件可開始在下一可用圖框706f中插入經強制框內再新循環或I圖框。由於缺失或損壞的圖塊704a為初始圖框702f中之第六圖塊(最底部圖塊)且基於初始圖框702f中具有六個圖塊,編碼器件可在三個圖框上插入框內再新循環,該三個圖框包括第一框內再新圖框706f (包括圖塊705f)、第二框內再新圖框708f (包括圖塊707f)及第三框內再新圖框710f (包括圖塊709f)。由於框內再新循環橫跨在三個圖框上,故圖框706、708f及710f各自具有三個圖塊,包括I圖塊(圖塊705f、圖塊707f及圖塊709f)及P或B圖塊。為考慮到由缺失或損壞的圖塊704f引起之誤差傳播,編碼器件可產生供用於插入在第一框內再新圖框706f中之圖塊705f,使得圖塊705f之大小包括第一框內再新圖框706f之第一數目個區塊(例如第一框內再新圖框706f之頂部三分之一中之區塊)。圖框706f中之剩餘兩個圖塊(例如圖框706f之底部三分之二中之區塊)可包括P圖塊或B圖塊。
編碼器件可產生供用於插入在第二框內再新圖框708a中之圖塊707f,其具有經定義為包括第二框內再新圖框708f之第二數目個區塊(例如第二框內再新圖框708f之中間三分之一中之區塊)的大小。第二框內再新圖框708f中之剩餘兩個圖塊(例如頂部三分之一及底部三分之一中之區塊)可包括P圖塊或B圖塊。編碼器件可進一步產生供用於插入在第三框內再新圖框710f中之圖塊709f,其中圖塊709f之大小經定義為包括第三框內再新圖框710f之並未由圖塊705f及圖塊707f覆蓋之其餘區塊。繼續上述實例,圖塊709f可包括第三框內再新圖框710f之底部三分之一中之區塊。第三框內再新圖框710f中之另外兩個圖塊(例如頂部三分之二中之區塊)可包括P圖塊或B圖塊。圖框710f之後的圖框(包括圖框712f及714f)可包括P圖框或B圖框,直至另一缺失或損壞的圖框或圖塊由用戶端器件偵測到且I圖框、I圖塊或框內再新時段基於來自用戶端器件之回饋而插入至位元串流中。用戶端器件可執行誤差消除(若需要)直至接收到I圖塊709f,即在經框內寫碼區塊覆蓋丟失的圖塊704f圖塊時。用戶端器件可在圖框706f之後停止誤差消除。
在一個說明性實例中,圖框702f可具有1440×1440 (具有1440列之像素)之解析度。缺失或損壞的圖塊704f可自圖框702a之第一列(最頂部列)(X=1)橫跨至列240 (Y=240),且最大運動搜尋範圍可等於32 (d=32)。假定編碼器件能夠在一個圖框之後插入第一框內再新圖框706f,編碼器件可產生包括自第一列橫跨至列272 (Y+d=240+32)之經框內寫碼區塊的圖塊706f。距離d並未添加至圖框702f之最末列(Y=1440)中。
圖8A至圖8H為說明使用動態I圖塊之視訊寫碼結構之額外實例的圖。圖8A至圖8H中所展示之組態用於包括八個圖塊之初始切分結構之缺失或損壞的圖框。圖8A至圖8H中之圖框可具有1440×1440 (具有1440列之像素)之解析度,且最大運動搜尋範圍可等於32 (d=32)。類似於上文相對於圖6A至圖6D及圖7A至圖7F所描述的實例,可使用上文所描述的各種因素中之一或多者來判定經強制框內再新循環中之圖框的數目、每一框內再新圖框中之圖塊的數目、經強制框內再新循環之框內再新圖框中之I圖塊的大小及是否插入完整的經強制I圖框。舉例而言,在圖8A中,基於缺失或損壞的圖塊為初始圖框802a中之第一圖塊(最頂部圖塊)及初始圖框中存在八個圖塊之事實,編碼器件可在四個圖框(包括第一框內再新圖框806a及第二框內再新圖框808a,其中圖8A中未展示第三及第四框內再新圖框)上插入框內再新循環。在此類實例中,在框內再新循環橫跨在四個圖框上時,框內再新圖框806a及808a將各自包括四個圖塊,包括I圖塊(例如圖塊805a及圖塊807a)及P或B圖塊。在一個說明性實例中,在圖8A中,缺失或損壞的圖塊可在初始圖框802a中自第一列(X=1)橫跨至列180 (Y=180)。使用根據上述之X-d至Y+d (在一個圖框之後)、X-2d至Y+2d (在兩個圖框之後)等配方,缺失或損壞的圖塊覆蓋初始圖框802a中之列1至列180,且誤差可傳播至列212 (180+32=212)。可產生I圖塊805a以使得I圖塊805a之框內區塊在第一框內再新圖框806a中自列1橫跨至列360,以便確保清除誤差(自列1至列212)。可產生I圖塊807a以使得I圖塊807a之框內區塊在第二框內再新圖框808a中自列361橫跨至列720。
圖8H中展示類似組態,其中編碼器件可基於缺失或損壞的圖塊為初始圖框中之最末圖塊(最底部圖塊)而在四個圖框上插入框內再新循環。舉例而言,缺失或損壞的圖塊可在初始圖框中自列1261 (X=1261)橫跨至列1440 (Y=1440),且可產生四個框內再新圖框中之I圖塊以使得I圖塊之框內區塊各自橫跨360個列(以覆蓋初始圖框之全部1440個列)。
參考圖8B,基於缺失或損壞的圖塊804b為初始圖框802b中之第二圖塊(緊接在最頂部圖塊下方之圖塊)及初始圖框中存在八個圖塊之事實,編碼器件可在三個圖框(圖8B中僅展示第一框內再新圖框806b及第二框內再新圖框808b)上插入框內再新循環。在一個說明性實例中,在圖8B中,缺失或損壞的圖塊804b可在初始圖框802b中自列181 (X=181)橫跨至列360 (Y=360),且可產生第一框內再新圖框806b中之I圖塊805b以使得I圖塊805b之框內區塊在第一框內再新圖框806b中自列1橫跨至480。可產生第二框內再新圖框808b中之I圖塊807b以使得I圖塊807b之框內區塊在第二框內再新圖框808b中自列481橫跨至列960。可產生第三框內再新圖框中之I圖塊(圖中未示)以使得I圖塊之框內區塊在第三框內再新圖框中自列961橫跨至列1440。圖8G中展示類似組態,其中編碼器件可基於缺失或損壞的圖塊為初始圖框中之第七圖塊(緊接在最底部圖塊上方之圖塊)而在三個圖框上插入框內再新循環。舉例而言,缺失或損壞的圖塊可在初始圖框中自列1081 (X=1081)橫跨至列1260 (Y=1260),且可產生三個框內再新圖框中之I圖塊以使得I圖塊之框內區塊各自橫跨480個列(以覆蓋初始圖框之全部1440個列)。
在圖8C中,基於缺失或損壞的圖塊804c為初始圖框802c中之第三圖塊(緊接在兩個最頂部圖塊下方之圖塊)及初始圖框中存在八個圖塊之事實,編碼器件可在兩個圖框(包括第一框內再新圖框806c及第二框內再新圖框808c)上插入框內再新循環。在一個說明性實例中,在圖8C中,缺失或損壞的圖塊804c可在初始圖框802c中自列361 (X=361)橫跨至列540 (Y=540)。可產生第一框內再新圖框806c中之I圖塊805c以使得I圖塊805c之框內區塊橫跨第一框內再新圖框806c之頂半部(自列1至列720)。可產生第二框內再新圖框808c中之I圖塊807c以使得I圖塊807c之框內區塊橫跨第二框內再新圖框808c之底半部(自列721至列1440)。圖8F中展示類似組態,其中編碼器件可基於缺失或損壞的圖塊為初始圖框中之第六圖塊(緊接在兩個最底部圖塊上方之圖塊)而在兩個圖框上插入框內再新循環。舉例而言,缺失或損壞的圖塊可在初始圖框中自列901 (X=901)橫跨至列1080 (Y=1080),且可產生三個框內再新圖框中之I圖塊以使得I圖塊之框內區塊各自橫跨720個列(以覆蓋初始圖框之全部1440個列)。
在圖8D中,基於缺失或損壞的圖塊804d為初始圖框802d中之第四圖塊(緊接在三個最頂部圖塊下方之圖塊)及初始圖框中存在八個圖塊之事實,編碼器件可插入完整I圖框806d。舉例而言,由於缺失或損壞的圖塊804d處於圖框802d之中間中,故由缺失或損壞的圖塊804d引起之運動補償誤差可傳播至一或多個後續圖框之整個部分。在一個說明性實例中,參考圖8D,缺失或損壞的圖塊804d可在初始圖框802d中自列541 (X=541)橫跨至列720 (Y=720)可產生I圖框806d以使得I圖框806d之框內區塊橫跨整個圖框(自列1至列1440)。圖8E中展示類似組態,其中基於缺失或損壞的圖塊為初始圖框中之第五圖塊(緊接在三個最底部圖塊上方之圖塊)而產生完整I圖框。舉例而言,缺失或損壞的圖塊可在初始圖框中自列721 (X=721)橫跨至列900 (Y=900),且可產生I圖框以使得I圖框之框內區塊橫跨整個圖框(自列1至列1440)。
如上文所提及,上文所描述的各種因素中之任何一或多者(以任何組合)可用以判定經強制框內再新循環中之圖框的數目、每一框內再新圖框中之圖塊的數目、經強制框內再新循環之框內再新圖框中之I圖塊的大小及/或是否插入完整的經強制I圖框。在一個實例中,若視訊圖框之第一圖塊中出現誤差,則無論視訊圖框中出現損壞或缺失的資料之圖塊的數目為多少,皆可使用框內再新循環來在數個後續框內再新循環圖框上提供完整的I圖框。在另一實例中,若缺失或受損圖塊並非視訊圖框之第一圖塊,則可將完整的經強制I圖框添加至位元串流中。在此等實例中,視訊圖框中之圖塊的數目並非判定待插入至位元串流中之經框內寫碼資料之特性的因素。
可回應於接收回饋資訊而執行的另一技術為將單獨I圖塊動態地插入至視訊圖框中。舉例而言,若編碼器件允許,則編碼器件可將單獨I圖塊插入於位元串流之受誤差影響之部分中。此技術可採用可以將特定圖塊實行為經框內寫碼圖塊之編碼器。如之前所提及,給定圖框中之誤差可歸因於缺失或損壞的圖塊,且在一些情況下,亦可包括由缺失或損壞的圖塊導致之傳播預測誤差。傳播運動取決於運動搜尋範圍(其中最大搜尋範圍為d,如上文所提及),及編碼器件獲得指示缺失或損壞的圖塊之回饋資訊的時間及編碼器件開始插入I圖塊的時間。插入單獨I圖塊並不改變視訊圖框之切分結構,且可適用於任何編碼組態(例如嚴格CBR或循環框內再新)。在一些情況下,編碼器件可決定在多個圖框上插入所需I圖塊,以免造成品質瞬時下降。舉例而言,若編碼器件將完整I圖框插入於位元串流中,則其將引入位元率峰值以維持視訊之品質,此增大所傳輸的視訊資料的量且可在接收視訊資料時導致延遲。在另一實例中,編碼器件可插入低品質I圖框(例如處於更小的圖框大小)以避免位元率峰值,此降低視訊之品質。此等低效率皆可藉由在多個圖框上插入I圖塊來解決。當在多個圖框上插入I圖塊時,編碼器件可考慮(例如藉由增大I圖塊之大小)覆蓋傳播誤差之需要。如之前所提及,用戶端器件可執行誤差消除(例如ATW誤差消除)直至清除具有傳播誤差之丟失的圖塊。
圖9A及圖9B為說明使用動態單獨I圖塊之視訊寫碼結構之實例的圖。在圖9A中,視訊位元串流中之圖框902a包括P圖塊及/或B圖塊。在圖框906a中,具有缺失的封包的圖塊904a由用戶端器件偵測。用戶端器件可將指示圖框906a包括損壞的圖塊之回饋資訊發送至編碼器件。基於偵測到損壞的圖塊904a與編碼器件可開始將經強制I圖塊插入至位元串流中之間的延遲,編碼器件開始在圖框912a處插入I圖塊909a。
由於自偵測到損壞的圖塊904a至編碼器件插入I圖塊909a存在兩個圖框延遲,故用戶端器件繼續接收具有P圖塊及/或B圖塊之圖框(包括圖框908a及圖框910a)。由損壞的圖塊904a引起之預測誤差傳播至後續圖框中,該等後續圖框包括圖框908a及910a。可自損壞的圖塊904a預測之視訊圖框之任何區域可基於損壞的圖塊904a中之損壞的封包資料而具有損壞的視訊資料(例如視訊寫碼假影)。如所展示,圖框908a包括傳播誤差905a,且圖框910a包括傳播誤差907a。舉例而言,傳播誤差905a係由用戶端之解碼器件使用用於預測之損壞的圖塊904a (其包括缺失的封包)引起。類似地,傳播誤差907a係由用戶端之解碼器件使用損壞的圖塊904a及/或用於預測之其他損壞的圖塊(其可由損壞的圖塊904a之使用而引起)引起。
如上文所提及,編碼器件開始在圖框912a處插入I圖塊909a。如圖9A之實例中所展示,編碼器件決定清除具有一個圖框中之I圖塊之所有傳播誤差(而非經由多個圖框擴展I圖塊)。此解決方案可防止誤差進一步傳播至後續圖框,且可限制用以停止誤差傳播所需的I圖塊的數目。雖然在圖9A中I圖塊909a展示為包括三個I圖塊,但單一I圖塊可插入於圖框912a (或其他圖框)中以覆蓋預測誤差。
參考圖9B,視訊位元串流中之圖框902b包括P圖塊及/或B圖塊。在圖框906b中,藉由用戶端器件偵測具有缺失的封包的圖塊904b。用戶端器件可將指示圖框906b包括損壞的圖塊之回饋資訊發送至編碼器件。基於偵測到損壞的圖塊904b與編碼器件可開始將經強制I圖塊插入至位元串流中之間的延遲,編碼器件開始在圖框910b處插入I圖塊909b。
由於自偵測到損壞的圖塊904b至編碼器件插入I圖塊907b存在一個圖框延遲,故用戶端器件接收具有P圖塊及/或B圖塊之圖框908b。由缺失或損壞的圖塊904b引起之預測誤差傳播至後續圖框中,該等後續圖框包括圖框908b及910b。如所展示,圖框908b包括傳播誤差905b。由於I圖塊909b僅包括兩個圖塊,故圖框910b包括殘餘傳播誤差911b。傳播誤差905b係由用戶端之解碼器件使用用於預測之圖塊904b引起,且傳播誤差907b係由圖塊904b及/或用於預測之其他損壞的圖塊(由圖塊904b之使用引起)之使用引起。
編碼器件開始在圖框910b處插入I圖塊909b。如圖9B中所展示,編碼器件決定清除兩個圖框上之具有I圖塊之所有傳播誤差,從而導致殘餘傳播誤差911b。圖框912b中之I圖塊911b包括用以補償殘餘傳播誤差911b之兩個圖塊。相較於根據圖9A之實例,需要額外I圖塊(如藉由包括兩個圖塊之圖框912b中之I圖塊911b展示)以停止誤差傳播。在多個圖框上插入I圖塊909b及911b可(例如基於可由整個I圖框之插入引起之位元率峰值而)防止經編碼視訊位元串流中之品質之瞬時下降。
在一些實例中,更多先進方案(例如標準順應性方案)可每一圖框或以特定數目之圖框改變圖塊結構。舉例而言,在編碼器件決定使用I圖塊時,基於編碼器件之誤差傳播知識,若編碼器件具有足夠資訊,則其可定義具有最佳大小以覆蓋誤差傳播之I圖塊。舉例而言,圖框之受誤差傳播影響之區域可定義為圖塊,且可針對覆蓋經定義區域之圖塊產生框內區塊。圖框之並不受誤差傳播影響之區域可經編碼為一或多個P圖塊或B圖塊。
在一些實例中,編碼器件可分析過去圖框之運動向量之歷史。對應於受傳播誤差影響之區域的運動向量並不用於框間預測(例如受傳播誤差影響之區域並不用作後續圖框之參考)。舉例而言,編碼器件可緩衝過去M數目個圖框之運動向量(例如最末2至3個圖框之運動向量)及給定前一圖框中之誤差的來自圖框n -1、來自圖框n -2等(其中n 為當前經處理的當前圖框)之可能誤差傳播。在一個實例中,可追蹤出現於圖框n -2中之來自誤差的運動向量,且可在圖框n -1中標記誤差之可能位置。可避開誤差之此等可能位置(並不用於參考)。在此類實例中,在針對當前圖框n 選擇運動向量時,具有傳播誤差之圖框n -1中之參考區塊經避開且並不用於框間預測。在一些情況下,在搜尋區中沒有匹配項不含誤差時,圖框n 中之待寫碼的當前區塊(例如巨集區塊、CTU、CTB、CU、CB或其他區塊)甚至在P圖塊內經編碼為經框內寫碼區塊。在來自一或多個先前圖框n-1、n-2等誤差並不傳播至無誤差區域時,圖框之此無誤差區域可出現。
在一些實例中,編碼器件可實施前向誤差緩解技術。舉例而言,可基於最新誤差而使未來圖塊結構為動態的。若最新封包已大量損失,則編碼器件可減少插入I圖框之時段或框內再新循環大小。更頻繁的I圖框需要更多位元率來達成相同品質,更難以維持低峰值對平均圖框大小比,且對封包丟失提供更強的穩固性。可依據最新的封包丟失歷史實現折衷。
現將描述使用本文中所描述之動態I圖框或I圖塊插入技術執行的程序之實例。圖13為說明用於處理視訊資料之程序1300之實例的流程圖。在方塊1302處,程序1300包括藉由計算器件(例如圖1之解碼器件112)判定視訊位元串流中之視訊圖框之視訊圖塊的至少一部分缺失或損壞。在一個實例中,計算器件可解析視訊圖塊之封包的封包封包標頭以判定封包中之任一者是否缺失或損壞。封包之封包標頭可指示封包屬於哪一圖塊,且亦可指示第一及最末區塊由彼封包或圖塊覆蓋。在其他實例中,計算器件可指視訊資料之其他資訊攜載部分,諸如圖塊標頭、參數集(例如圖像參數集(PPS),或其他參數集)、補充增強資訊(SEI)訊息及/或其他資訊。
在方塊1304處,程序1300包括將回饋資訊發送至編碼器件。回饋資訊指示視訊圖塊之至少部分缺失或損壞。舉例而言,回饋資訊可包括指示視訊圖塊具有一或多個缺失的封包之資訊。在一些實例中,資訊可包括對包括缺失或損壞的圖塊之圖像及包括缺失的封包之一或多個圖塊的指示。
在方塊1306處,程序1300包括回應於回饋資訊而自編碼器件接收經更新視訊位元串流。經更新視訊位元串流包括具有大於缺失或損壞的視訊圖塊之大小的至少一個經框內寫碼視訊圖塊。經更新視訊位元串流可包括視訊位元串流之後續部分,且至少一個經框內寫碼視訊圖塊包括於視訊位元串流中之比包括具有缺失或損壞的資訊(例如封包)之圖塊的視訊圖框更靠後的圖框中。舉例而言,相較於視訊位元串流中之包括具有缺失或損壞的資訊(例如封包)的圖塊之視訊圖框之圖像次數計數(POC)、輸出次數及/或解碼次數,經更新視訊位元串流中之至少一個經框內寫碼圖塊可具有更高的POC、輸出次數及/或解碼次數。在一個說明性實例中,參考圖6A,視訊位元串流之圖框602a包括缺失或損壞的圖塊604a,且回應於回饋資訊,視訊位元串流可經更新以包括下一可用圖框606a (例如,其可為經編碼視訊位元串流中之緊接在圖框602a之後的下一圖框,或可為圖框602a之後的數個圖框)中之經強制框內寫碼圖塊605a。
至少一個經框內寫碼視訊圖塊之大小經判定以覆蓋(或補償)缺失或損壞的圖塊及由缺失或損壞的圖塊引起之視訊圖框中之傳播誤差。視訊圖框中之傳播誤差可由基於運動搜尋範圍之缺失或損壞的圖塊引起。舉例而言,如上文所提及,可使用來自缺失或損壞的圖塊之資料預測的視訊圖框之任何區域可具有損壞的視訊資料。在一些實例中,缺失或損壞的圖塊在視訊圖框中自第一列橫跨至第二列,且至少一個經框內寫碼視訊圖塊之大小經定義為至少包括第一列減去運動搜尋範圍至第二列加上運動搜尋範圍。在一些情況下,至少一個經框內寫碼視訊圖塊可大於第一列減去運動搜尋範圍至第二列加上運動搜尋範圍。舉例而言,參考上文相對於圖8A之實例,使用X-d至Y+d (一個圖框之後)、X-2d至Y+2d (兩個圖框之後)等配方,缺失或損壞的圖塊可在初始圖框802a中自列1橫跨至列180,且誤差可傳播至列212 (180+32=212)。可產生經框內寫碼視訊圖塊(例如I圖塊805a)以使得經框內寫碼視訊圖塊之框內區塊在框內再新圖框(例如框內再新圖框806a)中自列1橫跨至列360,此可確保清除(自列1至列212之)誤差。一般熟習此項技術者將瞭解,可使用運動搜尋範圍之其他倍數將經框內寫碼區塊添加至位元串流中,該等倍數諸如一個圖框之後之X-2d至Y+2d、兩個圖框之後之X-3d至Y+3d,或可以用於覆蓋(例如移除)傳播誤差之任何其他倍數。
在一些實例中,回應於判定視訊圖塊之至少部分缺失或損壞,計算器件可對一或多個視訊圖框執行誤差消除(例如異步時間規整(ATW)誤差消除或其他類型的誤差消除),直至在經更新視訊位元串流中接收到無誤差經框內寫碼視訊圖塊。舉例而言,計算器件可採用計算器件偵測缺失或損壞的圖塊與計算器件接收經框內寫碼視訊圖塊之間的時間量。對於在接收經框內寫碼視訊圖塊之前接收到的任何圖框,計算器件可執行誤差消除。
在一些實施方案中,至少一個經框內寫碼視訊圖塊包括經框內寫碼圖框。舉例而言,在一些情況下,至少一個經框內寫碼圖塊為完整的經強制框內寫碼圖框,如上文所論述。在一些實施方案中,至少一個經框內寫碼視訊圖塊可包括為框內再新循環之部分。舉例而言,框內再新循環包括至少一個視訊圖框,其中至少一個視訊圖框之每一視訊圖框包括一或多個經框內寫碼視訊圖塊。如上文所描述,框內再新循環之至少一個視訊圖框的數目可基於各種因素,諸如上文所提及之最大搜尋範圍、包括具有缺失或損壞的資料之視訊圖塊之視訊圖框中之圖塊的數目、視訊圖框中之視訊圖塊的位置、框內再新循環基於回饋資訊而插入至經更新視訊位元串流中的時間、其任何組合及/或其他因素。如上文所提及,插入框內再新循環的時間可基於缺失或損壞的圖塊之偵測與框內再新循環或I圖框之圖塊之插入之間的延遲(例如部分地基於編碼器件可作出反應且插入框內再新循環或I圖框的速度)。
在一個說明性實例中,在視訊圖塊之位置為視訊圖框中之第一圖塊時,框內再新循環之至少一個視訊圖框包括至少兩個圖框。舉例而言,以圖6A為例,圖塊604a可具有缺失的封包,在此情況下,可判定框內再新循環具有兩個圖框,其中第一框內再新圖框606a具有第一I圖塊605a且第二框內再新圖框608a具有第二I圖塊608a。在此類實例中,計算器件可對至少兩個圖框中之第一圖框(例如對圖框606a)執行誤差消除且並不對至少兩個圖框中之第二圖框(例如圖框608a)執行誤差消除。在視訊位元串流中,第二圖框在第一圖框之後。
在另一說明性實例中,在視訊圖塊之位置並非視訊圖框中之第一圖塊時,框內再新循環之至少一個視訊圖框包括經框內寫碼圖框。舉例而言,以圖6B為例,圖塊604b可具有缺失或損壞的封包,在此情況下,可插入完整的I圖框606b以覆蓋傳播誤差。在另一實例中,參考圖8D,圖塊804d可具有缺失或損壞的封包,且可插入完整的I圖框806d以覆蓋傳播誤差。
在另一實例中,在視訊圖塊之位置為視訊圖框中之最末圖塊時,框內再新循環之至少一個視訊圖框包括至少兩個圖框。舉例而言,以圖6D為例,圖塊604d可具有缺失的封包,且可判定框內再新循環具有兩個圖框,其中第一框內再新圖框606d具有第一I圖塊605d且第二框內再新圖框608d具有第二I圖塊608d。在此類實例中,計算器件可基於視訊圖塊為視訊圖框中之最末圖塊而對至少兩個圖框中之第一圖框(例如對圖框606d)及對至少兩個圖框中之第二圖框(例如圖框608d)執行誤差消除。在視訊位元串流中,第二圖框在第一圖框之後。
圖14為說明用於處理視訊資料之程序1400之實例的流程圖。在方塊1402處,程序1400包括在編碼器件處接收來自計算器件(例如圖1之解碼器件112)的回饋資訊。回饋資訊指示視訊位元串流中之視訊圖框之視訊圖塊的至少一部分缺失或損壞。舉例而言,回饋資訊可包括指示視訊圖塊具有一或多個缺失的封包之資訊。在一些實例中,資訊可包括對包括缺失或損壞的圖塊之圖像及包括缺失的封包之一或多個圖塊的指示。
在方塊1402處,程序1400包括回應於回饋資訊產生經更新視訊位元串流。經更新視訊位元串流包括具有大於缺失或損壞的視訊圖塊之大小的至少一個經框內寫碼視訊圖塊。如上文相對於圖13所提及,經更新視訊位元串流可包括視訊位元串流之後續部分,且至少一個經框內寫碼視訊圖塊包括於視訊位元串流中之比包括具有缺失或損壞的資訊(例如封包)之圖塊的視訊圖框更靠後的圖框中。舉例而言,相較於視訊位元串流中之包括具有缺失或損壞的資訊(例如封包)的圖塊之視訊圖框之圖像次數計數(POC)、輸出次數及/或解碼次數,經更新視訊位元串流中之至少一個經框內寫碼圖塊可具有更高的POC、輸出次數及/或解碼次數。
至少一個經框內寫碼視訊圖塊之大小經判定以覆蓋(或補償)缺失或損壞的圖塊及由缺失或損壞的圖塊引起之視訊圖框中之傳播誤差。視訊圖框中之傳播誤差可由基於運動搜尋範圍之缺失或損壞的圖塊引起。舉例而言,如上文所提及,可根據缺失或損壞的圖塊預測的視訊圖框之任何區域可具有損壞的視訊資料。在一些實例中,缺失或損壞的圖塊在視訊圖框中自第一列橫跨至第二列。編碼器件可判定至少一個經框內寫碼視訊圖塊之大小至少包括第一列減去運動搜尋範圍至第二列加上運動搜尋範圍。在一些情況下,至少一個經框內寫碼視訊圖塊可大於第一列減去運動搜尋範圍至第二列加上運動搜尋範圍。舉例而言,參考上文相對於圖8A之實例,使用X-d至Y+d (一個圖框之後)、X-2d至Y+2d (兩個圖框之後)等配方,缺失或損壞的圖塊可在初始圖框802a中自列1橫跨至列180,且誤差可傳播至列212 (180+32=212)。可產生經框內寫碼視訊圖塊(例如I圖塊805a)以使得經框內寫碼視訊圖塊之框內區塊在框內再新圖框(例如框內再新圖框806a)中自列1橫跨至列360,此可確保清除(自列1至列212之)誤差。
如上文所描述,回應於視訊圖塊之至少部分缺失或損壞,計算器件可對一或多個視訊圖框執行誤差消除直至在經更新視訊位元串流中接收到無誤差經框內寫碼視訊圖塊。
在一些實施方案中,至少一個經框內寫碼視訊圖塊包括經框內寫碼圖框。舉例而言,在一些情況下,至少一個經框內寫碼圖塊為完整的經強制框內寫碼圖框。在一些實施方案中,至少一個經框內寫碼視訊圖塊可包括為框內再新循環之部分。舉例而言,框內再新循環包括至少一個視訊圖框,其中至少一個視訊圖框之每一視訊圖框包括一或多個經框內寫碼視訊圖塊。舉例而言,編碼器可判定在框內再新循環之多個圖框上插入I圖塊(例如圖6A、圖6D、圖7A、圖7B以及其他圖中所展示)。在其他實例中,編碼器可判定插入完整的I圖框(例如圖6B及圖6C中所展示)。如上文所描述,是否插入完整的I圖框或是否插入框內再新循環之多個視訊圖框可基於各種因素,諸如上文所提及之最大搜尋範圍、包括具有缺失或損壞的資料之視訊圖塊之視訊圖框中之圖塊的數目、視訊圖框中之視訊圖塊的位置、框內再新循環基於回饋資訊而插入至經更新視訊位元串流中的時間、其任何組合及/或其他因素。
在一些情況下,編碼器件可(例如於經解碼圖像緩衝器(DPB)中、於用於擷取以供解碼及顯示之儲存位置及/或其他儲存器中)儲存經更新視訊位元串流。在一些情況下,編碼器件可將經更新視訊位元串流傳輸至計算器件。
在一些實施方案中,如下文更詳細地描述,編碼器件可與共同參考時脈以及其他編碼器件同步。在此等實施方案中,程序1400可包括根據與至少一個其他編碼器件共用之參考時脈而將經框內寫碼視訊資料添加至視訊位元串流。參考時脈定義用於使來自編碼器件及至少一個其他編碼器件之經框內寫碼視訊交錯的時程。程序1400可包括回應於回饋資訊而發送如下請求:調適參考時脈以允許編碼器件以未排程時槽將經框內寫碼視訊資料添加至視訊位元串流。程序1400可包括接收參考時脈經更新以定義經更新時程之指示,且基於經更新時程而根據經更新參考時脈將經框內寫碼視訊圖塊添加至視訊位元串流。在下文相對於圖10至圖12及圖15描述編碼器同步之其他細節。
在一些實例中,程序1300及/或1400可由計算器件或裝置執行,該計算器件或裝置諸如具有圖16中所展示之計算器件架構1600的計算器件。在一些實例中,程序1300可由具有實施解碼器件(例如解碼器件112)或包括解碼器件或與解碼器件通信之用戶端器件的計算器件架構1600的計算器件執行。在一些實例中,程序1400可由具有實施編碼器件(例如編碼器件104)或包括編碼器件或與編碼器件通信之伺服器的計算器件架構1600的計算器件執行。在一個說明性實例中,(例如執行程序1300之)計算器件可包括擴展實境顯示器件,且(例如執行程序1400之)編碼器件可為伺服器之部分。在此類實例中,編碼器件經組態以基於運動資訊(例如姿勢、定向、移動等)產生用於處理(例如解碼)及藉由擴展實境顯示器件顯示之視訊位元串流,該運動資訊藉由擴展實境顯示器件提供且藉由編碼器件(及/或伺服器)接收到。舉例而言,擴展實境顯示器件(或連接至擴展實境顯示器件之器件,諸如行動器件或其他器件)可將運動資訊(例如姿勢資訊、定向、眼睛位置及/或其他資訊)發送或傳輸至伺服器。伺服器或伺服器之部分(例如圖2之媒體源引擎204)可基於運動資訊產生擴展實境內容,且編碼器件可產生包括具有擴展實境內容之經寫碼圖框(或圖像)的視訊位元串流。
在一些情況下,計算器件或裝置可包括輸入器件、輸出器件、一或多個處理器、一或多個微處理器、一或多個微電腦及/或經組態以進行程序1300及/或1400之步驟的其他組件。計算器件之組件(例如一或多個處理器、一或多個微處理器、一或多個微電腦及/或其他組件)可實施於電路中。舉例而言,組件可包括電子電路或其他電子硬體及/或可使用電子電路或其他電子硬體來實施,且/或可包括電腦軟體、韌體或其任何組合及/或使用電腦軟體、韌體或其任何組合來實施以執行本文中所描述之各種操作,電子電路或其他電子硬體可包括一或多個可程式化電子電路(例如微處理器、圖形處理單元(GPU)、數位信號處理器(DSP)、中央處理單元(CPU)及/或其他適合電子電路)。計算器件可進一步包括顯示器(作為輸出器件之實例或除該輸出器件外)、經組態以傳達及/或接收資料的網路介面、其任何組合及/或其他組件。網路介面可經組態以傳達及/或接收基於網際網路協定(IP)之資料或其他類型之資料。
程序1300及/或1400經說明為邏輯流程圖,其中之操作表示可在硬體、電腦指令或其組合中實施的操作之序列。在電腦指令之上下文中,操作表示儲存於一或多個電腦可讀儲存媒體上之當藉由一或多個處理器執行時執行所敍述之操作的電腦可執行指令。通常,電腦可執行指令包括執行特定功能或實施特定資料類型之常式、程式、物件、組件、資料結構及其類似者。描述操作之次序並不意欲被理解為限制,且任何數目個經描述操作可按任何次序及/或與實施程序並行地組合。
另外,程序1300及/或1400可在經組態有可執行指令之一或多個電腦系統之控制下執行,且可經實施為共同在一或多個處理器上執行之程式碼(例如可執行指令、一或多個電腦程式或一或多個應用程式)、藉由硬體實施或其組合。如上文所提及,程式碼可儲存於電腦可讀或機器可讀儲存媒體上,例如,呈包含可由一或多個處理器執行之複數個指令之電腦程式的形式。電腦可讀或機器可讀儲存媒體可為非暫時性的。
如先前所提及,本文中亦描述用於使編碼器件與共同參考時脈以及其他編碼器件同步之系統及技術。圖10為說明包括經由無線網路1031與網路器件1032通信之多個編碼器件(包括編碼器件1030a、編碼器件1030b至編碼器件1030n,其中n可為任何整數值)之系統的圖。網路實體1032可包括無線存取點(AP)、伺服器(例如含有編碼器件之伺服器,諸如圖2之伺服器側202)、基地台、路由器、網路橋接器、網路閘道器或其他網路器件或系統。無線網路1031可包括寬頻網路(例如5G、4G或LTE、3G或其他寬頻網路)、WiFi網路或其他無線網路。
網路器件1032經由無線網路1033與一或多個用戶端器件(例如個人電腦1034a、XR頭戴裝置1034b及行動智慧型手機1034c)通信。無線網路1033可包括寬頻網路(例如5G、4G或LTE、3G或其他寬頻網路)、WiFi網路或其他無線網路。在一個說明性實例中,無線網路1031包括寬頻網路,且無線網路1033包括WiFi網路。在另一說明性實例中,無線網路1031及無線網路1033包括寬頻網路(例如相同寬頻網路或不同寬頻網路)。
編碼器件1030a、1030b至1030n與共同參考時脈同步。共同參考時脈由網路器件1032設定。舉例而言,網路器件1032可向每一編碼器件1030a、1030b至1030n提供時間基準(例如圖框插入時程)以傳輸經編碼資料,其中每一時間基準對於一個編碼器件而言為唯一的。經編碼資料可表示完整的圖框、眼睛緩衝器或圖塊(或圖塊之群組)。雖然圖10中展示三個編碼器件,但一般熟習此項技術者將瞭解,任何數目(小於三或大於三)之編碼器件可與共同參考時脈同步。
在一些情況下,編碼器件1030a、1030b至1030n可藉由週期性(非動態)I圖框/I圖塊與共同時脈同步,使得來自不同使用者之I圖框/I圖塊可交錯以最小化任何給定時間處之總I圖框/I圖塊的數目。舉例而言,由於每一編碼器件1030a、1030b至1030n連接至網路器件1032,故網路器件1032可向每一編碼器件1030a、1030b至1030n指派索引。網路器件1032可為不同編碼器件1030a、1030b至1030n提供全域參考時脈,以基於該等編碼器件之經指派索引而以獨立時間間隔發送I圖框/I圖塊。此項技術在各種使用情況中可為有利的,諸如在嚴格CBR編碼結構、循環框內再新編碼結構以及其他結構中。
圖11為說明與參考時脈同步之兩個編碼器件(例如圖10之編碼器件1030a、1030b至1030n中之兩者)的視訊寫碼結構之實例的圖。圖11中所展示之寫碼結構展示為具有週期性I圖框插入。由於每一編碼器件連接(例如以初始連接)至網路器件,故第一編碼器件及第二編碼器件可各自由網路器件(例如網路器件1032)指派唯一索引。網路器件可為所有編碼器件提供全域共同參考時脈,其定義指示第一編碼器件及第二編碼器件(及連接至器件之任何其他編碼器件)將基於其經指派索引而以獨立的時間間隔發送I圖框、I圖塊及/或其他經框內寫碼視訊資料之時間的圖框插入排程。每一編碼器件可接著基於其經指派索引及參考時脈而發送I圖框及/或I圖塊(或其他經框內寫碼資料),從而使來自不同編碼器件之I圖框/圖塊交錯。
如所展示,根據設定成圖框插入時程之共同參考時脈,第一編碼器件(對應於第一使用者)每四個圖框插入一個I圖框,包括I圖框1102及I圖框1104。根據參考時脈,第二編碼器件(對應於第二使用者)經排程以週期性地每四個圖框插入一個I圖框,但自時域中之不同圖框開始。舉例而言,基於指派至第一及第二編碼器件之不同索引,第二編碼器件在與由第一編碼器件插入第一I圖框1102不同的時間處插入第一I圖框1106。
在一些情況下,編碼器件(例如編碼器件1030a、1030b至1030n)可與共同參考時脈同步,且可動態地插入I圖框及/或I圖塊。舉例而言,在一個編碼器件接收指示一或多個丟失或損壞的封包之回饋且需要強制I圖框或I圖塊時,來自其他編碼器件之任何非緊急(例如基於非回饋之) I圖框及/或I圖塊插入可延遲,使得該一個編碼器件可儘快地插入I圖框或I圖塊。在一個說明性實例中,基於回饋資訊,受影響的編碼器件可請求網路器件(例如網路器件1032)調適共同參考時脈以允許編碼器件諸如在位元串流之下一圖框處立即插入I圖框或I圖塊(具有或不具有框內再新循環)。基於來自網路器件之經更新參考時脈,其他編碼器件可相應地調適其對於非緊急I圖框/I圖塊之時程,使得I圖框/I圖塊中不存在重疊。此項技術在各種使用情況中可為有利的,諸如在嚴格CBR編碼結構中、循環框內再新編碼結構、在插入動態單獨I圖塊時以及其他者。
圖12為說明與共同參考時脈同步之兩個編碼器件(例如圖10之編碼器件1030a、1030b至1030n中之兩者)的視訊寫碼結構之另一實例的圖。圖12中所展示之寫碼結構展示為具有I圖框及/或一或多個I圖塊之週期性插入及動態插入。網路器件(例如圖10之網路器件1032)將參考時脈設定為初始(或最初)圖框插入時程,其排程每一編碼器件插入I圖框及/或一或多個I圖塊(具有或不具有框內再新循環)的時間。如所展示,基於指派至第一編碼器件之索引,第一編碼器件(對應於第一使用者)每四個圖框插入I圖框,包括I圖框1202及I圖框1204。類似於圖11之實例,基於指派至第二編碼器件之索引,第二編碼器件(對應於第二使用者)經排程以週期性地每四個圖框插入一個I圖框,但自時域中之不同圖框開始。舉例而言,第二編碼器件在與由第一編碼器件插入第一I圖框1202不同的時間(第一編碼器件插入週期性經排程I圖框之後兩個圖框)處插入第一I圖框1206。
在圖框1208處,接收由第一編碼器件產生的位元串流之用戶端器件(例如圖10中之XR頭戴裝置1034b)可偵測圖框1208中存在缺失或損壞的封包或圖框1208缺失。用戶端器件(或在一些情況下,網路器件)可將回饋資訊發送至第一編碼器件。在接收回饋資訊後,受影響的編碼器件可請求網路器件調適參考時脈以允許編碼器件在下一可用圖框中立即插入I圖框、I圖塊或框內再新時段(其可處於並未在初始圖框插入時程中經排程的未排程時槽)。網路器件可接著基於該請求將參考時脈更新為經更新時程,且所有剩餘編碼器件可根據其初始指派的插入時程而停止插入I圖框,且可根據來自網路器件之經更新參考時脈調適其I圖框/I圖塊時程。
舉例而言,根據設定成經更新時程之經更新參考時脈,第一編碼器件可將經強制I圖框1210插入至位元串流中,且接著繼續在其之後(自I圖框1212)開始以每四個圖框週期性地插入I圖框。如上文所提及,一旦網路器件基於請求而將參考時脈更新為經更新時程,則所有剩餘編碼器件可根據該經更新參考時脈調適其I圖框/I圖塊時程。如圖12中所展示,替代在週期性經排程I圖框1214之後四個圖框插入週期性經排程I圖框(如由初始圖框插入時程所定義),第二編碼器件在彼時槽處歸因於I圖框1210之動態插入而藉由第一編碼器件插入P圖框1216。基於經更新參考時脈及圖框插入時程,第二編碼器件繼續每四個圖框插入週期性經排程I圖框(自第一編碼器件插入動態插入之I圖框1210之後兩個圖框的I圖框1218開始)。
使多個編碼器件與共同參考時脈同步可在多個使用者環境中提供幫助。與共同參考時脈同步亦可有助於減少無線鏈路上之位元率波動,而不管編碼組態如何。舉例而言,由於多個I圖框或I圖塊在相同時槽期間(基於同步)將並不傳輸,故無線鏈路上之位元率波動可減少。
圖15為說明用於處理視訊資料之程序1500之實例的流程圖。在方塊1502處,程序1500包括由編碼器件(例如圖1之編碼器件104、圖10之編碼器件1030a或其他編碼器件)產生視訊位元串流。根據與至少一個其他編碼器件共用之參考時脈而(例如由編碼器件)將經框內寫碼視訊資料插入至視訊位元串流中。參考時脈定義用於使來自編碼器件及至少一個其他編碼器件之經框內寫碼視訊交錯的時程。在一些情況下,複數個編碼器件與參考時脈同步。在此等情況下,複數個編碼器件中之每一編碼器件可經指派不同時間基準(諸如索引)(藉由時間基準傳輸經編碼資料)(例如第一編碼器件經指派第一時間基準,第二編碼器件經指派第二時間基準,第三編碼器件經指派第三時間基準,等等)。指派至編碼器件之第一時間基準不同於指派至至少一個其他編碼器件之第二時間基準。在一些實例中,參考時脈可由網路器件(例如圖10之網路器件1032)或由另一器件或系統設定,該網路器件可包括無線存取點(AP)、包括編碼器件或另一編碼器件之伺服器、不包括遵守參考時脈之編碼器件中之一者的獨立伺服器。器件可向每一編碼器件提供用以傳輸經編碼資料之時間基準,其中每一時間基準對於一個編碼器件為唯一的。經編碼資料可表示完整的圖框、眼睛緩衝器或圖塊(或圖塊之群組)。
在方塊1504處,程序1500包括藉由編碼器件獲得指示視訊圖塊之至少一部分或視訊位元串流之視訊圖框或圖像之至少一部分缺失或損壞的回饋資訊。舉例而言,回饋資訊可包括指示視訊圖塊具有一或多個缺失的封包之資訊。在一些實例中,資訊可包括對包括缺失或損壞的圖塊之圖框或圖像及包括缺失的封包之一或多個圖塊的指示。
在方塊1506處,程序1500包括回應於回饋資訊而發送如下請求:調適參考時脈以允許編碼器件在未排程時槽處將經框內寫碼視訊資料插入至視訊位元串流中。可將該請求發送至設定參考時脈之網路器件(例如AP、伺服器或其類似者)。在方塊1508處,程序1500包括接收(例如來自設定參考時脈之器件之)如下指示:參考時脈經更新以定義經更新時程。
在方塊1510處,程序1500包括基於經更新時程而根據經更新參考時脈將經框內寫碼視訊資料插入至視訊位元串流中。由編碼器件請求之未排程時槽與用於編碼器件之由參考時脈定義之複數個時槽偏離。舉例而言,如圖12中所展示,藉由參考時脈之最初時程,第一編碼器件在與針對第一編碼器件初始排程之時槽不同的時槽處動態地插入I圖框1210。一旦基於來自第一編碼器件之請求重設時脈,第一編碼器件便將繼續週期性地每第四個圖框插入I圖框,直至其遇到缺失或損壞的圖框或時脈基於來自另一編碼器件之請求而再次重設。
經更新參考時脈可與至少一個其他編碼器件(例如編碼器件1030b至1030n中之一或多者)共用。在一些實例中,基於經更新時程,至少一個其他編碼器件延遲相對於由參考時脈定義之先前經排程時槽排程經框內寫碼視訊。舉例而言,再次參考圖12,替代在週期性經排程I圖框1214之後四個圖框插入週期性經排程I圖框(如由初始圖框插入時程所定義),第二編碼器件在彼時槽處歸因於I圖框1210之動態插入而藉由第一編碼器件基於經更新參考時脈插入P圖框1216。
在一些實例中,經框內寫碼視訊資料包括一或多個經框內寫碼視訊圖框。舉例而言,經框內寫碼視訊資料可包括一或多個經框內寫碼視訊圖塊。在另一實例中,經框內寫碼視訊資料可包括框內再新時段,其包括至少一個視訊圖框。舉例而言,至少一個視訊圖框中之每一視訊圖框可包括一或多個經框內寫碼視訊圖塊。在另一實例中,經框內寫碼視訊資料可包括完整的I圖框。
在一些實施方案中,自計算器件提供回饋資訊。在一些實施方案中,計算器件可包括擴展實境顯示器件,且執行程序1500之編碼器件可為伺服器之部分。編碼器件經組態以基於運動資訊(例如姿勢、定向、移動等)產生用於處理(例如解碼)及藉由擴展實境顯示器件顯示之視訊位元串流,該運動資訊藉由擴展實境顯示器件提供且藉由編碼器件(及/或伺服器)接收到。舉例而言,擴展實境顯示器件(或連接至擴展實境顯示器件之器件,諸如行動器件或其他器件)可將運動資訊(例如姿勢資訊、定向、眼睛位置及/或其他資訊)發送或傳輸至伺服器。伺服器或伺服器之部分(例如圖2之媒體源引擎204)可基於運動資訊產生擴展實境內容,且編碼器件可產生包括具有擴展實境內容之經寫碼圖框(或圖像)的視訊位元串流。
在一些實例中,程序1500可由計算器件或裝置執行,該計算器件或裝置諸如具有圖16中所展示之計算器件架構1600的計算器件。在一些實例中,程序1500可由具有實施編碼器件(例如編碼器件104)或包括編碼器件或與編碼器件通信之伺服器的計算器件架構1600的計算器件執行。在一些情況下,計算器件或裝置可包括輸入器件、輸出器件、一或多個處理器、一或多個微處理器、一或多個微電腦及/或經組態以進行程序1500之步驟的其他組件。計算器件之組件(例如一或多個處理器、一或多個微處理器、一或多個微電腦及/或其他組件)可實施於電路中。舉例而言,組件可包括電子電路或其他電子硬體及/或可使用電子電路或其他電子硬體來實施,且/或可包括電腦軟體、韌體或其任何組合及/或使用電腦軟體、韌體或其任何組合來實施以執行本文中所描述之各種操作,電子電路或其他電子硬體可包括一或多個可程式化電子電路(例如微處理器、圖形處理單元(GPU)、數位信號處理器(DSP)、中央處理單元(CPU)及/或其他適合電子電路)。計算器件可進一步包括顯示器(作為輸出器件之實例或除該輸出器件外)、經組態以傳達及/或接收資料的網路介面、其任何組合及/或其他組件。網路介面可經組態以傳達及/或接收基於網際網路協定(IP)之資料或其他類型之資料。
程序1500經說明為邏輯流程圖,其中之操作表示可在硬體、電腦指令或其組合中實施的操作之序列。在電腦指令之上下文中,操作表示儲存於一或多個電腦可讀儲存媒體上之當藉由一或多個處理器執行時執行所敍述之操作的電腦可執行指令。通常,電腦可執行指令包括執行特定功能或實施特定資料類型之常式、程式、物件、組件、資料結構及其類似者。描述操作之次序並不意欲被理解為限制,且任何數目個經描述操作可按任何次序及/或與實施程序並行地組合。
另外,程序1500可在經組態有可執行指令之一或多個電腦系統之控制下執行,且可經實施為共同在一或多個處理器上執行之程式碼(例如可執行指令、一或多個電腦程式或一或多個應用程式)、藉由硬體實施或其組合。如上文所提及,程式碼可儲存於電腦可讀或機器可讀儲存媒體上,例如,呈包含可由一或多個處理器執行之複數個指令之電腦程式的形式。電腦可讀或機器可讀儲存媒體可為非暫時性的。
圖16說明可實施本文中所描述之各種技術的實例計算器件之實例計算器件架構1600。計算器件架構1600之組件展示為使用連接件1605 (諸如匯串流排)彼此電連通。實例計算器件架構1600包括處理單元(CPU或處理器) 1610及計算器件連接件1605,該計算器件連接件1605將包括計算器件記憶體1615 (諸如唯讀記憶體(ROM) 1620及隨機存取記憶體(RAM) 1625)之各種計算器件組件耦接至處理器1610。
計算器件架構1600可包括與處理器1610直接連接、緊密接近處理器1610或整合為處理器1610之部分的高速記憶體之快取記憶體。計算器件架構1600可將來自記憶體1615及/或儲存器件1630之資料複製至快取記憶體1612,以供處理器1610快速存取。以此方式,快取記憶體可提供避免處理器1610在等待資料時發生延遲的效能提昇。此等及其他模組可控制或經組態以控制處理器1610來執行各種動作。其他計算器件記憶體1615亦可係可供使用的。記憶體1615可包括具有不同效能特性之多個不同類型記憶體。處理器1610可包括任一通用處理器及經組態以控制處理器1610以及其中軟體指令併入至處理器設計中之專用處理器的硬體或軟體服務(諸如儲存於儲存器件1630中的服務1 1632、服務2 1634及服務3 1636)。處理器1610可為自含系統,其含有多個核心或處理器、匯串流排、記憶體控制器、快取記憶體等。多核心處理器可為對稱或不對稱的。
為使得使用者能夠與計算器件架構1600互動,輸入器件1645可表示任何數目之輸入機構,諸如用於語音之麥克風、用於姿勢示意動作或圖形輸入之觸敏式螢幕、鍵盤、滑鼠、運動輸入件、語音器等等。輸出器件1635亦可為熟習此項技術者已知的數個輸出機構中之一或多者,諸如顯示器、投影儀、電視、揚聲器器件等。在一些情形下,多模式計算器件可使得使用者能夠提供多個類型之輸入,以與計算器件架構1600通信。通信介面1640可大體上控管並管理使用者輸入及計算器件輸出。不存在對任一特定硬體配置上之操作的限制且因此此處基本特徵可在其被開發時容易地取代改良之硬體或韌體配置。
儲存器件1630為非揮發性記憶體,且可為可儲存由電腦存取之資料的硬碟或其他類型之電腦可讀媒體,諸如磁性卡式帶、快閃記憶卡、固態記憶體器件、數位通用光碟、卡匣、隨機存取記憶體(RAM) 1625、唯讀記憶體(ROM) 1620及其混合。儲存器件1630可包括用於控制處理器1610之服務1632、1634、1636。涵蓋其他硬體或軟體模組。儲存器件1630可連接至計算器件連接件1605。在一個態樣中,執行特定功能之硬體模組可包括結合必要硬體組件(諸如處理器1610、連接件1605、輸出器件1635等)以實施功能的儲存於電腦可讀媒體中的軟體組件。
[0005] 本發明之技術不必限於無線應用或設定。該等技術可應用於支援多種多媒體應用中之任一者的視訊寫碼,諸如空中電視廣播、有線電視傳輸、衛星電視傳輸、網際網路串流視訊傳輸(諸如經由HTTP動態適應性串流(DASH))、經編碼至資料儲存媒體上之數位視訊、儲存於資料儲存媒體上的數位視訊之解碼或其他應用。在一些實例中,系統可經組態以支援單向或雙向視訊傳輸,從而支援諸如視訊串流、視訊播放、視訊廣播及/或視訊電話之應用。
如本文中所使用,術語「電腦可讀媒體」包括但不限於攜帶型或非攜帶型儲存器件、光儲存器件,及能夠儲存、含有或攜載指令及/或資料之各種其他媒體。電腦可讀媒體可包括非暫時性媒體,其中可儲存資料並且不包括載波及/或無線地或經由有線連接傳播之暫時電子信號。非暫時性媒體之實例可包括(但不限於)磁碟或磁帶、諸如緊密光碟(CD)或數位通用光碟(DVD)之光學儲存媒體、快閃記憶體、記憶體或記憶體器件。電腦可讀媒體可具有儲存於其上之程式碼及/或機器可執行指令,該等程式碼及/或機器可執行指令可表示程序、函式、子程式、程式、常式、次常式、模組、軟體套件、類別,或指令、資料結構或程式語句之任何組合。一個碼段可藉由傳遞及/或接收資訊、資料、引數、參數或記憶體內容耦接至另一碼段或硬體電路。資訊、引數、參數、資料等可經由包括記憶體共用、訊息傳遞、符記傳遞、網路傳輸或其類似者之任何適合方式傳遞、轉送或傳輸。
在一些實施例中,電腦可讀儲存器件、媒體及記憶體可包括含有位元串流及其類似者之纜線或無線信號。然而,當提及時,非暫時性電腦可讀儲存媒體明確地排除諸如能量、載波信號、電磁波及信號本身之媒體。
在以上描述中提供特定細節以提供對本文中所提供之實施例及實例的透徹理解。然而,一般熟習此項技術者應瞭解,實施例可在無需此等特定細節之情況下實踐。為瞭解釋之清楚起見,在一些情形下,本發明技術可呈現為包括單獨功能區塊,其包括包含軟體或硬體及軟體之組合中所體現的器件、器件組件、方法中之步驟或常式的功能區塊。除諸圖中展示及/或本文中所描述的彼等組件以外,可使用額外組件。舉例而言,電路、系統、網路、程序及其他組件可以方塊圖形式展示為組件以免以不必要的細節混淆實施例。在其他情形下,可在無不必要之細節的情況下展示熟知電路、程序、算法、結構及技術以免混淆實施例。
單獨實施例可在上文描述為描繪為流程圖(flowchart, a flow diagram)、資料流程圖、結構圖或方塊圖的程序或方法。儘管流程圖可能將操作描述為依序程序,但許多操作可並行地或同時加以執行。另外,操作之次序可重新配置。程序在其操作完成時終止,但可具有不包括於圖中之額外步驟。程序可對應於方法、函式、程序、次常式、次程式等。當程序對應於函式時,其終止可對應於函式傳回至呼叫函式或主函式。
可使用儲存或以其他方式可自電腦可讀媒體獲得的電腦可執行指令來實施根據上文所描述之實例的程序及方法。此等指令可包括例如導致或以其他方式組態通用電腦、專用電腦或處理器件以執行特定功能或功能群組之指令及資料。可經由網路存取所使用的電腦資源之部分。電腦可執行指令可為例如二進位中間格式指令,諸如組合語言、韌體、原始程式碼等。可用於儲存指令、所使用資訊及/或根據所描述實例之方法期間所產生的資訊之電腦可讀媒體的實例包括磁碟或光碟、快閃記憶體、具備非揮發性記憶體之USB器件、網路連接儲存器件等等。
實施根據此等揭示內容之程序及方法的器件可包括硬體、軟體、韌體、中間軟體、微碼、硬體描述語言或其任何組合,且可採取多種外觀尺寸中之任一者。當以軟體、韌體、中間軟體或微碼實施時,用以執行必要任務之程式碼或碼段(例如電腦程式產品)可儲存於電腦可讀或機器可讀媒體中。處理器可執行必要任務。外觀尺寸之典型實例包括膝上型電腦、智慧型手機、行動電話、平板電腦器件或其他小外觀尺寸個人電腦、個人數位助理、機架式器件、獨立式器件等等。本文中所描述之功能性亦可體現於周邊器件或附加卡。作為進一步實例,此功能性亦可實施於在單個器件中執行之不同晶片或不同程序當中的電路板上。
指令、用於輸送此等指令之媒體、用於執行此等媒體之計算資源,及用於支援此等計算資源之其他結構為用於提供本發明中所描述之功能的實例構件。
在前述描述中,參考本申請案之特定實施例描述本申請案之態樣,但熟習此項技術者將認識到本申請案不限於此。因此,儘管本文中已詳細描述本申請案之說明性實施例,但應理解,本發明概念可以其他方式不同地體現並使用,且所附申請專利範圍意欲解釋為包括除先前技術所限制外的此等變化。上文所描述之申請案的各種特徵及態樣可單獨地或聯合地使用。另外,實施例可用於超出本文中所描述之彼等環境及應用的任何數目個環境及應用,而不脫離本說明書之更廣精神及範疇。因此,本說明書及圖式被視為說明性而非限定性。出於說明之目的,以特定次序描述方法。應瞭解,在替代實施例中,可以與所描述之次序不同之次序來執行該等方法。
一般熟習此項技術者將瞭解,在不脫離本說明書之範疇之情況下,本文中所使用之小於(「<」)及大於(「>」)符號或術語可分別用小於或等於(「≤」)及大於或等於(「≥」)符號替換。
在組件被描述為「經組態以」執行某些操作之情況下,可例如藉由設計電子電路或其他硬體以執行操作、藉由程式化可程式化電子電路(例如微處理器或其他適合之電子電路)以執行操作或其任何組合來實現此組態。
片語「耦接至」係指任何組件直接地或間接地實體連接至另一組件,及/或任何組件直接地或間接地與另一組件通信(例如經由有線或無線連接及/或其他適合通信介面連接至其他組件)。
列舉集合「中之至少一者」之技術方案語言或其他語言指示該集合中之一個成員或該集合中之多個成員符合技術方案。舉例而言,列舉「A及B中之至少一者」的技術方案語言意謂A、B或A及B。
結合本文中所揭示之實施例而描述的各種說明性邏輯區塊、模組、電路及算法步驟可實施為電子硬體、電腦軟體、韌體或其組合。為了清楚地說明硬體與軟體之此可互換性,各種說明性組件、區塊、模組、電路及步驟已在上文大體按其功能性加以描述。將此功能性實施為硬體抑或軟體取決於特定應用及強加於整個系統上之設計約束。熟習此項技術者可針對每一特定應用以變化之方式實施所描述之功能性,而但不應將此等實施決策解譯為致使脫離本申請案之範疇。
本文中所描述之技術亦可實施於電子硬體、電腦軟體、韌體或其任何組合中。此等技術可實施於多種器件中之任何者中,諸如通用電腦、無線通信器件手機或具有多種用途(包括在無線通信器件手機及其他器件中之應用)之積體電路器件。可將描述為模組或組件之任何特徵共同實施於整合式邏輯器件中或分開實施為離散但可互操作之邏輯器件。若以軟體實施,則該等技術可至少部分地由包含程式碼之電腦可讀資料儲存媒體實現,該程式碼包括在執行時執行上文所描述之方法中之一或多者的指令。電腦可讀資料儲存媒體可形成電腦程式產品之部分,該電腦程式產品可包括封裝材料。電腦可讀媒體可包含記憶體或資料儲存媒體,諸如隨機存取記憶體(RAM)(諸如同步動態隨機存取記憶體(SDRAM))、唯讀記憶體(ROM)、非揮發性隨機存取記憶體(NVRAM)、電可抹除可程式化唯讀記憶體(EEPROM)、快閃記憶體、磁性或光學資料儲存媒體及其類似者。另外或替代地,該等技術可至少部分地由電腦可讀通信媒體實現,該電腦可讀通信媒體攜載或傳達呈指令或資料結構形式且可由電腦存取、讀取及/或執行的程式碼,諸如經傳播的信號或波。
程式碼可由可包括一或多個處理器之處理器執行,諸如一或多個數位信號處理器(DSP)、通用微處理器、特殊應用積體電路(ASIC)、場可程式化邏輯陣列(FPGA)或其他等效整合或離散邏輯電路。此處理器可經組態以執行本發明中所描述之技術中之任一者。通用處理器可為微處理器,但在替代方案中,處理器可為任何習知處理器、控制器、微控制器或狀態機。處理器亦可實施為計算器件的組合,例如DSP與微處理器之組合、複數個微處理器、結合DSP核心之一或多個微處理器或任何其他此類組態。因此,如本文中所使用之術語「處理器」可指前述結構中之任一者、前述結構之任何組合或適合於實施本文中所描述之技術的任何其他結構或裝置。此外,在一些態樣中,本文中所描述之功能性可提供於經組態用於編碼及解碼之專用軟體模組或硬體模組內,或併入於經組合視訊編碼器-解碼器(編解碼器)中。
100:系統 102:視訊源 104:編碼器件 106:編碼器引擎 108:儲存器 110:輸出 112:解碼器件 114:輸入 116:解碼器引擎 118:儲存器 120:通信鏈路 122:視訊目的地器件 124:回饋資訊 200:XR分割呈現系統 202:伺服器側 204:媒體源引擎 206:視訊及音訊編碼器 208:深度/運動編碼器 210:速率/誤差適應性引擎 212:低潛時輸送鏈路 214:低潛時輸送鏈路 216:低潛時輸送鏈路 220:用戶端側 222:視訊及音訊解碼器 224:深度/運動解碼器 226:後處理引擎 228:顯示器 402:I圖框 404:視訊圖框 406:視訊圖框 408:I圖框 502:第一圖框 504:框內再新循環 504a:第一圖框 504b:第二圖框 504c:第三圖框 504d:第四圖框 506:框內再新循環 602a:初始圖框 602b:初始圖框 602c:初始圖框 602d:初始圖框 604a:缺失或損壞的圖塊 604b:缺失或損壞的圖塊 604c:缺失或損壞的圖塊 604d:缺失或損壞的圖塊 605a:圖塊 605d:圖塊 606a:圖框 606b:圖框 606c:圖框 606d:圖框 607a:圖塊 607d:圖塊 608a:圖框 608b:圖框 608c:圖框 608d:圖框 610a:圖框 610b:圖框 610c:圖框 610d:圖框 612a:圖框 612d:圖框 702a:初始圖框 702b:初始圖框 702c:初始圖框 702d:初始圖框 702e:初始圖框 702f:初始圖框 704a:缺失或損壞的圖塊 704b:缺失或損壞的圖塊 704c:缺失或損壞的圖塊 704d:缺失或損壞的圖塊 704e:缺失或損壞的圖塊 704f:缺失或損壞的圖塊 705a:圖塊 705b:圖塊 705e:圖塊 705f:圖塊 706a:圖框 706b:圖框 706c:圖框 706d:圖框 706e:圖框 706f:圖框 707a:圖塊 707b:圖塊 707e:圖塊 707f:圖塊 708a:圖框 708b:圖框 708c:圖框 708d:圖框 708e:圖框 708f:圖框 709a:圖塊 709f:圖塊 710a:圖框 710b:圖框 710c:圖框 710d:圖框 710e:圖框 710f:圖框 712a:圖框 712e:圖框 712b:圖框 712f:圖框 714a:圖框 714f:圖框 802a:初始圖框 802b:初始圖框 802c:初始圖框 802d:初始圖框 804b:缺失或損壞的圖塊 804c:缺失或損壞的圖塊 804d:缺失或損壞的圖塊 805a:圖塊 805b:圖塊 805c:圖塊 806a:圖框 806b:圖框 806c:圖框 806d:圖框 807a:圖塊 807b:圖塊 807c:圖塊 808a:圖框 808b:圖框 808c:圖框 902a:圖框 902b:圖框 904a:圖塊 904b:圖塊 905a:傳播誤差 905b:傳播誤差 906a:圖框 906b:圖框 907a:傳播誤差 907b:傳播誤差 908a:圖框 908b:圖框 909a:圖塊 909b:圖塊 910a:圖框 910b:圖框 911b:殘餘傳播誤差 912a:圖框 912b:圖框 1030a:編碼器件 1030b:編碼器件 1030n:編碼器件 1031:無線網路 1032:網路器件 1033:無線網路 1034a:個人電腦 1034b:XR頭戴裝置 1034c:行動智慧型手機 1102:I圖框 1104:I圖框 1106:I圖框 1202:I圖框 1204:I圖框 1206:I圖框 1208:圖框 1210:I圖框 1212:I圖框 1214:I圖框 1216:P圖框 1218:I圖框 1300:程序 1302:方塊 1304:方塊 1306:方塊 1400:程序 1402:方塊 1500:程序 1502:方塊 1504:方塊 1506:方塊 1508:方塊 1510:方塊 1600:計算器件架構 1605:連接件 1610:處理單元 1612:快取記憶體 1615:記憶體 1620:唯讀記憶體 1625:隨機存取記憶體 1630:儲存器件 1632:服務1 1634:服務2 1636:服務3 1635:輸出器件 1640:通信介面 1645:輸入器件
下文參考以下圖式詳細描述本申請案之說明性實施例:
圖1為說明根據一些實例之編碼器件及解碼器件之實例的方塊圖;
圖2為說明根據一些實例之擴展實境(XR)分割呈現系統之實例的方塊圖;
圖3為說明根據一些實例之使用嚴格固定位元率(CBR)的視訊寫碼結構之實例的圖;
圖4為說明根據一些實例之使用具有嚴格固定位元率(CBR)之動態經框內寫碼圖框(I圖框)的視訊寫碼結構之實例的圖;
圖5為說明根據一些實例之用於無誤差鏈路中具有框內再新循環之動態經框內寫碼圖塊(I圖塊)的視訊寫碼結構之實例的圖;
圖6A至圖6D為說明根據一些實例之使用動態I圖塊之視訊寫碼結構之實例的圖;
圖7A至圖7F為說明根據一些實例之使用動態I圖塊之視訊寫碼結構之其他實例的圖;
圖8A至圖8H為說明根據一些實例之使用動態I圖塊之視訊寫碼結構之其他實例的圖;
圖9A及圖9B為說明根據一些實例之使用動態單獨I圖塊之視訊寫碼結構之實例的圖;
圖10為說明根據一些實例之包括與參考時脈同步的編碼器件之系統之實例的圖;
圖11為說明根據一些實例之與參考時脈同步之兩個編碼器件的視訊寫碼結構(具有週期性I圖框)之實例的圖;
圖12為說明根據一些實例之與參考時脈同步之兩個編碼器件的視訊寫碼結構(具有動態I圖框)之另一實例的圖;
圖13為說明根據一些實例之用於處理視訊資料的程序之實例的流程圖;
圖14為說明根據一些實例之用於處理視訊資料的程序之另一實例的流程圖;
圖15為說明根據一些實例之用於處理視訊資料的程序之另一實例的流程圖;且
圖16為可實施本文中所描述之各種技術的實例計算器件之實例計算器件架構。
200:XR分割呈現系統
202:伺服器側
204:媒體源引擎
206:視訊及音訊編碼器
208:深度/運動編碼器
210:速率/誤差適應性引擎
212:低潛時輸送鏈路
214:低潛時輸送鏈路
216:低潛時輸送鏈路
220:用戶端側
222:視訊及音訊解碼器
224:深度/運動解碼器
226:後處理引擎
228:顯示器

Claims (60)

  1. 一種處理視訊資料之方法,其包含: 藉由一計算器件判定一視訊位元串流中之一視訊圖框之一視訊圖塊的至少一部分為缺失或損壞; 將回饋資訊發送至一編碼器件,該回饋資訊指示該視訊圖塊的至少該部分為缺失或損壞;以及 回應於該回饋資訊而接收來自該編碼器件之一經更新視訊位元串流,該經更新視訊位元串流包括具有大於該缺失或損壞的視訊圖塊之一大小的至少一個經框內寫碼視訊圖塊,其中判定該至少一個經框內寫碼視訊圖塊之該大小以覆蓋該缺失或損壞的圖塊及由該缺失或損壞的圖塊引起之該視訊圖框中之傳播誤差。
  2. 如請求項1之方法,其中由該缺失或損壞的圖塊引起之該視訊圖框中之該傳播誤差係基於一運動搜尋範圍。
  3. 如請求項1之方法,其中該缺失或損壞的圖塊在該視訊圖框中自一第一列橫跨至一第二列,且其中該至少一個經框內寫碼視訊圖塊之該大小經定義為包括該第一列減去一運動搜尋範圍至該第二列加上該運動搜尋範圍。
  4. 如請求項1之方法,其進一步包含: 回應於判定該視訊圖塊之至少該部分為缺失或損壞而對一或多個視訊圖框執行誤差消除,直至在該經更新視訊位元串流中接收到一無誤差經框內寫碼視訊圖塊。
  5. 如請求項1之方法,其中該至少一個經框內寫碼視訊圖塊包括一經框內寫碼圖框。
  6. 如請求項1之方法,其中該至少一個經框內寫碼視訊圖塊經包括為一框內再新循環之部分,該框內再新循環包括至少一個視訊圖框,該至少一個視訊圖框中之每一視訊圖框包括一或多個經框內寫碼視訊圖塊。
  7. 如請求項6之方法,其中該框內再新循環之該至少一個視訊圖框的一數目係基於以下中之至少一者:包括該視訊圖塊之該視訊圖框中之圖塊的一數目、該視訊圖框中之該視訊圖塊的一位置及該框內再新循環基於該回饋資訊而插入至該經更新視訊位元串流中的時間。
  8. 如請求項7之方法,其中在該視訊圖塊之該位置為該視訊圖框中之一第一圖塊時,該框內再新循環之該至少一個視訊圖框包括至少兩個圖框。
  9. 如請求項8之方法,其進一步包含: 對該至少兩個圖框中之一第一圖框執行誤差消除而並不對該至少兩個圖框中之一第二圖框執行誤差消除,在該視訊位元串流中,該第二圖框在該第一圖框之後。
  10. 如請求項7之方法,其中在該視訊圖塊之該位置並非該視訊圖框中之一第一圖塊時,該框內再新循環之該至少一個視訊圖框包括一經框內寫碼圖框。
  11. 如請求項7之方法,其中在該視訊圖塊之該位置為該視訊圖框中之一最末圖塊時,該框內再新循環之該至少一個視訊圖框包括至少兩個圖框。
  12. 如請求項11之方法,其進一步包含: 基於該視訊圖塊為該視訊圖框中之一最末圖塊而對該至少兩個圖框中之一第一圖框及一第二圖框執行誤差消除。
  13. 如請求項1之方法,其中該計算器件包括一擴展實境顯示器件,該擴展實境顯示器件經組態以提供運動資訊至該編碼器件以用於產生藉由該擴展實境顯示器件顯示之該視訊位元串流。
  14. 一種用於處理視訊資料之裝置,該裝置包含: 一記憶體,其經組態以儲存視訊資料;以及 一處理器,其實施於電路中且經組態以: 判定一視訊位元串流中之一視訊圖框之一視訊圖塊的至少一部分為缺失或損壞; 將回饋資訊發送至一編碼器件,該回饋資訊指示該視訊圖塊的至少該部分為缺失或損壞;以及 回應於該回饋資訊而接收來自該編碼器件之一經更新視訊位元串流,該經更新視訊位元串流包括具有大於該缺失或損壞的視訊圖塊之一大小的至少一個經框內寫碼視訊圖塊,其中判定該至少一個經框內寫碼視訊圖塊之該大小以覆蓋該缺失或損壞的圖塊及由該缺失或損壞的圖塊引起之該視訊圖框中之傳播誤差。
  15. 如請求項14之裝置,其中由該缺失或損壞的圖塊引起之該視訊圖框中之該傳播誤差係基於一運動搜尋範圍。
  16. 如請求項14之裝置,其中該缺失或損壞的圖塊在該視訊圖框中自一第一列橫跨至一第二列,且其中該至少一個經框內寫碼視訊圖塊之該大小經定義為包括該第一列減去一運動搜尋範圍至該第二列加上該運動搜尋範圍。
  17. 如請求項14之裝置,其中該處理器進一步經組態以: 回應於判定該視訊圖塊之至少該部分為缺失或損壞而對一或多個視訊圖框執行誤差消除,直至在該經更新視訊位元串流中接收到一無誤差經框內寫碼視訊圖塊。
  18. 如請求項14之裝置,其中該至少一個經框內寫碼視訊圖塊經包括為一框內再新循環之部分,該框內再新循環包括至少一個視訊圖框,該至少一個視訊圖框中之每一視訊圖框包括一或多個經框內寫碼視訊圖塊。
  19. 如請求項18之裝置,其中該框內再新循環之該至少一個視訊圖框的一數目係基於以下中之至少一者:包括該視訊圖塊之該視訊圖框中之圖塊的一數目、該視訊圖框中之該視訊圖塊的一位置及該框內再新循環基於該回饋資訊而插入至該經更新視訊位元串流中的時間。
  20. 如請求項19之裝置,其中在該視訊圖塊之該位置為該視訊圖框中之一第一圖塊時,該框內再新循環之該至少一個視訊圖框包括至少兩個圖框。
  21. 如請求項20之裝置,其中該處理器進一步經組態以: 對該至少兩個圖框中之一第一圖框執行誤差消除而並不對該至少兩個圖框中之一第二圖框執行誤差消除,在該視訊位元串流中,該第二圖框在該第一圖框之後。
  22. 如請求項19之裝置,其中在該視訊圖塊之該位置並非該視訊圖框中之一第一圖塊時,該框內再新循環之該至少一個視訊圖框包括一經框內寫碼圖框。
  23. 如請求項19之裝置,其中在該視訊圖塊之該位置為該視訊圖框中之一最末圖塊時,該框內再新循環之該至少一個視訊圖框包括至少兩個圖框。
  24. 如請求項23之裝置,其中該處理器進一步經組態以: 基於該視訊圖塊為該視訊圖框中之一最末圖塊而對該至少兩個圖框中之一第一圖框及一第二圖框執行誤差消除。
  25. 如請求項14之裝置,其中該裝置包括一擴展實境顯示器件,該擴展實境顯示器件經組態以提供運動資訊至該編碼器件以用於產生藉由該擴展實境顯示器件顯示之該視訊位元串流。
  26. 一種非暫時性電腦可讀媒體,其上儲存有指令,該等指令在由一或多個處理器執行時使得該一或多個處理器執行以下操作: 判定一視訊位元串流中之一視訊圖框之一視訊圖塊的至少一部分為缺失或損壞; 將回饋資訊發送至一編碼器件,該回饋資訊指示該視訊圖塊的至少該部分為缺失或損壞;以及 回應於該回饋資訊而接收來自該編碼器件之一經更新視訊位元串流,該經更新視訊位元串流包括具有大於該缺失或損壞的視訊圖塊之一大小的至少一個經框內寫碼視訊圖塊,其中判定該至少一個經框內寫碼視訊圖塊之該大小以覆蓋該缺失或損壞的圖塊及由該缺失或損壞的圖塊引起之該視訊圖框中之傳播誤差。
  27. 如請求項26之非暫時性電腦可讀媒體,其中該缺失或損壞的圖塊在該視訊圖框中自一第一列橫跨至一第二列,且其中該至少一個經框內寫碼視訊圖塊之該大小經定義為包括該第一列減去一運動搜尋範圍至該第二列加上該運動搜尋範圍。
  28. 如請求項26之非暫時性電腦可讀媒體,其中該至少一個經框內寫碼視訊圖塊經包括為一框內再新循環之部分,該框內再新循環包括至少一個視訊圖框,該至少一個視訊圖框中之每一視訊圖框包括一或多個經框內寫碼視訊圖塊。
  29. 一種處理視訊資料之方法,其包含: 在一編碼器件處接收來自一計算器件之回饋資訊,該回饋資訊指示一視訊位元串流中之一視訊圖框之一視訊圖塊的至少一部分為缺失或損壞;以及 回應於該回饋資訊而產生一經更新視訊位元串流,該經更新視訊位元串流包括具有大於該缺失或損壞的視訊圖塊之一大小的至少一個經框內寫碼視訊圖塊,其中判定該至少一個經框內寫碼視訊圖塊之該大小以覆蓋該缺失或損壞的圖塊及由該缺失或損壞的圖塊引起之該視訊圖框中之傳播誤差。
  30. 如請求項29之方法,其中由該缺失或損壞的圖塊引起之該視訊圖框中之該傳播誤差係基於一運動搜尋範圍。
  31. 如請求項29之方法,其中該缺失或損壞的圖塊在該視訊圖框中自一第一列橫跨至一第二列,且該方法進一步包含: 判定該至少一個經框內寫碼視訊圖塊之該大小以包括該第一列減去一運動搜尋範圍至該第二列加上該運動搜尋範圍。
  32. 如請求項29之方法,其中回應於該視訊圖塊之至少該部分為缺失或損壞,對一或多個視訊圖框執行誤差消除直至在該經更新視訊位元串流中接收到一無誤差經框內寫碼視訊圖塊。
  33. 如請求項29之方法,其中該至少一個經框內寫碼視訊圖塊經包括為一框內再新循環之部分,該框內再新循環包括至少一個視訊圖框,該至少一個視訊圖框中之每一視訊圖框包括一或多個經框內寫碼視訊圖塊。
  34. 如請求項33之方法,其進一步包含: 基於以下中之至少一者來判定該框內再新循環之該至少一個視訊圖框的一數目:包括該視訊圖塊之該視訊圖框中之圖塊的一數目、該視訊圖框中之該視訊圖塊的一位置及該框內再新循環基於該回饋資訊而插入至該經更新視訊位元串流中的時間。
  35. 如請求項34之方法,其中在該視訊圖塊之該位置為該視訊圖框中之一第一圖塊時,該框內再新循環之該至少一個視訊圖框經判定以包括至少兩個圖框。
  36. 如請求項35之方法,其中對該至少兩個圖框中之一第一圖框執行誤差消除而並不對該至少兩個圖框中之一第二圖框執行誤差消除,在該視訊位元串流中,該第二圖框在該第一圖框之後。
  37. 如請求項34之方法,其中在該視訊圖塊之該位置並非該視訊圖框中之一第一圖塊時,該框內再新循環之該至少一個視訊圖框經判定以包括一經框內寫碼圖框。
  38. 如請求項34之方法,其中在該視訊圖塊之該位置為該視訊圖框中之一最末圖塊時,該框內再新循環之該至少一個視訊圖框經判定以包括至少兩個圖框。
  39. 如請求項38之方法,其中基於該視訊圖塊為該視訊圖框中之一最末圖塊而對該至少兩個圖框中之一第一圖框及一第二圖框執行誤差消除。
  40. 如請求項29之方法,其中該計算器件包括一擴展實境顯示器件,且其中該編碼器件為一伺服器之部分,該編碼器件經組態以基於由該編碼器件自該擴展實境顯示器件接收到之運動資訊產生藉由該擴展實境顯示器件顯示之該視訊位元串流。
  41. 如請求項29之方法,其進一步包含: 根據與至少一個其他編碼器件共用之一參考時脈將經框內寫碼視訊資料添加至該視訊位元串流,該參考時脈定義用於使來自該編碼器件及該至少一個其他編碼器件之經框內寫碼視訊交錯的一時程; 回應於該回饋資訊而發送調適該參考時脈以允許該編碼器件以一未排程時槽將經框內寫碼視訊資料添加至該視訊位元串流的一請求; 接收該參考時脈經更新以定義一經更新時程之一指示;以及 基於該經更新時程而根據該經更新參考時脈將該經框內寫碼視訊圖塊添加至該視訊位元串流。
  42. 如請求項29之方法,其進一步包含: 將該經更新視訊位元串流傳輸至該計算器件。
  43. 如請求項29之方法,其進一步包含: 儲存該經更新視訊位元串流。
  44. 一種用於處理視訊資料之裝置,該裝置包含: 一記憶體,其經組態以儲存視訊資料;以及 一處理器,其實施於電路中且經組態以: 接收來自一計算器件之回饋資訊,該回饋資訊指示一視訊位元串流中之一視訊圖框之一視訊圖塊的至少一部分為缺失或損壞;以及 回應於該回饋資訊而產生一經更新視訊位元串流,該經更新視訊位元串流包括具有大於該缺失或損壞的視訊圖塊之一大小的至少一個經框內寫碼視訊圖塊,其中判定該至少一個經框內寫碼視訊圖塊之該大小以覆蓋該缺失或損壞的圖塊及由該缺失或損壞的圖塊引起之該視訊圖框中之傳播誤差。
  45. 如請求項44之裝置,其中由該缺失或損壞的圖塊引起之該視訊圖框中之該傳播誤差係基於一運動搜尋範圍。
  46. 如請求項44之裝置,其中該缺失或損壞的圖塊在該視訊圖框中自一第一列橫跨至一第二列,且其中該處理器進一步經組態以: 判定該至少一個經框內寫碼視訊圖塊之該大小以包括該第一列減去一運動搜尋範圍至該第二列加上該運動搜尋範圍。
  47. 如請求項44之裝置,其中回應於判定該視訊圖塊之至少該部分為缺失或損壞,對一或多個視訊圖框執行誤差消除直至在該經更新視訊位元串流中接收到一無誤差經框內寫碼視訊圖塊。
  48. 如請求項44之裝置,其中該至少一個經框內寫碼視訊圖塊經包括為一框內再新循環之部分,該框內再新循環包括至少一個視訊圖框,該至少一個視訊圖框中之每一視訊圖框包括一或多個經框內寫碼視訊圖塊。
  49. 如請求項48之裝置,其中該處理器經組態以: 基於以下中之至少一者來判定該框內再新循環之該至少一個視訊圖框的一數目:包括該視訊圖塊之該視訊圖框中之圖塊的一數目、該視訊圖框中之該視訊圖塊的一位置及該框內再新循環基於該回饋資訊而插入至該經更新視訊位元串流中的時間。
  50. 如請求項49之裝置,其中在該視訊圖塊之該位置為該視訊圖框中之一第一圖塊時,該框內再新循環之該至少一個視訊圖框經判定以包括至少兩個圖框。
  51. 如請求項50之裝置,其中對該至少兩個圖框中之一第一圖框執行誤差消除而並不對該至少兩個圖框中之一第二圖框執行誤差消除,在該視訊位元串流中,該第二圖框在該第一圖框之後。
  52. 如請求項49之裝置,其中在該視訊圖塊之該位置並非該視訊圖框中之一第一圖塊時,該框內再新循環之該至少一個視訊圖框經判定以包括一經框內寫碼圖框。
  53. 如請求項49之裝置,其中在該視訊圖塊之該位置為該視訊圖框中之一最末圖塊時,該框內再新循環之該至少一個視訊圖框經判定以包括至少兩個圖框。
  54. 如請求項53之裝置,其中基於該視訊圖塊為該視訊圖框中之一最末圖塊而對該至少兩個圖框中之一第一圖框及一第二圖框執行誤差消除。
  55. 如請求項44之裝置,其中該計算器件包括一擴展實境顯示器件,且其中該裝置包括作為一伺服器之部分的一編碼器件,該編碼器件經組態以基於由該編碼器件自該擴展實境顯示器件接收到之運動資訊產生藉由該擴展實境顯示器件顯示之該視訊位元串流。
  56. 如請求項44之裝置,其進一步包含: 一傳輸器,其經組態以將該經更新視訊位元串流傳輸至該計算器件。
  57. 如請求項44之裝置,其中該記憶體經組態以儲存該經更新視訊位元串流。
  58. 一種非暫時性電腦可讀媒體,其上儲存有指令,該等指令在由一或多個處理器執行時使得該一或多個處理器執行以下操作: 接收來自一計算器件之回饋資訊,該回饋資訊指示一視訊位元串流中之一視訊圖框之一視訊圖塊的至少一部分為缺失或損壞;以及 回應於該回饋資訊而產生一經更新視訊位元串流,該經更新視訊位元串流包括具有大於該缺失或損壞的視訊圖塊之一大小的至少一個經框內寫碼視訊圖塊,其中判定該至少一個經框內寫碼視訊圖塊之該大小以覆蓋該缺失或損壞的圖塊及由該缺失或損壞的圖塊引起之該視訊圖框中之傳播誤差。
  59. 如請求項58之非暫時性電腦可讀媒體,其中該缺失或損壞的圖塊在該視訊圖框中自一第一列橫跨至一第二列,且該非暫時性電腦可讀媒體進一步包含指令,該等指令在由該一或多個處理器執行時使得該一或多個處理器執行以下操作: 判定該至少一個經框內寫碼視訊圖塊之該大小以包括該第一列減去一運動搜尋範圍至該第二列加上該運動搜尋範圍。
  60. 如請求項58之非暫時性電腦可讀媒體,其中該至少一個經框內寫碼視訊圖塊經包括為一框內再新循環之部分,該框內再新循環包括至少一個視訊圖框,該至少一個視訊圖框中之每一視訊圖框包括一或多個經框內寫碼視訊圖塊。
TW109125319A 2019-08-01 2020-07-27 基於回饋資訊之動態視訊插入 TW202112131A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/529,710 2019-08-01
US16/529,710 US11039149B2 (en) 2019-08-01 2019-08-01 Dynamic video insertion based on feedback information

Publications (1)

Publication Number Publication Date
TW202112131A true TW202112131A (zh) 2021-03-16

Family

ID=72047070

Family Applications (1)

Application Number Title Priority Date Filing Date
TW109125319A TW202112131A (zh) 2019-08-01 2020-07-27 基於回饋資訊之動態視訊插入

Country Status (5)

Country Link
US (1) US11039149B2 (zh)
EP (1) EP4008107A1 (zh)
CN (1) CN114208170A (zh)
TW (1) TW202112131A (zh)
WO (1) WO2021021550A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11625806B2 (en) * 2019-01-23 2023-04-11 Qualcomm Incorporated Methods and apparatus for standardized APIs for split rendering
US11595646B2 (en) * 2019-09-25 2023-02-28 Meta Platforms Technologies, Llc Sliced encoding and decoding for remote rendering
US20210192681A1 (en) * 2019-12-18 2021-06-24 Ati Technologies Ulc Frame reprojection for virtual reality and augmented reality
US11321928B2 (en) * 2020-05-14 2022-05-03 Qualcomm Incorporated Methods and apparatus for atlas management of augmented reality content
US20230188768A1 (en) * 2020-06-19 2023-06-15 Qualcomm Incorporated Reliable transmissions in vr and ar systems
US11514641B2 (en) 2021-03-03 2022-11-29 Qualcomm Incorporated Error concealment in split rendering using shading atlases
JP2022174948A (ja) * 2021-05-12 2022-11-25 横河電機株式会社 装置、監視システム、方法およびプログラム
US20230138606A1 (en) * 2021-11-03 2023-05-04 Tencent America LLC Method and apparatus for delivering 5g ar/mr cognitive experience to 5g devices

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000041397A1 (en) 1999-01-06 2000-07-13 Sarnoff Corporation Computer system for statistical multiplexing of bitstreams
KR100677083B1 (ko) 2000-01-27 2007-02-01 삼성전자주식회사 디지털 영상 데이터 통신 시스템에서의 오류 전파 억제를위한 송수신 데이터의 처리 방법 및 이를 위한 기록 매체
US8054880B2 (en) 2004-12-10 2011-11-08 Tut Systems, Inc. Parallel rate control for digital video encoder with multi-processor architecture and picture-based look-ahead window
CN100459717C (zh) * 2005-04-20 2009-02-04 华为技术有限公司 基于h.264的压缩视频传输误码消除方法
AU2006346226B8 (en) * 2005-07-20 2010-03-25 Vidyo, Inc. System and method for a conference server architecture for low delay and distributed conferencing applications
US8340098B2 (en) * 2005-12-07 2012-12-25 General Instrument Corporation Method and apparatus for delivering compressed video to subscriber terminals
US8861585B2 (en) 2006-01-20 2014-10-14 Qualcomm Incorporated Method and apparatus for error resilience algorithms in wireless video communication
US8428125B2 (en) 2006-12-22 2013-04-23 Qualcomm Incorporated Techniques for content adaptive video frame slicing and non-uniform access unit coding
US8767839B2 (en) * 2007-01-22 2014-07-01 Qualcomm Incorporated Error filter to differentiate between reverse link and forward link video data errors
US7706384B2 (en) 2007-04-20 2010-04-27 Sharp Laboratories Of America, Inc. Packet scheduling with quality-aware frame dropping for video streaming
US8432804B2 (en) * 2007-11-29 2013-04-30 Hewlett-Packard Development Company, L.P. Transmitting video streams
US9357233B2 (en) * 2008-02-26 2016-05-31 Qualcomm Incorporated Video decoder error handling
US8406296B2 (en) * 2008-04-07 2013-03-26 Qualcomm Incorporated Video refresh adaptation algorithms responsive to error feedback
US9930360B2 (en) * 2011-11-08 2018-03-27 Texas Instruments Incorporated Method, system and apparatus for intra-refresh in video signal processing
US9807388B2 (en) 2012-10-29 2017-10-31 Avago Technologies General Ip (Singapore) Pte. Ltd. Adaptive intra-refreshing for video coding units
US9681155B2 (en) * 2013-03-15 2017-06-13 Sony Interactive Entertainment America Llc Recovery from packet loss during transmission of compressed video streams
EP2979487B1 (en) * 2013-03-29 2018-11-28 VID SCALE, Inc. Early packet loss detection and feedback
CN105706415B (zh) * 2013-09-06 2020-06-09 Vid拓展公司 针对实时视频应用的用于路由器的基于体验质量的队列管理
US10193955B2 (en) 2014-10-14 2019-01-29 Huawei Technologies Co., Ltd. System and method for video communication
US10110930B2 (en) 2015-07-02 2018-10-23 Dialogic Corporation Robust packet loss handling in recording real-time video
US20170013274A1 (en) 2015-07-09 2017-01-12 Microsoft Technology Licensing, Llc Intra-refresh for video streaming
US20170085871A1 (en) * 2015-09-22 2017-03-23 Ati Technologies Ulc Real time video coding system with error recovery using earlier reference picture
US10652572B2 (en) 2016-04-29 2020-05-12 Ati Technologies Ulc Motion-adaptive intra-refresh for high-efficiency, low-delay video coding
US10708569B2 (en) * 2016-09-29 2020-07-07 Eric Wilson Turbine-Powered Pool Scrubber
US10779011B2 (en) 2017-07-31 2020-09-15 Qualcomm Incorporated Error concealment in virtual reality system

Also Published As

Publication number Publication date
CN114208170A (zh) 2022-03-18
WO2021021550A1 (en) 2021-02-04
US20210037250A1 (en) 2021-02-04
EP4008107A1 (en) 2022-06-08
US11039149B2 (en) 2021-06-15

Similar Documents

Publication Publication Date Title
TW202112131A (zh) 基於回饋資訊之動態視訊插入
CN112292864B (zh) 用于提供360度沉浸式视频的图块选择和带宽优化
Nightingale et al. HEVStream: a framework for streaming and evaluation of high efficiency video coding (HEVC) content in loss-prone networks
TWI549481B (zh) 用於視訊寫碼中之低延遲視訊緩衝之系統及方法
US10425661B2 (en) Method for protecting a video frame sequence against packet loss
US9906797B2 (en) Multi-mode error concealment, recovery and resilience coding
EP3808077A1 (en) System and method for providing 360 degrees immersive video based on gaze vector information
JP2023126928A (ja) マルチラインイントラ予測に対するmpmリスト生成を実現するための方法、装置、及びコンピュータプログラム
KR20140120891A (ko) 효율적인 변환 유닛 인코딩을 위한 방법 및 장치
JP2016092837A (ja) 映像圧縮装置、映像再生装置および映像配信システム
CN112789854A (zh) 用于在暂停期间在360°沉浸式视频中提供质量控制的系统和方法
WO2010035505A1 (ja) 動画像符号化方法および動画像符号化装置
EP4060620A1 (en) Cloud gaming gpu with integrated nic and shared frame buffer access for lower latency
TW201330625A (zh) 用於數位視訊處理的裝置及方法
Srivastava et al. A systematic review on real time video compression and enhancing quality using fuzzy logic
CN116195255A (zh) 支持基于观看方向的比特流随机访问
US11438631B1 (en) Slice based pipelined low latency codec system and method
CN112567742B (zh) 用于编码360度沉浸式视频的系统和方法
CN110636296B (zh) 视频解码方法、装置、计算机设备以及存储介质
Mohammed et al. Ultra-High-Definition Video Transmission for Mission-Critical Communication Systems Applications
CN112567742A (zh) 用于编码360度沉浸式视频的系统和方法
CN116458159A (zh) 跳过变换标志编码
CN116472711A (zh) 用于帧内模式编码的硬件友好设计
CN117296320A (zh) 使用映射和不同类型的从亮度到色度预测
CN116368801A (zh) 交叉分量变换系数水平重构