"装置のコントローラ内にプログラムされる画像圧縮方法であって、a.画像を1又はそれ以上のブロックに分割するステップと、b.前記1又はそれ以上のブロックのうちの1つのブロックを複数の量子化係数値で符号化するステップと、c.前記複数の量子化係数値による前記符号化の最良モードを決定するステップと、d.前記符号化の前記最良モードで前記ブロックを処理して圧縮データを生成するステップと、を含むことを特徴とする方法。前記量子化係数値の各々の符号長を計算するステップをさらに含む、ことを特徴とする請求項1に記載の方法。前記最良モードを決定するステップが、ある量子化係数により、許可された最大ビット数よりも高いビット数が生じる場合に、前記量子化係数を自動的に拒絶するステップを含む、ことを特徴とする請求項1に記載の方法。前記ブロックを符号化するステップが、差分パルス符号変調符号化及びパルス符号変調符号化を用いて前記ブロックを符号化するステップを含む、ことを特徴とする請求項1に記載の方法。前記差分パルス符号変調符号化が、a.前記ブロックを量子化するステップと、b.前記ブロック内の各量子化サンプルの予測値をラスタ走査の順序で計算するステップと、c.前記サンプルの各々に関して、量子化ブロックサンプルと前記量子化サンプルの前記予測値との間の差分を求めることにより、量子化残差を決定するステップと、d.最初のサンプル量子化値及び量子化残差の組を出力するステップと、を含むことを特徴とする請求項4に記載の方法。前記最良モードが、劣化なく符号化されたビットを最も多く有する、ことを特徴とする請求項1に記載の方法。前記最良モードで前記ブロックを処理するステップが、パルス符号変調符号化又は差分パルス符号変調符号化を含み、該差分パルス符号変調符号化は、信号ビット作成、エントロピ符号化、及び微調整をさらに含む、ことを特徴とする請求項1に記載の方法。前記エントロピ符号化が、量子化残差に関して、複数の振幅ビット、同等数の先行するゼロ、及び符号ビットを決定するステップを含む、ことを特徴とする請求項7に記載の方法。前記圧縮データが、一定の予め設定したサイズである、ことを特徴とする請求項1に記載の方法。前記コントローラが、プログラムされたコンピュータ可読媒体及び特定用途向け回路から成る群から選択される、ことを特徴とする請求項1に記載の方法。前記装置が、パーソナルコンピュータ、ラップトップコンピュータ、コンピュータワークステーション、サーバ、メインフレームコンピュータ、ハンドヘルドコンピュータ、携帯情報端末、セルラ/携帯電話機、スマート家電、ゲーム機、デジタルカメラ、デジタルカムコーダ、カメラ付き電話機、iPhone、iPod登録商標、ビデオプレーヤ、DVDライタ/プレーヤ、テレビ、及び家庭用娯楽システムから成る群から選択される、ことを特徴とする請求項1に記載の方法。装置のコントローラ内にプログラムされる画像ブロック復号方法であって、a.前記画像ブロックが差分パルス符号変調を用いて符号化されているか、それともパルス符号変調を用いて符号化されているかを判定するステップと、b.前記画像ブロックが差分パルス符号変調を用いて符号化されている場合、差分パルス符号変調復号を用いて前記画像ブロックを復号するステップと、c.前記画像ブロックがパルス符号変調を用いて符号化されている場合、パルス符号変調復号を用いて前記画像ブロックを復号するステップと、を含むことを特徴とする方法。前記画像ブロックが、他の画像ブロックとは無関係に復号される、ことを特徴とする請求項12に記載の方法。装置のコントローラ内にプログラムされるエンコーダであって、a.1又はそれ以上のブロックのうちの1つのブロックを複数の量子化係数値によって符号化するための、第1の量子化係数による差分パルス符号変調符号化モジュールと、b.符号化ブロックの符号長を求めるための符号長計算モジュールと、c.前記複数の量子化係数値による前記符号化の最良モードを決定するためのモード決定モジュールと、d.前記最良モードとしてパルス符号変調が選択された場合にパルス符号変調符号化を実行するためのパルス符号変調モジュールと、e.前記最良モードとして差分パルス符号変調が選択された場合に、前記1又はそれ以上のブロックのうちの1つのブロックを、選択された最良モード量子化係数によって符号化するための、第2の量子化係数による差分パルス符号変調符号化モジュールと、を備えることを特徴とするエンコーダ。a.前記第2の差分パルス符号変調モジュールを示すビットを生成するための信号ビット作成モジュールと、b.ビットストリームを生成するためのエントロピ符号化モジュールと、c.前記ビットストリームを微調整するための微調整モジュールと、をさらに備えることを特徴とする請求項14に記載のエンコーダ。前記ビットストリームが、一定の予め設定したサイズである、ことを特徴とする請求項15に記載のエンコーダ。装置のコントローラ内にプログラムされるデコーダであって、a.前記ブロックが差分パルス符号変調用いて符号化されているか、それともパルス符号変調を用いて符号化されているかを判定するための判定モジュールと、b.前記ブロックが差分パルス符号変調を用いて符号化されている場合、差分パルス符号変調復号を用いて前記ブロックを復号するための差分パルス符号変調モジュールと、c.前記ブロックがパルス符号変調を用いて符号化されている場合、パルス符号変調復号を用いて前記ブロックを復号するためのパルス符号変調モジュールと、を備えることを特徴とするデコーダ。装置のコントローラ内にプログラムされるシステムであって、エンコーダ及びデコーダを備え、a.前記エンコーダが、i.画像を1又はそれ以上のブロックに分割し、ii.前記1又はそれ以上のブロックのうちの1つのブロックを複数の量子化係数値によって符号化し、iii.前記複数の量子化係数値による前記符号化の最良モードを決定し、iv.前記符号化の前記最良モードによって前記ブロックを処理して圧縮データを生成し、b.前記デコーダが、i.前記ブロックが差分パルス符号変調を用いて符号化されているか、それともパルス符号変調を用いて符号化されているかを判定し、ii.前記ブロックが差分パルス符号変調を用いて符号化されている場合、差分パルス符号変調復号を用いて前記ブロックを復号し、iii.前記ブロックがパルス符号変調を用いて符号化されている場合、パルス符号変調復号を用いて前記ブロックを復号する、ことを特徴とするシステム。a.ビデオを取得するためのビデオ取得要素と、b.アプリケーションを記憶するためのメモリであって、i.画像を1又はそれ以上のブロックに分割し、ii.前記1又はそれ以上のブロックのうちの1つのブロックを複数の量子化係数値によって符号化し、iii.前記複数の量子化係数値による前記符号化の最良モードを決定し、iv.前記符号化の前記最良モードによって前記ブロックを処理して圧縮データを生成する、ためのアプリケーションを記憶するためのメモリと、c.前記メモリに結合されて、前記アプリケーションを処理するように構成された処理要素と、を備えることを特徴とするカメラ装置。前記圧縮データが、一定の予め設定したサイズである、ことを特徴とする請求項19に記載のカメラ。ランダムアクセス機能による画像圧縮方法。この方法は、デジタル画像のイントラ符号化を含む。画像を小ブロックに分割し、各ブロックを、画像内のその他のブロックとは無関係に符号化する。エンコーダが、ブロックごとに、一定の予め設定した数のビットを生成する。各画像ブロックの復号を、他のいずれの画像ブロックとも無関係に行うことができる。1つの側面では、装置のコントローラ内にプログラムされる画像圧縮方法が、画像を1又はそれ以上のブロックに分割するステップと、これらの1又はそれ以上のブロックのうちの1つのブロックを複数の量子化係数値で符号化するステップと、この複数の量子化係数値による符号化の最良モードを決定するステップと、この符号化の最良モードでブロックを処理して圧縮データを生成するステップと、を含む。この方法は、量子化係数値の各々の符号長を計算するステップをさらに含む。最良モードを決定するステップは、ある量子化係数により、許可された最大ビット数よりも高いビット数が生じる場合に、この量子化係数を自動的に拒絶するステップを含む。ブロックを符号化するステップは、差分パルス符号変調符号化及びパルス符号変調符号化を用いてブロックを符号化するステップを含む。差分パルス符号変調符号化は、ブロックを量子化するステップと、このブロック内の各量子化サンプルの予測値をラスタ走査の順序で計算するステップと、これらのサンプルの各々に関して、量子化ブロックサンプルと量子化サンプルの予測値との間の差分を求めることにより、量子化残差を決定するステップと、最初のサンプル量子化値及び量子化残差の組を出力するステップと、を含む。最良モードは、オリジナルブロックサンプルのうちで、劣化なく符号化されたビットを最も多く有する。最良モードでブロックを処理するステップは、パルス符号変調符号化又は差分パルス符号変調符号化を含み、この差分パルス符号変調符号化は、信号ビット作成、エントロピ符号化、及び微調整をさらに含む。エントロピ符号化は、量子化残差に関して、複数の振幅ビット、同等数の先行するゼロ、及び符号ビットを決定するステップを含む。圧縮データは、一定の予め設定したサイズである。コントローラは、プログラムされたコンピュータ可読媒体及び特定用途向け回路から成る群から選択される。装置は、パーソナルコンピュータ、ラップトップコンピュータ、コンピュータワークステーション、サーバ、メインフレームコンピュータ、ハンドヘルドコンピュータ、携帯情報端末、セルラ/携帯電話機、スマート家電、ゲーム機、デジタルカメラ、デジタルカムコーダ、カメラ付き電話機、iPhone、iPod登録商標、ビデオプレーヤ、DVDライタ/プレーヤ、テレビ、及び家庭用娯楽システムから成る群から選択される。別の態様では、装置のコントローラ内にプログラムされる画像ブロック復号方法が、画像ブロックが差分パルス符号変調を用いて符号化されているか、それともパルス符号変調を用いて符号化されているかを判定するステップと、画像ブロックが差分パルス符号変調を用いて符号化されている場合、差分パルス符号変調復号を用いて画像ブロックを復号するステップと、画像ブロックがパルス符号変調を用いて符号化されている場合、パルス符号変調復号を用いて画像ブロックを復号するステップと、を含む。画像ブロックは、他の画像ブロックとは無関係に復号される。別の態様では、装置のコントローラ内にプログラムされるエンコーダが、1又はそれ以上のブロックのうちの1つのブロックを複数の量子化係数値によって符号化するための、第1の量子化係数による差分パルス符号変調符号化モジュールと、符号化ブロックの符号長を求めるための符号長計算モジュールと、複数の量子化係数値による符号化の最良モードを決定するためのモード決定モジュールと、この最良モードとしてパルス符号変調が選択された場合にパルス符号変調符号化を実行するためのパルス符号変調モジュールと、最良モードとして差分パルス符号変調が選択された場合に、1又はそれ以上のブロックのうちの1つのブロックを、選択された最良モード量子化係数によって符号化するための、第2の量子化係数による差分パルス符号変調符号化モジュールと、を備える。このエンコーダは、第2の差分パルス符号変調モジュールを示すビットを生成するための信号ビット作成モジュールと、ビットストリームを生成するためのエントロピ符号化モジュールと、ビットストリームを微調整するための微調整モジュールと、をさらに備える。ビットストリームは、一定の予め設定したサイズである。別の態様では、装置のコントローラ内にプログラムされるデコーダが、ブロックが差分パルス符号変調用いて符号化されているか、それともパルス符号変調を用いて符号化されているかを判定するための判定モジュールと、ブロックが差分パルス符号変調を用いて符号化されている場合、差分パルス符号変調復号を用いてブロックを復号するための差分パルス符号変調モジュールと、ブロックがパルス符号変調を用いて符号化されている場合、パルス符号変調復号を用いてブロックを復号するためのパルス符号変調モジュールと、を備える。別の態様では、装置のコントローラ内にプログラムされるシステムが、画像を1又はそれ以上のブロックに分割し、これらの1又はそれ以上のブロックのうちの1つのブロックを複数の量子化係数値によって符号化し、この複数の量子化係数値による符号化の最良モードを決定し、この符号化の最良モードによってブロックを処理して圧縮データを生成するエンコーダと、ブロックが差分パルス符号変調を用いて符号化されているか、それともパルス符号変調を用いて符号化されているかを判定し、ブロックが差分パルス符号変調を用いて符号化されている場合、差分パルス符号変調復号を用いてブロックを復号し、ブロックがパルス符号変調を用いて符号化されている場合、パルス符号変調復号を用いてブロックを復号するデコーダと、を備える。別の態様では、カメラ装置が、ビデオを取得するためのビデオ取得要素と、画像を1又はそれ以上のブロックに分割し、これらの1又はそれ以上のブロックのうちの1つのブロックを複数の量子化係数値によって符号化し、これらの複数の量子化係数値による符号化の最良モードを決定し、この符号化の最良モードによってブロックを処理して圧縮データを生成するためのアプリケーションを記憶するためのメモリと、このメモリに結合されて、アプリケーションを処理するように構成された処理要素と、を備える。圧縮データは、一定の予め設定したサイズである。ビデオ圧縮には、イントラ符号化及びインター符号化という2種類の符号化がある。イントラ符号化は、現在のフレームからの情報を使用し、ビデオシーケンス内の他のフレームからの相対情報を使用しない。本明細書で説明する方法は、イントラ符号化に焦点を当てたものであるが、この方法を他の符号化の実施構成に使用することもできる。この方法では、画像をブロックに分割し、各ブロックを他のブロックとは無関係に符号化し、ブロックごとに、一定の予め設定した数のblockBitBudgetビットをエンコーダにより生成する。本明細書で説明する方法を使用して、他のいずれの画像部分も復号する必要なくブロックを復号することができる。各ブロックは、画像の一部の1又はそれ以上の色成分のサンプル値を有する。各ブロックの形状は、通常は長方形であるが、正方形、円形、卵形又は三角形などのあらゆる形状が可能である。エンコーダブロック内の画像サンプルの数を、samplesNumと呼ぶ。従って、エンコーダは、1つのブロックに関して特定数のサンプル当たりビットbpsを含むサンプルを生成し、bps=blockBitBudget/samplesNumである。bpsの値は1を上回るべきであり、典型的なbpsの値は、4、5、又は6である。本明細書で使用する他の用語には、ブロックをパルス符号変調PCMモードで符号化した場合に生成されるビット数DPCM及びPCMを示すために使用される1ビットを除くであるPCMcodeLengthTotalPCMcodeLengthTotalはblockBitBudgetに等しい、ブロックを差分パルス符号変調DPCMモードで符号化した場合に生成されるビット数であるDPCMcodeLengthTotal、及びオリジナルの画像サンプルのビット深度であるdepthがあり、典型的なdepth値は、8、10又は12を含むが、その他の値も可能である。エンコーダの目的は、depth個のbpsを有する画像を取得して、この画像がブロック当たりblockBitBudget個のビットを有するように画像のビットストリームを生成することである。その後、デコーダがこの逆を行う。図1は、いくつかの実施形態によるエンコーダ100のブロック図である。オリジナルデータブロックを、DPCM符号化を用いて、1、2、4、8、16、32、64及び128などの異なる量子化係数で符号化する。符号長は、各DPCM符号化から計算される。この符号長は、全ての信号ビットを含むが、後述するような微調整ビット及びゼロ詰めビットは除外する。ある量子化係数でのDPCM符号化によって生じるビット数が、許可された最大ビット数blockBitBudgetよりも大きくなる場合、この符号化は自動的に拒絶される。例えば、最大ビット数が160であり、ある量子化係数に関する符号化によって生じるビット数が170である場合、この符号化は拒絶される。データブロックには、PCMを用いた符号化も行われる。残りの符号化のうち、異なるDPCM符号化及びPCM符号化から最良モードが選択される。この最良モードは、ブロックサンプル当たりの劣化なく符号化されるビット数によって表される、デコーダにおける再構成品質が最も高いものに対応する。DPCMモードを選択した場合、信号ビットの作成、qfによるDPCM符号化の後のエントロピ符号化、及び微調整などのさらなるステップが行われる。PCMモードを選択した場合、PCM処理が行われる。この結果、ビデオビットストリームが圧縮される。いくつかの実施形態では、エンコーダ100が、qf102によるDPCM符号化、符号長計算104、モード決定106、PCM108、信号ビット作成110、エントロピ符号化112、及び微調整114を行うための1又はそれ以上のモジュールを含む。これらのモジュールは、ハードウェア、ソフトウェア、ファームウェア、又はこれらのいずれかの組み合わせで実現することができる。qfモジュールによるDPCM符号化DPCM符号化の場合、ブロックは、1つの量子化ステップサイズ量子化係数とも呼ぶqfで一様に量子化され、この場合、qfは2の累乗、すなわちqf=2qnである。量子化後のブロックのサンプル値を、量子化ブロック又は量子化サンプルと呼ぶ。基本的に、量子化を行うと最下位ビットが除去される。例えば、10個のビットが存在し、qnが4である場合、6個の最上位ビットのみが使用される。量子化ブロック内の各色成分の最初のサンプルを除くサンプルの各々に関し、量子化ブロック内の1又はそれ以上のすでに量子化された他のサンプル値に基づいて、ラスタ走査の順序で予測値を計算する。この予測値は、左側画素などの隣接画素をa、上方画素などの隣接画素をb、及び斜めの隣接画素をcとする平面予測ab-c、JPEG-LS予測、又は符号化されたブロック外のサンプル値へのアクセスを必要としない他のあらゆる種類の予測を使用して取得することができる。量子化ブロック内のサンプルとその予測との差分を計算し、この差分を量子化残差と呼ぶ。qfによるDPCM符号化の出力は、各成文の最初のサンプルの量子化値、及び残りのサンプルの量子化残差を含む。量子化値、及び量子化残差の振幅は各々、depth-qnビットである。量子化残差は、符号のための追加の1ビットも有する。符号長計算モジュールqfモジュールによるDPCM符号化の出力の各々に関して値を生成し、これをDPCMcodeLengthTotalで示す。DPCMcodeLengthTotalは、DPCMモードを用いてブロックを符号化した場合にエントロピ符号化モジュール及び信号ビット作成モジュールが生成する符号の長さの合計である。DPCMcodeLengthTotalは、ビットストリームを生成せずに計算することができる。モード決定モジュールモード決定モジュールは、blockBitBudgetよりもDPCMcodeLengthTotalの方が大きな全てのDPCMモードを拒絶する。残りのモードに関しては、これらのモードの各々に関してモード決定モジュールがビット範囲を計算する。所与のモードでは、そのモードで劣化なく符号化されるブロック内の全てのオリジナルサンプルのビット数がビット範囲になる。ビット範囲は、モード決定に使用される符号化品質の尺度である。PCMモードでは、ビット範囲を常にblockBitBudget-1に等しく設定することができる。DPCMモードでは、ビット範囲が可変であり、qn及びブロックサンプル値に依存する。モード決定モジュールは、ビット範囲が最も大きなモード最良モードなどを選択する。最良モードのモード数を、モード決定モジュールの出力とすることができる。PCMモジュール最良モードがPCMモードである場合にのみ、ビットストリームの生成にPCMモジュールを用いる。PCMモジュールは、ビットストリームを生成する。ビットストリームの最初のビットは、PCMモードを示す0である。floorxを、x以下の最大整数を表すものとして、n=floorblockBitBudget-l/samplesNumとする。また、f=nlsamplesNum-blockBitBudget-1とする。この場合、ブロック内のf個のサンプル例えば、ラスタ走査順の最初のf個のサンプルなどが、量子化数qn=depth-nによって量子化され、残りのサンプルは、qn=depth-n-1によって量子化される。この結果、量子化値のビットは、変化なくビットストリーム内に配置される。bpsが整数の場合、これがビットの残りに簡約化される。ビットの残りは、以下のようにして生成される。ブロック内の最初のサンプルは、量子化係数qn=depth-bps1によって一様に量子化される。この値は、2進表現でbps-1ビットを有する。ブロック内のサンプルの残りは、量子化係数qn=depth-bpsによって一様に量子化される。これらの値は各々、2進表現でbpsビットを有する。量子化サンプルのビットは、変化なくビットストリーム内に配置される。PCMモジュールは、正確にblockBitBudgetビットを生成する。信号ビット作成モジュール最良モードがDPCMモードである場合、信号ビット作成モジュールはm2ビットを生成し、その後これが、特定のDPCMモジュール及びallZeroFlagの値を示すために使用される。最初のビットは、最良モードがDPCMモードであり、PCMモードではないことを示す1である。PCMモード及びDPCMモードとして0及び1をそれぞれ指定しているが、この逆も使用できると理解されたい。次のm個のビットは、DPCMモード数を表す。次のビットは、allZeroFlagビットであり、量子化残差の少なくとも1つが非ゼロである場合には0に設定され、量子化結果の全てがゼロである場合には1に設定される。エントロピ符号化モジュールエントロピ符号化モジュールは、ビットストリームを生成する。このビットストリーム内には、各色成分の量子化された最初のサンプルサンプル当たりdepth-qn個のビットの2進表現が配置される。allZeroFlagが1である場合、他のビットはビットストリーム内に配置されない。allZeroFlagが1でない場合、本明細書で説明するように、ブロック内のサンプルの残りに関して、マッピング及び指数ゴロム符号を適用することにより、可変長符号VLCビットを生成する。所与の量子化残差値に関し、エントロピ符号器は、以下のステップによってVLCを計算する。1.量子化残差の振幅を表すのに必要な総ビット数最上位1の左側の複数の0は無視するをカウントする。これにより、量子化残差を表す値Kが得られる。2.ビットストリームにK個のゼロを書き込む。3.K個の振幅ビットを書き込む。4.負の場合には0を、ゼロ又は正の場合には1の符号ビットを書き込む。図2に、いくつかの実施形態による例示的なVLC計算を示している。図3に、いくつかの実施形態による例示的なエントロピ符号化テーブルを示す。このテーブルに示すように、最も左側の列は量子化残差の入力である。中央の列は、入力すなわち振幅及び符号ビットの2進表現であり、符号ビットは、負の場合には0、正及びゼロの場合には1である。出力は、K個のゼロの後に、K個の振幅ビット及び末尾の符号ビットを含む。微調整モジュール微調整モジュールは、minblockBitBudget-DPCMcodeLengthTotal,qnsamplesNum個のビットを含むビットストリームを最初に生成し、この場合、DPCMcodeLengthTotal及びqnの値は最良モードの値である。これらのビットはオリジナルサンプルのビットであり、DPCMモジュールによって符号化されない最上位ビットから開始して、各サンプルの最下位ビットに至る。次に、blockBitBudget-DPCMcodeLengthが、qnsamplesNumよりも大きい場合、これは、ブロック全体が、blockBitBudgetビットよりも少ないビットによって劣化なく符号化されたことを意味する。この場合、ビットストリーム内に、blockBitBudget-DPCMcodeLength-qnsamplesNum個のゼロをゼロ詰めビットとして配置して、エンコーダにより生成される総ビット数をblockBitBudgetに等しくする。図4に、いくつかの実施形態による、DPCMモードのビットストリーム構造400を示す。ビットストリーム構造400は、blockBitBudgetの長さを有する。最上位ビットとも呼ばれる最初のビットは、DPCMモードを示す1である。次に、m個のビットを使用してqfの値を示す。次に、各色成分における最初のサンプルを表すdepth-qn個のビットが続く。次に、allZeroFlagビットがくる。その後、ブロックの残りのサンプルの各々に関して、エントロピ符号化モジュールにより生成されたビットが続く。この時点での総ビット数が、ブロックビット予算blockbitbudgetよりも少ない場合、追加の微調整ビットを加えて、符号化精度をさらに高める。最終的に、微調整ビットを送信した後にブロックが劣化なく符号化された場合、末尾にゼロ詰めビットを添付する。図5に、いくつかの実施形態による、PCMモードのビットストリーム構造500を示す。ビットストリーム構造500は、blockBitBudgetの長さを有する。最上位ビットとも呼ばれる最初のビットは、PCMモードを示す0である。次に、残りの画素に対して、ブロック内の画素を全て表すPCM符号が含まれる。デコーダビットストリームの最初のビットを読み出す。このビットが0である場合、デコーダはPCM復号を適用する。このビットが1である場合、デコーダはDPCM復号を適用する。PCM復号上記の符号化のためのPCMモジュールの欄に記載した表記を使用すると、ブロック内の最初のf個のサンプルの各々に関して、ビットストリームからn個のビットを読み出し、デコーダにおいて再構成されたサンプルのn個の最上位ビットとして配置する。ブロック内のサンプルの残りの各々に関して、ビットストリームからn1ビットを読み出し、この再構成されたサンプルのn1個の最上位ビットとして配置する。bpsが整数である場合、この処理は簡約化され、最初のサンプルに関して、ビットストリームからbps-1個のビットを読み出す。これらのビットを、最初のサンプルのbps-1個の最上位ビットとしてブロック内に配置する。ブロック内の残りのsamplesNum-1個のサンプルの各々に関して、ビットストリームからbps個のビットを読み出し、このビットをサンプルのbps個の最上位ビットとして配置する。上記の処理において設定されていないサンプルの次の最上位ビットを1に設定する。depth個のビットサンプルのビットの残りを0に設定する。DPCM復号ビットストリームの次のm個のビットを読み出す。これらのm個のビットを使用して、量子化に使用するqf値を復号する。ビットストリームの次のビットを読み出す。このビットは、allZeroFlagを表す。各色成分の最初のサンプルのdepth-qn個の最上位ビットをビットストリームから読み出し、これらのサンプルの最上位ビットとして配置する。allZeroFlag=0の場合、残りのサンプルに関して、エントロピ符号化したVLCを読み出し復号して量子化残差を生成する。各サンプルに関し、すでに符号化/復号した量子化サンプルに基づいてエンコーダにおいて計算したように、量子化サンプルの予測を計算する。その後、この量子化サンプルの予測値に量子化残差を加えて量子化サンプルを生成する。これらの量子化サンプルを、サンプルの残りのdepth-qn個の最上位ビットとして配置する。allZeroFlag=0でない場合allZeroFlag=1などの場合、サンプルの残りのdepth-qn個の最上位ビットを0に設定する。qn>0の場合、各サンプルの残りのqn個のビットに関して、もしあれば微調整ビットを読み出し、エンコーダによってビットストリーム内に配置された順序と全く同じ順序で適所に配置する。デコーダは、あったとしてもゼロ詰めビットを無視する。もしあれば各サンプルの残りビットに関して、最上位ビットを1に設定し、ビットの残りを0に設定する。図6は、いくつかの実施形態による画像符号化方法のフロー図である。ステップ600において、画像をブロックに分割する。ステップ602において、ブロックを異なる量子化係数値でDPCM符号化する。ステップ604において、これらの量子化係数の各々の符号長を計算する。ステップ606において、最良モードがどれがであるかを決定する。最良モードは、量子化係数の異なるDPCM符号化及びPCM符号化から選択される。本明細書で説明したように、最良モードは、ビット範囲によって測定した最も劣化の少ないブロックである。ビット範囲は、DPCMにおけるエントロピ符号化及び微調整を通じて、或いはPCMにおいてビットストリーム内にビットを明示的に配置することによって符号化された全てのビットの数のみを含む。例えば、劣化のないビットの数をカウントして、ビットの劣化が最も少ないモードが最良モードに等しい。ステップ606におけるモード決定に応じて、次のステップは、DPCMの場合又はPCMの場合のいずれかになる。PCMが選択された場合、ステップ608においてPCM処理を行う。DPCMが選択された場合、ステップ610において信号ビットを作成する処理を行う。ステップ612において、qfによるDPCM符号化を行う。いくつかの実施形態では、ステップ602においてqfによるDPCM符号化を行った場合、このステップは繰り返されない。いくつかの実施形態では、ステップ602とステップ612が異なり、ステップ612が行われる。例えば、いくつかの実施形態では、ステップ602においてビットストリームを生成せず、ステップ612においてビットストリームを生成する。或いは、ステップ602において符号化を行わずにビットをカウントし、ステップ612において符号化を行う。その後、ステップ614においてエントロピ符号化を行う。ステップ616において微調整を行う。最終的なビットストリームは圧縮データとなる。これらのステップの順序は変更することができ、実施形態によってはいくつかのステップを省略することができる。図7は、いくつかの実施形態による画像復号方法のフロー図である。ステップ700において、ブロックがDPCM符号化を使用して符号化されているか、それともPCM符号化を使用して符号化されているかを判定する。PCM符号化を使用している場合、ステップ702においてPCM復号を使用する。PCM復号については、本明細書で説明した。DPCM符号化を使用している場合、ステップ704においてDPCM復号を使用する。図8は、いくつかの実施形態による、ランダムアクセス機能による画像圧縮方法を実施するように構成された例示的なコンピュータ装置800のブロック図である。コンピュータ装置800は、画像及びビデオなどの情報を取得し、記憶し、計算し、通信し、及び/又は表示するために使用することができる。例えば、コンピュータ装置800は、画像を取得して記憶することができる。装置800上で画像を取得又は閲覧する際に、画像圧縮方法を使用することができる。一般に、コンピュータ装置800を実現するのに適したハードウェア構造として、ネットワークインターフェイス802、メモリ804、プロセッサ806、単複のI/O装置808、バス810、及び記憶装置812が挙げられる。十分な速度の好適なプロセッサを選択する限り、プロセッサの選択は重要ではない。メモリ804は、当業で公知のいずれの従来のコンピュータメモリであってもよい。記憶装置812は、ハードドライブ、CD-ROM、CDRW、DVD、DVDRW、フラッシュメモリカード、又はその他のいずれかの記憶装置を含むことができる。コンピュータ装置800は、1又はそれ以上のネットワークインターフェイス802を含むことができる。ネットワークインターフェイスの例には、イーサネット又はその他の種類のLANに接続されたネットワークカードがある。単複のI/O装置808は、キーボード、マウス、モニタ、ディスプレイ、プリンタ、モデム、タッチ画面、ボタンインターフェイス及びその他の装置のうちの1又はそれ以上を含むことができる。画像圧縮方法を実施するために使用される単複の画像圧縮アプリケーション830は、記憶装置812及びメモリ804に記憶されて、アプリケーションが通常処理されるように処理される可能性が高い。コンピュータ装置800には、図8に示すものよりも多くの又は少ない構成要素を含めることができる。いくつかの実施形態では、画像圧縮ハードウェア820が含まれる。図8のコンピュータ装置800は、画像圧縮用のアプリケーション830及びハードウェア820を含むが、この画像圧縮方法を、ハードウェア、ファームウェア、ソフトウェア又はこれらのいずれかの組み合わせでコンピュータ装置上に実装することもできる。例えば、いくつかの実施形態では、画像圧縮アプリケーション830がメモリ内にプログラムされ、プロセッサを使用して実行される。別の例として、いくつかの実施形態では、画像圧縮ハードウェア820が、画像圧縮方法を実施するように特別に設計されたゲートを含むプログラムされたハードウェア論理である。いくつかの実施形態では、単複の画像圧縮アプリケーション830が、複数のアプリケーション及び/又はモジュールを含む。本明細書で説明したように、これらのモジュールは、qfによるDPCM符号化、符号長計算、モード決定、PCM、信号ビット作成、エントロピ符号化、及び微調整を含む。いくつかの実施形態では、qfモジュールによる第2のDPCM符号化を利用して、最良モードの決定に役立てるために第1のDPCM符号化を使用し、符号化を行うために第2のDPCM符号化を使用する。いくつかの実施形態では、量子化係数ごとに別個のDPCM符号化モジュールが存在する。いくつかの実施形態では、モジュールが、1又はそれ以上のサブモジュールも含む。いくつかの実施形態では、これより少ない又は追加のモジュールを含めることができる。好適なコンピュータ装置の例には、パーソナルコンピュータ、ラップトップコンピュータ、コンピュータワークステーション、サーバ、メインフレームコンピュータ、ハンドヘルドコンピュータ、携帯情報端末、セルラ/携帯電話機、スマート家電、ゲーム機、デジタルカメラ、デジタルカムコーダ、カメラ付き電話機、iPod登録商標/iPhone、ビデオプレーヤ、DVDライタ/プレーヤ、テレビ、家庭用娯楽システム、又はその他のいずれかの好適なコンピュータが挙げられる。画像圧縮方法を利用するには、ユーザがデジタルカムコーダ上などにビデオ/画像を取得し、このビデオの取得中又は取得後に、画像圧縮方法によって各ビデオが自動的に圧縮され、ビデオが適切に圧縮されて高品質ビデオが維持されるようにする。画像圧縮方法は、ユーザの関与を伴わずに自動的に行われる。同様に、デコーダは、ビデオを復号しているときには、適切に表示するように自動的にビデオを復号する。動作時には、本明細書で説明した画像圧縮方法が、いくつかの実施形態では、低いハードウェアコスト例えば、それほど多くの論理ゲートを必要としない、低い複雑度、少ない遅延、非常に高い視覚品質例えば、視覚的に劣化しないで画像圧縮を行い、復号のために他のブロックに依存しない例えば、ブロックサイズが固定されているので、あらゆるブロックを復号する。この画像圧縮方法は、限定するわけではないが、無線高品位無線HDを含むあらゆる実施構成で使用することができる。本明細書で説明した画像圧縮方法は、ビデオ及び/又は画像とともに使用することができる。ランダムアクセス機能による画像圧縮方法のいくつかの実施形態1.装置のコントローラ内にプログラムされる画像圧縮方法であって、a.画像を1又はそれ以上のブロックに分割するステップと、b.前記1又はそれ以上のブロックのうちの1つのブロックを複数の量子化係数値で符号化するステップと、c.前記複数の量子化係数値による前記符号化の最良モードを決定するステップと、d.前記符号化の前記最良モードで前記ブロックを処理して圧縮データを生成するステップと、を含むことを特徴とする方法。2.前記量子化係数値の各々の符号長を計算するステップをさらに含む、ことを特徴とする条項1に記載の方法。3.前記最良モードを決定するステップが、ある量子化係数により、許可された最大ビット数よりも高いビット数が生じる場合に、前記量子化係数を自動的に拒絶するステップを含む、ことを特徴とする条項1に記載の方法。4.前記ブロックを符号化するステップが、差分パルス符号変調符号化及びパルス符号変調符号化を用いて前記ブロックを符号化するステップを含む、ことを特徴とする条項1に記載の方法。5.前記差分パルス符号変調符号化が、a.前記ブロックを量子化するステップと、b.前記ブロック内の各量子化サンプルの予測値をラスタ走査の順序で計算するステップと、c.前記サンプルの各々に関して、量子化ブロックサンプルと前記量子化サンプルの前記予測値との間の差分を求めることにより、量子化残差を決定するステップと、d.最初のサンプル量子化値及び量子化残差の組を出力するステップと、を含むことを特徴とする条項4に記載の方法。6.前記最良モードが、劣化なく符号化されたビットを最も多く有する、ことを特徴とする条項1に記載の方法。7.前記最良モードで前記ブロックを処理するステップが、パルス符号変調符号化又は差分パルス符号変調符号化を含み、該差分パルス符号変調符号化は、信号ビット作成、エントロピ符号化、及び微調整をさらに含む、ことを特徴とする条項1に記載の方法。8.前記エントロピ符号化が、量子化残差に関して、複数の振幅ビット、同等数の先行するゼロ、及び符号ビットを決定するステップを含む、ことを特徴とする条項7に記載の方法。9.前記圧縮データが、一定の予め設定したサイズである、ことを特徴とする条項1に記載の方法。10.前記コントローラが、プログラムされたコンピュータ可読媒体及び特定用途向け回路から成る群から選択される、ことを特徴とする条項1に記載の方法。前記装置が、パーソナルコンピュータ、ラップトップコンピュータ、コンピュータワークステーション、サーバ、メインフレームコンピュータ、ハンドヘルドコンピュータ、携帯情報端末、セルラ/携帯電話機、スマート家電、ゲーム機、デジタルカメラ、デジタルカムコーダ、カメラ付き電話機、iPhone、iPod登録商標、ビデオプレーヤ、DVDライタ/プレーヤ、テレビ、及び家庭用娯楽システムから成る群から選択される、ことを特徴とする条項1に記載の方法。12.装置のコントローラ内にプログラムされる画像ブロック復号方法であって、a.前記画像ブロックが差分パルス符号変調を用いて符号化されているか、それともパルス符号変調を用いて符号化されているかを判定するステップと、b.前記画像ブロックが差分パルス符号変調を用いて符号化されている場合、差分パルス符号変調復号を用いて前記画像ブロックを復号するステップと、c.前記画像ブロックがパルス符号変調を用いて符号化されている場合、パルス符号変調復号を用いて前記画像ブロックを復号するステップと、を含むことを特徴とする方法。13.前記画像ブロックが、他の画像ブロックとは無関係に復号される、ことを特徴とする条項12に記載の方法。14.装置のコントローラ内にプログラムされるエンコーダであって、a.1又はそれ以上のブロックのうちの1つのブロックを複数の量子化係数値によって符号化するための、第1の量子化係数による差分パルス符号変調符号化モジュールと、b.符号化ブロックの符号長を求めるための符号長計算モジュールと、c.前記複数の量子化係数値による前記符号化の最良モードを決定するためのモード決定モジュールと、d.前記最良モードとしてパルス符号変調が選択された場合にパルス符号変調符号化を実行するためのパルス符号変調モジュールと、e.前記最良モードとして差分パルス符号変調が選択された場合に、前記1又はそれ以上のブロックのうちの1つのブロックを、選択された最良モード量子化係数によって符号化するための、第2の量子化係数による差分パルス符号変調符号化モジュールと、を備えることを特徴とするエンコーダ。15.a.前記第2の差分パルス符号変調モジュールを示すビットを生成するための信号ビット作成モジュールと、b.ビットストリームを生成するためのエントロピ符号化モジュールと、c.前記ビットストリームを微調整するための微調整モジュールと、をさらに備えることを特徴とする条項14に記載のエンコーダ。16.前記ビットストリームが、一定の予め設定したサイズである、ことを特徴とする条項15に記載のエンコーダ。17.装置のコントローラ内にプログラムされるデコーダであって、a.前記ブロックが差分パルス符号変調用いて符号化されているか、それともパルス符号変調を用いて符号化されているかを判定するための判定モジュールと、b.前記ブロックが差分パルス符号変調を用いて符号化されている場合、差分パルス符号変調復号を用いて前記ブロックを復号するための差分パルス符号変調モジュールと、c.前記ブロックがパルス符号変調を用いて符号化されている場合、パルス符号変調復号を用いて前記ブロックを復号するためのパルス符号変調モジュールと、を備えることを特徴とするデコーダ。18.装置のコントローラ内にプログラムされるシステムであって、エンコーダ及びデコーダを備え、a.前記エンコーダが、i.画像を1又はそれ以上のブロックに分割し、ii.前記1又はそれ以上のブロックのうちの1つのブロックを複数の量子化係数値によって符号化し、iii.前記複数の量子化係数値による前記符号化の最良モードを決定し、iv.前記符号化の前記最良モードによって前記ブロックを処理して圧縮データを生成し、b.前記デコーダが、i.前記ブロックが差分パルス符号変調を用いて符号化されているか、それともパルス符号変調を用いて符号化されているかを判定し、ii.前記ブロックが差分パルス符号変調を用いて符号化されている場合、差分パルス符号変調復号を用いて前記ブロックを復号し、iii.前記ブロックがパルス符号変調を用いて符号化されている場合、パルス符号変調復号を用いて前記ブロックを復号する、ことを特徴とするシステム。19.a.ビデオを取得するためのビデオ取得要素と、b.i.画像を1又はそれ以上のブロックに分割し、ii.前記1又はそれ以上のブロックのうちの1つのブロックを複数の量子化係数値によって符号化し、iii.前記複数の量子化係数値による前記符号化の最良モードを決定し、iv.前記符号化の前記最良モードによって前記ブロックを処理して圧縮データを生成する、ためのアプリケーションを記憶するためのメモリと、c.前記メモリに結合されて、前記アプリケーションを処理するように構成された処理要素と、を備えることを特徴とするカメラ装置。20.前記圧縮データが、一定の予め設定したサイズである、ことを特徴とする条項19に記載のカメラ。本発明の構造及び動作の原理を容易に理解できるようにするために、詳細を盛り込んだ特定の実施形態を用いて本発明を説明した。本明細書における特定の実施形態及びその詳細についてのこのような言及は、本明細書に添付する特許請求の範囲を限定するためのものではない。当業者には、特許請求の範囲により定義される本発明の思想及び範囲から逸脱することなく、例示目的で選択した実施形態においてその他の様々な修正を行えることが容易に明らかになるであろう。"