TW201408073A - 用於在視訊寫碼中之參考索引寫碼的旁路位元子 - Google Patents

用於在視訊寫碼中之參考索引寫碼的旁路位元子 Download PDF

Info

Publication number
TW201408073A
TW201408073A TW102112895A TW102112895A TW201408073A TW 201408073 A TW201408073 A TW 201408073A TW 102112895 A TW102112895 A TW 102112895A TW 102112895 A TW102112895 A TW 102112895A TW 201408073 A TW201408073 A TW 201408073A
Authority
TW
Taiwan
Prior art keywords
reference index
code
index value
bit
context
Prior art date
Application number
TW102112895A
Other languages
English (en)
Other versions
TWI520619B (zh
Inventor
Marta Karczewicz
Vadim Seregin
Xianglin Wang
Muhammed Zeyd Coban
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of TW201408073A publication Critical patent/TW201408073A/zh
Application granted granted Critical
Publication of TWI520619B publication Critical patent/TWI520619B/zh

Links

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
    • 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

在一實例中,本發明之態樣係關於一種用於在一視訊解碼處理程序中對一參考索引語法元素進行解碼之方法,其包括藉由一上下文自適應性二進位算術寫碼(CABAC)處理程序之一上下文寫碼模式對一參考索引值的至少一位元子進行解碼。該方法亦包括:當該參考索引值包含多於藉由該上下文寫碼模式所寫碼之該至少一位元子的位元子時,藉由該CABAC處理程序之一旁路寫碼模式對該參考索引值的至少另一位元子進行解碼;及二進位化該參考索引值。

Description

用於在視訊寫碼中之參考索引寫碼的旁路位元子
本發明主張以下臨時申請案之權利:2012年4月11日申請之美國臨時申請案第61/623,043號,2012年4月23日申請之美國臨時申請案第61/637,218號、2012年4月30日申請之美國臨時申請案第61/640,568號、2012年5月15日申請之美國臨時申請案第61/647,422號,及2012年6月27日申請之美國臨時申請案第61/665,151號,該等臨時申請案中之每一者的全部內容特此以引用的方式併入。
本發明係關於視訊寫碼,且更特定言之,係關於用於在視訊寫碼處理程序中寫碼語法元素之技術。
數位視訊能力可併入至廣泛範圍之器件中,該等器件包括數位電視、數位直播系統、無線廣播系統、個人數位助理(PDA)、膝上型或桌上型電腦、平板電腦、數位相機、數位記錄器件、數位媒體播放器、視訊遊戲器件、視訊遊戲控制台、蜂巢式或衛星無線電電話、視訊電話會議器件,及其類似者。數位視訊器件實施視訊壓縮技術,諸如在藉由MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4第10部分(進階視訊寫碼(AVC))、目前在開發過程中之高效率視訊寫碼(HEVC)標準所定義之標準及此等標準之擴展中所述的視訊壓縮技術,以更有效地傳輸、接收及儲存數位視訊資訊。
視訊壓縮技術包括空間預測及/或時間預測,以減少或移除視訊序列中固有之冗餘。針對基於區塊之視訊寫碼,可將視訊圖框或圖塊分割為多個區塊。視訊圖框可替代地稱為圖像。可進一步分割每一區塊。框內寫碼(I)圖像或圖塊中之區塊係關於同一圖像或圖塊中之相鄰區塊中的參考樣本使用空間預測來編碼。框間寫碼(P或B)圖像或圖塊中之區塊可關於同一圖像或圖塊中之相鄰區塊中的參考樣本使用空間預測,或關於其他參考圖像中之參考樣本使用時間預測。空間或時間預測針對待寫碼之區塊產生預測性區塊。殘餘資料表示在待寫碼之原始區塊與預測性區塊之間的像素差。
框間寫碼區塊係根據指向形成預測性區塊之參考樣本之區塊的運動向量及指示在經寫碼區塊與預測性區塊之間的差之殘餘資料而編碼。框內寫碼區塊係根據框內寫碼模式及殘餘資料而編碼。為進行進一步壓縮,可將殘餘資料自像素域變換至變換域,從而產生接著可被量化的殘餘變換係數。可以特定次序掃描最初以二維陣列配置的經量化變換係數,以產生變換係數之一維向量以供熵寫碼。熵寫碼亦可應用於在視訊寫碼處理程序中所使用之多種其他語法元素。
本發明之技術大體係關於對視訊資料進行熵寫碼。舉例而言,當執行上下文自適應性寫碼時,視訊寫碼器可使用機率估計對資料之每一位元或「位元子(bin)」進行寫碼,該等機率估計可指示位元子具有給定二進位值的可能性。機率估計可包括於機率模型內,該機率模型亦被稱為「上下文模型」。視訊寫碼器可藉由判定該位元子之上下文而選擇上下文模型。位元子之上下文可包括先前寫碼之語法元素之相關位元子的值。在對位元子進行寫碼之後,視訊寫碼器可基於位元子之值更新上下文模型,以反映最近的機率估計。與應用上下文寫碼模式相對比,視訊寫碼器可應用旁路寫碼模式。舉例而言,視訊寫碼 器可使用旁路模式,以略過或省略常規算術寫碼處理程序。在此等例子中,視訊寫碼器可使用固定機率模型(亦即,不在寫碼期間更新)來對該等位元子進行旁路寫碼。
本發明之技術係關於有效地對與框間寫碼之視訊資料相關聯之語法元素進行上下文寫碼。舉例而言,本發明之態樣係關於有效地對參考索引值、運動向量預測子、運動向量差值及其類似者進行寫碼。在一些例子中,視訊寫碼器可針對語法元素之一些位元子執行上下文寫碼,且針對語法元素之其他位元子執行旁路寫碼。舉例而言,視訊寫碼器可對參考索引值之一或多個位元子進行上下文寫碼,且對參考索引值的一或多個其他位元子進行旁路寫碼。
在一實例中,本發明之態樣係關於一種用於在一視訊編碼處理程序中對一參考索引語法元素進行編碼之方法,其包括:二進位化一參考索引值;藉由一上下文自適應性二進位算術寫碼(CABAC)處理程序之一上下文寫碼模式對該經二進位化之參考索引值的至少一位元子進行編碼;及當該經二進位化之參考索引值包含多於藉由該上下文寫碼模式所寫碼之該至少一位元子的位元子時,藉由該CABAC處理程序之一旁路寫碼模式對該經二進位化之參考索引值的至少另一位元子進行編碼。
在另一實例中,本發明之態樣係關於一種用於在一視訊編碼處理程序中對一參考索引語法元素進行編碼之裝置,其包括一或多個處理器以:二進位化一參考索引值;藉由一上下文自適應性二進位算術寫碼(CABAC)處理程序之一上下文寫碼模式對該經二進位化之參考索引值的至少一位元子進行編碼;及當該經二進位化之參考索引值包含多於藉由該上下文寫碼模式所寫碼之該至少一位元子的位元子時,藉由該CABAC處理程序之一旁路寫碼模式對該經二進位化之參考索引值的至少另一位元子進行編碼。
在另一實例中,本發明之態樣係關於一種用於在一視訊編碼處理程序中對一參考索引語法元素進行編碼之裝置,其包括:用於二進位化一參考索引值的構件;用於藉由一上下文自適應性二進位算術寫碼(CABAC)處理程序之一上下文寫碼模式對該經二進位化之參考索引值的至少一位元子進行編碼的構件;及用於在該經二進位化之參考索引值包含多於藉由該上下文寫碼模式所寫碼之該至少一位元子的位元子時藉由該CABAC處理程序之一旁路寫碼模式對該經二進位化之參考索引值的至少另一位元子進行編碼的構件。
在另一實例中,本發明之態樣係關於一種用於在一視訊解碼處理程序中對一參考索引語法元素進行解碼之方法,其包括:藉由一上下文自適應性二進位算術寫碼(CABAC)處理程序之一上下文寫碼模式對一參考索引值的至少一位元子進行解碼;當該參考索引值包含多於藉由該上下文寫碼模式所寫碼之該至少一位元子的位元子時,藉由該CABAC處理程序之一旁路寫碼模式對該參考索引值的至少另一位元子進行解碼;及二進位化該參考索引值。
在另一實例中,本發明之態樣係關於一種用於在一視訊解碼處理程序中對一參考索引語法元素進行解碼之裝置,其包括經組態以進行以下操作之一或多個處理器:藉由一上下文自適應性二進位算術寫碼(CABAC)處理程序之一上下文寫碼模式對一參考索引值的至少一位元子進行解碼;當該參考索引值包含多於藉由該上下文寫碼模式所寫碼之該至少一位元子的位元子時,藉由該CABAC處理程序之一旁路寫碼模式對該參考索引值的至少另一位元子進行解碼;及二進位化該參考索引值。
在另一實例中,本發明之態樣係關於一種非暫時性電腦可讀媒體,其上儲存有指令,該等指令在被執行時使一或多個處理器:藉由一上下文自適應性二進位算術寫碼(CABAC)處理程序之一上下文寫碼 模式對一參考索引值的至少一位元子進行解碼;當該參考索引值包含多於藉由該上下文寫碼模式所寫碼之該至少一位元子的位元子時,藉由該CABAC處理程序之一旁路寫碼模式對該參考索引值的至少另一位元子進行解碼;及二進位化該參考索引值。
在隨附圖式及以下描述中闡述一或多個實例的細節。其他特徵、目標及優點將自該描述及該等圖式以及自申請專利範圍顯而易見。
10‧‧‧視訊編碼及解碼系統
12‧‧‧源器件
14‧‧‧目的地器件
16‧‧‧通信頻道
18‧‧‧視訊源
20‧‧‧視訊編碼器
22‧‧‧調變器/解調變器/數據機
24‧‧‧傳輸器
26‧‧‧接收器
28‧‧‧數據機
30‧‧‧視訊解碼器
32‧‧‧顯示器件
34‧‧‧儲存媒體
36‧‧‧檔案伺服器
40‧‧‧模式選擇單元
42‧‧‧運動估計單元
44‧‧‧運動補償單元
46‧‧‧框內預測單元
50‧‧‧求和器
52‧‧‧變換處理單元
54‧‧‧量化單元
56‧‧‧熵編碼單元
58‧‧‧反量化單元
60‧‧‧反變換處理單元
62‧‧‧求和器
64‧‧‧參考圖像記憶體
70‧‧‧熵解碼單元
72‧‧‧運動補償單元
74‧‧‧框內預測單元
76‧‧‧反量化單元
78‧‧‧反變換單元
80‧‧‧求和器
82‧‧‧參考圖像記憶體
100‧‧‧二進位化器
102‧‧‧上下文模型化器
104‧‧‧寫碼引擎
106‧‧‧旁路寫碼器
120‧‧‧位元子字串
124‧‧‧位元子字串
128‧‧‧經上下文寫碼位元子
130‧‧‧經旁路寫碼位元子
132‧‧‧經上下文寫碼位元子
136‧‧‧經上下文寫碼位元子
138‧‧‧經旁路寫碼位元子
140‧‧‧經上下文寫碼位元子/位元子字串
142‧‧‧經旁路寫碼位元子
144‧‧‧經上下文寫碼位元子
148‧‧‧經旁路寫碼位元子/旁路位元子
160‧‧‧位元子字串
164‧‧‧經上下文寫碼位元子
168‧‧‧經旁路寫碼位元子/旁路位元子
圖1為說明實例視訊編碼及解碼系統之方塊圖。
圖2為說明實例視訊編碼器之方塊圖。
圖3為說明實例視訊解碼器之方塊圖。
圖4為說明實例算術寫碼處理程序之方塊圖。
圖5A為說明預測資料之實例字串的方塊圖。
圖5B為說明預測資料之另一實例字串的方塊圖。
圖6為說明預測資料之另一實例字串的方塊圖。
圖7為說明預測資料之另一實例字串的方塊圖。
圖8A為說明對具有三個可能值之框間預測方向語法元素進行上下文寫碼的方塊圖。
圖8B為說明根據本發明之態樣的對框間預測方向語法元素進行旁路寫碼之方塊圖。
圖9為說明根據本發明之態樣的對參考索引值進行熵編碼之實例的流程圖。
圖10為說明根據本發明之態樣的對參考索引值進行熵解碼之實例的流程圖。
圖11為說明根據本發明之態樣的對預測資料進行熵編碼之實例的流程圖。
圖12為說明根據本發明之態樣的對預測資料進行熵解碼之實例的流程圖。
視訊寫碼器件可藉由利用空間冗餘及時間冗餘來壓縮視訊資料。舉例而言,視訊編碼器可藉由相對於相鄰的先前寫碼區塊來對區塊進行寫碼而利用空間冗餘。同樣,視訊編碼器可藉由相對於先前寫碼圖像之資料來對區塊進行寫碼而利用時間冗餘。詳言之,視訊編碼器可自空間相鄰者之資料(被稱為框內寫碼)或自一或多個其他圖像之資料(被稱為框間寫碼)預測當前區塊。視訊編碼器可接著將區塊之殘差計算為區塊之實際像素值與區塊之所預測像素值之間的差。因此,區塊之殘差可包括像素(或空間)域中之逐像素差值。
視訊寫碼器可在框間預測視訊資料之區塊時執行運動估計及運動補償。舉例而言,運動估計係在視訊編碼器處執行,且包括計算一或多個運動向量。運動向量可指示當前圖像中之視訊資料的區塊相對於參考圖像之參考樣本的位移。參考樣本可為就像素差而言被發現緊密匹配待寫碼之區塊的區塊,該像素差可藉由絕對差值和(SAD)、平方差值和(SSD)或其他差值量度來判定。參考樣本可出現在參考圖像或參考圖塊內之任何位置,且未必出現在參考圖像或圖塊之區塊邊界處。在一些實例中,參考樣本可出現在分率像素位置處。
定義運動向量之資料可描述(例如)運動向量之水平分量、運動向量之垂直分量、運動向量之解析度(例如,四分之一像素精度或八分之一像素精度)、運動向量所指向之參考圖像,及/或運動向量之參考圖像清單(例如,清單0(L0)、清單1(L1),或組合式清單(LC)),例如,如藉由預測方向所指示。參考索引(ref_idx)可識別運動向量所指向的在參考圖像清單中之特定圖像。以此方式,ref_idx語法元素用作至參考圖像清單(例如,L0、L1或LC)中之索引。
在識別出參考區塊後,原始視訊資料區塊與參考區塊之間的差即得以判定。此差可被稱為預測殘餘資料,且指示在待寫碼之區塊中的像素值與經選擇以表示經寫碼區塊之參考區塊中的像素值之間的像素差。為了達成更好的壓縮,預測殘餘資料可(例如)使用離散餘弦變換(DCT)、整數變換、卡忽南-拉維(Karhunen-Loeve,K-L)變換,或另一變換來變換。為進行進一步壓縮,變換係數可經量化。
熵寫碼器接著對與視訊資料之區塊相關聯之符號或語法元素及經量化變換係數進行熵編碼。熵寫碼方案之實例包括上下文自適應性可變長度寫碼(CAVLC)、上下文自適應性二進位算術寫碼(CABAC)、機率區間分割熵寫碼(PIPE),或其類似者。在上下文寫碼之前,視訊編碼器可將正寫碼之每一值的絕對值轉換為二進位化形式。以此方式,正寫碼之每一非零值可(例如)使用將值轉換為具有一或多個位元之碼字或「位元子」的一元寫碼表或其他寫碼方案而「二進位化」。
關於CABAC,作為一實例,視訊寫碼器可選擇機率模型(亦被稱為上下文模型)以對與視訊資料之區塊相關聯的符號進行寫碼。舉例而言,在編碼器處,可藉由使用機率模型而對目標符號進行寫碼。在解碼器處,可藉由使用機率模型而剖析目標符號。在一些例子中,可使用上下文自適應性寫碼與非上下文自適應性寫碼之組合來對位元子進行寫碼。舉例而言,視訊寫碼器可針對一或多個位元子使用旁路模式來略過或省略常規算術寫碼處理程序,而針對其他位元子使用上下文自適應性寫碼。在此等實例中,視訊寫碼器可使用固定機率模型來對該等位元子進行旁路寫碼。亦即,經旁路寫碼位元子不包括上下文或機率更新。一般而言,如關於下文之圖4更詳細地描述,對位元子進行上下文寫碼可被稱為使用上下文寫碼模式對該等位元子進行寫碼。同樣,對位元子進行旁路寫碼可被稱為使用旁路寫碼模式對該等位元子進行寫碼。
用於對語法元素之位元子進行寫碼的上下文模型可係基於先前寫碼之相鄰語法元素之相關位元子的值。作為一實例,用於對當前語法元素之位元子進行寫碼的上下文模型可係基於先前寫碼之相鄰語法元素(例如,在當前語法元素之上部及左側)之相關位元子的值。導出上下文之位置可被稱為上下文支援鄰域(亦被稱為「上下文支援」,或簡稱為「支援」)。舉例而言,關於對有效性映射(例如,指示視訊資料之區塊中之非零變換係數的位置)之位元子進行寫碼,可使用五點支援來定義上下文模型。
在一些實例中,上下文模型(Ctx)可為經應用以選擇複數個不同上下文中之一者的索引或位移,該複數個上下文中之每一者可對應於特定機率模型。因此,在任何狀況下,通常針對每一上下文定義不同機率模型。在對位元子進行寫碼之後,基於位元子之值進一步更新機率模型,以反映針對位元子之最近的機率估計。舉例而言,機率模型可維持為有限狀態機中之狀態。每一特定狀態可對應於特定機率值。對應於機率模型之更新的下一狀態可取決於當前位元子(例如,當前正寫碼的位元子)之值。因此,機率模型之選擇可受先前寫碼之位元子之值的影響,此係因為該等值至少部分地指示該位元子具有給定值的機率。上文所述之上下文寫碼處理程序可大體被稱為上下文自適應性寫碼模式。
上文所述之機率更新處理程序可延遲至寫碼處理程序中。舉例而言,假設為上下文自適應性寫碼之目的,兩個位元子使用同一上下文模型(例如,ctx(0))。在此實例中,第一位元子可使用ctx(0)來判定用於寫碼之機率模型。第一位元子之值影響與ctx(0)相關聯之機率模型。因此,必須在藉由ctx(0)對第二位元子進行寫碼之前執行機率更新。以此方式,機率更新可將延遲引入至寫碼循環中。
關於視訊寫碼,作為另一實例,視訊寫碼器可對參考索引 (ref_idx)之一序列位元子(例如,bin(0)、bin(1)、…bin(n))進行上下文自適應性寫碼。如上文所指出,參考索引(ref_idx)可識別運動向量所指向的在參考圖像清單中之特定圖像。單一參考索引(ref_idx)可包括(例如)多達15個位元子。假設為解釋之目的,視訊寫碼器導出用於對該等位元子進行寫碼之三個上下文,且基於正寫碼之位元子數目應用該等上下文(例如,使用上下文索引ctx(0)、ctx(1)及ctx(2)來指示)。亦即,在此實例中,視訊寫碼器可使用ctx(0)來對bin(0)進行寫碼,使用ctx(1)來對bin(1)進行寫碼,及使用ctx(2)來對剩餘位元子(例如,bin(2)至bin(n))進行寫碼。
在上文所述之實例中,第三上下文(ctx(2))係在數個位元子(例如,多達13個位元子)當中共用。以此方式使用相同機率模型來對bin(2)至bin(n)進行寫碼可在接連的寫碼循環之間產生延遲。舉例而言,如上文所指出,重複地調用同一上下文且在每一位元子之後等待更新模型可呈現針對寫碼器之輸送量的瓶頸。
此外,在bin(2)與bin(n)之間的相關性可能不足以保證與更新機率模型相關聯之時間及計算資源。亦即,上下文自適應性寫碼之一個可能益處為基於先前寫碼之位元子調適機率模型之能力(給定同一上下文)。然而,若第一位元子之值與後續位元子之值具有極小相關性或與其毫無關係,則可能存在與機率更新相關聯的極小效率增益。因此,展現低相關性之位元子受益於上下文自適應性寫碼的程度可能不及具有相對較高相關性之位元子。
本發明之態樣係關於有效地對與框間寫碼之視訊資料相關聯之語法元素進行上下文寫碼。舉例而言,本發明之態樣係關於有效地對參考索引值、運動向量預測子、運動向量差值及其類似者進行寫碼。在一些實例中,視訊寫碼器可針對語法元素之一些位元子執行上下文寫碼,且針對語法元素之其他位元子執行旁路寫碼。
特定地參考上文所述之參考索引寫碼實例,根據本發明之態樣,視訊寫碼器可將ctx(0)應用於bin(0),將ctx(1)應用於bin(1),將ctx(2)應用於bin(2),且可在不需要上下文之情況下對參考索引值的剩餘位元子進行旁路寫碼。換言之,視訊寫碼器可將ctx(2)用作用於對經二進位化之參考索引值之bin(2)進行CABAC寫碼的上下文,但可對在bin(2)之後的任何位元子進行旁路寫碼。
假定參考索引值在長度上可為15個位元子或15個位元子以上,則以此方式限制經上下文寫碼位元子的數目可能相對於對所有參考索引位元子進行上下文寫碼產生計算及/或時間節省。此外,如上文所指出,在參考索引值之位元之間的相關性可能並不高(例如,參考索引值之bin(3)的值可能並不提供關於bin(4)具有值「1」或「0」之可能性的有用指示),此減少上下文寫碼之益處。因此,藉由對參考索引值之較少位元子進行上下文寫碼所節省的時間及計算資源的量可能在價值上超過與對參考索引值之所有位元子進行上下文寫碼相關聯的寫碼效率增益。
本發明之其他態樣大體係關於在寫碼期間對經上下文寫碼位元子與非上下文寫碼位元子進行分群。舉例而言,如上文所指出,可使用上下文寫碼與旁路寫碼之組合來對一些語法元素進行寫碼。亦即,一些語法元素可具有經上下文寫碼之一或多個位元子及經旁路寫碼之一或多個其他位元子。
假設,為實例之目的,兩個語法元素各自具有經上下文寫碼之部分(包括一或多個經上下文寫碼位元子)及經旁路寫碼之部分(包括一或多個經旁路寫碼位元子)。在此實例中,視訊寫碼器可對第一語法元素之經上下文寫碼之部分進行寫碼,隨後對第一語法元素之經旁路寫碼之部分進行寫碼,隨後對第二語法元素之經上下文寫碼之部分進行寫碼,隨後對第二語法元素的經旁路寫碼之部分進行寫碼。
在上文所述之實例中,視訊寫碼器可在上下文寫碼模式與旁路寫碼模式之間切換三次,以對兩個語法元素進行寫碼。舉例而言,在第一語法元素之經上下文寫碼位元子之後、在第一語法元素之經旁路寫碼位元子之後,及在第二語法元素的經上下文寫碼位元子之後,視訊寫碼器在上下文寫碼與旁路寫碼之間切換。以此方式在上下文寫碼與旁路寫碼之間切換在計算上可為低效的。舉例而言,在上下文寫碼與旁路寫碼之間切換可能消耗一或多個時脈循環。因此,針對每一元素在上下文寫碼與旁路寫碼之間切換可能引入潛時,此係歸因於在上下文寫碼與旁路寫碼之間的轉變。
本發明之態樣包括在寫碼期間對經上下文寫碼位元子與非上下文寫碼位元子(例如,旁路位元子)進行分群。舉例而言,關於上文所述之實例,根據本發明之態樣,視訊寫碼器可對第一語法元素之經上下文寫碼位元子進行寫碼,隨後對第二語法元素之經上下文寫碼位元子進行寫碼,隨後對第一語法元素之經旁路寫碼位元子進行寫碼,隨後對第二語法元素的經旁路寫碼位元子進行寫碼。因此,視訊寫碼器僅在上下文寫碼模式與旁路寫碼模式之間(例如,在經上下文寫碼位元子與非上下文寫碼位元子)之間轉變單一次。
以此方式將位元子分群可降低視訊寫碼器在上下文寫碼模式與旁路寫碼模式之間切換的頻率。因此,當對包括經上下文寫碼位元子與經旁路寫碼位元子之組合的語法元素進行寫碼時,本發明之態樣可減少潛時。在一些實例中,如關於下文之圖5至圖8所述,可根據本發明之技術對與預測資料相關聯之位元子進行分群。舉例而言,如本文所述,預測資料可大體包括與框間預測相關聯之資料。舉例而言,預測資料可包括指示參考索引值、運動向量、運動向量預測子、運動向量差值及其類似者之資料。
圖1為說明根據本發明之實例的可經組態以對預測資料進行寫碼 之實例視訊編碼及解碼系統10的方塊圖。如圖1中所示,系統10包括源器件12,源器件12經由通信頻道16將經編碼視訊傳輸至目的地器件14。經編碼視訊資料亦可儲存於儲存媒體34或檔案伺服器36上,且可藉由目的地器件14按需要存取。當儲存至儲存媒體或檔案伺服器時,視訊編碼器20可將經寫碼視訊資料提供至另一器件(諸如,網路介面、緊密光碟(CD)、藍光或數位視訊光碟(DVD)燒錄機或壓印設施器件,或其他器件),以用於將經寫碼視訊資料儲存至儲存媒體。同樣,與視訊解碼器30分離之器件(諸如,網路介面、CD或DVD讀取器,或其類似者)可自儲存媒體擷取經寫碼視訊資料,且將經擷取資料提供至視訊解碼器30。
源器件12及目的地器件14可包含廣泛多種器件中的任一者,包括桌上型電腦、筆記型(亦即,膝上型)電腦、平板電腦、機上盒、諸如所謂之智慧型手機的電話手機、電視、相機、顯示器件、數位媒體播放器、視訊遊戲控制台,或其類似者。在許多狀況下,此等器件可經配備以用於無線通信。因此,通信頻道16可包含無線頻道、有線頻道,或適用於傳輸經編碼視訊資料之無線及有線頻道的組合。類似地,檔案伺服器36可藉由目的地器件14經由任何標準資料連接(包括網際網路連接)存取。此可包括適用於存取儲存於檔案伺服器上之經編碼視訊資料的無線頻道(例如,Wi-Fi連接)、有線連接(例如,DSL、纜線數據機等),或兩者之組合。
根據本發明之實例,用於對預測資料進行寫碼之技術可應用於視訊寫碼以支援多種多媒體應用中之任一者,諸如空中電視廣播、有線電視傳輸、衛星電視傳輸、串流傳輸視訊傳輸(例如,經由網際網路)、用於儲存於資料儲存媒體上之數位視訊的編碼、儲存於資料儲存媒體上之數位視訊的解碼,或其他應用。在一些實例中,系統10可經組態以支援單向或雙向視訊傳輸,以支援諸如視訊串流傳輸、視訊 播放、視訊廣播及/或視訊電話之應用。
在圖1之實例中,源器件12包括視訊源18、視訊編碼器20、調變器/解調變器22及傳輸器24。在源器件12中,視訊源18可包括諸如視訊俘獲器件之源,諸如視訊攝影機、含有先前俘獲之視訊的視訊封存檔、自視訊內容提供者接收視訊之視訊饋送介面,及/或用於產生電腦圖形資料作為源視訊的電腦圖形系統,或此等源之組合。作為一實例,若視訊源18為視訊攝影機,則源器件12及目的地器件14可形成所謂的攝影機電話或視訊電話。然而,本發明中所述之技術可大體適用於視訊寫碼,且可應用於無線及/或有線應用,或經編碼視訊資料儲存於本機磁碟上的應用。
可藉由視訊編碼器20對所俘獲、預先俘獲或電腦產生之視訊進行編碼。經編碼視訊資訊可藉由數據機22根據通信標準(諸如,無線通信協定)加以調變,且經由傳輸器24傳輸至目的地器件14。數據機22可包括各種混頻器、濾波器、放大器或經設計以用於信號調變之其他組件。傳輸器24可包括經設計以用於傳輸資料之電路,包括放大器、濾波器及一或多個天線。
藉由視訊編碼器20所編碼之所俘獲、預先俘獲,或電腦產生之視訊亦可儲存至儲存媒體34或檔案伺服器36上,以供稍後消耗。儲存媒體34可包括藍光光碟、DVD、CD-ROM、快閃記憶體,或用於儲存經編碼視訊之任何其他合適的數位儲存媒體。可接著藉由目的地器件14存取儲存於儲存媒體34上之經編碼視訊以用於解碼及播放。
檔案伺服器36可為能夠儲存經編碼視訊且將彼經編碼視訊傳輸至目的地器件14之任何類型之伺服器。實例檔案伺服器包括網路伺服器(例如,用於網站)、FTP伺服器、網路附接儲存(NAS)器件、本端磁碟機,或能夠儲存經編碼視訊資料且將其傳輸至目的地器件之任何其他類型的器件。經編碼視訊資料自檔案伺服器36之傳輸可為串流傳 輸、下載傳輸,或兩者之組合。檔案伺服器36可藉由目的地器件14經由任何標準資料連接(包括網際網路連接)存取。此可包括適用於存取儲存於檔案伺服器上之經編碼視訊資料的無線頻道(例如,Wi-Fi連接)、有線連接(例如,DSL、纜線數據機、乙太網路、USB等),或兩者之組合。
在圖1之實例中,目的地器件14包括接收器26、數據機28、視訊解碼器30及顯示器件32。目的地器件14之接收器26經由頻道16接收資訊,且數據機28對該資訊進行解調變以產生用於視訊解碼器30的經解調變之位元串流。經由頻道16所傳達之資訊可包括藉由視訊編碼器20產生以供視訊解碼器30在對視訊資料進行解碼時使用的多種語法資訊。此語法亦可與儲存於儲存媒體34或檔案伺服器36上之經編碼視訊資料一起包括在內。視訊編碼器20及視訊解碼器30中之每一者可形成能夠對視訊資料進行編碼或解碼之各別編碼器-解碼器(CODEC)的部分。
顯示器件32可與目的地器件14整合或在目的地器件14外部。在一些實例中,目的地器件14可包括整合式顯示器件,且亦經組態以與外部顯示器件介接。在其他實例中,目的地器件14可為顯示器件。一般而言,顯示器件32向使用者顯示經解碼視訊資料,且可包含多種顯示器件中的任一者,諸如液晶顯示器(LCD)、電漿顯示器、有機發光二極體(OLED)顯示器,或另一類型之顯示器件。
在圖1之實例中,通信頻道16可包含任何無線或有線通信媒體,諸如射頻(RF)頻譜或一或多個實體傳輸線,或無線媒體與有線媒體之任何組合。通信頻道16可形成諸如區域網路、廣域網路或全球網路(諸如,網際網路)之基於封包之網路的部分。通信頻道16大體表示用於將視訊資料自源器件12傳輸至目的地器件14的任何合適的通信媒體或不同通信媒體之集合,包括有線或無線媒體之任何合適組合。通信 頻道16可包括路由器、交換器、基地台,或可用以促進自源器件12至目的地器件14之通信的任何其他設備。
視訊編碼器20及視訊解碼器30可根據諸如目前在開發中的高效率視訊寫碼(HEVC)標準之視訊壓縮標準而操作,且可符合HEVC測試模型(HM)。或者,視訊編碼器20及視訊解碼器30可根據諸如ITU-T H.264標準(或者被稱為MPEG-4第10部分,進階視訊寫碼(AVC))之其他專屬或工業標準或此等標準之擴展而操作。然而,本發明之技術不限於任何特定寫碼標準。其他實例包括MPEG-2及ITU-T H.263。
儘管未展示於圖1中,但在一些態樣中,視訊編碼器20及視訊解碼器30可各自與音訊編碼器及解碼器整合,且可包括適當的MUX-DEMUX單元或其他硬體及軟體,以處置共同資料串流或單獨資料串流中之音訊及視訊兩者的編碼。若適用,則在一些實例中,MUX-DEMUX單元可符合ITU H.223多工器協定,或諸如使用者資料報協定(UDP)之其他協定。
視訊編碼器20及視訊解碼器30各自可實施為多種合適的編碼器或解碼器電路中之任一者(若適用),包括處理器(諸如,一或多個微處理器、數位信號處理器(DSP)、專用處理器或處理電路)、特殊應用積體電路(ASIC)、場可程式化閘陣列(FPGA)、固定邏輯電路、離散邏輯、軟體、硬體、韌體或其任何組合。因此,視訊編碼器20及視訊解碼器30內之各種單元同樣可藉由多種此等結構元件或其組合中之任一者來實施。當該等技術部分地以軟體實施時,器件可將用於軟體之指令儲存於合適的非暫時性電腦可讀媒體中,且使用一或多個處理器在硬體中執行該等指令以執行本發明之技術。視訊編碼器20及視訊解碼器30中之每一者可包括於一或多個編碼器或解碼器中,其中任一者可整合為各別器件中之組合式編碼器/解碼器(CODEC)的部分。
本發明可大體涉及視訊編碼器20將某些資訊「傳訊」至諸如視 訊解碼器30之另一器件。然而,應理解,視訊編碼器20可藉由使某些語法元素與視訊資料之各種經編碼部分相關聯來傳訊資訊。亦即,視訊編碼器20可藉由將某些語法元素儲存至視訊資料之各種經編碼部分的標頭來「傳訊」資料。在一些狀況下,可在藉由視訊解碼器30接收及解碼之前編碼及儲存此等語法元素(例如,儲存至儲存器件32)。因此,術語「傳訊」可大體指代用於對經壓縮視訊資料進行解碼之語法或其他資料的通信,而不管此通信係即時抑或接近即時抑或在一時間跨度內發生,諸如在於編碼時將語法元素儲存至媒體時可能發生,該等語法元素接著可在儲存至此媒體之後的任何時間藉由解碼器件擷取。
如上文所指出,JCT-VC正致力於HEVC標準之開發。HEVC標準化努力係基於視訊寫碼器件之演進模型,其被稱為HEVC測試模型(HM)。HM假定視訊寫碼器件相對於根據(例如)ITU-T H.264/AVC之現有器件的若干額外能力。本發明通常使用術語「視訊區塊」來指代CU之寫碼節點。在一些特定狀況下,本發明亦可使用術語「視訊區塊」來指代包括一寫碼節點及若干PU及TU的樹區塊(亦即,LCU或CU)。
視訊序列通常包括一系列視訊圖框或圖像。圖像群組(GOP)一般包含一系列一或多個視訊圖像。GOP可在GOP之標頭、圖像中之一或多者的標頭中或在其他位置包括語法資料,該語法資料描述包括於GOP中之圖像的數目。圖像之每一圖塊可包括描述該各別圖塊之編碼模式的圖塊語法資料。視訊編碼器20通常對個別視訊圖塊內之視訊區塊操作,以便對視訊資料進行編碼。視訊區塊可對應於CU內之寫碼節點。視訊區塊可具有固定或變化之大小,且可根據所指定之寫碼標準而在大小上不同。
作為實例且如上文所指出,HM支援以各種PU大小(亦被稱為PU 類型)進行預測。假設特定CU之大小為2N×2N,則HM支援以2N×2N或N×N之PU大小進行框內預測,及以2N×2N、2N×N、N×2N或N×N之對稱PU大小進行框間預測。HM亦支援以2N×nU、2N×nD、nL×2N及nR×2N之PU大小進行框間預測之非對稱分割。在非對稱分割中,CU之一方向未分割,而另一方向分割為25%及75%。CU之對應於25%分割之部分係藉由「n」繼之以「U(上)」、「D(下)」、「L(左)」或「R(右)」之指示來指示。因此,舉例而言,「2N×nU」指代以頂部2N×0.5N PU及底部2N×1.5N PU水平分割之2N×2N CU。其他分割類型亦為可能的。
在本發明中,「N×N」及「N乘N」可互換地使用以依據垂直維度及水平維度指代視訊區塊的像素維度,例如,16×16個像素或16乘16個像素。一般而言,16×16區塊在垂直方向上將具有16個像素(y=16),且在水平方向上將具有16個像素(x=16)。同樣,N×N區塊一般在垂直方向上具有N個像素且在水平方向上具有N個像素,其中N表示非負整數值。可以列及行來配置區塊中之像素。此外,區塊無需在水平方向上及在垂直方向上具有相同數目個像素。舉例而言,區塊可包含N×M個像素,其中M未必等於N。
在使用CU之PU進行框內預測性或框間預測性寫碼之後,視訊編碼器20可計算用於CU之TU的殘餘資料。PU可包含在空間域(亦被稱為像素域)中之像素資料,且TU可包含在將變換應用於殘餘視訊資料之後在變換域中的係數,該變換例如離散餘弦變換(DCT)、整數變換、小波變換,或概念上類似的變換。殘餘資料可對應於未經編碼原始圖像之像素與對應於PU之預測值之間的像素差。視訊編碼器20可形成包括用於CU之殘餘資料的TU,且接著變換該等TU以產生用於CU的變換係數。
在一些實例中,如上文所指出,可根據RQT來定義TU。舉例而 言,RQT可表示對與視訊資料之區塊相關聯之殘餘明度樣本及殘餘色度樣本應用轉換(例如,DCT、整數轉換、小波轉換或一或多個其他轉換)的方式。亦即,如上文所指出,可使用RQT將對應於CU之殘餘樣本再分為多個較小單元。一般而言,RQT為CU至TU的分割之遞歸表示。
在對殘餘資料應用任何變換以產生變換係數之後,視訊編碼器20可執行變換係數之量化。量化一般指代將變換係數量化以可能地減少用以表示該等係數之資料量從而提供進一步壓縮的處理程序。量化處理程序可減小與係數中之一些或全部相關聯的位元深度。舉例而言,n位元值可在量化期間捨位至m位元值,其中n大於m
在一些實例中,視訊編碼器20可利用預定義掃描次序來掃描經量化變換係數,以產生可經熵編碼的串列化向量。在其他實例中,視訊編碼器20可執行自適應性掃描。在掃描經量化變換係數以形成一維向量之後,視訊編碼器20可(例如)根據上下文自適應性可變長度寫碼(CAVLC)、上下文自適應性二進位算術寫碼(CABAC)、基於語法之上下文自適應性二進位算術寫碼(SBAC)、機率區間分割熵(PIPE)寫碼或另一熵編碼方法而對該一維向量進行熵編碼。視訊編碼器20亦可對與經編碼視訊資料相關聯之語法元素進行熵編碼,以供視訊解碼器30在解碼視訊資料時使用。HEVC之當前版本經設計以使用CABAC以用於熵寫碼。
在一些實例中,視訊編碼器20可使用上下文自適應性寫碼與非上下文自適應性寫碼之組合來對語法元素進行寫碼。舉例而言,視訊編碼器20可藉由選擇對上下文操作以對位元子進行寫碼之機率模型或「上下文模型」而對位元子進行上下文寫碼。對比而言,當對位元子進行寫碼時,視訊編碼器20可藉由略過或省略常規算術寫碼處理程序而對位元子進行旁路寫碼。在此等實例中,視訊編碼器20可使用固定 機率模型來對該等位元子進行旁路寫碼。
如上文所指出,與上下文寫碼相關聯之機率模型更新處理程序可將延遲引入至寫碼處理程序中。舉例而言,視訊編碼器20可對參考索引(ref_idx)之位元子序列(例如,bin(0)、bin(1)、…bin(n))進行上下文寫碼。單一參考索引(ref_idx)可包括(例如)多達15個位元子。假設為解釋之目的,視訊編碼器20導出用於對該等位元子進行寫碼之三個上下文,且基於正寫碼之位元子數目應用該等上下文(例如,使用上下文索引ctx(0)、ctx(1)及ctx(2)來指示)。亦即,在此實例中,視訊編碼器20可使用ctx(0)來對bin(0)進行寫碼,使用ctx(1)來對bin(1)進行寫碼,且使用ctx(2)來對剩餘位元子(例如,bin(2)至bin(n))進行寫碼。
在上文所述之實例中,第三上下文(ctx(2))係在數個位元子(例如,多達13個位元子)當中共用。以此方式使用同一機率模型來對bin(2)至bin(n)進行寫碼可在接連的寫碼循環之間產生延遲。舉例而言,重複地調用同一上下文且在每一位元子之後等待更新模型可呈現針對寫碼器之輸送量的瓶頸。
此外,在bin(2)與bin(n)之間的相關性可能不足以保證與更新機率模型相關聯之時間及計算資源。亦即,上下文自適應性寫碼之一可能的益處為基於先前寫碼之位元子調適機率模型之能力(給定同一上下文)。然而,若第一位元子之值與後續位元子之值具有極小相關性或與其毫無關係,則可能存在與機率更新相關聯的極小效率增益。因此,展現低相關性之位元子受益於上下文自適應性寫碼的程度可能不及具有相對較高之相關性的位元子。
根據本發明之態樣,視訊編碼器20可藉由以下操作而對參考索引語法元素進行編碼:藉由上下文自適應性二進位算術寫碼(CABAC)處理程序對經二進位化之參考索引值的至少一位元子進行寫碼,且藉由上下文自適應性二進位算術寫碼(CABAC)處理程序之旁路寫碼模式 對經二進位化之參考索引值的至少另一位元子進行寫碼。
在一實例中,為說明之目的,視訊編碼器20可將ctx(0)應用於bin(0),將ctx(1)應用於bin(1),將ctx(2)應用於bin(2),且可在不需要上下文之情況下對參考索引值的剩餘位元子進行旁路寫碼。換言之,視訊寫碼器可將ctx(2)用作用於對經二進位化之參考索引值之bin(2)進行CABAC寫碼的上下文,但可對在bin(2)之後之任何位元子進行旁路寫碼。
假定參考索引值在長度上可為15個位元子或以上,以此方式限制經上下文寫碼之位元子的數目可相對於對所有參考索引位元子進行上下文寫碼產生計算及/或時間節省。此外,如上文所指出,在參考索引值之位元之間的相關性可能並不高(例如,參考索引值之bin(3)的值可能並不提供關於bin(4)具有值「1」或「0」之可能性的有用指示),此減少上下文寫碼之益處。因此,藉由對參考索引值之較少位元子進行上下文寫碼所節省的時間及計算資源的量可能在價值上超過與對參考索引值之所有位元子進行上下文寫碼相關聯的寫碼效率增益。
根據本發明之其他態樣,視訊編碼器20可在編碼期間對經上下文寫碼位元子及非上下文寫碼位元子進行分群。舉例而言,如上文所指出,一些語法元素可使用上下文寫碼與旁路寫碼之組合來寫碼。亦即,一些語法元素可具有經上下文寫碼之一或多個位元子,及經旁路寫碼之一或多個其他位元子。
在一些實例中,視訊編碼器20可在上下文寫碼與旁路寫碼之間切換,以對語法元素之序列進行寫碼。然而,在上下文寫碼與旁路寫碼之間切換可能消耗一或多個時脈循環。因此,針對每一元素在上下文寫碼與旁路寫碼之間切換可引入潛時,此係歸因於在上下文寫碼與旁路寫碼之間的轉變。
根據本發明之態樣,視訊編碼器20可在寫碼期間對經上下文寫碼位元子及非上下文寫碼位元子(例如,旁路位元子)進行分群。舉例而言,視訊編碼器20可對與一個以上語法元素相關聯之位元子進行上下文寫碼。視訊編碼器20可接著對與一個以上語法元素相關聯之位元子進行旁路寫碼。在其他實例中,視訊編碼器20可在上下文寫碼之前執行旁路寫碼。在任何情況下,該等技術允許視訊編碼器20最小化在上下文寫碼與旁路寫碼之間的轉變。因此,當對包括經上下文寫碼位元子與經旁路寫碼位元子之組合的語法元素進行寫碼時,本發明之態樣可減少潛時。
在接收到經寫碼視訊資料後,視訊解碼器30可隨即執行與關於視訊編碼器20所述之編碼遍次大體上互反的解碼遍次。舉例而言,視訊解碼器30可接收經編碼位元串流且對該位元串流進行解碼。根據本發明之態樣,舉例而言,視訊解碼器30可藉由以下操作而對參考索引語法元素進行解碼:藉由上下文自適應性二進位算術寫碼(CABAC)處理程序對經二進位化之參考索引值的至少一位元子進行寫碼,且藉由上下文自適應性二進位算術寫碼(CABAC)處理程序之旁路寫碼模式對經二進位化之參考索引值的至少另一位元子進行寫碼。
根據本發明之其他態樣,視訊解碼器30可對具有經分群之經上下文寫碼位元子及非上下文寫碼位元子(例如,旁路位元子)的位元串流進行解碼。舉例而言,視訊解碼器30可對與一個以上語法元素相關聯之經上下文寫碼位元子進行解碼。視訊解碼器30可接著對與一個以上語法元素相關聯之經旁路寫碼位元子進行解碼。在其他實例中,視訊解碼器30可在上下文寫碼之前執行旁路寫碼(取決於正解碼之位元串流中之位元子的配置)。在任何情況下,該等技術允許視訊解碼器30最小化在上下文寫碼與旁路寫碼之間的轉變。因此,當對包括經上下文寫碼位元子與經旁路寫碼位元子之組合的語法元素進行寫碼時, 本發明之態樣可減少潛時。
圖2為說明根據本發明之實例的可使用用於對預測資料進行寫碼之技術的視訊編碼器20之實例的方塊圖。儘管為說明之目的在HEVC寫碼之內容脈絡下描述視訊編碼器20的態樣,但本發明之技術不限於可能需要預測資料之寫碼的任何特定寫碼標準或方法。
視訊編碼器20可執行視訊圖像內之CU之框內寫碼及框間寫碼。框內寫碼依賴於空間預測以減少或移除給定圖像內之視訊資料的空間冗餘。框間寫碼依賴於時間預測以減少或移除在視訊序列之當前圖像與先前寫碼圖像之間的時間冗餘。框內模式(I模式)可指代若干基於空間之視訊壓縮模式中的任一者。框間模式(諸如,單向預測(P模式)或雙向預測(B模式))可指代若干基於時間之視訊壓縮模式中的任一者。
如圖2中所示,視訊編碼器20接收待編碼之圖像內之當前視訊區塊。在圖2之實例中,視訊編碼器20包括運動補償單元44、運動估計單元42、框內預測單元46、參考圖像記憶體64、求和器50、變換處理單元52、量化單元54及熵編碼單元56。圖2中所說明之變換處理單元52為如下單元:將實際變換或變換之組合應用於殘餘資料之區塊,且不與變換係數之區塊混淆,其亦可被稱為CU的變換單元(TU)。針對視訊區塊重建構,視訊編碼器20亦包括反量化單元58、反變換處理單元60及求和器62。解區塊濾波器(未展示於圖2中)亦可被包括以對區塊邊界進行濾波,以自經重建構視訊移除方塊效應假影。若需要,則解區塊濾波器將通常對求和器62之輸出進行濾波。
在編碼處理程序期間,視訊編碼器20接收待寫碼之圖像或圖塊。圖像或圖塊可劃分為多個視訊區塊,例如,最大寫碼單元(LCU)。運動估計單元42及運動補償單元44相對於一或多個參考圖像中之一或多個區塊執行所接收視訊區塊之框間預測性寫碼,以提供時間壓縮。框內預測單元46可相對於與待寫碼之所接收視訊區塊相同之 圖像或圖塊中的一或多個相鄰區塊而執行該區塊之框內預測性寫碼,以提供空間壓縮。
模式選擇單元40可(例如)基於針對每一模式之錯誤(亦即,失真)結果而選擇寫碼模式(框內或框間)中的一者,且將所得之框內或框間預測區塊(例如,預測單元(PU))提供至求和器50以產生殘餘區塊資料且提供至求和器62以重建構經編碼區塊以用於參考圖像中。求和器62組合所預測區塊與針對該區塊的來自反變換處理單元60之經反量化、反變換之資料,以重建構經編碼區塊,如下文更詳細地描述。一些圖像可指明為I圖框,其中I圖框中之所有區塊係在框內預測模式下編碼。在一些狀況下,(例如)當藉由運動估計單元42所執行之運動搜尋不產生區塊之足夠預測時,框內預測單元46可執行前向預測圖像(P圖框)或雙向預測圖像(B圖框)中之區塊的框內預測編碼。
運動估計單元42與運動補償單元44可為高度整合的,但針對概念性目的而單獨說明。運動估計(或運動搜尋)為產生運動向量之處理程序,其估計視訊區塊的運動。運動向量(例如)可指示當前圖像中之預測單元相對於參考圖像之參考樣本的位移。運動估計單元42藉由比較預測單元與儲存於參考圖像記憶體64中之參考圖像的參考樣本而計算用於框間寫碼圖像之預測單元的運動向量。
預測性區塊(亦被稱為參考樣本)為就像素差而言被發現緊密匹配待寫碼之區塊的區塊,該像素差可藉由絕對差值和(SAD)、平方差值和(SSD)或其他差值量度來判定。在一些實例中,視訊編碼器20可計算儲存於參考圖像記憶體64中之參考圖像之次整數像素位置的值,參考圖像記憶體64亦可被稱為參考圖像緩衝器。舉例而言,視訊編碼器20可內插參考圖像之四分之一像素位置、八分之一像素位置或其他分率像素位置之值。因此,運動估計單元42可執行相對於全像素位置及分率像素位置之運動搜尋,且以分率像素精度輸出運動向量。
運動估計單元42藉由比較框間寫碼圖塊中之視訊區塊的PU之位置與參考圖像之預測性區塊的位置而計算該PU之運動向量。因此,一般而言,運動向量之資料可包括參考圖像清單、至參考圖像清單中之索引(ref_idx)、水平分量,及垂直分量。可自第一參考圖像清單(清單0)、第二參考圖像清單(清單1)或組合式參考圖像清單(清單c)選擇參考圖像,該等清單中之每一者識別儲存於參考圖像記憶體64中之一或多個參考圖像。
運動估計單元42可產生識別參考圖像之預測性區塊的運動向量,且將該運動向量發送至熵編碼單元56及運動補償單元44。亦即,運動估計單元42可產生及發送如下運動向量資料:識別含有預測性區塊之參考圖像清單、至參考圖像清單中的識別預測性區塊之圖像的索引,及在所識別圖像內定位預測性區塊的水平分量及垂直分量。
在一些實例中,並非發送用於當前PU之實際運動向量,而是運動估計單元42可預測運動向量以進一步減少傳達運動向量所需之資料的量。在此狀況下,並非編碼及傳達運動向量自身,而是運動估計單元42可相對於已知的(或可知的)運動向量產生運動向量差(MVD)。MVD可包括對應於已知運動向量之水平分量及垂直分量的水平分量及垂直分量。可藉由所謂的運動向量預測子(MVP)來定義可供MVD使用以定義當前運動向量的已知運動向量。一般而言,作為有效的MVP,用於預測之運動向量必須指向與當前正寫碼之運動向量相同的參考圖像。
當多個運動向量預測子候選者可用(來自多個候選區塊)時,運動估計單元42可根據預定選擇準則判定用於當前區塊之運動向量預測子。舉例而言,運動估計單元42可基於編碼速率及失真之分析(例如,使用速率-失真成本分析或其他寫碼效率分析)自候選者集合選擇最準確的預測子。在其他實例中,運動估計單元42可產生運動向量預 測子候選者之平均值。選擇運動向量預測子之其他方法亦為可能的。
在選擇運動向量預測子後,運動估計單元42可隨即判定運動向量預測子索引(mvp_flag),該運動向量預測子索引(mvp_flag)可用以向視訊解碼器(例如,諸如視訊解碼器30)通知在含有MVP候選區塊之參考圖像清單中的何處定位MVP。運動估計單元42亦可判定當前區塊與所選擇MVP之間的MVD(水平分量及垂直分量)。MVP索引及MVD可用以重建構運動向量。
在一些實例中,運動估計單元42可替代地實施所謂的「合併模式」,其中運動估計單元42可「合併」預測性視訊區塊與當前視訊區塊之運動資訊(諸如,運動向量、參考圖像索引、預測方向,或其他資訊)。因此,關於合併模式,當前視訊區塊自另一已知的(或可知的)視訊區塊繼承運動資訊。運動估計單元42可建置包括在空間及/或時間方向上之若干相鄰區塊的合併模式候選者清單作為用於合併模式之候選者。運動估計單元42可判定索引值(例如,merge_idx),該索引值可用以向視訊解碼器(例如,諸如視訊解碼器30)通知在含有合併候選區塊之參考圖像清單中的何處定位合併視訊區塊。
作為對藉由運動估計單元42及運動補償單元44所執行之框間預測的替代,框內預測單元46可框內預測所接收區塊。框內預測單元46可相對於相鄰的先前寫碼區塊預測所接收區塊,該等先前寫碼區塊例如當前區塊之上方、右上方、左上方,或左方的區塊(假設針對區塊的自左至右、自上而下編碼次序)。可藉由多種不同的框內預測模式來組態框內預測單元46。舉例而言,基於正編碼之CU的大小,框內預測單元46可組態有某一數目個方向性預測模式,例如,三十四個方向性預測模式。
框內預測單元46可藉由(例如)計算針對各種框內預測模式之錯誤值及選擇產生最低錯誤值之模式而選擇框內預測模式。方向性預測模 式可包括用於組合空間相鄰像素之值及將該等組合值應用於PU中的一或多個像素位置之功能。一旦已計算出PU中的所有像素位置之值,框內預測單元46即可基於在PU與待編碼之所接收區塊之間的像素差來計算針對該預測模式之錯誤值。框內預測單元46可繼續測試框內預測模式,直至發現得到可接受的錯誤值之框內預測模式為止。框內預測單元46可接著將PU發送至求和器50。
視訊編碼器20藉由自正寫碼之原始視訊區塊減去藉由運動補償單元44或框內預測單元46所計算之預測資料來形成殘餘區塊。求和器50表示執行此減法運算之(多個)組件。殘餘區塊可對應於像素差值之二維矩陣,其中殘餘區塊中之值的數目與對應於殘餘區塊之PU中之像素的數目相同。殘餘區塊中之值可對應於PU中與待寫碼之原始區塊中的協同定位之像素之值之間的差(亦即,錯誤)。該等差可為色度差或明度差,此取決於經寫碼之區塊的類型。
變換處理單元52可自殘餘區塊形成一或多個變換單元(TU)。變換處理單元52自複數個變換當中選擇變換。可基於一或多個寫碼特性(諸如,區塊大小、寫碼模式,或其類似者)選擇變換。變換處理單元52接著將所選擇變換應用於TU,從而產生包含變換係數之二維陣列的視訊區塊。
變換處理單元52可將所得變換係數發送至量化單元54。量化單元54可接著量化變換係數。熵編碼單元56可接著根據掃描模式執行矩陣中之經量化變換係數的掃描。本發明將熵編碼單元56描述為執行掃描。然而,應理解,在其他實例中,諸如量化單元54之其他處理單元可執行掃描。
一旦變換係數掃描至一維陣列中,熵編碼單元56即可將熵寫碼應用於係數,該熵寫碼諸如CAVLC、CABAC、基於語法之上下文自適應性二進位算術寫碼(SBAC)、機率區間分割熵(PIPE),或另一熵寫 碼方法。
為了執行CABAC,熵編碼單元56可選擇上下文模型來應用於某一上下文來對待傳輸之符號進行編碼。該上下文可與(例如)相鄰值是否為非零相關。熵編碼單元56亦可對語法元素(諸如表示所選擇變換之信號)進行熵編碼。
熵編碼單元56可對預測資料進行熵編碼。當視訊資料係經框間預測時,例如,預測資料可包括指示參考索引值、運動向量、運動向量預測子、運動向量差值及其類似者之資料。亦即,如上文所指出,運動估計(藉由運動估計單元42)判定參考圖像之一或多個索引(ref_idx),及預測方向(pred_dir:前向、後向或雙向)。熵編碼單元56可對表示運動向量(例如,運動向量之水平分量及垂直分量)、參考圖像索引及預測方向之語法元素進行熵編碼。熵編碼單元56可包括至經編碼視訊位元串流中之經編碼語法元素,該等經編碼語法元素可接著藉由視訊解碼器(諸如,視訊解碼器30,下文所述)解碼以用於視訊解碼處理程序中。亦即,可針對框間寫碼PU提供此等語法元素,以准許視訊解碼器30解碼及再現由PU定義之視訊資料。
在一些實例中,如關於下文之圖4更詳細地描述,熵編碼單元56(或視訊編碼器20之另一寫碼單元)可在對語法元素進行熵編碼之前二進位化該等語法元素。舉例而言,熵編碼單元56可將正寫碼之每一語法元素的絕對值轉換為二進位形式。熵編碼單元56可使用一元、截斷式一元,或其他寫碼處理程序來二進位化語法元素。關於參考索引值,舉例而言,若參考圖像清單中之參考圖像的最大數目為四,亦即,參考索引(ref_idx)具有範圍自0至3之值,則可應用表1中之以下二進位化:
如表1中所示,取決於參考索引之值,二進位化值在一位元至三個位元的範圍內。
在一些實例中,熵編碼單元56可使用三個不同的上下文(例如,ctx0、ctx1及ctx2)對參考索引值進行熵編碼。舉例而言,熵編碼單元56可分別使用ctx0及ctx1對第一位元子(bin0)及第二位元子(bin1)進行熵編碼,且第三位元子(bin2)及其他位元子係藉由上下文ctx2來寫碼。在此實例中,ctx2係在自bin2開始且包括bin2之位元子(亦即,bin2及bin2之後的位元子,例如,bin3、bin4等等)中的全部當中共用。在一些實例中,(例如)若參考圖像之最大數目大於四,則可提供超過bin2之額外位元子。
如上文所指出,在位元子當中共用上下文ctx2可為低效的,此係歸因於與上下文寫碼相關聯之機率更新。根據本發明之態樣,熵編碼單元56可藉由將ctx2專用於對bin2進行寫碼且使用旁路寫碼模式對在bin2之後的所有位元子進行寫碼來對參考索引值進行CABAC寫碼。再次,旁路寫碼一般包括使用固定機率對位元子進行寫碼(不需要上下文)。舉例而言,熵編碼單元56可使用哥倫布寫碼、指數哥倫布寫碼(exponential Golomb coding)、哥倫布-萊斯寫碼(Golomb-Rice coding),或略過CABAC寫碼引擎之其他寫碼處理程序來對參考索引值之在bin2之後的位元子進行旁路寫碼。
在另一實例中,熵編碼單元56可藉由移除ctx2而對參考索引值之較少位元子進行上下文寫碼。亦即,根據本發明之態樣,熵編碼單元56可使用CABAC旁路模式對bin2及所有稍後位元子進行編碼。在此 實例中,熵編碼單元56可使用上下文ctx0對bin0進行CABAC寫碼,且使用上下文ctx1對bin1進行CABAC寫碼,且可使用CABAC旁路模式旁路對bin2及在bin2之後的其他位元子進行寫碼。以此方式移除上下文可降低與對參考索引值進行寫碼相關聯之總體複雜性。
在又一實例中,熵編碼單元56可藉由移除ctx1及ctx2兩者而對參考索引值之較少位元子進行寫碼。亦即,根據本發明之態樣,熵編碼單元56可使用CABAC旁路模式對bin1及所有稍後位元子進行編碼,藉此進一步降低與對參考索引值進行寫碼相關聯之複雜性。在此實例中,熵編碼單元56可使用上下文ctx0對bin0進行CABAC寫碼,且可使用CABAC旁路模式對bin1、bin2及在bin2之後的其他位元子進行旁路寫碼。
本發明之其他態樣大體係關於熵編碼單元56二進位化參考索引值之方式。舉例而言,如上文所指出,熵編碼單元56可使用一元、截斷式一元,或其他寫碼處理程序二進位化參考索引值。在另一實例中,熵編碼單元56可使用指數-哥倫布寫碼處理程序來二進位化參考索引值。
在一些實例中,根據本發明之態樣,熵編碼單元56可實施二進位化處理程序之組合。舉例而言,如關於下文之圖4更詳細地描述,熵編碼單元56可組合一元(或截斷式一元)寫碼處理程序與指數-哥倫布寫碼處理程序以二進位化參考索引值。在一實例中,為說明之目的,熵編碼單元56可組合具有長度(4)之截斷式一元碼與指數-哥倫布碼(例如,0階之指數-哥倫布碼)。在此實例中,熵編碼單元56可使用一元碼二進位化參考索引值之第一數目個位元子(例如,兩個、三個、四個,或其類似者),且可使用指數-哥倫布碼二進位化參考索引的剩餘位元子。
在任何狀況下,熵編碼單元56可實施用於藉由任何二進位化方 案對參考索引值之一或多個位元子進行上下文寫碼且對參考索引值之一或多個其他位元子進行旁路寫碼的技術。舉例而言,如上文所指出,熵編碼單元56可對經二進位化之語法元素的第一數目個位元子進行上下文寫碼(例如,CABAC寫碼),且對剩餘位元子進行旁路寫碼。在具有長度(4)之截斷式一元碼與0階之指數哥倫布碼組合的上文所述之實例中,熵編碼單元56可對截斷式一元碼之前兩個位元子(或任何其他數目個位元子)進行上下文寫碼,且接著對一元碼之第二部分及整個指數哥倫布碼進行旁路寫碼。在其他實例中,熵編碼單元56可使用其他二進位化方案。舉例而言,熵編碼單元56可使用固定長度二進位碼,而非在以上實例中所述的指數哥倫布碼。
在一些實例中,熵編碼單元56可在對經二進位化之參考索引值進行寫碼之前自該值截斷或移除位元子。另外或替代地,熵編碼單元56可對使用上下文所寫碼之位元子與使用旁路模式所寫碼之位元子進行分群。舉例而言,熵編碼單元56可藉由以下操作對B圖像的參考索引進行寫碼:對第一參考索引值之一或多個位元子進行上下文寫碼,對第二索引值之一或多個位元子進行上下文寫碼、對第一參考索引值之一或多個其他位元子進行旁路寫碼,且對第二參考索引值的一或多個其他位元子進行旁路寫碼(以上文所呈現之次序)。因此,熵編碼單元56僅在上下文寫碼模式與旁路寫碼模式之間(例如,在經上下文寫碼位元子與非上下文寫碼位元子之間)轉變單一次。
在藉由熵編碼單元56熵寫碼之後,可將所得經編碼視訊傳輸至另一器件(諸如,視訊解碼器30)或加以封存以供稍後傳輸或擷取。反量化單元58及反變換處理單元60分別應用反量化及反變換,以在像素域中重建構殘餘區塊(例如)以供稍後用作參考區塊。
運動補償單元44可藉由將殘餘區塊相加至參考圖像記憶體64之圖像中之一者的預測性區塊而計算參考區塊。運動補償單元44亦可將 一或多個內插濾波器應用於經重建構之殘餘區塊,以計算用於運動估計中之次整數像素值。
求和器62將經重建構之殘餘區塊相加至由運動補償單元44產生之經運動補償之預測區塊,以產生經重建構之視訊區塊以用於儲存於參考圖像記憶體64中。經重建構之視訊區塊可由運動估計單元42及運動補償單元44用作參考區塊,以對後續圖像中之區塊進行框間寫碼。
圖3為說明對經編碼視訊序列進行解碼之視訊解碼器30之實例的方塊圖。在圖3之實例中,視訊解碼器30包括熵解碼單元70、運動補償單元72、框內預測單元74、反量化單元76、反變換單元78、參考圖像記憶體82及求和器80。
作為背景,視訊解碼器30可接收經壓縮視訊資料,該經壓縮視訊資料已經壓縮以供經由網路傳輸至所謂的「網路抽象層單元」或NAL單元中。每一NAL單元可包括識別儲存至該NAL單元之資料之類型的標頭。存在通常儲存至NAL單元之兩種類型之資料。儲存至NAL單元之第一類型的資料為視訊寫碼層(VCL)資料,其包括經壓縮視訊資料。儲存至NAL單元之第二類型的資料被稱為非VCL資料,其包括諸如定義為大量NAL單元所共有之標頭資料的參數集合及補充增強資訊(SEI)的額外資訊。
舉例而言,參數集合可含有序列層級標頭資訊(例如,在序列參數集合(SPS)中)及不頻繁改變之圖像層級標頭資訊(例如,在圖像參數集合(PPS)中)。不需要針對每一序列或圖像重複含於參數集合中之不頻繁改變之資訊,藉此改良寫碼效率。另外,參數集合之使用實現標頭資訊之頻帶外傳輸,藉此避免為達成錯誤恢復而進行冗餘傳輸的需要。
在解碼處理程序期間,視訊解碼器30接收表示經編碼視訊圖塊之視訊區塊及相關聯之語法元素的經編碼視訊位元串流。一般而言, 熵解碼單元70對進行位元串流熵解碼以產生經量化係數、運動向量及其他語法元素。視訊解碼器30可在視訊圖塊層級及/或視訊區塊層級處接收語法元素。
舉例而言,當視訊圖塊寫碼為框內寫碼(I)圖塊時,框內預測單元74可基於經傳訊之框內預測模式及來自當前圖像之先前解碼區塊的資料而產生用於當前視訊圖塊之視訊區塊的預測資料。當圖像寫碼為框間寫碼(亦即,B、P或GPB)圖塊時,運動補償單元72基於自熵解碼單元70接收之運動向量及其他語法元素產生用於當前視訊圖塊之視訊區塊的預測性區塊(亦被稱為參考樣本)。可自參考圖像清單中之一者內的參考圖像中之一者產生預測性區塊。視訊解碼器30可基於儲存於參考圖像記憶體82中之參考圖像使用預設建構技術來建構參考圖像清單(清單0及清單1)。
熵解碼單元70可使用在視訊編碼器20處所實施之相同處理程序(例如,CABAC、CAVLC等)來對位元串流進行解碼。由編碼器使用之熵寫碼處理程序可在經編碼位元串流中傳訊或可為預定處理程序。舉例而言,熵解碼單元70可接收經編碼之經二進位化語法元素。熵解碼單元70可對位元串流進行解碼(例如,使用上下文自適應性模式或旁路模式)且二進位化經解碼值,以產生經解碼語法元素。
在一些例子中,熵解碼單元70可對預測資料進行熵解碼。如上文關於視訊編碼器20所指出,預測資料可包括指示參考索引值、運動向量、運動向量預測子、運動向量差值及其類似者之資料。亦即,熵解碼單元70可對表示運動向量(例如,運動向量之水平分量及垂直分量)、參考圖像索引及預測方向之語法元素進行熵解碼。可針對框間寫碼PU提供此等語法元素,以准許視訊解碼器30解碼及再現藉由PU所定義之視訊資料。
在一些實例中,如上文所指出,熵解碼單元70可使用三個不同 的上下文(例如,ctx0、ctx1及ctx2)對參考索引值進行熵解碼。舉例而言,熵解碼單元56可分別使用ctx0及ctx1對第一位元子(bin0)及第二位元子(bin1)進行熵解碼,且藉由上下文ctx2對第三位元子(bin2)及其他位元子進行解碼。在位元子當中共用上下文ctx2可為低效的,此係歸因於與上下文寫碼相關聯之機率更新。
根據本發明之態樣,熵解碼單元70可藉由將ctx2專用於對bin2進行寫碼且使用旁路寫碼模式對在bin2之後的所有位元子進行寫碼來對參考索引值進行CABAC寫碼。在另一實例中,熵解碼單元70可藉由移除ctx2而對參考索引值之較少位元子進行上下文寫碼。亦即,根據本發明之態樣,熵解碼單元70可使用CABAC旁路模式對bin2及所有稍後位元子進行解碼。在又一實例中,熵解碼單元70可藉由移除ctx1及ctx2兩者而對參考索引值之較少位元子進行寫碼。亦即,根據本發明之態樣,熵解碼單元70可使用CABAC旁路模式對bin1及所有稍後位元子進行解碼,藉此進一步降低與對參考索引值進行寫碼相關聯之複雜性。
本發明之其他態樣大體係關於熵解碼單元70二進位化參考索引值之方式。在一些實例中,熵解碼單元70可使用一元、截斷式一元,或其他寫碼處理程序二進位化參考索引值。在另一實例中,熵編碼單元56可使用指數-哥倫布寫碼處理程序來二進位化參考索引值。
在一些實例中,根據本發明之態樣,熵解碼單元70可實施二進位化處理程序之組合。舉例而言,如關於下文之圖4更詳細地描述,熵解碼單元70可組合一元(或截斷式一元)寫碼處理程序與指數-哥倫布寫碼處理程序以二進位化參考索引值。在一實例中,為說明之目的,熵解碼單元70可組合具有長度(4)之截斷式一元碼與指數-哥倫布碼(例如,0階之指數-哥倫布碼)。在此實例中,熵解碼單元70可使用一元碼二進位化參考索引值之第一數目個位元子(例如,兩個、三個、四 個,或其類似者),且可使用指數-哥倫布碼二進位化參考索引的剩餘位元子。
在任何狀況下,熵解碼單元70可實施用於藉由任何二進位化方案對參考索引值之一或多個位元子進行上下文寫碼且對參考索引值之一或多個其他位元子進行旁路寫碼的技術。舉例而言,如上文所指出,熵解碼單元70可對經二進位化之語法元素的第一數目個位元子進行上下文寫碼(例如,CABAC寫碼),且對剩餘位元子進行旁路寫碼。在具有長度(4)之截斷式一元碼與0階之指數哥倫布碼組合的上文所述之實例中,熵解碼單元70可對截斷式一元碼之前兩個位元子(或任何其他數目個位元子)進行上下文寫碼,且接著對一元碼之第二部分及整個指數哥倫布碼進行旁路寫碼。在其他實例中,熵解碼單元70可使用其他二進位化方案。舉例而言,熵解碼單元70可使用固定長度二進位碼,而非在以上實例中所述的指數哥倫布碼。
在一些實例中,熵解碼單元70可在對經二進位化之參考索引值進行寫碼之前自該值截斷或移除位元子。另外或替代地,熵解碼單元70可對使用上下文所寫碼之位元子與使用旁路模式所寫碼之位元子進行分群。舉例而言,熵解碼單元70可藉由以下操作對B圖像的參考索引進行寫碼:對第一參考索引值之一或多個位元子進行上下文寫碼,對第二索引值之一或多個位元子進行上下文寫碼、對第一參考索引值之一或多個其他位元子進行旁路寫碼,且對第二參考索引值的一或多個其他位元子進行旁路寫碼(以上文所呈現之次序)。因此,熵解碼單元70僅在上下文寫碼模式與旁路寫碼模式之間(例如,在經上下文寫碼位元子與非上下文寫碼位元子之間)轉變單一次。
在對語法元素及變換係數進行熵解碼之後,在一些實例中,熵解碼單元70(或反量化單元76)可使用掃描來掃描所接收變換係數值,該掃描鏡射藉由視訊編碼器20之熵編碼單元56(或量化單元54)所使用 的掃描模式。儘管為易於說明起見展示為單獨的功能單元,但熵解碼單元70、反量化單元76及視訊解碼器30之其他單元的結構及功能性可彼此高度整合。
反量化單元76反量化(亦即,解量化)在位元串流中所提供且藉由熵解碼單元70解碼的經量化變換係數。反量化處理程序可包括習知處理程序,例如,類似於針對HEVC所提出或藉由H.264解碼標準所定義的處理程序。反量化處理程序可包括針對CU使用由視訊編碼器20計算出之量化參數QP,以判定量化程度及(同樣地)應應用之反量化的程度。在係數自一維陣列轉換為二維陣列之前抑或之後,反量化單元76可反量化變換係數。
框內預測單元74可基於經傳訊之框內預測模式及來自當前圖像之先前解碼區塊的資料產生用於當前圖像之當前區塊的預測資料。運動補償單元72可自經編碼位元串流擷取運動向量、運動預測方向及參考索引。參考預測方向指示框間預測模式為單向(例如,P圖框)抑或雙向(B圖框)的。參考索引指示運動向量經指引至之參考圖像。基於所擷取之運動預測方向、參考圖像索引及運動向量,運動補償單元產生用於當前部分之經運動補償之區塊。此等經運動補償之區塊用以再產生用以產生殘餘資料之預測性區塊。
運動補償單元72可產生經運動補償之區塊,從而可能地基於內插濾波器來執行內插。待以次像素精度用於運動估計之內插濾波器的識別符可包括於語法元素中。運動補償單元72可在視訊區塊之編碼期間使用如藉由視訊編碼器20使用的內插濾波器來計算參考區塊之次整數像素的內插值。運動補償單元72可根據所接收語法資訊判定藉由視訊編碼器20使用的內插濾波器,且使用該等內插濾波器來產生預測性區塊。
運動補償單元72可接收預測資料,該預測資料指示在何處擷取 用於當前區塊之運動資訊。舉例而言,運動補償單元72可接收運動向量預測資訊,諸如,MVP索引(mvp_flag)、MVD、合併旗標(merge_flag)及/或合併索引(merge_idx),且使用此資訊來識別用以預測當前區塊的運動資訊。
舉例而言,運動補償單元72可產生MVP或合併候選者之清單。運動補償單元72可接著使用MVP或合併索引來識別用以預測當前區塊之運動向量的運動資訊。亦即,運動補償單元72可使用MVP索引(mvp_flag)自參考圖像之清單識別MVP。運動補償單元72可組合所識別之MVP與所接收MVD,以判定用於當前區塊的運動向量。在其他實例中,運動補償單元72可使用合併索引(merge_idx)自參考圖像之清單識別合併候選者,以判定用於當前區塊的運動資訊。在任何情況下,在判定用於當前區塊之運動資訊之後,運動補償單元72可產生用於當前區塊的預測性區塊。
另外,在HEVC實例中,運動補償單元72及框內預測單元74可使用語法資訊(例如,藉由四元樹所提供)中之一些來判定用以對經編碼視訊序列之(多個)圖像進行編碼的LCU之大小。運動補償單元72及框內預測單元74亦可使用語法資訊來判定描述經編碼視訊序列之圖像的每一CU分裂之方式(及同樣地,子CU分裂之方式)的分裂資訊。語法資訊亦可包括指示每一分裂經編碼之方式的模式(例如,框內預測或框間預測,及用於框內預測及框內預測編碼模式)、用於每一框間編碼PU之一或多個參考圖像(及/或含有用於參考圖像之識別符的參考清單),及對經編碼視訊序列進行解碼之其他資訊。
求和器80組合殘餘區塊與藉由運動補償單元72或框內預測單元74產生之相應預測區塊,以形成經解碼區塊。若需要,則亦可應用解區塊濾波器來對經解碼區塊進行濾波,以便移除方塊效應假影。經解碼視訊區塊接著儲存於參考圖像記憶體82中,參考圖像記憶體82提供 用於後續運動補償之參考區塊,且亦產生經解碼視訊以供在顯示器件(諸如,圖1之顯示器件32)上呈現。
圖4為說明實例算術寫碼處理程序之方塊圖。圖4之實例算術寫碼處理程序大體描述為藉由視訊編碼器20執行。然而,應理解,關於圖4所述之技術可藉由多種其他視訊寫碼器(包括視訊解碼器30)執行。舉例而言,如上文關於圖3所指出,視訊解碼器30可執行與藉由視訊編碼器20所執行之處理程序互反的解碼處理程序。
圖4之實例包括二進位化器100、上下文模型化器102、寫碼引擎104及旁路寫碼器106。二進位化器100負責二進位化所接收語法元素。舉例而言,二進位化器100可將語法元素映射至數個所謂的位元子,其中每一位元子表示一個二進位值。在一實例中,為說明之目的,二進位化器100可使用截斷式一元(TU)碼將語法元素映射至位元子。一般而言,一元寫碼可涉及產生具有長度N+1之位元子字串,其中前N個位元子為1且最後的位元子為0。截斷式一元寫碼可藉由對語法元素之最大可能值設定最大值(cMax)而具有與一元寫碼相比少一個的位元子。截斷式一元寫碼之實例展示於表2中,其中cMax=10。
當在視訊解碼器30處執行時,視訊解碼器30可搜尋0,以判定當前正寫碼之語法元素何時完成。如下文更詳細地描述,截斷式一元寫 碼僅為實例,且二進位化器100可執行多種其他二進位化處理程序(以及二進位化處理程序之組合)以二進位化語法元素。
上下文模型化器102可負責針對給定位元子判定上下文模型(亦被稱為機率模型)。舉例而言,上下文模型化器102可選擇機率模型,該機率模型對上下文操作以對與視訊資料之區塊相關聯的符號進行寫碼。一般而言,機率模型儲存每一位元子的機率(為「1」或「0」)。
上下文模型化器102可自數個可用的機率模型選擇機率模型。在一些實例中,如下文更詳細地描述,可基於正寫碼之位元子數目判定藉由上下文模型化器102使用之上下文。亦即,上下文可取決於位元子在由二進位化器100產生之位元子字串中之位置。在任何情況下,在視訊編碼器20處,可藉由使用所選擇機率模型而對目標符號進行寫碼。在視訊解碼器30處,可藉由使用所選擇機率模型而剖析目標符號。
寫碼引擎104使用所判定機率模型(來自上下文模型化器102)對位元子進行寫碼。在寫碼引擎104對位元子進行寫碼之後,寫碼引擎104可更新與用以對位元子進行寫碼之上下文相關聯的機率模型。亦即,所選擇機率模型係基於實際寫碼值而更新(例如,若位元子值為「1」,則「1」之頻率計數增加)。使用上下文模型化器102及寫碼引擎104對位元子進行寫碼可被稱為使用上下文寫碼模式對位元子進行寫碼。
旁路寫碼器106使用固定機率對位元子進行寫碼。與上下文寫碼(經由上下文模型化器102及寫碼引擎104)對比,旁路寫碼器106不會基於正寫碼之位元子的實際值而更新旁路寫碼處理程序。因此,一般而言,旁路寫碼器106可快於上下文寫碼而對位元子進行旁路寫碼。使用旁路寫碼器106對位元子進行寫碼可被稱為使用旁路寫碼模式對位元子進行寫碼。實例旁路寫碼模式包括哥倫布寫碼、指數哥倫布寫 碼、哥倫布-萊斯寫碼,或略過上下文模型化器102及寫碼引擎104之任何其他合適的寫碼處理程序。
經寫碼位元子(來自寫碼引擎104及旁路寫碼器106)經組合以形成經寫碼位元串流。為了對經編碼位元串流進行解碼,視訊解碼器(諸如,視訊解碼器30)可鏡射圖4中所示之處理程序。亦即,視訊解碼器30可對經編碼位元串流執行上下文寫碼(使用上下文模型化器102及寫碼引擎104)或旁路寫碼(使用旁路寫碼器106),以產生經解碼位元子字串。視訊解碼器30可接著二進位化該等位元子字串(使用二進位化器100),以產生語法值。
圖3中所示之算術寫碼處理程序可用以對視訊資料進行寫碼。舉例而言,圖3中所示之寫碼處理程序可用以對預測資料進行寫碼,包括參考索引值、運動向量、運動向量預測子、運動向量差值,及其類似者。
在一實例中,為說明之目的,二進位化器100可二進位化參考索引(ref_idx)。在一些實例中,用於參考索引之所得位元子字串在長度上可多達15個位元子,此取決於可用於參考之參考圖像的數目。如上文所指出,在一些實例中,可使用上下文模型化器102及寫碼引擎104對參考索引值之所有位元子進行上下文寫碼。此外,位元子中之一或多者可共用上下文。然而,對所有位元子進行上下文寫碼及在一個以上位元子當中共用上下文可為低效的,此係歸因於與上下文寫碼相關聯的潛時。
根據本發明之態樣,如圖4中所示,視訊編碼器20可基於正寫碼之位元子的位元子數目來對用於參考索引的位元子字串進行編碼。舉例而言,視訊編碼器20可根據參考索引位元子字串中之特定位元子的相對位置來對位元子字串中的特定位元子進行寫碼。在一實例中,視訊編碼器20可對參考索引之第一位元子、第二位元子及第三位元子進 行上下文寫碼,且可對參考索引的剩餘位元子進行旁路寫碼。亦即,視訊編碼器20可藉由第一上下文ctx0使用上下文模型化器102及寫碼引擎104對第一位元子(bin0)進行寫碼,藉由第二上下文ctx1使用上下文模型化器102及寫碼引擎104對第二位元子(bin1)進行寫碼,且藉由第三上下文ctx2使用上下文模型化器102及寫碼引擎104對第三位元子(bin2)進行寫碼。然而,視訊編碼器20可使用旁路寫碼器106對第四位元子(bin3)及任何其他後面的位元子進行寫碼。
在另一實例中,視訊編碼器20可減少經上下文寫碼之位元子的數目。舉例而言,視訊編碼器20可藉由第一上下文ctx0使用上下文模型化器102及寫碼引擎104對第一位元子(bin0)進行寫碼,且藉由第二上下文ctx1使用上下文模型化器102及寫碼引擎104對第二位元子(bin1)進行寫碼。然而,在此實例中,視訊編碼器20可使用旁路寫碼器106對第三位元子(bin2)及任何其他後面的位元子進行旁路寫碼。
在再一實例中,視訊編碼器20可進一步減少經上下文寫碼之位元子的數目。舉例而言,視訊編碼器20可藉由第一上下文ctx0使用上下文模型化器102及寫碼引擎104對進行寫碼第一位元子(bin0)進行寫碼。然而,視訊編碼器20可使用旁路寫碼器106對第二位元子(bin1)及任何其他後面的位元子進行寫碼。
本發明之態樣亦係關於二進位化器100針對視訊資料執行二進位化之方式。舉例而言,根據本發明之態樣,二進位化器100可將語法元素劃分為一個以上部分。亦即,二進位化器100可使用截斷式一元寫碼來對首碼(具有相對小的cMax,如上文所述)進行寫碼,且可使用另一寫碼方法來對尾碼進行寫碼。在一實例中,二進位化器100可使用k階指數-哥倫布碼來對尾碼進行寫碼。
在一些實例中,僅首碼之位元子可經上下文寫碼,而尾碼之位元子可經旁路寫碼。表3展示具有指數-哥倫布碼之截斷式一元組合碼 的實例,其中cMax=4用於首碼且0階指數-哥倫布用於尾碼。此等技術亦可應用於參考索引值以及其他語法元素,諸如經由進階運動向量預測(AMVP)在寫碼中所使用的運動向量差值或其他語法元素。
在表3中所示之實例中,截斷式一元位元子可經上下文寫碼,而指數-哥倫布位元子可經旁路寫碼。
本發明之技術可包括(例如)將上下文寫碼應用於在針對首碼部分中之指數-哥倫布二進位化的某一數目個位元子之後的位元子。本發明之技術亦包括(例如)將基於上下文之寫碼應用於某一數目個位元子(例如,預定數目個首碼位元子),及將旁路寫碼應用於剩餘位元子。舉例而言,替代於使用上下文對首碼部分中之所有位元子進行寫碼,可藉由旁路模式對首碼部分中之bin2及稍後位元子進行寫碼。在另一實例中,旁路模式可應用於在bin1之後及/或包括bin1之所有位元子。在再一實例中,旁路模式可應用於首碼部分之所有位元子。在某一數目個上下文寫碼位元子之後使用旁路模式寫碼的類似方法可用於任何二進位化方法。亦即,儘管本發明描述使用指數-哥倫布及截斷式一元寫碼方案,但可使用其他二進位化方法。
在又一實例中,可結合其他二進位化處理程序(包括二進位化處 理程序之組合)來實施上文所述之本發明的技術。亦即,在一實例中,一元寫碼處理程序可用以二進位化參考索引值。在另一實例中,截斷式一元寫碼處理程序可用以二進位化參考索引值。在再一實例中,指數-哥倫布寫碼處理程序可用以二進位化參考索引值。其他二進位化處理程序及二進位化處理程序之組合亦為可能的。亦即,舉例而言,一元(或截斷式一元)寫碼處理程序可與指數-哥倫布寫碼處理程序組合,以二進位化參考索引值。在一實例中,為說明之目的,具有長度(4)之截斷式一元碼可與指數-哥倫布碼(例如,0階之指數-哥倫布碼)組合。在此實例中,參考索引值之第一數目個位元子(例如,兩個、三個、四個,或其類似者)可經一元寫碼,而參考索引之剩餘位元子可經指數-哥倫布寫碼。
在任何狀況下,上文關於對參考索引值進行CABAC及旁路寫碼所述之技術可應用於任何經二進位化之參考索引值。亦即,根據本發明之態樣,經二進位化之參考索引值的第一數目個位元子可經上下文寫碼(例如,藉由CABAC引擎來寫碼),而剩餘位元子可經旁路寫碼。在上文所述之實例中,其中具有長度(4)之截斷式一元碼與0階之指數哥倫布碼組合,截斷式一元碼之前兩個位元子(或任何其他數目個位元子)可經上下文寫碼,且一元碼之第二部分及整個指數哥倫布碼可經旁路寫碼。
應理解,具有長度(4)之截斷式一元碼及0階之指數哥倫布係僅為實例之目的而提供,且相同或類似的技術可應用於其他截斷式一元碼長度以及用於指數哥倫布碼的其他階。此外,上文所述之二進位化處理程序係僅為實例之目的而提供,且可使用其他經二進位化碼。舉例而言,可使用固定長度二進位碼,而非在以上實例中所述之指數哥倫布碼。另外,用於截斷式一元二進位化部分之兩個經上下文寫碼位元子的實例係為說明之目的而提供,且可使用其他數目個經上下文及旁 路寫碼位元子。
在任何狀況下,本發明之態樣亦係關於截斷經二進位化值之一部分。舉例而言,因為參考索引之數目係預先已知的,所以根據本發明之態樣,可截斷指數哥倫布或固定長度碼。亦即,可由二進位化器100使用具有階k之指數哥倫布。作為實例,0階之指數哥倫布可應用於視訊壓縮中。此二進位化由藉由一元碼所寫碼之指數首碼及具有長度(prefix-1)之固定長度尾碼組成,其實例展示於下文之表4中:
舉例而言,值10(例如,其對應於具有在表4之第一行中之值10的元素)係藉由經二進位化之碼字0001011表示,其中0001為首碼且011為尾碼。元素可為輸入資料,其係使用表4之碼字或使用下文展示及描述之表格來寫碼。舉例而言,視訊編碼器20可接收元素,且根據下文展示及描述之表格將元素轉換為碼字。同樣,視訊解碼器30可接收碼字,且根據下文展示及描述之表格將碼字轉換為語法元素(例如,輸入資料)。
可根據下文所示之方程式(1)來獲得經重建構之值: 值=2^(首碼-1)+尾碼-1 (1)
在此實例中,首碼係藉由0001對應於4之一元碼表示,且尾碼為藉由011對應於3之二進位數字系統所表示的值,如上文之表4中所示。因此,在此實例中,應用方程式(1)得出以下值:2^(4-1)+3-1=10。
此碼可表示大體無窮大數;然而,在一些情形中,元素之數目可為已知的。在此狀況下,碼字可縮短,從而考量最大數目個可能元素。
舉例而言,若元素之最大數目為2(例如,元素0及1),則用於1之常規指數哥倫布碼字為010。然而,不存在大於2之元素。因此,常規碼010可縮短為1。此類型之二進位化可被稱為截斷式指數哥倫布,且可在諸如H.264/AVC之視訊寫碼標準中使用。然而,關於H.264標準,僅在元素之最大數目為1時才使用截斷式指數哥倫布。針對其他狀況,使用常規指數哥倫布二進位化。
根據本發明之態樣,(例如)以類似於元素之最大數目為1之以上實例的方式,可進一步截斷常規指數哥倫布寫碼。一般而言,當元素之最大數目預先已知時,可藉由移除冗餘位元子而截斷指數哥倫布二進位化碼字之尾碼。舉例而言,若元素之最大數目為9,則可自碼字移除在下文所示之表5中用粗體、斜體及底線標記的兩個位元子。
亦即,對於表5中所示之元素7,可移除尾碼之前兩個00。另外,對於表5中所示之元素8,可移除尾碼之前兩個00。因此,階0之截斷式指數哥倫布指示針對元素7之00010及針對元素8之000011。
可(例如)藉由比較用於最近首碼(以上實例中之0001)之固定長度尾碼與常規指數哥倫布碼來實施上文所述之技術。舉例而言,若最近群組中之元素的數目小於在常規指數哥倫布碼中之數目,則可移除冗餘位元子。換言之,二進位化器100可藉由比較用於最近首碼之固定長度尾碼而產生具有階0之所得的截斷式指數哥倫布碼,且若此最近群組中之元素的數目小於在常規指數哥倫布碼中的數目,則可移除冗餘位元子。
舉例而言,在此實例中,二進位化器100可判定元素之數目,該等元素之首碼在存在預先已知的最大數目個元素用於寫碼時與最後元素之首碼相同。舉例而言,在表5中,用於最後元素之首碼為0001,且存在兩個元素(例如,元素7及元素8),其首碼在存在最大數目個元素(例如,在此實例中為9)時與最後元素的首碼相同。
二進位化器可接著比較首碼與最後元素之首碼相同的元素之數目與常規指數哥倫布碼中具有相同首碼之元素的數目。舉例而言,在上文之表4中,存在首碼為0001(亦即,與先前元素之首碼相同)之八個元素(亦即,元素7至元素14)。在此實例中,二進位化器100可判定首碼與最後元素之首碼相同的元素之數目小於常規指數哥倫布碼中具有相同首碼之元素的數目。
當此成立時,二進位化器100可自首碼與最後首碼相同之碼字截斷位元子,以產生截斷碼字。在一些實例中,位元子係自尾碼截斷;但本發明之態樣不限於此。二進位化器100可基於首碼與最後首碼相同之元素的數目來判定待截斷之位元子的數目。
舉例而言,在上文之表5中,存在具有與最後首碼相同之首碼的 兩個元素(例如,元素7及8)。二進位化器100可自元素7及8之碼字截斷位元子以產生截斷碼字,如在表5之最後行中所說明。在此實例中,因為存在具有與最後首碼相同之首碼的兩個元素,所以二進位化器100可判定在尾碼中僅需要一位元子來表示該兩個元素。舉例而言,尾碼中之0可表示一元素(例如,元素7),且尾碼中之1可表示另一元素(例如,元素8)。因此,針對上文之表5中的元素7,二進位化器100可截斷尾碼之前兩個位元子,從而僅留下0作為用於經截斷碼字的尾碼。又,針對上文之表5中的元素8,二進位化器100可截斷尾碼之前兩個位元子,從而僅留下1作為用於經截斷碼字的尾碼。
可針對對媒體進行寫碼(諸如,對視訊資料進行編碼及/或解碼)而實施上文所述之技術。舉例而言,根據本發明之態樣,視訊解碼器(諸如,視訊解碼器30)可接收表示媒體資料之一或多個碼字,且可存在可用於寫碼之最大數目個元素。視訊解碼器30可根據寫碼表將碼字轉換為元素。寫碼表可經建構,使得在相同首碼為寫碼表中之最後首碼時具有相同首碼之碼字中的至少一些被截斷,且具有相同首碼之碼字的數目小於可具有相同首碼之獨特碼字的最大數目。舉例而言,針對首碼0001,表4說明針對碼字之獨特機率,且表5及表6(下文所示)展示共用相同首碼且根據本發明之技術被截斷的碼字之實例。
亦可藉由視訊編碼器20執行該等技術。舉例而言,視訊編碼器20可接收表示媒體資料之一或多個元素。視訊編碼器20可根據寫碼表將元素轉換為一或多個碼字,且可存在可用於寫碼之最大數目個元素。寫碼表可經建構,使得在相同首碼為寫碼表中之最後首碼時具有相同首碼之碼字中的至少一些被截斷,且具有相同首碼之碼字的數目小於可具有相同首碼之獨特碼字的最大數目。再次,舉例而言,針對首碼0001,表4說明針對碼字之獨特機率,且表5及表6(下文所示)展示共用相同首碼且根據本發明之技術被截斷的碼字之實例。
以此方式,當已知正寫碼之元素的最大數目時,該等技術可減少對視訊資料進行寫碼所需之位元子的數目。位元子之減少引起較少位元需要被傳訊或接收,從而產生頻寬效率。
在又一實例中,若元素之最大數目為11,則截斷式指數哥倫布碼字展示於下文之表6中。可自碼字移除在表6中用粗體、斜體及底線標記的位元子。
如表6中所示,可截斷用於元素7、8、9及10之尾碼中的第一位元子(以粗體、斜體及底線展示)。在此實例中,來自尾碼之僅一位元子可被截斷,此係因為四個元素係藉由碼字表示。出於此原因,在經截斷碼字中,尾碼自00開始且以11結束以涵蓋各自具有相同首碼之四個元素。
上文之表5及表6中所示的實例僅作為實例而提供,且相同處理程序可應用於任何數目個最大元素。舉例而言,在一些實例中,本發明之態樣係關於接收經截斷碼字。可藉由判定第一元素數目而產生經截斷碼字。第一元素數目可指示:在存在可用於寫碼之最大數目個元素時,在第一寫碼表中的具有與對應於第一寫碼表中之最後元素的碼字之首碼相同之首碼的碼字之數目。在此實例中,第一寫碼表可為表5或表6。諸態樣係關於在操作期間接收在運行中預分類或計算之經截 斷碼字。
本發明之態樣亦係關於判定第二元素數目,該第二元素數目指示在第二寫碼表中的具有與對應於第一寫碼表中之最後元素的碼字之首碼相同之首碼的碼字之數目。在此實例中,第二寫碼表可為上文之表4。在一些實例中,第一寫碼表可為第二寫碼表之子集,此係基於可用於寫碼之元素的最大數目。
在一些實例中,當第一元素數目小於第二元素數目時,本發明之態樣係關於自在第一寫碼表中的首碼與對應於第一寫碼表之最後元素的碼字之首碼相同的碼字截斷位元子以產生經截斷碼字,且使用經截斷碼字對視訊資料進行寫碼。在一些實例中,截斷該等碼字包括自碼字之尾碼或首碼或其組合截斷位元子。在一些實例中,截斷位元子係基於第一元素數目,其中第一元素數目指示在第一寫碼表中的具有與對應於第一寫碼表中之最後元素的碼字之首碼相同之首碼的碼字之數目。在一些實例中,寫碼係哥倫布寫碼。
替代地或另外,亦可使用截斷式一元碼而縮短首碼。舉例而言,若元素之最大數目為4,則可如下文之表7中所示而截斷首碼及尾碼。
表7之經截斷位元子係以粗體、斜體及底線表示。在表7中所示之實例中,用於元素3之碼字短於用於元素1或2之碼字。(例如)藉由將較短之碼字00指派給更頻繁出現之元素1且將010指派給元素3,可應用針對截斷式指數哥倫布二進位化之額外重新排序或映射。可使用映射表來執行此重新排序或映射。
在一些實例中,重新排序亦可基於特定元素之出現頻率。舉例而言,較短之碼字可指派給最頻繁出現之元素。此碼字映射在元素係按照出現頻率排序時之狀況下可為特別有效的。
儘管關於0階指數哥倫布寫碼描述了上文之某些實例,但應理解,該等技術更一般而言適用於k階指數哥倫布寫碼。此外,該等技術不限於HEVC視訊標準,且可應用於任何視訊壓縮標準,或更廣泛地,應用於執行二進位化之任何應用。
關於新興的HEVC標準(以及HEVC標準之擴展,諸如可調式視訊寫碼(SVC)或多視角視訊寫碼(MVC)),上文所述之截斷式指數哥倫布二進位化技術可應用於二進位化多種語法元素。實例包括參考索引值、框內模式(intra-mode mode)、合併索引、量化參數(或差量量化參數),或元素之數目預先已知的任何其他語法元素。
儘管以上實例描述指數哥倫布截斷,但所述截斷技術亦可應用於固定長度碼。亦即,在語法元素(例如,參考索引)係使用一個以上二進位化處理程序(例如,截斷式一元及指數哥倫布)二進位化之實例中,預定數目個位元子可經CABAC寫碼,而剩餘位元子可經截斷及旁路寫碼。
在一些實例中,可應用演算法來判定可截斷之位元子的數目(例如,自經二進位化之語法元素的指數哥倫布或固定長度二進位化部分截斷)。在實例中,假設預定數目個位元子保持被旁路寫碼。在此實例中,視訊寫碼器(諸如,視訊編碼器20或視訊解碼器30)可藉由計算剩餘位元子之捨進log2而判定可截斷之剩餘位元子的數目。
圖5A及圖5B為說明與預測資料相關聯之實例位元子字串的方塊圖。舉例而言,圖5A大體說明針對自單一參考圖像所預測之圖像的參考索引(ref_idx)、運動向量差(mvd),及運動向量預測子索引(mvp_idx)。
圖5B大體說明針對自兩個參考圖像所預測之圖像(B圖像)的第一參考索引(ref_idx_L0)、第一運動向量差(mvd_L0)(表示水平分量及垂直分量),及第一運動向量預測子索引(mvp_idx_L0),以及第二參考索引(ref_idx_L1)、第二運動向量差(mvd_L1)(表示水平分量及垂直分量),及第二運動向量預測子索引(mvp_idx_L1)。亦即,針對雙向預測PU,兩個參考索引可經寫碼,其中針對清單L0及清單L1中之每一清單有一個參考索引。因此,每PU多達兩個參考索引可經寫碼,且每CU多達八個索引可經寫碼。
位元子字串120(圖5A)及124(圖5B)包括與進階運動向量預測(AMVP)技術相關聯之預測資料。藉由AMVP,用於當前正寫碼之區塊的運動向量可寫碼為相對於另一運動向量(諸如,與空間或時間相鄰區塊相關聯之運動向量)的差值(亦即,差量)。舉例而言,視訊編碼器20可建置運動向量預測子候選者清單,該清單包括與在空間及時間方向上之一或多個相鄰區塊相關聯的運動向量。視訊編碼器20可基於(例如)速率-失真成本分析自候選者清單選擇最準確的運動向量預測子(MVP)。
視訊編碼器20可使用參考索引(ref_idx)指示用於實際運動向量之參考圖像。另外,視訊編碼器20可使用運動向量預測子索引(mvp_idx)指示所選擇MVP,該運動向量預測子索引(mvp_idx)在候選者清單中識別MVP。視訊編碼器20亦可使用運動向量差(mvd)指示在當前區塊之運動向量(實際運動向量)與MVP之間的差。如上文所指出,mvd可包括對應於mvp之水平分量及垂直分量的水平分量及垂直分量。
視訊解碼器30可以相同方式建置MVP候選者清單。視訊解碼器30可接著使用所接收之運動向量預測子索引(mvp_idx)來判定在候選者清單中在何處定位MVP。視訊解碼器30可組合運動向量差(mvd)與 運動向量預測子(使用運動向量預測子索引(mvp_idx)所判定),以便重建構運動向量。
以此方式預測運動向量(例如,藉由差值)可能相對於對(多個)實際運動向量進行寫碼要求將較少位元包括於位元串流中。關於圖5B,雙向預測圖像可包括與來自兩個不同清單(例如,清單0及清單1)之圖像相關聯的預測資料。如圖5B之實例中所示,與清單0相關聯之預測資料可先於與清單1相關聯之預測資料。亦即,位元子字串124包括第一參考索引(ref_idx_L0)、第一運動向量差(mvd_L0)(例如,表示水平分量及垂直分量兩者),及第一運動向量預測子索引(mvp_idx_L0),隨後為第二參考索引(ref_idx_L1)、第二運動向量差(mvd_L1)(例如,表示水平分量及垂直分量兩者),及第二運動向量預測子索引(mvp_idx_L1)。
在一些實例中,可使用上下文寫碼與旁路寫碼之組合來對與AMVP相關之語法進行寫碼。舉例而言,如圖5A及圖5B之實例中所示,預測資料之位元子中的一些經上下文寫碼,而其他位元子經旁路寫碼。亦即,運動向量差值(以及其他值,諸如如關於下文之圖7所述之參考索引值)之一或多個位元子可經上下文寫碼,而運動向量差值的一或多個其他位元子可經旁路寫碼。
關於圖5A之實例,參考索引(ref_idx)及運動向量差(mvd)之第一部分可經上下文寫碼,如藉由經上下文寫碼位元子128所指示。運動向量差(mvd)之第二部分可經旁路寫碼,如藉由經旁路寫碼位元子130所指示。另外,運動向量預測子索引(mpv_idx)可經上下文寫碼,如藉由經上下文寫碼位元子132所指示。
關於圖5B之實例,第一參考索引(ref_idx_L0)及第一運動向量差(mvd_L0)(例如,表示水平分量及垂直分量兩者)之第一部分可經上下文寫碼,如藉由經上下文寫碼位元子136所指示。第一運動向量差 (mvd_L0)(例如,表示水平分量及垂直分量兩者)之第二部分可經旁路寫碼,如藉由經旁路寫碼位元子138所指示。另外,第一運動向量預測子索引(mpv_idx_L0)、第二參考索引(ref_idx_L1),及第二運動向量差(mvd_L1)(例如,表示水平分量及垂直分量兩者)之第一部分可經上下文寫碼,如藉由經上下文寫碼位元子140所指示。第二運動向量差(mvd_L1)(例如,表示水平分量及垂直分量兩者)之第二部分亦可經旁路寫碼,如藉由經旁路寫碼位元子142所指示。最後,第二運動向量預測子索引(mpv_idx_L1)可經上下文寫碼,如藉由經上下文寫碼位元子144所指示。
因此,圖5B之實例說明針對雙向預測之基於PU的框間模式語法,對於雙向預測,視訊寫碼器可能必須在上下文寫碼與旁路寫碼之間切換四次以處理位元子。在上下文寫碼與旁路寫碼之間切換以對位元子字串120及124進行寫碼可為低效的。舉例而言,在上下文寫碼與旁路寫碼之間切換可能消耗一或多個時脈循環。因此,針對每一元素在上下文寫碼與旁路寫碼之間切換可引入潛時,此係歸因於在上下文寫碼與旁路寫碼之間的轉變。
根據本發明之態樣,如關於下文之圖6及圖7更詳細地描述,上下文位元子與旁路位元子可經分群以減少在上下文寫碼與旁路寫碼之間的轉變。舉例而言,關於圖5A,本發明之態樣係關於將經上下文寫碼位元子128及132分群在一起,使得該等位元子不會藉由經旁路寫碼位元子130分離。以此方式,可在位元子字串120之寫碼期間在上下文寫碼與旁路寫碼之間進行單一轉變。
同樣,關於圖5B,本發明之態樣係關於將經上下文寫碼位元子136、140及144分群,使得該等位元子不會藉由經旁路寫碼位元子138及142分離。又,以此方式將經上下文寫碼位元子與經旁路寫碼位元子分群可允許視訊寫碼器(諸如,視訊編碼器20或視訊解碼器30)在上 下文寫碼與旁路寫碼之間進行單一轉變。避免在上下文寫碼與旁路寫碼之間的多次轉變可藉由限制與轉變相關聯之潛時而增加效率。
圖6為說明預測資料之另一實例位元子字串140的方塊圖。位元子字串140包括第一參考索引(ref_idx_L0)、第一運動向量差(mvd_L0)(例如,表示水平分量及垂直分量兩者),及第一運動向量預測子索引(mvp_idx_L0),隨後為第二參考索引(ref_idx_L1)、第二運動向量差(mvd_L1)(例如,表示水平分量及垂直分量兩者),及第二運動向量預測子索引(mvp_idx_L1)。位元子字串140包括經上下文寫碼位元子144及經旁路寫碼位元子148。舉例而言,經上下文寫碼位元子144可使用上下文自適應性寫碼處理程序(例如,CABAC)之上下文寫碼模式來寫碼,而經旁路寫碼位元子148可使用固定機率(例如,CABAC旁路寫碼模式)來寫碼。
根據本發明之態樣,經上下文寫碼位元子144經分群以用於在旁路位元子148之前被寫碼。亦即,在圖6中所示之實例中,經上下文寫碼位元子144包括具有第一參考索引(ref_idx_L0)之經上下文寫碼位元子、具有第二參考索引(ref_idx_L1)之經上下文寫碼位元子、具有第一運動向量預測子索引(mvp_idx_L0)之經上下文寫碼位元子、具有第二運動向量預測子索引(mvp_idx_L1)之經上下文寫碼位元子、具有第一運動向量差(mvd_L0)之經上下文寫碼位元子,及具有第二運動向量差(mvd_L1)的經上下文寫碼位元子。另外,經旁路寫碼位元子148包括具有第一運動向量差(mvd_L0)之經旁路寫碼位元子及具有第二運動向量差(mvd_L1)之經旁路寫碼位元子。
在一些實例中,可基於正寫碼之語法元素之位元子數目而對位元子分群。在一實例中,為說明之目的,視訊寫碼器(諸如,視訊編碼器20或視訊解碼器30)可使用上下文寫碼來對運動向量差值之前兩個位元子進行寫碼,且使用旁路寫碼來對剩餘位元子進行寫碼。因 此,在此實例中,經上下文寫碼位元子144可包括第一運動向量差(mvd_L0)及第二運動向量差值(mvd_L1)兩者之前兩個位元子,而經旁路寫碼位元子148可包括運動向量差值的剩餘位元子。
圖6中所示之語法元素的排序係僅為實例之目的而提供。在其他實例中,語法元素可以不同方式排序,例如,其中參考索引值、運動向量預測子及運動向量差值係呈交替次序(或交錯)。亦即,在另一實例中,視訊寫碼器可如下對PU進行寫碼:具有參考索引L0之經上下文寫碼位元子、具有參考索引L1之經上下文寫碼位元子、具有參考索引L0之經旁路模式寫碼位元子、具有參考索引L1的經旁路模式寫碼位元子。在其他實例中,旁路位元子148可在經上下文寫碼位元子144之前被寫碼。
在任何狀況下,圖6展示具有一或多個經上下文寫碼位元子144之群組及一或多個經旁路寫碼位元子148之群組的預測資料。如上文所指出,以此方式將經上下文寫碼位元子與經旁路寫碼位元子分群可減少與對位元子進行寫碼相關聯之潛時。舉例而言,視訊寫碼器可對所有經上下文寫碼位元子144進行寫碼,進行自上下文寫碼至旁路寫碼之單一轉變,且對所有經旁路寫碼位元子進行寫碼。避免在上下文寫碼與旁路寫碼之間的多次轉變可藉由限制與在上下文寫碼與旁路寫碼之間轉變相關聯之潛時而增加效率。
在一些實例中,如圖6中所示,經上下文寫碼位元子與經旁路寫碼位元子可針對視訊資料之區塊(例如,逐個PU地)而分群。在其他實例中,經上下文寫碼位元子與經旁路寫碼位元子可針對CU(例如,LCU之一或多個CU)、針對整個LCU,或針對視訊資料之整個圖塊而分群。在此等實例中,經上下文寫碼位元子可在CU/LCU/圖塊之經旁路寫碼位元子之前針對CU/LCU/圖塊分群且寫碼,或經旁路寫碼位元子可在CU/LCU/圖塊之經上下文寫碼位元子之前針對CU/LCU/圖塊分 群且寫碼。
圖7為說明預測資料之另一實例位元子字串160的方塊圖。在圖7之實例中,位元子字串160包括第一參考索引(ref_idx_L0)、第一運動向量差(mvd_L0)(例如,表示水平分量及垂直分量兩者),及第一運動向量預測子索引(mvp_idx_L0),隨後為第二參考索引(ref_idx_L1)、第二運動向量差(mvd_L1)(例如,表示水平分量及垂直分量兩者),及第二運動向量預測子索引(mvp_idx_L1)。位元子字串160包括經上下文寫碼位元子164及經旁路寫碼位元子168。舉例而言,經上下文寫碼位元子164可使用上下文自適應性寫碼處理程序(例如,CABAC)之上下文寫碼模式來寫碼,而經旁路寫碼位元子168可使用固定機率(例如,CABAC旁路寫碼模式)來寫碼。
根據本發明之態樣,類似於圖6中所示之實例,經上下文寫碼位元子164在旁路位元子168之前經分群以用於寫碼。然而,在圖7中所示之實例中,參考索引(ref_idx_L0及ref_idx_L1)包括經上下文寫碼位元子以及經旁路寫碼位元子之組合。亦即,可根據關於上文之圖4所述之實例來對參考索引進行寫碼,其中一或多個位元子係使用上下文自適應性模式寫碼,且一或多個其他位元子係使用旁路模式寫碼。
因此,在圖7之實例中,經上下文寫碼位元子164包括具有第一參考索引(ref_idx_L0)之經上下文寫碼位元子、具有第二參考索引(ref_idx_L1)之經上下文寫碼位元子、具有第一運動向量預測子索引(mvp_idx_L0)之經上下文寫碼位元子、具有第二運動向量預測子索引(mvp_idx_L1)之經上下文寫碼位元子、具有第一運動向量差(mvd_L0)(例如,表示水平分量及垂直分量兩者)之經上下文寫碼位元子,及具有第二運動向量差(mvd_L1)(例如,表示水平分量及垂直分量兩者)的經上下文寫碼位元子。另外,經旁路寫碼位元子168包括具有第一參考索引(ref_idx_L0)之經旁路寫碼位元子、具有第二參考索 引(ref_idx_L1)之經旁路寫碼位元子、具有第一運動向量差(mvd_L0)之經旁路寫碼位元子,及具有第二運動向量差(mvd_L1)的經旁路寫碼位元子。
如上文關於圖6所述,可基於正寫碼之語法元素的位元子數目而對位元子進行分群。在一實例中,為說明之目的,視訊寫碼器(諸如,視訊編碼器20或視訊解碼器30)可使用上下文寫碼來對運動向量差值之前兩個位元子進行寫碼,且使用旁路寫碼來對剩餘位元子進行寫碼。另外,視訊寫碼器可使用上下文寫碼來對參考索引之前兩個位元子進行寫碼,且使用旁路寫碼來對剩餘位元子進行寫碼。因此,在此實例中,經上下文寫碼位元子144可包括第一運動向量差(mvd_L0)及第二運動向量差值(mvd_L1)兩者之前兩個位元子,及第一參考索引(ref_idx_L0)及第二參考索引(ref_idx_L1)兩者的前兩個位元子。經旁路寫碼位元子148可包括運動向量差值及參考索引之剩餘位元子。
將上下文寫碼位元子與旁路寫碼位元子分群可減少與對位元子進行寫碼相關聯之潛時。舉例而言,視訊寫碼器可對所有經上下文寫碼位元子144進行寫碼,進行自上下文寫碼至旁路寫碼之單一轉變,且對所有經旁路寫碼位元子進行寫碼。避免在上下文寫碼與旁路寫碼之間的多次轉變可藉由限制與在上下文寫碼與旁路寫碼之間轉變相關聯之潛時而增加效率。
應理解,可使用任何二進位化方案執行關於圖6及圖7所述之技術。此外,如上文所指出,語法元素之排序係僅為實例之目的而提供。另外,可針對PU、針對一或多個CU、針對整個LCU,或針對視訊資料之整個圖塊而對經上下文寫碼位元子及經旁路寫碼位元子進行分群。在此等實例中,經上下文寫碼位元子可在PU/CU/LCU/圖塊之旁路寫碼位元子之前針對PU/CU/LCU/圖塊分群且寫碼,或旁路寫碼位元子可在PU/CU/LCU/圖塊之上下文寫碼位元子之前針對 PU/CU/LCU/圖塊分群且寫碼。
圖8A及圖8B大體說明對框間預測方向語法元素進行寫碼。舉例而言,如上文所指出,除計算運動向量之外,運動估計亦判定參考圖框之索引(ref_idx)及用於B圖塊之預測方向(inter_pred_idc:自L0向前、自L1向後,或雙向,或inter_pred_flag:自LC之單向,或自L0及L1的雙向)。運動向量(例如,運動向量之水平分量及垂直分量)、參考圖框索引,及預測方向通常藉由編碼器熵編碼為語法元素,且置放於經編碼視訊位元串流中以藉由視訊解碼器解碼以用於視訊解碼處理程序中。此等語法元素可針對框間寫碼PU而提供,以准許解碼器解碼及再現藉由PU所定義之視訊資料。
在一些例子中,清單L0及清單L1參考索引可用以傳訊用於雙向預測模式(Pred_BI)之參考索引,且組合式清單(LC)參考索引用以傳訊用於單向預測模式(Pred_LC)的參考索引。LC參考索引為組合式參考圖像清單之參考索引,其包括來自清單L0及L1之參考圖像與根據預定義規則(或顯式傳訊)所移除之重複參考圖像的組合。因此,LC參考索引映射至用於清單L0或L1中之一者的參考索引。
在此等例子中,框間預測方向語法元素(inter_pred_flag)僅具有兩個可能值(來自LC之雙向或單向)。當框間預測方向語法元素經二進位化時,僅一位元子可能需要被寫碼,以指示框間預測方向為雙向抑或單向。下文所示之表8說明框間預測方向語法元素:
在其他實例中,如在藉由T.Lee及J.Park之提案「On Reference List Combination」(JCTVC-I0125,Geneva,2012年4月)中所提出,組合式清單(LC)可被移除。在此等實例中,改為使用具有三個可能值(雙向、來自L0之單向,或來自L1之單向)的框間預測方向語法元素(inter_pred_flag or inter_pred_idc)。當預測模式為單向預測模式時,可能需要對指示Pred_L0抑或Pred_L1之額外位元子進行寫碼。
表9說明在框間預測方向語法元素寫碼中之改變(相對於上文之表8):
圖8A說明上文關於表9所述之寫碼結構。如圖8A中所示,可藉由使用兩個位元子之CABAC處理程序來對框間預測方向語法元素(inter_pred_flag)進行寫碼。第一位元子(bin(0))指示框間預測模式為單向(bin(0)=0)抑或雙向(pred_BI)(bin(0)=1)。僅在第一位元子指示單向預測模式時,才有條件地對第二位元子進行寫碼。第二位元子(bin(1))指示單向預測模式係來自List0(pred_L0)(bin(1)=0)抑或來自List1(pred_L1)(bin(1)=1)。
可基於CU深度來判定針對僅具有兩個可能值(來自LC之雙向或單向)之框間預測方向的上下文模型索引推導,該CU深度可針對第一位元子(bin0)具有在範圍0至3中的值,如在下文之方程式中所示:ctxIdx=cuDepth
在圖8A之實例中,可藉由額外上下文來對第二位元子(bin(1))進行寫碼,或可藉由再使用第一位元子(bin(0))之一上下文來對第二位元子(bin(1))進行寫碼。然而,引入額外上下文可增加與對框間預測 方向語法元素進行寫碼相關聯之複雜性。此外,再使用第一位元子之上下文中的一者可減少用於對bin0進行寫碼之上下文的數目,且視訊寫碼器必須針對此條件執行附加檢查。
圖8B為說明根據本發明之態樣的對框間預測方向語法元素進行旁路寫碼之方塊圖。如圖8B中所示,可藉由CABAC處理程序上下文來對框間預測方向語法元素(inter_pred_flag)之第一位元子(bin(0))進行寫碼,且可藉由CABAC處理程序之旁路模式來對第二位元子(bin(1))進行寫碼。第一位元子(bin(0))指示框間預測模式為單向(bin(0)=0)抑或雙向(pred_BI)(bin(0)=1)。在此實例中,可使用四個可能之上下文中之一者來對bin(0)進行寫碼,ctxIdx=0至3。僅在第一位元子指示單向預測模式時,才可有條件地對第二位元子(bin(1))進行寫碼。第二位元子(bin(1))指示單向預測模式係來自List0(pred_L0)(bin(1)=0)抑或來自List1(pred_L1)(bin(1)=1)。根據本發明之態樣,bin(1)可不使用上下文來寫碼(例如,使用CABAC處理程序之旁路模式來寫碼)。
以此方式,根據本發明之態樣,視訊寫碼器(例如,視訊編碼器20或視訊解碼器30)可二進位化框間預測方向值,且藉由旁路模式對經二進位化之框間預測方向值的至少一位元子進行寫碼。更特定言之,視訊寫碼器可選擇上下文以藉由CABAC處理程序上下文對用於框間預測方向值之第一位元子(bin(0))進行寫碼,且藉由CABAC處理程序之旁路模式對第二位元子(bin(1))進行寫碼。或者,該等技術使得視訊寫碼器能夠藉由旁路模式對用於框間預測方向值之第一位元子(bin(0))進行寫碼,且亦藉由旁路模式對第二位元子(bin(1))進行寫碼。因此,可節省可用於對bin(0)進行寫碼之四個上下文,ctxIdx=0至3。
在不需要任何附加上下文或再使用上下文(例如,bin0之上下文) 之情況下,該等技術實現具有三個可能值(雙向、來自L0之單向,或來自L1之單向)之框間預測方向語法元素的寫碼。此外,該等技術在不需要上下文之情況下使用旁路模式,此與上下文寫碼相比在計算上可為較不複雜的。
圖9為說明根據本發明之態樣的對參考索引值進行熵編碼之實例的流程圖。儘管為解釋之目的大體描述為藉由視訊編碼器20(圖1及圖2)之組件來執行,但應理解,其他視訊寫碼單元、處理器、處理單元、基於硬體之寫碼單元(諸如,編碼器/解碼器(CODEC)),及其類似者亦可經組態以執行圖9的處理程序。
在圖9之實例中,視訊編碼器20二進位化所接收語法元素(180)。視訊編碼器20可根據本發明中所述之二進位化處理程序中的任一者來二進位化語法元素。實例二進位化處理程序包括一元、截斷式一元、指數-哥倫布,或其類似者。
視訊編碼器20判定經二進位化之語法元素是否為參考索引值(182)。再次,參考索引值為框間預測之目的在參考圖像清單中大體識別參考圖像。若經二進位化之語法元素為參考索引值(步驟182之「是」分支),則視訊編碼器20可使用上下文自適應性寫碼(諸如,CABAC)對經二進位化之參考索引值的至少一位元子進行編碼(184)。另外,視訊編碼器20可使用旁路寫碼對經二進位化之參考索引值的至少另一位元子進行編碼(在存在待寫碼之額外位元子的例子中),該旁路寫碼略過上下文自適應性寫碼引擎(186)。
如上文關於圖4所述,在一些實例中,視訊編碼器20可使用上下文寫碼來對一個、兩個或三個位元子進行寫碼。針對經上下文寫碼位元子,視訊編碼器20可基於位元子在位元子字串中之相對位置而選擇上下文。舉例而言,視訊編碼器20可選擇不同於針對第二位元子之上下文的針對第一位元子之上下文。
在任何狀況下,視訊編碼器20可組合經上下文寫碼位元子與經旁路寫碼位元子以形成經編碼位元串流188。在一些實例中,若正寫碼之語法元素並非參考索引值(步驟182之「否」分支),則視訊編碼器20可選擇特定寫碼模式(例如,旁路或上下文自適應性)以對語法元素進行寫碼(190)。視訊編碼器20可使用所選擇模式對語法元素進行編碼(192),且形成經編碼位元串流(188)。
亦應理解,關於圖9展示及描述之步驟係僅作為一實例而提供。亦即,圖9之方法的步驟無需以圖9中所示之次序來執行,且可執行較少、額外,或替代性步驟。舉例而言,在一些例子中,視訊編碼器20可在二進位化語法元素(步驟180)之前判定語法元素是否為參考索引(步驟182)。
圖10為說明根據本發明之態樣的對參考索引值進行熵解碼之實例的流程圖。儘管為解釋之目的大體描述為藉由視訊解碼器30(圖1及圖3)之組件來執行,但應理解,其他視訊寫碼單元、處理器、處理單元、基於硬體之寫碼單元(諸如,編碼器/解碼器(CODEC)),及其類似者亦可經組態以執行圖12的處理程序。
視訊解碼器30可最初剖析來自經編碼位元串流之經寫碼語法元素(200)。舉例而言,視訊解碼器30可根據特定剖析處理程序(例如,波前剖析)自經編碼位元串流讀取及分段經寫碼語法元素。經寫碼語法元素可包括複數個經寫碼位元子,亦即,二進位值。
視訊解碼器30亦可判定當前正解碼之位元串流部分是否為參考索引值(202)。若視訊解碼器30正對參考索引值進行解碼(步驟202之「是」分支),則視訊解碼器30可使用上下文自適應性寫碼來對至少一位元子進行解碼(206)。另外,視訊解碼器30可使用旁路寫碼來對至少另一位元子進行解碼(在存在待寫碼之額外位元子的例子中)(208)。如上文關於圖9所指出,在一些實例中,視訊解碼器30可使 用上下文寫碼來對一個、兩個或三個位元子進行寫碼。針對經上下文寫碼位元子,視訊解碼器30可基於位元子在位元子字串中之相對位置而選擇上下文。舉例而言,視訊解碼器30可選擇不同於針對第二位元子之上下文的針對第一位元子之上下文。
在對位元子進行解碼以產生經解碼二進位值之後,視訊解碼器30可二進位化經解碼位元子字串以產生經解碼語法元素(208)。舉例而言,視訊解碼器30可使用預定處理程序將經解碼位元子字串映射至語法元素。亦即,在一些例子中,視訊解碼器30可接收特定位元子係針對語法元素之最後位元子的指示。在完成語法元素後,接著,視訊解碼器30可隨即使用二進位化表將位元子字串映射至語法元素。
在一些實例中,若正寫碼之語法元素並非參考索引值(步驟202之「否」分支),則視訊解碼器30可選擇特定寫碼模式(例如,旁路或上下文自適應性)以對語法元素進行寫碼(210)。視訊解碼器30可使用所選擇模式對語法元素進行解碼(212),且二進位化經解碼位元子字串(208)。
亦應理解,關於圖10展示及描述之步驟係僅作為一實例而提供。亦即,圖10之方法的步驟無需以圖10中所示之次序來執行,且可執行較少、額外,或替代性步驟。
圖11為說明根據本發明之態樣的對預測資料進行熵編碼之實例的流程圖。儘管為解釋之目的大體描述為藉由視訊編碼器20(圖1及圖2)之組件來執行,但應理解,其他視訊寫碼單元、處理器、處理單元、基於硬體之寫碼單元(諸如,編碼器/解碼器(CODEC)),及其類似者亦可經組態以執行圖9的處理程序。
在圖11之實例中,視訊編碼器20可二進位化當前正寫碼之一或多個語法元素(220)。舉例而言,視訊編碼器20可二進位化包括一或多個參考索引、運動向量、運動向量預測子、運動向量預測子索引、運 動向量差值及其類似者之預測資料。
在任何狀況下,視訊編碼器20可判定正寫碼之語法元素是否包括用於上下文寫碼之位元子及用於旁路寫碼的位元子(222)。亦即,視訊編碼器20可判定語法元素之位元子是否係使用上下文自適應性寫碼與旁路寫碼之混合來寫碼。若存在上下文寫碼與旁路寫碼之混合(步驟222之「是」分支),則視訊編碼器20可將經上下文寫碼位元子及經旁路寫碼位元子分群(224)。舉例而言,視訊編碼器20可分離經上下文寫碼位元子與經旁路寫碼位元子。
視訊編碼器20可接著使用(例如)上下文自適應性寫碼處理程序(例如,諸如CABAC)來對經上下文寫碼位元子進行編碼(226)。另外,視訊編碼器20可使用旁路模式對經旁路寫碼位元子進行編碼(226)。旁路模式可略過上下文自適應性寫碼引擎,且使用固定機率來對位元子進行寫碼。
若正寫碼之語法元素並不包括經上下文寫碼位元子及經旁路寫碼位元子兩者(步驟222之「否」分支),則視訊編碼器20可選擇特定寫碼模式(例如,旁路或上下文自適應性)以對語法元素進行寫碼(230)。視訊編碼器20可接著使用所選擇模式來對語法元素進行編碼(234)。
在一些例子中,可針對兩個以上語法元素來執行關於圖11所述之位元子分群。舉例而言,如上文關於圖7所述,與PU相關聯之所有經上下文寫碼位元子可經分群,使得PU之經上下文寫碼位元子在一起寫碼,且PU的經旁路寫碼位元子在一起寫碼。另外,可對CU、LCU,或圖塊層級執行分群。亦即,在一些實例中,針對CU/LCU/圖塊之所有經上下文寫碼位元子可經分群且在一起寫碼,藉此使得視訊編碼器20能夠在上下文寫碼與旁路寫碼之間進行單一轉變。
亦應理解,關於圖11展示及描述之步驟係僅作為一實例而提供。 亦即,圖11之方法的步驟無需以圖11中所示之次序來執行,且可執行較少、額外,或替代性步驟。舉例而言,儘管圖11展示視訊編碼器20在經旁路寫碼位元子之前對經上下文寫碼位元子進行編碼,但在其他實例中,視訊編碼器20可在經上下文寫碼位元子之前對經旁路寫碼位元子進行寫碼。
圖12為說明根據本發明之態樣的對預測資料進行熵解碼之實例的流程圖。儘管為解釋之目的大體描述為藉由視訊解碼器30(圖1及圖3)之組件來執行,但應理解,其他視訊寫碼單元、處理器、處理單元、基於硬體之寫碼單元(諸如,編碼器/解碼器(CODEC)),及其類似者亦可經組態以執行圖12的處理程序。
在圖12之實例中,視訊解碼器30可判定待解碼之(一或多個)語法元素(240)。在實例中,視訊解碼器30可識別與預測資料相關聯之語法元素以供解碼。視訊解碼器30亦可判定該(等)語法元素之位元子是否包括經上下文寫碼位元子及經旁路寫碼位元子(242)。若存在上下文寫碼與旁路寫碼之混合(步驟242之「是」分支),則視訊解碼器30可對經上下文寫碼位元子進行解碼(244)。視訊解碼器30亦可與經上下文寫碼位元子單獨地對經旁路寫碼位元子進行解碼(246)。亦即,在經上下文寫碼位元子在正解碼之位元串流中與經旁路寫碼位元子單獨地分群的例子中,視訊解碼器30可與對經旁路寫碼位元子進行解碼單獨地對所有經上下文寫碼位元子進行解碼。在對該等位元子進行解碼之後,視訊解碼器30可二進位化經解碼位元子以形成經解碼語法元素(248)。舉例而言,視訊解碼器30可使用二進位化表或其他二進位化處理程序將經解碼位元子字串映射至語法元素。
若正寫碼之語法元素並不包括經上下文寫碼位元子及經旁路寫碼位元子兩者(步驟242之「否」分支),則視訊解碼器30可選擇特定寫碼模式(例如,旁路或上下文自適應性)以對語法元素進行寫碼 (250)。視訊解碼器30可接著使用所選擇模式對經編碼位元子進行解碼(252),且二進位化經解碼位元子字串以形成經解碼語法元素(248)。
如上文關於圖11所述,在一些例子中,可針對兩個以上語法元素來執行位元子分群。舉例而言,可對PU、CU、LCU,或圖塊層級執行分群。亦即,在一些實例中,針對PU/CU/LCU/圖塊之所有經上下文寫碼位元子可經分群且在一起寫碼,藉此使得視訊解碼器30能夠在上下文寫碼與旁路寫碼之間進行單一轉變。
亦應理解,關於圖12展示及描述之步驟係僅作為一實例而提供。亦即,圖12之方法的步驟無需以圖12中所示之次序來執行,且可執行較少、額外,或替代性步驟。舉例而言,儘管圖12展示視訊解碼器30在經旁路寫碼位元子之前對經上下文寫碼位元子進行解碼,但在其他實例中,視訊解碼器30可在經上下文寫碼位元子之前對經旁路寫碼位元子進行解碼。
亦應理解,取決於實例,本文中所述之方法中之任一者的某些動作或事件可以不同序列執行、可添加、合併或完全省去(例如,針對實踐該方法而言,並非所有所描述動作或事件係必要的)。此外,在某些實例中,可(例如)經由多執行緒處理、中斷處理或多個處理器同時而非順序地執行動作或事件。另外,儘管本發明之某些態樣為清楚之目的而描述為係藉由單一模組或單元來執行,但應理解,本發明之技術可藉由與視訊寫碼器相關聯之單元或模組的組合來執行。
視訊編碼器20可實施本發明之技術中的任一者或全部,以用於在視訊編碼處理程序中對參考索引及其他語法元素進行寫碼。同樣,視訊解碼器30可實施此等技術中之任一者或全部,以用於在視訊寫碼處理程序中對參考索引及其他語法元素進行寫碼。如本發明中所述之視訊寫碼器可指代視訊編碼器或視訊解碼器。類似地,視訊寫碼單元 可指代視訊編碼器或視訊解碼器。同樣,視訊寫碼可指代視訊編碼或視訊解碼。
在一或多個實例中,可以硬體、軟體、韌體,或其任何組合實施在本發明中所述且歸於視訊編碼器20、視訊解碼器30或任何其他處理單元之功能。若以軟體實施,則該等功能可作為一或多個指令或程式碼而儲存於電腦可讀媒體上或經由電腦可讀媒體傳輸,且藉由基於硬體之處理單元執行。電腦可讀媒體可包括電腦可讀儲存媒體(其對應於諸如資料儲存媒體之有形媒體)或通信媒體,通信媒體包括(例如)根據通信協定促進電腦程式自一處傳送至另一處的任何媒體。以此方式,電腦可讀媒體一般可對應於(1)非暫時性的有形電腦可讀儲存媒體,或(2)諸如信號或載波之通信媒體。資料儲存媒體可為可藉由一或多個電腦或一或多個處理器存取以擷取指令、程式碼及/或資料結構以用於實施本發明中所述之技術的任何可用媒體。電腦程式產品可包括電腦可讀媒體。
作為實例而非限制,此等電腦可讀儲存媒體可包含RAM、ROM、EEPROM、CD-ROM或其他光碟儲存器件、磁碟儲存器件或其他磁性儲存器件,快閃記憶體,或可用以儲存呈指令或資料結構之形式的所要程式碼且可由電腦存取的任何其他媒體。又,可將任何連接恰當地稱為電腦可讀媒體。舉例而言,若使用同軸纜線、光纜、雙絞線、數位用戶線(DSL),或無線技術(諸如,紅外線、無線電及微波)自網站、伺服器或其他遠端源傳輸指令,則同軸纜線、光纜、雙絞線、DSL,或無線技術(諸如,紅外線、無線電及微波)包括於媒體之定義中。然而,應理解,電腦可讀儲存媒體及資料儲存媒體不包括連接、載波、信號或其他暫時性媒體,而替代地針對非暫時性有形儲存媒體。如本文所使用,磁碟及光碟包括緊密光碟(CD)、雷射光碟、光碟、數位影音光碟(DVD)、軟性磁碟及藍光光碟,其中磁碟通常以磁 性方式再現資料,而光碟用雷射以光學方式再現資料。以上各者之組合亦應包括在電腦可讀媒體之範疇內。
可藉由諸如一或多個數位信號處理器(DSP)、通用微處理器、特殊應用積體電路(ASIC)、場可程式化邏輯陣列(FPGA),或其他等效積體或離散邏輯電路,或其任何組合之一或多個處理器來執行指令。視訊編碼器20或視訊解碼器30可包括經組態以執行本發明中所述之功能的多種此一或多個處理器中之任一者。因此,如本文所使用之術語「處理器」可指代前述結構或適於實施本文所述之技術的任何其他結構中之任一者。另外,在一些態樣中,可將本文所述之功能性提供於經組態以用於編碼及解碼之專用硬體及/或軟體模組內,或併入於組合式編解碼器中。又,可將該等技術完全實施於一或多個電路或邏輯元件中。
本發明之技術可以廣泛多種器件或裝置實施,包括無線手機、積體電路(IC)或一組IC(例如,晶片組)。各種組件、模組或單元描述於本發明中以強調經組態以執行所揭示之技術的器件之功能性態樣,但未必需要藉由不同硬體單元來實現。實情為,如上文所述,各種單元可組合於編解碼器硬體單元中,或藉由互操作性硬體單元(包括如上文所述之一或多個處理器)之集合結合合適的軟體及/或韌體來提供。
已描述各種實例。此等及其他實例係在以下申請專利範圍之範疇內。
100‧‧‧二進位化器
102‧‧‧上下文模型化器
104‧‧‧寫碼引擎
106‧‧‧旁路寫碼器

Claims (91)

  1. 一種用於在一視訊編碼處理程序中對一參考索引語法元素進行編碼之方法,該方法包含:二進位化一參考索引值;藉由一上下文自適應性二進位算術寫碼(CABAC)處理程序之一上下文寫碼模式對該經二進位化之參考索引值的至少一位元子進行編碼;及當該經二進位化之參考索引值包含多於藉由該上下文寫碼模式所寫碼之該至少一位元子的位元子時,藉由該CABAC處理程序之一旁路寫碼模式對該經二進位化之參考索引值的至少另一位元子進行編碼。
  2. 如請求項1之方法,其中藉由該上下文寫碼模式對該經二進位化之參考索引值的至少一位元子進行編碼包含:藉由一第一上下文(ctx0)對該經二進位化之參考索引值的一第一位元子(bin0)進行編碼,藉由一第二上下文(ctx1)對該經二進位化之參考索引的一第二位元子(bin1)進行編碼,且其中藉由該旁路寫碼模式對該經二進位化之參考索引值的至少另一位元子進行編碼包含:藉由該旁路寫碼模式對一第三位元子(bin2)及在該第三位元子(bin2)之後的所有剩餘位元子進行編碼。
  3. 如請求項2之方法,其中二進位化該參考索引值包含使用一組合之截斷式一元及指數哥倫布碼來二進位化該參考索引值。
  4. 如請求項1之方法,其中藉由該旁路寫碼模式對該經二進位化之 參考索引值的該至少另一位元子進行編碼包含藉由一一元、截斷式一元、哥倫布、指數哥倫布或哥倫布-萊斯寫碼處理程序中之至少一者對該至少另一位元子進行編碼。
  5. 如請求項1之方法,其進一步包含:二進位化與第一參考索引相關聯之一第一運動向量差值的分量,及與一第二參考索引相關聯之一第二運動向量差值的分量;藉由該上下文寫碼模式對第一運動向量差值之該等分量的一第一部分及該第二運動向量差值之該等分量的一第一部分進行編碼;及藉由該旁路寫碼模式對該第一運動向量差值之該等分量的一第二部分及該第二運動向量差值之該等分量的一第二部分進行編碼。
  6. 如請求項5之方法,其進一步包含:將該第一運動向量差值之該等分量的該第一部分及該第二運動向量差值之該等分量的該第一部分分群為一第一群組,以供藉由該上下文寫碼模式加以寫碼,及將第一運動向量差值之該等分量的該第二部分及該第二運動向量差值之分量的該第二部分分群為一第二群組,以供藉由該旁路寫碼模式加以寫碼。
  7. 如請求項1之方法,其中藉由該上下文寫碼模式對該經二進位化之參考索引值的至少一位元子進行編碼包含:藉由一第一上下文(ctx0)對該經二進位化之參考索引值的一第一位元子(bin0)進行編碼,藉由一第二上下文(ctx1)對該經二進位化之參考索引的一第 二位元子(bin1)進行編碼,藉由一第三上下文(ctx2)對該經二進位化之參考索引的一第三位元子(bin2)進行編碼,且其中藉由該旁路寫碼模式對該經二進位化之參考索引值的至少另一位元子進行編碼包含:藉由該旁路寫碼模式對在該第三位元子(bin2)之後的所有剩餘位元子進行編碼。
  8. 如請求項1之方法,其中藉由該上下文寫碼模式對該經二進位化之參考索引值的至少一位元子進行編碼包含:藉由一第一上下文(ctx0)對該經二進位化之參考索引值的一第一位元子(bin0)進行編碼,且其中藉由該旁路寫碼模式對該經二進位化之參考索引值的至少另一位元子進行編碼包含:藉由該旁路寫碼模式對在該第一位元子(bin0)之後的所有剩餘位元子進行編碼。
  9. 如請求項1之方法,其中二進位化該參考索引值包含對該參考索引值進行一元寫碼;其中藉由該上下文寫碼模式對該經二進位化之參考索引值的該至少一位元子進行編碼包含:藉由該上下文寫碼模式對該經一元寫碼之參考索引值的至少一位元子進行編碼;且其中藉由該旁路寫碼模式對該經二進位化之參考索引值的該至少另一位元子進行編碼包含:藉由該旁路寫碼模式對該經一元寫碼之參考索引值的至少 另一位元子進行編碼。
  10. 如請求項9之方法,其中對該參考索引值進行一元寫碼包含對該參考索引值進行截斷式一元寫碼。
  11. 如請求項1之方法,其中二進位化該參考索引值包含對該參考索引值進行一元寫碼及指數-哥倫布寫碼;其中藉由該上下文寫碼模式對該經二進位化之參考索引值的該至少一位元子進行編碼包含:藉由該上下文寫碼模式對該參考索引值之一經一元寫碼部分的至少一位元子進行編碼;且其中藉由該旁路寫碼模式對該經二進位化之參考索引值的該至少另一位元子進行編碼包含:藉由該旁路寫碼模式對該參考索引值之該經一元寫碼部分的至少另一位元子及該參考索引值之一經指數-哥倫布寫碼部分進行編碼。
  12. 如請求項11之方法,其進一步包含在對該參考索引值之該經指數-哥倫布寫碼部分進行編碼之前,截斷該參考索引值的該經指數-哥倫布寫碼部分。
  13. 如請求項1之方法,其中二進位化該參考索引值包含對該參考索引值進行一元寫碼及固定長度寫碼;其中藉由該上下文寫碼模式對該經二進位化之參考索引值的該至少一位元子進行編碼包含藉由該上下文寫碼模式對該參考索引值之一經一元寫碼部分的至少一位元子進行編碼;且其中藉由該旁路寫碼模式對該經二進位化之參考索引值的該至少另一位元子進行編碼包含藉由該旁路寫碼模式對該經一元 寫碼部分參考索引值之至少另一位元子及該參考索引值的一經固定長度寫碼部分進行編碼。
  14. 如請求項13之方法,其進一步包含在對該參考索引值之該經固定長度寫碼部分進行寫碼之前,截斷該參考索引值的該經固定長度寫碼部分。
  15. 如請求項1之方法,其中藉由該上下文寫碼模式進行編碼包含:選擇用於對該經二進位化之參考索引的該至少一位元子進行寫碼之一或多個機率模型,及使用該所選擇之一或多個機率模型對該經二進位化之參考索引的該至少一位元子進行編碼;且其中藉由該旁路寫碼模式進行編碼包含:判定一固定機率,及使用該固定機率對該經二進位化之參考索引值的該至少另一位元子進行編碼。
  16. 一種用於在一視訊編碼處理程序中對一參考索引語法元素進行編碼之裝置,該裝置包含一或多個處理器以:二進位化一參考索引值;藉由一上下文自適應性二進位算術寫碼(CABAC)處理程序之一上下文寫碼模式對該經二進位化之參考索引值的至少一位元子進行編碼;及當該經二進位化之參考索引值包含多於藉由該上下文寫碼模式所寫碼之該至少一位元子的位元子時,藉由該CABAC處理程序之一旁路寫碼模式對該經二進位化之參考索引值的至少另一位元子進行編碼。
  17. 如請求項16之裝置,其中為了藉由該上下文寫碼模式對該經二進位化之參考索引值的至少一位元子進行編碼,該一或多個處理器經組態以: 藉由一第一上下文(ctx0)對該經二進位化之參考索引值的一第一位元子(bin0)進行編碼,藉由一第二上下文(ctx1)對該經二進位化之參考索引的一第二位元子(bin1)進行編碼,且其中為了藉由該旁路寫碼模式對該經二進位化之參考索引值的至少另一位元子進行編碼,該一或多個處理器經組態以:藉由該旁路寫碼模式對一第三位元子(bin2)及在該第三位元子(bin2)之後的所有剩餘位元子進行編碼。
  18. 如請求項17之裝置,其中為了二進位化該參考索引值,該一或多個處理器經組態以使用一組合之截斷式一元及指數哥倫布碼來二進位化該參考索引值。
  19. 如請求項16之裝置,其中為了藉由該旁路寫碼模式對該經二進位化之參考索引值的該至少另一位元子進行編碼,該一或多個處理器經組態以藉由一一元、截斷式一元、哥倫布、指數哥倫布或哥倫布-萊斯寫碼處理程序中之至少一者對該至少另一位元子進行編碼。
  20. 如請求項16之裝置,其中該一或多個處理器經進一步組態以:二進位化與第一參考索引相關聯之一第一運動向量差值的分量,及與一第二參考索引相關聯之一第二運動向量差值的分量;藉由該上下文寫碼模式對第一運動向量差值之該等分量的一第一部分及該第二運動向量差值之該等分量的一第一部分進行編碼;及藉由該旁路寫碼模式對該第一運動向量差值之該等分量的一第二部分及該第二運動向量差值之該等分量的一第二部分進行編碼。
  21. 如請求項20之裝置,其中該一或多個處理器經進一步組態以:將該第一運動向量差值之該等分量的該第一部分及該第二運動向量差值之該等分量的該第一部分分群為一第一群組,以供藉由該上下文寫碼模式加以寫碼,及將第一運動向量差值之該等分量的該第二部分及該第二運動向量差值之分量的該第二部分分群為一第二群組,以供藉由該旁路寫碼模式加以寫碼。
  22. 如請求項16之裝置,其中為了藉由該上下文寫碼模式對該經二進位化之參考索引值的至少一位元子進行編碼,該一或多個處理器經組態以:藉由一第一上下文(ctx0)對該經二進位化之參考索引值的一第一位元子(bin0)進行編碼,藉由一第二上下文(ctx1)對該經二進位化之參考索引的一第二位元子(bin1)進行編碼,藉由一第三上下文(ctx2)對該經二進位化之參考索引的一第三位元子(bin2)進行編碼,且其中為了藉由該旁路寫碼模式對該經二進位化之參考索引值的至少另一位元子進行編碼,該一或多個處理器經組態以:藉由該旁路寫碼模式對在該第三位元子(bin2)之後的所有剩餘位元子進行編碼。
  23. 如請求項16之裝置,其中為了藉由該上下文寫碼模式對該經二進位化之參考索引值的至少一位元子進行編碼,該一或多個處理器經組態以:藉由一第一上下文(ctx0)對該經二進位化之參考索引值的一第一位元子(bin0)進行編碼,且其中為了藉由該旁路寫碼模式對該經二進位化之參考索引值 的至少另一位元子進行編碼,該一或多個處理器經組態以:藉由該旁路寫碼模式對在該第一位元子(bin0)之後的所有剩餘位元子進行編碼。
  24. 如請求項16之裝置,其中為了二進位化該參考索引值,該一或多個處理器經組態以對該參考索引值進行一元寫碼;其中為了藉由該上下文寫碼模式對該經二進位化之參考索引值的該至少一位元子進行編碼,該一或多個處理器經組態以:藉由該上下文寫碼模式對該經一元寫碼之參考索引值的至少一位元子進行編碼;且其中為了藉由該旁路寫碼模式對該經二進位化之參考索引值的該至少另一位元子進行編碼,該一或多個處理器經組態以:藉由該旁路寫碼模式對該經一元寫碼之參考索引值的至少另一位元子進行編碼。
  25. 如請求項24之裝置,其中為了對該參考索引值進行一元寫碼,該一或多個處理器經組態以對該參考索引值進行截斷式一元寫碼。
  26. 如請求項16之裝置,其中為了二進位化該參考索引值,該一或多個處理器經組態以對該參考索引值進行一元寫碼及指數-哥倫布寫碼;其中為了藉由該上下文寫碼模式對該經二進位化之參考索引值的該至少一位元子進行編碼,該一或多個處理器經組態以:藉由該上下文寫碼模式對該參考索引值之一經一元寫碼部分的至少一位元子進行編碼;且其中為了藉由該旁路寫碼模式對該經二進位化之參考索引值的該至少另一位元子進行編碼,該一或多個處理器經組態以: 藉由該旁路寫碼模式對該參考索引值之該經一元寫碼部分的至少另一位元子及該參考索引值之一經指數-哥倫布寫碼部分進行編碼。
  27. 如請求項26之裝置,其中該一或多個處理器經進一步組態以在對該參考索引值之該經指數-哥倫布寫碼部分進行編碼之前,截斷該參考索引值的該經指數-哥倫布寫碼部分。
  28. 如請求項16之裝置,其中為了二進位化該參考索引值,該一或多個處理器經組態以對該參考索引值進行一元寫碼及固定長度寫碼;其中為了藉由該上下文寫碼模式對該經二進位化之參考索引值的該至少一位元子進行編碼,該一或多個處理器經組態以藉由該上下文寫碼模式對該參考索引值之一經一元寫碼部分的至少一位元子進行編碼;且其中為了藉由該旁路寫碼模式對該經二進位化之參考索引值的該至少另一位元子進行編碼,該一或多個處理器經組態以藉由該旁路寫碼模式對該經一元寫碼部分參考索引值之至少另一位元子及該參考索引值的一經固定長度寫碼部分進行編碼。
  29. 如請求項28之裝置,其中該一或多個處理器經進一步組態以在對該參考索引值之該經固定長度寫碼部分進行寫碼之前,截斷該參考索引值的該經固定長度寫碼部分。
  30. 如請求項16之裝置,其中為了藉由該上下文寫碼模式進行編碼,該一或多個處理器經組態以選擇用於對該經二進位化之參考索引的該至少一位元子進行寫碼之一或多個機率模型,及使用該所選擇之一或多個機率模型對該經二進位化之參考索引的該至少一位元子進行編碼;且 其中為了藉由該旁路寫碼模式進行編碼,該一或多個處理器經組態以判定一固定機率,及使用該固定機率對該經二進位化之參考索引值的該至少另一位元子進行編碼。
  31. 一種用於在一視訊編碼處理程序中對一參考索引語法元素進行編碼之裝置,該裝置包含:用於二進位化一參考索引值的構件;用於藉由一上下文自適應性二進位算術寫碼(CABAC)處理程序之一上下文寫碼模式對該經二進位化之參考索引值的至少一位元子進行編碼的構件;及用於在該經二進位化之參考索引值包含多於藉由該上下文寫碼模式所寫碼之該至少一位元子的位元子時藉由該CABAC處理程序之一旁路寫碼模式對該經二進位化之參考索引值的至少另一位元子進行編碼的構件。
  32. 如請求項31之裝置,其中用於藉由該上下文寫碼模式對該經二進位化之參考索引值的至少一位元子進行編碼的該構件包含:用於藉由一第一上下文(ctx0)對該經二進位化之參考索引值的一第一位元子(bin0)進行編碼的構件,用於藉由一第二上下文(ctx1)對該經二進位化之參考索引的一第二位元子(bin1)進行編碼的構件,且其中用於藉由該旁路寫碼模式對該經二進位化之參考索引值的至少另一位元子進行編碼的該構件包含:用於藉由該旁路寫碼模式對一第三位元子(bin2)及在該第三位元子(bin2)之後的所有剩餘位元子進行編碼的構件。
  33. 如請求項32之裝置,其中用於二進位化該參考索引值的該構件包含用於使用一組合之截斷式一元及指數哥倫布碼來二進位化 該參考索引值的構件。
  34. 如請求項31之裝置,其中用於藉由該旁路寫碼模式對該經二進位化之參考索引值的該至少另一位元子進行編碼的該構件包含用於藉由一一元、截斷式一元、哥倫布、指數哥倫布或哥倫布-萊斯寫碼處理程序中之至少一者對該至少另一位元子進行編碼的構件。
  35. 如請求項31之裝置,其進一步包含:用於二進位化與第一參考索引相關聯之一第一運動向量差值的分量及與一第二參考索引相關聯之一第二運動向量差值的分量的構件;用於藉由該上下文寫碼模式對第一運動向量差值之該等分量的一第一部分及該第二運動向量差值之該等分量的一第一部分進行編碼的構件;及用於藉由該旁路寫碼模式對該第一運動向量差值之該等分量的一第二部分及該第二運動向量差值之該等分量的一第二部分進行編碼的構件。
  36. 如請求項35之裝置,其進一步包含:用於將該第一運動向量差值之該等分量的該第一部分及該第二運動向量差值之該等分量的該第一部分分群為一第一群組以供藉由該上下文寫碼模式加以寫碼的構件,及用於將第一運動向量差值之該等分量的該第二部分及該第二運動向量差值之分量的該第二部分分群為一第二群組以供藉由該旁路寫碼模式加以寫碼的構件。
  37. 如請求項31之裝置,其中用於藉由該上下文寫碼模式對該經二進位化之參考索引值的至少一位元子進行編碼的該構件包含: 用於藉由一第一上下文(ctx0)對該經二進位化之參考索引值的一第一位元子(bin0)進行編碼的構件,用於藉由一第二上下文(ctx1)對該經二進位化之參考索引的一第二位元子(bin1)進行編碼的構件,用於藉由一第三上下文(ctx2)對該經二進位化之參考索引的一第三位元子(bin2)進行編碼的構件,且其中用於藉由該旁路寫碼模式對該經二進位化之參考索引值的至少另一位元子進行編碼的該構件包含:用於藉由該旁路寫碼模式對在該第三位元子(bin2)之後的所有剩餘位元子進行編碼的構件。
  38. 如請求項31之裝置,其中用於藉由該上下文寫碼模式對該經二進位化之參考索引值的至少一位元子進行編碼的該構件包含:用於藉由一第一上下文(ctx0)對該經二進位化之參考索引值的一第一位元子(bin0)進行編碼的構件,且其中用於藉由該旁路寫碼模式對該經二進位化之參考索引值的至少另一位元子進行編碼的該構件包含:用於藉由該旁路寫碼模式對在該第一位元子(bin0)之後的所有剩餘位元子進行編碼的構件。
  39. 如請求項31之裝置,其中用於二進位化該參考索引值的該構件包含用於對該參考索引值進行一元寫碼的構件;其中用於藉由該上下文寫碼模式對該經二進位化之參考索引值的該至少一位元子進行編碼的該構件包含:用於藉由該上下文寫碼模式對該經一元寫碼之參考索引值的至少一位元子進行編碼的構件;且 其中用於藉由該旁路寫碼模式對該經二進位化之參考索引值的該至少另一位元子進行編碼的該構件包含:用於藉由該旁路寫碼模式對該經一元寫碼之參考索引值的至少另一位元子進行編碼的構件。
  40. 如請求項39之裝置,其中用於對該參考索引值進行一元寫碼的該構件包含用於對該參考索引值進行截斷式一元寫碼的構件。
  41. 如請求項31之裝置,其中用於二進位化該參考索引值的該構件包含用於對該參考索引值進行一元寫碼及指數-哥倫布寫碼的構件;其中用於藉由該上下文寫碼模式對該經二進位化之參考索引值的該至少一位元子進行編碼的該構件包含:用於藉由該上下文寫碼模式對該參考索引值之一經一元寫碼部分之至少一位元子進行編碼的構件;且其中用於藉由該旁路寫碼模式對該經二進位化之參考索引值的該至少另一位元子進行編碼的該構件包含:用於藉由該旁路寫碼模式對該參考索引值之該經一元寫碼部分的至少另一位元子及該參考索引值之一經指數-哥倫布寫碼部分進行編碼的構件。
  42. 如請求項41之裝置,其進一步包含用於在對該參考索引值之該經指數-哥倫布寫碼部分進行編碼之前截斷該參考索引值的該經指數-哥倫布寫碼部分的構件。
  43. 如請求項31之裝置,其中用於二進位化該參考索引值的該構件包含用於對該參考索引值進行一元寫碼及固定長度寫碼的構件;其中用於藉由該上下文寫碼模式對該經二進位化之參考索引值的該至少一位元子進行編碼的該構件包含用於藉由該上下文 寫碼模式對該參考索引值之一經一元寫碼部分的至少一位元子進行編碼的構件;且其中用於藉由該旁路寫碼模式對該經二進位化之參考索引值的該至少另一位元子進行編碼的該構件包含用於藉由該旁路寫碼模式對該經一元寫碼部分參考索引值之至少另一位元子及該參考索引值的一經固定長度寫碼部分進行編碼的構件。
  44. 如請求項43之裝置,其進一步包含用於在對該參考索引值之該經固定長度寫碼部分進行寫碼之前截斷該參考索引值的該經固定長度寫碼部分的構件。
  45. 如請求項31之裝置,其中用於藉由該上下文寫碼模式進行編碼的構件包含用於選擇用於對該經二進位化之參考索引的該至少一位元子進行寫碼之一或多個機率模型的構件,及用於使用該所選擇之一或多個機率模型對該經二進位化之參考索引的該至少一位元子進行編碼的構件;且其中用於藉由該旁路寫碼模式進行編碼的構件包含用於判定一固定機率的構件,及用於使用該固定機率對該經二進位化之參考索引值的該至少另一位元子進行編碼的構件。
  46. 一種用於在一視訊解碼處理程序中對一參考索引語法元素進行解碼之方法,該方法包含:藉由一上下文自適應性二進位算術寫碼(CABAC)處理程序之一上下文寫碼模式對一參考索引值的至少一位元子進行解碼;當該參考索引值包含多於藉由該上下文寫碼模式所寫碼之該至少一位元子的位元子時,藉由該CABAC處理程序之一旁路寫碼模式對該參考索引值的至少另一位元子進行解碼;及二進位化該參考索引值。
  47. 如請求項46之方法,其中藉由該上下文寫碼模式對該參考索引值的至少一位元子進行解碼包含:藉由一第一上下文(ctx0)對該參考索引值的一第一位元子(bin0)進行解碼,藉由一第二上下文(ctx1)對該參考索引的一第二位元子(bin1)進行解碼,且其中藉由該旁路寫碼模式對該參考索引值的至少另一位元子進行解碼包含:藉由該旁路寫碼模式對一第三位元子(bin2)及在該第三位元子(bin2)之後的所有剩餘位元子進行解碼。
  48. 如請求項47之方法,其中二進位化該參考索引值包含使用一組合之截斷式一元及指數哥倫布碼來二進位化該參考索引值。
  49. 如請求項46之方法,其中藉由該旁路寫碼模式對該參考索引值的該至少另一位元子進行解碼包含藉由一一元、截斷式一元、哥倫布、指數哥倫布或哥倫布-萊斯寫碼處理程序中之至少一者對該至少另一位元子進行解碼。
  50. 如請求項46之方法,其進一步包含:藉由該上下文寫碼模式對一第一運動向量差值之分量的一第一部分及一第二運動向量差值之分量的一第一部分進行解碼;藉由該旁路寫碼模式對該第一運動向量差值之該等分量的一第二部分及該第二運動向量差值之該等分量的一第二部分進行解碼;及二進位化與第一參考索引相關聯之該第一運動向量差值的該等分量,及與一第二參考索引相關聯之該第二運動向量差值的該等分量。
  51. 如請求項50之方法,其進一步包含:將該第一運動向量差值之該等分量的該第一部分及該第二運動向量差值之該等分量的該第一部分分群為一第一群組,以供藉由該上下文寫碼模式加以寫碼,及將第一運動向量差值之該等分量的該第二部分及該第二運動向量差值之分量的該第二部分分群為一第二群組,以供藉由該旁路寫碼模式加以寫碼。
  52. 如請求項46之方法,其中藉由該上下文寫碼模式對該參考索引值的至少一位元子進行解碼包含:藉由一第一上下文(ctx0)對該參考索引值的一第一位元子(bin0)進行解碼,藉由一第二上下文(ctx1)對該參考索引的一第二位元子(bin1)進行解碼,藉由一第三上下文(ctx2)對該參考索引的一第三位元子(bin2)進行解碼,且其中藉由該旁路寫碼模式對該參考索引值的至少另一位元子進行解碼包含:藉由該旁路寫碼模式對在該第三位元子(bin2)之後的所有剩餘位元子進行解碼。
  53. 如請求項46之方法,其中藉由該上下文寫碼模式對該參考索引值的至少一位元子進行解碼包含:藉由一第一上下文(ctx0)對該參考索引值的一第一位元子(bin0)進行解碼,且其中藉由該旁路寫碼模式對該參考索引值的至少另一位元子 進行解碼包含:藉由該旁路寫碼模式對在該第一位元子(bin0)之後的所有剩餘位元子進行解碼。
  54. 如請求項46之方法,其中藉由該上下文寫碼模式對該參考索引值的該至少一位元子進行解碼包含:藉由該上下文寫碼模式對該經一元寫碼之參考索引值的至少一位元子進行解碼;其中藉由該旁路寫碼模式對該索引值的該至少另一位元子進行解碼包含:藉由該旁路寫碼模式對該經一元寫碼之參考索引值的至少另一位元子進行解碼;且其中二進位化該參考索引值包含對該參考索引值進行一元寫碼。
  55. 如請求項54之方法,其中對該參考索引值進行一元寫碼包含對該參考索引值進行截斷式一元寫碼。
  56. 如請求項46之方法,其中藉由該上下文寫碼模式對該參考索引值的該至少一位元子進行解碼包含:藉由該上下文寫碼模式對該參考索引值之一經一元寫碼部分的至少一位元子進行解碼;其中藉由該旁路寫碼模式對該參考索引值的該至少另一位元子進行解碼包含:藉由該旁路寫碼模式對該參考索引值之該經一元寫碼部分的至少另一位元子及該參考索引值之一經指數-哥倫布寫碼部分進行解碼;且 其中二進位化該參考索引值包含對該參考索引值進行一元寫碼及指數-哥倫布寫碼。
  57. 如請求項56之方法,其進一步包含在對該參考索引值之該經指數-哥倫布寫碼部分進行解碼之前,截斷該參考索引值的該經指數-哥倫布寫碼部分。
  58. 如請求項46之方法,其中藉由該上下文寫碼模式對該參考索引值的該至少一位元子進行解碼包含藉由該上下文寫碼模式對該參考索引值之一經一元寫碼部分的至少一位元子進行解碼;其中藉由該旁路寫碼模式對該參考索引值的該至少另一位元子進行解碼包含藉由該旁路寫碼模式對該經一元寫碼部分參考索引值之至少另一位元子及該參考索引值的一經固定長度寫碼部分進行解碼;且其中二進位化該參考索引值包含對該參考索引值進行一元寫碼及固定長度寫碼。
  59. 如請求項58之方法,其進一步包含在對該參考索引值之該經固定長度寫碼部分進行寫碼之前,截斷該參考索引值的該經固定長度寫碼部分。
  60. 如請求項46之方法,其中藉由該上下文寫碼模式進行解碼包含選擇用於對該經二進位化之參考索引的該至少一位元子進行寫碼之一或多個機率模型,及使用該所選擇之一或多個機率模型對該經二進位化之參考索引的該至少一位元子進行解碼;且其中藉由該旁路寫碼模式進行解碼包含判定一固定機率,及使用該固定機率對該經二進位化之參考索引值的該至少另一位元子進行解碼。
  61. 一種用於在一視訊解碼處理程序中對一參考索引語法元素進行解碼之裝置,該裝置包含經組態以進行以下操作之一或多個處理器:藉由一上下文自適應性二進位算術寫碼(CABAC)處理程序之一上下文寫碼模式對一參考索引值的至少一位元子進行解碼;當該參考索引值包含多於藉由該上下文寫碼模式所寫碼之該至少一位元子的位元子時,藉由該CABAC處理程序之一旁路寫碼模式對該參考索引值的至少另一位元子進行解碼;及二進位化該參考索引值。
  62. 如請求項61之裝置,其中為了藉由該上下文寫碼模式對該參考索引值的至少一位元子進行解碼,該一或多個處理器經組態以:藉由一第一上下文(ctx0)對該參考索引值的一第一位元子(bin0)進行解碼,藉由一第二上下文(ctx1)對該參考索引的一第二位元子(bin1)進行解碼,且其中為了藉由該旁路寫碼模式對該參考索引值的至少另一位元子進行解碼,該一或多個處理器經組態以:藉由該旁路寫碼模式對一第三位元子(bin2)及在該第三位元子(bin2)之後的所有剩餘位元子進行解碼。
  63. 如請求項62之裝置,其中為了二進位化該參考索引值,該一或多個處理器經組態以使用一組合之截斷式一元及指數哥倫布碼來二進位化該參考索引值。
  64. 如請求項61之裝置,其中為了藉由該旁路寫碼模式對該參考索引值的該至少另一位元子進行解碼,該一或多個處理器經組態以藉由一一元、截斷式一元、哥倫布、指數哥倫布或哥倫布-萊 斯寫碼處理程序中之至少一者對該至少另一位元子進行解碼。
  65. 如請求項61之裝置,其中該一或多個處理器經進一步組態以:藉由該上下文寫碼模式對一第一運動向量差值之分量的一第一部分及一第二運動向量差值之分量的一第一部分進行解碼;藉由該旁路寫碼模式對該第一運動向量差值之該等分量的一第二部分及該第二運動向量差值之該等分量的一第二部分進行解碼;及二進位化與第一參考索引相關聯之該第一運動向量差值的該等分量,及與一第二參考索引相關聯之該第二運動向量差值的該等分量。
  66. 如請求項65之裝置,其中該一或多個處理器經進一步組態以:將該第一運動向量差值之該等分量的該第一部分及該第二運動向量差值之該等分量的該第一部分分群為一第一群組,以供藉由該上下文寫碼模式加以寫碼,及將第一運動向量差值之該等分量的該第二部分及該第二運動向量差值之分量的該第二部分分群為一第二群組,以供藉由該旁路寫碼模式加以寫碼。
  67. 如請求項61之裝置,其中為了藉由該上下文寫碼模式對該參考索引值的至少一位元子進行解碼,該一或多個處理器經組態以:藉由一第一上下文(ctx0)對該參考索引值的一第一位元子(bin0)進行解碼,藉由一第二上下文(ctx1)對該參考索引的一第二位元子(bin1)進行解碼,藉由一第三上下文(ctx2)對該參考索引的一第三位元子(bin2)進行解碼,且 其中為了藉由該旁路寫碼模式對該參考索引值的至少另一位元子進行解碼,該一或多個處理器經組態以:藉由該旁路寫碼模式對在該第三位元子(bin2)之後的所有剩餘位元子進行解碼。
  68. 如請求項61之裝置,其中為了藉由該上下文寫碼模式對該參考索引值的至少一位元子進行解碼,該一或多個處理器經組態以:藉由一第一上下文(ctx0)對該參考索引值的一第一位元子(bin0)進行解碼,且其中為了藉由該旁路寫碼模式對該參考索引值的至少另一位元子進行解碼,該一或多個處理器經組態以:藉由該旁路寫碼模式對在該第一位元子(bin0)之後的所有剩餘位元子進行解碼。
  69. 如請求項61之裝置,其中為了藉由該上下文寫碼模式對該參考索引值的該至少一位元子進行解碼,該一或多個處理器經組態以:藉由該上下文寫碼模式對該經一元寫碼之參考索引值的至少一位元子進行解碼;其中為了藉由該旁路寫碼模式對該索引值的該至少另一位元子進行解碼,該一或多個處理器經組態以:藉由該旁路寫碼模式對該經一元寫碼之參考索引值的至少另一位元子進行解碼;且其中為了二進位化該參考索引值,該一或多個處理器經組態以對該參考索引值進行一元寫碼。
  70. 如請求項69之裝置,其中為了對該參考索引值進行一元寫碼,該一或多個處理器經組態以對該參考索引值進行截斷式一元寫 碼。
  71. 如請求項61之裝置,其中為了藉由該上下文寫碼模式對該參考索引值的該至少一位元子進行解碼,該一或多個處理器經組態以:藉由該上下文寫碼模式對該參考索引值之一經一元寫碼部分的至少一位元子進行解碼;其中為了藉由該旁路寫碼模式對該參考索引值的該至少另一位元子進行解碼,該一或多個處理器經組態以:藉由該旁路寫碼模式對該參考索引值之該經一元寫碼部分的至少另一位元子及該參考索引值之一經指數-哥倫布寫碼部分進行解碼;且其中為了二進位化該參考索引值,該一或多個處理器經組態以對該參考索引值進行一元寫碼及指數-哥倫布寫碼。
  72. 如請求項71之裝置,其中該一或多個處理器經進一步組態以在對該參考索引值之該經指數-哥倫布寫碼部分進行解碼之前,截斷該參考索引值的該經指數-哥倫布寫碼部分。
  73. 如請求項61之裝置,其中為了藉由該上下文寫碼模式對該參考索引值的該至少一位元子進行解碼,該一或多個處理器經組態以藉由該上下文寫碼模式對該參考索引值之一經一元寫碼部分的至少一位元子進行解碼;其中為了藉由該旁路寫碼模式對該參考索引值的該至少另一位元子進行解碼,該一或多個處理器經組態以藉由該旁路寫碼模式對該經一元寫碼部分參考索引值之至少另一位元子及該參考索引值的一經固定長度寫碼部分進行解碼;且其中為了二進位化該參考索引值,該一或多個處理器經組態 以對該參考索引值進行一元寫碼及固定長度寫碼。
  74. 如請求項73之裝置,其中該一或多個處理器經進一步組態以在對該參考索引值之該經固定長度寫碼部分進行寫碼之前,截斷該參考索引值的該經固定長度寫碼部分。
  75. 如請求項61之裝置,其中為了藉由該上下文寫碼模式進行解碼,該一或多個處理器經組態以選擇用於對該經二進位化之參考索引的該至少一位元子進行寫碼之一或多個機率模型,及使用該所選擇之一或多個機率模型對該經二進位化之參考索引的該至少一位元子進行解碼;且其中為了藉由該旁路寫碼模式進行解碼,該一或多個處理器經組態以判定一固定機率,及使用該固定機率對該經二進位化之參考索引值的該至少另一位元子進行解碼。
  76. 一種非暫時性電腦可讀媒體,其上儲存有指令,該等指令在被執行時使一或多個處理器:藉由一上下文自適應性二進位算術寫碼(CABAC)處理程序之一上下文寫碼模式對一參考索引值的至少一位元子進行解碼;當該參考索引值包含多於藉由該上下文寫碼模式所寫碼之該至少一位元子的位元子時,藉由該CABAC處理程序之一旁路寫碼模式對該參考索引值的至少另一位元子進行解碼;及二進位化該參考索引值。
  77. 如請求項76之電腦可讀媒體,其中為了藉由該上下文寫碼模式對該參考索引值的至少一位元子進行解碼,該等指令使該一或多個處理器:藉由一第一上下文(ctx0)對該參考索引值的一第一位元子(bin0)進行解碼, 藉由一第二上下文(ctx1)對該參考索引的一第二位元子(bin1)進行解碼,且其中為了藉由該旁路寫碼模式對該參考索引值的至少另一位元子進行解碼,該等指令使該一或多個處理器:藉由該旁路寫碼模式對一第三位元子(bin2)及在該第三位元子(bin2)之後的所有剩餘位元子進行解碼。
  78. 如請求項77之電腦可讀媒體,其中為了二進位化該參考索引值,該等指令使該一或多個處理器使用一組合之截斷式一元及指數哥倫布碼來二進位化該參考索引值。
  79. 如請求項76之電腦可讀媒體,其中為了藉由該旁路寫碼模式對該參考索引值的該至少另一位元子進行解碼,該等指令使該一或多個處理器藉由一一元、截斷式一元、哥倫布、指數哥倫布或哥倫布-萊斯寫碼處理程序中之至少一者對該至少另一位元子進行解碼。
  80. 如請求項76之電腦可讀媒體,其進一步包含使該一或多個處理器進行以下操作之指令:藉由該上下文寫碼模式對一第一運動向量差值之分量的一第一部分及一第二運動向量差值之分量的一第一部分進行解碼;藉由該旁路寫碼模式對該第一運動向量差值之該等分量的一第二部分及該第二運動向量差值之該等分量的一第二部分進行解碼;及二進位化與第一參考索引相關聯之該第一運動向量差值的該等分量,及與一第二參考索引相關聯之該第二運動向量差值的該等分量。
  81. 如請求項80之電腦可讀媒體,其進一步包含使該一或多個處理器進行以下操作之指令: 將該第一運動向量差值之該等分量的該第一部分及該第二運動向量差值之該等分量的該第一部分分群為一第一群組,以供藉由該上下文寫碼模式加以寫碼,及將第一運動向量差值之該等分量的該第二部分及該第二運動向量差值之分量的該第二部分分群為一第二群組,以供藉由該旁路寫碼模式加以寫碼。
  82. 如請求項76之電腦可讀媒體,其中為了藉由該上下文寫碼模式對該參考索引值的至少一位元子進行解碼,該等指令使該一或多個處理器:藉由一第一上下文(ctx0)對該參考索引值的一第一位元子(bin0)進行解碼,藉由一第二上下文(ctx1)對該參考索引的一第二位元子(bin1)進行解碼,藉由一第三上下文(ctx2)對該參考索引的一第三位元子(bin2)進行解碼,且其中為了藉由該旁路寫碼模式對該參考索引值的至少另一位元子進行解碼,該等指令使該一或多個處理器:藉由該旁路寫碼模式對在該第三位元子(bin2)之後的所有剩餘位元子進行解碼。
  83. 如請求項76之電腦可讀媒體,其中為了藉由該上下文寫碼模式對該參考索引值的至少一位元子進行解碼,該等指令使該一或多個處理器:藉由一第一上下文(ctx0)對該參考索引值的一第一位元子(bin0)進行解碼,且其中為了藉由該旁路寫碼模式對該參考索引值的至少另一位元子進行解碼,該等指令使該一或多個處理器: 藉由該旁路寫碼模式對在該第一位元子(bin0)之後的所有剩餘位元子進行解碼。
  84. 如請求項76之電腦可讀媒體,其中為了藉由該上下文寫碼模式對該參考索引值的該至少一位元子進行解碼,該等指令使該一或多個處理器:藉由該上下文寫碼模式對該經一元寫碼之參考索引值的至少一位元子進行解碼;其中為了藉由該旁路寫碼模式對該索引值的該至少另一位元子進行解碼,該等指令使該一或多個處理器:藉由該旁路寫碼模式對該經一元寫碼之參考索引值的至少另一位元子進行解碼;且其中為了二進位化該參考索引值,該等指令使該一或多個處理器對該參考索引值進行一元寫碼。
  85. 如請求項84之電腦可讀媒體,其中為了對該參考索引值進行一元寫碼,該等指令使該一或多個處理器對該參考索引值進行截斷式一元寫碼。
  86. 如請求項76之電腦可讀媒體,其中為了藉由該上下文寫碼模式對該參考索引值的該至少一位元子進行解碼,該等指令使該一或多個處理器:藉由該上下文寫碼模式對該參考索引值之一經一元寫碼部分的至少一位元子進行解碼;其中為了藉由該旁路寫碼模式對該參考索引值的該至少另一位元子進行解碼,該等指令使該一或多個處理器:藉由該旁路寫碼模式對該參考索引值之該經一元寫碼部分的至少另一位元子及該參考索引值之一經指數-哥倫布寫碼部分進行解碼;且 其中為了二進位化該參考索引值,該等指令使該一或多個處理器對該參考索引值進行一元寫碼及指數-哥倫布寫碼。
  87. 如請求項86之電腦可讀媒體,其進一步包含使該一或多個處理器進行以下操作之指令:在對該參考索引值之該經指數-哥倫布寫碼部分進行解碼之前,截斷該參考索引值的該經指數-哥倫布寫碼部分。
  88. 如請求項76之電腦可讀媒體,其中為了藉由該上下文寫碼模式對該參考索引值的該至少一位元子進行解碼,該等指令使該一或多個處理器藉由該上下文寫碼模式對該參考索引值之一經一元寫碼部分的至少一位元子進行解碼;其中為了藉由該旁路寫碼模式對該參考索引值的該至少另一位元子進行解碼,該等指令使該一或多個處理器藉由該旁路寫碼模式對該經一元寫碼部分參考索引值之至少另一位元子及該參考索引值的一經固定長度寫碼部分進行解碼;且其中為了二進位化該參考索引值,該等指令使該一或多個處理器對該參考索引值進行一元寫碼及固定長度寫碼。
  89. 如請求項88之電腦可讀媒體,其進一步包含使該一或多個處理器進行以下操作之指令:在對該參考索引值之該經固定長度寫碼部分進行寫碼之前,截斷該參考索引值的該經固定長度寫碼部分。
  90. 如請求項76之電腦可讀媒體,其中為了藉由該上下文寫碼模式進行解碼,該等指令使該一或多個處理器選擇用於對該經二進位化之參考索引的該至少一位元子進行寫碼之一或多個機率模型,及使用該所選擇之一或多個機率模型對該經二進位化之參考索引的該至少一位元子進 行解碼;且其中為了藉由該旁路寫碼模式進行解碼,該等指令使該一或多個處理器判定一固定機率,及使用該固定機率對該經二進位化之參考索引值的該至少另一位元子進行解碼。
  91. 如請求項76之電腦可讀媒體,其進一步包含使該一或多個處理器進行以下操作之指令:藉由該CABAC處理程序之一上下文寫碼模式對一框間預測方向語法元素的一第一位元子進行解碼;及藉由該CABAC處理程序之一旁路寫碼模式對該框間預測方向語法元素的一第二位元子進行解碼。
TW102112895A 2012-04-11 2013-04-11 用於在視訊寫碼中之參考索引寫碼的旁路位元子 TWI520619B (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US201261623043P 2012-04-11 2012-04-11
US201261637218P 2012-04-23 2012-04-23
US201261640568P 2012-04-30 2012-04-30
US201261647422P 2012-05-15 2012-05-15
US201261665151P 2012-06-27 2012-06-27
US13/828,173 US9264706B2 (en) 2012-04-11 2013-03-14 Bypass bins for reference index coding in video coding

Publications (2)

Publication Number Publication Date
TW201408073A true TW201408073A (zh) 2014-02-16
TWI520619B TWI520619B (zh) 2016-02-01

Family

ID=49325049

Family Applications (1)

Application Number Title Priority Date Filing Date
TW102112895A TWI520619B (zh) 2012-04-11 2013-04-11 用於在視訊寫碼中之參考索引寫碼的旁路位元子

Country Status (21)

Country Link
US (1) US9264706B2 (zh)
EP (1) EP2837178B1 (zh)
JP (1) JP6215304B2 (zh)
KR (1) KR101706838B1 (zh)
CN (1) CN104205830B (zh)
AU (1) AU2013246275B2 (zh)
BR (1) BR112014025419B1 (zh)
CA (1) CA2867756C (zh)
DK (1) DK2837178T3 (zh)
ES (1) ES2742027T3 (zh)
HK (1) HK1201111A1 (zh)
HU (1) HUE044738T2 (zh)
IL (1) IL234648A (zh)
MY (1) MY171168A (zh)
PH (1) PH12014502204A1 (zh)
RU (1) RU2643655C2 (zh)
SG (1) SG11201405754VA (zh)
TW (1) TWI520619B (zh)
UA (1) UA115142C2 (zh)
WO (1) WO2013154866A1 (zh)
ZA (1) ZA201407859B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI604323B (zh) * 2016-11-10 2017-11-01 財團法人工業技術研究院 視訊索引建立方法及應用其之裝置
US10412390B2 (en) 2016-07-12 2019-09-10 Mediatek Inc. Video processing system using low-cost video encoding/decoding architecture

Families Citing this family (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012134246A2 (ko) 2011-04-01 2012-10-04 엘지전자 주식회사 엔트로피 디코딩 방법 및 이를 이용하는 디코딩 장치
US9379736B2 (en) * 2011-06-03 2016-06-28 Qualcomm Incorporated Context-adaptive coding video data
CN103609116A (zh) * 2011-06-17 2014-02-26 松下电器产业株式会社 动态图像编码装置以及动态图像编码方法
US9258565B1 (en) * 2011-06-29 2016-02-09 Freescale Semiconductor, Inc. Context model cache-management in a dual-pipeline CABAC architecture
US9253508B2 (en) 2011-11-04 2016-02-02 Futurewei Technologies, Inc. Differential pulse code modulation intra prediction for high efficiency video coding
US9584802B2 (en) * 2012-04-13 2017-02-28 Texas Instruments Incorporated Reducing context coded and bypass coded bins to improve context adaptive binary arithmetic coding (CABAC) throughput
KR102167095B1 (ko) 2012-07-02 2020-10-16 엘지전자 주식회사 영상 정보 코딩 방법 및 이를 이용하는 장치
RU2647674C1 (ru) * 2012-07-02 2018-03-16 Самсунг Электроникс Ко., Лтд. Способ и устройство для кодирования видео и способ и устройство для декодирования видео, определяющие список опорных изображений внешнего прогнозирования в зависимости от размера блока
CN111193930B (zh) * 2013-12-16 2021-11-30 浙江大学 一种前向双假设编码图像块的编解码方法和装置
US9900625B2 (en) * 2014-03-17 2018-02-20 Mediatek Inc. Method and apparatus for efficient information coding
US9842115B2 (en) * 2014-05-30 2017-12-12 Apple Inc. Media asset proxies
US9854253B2 (en) * 2014-06-30 2017-12-26 Qualcomm Incorporated Method for motion vector difference (MVD) and intra block copy vector difference (BVD) coding of screen content video data
GB2530312B (en) * 2014-09-19 2016-09-14 Imagination Tech Ltd Data compression
CN111741312B (zh) * 2014-10-31 2024-03-19 三星电子株式会社 用于对运动矢量进行编码/解码的方法和装置
US9942551B2 (en) * 2015-01-30 2018-04-10 Qualcomm Incorporated Palette index grouping for video coding
US10574993B2 (en) * 2015-05-29 2020-02-25 Qualcomm Incorporated Coding data using an enhanced context-adaptive binary arithmetic coding (CABAC) design
US10708164B2 (en) * 2016-05-03 2020-07-07 Qualcomm Incorporated Binarizing secondary transform index
EP3264763A1 (en) * 2016-06-29 2018-01-03 Thomson Licensing Method and apparatus for improved significance flag coding using simple local predictor
US10986358B2 (en) * 2016-07-05 2021-04-20 Kt Corporation Method and apparatus for processing video signal
US10827186B2 (en) * 2016-08-25 2020-11-03 Intel Corporation Method and system of video coding with context decoding and reconstruction bypass
KR20180031944A (ko) 2016-09-21 2018-03-29 삼성전자주식회사 비디오 디코더 및 이를 포함하는 전자 시스템
US10264264B2 (en) * 2016-09-24 2019-04-16 Apple Inc. Multi-bin decoding systems and methods
EP3306924A1 (en) 2016-10-05 2018-04-11 Thomson Licensing Method and device for context-adaptive binary arithmetic coding a sequence of binary symbols representing a syntax element related to picture data
KR102414164B1 (ko) 2017-03-31 2022-06-29 한국전자통신연구원 향상된 산술부호화를 제공하는 영상 처리 방법, 그를 이용한 영상 복호화, 부호화 방법 및 그 장치
US10560723B2 (en) 2017-05-08 2020-02-11 Qualcomm Incorporated Context modeling for transform coefficient coding
CN107300909A (zh) * 2017-06-30 2017-10-27 电子科技大学 一种基于mvc框架的无人机地面维护系统及方法
US10869060B2 (en) * 2018-01-30 2020-12-15 Google Llc Efficient context model computation design in transform coefficient coding
US10506242B2 (en) * 2018-01-30 2019-12-10 Google Llc Efficient context model computation design in transform coefficient coding
CN112106355B (zh) * 2018-04-13 2023-03-21 浙江大学 一种信息保持编解码方法与装置
EP3562162A1 (en) 2018-04-27 2019-10-30 InterDigital VC Holdings, Inc. Method and apparatus for video encoding and decoding based on neural network implementation of cabac
EP3806042A4 (en) * 2018-06-06 2021-06-23 Panasonic Intellectual Property Corporation of America METHOD FOR CODING THREE-DIMENSIONAL DATA, METHOD FOR DECODING THREE-DIMENSIONAL DATA, DEVICE FOR CODING THREE-DIMENSIONAL DATA AND DEVICE FOR DECODING THREE-DIMENSIONAL DATA
TWI719523B (zh) 2018-06-29 2021-02-21 大陸商北京字節跳動網絡技術有限公司 哪個查找表需要更新或不更新
CN110662053B (zh) 2018-06-29 2022-03-25 北京字节跳动网络技术有限公司 使用查找表的视频处理方法、装置和存储介质
WO2020003284A1 (en) 2018-06-29 2020-01-02 Beijing Bytedance Network Technology Co., Ltd. Interaction between lut and amvp
EP3791587A1 (en) 2018-06-29 2021-03-17 Beijing Bytedance Network Technology Co. Ltd. Resetting of look up table per slice/tile/lcu row
JP7460617B2 (ja) 2018-06-29 2024-04-02 北京字節跳動網絡技術有限公司 Lut更新条件
EP3791585A1 (en) 2018-06-29 2021-03-17 Beijing Bytedance Network Technology Co. Ltd. Partial/full pruning when adding a hmvp candidate to merge/amvp
SG11202012293RA (en) 2018-06-29 2021-01-28 Beijing Bytedance Network Technology Co Ltd Update of look up table: fifo, constrained fifo
KR20210025537A (ko) 2018-06-29 2021-03-09 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 하나 또는 다수의 룩업 테이블들을 사용하여 이전에 코딩된 모션 정보를 순서대로 저장하고 이를 사용하여 후속 블록들을 코딩하는 개념
JP7328330B2 (ja) 2018-06-29 2023-08-16 北京字節跳動網絡技術有限公司 Lutにおける動き候補のチェック順序
CN110677669B (zh) 2018-07-02 2021-12-07 北京字节跳动网络技术有限公司 具有lic的lut
CN110891180B (zh) * 2018-09-10 2023-11-17 华为技术有限公司 视频解码方法及视频解码器
WO2020053800A1 (en) 2018-09-12 2020-03-19 Beijing Bytedance Network Technology Co., Ltd. How many hmvp candidates to be checked
US11006150B2 (en) 2018-09-24 2021-05-11 Tencent America LLC Method and apparatus for video coding
BR112021005558A2 (pt) * 2018-09-24 2021-06-29 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. aparelho para codificar e decodificar um bloco de coeficientes de transformação, codificador para codificar e decodificador para decodificar um bloco de coeficiente de transformação, método para codificar e decodificar um bloco de coeficientes de transformação, corrente de dados
US11197017B2 (en) * 2018-12-06 2021-12-07 Tencent America LLC Methods and apparatuses for video coding
US10798397B2 (en) * 2019-01-02 2020-10-06 Tencent America LLC Method and apparatus for video coding
KR102648159B1 (ko) 2019-01-10 2024-03-18 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 Lut 업데이트의 호출
CN113383554B (zh) 2019-01-13 2022-12-16 北京字节跳动网络技术有限公司 LUT和共享Merge列表之间的交互
WO2020147773A1 (en) 2019-01-16 2020-07-23 Beijing Bytedance Network Technology Co., Ltd. Inserting order of motion candidates in lut
CN113316934B (zh) * 2019-01-25 2024-03-08 寰发股份有限公司 带有变换块级别约束的变换系数编码的方法和设备
WO2020171644A1 (ko) * 2019-02-22 2020-08-27 엘지전자 주식회사 영상 코딩 시스템에서 cclm 예측에 기반한 영상 디코딩 방법 및 그 장치
CN111726632B (zh) * 2019-03-18 2022-08-26 杭州海康威视数字技术股份有限公司 一种编解码方法、装置及其设备
CN113615193A (zh) 2019-03-22 2021-11-05 北京字节跳动网络技术有限公司 Merge列表构建和其他工具之间的交互
US11604767B2 (en) * 2019-04-05 2023-03-14 Comcast Cable Communications, Llc Systems and methods for data distillation
KR20210142008A (ko) * 2019-06-17 2021-11-23 엘지전자 주식회사 루마 맵핑 및 크로마 스케일링 기반 비디오 또는 영상 코딩
US11330298B2 (en) * 2019-06-25 2022-05-10 Qualcomm Incorporated Simplified intra chroma mode coding in video coding
CN113766247B (zh) * 2019-06-25 2023-07-25 北京大学 环路滤波的方法与装置
KR20220051842A (ko) * 2019-09-18 2022-04-26 삼성전자주식회사 움직임 정보의 부호화 장치 및 방법, 및 복호화 장치 및 방법
US11599671B1 (en) * 2019-12-13 2023-03-07 TripleBlind, Inc. Systems and methods for finding a value in a combined list of private values
US11973743B2 (en) 2019-12-13 2024-04-30 TripleBlind, Inc. Systems and methods for providing a systemic error in artificial intelligence algorithms
US11582203B2 (en) 2019-12-13 2023-02-14 TripleBlind, Inc. Systems and methods for encrypting data and algorithms
US11431688B2 (en) 2019-12-13 2022-08-30 TripleBlind, Inc. Systems and methods for providing a modified loss function in federated-split learning
WO2021177791A1 (ko) * 2020-03-05 2021-09-10 엘지전자 주식회사 혼성 nal 유닛 타입에 기반하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법
WO2021179199A1 (en) * 2020-03-11 2021-09-16 Shenzhen Yunyinggu Technology Co., Ltd. Methods and systems for compressing and decompressing display demura compensation data
WO2023091688A1 (en) * 2021-11-19 2023-05-25 Beijing Dajia Internet Information Technology Co., Ltd. Methods and devices for decoder-side intra mode derivation
WO2023114155A1 (en) * 2021-12-13 2023-06-22 Beijing Dajia Internet Information Technology Co., Ltd. Methods and devices for decoder-side intra mode derivation

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5473376A (en) * 1994-12-01 1995-12-05 Motorola, Inc. Method and apparatus for adaptive entropy encoding/decoding of quantized transform coefficients in a video compression system
EP0847650A4 (en) * 1996-07-03 2000-01-05 Motorola Inc METHOD AND DEVICE FOR LIMIT-VALUE-BASED ADAPTIVE ENTROPY CODING AND DECODING
US5994123A (en) * 1996-08-09 1999-11-30 Regents Of University Of Minnesota Sugarcane bacilliform virus promoter
KR100322515B1 (ko) * 1997-02-14 2002-02-07 미야즈 준이치로 동화상의 예측 부호화 방법 및 복호 방법
CA2271042A1 (en) * 1997-09-02 1999-03-11 Koninklijke Philips Electronics N.V. Watermarking an information signal
US5978494A (en) * 1998-03-04 1999-11-02 Sensar, Inc. Method of selecting the best enroll image for personal identification
US7020342B1 (en) * 1999-08-27 2006-03-28 Koninklijke Philips Electronics N.V. Scalable coding
US20020157116A1 (en) * 2000-07-28 2002-10-24 Koninklijke Philips Electronics N.V. Context and content based information processing for multimedia segmentation and indexing
FR2825538A1 (fr) * 2001-05-31 2002-12-06 Cit Alcatel Procede de codage consistant a coder un mot binaire selon une pluralite de tables de codage
US7142675B2 (en) * 2002-02-12 2006-11-28 City University Of Hong Kong Sequence generator and method of generating a pseudo random sequence
CN1198635C (zh) * 2002-07-30 2005-04-27 孙新刚 中药痔疮药膏
CN1525354A (zh) * 2003-02-24 2004-09-01 王雅量 利用互联网资源进行语言词汇学习的方法和系统
US7630440B2 (en) 2003-05-28 2009-12-08 Broadcom Corporation Context adaptive binary arithmetic code decoding engine
US6900748B2 (en) * 2003-07-17 2005-05-31 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Method and apparatus for binarization and arithmetic coding of a data value
US7599435B2 (en) * 2004-01-30 2009-10-06 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Video frame encoding and decoding
US7469070B2 (en) * 2004-02-09 2008-12-23 Lsi Corporation Method for selection of contexts for arithmetic coding of reference picture and motion vector residual bitstream syntax elements
US7804903B2 (en) * 2005-06-27 2010-09-28 Intel Corporation Hardware-based CABAC decoder
EP1913778A4 (en) * 2005-07-08 2010-04-28 Lg Electronics Inc METHOD FOR MODELING THE CODING OF INFORMATION OF A VIDEO SIGNAL FOR COMPRESSING / DECOMPRESSING THE INFORMATION
US7894523B2 (en) * 2005-09-05 2011-02-22 Lg Electronics Inc. Method for modeling coding information of a video signal for compressing/decompressing coding information
KR100714706B1 (ko) * 2005-09-26 2007-05-04 삼성전자주식회사 엔트로피 코딩의 성능 향상 방법 및 장치, 상기 방법을이용한 비디오 코딩 방법 및 장치
KR100644713B1 (ko) 2005-10-31 2006-11-10 삼성전자주식회사 컨텍스트 기반 적응적 이진 산술 코딩 복호기에서 원소구문을 복호화하는 방법 및 이를 위한 복호화 장치
US7983343B2 (en) * 2006-01-12 2011-07-19 Lsi Corporation Context adaptive binary arithmetic decoding for high definition video
RU2407218C2 (ru) * 2006-07-13 2010-12-20 Квэлкомм Инкорпорейтед Видеокодирование с высокодетализированной масштабируемостью с использованием выровненных с циклом фрагментов
WO2009088340A1 (en) * 2008-01-08 2009-07-16 Telefonaktiebolaget Lm Ericsson (Publ) Adaptive filtering
CN101668202A (zh) * 2008-09-01 2010-03-10 中兴通讯股份有限公司 帧内预测模式的选择方法和装置
TWI403170B (zh) * 2010-05-21 2013-07-21 Univ Nat Chiao Tung 背景調適性二進制算術解碼裝置及其解碼方法
WO2012134246A2 (ko) * 2011-04-01 2012-10-04 엘지전자 주식회사 엔트로피 디코딩 방법 및 이를 이용하는 디코딩 장치
US20130003829A1 (en) * 2011-07-01 2013-01-03 Kiran Misra System for initializing an arithmetic coder
US9538172B2 (en) * 2012-04-11 2017-01-03 Qualcomm Incorporated Grouping bypass coded syntax elements in video coding
US9584802B2 (en) * 2012-04-13 2017-02-28 Texas Instruments Incorporated Reducing context coded and bypass coded bins to improve context adaptive binary arithmetic coding (CABAC) throughput

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10412390B2 (en) 2016-07-12 2019-09-10 Mediatek Inc. Video processing system using low-cost video encoding/decoding architecture
TWI604323B (zh) * 2016-11-10 2017-11-01 財團法人工業技術研究院 視訊索引建立方法及應用其之裝置

Also Published As

Publication number Publication date
BR112014025419A8 (pt) 2021-06-22
RU2643655C2 (ru) 2018-02-02
SG11201405754VA (en) 2014-10-30
IL234648A (en) 2016-08-31
KR20150003299A (ko) 2015-01-08
RU2014145207A (ru) 2016-05-27
AU2013246275B2 (en) 2016-09-15
US9264706B2 (en) 2016-02-16
WO2013154866A1 (en) 2013-10-17
BR112014025419B1 (pt) 2023-02-28
EP2837178A1 (en) 2015-02-18
DK2837178T3 (da) 2019-08-19
CA2867756A1 (en) 2013-10-17
CA2867756C (en) 2018-07-10
MY171168A (en) 2019-09-30
KR101706838B1 (ko) 2017-02-14
JP6215304B2 (ja) 2017-10-18
UA115142C2 (uk) 2017-09-25
CN104205830B (zh) 2018-01-12
AU2013246275A1 (en) 2014-10-23
ES2742027T3 (es) 2020-02-12
US20130272377A1 (en) 2013-10-17
HK1201111A1 (zh) 2015-08-21
HUE044738T2 (hu) 2019-11-28
PH12014502204B1 (en) 2014-12-10
TWI520619B (zh) 2016-02-01
PH12014502204A1 (en) 2014-12-10
EP2837178B1 (en) 2019-05-15
JP2015513290A (ja) 2015-04-30
BR112014025419A2 (zh) 2017-06-20
ZA201407859B (en) 2017-04-26
CN104205830A (zh) 2014-12-10

Similar Documents

Publication Publication Date Title
TWI520619B (zh) 用於在視訊寫碼中之參考索引寫碼的旁路位元子
JP6802260B2 (ja) ビデオコーディングにおける係数レベルのコーディング
TWI666916B (zh) 在一視訊寫碼處理中之係數階寫碼
TWI666920B (zh) 用於視訊寫碼之具有執行長度碼之調色盤預測器信令
CN109274974B (zh) 图像预测的方法及装置
US9736489B2 (en) Motion vector determination for video coding
US9503715B2 (en) Constrained intra prediction in video coding
JP6594903B2 (ja) パレットベースのビデオコーディングにおけるエスケープサンプルのコーディング
US9451277B2 (en) Restriction of prediction units in B slices to uni-directional inter prediction
JP6231109B2 (ja) コンテキスト適応型、マルチレベル有意性コーディングに関するコンテキスト導出
CN112514386B (zh) 网格编解码量化系数编解码
TWI558179B (zh) 對視訊寫碼發信長期參考圖像
TW201711467A (zh) 使用一全文自適應二進位算術寫碼設計來寫碼資料
TW201352004A (zh) 轉換係數寫碼
US9420285B2 (en) Inter-layer mode derivation for prediction in scalable video coding
TW201408076A (zh) 在視訊寫碼中用於量化轉換係數之正負號隱藏技術
JP2017525316A (ja) パレットモードコーディングのための方法
US20130195189A1 (en) Implicit derivation of parallel motion estimation range size
JP2022511827A (ja) フレーム間予測方法及び関連する装置
CN114503590A (zh) 用信号发送针对变换跳过中的残差值的译码方案以进行视频译码