以下、図面を参照しながら本発明の映像出力装置をデジタルビデオカメラなどの撮像装置に適用した実施の形態について詳細に説明する。
<装置構成>図1を参照して、本発明の映像出力装置を適用したデジタルビデオカメラの構成及び機能について説明する。
図1において、撮像部101は、ズームレンズやフォーカスレンズを含むレンズ群、絞り機能を備えるシャッターを含む。また、撮像部101は、被写体像を電気信号に変換するCCDやCMOS素子等で構成される撮像素子、撮像素子から出力されるアナログ画像信号をデジタル信号に変換するA/D変換器を有する。
映像処理部102は、撮像部101からの映像データ、又は、メモリ制御部108からの映像データに対し所定の画素補間、縮小といったリサイズ処理や色変換処理を行い、VRAMデータとしてメモリ制御部108を介してメモリ109に書き込む。また、映像処理部102では、映像データを用いて所定の演算処理が行われ、得られた演算結果に基づいてシステム制御部110が露光制御、測距制御を行う。これにより、AF(オートフォーカス)処理、AE(自動露出)処理が行われる。映像処理部102では更に、撮像した映像データを用いて所定の演算処理を行い、得られた演算結果に基づいてAWB(オートホワイトバランス)処理も行っている。さらに、映像処理部102は、圧縮/符号化された映像データをコーデック103により復号し、復号した映像データに対してリサイズ処理や色変換処理を行い、新たな映像データを生成する処理を行う。
コーデック103は、映像処理部102で生成された映像データをMPEG2やH.264などの動画圧縮方式で符号化する。また、コーデック103は、メモリ制御部108により読み出された符号化ファイルを復号し、メモリ制御部108へ送出する。
映像出力制御部104は、メモリ109にVRAMデータとして保持された映像データとGUIデータ(重畳用画面)を読み出し、これらを重畳してOSD画面データを生成し、映像出力部105、表示部106、コーデック103へ出力する。また、OSD画面データをコーデック103へ出力することで、圧縮符号化して記録媒体119などに記録することも可能であり、ビデオカメラ100が電子ビューファインダ(EVF)を備えていれば、EVFに出力しても良い。また、映像出力制御部104は、少なくともコーデック103および映像出力部105へのOSD画面データの同時出力、もしくはコーデック103および表示部106へのOSD画面データの同時出力、さらには、コーデック103、映像出力部105および表示部106の3系統へのOSD画面データの同時出力が可能である。
映像出力部105は、HDMI(登録商標)端子やSDI端子、コンポジットビデオ端子などの外部出力端子からなり、外部装置としてのデジタルテレビや表示装置(外部モニタ)に接続可能である。映像出力制御部104は、映像処理部102やコーデック103、GPU107で生成された映像データを映像出力部105を介して外部モニタに出力可能である。なお、映像出力部105に接続されるデジタルテレビや外部モニタの性能に応じて、映像全体が表示されたり(フルスキャン)、映像中の中央部分が切り出されて表示される(オーバースキャン)。しかしながら、デジタルテレビや外部モニタで表示される範囲をビデオカメラ100から制御することは通常はできない。このため、映像出力制御部104から映像出力部105へ出力される映像データは、通常のデジタルテレビや外部モニタなどでOSDが欠けることなく表示できるように、映像の周辺領域に十分なマージンを設けて出力される。
表示部106は、映像出力制御部104から出力された映像データに応じた映像を表示する液晶パネルや有機ELパネルなどの表示デバイスである。表示部106は、ビデオカメラ100と一体化された構成であっても、ビデオカメラ100と接続された外部機器であっても良い。表示部106は、ビデオカメラ100全体の物理的サイズやコストのために、比較的小さな画面であったり、解像度の低い液晶パネルであっても良い。この場合でも、本実施形態によれば、可能な限り文字やアイコンなどのGUIを大きく表示することができる。なお、表示部106に表示する映像は、その周辺領域に十分なマージンを設ける必要は特にない。
GPU(グラフィックスプロセッシングユニット)107は、ビデオカメラ100の状態や設定を表す文字やアイコンなどのGUIの構成要素をメモリ109のVRAMへレンダリングする。文字やアイコンなどの情報は不揮発性メモリ115に圧縮ビットマップ形式やベクター形式で格納されている。システム制御部110は、これらの情報を不揮発性メモリ115から読み出してメモリ109へ書き込み、GPU107が読み出してVRAMへレンダリングする。また、GPU107は、VRAMデータをトリミングしたり、複数のVRAMデータを重畳したり、異なる解像度のVRAMデータへリサイズするミキサ機能も備えている。VRAMデータをリサイズする場合には、縦横の縮小比率を個別に設定することができる。ミキサ機能には、レンダリングされたVRAMデータの色空間を映像出力制御部104が求める色空間へ変換する色変換機能も含まれる。
メモリ制御部108は、各ブロックからメモリ109へのアクセス要求を調停する機能を備える。
メモリ109は、映像処理部102、コーデック103、映像出力制御部104、GPU107のそれぞれが処理するVRAMデータを格納する。また、コーデック103から出力された符号化映像データや、記録媒体119から読み出された符号化映像データを一時的に記憶する機能も有している。メモリ109は、所定時間の動画や音声を格納するのに十分な記録容量を備えている。
不揮発性メモリ115は、電気的に消去・記録可能なメモリであり、例えばEEPROM等が用いられる。不揮発性メモリ115には、システム制御部110の動作用の定数、プログラム等が記録される。ここでいう、プログラムとは、本実施形態にて後述する各種フローチャートを実行するためのプログラムのことである。また、GPU107でのレンダリングに利用されるイメージデータや文字データなどの画面情報も、不揮発性メモリ115に格納される。
システム制御部110は、ビデオカメラ100全体を統括して制御する演算処理装置であって、不揮発性メモリ115に格納されたプログラムを実行することで、後述するフローチャートの各処理を実現する。
システムメモリ116はRAMなどであり、システム制御部110の動作用の定数、変数、不揮発性メモリ115から読み出したプログラムなどを展開するワークメモリとしても使用される。また、システム制御部110は、映像出力制御部104、GPU107、メモリ制御部108を制御することにより表示制御も行う。システムメモリ116を、メモリ109と共用しても良く、その場合はメモリ制御部108によってアクセスが調停されるので、高速にアクセス可能な小容量のメモリを別途システム制御部110に直結して搭載されることもある。
システムタイマ117は各種制御に用いる時間や、内蔵時計の時間を計測する計時部である。
システム制御部110は1つまたは複数のCPUコアを備えており、複数のCPUコアを備える場合は、プログラムに記述されたタスクを複数のCPUコアで分担して処理することができる。
タッチパネル111は、表示部106に対するタッチ操作を検出可能なタッチセンサである。タッチパネル111と表示部106とは一体的に構成することができる。例えば、タッチパネル111を光の透過率が表示部106の表示を妨げないように、表示部106の表示面の上層に取り付ける。そして、タッチパネル111における入力座標と、表示部106上の表示座標とを対応付ける。これにより、ユーザが表示部106に表示されたOSD画面を直接的に操作可能であるかのようなGUIを構成することができる。
電源スイッチ112は、ビデオカメラ100の電源のオン、オフを切り替えるための操作信号をシステム制御部110へ送出する。
電源制御部113は、電池検出回路、DC−DCコンバータ、通電するブロックを切り替えるスイッチ回路などにより構成され、電池の装着の有無、電池の種類、電池残量の検出を行う。また、電源制御部113は、その検出結果及びシステム制御部110の指示に基づいてDC−DCコンバータを制御し、必要な電圧を必要な期間、記録媒体119を含む各部へ供給する。
電源部114は、アルカリ電池やリチウム電池等の一次電池やNiCd電池やNiMH電池、Li電池等の二次電池、ACアダプターなどからなる。
記録媒体I/F118は、メモリカードやハードディスクなどの記録媒体119とのインターフェースである。
記録媒体119は、記録媒体I/F118により、メモリ109に保持された符号化映像データが記録されたり、既に記録されている符号化映像データや付加情報が読み出される。記録媒体119はビデオカメラ100に装着されるメモリカードやハードディスクドライブなどであっても良いし、ビデオカメラ100に内蔵されたフラッシュメモリやハードディスクドライブであっても良い。
<OSDの描画処理>次に、図2を参照して、本実施形態によるOSDの描画処理について説明する。
図2において、200、210(220)、および230はそれぞれ、映像処理部102、GPU107、映像出力制御部104で生成され、メモリ109に描画されるVRAMデータを示している。
200は、映像処理部102で生成されるVRAMデータを示しており、撮像部101で撮像された映像データ、または記録媒体119から読み出され、メモリ109に一時的に記憶された符号化映像データをコーデック103で復号したものである。なお、映像データは、PCなどの外部装置から取得したものであっても良い。図2では、3人の被写体が並んだ映像が例示されている。
201および202は、映像出力部105から出力されるVRAMデータおよびコーデック103で符号化されたVRAMデータであり、映像処理部102から出力され、メモリ制御部108を介してメモリ109に描画される。VRAMデータ201および202は、撮像部101で生成された映像データを、映像出力部105からの出力またはメモリ109への描画に適した解像度にリサイズしたものである。
VRAMデータ203および204は、映像出力制御部104から表示部106に出力される映像データであり、映像処理部102から出力され、メモリ制御部108を介してメモリ109に描画される。VRAMデータ203および204は、VRAMデータ201および202を表示部106での表示に適した解像度にリサイズしたものである。
VRAMデータ201と202、VRAMデータ203と204はそれぞれバンクを構成しており、映像処理部102からの映像データの書き込みと、映像出力制御部104への映像データの読み出しが交互に行われる。また、上記書き込み処理と読み出し処理が衝突しないように制御される。
210は、GPU107のレンダラで生成されるGUI画面(重畳用画面)のVRAMデータを示している。211は、レンダラからメモリ109に描画されるGUI画面を示している。図2では、8つのボタンが配置されたGUI画面が例示されている。このGUIが後述する制御により表示部106に表示されたときに、ユーザによるボタンへのタッチ操作がタッチパネル111により検出され、システム制御部110へイベントが通知されると、ビデオカメラ100に対して各種指示が与えられる。なお、GUIデータ211の周辺領域の矩形211aは説明の便宜のために示したものであり、実際は描画されない。
220は、GPU107のミキサで生成されるVRAMデータを示している。ミキサはメモリ制御部108からGUI画面データ211を入力して、VRAMデータ221、222、223および224を出力する。
221および222は、映像出力部105から出力される映像データおよびコーデック103により圧縮符号化するためのVRAMデータであり、メモリ制御部108を介してメモリ109に書き込まれる。VRAMデータ221および222はVRAMデータ211と同一の内容を表しているが、映像出力部105への出力に適した色変換処理が行われている。また、レンダラが2枚のVRAMデータを描画していれば、それら2枚をレイヤとして重畳した結果を、VRAMデータ221および222として出力することもできる。
223および224は、表示部106に出力されるVRAMデータであり、メモリ制御部108を介してメモリ109に描画される。VRAMデータ223および224はVRAMデータ211の矩形211aの周辺領域をトリミングしたものであり、表示部106での表示に適したリサイズ処理および色変換処理が行われている。また、レンダラにより2枚のVRAMデータが描画されている場合には、それら2枚をレイヤとして重畳した結果を、VRAMデータ223および224として出力することもできる。なお、表示する画面のアスペクトや解像度、ビデオカメラ100の動作モードによっては、VRAMデータ211をトリミングせずにリサイズだけを行っても構わない。その場合のVRAMデータは225のようになる。VRAMデータ223および224の文字やアイコンは、VRAMデータ225よりも大きく表示される。
VRAMデータ221と222、VRAMデータ223と224はそれぞれバンクを構成しており、GPU107のミキサによる書き込みと、映像出力制御部104による読み出しが交互に行われ、書き込み処理と読み出し処理が衝突しないように制御される。
なお、VRAMデータ221、222、223、224、225は、いずれもGUIを構成する画素ごとに透過度情報(αチャネル)を備えている。図2の例では、ボタンとして囲まれた領域は不透過であり、それ以外の領域は全透過になっている。
230は、映像出力制御部104から出力される重畳映像を示している。映像出力制御部104はメモリ制御部108を介してVRAMデータ201または202と、VRAMデータ221または222を重畳したが外部出力用の映像データ231を出力する。同様にメモリ制御部108を介してVRAMデータ203または204と、VRAMデータ223または224を重畳した表示用の映像データ232を出力する。
231は、映像出力部105から出力される映像出力部105に出力される重畳映像を示しており、VRAMデータ201または202にVRAMデータ221または222を重畳して生成されたものである。重畳映像231は、VRAMデータ(映像)201または202に対してVRAMデータ(GUI画面)221または222の全領域を重畳して構成されている。そして、VRAMデータ221または222の全透過の領域にVRAMデータ201または202の内容が見える状態となっている。
232は、表示部106に出力され表示される重畳映像を示しており、VRAMデータ203または204にVRAMデータ223または224を重畳して生成されたものである。重畳映像232は、VRAMデータ(映像)203または204に対してVRAMデータ(GUI画面)223または224の全領域より狭い一部領域をリサイズして重畳したものである。そして、VRAMデータ223または224の全透過の領域にVRAMデータ203または204の内容が見える状態となっている。
233は、重畳映像232の上下にレターボックス(黒帯)233aが適用された重畳映像を示している。表示部106の画面のアスペクトが重畳映像232と異なる場合は、映像出力制御部104が、レターボックスを適用することによりアスペクトを合わせた映像データ233を出力する。この場合、重畳映像233の有効表示範囲は表示部106の表示能力の全てを利用できないため、表示する文字やアイコンがより潰れやすくなっている。
このように、映像出力制御部104は、VRAMデータ(映像)201または202に対してVRAMデータ(GUI画面)221または222の全領域を重畳した重畳映像を生成して映像出力部105に出力する。また、映像出力制御部104は、VRAMデータ(映像)203または204に対してVRAMデータ(GUI画面)223または224の全領域より狭い一部領域をリサイズして重畳した重畳映像を生成して表示部106に出力する。
以下に、図3を参照して、本実施形態のビデオカメラ100が実行する、図2で説明したOSDの描画処理について説明する。なお、図3の処理は、不揮発性メモリ115に格納されたプログラムをシステムメモリ116に展開してシステム制御部110が実行することにより実現する。また、システム制御部110は、不揮発性メモリ115に格納されたプログラムに含まれるOSの機能によって、3つのタスクを並列に行う。図3(a)〜(c)は、各タスクに対応した処理を示している。
まず、図3(a)の映像データの描画処理について説明する。図3(a)は、VRAMデータ201、202およびVRAMデータ203、204を逐次作成し、そのアドレスを後段の制御へ通知するタスクを示している。
ステップS3001では、システム制御部110は、映像フレームの同期周期が経過したか否かを判定する。同期周期は、映像処理部102の動作周期に基づいて決定され、システムタイマ117からシステム制御部110へ割り込みで通知される。
ステップS3002では、システム制御部110は、新たな映像フレームを書き込むべきVRAMアドレスを決定する。VRAMアドレスは、VRAMデータ201または202のアドレス、ならびにVRAMデータ203または204のアドレスの2つであり、映像出力制御部104から映像データの出力が行われていないVRAMアドレスが選択される。
ステップS3003では、システム制御部110は、ステップS3002で決定した書き込み先VRAMアドレスへ、映像処理部102で処理された映像データを書き込むようにメモリ制御部108を制御する。映像処理部102に入力される映像データは、撮影モード中は撮像部101で撮像された映像データであり、再生モード中はコーデック103で復号された映像データである。
ステップS3004では、システム制御部110は、ステップS3003で映像データの書き込みを完了し、読み出し可能となったVRAMアドレスを、映像出力制御部104へ通知する。
次に、図3(b)のGUIデータの描画処理について説明する。図3(b)は、GPU107のレンダラがVRAMデータ211を描画し、ミキサがVRAMデータ211からVRAMデータ221、222およびVRAMデータ223、224を逐次生成し、書き込み先のVRAMアドレスを後段の制御へ通知するタスクを示している。
ステップS3101では、システム制御部110は、表示すべきGUI画面の状態を決定する。GUI画面状態とは、画面レイアウト、画面内の各表示要素の色や形状や表現内容、表示/非表示状態と、さらには描画順序を含んだ状態を含む。
ステップS3102では、システム制御部110は、ステップS3101で決定したGUI画面状態を、VRAMデータ211に描画するようにGPU107のレンダラを制御する。GUI画面状態によっては、VRAMデータ211は複数のVRAMデータから構成される。本実施形態では、映像出力制御部104が、映像出力部105と表示部106の2系統へ重畳映像データを出力するにもかかわらず、ステップS3101でのGUI画面状態の決定処理およびステップ3102での描画処理は1回だけ行えば良い。そのため、システム制御部110およびGPU107のレンダラでの処理に要するリソースを効率よく利用することができる。
ステップS3103では、システム制御部110は、ステップS3102で描画したVRAMデータの内容を、映像出力制御部104へ出力するための書き込み先VRAMアドレスを決定する。VRAMアドレスは、VRAMデータ221または222のアドレスおよび、VRAMデータ223または224のアドレスであり、映像出力制御部104から映像データの出力が行われていないVRAMアドレスが選択される。
ステップS3104では、システム制御部110は、ステップS3103で決定したVRAMデータ221または222の書き込み先VRAMアドレスへ、GPU107のミキサで生成されたVRAMデータを書き込むようにメモリ制御部108を制御する。GPU107のミキサに入力されるVRAMデータは、ステップ3103でGPU107のレンダラが描画したVRAMデータ211である。
ステップS3105では、システム制御部110は、GPU107のミキサでVRAMデータ223または224を生成する際に、トリミング処理を行うか否か判定し、行う場合にはステップS3106へ進み、行わない場合にはステップS3107に進む。ここで、表示部106のように視野率が100%であることがわかっている場合にはトリミングを行うと判定し、VRAMデータ211の周辺領域211aを削除するようにトリミングして表示部106の画面に合わせてリサイズ(拡大)したGUI画面を表示する。これにより、表示部106の画面全体を使って文字やアイコンなどを大きく表示することができる。一方、外部モニタのように視野率が不明な場合や視野率が100%を下回って周辺領域が見えなくなる可能性がある場合や表示部106と全く同じ映像を外部モニタに出力したい場合には、VRAMデータ211の周辺領域211aをトリミングせずにGUI画面を出力する。これにより、外部モニタで表示されたときに周辺領域が見えなくなってもGUIの構成要素が欠けて見えることがなくなる。
ステップS3106では、システム制御部110は、GPU107のミキサによりVRAMデータ211に対してトリミング処理およびリサイズ処理を行う。また、システム制御部110は、処理されたVRAMデータ223または224を、ステップS3103で決定したVRAMデータ223または224の書き込み先VRAMアドレスへ書き込むようにメモリ制御部108を制御する。
ステップS3107では、システム制御部110は、GPU107のミキサによりVRAMデータ211に対してトリミング処理は行わずリサイズ処理を行う。また、システム制御部110は、処理されたVRAMデータ221または222を、ステップS3103で決定したVRAMデータ221または222の書き込み先VRAMアドレスへ書き込むようにメモリ制御部108を制御する。
ステップS3108では、システム制御部110は、ステップS3104ならびにS3106またはS3107で処理され、読み出しが可能となったVRAMアドレスを映像出力制御部104へ通知する。
次に、図3(c)のOSD画面の描画処理について説明する。図3(c)は、図3(a)および(b)での各処理によって生成されたVRAMデータを映像出力制御部104により出力するタスクを示している。
ステップS3201では、システム制御部110は、映像フレームの同期周期が経過したか否かを判定する。同期周期は、映像出力制御部104から、映像出力部105、表示部106およびコーデック103へ出力する映像データの規格に基づいて決定する。同期周期はシステムタイマ117からシステム制御部110へ割り込みで通知される。
ステップS3202では、システム制御部110は、映像出力制御部104で読み出すVRAMのアドレスを取得する。このVRAMアドレスは、ステップS3004およびS3108で通知されたアドレスである。
ステップS3203では、システム制御部110は、ステップS3202で取得したVRAMアドレスからVRAMデータを読み出すように映像出力制御部104を制御する。
ステップS3204では、システム制御部110は、ステップS3203で読み出したVRAMデータを重畳した重畳映像データ213または232を、映像出力部105、表示部106およびコーデック103へ(同時に)出力するように映像出力制御部104を制御する。また、システム制御部110は、外部モニタや表示部106のアスペクトがステップS3203で読み出したVRAMデータのアスペクトと異なっている場合には、本ステップでレターボックスやサイドブラックを適用した重畳映像データ233を生成する処理も行う。
<OSD画面>次に、図4から図8を参照して、ビデオカメラ100の様々な動作状態における、表示部106や外部モニタに表示されるOSD画面について説明する。
ステップS3101にて決定されたOSD画面状態に応じて、図3で生成される映像データやGUIデータやOSD画面データに対してトリミング処理やリサイズ処理を行うことにより、以下のような各種画面に適用することができる。なお、以下では、表示部106のアスペクトが4:3、外部モニタのアスペクトが16:9の場合を例示しているが、本発明はこれに限られず、その他のアスペクトの組み合わせにも適用可能である。
図4(a)は、動画再生モードにおける動画再生中に表示部106に表示されるOSD画面を例示している。4101a〜4114aはいずれもVRAMデータ223または224により表されるGUIの構成要素である。4101a〜4111aはボタンであり、ユーザによるタッチ操作を受け付ける領域と、ボタンに割り当てられた機能が表示される。4112a〜4114aはそれぞれ再生中の動画の情報や再生状態を示すGUIの構成要素である。
4115aは、VRAMデータ203もしくはVRAMデータ204に相当する被写体映像である。被写体映像4115aのアスペクトは16:9であるため、被写体映像4115aは映像出力制御部104において表示部106の中央16:9の領域に配置され、上下の余白にはレターボックス(黒帯)が適用されている。GUIの構成要素4101a〜4114aは、GPU107のミキサによってVRAMデータ223または224の周辺領域がトリミングされている。
図4(b)は、動画再生モードにおける動画再生中にて外部モニタに表示されるOSD画面を例示している。4101b〜4114bはいずれもVRAMデータ221または222により表されるGUIの構成要素であり、それぞれ4101a〜4114aと同一の内容が表示されている。
4115bは、VRAMデータ201または202に相当する被写体映像であり、4115aと同一の内容が画面全体に表示されている。また、トリミングされていないため、図4(a)と比べると被写体映像4115bに対するGUIの構成要素4101b〜4114bの大きさがやや小さく表示される。また、外部モニタによってオーバースキャンされてもGUIの構成要素が欠けることがないようにOSD画面の周辺領域に余白が確保される。
図5(a)は、静止画再生モードにおける静止画表示中に表示部106に表示されるOSD画面を例示している。5201a〜5208aはいずれもVRAMデータ223または224により表されるGUIの構成要素である。5201a〜5205aはボタンであり、ユーザによるタッチ操作を受け付ける領域と、ボタンに割り当てられた機能が表示される。5206a〜5208aはそれぞれ再生中の静止画の情報を示すGUIの構成要素である。5209aは、VRAMデータ203または204に相当する被写体映像である。
静止画のアスペクトは4:3であるため、被写体映像5209aは表示部106の画面全体に配置されている。GUIの構成要素5201a〜5208aも同様に、表示部106の画面全体に表示されるように、VRAMデータ211の横幅を縮小して4:3のアスペクトに合わせたものに対して、GPU107のレンダラで描画を行っている。GPU107のミキサで行うリサイズ処理は、図4(a)と比べて縮小率が小さくなるので、トリミングを行わなくてもGUIの構成要素を大きく表示することができる。
図5(b)は、静止画再生モードにおける静止画表示中に外部モニタに表示されるOSD画面を例示している。5201b〜5208bはいずれもVRAMデータ221または222により表されるGUIの構成要素であり、それぞれ5201a〜5208aと同一の内容が表示されている。
5209bは、VRAMデータ201または202に相当する被写体映像であり、5209aと同一の内容が表示されている。
被写体映像5209bおよびGUIの構成要素5201b〜5208bは、映像出力制御部104によって外部モニタの中央4:3の領域に配置され、左右の余白にはサイドブラック(黒帯)が適用されている。また、外部モニタによってオーバースキャンされてもGUIの構成要素が欠けることがないようにOSD画面の周辺領域に余白が確保される。
図6(a)は、動画再生モードにおける動画一覧表示中に表示部106に表示されるOSD画面を例示している。6301a〜6312aはいずれもVRAMデータ223または224により表されるGUIの構成要素である。6301a〜6305aはボタンであり、ユーザによるタッチ操作を受け付ける領域と、ボタンに割り当てられた機能が表示される。6306a〜6311aはそれぞれ動画の一シーンを示すムネイルであり、ユーザによるタッチ操作を受け付けて、選択されたシーンを再生するためのGUIの構成要素である。6312aは、表示中のサムネイル6306a〜6311aが示す動画シーンのデータが格納された記録媒体119のディレクトリを表示するGUIの構成要素である。この動画一覧画面では、GUIの構成要素6301a〜6312aが画面全体を覆い隠しているため、被写体映像は露出していない。
サムネイルをできるだけ大きく表示するため、GUIの構成要素6301a〜6312aは表示部106全体に配置されている。GUIの構成要素は、VRAMデータ211の縦長を拡大して4:3のアスペクトに合わせたものに対して、GPU107のレンダラで描画を行っている。GUIの構成要素は、GPU107のミキサによってVRAMデータの周辺領域がトリミングされて表示されている。
図6(b)は、動画再生モードにおける動画一覧表示中に外部モニタに表示されるOSD画面を例示している。6301b〜6311bはいずれもVRAMデータ221または222により表されるGUIの構成要素であり、それぞれ6301a〜6311aと同一の内容を表示している。GUIの構成要素は、映像出力制御部104によって外部モニタの中央4:3の領域に配置され、左右の余白にはサイドブラック(黒帯)が適用されている。外部モニタによってオーバースキャンされてもGUIの構成要素が欠けることがないようにOSD画面の周辺領域に余白が確保されている。
図7(a)は、文字入力を行うキーボード表示中に表示部106に表示されるOSD画面を例示している。7401a〜7404aはいずれもVRAMデータ223または224により表されるGUIの構成要素である。7401a〜7402aはボタンであり、ユーザによるタッチ操作を受け付ける領域と、ボタンに割り当てられた機能が表示される。7403aに囲まれた各ボタンはそれぞれキーボードのキーボタンであり、ユーザによるタッチ操作を受け付けて、入力中の文字列の操作を実行するためのGUIの構成要素である。7404aは、入力中の文字列を示すGUIの構成要素である。このキーボード画面では、GUIの構成要素7401a〜7404aが画面全体を覆い隠しているため、被写体映像は露出していない。
キーボード画面は、GUIの構成要素が多く、かつ文字の視認性が重視される。このため、GUIの構成要素7401a〜7404aは、16:9のVRAMデータ211に対して描画され、GPU107のミキサによって縦方向に拡大および周辺領域のトリミングが行われ、表示部106の画面全体に表示されている。この場合、GUIの構成要素の縦横の比率がレンダリング時と表示時で異なって表示されるが、キーボード画面には縦横比が表示品位に大きく影響するような画像や図形は含まれていないので、特に不都合なく、文字を大きく表示することができる。
図7(b)は、文字入力を行うキーボード表示中に外部モニタに表示されるOSD画面を例示している。7401b〜7404bはいずれもVRAMデータ221または222により表されるGUIの構成要素であり、それぞれ7401a〜7404aと同一の内容が表示されている。GUIの構成要素は、映像出力制御部104によって外部モニタの画面全体に配置されている。図7(b)では、GUIの構成要素の縦横の比率はレンダリング時と表示時とで一致する。また、トリミング処理が行われていないため、図7(a)と比べると映像に対するGUIの構成要素の大きさがやや小さく表示される。また、外部モニタによってオーバースキャンされてもGUIの構成要素が欠けることがないようにOSD画面の周辺領域に余白が確保されている。
図8(a)は、タッチパネル111上をドラッグした軌跡(キャンバス)を動画に重畳して記録するデコレーション編集モードにおいて表示部106に表示されるOSD画面を例示している。8501aはキャンバスに描かれた図柄である。8501aはGUIの構成要素ではないが、8502a〜8508aと同様に、GPU107のレンダラでVRAMデータ211に対して描画され、VRAMデータ223または224により表示される。8502a〜8508aはいずれもVRAMデータ223または224により表示されるGUIの構成要素である。8502a〜8506aはボタンであり、ユーザによるタッチ操作を受け付ける領域と、ボタンに割り当てられた機能が表示される。8507aは、動画の記録状態を示すGUIの構成要素である。8508aは、キャンバスとしてドラッグ操作を受け付ける領域を示すためのGUIの構成要素である。8209aは、VRAMデータ203または204に相当する被写体映像である。
デコレーション編集画面では、表示部106と外部モニタのいずれにおいても、被写体映像とキャンバスの重なり位置が等しく見えるように表示する必要がある。そのため、GPU107のミキサはトリミングを行わない。被写体映像8507a、GUIの構成要素8502a〜8508a、キャンバス8501aは、映像出力制御部104によって表示部106の中央16:9の領域に重畳して配置され、上下の余白にはレターボックス(黒帯)が適用されている。
図8(b)は、デコレーション編集モードにおいて外部モニタに表示されるOSD画面を例示している。8501bは、VRAMデータ221または222により表されるキャンバスであり、8501aと同一の内容が表示されている。8509bは、VRAMデータ201または202に相当する被写体映像であり、8509aと同一の内容が表示されている。
デコレーション編集画面は、ユーザが表示部106に表示中の映像を閲覧しながらタッチパネル111により操作を行うことが前提となっており、外部モニタは第三者の閲覧用と特定できる。そのため、外部モニタにはGUIの構成要素は重畳せず、被写体映像およびキャンバスのみを重畳表示している。被写体映像およびキャンバスは、外部モニタの画面全体に重畳して配置されており、表示部106による表示と、被写体映像とキャンバスの重なり位置が等しく見えるように制御されている。
なお、上述したデコレーション編集画面の他に、顔枠を表示するモードのように、被写体映像との相対位置が重要な場合においてもトリミングを行わないようにすることで同様の効果が得られる。
以上説明したように、本実施形態によれば、表示部(液晶パネル)と外部モニタのいずれにおいても被写体映像の視野率は100%を満足し、かつGUIの構成要素を比較的大きく表示することができる。具体的には、表示部と外部モニタに同時にOSD画面を出力する場合に、表示部のGUI画面を従来よりも縦横約10%拡大することができる。これにより、小型のビデオカメラや、画素数の少ない液晶パネルを搭載したビデオカメラであっても、文字やアイコンが視認しやすく、画素数不足による潰れも改善することができる。
また、表示部と映像のアスペクトが異なる場合にも、液晶パネルの画素をできる限り有効活用して文字やアイコンを表示することができる。また、外部モニタに必要な画面の周辺領域のマージンを確保しつつ、表示部では画面全体を利用して表示することができ、GUIのレイアウトデザイン上の制約を回避することができる。
さらに、一度の描画処理で表示部用のOSDと外部モニタ用のOSDを描画できるため、描画処理を効率よく行うことができ、タイムコード等のリアルタイム表示も実現しやすくなる。
なお、システム制御部110の制御は1つのハードウェアが行ってもよいし、複数のハードウェアが処理を分担することで、装置全体の制御を行ってもよい。
また、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。さらに、上述した各実施形態は本発明の一実施形態を示すものにすぎず、各実施形態を適宜組み合わせることも可能である。
また、上述した実施形態においては、本発明をデジタルビデオカメラなどの撮像装置に適用した場合を例にして説明したが、本発明はこの例に限定されず、例えば、映像とGUIとを重畳したOSD画面を合成し表示できる装置であれば適用可能である。すなわち、本発明はパーソナルコンピュータやPDA、携帯電話端末や携帯型の画像ビューワ、ディスプレイを備えるプリンタ装置、デジタルフォトフレーム、音楽プレーヤー、ゲーム機、電子ブックリーダーなどに適用可能である。
[他の実施形態]本発明は、以下の処理を実行することによっても実現される。即ち上述した実施形態の機能を実現するソフトウェア(プログラム)をネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムコードを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。