特許第6509916号(P6509916)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ エルジー エレクトロニクス インコーポレイティドの特許一覧

特許6509916連結されたROM−RAMテーブルに基づいて算術コーディングを遂行する方法及び装置
<>
  • 特許6509916-連結されたROM−RAMテーブルに基づいて算術コーディングを遂行する方法及び装置 図000033
  • 特許6509916-連結されたROM−RAMテーブルに基づいて算術コーディングを遂行する方法及び装置 図000034
  • 特許6509916-連結されたROM−RAMテーブルに基づいて算術コーディングを遂行する方法及び装置 図000035
  • 特許6509916-連結されたROM−RAMテーブルに基づいて算術コーディングを遂行する方法及び装置 図000036
  • 特許6509916-連結されたROM−RAMテーブルに基づいて算術コーディングを遂行する方法及び装置 図000037
  • 特許6509916-連結されたROM−RAMテーブルに基づいて算術コーディングを遂行する方法及び装置 図000038
  • 特許6509916-連結されたROM−RAMテーブルに基づいて算術コーディングを遂行する方法及び装置 図000039
  • 特許6509916-連結されたROM−RAMテーブルに基づいて算術コーディングを遂行する方法及び装置 図000040
  • 特許6509916-連結されたROM−RAMテーブルに基づいて算術コーディングを遂行する方法及び装置 図000041
  • 特許6509916-連結されたROM−RAMテーブルに基づいて算術コーディングを遂行する方法及び装置 図000042
  • 特許6509916-連結されたROM−RAMテーブルに基づいて算術コーディングを遂行する方法及び装置 図000043
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6509916
(24)【登録日】2019年4月12日
(45)【発行日】2019年5月8日
(54)【発明の名称】連結されたROM−RAMテーブルに基づいて算術コーディングを遂行する方法及び装置
(51)【国際特許分類】
   H03M 7/42 20060101AFI20190422BHJP
【FI】
   H03M7/42
