[0020] 図1は、ズームされた画像を生成するためのシステム(100と指定されたシステム)の特定の実例となる実施形態のブロック図である。システム100は、デジタルカメラ、携帯電話、携帯用コンピューティングデバイス、または別の携帯用電子デバイスのような携帯用電子デバイス、またはカメラを含む装置でありうる。システム100は、画像処理システム102に結合された画像センサ104を含む。システム100は、オートフォーカスコンポーネント、レンズ、アパーチャ制御コンポーネントなどのような図示されていない他のコンポーネントもまた含みうる。また、特定の文脈で違ったように表明されていない限り、「画像(image)」という用語は動く画像(例えば動画またはビデオ画像)またはスチル画像(例えば写真やピクチャ)を指すために本明細書において使用される。
[0021] システム100は、画像処理システム102に画像センサ104を接続するためのカメラインターフェース108を含む。システム100は、ズーム操作を実現するためにユーザインプットを受信するために適合された(スイッチ、ソフトスイッチ、タッチスクリーン、またはボタンのような)インプットデバイス142もまた含みうる。システム100は、画像センサ104によってキャプチャされた画像、メモリ120に記憶された画像、またはその両方を表示するために適合されたディスプレイ128もまた含みうる。特定の実施形態では、ディスプレイ128はビューファインダを含み、画像処理システム102のビューファインダモジュール126はディスプレイ128において表示するためのプレビュー画像を生成しうる。
[0022] 画像処理システム102は、画像センサ104によってキャプチャされた画像データから画像を生成するための(処理モジュール111〜114として図示された)様々な画像処理機能を行うように構成された画像処理パイプライン110を含みうる。例えば、画像処理パイプライン110は、スケールアップされた画像データを生成するために画像データをスケールアップするためのアップスケーラ111を含みうる。例示すると、アップスケーラ111は、画像センサ104によってキャプチャされた画像データのピクセルの間に追加のピクセルを内挿または外挿しうる。画像処理パイプライン110は、画像データまたはスケールアップされた画像データに1つ以上の画像シャープニング(sharpening)機能を行うための画像シャープニングモジュール112、画像データまたはスケールアップされた画像データに空間フィルタリングを行うための適応空間フィルタリングモジュール113、(例えば、デモザイク、ガンマ補正、ホワイトバランス、圧縮、色空間変換など)他のパイプライン機能114、またはこれらの任意の組合せもまた含みうる。
[0023] 画像処理システム102は、画像処理パイプライン110、プロセッサ118、またはその両方のモジュールによる処理の期間に画像データの複数のラインを記憶するために使用されるラインバッファ116もまた含みうる。プロセッサ118は、画像を処理、記憶、または表示するためにメモリ120に記憶された命令122を実行するために適合されうる。例えば、プロセッサ118、画像処理パイプライン110、またはこれらの任意の組合せは、処理された画像データ124をメモリ120において記憶しうる。処理された画像データ124は、圧縮されたデータ(例えば、joint picture expert group(JPEG)画像データ)または圧縮されていないデータでありうる。
[0024] 特定の実施形態では、画像処理システム102はズームコントローラ140を含む。ズームコントローラ140は、インプットデバイス142を通じて受信されたユーザインプットに応答してズーム操作を実現するために適合される。ズームコントローラ140は図1で分離されたモジュールとして図示されている。しかしながらある実施形態では、ズームコントローラ140の機能は、画像処理システム102の幾つかのモジュール、プロセッサ118によって実行される命令122、またはこれらの任意の組合せによって行われうる。ズームコントローラ140は、ズーム操作を実現するために画像センサ104、画像処理パイプライン110、プロセッサ118、ビューファインダモジュール126、またはこれらの任意の組合せに命令を送信しうる。例えば、ズームコントローラ140によって送られた命令は、画像センサ104の一部を指示するため、つまりズーム操作のための画像データを提供するために画像センサ104へ送られうるウィンドウ情報144を含みうる。ズームコントローラ140によって送られた命令は、ズーム操作を実現するために画像センサ104のピクセルクロックレート132が変更されることを引き起こしうる。例えば、ズームコントローラ140は、画像センサ104に提供されるマスタークロックレート130が修正されることを引き起こし、ピクセルクロックレート132が修正されることをもたらしうる。画像センサ104は、画像データが画像センサ104によってキャプチャまたは出力されるフレームレートにおいて割込み(interruption)を生じさせることなく第2のピクセルクロックレートに第1のピクセルクロックレートから変更するために適合されうる。例えば、ピクセルクロックレート132が変更される前に画像センサ104が毎秒30フレームのレートで画像データをアウトプットしているとき、ピクセルクロックレート132が変更された後も画像センサ104は毎秒30フレーム画像データをアウトプットし続けうる。画像センサ104はさらに、非アクティブモード(例えば、スタンバイモード)に入ることなくかつ一切のフレームを見落とすことなく(例えば、画像センサのフレームレートを維持しつつ)第2のピクセルクロックレートに第1のピクセルクロックレートから変更するために適合されうる。
[0025] 動作中、システム100は画像をキャプチャし、処理された画像データ124をメモリ120に記憶するために使用されうる。ユーザは、インプットデバイス142を通じてインプットを提供することで、ズーム操作が行われるべきであると指示しうる。インプットデバイス142を通じて受信されたユーザインプットに応答して、ズームコントローラ140は画像センサ104へウィンドウ情報144を送信しうる。ウィンドウ情報144に応答して、画像センサ104はウィンドウ情報144によって識別された画像センサ104の一部に対応する切り取られた画像データを生成しうる。例示すると、ウィンドウ情報144は切り取られた画像データを生成するための画像センサ104のピクセルのセットを規定し、画像センサ104はピクセルのそのセットのピクセルに関連付けられた画像データを送信しうる。ズームコントローラ140はまた、画像センサ104のピクセルクロックレート132を低減させることを引き起こしうる。例えば、ズームコントローラ140はマスタークロックレート130を低減させ、画像センサ104のピクセルクロックレート132の低減をもたらす。
[0026] 切り取られた画像データは、カメラインターフェース108を通じてアップスケーラ111へ送られうる。アップスケーラ111は、ズームされた画像データを生成するために切り取られた画像データをスケールアップしうる。切り取られた画像データをスケールアップすることは、画像データにより多くのピクセルを含ませる。ズームされた画像は、画像シャープニングモジュール112、適応空間フィルタリングモジュール113、他のパイプライン機能114、またはこれらの任意の組合せのような画像処理パイプライン110の他の機能に提供されうる。それゆえに、切り取られた画像データは他の画像処理パイプライン機能が行われる前にスケールアップされうる。それは、画像処理パイプライン機能が行われた後に画像データをスケールアップするのと比較して改善された画質を提供しうる。加えて、ピクセルクロックレート132は切り取られた画像データを出力するために低減させられるから、画像データのピクセルの数がアップスケーラ111によって増加させられたとき、画像処理パイプライン110のピクセルクロックレートは過剰にならない。
[0027] 特定の実施形態では、切り取られた画像データはラインバッファ116に最初に記憶されることなくアップスケーラ111に提供されうる。それは、ズームされた画像を生成する待ち時間を低減させうる。さらに、切り取られた画像データは画像センサ104全体からの画像データを切り取ることで画像処理システム102で生成されるというよりはむしろ画像センサ104から受信されるから、画像データを処理またはスケールアップするために追加で使用されるバス帯域幅はない。それゆえに、ラインバッファへ画像データを書き込む、およびラインバッファから画像データを読み取るために使用されるであろう電力およびバス帯域幅は節約されうる。
[0028] ズーム操作が行われる前に、ビューファインダモジュール126は画像センサ104からのサブサンプリングされた(sub-sampled)画像データを使用してディスプレイ128においてプレビュー表示を生成しうる。サブサンプリング(sub-sampling)は、サブサンプリングされた画像データにおいて表されるいくつかのピクセルを低減するために、あるピクセルを取り除いたり省いたりまたはあるピクセルを組合せることを指す。ピクセルの数は、比較的一様な方法で(例えば、より低い解像度であるが画像全体を保持するような方法で)低減されうる。これは、画像のセクション全体を取り除くことを指す画像データの切り取りとは対照的である。ズーム操作が行われるとき、ビューファインダモジュール126は切り取られた画像データを使用してズームされたプレビュー表示を生成しうる。切り取られた画像データはサブサンプリングされるとは限らない。それゆえに、ズームされたプレビュー表示は、サブサンプリングされていないデータに基づいて生成されうる。
[0029] 図2は、ズームされた画像を生成する方法の第1の特定の実施形態の流れ図である。図2において図示される方法は、ズーム操作を行うための命令を202において受信することを含む。例えば、ユーザはズーム操作が行われるべきであることを指示するために図1のシステム100のような装置のインプットデバイスを通してユーザインプットを供給しうる。その装置は、ユーザインプットに応答してズーム操作を行うための命令を生成しうる。
[0030] その方法は、その命令に基づいて画像センサへウィンドウ情報を204において送信することもまた含みうる。ウィンドウ情報は画像センサの一部に対応しうる。例えば、図1のズームコントローラ140は、画像センサ104へウィンドウ情報144を送信しうる。ウィンドウ情報144は、そこから画像センサ104によって画像データが出力されることとなる、画像センサ104の特定の一部を指示しうる。
[0031] その方法は、画像センサからその一部に対応する切り取られた画像データを206において受信することもまた含みうる。例えば、図1の画像センサ104はウィンドウ情報144に応答して切り取られた画像データを出力しうる。その方法はまた、ズームされた画像を生成するために、切り取られた画像データを208においてスケールアップすることを含みうる。例示すると、図1のアップスケーラ111は切り取られた画像データを受信し、切り取られた画像データをズームされた画像に対応する生成されたズームされた画像データにスケールアップしうる。
[0032] 図2の方法は、フィールドプログラマブルゲートアレイ(FPGA)デバイス、特定用途向け集積回路(ASIC)、中央処理装置(CPU)のような処理ユニット、デジタル信号プロセッサ(DSP)、コントローラ、別のハードウェアデバイス、ファームウェアデバイス、またはこれらの任意の組合せを使用して実装されうる。例として、図2の方法は命令を実行するプロセッサによって行われることができる。
[0033] 図3は、ズームされた画像を生成する方法の第2の特定の実施形態の流れ図である。図3において図示される方法は、画像センサからのサブサンプリングされた画像データを使用して表示デバイスで表示を302において生成することを含む。例えば、図1のビューファインダモジュール126はサブサンプリングされた画像データを使用してディスプレイ128においてビューファインダ表示を生成しうる。例示すると、サブサンプリングされた画像データを生成するために、画像センサ104がサブサンプリングされた画像データを出力するか、または画像処理パイプライン110が画像センサ104によって提供された画像データをサブサンプリングする機能モジュールを含みうる。サブサンプリングされた画像データは、ディスプレイ128において表示のために処理されうる。
[0034] この方法は、ズーム操作を行うための命令を304において受信することもまた含みうる。例えば、ユーザはズーム操作が行われるべきであることを指示するために図1のシステム100のような装置のインプットデバイスを通してユーザインプットを提供しうる。システム100は、ユーザインプットに応答してズーム操作を行うための命令を生成しうる。
[0035] その方法は、その命令に基づいて画像センサへウィンドウ情報を306において送信することもまた含みうる。ウィンドウ情報は画像センサの一部に対応しうる。例えば、図1のズームコントローラ140は、画像センサ104へウィンドウ情報144を送信しうる。ウィンドウ情報144は、そこから画像センサ104によって画像データが出力されることとなる、画像センサ104の特定の一部を指示しうる。
[0036] その方法は、ズーム操作を行うための命令に応答して画像センサのピクセルクロックレートを308において低減させることもまた含みうる。例えば、図1の画像処理システム102は画像センサ104にマスタークロック信号を提供しうる。そのマスタークロック信号は、画像センサ104のピクセルクロックレート132を決定するために使用されうるマスタークロックレート130を規定しうる。それゆえに、マスタークロックレート130を低減させることによってピクセルクロックレート132が低減されうる。
[0037] その方法は、画像センサからその一部に対応する切り取られた画像データを310において受信することもまた含みうる。例えば、図1の画像センサ104はウィンドウ情報144に応答して切り取られた画像データを出力しうる。その方法はまた、ズームされた画像を生成するために、切り取られた画像データを312においてスケールアップすることを含みうる。例示すると、図1のアップスケーラ111は切り取られた画像データを受信し、ズームされた画像に対応するズームされた画像データを生成するために切り取られた画像データをスケールアップしうる。特定の実施形態では、切り取られた画像データがスケールアップされる前は、切り取られた画像データはラインバッファに記憶されない。それゆえに、ラインバッファへ画像データを書き込む、およびラインバッファから画像データを読み取るために使用されるであろう電力およびバス帯域幅は節約されうる。
[0038] その方法は、命令に応答して表示デバイスでズームされた表示を314において生成することもまた含みうる。例えば、図1のビューファインダモジュール126はディスプレイ128においてズームされた画像のビューファインダ表示を生成しうる。上記のように、画像がズームされていないとき、ビューファインダモジュール126はサブサンプリングされた画像データを使用してビューファインダ表示を生成しうる。しかしながら、ズームされたビューファインダ表示を生成するために、ビューファインダモジュール126はサブサンプリングされていない画像センサ104からの切り取られた画像データを使用しうる。
[0039] その方法は、ズームされた画像に対応するズームされた画像データを使用して追加の画像処理を行うこともまた含みうる。例えば、この方法はズームされた画像に画像シャープニング操作を316において行うこと、ズームされた画像の空間フィルタリングを318において行うこと、またはその両方を含みうる。他の画像処理操作が、その上に、または代替的に行われうる。その方法は、ズームされた画像データを320におけるメモリデバイスにおいて記憶すること、ズームされた画像を322における表示デバイスで表示すること、またはこれらの任意の組合せもまた含みうる。
[0040] 図3の方法は、フィールドプログラマブルゲートアレイ(FPGA)デバイス、特定用途向け集積回路(ASIC)、中央処理装置(CPU)のような処理ユニット、デジタル信号プロセッサ(DSP)、コントローラ、別のハードウェアデバイス、ファームウェアデバイス、またはこれらの任意の組合せを使用して実装されうる。例として、図3の方法は命令を実行するプロセッサによって行われることができる。
[0041] 図4は、ズームされた画像を生成する方法の第3の特定の実施形態の流れ図である。図4において図示される方法は、第1のピクセルクロックレートで画像センサから第1の画像データを402において受信することを含む。例えば、ズーム操作を行うための命令が図1のシステム100において受信される前に、画像センサ104は第1のピクセルクロックレートで第1の画像データを出力しうる。この方法は、ズーム操作を行うための命令を404において受信することもまた含みうる。例えば、ユーザは図1のシステム100のインプットデバイス142を通してズーム操作が行われるべきであることを指示するためにユーザインプットを提供しうる。システム100は、ユーザインプットに応答してズーム操作を行うための命令を生成しうる。
[0042] その方法は、その命令に基づいて画像センサへウィンドウ情報を406において送信することもまた含みうる。ウィンドウ情報は画像センサの一部に対応しうる。例えば、図1のズームコントローラ140は、画像センサ104へウィンドウ情報144を送信しうる。ウィンドウ情報144は、そこから画像センサ104によって画像データが出力されることとなる、画像センサ104の特定の一部を指示しうる。その方法は、ピクセルクロックレート低減要求を406において送信することもまた含みうる。ピクセルクロックレート低減要求に応答して、画像センサのピクセルクロックレートは低減され、そうすることで画像センサによってキャプチャされた画像データのフレームレートは維持される。
[0043] その方法は、画像センサからその一部に対応する切り取られた画像データを408において受信することもまた含みうる。切り取られた画像データは、第1のピクセルクロックレートより遅い第2のピクセルクロックレートで受信されうる。例えば、図1の画像センサ104はウィンドウ情報144に応答して切り取られた画像データを出力しうる。マスタークロックレート130は低減され、そうしてピクセルクロックレート132が低減されることを引き起こしうる。その方法はまた、ズームされた画像を生成するために、切り取られた画像データを410においてスケールアップすることを含みうる。例示すると、図1のアップスケーラ111は切り取られた画像データを受信し、切り取られた画像データをズームされた画像に対応する生成されたズームされた画像データにスケールアップしうる。
[0044] 図4の方法は、フィールドプログラマブルゲートアレイ(FPGA)デバイス、特定用途向け集積回路(ASIC)、中央処理装置(CPU)のような処理ユニット、デジタル信号プロセッサ(DSP)、コントローラ、別のハードウェアデバイス、ファームウェアデバイス、またはこれらの任意の組合せを使用して実装されうる。例として、図4の方法は命令を実行するプロセッサによって行われることができる。
[0045] 図5は、ズームされた画像を生成する方法の第4の特定の実施形態の流れ図である。図5において図示される方法は、画像センサからのサブサンプリングされた画像データを使用して表示デバイスで表示を502において生成することを含む。例えば、図1のビューファインダモジュール126はサブサンプリングされた画像データを使用してディスプレイ128においてビューファインダ表示を生成しうる。例示すると、サブサンプリングされた画像データを生成するために、画像センサ104がサブサンプリングされた画像データを出力するか、または画像処理パイプライン110が画像センサ104によって提供された画像データをサブサンプリングする機能モジュールを含みうる。サブサンプリングされた画像データは、ディスプレイ128において表示のために処理されうる。
[0046] その方法は、第1のピクセルクロックレートで画像センサから第1の画像データを504において受信することもまた含みうる。例えば、ズーム操作を行うための命令が図1のシステム100において受信される前に、画像センサ104は第1のピクセルクロックレートで第1の画像データを出力しうる。この方法は、ズーム操作を行うための命令を506において受信することもまた含みうる。例えば、ユーザは図1のシステム100のインプットデバイス142を通してズーム操作が行われるべきであることを指示するためにユーザインプットを提供しうる。システム100は、ユーザインプットに応答してズーム操作を行うための命令を生成しうる。
[0047] その方法は、508において、その命令に基づいて画像センサへウィンドウ情報を送信すること、およびピクセルクロックレート低減要求を送信することもまた含みうる。ウィンドウ情報は画像センサの一部に対応しうる。例えば、図1のズームコントローラ140は、画像センサ104へウィンドウ情報144を送信しうる。ウィンドウ情報144は、そこから画像センサ104によって画像データが出力されることとなる、画像センサ104の特定の一部を指示しうる。その方法は、画像センサからその一部に対応する切り取られた画像データを510において受信することもまた含みうる。ピクセルクロックレート低減要求に応答して、切り取られた画像データは第1のピクセルクロックレートより遅い第2のピクセルクロックレートで受信されうる。例えば、 図1の画像センサ104はウィンドウ情報144に応答して切り取られた画像データを出力しうる。マスタークロックレート130は低減され、そうしてピクセルクロックレート132が低減されることを引き起こしうる。
[0048] その方法は、ズームされた画像を生成するために、切り取られた画像データを514においてスケールアップすることを含みうる。例示すると、図1のアップスケーラ111は切り取られた画像データを受信し、ズームされた画像に対応するズームされた画像データを生成するために切り取られた画像データをスケールアップしうる。その方法は、ズームされた画像データを使用して追加の画像処理を行うこともまた含みうる。例えば、この方法はズームされた画像に画像シャープニング操作を516において行うこと、およびズームされた画像の空間フィルタリングを518において行うことを含みうる。他の画像処理操作が、その上に、または代替的に行われうる。
[0049] 図5の方法は、フィールドプログラマブルゲートアレイ(FPGA)デバイス、特定用途向け集積回路(ASIC)、中央処理装置(CPU)のような処理ユニット、デジタル信号プロセッサ(DSP)、コントローラ、別のハードウェアデバイス、ファームウェアデバイス、またはこれらの任意の組合せを使用して実装されうる。例として、図5の方法は命令を実行するプロセッサによって行われることができる。
[0050] 図6は、ズームされた画像を生成する複数の方法の間での差異を示す図である。図6において、ズームされた画像を生成する第1の方法は600で指定され、ズームされた画像を生成する第2の方法は650で指定されている。第1の方法600では、画像センサ602が第1のピクセルクロックレートで画像データ614を生成する。例えば、画像センサ602が名目上5メガピクセル(MP)画像センサのとき、画像センサ602はおおよそ縦2608横1950ピクセルを含むアレイ(array)のようなピクセルのアレイを含みうる。画像センサ602が毎秒12フレームのフレームレートで画像を生成するとき、画像センサ602の第1のピクセルクロックレートは約120Mhzでありうる。画像データ614は画像処理パイプライン604へ送られることで、例えばデモザイク、色ドメイン変換(color domain conversion)、画像シャープニング、空間フィルタリングなど、様々な画像処理操作を行わせうる。画像処理パイプライン604は、画像データ614を処理し、画像データ614を1つ以上のラインバッファ606に書きうる。処理された画像データは、切り取られた画像データ616を生成するために切り取り処理モジュール608によって切り取られうる。切り取られた画像データ616は、スケールアップされた画像データ618を生成するためにアップスケーラ610によってスケールアップされうる。スケールアップされた画像データ618は、さらなる処理および記憶のために、他の処理または記憶モジュール612に提供されうる。
[0051] 方法600の実例では、ズーム操作が4倍ズーム操作に対応するとき、切り取られた画像データ616は16倍(つまり、4倍の垂直な解像度および4倍の水平な解像度)に増加させられうる。それゆえに、スケールアップされた画像データ618は切り取られた画像データ616のおおよそ16倍ほどのピクセルを含みうる。切り取られた画像データ616は第1のピクセルクロックレート(例えば、約120Mhz)で処理されるから、スケールアップは第1のピクセルクロックレートより16倍大きいピクセルクロックレート(例えば、1920Mhz)でスケールアップされた画像データ618が生成されることをもたらす。それゆえに、第1の方法600はズームされた画像が生成されるとき、ピクセルクロックレートにおける著しい増加をもたらしうる。
[0052] 第1の方法600と第2の方法650との間の特定の差異を例示するために、それらの方法を行うシステムおよびモジュールのある特徴がそれら二つの方法の間の共通点として説明される。例えば、画像はそれら二つの方法の間で同じフレームレート(例えば、毎秒12フレーム)で生成されうる。加えて、第2の方法650のために説明されたズーム操作は第1の方法600のために説明されたズーム操作(例えば、4倍ズーム)にある程度類似しうる。これらの類似点は単に、二つの方法600と650とを説明し比較することの都合のためであって限定を意図したものではない。例えば、第1の方法600または第2の方法650は、毎秒12フレームより大または毎秒12フレームより小で動作しうる。加えて、方法600または650のいずれかにおけるフレームレートはズーム操作を実現するために変更されうる。さらに、方法600または650のいずれかは4倍より大または4倍より小のズーム操作を行うために使用されうる。加えて、画像センサ602は5Mピクセルより少なくまたは5Mピクセルより多くを含みうる。
[0053] 第2の方法650では、ズームコントローラ652は画像センサ602にウィンドウ情報654を提供する。ウィンドウ情報654は、データを切り取られた画像データ656として出力する画像センサ602の一部を識別する情報を含む。例示すると、4倍ズーム操作を行うために、ウィンドウ情報654は画像センサ602のピクセルのおおよそ16分の1に対応する一部(例えば、おおよそ縦664横492ピクセルを含む画像センサ602のエリア)を識別しうる。
[0054] ズームコントローラ652はまた、第2のピクセルクロックレートに画像センサのピクセルクロックレートを低減させることを画像センサ602に引き起こしうる。例えば、ズームコントローラ652は、ピクセルクロックレートを低減させることを画像センサ602に引き起こす信号を画像センサ602へ送信しうる。別の例では、ズームコントローラ652は画像センサ602へ送られるマスタークロック信号を低減させ、画像センサ602のピクセルクロックレートが低減されることをもたらす。画像センサ602は、切り取られた画像データ656を第2のピクセルクロックレートで出力しうる。例示すると、第2のピクセルクロックレートはおおよそ12Mhzでありうる。
[0055] 画像処理パイプライン604は、切り取られた画像データ656を受信しうる。アップスケーラ610は、画像処理パイプライン604の部分でありうる。例えば、アップスケーラ610は画像処理パイプライン604の他のパイプライン処理モジュール658に先行しうる。つまり、アップスケーラ610は他のパイプライン処理モジュール658より前に切り取られた画像データ656を処理しうる。アップスケーラ610は、ズームされた画像データ670を生成するために切り取られた画像データ656をスケールアップしうる。例えば、4倍ズーム操作のために、切り取られた画像データ656のピクセルの数はアップスケーラ610によって16倍に増加させられうる。それに基づいて、切り取られた画像データ656が縦664横492ピクセルを含むとき、ズームされた画像データ670は縦2656横1968ピクセルを含みうる。処理されたピクセルの数を増加させることは、それに対応する画像処理パイプライン604のピクセルクロックレートの増加をもたらす。それゆえに、ピクセルクロックレートは16倍に増加させられうる。しかしながら、第2のピクセルクロックレートは12Hzであったから、切り取られた画像データ656のスケールアップ後の画像処理パイプライン604でのピクセルクロックレートの増加はおおよそ192Hzでありうる。それは、ある画像処理システムのためには許容可能なピクセルクロックレートでありうる。ズームされた画像データ670が生成された後、画像処理パイプライン604はデモザイク、画像シャープニング、空間フィルタリング、色空間変換などのような他のパイプライン処理機能658を行いうる。加えて、他の処理または記憶機能612はズームされた画像データ670を使用して行われうる。
[0056] それゆえに、第2の方法650を使用することで、ズームされた画像は画像処理システムのピクセルクロックレートを許容しがたいレベルまで増加させることなく生成されることができる。加えて、(空間フィルタリングおよび画像シャープニングのような)他の画像処理パイプライン機能は画像データがスケールアップされた後で行われうる。それは、画像処理機能の後で画像のスケールアップを行うことと比較して改善された画質を提供しうる。加えて、上で言及された改善は画像処理システムでの待ち時間または画像処理システムによって使用される帯域幅を増加させることなく達成されることができる。
[0057] 図7は、プレビュー表示を生成する方法を示す図である。図7において、プレビュー表示を生成する第1の方法は700で指定され、プレビュー表示を生成する第2の方法は750で指定されている。具体的に言うと、第1の方法700はズーム操作が実現される前にプレビュー表示を生成するために使用され、第2の方法750はズーム操作が実現されるときにプレビュー表示を生成するために使用されうる。
[0058] 第1の方法700では、画像センサ702が画像データ710を生成する。画像データ710は、サブサンプリングされた画像データ712を生成するために画像センサ702またはサブサンプリングモジュール704のいずれかによってサブサンプリングされる。例えば、サブサンプリングはサブサンプリングされた画像データ712において表されるいくつかのピクセルを低減するために、あるピクセルを取り除いたり省いたりまたはあるピクセルを組合せることを含みうる。ピクセルの数は、比較的一様な方法で(例えば、より低い解像度であるが画像全体を保持するような方法で)低減されうる。これは、画像のセクション全体を取り除くことを指す画像データ710の切り取りとは対照的である。ビューファインダモジュール706は、表示デバイス708へ送られるプレビュー画像714を生成するためにサブサンプリングされた画像データ712を使用する。
[0059] 第2の方法750では、画像センサ702が画像データ710を生成する。画像データ710は、サブサンプリングされることなく切り取りモジュール752へ送られる。例えば、画像データ710は切り取りモジュール752にフルの解像度で送られうる。切り取りモジュール752は、切り取られた画像データ754を生成するために画像データ710を切り取りうる。切り取られた画像データ754は、ビューファインダモジュール706へ送られうる。それは、表示デバイス708へ送られるプレビュー画像756を生成するために切り取られた画像データ754を使用する。特定の実施形態では、画像データ710はズーム操作を行うための命令に応答して画像センサ702によって生成される。例えば、ズーム操作を行うための命令に応答してウィンドウ情報は(図1を参照して説明されたように)画像センサ702へ送られうる。ウィンドウ情報に応答して画像センサ702は、切り取られた画像データ754を生成しうる。それは、ビューファインダモジュール706へ送られうる。それゆえに、プレビュー表示756はサブサンプリングされた画像データ712から生成されたのではないから、第2の方法750は第1の方法700より高い解像度のプレビュー表示を生成しうる。
[0060] 説明された実施形態と併せて、命令122を実行する図1のプロセッサ118、図1のズームコントローラ140、画像センサへウィンドウ情報を送信するように構成された1つ以上の他のデバイスまたは回路、またはこれらの任意の組合せのような、ズーム操作を行うための命令に応答して画像センサへウィンドウ情報を送信するための手段を含みうるシステムが開示される。システムは、図1のカメラインターフェース108、図1の画像処理パイプライン110、切り取られた画像データを受信するように構成された1つ以上の他のデバイスまたは回路、またはこれらの任意の組合せのような、画像センサからの一部に対応する切り取られた画像データを受信する手段もまた含みうる。システムは、図1のアップスケーラ111、切り取られた画像データをスケールアップするように構成された1つ以上の他のデバイスまたは回路、またはこれらの任意の組合せのような、ズームされた画像を生成するために切り取られた画像データをスケールアップする手段もまた含みうる。
[0061] 図8を参照すると、ズームされた画像を生成するためのズームコマンドを実装できるカメラ824およびズームコントローラ820を含む電子デバイス800の特定の実例となる実施形態のブロック図が表現されている。デバイス800は、ズームコントローラ820を実装するために実行可能でありうるプログラム命令836を記憶するメモリ804に結合される汎用プロセッサ、画像プロセッサ、デジタル信号プロセッサ、またはこれらの任意の組合せのような、プロセッサ802を含む。プロセッサ802はまた、カメラコントローラ818および表示コントローラ808に結合される。表示コントローラ808はディスプレイ810に結合される。スピーカ814およびマイクロフォン816はコーダ/デコーダ(CODEC)812を通じてプロセッサ802に結合されることができる。実例では、電子デバイス800は図1のシステム100を含むまたはシステム100の内に含まれ、電子デバイス800はカメラ824によってキャプチャされた画像データを使用してズームされた画像を生成するためにズーム操作を実装するために図2〜7のいずれか、またはこれらの任意の組合せに従って動作する。
[0062] 図8はまた、ワイヤレスインターフェース826はプロセッサ802およびアンテナ828に結合されることができることを表明する。特定の実施形態では、プロセッサ802、表示コントローラ808、カメラコントローラ818、CODEC812、メモリ804、およびワイヤレスインターフェース826はパッケージ内システムまたはチップ上システムデバイス830に含まれる。特定の実施形態では、電源834、カメラ824、スピーカ814、マイクロフォン816はチップ上システムデバイス830に結合される。さらに、特定の実施形態では、図8において示されるように、ディスプレイ810、入力デバイス832、スピーカ814、マイクロフォン816、アンテナ828、および電源834は、チップ上システムデバイス830の外部にある。しかしながら、ディスプレイ810、入力デバイス832、スピーカ814、マイクロフォン816、アンテナ828、カメラ824、および電源834の各々は、インターフェースまたはコントローラのようなチップ上システムデバイス830のコンポーネントに結合されることができる。
[0063] 当業者は、本開示の実施形態に関連して説明された様々な実例となる論理ブロック、構成、モジュール、回路、およびアルゴリズムのステップが電子ハードウェア、プロセッサによって実行されるコンピュータソフトウエア、または両方の組合せとして実装されうることをさらに理解するであろう。様々な実例となるコンポーネント、ブロック、構成、モジュール、回路、およびステップは、概してそれらの機能という観点から上述された。このような機能が、ハードウェアとして実装されるか、またはソフトウェアとして実装されるかは、特定のアプリケーションおよびシステム全体に課せられる設計制約に依存する。当業者は、各特定のアプリケーションについて、様々な方法で、説明された機能を実現しうるが、そのような実現の決定は、本開示の範囲からの逸脱を生じさせるものとして解釈されるべきでない。
[0064] 本開示の実施形態に関連して説明された方法またはアルゴリズムのステップは、ハードウェア、プロセッサによって実行されるソフトウェアモジュール、またはそれら二つの組合せで直接に具現化されうる。ソフトウェアモジュールは、ランダムアクセスメモリ(RAM)、フラッシュメモリ、読み取り専用メモリ(ROM)、プログラマブル読み取り専用メモリ(PROM)、消去可能PROM(EPROM)、電気的消去可能PROM(EEPROM)、レジスタ、ハードディスク、リムーバブルディスク、コンパクトディスク読み取り専用メモリ(CD−ROM)、または当技術分野で知られている有形の記憶媒体の任意の他の形態に内在しうる。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込めるように、プロセッサに結合される。代替的に、記憶媒体はプロセッサと一体でありうる。プロセッサおよび記憶媒体は、特定用途向け集積回路(ASIC)に内在しうる。ASICは、コンピューティングデバイスまたはユーザ端末に内在しうる。代替的に、プロセッサと記憶媒体は、コンピューティングデバイスまたはユーザ端末においてディスクリートコンポーネントとして内在しうる。
[0065] 開示された実施形態のこれまでの説明は、当業者の誰もが開示された実施形態を製造または使用可能にするために提供される。これらの実施形態への様々な修正は当業者には容易に明らかであり、本明細書に定義された原理は本開示の範囲を逸脱することなく他の実施形態に適用されうる。したがって、本開示は、ここに示された実施形態に限定されるようには意図されず、下記の特許請求の範囲によって定義されるような原理および新規な特徴と一致する可能である最も広い範囲を与えられるべきである。