TWI809523B - 對一序列資訊值進行算術編碼之算術編碼器與進行算數解碼之算數解碼器及用以算術編碼與解碼一序列資訊值之方法及實行該等方法之電腦程式 - Google Patents
對一序列資訊值進行算術編碼之算術編碼器與進行算數解碼之算數解碼器及用以算術編碼與解碼一序列資訊值之方法及實行該等方法之電腦程式 Download PDFInfo
- Publication number
- TWI809523B TWI809523B TW110137067A TW110137067A TWI809523B TW I809523 B TWI809523 B TW I809523B TW 110137067 A TW110137067 A TW 110137067A TW 110137067 A TW110137067 A TW 110137067A TW I809523 B TWI809523 B TW I809523B
- Authority
- TW
- Taiwan
- Prior art keywords
- arithmetic
- bitstream
- entry point
- predetermined
- value
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion 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/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/60—General implementation details not specific to a particular type of compression
- H03M7/6017—Methods or arrangements to increase the throughput
- H03M7/6023—Parallelization
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion 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/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
- H03M7/4006—Conversion to or from arithmetic code
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion 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/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/60—General implementation details not specific to a particular type of compression
- H03M7/6052—Synchronisation of encoder and decoder
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion 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/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/70—Type of the data to be coded, other than image and sound
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本發明描述一種用於將一序列資訊值算術地編碼為一算術寫碼位元串流之編碼方案,具體係使用向該位元串流提供進入點資訊,從而允許自一預定進入點向前恢復對該位元串流之算術解碼。亦提供一種各別解碼方案。此等編碼及解碼方案在解碼速度方面提供更高效之編碼概念。
Description
發明領域
本申請案係關於將一序列資訊值算術地編碼為一算術寫碼位元串流,具體係藉由向該位元串流提供進入點資訊,從而允許自一預定進入點向前恢復對該位元串流之算術解碼。
根據本發明之實施例係關於用於算術地編碼一序列資訊值的算術編碼器。
根據本發明之其他實施例係關於一種用於算術地解碼一序列資訊值之算術解碼器。
根據本發明之其他實施例係關於一種用於算術地編碼一序列資訊值之方法。
根據本發明之其他實施例係關於一種用於算術地解碼一序列資訊值之方法。
根據本發明之其他實施例係關於一種用於執行用於算術地編碼及解碼一序列資訊值之方法的電腦程式。
根據本發明之其他實施例係關於一種使用用於算術地編碼一序列資訊值之一算術編碼器產生的位元串流。
根據本發明之其他實施例係關於一種用於算術地編碼一神經網路參數的算術編碼器。
根據本發明之其他實施例係關於一種用於算術地解碼一神經網路參數之算術解碼器。
本發明可應用於涉及整數值的傳信之任意資料壓縮應用,如例如神經網路參數的壓縮。
發明背景
當前已知用於算術地編碼及解碼值序列之眾多裝置及方法。特定言之,基於上下文之適應性二進位算術寫碼(CABAC)廣泛地用於符號序列之編碼及解碼。在CABAC之二進位化階段中,將此類序列之每一符號轉換成一或多個二進位符號(二進數)之序列,且算術地將此等二進數序列之串接編碼為位元串流。上下文模型化階段接著基於先前編碼之二進數及上下文資訊使機率估計值與用於算術寫碼之每一二進數相關聯。對應的解碼器具有可用的相同資訊,且可再現相同的機率估計值以便進行算術解碼。
然而,已知算術解碼為幾乎不可並行化之高度依序過程。CABAC解碼器之解碼速度因此受到其串行寫碼程序限制。
鑒於上文,需要建立寫碼及解碼概念,該概念使得若干解碼器能夠並行地操作,從而解碼單一位元串流之不同部分,此導致改良之解碼速度。
因此,本發明之目標為提供在解碼速度方面更高效之編碼概念。此目標藉由申請中之獨立技術方案之標的物來達成。
其他有利態樣為附屬技術方案之標的物。
發明概要
根據本發明之一實施例建立用於將一序列資訊值算術地編碼為一算術寫碼位元串流之算術編碼器。該算術編碼器經組配以:將該等資訊值符號化為符號串,以便獲得一序列符號;藉由對於每一符號進行以下操作來算術地編碼該序列符號:根據該各別符號之一符號值選擇界定該算術編碼器之一寫碼狀態的一當前版本之一當前區間根據該各別符號之一機率估計值細分成的多個子區間中的一子區間,以便獲得由該所選子區間界定的該算術編碼器之該寫碼狀態之一經更新版本以用於編碼該序列符號中之一下一符號;以及在繼續該位元串流的情況下重正規化界定該寫碼狀態之編碼器內部參數,例如參數R及L;以及向該位元串流提供進入點資訊,從而允許自一預定進入點向前恢復對該位元串流之算術解碼。
此實施例係基於如下發現:向位元串流提供進入點資訊使得能夠例如在若干解碼器並行地操作,從而對單一位元串流之不同部分進行解碼時使算術解碼並行化,諸如CABAC解碼。此導致更高效之編碼及解碼概念,尤其導致改良之解碼速度。
根據一實施例,該進入點資訊包含關於算術解碼器之寫碼狀態之資訊,當算術解碼器對位元串流進行解碼直至預定進入點時,該寫碼狀態出現於算術解碼器中。此允許使用若干解碼器來使自若干預定進入點開始之解碼並行化。
根據一實施例,該算術編碼器經組配以執行對該位元串流之該算術解碼以便判定關於該算術解碼器之該寫碼狀態的該資訊。作為一實例,可在已完成該算術編碼之後執行該算術解碼。或者,算術解碼可與該算術編碼並行地開始,在該算術編碼繼續附加位元之位元位置與該算術解碼開始之該位元串流之間具有一微小位元串流間位元距離。
根據一實施例,該算術解碼器之該寫碼狀態由解碼器內部參數界定,該等解碼器內部參數包括指示區間之寬度的區間寬度參數及指向該區間中之指標,且關於算術解碼器之寫碼狀態的資訊包含指標之值,例如,該值由預定進入點處之指標採用。
根據一實施例,該算術編碼器經組配以執行對該位元串流之該算術解碼,且將由關於該算術解碼器之該寫碼狀態之該資訊包含之該指標的該值設定為等於如在對該位元串流之該算術解碼直至該預定進入點處時該指標自身所表現之一當前值。
根據一實施例,該算術解碼器之該寫碼狀態由解碼器內部參數界定,該等解碼器內部參數包括指示區間之寬度的區間寬度參數及指向該區間中之指標,且關於算術解碼器之寫碼狀態的資訊包含區間寬度參數之值,例如,該值由預定進入點處之區間寬度參數採用。
根據一實施例,該算術編碼器經組配以執行對該位元串流之該算術解碼,且將由關於該算術解碼器之該寫碼狀態之該資訊包含的該區間寬度參數之該值設定為等於如在對該位元串流之該算術解碼直至該預定進入點處時該區間寬度參數自身所表現之一當前值。或者,該算術編碼器經組配以將由關於該算術解碼器之該寫碼狀態之該資訊包含之該區間寬度參數的該值設定為等於如在對該序列符號之該算術編碼直至該預定進入點處時該區間寬度參數自身所表現之一當前值。
根據一實施例,該算術解碼器之該寫碼狀態由解碼器內部參數界定,該等解碼器內部參數包括指示區間之寬度的區間寬度參數及指向該區間中之指標,且關於算術解碼器之寫碼狀態的資訊包含該指標之值,例如,該值由預定進入點處之指標採用,而不含該區間寬度參數之值。在此實施例中,該算術編碼器經組配以將由關於該算術解碼器之該寫碼狀態之該資訊包含之該區間寬度參數的該值設定為等於一預定值,且在自該預定進入點向前恢復對該序列符號之該算術編碼時使用該區間寬度參數之該預定值。或者,在此實施例中,該算術編碼器經組配以藉由對緊接該預定進入點之前的具有一預定符號值之一符號進行算術編碼,隨後自該預定進入點向前恢復對該序列符號之該算術編碼來初步中斷對該序列符號之該算術編碼,且將由關於該算術解碼器之該寫碼狀態之該資訊包含之該區間寬度參數的該值設定為等於如在對該序列符號之該算術編碼直至該預定進入點處時該區間寬度參數自身所表現之一當前值,該序列符號包括具有該預定符號值之該符號。
根據一實施例,該進入點資訊包含指向該位元串流中之一預定位元的一位元串流指標,該預定位元待在自該預定進入點向前恢復對該位元串流之該算術解碼之後接下來被讀取。
根據一實施例,指向該位元串流中之該預定位元的該位元串流指標係以相對於該位元串流之一開始(例如,將自其向前對該位元串流進行解碼的前端)的一偏移之形式在該位元串流中傳信。
根據一實施例,指向該位元串流中之該預定位元的該位元串流指標係以相對於該位元串流之一連串前導位元的一尾端之偏移的形式在該位元串流中傳信,用於執行對該位元串流之該算術解碼的該算術解碼器之一寫碼狀態(例如,指向區間中之指標)將基於該偏移而初始化。
根據一實施例,該進入點資訊允許自多於一個進入點向前恢復對該位元串流之算術解碼,且指向該位元串流中之該預定位元的該位元串流指標係以相對於一先前進入點之一偏移的形式在該位元串流中傳信。舉例而言,該進入點資訊包含多於一個資訊執行個體,即每個進入點一個資訊執行個體。或者,指向該位元串流中之該預定位元的該位元串流指標係以相對於與該預定進入點相關聯的一預定義位元串流位置的一偏移之形式在該位元串流中傳信。舉例而言,第n預定義位元串流位置與第n熵點相關聯;該等預定義位元串流位置可相互等距地定位。
根據一實施例,該算術編碼器經組配以將該預定義位元串流位置作為該序列值中之連續值之間的一點(換言之:語法上)或藉由對該位元串流之位元進行計數(或換言之:在位元層級上)而定位。
根據一實施例,指向該位元串流中之該預定位元的該位元串流指標係以位元及/或位元之整數n倍為單位儲存,其中n>1,且例如n=8。
根據一實施例,具有該先前進入點之該位元串流中之一位元位置係在該位元串流中傳信。
根據一實施例,該位元串流指標相對於由該進入點資訊包含的用於指向該位元串流中之另一預定位元的另一位元串流指標以不同方式在該位元串流中傳信,該另一預定位元待在自一先前進入點向前恢復對該位元串流之該算術解碼之後接下來被讀取。
根據一實施例,該位元串流指標係使用一可變長度碼在該位元串流中傳信。
根據一實施例,該位元串流指標係使用一指數哥倫布碼,較佳一無正負號指數哥倫布碼在該位元串流中傳信。
根據一實施例,該預定進入點為一第三進入點或相對於該位元串流之開始在該第三進入點之後的進入點中之任一者,且指向該位元串流中之該預定位元的該位元串流指標係以相對於該先前進入點之該偏移與該先前進入點相對於在該先前進入點之前的另一進入點之一偏移之間的一差的形式在該位元串流中傳信。
根據一實施例,該位元串流指標係使用一帶正負號指數哥倫布碼在該位元串流中傳信。
根據一實施例,具有該先前進入點之該位元串流中之該位元位置係使用一無正負號指數哥倫布碼在該位元串流中傳信。
根據一實施例,用於該指數哥倫布碼之一指數哥倫布碼參數為一值11。
根據一實施例,該位元串流指標係使用一帶正負號指數哥倫布碼在該位元串流中傳信。
根據一實施例,用於該指數哥倫布碼之一指數哥倫布碼參數為一值7。
根據一實施例,該算術編碼器經組配以使用上下文自適應性算術寫碼用於對該序列符號進行算術編碼,包括:對於該序列符號中之一上下文自適應性編碼符號,自多個上下文模型中選擇一上下文模型,該等多個上下文模型中之每一者具有與其相關聯之一機率估計值;以及使用該序列符號中之先前經編碼符號依據實際符號統計量調適該等多個上下文模型之該等機率估計值。該進入點資訊對於一組一或多個預定上下文模型中之每一者指示該各別預定上下文模型之一預定機率估計值。該算術編碼器經組配以使用該預定機率估計值來恢復相對於該各別預定上下文模型對該等多個上下文模型之該等機率估計值之該調適。
根據一實施例,該算術編碼器經組配以使用上下文自適應性算術寫碼用於對該序列符號進行算術編碼,包括:對於該序列符號中之一上下文自適應性編碼符號,自多個上下文模型中選擇一上下文模型,該等多個上下文模型中之每一者具有與其相關聯之一機率估計值;以及使用該序列符號中之先前經編碼符號依據實際符號統計量調適該等多個上下文模型之該等機率估計值。該算術編碼器經組配以對於一組一或多個預定上下文模型中之每一者將該預定進入點處之該各別預定上下文模型的該機率估計值設定為一預設狀態,且該算術編碼器經組配以使用該預設狀態來恢復相對於該各別預定上下文模型對該等多個上下文模型之該等機率估計值之該調適。或者,在此實施例中,該算術編碼器經組配以對於一組一或多個預定上下文模型中之每一者將該預定進入點處的該各別預定上下文模型之該機率估計值設定為其自身在對在該預定進入點之前的該序列符號進行算術編碼期間在一預定條件下所表現的一儲存狀態,且該算術編碼器經組配以使用該儲存狀態來恢復相對於該各別預定上下文模型對該等多個上下文模型之該等機率估計值之該調適。
根據一實施例,該算術編碼器經組配以使用相依量化於使用狀態機自一序列未量化值導出該序列資訊值,其中該進入點資訊包含其自身在該狀態機中直至該預定進入點所表現出之一量化狀態。
根據一實施例,該等符號為二進數,且符號化為二進位化。
根據一實施例,該等資訊值為表示一視訊之一序列語法元素。
根據一實施例,該等資訊值為神經網路參數。
根據本發明之一實施例建立用於自一位元串流算術地解碼一序列資訊值之算術解碼器。該算術解碼器經組配以:自該位元串流導出進入點資訊;使用該進入點資訊以便藉由藉著以下操作來對於該位元串流之每一符號進行自該位元串流算術地解碼一序列符號而自一預定進入點向前恢復對該位元串流之算術解碼:基於該算術解碼器之一寫碼狀態之一當前版本判定一當前區間根據該各別符號之一機率估計值細分成的多個子區間中的一子區間,且基於該所選子區間推斷該各別符號之一符號值;以及藉由使用該位元串流及該所選子區間重正規化且更新界定該寫碼狀態之解碼器內部參數,例如R及V,以便獲得該算術解碼器之該寫碼狀態的一經更新版本以用於解碼該序列符號中之下一符號;以及藉由去符號化自該序列符號導出該等資訊值。
根據此實施例之算術解碼器係基於與上文所描述之算術編碼器相同的考慮因素。
根據一實施例,該算術解碼器經組配以使用該進入點資訊以便判定該算術解碼器之該寫碼狀態的一起始版本,且使用該起始狀態用於開始自該預定進入點向前算術地解碼該位元串流。
根據一實施例,該算術解碼器之該寫碼狀態係由該等解碼器內部參數界定,該等解碼器內部參數包括指示區間之寬度的區間寬度參數及指向該區間中之指標,且該算術解碼器經組配以自該進入點資訊導出該指標之一起始值,例如,該值由預定進入點處之指標採用,使用該值開始自預定進入點向前算術地解碼該位元串流。
根據一實施例,該算術解碼器之該寫碼狀態係由該等解碼器內部參數界定,該等解碼器內部參數包括指示區間之寬度的區間寬度參數及指向該區間中之指標,且該算術解碼器經組配以自該進入點資訊導出該區間寬度參數之一起始值,例如,該值由預定進入點處之區間寬度參數採用,使用該值開始自預定進入點向前算術地解碼該位元串流。
根據一實施例,該算術解碼器之該寫碼狀態係由該等解碼器內部參數界定,該等解碼器內部參數包括指示區間之寬度的區間寬度參數及指向該區間中之指標,且該算術解碼器經組配以自該進入點資訊導出該指標之一起始值,例如,該值由預定進入點處之指標採用,使用該值開始自預定進入點向前算術地解碼該位元串流,且該算術解碼器經組配以將由關於該算術解碼器之該寫碼狀態之該資訊包含之該區間寬度參數的該值設定為等於一預定值,且對於該區間寬度參數使用該預定值來恢復自該預定進入點向前對該序列符號之該算術解碼。
根據一實施例,該進入點資訊允許自多於一個進入點向前恢復對該位元串流之算術解碼,且該算術解碼器經組配以藉由對緊接一後續預定進入點之前的具有一預定符號值之一符號進行算術解碼,隨後自該後續預定進入點向前恢復對該序列符號之該算術解碼來初步中斷在該後續預定進入點處對該序列符號之該算術解碼。
根據一實施例,該算術解碼器經組配以自該進入點資訊導出指向該位元串流中的一預定位元之一位元串流指標,且使用該預定位元作為在自該預定進入點向前恢復對該位元串流之該算術解碼之後接下來將讀取的一位元。
根據一實施例,指向該位元串流中之該預定位元的該位元串流指標係以相對於該位元串流之一開始(例如,將自其向前對該位元串流進行解碼的前端)的一偏移之形式在該位元串流中傳信。
根據一實施例,指向該位元串流中之該預定位元的該位元串流指標係以相對於該位元串流之一連串前導位元的一尾端之偏移的形式在該位元串流中傳信,該算術解碼器經組配以基於該偏移而在自該位元串流之開始向前執行對該位元串流之該算術解碼的情況下初始化該算術解碼器之該寫碼狀態(例如,指向區間中之指標)。
根據一實施例,該進入點資訊允許自多於一個進入點向前恢復對該位元串流之算術解碼,且指向該位元串流中之該預定位元的該位元串流指標係以相對於一先前進入點或相對於與該預定進入點相關聯的一預定義位元串流位置之一偏移的形式在該位元串流中傳信。舉例而言,第n預定義位元串流位置與第n熵點相關聯;該等預定義位元串流位置可相互等距地定位。
根據一實施例,該算術解碼器經組配以將該預定義位元串流位置作為該序列值中之連續值之間的一點(換言之:語法上)或藉由對該位元串流之位元進行計數(或換言之:在位元層級上)而定位。
根據一實施例,指向該位元串流中之該預定位元的該位元串流指標係以位元及/或位元之整數n倍為單位儲存,其中n>1,且例如n=8。
根據一實施例,具有該先前進入點之該位元串流中之一位元位置係在該位元串流中傳信。
根據一實施例,該位元串流指標相對於由該進入點資訊包含的用於指向該位元串流中之另一預定位元的另一位元串流指標以不同方式在該位元串流中傳信,該另一預定位元待在自一先前進入點向前恢復對該位元串流之該算術解碼之後接下來被讀取。
根據一實施例,該位元串流指標係使用一可變長度碼在該位元串流中傳信。
根據一實施例,該位元串流指標係使用一指數哥倫布碼,較佳一無正負號指數哥倫布碼在該位元串流中傳信。
根據一實施例,該預定進入點為一第三進入點或相對於該位元串流之開始在該第三進入點之後的進入點中之任一者,且指向該位元串流中之該預定位元的該位元串流指標係以相對於該先前進入點之該偏移與該先前進入點相對於在該先前進入點之前的另一進入點之一偏移之間的一差的形式在該位元串流中傳信。
根據一實施例,該位元串流指標係使用一帶正負號指數哥倫布碼在該位元串流中傳信。
根據一實施例,具有該先前進入點之該位元串流中之該位元位置係使用一無正負號指數哥倫布碼在該位元串流中傳信。
根據一實施例,用於該指數哥倫布碼之一指數哥倫布碼參數為一值11。
根據一實施例,該位元串流指標係使用一帶正負號指數哥倫布碼在該位元串流中傳信。
根據一實施例,用於該指數哥倫布碼之一指數哥倫布碼參數為一值7。
根據一實施例,該算術解碼器經組配以使用上下文自適應性算術解碼用於對該序列符號進行算術解碼,包括:對於該序列符號中之一上下文自適應性解碼符號,自多個上下文模型中選擇一上下文模型,該等多個上下文模型中之每一者具有與其相關聯之一機率估計值;以及使用該序列符號中之先前經解碼符號依據實際符號統計量調適該等多個上下文模型之該等機率估計值,其中該進入點資訊對於一組一或多個預定上下文模型中之每一者指示該各別預定上下文模型之一預定機率估計值,且該算術解碼器經組配以使用該預定機率估計值來恢復相對於該各別預定上下文模型對該等多個上下文模型之該等機率估計值之該調適。
根據一實施例,該算術解碼器經組配以使用上下文自適應性算術解碼用於對該序列符號進行算術解碼,包括:對於該序列符號中之一上下文自適應性解碼符號,自多個上下文模型中選擇一上下文模型,該等多個上下文模型中之每一者具有與其相關聯之一機率估計值;以及使用該序列符號中之先前經解碼符號依據實際符號統計量調適該等多個上下文模型之該等機率估計值,其中該算術解碼器經組配以對於一組一或多個預定上下文模型中之每一者將該預定進入點處之該各別預定上下文模型的該機率估計值設定為一預設狀態,且該算術解碼器經組配以使用該預設狀態來恢復相對於該各別預定上下文模型對該等多個上下文模型之該等機率估計值之該調適。
根據一實施例,該進入點資訊允許自多於一個進入點向前恢復對該位元串流之算術解碼,且該算術解碼器經組配以對於該組一或多個預定上下文模型中之每一者將一後續預定進入點處的該各別預定上下文模型之該機率估計值設定為其自身在對在該後續預定進入點之前的該序列符號進行算術解碼期間在一預定條件下所表現的一儲存狀態,且該算術解碼器經組配以使用該儲存狀態來恢復相對於該各別預定上下文模型自該後續預定進入點向前對該等多個上下文模型之該等機率估計值之該調適,例如,此處,該解碼器可並行地算術解碼該位元串流:一次使用傳信或預設之上下文狀態自該開始,以及一旦滿足該預定條件(諸如已解碼某一數目個資訊值等等)則自該進入點向前開始。
根據一實施例,該算術解碼器經組配以使用相依去量化於使用一狀態機自該序列資訊值導出一序列經量化值,自該進入點資訊導出一量化狀態,該相依量化自該量化狀態開始自該預定進入點向前恢復。
根據一實施例,該等符號為二進數,且去符號化為去二進位化。
根據一實施例,該等資訊值為表示一視訊之一序列語法元素。
根據一實施例,該等資訊值為神經網路參數。
根據本發明之一實施例建立一種將一序列資訊值算術地編碼為一算術寫碼位元串流之方法,其包含:將該等資訊值符號化為符號串,以便獲得一序列符號;藉由以下操作來算術地編碼該序列符號:對於每一符號根據該各別符號之一機率估計值細分界定一算術編碼器之一寫碼狀態的一當前版本之一當前區間;根據該各別符號之一符號值選擇多個該等子區間中的一子區間,以便獲得由該所選子區間界定的該算術編碼器之該寫碼狀態之一經更新版本以用於編碼該序列符號中之下一符號;以及在繼續該位元串流的情況下重正規化界定該寫碼狀態之編碼器內部參數;以及向該位元串流提供進入點資訊,從而允許自一預定進入點向前恢復對該位元串流之算術解碼。
根據此實施例之方法係基於與上文所描述之用於編碼之設備相同的考慮因素。此外,此所揭示實施例可視情況藉由本文中所揭示的任何其他特徵、功能性及細節結合用於編碼之設備(個別地及組合地)加以補充。
根據本發明之一實施例建立一種自一位元串流算術地解碼一序列資訊值之方法,其包含:自該位元串流導出進入點資訊;使用該進入點資訊以便藉由藉著以下操作來對於該位元串流之每一符號進行自該位元串流算術地解碼一序列符號而自一預定進入點向前恢復對該位元串流之算術解碼:判定一算術解碼器之一寫碼狀態之一當前版本、一當前區間根據該各別符號之一機率估計值細分成的多個子區間中的一子區間,且基於該所選子區間推斷該各別符號之一符號值;以及藉由使用該位元串流及該所選子區間重正規化且更新界定該寫碼狀態之解碼器內部參數,以便獲得該算術解碼器之該寫碼狀態的一經更新版本以用於解碼該序列符號中之下一符號;以及藉由去符號化自該序列符號導出該等資訊值。
根據此實施例之方法係基於與上文所描述之用於解碼之設備相同的考慮因素。此外,此所揭示實施例可視情況藉由本文中所揭示的任何其他特徵、功能性及細節結合用於解碼之設備(個別地及組合地)加以補充。
根據本發明之一實施例建立一種具有一程式碼之電腦程式,該程式碼用於在一電腦上執行時執行根據上文所描述的實施例中之任一者的方法。
根據本發明之一實施例建立使用本文中所描述之實施例中之任一者的算術編碼器產生的位元串流。
根據本發明之一實施例建立一種用於自一位元串流算術地解碼神經網路參數之算術解碼器,其經組配以:藉由使用上下文自適應性算術解碼自該位元串流算術地解碼一序列符號,包括:對於該序列符號中之一上下文自適應性解碼符號,選擇多個上下文模型中之一上下文模型,該等多個上下文模型中之每一者具有與其相關聯的一機率估計值;使用該所選上下文模型對該上下文自適應性解碼符號進行算術解碼;以及使用該序列符號中之先前經解碼符號依據實際符號統計量調適該等多個上下文模型之該等機率估計值;在該等位元串流之開始處及/或在該位元串流內之一或多個進入點處藉由去符號化自該序列符號導出該等神經網路參數;對於一組(可能全部,但可能該等多個上下文模型之僅一部分)一或多個上下文模型中之每一者,基於該位元串流中之上下文模型資訊初始化與該各別上下文模型相關聯之該機率估計值。
根據一實施例,該算術解碼器經組配以使用該序列符號中之先前經解碼符號依據實際符號統計量調適該等多個上下文模型之該等機率估計值,具體係藉由對於每一上下文模型,基於該序列符號中已針對其選擇該各別上下文模型之先前上下文自適應性解碼符號產生與該各別上下文模型相關聯之該機率估計值。
根據一實施例,該算術解碼器經組配以:使用該序列符號中之先前經解碼符號依據實際符號統計量調適該等多個上下文模型之該等機率估計值,具體係藉由以可由一第一靈敏度參數控制之一第一調適靈敏度適應於該等實際符號統計量之一方式導出該等機率估計值之一第一假設;在該位元串流之開始處及/或在該位元串流內的一或多個進入點處,對於該組一或多個上下文模型中之每一者,基於該位元串流中之該上下文模型資訊設定與該各別上下文模型相關聯之該第一假設及該第一靈敏度參數。
根據一實施例,該算術解碼器經組配以:使用該序列符號中之先前經解碼符號依據實際符號統計量調適該等多個上下文模型之該等機率估計值,具體係藉由以可由一第二靈敏度參數控制之一第二調適靈敏度適應於該等實際符號統計量之一方式導出該等機率估計值之一第二假設,其中該等機率估計值係藉由該第一假設與該第二假設之一平均值判定;在該位元串流之開始處及/或在該位元串流內的一或多個進入點處,對於該組一或多個上下文模型中之每一者,基於該位元串流中之該上下文模型資訊設定與該各別上下文模型相關聯之該第二假設及該第二靈敏度參數。
根據一實施例,該位元串流中的該上下文模型資訊包含用於界定該第一假設及該第二假設以及該第一靈敏度參數及該第二靈敏度參數的值四元組之一表的一表項索引,且該算術解碼器經組配以使用該表項索引以便選擇該表之一個四元組且使用該一個四元組以便設定該第一假設及該第二假設以及該第一靈敏度參數及該第二靈敏度參數。
根據一實施例,用於界定該第一假設及該第二假設以及該第一靈敏度參數及該第二靈敏度參數的值四元組之一數目介於8與10之間,包括8及10。見下表,其中存在9條線/四元組。
根據一實施例,用於界定該第一假設及該第二假設以及該第一靈敏度參數及該第二靈敏度參數的該等值四元組對應於用於該第一靈敏度參數及該第二靈敏度參數之3個、4個或5個相互可區分設定中之一者。見下表,其中存在(1, 4)、(2, 6)、(0, 5)或(3, 5)。
根據一實施例,該等符號為二進數,且該去符號化為一去二進位化,且用於界定該第一假設及該第二假設以及該第一靈敏度參數及該第二靈敏度參數的該等值四元組包含:第一3個四元組(例如,1,4,0,0、1,4,95,1519及1,4,-41,-654),根據所有該等四元組,該第一靈敏度參數設定為一第一值,該第二靈敏度參數設定為一第二值,其對應於比該第一值低之調適靈敏度,且根據該等四元組中之一第一者,該第一假設與該第二假設對應於等機率,根據該等四元組中之一第二者,該第一假設與該第二假設對應於一第一二進數值比一第二二進數值機率大,且根據該等四元組中之一第三者,該第一假設與該第二假設對應於該第二二進數值比該第一二進數值機率大;第二3個四元組(例如,2,6,95,1519、2,6,30,482及2,6,-21,-337),根據所有該等四元組,該第一靈敏度參數設定為一第三值,其對應於比該第一值低之調適靈敏度且比該第二值大之調適靈敏度,且該第二靈敏度參數設定為一第四值,其對應於比該第二值低之調適靈敏度,且根據該等四元組中之一第一者及第二者,該第一假設與該第二假設對應於該第一二進數值比該第二二進數值機率大,且根據該等四元組中之一第三者,該第一假設與該第二假設對應於該第二二進數值比該第一二進數值機率大;2個四元組(例如,3,5,0,0及3,5,30,482),根據所有該等四元組,該第一靈敏度參數設定為一第四值,其對應於比該第三值低之調適靈敏度及比該第二值大之調適靈敏度,且該第二靈敏度參數設定為一第六值,其對應於比該第一值低之調適靈敏度及比該第四值大之調適靈敏度,且根據該等四元組中之一第一者,該第一假設與該第二假設對應於等機率,且根據該等四元組中之一第二者,該第一假設與該第二假設對應於該第一二進數值比該第二二進數值機率大;1個四元組(例如,0,5,0,0),根據該四元組,該第一靈敏度參數設定為一第七值,其對應於比該第一值大之調適靈敏度,且根據該四元組,該第一假設與該第二假設對應於等機率。
根據一實施例,該等符號為二進數,且該去符號化為一去二進位化,且該算術解碼器經組配以:使用該序列符號中之先前經解碼符號依據實際符號統計量調適該等多個上下文模型之該等機率估計值,具體係藉由對於該第一假設及該第二假設中之每一者,分別藉助於一帶正負號整數表示該各別假設,該帶正負號整數在為零時指示等機率,在大於零時指示一第一二進數值比一第二二進數值機率大,且在低於零時指示該第二二進數比該第一二進數值機率大;對於每一上下文模型,若一當前解碼之二進數具有該第一二進數值,則增大該帶正負號整數,且若一當前解碼之二進數具有該第二二進數值,則減小該帶正負號整數,增大或減小之一量相對於該第一假設由該第一靈敏度參數控制,且相對於該第二假設由該第二靈敏度參數控制,以使得該量愈大,該第一靈敏度參數及該第二靈敏度參數分別愈小,其中該等機率估計值係藉由該第一帶正負號整數與該第二帶正負號整數之一平均值判定。
根據一實施例,該算術解碼器經組配以藉由使用一轉換表來判定該增大及減小之該量。
根據一實施例,該算術解碼器經組配以對於該第一假設與該第二假設使用相同轉換表。
根據一實施例,該算術解碼器經組配以藉由使用該轉換表判定該增大及減小之該量,具體係藉由在由藉由該帶正負號整數判定之一表索引索引的一條目處查找該轉換表以獲得一轉換步長且將轉換步長大小除以2的一冪,該冪取決於各別之該第一調適參數及該第二調適參數,其中該轉換步長判定該量。
根據一實施例,該帶正負號整數由具有n個位元之一2補數表示法表示,其中n對於該第二假設比對於該第一假設大(在下文詳細描述的實例中為8及12);即,第二假設的「尺度」與該第一假設相比較大/較精細,以使得若該轉換步長相同,則靈敏度減小,其中該算術解碼器經組配以藉由使用該轉換表判定該增大及減小之該量,具體係藉由在由該帶正負號整數除以2
n-m(一方面)及2
m-1(另一方面)(在下文詳細描述的實例中,m=5)之一總和索引的一條目處查找該轉換表,以便獲得一轉換步長,將該轉換步長大小除以(因此,判定調適靈敏度之該等調適步長係由靈敏度參數判定)2的一冪,該冪線性地仿射(分別為4+shift0及shift1)、取決於各別的該第一調適參數及該第二調適參數,其中該轉換步長判定該量。相依性可使得若第一靈敏度參數與第二靈敏度參數相同,則靈敏度在第一假設與第二假設之間相同;高於此係藉由「4+」進行,即藉由將第一假設與第二假設之間的差n相加至第一假設之靈敏度參數。
根據一實施例,該等轉換步長儲存於轉換表之條目中,單調地增大或減小。
根據本發明之一實施例建立一種用於將神經網路參數算術地編碼為一位元串流之算術編碼器,其經組配以:藉由符號化自該等神經網路參數導出一序列符號;藉由使用上下文自適應性算術編碼將該序列符號算術地編碼為該位元串流,包括:對於該序列符號中之一上下文自適應性編碼符號,選擇多個上下文模型中之一上下文模型,該等多個上下文模型中之每一者具有與其相關聯的一機率估計值;以及使用該所選上下文模型對該上下文自適應性編碼符號進行算術編碼;以及使用該序列符號中之先前經編碼符號依據實際符號統計量調適該等多個上下文模型之該等機率估計值;在該等位元串流之開始處及/或在該位元串流內之一或多個進入點處,對於一組一或多個上下文模型中之每一者,根據在該位元串流中傳信之上下文模型資訊初始化與該各別上下文模型相關聯之該機率估計值。
根據一實施例,該算術編碼器經組配以使用該序列符號中之先前經編碼符號依據實際符號統計量調適該等多個上下文模型之該等機率估計值,具體係藉由對於每一上下文模型,基於該序列符號中已針對其選擇該各別上下文模型之先前上下文自適應性編碼符號產生與該各別上下文模型相關聯之該機率估計值。
根據一實施例,該算術編碼器經組配以:使用該序列符號中之先前經編碼符號依據實際符號統計量調適該等多個上下文模型之該等機率估計值,具體係藉由以可由一第一靈敏度參數控制之一第一調適靈敏度適應於該等實際符號統計量之一方式導出該等機率估計值之一第一假設;在該位元串流之開始處及/或在該位元串流內的一或多個進入點處,對於該組一或多個上下文模型中之每一者,根據在該位元串流中傳信之該上下文模型資訊設定與該各別上下文模型相關聯之該第一假設及該第一靈敏度參數。
根據一實施例,該算術編碼器經組配以:使用該序列符號中之先前經編碼符號依據實際符號統計量調適該等多個上下文模型之該等機率估計值,具體係藉由以可由一第二靈敏度參數控制之一第二調適靈敏度適應於該等實際符號統計量之一方式導出該等機率估計值之一第二假設且形成該第一假設與該第二假設之一平均值;在該位元串流之開始處及/或在該位元串流內的一或多個進入點處,對於該組一或多個上下文模型中之每一者,根據在該位元串流中傳信之該上下文模型資訊設定與該各別上下文模型相關聯之該第二假設及該第二靈敏度參數。
根據一實施例,該位元串流中的該上下文模型資訊包含用於界定該第一假設及該第二假設以及該第一靈敏度參數及該第二靈敏度參數的值四元組之一表的一表項索引,且該算術編碼器經組配以使用該表項索引以便選擇該表之一個四元組且使用該一個四元組以便設定該第一假設及該第二假設以及該第一靈敏度參數及該第二靈敏度參數。
根據一實施例,用於界定該第一假設及該第二假設以及該第一靈敏度參數及該第二靈敏度參數的值四元組之一數目介於8與10之間,包括8及10。見下表,其中存在9條線/四元組。
根據一實施例,用於界定該第一假設及該第二假設以及該第一靈敏度參數及該第二靈敏度參數的該等值四元組對應於用於該第一靈敏度參數及該第二靈敏度參數之3個、4個或5個相互可區分設定中之一者。見下表,其中存在(1, 4)、(2, 6)、(0, 5)或(3, 5)。
根據一實施例,用於界定該第一假設及該第二假設以及該第一靈敏度參數及該第二靈敏度參數的該等值四元組包含:第一3個四元組(例如,1,4,0,0、1,4,95,1519及1,4,-41,-654),根據所有該等四元組,該第一靈敏度參數設定為一第一值,該第二靈敏度參數設定為一第二值,其對應於比該第一值低之調適靈敏度,且根據該等四元組中之一第一者,該第一假設與該第二假設對應於等機率,根據該等四元組中之一第二者,該第一假設與該第二假設對應於一第一二進數值比一第二二進數值機率大,且根據該等四元組中之一第三者,該第一假設與該第二假設對應於該第二二進數值比該第一二進數值機率大;第二3個四元組(例如,2,6,95,1519、2,6,30,482及2,6,-21,-337),根據所有該等四元組,該第一靈敏度參數設定為一第三值,其對應於比該第一值低之調適靈敏度且比該第二值大之調適靈敏度,且該第二靈敏度參數設定為一第四值,其對應於比該第二值低之調適靈敏度,且根據該等四元組中之一第一者及第二者,該第一假設與該第二假設對應於該第一二進數值比該第二二進數值機率大,且根據該等四元組中之一第三者,該第一假設與該第二假設對應於該第二二進數值比該第一二進數值機率大;2個四元組(例如,3,5,0,0及3,5,30,482),根據所有該等四元組,該第一靈敏度參數設定為一第四值,其對應於比該第三值低之調適靈敏度及比該第二值大之調適靈敏度,且該第二靈敏度參數設定為一第六值,其對應於比該第一值低之調適靈敏度及比該第四值大之調適靈敏度,且根據該等四元組中之一第一者,該第一假設與該第二假設對應於等機率,且根據該等四元組中之一第二者,該第一假設與該第二假設對應於該第一二進數值比該第二二進數值機率大;1個四元組(例如,0,5,0,0),根據該四元組,該第一靈敏度參數設定為一第七值,其對應於比該第一值大之調適靈敏度,且根據該四元組,該第一假設與該第二假設對應於等機率。
根據一實施例,該等符號為二進數,且該符號化為一二進位化,且該算術編碼器經組配以:使用該序列符號中之先前經編碼符號依據實際符號統計量調適該等多個上下文模型之該等機率估計值,具體係藉由對於該第一假設及該第二假設中之每一者,分別藉助於一帶正負號整數表示該各別假設,該帶正負號整數在為零時指示等機率,在大於零時指示一第一二進數值比一第二二進數值機率大,且在低於零時指示該第二二進數比該第一二進數值機率大;對於每一上下文模型,若一當前編碼之二進數具有該第一二進數值,則增大該帶正負號整數,且若一當前編碼之二進數具有該第二二進數值,則減小該帶正負號整數,增大或減小之一量相對於該第一假設由該第一靈敏度參數控制,且相對於該第二假設由該第二靈敏度參數控制,以使得該量愈大,該第一靈敏度參數及該第二靈敏度參數分別愈小,其中該等機率估計值係藉由該第一帶正負號整數與該第二帶正負號整數之一平均值判定。
根據一實施例,該算術編碼器經組配以藉由使用一轉換表來判定該增大及減小之該量。
根據一實施例,該算術編碼器經組配以對於該第一假設與該第二假設使用相同轉換表。
根據一實施例,該算術編碼器經組配以藉由使用該轉換表判定該增大及減小之該量,具體係藉由在由藉由該帶正負號整數判定之一表索引索引的一條目處查找該轉換表以獲得一轉換步長且將轉換步長大小除以2的一冪,該冪取決於各別之該第一調適參數及該第二調適參數,其中該轉換步長判定該量。
根據一實施例,該帶正負號整數由具有n個位元之一2補數表示法表示,其中n對於該第二假設比對於該第一假設大(在下文詳細描述的實例中為8及12;即,第二假設的「尺度」與該第一假設相比較大/較精細,以使得若該轉換步長相同,則靈敏度減小),其中該算術編碼器經組配以藉由使用該轉換表判定該增大及減小之該量,具體係藉由在由該帶正負號整數除以2
n-m(一方面)及2
m-1(另一方面)(在下文詳細描述的實例中,m=5)之一總和索引的一條目處查找該轉換表,以便獲得一轉換步長,將該轉換步長大小除以(因此,判定調適靈敏度之該等調適步長係由靈敏度參數判定)2的一冪,該冪線性地仿射(分別為4+shift0及shift1)、取決於各別的該第一調適參數及該第二調適參數,其中該轉換步長判定該量。相依性可使得若第一靈敏度參數與第二靈敏度參數相同,則靈敏度在第一假設與第二假設之間相同;高於此係藉由「4+」進行,即藉由將第一假設與第二假設之間的差n相加至第一假設之靈敏度參數。
根據一實施例,該等轉換步長儲存於轉換表之條目中,單調地增大或減小。
算術編碼器、算術解碼器、算術編碼方法、算術解碼方法、用於實行此等方法之電腦程式、用於算術編碼神經網路參數之算術編碼器以及位元串流可視情況由本文中所揭示(在完整文件中)之特徵、功能性及細節中之任一者個別地及組合地加以補充。
較佳實施例之詳細說明
在圖1中呈現根據一實施例之將一序列整數值算術地編碼為算術寫碼位元串流之方法100。
該方法包含在步驟101處將資訊值符號化成符號串以便獲得一序列符號,以及在步驟102處算術地編碼該序列符號。
算術編碼包含在步驟103處根據各別符號之機率估計值對當前區間進行細分,該當前區間針對每一符號界定算術編碼器之寫碼狀態之當前版本。算術編碼進一步包含在步驟104處根據各別符號之符號值而自多個子區間中選擇一子區間。由此獲得由所選子區間界定之算術編碼器之寫碼狀態的經更新版本,其進一步用於編碼該序列符號中之下一符號。算術編碼進一步包含在步驟105處在繼續位元串流之情況下重正規化界定寫碼狀態之編碼器內部參數。
在執行算術編碼之後,方法100進一步在步驟106處向位元串流提供進入點資訊,從而允許自預定進入點向前恢復對位元串流之算術解碼。
然而,應注意,方法100可視情況藉由本文所揭示之特徵、功能性及細節中之任一者個別地或組合地加以補充。
在圖2中呈現根據一實施例之自位元串流算術地解碼一序列資訊值之方法200。
該方法包含:在步驟201處,自位元串流導出進入點資訊;及在步驟202處,使用進入點資訊以便藉由對於該位元串流之每一符號自該位元串流算術地解碼一序列符號而自預定進入點向前恢復對該位元串流之算術解碼。自該位元串流算術解碼該序列符號包含在步驟203處,判定一算術解碼器之一寫碼狀態之一當前版本及一當前區間根據該各別符號之機率估計值細分成的多個子區間中的一子區間。該算術解碼進一步包含在步驟204處基於所選子區間來推斷各別符號之符號值。該算術解碼進一步包含在步驟205處,藉由使用該位元串流及該所選子區間重正規化且更新界定寫碼狀態之解碼器內部參數,以便獲得該算術解碼器之寫碼狀態的經更新版本以用於解碼該序列符號中之下一符號。
在執行算術解碼之後,方法200在步驟206處進一步藉由去符號化而自該序列符號導出資訊值。
然而,應注意,方法200可視情況藉由本文所揭示之特徵、功能性及細節中之任一者個別地或組合地加以補充。
圖3為如在編碼及解碼期間產生之編碼及解碼參數之示意性表示,其中說明關於可傳信為位元串流中之進入點資訊以待用於解碼過程中之內容。
在編碼及解碼之開始處、在位元串流之開始處或在將自其向前完全解碼位元串流之前端處,可以預設方式初始化以下變數:編碼器及解碼器兩者處之區間寬度R、編碼器處之區間偏移L、編碼器及解碼器兩者處之上下文模型(視情況,若上下文自適應性適用)之狀態,及視情況,量化狀態(若使用相依量化)。指標V可藉由解碼器自位元串流中之前幾個位元導出。自開始向內,參數產生,且解碼器將必須執行整個解碼過程才能知曉哪些狀態出現在任何進入點處。根據實施例,編碼器負責產生此資訊,且將此資訊以及位元串流輸送至解碼器,以使得解碼器可直接在進入點中之一者處開始解碼。
位元串流之進入點中之每一者可被視為算術編碼器之狀態之快照,或更精確而言,可被視為在編碼器中執行以模擬編碼器位點處之彼狀態的算術解碼過程之快照。特定言之,位元串流之進入點大致指示如在解碼相關位元串流期間出現的上下文模型之狀態或解碼過程之量化狀態的快照。所指示變數因此在位元串流中針對預定進入點傳信。其可在位元串流之前的標頭中、在位元串流之後傳信或在其間插入(諸如在進入點自身處)。解碼所需參數之部分可在編碼器與解碼器處以同步方式在進入點處設定,使得無需將其相關資訊包括於進入點資訊中。
在下文中,描述用於將一序列資訊值算術地編碼為算術寫碼位元串流(例如含有經編碼神經網路資料之位元串流,例如NNR位元串流)的實施例。表1中以偽碼之形式展示允許自預定進入點向前恢復對位元串流之算術解碼的進入點資訊。自然地,本文中所闡述之細節亦展現因此產生之位元串流的對應算術解碼。
表1
for( j=0; j < NumBlockRowsMinus1; j++ ) { | |
cabac_offset_list[ j ] | u(8) |
if( dq_flag ) | |
dq_state_list[ j ] | u(3) |
if( j == 0 ) { | |
bit_offset_delta1 | ue(11) |
BitOffsetList[ j ] = bit_offset_delta1 | |
} | |
else { | |
bit_offset_delta2 | ie(7) |
BitOffsetList[ j ] = BitOffsetList[ j-1 ] + bit_offset_delta2 | |
} | |
} |
根據圖1,資訊值符號化為符號串,以便獲得一序列符號,該序列符號係藉由對於每一符號進行以下操作而算術地編碼:選擇界定算術編碼器之寫碼狀態的當前版本之當前區間根據各別符號之機率估計值細分成的多個子區間中的一子區間,該選擇係根據該各別符號之一符號值而進行,以便獲得由該所選子區間界定的該算術編碼器之該寫碼狀態之一經更新版本以用於編碼該序列符號中之下一符號;以及在繼續該位元串流的情況下重正規化界定該寫碼狀態之編碼器內部參數。
向該位元串流提供進入點資訊,從而允許自預定進入點向前恢復對位元串流之算術解碼。
如表1中可見,允許自預定進入點向前恢復對位元串流之算術解碼的進入點資訊包括:
cabac_offset_list,其指定待用以初始化進入點之開始處的變數IvlOffset的值之清單。其例示性地展示為寫碼為8位元無正負號整數,但其亦可以不同方式寫碼;在此實例中,變數IvlCurrRange及IvlOffset用以界定算術解碼引擎之狀態或寫碼狀態;即,算術解碼器之寫碼狀態係由解碼器內部參數界定,該等解碼器內部參數包括指示區間之寬度的區間寬度參數及指向區間之指標;此處,IvlCurrRange表示區間之寬度,且IvlOffset指示指向區間之指標。
dq_state_list指定待用以初始化進入點之開始處的變數stateId的值之清單。其例示性地展示為寫碼為3位元無正負號整數,但其亦可以不同方式寫碼;stateId在此處用作表示用以執行相依量化之狀態機之狀態的變數。
bit_offset_delta1指定清單BitOffsetList之第一元素。其例示性地展示為使用無正負號11階指數哥倫布碼寫碼,但其亦可以不同方式寫碼;
bit_offset_delta2指定清單BitOffsetList之除了第一元素以外的元素,作為與清單BitOffsetList之先前元素的差。其例示性地展示為使用帶正負號7階指數哥倫布碼寫碼;
變數BitOffsetList為待用以設定進入點之開始處的位元串流指標位置的位元偏移之清單。
更精確言之,表1係關於其中使用相依量化於自一序列未量化值(即,使用狀態機)導出該序列資訊值之實施例,其中進入點資訊包含其自身在狀態機中直至預定進入點(即,stateId)所表現出之量化狀態。
使用表1中之進入點資訊來啟動自預定進入點向前算術解碼位元串流之方式以偽碼形式例示性地展示於表2中。
表2
if( entryPointOffset != -1 && GetEntryPointIdx( dimensions, i, scan_order ) != -1 && scan_order > 0 ) { | |
IvlCurrRange = 256 | |
j = entryPointOffset + GetEntryPointIdx( dimensions, i, scan_order ) | |
IvlOffset = cabac_offset_list[ j ] | |
if( dq_flag ) | |
stateId = dq_state_list[ j ] | |
set_bit_pointer( bitPointer + lastOffset + BitOffsetList[ j ] ) | |
lastOffset = BitOffsetList[ j ] | |
init_prob_est_param( ) | |
} |
在表2中,變數entryPointOffset用以指示是否存在用於解碼之進入點,且若進入點存在,指示是否存在進入點偏移。若索引i不指向進入點之第一位置,則GetEntryPointIdx( tensorDimensions[], i, scan )返回-1。若索引i指向進入點之第一位置,則其返回張量內之進入點索引。
若索引i不指向進入點之第一位置,則GetEntryPointIdx( tensorDimensions[], i, scan )返回-1。若索引i指向進入點之第一位置,則其返回張量內之進入點索引。為判定進入點之位置及索引,以下適用:
將變數w設定為Prod(tensorDimensions) / tensorDimensions[0]
將變數epIdx設定為i / (w * (4 << scan)) - 1
若i > 0且i % (w * (4 << scan)等於0,則索引i指向進入點之第一位置,且進入點索引等於epIdx。
否則,索引i不指向進入點之第一位置。
dq_flag指定量化方法為相依純量量化還是均勻量化。dq_flag 等於0指示使用均勻量化方法。dq_flag等於1指示使用相依純量量化方法。若dq_flag不存在,則推斷其為0。
set_bit_pointer設定位元串流指標之位置。init_prob_est_param()調用機率估計參數之初始化過程。
scan_order根據下表指定具有多於一個維度之參數的區塊掃描次序:
- 0: 無區塊掃描
- 1: 8x8 區塊
- 2: 16x16 區塊
- 3: 32x32 區塊
- 4: 64x64 區塊
即,在表1及表2提供的實例中,該進入點資訊包含指向位元串流中之預定位元的位元串流指標,即set_bit_pointer,該預定位元待在自預定進入點向前恢復對位元串流之算術解碼之後接下來被讀取。此處,進入點資訊允許自多於一個進入點向前(即對於NumBlockRowsMinus1進入點)恢復對位元串流之算術解碼。當藉由完整地掃描一個維度,隨後沿著彼維度掃描下一列(以此類推)來逐列或有規律地掃描張量時,可將進入點界定為定位於列改變之間。指向位元串流中之預定位元的位元串流指標係以相對於先前進入點之偏移的形式在位元串流中傳信,該偏移可自表1中的加法BitOffsetList[ j ] = BitOffsetList[ j-1 ] + bit_offset_delta2導出。
在每一進入點j處,分別使用相對於區間指標及相依量化狀態之cabac_offset_list[j]及dq_state_list[j] 來初始化寫碼狀態。根據此實施例,區間寬度在每一進入點處設定為恆定或預定義固定值,即預設值,即此處例示性地為256,其中在此實例中,IvlCurrRange及IvlOffset兩者皆為16位元暫存器精度。然而,後者顯式位元精度僅為實例,且可改變。
4. 其他實施例及態樣
在下文中,將描述可個別地使用或組合本文中所揭示之任何其他實施例而使用的根據本發明之其他態樣及實施例。
此外,在此部分中所揭示之實施例可視情況藉由本文所揭示之任何其他特徵、功能性及細節個別地或組合地加以補充。
進一步描述根據本發明之一實施例的用於算術寫碼之進入點結構。
背景
基於上下文之自適應性二進位算術寫碼(CABAC)為用於編碼及解碼一序列符號之方法。二進位化階段將此類序列之每一符號轉換為一序列一或多個二進位符號(二進數),且算術地將此等二進數序列之串接編碼為位元串流。上下文模型化階段基於先前編碼之二進數及上下文資訊使機率估計值與用於算術寫碼之每一二進數相關聯。解碼器具有可用的相同資訊,且可再現相同的機率估計值以便進行算術解碼。
CABAC之二進位化階段及上下文模型化階段之評述
二進位化及上下文模型化很大程度上取決於應用。舉例而言,視訊壓縮標準H.265/HEVC及H.266/VVC兩者皆使用CABAC作為算術寫碼引擎,但在其調諧至出現之語法元素的類型時具有極為不同的二進位化及上下文模型化階段。然而,使用CABAC維護一組所謂的上下文模型及二進位化及上下文模型化的大多數應用對應於明確地使每一二進數與來自此組之特定上下文模型相關聯。上下文模型通常實行為僅考慮先前與上下文模型相關聯之二進數的反向自適應性機率估計器。
在下文中,評述根據本發明之一實施例的用於實行上下文模型之不同概念的三個實例:
關於實行之細節可見於列「註釋」中之各別資源中。
注意:ISO/IEC 15938部分17標準之委員會草案在機率估計器之描述中含有一些不正確等式,其需要如下校正以便產生正確的「NNR」上下文模型實行:
識別符 | HEVC | VVC | NNR |
註釋 | 用於H.265/HEVC視訊壓縮標準中 | 用於H.266/VVC視訊壓縮標準中 | 用於神經網路壓縮的ISO/IEC 15938部分17標準之委員會草案中(本文件含有一些不正確等式,見表下方之註釋) |
狀態變數 | 7位元無正負號整數 | 10位元及14位元無正負號整數 | 8位元及12位元帶正負號整數 |
狀態至機率映射 | 對數 | 線性 | 對數 |
調適率變數之數目 | - | 2 | 2 |
在章節11.3.4.3.2.1中,等式「valMps = pStateIdx0 + pStateIdx0 >= 0」必須用「valMps = 16 * pStateIdx0 + pStateIdx1 >= 0」替換。
• 在章節11.3.4.3.2.1中,等式「ivlLpsRange = rps_table[(abs((pStateIdx0 + pStateIdx1) >> 7)) + qRangeIdx]」必須用「ivlLpsRange = rps_table[(abs((16 * pStateIdx0 + pStateIdx1) >> 7)) + qRangeIdx]」替換。
• 在章節11.3.4.3.2.2中,等式「pStateIdx0 += sign * (transition_table[16 + (sign * pStateIdx0 >> 3)] >> shift0)」必須用「pStateIdx0 += sign * (transition_table[16 + (sign * pStateIdx0 >> 3)] >> (4 + shift0))」替換。
• 在章節11.3.4.3.2.2中,等式「pStateIdx1 += sign * (transition_table[16 + (sign * pStateIdx0 >> 7)] >> shift1)」必須用「pStateIdx1 += sign * (transition_table[16 + (sign * pStateIdx1 >> 7)] >> shift1)」替換。
根據本發明之一實施例,僅表示上下文模型之狀態的變數受到關注,此係因為機率估計過程並未改變。應注意,本發明之當前實施例亦可應用於此處未描述的其他類型之機率估計器。
此外,在本發明之實施例中,可能存在不與上下文模型相關聯的二進數,如熟知旁路二進數或終止二進數。
ISO/IEC 15938部分17標準之委員會草案對根據本發明之一實施例的機率估計器之詳細評述。
每一上下文模型維持例如四個變數shift0、shift1、pStateIdx0及pStateIdx1。變數pStateIdx0及pStateIdx1分別為二補數表示法中的8及12位元整數。
可如下例如自pStateIdx0及pStateIdx1且自算術編碼器或解碼器之當前寫碼區間ivlCurrRange的寬度(其為在區間[256, 510]中之值)導出用於算術編碼或解碼之機率估計值:
valMps = 16 * pStateIdx0 + pStateIdx1 >= 0
qRangeIdx = ivlCurrRange & 0xe0
rlps_table = [128, 112, 97, 84, 74, 65, 57, 50, 45, 39, 34, 30, 27, 23, 20, 18, 15, 14, 12, 11, 10, 9, 7, 7,
5, 5, 4, 4, 3, 3, 2, 2, 142, 125, 108, 93, 82, 72, 63, 56, 50, 43, 38, 33, 30, 26, 22, 20,
17, 16, 13, 12, 11, 10, 8, 8, 6, 6, 5, 5, 3, 3, 2, 2, 156, 137, 119, 103, 90, 79, 70, 61,
55, 48, 42, 37, 33, 28, 24, 22, 19, 17, 15, 13, 12, 11, 9, 9, 6, 6, 5, 5, 4, 4, 2, 2,
171, 150, 130, 112, 99, 87, 76, 67, 60, 52, 46, 40, 36, 31, 27, 24, 21, 19, 16, 15, 13, 12, 10, 10,
7, 7, 6, 6, 4, 4, 3, 3, 185, 162, 141, 121, 107, 94, 82, 73, 65, 56, 50, 43, 39, 34, 29, 26,
22, 21, 17, 16, 14, 13, 11, 11, 8, 8, 6, 6, 4, 4, 3, 3, 199, 175, 152, 131, 115, 101, 89, 78,
70, 61, 54, 47, 42, 36, 31, 28, 24, 22, 19, 17, 15, 14, 12, 12, 8, 8, 7, 7, 5, 5, 3, 3,
213, 187, 163, 140, 123, 108, 95, 84, 75, 65, 58, 50, 45, 39, 33, 30, 26, 24, 20, 18, 16, 15, 13, 13,
9, 9, 7, 7, 5, 5, 3, 3, 228, 200, 174, 150, 132, 116, 102, 90, 80, 70, 62, 54, 48, 42, 36, 32,
28, 26, 22, 20, 18, 16, 14, 14, 10, 10, 8, 8, 6, 6, 4, 4]
ivlLpsRange = rps_table[(abs((16 * pStateIdx0 + pStateIdx1) >> 7)) + qRangeIdx]
變數valMps為較大機率符號(MPS)之值,且較小機率符號(LPS)之機率估計值給定為p
LPS= ivlLpsRange / ivlCurrRange。因此,較大機率符號之機率估計值簡單地為p
MPS= 1 - p
LPS。
等於1之下一二進數的機率Pr(bin==1)可例如導出如下:
若valMps == 1: Pr(bin==1) = p
MPS否則,(若valMps == 0): Pr(bin==1) = p
LPS
應注意,此等機率估計值不直接出現在編碼器或解碼器中,此係因為僅算術編碼或解碼需要與MPS及LPS相關聯之子區間寬度。
在編碼開始時,pStateIdx0及pStateIdx1兩者均設定為大致對應於p
LPS= 0.5的0。
在例如根據以下等式使用變數shift0及shift1藉由值binVal、pStateIdx0及pStateIdx1更新二進數之編碼或解碼之後:
transition_table = [2512, 2288, 2064, 1840, 1616, 1392, 1168, 944, 720, 560, 464, 368, 272, 208, 144, 80, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 0]
sign = 2 * binVal - 1
pStateIdx0 += sign * (transition_table[16 + (sign * pStateIdx0 >> 3)] >> (4 + shift0))
pStateIdx1 += sign * (transition_table[16 + (sign * pStateIdx1 >> 7)] >> shift1)
如可自該等等式看出,用於shift0或shift 1之較大值分別導致對pStateIdx0或pStateIdx1之值的較小修改,此對應於所得機率估計值之較小改變,而較小值對應於較大改變。因此,shift0及shift1可被視為控制pStateIdx0及pStateIdx1之更新靈敏度的靈敏度參數。(shift0, shift1)之典型值為例如(1, 4)、(0, 0)、(0, 5)、(1, 1)、(1, 2)、(2, 4)、(2, 6)、(3, 4)或(3, 5),且其取決於該序列待編碼二進數之統計特性,該等值最適合於shif0及shift1。
基礎原理稱為指數加權移動平均值(EWMA)。
進一步描述根據本發明之一實施例的CABAC (M寫碼器)之算術寫碼引擎的評述。
根據一實施例之M寫碼器在解碼器中維持兩個無正負號B位元整數變數V及R。通常,B設定為9,但其他選擇亦為可能的。在解碼開始時,以算術編碼位元串流之前B個位元初始化V (使位元串流指標前移B個位元),且將R設定為初始值,如例如2
B-2。應注意,位元串流可在算術編碼開始之前含有其他位元,諸如高階語法。R表示當前寫碼區間之寬度,且其僅可含有在區間[2
B-1, 2
B-1]中之值。寫碼區間給定為[0, R],且V將指標表示為寫碼區間,即必須始終保持V < R。對於二進數b之解碼,使用熟知技術(如上下文模型化及機率估計,如例如指數加權移動平均值(EWMA))估計b之兩個可能值的機率。基於與二進數b相關聯的估計機率,導出兩個子區間I
L=[0, R
L[及I
R=[R
L, R],其中I
L與二進數b之一個可能值相關聯,且I
R與二進數b之另一可能值相關聯。舉例而言,I
R通常基於所估計機率與較小機率符號(LPS)相關聯,而I
L與較大機率符號(MPS)相關聯。
舉例而言,如下進行二進數之解碼(枚舉清單對應於有序步長):
若V<R
L:
1. 與I
L相關聯之符號值為b之經解碼值。
2. 將R設定為R
L。
否則,(V >=R
L:
1. 與I
R相關聯之符號值為b之經解碼值。
2. 將R設定為R-R
L。
3. 將V設定為V-R
L。
若隨後 R < 2
B-1,則例如如下進行重正規化:
1. 將R設定為2 * R
2. 將V設定為 2 * V + ReadOneBit()
3. 若R < 2
B-1,則繼續步驟1 (否則,進行重正規化)。
函數ReadOneBit()返回位元串流中之下一位元,且將位元串流指標前移1個位元。
以上二進數解碼程序亦稱為常規寫碼模式。此外,存在熟知的旁路寫碼模式及終止二進數寫碼模式。
進一步描述根據本發明之實施例之概念。
算術解碼為幾乎不可並行化之依序過程。根據本發明之實施例的概念引入用於使得解碼器能夠藉由界定所謂的進入點而在位元串流中之預定義位置處開始解碼之方法。以此方式,若干解碼器可並行地操作,從而解碼單一位元串流之不同部分(在不同進入點處開始)。
進入點
進入點可在解碼特定二進數之前被視為算術解碼器之狀態之快照。即,其由以下變數組成:
a. R
b. V
c. 指向位元串流中之下一位元的指標
d. CABAC解碼器之狀態(例如,上下文模型之狀態及可能的其他相關變數,如相依量化方案之狀態)
此進入點將需要B-1個位元用於R (用於表示區間[2
B-1, 2
B-1]中之所有可能值)、B個位元用於V,且其他位元用於儲存c.及d.。為了儲存c.,在一實施例中,使用如指數哥倫布碼之可變長度碼可為適當的,此係因為小指標值將產生短二進位碼字。然而,儲存d.可能需要巨大數目個位元,此係因為可能存在大數目個上下文模型,且每一上下文模型可能需要若干位元來表示其內部狀態。
明顯地,亦可在實施例中針對現有CABAC位元串流建立進入點,而不需要重新編碼位元串流。
在一較佳實施例中,已針對CABAC位元串流產生一或多個進入點。對於第一進入點,指向位元串流c.中之下一位元的指標儲存為算術解碼開始處之位元位置與第一進入點之位元位置之間的差。
在另一較佳實施例中,此差進一步減小B (因為前B個位元在算術解碼器之初始化期間載入至V中)。
在另一較佳實施例中,第一進入點(若存在)之後的所有進入點相對於指向具有先前進入點之位元串流c.中之下一位元的指標儲存指向位元串流c.中之下一位元的指標。舉例而言,儲存指向具有當前進入點與先前進入點的位元串流c.中的下一位元之指標之間的差。
在另一較佳實施例中,指示指向位元串流c.中之下一位元之指標的待儲存整數值(例如,給出為如先前較佳實施例中所描述之差)使用k階無正負號指數哥倫布碼(其例如對應於如在ISO/IEC 15938部分17之委員會草案中所界定的資料類型ue(k))在位元串流中編碼。
在另一較佳實施例中,在表示位元串流c.中之下一位元的整數之計算(如先前較佳實施例中所描述)中所涉及的指向位元串流c.中之下一位元之指標在進行計算之前經降值捨位至8之倍數。所得差因此亦為8之倍數,且可除以8,從而得到位元組偏移(而非位元偏移)。此外,3個額外位元編碼於進入點中,從而指示當前進入點之當前位元組中之位元位置。
在一較佳實施例中,編碼及解碼涉及維持狀態變數之熟知相依量化方案(如例如用於ISO/IEC 15938部分17之委員會草案中)。將固定數目個位元與每一進入點儲存在一起以指示相依量化狀態之值。舉例而言,對於ISO/IEC 15938部分17之委員會草案,儲存指示相依量化狀態之8個可能值中之一者的3位元變數。
進一步描述根據一實施例之指向位元串流c.中之下一位元的指標之雙差分傳信。
在其中進入點大致同等地遠離位元串流定位的應用中,在相鄰進入點之間指向位元串流c.中之下一位元的指標之間的差具有大致相同的值。在此情形中,對於除前兩個進入點之外的所有進入點,傳信此等位元位置之「差之差」可能更高效。更精確而言,考慮三個相鄰進入點ep1、ep2及ep3與分別給定為bitPos1、bitPos2及bitPos3之指向位元串流c.中之下一位元的相關聯指標。此外,假定bitPos1 < bitPos2 < bitPos3成立。接著,對於大致相等間隔之進入點ep1、ep2及ep3,差d1 = bitPos2 - bitPos1與d2 = bitPos3 - bitPos2具有大致相同的值。即,差之差d2 - d1具有小量值。因此,在一較佳實施例中,針對進入點ep3的位元串流c.中之下一位元的位置傳信為「雙差」dd3 = d2 - d1。應注意,dd3現可能亦為負。由於dd3之量值往往會小於d3之量值,因此當例如使用帶正負號指數哥倫布碼時,有可能在位元串流中以較少位元對其進行傳信。
在另一較佳實施例中,指示具有進入點ep2之位元串流c.中之下一位元之位置的差d1傳信為具有參數k = 11之無正負號指數哥倫布碼。
在另一較佳實施例中,指示具有進入點ep3之位元串流c.中之下一位元之位置的差dd3 (如上文所論述表示為「雙差」)傳信為具有參數k = 7之帶正負號指數哥倫布碼。
在另一較佳實施例中,指示位元串流c.中之下一位元之位置的差分及/或雙差分值(如上文所描述)係基於未在位元串流中編碼但替代地由編碼器及解碼器在預定位置處導出之進入點而計算。舉例而言,第一進入點ep1並不在位元串流中傳信(實情為,在編碼器及解碼器中導出),而是用以計算用於傳信ep2的差或雙差。
進一步描述根據本發明之一實施例的具有編碼器修改之進入點。
如先前部分中所論述,在進入點中儲存d.可能需要大量位元。在此部分中,描述藉由允許編碼器修改而減小進入點之大小的若干概念。
進一步描述根據實施例之對CABAC編碼器及解碼器(d.)之狀態的修改。
根據一實施例,CABAC編碼器及解碼器d.之狀態在進入點之開始處設定為預定義值。因此,不必將d.儲存於進入點中。然而,此可導致較大算術編碼位元串流,此係因為機率模型化準確度降低。
舉例而言,在進入點之開始處的CABAC編碼器及解碼器之狀態可根據以下規則中之一者(根據一實施例,每一者)來設定:
1. CABAC編碼器及解碼器之狀態經重設至預設值。
2. CABAC編碼器及解碼器之狀態係使用在位元串流中傳信之資訊來初始化。
3. CABAC編碼器及解碼器之狀態經設定至CABAC編碼器及解碼器之先前儲存狀態。
前已述及,CABAC編碼器及解碼器之狀態可由一組上下文模型及其他變數組成。通常有意義的是將不同規則應用於CABAC編碼器及解碼器之狀態的不同部分。舉例而言,根據一實施例,規則1可應用於上下文模型,而根本不應用規則可能更適合於其他變數,如相依量化方案之狀態。即,其他變數與進入點一起儲存。或在另一實例中,根據一實施例,規則1或規則2應用於上下文模型之第一子集,而規則2或規則3應用於上下文模型之第二(不相交)子集。
根據一實施例之基於規則1之實例為:
規則1可能為避免與進入點一起儲存d.之需要的最簡單方法。然而,其亦可能導致實質上增大的算術寫碼位元串流,此係因為機率模型化準確度大大降低。
根據一實施例之基於規則2之實例為:
規則2可例如僅應用於上下文模型,而其他規則(或無規則)可應用於與CABAC編碼器及解碼器之狀態(如例如相依量化方案之狀態)相關聯的所有其他變數(若存在)。舉例而言,一些或所有上下文模型之初始化可在位元串流中在第一進入點之前的某處傳信。在每一進入點之開始處,此初始化資訊用以導出每一上下文模型之初始狀態。
根據一實施例之基於規則3之實例為:
舉例而言,自視訊壓縮標準H.265/HEVC之波前並行處理的上下文已知上下文模型之狀態的儲存及載入。編碼器及解碼器將上下文模型之狀態儲存在預定義位置處,且使其可用於在其他預定義位置處載入此等狀態。此概念可與進入點概念組合,其中所儲存之上下文模型狀態係在進入點之開始處載入。
進一步描述根據實施例之對CABAC編碼器及解碼器中之變數R的修改。
變數R在範圍[2
B-1, 2
B-1]內。因此,將R儲存於進入點中需要B-1個位元(此係因為區間中存在2
B-1-2
B-1+1 = 2
B-1個值)。在一實施例中,可藉由在產生進入點之前編碼及解碼所謂的偽二進數來避免在進入點中傳信R。此係藉由對於R
L設定為2
B-1之規則二進數使用編碼程序且選擇與I
L相關聯之符號值作為經編碼或經解碼符號而進行。應注意,僅在R > 2
B-1的情況下才需要此偽二進數。在此偽二進數之後,變數R始終為2
B-1,且因此,其無需儲存於進入點中,從而節省B-1個位元。由於偽二進數始終為較大機率符號(MPS),因此其在位元串流中產生小於1個位元之位元的平均部分,該平均部分小於所儲存之B-1個位元。此技術亦對變數V之可能值具有影響,此係因為V < R必須始終成立。因此,V < 2
B-1同樣成立,且V可以B-1個位元而非B個位元在位元串流中傳信,從而再節省進入點中之一個位元。
在一較佳實施例中,R在進入點之開始處(在編碼器及解碼器中)設定為2
B-1,且V儲存為具有B-1位元之固定長度變數。
進一步描述根據本發明之一實施例的應用進入點來壓縮2D值陣列。
若干應用將2D值陣列編碼為位元串流。舉例而言,影像或視訊壓縮方案編碼表示為2D樣本陣列之圖像,或用於神經網路參數之壓縮方案將參數張量再成形為2D結構,以便編碼所含有的參數值。此等方案通常對2D陣列應用區塊分割技術,且其亦界定用於編碼或解碼之所得區塊的階數。此外,此類方案亦可含有有損操作,如例如量化,且經解碼及經重構2D陣列不相同於原始2D陣列,但通常類似(例如,在視訊壓縮之情況下在視覺意義上類似)。
考慮例如將2D陣列(如影像平面或再成形參數張量)細分成大小為N×N之區塊且界定掃描次序之視訊或神經網路參數壓縮方案,其中該等區塊經排序用於將其編碼成位元串流。此方案形成N×N區塊之列及行。舉例而言,列內的次序可以最左側區塊開始且前進至右側。列的次序可簡單地開始於最上部列,向下前進。此掃描次序亦稱為光柵掃描,且可能需要使得解碼器能夠並行地解碼所有列。在此情況下,將需要在每一列開始處之一個進入點。然而,應注意,在一實施例中,解碼器可能需要相鄰區塊之資訊以便能夠解碼當前區塊。舉例而言,視訊壓縮演算法通常存取相鄰區塊(例如,左側或頂部)之資訊以便能夠解碼當前區塊。在此情況下,解碼器必須進一步確保此等區塊在可進行當前區塊之解碼之前經解碼。
此外,並行解碼可適用於一些2D陣列,而對於其他陣列,可能並非必要的。舉例而言,對於大2D陣列,其可為有用的,而對於小2D陣列,其可能並非必要的。在一較佳實施例中,在位元串流中傳信是否存在用於2D陣列之進入點。
在一較佳實施例中,上下文模型之狀態(根據規則3)儲存於每一列之第一區塊之後。在每一區塊列之開始處產生一個進入點,其中上下文模型之狀態經設定為如在上方相鄰列之第一區塊的編碼或解碼之後存在的所儲存值。
在另一較佳實施例中,上下文模型之狀態(根據規則3)儲存於第一列之第一區塊之後。在每一區塊列之開始處產生一個進入點,其中上下文模型之狀態經設定為如在最上列之第一區塊的編碼或解碼之後存在的相同值。
進一步描述根據一實施例之用於進入點的共享上下文模型初始化資訊之傳信。
在CABAC解碼開始之前,所有上下文模型之狀態必須設定為預定義值。舉例而言,此可為預設值或藉由使用更複雜的上下文模型初始化程序。舉例而言,用於神經網路之ISO/IEC 15938部分17壓縮標準之委員會草案(包括如上文所論述之經校正等式)對於每個上下文模型使用兩個狀態變數(pStateIdx0及pStateIdx1),且使移位參數(shift0及shift1)與狀態變數中之每一者相關聯。移位參數控制基於EWMA估計器之狀態變數更新的調適靈敏度。在算術編碼或解碼開始時,將每一上下文模型之兩個狀態變數設定為0,其對應於0.5之初始機率估計值。此外,存在用於兩個移位參數(見陣列ShiftParameterSet)之初始化的9個預定義值對,且其在用於每一上下文模型之位元串流中傳信9個值對中之哪一者用於移位參數。
亦區分上下文模型之狀態變數之若干不同初始化值的效應通常相當有限,此係因為基礎EWMA估計器快速適應於與上下文模型相關聯之二進數序列的統計量。然而,若存在進入點且若在每一進入點處初始化上下文模型,則此效應變得更相關。因此,允許一組不同值用於初始化上下文模型之狀態變數可為有益的。
在一較佳實施例中,界定4元組之清單,每一4元組表示用於上下文模型之兩個狀態變數及兩個移位參數的初始值。在NNR之情況下,4元組之值將與變數之4元組(shift0、shift1、pStateIdx0、pStateIdx1)相關聯。在算術寫碼開始之前,在位元串流中針對每一上下文模型傳信整數索引,從而指示使用4元組中之哪一者來初始化各別上下文模型。
在另一較佳實施例中,指示待用以初始化上下文模型之4元組的索引係使用將較短碼字指派至更頻繁使用之4元組的可變長度碼來傳信。
舉例而言,可使用以下4元組清單(shift0、shift1、pStateIdx0、pStateIdx1):
Index | shift0 | shift1 | pStateIdx0 | pStateIdx1 |
0 | 1 | 4 | 0 | 0 |
1 | 1 | 4 | -41 | -654 |
2 | 1 | 4 | 95 | 1519 |
3 | 0 | 5 | 0 | 0 |
4 | 2 | 6 | 30 | 482 |
5 | 2 | 6 | 95 | 1519 |
6 | 2 | 6 | -21 | -337 |
7 | 3 | 5 | 0 | 0 |
8 | 3 | 5 | 30 | 482 |
應注意,相同概念亦可與VVC之上下文模型一起使用,其中兩個狀態變數及兩個靈敏度參數使用與NNR相同的變數名稱(shift0、shift1、pStateIdx0、pStateIdx1)。應注意,此等變數在VVC中與在NNR中滿足相同目的,但其確切行為係不同的。因此,當適當地調適4元組時,此處呈現之概念亦可應用於VVC。
概言之,根據本發明之實施例提供壓縮效能與視覺品質及低編碼潛時之間的改良取捨,其導致改良之寫碼效率。一些實施例亦提供額外寫碼效率。
不同發明性實施例及態樣描述於例如章節「介紹」、「樣本自適應性偏移」、「PSAO之分類」、「解碼器」、「編碼器」及「一些評述」中,其中來自章節「樣本自適應性偏移」之特徵、功能性及細節可視情況引入至其他實施例中之任一者中。
然而,任何其他章節中所描述之特徵、功能性及細節亦可視情況經引入至根據本發明之實施例中。
並且,上文所提及之章節中所描述之實施例可個別地使用,且亦可由另一章節中之特徵、功能性及細節中之任一者補充。
又,應注意,可個別地或組合地使用本文中所描述之個別態樣。因此,細節可添加至該等個別態樣中之每一者,而不將細節添加至該等態樣中之另一者。
詳言之,申請專利範圍中亦描述實施例。申請專利範圍中所描述之實施例可視情況由如本文中所描述之特徵、功能性及細節中之任一者個別地及組合地補充。
亦應注意,本發明明確地或隱含地描述可用於視訊編碼器(用於提供輸入視訊信號之經編碼表示之設備)中及可用於視訊解碼器(用於基於視訊信號之經編碼表示提供視訊信號之經解碼圖示的設備)中之特徵。因此,本文中所描述之特徵中之任一者可用於視訊編碼器之上下文及視訊解碼器之上下文中。
此外,本文所揭露之與方法相關之特徵及功能性亦可用於設備(經組配以執行此類功能性)中。另外,本文中相對於設備所揭示之任何特徵及功能性亦可用於對應方法中。換言之,本文中所揭示之方法可藉由關於設備所描述之特徵及功能性中之任一者來補充。
又,本文中所描述之特徵及功能性中之任一者可用硬體或軟體來實施,或使用硬體與軟體之組合來實施,如將在章節「實施方案替代例」中所描述。
實施替代例
儘管在設備之上下文中描述一些態樣,但顯而易見的是,此等態樣亦表示對應方法的描述,其中區塊或裝置對應於方法步驟或方法步驟之特徵。類似地,方法步驟之內容脈絡中所描述之態樣亦表示對應區塊或項目或對應設備之特徵的描述。可由(或使用)硬體設備(例如,微處理器、可規劃電腦或電子電路)執行方法步驟中之一些或所有。在一些實施例中,可由此設備執行最重要之方法步驟中之一或多者。
取決於某些實行要求,本發明之實施例可在硬體或軟體中實施。實施可使用數位儲存媒體來進行,該數位儲存媒體例如軟性磁碟、DVD、Blu-Ray、CD、ROM、PROM、EPROM、EEPROM或快閃記憶體,該數位儲存媒體上儲存有電子可讀控制信號,該電子可讀控制信號與可規劃電腦系統協作(或能夠協作)使得各別方法被進行。因此,數位儲存媒體可為電腦可讀的。
根據本發明之一些實施例包含具有電子可讀控制信號之資料載體,該等控制信號能夠與可規劃電腦系統協作,使得執行本文中所描述之方法中的一者。
通常,本發明之實施例可實施為具有程式碼之電腦程式產品,當電腦程式產品在電腦上執行時,程式碼操作性地用於執行該等方法中之一者。程式碼可例如儲存於機器可讀載體上。
其他實施例包含儲存於機器可讀載體上的用於執行本文中所描述之方法中的一者的電腦程式。
換言之,因此,本發明方法之實施例為具有當電腦程式運行於電腦上時,用於執行本文中所描述之方法中的一者的程式碼之電腦程式。
因此,本發明方法之另一實施例為資料載體(或數位儲存媒體,或電腦可讀媒體),其包含記錄於其上的用於執行本文中所描述之方法中之一者的電腦程式。資料載體、數位儲存媒體或記錄媒體通常為有形的及/或非暫時性的。
因此,本發明方法之再一實施例為表示用於執行本文中所描述之方法中的一者之電腦程式之資料串流或信號序列。資料串流或信號序列可(例如)經組配以經由資料通信連接(例如,經由網際網路)而傳遞。
另一實施例包含處理構件,例如,經組配或經調適以執行本文中所描述之方法中的一者的電腦或可規劃邏輯裝置。
另一實施例包含其上安裝有用於執行本文中所描述之方法中的一者的電腦程式之電腦。
根據本發明之另一實施例包含經組配以將用於執行本文中所描述之方法中的一者的電腦程式傳送(例如,用電子方式或光學方式)至接收器的設備或系統。接收器可為例如電腦、行動裝置、記憶體裝置或類似者。該設備或系可例如包含用於傳送電腦程式至接收器之檔案伺服器。
在一些實施例中,可規劃邏輯裝置(例如,場可規劃閘陣列)可用以執行本文中所描述之方法的功能性中之一些或所有。在一些實施例中,場可規劃閘陣列可與微處理器合作,以便執行本文中所描述之方法中的一者。通常,該等方法較佳地由任一硬體設備執行。
本文中所描述之設備可使用硬體設備或使用電腦或使用硬體設備與電腦之組合來實施。
本文中所描述之設備或本文中所描述之設備的任何組件可至少部分地以硬體及/或以軟體來實施。
本文中所描述之方法可使用硬體設備或使用電腦或使用硬體設備與電腦的組合來進行。
本文所描述之方法或本文中所描述之設備的任何組件可至少部分地由硬體及/或由軟體執行。
本文中所描述之實施例僅僅說明本發明之原理。應理解,對本文中所描述之配置及細節的修改及變化將對熟習此項技術者顯而易見。因此,其僅意欲由接下來之申請專利範圍之範疇限制,而非由藉由本文中實施例之描述及解釋所呈現的特定細節限制。
隨後,呈現表示上文所闡述之實施例之拓寬的實施例,或換言之,上述實施例以特定細節表示實施例,且對於該等實施例,此等特定細節可單獨地或組合地用於進一步指定隨後呈現之實施例。
括號中之文字表示可選特徵、實例及描述。關於特定實施例之特徵描述的可選特徵、實例亦可適用於其他實施例之等效或類似特徵。
1. 一種用於將一序列資訊值算術地編碼為一算術寫碼位元串流之算術編碼器,其經組配以:
將該等資訊值符號化為符號串,以便獲得一序列符號;
藉由對於每一符號進行以下操作來算術地編碼該序列符號:
根據該各別符號之一符號值選擇界定該算術編碼器之一寫碼狀態的一當前版本之一當前區間根據該各別符號之一機率估計值細分成的多個子區間中的一子區間,以便獲得由該所選子區間界定的該算術編碼器之該寫碼狀態之一經更新版本以用於編碼該序列符號中之一下一符號,以及
在繼續該位元串流的情況下重正規化界定該寫碼狀態之編碼器內部參數,
向該位元串流提供進入點資訊,從而允許自一預定進入點向前恢復對該位元串流之算術解碼。
2. 如實施例1之算術編碼器,其中該進入點資訊包含關於一算術解碼器之一寫碼狀態之資訊,當該算術解碼器對該位元串流進行解碼直至該預定進入點時,該寫碼狀態出現於該算術解碼器中。
3. 如實施例2之算術編碼器,其中該算術編碼器經組配以執行對該位元串流之該算術解碼以便判定關於該算術解碼器之該寫碼狀態的該資訊。
4. 如實施例2至3中任一項之算術編碼器,其中該算術解碼器之該寫碼狀態由解碼器內部參數界定,該等解碼器內部參數包括指示該區間之一寬度的一區間寬度參數及指向該區間中之一指標,且關於該算術解碼器之該寫碼狀態的該資訊包含該指標之一值。
5. 如實施例4之算術編碼器,其中該算術編碼器經組配以執行對該位元串流之該算術解碼,且將由關於該算術解碼器之該寫碼狀態之該資訊包含之該指標的該值設定為等於如在對該位元串流之該算術解碼直至該預定進入點處時該指標自身所表現之一當前值。
6. 如實施例2至3中任一項之算術編碼器,其中該算術解碼器之該寫碼狀態由解碼器內部參數界定,該等解碼器內部參數包括指示該區間之一寬度的一區間寬度參數及指向該區間中之一指標,且關於該算術解碼器之該寫碼狀態的該資訊包含該區間寬度參數之一值。
7. 如實施例6之算術編碼器,其中該算術編碼器經組配以
執行對該位元串流之該算術解碼,且將由關於該算術解碼器之該寫碼狀態之該資訊包含的該區間寬度參數之該值設定為等於如在對該位元串流之該算術解碼直至該預定進入點處時該區間寬度參數自身所表現之一當前值,或
將由關於該算術解碼器之該寫碼狀態之該資訊包含之該區間寬度參數的該值設定為等於如在對該序列符號之該算術編碼直至該預定進入點處時該區間寬度參數自身所表現之一當前值。
8. 如實施例2至3中任一項之算術編碼器,其中該算術解碼器之該寫碼狀態由解碼器內部參數界定,該等解碼器內部參數包括指示該區間之一寬度的一區間寬度參數及指向該區間中之一指標,且關於該算術解碼器之該寫碼狀態的該資訊包含該指標之一值[例如, 該值由該預定進入點處之該指標採用],而不含該區間寬度參數之值,其中該算術編碼器經組配以
將由關於該算術解碼器之該寫碼狀態之該資訊包含之該區間寬度參數的該值設定為等於一預定值,且在自該預定進入點向前恢復對該序列符號之該算術編碼時使用該區間寬度參數之該預定值,或
藉由對緊接該預定進入點之前的具有一預定符號值之一符號進行算術編碼,隨後自該預定進入點向前恢復對該序列符號之該算術編碼來初步中斷對該序列符號之該算術編碼,且將由關於該算術解碼器之該寫碼狀態之該資訊包含之該區間寬度參數的該值設定為等於如在對該序列符號之該算術編碼直至該預定進入點處時該區間寬度參數自身所表現之一當前值,該序列符號包括具有該預定符號值之該符號。
9. 如前述實施例中任一項之算術編碼器,其中該進入點資訊包含指向該位元串流中之一預定位元的一位元串流指標,該預定位元待在自該預定進入點向前恢復對該位元串流之該算術解碼之後接下來被讀取。
10. 如實施例9之算術編碼器,其中指向該位元串流中之該預定位元的該位元串流指標係以相對於該位元串流之一開始的一偏移之形式在該位元串流中傳信。
11. 如實施例9之算術編碼器,其中指向該位元串流中之該預定位元的該位元串流指標係以相對於該位元串流之一連串前導位元的一尾端之一偏移的形式在該位元串流中傳信,用於執行對該位元串流之該算術解碼的該算術解碼器之一寫碼狀態將基於該偏移而初始化。
12. 如實施例9之算術編碼器,其中該進入點資訊允許自多於一個進入點向前恢復對該位元串流之算術解碼,且指向該位元串流中之該預定位元的該位元串流指標係以相對於一先前進入點或相對於與該預定進入點相關聯的一預定義位元串流位置之一偏移的形式在該位元串流中傳信。
13. 如實施例12之算術編碼器,其經組配以將該預定義位元串流位置作為該序列值中之連續值之間的一點或藉由對該位元串流之位元進行計數而定位。
14. 如實施例12之算術編碼器,其中指向該位元串流中之該預定位元的該位元串流指標係以如下單位儲存
位元,及/或
位元之整數n倍,其中n>1,且例如n=8。
15. 如實施例12之算術編碼器,其中具有該先前進入點之該位元串流中之一位元位置係在該位元串流中傳信。
16. 如實施例12至15中任一項之算術編碼器,其中該位元串流指標相對於由該進入點資訊包含的用於指向該位元串流中之另一預定位元的另一位元串流指標以不同方式在該位元串流中傳信,該另一預定位元待在自一先前進入點向前恢復對該位元串流之該算術解碼之後接下來被讀取。
17. 如實施例9至15中任一項之算術編碼器,其中該位元串流指標係使用一可變長度碼在該位元串流中傳信。
18. 如實施例9至17中任一項之算術編碼器,其中該位元串流指標係使用一指數哥倫布碼,較佳一無正負號指數哥倫布碼在該位元串流中傳信。
19. 如實施例9至18中任一項之算術編碼器,其中該預定進入點為一第三進入點或相對於該位元串流之該開始在該第三進入點之後的進入點中之任一者,且指向該位元串流中之該預定位元的該位元串流指標係以相對於該先前進入點之該偏移與該先前進入點相對於在該先前進入點之前的另一進入點之一偏移之間的一差的形式在該位元串流中傳信。
20. 如實施例19之算術編碼器,其中該位元串流指標係使用一帶正負號指數哥倫布碼在該位元串流中傳信。
21. 如實施例19至20中任一項之算術編碼器,其中具有該先前進入點之該位元串流中之該位元位置係使用一無正負號指數哥倫布碼在該位元串流中傳信。
22. 如實施例21之算術編碼器,其中用於該指數哥倫布碼之一指數哥倫布碼參數為一值11。
23. 如實施例19至21中任一項之算術編碼器,其中該位元串流指標係使用一帶正負號指數哥倫布碼在該位元串流中傳信。
24. 如實施例23之算術編碼器,其中用於該指數哥倫布碼之一指數哥倫布碼參數為一值7。
25. 如前述實施例中任一項之算術編碼器,其中該算術編碼器經組配以
使用上下文自適應性算術寫碼用於對該序列符號進行算術編碼,包括:對於該序列符號中之一上下文自適應性編碼符號,自多個上下文模型中選擇一上下文模型,該等多個上下文模型中之每一者具有與其相關聯之一機率估計值;以及使用該序列符號中之先前經編碼符號依據實際符號統計量調適該等多個上下文模型之該等機率估計值,
其中該進入點資訊對於一組一或多個預定上下文模型中之每一者指示該各別預定上下文模型之一預定機率估計值,且該算術編碼器經組配以使用該預定機率估計值來恢復相對於該各別預定上下文模型對該等多個上下文模型之該等機率估計值之該調適。
26. 如前述實施例中任一項之算術編碼器,其中該算術編碼器經組配以
使用上下文自適應性算術寫碼用於對該序列符號進行算術編碼,包括:對於該序列符號中之一上下文自適應性編碼符號,自多個上下文模型中選擇一上下文模型,該等多個上下文模型中之每一者具有與其相關聯之一機率估計值;以及使用該序列符號中之先前經編碼符號依據實際符號統計量調適該等多個上下文模型之該等機率估計值,
其中該算術編碼器經組配以對於一組一或多個預定上下文模型中之每一者將該預定進入點處之該各別預定上下文模型的該機率估計值設定為一預設狀態,且該算術編碼器經組配以使用該預設狀態來恢復相對於該各別預定上下文模型對該等多個上下文模型之該等機率估計值之該調適,或
其中該算術編碼器經組配以對於一組一或多個預定上下文模型中之每一者將該預定進入點處的該各別預定上下文模型之該機率估計值設定為其自身在對在該預定進入點之前的該序列符號進行算術編碼期間在一預定條件下所表現的一儲存狀態,且該算術編碼器經組配以使用該儲存狀態來恢復相對於該各別預定上下文模型對該等多個上下文模型之該等機率估計值之該調適。
27. 如前述實施例中任一項之算術編碼器,其中該算術編碼器經組配以
使用相依量化於使用狀態機自一序列未量化值導出該序列資訊值,
其中該進入點資訊包含其自身在該狀態機中直至該預定進入點所表現出之一量化狀態。
28. 如前述實施例中任一項之算術編碼器,其中該等符號為二進數,且該符號化為一二進位化。
29. 如前述實施例中任一項之算術編碼器,其中該等資訊值為表示一視訊之一序列語法元素。
30. 如實施例1至29中任一項之算術編碼器,其中該等資訊值為神經網路參數。
31. 一種用於自一位元串流算術地解碼一序列資訊值之算術解碼器,其經組配以:
自該位元串流導出進入點資訊;
使用該進入點資訊以便藉由藉著以下操作來對於該位元串流之每一符號進行自該位元串流算術地解碼一序列符號而自一預定進入點向前恢復對該位元串流之算術解碼:
基於該算術解碼器之一寫碼狀態之一當前版本判定一當前區間根據該各別符號之一機率估計值細分成的多個子區間中的一子區間,且基於該所選子區間推斷該各別符號之一符號值,以及
藉由使用該位元串流及該所選子區間重正規化且更新界定該寫碼狀態之解碼器內部參數,以便獲得該算術解碼器之該寫碼狀態的一經更新版本以用於解碼該序列符號中之下一符號,以及
藉由去符號化自該序列符號導出該等資訊值。
32. 如實施例31之算術解碼器,其經組配以使用該進入點資訊以便判定該算術解碼器之該寫碼狀態的一起始版本,且使用該起始狀態用於開始自該預定進入點向前算術地解碼該位元串流。
33. 如實施例31或32中任一項之算術解碼器,其中該算術解碼器之該寫碼狀態係由該等解碼器內部參數界定,該等解碼器內部參數包括指示該區間之一寬度的一區間寬度參數及指向該區間中之一指標,且該算術解碼器經組配以自該進入點資訊導出該指標之一起始值,使用該值開始自該預定進入點向前算術地解碼該位元串流。
34. 如實施例31至33中任一項之算術解碼器,其中該算術解碼器之該寫碼狀態係由該等解碼器內部參數界定,該等解碼器內部參數包括指示該區間之一寬度的一區間寬度參數及指向該區間中之一指標,且該算術解碼器經組配以自該進入點資訊導出該區間寬度參數之一起始值,使用該值開始自該預定進入點向前算術地解碼該位元串流。
35. 如實施例31至33中任一項之算術解碼器,其中該算術解碼器之該寫碼狀態係由該等解碼器內部參數界定,該等解碼器內部參數包括指示該區間之一寬度的一區間寬度參數及指向該區間中之一指標,且該算術解碼器經組配以
自該進入點資訊導出該指標之一起始值,使用該值開始自該預定進入點向前算術地解碼該位元串流,以及
將由關於該算術解碼器之該寫碼狀態之該資訊包含之該區間寬度參數的該值設定為等於一預定值,且對於該區間寬度參數使用該預定值來恢復自該預定進入點向前對該序列符號之該算術解碼。
36. 如實施例35之算術解碼器,其中該進入點資訊允許自多於一個進入點向前恢復對該位元串流之算術解碼,且該算術解碼器經組配以
藉由對緊接一後續預定進入點之前的具有一預定符號值之一符號進行算術解碼,隨後自該後續預定進入點向前恢復對該序列符號之該算術解碼來初步中斷在該後續預定進入點處對該序列符號之該算術解碼。
37. 如實施例31至36中任一項之算術解碼器,其經組配以自該進入點資訊導出指向該位元串流中的一預定位元之一位元串流指標,且使用該預定位元作為在自該預定進入點向前恢復對該位元串流之該算術解碼之後接下來將讀取的一位元。
38. 如實施例37之算術解碼器,其中指向該位元串流中之該預定位元的該位元串流指標係以相對於該位元串流之一開始的一偏移之形式在該位元串流中傳信。
39. 如實施例37之算術解碼器,其中指向該位元串流中之該預定位元的該位元串流指標係以相對於以下者的一偏移之形式在該位元串流中傳信:
該位元串流之一連串前導位元的一尾端,該算術解碼器經組配以基於該偏移而在自該位元串流之該開始向前執行對該位元串流之該算術解碼的情況下初始化該算術解碼器之該寫碼狀態。
40. 如實施例37之算術解碼器,其中該進入點資訊允許自多於一個進入點向前恢復對該位元串流之算術解碼,且指向該位元串流中之該預定位元的該位元串流指標係以相對於一先前進入點或相對於與該預定進入點相關聯的一預定義位元串流位置之一偏移的形式在該位元串流中傳信。
41. 如實施例40之算術解碼器,其經組配以將該預定義位元串流位置作為該序列值中之連續值之間的一點或藉由對該位元串流之位元進行計數而定位。
42. 如實施例40之算術解碼器,其中指向該位元串流中之該預定位元的該位元串流指標係以如下單位儲存
位元,及/或
位元之整數n倍,其中n>1,且例如n=8。
43. 如實施例42之算術解碼器,其中具有該先前進入點之該位元串流中之一位元位置係在該位元串流中傳信。
44. 如實施例40至43中任一項之算術解碼器,其中該位元串流指標相對於由該進入點資訊包含的用於指向該位元串流中之另一預定位元的另一位元串流指標以不同方式在該位元串流中傳信,該另一預定位元待在自一先前進入點向前恢復對該位元串流之該算術解碼之後接下來被讀取。
45. 如實施例37至43中任一項之算術解碼器,其中該位元串流指標係使用一可變長度碼在該位元串流中傳信。
46. 如實施例37至44中任一項之算術解碼器,其中該位元串流指標係使用一指數哥倫布碼,較佳一無正負號指數哥倫布碼在該位元串流中傳信。
47. 如實施例37至46中任一項之算術解碼器,其中該預定進入點為一第三進入點或相對於該位元串流之該開始在該第三進入點之後的進入點中之任一者,且指向該位元串流中之該預定位元的該位元串流指標係以相對於該先前進入點之該偏移與該先前進入點相對於在該先前進入點之前的另一進入點之一偏移之間的一差的形式在該位元串流中傳信。
48. 如實施例47之算術解碼器,其中該位元串流指標係使用一帶正負號指數哥倫布碼在該位元串流中傳信。
49. 如實施例47至48中任一項之算術解碼器,其中具有該先前進入點之該位元串流中之該位元位置係使用一無正負號指數哥倫布碼在該位元串流中傳信。
50. 如實施例49之算術解碼器,其中用於該指數哥倫布碼之一指數哥倫布碼參數為一值11。
51. 如實施例47至50中任一項之算術解碼器,其中該位元串流指標係使用一帶正負號指數哥倫布碼在該位元串流中傳信。
52. 如實施例51之算術解碼器,其中用於該指數哥倫布碼之一指數哥倫布碼參數為一值7。
53. 如實施例31至52中任一項之算術解碼器,其中該算術解碼器經組配以
使用上下文自適應性算術解碼用於對該序列符號進行算術解碼,包括:對於該序列符號中之一上下文自適應性解碼符號,自多個上下文模型中選擇一上下文模型,該等多個上下文模型中之每一者具有與其相關聯之一機率估計值;以及使用該序列符號中之先前經解碼符號依據實際符號統計量調適該等多個上下文模型之該等機率估計值,
其中該進入點資訊對於一組一或多個預定上下文模型中之每一者指示該各別預定上下文模型之一預定機率估計值,且該算術解碼器經組配以使用該預定機率估計值來恢復相對於該各別預定上下文模型對該等多個上下文模型之該等機率估計值之該調適。
54. 如實施例31至53中任一項之算術解碼器,其中該算術解碼器經組配以
使用上下文自適應性算術解碼用於對該序列符號進行算術解碼,包括:對於該序列符號中之一上下文自適應性解碼符號,自多個上下文模型中選擇一上下文模型,該等多個上下文模型中之每一者具有與其相關聯之一機率估計值;以及使用該序列符號中之先前經解碼符號依據實際符號統計量調適該等多個上下文模型之該等機率估計值,
其中該算術解碼器經組配以對於一組一或多個預定上下文模型中之每一者將該預定進入點處之該各別預定上下文模型的該機率估計值設定為一預設狀態,且該算術解碼器經組配以使用該預設狀態來恢復相對於該各別預定上下文模型對該等多個上下文模型之該等機率估計值之該調適。
55. 如實施例54之算術解碼器,其中該進入點資訊允許自多於一個進入點向前恢復對該位元串流之算術解碼,且該算術解碼器經組配以
對於該組一或多個預定上下文模型中之每一者,將一後續預定進入點處的該各別預定上下文模型之該機率估計值設定為其自身在對在該後續預定進入點之前的該序列符號進行算術解碼期間在一預定條件下所表現的一儲存狀態,且該算術解碼器經組配以使用該儲存狀態來恢復相對於該各別預定上下文模型自該後續預定進入點向前對該等多個上下文模型之該等機率估計值之該調適。
56. 如實施例31至55中任一項之算術解碼器,其中該算術解碼器經組配以
使用相依去量化於使用一狀態機自該序列資訊值導出一序列經量化值,
自該進入點資訊導出一量化狀態,該相依量化自該量化狀態開始自該預定進入點向前恢復。
57. 如實施例31至56中任一項之算術解碼器,其中該等符號為二進數,且該去符號化為一去二進位化。
58. 如實施例31至57中任一項之算術解碼器,其中該等資訊值為表示一視訊之一序列語法元素。
59. 如實施例31至57中任一項之算術解碼器,其中該等資訊值為神經網路參數。
60. 一種用於自一位元串流算術地解碼神經網路參數之算術解碼器,其經組配以:
藉由使用上下文自適應性算術解碼自該位元串流算術地解碼一序列符號,包括:對於該序列符號中之一上下文自適應性解碼符號,選擇多個上下文模型中之一上下文模型,該等多個上下文模型中之每一者具有與其相關聯的一機率估計值;以及使用該所選上下文模型對該上下文自適應性解碼符號進行算術解碼;以及使用該序列符號中之先前經解碼符號依據實際符號統計量調適該等多個上下文模型之該等機率估計值,
藉由去符號化自該序列符號導出該等神經網路參數,
在該等位元串流之開始處及/或在該位元串流內之一或多個進入點處,對於一組一或多個上下文模型中之每一者,基於該位元串流中之上下文模型資訊初始化與該各別上下文模型相關聯之該機率估計值。
61. 如實施例60之算術解碼器,其經組配以
藉由以下操作使用該序列符號中之先前經解碼符號依據實際符號統計量調適該等多個上下文模型之該等機率估計值:
對於每一上下文模型,基於該序列符號中已針對其選擇該各別上下文模型之先前上下文自適應性解碼符號產生與該各別上下文模型相關聯之該機率估計值。
62. 如實施例60或61之算術解碼器,其經組配以
使用該序列符號中之先前經解碼符號依據實際符號統計量調適該等多個上下文模型之該等機率估計值,具體係藉由以可由一第一靈敏度參數控制之一第一調適靈敏度適應於該等實際符號統計量之一方式導出該等機率估計值之一第一假設,
在該位元串流之該開始處及/或在該位元串流內之一或多個進入點處,對於該組一或多個上下文模型中之每一者,基於該位元串流中之該上下文模型資訊設定與該各別上下文模型相關聯之該第一假設及該第一靈敏度參數。
63. 如實施例62之算術解碼器,其經組配以
使用該序列符號中之先前經解碼符號依據實際符號統計量調適該等多個上下文模型之該等機率估計值,具體係藉由以可由一第二靈敏度參數控制之一第二調適靈敏度適應於該等實際符號統計量之一方式導出該等機率估計值之一第二假設,其中該等機率估計值係藉由該第一假設與該第二假設之一平均值判定;
在該位元串流之該開始處及/或在該位元串流內的一或多個進入點處,對於該組一或多個上下文模型中之每一者,基於該位元串流中之該上下文模型資訊設定與該各別上下文模型相關聯之該第二假設及該第二靈敏度參數。
64. 如實施例63之算術解碼器,其中該位元串流中的該上下文模型資訊包含用於界定該第一假設及該第二假設以及該第一靈敏度參數及該第二靈敏度參數的值四元組之一表的一表項索引,且該算術解碼器經組配以使用該表項索引以便選擇該表之一個四元組且使用該一個四元組以便設定該第一假設及該第二假設以及該第一靈敏度參數及該第二靈敏度參數。
65. 如實施例64之算術解碼器,其中用於界定該第一假設及該第二假設以及該第一靈敏度參數及該第二靈敏度參數的值四元組之一數目介於8與10之間,包括8及10。
66. 如實施例64及65中任一項之算術解碼器,其中用於界定該第一假設及該第二假設以及該第一靈敏度參數及該第二靈敏度參數的該等值四元組對應於用於該第一靈敏度參數及該第二靈敏度參數之3個、4個或5個相互可區分設定中之一者。
67. 如實施例64至66中任一項之算術解碼器,其中該等符號為二進數,且該去符號化為一去二進位化,且用於界定該第一假設及該第二假設以及該第一靈敏度參數及該第二靈敏度參數的該等值四元組包含:
第一3個四元組,根據所有該等四元組,該第一靈敏度參數設定為一第一值,該第二靈敏度參數設定為一第二值,其對應於比該第一值低之調適靈敏度,且根據該等四元組中之一第一者,該第一假設與該第二假設對應於等機率,根據該等四元組中之一第二者,該第一假設與該第二假設對應於一第一二進數值比一第二二進數值機率大,且根據該等四元組中之一第三者,該第一假設與該第二假設對應於該第二二進數值比該第一二進數值機率大,
第二3個四元組,根據所有該等四元組,該第一靈敏度參數設定為一第三值,其對應於比該第一值低之調適靈敏度且比該第二值大之調適靈敏度,且該第二靈敏度參數設定為一第四值,其對應於比該第二值低之調適靈敏度,且根據該等四元組中之一第一者及第二者,該第一假設與該第二假設對應於該第一二進數值比該第二二進數值機率大,且根據該等四元組中之一第三者,該第一假設與該第二假設對應於該第二二進數值比該第一二進數值機率大,
2個四元組,根據所有該等四元組,該第一靈敏度參數設定為一第四值,其對應於比該第三值低之調適靈敏度及比該第二值大之調適靈敏度,且該第二靈敏度參數設定為一第六值,其對應於比該第二值低之調適靈敏度及比該第四值大之調適靈敏度,且根據該等四元組中之一第一者,該第一假設與該第二假設對應於等機率,且根據該等四元組中之一第二者,該第一假設與該第二假設對應於該第一二進數值比該第二二進數值機率大,
1個四元組,根據該四元組,該第一靈敏度參數設定為一第七值,其對應於比該第一值大之調適靈敏度,且根據該四元組,該第一假設與該第二假設對應於等機率。
68. 如實施例63至67中任一項之算術解碼器,其中該等符號為二進數,且該去符號化為一去二進位化,且該算術解碼器經組配以
使用該序列符號中之先前經解碼符號依據實際符號統計量調適該等多個上下文模型之該等機率估計值,具體係藉由對於該第一假設及該第二假設中之每一者,
分別藉助於一帶正負號整數表示該各別假設,該帶正負號整數在為零時指示等機率,在大於零時指示一第一二進數值比一第二二進數值機率大,且在低於零時指示該第二二進數比該第一二進數值機率大,
對於每一上下文模型,若一當前解碼之二進數具有該第一二進數值,則增大該帶正負號整數,且若一當前解碼之二進數具有該第二二進數值,則減小該帶正負號整數,增大或減小之一量相對於該第一假設由該第一靈敏度參數控制,且相對於該第二假設由該第二靈敏度參數控制,以使得該量愈大,該第一靈敏度參數及該第二靈敏度參數分別愈小,
其中該等機率估計值係藉由該第一帶正負號整數與該第二帶正負號整數之一平均值判定。
69. 如實施例68之算術解碼器,其經組配以藉由使用一轉換表來判定該增大及減小之該量。
70. 如實施例69之算術解碼器,其經組配以對於該第一假設與該第二假設使用相同轉換表。
71. 如實施例69或70之算術解碼器,其經組配以藉由使用該轉換表判定該增大及減小之該量,具體係藉由在由藉由該帶正負號整數判定之一表索引索引的一條目處查找該轉換表以獲得一轉換步長且將轉換步長大小除以2的一冪,該冪取決於各別之該第一調適參數及該第二調適參數,其中該轉換步長判定該量。
72. 如實施例69或70之算術解碼器,其中該帶正負號整數由具有n個位元之一2補數表示法表示,其中n對於該第二假設比對於該第一假設大,其中該算術解碼器經組配以藉由使用該轉換表判定該增大及減小之該量,具體係藉由在由該帶正負號整數除以2
n-m(一方面)及2
m-1(另一方面)之一總和索引的一條目處查找該轉換表,以便獲得一轉換步長,將該轉換步長大小除以2的一冪,該冪線性地仿射、取決於各別的該第一調適參數及該第二調適參數,其中該轉換步長判定該量。
73. 如實施例72之算術解碼器,其中儲存於該轉換表之條目中的該等轉換步長單調地增大或減小。
74. 一種將一序列資訊值算術地編碼為一算術寫碼位元串流之方法(100),其包含:
將該等資訊值符號化(101)為符號串,以便獲得一序列符號;
藉由以下操作算術地編碼(102)該序列符號:
對於每一符號根據該各別符號之一機率估計值細分(103)界定一算術編碼器之一寫碼狀態的一當前版本之一當前區間,
根據該各別符號之一符號值選擇(104)多個該等子區間中的一子區間,以便獲得由該所選子區間界定的該算術編碼器之該寫碼狀態之一經更新版本以用於編碼該序列符號中之下一符號,以及
在繼續該位元串流的情況下重正規化(105)界定該寫碼狀態之編碼器內部參數,
向該位元串流提供(106)進入點資訊,從而允許自一預定進入點向前恢復對該位元串流之算術解碼。
75. 如實施例74之方法,其中該進入點資訊包含關於一算術解碼器之一寫碼狀態之資訊,當該算術解碼器對該位元串流進行解碼直至該預定進入點時,該寫碼狀態出現於該算術解碼器中。
76. 如實施例75之方法,其進一步包含執行對該位元串流之該算術解碼以便判定關於該算術解碼器之該寫碼狀態的該資訊。
77. 如實施例75至76中任一項之方法,其中該算術解碼器之該寫碼狀態由解碼器內部參數界定,該等解碼器內部參數包括指示該區間之一寬度的一區間寬度參數及指向該區間中之一指標,且關於該算術解碼器之該寫碼狀態的該資訊包含該指標之一值。
78. 如實施例77之方法,其進一步包含執行對該位元串流之該算術解碼,且將由關於該算術解碼器之該寫碼狀態之該資訊包含之該指標的該值設定為等於如在對該位元串流之該算術解碼直至該預定進入點處時該指標自身所表現之一當前值。
79. 如實施例75至76中任一項之方法,其中該算術解碼器之該寫碼狀態由解碼器內部參數界定,該等解碼器內部參數包括指示該區間之一寬度的一區間寬度參數及指向該區間中之一指標,且關於該算術解碼器之該寫碼狀態的該資訊包含該區間寬度參數之一值。
80. 如實施例79之方法,其進一步包含
執行對該位元串流之該算術解碼,且將由關於該算術解碼器之該寫碼狀態之該資訊包含的該區間寬度參數之該值設定為等於如在對該位元串流之該算術解碼直至該預定進入點處時該區間寬度參數自身所表現之一當前值,或
將由關於該算術解碼器之該寫碼狀態之該資訊包含之該區間寬度參數的該值設定為等於如在對該序列符號之該算術編碼直至該預定進入點處時該區間寬度參數自身所表現之一當前值。
81. 如實施例75至76中任一項之方法,其中該算術解碼器之該寫碼狀態由解碼器內部參數界定,該等解碼器內部參數包括指示該區間之一寬度的一區間寬度參數及指向該區間中之一指標,且關於該算術解碼器之該寫碼狀態的該資訊包含該指標之一值,而不含該區間寬度參數之一值,其中該方法進一步包含
將由關於該算術解碼器之該寫碼狀態之該資訊包含之該區間寬度參數的該值設定為等於一預定值,且在自該預定進入點向前恢復對該序列符號之該算術編碼時使用該區間寬度參數之該預定值,或
藉由對緊接該預定進入點之前的具有一預定符號值之一符號進行算術編碼,隨後自該預定進入點向前恢復對該序列符號之該算術編碼來初步中斷對該序列符號之該算術編碼,且將由關於該算術解碼器之該寫碼狀態之該資訊包含之該區間寬度參數的該值設定為等於如在對該序列符號之該算術編碼直至該預定進入點處時該區間寬度參數自身所表現之一當前值,該序列符號包括具有該預定符號值之該符號。
82. 如實施例74至81中任一項之方法,其中該進入點資訊包含指向該位元串流中之一預定位元的一位元串流指標,該預定位元待在自該預定進入點向前恢復對該位元串流之該算術解碼之後接下來被讀取。
83. 如實施例82之方法,其中指向該位元串流中之該預定位元的該位元串流指標係以相對於該位元串流之一開始的一偏移之形式在該位元串流中傳信。
84. 如實施例82之方法,其中指向該位元串流中之該預定位元的該位元串流指標係以相對於該位元串流之一連串前導位元的一尾端之一偏移的形式在該位元串流中傳信,用於執行對該位元串流之該算術解碼的一算術解碼器之一寫碼狀態將基於該偏移而初始化。
85. 如實施例82之方法,其中該進入點資訊允許自多於一個進入點向前恢復對該位元串流之算術解碼,且指向該位元串流中之該預定位元的該位元串流指標係以相對於一先前進入點或相對於與該預定進入點相關聯的一預定義位元串流位置之一偏移的形式在該位元串流中傳信。
86. 如實施例85之方法,其包含將該預定義位元串流位置作為該序列值中之連續值之間的一點或藉由對該位元串流之位元進行計數而定位。
87. 如實施例85之方法,其中指向該位元串流中之該預定位元的該位元串流指標係以如下單位儲存
位元,及/或
位元之整數n倍,其中n>1,且例如n=8。
88. 如實施例85之方法,其中具有該先前進入點之該位元串流中之一位元位置係在該位元串流中傳信。
89. 如實施例85至88中任一項之方法,其中該位元串流指標相對於由該進入點資訊包含的用於指向該位元串流中之另一預定位元的另一位元串流指標以不同方式在該位元串流中傳信,該另一預定位元待在自一先前進入點向前恢復對該位元串流之該算術解碼之後接下來被讀取。
90. 如實施例82至89中任一項之方法,其中該位元串流指標係使用一可變長度碼在該位元串流中傳信。
91. 如實施例82至90中任一項之方法,其中該位元串流指標係使用一指數哥倫布碼,較佳一無正負號指數哥倫布碼在該位元串流中傳信。
92. 如實施例82至91中任一項之方法,其中該預定進入點為一第三進入點或相對於該位元串流之該開始在該第三進入點之後的進入點中之任一者,且指向該位元串流中之該預定位元的該位元串流指標係以相對於該先前進入點之該偏移與該先前進入點相對於在該先前進入點之前的另一進入點之一偏移之間的一差的形式在該位元串流中傳信。
93. 如實施例92之方法,其中該位元串流指標係使用一帶正負號指數哥倫布碼在該位元串流中傳信。
94. 如實施例92至93中任一項之方法,其中具有該先前進入點之該位元串流中之該位元位置係使用一無正負號指數哥倫布碼在該位元串流中傳信。
95. 如實施例94之方法,其中用於該指數哥倫布碼之一指數哥倫布碼參數為一值11。
96. 如實施例92至95中任一項之方法,其中該位元串流指標係使用一帶正負號指數哥倫布碼在該位元串流中傳信。
97. 如實施例96之方法,其中用於該指數哥倫布碼之一指數哥倫布碼參數為一值7。
98. 一種自一位元串流算術地解碼一序列資訊值之方法(200),其包含:
自該位元串流導出(201)進入點資訊;
使用該進入點資訊以便藉由藉著以下操作來對於該位元串流之每一符號進行自該位元串流算術地解碼一序列符號而自一預定進入點向前恢復對該位元串流之算術解碼:
判定(203)一算術解碼器之一寫碼狀態之一當前版本、一當前區間根據該各別符號之一機率估計值細分成的多個子區間中的一子區間,且基於該所選子區間推斷(204)該各別符號之一符號值,以及
藉由使用該位元串流及該所選子區間重正規化且更新(205)界定該寫碼狀態之解碼器內部參數,以便獲得該算術解碼器之該寫碼狀態的一經更新版本以用於解碼該序列符號中之下一符號,以及
藉由去符號化自該序列符號導出(206)該等資訊值。
99. 如實施例98之方法,其進一步包含使用該進入點資訊以便判定該算術解碼器之該寫碼狀態的一起始版本,且使用該起始狀態用於開始自該預定進入點向前算術地解碼該位元串流。
100. 如實施例98或99中任一項之方法,其中該算術解碼器之該寫碼狀態係由該等解碼器內部參數界定,該等解碼器內部參數包括指示該區間之一寬度的一區間寬度參數及指向該區間中之一指標,且該方法進一步包含自該進入點資訊導出該指標之一起始值,使用該值開始自該預定進入點向前算術地解碼該位元串流。
101. 如實施例98至100中任一項之方法,其中該算術解碼器之該寫碼狀態係由該等解碼器內部參數界定,該等解碼器內部參數包括指示該區間之一寬度的一區間寬度參數及指向該區間中之一指標,且該方法進一步包含自該進入點資訊導出該區間寬度參數之一起始值,使用該值開始自該預定進入點向前算術地解碼該位元串流。
102. 如實施例98至100中任一項之方法,其中該算術解碼器之該寫碼狀態係由該等解碼器內部參數界定,該等解碼器內部參數包括指示該區間之一寬度的一區間寬度參數及指向該區間中之一指標,且該方法進一步包含:
自該進入點資訊導出該指標之一起始值,使用該值開始自該預定進入點向前算術地解碼該位元串流,以及
將由關於該算術解碼器之該寫碼狀態之該資訊包含之該區間寬度參數的該值設定為等於一預定值,且對於該區間寬度參數使用該預定值來恢復自該預定進入點向前對該序列符號之該算術解碼。
103. 如實施例102之方法,其中該進入點資訊允許自多於一個進入點向前恢復對該位元串流之算術解碼,且該方法進一步包含
藉由對緊接一後續預定進入點之前的具有一預定符號值之一符號進行算術解碼,隨後自該後續預定進入點向前恢復對該序列符號之該算術編碼來初步中斷在該後續預定進入點處對該序列符號之該算術解碼。
104. 如實施例98至103中任一項之方法,其進一步包含自該進入點資訊導出指向該位元串流中的一預定位元之一位元串流指標,且使用該預定位元作為在自該預定進入點向前恢復對該位元串流之該算術解碼之後接下來將讀取的一位元。
105. 如實施例104之方法,其中指向該位元串流中之該預定位元的該位元串流指標係以相對於該位元串流之一開始的一偏移之形式在該位元串流中傳信。
106. 如實施例104之方法,其中指向該位元串流中之該預定位元的該位元串流指標係以相對於以下者的一偏移之形式在該位元串流中傳信:
該位元串流之一連串前導位元的一尾端,該方法基於該偏移而在自該位元串流之該開始向前執行對該位元串流之該算術解碼的情況下進一步初始化該算術解碼器之該寫碼狀態。
107. 如實施例104之方法,其中該進入點資訊允許自多於一個進入點向前恢復對該位元串流之算術解碼,且指向該位元串流中之該預定位元的該位元串流指標係以相對於一先前進入點或相對於與該預定進入點相關聯的一預定義位元串流位置之一偏移的形式在該位元串流中傳信。
108. 如實施例107之方法,其包含將該預定義位元串流位置作為該序列值中之連續值之間的一點或藉由對該位元串流之位元進行計數而定位。
109. 如實施例107之方法,其中指向該位元串流中之該預定位元的該位元串流指標係以如下單位儲存
位元,及/或
位元之整數n倍,其中n>1,且例如n=8。
110. 如實施例107之方法,其中具有該先前進入點之該位元串流中之一位元位置係在該位元串流中傳信。
111. 如實施例104至110中任一項之方法,其中該位元串流指標相對於由該進入點資訊包含的用於指向該位元串流中之另一預定位元的另一位元串流指標以不同方式在該位元串流中傳信,該另一預定位元待在自一先前進入點向前恢復對該位元串流之該算術解碼之後接下來被讀取。
112. 如實施例104至111中任一項之方法,其中該位元串流指標係使用一可變長度碼在該位元串流中傳信。
113. 如實施例104至112中任一項之方法,其中該位元串流指標係使用一指數哥倫布碼,較佳一無正負號指數哥倫布碼在該位元串流中傳信。
114. 如實施例104至113中任一項之方法,其中該預定進入點為一第三進入點或相對於該位元串流之該開始在該第三進入點之後的進入點中之任一者,且指向該位元串流中之該預定位元的該位元串流指標係以相對於該先前進入點之該偏移與該先前進入點相對於在該先前進入點之前的另一進入點之一偏移之間的一差的形式在該位元串流中傳信。
115. 如實施例114之方法,其中該位元串流指標係使用一帶正負號指數哥倫布碼在該位元串流中傳信。
116. 如實施例114至115中任一項之方法,其中具有該先前進入點之該位元串流中之該位元位置係使用一無正負號指數哥倫布碼在該位元串流中傳信。
117. 如實施例116之方法,其中用於該指數哥倫布碼之一指數哥倫布碼參數為一值11。
118. 如實施例114至117中任一項之方法,其中該位元串流指標係使用一帶正負號指數哥倫布碼在該位元串流中傳信。
119. 如實施例118之方法,其中用於該指數哥倫布碼之一指數哥倫布碼參數為一值7。
120. 如實施例98至119中任一項之方法,其進一步包含
使用上下文自適應性算術解碼用於對該序列符號進行算術解碼,包括:對於該序列符號中之一上下文自適應性解碼符號,自多個上下文模型中選擇一上下文模型,該等多個上下文模型中之每一者具有與其相關聯之一機率估計值;以及使用該序列符號中之先前經解碼符號依據實際符號統計量調適該等多個上下文模型之該等機率估計值,
其中該進入點資訊對於一組一或多個預定上下文模型中之每一者指示該各別預定上下文模型之一預定機率估計值,且該方法進一步包含使用該預定機率估計值來恢復相對於該各別預定上下文模型對該等多個上下文模型之該等機率估計值之該調適。
121. 如實施例98至120中任一項之方法,其進一步包含
使用上下文自適應性算術解碼用於對該序列符號進行算術解碼,包括:對於該序列符號中之一上下文自適應性解碼符號,自多個上下文模型中選擇一上下文模型,該等多個上下文模型中之每一者具有與其相關聯之一機率估計值;以及使用該序列符號中之先前經解碼符號依據實際符號統計量調適該等多個上下文模型之該等機率估計值,
其中該方法進一步包含對於一組一或多個預定上下文模型中之每一者,將該預定進入點處之該各別預定上下文模型的該機率估計值設定為一預設狀態,且該方法進一步包含使用該預設狀態來恢復相對於該各別預定上下文模型對該等多個上下文模型之該等機率估計值之該調適。
122. 如實施例121之方法,其中該進入點資訊允許自多於一個進入點向前恢復對該位元串流之算術解碼,且該方法進一步包含
對於該組一或多個預定上下文模型中之每一者,將一後續預定進入點處的該各別預定上下文模型之該機率估計值設定為其自身在對在該後續預定進入點之前的該序列符號進行算術解碼期間在一預定條件下所表現的一儲存狀態,且該方法進一步包含使用該儲存狀態來恢復相對於該各別預定上下文模型自該後續預定進入點向前對該等多個上下文模型之該等機率估計值之該調適。
123. 如實施例98至122中任一項之方法,其進一步包含:
使用相依去量化於使用一狀態機自該序列資訊值導出一序列經量化值,
自該進入點資訊導出一量化狀態,該相依量化自該量化狀態開始自該預定進入點向前恢復。
124. 如實施例98至123中任一項之方法,其中該等符號為二進數,且該去符號化為一去二進位化。
125. 如實施例98至124中任一項之方法,其中該等資訊值為表示一視訊之一序列語法元素。
126. 如實施例98至124中任一項之方法,其中該等資訊值為神經網路參數。
127. 一種用於將神經網路參數算術地編碼為一位元串流之算術編碼器,其經組配以:
藉由符號化自該等神經網路參數導出一序列符號;
藉由使用上下文自適應性算術編碼將該序列符號算術地編碼為該位元串流,包括:對於該序列符號中之一上下文自適應性編碼符號,選擇多個上下文模型中之一上下文模型,該等多個上下文模型中之每一者具有與其相關聯的一機率估計值;以及使用該所選上下文模型對該上下文自適應性編碼符號進行算術編碼;以及使用該序列符號中之先前經編碼符號依據實際符號統計量調適該等多個上下文模型之該等機率估計值,
在該等位元串流之開始處及/或在該位元串流內之一或多個進入點處,對於一組一或多個上下文模型中之每一者,根據在該位元串流中傳信之上下文模型資訊初始化與該各別上下文模型相關聯之該機率估計值。
128. 如實施例127之算術編碼器,其經組配以
藉由以下操作使用該序列符號中之先前經編碼符號依據實際符號統計量調適該等多個上下文模型之該等機率估計值:
對於每一上下文模型,基於該序列符號中已針對其選擇該各別上下文模型之先前上下文自適應性編碼符號產生與該各別上下文模型相關聯之該機率估計值。
129. 如實施例127或128之算術編碼器,其經組配以
使用該序列符號中之先前經編碼符號依據實際符號統計量調適該等多個上下文模型之該等機率估計值,具體係藉由以可由一第一靈敏度參數控制之一第一調適靈敏度適應於該等實際符號統計量之一方式導出該等機率估計值之一第一假設,
在該位元串流之該開始處及/或在該位元串流內之一或多個進入點處,對於該組一或多個上下文模型中之每一者,根據在該位元串流中傳信之該上下文模型資訊設定與該各別上下文模型相關聯之該第一假設及該第一靈敏度參數。
130. 如實施例127之算術編碼器,其經組配以
使用該序列符號中之先前經編碼符號依據實際符號統計量調適該等多個上下文模型之該等機率估計值,具體係藉由以可由一第二靈敏度參數控制之一第二調適靈敏度適應於該等實際符號統計量之一方式導出該等機率估計值之一第二假設且形成該第一假設與該第二假設之一平均值,
在該位元串流之開始處及/或在該位元串流內的一或多個進入點處,對於該組一或多個上下文模型中之每一者,根據在該位元串流中傳信之該上下文模型資訊設定與該各別上下文模型相關聯之該第二假設及該第二靈敏度參數。
131. 如實施例130之算術編碼器,其中該位元串流中的該上下文模型資訊包含用於界定該第一假設及該第二假設以及該第一靈敏度參數及該第二靈敏度參數的值四元組之一表的一表項索引,且該算術編碼器經組配以使用該表項索引以便選擇該表之一個四元組且使用該一個四元組以便設定該第一假設及該第二假設以及該第一靈敏度參數及該第二靈敏度參數。
132. 如實施例130之算術編碼器,其中用於界定該第一假設及該第二假設以及該第一靈敏度參數及該第二靈敏度參數的值四元組之一數目介於8與10之間,包括8及10。
133. 如實施例131及132中任一項之算術編碼器,其中用於界定該第一假設及該第二假設以及該第一靈敏度參數及該第二靈敏度參數的該等值四元組對應於用於該第一靈敏度參數及該第二靈敏度參數之3個、4個或5個相互可區分設定中之一者。
134. 如實施例131至133中任一項之算術編碼器,其中用於界定該第一假設及該第二假設以及該第一靈敏度參數及該第二靈敏度參數的該等值四元組包含
第一3個四元組,根據所有該等四元組,該第一靈敏度參數設定為一第一值,該第二靈敏度參數設定為一第二值,其對應於比該第一值低之調適靈敏度,且根據該等四元組中之一第一者,該第一假設與該第二假設對應於等機率,根據該等四元組中之一第二者,該第一假設與該第二假設對應於一第一二進數值比一第二二進數值機率大,且根據該等四元組中之一第三者,該第一假設與該第二假設對應於該第二二進數值比該第一二進數值機率大,
第二3個四元組,根據所有該等四元組,該第一靈敏度參數設定為一第三值,其對應於比該第一值低之調適靈敏度且比該第二值大之調適靈敏度,且該第二靈敏度參數設定為一第四值,其對應於比該第二值低之調適靈敏度,且根據該等四元組中之一第一者及第二者,該第一假設與該第二假設對應於該第一二進數值比該第二二進數值機率大,且根據該等四元組中之一第三者,該第一假設與該第二假設對應於該第二二進數值比該第一二進數值機率大,
2個四元組,根據所有該等四元組,該第一靈敏度參數設定為一第四值,其對應於比該第三值低之調適靈敏度及比該第二值大之調適靈敏度,且該第二靈敏度參數設定為一第六值,其對應於比該第二值低之調適靈敏度及比該第四值大之調適靈敏度,且根據該等四元組中之一第一者,該第一假設與該第二假設對應於等機率,且根據該等四元組中之一第二者,該第一假設與該第二假設對應於該第一二進數值比該第二二進數值機率大,
1個四元組,根據該四元組,該第一靈敏度參數設定為一第七值,其對應於比該第一值大之調適靈敏度,且根據該四元組,該第一假設與該第二假設對應於等機率。
135. 如實施例130至134中任一項之算術編碼器,其中該等符號為二進數,且該符號化為一二進位化,且該算術編碼器經組配以
使用該序列符號中之先前經編碼符號依據實際符號統計量調適該等多個上下文模型之該等機率估計值,具體係藉由對於該第一假設及該第二假設中之每一者,
分別藉助於一帶正負號整數表示該各別假設,該帶正負號整數在為零時指示等機率,在大於零時指示一第一二進數值比一第二二進數值機率大,且在低於零時指示該第二二進數比該第一二進數值機率大,
對於每一上下文模型,若一當前編碼之二進數具有該第一二進數值,則增大該帶正負號整數,且若一當前編碼之二進數具有該第二二進數值,則減小該帶正負號整數,增大或減小之一量相對於該第一假設由該第一靈敏度參數控制,且相對於該第二假設由該第二靈敏度參數控制,以使得該量愈大,該第一靈敏度參數及該第二靈敏度參數分別愈小,
其中該等機率估計值係藉由該第一帶正負號整數與該第二帶正負號整數之一平均值判定。
136. 如實施例135之算術編碼器,其經組配以藉由使用一轉換表來判定該增大及減小之該量。
137. 如實施例136之算術編碼器,其經組配以對於該第一假設與該第二假設使用相同轉換表。
138. 如實施例136或137之算術編碼器,其經組配以藉由使用該轉換表判定該增大及減小之該量,具體係藉由在由藉由該帶正負號整數判定之一表索引索引的一條目處查找該轉換表以獲得一轉換步長且將轉換步長大小除以2的一冪,該冪取決於各別之該第一調適參數及該第二調適參數,其中該轉換步長判定該量。
139. 如實施例136或137之算術編碼器,其中該帶正負號整數由具有n個位元之一2補數表示法表示,其中n對於該第二假設比對於該第一假設大,其中該算術編碼器經組配以藉由使用該轉換表判定該增大及減小之該量,具體係藉由在由該帶正負號整數除以2
n-m(一方面)及2
m-1(另一方面)之一總和索引的一條目處查找該轉換表,以便獲得一轉換步長,將該轉換步長大小除以2的一冪,該冪線性地仿射、取決於各別的該第一調適參數及該第二調適參數,其中該轉換步長判定該量。
140. 如實施例139之算術編碼器,其中儲存於該轉換表之條目中的該等轉換步長單調地增大或減小。
141. 一種具有一程式碼之電腦程式,該程式碼當在一電腦上執行時用於執行如實施例74至126中任一項之方法。
142. 一種使用如實施例1至30、127至140中任一項之一算術編碼器產生的位元串流。
100,200:方法
101,102,103,104,105,106,201,202,203,204,205,206:步驟
下文基於諸圖來闡明本申請案之較佳實施例,在諸圖中:
圖1展示根據一實施例的用於編碼之方法100之流程圖;
圖2展示根據一實施例的用於解碼之方法200之流程圖;
圖3展示根據實施例之在編碼及解碼算術位元串流期間出現之編碼及解碼參數之示意性表示,其中說明關於可傳信為位元串流中之進入點資訊之內容的不同可能性。
100:方法
101,102,103,104,105,106:步驟
Claims (138)
- 一種用於將一序列資訊值算術地編碼為一算術寫碼位元串流之算術編碼器,其經組配以:將該等資訊值符號化為符號串,以便獲得一序列符號;藉由對於每一符號進行以下操作來算術地編碼該序列符號:根據各別符號之一符號值選擇界定該算術編碼器之一寫碼狀態的一當前版本之一當前區間根據該各別符號之一機率估計值細分成的多個子區間中的一子區間,以便獲得由該所選子區間界定的該算術編碼器之該寫碼狀態之一經更新版本以用於編碼該序列符號中之一下一符號,以及在繼續該位元串流的情況下重正規化界定該寫碼狀態之編碼器內部參數,向該位元串流提供進入點資訊,從而允許自一預定進入點向前恢復對該位元串流之算術解碼,其中該進入點資訊包含關於一算術解碼器之一寫碼狀態之資訊,當該算術解碼器對該位元串流進行解碼直至該預定進入點時,該寫碼狀態出現於該算術解碼器中。
- 如請求項1之算術編碼器,其中該算術編碼器經組配以執行對該位元串流之該算術解碼以便判定關於該算術解碼器之該寫碼狀態的該資訊。
- 如請求項1之算術編碼器,其中該算術解碼器之該寫碼狀態由解碼器內部參數界定,該等解碼器內部參數包括指示該區間之一寬度的一區間寬度參數及指向該區間中之一指標,且關於該算術解碼器之該寫碼狀態的該資訊包含該指標之一值。
- 如請求項3之算術編碼器,其中該算術編碼器經組配以執行 對該位元串流之該算術解碼,且將由關於該算術解碼器之該寫碼狀態之該資訊包含之該指標的該值設定為等於如在對該位元串流之該算術解碼直至該預定進入點處時該指標自身所表現之一當前值。
- 如請求項1之算術編碼器,其中該算術解碼器之該寫碼狀態由解碼器內部參數界定,該等解碼器內部參數包括指示該區間之一寬度的一區間寬度參數及指向該區間中之一指標,且關於該算術解碼器之該寫碼狀態的該資訊包含該區間寬度參數之一值。
- 如請求項5之算術編碼器,其中該算術編碼器經組配以執行對該位元串流之該算術解碼,且將由關於該算術解碼器之該寫碼狀態之該資訊包含的該區間寬度參數之該值設定為等於如在對該位元串流之該算術解碼直至該預定進入點處時該區間寬度參數自身所表現之一當前值,或將由關於該算術解碼器之該寫碼狀態之該資訊包含之該區間寬度參數的該值設定為等於如在對該序列符號之該算術編碼直至該預定進入點處時該區間寬度參數自身所表現之一當前值。
- 如請求項1之算術編碼器,其中該算術解碼器之該寫碼狀態由解碼器內部參數界定,該等解碼器內部參數包括指示該區間之一寬度的一區間寬度參數及指向該區間中之一指標,且關於該算術解碼器之該寫碼狀態的該資訊包含該指標之一值,例如該值由該預定進入點處之該指標採用,而不含該區間寬度參數之值,其中該算術編碼器經組配以將由關於該算術解碼器之該寫碼狀態之該資訊包含之該區間寬度參數的該值設定為等於一預定值,且在自該預定進入點向前恢復對該序列符號之該算術編碼時使用該區間寬度參數之該預定值,或在自該預定進入點向前恢復對該序列符號之該算術編碼之前藉由對緊接於該預定進入點前方的具有一預定符號值之一符號進行算術編碼來初步中斷對該 序列符號之該算術編碼,且將由關於該算術解碼器之該寫碼狀態之該資訊包含之該區間寬度參數的該值設定為等於如在對該序列符號之該算術編碼,包括具有該預定符號值之該符號,直至該預定進入點處時該區間寬度參數自身所表現之一當前值。
- 如請求項1之算術編碼器,其中該進入點資訊包含指向該位元串流中之一預定位元的一位元串流指標,該預定位元待在自該預定進入點向前恢復對該位元串流之該算術解碼之後接下來被讀取。
- 如請求項8之算術編碼器,其中指向該位元串流中之該預定位元的該位元串流指標係以相對於該位元串流之一開始的一偏移之形式在該位元串流中傳信。
- 如請求項8之算術編碼器,其中指向該位元串流中之該預定位元的該位元串流指標係以相對於該位元串流之一連串前導位元的一尾端之一偏移的形式在該位元串流中傳信,用於執行對該位元串流之該算術解碼的該算術解碼器之一寫碼狀態將基於該偏移而初始化。
- 如請求項8之算術編碼器,其中該進入點資訊允許自多於一個進入點向前恢復對該位元串流之算術解碼,且指向該位元串流中之該預定位元的該位元串流指標係以相對於一先前進入點或相對於與該預定進入點相關聯的一預定義位元串流位置之一偏移的形式在該位元串流中傳信。
- 如請求項11之算術編碼器,其經組配以定位該預定義位元串流位置作為該序列值中之連續值之間的一點或藉由對該位元串流之位元進行計數而定位該預定義位元串流位置。
- 如請求項11之算術編碼器,其中指向該位元串流中之該預定位元的該位元串流指標係以如下單位儲存:位元,及/或 位元之整數n倍,其中例如n>1,且n=8。
- 如請求項11之算術編碼器,其中該先前進入點在該位元串流中之一位元位置係在該位元串流中傳信。
- 如請求項11之算術編碼器,其中該位元串流指標相對於由該進入點資訊包含的用於指向該位元串流中之另一預定位元的另一位元串流指標以不同方式在該位元串流中傳信,該另一預定位元待在自一先前進入點向前恢復對該位元串流之該算術解碼之後接下來被讀取。
- 如請求項8之算術編碼器,其中該位元串流指標係使用一可變長度碼在該位元串流中傳信。
- 如請求項8之算術編碼器,其中該位元串流指標係使用一指數哥倫布碼,較佳一無正負號指數哥倫布碼在該位元串流中傳信。
- 如請求項8之算術編碼器,其中該預定進入點為一第三進入點或相對於該位元串流之該開始在該第三進入點之後的進入點中之任一者,且指向該位元串流中之該預定位元的該位元串流指標係以相對於該先前進入點之該偏移與該先前進入點相對於在該先前進入點之前的另一進入點之一偏移之間的一差的形式在該位元串流中傳信。
- 如請求項18之算術編碼器,其中該位元串流指標係使用一帶正負號指數哥倫布碼在該位元串流中傳信。
- 如請求項18之算術編碼器,其中該先前進入點在該位元串流中之該位元位置係使用一無正負號指數哥倫布碼在該位元串流中傳信。
- 如請求項20之算術編碼器,其中用於該指數哥倫布碼之一指數哥倫布碼參數為一值11。
- 如請求項18之算術編碼器,其中該位元串流指標係使用一帶正負號指數哥倫布碼在該位元串流中傳信。
- 如請求項22之算術編碼器,其中用於該指數哥倫布碼之一指數哥倫布碼參數為一值7。
- 如請求項1之算術編碼器,其中該算術編碼器經組配以使用上下文自適應性算術寫碼對該序列符號進行算術編碼,包括:對於該序列符號中之一上下文自適應性編碼符號,自多個上下文模型中選擇一上下文模型,該等多個上下文模型中之每一者具有與其相關聯之一機率估計值;以及使用該序列符號中之先前經編碼符號使該等多個上下文模型之該等機率估計值適應於實際符號統計量,其中該進入點資訊對於一組一或多個預定上下文模型中之每一者指示該各別預定上下文模型之一預定機率估計值,且該算術編碼器經組配以使用該預定機率估計值來恢復相對於該各別預定上下文模型對該等多個上下文模型之該等機率估計值之該適應。
- 如請求項1之算術編碼器,其中該算術編碼器經組配以使用上下文自適應性算術寫碼對該序列符號進行算術編碼,包括:對於該序列符號中之一上下文自適應性編碼符號,自多個上下文模型中選擇一上下文模型,該等多個上下文模型中之每一者具有與其相關聯之一機率估計值;以及使用該序列符號中之先前經編碼符號使該等多個上下文模型之該等機率估計值適應於實際符號統計量,其中該算術編碼器經組配以對於一組一或多個預定上下文模型中之每一者將該預定進入點處之該各別預定上下文模型的該機率估計值設定為一預設狀態,且該算術編碼器經組配以使用該預設狀態來恢復相對於該各別預定上下文模型對該等多個上下文模型之該等機率估計值之該適應,或其中該算術編碼器經組配以對於一組一或多個預定上下文模型中之每一者將該預定進入點處的該各別預定上下文模型之該機率估計值設定為其自身在對 在該預定進入點前方的該序列符號進行算術編碼期間在一預定條件下所表現的一儲存狀態,且該算術編碼器經組配以使用該儲存狀態來恢復相對於該各別預定上下文模型對該等多個上下文模型之該等機率估計值之該適應。
- 如請求項1之算術編碼器,其中該算術編碼器經組配以使用相依量化於使用狀態機自一序列未量化值導出該序列資訊值,其中該進入點資訊包含其自身在該狀態機中直至該預定進入點所表現出之一量化狀態。
- 如請求項1之算術編碼器,其中該等符號為二進數,且該符號化為一二進位化。
- 如請求項1之算術編碼器,其中該等資訊值為表示一視訊之一序列語法元素。
- 如請求項1之算術編碼器,其中該等資訊值為神經網路參數。
- 一種用於自一位元串流算術地解碼一序列資訊值之算術解碼器,其經組配以:自該位元串流導出進入點資訊;使用該進入點資訊以便藉由藉著以下操作來對於該位元串流之每一符號進行自該位元串流算術地解碼一序列符號而自一預定進入點向前恢復對該位元串流之算術解碼:基於該算術解碼器之一寫碼狀態之一當前版本判定一當前區間根據各別符號之一機率估計值細分成的多個子區間中的一子區間,且基於該所選子區間推斷該各別符號之一符號值,以及藉由使用該位元串流及該所選子區間重正規化且更新界定該寫碼狀態之解碼器內部參數,以便獲得該算術解碼器之該寫碼狀態的一經更新版本以用於解碼該序列符號中之下一符號,以及 藉由去符號化自該序列符號導出該等資訊值,其中,該算術解碼器經組配以使用該進入點資訊以便判定該算術解碼器之該寫碼狀態的一起始版本,且使用該起始狀態用於開始自該預定進入點向前算術地解碼該位元串流。
- 如請求項30之算術解碼器,其中該算術解碼器之該寫碼狀態係由該等解碼器內部參數界定,該等解碼器內部參數包括指示該區間之一寬度的一區間寬度參數及指向該區間中之一指標,且該算術解碼器經組配以自該進入點資訊導出該指標之一起始值,使用該起始值開始自該預定進入點向前算術地解碼該位元串流。
- 如請求項30之算術解碼器,其中該算術解碼器之該寫碼狀態係由該等解碼器內部參數界定,該等解碼器內部參數包括指示該區間之一寬度的一區間寬度參數及指向該區間中之一指標,且該算術解碼器經組配以自該進入點資訊導出該區間寬度參數之一起始值,使用該起始值開始自該預定進入點向前算術地解碼該位元串流。
- 如請求項30之算術解碼器,其中該算術解碼器之該寫碼狀態係由該等解碼器內部參數界定,該等解碼器內部參數包括指示該區間之一寬度的一區間寬度參數及指向該區間中之一指標,且該算術解碼器經組配以自該進入點資訊導出該指標之一起始值,使用該起始值開始自該預定進入點向前算術地解碼該位元串流,以及將由關於該算術解碼器之該寫碼狀態之該資訊包含之該區間寬度參數的該值設定為等於一預定值,且對於該區間寬度參數使用該預定值來恢復自該預定進入點向前對該序列符號之該算術解碼。
- 如請求項33之算術解碼器,其中該進入點資訊允許自多於一個進入點向前恢復對該位元串流之算術解碼,且該算術解碼器經組配以 在自一後續預定進入點向前恢復對該序列符號之該算術編碼之前藉由對緊接於該後續預定進入點前方的具有一預定符號值之一符號進行算術解碼來初步中斷在該後續預定進入點處對該序列符號之該算術解碼。
- 如請求項30之算術解碼器,其經組配以自該進入點資訊導出指向該位元串流中的一預定位元之一位元串流指標,且使用該預定位元作為在自該預定進入點向前恢復對該位元串流之該算術解碼之後接下來將讀取的一位元。
- 如請求項35之算術解碼器,其中指向該位元串流中之該預定位元的該位元串流指標係以相對於該位元串流之一開始的一偏移之形式在該位元串流中傳信。
- 如請求項35之算術解碼器,其中指向該位元串流中之該預定位元的該位元串流指標係以相對於以下者的一偏移之形式在該位元串流中傳信:該位元串流之一連串前導位元的一尾端,該算術解碼器經組配以基於該偏移而在自該位元串流之該開始向前執行對該位元串流之該算術解碼的情況下初始化該算術解碼器之該寫碼狀態。
- 如請求項35之算術解碼器,其中該進入點資訊允許自多於一個進入點向前恢復對該位元串流之算術解碼,且指向該位元串流中之該預定位元的該位元串流指標係以相對於一先前進入點或相對於與該預定進入點相關聯的一預定義位元串流位置之一偏移的形式在該位元串流中傳信。
- 如請求項38之算術解碼器,其經組配以定位該預定義位元串流位置作為該序列值中之連續值之間的一點或藉由對該位元串流之位元進行計數而定位該預定義位元串流位置。
- 如請求項38之算術解碼器,其中指向該位元串流中之該預定 位元的該位元串流指標係以如下單位儲存:位元,及/或位元之整數n倍,其中例如n>1,且n=8。
- 如請求項40之算術解碼器,其中該先前進入點在該位元串流中之一位元位置係在該位元串流中傳信。
- 如請求項38之算術解碼器,其中該位元串流指標相對於由該進入點資訊包含的用於指向該位元串流中之另一預定位元的另一位元串流指標以不同方式在該位元串流中傳信,該另一預定位元待在自一先前進入點向前恢復對該位元串流之該算術解碼之後接下來被讀取。
- 如請求項35之算術解碼器,其中該位元串流指標係使用一可變長度碼在該位元串流中傳信。
- 如請求項35之算術解碼器,其中該位元串流指標係使用一指數哥倫布碼,較佳一無正負號指數哥倫布碼在該位元串流中傳信。
- 如請求項35之算術解碼器,其中該預定進入點為一第三進入點或相對於該位元串流之該開始在該第三進入點之後的進入點中之任一者,且指向該位元串流中之該預定位元的該位元串流指標係以相對於該先前進入點之該偏移與該先前進入點相對於在該先前進入點之前的另一進入點之一偏移之間的一差的形式在該位元串流中傳信。
- 如請求項45之算術解碼器,其中該位元串流指標係使用一帶正負號指數哥倫布碼在該位元串流中傳信。
- 如請求項45之算術解碼器,其中該先前進入點在該位元串流中之該位元位置係使用一無正負號指數哥倫布碼在該位元串流中傳信。
- 如請求項47之算術解碼器,其中用於該指數哥倫布碼之一指數哥倫布碼參數為一值11。
- 如請求項45之算術解碼器,其中該位元串流指標係使用一帶正負號指數哥倫布碼在該位元串流中傳信。
- 如請求項49之算術解碼器,其中用於該指數哥倫布碼之一指數哥倫布碼參數為一值7。
- 如請求項30之算術解碼器,其中該算術解碼器經組配以使用上下文自適應性算術解碼對該序列符號進行算術解碼,包括:對於該序列符號中之一上下文自適應性解碼符號,自多個上下文模型中選擇一上下文模型,該等多個上下文模型中之每一者具有與其相關聯之一機率估計值;以及使用該序列符號中之先前經解碼符號使該等多個上下文模型之該等機率估計值適應於實際符號統計量,其中該進入點資訊對於一組一或多個預定上下文模型中之每一者指示該各別預定上下文模型之一預定機率估計值,且該算術解碼器經組配以使用該預定機率估計值來恢復相對於該各別預定上下文模型對該等多個上下文模型之該等機率估計值之該適應。
- 如請求項30之算術解碼器,其中該算術解碼器經組配以使用上下文自適應性算術解碼對該序列符號進行算術解碼,包括:對於該序列符號中之一上下文自適應性解碼符號,自多個上下文模型中選擇一上下文模型,該等多個上下文模型中之每一者具有與其相關聯之一機率估計值;以及使用該序列符號中之先前經解碼符號使該等多個上下文模型之該等機率估計值適應於實際符號統計量,其中該算術解碼器經組配以對於一組一或多個預定上下文模型中之每一者將該預定進入點處之該各別預定上下文模型的該機率估計值設定為一預設狀態,且該算術解碼器經組配以使用該預設狀態來恢復相對於該各別預定上下文模型對該等多個上下文模型之該等機率估計值之該適應。
- 如請求項52之算術解碼器,其中該進入點資訊允許自多於一個進入點向前恢復對該位元串流之算術解碼,且該算術解碼器經組配以對於該組一或多個預定上下文模型中之每一者,將一後續預定進入點處的該各別預定上下文模型之該機率估計值設定為其自身在對在該後續預定進入點前方的該序列符號進行算術解碼期間在一預定條件下所表現的一儲存狀態,且該算術解碼器經組配以使用該儲存狀態來恢復相對於該各別預定上下文模型自該後續預定進入點向前對該等多個上下文模型之該等機率估計值之該適應。
- 如請求項30之算術解碼器,其中該算術解碼器經組配以使用相依去量化用於使用一狀態機自該序列資訊值導出一序列經量化值,自該進入點資訊導出一量化狀態,該相依量化自該量化狀態開始自該預定進入點向前恢復。
- 如請求項30之算術解碼器,其中該等符號為二進數,且該去符號化為一去二進位化。
- 如請求項30之算術解碼器,其中該等資訊值為表示一視訊之一序列語法元素。
- 如請求項30之算術解碼器,其中該等資訊值為神經網路參數。
- 一種用於自一位元串流算術地解碼神經網路參數之算術解碼器,其經組配以:藉由使用上下文自適應性算術解碼自該位元串流算術地解碼一序列符號,包括:對於該序列符號中之一上下文自適應性解碼符號,選擇多個上下文模型中之一上下文模型,該等多個上下文模型中之每一者具有與其相關聯的一機率估計值;以及使用該所選上下文模型對該上下文自適應性解碼符號進行算術解碼;以及使用該序列符號中之先前經解碼符號使該等多個上下文模型之該等機率估計值適應於實際符號統計量, 藉由去符號化自該序列符號導出該等神經網路參數,在該等位元串流之開始處及/或在該位元串流內之一或多個進入點處,對於一組一或多個上下文模型中之每一者,基於該位元串流中之上下文模型資訊初始化與該各別上下文模型相關聯之該機率估計值。
- 如請求項58之算術解碼器,其經組配以藉由以下操作使用該序列符號中之先前經解碼符號使該等多個上下文模型之該等機率估計值適應於實際符號統計量:對於每一上下文模型,基於該序列符號中已針對其選擇該各別上下文模型之先前上下文自適應性解碼符號產生與該各別上下文模型相關聯之該機率估計值。
- 如請求項58之算術解碼器,其經組配以使用該序列符號中之先前經解碼符號使該等多個上下文模型之該等機率估計值適應於實際符號統計量,其係藉由以在可由一第一靈敏度參數控制之一第一適應靈敏度下適應於該等實際符號統計量之一方式導出該等機率估計值之一第一假設,在該位元串流之該開始處及/或在該位元串流內之一或多個進入點處,對於該組一或多個上下文模型中之每一者,基於該位元串流中之該上下文模型資訊設定與該各別上下文模型相關聯之該第一假設及該第一靈敏度參數。
- 如請求項60之算術解碼器,其經組配以使用該序列符號中之先前經解碼符號使該等多個上下文模型之該等機率估計值適應於實際符號統計量,其係藉由以在可由一第二靈敏度參數控制之一第二適應靈敏度下適應於該等實際符號統計量之一方式導出該等機率估計值之一第二假設,其中該等機率估計值係藉由該第一假設與該第二假設之一平均值判定; 在該位元串流之該開始處及/或在該位元串流內的一或多個進入點處,對於該組一或多個上下文模型中之每一者,基於該位元串流中之該上下文模型資訊設定與該各別上下文模型相關聯之該第二假設及該第二靈敏度參數。
- 如請求項61之算術解碼器,其中該位元串流中的該上下文模型資訊包含用於界定該第一假設及該第二假設以及該第一靈敏度參數及該第二靈敏度參數的值四元組之一表的一表項索引,且該算術解碼器經組配以使用該表項索引以便選擇該表之一個四元組且使用該一個四元組以便設定該第一假設及該第二假設以及該第一靈敏度參數及該第二靈敏度參數。
- 如請求項62之算術解碼器,其中用於界定該第一假設及該第二假設以及該第一靈敏度參數及該第二靈敏度參數的值四元組之一數目介於8與10之間,包括8及10。
- 如請求項62之算術解碼器,其中用於界定該第一假設及該第二假設以及該第一靈敏度參數及該第二靈敏度參數的該等值四元組對應於用於該第一靈敏度參數及該第二靈敏度參數之3個、4個或5個相互可區分設定中之一者。
- 如請求項62之算術解碼器,其中該等符號為二進數,且該去符號化為一去二進位化,且用於界定該第一假設及該第二假設以及該第一靈敏度參數及該第二靈敏度參數的該等值四元組包含:第一3個四元組,根據所有該等四元組,該第一靈敏度參數設定為一第一值,該第二靈敏度參數設定為一第二值,其對應於比該第一值低之適應靈敏度,且根據該等四元組中之一第一者,該第一假設與該第二假設對應於等機率,根據該等四元組中之一第二者,該第一假設與該第二假設對應於一第一二進數值比一第二二進數值機率大,且根據該等四元組中之一第三者,該第一假設與該第二假設對應於該第二二進數值比該第一二進數值機率大, 第二3個四元組,根據所有該等四元組,該第一靈敏度參數設定為一第三值,其對應於比該第一值低之適應靈敏度且比該第二值大之適應靈敏度,且該第二靈敏度參數設定為一第四值,其對應於比該第二值低之適應靈敏度,且根據該等四元組中之一第一者及第二者,該第一假設與該第二假設對應於該第一二進數值比該第二二進數值機率大,且根據該等四元組中之一第三者,該第一假設與該第二假設對應於該第二二進數值比該第一二進數值機率大,2個四元組,根據所有該等四元組,該第一靈敏度參數設定為一第四值,其對應於比該第三值低之適應靈敏度及比該第二值大之適應靈敏度,且該第二靈敏度參數設定為一第六值,其對應於比該第二值低之適應靈敏度及比該第四值大之適應靈敏度,且根據該等四元組中之一第一者,該第一假設與該第二假設對應於等機率,且根據該等四元組中之一第二者,該第一假設與該第二假設對應於該第一二進數值比該第二二進數值機率大,1個四元組,根據該四元組,該第一靈敏度參數設定為一第七值,其對應於比該第一值大之適應靈敏度,且根據該四元組,該第一假設與該第二假設對應於等機率。
- 如請求項61之算術解碼器,其中該等符號為二進數,且該去符號化為一去二進位化,且該算術解碼器經組配以使用該序列符號中之先前經解碼符號使該等多個上下文模型之該等機率估計值適應於實際符號統計量,其係藉由對於該第一假設及該第二假設中之每一者,分別藉助於一帶正負號整數表示該各別假設,該帶正負號整數在為零時指示等機率,在大於零時指示一第一二進數值比一第二二進數值機率大,且在低於零時指示該第二二進數比該第一二進數值機率大,對於每一上下文模型,若一當前解碼之二進數具有該第一二進數值,則增 大該帶正負號整數,且若一當前解碼之二進數具有該第二二進數值,則減小該帶正負號整數,增大或減小之一量相對於該第一假設由該第一靈敏度參數控制,且相對於該第二假設由該第二靈敏度參數控制,以使得該量愈大,該第一靈敏度參數及該第二靈敏度參數分別愈小,其中該等機率估計值係藉由該第一帶正負號整數與該第二帶正負號整數之一平均值判定。
- 如請求項66之算術解碼器,其經組配以藉由使用一轉換表來判定該增大及減小之該量。
- 如請求項67之算術解碼器,其經組配以對於該第一假設與該第二假設使用相同轉換表。
- 如請求項67之算術解碼器,其經組配以藉由使用該轉換表判定該增大及減小之該量,其係藉由在由藉由該帶正負號整數判定之一表索引索引的一條目處查找該轉換表以獲得一轉換步長且將轉換步長大小除以2的一冪,該冪取決於各別之該第一適應參數及該第二適應參數,其中該轉換步長判定該量。
- 如請求項67之算術解碼器,其中該帶正負號整數由具有n個位元之一2補數表示法表示,其中n對於該第二假設比對於該第一假設大,其中該算術解碼器經組配以藉由使用該轉換表判定該增大及減小之該量,其係藉由在由該帶正負號整數一方面除以2n-m及另一方面除以2m-1之一總和索引的一條目處查找該轉換表,以便獲得一轉換步長,將該轉換步長大小除以2的一冪,該冪線性地仿射、取決於各別的該第一適應參數及該第二適應參數,其中該轉換步長判定該量。
- 如請求項70之算術解碼器,其中儲存於該轉換表之條目中的該等轉換步長單調地增大或減小。
- 一種將一序列資訊值算術地編碼為一算術寫碼位元串流之方法,其包含:將該等資訊值符號化為符號串,以便獲得一序列符號;藉由以下操作算術地編碼該序列符號:對於每一符號根據各別符號之一機率估計值細分界定一算術編碼器之一寫碼狀態的一當前版本之一當前區間,根據該各別符號之一符號值選擇多個該等子區間中的一子區間,以便獲得由該所選子區間界定的該算術編碼器之該寫碼狀態之一經更新版本以用於編碼該序列符號中之下一符號,以及在繼續該位元串流的情況下重正規化界定該寫碼狀態之編碼器內部參數,向該位元串流提供進入點資訊,從而允許自一預定進入點向前恢復對該位元串流之算術解碼,其中該進入點資訊包含關於一算術解碼器之一寫碼狀態之資訊,當該算術解碼器對該位元串流進行解碼直至該預定進入點時,該寫碼狀態出現於該算術解碼器中。
- 如請求項72之方法,其進一步包含執行對該位元串流之該算術解碼以便判定關於該算術解碼器之該寫碼狀態的該資訊。
- 如請求項72之方法,其中該算術解碼器之該寫碼狀態由解碼器內部參數界定,該等解碼器內部參數包括指示該區間之一寬度的一區間寬度參數及指向該區間中之一指標,且關於該算術解碼器之該寫碼狀態的該資訊包含該指標之一值。
- 如請求項74之方法,其進一步包含執行對該位元串流之該算術解碼,且將由關於該算術解碼器之該寫碼狀態之該資訊包含之該指標的該值設定為等於如在對該位元串流之該算術解碼直至該預定進入點處時該指標自身 所表現之一當前值。
- 如請求項72之方法,其中該算術解碼器之該寫碼狀態由解碼器內部參數界定,該等解碼器內部參數包括指示該區間之一寬度的一區間寬度參數及指向該區間中之一指標,且關於該算術解碼器之該寫碼狀態的該資訊包含該區間寬度參數之一值。
- 如請求項76之方法,其進一步包含執行對該位元串流之該算術解碼,且將由關於該算術解碼器之該寫碼狀態之該資訊包含的該區間寬度參數之該值設定為等於如在對該位元串流之該算術解碼直至該預定進入點處時該區間寬度參數自身所表現之一當前值,或將由關於該算術解碼器之該寫碼狀態之該資訊包含之該區間寬度參數的該值設定為等於如在對該序列符號之該算術編碼直至該預定進入點處時該區間寬度參數自身所表現之一當前值。
- 如請求項72之方法,其中該算術解碼器之該寫碼狀態由解碼器內部參數界定,該等解碼器內部參數包括指示該區間之一寬度的一區間寬度參數及指向該區間中之一指標,且關於該算術解碼器之該寫碼狀態的該資訊包含該指標之一值,而不含該區間寬度參數之一值,其中該方法進一步包含將由關於該算術解碼器之該寫碼狀態之該資訊包含之該區間寬度參數的該值設定為等於一預定值,且在自該預定進入點向前恢復對該序列符號之該算術編碼時使用該區間寬度參數之該預定值,或在自該預定進入點向前恢復對該序列符號之該算術編碼之前藉由對緊接於該預定進入點前方的具有一預定符號值之一符號進行算術編碼來初步中斷對該序列符號之該算術編碼,且將由關於該算術解碼器之該寫碼狀態之該資訊包含之該區間寬度參數的該值設定為等於如在對該序列符號之該算術編碼,包括具有該預定符號值之該符號,直至該預定進入點處時該區間寬度參數自身所表現 之一當前值。
- 如請求項72之方法,其中該進入點資訊包含指向該位元串流中之一預定位元的一位元串流指標,該預定位元待在自該預定進入點向前恢復對該位元串流之該算術解碼之後接下來被讀取。
- 如請求項79之方法,其中指向該位元串流中之該預定位元的該位元串流指標係以相對於該位元串流之一開始的一偏移之形式在該位元串流中傳信。
- 如請求項79之方法,其中指向該位元串流中之該預定位元的該位元串流指標係以相對於該位元串流之一連串前導位元的一尾端之一偏移的形式在該位元串流中傳信,用於執行對該位元串流之該算術解碼的一算術解碼器之一寫碼狀態將基於該偏移而初始化。
- 如請求項79之方法,其中該進入點資訊允許自多於一個進入點向前恢復對該位元串流之算術解碼,且指向該位元串流中之該預定位元的該位元串流指標係以相對於一先前進入點或相對於與該預定進入點相關聯的一預定義位元串流位置之一偏移的形式在該位元串流中傳信。
- 如請求項82之方法,其包含定位該預定義位元串流位置作為該序列值中之連續值之間的一點或藉由對該位元串流之位元進行計數而定位該預定義位元串流位置。
- 如請求項82之方法,其中指向該位元串流中之該預定位元的該位元串流指標係以如下單位儲存:位元,及/或位元之整數n倍,其中例如n>1,且n=8。
- 如請求項82之方法,其中該先前進入點在該位元串流中之一位元位置係在該位元串流中傳信。
- 如請求項82之方法,其中該位元串流指標相對於由該進入點資訊包含的用於指向該位元串流中之另一預定位元的另一位元串流指標以不同方式在該位元串流中傳信,該另一預定位元待在自一先前進入點向前恢復對該位元串流之該算術解碼之後接下來被讀取。
- 如請求項79之方法,其中該位元串流指標係使用一可變長度碼在該位元串流中傳信。
- 如請求項79之方法,其中該位元串流指標係使用一指數哥倫布碼,較佳一無正負號指數哥倫布碼在該位元串流中傳信。
- 如請求項79之方法,其中該預定進入點為一第三進入點或相對於該位元串流之該開始在該第三進入點之後的進入點中之任一者,且指向該位元串流中之該預定位元的該位元串流指標係以相對於該先前進入點之該偏移與該先前進入點相對於在該先前進入點之前的另一進入點之一偏移之間的一差的形式在該位元串流中傳信。
- 如請求項89之方法,其中該位元串流指標係使用一帶正負號指數哥倫布碼在該位元串流中傳信。
- 如請求項89之方法,其中該先前進入點在該位元串流中之該位元位置係使用一無正負號指數哥倫布碼在該位元串流中傳信。
- 如請求項91之方法,其中用於該指數哥倫布碼之一指數哥倫布碼參數為一值11。
- 如請求項89之方法,其中該位元串流指標係使用一帶正負號指數哥倫布碼在該位元串流中傳信。
- 如請求項93之方法,其中用於該指數哥倫布碼之一指數哥倫布碼參數為一值7。
- 一種自一位元串流算術地解碼一序列資訊值之方法,其包含: 自該位元串流導出進入點資訊;使用該進入點資訊以便藉由藉著以下操作來對於該位元串流之每一符號進行自該位元串流算術地解碼一序列符號而自一預定進入點向前恢復對該位元串流之算術解碼:判定一算術解碼器之一寫碼狀態之一當前版本、一當前區間根據該各別符號之一機率估計值細分成的多個子區間中的一子區間,且基於該所選子區間推斷該各別符號之一符號值,以及藉由使用該位元串流及該所選子區間重正規化且更新界定該寫碼狀態之解碼器內部參數,以便獲得該算術解碼器之該寫碼狀態的一經更新版本以用於解碼該序列符號中之下一符號,以及藉由去符號化自該序列符號導出該等資訊值,其中,該方法進一步包含使用該進入點資訊以便判定該算術解碼器之該寫碼狀態的一起始版本,且使用該起始狀態用於開始自該預定進入點向前算術地解碼該位元串流。
- 如請求項95之方法,其中該算術解碼器之該寫碼狀態係由該等解碼器內部參數界定,該等解碼器內部參數包括指示該區間之一寬度的一區間寬度參數及指向該區間中之一指標,且該方法進一步包含自該進入點資訊導出該指標之一起始值,使用該起始值開始自該預定進入點向前算術地解碼該位元串流。
- 如請求項95之方法,其中該算術解碼器之該寫碼狀態係由該等解碼器內部參數界定,該等解碼器內部參數包括指示該區間之一寬度的一區間寬度參數及指向該區間中之一指標,且該方法進一步包含自該進入點資訊導出該區間寬度參數之一起始值,使用該起始值開始自該預定進入點向前算術地解碼該位元串流。
- 如請求項95之方法,其中該算術解碼器之該寫碼狀態係由該等解碼器內部參數界定,該等解碼器內部參數包括指示該區間之一寬度的一區間寬度參數及指向該區間中之一指標,且該方法進一步包含:自該進入點資訊導出該指標之一起始值,使用該起始值開始自該預定進入點向前算術地解碼該位元串流,以及將由關於該算術解碼器之該寫碼狀態之該資訊包含之該區間寬度參數的該值設定為等於一預定值,且對於該區間寬度參數使用該預定值來恢復自該預定進入點向前對該序列符號之該算術解碼。
- 如請求項98之方法,其中該進入點資訊允許自多於一個進入點向前恢復對該位元串流之算術解碼,且該方法進一步包含在自一後續預定進入點向前恢復對該序列符號之該算術編碼之前藉由對緊接於該後續預定進入點前方的具有一預定符號值之一符號進行算術解碼來初步中斷在該後續預定進入點處對該序列符號之該算術解碼。
- 如請求項95之方法,其進一步包含自該進入點資訊導出指向該位元串流中的一預定位元之一位元串流指標,且使用該預定位元作為在自該預定進入點向前恢復對該位元串流之該算術解碼之後接下來將讀取的一位元。
- 如請求項100之方法,其中指向該位元串流中之該預定位元的該位元串流指標係以相對於該位元串流之一開始的一偏移之形式在該位元串流中傳信。
- 如請求項100之方法,其中指向該位元串流中之該預定位元的該位元串流指標係以相對於以下者的一偏移之形式在該位元串流中傳信:該位元串流之一連串前導位元的一尾端,該方法基於該偏移而在自該位元串流之該開始向前執行對該位元串流之該算術解碼的情況下進一步初始化該算 術解碼器之該寫碼狀態。
- 如請求項100之方法,其中該進入點資訊允許自多於一個進入點向前恢復對該位元串流之算術解碼,且指向該位元串流中之該預定位元的該位元串流指標係以相對於一先前進入點或相對於與該預定進入點相關聯的一預定義位元串流位置之一偏移的形式在該位元串流中傳信。
- 如請求項103之方法,其包含定位該預定義位元串流位置作為該序列值中之連續值之間的一點或藉由對該位元串流之位元進行計數而定位該預定義位元串流位置。
- 如請求項103之方法,其中指向該位元串流中之該預定位元的該位元串流指標係以如下單位儲存:位元,及/或位元之整數n倍,其中例如n>1,且n=8。
- 如請求項103之方法,其中該先前進入點在該位元串流中之一位元位置係在該位元串流中傳信。
- 如請求項100之方法,其中該位元串流指標相對於由該進入點資訊包含的用於指向該位元串流中之另一預定位元的另一位元串流指標以不同方式在該位元串流中傳信,該另一預定位元待在自一先前進入點向前恢復對該位元串流之該算術解碼之後接下來被讀取。
- 如請求項100之方法,其中該位元串流指標係使用一可變長度碼在該位元串流中傳信。
- 如請求項100之方法,其中該位元串流指標係使用一指數哥倫布碼,較佳一無正負號指數哥倫布碼在該位元串流中傳信。
- 如請求項100之方法,其中該預定進入點為一第三進入點或相對於該位元串流之該開始在該第三進入點之後的進入點中之任一者,且指 向該位元串流中之該預定位元的該位元串流指標係以相對於該先前進入點之該偏移與該先前進入點相對於在該先前進入點之前的另一進入點之一偏移之間的一差的形式在該位元串流中傳信。
- 如請求項110之方法,其中該位元串流指標係使用一帶正負號指數哥倫布碼在該位元串流中傳信。
- 如請求項110之方法,其中該先前進入點在該位元串流中之該位元位置係使用一無正負號指數哥倫布碼在該位元串流中傳信。
- 如請求項112之方法,其中用於該指數哥倫布碼之一指數哥倫布碼參數為一值11。
- 如請求項110之方法,其中該位元串流指標係使用一帶正負號指數哥倫布碼在該位元串流中傳信。
- 如請求項114之方法,其中用於該指數哥倫布碼之一指數哥倫布碼參數為一值7。
- 如請求項95之方法,其進一步包含使用上下文自適應性算術解碼對該序列符號進行算術解碼,包括:對於該序列符號中之一上下文自適應性解碼符號,自多個上下文模型中選擇一上下文模型,該等多個上下文模型中之每一者具有與其相關聯之一機率估計值;以及使用該序列符號中之先前經解碼符號使該等多個上下文模型之該等機率估計值適應於實際符號統計量,其中該進入點資訊對於一組一或多個預定上下文模型中之每一者指示該各別預定上下文模型之一預定機率估計值,且該方法進一步包含使用該預定機率估計值來恢復相對於該各別預定上下文模型對該等多個上下文模型之該等機率估計值之該適應。
- 如請求項95之方法,其進一步包含 使用上下文自適應性算術解碼對該序列符號進行算術解碼,包括:對於該序列符號中之一上下文自適應性解碼符號,自多個上下文模型中選擇一上下文模型,該等多個上下文模型中之每一者具有與其相關聯之一機率估計值;以及使用該序列符號中之先前經解碼符號使該等多個上下文模型之該等機率估計值適應於實際符號統計量,其中該方法進一步包含對於一組一或多個預定上下文模型中之每一者,將該預定進入點處之該各別預定上下文模型的該機率估計值設定為一預設狀態,且該方法進一步包含使用該預設狀態來恢復相對於該各別預定上下文模型對該等多個上下文模型之該等機率估計值之該適應。
- 如請求項117之方法,其中該進入點資訊允許自多於一個進入點向前恢復對該位元串流之算術解碼,且該方法進一步包含對於該組一或多個預定上下文模型中之每一者,將一後續預定進入點處的該各別預定上下文模型之該機率估計值設定為其自身在對在該後續預定進入點前方的該序列符號進行算術解碼期間在一預定條件下所表現的一儲存狀態,且該方法進一步包含使用該儲存狀態來恢復相對於該各別預定上下文模型自該後續預定進入點向前對該等多個上下文模型之該等機率估計值之該適應。
- 如請求項95之方法,其進一步包含:使用相依去量化用於使用一狀態機自該序列資訊值導出一序列經量化值,自該進入點資訊導出一量化狀態,該相依量化自該量化狀態開始自該預定進入點向前恢復。
- 如請求項95之方法,其中該等符號為二進數,且該去符號化為一去二進位化。
- 如請求項95之方法,其中該等資訊值為表示一視訊之一序列語法元素。
- 如請求項95之方法,其中該等資訊值為神經網路參數。
- 一種用於將神經網路參數算術地編碼為一位元串流之算術編碼器,其經組配以:藉由符號化自該等神經網路參數導出一序列符號;藉由使用上下文自適應性算術編碼將該序列符號算術地編碼為該位元串流,包括:對於該序列符號中之一上下文自適應性編碼符號,選擇多個上下文模型中之一上下文模型,該等多個上下文模型中之每一者具有與其相關聯的一機率估計值;以及使用該所選上下文模型對該上下文自適應性編碼符號進行算術編碼;以及使用該序列符號中之先前經編碼符號使該等多個上下文模型之該等機率估計值適應於實際符號統計量,在該等位元串流之開始處及/或在該位元串流內之一或多個進入點處,對於一組一或多個上下文模型中之每一者,根據在該位元串流中傳信之上下文模型資訊初始化與該各別上下文模型相關聯之該機率估計值。
- 如請求項123之算術編碼器,其經組配以藉由以下操作使用該序列符號中之先前經編碼符號使該等多個上下文模型之該等機率估計值適應於實際符號統計量:對於每一上下文模型,基於該序列符號中已針對其選擇該各別上下文模型之先前上下文自適應性編碼符號產生與該各別上下文模型相關聯之該機率估計值。
- 如請求項123之算術編碼器,其經組配以使用該序列符號中之先前經編碼符號使該等多個上下文模型之該等機率估計值適應於實際符號統計量,其係藉由以在可由一第一靈敏度參數控制之一第一適應靈敏度下適應於該等實際符號統計量之一方式導出該等機率估計值之一第一假設, 在該位元串流之該開始處及/或在該位元串流內之一或多個進入點處,對於該組一或多個上下文模型中之每一者,根據在該位元串流中傳信之該上下文模型資訊設定與該各別上下文模型相關聯之該第一假設及該第一靈敏度參數。
- 如請求項123之算術編碼器,其經組配以使用該序列符號中之先前經編碼符號使該等多個上下文模型之該等機率估計值適應於實際符號統計量,其係藉由以在可由一第二靈敏度參數控制之一第二適應靈敏度下適應於該等實際符號統計量之一方式導出該等機率估計值之一第二假設且形成該第一假設與該第二假設之一平均值,在該位元串流之開始處及/或在該位元串流內的一或多個進入點處,對於該組一或多個上下文模型中之每一者,根據在該位元串流中傳信之該上下文模型資訊設定與該各別上下文模型相關聯之該第二假設及該第二靈敏度參數。
- 如請求項126之算術編碼器,其中該位元串流中的該上下文模型資訊包含用於界定該第一假設及該第二假設以及該第一靈敏度參數及該第二靈敏度參數的值四元組之一表的一表項索引,且該算術編碼器經組配以使用該表項索引以便選擇該表之一個四元組且使用該一個四元組以便設定該第一假設及該第二假設以及該第一靈敏度參數及該第二靈敏度參數。
- 如請求項126之算術編碼器,其中用於界定該第一假設及該第二假設以及該第一靈敏度參數及該第二靈敏度參數的值四元組之一數目介於8與10之間,包括8及10。
- 如請求項127之算術編碼器,其中用於界定該第一假設及該第二假設以及該第一靈敏度參數及該第二靈敏度參數的該等值四元組對應於用於該第一靈敏度參數及該第二靈敏度參數之3個、4個或5個相互可區分設定中之一者。
- 如請求項127之算術編碼器,其中用於界定該第一假設及 該第二假設以及該第一靈敏度參數及該第二靈敏度參數的該等值四元組包含第一3個四元組,根據所有該等四元組,該第一靈敏度參數設定為一第一值,該第二靈敏度參數設定為一第二值,其對應於比該第一值低之適應靈敏度,且根據該等四元組中之一第一者,該第一假設與該第二假設對應於等機率,根據該等四元組中之一第二者,該第一假設與該第二假設對應於一第一二進數值比一第二二進數值機率大,且根據該等四元組中之一第三者,該第一假設與該第二假設對應於該第二二進數值比該第一二進數值機率大,第二3個四元組,根據所有該等四元組,該第一靈敏度參數設定為一第三值,其對應於比該第一值低之適應靈敏度且比該第二值大之適應靈敏度,且該第二靈敏度參數設定為一第四值,其對應於比該第二值低之適應靈敏度,且根據該等四元組中之一第一者及第二者,該第一假設與該第二假設對應於該第一二進數值比該第二二進數值機率大,且根據該等四元組中之一第三者,該第一假設與該第二假設對應於該第二二進數值比該第一二進數值機率大,2個四元組,根據所有該等四元組,該第一靈敏度參數設定為一第四值,其對應於比該第三值低之適應靈敏度及比該第二值大之適應靈敏度,且該第二靈敏度參數設定為一第六值,其對應於比該第二值低之適應靈敏度及比該第四值大之適應靈敏度,且根據該等四元組中之一第一者,該第一假設與該第二假設對應於等機率,且根據該等四元組中之一第二者,該第一假設與該第二假設對應於該第一二進數值比該第二二進數值機率大,1個四元組,根據該四元組,該第一靈敏度參數設定為一第七值,其對應於比該第一值大之適應靈敏度,且根據該四元組,該第一假設與該第二假設對應於等機率。
- 如請求項126之算術編碼器,其中該等符號為二進數,且該符號化為一二進位化,且該算術編碼器經組配以 使用該序列符號中之先前經編碼符號使該等多個上下文模型之該等機率估計值適應於實際符號統計量,其係藉由對於該第一假設及該第二假設中之每一者,分別藉助於一帶正負號整數表示該各別假設,該帶正負號整數在為零時指示等機率,在大於零時指示一第一二進數值比一第二二進數值機率大,且在低於零時指示該第二二進數比該第一二進數值機率大,對於每一上下文模型,若一當前編碼之二進數具有該第一二進數值,則增大該帶正負號整數,且若一當前編碼之二進數具有該第二二進數值,則減小該帶正負號整數,增大或減小之一量相對於該第一假設由該第一靈敏度參數控制,且相對於該第二假設由該第二靈敏度參數控制,以使得該量愈大,該第一靈敏度參數及該第二靈敏度參數分別愈小,其中該等機率估計值係藉由該第一帶正負號整數與該第二帶正負號整數之一平均值判定。
- 如請求項131之算術編碼器,其經組配以藉由使用一轉換表來判定該增大及減小之該量。
- 如請求項132之算術編碼器,其經組配以對於該第一假設與該第二假設使用相同轉換表。
- 如請求項132之算術編碼器,其經組配以藉由使用該轉換表判定該增大及減小之該量,其係藉由在由藉由該帶正負號整數判定之一表索引索引的一條目處查找該轉換表以獲得一轉換步長且將轉換步長大小除以2的一冪,該冪取決於各別之該第一適應參數及該第二適應參數,其中該轉換步長判定該量。
- 如請求項132之算術編碼器,其中該帶正負號整數由具有n個位元之一2補數表示法表示,其中n對於該第二假設比對於該第一假設大,其 中該算術編碼器經組配以藉由使用該轉換表判定該增大及減小之該量,其係藉由在由該帶正負號整數一方面除以2n-m及另一方面除以2m-1之一總和索引的一條目處查找該轉換表,以便獲得一轉換步長,將該轉換步長大小除以2的一冪,該冪線性地仿射、取決於各別的該第一適應參數及該第二適應參數,其中該轉換步長判定該量。
- 如請求項135之算術編碼器,其中儲存於該轉換表之條目中的該等轉換步長單調地增大或減小。
- 一種具有一程式碼之電腦程式,該程式碼當在一電腦上執行時用於執行如請求項72或95之方法。
- 一種使用如請求項1或123之一算術編碼器產生的位元串流。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP20200395 | 2020-10-06 | ||
EP20200395.0 | 2020-10-06 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202218431A TW202218431A (zh) | 2022-05-01 |
TWI809523B true TWI809523B (zh) | 2023-07-21 |
Family
ID=72752840
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW110137067A TWI809523B (zh) | 2020-10-06 | 2021-10-05 | 對一序列資訊值進行算術編碼之算術編碼器與進行算數解碼之算數解碼器及用以算術編碼與解碼一序列資訊值之方法及實行該等方法之電腦程式 |
Country Status (7)
Country | Link |
---|---|
US (1) | US20230238982A1 (zh) |
EP (1) | EP4226503A1 (zh) |
JP (1) | JP2023544800A (zh) |
KR (1) | KR20230088746A (zh) |
CN (1) | CN116762279A (zh) |
TW (1) | TWI809523B (zh) |
WO (1) | WO2022074007A1 (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009047695A1 (en) * | 2007-10-08 | 2009-04-16 | Nxp B.V. | Method and system for decoding digital video content involving arbitrarily accessing an encoded bitstream |
US20120082218A1 (en) * | 2010-10-01 | 2012-04-05 | Kiran Misra | Methods and Systems for Entropy Coder Initialization |
-
2021
- 2021-10-05 CN CN202180081999.5A patent/CN116762279A/zh active Pending
- 2021-10-05 KR KR1020237015617A patent/KR20230088746A/ko active Search and Examination
- 2021-10-05 JP JP2023521303A patent/JP2023544800A/ja active Pending
- 2021-10-05 TW TW110137067A patent/TWI809523B/zh active
- 2021-10-05 EP EP21787401.5A patent/EP4226503A1/en active Pending
- 2021-10-05 WO PCT/EP2021/077458 patent/WO2022074007A1/en active Application Filing
-
2023
- 2023-04-05 US US18/296,055 patent/US20230238982A1/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009047695A1 (en) * | 2007-10-08 | 2009-04-16 | Nxp B.V. | Method and system for decoding digital video content involving arbitrarily accessing an encoded bitstream |
US20120082218A1 (en) * | 2010-10-01 | 2012-04-05 | Kiran Misra | Methods and Systems for Entropy Coder Initialization |
Non-Patent Citations (1)
Title |
---|
期刊 S. Wiedemann et al. DeepCABAC: A Universal Compression Algorithm for Deep Neural Networks "DeepCABAC: A Universal Compression Algorithm for Deep Neural Networks," 10.1109/JSTSP.2020.2969554 IEEE Journal of Selected Topics in Signal Processing, vol. 14, no. 4, p May 2020 p. 700-714 * |
Also Published As
Publication number | Publication date |
---|---|
US20230238982A1 (en) | 2023-07-27 |
TW202218431A (zh) | 2022-05-01 |
KR20230088746A (ko) | 2023-06-20 |
EP4226503A1 (en) | 2023-08-16 |
WO2022074007A1 (en) | 2022-04-14 |
JP2023544800A (ja) | 2023-10-25 |
CN116762279A (zh) | 2023-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7231594B2 (ja) | 動きベクトル差のエントロピー符号化 | |
US11463698B2 (en) | Selection of the maximum dynamic range of transformed data and the data precision of transform matrices according to the bit depth of input data | |
US8711019B1 (en) | Context-based adaptive binary arithmetic coding engine | |
US11290751B2 (en) | Data encoding and decoding | |
US7839311B2 (en) | Architecture for multi-stage decoding of a CABAC bitstream | |
US7365660B2 (en) | Method and device for decoding syntax element in CABAC decoder | |
US7365659B1 (en) | Method of context adaptive binary arithmetic coding and coding apparatus using the same | |
US20100040136A1 (en) | Method for performing binarization using a lookup table | |
EP3182710A2 (en) | Adaptive binarizer selection for image and video coding | |
AU2295399A (en) | Arithmetic encoding and decoding of an information signal | |
EP3182705B1 (en) | Binarizer selection for image and video coding | |
KR20060038189A (ko) | 컨텍스트 기반 적응형 이진 산술 복부호화 방법 및 장치 | |
TWI809523B (zh) | 對一序列資訊值進行算術編碼之算術編碼器與進行算數解碼之算數解碼器及用以算術編碼與解碼一序列資訊值之方法及實行該等方法之電腦程式 | |
US8854233B2 (en) | Method and system for de-binarization | |
JP5632328B2 (ja) | 符号量予測装置及びプログラム | |
KR102109768B1 (ko) | Uhd 영상의 고속 처리를 위한 cabac 이진 산술 부호화기 | |
RU2820857C2 (ru) | Энтропийное кодирование разностей векторов движения | |
CA2788490A1 (en) | Encoding and decoding methods and devices using a secondary codeword indicator |