【請求項の数】10
【全頁数】22
(21)【出願番号】特願2016-575725(P2016-575725)
(86)(22)【出願日】2015年6月29日
(65)【公表番号】特表2017-525266(P2017-525266A)
(43)【公表日】2017年8月31日
(86)【国際出願番号】KR2015006622
(87)【国際公開番号】WO2016003131
(87)【国際公開日】20160107
【審査請求日】2016年12月28日
(31)【優先権主張番号】62/018,645
(32)【優先日】2014年6月29日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】502032105
【氏名又は名称】エルジー エレクトロニクス インコーポレイティド
(74)【代理人】
【識別番号】100099759
【弁理士】
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100092624
【弁理士】
【氏名又は名称】鶴田 準一
(74)【代理人】
【識別番号】100114018
【弁理士】
【氏名又は名称】南山 知広
(74)【代理人】
【識別番号】100165191
【弁理士】
【氏名又は名称】河合 章
(74)【代理人】
【識別番号】100151459
【弁理士】
【氏名又は名称】中村 健一
(74)【代理人】
【識別番号】100170380
【弁理士】
【氏名又は名称】黒田 裕也
(72)【発明者】
【氏名】アミール サイード
(72)【発明者】
【氏名】アボ タリブ マーフード
【審査官】 北村 智彦
(56)【参考文献】
【文献】 国際公開第2013/046504(WO,A1)
【文献】 特開2003−188736(JP,A)
【文献】 特表2005−525018(JP,A)
【文献】 特表2013−517519(JP,A)
【文献】 米国特許第07262722(US,B1)
【文献】 Amir Said,Introduction to Arithmetic Coding - Theory and Practice,Hewlett Packerd Laboratories Report,2004年 4月21日,pp.1-64
(58)【調査した分野】(Int.Cl.,DB名)
H03M 3/00−9/00
IEEE Xplore
(57)【特許請求の範囲】
【請求項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に記載の装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明はビデオ信号を処理するための方法及び装置に関し、より詳しくは、連結された(concatenated)ROM−RAMテーブルに基づいて算術コーディングを遂行する技術に関する。
【背景技術】
【0002】
エントロピーコーディングは圧縮されたデータシーケンスに挿入されるビットの数を最適に定義するために使われる過程である。したがって、この過程は如何なる種類のデータ及びメディア圧縮においても基本技術となり、最終の圧縮効率及び演算の複雑度に大きな影響を及ぼす。算術コーディングは最適のエントロピーコーディング技術であって、相対的に高い複雑度を有するが、最近広く採択されており、H.264/AVC、H.265/HEVC、VP8、及びVP9ビデオコーディング規格の一部となった。しかしながら、UHD及び高フレーム割合ビデオのような応用分野での非常に高度に圧縮されたデータ処理率に対する損傷が増加するにつれて、新たな形態の速いエントロピーコーディングが必要となった。
【発明の概要】
【発明が解決しようとする課題】
【0003】
二進化のためにはコーディングされる全てのデータが順次に分解されなければならないという問題があり、これによってクロック速度の高い時にのみ早く遂行できる。
【0004】
狭いレジスタが精度の損失を避けるために、個別データビットをできる限り速く抽出することを必要とし、これによって直列化の形態を取らざるを得ない。そして、複雑な掛け算近似が直列化された形態に定義され、速い掛け算は非常に値高いシステムを要するという問題がある。
【0005】
また、コーディング機器がバイセクション(bisection)や更に他の形態の二進木探索を使用する場合、デコーディング過程を二進決定で順次的分解するようになり、コーディングシステムが二進算術コーディングの速度に対する相当な改善をもたらさないという問題がある。
【0006】
また、算術コーディングでシンボルに対する情報がビットに対して直接的に定義されず、要素DkとLkとの間の割合で定義される問題がある。
【課題を解決するための手段】
【0007】
本発明の一実施形態は、テーブル索引(lookup)を使用して算術コーディングの処理率を増加させる方法を提供する。
【0008】
また、本発明の一実施形態は、連結されたROM−RAMテーブル索引を有するデコーダを提供する。
【0009】
また、本発明の一実施形態は、RAM基盤テーブルを大きくて高くないROMテーブルとより小さなRAMテーブルの連結された形態に取り替える方法を提供する。
【0010】
また、本発明の一実施形態は、分割近似のためにテーブル索引を活用する方法を提供する。
【発明の効果】
【0011】
本発明によれば、テーブル索引を使用することによって、算術コーディングの処理率が増加できる。
【0012】
また、本発明によれば、連結されたROM−RAMテーブル索引を有するデコーダは、圧縮効率及び演算の複雑度を向上させることができる。
【0013】
また、本発明によれば、連結されたROM−RAMテーブル索引を有するデコーダは、算術コーディングの如何なる形態にも適用できる。
【0014】
また、本発明によれば、連結されたROM−RAMテーブル索引を有するデコーダは、非常に速いデコーディングを可能にする。
【図面の簡単な説明】
【0015】
図1】本発明が適用される一実施形態であって、ビデオ信号を処理するエンコーダ及びデコーダの概略的なブロック図を図示する。
図2】本発明が適用される一実施形態であって、ビデオ信号を処理するエンコーダ及びデコーダの概略的なブロック図を図示する。
図3】本発明が適用される一実施形態であって、算術コーディング区間データをアップデートするために必要とする演算集合を例示するフローチャートである。
図4】本発明が適用される一実施形態であって、二進算術コーディングに基づいてビデオ信号を処理するエンコーダ及びデコーダの概略的ブロック図を示す。
図5】本発明が適用される一実施形態であって、二進算術コーディングに基づいてビデオ信号を処理するエンコーダ及びデコーダの概略的ブロック図を示す。
図6】本発明が適用される一実施形態であって、大容量データアルファベット(large data alphabet)及び長いレジスタ(long register)を使用して設計された算術コーディングシステムのエンコーダ及びデコーダの概略的なブロック図を示す。
図7】本発明が適用される一実施形態であって、大容量データアルファベット(large data alphabet)及び長いレジスタ(long register)を使用して設計された算術コーディングシステムのエンコーダ及びデコーダの概略的なブロック図を示す。
図8】本発明が適用される一実施形態であって、Pビットレジスタ上にDk及びLkの二進表現ダイヤグラムを示す。
図9】本発明が適用される一実施形態であって、連結されたROM−RAMテーブルを含む算術デコーダの概略的なブロック図を示す。
図10】本発明が適用される一実施形態であって、データシンボルをデコーディングする方法を例示するフローチャートである。
図11】本発明が適用される一実施形態であって、連結されたROM−RAMテーブルを使用して算術デコーディングを遂行する方法を例示するフローチャートである。
【発明を実施するための形態】
【0016】
本発明はデータシンボルに対する算術デコーディングを遂行する方法であって、デコーディングテーブルインデックスを生成するステップと、ROMテーブルからシンボルに割り当てられた区間内の地点と区間長さとの間の割合の上位境界値及び下位境界値を獲得するステップと、前記上位境界値及び前記下位境界値に基づいて、RAMテーブルからバイセクション探索のための初期値を獲得するステップと、区間内でシーケンス値を探索するステップとを含み、前記区間は、前記初期値に基づいて決定されることを特徴とする、方法を提供する。
【0017】
本発明は、前記区間長さの最上位1ビットの位置を決定するステップと、前記位置に1ビットを加えた位置から始めて前記最上位1ビットの以後の前記区間長さの最上位ビットを抽出するステップと、前記位置から始めて前記区間ベースの最上位ビットを抽出するステップとをさらに含むことを特徴とする。
【0018】
本発明は、前記区間長さの最上位ビットとシンボルに割り当てられた区間内の前記地点の最上位ビットとを結合することによって、デコーディングテーブルインデックスを生成するステップをさらに含むことを特徴とする。
【0019】
本発明において、前記上位境界値は、シンボルに割り当てられた区間内の地点の最大値と前記区間長さの最小値との間の割合に基づいて決定されることを特徴とする。
【0020】
本発明において、前記下位境界値は、シンボルに割り当てられた区間内の地点の最小値と前記区間長さの最大値との間の割合に基づいて決定されることを特徴とする。
【0021】
本発明において、前記上位境界値及び前記下位境界値は、掛け算近似に対応するビットシフト演算に基づいて決定されることを特徴とする。
【0022】
本発明は、データシンボルに対する算術デコーディングを遂行する装置において、デコーディングテーブルインデックスを生成するように構成されたインデックス生成ユニットと、ROMテーブルからシンボルに割り当てられた区間内の地点と区間長さとの間の割合の上位境界値及び下位境界値を獲得し、前記上位境界値及び前記下位境界値に基づいて、RAMテーブルからバイセクション(bisection)探索のための初期値を獲得するように構成された連結されたROM−RAMテーブルユニットと、区間内でシーケンス値を探索するように構成されたバイセクション探索ユニットとを含み、前記区間は、前記初期値に基づいて決定されることを特徴とする、装置を提供する。
【0023】
以下、添付の図面を参照して本発明の実施形態の構成及びその作用を説明し、図面により説明される本発明の構成及び作用は1つの実施形態として説明されるものであり、これによって本発明の技術的思想とその核心構成及び作用が制限されるものではない。
【0024】
併せて、本発明で使われる用語はできる限り現在広く使われる一般的な用語を選択したが、特定の場合は出願人が任意に選定した用語を使用して説明する。そのような場合には該当部分の詳細説明でその意味を明確に記載するので、本発明の説明で使われた用語の名称だけで単純解析されてはならず、その該当用語の意味まで把握して解析されるべきであることを明らかにする。
【0025】
また、本発明で使われる用語は発明を説明するために選択された一般的な用語であるが、類似の意味を有する他の用語がある場合、より適切な解析のために代替可能である。例えば、信号、データ、サンプル、ピクチュア、フレーム、ブロックなどの場合、各コーディング過程で適切に代替されて解析できるものである。また、範囲、長さ、区間(または、コーディング区間、算術コーディング区間)、及び区間長さは、各々の算術コーディング過程で適切に代替されて解析できるものである。
【0026】
図1及び図2は、本発明が適用される一実施形態であって、ビデオ信号を処理するエンコーダ及びデコーダの概略的なブロック図を示す。
【0027】
図1のエンコーダ100は、変換ユニット110、量子化ユニット120、及びエントロピーエンコーディングユニット130を含む。図2のデコーダ200は、エントロピーデコーディングユニット210、逆量子化ユニット220、及び逆変換ユニット230を含む。
【0028】
前記エンコーダ100は、ビデオ信号を受信して前記ビデオ信号から予測された信号を差し引きすることによって予測エラーを生成する。
【0029】
生成された前記予測エラーは、変換ユニット110に転送される。前記変換ユニット110は予測エラーに変換方式を適用することによって、変換係数を生成する。
【0030】
前記量子化ユニット120は、前記生成された変換係数を量子化して前記量子化された係数をエントロピーエンコーディングユニット130に転送する。
【0031】
前記エントロピーエンコーディングユニット130は、前記量子化された係数に対するエントロピーコーディングを遂行し、エントロピーコーディングされた信号を出力する。この場合、前記エントロピーコーディングは、圧縮されたデータシーケンスに入るビットの個数を最適に定義するために使われる過程である。最適のエントロピーコーディング技術のうちの1つである算術コーディングは、多重シンボルを単一の実数で示す方法である。
【0032】
本発明はテーブル索引を使用することによって、また、より特定的には、RAM基盤テーブルを連続して大きくて高くないROMテーブル及びより小さなRAMテーブルに取り替えることによって、算術コーディング技術の処理率(秒当たり処理されるビット)を向上させる方法上の改善を定義する。
【0033】
本発明の一側面で、前記エントロピーエンコーディングユニット130は、各々のデータシンボルに対して掛け算近似を使用して区間をアップデートし、ビットシフト演算及びアップデートされた区間内での足し算を使用して掛け算結果に対する掛け算近似を計算することができる。
【0034】
前記計算過程で、前記エントロピーエンコーディングユニット130は、長さの最上位1ビットの位置を決定することができ、近似した長さを獲得するために前記最上位1ビットの以後の長さの最上位ビットのうちの一部を抽出することができる。このような場合に、前記区間は近似した長さ及び掛け算結果の結果として示されるビットに基づいてアップデートされる。
【0035】
図2のデコーダ200は、図1のエンコーダ100により出力された信号を受信する。
【0036】
前記エントロピーデコーディングユニット210は、受信された信号に対するエントロピーデコーディングを遂行することができる。例えば、前記エントロピーデコーディングユニット210は、コード値の位置情報を含む信号を受信し、前記コード値の位置情報に対応するシンボルを確認し、確認されたシンボルをデコーディングすることができる。
【0037】
本発明の更に他の側面で、前記エントロピーデコーディングユニット210は、区間長さの最上位ビットとコード値の最上位ビットを結合することによって、デコーディングテーブルインデックスを生成することができる。
【0038】
このような場合に、区間長さの最上位ビットは前記最上位1ビットの以後に前記位置に1ビットを加えた地点から出発して抽出されることができ、前記コード値の最上位ビットは区間長さの最上位1ビットの位置から出発して抽出できる。
【0039】
一方、前記逆量子化ユニット220は前記エントロピーデコーディングされた信号から量子化ステップの大きさに対する情報に基づいて変換係数を獲得する。
【0040】
前記逆変換ユニット230は、前記変換係数に対する逆変換を遂行することによって、予測エラーを獲得する。前記予測エラーを予測信号に加えることによって、復元された信号が生成される。
【0041】
図3は本発明が適用される一実施形態であって、算術コーディング区間データをアップデートするために必要な演算集合を例示するフローチャートである。
【0042】
本発明が適用される算術コーディング器は、データソースユニット310、データモデリングユニット320、1次遅延ユニット330、及び2次遅延ユニット340を含むことができる。
【0043】
前記データソースユニット310は、次の<数式1>のようにM個のシンボルのアルファベットから各々N個のランダムなシンボルのシーケンスを生成することができる。
【0044】
【数1】
【0045】
この場合、本発明は前記データシンボルが次の<数式2>のように0でない確率を有しながら全て独立的で、かつ同一に分布したものとして仮定する。
【0046】
【数2】
【0047】
また、本発明は次の<数式3>のように累積確率分布を定義することができる。
【0048】
【数3】
【0049】
この場合、c(s)は厳格に単調的(monotonic)であり、c(0)=0で、c(M)=1である。
【0050】
このような条件が実際の複雑な媒体信号で発見されるものと大きく異なるものと見えることもできるが、事実相、全てのエントロピーコーディング道具がこのような仮定から導出された技術に基づいており、したがって、本発明はこのような単純なモデルに制限された具現を提供することができる。
【0051】
算術コーディングは主に実数直線上の[bk、bk+lk]形態の半開区間をアップデートするステップで構成され、この際、bkは区間ベースを示し、lkはその長さを示す。これら区間は各々のデータシンボルskによってアップデートされ、初期条件b1=0及びl1=1から始まって次の<数式4>及び<数式5>を使用してk=1,2,...Nに対して再帰的にアップデートされる。
【0052】
【数4】
【0053】
【数5】
【0054】
この場合、前記区間は次の<数式6>のように徐々に内部に含まれることができる。
【0055】
【数6】
【0056】
前記説明したように、図3を参照すると、前記データモデリングユニット320はN個のランダムなシンボルSkのシーケンスを受信することができ、前記累積確率分布C(Sk)及びシンボル確率p(Sk)を出力することができる。
【0057】
区間長さlk+1はデータモデリングユニット320から出力されたSk及び1次遅延ユニット330から出力されたlkの掛け算演算により獲得できる。
【0058】
また、前記区間ベースbk+1は2次遅延ユニット340から出力されたbkの足し算演算及びC(Sk)とlkの掛け算から獲得できる。
【0059】
本発明が適用される算術コーディングは、掛け算と足し算の算術演算で定義できる。この場合、bk及びlkは無限精度(infinite precision)で示すことができるが、これははじめに直観的に簡単なバージョンで表現を導入するために使われる。以後、本発明は有限精度(finite precision)動作を使用して算術コーディングを近似するように具現する方法を提供する。
【0060】
【表1】
【0061】
【表2】
【0062】
【数7】
【0063】
【数8】
【0064】
【数9】
【0065】
【表3】
【0066】
実際的な算術コーディングの具現のために、本発明は全ての足し算が無限精度で遂行されるが、掛け算は有限精度を使用して一部の特性が保存されるように近似するという事実を考慮することができる。本明細書では、本発明の理解のために必要な内容のみを扱う。例えば、区間再正規化は本発明を説明するに当たって必要な部分であるが、これは本発明に影響を及ぼさないので、本明細書で説明されない。
【0067】
【表4】
【0068】
【数10】
【0069】
【数11】
【0070】
この場合、掛け算値を囲む二重大括弧(double brackets)は前記掛け算が有限精度近似(finite precision approximations)によるものであることを示す。
【0071】
【表5】
であるので、前記<数式10>は<数式4>に対応する。
【0072】
したがって、前記デコーディング過程は次の<数式12>から<数式14>のように定義できる。
【0073】
【数12】
【0074】
【数13】
【0075】
【数14】
【0076】
算術デコーディングの重要な側面のうちの1つは、一部の非常に簡単な場合を除いて、<数式7>からskを直接的に探し出す方法がないし、一部の類型の探索が必要であるということである。例えば、c(s)は厳格に単調的であるので、本発明はバイセクション探索を使用することができ、skを0(log2M)回のテストにより探すことができる。これは、平均的探索性能もシンボル確率の分布を用いる探索技術を使用することによって改善できる。
【0077】
図4及び図5は本発明が適用される一実施形態であって、二進算術コーディングに基づいてビデオ信号を処理するエンコーダ及びデコーダの概略的ブロック図を示す。
【0078】
本発明が適用された算術コーディングの具現は、次のような要素に基づくことができる。
【0079】
第1に、掛け算のような算術演算は相対的に費用が高くて、これら演算は概略的近似及びテーブル索引方式に取り替えることができる。
【0080】
第2に、掛け算結果を除去するとしても、本発明は中間結果及び足し算を維持するためにプロセッサレジスタを必要とすることができる。より簡単なハードウェア具現のために、8または16ビットだけのレジスタが利用できる。
【0081】
第3に、デコーダは<数式12>の探索を具現しなければならないので、エンコーダに比べて非常に遅いことがあり、このような複雑度はアルファベット大きさMが大きくなるほど増加する。
【0082】
このような問題点を全て解決したコーディングの一形態が二進算術コーディングであり、これは二進入力アルファベット(即ち、M=2)のみに適用された。如何なるアルファベットからのデータシンボルも二進シンボルのシーケンスに変換(二進化)できるので、これは実際的に根本的な制限ではない。図4及び図5は、このような類型のコーディングを具現するエンコーダとデコーダを各々示す。
【0083】
前記エンコーダ400は、二進化ユニット410、遅延ユニット420、確率推定ユニット430、及びエントロピーエンコーディングユニット440を含む。また、前記デコーダ500は、エントロピーデコーディングユニット510、遅延ユニット520、確率推定ユニット530、及び集積ユニット540を含む。
【0084】
前記二進化ユニット410は、データシンボルのシーケンスを受信し、二進化を遂行することによって、二進化された値0または1で構成された二進データストリングを出力することができる。前記出力された二進データストリングは、遅延ユニット420を通じて確率推定ユニット430に転送される。前記確率推定ユニット430は、エントロピー−エンコーディングのための確率推定を遂行する。
【0085】
前記エントロピーエンコーディングユニット440は、出力されたビットストリング及び出力された圧縮データビットに対するエントロピーエンコーディングを遂行する。
【0086】
前記デコーダ500は、前記エンコーディング過程を逆に遂行することができる。
【0087】
しかしながら、図4及び図5のコーディングシステムは、次のような問題を有することができる。
【0088】
まず、二進化のためにはコーディングされる全てのデータが順次に分解されなければならず、これによってクロック速度が高い時のみに早く遂行できる。そして、狭いレジスタ(narrow registers)が精度の損失を避けるために、個別データビットをできる限り速く抽出することを必要とし、これによって直列化の形態を取らざるを得ない。
【0089】
本発明が解決しようとする部分は、<数式12>を用いるskの探索における複雑度である。コーディングシステムがバイセクションまたは更に他の形態の二進木探索を使用する場合、前記コーディングシステムはデコーディング過程を二進決定に順次に分解しなければならない問題を有することができ、これは二進算術コーディングの速度に対する相当な改善をもたらさない。
【0090】
したがって、本発明は如何なる形態の算術コーディングにも適用できるシステムを提案しようとし、これは図6及び図7のエンコーダ及びデコーダを通じて説明する。
【0091】
図6及び図7は本発明が適用される一実施形態であって、大容量データアルファベット(large data alphabet)及び長いレジスタ(long register)を使用して設計された算術コーディングシステムのエンコーダ及びデコーダの概略的なブロック図を示す。
【0092】
図6及び図7を参照すると、前記エンコーダ600は、遅延ユニット620、確率推定ユニット630、及びエントロピーエンコーディングユニット640を含む。また、前記デコーダ700は、エントロピーデコーディングユニット710、遅延ユニット720、及び確率推定ユニット730を含む。ここで、前記エントロピーエンコーディングユニット640は大容量のデータアルファベット(large data alphabet)を直接受信して、大容量のデータアルファベット及び長いレジスタ(long register)に基づいて二進ワード(binary word)の圧縮されたデータを生成することができる。
【0093】
データシンボルに対する算術コーディングのために、まずエントロピーエンコーディングユニット640が各々のデータシンボルに対する区間を生成することができる。このような場合に、前記区間は開始地点及び区間の長さに基づいて表現できる。
【0094】
前記エントロピーエンコーディングユニット640は、掛け算近似を使用して各々のデータシンボルに対して区間をアップデートすることができる。このような場合に、前記掛け算結果に対する掛け算近似は、負数を含む因子(factor)の最適化により遂行できる。また、掛け算結果に対する掛け算近似の大きさがレジスタビットの個数に調整できる。
【0095】
この後、前記エントロピーエンコーディングユニット640は、ビットシフト演算及び前記アップデートされた区間内での足し算を使用して掛け算結果の掛け算近似を計算することができる。このような場合、前記エンコーダは長さの最上位1ビットの位置を決定し、近似化された長さを獲得するために前記最上位1ビットの以後に長さの上位ビットのうちの一部を抽出することができる。前記区間は、前記近似化した長さ及び結果的に示される掛け算結果のビットに基づいてアップデートできる。
【0096】
前記過程を通じて大容量データアルファベット(large data alphabet)と長いレジスタ(long register)を使用することによって、算術コーディングの毎秒当たり処理されたビットが増加できる。
【0097】
また、図4及び図5の説明は、前記エンコーダ600及び前記デコーダ700の機能ユニットに適用できる。
【0098】
図8は本発明が適用される一実施形態であって、Pビットレジスタ上にDk及びLkの二進表現ダイヤグラムを示す。
【0099】
本発明において、ハフマン(Huffman)コードのデコーディングを加速させるために使用する方式のうちの1つは、テーブル索引を使用するものである。即ち、1回に1つのビットを読んで、新たなコードツリーに移動する代わり、多数のビットを読んで、読まれたビットは既に算術されたテーブルのインデックスを生成するために用いられる。ハフマンコードは、コーディングされたシンボルに対して整数個のビットを生成することによって、読まれる次のビットの集合を容易に定義することができる。しかしながら、このような内容は算術コーディングには適合しないことがある。
【0100】
算術コーディングは、シンボルに対する情報がビットに対して定義されず、DkとLkとの間の割合として定義できる。
【0101】
本発明は、Dkを正規化するために割算を使用することができる。
【0102】
【数15】
【0103】
【数16】
【0104】
<数式15>で、Eは分数Dk/Lkの量子化されたバージョンである。本発明は、<数式15>のEから<数式16>のバイセクション探索(bisection search)のための初期値を探すことができ、これはKt個の元素を有するテーブルに格納されることができ、より速いデコーディングを可能にする。前記テーブル項目は以下の数式により決定できる。
【0105】
【数17】
【0106】
【数18】
【0107】
【表6】
であるので、デコーディングを矯正するために1つのテーブルであれば充分である。前記‘1つのテーブル’は周期的にアップデートされるRAMに格納されなければならないので、RAMテーブルとして定義できる。また、テーブル索引はバイセクション探索(bisection search)を初期化するためのものであるので、モデルがアップデートされる度にテーブルを計算するオーバーヘッドは小さいことがある。
【0108】
テーブル索引デコーディング(table look−up decoding)での制限事項(constraint)は低い複雑度のハードウェアプラットフォームで割算が32ビットレジスタを使用するとしても高いということである。
【0109】
したがって、本発明はテーブル基盤デコーディング方法を提案し、具体的に割算近似のためにテーブル索引を使用する方法を提供する。本発明は、テーブルインデックスを生成するためにDk及びLkから抽出される特別な部分集合を定義することができる。ここで、前記テーブルインデックスは追加的な探索を必要とするシンボルの範囲を知らせるテーブル要素を含むことができる。
【0110】
以下、本発明の一実施形態であるテーブルインデックス及び項目を生成する方法を説明する。
【0111】
次の<数式19>に基づいて、本発明はDk及びLkの割合が0でない最上位ビット(most significant nonzero bits)により大部分定義できることを確認することができる。
【0112】
【数19】
【0113】
図8を参照すると、Pビット整数として格納されるDk及びLkの二進表現を示す。本発明は、速いプロセッサ演算を使用してLkの最上位1ビットの位置Qを探し出すことができる。これを通じて、本発明は図8に示すように、LkからT個のビットu12・・・uTを抽出し、DkからT+1個のビットv012・・・vTを抽出することができる。このようなビットは二進表現u12・・・uT012・・・vTとして整数Zを生成するために使われることができ、これは22T+1個の項目を有するデコーディングテーブルのインデックスに使用できる。
【0114】
ビット位置Qが与えられれば、割算(Dk/Lk)の上位境界値と下位境界値は<数式20>により定義できる。
【0115】
【数20】
【0116】
ここで、Eminは割算(Dk/Lk)の上位境界値を意味し、Emaxは割算(Dk/Lk)の下位境界値を意味する。例えば、Eminは[Dmin/Lmax]として定義されることができ、Emaxは[Dmax/Lmin]として定義できる。したがって、Emin及びEmaxは<数式21>及び<数式22>で表現できる。
【0117】
【数21】
【0118】
【数22】
【0119】
ここで、‘a’は掛け算近似に対応するビットシフト(bit shift)を示す。このような値をRAM−テーブルのインデックスに使用することによって、バイセクション探索(bisection search)のための初期値が<数式23>及び<数式24>のように獲得できる。
【0120】
【数23】
【0121】
【数24】
【0122】
これによって、本発明は次のようなシンボルデコーディング過程を提供することができる。
【0123】
前記デコーダはLkの最上位1ビットのビット位置Qを決定し、ビット位置Q+1から始めて、LkのT個の最上位ビットを抽出することができる。また、ビット位置Qから始めて、前記デコーダはDkのT+1個の最上位ビットを抽出することができる。
【0124】
この後、前記デコーダは前記2T+1個のビットを結合してテーブルインデックスZを形成することができる。前記デコーダは、前記テーブルからEmin及びEmaxを獲得し、区間[smin(Z)、smax(Z)]のみで次の<数式25>を満たすsの値を探索することができる。
【0125】
【数25】
【0126】
図9は本発明が適用される一実施形態であって、連結されたROM−RAMテーブルを含む算術デコーダの概略的なブロック図を示す。
【0127】
本発明が適用されるデコーダは、インデックス生成ユニット910、連結されたROM−RAMテーブルユニット920、バイセクション探索ユニット930、及びデータモデルユニット940を含む。前記連結されたROM−RAMテーブルユニット920は、ROMテーブル921、及びRAMテーブル922を含む。
【0128】
前記インデックス生成ユニット910はDkとLKを受信し、Dk及びLKから特定のビットの集合を抽出することができる。また、前記インデックス生成ユニット910は前記特定のビットの集合に基づいてデコーディングテーブルに対するインデックスZを生成することができる。このような場合に、前記インデックスZはLKのT個の最上位ビット及びDkのT+1個の最上位ビットに基づいて形成できる。
【0129】
前記生成されたインデックスZは、前記連結されたROM−RAMテーブルユニット920に転送できる。前記転送されたインデックスZは、前記連結されたROM−RAMテーブルユニット920のROMテーブル921に格納できる。割算(Dk/Lk)の上部境界及び下部境界、EmaxとEminはROMテーブル921から獲得されることができ、RAMテーブル922に転送できる。例えば、Emax及びEminは<数式21>及び<数式22>に基づいて獲得できる。
【0130】
前記RAMテーブル922は、ROMテーブル921からEmax及びEminを受信し、バイセクション探索のための初期値を出力することができる。このような値をRAMテーブルに対するインデックスに使用して、バイセクション探索の初期値、Smax及びSminが獲得できる。このような場合、<数式23>及び<数式24>が使用できる。
【0131】
前記バイセクション探索ユニット930は、該当区間[Smin(Emin)、Smax(Emax)]でsの値のみを探索して、sの値を出力することができる。このような場合、前記sの値は<数式25>を満たす。
【0132】
より大きいテーブルを使用することによって、よりよい近似を得ることができるということは明らかであり、十分に大きいテーブルに対してEmin=Emaxの結果を得ることができ、これはこれらが実際の割算値のような効率として探索範囲を狭めることができることを意味する。
【0133】
前記連結されたROM−RAMテーブルはアップデートを要せず、ROMに格納できるのでROMテーブルと呼ばれることができる。また、RAMテーブル内の項目の個数が知られれば、Emin及びEmaxの該当最上位ビットのみ格納される必要がある。例えば、RAMテーブル内の項目の個数が256の場合には、Emin及びEmaxの最上位8ビットのみを格納するだけで充分でありうる。
【0134】
図10は本発明が適用される一実施形態であって、データシンボルをデコーディングする方法を例示するフローチャートである。
【0135】
本発明が適用されるデコーダは、コード値の位置情報を含むビットストリームを受信することができる(S1010)。
【0136】
例えば、前記位置情報は初期範囲及び区間情報のうち、少なくとも1つを含むことができる。
【0137】
また、前記デコーダはコード値の位置情報に対応するシンボルを確認し(S1020)、確認されたシンボルをデコーディングすることができる(S1030)。
【0138】
この際、各シンボルの確率によって範囲が分割されることができ、分割された範囲内に如何なるシンボルが含まれているかを確認することによって、シンボルをデコーディングすることができる。
【0139】
図l1は本発明が適用される一実施形態であって、連結されたROM−RAMテーブルを使用して算術デコーディングを遂行する方法を例示するフローチャートである。
【0140】
本発明が適用される前記デコーダは、区間長さの最上位1ビットの位置を決定することができる(S1110)。
【0141】
また、前記デコーダは最上位1ビットの以後に前記位置に1ビットを加えた位置から始まって区間長さの最上位ビットを抽出することができ(S1120)、前記位置で出発してコード値の最上位ビットを抽出することができる(S1130)。
【0142】
この後、前記デコーダは前記区間長さの最上位ビットと前記コード値の最上位ビットとを結合することによって、デコーディングテーブルインデックスを生成することができる(S1140)。
【0143】
前記デコーダはROMテーブルから分割の上部及び下部境界を獲得することができ(S1150)、前記上部及び下部境界に基づいてRAMテーブルからバイセクション探索に対する初期値を獲得することができる(S1160)。この際、前記連結されたROM−RAMテーブルはS1150及びS1160の過程で使用できる。
【0144】
この後、前記デコーダは該当区間内のシーケンスの値を探索することができる(S1170)。
【0145】
前述したように、本発明で説明した実施形態は、プロセッサ、マイクロプロセッサ、コントローラ、またはチップ上で具現されて遂行できる。例えば、前記図1から図7及び図9に図示した機能ユニットは、コンピュータ、プロセッサ、マイクロプロセッサ、コントローラ、またはチップ上で具現されて遂行できる。
【0146】
また、本発明が適用されるデコーダ及びエンコーダは、マルチメディア放送送受信装置、モバイル通信端末、ホームシネマビデオ装置、デジタルシネマビデオ装置、監視用カメラ、ビデオ対話装置、ビデオ通信のようなリアルタイム通信装置、モバイルストリーミング装置、格納媒体、キャムコーダ、注文型ビデオ(VoD)サービス提供装置、インターネットストリーミングサービス提供装置、3次元(3D)ビデオ装置、画像電話ビデオ装置、及び医療用ビデオ装置などに含まれることができ、ビデオ信号及びデータ信号を処理するために使用できる。
【0147】
また、本発明が適用される処理方法はコンピュータにより実行されるプログラムの形態に生産されることができ、コンピュータにより読取可能な記録媒体に格納できる。本発明に従うデータ構造を有するマルチメディアデータもまたコンピュータにより読取可能な記録媒体に格納できる。前記コンピュータにより読取することができる記録媒体はコンピュータにより読取可能なデータが格納される全ての種類の格納装置を含む。前記コンピュータにより読取可能な記録媒体は、例えば、ブルーレイディスク(BD)、汎用直列バス(USB)、ROM、RAM、CD−ROM、磁気テープ、フロッピーディスク、及び光学的データ格納装置を含むことができる。また、前記コンピュータにより読取可能な記録媒体は、搬送波(例えば、インターネットを通じての転送)の形態に具現されたメディアを含む。また、エンコーディング方法により生成されたビットストリームがコンピュータにより読取することができる記録媒体に格納されるか、または有無線通信ネットワークを介して転送できる。
【産業上の利用可能性】
【0148】
以上、前述した本発明の好ましい実施形態は、例示の目的のために開示されたものであって、当業者であれば、以下の添付された特許請求範囲に開示された本発明の技術的思想とその技術的範囲内で、多様な他の実施形態を改良、変更、代替、または付加などが可能である。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11