JP6569949B2 - データ復号のための装置および方法 - Google Patents

データ復号のための装置および方法 Download PDF

Info

Publication number
JP6569949B2
JP6569949B2 JP2016056296A JP2016056296A JP6569949B2 JP 6569949 B2 JP6569949 B2 JP 6569949B2 JP 2016056296 A JP2016056296 A JP 2016056296A JP 2016056296 A JP2016056296 A JP 2016056296A JP 6569949 B2 JP6569949 B2 JP 6569949B2
Authority
JP
Japan
Prior art keywords
codeword
entropy encoding
run
data stream
lookup table
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016056296A
Other languages
English (en)
Other versions
JP2016178639A (ja
JP2016178639A5 (ja
Inventor
スー ドンペイ
スー ドンペイ
エー シュミット ケネス
エー シュミット ケネス
グェン ドー ティエン−フック
グェン ドー ティエン−フック
リー シェン
リー シェン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kyocera Document Solutions Inc
Original Assignee
Kyocera Document Solutions Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kyocera Document Solutions Inc filed Critical Kyocera Document Solutions Inc
Publication of JP2016178639A publication Critical patent/JP2016178639A/ja
Publication of JP2016178639A5 publication Critical patent/JP2016178639A5/ja
Application granted granted Critical
Publication of JP6569949B2 publication Critical patent/JP6569949B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/41Bandwidth or redundancy reduction
    • H04N1/411Bandwidth or redundancy reduction for the transmission or storage or reproduction of two-tone pictures, e.g. black and white pictures
    • H04N1/4115Bandwidth or redundancy reduction for the transmission or storage or reproduction of two-tone pictures, e.g. black and white pictures involving the recognition of specific patterns, e.g. by symbol matching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/40Picture signal circuits
    • 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/124Quantisation
    • 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/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0077Types of the still picture apparatus
    • H04N2201/0094Multifunctional device, i.e. a device capable of all of reading, reproducing, copying, facsimile transception, file transception

Description

本発明は、データ復号技術に関する。
近年、さまざまな種類の印刷デバイスが業務用および民生用の両方で普及してきている。従来の白黒のプリンタに加え、カラープリンタ、スキャナ、コピー機、ファックス機、およびその他の装置も今日では一般的である。これらの機能の2つ以上に対応している複合機(MFP)もまた広く普及している。他の機能のうち、これらの装置は画像データの処理に利用される。
画像データの処理には、例えば、圧縮および符号化操作、および/または解凍および復号操作を含めてもよい。画像処理技術の一例は、ジョイント・フォトグラフィック・エキスパート・グループ(JPEG)規格により定義される。一般に、画像データのJPEG符号化処理には、空間周波数変換、量子化、データシーケンシング(順序付け)、およびエントロピー符号化が含まれ、画像データのJPEG復号処理には、エントロピー復号のようなJPEG符号化処理の逆、逆データシーケンシング(順序付け)、逆量子化、および逆空間周波数変換が含まれる。
より効率的で、確実な、およびより速いデータ処理に役立てるため、従来の方法およびシステムの配置が改善されること、または少なくとも1以上の有益な代替を提供することが望ましい。
例示の実施形態において、コンピュータに実装された方法は、コンピューティング・デバイスによる、第1エントロピー符号化ルックアップテーブルに従った各々の一連の画素データを符号化する一連の符号語を含むデータストリームを受信する工程、および前記コンピューティング・デバイスによる、第1符号語および第2符号語と、前記第2エントロ ピー符号化ルックアップテーブルの符号語エントリとの間の一致があるかどうか判断するため前記データストリームを処理する工程を備える。本例では、前記第1符号語および前記第2符号語は、前記データストリーム内の連続した符号語であり、前記第2エントロピー符号化ルックアップテーブルは、前記第1エントロピー符号化ルックアップテーブルとは異なる。本例の方法には、また、前記第1符号語および前記第2符号語と、前記第2エ ントロピー符号化ルックアップテーブルの符号語エントリとの間の一致がある場合、前記コンピューティング・デバイスにより、前記第2エントロピー符号化ルックアップテーブルを使用して前記第1符号語および前記第2符号語を復号する工程が含まれる。さらに、本例の方法には、前記第1符号語および前記第2符号語と、前記第2エントロピー符号化 ルックアップテーブルの符号語エントリとの間の一致がない場合、前記コンピューティング・デバイスにより、前記第1エントロピー符号化ルックアップテーブルを使用して前記第1符号語を復号する工程が含まれる。
他の例示の実施形態においては、データストリームの復号のためのシステムは、エントロピー符号化ルックアップテーブルに従って一連の符号語に符号化されたデータを含むデータストリームを受信するための入力バッファ、および前記入力バッファに接続されたプロセッサを備える。本例では、前記プロセッサは、データストリーム内の連続した符号語がゼロのランまたは1のランに続くゼロのランに相当するかどうか判断し、前記連続した符号語がゼロのランまたは1のランに続くゼロのランに相当する場合、修正されたエントロピー符号化ルックアップテーブルを使用した前記連続した符号語の復号の少なくとも一部に基づく出力を提供するように構成される。さらに、本例では、前記プロセッサは、前記連続した符号語がゼロのランまたは1のランに続くゼロのランに相当しない場合、前記エントロピー符号化ルックアップテーブルを使用した前記連続した符号語の第1符号語の復号の少なくとも一部に基づく出力を提供するように構成される。
さらなる例示の実施形態においては、コンピュータプログラムは、コンピューティング・デバイスによる、第1エントロピー符号化ルックアップテーブルに従って各々の一連の画素データを符号化する一連の符号語を含むデータストリームを受信する工程と、第1符号語および第2符号語と、前記第2エントロピー符号化ルックアップテーブルの符号語エ ントリとの間の一致があるかどうか判断するためデータストリームを処理する工程とを備える一連の動作を実行させる。本例では、前記第1符号語および前記第2符号語は、前記データストリーム内の連続した符号語であり、前記第2エントロピー符号化ルックアップテーブルは、前記第1エントロピー符号化ルックアップテーブルとは異なる。本例では、前記一連の動作には、また、前記第1符号語および前記第2符号語と、前記第2エントロ ピー符号化ルックアップテーブルの符号語エントリとの間の一致がある場合、前記第2エントロピー符号化ルックアップテーブルを使用して前記第1符号語および前記第2符号語を復号する工程が含まれる。さらに、本例では、前記一連の動作には、前記第2エントロピー符号化ルックアップテーブルに前記第1符号語および前記第2符号語と、前記第2エ ントロピー符号化ルックアップテーブルの符号語エントリとの間の一致がない場合、前記第1エントロピー符号化ルックアップテーブルを使用して前記第1符号語を復号する工程が含まれる。
他の態様、有利な点、および代替案と同様、これらのことは、必要に応じて添付図面を参照して以下の詳細な説明を読むことによって当業者にとって明白になるであろう。さらに、本明細書における当該概要および他のセクションで提供されている説明は、請求されている主題を限定のためでなく例として示すことを意図していることを理解されたい。
従来のカスケード型Huffman復号器の図表ブロックおよび処理図を示す。 例示の実施形態に係るコンピューティング・デバイスを示す。 例示の実施形態に係るコンピューティング・デバイスのデータ処理構成要素をブロック図にて示す。 例示の実施形態に係る画像処理に利用する格納要素およびデータをブロック図にて示す。 8×8データブロック用の所定のデータシーケンスの一例を示す。 例示の実施形態に係るコンピューティング・デバイスのデータ処理構成要素をブロック図にて示す。 例示の実施形態に係る画像処理に利用する格納要素およびデータをブロック図にて示す。 例示の実施形態に従ったデータ復号器システムをブロック図にて示す。 例示の実施形態に従ったデータの復号方法を示す。
本明細書において、例示の方法およびシステムを記述する。さらに他の例示的な実施形態または特徴を利用してもよく、また本明細書において提示されている主題の主旨または範囲から逸脱することなく、その他の変更がなされてもよい。以下の詳細な説明において、本明細書の一部を構成する添付図面を参照する。
本明細書において記載されている例示的な実施形態は限定することを意図するものではない。本明細書において全般的に記載され、そして図面に示されているように、本開示の諸態様は、様々に異なる構成に配置し、置き換え、結合し、分割し、および設計することができ、そしてそれらの全てが本明細書において明瞭に熟慮されていることは容易に理解されるであろう。説明の目的のため、印刷デバイスおよび画像データの処理に関して、特徴および機能が説明される。しかしながら、本明細書中に開示される特徴および機能は、また、他のタイプのコンピューティング・デバイス(例えば、表示デバイス)、コンピューティング・デバイスの構成要素(例えば、データ復号器、プロセッサ、格納要素、など)、および他のタイプのデータ(例えば、音声データおよび/または映像データ)の処理に適用可能でもよい。
[1.概要]
印刷技術は、白黒画像のみを生成する簡単なドットマトリクスベースの出力デバイスから高解像度のカラー画像を生成することができる今日の進歩したレーザーベースの印刷デバイスへと過去30年以上にわたって発展してきた。それと共に、最近の印刷デバイスは、また、コピー機、スキャナ、およびファックス機として機能してもよい。そうするため、印刷デバイスは、印刷しまたはファックスするために待ち行列に入れられた、またはスキャンされた多くの電子文書のための画像データを格納することができてもよい。従って、多くの印刷デバイスは、例えば、1以上のプロセッサ、データ記憶部、および入出力インターフェースを含めてもよいコンピューティング・デバイスの特殊な形態である。
住宅、企業または別の種類の場所で使用されるかどうかにかかわらず、印刷デバイスは、他のいろいろなコンピューティング・デバイスと通信可能に接続可能な共有のリソースであってもよい。従って、状況によっては、多くのコンピューティング・デバイスが印刷のために電子文書を印刷デバイスに送信する場合があるので、印刷デバイスに対する格納および処理の要求はかなり高い場合がある。一般的には、印刷デバイスは、早着順に一度に一つの電子文書を印刷、コピー、ファックス、および/またはスキャンすることがよくある。従って、印刷デバイスは、ともすれば、処理されるのを待っている多数の電子文書を格納してもよい。データ記憶部(例えば、ランダム・アクセス・メモリ(RAM)、固体メモリ、ハードドライブメモリ、および/またはフラッシュメモリのようなメモリ)の費用は高価な可能性が高いため、印刷デバイスのデータ格納要件を減少するために、格納された電子文書を圧縮することは有益かもしれない。それと共に、電子文書によっては印刷デバイスおよびコンピューティング・デバイスに、および/または印刷デバイスおよびコンピューティング・デバイスに、および/またはから転送される可能性があるため、これらの電子文書を圧縮することは、転送をより速くし、ネットワーク容量の利用をより少なくするかもしれない。
さらに、印刷ジョブは大きい可能性があるため(例えば、印刷ジョブには何百ものページを含む1以上の電子文書を含む可能性がある)、待ち行列に並んだ印刷ジョブを圧縮することにより、各ジョブの印刷前の短期的なストレージスペースが省かれる。これに加えて、ユーザは、後で印刷するために長期的なストレージに印刷ジョブを保存することを望むかもしれない。このように、印刷ジョブの圧縮は、より多くの印刷ジョブの保存を可能にするかもしれない。さらに、大きな印刷ジョブを長期メモリに保存し、取得する動作は時間がかかる可能性があるが、印刷ジョブを圧縮してサイズを小さくすることより、動作が速められるかもしれない。
印刷ジョブ(および他のタイプのデータ)を圧縮し、続いて解凍する1つ技術では、エントロピー符号化を利用する。Huffman符号化は、画像データ、映像データ、音声データ、などを圧縮するために通常利用されるエントロピー符号化の一例である。一般に、Huffman符号化は、統計的確率に従って割り当てられる可変長のバイナリコードまたは符号語で記号(例えば、画素データ、DCT係数、音声データ、など)を符号化する。例えば、より頻繁に利用される記号には、長さ2〜3ビットのみのコードが割り当てられ、あまり頻繁に利用されない記号には、ビット数が増加した長さ(例えば、長さ16ビットまで)のコードが割り当てられる。Huffman符号化では、データを符号化および復号するための各々可能性のある可変長コードをリスト化するルックアップテーブルを利用する。Huffmanテーブルの一例は、表K.5もおいてJPEG規格(ISO/IEC10918)で提供される。表K.5は付録( 「JPEG・Huffmanルックアップテーブル」)で本明細書に添付される。Huffmanテーブルの他の例もまた可能であり、本開示の適用範囲である。
Huffman符号化では可変長コードを利用するため、Huffman符号化が行われたデータのストリームの復号は、データのストリーム内の各コードが次のコードが決定される前に決定されるように、本来順次的である。従来の復号器は、クロックレートまたはサイクル当たり1コードで動作する。通常、各Huffmanコードには、クロックレート当たりの画素の平均解凍率が適切に高くなるように、多数の画素が含まれる。しかしながら、アプリケーションによっては、保証された画素スループット(例えば、クロック当たり2画素)を必要とし、一時的な最悪な状況、つまりクロック当たりの1画素の低画素率が、データアンダーランおよび画像アーチファクトを引き起こす可能性がある。実際、2画素/クロック未満のスループットは、例えば、画像の非常にざらつく領域である可能性が高い。
2画素/クロック・スループットを保証する従来の試みには、様々な欠点がある。あるアプローチにおいては、2つのカスケード型Huffman復号器は少なくとも2画素/クロックを復号できるが、このスループットは処理論理のクリティカル・パスの遅延を倍にする犠牲を払う。図1を参照すると、例えば、第1Huffman復号器を第2Huffman復号器にカスケード接続すると、2つの完全なHuffmanルックアップテーブルを使用したデータストリームの処理のため、基本的にクリティカル・パスの遅延が倍になる。Huffmanルックアップテーブルは、基本的に最大処理周波数を半分にカットする。JPEG処理に通常利用される160エントリのHuffmanルックアップテーブルの場合、比較的大きなHuffmanルックアップテーブルは、カスケード型復号器が実行できる最大クロック周波数を制限する。
他のアプローチにおいては、並行なHuffman復号器が少なくとも2画素/クロックを復号するために利用される。しかしながら、このアプローチでは、並行なHuffman復号器のために別々のデータストリームを生成するために追加のデータバッファおよび動的なメモリ割り当てを利用する。データストリームを復号するために利用されるコンピューティング・デバイスによっては、このような追加のデータバッファが利用できないかもしれない。これに加えて、この状況における追加のデータバッファおよび動的なメモリ割り当ての利用は、メモリフラグメンテーションを増加させ、処理レイテンシを増加させる可能性がある。
本開示では、平均2画素/クロックの復号スループット(例えば、2クロックサイクル・スループット当たり4画素)を保証する確実で効率的なアプローチを提供する。開示されたアプローチでは、符号化されたデータストリームを復号する修正されたHuffmanルックアップテーブルを利用する。比較的大きなJPEG・Huffmanルックアップテーブルを参照すると、エントリの内10のみがゼロのランに相当する。一般に、ランレングスは、ゼロ振幅AC係数のランの長さに相当する。この状況において、ゼロのランは、最後の(復号された)AC係数および次の非ゼロAC係数間にゼロ振幅のAC係数がないことを意味し、1のランは、1つの非ゼロ振幅のAC係数に続く1つのゼロ振幅のAC係数があることを意味し、2のランは、1つの非ゼロ振幅のAC係数に続く2つのゼロ振幅のAC係数があることを意味し、整数(n)のランは、1つの非ゼロ振幅のAC係数に続くn個のゼロ振幅のAC係数があることを意味する。
JPEG・Huffmanルックアップテーブル(および他の可変または固定長の符号化テーブル)のゼロのランの符号語は、2画素/クロックのスループットを保証するためクロック当たり1符号語より速く復号する必要があるという唯一のケースである。これは、1倍のランが2画素/クロック復号率(ゼロ振幅のAC係数画素および1つの非ゼロ振幅のAC係数画素)となり、2倍のランが3画素/クロック復号率となり、3倍のランが4画素/クロック復号率となり、n倍のランが(n+1)画素/クロック復号率となるスループットだからである。
本開示では、ゼロのランに応じた完全なルックアップテーブルのエントリをゼロのランまたは1のランに応じた完全なルックアップテーブルのエントリにカスケード接続する修正された符号化ルックアップテーブルを利用する。得られた修正された符号化ルックアップテーブルによれば、従来の技術のように、完全なルックアップテーブルの全体をカスケード接続することなく、1クロックサイクルで2つの符号語を復号する復号器が可能になる。要するに、現在の符号語が1画素に相当し、次の符号語が1または2画素に相当する場合、これらの連続した符号語は、修正された符号化ルックアップテーブルを使用して共に復号される。そうでない場合は、1つの符号語(2以上のランは、3以上の画素に相当する)は、スループット率が2画素/クロック以下に減少することなく、クロックサイクルごとに復号できる。
カスケード型復号器に比べて、上記のように、完全なルックアップテーブルに加え、および並行して、修正された符号化ルックアップテーブルを使用したこのアプローチは、およそ同量の回路および論理(例えば、ルックアップテーブルに200以上のエントリを持つことにより)を必要とする。しかしながら、符号語ペア復号は通常の復号処理と並行して起こるため、カスケード型復号器のような直列復号と対照的に、開示されたアプローチは本質的により高速である。
[2.印刷デバイスの例]
図2は、例示の印刷デバイス20を示す。印刷デバイス20は、様々なタイプの物理的出力媒体に部分的に記憶された、および/または全て記憶された電子文書を印刷するように構成されてもよい。これらの出力媒体には、様々なサイズおよびタイプの用紙、オーバーヘッド・スライドなどが含まれるが、これに限定されない。印刷デバイス20を、「プリンタ」と区別しないで呼んでもよい。
印刷デバイス20は、パーソナルコンピュータ、表示モニタ、サーバ装置、印刷サーバなどのような他のコンピューティング・デバイスへのローカル周辺機器として機能してもよい。これらの場合、印刷デバイス20は、シリアルポートケーブル、パラレルポートケーブル、ユニバーサル・シリアル・バス(USB)ケーブル、Firewire(IEEE1394)ケーブル、または高精細度マルチメディアインターフェース(HDMI(登録商標))ケーブルのようなケーブルにより、コンピューティング・デバイスに備え付けられてもよい。このように、コンピューティング・デバイスは、印刷デバイス20用の電子文書のソースとして機能してもよい。
一方、印刷デバイス20には、イーサネット(登録商標)またはIEEE802.11(WLANまたはWi−Fi)インターフェースのような、有線または無線ネットワークインターフェースを含めてもよい。そのように配置された場合、印刷デバイス20は、印刷デバイス20とネットワークを介して通信可能な任意の数のコンピューティング・デバイス用の印刷デバイスとして機能してもよい。実施形態によっては、印刷デバイス20は、ローカル周辺機器およびネットワーク化されたプリンタの両方として同時に機能してもよい。印刷デバイス20を利用するために、コンピューティング・デバイスは、1以上のプリンタドライバをインストールしてもよい。これらのプリンタドライバには、印刷される電子文書を表す画像データをコンピューティング・デバイスに記憶された様々なローカル表現から印刷デバイス20によりサポートされる1以上の表現に変換するソフトウェア構成要素を含めてもよい。それでも、印刷デバイス20をコンピューティング・デバイスとみなしてもよいし、印刷関連および非印刷関連タスクの両方を実行してもよい。
上述したように、印刷デバイス20にはまた、コピー機、ファクス、およびスキャナ機能を含めてもよい。実施形態によっては、印刷デバイス20は、コピー機および/またはファクス機能を簡略化するスキャナ機能を利用してもよい。例えば、印刷デバイス20は、物理的文書を電子フォーマットにスキャンした後、コピーを提供するために得られた電子文書を印刷、および/またはファクス機能を提供するために電話インターフェースを介して得られた電子文書を送信してもよい。
その様々な機能をサポートするために、印刷デバイス20には、原稿送り装置/出力トレイ22、用紙保管部24、ユーザインターフェース26、スキャン要素28、および筐体30を含めてもよい。印刷デバイスは多種多様な形をとってもよいことは、理解されるべきである。そのため、印刷デバイス20には、図1に示されているよりも多い、または少ない構成要素、および/または図1に示されている方法とは異なる方法で配置された構成要素を含めてもよい。
原稿送り装置/出力トレイ22は、スキャン、コピー、またはファクスされる物理的文書(例えば、1枚以上の用紙の積み重ね)を保持してもよい。原稿送り装置/出力トレイ22は、手動での介入を必要とすることなしに、印刷デバイス20により処理される多数の物理的文書の自動的な搬送を印刷デバイス20に許可にしてもよい。原稿送り装置/出力トレイ22にはまた、印刷デバイス20により処理された物理的文書を保持する1以上の別々の出力トレイを含めてもよい。これらには、例えば、印刷デバイス20のファクスおよび/またはコピー機能で作成された物理的文書と同様に、印刷デバイス20によりスキャン、コピー、またはファクスされた物理的文書を含めてもよい。
用紙保管部24には、様々なタイプの物理的媒体のためにトレイおよび/または搬送要素を含めてもよい。例えば、用紙保管部24には、8.5×11インチ用紙、A4用紙、レターヘッドのある用紙、封筒などのための別々のトレイを含めてもよい。物理的媒体の作成(例えば、ファクスの印刷、コピー、および/または受信)を含む印刷デバイス20の任意の機能のため、用紙保管部24は物理的媒体を供給してもよい。
ユーザインターフェース26は、ユーザから入力を受信およびユーザに出力を提供するような、人間または人間でないユーザと印刷デバイス20の相互作用を簡略化してもよい。よって、ユーザインターフェース26には、キーパッド、キーボード、タッチセンサー式または存在感知パネル、ジョイスティック、マイクロホン、さらにカメラおよび/またはビデオ・カメラのような入力構成要素を含めてもよい。ユーザインターフェース26にはまた、既知のまたは今後開発される、(例えば、存在感知パネルに結合されてもよい)表示画面、陰極線管(CRT)、液晶ディスプレイ(LCD)、発光ダイオード(LED)ベースのディスプレイ、デジタル光処理(DLP(登録商標))技術を使用したディスプレイ、電球、および/または他の1以上の同様な装置のような、1以上の出力構成要素を含めてもよい。ユーザインターフェース26はまた、既知または将来開発される、スピーカ、スピーカジャック、音声出力ポート、音声出力装置、イヤホン、および/または他の同様な装置を介して、可聴出力を生成可能に構成されてもよい。
スキャン要素28はガラスパネルでよく、ガラスパネルの下では移動可能な光源が動作し、ガラスパネルの上に置かれた物理的媒体をスキャンする。あるいは、ガラスパネルの下のデジタルカメラが、物理的媒体の写真を撮ることによりガラスパネルの上に置かれた物理的媒体を「スキャン」してもよい。スキャンされた物理的媒体の画像は、印刷デバイス20に関連付けられているデータ記憶部に記憶されてもよい。
筐体30には、原稿送り装置/出力トレイ22、用紙保管部24、ユーザインターフェース26、およびスキャン要素28のような、印刷デバイス20の様々な構成要素を含む、および/または相互接続する物理的ハウジングを含めてもよい。それと共に、筐体30は、図1には図示されない他の構成要素を収容してもよい。例えば、筐体30には、1以上のトナーカートリッジ、液体インクジェット、ベルト、ローラ、および/または電源を含めてもよい。さらに、筐体30には、有線および/または無線ネットワークインターフェース、電話による通信インターフェース(例えば、RJ45ジャック)、USBインターフェース、BLUETOOTH(登録商標)インターフェース、カードリーダーポートなどのような、通信インターフェースを含めてもよい。
さらに、印刷デバイス20が多目的および/または特別に設計されたコンピューティング・デバイス構成要素に基づいてもよいように、筐体30もまた、これらの構成要素のいくつかまたは全てを収容してもよい。例えば、印刷デバイス20には、プロセッサおよびデータ記憶部(明示的に図示せず)を含めてもよい。一般に、プロセッサには、1以上の汎用プロセッサおよび/または1以上の専用プロセッサ(例えば、特定用途向け集積回路(ASIC)またはデジタル・シグナル・プロセッサ(DSP)、など)のような1以上の中央処理装置(CPU)を含めてもよい。データ記憶部は、揮発性および/または不揮発性データ記憶部を含めてもよく、プロセッサと全体または一部統合可能である。データ記憶部は、本明細書中に説明されている様々な方法、処理、または機能を実行するため、プロセッサにより実行可能なプログラム命令、およびこれらの命令により操作されるデータを記憶してもよい。あるいは、これらの方法、処理、または機能は、ハードウェア、ファームウェア、および/またはハードウェア、ファームウェア、およびソフトウェアの任意の組み合わせにより定義可能である。従って、データ記憶部には、有形で非一時的なコンピュータ読み取り可能な記録媒体を含めてもよく、記録媒体には、1以上のプロセッサによる実行に応じて、本明細書または添付図面に開示されている方法、処理、または機能のいずれかを印刷デバイス20に実行させるプログラム命令が記憶されている。
さらに、印刷デバイス20の構成要素には、また、画像データを圧縮/符号化および/または解凍/復号するためのハードウェアおよび/またはソフトウェア構成要素を含めてもよい。
[3.符号化器および復号器の例]
図3および図6は、印刷デバイス20に含まれてもよいコンピューティング・デバイス構成要素(例えば、コンピューティング・デバイスの機能要素)の例示の実施形態を示す。最初に図3を参照すると、例示の画像データ符号化器40が示されている。符号化器40は、画像データ42を受け取るように構成されている。図示の例において、画像データ42は、画像データブロック(例えば、8×8画素ブロック)に分割されており、画像データブロックは、符号化器40の空間周波数変換器44に提供される。空間周波数変換器44は、画像データへ離散コサイン変換(DCT)の実行等、空間周波数変換を行う。画像データに空間周波数変換を行うことにより、画像データブロックに対する空間周波数変換を表す1以上の周波数係数のセットをもたらす。8×8画素ブロックの例において、空間周波数変換器44は、単一のクロックサイクルで1個と64個の間の周波数係数を生成するように構成されている。図4を参照して、一例を挙げれば、当該得られた周波数係数Suvは、格納要素60に格納されてもよい。別の例では、得られた1個乃至64個の周波数係数Suvのセットは、別個に格納される必要はなく、量子化器およびデータシーケンサによる単一操作(例えば、単一クロックサイクル)で操作される。
例えば,1個乃至64個の周波数係数Suvのセットは、次に直ちに量子化器46により操作されてもよい。量子化器46は、1以上の量子化された周波数係数のセット等、量子化されたデータを生成する。一般に、量子化は、画像データが空間周波数変換操作により周波数領域に変換された後で、高周波成分を低減または除去するための処理である。量子化器46は、量子化係数を含む量子化テーブルを用いて、周波数係数を操作する。より具体的には、符号化器40において、量子化器46は、周波数係数Suvを対応する量子化係数で除算して量子化された周波数係数のセットを生成する。図4は、量子化係数Quvが、格納要素62に格納されてもよく、またはそうでない場合、クロックサイクルごとに1個または64個までの量子化係数Quvが使用できる量子化器に対して入力として使用可能とされる例を示す。量子化器46は、また、除算の結果を丸めて重要でない高周波成分を除去してもよい。
本例において、量子化器46により生成された量子化された周波数係数Squvのセットは、次に、直ちに、単一操作または単一クロックサイクルで、データシーケンサ48に提供されてもよい。データシーケンサ48は、量子化された周波数係数Squvのセットを所定のシーケンスで配列するように構成されている。そのような一つのシーケンスは、図5で示されているジグザグシーケンスである。図4は、また、ジグザグシーケンス操作を実行するハードウェアおよび/またはソフトウェア構成要素を表すブロック64を示す。
所定のシーケンスに配列された得られた量子化された周波数係数Squvのセットは、格納要素66に格納されてもよい。他の例では、得られた1個乃至64個の量子化された周波数係数Squvのセットは、別個に格納される必要はなく、データ符号化器50により単一操作(例えば、単一クロックサイクル)で操作される。データ符号化器50は、ストレージ、転送、または他の処理のため符号化されたデータ52を提供するため、抽出された、量子化された周波数係数SquvにエントロピーまたはHuffman符号化を実行する。
次に図6および図7を参照すると、例示の画像データ復号器70が示されている。復号器70は、符号化された画像データ52(例えば、図3の符号化データ)を受け取るように構成されている。図示されている例では、符号化データは、直ちにデータ復号器72に提供される。データ復号器72は、データ符号化器50の逆の機能、例えば、逆エントロピーまたはHuffman復号を実行し、量子化された周波数係数Squvを生成する。8×8画素ブロックの例において、データ復号器72は、単一のクロックサイクルで、1個と64個の間の量子化された周波数係数Squvを生成するように構成されている。係数Squvの数は、一つには、受け取られた符号化された画像データに依存してもよい。図7において、一例を挙げれば、得られた量子化された周波数係数Squvは、格納要素90に格納されてもよい。別の例では、得られた1個乃至64個の量子化された周波数係数Squvのセットは、別個に格納される必要はなく、より詳細に後述されるように、データ逆シーケンサ、および逆量子化器により単一操作(例えば、単一クロックサイクル)で操作される。
本例では、1個乃至64個の量子化された周波数係数Squvのセットは、図3のデータシーケンサ48の操作に起因する所定のシーケンスで配列されてもよい。従って、量子化された周波数係数Squvは、データ逆シーケンサ74に提供されてもよく、データ逆シーケンサ74は量子化された周波数係数Squvを所定のシーケンスの逆に配列する。図7を参照して、一例を挙げれば、再配列された、得られた量子化された周波数係数Squvは、格納要素92に格納されてもよい。
別の例では、再配列された、得られた量子化された周波数係数Squvは別個に格納される必要はなく、データ逆シーケンサ74の後に、量子化された周波数係数Squvは直ちに逆量子化器76に提供され、逆量子化器76は、量子化された周波数係数Squvを逆量子化する。一例において、逆量子化器76は、図3の量子化器46に関連して上述したときと同じ量子化テーブルおよび量子化係数を用いる。しかしながら,逆量子化器76は量子化された周波数係数Squvに対応する量子化係数Quvを掛ける、そして量子化器46により実行された丸めの逆を実行して周波数係数Suvを抽出する。周波数係数Suvは、格納要素94に記憶されてもよく、直ちに逆空間周波数変換器78に提供されてもよい。逆空間周波数変換器78は、表示、印刷、または他の処理のため元の画像データ42を抽出するために、図3の変換器44により実行された空間周波数変換の逆を実行する。
[4.復号器システムの例]
次に図8を参照して、例示の復号器システム100を説明する。図8において、システム100には、エントロピー符号化ルックアップテーブルに従って各々の一連の画素データ(例えば、DCT係数)を符号化する一連の可変長符号語を含む、次に来るデータストリーム104を受信するように構成されたバッファ要素102が含まれる。一例では、第1エントロピー符号化ルックアップテーブルは、全160エントリを含むJPEG・Huffmanルックアップテーブルである。第1符号化ルックアップテーブル(例えば、画素データを符号化するために利用される同一の「完全な」エントロピー符号化ルックアップテーブル)を利用するブロック106(例えば、プロセッサまたは処理論理)による処理のため、および第2符号化ルックアップテーブルを利用するブロック108(例えば、ブロック106と同一または異なるプロセッサまたは処理論理)による処理のために、バッファ要素102から、データストリーム104(またはそれに続く部分)が提供される。
本例では、第2符号化ルックアップテーブルは、第1エントロピー符号化ルックアップテーブルの修正バージョンであり、一組の第1符号語および第2符号語をそれぞれが備える複数のエントリが含まれる。例えば、各組の第1符号語は、ゼロのランに相当する第1ルックアップテーブルの1以上のエントリから選択され、各組の第2符号語は、ゼロのランまたは1のランに相当する第1ルックアップテーブルの1以上のエントリから選択される。JPEG・Huffmanルックアップテーブルを参照すると、ゼロのランに相当する10の符号語および1のランに相当する10の符号語がある。本例では、第2符号化ルックアップテーブルには、ゼロのランの符号語または1のランの符号語に続くゼロのランの符号語の各組み合わせが含まれる。JPEG・Huffmanルックアップテーブルに基づき、このような修正された、第2符号化ルックアップテーブルには、一般に以下のような200のエントリが含まれ得る。
(ゼロのランの符号語に続くゼロのランの符号語)
0/1_0/1、0/1_0/2、…、0/1_0/A、
0/2_0/1、0/2_0/2、…、0/2_0/A、
0/3_0/1、0/3_0/2、…、0/3_0/A、

0/A_0/1、0/A_0/2、…、0/A_0/A、
(1のランの符号語に続くゼロのランの符号語)
0/1_1/1、0/1_1/2、…、0/1_1/A、
0/2_1/1、0/2_1/2、…、0/2_1/A、
0/3_1/1、0/3_1/2、…、0/3_1/A、

0/A_1/1、0/A_1/2、…、0/A_1/A、
第1および第2符号化ルックアップテーブル・ブロック106、108では、受信されたデータストリーム内の符号語および各々のルックアップテーブルのエントリ間の一致を識別するため、データストリーム104を並行に処理する。ブロック106は、第1符号化ルックアップテーブルの一致する符号語エントリを見つけるため、一度にデータストリーム104を1符号語毎に処理し、一致する符号語を出力110として、選択部要素112に提供する。選択部要素112は、複数の入力から出力を選択的に提供するように構成された優先度ベースのマルチプレクサまたは他のハードウェアおよび/またはソフトウェア構成要素でもよい。
ブロック108では、第2符号化ルックアップテーブルを使用してデータストリーム104を処理し、データストリーム104がゼロのランまたは1のランに続くゼロのランに相当する連続した符号語を含むかどうか判断する。ブロック108で、データストリーム内の連続した符号語の一致および第2符号化ルックアップテーブルの符号語エントリがあると判断された場合、ブロック108では一致する組の符号語を出力114として、選択部要素112に提供する。ブロック108で一致があると判断されると、ブロック108では選択部要素112に出力114に基づき出力116を選択的に提供するように指示する優先信号を提供する。ブロック108で一致がないと判断されると、ブロック108では優先信号を提供せず(あるいは異なる信号を提供し)、そして、異なる信号は、選択部要素112に出力110に基づき出力116を選択的に提供するように指示する。
図8の例において、パッキング論理ブロック118は選択部要素112から出力116を受信し、ブロック106からの可変長符号語出力110またはブロック108からの可変長符号語ペア出力114を固定長キューである画素キュー120にパックするように構成される。図8のシステム100にはまた、逆データシーケンシング(順序付け)、逆量子化、逆空間周波数変換などのような機能を行うように構成される1以上の復号ステージ122が含まれる。さらに、図8の例において、出力デバイス124は、復号ステージ122に接続される。本例において、出力デバイス124は、復号ステージ122により処理されたように、画素キュー120のコンテンツを画像の対応する部分を印刷するための制御信号に変換するように構成された印刷エンジンでもよい。出力デバイス124にはまた、画素キュー120のコンテンツを画像の対応する部分を表示するための制御信号に変換するように構成された、表示モニタのような、いくつかの他の表示デバイスを含めてもよい。
システム100において、ブロック106、108はまた、バッファ要素102に接続されるフィードバック出力126を提供するように構成されてもよく、バッファ要素102はハードウェアおよび/またはソフトウェアベースのピッカーブロックとしても機能できる。より具体的には、ブロック106、108がデータストリーム104内で可変長符号語を識別する場合、ブロック106、108は、符号語の長さをピッカーブロック(バッファ要素102)に通知するため、フィードバック出力126を生成してもよい。ピッカーブロック(バッファ要素102)は続いて、ビットの可動ウィンドウをシフトさせ、処理のためブロック106、108にデータストリームの次に続く部分を提供してもよい。
[5.操作の例]
上記に加え、図9は例示の実施形態のフローチャートを示す。本フローチャートにより説明されるステップは、印刷デバイス20、復号器72、およびシステム100のような、1以上のコンピューティング・デバイス、システム、またはその構成要素により実行されてもよい。さらに、各個別のステップの態様は、必要に応じて多数のコンピューティング・デバイス間で分けられてもよい。
図9は、例えば、図6および図8の構成要素を利用可能な例示の符号化処理150を示す。処理150のブロック152において、システム100は、例えば、第1エントロピー符号化ルックアップテーブルに従って各々の一連の画素データを符号化する符号語を含むデータストリームを受信する。例えば、第1エントロピー符号化ルックアップテーブルは、本明細書中に説明されているJPEG・Huffmanルックアップテーブルであり得る。
ブロック154において、システム100はデータストリームを処理し、1符号語および第2符号語と、第2エントロピー符号化ルックアップテーブルの符号語エントリとの間の一致があるかどうか判断する。本例において、第1符号語および第2符号語は、データストリーム内の連続した符号語であり、第2エントロピー符号化ルックアップテーブルは、図8の第2符号化ルックアップテーブル・ブロック108により利用された、修正された符号化ルックアップテーブルであり得る。ブロック156において、システム100はデータストリームを処理し、第1エントロピー符号化ルックアップテーブルの第1符号語および符号語エントリ間の一致を識別する。一例において、ブロック156におけるこの処理は、ブロック154の処理と並行に行われる。
ブロック158において、1符号語および第2符号語と、第2エントロピー符号化ル ックアップテーブルの符号語エントリとの間の一致がある場合、システム100は、第2エントロピー符号化ルックアップテーブルを使用して第1符号語および第2符号語を復号、またはそうでない場合は、出力として提供する。ブロック160において、第1符号語および第2符号語と、第2エントロピー符号化ルックアップテーブルの符号語エントリと 間の一致がない場合、システム100は、第1エントロピー符号化ルックアップテーブルを使用して第1符号語を復号、またはそうでない場合は、出力として提供する。
図9の例では、ブロック162において、システム100は処理を次の符号語のセットにシフトさせる。一実施形態に従って、システム100がブロック154において一致を識別しない場合、続いてブロック162において、システム100は1符号語ずつ処理をシフトさせ、制御はブロック154に戻って受信されたデータストリームの処理を続ける。その結果として、ブロック154の次の反復において、システム100は、第2符号語および次の連続した(第3)符号語と、第2エントロピー符号化ルックアップテーブルの 符号語エントリとの間の一致があるかどうか判断する。さらに、ブロック156の次の反復において、システム100はデータストリームを処理し、第1エントロピー符号化ルックアップテーブルの第2符号語および符号語エントリ間の一致を識別する。その後、ブロック158において、第2符号語および第3符号語と、第2エントロピー符号化ルックア ップテーブルの符号語エントリとの間の一致がある場合、システム100は第2エントロピー符号化ルックアップテーブルを使用して第2符号語および第3符号語を復号、またはそうでない場合は、出力として提供する。ブロック160において、2符号語および第3符号語と、第2エントロピー符号化ルックアップテーブルの符号語エントリとの間の一 致がない場合、システム100は第1エントロピー符号化ルックアップテーブルを使用して第2符号語を復号、またはそうでない場合は、出力として提供する。
ブロック162を再び参照すると、本実施形態に従って、システム100がブロック154において一致を識別する場合、続いてブロック162において、システム100は2符号語ずつ処理をシフトさせ、制御はブロック154に戻って受信されたデータストリームの処理を続ける。その結果として、ブロック154の次の反復において、システム100は、次の連続した一組の符号語(例えば、第3および第4符号語)と、第2エントロピ ー符号化ルックアップテーブルの符号語エントリとの間の一致があるかどうか判断する。さらに、ブロック156の次の反復において、システム100はデータストリームを処理し、第1エントロピー符号化ルックアップテーブルで第3符号語および符号語エントリ間の一致を識別する。その後、ブロック158において、第3符号語および第4符号語と、 第2エントロピー符号化ルックアップテーブルの符号語エントリとの間の一致がある場合、システム100は第2エントロピー符号化ルックアップテーブルを使用して第3符号語および第4符号語を復号、またはそうでない場合は、出力として提供する。ブロック160において、第3符号語および第4符号語と、第2エントロピー符号化ルックアップテー ブルの符号語エントリとの間の一致がない場合、システム100は第1エントロピー符号化ルックアップテーブルを使用して第3符号語を復号、またはそうでない場合は、出力として提供する。
一般に、ブロック162における処理は、符号語が復号されて出力に提供されるように、データストリームを通して順次横断する可動ウィンドウを提供する。
[6.結論]
本出願において記述されている具体的な実施形態に関して、本開示は限定されるべきではなく、それらはいろいろな態様の実例として意図されている。当業者にとって明白であるように、本開示の主旨と範囲から逸脱することなく多くの変更および変形をすることが可能である。本記載に列挙されていることに加え、本開示の範囲内の機能的に等価な方法および装置は前述の記載から明白であろう。そのような変更および変形は、添付された請求項の範囲内に入るように意図されている。
図面における、任意のすなわち全てのラダー図、シナリオ、およびフローチャートに関しておよび本記載で述べられたように、各ブロックおよび/または通信は、例示の実施形態に従って情報を処理しおよび/または情報を送信することを表してもよい。他の実施形態もそのような例示の実施形態の範囲に含まれてもよい。さらに、より多くのまたはより少ないブロックおよび/または機能が、本記載に記述されているどのラダー図、シナリオ、およびフローチャートと共に使用されてもよいし、また当該ラダー図、シナリオ、およびフローチャートは、部分的にまたは全体的にお互いに結合されてもよい。
情報の処理を表すステップまたはブロックは、本記載の方法または技術の具体的な論理機能を実行するように構成することが可能な回路に相当してもよい。それに代えてまたはさらに、情報の処理を表すステップまたはブロックは、モジュール、セグメント、またはプログラムコードの一部分(関連するデータを含めて)に相当してもよい。プログラムコードは、方法または技術における具体的な論理機能または動作を実行するための、プロセッサにより実行可能な1以上の命令を含んでもよい。プログラムコードおよび/または関連するデータは、ディスクドライブ、ハードドライブ、またはその他の記憶媒体を含む記憶装置等の任意の種類のコンピュータ読み取り可能な媒体に格納してもよい。
コンピュータ読み取り可能な媒体は、また、レジスタメモリ、プロセッサキャッシュ、および/またはランダムアクセスメモリ(RAM)のような短期間データを格納するコンピュータ読み取り可能な媒体等の、非一時的でコンピュータ読み取り可能な媒体を含んでもよい。コンピュータ読み取り可能な媒体は、また、例えば、リードオンリーメモリー(ROM)、光学または磁気ディスク、および/またはコンパクトディスク・リードオンリーメモリー(CD―ROM)のような、二次的または持続的長期記憶装置等、より長期間プログラムコードおよび/またはデータを格納する非一時的でコンピュータ読み取り可能な媒体を含んでもよい。コンピュータ読み取り可能な媒体は、また、他の揮発性または不揮発性記憶システムでもよい。コンピュータ読み取り可能な媒体は、例えば、コンピュータ読み取り可能な記憶媒体および/または有形の記憶デバイスと考えてもよい。
本記載においてさまざまな態様および実施形態が開示されてきたが、他の態様および実施形態も当業者にとって明白であろう。本記載において開示されたさまざまな態様および実施形態は、例示目的であって限定することを意図するものではなく、真の範囲と主旨は以下の請求項により示されている。
付録


符号の説明
22 原稿送り装置/出力トレイ
24 用紙保管部
26 ユーザインターフェース
28 スキャン要素
30 筐体

Claims (17)

  1. コンピュータであって、
    少なくとも1つのプロセッサと、
    メモリと、
    前記メモリに記憶されたプログラム命令であって、前記少なくとも1つのプロセッサによる実行の際に、前記コンピュータに、
    第1エントロピー符号化ルックアップテーブルに従って各々の一連の画素データを符号化する一連の符号語を含むデータストリームを受信する工程と、
    1符号語および第2符号語と、ゼロのランに応じた完全なルックアップテーブルのエ ントリをゼロのランまたは1のランに応じた完全なルックアップテーブルのエントリにカ スケード接続された第2エントロピー符号化ルックアップテーブルの符号語エントリとの間の一致があるかどうか判断するためのデータストリームを処理する工程であって、前記第1符号語および第2符号語は、前記データストリーム内の連続した符号語であり、前記第2エントロピー符号化ルックアップテーブルは、前記第1エントロピー符号化ルックアップテーブルと異なる工程と、
    記第1符号語および第2符号語と、前記第2エントロピー符号化ルックアップテーブ ルの符号語エントリとの間の一致がある場合、前記第2エントロピー符号化ルックアップテーブルを使用して前記第1符号語および第2符号語を復号する工程と、
    記第1符号語および第2符号語と、前記第2エントロピー符号化ルックアップテーブ ルの符号語エントリとの間の一致がない場合、前記第1エントロピー符号化ルックアップテーブルを使用して前記第1符号語を復号する工程と、
    を含む工程を実施させるプログラム命令を備え
    前記第2エントロピー符号化ルックアップテーブルは、一組の第1符号語および第2符 号語をそれぞれが備える少なくとも複数のエントリを含み、前記各組の第1符号語は、ゼ ロのランに相当する前記第1エントロピー符号化ルックアップテーブルの1以上のエント リから選択され、前記各組の第2符号語は、ゼロのランまたは1のランに相当する前記第 1エントロピー符号化ルックアップテーブルの1以上のエントリから選択されるコンピュ ータ。
  2. 請求項1に記載のコンピュータであって、さらに、
    前記第1エントロピー符号化ルックアップテーブルの前記第1符号語および符号語エントリ間の一致を識別するために前記データストリームを処理する工程であって、前記コン ピュータ、前記第1符号語および第2符号語と、前記第2エントロピー符号化ルックア ップテーブルの符号語エントリとの間の一致があるかどうか判断するための前記データストリームの処理と並行して、前記第1エントロピー符号化ルックアップテーブルの前記第1符号語および符号語エントリ間の一致を識別するために前記データストリームの処理を行う工程を実施させるプログラム命令を備える、コンピュータ。
  3. 請求項1又は2に記載のコンピュータであって、
    前記第2エントロピー符号化ルックアップテーブルは、前記第1符号語および第2符号語の組の各固有の組み合わせを含むコンピュータ。
  4. 請求項1乃至のいずれか1項に記載のコンピュータであって、さらに、
    記第1符号語および第2符号語と、前記第2エントロピー符号化ルックアップテーブ ルの符号語エントリとの間の一致がある場合、および第3符号語および第4符号語と、前 記第2エントロピー符号化ルックアップテーブルの符号語エントリとの間の一致があるかどうか判断するために前記データストリームを処理する工程であって、前記第1、第2、第3、および第4符号語は、前記データストリームの連続した符号語である工程を実施させるプログラム命令を備える、コンピュータ。
  5. 請求項に記載のコンピュータであって、さらに、
    (i)前記第1符号語および第2符号語と、前記第2エントロピー符号化ルックアップ テーブルの符号語エントリとの間の一致がある場合、および(ii)前記第3符号語および前記第4符号語と、前記第2エントロピー符号化ルックアップテーブルの符号語エント リとの間の一致がある場合、前記第2エントロピー符号化ルックアップテーブルを使用して前記第3符号語および前記第4符号語を復号する工程と、
    (i)前記第1符号語および第2符号語と、前記第2エントロピー符号化ルックアップ テーブルの符号語エントリとの間の一致がある場合、および(ii)前記第3符号語および前記第4符号語と、前記第2エントロピー符号化ルックアップテーブルの符号語エント リとの間の一致がない場合、前記第1エントロピー符号化ルックアップテーブルを使用して前記第3符号語を復号する工程と、を実施させるプログラム命令を備えるコンピュータ。
  6. 請求項1乃至のいずれか1項に記載のコンピュータであって、さらに、
    記第1符号語および第2符号語と、前記第2エントロピー符号化ルックアップテーブ ルの符号語エントリとの間の一致がない場合、記第2符号語および第3符号語と、前記 第2エントロピー符号化ルックアップテーブルの符号語エントリとの間の一致があるかどうか判断するために前記データストリームを処理する工程であって、前記第2および第3符号語は、前記データストリーム内の連続した符号語である工程を実施させるプログラム命令を備えるコンピュータ。
  7. 請求項に記載のコンピュータであって、さらに、
    (i)記第1符号語および第2符号語と、前記第2エントロピー符号化ルックアップ テーブルの符号語エントリとの間の一致がない場合、および(ii)記第2符号語およ び第3符号語と、前記第2エントロピー符号化ルックアップテーブルの符号語エントリと 間の一致がある場合、前記第2エントロピー符号化ルックアップテーブルを使用して前記第2符号語および第3符号語を復号する工程と、
    (i)記第1符号語および第2符号語と、前記第2エントロピー符号化ルックアップ テーブルの符号語エントリとの間の一致がない場合、および(ii)前記第2符号語および前記第3符号語と、前記第2エントロピー符号化ルックアップテーブルの符号語エント リとの間の一致がない場合、前記第1エントロピー符号化ルックアップテーブルを使用して前記第2符号語を復号する工程と、を実施させるプログラム命令を備えるコンピュータ。
  8. 請求項1乃至のいずれか1項に記載のコンピュータであって、
    前記第2エントロピー符号化ルックアップテーブルを使用して前記第1符号語および前記第2符号語を復号する工程は、クロックサイクル・スループット当たり平均2画素を保証するコンピュータ。
  9. 請求項1乃至のいずれか1項に記載のコンピュータであって、
    前記第1エントロピー符号化ルックアップテーブルは、Huffmanエントロピー符号化ルックアップテーブルであるコンピュータ。
  10. 請求項1乃至のいずれか1項に記載のコンピュータであって、さらに、
    前記第1符号語、または前記第1符号語および第2符号語の前記復号する工程に基づき、1以上の印刷エンジンまたは表示モニタに出力データストリームを提供する工程を実施させるプログラム命令を備えるコンピュータ。
  11. 請求項10に記載のコンピュータであって、さらに、
    1以上の前記印刷エンジンまたは前記表示モニタに前記出力データストリームを提供する工程の前に、前記出力データストリームを逆量子化する工程と、前記出力データストリームに逆空間周波数変換を実行する工程とを実施させるプログラム命令を備えるコンピュータ。
  12. データストリームを復号するためのシステムであって、
    前記データストリームを受信するための入力バッファであって、前記データストリームは、エントロピー符号化ルックアップテーブルに従って一連の符号語に符号化されたデータを含む入力バッファと、
    前記入力バッファに接続されたプロセッサであって、
    前記データストリーム内の連続した符号語がゼロのランに続くゼロのランまたは1のランに続くゼロのランに相当するかどうかを判断し、
    前記連続した符号語がゼロのランに続くゼロのランまたは1のランに続くゼロのランに相当する場合、ゼロのランに応じた完全なルックアップテーブルのエントリをゼロのラ ンまたは1のランに応じた完全なルックアップテーブルのエントリにカスケード接続する修正されたエントロピー符号化ルックアップテーブルを使用して前記連続した符号語を復号する工程の少なくとも一部に基づく出力を提供し、
    前記連続した符号語がゼロのランに続くゼロのランまたは1のランに続くゼロのランに相当しない場合、前記エントロピー符号化ルックアップテーブルを使用して前記連続した符号語の第1符号語を復号する工程の少なくとも一部に基づく前記出力を提供するように構成されたプロセッサと、
    を備え、
    前記修正されたエントロピー符号化ルックアップテーブルは、一組の第1符号語および 第2符号語をそれぞれが備える少なくとも複数のエントリを含み、前記各組の第1符号語 は、ゼロのランに相当する前記エントロピー符号化ルックアップテーブルの1以上のエン トリから選択され、前記各組の第2符号語は、ゼロのランまたは1のランに相当する前記 エントロピー符号化ルックアップテーブルの1以上のエントリから選択されるシステム。
  13. 請求項12に記載のシステムであって、
    前記修正されたエントロピー符号化ルックアップテーブルを使用して前記連続した符号語を復号する工程の少なくとも一部に基づく前記出力を提供する工程は、クロックサイクル・スループット当たり平均2画素を保証するシステム。
  14. 請求項12又は13に記載のシステムであって、
    前記エントロピー符号化ルックアップテーブルは、Huffmanエントロピー符号化ルックアップテーブルであるシステム。
  15. 請求項12乃至14のいずれか1項に記載のシステムであって、
    前記入力バッファおよび前記プロセッサは、印刷デバイスに含まれるシステム。
  16. コンピュータプログラムであって、
    第1エントロピー符号化ルックアップテーブルに従って各々の一連の画素データを符号化する一連の符号語を含むデータストリームを受信する工程と、
    1符号語および第2符号語と、ゼロのランに応じた完全なルックアップテーブルのエ ントリをゼロのランまたは1のランに応じた完全なルックアップテーブルのエントリにカ スケード接続された第2エントロピー符号化ルックアップテーブルの符号語エントリとの間の一致があるかどうか判断するために前記データストリームを処理する工程であって、前記第1符号語および第2符号語は、前記データストリーム内の連続した符号語であり、前記第2エントロピー符号化ルックアップテーブルは、前記第1エントロピー符号化ルックアップテーブルと異なる工程と、
    記第1符号語および第2符号語と、前記第2エントロピー符号化ルックアップテーブ ルの符号語エントリとの間の一致がある場合、前記第2エントロピー符号化ルックアップテーブルを使用して前記第1符号語および第2符号語を復号する工程と、
    記第1符号語および第2符号語と、前記第2エントロピー符号化ルックアップテーブ ルの符号語エントリとの間の一致がない場合、前記第1エントロピー符号化ルックアップテーブルを使用して前記第1符号語を復号する工程と、を備える一連の動作をプロセッサに実行させ
    前記第2エントロピー符号化ルックアップテーブルは、一組の第1符号語および第2符 号語をそれぞれが備える少なくとも複数のエントリを含み、前記各組の第1符号語は、ゼ ロのランに相当する前記第1エントロピー符号化ルックアップテーブルの1以上のエント リから選択され、前記各組の第2符号語は、ゼロのランまたは1のランに相当する前記第 1エントロピー符号化ルックアップテーブルの1以上のエントリから選択されるプログラム。
  17. 請求項16に記載のコンピュータプログラムであって、
    前記一連の動作は、さらに、
    前記第1エントロピー符号化ルックアップテーブルの前記第1符号語および符号語エントリ間の一致を識別するために前記データストリームを処理する工程であって、前記第1エントロピー符号化ルックアップテーブルの前記第1符号語および符号語エントリ間の一致を識別するために前記データストリームを処理する工程は、記第1符号語および第2符号語と、前記第2エントロピー符号化ルックアップテーブルの符号語エントリとの間の一致があるかどうか判断するために前記データストリームを処理する工程と並行して行われる工程を備えるプログラム。

JP2016056296A 2015-03-20 2016-03-18 データ復号のための装置および方法 Active JP6569949B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/664,335 US9538044B2 (en) 2015-03-20 2015-03-20 Apparatus and method for data decoding
US14/664335 2015-03-20

Publications (3)

Publication Number Publication Date
JP2016178639A JP2016178639A (ja) 2016-10-06
JP2016178639A5 JP2016178639A5 (ja) 2019-05-09
JP6569949B2 true JP6569949B2 (ja) 2019-09-04

Family

ID=56974476

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016056296A Active JP6569949B2 (ja) 2015-03-20 2016-03-18 データ復号のための装置および方法

Country Status (3)

Country Link
US (1) US9538044B2 (ja)
JP (1) JP6569949B2 (ja)
CN (1) CN105991895B (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10083451B2 (en) 2016-07-08 2018-09-25 Asapp, Inc. Using semantic processing for customer support
US9805371B1 (en) * 2016-07-08 2017-10-31 Asapp, Inc. Automatically suggesting responses to a received message
US10728555B1 (en) 2019-02-06 2020-07-28 Sony Corporation Embedded codec (EBC) circuitry for position dependent entropy coding of residual level data

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5654806A (en) * 1996-05-06 1997-08-05 Xerox Corporation Code manipulation for a high speed JPEG decoder
JP3235555B2 (ja) * 1997-05-14 2001-12-04 日本電気株式会社 信号復号装置及び信号復号方法並びに信号復号処理をコンピュータに行わせるためのプログラムを記録した記録媒体
JP3189876B2 (ja) * 1997-06-09 2001-07-16 日本電気株式会社 可変長符号復号化回路
JPH11284864A (ja) * 1998-03-27 1999-10-15 Fuji Xerox Co Ltd 画像復号装置
US6215424B1 (en) * 1998-12-16 2001-04-10 Thomson Licensing S.A. System for variable length codeword processing suitable for video and other applications
GB0004427D0 (en) * 2000-02-24 2000-04-12 Xeikon Nv Cleaning device
JP4013680B2 (ja) * 2002-07-19 2007-11-28 富士ゼロックス株式会社 復号装置および復号方法
US20060235683A1 (en) * 2005-04-13 2006-10-19 Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. Lossless encoding of information with guaranteed maximum bitrate
US8457419B2 (en) * 2007-04-13 2013-06-04 Research In Motion Limited Method of decoding entropy-encoded data
KR101539240B1 (ko) * 2007-06-14 2015-07-30 삼성전자주식회사 영상 데이터의 엔트로피 부호화, 복호화 방법 및 장치
US8406307B2 (en) * 2008-08-22 2013-03-26 Microsoft Corporation Entropy coding/decoding of hierarchically organized data
JP2011238301A (ja) * 2010-05-06 2011-11-24 Sony Corp 符号化装置、符号化方法、記録装置、記録方法、光記録媒体、復号装置、復号方法
JP2012060376A (ja) * 2010-09-08 2012-03-22 Olympus Corp データ圧縮装置、データ復号装置、データ圧縮方法、データ復号方法およびデータ圧縮および復号システム
GB2530312B (en) * 2014-09-19 2016-09-14 Imagination Tech Ltd Data compression

Also Published As

Publication number Publication date
US20160286083A1 (en) 2016-09-29
CN105991895B (zh) 2019-01-01
US9538044B2 (en) 2017-01-03
CN105991895A (zh) 2016-10-05
JP2016178639A (ja) 2016-10-06

Similar Documents

Publication Publication Date Title
US10136128B2 (en) Cell-based compression with edge detection
US8224101B2 (en) Image processing apparatus and control method thereof with color data and monochrome data selection
US8805069B2 (en) Cell-based compression of digital images
US9596383B2 (en) Interleaved encoding of compressed attribute and color planes
JP6569949B2 (ja) データ復号のための装置および方法
US9667839B2 (en) Digital image color plane compression
US9860427B2 (en) Digital image attribute plane compression
US9838570B2 (en) Cell-based compression with edge detection and interleaved encoding
US11803985B2 (en) Information processing apparatus, information processing method, and recording medium
JP6531640B2 (ja) 画像データを処理するための装置および方法
US8582168B2 (en) Image processing apparatus and processing method thereof
JP2005086353A (ja) 画像処理装置及びその制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
JP2008113268A (ja) データ符号化装置、データ復号装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171227

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190111

A524 Written submission of copy of amendment under section 19 (pct)

Free format text: JAPANESE INTERMEDIATE CODE: A524

Effective date: 20190311

A524 Written submission of copy of amendment under section 19 (pct)

Free format text: JAPANESE INTERMEDIATE CODE: A524

Effective date: 20190311

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: 20190712

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190725

R150 Certificate of patent or registration of utility model

Ref document number: 6569949

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150