<第1の実施形態>
デジタルカメラにおいて画像に対し複数種類のフィルム調の画像効果を付加する場合、各効果を付加する順序を考慮する必要がある。フィルムの特性や現像の過程で発生する粒状ノイズを再現するグレインノイズ効果とフィルムの経年変化による退色を再現する色再現効果の異なる効果を画像に付加する場合を例に挙げて、説明する。
図3はフィルムカメラで動画を撮影してから上映するまでの過程を示しており、図4は図3で挙げた各過程で発生する主な現象に起因する効果を画像処理によって実現する部を示している。フィルム撮影から上映までの過程を(1)撮影、(2)現像・編集、(3)保管、(4)上映の4つに分ける。フィルムカメラにおいては上流の撮影の過程から下流の上映の過程を経る。
第1の過程である撮影はフィルムカメラ301を用いてフィルムへの撮影を行う過程である。この過程では入射光のフィルム面への結像と感光が行われる。フィルムカメラ301に装備されているレンズの光学特性や利用しているフィルムの化学特性の違いが主な現象として現れる。これらの現象に起因する効果として、例えばレンズの光学特性の違いによる歪曲収差が挙げられる。
第2の過程である現像・編集の過程は、フィルムの現像および編集を行う過程である。この過程ではフィルムの現像工程における現像時間や現像手法の違い、また現像作業のミスによるフィルム面302の損傷が主な現象として現れる。例えば現像手法の違いに起因して発生する効果として粒状ノイズが挙げられる。またフィルム面302の損傷に起因する効果としてスクラッチノイズが挙げられる。
第3の過程である保管の過程は、現像および編集が終わったフィルム303を保管している過程である。この過程では化学変化による経年劣化で発生したフィルム303の変質が主な現象として現れる。例えば、フィルムの変質に起因して発生する効果として退色が挙げられる。
第4の過程である上映の過程は、映写機304にフィルムをかけ、上映を行う過程である。この過程ではフィルムを巻き付けているリールが上映時に回転する際の回転ムラや映写機304の光源の明るさの変動が主な現象として挙げられる。例えばリールの回転ムラに起因して発生する効果として画像の上下ぶれが挙げられる。また、光源の明るさのムラに起因して発生する効果として明滅の効果が挙げられる。
上述のことからフィルム撮影で発生する現象は粒状ノイズ、退色の順で現象が発生する。従って、フィルム調の画像効果を複数付加する場合も、フィルム撮影で発生する現象と同じ順で画像効果を付加することが望ましい。
そこで、本実施形態では、取得する画像データに画像効果を加える処理を施す際に、フィルム撮影で発生する現象と同じ順序となるように画像効果を付加することを特徴とする。
図1は第1の実施形態における画像処理装置としてのデジタルビデオカメラのブロック図である。100はレンズ、絞りとこれらを駆動するアクチュエータから成る光学部、101は撮像素子と撮像素子から読み出した信号の処理を行い画像データとして順次取得し、出力する撮像部である。102は映像信号の記録を行う記録部、103はフィルム調の画像効果をユーザーが選択し、決定するためのスイッチ群で構成されるキースイッチである。
104、105は被写体像を結像するためのレンズで構成されるレンズ群である。107は入射光量を調節する絞りである。106はレンズ104と絞り107を指示された所定値に駆動するアクチュエータを含む駆動制御部である。撮像素子108は光学部100を通過し結像した入射光を光電変換する。光電変換された信号はカメラ信号処理部109へ入力される。カメラ信号処理部109では光電変換された信号に対し各種の画像処理を行い映像信号へ変換を行う。カメラ信号処理部109から出力された映像信号は画像効果処理部113で各種のフィルム調の画像効果が付加される。画像効果処理部113から出力された映像信号は所定のユーザーインターフェース画面(以下UI画面)が重畳されて、表示部134に表示される。また画像効果処理部113から出力された映像信号はエンコーダ132で所定の記録フォーマットで符号化され、記録メディア133へ書き込みされ、保存される。
次にカメラ信号処理部109の信号処理について説明する。カメラ信号処理部109へ入力した信号は輝度成分、色成分に分離される。分離された輝度成分、色成分の各信号成分に対し、ガンマ処理、カラーマトリクス処理、輪郭強調処理などの各種信号処理が行われる。処理後の信号は撮像画像として画像効果処理部113へ入力される。115は画像効果処理部113で処理された画像を格納するフレームメモリであり、所定のタイミングで画像の読み書きが行われる。
画像効果処理部113は複数の異なるフィルム調の画像効果を入力画像に付加する。付加する効果は、歪みを与える「歪曲」、粒子状のノイズを加える「グレインノイズ」、縦線状のノイズを加える「スクラッチノイズ」、彩度を下げる「退色」、時間変化する輝度レベルの変動を与える「明滅」、上下方向のぶれを与える「上下ぶれ」である。画像効果処理部113で加える上記効果は、フィルムを記録媒体とした動画撮影における記録(以下、撮影)から再生(以下、上映)までの過程で発生する現象と同様の効果を画像処理により実現する。従って本実施形態のように撮像素子によるデジタルの撮影画像であっても疑似的にフィルム撮影および上映された場合と同様の効果を得られる。歪曲収差を画像効果処理部113で実現するには、画像に対し射影変換処理を施すことで可能である。またフィルム面に発生した粒状ノイズを画像効果処理部113で実現するには、予め用意したグレインノイズ画像を入力画像に合成することで可能である。同様にフィルム面の損傷で発生したスクラッチノイズを画像効果処理部113で実現するには、予め用意したスクラッチノイズ画像を入力画像に合成することで可能である。また経年劣化による退色を画像効果処理部113で実現するには、画像の彩度の強度を下げることで可能である。リールの回転ムラは例えば上映シーンの垂直方向の変化となって現れるため、画像効果処理部113で実現するには、画像に上下方向のぶれを与える上下ぶれの効果を付加することで可能である。また光源の明るさの変動は、画像に時間で変化する輝度レベルの変動を加える明滅の効果を付加することで実現可能である。
システムコントローラ114は、撮像素子108とカメラ信号処理部109、画像効果処理部113の制御を行う。撮像素子108に対しては、信号の蓄積期間や読み出しタイミングの指示を行う。カメラ画像処理部109に対しては、各種信号処理で画質設定に必要なパラメータの設定を行う。またカメラ画像処理部109からは、露出制御、フォーカス制御、ホワイトバランス制御の各制御に必要な評価値を取得する。レンズ104と絞り107からは、その制御位置を検出し、カメラ画像処理部109から取得した評価値に基づき、制御位置が所望の位置となるように制御値を決定し、アクチュエータ106に制御値を指示する。システムコントローラ114は、画像効果処理部113に対しては各効果処理部に対し、効果の実行順の決定と各種設定と動作の指示を行う。
次に画像効果処理部113で上記フィルム調の画像効果を付加する画像処理の詳細について説明する。図11は本実施形態における「歪曲」を実現するための射影変換処理(歪曲処理、第1の処理)を説明する図である。射影変換処理では入力された撮像画像に対し、入力画像を所定数の分割領域に分割し、分割領域の各交点を所定の座標に移動することで入力画像の変形を実現する。分割領域の最小単位は画像を構成する画素1画素分であり、座標移動の最小単位も1画素分とする。各交点の移動量の絶対量は画像中心に対し点対称となっており、同心円状に変化する歪曲効果を実現できる。
また、歪曲収差には樽型と糸巻き型があるが、交点の移動特性を変えることでこれら二種類の歪曲収差を実現することができる。樽型は画像中心から外方向に交点の座標位置を移動することで実現できる。樽型歪曲の効果により、図11aの変形前の交点1101は図11bの変形後の交点1102に移動する。一方、糸巻き型歪みは、画像中心方向に変形を行うことで実現できる。糸巻き型歪曲の効果により図11a変形前の交点1101は図11cの変形後の交点1102に移動する。樽型および糸巻き型の効果の違いは射影変換処理部に歪曲効果の種別として与えられる。
図1の116は入力画像に与える変形量を演算する変形量演算部である。変形量演算部116はフレームメモリ115から入力された画像を所定の分割領域に分割した際の各領域の交点の移動量を決定する。変形処理部117は入力画像に対し、変形量演算部116で決定した変形量に従い、射影変換処理を施す。
変形量演算部116はメモリ135に格納された複数の変形量データ110から得たパラメータに基づき、複数パターンの交点の移動量を得ることができる。従って同じ入力画像に対して、変形量データパラメータの選択によって異なる歪曲特性を付加した画像を得ることができる。すなわち歪曲の度合いや樽型、糸巻き型という歪曲の種別の異なる光学特性のレンズで撮影された画像と同様の効果を与えることができる。
図12はグレインノイズを構成しているノイズデータと切り出したノイズデータの関係を示した図である。グレインノイズメモリ118はグレインノイズとして2次元ノイズデータ1201を格納している。グレイン切り出し処理部119はグレインノイズメモリ118から所定の位置と大きさのグレインノイズデータ1202を切り出す。切り出したグレインノイズデータ1202は、グレインリサイズ処理部120において、入力画像との合成に必要な大きさのグレインノイズデータ1203にリサイズ処理される。グレイン合成処理部121はフレームメモリ115に格納されている撮像画像を読み出し、所定の合成比率でグレインノイズデータ1203と合成して、フレームメモリ115に格納する。
図13は複数パターンのスクラッチノイズで構成されているノイズデータとそこから切り出すデータの関係を示した図である。スクラッチノイズデータ1301は水平方向の1画素を最小単位とし、垂直方向にスクラッチ傷が記憶されており、その強度は乱数で決定されている。また垂直方向は複数画素を最小単位として強度が変化しており、これにより、垂直方向にスクラッチノイズの濃さや太さが変化し、傷の「かすれ」を表現する。乱数はガウス分布をはじめとして様々なものが考えられるが、その種類には依らない。ノイズの合成において、スクラッチノイズデータ1301から切り出しノイズデータ1302を切り出し、さらに所定の画像サイズにリサイズして貼り付けノイズデータ1304を生成する。そして前回までの貼り付けノイズデータ1304の貼り付け位置とその位置での貼り付けの継続時間に応じて今回の貼り付けノイズデータ1304の貼り付け位置を決定し、撮像画像に合成する。
図1のスクラッチノイズメモリ122は複数のパターンから構成されているスクラッチノイズデータ1301を格納している。スクラッチノイズデータ1301はスクラッチノイズメモリ122から読み出される。スクラッチ切り出し処理部123はスクラッチノイズデータ1301上から指定された位置と大きさの切り出しスクラッチノイズデータ1302を切り出す。切り出しノイズデータ1302はスクラッチリサイズ処理部124でフレームメモリ115に格納されている撮像画像1303との合成に必要な大きさのリサイズ済みスクラッチノイズデータ1304にリサイズ処理される。スクラッチ合成処理部125はフレームメモリ115に格納されている撮像画像を読み出し、所定の合成比率でリサイズ済みノイズデータ1304と合成して、フレームメモリ115に格納する。
図14は本実施形態における退色を実現するための色差信号の補正処理について説明している。色差補正処理では、入力された撮像画像に対し、所定の入出力特性で出力画像の主に色差成分を変化させることで映像信号の彩度を低下させ、退色を実現する。例えば入力画像がYUVフォーマットの場合、色差成分であるU信号およびV信号のデータについて補正処理を行う。もちろん、適宜Y信号に補正処理を施しても良い。その結果、画像の輝度信号の維持したまま、色成分の強度だけが変化した結果を得ることができる。色差信号の変化の最小単位は出力画像の信号の最小分解能である。
図1のメモリ135は、映像信号の色差の入出力特性を決定する複数の色差特性データ111を格納している。例えば特性1401、1402、1403に示す一次関数で表される場合、パラメータデータとしては直線の傾き、切片がある。上記の特性1401は退色がない通常の特性を示し、特性1402は特性1401より退色している、すなわち色が薄い特性を示し、特性1403は特性1402よりさらに色が薄い特性を示す。経年変化の度合い、例えばフィルムの現像からの経過年数に応じて特性データを決定する。決定されたパラメータデータは色差補正処理部126へ送られる。色補正処理部126は決定された特性となるパラメータデータに応じて、フレームメモリ115から読み出した撮像画像に対し、色差の入出力特性の補正を行い、補正済みの撮像画像をフレームメモリ115に出力する。また、前述したように輝度信号に対してもゲイン等の補正処理を施しても良い。
図15は撮像素子で撮像した撮像画像が格納されているフレームメモリ115内のデータの構造とフレームメモリ115から任意の位置で切り出しを行った場合に表示される画像を示した図である。フレームメモリ内のデータは逐次更新されている。上下ぶれ処理の対象となる撮像画像の前後の領域には別の用途のデータが格納されているが、上下ぶれ処理としては関連のないデータであるためノイズデータと見なせる。格納されている撮像画像を所定の切り出し開始位置で、かつ所定の切り出し範囲で切り出しを行うと、表示画像1500として出力される。この時、切り出し開始位置を乱数で決定することで、無作為に決定した位置から切り出しを行うことができる。その結果、上下ぶれの効果を付加した撮像画像は表示画像1501、1502のように出力される。切り出し開始位置は画像の垂直方向の1画素分つまり1ライン分を最小単位として決定される。また、切り出し開始位置を決定する乱数は、ガウス分布をはじめとして様々なものが考えられるが、その種類には依らない。
また、上下ぶれ量すなわち、ぶれがない状態を基準位置として、基準位置から切り出し開始位置までのオフセット量(ぶれ量)に上限を設けることで、一定量以上のぶれが発生しないようにしている。また、異なる周期で決定した二つの上下ぶれ量の和を切り出し開始位置とする。これにより、フィルムの送出動作で発生する上下ぶれとフィルムの巻き取り動作で発生する上下ぶれのように異なる種類のぶれの組み合わせとして構成される上下ぶれを表現することが可能である。
上述したように上下ぶれの効果を付加すると、表示画像の下部にノイズデータ(取得された画像データの存在しないデータ)が表示されるため、これを隠蔽する必要がある。以下に隠蔽方法を示す。上下ぶれの無い撮像画像1503に対し、任意の上下ぶれが発生した撮像画像1504、1505には画面下部にノイズデータが表示される。隠蔽方法として例えば、マスクを付加する方法、あるいは拡大する方法が考えられる。
マスクを付加する方法では、撮像画像1507に対し、上下ぶれの最大ぶれ幅(上記オフセット量)以上となるマスク画像1506を画面下部に重畳しノイズデータを隠す。この時、画面上部にも同じ大きさのマスク画像を重畳することで、いわゆるレターボックス状態のアスペクト比の撮像画像1505を表示することができる。
一方、マスクを付加するのではなく、切り出された画像データを元の画像サイズまで拡大する方法でもよい。この場合、システムコントローラ114は、上下ぶれを発生させる撮像画像1508の内側にある上下ぶれの最大ぶれ幅を含まない領域1509の高さが画面高に等しくなるように画像データを拡大することで、表示画像1510として表示することができる。このとき、画面のアスペクト比を維持しておく必要がある。
切り出し処理部129は上下ぶれの効果を与えるためにフレームメモリ115から撮像画像をぶれ量演算部128で指定された任意の位置で読み出しを行い、フレームメモリ115へ格納する。
マスク生成部130は所定の上下幅のマスク画像を生成する。この所定の上下幅は、現在画像データに付加されている最大ぶれ幅をシステムコントローラ114から取得し、最大ぶれ幅以上に設定しても良いし、予め十分な上下幅で記憶されているものを用いても良い。マスク合成処理部131は所定のタイミングでフレームメモリ115に格納されている撮像画像1507と、マスク処理部1307が生成したマスク画像1308の合成を行い、合成画像を出力する。
図16は本実施形態における明滅を実現するための輝度信号の補正処理について説明している。輝度補正処理では入力された撮像画像に対し、逐次異なる入出力特性で出力画像の輝度成分を変化させることで明滅を実現する。輝度信号の変化の最小単位は出力画像の信号の最小分解能であり、時間の最小単位は撮像画像の更新周期となる。基準となる特性1601から特性1602、1603、1604の実線で示される特性の順に補正した場合、撮像画像は画像1606、1607、1608となる。この時、画像1608>画像1605>画像1607>画像1606の順で明るい。明滅をランダムに発生させるため、例えば入出力特性を構成するパラメータデータを複数用意しておき、その中からどのパラメータデータを利用するかを乱数で決定することが考えられる。このパラメータデータ決定の乱数は、ガウス分布をはじめとして様々なものが考えられるが、その種類には依らない。
図1のメモリ135は映像信号の輝度の入出力特性を決定する複数の輝度特性データ格納部112を格納している。例えば特性が1601〜1604のように一次関数で表される場合、パラメータデータとしては直線の傾き、切片がある。また特性1604のように、入力が大きい場合に出力をクリップするポイントやクリップされる値もパラメータデータである。決定されたパラメータデータは輝度補正処理部127へ送られる。輝度補正処理部127は決定された補正特性となるパラメータデータに応じて、フレームメモリ115から読み出した撮像画像に対し、輝度の入出力特性の補正を行い、補正済みの撮像画像をフレームメモリ115に出力する。
システムコントローラ114は、グレイン切り出し処理部119に対してはグレインノイズメモリ118からの切り出し位置と大きさの指示を行い、グレインリサイズ処理部120に対してはリサイズ量の指示を行う。そしてグレイン合成処理部121に対しては読みだされる画像データとグレインノイズデータ1203の合成比率の指示を行う。同様にスクラッチノイズの合成を行うスクラッチ切り出し処理部122にはスクラッチノイズメモリ121からの切り出し位置と大きさの指示を行う。スクラッチリサイズ処理部124には、切り出したスクラッチノイズのリサイズ量の指示を行う。そしてスクラッチ合成処理部125に対しては、スクラッチノイズの合成位置と撮像画像との合成比率の指示を行う。
次に、本実施形態における上記の各フィルム調の画像効果を付加するためのユーザーの操作を含めた動作を説明する。
システムコントローラ114は、キースイッチ103の操作を入力として受け付け、表示部134に対し、フィルム調の画像効果の選択、決定とそのためのUI画面の制御を行う。図17は表示部134に表示されるフィルム調の画像効果のUI画面である。キースイッチ103を操作し、フィルム調の画像効果の設定を開始すると、画面1700に遷移する。1701はUI画面上に構成されたフィルム調の画像効果の設定終了のボタンである。キースイッチ103を操作してボタン1701を選択して決定を実行するとフィルム調の画像効果設定画面が終了し、その段階で選択されている効果が実行される。ボタン1702はUI画面上に構成され、明滅の効果の有効無効を決定し、その状態を示すボタンである。ボタン1702の状態は明滅の効果が無効であることを示している。その他のフィルム調の画像効果である。歪曲、グレインノイズ、スクラッチノイズ、退色、上下ぶれについても明滅と同様のボタンで効果の設定と状態の把握が可能である。効果の設定ボタンはトグル動作をとる。明滅効果が無効状態中にボタン1702を操作するとボタン1704に示す有効状態となる。逆にボタン1704の有効状態で操作するとボタン1702の無効状態となる。他の効果のボタンについても同様の動作である。画面1703はフィルム調の画像効果のうち、歪曲、上下ぶれ、明滅が選択された状態を示している。また、画面1705は全てのフィルム調の画像効果が選択されいる状態を示している。
次に図5、図6、図9を用いて、本実施形態の特徴的な処理である、複数のフィルム調の画像効果が選択された場合の各効果の実行順の決定方法について詳述する。例えば、効果の実行順を考慮せずにシステムコントローラ112が上下ぶれ、スクラッチノイズの順でフィルム調の画像効果を実行したとする。この場合、各効果の元となる現象はそれぞれ上映時のフィルム走行による上映画像の上下ぶれ、現像作業のミスによるフィルム面損傷によるノイズであるから、フィルム撮影本来の現象発生順はスクラッチノイズ、上下ぶれの順となる。この順が上下ぶれ、スクラッチノイズとなると、撮像画像は上下に揺れるがスクラッチノイズは揺れない画像が出力されてしまい、本来のフィルム撮影で得られる効果と異なった結果となる。
そこで、本実施形態では、各効果に優先度を予め定めておき、その優先度に従って実行順を決定する。この時、図6に示すように、フィルム撮影から上映までの過程で発生する現象の順に沿って、フィルム調の画像効果の優先度を決める。優先度の値は大きいほど先に実行される効果であることを示す。図6の表の部は各効果を実現するための画像処理の方法を示す情報であり、属性はフィルム撮影時に発生する現象と各効果の対応を示す情報である。図6に示す優先度に従えば、全ての効果を選択した場合、歪曲(第1の処理)、グレインノイズ(第2の処理)、退色(第5の処理)、スクラッチノイズ(第2の処理)、上下ぶれ(第3の処理)、明滅(第4の処理)の順で実行される。上下ぶれ、明滅は共に再生の属性を有しており、上映の過程で発生する現象であるため、他の効果の後で実行される優先度としている。また上下ぶれ、明滅の間の優先度は実際のフィルム上映の過程ではフィルムの送出後、光源による投影が行われることから、上下ぶれ、明滅の順の優先度としている。
次に図9を用い、システムコントローラ114が本実施形態における複数のフィルム調の画像効果を各部に実行させる制御について説明する。本実施形態では、ユーザーからの操作を受けて撮像素子108から所定のフレームレートで取得される画像データに対して画像効果処理部113による各処理が施される。しかし、これに限らず、記録メディア133に記憶されていたり、外部から入力される動画像データあるいは複数枚の時間的に連続して撮影された画像データなどに本処理を適用してもよい。ステップS901ではキースイッチ103の操作情報からフィルム調の画像効果の実行が決定されたか否かを判断する。実行が決定されていればステップS902へ進み、実行が解除されていればステップS907へ進む。
ステップS902ではUI画面の選択結果から全ての効果について、効果を有効あるいは無効とする、いずれかの操作がなされたかを示す付加効果情報を取得する。情報を取得するとステップS903へ進む。
ステップS903では前回の制御で取得した付加効果情報と今回取得した付加効果情報を比較し、同一かあるいは差違があるかを判断する。同一であればフィルム調の画像効果の操作がなされていないと判断し制御を終了する。一方、差違があれば効果の付加についてなんらかの変化があったと判断しステップS904へ進む。
ステップS904では指定された効果についてステップS902で取得した付加効果情報が有効あるいは無効のいずれの状態であるかを判断する。判断結果から有効である場合はステップS905へ進み、無効である場合はステップS906へ進む。
ステップS905では有効な効果について図6の表の優先度で決定されている値を指定の効果の優先度として決定する。ここでは、数値が高いほど優先度が高いものとしている。優先度が決定されるとステップS907へ進む。
ステップS906では無効な効果について指定の効果の優先度を0に決定する。0は図6の表に記されている、どの効果よりも低い優先度となるように規定している。優先度が決定されるとステップS907へ進む。
ステップS907では全ての効果について優先度を決定したか否かを判断する。決定が完了していればステップS908へ進み、完了していなければ次にステップS904で判断する効果を決定しステップS904へ進む。
ステップS908では決定された各効果の優先度に基づいて効果を掛ける順番を決定する。その後、ステップS909へ進む。
ステップS909では各画像効果の設定パラメータを決定する。この時ステップS906で優先度が0となった効果についてはフレームメモリ115から画像の読み出しをさせず画像処理を行わない指示の設定、あるいは効果の前後で画像に変化を生じさせない設定パラメータの決定を行い、効果を無効とする。設定パラメータの決定が完了するとステップS911へ進む。
ステップS910では、全ての効果について画像処理を行わない指示の設定、あるいは効果の前後で画像に変化を生じさせない設定パラメータの決定を行い、効果を無効とする。設定パラメータの決定が完了するとステップS911へ進む。
ステップS911ではステップS909、S910で決定した設定パラメータを画像効果処理部113の各処理部へ設定し、各部に画像効果の処理を実行させる。またシステムコントローラ114は、ステップS908で優先度順に並べ替えを行った効果の順に各処理の実行を指示する。画像効果処理部113は各処理部で順次取得される画像データを処理し、次の処理部へ順次出力して画像効果処理部113内で有効となっている処理が終わると処理後の画像データが画像効果処理部113から順次出力される。設定パラメータの設定と実行順の指示が完了すると制御を終了する。
図5は第1の実施形態で図6に示す効果の優先度の場合に、全ての効果を有効とした際、入力画像である撮像画像501にどのような画像処理がどのような順で施され、最終出力画像508が得られるかを示した図である。502〜507はそれぞれフレームメモリ115に格納された画像であり、各々、歪曲、グレインノイズ、スクラッチノイズ、退色、上下ぶれ、明滅の各効果が順次施された画像である。図5を見ると、例えば上下ぶれおよび明滅の画像効果が他の画像効果より後に施されていることがわかる。
以上のように、第1の実施形態では、複数種のフィルム調の画像効果を撮像画像に施す場合、予め効果ごとに優先順を定めておく。この時、フィルム調の画像効果として上映の過程で発生する現象に対応する効果の実行順が撮影時に発生する他の現象に対応する効果より後となる優先順とする。これにより上映時に発生する現象が撮影時に発生する現象の前に施されることを防ぎ、よりフィルム調に近い効果が付加された撮像結果を得ることが可能となる。
<第2の実施形態>
本実施形態は、フィルム調の画像効果として複数の異なる効果を画像に付加することが可能な画像処理装置である。図2は第2の実施形態における画像処理装置としてのデジタルビデオカメラのブロック図である。200はレンズ、絞りとこれらを駆動するアクチュエータから成る光学部、201は撮像素子と撮像素子から読み出した信号の処理を行い映像信号として出力する撮像部である。202は映像信号の記録を行う記録部、203はフィルム調の画像効果をユーザーが選択し、決定するためのスイッチ群で構成されるキースイッチである。
204、205は被写体像を結像するためのレンズで構成されるレンズ群である。207は入射光量を調節する絞りである。206はレンズ204と絞り207を指示された所定値に駆動するアクチュエータである。撮像素子208は光学部200を通過し結像した入射光を光電変換する。光電変換された信号はカメラ信号処理部209へ入力される。カメラ信号処理部209では光電変換された信号に対し各種の画像処理を行い映像信号へ変換を行う。カメラ信号処理部209から出力された映像信号は画像効果処理部213で各種のフィルム調の画像効果が付加される。画像効果処理部213から出力された映像信号は所定のユーザーインターフェース画面(以下UI画面)が重畳されて、表示部234に表示される。また画像効果処理部213から出力された映像信号はエンコーダ232で所定の記録フォーマットで符号化され、記録メディア233へ書き込みされ、保存される。
次にカメラ信号処理部209の信号処理について説明する。カメラ信号処理部209へ入力した信号は輝度成分、色成分に分離される。分離された輝度成分、色成分の各信号成分に対し、ガンマ処理、カラーマトリクス処理、輪郭強調処理などの各種信号処理が行われる。処理後の信号は撮像画像としてフレームメモリ215へ入力される。フレームメモリ215はカメラ信号処理部209およびフィルタ効果処理部213で処理された画像を格納するフレームメモリであり、所定のタイミングで画像の読み書きが行われる。
画像効果処理部213は複数の異なるフィルム調の画像効果を入力画像に付加する。付加する効果は、歪みを与える「歪曲」、粒子状のノイズを加える「グレインノイズ」、縦線状のノイズを加える「スクラッチノイズ」、彩度を下げる「退色」、時間変化する輝度レベルの変動を与える「明滅」、上下方向のぶれを与える「上下ぶれ」である。画像効果処理部213はフィルム調の画像効果を付加する画像処理の種類によって3つのサブブロックに分けられている。
第1のサブブロックはフレームメモリ213から読み出した画像データに対し、変形を行う画像処理ブロックである。第1のサブブロックでは歪曲と上下ぶれの効果を実現する。第2のサブブロックはフレームメモリ213から読み出した画像データに対し、輝度および色の特性補正を行う画像処理ブロックである。第2のサブブロックでは退色と明滅の効果を実現する。第3のサブブロックはフレームメモリ213から読み出した画像データに対し、別の画像データの合成を行う画像処理ブロックである。第3のサブブロックではグレインノイズとスクラッチノイズの効果を実現する。
次に本実施形態の特徴的な処理である、サブブロックによる複数のフィルム調の画像効果の画像処理の説明と、サブブロック内の処理の実行順について詳述する。第1のサブブロックはフィルム撮影から上映の過程のうち、撮影時のレンズの光学特性に起因する現象を疑似的に再現する歪曲の効果と、上映時のフィルム走行に起因する現象を疑似的に再現する上下ぶれの効果を付加する二つの画像処理部で構成されている。
第1のサブブロックはフレームメモリ215に格納された撮像画像を入力する。216は入力画像に与える変形量を演算する変形量演算部である。変形量演算部216はフレームメモリ215から入力された画像を所定の分割領域に分割した際の各領域の交点の移動量を決定する。変形処理部217は入力画像に対し、変形量演算部216で決定した変形量に従い、幾何変形処理を施す。幾何変形処理が施された画像は上下ぶれ切り出し処理部229へ入力される。
さらに変形量演算部216は複数の変形量データパラメータが格納された変形量データ210から得たパラメータに基づき、様々な移動量を決定する。これにより、同じ入力画像に対し異なる歪曲特性を付加した画像、すなわち歪曲の度合いや樽型、糸巻き型といった歪曲の種類の異なる光学特性のレンズで撮影された画像の効果を与えることができる。
上下ぶれ切り出し処理部229は上下ぶれの効果を与えるために入力された画像をその内部のバッファメモリ(不図示)に格納する。ぶれ量演算部228で指定された任意の位置でバッファメモリからの読み出しを行い、フレームメモリ215へ格納する。
第2のサブブロックはフィルム撮影から上映の過程のうち、フィルムの経年変化に起因する現象を疑似的に再現する退色の効果と、上映時の光源に起因する現象を疑似的に再現する明滅の効果を付加する二つの画像処理部で構成されている。
第2のサブブロックはフレームメモリ215に格納された撮像画像を入力する。色差特性データ格納部211は映像信号の色差の入出力特性を決定するパラメータデータを複数格納しているメモリである。例えば特性が1401、1402、1403のように一次関数で表される場合、パラメータデータとしては直線の傾き、切片がある。上記の特性1401は退色がない通常の特性を示し、特性1402は特性1401より色が薄い特性を示し、特性1403は特性1402よりさらに色が薄い特性を示す。経年変化の度合い、例えば保管の経過年数の指定に応じて補正特性となるデータを決定する。決定されたパラメータデータは色差補正処理部226へ送られる。
色差補正処理部226は決定された補正特性となるパラメータデータに応じて、フレームメモリ215から読み出した撮像画像に対し、色差の入出力特性の補正を行い、補正済みの撮像画像を輝度補正処理部227に出力する。また色差補正処理はカメラ信号処理部209の後に行われる処理であるため、色差補正処理により出力特性が変わったとしても、その結果がカメラ信号処理部209で行われる色成分の処理に影響を与えることはない。
輝度特性データ格納部212は映像信号の輝度の入出力特性を決定するパラメータデータを複数格納しているメモリである。例えば特性が1601〜1604のように一次関数で表される場合、パラメータデータとしては直線の傾き、切片がある。また特性1604のように、入力が大きい場合に出力をクリップするポイントやクリップされる値もパラメータデータである。決定されたパラメータデータは輝度補正処理部233へ送られる。輝度補正処理部227は決定された補正特性となるパラメータデータに応じて、色差補正処理部226から入力された撮像画像に対し、輝度の入出力特性の補正を行い、補正済みの撮像画像をフレームメモリ215に出力する。また輝度補正処理はカメラ信号処理部209の後に行われる処理であるため、輝度補正処理により出力特性が変わったとしても、その結果がカメラ信号処理部209で行われる輝度成分の処理に影響を与えることはない。
第3のサブブロックはフィルム撮影から上映の過程のうち、現像処理に起因する異なるノイズである粒状ノイズと線状ノイズを疑似的に再現するグレインノイズとスクラッチノイズの効果を付加する二つの画像処理部で構成されている。
第3のサブブロックはフレームメモリ215に格納された撮像画像を入力する。グレイン合成処理部221はフレームメモリ215に格納されている撮像画像を読み出し、所定の合成比率でグレインノイズデータ1203と合成して、フレームメモリ215に格納する。
222は複数のパターンから構成されているスクラッチノイズデータ1301を格納しているスクラッチノイズメモリである。スクラッチノイズデータ1301はスクラッチノイズメモリ222から読み出される。スクラッチノイズ切り出し処理部223はスクラッチノイズデータ1301上から指定された位置と大きさの切り出しスクラッチノイズデータ1302を切り出す。切り出しノイズデータ1302はスクラッチノイズ拡大処理部224でフレームメモリ215に格納されている撮像画像1303との合成に必要な大きさのリサイズ済みスクラッチノイズデータ1304にリサイズ処理される。スクラッチノイズ合成処理部225はフレームメモリ215に格納されている撮像画像を読み出し、所定の合成比率でリサイズ済みノイズデータ1304と合成して、フレームメモリ215に格納する。
マスク処理部230は第1、第2、第3のいずれのサブブロックにも含まれる処理部ではないが、上下ぶれの効果が選択されている場合に上下ぶれの最大幅以上となるマスク画像を生成する。マスク合成処理部231は所定のタイミングで、第1、第2、第3のサブブロックでの画像処理が完了し、フレームメモリ215に格納されている撮像画像1507と、マスク処理部1307が生成したマスク画像1308の合成を行い、合成画像を出力する。
システムコントローラ214は、撮像素子208とカメラ信号処理部209、フィルム効果制御部213の制御を行う。撮像素子208に対しては、信号の蓄積期間や読み出しタイミングの指示を行う。カメラ画像処理部209に対しては、各種信号処理で画質設定に必要なパラメータの設定を行う。またカメラ画像処理部209からは、露出制御、フォーカス制御、ホワイトバランス制御の各制御に必要な評価値を取得する。レンズ204と絞り207からは、その制御位置を検出し、カメラ画像処理部209から取得した評価値に基づき、制御位置が所望の位置となるように制御値を決定し、アクチュエータ206に制御値を指示する。
フィルム効果制御部239に対しては各効果処理部に対し、効果の実行順の決定と各種設定と動作の指示を行う。変形量データ210に対しては、付加したい歪曲の種別とその度合いを指示し、変形量パラメータを取得する。変形量演算部217に対しては、取得した変形量を設定する。
グレイン切り出し処理部219に対してはグレインノイズメモリ218からの切り出し位置と大きさの指示を行い、グレインリサイズ処理部220に対してはリサイズ量の指示を行う。グレイン合成処理部221に対しては撮像画像とグレインノイズデータ1203の合成比率の指示を行う。同様にスクラッチノイズの合成を行うスクラッチ切り出し処理部222およびスクラッチノイズリサイズ処理部224およびスクラッチ合成処理部225に対してはスクラッチノイズメモリ221からの切り出し位置と大きさおよび切り出したスクラッチノイズのリサイズ量およびスクラッチノイズの合成位置と撮像画像との合成比率の指示を行う。
図2のメモリ238に格納されている色差特性データ211に対しては経年変化の度合いを指示し、その度合いに応じた色差補正データを取得する。そして取得したデータを色差補正処理部226へ設定する。同様にメモリ238輝度特性データ212に対しては明滅の変化の度合いを指示し、その度合いに応じた輝度補正データを取得する。そして取得したデータを輝度補正処理部227へ設定する。
ぶれ量演算部228に対しては、ぶれ量演算の指示を行い、上下ぶれ切り出し処理部229に対しては切り出し動作の指示を行う。またマスク処理部237に対してはマスク画像生成の指示を行う。
システムコントローラ212は、キースイッチ203の操作を入力として受け付け、表示部234に対し、フィルム調の画像効果の選択、決定とそのためのUI画面の制御を行う。図17は表示部234に表示されるフィルム調の画像効果のUI画面である。キースイッチ203を操作し、フィルム調の画像効果の設定を開始すると、画面1700に遷移する。1701はUI画面上に構成されたフィルム調の画像効果の設定終了のボタンである。キースイッチ203を操作してボタン1701を選択して決定を実行するとフィルム調の画像効果設定画面が終了し、終了前の段階で選択されている効果が実行される。ボタン1702はUI画面上に構成され、明滅の効果の有効無効を決定し、その状態を示すボタンである。ボタン1702の状態は明滅の効果が無効であることを示している。その他のフィルム調の画像効果である。歪曲、グレインノイズ、スクラッチノイズ、退色、上下ぶれについても明滅と同様のボタンで効果の設定と状態の把握が可能である。効果の設定ボタンはトグル動作をとる。明滅効果が無効状態中にボタン1702を操作するとボタン1704に示す有効状態となる。逆にボタン1704の有効状態で操作するとボタン1702の無効状態となる。他の効果のボタンについても同様の動作である。画面1703はフィルム調の画像効果のうち、歪曲、上下ぶれ、明滅が選択された状態を示している。また、画面1705は全てのフィルム調の画像効果が選択されいる状態を示している。
次に図7、図8、図10を用いて、複数のフィルム調の画像効果が選択された場合のサブブロック間の実行順の決定方法について詳述する。本実施形態ではフィルム調の画像効果がサブブロック単位で実行される。例えば、全ての効果を選択して実行した場合、第1から第3までの全てのサブブロックによる画像処理が実施される。サブブロック間の実行順を第1、第2、第3のサブブロックの順とすると、第3のサブブロックで実施されるグレインノイズとスクラッチノイズの効果が最後の処理となる。そのため、フィルム撮影から上映までの過程のうち下流過程である上映の過程の効果である上下ぶれや明滅が上流過程の効果である粒状ノイズや縦線ノイズの前に付加されることになる。こうしてしまうと、撮像画像は上下に揺れるがスクラッチノイズは揺れない画像が出力されてしまい、本来のフィルム撮影で得られる効果と異なった結果となる。
そこで、本実施形態では、各効果に優先度を予め定めておき、サブブロックごとに優先度に従った評価値を決定し、評価値の順に実行順を決定する。図8は様々なフィルム調の画像効果の優先度と評価値の関係を示した表である。図8aは全ての効果を実施する場合の各サブブロックの評価値を示している。図8aの表の手段は各効果を実現するための画像処理の方法を示す情報を示している。属性はフィルム撮影時に発生する現象と各効果の対応を示す情報と、その効果がどの過程の現象に相当するかを示している。優先度は上流過程ほど値が大きくなる。また、評価値は値が大きいほど先に実行される。従って、図8aに示す例では、第1、第3、第2のサブブロックの順で実行される。
ここで図10を用い、システムコントローラ114が本実施形態における複数のフィルム調の画像効果を各部に実行させる制御について説明する。本実施形態では、ユーザーからの操作を受けて撮像素子108から所定のフレームレートで取得される画像データに対して画像効果処理部113による各処理が施される。しかし、これに限らず、記録メディア133に記憶されていたり、外部から入力される動画像データあるいは複数枚の時間的に連続して撮影された画像データなどに本処理を適用してもよい。ステップS1001ではキースイッチ203の操作情報からフィルム調の画像効果の実行が決定されたか否かを判断する。実行が決定されていればステップS1002へ進み、実行が解除されていればステップS1018へ進む。
ステップS1002ではUI画面の選択結果から全ての効果について、効果が有効あるいは無効とする、いずれかの操作がなされたかを示す付加効果情報を取得する。情報を取得するとステップS1003へ進む。
ステップS1003では前回の制御で取得した付加効果情報と今回取得した付加効果情報を比較し、同一あるいは差違があるかを判断する。同一であればフィルム調の画像効果の操作がなされていないと判断し制御を終了する。一方、差違があれば効果の付加についてなんらかの変化があったと判断しステップS1004へ進む。
ステップS1004では指定された効果についてステップS1002で取得した付加効果情報が有効あるいは無効のいずれの状態であるかを判断する。判断結果から有効である場合はステップS1005へ進み、無効である場合はステップS1006へ進む。
ステップS1005では有効な効果について、図8aの表の優先度で決定されている値を指定の効果の優先度として決定する。優先度が決定されるとステップS1007へ進む。
ステップS1006では無効な効果について、指定の効果の優先度を0に決定する。この優先度はどの効果の優先度よりも小さな値である。優先度が決定されるとステップS1007へ進む。
ステップS1007では全ての効果について優先度を決定したか否かを判断する。決定が完了していればステップS1008へ進み、完了していなければ次にステップS1004で判断する効果を決定しステップS1004へ進む。
ステップS1008では、各サブブロック内の効果の優先度を比較し、優先度が高い、つまり実行順が先である効果の優先度を取得する。図8aに示す構成であれば、第1のサブブロックについては歪曲の効果の優先度、第2のサブブロックについては退色の効果の優先度、第3のサブブロックについてはグレインノイズの効果の優先度をそれぞれ取得する。優先度の取得が完了するとステップS1009へ進む。
ステップS1009では、ステップS1008で取得した各サブブロックの優先度をその値の大きい順に並べ替える。図8aに示す構成であれば、並べ替えた優先度は4,3,2の順となる。並べ替えが完了するとステップS1010へ進む。
ステップS1010では、ステップS1009で並べ替えた優先順に従って、対応するサブブロックの評価値を決定する。評価値は優先度の高い順から2,1,0とする。図8aの例であれば評価値は第1のサブブロックが2、第2のサブブロックが1、第3のサブブロックが0となる。優先度が同じで、残りの効果より高い場合は、評価値はともに2とする。逆に小さい場合は評価値はともに0とする。サブブロックの評価値の決定が完了するとステップS1011へ進む。
ステップS1011では、ステップS1010で決定した評価値が各サブブロック間で、全て異なっているか否かを判断する。図8aに示される効果は、各サブブロックの評価値が全て異なっている例である。一方で図8b、図8c、図8dは、サブブロックを構成する複数の効果のうち、最初の効果の評価値が等しいものから成るサブブロックの構成を示す例である。図8b、図8cでは第1と第2のサブブロック、図8dでは全てのサブブロックの優先度が等しい。評価値が全て異なっている場合はステップS1017へ進む。図8b、図8c、図8dのように、いずれかのサブブロックの評価値が同じ場合はステップS1012へ進む。
ステップS1012では、各サブブロックについて、ステップS1002で取得した付加効果情報に基づき、サブブロックを構成する効果のうち、優先度が二番目の効果が有効あるいは無効のいずれの状態であるかを判断する。図8bはサブブロック内の二番目の効果が全て有効である例である。図8c、図8dは第1および第3のサブブロックの二番目の効果が有効、第2のサブブロックの二番目の効果が無効である例である。判断結果から効果が有効である場合はステップS1013へ進み、無効である場合はステップS1014へ進む。
ステップS1013では、二番目の効果の優先度を取得する。図8bに示す効果の例であれば、第1、第2、第3のサブブロックの優先度はそれぞれ1、2、1となる。優先度を決定するとステップS1015へ進む。
ステップS1014では、二番目の効果のないサブブロックの優先度を5に決定する。この優先度はどの効果の優先度よりも大きな値である。図8cに示す例では、サブブロックの優先度はそれぞれ1、5、1となる。同様に図8dに示す例では、サブブロックの優先度はそれぞれ1、5、2となる。優先度が決定されるとステップS1015へ進む。
ステップS1015では、全ての効果について優先度を決定したか否かを判断する。決定が完了していればステップS1016へ進み、完了していなければステップS1012へ進む。
ステップS1016では、ステップS1013、S1014で決定した優先度に従い各サブブロックの仮の評価値を決定する。仮の評価値は優先度の高い順から2、1、0とする。優先度が同じで、残りの効果より高い場合は、仮の評価値はともに2とする。逆に小さい場合は仮の評価値はともに0とする。図8bに示す例では、第1のサブブロックは0、第2のサブブロックは2、第3のサブブロックは0の仮の評価値となる。得られた仮の評価値は、ステップS1010で決定した最初の効果の優先度に基づいて決定された評価値に加算され、最終評価値となる。図8bの例であれば、第1、第2、第3の各サブブロックの最終評価値は2、4、0となる。サブブロックの最終評価値が決定するとステップS1017へ進む。
ステップS1017では決定された各サブブロックの評価値を高い順に並べ替える。並べ替えの順に各サブブロックの画像処理が実行され、フィルム調の画像効果が付加される。並べ替えが完了したらステップS1018へ進む。
ステップS1018では各効果の設定パラメータを決定する。この時ステップS1006で優先度が0となった効果あるいはステップS1014で優先度が5となった効果、つまり無効であるに効果に関しては、フレームメモリ215から画像の読み出しを行わない指示の設定を行う。あるいは読み出した画像に対して効果の付加前後で同じ特性とする設定パラメータの決定を行い、効果を無効とする。設定パラメータの決定が完了するとステップS1020へ進む。
ステップS1019では、全ての効果について画像処理を行わない指示の設定、あるいは読み出した画像に対して効果の付加前後で同じ特性とする設定パラメータの決定を行い、効果を無効とする。設定パラメータの決定が完了するとステップS1020へ進む。
ステップS1020ではステップS1018、S1019で決定した設定パラメータを画像効果処理部213の各画像処理部へ設定する。また、ステップS1017で得た並べ替え順に各サブブロックに対し、画像処理の実行を指示する。設定パラメータの設定と実行順の指示が完了すると制御を終了する。
図7は第2の実施形態で図8aに示す効果の優先度の場合に、全ての効果を有効とした際、入力画像である撮像画像701にどのような画像処理がどのような順で施され、最終出力画像708が得られるかを示した図である。702、703、704、705、706、707はそれぞれフレームメモリ215に格納された画像であり、歪曲、上下ぶれ、グレインノイズ、スクラッチノイズ、退色、明滅の各効果が順次施された画像を示している。サブブロック内の効果についてみると、上下ぶれは第1のサブブロックの最後の効果、また明滅は第3のサブブロックの最後の効果として施されていることを示している。
第2の実施形態では、複数のフィルム調の画像効果を撮像画像に施す場合、効果を複数まとめたサブブロックを構成する。サブブロック内の複数の効果は、フィルム調の画像効果として上下ぶれあるいは明滅など上映の過程で発生する現象に対応する効果の実行順が他の効果より後となる優先順で構成する。これにより同一サブブロック内で上映時に発生する現象が上流過程である撮影時や保管時に発生する現象の前に施されることを防ぎ、よりフィルム撮影に近い効果が付加された撮像結果を得ることが可能となる。
さらに、本実施形態ではフレームメモリ215と画像効果処理部213の間の画像データの読み書きがサブブロック単位で行われる。従って、付加する効果の数が多くなった場合に、各効果の処理単位でフレームメモリ213への読み書きを行う場合に比べ、単位時間あたりのメモリアクセスの回数が減る。そのため、フレームメモリ215のメモリ帯域の余裕度を増すことができる。また、読み書きの回数が少なくなることで画像効果処理部213へ撮像画像が入力されてから出力されるまでの時間の遅延が減るため、フィルム調の画像効果を付加しながらも遅延時間の少ない画像を得ることが可能となる。
また、本実施形態の図8bに示す優先度の例では、第1と第2のサブブロックは最初の効果の優先度は同じである。そのため、どちらを先に実行するのが適切か判断できない。しかし、各サブブロックにおける二番目の効果の優先度を考慮することで、実行順を第2のサブブロック、第1のサブブロックと決定できる。これにより上流過程を多く含む第2のサブブロックが先に実行され、下流過程を含む第1のサブブロックがその後に実行される。従って、本実施形態ではサブブロック間の実行順をサブブロックを構成している効果の種別に応じて決定することで、よりフィルム撮影に近い効果が付加された撮像結果を得ることが可能となる。
また、本実施形態の図8c、図8dに示す優先度の例では、第2のサブブロックを構成する効果のうち一つだけが有効となっている。このような場合、第2のサブブロックの有効となっている効果をサブブロック内の順に依らず最初の効果とし、効果が複数ある他のサブブロックに比べ実行順が先となるように優先度を考慮することで、第2のサブブロックが最も先に実行される。従って、本実施形態ではユーザーがUI画面で選択的に効果を決定した場合であっても、効果の実行順を適切に決定し、よりフィルム撮影に近い効果が付加された撮像結果を得ることが可能となる。
また、上述の第1および第2の実施形態では、デジタルビデオカメラの動画像撮影時動作で複数のフィルム調の画像効果を付加する場合について述べた。しかし、本発明は動画像撮影に限られるものではなく、連写等の複数枚撮影あるいは動画像の再生において、フィルム撮影の効果を付加する場合に利用することが可能であることも言うまでもない。
以上、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。上述の実施形態の一部を適宜組み合わせてもよい。
(他の実施形態)
本発明の目的は以下のようにしても達成できる。すなわち、前述した各実施形態の機能を実現するための手順が記述されたソフトウェアのプログラムコードを記録した記憶媒体を、システムまたは装置に供給する。そしてそのシステムまたは装置のコンピュータ(またはCPU、MPU等)が記憶媒体に格納されたプログラムコードを読み出して実行するのである。
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体およびプログラムは本発明を構成することになる。
また、プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスクなどが挙げられる。また、CD−ROM、CD−R、CD−RW、DVD−ROM、DVD−RAM、DVD−RW、DVD−R、磁気テープ、不揮発性のメモリカード、ROM等も用いることができる。
また、コンピュータが読み出したプログラムコードを実行可能とすることにより、前述した各実施形態の機能が実現される。さらに、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した各実施形態の機能が実現される場合も含まれる。
更に、以下の場合も含まれる。まず記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行う。