(57)【特許請求の範囲】
【請求項１】
被写体像の撮影により得られた画像データのメモリ上でのアドレスを、１ラインの実画像データと無効画素データとから構成される第１画素数の画素列データの単位でリンクドリストによって管理する管理手段と、
前記メモリから前記実画像データを読み出してフィルタ処理を施す信号処理手段と、
前記信号処理手段により処理された実画像データのうちフィルタ処理により無効化される１ラインの両端の実画像データを除いた有効実画像データを、前記実画像データを読み出したアドレスに上書きする書込手段と、を有し、
前記管理手段は、前記有効実画像データと無効化された実画像データに対応する第２画素数の分だけ増加させた前記無効画素データとから構成される前記第１画素数の画素列データを、再度、前記リンクドリストとして管理することを特徴とする画像処理装置。
【請求項２】
前記信号処理手段は、前記１ラインの実画像データを分割した複数の分割実画像データの単位で前記フィルタ処理を行い、前記書込手段は、前記信号処理手段により処理された複数の分割実画像データを、前記１ラインの実画像データを読み出したアドレスにおいて連続するように上書きすることを特徴とする請求項１の画像処理装置。
【請求項３】
前記実画像データは、加算ＣＣＤデータであることを特徴とする請求項１または２の画像処理装置。
【請求項４】
前記信号処理手段は、前記実画像データに対してフィルタ処理を施すことによりＹＵＶデータを生成し、前記書込手段は、前記実画像データを読み出したアドレスに前記ＹＵＶデータを上書きすることを特徴とする請求項１〜３のいずれかの画像処理装置。
【請求項５】
前記メモリは半導体メモリであることを特徴とする請求項１の画像処理装置。
【請求項６】
前記実画像データは２次元撮像素子から得られた画像データであることを特徴とする請求項１の画像処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像処理装置、特にデジタルカメラ好適な装置に関するものである。
【０００２】
【従来の技術】
従来例において、撮影を行う場合、光学系１を通ってＣＣＤに露光された映像をＡ／Ｄ変換器でデジタル信号に変換して、ＤＳＰでガンマ処理やその他の映像信号の補正を行って圧縮部でデータを圧縮し記録部にデジタル画像データを記録するのである。
【０００３】
【発明が解決しようとする課題】
しかしながら、前記従来例では、ＤＳＰと圧縮部間、及び圧縮部と記録部間を専用のデータパスで構成し、かつＤＳＰ、圧縮部が専用の処理メモリを必要としていたため、たくさんのメモリを必要としていた。また、前記のような構成を取らず、１つのメモリをＤＳＰや圧縮部が共有したとしても画像データを一つのメモリブロックとして管理していたのでは、結局多くのメモリ容量を必要とするか、高度なメモリ管理手段を導入せざるをえず、コストアップにつながっていた等の欠点があった。
【０００４】
【課題を解決するための手段】
本発明によれば、被写体像の撮影により得られた画像データのメモリ上でのアドレスを、１ラインの実画像データと無効画素データとから構成される第１画素数の画素列データの単位でリンクドリストによって管理する管理手段と、前記メモリから前記実画像データを読み出してフィルタ処理を施す信号処理手段と、前記信号処理手段により処理された実画像データのうちフィルタ処理により無効化される１ラインの両端の実画像データを除いた有効実画像データを、前記実画像データを読み出したアドレスに上書きする書込手段と、を有し、前記管理手段は、前記有効実画像データと無効化された実画像データに対応する第２画素数の分だけ増加させた前記無効画素データとから構成される前記第１画素数の画素列データを、再度、前記リンクドリストとして管理することを特徴とする。
【０００５】
【発明の実施の形態】
図１は、本発明の実施例であり、デジタルカメラのブロック図である。同図において、１はレンズ、絞り、シャッター、水晶ローパスフィルタ等の光学系ユニット、２はストロボ、３は、補色モザイクタイプのＣＣＤ、４はＣＣＤのタイミング信号を生成し制御するＳＳＧ、５はＣＣＤ出力を１０ｂｉｔのデジタル変換するＡＤコンバータ、６は上記撮像系の制御やデジタル信号処理を行うデジタル・シグナル・プロセッシング（ＤＳＰ）ブロック、７は２つのチャネルをコントロールすることが可能なダイレクトメモリアクセスコントローラ（ＤＭＡＣ）である。それぞれのチャネルに対して、転送元レジスタ、転送先アドレスレジスタ、転送回数レジスタ、コントロールレジスタがあり、デバイスからのリクエストによって、１バスアクセスでメモリからデバイスへの転送、もしくはデバイスからメモリへの転送を行うことができる。８はメインＣＰＵであり、小規模で高速なＲＡＭ、ＲＯＭをローカルに内蔵しておりＲＯＭには本システムのオペレーティングシステムが実装されている。９は本システムのアプリケーションプログラムを格納するためのＲＯＭ、１０はデータを記憶するための容量１ＭBYTEのＤＲＡＭ、１５はバッテリーやシステムの電源管理を司る電源コントローラ、１６はスイッチ、ダイヤル等の入力装置、１７はＬＥＤ、ＬＣＤ等の表示装置、１１はサブＣＰＵであり、入力装置（１６）や表示装置（１７）等のユーザーインタフェース（ＵＩ）や電源コントローラ（１５）を総括するマイクロコンピュータ、１２は画像データ等のファイルを記憶するための再書き込み可能な不揮発性メモリ：フラッシュＲＯＭ、１８はＰＣカードなどの外部記憶媒体、１３は外部記録媒体（１８）とのインタフェースを取り持つカードインタフェース、１４はシステムバスを外部に拡張するための拡張バスインタフェース、１９はセントロニクス等のパラレルインタフェースと、拡張バスを仲介するためのＰＣ通信インタフェースである。システムバスはデータ１６ｂｉｔのセパレートバスである。
【０００６】
図２は、図１−６のＤＳＰブロック内部回路である。同図において、２０２はＪＰＥＧ圧縮・伸長回路であり、ブロックインタリーブで画像データの入出力を行う１チップのＩＣである。具体的には、離散コサイン変換（ＤＣＴ）回路及び逆変換回路、量子化回路及び逆変換回路、ハフマン符号化回路及び復号化回路で構成されている。２０４は、ビデオカメラ用として汎用デジタルビデオ処理回路であり、ＣＣＤからフイールド加算読みだしされたデータの画像処理を行う１チップのＩＣである。具体的には、２Ｈ分のディレイライン回路、ＹＣ分離回路、色マトリクス回路、アパーチャ補正回路、ゲイン補正回路、ガンマ補正回路等で構成され、垂直方向に対して３タップ、水平方向に対しては、１９タップのフィルタ処理を行ってデジタルビデオ信号を生成する。２０１はＪＰＥＧ回路（２０２）に画像データを入出力するための双方向ファストイン・ファスト・アウトメモリ（ＦＩＦＯ）であり、８ｂｉｔ×８段で構成されている。２０３はＪＰＥＧ回路（２０２）と圧縮データを入出力するための双方向ＦＩＦＯで１６ｂｉｔ×８段で構成されている。２０５はビデオ処理回路（２０４）からの出力を受け取るためのＦＩＦＯで１６ｂｉｔ×８段で構成されている。２０８、２１０、２１２はデータパスを選択するためのセレクタ、２０９はデータのビット幅を１０ｂｉｔから１６ｂｉｔに変換及び逆変換する１０／１６変換回路で１０ｂｉｔデータ８つを５ワードに変換する。２１１はデータを所定のレベルにクランプするクランプ回路、２１３は１６ｂｉｔ×１６段で構成するＦＩＦＯでかつ乗算器を内蔵しており、バッファに所定の係数を乗算することができる。２１４はクランプ回路（２１１）出力を外部に対してトライステート制御するためのバッファ、２０６はコントローラでＪＰＥＧ（２０２）やビデオ処理回路（２０４）に対してデータ通信を行う。また、ＤＰＳブロックのすべての制御を司るとともに、ＳＳＧ（４）、ストロボ（２）等も制御する。２０７はシステムバスとのインタフェース回路である。チャネル１及び２は、ＤＭＡのためのチャネルである。データバスは基本的に１６ｂｉｔであり、ビデオ処理回路（２０４）入力は、下位１０ｂｉｔが、ＦＩＦＯ３（２０１）の入出力は下位８ｂｉｔが有効になっている。
【０００７】
次に、本システムにおける撮影記録動作について説明する。本システムでは、撮影モードとしてカラー／白黒を、記録モードとしてＪＰＥＧ／ＲＡＷを選択することができる。また、画素サイズを三段階（８３２×６０８、６４０×４８０、３２０×２４０）に切り替えることができる。撮影モードの選択は、入力装置（１６）のカラー／白黒切り替えＳＷによって行い、記録モード、画素サイズの選択は、入力装置（１６）のダイヤルＳＷによって行う。また、いずれのモードにおいても本画像を１／１００程度に画素数を間引きしたサムネイル画像を生成する。以後各モード撮影記録動作について述べる。
【０００８】
○カラー撮影ＪＰＥＧ記録
入力装置（１６）のレリーズＳＷがユーザーによって押されると、マイクロコンピュータ（１１）がスリープモードから起床する。このレリーズＳＷは、ＳＷ１及びＳＷ２の２つのＳＷで構成されている。マイクロコンピュータ（１１）は、電源コントローラ（１５）に対してシステム電源の投入を指示する。電源コントローラ（１５）は、システム電源を供給し所定の時間の後にＣＰＵ（８）に対するリセット信号が解除される。リセットが解除されるとＣＰＵ（８）が起床し、内蔵ＲＯＭ及びＲＯＭ（９）にある。ウエイクアップシーケンスを実行する。ウエイクアップシーケンスでは、デバイスの初期化や各サービスの起床等を行う。ウエイクアップシーケンスの完了後、ＣＰＵ（８）がマスターとなってマイクロコンピュータ（１１）と通信を行い、ＳＷ１が押されたことを検知して相当するイベントをイベントマネージャに対して発行する。イベントマネージャは、他のステートを鑑みて撮影可能な状態ならば撮影準備イベントを発行し、当該イベントに対応したプロシージャ：撮影準備プロシージャが開始される。
【０００９】
撮影記録シーケンスは、撮影準備プロシージャと撮影本露光プロシージャから成り、撮影準備プロシージャでは、撮影光学系の電源投入、ＡＦ制御、ＡＥ制御、ＡＷＢ制御、ＣＣＤデータを格納するメモリ構造の生成を、撮影本露光プロシージャでは露光、ＣＣＤデータ転送、信号処理及び記録等を所定の順番で行う。
【００１０】
撮影準備プロシージャでのＡＦ制御、ＡＥ制御、ＡＷＢ制御は、ＣＣＤデータをビデオ処理回路（２０４）で評価することによって行う。具体的には、コントローラ（２０６）がＦＩＦＯ１（２１３）の出力をオープンにして、Ａ／Ｄ（５）の出力がビデオ処理回路（２０４）に入力されるよう制御し、またＳＳＧ（４）を通じてＣＣＤをフイールド加算読みだしモードに設定し、またビデオ処理回路（２０４）の処理モード、データの評価領域の設定、評価値の取得をコントローラ（２０６）がビデオ処理回路（２０４）と通信することにより行う。
【００１１】
ＣＣＤデータが格納される領域は、ＤＲＡＭ（１０）上に作成された２つの片方向リンクドリストである。図３にそのメモリ構造を示す。ＣＣＤ１ライン分のメモリ領域は、１つのリニアなメモリブロックであり、タグ部とデータ部で構成される。そして、タグ部には、次のラインの参照先が格納されている。例えば、Ｔａｇ−ｏｄｄ−０には、Ｔａｇ−ｏｄｄ−１のアドレスが格納されている。また、データ部はＣＣＤの１ライン分のデータを格納するための領域である。そして、ｎラインで一つのリンクドリストとなり、１フィールド分のメモリ領域となり、２フィールドでＣＣＤの全画素を格納することができる。なお、Ｔａｇ−ｏｄｄ−ｎ、Ｔａｇ−ｅｖｅｎ−ｎの参照先であるＥＮＤ−ＯＦ−ＬＩＳＴには−１を代入している。個々のラインのリニアなメモリ領域は、メモリマネージャによって管理されるが、それぞれのラインは比較的小さなメモリブロックであり、かつ、ＤＲＡＭ（１０）上に自由に配置できるため、メモリを有効に活用することが可能となる。この２つの片方向リンクドリストを以下ＣＣＤリストと呼ぶこととする。ＣＣＤリストは、撮影準備プロシージャにおいて作成される。撮影準備プロシージャが完了すると、撮影準備完了イベントがイベントマネージャに対して発行され、イベントマネージャはＳＷ２の履歴及びその他のステートを鑑みて、露光可能ならば、本露光イベントを発行し当該イベントに対応する撮影本露光プロシージャが実行される。撮影本露光プロシージャでは、ＣＣＤ（３）を露光モードに切り替えてシャッターをきり、ＣＣＤ転送に伴って、Ａ／Ｄ変換を行い一画面分の画像データをＤＲＡＭ（１０）へＤＭＡ転送する。以下にＣＣＤデータのＤＭＡ転送について述べる。
【００１２】
本露光時、コントローラ（２０６）は、ＳＥＬ１（２０８）をａ、ＳＥＬ２（２１０）をｂ、ＳＥＬ３（２１２）をａに、なおかつバッファ（２１４）の出力をオープンに、チャネル１を出力に設定し、ＦＩＦＯ１（２１３）の乗算機能をディセーブルすることによって、Ａ／Ｄ（５）→１０／１６変換回路（２０９）→ＦＩＦＯ１（２１３）→バスインタフェース（２０７）のパスを設定する。ＣＣＤは、フレーム読みだしモードに設定する。その後ＳＳＧ（４）を介してＣＣＤをコントロールし、本露光を実行する。本露光後、割り込み禁止に設定した上で、２フィールドの期間にＣＣＤリストに対してＣＣＤデータをＤＭＡ転送する。ＤＭＡ転送では、プログラムがＴａｇ−ｏｄｄ−０からｄａｔａ−ｏｄｄ−０を参照し、ＤＭＡＣ（７）のチャネル１の転送先アドレスにｄａｔａ−ｏｄｄ−０ポインタを、転送回数を１Ｈ分のデータ数に、転送方向をデバイスからメモリ方向に設定する。そしてコントローラ（２０６）は、ＣＣＤのデータ読みだしを開始させる。ＣＣＤデータは、Ａ／Ｄ変換器（５）で１０ｂｉｔのデジタルデータに変換され、１０／１６変換回路（２０９）によって１６ｂｉｔ幅、すなわち８つの１０ｂｉｔデータが５ワードに変換されてＦＩＦＯ１（２１３）に入力される。コントローラ（２０６）は、ＣＣＤデータが有効画素になるタイミングでＦＩＦＯ１（２１３）へ取込みをイネーブルにして、ＤＭＡＣ（７）に対してチャネル１のＤＭＡリクエストを発行する。ＤＭＡＣ（７）は、チャネル１のＤＭＡリクエストを受け付けると所定のプロトコルに従って、転送先アドレスをインクリメントしながら、ＦＩＦＯ１（２１３）からｄａｔａ−ｏｄｄ−０へのバーストＤＭＡ転送を行う。１Ｈ分のＤＭＡ転送が終了すると、プログラムは、Ｔａｇ−ｏｄｄ−０からＴａｇ−ｏｄｄ−１を参照しさらにｄａｔａ−ｏｄｄ−１を参照してＤＭＡＣ（７）のチャネル１の転送先アドレスに、ｄａｔａ−ｏｄｄ−１ポインタを、転送回数を再び１Ｈ分のデータ数に設定する。コントローラ（２０６）は、ＦＩＦＯ１（２１３）にゴミデータが蓄積されるので、一度リフレッシュを行い、再びＣＣＤデータが有効画素になるタイミングでＦＩＦＯ１（２１３）へ取り込みをイネーブルにして、ＤＭＡＣ（７）に対してチャネル１のＤＭＡリクエストを発行する。以後同様にして、ｄａｔａ−ｏｄｄ−ｎまで転送し、フィールド１の転送が終了する。フィールド２のＤＭＡ転送では、Ｔａｇ−ｅｖｅｎ−０から参照を行い、ＤＭＡＣ（７）のチャネル１の転送先アドレスにｄａｔａ−ｅｖｅｎ−０ポインタを設定することで、フィールド１と同様に転送を行うことができる。そして、２フィールド分のＤＭＡ転送が終了した時点で割り込み禁止を解除する。本実施例では、ＯＤＤフィールドからの取込みを説明したが、本露光のタイミングによっては、ＥＶＥＮフィールドからの取込みも有り得る。その場合には、フィールド２、フィールド１の順番でＤＭＡ転送を行う。図４にＤＭＡ転送終了後の１ライン分のメモリブロックの例を示す。ｄａｔａ−ｏｄｄ−ｍには、８５０ピクセル分の画像データと４６ピクセル分のオプティカルブラック（ＯＢ）データが格納されている。ＯＢデータは後にデジタルクランプを行う際に使用する。１０／１６変換を行っているので、データ量はタグ部と合わせて１１２４ＢＹＴＥである。本実施例では、１フィールド３０７ラインで構成するため、総データ量は、１１２４×３０７×２＝６９０１３６ＢＹＴＥとなり、１ＭBYTEのＤＲＡＭに納めることができる。
【００１３】
ＣＣＤデータのＤＭＡ転送の次に信号処理及び記録シーケンスを行う。信号処理及び記録シーケンスでは、カラー画像処理タスク、サムネイルタスク、ＪＰＥＧタスクの３つのタスクが並列に動作し処理を行う。図５に当該タスクの概念図を示す。図５では、データの流れを実線の矢印で、コントロールの流を点線の矢印で示している。信号処理・記録シーケンスでは、ＪＰＥＧタスクがマスターとなってすべての処理が行われる。すなわち、ＪＰＥＧタスクがサムネイルタスクに対してデータ要求をすると、サムネイルタスクは、そのデータ要求をペンディングした上で、画像処理タスクに対してデータ要求を行う。画像処理タスクは、サムネイルタスクの要求の見合うデータ処理を行い、それが終了したならば、サムネイルタスクに対して返答をする。その後、サムネイルタスクは、画像処理データに対して、間引き処理を行ってサムネイルデータを生成し、それが終了したならば、ＪＰＥＧタスクに対して返答をする。ＪＰＥＧタスクは、返答が返ってきたならば、画像処理データに対してＪＰＥＧ処理を行いＪＰＥＧデータを生成し、必要に応じてＪＰＥＧファイルを生成していく。上記処理単位は、ライン単位で管理される。そして全ラインの処理が終了した時点でサムネイルタスクは、サムネイルファイルを生成し、信号処理・記録シーケンスが終了する。それぞれの処理に関して以下に述べる。
【００１４】
・カラー画像処理
図６にカラー画像処理の概念図を示す。カラー画像処理では、１０／１６変換され、ＤＭＡ転送されたＣＣＤＲＡＷデータすなわちＣＣＤリストに対して、１０／１６逆変換を行い、１Ｈディレイラインを用いて加算平均をとることにより、フレーム読みだしＣＣＤデータの垂直加算混合を行う。そのデータを今後加算ＣＣＤデータと呼ぶ。加算ＣＣＤデータは、ビデオ処理回路（２０４）によって処理され、ＹＵＶデータを生成し、これが画像処理データとなるのである。カラー画像処理前半の上記加算ＣＣＤデータを生成する過程を以後、垂直加算混合処理と呼び、後半の加算ＣＣＤデータからＹＵＶデータを生成する過程をビデオ処理と呼ぶ。本実施例では、垂直加算混合処理をソフトウェアで、ビデオ処理をハードウェアで実現している。
【００１５】
垂直加算混合処理では、図９に示す画像処理用の片方向リンクドリストを使用する。メモリ構造はＣＣＤリストと同様で、ライン数は、本実施例では３６ラインで構成しＤＲＡＭ（１０）上に生成する。図７に垂直加算混合処理の概念図を示す。図８において、左側のＣＣＤＲＡＷデータがＣＣＤリストに、右側の加算ＣＣＤデータがカラー画像処理リストに対応している。但し、実際のＣＣＤリストは１０／１６変換が施されている。同図においてＧｒ（グリーン）、Ｍｇ（マゼンタ）、Ｃｙ（シアン）、Ｙｌ（イエロー）は、ＣＣＤの光学カラーフィルタを表しており、補色モザイク配列に対応している。また、同図では、ｄａｔａ−ｅｖｅｎ−０がＣＣＤ光学面上では、幾何的にｄａｔａ−ｏｄｄ−０の上部にある例として表現している。同図のＣＣＤリストをラスター処理する際、１Ｈディレイラインを用いてその前後のデータの加算平均を求めることにより、例えば、ｄａｔａ−ｅｖｅｎ−０とｄａｔａ−ｏｄｄ−０の垂直加算混合ができ、ｄａｔａ−ｐ−０を生成することができるのである。以後順次ｄａｔａ−ｐ−１、ｄａｔａ−ｐ−２…を生成することができる。以下垂直加算混合処理の詳細を説明する。本実施例では、図１０に示すリングバッファで１Ｈディレイラインを実現している。同１Ｈディレイラインは、高速動作が要求されるので、ＣＰＵ（８）上のローカルなメモリ上に構成する。それぞれのリストのデータ領域（ΔＨ）は３２ｐｉｘｅｌであり、本実施例では、８５０ｐｉｘｅｌ分のディレイラインを構成するために、２８個のリスト（すなわち１Ｈ＋ΔＨ＝８９６ｐｉｘｅｌ）によって実現している。カラー画像処理タスクは、サムネイルタスクからデータ要求を受けると、ＣＣＤリストのｄａｔａ−ｅｖｅｎ−０の先頭から１Ｈディレイラインのｄａｔａ−ｄｌ−０、ｄａｔａ−ｄｌ−１の順で１０／１６逆変換をソフトウェアで行いながら、データを３２ｐｉｘｅｌ毎に詰め込んでいく。ｄａｔａ−ｅｖｅｎ−０の詰め込みが終了したならば、Ｔａｇ−ｅｖｅｎ−０のメモリブロックを開放する。そして１Ｈディレイラインは、ｄａｔａ−ｄｌ−２６まですべてデータが詰め込まれ、ｄａｔａ−ｄｌ−２７のみが空の状態となる。次に、ｄａｔａ−ｐ−０のメモリブロックを確保し、ｄａｔａ−ｏｄｄ−０の先頭から２０ワードを１０／１６逆変換して３２ｐｉｘｅｌに変換し、ｄａｔａ−ｄｌ−２７に詰め込み次のリストであるｄａｔａ−ｄｌ−０と１ｐｉｘｅｌ毎に加算平均を行いｄａｔａ−ｐ−０の先頭から詰め込んでいく。以後同様にしてｄａｔａ−ｏｄｄ−０の処理が終了したならＴａｇ−ｏｄｄ−０のメモリブロックを開放し、ｄａｔａ−ｐ−０には、加算混合処理されたデータが１ライン分詰め込まれるのである。そして、ｄａｔａ−ｐ−１のメモリブロックを確保しＴａｇ−ｐ−０からのリストに結合して、さらにＴａｇ−ｐ−１からｄａｔａ−ｐ−１を参照して処理データの蓄積先を求め、Ｔａｇ−ｅｖｅｎ−０からＴａｇ−ｅｖｅｎ−１を参照し、さらにｄａｔａ−ｅｖｅｎ−１を参照することによって入力元データを求めて、上記と同様の処理を行うことにより、すべての画像処理用リストに対しての垂直加算混合処理を終了する。上記１Ｈディレイラインを用いるこ��でより少ないメモリで処理パフォーマンスを落さずに垂直加算混合処理を行うことができ、また、ＣＣＤリストの開放と、画像処理リストの生成を１ラインづつ順次行うことによって、メモリを圧迫せずにスムーズに処理を行うことができる。
【００１６】
次に画像処理リストに対してビデオ処理を行う。ビデオ処理では、３６ラインの加算ＣＣＤデータから３２ラインのＹＵＶデータを生成する。まず図２のチャネル２をＦＩＦＯ２（２０５）の出力に、チャネル１を入力に、ＳＥＬ３（２１２）をｂ、ＳＥＬ１（２０８）をｃ、ＳＥＬ２（２１０）をａに、トライステートバッファ（２１４）の出力をイネーブルに、かつＡ／Ｄ（５）の出力をオープンにして、バスインタフェース（２０７）→チャネル１→ＦＩＦＯ１（２１３）→クランプ回路（２１１）ビデオ処理回路（２０４）→ＦＩＦＯ２（２０５）→チャネル２→バスインタフェース（２０７）のデータパスを設定する。なお、ＦＩＦＯ１（２１３）の乗算機能はディセーブルにし、クランプ回路（２１１）には、あらかじめ数十ライン分のＯＢの平均を設定しておく。図８は、ビデオ処理の概念図である。以後同図を元にビデオ処理の説明を行う。同図（ａ）は、垂直加算混合処理後の画像処理リストの例である。垂直加算混合処理は１ラインにつき８６４ｐｉｘｅｌ行うが、後半の１４ｐｉｘｅｌは、ＯＢデータのため無効であり、実画像データは８５０ｐｉｘｅｌとなる。ビデオ処理は１ラインを２度に分けて行う。それは、ビデオ処理回路（２０４）の１水平期間が６００ｐｉｘｅｌ程度にしか対応できないためである。まず、ＤＭＡＣ（７）のチャネル１の転送方向をメモリからデバイス方向に、チャネル２の転送方向をデバイスからメモリ方向に設定し、かつチャネル１の転送元を図８（ｂ）のＰａに、チャネル２の転送元をＰａに、チャネル１の転送回数をＬｓ（４３４ｐｉｘｅｌ）に、チャネル２の転送回数をＬｄ（４１６ｐｉｘｅｌ）に設定する。そして、コントローラ（２０６）は、チャネル１のＤＭＡリクエストをＤＭＡＣ（７）に対して発行する。ＤＭＡＣ（７）は、チャネル１のＤＭＡリクエストを受け付けると、転送元アドレスをインクリメントしながら、加算ＣＣＤデータをＦＩＦＯ１（２１３）へバーストＤＭＡ転送する。ＤＭＡ転送された加算ＣＣＤデータは、ＦＩＦＯ１（２１３）から適宜出力され、クランプ回路（２１１）で所定のレベルシフトされて、ビデオ処理回路（２０４）に入力される。ビデオ処理回路（２０４）では、５０ｐｉｘｅｌ程度のディレイでビデオ処理されてＦＩＦＯ２（２０５）に出力され取込まれる。ＦＩＦＯ２（２０５）がエンプティでなくなるとコントローラ（２０６）はＤＭＡＣ（７）に対して、チャネル２のＤＭＡリクエストを発行する。ＤＭＡＣ（７）は、ＤＭＡＣ（７）は、チャネル２のＤＭＡリクエストを受け付けると、転送先アドレスをインクリメントしながら、ＦＩＦＯ２（２０５）の出力であるＹＵＶデータをＰａから順にバーストＤＭＡ転送する。このとき、ＤＭＡＣ（７）に対して２つのＤＭＡリクエストが存在するので、ＤＭＡＣ（７）は、チャネル１とチャネル２を１転送毎に交替してバーストＤＭＡ転送を行う。そして２つのＤＭＡ転送がすべて終了すると、図８（ｃ）のように４１６ｐｉｘｅｌのＹＵＶデータが画像処理リストの同一ラインに生成される。このときビデオ処理回路（２０４）は５０ｐｉｘｅｌ程度のディレイを持つので、チャネル２の転送先アドレスがチャネル１の転送元アドレスを追い越してしまうことは有り得ない。また、図８（ｂ）の加算ＣＣＤデータの前半９ｐｉｘｅｌと後半９ｐｉｘｅｌは、ビデオ処理回路（２０４）におけるフィルタ処理のための前後の画素データが不完全なため、無効とする。そして、２つのチャネルのＤＭＡ転送のほとんどが同一時刻ではＤＲＡＭの同じページへのアクセスとなるため高速な処理を行うことができるのである。次に、ＤＭＡＣ（７）のチャネル１の転送元を図８（ｃ）のＰｂに、チャネル２の転送元をＰｂに、チャネル１の転送回数をＬｓ（４３４ｐｉｘｅｌ）に、チャネル２の転送回数をＬｄ（４１６ｐｉｘｅｌ）に設定し、上記同様に、図８（ｄ）の後半のＹＵＶデータが生成される。これで、図８（ｅ）に示される８３２ｐｉｘｅｌの１ライン分のＹＵＶデータの生成が完了する。但し、実際に３２ラインのＹＵＶデータを生成するには、ビデオ処理回路（２０４）がフィールド処理を行いかつ、垂直方向に２Ｈ分のディレイを持つ制約上、ビデオ処理は、ｄａｔａ−ｐ−０の前半、ｄａｔａ−ｐ−２の前半、…、ｄａｔａ−ｐ−３４の前半、ｄａｔａ−ｐ−０の後半、ｄａｔａ−ｐ−２の後半、…、ｄａｔａ−ｐ−３４の後半、１Ｈ分のダミーラインの挿入、ｄａｔａ−ｐ−１の前半、ｄａｔａ−ｐ３の前半、…、ｄａｔａ−ｐ−３５の前半、ｄａｔａ−ｐ−１の後半、ｄａｔａ−ｐ−３の後半、…ｄａｔａ−ｐ−３５の後半の順番で処理しなければならない。１Ｈのダミーラインを間に挿入するのは、図７から明らかなように、ｄａｔａ−ｐ−０、２等のＥＶＥＮ加算フィールドと、ｄａｔａ−ｐ−１、３等のＯＤＤ加算フィールドでは、加算ＣＣＤデータの構造が丁度１Ｈ分ずれているからである。このダミーラインを偶数画像処理リストと奇数画像処理リストの間に挿入することにより、ビデオ処理回路（２０４）の同一フィールドで、ＥＶＥＮ加算フィールドデータとＯＤＤ加算フィールドデータの両方のデータ処理を行うことができるのである。また、ｄａｔａ−ｐ−０からｄａｔａ−ｐ−３までは、ビデオ処理回路（２０４）において垂直方向処理のための画素データが不完全なので、無効なＹＵＶデータとなる。従って、ｄａｔａ−ｐ−０からｄａｔａ−ｐ−３まではチャネル２のＤＭＡ転送は行う必要が無い。そして、図８の概念図（ｅ）で生成されたＹＵＶデータは、正確には１ライン前の加算ＣＣＤデータに対応するＹＵＶデータということになる。さらに、ｄａｔａ−ｐ−３２〜３５までの後半４ラインの加算ＣＣＤデータは、次回のブロックのビデオ処理に使用できるので、それぞれの加算ＣＣＤデータがＹＵＶデータに変更される直前に、ｄａｔａ−ｐ−０〜３へコピーする。以上の処理によって、画像処理リストの後半３２ラインに有効なＹＵＶデータが生成される。そして、カラー画像処理タスクは、サムネイルタスクのデータ要求に対して返答として、Ｙ、Ｕ、Ｖの各画像構成データの情報（ライン数、１ラインのピクセル数、１ピクセルのビット数、ラインブロックの先頭ポインタ、データ間隔等）を返しサムネイルタスクが動作を開始する。
【００１７】
また、６４０×４８０ピクセルの画像サイズの場合は、図８のＰａを９６ｐｉｘｅｌ後半にづらし、Ｌｓを３３８ｐｉｘｅｌ、Ｌｄを３２０ｐｉｘｅｌとして処理することで実現できる。さらに３２０×２４０ピクセルの画素サイズの場合は、図８のＰａを９６ｐｉｘｅｌ後半にづらし、Ｌｓを３３８ｐｉｘｅｌ、Ｌｄを３２０ｐｉｘｅｌとした上で、図７のＯＤＤフィールド加算を行わず、ＥＶＥＮ加算データだけでフィールドデータ処理を行い、６４０×２４０の画像処理データを生成し、先に述べたデータ返答の水平方向のデータ間隔を２倍にすることで３２０×２４０データを上位のタスクに対して表現する。
【００１８】
・サムネイル処理
サムネイルタスクは、ＹＵＶデータの間引き及び間引きデータのＲＧＢデータへの変換を行う。図１１は、ＤＲＡＭ（１０）上に生成されるサムネイルデータの構造体である。以後サムネイルリストと呼ぶ。サムネイルデータは、８０×６０ｐｉｘｅｌのＲＧＢデータであるから、サムネイルリストは、８０ｐｉｘｅｌ、６０ラインの片方向リンクドリストとなる。各サムネイルラインは、必要に応じて適宜作られサムネイルリストに追加されていく。図１２にサムネイル処理の概念図を示す。（ａ）は、画像処理リストのＹＵＶデータの例である。Ｙデータは各ピクセルに、Ｕ、Ｙデータは、１ピクセルおきに存在している。（ｂ）はサムネイルリストのＹＵＶデータの例である、サムネイルリストでは、各ピクセルにＹＵＶデータが存在する。例えば、（ａ）のＰＩＸｎが、（ｂ）のＰＩＸｊに対してサブサンプルされる画素に該当した場合、ＹｊにはＹｎから、ＵｊにはＵｎから、ＶｊにはＶｎ−１若しくはＶｎ＋１からデータがコピーされる。また、（ａ）のＰＩＸｎ＋１が該当した場合には、ＹｊにはＹｎ＋１が、ＵｊにはＵｎ若しくはＵｎ＋２が、ＶｊにはＶｎ＋１がコピーされる。１ライン分の間引きが完了したならば、サムネイルタスクは、（ｂ）→（ｃ）のように、テーブル変換によってＹＵＶデータからＲＧＢデータを作成する。ここで、（ｂ）のためのメモリブロックを（ｃ）のメモリブロックを非同一としてＣＰＵ（８）の高速なローカルメモリにテンポラリに作成することで、高速なサブサンプリングと高速なＲＧＢ変換を行うことができる。サムネイルタスクは、カラー画像処理タスクからのデータ返答を元に適宜間引き処理を行う。例えば、８３２×６０８ピクセルの画像処理データを８０×６０ピクセルに間引く際は、上下４ピクセル、左右１６ピクセルを無視し、８００×６００ピクセルに対して１０×１０ピクセルの中心のもしくはそれに近いピクセルのデータをサンプリングしていくのである。６４０×４８０の画像処理データに対しては、８×８ピクセルの中心画素を、３２０×２４０の画像処理データに対しては、４×４ピクセルの中心画素をそれぞれサンプリングしていくのである。但し、サムネイルタスクは、ＹＵＶデータを画像処理リストとして参照しているわけでなく、先頭PIX のポインタ、Ｙ、Ｕ、Ｖそれぞれのデータ間隔等の情報を画像処理タスクから受け取ってサムネイル処理を行う。画像処理リストの３２ラインのＹＵＶデータに対してのサブサンプリング及びＲＧＢ変換が終了したならば、サムネイルタスクは、ＪＰＥＧタスクからのデータ要求の返答として、画像処理タスクからの返答情報をそのまま返し、ＪＰＥＧタスクが動作を開始する。
【００１９】
・ＪＰＥＧ処理
ＪＰＥＧタスクは、ソフトウェアによってラスタブロック変換を行い、ＪＰＥＧ回路（２０２）によってＪＰＥＧ圧縮を行いＹＵＶ４２２のＪＰＥＧファイルを作成する。ＪＰＥＧタスクは、ＪＰＥＧ処理に先立って、ＪＰＥＧ回路（２０２）の初期化や、ＤＳＰブロックのデータパス設定を行う。具体的には、コントローラ（２０６）を通じて、ＪＰＥＧ回路（２０２）を圧縮モードに設定し、量子化テーブルデータ、ハフマンテーブルデータを設定する。それぞれのテーブルデータは、入力装置（１６）を通じてユーザーが設定した３段階のＪＰＥＧクオリティに対応した所定のテーブルがロードされる。また、ＤＳＰブロックは、コントローラ（２０６）により、ＦＩＦＯ３（２０１）がバスインタフェース（２０７）からＪＰＥＧ回路（２０２）方向に、ＦＩＦＯ４（２０３）がＪＰＥＧ回路（２０２）からバスインタフェース（２０７）方向に、ＪＰＥＧ回路（２０２）は、画像データ入力、圧縮データ出力に設定し、メモリ上のＹＵＶデータ→プログラムドＩＯ（ＰＩＯ）バスインタフェース（２０７）→ＦＩＦＯ３（２０１）→ＪＰＥＧ回路（２０２）→ＦＩＦＯ４（２０３）→バスインタフェース（２０７）→ＤＭＡチャネル２→メモリ上の圧縮データのデータパスが設定される。そして、ＪＰＥＧタスクは、ＤＲＡＭ（１０）上に圧縮データ蓄積用の数ＫＢＹＴＥのバッファを確保し、ＤＭＡＣ（７）のチャネル２の転送先アドレスにバッファの先頭ポインタを、転送方向をデバイスからメモリ方向に転送回数に圧縮バッファの大きさを設定する。そして、ＹＵＶデータをラスタブロック変換し、ＦＩＦＯ３（２０１）に対してＰＩＯ入力しながら、ＦＩＦＯ４（２０３）出力を圧縮データバッファへＤＭＡ転送することでＪＰＥＧ処理が進められる。
【００２０】
図１３にラスタブロック変換の概念図を示す。図１３（ａ）は、ＹＵＶ４２２ＪＰＥＧの処理単位である１ＭＣＵ（Ｍｉｎｉｍｕｎ  Ｃｏｄｅ  Ｕｎｉｔ）を表している。ＹＵＶ４２２では、２つのＹの８×８データブロックと、Ｕ、Ｖそれぞれ１つづつ８×８ブロックが最小処理単位となり、１ＭＣＵを形成する。図１３（ｂ）は、ラスタブロック変換用の構造体であり、リングバッファとなっている。そして、Ｙ０、０等の記号は同図（ａ）の記号に対応している。以下同図を元にラスタブロック変換について述べる。ラスタブロック変換モジュールは、図１３（ｂ）のＴａｇ−ｒ−０より、Ｙ０、０のアドレスを参照し、Ｙ０、０データをリードし、バスインタフェース（２０７）のＪＰＥＧポートにライトする。ＪＰＥＧポートにライトされたデータは、ＦＩＦＯ３（２０１）へ蓄積され、所定のタイミングでＪＰＥＧ回路（２０２）へ入力される。そして次に、Ｙのデータ間隔を参照し、Ｙ０、０ポインタにＹのデータ間隔を加算して、Ｙ１、０のアドレスを得て、Ｙ１、０データをリードし、ＪＰＥＧポートにライトする。以後同様にして、Ｙ７、０までライトしたならば、Ｙ０、０ポインタに対してＹ１６、０への距離を加算し、次のＭＣＵのためのＹ０、０ポインタとして同データを更新する。そして、次のラスタポインタを得るために、Ｔａｇ−ｒ−０からＴａｇ−ｒ−１を参照し、Ｙ０、１のポインタデータを得る。以後、同様にして、Ｙ７、７までのリード・ライトでＹの第１ブロックのラスタブロック変換が終了する。その後、Ｔａｇ−ｒ７からＴａｇ−ｒ８を参照することによって、Ｙの第２ブロックのラスタブロック変換を行い、同様にして、Ｔａｇ−ｒ−１５からＴａｇ−ｒ−１６を参照することによって、Ｕブロックのラスタブロック変換が、Ｔａｇ−ｒ−２３からＴａｇ−ｒ−２４を参照することによって、Ｖブロックのラスタブロック変換を行うことができる。これで１ＭＣＵのラスタブロック変換が終了し、Ｔａｇ−ｒ−３１からＴａｇ−ｒ−０を参照することによって、次のＭＣＵのラスタブロック変換を同様に行うことができる。そして上記の操作を５２回繰り返すことにより、８３２ピクセル×８ラインのラスタブロック変換が、４０回繰り返すことにより、６４０ピクセル×８ラインのラスタブロック変換が、２０回繰り返すことにより、３２０ピクセル×８ラインのラスタブロック変換が行え、ＪＰＥＧタスクは、更にそれを４回繰り返すことにより、３２ラインの画像処理データのラスタブロック変換及びＪＰＥＧ回路（２０２）への入力を完了する。一方、ＪＰＥＧ回路（２０２）より出力される圧縮データは、ＦＩＦＯ４（２０３）に蓄積され、ＦＩＦＯ４（２０３）か空でなくなると、コントローラ（２０６）よりチャネル２のＤＭＡリクエストが発行され、適宜圧縮バッファへのＤＭＡ転送が行われる。ＪＰＥＧタスクは、ＤＭＡの終了をチェックし、終了していたならば、圧縮バッファのデータをファイルに落として、ＤＭＡＣ（７）の再設定を行う。そして、３２ラインのＹＵＶデータの入力がすべて終了したならば、次の３２ラインブロックを処理すべく、サムネイルタスクに対してデータ要求を発行することによって再び次の処理シーケンスが動作を開始するのであ���。
【００２１】
このようなラスタブロック変換方式では図１３（ｂ）のラスタブロック変換用データ構造を変えれば、同じラスタブロック変換ソフトウェアモジュールによって、ＹＵＶ４４４、ＹＵＶ４１１、グレイスケール等、様々なＪＰＥＧフォーマットに対するラスタブロック変換を行うことができる拡張性がある。そして、ラスタブロック変換リングバッファをＣＰＵ（８）の高速なローカルメモリに作成することにより、より高速な処理を行うことができる。また、図１３（ｂ）のポインタ情報、データ間隔情報等は、サムネイルタスクを通じて、得た画像処理タスクからの返答情報を元にＪＰＥＧタスクが構成する。また、ＦＩＦＯ３（２０１）へ画像データをＰＩＯ転送する代わりに、ＤＭＡチャネルをもう一つ設け、テンポラリなメモリにラスタブロック変換データをコピーしておいてＤＭＡ転送しても良い。
【００２２】
以上に述べたカラー画像処理、サムネイル処理ＪＰＥＧ処理を適宜繰り返すことにより、すべての信号処理シーケンスが終了する。サムネイルタスクは、その時点でサムネイルリスト所定のヘッダーを付加し、ＴＩＦＦファイルとしてＲＧＢサムネイルファイルを生成する。また、各タスクは、処理中にデバイスの異常を検知した場合、致命的エラーを発行する。また、外部記録媒体（１８）に対してのファイルライト中に、外部記憶媒体のカバー蓋が開けられたり、外部記憶媒体（１８）の空き容量が充分でないなど、予想外の事態でファイルのライトに失敗した場合にも、致命的エラーを発行する。致命的エラーが発行されると、必要最小限なエラー処理が行われた後にシステムは、シャットダウンされる。
【００２３】
○白黒撮影ＪＰＥＧ記録
信号処理及び記録シーケンスまでは、カラー撮影ＪＰＥＧ記録と同様である。但し、ユーザーによって入力装置（１６）のカラー／白黒切り替えＳＷで白黒が選択されると、それと機械的に連動して、光学系ユニット（１）の水晶ローパスフィルタが取り除かれる。また、信号処理及び記録シーケンスでは、画像処理のみが異なり、後はほとんど同様である。従って以下には、白黒画像処理を中心に述べる。
【００２４】
・白黒画像処理
図１４に白黒画像処理の概念図を示す。白黒画像処理では、ＣＣＤＲＡＷデータに対して１０／１６逆変換を行いクランプしたデータに対してそれぞれのＣＣＤ光学フィルタに対応した係数を乗算し、ガンマ変換を施すことで１ｐｉｘｅｌ８ｂｉｔのＹデータを生成する。以下詳細を説明する。白黒画像処理も図９のカラー画像処理リストと同様のデータ構造を使用し、３２ラインごとの処理を行う。まず、白黒画像処理タスクは、所定の評価方法により、Ｇｒのための係数Ｋ１、Ｍｇのための係数Ｋ２、Ｃｙのための係数Ｋ３、Ｙｌのための係数Ｋ４と、カラー画像処理時と同様のＯＢ平均値を求めておく。そして、以下のハードウェア設定を行う。白黒画像処理タスクは、図２において、ＳＥＬ１（２０８）をｂに、ＳＥＬ２（２１０）をｂに、ＳＥＬ３（２１２）をｃにトライステートバッファ（２１４）をオープンに設定する。また、１０／１６変換回路（２０９）を逆変換モードに、クランプ回路（２１１）に先に求めておいたＯＢ平均値を、ＦＩＦＯ１（２１３）を乗算器モードに設定し、バスインタフェース（２０７）→１０／１６変換回路（２０９）→クランプ回路（２１１）→ＦＩＦＯ１（２１３）→バスインタフェース（２０７）のデータパスを設定する。そして、白黒画像処理タスクは、ＦＩＦＯ１（２１３）の乗算器の係数に、Ｋ１とＫ２を設定し、ＣＣＤリストのｄａｔａ−ｅｖｅｎ−２から処理を行う。具体的には、Ｔａｇによりｄａｔａ−ｅｖｅｎ−２を参照し、Ｔａｇ−ｅｖｅｎ−０、１のメモリブロックを開放して、ｄａｔａ−ｅｖｅｎ−２の先頭から５ワードをＤＭＡＣ（７）に所定の設定をしてチャネル１を用いてＤＭＡ転送し、１０／１６変換回路（２０９）により、１０／１６逆変換し、８ｐｉｘｅｌのデータに復元する。そして、同８ｐｉｘｅｌのデータは、クランプ回路（２１１）により所定のレベルシフトされて、ＦＩＦＯ１（２１３）に入力される。ＦＩＦＯ１（２１３）は奇数番目データにはＫ１を偶数番目のデータにはＫ２をそれぞれ乗算して下位１０ｂｉｔが有効な画像データとして蓄積する。その後、白黒画像処理タスクは、ＤＭＡＣ（７）を再設定して、ＦＩＦＯ１（２１３）からｄａｔａ−ｐ−０の先頭から順に８ワードＤＭＡ転送を行う。上記操作を、８３２×６０８サイズの場合は、１０６回、６４０×４８０サイズと３２０×２４０サイズの場合は、８２回繰り返し、１Ｈ分の乗算処理が終了する。その後、ｄａｔａ−ｐ−０に対してテーブル変換によってすべての画素に対して１０ｂｉｔの画像データを８ｂｉｔの画像データにガンマ変換しながら、９ｐｉｘｅｌ前半に移動する。９ｐｉｘｅｌ前半に移動するのは、カラーデータと位置合わせをするためである。次にＦＩＦＯ１（２１３）の乗算器の係数にＫ３、Ｋ４を設定し、ｄａｔａ−ｏｄｄ−２の白黒画像処理を同様に行いｄａｔａ−ｐ−１に蓄積する。以降、Ｔａｇ−ｅｖｅｖ−２からＴａｇ−ｅｖｅｎ−３更にｄａｔａ−ｅｖｅｎ−３を参照して、Ｔａｇ−ｅｖｅｎ−２のメモリブロックを開放し、ＥＶＥＮフィールドの白黒画像処理を行って、ｄａｔａ−ｐ−２に蓄積し、Ｔａｇ−ｏｄｄ−２からＴａｇ−ｏｄｄ−３更にｄａｔａ−ｏｄｄ−３を参照して、Ｔａｇ−ｏｄｄ−２のメモリブロックを開放し、ＯＤＤフィールドの白黒画像処理を行って、ｄａｔａ−ｐ−３に蓄積するながれを１５回繰り返して３２ラインの処理が終了する。但し、３２０×２４０サイズの場合には、片フィールドの処理で充分なので、ＣＣＤリストのどちらか片フィールドに対して白黒画像処理を行う。ここで、カラー画像処理と同様にＣＣＤリストの開放と、画像処理リストの生成を１ラインづつ順次行うことによって、メモリを圧迫せずにスムーズに処理を行うことができる。そして、Ｙ画像構成データの情報（ライン数、１ラインのピクセル数、１ピクセルのビット数、ライン部ブロックの先頭ポインタ、データ間隔等）をデータ返答としてサムネイルタスクに返す。但し、サムネイルタスクは、Ｙデータの間引きだけをカラー処理と同様に行う。サムネイル処理が終了したならば、ＪＰＥＧタスクにデータ返答が返され、ＪＰＥＧ処理がカラー画像と同様に行われる。ただし、ＪＰＥＧタスクは、ＪＰＥＧ回路（２０２）に対して、すべて１もしくは１に近い小さな値の量子化テーブルを設定し、量子化をディーセーブルする。また、Ｕ、Ｖデータが存在しないので、図１３（ｂ）のラスタブロック変換用構造体は、前半の２つのＹだけの１６段のリングバッファとし、Ｙのみのラスタブロック変換を行い、グレースケールの非量子化ＪＰＥＧファイルを生成する。このようにすることにより、文字等の記録に耐えるＪＰＥＧファイルを生成することができる。
【００２５】
以上の述べた白黒画像処理、サムネイル処理、ＪＰＥＧ処理を適宜繰り返すことにより、すべての信号処理シーケンスが終了する。サムネイルタスクは、その時点で、サムネイルリストに所定のヘッダーを付加し、ＴＩＦＦファイルとしてグレイスケールサムネイルファイルを生成する。このように、副画像であるサムネイルもカラー白黒に対応することにより、サムネイルファイルを見るだけで、主画像のカラー白黒を判別することが可能となる。また、各タスクは、処理中にデバイスの異常を検知した場合、致命的エラーを発行する。また、外部記憶媒体（１８）に対してのファイルライト中に、外部記憶媒体のカバー蓋が開けられたり、外部記憶媒体（１８）の空き容量が充分でないなど、予想外の事態でファイルのライトに失敗した場合にも、致命的エラーを発行する。致命的エラーが発行されると、必要最小限なエラー処理が行われた後にシステムは、シャットダウンされる。
【００２６】
○カラー撮影ＲＡＷ記録
ＲＡＷファイルの生成とＪＰＥＧファイルを生成しないことを除けば、カラー撮影ＪＰＥＧ記録と同様である。但し、すべての信号処理に先立って、ＣＣＤリストに所定のＲＡＷファイルヘッダを付加してＣＣＤＲＡＷファイルを記録し、その後、サムネイルタスクとカラー画像処理タスクのみを動作させる。この場合、サムネイルタスクは、マスターとして動作する。カラー画像処理、サムネイル処理を適宜繰り返すことにより、すべての信号処理シーケンスが終了し、サムネイルタスクは、その時点で、サムネイルリストに所定のヘッダーを付加し、ＴＩＦＦファイルとしてＲＧＢサムネイルファイルを生成する。また、各タスクは、処理中にデバイスの異常を検知した場合、致命的エラーを発行する。また、外部記録媒体（１８）に対してのファイルライト中に、外部記憶媒体のカバー蓋が開けられたり、外部記憶媒体（１８）の空き容量が充分でないなど、予想外の事態でファイルのライトに失敗した場合にも、致命的エラーを発行する。致命的エラーが発行されると、必要最小限なエラー処理が行われた後にシステムは、シャットダウンされる。
【００２７】
○白黒撮影ＲＡＷ記録
ＲＡＷファイルの生成とＪＰＥＧファイルを生成しないことを除けば、白黒撮影ＪＰＥＧ記録と同様である。但し、すべての信号処理に先立って、ＣＣＤリストに所定のＲＡＷファイルヘッダを付加してＣＣＤＲＡＷファイルを記録し、その後、サムネイルタスクと白黒画像処理タスクのみを動作させる。この場合、サムネイルタスクは、マスターとして動作する。白黒画像処理、サムネイル処理を適宜繰り返すことにより、すべての信号処理シーケンスが終了し、サムネイルタスクは、その時点で、サムネイルリストに所定のヘッダーを付加し、ＴＩＦＦファイルとしてグレイスケールサムネイルファイルを生成する。また、各タスクは、処理中にデバイスの異常を検知した場合、致命的エラーを発行する。また、外部記憶媒体（１８）に対してのファイルライト中に、外部記憶媒体のカバー蓋が開けられたり、外部記憶媒体（１８）の空き容量が充分でないなど、予想外の事態でファイルのライトに失敗した場合にも、致命的エラーを発行する。致命的エラーが発行されると、必要最小限なエラー処理が行われた後にシステムは、シャットダウンされる。
【００２８】
以上説明したように、本実施例によれば、デジタルカラー信号処理手段、デジタル白黒信号処理手段、ＪＰＥＧ圧縮手段、ＤＭＡＣによるデータ転送手段を持ち、１つのメモリを信号処理手段、圧縮手段が転送手段によって共有し、かつメモリ上の画像データの管理にリンクドリストを用いることによって、より小容量のメモリで、高度な画像処理を、高速に実現することが可能となった。
【００２９】
【発明の効果】
本発明に依れば蓄積手段での画像信号の管理の際にリンクドリストを用いているのでより小容量のメモリで高速な処理が行える様になった。
【図面の簡単な説明】
【図１】本発明の実施例のブロック図。
【図２】ＤＰＳブロックの詳細図。
【図３】ＣＣＤリストのメモリ構造を表す図。
【図４】ＤＭＡ転送後のデータ内容を表す図。
【図５】信号処理タスクの概念図。
【図６】カラー画像処理の概念図。
【図７】垂直加算混合処理の概念図。
【図８】ビデオ処理の概念図。
【図９】カラー画像処理に用いるリストのメモリ構造を表す図。
【図１０】１Ｈディレイラインのメモリ構造を表す図。
【図１１】サムネイルデータのメモリ構造を表す図。
【図１２】サムネイル処理の概念図。
【図１３】ラスタブロック変換の概念図。
【図１４】白黒画像処理の概念図。
【符号の説明】
１  レンズ、絞り、シャッター、水晶ローパスフィルタ等の光学系ユニット
２  ストロボ
３  ＣＣＤ
４  ＳＳＧ
５  ＡＤコンバータ
６  デジタル・シグナル・プロセッシング（ＤＳＰ）ブロック
７  ダイレクトメモリアクセスコントローラ（ＤＭＡＣ）
８  メインＣＰＵ
９  ＲＯＭ
１０  ＤＲＡＭ
１１  マイクロコンピュータ
１２  フラッシュＲＯＭ
１３  カードインタフェース
１４  拡張バスインタフェース
１５  電源コントローラ
１６  スイッチ、ダイヤル等の入力装置
１７  ＬＥＤ、ＬＣＤ等の表示装置
１８  ＰＣカードなどの外部記憶媒体
１９  ＰＣ通信インタフェース
【図１】
0003962440.tif 000002
【図２】
0003962440.tif 000003
【図３】
0003962440.tif 000004
【図４】
0003962440.tif 000005
【図５】
0003962440.tif 000006
【図６】
0003962440.tif 000007
【図７】
0003962440.tif 000008
【図８】
0003962440.tif 000009
【図９】
0003962440.tif 000010
【図１０】
0003962440.tif 000011
【図１１】
0003962440.tif 000012
【図１２】
0003962440.tif 000013
【図１３】
0003962440.tif 000014
【図１４】
0003962440.tif 000015