(57)【特許請求の範囲】
【請求項１】
画像データを取得する取得手段と、
前記取得手段により取得したお互いに視差を有する複数の第一の画像データを夫々異なる画像処理パラメタを用いて画像処理するための第一の処理手段と、
前記第一の処理手段により前記複数の第一の画像データを夫々処理した後の画像データに係る情報を相互に比較する比較手段と、
前記比較手段による比較結果に基づいて、前記異なる画像処理パラメタのうち、より処理の効率がよい画像処理パラメタを第二の処理手段で用いる画像処理パラメタとして決定する決定手段と、
前記決定手段によって決定した画像処理パラメタを用いて、前記複数の第一の画像データとは異なる第二の画像データに前記画像処理をするための第二の処理手段と、
を有することを特徴とする画像処理装置。
【請求項２】
前記画像処理パラメタは画像データを符号化するための符号化パラメタを含み、
前記第一の処理手段及び前記第二の処理手段は、前記符号化パラメタを用いて前記画像データの符号化を行うことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記第二の処理手段で画像処理する前記第二の画像データは複数の視差を有する前記第一の画像データを合成した合成画像を含むことを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
画像データを取得する取得手段と、
前記取得手段により取得した第二の画像データを２以上に分割した複数の第一の画像データを夫々異なる画像処理パラメタを用いて画像処理するための第一の処理手段と、
前記第一の処理手段により前記複数の第一の画像データを夫々処理した後の画像データに係る情報を相互に比較する比較手段と、
前記比較手段による比較結果に基づいて、前記異なる画像処理パラメタのうち、より処理の効率がよい画像処理パラメタを第二の処理手段で用いる画像処理パラメタとして決定する決定手段と、
前記決定手段によって決定した画像処理パラメタを用いて、前記複数の第一の画像データとは異なる前記第二の画像データに前記画像処理をするための第二の処理手段と、
を有することを特徴とする画像処理装置。
【請求項５】
前記第二の処理手段で画像処理する前記第二の画像データは、２以上に分割された複数の前記第一の画像データを合成した合成画像を含むことを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記決定手段は、前記比較手段による比較結果に基づいて、前記第一の処理手段による処理後の画像データのデータサイズがより小さいパラメタ、圧縮率がより高いパラメタ、処理時間のより短いパラメタ、のうちのいずれかのパラメタを前記第二の処理手段で用いる画像処理パラメタとして決定することを特徴とする請求項１乃至５のいずれか１項に記載の画像処理装置。
【請求項７】
前記決定手段が決定したパラメタを記憶する記憶手段と、
前記記憶手段の記憶に基づいて前記第一の処理手段に用いる画像処理パラメタを選択する選択手段と、をさらに有することを特徴とする請求項１乃至６のいずれか１項に記載の画像処理装置。
【請求項８】
前記記憶手段は、パラメタごとに前記決定手段が決定した回数を記憶し、
前記選択手段は、前記記憶されているパラメタごとの回数がより多いパラメタを前記第一の処理手段に用いる画像処理パラメタとして選択することを特徴とする請求項７に記載の画像処理装置。
【請求項９】
画像データを符号化する画像処理装置の制御方法であって、
お互いに視差を有する複数の第一の画像データを夫々異なる画像処理パラメタを用いて画像処理するための第一の処理ステップと、
前記第一の処理ステップにて前記複数の第一の画像データを夫々処理した後の画像データに係る情報を相互に比較する比較ステップと、
前記比較ステップによる比較結果に基づいて、前記複数の画像処理パラメタのうち、より処理の効率がよい画像処理パラメタを第二の画像処理に用いる画像処理パラメタとして決定する決定ステップと、
前記決定ステップによって決定した画像処理パラメタを用いて、前記第一の画像データとは異なる第二の画像データに前記画像処理をするための第二の処理ステップと、
を有することを特徴とする画像処理装置の制御方法。
【請求項１０】
請求項９に記載の複数のステップをコンピュータに実行させるためのコンピュータプログラム。
【請求項１１】
請求項１０に記載のコンピュータプログラムを記載したコンピュータ読取可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データを処理する画像処理装置に関する。
【背景技術】
【０００２】
画像あるいは任意の入力データ等の処理する場合、画像処理パラメタを用いて各データの画像処理を行う技術が知られている。
【０００３】
たとえば、特許文献１には、複数のハフマンテーブルを用いて画像データを符号化する手法が開示されている。この技術によって、入力データ等に適したハフマンテーブルを選択することができ、符号化するデータのデータサイズを抑えることができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許４１００８３６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来技術では、複数の画像データを画像処理する場合に、夫々複数の画像データについて画像処理パラメタを用いて画像処理することになる。そのため、画像処理回数が多くなり、処理時間がかかる場合があった。
【０００６】
本発明は、複数の画像データを適切に画像処理することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明の画像処理装置は、画像データを取得する取得手段と、前記取得手段により取得した複数の第一の画像データを夫々異なる画像処理パラメタを用いて画像処理するための第一の処理手段と、前記第一の処理手段により前記複数の第一の画像データを夫々処理した後の画像データに係る情報を相互に比較する比較手段と、前記比較手段による比較結果に基づいて、前記異なる画像処理パラメタのうち、より処理の効率がよい画像処理パラメタを第二の処理手段で用いる画像処理パラメタとして決定する決定手段と、前記決定手段によって決定した画像処理パラメタを用いて、前記第一の画像データとは異なる第二の画像データに前記画像処理をするための第二の処理手段と、を有することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、複数の画像データの画像処理時間を短縮化し、さらに適切に画像処理することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の第一の実施例に係る画像処理装置の構成図である。
【図２】本発明の第一の実施例に係る画像処理装置の撮像部における単位画素の構成図である。
【図３】本発明の第一の実施例に係る画像データの符号化処理の一例を示すフローチャートである。
【図４】本発明の第二の実施例に係る画像処理装置の構成図である。
【図５】本発明の第二の実施例に係る画像処理装置の撮像部における単位画素の構成図である。
【図６】本発明の第二の実施例に係る画像処理装置の符号化パラメタの選択動作を示す図である。
【図７】画像データを分割する際の模式図である。
【図８】本発明におけるデジタルカメラで撮像した場合の各画像データの一部を表した模式図である。
【発明を実施するための形態】
【００１０】
以下、本発明をその好適な実施例に基づいて詳細に説明する。なお、以下の実施例において示す構成は一例に過ぎず、本発明は、図示された構成に限定されるものではない。
【００１１】
（実施例１）
図１は、本発明の実施形態にかかわるデジタルカメラの構成を示すものである。なお、本実施例におけるデジタルカメラは撮像装置または画像処理装置の一例である。１００はデジタルカメラ、２００は記録媒体、１１はシャッタ、１２は撮像レンズ、１３は表示部、１４は記録媒体２００とのＩ／Ｆである。そして、２１は撮像部、２２はＡ／Ｄコンバータ、２３は画像処理部、２４はＤＲＡＭ、２５はメモリコントローラ、２６はＲＯＭ、２７はＤ／Ａコンバータ、３１はシャッタボタン、５０は制御部である。
【００１２】
なお、制御部５０は、例えばＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）により構成され、後述のＲＯＭ２６、ＤＲＡＭ２４等に記憶されたプログラムを実行する。つまり、制御部５０は、デジタルカメラ１００の全体の制御を行う制御手段に相当する。また、ＲＯＭ２６、ＤＲＡＭ２４等は、主に制御部５０が実行するプログラム格納領域、プログラム実行中のワーク領域、後述する撮像部２１で生成される画像データの格納領域等、様々なデータの格納領域として使用される。また、デジタルカメラ１００内の各ブロックにおける各種処理に用いられるパラメタや、ユーザ等から設定されるパラメタ等を記憶する。なお、本パラメタには、画像処理部２３の画像処理に用いられる画像処理パラメタを含む。
【００１３】
図２は、撮像部２１に含まれる不図示のＣＣＤやＣＭＯＳ等の撮像素子における単位画素の構成例である。図２（ａ）撮像レンズ１２側から見たときのイメージである。そして、図２（ｂ）は図２（ａ）の点線（Ｘ−Ｘ’）での断面のイメージである。本実施例の撮像装置１００が備える撮像素子は、図２に示すように、撮像レンズ１２からの光を受光する受光面がＡ、Ｂに分割している。このことにより、受光面Ａ及びＢは夫々撮像レンズ１２における射出瞳の異なる領域（以下、瞳領域と称することがある）からの光を受光することができる。
【００１４】
本実施例のデジタルカメラの撮像素子は、この単位画素がマトリクス状に配置されている。この配置は単位画素ごとに、赤、緑、青のカラーフィルタを有するベイヤ配列とする。つまり、ＡとＢは同じカラーフィルタを投下した光を受光することになる。このことより、Ａ、Ｂのそれぞれの画素から読み出した信号を並び替えることによって、それぞれ独立した画像データをすることが可能である（ここでは、夫々画像データ１および画像データ２とする）。また、読み出し動作を制御することによって、ＡとＢ合わせて一つの画素として画像データ３を得ることが可能である。本実施例において、各画像データはＲＡＷ画像データに関して例示するが、ｊｐｅｇ等の圧縮した画像でもよい。
【００１５】
なお、本実施例の撮像素子はベイヤ配列で単位画素が配列しているとしたが、カラーフィルタをシアン、マゼンダ、黄等の補色を含む構成としてもよい。
【００１６】
図８は、本実施例におけるデジタルカメラで撮像した場合の各画像データの一部を表した模式図である。具体的には、マトリクス状に配置されている単位画素のうち所定の行の一部及びそこから出力された各画像データを表している。本実施例の撮像素子の単位画素は、受光面が分割されている。そのために、互いに異なる瞳領域からの一対の光束によってそれぞれの受光面に一対の被写体像を得ることができる。一対の被写体像は夫々画像データ１および画像データ２に相当する。これらの画像データ１および画像データ２の信号値は夫々偏った出力を示す。この偏りは光学結像手段の異なる瞳領域を通過して結像されたことによる視差であり、画像データ１および画像データ２はお互いに視差を有する視差画像に相当する。また、画像データ１および画像データ２が有する視差は、撮像レンズ１２の焦点位置等によって変化する。具体的には、合焦している場合に視差はなくなり、合焦からずれる量に応じて視差は増加する。つまり、ピント状態によって視差量は異なる。このことにより、各画像データ間に生じる視差量を用いることによって、適切なピント位置を求めたり、画像データ内の被写体までの距離を求めたりすることが可能となる。
【００１７】
視差量を求める方法として、以下の式（１）を用いる方法に関して例示する。
【００１８】
【数１】
0006736248.tif 000002
【００１９】
ただし、Ａｘ、Ｂｘは画像において指定した行の受光面Ａ及びＢの出力信号値である。ｓはシフト量であり、ｑ、ｐは所定の列番号である。つまり、受光面Ａの信号と行方向にｓ画素分だけ受光面Ｂの信号値シフトさせたものとの差分をとることで、相関値Ｃを求めることができる。そして、所定の範囲でｓを変化させて相関値Ｃを求め、極小となるｓが視差量に相当する。
【００２０】
本実施例においては、受光面Ｂの信号をシフトさせたが、受光面Ａの信号をシフトしてもよい。また、式（１）以外の式を用いて、視差量を算出するようにしてもよい。
【００２１】
このように、視差を有する受光面Ａ及びＢの信号から生成した画像データ１及び画像データ２を用いることで、画面内の任意の場所の被写体までの距離を求めることができる。また、画像データ１および画像データ２を加算することで、画像データ３得ることができる。つまり、画像データ３は画像データ１および画像データ２の合成画像に相当する。なお、本実施例においては受光面を２分割する例を示したが、受光面を３分割以上に分割してもよい。なお、画像データ３を作成するために画像データ１および画像データ２の合成する場合に、所定の重みづけを行ってもよいし、いずれか一方の画像を加工した後に加算してもよい。
【００２２】
本実施例におけるデジタルカメラ１００は、制御部５０の制御により、撮像レンズ１２を介して結像した像を撮像部２１で撮像することで複数の画像データを取得することができる。つまり、受光面Ａで発生した電荷を読み出すことで画像データ１が、受光面Ｂで発生した電荷を読み出すことで画像データ２を取得することができる。加えて、受光面Ａと受光面Ｂの画像データを加算等することによって画像データ３等が取得される。なお、画像データの読み出し順等は適宜変更することが可能である。
【００２３】
そして、撮像部２１で取得された各データはＡ／Ｄコンバータ２２によりデジタル変換され、画像処理部２３に入力、もしくはメモリコントローラ２５を介してＤＲＡＭ２４等に記録される。画像処理部２３には、Ａ／Ｄコンバータ２２からのデータ、メモリコントローラ２５を介してＤＲＡＭ２４等に記録されたデータ、ＲＯＭ２６に記録された画像処理パラメタ等が入力される。そして、圧縮・符号化などの任意の画像処理を実行する。ここで、ＲＯＭ２６に記録された画像処理パラメタには、例えばハフマンテーブル等の圧縮・符号化処理に用いる符号化パラメタが複数含まれる。これらの符号化パラメタの一部又は全部はＲＯＭ２６等にあらかじめ記憶されていてもよいし、ユーザ等が外部から設定できるようにしてもよい。また、画像処理部２３の出力である画像処理結果は、メモリコントローラ２５を介してＤＲＡＭ２４等に記録される。さらにメモリコントローラ２５を介してＤＲＡＭ２４等からデータが読み出され、Ｄ／Ａコンバータ２７によりアナログ変換され、表示部１３に定期的に表示する。
【００２４】
また、シャッタボタン３１が操作されることにより、制御部５０がシャッタ１１、撮像レンズ１２、撮像部２１を制御して撮像する。なお、画像処理部２３で施される画像処理は、少なくとも圧縮・符号化の他、歪補正、覆い焼き処理、画像回転、色空間変換などを含む。また、ＤＲＡＭ２４やＲＯＭ２６からのデータの読み出しや書き込みなども、制御部５０によって制御される。
【００２５】
以下、図３を参照して、本発明の第１の実施例による、撮像時の画像データの圧縮・符号化における、制御部５０の処理フローを説明する。
【００２６】
図３は画像データ１、画像データ２、画像データ３を圧縮・符号化する際の処理フローである。なお、本処理は、制御部５０により実行されるものとする。また、符号化パラメタとしてハフマンテーブルを用いる動作を例示するが、これに限られるものではない。
【００２７】
制御部５０は、ステップＳ３０１において画像データ１の符号化に用いるハフマンテーブルをＲＯＭ２６から読み出す。具体的には、制御部５０はＲＯＭ２６等が保持する複数のハフマンテーブルから１つを選択して読み出す。ここでは、ハフマンテーブルの選択方法に制約はないものとする。その後、ステップＳ３０２に処理を進める。
【００２８】
制御部５０は、ステップＳ３０２において、画像処理部２３により画像データ１を符号化する。符号化したデータはメモリコントローラ２５を介してＤＲＡＭ２４等に記録される。具体的には、制御部５０はＳ３０１で読み出したハフマンテーブルを用いて、画像処理部２３により画像データ１の符号化処理をするように制御する。さらに圧縮後のデータを、メモリコントローラ２５を介してＤＲＡＭ２４もしくは、さらにＩ／Ｆ１４を介して記録媒体２００に書き出すよう制御するとともに、圧縮後のサイズ情報を取得する。ここで画像データ１はＡ／Ｄコンバータ２２から直接入力してもよいし、ＤＲＡＭ２４に格納されたデータを、メモリコントローラ２５を介して読み出して入力してもよい。そして、ステップＳ３０３に処理を進める。
【００２９】
制御部５０は、ステップＳ３０３において、画像データ２の符号化に用いるハフマンテーブルをＲＯＭ２６から読み出す。具体的には、制御部５０はＲＯＭ２６が保持する複数のハフマンテーブルで、Ｓ３０１で読みださなかったハフマンテーブルから１つを選択し、読み出す。ここでは、Ｓ３０１で読み出したハフマンテーブル以外であれば、ハフマンテーブルの選択方法に制約はないものとする。その後、ステップＳ３０４に処理を進める。
【００３０】
制御部５０は、ステップＳ３０４において、画像処理部２３により画像データ２を符号化する。符号化したデータはメモリコントローラ２５を介してＤＲＡＭ２４等に記録される。具体的には、制御部５０はＳ３０３で読み出したハフマンテーブルを用いて、画像処理部２３により画像データ２の符号化処理をするように制御する。さらに圧縮後のデータを、メモリコントローラ２５を介してＤＲＡＭ２４もしくは、さらにＩ／Ｆ１４を介して記録媒体２００に書き出すよう制御するとともに、圧縮後のサイズ情報を取得する。ここで画像データ２はＡ／Ｄコンバータ２２から直接入力してもよいし、ＤＲＡＭ２４に格納されたデータを、メモリコントローラ２５を介して読み出して入力してもよい。そして、ステップＳ３０５に処理を進める。
【００３１】
制御部５０は、ステップＳ３０５において、画像データ１の符号化結果と画像データ２の符号化結果を比較する。具体的には、ステップＳ３０２で符号化した画像データとステップＳ３０４で符号化した画像データのデータサイズを比較する。ステップＳ３０２で符号化した画像データが、ステップＳ３０４で符号化した画像データのデータサイズよりも小さい場合は、ステップＳ３０６に処理を進める。一方で、ステップＳ３０２で符号化した画像データが、ステップＳ３０４で符号化した画像データのデータサイズよりも大きい場合は、ステップＳ３０７に処理を進める。なお、本実施例において、制御部５０は符号化結果を比較し、その比較結果に基づいて使用する符号化パラメタを決定する決定手段に相当する。
【００３２】
制御部５０は、ステップＳ３０６において、画像処理部２３によりステップＳ３０２の符号化で用いたハフマンテーブルで画像データ３を符号化する。具体的には、制御部５０はＳ３０１で読み出したハフマンテーブルを用いて、画像処理部２３により画像データ３の符号化処理をするように制御する。さらに圧縮後のデータを、メモリコントローラ２５を介してＤＲＡＭ２４もしくは、さらにＩ／Ｆ１４を介して記録媒体２００に書き出すよう制御する。そして、処理を終了する。
【００３３】
また、制御部５０は、ステップＳ３０７において、画像処理部２３により画ステップＳ３０４の符号化で用いたハフマンテーブルで画像データ３を符号化する。具体的には、制御部５０はＳ３０３で読み出したハフマンテーブルを用いて、画像処理部２３により画像データ３の符号化処理をするように制御する。さらに圧縮後のデータを、メモリコントローラ２５を介してＤＲＡＭ２４もしくは、さらにＩ／Ｆ１４を介して記録媒体２００に書き出すよう制御する。そして、処理を終了する。
【００３４】
以上の動作によって、符号化処理回数を抑え、画像データ３を圧縮するためのハフマンテーブルに関して、より効率よく圧縮できるものを選択することが可能となる。つまり、同一の被写体を撮影した視差を有する複数の画像及び、それらを合成した画像に関しては、類似点が多い。そのため、いずれかの画像で高い圧縮効果を得られた符号化パラメタは他の画像に対しても有効であると考えられる。また、一部の画像の判定結果を用いて他の画像の符号化パラメタを決定するために、全体の圧縮時間を短くすることが可能となる。
【００３５】
ここで、Ｓ３０５において画像データ１と画像データ２の圧縮後のサイズの大小で画像データ３の符号化に用いるハフマンテーブルを決定したが、画像データ１と画像データ２の符号化結果の比較方法はこれに限らない。たとえば、符号化に掛かる処理時間等を用いてもよいし、圧縮率でもよい。
【００３６】
なお、ここで説明した処理フローは、視差画像ではなく、画像データを２以上に分割し分割した単位毎に圧縮・符号化する場合にも適用できる。図７は画像データを４分割する例である。（ａ）は分割前の画像データ、（ｂ）〜（ｅ）は（ａ）中の破線Ｘ、Ｙで（ａ）に示す画像データを分割して得られる画像データである。ここでは（ｂ）を画像データ１、（ｃ）を画像データ２とし、残りの画像データ（ｄ）と（ｅ）を画像データ３として、圧縮・符号化する。画像データ３の組み合わせは、これに限るものではない。また、連写時の画像データの圧縮に用いてもよいし、複数の露出画像を合成して画像のダイナミックレンジを拡大する場合などにも適用することができる。
【００３７】
また、ここで説明した処理フローは、撮像時の圧縮・符号化に限らず、再生時など、記録媒体２００に保存された画像データを読み出して処理する場合にも適用できる。
【００３８】
なお、本実施例において、受光面ＡおよびＢから取得した信号から画像データ１及び２としたが、受光面ＡおよびＢから取得した信号の加算結果または差分結果を画像データとしてもよい。
【００３９】
（実施例２）
以下、図４、図５および図６を参照して、本発明の第２の実施例による、画像データの圧縮・符号化について説明する。なお、符号化パラメタとしてハフマンテーブルを用いる動作を例示するが、これに限られるものではない。
【００４０】
図４は、本発明の第２の実施形態に関わるデジタルカメラの構成を示すものである。なお、図４において、図１におけるデジタルカメラ１００と同様の構成に関しては、その説明を省略する。５１はハフマンテーブル使用回数カウンタ部、５２はハフマンテーブル選択部である。ハフマンテーブル使用回数カウンタ部５１は、ＲＯＭ２６等に記録された複数のハフマンテーブル毎に画像データ３の圧縮に用いられた回数をカウントする。ハフマンテーブル選択部５２は、ハフマンテーブル使用回数カウンタ部５１のカウント値に応じて、ＲＯＭ２６に格納されたハフマンテーブルを選択する。なお、カウント値はＲＡＭ２４またはＲＯＭ２６に記憶するようにしてもよい。
【００４１】
図５は、画像データ１、画像データ２、画像データ３を圧縮・符号化する際の第２の実施形態に関わる処理フローである。なお、本処理は、制御部５０により実行されるものとする。
【００４２】
制御部５０は、ステップＳ５０１は、ハフマンテーブル使用回数カウンタ部５１のカウント値が一番大きなハフマンテーブルを選択し、ＲＯＭ２６から読み出す。具体的には、制御部５０はＲＯＭ２６等が保持する複数のハフマンテーブルから１つを選択して読み出す。ここで、ハフマンテーブル使用回数カウンタ部５１のカウント値から各テーブルについてカウント値による差はないとする。この場合は、例えばテーブル番号の若い方を選んだり、未使用のテーブルを選んだりして、複数のハフマンテーブルから１つのテーブルを選択する。その後、ステップＳ５０２に処理を進める。
【００４３】
制御部５０は、ステップＳ５０２は、ステップＳ５０１で選択されたハフマンテーブルを用いて、画像処理部２３により画像データ１を符号化する。符号化したデータはメモリコントローラ２５を介してＤＲＡＭ２４等に記録される。具体的には、制御部５０はステップＳ３０１で読み出したハフマンテーブルを用いて、画像処理部２３により画像データ１の符号化処理をするように制御する。さらに圧縮後のデータを、メモリコントローラ２５を介してＤＲＡＭ２４もしくは、さらにＩ／Ｆ１４を介して記録媒体２００に書き出すよう制御するとともに、圧縮後のサイズ情報を取得する。ここで画像データ１はＡ／Ｄコンバータ２２から直接入力してもよいし、ＤＲＡＭ２４に格納されたデータを、メモリコントローラ２５を介して読み出して入力してもよい。その後、ステップＳ５０３に処理を進める。
【００４４】
制御部５０は、ステップＳ５０３は、ステップＳ５０１で選択したハフマンテーブル以外のハフマンテーブルを選択し、ＲＯＭ２６から読み出す。具体的には、制御部５０はＲＯＭ２６が保持する複数のハフマンテーブルで、ステップＳ５０１で読みださなかったハフマンテーブルから１つを選択し、読み出す。ここでは、ステップＳ５０１で読み出したハフマンテーブル以外であれば、ハフマンテーブルの選択方法に制約はないものとする。その後、ステップＳ５０４に処理を進める。
【００４５】
制御部５０は、ステップＳ５０４は、ステップＳ５０３で選択されたハフマンテーブルを用いて、画像処理部２３により画像データ２を符号化する。符号化したデータはメモリコントローラ２５を介してＤＲＡＭ２４等に記録される。具体的には、制御部５０はステップＳ３０３で読み出したハフマンテーブルを用いて、画像処理部２３により画像データ２の符号化処理をするように制御する。さらに圧縮後のデータを、メモリコントローラ２５を介してＤＲＡＭ２４もしくは、さらにＩ／Ｆ１４を介して記録媒体２００に書き出すよう制御するとともに、圧縮後のサイズ情報を取得する。ここで画像データ２はＡ／Ｄコンバータ２２から直接入力してもよいし、ＤＲＡＭ２４に格納されたデータを、メモリコントローラ２５を介して読み出して入力してもよい。その後、ステップＳ５０５に処理を進める。
【００４６】
制御部５０は、ステップＳ５０５は画像データ１の符号化結果と画像データ２の符号化結果を比較する具体的には、ステップＳ５０２で符号化した画像データとステップＳ５０４で符号化した画像データのデータサイズを比較する。ステップＳ５０２で符号化した画像データが、ステップＳ５０４で符号化した画像データのデータサイズよりも小さい場合は、ステップＳ５０６に処理を進める。一方で、ステップＳ５０２で符号化した画像データが、ステップＳ５０４で符号化した画像データのデータサイズよりも大きい場合は、ステップＳ５０７に処理を進める。
【００４７】
制御部５０は、ステップＳ５０６は、ステップＳ５０１で選択されたハフマンテーブルを用いて、画像処理部２３により画像データ３を符号化する。具体的には、制御部５０はステップＳ５０１で読み出したハフマンテーブルを用いて、画像処理部２３により画像データ３の符号化処理をするように制御する。さらに圧縮後のデータを、メモリコントローラ２５を介してＤＲＡＭ２４もしくは、さらにＩ／Ｆ１４を介して記録媒体２００に書き出すよう制御する。その後、ステップＳ５０８に処理を進める。
【００４８】
制御部５０は、ステップＳ５０７は、ステップＳ５０３で選択されたハフマンテーブルを用いて、画像処理部２３により画像データ３を符号化する。具体的には、制御部５０はステップＳ５０３で読み出したハフマンテーブルを用いて、画像処理部２３により画像データ３の符号化処理をするように制御する。さらに圧縮後のデータを、メモリコントローラ２５を介してＤＲＡＭ２４もしくは、さらにＩ／Ｆ１４を介して記録媒体２００に書き出すよう制御する。その後、ステップＳ５０８に処理を進める。
【００４９】
制御部５０は、ステップＳ５０８は、ハフマンテーブル使用回数カウンタ部５１について、画像データ３の圧縮に用いたハフマンテーブルに対応するカウンタをカウントアップするステップである。その後、処理を終了する。
【００５０】
図６はＲＯＭ２６に記録されたハフマンテーブル数が３（それぞれテーブル１、２、３とする）のときのハフマンテーブル選択の例である。ここでは、Ｔ０を処理開始とし、Ｔ０〜Ｔ５において、撮像部２１により１回ずつ撮像をおこなった場合の、ハフマンテーブル使用回数カウンタ部５１の値と、ハフマンテーブル選択部５２によるハフマンテーブル選択結果を示している。つまり、Ｔ０〜Ｔ５のそれぞれにおいて、図５に示したフローチャートの処理を行って、連続的に画像を取得する動作を行う。また、１回の撮影で少なくとも３枚の画像データを取得できるものとする。
【００５１】
以下、図５に示したフローチャートおよび図６に示したハフマンテーブル選択結果に従って画像データ１、画像データ２、および画像データ３を圧縮・符号化する際の動作を説明する。
【００５２】
Ｔ０における撮像の圧縮・符号化では、ハフマンテーブル使用回数カウンタ部５１のカウント値はすべて０である。そこで、制御部５０は、ステップＳ５０１において、ハフマンテーブル選択部５２は、テーブル番号が最も若い、テーブル１を選択したとする。
【００５３】
また、制御部５０は、ステップＳ５０３において、ハフマンテーブル選択部５２は、テーブル番号の若い方を選ぶこととして、テーブル２を選択したとする。
【００５４】
制御部５０は、ステップＳ５０５において、画像データ１の圧縮結果の方が、サイズが小さくなったとして、ステップＳ５０６に進みテーブル１を用いて符号化する。
【００５５】
さらに制御部５０は、ステップＳ５０８に進み、ハフマンテーブル使用回数カウンタ部５１のテーブル１のカウント値を０→１に更新する。
【００５６】
Ｔ１における撮像の圧縮・符号化では、ハフマンテーブル使用回数カウンタ部５１のカウント値は、テーブル１が１である。そこで、制御部５０は、ステップＳ５０１においてハフマンテーブル選択部５２は、ハフマンテーブル使用回数カウンタ部５１のカウント値に応じてテーブル１を選択する。そして、制御部５０は、ステップＳ５０３において、ハフマンテーブル選択部５２は、ステップＳ５０１において選択されなかったテーブル２、３から１つのテーブルを選択する。ここでは未使用のテーブルであるテーブル３を選択したとする。制御部５０は、ステップＳ５０５において画像データ２の圧縮結果の方が、サイズが小さくなったとして、ステップＳ５０７に進みテーブル３を用いて符号化する。制御部５０は、さらにステップＳ５０８に進み、ハフマンテーブル使用回数カウンタ部５１のテーブル３のカウント値を０→１に更新する。
【００５７】
Ｔ２における撮像の圧縮・符号化では、ハフマンテーブル使用回数カウンタ部５１のカウント値は、テーブル１とテーブル３が１である。そこで、制御部５０は、ステップＳ５０１において、ハフマンテーブル選択部５２は、ハフマンテーブル使用回数カウンタ部５１のカウント値が１であるテーブル１とテーブル３から１つのテーブルを選択する。ここではテーブル１を選択したとする。そして、制御部５０は、ステップＳ５０３において、ハフマンテーブル選択部５２は、テーブル３を選択する。ここで、ハフマンテーブル選択部５２は、ハフマンテーブル使用回数カウンタ部５１のカウント値に応じてハフマンテーブルを選択してもよい。制御部５０は、ステップＳ５０７において、画像処理部２３により画像データ３を、テーブル３を用いて符号化する。さらに、制御部５０は、ステップＳ５０８に進み、ハフマンテーブル使用回数カウンタ部５１のテーブル３のカウント値を１→２に更新する。
【００５８】
Ｔ３における撮像の圧縮・符号化では、制御部５０は、ステップＳ５０１でテーブル３を選択、ステップＳ５０３でテーブル２を選択して、画像データ１および画像データ２を符号化する。そしてステップＳ５０５で画像データ２を選択してステップＳ５０７に進み、ステップＳ５０８でハフマンテーブル使用回数カウンタ部５１のテーブル２のカウント値を０→１に更新する。
【００５９】
Ｔ４における撮像の圧縮・符号化では、制御部５０は、ステップＳ５０１でテーブル３を選択、ステップＳ５０３でテーブル１を選択して、画像データ１および画像データ２を符号化する。そしてステップＳ５０５で画像データ２を選択してステップＳ５０７に進み、ステップＳ５０８でハフマンテーブル使用回数カウンタ部５１のテーブル１のカウント値を１→２に更新する。
【００６０】
Ｔ５における撮像の圧縮・符号化では、制御部５０は、ステップＳ５０１でテーブル１を選択、ステップＳ５０３でテーブル３を選択して、画像データ１および画像データ２を符号化する。そしてステップＳ５０５で画像データ１を選択してステップＳ５０６に進み、ステップＳ５０８でハフマンテーブル使用回数カウンタ部５１のテーブル１のカウント値を２→３に更新する。
【００６１】
以降の撮像では、ハフマンテーブル使用回数カウンタ部５１のカウント値を元にステップＳ５０１およびステップＳ５０３でハフマンテーブルを選択し、ステップＳ５０８でハフマンテーブル使用回数カウンタ部５１のカウント値を更新することを繰り返す。
【００６２】
これにより、画像データ１および画像データ２の符号化においても、より効率よく圧縮できる可能性のあるハフマンテーブルを、優先的に選択することが可能となる。
【００６３】
なお、本実施例では、ＲＯＭ２６に記録されたハフマンテーブル数は３だったが、これに限るものではない。また、ハフマンテーブル使用回数カウンタ部５１の初期化は、カメラの電源をオフするときや、ユーザからの指示などに応じて適宜おこなえるものとする。さらに、ハフマンテーブル使用回数カウンタ部５１の初期値は０でもよいし、あらかじめハフマンテーブル毎に設定された任意の値としてもよい。
【００６４】
また、ここで説明した処理フローは、画像データを分割し、分割した単位毎に圧縮・符号化する場合にも適用できる。例えば画像データを３分割する場合は、それぞれを画像データ１、画像データ２、画像データ３として、圧縮・符号化する。また、画像データを４分割する場合は、うち２つを画像データ１、画像データ２とし、残りの２つを画像データ３とするなどして、圧縮・符号化する。
【００６５】
また、ここで説明した処理フローは、撮像時の圧縮・符号化に限らず、ＤＲＡＭ２４に一時記録された画像データを読み出して処理する場合や、記録媒体２００に保存された画像データを読み出して処理する場合にも適用できる。
【００６６】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施例の機能を実現するソフトウエア（プログラム）を、ネットワーク又は各種コンピュータ読取可能記憶媒体を介してシステム或いは装置に提供する。そして、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がコンピュータプログラムを読み出して実行する処理である。
【００６７】
以上、本発明の好ましい実施例について説明したが、本発明はこれらの実施例に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
【符号の説明】
【００６８】
１００  デジタルカメラ
２００  記録媒体
１１  シャッタ
１２  撮像レンズ
１３  表示部
１４  記録媒体２００とのＩ／Ｆ
２１  撮像部
２２  Ａ／Ｄコンバータ
２３  画像処理部
２４  ＤＲＡＭ
２５  メモリコントローラ
２６  ＲＯＭ
２７  Ｄ／Ａコンバータ
３１  シャッタボタン
５０  制御部
【図１】
0006736248.tif 000003
【図２】
0006736248.tif 000004
【図３】
0006736248.tif 000005
【図４】
0006736248.tif 000006
【図５】
0006736248.tif 000007
【図６】
0006736248.tif 000008
【図７】
0006736248.tif 000009
【図８】
0006736248.tif 000010