JP6509916B2 - 連結されたrom−ramテーブルに基づいて算術コーディングを遂行する方法及び装置 - Google Patents

連結されたrom−ramテーブルに基づいて算術コーディングを遂行する方法及び装置 Download PDF

Info

Publication number
JP6509916B2
JP6509916B2 JP2016575725A JP2016575725A JP6509916B2 JP 6509916 B2 JP6509916 B2 JP 6509916B2 JP 2016575725 A JP2016575725 A JP 2016575725A JP 2016575725 A JP2016575725 A JP 2016575725A JP 6509916 B2 JP6509916 B2 JP 6509916B2
Authority
JP
Japan
Prior art keywords
value
boundary value
bit
interval
decoding
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2016575725A
Other languages
English (en)
Other versions
JP2017525266A (ja
Inventor
サイード アミール
サイード アミール
タリブ マーフード アボ
タリブ マーフード アボ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
LG Electronics Inc
Original Assignee
LG Electronics 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 LG Electronics Inc filed Critical LG Electronics Inc
Publication of JP2017525266A publication Critical patent/JP2017525266A/ja
Application granted granted Critical
Publication of JP6509916B2 publication Critical patent/JP6509916B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/4006Conversion to or from arithmetic code
    • H03M7/4012Binary arithmetic codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • 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
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/42Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code using table look-up for the coding or decoding process, e.g. using read-only memory
    • 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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/93Run-length coding

Landscapes

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

Description

本発明はビデオ信号を処理するための方法及び装置に関し、より詳しくは、連結された(concatenated)ROM−RAMテーブルに基づいて算術コーディングを遂行する技術に関する。
エントロピーコーディングは圧縮されたデータシーケンスに挿入されるビットの数を最適に定義するために使われる過程である。したがって、この過程は如何なる種類のデータ及びメディア圧縮においても基本技術となり、最終の圧縮効率及び演算の複雑度に大きな影響を及ぼす。算術コーディングは最適のエントロピーコーディング技術であって、相対的に高い複雑度を有するが、最近広く採択されており、H.264/AVC、H.265/HEVC、VP8、及びVP9ビデオコーディング規格の一部となった。しかしながら、UHD及び高フレーム割合ビデオのような応用分野での非常に高度に圧縮されたデータ処理率に対する損傷が増加するにつれて、新たな形態の速いエントロピーコーディングが必要となった。
二進化のためにはコーディングされる全てのデータが順次に分解されなければならないという問題があり、これによってクロック速度の高い時にのみ早く遂行できる。
狭いレジスタが精度の損失を避けるために、個別データビットをできる限り速く抽出することを必要とし、これによって直列化の形態を取らざるを得ない。そして、複雑な掛け算近似が直列化された形態に定義され、速い掛け算は非常に値高いシステムを要するという問題がある。
また、コーディング機器がバイセクション(bisection)や更に他の形態の二進木探索を使用する場合、デコーディング過程を二進決定で順次的分解するようになり、コーディングシステムが二進算術コーディングの速度に対する相当な改善をもたらさないという問題がある。
また、算術コーディングでシンボルに対する情報がビットに対して直接的に定義されず、要素DkとLkとの間の割合で定義される問題がある。
本発明の一実施形態は、テーブル索引(lookup)を使用して算術コーディングの処理率を増加させる方法を提供する。
また、本発明の一実施形態は、連結されたROM−RAMテーブル索引を有するデコーダを提供する。
また、本発明の一実施形態は、RAM基盤テーブルを大きくて高くないROMテーブルとより小さなRAMテーブルの連結された形態に取り替える方法を提供する。
また、本発明の一実施形態は、分割近似のためにテーブル索引を活用する方法を提供する。
本発明によれば、テーブル索引を使用することによって、算術コーディングの処理率が増加できる。
また、本発明によれば、連結されたROM−RAMテーブル索引を有するデコーダは、圧縮効率及び演算の複雑度を向上させることができる。
また、本発明によれば、連結されたROM−RAMテーブル索引を有するデコーダは、算術コーディングの如何なる形態にも適用できる。
また、本発明によれば、連結されたROM−RAMテーブル索引を有するデコーダは、非常に速いデコーディングを可能にする。
本発明が適用される一実施形態であって、ビデオ信号を処理するエンコーダ及びデコーダの概略的なブロック図を図示する。 本発明が適用される一実施形態であって、ビデオ信号を処理するエンコーダ及びデコーダの概略的なブロック図を図示する。 本発明が適用される一実施形態であって、算術コーディング区間データをアップデートするために必要とする演算集合を例示するフローチャートである。 本発明が適用される一実施形態であって、二進算術コーディングに基づいてビデオ信号を処理するエンコーダ及びデコーダの概略的ブロック図を示す。 本発明が適用される一実施形態であって、二進算術コーディングに基づいてビデオ信号を処理するエンコーダ及びデコーダの概略的ブロック図を示す。 本発明が適用される一実施形態であって、大容量データアルファベット(large data alphabet)及び長いレジスタ(long register)を使用して設計された算術コーディングシステムのエンコーダ及びデコーダの概略的なブロック図を示す。 本発明が適用される一実施形態であって、大容量データアルファベット(large data alphabet)及び長いレジスタ(long register)を使用して設計された算術コーディングシステムのエンコーダ及びデコーダの概略的なブロック図を示す。 本発明が適用される一実施形態であって、Pビットレジスタ上にDk及びLkの二進表現ダイヤグラムを示す。 本発明が適用される一実施形態であって、連結されたROM−RAMテーブルを含む算術デコーダの概略的なブロック図を示す。 本発明が適用される一実施形態であって、データシンボルをデコーディングする方法を例示するフローチャートである。 本発明が適用される一実施形態であって、連結されたROM−RAMテーブルを使用して算術デコーディングを遂行する方法を例示するフローチャートである。
本発明はデータシンボルに対する算術デコーディングを遂行する方法であって、デコーディングテーブルインデックスを生成するステップと、ROMテーブルからシンボルに割り当てられた区間内の地点と区間長さとの間の割合の上位境界値及び下位境界値を獲得するステップと、前記上位境界値及び前記下位境界値に基づいて、RAMテーブルからバイセクション探索のための初期値を獲得するステップと、区間内でシーケンス値を探索するステップとを含み、前記区間は、前記初期値に基づいて決定されることを特徴とする、方法を提供する。
本発明は、前記区間長さの最上位1ビットの位置を決定するステップと、前記位置に1ビットを加えた位置から始めて前記最上位1ビットの以後の前記区間長さの最上位ビットを抽出するステップと、前記位置から始めて前記区間ベースの最上位ビットを抽出するステップとをさらに含むことを特徴とする。
本発明は、前記区間長さの最上位ビットとシンボルに割り当てられた区間内の前記地点の最上位ビットとを結合することによって、デコーディングテーブルインデックスを生成するステップをさらに含むことを特徴とする。
本発明において、前記上位境界値は、シンボルに割り当てられた区間内の地点の最大値と前記区間長さの最小値との間の割合に基づいて決定されることを特徴とする。
本発明において、前記下位境界値は、シンボルに割り当てられた区間内の地点の最小値と前記区間長さの最大値との間の割合に基づいて決定されることを特徴とする。
本発明において、前記上位境界値及び前記下位境界値は、掛け算近似に対応するビットシフト演算に基づいて決定されることを特徴とする。
本発明は、データシンボルに対する算術デコーディングを遂行する装置において、デコーディングテーブルインデックスを生成するように構成されたインデックス生成ユニットと、ROMテーブルからシンボルに割り当てられた区間内の地点と区間長さとの間の割合の上位境界値及び下位境界値を獲得し、前記上位境界値及び前記下位境界値に基づいて、RAMテーブルからバイセクション(bisection)探索のための初期値を獲得するように構成された連結されたROM−RAMテーブルユニットと、区間内でシーケンス値を探索するように構成されたバイセクション探索ユニットとを含み、前記区間は、前記初期値に基づいて決定されることを特徴とする、装置を提供する。
以下、添付の図面を参照して本発明の実施形態の構成及びその作用を説明し、図面により説明される本発明の構成及び作用は1つの実施形態として説明されるものであり、これによって本発明の技術的思想とその核心構成及び作用が制限されるものではない。
併せて、本発明で使われる用語はできる限り現在広く使われる一般的な用語を選択したが、特定の場合は出願人が任意に選定した用語を使用して説明する。そのような場合には該当部分の詳細説明でその意味を明確に記載するので、本発明の説明で使われた用語の名称だけで単純解析されてはならず、その該当用語の意味まで把握して解析されるべきであることを明らかにする。
また、本発明で使われる用語は発明を説明するために選択された一般的な用語であるが、類似の意味を有する他の用語がある場合、より適切な解析のために代替可能である。例えば、信号、データ、サンプル、ピクチュア、フレーム、ブロックなどの場合、各コーディング過程で適切に代替されて解析できるものである。また、範囲、長さ、区間(または、コーディング区間、算術コーディング区間)、及び区間長さは、各々の算術コーディング過程で適切に代替されて解析できるものである。
図1及び図2は、本発明が適用される一実施形態であって、ビデオ信号を処理するエンコーダ及びデコーダの概略的なブロック図を示す。
図1のエンコーダ100は、変換ユニット110、量子化ユニット120、及びエントロピーエンコーディングユニット130を含む。図2のデコーダ200は、エントロピーデコーディングユニット210、逆量子化ユニット220、及び逆変換ユニット230を含む。
前記エンコーダ100は、ビデオ信号を受信して前記ビデオ信号から予測された信号を差し引きすることによって予測エラーを生成する。
生成された前記予測エラーは、変換ユニット110に転送される。前記変換ユニット110は予測エラーに変換方式を適用することによって、変換係数を生成する。
前記量子化ユニット120は、前記生成された変換係数を量子化して前記量子化された係数をエントロピーエンコーディングユニット130に転送する。
前記エントロピーエンコーディングユニット130は、前記量子化された係数に対するエントロピーコーディングを遂行し、エントロピーコーディングされた信号を出力する。この場合、前記エントロピーコーディングは、圧縮されたデータシーケンスに入るビットの個数を最適に定義するために使われる過程である。最適のエントロピーコーディング技術のうちの1つである算術コーディングは、多重シンボルを単一の実数で示す方法である。
本発明はテーブル索引を使用することによって、また、より特定的には、RAM基盤テーブルを連続して大きくて高くないROMテーブル及びより小さなRAMテーブルに取り替えることによって、算術コーディング技術の処理率(秒当たり処理されるビット)を向上させる方法上の改善を定義する。
本発明の一側面で、前記エントロピーエンコーディングユニット130は、各々のデータシンボルに対して掛け算近似を使用して区間をアップデートし、ビットシフト演算及びアップデートされた区間内での足し算を使用して掛け算結果に対する掛け算近似を計算することができる。
前記計算過程で、前記エントロピーエンコーディングユニット130は、長さの最上位1ビットの位置を決定することができ、近似した長さを獲得するために前記最上位1ビットの以後の長さの最上位ビットのうちの一部を抽出することができる。このような場合に、前記区間は近似した長さ及び掛け算結果の結果として示されるビットに基づいてアップデートされる。
図2のデコーダ200は、図1のエンコーダ100により出力された信号を受信する。
前記エントロピーデコーディングユニット210は、受信された信号に対するエントロピーデコーディングを遂行することができる。例えば、前記エントロピーデコーディングユニット210は、コード値の位置情報を含む信号を受信し、前記コード値の位置情報に対応するシンボルを確認し、確認されたシンボルをデコーディングすることができる。
本発明の更に他の側面で、前記エントロピーデコーディングユニット210は、区間長さの最上位ビットとコード値の最上位ビットを結合することによって、デコーディングテーブルインデックスを生成することができる。
このような場合に、区間長さの最上位ビットは前記最上位1ビットの以後に前記位置に1ビットを加えた地点から出発して抽出されることができ、前記コード値の最上位ビットは区間長さの最上位1ビットの位置から出発して抽出できる。
一方、前記逆量子化ユニット220は前記エントロピーデコーディングされた信号から量子化ステップの大きさに対する情報に基づいて変換係数を獲得する。
前記逆変換ユニット230は、前記変換係数に対する逆変換を遂行することによって、予測エラーを獲得する。前記予測エラーを予測信号に加えることによって、復元された信号が生成される。
図3は本発明が適用される一実施形態であって、算術コーディング区間データをアップデートするために必要な演算集合を例示するフローチャートである。
本発明が適用される算術コーディング器は、データソースユニット310、データモデリングユニット320、1次遅延ユニット330、及び2次遅延ユニット340を含むことができる。
前記データソースユニット310は、次の<数式1>のようにM個のシンボルのアルファベットから各々N個のランダムなシンボルのシーケンスを生成することができる。
Figure 0006509916
この場合、本発明は前記データシンボルが次の<数式2>のように0でない確率を有しながら全て独立的で、かつ同一に分布したものとして仮定する。
Figure 0006509916
また、本発明は次の<数式3>のように累積確率分布を定義することができる。
Figure 0006509916
この場合、c(s)は厳格に単調的(monotonic)であり、c(0)=0で、c(M)=1である。
このような条件が実際の複雑な媒体信号で発見されるものと大きく異なるものと見えることもできるが、事実相、全てのエントロピーコーディング道具がこのような仮定から導出された技術に基づいており、したがって、本発明はこのような単純なモデルに制限された具現を提供することができる。
算術コーディングは主に実数直線上の[bk、bk+lk]形態の半開区間をアップデートするステップで構成され、この際、bkは区間ベースを示し、lkはその長さを示す。これら区間は各々のデータシンボルskによってアップデートされ、初期条件b1=0及びl1=1から始まって次の<数式4>及び<数式5>を使用してk=1,2,...Nに対して再帰的にアップデートされる。
Figure 0006509916
Figure 0006509916
この場合、前記区間は次の<数式6>のように徐々に内部に含まれることができる。
Figure 0006509916
前記説明したように、図3を参照すると、前記データモデリングユニット320はN個のランダムなシンボルSkのシーケンスを受信することができ、前記累積確率分布C(Sk)及びシンボル確率p(Sk)を出力することができる。
区間長さlk+1はデータモデリングユニット320から出力されたSk及び1次遅延ユニット330から出力されたlkの掛け算演算により獲得できる。
また、前記区間ベースbk+1は2次遅延ユニット340から出力されたbkの足し算演算及びC(Sk)とlkの掛け算から獲得できる。
本発明が適用される算術コーディングは、掛け算と足し算の算術演算で定義できる。この場合、bk及びlkは無限精度(infinite precision)で示すことができるが、これははじめに直観的に簡単なバージョンで表現を導入するために使われる。以後、本発明は有限精度(finite precision)動作を使用して算術コーディングを近似するように具現する方法を提供する。
Figure 0006509916
Figure 0006509916
Figure 0006509916
Figure 0006509916
Figure 0006509916
Figure 0006509916
実際的な算術コーディングの具現のために、本発明は全ての足し算が無限精度で遂行されるが、掛け算は有限精度を使用して一部の特性が保存されるように近似するという事実を考慮することができる。本明細書では、本発明の理解のために必要な内容のみを扱う。例えば、区間再正規化は本発明を説明するに当たって必要な部分であるが、これは本発明に影響を及ぼさないので、本明細書で説明されない。
Figure 0006509916
Figure 0006509916
Figure 0006509916
この場合、掛け算値を囲む二重大括弧(double brackets)は前記掛け算が有限精度近似(finite precision approximations)によるものであることを示す。
Figure 0006509916
であるので、前記<数式10>は<数式4>に対応する。
したがって、前記デコーディング過程は次の<数式12>から<数式14>のように定義できる。
Figure 0006509916
Figure 0006509916
Figure 0006509916
算術デコーディングの重要な側面のうちの1つは、一部の非常に簡単な場合を除いて、<数式7>からskを直接的に探し出す方法がないし、一部の類型の探索が必要であるということである。例えば、c(s)は厳格に単調的であるので、本発明はバイセクション探索を使用することができ、skを0(log2M)回のテストにより探すことができる。これは、平均的探索性能もシンボル確率の分布を用いる探索技術を使用することによって改善できる。
図4及び図5は本発明が適用される一実施形態であって、二進算術コーディングに基づいてビデオ信号を処理するエンコーダ及びデコーダの概略的ブロック図を示す。
本発明が適用された算術コーディングの具現は、次のような要素に基づくことができる。
第1に、掛け算のような算術演算は相対的に費用が高くて、これら演算は概略的近似及びテーブル索引方式に取り替えることができる。
第2に、掛け算結果を除去するとしても、本発明は中間結果及び足し算を維持するためにプロセッサレジスタを必要とすることができる。より簡単なハードウェア具現のために、8または16ビットだけのレジスタが利用できる。
第3に、デコーダは<数式12>の探索を具現しなければならないので、エンコーダに比べて非常に遅いことがあり、このような複雑度はアルファベット大きさMが大きくなるほど増加する。
このような問題点を全て解決したコーディングの一形態が二進算術コーディングであり、これは二進入力アルファベット(即ち、M=2)のみに適用された。如何なるアルファベットからのデータシンボルも二進シンボルのシーケンスに変換(二進化)できるので、これは実際的に根本的な制限ではない。図4及び図5は、このような類型のコーディングを具現するエンコーダとデコーダを各々示す。
前記エンコーダ400は、二進化ユニット410、遅延ユニット420、確率推定ユニット430、及びエントロピーエンコーディングユニット440を含む。また、前記デコーダ500は、エントロピーデコーディングユニット510、遅延ユニット520、確率推定ユニット530、及び集積ユニット540を含む。
前記二進化ユニット410は、データシンボルのシーケンスを受信し、二進化を遂行することによって、二進化された値0または1で構成された二進データストリングを出力することができる。前記出力された二進データストリングは、遅延ユニット420を通じて確率推定ユニット430に転送される。前記確率推定ユニット430は、エントロピー−エンコーディングのための確率推定を遂行する。
前記エントロピーエンコーディングユニット440は、出力されたビットストリング及び出力された圧縮データビットに対するエントロピーエンコーディングを遂行する。
前記デコーダ500は、前記エンコーディング過程を逆に遂行することができる。
しかしながら、図4及び図5のコーディングシステムは、次のような問題を有することができる。
まず、二進化のためにはコーディングされる全てのデータが順次に分解されなければならず、これによってクロック速度が高い時のみに早く遂行できる。そして、狭いレジスタ(narrow registers)が精度の損失を避けるために、個別データビットをできる限り速く抽出することを必要とし、これによって直列化の形態を取らざるを得ない。
本発明が解決しようとする部分は、<数式12>を用いるskの探索における複雑度である。コーディングシステムがバイセクションまたは更に他の形態の二進木探索を使用する場合、前記コーディングシステムはデコーディング過程を二進決定に順次に分解しなければならない問題を有することができ、これは二進算術コーディングの速度に対する相当な改善をもたらさない。
したがって、本発明は如何なる形態の算術コーディングにも適用できるシステムを提案しようとし、これは図6及び図7のエンコーダ及びデコーダを通じて説明する。
図6及び図7は本発明が適用される一実施形態であって、大容量データアルファベット(large data alphabet)及び長いレジスタ(long register)を使用して設計された算術コーディングシステムのエンコーダ及びデコーダの概略的なブロック図を示す。
図6及び図7を参照すると、前記エンコーダ600は、遅延ユニット620、確率推定ユニット630、及びエントロピーエンコーディングユニット640を含む。また、前記デコーダ700は、エントロピーデコーディングユニット710、遅延ユニット720、及び確率推定ユニット730を含む。ここで、前記エントロピーエンコーディングユニット640は大容量のデータアルファベット(large data alphabet)を直接受信して、大容量のデータアルファベット及び長いレジスタ(long register)に基づいて二進ワード(binary word)の圧縮されたデータを生成することができる。
データシンボルに対する算術コーディングのために、まずエントロピーエンコーディングユニット640が各々のデータシンボルに対する区間を生成することができる。このような場合に、前記区間は開始地点及び区間の長さに基づいて表現できる。
前記エントロピーエンコーディングユニット640は、掛け算近似を使用して各々のデータシンボルに対して区間をアップデートすることができる。このような場合に、前記掛け算結果に対する掛け算近似は、負数を含む因子(factor)の最適化により遂行できる。また、掛け算結果に対する掛け算近似の大きさがレジスタビットの個数に調整できる。
この後、前記エントロピーエンコーディングユニット640は、ビットシフト演算及び前記アップデートされた区間内での足し算を使用して掛け算結果の掛け算近似を計算することができる。このような場合、前記エンコーダは長さの最上位1ビットの位置を決定し、近似化された長さを獲得するために前記最上位1ビットの以後に長さの上位ビットのうちの一部を抽出することができる。前記区間は、前記近似化した長さ及び結果的に示される掛け算結果のビットに基づいてアップデートできる。
前記過程を通じて大容量データアルファベット(large data alphabet)と長いレジスタ(long register)を使用することによって、算術コーディングの毎秒当たり処理されたビットが増加できる。
また、図4及び図5の説明は、前記エンコーダ600及び前記デコーダ700の機能ユニットに適用できる。
図8は本発明が適用される一実施形態であって、Pビットレジスタ上にDk及びLkの二進表現ダイヤグラムを示す。
本発明において、ハフマン(Huffman)コードのデコーディングを加速させるために使用する方式のうちの1つは、テーブル索引を使用するものである。即ち、1回に1つのビットを読んで、新たなコードツリーに移動する代わり、多数のビットを読んで、読まれたビットは既に算術されたテーブルのインデックスを生成するために用いられる。ハフマンコードは、コーディングされたシンボルに対して整数個のビットを生成することによって、読まれる次のビットの集合を容易に定義することができる。しかしながら、このような内容は算術コーディングには適合しないことがある。
算術コーディングは、シンボルに対する情報がビットに対して定義されず、DkとLkとの間の割合として定義できる。
本発明は、Dkを正規化するために割算を使用することができる。
Figure 0006509916
Figure 0006509916
<数式15>で、Eは分数Dk/Lkの量子化されたバージョンである。本発明は、<数式15>のEから<数式16>のバイセクション探索(bisection search)のための初期値を探すことができ、これはKt個の元素を有するテーブルに格納されることができ、より速いデコーディングを可能にする。前記テーブル項目は以下の数式により決定できる。
Figure 0006509916
Figure 0006509916
Figure 0006509916
であるので、デコーディングを矯正するために1つのテーブルであれば充分である。前記‘1つのテーブル’は周期的にアップデートされるRAMに格納されなければならないので、RAMテーブルとして定義できる。また、テーブル索引はバイセクション探索(bisection search)を初期化するためのものであるので、モデルがアップデートされる度にテーブルを計算するオーバーヘッドは小さいことがある。
テーブル索引デコーディング(table look−up decoding)での制限事項(constraint)は低い複雑度のハードウェアプラットフォームで割算が32ビットレジスタを使用するとしても高いということである。
したがって、本発明はテーブル基盤デコーディング方法を提案し、具体的に割算近似のためにテーブル索引を使用する方法を提供する。本発明は、テーブルインデックスを生成するためにDk及びLkから抽出される特別な部分集合を定義することができる。ここで、前記テーブルインデックスは追加的な探索を必要とするシンボルの範囲を知らせるテーブル要素を含むことができる。
以下、本発明の一実施形態であるテーブルインデックス及び項目を生成する方法を説明する。
次の<数式19>に基づいて、本発明はDk及びLkの割合が0でない最上位ビット(most significant nonzero bits)により大部分定義できることを確認することができる。
Figure 0006509916
図8を参照すると、Pビット整数として格納されるDk及びLkの二進表現を示す。本発明は、速いプロセッサ演算を使用してLkの最上位1ビットの位置Qを探し出すことができる。これを通じて、本発明は図8に示すように、LkからT個のビットu12・・・uTを抽出し、DkからT+1個のビットv012・・・vTを抽出することができる。このようなビットは二進表現u12・・・uT012・・・vTとして整数Zを生成するために使われることができ、これは22T+1個の項目を有するデコーディングテーブルのインデックスに使用できる。
ビット位置Qが与えられれば、割算(Dk/Lk)の上位境界値と下位境界値は<数式20>により定義できる。
Figure 0006509916
ここで、Eminは割算(Dk/Lk)の上位境界値を意味し、Emaxは割算(Dk/Lk)の下位境界値を意味する。例えば、Eminは[Dmin/Lmax]として定義されることができ、Emaxは[Dmax/Lmin]として定義できる。したがって、Emin及びEmaxは<数式21>及び<数式22>で表現できる。
Figure 0006509916
Figure 0006509916
ここで、‘a’は掛け算近似に対応するビットシフト(bit shift)を示す。このような値をRAM−テーブルのインデックスに使用することによって、バイセクション探索(bisection search)のための初期値が<数式23>及び<数式24>のように獲得できる。
Figure 0006509916
Figure 0006509916
これによって、本発明は次のようなシンボルデコーディング過程を提供することができる。
前記デコーダはLkの最上位1ビットのビット位置Qを決定し、ビット位置Q+1から始めて、LkのT個の最上位ビットを抽出することができる。また、ビット位置Qから始めて、前記デコーダはDkのT+1個の最上位ビットを抽出することができる。
この後、前記デコーダは前記2T+1個のビットを結合してテーブルインデックスZを形成することができる。前記デコーダは、前記テーブルからEmin及びEmaxを獲得し、区間[smin(Z)、smax(Z)]のみで次の<数式25>を満たすsの値を探索することができる。
Figure 0006509916
図9は本発明が適用される一実施形態であって、連結されたROM−RAMテーブルを含む算術デコーダの概略的なブロック図を示す。
本発明が適用されるデコーダは、インデックス生成ユニット910、連結されたROM−RAMテーブルユニット920、バイセクション探索ユニット930、及びデータモデルユニット940を含む。前記連結されたROM−RAMテーブルユニット920は、ROMテーブル921、及びRAMテーブル922を含む。
前記インデックス生成ユニット910はDkとLKを受信し、Dk及びLKから特定のビットの集合を抽出することができる。また、前記インデックス生成ユニット910は前記特定のビットの集合に基づいてデコーディングテーブルに対するインデックスZを生成することができる。このような場合に、前記インデックスZはLKのT個の最上位ビット及びDkのT+1個の最上位ビットに基づいて形成できる。
前記生成されたインデックスZは、前記連結されたROM−RAMテーブルユニット920に転送できる。前記転送されたインデックスZは、前記連結されたROM−RAMテーブルユニット920のROMテーブル921に格納できる。割算(Dk/Lk)の上部境界及び下部境界、EmaxとEminはROMテーブル921から獲得されることができ、RAMテーブル922に転送できる。例えば、Emax及びEminは<数式21>及び<数式22>に基づいて獲得できる。
前記RAMテーブル922は、ROMテーブル921からEmax及びEminを受信し、バイセクション探索のための初期値を出力することができる。このような値をRAMテーブルに対するインデックスに使用して、バイセクション探索の初期値、Smax及びSminが獲得できる。このような場合、<数式23>及び<数式24>が使用できる。
前記バイセクション探索ユニット930は、該当区間[Smin(Emin)、Smax(Emax)]でsの値のみを探索して、sの値を出力することができる。このような場合、前記sの値は<数式25>を満たす。
より大きいテーブルを使用することによって、よりよい近似を得ることができるということは明らかであり、十分に大きいテーブルに対してEmin=Emaxの結果を得ることができ、これはこれらが実際の割算値のような効率として探索範囲を狭めることができることを意味する。
前記連結されたROM−RAMテーブルはアップデートを要せず、ROMに格納できるのでROMテーブルと呼ばれることができる。また、RAMテーブル内の項目の個数が知られれば、Emin及びEmaxの該当最上位ビットのみ格納される必要がある。例えば、RAMテーブル内の項目の個数が256の場合には、Emin及びEmaxの最上位8ビットのみを格納するだけで充分でありうる。
図10は本発明が適用される一実施形態であって、データシンボルをデコーディングする方法を例示するフローチャートである。
本発明が適用されるデコーダは、コード値の位置情報を含むビットストリームを受信することができる(S1010)。
例えば、前記位置情報は初期範囲及び区間情報のうち、少なくとも1つを含むことができる。
また、前記デコーダはコード値の位置情報に対応するシンボルを確認し(S1020)、確認されたシンボルをデコーディングすることができる(S1030)。
この際、各シンボルの確率によって範囲が分割されることができ、分割された範囲内に如何なるシンボルが含まれているかを確認することによって、シンボルをデコーディングすることができる。
図l1は本発明が適用される一実施形態であって、連結されたROM−RAMテーブルを使用して算術デコーディングを遂行する方法を例示するフローチャートである。
本発明が適用される前記デコーダは、区間長さの最上位1ビットの位置を決定することができる(S1110)。
また、前記デコーダは最上位1ビットの以後に前記位置に1ビットを加えた位置から始まって区間長さの最上位ビットを抽出することができ(S1120)、前記位置で出発してコード値の最上位ビットを抽出することができる(S1130)。
この後、前記デコーダは前記区間長さの最上位ビットと前記コード値の最上位ビットとを結合することによって、デコーディングテーブルインデックスを生成することができる(S1140)。
前記デコーダはROMテーブルから分割の上部及び下部境界を獲得することができ(S1150)、前記上部及び下部境界に基づいてRAMテーブルからバイセクション探索に対する初期値を獲得することができる(S1160)。この際、前記連結されたROM−RAMテーブルはS1150及びS1160の過程で使用できる。
この後、前記デコーダは該当区間内のシーケンスの値を探索することができる(S1170)。
前述したように、本発明で説明した実施形態は、プロセッサ、マイクロプロセッサ、コントローラ、またはチップ上で具現されて遂行できる。例えば、前記図1から図7及び図9に図示した機能ユニットは、コンピュータ、プロセッサ、マイクロプロセッサ、コントローラ、またはチップ上で具現されて遂行できる。
また、本発明が適用されるデコーダ及びエンコーダは、マルチメディア放送送受信装置、モバイル通信端末、ホームシネマビデオ装置、デジタルシネマビデオ装置、監視用カメラ、ビデオ対話装置、ビデオ通信のようなリアルタイム通信装置、モバイルストリーミング装置、格納媒体、キャムコーダ、注文型ビデオ(VoD)サービス提供装置、インターネットストリーミングサービス提供装置、3次元(3D)ビデオ装置、画像電話ビデオ装置、及び医療用ビデオ装置などに含まれることができ、ビデオ信号及びデータ信号を処理するために使用できる。
また、本発明が適用される処理方法はコンピュータにより実行されるプログラムの形態に生産されることができ、コンピュータにより読取可能な記録媒体に格納できる。本発明に従うデータ構造を有するマルチメディアデータもまたコンピュータにより読取可能な記録媒体に格納できる。前記コンピュータにより読取することができる記録媒体はコンピュータにより読取可能なデータが格納される全ての種類の格納装置を含む。前記コンピュータにより読取可能な記録媒体は、例えば、ブルーレイディスク(BD)、汎用直列バス(USB)、ROM、RAM、CD−ROM、磁気テープ、フロッピーディスク、及び光学的データ格納装置を含むことができる。また、前記コンピュータにより読取可能な記録媒体は、搬送波(例えば、インターネットを通じての転送)の形態に具現されたメディアを含む。また、エンコーディング方法により生成されたビットストリームがコンピュータにより読取することができる記録媒体に格納されるか、または有無線通信ネットワークを介して転送できる。
以上、前述した本発明の好ましい実施形態は、例示の目的のために開示されたものであって、当業者であれば、以下の添付された特許請求範囲に開示された本発明の技術的思想とその技術的範囲内で、多様な他の実施形態を改良、変更、代替、または付加などが可能である。

Claims (10)

  1. データシンボルに対する算術デコーディングを遂行する方法であって、
    デコーディングテーブルインデックスを生成するステップと、
    ROMに格納されたデコーディングテーブルからシンボルに割り当てられた区間内の地点と区間長さとの間の割合(Dk/Lk)の上位境界値(Emax)及び下位境界値(Emin)を獲得するステップと、
    前記上位境界値及び前記下位境界値に基づいて、RAMに格納されたデコーディングテーブルからバイセクション(bisection)探索のための初期値を獲得するステップと、
    前記区間内でシーケンス値を探索するステップと、
    前記シーケンス値に対応する前記データシンボルをデコーディングするステップとを含み、
    前記デコーディングテーブルインデックスは、前記区間長さの最上位ビットと、前記シンボルに割り当てられた前記区間内の前記地点の最上位ビットとを結合することにより生成され、
    前記区間は、前記初期値に基づいて決定される、方法。
  2. 前記区間長さの最上位1ビットの位置を決定するステップと、
    前記位置に1ビットを加えた位置から始めて前記最上位1ビットの以後の前記区間長さの最上位ビットを抽出するステップと、
    前記位置から始めて前記地点の前記最上位ビットを抽出するステップと、の後に、前記生成するステップが実行される、請求項1に記載の方法。
  3. 前記上位境界値は、前記シンボルに割り当てられた前記区間内の地点の最大値と前記区間長さの最小値との割合に基づいて決定される、請求項1に記載の方法。
  4. 前記下位境界値は、前記シンボルに割り当てられた前記区間内の地点の最小値と前記区間長さの最大値との割合に基づいて決定される、請求項1に記載の方法。
  5. 前記上位境界値及び前記下位境界値は、掛け算近似に対応するビットシフトに基づいて決定される、請求項1に記載の方法。
  6. データシンボルに対する算術デコーディングを遂行する装置であって、
    デコーディングテーブルインデックスを生成するように構成されたインデックス生成ユニットと、
    ROMに格納されたデコーディングテーブルからシンボルに割り当てられた区間内の地点と区間長さとの割合の上位境界値及び下位境界値を獲得し、前記上位境界値及び前記下位境界値に基づいて、RAMに格納されたデコーディングテーブルからバイセクション(bisection)探索のための初期値を獲得するように構成された連結されたROM−RAMテーブルユニットと、
    前記区間内でシーケンス値を探索するように構成されたバイセクション探索ユニットと、
    前記シーケンス値に対応する前記データシンボルをデコードするように構成されたエントロピーデコーディングユニットとを含
    前記エントロピーデコーディングユニットは、前記インデックス生成ユニットと、前記ROM−RAMテーブルユニットと、前記バイセクション探索ユニットとを備え
    記デコーディングテーブルインデックスは、前記区間長さの最上位ビットと、前記シンボルに割り当てられた前記区間内の前記地点の最上位ビットとを結合することにより生成され、
    前記区間は、前記初期値に基づいて決定される、装置。
  7. 前記インデックス生成ユニットは、
    前記区間長さの最上位1ビットの位置を決定し、
    前記位置に1ビットを加えた位置から始めて前記最上位1ビットの以後の前記区間長さの最上位ビットを抽出し、
    前記位置から始めて前記地点の最上位ビットを抽出するように構成された、請求項6に記載の装置。
  8. 前記上位境界値は、前記地点の最大値と前記区間長さの最小値との割合に基づいて決定される、請求項6に記載の装置。
  9. 前記下位境界値は、前記地点の最小値と前記区間長さの最大値との割合に基づいて決定される、請求項6に記載の装置。
  10. 前記上位境界値及び前記下位境界値は、掛け算近似に対応するビットシフトに基づいて決定される、請求項6に記載の装置。
JP2016575725A 2014-06-29 2015-06-29 連結されたrom−ramテーブルに基づいて算術コーディングを遂行する方法及び装置 Active JP6509916B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201462018645P 2014-06-29 2014-06-29
US62/018,645 2014-06-29
PCT/KR2015/006622 WO2016003131A1 (ko) 2014-06-29 2015-06-29 연결된 rom-ram 테이블에 기초하여 산술 코딩을 수행하는 방법 및 장치

Publications (2)

Publication Number Publication Date
JP2017525266A JP2017525266A (ja) 2017-08-31
JP6509916B2 true JP6509916B2 (ja) 2019-05-08

Family

ID=55019597

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016575725A Active JP6509916B2 (ja) 2014-06-29 2015-06-29 連結されたrom−ramテーブルに基づいて算術コーディングを遂行する方法及び装置

Country Status (6)

Country Link
US (1) US10455247B2 (ja)
EP (1) EP3163877A4 (ja)
JP (1) JP6509916B2 (ja)
KR (1) KR101910376B1 (ja)
CN (1) CN106537913A (ja)
WO (1) WO2016003131A1 (ja)

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030023919A1 (en) * 2001-07-12 2003-01-30 Yuan Warm Shaw Stop iteration criterion for turbo decoding
JP3801501B2 (ja) 2001-12-18 2006-07-26 三菱電機株式会社 符号化装置及び復号装置及び符号化・復号装置及び符号化方法及び復号方法及び符号化・復号方法及びプログラム
SI1550219T1 (sl) * 2002-05-02 2009-04-30 Fraunhofer Ges Forschung Postopek in razvrstitev za aritmetično kodiranje in dekodiranje binarnih stanj kot tudi ustrezen računalniški program in ustrezno računalniško berljivo pomnilniško sredstvo
DK3079261T3 (en) 2002-09-20 2019-04-29 Ntt Docomo Inc METHOD AND APPARATUS FOR ARITHMETIC DECODATION
KR100703773B1 (ko) 2005-04-13 2007-04-06 삼성전자주식회사 향상된 코딩 효율을 갖는 엔트로피 코딩 및 디코딩 방법과이를 위한 장치, 이를 포함하는 비디오 코딩 및 디코딩방법과 이를 위한 장치
US7262722B1 (en) * 2006-06-26 2007-08-28 Intel Corporation Hardware-based CABAC decoder with parallel binary arithmetic decoding
CN101190136B (zh) 2006-11-28 2012-07-18 深圳迈瑞生物医疗电子股份有限公司 实时产生滤波器系数的方法和装置
US7982641B1 (en) * 2008-11-06 2011-07-19 Marvell International Ltd. Context-based adaptive binary arithmetic coding engine
KR20100136890A (ko) 2009-06-19 2010-12-29 삼성전자주식회사 컨텍스트 기반의 산술 부호화 장치 및 방법과 산술 복호화 장치 및 방법
KR101063426B1 (ko) * 2009-08-26 2011-09-07 주식회사 코아로직 이진 산술 복호화 방법 및 장치
JP5624159B2 (ja) 2010-01-12 2014-11-12 フラウンホーファーゲゼルシャフトツール フォルデルング デル アンゲヴァンテン フォルシユング エー.フアー. オーディオ符号化器、オーディオ復号器、オーディオ情報を符号化および復号するための方法、ならびに以前に復号されたスペクトル値のノルムに基づいてコンテキストサブ領域値を取得するコンピュータプログラム
JPWO2013046504A1 (ja) 2011-09-29 2015-03-26 パナソニックIpマネジメント株式会社 算術復号装置、画像復号装置、および算術復号方法
US9888261B2 (en) 2011-11-08 2018-02-06 Samsung Electronics Co., Ltd. Method and device for arithmetic coding of video, and method and device for arithmetic decoding of video

Also Published As

Publication number Publication date
KR20170002479A (ko) 2017-01-06
JP2017525266A (ja) 2017-08-31
KR101910376B1 (ko) 2019-01-04
CN106537913A (zh) 2017-03-22
US20170142437A1 (en) 2017-05-18
EP3163877A4 (en) 2018-03-07
EP3163877A1 (en) 2017-05-03
WO2016003131A1 (ko) 2016-01-07
US10455247B2 (en) 2019-10-22

Similar Documents

Publication Publication Date Title
JP4801776B2 (ja) データ圧縮
TWI768295B (zh) 用於音訊/視訊樣本向量之錐型向量量化檢索/解檢索之方法及裝置
RU2630750C1 (ru) Устройство и способ для кодирования и декодирования исходных данных
JP5736032B2 (ja) 算術符号化のための適応型2値化
US7982641B1 (en) Context-based adaptive binary arithmetic coding engine
KR101688452B1 (ko) 변환 계수 인코딩 및 디코딩 방법 및 장치
KR20190040063A (ko) 인덱스 코딩 및 비트 스케줄링을 갖는 양자화기
JP2020527884A (ja) デジタルデータ圧縮のための方法及びデバイス
JP6426212B2 (ja) 制限されたキャリー演算による算術コーディングを遂行するための方法及び装置
US20130082850A1 (en) Data encoding apparatus, data decoding apparatus and methods thereof
WO2020186535A1 (zh) 点云属性编码方法和装置以及点云属性解码方法和装置
JP2012089917A (ja) 符号化装置および方法、並びにプログラム
US20140269896A1 (en) Multi-Frame Compression
US8970405B2 (en) Method and apparatus for entropy decoding
JP6509916B2 (ja) 連結されたrom−ramテーブルに基づいて算術コーディングを遂行する方法及び装置
US20160323603A1 (en) Method and apparatus for performing an arithmetic coding for data symbols
Mohamed Wireless Communication Systems: Compression and Decompression Algorithms
JP2013009272A (ja) 画像符号化装置、方法及びプログラム、並びに、画像復号化装置、方法及びプログラム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180205

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180220

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20180521

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180612

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181023

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20190123

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190207

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190226

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190305

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190403

R150 Certificate of patent or registration of utility model

Ref document number: 6509916

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250