(57)【要約】【課題】  ＪＰＥＧのハフマン符号化処理において、可変符号化データを所定長内に抑制する。【解決手段】  画像データ処理装置は、画像データを入力するステップ（Ｓ１００）と、ＤＣＴ変換するステップ（Ｓ２００）と、ＤＣＴ変換された画像データを量子化するステップ（Ｓ３００）と、ＲＲＲＲ／ＳＳＳＳ（ゼロラン長／グループ番号）データを生成するステップ（Ｓ４００）と、ジグザグスキャンにおいてＡＣ成分の低周波成分から高周波成分に従って、符号長情報を加算して、そのサイズが指定サイズより大きくなると（Ｓ６００にてＹＥＳ）、サイズが指定サイズ以下になるようにＲＲＲＲ／ＳＳＳＳ（ゼロラン長／グループ番号）データをカットして、最後にＥＯＢを付与するステップ（Ｓ７００）と、ハフマン符号化処理を実行するステップ（Ｓ８００）とを含むプログラムを実行する。【選択図】        図２
2005268907.tif 000002
【特許請求の範囲】
【請求項１】
画像データを圧縮処理する画像データ処理装置であって、
処理対象のブロック毎に離散コサイン変換演算を実行して離散コサイン係数を生成するための生成手段と、
量子化テーブルを用いて離散コサイン変換演算係数を量子化するための量子化手段と、
量子化されたデータを符号化するための符号化処理手段と、
符号化データのデータ長が制限値を越えないように、量子化されたデータの一部を符号化するように、前記符号化処理手段を制御するための制御手段とを含む、画像データ処理装置。
【請求項２】
前記制御手段は、
低周波成分から高周波成分に符号化データを算出するための手段と、
前記符号化データのデータ長の累積値を算出するための手段と、
前記累積値が前記制限値を超えると、それ以降の高周波成分に対応する符号化データを生成しないように、前記符号化処理手段を制御するための手段とを含む、請求項１に記載の画像データ処理装置。
【請求項３】
輝度データおよび色差データを含む画像データを処理する画像データ処理装置であって、
前記画像データにおける前記色差データをダウンサンプリングしてフォーマットを変換して、複数の輝度データのブロックと複数の色差データのブロックとに変換するための変換手段と、
各前記ブロック毎に離散コサイン変換演算を実行して離散コサイン係数を生成するための生成手段と、
量子化テーブルを用いて離散コサイン変換演算係数を量子化するための量子化手段と、
量子化されたデータを符号化するための符号化処理手段と、
符号化データのデータ長が制限値を越えないように、量子化されたデータの一部を符号化するように、前記符号化処理手段を制御するための制御手段とを含む、画像データ処理装置。
【請求項４】
前記画像データ処理装置は、
各前記ブロック毎に符号長データのデータ長を算出するための手段と、
各前記ブロックの符号長データのデータ長の総計を算出するための手段とをさらに含み、
前記制御手段は、前記総計が制限値を越えないように、量子化されたデータの一部を符号化するブロックを複数のブロックの中から選択して、選択されたブロックについては量子化されたデータの一部を符号化するように、前記符号化処理手段を制御するための手段を含む、請求項３に記載の画像データ処理装置。
【請求項５】
前記画像データ処理装置は、
各前記ブロック毎に符号長データのデータ長を算出するための手段と、
各前記ブロックの符号長データのデータ長の総計を算出するための手段とをさらに含み、
前記制御手段は、前記総計が制限値を越えないように、量子化されたデータの一部を符号化するブロックを複数のブロックの中から、各前記ブロックのデータ長と前記総計とに基づいて選択して、選択されたブロックについては量子化されたデータの一部を符号化するように、前記符号化処理手段を制御するための手段を含む、請求項３に記載の画像データ処理装置。
【請求項６】
画像データを圧縮処理する画像データ処理方法であって、
処理対象のブロック毎に離散コサイン変換演算を実行して離散コサイン係数を生成する生成ステップと、
量子化テーブルを用いて離散コサイン変換演算係数を量子化する量子化ステップと、
量子化されたデータを符号化する符号化処理ステップと、
符号化データのデータ長が制限値を越えないように、量子化されたデータの一部を符号化するように、前記符号化処理ステップを制御する制御ステップとを含む、画像データ処理方法。
【請求項７】
前記制御ステップは、
低周波成分から高周波成分に符号化データを算出するステップと、
前記符号化データのデータ長の累積値を算出するステップと、
前記累積値が前記制限値を超えると、それ以降の高周波成分に対応する符号化データを生成しないように、前記符号化処理ステップを制御するステップとを含む、請求項６に記載の画像データ処理方法。
【請求項８】
輝度データおよび色差データを含む画像データを処理する画像データ処理方法であって、
前記画像データにおける前記色差データをダウンサンプリングしてフォーマットを変換して、複数の輝度データのブロックと複数の色差データのブロックとに変換する変換ステップと、
各前記ブロック毎に離散コサイン変換演算を実行して離散コサイン係数を生成する生成ステップと、
量子化テーブルを用いて離散コサイン変換演算係数を量子化する量子化ステップと、
量子化されたデータを符号化する符号化処理ステップと、
符号化データのデータ長が制限値を越えないように、量子化されたデータの一部を符号化するように、前記符号化処理ステップを制御する制御ステップとを含む、画像データ処理方法。
【請求項９】
前記画像データ処理方法は、
各前記ブロック毎に符号長データのデータ長を算出するステップと、
各前記ブロックの符号長データのデータ長の総計を算出するステップとをさらに含み、
前記制御ステップは、前記総計が制限値を越えないように、量子化されたデータの一部を符号化するブロックを複数のブロックの中から選択して、選択されたブロックについては量子化されたデータの一部を符号化するように、前記符号化処理ステップを制御するステップを含む、請求項８に記載の画像データ処理方法。
【請求項１０】
前記画像データ処理方法は、
各前記ブロック毎に符号長データのデータ長を算出するステップと、
各前記ブロックの符号長データのデータ長の総計を算出するステップとをさらに含み、
前記制御ステップは、前記総計が制限値を越えないように、量子化されたデータの一部を符号化するブロックを複数のブロックの中から、各前記ブロックのデータ長と前記総計とに基づいて選択して、選択されたブロックについては量子化されたデータの一部を符号化するように、前記符号化処理ステップを制御するステップを含む、請求項８に記載の画像データ処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データの圧縮技術に関し、特に、ＪＰＥＧ（Joint Photographic Coding Experts Group）方式を用いた圧縮技術における可変長符号化技術に関する。
【背景技術】
【０００２】
近年、様々な分野においてマルチメディア技術が盛んに研究されており、その中でも膨大なデータ量を有する画像信号を符号化して転送する技術が特に重要となる。この膨大なデータ量を有する画像データを伝送したり、蓄積したりするためには、データ量を削減するデータ圧縮技術が必要不可欠になる。そのデータ圧縮技術の１つとして、ＪＰＥＧ方式がある。
【０００３】
ＪＰＥＧ方式を用いた画像データ処理装置においては、入力された画像データを一旦メモリに格納し、ＪＰＥＧ圧縮アルゴリズムに従って８画素×８画素（垂直方向×水平方向）分の画像データをメモリから読み出し、離散コサイン変換を行なった後に符号化して画像圧縮データを作成している。
【０００４】
このような画像圧縮技術を応用した機器の１つであるデジタルカメラや静止画記録機能を有するデジタルビデオカメラ（以下、これらをデジタルカメラという。）においては、電荷結合素子（以下ＣＣＤ）等のイメージセンサおよび信号処理回路（ＤＳＰ）から得られたデジタル画像データをＤＲＡＭ等のメモリに一度バッファリングし、その後ＪＰＥＧ等の画像圧縮処理プロセスを経て、内部不揮発性メモリや、リムーバプルな記録メディア等に保存・記録する方式が一般的に行われている。
【０００５】
ＪＰＥＧ方式においては、基本的には、８画素×８画素の画像ブロックを、ＤＣＴ（Discrete Cosine Transformation）変換することによりＤＣＴ係数を算出して、ＤＣＴ係数を量子化テーブルを用いて量子化する。量子化されたＤＣＴ係数を符号化処理してハフマン符号データ（可変長符号データ）が生成される。
【０００６】
特開昭６３−１２１３７３号公報（特許文献１）は、復号画像が劣化しないように電装変換係数の範囲を決定する変換係数符号化方式を開示する。この変換係数符号化形式は、２次元信号源に対してブロックに分割しそのブロック毎に２次元線形変換を行ない変換係数を得る回路と、その変換係数と与えられたしきい値Ｔｈとを比較し、その大小の別を判定する回路と、その大小の判定結果をブロック毎に集計しそのブロックの変換係数伝送範囲を決定する回路と、その変換係数伝送範囲より前述の変換係数を符号化するものと符号化しないものとに分類して符号化するものについては変換係数伝送範囲の結果に従って予め定められた順序で出力する回路と、その出力された変換係数を与えられた量子化特性によって量子化する回路と、その量子化された変換係数とどの量子化特性を用いたのかを示す情報と前述の変換係数伝送範囲の結果とを符号化する回路と、前述のしきい値Ｔｈと前述の量子化特性とを決定する回路とを含む。
【０００７】
この変換係数符号化方式によると、量子化されたＤＣＴ係数の中で、高周波のＡＣ成分について、孤立しているデータ（すなわち、零が連続しているブロックに挟まれて零でないデータ）の中でしきい値Ｔｈよりもレベルの低いデータについては強制的に零にして、符号化の対象から外すことができる。これにより、真に重要な情報のみを用いて効率の高い符号化が実現できる。
【特許文献１】特開昭６３−１２１３７３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１に開示された変換係数符号化方式では、量子化されたＤＣＴ係数について、予め定められたゼロラン長のデータに続く非零の値ごとにしきい値との大小関係を判定して、強制的に零にデータを書き換える。このため、可変符号長データの長さは、このような符号化処理された後（すなわち、処理単位である、たとえば８画素×８画素のブロックの符号化処理後）に判明する。このため、たとえば、可変長符号データ長を一定の長さ以下に抑制することが困難である。
【０００９】
また、この特許文献とは異なる従来の量子化方法を、図１０および図１１を用いて説明する。従来、ＤＣＴ係数の量子化は、図１０に示す量子化テーブル（Ｑｕｖ）を用いて、ＤＣＴ係数を量子化して、量子化されたＤＣＴ係数をジグザグスキャンして、ゼロラン長とグループ番号（ＲＲＲＲ／ＳＳＳＳ）を求め、ハフマン符号化データを生成した。その結果、図１０に示すように可変符号化データ長は６５ビットになった。
【００１０】
この符号長が長すぎる場合には、再度、図１０の量子化テーブルとは異なる値が格納された図１１に示す量子化テーブル（Ｑｕｖ）を用いて、ＤＣＴ係数を量子化して、量子化されたＤＣＴ係数をジグザクスキャンして、ゼロラン長とグループ番号（ＲＲＲＲ／ＳＳＳＳ）を求め、ハフマン符号化データを生成する。その結果、図１１に示すように可変符号化データ長は３５ビットに減った。図１１に示す量子化テーブル（Ｑｕｖ）は、図１０に示す量子化テーブル（Ｑｕｖ）よりも、より零が多くなるように決定されている。端的には、図１１の量子化テーブル（Ｑｕｖ）の各成分が、図１０の量子化テーブル（Ｑｕｖ）の対応する成分の２倍の値を有する。このため、図１１の量子化テーブル（Ｑｕｖ）を用いると、より多くＤＣＴ係数が零になる。
【００１１】
しかしながら、このような従来の方法では、１回目の量子化処理として、可変符号長データを一旦算出して、その長さが長い場合、２回目の量子化処理を１回目の量子化処理に用いた量子化テーブルとは異なるテーブルを用いて行なわれる。すなわち、これでは、２回の量子化処理が必要な場合があり、効率的な符号化処理を望めない。
【００１２】
本発明は、上述の課題を解決するためになされたものであって、その目的は、ＪＰＥＧのハフマン符号化処理において、可変符号化データを所定長以内に抑制することができる、画像データ処理装置および画像データ処理方法を提供することである。
【課題を解決するための手段】
【００１３】
第１の発明に係る画像データ処理装置は、画像データを圧縮処理する。この画像データ処理装置は、処理対象のブロック毎に離散コサイン変換演算を実行して離散コサイン係数を生成するための生成手段と、量子化テーブルを用いて離散コサイン変換演算係数を量子化するための量子化手段と、量子化されたデータを符号化するための符号化処理手段と、符号化データのデータ長が制限値を越えないように、量子化されたデータの一部を符号化するように、符号化処理手段を制御するための制御手段とを含む。
【００１４】
第１の発明によると、符号化処理手段による符号化処理途中において生成されるＲＲＲＲ／ＳＳＳＳ（ゼロラン長／グループ番号）から符号化データのデータ長が判明する。制御手段は、符号化処理手段による符号化の途中で、符号化データのデータ長が制限値を上回ると、それ以降の高周波成分に対応する離散コサイン係数を符号化しない。これにより、本来は、可変符号長データであるハフマン符号を一定の制限値以下のデータ長に揃えることができる。その結果、ＪＰＥＧのハフマン符号化処理において、可変符号化データを所定長以内に抑制することができる、画像データ処理装置を提供することができる。
【００１５】
第２の発明に係る画像データ処理装置においては、第１の発明の構成に加えて、制御手段は、低周波成分から高周波成分に符号化データを算出するための手段と、符号化データのデータ長の累積値を算出するための手段と、累積値が制限値を超えると、それ以降の高周波成分に対応する符号化データを生成しないように、符号化処理手段を制御するための手段とを含む。
【００１６】
第２の発明によると、制御手段は、離散コサイン係数のＡＣ成分について、低周波成分から高周波成分にジグザクスキャンして符号化データを算出する場合において、符号化データのデータ長の累積値を算出する。この累積値が制限値を超えると、それ以降の高周波成分に対応する符号化データを生成しないので、本来は、可変符号長データであるハフマン符号を一定の制限値以下のデータ長に揃えることができる。
【００１７】
第３の発明に係る画像データ処理装置は、輝度データおよび色差データを含む画像データを処理する。この画像データ処理装置は、画像データにおける色差データをダウンサンプリングしてフォーマットを変換して、複数の輝度データのブロックと複数の色差データのブロックとに変換するための変換手段と、各ブロック毎に離散コサイン変換演算を実行して離散コサイン係数を生成するための生成手段と、量子化テーブルを用いて離散コサイン変換演算係数を量子化するための量子化手段と、量子化されたデータを符号化するための符号化処理手段と、符号化データのデータ長が制限値を越えないように、量子化されたデータの一部を符号化するように、符号化処理手段を制御するための制御手段とを含む。
【００１８】
第３の発明によると、たとえば、変換手段により１６画素×８画素の処理サイズの画像データが、４：２：２でダウンサンプリングされて、２つの輝度データブロックと２つの色差データブロックとが生成される。これらの各ブロックに対して離散コサイン変換および量子化処理が行なわれ、符号化処理手段による符号化処理途中において生成されるＲＲＲＲ／ＳＳＳＳ（ゼロラン長／グループ番号）から、それぞれのブロックの符号化データのデータ長が判明する。制御手段は、４つのブロックについての符号化データのデータ長の総計が制限値を上回ると、まず、データ長を短くするブロックを選択する。制御手段は、選択されたブロックにおいて、超過分の削減を満足するように決定された以降の高周波成分に対応する離散コサイン係数を符号化しない。これにより、本来は、可変符号長データであるハフマン符号を一定の制限値以下のデータ長に揃えることができる。その結果、ＪＰＥＧのハフマン符号化処理において、可変符号化データを所定長以内に抑制することができる、画像データ処理装置を提供することができる。
【００１９】
第４の発明に係る画像データ処理装置は、第３の発明の構成に加えて、各ブロック毎に符号長データのデータ長を算出するための手段と、各ブロックの符号長データのデータ長の総計を算出するための手段とをさらに含む。制御手段は、総計が制限値を越えないように、量子化されたデータの一部を符号化するブロックを複数のブロックの中から選択して、選択されたブロックについては量子化されたデータの一部を符号化するように、符号化処理手段を制御するための手段を含む。
【００２０】
第４の発明によると、制御手段により、複数のブロックについての符号化データのデータ長の総計が制限値を上回ると、データ長を短くするブロックを選択して、そのブロックにおいて、超過分の削減を満足するように決定された以降の高周波成分に対応する離散コサイン係数を符号化しない。これにより、本来は、可変符号長データであるハフマン符号を一定の制限値以下のデータ長に揃えることができる。
【００２１】
第５の発明に係る画像データ処理装置は、第３の発明の構成に加えて、各ブロック毎に符号長データのデータ長を算出するための手段と、各ブロックの符号長データのデータ長の総計を算出するための手段とをさらに含む。制御手段は、総計が制限値を越えないように、量子化されたデータの一部を符号化するブロックを複数のブロックの中から、各ブロックのデータ長と総計とに基づいて選択して、選択されたブロックについては量子化されたデータの一部を符号化するように、符号化処理手段を制御するための手段を含む。
【００２２】
第５の発明によると、制御手段により、複数のブロックについての符号化データのデータ長の総計が制限値を上回ると、データ長を短くするブロックを、たとえば、｛超過分×（そのブロックのデータ長／総計）｝により、選択することができる。そのブロックにおいて、超過分の削減を満足するように決定された以降の高周波成分に対応する離散コサイン係数を符号化しない。これにより、本来は、可変符号長データであるハフマン符号を一定の制限値以下のデータ長に揃えることができる。
【００２３】
第６の発明に係る画像データ処理方法は、画像データを圧縮処理する。この画像データ処理方法は、処理対象のブロック毎に離散コサイン変換演算を実行して離散コサイン係数を生成する生成ステップと、量子化テーブルを用いて離散コサイン変換演算係数を量子化する量子化ステップと、量子化されたデータを符号化する符号化処理ステップと、符号化データのデータ長が制限値を越えないように、量子化されたデータの一部を符号化するように、符号化処理ステップを制御する制御ステップとを含む。
【００２４】
第６の発明によると、符号化処理ステップにおける符号化処理途中において生成されるＲＲＲＲ／ＳＳＳＳ（ゼロラン長／グループ番号）から符号化データのデータ長が判明する。制御ステップにおいては、符号化処理ステップにおける符号化の途中で、符号化データのデータ長が制限値を上回ると、それ以降の高周波成分に対応する離散コサイン係数を符号化しない。これにより、本来は、可変符号長データであるハフマン符号を一定の制限値以下のデータ長に揃えることができる。その結果、ＪＰＥＧのハフマン符号化処理において、可変符号化データを所定長以内に抑制することができる、画像データ処理方法を提供することができる。
【００２５】
第７の発明に係る画像データ処理方法においては、第６の発明の構成に加えて、制御ステップは、低周波成分から高周波成分に符号化データを算出するステップと、符号化データのデータ長の累積値を算出するステップと、累積値が制限値を超えると、それ以降の高周波成分に対応する符号化データを生成しないように、符号化処理ステップを制御するステップとを含む。
【００２６】
第７の発明によると、制御ステップにて、離散コサイン係数のＡＣ成分について、低周波成分から高周波成分にジグザクスキャンして符号化データを算出する場合において、符号化データのデータ長の累積値を算出する。この累積値が制限値を超えると、それ以降の高周波成分に対応する符号化データを生成しないので、本来は、可変符号長データであるハフマン符号を一定の制限値以下のデータ長に揃えることができる。
【００２７】
第８の発明に係る画像データ処理方法は、輝度データおよび色差データを含む画像データを処理する。この画像データ処理方法は、画像データにおける色差データをダウンサンプリングしてフォーマットを変換して、複数の輝度データのブロックと複数の色差データのブロックとに変換する変換ステップと、各ブロック毎に離散コサイン変換演算を実行して離散コサイン係数を生成する生成ステップと、量子化テーブルを用いて離散コサイン変換演算係数を量子化する量子化ステップと、量子化されたデータを符号化する符号化処理ステップと、符号化データのデータ長が制限値を越えないように、量子化されたデータの一部を符号化するように、符号化処理ステップを制御する制御ステップとを含む。
【００２８】
第８の発明によると、たとえば、変換ステップにて１６画素×８画素の処理サイズの画像データが、４：２：２でダウンサンプリングされて、２つの輝度データブロックと２つの色差データブロックとが生成される。これらの各ブロックに対して離散コサイン変換および量子化処理が行なわれ、符号化処理ステップでの符号化処理途中において生成されるＲＲＲＲ／ＳＳＳＳ（ゼロラン長／グループ番号）から、それぞれのブロックの符号化データのデータ長が判明する。制御ステップにおいて、４つのブロックについての符号化データのデータ長の総計が制限値を上回ると、まず、データ長を短くするブロックを選択する。制御ステップにおいて、選択されたブロックにおいて、超過分の削減を満足するように決定された以降の高周波成分に対応する離散コサイン係数を符号化しない。これにより、本来は、可変符号長データであるハフマン符号を一定の制限値以下のデータ長に揃えることができる。その結果、ＪＰＥＧのハフマン符号化処理において、可変符号化データを所定長以内に抑制することができる、画像データ処理方法を提供することができる。
【００２９】
第９の発明に係る画像データ処理方法は、第８の発明の構成に加えて、各ブロック毎に符号長データのデータ長を算出するステップと、各ブロックの符号長データのデータ長の総計を算出するステップとをさらに含む。制御ステップは、総計が制限値を越えないように、量子化されたデータの一部を符号化するブロックを複数のブロックの中から選択して、選択されたブロックについては量子化されたデータの一部を符号化するように、符号化処理ステップを制御するステップを含む。
【００３０】
第９の発明によると、制御ステップにて、複数のブロックについての符号化データのデータ長の総計が制限値を上回ると、データ長を短くするブロックを選択して、そのブロックにおいて、超過分の削減を満足するように決定された以降の高周波成分に対応する離散コサイン係数を符号化しない。これにより、本来は、可変符号長データであるハフマン符号を一定の制限値以下のデータ長に揃えることができる。
【００３１】
第１０の発明に係る画像データ処理方法は、第８の発明の構成に加えて、各ブロック毎に符号長データのデータ長を算出するステップと、各ブロックの符号長データのデータ長の総計を算出するステップとをさらに含む。制御ステップは、総計が制限値を越えないように、量子化されたデータの一部を符号化するブロックを複数のブロックの中から、各ブロックのデータ長と総計とに基づいて選択して、選択されたブロックについては量子化されたデータの一部を符号化するように、符号化処理ステップを制御するステップを含む。
【００３２】
第１０の発明によると、制御ステップにて、複数のブロックについての符号化データのデータ長の総計が制限値を上回ると、データ長を短くするブロックを、たとえば、｛超過分×（そのブロックのデータ長／総計）｝により、選択することができる。そのブロックにおいて、超過分の削減を満足するように決定された以降の高周波成分に対応する離散コサイン係数を符号化しない。これにより、本来は、可変符号長データであるハフマン符号を一定の制限値以下のデータ長に揃えることができる。
【発明を実施するための最良の形態】
【００３３】
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがってそれらについての詳細な説明は繰返さない。
【００３４】
＜第１の実施の形態＞
以下、本発明の第１の実施の形態に係る画像データ処理装置の制御ブロックについて説明する。
【００３５】
図１に示すように、この画像データ処理装置は、画像データが入力されるＤＣＴ回路１００と、ＤＣＴ回路１００から出力されたＤＣＴ係数が入力される量子化回路２００と、量子化回路２００においてＤＣＴ係数を量子化する際の量子化テーブルが格納された量子化テーブル２１０と、量子化後のＤＣＴ係数が入力されるＲＲＲＲ／ＳＳＳＳ生成回路３００と、ＲＲＲＲ／ＳＳＳＳ生成回路３００において生成されたＲＲＲＲ／ＳＳＳＳ値と有効係数（非零のＤＣＴ係数）の書込値を記憶するＲＲＲＲ／ＳＳＳＳ有効係数記憶回路５００と、ＲＲＲＲ／ＳＳＳＳごとの符号長（ハフマン符号長＋付加ビット長）が入力される符号長制限回路４００と、符号化回路６００とを含む。
【００３６】
符号長制限回路４００は、ＲＲＲＲ／ＳＳＳＳ有効係数記憶回路５００からＲＲＲＲ／ＳＳＳＳ値と有効係数（非零のＤＣＴ係数）を読出して、符号長制限後のＲＲＲＲ／ＳＳＳＳ値と有効係数を符号化回路６００に出力する。符号化回路６００は、符号長制限回路４００から入力された符号長制限後のＲＲＲＲ／ＳＳＳＳ値と有効係数とに基づいて符号データを生成する。
【００３７】
本実施の形態に係る画像データ処理装置においては、画像サイズが８画素×８画素であって、符号データ量の上限値を５バイト（４０ビット）と想定する。
【００３８】
図２を参照して、本実施の形態に係る画像データ処理装置で実行されるプログラムの制御構造について説明する。
【００３９】
ステップ（以下、ステップをＳと略す。）１００にて、ＤＣＴ回路に画像データが入力される。Ｓ２００にて、ＤＣＴ回路１００にて、ＤＣＴ（離散コサイン）変換が実行される。このＤＣＴ変換は、８画素×８画素の処理ブロック単位で実行される。
【００４０】
Ｓ３００にて、量子化回路２００は、量子化テーブル２１０に記憶された量子化テーブルを参照して、ＤＣＴ回路１００により生成されたＤＣＴ係数を量子化処理する。Ｓ４００にて、ＲＲＲＲ／ＳＳＳＳ生成回路３００は、ＲＲＲＲ／ＳＳＳＳ値（ゼロラン長／グループ番号）を算出する。算出されたＲＲＲＲ／ＳＳＳＳ値と有効係数（非零のＤＣＴ係数）はＲＲＲＲ／ＳＳＳＳ有効係数記憶回路５００に出力される。
【００４１】
Ｓ５００にて符号長制限回路４００は、ハフマン符号化時のサイズを見積もる。このとき、ＲＲＲＲ／ＳＳＳＳ生成回路３００により生成されたＲＲＲＲ／ＳＳＳＳ値と有効係数（非零のＤＣＴ係数）をＡＣ成分の低周波から高周波に従って累積値を算出してサイズを見積もる。
【００４２】
Ｓ６００にて、見積もったサイズが指定サイズよりも大きくなると（Ｓ６００にてＹＥＳ）、処理はＳ７００へ移される。もしそうでないと（Ｓ６００にてＮＯ）、処理はＳ８００へ移される。
【００４３】
Ｓ７００にて、符号長制限回路４００は、サイズが指定サイズ以下になるように、ＲＲＲＲ／ＳＳＳＳ（ゼロラン長／グループ番号）データをカットして、最後にＥＯＢ（End of Block）を付ける。
【００４４】
Ｓ８００にて、符号化回路６００は、ハフマン符号化処理を実行する。Ｓ９００にて、画像データ処理装置は、符号化回路６００にて符号化されたハフマン符号をＪＰＥＧデータとして記憶する。
【００４５】
以上のような構造およびフローチャートに基づく、本実施の形態に係る画像データ処理装置の動作について説明する。なお、以下の説明では、図３に示すようなＤＣＴ係数や量子化テーブルであると想定する。
【００４６】
画像データが入力され（Ｓ１００）、ＤＣＴ（離散コサイン）変換が実行される（Ｓ２００）。量子化処理が量子化テーブル２１０を参照して実行されて、量子化されたＤＣＴ係数が求められる。
【００４７】
このとき、図３に示すように、ＤＣＴ係数（Ｓｕｖ）は量子化テーブル（Ｑｕｖ）に基づいて量子化処理が実行され、量子化されたＤＣＴ係数（γｕｖ）が算出される。ＲＲＲＲ／ＳＳＳＳ生成回路３００により最初にＤＣ成分が、続いて低周波から高周波に従ってＡＣ成分がジグザグスキャンされてＲＲＲＲ／ＳＳＳＳ（このとき図３に示すようにＤＣ成分が７ビット、最初のＡＣ成分が４ビット、次のＡＣ成分が４ビット、…、ＥＯＢが４ビットの合計６５ビット）である。このような処理の途中において、符号データ長の上限値を５バイト（４０ビット）としており、ＤＣ成分７ビットとＥＯＢの４ビットは省略することができないため、それ以外の部分において、（４０−７−４＝）２９ビットを超えると（Ｓ６００にてＹＥＳ）、２９ビット以下になるようにそれ以降のＡＣ成分の高周波領域におけるＤＣＴ係数が符号化処理されない。
【００４８】
すなわち、図３に示す符号長情報にある最初の７ビットがＤＣ成分であって、最後の４ビットがＥＯＢであるため、それ以外の上から順に（低周波成分から順に）４ビット、４ビット、３ビット、４ビット、５ビット、５ビットの合計２５ビットまでが符号化処理の対象となる。すなわち、ＲＲＲＲ／ＳＳＳＳの欄に記載されたアンダーラインを付した高周波成分側の６つのデータについては符号化処理の対象とされない。その結果、符号長情報の最初のデータであるＤＣ成分７ビットと最初のＡＣ成分４ビット、次のＡＣ成分４ビット、３ビット、４ビット、５ビット、５ビット、ＥＯＢの４ビットの合計３６ビットのデータ長となる。これにより、符号化データの上限値である４０ビットを下回る３６ビットのハフマン符号データを生成することができる。
【００４９】
以上のようにして、本実施の形態に係る画像データ処理装置によると、ＤＣＴ変換して量子化テーブルを用いて量子化されたＤＣＴ係数をジグザグスキャンしてゼロラン長／グループ番号を生成していく際に符号長情報を順次積算していく。ＤＣ成分とＥＯＢ成分とは省略することができないため、それ以外の部分で、指定された上限値を上回らない範囲までで、ＲＲＲＲ／ＳＳＳＳ値が生成される。予め定められた上限値を超えない範囲で符号化回路によりハフマン符号が生成され、その結果、上限値を超えない符号長データを有するハフマン符号を生成することができる。
【００５０】
＜第２の実施の形態＞
以下、本発明の第２の実施の形態に係る画像データ処理装置について説明する。なお、本実施の形態に係る画像データ処理装置のハードウェア構成およびプログラムフローチャートは、前述の第１の実施の形態と同じである。すなわち、ハードウェアブロックは図１に示したハードウェアブロックとプログラムフローチャートは図２に示したフローチャートと同じである。本実施の形態においては、画像処理の対象となる画像のブロックの形態が異なる。
【００５１】
図４を参照して、本実施の形態に係る画像データ処理装置で処理される画像データについて説明する。
【００５２】
図４に示すように、本実施の形態に係る画像データは１６画素×８画素である。これは、Ｙ：Ｕ：Ｖ＝４：２：２のＶＧＡ画像のデータ構造である。たとえば、６４０画素×４８０画素のＶＧＡ画像は、横４０個、縦６０個の合計２４００個のＭＣＵ（１６画素×８画素）に分割され、色差成分がダウンサンプリングされて、画像圧縮処理が行なわれる。このＶＧＡ画像においては、２４００個のＭＣＵごとに、輝度成分Ｙ、色差成分Ｕ（色差：Ｂ−Ｙ成分，Ｃｂ）、色差成分Ｖ（色差：Ｒ−Ｙ成分，Ｃｒ）の３成分を有する。すなわち、図４に示すように、輝度データとしてＹ０ブロックとＹ１ブロックが、色差データとしてＣｂ０ブロックとＣｒ０ブロックの４ブロックがＤＣＴ変換の対象ブロックとなる。
【００５３】
本実施の形態においては、前述の第１の実施の形態と異なり、それぞれのブロックＹ０ブロック、Ｙ１ブロック、Ｃｂ０ブロック、Ｃｒ０ブロックのそれぞれのブロックにおけるＲＲＲＲ／ＳＳＳＳ生成処理がすべて実行され、それぞれのブロック（４つのブロック）における符号長データの総計が算出される。
【００５４】
図５〜図８を参照して、本実施の形態に係る画像データ処理装置の動作について説明する。
【００５５】
図５に、輝度データＹ０の符号化処理の状態を、図６に、輝度データＹ１の符号化処理の状態を、図７に、色差データ（Ｃｂ０）の符号化処理の状態を、図８に、色差データ（Ｃｒ０）の符号化処理の状態を、それぞれ示す。図５〜図８に示した符号化処理の状態を表わす図は、前述の第１の実施の形態の図３に対応する図である。
【００５６】
図５に示すように、輝度データＹ０の符号長データは６５ビットであることがわかる。また、図６を参照して、輝度データＹ１の符号長データは７３ビットであることがわかる。また、図７を参照して、色差データＣｂ０のデータ長は９ビットであることがわかる。また、図８を参照して、色差データＣｒ０の符号長は２３ビットであることがわかる。
【００５７】
これらを図９にまとめて示す。Ｙ０ブロック、Ｙ１ブロック、Ｃｂ０ブロック、Ｃｒ０ブロックのそれぞれの先頭ブロックはＤＣ成分であるため省略することができず、またそれぞれのブロックにおける最後のデータはＥＯＢであるため省略することができない。すなわち、図９の枠内で示されたデータがＥＯＢ以外のＡＣ符号長であって、データを削減する対象となるデータである。ここでは、符号長の上限値を２０バイト（１６０ビット）と想定する。
【００５８】
図９に示すように、Ｙ０ブロック、Ｙ１ブロック、Ｃｂ０ブロックおよびＣｒ０ブロックの総データ長は、６５ビット＋７３ビット＋９ビット＋２３ビットの総計１７０ビットである。そのため、超過量は１７０ビット−１６０ビットの１０ビットとなる。Ｙ０ブロックのＡＣ符号長（ＥＯＢ除く）は５４ビットであり、Ｙ１ブロックのＡＣ符号長（ＥＯＢ除く）は６３ビット、Ｃｂ０ブロックのＡＣ符号長は５ビット、Ｃｒ０ブロックのＡＣ符号長（ＥＯＢ除く）は１８ビットであり、全ブロックにおけるＡＣ符号長累計（ＥＯＢ除く）は１４０ビットである。
【００５９】
符号長制限回路４００においては各ブロックにおけるデータ削減量を算出する。このとき、たとえば、各ブロック削減量＝｛超過量×（１ブロックＡＣ符号長／全ブロックＡＣ符号長累計）｝として算出するようにしてもよい。この結果、Ｙ０ブロック符号長削減量は４（１０×（５４／１４０）＝３．９）ビット、Ｙ１ブロック符号長削減量は５（１０×（６３／１４０）＝４．５）ビット、Ｃｂ０ブロック符号長削減量は１（１０×（５／１４０）＝０．３６）ビット、Ｃｒ０ブロック符号長削減量は２（１０×（１８／１４０）＝１．３）ビットとなる。
【００６０】
Ｙ０ブロックについて４ビット削減することになるが、Ｙ０ブロックのＥＯＢの１つ上のデータ長は５ビットであるため５ビット分が削減される。Ｙ１ブロックにおいては５ビットが削減対象となるがＥＯＢの１つ上のデータ長が５ビットであるため、そのまま５ビット分が削減される。Ｙ０ブロックとＹ１ブロックの符号長削減量が１０ビットとなり、これが超過量と等しくなるため、Ｃｂ０ブロックとＣｒ０ブロックは削減する必要がなくなる。
【００６１】
以上のようにして、本実施の形態に係る画像データ処理装置によると、８画素×８画素の画像サイズ以外の画像サイズである１６画素×８画素の画像サイズであっても同様にして可変長符号であったハフマン符号データを最適に上限値を有する符号長データとして取扱うことができる。
【００６２】
第１の実施の形態においても第２の実施の形態においても、従来は可変長符号データであったハフマン符号が、上限値を有する符号データとして取扱うことができると、ハフマン符号を格納するメモリの領域の確保が確定できるため、メモリのアドレッシングなどの処理が容易に行なえるようになる。
【００６３】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【００６４】
【図１】本発明の第１の実施の形態に係る画像データ処理装置の制御ブロックを示す図である。
【図２】画像データ処理装置で実行されるプログラムの制御構造を示すフローチャートである。
【図３】本発明の第１の実施の形態に係る画像データ処理装置における量子化処理および符号化処理の一例を示す図である。
【図４】本発明の第２の実施の形態に係る画像データ処理装置の処理対象の画像データを示す図である。
【図５】本発明の第２の実施の形態に係る画像データ処理装置における量子化処理および符号化処理の一例を示す図（その１）である。
【図６】本発明の第２の実施の形態に係る画像データ処理装置における量子化処理および符号化処理の一例を示す図（その２）である。
【図７】本発明の第２の実施の形態に係る画像データ処理装置における量子化処理および符号化処理の一例を示す図（その３）である。
【図８】本発明の第２の実施の形態に係る画像データ処理装置における量子化処理および符号化処理の一例を示す図（その４）である。
【図９】本発明の第２の実施の形態に係る画像データ処理装置における量子化処理および符号化処理の一例を示す図（その５）である。
【図１０】従来の画像データ処理装置における量子化処理および符号化処理の一例を示す図（その１）である。
【図１１】従来の画像データ処理装置における量子化処理および符号化処理の一例を示す図（その２）である。
【符号の説明】
【００６５】
１００  ＤＣＴ回路、２００  量子化回路、２１０  量子化テーブル、３００  ＲＲＲＲ／ＳＳＳＳ生成回路、４００  符号長制限回路、５００  ＲＲＲＲ／ＳＳＳＳ有効係数記憶回路、６００  符号化回路。
【図１】
2005268907.tif 000003
【図２】
2005268907.tif 000004
【図３】
2005268907.tif 000005
【図４】
2005268907.tif 000006
【図５】
2005268907.tif 000007
【図６】
2005268907.tif 000008
【図７】
2005268907.tif 000009
【図８】
2005268907.tif 000010
【図９】
2005268907.tif 000011
【図１０】
2005268907.tif 000012
【図１１】
2005268907.tif 000013