(57)【特許請求の範囲】
【請求項１】
注目データの周辺データを取り出す、周辺データ参照手段と、
注目データの周辺データ配置状態によって一意に決定されるコンテクストに対応するアドレス毎に符号化パラメータを記憶するメモリ領域とを有し、
前記コンテクストに応じて、注目データの符号化パラメータを決定し、決定された符号化パラメータを用いて符号化を行う符号化装置において、
現在符号化中の注目データに対する前記コンテクストにより決定される前記符号化パラメータを、現在の符号化サイクルの１サイクル以上前の符号化サイクルに、前記メモリ領域より事前に読み出すとともに、
前記メモリ領域には、前記コンテクストにおける連続する２状態のパラメータが、同一アドレスにおける記憶データの上位と下位に並列に記憶されているようにしたことを特徴とする符号化装置。
【請求項２】
前記コンテクストを構成するデータ群のうち、現在注目している符号化データの直前のデータが、前記メモリ領域において並列配置されている記憶データの上位または下位のいずれかを特定することを特徴とする請求項１記載の符号化装置。
【請求項３】
注目データの周辺データを取り出す、周辺データ参照手段と、
注目データの周辺データ配置状態によって一意に決定されるコンテクストに対応するアドレス毎に符号化パラメータを記憶するメモリ領域とを有し、
前記コンテクストに応じて、注目データの符号化パラメータを決定し、決定された符号化パラメータを用いて符号化を行う符号化装置において、
現在符号化中の注目データに対する前記コンテクストにより決定される前記符号化パラメータを、現在の符号化サイクルの１サイクル以上前の符号化サイクルに、前記メモリ領域より事前に読み出すとともに、
符号化時に前記メモリ領域のデータを更新する必要が生じた場合に、前記コンテクストを構成するデータ群のうち、現在注目している符号化データの直前のデータに応じて、前記メモリ領域における、該当アドレスに記憶されるデータのうち、上位または下位のいずれかのデータのみを更新することを特徴とする符号化装置。
【請求項４】
前記メモリ領域の更新タイミングにおいて更新すべきデータを、一時記憶する更新データ一時記憶手段を有し、
前記メモリ領域更新時の書き込みアドレスと直後の符号化処理時の読み出しアドレスが同一である場合には、前記更新データ一時記憶手段より読み出したインデクス情報により得られる符号化パラメータを用いて符号化処理を行うことを特徴とする請求項３記載の符号化装置。
【請求項５】
前記メモリ領域の更新タイミングにおいて更新すべきデータを、一時記憶する更新データ一時記憶手段を有し、
メモリ更新タイミング直後の符号化操作の結果、さらにメモリ更新の必要が生じ、かつ更新しようとするメモリアドレスが、前回の更新アドレスと同じであった場合に、前記更新データ一時記憶手段に記憶されているデータを再更新し、そのデータをメモリに書き込むようにしたことを特徴とする請求項３記載の符号化装置。
【請求項６】
注目データの周辺データを取り出す、周辺データ参照手段と、
注目データの周辺データ配置状態によって一意に決定されるコンテクストに対応するアドレス毎に復号化パラメータを記憶するメモリ領域とを有し、
前記コンテクストに応じて、注目データの復号化パラメータを決定し、決定された復号化パラメータを用いて復号化を行う復号化装置において、
現在符号化中の注目データに対する前記コンテクストにより決定される前記符号化パラメータを、現在の符号化サイクルの１サイクル以上前の復号化サイクルに、前記メモリ領域より事前に読み出すとともに、
前記メモリ領域には、前記コンテクストにおける連続する２状態のパラメータが、同一アドレスにおける記憶データの上位と下位に並列に記憶されていることを特徴とする復号化装置。
【請求項７】
前記コンテクストを構成するデータ群のうち、現在注目している復号化データの直前のデータが、前記メモリ領域において並列配置されている記憶データの上位または下位のいずれかを特定することを特徴とする請求項６記載の復号化装置。
【請求項８】
復号化時に前記メモリ領域のデータを更新する必要が生じた場合に、前記コンテクストを構成するデータ群のうち、現在注目している復号化データの直前のデータに応じて、前記メモリ領域における、該当アドレスに記憶されるデータのうち、上位または下位のいずれかのデータのみを更新することとしたことを特徴とする、請求項６記載の復号化装置。
【請求項９】
前記メモリ領域の更新タイミングにおいて更新すべきデータを、一時記憶する更新データ一時記憶手段を有し、
前記メモリ領域更新時の書き込みアドレスと直後の復号化処理時の読み出しアドレスが同一である場合には、前記更新データ一時記憶手段より読み出したインデクス情報により得られる復号化パラメータを用いて符号化処理を行うことを特徴とする請求項８記載の復号化装置。
【請求項１０】
前記メモリ領域の更新タイミングにおいて更新すべきデータを、一時記憶する更新データ一時記憶手段を有し、
メモリ更新タイミング直後の符号化操作の結果、さらにメモリ更新の必要が生じ、かつ更新しようとするメモリアドレスが、前回の更新アドレスと同じであった場合に、前記更新データ一時記憶手段に記憶されているデータを再更新し、そのデータをメモリに書き込むようにしたことを特徴とする請求項８記載の復号化装置。
【請求項１１】
注目データの周辺データを取り出す、周辺データ参照手段と、
注目データの周辺データ配置状態によって一意に決定されるコンテクストに対応するアドレス毎に符号化／復号化パラメータを記憶するメモリ領域とを有し、
前記コンテクストに応じて、注目データの符号化／復号化パラメータを決定し、決定された符号化／復号化パラメータを用いて符号化／復号化を行う符号化／復号化装置において、
現在符号化／復号化中の注目データに対する前記コンテクストにより決定される前記符号化／復号化パラメータを、現在の符号化／復号化サイクルの１サイクル以上前の符号化／復号化サイクルに、前記メモリ領域より事前に読み出すとともに、
前記メモリ領域には、前記コンテクストにおける連続する２状態のパラメータが、同一アドレスにおける記憶データの上位と下位に並列に記憶されていることを特徴とする符号化／復号化装置。
【請求項１２】
前記コンテクストを構成するデータ群のうち、現在注目している符号化／復号化データの直前のデータが、前記メモリ領域において並列配置されている記憶データの上位または下位のいずれかを特定することを特徴とする請求項１１記載の符号化／復号化装置。
【請求項１３】
注目データの周辺データを取り出す、周辺データ参照手段と、
注目データの周辺データ配置状態によって一意に決定されるコンテクストに対応するアドレス毎に符号化／復号化パラメータを記憶するメモリ領域とを有し、
前記コンテクストに応じて、注目データの符号化／復号化パラメータを決定し、決定された符号化／復号化パラメータを用いて符号化／復号化を行う符号化／復号化装置において、
現在符号化／復号化中の注目データに対する前記コンテクストにより決定される前記符号化／復号化パラメータを、現在の符号化／復号化サイクルの１サイクル以上前の符号化／復号化サイクルに、前記メモリ領域より事前に読み出すとともに、
符号化／復号化時に前記メモリ領域のデータを更新する必要が生じた場合に、前記コンテクストを構成するデータ群のうち、現在注目している符号化／復号化データの直前のデータに応じて、前記メモリ領域における、該当アドレスに記憶されるデータのうち、上位または下位のいずれかのデータのみを更新することとしたことを特徴とする符号化／復号化装置。
【請求項１４】
前記メモリ領域の更新タイミングにおいて更新すべきデータを、一時記憶する更新データ一時記憶手段を有し、
前記メモリ領域更新時の書き込みアドレスと直後の符号化／復号化処理時の読み出しアドレスが同一である場合には、前記更新データ一時記憶手段より読み出したインデクス情報により得られる符号化／復号化パラメータを用いて符号化／復号化処理を行うことを特徴とする請求項１３記載の符号化／復号化装置。
【請求項１５】
前記メモリ領域の更新タイミングにおいて更新すべきデータを、一時記憶する更新データ一時記憶手段を有し、
メモリ更新タイミング直後の符号化／復号化操作の結果、さらにメモリ更新の必要が生じ、かつ更新しようとするメモリアドレスが、前回の更新アドレスと同じであった場合に、前記更新データ一時記憶手段に記憶されているデータを再更新し、そのデータをメモリに書き込むようにしたことを特徴とする請求項１３記載の符号化／復号化装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、注目データの周辺データを取り出す、周辺データ参照手段と、注目データの周辺データ配置状態によって一意に決定されるコンテクストに対応するアドレス毎に符号化パラメータを記憶するメモリ領域とを有し、前記コンテクストに応じて、注目データの符号化パラメータを決定し、決定された符号化パラメータを用いて符号化を行う符号化装置、注目データの周辺データを取り出す、周辺データ参照手段と、注目データの周辺データ配置状態によって一意に決定されるコンテクストに対応するアドレス毎に復号化パラメータを記憶するメモリ領域とを有し、前記コンテクストに応じて、注目データの復号化パラメータを決定し、決定された復号化パラメータを用いて復号化を行う復号化装置、および、注目データの周辺データを取り出す、周辺データ参照手段と、注目データの周辺データ配置状態によって一意に決定されるコンテクストに対応するアドレス毎に符号化／復号化パラメータを記憶するメモリ領域とを有し、前記コンテクストに応じて、注目データの符号化／復号化パラメータを決定し決定された符号化／復号化パラメータを用いて符号化／復号化を行う符号化／復号化装置に関する。
【０００２】
【従来の技術】
近年、ファクシミリ装置などに適用される二値画像データを、より高能率に圧縮する符号化方式として、ＪＢＩＧ（Ｊｏｉｎｔ  Ｂｉ−ｌｅｖｅｌ  Ｉｍａｇｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）方式が実用されている。
【０００３】
このＪＢＩＧ方式に適用される算術符号化処理としては、ＱＭ−ｃｏｄｅｒ符号化が採用されている。また、後述するテンプレートを用いた予測符号化処理も組み合わされている。
【０００４】
ここで、ＱＭ−ｃｏｄｅｒ符号化方式の基礎となっている算術符号について説明する。算術符号とは、０以上１未満（［０，１））の数直線上の対応区間（２進小数で［０．０…０，０．０…１））を各シンボルの生起確率に応じて不等長に分割していき、対象シンボル系列を対応する部分区間に割り当て、再帰的に分割を繰り返していくことにより得られた区間内に含まれる点の座標を、少なくとも他の区間と区別できる２進小数で表現してそのまま符号とするものである。
【０００５】
例えば、符号化シンボル系列０１００を対象とした二値算術符号化では、図６に示すような符号化が行われる。
【０００６】
同図において、例えば、第１シンボルの符号化時には、全区間が０と１のシンボルの生起確率の比にしたがってＡ（０）とＡ（１）に分割され、０の発生により区間Ａ（０）が選択される。次に、第２シンボルの符号化のさいには、その状態における両シンボルの生起確率比によってＡ（０）がさらに分割され、発生シンボル系列に対応する区間としてＡ（０１）が選択される。このような分割と選択の処理のくり返しにより符号化が進められる。
【０００７】
この算術符号はいわゆる非ブロック符号であり、とくに、予測符号化方式のように状態番号（コンテクスト）に応じてシンボルの出現確率が変化する場合の符号化に適しており、また、ＭＨ符号のようなランレングス符号に比べて、符号器の規模や必要メモリ量などのハードウェアが小さくて済む、より高い効率が期待できる、および、適応符号化が容易であるという利点がある。
【０００８】
上述したＱＭ−ｃｏｄｅｒ符号化方式は、この算術符号化をより少ないハードウェア資源を用いて実現し、かつ、より高速な処理が可能なようにしたものである。なお、通常は、画像データを直接算術符号化するのではなく、予測符号化処理により画像データの各画素が劣勢シンボルであるのか、あるいは、優勢シンボルであるのかの判定を行なう前処理を行なう。
【０００９】
また、ＱＭ−ｃｏｄｅｒ符号化方式の符号化／復号化アルゴリズムについて説明する。
【００１０】
符号化の初めでは、０以上１未満の数直線を考える。この数直線の間隔をＡ、そのときのマルコフ状態（初期状態では、状態０）に対応した劣勢シンボルの発生確率をＱｅとすると、分割後の領域は、次式（Ｉ）であらわされる。
【００１１】
ａ＝Ａ×（１−Ｑｅ）  （ａ：優勢シンボルの領域の大きさ）
【００１２】
ｂ＝Ａ×Ｑｅ          （ｂ：劣勢シンボルの領域の大きさ）…（Ｉ）
【００１３】
ここで、最初のシンボルが０（優勢シンボル）であった場合には、ａを新しいＡとして、１（劣勢シンボル）であった場合には、ｂを新しいＡとしてさらに分割を行なう。なお、符号化テーブルは、マルコフ状態の状態番号と、確率Ｑｅとの関係、および、再正規化処理発生時（後述）の状態推移のための情報などが組みになって記憶されている。
【００１４】
しかしながら、符号化時に乗算操作が行われることは装置規模の面でも演算速度の面でも不利である。また、無限長のシンボル系列を符号化するさい、小さくなった領域を演算するためには無限長の演算用レジスタが必要となる。
【００１５】
そこで、ＱＭ−ｃｏｄｅｒでは、分割後の新しいＡが常に０．７５以上１．５未満の大きさになるように操作して、Ａを１に近似できるようにし、上述した式（Ｉ）を次式（ＩＩ）で近似する。
【００１６】
ａ＝Ａ−Ｑｅ
【００１７】
ｂ＝Ｑｅ      …（ＩＩ）
【００１８】
この近似に伴い、Ａの値が０．７５未満になったときには、Ａが０．７５以上１．５未満の値になるまでＡを左にビットシフトして拡大する再正規化処理を行なう。この再正規化処理により、乗算を必要とする演算を減算で実現できるとともに、有限長レジスタを用いて演算を行なうことができる。また、再正規化処理を行なうと、そのときのマルコフ状態と、処理対象のシンボルの優勢／劣勢の区別に応じて、次のマルコフ状態に推移する。
【００１９】
優勢シンボルの符号化処理は、例えば、図７（ａ）に示すように行われ、また、劣勢シンボルの符号化処理は、例えば、同図（ｂ）に示すように行われる。ここで、Ｃは符号をあらわし、その初期値は０である。
【００２０】
すなわち、優勢シンボルを符号化するときには、符号Ｃは変更せず（処理Ｃ１０１）、領域Ａの値をそのときのマルコフ状態に対応した確率Ｑｅだけ小さい値に更新する（処理Ｃ１０２）。このとき、領域Ａの値が０．７５よりも小さいかどうかを調べて（判断Ｃ１０３）、判断Ｃ１０３の結果がＹＥＳになるときには、領域Ａの値および符号Ｃを再正規化処理するとともに状態推移し（処理Ｃ１０４）、１つの優勢シンボルの処理を終了する。また、判断Ｃ１０３の結果がＮＯになるときには、処理Ｃ１０４を行なわず、そのときのマルコフ状態を維持する。
【００２１】
また、劣勢シンボルを符号化するときには、符号Ｃの値を（Ａ−Ｑｅ）だけ増やして（処理Ｃ１１１）、領域Ａの値を確率Ｑｅの値に更新し（処理Ｃ１１２）、さらに、領域Ａと符号Ｃを再正規化処理するとともに状態推移する（処理Ｃ１１３）。
【００２２】
このときに生成した符号Ｃは、領域のもっとも下の部分を示す２進小数値に一致する。また、再正規化処理では、符号Ｃを領域Ａと同じ桁数左シフトして拡大し、１を超えた部分の符号Ｃの値が、符号データとして出力される。
【００２３】
また、復号化処理の一例を図８に示す。
【００２４】
まず、符号Ｃが値（Ａ−Ｑｅ）よりも小さいかどうかを調べて（判断Ｃ２０１）、判断Ｃ２０１の結果がＹＥＳになるときには、復号化対象となっている注目画素を優勢シンボルとして判断し（処理Ｃ２０２）、領域Ａの値をそのときのマルコフ状態に対応した確率Ｑｅだけ減じた値に更新する（処理Ｃ２０３）。そして、更新した領域Ａの値が０．７５よりも小さくなったかどうかを調べて（判断Ｃ２０４）、判断Ｃ２０４の結果がＹＥＳになるときには、領域Ａと符号Ｃを再正規化するとともにマルコフ状態を推移して（処理Ｃ２０５）、この１つのシンボルの復号化処理を終了する。また、判断Ｃ２０４の結果がＮＯになるときには、処理Ｃ２０５を行なわず、そのときのマルコフ状態を維持する。
【００２５】
また、判断Ｃ２０１の結果がＮＯになるときには、注目画素を劣勢シンボルとして判断し（処理Ｃ２０６）、符号Ｃの値を（Ａ−Ｑｅ）だけ小さい値に更新するとともに（処理Ｃ２０７）、領域Ａを確率Ｑｅの値に更新し（処理Ｃ２０８）、領域Ａと符号Ｃを再正規化するとともにマルコフ状態を推移して（処理Ｃ２０９）、この１つのシンボルの復号化処理を終了する。
【００２６】
このようにして、ＱＭ−ｃｏｄｅｒの符号化時では、優勢シンボルがあらわれたときには符号Ｃが変化しないとともに、再正規化処理が行われる可能性が少なく、また、劣勢シンボルがあらわれると即再正規化処理が行われるとともに符号データが形成される。
【００２７】
したがって、劣勢シンボルの出現頻度が小さくなるように前処理である予測符号化処理を行なうと、符号化効率が向上するとともに、処理速度も向上する。
【００２８】
一方、予測符号化処理としては、図９（ａ）に示したように、注目画素ＰＸの直前３ラインの１０画素を参照画素Ｓ０〜Ｓ９として抽出する３ラインテンプレートＴＰｔまたは、同図（ｂ）に示したように、注目画素ＰＸの直前２ラインの１０画素を参照画素Ｓ０〜Ｓ９として抽出する２ラインテンプレートＴＰｄなどが採用される。
【００２９】
図１０は、ＪＢＩＧ符号化方式で二値画像データを符号化する符号化装置の従来例を示している。
【００３０】
同図において、二値画像データＰＤは、ラインメモリ１および算術符号器２に加えられている。ラインメモリ１は、３ライン分の二値画像データＰＤを蓄積する容量を備えており、その出力は、テンプレート回路３に加えられている。
【００３１】
テンプレート回路３は、符号化対象となる注目画素ＰＸに対応する上述した３ラインテンプレートＴＰｔの参照画素Ｓ０〜Ｓ９を抽出するものであり、その抽出結果は、コンテクストＣＸとしてメモリ処理部４に出力される。
【００３２】
メモリ処理部４には、図１１に示すように、入力されるコンテクストＣＸの値をアドレスとして、１ビットのＭＰＳ（優勢シンボル）値とＬＳＺ（劣勢シンボルの出現確率）への７ビットのインデクスの計８ビットのデータが１０２４個格納された参照テーブルを備えており、入力したコンテクストＣＸに対応したＭＰＳ値ＭＸを算術符号器２へ出力するとともに、入力したコンテクストＣＸに対応したインデクス値ＩＸを確率推定テーブル部５に出力する。
【００３３】
確率推定テーブル部５は、図１２に示すように、入力するインデクス値ＩＸにより参照される状態番号ＳＴ、確率値ＬＳＺ、劣勢シンボルを処理した際に再正規化が発生したときに移行すべき次の状態番号をあらわすインデクスＮＬＰＳ、優勢シンボルを処理した際に再正規化が発生したときに移行すべき次の状態番号をあらわすインデクスＮＭＰＳ、および、再正規化が発生したときに優勢シンボルと劣勢シンボルの色を入れ換えるか否かを指示するためのフラグＳＷＴＣＨを１つの要素とする確率推定テーブルを記憶するとともに、入力したインデクス値ＩＸに対応した状態番号ＳＴに登録されている確率値ＬＳＺを符号化パラメータＰＰとして算術符号器２に出力するとともに、入力したインデクス値ＩＸに対応した状態番号ＳＴに登録されているインデクスＮＬＰＳ，ＮＭＰＳの値をインデクス値ＮＩとして算術符号器２に出力する。なお、ＱＭ−ｃｏｄｅｒ符号化方式の確率推定テーブルの一例を図１３および図１４に示す。
【００３４】
算術符号器２は、入力される二値画像データＰＤについて、メモリ処理部４より入力されるＭＰＳ値ＭＸと、確率推定テーブル部５から入力される符号化パラメータＰＰに基づいて、上述した符号化処理を行い、その処理結果、再正規化を行わない場合には、メモリ処理部４に出力するメモリリード／ライト信号ＷＲをリード（読出）状態に設定する一方、再正規化を行う場合には、次の処理サイクルで再正規化処理を行い、その際、メモリリード／ライト信号ＷＲをライト（書込）状態に設定し、更新されたインデクス値（注目画素ＰＸが優勢シンボルの場合にはインデクス値ＮＭＰＳ、劣勢シンボルの場合にはインデクス値ＮＬＰＳ）およびＭＰＳ値（フラグＳＷＴＣＨが「１」の場合には反転する）をあらわす更新インデクス・ＭＰＳ値Ａｉｍをメモリ処理部４に出力するとともに、符号データＣＤを出力する。また、再正規化処理時には、ＭＰＸ値ＭＸと符号化パラメータＥＰを参照しない。
【００３５】
メモリ処理部４は、画像状態に追従した処理を行うための学習機能を実現するためのものであり、算術符号器２より出力されるメモリリード／ライト信号ＷＲがリード状態になっている場合には、次の処理サイクルでは、テンプレート回路３から出力されるコンテクストＣＸに対応したＭＰＳ値ＭＸとインデクス値ＩＸを出力し、また、メモリリード／ライト信号ＷＲがライト状態になっている場合には、更新インデクス・ＭＰＳ値Ａｉｍを読み込み（学習）、次の処理サイクルでは、その更新インデクス・ＭＰＳ値Ａｉｍに含まれるインデクス値をインデクス値ＩＸとして出力するとともに、更新インデクス・ＭＰＳ値Ａｉｍに含まれるＭＰＳ値をＭＰＳ値ＭＸとして出力する。
【００３６】
図１５は、ＪＢＩＧ符号化方式で符号化された符号データを元の二値画像データに復号化する復号化装置の従来例を示している。
【００３７】
同図において、符号データＣＤａは、算術復号器１１により復号化され、その結果得られた二値画像データＰＤａは、ラインメモリ１２に加えられている。
【００３８】
ラインメモリ１２は、３ライン分の二値画像データＰＤａを蓄積する容量を備えており、その出力は、テンプレート回路１３に加えられている。
【００３９】
テンプレート回路１３は、符号化対象となる注目画素ＰＸに対応する上述した３ラインテンプレートＴＰｔの参照画素Ｓ０〜Ｓ９を抽出するものであり、その抽出結果は、コンテクストＣＸ’としてメモリ処理部１４に出力される。
【００４０】
メモリ処理部１４は、画像状態に追従した処理を行うための学習機能を実現するためのものであり、メモリ処理部４と同様に、入力されるコンテクストＣＸ’の値をアドレスとして、１ビットのＭＰＳ値およびＬＳＺへの７ビットのインデクスが格納された参照テーブルが格納されており（図１１参照）、入力したコンテクストＣＸ’に対応したＭＰＳ値ＭＸ’を算術復号器１１へ出力するとともに、入力したコンテクストＣＸ’に対応したインデクス値ＩＸを確率推定テーブル部１５に出力する。
【００４１】
確率推定テーブル部１５は、確率推定テーブル部５と同様に、確率推定テーブルを記憶するとともに、入力したインデクス値ＩＸ’に対応した状態番号ＳＴに登録されている確率値ＬＳＺを復号化パラメータＥＰとして算術復号器１１に出力するとともに、入力したインデクス値ＩＸ’に対応した状態番号ＳＴに登録されているインデクスＮＬＰＳ，ＮＭＰＳの値をインデクス値ＮＩ’として算術復号器１１に出力する。
【００４２】
算術復号器１１は、入力される符号データＣＤａについて、メモリ処理部１４より入力されるＭＰＳ値ＭＸ’と、確率推定テーブル部１５から入力される復号パラメータＥＰに基づいて、上述した復号化処理を行い、その処理結果、再正規化を行わない場合には、メモリ処理部１４に出力するメモリリード／ライト信号ＷＲ’をリード（読出）状態に設定する一方、再正規化を行う場合には、次の処理サイクルで再正規化処理を行い、その際、メモリリード／ライト信号ＷＲ’をライト（書込）状態に設定し、更新されたインデクス値（注目画素ＰＸが優勢シンボルの場合にはインデクス値ＮＭＰＳ、劣勢シンボルの場合にはインデクス値ＮＬＰＳ）およびＭＰＳ値（フラグＳＷＴＣＨが「１」の場合には反転する）をあらわす更新インデクス・ＭＰＳ値Ａｉｍ’をメモリ処理部１４に出力するとともに、二値画像データＣＤａを出力する。また、再正規化処理時には、ＭＰＸ値ＭＸと復号化パラメータＥＰを参照しない。
【００４３】
メモリ処理部１４は、算術復号器１１より出力されるメモリリード／ライト信号ＷＲ’がリード状態になっている場合には、次の処理サイクルでは、テンプレート回路１３から出力されるコンテクストＣＸ’に対応したＭＰＳ値ＭＸ’とインデクス値ＩＸ’を出力し、また、メモリリード／ライト信号ＷＲ’がライト状態になっている場合には、更新インデクス・ＭＰＳ値Ａｉｍ’を読み込み、次の処理サイクルでは、その更新インデクス・ＭＰＳ値Ａｉｍ’に含まれるインデクス値をインデクス値ＩＸとして出力するとともに、更新インデクス・ＭＰＳ値Ａｉｍ’に含まれるＭＰＳ値をＭＰＳ値ＭＸ’として出力する。
【００４４】
【発明が解決しようとする課題】
さて、このような従来装置には、次のような不具合を生じていた。
【００４５】
すなわち、符号化装置および復号化装置では、メモリ処理部４，１４の内容の更新を、算術符号器２および算術復号器１１の再正規化に同期して行っている。また、算術符号器２および算術復号器１１は、再正規化処理を行う以外の処理サイクルでは、符号化処理および復号化処理を行っており、二値画像データＰＤおよび符号データＣＤａを読み込むとともに、メモリ処理部４，１４からＭＰＸ値ＭＸを読み込むとともに、確率推定テーブル部５，１５から符号化パラメータＰＰおよび復号化パラメータＥＰを読み込んでいる。
【００４６】
したがって、このような一連の動作を考えると、データ読出を行ってからそのデータを使用して符号化処理なり復号化処理が行われるのであり、データの読出と符号化処理演算および復号化処理演算にそれぞれ独立した処理サイクルが必要となり、処理速度を高速化することが困難であった。
【００４７】
なお、算術符号器２および算術復号器１１以外のメモリ要素について、高速なメモリ装置を使用することで、かかる不具合を解消することも考えられるが、例えば、符号化／復号化装置を１つのまたは複数の半導体集積装置で構成することを考えると、常にメモリ装置に高速なものを必要とするため、装置コストが嵩むとともに、製造プロセスが細密化するに連れて算術符号器２および算術復号器１１の処理速度が向上した際に、より高速なメモリ装置を実現する必要があり、装置として実現性が困難である。
【００４８】
本発明は、かかる実情に鑑みてなされたものであり、処理速度を高速化することができる符号化装置および復号化装置および符号化／復号化装置を提供することを目的としている。
【００４９】
【課題を解決するための手段】
本発明は、注目データの周辺データを取り出す、周辺データ参照手段と、注目データの周辺データ配置状態によって一意に決定されるコンテクストに対応するアドレス毎に符号化パラメータを記憶するメモリ領域とを有し、前記コンテクストに応じて、注目データの符号化パラメータを決定し、決定された符号化パラメータを用いて符号化を行う符号化装置において、現在符号化中の注目データに対する前記コンテクストにより決定される前記符号化パラメータを、現在の符号化サイクルの１サイクル以上前の符号化サイクルに、前記メモリ領域より事前に読み出すとともに、前記メモリ領域には、前記コンテクストにおける連続する２状態のパラメータが、同一アドレスにおける記憶データの上位と下位に並列に記憶されているようにしたものである。
また、前記コンテクストを構成するデータ群のうち、現在注目している符号化データの直前のデータが、前記メモリ領域において並列配置されている記憶データの上位または下位のいずれかを特定するようにしたものである。
また、注目データの周辺データを取り出す、周辺データ参照手段と、注目データの周辺データ配置状態によって一意に決定されるコンテクストに対応するアドレス毎に符号化パラメータを記憶するメモリ領域とを有し、前記コンテクストに応じて、注目データの符号化パラメータを決定し、決定された符号化パラメータを用いて符号化を行う符号化装置において、現在符号化中の注目データに対する前記コンテクストにより決定される前記符号化パラメータを、現在の符号化サイクルの１サイクル以上前の符号化サイクルに、前記メモリ領域より事前に読み出すとともに、符号化時に前記メモリ領域のデータを更新する必要が生じた場合に、前記コンテクストを構成するデータ群のうち、現在注目している符号化データの直前のデータに応じて、前記メモリ領域における、該当アドレスに記憶されるデータのうち、上位または下位のいずれかのデータのみを更新するようにしたものである。
また、前記メモリ領域の更新タイミングにおいて更新すべきデータを、一時記憶する更新データ一時記憶手段を有し、前記メモリ領域更新時の書き込みアドレスと直後の符号化処理時の読み出しアドレスが同一である場合には、前記更新データ一時記憶手段より読み出したインデクス情報により得られる符号化パラメータを用いて符号化処理を行うようにしたものである。
また、前記メモリ領域の更新タイミングにおいて更新すべきデータを、一時記憶する更新データ一時記憶手段を有し、メモリ更新タイミング直後の符号化操作の結果、さらにメモリ更新の必要が生じ、かつ更新しようとするメモリアドレスが、前回の更新アドレスと同じであった場合に、前記更新データ一時記憶手段に記憶されているデータを再更新し、そのデータをメモリに書き込むようにしたものである。
【００５０】
また、注目データの周辺データを取り出す、周辺データ参照手段と、注目データの周辺データ配置状態によって一意に決定されるコンテクストに対応するアドレス毎に復号化パラメータを記憶するメモリ領域とを有し、前記コンテクストに応じて、注目データの復号化パラメータを決定し、決定された復号化パラメータを用いて復号化を行う復号化装置において、現在符号化中の注目データに対する前記コンテクストにより決定される前記符号化パラメータを、現在の符号化サイクルの１サイクル以上前の復号化サイクルに、前記メモリ領域より事前に読み出すとともに、前記メモリ領域には、前記コンテクストにおける連続する２状態のパラメータが、同一アドレスにおける記憶データの上位と下位に並列に記憶されているものである。
また、前記コンテクストを構成するデータ群のうち、現在注目している復号化データの直前のデータが、前記メモリ領域において並列配置されている記憶データの上位または下位のいずれかを特定するようにしたものである。
また、復号化時に前記メモリ領域のデータを更新する必要が生じた場合に、前記コンテクストを構成するデータ群のうち、現在注目している復号化データの直前のデータに応じて、前記メモリ領域における、該当アドレスに記憶されるデータのうち、上位または下位のいずれかのデータのみを更新することとしたものである。
また、前記メモリ領域の更新タイミングにおいて更新すべきデータを、一時記憶する更新データ一時記憶手段を有し、前記メモリ領域更新時の書き込みアドレスと直後の復号化処理時の読み出しアドレスが同一である場合には、前記更新データ一時記憶手段より読み出したインデクス情報により得られる復号化パラメータを用いて符号化処理を行うようにしたものである。
また、前記メモリ領域の更新タイミングにおいて更新すべきデータを、一時記憶する更新データ一時記憶手段を有し、メモリ更新タイミング直後の符号化操作の結果、さらにメモリ更新の必要が生じ、かつ更新しようとするメモリアドレスが、前回の更新アドレスと同じであった場合に、前記更新データ一時記憶手段に記憶されているデータを再更新し、そのデータをメモリに書き込むようにしたものである。
【００５１】
また、注目データの周辺データを取り出す、周辺データ参照手段と、注目データの周辺データ配置状態によって一意に決定されるコンテクストに対応するアドレス毎に符号化／復号化パラメータを記憶するメモリ領域とを有し、前記コンテクストに応じて、注目データの符号化／復号化パラメータを決定し、決定された符号化／復号化パラメータを用いて符号化／復号化を行う符号化／復号化装置において、現在符号化／復号化中の注目データに対する前記コンテクストにより決定される前記符号化／復号化パラメータを、現在の符号化／復号化サイクルの１サイクル以上前の符号化／復号化サイクルに、前記メモリ領域より事前に読み出すとともに、前記メモリ領域には、前記コンテクストにおける連続する２状態のパラメータが、同一アドレスにおける記憶データの上位と下位に並列に記憶されているようにしたものである。
また、前記コンテクストを構成するデータ群のうち、現在注目している符号化／復号化データの直前のデータが、前記メモリ領域において並列配置されている記憶データの上位または下位のいずれかを特定するようにしたものである。
また、注目データの周辺データを取り出す、周辺データ参照手段と、注目データの周辺データ配置状態によって一意に決定されるコンテクストに対応するアドレス毎に符号化／復号化パラメータを記憶するメモリ領域とを有し、前記コンテクストに応じて、注目データの符号化／復号化パラメータを決定し、決定された符号化／復号化パラメータを用いて符号化／復号化を行う符号化／復号化装置において、現在符号化／復号化中の注目データに対する前記コンテクストにより決定される前記符号化／復号化パラメータを、現在の符号化／復号化サイクルの１サイクル以上前の符号化／復号化サイクルに、前記メモリ領域より事前に読み出すとともに、符号化／復号化時に前記メモリ領域のデータを更新する必要が生じた場合に、前記コンテクストを構成するデータ群のうち、現在注目している符号化／復号化データの直前のデータに応じて、前記メモリ領域における、該当アドレスに記憶されるデータのうち、上位または下位のいずれかのデータのみを更新することとしたものである。
また、前記メモリ領域の更新タイミングにおいて更新すべきデータを、一時記憶する更新データ一時記憶手段を有し、前記メモリ領域更新時の書き込みアドレスと直後の符号化／復号化処理時の読み出しアドレスが同一である場合には、前記更新データ一時記憶手段より読み出したインデクス情報により得られる符号化／復号化パラメータを用いて符号化／復号化処理を行うようにしたものである。
また、前記メモリ領域の更新タイミングにおいて更新すべきデータを、一時記憶する更新データ一時記憶手段を有し、メモリ更新タイミング直後の符号化／復号化操作の結果、さらにメモリ更新の必要が生じ、かつ更新しようとするメモリアドレスが、前回の更新アドレスと同じであった場合に、前記更新データ一時記憶手段に記憶されているデータを再更新し、そのデータをメモリに書き込むようにしたものである。
【００５２】
【発明の実施の形態】
以下、添付図面を参照しながら、本発明の実施の形態を詳細に説明する。
【００５３】
図１は、本発明の一実施例にかかる符号化装置の一例を示している。なお、同図において、図１０と同一部分および相当する部分（信号を含む）には、同一符号を付している。
【００５４】
同図において、二値画像データＰＤは、ラインメモリ２１に加えられている。ラインメモリ２１は、３ライン分の二値画像データＰＤを蓄積する容量を備えており、その出力は、テンプレート回路２２に加えられている。
【００５５】
テンプレート回路２２は、符号化対象となる注目画素ＰＸに対応する上述した３ラインテンプレートＴＰｔの参照画素Ｓ０〜Ｓ９を抽出するとともに、注目画素ＰＸを抽出するものであり、参照画素Ｓ０〜Ｓ９の抽出結果は、コンテクストＣＸａとして、コンテクストレジスタＡ２３、セレクタ２４の一方の入力端、および、比較器２５の一方の入力端に加えられており、また、注目画素ＰＸの抽出結果は、注目画素データＰＸｄとして、算術符号器２６に加えられている。
【００５６】
コンテクストレジスタＡ２３は、コンテクストＣＸａを保持するものであり、その出力は、コンテクストレジスタＢ２７に加えられている。コンテクストレジスタＢ２７は、コンテクストＣＸａを保持するものであり、その出力は、コンテクストＣＸｂとして、セレクタ２４の他方の入力端、および、比較器２５の他方の入力端に加えられている。
【００５７】
セレクタ２４は、算術符号器２６より出力されるセレクト信号ＳＬに基づいて、コンテクストＣＸａまたはコンテクストＣＸｂを選択するものであり、その選択したコンテクストＣＸａまたはコンテクストＣＸｂのうち、参照画素Ｓ０に対応したデータＣＸ０をデータセレクト処理部２８に出力するとともに、参照画素Ｓ１〜Ｓ９に対応したデータＣＸ１９をメモリ処理部２９およびメモリ更新制御部３０に出力する。
【００５８】
比較器２５は、コンテクストＣＸａとコンテクストＣＸｂが一致するかどうかを比較するものであり、その比較結果は、比較信号ＣＭとして、データセレクト処理部２８に加えられている。
【００５９】
メモリ処理部２９は、図２に示すように、入力されるデータＣＸ１９をアドレスとして、図１１に示した参照テーブルの連続する２つの要素を格納した５１２個の要素を備えた倍幅参照テーブルを備えており、入力したデータＣＸ１９に対応した要素（２個分の要素）を読み出し、その読出結果をデータＤＸとしてメモリリードデータレジスタ３１に出力する。
【００６０】
メモリリードデータレジスタ３１は、データＤＸを保持するものであり、その出力は、データＤＸａとして、データセレクト処理部２８およびメモリ更新制御部３０に加えられている。
【００６１】
データセレクト処理部２８は、セレクタ２４から加えられるデータＣＸ０、比較器２５から加えられる比較信号ＣＭ、および、算術符号器２６から加えられるリード／ライト信号ＷＲに基づいて、メモリリードデータレジスタ３１から加えられるデータＤＸａの上位８ビットデータ、データＤＸａの下位８ビットデータ、更新データ一時記憶部３２から加えられる更新インデクス・ＭＰＳ値Ａｉｍｄ（後述）の上位８ビットデータ、または、更新インデクス・ＭＰＳ値Ａｉｍｄの下位８ビットデータのいずれかを選択し、その選択した８ビットデータに含まれるインデクス値をインデクス値ＩＸとして出力するとともに、その選択した８ビットデータに含まれるＭＰＳ値をＭＰＳ値ＭＸとして出力する。そして、インデクス値ＩＸは確率推定テーブル部３３に加えられ、ＭＰＳ値ＭＸは、算術符号器２６に加えられる。
【００６２】
確率推定テーブル部３３は、上述した確率推定テーブル部５と同様に、図１３に示したような確率推定テーブルを記憶し、入力したインデクス値ＩＸに対応した状態番号ＳＴに登録されている確率値ＬＳＺを符号化パラメータＰＰとして算術符号器２に出力するとともに、入力したインデクス値ＩＸに対応した状態番号ＳＴに登録されているインデクスＮＬＰＳ，ＮＭＰＳの値をインデクス値ＮＩとして算術符号器２６に出力する。
【００６３】
算術符号器２６は、入力される注目画素データＰＸｄについて、データセレクト処理部２８より入力されるＭＰＳ値ＭＸと、確率推定テーブル部３３から入力される符号化パラメータＰＰに基づいて、上述した符号化処理を行い、その処理結果、再正規化を行わない場合には、出力するメモリリード／ライト信号ＷＲをリード（読出）状態に設定する一方、再正規化を行う場合には、次の処理サイクルで再正規化処理を行い、その際、メモリリード／ライト信号ＷＲをライト（書込）状態に設定し、更新されたインデクス値（注目画素ＰＸが優勢シンボルの場合にはインデクス値ＮＭＰＳ、劣勢シンボルの場合にはインデクス値ＮＬＰＳ）およびＭＰＳ値（フラグＳＷＴＣＨが「１」の場合には反転する）をあらわす更新インデクス・ＭＰＳ値Ａｉｍを出力するとともに、符号データＣＤを出力する。また、再正規化処理時には、ＭＰＸ値ＭＸと符号化パラメータＰＰを参照しない。さらに、再正規化処理時には、セレクト信号ＳＬにより、セレクタ２４にコンテクストＣＸｂを選択させる。
【００６４】
また、算術符号器２６から出力されるメモリリード／ライト信号ＷＲは、データセレクト処理部２８、メモリ処理部２９、および、メモリ更新制御部３０に加えられている。また、算術符号器２６より出力される更新インデクス・ＭＰＳ値Ａｉｍは、更新データ一時記憶部３２およびメモリ更新制御部３０に加えられている。
【００６５】
更新データ一時記憶部３２は、直前に出力された更新インデクス・ＭＰＳ値Ａｉｍを保持するものであり、その出力は、データセレクト処理部２８およびメモリ更新制御部３０に加えられている。
【００６６】
メモリ更新制御部３０は、メモリリード／ライト信号ＷＲがライト状態になっている再正規化処理時において、メモリ処理部２９が倍幅参照テーブルの同一アドレスを連続してアクセスする場合で、連続する再正規化処理において、いずれも上位または下位を更新する場合（すなわち、データＣＸ０がいずれも「１」または「０」の場合）、メモリリードレジスタ３１から出力されるデータＤＸａの上位８ビットまたは下位８ビットのうちのデータＣＸ０で定まる一方を、算術符号器２６から出力される更新インデクス・ＭＰＳ値Ａｉｍの値で更新し、その更新結果の値（１６ビット）を、更新インデクス・ＭＰＳ値Ａｉｍａとしてメモリ処理部２９に出力する。
【００６７】
また、メモリ更新制御部３０は、再正規化処理時において、メモリ処理部２９が倍幅参照テーブルの同一アドレスを連続してアクセスする場合で、連続する再正規化処理において、それぞれ上位と下位（または下位と上位）を更新した場合（すなわち、データＣＸ０が「１」と「０」、あるいは、「０」と「１」の場合）、メモリリードレジスタ３１から出力されるデータＤＸａの上位８ビットまたは下位８ビットのうちのデータＣＸ０で定まる一方を、算術符号器２６から出力される更新インデクス・ＭＰＳ値Ａｉｍの値で、他方を更新データ一時記憶部３２から出力される更新インデクス・ＭＰＳ値Ａｉｍｄで更新し、その更新結果の値（１６ビット）を、更新インデクス・ＭＰＳ値Ａｉｍａとしてメモリ処理部２９に出力する。
【００６８】
さらに、メモリ更新制御部３０は、再正規化処理時において、メモリ処理部２９が倍幅参照テーブルの異なるアドレスをアクセスする場合には、メモリリードレジスタ３１から出力されるデータＤＸａの上位８ビットまたは下位８ビットのうちのデータＣＸ０で定まる一方を、算術符号器２６から出力される更新インデクス・ＭＰＳ値Ａｉｍの値で更新し、その更新結果の値（１６ビット）を、更新インデクス・ＭＰＳ値Ａｉｍａとしてメモリ処理部２９に出力する。
【００６９】
メモリ処理部２９は、画像状態に追従した処理を行うための学習機能を実現するためのものであり、算術符号器２６より出力されるメモリリード／ライト信号ＷＲがリード状態になっている場合には、次の処理サイクルでは、入力されるデータＣＸ１９に対応した倍幅参照テーブルの要素、すなわち、連続する２状態に対応したＭＰＳ値ＭＸとインデクス値ＩＸのデータＤＸを出力し、また、メモリリード／ライト信号ＷＲがライト状態になっている場合には、メモリ更新制御部３０より加えられる更新インデクス・ＭＰＳ値Ａｉｍａを読み込み（学習）、次の処理サイクルでは、その更新インデクス・ＭＰＳ値Ａｉｍａに含まれるインデクス値をインデクス値ＩＸとして出力するとともに、更新インデクス・ＭＰＳ値Ａｉｍａに含まれるＭＰＳ値をＭＰＳ値ＭＸとして出力する。
【００７０】
図３は、本発明の一実施例にかかる復号化装置の一例を示している。なお、同図において、図１５と同一部分および相当する部分（信号を含む）には、同一符号を付している。
【００７１】
同図において、符号データＣＤａは、算術復号器４０により復号化され、その結果得られた二値画像データＰＤａは、ラインメモリ４１に加えられている。
【００７２】
また、ラインメモリ４１は、３ライン分の二値画像データＰＤａを蓄積する容量を備えており、その出力は、テンプレート回路４２に加えられている。
【００７３】
テンプレート回路４２は、復号化対象となる注目画素ＰＸに対応する上述した３ラインテンプレートＴＰｔの参照画素Ｓ０〜Ｓ９を抽出するとともに、注目画素ＰＸを抽出するものであり、参照画素Ｓ０〜Ｓ９の抽出結果は、コンテクストＣＸａ’として、コンテクストレジスタＡ４３、セレクタ４４の一方の入力端、および、比較器４５の一方の入力端に加えられており、また、注目画素ＰＸの抽出結果は、注目画素データＰＸｄ’として算術符号器４６に加えられている。
【００７４】
コンテクストレジスタＡ４３は、コンテクストＣＸａ’を保持するものであり、その出力は、コンテクストレジスタＢ４７に加えられている。コンテクストレジスタＢ４７は、コンテクストＣＸａ’を保持するものであり、その出力は、コンテクストＣＸｂ’として、セレクタ４４の他方の入力端、および、比較器４５の他方の入力端に加えられている。
【００７５】
セレクタ４４は、算術復号器４０より出力されるセレクト信号ＳＬ’に基づいて、コンテクストＣＸａ’またはコンテクストＣＸｂ’を選択するものであり、その選択したコンテクストＣＸａ’またはコンテクストＣＸｂ’のうち、参照画素Ｓ０に対応したデータＣＸ０’をデータセレクト処理部４８に出力するとともに、参照画素Ｓ１〜Ｓ９に対応したデータＣＸ１９’をメモリ処理部４９およびメモリ更新制御部５０に出力する。
【００７６】
比較器４５は、コンテクストＣＸａ’とコンテクストＣＸｂ’が一致するかどうかを比較するものであり、その比較結果は、比較信号ＣＭ’として、データセレクト処理部４８に加えられている。
【００７７】
メモリ処理部４９は、メモリ処理部２９と同様に、倍幅参照テーブルを備えており、入力したデータＣＸ１９’に対応した要素（２個分の要素）を読み出し、その読出結果をデータＤＸ’としてメモリリードデータレジスタ５１に出力する。
【００７８】
メモリリードデータレジスタ５１は、データＤＸ’を保持するものであり、その出力は、データＤＸａ’として、データセレクト処理部４８およびメモリ更新制御部５に加えられている。
【００７９】
データセレクト処理部４８は、セレクタ４４から加えられるデータＣＸ０’、比較器４５から加えられる比較信号ＣＭ’、および、算術符号器４６から加えられるリード／ライト信号ＷＲ’に基づいて、メモリリードデータレジスタ５１から加えられるデータＤＸａ’の上位８ビットデータ、データＤＸａ’の下位８ビットデータ、更新データ一時記憶部５２から加えられる更新インデクス・ＭＰＳ値Ａｉｍｄ’（後述）の上位８ビットデータ、または、更新インデクス・ＭＰＳ値Ａｉｍｄ’の下位８ビットデータのいずれかを選択し、その選択した８ビットデータに含まれるインデクス値をインデクス値ＩＸ’として出力するとともに、その選択した８ビットデータに含まれるＭＰＳ値をＭＰＳ値ＭＸ’として出力する。そして、インデクス値ＩＸ’は確率推定テーブル部５３に加えられ、ＭＰＳ値ＭＸ’は、算術復号器４０に加えられる。
【００８０】
確率推定テーブル部５３は、上述した確率推定テーブル部３３と同様に、図１３に示したような確率推定テーブルを記憶し、入力したインデクス値ＩＸ’に対応した状態番号ＳＴに登録されている確率値ＬＳＺを復号化パラメータＥＰとして算術復号器４０に出力するとともに、入力したインデクス値ＩＸ’に対応した状態番号ＳＴに登録されているインデクスＮＬＰＳ，ＮＭＰＳの値をインデクス値ＮＩ’として算術復号器４０に出力する。
【００８１】
算術復号器４０は、入力される符号データＣＤａについて、データセレクト処理部４８より入力されるＭＰＳ値ＭＸ’と、確率推定テーブル部５３から入力される復号化パラメータＥＰに基づいて、上述した復号化処理を行い、その処理結果、再正規化を行わない場合には、出力するメモリリード／ライト信号ＷＲ’をリード（読出）状態に設定する一方、再正規化を行う場合には、次の処理サイクルで再正規化処理を行い、その際、メモリリード／ライト信号ＷＲ’をライト（書込）状態に設定し、更新されたインデクス値（注目画素ＰＸが優勢シンボルの場合にはインデクス値ＮＭＰＳ、劣勢シンボルの場合にはインデクス値ＮＬＰＳ）およびＭＰＳ値（フラグＳＷＴＣＨが「１」の場合には反転する）をあらわす更新インデクス・ＭＰＳ値Ａｉｍ’を出力するとともに、二値画像データＰＤａを出力する。また、再正規化処理時には、ＭＰＸ値ＭＸ’と復化パラメータＥＰを参照しない。さらに、再正規化処理時には、セレクト信号ＳＬ’により、セレクタ４４にコンテクストＣＸｂ’を選択させる。
【００８２】
また、算術復号器４０から出力されるメモリリード／ライト信号ＷＲ’は、データセレクト処理部４８、メモリ処理部４９、および、メモリ更新制御部５０に加えられている。また、算術復号器４０より出力される更新インデクス・ＭＰＳ値Ａｉｍ’は、更新データ一時記憶部５２およびメモリ更新制御部５０に加えられている。
【００８３】
更新データ一時記憶部５２は、直前に出力された更新インデクス・ＭＰＳ値Ａｉｍ’を保持するものであり、その出力は、データセレクト処理部４８およびメモリ更新制御部５０に加えられている。
【００８４】
メモリ更新制御部５０は、メモリリード／ライト信号ＷＲ’がライト状態になっている再正規化処理時において、メモリ処理部４９が倍幅参照テーブルの同一アドレスを連続してアクセスする場合で、連続する再正規化処理において、いずれも上位または下位を更新する場合（すなわち、データＣＸ０’がいずれも「１」または「０」の場合）、メモリリードレジスタ５１から出力されるデータＤＸａ’の上位８ビットまたは下位８ビットのうちのデータＣＸ０’で定まる一方を、算術復号器４０から出力される更新インデクス・ＭＰＳ値Ａｉｍ’の値で更新し、その更新結果の値（１６ビット）を、更新インデクス・ＭＰＳ値Ａｉｍａ’としてメモリ処理部４９に出力する。
【００８５】
また、メモリ更新制御部５０は、再正規化処理時において、メモリ処理部４９が倍幅参照テーブルの同一アドレスを連続してアクセスする場合で、連続する再正規化処理において、それぞれ上位と下位（または下位と上位）を更新した場合（すなわち、データＣＸ０’が「１」と「０」、あるいは、「０」と「１」の場合）、メモリリードレジスタ５１から出力されるデータＤＸａ’の上位８ビットまたは下位８ビットのうちのデータＣＸ０’で定まる一方を、算術符号器２６から出力される更新インデクス・ＭＰＳ値Ａｉｍ’の値で、他方を更新データ一時記憶部５２から出力される更新インデクス・ＭＰＳ値Ａｉｍｄ’で更新し、その更新結果の値（１６ビット）を、更新インデクス・ＭＰＳ値Ａｉｍａ’としてメモリ処理部４９に出力する。
【００８６】
さらに、メモリ更新制御部５０は、再正規化処理時において、メモリ処理部４９が倍幅参照テーブルの異なるアドレスをアクセスする場合には、メモリリードレジスタ５１から出力されるデータＤＸａ’の上位８ビットまたは下位８ビットのうちのデータＣＸ０’で定まる一方を、算術復号器４０から出力される更新インデクス・ＭＰＳ値Ａｉｍ’の値で更新し、その更新結果の値（１６ビット）を、更新インデクス・ＭＰＳ値Ａｉｍａ’としてメモリ処理部４９に出力する。
【００８７】
メモリ処理部４９は、画像状態に追従した処理を行うための学習機能を実現するためのものであり、算術復号器４０より出力されるメモリリード／ライト信号ＷＲ’がリード状態になっている場合には、次の処理サイクルでは、入力されるデータＣＸ１９’に対応した倍幅参照テーブルの要素、すなわち、連続する２状態に対応したＭＰＳ値ＭＸ’とインデクス値ＩＸ’のデータＤＸ’を出力し、また、メモリリード／ライト信号ＷＲ’がライト状態になっている場合には、メモリ更新制御部５０より加えられる更新インデクス・ＭＰＳ値Ａｉｍａ’を読み込み（学習）、次の処理サイクルでは、その更新インデクス・ＭＰＳ値Ａｉｍａ’に含まれるインデクス値をインデクス値ＩＸとして出力するとともに、更新インデクス・ＭＰＳ値Ａｉｍａ’に含まれるＭＰＳ値をＭＰＳ値ＭＸ’として出力する。
【００８８】
本実施例の動作時のタイミングチャートの一例を図４に示す。ここで、Ｃ０〜Ｃ８はクロックサイクルの番号を示している。またＮｏ．０〜Ｎｏ．７は符号化（または復号化）処理している画素に番号を振ったものであり、それぞれの信号においてどの画素の処理タイミングであるかを示している。
【００８９】
クロックサイクルＣ０におけるコンテクストはＮｏ．０の画素に注目した場合のコンテクストである。このときのコンテクストによってメモリアドレスが決定され、メモリ処理部２９，４９では、該当するアドレスのメモリの内容がリードされる。リードされたデータはクロック同期でメモリリードデータレジスタ３１，５１に取り込まれるため、メモリリードレジスタ３１，５１にデータが存在するのは、クロックサイクルＣ１からである。
【００９０】
実際の符号化動作はクロックサイクルＣ１から開始されている。そのためクロックサイクルＣ１の処理画素はＮｏ．０である。つまり、Ｎｏ．０の画素が符号化／復号化処理される１サイクル前にメモリアクセスが行われ、読み出されたデータがメモリリードデータレジスタに書き込まれているため、クロックサイクルＣ１の最初からＮｏ．０の符号化処理を行うことができる。このサイクルを繰り返すと、符号化処理を行う時点ですでにメモリからデータが読み出されている状態が繰り返されるため、高速に符号化処理を進めることができる。
【００９１】
次に、前述のように、学習のためにメモリ処理部２９，４９を更新するのは、再正規化の時点である。
【００９２】
符号化／復号化フェーズの部分を見ると、クロックサイクルＣ５で再正規化処理を行っている。この場合クロックサイクルＣ４の時点の符号化／復号化処理の結果、次のサイクルでの再正規化の必要が生じているのである。
【００９３】
ここで、メモリリード／ライト信号ＷＲ，ＷＲ’に目をやると、再正規化の行われるクロックサイクルＣ５でライトに切り替わっているのが分かる。
【００９４】
このタイミングチャートに示す動作タイミングの場合、再正規化を行わなくてはならないと言う判断が行われる処理タイミングは、前述のようにクロックサイクルＣ４における符号化／復号化処理であり、その時点で処理している画素はＮｏ．３である。
【００９５】
すなわち、更新しなければならないメモリのアドレスは画素Ｎｏ．３のコンテクストによって示されるものでなければならない。
【００９６】
そこで、メモリライトを行うクロックサイクルＣ５ではコンテクストレジスタＢを参照し、ここで示されているＮｏ．３のコンテクストによるメモリアドレスを更新するのである。
【００９７】
このようなタイミングでメモリ更新を行えば、実際の符号化／復号化処理時点より前にメモリの内容を読み出すようなタイミング設計を行っていても、正しくメモリの更新を行うことができ、結果的に、メモリのアクセスサイクルに同期して高速に符号化／復号化処理ができるのである。
【００９８】
図５は、図４において、画素Ｎｏ．３，４，５が同じコンテクストである場合の動作時のタイミングチャートの一例を示している。
【００９９】
符号化／復号化フェーズを見ると、クロックサイクルＣ４における画素Ｎｏ．３の符号化／復号化処理によって次サイクルにおいて再正規化を行うことが決定され、クロックサイクルＣ５で再正規化が行われている。さらに、続くクロックサイクルＣ６における画素Ｎｏ．４の符号化／復号化処理において、さらに次サイクルで再正規化を行うことが決定され、クロックサイクルＣ７で再正規化が行われている。
【０１００】
このとき、クロックサイクルＣ６におけるメモリリードデータレジスタ３１，５１の値は、クロックサイクルＣ４で読み出されたメモリの内容である。つまり、クロックサイクルＣ６における符号化／復号化処理の際には、クロックサイクルＣ５における再正規化時のメモリ更新内容が反映されていない。
【０１０１】
この例ではクロックサイクルＣ７においてさらに再正規化を行っている。ここでは画素Ｎｏ．４のコンテクストに対するメモリ内容の更新を行うのであるが、これは画素Ｎｏ．３のコンテクストと同じため、更新する内容は、クロックサイクルＣ５における前回の更新内容に、さらに今回の更新内容を付け加えた上で更新する必要が生じるのである。
【０１０２】
そこで、この場合には、更新データ一時記憶部３２，５２に書かれたデータを再更新した後にメモリに書き込むようにすると、正しいデータ更新を行うことができるようになるのである。
【０１０３】
このようにして、本実施例では、現在の符号化／復号化処理以前のサイクルでメモリデータを読み出しているため、読み出されたメモリデータの内容に基づき行われる処理に関して、現在の符号化／復号化サイクルの最初から開始できるため、処理時間に余裕ができ、全体のサイクルタイムを短縮することが可能となり、符号化／復号化処理時間を短縮できるという効果を得る。
【０１０４】
また、コンテクストにおける連続する２状態のデータを、メモリの１アドレスに並列配置しており、１度のアクセスにより２状態分のデータを読み出せるようにしているため、現在の符号化／復号化サイクルより前のサイクルでデータを読み出した場合に、その時点（メモリアクセス時点）では２状態のどちらが、実際のコンテクストであるか決定できない場合でも、次のサイクルでの符号化／復号化処理に必要なデータを確実に読み出すことができ、その後注目画素のすぐ左の画素が決定した時点で、直ちに、読み出したデータの上位あるいは下位のどちらが必要なデータであるかを特定できるという効果も得る。
【０１０５】
また、メモリに記憶されているデータを更新する必要が生じたとき、注目画素の１ビット左のデータに応じて、メモリに記憶させるデータの上位か下位かを特定して更新しているため、正しいデータ更新が可能となるという効果も得る。
【０１０６】
また、メモリデータ更新直後の符号化／復号化サイクルにおいても、直前の更新内容を反映することができるため、メモリ読み出しを待つサイクルが不要となり、処理が高速化するという効果も得る。
【０１０７】
また、メモリ更新直後の符号化／復号化処理において、さらに前回の更新と同じアドレスのメモリ更新の必要が生じた場合でも、前記更新データ一時記憶手段に記憶されているデータの該当部分のみを更新し、そのデータによりメモリを更新するため、上記のような場合においても正しいメモリ更新が可能となるという効果も得る。
【０１０８】
なお、本発明は、ファクシミリ装置、スキャナ装置、デジタルカメラ、画像データファイリング装置等、データ圧縮を用いる機器への応用が可能である。
【０１０９】
【発明の効果】
以上説明したように、本発明によれば、現在の符号化／復号化処理以前のサイクルでメモリデータを読み出しているため、読み出されたメモリデータの内容に基づき行われる処理に関して、現在の符号化／復号化サイクルの最初から開始できるため、処理時間に余裕ができ、全体のサイクルタイムを短縮することが可能となり、符号化／復号化処理時間を短縮できるという効果を得る。
【０１１０】
また、コンテクストにおける連続する２状態のデータを、メモリの１アドレスに並列配置しており、１度のアクセスにより２状態分のデータを読み出せるようにしているため、現在の符号化／復号化サイクルより前のサイクルでデータを読み出した場合に、その時点（メモリアクセス時点）では２状態のどちらが、実際のコンテクストであるか決定できない場合でも、次のサイクルでの符号化／復号化処理に必要なデータを確実に読み出すことができ、その後注目画素のすぐ左の画素が決定した時点で、直ちに、読み出したデータの上位あるいは下位のどちらが必要なデータであるかを特定できるという効果も得る。
【０１１１】
また、メモリに記憶されているデータを更新する必要が生じたとき、注目画素の１ビット左のデータに応じて、メモリに記憶させるデータの上位か下位かを特定して更新しているため、正しいデータ更新が可能となるという効果も得る。
【０１１２】
また、メモリデータ更新直後の符号化／復号化サイクルにおいても、直前の更新内容を反映することができるため、メモリ読み出しを待つサイクルが不要となり、処理が高速化するという効果も得る。
【０１１３】
また、メモリ更新直後の符号化／復号化処理において、さらに前回の更新と同じアドレスのメモリ更新の必要が生じた場合でも、前記更新データ一時記憶手段に記憶されているデータの該当部分のみを更新し、そのデータによりメモリを更新するため、上記のような場合においても正しいメモリ更新が可能となるという効果も得る。
【図面の簡単な説明】
【図１】本発明の一実施例にかかる符号化装置の一例を示したブロック図。
【図２】倍幅参照テーブルの一例を示した概略図。
【図３】本発明の一実施例にかかる復号化装置の一例を示したブロック図。
【図４】動作時のタイミングチャートの一例。
【図５】動作時のタイミングチャートの他の例。
【図６】二値算術符号化処理の概略を説明するための数直線をあらわしたグラフ図。
【図７】符号化処理の一例を示したフローチャート。
【図８】復号化処理の一例を示したフローチャート。
【図９】予測符号化処理で使用するテンプレートの一例を示した概略図。
【図１０】ＪＢＩＧ符号化方式で二値画像データを符号化する符号化装置の従来例を示したブロック図。
【図１１】参照テーブルの一例を示した概略図。
【図１２】確率推定テーブルの一要素を例示した概略図。
【図１３】確率推定テーブルの具体例を示した概略図。
【図１４】確率推定テーブルの具体例を示した概略図（続き）。
【図１５】ＪＢＩＧ符号化方式で符号化された符号データを元の二値画像データに復号化する復号化装置の従来例を示したブロック図。
【符号の説明】
２１，４１  ラインメモリ
２２，４２  テンプレート回路
２３，４３  コンテクストレジスタＡ
２４，４４  セレクタ
２５，４５  比較器
２６  算術符号器
２７，４７  コンテクストレジスタ
２８，４８  データセレクト処理部
２９，４９  メモリ処理部
３０，５０  メモリ更新制御部
３１，５１  メモリリードデータレジスタ
３２，５２  更新データ一時記憶部
３３，５３  確率推定テーブル部
４０  算術復号器
【図１】
0004067778.tif 000002
【図２】
0004067778.tif 000003
【図３】
0004067778.tif 000004
【図４】
0004067778.tif 000005
【図５】
0004067778.tif 000006
【図６】
0004067778.tif 000007
【図７】
0004067778.tif 000008
【図８】
0004067778.tif 000009
【図９】
0004067778.tif 000010
【図１０】
0004067778.tif 000011
【図１１】
0004067778.tif 000012
【図１２】
0004067778.tif 000013
【図１３】
0004067778.tif 000014
【図１４】
0004067778.tif 000015
【図１５】
0004067778.tif 000016