エントロピー符号化装置、エントロピー復号装置、エントロピー符号化方法及びエントロピー復号方法
【課題】CABACと同一の圧縮率を維持しながら、“0”と“1”の生起確率に偏りがない2値シンボルに対する符号化の処理負荷を低減することができるようにする。
【解決手段】算術符号化部6のほかに、符号化方式切替スイッチ4から出力された2値シンボルを符号化bitとして出力するバイパス符号化部7を設け、符号化データ出力部8が、算術符号化部6から出力された符号化bitとバイパス符号化部7から出力された符号化bitを多重化して符号化データを生成する。
【解決手段】算術符号化部6のほかに、符号化方式切替スイッチ4から出力された2値シンボルを符号化bitとして出力するバイパス符号化部7を設け、符号化データ出力部8が、算術符号化部6から出力された符号化bitとバイパス符号化部7から出力された符号化bitを多重化して符号化データを生成する。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、多値シンボル系列を2値化して、2値シンボル系列をエントロピー符号化するエントロピー符号化装置及びエントロピー符号化方法と、符号化データから2値シンボル系列を復号し、2値シンボル系列を多値化して多値シンボル系列を出力するエントロピー復号装置及びエントロピー復号方法とに関するものである。
【背景技術】
【0002】
従来より、生起確率が異なる多値シンボル系列を効率よくエントロピー符号化する手法として、例えば、非特許文献1に記載されているCABAC(Context−based Adaptive Binarization Arithmetic Coding)が知られている。
CABACは、符号化対象のシンボルを2値化するとともに、各2値シンボルの優勢シンボルの生起確率をコンテキストに基づいて推定し、その優勢シンボルの生起確率を用いて、各2値シンボルを算術符号化する技術である。
【0003】
2値シンボルに対する算術符号化は、2値シンボルの優勢シンボルの生起確率を示す確率情報と、その2値シンボルが優勢シンボルであるか否かを示す情報とを用いて、0から1の有限な数直線Iを区間分割し、最終的に得られた数直線上の確率区間の座標を符号化データとするエントロピー符号化手段である。
【0004】
図12は2値シンボル系列を算術符号化する場合の概念図である。
図12では、2値シンボル系列内の先頭の2値シンボルから順番に1つずつ処理を行う例を示している。
ここでは、2値シンボル系列内の各2値シンボルが優勢シンボルであるか否かを示す優勢シンボル情報(“0”および“1”のうち、生起する確率が高いシンボルがどちらであるかを示す情報)と、優勢シンボルの生起確率を示す確率情報は既知であるとする。
先頭からk番目の2値シンボルbkを処理する時点の確率区間をIk(図12の数直線上の太線部分)とおき、2値シンボルbkにおける優勢シンボルの生起確率pk(0.5<pk≦1)を用いて、確率区間Ikをpklkと(1−pk)lkに分割する。
ただし、lkは確率区間Ikの長さを表している。
この際、例えば、長さpklkの区間(優勢シンボル区間:IMk)が常に下側に位置し、長さ(1−pk)lkの区間(劣勢シンボル区間:ILk)が常に上側に位置するように、確率区間Ikを分割している。
【0005】
2値シンボルbkが優勢シンボルである場合はIk+1=IMkとし、2値シンボルbkが劣勢シンボルである場合はIk+1=ILkとする。
I 0=Iとして、この処理を繰り返すことで、入力された2値シンボル系列に応じて、一意に数直線上の1つの確率区間が求まる。
この確率区間内の座標を2進数で表現したものが算術符号化の出力となる。
復号側において、各2値シンボルの優勢シンボル情報と優勢シンボルの生起確率情報が既知であれば、符号化側から出力された数直線上の座標値から2値シンボルの系列を一意に復号することができる。
【0006】
図13は数直線上の座標の2進数表現を示す説明図である。
図13から分かるように、区間の長さが大きいほど、少ないbit数で区間内の座標を表せることが分かる。よって、優勢シンボルが多いほど、高い効率で圧縮することができ、また、優勢シンボルの生起確率が大きいほど、高い効率で圧縮することができる。
2値シンボルが逐次的に入力される場合、出力である座標値を示すbit系列も、bit系列の先頭から逐次的に出力することが可能である。
【0007】
映像符号化の国際規格であるH.264で用いられているCABACでは、以下に説明する考え方により、乗除算演算を用いない逐次的な算術符号化処理を実現している。
H.264におけるCABACの算術符号化モジュールでは、“0”から“1023”までの1024段階の整数精度の数直線を内部に保持しており、確率区間が、この離散的な数直線上の区間として扱われる。
また、優勢シンボルの生起確率が、確率状態という整数精度の変数で擬似的に表現され、優勢シンボル区間の長さや劣勢シンボル区間の長さも、予め定義されているテーブルを用いて、整数の加算・減算のみで計算される。
【0008】
算術符号化が進むほど、確率区間長が短くなり、1024段階では表現できなくなるため、確率区間長が一定以下の値になる度に、確率区間が含まれる数直線上の一定区間が切り出されて2倍に拡大する処理(再正規化)が行われる。
具体的には、確率区間長が、256〜510を維持するように、再正規化処理が行われる。即ち、確率区間長が256未満になった時点で、確率区間長が256を超すまで再正規化が行われる。
【0009】
n回の再正規化を行った後の算術符号化モジュールが内部的に持つ数直線は、算術符号化のアルゴリズムにおいて考慮する“0”から“1”までの数直線I全体のうち、現在の確率区間が存在する区間を1/2nの幅で切り出し、拡大して表現したものである。
以降、この内部的に保持されている数直線が表す区間を処理区間と呼び、n回の再正規化を行った時点での処理区間をJnとし、J0=Iとする。
ここで、処理区間Jnの部分区間として、“512”から“1023”の区間をJun、“0”から“511”の区間をJln、“256”から“768”の区間をJcnとおくと、再正規化を行うタイミングにおいて、確率区間がJunに完全に含まれている場合は、Jn+1=Junとし(図14(a)を参照)、確率区間がJlnに完全に含まれている場合は、Jn+1=Jlnとし(図14(b)を参照)、確率区間がJun及びJlnを跨っている場合は、Jn+1=Jcn(図14(c)を参照)とする。
【0010】
また、再正規化を1回行う度に、以下の法則でbitを一つ出力する。
Jn+1=Jcnとなる場合、“未確定”のbitを出力する。
Jn+1=Junとなる場合、これまでに出力されたbitに未確定bitが存在していなければ“1”を出力する。
一方、未確定bitが存在していれば、時系列的に最も早い未確定bitを“1”に確定し、それ以降の未確定bitを全て“0”に確定して、更に“0”を出力する。
また、Jn+1=Jlnとなる場合、これまでに出力されたbitに未確定bitが存在していなければ“0”を出力する。
一方、未確定bitが存在していれば、時系列的に最も早い未確定bitを“0”に確定し、それ以降の未確定bitを全て“1”に確定して、更に“1”を出力する。
【0011】
図15は上記の法則にしたがって再正規化を行っていった場合の数直線Iの上での処理区間Jnの位置と長さを示す説明図である。
図15では、JunはJnの上半分、Jlnは下半分として示している。また、数直線上の太線が各時点での確率区間を表している。
1回目の再正規化では、確率区間がJl0に含まれ、かつ、未確定bitが存在しないため“0”を出力し、J1=Jl0となる。
2回目の再正規化では、確率区間がJu1に含まれ、かつ、未確定bitが存在しないため“1”を出力し、J2=Ju1となる。
3回目の再正規化では、確率区間がJc2に含まれるため、未確定bitを出力し、J3=Jc2となる。
4回目の再正規化では、確率区間がJu3に含まれ、かつ、未確定bitが存在するため、3回目の再正規化時に出力した未確定bitを“1”に確定し、“0”を出力する。
【0012】
図15に示されるように、n回の再正規化を行った時点において、算術符号化モジュールから出力されるbit系列は、未確定bitが存在しない状態であれば、その時点における処理区間Jnの数直線I全体における座標を示すことになる。
入力のbin系列が全て符号化された後に、未確定bitが存在しなくなるように適切な終端処理を行うことで、入力のbin系列を一意に復号できる数直線I上の座標を示すbit系列が得られる。
以上の考え方により、乗除算を用いない逐次的な算術符号化を実現している。
【0013】
また、乗除算を用いない逐次的な算術復号処理は、以下の考え方により実現している。
復号側でも符号化側と同様に、確率区間長が256〜510を維持するように再正規化を繰り返しながら確率区間情報を保持している。
各binの確率情報及び確率区間の初期値が符号化側と一致していれば、あるbinの復号時の確率区間は、当該binを符号化した際の算術符号化モジュールが内部的に保持している確率区間と一致する。
n回の再正規化を行った時点の内部的に保持する確率区間は、数直線I上の確率区間を含む区間を1/2n+1の幅で切り取り、512段階に離散化したものとみなすことができる。
【0014】
算術復号処理は、入力のbit系列を読み込みながら区間Hnを求め、区間Hnと確率区間の重なりにより復号処理を行う。
図16は算術復号処理を示す説明図である。
図中の太線は数直線I上での確率区間を表し、優勢シンボル区間と劣勢シンボル区間に分割されている。
このとき、優勢シンボル区間と劣勢シンボル区間のいずれかどちらかのみに、区間Hnが重なるまでbitが読み込まれる。
即ち、図16のように確率区間が分割されている場合、1番目のbitを読むことで求まる区間H1が、優勢シンボル区間と劣勢シンボル区間の両方に重なっているため、次のbitが読み込まれる。
同様に、区間H2,H3も、優勢シンボル区間と劣勢シンボル区間の両方に重なっており、4番目のbitまで読んだ時点で、区間H4が優勢シンボル区間のみに重なる。
よって、この場合、ここで復号されるbinは、優勢シンボルであるという情報が復号結果として出力される。このような処理が再正規化を繰り返しながら行われる。
【0015】
なお、内部的な確率区間は512段階で表現されているため、再正規化をn回行った時点で、そこから更に9bit分読み込んだ区間Hn+9は、長さが1段階分となり、必ず優勢シンボル区間もしくは劣勢シンボル区間のいずれかのみに重なる。
よって、復号処理の初期化時に9bit分固定的に読み取り、それ以降は再正規化後に1bitずつ読むという動作でも、復号処理を進めることができる。
以上の考え方により、乗除算を用いない逐次的な算術復号を実現している。
【0016】
上述のとおり、算術符号化・復号にはbinの確率情報を必要とする。H.264で用いられているCABACでは、bin毎に符号化モードを定めており、符号化モードに基づいて当該bin確率情報の求め方が異なっている。
符号化モードには、例えばノーマル算術符号化モード、バイパス符号化モードがある。
ノーマル算術符号化モードは、既知のコンテキスト情報に基づいて推定された優勢シンボル情報および優勢シンボル生起確率を用いて符号化するモードである。
バイパス符号化モードは、優勢シンボルを定義せず、また優勢シンボル生起確率として0.5を固定的に用いて符号化するモードである。
ここで、上述のバイパス符号化モードによる符号化では、“0”と“1”の生起確率が等しいとして符号化を行うため、情報理論上圧縮が不可能であり、実際の動作としても1binの符号化につき必ず1bitが出力される。よってバイパス符号化モードは、2値シンボルを全く圧縮せずに算術符号化する符号化モードと言い換えることができる。
ノーマル算術符号化モードにおける確率状態の推定処理を行う必要はないが、区間の分割などの演算は同様に行う必要がある。
【0017】
算術符号化の枠組みにおいては、あるbinの符号化時に出力されるbitの値は前後のbinの確率状態に依存して変化するため、たとえ圧縮を行わない場合であっても、上述の算術符号化手法に基づく符号化・復号を行う必要がある。
これから分かるように、従来のCABACのバイパス符号化モードは、確率状態推定を行わないことによる演算量の低減効果はあるが、それ以外の区間分割などの処理はノーマル算術符号化モードと同様に行わなければならないため、一定の演算負荷がかかる。
【先行技術文献】
【非特許文献】
【0018】
【非特許文献1】D. Marpe,H. Schwarz,and T.Wiegand,“Context-adaptive binary arithmetic coding in the H.264/AVC video compression standard”,IEEE Trans. Circuits Syst. Video Technol.,vol. 13,pp.620−636(2003).
【発明の概要】
【発明が解決しようとする課題】
【0019】
従来のエントロピー符号化装置は以上のように構成されているので、CABACでは、“0”と“1”の生起確率に偏りがない2値シンボルに対して、バイパス符号化モードを導入することで、確率状態推定処理の処理負荷の低減を実現している。しかし、数直線の分割に関わる演算は、ノーマル算術符号化・復号と同様の処理を行う必要があるため、バイパス符号の符号化処理や復号処理には、依然として大きな演算量が必要であるなどの課題があった。
【0020】
この発明は上記のような課題を解決するためになされたもので、CABACと同一の圧縮率を維持しながら、“0”と“1”の生起確率に偏りがない2値シンボルに対する符号化の処理負荷を低減することができるエントロピー符号化装置及びエントロピー符号化方法を得ることを目的とする。
また、この発明は、処理負荷が少ない復号処理で、“0”と“1”の生起確率に偏りがない2値シンボルを復号することができるエントロピー復号装置及びエントロピー復号方法を得ることを目的とする。
【課題を解決するための手段】
【0021】
この発明に係るエントロピー符号化装置は、多値シンボル系列内の多値シンボルを2値化して、1以上の2値シンボルの系列を出力するとともに、その2値シンボルが多値シンボルに係る何番目の2値シンボルであるかを示すbin番号を出力するシンボル2値化手段と、シンボル2値化手段から出力されたbin番号に対応する2値シンボルにおいて生起する確率が高い優勢シンボルを示す優勢シンボル情報を出力するとともに、その優勢シンボルの生起確率を示す確率情報を出力する確率情報出力手段と、シンボル2値化手段から出力されたbin番号に対応する2値シンボルにおける符号化モードを決定する符号化モード決定手段と、符号化モード決定手段により決定された符号化モードが算術符号化モードであれば、確率情報出力手段から出力された優勢シンボル情報を参照して、上記bin番号に対応する2値シンボルが優勢シンボルであるか否かを示すフラグを符号化2値シンボルとして出力する符号化2値シンボル出力手段と、確率情報出力手段から出力された確率情報が示す優勢シンボルの生起確率を用いて、符号化2値シンボル出力手段から出力された符号化2値シンボルを算術符号化し、その符号化結果である符号化bitを出力する算術符号化手段と、符号化モード決定手段により決定された符号化モードがバイパス符号化モードであれば、シンボル2値化手段から出力された2値シンボルを符号化bitとして出力するバイパス符号化手段とを設け、多重化手段が、算術符号化手段から出力された符号化bitとバイパス符号化手段から出力された符号化bitを多重化して符号化データを生成するようにしたものである。
【発明の効果】
【0022】
この発明によれば、多値シンボル系列内の多値シンボルを2値化して、1以上の2値シンボルの系列を出力するとともに、その2値シンボルが多値シンボルに係る何番目の2値シンボルであるかを示すbin番号を出力するシンボル2値化手段と、シンボル2値化手段から出力されたbin番号に対応する2値シンボルにおいて生起する確率が高い優勢シンボルを示す優勢シンボル情報を出力するとともに、その優勢シンボルの生起確率を示す確率情報を出力する確率情報出力手段と、シンボル2値化手段から出力されたbin番号に対応する2値シンボルにおける符号化モードを決定する符号化モード決定手段と、符号化モード決定手段により決定された符号化モードが算術符号化モードであれば、確率情報出力手段から出力された優勢シンボル情報を参照して、上記bin番号に対応する2値シンボルが優勢シンボルであるか否かを示すフラグを符号化2値シンボルとして出力する符号化2値シンボル出力手段と、確率情報出力手段から出力された確率情報が示す優勢シンボルの生起確率を用いて、符号化2値シンボル出力手段から出力された符号化2値シンボルを算術符号化し、その符号化結果である符号化bitを出力する算術符号化手段と、符号化モード決定手段により決定された符号化モードがバイパス符号化モードであれば、シンボル2値化手段から出力された2値シンボルを符号化bitとして出力するバイパス符号化手段とを設け、多重化手段が、算術符号化手段から出力された符号化bitとバイパス符号化手段から出力された符号化bitを多重化して符号化データを生成するように構成したので、CABACと同一の圧縮率を維持しながら、“0”と“1”の生起確率に偏りがない2値シンボルに対する符号化の処理負荷を低減することができる効果がある。
【図面の簡単な説明】
【0023】
【図1】この発明の実施の形態1によるエントロピー符号化装置を示す構成図である。
【図2】この発明の実施の形態1によるエントロピー符号化装置の処理内容を示すフローチャートである。
【図3】多値シンボルの2値化テーブルの一例を示す説明図である。
【図4】算術符号化部6の算術符号化処理を示すフローチャートである。
【図5】(a)はRangeやLowなどを表し、(b)は優勢シンボル区間と劣勢シンボル区間に分割された確率区間を示す説明図である。
【図6】符号化モードが算術符号化モード又はバイパス符号化モードのいずれかである場合のbin系列とbit系列の入出力関係を示す説明図である。
【図7】算術符号化モードとバイパス符号化モードが混在している場合のbin系列とbit系列の入出力関係を示す説明図である。
【図8】先読みbit数Dの可変長符号例と多重化例を示す説明図である。
【図9】この発明の実施の形態2によるエントロピー復号装置を示す構成図である。
【図10】この発明の実施の形態2によるエントロピー復号装置の処理内容を示すフローチャートである。
【図11】算術復号部25の算術復号処理を示すフローチャートである。
【図12】2値シンボル系列を算術符号化する場合の概念図である。
【図13】数直線上の座標の2進数表現を示す説明図である。
【図14】確率区間と再正規化を行った時点の処理区間の関係を示す説明図である。
【図15】数直線Iの上での処理区間Jnの位置と長さを示す説明図である。
【図16】算術復号処理を示す説明図である。
【発明を実施するための形態】
【0024】
実施の形態1.
図1はこの発明の実施の形態1によるエントロピー符号化装置を示す構成図である。
図1において、2値化部1は多値シンボルの2値化テーブルを参照して、その多値シンボル系列内の多値シンボルを2値化し、長さが1以上の2値シンボルの系列を符号化方式切替スイッチ4に出力する処理を実施する。
また、2値化部1は多値シンボルの2値化テーブルを参照して、各2値シンボルが多値シンボルに係る何番目の2値シンボルであるかを示すbin番号を確率情報出力部2及び符号化モード決定部3に出力する処理を実施する。
なお、2値化部1はシンボル2値化手段を構成している。
【0025】
確率情報出力部2は予めbin番号毎に、当該bin番号に対応する2値シンボルにおいて生起する確率が高い優勢シンボル(“0”又は“1”のうち、生起する確率が高い方の値を示すシンボル)を示す優勢シンボル情報と、その優勢シンボルの生起確率を示す確率情報を記憶しており、2値化部1から出力されたbin番号に対応する優勢シンボルを示す優勢シンボル情報を符号化bin出力部5に出力するとともに、その優勢シンボルの生起確率を示す確率情報を算術符号化部6に出力する処理を実施する。なお、確率情報出力部2は確率情報出力手段を構成している。
【0026】
符号化モード決定部3は予めbin番号毎に、当該bin番号に対応する2値シンボルにおける符号化モード(算術符号化モード、バイパス符号化モード)を記憶しており、2値化部1から出力されたbin番号に対応する符号化モードを符号化方式切替スイッチ4に出力する処理を実施する。
【0027】
符号化方式切替スイッチ4は2値化部1から出力されたbin番号に対応する2値シンボルの符号化モードが、符号化モード決定部3により算術符号化モードに決定された場合、その2値シンボルを符号化bin出力部5に出力し、そのbin番号に対応する2値シンボルの符号化モードが、符号化モード決定部3によりバイパス符号化モードに決定された場合、その2値シンボルをバイパス符号化部7に出力する処理を実施する。
なお、符号化モード決定部3及び符号化方式切替スイッチ4から符号化モード決定手段が構成されている。
【0028】
符号化bin出力部5は符号化方式切替スイッチ4から2値シンボルを受けると、確率情報出力部2から出力された優勢シンボル情報を参照して、その2値シンボルが優勢シンボルであるか否かを示すフラグを符号化2値シンボルとして算術符号化部6に出力する処理を実施する。
即ち、符号化bin出力部5は符号化方式切替スイッチ4から出力された2値シンボル系列内の2値シンボル毎に、当該2値シンボルが確率情報出力部2から出力された優勢シンボル情報が示す優勢シンボルと一致するか否かを判定し、その判定結果を符号化2値シンボルとして算術符号化部6に出力する処理を実施する。
なお、符号化bin出力部5は符号化2値シンボル出力手段を構成している。
【0029】
算術符号化部6は確率情報出力部2から出力された確率情報が示す優勢シンボルの生起確率情報を用いて、符号化bin出力部5から出力された符号化2値シンボルを算術符号化し、その符号化結果である符号化bitを符号化データ出力部8の算術符号バッファ10に出力する処理を実施する。なお、算術符号化部6は算術符号化手段を構成している。
【0030】
バイパス符号化部7は符号化方式切替スイッチ4から2値シンボルを受けると、その2値シンボルを符号化bitとして、符号化データ出力部8のバイパス符号バッファ9に出力する処理を実施する。
即ち、バイパス符号化部7は符号化方式切替スイッチ4から出力された2値シンボルが“0”である場合、“0”の符号化bitを符号化データ出力部8のバイパス符号バッファ9に出力し、符号化方式切替スイッチ4から出力された2値シンボルが“1”である場合、“1”の符号化bitを符号化データ出力部8のバイパス符号バッファ9に出力する処理を実施する。
なお、バイパス符号化部7はバイパス符号化手段を構成している。
【0031】
符号化データ出力部8は図9のエントロピー復号装置が符号化bitを算術復号する際の符号化bitの読み込みタイミングに対応する順序で、算術符号化部6から出力された符号化bitとバイパス符号化部7から出力された符号化bitを多重化して符号化データを生成する処理を実施する。
即ち、符号化データ出力部8は算術符号化部6及びバイパス符号化部7から出力される2つの符号化bit系列内の各符号化bitに対して、両者をまとめて通しの番号を振り、その番号に基づいて2つの符号化bit系列内の各符号化bitを多重化し、1つの符号化bit系列として符号化データを生成する処理を実施する。
なお、符号化データ出力部8は多重化手段を構成している。
【0032】
バイパス符号バッファ9はバイパス符号化部7から出力された符号化bit系列を格納する記憶媒体である。
算術符号バッファ10は算術符号化部6から出力された符号化bit系列を格納する記憶媒体である。
符号化データ多重化部11はバイパス符号バッファ9及び算術符号バッファ10に格納されている符号化bit系列内の各符号化bitに対して、図9のエントロピー復号装置で読み込まれる順序の番号を割り振り、その番号に基づいてバイパス符号バッファ9及び算術符号バッファ10に格納されている符号化bit系列内の各符号化bitを多重化して出力する処理を実施する。
【0033】
図1の例では、エントロピー符号化装置の構成要素である2値化部1、確率情報出力部2、符号化モード決定部3、符号化方式切替スイッチ4、符号化bin出力部5、算術符号化部6、バイパス符号化部7及び符号化データ出力部8のそれぞれが専用のハードウェア(例えば、CPUを実装している半導体集積回路、あるいは、ワンチップマイコンなど)で構成されているものを想定しているが、エントロピー符号化装置の全部又は一部がコンピュータで構成されていてもよい。
エントロピー符号化装置の全部又は一部がコンピュータで構成されている場合には、2値化部1、確率情報出力部2、符号化モード決定部3、符号化方式切替スイッチ4、符号化bin出力部5、算術符号化部6、バイパス符号化部7及び符号化データ出力部8の処理内容を記述しているプログラムの全部又は一部をコンピュータのメモリに格納し、当該コンピュータのCPUが当該メモリに格納されているプログラムを実行するようにすればよい。
図2はこの発明の実施の形態1によるエントロピー符号化装置の処理内容を示すフローチャートである。
【0034】
次に動作について説明する。
2値化部1は、多値シンボル系列を入力すると、予め多値シンボルの種類に応じて決められた規則にしたがって、その多値シンボル系列内の多値シンボルを2値化し、1以上の2値シンボルの系列を符号化方式切替スイッチ4に出力する(ステップST1)。
ここで、図3は多値シンボルの2値化テーブルの一例を示す説明図である。
2値化部1に入力される多値シンボルの種類(例えば、画像符号化におけるマクロブロックタイプ、DCT係数など)はシンタックスで決められているため、2値化部1は入力される多値シンボルの種類を認識することができる。
【0035】
図3の例では、入力された多値シンボルの種類が多値シンボルAであれば、(a)の2値化テーブルを参照して、多値シンボル系列内の多値シンボルを2値化し、多値シンボルの種類が多値シンボルBであれば、(b)の2値化テーブルを参照して、多値シンボル系列内の多値シンボルを2値化する。
また、多値シンボルの種類が多値シンボルCであれば、(c)の2値化テーブルを参照して、多値シンボル系列内の多値シンボルを2値化する。
例えば、多値シンボルの種類が多値シンボルAであり、その多値シンボルの値が“2”であれば、2値化部1から2値シンボルとして、“1”、“0”、“1”の系列が出力される。
【0036】
また、2値化部1は、多値シンボルの2値化テーブルを参照して、1以上の2値シンボルが多値シンボルに係る何番目の2値シンボルであるかを示すbin番号を確率情報出力部2及び符号化モード決定部3に出力する。
例えば、“2”の多値シンボルに対応する2値シンボルとして、“1”、“0”、“1”の系列を出力する場合、“1”、“0”、“1”の系列に対応するbin番号として、“0”、“1”、“2”、を出力する。
また、“7”の多値シンボルに対応する2値シンボルとして、“1”、“1”、“1”、“0”、“0”の系列を出力する場合、“1”、“1”、“1” 、“0”、“0”の系列に対応するbin番号として、“0”、“1”、“2”、“3”、“4”を出力する。
【0037】
符号化モード決定部3は、予めbin番号毎に、当該bin番号に対応する符号化モードの情報を記憶しており(例えば、多値シンボルの種類などの情報に関連している情報として、bin番号に対応する符号化モードの情報を記憶している)、2値化部1からbin番号を受けると、その符号化モードの情報を参照することで、そのbin番号に対応する2値シンボルにおける符号化モードを決定し、符号化方式切替スイッチ4に出力する。(ステップST2)。
【0038】
図3の2値化テーブルには、2値シンボルのbin番号に対応する符号化モードの情報が記録されている。
図3の例では、“0”の符号化モードは算術符号化モードであり、“1”の符号化モードはバイパス符号化モードであることを表している。
例えば、2値化部1から“0”、“1”、“2”、“3”、“4”のbin番号の系列が出力される場合、“0”のbin番号に対応する符号化モードは算術符号化モード、“1”のbin番号に対応する符号化モードは算術符号化モード、“2”のbin番号に対応する符号化モードは算術符号化モード、“3”のbin番号に対応する符号化モードは算術符号化モード、“4”のbin番号に対応する符号化モードはバイパス符号化モードになる。
また、2値化部1から“9”、“10”、“11”、“12”のbin番号の系列が出力される場合、“9”のbin番号に対応する符号化モードはバイパス符号化モード、“10”のbin番号に対応する符号化モードは算術符号化モード、“11”のbin番号に対応する符号化モードは算術符号化モード、“12”のbin番号に対応する符号化モードはバイパス符号化モードになる。
【0039】
符号化方式切替スイッチ4は、2値化部1から2値シンボル系列を受けると、その2値シンボル系列内の2値シンボルの符号化モードが、符号化モード決定部3により算術符号化モードに決定されている場合(当該2値シンボルのbin番号が対応する符号化モードが“0”である場合)、その2値シンボルを符号化bin出力部5に出力する(ステップST3)。
一方、その2値シンボル系列内の2値シンボルの符号化モードが、符号化モード決定部3によりバイパス符号化モードに決定されている場合(当該2値シンボルのbin番号が対応する符号化モードが“1”である場合)、その2値シンボルをバイパス符号化部7に出力する(ステップST3)。
なお、上述の例では符号化装置が算術符号化モードとバイパス符号化モードのみを有する場合の動作を説明したが、符号化装置が算術符号化モードとバイパス符号化モード以外の符号化モードXを有していた場合、符号化モード決定部3は符号化モードXに対応した符号化モード情報を決定することができ、また符号化方式切替スイッチ4は、符号化モードXに対応する符号化モード情報を受け取った場合、符号化モードXに対応する符号化処理を実施するモジュールに2値シンボルを出力することができる。
【0040】
バイパス符号化部7は、2値シンボルの符号化方式がバイパス符号化モードに決定されており、符号化方式切替スイッチ4から2値シンボルを受けると、その2値シンボルを符号化bitとして(2値シンボル=符号化bit)、その符号化bitを符号化データ出力部8のバイパス符号バッファ9に格納する(ステップST4)。
即ち、バイパス符号化部7は、符号化方式切替スイッチ4から2値シンボルを受けると、その2値シンボルが“0”であれば、“0”の符号化bitを符号化データ出力部8のバイパス符号バッファ9に格納し、その2値シンボルが“1”であれば、“1”の符号化bitを符号化データ出力部8のバイパス符号バッファ9に格納する。
【0041】
確率情報出力部2は、予めbin番号毎に、当該bin番号に対応する2値シンボルにおいて生起する確率が高い優勢シンボル(“0”又は“1”のうち、生起する確率が高い方の値を示すシンボル)を示す優勢シンボル情報と、その優勢シンボルの生起確率を示す確率情報を記憶している。
例えば、図3(a)の2値化テーブルの場合、“0”〜“9”の値をとる多値シンボルにおいて、“0”の多値シンボルが発生する確率が約70%であるような場合には、“0”のbin番号に対応する2値シンボルにおいて、“0”のシンボルが生起される確率が約70%となるので、当該2値シンボルにおける優勢シンボルは“0”のシンボルとなる。また、この優勢シンボルの生起確率は約70%となる。
確率情報出力部2は、2値化部1からbin番号を受けると、そのbin番号に対応する優勢シンボルを示す優勢シンボル情報を符号化bin出力部5に出力するとともに、その優勢シンボルの生起確率を示す確率情報を算術符号化部6に出力する(ステップST5)。
【0042】
符号化bin出力部5は、2値シンボルの符号化方式が算出符号化モードに決定されており、符号化方式切替スイッチ4から2値シンボルを受けると、確率情報出力部2から出力された優勢シンボル情報を参照して、その2値シンボルが優勢シンボルであるか否かを示すフラグを符号化2値シンボルとして算術符号化部6に出力する(ステップST6)。
即ち、符号化bin出力部5は、符号化方式切替スイッチ4から出力された2値シンボル系列内の2値シンボル毎に、当該2値シンボルが確率情報出力部2から出力された優勢シンボル情報が示す優勢シンボルと一致するか否かを判定し、その判定結果を符号化2値シンボル(例えば、一致=1、不一致=0)として算術符号化部6に出力する。
【0043】
算術符号化部6は、符号化bin出力部5から符号化2値シンボルを受けると、確率情報出力部2から出力された確率情報が示す優勢シンボルの生起確率情報を用いて、その符号化2値シンボルを算術符号化し(ステップST7)、その符号化結果である符号化bitを符号化データ出力部8の算術符号バッファ10に格納する(ステップST8)。
【0044】
以下、算術符号化部6の算術符号化処理を具体的に説明する。
図4は算術符号化部6の算術符号化処理を示すフローチャートである。
このフローチャートが示す算術符号化処理は、背景技術の欄で述べたH.264のCABACが用いている算術符号化アルゴリズムに準拠している。用語なども背景技術の欄で述べたものを用いる。
最初に、算術符号化処理の概要を説明する。
【0045】
算術符号化部6は、Range、Lowの2つのレジスタを用いて、確率区間の情報を保持している。
図5(a)に示すように、Rangeは現在の確率区間の長さを表し、Lowは処理区間の下限から確率区間の下限までの距離を表すものである。これらのレジスタの初期値は、Range=510、Low=0である。
確率区間の分割は、背景技術の欄で述べたように、整数を用いた処理である。
Rangeの値と、確率情報出力部2から出力された優勢シンボルの生起確率を示す確率情報とを用いて、テーブル参照により定まるLPSLengthという値から、図5(b)に示すように、確率区間を優勢シンボル区間と劣勢シンボル区間に分割する。
また、現在の“未確定”のbitの個数を表すカウンタであるRCounterを有する。RCounterの初期値は0である。
以上を踏まえて、bin番号kのbinである符号化2値シンボルの符号化の動作の流れを説明する。ただし、この時点で出力した符号化bitの個数をn−1個とする。
【0046】
まず、算術符号化部6は、符号化bin出力部5から出力された符号化2値シンボルである入力bin(bk)が優勢シンボルであるのか、劣勢シンボルであるのかで処理を分ける(図4のステップST21)。
算術符号化部6は、入力bin(bk)が優勢シンボルである場合、確率区間を優勢シンボル区間に更新する(ステップST22)。
Range=Range−LPSLength
これは、優勢シンボル区間を次の確率区間として更新するI k=IMk-1の処理に該当する。
【0047】
算術符号化部6は、入力bin(bk)が劣勢シンボルである場合、確率区間を劣勢シンボル区間に更新する(ステップST23)。
Low=Range−LPSlength
Range=LPSLength
これは劣勢シンボル区間を次の確率区間として更新するI k=ILk-1の処理に該当する。
【0048】
次に、算術符号化部6は、Rangeの値を条件とするループ処理を行う。
ループ継続条件は、Range<256であり、ループ継続条件を満たしている間、以下のステップST25〜ST29の処理を繰り返し実施する(ステップST24)。Range≧256となれば、処理を終了する。
ステップST25〜ST29の処理は、上述した再正規化の処理に該当する。
【0049】
ステップST25,ST26は、現在の確率区間がJun、Jcn、Jlnのいずれに含まれるかを判断して処理を切り替える分岐部分である。
Low≧512である場合は、現在の確率区間がJunに含まれるとして、ステップST27の処理を実施する(ステップST25)。
Low<256である場合は、現在の確率区間がJlnに含まれるとして、ステップST28の処理を実施する(ステップST25,ST26)。
512>Low≧256である場合は、現在の確率区間がJcnに含まれるとして、ステップST29の処理を実施する(ステップST25,ST26)。
以下、ステップST27,ST28,ST29の処理内容を説明する。
【0050】
(1)ステップST27の処理内容
算術符号化部6は、Low=(Low−512)×2、Range=Range×2 とする。これは図14(b)に示す再正規化処理に該当する。
また、算術符号化部6は、RCounter≧1の場合、算術符号bit番号n−RCounterのbitを“1”に確定し、算術符号bit番号n−RCounter+1〜算術符号bit番号n−1のbitを“0”に確定する。
そして、算術符号bit番号nのbitとして“0”のbitを算術符号バッファ10に格納し、RCounter=0とする。
RCounter=0の場合、算術符号bit番号nのbitとして“1”のbitを算術符号バッファ10に格納する。
【0051】
(2)ステップST28の処理内容
算術符号化部6は、Low=Low×2、Range=Range×2とする。これは図14(a)に示す再正規化処理に該当する。
また、算術符号化部6は、RCounter≧1の場合、算術符号bit番号n−RCounterのbitを“0”に確定し、算術符号bit番号n−RCounter+1〜算術符号bit番号n−1のbitを“1”に確定する。
そして、算術符号bit番号nのbitとして“1”のbitを算術符号バッファ10に格納し、RCounter=0とする。
RCounter=0の場合、算術符号bit番号nのbitとして“0”のbitを算術符号バッファ10に格納する。
【0052】
(3)ステップST29の処理内容
算術符号化部6は、Low=(Low−256)×2、Range=Range×2とする。これは図14(c)に示す再正規化処理に該当する。
また、算術符号化部6は、RCounter=RCounter+1とし、算術符号bit番号nのbitとして“未確定”のbitを算術符号バッファ10に格納する。
【0053】
符号化データ出力部8の符号化データ多重化部11は、バイパス符号バッファ9及び算術符号バッファ10に格納されている符号化bit系列内の各符号化bitに対して、図9のエントロピー復号装置で読み込まれる順序の番号を割り振り(図2のステップST9)、その番号に基づいてバイパス符号バッファ9及び算術符号バッファ10に格納されている符号化bit系列内の各符号化bitを多重化して符号化データを生成し、その符号化データを出力する(ステップST10)。
以下、符号化データ多重化部11の処理内容の一例を具体的に説明する。
【0054】
符号化データ多重化部11は、符号化データのデータ量を全く増加させない多重化手法で符号化bitの多重化を実施する。
この多重化手法では、バイパス符号バッファ9に格納されている符号化bit(バイパス符号bit)の系列と、算術符号バッファ10に格納されている符号化bit(算術符号bit)の系列とにおける各符号化bitに対して、図9のエントロピー復号装置で読み込まれる順序を割り振り、その順序に基づいてバイパス符号bitと算術符号bitを符号化データとして多重化する。
【0055】
ここで、図9のエントロピー復号装置で読み込まれる順序とは、復号の動作に基づいて、算術符号化モード及びバイパス符号モードのbinの符号化を行う際に、算術符号化モードのbinの復号時にbit読み込みが必要になった場合、その時点における入力のbit系列の未読部分の先頭が、そのbinの復号において必要な算術符号bitになっており、また、バイパス符号化モードのbinの復号時にbit読み込みが必要になった場合も同様に、その時点における入力のbit系列の未読部分の先頭が、そのbinの復号において必要なバイパス符号bitになっているような順序を意味する。
即ち、図9のエントロピー復号装置で常に入力のbit系列の未読部分の先頭からbitを読み込むだけで正しく復号が可能な順序を指している。
【0056】
このような順序でbit系列に多重化すれば、当然ながら追加の情報を必要とせず、入力されたbit系列内の算術符号bitとバイパス符号bitを弁別することができる。
図9のエントロピー復号装置で読み込まれるbitの順序は、算術復号の動作によって異なってくる。よって、この多重化の動作は、図9のエントロピー復号装置における算術復号の動作に依存して変更する必要がある。
以下、一例として、エントロピー符号化装置の動作として、算術符号化部6の動作を想定し、図9のエントロピー復号装置の動作として、後述する符号化データ入力部21及び算術復号部25(実施の形態2を参照)の動作を想定して、多重化の具体的な動作を説明する。
【0057】
最初に、符号化モードが算術符号化モードに決定されて、エントロピー符号化装置の算術符号化部6により符号化bitの系列が出力され、エントロピー復号装置の算術復号部25により符号化bitの系列が算術復号される際のbit出力および入力の動作を説明する。
算術符号化部6は、上述したように、1つの符号化2値シンボル(bin)の算出符号化において、0個以上の“0”、“1”または“未確定”の符号化bit(算術符号bit)を出力する。
ここで、図6(a)は、符号化bin出力部5から出力された符号化2値シンボルの系列(bin系列)が算術符号化部6に入力され、算術符号化部6が符号化2値シンボルの系列を算出符号化して符号化bit(算術符号bit)の系列を出力する一例を示している。
図の矢印は、矢印が出ている元の符号化2値シンボルの算術符号化において、矢印が指す先の符号化bitが出力されることを示している。
図6(a)の例では、bin番号kの符号化2値シンボル(bin)の算術符号化において、bit番号nの符号化bitが出力されている。また、bin番号k+1,k+2の符号化2値シンボル(bin)の算術符号化では、符号化bitが出力されず、bin番号k+3の符号化2値シンボル(bin)の算術符号化において、bit番号n+1,n+2の2つの符号化bitが出力されている。
【0058】
図6(b)は、算術符号化部6から出力された符号化bit(算術符号bit)の系列が符号化データ入力部21に入力されたのち、符号化データ入力部21から符号化bitの系列が復号方式切替スイッチ24を介して算術復号部25に入力され、算術復号部25が符号化bitの系列を算術復号して復号2値シンボル(bin)の系列を出力する一例を示している。
図の矢印は、矢印が指す先のbinの復号において、矢印が出ている元の符号化bitを入力することを示している。
図6(b)の例では、bin番号kの復号2値シンボル(bin)の算術復号において、bit番号n+9の符号化bitが入力されている。また、bin番号k+1,k+2の復号2値シンボル(bin)の算術復号では、符号化bitが入力されず、bin番号k+3の復号2値シンボル(bin)の算術復号において、bit番号n+10,n+11の2つの符号化bitが入力されている。
【0059】
図6(a),(b)が示すように、bin番号Kの符号化2値シンボル(bin)の算術符号化で出力した符号化bitの個数は、bin番号Kの復号2値シンボル(bin)の算術復号で入力される符号化bitの数と等しい。
また、bin番号Kの符号化2値シンボル(bin)の算術符号化で出力した符号化bit系列のbit番号がN〜N+dである場合、bin番号Kの復号2値シンボル(bin)の算術復号で入力される符号化bit系列のbit番号がN+9〜N+d+9になる。
即ち、算術復号部25に対してbin番号Kの復号2値シンボル(bin)の算術復号時に入力される符号化bitは、算術符号化部6がbin番号Kの符号化2値シンボル(bin)の算術符号化時に出力した符号化bitから、9bit分先の符号化bitになる。エントロピー復号装置が9bit分先読みする動作については、実施の形態2で説明する。
【0060】
次に、符号化モードがバイパス符号化モードに決定されて、エントロピー符号化装置のバイパス符号化部7により符号化bitの系列が出力され、エントロピー復号装置のバイパス復号部27により符号化bitの系列が復号される際のbit出力および入力の動作を説明する。
バイパス符号化部7は、上述したように、1つの2値シンボル(bin)の符号化において、1個の“0”または“1”の符号化bit(バイパス符号bit)を出力する。
ここで、図6(c)は、2値シンボルの系列(bin系列)がバイパス符号化部7に入力され、バイパス符号化部7が2値シンボルの系列を符号化して符号化bit(バイパス符号bit)の系列を出力する一例を示している。
図6(c)の例では、bin番号k,k+1,k+2,k+3,k+4のbinの符号化時に、それぞれbit番号m,m+1,m+2,m+3,m+4の符号化bitが出力されている。
【0061】
図6(d)は、バイパス符号化部7から出力された符号化bit(バイパス符号bit)の系列が符号化データ入力部21に入力されたのち、符号化データ入力部21から符号化bitの系列が復号方式切替スイッチ24を介してバイパス復号部27に入力され、バイパス復号部27が符号化bitの系列を復号して復号2値シンボル(bin)の系列を出力する一例を示している。
図6(d)の例では、bin番号k,k+1,k+2,k+3,k+4の復号2値シンボル(bin)の復号時に、それぞれbit番号m,m+1,m+2,m+3,m+4の符号化bit(バイパス符号bit)が入力されている。
【0062】
図6(c),(d)が示すように、bin番号Kの2値シンボル(bin)の符号化で出力した符号化bitの個数及びbit番号は、bin番号Kの復号2値シンボル(bin)の復号で入力される符号化bitの個数及びbit番号と等しい。
【0063】
次に、バイパス符号モードと算術符号化モードが混在している場合の算術符号bitとバイパス符号bitの多重化の動作を説明する。
図7は算術符号化モードとバイパス符号化モードが混在している場合のbin系列とbit系列の入出力関係を示す説明図である。
図7(a)の上側のbin系列において、細線の四角形は算術符号モードのbinを表し、太線の四角形はバイパス符号モードのbinを表している。
図7(a)の下側のbit系列において、細線の四角形は算術符号bitを表し、太線の四角形はバイパス符号bitを表している。
また、算術符号bit及びバイパス符号bitには、それぞれ個別に番号が振られている。
図中の矢印は、図6(a)などと同様に、矢印が出ている元であるbinの符号化において、矢印が指す位置にbitを多重化して出力することを示している。
【0064】
bin番号k+1のbinはバイパス符号化モードのbinである。このbinを符号化する時点において、これまでに出力された算術符号bit系列のうち、最新のbit番号はnである。
このとき、k+1番目のbinを符号化した際に出力されるm番目のバイパス符号bitは、n〜9bit分遅延させたn+9番目の算術符号bitの次に多重化される。
同様に、k+3番目のバイパス符号化モードのbinの符号化によって出力されるm+1番目のバイパス符号bitに対しても、この符号化を行う時点で、これまでに出力された算術符号bit系列の最新のbit番号がnであるため、n+9番目の算術符号bitとn+10番目の算術符号bitの間に多重化される。
この場合、同じ位置にm番目のバイパス符号bitが存在しているため、m番目のバイパス符号bitの次に多重化される。
【0065】
図7(b)は、このように多重化されたbit系列を入力とする復号の動作を示している。上述したように、算術復号部25に対して、bin番号Kのbinの復号時に入力されるbitは、算術符号化部6がbin番号Kのbinの算術符号化時に出力したbitから、算術符号bitの番号で数えて9bit分先のbitになる。
このため、bin番号kの算術符号化モードのbinの復号時には、この時点で未読のbit系列の先頭であるn+9番目の算術符号bitが読み込まれる。
k+1番目のbinはバイパス符号化モードであるが、このbinを復号する時点で、上述の多重化の結果により、未読bit系列の先頭がm番目のバイパス符号bitになり、このbitが読み込まれる。
同様に、k+3番目のbinもバイパス符号化モードであるが、このbinを復号する時点で、未読bit系列の先頭がm+1番目のバイパス符号bitになり、このbitが読み込まれる。
k+4からk+15のbinは、全て算術符号化モードのbinであるが、これらを復号する際も、それぞれの復号を行う時点で、未読のbit系列の先頭を読み込むことで正しく復号される。
【0066】
なお、図2のステップST1〜ST10の処理は、全ての多値シンボル系列の処理が終了するまで繰り返し実行される(ステップST11)。
【0067】
以上で明らかなように、この実施の形態1によれば、多値シンボル系列内の多値シンボルを2値化して、1以上の2値シンボルの系列を出力するとともに、その2値シンボルが多値シンボルに係る何番目の2値シンボルであるかを示すbin番号を出力する2値化部1と、2値化部1から出力されたbin番号に対応する2値シンボルにおいて生起する確率が高い優勢シンボルを示す優勢シンボル情報を出力するとともに、その優勢シンボルの生起確率を示す確率情報を出力する確率情報出力部2と、2値化部1から出力されたbin番号に対応する2値シンボルにおける符号化モードを決定する符号化モード決定部3と、2値化部1から出力されたbin番号に対応する2値シンボルの符号化モードが、符号化モード決定部3により算術符号化モードに決定された場合、その2値シンボルを符号化bin出力部5に出力し、そのbin番号に対応する2値シンボルの符号化モードが、符号化モード決定部3によりバイパス符号化モードに決定された場合、その2値シンボルをバイパス符号化部7に出力する符号化方式切替スイッチ4と、符号化方式切替スイッチ4から2値シンボルを受けると、確率情報出力部2から出力された優勢シンボル情報を参照して、上記bin番号に対応する2値シンボルが優勢シンボルであるか否かを示すフラグを符号化2値シンボルとして出力する符号化bin出力部5と、確率情報出力部2から出力された確率情報が示す優勢シンボルの生起確率を用いて、符号化bin出力部5から出力された符号化2値シンボルを算術符号化し、その符号化結果である符号化bitを出力する算術符号化部6と、符号化方式切替スイッチ4から2値シンボルを受けると、2値化部1から出力された2値シンボルを符号化bitとして出力するバイパス符号化部7とを設け、符号化データ出力部8が、算術符号化部6から出力された符号化bitとバイパス符号化部7から出力された符号化bitを多重化して符号化データを生成するように構成したので、CABACと同一の圧縮率を維持しながら、“0”と“1”の生起確率に偏りがない2値シンボルに対する符号化の処理負荷を低減することができる効果を奏する。また、エントロピー復号装置においても、“0”と“1”の生起確率に偏りがない2値シンボルに対する復号の処理負荷を低減することができる効果を奏する。
【0068】
なお、この実施の形態1では、図1のエントロピー復号装置が算術復号する際、固定的に9bitのbitを先読みすることを想定して、符号化データ出力部8の符号化データ多重化部11が、算術符号bitとバイパス符号bitを多重化するものを示したが、エントロピー復号装置が算術復号する際、固定的に16bitのbitを先読みするように実装することも可能である。
よって、エントロピー復号装置が算術復号する際、固定的に何bitのbitを先読みすればよいかを示す情報(符号化bitの読み込みタイミングを規定する復号動作情報)を、符号化データ多重化部11が、エントロピー復号装置に通知するようにしてもよい。
【0069】
この場合、符号化データ多重化部11は、エントロピー復号装置が算術復号する際、その復号動作情報が示すbit数だけ先読みすることを想定して、算術符号bitとバイパス符号bitを多重化することになる。
一方、エントロピー復号装置は、算術復号する際、エントロピー符号化装置から通知された復号動作情報が示すbit数だけ先読みすることになる。
なお、符号化データ多重化部11は、復号動作情報を符号化データと別個にエントロピー復号装置に伝送してもよいし、復号動作情報を符号化データと多重化してエントロピー復号装置に伝送してもよい。
【0070】
復号動作情報を符号化データと多重化してエントロピー復号装置に伝送する場合、符号化データ多重化部11が、その復号動作情報を可変長符号化する(例えば、テーブル参照型可変長符号化などの手法で可変長符号化する)。図8(a)は復号動作情報である先読みbit数Dの可変長符号例を示す2値化テーブルの一例である。
例えば、多値シンボル系列が動画像データに適用されるものである場合、図8(b)に示すように、シーケンスパラメータセット(SPS)などに多重化することができる。
ここでは、復号動作情報が先読みbit数Dである例を示したが、エントロピー復号装置が算術復号する際に符号化bitの読み込みタイミングを規定する情報であればよく、先読みbit数Dに限るものではない。
【0071】
実施の形態2.
図9はこの発明の実施の形態2によるエントロピー復号装置を示す構成図である。
図9において、符号化データ入力部21は図1のエントロピー符号化装置により生成された符号化データを入力すると、その符号化データの読み出し位置先頭から符号化bit系列を読み出し、その符号化bit系列を復号方式切替スイッチ24に出力する処理を実施する。
また、符号化データ入力部21は多値シンボルの2値化テーブルを参照して、その符号化bit系列内の符号化bitから得られる2値シンボル(符号化bitを復号した際の2値シンボル)が多値シンボルに係る何番目の2値シンボルであるかを示すbin番号を確率情報出力部22、符号化モード決定部23及び多値化部28に出力する処理を実施する。
なお、符号化データ入力部21は符号化bit系列読み出し手段を構成している。
【0072】
確率情報出力部22は予めbin番号毎に、当該bin番号に対応する2値シンボルにおいて生起する確率が高い優勢シンボル(“0”又は“1”のうち、生起する確率が高い方の値を示すシンボル)を示す優勢シンボル情報と、その優勢シンボルの生起確率を示す確率情報を記憶しており、符号化データ入力部21から出力されたbin番号に対応する優勢シンボルの生起確率を示す確率情報を算術復号部25に出力するとともに、その優勢シンボルを示す優勢シンボル情報をbin出力部26に出力する処理を実施する。なお、確率情報出力部22は確率情報出力手段を構成している。
【0073】
符号化モード決定部23は予めbin番号毎に、当該bin番号に対応する2値シンボルにおける符号化モード(算術符号化モード、バイパス符号化モード)を記憶しており、符号化データ入力部21から出力されたbin番号に対応する2値シンボルにおける符号化モードを復号方式切替スイッチ24に出力する処理を実施する。
【0074】
復号方式切替スイッチ24は符号化データ入力部21から出力されたbin番号に対応する2値シンボルの符号化モードが、符号化モード決定部23により算術符号化モードに決定された場合、符号化データ入力部21から出力された符号化bitを算術復号部25に出力し、そのbin番号に対応する2値シンボルの符号化モードが、符号化モード決定部23によりバイパス符号化モードに決定された場合、その符号化bitをバイパス復号部27に出力する処理を実施する。
なお、符号化モード決定部23及び復号方式切替スイッチ24から符号化モード決定手段が構成されている。
【0075】
算術復号部25は復号方式切替スイッチ24から符号化bitを受けると、確率情報出力部22から出力された確率情報が示す優勢シンボルの生起確率情報を用いて、その符号化bitを算術復号し、その復号結果である復号2値シンボルをbin出力部26に出力する処理を実施する。なお、算術復号部25は算術復号手段を構成している。
【0076】
bin出力部26は算術復号部25から復号2値シンボル系列を受けると、確率情報出力部22から出力された優勢シンボル情報を参照して、その復号2値シンボルが優勢シンボルであるか否かを示すフラグを2値シンボルとして多値化部28に出力する処理を実施する。
即ち、bin出力部26は算術復号部25から出力された復号2値シンボル系列内の各2値シンボルに対し、当該2値シンボルが確率情報出力部22から出力された優勢シンボル情報が示す優勢シンボルと一致するか否かを判定し、その判定結果を2値シンボルとして多値化部28に出力する処理を実施する。
なお、bin出力部26はbin出力手段を構成している。
【0077】
バイパス復号部27は復号方式切替スイッチ24から符号化bitを受けると、その符号化bitを2値シンボルとして多値化部28に出力する処理を実施する。
即ち、バイパス復号部27は復号方式切替スイッチ24から出力された符号化bitが“0”である場合、“0”の2値シンボルを多値化部28に出力し、復号方式切替スイッチ24から出力された符号化bitが“1”である場合、“1”の2値シンボルを多値化部28に出力する処理を実施する。
なお、バイパス復号部27はバイパス復号手段を構成している。
【0078】
多値化部28はbin出力部26から出力された2値シンボルとバイパス復号部27から出力された2値シンボルを多重化して2値シンボル系列を生成し、その2値シンボル系列内の2値シンボルを多値化して、多値シンボルの系列を出力する処理を実施する。
即ち、多値化部28は符号化データ入力部21から出力されたbin番号を参照して、bin出力部26から出力された2値シンボルとバイパス復号部27から出力された2値シンボルとを統合して2値シンボル系列を生成するとともに、多値シンボルの2値化テーブルを参照して、その2値シンボル系列内の2値シンボルを多値化して、多値シンボルの系列を出力する処理を実施する。
なお、多値化部28はシンボル多値化手段を構成している。
【0079】
図9の例では、エントロピー復号装置の構成要素である符号化データ入力部21、確率情報出力部22、符号化モード決定部23、復号方式切替スイッチ24、算術復号部25、bin出力部26、バイパス復号部27及び多値化部28のそれぞれが専用のハードウェア(例えば、CPUを実装している半導体集積回路、あるいは、ワンチップマイコンなど)で構成されているものを想定しているが、エントロピー復号装置の全部又は一部がコンピュータで構成されていてもよい。
エントロピー復号装置の全部又は一部がコンピュータで構成されている場合、符号化データ入力部21、確率情報出力部22、符号化モード決定部23、復号方式切替スイッチ24、算術復号部25、bin出力部26、バイパス復号部27及び多値化部28の処理内容を記述しているプログラムの全部又は一部をコンピュータのメモリに格納し、当該コンピュータのCPUが当該メモリに格納されているプログラムを実行するようにすればよい。
図10はこの発明の実施の形態2によるエントロピー復号装置の処理内容を示すフローチャートである。
【0080】
次に動作について説明する。
符号化データ入力部21は、図1のエントロピー符号化装置により生成された符号化データを入力すると、その符号化データの読み出し位置先頭から0以上の長さの符号化bit系列を読み出して、その符号化bit系列を復号方式切替スイッチ24に出力する(ステップST31)。
また、符号化データ入力部21は、多値シンボルの2値化テーブルを参照して、その符号化bit系列内の符号化bitから得られる2値シンボル(符号化bitを復号した際の2値シンボル)が多値シンボルに係る何番目の2値シンボルであるかを示すbin番号を確率情報出力部22、符号化モード決定部23及び多値化部28に出力する。
【0081】
ここで、符号化データは、上記実施の形態1で説明したように、エントロピー復号装置で読み取られる順序を考慮した多重化方式で符号化bitが多重化されているため、ある符号化モードで2値シンボルの復号を行う際、符号化データにおける読み出し位置先頭の長さ0以上の符号化bitの系列は、常に、当該符号化モードにより符号化された符号化bitの系列となっている。
よって、符号化データ入力部21は、常に符号化データの読み出し位置先頭部分のデータを読み出せばよい。
【0082】
符号化モード決定部23は、予めbin番号毎に、当該bin番号に対応する2値シンボルにおける符号化モード(算術符号化モード、バイパス符号化モード)を記憶しており、符号化データ入力部21からbin番号を受けると、そのbin番号に対応する2値シンボルにおける符号化モードを決定し復号方式切替スイッチ24に出力する。(ステップST32)。
【0083】
符号化モード決定部23が記憶しているbin番号に対応する符号化モードの情報は、図1の符号化モード決定部3が記憶しているbin番号に対応する符号化モードの情報と一致している。
図3の2値化テーブルを記憶している場合、例えば、符号化データ入力部21から“0”、“1”、“2”、“3”、“4”のbin番号の系列が出力される場合、“0”のbin番号に対応する符号化モードは算術符号化モード、“1”のbin番号に対応する符号化モードは算術符号化モード、“2”のbin番号に対応する符号化モードは算術符号化モード、“3”のbin番号に対応する符号化モードは算術符号化モード、“4”のbin番号に対応する符号化モードはバイパス符号化モードになる。
また、符号化データ入力部21から“9”、“10”、“11”、“12”のbin番号の系列が出力される場合、“9”のbin番号に対応する符号化モードはバイパス符号化モード、“10”のbin番号に対応する符号化モードは算術符号化モード、“11”のbin番号に対応する符号化モードは算術符号化モード、“12”のbin番号に対応する符号化モードはバイパス符号化モードになる。
【0084】
復号方式切替スイッチ24は、符号化データ入力部21から符号化bit系列を受けると、符号化データ入力部21から出力されたbin番号に対応する2値シンボルの符号化モードが、符号化モード決定部23により算術符号化モードに決定された場合、その符号化bit系列を算術復号部25に出力する(ステップST33)。
一方、そのbin番号に対応する2値シンボルの符号化モードが、符号化モード決定部23によりバイパス符号化モードに決定された場合、その符号化bit系列をバイパス復号部27に出力する(ステップST33)。
なお、上述の例では、入力された符号化データを作成した符号化装置および復号装置が算術符号化モードとバイパス符号化モードのみを有する場合の動作を説明したが、両装置が算術符号化モードとバイパス符号化モード以外の符号化モードXを有していた場合、符号化モード決定部23は符号化モードXに対応した符号化モード情報を決定することができ、また復号方式切替スイッチ24は、符号化モードXに対応する符号化モード情報を受け取った場合、符号化モードXに対応する符号化処理を実施するモジュールに2値シンボルを出力することができる。
【0085】
バイパス復号部27は、符号化方式がバイパス符号化モードに決定されており、復号方式切替スイッチ24から符号化bit系列を受けると、その符号化bit系列内の各符号化bitを2値シンボルとして(符号化bit=2値シンボル)、その2値シンボルを多値化部28に出力する(ステップST34)。
即ち、バイパス復号部27は、復号方式切替スイッチ24から符号化bitを受けると、その符号化bitが“0”であれば、“0”の2値シンボルを多値化部28に出力し、その符号化bitが“1”であれば、“1”の2値シンボルを多値化部28に出力する。
【0086】
確率情報出力部22は、予めbin番号毎に、当該bin番号に対応する2値シンボルにおいて生起する確率が高い優勢シンボル(“0”又は“1”のうち、生起する確率が高い方の値を示すシンボル)を示す優勢シンボル情報と、その優勢シンボルの生起確率を示す確率情報を記憶している。なお、確率情報出力部22が記憶しているbin番号に対する確率情報は、図1の確率情報出力部2が記憶しているbinに対する確率情報と一致している。
例えば、図3(a)の2値化テーブルの場合、“0”〜“9”の値をとる多値シンボルにおいて、“0”の多値シンボルが発生する確率が約70%であるような場合には、“0”のbin番号に対応する2値シンボルにおいて、“0”のシンボルが生起される確率が約70%となるので、当該2値シンボルにおける優勢シンボルは“0”のシンボルとなる。また、この優勢シンボルの生起確率は約70%となる。
確率情報出力部22は、符号化データ入力部21からbin番号を受けると、そのbin番号に対応する優勢シンボルを示す優勢シンボル情報をbin出力部26に出力するとともに、その優勢シンボルの生起確率を示す確率情報を算術復号部25に出力する(ステップST35)。
【0087】
算術復号部25は、符号化方式が算術符号化モードに決定されており、復号方式切替スイッチ24から符号化bitを受けると、確率情報出力部22から出力された確率情報が示す優勢シンボルの生起確率情報を用いて、その符号化bitを算術復号し、その復号結果である復号2値シンボルをbin出力部26に出力する(ステップST36)。
エントロピー符号化装置では、上述したように、エントロピー復号装置が算術復号する際、例えば、固定的に9bitのbitを先読みすることを想定(エントロピー復号装置において、予め設定されている読み込みタイミングでbitを先読みすることを想定)して、バイパス符号bitと算術符号bitを多重化するようにしているので、算術復号部25における算術復号処理の動作は、符号化データ多重化部11におけるバイパス符号bitと算術符号bitの多重化と合致したものでなくてはならない。
【0088】
以下、算術復号部25における算術復号処理を具体的に説明する。
図11は算術復号部25の算術復号処理を示すフローチャートである。
算術復号部25は、内部にRangeとValueのレジスタを有している。
図5(b)に示すように、Rangeは現在の確率区間の長さを表し、Valueは確率区間の下限から入力データが示す区間Hnの下限までの長さを表すものである。これらのレジスタの初期値は、下記の通りである。
ただし、qnは、復号方式切替スイッチ24から算術復号部25に対して、n番目に入力された符号化bitである。
【0089】
つまり、算術復号部25は、復号を開始する前に符号化データの先頭9bitのデータを入力する必要がある。
上記実施の形態1で述べた多重化方法により、先頭9bitは算術符号化bitとなっている。なお、初期状態において、Valueは確率区間の下限からH9の下限までの距離を表している。
確率区間分割は、上記実施の形態1で述べた算術符号化部6と同様に、Rangeの値と確率情報出力部22から出力された優勢シンボルの生起確率を用いて、テーブル参照により定まるLPSLengthという値から、図5(b)に示すように、確率区間を優勢シンボル区間と劣勢シンボル区間に分割する。
【0090】
以上を踏まえて、bin番号kのbin(Hk)の復号の動作の流れを説明する。この復号処理の時点において、n+8個のbitが算術復号部25に入力されているとする。
まず、算術復号部25は、確率区間を優勢シンボル区間に更新する(図11のステップST41)。
Range=Range−LPSLength
これは優勢シンボル区間を次の確率区間として更新するI k=IMk-1の処理に該当する。
【0091】
次に、算術復号部25は、ValueとRangeの値を比較することで、区間座標が優勢シンボル区間と重なっているかを判定する(ステップST42)。
算術復号部25は、Value<Rangeであれば、復号2値シンボル系列である出力bin(bk)が優勢シンボルであるとして、bin出力部26に出力する(ステップST43)。これは、Hn+8の下限の座標が優勢シンボル区間に含まれているか否かの判定に該当する。
【0092】
算術復号部25は、Value>=Rangeであれば、復号2値シンボル系列である出力bin(bk)が劣勢シンボルであるとして、bin出力部26に出力する(ステップST44)。
また、算術復号部25は、確率区間を劣勢シンボル区間に更新する(ステップST45)。
Value=Value−Range
Range=LPSLength
これは劣勢シンボル区間を次の確率区間として更新するI k=ILk-1の処理に該当する。
【0093】
次に、算術復号部25は、Rangeの値を条件とするループ処理を行う。
ループ継続条件はRange<256であり、ループ継続条件を満たしている間、以下のステップST47の処理を繰り返し実施する(ステップST46)。
ループ内では、Range=Range×2、Value=Value×2+qn+8+iの演算を行う。ただし、iはループ回数であり、qn+8+iは復号方式切替スイッチ24から出力されるn+8+i番目の算術符号bitである。
Range≧256となると、算術復号処理が終了する(ステップST46)。
【0094】
算術復号部25は、上記の動作を実施するため、図1の算術符号化部6の動作と比較すると、算術符号化部6において、bin番号kのbinの符号化が終了した時点のRangeの値は、算術復号部25において、bin番号kのbinの復号が終了した時点でのRangeの値に等しい。
また、算術符号化部6において、bin番号kのbinの符号化が終了した時点でn個の算術符号bitを出力していた場合、算術復号部25において、bin番号kのbinの復号が終了した時点ではn+9個の算術符号bitを読み込んでいる。
【0095】
ここでは、算術復号部25が、固定的に9bitのbitを先読み(エントロピー復号装置において、予め設定されている読み込みタイミングで9bitを先読み)して算術復号を行うものを示したが、エントロピー符号化装置から復号動作情報が通知されている場合、その復号動作情報が示すbit数だけ先読みして算術復号を行うようにする。
【0096】
bin出力部26は、算術復号部25から復号2値シンボルを受けると、確率情報出力部22から出力された優勢シンボル情報を参照して、その復号2値シンボルが優勢シンボルであるか否かを示すフラグを2値シンボルとして多値化部28に出力する(図10のステップST37)。
即ち、bin出力部26は、算術復号部25から出力された復号2値シンボル系列内の各2値シンボルに対し、当該2値シンボルが確率情報出力部22から出力された優勢シンボル情報が示す優勢シンボルと一致するか否かを判定し、その判定結果を2値シンボルとして多値化部28に出力する。
【0097】
多値化部28は、bin出力部26から出力された2値シンボルとバイパス復号部27から出力された2値シンボルを多重化して2値シンボル系列を生成し、その2値シンボル系列内の2値シンボルを多値化して、多値シンボルの系列を出力する。
即ち、多値化部28は、符号化データ入力部21から出力されたbin番号を参照して、bin出力部26から出力された2値シンボルとバイパス復号部27から出力された2値シンボルとを統合して2値シンボル系列を生成する(ステップST38)。
また、多値化部28は、多値シンボルの2値化テーブルを参照して、その2値シンボル系列内の2値シンボルを多値化して、多値シンボルの系列を出力する(ステップST39)。
例えば、多値シンボルの種類が多値シンボルAであるとき、2値シンボルの系列が“1111”であり、その2値シンボルの系列に対応するbin番号が“0”、“1”、“2”、“3”であれば、多値シンボルの値が“9”になる(図3(a)の2値化テーブルを参照)。
ステップST31〜ST39の処理は、全ての符号化データの処理が終了するまで繰り返し実施される(ステップST40)。
【0098】
以上で明らかなように、この実施の形態2によれば、符号化データに多重化されている符号化bit系列を読み出し、その符号化bit系列内の符号化bitから得られる2値シンボルが多値シンボルに係る何番目の2値シンボルであるかを示すbin番号を出力する符号化データ入力部21と、符号化データ入力部21から出力されたbin番号に対応する2値シンボルにおいて生起する確率が高い優勢シンボルを示す優勢シンボル情報を出力するとともに、その優勢シンボルの生起確率を示す確率情報を出力する確率情報出力部22と、符号化データ入力部21から出力されたbin番号に対応する2値シンボルにおける符号化モードを決定する符号化モード決定部23と、符号化データ入力部21から出力されたbin番号に対応する2値シンボルの符号化モードが、符号化モード決定部23により算術符号化モードに決定された場合、符号化データ入力部21から出力された符号化bitを算術復号部25に出力し、そのbin番号に対応する2値シンボルの符号化モードが、符号化モード決定部23によりバイパス符号化モードに決定された場合、その符号化bitをバイパス復号部27に出力する復号方式切替スイッチ24と、復号方式切替スイッチ24から符号化bitを受けると、確率情報出力部22から出力された確率情報が示す優勢シンボルの生起確率を用いて、符号化データ入力部21から出力された符号化bitを算術復号し、その復号結果である復号2値シンボルを出力する算術復号部25と、確率情報出力部22から出力された優勢シンボル情報を参照して、算術復号部25から出力された復号2値シンボル系列内の各復号2値シンボルが優勢シンボルであるか否かを示すフラグを2値シンボルとして出力するbin出力部26と、復号方式切替スイッチ24から符号化bitを受けると、符号化データ入力部21から出力された符号化bitを2値シンボルとして出力するバイパス復号部27とを設け、多値化部28が、bin出力部26から出力された2値シンボルとバイパス復号部27から出力された2値シンボルを多重化して2値シンボル系列を生成し、その2値シンボル系列内の2値シンボルを多値化して、多値シンボルの系列を出力するように構成したので、処理負荷が少ない復号処理で、“0”と“1”の生起確率に偏りがない2値シンボルを復号することができる効果がある。即ち、従来のCABACよりも処理負荷が少ない復号処理で、符号化データから2値シンボル系列を復号して多値シンボルが得られる効果を奏する。
【0099】
なお、本願発明はその発明の範囲内において、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
【符号の説明】
【0100】
1 2値化部(シンボル2値化手段)、2 確率情報出力部(確率情報出力手段)、3 符号化モード決定部(符号化モード決定手段)、4 符号化方式切替スイッチ(符号化モード決定手段)、5 符号化bin出力部(符号化2値シンボル出力手段)、6 算術符号化部(算術符号化手段)、7 バイパス符号化部(バイパス符号化手段)、8 符号化データ出力部(多重化手段)、9 バイパス符号バッファ、10 算術符号バッファ、11 符号化データ多重化部、21 符号化データ入力部(符号化bit系列読み出し手段)、22 確率情報出力部(確率情報出力手段)、23 符号化モード決定部(符号化モード決定手段)、24 復号方式切替スイッチ(符号化モード決定手段)、25 算術復号部(算術復号手段)、26 bin出力部(bin出力手段)、27 バイパス復号部(バイパス復号手段)、28 多値化部(シンボル多値化手段)。
【技術分野】
【0001】
この発明は、多値シンボル系列を2値化して、2値シンボル系列をエントロピー符号化するエントロピー符号化装置及びエントロピー符号化方法と、符号化データから2値シンボル系列を復号し、2値シンボル系列を多値化して多値シンボル系列を出力するエントロピー復号装置及びエントロピー復号方法とに関するものである。
【背景技術】
【0002】
従来より、生起確率が異なる多値シンボル系列を効率よくエントロピー符号化する手法として、例えば、非特許文献1に記載されているCABAC(Context−based Adaptive Binarization Arithmetic Coding)が知られている。
CABACは、符号化対象のシンボルを2値化するとともに、各2値シンボルの優勢シンボルの生起確率をコンテキストに基づいて推定し、その優勢シンボルの生起確率を用いて、各2値シンボルを算術符号化する技術である。
【0003】
2値シンボルに対する算術符号化は、2値シンボルの優勢シンボルの生起確率を示す確率情報と、その2値シンボルが優勢シンボルであるか否かを示す情報とを用いて、0から1の有限な数直線Iを区間分割し、最終的に得られた数直線上の確率区間の座標を符号化データとするエントロピー符号化手段である。
【0004】
図12は2値シンボル系列を算術符号化する場合の概念図である。
図12では、2値シンボル系列内の先頭の2値シンボルから順番に1つずつ処理を行う例を示している。
ここでは、2値シンボル系列内の各2値シンボルが優勢シンボルであるか否かを示す優勢シンボル情報(“0”および“1”のうち、生起する確率が高いシンボルがどちらであるかを示す情報)と、優勢シンボルの生起確率を示す確率情報は既知であるとする。
先頭からk番目の2値シンボルbkを処理する時点の確率区間をIk(図12の数直線上の太線部分)とおき、2値シンボルbkにおける優勢シンボルの生起確率pk(0.5<pk≦1)を用いて、確率区間Ikをpklkと(1−pk)lkに分割する。
ただし、lkは確率区間Ikの長さを表している。
この際、例えば、長さpklkの区間(優勢シンボル区間:IMk)が常に下側に位置し、長さ(1−pk)lkの区間(劣勢シンボル区間:ILk)が常に上側に位置するように、確率区間Ikを分割している。
【0005】
2値シンボルbkが優勢シンボルである場合はIk+1=IMkとし、2値シンボルbkが劣勢シンボルである場合はIk+1=ILkとする。
I 0=Iとして、この処理を繰り返すことで、入力された2値シンボル系列に応じて、一意に数直線上の1つの確率区間が求まる。
この確率区間内の座標を2進数で表現したものが算術符号化の出力となる。
復号側において、各2値シンボルの優勢シンボル情報と優勢シンボルの生起確率情報が既知であれば、符号化側から出力された数直線上の座標値から2値シンボルの系列を一意に復号することができる。
【0006】
図13は数直線上の座標の2進数表現を示す説明図である。
図13から分かるように、区間の長さが大きいほど、少ないbit数で区間内の座標を表せることが分かる。よって、優勢シンボルが多いほど、高い効率で圧縮することができ、また、優勢シンボルの生起確率が大きいほど、高い効率で圧縮することができる。
2値シンボルが逐次的に入力される場合、出力である座標値を示すbit系列も、bit系列の先頭から逐次的に出力することが可能である。
【0007】
映像符号化の国際規格であるH.264で用いられているCABACでは、以下に説明する考え方により、乗除算演算を用いない逐次的な算術符号化処理を実現している。
H.264におけるCABACの算術符号化モジュールでは、“0”から“1023”までの1024段階の整数精度の数直線を内部に保持しており、確率区間が、この離散的な数直線上の区間として扱われる。
また、優勢シンボルの生起確率が、確率状態という整数精度の変数で擬似的に表現され、優勢シンボル区間の長さや劣勢シンボル区間の長さも、予め定義されているテーブルを用いて、整数の加算・減算のみで計算される。
【0008】
算術符号化が進むほど、確率区間長が短くなり、1024段階では表現できなくなるため、確率区間長が一定以下の値になる度に、確率区間が含まれる数直線上の一定区間が切り出されて2倍に拡大する処理(再正規化)が行われる。
具体的には、確率区間長が、256〜510を維持するように、再正規化処理が行われる。即ち、確率区間長が256未満になった時点で、確率区間長が256を超すまで再正規化が行われる。
【0009】
n回の再正規化を行った後の算術符号化モジュールが内部的に持つ数直線は、算術符号化のアルゴリズムにおいて考慮する“0”から“1”までの数直線I全体のうち、現在の確率区間が存在する区間を1/2nの幅で切り出し、拡大して表現したものである。
以降、この内部的に保持されている数直線が表す区間を処理区間と呼び、n回の再正規化を行った時点での処理区間をJnとし、J0=Iとする。
ここで、処理区間Jnの部分区間として、“512”から“1023”の区間をJun、“0”から“511”の区間をJln、“256”から“768”の区間をJcnとおくと、再正規化を行うタイミングにおいて、確率区間がJunに完全に含まれている場合は、Jn+1=Junとし(図14(a)を参照)、確率区間がJlnに完全に含まれている場合は、Jn+1=Jlnとし(図14(b)を参照)、確率区間がJun及びJlnを跨っている場合は、Jn+1=Jcn(図14(c)を参照)とする。
【0010】
また、再正規化を1回行う度に、以下の法則でbitを一つ出力する。
Jn+1=Jcnとなる場合、“未確定”のbitを出力する。
Jn+1=Junとなる場合、これまでに出力されたbitに未確定bitが存在していなければ“1”を出力する。
一方、未確定bitが存在していれば、時系列的に最も早い未確定bitを“1”に確定し、それ以降の未確定bitを全て“0”に確定して、更に“0”を出力する。
また、Jn+1=Jlnとなる場合、これまでに出力されたbitに未確定bitが存在していなければ“0”を出力する。
一方、未確定bitが存在していれば、時系列的に最も早い未確定bitを“0”に確定し、それ以降の未確定bitを全て“1”に確定して、更に“1”を出力する。
【0011】
図15は上記の法則にしたがって再正規化を行っていった場合の数直線Iの上での処理区間Jnの位置と長さを示す説明図である。
図15では、JunはJnの上半分、Jlnは下半分として示している。また、数直線上の太線が各時点での確率区間を表している。
1回目の再正規化では、確率区間がJl0に含まれ、かつ、未確定bitが存在しないため“0”を出力し、J1=Jl0となる。
2回目の再正規化では、確率区間がJu1に含まれ、かつ、未確定bitが存在しないため“1”を出力し、J2=Ju1となる。
3回目の再正規化では、確率区間がJc2に含まれるため、未確定bitを出力し、J3=Jc2となる。
4回目の再正規化では、確率区間がJu3に含まれ、かつ、未確定bitが存在するため、3回目の再正規化時に出力した未確定bitを“1”に確定し、“0”を出力する。
【0012】
図15に示されるように、n回の再正規化を行った時点において、算術符号化モジュールから出力されるbit系列は、未確定bitが存在しない状態であれば、その時点における処理区間Jnの数直線I全体における座標を示すことになる。
入力のbin系列が全て符号化された後に、未確定bitが存在しなくなるように適切な終端処理を行うことで、入力のbin系列を一意に復号できる数直線I上の座標を示すbit系列が得られる。
以上の考え方により、乗除算を用いない逐次的な算術符号化を実現している。
【0013】
また、乗除算を用いない逐次的な算術復号処理は、以下の考え方により実現している。
復号側でも符号化側と同様に、確率区間長が256〜510を維持するように再正規化を繰り返しながら確率区間情報を保持している。
各binの確率情報及び確率区間の初期値が符号化側と一致していれば、あるbinの復号時の確率区間は、当該binを符号化した際の算術符号化モジュールが内部的に保持している確率区間と一致する。
n回の再正規化を行った時点の内部的に保持する確率区間は、数直線I上の確率区間を含む区間を1/2n+1の幅で切り取り、512段階に離散化したものとみなすことができる。
【0014】
算術復号処理は、入力のbit系列を読み込みながら区間Hnを求め、区間Hnと確率区間の重なりにより復号処理を行う。
図16は算術復号処理を示す説明図である。
図中の太線は数直線I上での確率区間を表し、優勢シンボル区間と劣勢シンボル区間に分割されている。
このとき、優勢シンボル区間と劣勢シンボル区間のいずれかどちらかのみに、区間Hnが重なるまでbitが読み込まれる。
即ち、図16のように確率区間が分割されている場合、1番目のbitを読むことで求まる区間H1が、優勢シンボル区間と劣勢シンボル区間の両方に重なっているため、次のbitが読み込まれる。
同様に、区間H2,H3も、優勢シンボル区間と劣勢シンボル区間の両方に重なっており、4番目のbitまで読んだ時点で、区間H4が優勢シンボル区間のみに重なる。
よって、この場合、ここで復号されるbinは、優勢シンボルであるという情報が復号結果として出力される。このような処理が再正規化を繰り返しながら行われる。
【0015】
なお、内部的な確率区間は512段階で表現されているため、再正規化をn回行った時点で、そこから更に9bit分読み込んだ区間Hn+9は、長さが1段階分となり、必ず優勢シンボル区間もしくは劣勢シンボル区間のいずれかのみに重なる。
よって、復号処理の初期化時に9bit分固定的に読み取り、それ以降は再正規化後に1bitずつ読むという動作でも、復号処理を進めることができる。
以上の考え方により、乗除算を用いない逐次的な算術復号を実現している。
【0016】
上述のとおり、算術符号化・復号にはbinの確率情報を必要とする。H.264で用いられているCABACでは、bin毎に符号化モードを定めており、符号化モードに基づいて当該bin確率情報の求め方が異なっている。
符号化モードには、例えばノーマル算術符号化モード、バイパス符号化モードがある。
ノーマル算術符号化モードは、既知のコンテキスト情報に基づいて推定された優勢シンボル情報および優勢シンボル生起確率を用いて符号化するモードである。
バイパス符号化モードは、優勢シンボルを定義せず、また優勢シンボル生起確率として0.5を固定的に用いて符号化するモードである。
ここで、上述のバイパス符号化モードによる符号化では、“0”と“1”の生起確率が等しいとして符号化を行うため、情報理論上圧縮が不可能であり、実際の動作としても1binの符号化につき必ず1bitが出力される。よってバイパス符号化モードは、2値シンボルを全く圧縮せずに算術符号化する符号化モードと言い換えることができる。
ノーマル算術符号化モードにおける確率状態の推定処理を行う必要はないが、区間の分割などの演算は同様に行う必要がある。
【0017】
算術符号化の枠組みにおいては、あるbinの符号化時に出力されるbitの値は前後のbinの確率状態に依存して変化するため、たとえ圧縮を行わない場合であっても、上述の算術符号化手法に基づく符号化・復号を行う必要がある。
これから分かるように、従来のCABACのバイパス符号化モードは、確率状態推定を行わないことによる演算量の低減効果はあるが、それ以外の区間分割などの処理はノーマル算術符号化モードと同様に行わなければならないため、一定の演算負荷がかかる。
【先行技術文献】
【非特許文献】
【0018】
【非特許文献1】D. Marpe,H. Schwarz,and T.Wiegand,“Context-adaptive binary arithmetic coding in the H.264/AVC video compression standard”,IEEE Trans. Circuits Syst. Video Technol.,vol. 13,pp.620−636(2003).
【発明の概要】
【発明が解決しようとする課題】
【0019】
従来のエントロピー符号化装置は以上のように構成されているので、CABACでは、“0”と“1”の生起確率に偏りがない2値シンボルに対して、バイパス符号化モードを導入することで、確率状態推定処理の処理負荷の低減を実現している。しかし、数直線の分割に関わる演算は、ノーマル算術符号化・復号と同様の処理を行う必要があるため、バイパス符号の符号化処理や復号処理には、依然として大きな演算量が必要であるなどの課題があった。
【0020】
この発明は上記のような課題を解決するためになされたもので、CABACと同一の圧縮率を維持しながら、“0”と“1”の生起確率に偏りがない2値シンボルに対する符号化の処理負荷を低減することができるエントロピー符号化装置及びエントロピー符号化方法を得ることを目的とする。
また、この発明は、処理負荷が少ない復号処理で、“0”と“1”の生起確率に偏りがない2値シンボルを復号することができるエントロピー復号装置及びエントロピー復号方法を得ることを目的とする。
【課題を解決するための手段】
【0021】
この発明に係るエントロピー符号化装置は、多値シンボル系列内の多値シンボルを2値化して、1以上の2値シンボルの系列を出力するとともに、その2値シンボルが多値シンボルに係る何番目の2値シンボルであるかを示すbin番号を出力するシンボル2値化手段と、シンボル2値化手段から出力されたbin番号に対応する2値シンボルにおいて生起する確率が高い優勢シンボルを示す優勢シンボル情報を出力するとともに、その優勢シンボルの生起確率を示す確率情報を出力する確率情報出力手段と、シンボル2値化手段から出力されたbin番号に対応する2値シンボルにおける符号化モードを決定する符号化モード決定手段と、符号化モード決定手段により決定された符号化モードが算術符号化モードであれば、確率情報出力手段から出力された優勢シンボル情報を参照して、上記bin番号に対応する2値シンボルが優勢シンボルであるか否かを示すフラグを符号化2値シンボルとして出力する符号化2値シンボル出力手段と、確率情報出力手段から出力された確率情報が示す優勢シンボルの生起確率を用いて、符号化2値シンボル出力手段から出力された符号化2値シンボルを算術符号化し、その符号化結果である符号化bitを出力する算術符号化手段と、符号化モード決定手段により決定された符号化モードがバイパス符号化モードであれば、シンボル2値化手段から出力された2値シンボルを符号化bitとして出力するバイパス符号化手段とを設け、多重化手段が、算術符号化手段から出力された符号化bitとバイパス符号化手段から出力された符号化bitを多重化して符号化データを生成するようにしたものである。
【発明の効果】
【0022】
この発明によれば、多値シンボル系列内の多値シンボルを2値化して、1以上の2値シンボルの系列を出力するとともに、その2値シンボルが多値シンボルに係る何番目の2値シンボルであるかを示すbin番号を出力するシンボル2値化手段と、シンボル2値化手段から出力されたbin番号に対応する2値シンボルにおいて生起する確率が高い優勢シンボルを示す優勢シンボル情報を出力するとともに、その優勢シンボルの生起確率を示す確率情報を出力する確率情報出力手段と、シンボル2値化手段から出力されたbin番号に対応する2値シンボルにおける符号化モードを決定する符号化モード決定手段と、符号化モード決定手段により決定された符号化モードが算術符号化モードであれば、確率情報出力手段から出力された優勢シンボル情報を参照して、上記bin番号に対応する2値シンボルが優勢シンボルであるか否かを示すフラグを符号化2値シンボルとして出力する符号化2値シンボル出力手段と、確率情報出力手段から出力された確率情報が示す優勢シンボルの生起確率を用いて、符号化2値シンボル出力手段から出力された符号化2値シンボルを算術符号化し、その符号化結果である符号化bitを出力する算術符号化手段と、符号化モード決定手段により決定された符号化モードがバイパス符号化モードであれば、シンボル2値化手段から出力された2値シンボルを符号化bitとして出力するバイパス符号化手段とを設け、多重化手段が、算術符号化手段から出力された符号化bitとバイパス符号化手段から出力された符号化bitを多重化して符号化データを生成するように構成したので、CABACと同一の圧縮率を維持しながら、“0”と“1”の生起確率に偏りがない2値シンボルに対する符号化の処理負荷を低減することができる効果がある。
【図面の簡単な説明】
【0023】
【図1】この発明の実施の形態1によるエントロピー符号化装置を示す構成図である。
【図2】この発明の実施の形態1によるエントロピー符号化装置の処理内容を示すフローチャートである。
【図3】多値シンボルの2値化テーブルの一例を示す説明図である。
【図4】算術符号化部6の算術符号化処理を示すフローチャートである。
【図5】(a)はRangeやLowなどを表し、(b)は優勢シンボル区間と劣勢シンボル区間に分割された確率区間を示す説明図である。
【図6】符号化モードが算術符号化モード又はバイパス符号化モードのいずれかである場合のbin系列とbit系列の入出力関係を示す説明図である。
【図7】算術符号化モードとバイパス符号化モードが混在している場合のbin系列とbit系列の入出力関係を示す説明図である。
【図8】先読みbit数Dの可変長符号例と多重化例を示す説明図である。
【図9】この発明の実施の形態2によるエントロピー復号装置を示す構成図である。
【図10】この発明の実施の形態2によるエントロピー復号装置の処理内容を示すフローチャートである。
【図11】算術復号部25の算術復号処理を示すフローチャートである。
【図12】2値シンボル系列を算術符号化する場合の概念図である。
【図13】数直線上の座標の2進数表現を示す説明図である。
【図14】確率区間と再正規化を行った時点の処理区間の関係を示す説明図である。
【図15】数直線Iの上での処理区間Jnの位置と長さを示す説明図である。
【図16】算術復号処理を示す説明図である。
【発明を実施するための形態】
【0024】
実施の形態1.
図1はこの発明の実施の形態1によるエントロピー符号化装置を示す構成図である。
図1において、2値化部1は多値シンボルの2値化テーブルを参照して、その多値シンボル系列内の多値シンボルを2値化し、長さが1以上の2値シンボルの系列を符号化方式切替スイッチ4に出力する処理を実施する。
また、2値化部1は多値シンボルの2値化テーブルを参照して、各2値シンボルが多値シンボルに係る何番目の2値シンボルであるかを示すbin番号を確率情報出力部2及び符号化モード決定部3に出力する処理を実施する。
なお、2値化部1はシンボル2値化手段を構成している。
【0025】
確率情報出力部2は予めbin番号毎に、当該bin番号に対応する2値シンボルにおいて生起する確率が高い優勢シンボル(“0”又は“1”のうち、生起する確率が高い方の値を示すシンボル)を示す優勢シンボル情報と、その優勢シンボルの生起確率を示す確率情報を記憶しており、2値化部1から出力されたbin番号に対応する優勢シンボルを示す優勢シンボル情報を符号化bin出力部5に出力するとともに、その優勢シンボルの生起確率を示す確率情報を算術符号化部6に出力する処理を実施する。なお、確率情報出力部2は確率情報出力手段を構成している。
【0026】
符号化モード決定部3は予めbin番号毎に、当該bin番号に対応する2値シンボルにおける符号化モード(算術符号化モード、バイパス符号化モード)を記憶しており、2値化部1から出力されたbin番号に対応する符号化モードを符号化方式切替スイッチ4に出力する処理を実施する。
【0027】
符号化方式切替スイッチ4は2値化部1から出力されたbin番号に対応する2値シンボルの符号化モードが、符号化モード決定部3により算術符号化モードに決定された場合、その2値シンボルを符号化bin出力部5に出力し、そのbin番号に対応する2値シンボルの符号化モードが、符号化モード決定部3によりバイパス符号化モードに決定された場合、その2値シンボルをバイパス符号化部7に出力する処理を実施する。
なお、符号化モード決定部3及び符号化方式切替スイッチ4から符号化モード決定手段が構成されている。
【0028】
符号化bin出力部5は符号化方式切替スイッチ4から2値シンボルを受けると、確率情報出力部2から出力された優勢シンボル情報を参照して、その2値シンボルが優勢シンボルであるか否かを示すフラグを符号化2値シンボルとして算術符号化部6に出力する処理を実施する。
即ち、符号化bin出力部5は符号化方式切替スイッチ4から出力された2値シンボル系列内の2値シンボル毎に、当該2値シンボルが確率情報出力部2から出力された優勢シンボル情報が示す優勢シンボルと一致するか否かを判定し、その判定結果を符号化2値シンボルとして算術符号化部6に出力する処理を実施する。
なお、符号化bin出力部5は符号化2値シンボル出力手段を構成している。
【0029】
算術符号化部6は確率情報出力部2から出力された確率情報が示す優勢シンボルの生起確率情報を用いて、符号化bin出力部5から出力された符号化2値シンボルを算術符号化し、その符号化結果である符号化bitを符号化データ出力部8の算術符号バッファ10に出力する処理を実施する。なお、算術符号化部6は算術符号化手段を構成している。
【0030】
バイパス符号化部7は符号化方式切替スイッチ4から2値シンボルを受けると、その2値シンボルを符号化bitとして、符号化データ出力部8のバイパス符号バッファ9に出力する処理を実施する。
即ち、バイパス符号化部7は符号化方式切替スイッチ4から出力された2値シンボルが“0”である場合、“0”の符号化bitを符号化データ出力部8のバイパス符号バッファ9に出力し、符号化方式切替スイッチ4から出力された2値シンボルが“1”である場合、“1”の符号化bitを符号化データ出力部8のバイパス符号バッファ9に出力する処理を実施する。
なお、バイパス符号化部7はバイパス符号化手段を構成している。
【0031】
符号化データ出力部8は図9のエントロピー復号装置が符号化bitを算術復号する際の符号化bitの読み込みタイミングに対応する順序で、算術符号化部6から出力された符号化bitとバイパス符号化部7から出力された符号化bitを多重化して符号化データを生成する処理を実施する。
即ち、符号化データ出力部8は算術符号化部6及びバイパス符号化部7から出力される2つの符号化bit系列内の各符号化bitに対して、両者をまとめて通しの番号を振り、その番号に基づいて2つの符号化bit系列内の各符号化bitを多重化し、1つの符号化bit系列として符号化データを生成する処理を実施する。
なお、符号化データ出力部8は多重化手段を構成している。
【0032】
バイパス符号バッファ9はバイパス符号化部7から出力された符号化bit系列を格納する記憶媒体である。
算術符号バッファ10は算術符号化部6から出力された符号化bit系列を格納する記憶媒体である。
符号化データ多重化部11はバイパス符号バッファ9及び算術符号バッファ10に格納されている符号化bit系列内の各符号化bitに対して、図9のエントロピー復号装置で読み込まれる順序の番号を割り振り、その番号に基づいてバイパス符号バッファ9及び算術符号バッファ10に格納されている符号化bit系列内の各符号化bitを多重化して出力する処理を実施する。
【0033】
図1の例では、エントロピー符号化装置の構成要素である2値化部1、確率情報出力部2、符号化モード決定部3、符号化方式切替スイッチ4、符号化bin出力部5、算術符号化部6、バイパス符号化部7及び符号化データ出力部8のそれぞれが専用のハードウェア(例えば、CPUを実装している半導体集積回路、あるいは、ワンチップマイコンなど)で構成されているものを想定しているが、エントロピー符号化装置の全部又は一部がコンピュータで構成されていてもよい。
エントロピー符号化装置の全部又は一部がコンピュータで構成されている場合には、2値化部1、確率情報出力部2、符号化モード決定部3、符号化方式切替スイッチ4、符号化bin出力部5、算術符号化部6、バイパス符号化部7及び符号化データ出力部8の処理内容を記述しているプログラムの全部又は一部をコンピュータのメモリに格納し、当該コンピュータのCPUが当該メモリに格納されているプログラムを実行するようにすればよい。
図2はこの発明の実施の形態1によるエントロピー符号化装置の処理内容を示すフローチャートである。
【0034】
次に動作について説明する。
2値化部1は、多値シンボル系列を入力すると、予め多値シンボルの種類に応じて決められた規則にしたがって、その多値シンボル系列内の多値シンボルを2値化し、1以上の2値シンボルの系列を符号化方式切替スイッチ4に出力する(ステップST1)。
ここで、図3は多値シンボルの2値化テーブルの一例を示す説明図である。
2値化部1に入力される多値シンボルの種類(例えば、画像符号化におけるマクロブロックタイプ、DCT係数など)はシンタックスで決められているため、2値化部1は入力される多値シンボルの種類を認識することができる。
【0035】
図3の例では、入力された多値シンボルの種類が多値シンボルAであれば、(a)の2値化テーブルを参照して、多値シンボル系列内の多値シンボルを2値化し、多値シンボルの種類が多値シンボルBであれば、(b)の2値化テーブルを参照して、多値シンボル系列内の多値シンボルを2値化する。
また、多値シンボルの種類が多値シンボルCであれば、(c)の2値化テーブルを参照して、多値シンボル系列内の多値シンボルを2値化する。
例えば、多値シンボルの種類が多値シンボルAであり、その多値シンボルの値が“2”であれば、2値化部1から2値シンボルとして、“1”、“0”、“1”の系列が出力される。
【0036】
また、2値化部1は、多値シンボルの2値化テーブルを参照して、1以上の2値シンボルが多値シンボルに係る何番目の2値シンボルであるかを示すbin番号を確率情報出力部2及び符号化モード決定部3に出力する。
例えば、“2”の多値シンボルに対応する2値シンボルとして、“1”、“0”、“1”の系列を出力する場合、“1”、“0”、“1”の系列に対応するbin番号として、“0”、“1”、“2”、を出力する。
また、“7”の多値シンボルに対応する2値シンボルとして、“1”、“1”、“1”、“0”、“0”の系列を出力する場合、“1”、“1”、“1” 、“0”、“0”の系列に対応するbin番号として、“0”、“1”、“2”、“3”、“4”を出力する。
【0037】
符号化モード決定部3は、予めbin番号毎に、当該bin番号に対応する符号化モードの情報を記憶しており(例えば、多値シンボルの種類などの情報に関連している情報として、bin番号に対応する符号化モードの情報を記憶している)、2値化部1からbin番号を受けると、その符号化モードの情報を参照することで、そのbin番号に対応する2値シンボルにおける符号化モードを決定し、符号化方式切替スイッチ4に出力する。(ステップST2)。
【0038】
図3の2値化テーブルには、2値シンボルのbin番号に対応する符号化モードの情報が記録されている。
図3の例では、“0”の符号化モードは算術符号化モードであり、“1”の符号化モードはバイパス符号化モードであることを表している。
例えば、2値化部1から“0”、“1”、“2”、“3”、“4”のbin番号の系列が出力される場合、“0”のbin番号に対応する符号化モードは算術符号化モード、“1”のbin番号に対応する符号化モードは算術符号化モード、“2”のbin番号に対応する符号化モードは算術符号化モード、“3”のbin番号に対応する符号化モードは算術符号化モード、“4”のbin番号に対応する符号化モードはバイパス符号化モードになる。
また、2値化部1から“9”、“10”、“11”、“12”のbin番号の系列が出力される場合、“9”のbin番号に対応する符号化モードはバイパス符号化モード、“10”のbin番号に対応する符号化モードは算術符号化モード、“11”のbin番号に対応する符号化モードは算術符号化モード、“12”のbin番号に対応する符号化モードはバイパス符号化モードになる。
【0039】
符号化方式切替スイッチ4は、2値化部1から2値シンボル系列を受けると、その2値シンボル系列内の2値シンボルの符号化モードが、符号化モード決定部3により算術符号化モードに決定されている場合(当該2値シンボルのbin番号が対応する符号化モードが“0”である場合)、その2値シンボルを符号化bin出力部5に出力する(ステップST3)。
一方、その2値シンボル系列内の2値シンボルの符号化モードが、符号化モード決定部3によりバイパス符号化モードに決定されている場合(当該2値シンボルのbin番号が対応する符号化モードが“1”である場合)、その2値シンボルをバイパス符号化部7に出力する(ステップST3)。
なお、上述の例では符号化装置が算術符号化モードとバイパス符号化モードのみを有する場合の動作を説明したが、符号化装置が算術符号化モードとバイパス符号化モード以外の符号化モードXを有していた場合、符号化モード決定部3は符号化モードXに対応した符号化モード情報を決定することができ、また符号化方式切替スイッチ4は、符号化モードXに対応する符号化モード情報を受け取った場合、符号化モードXに対応する符号化処理を実施するモジュールに2値シンボルを出力することができる。
【0040】
バイパス符号化部7は、2値シンボルの符号化方式がバイパス符号化モードに決定されており、符号化方式切替スイッチ4から2値シンボルを受けると、その2値シンボルを符号化bitとして(2値シンボル=符号化bit)、その符号化bitを符号化データ出力部8のバイパス符号バッファ9に格納する(ステップST4)。
即ち、バイパス符号化部7は、符号化方式切替スイッチ4から2値シンボルを受けると、その2値シンボルが“0”であれば、“0”の符号化bitを符号化データ出力部8のバイパス符号バッファ9に格納し、その2値シンボルが“1”であれば、“1”の符号化bitを符号化データ出力部8のバイパス符号バッファ9に格納する。
【0041】
確率情報出力部2は、予めbin番号毎に、当該bin番号に対応する2値シンボルにおいて生起する確率が高い優勢シンボル(“0”又は“1”のうち、生起する確率が高い方の値を示すシンボル)を示す優勢シンボル情報と、その優勢シンボルの生起確率を示す確率情報を記憶している。
例えば、図3(a)の2値化テーブルの場合、“0”〜“9”の値をとる多値シンボルにおいて、“0”の多値シンボルが発生する確率が約70%であるような場合には、“0”のbin番号に対応する2値シンボルにおいて、“0”のシンボルが生起される確率が約70%となるので、当該2値シンボルにおける優勢シンボルは“0”のシンボルとなる。また、この優勢シンボルの生起確率は約70%となる。
確率情報出力部2は、2値化部1からbin番号を受けると、そのbin番号に対応する優勢シンボルを示す優勢シンボル情報を符号化bin出力部5に出力するとともに、その優勢シンボルの生起確率を示す確率情報を算術符号化部6に出力する(ステップST5)。
【0042】
符号化bin出力部5は、2値シンボルの符号化方式が算出符号化モードに決定されており、符号化方式切替スイッチ4から2値シンボルを受けると、確率情報出力部2から出力された優勢シンボル情報を参照して、その2値シンボルが優勢シンボルであるか否かを示すフラグを符号化2値シンボルとして算術符号化部6に出力する(ステップST6)。
即ち、符号化bin出力部5は、符号化方式切替スイッチ4から出力された2値シンボル系列内の2値シンボル毎に、当該2値シンボルが確率情報出力部2から出力された優勢シンボル情報が示す優勢シンボルと一致するか否かを判定し、その判定結果を符号化2値シンボル(例えば、一致=1、不一致=0)として算術符号化部6に出力する。
【0043】
算術符号化部6は、符号化bin出力部5から符号化2値シンボルを受けると、確率情報出力部2から出力された確率情報が示す優勢シンボルの生起確率情報を用いて、その符号化2値シンボルを算術符号化し(ステップST7)、その符号化結果である符号化bitを符号化データ出力部8の算術符号バッファ10に格納する(ステップST8)。
【0044】
以下、算術符号化部6の算術符号化処理を具体的に説明する。
図4は算術符号化部6の算術符号化処理を示すフローチャートである。
このフローチャートが示す算術符号化処理は、背景技術の欄で述べたH.264のCABACが用いている算術符号化アルゴリズムに準拠している。用語なども背景技術の欄で述べたものを用いる。
最初に、算術符号化処理の概要を説明する。
【0045】
算術符号化部6は、Range、Lowの2つのレジスタを用いて、確率区間の情報を保持している。
図5(a)に示すように、Rangeは現在の確率区間の長さを表し、Lowは処理区間の下限から確率区間の下限までの距離を表すものである。これらのレジスタの初期値は、Range=510、Low=0である。
確率区間の分割は、背景技術の欄で述べたように、整数を用いた処理である。
Rangeの値と、確率情報出力部2から出力された優勢シンボルの生起確率を示す確率情報とを用いて、テーブル参照により定まるLPSLengthという値から、図5(b)に示すように、確率区間を優勢シンボル区間と劣勢シンボル区間に分割する。
また、現在の“未確定”のbitの個数を表すカウンタであるRCounterを有する。RCounterの初期値は0である。
以上を踏まえて、bin番号kのbinである符号化2値シンボルの符号化の動作の流れを説明する。ただし、この時点で出力した符号化bitの個数をn−1個とする。
【0046】
まず、算術符号化部6は、符号化bin出力部5から出力された符号化2値シンボルである入力bin(bk)が優勢シンボルであるのか、劣勢シンボルであるのかで処理を分ける(図4のステップST21)。
算術符号化部6は、入力bin(bk)が優勢シンボルである場合、確率区間を優勢シンボル区間に更新する(ステップST22)。
Range=Range−LPSLength
これは、優勢シンボル区間を次の確率区間として更新するI k=IMk-1の処理に該当する。
【0047】
算術符号化部6は、入力bin(bk)が劣勢シンボルである場合、確率区間を劣勢シンボル区間に更新する(ステップST23)。
Low=Range−LPSlength
Range=LPSLength
これは劣勢シンボル区間を次の確率区間として更新するI k=ILk-1の処理に該当する。
【0048】
次に、算術符号化部6は、Rangeの値を条件とするループ処理を行う。
ループ継続条件は、Range<256であり、ループ継続条件を満たしている間、以下のステップST25〜ST29の処理を繰り返し実施する(ステップST24)。Range≧256となれば、処理を終了する。
ステップST25〜ST29の処理は、上述した再正規化の処理に該当する。
【0049】
ステップST25,ST26は、現在の確率区間がJun、Jcn、Jlnのいずれに含まれるかを判断して処理を切り替える分岐部分である。
Low≧512である場合は、現在の確率区間がJunに含まれるとして、ステップST27の処理を実施する(ステップST25)。
Low<256である場合は、現在の確率区間がJlnに含まれるとして、ステップST28の処理を実施する(ステップST25,ST26)。
512>Low≧256である場合は、現在の確率区間がJcnに含まれるとして、ステップST29の処理を実施する(ステップST25,ST26)。
以下、ステップST27,ST28,ST29の処理内容を説明する。
【0050】
(1)ステップST27の処理内容
算術符号化部6は、Low=(Low−512)×2、Range=Range×2 とする。これは図14(b)に示す再正規化処理に該当する。
また、算術符号化部6は、RCounter≧1の場合、算術符号bit番号n−RCounterのbitを“1”に確定し、算術符号bit番号n−RCounter+1〜算術符号bit番号n−1のbitを“0”に確定する。
そして、算術符号bit番号nのbitとして“0”のbitを算術符号バッファ10に格納し、RCounter=0とする。
RCounter=0の場合、算術符号bit番号nのbitとして“1”のbitを算術符号バッファ10に格納する。
【0051】
(2)ステップST28の処理内容
算術符号化部6は、Low=Low×2、Range=Range×2とする。これは図14(a)に示す再正規化処理に該当する。
また、算術符号化部6は、RCounter≧1の場合、算術符号bit番号n−RCounterのbitを“0”に確定し、算術符号bit番号n−RCounter+1〜算術符号bit番号n−1のbitを“1”に確定する。
そして、算術符号bit番号nのbitとして“1”のbitを算術符号バッファ10に格納し、RCounter=0とする。
RCounter=0の場合、算術符号bit番号nのbitとして“0”のbitを算術符号バッファ10に格納する。
【0052】
(3)ステップST29の処理内容
算術符号化部6は、Low=(Low−256)×2、Range=Range×2とする。これは図14(c)に示す再正規化処理に該当する。
また、算術符号化部6は、RCounter=RCounter+1とし、算術符号bit番号nのbitとして“未確定”のbitを算術符号バッファ10に格納する。
【0053】
符号化データ出力部8の符号化データ多重化部11は、バイパス符号バッファ9及び算術符号バッファ10に格納されている符号化bit系列内の各符号化bitに対して、図9のエントロピー復号装置で読み込まれる順序の番号を割り振り(図2のステップST9)、その番号に基づいてバイパス符号バッファ9及び算術符号バッファ10に格納されている符号化bit系列内の各符号化bitを多重化して符号化データを生成し、その符号化データを出力する(ステップST10)。
以下、符号化データ多重化部11の処理内容の一例を具体的に説明する。
【0054】
符号化データ多重化部11は、符号化データのデータ量を全く増加させない多重化手法で符号化bitの多重化を実施する。
この多重化手法では、バイパス符号バッファ9に格納されている符号化bit(バイパス符号bit)の系列と、算術符号バッファ10に格納されている符号化bit(算術符号bit)の系列とにおける各符号化bitに対して、図9のエントロピー復号装置で読み込まれる順序を割り振り、その順序に基づいてバイパス符号bitと算術符号bitを符号化データとして多重化する。
【0055】
ここで、図9のエントロピー復号装置で読み込まれる順序とは、復号の動作に基づいて、算術符号化モード及びバイパス符号モードのbinの符号化を行う際に、算術符号化モードのbinの復号時にbit読み込みが必要になった場合、その時点における入力のbit系列の未読部分の先頭が、そのbinの復号において必要な算術符号bitになっており、また、バイパス符号化モードのbinの復号時にbit読み込みが必要になった場合も同様に、その時点における入力のbit系列の未読部分の先頭が、そのbinの復号において必要なバイパス符号bitになっているような順序を意味する。
即ち、図9のエントロピー復号装置で常に入力のbit系列の未読部分の先頭からbitを読み込むだけで正しく復号が可能な順序を指している。
【0056】
このような順序でbit系列に多重化すれば、当然ながら追加の情報を必要とせず、入力されたbit系列内の算術符号bitとバイパス符号bitを弁別することができる。
図9のエントロピー復号装置で読み込まれるbitの順序は、算術復号の動作によって異なってくる。よって、この多重化の動作は、図9のエントロピー復号装置における算術復号の動作に依存して変更する必要がある。
以下、一例として、エントロピー符号化装置の動作として、算術符号化部6の動作を想定し、図9のエントロピー復号装置の動作として、後述する符号化データ入力部21及び算術復号部25(実施の形態2を参照)の動作を想定して、多重化の具体的な動作を説明する。
【0057】
最初に、符号化モードが算術符号化モードに決定されて、エントロピー符号化装置の算術符号化部6により符号化bitの系列が出力され、エントロピー復号装置の算術復号部25により符号化bitの系列が算術復号される際のbit出力および入力の動作を説明する。
算術符号化部6は、上述したように、1つの符号化2値シンボル(bin)の算出符号化において、0個以上の“0”、“1”または“未確定”の符号化bit(算術符号bit)を出力する。
ここで、図6(a)は、符号化bin出力部5から出力された符号化2値シンボルの系列(bin系列)が算術符号化部6に入力され、算術符号化部6が符号化2値シンボルの系列を算出符号化して符号化bit(算術符号bit)の系列を出力する一例を示している。
図の矢印は、矢印が出ている元の符号化2値シンボルの算術符号化において、矢印が指す先の符号化bitが出力されることを示している。
図6(a)の例では、bin番号kの符号化2値シンボル(bin)の算術符号化において、bit番号nの符号化bitが出力されている。また、bin番号k+1,k+2の符号化2値シンボル(bin)の算術符号化では、符号化bitが出力されず、bin番号k+3の符号化2値シンボル(bin)の算術符号化において、bit番号n+1,n+2の2つの符号化bitが出力されている。
【0058】
図6(b)は、算術符号化部6から出力された符号化bit(算術符号bit)の系列が符号化データ入力部21に入力されたのち、符号化データ入力部21から符号化bitの系列が復号方式切替スイッチ24を介して算術復号部25に入力され、算術復号部25が符号化bitの系列を算術復号して復号2値シンボル(bin)の系列を出力する一例を示している。
図の矢印は、矢印が指す先のbinの復号において、矢印が出ている元の符号化bitを入力することを示している。
図6(b)の例では、bin番号kの復号2値シンボル(bin)の算術復号において、bit番号n+9の符号化bitが入力されている。また、bin番号k+1,k+2の復号2値シンボル(bin)の算術復号では、符号化bitが入力されず、bin番号k+3の復号2値シンボル(bin)の算術復号において、bit番号n+10,n+11の2つの符号化bitが入力されている。
【0059】
図6(a),(b)が示すように、bin番号Kの符号化2値シンボル(bin)の算術符号化で出力した符号化bitの個数は、bin番号Kの復号2値シンボル(bin)の算術復号で入力される符号化bitの数と等しい。
また、bin番号Kの符号化2値シンボル(bin)の算術符号化で出力した符号化bit系列のbit番号がN〜N+dである場合、bin番号Kの復号2値シンボル(bin)の算術復号で入力される符号化bit系列のbit番号がN+9〜N+d+9になる。
即ち、算術復号部25に対してbin番号Kの復号2値シンボル(bin)の算術復号時に入力される符号化bitは、算術符号化部6がbin番号Kの符号化2値シンボル(bin)の算術符号化時に出力した符号化bitから、9bit分先の符号化bitになる。エントロピー復号装置が9bit分先読みする動作については、実施の形態2で説明する。
【0060】
次に、符号化モードがバイパス符号化モードに決定されて、エントロピー符号化装置のバイパス符号化部7により符号化bitの系列が出力され、エントロピー復号装置のバイパス復号部27により符号化bitの系列が復号される際のbit出力および入力の動作を説明する。
バイパス符号化部7は、上述したように、1つの2値シンボル(bin)の符号化において、1個の“0”または“1”の符号化bit(バイパス符号bit)を出力する。
ここで、図6(c)は、2値シンボルの系列(bin系列)がバイパス符号化部7に入力され、バイパス符号化部7が2値シンボルの系列を符号化して符号化bit(バイパス符号bit)の系列を出力する一例を示している。
図6(c)の例では、bin番号k,k+1,k+2,k+3,k+4のbinの符号化時に、それぞれbit番号m,m+1,m+2,m+3,m+4の符号化bitが出力されている。
【0061】
図6(d)は、バイパス符号化部7から出力された符号化bit(バイパス符号bit)の系列が符号化データ入力部21に入力されたのち、符号化データ入力部21から符号化bitの系列が復号方式切替スイッチ24を介してバイパス復号部27に入力され、バイパス復号部27が符号化bitの系列を復号して復号2値シンボル(bin)の系列を出力する一例を示している。
図6(d)の例では、bin番号k,k+1,k+2,k+3,k+4の復号2値シンボル(bin)の復号時に、それぞれbit番号m,m+1,m+2,m+3,m+4の符号化bit(バイパス符号bit)が入力されている。
【0062】
図6(c),(d)が示すように、bin番号Kの2値シンボル(bin)の符号化で出力した符号化bitの個数及びbit番号は、bin番号Kの復号2値シンボル(bin)の復号で入力される符号化bitの個数及びbit番号と等しい。
【0063】
次に、バイパス符号モードと算術符号化モードが混在している場合の算術符号bitとバイパス符号bitの多重化の動作を説明する。
図7は算術符号化モードとバイパス符号化モードが混在している場合のbin系列とbit系列の入出力関係を示す説明図である。
図7(a)の上側のbin系列において、細線の四角形は算術符号モードのbinを表し、太線の四角形はバイパス符号モードのbinを表している。
図7(a)の下側のbit系列において、細線の四角形は算術符号bitを表し、太線の四角形はバイパス符号bitを表している。
また、算術符号bit及びバイパス符号bitには、それぞれ個別に番号が振られている。
図中の矢印は、図6(a)などと同様に、矢印が出ている元であるbinの符号化において、矢印が指す位置にbitを多重化して出力することを示している。
【0064】
bin番号k+1のbinはバイパス符号化モードのbinである。このbinを符号化する時点において、これまでに出力された算術符号bit系列のうち、最新のbit番号はnである。
このとき、k+1番目のbinを符号化した際に出力されるm番目のバイパス符号bitは、n〜9bit分遅延させたn+9番目の算術符号bitの次に多重化される。
同様に、k+3番目のバイパス符号化モードのbinの符号化によって出力されるm+1番目のバイパス符号bitに対しても、この符号化を行う時点で、これまでに出力された算術符号bit系列の最新のbit番号がnであるため、n+9番目の算術符号bitとn+10番目の算術符号bitの間に多重化される。
この場合、同じ位置にm番目のバイパス符号bitが存在しているため、m番目のバイパス符号bitの次に多重化される。
【0065】
図7(b)は、このように多重化されたbit系列を入力とする復号の動作を示している。上述したように、算術復号部25に対して、bin番号Kのbinの復号時に入力されるbitは、算術符号化部6がbin番号Kのbinの算術符号化時に出力したbitから、算術符号bitの番号で数えて9bit分先のbitになる。
このため、bin番号kの算術符号化モードのbinの復号時には、この時点で未読のbit系列の先頭であるn+9番目の算術符号bitが読み込まれる。
k+1番目のbinはバイパス符号化モードであるが、このbinを復号する時点で、上述の多重化の結果により、未読bit系列の先頭がm番目のバイパス符号bitになり、このbitが読み込まれる。
同様に、k+3番目のbinもバイパス符号化モードであるが、このbinを復号する時点で、未読bit系列の先頭がm+1番目のバイパス符号bitになり、このbitが読み込まれる。
k+4からk+15のbinは、全て算術符号化モードのbinであるが、これらを復号する際も、それぞれの復号を行う時点で、未読のbit系列の先頭を読み込むことで正しく復号される。
【0066】
なお、図2のステップST1〜ST10の処理は、全ての多値シンボル系列の処理が終了するまで繰り返し実行される(ステップST11)。
【0067】
以上で明らかなように、この実施の形態1によれば、多値シンボル系列内の多値シンボルを2値化して、1以上の2値シンボルの系列を出力するとともに、その2値シンボルが多値シンボルに係る何番目の2値シンボルであるかを示すbin番号を出力する2値化部1と、2値化部1から出力されたbin番号に対応する2値シンボルにおいて生起する確率が高い優勢シンボルを示す優勢シンボル情報を出力するとともに、その優勢シンボルの生起確率を示す確率情報を出力する確率情報出力部2と、2値化部1から出力されたbin番号に対応する2値シンボルにおける符号化モードを決定する符号化モード決定部3と、2値化部1から出力されたbin番号に対応する2値シンボルの符号化モードが、符号化モード決定部3により算術符号化モードに決定された場合、その2値シンボルを符号化bin出力部5に出力し、そのbin番号に対応する2値シンボルの符号化モードが、符号化モード決定部3によりバイパス符号化モードに決定された場合、その2値シンボルをバイパス符号化部7に出力する符号化方式切替スイッチ4と、符号化方式切替スイッチ4から2値シンボルを受けると、確率情報出力部2から出力された優勢シンボル情報を参照して、上記bin番号に対応する2値シンボルが優勢シンボルであるか否かを示すフラグを符号化2値シンボルとして出力する符号化bin出力部5と、確率情報出力部2から出力された確率情報が示す優勢シンボルの生起確率を用いて、符号化bin出力部5から出力された符号化2値シンボルを算術符号化し、その符号化結果である符号化bitを出力する算術符号化部6と、符号化方式切替スイッチ4から2値シンボルを受けると、2値化部1から出力された2値シンボルを符号化bitとして出力するバイパス符号化部7とを設け、符号化データ出力部8が、算術符号化部6から出力された符号化bitとバイパス符号化部7から出力された符号化bitを多重化して符号化データを生成するように構成したので、CABACと同一の圧縮率を維持しながら、“0”と“1”の生起確率に偏りがない2値シンボルに対する符号化の処理負荷を低減することができる効果を奏する。また、エントロピー復号装置においても、“0”と“1”の生起確率に偏りがない2値シンボルに対する復号の処理負荷を低減することができる効果を奏する。
【0068】
なお、この実施の形態1では、図1のエントロピー復号装置が算術復号する際、固定的に9bitのbitを先読みすることを想定して、符号化データ出力部8の符号化データ多重化部11が、算術符号bitとバイパス符号bitを多重化するものを示したが、エントロピー復号装置が算術復号する際、固定的に16bitのbitを先読みするように実装することも可能である。
よって、エントロピー復号装置が算術復号する際、固定的に何bitのbitを先読みすればよいかを示す情報(符号化bitの読み込みタイミングを規定する復号動作情報)を、符号化データ多重化部11が、エントロピー復号装置に通知するようにしてもよい。
【0069】
この場合、符号化データ多重化部11は、エントロピー復号装置が算術復号する際、その復号動作情報が示すbit数だけ先読みすることを想定して、算術符号bitとバイパス符号bitを多重化することになる。
一方、エントロピー復号装置は、算術復号する際、エントロピー符号化装置から通知された復号動作情報が示すbit数だけ先読みすることになる。
なお、符号化データ多重化部11は、復号動作情報を符号化データと別個にエントロピー復号装置に伝送してもよいし、復号動作情報を符号化データと多重化してエントロピー復号装置に伝送してもよい。
【0070】
復号動作情報を符号化データと多重化してエントロピー復号装置に伝送する場合、符号化データ多重化部11が、その復号動作情報を可変長符号化する(例えば、テーブル参照型可変長符号化などの手法で可変長符号化する)。図8(a)は復号動作情報である先読みbit数Dの可変長符号例を示す2値化テーブルの一例である。
例えば、多値シンボル系列が動画像データに適用されるものである場合、図8(b)に示すように、シーケンスパラメータセット(SPS)などに多重化することができる。
ここでは、復号動作情報が先読みbit数Dである例を示したが、エントロピー復号装置が算術復号する際に符号化bitの読み込みタイミングを規定する情報であればよく、先読みbit数Dに限るものではない。
【0071】
実施の形態2.
図9はこの発明の実施の形態2によるエントロピー復号装置を示す構成図である。
図9において、符号化データ入力部21は図1のエントロピー符号化装置により生成された符号化データを入力すると、その符号化データの読み出し位置先頭から符号化bit系列を読み出し、その符号化bit系列を復号方式切替スイッチ24に出力する処理を実施する。
また、符号化データ入力部21は多値シンボルの2値化テーブルを参照して、その符号化bit系列内の符号化bitから得られる2値シンボル(符号化bitを復号した際の2値シンボル)が多値シンボルに係る何番目の2値シンボルであるかを示すbin番号を確率情報出力部22、符号化モード決定部23及び多値化部28に出力する処理を実施する。
なお、符号化データ入力部21は符号化bit系列読み出し手段を構成している。
【0072】
確率情報出力部22は予めbin番号毎に、当該bin番号に対応する2値シンボルにおいて生起する確率が高い優勢シンボル(“0”又は“1”のうち、生起する確率が高い方の値を示すシンボル)を示す優勢シンボル情報と、その優勢シンボルの生起確率を示す確率情報を記憶しており、符号化データ入力部21から出力されたbin番号に対応する優勢シンボルの生起確率を示す確率情報を算術復号部25に出力するとともに、その優勢シンボルを示す優勢シンボル情報をbin出力部26に出力する処理を実施する。なお、確率情報出力部22は確率情報出力手段を構成している。
【0073】
符号化モード決定部23は予めbin番号毎に、当該bin番号に対応する2値シンボルにおける符号化モード(算術符号化モード、バイパス符号化モード)を記憶しており、符号化データ入力部21から出力されたbin番号に対応する2値シンボルにおける符号化モードを復号方式切替スイッチ24に出力する処理を実施する。
【0074】
復号方式切替スイッチ24は符号化データ入力部21から出力されたbin番号に対応する2値シンボルの符号化モードが、符号化モード決定部23により算術符号化モードに決定された場合、符号化データ入力部21から出力された符号化bitを算術復号部25に出力し、そのbin番号に対応する2値シンボルの符号化モードが、符号化モード決定部23によりバイパス符号化モードに決定された場合、その符号化bitをバイパス復号部27に出力する処理を実施する。
なお、符号化モード決定部23及び復号方式切替スイッチ24から符号化モード決定手段が構成されている。
【0075】
算術復号部25は復号方式切替スイッチ24から符号化bitを受けると、確率情報出力部22から出力された確率情報が示す優勢シンボルの生起確率情報を用いて、その符号化bitを算術復号し、その復号結果である復号2値シンボルをbin出力部26に出力する処理を実施する。なお、算術復号部25は算術復号手段を構成している。
【0076】
bin出力部26は算術復号部25から復号2値シンボル系列を受けると、確率情報出力部22から出力された優勢シンボル情報を参照して、その復号2値シンボルが優勢シンボルであるか否かを示すフラグを2値シンボルとして多値化部28に出力する処理を実施する。
即ち、bin出力部26は算術復号部25から出力された復号2値シンボル系列内の各2値シンボルに対し、当該2値シンボルが確率情報出力部22から出力された優勢シンボル情報が示す優勢シンボルと一致するか否かを判定し、その判定結果を2値シンボルとして多値化部28に出力する処理を実施する。
なお、bin出力部26はbin出力手段を構成している。
【0077】
バイパス復号部27は復号方式切替スイッチ24から符号化bitを受けると、その符号化bitを2値シンボルとして多値化部28に出力する処理を実施する。
即ち、バイパス復号部27は復号方式切替スイッチ24から出力された符号化bitが“0”である場合、“0”の2値シンボルを多値化部28に出力し、復号方式切替スイッチ24から出力された符号化bitが“1”である場合、“1”の2値シンボルを多値化部28に出力する処理を実施する。
なお、バイパス復号部27はバイパス復号手段を構成している。
【0078】
多値化部28はbin出力部26から出力された2値シンボルとバイパス復号部27から出力された2値シンボルを多重化して2値シンボル系列を生成し、その2値シンボル系列内の2値シンボルを多値化して、多値シンボルの系列を出力する処理を実施する。
即ち、多値化部28は符号化データ入力部21から出力されたbin番号を参照して、bin出力部26から出力された2値シンボルとバイパス復号部27から出力された2値シンボルとを統合して2値シンボル系列を生成するとともに、多値シンボルの2値化テーブルを参照して、その2値シンボル系列内の2値シンボルを多値化して、多値シンボルの系列を出力する処理を実施する。
なお、多値化部28はシンボル多値化手段を構成している。
【0079】
図9の例では、エントロピー復号装置の構成要素である符号化データ入力部21、確率情報出力部22、符号化モード決定部23、復号方式切替スイッチ24、算術復号部25、bin出力部26、バイパス復号部27及び多値化部28のそれぞれが専用のハードウェア(例えば、CPUを実装している半導体集積回路、あるいは、ワンチップマイコンなど)で構成されているものを想定しているが、エントロピー復号装置の全部又は一部がコンピュータで構成されていてもよい。
エントロピー復号装置の全部又は一部がコンピュータで構成されている場合、符号化データ入力部21、確率情報出力部22、符号化モード決定部23、復号方式切替スイッチ24、算術復号部25、bin出力部26、バイパス復号部27及び多値化部28の処理内容を記述しているプログラムの全部又は一部をコンピュータのメモリに格納し、当該コンピュータのCPUが当該メモリに格納されているプログラムを実行するようにすればよい。
図10はこの発明の実施の形態2によるエントロピー復号装置の処理内容を示すフローチャートである。
【0080】
次に動作について説明する。
符号化データ入力部21は、図1のエントロピー符号化装置により生成された符号化データを入力すると、その符号化データの読み出し位置先頭から0以上の長さの符号化bit系列を読み出して、その符号化bit系列を復号方式切替スイッチ24に出力する(ステップST31)。
また、符号化データ入力部21は、多値シンボルの2値化テーブルを参照して、その符号化bit系列内の符号化bitから得られる2値シンボル(符号化bitを復号した際の2値シンボル)が多値シンボルに係る何番目の2値シンボルであるかを示すbin番号を確率情報出力部22、符号化モード決定部23及び多値化部28に出力する。
【0081】
ここで、符号化データは、上記実施の形態1で説明したように、エントロピー復号装置で読み取られる順序を考慮した多重化方式で符号化bitが多重化されているため、ある符号化モードで2値シンボルの復号を行う際、符号化データにおける読み出し位置先頭の長さ0以上の符号化bitの系列は、常に、当該符号化モードにより符号化された符号化bitの系列となっている。
よって、符号化データ入力部21は、常に符号化データの読み出し位置先頭部分のデータを読み出せばよい。
【0082】
符号化モード決定部23は、予めbin番号毎に、当該bin番号に対応する2値シンボルにおける符号化モード(算術符号化モード、バイパス符号化モード)を記憶しており、符号化データ入力部21からbin番号を受けると、そのbin番号に対応する2値シンボルにおける符号化モードを決定し復号方式切替スイッチ24に出力する。(ステップST32)。
【0083】
符号化モード決定部23が記憶しているbin番号に対応する符号化モードの情報は、図1の符号化モード決定部3が記憶しているbin番号に対応する符号化モードの情報と一致している。
図3の2値化テーブルを記憶している場合、例えば、符号化データ入力部21から“0”、“1”、“2”、“3”、“4”のbin番号の系列が出力される場合、“0”のbin番号に対応する符号化モードは算術符号化モード、“1”のbin番号に対応する符号化モードは算術符号化モード、“2”のbin番号に対応する符号化モードは算術符号化モード、“3”のbin番号に対応する符号化モードは算術符号化モード、“4”のbin番号に対応する符号化モードはバイパス符号化モードになる。
また、符号化データ入力部21から“9”、“10”、“11”、“12”のbin番号の系列が出力される場合、“9”のbin番号に対応する符号化モードはバイパス符号化モード、“10”のbin番号に対応する符号化モードは算術符号化モード、“11”のbin番号に対応する符号化モードは算術符号化モード、“12”のbin番号に対応する符号化モードはバイパス符号化モードになる。
【0084】
復号方式切替スイッチ24は、符号化データ入力部21から符号化bit系列を受けると、符号化データ入力部21から出力されたbin番号に対応する2値シンボルの符号化モードが、符号化モード決定部23により算術符号化モードに決定された場合、その符号化bit系列を算術復号部25に出力する(ステップST33)。
一方、そのbin番号に対応する2値シンボルの符号化モードが、符号化モード決定部23によりバイパス符号化モードに決定された場合、その符号化bit系列をバイパス復号部27に出力する(ステップST33)。
なお、上述の例では、入力された符号化データを作成した符号化装置および復号装置が算術符号化モードとバイパス符号化モードのみを有する場合の動作を説明したが、両装置が算術符号化モードとバイパス符号化モード以外の符号化モードXを有していた場合、符号化モード決定部23は符号化モードXに対応した符号化モード情報を決定することができ、また復号方式切替スイッチ24は、符号化モードXに対応する符号化モード情報を受け取った場合、符号化モードXに対応する符号化処理を実施するモジュールに2値シンボルを出力することができる。
【0085】
バイパス復号部27は、符号化方式がバイパス符号化モードに決定されており、復号方式切替スイッチ24から符号化bit系列を受けると、その符号化bit系列内の各符号化bitを2値シンボルとして(符号化bit=2値シンボル)、その2値シンボルを多値化部28に出力する(ステップST34)。
即ち、バイパス復号部27は、復号方式切替スイッチ24から符号化bitを受けると、その符号化bitが“0”であれば、“0”の2値シンボルを多値化部28に出力し、その符号化bitが“1”であれば、“1”の2値シンボルを多値化部28に出力する。
【0086】
確率情報出力部22は、予めbin番号毎に、当該bin番号に対応する2値シンボルにおいて生起する確率が高い優勢シンボル(“0”又は“1”のうち、生起する確率が高い方の値を示すシンボル)を示す優勢シンボル情報と、その優勢シンボルの生起確率を示す確率情報を記憶している。なお、確率情報出力部22が記憶しているbin番号に対する確率情報は、図1の確率情報出力部2が記憶しているbinに対する確率情報と一致している。
例えば、図3(a)の2値化テーブルの場合、“0”〜“9”の値をとる多値シンボルにおいて、“0”の多値シンボルが発生する確率が約70%であるような場合には、“0”のbin番号に対応する2値シンボルにおいて、“0”のシンボルが生起される確率が約70%となるので、当該2値シンボルにおける優勢シンボルは“0”のシンボルとなる。また、この優勢シンボルの生起確率は約70%となる。
確率情報出力部22は、符号化データ入力部21からbin番号を受けると、そのbin番号に対応する優勢シンボルを示す優勢シンボル情報をbin出力部26に出力するとともに、その優勢シンボルの生起確率を示す確率情報を算術復号部25に出力する(ステップST35)。
【0087】
算術復号部25は、符号化方式が算術符号化モードに決定されており、復号方式切替スイッチ24から符号化bitを受けると、確率情報出力部22から出力された確率情報が示す優勢シンボルの生起確率情報を用いて、その符号化bitを算術復号し、その復号結果である復号2値シンボルをbin出力部26に出力する(ステップST36)。
エントロピー符号化装置では、上述したように、エントロピー復号装置が算術復号する際、例えば、固定的に9bitのbitを先読みすることを想定(エントロピー復号装置において、予め設定されている読み込みタイミングでbitを先読みすることを想定)して、バイパス符号bitと算術符号bitを多重化するようにしているので、算術復号部25における算術復号処理の動作は、符号化データ多重化部11におけるバイパス符号bitと算術符号bitの多重化と合致したものでなくてはならない。
【0088】
以下、算術復号部25における算術復号処理を具体的に説明する。
図11は算術復号部25の算術復号処理を示すフローチャートである。
算術復号部25は、内部にRangeとValueのレジスタを有している。
図5(b)に示すように、Rangeは現在の確率区間の長さを表し、Valueは確率区間の下限から入力データが示す区間Hnの下限までの長さを表すものである。これらのレジスタの初期値は、下記の通りである。
ただし、qnは、復号方式切替スイッチ24から算術復号部25に対して、n番目に入力された符号化bitである。
【0089】
つまり、算術復号部25は、復号を開始する前に符号化データの先頭9bitのデータを入力する必要がある。
上記実施の形態1で述べた多重化方法により、先頭9bitは算術符号化bitとなっている。なお、初期状態において、Valueは確率区間の下限からH9の下限までの距離を表している。
確率区間分割は、上記実施の形態1で述べた算術符号化部6と同様に、Rangeの値と確率情報出力部22から出力された優勢シンボルの生起確率を用いて、テーブル参照により定まるLPSLengthという値から、図5(b)に示すように、確率区間を優勢シンボル区間と劣勢シンボル区間に分割する。
【0090】
以上を踏まえて、bin番号kのbin(Hk)の復号の動作の流れを説明する。この復号処理の時点において、n+8個のbitが算術復号部25に入力されているとする。
まず、算術復号部25は、確率区間を優勢シンボル区間に更新する(図11のステップST41)。
Range=Range−LPSLength
これは優勢シンボル区間を次の確率区間として更新するI k=IMk-1の処理に該当する。
【0091】
次に、算術復号部25は、ValueとRangeの値を比較することで、区間座標が優勢シンボル区間と重なっているかを判定する(ステップST42)。
算術復号部25は、Value<Rangeであれば、復号2値シンボル系列である出力bin(bk)が優勢シンボルであるとして、bin出力部26に出力する(ステップST43)。これは、Hn+8の下限の座標が優勢シンボル区間に含まれているか否かの判定に該当する。
【0092】
算術復号部25は、Value>=Rangeであれば、復号2値シンボル系列である出力bin(bk)が劣勢シンボルであるとして、bin出力部26に出力する(ステップST44)。
また、算術復号部25は、確率区間を劣勢シンボル区間に更新する(ステップST45)。
Value=Value−Range
Range=LPSLength
これは劣勢シンボル区間を次の確率区間として更新するI k=ILk-1の処理に該当する。
【0093】
次に、算術復号部25は、Rangeの値を条件とするループ処理を行う。
ループ継続条件はRange<256であり、ループ継続条件を満たしている間、以下のステップST47の処理を繰り返し実施する(ステップST46)。
ループ内では、Range=Range×2、Value=Value×2+qn+8+iの演算を行う。ただし、iはループ回数であり、qn+8+iは復号方式切替スイッチ24から出力されるn+8+i番目の算術符号bitである。
Range≧256となると、算術復号処理が終了する(ステップST46)。
【0094】
算術復号部25は、上記の動作を実施するため、図1の算術符号化部6の動作と比較すると、算術符号化部6において、bin番号kのbinの符号化が終了した時点のRangeの値は、算術復号部25において、bin番号kのbinの復号が終了した時点でのRangeの値に等しい。
また、算術符号化部6において、bin番号kのbinの符号化が終了した時点でn個の算術符号bitを出力していた場合、算術復号部25において、bin番号kのbinの復号が終了した時点ではn+9個の算術符号bitを読み込んでいる。
【0095】
ここでは、算術復号部25が、固定的に9bitのbitを先読み(エントロピー復号装置において、予め設定されている読み込みタイミングで9bitを先読み)して算術復号を行うものを示したが、エントロピー符号化装置から復号動作情報が通知されている場合、その復号動作情報が示すbit数だけ先読みして算術復号を行うようにする。
【0096】
bin出力部26は、算術復号部25から復号2値シンボルを受けると、確率情報出力部22から出力された優勢シンボル情報を参照して、その復号2値シンボルが優勢シンボルであるか否かを示すフラグを2値シンボルとして多値化部28に出力する(図10のステップST37)。
即ち、bin出力部26は、算術復号部25から出力された復号2値シンボル系列内の各2値シンボルに対し、当該2値シンボルが確率情報出力部22から出力された優勢シンボル情報が示す優勢シンボルと一致するか否かを判定し、その判定結果を2値シンボルとして多値化部28に出力する。
【0097】
多値化部28は、bin出力部26から出力された2値シンボルとバイパス復号部27から出力された2値シンボルを多重化して2値シンボル系列を生成し、その2値シンボル系列内の2値シンボルを多値化して、多値シンボルの系列を出力する。
即ち、多値化部28は、符号化データ入力部21から出力されたbin番号を参照して、bin出力部26から出力された2値シンボルとバイパス復号部27から出力された2値シンボルとを統合して2値シンボル系列を生成する(ステップST38)。
また、多値化部28は、多値シンボルの2値化テーブルを参照して、その2値シンボル系列内の2値シンボルを多値化して、多値シンボルの系列を出力する(ステップST39)。
例えば、多値シンボルの種類が多値シンボルAであるとき、2値シンボルの系列が“1111”であり、その2値シンボルの系列に対応するbin番号が“0”、“1”、“2”、“3”であれば、多値シンボルの値が“9”になる(図3(a)の2値化テーブルを参照)。
ステップST31〜ST39の処理は、全ての符号化データの処理が終了するまで繰り返し実施される(ステップST40)。
【0098】
以上で明らかなように、この実施の形態2によれば、符号化データに多重化されている符号化bit系列を読み出し、その符号化bit系列内の符号化bitから得られる2値シンボルが多値シンボルに係る何番目の2値シンボルであるかを示すbin番号を出力する符号化データ入力部21と、符号化データ入力部21から出力されたbin番号に対応する2値シンボルにおいて生起する確率が高い優勢シンボルを示す優勢シンボル情報を出力するとともに、その優勢シンボルの生起確率を示す確率情報を出力する確率情報出力部22と、符号化データ入力部21から出力されたbin番号に対応する2値シンボルにおける符号化モードを決定する符号化モード決定部23と、符号化データ入力部21から出力されたbin番号に対応する2値シンボルの符号化モードが、符号化モード決定部23により算術符号化モードに決定された場合、符号化データ入力部21から出力された符号化bitを算術復号部25に出力し、そのbin番号に対応する2値シンボルの符号化モードが、符号化モード決定部23によりバイパス符号化モードに決定された場合、その符号化bitをバイパス復号部27に出力する復号方式切替スイッチ24と、復号方式切替スイッチ24から符号化bitを受けると、確率情報出力部22から出力された確率情報が示す優勢シンボルの生起確率を用いて、符号化データ入力部21から出力された符号化bitを算術復号し、その復号結果である復号2値シンボルを出力する算術復号部25と、確率情報出力部22から出力された優勢シンボル情報を参照して、算術復号部25から出力された復号2値シンボル系列内の各復号2値シンボルが優勢シンボルであるか否かを示すフラグを2値シンボルとして出力するbin出力部26と、復号方式切替スイッチ24から符号化bitを受けると、符号化データ入力部21から出力された符号化bitを2値シンボルとして出力するバイパス復号部27とを設け、多値化部28が、bin出力部26から出力された2値シンボルとバイパス復号部27から出力された2値シンボルを多重化して2値シンボル系列を生成し、その2値シンボル系列内の2値シンボルを多値化して、多値シンボルの系列を出力するように構成したので、処理負荷が少ない復号処理で、“0”と“1”の生起確率に偏りがない2値シンボルを復号することができる効果がある。即ち、従来のCABACよりも処理負荷が少ない復号処理で、符号化データから2値シンボル系列を復号して多値シンボルが得られる効果を奏する。
【0099】
なお、本願発明はその発明の範囲内において、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
【符号の説明】
【0100】
1 2値化部(シンボル2値化手段)、2 確率情報出力部(確率情報出力手段)、3 符号化モード決定部(符号化モード決定手段)、4 符号化方式切替スイッチ(符号化モード決定手段)、5 符号化bin出力部(符号化2値シンボル出力手段)、6 算術符号化部(算術符号化手段)、7 バイパス符号化部(バイパス符号化手段)、8 符号化データ出力部(多重化手段)、9 バイパス符号バッファ、10 算術符号バッファ、11 符号化データ多重化部、21 符号化データ入力部(符号化bit系列読み出し手段)、22 確率情報出力部(確率情報出力手段)、23 符号化モード決定部(符号化モード決定手段)、24 復号方式切替スイッチ(符号化モード決定手段)、25 算術復号部(算術復号手段)、26 bin出力部(bin出力手段)、27 バイパス復号部(バイパス復号手段)、28 多値化部(シンボル多値化手段)。
【特許請求の範囲】
【請求項1】
多値シンボル系列内の多値シンボルを2値化して、1以上の2値シンボルの系列を出力するとともに、上記2値シンボルが上記多値シンボルに係る何番目の2値シンボルであるかを示すbin番号を出力するシンボル2値化手段と、上記シンボル2値化手段から出力されたbin番号に対応する2値シンボルにおいて生起する確率が高い優勢シンボルを示す優勢シンボル情報を出力するとともに、上記優勢シンボルの生起確率を示す確率情報を出力する確率情報出力手段と、上記シンボル2値化手段から出力されたbin番号に対応する2値シンボルにおける符号化モードを決定する符号化モード決定手段と、上記符号化モード決定手段により決定された符号化モードが算術符号化モードであれば、上記確率情報出力手段から出力された優勢シンボル情報を参照して、上記bin番号に対応する2値シンボルが優勢シンボルであるか否かを示すフラグを符号化2値シンボルとして出力する符号化2値シンボル出力手段と、上記確率情報出力手段から出力された確率情報が示す優勢シンボルの生起確率を用いて、上記符号化2値シンボル出力手段から出力された符号化2値シンボルを算術符号化し、その符号化結果である符号化bitを出力する算術符号化手段と、上記符号化モード決定手段により決定された符号化モードがバイパス符号化モードであれば、上記シンボル2値化手段から出力された2値シンボルを符号化bitとして出力するバイパス符号化手段と、上記算術符号化手段から出力された符号化bitと上記バイパス符号化手段から出力された符号化bitを多重化して符号化データを生成する多重化手段とを備えたエントロピー符号化装置。
【請求項2】
多重化手段は、エントロピー復号装置が符号化bitを算術復号する際の符号化bitの読み込みタイミングに対応する順序で、算術符号化手段から出力された符号化bitとバイパス符号化手段から出力された符号化bitを多重化することを特徴とする請求項1記載のエントロピー符号化装置。
【請求項3】
多重化手段は、エントロピー復号装置が符号化bitを算術復号する際の符号化bitの読み込みタイミングを規定する復号動作情報を上記エントロピー復号装置に通知し、上記読み込みタイミングに対応する順序で、算術符号化手段から出力された符号化bitとバイパス符号化手段から出力された符号化bitを多重化することを特徴とする請求項1記載のエントロピー符号化装置。
【請求項4】
符号化データに多重化されている符号化bit系列を読み出し、上記符号化bit系列内の符号化bitから得られる2値シンボルが多値シンボルに係る何番目の2値シンボルであるかを示すbin番号を出力する符号化bit系列読み出し手段と、上記符号化bit系列読み出し手段から出力されたbin番号に対応する2値シンボルにおいて生起する確率が高い優勢シンボルを示す優勢シンボル情報を出力するとともに、上記優勢シンボルの生起確率を示す確率情報を出力する確率情報出力手段と、上記符号化bit系列読み出し手段から出力されたbin番号に対応する2値シンボルにおける符号化モードを決定する符号化モード決定手段と、上記符号化モード決定手段により決定された符号化モードが算術符号化モードであれば、上記確率情報出力手段から出力された確率情報が示す優勢シンボルの生起確率を用いて、上記符号化bit系列読み出し手段から出力された符号化bit系列内の符号化bitを算術復号し、その復号結果である復号2値シンボルを出力する算術復号手段と、上記確率情報出力手段から出力された優勢シンボル情報を参照して、上記算術復号手段から出力された復号2値シンボルが優勢シンボルであるか否かを示すフラグを2値シンボルとして出力するbin出力手段と、上記符号化モード決定手段により決定された符号化モードがバイパス符号化モードであれば、上記符号化bit系列読み出し手段から出力された符号化bit系列内の符号化bitを2値シンボルとして出力するバイパス復号手段と、上記bin出力手段から出力された2値シンボルと上記バイパス復号手段から出力された2値シンボルを多重化して2値シンボル系列を生成し、上記2値シンボル系列内の2値シンボルを多値化して、多値シンボルの系列を出力するシンボル多値化手段とを備えたエントロピー復号装置。
【請求項5】
算術復号手段は、予め設定されている読み込みタイミングで、符号化bit系列読み出し手段から出力される符号化bit系列内の符号化bitを読み込み、確率情報出力手段から出力された確率情報が示す優勢シンボルの生起確率を用いて、上記符号化bitを算術復号することを特徴とする請求項4記載のエントロピー復号装置。
【請求項6】
算術復号手段は、エントロピー符号化装置から通知された復号動作情報が規定する読み込みタイミングで、符号化bit系列読み出し手段から出力される符号化bit系列内の符号化bitを読み込み、確率情報出力手段から出力された確率情報が示す優勢シンボルの生起確率を用いて、上記符号化bitを算術復号することを特徴とする請求項4記載のエントロピー復号装置。
【請求項7】
シンボル2値化手段が、多値シンボル系列内の多値シンボルを2値化して、1以上の2値シンボルの系列を出力するとともに、上記2値シンボルが上記多値シンボルに係る何番目の2値シンボルであるかを示すbin番号を出力するシンボル2値化処理ステップと、確率情報出力手段が、上記シンボル2値化処理ステップで出力されたbin番号に対応する2値シンボルにおいて生起する確率が高い優勢シンボルを示す優勢シンボル情報を出力するとともに、上記優勢シンボルの生起確率を示す確率情報を出力する確率情報出力処理ステップと、符号化モード決定手段が、上記シンボル2値化処理ステップで出力されたbin番号に対応する2値シンボルにおける符号化モードに決定する符号化モード決定処理ステップと、符号化2値シンボル出力手段が、上記符号化モード決定処理ステップにより決定された符号化モードが算術符号化モードであれば、上記確率情報出力処理ステップで出力された優勢シンボル情報を参照して、上記bin番号に対応する2値シンボルが優勢シンボルであるか否かを示すフラグを符号化2値シンボルとして出力する符号化2値シンボル出力処理ステップと、算術符号化手段が、上記確率情報出力処理ステップで出力された確率情報が示す優勢シンボルの生起確率を用いて、上記符号化2値シンボル出力処理ステップで出力された符号化2値シンボルを算術符号化し、その符号化結果である符号化bitを出力する算術符号化処理ステップと、バイパス符号化手段が、上記符号化モード決定処理ステップにより決定された符号化モードがバイパス符号化モードであれば、上記シンボル2値化処理ステップで出力された2値シンボルを符号化bitとして出力するバイパス符号化処理ステップと、多重化手段が、上記算術符号化処理ステップで出力された符号化bitと上記バイパス符号化処理ステップで出力された符号化bitを多重化して符号化データを生成する多重化処理ステップとを備えたエントロピー符号化方法。
【請求項8】
符号化bit系列読み出し手段が、符号化データに多重化されている符号化bit系列を読み出し、上記符号化bit系列内の符号化bitから得られる2値シンボルが多値シンボルに係る何番目の2値シンボルであるかを示すbin番号を出力する符号化bit系列読み出し処理ステップと、確率情報出力手段が、上記符号化bit系列読み出し処理ステップで出力されたbin番号に対応する2値シンボルにおいて生起する確率が高い優勢シンボルを示す優勢シンボル情報を出力するとともに、上記優勢シンボルの生起確率を示す確率情報を出力する確率情報出力処理ステップと、符号化モード決定手段が、上記符号化bit系列読み出し処理ステップで出力されたbin番号に対応する2値シンボルにおける符号化モードを決定する符号化モード決定処理ステップと、算術復号手段が、上記符号化モード決定処理ステップにより決定された符号化モードが算術符号化モードであれば、上記確率情報出力処理ステップで出力された確率情報が示す優勢シンボルの生起確率を用いて、上記符号化bit系列読み出し処理ステップで出力された符号化bit系列内の符号化bitを算術復号し、その復号結果である復号2値シンボルを出力する算術復号処理ステップと、bin出力手段が、上記確率情報出力処理ステップで出力された優勢シンボル情報を参照して、上記算術復号処理ステップで出力された復号2値シンボルが優勢シンボルであるか否かを示すフラグを2値シンボルとして出力するbin出力処理ステップと、バイパス復号部手段が、上記符号化モード決定処理ステップにより決定された符号化モードがバイパス符号化モードであれば、上記符号化bit系列読み出し処理ステップで出力された符号化bit系列内の符号化bitを2値シンボルとして出力するバイパス復号処理ステップと、シンボル多値化手段が、上記bin出力処理ステップで出力された2値シンボルと上記バイパス復号処理ステップで出力された2値シンボルを多重化して2値シンボル系列を生成し、上記2値シンボル系列内の2値シンボルを多値化して、多値シンボルの系列を出力するシンボル多値化処理ステップとを備えたエントロピー復号方法。
【請求項1】
多値シンボル系列内の多値シンボルを2値化して、1以上の2値シンボルの系列を出力するとともに、上記2値シンボルが上記多値シンボルに係る何番目の2値シンボルであるかを示すbin番号を出力するシンボル2値化手段と、上記シンボル2値化手段から出力されたbin番号に対応する2値シンボルにおいて生起する確率が高い優勢シンボルを示す優勢シンボル情報を出力するとともに、上記優勢シンボルの生起確率を示す確率情報を出力する確率情報出力手段と、上記シンボル2値化手段から出力されたbin番号に対応する2値シンボルにおける符号化モードを決定する符号化モード決定手段と、上記符号化モード決定手段により決定された符号化モードが算術符号化モードであれば、上記確率情報出力手段から出力された優勢シンボル情報を参照して、上記bin番号に対応する2値シンボルが優勢シンボルであるか否かを示すフラグを符号化2値シンボルとして出力する符号化2値シンボル出力手段と、上記確率情報出力手段から出力された確率情報が示す優勢シンボルの生起確率を用いて、上記符号化2値シンボル出力手段から出力された符号化2値シンボルを算術符号化し、その符号化結果である符号化bitを出力する算術符号化手段と、上記符号化モード決定手段により決定された符号化モードがバイパス符号化モードであれば、上記シンボル2値化手段から出力された2値シンボルを符号化bitとして出力するバイパス符号化手段と、上記算術符号化手段から出力された符号化bitと上記バイパス符号化手段から出力された符号化bitを多重化して符号化データを生成する多重化手段とを備えたエントロピー符号化装置。
【請求項2】
多重化手段は、エントロピー復号装置が符号化bitを算術復号する際の符号化bitの読み込みタイミングに対応する順序で、算術符号化手段から出力された符号化bitとバイパス符号化手段から出力された符号化bitを多重化することを特徴とする請求項1記載のエントロピー符号化装置。
【請求項3】
多重化手段は、エントロピー復号装置が符号化bitを算術復号する際の符号化bitの読み込みタイミングを規定する復号動作情報を上記エントロピー復号装置に通知し、上記読み込みタイミングに対応する順序で、算術符号化手段から出力された符号化bitとバイパス符号化手段から出力された符号化bitを多重化することを特徴とする請求項1記載のエントロピー符号化装置。
【請求項4】
符号化データに多重化されている符号化bit系列を読み出し、上記符号化bit系列内の符号化bitから得られる2値シンボルが多値シンボルに係る何番目の2値シンボルであるかを示すbin番号を出力する符号化bit系列読み出し手段と、上記符号化bit系列読み出し手段から出力されたbin番号に対応する2値シンボルにおいて生起する確率が高い優勢シンボルを示す優勢シンボル情報を出力するとともに、上記優勢シンボルの生起確率を示す確率情報を出力する確率情報出力手段と、上記符号化bit系列読み出し手段から出力されたbin番号に対応する2値シンボルにおける符号化モードを決定する符号化モード決定手段と、上記符号化モード決定手段により決定された符号化モードが算術符号化モードであれば、上記確率情報出力手段から出力された確率情報が示す優勢シンボルの生起確率を用いて、上記符号化bit系列読み出し手段から出力された符号化bit系列内の符号化bitを算術復号し、その復号結果である復号2値シンボルを出力する算術復号手段と、上記確率情報出力手段から出力された優勢シンボル情報を参照して、上記算術復号手段から出力された復号2値シンボルが優勢シンボルであるか否かを示すフラグを2値シンボルとして出力するbin出力手段と、上記符号化モード決定手段により決定された符号化モードがバイパス符号化モードであれば、上記符号化bit系列読み出し手段から出力された符号化bit系列内の符号化bitを2値シンボルとして出力するバイパス復号手段と、上記bin出力手段から出力された2値シンボルと上記バイパス復号手段から出力された2値シンボルを多重化して2値シンボル系列を生成し、上記2値シンボル系列内の2値シンボルを多値化して、多値シンボルの系列を出力するシンボル多値化手段とを備えたエントロピー復号装置。
【請求項5】
算術復号手段は、予め設定されている読み込みタイミングで、符号化bit系列読み出し手段から出力される符号化bit系列内の符号化bitを読み込み、確率情報出力手段から出力された確率情報が示す優勢シンボルの生起確率を用いて、上記符号化bitを算術復号することを特徴とする請求項4記載のエントロピー復号装置。
【請求項6】
算術復号手段は、エントロピー符号化装置から通知された復号動作情報が規定する読み込みタイミングで、符号化bit系列読み出し手段から出力される符号化bit系列内の符号化bitを読み込み、確率情報出力手段から出力された確率情報が示す優勢シンボルの生起確率を用いて、上記符号化bitを算術復号することを特徴とする請求項4記載のエントロピー復号装置。
【請求項7】
シンボル2値化手段が、多値シンボル系列内の多値シンボルを2値化して、1以上の2値シンボルの系列を出力するとともに、上記2値シンボルが上記多値シンボルに係る何番目の2値シンボルであるかを示すbin番号を出力するシンボル2値化処理ステップと、確率情報出力手段が、上記シンボル2値化処理ステップで出力されたbin番号に対応する2値シンボルにおいて生起する確率が高い優勢シンボルを示す優勢シンボル情報を出力するとともに、上記優勢シンボルの生起確率を示す確率情報を出力する確率情報出力処理ステップと、符号化モード決定手段が、上記シンボル2値化処理ステップで出力されたbin番号に対応する2値シンボルにおける符号化モードに決定する符号化モード決定処理ステップと、符号化2値シンボル出力手段が、上記符号化モード決定処理ステップにより決定された符号化モードが算術符号化モードであれば、上記確率情報出力処理ステップで出力された優勢シンボル情報を参照して、上記bin番号に対応する2値シンボルが優勢シンボルであるか否かを示すフラグを符号化2値シンボルとして出力する符号化2値シンボル出力処理ステップと、算術符号化手段が、上記確率情報出力処理ステップで出力された確率情報が示す優勢シンボルの生起確率を用いて、上記符号化2値シンボル出力処理ステップで出力された符号化2値シンボルを算術符号化し、その符号化結果である符号化bitを出力する算術符号化処理ステップと、バイパス符号化手段が、上記符号化モード決定処理ステップにより決定された符号化モードがバイパス符号化モードであれば、上記シンボル2値化処理ステップで出力された2値シンボルを符号化bitとして出力するバイパス符号化処理ステップと、多重化手段が、上記算術符号化処理ステップで出力された符号化bitと上記バイパス符号化処理ステップで出力された符号化bitを多重化して符号化データを生成する多重化処理ステップとを備えたエントロピー符号化方法。
【請求項8】
符号化bit系列読み出し手段が、符号化データに多重化されている符号化bit系列を読み出し、上記符号化bit系列内の符号化bitから得られる2値シンボルが多値シンボルに係る何番目の2値シンボルであるかを示すbin番号を出力する符号化bit系列読み出し処理ステップと、確率情報出力手段が、上記符号化bit系列読み出し処理ステップで出力されたbin番号に対応する2値シンボルにおいて生起する確率が高い優勢シンボルを示す優勢シンボル情報を出力するとともに、上記優勢シンボルの生起確率を示す確率情報を出力する確率情報出力処理ステップと、符号化モード決定手段が、上記符号化bit系列読み出し処理ステップで出力されたbin番号に対応する2値シンボルにおける符号化モードを決定する符号化モード決定処理ステップと、算術復号手段が、上記符号化モード決定処理ステップにより決定された符号化モードが算術符号化モードであれば、上記確率情報出力処理ステップで出力された確率情報が示す優勢シンボルの生起確率を用いて、上記符号化bit系列読み出し処理ステップで出力された符号化bit系列内の符号化bitを算術復号し、その復号結果である復号2値シンボルを出力する算術復号処理ステップと、bin出力手段が、上記確率情報出力処理ステップで出力された優勢シンボル情報を参照して、上記算術復号処理ステップで出力された復号2値シンボルが優勢シンボルであるか否かを示すフラグを2値シンボルとして出力するbin出力処理ステップと、バイパス復号部手段が、上記符号化モード決定処理ステップにより決定された符号化モードがバイパス符号化モードであれば、上記符号化bit系列読み出し処理ステップで出力された符号化bit系列内の符号化bitを2値シンボルとして出力するバイパス復号処理ステップと、シンボル多値化手段が、上記bin出力処理ステップで出力された2値シンボルと上記バイパス復号処理ステップで出力された2値シンボルを多重化して2値シンボル系列を生成し、上記2値シンボル系列内の2値シンボルを多値化して、多値シンボルの系列を出力するシンボル多値化処理ステップとを備えたエントロピー復号方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【公開番号】特開2013−9167(P2013−9167A)
【公開日】平成25年1月10日(2013.1.10)
【国際特許分類】
【出願番号】特願2011−140640(P2011−140640)
【出願日】平成23年6月24日(2011.6.24)
【出願人】(000006013)三菱電機株式会社 (33,312)
【Fターム(参考)】
【公開日】平成25年1月10日(2013.1.10)
【国際特許分類】
【出願日】平成23年6月24日(2011.6.24)
【出願人】(000006013)三菱電機株式会社 (33,312)
【Fターム(参考)】
[ Back to top ]