(57)【特許請求の範囲】
【請求項１】
画像データに対して、ブロック単位で順次、指定された量子化データに基づく圧縮率での圧縮処理を施すとともに、圧縮処理が済んだブロックから順次作業用メモリに転送する圧縮転送手段と、
上記圧縮転送手段によりブロック単位で転送される圧縮済みの画像データの量を計測する計測手段と、
この圧縮転送手段によりブロック単位で転送される画像データの量であり、上記計測手段により計測される画像データの量が予め設定した制限値を越えるか否かを、この圧縮転送手段による上記ブロック単位での圧縮処理および転送処理の実行中において逐次判別する判別手段と、
この判別手段で制限値を越えると判別した時点で、上記圧縮転送手段によって実行中である上記ブロック単位での画像データの転送処理を停止させる停止手段と、
上記停止手段により転送処理を停止させた後も、上記画像データに含まれる全てのブロックの圧縮が完了するまで上記圧縮転送手段による上記圧縮処理を継続して実行させ、上記画像データに含まれる全てのブロックの圧縮が完了した後、圧縮済みの画像データの総量を判定する判定手段と、
上記判別手段により上記制限値を越えると判別された場合に、上記判定手段により判定された圧縮済みの画像データの総量に基づいて前回行なわれた圧縮処理よりも圧縮率が高くなる量子化データを決定し、この決定された量子化データを指定して上記圧縮転送手段による前回と同じ画像データを対象とした上記圧縮処理及び上記転送処理を再実行させる再実行制御手段と、
を具備したことを特徴とする画像データ転送装置。
【請求項２】
上記判別手段は、上記ブロック単位の画像データの転送先である上記作業用メモリ上の指定アドレスが予め設定した制限アドレスを越えるか否かを判断することを特徴とする請求項１記載の画像データ転送装置。
【請求項３】
上記圧縮転送手段により上記ブロック単位で上記作業用メモリに転送される画像データの量をカウントするカウント手段を備え、
上記判別手段は、上記カウント手段によりカウントされるカウント値が予め設定した制限カウント値を越えるか否かを判断することを特徴とする請求項１記載の画像データ転送装置。
【請求項４】
上記判別手段により上記制限値を越えると判別されたか否かの判別結果を通知する通知手段と、
上記通知手段により制限値を越えない旨が通知された場合に、上記圧縮転送手段により転送されて上記作業用メモリに展開記憶されている圧縮処理済みの画像データを保存用メモリに転送して保存する保存手段と
をさらに備えたことを特徴とする請求項１乃至３いずれか記載の画像データ転送装置。
【請求項５】
上記保存手段は、上記通知手段により制限値を越える旨が通知された場合は、上記圧縮処理済みの画像データの保存用メモリへの転送を行なわないことを特徴とする請求項４記載の画像データ転送装置。
【請求項６】
上記作業用メモリは、上記圧縮転送手段により転送される圧縮処理後の画像データを展開記憶する他に、他の画像処理を施す前または後の画像データを展開記憶するためにも兼用されることを特徴とする請求項１乃至５いずれか記載の画像データ転送装置。
【請求項７】
被写体を撮像して画像データを出力する撮像手段と、
この撮像手段から出力されるベイヤーデータ形式の画像データに対して、ブロック単位で順次ＹＵＶデータ形式への変換処理を施すとともに、ＹＵＶデータ形式への変換処理が済んだブロックから順次上記作業用メモリに転送していくＹＵＶ変換転送手段とをさらに備えたことを特徴とする請求項６記載の画像データ転送装置。
【請求項８】
被写体を撮像して画像データを出力する撮像手段と、
上記圧縮転送手段は、上記撮像手段から出力されるとともにブロック単位で順次入力される画像データに対して、該ブロック単位で順次圧縮処理および転送処理を実行することを特徴とする請求項１記載の画像データ転送装置。
【請求項９】
画像データに対して、ブロック単位で順次、指定された量子化データに基づく圧縮率での圧縮処理を施すとともに、圧縮処理が済んだブロックから順次作業用メモリに転送する圧縮転送工程と、
この圧縮転送工程によりブロック単位で転送される圧縮済みの画像データの量を計測する計測工程と、
この圧縮転送工程によりブロック単位で転送する画像データの量であり、上記計測工程により計測される画像データの量が予め設定した制限値を越えるか否かを、この圧縮転送工程による上記ブロック単位での圧縮処理及び転送処理の実行中に逐次判別する判別工程と、
上記判別手段で制限値を越えると判別した時点で、上記圧縮転送工程によって実行中である上記ブロック単位での画像データの転送処理を停止させる停止工程と、
上記停止工程により転送処理を停止させた後も、上記画像データに含まれる全てのブロックの圧縮が完了するまで上記圧縮転送工程による上記圧縮処理を継続して実行させ、上記画像データに含まれる全てのブロックの圧縮が完了した後、圧縮済みの画像データの総量を判定する判定工程と、
上記判別工程により上記制限値を越えると判別された場合に、上記判定工程により判定された圧縮済みの画像データの総量に基づいて前回行なわれた圧縮処理よりも圧縮率が高くなる量子化データを決定し、この決定された量子化データを指定して上記圧縮転送工程による前回と同じ画像データを対象とした上記圧縮工程及び上記転送工程を再実行させる再実行制御工程と、
を有したことを特徴とする画像データ転送方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えばデジタルスチルカメラ等に好適な画像データ転送装置、画像データ転送方法及び撮像装置に関する。
【０００２】
【従来の技術】
近時、パーソナルコンピュータの普及に伴ない、銀塩フィルムを用いた銀塩カメラに代わって、撮影により得たデジタル値の画像データをメモリカードに記録するデジタルスチルカメラも広く一般に普及しつつある。
【０００３】
図５はこの種のデジタルスチルカメラの一部回路構成を例示するものである。
同図で、光学レンズ系１１により得られた被写体の光像が、撮像素子であるＣＣＤ１２に結像される。
【０００４】
このＣＣＤ１２は、例えば原色ベイヤー配列のカラーフィルタを撮像面上に一体に形成しており、撮像により得られたカラー画像データ（以下「ベイヤーデータ」と略称する）は、サンプルホールド回路（Ｓ／Ｈ）１３で順次サンプルホールドされた後にＡ／Ｄ変換器１４でデジタル化され、ライン処理部１５に送出される。
【０００５】
このライン処理部１５は、順次送られてくるベイヤーデータをライン単位で取り纏めるもので、纏められたライン単位のベイヤーデータが第１転送部１６によりバッファメモリでなるメモリ１７に転送されて展開記憶される。
【０００６】
しかして、メモリ１７上に必要なライン数分のベイヤーデータが展開された時点で、これが第２転送部１８によりＹＵＶ変換部１９にブロック単位で読出される。
【０００７】
このＹＵＶ変換部１９は、補間処理や色空間処理を施して原色系のベイヤーデータを輝度色差系のカラー画像データであるＹＵＶデータに変換するもので、こうして得られたＹＵＶデータは、スイッチ（ＳＷ）２０を介してＪＰＥＧ処理部２１へ送出される一方、スイッチ２２を介して第３転送部２３により上記メモリ１７に展開記憶される。
【０００８】
このメモリ１７に展開記憶されたＹＵＶデータは、第４転送部２４により表示制御部２５に転送され、この表示制御部２５でアナログのビデオ出力信号が作成される他、液晶モニタ表示用の信号が作成されてそれぞれ出力される。
【０００９】
また、ＪＰＥＧ処理部２１では、スイッチ２０を介してＹＵＶ変換部１９から送られてきたＹＵＶデータに基づいてＡＤＣＴ（差分離散コサイン変換）処理、ハフマン符号化等のデータ圧縮処理を施して、データ量を大幅に減じたコード化したＪＰＥＧデータを得るもので、こうして得られたＪＰＥＧデータは第５転送部２６によりメモリ１７に展開記憶される。
【００１０】
そして、このメモリ１７に展開記憶されたＪＰＥＧデータは、記録媒体としてのメモリカードに記録される。
【００１１】
また一方、再生モード時に該メモリカードから読出されてきたＪＰＥＧデータは、メモリ１７に記憶された後に第６転送部２７により読出され、再度ＪＰＥＧ処理部２１に転送されて元のＹＵＶデータに復元され、上記スイッチ２２を介して第３転送部２３によりメモリ１７に転送されて記憶された後、第４転送部２４により表示制御部２５へ供される。
【００１２】
しかるに、上記各回路の動作はすべてＣＰＵを含むシステムコントローラ２８により統括制御されるもので、このシステムコントローラ２８の動作制御は、シャッタスイッチやモードキー等を含むキー入力部２９から直接入力されるキー操作信号に対応して実行される。
【００１３】
【発明が解決しようとする課題】
上記図５に示したような構成にあって、上記ＪＰＥＧ処理部２１が、スイッチ２０を介してＹＵＶ変換部１９から送られてきたＹＵＶデータに基づいてデータ圧縮処理を施してコード化したＪＰＥＧデータを得、得たＪＰＥＧデータを第５転送部２６によりメモリ１７に展開記憶させる際、画像１枚分に相当するすべてのＪＰＥＧデータをメモリ１７に展開記憶させた後でなければ、そのＪＰＥＧデータの総容量を知ることができない。
【００１４】
そのため、ＪＰＥＧ処理部２１で使用する量子化テーブルをコントロールして、生成後のＪＰＥＧデータをあるターゲットとなるデータ量以下に抑えようとした場合に、従来では一旦データ圧縮処理を施してコード化したＪＰＥＧデータを得、得たＪＰＥＧデータを第５転送部２６によりメモリ１７にひと通り展開記憶させた後に総データ量を計測し、画像の高周波成分が予想以上に大きい場合など、計測したデータ量がターゲットとなるデータ量を越えていた際には、再度量子化テーブルを可変設定した後にデータ圧縮処理をやり直す、という工程を経ていた。
【００１５】
したがって、データ圧縮処理に多大な時間を要する可能性があるだけでなく、メモリ１７のＪＰＥＧデータを記憶する領域としては、ターゲットとなるデータ量に対して例えば１．５倍から２倍程度のマージンを有した容量を確保しておく必要があり、メモリ１７の容量を有効に活用とするという点でも不具合があった。
【００１６】
本発明は上記のような実情に鑑みてなされたもので、その目的とするところは、メモリを有効活用することが可能な画像データ転送装置、画像データ転送方法及び撮像装置を提供することにある。
【００１７】
【課題を解決するための手段】
請求項１記載の発明は、画像データに対して、ブロック単位で順次、指定された量子化データに基づく圧縮率での圧縮処理を施すとともに、圧縮処理が済んだブロックから順次作業用メモリに転送する圧縮転送手段と、上記圧縮転送手段によりブロック単位で転送される圧縮済みの画像データの量を計測する計測手段と、この圧縮転送手段によりブロック単位で転送される画像データの量であり、上記計測手段により計測される画像データの量が予め設定した制限値を越えるか否かを、この圧縮転送手段による上記ブロック単位での圧縮処理および転送処理の実行中において逐次判別する判別手段と、この判別手段で制限値を越えると判別した時点で、上記圧縮転送手段によって実行中である上記ブロック単位での画像データの転送処理を停止させる停止手段と、上記停止手段により転送処理を停止させた後も、上記画像データに含まれる全てのブロックの圧縮が完了するまで上記圧縮転送手段による上記圧縮処理を継続して実行させ、上記画像データに含まれる全てのブロックの圧縮が完了した後、圧縮済みの画像データの総量を判定する判定手段と、上記判別手段により上記制限値を越えると判別された場合に、上記判定手段により判定された圧縮済みの画像データの総量に基づいて前回行なわれた圧縮処理よりも圧縮率が高くなる量子化データを決定し、この決定された量子化データを指定して上記圧縮転送手段による前回と同じ画像データを対象とした上記圧縮処理及び上記転送処理を再実行させる再実行制御手段と、を具備したことを特徴とする。
【００１８】
このような構成とすれば、メモリに転送する画像データの量が制限値を越えたと判別した時点で直ちにメモリへの転送を停止し、その旨を上記処理回路の動作を司る制御系に通知するため、新たな圧縮率で処理回路によるデータ圧縮処理を早いタイミングで開始させることができ、処理時間を無駄に浪費することなく、制限値の容量しか持たないメモリに確実にデータ圧縮を施した画像データを転送することが可能となる。
【００２１】
請求項２記載の発明は、上記請求項１記載の発明において、上記判別手段は、上記ブロック単位の画像データの転送先である上記作業用メモリ上の指定アドレスが予め設定した制限アドレスを越えるか否かを判断することを特徴とする。
【００２２】
このような構成とすれば、上記請求項１記載の発明の作用に加えて、転送時に記憶先を指定するアドレスにより、制限されているデータ量を越えるか否かを判別することで、データ量の超過を容易に判別することができる。
【００２３】
請求項３記載の発明は、上記請求項１記載の発明において、上記圧縮転送手段により上記ブロック単位で上記作業用メモリに転送される画像データの量をカウントするカウント手段を備え、上記判別手段は、上記カウント手段によりカウントされるカウント値が予め設定した制限カウント値を越えるか否かを判断することを特徴とする。
【００２４】
このような構成とすれば、上記請求項１記載の発明の作用に加えて、転送する画像データの量を直接カウントすることにより、制限されているデータ量を越えるか否かを判別することで、データ量の超過を容易に判別することができる。
【００２６】
請求項４記載の発明は、上記請求項１乃至３いずれか記載の発明において、上記判別手段により上記制限値を越えると判別されたか否かの判別結果を通知する通知手段と、上記通知手段により制限値を越えない旨が通知された場合に、上記圧縮転送手段により転送されて上記作業用メモリに展開記憶されている圧縮処理済みの画像データを保存用メモリに転送して保存する保存手段とをさらに備えたことを特徴とする。
請求項５記載の発明は、上記請求項４記載の発明において、上記保存手段は、上記通知手段により制限値を越える旨が通知された場合は、上記圧縮処理済みの画像データの保存用メモリへの転送を行なわないことを特徴とする。
請求項６記載の発明は、上記請求項１乃至５いずれか記載の発明において、上記作業用メモリは、上記圧縮転送手段により転送される圧縮処理後の画像データを展開記憶する他に、他の画像処理を施す前または後の画像データを展開記憶するためにも兼用されることを特徴とする。
請求項７記載の発明は、上記請求項６記載の発明において、被写体を撮像して画像データを出力する撮像手段と、この撮像手段から出力されるベイヤーデータ形式の画像データに対して、ブロック単位で順次ＹＵＶデータ形式への変換処理を施すとともに、ＹＵＶデータ形式への変換処理が済んだブロックから順次上記作業用メモリに転送していくＹＵＶ変換転送手段とをさらに備えたことを特徴とする。
請求項８記載の発明は、上記請求項１記載の発明において、被写体を撮像して画像データを出力する撮像手段と、上記圧縮転送手段は、上記撮像手段から出力されるとともにブロック単位で順次入力される画像データに対して、該ブロック単位で順次圧縮処理および転送処理を実行することを特徴とする。
【００２７】
請求項９記載の発明は、画像データに対して、ブロック単位で順次、指定された量子化データに基づく圧縮率での圧縮処理を施すとともに、圧縮処理が済んだブロックから順次作業用メモリに転送する圧縮転送工程と、この圧縮転送工程によりブロック単位で転送される圧縮済みの画像データの量を計測する計測工程と、この圧縮転送工程によりブロック単位で転送する画像データの量であり、上記計測工程により計測される画像データの量が予め設定した制限値を越えるか否かを、この圧縮転送工程による上記ブロック単位での圧縮処理及び転送処理の実行中に逐次判別する判別工程と、上記判別手段で制限値を越えると判別した時点で、上記圧縮転送工程によって実行中である上記ブロック単位での画像データの転送処理を停止させる停止工程と、上記停止工程により転送処理を停止させた後も、上記画像データに含まれる全てのブロックの圧縮が完了するまで上記圧縮転送工程による上記圧縮処理を継続して実行させ、上記画像データに含まれる全てのブロックの圧縮が完了した後、圧縮済みの画像データの総量を判定する判定工程と、上記判別工程により上記制限値を越えると判別された場合に、上記判定工程により判定された圧縮済みの画像データの総量に基づいて前回行なわれた圧縮処理よりも圧縮率が高くなる量子化データを決定し、この決定された量子化データを指定して上記圧縮転送工程による前回と同じ画像データを対象とした上記圧縮工程及び上記転送工程を再実行させる再実行制御工程と、を有したことを特徴とする。
【００２８】
このような方法とすれば、メモリに転送する画像データの量が制限値を越えたと判別した時点で直ちにメモリへの転送を停止し、その旨を上記処理回路の動作を司る制御系に通知するため、新たな圧縮率で処理回路によるデータ圧縮処理を早いタイミングで開始させることができ、処理時間を無駄に浪費することなく、制限値の容量しか持たないメモリに確実にデータ圧縮を施した画像データを転送することが可能となる。
【００３１】
【発明の実施の形態】
以下本発明をデジタルスチルカメラに適用した場合の実施の一形態について図面を参照して説明する。
【００３２】
なお、全体の基本的な回路構成については上記図５で説明したものとほぼ同様であるものとし、同一部分には同一符号を用いてその図示及び説明は省略することとする。
【００３３】
図１は、特にＪＰＥＧ処理部２１と第５転送部２６′、及びメモリ１７のみを取出して示すものである。同図で、ＤＭＡコントローラ（ＤＭＡＣ）で構成される第５転送部２６′は、撮影時にＪＰＥＧ処理部２１から送られてくるＪＰＥＧデータをメモリ１７に転送するにあたって、メモリ１７にアドレスの指定、書込みイネーブル信号等のコントロール信号と併せてデータを送受するもので、後述する転送ベースアドレスレジスタ、リミットアドレスレジスタ、転送アドレスレジスタ、全データ入力カウンタ、データ出力カウンタ、及びデータオーバーフラグレジスタを有するものとする。
【００３４】
次に上記実施の形態の動作について説明する。
【００３５】
図２は、主としてシステムコントローラ２８′が実施する静止画像撮影時全般の処理内容を示すものである。その当初にシステムコントローラ２８′は、キー入力部２９のシャッタスイッチがオンされたか否かを繰返し判断することで、その操作を待機する（ステップＡ０１）。
【００３６】
そして、シャッタスイッチがオンされたと判断した時点で、ＡＥ（自動露光）処理）、ＡＦ（自動合焦）処理に続いて撮影処理としてＣＣＤ１２にて１画面分の画像（ベイヤー）データを取込む（ステップＡ０２）。
【００３７】
取込まれたベイヤーデータはサンプルホールド回路１３、Ａ／Ｄ変換器１４を介してデジタル化され、ライン処理部１５でライン単位に取纏められて第１転送部１６によりメモリ１７に展開記憶される（ステップＡ０３）。
【００３８】
ここでシステムコントローラ２８′は、１画面分のベイヤーデータがメモリ１７に展開記憶されたか否かを判断し（ステップＡ０４）、まだであればステップＡ０２からの処理を繰返し実行する。
【００３９】
そして、ステップＡ０４でメモリ１７上に１画面分のベイヤーデータが展開記憶された時点でシステムコントローラ２８′はこれを判断し、今度は第２転送部１８によるメモリ１７からＹＵＶ変換部１９へのブロック単位でのベイヤーデータの読出転送処理を実行し（ステップＡ０５）、順次ベイヤーデータからＹＵＶデータへの変換を実行させる。
【００４０】
このときＹＵＶ変換部１９では、順次送られてくるベイヤーデータをＹＵＶデータに変換し、スイッチ２０を介してＪＰＥＧ処理部２１へ送出するもので、ＪＰＥＧ処理部２１ではこのＹＵＶデータにシステムコントローラ２８′から与えられる量子化データに基づいた圧縮率で即時データ圧縮を施してＪＰＥＧデータを生成し、第５転送部２６′によりメモリ１７へ転送記憶させる。
【００４１】
しかるにシステムコントローラ２８′は、第２転送部１８が１画面分のベイヤーデータをすべてメモリ１７から読出してＹＵＶ変換部１９へ転送したか否かを判断し（ステップＡ０６）、まだであればステップＡ０５からの処理を繰返し実行する。
【００４２】
こうしてステップＡ０６で１画面分のベイヤーデータがすべて第２転送部１８によりメモリ１７から読出され、ＹＵＶ変換部１９へ転送されてＹＵＶデータに変換させたと判断した後、システムコントローラ２８′は次に第５転送部２６からデータオーバーフラグを読込む（ステップＡ０７）。
【００４３】
これは、上記１画面分のＹＵＶデータの最後のブロックがスイッチ２０を介してＪＰＥＧ処理部２１でデータ圧縮されて対応するＪＰＥＧデータが生成され、適宜第５転送部２６′へ読出された後のタイミングで実行されるものであり、その読出されたデータオーバーフラグの内容が“１”であるか否かにより、ＪＰＥＧ処理部２１がデータ圧縮を施して生成した１画面分のＪＰＥＧデータが、メモリ１７に予め用意している所定のデータ量を越えずにすべてメモリ１７に転送されたか否かを判断する（ステップＡ０８）。
【００４４】
これは、後述する第５転送部２６′の詳細な処理内容に対応してシステムコントローラ２８′が実行するものであり、第５転送部２６′から読込む該データオーバーフラグが“１”ではなく“０”であった場合には、ＪＰＥＧ処理部２１でのデータ圧縮により生成された１画面分のＪＰＥＧデータが所定のデータ量を越えずにすべてメモリ１７に転送されたものと判断して、メモリ１７に記憶されたＪＰＥＧデータがそのまま記録媒体であるメモリカードに転送されて記録される（ステップＡ０９）。
【００４５】
また、ステップＡ０８で第５転送部２６′から読込む該データオーバーフラグが“１”であり、ＪＰＥＧ処理部２１でのデータ圧縮により生成された１画面分のＪＰＥＧデータが所定のデータ量を越えてメモリ１７上に設けられた所定のデータ量のＪＰＥＧデータを記憶するための転送領域に記憶しきれないものと判断した場合には、次いで第５転送部２６′からこれも後述する全データ入力カウンタのカウント値を読込み（ステップＡ１０）、そのカウント値で表わされる１画面分のＪＰＥＧデータの総量に基づいて新たなデータ圧縮率を指示するための量子化テーブルを決定し、これをＪＰＥＧ処理部２１に設定した上で（ステップＡ１１）、再び上記ステップＡ０５からの処理に戻る。
【００４６】
図３は、主として上記図１で示した第５転送部２６′によりＪＰＥＧ処理部２１からＪＰＥＧデータを読出してメモリ１７に転送記憶させる際の処理内容を例示するものである。
【００４７】
その当初には、上記図２のステップＡ０５でのベイヤーデータの読出しが開始されるのに同期してシステムコントローラ２８′が、この第５転送部２６′に対しメモリ１７上にＪＰＥＧデータを転送記憶させる際のメモリ１７の先頭アドレスを表わす転送ベースアドレスの設定処理を実行し（ステップＢ０１）、続いて同じくメモリ１７上にＪＰＥＧデータを転送記憶させる際のメモリ１７の末尾アドレスを表わすリミットアドレスの設定処理を実行した上で（ステップＢ０２）、該転送処理の開始を指示する（ステップＢ０３）。なお、この場合、各アドレスは１バイト単位であるものとする。
【００４８】
この指示を受けた第５転送部２６′は、まず初期設定として、転送アドレスとして上記先頭アドレスである転送ベースアドレスを転送先のアドレスに指定した上で（ステップＢ０４）、ＪＰＥＧ処理部２１から入力する１画面分全てのＪＰＥＧデータのデータ量をカウントする全データ入力カウンタの値をクリアして“０”とし（ステップＢ０５）、併せてシステムコントローラ２８′に通知するデータオーバーフラグにフラグ“０”をセットする（ステップＢ０６）。
【００４９】
その後、ＪＰＥＧ処理部２１からＪＰＥＧデータを１バイト入力し（ステップＢ０７）、上記全データ入力カウンタのカウント値を「＋１」更新設定した上で（ステップＢ０８）、転送アドレスがリミットアドレスを越えているか否かにより、メモリ１７へ出力するＪＰＥＧデータの総量が予め設定された量を越えたか否かを判断する（ステップＢ０９）。
【００５０】
ここで、転送アドレスがリミットアドレスを越えておらず、メモリ１７へ出力するＪＰＥＧデータの総量が予め設定された量を越えていないと判断すると、上記ステップＢ０７でＪＰＥＧ処理部２１から入力したＪＰＥＧデータ１バイトをメモリ１７の転送アドレスで指定されるアドレス位置に出力して記憶させ（ステップＢ１０）、その後に転送アドレスを「＋１」更新設定してから（ステップＢ１１）、ＪＰＥＧ処理部２１からまだＪＰＥＧデータの入力があることを確認して（ステップＢ１２）、再び上記ステップＢ０７からの処理に戻る。
【００５１】
こうしてステップＢ０７〜Ｂ１２の処理を繰返し実行することにより、第５転送部２６′はＪＰＥＧ処理部２１からＪＰＥＧデータを１バイトずつ入力してメモリ１７に転送し、記憶させていく。この間、転送アドレスと全データ入力カウンタのカウント値を順次「＋１」ずつ更新設定していくことになる。
【００５２】
しかして、転送アドレスの値がリミットアドレスの値を越える前にステップＢ１２でＪＰＥＧ処理部２１から入力するＪＰＥＧデータがもうないと判断した場合、すなわち、予めメモリ１７に設定されたＪＰＥＧデータの転送領域の範囲内に１画面分のＪＰＥＧデータを全て転送して記憶させることができた場合には、以上でこの図３の一連の処理を終了し、次の１画面分のＪＰＥＧデータの転送に備えるべく再び上記ステップＢ０１からの処理に戻る。
【００５３】
この場合、システムコントローラ２８′に通知するデータオーバーフラグは“０”のままであるので、上記図２の処理ではステップＡ０８でこれが判断され、ステップＡ０９においてメモリ１７に転送記憶されている１画面分のＪＰＥＧデータがそのまま記録媒体であるメモリカードに記録されることとなる。
【００５４】
また、ステップＢ１２でＪＰＥＧ処理部２１から入力するＪＰＥＧデータがもうないと判断する前に、ステップＢ０９で転送アドレスの値がリミットアドレスの値を越えたと判断した場合、すなわち、予めメモリ１７に設定されたＪＰＥＧデータの転送領域の範囲内に１画面分のＪＰＥＧデータを全て転送して記憶させることができないと判断した場合には、ここでＪＰＥＧデータのメモリ１７への転送出力及び転送アドレスの更新設定を停止して、システムコントローラ２８′に通知するデータオーバーフラグに“１”をセットし（ステップＢ１３）、以後ステップＢ１２でＪＰＥＧ処理部２１から入力するＪＰＥＧデータがもうないと判断するまで、ステップＢ０７〜Ｂ０９，Ｂ１３，Ｂ１２の処理を繰返し実行する。
【００５５】
これにより、メモリ１７へのＪＰＥＧデータの転送記憶は停止しながらも、ＪＰＥＧ処理部２１からのＪＰＥＧデータの入力とそれに伴なう全データ入力カウンタでのカウント動作は続行する。
【００５６】
そして、ステップＢ１２でスイッチ２０から入力するＪＰＥＧデータがもうないと判断した時点で、以上でこの図３の一連の処理を一旦終了し、再度圧縮率を変えてデータ圧縮した同一画面分のＪＰＥＧデータを始めからメモリ１７へ転送記憶させるべく、再び上記ステップＢ０１からの処理に戻る。
【００５７】
この場合、システムコントローラ２８′に通知するデータオーバーフラグは“１”となっているので、上記図２の処理ではステップＡ０８でこれが判断され、ステップＡ１０，Ａ１１において全データ入力カウンタのカウント値をシステムコントローラ２８′が読込み、そのデータ量に対応した新たなデータ圧縮率の量子化テーブルが設定されてＪＰＥＧ処理部２１でのデータ圧縮処理が再実行されることとなる。
【００５８】
このように、メモリ１７に転送し記憶させるＪＰＥＧデータの量が予め設定された制限値を越えたことを判断した時点でメモリ１７への転送を停止し、その旨をデータオーバーフラグによりシステムコントローラ２８′に通知する。
【００５９】
そのため、メモリ使用量の抑制及び制限値を越えたことを判断した後のメモリ１７へのＪＰＥＧデータの書き込み処理の排除を実現しつつ、量子化テーブルを書換えて新たな圧縮率でＪＰＥＧ処理部２１によるＪＰＥＧ処理を開始させることができ、制限値の容量しか持たないメモリ１７に確実にデータ圧縮を施したＪＰＥＧデータを転送して記憶させることが可能となる。
【００６０】
その際、メモリ１７に転送して記憶させるＪＰＥＧデータの量が制限値を越えるか否かの判断結果に関係なくＪＰＥＧ処理部２１から入力されるＪＰＥＧデータの総量を全データ入力カウンタによりカウントしている。
【００６１】
したがって、メモリ１７に記憶できる制限値を越えたと判別されたＪＰＥＧデータが全体でどの程度のデータ量であるのかを正確に認識して、ＪＰＥＧ処理部２１で次にデータ量が制限値を越えることのないようにＹＵＶデータをＪＰＥＧ処理する際の圧縮率を正確に算出することができる。
【００６２】
加えて、上記実施の形態では、メモリ１７に転送して記憶させるＪＰＥＧデータの量が予め設定した制限量を越えるか否かを、メモリ１７に転送して記憶させるＪＰＥＧデータの指定アドレスがリミットアドレスを越えたか否かにより判断するものとしたので、データ量の超過を容易に判別することができる。
【００６３】
なお、上記図３では、第５転送部２６′がメモリ１７に転送して記憶させるＪＰＥＧデータの量が制限値を越えるか否かを、その転送アドレスとリミットアドレスの関係において判断するものとして説明したが、これに限らず、ＪＰＥＧ処理部２１から入力したＪＰＥＧデータの量をカウントする全データ入力カウンタの他に、メモリ１７へ出力する出力カウンタを用いてカウントすることでその制限値となったか否かを判断するものとしてもよい。
【００６４】
図４は、そのようにして主として上記図１で示した第５転送部２６′によりＪＰＥＧ処理部２１からＪＰＥＧデータを読出してメモリ１７に転送記憶させる際の他の処理内容を例示するものである。
【００６５】
その当初には、上記図２のステップＡ０５でのベイヤーデータの読出しが開始されるのに同期してシステムコントローラ２８′が、この第５転送部２６′に対しメモリ１７上にＪＰＥＧデータを転送記憶させる際の先頭アドレスを表わす転送ベースアドレスの設定処理を実行し（ステップＣ０１）、続いてメモリ１７上にＪＰＥＧデータを転送記憶させる際のデータ量をカウントする出力カウンタのリミットカウント値を設定した上で（ステップＣ０２）、該転送処理の開始を指示する（ステップＣ０３）。なお、この場合も各アドレスは１バイト単位であるものとする。
【００６６】
この指示を受けた第５転送部２６′は、まず初期設定として、転送アドレスとして上記先頭アドレスである転送ベースアドレスを転送先のアドレスに指定した上で（ステップＣ０４）、上記出力カウンタの値をクリアして“０”とし（ステップＣ０５）、併せてＪＰＥＧ処理部２１から入力する１画面分全てのＪＰＥＧデータのデータ量をカウントする全データ入力カウンタの値もクリアして“０”とし（ステップＣ０６）、加えてシステムコントローラ２８′に通知するデータオーバーフラグにフラグ“０”をセットする（ステップＣ０７）。
【００６７】
その後、ＪＰＥＧ処理部２１からＪＰＥＧデータを１バイト入力し（ステップＣ０８）、上記全データ入力カウンタのカウント値を「＋１」更新設定した上で（ステップＣ０９）、出力カウンタのカウント値がリミットカウント値より小さな値となっているか否かにより、メモリ１７へ出力したＪＰＥＧデータの総量が予め設定された量未満であるか否かを判断する（ステップＣ１０）。
【００６８】
ここで、出力カウンタのカウント値がリミットカウント値に達しておらず、メモリ１７へ出力したＪＰＥＧデータの総量が予め設定された量未満であると判断すると、上記ステップＣ０８でＪＰＥＧ処理部２１から入力したＪＰＥＧデータ１バイトをメモリ１７の転送アドレスで指定されるアドレス位置に出力して記憶させ（ステップＣ１１）、その後に転送アドレスを「＋１」更新設定し（ステップＣ１２）、同時に出力カウンタのカウント値も「＋１」更新設定してから（ステップＣ１３）、ＪＰＥＧ処理部２１からまだＪＰＥＧデータの入力があることを確認して（ステップＣ１４）、再び上記ステップＣ０８からの処理に戻る。
【００６９】
こうしてステップＣ０８〜Ｃ１４の処理を繰返し実行することにより、第５転送部２６′はＪＰＥＧ処理部２１からＪＰＥＧデータを１バイトずつ入力してメモリ１７に転送し、記憶させていく。この間、転送アドレスと、全データ入力カウンタ及び出力カウンタの各カウント値を順次「＋１」ずつ更新設定していくことになる。
【００７０】
しかして、出力カウンタのカウント値がリミットカウント値と等しくなる前にステップＣ１４でＪＰＥＧ処理部２１から入力するＪＰＥＧデータがもうないと判断した場合、すなわち、予めメモリ１７に設定されたＪＰＥＧデータの転送領域の範囲内に１画面分のＪＰＥＧデータを全て転送して記憶させることができた場合には、以上でこの図４の一連の処理を終了し、次の１画面分のＪＰＥＧデータの転送に備えるべく再び上記ステップＣ０１からの処理に戻る。
【００７１】
この場合、システムコントローラ２８′に通知するデータオーバーフラグは“０”のままであるので、上記図２の処理ではステップＡ０８でこれが判断され、ステップＡ０９においてメモリ１７に転送記憶されている１画面分のＪＰＥＧデータがそのまま記録媒体であるメモリカードに記録されることとなる。
【００７２】
また、ステップＣ１４でＪＰＥＧ処理部２１から入力するＪＰＥＧデータがもうないと判断する前に、ステップＣ１０で出力カウンタのカウント値がリミットカウント値と等しくなったと判断した場合、すなわち、予めメモリ１７に設定されたＪＰＥＧデータの転送領域の範囲内に１画面分のＪＰＥＧデータを全て転送して記憶させることができないと判断した場合には、ここでＪＰＥＧデータのメモリ１７への転送出力、転送アドレス及び出力カウンタの更新設定を停止して、システムコントローラ２８′に通知するデータオーバーフラグに“１”をセットし（ステップＣ１５）、以後ステップＣ１４でＪＰＥＧ処理部２１から入力するＪＰＥＧデータがもうないと判断するまで、ステップＣ０８〜Ｃ１０，Ｃ１５，Ｃ１４の処理を繰返し実行する。
【００７３】
これにより、メモリ１７へのＪＰＥＧデータの転送記憶は停止しながらも、ＪＰＥＧ処理部２１からのＪＰＥＧデータの入力とそれに伴なう全データ入力カウンタでのカウント動作は続行する。
【００７４】
そして、ステップＣ１４でスイッチ２０から入力するＪＰＥＧデータがもうないと判断した時点で、以上でこの図４の一連の処理を一旦終了し、再度圧縮率を変えてデータ圧縮した同一画面分のＪＰＥＧデータを始めからメモリ１７へ転送記憶させるべく、再び上記ステップＣ０１からの処理に戻る。
【００７５】
この場合、システムコントローラ２８′に通知するデータオーバーフラグは“１”となっているので、上記図２の処理ではステップＡ０８でこれが判断され、ステップＡ１０，Ａ１１において全データ入力カウンタのカウント値をシステムコントローラ２８′が読込み、そのデータ量に対応した新たなデータ圧縮率の量子化テーブルが設定されてＪＰＥＧ処理部２１でのデータ圧縮処理が再実行されることとなる。
【００７６】
このように、メモリ１７に転送して記憶させるＪＰＥＧデータの量が予め設定した制限量を越えるか否かを、メモリ１７に転送して記憶させるＪＰＥＧデータを直接カウントし、そのカウント値が予め設定した制限カウント値を越えるか否かにより判断するものとしているので、データ量の超過を容易に判別することができる。
【００７７】
なお、上記図４では出力カウンタを設け、このカウント値が予め設定した制限カウント値を越えるか否かを判断するようにしたが、出力カウンタを設けずに全データ入力カウンタのカウント値が予め設定した制限カウント値を越えるか否かを判断することにより、メモリ１７に転送して記憶させるＪＰＥＧデータの量が予め設定した制限量を越えるか否かを判断するようにしてもよい。
【００７８】
また、上記図２〜図４では第５転送部２６′にデータオーバーフラグを設けてシステムコントローラ２８′がこれを読込むようにしたが、データオーバーフラグを設けずに、メモリ１７に転送して記憶させるＪＰＥＧデータの量が予め設定した制限量を越えたと判断した時点で、能動的にその旨を示す信号をシステムコントローラ２８′に出力するようにしてもよい。
【００７９】
また、上記図２のステップＡ１０，Ａ１１では、第５転送部２６′から全データ入力カウンタのカウント値を読込むことにより、次にメモリ１７に転送して記憶させるＪＰＥＧデータの圧縮率を算出するものとしたが、予め段階的な複数のデータ圧縮率に基づく量子化テーブルを用意しておき、ＪＰＥＧ処理部２１でデータ圧縮した１画面分のＪＰＥＧデータのデータ量がメモリ１７に記憶させる制限値を越えるものと判断した場合には、より高いデータ圧縮率に基づく量子化テーブルを用いて再度ＪＰＥＧ処理部２１でデータ圧縮するものとしてもよい。
【００８０】
その場合、上記図３で示したように転送先のメモリ１７の指定アドレスがリミットアドレスを越えたかどうかによりメモリ１７の制限値を越えるかどうかを判断するものとすれば、図３、図４で説明したような全データ入力カウンタを用いる必要がなく、第５転送部２６′の構成をより簡略化することができる。
【００８１】
また、メモリ１７の制限値を越えたと判断した時点で図３、図４に示した処理、ベイヤーデータの読み出し転送処理及びＪＰＥＧ処理部２１によるデータ圧縮処理を中断して、より高いデータ圧縮率に基づく再圧縮処理を開始することができるので画像データ処理時間を大幅に短縮させることができる。
【００８２】
なお、上記実施の形態では、デジタルスチルカメラで、撮像により得た画像データに対し、ＪＰＥＧ処理部２１でデータ圧縮したＪＰＥＧデータを第５転送部２６′がメモリ１７に転送して記憶させる場合について説明したものであるが、本発明はこれに限るものではなく、圧縮率を可変してデータ圧縮を施した画像データをメモリに転送して記憶させるような画像データ転送システムあるいはそれに類する装置などであれば、例えばデジタルビデオ（ムービー）カメラや、簡易デジタルカメラを組込み、あるいは接続することが可能な携帯電話機に備える画像データ処理回路系に適用可能であることは勿論である。
【００８３】
その他、本発明は上記実施の形態に限らず、その要旨を逸脱しない範囲内で種々変形して実施することが可能であるものとする。
【００８４】
さらに、上記実施の形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組合わせにより種々の発明が抽出され得る。例えば、実施の形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題の少なくとも１つが解決でき、発明の効果の欄で述べられている効果の少なくとも１つが得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【００８５】
【発明の効果】
請求項１記載の発明によれば、メモリに転送する画像データの量が制限値を越えたと判別した時点で直ちにメモリへの転送を停止し、新たな圧縮率で処理回路によるデータ圧縮処理を早いタイミングで開始させることができ、処理時間を無駄に浪費することなく、制限値の容量しか持たないメモリに確実にデータ圧縮を施した画像データを転送することが可能となる。
【００８６】
更に、転送処理を停止させた後も、画像データに含まれる全てのブロックの圧縮が完了するまで圧縮処理を継続して実行させ、画像データに含まれる全てのブロックの圧縮が完了した後、圧縮済みの画像データの総量を判定するので、新たな圧縮率によるデータ圧縮処理において、データ量が制限値を越えることのないように圧縮率を正確に算出することができる。
【図面の簡単な説明】
【図１】本発明の実施の一形態に係る回路構成を示すブロック図。
【図２】同実施の形態に係る画像撮影時全体の処理内容を示すフローチャート。
【図３】同実施の形態に係る主として第５転送部での処理内容を示すフローチャート。
【図４】同実施の形態に係る主として第５転送部での他の処理内容を示すフローチャート。
【図５】一般的なデジタルスチルカメラの一部回路構成を示すブロック図。
【符号の説明】
１１…光学レンズ系
１２…ＣＣＤ
１３…サンプルホールド回路（Ｓ／Ｈ）
１４…Ａ／Ｄ変換器（Ａ／Ｄ）
１５…ライン処理部
１６…第１転送部
１７…メモリ
１８…第２転送部
１９…ＹＵＶ変換部
２０…スイッチ（ＳＷ）
２１…ＪＰＥＧ処理部
２２…スイッチ（ＳＷ）
２３…第３転送部
２４…第４転送部
２５…表示制御部
２６，２６′…第５転送部
２７…第６転送部
２８，２８′…システムコントローラ
２９…キー入力部
【図１】
0004610821.tif 000002
【図２】
0004610821.tif 000003
【図３】
0004610821.tif 000004
【図４】
0004610821.tif 000005
【図５】
0004610821.tif 000006