JP2003008445A - コンテキストモデルによるラン・スキップカウントに基づくメモリアクセス及びスキッピング - Google Patents

コンテキストモデルによるラン・スキップカウントに基づくメモリアクセス及びスキッピング

Info

Publication number
JP2003008445A
JP2003008445A JP2002095109A JP2002095109A JP2003008445A JP 2003008445 A JP2003008445 A JP 2003008445A JP 2002095109 A JP2002095109 A JP 2002095109A JP 2002095109 A JP2002095109 A JP 2002095109A JP 2003008445 A JP2003008445 A JP 2003008445A
Authority
JP
Japan
Prior art keywords
codeword
count
format
coefficients
cleanup
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2002095109A
Other languages
English (en)
Other versions
JP4061104B2 (ja
Inventor
Edward L Schwartz
エル.シュワルツ エドワード
Yutaka Sato
豊 佐藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Publication of JP2003008445A publication Critical patent/JP2003008445A/ja
Application granted granted Critical
Publication of JP4061104B2 publication Critical patent/JP4061104B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]

Landscapes

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

Abstract

(57)【要約】 【課題】 情報を符号化及び復号化する方法並びに装置
を提供する。 【解決手段】 本発明の装置は、メモリ及び復号化ハー
ドウェアを含む。メモリは、ランカウント及び/又はス
キップカウントを保持し、復号化ハードウェアは、復号
化中にメモリから取得されたランカウント及び/又はス
キップカウントを復号化する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、圧縮及び伸張の技
術に係り、特に、ラン・スキップカウントに基づくコン
テキストモデル・スキッピング技術及びメモリアクセス
技術に関する。
【0002】
【従来の技術】データ圧縮は、大量のデータを蓄積、伝
送するための非常に有効なツールである。たとえば、文
書のファクシミリ伝送のような画像を伝送するために要
する時間は、画像を提示するために必要なビット数を減
少させるため圧縮が使用されると、劇的に削減される。
【0003】従来技術では、多種多様なデータ圧縮技術
が知られている。圧縮技術は、損失のある符号化と損失
の無い符号化の二つのカテゴリーに大別される。損失の
ある符号化には、原データの完全な再構成が保証されな
いような情報の損失を生じる符号化が含まれる。損失の
ある圧縮の目標は、原データへの変更が邪魔にならない
か、又は、検出できないように行なわれることである。
損失の無い圧縮の場合、全ての情報が保持され、完全な
再構成ができるようにデータを圧縮することである。
【0004】損失の無い圧縮の場合、入力シンボル又は
強度データは、出力符号語に変換される。入力は、画
像、オーディオ、1次元データ(たとえば、空間的に変
化するデータ)、2次元データ(たとえば、空間的な2
方向で変化するデータ)、又は、多次元/多重スペクト
ルデータを含む。圧縮が成功した場合、符号語は、入力
信号(若しくは強度データ)の「ノーマル」表現におけ
るビット数よりも少ないビットで表現される。損失の無
い符号化方法は、辞書的な符号化法(たとえば、Lempel
-Ziv法)、ランレングス符号化法、エニュメラティブ(e
numerative)符号化法、及び、エントロピー符号化法を
含む。損失の無い画像圧縮の場合、圧縮は、予測又はコ
ンテキストと符号化に基づく。ファクシミリ圧縮用のJB
IG標準と、連続階調画像用のDPCM(差分パルス符号変調
−JPEG標準における一つのオプション)は、損失の無い
画像用圧縮の例である。損失のある圧縮の場合、入力シ
ンボル又は強度データは、出力符号語へ変換する前に量
子化される。量子化は、重要ではない特性を除去すると
共に、関連性のあるデータの特性を保存するよう意図さ
れている。量子化の前に、損失のある圧縮システムは、
屡々、エネルギー集約を行なうため変換を使用する。JP
EGは、画像データ用の損失のある符号化方法の一例であ
る。
【0005】可逆変換(ウェーブレット変換、コンポー
ネント変換)は、損失のある圧縮、及び、損失の無い圧
縮の両方の圧縮に使用される。不可逆変換(ウェーブレ
ット、コンポーネント、離散コサイン)は、損失のある
圧縮だけに使用される。
【0006】新たなJPEG 2000復号化標準は、変換を利
用し、画像用の新しい符号化体系及び符号ストリーム規
定を提供する。JPEG 2000標準は復号化標準であり、復
号器のあるべき形を定義するが、この定義は、特に、損
失の無い圧縮用の符号器を制約する。JPEG 2000標準の
下で、各画像は矩形タイルに分割される。2個以上のタ
イルが存在する場合、画像のタイル張りによって、タイ
ルコンポーネントが生成される。画像は多数のコンポー
ネントを含む。たとえば、カラー画像は、赤、緑及び青
のコンポーネントを有する。タイルコンポーネントは、
相互に独立に抽出若しくは復号化される。
【0007】画像のタイル張り後、タイルコンポーネン
トは、ウェーブレット変換を用いて一つ以上の異なる分
解レベルに分解される。これらの分解レベルは、原タイ
ル・コンポーネントの水平及び空間周波数特性を記述す
る係数で占められた多数のサブバンドを収容する。係数
は、画像全体ではなく、局所領域に関する周波数情報を
与える。すなわち、少数の係数が単一のサンプルを完全
に記述する。分解レベルは、サブバンドの連続した分解
レベルの水平分解能及び垂直分解能が前の分解レベルの
約半分になるように、空間的な倍率2で次の分解レベル
に関連付けられる。
【0008】サンプルと同数の係数が存在するが、情報
内容は、数個の係数だけに集中する傾向がある。量子化
によって、多数の係数の数値精度は、不釣合いに低い歪
み(量子化ノイズ)の導入と共に減少する。エントロピ
ー符号器による付加的な処理は、これらの量子化された
係数を表現するため要求されるビット数を減少させ、場
合によっては原画像よりも著しく減少させる。
【0009】タイル・ンポーネントの個別のサブバンド
は、さらに、符号ブロックに分割される。符号ブロック
は、区域にグループ化される。これらの係数の矩形状ア
レイは、独立に抽出され得る。符号ブロック中の係数の
個別のビットプレーンは、3段階の符号化パスでエント
ロピー符号化される。3段階のうちの各符号化パスは、
ビットプレーン圧縮画像データに関するコンテキスト
(前後関係)情報を収集する。
【0010】これらの符号化パスから生成されたビット
ストリーム圧縮画像データは、レイヤにグループ分けさ
れる。レイヤは、符号ブロックからの連続した符号化パ
スの任意のグループ分けである。レイヤ化は柔軟性に富
んでいるが、連続した各レイヤがより高品質の画像に寄
与することが前提である。各分解能レベルでのサブバン
ド係数の符号ブロックは、区域(precincts)と呼ばれる
矩形領域に分割される。
【0011】パケットは、圧縮符号ストリームの基本単
位である。パケットは、一つのタイルコンポーネントの
一つの分解能レベルの一つの予測レイヤからの圧縮画像
データを含む。これらのパケットは、符号ストリーム中
に定められた順序で配置される。
【0012】タイルに関連した符号ストリームは、パケ
ットに構成され、一つ以上のタイル部分に並べられる。
タイル部分ヘッダは、マーカー及びマーカーセグメン
ト、又は、タグの系列によって構成され、あらゆるタイ
ルコンポーネントの位置を見つけ、抽出し、復号し、再
構築するために必要な種々の仕組み及び符号化スタイル
に関する情報を収容する。全符号ストリームの先頭に
は、マーカー及びマーカーセグメントにより構成された
主ヘッダがあり、主ヘッダは、原画像に関する情報並び
に類似した情報を提供する。
【0013】符号ストリームは、アプリケーションが画
像の意味、及び、画像に関するその他の情報の意味を解
釈できるように、随意的にファイルフォーマットにまと
められる。このファイルフォーマットは、符号ストリー
ム以外のデータを収容する。
【0014】JPEG 2000符号ストリームの復号化は、符
号化手順の順序を逆転させることにより実行される。図
1には、圧縮画像データ符号ストリームに作用するJPEG
2000標準符号化体系のブロック図が示されている。図
1を参照するに、最初に、ビットストリームがデータ順
序付けブロック101によって受信され、データ順序付
けブロック101は、レイヤ及びサブバンド係数を再グ
ループ分けする。算術符号器102は、前に符号化され
た、ビットモデリングブロック103から与えられたビ
ット・プレーン圧縮画像データに関する係数及びビット
モデリングブロック103の内部状態からのコンテキス
ト情報を使用して、圧縮ビットストリームを復号化す
る。
【0015】次に、符号ストリームは、量子化ブロック
104によって量子化され、量子化ブロック104は、
ROI(領域選択画質向上)ブロック105によって示さ
れるような領域選択画質向上処理(ROI)に基づいて量子
化を行なう。量子化後、逆ウェーブレット/空間変換が
変換ブロック106によって係数に適用され、その後
に、DCレベルシフト及び選択的コンポーネント変換ブロ
ック107が続く。これにより、再生画像が生成され
る。
【0016】
【発明が解決しようとする課題】本発明は、情報を符号
化及び復号化する方法並びに装置の提供を目的とする。
【0017】
【課題を解決するための手段】一実施例において、本発
明の装置は、メモリ及び復号化ハードウェアを含む。メ
モリは、ラン・カウント、及び/又は、スキップ・カウ
ントを蓄積し、復号化ハードウェアはラン・カウント、
及び/又は、復号化中にメモリから取得されたスキップ
・カウントを復号化する。
【0018】本発明は、以下の実施例の記載及び添付図
面を参照することによって十分に理解されるであろう。
しかし、実施例の記載及び添付図面は、本発明を特定の
実施例に限定するものではなく、本発明の説明と解明を
意図するものである。
【0019】
【発明の実施の形態】符号化を実行する技術について説
明する。符号化を実行する技術は、JPEG 2000標準を実
現するため、特徴セットを操作するため、或いは、特徴
セットへ追加するため使用される。すなわち、JPEG 200
0標準として、参考のため引用したITU-T Rec. T.800|IS
O/IEC FDIS 15444: 2000 JPEG Image Coding Systemに
記載されている情報テクノロジー−JPEG 2000画像符号
化システムであるCore Coding System(コア・コーディ
ング・システム)は、導入者に多数の選択の範囲を残
す。上記文献に記載された技術の目的は、ソフトウェ
ア、ハードウェア及び/又はファームウェアにおいて、
高速、低価格、小メモリ容量、及び/又は、性能豊富な
手段を実現するため、JPEG 2000での選択の範囲を利用
することである。
【0020】以下では、本発明が完全に理解できるよう
に、多数の細部について説明する。しかし、本発明がこ
れらの特定の細部を用いることなく実施されることは、
当業者には明らかであろう。その他の場合、周知の構成
及び装置は、本発明の本質がわかり難くなることを避け
るために、詳細図ではなくブロック図の形式で示されて
いる。さらに、詳細には記載されていないブロック、ロ
ジック又は機能は、周知の手段を用いて実現されるか、
或いは、当業者によって周知のハードウェア、ソフトウ
ェア及び/又はファームウェアを用いて容易に実現され
る。一部の技術及び手段は、疑似コードを用いて記述さ
れていることに注意する必要がある。しかし、このこと
は、この一部の技術及び手段が、ソフトウェアだけによ
って実現されることを意味するわけではなく、むしろ、
このような記載は、当業者が容易に理解するであろう項
目の機能を簡単に説明するために、屡々、選択される。
【0021】以下の詳細な説明の一部分は、コンピュー
タメモリ内のデータビットに対する演算のアルゴリズム
と記号的表現とを用いて提示される。これらのアルゴリ
ズム的記述及び表現は、データ処理技術の分野の当業者
が、自分の業績をその分野の当業者に最も効率的に伝え
るために使用する手段である。ここで、アルゴリズム
は、一般的に、所望の結果を導く一貫した手順のシーケ
ンスであると考えられる。これらの手順は、物理量の実
際的な操作を必要とする手順である。通常、必ずしも不
可欠ではないが、これらの物理量は、記憶、転送、合
成、比較、或いは、操作することが可能な電気信号又は
磁気信号の形式で得られる。主として、一般的な用法で
あるとの理由から、これらの信号は、ビット、値、要
素、シンボル、文字、項、数などによって指定すること
が時に好都合であることがわかる。
【0022】しかし、これらの用語及び類義語は、適切
な物理量と関連付けられ、物理量に与えられた便宜的な
ラベルに過ぎない。特に断らない限り、以下の説明から
明らかであるように、「処理」、「コンピューティン
グ」、「計算」、「決定」、或いは、「表示」のような
用語を利用する記述は、コンピュータシステム若しくは
類似した電子コンピューティング装置の動作及び処理を
示すものであり、コンピュータシステムのレジスタ及び
メモリ内で物理(電子)量として表現されたデータを操
作し、同じように、コンピュータシステムのメモリ若し
くはレジスタ、又は、他の情報記憶装置、情報伝送装
置、若しくは、情報表示装置内で物理量として表現され
た他のデータへ変換する。
【0023】本発明は、以下で説明する動作を実行する
装置に関する。この装置は、特に、要求された用途に応
じて構成されるか、或いは、選択的に作動され、若しく
は、コンピュータに記憶されたコンピュータプログラム
を用いて再構成される汎用コンピュータを含む。このよ
うなコンピュータプログラムは、たとえば、フレキシブ
ルディスク、光ディスク、CD−ROM、光磁気ディス
クなどを含む任意のタイプのディスクや、読み出し専用
メモリ(ROM)や、ランダム・アクセス・メモリ(R
AM)や、EPROMや、EEPROMや、磁気若しく
は光カードや、電子命令を記憶するため適した任意のタ
イプの媒体のような、コンピュータシステムバスに接続
された、コンピュータ読み取り可能な記憶媒体に記憶さ
れるが、これらの例示的な記憶媒体に制限されるもので
はない。
【0024】ここで説明するアルゴリズム及びディスプ
レイは、本来的に特定のコンピュータ若しくはその他の
装置に関連付けられたものではない。種々の汎用システ
ムが、ここで教示された事項に応じたプログラムと共に
使用される。或いは、要求された方法の手順を実行する
ため、より専用化された装置を構成した方が便利な場合
もある。多様なこれらのシステムに対し要求される構成
は、以下の記載から明らかになる。さらに、本発明は、
特定のプログラミング言語に基づいて説明されていな
い。以下で説明するような本発明の教示事項を実現する
ために、多様なプログラミング言語を使用できることが
認められるであろう。
【0025】機械読み取り可能な媒体は、機械(たとえ
ば、コンピュータ)によって読み取り可能な形式で情報
を記憶若しくは伝送する任意のメカニズムを含む。たと
えば、機械読み取り可能な媒体は、読み出し専用メモリ
(ROM)と、ランダム・アクセス・メモリ(RAM)
と、磁気ディスク記憶媒体と、光記憶媒体と、フラッシ
ュメモリ装置と、電気的、光学的、音響的若しくはその
他の形式の伝搬信号(たとえば、搬送波、赤外線信号、
デジタル信号など)と、を含む。
【0026】〔概要〕図29は、符号器の一実施例のブ
ロック図である。図29を参照するに、データ・インタ
フェース(I/F)2901は、符号化されるべきデー
タ、或いは、復号化後に出力されるべきデータを受信す
るため接続される。DCレベルシフタ2902は、デー
タ・インタフェース2901に接続され、符号化中及び
復号化中にDCレベルシフトを実行する。ウェーブレッ
ト変換器2903は、DCレベルシフタ2902に接続
され、処理フローの方向に依存して、順ウェーブレット
変換又は逆ウェーブレット変換を実行する。一実施例に
おいて、ウェーブレット変換器2903は、5,3−可
逆ウェーブレット変換、及び、5,3−不可逆ウェーブ
レット変換を実行し、画像を2乃至5レベルに分解す
る。ラインバッファ2904は、ウェーブレット変換器
2903に接続され、ウェーブレット変換を実行する際
に、ウェーブレット変換器2903にデータを供給す
る。
【0027】スカラー量子化/逆量子化ブロック290
5は、ウェーブレット変換器2903に接続され、スカ
ラー量子化を実行する。一実施例において、スカラー量
子化は、5,3−ウェーブレット変換だけのため使用さ
れる。プリコーダ2906は、スカラー量子化ブロック
2905に接続され、プリコーディングを行なう。一実
施例において、プリコーダ2906は、係数を2の補数
から符号付きの尺度(大きさ)に変換する(復号化の場
合には、逆変換する)。プリコーダは、零ビットプレー
ンを決定する。ワークメモリA及びワークメモリBは、
パケットヘッダ処理器2907と共に、プリコーダ29
06に接続される。ワークメモリA及びワークメモリB
と、パケットヘッダ処理器2907へのインタフェース
は、ビットモデリングMQ符号器29081−Nにも接
続される。各MQ符号器2908 1−Nは、符号化デー
タ(JPEG 2000の用語では圧縮データ)を保持する個別の
符号メモリ2911に接続される。符号メモリからの
符号化データと、パケットヘッダ処理器2907からの
パケットヘッダは、符号化データとして出力される。こ
れは、JPEG 2000ビットストリームである。付加的な機
能ブロック(図示しない)は、主ヘッダ及びタイル部ヘ
ッダの作成/読出しのため使用される。ビットストリー
ム及びヘッダは、JPEG 2000符号ストリームを形成す
る。
【0028】〔サブビットプレーンに対するスキップを
含むコンテキスト・モデル・データ構造〕JPEG 2000に
おいて、(最上位ビット(MSB)から始めて下位ビッ
トへ)初期的に全零ではない係数のビットプレーンに対
して、各係数は、有意プロパゲーション、リファインメ
ント、クリーンアップの三つのサブビットプレーンパス
のうちの一つのパスで符号化される。図2Aには、係数
毎に、1ビットプレーンのサブビットプレーンパスが識
別された8×8符号ブロックの一例が示されている。図
2Aを参照すると、SPは、有意プロパゲーション・パ
スを表わし、Rは、リファインメント・パスを表わし、
Cは、クリーンアップ・パスを表わす。図2Aにおける
指数0〜63は、符号ブロック走査順序を示す。このよ
うにして、走査順序は、下向きに4係数、次に、最上位
行に戻るという動作を符号ブロック全体に亘って繰り返
す。符号ブロック全体の走査が終了した後、次に、走査
は、各列の5番目の係数から下向きに、残りの符号ブロ
ックの全域に亘って続けられる。
【0029】典型的な実現例では、ビットプレーンの符
号化パス毎に1回ずつの合計3回に亘って係数のブロッ
ク全体を読み出す。この技術は、各ビットプレーンの有
意プロパゲーション・パスに対し係数ブロックの全体を
読み出し、リファインメント・パスとクリーンアップ・
パスに対して実際に必要とされる係数だけを読み出す方
法を説明する。
【0030】図2Aの各セルの左側において、実線は、
リファインメント・サブビットプレーンパスの係数を示
し、点線は、リファインメント・サブビットプレーンパ
スでスキップされた係数を表わす。図2Aの各セルの右
側の実線は、クリーンアップ・サブビットプレーンパス
に対する係数を示す。パスが係数毎に識別されると、係
数が処理される。
【0031】データ構造は、後述の処理を用いて、有意
プロパゲーション・パス中に構築される。このデータ構
造は、メモリへのアクセス回数を低減させるため、コン
テキストモデルによって使用される。このデータ構造を
用いることによって、情報が属するパスがどのパスであ
るかを判定するためセル毎に検査し、セルをスキップす
る必要があったのに対して、コンテキストモデルは、メ
モリに1回だけアクセスすればよい。さらに、このデー
タ構造は、たとえば、クリーンアップ・ビットが同時に
4ビットだけ符号化されるときのように、多数の場所へ
同時にアクセスすることを可能にさせる。
【0032】表1及び表2は、それぞれ、リファインメ
ント・サブビットプレーンパスにおける係数の場所及び
クリーンアップ・サブビットプレーンパスにおける係数
の場所を記述する。インデックス毎に、サブビットプレ
ーンパスにおける係数の個数のランカウントと、異なる
パスに含まれる後続係数の個数のスキップカウントが示
されている。これらのデータ構造は、サブビットプレー
ンパスを効率的に符号化することを可能にさせる。その
ために、他のパスにおける係数をスキップできるように
する。
【0033】
【表1】
【0034】
【表2】 この処理は、ハードウェア、ソフトウェア、又は、両方
の組み合わせを含む処理ロジックによって実行される。
一実施例において、データ構造を作成し、データ構造を
使用するこの処理ロジックは、図29のビットモデルン
グMQ符号器29081−Nに設けられる。処理中に、
これらのデータ構造を作成するため、データ構造が最初
に初期化される。
【0035】 ri=0 //リファインメント用インデックス ci=0 //クリーンアップ用インデックス r_run[ri]=0 //リファインメント用ランカウント r_skip[ri]=0 //リファインメント用スキップカウント c_run[ci]=0 //クリーンアップ用ランカウント c_skip[ci]=0 //クリーンアップ用スキップカウント state=INITIAL //状態stateは、INITIAL、SIG_PROP、REFINE又はCLEAN UPである。
【0036】状態変数は、実行(ラン)の開始と中央を
区別するため使用される。状態変数は、前の係数用の符
号化パスを示す。現在の係数が同じである場合、ラン若
しくはスキップのサイズは増加し、異なる場合、新しい
ランが開始される。符号ブロックの各係数は、別々のカ
ウントを生成するため、符号ブロック走査順に考慮され
る。
【0037】 For y1=0 to maximum-for-y1 step 4 for x=0 to maximum-for-x step 1 for y2=0 to maximum-for-y2 step 1 process coefficient[x,y1+y2] 上記コードにおいて、y1の最大値は、符号ブロックの高
さ("(height-1)&〜3")よりも小さい4の最大の整数倍
である。xの最大値は、符号ブロックの"width-1"であ
る。y2の最大値は、3と"height-y1-1"の小さい方であ
る。各係数を処理する手続の一実施例は、以下の通りで
ある。
【0038】 if 係数が前のビットプレーンにおいて有意である、then if stateがREFINEでない、then ri=ri+1 r_run[ri]=1 r_skip[ri]=0 state=REFINE else r_run[ri]=r_run[ri]+1 c_skip[ci]=c_skip[ci]+1 else if 係数の近傍が有意である、then (係数は予測された有意な符号) r_skip[ri]=r_skip[ri]+1 c_skip[ci]=c_skip[ci]+1 state=SIG_PROP else stateがCLENUPではない、then ci=i+1 c_run{ci]=1 c_skip[ci]=0 state=CLEANUP else c_run[ci]=c_run[ci]+1 r_skip[ri]=r_skip[ri]+1 //。
【0039】この手続を適用した結果、有意プロパゲー
ション・パスの全係数は符号化され、リファインメント
・ビット及びクリーンアップ・ビットに対するデータ構
造が作成される。
【0040】必要に応じて、ランカウントは、行を超え
て元に戻らないようにすることができる。この行のラッ
プアラウンドを防止するための処理の一実施例は、以下
の疑似コードに記載される。これにより、境界を非常に
簡単に取り扱うことが可能になる。
【0041】
【0042】ソフトウェアの場合、ラン値及びスキップ
値を整数(32ビットコンピュータの場合には、32ビ
ットなど)として保持することが最も好都合である。最
悪のケースは、長さ0のランでスタートした長さ1のラ
ンである。JPEG 2000において、符号ブロックの係数
は、最大で4096個に制限される。符号ブロックの幅
と高さも最大で1024個の係数に制限される。全部で
4096個の係数の任意のサイズの符号ブロックに対
し、ランカウントが行のグループの全域で継続する場
合、4097個のメモリロケーションが、そのメモリサ
イズに対するメモリロケーションの最大数である。64
×64の符号ブロックに対し、ランカウントが4行ずつ
のグループ毎にスタートする場合、(4×64+1)×
(64/4)=4112個のメモリロケーションが最大
値である。1024×4の符号ブロックに対し、ランカ
ウントが4行ずつのグループ毎にスタートする場合、
(4×4+1)×(1024/4)=4352個のメモ
リロケーションが最大値である。
【0043】ハードウェアのメモリを節約するため、最
小限の固定数のビットがランカウント及びスキップカウ
ントのため使用され得る。最初のカウントがランカウン
トとスキップカウントのどちらであるかを示す標識が信
号(たとえば、1ビット信号標識)で示されたとき、ラ
ンカウントは1よりも大きい(かつ、0を符号化する能
力は要求されない)。全部で4096個の係数をもつ任
意のサイズの符号ブロックに対して、ライン(行)のグ
ループに対してランカウントが継続する場合、最初のカ
ウントがランであるか、又は、スキップであるかを示す
ために、1ビットが使用され、49,153ビット全体
に対して、4096×12ビットが使用される。64×
64符号ブロックに対して、ランカウントが4行ずつの
グループ毎に始まる場合、4行ずつの各グループに対し
最初のカウントがランであるかスキップであるかを示す
ため1ビットが使用される。かくして、ビット数は、1
×64/4+4096×12=49,168ビットであ
る。1024×3の符号ブロックに対し、ランカウント
が4行のグループ毎に始まる場合、ビット数は、1×1
024/4+4096×12=49,408ビットであ
る。
【0044】可変長符号の一実施例は、カウントを表現
するため使用され得る。表3では、小さいカウントが少
数のビット(たとえば、3ビット)で表現され、大きい
カウントは、多数のビット(たとえば、13ビット)で
表現される。このようなアプローチの目標は、比較的小
さい符号語を頻繁に使用できるように、殆どのカウント
を、1、2、3若しくは4で表わすことである。より簡
単に実現するために、二つのサイズだけが使用される。
しかし、三つ以上のサイズを使用して、複雑さを増して
も構わない。
【0045】
【表3】 この符号の場合、全てのランレングスが1(すなわち、
全符号語が3ビット)となるときに最悪の状況が生ず
る。3通りの状況(行を横断してカウントする状況、4
行ずつのグループによる64×64符号ブロックの状
況、4行ずつのグループによる1024×4符号ブロッ
クの状況)に対し、総ビット数は、それぞれ、12,2
89ビット、12,304ビット、及び、12,544
ビットになる。
【0046】メモリ使用量の削減は、もっと複雑な可変
長符号を用いることによって達成される。優れた構造の
符号は、表4に示されるような、ガンマ符号、γ又は
γ(BBell, Cleary, Whitten "Text Compression", Pre
nice Hall, NJ, 1990のAppendix A)である。
【0047】
【表4】 γとγは、符号語のビットの並べ方だけが相違する。
γ符号語中の"_"は、符号語の一部ではなく、カウン
タからプレフィックスを分離することによって見易くさ
せるためのものである。最悪の状況は、3ビットを必要
とする2のカウントの場合に生じる。3通りの状況(行
を横断してカウントする状況、4行ずつのグループによ
る64×64符号ブロックの状況、4行ずつのグループ
による1024×4符号ブロックの状況)に対し、必要
とされる総ビット数は、それぞれ、6,145ビット、
6,160ビット、及び、6,400ビットになる。
【0048】表5は、最長符号語が16ビットで表わさ
れるカウント1...4096に対する符号の一実施例
である。カウント1、2、3、4又は5は、それぞれ、
1、2、3、4及び5によって表現される。カウント6
〜21は、8ビットで表わされる。カウント22〜40
96は、16ビットで表わされる。3及び6のカウント
は、最悪の状況である。3通りの状況(行を横断してカ
ウントする状況、4行ずつのグループによる64×64
符号ブロックの状況、4行ずつのグループによる102
4×4符号ブロックの状況)に対し、総ビット数は、そ
れぞれ、5,463ビット、5,478ビット、及び、
5,718ビットである。
【0049】
【表5】 ハードウェアによる可変長符号を使用する場合、同じク
ロックサイクル中にランカウントとスキップカウントの
両方へアクセスすることが望ましい。一実施例におい
て、メモリは、最小サイズよりも1語(たとえば、16
ビット)分だけ大きいので、フラッシュが簡単である。
たとえば、16ビット語の場合、ランカウントは163
ビットを使用する。したがって、最後の語は3ビットだ
けを使用する。これにより、1語を完成するために、1
3ビットをパディングする必要が生じる。スキップカウ
ントは85ビットを使用する。したがって、最後の語
は、5ビットしか使用しない。このため、1語を完成す
るには、11ビットをパディングする必要がある。メモ
リサイズが、 メモリサイズ≧((163+13)/16)+((85
+11)/16) すなわち、 メモリサイズ≧17 であるならば、ランカウントとスキップカウントのパデ
ィングは独立でもよい。サイズが16であるならば、1
語は、ランカウントと、スキップカウントと、両者の間
のパティングとを含む。図30には、ランカウントとス
キップカウントの両方を備えた16ビット語の一例が示
されている。
【0050】図2Bは、可変長ラン・スキップカウント
用のメモリの説明図である。このメモリ構造によれば、
ランカウントをメモリの一方側(201)から開始し、
スキップカウントをメモリの他方側(202)から開始
させることが可能である。メモリの一方側201は、始
まりでも終わりでもよく、他方側202は、終わりでも
始まりでもよい。これにより、1ラン可変語と1スキッ
プ可変語のスタートは、同時にわかっているので、ラン
カウントとスキップカウントを同時並行的に復号化でき
るようになる。そのため、ランカウントを先に復号化
し、その長さを判定し、次に、スキップカウントを復号
化しなくてもよい。直列的である場合(ラン・スキップ
・ラン、以下同様である場合)、(一方を復号化しない
限り他方を見つけられないので)一つずつ判明すること
になる。
【0051】別個のスキップカウント及びランカウント
は、図2Bに示されたメモリで情報を復号化するため使
用される。或いは、1台の復号器をスキップカウントと
ランカウントの両方で共用してもよい。
【0052】〔コンテキストモデル用ハードウェア〕コ
ンテキストモデルはハードウェアに実現される。ハード
ウェアにおいて、一つの目標は、MQ符号器が待機状態
にならないように、できる限り早く次のコンテキストを
生成することである。
【0053】〔メモリ構成〕図3の(A)〜(D)は、
コンテキストモデルの実施例のための近傍係数及びメモ
リ構成を示す図である。個別の係数用のコンテキストモ
デルは、図3Aに示されるように、高々、3×3近傍に
基づいている。一実施例において、4ビットが同時に処
理される。このような状況において、4個の係数311
〜314のグループに対するコンテキストモデルは、図
3Bに示されるように、高々、3×6近傍に基づいてい
る。ハードウェアへのメモリアクセスは、2のべき乗で
グループ化されたデータを処理することが屡々望まし
い。したがって、3×6領域を含むような2のべき乗に
基づく領域は、4×8領域である。図3の(C)は、係
数の4×8領域の部分集合である3×6近傍を示す図で
ある。図3の(C)の4×8領域全体へのアクセスは、
同一のメモリ若しくは同一ではないメモリはの別々のア
クセスとして実行される。図3の(D)は、4個の2×
4領域301〜304に分割された4×8領域を示す。
2×4領域は、並行したランダムアクセスのため、異な
るメモリへ個別に格納される。このメモリ構造によっ
て、係数のグループからのコンテンツを判定するため必
要な全ての情報をメモリから、順番にではなく、同時に
読み出すことが可能になる。すなわち、係数情報の4×
8ブロック全体は、同時にアクセスされる。
【0054】図4は、16×16符号ブロックに対する
ランダムアクセス用の有意メモリ構成の一実施例を示す
図である。一実施例では、たとえば、32×32、64
×64のような他のサイズを取り扱うことができるが、
これらのサイズには限定されない。図4を参照するに、
各係数は、4個のメモリ(A、B、C又はD)のうちの
一つに割り当てられる。一部のグループ(一番上の2行
と一番下の2行)は、他のグループのサイズの半分のサ
イズである。その理由は、図3の(D)において、符号
ブロックの最初の2行に対し、一番上の2行が符号ブロ
ックの外側にある(エッジから外れている)からであ
る。同様な境界条件は、符号ブロックの一番下にも現れ
る。
【0055】一実施例において、メモリは、有意状態用
の係数に対し1ビット(1アドレスについて全部で8ビ
ット)を記憶する。他の一実施例において、メモリは、
有意状態用の係数とサイン毎に2ビット(1アドレスに
ついて全部で16ビット)を記憶する。さらに別の一実
施例において、これらのメモリは、全係数(Nが1個の
係数のサイズを表わすとき、8Nビット)を記憶する。
他の一実施例において、全部の係数がこれらのメモリに
記憶されない場合、1係数毎に1個のアドレスを備えた
補助的な一つのメモリが使用される。
【0056】以下のベリログ(Verilog)コードは、2個
の6ビットアドレス入力("x"及び"y")を、(64×6
4符号ブロック用)コンテキストモデルの制御ロジック
から、メモリA、B、C、若しくはDを指定するため
の、メモリへの7ビットアドレス出力("addr")と、2ビ
ットバンク選択とに変換する、一実施例である。
【0057】 module makeAddress(x,y,addr,bank); input [5:0] x; /* xは、ビット5〜0をもち、ビット5がM SBである */ input[5:0] y; output[6:0] addr; output[1:0] bank; wire[5:0] yp2; assign yp2 = y + 2; assign addr = {yp2[5:3],x[5:2]} assign bank = {yp2[2],x[1]} endmodule /* おわり。
【0058】1番目のアサイン文は、境界に対するオフ
セットを設定する。すなわち、オフセット"assign yp2
= y + 2"は、図4に示されるように4行のグループの適
切な配置を行なうため使用される。2番目のアサイン文
は、入力yのビット5〜3と、入力xのビット5〜2と連
結したオフセットの合計へのアドレスを、数の下位部分
としてセットする。3番目のアサイン文は、入力yのビ
ット2と、入力xのビット1と連結したオフセットの合
計と一致するバンクを設定する。
【0059】〔有意プロパゲーション・パス〕図5は、
ランダムアクセス用の有意プロパゲーション・パスに使
用されるメモリ及びレジスタの一実施例を示す図であ
る。図5によれば、アドレスAは、データ出力を生成す
るためメモリAへ入力され、データ出力はレジスタ50
1にも保持される。アドレスBに応答して、メモリB
は、データを出力し、出力されたデータは、レジスタレ
ジスタ502にも保持される。同様に、メモリCは、ア
ドレスCに応答してデータを出力し、出力はレジスタ5
03に保持される。最後に、メモリDは、アドレスDに
応答してデータを出力し、そのデータはレジスタ504
に記憶される。一実施例において、各メモリA〜Dの出
力は、2×4領域であり、全体として、4×8領域(た
とえば、図6の領域601)を作成する。
【0060】図5に示されたメモリ及びレジスタの全出
力は、全体として、有意ビットの6×6領域を与える。
これは、他の実施例では、有意状態及びサイン、又は、
実際の係数になり得ることに注意する必要がある。すな
わち、メモリA〜Dからの並列に使用されるデータは、
前のサイクルにメモリA〜Dから読み出されレジスタ5
01〜504に保持されたデータと組み合わされる。こ
の有意ビットと、コンテキストモデルからのフィードバ
ックを合わせた領域は、係数の4×4領域が存在するパ
スを決定するために十分な領域である。
【0061】図6は、メモリから読み出され、ランダム
アクセスのためレジスタに保持された有意状態を示す図
である。図6によれば、領域601は、メモリから読み
出された4×8領域を示す。領域602は、メモリA〜
Dから読み出され、コンテキストモデリングのため使用
される3×6領域を示す。領域603は、レジスタ50
1から504に記憶され、コンテキストモデリングに使
用される3×6領域を示す。領域604は、処理される
係数の4×4領域を示す。図6には、メモリA〜Dのメ
モリロケーション及びレジスタから得られた8×8ブロ
ックの典型的な2×4部分が示されている。
【0062】有意プロパゲーション・パス用のアドレス
生成ロジックの一実施例は、以下の疑似コードに記載さ
れる。アドレッシングはデータに依存しないこと、及
び、零データは境界に設けられることに注意する必要が
ある address_A_y=0 address_B_y=0 address_C_y=0 address_D_y=0 for y=0 to 60 step 4 address_A_x=0 address_C_x=0 read memory A (次に登録される) read memory C (次に登録される) assert clear for memory B register (次にクリアされる) assert clear for memory D register (次にクリアされる) for x=0 to 60 step 4 address_A_x=x+4 address_B_x=x address_C_x=x address_D_x=x if x < 60 then read memory A (次に登録される) read memory C (次に登録される) else use "all bits zero" for memory A output use "all bits zero" for memory B output read memory B (次に登録される) read memory D (次に登録される) 係数x...x+3,y...y+3の4x4ブロックを処理 if y AND 4==0 address_A_y=address_A_y+8 address_B_y=address_B_y+8 else address_C_y=address_C_y+8 address_D_y=address_D_y+8 /* 。
【0063】4×4ブロックを処理するため、同じパス
のビットのランは一緒に取り扱われる。リファインメン
ト・パスの行にN個の係数が存在する場合、以下の疑似
コードがそれらを処理するため使用される。
【0064】
【0065】この疑似コードは、1個の係数ではなく、
N個の係数が処理されていることを示すため、1の代わ
りにNが使用されている点を除くと、上述のコードと類
似していることに注意する必要がある。
【0066】N個の係数がクリーンアップ・パスの行に
存在する場合、以下の疑似コードは、係数を処理するた
めのプロセスの一実施例を表わす。
【0067】
【0068】図7は、有意プロパゲーション・パスロジ
ックの一実施例のブロック図である。一実施例におい
て、このロジックは、図29のビットモデリングMQ符
号器29081−Nに含まれる。係数毎のパスは、1係
数当たりにつき、有意プロパゲーション又はそれ以外、
リファインメント又はそれ以外、及び、クリーンアップ
又はそれ以外の3ビットで表現された4×4領域に対す
るパスである。図5において、メモリA〜Dのアクセス
動作を制御することによって、4×4ブロックがメモリ
から取り出され、有意プロパゲーション・パスが実行さ
れる。各4×4ブロックを調べると、多数のパス中のラ
ンが識別され、有意パス中の係数を符号化する必要があ
り、一方、リファインメント・オア及びクリーンアップ
・パスに対するランカウント及びスキップカウントは、
同時に一つのランを処理するため識別される。ブロック
内で(走査順による)前のビット(或いは、新しい符号
ブロックの始まりの場合には前の符号ブロック)は、有
意プロパゲーション・ビットであり、現在状態は有意プ
ロパゲーションではなく、新しいランが始まる。このよ
うな場合に、インデックスは、ラン・スキップカウント
を保持するテーブル内でインクリメントされる(たとえ
ば、スキップを零にセットし、ランを第1の値にセット
する)。ランカウントとスキップカウントの両方のテー
ブルは、このようにしてインクリメントされ、同時に、
4×4ブロックを処理する。4×4ブロックの前のビッ
トがリファインメント・パス又はクリーンアップ・パス
にあり、より多くのこのようなデータが後に続くとき、
現在ランのカウントはインクリメントされる。Nが2の
べき乗を表わすとき、たとえば、4×N領域を含む他の
サイズの領域を使用してもよい。
【0069】図7を参照するに、8×8領域用の有意状
態701は、パスを決定するロジック702への入力で
ある。図31は、典型的な8×8領域の説明図である。
有意状態701は、たとえば、リファインメント・パス
の行にN個の係数が存在することを示す情報を含む。こ
のような情報は、上述のようなテーブルからアクセスさ
れる。決定パスロジック702は、8×8領域の中央の
6×6領域内の16個の3×3領域を調べる。係数A〜
Iは、1番目の3×3領域を表現する。図32は、決定
パスロジック702の一実施例の構成図である。図32
におけるロジックは、4×4ブロック内の各係数に対し
て1回ずつとして、16回繰り返される。領域は、3×
3領域以外のサイズでもよく、処理される領域の数は、
同時に16個より多くても少なくても構わないことに注
意する必要がある。
【0070】図32を参照するに、係数A〜Cの全ビッ
トは、ORゲート3201へ入力される。係数D及びF
の全ビットは、ORゲート3202の入力へ供給され
る。係数G〜Iの全ビットは、ORゲート3203の入
力へ供給される。ORゲート3201〜3203の出力
は、ORゲート3204の入力へ接続される。ORゲー
ト3204の出力は、インバータ3206の入力と、A
NDゲート3208の入力とに接続される。係数Eは、
リファインメント信号704の16ビット出力を表わ
し、インバータ3205の入力へ供給され、インバータ
3205の出力はANDゲート3208の別の入力と、
ANDゲート3207の入力とに供給される。ANDゲ
ート3208の出力は、有意プロパゲーション信号70
3である。インバータ3206の出力は、ANDゲート
3207の他の入力へ供給される。ANDゲート320
7の出力は、クリーンアップ信号705である。
【0071】動作中に、有意状態ビットEのいずれかが
0である場合、ANDゲート3208の出力は、0であ
るビットのビット位置に対応し、有意状態が係数A〜D
若しくは係数F〜Iのいずれかに対して1である場合
に、有意プロパゲーション信号704は、1に変化す
る。同様に、有意状態ビットEのいずれかのビットが0
である場合、ANDゲート3207の出力は、そのビッ
トのビット位置に対応し、これにより、クリーンアップ
信号705は、係数A〜D若しくは係数F〜Iに対する
有意状態ビットが全て0である場合、1に変化する。
【0072】決定の結果として、ロジック702は、有
意プロパゲーション信号703、リファインメント・パ
ス信号704、又は、クリーンアップ・パス信号705
のうちのいずれかをアサート(真の状態に)する。一実
施例において、各信号703〜705は、16ビット幅
である。信号703、704及び705における対応し
た各ビットに対し、唯一のビットが1であり、他の2個
のビットが0である。かくして、16個のロケーション
に3通りの確率が存在する。ロジック702の各出力
は、選択ロジック(たとえば、マルチプレクサ(MU
X))707の一方の入力へ供給される。
【0073】選択ロジック707は、現在の係数に関し
て、現在の係数に対するパスを示す3個のパスビットを
生成し、パスビットを制御ロジック709へ送る。3個
のパスビットのうちの1ビットだけが、制御ロジック7
09から出力されたカウント信号708に応答してアサ
ートされる。カウント信号708は、4×4ブロック内
の16個の係数のうちの何れの係数が現在処理中の係数
であるかを示す。リファインメント・ビットラン及びク
リーンアップ・ビットランを取り扱うとき、カウント信
号708は1よりも大きい数でインクリメントされる。
かくして、決定パスロジック702の各出力の16ビッ
トのうちで、その係数に対応した3個の出力毎のビット
が出力される。
【0074】リファインメント・パス信号704及びク
リーンアップ・パス信号705は、フィードバックカウ
ント信号708と共に、マスク705へ入力される。カ
ウント信号708は、4×4領域内の現在の係数位置、
たとえば、0...15である。これらの入力に応答し
て、マスク705は、カウント708によって示される
ように、既に実行された係数をマスクし、未だ符号化さ
れていない係数だけを組み入れる。たとえば、3個の係
数が既に処理されているとき、マスク705は、リファ
インメント出力及びクリーンアップ出力(704及び7
05)の夫々の3個の信号ラインをマスクする。
【0075】マスク705は、(一実施例において)一
部の信号が1にマスクされた信号704及び信号705
を表現する2個の出力を生成し、優先度符号器706へ
供給する。マスク705の出力は、マスクされたリファ
インメント標識及びマスクされたクリーンアップ標識
(たとえば、信号)である。
【0076】2個の入力に応じて、優先度符号器706
は、次のリファインメント・ビット(又は係数)と、有
意プロパゲーション・パスに対する次の非クリーンアッ
プ・ビットとを検出し、これらのビットを制御ロジック
709へ入力する。一実施例において、優先度符号器7
06は、零検出優先度符号器である。その際、優先度符
号器706は、符号ブロック内のビット(若しくは係
数)の現在位置を先行する零のカウントに変換する。一
実施例において、これは、以下の真理値表を使用して行
なわれる。
【0077】真理値表 入力 | 出力 1 × × × × × | 0 0 1 × × × × | 1 0 1 1 × × × | 2 (以下、同様に続く)。
【0078】マスク705、優先度符号器706、及び
選択ロジック707は、決定パスユニット702からの
出力を受信し、次の非リファインメント係数及び次の非
クリーンアップ係数を示す出力と、現在係数に対するパ
スとを生成する処理ユニットを構成する。
【0079】入力に応答して、制御ロジック709は、
リファインメント・次のインデックス、リファインメン
ト・ラン標識、リファインメント・スキップ標識、クリ
ーンアップ・次のインデックス、クリーンアップ・ラン
標識、クリーンアップ・スキップ標識、及び、有意プロ
パゲーション標識を生成する。制御ロジックへの入力
は、以下の通りである。
【0080】次の非リファインビット位置 "R" 次の非クリーンアップビット位置 "C"
【0081】以下の疑似コードは、図7に示された有意
プロパゲーション・パスロジックの動作を説明する。
【0082】 count = 0 while (count < 16) mask = (1 << count)-1 refinement_masked = refinement | mask use priority encoder to find next non-refinement bit cleanup_mask = clean_up | mask use priority encoder to fine next non-cleanup bit if current bit is in significance propagation pass process coefficient as significance propagation count = count + 1 else if current bit in refinement pass N = "next non-refinement bit" ? count process N bits as refinement pass count = count + N else N = "next non-cleanup bit" ? count process N bits as cleanup pass count = count + N /* 。
【0083】有意状態は、"1"係数が有意プロパゲーシ
ョン・パスで符号化されるときにいつでも、MQ復号器
(符号化中には、MQ符号器、若しくは、係数値)から
更新される。
【0084】コンテキストモデが1クロックサイクルで
動作し、MQ符号器が1クロックサイクルで動作する場
合を考えると、二つのクロックサイクルはフィードバッ
クが存在するときに必要とされる。図8には、最悪の状
況が起こる可能性のある4×4ブロック上での性能の一
例が示されている。8個のコンテキストモデルと、コン
ポーネントクロックレートの2倍で並列的に動作するM
Q符号器は、1係数について7個のビットプレーンを復
号化できなければならない(8×2/2.25≒7)。
有意プロパゲーション・パス内でスキップが生じない場
合、最悪の状況の性能は、最大で1係数当たりについて
5.5ビットプレーンまで低下する。何れのパスにおい
てもスキップが生じない場合、最悪の状況における性能
は、1係数あたりについて高々4ビットプレーンまで低
下する。
【0085】〔ソフトウェアによる有意プロパゲーショ
ン・パススキップ〕ソフトウェアの場合、多数のメモリ
からの並列アクセスは実現不可能である。そのため、一
実施例では、符号ブロックは、係数の4×4グループに
分割される。グループ毎に、カウントは、有意なビット
数を維持する。このような場合、必要な最大メモリ量
は、256×5ビットである。リファインメント・パス
に存在する全ての係数のブロックのカウントは16であ
る。カウント0のブロックは、全てクリーンアップでも
よく、全部がクリーンアップであるかどうかを調べるた
めには、近傍を検査するだけでよい。
【0086】〔クリーンアップ・パス及びリファインメ
ント・パス〕クリーンアップ・パスの場合、アドレッシ
ングは、データに依存し、以下の疑似コードを用いて生
成される。クリーンアップ・パス内の次の係数のアドレ
スx,yは、入力される。
【0087】 module cleanupAddress(x,y,addrA,addrB,addrC,addrD) input[5:0]x; input[5:0]y; output[6:0]addrA; output[6:0]addrB; output[6:0]addrC; output[6:0]addrD; wire[5:0]yp2; wire[4:0]ax; wire[4:0]bx; wire[4:0]cx; wire[4:0]dx; assign yp2 = y+2; assign ax = (x[1:0]==3)?x[5:2]+1:x[5:2]; assign cx = (x[1:0]==3)?x[5:2]+1:x[5:2]; assign bx = (x[1:0]==0)?x[5:2]-1:x[5:2]; assign dx = (x[1:0]==0)?x[5:2]-1:x[5:2]; assign ay = y[2]?yp2[5:3]+1:yp2[5:3]; assign by = y[2]?yp2[5:3]+1:yp2[5:3]; assign cy = yp2[5:3]; assign dy = yp2[5:3]; assign addrA = {ay,ax} assign addrB = {by,bx} assign addrC = {cy,cx} assign addrD = {dy,dx} endmodule /* 。
【0088】クリーンアップ・パスに使用されるアドレ
ッシングは、リファインメント・パスにも使用される。
しかし、リファインメント・パスの場合、より小さい近
傍でも十分に足りる。
【0089】 If (yp2[1:0]==1) or (yp2[1:0]==2) then if yp2[2] == 1 then just read memories C and D else just read memories A and B else read memories A,B,C and D /* 。
【0090】〔全てのパスに対する逐次的なアドレッシ
ング〕全てのパスに対し逐次的なアドレッシングを行な
う場合、二つのメモリを使用するより簡単なメモリ構成
が用いられる。図9を参照するに、各4×4領域は、二
つのメモリA又はBのうちの一方に割り当てられる。こ
れにより、16×16ブロックに対し要求されるあらゆ
る並列アクセスが可能になる。1番目の符号ブロックは
半分しか使用されない。なぜならば、オフセットは上述
のオフセットと類似し、一番上の2行が実際に処理され
るデータを収容しない図6に示されるような8×8ブロ
ックを処理するとき、係数の2行分だけが該当するから
である。
【0091】図10には、有意プロパゲーション・パス
のため使用されるメモリ路のメモリ及びレジスタの一実
施例が示されている。図10によると、メモリAは、ア
ドレスAに応答してデータ出力を生成する。同様に、メ
モリBは、アドレスBに応答してデータ出力を生成す
る。2×2クロスバー1003は、メモリA及びBの出
力に接続された入力を有する。クロスバーの一方の出力
はレジスタ1001と、メモリ路の一方の出力と、に接
続される。クロスバーのもう一方の出力は、レジスタ1
002と、メモリ路のもう一方の出力と、に接続され
る。かくして、メモリA及びBの出力は、いずれかのレ
ジスタ1001及び1002に保持され、いずれかのメ
モリ路へ出力される。メモリA及びBから読み出される
データは4×4領域に対するデータである。レジスタ1
001及び1002は、5×4領域を格納する。レジス
タがロードされたとき、最も右側の1×4列は、最も左
側の1×4列へ移され、その他の列は、メモリデータ出
力から入れられる。クロスバー1003は、データが1
行ずつ処理されるときに、データを出力へ行き来させる
ことにより、メモリA及びBからメモリ路の適切な出力
へのデータの出力を制御する。
【0092】図11は、図10のメモリ及びレジスタが
コンテキストモデル動作のため適切な領域を設けるため
使用される状況を説明する図である。図11によれば、
領域1102は、処理されるべき係数の4×4領域であ
る。領域1101は、コンテキストモデリングのため使
用されたレジスタ1001及び1002に格納された5
×6領域(5×6領域よりも上及び下の5×1領域は無
視される)を表現する。領域1103は、メモリからの
4×8領域である。領域1104は、コンテキストモデ
リングのため使用されたメモリからの1×6領域であ
る。
【0093】三つの符号化パスの全てに対するメモリア
ドレッシング用の疑似コードの一実施例を以下に説明す
る。
【0094】 address_A_y=0 address_B_y=0 for y=0 to 60 step 4 address_A_x=0 address_B_x=0 clear registers read memory A (次に登録されるであろうメモリA) read memory B (次に登録されるであろうメモリB) for x=0 to 60 step 4 address_A_x=x+4 address_B_x=x+4 if x < 60 then read memory A (次に登録されるであろうメモリA) read memory B (次に登録されるであろうメモリB) else use "all bits zero" for memory A output use "all bits zero" for memory B output process 4x4 block of coefficients x...x+3,y...y+3 if y AND 4==0 address_A_y=address_A_y+8 else address_B_y=address_B_y+8 メモリは、リファインメント・パス及びクリーンアップ
・パスのための正しいパスを示すため状態を収容する。
状態は、三つの状態(有意プロパゲーション、クリーン
アップ及びリファインメント)を識別するため、1係数
毎に2ビットである。
【0095】有意プロパゲーション・パス中に、状態
は、16個の全ての係数に関して並列に、有意係数の場
合にはリファインメントに設定され、非有意係数の場合
にはクリーンアップに設定される。16個の係数に関す
る処理が継続すると共に、有意プロパゲーション・パス
に存在する係数の状態は、クリーンアップから有意プロ
パゲーションへ変更される。状態は、1係数毎に1ビッ
トであり、この1ビットをパスビットと呼ぶ。一実施例
において、有意状態及びパスビットは、正しいパスを決
定するため使用される。表6は、パスビットの用法を例
示する。係数1個について1ビットが使用されるので、
メモリ使用量は、ここで説明するラン・スキップカウン
ト法よりも減少する。
【0096】
【表6】 一実施例において、表6のリファインメント・パス内
は、4×4ブロックに対する処理のスタート時に全16
係数に関して並列に行なわれる。
【0097】2×4領域へのアクセスを与えるメモリ
は、係数毎に有意状態と、パスビットと、サインビット
とを備えた48ビット幅でもよい。
【0098】図12は、上記の表6を実現し、現在パス
に存在する各係数を検出するため優先度符号器を使用す
るパス決定ロジックの一実施例のブロック図である。図
12を参照するに、決定パスロジック1203は、6×
6領域に対する有意状態1201と、4×4領域に対す
るパスビット1202と、現在パスを示す現在パス信号
(又はその他の標識)1220と、を受け取る。パスビ
ット1202は、4×4領域内の係数毎の信号(すなわ
ち、16個の信号)を含む。これらの入力に応答して、
決定パスロジック1203は、4×4領域に対するパス
を指定するため出力を生成する。その際に、4×4領域
における各係数に対し、決定パスロジック1203は、
有意プロパゲーション・パス内の有意プロパゲーション
・パスビットを示す信号1204、リファインメント・
パス内の係数に対するリファインメント・パスビットを
示す信号1205、又は、クリーンアップ・パス内の係
数に対するクリーンアップ・パスを示す信号1206を
アサートする。
【0099】選択ロジック1207は、現在パス信号1
220に応答し、標識1204〜1206のうちの一つ
をマスクロジック1208へ出力する。一実施例におい
て、選択ロジック1207は、16×3:1マルチプレ
クサ(MUX)を含む。マスクロジック1208は、カ
ウント信号12010に応答して信号を生成し、カウン
ト信号は、現在処理されている係数を指定する。マスク
1208の出力は、優先度符号器1209へ供給され、
優先度符号器1209は、その信号を制御ロジック12
12へ出力する。マスクロジック1208及び優先度符
号器1209は、図7に示された同じ名前のロジック及
び符号器と同じように動作する。制御ロジック1212
は、入力に応答して、符号若しくはアイドル状態標識を
信号ライン1213に生成し、カウント信号1210を
生成する。
【0100】次のパスビットロジック1211は、優先
度符号器1209からの(現在処理中の位置を示す)出
力と、現在パス信号1220と、MQ符号器からの新し
い有意状態1221と、リファインメント・パス信号1
205と、を受け取る。リファインメント・パス信号1
205は、先行の係数が有意であるかどうかを示すこと
により、有意状態情報を表現する。現在パス信号122
0と、新しい有意状態1221は、全体として、処理が
クリーンアップ・パスで行なわれているかどうかを示
す。この入力に応答して、次のパスロジック1211
は、次のパスビットを生成し、この次のパスビットは、
表6における符号0のケースと符号1のケースを区別す
るために出力として使用される。次のパスビットは、メ
モリに保持され、次に、パスビット1202として使用
される。
【0101】次に、図12におけるロジックの動作を疑
似コードで説明する。このような機能は、MQ符号器2
9081−Nに組み込まれる。有意状態及びパスビット
は、1回目のクリーンアップ・パスを処理する前にクリ
アされる。
【0102】 count=0 if significance propagation pass then set next pass bit to "1" for all coefficients in refinement pass while (count<16) if significance propagation pass then in_pass=coefficients in significance propagation pass else if refinement pass then in_pass=coefficients in refinement pass else in_pass=coefficients in cleanup pass mask=(1<<count)-1 in_pass_masked=in_pass AND (NOT mask) use priority encoder to find next coefficients in pass, N if next coefficient found code coeff N if significance propagation pass then next pass bit=NOT next significance state else next pass bit=pass bit count=N+1 else count=16 idle for coeff N next pass bit=pass bit /* 。
【0103】上記コードにおいて、変数in_passは、
3:1多重化関数の出力である。変数maskは、マスクを
表現し、変数in_pass_maskedは、マスクを適用した結果
を表現する。変数Nは、パス中の次の係数を表現し、優
先度符号器の出力である。変数Nが検出されると、符号
体系の制御機能がその後に続く。
【0104】上述のコードcode coeff Nは、係数が現在
パスに存在するときに、係数を符号化することを意味す
る。コードidle for coeff Nは、ランを処理中に実行さ
れる。
【0105】〔2重コンテキスト生成〕コンテキスト
は、屡々、最後に符号化されたビットに依存し、復号化
の際にMQ符号器とコンテキストモデルの間に時間的に
重大なフィードバックループを生じさせる。このコンテ
キストモデル遅延を単純な多重化のための時間まで短縮
するため、コンテキストモデルは、復号化中の現在ビッ
トが0であるときのための一方のコンテキストと、復号
化中の現在ビットが1であるときのためのもう一方のコ
ンテキストの二つのコンテキストを生成することができ
る。ビットが既知である場合、コンテキストの選択が行
なわれる。
【0106】図13は、2重コンテキスト生成ロジック
の一実施例のブロック図である。図13を参照するに、
コンテキストモデルは、コンテキスト0、イネーブル
0、コンテキスト1、及びイネーブル1を生成する。コ
ンテキストモデルは、2個のコンテキスト0及び1を生
成し、両方のコンテキストがマルチプレクサ(MUX)
1302へ送られる。マルチプレクサ1302は、信号
を受信するよう接続され、コンテキストが有効であるか
どうかを示すコンテキスト標識と、ビットを符号化すべ
きであるかどうかを示すイネーブル標識を生成する。こ
れらの出力は、MQ符号器1303の入力へ供給され、
MQ符号器はビットを生成する。MQ符号器1303か
らの出力ビットは、MQ符号器1303へ出力されるべ
きコンテキストを選択するためマルチプレクサ1302
によって使用される。かくして、コンテキストモデル
は、現在ビットが0として復号化されたときのコンテキ
ストと、現在ビットが1として符号化されたときの別の
コンテキストの2個のコンテキストを生成し、MQ符号
器1303のための出力ビットは、正しい方のコンテキ
ストを選択する。
【0107】クリーンアップ・パス用のランレングス符
号化に対し、表7は、ケース毎に、二つの起こり得る次
のコンテキストを示し、JPEG 2000標準に記載されたク
リーンアップ・パスのフローに従う。ランレングスコン
テキストで符号化されたビットの値は、次のコンテキス
トが次の4係数のグループ用であるか、現在の4係数の
グループ用の均一のコンテキストであるかを判定するた
め使用される。このビットが0である場合、1回の判定
で4係数を表現する際に後に続き、後のサイクルのため
MQ符号器をアイドル状態にさせるランレングス符号化
は、速度性能に重大な悪影響を与えない。2番目の均一
コンテキスト(ユニフォームB)で符号化されたビット
の後は、JPEG 2000標準において、(XORビット0に
よって)コンテキスト9で常に直接的に符号化されるサ
インビットである。ここで、XORビットが0であると
き、サインは反転されないことを意味する。
【0108】
【表7】 表7中のA及びBは、JPEG 2000標準のセクションD
3.4に「均一なコンテキストと共に返される次の2ビ
ット(the next two bits, returned with the UNIFORM
context)」のようにに記載された2個のビットを表わ
す。
【0109】有意プロパゲーション及びクリーンアップ
符号化パスの場合に、ランレングス符号化を用いない例
が表8に示されている。大きさビットは符号化される
が、コンテキストは、現在の係数が0であると仮定して
次の係数の大きさに対して生成され、或いは、現在の係
数に対してサインビットコンテキストが生成される。
【0110】
【表8】 リファインメント・パスの場合、先に符号化されたリフ
ァインメント係数はコンテキストに影響を与えない。
【0111】〔MQ符号器〕 レートコンテキストを伴うMQ復号器データフロー 図14Bは、典型的な復号化実現例のブロック図であ
る。図14Bにおいて、コンテキストモデル1430
は、メモリ1431にコンテキストを供給し、メモリで
確率状態が決定される。確率状態は、ロジック1432
を用いて、算術符号器1433のためのQe値に変換さ
れ、算術符号器1433は、内部A&Cレジスタを更新
し、判定結果(MPS又はLPS)を決定する。これら
は、全て、典型的に次のコンテキストが決定できる前に
行なわれる。殆どのハードウェア実現例の場合、復号化
速度は、(コンテキストモデル1431へフィードバッ
クする)大きいフィードバックループによって制限され
る。
【0112】これに対し、図14Aは、初期コンテキス
トMQ復号器の一実施例のブロック図である。本例の場
合、フィードバックループは、復号化動作全体の代わり
に、非常に簡単なロジック1407を具備する。したが
って、殆どの復号及び更新は、下位フィードバックルー
プ1401を用いて並列的に行なわれ得る。
【0113】図14Aを参照するに、符号ストリーム1
400が入力され、内部状態1401を更新する。一実
施例において、内部状態のA及びCレジスタは、JPEG 2
000標準の付録Cに記載されているように、現在インタ
ーバルを指定する。レジスタAは現在インターバルを指
定し、符号レジスタCは、ChighアンドClowレジスタの
連結である。
【0114】コンテキスト1402は、コンテキストモ
デル1410によって与えられる。コンテキスト140
2は、メモリ1403の確率状態1404を調べるため
使用され、確率状態は、ロジック1405によって確率
クラス(Qe値)1406に変換される。Qe値140
6は、低確率シンボル(LPS)の現在推定値を表現す
る。Qe値1406は、ロジック1407を用いて、出
力判定結果1408を生成するため、MQ符号器の内部
状態のJPEG 2000標準の図C−15に記載されているA
レジスタ値及びCレジスタ値と比較される。出力判定結
果は、より確率が高い高確率シンボル(MPS)若しく
はLPSである。出力判定結果1408は、コンテキス
トモデル1410へ入力される。一実施例において、Q
e値及び内部状態に関する演算は、16ビット演算を必
要とする。これらのブロックの演算は、JPEG 2000標準
のセクションC.3.2に記載されているような判定結
果の復号化を実施する。
【0115】図15は、後期コンテキストMQ復号器の
一実施例のブロック図である。図15では、16ビット
処理がコンテキストモデルフィードバックループから除
去されている。符号ストリーム1601は、更新ロジッ
ク1503への入力として受信され、更新ロジックは、
内部状態を更新し、現在インターバルを指定するAレジ
スタ及びCレジスタを含む。新しいAレジスタ値及びC
レジスタ値、並びに、符号ストリームは、ロジック15
04へ入力され、ロジック1504は、以下で説明する
ような二つのpクラス(pclass)、すなわち、pクラス1
509及びpクラス1510を生成する。二つのpクラ
スは比較ロジック1511及び1512へ入力される。
【0116】コンテキストモデル1520は、コンテキ
スト1502を生成する。コンテキスト1502は、メ
モリ1505の確率状態1506を調べるため使用され
る。一実施例において、メモリ1505は、ルックアッ
プテーブルを含む。確率状態1506を確認することに
よって、Qe値を決定できるようになる。メモリ150
5から出力された確率状態1506は、ロジック150
7によって、確率クラス(インデックス)1508へ変
換される。
【0117】比較ロジック1511は、pクラス150
9が確率クラスインデックス1508よりも大きいかど
うかを判定し、比較ロジック1512は、確率クラスイ
ンデックス1508がpクラス1510よりも大きいか
どうかを判定するため比較を行なう。両方の比較ロジッ
ク1511及び1512の結果は、両方の比較結果が真
である場合に、判定結果が出力されるように、ANDゲ
ート1513へ入力される。この判定結果は、MPS若
しくはLPSである。かくして、コンテキスト1502
は、(JPEG 2000では、Qe値に対し32個の値を取り
得るので)5ビット確率クラスインデックス1508へ
変換される。内部状態は、二つの5ビット確率クラスイ
ンデックスを生成するため使用される。コンテキストに
対応したインデックスが状態から生成された二つのイン
デックスの外側にあるとき、判定結果はMPSであり、
さもなければ、判定結果はLPSである(すなわち、二
つのインデックスの内側にある)。
【0118】図15の実施例の重要な利点は、内部状態
更新が、図14Bに示されるように逐次的ではなく、次
の確率クラス(インデックス)1508の生成と並行し
て行なわれることである。また、二つの確率クラスは、
5ビットだけがpクラスインデックスと比較されるの
で、演算は非常に簡単化される。
【0119】図15のロジック1504は、図16Aに
示される情報を作成する。Aレジスタ及びBレジスタに
値が与えられると、ロジック1504は、pクラスに対
する二つの分割点が何であるかを決定し、次に、符号が
分割点の間にあるか、又は、外側にあるかを判定する。
これは,並列に行なってもよい。
【0120】図16Aは、確率クラスインデックスの比
較がどのように行なわれるかを示す図である。図16A
において、pクラス0は、殆どのインターバルがMPS
へ向けられる非常に歪んだケースである。pクラス1か
らpクラス4に対し、この歪みは小さくなり、MPSイ
ンターバルは縮小する。pクラス5は、MPSに50%
付近の確率に対して生じる条件付き交換を与える。既知
状態は、一部の確率クラスに対してMPSであり、他の
確率クラスに対してLPSである符号ストリーム値(符
号)を有する。確率クラスは順序付けられているので、
符号がMPSであるか、LPSであるかを判定するため
には、2回の比較だけで十分である。すなわち、図16
Aにおいて、符号のロケーションが既知状態で与えられ
た場合、判定結果は、pクラス0〜3に対してMPSで
あり、pクラス4に対しては常にLPSであり、pクラ
ス5に対してもMPSである。各確率クラスに対しMP
Sであるか、LPSであるかを見つけるのではなく、
(pクラス3とpクラス4の間のブレークポイント、及
び、pクラス4とpクラス5の間のブレークポイント
の)二つのブレークポイントだけを判定すればよい。し
たがって、QE値が与えられたとき(確率クラス/イン
デックスが既知であるとき)、ブレークポイントが存在
する空間に実際に現れる確率クラスが何であるかが決定
される。
【0121】ハードウェアにおける同様の方法は、起こ
り得るQe値毎にMPSかLPSかを判定し、次に、そ
の結果を多重化するために使用される。たとえば、図1
6Bには、多数の入力を有するマルチプレクサ1610
が示され、各入力はpクラスと関連づけられ、符号に応
じて、MPS若しくはLPSのいずれかを出力として生
ずる。
【0122】〔MQ符号器による多重ビット復号化〕多
数のMPSは、正規化を必要とするMPSが存在しない
限り、又は、最後のMPSだけが正規化を必要とする限
り、(同じPクラスを継続して使用するため)同時に復
号化可能である。図17は、多重MPS復号化のための
インターバルを示す。標準的に、AレジスタとCレジス
タによって指定されたインターバルに対する符号ストリ
ームの場所と、Qe値との差が2以上であるならば、多
数のMPSを符号化することが可能である。インターバ
ルサイズがQe値によって分割され、復号器が同じコン
テキストに留まる場合、すなわち、同じ確率クラスに留
まる場合、多数のMPSを同時に復号化することが可能
である。たとえば、符号ストリームを調べ、処理される
のが16ビットであることがわかったとき、Aレジスタ
とCレジスタによって指定されたインターバル内の符号
ストリームの場所は、Qe値の倍数だけ離間し、同じコ
ンテキスト、つまり、同じ確率クラスが多数のサイクル
のデータを処理するために使用される予定であることを
示し、多数のMPSが同時に復号化される。つまり、 {(AレジスタとBレジスタによって指定されたインタ
ーバル)−(符号ストリームの場所)}/Qe が判定され、この値よりも大きい最小の整数に丸められ
たとき、その結果は、同時に復号化されるMPSの個数
を表わす。この計算は周知のハードウェアによって実行
される。
【0123】〔5,3フィルタの典型的な実現形態〕一
実施例において。可逆及び不可逆5,3ウェーブレット
フィルタが使用される。ここで、5,3は、ウェーブレ
ットフィルタ内のタップ数、すなわち、カーネルの基底
関数サポートにおける非零(連続)値の数である。可逆
とは、順変換と逆変換を実行すると、入力と厳密に同じ
数が出力で得られることを意味する。入力精度に関して
適度で予測可能な精度の増加が中間数学的項のため要求
される。すなわち、数学的精度によって規則歪みは導入
されない。不可逆とは、数学的歪みの無いこと(正確な
再生)を保証するために、非常に高い精度が要求される
ことを意味する。しかし、実際上、不可逆フィルタは、
殆どの場合に、規則的数学精度歪みを圧倒する歪みを生
ずる量子化と組み合わされる。
【0124】図24には、順変換フィルタの一実施例が
示されている。図24によると、高域通過(ハイパス)
フィルタ2402は、ラインバッファ2401からライ
ンx 及び最終xを受け取り、低域通過(ローパ
ス)フィルタ2404の一つの入力へ供給され、ライン
バッファ2403に保持される出力を生成する。ライン
バッファ2401及び2403は、タイル幅を有する1
本のラインを保持する。ローパスフィルタ2404は、
ハイパスフィルタ2402の前のサイクルの出力、すな
わち、ラインバッファ2403からの出力を、現在のx
ラインと共に受け取り、出力を生成する。過去の2ク
ロックサイクルに対するローパスフィルタ2404の出
力は、遅延器2405及び2406によって遅延され、
1サイクル前のフィルタ出力と、2サイクル前のフィル
タ出力を与える。
【0125】ハイパスフィルタ2402の過去の出力
は、遅延器2407及び2408によって遅延され、ハ
イパスフィルタ2402の現在出力と、ハイパスフィル
タ2402の最後の2個の出力が、ハイパスフィルタ2
413へ供給される。ハイパスフィルタ2413の出力
は、HHサブバンドにおける係数であり、ハイパスフィ
ルタ2402の2サイクル前の過去の出力、すなわち、
遅延器2408からの出力、及び、ハイパスフィルタ2
413の前の出力と共に、ローパスフィルタ2415へ
供給される。ローパスフィルタ2415の出力はHLサ
ブバンドからの出力である。
【0126】ローパスフィルタ2404の出力は、遅延
器2405及び2406の出力と共に、ハイパスフィル
タ2409へ供給される。ハイパスフィルタ2409の
出力はLHサブバンドである。
【0127】ハイパスフィルタ2409の出力は、遅延
器2406の出力、及び、遅延器2410によって遅延
されたハイパスフィルタ2409の前の出力と共に、ロ
ーパスフィルタ2411の入力へ供給される。ローパス
フィルタ2411の出力はLLサブバンドである。ロー
パスフィルタ2411の出力であるLLサブバンドがラ
インバッファ2412へ供給されるとき、ラインバッフ
ァ2412の出力は、ローパスフィルタ2411の出力
と共に、ウェーブレット変換の次のレベルへの入力を表
わす。ウェーブレット変換の次のレベルは、図24に示
されたウェーブレット変換を縦続接続したものである。
【0128】図25Aは、ここで説明される変換(たと
えば、上述の5,3変換)で使用されるようなローパス
フィルタの一実施例の説明図である。ローパスフィルタ
は、 −x+2x−x に従う関数に基づいて出力を生成するよう設計される。
可逆変換の場合、ローパスフィルタは、次式
【0129】
【数1】 に従って動作する。
【0130】図25Aを参照すると、加算器2501
は、最後のxラインを現在のxラインと加算する。
最下位ビット出力は、図25Bのハイパスフィルタの出
力を表わし、不可逆変換のため使用される。残りのビッ
トは、減算器2502へ供給され、最上位ビットを表現
する出力を生成するためx入力から減算される。これ
らの最上位ビットは、すべて可逆変換の場合に必要であ
る。逆ウェーブレット変換の場合、図25Aのフィルタ
を、逆変換で奇数(ハイパス)フィルタとして使用する
ための逆ウェーブレットフィルタに切り替えるため、減
算器2502は加算器で置換される。このような一例
は、図25Bのハイパスフィルタに示されている。
【0131】図26Aは、ここで説明する変換に使用さ
れるハイパスフィルタの一実施例の説明図である。不可
逆変換の場合、ハイパスフィルタは、以下の式、 4x−x−x に従って動作する。
【0132】可逆変換の場合、ハイパスフィルタは、次
式、
【0133】
【数2】 に従って動作する。
【0134】図26Aを参照すると、加算器2601
は、最後のxラインの可逆側又は不可逆側のいずれか
を現在のxラインに加算する。加算器2601の出力
は、加算器2603を用いて丸め項に加算される。丸め
項は、可逆側の場合には2であり、不可逆側の場合には
0であり、マルチプレクサ2602によって供給され
る。加算器2603の下位2ビットを除く出力は、加算
器2604を用いて、xラインに加算され、可逆側出
力を生ずる。加算器2603の出力の下位2ビット、及
び、加算器2604の出力は、不可逆側出力を表わす。
【0135】マルチプレクサ2602を用いることによ
って、可逆側と不可逆側を切り替えるために、両方の機
能のための完全に別個のハードウェアを必要とすること
なく、或いは、可逆側丸めが不可逆側出力に影響を与え
ることを要することなく、簡単な切り替えを実現できる
ようになる。
【0136】逆ウェーブレット変換の場合に、図26A
のフィルタを、逆変換中の偶数(ローパスフィルタ)と
して使用するための逆ウェーブレットフィルタに切り替
えるため、加算器2604は減算器で置換される。この
ような一例は、図26Bのローパスフィルタに示されて
いる。
【0137】図27は、図24における変換の代替的な
実施例を示す図であり、イメージ境界でミラーイメージ
処理を実行するためのマルチプレクサを含む。マルチプ
レクサは、マルチプレクサ2701から2712により
構成される。たとえば、マルチプレクサ2701は、バ
ッファ2401にラインが存在しないとき(たとえば、
タイルの一番上)、境界において最後のxラインの代
わりにxラインを使用する。マルチプレクサ2702
は、タイルの一番下に到達したときに入力されるべき更
なるxラインが存在しない場合、ラインバッファが他
の入力をローパスフィルタ2404へ供給できるように
する。同様に、マルチプレクサ2703は、バッファ2
403にラインが存在しない場合、ハイパスフィルタ2
402の出力がローパスフィルタ2402への入力とし
て利用できるようにさせる。マルチプレクサ2704
は、ハイパスフィルタ2402からの出力が無い場合、
ローパスフィルタ2404への入力を、ラインバッファ
2403から供給できるようにする。マルチプレクサ2
705及び2706は、ローパスフィルタ2404への
出力及び遅延器2406からの出力が利用できないと
き、ハイパスフィルタ2409への入力に、それぞれ、
遅延器2406の出力、及び、ローパスフィルタ240
4の出力を供給できるようにする。マルチプレクサ27
09及び2701と、マルチプレクサ2707及び27
08と、マルチプレクサ2711及び2712について
も、マルチプレクサ2705及び2706と同様のこと
が成り立つ。
【0138】図28は、逆5,3変換の一実施例のブロ
ック図である。図28を参照するに、偶数フィルタ28
15は、LL係数、HL係数、及び、遅延器28801
からの前のサイクルのHL係数を、受け取るように接続
されている。偶数フィルタ2815の出力は、偶数フィ
ルタ2811の一入力と、遅延器2802の一入力と、
奇数フィルタ2803の一入力とへ接続される。奇数フ
ィルタ2803の別の入力には、遅延器2801を介し
て前のサイクルのHL係数が供給され、遅延器2802
を介して、偶数フィルタ2815の前のサイクルの出力
が供給される。奇数フィルタ2803の出力は偶数フィ
ルタ2810の一入力へ接続される。
【0139】フィルタ2805は、現在のHH係数及び
LH係数と、遅延器2804からの前のサイクルにおけ
るHH係数とを受け取るように接続されているので、上
記の構成と同じような構成がLH係数及びHH係数に関
しても存在する。偶数フィルタ2805の出力は、偶数
フィルタ2811の一入力と、遅延器2806の入力
と、奇数フィルタ2807の一入力とへ接続される。奇
数フィルタ2807の別の入力には、前のサイクルのH
L係数(すなわち、遅延器2804の出力)と、偶数フ
ィルタ2805の前のサイクルの出力(すなわち、遅延
器2806の出力)と、が供給される。奇数フィルタ2
807の出力は偶数フィルタ2810の一入力へ接続さ
れる。
【0140】偶数フィルタ2805の出力及び奇数フィ
ルタ2807の出力は、それぞれ、ラインバッファ28
08及びラインバッファ2809へ供給され、保持され
ることに注意する必要がある。ラインバッファ2808
及び2809のサイズは、タイル幅の1/2に一致す
る。ラインバッファ2808の出力は、偶数フィルタ2
811の別の入力と、奇数フィルタ2815の一つの入
力とに接続される。ラインバッファ2808の出力は、
偶数フィルタ2810の一つの入力と、奇数フィルタ2
814の一つの入力とに接続される。
【0141】偶数フィルタ2810の出力は、出力され
る画像データの”C”部分であり、ラインバッファ28
12に保持され、奇数フィルタ2814の入力に供給さ
れる。一実施例において、ラインバッファ2812のサ
イズは、タイル幅の1/4に一致する。この入力に応答
して、奇数フィルタ2814は、画像データの”A”部
分に対応するデータを生成する。
【0142】偶数フィルタ2811の出力は、画像デー
タの”D”部分に対応し、奇数フィルタ2815の一つ
の入力へ供給され、ラインバッファ2813に保持され
る。一実施例において、ラインバッファ2813のサイ
ズは、タイル幅の1/4である。ラインバッファ281
3の出力は奇数フィルタ2815の別の入力へ接続され
る。奇数フィルタ2815の出力は、画像データの”
B”部分に対応する。
【0143】〔その他の並列方式実施技術〕 符号ブロックの並列用符号器への割り付け ハードウェアの実施例の場合、同じタイル内で並列に多
数の符号ブロックを符号化することが有効である。図2
1は、多数のMQ符号器を含む符号器の一実施例のメモ
リ使用量説明図である。各MQ符号器は、関連したコン
テキストモデルを具備し、多数の符号ブロックを処理す
るため使用される。
【0144】図21を参照すると、各MQ符号器は、メ
モリ(たとえば、別々のメモリ、単一若しくは多数のメ
モリの一部)が割り付けられる。一実施例において、割
り付けられたメモリのある部分は、符号化データを保持
し、長さ、零ビットプレーン、及び、符号化パスはメモ
リの別の部分に保持される。
【0145】図18〜20には、128×128タイ
ル、64×64符号ブロック、及び、夫々の変換レベル
に関する符号ブロックの並列ユニットへの割当が示され
ている。割当は、並列符号器毎に実行される符号化の量
が均衡するに行なわれる。一実施例において、符号ブロ
ックの割当は、各MQ符号器が、できるだけ可能な範囲
で、上位レベル係数と下位レベル係数の間で均衡を保ち
ながら略同数の係数を符号化するように、行なわれる。
これ以外の構成も実現可能である。
【0146】図18A、B及びCには、それぞれ、4
台、6台及び8台のMQ符号器が並列に使用された場合
の4:4:4データに関する符号ブロックの割当の実施
例が示されている。図18Cにおいて、8個のユニット
が並列である場合、並列ユニット”H”(1HHクロミ
ナンスサブバンド)に割り当てられた符号ブロックは、
屡々、重く量子化されるので(符号化すべき非零ビット
プレーンが殆ど存在しないので)、このユニットは、単
位時間当たりに処理できる係数の数が他のユニットより
も多くなる可能性が高い。
【0147】図19A、B及びCには、それぞれ、4
台、6台及び8台のMQ符号器が並列に使用された場合
の4:2:2データに関する符号ブロックの割当の実施
例が示されている。
【0148】図20A、B及びCには、それぞれ、4
台、6台及び8台のMQ符号器が並列に使用された場合
の4:1:1データに関する符号ブロックの割当の実施
例が示されている。図20Cにおいて、8個のユニット
が並列である場合、ユニットC、D及びEが単位時間当
たりに処理できる係数の数は、他のユニットよりも多く
なることが予想される。
【0149】図29の符号器は、上述の符号化を実行す
るため使用される。たとえば、ビットモデリングMQ符
号器29081−NのN台のMQ符号器のうちの各符号
器は、図18乃至20に示されたA〜Hのいずれかに割
り当てられる。
【0150】図18乃至20に関して、偶数台のMQ符
号器が並列にされているが、並列にされるMQ符号器の
台数は奇数台でも構わない。
【0151】係数をハードウェアに格納するためのメモ
リ節約 無損失の復号化ではないときに、係数を保持するメモリ
使用量を削減するために、零ビットプレーン変換を利用
することが可能である。ハードウェアが係数毎にN個の
ビットプレーンを保持できる場合、復号化は、N個のビ
ットプレーンが復号化された後に終了する。後続のビッ
トプレーンは量子化(丸め処理)を行なうことが可能で
ある。
【0152】図22Aは、符号化中に、係数毎に、メモ
リの有限個のビットプレーンを使用する例が示されてい
る。たとえば、メモリの8個のビットプレーン(N=
8)は、標準的な表現形式で、係数を16ビットによっ
て符号化するため使用され得る。これらの係数は、(L
Lサブバンド係数は量子化されない)LLサブバンド以
外のサブバンドの一部であり、ウェーブレット変換を画
像データに適用した結果として生成される。一実施例に
おいて、ウェーブレット変換は、5,3ウェーブレット
変換を含む。ウェーブレット変換は、LLサブバンド、
HHサブバンド、LHサブバンド及びHLサブバンドを
並列に生成するため、並行動作する多数の5,3ウェー
ブレット変換により構成しても構わない。ウェーブレッ
ト変換からの係数を保持するメモリは、係数ビットに基
づく符号化を実行するため、コンテキストモデルによっ
てアクセスされる。
【0153】符号化中に、係数は、零ビットプレーンの
数が基地になる前に保存される。カウンタは、上位のビ
ットプレーン8〜15に対する初期零の数をカウントす
る。ビットプレーン8〜15が全て零である限り、メモ
リは、対応したビットプレーン0〜7に対する情報(大
きさ)を保持する。ビットプレーン8〜15に1が出現
した場合、対応したカウンタは停止し、メモリは対応し
たビットプレーン8〜15の情報を保持する。符号ブロ
ックの符号化の最後に、カウンタがビットプレーン8〜
15に対し全て零を指定し、対応したビットプレーン0
〜7は、カウンタがメモリの最後に値を格納した場合に
メモリに収容するか、又は、カウンタはメモリ内のビッ
トプレーン8〜15に対する開始アドレスを指定し、対
応したビットプレーン0〜7を丸め処理(量子化)する
必要がある。かくして、カウントは、サイドバンド情報
として作用し、行の始まりからカウントによって指定さ
れた行内の位置までメモリアレイに保持された情報が必
要の無いデータになったことを示す。
【0154】メモリの別々のビットプレーンはサイン情
報を保持するため使用されるか、又は、サイン情報は有
意状態と共に保持される。
【0155】他の実施例において、小量のメモリが、カ
ウンタの代わりに、可変長(VL)符号情報(たとえ
ば、ランレングス符号)のため使用される。これによ
り、少数の”1”ビットを含むビットプレーンを、ビッ
トプレーン毎にメモリの一部分に格納することが可能に
なる。ビットをメモリに格納した後、コンテキストモデ
ルは,ビットを取得するためメモリにアクセスする。し
かし、各行は、潜在的に、量子化されるべきデータを含
んでいるので、コンテキストモデルによってアクセスさ
れ、使用される必要が無い。図22Bは、メモリへのア
クセスを制御するための制御ロジックの一実施例のブロ
ック図である。このロジックは、メモリをアクセスする
コンテキストモデルと協働して、或いは、コンテキスト
モデルの一部として動作する。
【0156】図22Bを参照するに、アドレスaddr
は、ビットを生成するメモリアレイ2201にアクセス
する。アドレス、及び、アドレスを収容したメモリの行
と関連したカウンタ値は、比較ロジック2210へ供給
される。比較ロジック2210において、アドレスが行
に対するカウンタ値以上であると判定された場合、メモ
リアレイ2201からの1ビット出力が生成され、そう
でなければ、零が出力される。
【0157】図23は、VL符号からのメモリの一部分
と、係数を格納するメモリアレイとを示す図である。V
L符号は、行内で次の”1”が現れるまでスキップする
ビット数を示すことによって1ビットの有無を指定する
ため使用される。かくして、このVL符号は、アクセス
ロジックが次のビットプレーンの場所を知ることができ
るように2個のカウントを指定するため作成される。他
のVL符号は、3個以上のカウントを与えるため使用さ
れる。VL符号を使用することによって、典型的に、満
杯よりも一つ少ないメモリのビットプレーンを使用でき
るようになる。小容量メモリのサイズが(1ビットプレ
ーン当たり)符号ブロックのサイズの1/32であるな
らば、R2[8]符号又はR2[7]符号を使用しても
よい。R2[8]、R2[6]、及びR2[7]符号の
詳細な情報は、本願の譲受人に譲受された、米国特許第
5,381,145号、発明の名称"Method and Apparatus for P
arallel Decoding and Encoding of Data"、1995年1月1
0日発行に記載されている。
【0158】変換及びコンテキストモデル/MQ符号器
の並列動作が望ましいビデオの場合、2個のメモリバン
クが必要になる。静止画像アプリケーションの場合、変
換及びコンテキストモデル/MQ符号器の逐次的動作の
ために1個のメモリバンクで十分である。
【0159】上記のメモリ節約技術は行に関して説明さ
れているが、たとえば、列、ブロック、ページ、領域な
どの任意のメモリ領域を使用することができる。或い
は、別個のメモリを使用してもよい。
【0160】パケットヘッダ処理 たとえば、JPEG 2000符号ストリーム(又は、ビットス
トリーム)のような符号ストリームを作成するため、パ
ケットヘッダが作成される。一実施例において、この情
報は、任意の個数の符号ブロックを取り扱うためタグ木
構造を伴う。ある種の状況では、制限された個数の符号
ブロックを備えたタイル用のタイルヘッダが作成され
る。たとえば、タイルが、4個の128×128サブバ
ンドを含み、各サブバンドが64×64符号ブロックに
分割される場合、一体として符号化される符号ブロック
の個数は4個である。パケットヘッダは、特定の符号ブ
ロックに対するデータが存在するかどうか、データが存
在する場合の零ビットプレーンの個数、符号化データの
長さ、及び、データに含まれる符号化用パスの個数を指
定する。
【0161】以下の表9は、2×2符号ブロック及び1
レイヤを含むパケット用のパケット構造の一実施例を示
す。表9を参照するに、タグ木構造は、2レベルの深さ
しかない。記号”z”は、最高レベルの零ビットプレー
ンのタグ木構造情報の場所を示し、記号”_”で示され
た場所は、残りの零ビットプレーン、符号化用パス及び
長さ情報の置かれる場所を示す。
【0162】
【表9】 表中、*は、0又は10又は110000を表わす。
【0163】一実施例において、符号110000は、実現例
の便宜上、符号ブロックが包含されない場合に使用され
る。
【0164】制限された数の符号ブロック及び単一レイ
ヤを備えたタイル用のパケットヘッダを書き込む手続の
一実施例は、以下のような初期化:サブバンド毎に、零
ビットプレーン最小値MZPに最大値を設定から始ま
る。
【0165】一実施例において、MZPの最大値は、1
5ビットプレーンまでの場合、0xFであり、31ビット
プレーンまでの場合、0x1Fである。使用される値が大き
くなると共に、実施例で取り扱い得るビットプレーンの
数が増加する。
【0166】次に、パケット内で各符号ブロックの係数
を符号化するとき、 Save included or not bit(包含又は包含されないビッ
トを保存) Save number of zero bitplanes(零ビットプレーンの
個数を保存) If zero bitplanes less than MZP then MZP = zero bi
tplanee(零ビットプレーンがMZP未満であるなら
ば、MZP=零ビットプレーン) Save number of coding passes(符号化用パスの個数を
保存) Save Length(長さを保存) を実行する。
【0167】Save included or not bitは、(量子化後
の)全ての係数が零である場合に、セットされ、符号ブ
ロックが包含されないことを指定する。最終的に、タイ
ル若しくはサブバンドの情報が処理された後、パケット
ヘッダは以下のように記述される。
【0168】 write "1" for each subband write "1" first_flag = 1 for each code-block if not included then write "0" else write "1" if first_flag then write MZP in tag tree format first_flag = 0 write zero bitplanes ? MZP in tag tree format write coding passes determine minimum Lblock value write Lblock write length ここで、Lblockは、JPEG 2000標準のセクションB.10.7.
1に規定されている。
【0169】パケットヘッダは、少なくとも1バイトで
あり、JPEG 2000準拠式復号器は、書き込まれた情報を
認識できることに注意する必要がある。
【0170】多数のレイヤが存在する場合、MZP変数
の初期化は、1レイヤのバイト同様に行なわれる。各符
号ブロックの符号化中に、包含又は非包含の指標、符号
化用パスの個数、及び、長さがレイヤ毎に保存される。
さらに、以下の初期化処理が好ましい。
【0171】first_flag = 1 initialize Lblock for each code-block initialize already included for each code-block to
false 一実施例において、Lblockは3へ初期化される。"alrea
dy included"が真であるとき、一部の先行レイヤがデー
タを符号化したことを意味する(すなわち、符号ブロッ
クが過去に出現している)。
【0172】レイヤ毎にパケットを書き込むため、以下
の手続が使用される。
【0173】 write "1" for each subband if layer 0 then write "1" for each code-block if not included then write "0" else write "1" if code-block not already included then if first_flag then write MZP in tag tree format first_flag = 0 write zero bitplanes ? MZP in tag tree format set already included write coding passes determine minimum Lblock value write Lblock write length "already included"情報は、各符号ブロックに対し別個
のビットでも構わない。或いは、零ビットプレーンの使
用されない値を"already included"を指定するため使用
してもよい。たとえば、14個のビットプレーンが存在
する場合、零ビットプレーンを15(0xF)にセットする
ことによって、"already included"を示すことが可能で
ある。
【0174】”0”パケットを使用しない圧縮符号化デ
ータ JPEG 2000の場合、パケットヘッダはバイト単位に丸め
られる。一部のケースでは、しかし、パケットヘッダ
は、唯一の零ビット、若しくは、パケットヘッダをバイ
ト境界に収容するために必要なビット数よりも少ない多
数のビットを格納する。パケットヘッダは、一般的に、
パッディングによってバイトに丸められる。また、パケ
ットヘッダ表現形式は、固有ではなく、典型的には、で
きるだけ短い表現形式の使用が望まれるが、一実施例で
は、使用される過剰ビットがパッディングによって埋め
られるであろうビット場所の代わりをするならば、考え
られる最短の形式ではない表現形式が使用される。これ
は、過剰ビットで符号化された情報がタイルコンポーネ
ントレベル分割における次のパケットに関する情報を示
す場合に、特に有効である。
【0175】たとえば、単一のサブバンドが存在し、2
×2ブロックが包含される場合、零パケットを出力す
る。しかし、同じ空間量で、パケットに何かが存在し、
タグ木構造の一番上のレベルには何も包含されていな
い、ということを示すために零を出力してもよい。或い
は、タグ木構造に何かが存在し、それが0000である
(すなわち、4箇所に個別には何も存在しない)ことを
示すことも可能である。かくして、これらの過剰ビット
は、より多くのタグ木構造情報を与えるため使用され
る。このタグ木構造情報は、後でパケットヘッダに出現
し、必ず繰り上げられるであろう情報である。ビットを
先行のパケットヘッダへ繰り上げることにより、符号ス
トリーム全体のサイズを1バイトずつ(或いは、それ以
上)縮小することが可能である。
【0176】以上の説明から、本発明の多数の代替及び
変更が当業者に明らかになるであろう。しかし、例示の
ために解説され、図示された具体的な実施例は、本発明
を制限することを意図していないことに注意する必要が
ある。したがって、多数の実施例の詳細の説明は、本発
明に不可欠であると考えられる事項だけが記載された請
求項に挙げられた事項の範囲を制限することを意図した
ものではない。
【図面の簡単な説明】
【図1】JPEG2000復号化体系のブロック図である。
【図2A】係数毎にサブビットプレーンパスが識別さ
れ、各符号化パスのための処理の順序を示すラベルが付
けられた係数の8×8符号ブロックの一例を示す図であ
る。
【図2B】可変長ラン・スキップカウント用メモリの説
明図である。
【図3】(A)〜(D)は、コンテキストモデルの一実
施例に対する近傍係数とメモリ構成を示す図である。
【図4】16×16符号ブロックのランダムアクセス用
の有意メモリ構成の一実施例の説明図である。
【図5】ランダムアクセス用の有意プロパゲーション・
パスに使用されるメモリ及びレジスタを示す図である。
【図6】メモリからランダムアクセス用レジスタに格納
された有意状態を示す図である。
【図7】有意プロパゲーション・パスロジックの一実施
例のブロック図である。
【図8】4×4ブロック上のコンテキストモデルの一実
施例の性能の一例を示す図である。
【図9】16×16符号ブロックのシーケンシャルアク
セス用有意メモリの構成の一実施例の説明図である。
【図10】有意プロパゲーション・パスのため使用され
るメモリ及びレジスタの一実施例の説明図である。
【図11】コンテキストモデル動作用の適切な領域を与
えるためのメモリ及びレジスタの使用法の説明図であ
る。
【図12】パス決定ロジックの一実施例のブロック図で
ある。
【図13】2重コンテキスト生成ロジックの一実施例の
ブロック図である。
【図14A】初期コンテキスト型MQ符号器の一実施例
のブロック図である。
【図14B】典型的な復号化実現方式の一実施例の説明
図である。
【図15】後期コンテキスト型MQ符号器の一実施例の
ブロック図である。
【図16A】確率クラスインデックスの比較の動作状態
の説明図である。
【図16B】各Qe値に対するMPS又はLPSを決定
するマルチプレクサのブロック図である。
【図17】多重MPS復号化のためのインターバルの説
明図である。
【図18】4:4:4データに対する並列的な符号ブロ
ックの割当の一実施例の説明図である。
【図19】4:2:2データに対する並列的な符号ブロ
ックの割当の一実施例の説明図である。
【図20】4:1:1データに対する並列的な符号ブロ
ックの割当の他の一実施例の説明図である。
【図21】個々に関連性コンテキストモデルを有する多
数のMQ符号器を含む符号器の一実施例のメモリの構成
図である。
【図22A】符号化中に各係数に対し制限された数のメ
モリのビットプレーンを使用する例の説明図である。
【図22B】メモリへのアクセスを制御するための制御
ロジックの一実施例のブロック図である。
【図23】カウンタの代わりに、可変長(VL)符号情
報用の小容量のメモリを使用する例の説明図である。
【図24】順変換の一実施例のブロック図である。
【図25A】ローパスフィルタの一実施例のブロック図
である。
【図25B】ハイパスフィルタの一実施例のブロック図
である。
【図26A】ハイパスフィルタの一実施例のブロック図
である。
【図26B】ローパスフィルタの一実施例のブロック図
である。
【図27】順変換の他の一実施例のブロック図である。
【図28】逆変換の一実施例のブロック図である。
【図29】符号器/復号器の一実施例のブロック図であ
る。
【図30】ランカウント及びスキップカウントの両方を
有する16ビット語の一例の説明図である。
【図31】符号化パスを決定する有意状態ビットの典型
的な8×8領域の説明図である。
【図32】パスロジックを決定する一実施例の構成図で
ある。
【符号の説明】
2901 画像データインタフェース 2902 DCレベルシフタ 2903 ウェーブレット変換器 2905 スカラー量子化/逆量子化器 2906 プリコーダ 2907 パケットヘッダ処理器 2908 ビットモデリングMQ符号器 2911 符号メモリ A,B ワークメモリ
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成14年5月8日(2002.5.8)
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正内容】
【特許請求の範囲】
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0082
【補正方法】変更
【補正内容】
【0082】 count = 0 while (count < 16) mask = (1 << count)-1 refinement_masked = refinement | mask use priority encoder to find next non-refinement bit cleanup_mask = clean_up | mask use priority encoder to fine next non-cleanup bit if current bit is in significance propagation pass process coefficient as significance propagation count = count + 1 else if current bit in refinement pass N = "next non-refinement bit" − count process N bits as refinement pass count = count + N else N = "next non-cleanup bit" − count process N bits as cleanup pass count = count + N /* 。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0153
【補正方法】変更
【補正内容】
【0153】符号化中に、係数は、零ビットプレーンの
数が既知になる前に保存される。カウンタは、上位のビ
ットプレーン8〜15に対する初期零の数をカウントす
る。ビットプレーン8〜15が全て零である限り、メモ
リは、対応したビットプレーン0〜7に対する情報(大
きさ)を保持する。ビットプレーン8〜15に1が出現
した場合、対応したカウンタは停止し、メモリは対応し
たビットプレーン8〜15の情報を保持する。符号ブロ
ックの符号化の最後に、カウンタがビットプレーン8〜
15に対し全て零を指定し、対応したビットプレーン0
〜7は、カウンタがメモリの最後に値を格納した場合に
メモリに収容するか、又は、カウンタはメモリ内のビッ
トプレーン8〜15に対する開始アドレスを指定し、対
応したビットプレーン0〜7を丸め処理(量子化)する
必要がある。かくして、カウントは、サイドバンド情報
として作用し、行の始まりからカウントによって指定さ
れた行内の位置までメモリアレイに保持された情報が必
要の無いデータになったことを示す。
【手続補正4】
【補正対象書類名】明細書
【補正対象項目名】0168
【補正方法】変更
【補正内容】
【0168】 write "1" for each subband write "1" first_flag = 1 for each code-block if not included then write "0" else write "1" if first_flag then write MZP in tag tree format first_flag = 0 write zero bitplanes − MZP in tag tree format write coding passes determine minimum Lblock value write Lblock write length ここで、Lblockは、JPEG 2000標準のセクションB.10.7.
1に規定されている。
【手続補正5】
【補正対象書類名】明細書
【補正対象項目名】0173
【補正方法】変更
【補正内容】
【0173】 write "1" for each subband if layer 0 then write "1" for each code-block if not included then write "0" else write "1" if code-block not already included then if first_flag then write MZP in tag tree format first_flag = 0 write zero bitplanes − MZP in tag tree format set already included write coding passes determine minimum Lblock value write Lblock write length "already included"情報は、各符号ブロックに対し別個
のビットでも構わない。或いは、零ビットプレーンの使
用されない値を"already included"を指定するため使用
してもよい。たとえば、14個のビットプレーンが存在
する場合、零ビットプレーンを15(0xF)にセットする
ことによって、"already included"を示すことが可能で
ある。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 佐藤 豊 アメリカ合衆国,カリフォルニア 94025, メンロ・パーク,サンド・ヒル・ロード 2882番,スイート 115 リコーイノベー ション内 Fターム(参考) 5C059 MA00 MA24 MA35 MC11 ME01 ME05 ME06 RB02 RB17 UA02 UA05 UA12 UA14 5C078 AA04 BA53 CA01 DA01 DA02 DA11 DA12 5J064 AA01 BA08 BA09 BA16 BB13 BC01 BC08 BC16 BC23 BC29 BD02 BD03 BD06

Claims (106)

    【特許請求の範囲】
  1. 【請求項1】 係数のグループに関して有意プロパゲー
    ション・パスを実行する手順と、 後続のパスで処理されるべき係数のグループ内での係数
    の場所を示すデータ構造を作成する手順と、 リファインメント・サブビットプレーン・パスを実行す
    る手順と、を有し、 リファインメント・サブビットプレーン・パスは、 リファインメント・サブビットプレーン・パスの処理の
    際にはスキップされるべき係数を識別する情報を獲得す
    るためデータ構造にアクセスする手順と、 リファインメント・パスに含まれるとして識別された係
    数だけにアクセスするため、獲得された情報を用いて、
    係数のグループを保持するメモリにアクセスする手順
    と、 メモリから取得したリファインメント・ビットを符号化
    する手順と、によって実行される、方法。
  2. 【請求項2】 複数のリファインメント・ビットが取得
    され、非リファインメント・ビットは無視される、請求
    項1記載の方法。
  3. 【請求項3】 係数のグループは符号ブロックを構成す
    る、請求項1記載の方法。
  4. 【請求項4】 上記データ構造を作成する手順は、係数
    のグループに対しリファインメント・サブビットプレー
    ン・パスの係数の場所を記述するデータ構造を作成する
    ことにより、少なくとも一つのデータ構造を作成する、
    請求項1記載の方法。
  5. 【請求項5】 有意プロパゲーション・パス中に、第1
    のデータ構造はリファインメント・ビットのため作成さ
    れ、第2のデータ構造はクリーンアップ・ビットのため
    作成される、請求項4記載の方法。
  6. 【請求項6】 データ構造は、リファインメント・ビッ
    トの各ランの標識と、リファインメント・ビットの次の
    ランの前に係数のグループ内でスキップすべき係数の個
    数と、を含む、請求項4記載の方法。
  7. 【請求項7】 リファインメント・ビットの各ランの標
    識とスキップすべき係数の個数のうちの少なくとも一方
    は、 カウント1は符号語000、 カウント2は符号語001、 カウント3は符号語010、 カウント4は符号語011、 カウント5は符号語1000000000000、 カウント6は符号語1000000000001、以下同様に、 カウント4096は符号語1111111111011のような可変長符
    号で表現される、請求項6記載の方法。
  8. 【請求項8】 リファインメント・ビットの各ランの標
    識とスキップすべき係数の個数のうちの少なくとも一方
    は、 カウント1は符号語0、 カウント2は符号語01、 カウント3は符号語1100、 カウント4は符号語1101_0、 カウント5は符号語1101_1、 カウント6は符号語1110_0000、 カウント7は符号語1110_0001、同様に、 カウント21は符号語1110_1111、 カウント22は符号語1111_0000_0000_0000、 カウント23は符号語1111_0000_0000_0001、以下同様
    に、カウント4096は符号語1111_1111_1110_1010のよう
    な可変長符号で表現される、請求項6記載の方法。
  9. 【請求項9】 リファインメント・ビットの各ランの標
    識とスキップすべき係数の個数のうちの少なくとも一方
    は、 カウント1は、γフォーマットの符号語0とγフォーマ
    ットの符号語0、 カウント2は、γフォーマットの符号語10_0とγフォ
    ーマットの符号語100、 カウント3は、γフォーマットの符号語10_1とγフォ
    ーマットの符号語110、 カウント4は、γフォーマットの符号語110_00とγフ
    ォーマットの符号語10100、 カウント5は、γフォーマットの符号語110_01とγフ
    ォーマットの符号語10110、 カウント6は、γフォーマットの符号語110_10とγフ
    ォーマットの符号語11100、 カウント7は、γフォーマットの符号語110_11とγフ
    ォーマットの符号語11110、 カウント8は、γフォーマットの符号語1110_000とγ
    フォーマットの符号語1010100、 カウント9は、γフォーマットの符号語1110_001とγ
    フォーマットの符号語1010110、以下同様に、 カウント15は、γフォーマットの符号語1110_111とγ
    フォーマットの符号語1111110、 カウント16は、γフォーマットの符号語11110_0000と
    γフォーマットの符号語101010100、 カウント32は、γフォーマットの符号語111110_00000
    とγフォーマットの符号語10101010100、 カウント64は、γフォーマットの符号語111110_00000
    0とγフォーマットの符号語1010101010100、 カウント128は、γフォーマットの符号語11111110_00
    00000とγフォーマットの符号語101010101010100、 カウント256は、γフォーマットの符号語111111110_0
    0000000とγフォーマットの符号語10101010101010100、 カウント512は、γフォーマットの符号語1111111110_
    000000000とγフォーマットの符号語10101010101010101
    00、 カウント1024は、γフォーマットの符号語1111111111
    0_000000000とγフォーマットの符号語101010101010101
    010100、 カウント2048は、γフォーマットの符号語1111111111
    10_0000000000とγフォーマットの符号語1010101010101
    0101010100、 カウント4096は、γフォーマットの符号語1111111111
    110_00000000000とγフォーマットの符号語10101010101
    01010101010100、のようなガンマ符号で表現される、請
    求項6記載の方法。
  10. 【請求項10】 リファインメント・ビットの各ランの
    標識は整数として保持される、請求項1記載の方法。
  11. 【請求項11】 整数は最小限のサイズの整数で表わさ
    れる、請求項10記載の方法。
  12. 【請求項12】 スキップすべき係数の個数は整数とし
    て保持される、請求項1記載の方法。
  13. 【請求項13】 整数は最小限のサイズの整数で表わさ
    れる、請求項12記載の方法。
  14. 【請求項14】リファインメント・ビットの各ランの標
    識、及び、スキップすべき係数の個数は整数として保持
    される、請求項1記載の方法。
  15. 【請求項15】 整数は最小限のサイズの整数で表わさ
    れる、請求項14記載の方法。
  16. 【請求項16】 係数のグループに関して有意プロパゲ
    ーション・パスを実行する手段と、 後続のパスで処理されるべき係数のグループ内での係数
    の場所を示すデータ構造を作成する手段と、 リファインメント・サブビットプレーン・パスを実行す
    る手段と、 を有し、 リファインメント・サブビットプレーン・パスは、 リファインメント・サブビットプレーン・パスの処理の
    際にはスキップされるべき係数を識別する情報を獲得す
    るためデータ構造にアクセスする手段と、 リファインメント・パスに含まれるとして識別された係
    数だけにアクセスするため、獲得された情報を用いて、
    係数のグループを保持するメモリにアクセスする手段
    と、 メモリから取得したリファインメント・ビットを符号化
    する手段と、によって実行される、装置。
  17. 【請求項17】 複数のリファインメント・ビットが取
    得され、非リファインメント・ビットは無視される、請
    求項16記載の装置。
  18. 【請求項18】 係数のグループは符号ブロックを構成
    する、請求項16記載の装置。
  19. 【請求項19】 上記データ構造を作成する手段は、係
    数のグループに対しリファインメント・サブビットプレ
    ーン・パスの係数の場所を記述するデータ構造を作成す
    ることにより、少なくとも一つのデータ構造を作成する
    手段を有する、請求項16記載の装置。
  20. 【請求項20】 有意プロパゲーション・パス中に、第
    1のデータ構造はリファインメント・ビットのため作成
    され、第2のデータ構造はクリーンアップ・ビットのた
    め作成される、請求項19記載の装置。
  21. 【請求項21】 データ構造は、リファインメント・ビ
    ットの各ランの標識と、リファインメント・ビットの次
    のランの前に係数のグループ内でスキップすべき係数の
    個数と、を含む、請求項19記載の装置。
  22. 【請求項22】 リファインメント・ビットの各ランの
    標識とスキップすべき係数の個数のうちの少なくとも一
    方は、 カウント1は符号語000、 カウント2は符号語001、 カウント3は符号語010、 カウント4は符号語011、 カウント5は符号語1000000000000、 カウント6は符号語1000000000001、以下同様に、 カウント4096は符号語1111111111011のような可変長符
    号で表現される、請求項21記載の装置。
  23. 【請求項23】 リファインメント・ビットの各ランの
    標識とスキップすべき係数の個数のうちの少なくとも一
    方は、 カウント1は符号語0、 カウント2は符号語01、 カウント3は符号語1100、 カウント4は符号語1101_0、 カウント5は符号語1101_1、 カウント6は符号語1110_0000、 カウント7は符号語1110_0001、同様に、 カウント21は符号語1110_1111、 カウント22は符号語1111_0000_0000_0000、 カウント23は符号語1111_0000_0000_0001、以下同様
    に、 カウント4096は符号語1111_1111_1110_1010 のような可変長符号で表現される、請求項21記載の装
    置。
  24. 【請求項24】 リファインメント・ビットの各ランの
    標識とスキップすべき係数の個数のうちの少なくとも一
    方は、 カウント1は、γフォーマットの符号語0とγフォーマ
    ットの符号語0、 カウント2は、γフォーマットの符号語10_0とγフォ
    ーマットの符号語100、 カウント3は、γフォーマットの符号語10_1とγフォ
    ーマットの符号語110、 カウント4は、γフォーマットの符号語110_00とγフ
    ォーマットの符号語10100、 カウント5は、γフォーマットの符号語110_01とγフ
    ォーマットの符号語10110、 カウント6は、γフォーマットの符号語110_10とγフ
    ォーマットの符号語11100、 カウント7は、γフォーマットの符号語110_11とγフ
    ォーマットの符号語11110、 カウント8は、γフォーマットの符号語1110_000とγ
    フォーマットの符号語1010100、 カウント9は、γフォーマットの符号語1110_001とγ
    フォーマットの符号語1010110、以下同様に、 カウント15は、γフォーマットの符号語1110_111とγ
    フォーマットの符号語1111110、 カウント16は、γフォーマットの符号語11110_0000と
    γフォーマットの符号語101010100、 カウント32は、γフォーマットの符号語111110_00000
    とγフォーマットの符号語10101010100、 カウント64は、γフォーマットの符号語111110_00000
    0とγフォーマットの符号語1010101010100、 カウント128は、γフォーマットの符号語11111110_00
    00000とγフォーマットの符号語101010101010100、 カウント256は、γフォーマットの符号語111111110_0
    0000000とγフォーマットの符号語10101010101010100、 カウント512は、γフォーマットの符号語1111111110_
    000000000とγフォーマットの符号語10101010101010101
    00、 カウント1024は、γフォーマットの符号語1111111111
    0_000000000とγフォーマットの符号語101010101010101
    010100、 カウント2048は、γフォーマットの符号語1111111111
    10_0000000000とγフォーマットの符号語1010101010101
    0101010100、 カウント4096は、γフォーマットの符号語1111111111
    110_00000000000とγフォーマットの符号語10101010101
    01010101010100、のようなガンマ符号で表現される、請
    求項21記載の装置。
  25. 【請求項25】 係数のグループに関して有意プロパゲ
    ーション・パスを実行する機能と、 後続のパスで処理されるべき係数のグループ内での係数
    の場所を示すデータ構造を作成する機能と、 リファインメント・サブビットプレーン・パスの処理の
    際にはスキップされるべき係数を識別する情報を獲得す
    るためデータ構造にアクセスし、リファインメント・パ
    スに含まれるとして識別された係数だけにアクセスする
    ため、獲得された情報を用いて、係数のグループを保持
    するメモリにアクセスし、メモリから取得したリファイ
    ンメント・ビットを符号化することによって、リファイ
    ンメント・サブビットプレーン・パスを実行する機能
    と、をコンピュータに実現させるためのプログラム。
  26. 【請求項26】 係数のグループに関して有意プロパゲ
    ーション・パスを実行する手順と、 後続のパスで処理されるべき係数のグループ内での係数
    の場所を示すデータ構造を作成する手順と、 クリーンアップ・サブビットプレーン・パスを実行する
    手順と、を有し、 クリーンアップ・サブビットプレーン・パスは、 クリーンアップ・サブビットプレーン・パスの処理の際
    にはスキップされるべき係数を識別する情報を獲得する
    ためデータ構造にアクセスする手順と、 クリーンアップ・パスに含まれるとして識別された係数
    だけにアクセスするため、獲得された情報を用いて、係
    数のグループを保持するメモリにアクセスする手順と、 メモリから取得したクリーンアップ・ビットを符号化す
    る手順と、によって実行される、方法。
  27. 【請求項27】 複数のクリーンアップ・ビットが取得
    され、非クリーンアップ・ビットは無視される、請求項
    26記載の方法。
  28. 【請求項28】 係数のグループは符号ブロックを構成
    する、請求項26記載の方法。
  29. 【請求項29】 上記データ構造を作成する手順は、係
    数のグループに対しクリーンアップ・サブビットプレー
    ン・パスの係数の場所を記述するデータ構造を作成する
    ことにより、少なくとも一つのデータ構造を作成する、
    請求項26記載の方法。
  30. 【請求項30】 データ構造は、クリーンアップ・ビッ
    トの各ランの標識と、クリーンアップ・ビットの次のラ
    ンの前に係数のグループ内でスキップすべき係数の個数
    と、を含む、請求項29記載の方法。
  31. 【請求項31】 クリーンアップ・ビットの各ランの標
    識とスキップすべき係数の個数のうちの少なくとも一方
    は、 カウント1は符号語000、 カウント2は符号語001、 カウント3は符号語010、 カウント4は符号語011、 カウント5は符号語1000000000000、 カウント6は符号語1000000000001、以下同様に、 カウント4096は符号語1111111111011のような可変長符
    号で表現される、請求項30記載の方法。
  32. 【請求項32】 クリーンアップ・ビットの各ランの標
    識とスキップすべき係数の個数のうちの少なくとも一方
    は、 カウント1は符号語0、 カウント2は符号語01、 カウント3は符号語1100、 カウント4は符号語1101_0、 カウント5は符号語1101_1、 カウント6は符号語1110_0000、 カウント7は符号語1110_0001、同様に、 カウント21は符号語1110_1111、 カウント22は符号語1111_0000_0000_0000、 カウント23は符号語1111_0000_0000_0001、以下同様
    に、 カウント4096は符号語1111_1111_1110_1010のような可
    変長符号で表現される、請求項30記載の方法。
  33. 【請求項33】 クリーンアップ・ビットの各ランの標
    識とスキップすべき係数の個数のうちの少なくとも一方
    は、 カウント1は、γフォーマットの符号語0とγフォーマ
    ットの符号語0、 カウント2は、γフォーマットの符号語10_0とγフォ
    ーマットの符号語100、 カウント3は、γフォーマットの符号語10_1とγフォ
    ーマットの符号語110、 カウント4は、γフォーマットの符号語110_00とγフ
    ォーマットの符号語10100、 カウント5は、γフォーマットの符号語110_01とγフ
    ォーマットの符号語10110、 カウント6は、γフォーマットの符号語110_10とγフ
    ォーマットの符号語11100、 カウント7は、γフォーマットの符号語110_11とγフ
    ォーマットの符号語11110、 カウント8は、γフォーマットの符号語1110_000とγ
    フォーマットの符号語1010100、 カウント9は、γフォーマットの符号語1110_001とγ
    フォーマットの符号語1010110、以下同様に、 カウント15は、γフォーマットの符号語1110_111とγ
    フォーマットの符号語1111110、 カウント16は、γフォーマットの符号語11110_0000と
    γフォーマットの符号語101010100、 カウント32は、γフォーマットの符号語111110_00000
    とγフォーマットの符号語10101010100、 カウント64は、γフォーマットの符号語111110_00000
    0とγフォーマットの符号語1010101010100、 カウント128は、γフォーマットの符号語11111110_00
    00000とγフォーマットの符号語101010101010100、 カウント256は、γフォーマットの符号語111111110_0
    0000000とγフォーマットの符号語10101010101010100、 カウント512は、γフォーマットの符号語1111111110_
    000000000とγフォーマットの符号語10101010101010101
    00、 カウント1024は、γフォーマットの符号語1111111111
    0_000000000とγフォーマットの符号語101010101010101
    010100、 カウント2048は、γフォーマットの符号語1111111111
    10_0000000000とγフォーマットの符号語1010101010101
    0101010100、 カウント4096は、γフォーマットの符号語1111111111
    110_00000000000とγフォーマットの符号語10101010101
    01010101010100、のようなガンマ符号で表現される、請
    求項30記載の方法。
  34. 【請求項34】 クリーンアップ・ビットの各ランの標
    識は可変長符号で表現される、請求項30記載の方法。
  35. 【請求項35】 スキップすべき係数の個数は可変長符
    号で表現される、請求項30記載の方法。
  36. 【請求項36】 クリーンアップ・ビットの各ランの標
    識、及び、スキップすべき係数の個数は可変長符号で表
    現される、請求項30記載の方法。
  37. 【請求項37】 クリーンアップ・ビットの各ランの標
    識は整数として保持される、請求項30記載の方法。
  38. 【請求項38】 整数は最小限のサイズの整数で表わさ
    れる、請求項37記載の方法。
  39. 【請求項39】 スキップすべき係数の個数は整数とし
    て保持される、請求項30記載の方法。
  40. 【請求項40】 整数は最小限のサイズの整数で表わさ
    れる、請求項39記載の方法。
  41. 【請求項41】クリーンアップ・ビットの各ランの標
    識、及び、スキップすべき係数の個数は整数として保持
    される、請求項30記載の方法。
  42. 【請求項42】 整数は最小限のサイズの整数で表わさ
    れる、請求項41記載の方法。
  43. 【請求項43】 データ構造を作成する手順は、係数の
    グループに対するリファインメント・サブビットプレー
    ン・パスの係数の場所を記述する第1のデータ構造、及
    び、係数のグループに対するクリーンアップ・サブビッ
    トプレーン・パスにの係数の場所を記述する第2のデー
    タ構造を作成することにより、少なくとも一つのデータ
    構造を作成する、請求項26記載の方法。
  44. 【請求項44】 係数のグループは符号ブロックを構成
    する、請求項43記載の方法。
  45. 【請求項45】 係数のグループに関して有意プロパゲ
    ーション・パスを実行する手段と、 後続のパスで処理されるべき係数のグループ内での係数
    の場所を示すデータ構造を作成する手段と、 クリーンアップ・サブビットプレーン・パスを実行する
    手段と、を有し、 クリーンアップ・サブビットプレーン・パスは、 クリーンアップ・サブビットプレーン・パスの処理の際
    にはスキップされるべき係数を識別する情報を獲得する
    ためデータ構造にアクセスする手段と、 クリーンアップ・パスに含まれるとして識別された係数
    だけにアクセスするため、獲得された情報を用いて、係
    数のグループを保持するメモリにアクセスする手段と、 メモリから取得したクリーンアップ・ビットを符号化す
    る手段と、によって実行される、 装置。
  46. 【請求項46】 複数のクリーンアップ・ビットが取得
    され、非クリーンアップ・ビットは無視される、請求項
    45記載の装置。
  47. 【請求項47】 係数のグループは符号ブロックを構成
    する、請求項45記載の装置。
  48. 【請求項48】 上記データ構造を作成する手段は、係
    数のグループに対しクリーンアップ・サブビットプレー
    ン・パスの係数の場所を記述するデータ構造を作成する
    ことにより、少なくとも一つのデータ構造を作成する手
    段を有する、請求項45記載の装置。
  49. 【請求項49】 データ構造は、クリーンアップ・ビッ
    トの各ランの標識と、クリーンアップ・ビットの次のラ
    ンの前に係数のグループ内でスキップすべき係数の個数
    と、を含む、請求項48記載の装置。
  50. 【請求項50】 クリーンアップ・ビットの各ランの標
    識とスキップすべき係数の個数のうちの少なくとも一方
    は、 カウント1は符号語000、 カウント2は符号語001、 カウント3は符号語010、 カウント4は符号語011、 カウント5は符号語1000000000000、 カウント6は符号語1000000000001、以下同様に、 カウント4096は符号語1111111111011のような可変長符
    号で表現される、請求項49記載の装置。
  51. 【請求項51】 クリーンアップ・ビットの各ランの標
    識とスキップすべき係数の個数のうちの少なくとも一方
    は、 カウント1は符号語0、 カウント2は符号語01、 カウント3は符号語1100、 カウント4は符号語1101_0、 カウント5は符号語1101_1、 カウント6は符号語1110_0000、 カウント7は符号語1110_0001、同様に、 カウント21は符号語1110_1111、 カウント22は符号語1111_0000_0000_0000、 カウント23は符号語1111_0000_0000_0001、以下同様
    に、 カウント4096は符号語1111_1111_1110_1010のような可
    変長符号で表現される、請求項49記載の装置。
  52. 【請求項52】 クリーンアップ・ビットの各ランの標
    識とスキップすべき係数の個数のうちの少なくとも一方
    は、 カウント1は、γフォーマットの符号語0とγフォーマ
    ットの符号語0、 カウント2は、γフォーマットの符号語10_0とγフォ
    ーマットの符号語100、 カウント3は、γフォーマットの符号語10_1とγフォ
    ーマットの符号語110、 カウント4は、γフォーマットの符号語110_00とγフ
    ォーマットの符号語10100、 カウント5は、γフォーマットの符号語110_01とγフ
    ォーマットの符号語10110、 カウント6は、γフォーマットの符号語110_10とγフ
    ォーマットの符号語11100、 カウント7は、γフォーマットの符号語110_11とγフ
    ォーマットの符号語11110、 カウント8は、γフォーマットの符号語1110_000とγ
    フォーマットの符号語1010100、 カウント9は、γフォーマットの符号語1110_001とγ
    フォーマットの符号語1010110、以下同様に、 カウント15は、γフォーマットの符号語1110_111とγ
    フォーマットの符号語1111110、 カウント16は、γフォーマットの符号語11110_0000と
    γフォーマットの符号語101010100、 カウント32は、γフォーマットの符号語111110_00000
    とγフォーマットの符号語10101010100、 カウント64は、γフォーマットの符号語111110_00000
    0とγフォーマットの符号語1010101010100、 カウント128は、γフォーマットの符号語11111110_00
    00000とγフォーマットの符号語101010101010100、 カウント256は、γフォーマットの符号語111111110_0
    0000000とγフォーマットの符号語10101010101010100、 カウント512は、γフォーマットの符号語1111111110_
    000000000とγフォーマットの符号語10101010101010101
    00、 カウント1024は、γフォーマットの符号語1111111111
    0_000000000とγフォーマットの符号語101010101010101
    010100、 カウント2048は、γフォーマットの符号語1111111111
    10_0000000000とγフォーマットの符号語1010101010101
    0101010100、 カウント4096は、γフォーマットの符号語1111111111
    110_00000000000とγフォーマットの符号語10101010101
    01010101010100、のようなガンマ符号で表現される、請
    求項49記載の装置。
  53. 【請求項53】 クリーンアップ・ビットの各ランの標
    識は可変長符号で表現される、請求項49記載の方法。
  54. 【請求項54】 スキップすべき係数の個数は可変長符
    号で表現される、請求項49記載の方法。
  55. 【請求項55】 クリーンアップ・ビットの各ランの標
    識、及び、スキップすべき係数の個数は可変長符号で表
    現される、請求項49記載の方法。
  56. 【請求項56】 係数のグループに関して有意プロパゲ
    ーション・パスを実行する機能と、 後続のパスで処理されるべき係数のグループ内での係数
    の場所を示すデータ構造を作成する機能と、 クリーンアップ・サブビットプレーン・パスの処理の際
    にはスキップされるべき係数を識別する情報を獲得する
    ためデータ構造にアクセスし、クリーンアップ・パスに
    含まれるとして識別された係数だけにアクセスするた
    め、獲得された情報を用いて、係数のグループを保持す
    るメモリにアクセスし、メモリから取得したクリーンア
    ップ・ビットを符号化することによって、クリーンアッ
    プ・サブビットプレーン・パスを実行する機能と、をコ
    ンピュータに実現させるためのプログラム。
  57. 【請求項57】 リファインメント・ビットのランのサ
    イズを指定するリファインメント・ビットランカウン
    ト、リファインメント・ビットのランの間でスキップす
    べき係数の個数を指定するリファインメント・ビットス
    キップカウント、クリーンアップ・ビットのランのサイ
    ズを指定するクリーンアップ・ビットランカウント、及
    び、クリーンアップ・ビットのランの間でスキップすべ
    き係数の個数を指定するクリーンアップ・ビットスキッ
    プカウントを収容し、リファインメント・パス又はクリ
    ーンアップ・パスの間に処理されるべき係数のグループ
    内での係数の場所を指示する、少なくとも一つのデータ
    構造を、コンテキストモデルが読み出す手順と、 コンテキストモデルが、少なくとも一つのデータ構造内
    の情報に基づいてメモリにアクセスする手順と、を有す
    る方法。
  58. 【請求項58】 メモリと、メモリに接続されたコンテ
    キストモデルとを具備し、 コンテキストモデルは、リファインメント・ビットのラ
    ンのサイズを指定するリファインメント・ビットランカ
    ウント、リファインメント・ビットのランの間でスキッ
    プすべき係数の個数を指定するリファインメント・ビッ
    トスキップカウント、クリーンアップ・ビットのランの
    サイズを指定するクリーンアップ・ビットランカウン
    ト、及び、クリーンアップ・ビットのランの間でスキッ
    プすべき係数の個数を指定するクリーンアップ・ビット
    スキップカウントを収容し、リファインメント・パス又
    はクリーンアップ・パスの間に処理されるべき係数のグ
    ループ内での係数の場所を指示する、少なくとも一つの
    データ構造を読み出し、 コンテキストモデルは、少なくとも一つのデータ構造内
    の情報に基づいてメモリにアクセスする、復号器。
  59. 【請求項59】 リファインメント・サブビットプレー
    ン・パスの処理の際にはスキップされるべき係数を識別
    する情報を獲得するため、後続のパスで処理されるべき
    係数のグループ内での係数の場所を示すデータ構造にア
    クセスする手順と、 リファインメント・パスに含まれるとして識別された係
    数だけにアクセスするため、獲得された情報を用いて、
    係数のグループを保持するメモリにアクセスする手順
    と、 メモリから取得したリファインメント・ビットを符号化
    する手順と、を有する方法。
  60. 【請求項60】 上記データ構造を作成すると共に、有
    意プロパゲーション・パスの係数を符号化することによ
    り、有意プロパゲーション・パスを実行する手順を更に
    有する請求項59記載の方法。
  61. 【請求項61】 リファインメント・サブビットプレー
    ン・パスの処理の際にはスキップされるべき係数を識別
    する情報を獲得するため、後続のパスで処理されるべき
    係数のグループ内での係数の場所を示すデータ構造にア
    クセスする手段と、 リファインメント・パスに含まれるとして識別された係
    数だけにアクセスするため、獲得された情報を用いて、
    係数のグループを保持するメモリにアクセスする手段
    と、 メモリから取得したリファインメント・ビットを符号化
    する手段と、を有する装置。
  62. 【請求項62】 上記データ構造を作成すると共に、有
    意プロパゲーション・パスの係数を符号化する手段を含
    み、有意プロパゲーション・パスを実行する手段を更に
    有する請求項59記載の装置。
  63. 【請求項63】 クリーンアップ・サブビットプレーン
    ・パスの処理の際にはスキップされるべき係数を識別す
    る情報を獲得するため、後続のパスで処理されるべき係
    数のグループ内での係数の場所を示すデータ構造にアク
    セスする手順と、 クリーンアップ・パスに含まれるとして識別された係数
    だけにアクセスするため、獲得された情報を用いて、係
    数のグループを保持するメモリにアクセスする手順と、 メモリから取得したクリーンアップ・ビットを符号化す
    る手順と、を有する方法。
  64. 【請求項64】 上記データ構造を作成すると共に、有
    意プロパゲーション・パスの係数を符号化することによ
    り、有意プロパゲーション・パスを実行する手順を更に
    有する請求項63記載の方法。
  65. 【請求項65】 ランカウントを保持する第1の部分、
    スキップカウントを保持する第2の部分、及び、第1の
    部分と第2の部分を分離する第3の部分を有するメモリ
    と、 上記メモリに接続され、上記メモリから同時に獲得され
    たランカウント及びスキップカウントを復号化する復号
    器と、を具備した情報を復号化する装置。
  66. 【請求項66】 上記メモリの第3の部分は、上記第1
    の部分と上記第2の部分の間のメモリの使用されない部
    分を含む、請求項65記載の装置。
  67. 【請求項67】 上記メモリの使用されない部分は、上
    記第1の部分及び上記第2の部分に隣接している、請求
    項66記載の装置。
  68. 【請求項68】 有意プロパゲーション・パスを実行す
    る方法であって、 領域に対する有意状態情報に応じて、処理される情報が
    有意プロパゲーション・パス、リファインメント・パ
    ス、又は、クリーンアップ・パスに属するかどうかを判
    定する手順と、 領域内のサブ領域が、有意プロパゲーション・パス、リ
    ファインメント・パス、又は、クリーンアップ・パスの
    係数を有するかどうかを表わす信号をアサートする手順
    と、 リファインメント・パス及びクリーンアップ・パスに対
    するランカウント及びスキップカウントを識別すると共
    に、有意プロパゲーション・パスの係数のビットを符号
    化する手順と、 リファインメント・パスにあるものとして認定された係
    数のビット及びクリーンアップ・パスにあるものとして
    認定された係数のビットを処理する手順と、を有する方
    法。
  69. 【請求項69】 先行ビットが有意プロパゲーション・
    ビットであり、現在ビットが有意プロパゲーション・ビ
    ットではないとき、リファインメント・パス又はクリー
    ンアップ・パスのいずれかに対する新しいランを開始す
    る手順を更に有する請求項68記載の方法。
  70. 【請求項70】 ランカウント情報及びスキップカウン
    ト情報を保持するデータ構造内のテーブルへのインデッ
    クスを、新しいエントリーへ調節する手順と、 新しいエントリーを新しいランの開始を表わす状態へ初
    期化する手順と、を更に有する請求項69記載の方法。
  71. 【請求項71】 新しいエントリーを初期化する手順
    は、スキップ標識を零へ初期化し、ラン標識をある値へ
    初期化する、請求項70記載の方法。
  72. 【請求項72】 各サブ領域は4×4領域により構成さ
    れる、請求項68記載の方法。
  73. 【請求項73】 各サブ領域で有意係数の個数をカウン
    トする手順を更に有する請求項68記載の方法。
  74. 【請求項74】 カウントが各サブ領域のサイズと一致
    する場合、各サブ領域における全てのビットをリファイ
    ンメントとして処理する手順を更に有する、請求項68
    記載の方法。
  75. 【請求項75】 カウントが零と一致し、有意な近傍が
    存在しない場合、各サブ領域における全てのビットをク
    リーンアップとして処理する手順を更に有する、請求項
    68記載の方法。
  76. 【請求項76】 有意プロパゲーション・パスを実行す
    る装置であって、 領域に対する有意状態情報に応じて、処理される情報が
    有意プロパゲーション・パス、リファインメント・パ
    ス、又は、クリーンアップ・パスに属するかどうかを判
    定する手段と、 領域内のサブ領域が、有意プロパゲーション・パス、リ
    ファインメント・パス、又は、クリーンアップ・パスの
    係数を有するかどうかを表わす信号をアサートする手段
    と、 リファインメント・パス及びクリーンアップ・パスに対
    するランカウント及びスキップカウントを識別すると共
    に、有意プロパゲーション・パスの係数のビットを符号
    化する手段と、 リファインメント・パスにあるものとして認定された係
    数のビット及びクリーンアップ・パスにあるものとして
    認定された係数のビットを処理する手段と、を有する装
    置。
  77. 【請求項77】 先行ビットが有意プロパゲーション・
    ビットであり、現在ビットが有意プロパゲーション・ビ
    ットではないとき、リファインメント・パス又はクリー
    ンアップ・パスのいずれかに対する新しいランを開始す
    る手段を更に有する請求項76記載の装置。
  78. 【請求項78】 ランカウント情報及びスキップカウン
    ト情報を保持するデータ構造内のテーブルへのインデッ
    クスを、新しいエントリーへ調節する手段と、 新しいエントリーを新しいランの開始を表わす状態へ初
    期化する手段と、を更に有する請求項77記載の装置。
  79. 【請求項79】 新しいエントリーを初期化する手段
    は、スキップ標識を零へ初期化し、ラン標識をある値へ
    初期化する、請求項78記載の装置。
  80. 【請求項80】 各サブ領域は4×4領域により構成さ
    れる、請求項76記載の装置。
  81. 【請求項81】 各サブ領域で有意係数の個数をカウン
    トする手段を更に有する請求項76記載の装置。
  82. 【請求項82】 カウントが各サブ領域のサイズと一致
    する場合、各サブ領域における全てのビットをリファイ
    ンメントとして処理する手段を更に有する、請求項76
    記載の装置。
  83. 【請求項83】 カウントが零と一致し、有意な近傍が
    存在しない場合、各サブ領域における全てのビットをク
    リーンアップとして処理する手段を更に有する、請求項
    76記載の装置。
  84. 【請求項84】 有意プロパゲーション・パスを実行す
    る装置であって、 第1の所定のサイズの第1の領域に対する有意状態情報
    を受け取る入力、並びに、第2の所定のサイズの第2の
    領域における各係数と関連したパスが有意プロパゲーシ
    ョン・パスであるか、リファインメント・パスである
    か、又は、クリーンアップ・パスであるかを示す第1の
    出力標識の組を具備した決定パスユニットと、 出力標識に接続された入力、次の非リファインメント・
    ビット出力、次の非クリーンアップ・ビット出力、及
    び、現在のパス標識出力を具備した処理ユニットと、 処理ユニットからの出力へ接続され、上記処理ユニット
    からの出力に応じて、リファインメント・ビットデータ
    構造への次のインデックスの標識、リファインメント・
    ラン標識、リファインメント・スキップ標識、及び、有
    意プロパゲーション標識を生成する制御ユニットと、が
    設けられた装置。
  85. 【請求項85】 上記処理ユニットは、 第1の出力標識の組、及び、処理されている第2の領域
    の現在の係数を表わすカウントを受け取り、現在の係数
    に対する第2の出力標識の組を具備し、第2の出力標識
    の組のうちの一つの出力標識だけが現在の係数に対して
    アサートされている、選択ユニットと、 決定パスユニットからのリファインメント・パス標識及
    びクリーンアップ・パス標識とカウントを受け取り、既
    に処理された第2の領域における係数と関連したリファ
    インメント・パス標識及びクリーンアップ・パス標識の
    ビットをマスクすることにより、マスク型リファインメ
    ント・パス標識及びマスク型クリーンアップ・パス標識
    を表現する出力の対を有するマスクユニットと、 マスク型リファインメント・パス標識及びマスク型クリ
    ーンアップ・パス標識を受ける入力を具備し、有意プロ
    パゲーション・パスに対する次の非リファインメント・
    ビット位置及び次の非クリーンアップ・ビット位置を表
    現する出力の対を具備した優先度符号器と、を有する、
    請求項84記載の装置。
  86. 【請求項86】 制御ユニットは、処理ユニットからの
    出力に応答し、クリーンアップ・ビットデータ構造への
    次のインデックスの標識、クリーンアップ・ラン標識、
    及び、クリーンアップ・スキップ標識を生成する、請求
    項84記載の装置。
  87. 【請求項87】 現在のビットが有意プロパゲーション
    ・パスに属する場合、係数は有意プロパゲーション・パ
    スで処理される、請求項84記載の装置。
  88. 【請求項88】 現在のビットがリファインメント・パ
    スに属する場合、リファインメント・パスのランレング
    スであるKと一致するK個のビットがリファインメント
    ・パスで処理される、請求項84記載の装置。
  89. 【請求項89】 現在のビットがクリーンアップ・パス
    に属する場合、クリーンアップ・パスのランレングスで
    あるKと一致するK個のビットがクリーンアップ・パス
    で処理される、請求項86記載の装置。
  90. 【請求項90】 次の非リファインメント・ビットが現
    在の係数よりも時間的に後で処理されるべきとき、制御
    ユニットは、ランレングスと一致するリファインメント
    ・ラン標識を設定し、第2の領域での係数のスキップ
    は、現在の係数に基づいて行なわれるべきではない旨を
    指示するようにリファインメント・スキップ標識を設定
    する、請求項84記載の装置。
  91. 【請求項91】 制御ユニットは、符号ブロック内での
    リファインメント・ビットの場所を指示するランカウン
    ト及びスキップカウントを保持するデータ構造へのイン
    デックスを増加させるべき旨を指示するようにリファイ
    ンメントの次のインデックス標識を設定する、請求項9
    0記載の装置。
  92. 【請求項92】 次の非リファインメント・ビットが現
    在の係数よりも時間的に後で処理されるべきとき、制御
    ユニットは、ランレングスと一致するリファインメント
    ・ラン標識を設定し、第2の領域での係数のスキップ
    は、現在の係数に基づいて行なわれるべきではない旨を
    指示するようにリファインメント・スキップ標識を設定
    し、 さらに、制御ユニットは、符号ブロック内でのリファイ
    ンメント・ビットの場所を指示するランカウント及びス
    キップカウントを保持するデータ構造へのインデックス
    を増加させるべき旨を指示するようにリファインメント
    の次のインデックス標識を設定し、 さらに、制御ユニットは、クリーンアップ・ビットの現
    在のランが現れていない旨を指示するクリーンアップ・
    ラン標識を設定し、次の非リファインメント・ビット位
    置から第2の領域における現在係数の位置に等しい数を
    差し引いた値に一致するクリーンアップ・スキップ標識
    を設定する、請求項86記載の装置。
  93. 【請求項93】 制御ユニットは、符号ブロック内での
    クリーンアップ・ビットの場所を指示するランカウント
    及びスキップカウントを保持するデータ構造へのインデ
    ックスを変更するべきではない旨を指示するようにクリ
    ーンアップの次のインデックス標識を設定する、請求項
    92記載の装置。
  94. 【請求項94】 有意プロパゲーション・インデックス
    は、現在の係数が有意プロパゲーション・パスに属さな
    い旨を示すように設定される、請求項93記載の装置。
  95. 【請求項95】 次の非クリーンアップ・ビットが現在
    の係数よりも時間的に後で処理されるべきとき、制御ユ
    ニットは、ランレングスと一致するクリーンアップ・ラ
    ン標識を設定し、第2の領域での係数のスキップは、現
    在の係数に基づいて行なわれるべきではない旨を指示す
    るようにクリーンアップ・スキップ標識を設定する、請
    求項86記載の装置。
  96. 【請求項96】 制御ユニットは、符号ブロック内での
    クリーンアップ・ビットの場所を指示するランカウント
    及びスキップカウントを保持するデータ構造へのインデ
    ックスを増加させるべき旨を指示するようにクリーンア
    ップの次のインデックス標識を設定する、請求項95記
    載の装置。
  97. 【請求項97】 制御ユニットは、さらに、クリーンア
    ップ・ビットの現在のランが現れていない旨を指示する
    クリーンアップ・ラン標識を設定し、次の非リファイン
    メント・ビット位置から第2の領域における現在係数の
    位置に等しい数を差し引いた値に一致するクリーンアッ
    プ・スキップ標識を設定する、請求項96記載の装置。
  98. 【請求項98】 制御ユニットは、符号ブロック内での
    クリーンアップ・ビットの場所を指示するランカウント
    及びスキップカウントを保持するデータ構造へのインデ
    ックスを変化させるべきではない旨を指示するようにク
    リーンアップの次のインデックス標識を設定する、請求
    項97記載の装置。
  99. 【請求項99】 有意プロパゲーション・インデックス
    は、現在の係数が有意プロパゲーション・パスに属さな
    い旨を示すように設定される、請求項98記載の装置。
  100. 【請求項100】 決定パスユニットは、NとMが整数
    を表わすとき、処理される係数毎に1個ずつの所定の数
    のN×M領域を検査する、請求項84記載の装置。
  101. 【請求項101】 N×M領域は3×3領域により構成
    される、請求項100記載の装置。
  102. 【請求項102】 N×M領域の所定の数は16個であ
    る、請求項100記載の装置。
  103. 【請求項103】 第1の出力標識の組は、有意プロパ
    ゲーション・パス、リファインメント・パス、及び、ク
    リーンアップ・パスの出力標識を含み、有意プロパゲー
    ション・パス、リファインメント・パス、及び、クリー
    ンアップ・パスの各出力標識は、16ビット幅である、
    請求項86記載の装置。
  104. 【請求項104】 有意プロパゲーション・パス、リフ
    ァインメント・パス、及び、クリーンアップ・パスの各
    出力標識は、第2の領域の係数に対応した1ビットを有
    し、その中の唯一のビットだけが各サイクル中にアサー
    トされる、請求項86記載の装置。
  105. 【請求項105】 マスクユニットは、既に処理された
    係数に対応するリファインメント・パス及びクリーンア
    ップ・パスの各標識の信号ラインをマスクする、請求項
    86記載の装置。
  106. 【請求項106】 優先度符号器は零検出用優先度符号
    器を含む、請求項85記載の装置。
JP2002095109A 2001-03-30 2002-03-29 コンテキストモデルによるラン・スキップカウントに基づくメモリアクセス及びスキッピング Expired - Fee Related JP4061104B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US823733 1992-01-22
US09/823,733 US6961475B2 (en) 2001-03-30 2001-03-30 Context model access to memory based on run and skip counts and context model skipping

Publications (2)

Publication Number Publication Date
JP2003008445A true JP2003008445A (ja) 2003-01-10
JP4061104B2 JP4061104B2 (ja) 2008-03-12

Family

ID=25239576

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002095109A Expired - Fee Related JP4061104B2 (ja) 2001-03-30 2002-03-29 コンテキストモデルによるラン・スキップカウントに基づくメモリアクセス及びスキッピング

Country Status (3)

Country Link
US (1) US6961475B2 (ja)
EP (1) EP1250011A3 (ja)
JP (1) JP4061104B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7418143B2 (en) 2003-05-08 2008-08-26 Sony Corporation Encoding device and method, decoding device and method, and image information processing system and method
JP2019522448A (ja) * 2016-05-23 2019-08-08 カカドゥ アール アンド ディー ピーティーワイ リミテッド 画像を圧縮する方法および装置技術分野
GB2628620A (en) * 2023-03-30 2024-10-02 Sony Group Corp Data encoding and decoding

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002027087A1 (fr) * 2000-09-27 2002-04-04 Nippon Mayer Ltd. Dispositif jacquard pour metier a mailles jetees
DE10205546B4 (de) * 2002-02-11 2006-01-12 Nexpress Solutions Llc Verfahren zur Datenkomprimierung von Bildmaskendaten
EP1602240A2 (en) 2003-03-03 2005-12-07 Mobilygen Corporation Array arrangement for memory words and combination of video prediction data for an effective memory access
WO2005043919A1 (en) * 2003-10-30 2005-05-12 Nec Electronics Corporation Image decoding apparatus and image decoding method
US7577203B2 (en) * 2005-03-24 2009-08-18 Dell Products L.P. Minimizing non-deterministic noise by using wavelet transform
JP2008228208A (ja) 2007-03-15 2008-09-25 Ricoh Co Ltd 画像符号化方法、画像符号化装置、画像符号化回路、情報記録媒体、及び、コンピュータプログラム
CN101848388B (zh) * 2010-03-19 2012-01-04 西安电子科技大学 基于jpeg2000标准的算术编码码值归一化方法
RU2727936C2 (ru) * 2015-09-18 2020-07-27 Конинклейке Филипс Н.В. Способ и устройство для быстрого и эффективного сжатия и распаковки изображений
CN109005413B (zh) * 2018-07-18 2021-06-04 北京奇艺世纪科技有限公司 一种算术编码中的概率估计方法、装置及电子设备

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5363097A (en) * 1992-09-14 1994-11-08 Industrial Technology Research Institute Direct sequential-bit variable length decoder
US5794696A (en) * 1996-10-04 1998-08-18 National Center For Manufacturing Sciences Groundwater testing well
US6067595A (en) * 1997-09-23 2000-05-23 Icore Technologies, Inc. Method and apparatus for enabling high-performance intelligent I/O subsystems using multi-port memories
US6272180B1 (en) * 1997-11-21 2001-08-07 Sharp Laboratories Of America, Inc. Compression and decompression of reference frames in a video decoder
JP3247330B2 (ja) * 1997-12-25 2002-01-15 株式会社神戸製鋼所 複数プロセッサシステム
US6327392B1 (en) * 1999-01-28 2001-12-04 Sharp Laboratories Of America, Inc. Method of visual progressive coding

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7418143B2 (en) 2003-05-08 2008-08-26 Sony Corporation Encoding device and method, decoding device and method, and image information processing system and method
JP2019522448A (ja) * 2016-05-23 2019-08-08 カカドゥ アール アンド ディー ピーティーワイ リミテッド 画像を圧縮する方法および装置技術分野
JP7037554B2 (ja) 2016-05-23 2022-03-16 カカドゥ アール アンド ディー ピーティーワイ リミテッド 画像を圧縮する方法および装置
GB2628620A (en) * 2023-03-30 2024-10-02 Sony Group Corp Data encoding and decoding

Also Published As

Publication number Publication date
JP4061104B2 (ja) 2008-03-12
US20030068091A1 (en) 2003-04-10
EP1250011A3 (en) 2004-10-06
US6961475B2 (en) 2005-11-01
EP1250011A2 (en) 2002-10-16

Similar Documents

Publication Publication Date Title
US7397963B2 (en) Method and apparatus for storing bitplanes of coefficients in a reduced size memory
US7298912B2 (en) Method and apparatus for assigning codeblocks to coders operating in parallel
US6678422B1 (en) Method and apparatus for image data compression with low memory requirement
US7167589B2 (en) Disk read technique
US7302105B2 (en) Moving image coding apparatus, moving image decoding apparatus, and methods therefor
US6492916B1 (en) Method and apparatus for generating multiple selectable contexts
US7457473B2 (en) Method for block sequential processing
US7088869B2 (en) 5,3 wavelet filter having three high pair and low pair filter elements with two pairs of cascaded delays
JP2000197052A (ja) ウェ―ブレット符号化装置及び方法並びに復号装置及び方法
JPH08116265A (ja) 符号化方法、符号化/復号方法及び復号方法
JP2003008445A (ja) コンテキストモデルによるラン・スキップカウントに基づくメモリアクセス及びスキッピング
CN102857767A (zh) 高位深图像的压缩
US20110091123A1 (en) Coding apparatus and coding method
CN103716634A (zh) 使用误差平面编码的数据压缩方法及装置
Chiang et al. High-speed EBCOT with dual context-modeling coding architecture for JPEG2000
JP2003198851A (ja) ブロック終結符号を利用したjpegにおける信号方式適応量子化マトリックス
GB2325584A (en) Reversible embedded wavelet transform system implementation
US6859563B2 (en) Method and apparatus for decoding information using late contexts
Chiang et al. High efficiency EBCOT with parallel coding architecture for JPEG2000
Descampe et al. A flexible, line-based JPEG 2000 decoder for digital cinema
Hattori et al. A high-throughput pipelined architecture for JPEG XR encoding
EP1652146B1 (en) Implementation of the jpeg2000 compression algorithm in hardware
GB2302245A (en) Wavelet transform filter
US20110091119A1 (en) Coding apparatus and coding method
JP4194311B2 (ja) 動画像符号化装置及び動画像復号装置並びにそれらの方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20020508

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050203

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050203

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070522

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070723

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070918

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071119

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20071211

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071221

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101228

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101228

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111228

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111228

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121228

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131228

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees