(57)【要約】【課題】画像データを圧縮する際に、高効率でありながら、画質を損わず、処理に時間がかかりすぎず、１パスに近い処理が行え、ワーストケースでの圧縮率・帯域・記憶に要する容量を保証でき、また、ランダムアクセス性を損うことのない画像信号処理装置およびその方法、並びにカメラシステムを提供する。【解決手段】データ信号処理部１５が画像メモリ１７とのインターフェース部分に帯域保証圧縮伸長部２００を備えており、画像データを上位側ビットと下位側ビットに分割し、分割部分毎に所定の圧縮方式を適用して圧縮処理を行うことにより、メモリバス帯域を保証しながら、画質の劣化を損わず、処理に時間がかかりすぎず、１パスに近い処理が行え、ワーストケースでの圧縮率、帯域、記憶に要する容量を備え、しかもランダムアクセス性を確保している。【選択図】図２
2006303690.tif 000002
【特許請求の範囲】
【請求項１】
画像データを圧縮処理する画像信号処理装置であって、
入力画像データを複数のビット精度部分に分割し、分割部分毎に所定の圧縮方式を適用して圧縮処理を行う信号処理部
を有する画像信号処理装置。
【請求項２】
上記信号処理部は、画像データを上位側ビットと下位側ビットに分割し、分割した上位側ビットを可逆圧縮方式に従って可逆圧縮する
請求項１記載の画像信号処理装置。
【請求項３】
上記信号処理部は、入力画像データを所定画素数のブロック単位毎に圧縮する
請求項２記載の画像信号処理装置。
【請求項４】
上記信号処理部は、目標圧縮率を達成すべく帯域圧縮処理を行い、可逆圧縮方式による圧縮処理で目標圧縮率を達成する場合は可逆圧縮を行い、可逆圧縮で目標圧縮率を満たさない場合に限り非可逆圧縮方式による圧縮処理を行う
請求項２記載の画像信号処理装置。
【請求項５】
上記信号処理部は、各ブロック毎に目標圧縮率を達成すべく帯域圧縮処理を行い、可逆圧縮方式による圧縮処理で目標圧縮率を達成する場合は可逆圧縮を行い、可逆圧縮で目標圧縮率を満たさない場合に限り非可逆圧縮方式による圧縮処理を行う
請求項３記載の画像信号処理装置。
【請求項６】
上記信号処理部は、画像の複雑さに応じて画素の持つビット精度をブロック毎に適応的に可変とする
請求項３記載の画像信号処理装置。
【請求項７】
上記信号処理部は、画像の複雑さに応じて画素の持つビット精度をブロック毎に適応的に可変とする
請求項５記載の画像信号処理装置。
【請求項８】
上記信号処理部は、画素の持つ下位ビット精度を欠損させる際、画素値の大きさによる判断を行い、高画素値よりも低画素値の下位ビット精度をより欠損させにくくする
請求項６記載の画像信号処理装置。
【請求項９】
上記信号処理部は、画素の持つ下位ビット精度を欠損させる際、画素値の大きさによる判断を行い、高画素値よりも低画素値の下位ビット精度をより欠損させにくくする
請求項７記載の画像信号処理装置。
【請求項１０】
上記信号処理部は、高画素値の画素から段階的にビット精度を落とす処理を行う
請求項８記載の画像信号処理装置。
【請求項１１】
上記信号処理部は、高画素値の画素から段階的にビット精度を落とす処理を行う
請求項９記載の画像信号処理装置。
【請求項１２】
上記信号処理部は、複数の削減案による符号量を試算後、目標に沿うものを採用し、当該削減案に沿った実際の符号化を行う
請求項２記載の画像信号処理装置。
【請求項１３】
上記信号処理部は、すべての削減案の結果が思わしくない場合は、生のまま上記上位ビットデータを保存する
請求項１２記載の画像信号処理装置。
【請求項１４】
記憶部をさらに有し、
上記信号処理部は、有限の画素数のブロック単位ごとに圧縮を行い、上記記憶部の当該ブロック単位ごと決められた記録領域に記録する
請求項２記載の画像信号処理装置。
【請求項１５】
被写体の像を撮像し画像データを出力する撮像部と、
画像データに所定の処理を行う画像信号処理装置とを含み、
上記画像信号処理装置は、
入力画像データを複数のビット精度部分に分割し、分割部分毎に所定の圧縮方式を適用して圧縮処理を行う信号処理部を有する
カメラシステム。
【請求項１６】
上記信号処理部は、画像データを上位側ビットと下位側ビットに分割し、分割した上位側ビットを可逆圧縮方式に従って可逆圧縮する
請求項１５記載のカメラシステム。
【請求項１７】
上記信号処理部は、入力画像データを所定画素数のブロック単位毎に圧縮する
請求項１５記載のカメラシステム。
【請求項１８】
上記信号処理部は、目標圧縮率を達成すべく帯域圧縮処理を行い、可逆圧縮方式による圧縮処理で目標圧縮率を達成する場合は可逆圧縮を行い、可逆圧縮で目標圧縮率を満たさない場合に限り非可逆圧縮方式による圧縮処理を行う
請求項１６記載のカメラシステム。
【請求項１９】
上記信号処理部は、各ブロック毎に目標圧縮率を達成すべく帯域圧縮処理を行い、可逆圧縮方式による圧縮処理で目標圧縮率を達成する場合は可逆圧縮を行い、可逆圧縮で目標圧縮率を満たさない場合に限り非可逆圧縮方式による圧縮処理を行う
請求項１７記載のカメラシステム。
【請求項２０】
画像データに所定の圧縮処理を行う画像信号処理方法であって、
入力画像データを複数のビット精度部分に分割し、
分割部分毎に所定の圧縮方式を適用して圧縮処理を行う
画像信号処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像圧縮技術を採用した画像信号処理装置、カメラシステム、および画像信号処理方法に関するものである。
【背景技術】
【０００２】
デジタルカメラ・デジタルビデオカメラ・デジタルテレビ等の近年の画像処理装置の高画質化・高精細化に伴い、これらの装置内に搭載される集積回路が処理する画像データ量が増大している。
莫大な画像データを取り扱うためには、集積回路内のデータ転送容量の帯域を確保するために、一般に幅の大きなデータバス、高い動作周波数、大容量の記録装置等、高価かつ大量の回路資源が必要となる。
記録装置については大容量化に伴う速度性能の問題も生じる。特に携帯電話、PDA、デジタルカメラやポータブルAVプレーヤー等の携帯性が求められる装置においては、速度性能とともに小面積・低消費電力性を両立させる必要があり、これらの要件をすべて高次元で満足させつつ近年のメガピクセル単位の画像データを取り扱うことは困難になりつつある。
【０００３】
そこで、一般的には、画像データはたとえば集積回路内での画像処理をすべて終えた上で、フラッシュメモリ等の外部記録装置に記録する際に圧縮処理を行う。
これによって、非圧縮に比べてより大きな画像サイズ、長い撮影時間、多くの枚数の画像データを同じ容量の外部記録装置に格納することが可能になる。
この圧縮処理実現には、JPEG, MPEG, GIF, LHA, ZIPといった符号化方式が用いられている。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
一般的に、画像データを集積回路内の複数のモジュール間で受け渡す場合、図１に示すように、画像データの出力側モジュール１と入力側モジュール２では、時間的に処理するタイミングが異なる場合が多い。このような場合の多くは、図１に示すように、画像データを一旦メモリ１３を介して受け渡すことが多く、一時的にメモリ３上に画像データを保存することになる。
しかし、近年はLSIのメモリインターフェース（I/F）に使用可能なピン数とメモリへのアクセス周波数が頭打ち傾向にあり、多くの場合メモリ帯域は不足している。
【０００５】
外部記録装置に対してではなく、集積回路内のデータバスや内部記録装置上で圧縮データを取り扱うことに関して、一般的な符号化方式では解決できない、次に挙げる第１から第４の課題が生じる。
第１の課題は、圧縮性能および画像品質の維持が困難であることである。
第２の課題は、処理に時間がかかり、処理速度が遅くなることである。
第３の課題は、帯域の保証が困難であることである。
第４の課題は、ランダムアクセス性の維持が困難であることである。
以下、これら第１から第４の課題についてさらに詳細に述べる。
【０００６】
まず第１の課題は、圧縮性能および圧縮データの品質の維持に関する課題である。
データを圧縮することで、帯域削減を図るに際し、圧縮効率がよくない、すなわち圧縮後のデータ容量があまり小さくならないようであると、帯域や記憶装置資源の削減を大きく達成できないことになる。
一般的に、画像データを可逆圧縮した場合、個々の画像の特徴に依ることはもちろんであるが、ベストケースでも圧縮後容量50%を達成するのが困難である場合がほとんどである。そこで、より高い圧縮率を達成するために、非可逆圧縮を用いる方法がある。
しかし容易に推測できる通り、この非可逆圧縮の場合は品質の問題が生じる。非可逆圧縮の場合は、圧縮後のデータは元のデータとは異なってしまう。この異なり方が大きいと、われわれ人間が画像データを目視した場合に、さまざまな情報が失われた美しくない絵を目にすることになる。非可逆圧縮を用いる際は、われわれが知覚的に差異を認識しにくい範囲でのデータの変化しか許されない。
【０００７】
第２の課題は、処理速度に関する課題である。
いかに高い圧縮効率を得られる優れた圧縮手法を考案したとしても、その処理があまりに複雑で、多くの回路資源、そして多くの所要時間を要するようでは、帯域を削減するという目標を達成できない。
たとえば、1秒間に30枚の画像を表示しなければならない動画再生装置において、1/30秒の間に1枚の絵を処理しきれないと、データ圧縮に成功しても帯域が削減されているとはいえず、所期の目的を達成しているとはいい難い。
一般的な放送向けデータなどでは、圧縮データの展開さえ制限時間内に終了させられるのであれば、圧縮には相当の時間を要しても問題ない場合がある。
この場合は、２つの経路（2pass）の画像処理を施すことが可能である。すなわち、第１経路における処理で全画像データを走査して、そこから圧縮処理に有用な画像特徴量、たとえば、画面全体の明るさであるとか、とくに精細さが要求される複雑な画像部位の座標情報などを抽出する。
第２経路における処理では、すでに得た第１経路による情報を活用しつつ、効率のよい圧縮を実行することができる。
しかし、録画と同時に再生を行う装置、または集積回路内でのデータの取り扱いにおいては、このような悠長な調査を行うだけの時間が存在しない。
よって、基本的に非常に狭い範囲でのデータ走査のみ許される一つの経路（1pass）による処理が望ましい。
【０００８】
第３の課題は、帯域のワーストケース保証の問題である。
一般的に画像を含めた各種データの圧縮に用いられる可変長符号化手法においては、圧縮後のデータ容量が決まっておらず、実際に一度圧縮を適用してみないと圧縮後のデータ容量を知ることができない。
しかも、この際圧縮には確率的な偏りを利用しているため、極端なデータを扱った場合(例：幾何学的な千鳥格子模様)、逆に圧縮前よりもデータ容量が大きくなってしまうことも論理的にはありえることになる。
しかし、集積回路においては、事前に予測される処理データ容量にもとづいた有限量の回路資源しか用いることができない。最も圧縮効率がよくなかった場合でも最低限保証できる圧縮後容量を決定し、かつこの圧縮後容量が、帯域削減の目標に到達していなければならない。
【０００９】
最後に第４の課題は、ランダムアクセス性維持の問題である。
一般的に、画像圧縮の際は、ある順序に従って画面上の画素を走査し、圧縮処理を行っていく。走査方式の例としては、画像の左上から行→列の順で右下に向かって走査する“ラスタ（Raster）走査”がよく用いられる。
逆に、圧縮データを展開する際、一般的な可変長符号では、圧縮された符号データの先頭から、圧縮時の画素走査順を全く同様に辿る展開を行うことになる。
一方、一画像からその部分画像を切り出す場合、画素の上下間の参照・相関を必要とする画像処理を行う場合、また画像の輪郭部にみられる撮影時のレンズ由来の歪みを補正する処理の場合など、任意部位の画素を随意取得できることが要求されることが少ない。
この際、現状の可変長符号データでは、任意部位を取得するために符号データの途中から展開を開始できず、ランダムアクセス性を完全に損うことになる。
この問題を解決し、ある部位を取得する際に発生しうる先頭部分からの展開による帯域の消費、あるいはライン保持用メモリの消費を避けなければならない。
【００１０】
本発明は、画像データを圧縮する際に、高効率でありながら、画質を損わず、処理に時間がかかりすぎず、１パスに近い処理が行え、ワーストケースでの圧縮率・帯域・記憶に要する容量を保証でき、また、ランダムアクセス性を損うことのない画像信号処理装置、カメラシステム、および画像信号処理方法を提供することにある。
【課題を解決するための手段】
【００１１】
本発明の第１の観点の画像信号処理装置は、画像データを圧縮処理する画像信号処理装置であって、入力画像データを複数のビット精度部分に分割し、分割部分毎に所定の圧縮方式を適用して圧縮処理を行う信号処理部を有する。
【００１２】
好適には、上記信号処理部は、画像データを上位側ビットと下位側ビットに分割し、分割した上位側ビットを可逆圧縮方式に従って可逆圧縮する。
【００１３】
好適には、上記信号処理部は、入力画像データを所定画素数のブロック単位毎に圧縮する。
【００１４】
好適には、上記信号処理部は、目標圧縮率を達成すべく帯域圧縮処理を行い、可逆圧縮方式による圧縮処理で目標圧縮率を達成する場合は可逆圧縮を行い、可逆圧縮で目標圧縮率を満たさない場合に限り非可逆圧縮方式による圧縮処理を行う。
【００１５】
好適には、上記信号処理部は、各ブロック毎に目標圧縮率を達成すべく帯域圧縮処理を行い、可逆圧縮方式による圧縮処理で目標圧縮率を達成する場合は可逆圧縮を行い、可逆圧縮で目標圧縮率を満たさない場合に限り非可逆圧縮方式による圧縮処理を行う。
【００１６】
好適には、上記信号処理部は、画像の複雑さに応じて画素の持つビット精度をブロック毎に適応的に可変とする。
好適には、上記信号処理部は、画素の持つ下位ビット精度を欠損させる際、画素値の大きさによる判断を行い、高画素値よりも低画素値の下位ビット精度をより欠損させにくくする。
好適には、上記信号処理部は、高画素値の画素から段階的にビット精度を落とす処理を行う。
【００１７】
好適には、上記信号処理部は、複数の削減案による符号量を試算後、目標に沿うものを採用し、当該削減案に沿った実際の符号化を行う。
好適には、上記信号処理部は、すべての削減案の結果が思わしくない場合は、生のまま上記上位ビットデータを保存する。
【００１８】
好適には、記憶部をさらに有し、上記信号処理部は、有限の画素数のブロック単位ごとに圧縮を行い、上記記憶部の当該ブロック単位ごと決められた記録領域に記録する。
【００１９】
本発明の第２の観点のカメラシステムは、被写体の像を撮像し画像データを出力する撮像部と、画像データに所定の処理を行う画像信号処理装置とを含み、上記画像信号処理装置は、入力画像データを複数のビット精度部分に分割し、分割部分毎に所定の圧縮方式を適用して圧縮処理を行う信号処理部を有する。
【００２０】
本発明の第３の観点は、画像データに所定の圧縮処理を行う画像信号処理方法であって、入力画像データを複数のビット精度部分に分割し、分割部分毎に所定の圧縮方式を適用して圧縮処理を行う。
【発明の効果】
【００２１】
本発明によれば、以下の効果を得ることができる。
画像を保持するための記憶領域を保証された一定量以内に削減できる。
画像を伝送するためのバス帯域を保証された一定量以内に削減できる。
画像内のアライメントされた任意の部分領域に対して、ランダムアクセス性を保持できる。
画像の最低品質・精度を保証できる。
画素の輝度に応じて精度の削減度合を変化させ、知覚的な画質劣化を抑制できる。
画像の複雑さによって決まる圧縮の難易度により、精度を適応的に可変とすることで、
画像の品質を維持しながら目標圧縮率を達成できる。
少ない回路資源によって、上記内容をリアルタイム処理することができる。
【発明を実施するための最良の形態】
【００２２】
以下、本発明の実施形態を図面に関連付けて説明する。
【００２３】
図２は、本実施形態に係る画像信号処理装置を採用したカメラシステムの構成例を示すブロック図である。
【００２４】
本カメラシステム１０は、光学系１１、ＣＣＤやＣＭＯＳセンサからなるイメージセンサ（撮像装置）１２、アナログ信号処理部１３、アナログ／デジタル（Ａ／Ｄ）コンバータ１４、デジタル信号処理部１５、画像圧縮伸長部１６、画像メモリ１７、表示装置インインターフェース（Ｉ／Ｆ）１８、表示装置１９、制御ＣＰＵ２０、操作デバイス２１、ヒューマンインターフェース２２、ストレージインターフェース２３、および外部保存用メモリ２４を有している。
カメラシステム１０において、デジタル信号処理部１５、画像圧縮伸長部１６、画像メモリ１７、および表示装置インターフェース１８がバス２５を介して接続されている。
光学系１１、ＣＣＤやＣＭＯＳセンサからなるイメージセンサ（撮像装置）１２、アナログ信号処理部１３等により撮像部が構成される。
【００２５】
基本的に、第１の信号処理部としてのデジタル信号処理部１５、第２の信号処理部としての画像圧縮伸長部１６、および記憶部としての画像メモリ１７により画像信号処理装置を構成可能である。
そして、本実施形態においては、データ信号処理部１５が画像メモリ１７とのインターフェース部分に帯域保証圧縮伸長部２００を備えており、メモリバス帯域を保証しながら、画質の劣化を損わず、処理に時間がかかりすぎず、１パスに近い処理が行え、ワーストケースでの圧縮率、帯域、記憶に要する容量を備え、しかもランダムアクセス性を確保している。
【００２６】
まず、図２のカメラシステム１０の各部の機能の概要について説明する。
【００２７】
光学系１１は、レンズを主体として構成され、図示しない被写体の像を撮像素子であるイメージセンサ１２の受光面に結像させる。
【００２８】
イメージセンサ１２は、光学系１１を通して結像した被写体像の情報を光電変換し、アナログ信号処理部１３に出力する。
【００２９】
アナログ信号処理部１３は、イメージセンサ１２のアナログ出力を相関二重サンプリング処理（ＣＤＳ）、アナログ増幅処理等を行い、処理後のアナログ画像データをＡ／Ｄコンバータ１４に出力する。
Ａ／Ｄコンバータ１４は、アナログ信号処理部１３によるアナログ画像データをデジタル信号に変換し、デジタル信号処理部１５に出力する。
【００３０】
デジタル信号処理部１５は、撮影に先立って撮影のシャッタスピードを決める処理や撮影した画像の明るさや色を調整するための処理や、撮影した画像データを後で詳述する圧縮方式に従って圧縮処理して記録媒体である画像メモリ１７に書き込み、書き込んだ画像データを画像メモリ１７から読み出して伸長（展開）する処理等を行う。
デジタル信号処理部１５は、データ信号処理部１５が画像メモリ１７とのインターフェース部分に帯域保証圧縮伸長部２００を備えており、メモリバス帯域を保証しながら、画質の劣化を損わず、処理に時間がかかりすぎず、１パスに近い処理が行え、ワーストケースでの圧縮率、帯域、記憶に要する容量を備え、しかもランダムアクセス性を確保している。
このデジタル信号処理部１５の帯域保証圧縮伸長部２００の具体的な構成および機能については、後で詳述する。
【００３１】
画像圧縮伸長部１６は、画像メモリ１７に記憶された被圧縮データを読み出して伸長処理するデコーダの機能や、カメラの信号などの複数の画像データから圧縮信号処理して画像ソースを作成するエンコード機能を有する。
画像圧縮伸長部１６は、ストレージインターフェース２３を通して画像保存用メモリ２４への画像データの保存、あるいはメモリ２４からの再生を行うことができる。
画像保存用メモリ２４としては、不揮発性のメモリであるフラッシュメモリやＨＤＤ、ＤＶが適用可能である。
【００３２】
表示装置インターフェース１８は、表示すべき画像データを表示装置１９に出力し表示させる。
表示装置１９としては、液晶表示装置（ＬＣＤ）等が適用可能である。
【００３３】
制御ＣＰＵ２０は、デジタル信号処理部１５、画像圧縮伸長部１６や回路全体の制御を行う。
制御ＣＰＵ２０は、ヒューマンインターフェース２２を通して操作デバイス２１の操作に応じた制御を行う。
操作デバイス２１としては、シャッタボタン、ジョグダイヤル、タッチパネル等を含んで構成される。
【００３４】
以下に、デジタル信号処理部１５における帯域圧縮伸長部２００の処理機能等について具体的に説明する。
【００３５】
本実施形態における帯域圧縮伸長部２００は、概念的には、図３に示すように、データ圧縮部２０１ａを備えたデータ送信側ブロック２０１と、データ伸長部（展開部）２０２ａを備えたデータ受信側ブロック２０２とを有している。これら、送信側ブロック２０１と受信側ブロック２０２がバス２５を通して画像メモリ（記憶部）１７に接続されて、データ転送が行われる。
本実施形態においては、後述するように、帯域圧縮伸長部２００の圧縮（伸長）処理により、バス２５上に流れるデータ量が少なく、画像メモリ１７を構成する記憶装置の帯域、容量を削減できる。
また、本実施形態においては、帯域圧縮伸長部２００とは別に、画像圧縮伸長部１６がバス２５に接続されている。すなわち、画像圧縮処理部１６は、デジタル信号処理部１５における処理とは全く別処理（無関係な処理）を行う機能ブロックとして、画像メモリ１７との間でデータの読み出し、書き込みのためのデータ転送処理を行うように配置されている。
【００３６】
すなわち、本実施形態においては、データ転送容量の帯域を削減するために、たとえば集積回路内で処理データを容量的に圧縮して取り扱う。
近年はLSIのメモリインターフェースに使用可能なピン数とメモリへのアクセス周波数が頭打ち傾向にあり、多くの場合メモリ帯域は不足している。集積回路内で圧縮した画像データを取り扱えば、データバスを通過させるデータ容量が少なくなり、必要な帯域の削減が図れる。さらに、データを圧縮することで、集積回路内の記録装置の必要容量も削減することが可能になる。
【００３７】
なお、本実施形態においては、前提条件として、たとえばＲＧＢ各色を１２ビット(bit)精度を持つ色フィルタ配列による画像データを、各色８ビット相当に圧縮する（目標圧縮率６６．７％、元データの２／３）こととする。
【００３８】
画像データを構成する個々の要素には、８ビット(bit)精度のものが標準で使用されてきた。画像データの構成要素としては、代表的なものに原色系(R/G/B)や輝度色差(Y/Cb/Cr)あるいはイメージセンサ固有の色フィルタ配列(Color Filter Array:CFA) などがある。
ところが、近年、高画質化の要求に伴い１０〜１２ビット、あるいはそれ以上への高精度化が重要になってきている。
本実施形態は、この高画質化、高精度化の要求に対しても十分に対応可能な機能を有する。
ただし、単純に画像データの扱う精度を高めるだけではデータ量が増えてしまい、画像データを保持するメモリ領域や伝送するメモリバス帯域などの増大を招いてしまう。
そこで、本実施形態のデジタル信号処理部１５における帯域圧縮伸長部２００は、効率よい画像データ圧縮方法を採用し、一般的な画像圧縮技術に存在する問題を解消した、以下のＡ）〜Ｄ）の４項目の目標を達成することが可能な機能を有している。
【００３９】
＜４目標＞
Ａ）視覚上の特性に合わせた符号化アルゴリズムにより、可能な限り高画質を維持する。
Ｂ）入力画像全体に対して１パスによる符号化方式により、バス帯域増加を抑制する。
Ｃ）任意の入力画像に対して常に、一定の圧縮率を保証する。
Ｄ）ランダムアクセス性を損わない。
【００４０】
本実施形態の帯域圧縮伸長部２００においては、これら４項目の実現のために以下の処理機能を備えた画像データ圧縮方法を採用している。
【００４１】
１）：有限の画素数（ブロック）単位で圧縮を行う。この第１の機能により上記Ａ）〜Ｄ）の４つの目標を達成可能である。
２）：画像全体に対して１パスによる符号化処理を実現し、帯域増加を防ぐ。この第２の機能により上記Ｂ）の目標を達成可能である。
３）：１画像内の各ブロックに対してはマルチパスによる符号化処理により高画質を保持する。この第３の機能により上記Ｂ）の目標を達成可能である。
４）：ブロック毎に決められたアドレスに記録することで、ランダムアクセス性を損わない。この第４の機能により上記Ｄ）の目標を達成可能である。
５）：データを上位ビット側、下位ビット側など複数のビット精度部分に分割し、それぞれに別々の最適な圧縮方法を用いる。この第５の機能により上記Ａ）の目標を達成可能である。
６）：目標圧縮率を満たす範囲内で画質劣化を最小に抑えるように、最適な圧縮方法をブロック毎に適応的に用いる。この第６の機能により上記Ａ），Ｃ）の目標を達成可能である。
７）：画素の持つビット精度を欠損させる際、画素値の大きさによる判断を行い、高輝度（画素）値よりも低輝度（画素）値のビット精度をより欠損させにくくすることで、視覚的な画質劣化を防止する。この第７の機能により上記Ａ）の目標を達成可能である。
８）：上位ビット側は可逆圧縮し、最低限の画質を保証する。すべての削減案の結果が思わしくない場合は、生のまま上位データを保存し、最低限の圧縮後容量を保証する。この第８の機能により上記Ｃ）の目標を達成可能である。
【００４２】
以下に、第１〜第８の機能についてさらに詳細に説明する。
【００４３】
＜第１の機能＞
目標Ａ），Ｂ），Ｃ），Ｄ）を達成するように、有限の画素数（ブロック）単位で圧縮を行う。
一般的に、画像データは隣接する画素同士は相関性が高い。よって、隣接する数十画素程度から成るブロック単位で、隣接相関性を生かした高効率な圧縮処理を行う方法が有効である。たとえば、JPEGなどの圧縮方式では、8(横) x 8(縦)のブロック形状の単位で圧縮処理を行っている。
本実施形態の圧縮方式においては、予め定めたブロック形状単位ごとに圧縮を行う。
ブロックはシステム毎に最適な形状および画素数を選定することができ、本実施形態では特に限定しない。可能な範囲でプログラマブルに実装することが望ましい。
ただし、一般的な画像圧縮アルゴリズムでは、ブロック内の絵柄の複雑度に応じてブロックの圧縮率が変動してしまう。よって、あらゆる複雑度の画像に対して一定の圧縮率を保証することができず、記憶領域やバス帯域を保証することが困難になる。
この点を考慮し、本実施形態の方式においては、ブロック毎に目標圧縮率を必ず達成する点が大きな特徴となっている。すなわち、ブロック単位の保存に必要なメモリのデータ量やブロック単位の伝送に必要なメモリバス帯域を保証することができる。
ブロック単位の目標圧縮率はシステム毎に最適な値を選定することができ、本実施形態では特に限定しない。可能な範囲でプログラマブルに実装することが望ましい。
【００４４】
データ圧縮方式には、可逆圧縮(Lossless)方式と非可逆圧縮(Lossy)方式がある。
可逆圧縮方式では画質を劣化させないために圧縮効率を犠牲にするのに対し、非可逆圧縮方式は、圧縮効率を向上させるために画質を劣化させる。
本実施形態の方式では、可逆圧縮で目標圧縮率を満たす場合は可逆圧縮を行い、可逆圧縮で目標圧縮率を満たせない場合に限り非可逆圧縮を行うことで、画質劣化を最小に抑える方法を採用している。
代表的な可逆圧縮方式として、近隣相関性を生かしたロスレスJPEG (JPEG Annex.H) がある。ロスレスJPEGでは、近隣画素との差分(DPCM) をHuffman符号化することによりデータ量を圧縮している。
代表的な非可逆圧縮方式としては、JPEG baselineがある。JPEG baselineでは、ブロック内を DCT(離散コサイン変換)／量子化／Huffman符号化することによりデータ量を圧縮している。
可逆圧縮および非可逆圧縮で用いる内部方式（上述のDPCM,DCT,Huffmanなどに相当するもの）は、システム毎に最適なものを採用することができ、本実施形態では特に限定しない。
【００４５】
＜第２の機能＞
目標Ｂ）を達成するように、画像全体に対しては１パスによる符号化処理を実現し、帯域増加を防ぐ。
一般的に、高い圧縮効率を実現する手法として２パス符号化方式あるいはマルチパス符号化方式がある。
２パス符号化方式の場合、１パス目の処理において画像データ内の絵柄の複雑度の分布状況などの情報を収集し、２パス目において１パス目で収集した統計情報を基にビットレート(bit rate)制御を行うことで、高圧縮率・高画質維持を実現している。ただし、バスを介したメモリ上に画像データを置く場合、その代償として画像データ入力に必要なメモリ帯域が２倍に増大してしまう。
そこで、本方式では画像全体に対しては１パスによる符号化処理を実現し、画像データ入力帯域の増加を防ぐ。
【００４６】
＜第３の機能＞
目標Ｂ）を達成するために、１画像内の各ブロックに対してはマルチパスによる符号化処理により、高画質を保持する。
本方式では、１画像内の各ブロックに対してはマルチパスによる符号化処理方法を適用する。異なった圧縮パラメータの中からマルチパスにより最適なパラメータを選択することで、一定の圧縮率を満たす範囲内で可能な限り画質劣化を防ぐことが可能となる。
圧縮パラメータの種類や数、あるいは最適なパラメータの選択アルゴリズムは本実施形態では特に限定しない。可能な範囲でプログラマブルに実装することが望ましい。
【００４７】
以下に実施の具体例を挙げる。
ブロックの圧縮後データ容量を試算する回路を複数個並列に用意することで、異なった圧縮パラメータよる多数のデータ量削減案を、１パス目で同時に試算することが可能となる。
これにより、ブロックの圧縮処理が２パスに近い処理で実現可能となる。
２パス目では、１パス目の試算から得られた最適な圧縮パラメータを用いて、実際の圧縮処理を実行すればよい。
【００４８】
＜第４の機能＞
目標Ｄ）を達成するように、ブロック毎に決められたアドレスに記録することで、ランダムアクセス性を損わない。
ブロック単位で一定の圧縮率を保証するという事は、実際には目標圧縮率に相当するデータ量以下に圧縮するという事であり、用意したデータ容量分が完全に一杯になるまでにはまだ別のデータを詰め込む余地がわずかながら残されている場合もありうる。そこへ、次のブロックを詰め込むこともできるが、本方式ではあえてそのようなことはしない。
次のブロックは次のブロック用に予め確保された記憶領域へ記録することで、各ブロックの実際の圧縮率によらずに、ブロックの最初のデータのメモリ上のアドレスが固定になるため、ブロック単位ではあるがランダムアクセスが可能になる。
ブロック単位のアドレッシング方法はシステム毎に最適な方法を用いることができ、本実施形態では特に限定しない。可能な範囲でプログラマブルに実装することが望ましい。
【００４９】
＜第５の機能＞
目標Ａ）を達成するように、本実施形態の帯域保証圧縮法は、データを上位ビット側・下位ビット側など複数のビット精度部分に分割し、それぞれに別々の最適な圧縮方法を用いる。
一般的に、画像データは上位ビット側から下位ビット側に向かうに従い近隣との相関性が薄れていく。このため、８ビット(8bit)精度の画像データ圧縮に用いられ有効性が認められてきた近隣相関性に基づく圧縮方式は、必ずしも８ビット精度を超えた高精度画像データの下位ビット側には有効では無い。
実際、８ビット精度と１２ビット精度など高精度画像データの近隣相関性に基づく圧縮効率を比較してみると、高精度になるにつれ圧縮効率が低下する傾向になっている。
そこで、本実施形態の方式では高精度な画像データを上位ビット側と下位ビット側などの複数の精度部分に分割し、それぞれに別々の最適な圧縮方法を用いるように構成している。
上位ビット側と下位ビット側などに分割するデータの分割点はシステム毎に最適なポイントを選定することができ、本実施形態ではデータの分割点および分割数を特に限定しない。可能な範囲でプログラマブルに実装することが望ましい。
【００５０】
以下に実施の具体例を挙げる。
１２ビット(12bit)精度の画像データを扱う場合、上位側８ビット部分と下位側４ビットの部分に２分割し、上位側８ビット部分には近隣相関性に基づいた差分PCM(DPCM)とハフマン（Huffman）符号化の組合わせによる可逆圧縮（Lossless圧縮）を採用し、下位側４ビット部分には非圧縮データ(PCM)をそのまま採用する。
【００５１】
＜第６の機能＞
目標Ａ），Ｃ）を達成するように、目標圧縮率を満たす範囲内で画質劣化を最小に抑えるように、最適な圧縮方法をブロック毎に適応的に用いる。
一般的な画像圧縮方法では、単純な絵柄に対しては圧縮効率が高いが、絵柄が複雑になるにつれ圧縮効率が低下してしまい、絵柄の複雑さと圧縮効率とは相反する要因となっている。
一方、高圧縮率と画素の高ビット精度保持(高画質維持)の両者も相反する要因であり、これらは互いにトレードオフの関係にある。
これら３要素“絵柄の複雑さ・圧縮効率・高画質維持”の関係をふまえ、画質劣化を最小に抑えつつ絵柄の複雑さによらずに一定の目標圧縮率を達成する手法が必要である。
本発明では、絵柄の複雑さに応じて画素の持つビット精度をブロック毎に適応的に欠損させる方法を採用している。
目標圧縮率に見合うようにビット精度の欠損度合いを最適なポイントに制御することで、絵柄の複雑さによらずに一定の圧縮率を達成することが可能となり、その上で可能な限り画質劣化を抑制することができる。
本実施形態では、画素の持つビット精度の最適な欠損ポイントを導出するアルゴリズムを特に限定しない。実施の具体的なアルゴリズム例については後述する。
【００５２】
＜第７の機能＞
目標Ａ）を達成するように、画素の持つビット精度を欠損させる際、画素値の大きさによる判断を行い、高輝度(画素)値よりも低輝度(画素)値のビット精度をより欠損させにくくすることで、視覚的な画質劣化を防止する。
画素の持つビット精度を欠損させる際に用いる指標として、輝度(画素)値の大きさが挙げられる。
一般に、人間の目が暗い部分の微妙な階調変化に敏感であるという視覚上の特性から、高輝度(画素)値よりも低輝度(画素)値のビット精度を優先的に保持する圧縮方法が高画質維持には有効となる。
そこで、本実施形態においては、ブロック内に含まれる低輝度側の画素値のビット精度をできるだけ保持しつつ、目標圧縮率を達成するまで高輝度側の画素値から少しずつ下位ビットを欠損させ、ビット精度の欠損度合いをブロック毎に最適なポイントに制御するような段階的なアルゴリズムを採用している。
本実施形態では、輝度(画素)値の大きさに対して欠損させるビット精度を導出するアルゴリズムを特に限定しない。
【００５３】
以下に、実施の具体的なアルゴリズム例を挙げる。
画素値の上位ビット側部分の値の大きさに応じて、下位ビット側部分のデータの欠損具合を決定するアルゴリズム例を説明する。
まず、上位ビット側のデータを値の大小でいくつかのレベルに分割し、レベル毎に下位ビット側の精度を何ビット保持するかを決定する変換レコードを用意する。
このレコードは、低圧縮率から高圧縮率に至るまで圧縮効率順に並べてあるので、目標圧縮率に至るまで順にレコードを適応することで、目標圧縮率内において最もビット欠損の少ない高画質な圧縮が可能となる。
本実施形態においては、レコード内のレベルおよび欠損ビット精度などの値を特に限定しない。これらの値は画像データの特性に合わせるのが好ましいので、ソフトウェアで設定可能なようにプログラマブルに実装するのが望ましい。
【００５４】
＜第８の機能＞
目標Ｃ）を達成するように、上位ビット側は可逆圧縮し、最低限の画質を保証し、すべての削減案の結果が思わしくない場合は、生のまま上位データを保存し、最低限の圧縮後容量を保証する。
可変長符号化方式には、静的な可変長テーブルを用いるものと、データに合わせて動的に可変長テーブルを変化させるものとがある。
動的なテーブルを用いる方式の方が圧縮効率は高いが、それ以上に非常に複雑な処理および時間が必要となる。このことは本方式の目的であるリアルタイム性に支障をきたしうる。
それに対し静的なテーブルを用いる方式は、少ない回路資源でも動的テーブルを用いる方式に近い効果を発揮する。
そこで、本方式では静的な可変長符号化テーブルを用いる可変長符号化を採用している。
静的な可変長符号化テーブルは、様々な画像の統計情報を根拠にして、平均的な複雑度の画像を効率よく圧縮できるように設定される。そのため、その設定に対してワーストケースの統計分布を持つ画像に対しては、圧縮前よりも逆にデータ量が増えてしまうことがある。
このような場合は静的な可変長符号化を利用した圧縮処理をかけるよりも圧縮処理をかけない方が、データ量が少なく有利である。
本方式では、このような場合、圧縮前の上位ビット側のデータを下位ビット側の値で丸めたものを圧縮後のデータとする。
このように、下位ビット側のデータを保存せずあえて削減することで、ワーストケースにおいてもデータ容量を目標圧縮率以内に圧縮する。
【００５５】
次に、上述した本実施形態において採用する帯域保証圧縮法について図面に関連付けて説明する。
ここでの、目標圧縮率は６６．７％（元データ量の２／３）であり、１画素平均にすると１２ビットを８ビットにすることに相当する。
【００５６】
図４は、本実施形態において採用する帯域保証圧縮法について説明するための図であって、１２ビット精度の画素像データ（ＲＡＷデータ）を上位側ビットと下位側ビットに２分割する状態を示す図である。
図５は、本実施形態において採用する帯域保証圧縮法について説明するための図であって、画素データを２分割した後に適用されるエンコード(Encode)アルゴリズム例を示し図である。
なお、図４においては、画素配列の左画素側から右画素側の１ライン（横ライン）を便宜上縦方向にスキャンするように図示している。
【００５７】
図４の例においては、１２ビット生（ＲＡＷ）データを、上位側８ビット部分である精度保証部分３０１と下位側４ビット部分であるレート制御部分３０２に２分割し、図５に示すように、それぞれ異なったエンコードアルゴリズムを適用する。
本実施形態においては、図４に示すように、レート制御部分３０２の精度に関しては上位側の８ビットを参照し、輝度値が高いデータから優先的に下位側のレート制御部分３０２の精度を落とす。輝度値が低いデータはレート制御部分３０２の精度をできるだけ保持する。
図４の例において、輝度値が高いか低いかは、上位側の精度保証部分３０１の８ビットをＭＳＢ側４ビットとＬＳＢ側４ビットに分割し、ＭＳＢ側４ビットのいずれかのビットが論理１にセットされている場合に輝度値が高いと判断し、ＭＳＢ側４ビットのいずれのビットも１にセットされていない場合には輝度値が低いと判断する。
これは一例であり、種々の態様が可能である。
【００５８】
エンコードの試行順としては、図５に示すように、上位側８ビット部分である精度保証部分３０１と下位側４ビット部分であるレート制御部分３０２のそれぞれに異なったエンコードアルゴリズムを適用するが、目標圧縮率を満たすまで（１）可逆圧縮（Lossless圧縮）、（２）第１の非可逆圧縮（Lossy圧縮）、（３）ワーストケースでの帯域保証用としての第２のLossy圧縮を順に適用する。
【００５９】
まず、Lossless圧縮処理ステップにおいては、上位側８ビット部分である精度保証部分３０１には近隣相関性に基づいた差分PCM(DPCM)とHuffman符号化の組合わせによるLossless圧縮を採用し、下位側４ビット部分であるレート制御部分３０２には非圧縮データ(PCM)をそのまま採用する。
【００６０】
次に、第１のLossy圧縮処理ステップにおいては、PCM(DPCM)とHuffman符号化の組合わせによるLossless圧縮を採用してその符号量が最大許容符号量以下の場合であって、目標圧縮率に達成していない場合、上位側８ビット部分である精度保証部分３０１には近隣相関性に基づいた差分PCM(DPCM)とHuffman符号化の組合わせによるLossy圧縮を採用し、下位側４ビット部分であるレート制御部分３０２にはレートに応じて精度を落としたデータを符号化せずにそのまま記録する。
【００６１】
第２のLossy圧縮処理ステップは、ワーストケースでの帯域保証用の処理ステップであり、PCM(DPCM)とHuffman符号化の組合わせによるLossless圧縮を採用してその符号量が最大共用符号量より大きい場合であって、目標圧縮率に達成していない場合、上位側８ビット部分である精度保証部分３０１における８ビット生データ（ＰＣＭ）をそのまま記録し、下位側４ビット部分であるレート制御部分３０２に関してはすべて記録しない。
【００６２】
次に、本実施形態における上位側ビット成分（精度保証部分）の符号化方式、および下位側ビット成分（レート制御部分）の符号化方式の一例について説明する。
【００６３】
まず、上位側ビット成分（精度保証部分）の符号化方式の一例について説明する。
図６は、本実施形態の上位側ビット成分（精度保証部分）の符号化方式を説明するための図である。
【００６４】
圧縮の基本方式としては、現画素と前画素との差分をハフマン符号化する方式を採用する。
図６に示すように、まず、図６（Ａ）に示すような画素配列（入力画像データ）の１ライン（１つの横ライン）をブロック単位として、圧縮前データをブロック単位にラスタ順で処理する。
次に、図６（Ｂ）に示すように、保持部３０３に保持していた前画素（prev pxl）と現画素(cur pxl)との差分を引き算器３０４で求める。
図６（Ｃ）に示すように、求めた差分値をハフマンテーブル３０５中に示すように符号化する。ハフマンテーブルは通常３角形と形状となり、差分値が小さいほど符号長は短くなる。
次に、図６（Ｄ）に示すように、上位側ビット成分の圧縮率がどれくらいになるかを見積もるため、符号長(length)をアキュムレータ部３０６においてそれぞれ積算する。
次に、図６（Ｅ）に示すように、ブロック毎の上位側ビット成分の圧縮率を見積もる。見積もりの結果、上位側ビット成分の圧縮率が目標圧縮率以下の場合には、残りビットを下位側ビット成分に割り当てる。上位側ビット成分の圧縮率が目標圧縮率より大きい場合、ワーストケースとして（前画素差分＋はフマン符号化）の処理を行わず、ＰＣＭにより上位ビット側成分のみを保存する。
【００６５】
次に、下位側ビット成分（レート制御部分）の符号化方式の一例について説明する。
図７は、本実施形態の下位側ビット成分（レート制御部分）の符号化方式を説明するための図である。
【００６６】
上述したように、本実施形態において、輝度値を判断し、輝度値に応じてレート制御部分３０２の精度を落とすか、可能な限り精度を保持するかの処理を行う。
本実施形態においては、輝度値を算出したら、その値の範囲に応じて、輝度情報を幾つか複数の範囲に分類することができる。
例としては、上位側８ビットのデータを2^0, 2^1, 2^2, ... 2^8の区間境界（^ は階乗を表す）で分割した８つの範囲に分けることができる。この範囲を「輝度レベル」と呼ぶ。後の工程において、輝度レベルに応じて、画素データの精度削減度合を決定することになる。
有限の回路資源を考える場合は、高々十数までの範囲に輝度値を分類した方が、処理量の面で有益である。もちろん、処理負荷が許すのであれば、分類を行わずに輝度値すなわち輝度レベルとして扱い、削減度合に変換する連続的な関数（図７）に入力してもよい。図７に関係する輝度レベルと削減度合の変換については、言及する。
【００６７】
本実施形態においては、図７（Ａ）に示すように、輝度・圧縮度の対応テーブル（または関数）が用意されている。輝度レベルを入力としてこのテーブルを引くことで、下位側データの精度をどれだけ残すかという「削減度合」を得ることができる。
図７（Ａ）において、テーブル内で点線に囲われた一行一行にあたる数列を、「レコード」と呼ぶ。各レコード一つは、削減度合一つに対応する。図では、上側のレコード程、削減度合が大きい、すなわち精度の欠損が多いことになる。基本的には、削減度合の小さなレコードから順次、圧縮を検討することになる。レコード一つが、削減案一つに相当する。
【００６８】
各レコードでは、図７（Ｂ）〜（Ｄ）に示すように、輝度に応じて下位データの削減後ビット数を得ることができる。
ここでは、人間の視覚特性に応じて、入力されたデータが低輝度すなわち暗いデータであるほど、削減度合を減らさずに精度を保持するように、レコードを調整する。
図７（Ｂ）〜（Ｄ）は、図７（Ａ）と違って、連続的な関数のようなイメージが描かれているが、システムが許すのであれば、関数的な処理をしても構わない。削減度合が大きくなるにつれて、低輝度部分を含めた全体の削減ビット数が大きくなっていく。
いずれにせよ、ここでの輝度レベルの分類方法、テーブル内の削減度合の決定方針が、画質の維持に大きな役割を果すことになる。
このテーブルは可変に設定できることが望ましく、設定値は要求システムでの評価を経て、よく検討されたものが用いられることが望ましい。
【００６９】
削減度合を得たら、画素の下位側を何ビット残すかが決まることになる。ビットを削除する際は、下位側データのLSB側から、指定ビット分を四捨五入して丸めながら削除していく。
たとえば、テーブル内で、ある削減度合に応じてレコードを引き、いま扱っている上位データの輝度レベルから下位ビットの削減後ビット数「３」を得た場合、ここでは下位データのオリジナルの精度は４ビットであるから、４ビットから圧縮後のビット数は３ビットとなる。
LSB側の１ビットを四捨五入して削除することになる。これをブロック内の全ての画素に対して繰り返せば、そのブロックの下位データ側の圧縮後容量を試算することができる。
【００７０】
ここで、丸めつき下位ビット省略処理(Lossy圧縮）が必要である理由を図８に関連付けて説明する。
前述したように、精度保証部分３０１が８ビットの場合、Lossless圧縮での平均的な圧縮率は、８ビット部分が５．３３ビットとなる（６６．７％）程度であるが、場合によってはこれよりも圧縮率が低くなる場合もある。
そこで、本実施形態においては、レート制御部分３０２で目標圧縮率をあわせこむ処理を行う。本例においては、レート制御部分３０２において平均４ビット０を２．６７ビット（６６．７％）程度に圧縮するLossy圧縮（丸めつき下位ビット省略）が必要となる。
【００７１】
図９は、上述した本実施形態における帯域保証圧縮法の処理概要を示す図である。
本実施形態の帯域保証圧縮法においては、図９（Ａ）に示すように、１枚の画像を処理単位ブロックに分割し、図９（Ｂ）に示すように、各ブロックを圧縮し、目標圧縮率α％をブロック個々に達成し、圧縮された各ブロックの符号を図９（Ｃ）に示すように、画像メモリ１７に配置する。
画像メモリ１７は、ブロック毎の配置領域（容量α％）をとっておけば、ブロックの先頭画素単位でのランダムアクセスが可能となる。
画像メモリ１７においては、図９（Ｄ）に示すように、ブロック毎に先頭アドレスが固定であり、常にこの単位でランダムアクセスが可能である。また、圧縮効率が高く、α％を下回った場合はブロック毎の領域をすべて使いきらずに済む。また、ブロック毎に確保される容量は（元のブロック容量）×α％であり、圧縮後容量はα％で保証されていることから、この領域をはみ出ることは無い。
【００７２】
次に、本実施形態のデジタル信号処理部１５における帯域圧縮伸長部２００の具体的な構成例およびその動作について説明する。
【００７３】
図１０は、本実施形態の帯域圧縮伸長部２００の具体的な構成例を示すブロック図である。
【００７４】
図１０の帯域圧縮伸長部２００は、図３の送信側ブロック２０１内の具体例であって、処理単位（ブロック取得部）２１１、画素データ分割部２１２、画素間冗長度削減部２１３、輝度値判定部２１４、上位側試算部２１５、下位側試算部２１６、採用圧縮度判定部２１７、上位側可変長符号化実行部２１８、下位側可変長符号化実行部２１９、およびアライン調整およびヘッダ付加部２２０を、主体に構成されている。
【００７５】
処理単位取得部２１１は、画像データをあらかじめ設定した処理単位規模設定値に基づく画素数の単位を取得し、画素データ分割部２１２に出力する。
この取得単位をブロックと呼び、ブロックごとに所望の圧縮率を達成させる。ブロックごとの画素数、形状は可変に設定できることが望ましい。
【００７６】
画素データ分割部２１２は、取得したブロック画像データを上位側８ビットの精度保証部分３０１と下位側４ビットのレート制御部分３０２に分割し、上位側ビットデータを画素間冗長度削減部２１３に出力し、下位側ビットデータを下位側可変長符号化実行部２１９に出力する。
【００７７】
画素間冗長度削減部２１３は、周辺の画素データを参照した、画像特有の冗長度削減処理を行い、その結果を上位側試算部２１５に出力する。
本方式では、冗長度の削減処理方式、および削減処理後のデータ形式を規定しないが、一例としては、直近隣接画素間の引き算によって冗長度を削減するDPCM方式がある。
この方式はJPEG規格のDCT係数DC成分の冗長度削減手段として用いられている。また、色フィルタ配列データであれば、同一色間の冗長度を特に生かした方式が望ましい。
【００７８】
輝度値判定部２１４は、画素データ分割部２１２による上位側データを輝度を表す値に変換し、その結果を下位側試算部２１６に出力する。
【００７９】
上位側試算部２１５は、可変長符号テーブルを参照して、冗長度を削減された後のデータに対し、符号化後の容量見積を行い、その結果を採用圧縮度判定部２１７に出力する。
【００８０】
下位側試算部２１６は、輝度レベルを入力として輝度・圧縮度の対応テーブル（または関数）を参照して、下位側データの精度をどれだけ残すかという「削減度合」を得、その結果を採用圧縮度判定部２１７に出力する。
【００８１】
採用圧縮度判定部２１７は、圧縮率が目標に到達するまで、順次圧縮度合を増加させていき、目標に到達した時点の圧縮度合を合格であるとして採用であると判定し、判定結果を上位側可変長符号化実行部２１８、および下位側可変長符号化実行部２１９に出力する。
【００８２】
上位側可変長符号化実行部２１８は、採用圧縮度判定部２１７の判定結果を受けて、採用する圧縮度合に従って、実際に上位側データを圧縮処理して圧縮後符号データを作成する。上位側データは、可変長符号化によって可逆圧縮を行う。可逆可変長符号化としては、典型的な例としてハフマン符号化が挙げられる。
【００８３】
下位側可変長符号化実行部２１９は、輝度・圧縮度の対応テーブルに従って下位側データのビット数を各画素ごとに削減していく、不可逆な圧縮を行い、そうして削減されたデータを単純に連結していくことで符号を作成する。
【００８４】
アライン調整およびヘッダ付加部２２０は、デコードに必要なデータ等をヘッダとして画素データ符号に付加し、最終的な圧縮後符号を完成させ、バス２５を通して画像メモリ１７に送信する。
【００８５】
以下に、上記構成を有する帯域圧縮伸長部２００の動作について図１１のフローチャートに関連付けて詳細に説明する。
なお、ここでは、前提条件として、各色１２ビット精度を持つ色フィルタ配列による画像データを、各色８ビット相当に圧縮するものとする。
【００８６】
まず、画像データをあらかじめ決定した画素数の単位分、ブロック（処理単位）取得部２１１に取得する（ＳＴ１）。このブロックごとに所望の圧縮率を達成させる。
【００８７】
取得したブロックデータ内の画素を、画素データ分割部２１２において、一画素ずつ上位ビット側と下位ビット側に分割する（ＳＴ２）。
ここでは上位側を８ビット、下位側を４ビットとする。分割方法は単純にビットの境界で二分するのみで、仮に上位側と下位側を単純に連結すると元に戻る形式である。この分割境界は圧縮後容量の最大値、および画像の最低品質に密接に関係する。
すなわち、圧縮後容量の最大値は、上位側ビットの容量に相当し、画像の最低品質は、上位側のビット数分の精度となる。
本具体例では、最終的に一画素８ビット相当の圧縮率・画像品質を目標とするため、このように境界が設定される。様々な用途・目標に対応するために、境界位置は任意に設定できることが望ましい。
【００８８】
画素データ分割部２１２で取得した上位側データを、輝度値判定部２１４にて輝度を表す値に変換する。
ここで想定している色フィルタ配列では、上位側データの値をそのまま輝度として扱ってもよい。より高度に輝度値を算出するには、周辺の画素データを含めた演算を行うことができる。輝度・色差系表現（YC）の輝度成分などが、ここでの演算結果の良い一例である。
【００８９】
輝度値を算出したら、その値の範囲に応じて、輝度情報を幾つか複数の範囲に分類する。
例としては、前述したように、上位側８ビットのデータを2^0, 2^1, 2^2, ... 2^8の区間境界（^ は階乗を表す）で分割した８つの範囲（輝度レベル）に分ける。後の工程において、輝度レベルに応じて、画素データの精度削減度合を決定することになる。
有限の回路資源を考える場合は、高々十数までの範囲に輝度値を分類した方が、処理量の面で有益である。もちろん、処理負荷が許すのであれば、分類を行わずに輝度値すなわち輝度レベルとして扱い、削減度合に変換する連続的な関数（図７）に入力してもよい。
【００９０】
輝度値判定部２１４で得た輝度レベルを、下位側可変長符号試算部２１６に入力する。ここには、図７（Ａ）に示すような輝度・圧縮度の対応テーブル（または関数）が用意されている。輝度レベルを入力としてこのテーブルを引く（参照する）ことで、下位側データの精度をどれだけ残すかという「削減度合」を得ることができる（ＳＴ３）。
【００９１】
図７（Ａ）に示すテーブル内で点線に囲われた一行一行にあたる数列を、「レコード」と呼び、各レコード一つは、削減度合一つに対応する。図では、上側のレコード程、削減度合が大きい、すなわち精度の欠損が多いことになる。基本的には、削減度合の小さなレコードから順次、圧縮を検討することになる。レコード一つが、削減案一つに相当する。
【００９２】
各レコードでは、図７（Ｂ）〜（Ｄ）に示すように、輝度に応じて下位データの削減後ビット数を得ることができる。
ここでは、人間の視覚特性に応じて、入力されたデータが低輝度すなわち暗いデータであるほど、削減度合を減らさずに精度を保持するように、レコードを調整する。
【００９３】
ここでの輝度レベルの分類方法、テーブル内の削減度合の決定方針が、画質の維持に大きな役割を果すことになる。
このテーブルは可変に設定できることが望ましく、設定値は要求システムでの評価を経て、よく検討されたものが用いられることが望ましい。
【００９４】
削減度合を得たら、画素の下位側を何ビット残すかが決まることになる。ビットを削除する際は、下位側データのLSB側から、指定ビット分を四捨五入して丸めながら削除していく。
たとえば、テーブル内で、ある削減度合に応じてレコードを引き、いま扱っている上位データの輝度レベルから下位ビットの削減後ビット数「３」を得た場合、ここでは下位データのオリジナルの精度は４ビットであるから、４ビットから圧縮後のビット数は３ビットとなる。
LSB側の１ビットを四捨五入して削除することになる。これをブロック内の全ての画素に対して繰り返せば、そのブロックの下位データ側の圧縮後容量を試算することができる。
【００９５】
さて、アルゴリズム的に考えると、図１１のフローチャートにもあるように、圧縮後容量の試算は、削減度合の小さい削減案から順次、試算結果が目標に達せられるまで試していくことになる。
しかし、集積回路上の専用回路へのハードウェア実装を考えた場合は、図１０に示すように、削減案すなわちテーブル内のレコード数ごとに、圧縮後容量の試算器を並列に持つことができる。
図１０の例では、この試算器が下位側可変長符号量試算部２１６−１２１６−ｎとして、n個並列に用意されている。これにより、試算を一度行うだけの時間で、全ての削減案の結果を一度に得ることができ、速度性能面で非常に有利となる。
【００９６】
なお、この処理部分を「試算部」と呼んでいるのも、この専用回路による並列処理を見越してである。ここでは、圧縮後のデータ容量を算出するが、実際の圧縮後データを得る符号化処理は行わない。
実際の符号化処理は、後工程で、削減案が採用されたものに対してのみ行うことができる。こうすることで、試算部にはブロック分の画素の試算結果の加算を行うだけのアキュミュレータ（累積加算結果保存器）だけを並列に備えればよく、並列化による速度向上とともに、回路資源の削減も同時に行うことができる。
本方式では、必ずしもこの試算部の並列化を必須としないが、強く推奨する構成とする。
【００９７】
ここまでで、下位側データの圧縮後容量を得ることができた。ちなみに、ここまでで下位側データを参照する必要は一度もない。
【００９８】
次に、上位側データの圧縮後容量試算にとりかかる。
下位側データの符号化試算結果によっては、ある画素について、下位側データのビット全てが削減対象になることもありうる。
その場合、単に下位側データ全てを捨ててしまっては、残された上位側データは四捨五入ではなく、単に下位データを切り捨てて得られた値となってしまい、画像品質に影響を及ぼす。
よって、フローチャートにあるように、もし完全に削減される下位データが発生した場合は、下位側データの最上位ビットを参照して、上位側ビットに四捨五入の繰上げ処理を施すことが推奨される。この丸め処理により得られた上位側ビットが、符号化の対象データとなる（ＳＴ４，ＳＴ５）。
【００９９】
下位側データの参照から丸め処理を施された上位データは、画素間冗長度削減部２１３に送られる。
画素間冗長度削減部２１３においては、周辺の画素データを参照した、画像特有の冗長度削減処理を行う。本方式では、冗長度の削減処理方式、および削減処理後のデータ形式を規定しないが、一例としては、直近隣接画素間の引き算によって冗長度を削減するDPCM方式がある。
【０１００】
冗長度を削減された後のデータに対し、上位側可変長符号量試算部２１５において、符号化後の容量見積が行われる（ＳＴ８）。
ここでの圧縮方式は、可逆圧縮となる。ここでも、実際の符号化は行わず、可変長符号化後のデータ容量の試算のみを行う。
例として、ハフマン符号化であれば、ハフマンテーブルが与えられれば、実際の符号を作成しなくても、符号化を想定した際の符号長を得ることができる。そうして得た符号長を、各データに対してブロック分加算したものがブロックでの上位側符号化試算結果となる。
ここでも試算器の並列化が有効であり、実際の符号化処理部を持たず、アキュムレータのみを持つことで、試算結果を算出することができる。
【０１０１】
以上で、上位側、下位側ともに圧縮後符号のデータ容量が試算された。
これらの試算結果を採用圧縮度判定部２１７にて合計する（ＳＴ９）。その合計結果を、当初の目標圧縮率として定めたデータ容量と比較する（ＳＴ１０）。
【０１０２】
目標のデータ量よりも、試算結果のデータ量の方が少ない（以下の）場合、すなわち目標を達成できた場合は、その圧縮を試算したときの削減度合を合格として採用する。
目標を達成できなかった場合は、削減度合を一段階増加させ、より圧縮率がよい圧縮案の検討に移る。すなわち、精度の落ちる圧縮案において、もう一度上位・下位の圧縮後容量を試算しなおす。この削減度合を一段階増加させるという操作は、図７のテーブルイメージにおいて、一段階削減度合の大きいレコードを用いることに相当している。
こうして、採用圧縮度判定部２１７において、圧縮率が目標に到達するまで、順次圧縮度合を増加させていき、目標に到達した時点の圧縮度合を合格であるとして採用であると判定する。実際に論理回路として実装する場合は、図１０に示すように、各圧縮案における結果を試算する符号量試算部を並列に用意する。
これによって、採用圧縮度判定部２１７では、各圧縮案の試算結果を同時に得ることができ、一度に圧縮案の採用判定を下すことができる。
【０１０３】
最も削減度合いが少ないのは、上位側の可逆圧縮に加え、下位側データも１ビットも削除されない場合であり、この場合は全体として完全な可逆符号化となる。
一方、圧縮度合を定義した範囲で最高まで増加させても、目標の圧縮率に到達しない場合がありうる。この場合は、データの圧縮を諦め、そのままのデータ形式を符号データとみなすことになる。詳しくは後に記述する。
【０１０４】
採用圧縮度判定部２１７で採用する圧縮案が決定されたら、可変長符号化実行部２１８，１２９においてその案の圧縮度合に従って、実際にデータを圧縮処理して圧縮後符号データを作成する。
上位側データは、可変長符号化によって可逆圧縮を行う。可逆可変長符号化としては、典型的な例としてハフマン符号化が挙げられる（ＳＴ１１）。
下位側データは、図７（Ａ）のテーブルに従ってビット数を各画素ごとに削減していく、不可逆な圧縮を行い、そうして削減されたデータを単純に連結していくことで符号を作成する。この際、単純に削減後データを連結する代わりに、なんらかの圧縮手段を施して符号を作成してもよい（ＳＴ１２）。
【０１０５】
さて、通常のデータ圧縮手順は以上であるが、他に採用圧縮度判定部２１７において、どの圧縮案も目標に達しなかった場合の処理がある。
この場合は、上位側のデータをそのままの形で符号上に書き込むことになる。今回の一例では、８ビット分の上位側データがそのまま符号上に書き込まれるが、この際も一画素あたり８ビット相当の圧縮率という条件は満足させられることになる。
こうして書き込まれる上位側データは、単に元データから上位側ビット数分データを切り離したものではなく、下位側データを考慮して、元データをこの場合８ビットに四捨五入して得たものを用いるべきである。
【０１０６】
以上、画素データの符号化を終えたら、アライン調整およびヘッダ付加部２２０において、デコードに必要なデータ等をヘッダとして画素データ符号に付加し、最終的な圧縮後符号を完成させる。
圧縮後符号は、符号書き込み先の記録装置（メモリ）や、記録装置に到達するまでのデータバス幅にしたがってアライン調整され、記憶装置に書き込まれることになる。これまでの手順を、ブロックごと、画像一枚分に到達するまで繰り返し実行する（ＳＴ１０〜ＳＴ１９）。
【０１０７】
付加するデータの内容についてであるが、最低限必須となるのは、デコード時に必要な情報である。デコード時に必要な情報は、まず大きく二つに分けられる。一つは、画像データ全体に共通する情報、もう一つは、ブロックごとに特有の情報である。
画像データ全体に共通の情報としては、符号化時に用いたテーブルの情報がある。上位側、下位側を圧縮した各圧縮用テーブルの情報を符号上に記しておかないと、デコード側で展開することができない。
もし、システムにおける使用の都合上、テーブルを固定として使用するのであれば、そのことをエンコード側、デコード側の規約とする代わりに、テーブル情報を符号上に記録する必要はなくなる。
その他、画像データ全体に共通する情報としては、タイムスタンプ等が考えられるが、これらは必須の情報ではなく、システムや場合に応じて付加すればよい。
【０１０８】
ブロック毎に特有の情報として、必須のものが二つある。まずは、保存形式として、圧縮したデータが符号化されたか、あるいは圧縮しないそのままのデータが符号化されたかを示すフラグである。二つ目の情報は、もし一つめの情報として圧縮されたデータがブロック内に書き込まれている場合、どの削減度合で圧縮したのかを示す値である。デコード側では、この値を圧縮時のテーブルに示し合わせることによって、下位側データの展開を行うことができる。
【０１０９】
最後に、記憶装置に符号化データを書き込む際は、各ブロックごとに決められたアドレス位置から書き込みを行う（図９参照）。各ブロックごとに割り当てられる記憶装置内の領域のサイズは、最も圧縮効率が悪かった場合の符号化データ分、すなわち目標の圧縮後容量分である。
これにより、データ読み出し時において、各ブロック単位での頭出しが可能になり、ブロック単位間隔でのランダムアクセスが可能になる。読み出し側では、目的の画素を含むブロックをその先頭から読み出して展開することで、その画素を得ることができる。
【０１１０】
以上説明したように、本実施形態によれば、データ信号処理部１５が画像メモリ１７とのインターフェース部分に帯域保証圧縮伸長部２００を備えており、画像データを上位側ビットと下位側ビットに分割し、分割部分毎に所定の圧縮方式を適用して圧縮処理を行うことにより、メモリバス帯域を保証しながら、画質の劣化を損わず、処理に時間がかかりすぎず、１パスに近い処理が行え、ワーストケースでの圧縮率、帯域、記憶に要する容量を備え、しかもランダムアクセス性を確保している。
したがって、本実施形態においては、以下の効果を得ることができる。
静止画を保持するための記憶領域を保証された一定量以内に削減できる。
静止画を伝送するためのバス帯域を保証された一定量以内に削減できる。
画像内のアライメントされた任意の部分領域に対して、ランダムアクセス性を保持できる。
画像の最低品質・精度を保証できる。
画素の輝度に応じて精度の削減度合を変化させ、知覚的な画質劣化を抑制できる。
画像の複雑さによって決まる圧縮の難易度により、精度を適応的に可変とすることで、
画像の品質を維持しながら目標圧縮率を達成できる。
少ない回路資源によって、上記内容をリアルタイム処理することができる。
【図面の簡単な説明】
【０１１１】
【図１】一般的な集積回路内のデータ転送構造を説明するための図である。
【図２】本実施形態に係る画像信号処理装置を採用したカメラシステムの構成例を示すブロック図である。
【図３】本実施形態における帯域圧縮伸長部を含む画像信号処理装置の概念的なブロック構成を示す図である。
【図４】本実施形態において採用する帯域保証圧縮法について説明するための図であって、１２ビット精度の画素像データ（ＲＡＷデータ）を上位側ビットと下位側ビットに２分割する状態を示す図である。
【図５】本実施形態において採用する帯域保証圧縮法について説明するための図であって、画素データを２分割した後に適用されるエンコード(Encode)アルゴリズム例を示し図である。
【図６】本実施形態の上位側ビット成分（精度保証部分）の符号化方式を説明するための図である。
【図７】本実施形態の下位側ビット成分（レート制御部分）の符号化方式を説明するための図である。
【図８】丸めつき下位ビット省略処理(Lossy圧縮）が必要である理由を説明するための図である。
【図９】本実施形態の帯域保証圧縮法の処理概要を示す図である。
【図１０】本実施形態の帯域圧縮伸長部の具体的な構成例を示すブロック図である。
【図１１】図１０の帯域圧縮伸長部の動作を説明するためのフローチャートである。
【符号の説明】
【０１１２】
１０・・・カメラシステム、１１・・・光学系、１２・・・イメージセンサ（撮像装置）、１３・・・アナログ信号処理部、１４・・・アナログ／デジタル（Ａ／Ｄ）コンバータ、１５・・・デジタル信号処理部、１６・・・画像圧縮伸長部、１７・・・画像メモリ、１８・・・表示装置インインターフェース（Ｉ／Ｆ）、１９・・・表示装置、２０・・・制御ＣＰＵ、２１・・・操作デバイス、２２・・・ヒューマンインターフェース、２３・・・ストレージインターフェース、２４・・・外部保存用メモリ、２５・・・バス、２００・・・帯域圧縮伸長部、２１１・・・処理単位（ブロック取得部）、２１２・・・画素データ分割部、２１３・・・画素間冗長度削減部、２１４・・・輝度値判定部、２１５・・・上位側試算部、２１６・・・下位側試算部、２１７・・・採用圧縮度判定部、２１８・・・上位側可変長符号化実行部、２１９・・・下位側可変長符号化実行部、２２０・・・アライン調整およびヘッダ付加部。
【図１】
2006303690.tif 000003
【図２】
2006303690.tif 000004
【図３】
2006303690.tif 000005
【図４】
2006303690.tif 000006
【図５】
2006303690.tif 000007
【図６】
2006303690.tif 000008
【図７】
2006303690.tif 000009
【図８】
2006303690.tif 000010
【図９】
2006303690.tif 000011
【図１０】
2006303690.tif 000012
【図１１】
2006303690.tif 000013