(57)【要約】【課題】データの符号化に要する処理時間の短縮化を図ることができるデータ符号化方法及びその方法を用いたデータ符号化装置並びに画像処理装置を提供すること。【解決手段】本発明では、画像データ中の所定数の画素からなる画素ブロックに対して直交変換後に量子化することによって生成した複数の交流係数を低周波側から高周波側に向けて順に符号化していく符号化方法において、前記複数の交流係数のうちの有効な交流係数の個数を予め検出しておき、検出しておいた個数だけ前記有効な交流係数を符号化した時点で符号化を停止することにした。【選択図】      図１
2004328426.tif 000002
【特許請求の範囲】
【請求項１】
画像データ中の所定数の画素からなる画素ブロックに対して直交変換後に量子化することによって生成した複数の交流係数を低周波側から高周波側に向けて順に符号化していくデータ符号化方法において、
前記複数の交流係数のうちの有効な交流係数の個数を予め検出しておき、検出しておいた個数だけ前記有効な交流係数を符号化した時点で符号化を停止することを特徴とするデータ符号化方法。
【請求項２】
前記有効な交流係数の個数の検出は、前記画素ブロックに対する量子化時に行うことを特徴とする請求項１記載のデータ符号化方法。
【請求項３】
画像データ中の所定数の画素からなる画素ブロックに対して直交変換を行うことによって所定数の変換係数を生成する直交変換手段と、
各変換係数に対して量子化を行うことによって直流係数と複数の交流係数とを生成する量子化手段と、
前記複数の交流係数のうちの有効な交流係数の個数の検出を行う有効数検出手段と、
前記直流係数の符号化を行う直流符号化手段と、
前記複数の交流係数に対して低周波側から高周波側に向けて順に符号化を行い、しかも、前記有効数検出手段で検出した有効な交流係数の個数だけ前記有効な交流係数の符号化を行った時点で符号化を停止する交流符号化手段と
を有することを特徴とするデータ符号化装置。
【請求項４】
データ符号化装置を用いて画像データの符号化を行う画像処理装置において、
前記データ符号化装置は、
画像データ中の所定数の画素からなる画素ブロックに対して直交変換を行うことによって所定数の変換係数を生成する直交変換手段と、
各変換係数に対して量子化を行うことによって直流係数と複数の交流係数とを生成する量子化手段と、
前記複数の交流係数のうちの有効な交流係数の個数の検出を行う有効数検出手段と、
前記直流係数の符号化を行う直流符号化手段と、
前記複数の交流係数に対して低周波側から高周波側に向けて順に符号化を行い、しかも、前記有効数検出手段で検出した有効な交流係数の個数だけ前記有効な交流係数の符号化を行った時点で符号化を停止する交流符号化手段と
を有することを特徴とする画像処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、符号化方法及び同方法を用いた符号化装置並びに画像処理装置に関するものである。
【０００２】
【従来の技術】
データ量が多量な画像データを圧縮して符号化する方法としては、ＪＰＥＧ（Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｉｃ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）から提案されているベースラインプロセスが広く使用されている。
【０００３】
このベースラインプロセスでのデータ符号化方法では、次のようにして画像データを符号化している。
【０００４】
まず、画像データを８画素Ｘ８画素からなる画素ブロックに分割する。そして、以下に説明する処理は、この画素ブロックを一単位として行う。
【０００５】
次に、各画素ブロックの画素データに対して代表的な直交変換である離散コサイン変換（ＤＣＴ：Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ）を行うことによって６４個の変換係数を生成する。
【０００６】
次に、各変換係数を予め設定した変換特性値で除算することによって量子化を行い、１個の直流係数と６３個の交流係数とを生成する。
【０００７】
次に、１個の直流係数についてハフマン符号化を行う。
【０００８】
最後に、６３個の交流係数について低周波側から高周波側に向けて順にハフマン符号化を行う。
【０００９】
このように、ＪＰＥＧのベースラインプロセスによるデータ符号化方法では、全ての交流係数について低周波側から高周波側に向けて順にハフマン符号化を行う必要があった。
【００１０】
しかしながら、全ての交流係数が有効な係数（０でない係数）である場合は少なく、特に高周波側の交流係数には無効な係数（０である係数）が多く存在している。
【００１１】
そのため、全ての交流係数についてハフマン符号化を行うと、データの符号化に要する処理時間が長くなるおそれがあった。
【００１２】
そこで、符号処理に要する時間の短縮化を図ることを目的として、全ての交流係数についてハフマン符号化を行うのではなく、無効な交流係数が予め設定した所定数だけ連続する場合には、それよりも高周波側の交流係数が全て無効な係数であるとみなして、その時点で交流係数のハフマン符号化を停止し、それよりも高周波側の交流係数については符号化を行わないデータ符号化方法が提案されている（たとえば、特許文献１）。
【００１３】
【特許文献１】
特開平８−２１４１６８号公報
【００１４】
【発明が解決しようとする課題】
ところが、無効な交流係数が所定数だけ連続した時点で交流係数の符号化を停止してしまうと、それよりも高周波側の交流係数に有効な係数が含まれている場合も多く、その場合には、有効な交流係数が符号化されず、符号化した画像データを復元したときに、画像データの劣化が生じてしまうといった問題点があった。
【００１５】
すなわち、上記従来のデータ符号化方法は、符号化に要する処理時間を優先して、データの再現性を犠牲にしたものであった。
【００１６】
そこで、本発明では、データの再現性を損なうことなく、データの符号化に要する処理時間の短縮化を図ることができるデータ符号化方法及び同方法を用いて符号化を行うデータ符号化装置並びに画像処理装置を提供するものである。
【００１７】
【課題を解決するための手段】
すなわち、請求項１に係る本発明では、画像データ中の所定数の画素からなる画素ブロックに対して直交変換後に量子化することによって生成した複数の交流係数を低周波側から高周波側に向けて順に符号化していくデータ符号化方法において、前記複数の交流係数のうちの有効な交流係数の個数を予め検出しておき、検出しておいた個数だけ前記有効な交流係数を符号化した時点で符号化を停止することを特徴とするデータ符号化方法を提供する。
【００１８】
また、請求項２に係る本発明では、前記請求項１に係る本発明において、前記有効な交流係数の個数の検出は、前記画素ブロックに対する量子化時に行うことにした。
【００１９】
また、請求項３に係る本発明では、画像データ中の所定数の画素からなる画素ブロックに対して直交変換を行うことによって所定数の変換係数を生成する直交変換手段と、各変換係数に対して量子化を行うことによって直流係数と複数の交流係数とを生成する量子化手段と、前記複数の交流係数のうちの有効な交流係数の個数の検出を行う有効数検出手段と、前記直流係数の符号化を行う直流符号化手段と、前記複数の交流係数に対して低周波側から高周波側に向けて順に符号化を行い、しかも、前記有効数検出手段で検出した有効な交流係数の個数だけ前記有効な交流係数の符号化を行った時点で符号化を停止する交流符号化手段とを有することを特徴とするデータ符号化装置を提供する。
【００２０】
また、請求項４に係る本発明では、データ符号化装置を用いて画像データの符号化を行う画像処理装置において、前記データ符号化装置は、画像データ中の所定数の画素からなる画素ブロックに対して直交変換を行うことによって所定数の変換係数を生成する直交変換手段と、各変換係数に対して量子化を行うことによって直流係数と複数の交流係数とを生成する量子化手段と、前記複数の交流係数のうちの有効な交流係数の個数の検出を行う有効数検出手段と、前記直流係数の符号化を行う直流符号化手段と、前記複数の交流係数に対して低周波側から高周波側に向けて順に符号化を行い、しかも、前記有効数検出手段で検出した有効な交流係数の個数だけ前記有効な交流係数の符号化を行った時点で符号化を停止する交流符号化手段とを有することを特徴とする画像処理装置を提供する。
【００２１】
【発明の実施の形態】
本発明に係るデータ符号化方法は、画像データ中の所定数の画素からなる画素ブロックに対して直交変換後に量子化することによって生成した複数の交流係数を低周波側から高周波側に向けて順に符号化していくものである。
【００２２】
しかも、複数の交流係数のうちの有効な交流係数の個数を予め検出しておき、検出しておいた個数だけ有効な交流係数を符号化した時点で符号化を停止するものである。
【００２３】
すなわち、本発明に係るデータ符号化方法では、まず、画像データ中の所定数の画素からなる画素ブロックに対して直交変換を行うことによって所定数の変換係数を生成する（直交変換ステップ）。
【００２４】
次に、各変換係数に対して量子化を行うことによって直流係数と複数の交流係数とを生成する（量子化ステップ）。
【００２５】
次に、複数の交流係数のうちの有効な交流係数の個数の検出を行う（有効数検出ステップ）。
【００２６】
次に、直流係数の符号化を行う（直流符号化ステップ）。
【００２７】
最後に、複数の交流係数に対して低周波側から高周波側に向けて順に符号化を行う（交流符号化ステップ）。その際に、有効数検出ステップで検出した有効な交流係数の個数だけ有効な交流係数の符号化を行った時点で符号化を停止する。
【００２８】
そして、以上の各ステップは、汎用のＣＰＵとソフトウエアによって実行され、或いは、専用のデバイスによっても実行される。また、本発明に係るデータ符号化方法を実行する汎用又は専用のデータ符号化装置は、デジタルカメラ、デジタルカムコーダー、ＤＶＤレコーダーなどの各種画像処理装置に組み込まれて使用される。
【００２９】
このように、本発明では、予め検出しておいた有効な交流係数の個数だけ有効な交流係数の符号化を行った時点で符号化を停止するようにしているため、全ての交流係数について符号化を行う必要がなくなり、データの符号化に要する処理時間の短縮化を図ることができる。
【００３０】
しかも、有効な交流係数については全て符号化するため、符号化時のデータの劣化がなく、データを確実に再現することができる。
【００３１】
また、上述したように量子化を行った後に有効な交流係数を検出するのではなく、量子化時に有効な交流係数の検出を同時に行うこともでき、その場合には、より一層データの符号化に要する処理時間の短縮化を図ることができる。
【００３２】
以下に、本発明の具体的な実施形態について図面を参照しながら説明する。
【００３３】
図１は、本発明に係るデータ符号化方法を実行するデータ符号化装置１を示しており、かかるデータ符号化装置１は、デジタルカメラの信号処理部に内蔵されており、デジタルカメラでは、撮影した画像データに対してデータ符号化装置１で符号化した後に、所定の記憶媒体に記憶するようにしている。
【００３４】
データ符号化装置１は、図１に示すように、直交変換手段２、量子化手段３、有効数検出手段４、直流符号化手段５、及び交流符号化手段６とで構成している。
【００３５】
直交変換手段２では、画像メモリ７に記憶されている１画面分の画像データのうちから８画素Ｘ８画素分のデータを読込み、各画素データに対して離散コサイン変換を行うことによって６４個の変換係数を生成する。
【００３６】
量子化手段３では、直交変換手段２で生成された６４個の各変換係数を低周波（直流）側から高周波側に向けて順に予め設定した変換特性値で除算することによって量子化を行い、図２に示すように、１個の直流係数ＤＣと６３個の交流係数ＡＣ１〜ＡＣ６３を生成する。
【００３７】
有効数検出手段４では、量子化手段３で生成した６３個の交流係数ＡＣ１〜ＡＣ６３について順番に値が「０」でない有効な係数か否かを判断し、有効な交流係数ＡＣ１〜ＡＣ６３の個数を検出する。
【００３８】
このように、図１に示すデータ符号化装置１では、まず量子化手段３で６３個の交流係数ＡＣ１〜ＡＣ６３を生成し、その後、有効数検出手段４で全ての交流係数ＡＣ１〜ＡＣ６３について順にスキャンして有効な交流係数ＡＣ１〜ＡＣ６３の個数を検出している。
【００３９】
直流符号化手段５では、１個の直流係数ＤＣについてハフマン符号化を行い、符号化した直流成分のデータを所定のメモリ８に書込む。
【００４０】
交流符号化手段６では、交流係数ＡＣ１〜ＡＣ６３について低周波側の交流係数ＡＣ１から高周波側の交流係数ＡＣ６３に向けて順にジグザグスキャンしてハフマン符号化を行い、符号化した交流成分のデータを所定のメモリ８に書込む。
【００４１】
この交流符号化手段６では、ジグザグスキャンしながら符号化を行う際に、有効数検出手段４で検出した有効な交流係数ＡＣ１〜ＡＣ６３の個数だけ有効な交流係数ＡＣ１〜ＡＣ６３の符号化を行った時点で符号化を停止するようにしている。
【００４２】
具体的な例で説明すると、量子化手段３で量子化した直流係数ＤＣ及び交流係数ＡＣ１〜ＡＣ６３が図３に示す値であるとすると、まず、有効数検出手段４で全ての交流係数ＡＣ１〜ＡＣ６３について低周波側から高周波側に向けて順にスキャンすることによって、値が「０」以外である１１個の有効な交流係数ＡＣ１〜ＡＣ９，ＡＣ１１，ＡＣ１３が検出される。
【００４３】
その後、交流符号化手段６によって、交流係数ＡＣ１〜ＡＣ６３について低周波側の交流係数ＡＣ１から高周波側の交流係数ＡＣ６３に向けて順にジグザグスキャンしてハフマン符号化を行って行くのであるが、全ての交流係数ＡＣ１〜ＡＣ６３について符号化を行うのではなく、有効数検出手段４で検出した１１個の交流係数を全て符号化した時点で符号化を停止する。すなわち、１３番目の交流係数ＡＣ１３について符号化した時点で符号化を停止し、１４番目以降の交流係数についての符号化を行わないようにしている。
【００４４】
これにより、上記の具体例では、１３個分の交流係数についてだけ符号化を行えばよく、６３個の交流係数ＡＣ１〜ＡＣ６３について全て符号化する場合よりも、短時間で符号化処理を終了することができる。
【００４５】
ここで、上記した有効数検出手段４では、量子化手段３で生成した６３個の交流係数ＡＣ１〜ＡＣ６３について順番に値が「０」でない有効な係数か否かを判断し、有効な交流係数ＡＣ１〜ＡＣ６３の個数を検出しているが、有効数検出手段４としては、このようなソフトウエアによる検出を行う場合に限られず、図４に示すように、ハードウエアによる検出を行ってもよい。
【００４６】
すなわち、図４に示す有効数検出手段４は、全ての交流係数ＡＣ１〜ＡＣ６３を所定アドレスの８ビットのメモリＭ１〜Ｍ６３に格納しておくとともに、各メモリＭ１〜Ｍ６３に８入力１出力型の論理和回路ＯＲ１〜ＯＲ６３を接続し、これらの論理和回路ＯＲ１〜ＯＲ６３に６３入力１出力型の加算器ＡＤＤを接続し、この加算器ＡＤＤにメモリＭＥＭを接続している。
【００４７】
そして、論理和回路ＯＲ１〜ＯＲ６３で各メモリＭ１〜Ｍ６３の各ビットの論理和を演算し、その結果を加算器ＡＤＤで加算することによって、値が「０」でない有効な交流係数ＡＣ１〜ＡＣ６３の個数をメモリＭＥＭに格納するようにしている。図３に示した具体例では、１１個の交流係数ＡＣ１〜ＡＣ９，ＡＣ１１，ＡＣ１３を格納したメモリＭ１〜Ｍ９，Ｍ１１，Ｍ１３に接続した論理和回路ＯＲ１〜ＯＲ９，ＯＲ１１，ＯＲ１３の出力だけが「１」となり、それ以外の出力が「０」となり、これにより、加算器ＡＤＤの出力が「１１」となり、その値をメモリＭＥＭに格納することになる。
【００４８】
このように、有効数検出手段４をハードウエアで構成することによって、有効数の検出に要する処理時間を短縮化することができ、データの符号化に要する処理時間をより一層短縮することができる。
【００４９】
また、図１に示すデータ符号化装置１では、まず量子化手段３で６３個の交流係数ＡＣ１〜ＡＣ６３を生成し、その後、有効数検出手段４で全ての交流係数ＡＣ１〜ＡＣ６３について順にスキャンして有効な交流係数ＡＣ１〜ＡＣ６３の個数を検出しているが、これに限られず、量子化と同時に有効な係数か否かを判断することによって有効な交流係数ＡＣ１〜ＡＣ６３の個数を検出するようにしてもよい。
【００５０】
すなわち、図５に示すデータ符号化装置１’では、直交変換手段２で６４個の変換係数を生成した後に、量子化・有効数検出手段３’によって、直交変換手段２で生成された６４個の各変換係数を低周波（直流）側から高周波側に向けて順に予め設定した変換特性値で除算することによって量子化を行うとともに、６３個の交流係数ＡＣ１〜ＡＣ６３については、量子化と同時に値が「０」でない有効な係数か否かを判断し、有効な交流係数ＡＣ１〜ＡＣ６３の個数を検出している。これにより、量子化・有効数検出手段３’で、図２に示した１個の直流係数ＤＣと６３個の交流係数ＡＣ１〜ＡＣ６３を生成するとともに、それと同時に、有効な交流係数ＡＣ１〜ＡＣ６３の個数を検出する。
【００５１】
このように、量子化と同時に有効な交流係数ＡＣ１〜ＡＣ６３の個数を検出することによって、低周波側から高周波側に向けて順にスキャンしていく回数を半減させることができ、データの符号化に要する処理時間をより一層短縮することができる。
【００５２】
【発明の効果】
本発明は、以上に説明したような形態で実施され、以下に記載されるような効果を奏する。
【００５３】
すなわち、本発明では、予め検出しておいた有効な交流係数の個数だけ有効な交流係数の符号化を行った時点で符号化を停止するようにしているため、全ての交流係数について符号化を行う必要がなくなり、データの符号化に要する処理時間の短縮化を図ることができる。
【００５４】
しかも、有効な交流係数については全て符号化するため、符号化時のデータの劣化がなく、データを確実に再現することができる。
【００５５】
特に、量子化時に有効な交流係数の検出を同時に行った場合には、より一層データの符号化に要する処理時間の短縮化を図ることができる。
【図面の簡単な説明】
【図１】本発明に係るデータ符号化装置を示す説明図。
【図２】直流係数及び交流係数を示す説明図。
【図３】具体的な直流係数及び交流係数を示す説明図。
【図４】有効数検出手段を示す説明図。
【図５】他実施例としてのデータ符号化装置を示す説明図。
【符号の説明】
１，１’  データ符号化装置
２  直交変換手段
３  量子化手段
４  有効数検出手段
５  直流符号化手段
６  交流符号化手段
７  画像メモリ
８  メモリ
【図１】
2004328426.tif 000003
【図２】
2004328426.tif 000004
【図３】
2004328426.tif 000005
【図４】
2004328426.tif 000006
【図５】
2004328426.tif 000007