(57)【要約】【課題】目標圧縮率を確実に実現することによってバッファ容量を削減できるとともに、圧縮に伴う画質の劣化を最小限に抑制することによって画質を向上することが可能な、画像処理装置を得る。【解決手段】解析部８は、フレームの目標圧縮率（１／Ｇ）に基づいてしきい値ＴＨ１を設定する。また、圧縮部４は、ブロック属性値がしきい値ＴＨ１以上であるブロックに対しては、圧縮フォーマットＦＴ１を適用することによって当該ブロックを圧縮し、ブロック属性値がしきい値ＴＨ１未満であるブロックに対しては、圧縮フォーマットＦＴ１よりも高い圧縮率の圧縮フォーマットＦＴ２を適用することによって当該ブロックを圧縮する。【選択図】図１
2015126329.tif 000002
【特許請求の範囲】
【請求項１】
複数の画素によってブロックが構成され、複数のブロックによってブロック群が構成され、複数のブロック群によってフレームが構成される静止画を圧縮する画像処理装置であって、
ブロック群を順に格納する第１の格納部と、
前記第１の格納部に格納されている圧縮対象ブロック群を圧縮する圧縮部と、
圧縮対象ブロック群を解析する解析部と、
前記圧縮部によって順に圧縮された複数のブロック群を格納することにより、圧縮後のフレームを格納する第２のデータ格納部と、
を備え、
前記解析部は、フレームの目標圧縮率に基づいて第１のしきい値を設定し、
前記圧縮部は、圧縮対象ブロック群に関して、ブロック属性値が第１のしきい値以上であるブロックに対しては、第１の圧縮フォーマットを適用することによって当該ブロックを圧縮し、ブロック属性値が第１のしきい値未満であるブロックに対しては、第１の圧縮フォーマットよりも高い圧縮率の第２の圧縮フォーマットを適用することによって当該ブロックを圧縮する、画像処理装置。
【請求項２】
前記解析部は、
圧縮対象ブロック群に関して、第１の圧縮フォーマットを適用可能な最大ブロック数（Ｘ）を、フレームの目標圧縮率に基づいて算出し、
圧縮対象ブロック群に関するブロック属性値に基づいて、仮の第１のしきい値を算出し、
ブロック属性値が仮の第１のしきい値以上であるブロック数がＸ個以上である場合には、圧縮対象ブロック群の中でブロック属性値がＸ番目に大きいブロックのブロック属性値を、正式な第１のしきい値として設定する、請求項１に記載の画像処理装置。
【請求項３】
圧縮対象ブロック群には輝度ブロック及び色差ブロックが含まれ、
前記解析部は、輝度ブロックと色差ブロックとを統合した合計の圧縮対象ブロック群を対象として、最大ブロック数を算出する、請求項２に記載の画像処理装置。
【請求項４】
ブロック属性値はブロック誤差であり、
前記解析部は、
圧縮対象ブロック群に関するブロック誤差の平均値に基づいて、仮の第１のしきい値を算出し、
ブロック誤差が仮の第１のしきい値以上であるブロック数がＸ個未満である場合には、仮の第１のしきい値を正式な第１のしきい値として設定する、請求項２又は３に記載の画像処理装置。
【請求項５】
ブロック属性値は活発性評価値であり、
前記解析部は、
圧縮対象ブロック群に関する活発性評価値の平均値に基づいて、仮の第１のしきい値を算出し、
活発性評価値が仮の第１のしきい値以上であるブロック数がＸ個未満である場合には、仮の第１のしきい値を正式な第１のしきい値として設定する、請求項２又は３に記載の画像処理装置。
【請求項６】
圧縮対象ブロック群には輝度ブロック及び色差ブロックが含まれ、
前記解析部は、輝度ブロックに関する第１のしきい値の設定と、色差ブロックに関する第１のしきい値の設定とを個別に行う、請求項４又は５に記載の画像処理装置。
【請求項７】
前記圧縮部は、圧縮対象ブロック群の中で第１の圧縮フォーマットを適用したブロック数が最大ブロック数未満である場合には、余剰のブロック数を次の圧縮対象ブロック群に関する最大ブロック数に加算する、請求項２〜６のいずれか一つに記載の画像処理装置。
【請求項８】
第１の圧縮フォーマットは、
第１の圧縮フォーマットが適用されたブロックであることを示すブロック識別子と、
ブロック内の各画素の画素値を示すビットマップと、
当該ブロックの量子化ステップ値と、
を含む、請求項１〜７のいずれか一つに記載の画像処理装置。
【請求項９】
第２の圧縮フォーマットは、
第２の圧縮フォーマットが適用されたブロックであることを示すブロック識別子と、
ブロック内の平均画素値より上位側の画素値を代表する上位代表値と、
ブロック内の平均画素値より下位側の画素値を代表する下位代表値と、
ブロック内の各画素に上位代表値及び下位代表値のいずれが適用されるかを示すビットマップと、
を含む、請求項１〜８のいずれか一つに記載の画像処理装置。
【請求項１０】
前記圧縮部は、圧縮対象ブロック群に関して、
活発性評価値が第２のしきい値以下であるブロックに対しては、第２の圧縮フォーマットよりも高い圧縮率の第３の圧縮フォーマットを適用することによって当該ブロックを圧縮し、
その残余のブロックのうち、ブロック内の最大画素値が第３のしきい値未満であるブロックに対しては、第２の圧縮フォーマットよりも高く第３の圧縮フォーマットよりも低い圧縮率の第４の圧縮フォーマットを適用することによって当該ブロックを圧縮し、
さらに残余のブロックのうち、ブロック属性値が第１のしきい値以上であるブロックに対しては、第１の圧縮フォーマットを適用することによって当該ブロックを圧縮し、ブロック属性値が第１のしきい値未満であるブロックに対しては、第２の圧縮フォーマットを適用することによって当該ブロックを圧縮する、請求項１〜９のいずれか一つに記載の画像処理装置。
【請求項１１】
第３の圧縮フォーマットは、
第３の圧縮フォーマットが適用されたブロックであることを示すブロック識別子と、
ブロック内の全画素の画素値を代表する代表値と、
を含む、請求項１０に記載の画像処理装置。
【請求項１２】
第４の圧縮フォーマットは、
第４の圧縮フォーマットが適用されたブロックであることを示すブロック識別子と、
ブロック内の平均画素値より上位側の画素値を代表する上位代表値と、
ブロック内の平均画素値より下位側の画素値を代表する下位代表値と、
ブロック内の全画素から抜粋した所定の画素に上位代表値及び下位代表値のいずれが適用されるかを示すビットマップと、
を含む、請求項１０又は１１に記載の画像処理装置。
【請求項１３】
前記第２のデータ格納部から出力された圧縮後のフレームを伸張する伸張部をさらに備える、請求項１〜１２のいずれか一つに記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置に関し、特に、圧縮対象の静止画をブロック単位で圧縮する画像処理装置に関する。
【背景技術】
【０００２】
背景技術に係る画像処理装置は、圧縮対象の画像を圧縮する圧縮部と、圧縮部によって圧縮された圧縮画像を格納するフレームバッファと、フレームバッファから出力された圧縮画像を伸張する伸張部とを備える。
【０００３】
下記特許文献１には、圧縮対象の画像を所定画素数のブロック単位で圧縮するＢＴＣ（Block Truncation Coding）圧縮方式を用いた画像圧縮装置が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−２１２８００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
近年、カメラやテレビの高解像度化が急速に進行しており、静止画の画像圧縮においても、画素数の多い画像を扱う場面が多くなりつつある。圧縮対象の画像の画素数が多くなると、それに伴って大容量かつ高帯域のフレームバッファが必要となり、製品コストが上昇する。一方、バッファ容量やデータ転送レートの削減のために過剰に高い圧縮率で圧縮すると、画質が大幅に劣化する。
【０００６】
本発明はかかる事情に鑑みて成されたものであり、目標圧縮率を確実に実現することによってバッファ容量を削減できるとともに、圧縮に伴う画質の劣化を最小限に抑制することによって画質を向上することが可能な、画像処理装置を得ることを目的とするものである。
【課題を解決するための手段】
【０００７】
本発明の第１の態様に係る画像処理装置は、複数の画素によってブロックが構成され、複数のブロックによってブロック群が構成され、複数のブロック群によってフレームが構成される静止画を圧縮する画像処理装置であって、ブロック群を順に格納する第１の格納部と、前記第１の格納部に格納されている圧縮対象ブロック群を圧縮する圧縮部と、圧縮対象ブロック群を解析する解析部と、前記圧縮部によって順に圧縮された複数のブロック群を格納することにより、圧縮後のフレームを格納する第２のデータ格納部と、を備え、前記解析部は、フレームの目標圧縮率に基づいて第１のしきい値を設定し、前記圧縮部は、圧縮対象ブロック群に関して、ブロック属性値が第１のしきい値以上であるブロックに対しては、第１の圧縮フォーマットを適用することによって当該ブロックを圧縮し、ブロック属性値が第１のしきい値未満であるブロックに対しては、第１の圧縮フォーマットよりも高い圧縮率の第２の圧縮フォーマットを適用することによって当該ブロックを圧縮することを特徴とするものである。
【０００８】
第１の態様に係る画像処理装置によれば、解析部は、フレームの目標圧縮率に基づいて第１のしきい値を設定する。また、圧縮部は、ブロック属性値が第１のしきい値以上であるブロックに対しては、第１の圧縮フォーマットを適用することによって当該ブロックを圧縮し、ブロック属性値が第１のしきい値未満であるブロックに対しては、第１の圧縮フォーマットよりも高い圧縮率の第２の圧縮フォーマットを適用することによって当該ブロックを圧縮する。このように、目標圧縮率に基づいて設定された第１のしきい値を用いて、各ブロックに対する第１の圧縮フォーマット及び第２の圧縮フォーマットの適用を制御することにより、所望の目標圧縮率を実現することができる。その結果、目標圧縮率が確実に実現されるため、第２のデータ格納部のバッファ容量を削減することが可能となる。また、第１の圧縮フォーマットよりも高い圧縮率の第２の圧縮フォーマットが過剰に適用されることが回避されるため、圧縮に伴う画質の劣化が最小限に抑制され、画質を向上することが可能となる。
【０００９】
本発明の第２の態様に係る画像処理装置は、第１の態様に係る画像処理装置において特に、前記解析部は、圧縮対象ブロック群に関して、第１の圧縮フォーマットを適用可能な最大ブロック数（Ｘ）を、フレームの目標圧縮率に基づいて算出し、圧縮対象ブロック群に関するブロック属性値に基づいて、仮の第１のしきい値を算出し、ブロック属性値が仮の第１のしきい値以上であるブロック数がＸ個以上である場合には、圧縮対象ブロック群の中でブロック属性値がＸ番目に大きいブロックのブロック属性値を、正式な第１のしきい値として設定することを特徴とするものである。
【００１０】
第２の態様に係る画像処理装置によれば、解析部は、ブロック属性値が仮の第１のしきい値以上であるブロック数がＸ個以上である場合には、圧縮対象ブロック群の中でブロック属性値がＸ番目に大きいブロックのブロック属性値を、正式な第１のしきい値として設定する。これにより、ブロック属性値が大きいＸ個のブロックに対しては第１の圧縮フォーマットが適用され、それ以外のブロックに対しては第２の圧縮フォーマットが適用される。その結果、目標圧縮率を実現しつつ、画質を最大限に向上することが可能となる。
【００１１】
本発明の第３の態様に係る画像処理装置は、第２の態様に係る画像処理装置において特に、圧縮対象ブロック群には輝度ブロック及び色差ブロックが含まれ、前記解析部は、輝度ブロックと色差ブロックとを統合した合計の圧縮対象ブロック群を対象として、最大ブロック数を算出することを特徴とするものである。
【００１２】
第３の態様に係る画像処理装置によれば、解析部は、輝度ブロックと色差ブロックとを統合した合計の圧縮対象ブロック群を対象として、最大ブロック数を算出する。人間の目は色差よりも輝度の変化に敏感であり、輝度成分が重要視されることから、第１の圧縮フォーマットの適用が必要なブロック数は、輝度ブロックに関しては比較的多く、色差ブロックに関しては比較的少なくするのが好適である。従って、第１の圧縮フォーマットを適用可能な最大ブロック数（Ｘ）を、輝度ブロックと色差ブロックとを統合した合計の圧縮対象ブロック群を対象として算出することにより、より多くの輝度ブロックに対して第１の圧縮フォーマットを適用することができ、その結果、画質を向上することが可能となる。
【００１３】
本発明の第４の態様に係る画像処理装置は、第２の態様に係る画像処理装置において特に、ブロック属性値はブロック誤差であり、前記解析部は、圧縮対象ブロック群に関するブロック誤差の平均値に基づいて、仮の第１のしきい値を算出し、ブロック誤差が仮の第１のしきい値以上であるブロック数がＸ個未満である場合には、仮の第１のしきい値を正式な第１のしきい値として設定することを特徴とするものである。
【００１４】
第４の態様に係る画像処理装置によれば、解析部は、圧縮対象ブロック群に関するブロック誤差の平均値に基づいて仮の第１のしきい値を算出し、ブロック誤差が仮の第１のしきい値以上であるブロック数がＸ個未満である場合には、仮の第１のしきい値を正式な第１のしきい値として設定する。このように、ブロック属性値としてブロック誤差を用い、圧縮対象ブロック群に関するブロック誤差の平均値に基づいて第１のしきい値を設定することにより、第１の圧縮フォーマット及び第２の圧縮フォーマットの適用を精度良く切り替えることができ、その結果、画質を向上することが可能となる。
【００１５】
本発明の第５の態様に係る画像処理装置は、第２又は第３の態様に係る画像処理装置において特に、ブロック属性値は活発性評価値であり、前記解析部は、圧縮対象ブロック群に関する活発性評価値の平均値に基づいて、仮の第１のしきい値を算出し、活発性評価値が仮の第１のしきい値以上であるブロック数がＸ個未満である場合には、仮の第１のしきい値を正式な第１のしきい値として設定することを特徴とするものである。
【００１６】
第５の態様に係る画像処理装置によれば、解析部は、圧縮対象ブロック群に関する活発性評価値の平均値に基づいて仮の第１のしきい値を算出し、活発性評価値が仮の第１のしきい値以上であるブロック数がＸ個未満である場合には、仮の第１のしきい値を正式な第１のしきい値として設定する。このように、簡易な演算によって算出可能な活発性評価値をブロック属性値として用い、圧縮対象ブロック群に関する活発性評価値の平均値に基づいて第１のしきい値を設定することにより、第１のしきい値を簡易に設定することが可能となる。
【００１７】
本発明の第６の態様に係る画像処理装置は、第４又は第５の態様に係る画像処理装置において特に、圧縮対象ブロック群には輝度ブロック及び色差ブロックが含まれ、前記解析部は、輝度ブロックに関する第１のしきい値の設定と、色差ブロックに関する第１のしきい値の設定とを個別に行うことを特徴とするものである。
【００１８】
第６の態様に係る画像処理装置によれば、解析部は、輝度ブロックに関する第１のしきい値の設定と、色差ブロックに関する第１のしきい値の設定とを個別に行う。これにより、輝度ブロックに関しては第１のしきい値を比較的小さな値に設定することによって、第１の圧縮フォーマットが適用される輝度ブロック数を増大することができ、また、色差ブロックに関しては第１のしきい値を比較的大きな値に設定することによって、第１の圧縮フォーマットが適用される色差ブロック数を抑制することができる。その結果、より多くの輝度ブロックに対して第１の圧縮フォーマットを適用することができるため、画質を向上することが可能となる。
【００１９】
本発明の第７の態様に係る画像処理装置は、第２〜第６のいずれか一つの態様に係る画像処理装置において特に、前記圧縮部は、圧縮対象ブロック群の中で第１の圧縮フォーマットを適用したブロック数が最大ブロック数未満である場合には、余剰のブロック数を次の圧縮対象ブロック群に関する最大ブロック数に加算することを特徴とするものである。
【００２０】
第７の態様に係る画像処理装置によれば、圧縮部は、圧縮対象ブロック群の中で第１の圧縮フォーマットを適用したブロック数が最大ブロック数未満である場合には、余剰のブロック数を次の圧縮対象ブロック群に関する最大ブロック数に加算する。このように、余剰のブロック数を次の圧縮対象ブロック群に繰り越すことにより、次の圧縮対象ブロック群に関しては、より多くのブロックに対して第１の圧縮フォーマットを適用することができ、その結果、画質を向上することが可能となる。
【００２１】
本発明の第８の態様に係る画像処理装置は、第１〜第７のいずれか一つの態様に係る画像処理装置において特に、第１の圧縮フォーマットは、第１の圧縮フォーマットが適用されたブロックであることを示すブロック識別子と、ブロック内の各画素の画素値を示すビットマップと、当該ブロックの量子化ステップ値と、を含むことを特徴とするものである。
【００２２】
第８の態様に係る画像処理装置によれば、第１の圧縮フォーマットは、ブロック識別子と、ブロック内の各画素の画素値を示すビットマップと、当該ブロックの量子化ステップ値と、を含む。ブロック内の各画素の画素値を示すビットマップを用いることにより、各画素の画素値を高精度に記述することができ、その結果、画質を向上することが可能となる。また、ブロックの量子化ステップ値を含むことにより、ブロック毎に最適な量子化ステップ値を設定することができ、その結果、画質を向上することが可能となる。
【００２３】
本発明の第９の態様に係る画像処理装置は、第１〜第８のいずれか一つの態様に係る画像処理装置において特に、第２の圧縮フォーマットは、第２の圧縮フォーマットが適用されたブロックであることを示すブロック識別子と、ブロック内の平均画素値より上位側の画素値を代表する上位代表値と、ブロック内の平均画素値より下位側の画素値を代表する下位代表値と、ブロック内の各画素に上位代表値及び下位代表値のいずれが適用されるかを示すビットマップと、を含むことを特徴とするものである。
【００２４】
第９の態様に係る画像処理装置によれば、第２の圧縮フォーマットは、ブロック識別子と、ブロック内の平均画素値より上位側の画素値を代表する上位代表値と、ブロック内の平均画素値より下位側の画素値を代表する下位代表値と、ブロック内の各画素に上位代表値及び下位代表値のいずれが適用されるかを示すビットマップと、を含む。ブロック内の各画素の画素値に代えて、上位代表値及び下位代表値を記述することにより、必要ビット数を削減でき、その結果、圧縮率を向上することが可能となる。
【００２５】
本発明の第１０の態様に係る画像処理装置は、第１〜第９のいずれか一つの態様に係る画像処理装置において特に、前記圧縮部は、圧縮対象ブロック群に関して、活発性評価値が第２のしきい値以下であるブロックに対しては、第２の圧縮フォーマットよりも高い圧縮率の第３の圧縮フォーマットを適用することによって当該ブロックを圧縮し、その残余のブロックのうち、ブロック内の最大画素値が第３のしきい値未満であるブロックに対しては、第２の圧縮フォーマットよりも高く第３の圧縮フォーマットよりも低い圧縮率の第４の圧縮フォーマットを適用することによって当該ブロックを圧縮し、さらに残余のブロックのうち、ブロック属性値が第１のしきい値以上であるブロックに対しては、第１の圧縮フォーマットを適用することによって当該ブロックを圧縮し、ブロック属性値が第１のしきい値未満であるブロックに対しては、第２の圧縮フォーマットを適用することによって当該ブロックを圧縮することを特徴とするものである。
【００２６】
第１０の態様に係る画像処理装置によれば、圧縮部は、活発性評価値が第２のしきい値以下であるブロックに対しては、第２の圧縮フォーマットよりも高い圧縮率の第３の圧縮フォーマットを適用することによって当該ブロックを圧縮し、また、ブロック内の最大画素値が第３のしきい値未満であるブロックに対しては、第２の圧縮フォーマットよりも高く第３の圧縮フォーマットよりも低い圧縮率の第４の圧縮フォーマットを適用することによって当該ブロックを圧縮する。このように、活発性評価値又は最大画素値が低いブロックに対しては、圧縮率が比較的高い第３の圧縮フォーマット又は第４の圧縮フォーマットが適用される。これにより、真に必要なブロックに対して、圧縮率が比較的低い第１の圧縮フォーマット又は第２の圧縮フォーマットの適用を分配することができ、その結果、画像全体として画質を向上することが可能となる。
【００２７】
本発明の第１１の態様に係る画像処理装置は、第１０の態様に係る画像処理装置において特に、第３の圧縮フォーマットは、第３の圧縮フォーマットが適用されたブロックであることを示すブロック識別子と、ブロック内の全画素の画素値を代表する代表値と、を含むことを特徴とするものである。
【００２８】
第１１の態様に係る画像処理装置によれば、第３の圧縮フォーマットは、ブロック識別子と、ブロック内の全画素の画素値を代表する代表値と、を含む。ブロック内の各画素の画素値に代えて一の代表値が記述され、しかもビットマップも不要であるため、必要ビット数を大幅に削減でき、その結果、圧縮率を最大限に向上することが可能となる。
【００２９】
本発明の第１２の態様に係る画像処理装置は、第１０又は第１１の態様に係る画像処理装置において特に、第４の圧縮フォーマットは、第４の圧縮フォーマットが適用されたブロックであることを示すブロック識別子と、ブロック内の平均画素値より上位側の画素値を代表する上位代表値と、ブロック内の平均画素値より下位側の画素値を代表する下位代表値と、ブロック内の全画素から抜粋した所定の画素に上位代表値及び下位代表値のいずれが適用されるかを示すビットマップと、を含むことを特徴とするものである。
【００３０】
第１２の態様に係る画像処理装置によれば、第４の圧縮フォーマットは、ブロック識別子と、ブロック内の平均画素値より上位側の画素値を代表する上位代表値と、ブロック内の平均画素値より下位側の画素値を代表する下位代表値と、ブロック内の全画素から抜粋した所定の画素に上位代表値及び下位代表値のいずれが適用されるかを示すビットマップと、を含む。ブロック内の各画素の画素値に代えて上位代表値及び下位代表値が記述され、しかも、ブロック内の全画素から抜粋した所定の画素に関するビットマップが記述されるため、必要ビット数を大幅に削減でき、その結果、圧縮率を向上することが可能となる。
【００３１】
本発明の第１３の態様に係る画像処理装置は、第１〜第１２のいずれか一つの態様に係る画像処理装置において特に、前記第２のデータ格納部から出力された圧縮後のフレームを伸張する伸張部をさらに備えることを特徴とするものである。
【００３２】
第１３の態様に係る画像処理装置によれば、第２のデータ格納部から出力された圧縮後のフレームを伸張する伸張部をさらに備える。これにより、伸張された静止画を出力又は表示すること等が可能となる。
【発明の効果】
【００３３】
本発明によれば、目標圧縮率を確実に実現することによってバッファ容量を削減できるとともに、圧縮に伴う画質の劣化を最小限に抑制することによって画質を向上することが可能な、画像処理装置を得ることができる。
【図面の簡単な説明】
【００３４】
【図１】本発明の実施の形態に係る画像処理装置の構成を示すブロック図である。
【図２】画像処理装置の圧縮対象である静止画のフレーム構成を模式的に示す図である。
【図３】圧縮部によって圧縮されたブロックの圧縮フォーマットの例を示す図である。
【図４】圧縮部によって圧縮されたブロックの圧縮フォーマットの例を示す図である。
【図５】ビットマップに記述される画素の位置を示す図である。
【発明を実施するための形態】
【００３５】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。なお、異なる図面において同一の符号を付した要素は、同一又は相応する要素を示すものとする。
【００３６】
図１は、本発明の実施の形態に係る画像処理装置１の構成を示すブロック図である。図１の接続関係で示すように、画像処理装置１は、色変換部２、ラインバッファ３（第１のデータ格納部）、圧縮部４、フレームバッファ５（第２のデータ格納部）、伸張部６、色変換部７、及び解析部８を備えて構成されている。
【００３７】
図２は、画像処理装置１の圧縮対象である静止画のフレーム構成を模式的に示す図である。静止画のフレームＦは複数のブロックラインＬによって構成されており、各ブロックラインＬは複数のブロックＢによって構成されている。ブロックＢは、４列×４行又は８列×８行等の複数の画素Ｐによって構成されており、以下の例では、各ブロックＢが４列×４行の１６画素によって構成されているものとする。この例によると、例えば１２８０列×７２０行の画素を有する画像を処理する場合には、フレームＦは７２０／４＝１８０本のブロックラインＬによって構成され、各ブロックラインＬは１２８０／４＝３２０個のブロックＢによって構成される。
【００３８】
本実施の形態において、圧縮前の画像のビットレートは、所定の値（以下の例では８ｂｉｔ／ｐｉｘｅｌとする）と定められている。この例によると、ブロック単位でのビットレートは８×１６＝１２８ｂｉｔ／ｂｌｏｃｋとなる。圧縮率は、圧縮前の画像のビットレートに対する圧縮後の画像のビットレートの比で定義され、例えば、圧縮後の画像のビットレートが２ｂｉｔ／ｐｉｘｅｌ（＝３２ｂｉｔ／ｂｌｏｃｋ）となれば、圧縮率は１／４倍となる。
【００３９】
圧縮部４は、ブロック単位で画像を圧縮する。図３は、圧縮部４によって圧縮されたブロックの圧縮フォーマットの例を示す図である。圧縮部４は、圧縮対象のブロックを、圧縮フォーマットＦＴ１，ＦＴ２のいずれかに圧縮する。
【００４０】
図３に示した例において、圧縮フォーマットＦＴ１は、２ビットの領域Ｒ１１と、８０ビットの領域Ｒ２１と、８ビットの領域Ｒ３１とを含む、合計９０ビット長のブロックである。つまり、圧縮フォーマットＦＴ１が適用されたブロックに関しては、圧縮前に比べてビットレートが９０／１２８倍に圧縮される。９０ビットで１ブロック内の１６個の画素値を表現するため、ビットレートは９０／１６＝５．６３ｂｉｔ／ｐｉｘｅｌとなる。
【００４１】
領域Ｒ１１には、圧縮フォーマットＦＴ１が適用されたブロックであることを示すブロック識別子（例えば「１１」）が記述される。領域Ｒ２１には、ブロック内の１６個の各画素の画素値をそれぞれ５ビットで表したビットマップが記述される。領域Ｒ３１には、そのブロックに適用された量子化ステップ値が、整数部が５ビットで小数部が３ビットの固定小数点実数として記述される。なお、圧縮フォーマットの種類が二種類である場合には、領域Ｒ１１には１ビットのブロック識別子を記述してもよい。
【００４２】
圧縮フォーマットＦＴ２は、２ビットの領域Ｒ１２と、１６ビットの領域Ｒ２２と、１６ビットの領域Ｒ３２とを含む、合計３４ビット長のブロックである。つまり、圧縮フォーマットＦＴ２が適用されたブロックに関しては、圧縮前に比べてビットレートが３４／１２８倍に圧縮される。３４ビットで１ブロック内の１６個の画素値を表現するため、ビットレートは３４／１６＝２．１３ｂｉｔ／ｐｉｘｅｌとなる。
【００４３】
領域Ｒ１２には、圧縮フォーマットＦＴ２が適用されたブロックであることを示すブロック識別子（例えば「１０」）が記述される。領域Ｒ３２には、８ビットの上位代表値Ｈと、８ビットの下位代表値Ｌとが記述される。ブロック内の全画素の画素平均値Ｍより画素値が高い画素を上位画素として、そのブロック内の全ての上位画素の画素値の平均値が、上位代表値Ｈとなる。また、画素平均値Ｍ以下の画素値の画素を下位画素として、そのブロック内の全ての下位画素の画素値の平均値が、下位代表値Ｌとなる。領域Ｒ２２には、ブロック内の各画素に上位代表値Ｈ及び下位代表値Ｌのいずれが適用されるかを示すビットマップが記述される。例えば、上位代表値Ｈを適用する画素を「１」で表し、下位代表値Ｌを適用する画素を「０」で表すビットマップが記述される。
【００４４】
以下、本実施の形態に係る画像処理装置１の動作について説明する。
【００４５】
＜色変換部２＞
色変換部２には、カメラ又はＰＣ等の任意の通信装置から、ＲＧＢ色空間の画像データＤ１（Ｄ１Ｒ，Ｄ１Ｇ，Ｄ１Ｂ）が入力される。色変換部２は、入力された画像データＤ１を、ＩＴＵ−Ｒ  ＢＴ．６０１の規格により定義される下記の変換式に基づき、輝度Ｙ、色差Ｕ、及び色差Ｖから成るＹＵＶ色空間の画像データＤ２（輝度データＤ２Ｙ、色差データＤ２Ｕ、色差データＤ２Ｖ）に変換して出力する。
【００４６】
Ｙ＝0.29891×Ｒ＋0.58661×Ｇ＋0.11448×Ｂ
Ｕ＝−0.16874×Ｒ−0.33126×Ｇ＋0.50000×Ｂ
Ｖ＝0.50000×Ｒ−0.41869×Ｇ−0.08131×Ｂ
【００４７】
＜ラインバッファ３＞
ラインバッファ３には、色変換部２から画像データＤ２が入力される。ラインバッファ３は、輝度データＤ２Ｙ、色差データＤ２Ｕ、及び色差データＤ２Ｖのそれぞれに関して、ブロックライン単位で画像データＤ２を格納する。つまり、ラインバッファ３には、輝度データＤ２Ｙに関するＹブロックラインと、色差データＤ２Ｕに関するＵブロックラインと、色差データＤ２Ｖに関するＶブロックラインとが格納される。本実施の形態の例ではブロックサイズが４列×４行であるため、例えば１２８０列×７２０行の画素を有する画像を処理する場合には、Ｙ，Ｕ，Ｖの合計で１２８０×４×３＝１５３６０個の画素値（９６０個のブロック）が、ラインバッファ３に格納される。ラインバッファ３に格納されているＹブロックライン、Ｕブロックライン、及びＶブロックラインが、圧縮対象のブロックラインとなる。
【００４８】
＜解析部８＞
解析部８には、静止画のフレーム全体での目標圧縮率（１／Ｇ）が、データＤ１２として入力される。解析部８は、入力された目標圧縮率（１／Ｇ）に基づいて、各ブロックに対する圧縮フォーマットＦＴ１，ＦＴ２の適用を切り替えるためのしきい値ＴＨ１を算出する。
【００４９】
第１の処理として、解析部８は、圧縮対象のブロックラインに含まれるＹブロックライン、Ｕブロックライン、及びＶブロックラインを統合した全てのブロックの中で、圧縮フォーマットＦＴ１を適用することが可能なブロック数の最大値（最大ブロック数Ｘ）を求める。
【００５０】
まず解析部８は、圧縮フォーマットＦＴ１のビットレートＢＲ１と、圧縮フォーマットＦＴ２のビットレートＢＲ２と、目標圧縮率（１／Ｇ）とに基づいて、圧縮フォーマットＦＴ１を適用するブロックの占有割合ＲＴ１を算出する。
【００５１】
次に解析部８は、圧縮対象のＹブロックライン、Ｕブロックライン、及びＶブロックラインに含まれる総ブロック数ＴＢと、上記で求めた占有割合ＲＴ１とに基づいて、圧縮フォーマットＦＴ１を適用可能な最大ブロック数Ｘを算出する。
【００５２】
例えば、ＢＲ１＝９０／１６、ＢＲ２＝３４／１６、１／Ｇ＝１／３、ＴＢ＝９６０の場合には、
ＲＴ１＝０．１５５
Ｘ＝１４８
となる。つまり、Ｙブロックライン、Ｕブロックライン、及びＶブロックラインを統合した合計９６０個のブロックのうち、最大１４８個までのブロックには圧縮フォーマットＦＴ１を適用可能であり、残りのブロックには圧縮フォーマットＦＴ２を適用することとなる。
【００５３】
第２の処理として、解析部８は、ラインバッファ３に格納されているＹブロックライン、Ｕブロックライン、及びＶブロックラインのそれぞれに関して、圧縮対象の各ブロックのブロック属性値に基づいて仮しきい値ＴＨ１’を算出する。ブロック属性値としては、ブロック誤差を用いることができる。
【００５４】
Ｙブロックラインを対象として、ブロック誤差を用いて仮しきい値ＴＨ１ｙ’を算出する手法について説明する。
【００５５】
まず解析部８は、Ｙブロックラインに含まれる各ブロックに関して、画素平均値Ｍ、上位代表値Ｈ、及び下位代表値Ｌをそれぞれ算出する。上記の通り、画素平均値Ｍはブロック内の全画素の画素値の平均値であり、上位代表値Ｈはブロック内の全ての上位画素の画素値の平均値であり、下位代表値Ｌはブロック内の全ての下位画素の画素値の平均値である。
【００５６】
次に解析部８は、全ての上位画素に関する輝度値と上位代表値Ｈとの差分絶対値和と、全ての下位画素に関する輝度値と下位代表値Ｌとの差分絶対値和とをそれぞれ算出し、両差分絶対値和を加算することによって、Ｙブロックラインに含まれる各ブロックのブロック誤差Ｐを算出する。
【００５７】
次に解析部８は、Ｙブロックラインに含まれる全てのブロックのブロック誤差Ｐを加算し、その加算値をブロック数で除算することにより、Ｙブロックラインに関するブロック誤差の平均値（平均ブロック誤差ＰＡＶＥ）を算出する。
【００５８】
次に解析部８は、平均ブロック誤差ＰＡＶＥに所定の係数αを乗算することにより、仮しきい値ＴＨ１ｙ’を算出する。Ｙブロックラインに関しては、より多くのブロックに圧縮フォーマットＦＴ１が適用されることとなるように、係数αの値は１未満であることが望ましい。なお、平均ブロック誤差ＰＡＶＥが極端に小さい場合（つまり、所定の下限許容値より小さい場合）には、仮しきい値ＴＨ１ｙ’を下限許容値以上の第１定数値に設定し、同様に、平均ブロック誤差ＰＡＶＥが極端に大きい場合（つまり、所定の上限許容値より大きい場合）には、仮しきい値ＴＨ１ｙ’を上限許容値以下の第２定数値に設定しても良い。上述した係数α、下限許容値、上限許容値、第１定数値、及び第２定数値の各々の値は、所望の圧縮率や画質等に応じて最適な値に設定される。
【００５９】
仮しきい値ＴＨ１ｙ’の算出が完了すると、次に解析部８は、Ｙブロックラインに含まれる全てのブロックのうち、ブロック誤差Ｐが仮しきい値ＴＨ１ｙ’以上であるブロック数をカウントする。そして、そのカウント値が最大ブロック数Ｘ以上である場合には、Ｙブロックラインに含まれる全てのブロックの中でブロック誤差ＰがＸ番目に大きいブロックを特定し、その特定したブロックのブロック誤差Ｐを、正式なしきい値ＴＨ１ｙとして確定する。一方、カウント値が最大ブロック数Ｘ未満である場合には、仮しきい値ＴＨ１ｙ’をそのまま正式なしきい値ＴＨ１ｙとして確定する。
【００６０】
解析部８は、Ｕブロックライン及びＶブロックラインに関しても、上記と同様の手法によってしきい値ＴＨ１ｕ，ＴＨ１ｖをそれぞれ設定する。但し、Ｕブロックライン及びＶブロックラインに関しては、圧縮フォーマットＦＴ１が適用されるブロック数がなるべく少なくなるように、係数αの値は１より大きいことが望ましい。
【００６１】
＜圧縮部４＞
圧縮部４には、Ｙブロックラインの各ブロックの輝度データＤ２Ｙ、Ｕブロックラインの各ブロックの色差データＤ２Ｕ、及びＶブロックラインの各ブロックの色差データＤ２Ｖが、ラインバッファ３から入力される。また、圧縮部４には、解析部８によって算出された最大ブロック数Ｘ及びしきい値ＴＨ１（ＴＨ１ｙ，ＴＨ１ｕ，ＴＨ１ｖ）が、データＤ１０として解析部８から入力される。
【００６２】
圧縮部４は、しきい値ＴＨ１ｙを用いてＹブロックラインの各ブロックをブロック単位で順に圧縮し、しきい値ＴＨ１ｕを用いてＵブロックラインの各ブロックをブロック単位で順に圧縮し、しきい値ＴＨ１ｖを用いてＶブロックラインの各ブロックをブロック単位で順に圧縮する。
【００６３】
圧縮部４は、圧縮対象のブロックのブロック誤差Ｐがしきい値ＴＨ１未満である場合には、そのブロックに対して圧縮フォーマットＦＴ２を適用した圧縮を行う。
【００６４】
具体的に、まず圧縮部４は、圧縮対象のブロックの各画素値に基づいて、それぞれ８ビットの上位代表値Ｈ及び下位代表値Ｌを算出する。
【００６５】
次に圧縮部４は、圧縮フォーマットＦＴ２が適用されたブロックであることを示すブロック識別子（例えば「１０」）を領域Ｒ１２に記述し、ブロック内の各画素に上位代表値Ｈ及び下位代表値Ｌのいずれが適用されるかを示すビットマップを領域Ｒ２２に記述し、上位代表値Ｈ及び下位代表値Ｌを領域Ｒ３２に記述することにより、圧縮対象のブロックを圧縮フォーマットＦＴ２に圧縮する。
【００６６】
一方、圧縮対象のブロックのブロック誤差Ｐがしきい値ＴＨ１以上である場合には、圧縮部４は、そのブロックに対して圧縮フォーマットＦＴ１を適用した圧縮を行う。
【００６７】
具体的に、まず圧縮部４は、圧縮対象のブロック内の最大画素値ｂｍａｘに基づいて、そのブロックに関する量子化ステップ値Ｑを算出する。
【００６８】
次に圧縮部４は、圧縮対象のブロック内の各画素値を量子化ステップ値Ｑで除算することにより、各画素値を量子化する。
【００６９】
次に圧縮部４は、圧縮フォーマットＦＴ１が適用されたブロックであることを示すブロック識別子（例えば「１１」）を領域Ｒ１１に記述し、量子化後の各画素値を表したビットマップを領域Ｒ２１に記述し、量子化ステップ値Ｑを領域Ｒ３１に記述することにより、圧縮対象のブロックを圧縮フォーマットＦＴ１に圧縮する。
【００７０】
また、圧縮部４は、圧縮フォーマットＦＴ１を適用したブロック数をカウントするカウンタ（初期値は最大ブロック数Ｘ）を有しており、圧縮フォーマットＦＴ１を用いた圧縮を行う度に、そのカウンタのカウンタ値を１ずつデクリメントする。そして、現在の圧縮対象のブロックラインに含まれる全てのブロックの圧縮が完了すると、その時点でのカウンタ値（つまり、最大ブロック数Ｘから実際に圧縮フォーマットＦＴ１を適用したブロック数を差し引いた余剰のブロック数）を、データＤ１１として解析部８に入力する。解析部８は、次の圧縮対象のブロックラインに対して割り当てられる最大ブロック数（上記の例では１４８ブロック）に、データＤ１１で示される余剰のブロック数を加算することによって得られたブロック数を、当該次の圧縮対象のブロックラインに関する最大ブロック数Ｘとして用いる。
【００７１】
＜フレームバッファ５＞
フレームバッファ５には、圧縮後の画像データＤ３が圧縮部４から順に入力される。具体的には、Ｙブロックラインの各ブロックの圧縮後の輝度データＤ３Ｙ、Ｕブロックラインの各ブロックの圧縮後の色差データＤ３Ｕ、及びＶブロックラインの各ブロックの圧縮後の色差データＤ３Ｖが、ブロック順に圧縮部４から入力される。
【００７２】
全てのブロックラインに含まれる全てのブロックに関する圧縮後の画像データＤ３が圧縮部４からフレームバッファ５に転送されることにより、圧縮後のフレームがフレームバッファ５に格納される。
【００７３】
＜伸張部６＞
伸張部６は、圧縮後の画像データＤ３をフレームバッファ５から順に読み出す。具体的には、Ｙブロックラインの各ブロックの圧縮後の輝度データＤ３Ｙ、Ｕブロックラインの各ブロックの圧縮後の色差データＤ３Ｕ、及びＶブロックラインの各ブロックの圧縮後の色差データＤ３Ｖを、ブロック順に圧縮部４から読み出す。
【００７４】
伸張部６は、読み出したブロックの先頭に付加されているブロック識別子を参照することにより、各ブロックに関して圧縮フォーマットＦＴ１，ＦＴ２のいずれが適用されているかを識別する。
【００７５】
伸張部６は、圧縮フォーマットＦＴ１が適用されているブロックに関しては、領域Ｒ２１に記述されているブロック内の各画素の画素値に、領域Ｒ３１に記述されている量子化ステップ値Ｑをそれぞれ乗算することにより、画像データを伸張する。
【００７６】
また、伸張部６は、圧縮フォーマットＦＴ２が適用されているブロックに関しては、領域Ｒ２２に記述されているビットマップの値が「１」の画素に対しては、領域Ｒ３２に記述されている上位代表値Ｈをその画素の画素値とし、ビットマップの値が「０」の画素に対しては下位代表値Ｌをその画素の画素値とすることにより、画像データを伸張する。
【００７７】
＜色変換部７＞
色変換部７には、ＹＵＶ色空間の画像データＤ４（Ｄ４Ｙ，Ｄ４Ｕ，Ｄ４Ｖ）が、伸張部６から入力される。色変換部７は、入力された画像データＤ４を、ＩＴＵ−Ｒ  ＢＴ．６０１の規格により定義される上記の変換式の逆変換により、ＲＧＢ色空間の画像データＤ５（Ｄ５Ｒ，Ｄ５Ｇ，Ｄ５Ｂ）に変換して出力する。
【００７８】
＜まとめ＞
本実施の形態に係る画像処理装置１によれば、解析部８は、フレームの目標圧縮率（１／Ｇ）に基づいてしきい値ＴＨ１（第１のしきい値）を設定する。また、圧縮部４は、ブロック属性値がしきい値ＴＨ１以上であるブロックに対しては、圧縮フォーマットＦＴ１（第１の圧縮フォーマット）を適用することによって当該ブロックを圧縮し、ブロック属性値がしきい値ＴＨ１未満であるブロックに対しては、圧縮フォーマットＦＴ１よりも高い圧縮率の圧縮フォーマットＦＴ２（第２の圧縮フォーマット）を適用することによって当該ブロックを圧縮する。このように、目標圧縮率に基づいて設定されたしきい値ＴＨ１を用いて、各ブロックに対する圧縮フォーマットＦＴ１，ＦＴ２の適用を制御することにより、所望の目標圧縮率を実現することができる。その結果、目標圧縮率が確実に実現されるため、フレームバッファ５（第２のデータ格納部）のバッファ容量を削減することが可能となる。また、圧縮フォーマットＦＴ１よりも高い圧縮率の圧縮フォーマットＦＴ２が過剰に適用されることが回避されるため、圧縮に伴う画質の劣化が最小限に抑制され、画質を向上することが可能となる。
【００７９】
また、本実施の形態に係る画像処理装置１によれば、解析部８は、ブロック属性値が仮しきい値ＴＨ１’以上であるブロック数がＸ個以上である場合には、圧縮対象のブロックライン（圧縮対象ブロック群）の中でブロック属性値がＸ番目に大きいブロックのブロック属性値を、正式なしきい値ＴＨ１として設定する。これにより、ブロック属性値が大きいＸ個のブロックに対しては圧縮フォーマットＦＴ１が適用され、それ以外のブロックに対しては圧縮フォーマットＦＴ２が適用される。その結果、目標圧縮率を実現しつつ、画質を最大限に向上することが可能となる。
【００８０】
また、本実施の形態に係る画像処理装置１によれば、解析部８は、Ｙブロックライン、Ｕブロックライン、及びＶブロックラインを統合した合計のブロックラインを対象として、最大ブロック数Ｘを算出する。人間の目は色差よりも輝度の変化に敏感であり、輝度成分が重要視されることから、圧縮フォーマットＦＴ１の適用が必要なブロック数は、輝度ブロックに関しては比較的多く、色差ブロックに関しては比較的少なくするのが好適である。従って、圧縮フォーマットＦＴ１を適用可能な最大ブロック数Ｘを、輝度ブロックと色差ブロックとを統合した合計のブロックラインを対象として算出することにより、より多くの輝度ブロックに対して圧縮フォーマットＦＴ１を適用することができ、その結果、画質を向上することが可能となる。
【００８１】
また、本実施の形態に係る画像処理装置１によれば、解析部８は、圧縮対象のブロックラインに関するブロック誤差の平均値（平均ブロック誤差ＰＡＶＥ）に基づいて仮しきい値ＴＨ１’を算出し、ブロック誤差が仮しきい値ＴＨ１’以上であるブロック数がＸ個未満である場合には、仮しきい値ＴＨ１’を正式なしきい値ＴＨ１として設定する。このように、ブロック属性値としてブロック誤差を用い、圧縮対象のブロックラインに関する平均ブロック誤差ＰＡＶＥに基づいてしきい値ＴＨ１を設定することにより、圧縮フォーマットＦＴ１，ＦＴ２の適用を精度良く切り替えることができ、その結果、画質を向上することが可能となる。
【００８２】
また、本実施の形態に係る画像処理装置１によれば、解析部８は、Ｙブロックラインに関するしきい値ＴＨ１ｙの設定と、Ｕブロックラインに関するしきい値ＴＨ１ｕの設定と、Ｖブロックラインに関するしきい値ＴＨ１ｖの設定とを個別に行う。これにより、Ｙブロックラインに関してはしきい値ＴＨ１ｙを比較的小さな値に設定することによって、圧縮フォーマットＦＴ１が適用される輝度ブロック数を増大することができ、また、Ｕブロックライン及びＶブロックラインに関してはしきい値ＴＨ１ｕ，ＴＨ１ｖを比較的大きな値に設定することによって、圧縮フォーマットＦＴ１が適用される色差ブロック数を抑制することができる。その結果、より多くの輝度ブロックに対して圧縮フォーマットＦＴ１を適用することができるため、画質を向上することが可能となる。
【００８３】
また、本実施の形態に係る画像処理装置１によれば、圧縮部４は、圧縮対象のブロックラインの中で圧縮フォーマットＦＴ１を適用したブロック数が最大ブロック数Ｘ未満である場合には、余剰のブロック数を、次の圧縮対象のブロックラインに関する最大ブロック数に加算する。このように、余剰のブロック数を次の圧縮対象のブロックラインに繰り越すことにより、次の圧縮対象のブロックラインに関しては、より多くのブロックに対して圧縮フォーマットＦＴ１を適用することができ、その結果、画質を向上することが可能となる。
【００８４】
また、本実施の形態に係る画像処理装置１によれば、圧縮フォーマットＦＴ１は、ブロック識別子と、ブロック内の各画素の画素値を示すビットマップと、当該ブロックの量子化ステップ値Ｑと、を含む。ブロック内の各画素の画素値を示すビットマップを用いることにより、各画素の画素値を高精度に記述することができ、その結果、画質を向上することが可能となる。また、ブロックの量子化ステップ値Ｑを含むことにより、ブロック毎に最適な量子化ステップ値Ｑを設定することができ、その結果、画質を向上することが可能となる。
【００８５】
また、本実施の形態に係る画像処理装置１によれば、圧縮フォーマットＦＴ２は、ブロック識別子と、ブロック内の平均画素値より上位側の画素値を代表する上位代表値Ｈと、ブロック内の平均画素値より下位側の画素値を代表する下位代表値Ｌと、ブロック内の各画素に上位代表値Ｈ及び下位代表値Ｌのいずれが適用されるかを示すビットマップと、を含む。ブロック内の各画素の画素値に代えて、上位代表値Ｈ及び下位代表値Ｌを記述することにより、必要ビット数を削減でき、その結果、圧縮率を向上することが可能となる。
【００８６】
また、本実施の形態に係る画像処理装置１によれば、フレームバッファ５から出力された圧縮後のフレームを伸張する伸張部６をさらに備える。これにより、伸張された静止画を出力又は表示すること等が可能となる。
【００８７】
＜変形例１＞
上記実施の形態ではブロック属性値としてブロック誤差を用いる例について説明したが、ブロック誤差に代えて活発性評価値を用いてもよい。
【００８８】
Ｙブロックラインを対象として、活発性評価値を用いて仮しきい値ＴＨ１ｙ’を算出する手法について説明する。
【００８９】
まず解析部８は、ブロック内の最大画素値から最小画素値を減算することにより、Ｙブロックラインに含まれる各ブロックの活発性評価値Ａを算出する。
【００９０】
次に解析部８は、Ｙブロックラインに含まれる全てのブロックの活発性評価値Ａを加算し、その加算値をブロック数で除算することにより、Ｙブロックラインに関する活発性評価値の平均値（平均活発性評価値ＡＡＶＥ）を算出する。
【００９１】
次に解析部８は、平均活発性評価値ＡＡＶＥに所定の係数αを乗算することにより、仮しきい値ＴＨ１ｙ’を算出する。Ｙブロックラインに関しては、より多くのブロックに圧縮フォーマットＦＴ１が適用されることとなるように、係数αの値は１未満であることが望ましい。なお、平均活発性評価値ＡＡＶＥが極端に小さい場合（つまり、所定の下限許容値より小さい場合）には、仮しきい値ＴＨ１ｙ’を下限許容値以上の第１定数値に設定し、同様に、平均活発性評価値ＡＡＶＥが極端に大きい場合（つまり、所定の上限許容値より大きい場合）には、仮しきい値ＴＨ１ｙ’を上限許容値以下の第２定数値に設定しても良い。上述した係数α、下限許容値、上限許容値、第１定数値、及び第２定数値の各々の値は、所望の圧縮率や画質等に応じて最適な値に設定される。
【００９２】
仮しきい値ＴＨ１ｙ’の算出が完了すると、次に解析部８は、Ｙブロックラインに含まれる全てのブロックのうち、活発性評価値Ａが仮しきい値ＴＨ１ｙ’以上であるブロック数をカウントする。そして、そのカウント値が最大ブロック数Ｘ以上である場合には、Ｙブロックラインに含まれる全てのブロックの中で活発性評価値ＡがＸ番目に大きいブロックを特定し、その特定したブロックの活発性評価値Ａを、正式なしきい値ＴＨ１ｙとして確定する。一方、カウント値が最大ブロック数Ｘ未満である場合には、仮しきい値ＴＨ１ｙ’をそのまま正式なしきい値ＴＨ１ｙとして確定する。
【００９３】
解析部８は、Ｕブロックライン及びＶブロックラインに関しても、上記と同様の手法によってしきい値ＴＨ１ｕ，ＴＨ１ｖをそれぞれ設定する。但し、Ｕブロックライン及びＶブロックラインに関しては、圧縮フォーマットＦＴ１が適用されるブロック数がなるべく少なくなるように、係数αの値は１より大きいことが望ましい。
【００９４】
本変形例において、圧縮部４は、圧縮対象のブロックの活発性評価値Ａがしきい値ＴＨ１未満である場合には、そのブロックに対して圧縮フォーマットＦＴ２を適用した圧縮を行い、一方、圧縮対象のブロックの活発性評価値Ａがしきい値ＴＨ１以上である場合には、そのブロックに対して圧縮フォーマットＦＴ１を適用した圧縮を行う。
【００９５】
本変形例に係る画像処理装置１によれば、解析部８は、圧縮対象のブロックラインに関する活発性評価値の平均値（平均活発性評価値ＡＡＶＥ）に基づいて仮しきい値ＴＨ１’を算出し、活発性評価値が仮しきい値ＴＨ１’以上であるブロック数がＸ個未満である場合には、仮しきい値ＴＨ１’を正式なしきい値ＴＨ１として設定する。このように、簡易な演算によって算出可能な活発性評価値Ａをブロック属性値として用い、圧縮対象のブロックラインに関する平均活発性評価値ＡＡＶＥに基づいてしきい値ＴＨ１を設定することにより、しきい値ＴＨ１を簡易に設定することが可能となる。
【００９６】
＜変形例２＞
上記実施の形態では二種類の圧縮フォーマットＦＴ１，ＦＴ２を用いる例について説明したが、三種類以上の圧縮フォーマットを用いてもよい。本変形例では、四種類の圧縮フォーマットＦＴ１〜ＦＴ４を用いる例について説明する。
【００９７】
図４は、圧縮部４によって圧縮されたブロックの圧縮フォーマットの例を示す図である。圧縮部４は、圧縮対象のブロックを、圧縮フォーマットＦＴ１〜ＦＴ４のいずれかに圧縮する。
【００９８】
図４に示した例において、圧縮フォーマットＦＴ３は、２ビットの領域Ｒ１３と、８ビットの領域Ｒ２３と、８ビットの領域Ｒ３３とを含む、合計１８ビット長のブロックである。つまり、圧縮フォーマットＦＴ３が適用されたブロックに関しては、圧縮前に比べてビットレートが１８／１２８倍に圧縮される。１８ビットで１ブロック内の１６個の画素値を表現するため、ビットレートは１８／１６＝１．１３ｂｉｔ／ｐｉｘｅｌとなる。
【００９９】
領域Ｒ１３には、圧縮フォーマットＦＴ３が適用されたブロックであることを示すブロック識別子（例えば「０１」）が記述される。領域Ｒ３３には、それぞれ４ビットの上位代表値Ｈ及び下位代表値Ｌが記述される。領域Ｒ２３には、ブロック内の全１６画素から抜粋した所定の８画素に上位代表値Ｈ及び下位代表値Ｌのいずれが適用されるかを示すビットマップが記述される。図５は、ビットマップに記述される画素の位置を示す図である。１〜１６の数字を付した全１６画素のうち、１，３，６，８，９，１１，１４，１６の数字を付した８画素（つまり、斜め方向で隣接する位置関係にある８画素）が、ビットマップに記述される。
【０１００】
また、図４に示した例において、圧縮フォーマットＦＴ４は、２ビットの領域Ｒ１４と８ビットの領域Ｒ２４とを含む、合計１０ビット長のブロックである。つまり、圧縮フォーマットＦＴ４が適用されたブロックに関しては、圧縮前に比べてビットレートが１０／１２８倍に圧縮される。１０ビットで１ブロック内の１６個の画素値を表現するため、ビットレートは１０／１６＝０．６２５ｂｉｔ／ｐｉｘｅｌとなる。
【０１０１】
領域Ｒ１４には、圧縮フォーマットＦＴ４が適用されたブロックであることを示すブロック識別子（例えば「００」）が記述される。領域Ｒ２４には、そのブロック内の全画素の画素値を代表する代表値として、例えばブロック内の最大画素値が記述される。
【０１０２】
以下、本変形例に係る画像処理装置１の動作について、上記実施の形態との相違点を中心に説明する。
【０１０３】
＜解析部８＞
解析部８には、静止画のフレーム全体での目標圧縮率（１／Ｇ）が、データＤ１２として入力される。解析部８は、入力された目標圧縮率（１／Ｇ）に基づいて、圧縮フォーマットＦＴ１，ＦＴ２の適用を切り替えるためのしきい値ＴＨ１を算出する。
【０１０４】
まず解析部８は、圧縮対象のブロックラインに含まれるＹブロックライン、Ｕブロックライン、及びＶブロックラインを統合した全てのブロックのうち、活発性評価値Ａが所定のしきい値ＴＨ２以下であるブロックの占有割合ＲＴ４を算出する。本変形例において、これらのブロックには圧縮フォーマットＦＴ４が適用される。
【０１０５】
次に解析部８は、圧縮対象のブロックラインに含まれるＹブロックライン、Ｕブロックライン、及びＶブロックラインを統合した全てのブロックのうち、活発性評価値Ａがしきい値ＴＨ２より大きく、かつ、最大画素値が所定のしきい値ＴＨ３未満であるブロックの占有割合ＲＴ３を算出する。本変形例において、これらのブロックには圧縮フォーマットＦＴ３が適用される。
【０１０６】
上述したしきい値ＴＨ２，ＴＨ３の各々の値は、所望の圧縮率や画質等に応じて最適な値に設定される。
【０１０７】
次に解析部８は、圧縮対象のブロックラインに含まれるＹブロックライン、Ｕブロックライン、及びＶブロックラインを統合した全てのブロックの中で、圧縮フォーマットＦＴ１を適用することが可能な最大ブロック数Ｘを求める。
【０１０８】
まず解析部８は、圧縮フォーマットＦＴ１のビットレートＢＲ１と、圧縮フォーマットＦＴ２のビットレートＢＲ２と、圧縮フォーマットＦＴ３のビットレートＢＲ３及び占有割合ＲＴ３と、圧縮フォーマットＦＴ４のビットレートＢＲ４及び占有割合ＲＴ４と、目標圧縮率（１／Ｇ）とに基づいて、圧縮フォーマットＦＴ１を適用するブロックの占有割合ＲＴ１を算出する。
【０１０９】
次に解析部８は、圧縮対象のＹブロックライン、Ｕブロックライン、及びＶブロックラインに含まれる総ブロック数ＴＢと、上記で求めた占有割合ＲＴ１とに基づいて、圧縮フォーマットＦＴ１を適用可能な最大ブロック数Ｘを算出する。
【０１１０】
例えば、ＢＲ１＝９０／１６、ＢＲ２＝３４／１６、ＢＲ３＝１８／１６、ＢＲ４＝１０／１６、１／Ｇ＝１／３、ＴＢ＝９６０、ＲＴ３＝０．１、ＲＴ４＝０．２の場合には、
ＲＴ１＝０．２６９
Ｘ＝２５８
となる。つまり、Ｙブロックライン、Ｕブロックライン、及びＶブロックラインを統合した合計９６０個のブロックのうち、圧縮フォーマットＦＴ１を適用可能なブロック数は最大２５８個ということになる。
【０１１１】
本変形例では、活発性評価値Ａがしきい値ＴＨ２以下であるブロックには、圧縮フォーマットＦＴ４が適用される。また、活発性評価値Ａがしきい値ＴＨ２より大きく、かつ、最大画素値がしきい値ＴＨ３未満であるブロックには、圧縮フォーマットＦＴ３が適用される。また、活発性評価値Ａがしきい値ＴＨ２より大きく、かつ、最大画素値がしきい値ＴＨ３以上であり、かつ、ブロック属性値がしきい値ＴＨ１以上であるブロックには、圧縮フォーマットＦＴ１が適用される。また、活発性評価値Ａがしきい値ＴＨ２より大きく、かつ、最大画素値がしきい値ＴＨ３以上であり、かつ、ブロック属性値がしきい値ＴＨ１未満であるブロックには、圧縮フォーマットＦＴ２が適用される。
【０１１２】
次に解析部８は、ラインバッファ３に格納されているＹブロックライン、Ｕブロックライン、及びＶブロックラインのそれぞれに関して、圧縮対象の各ブロックのブロック属性値に基づいて仮しきい値ＴＨ１’を算出する。ブロック属性値としては、ブロック誤差を用いることができる。あるいは、上記変形例１と同様に、ブロック属性値として活発性評価値を用いてもよい。
【０１１３】
Ｙブロックラインを対象として、ブロック誤差を用いて仮しきい値ＴＨ１ｙ’を算出する手法について説明する。
【０１１４】
まず解析部８は、Ｙブロックラインに含まれる全ブロックのうち、活発性評価値Ａがしきい値ＴＨ２より大きく、かつ、最大画素値がしきい値ＴＨ３以上であるブロック（以下「対象ブロック」と称す）の各々に関して、画素平均値Ｍ、上位代表値Ｈ、及び下位代表値Ｌをそれぞれ算出する。
【０１１５】
次に解析部８は、全ての上位画素に関する輝度値と上位代表値Ｈとの差分絶対値和と、全ての下位画素に関する輝度値と下位代表値Ｌとの差分絶対値和とをそれぞれ算出し、両差分絶対値和を加算することによって、Ｙブロックラインに含まれる各対象ブロックのブロック誤差Ｐを算出する。
【０１１６】
次に解析部８は、Ｙブロックラインに含まれる全ての対象ブロックのブロック誤差Ｐを加算し、その加算値を対象ブロックのブロック数で除算することにより、Ｙブロックラインに関するブロック誤差の平均値（平均ブロック誤差ＰＡＶＥ）を算出する。
【０１１７】
次に解析部８は、平均ブロック誤差ＰＡＶＥに所定の係数αを乗算することにより、仮しきい値ＴＨ１ｙ’を算出する。なお、上記実施の形態と同様に、平均ブロック誤差ＰＡＶＥが極端に小さい場合には仮しきい値ＴＨ１ｙ’を第１定数値に設定し、平均ブロック誤差ＰＡＶＥが極端に大きい場合には仮しきい値ＴＨ１ｙ’を第２定数値に設定しても良い。
【０１１８】
仮しきい値ＴＨ１ｙ’の算出が完了すると、次に解析部８は、Ｙブロックラインに含まれる全ての対象ブロックのうち、ブロック誤差Ｐが仮しきい値ＴＨ１ｙ’以上であるブロック数をカウントする。そして、そのカウント値が最大ブロック数Ｘ以上である場合には、Ｙブロックラインに含まれる全ての対象ブロックの中でブロック誤差ＰがＸ番目に大きいブロックを特定し、その特定したブロックのブロック誤差Ｐを、正式なしきい値ＴＨ１ｙとして確定する。一方、カウント値が最大ブロック数Ｘ未満である場合には、仮しきい値ＴＨ１ｙ’をそのまま正式なしきい値ＴＨ１ｙとして確定する。
【０１１９】
解析部８は、Ｕブロックライン及びＶブロックラインに関しても、上記と同様の手法によってしきい値ＴＨ１ｕ，ＴＨ１ｖをそれぞれ設定する。
【０１２０】
＜圧縮部４＞
圧縮部４には、Ｙブロックラインの各ブロックの輝度データＤ２Ｙ、Ｕブロックラインの各ブロックの色差データＤ２Ｕ、及びＶブロックラインの各ブロックの色差データＤ２Ｖが、ラインバッファ３から入力される。また、圧縮部４には、解析部８によって算出された最大ブロック数Ｘ及びしきい値ＴＨ１〜ＴＨ３が、データＤ１０として解析部８から入力される。
【０１２１】
圧縮部４は、活発性評価値Ａがしきい値ＴＨ２以下であるブロックには、圧縮フォーマットＦＴ４を適用した圧縮を行う。
【０１２２】
具体的に、圧縮部４は、圧縮フォーマットＦＴ４が適用されたブロックであることを示すブロック識別子（例えば「００」）を領域Ｒ１４に記述し、ブロック内の最大画素値を領域Ｒ２４に記述することにより、圧縮対象のブロックを圧縮フォーマットＦＴ４に圧縮する。
【０１２３】
また、圧縮部４は、活発性評価値Ａがしきい値ＴＨ２より大きく、かつ、最大画素値がしきい値ＴＨ３未満であるブロックには、圧縮フォーマットＦＴ３を適用した圧縮を行う。
【０１２４】
具体的に、まず圧縮部４は、圧縮対象のブロックの各画素値に基づいて、それぞれ４ビットの上位代表値Ｈ及び下位代表値Ｌを算出する。
【０１２５】
次に圧縮部４は、圧縮フォーマットＦＴ３が適用されたブロックであることを示すブロック識別子（例えば「０１」）を領域Ｒ１３に記述し、ブロック内の全１６画素から抜粋した所定の８画素の各々に上位代表値Ｈ及び下位代表値Ｌのいずれが適用されるかを示すビットマップを領域Ｒ２３に記述し、それぞれ４ビットの上位代表値Ｈ及び下位代表値Ｌを領域Ｒ３３に記述することにより、圧縮対象のブロックを圧縮フォーマットＦＴ３に圧縮する。
【０１２６】
また、圧縮部４は、活発性評価値Ａがしきい値ＴＨ２より大きく、かつ、最大画素値がしきい値ＴＨ３以上であり、かつ、ブロック誤差Ｐがしきい値ＴＨ１未満であるブロックには、圧縮フォーマットＦＴ２を適用した圧縮を行う。
【０１２７】
具体的に、まず圧縮部４は、圧縮対象のブロックの各画素値に基づいて、それぞれ８ビットの上位代表値Ｈ及び下位代表値Ｌを算出する。
【０１２８】
次に圧縮部４は、圧縮フォーマットＦＴ２が適用されたブロックであることを示すブロック識別子（例えば「１０」）を領域Ｒ１２に記述し、ブロック内の各画素に上位代表値Ｈ及び下位代表値Ｌのいずれが適用されるかを示すビットマップを領域Ｒ２２に記述し、それぞれ８ビットの上位代表値Ｈ及び下位代表値Ｌを領域Ｒ３２に記述することにより、圧縮対象のブロックを圧縮フォーマットＦＴ２に圧縮する。
【０１２９】
また、圧縮部４は、活発性評価値Ａがしきい値ＴＨ２より大きく、かつ、最大画素値がしきい値ＴＨ３以上であり、かつ、ブロック誤差Ｐがしきい値ＴＨ１以上であるブロックには、圧縮フォーマットＦＴ１を適用した圧縮を行う。
【０１３０】
具体的に、まず圧縮部４は、圧縮対象のブロック内の最大画素値ｂｍａｘに基づいて、そのブロックに関する量子化ステップ値Ｑを算出する。
【０１３１】
次に圧縮部４は、圧縮対象のブロック内の各画素値を量子化ステップ値Ｑで除算することにより、各画素値を量子化する。
【０１３２】
次に圧縮部４は、圧縮フォーマットＦＴ１が適用されたブロックであることを示すブロック識別子（例えば「１１」）を領域Ｒ１１に記述し、量子化後の各画素値を表したビットマップを領域Ｒ２１に記述し、量子化ステップ値Ｑを領域Ｒ３１に記述することにより、圧縮対象のブロックを圧縮フォーマットＦＴ１に圧縮する。
【０１３３】
また、圧縮部４は、圧縮フォーマットＦＴ１を適用したブロック数をカウントするカウンタ（初期値は最大ブロック数Ｘ）を有しており、圧縮フォーマットＦＴ１を用いた圧縮を行う度に、そのカウンタのカウンタ値を１ずつデクリメントする。そして、現在の圧縮対象のブロックラインに含まれる全てのブロックの圧縮が完了すると、その時点でのカウンタ値（つまり、最大ブロック数Ｘから実際に圧縮フォーマットＦＴ１を適用したブロック数を差し引いた余剰のブロック数）を、データＤ１１として解析部８に入力する。解析部８は、次の圧縮対象のブロックラインに関して算出した最大ブロック数に、データＤ１１で示される余剰のブロック数を加算することによって得られたブロック数を、当該次の圧縮対象のブロックラインに関する最大ブロック数Ｘとして用いる。
【０１３４】
＜伸張部６＞
伸張部６は、圧縮後の画像データＤ３をフレームバッファ５から順に読み出す。具体的には、Ｙブロックラインの各ブロックの圧縮後の輝度データＤ３Ｙ、Ｕブロックラインの各ブロックの圧縮後の色差データＤ３Ｕ、及びＶブロックラインの各ブロックの圧縮後の色差データＤ３Ｖを、ブロック順に圧縮部４から読み出す。
【０１３５】
伸張部６は、読み出したブロックの先頭に付加されているブロック識別子を参照することにより、各ブロックに関して圧縮フォーマットＦＴ１〜ＦＴ４のいずれが適用されているかを識別する。
【０１３６】
伸張部６は、圧縮フォーマットＦＴ１が適用されているブロックに関しては、領域Ｒ２１に記述されているブロック内の各画素の画素値に、領域Ｒ３１に記述されている量子化ステップ値Ｑをそれぞれ乗算することにより、画像データを伸張する。
【０１３７】
また、伸張部６は、圧縮フォーマットＦＴ２が適用されているブロックに関しては、領域Ｒ２２に記述されているビットマップの値が「１」の画素に対しては、領域Ｒ３２に記述されている上位代表値Ｈをその画素の画素値とし、ビットマップの値が「０」の画素に対しては下位代表値Ｌをその画素の画素値とすることにより、画像データを伸張する。
【０１３８】
また、伸張部６は、圧縮フォーマットＦＴ３が適用されているブロックに関しては、領域Ｒ２３に記述されているビットマップの値が「１」の画素に対しては、領域Ｒ３３に記述されている上位代表値Ｈをその画素の画素値とし、ビットマップの値が「０」の画素に対しては下位代表値Ｌをその画素の画素値とすることにより、画像データを伸張する。また、図５を参照して、ビットマップへの記述が省略された画素（２，４，５，７，１０，１２，１３，１５の数字を付した画素）に関しては、その画素に隣接する複数の画素の画素値の平均値を、その画素の画素値として用いる。例えば、数字１を付した画素の画素値と、数字３を付した画素の画素値との平均値を、数字２を付した画素の画素値とする。
【０１３９】
また、伸張部６は、圧縮フォーマットＦＴ４が適用されているブロックに関しては、領域Ｒ２４に記述されている最大画素値を、そのブロック内の全ての画素の画素値とすることにより、画像データを伸張する。
【０１４０】
このように本変形例に係る画像処理装置１によれば、圧縮部４は、活発性評価値Ａがしきい値ＴＨ２（第２のしきい値）以下であるブロックに対しては、圧縮フォーマットＦＴ２よりも高い圧縮率の圧縮フォーマットＦＴ４（第３の圧縮フォーマット）を適用することによって、当該ブロックを圧縮する。また、圧縮部４は、ブロック内の最大画素値がしきい値ＴＨ３（第３のしきい値）未満であるブロックに対しては、圧縮フォーマットＦＴ２よりも高く圧縮フォーマットＦＴ４よりも低い圧縮率の圧縮フォーマットＦＴ３（第４の圧縮フォーマット）を適用することによって、当該ブロックを圧縮する。このように、活発性評価値又は最大画素値が低いブロックに対しては、圧縮率が比較的高い圧縮フォーマットＦＴ３，ＦＴ４が適用される。これにより、真に必要なブロックに対して、圧縮率が比較的低い圧縮フォーマットＦＴ１，ＦＴ２の適用を分配することができ、その結果、画像全体として画質を向上することが可能となる。
【０１４１】
また、本変形例に係る画像処理装置１によれば、圧縮フォーマットＦＴ４は、ブロック識別子と、ブロック内の全画素の画素値を代表する代表値と、を含む。ブロック内の各画素の画素値に代えて一の代表値が記述され、しかもビットマップも不要であるため、必要ビット数を大幅に削減でき、その結果、圧縮率を最大限に向上することが可能となる。
【０１４２】
また、本変形例に係る画像処理装置１によれば、圧縮フォーマットＦＴ３は、ブロック識別子と、ブロック内の平均画素値より上位側の画素値を代表する上位代表値Ｈと、ブロック内の平均画素値より下位側の画素値を代表する下位代表値Ｌと、ブロック内の全画素から抜粋した所定の画素に上位代表値Ｈ及び下位代表値Ｌのいずれが適用されるかを示すビットマップと、を含む。ブロック内の各画素の画素値に代えて上位代表値Ｈ及び下位代表値Ｌが記述され、しかも、ブロック内の全画素から抜粋した所定の画素に関するビットマップが記述されるため、必要ビット数を大幅に削減でき、その結果、圧縮率を向上することが可能となる。
【符号の説明】
【０１４３】
１  画像処理装置
３  ラインバッファ
４  圧縮部
５  フレームバッファ
６  伸張部
８  解析部
【図１】
2015126329.tif 000003
【図２】
2015126329.tif 000004
【図３】
2015126329.tif 000005
【図４】
2015126329.tif 000006
【図５】
2015126329.tif 000007