(58)【調査した分野】(Int.Cl.,DB名)
前記視覚的目印が、前記第1のフレームのうち前記第2のアスペクト比の外側にある部分の上の半透明のシェーディングを含む、半透明のレターボックス効果である、請求項1に記載のデバイス。
前記集積回路が、前記第3の複数のフレームを前記メモリ内に記憶するように更に構成され、前記集積回路が、前記第3の複数のフレームを前記表示デバイス上の表示のために前記メモリから読み出すように構成される、請求項3に記載のデバイス。
前記集積回路が、前記静止画フレームに対する前記リクエストに応じて、前記第1の解像度を有する直近のフレームを前記静止画フレームとしてキャプチャするように構成される、請求項1に記載のデバイス。
前記集積回路が、前記静止画フレームに対する前記リクエストに応じて、前記第1の解像度を有するフレームを前記静止画フレームとしてキャプチャするように構成され、前記フレームが、前記静止がフレームに対する前記リクエストが起きる時間に近く、前記フレームが、1つ以上の画像品質要求に対して前記集積回路によりフィルタリングされる、請求項1に記載のデバイス。
映像キャプチャ中に、第1の解像度、及び静止画フレームと関連付けられた第1のアスペクト比の第1のフレームと、第2の解像度、及び映像と関連付けられた第2のアスペクト比でキャプチャされた第2のフレームとのインターリーブされたシーケンスを生成することであって、前記第1のアスペクト比が前記第2のアスペクト比とは異なる、シーケンスを生成することと、
第3の複数のフレームを表示デバイス上に表示することであって、前記第3の複数のフレームが、前記第1のアスペクト比、及び前記第1の解像度よりも低い第3の解像度を有する第2の映像シーケンスを形成し、前記第3の複数のフレームが、各フレームに対する前記第2のアスペクト比の視覚的目印を更に含み、もって、前記第1のアスペクト比の画像及び前記第2のアスペクト比の画像のフレーム化が、前記表示デバイス上で同時に視認可能である、第3の複数のフレームを表示することと、
静止画フレームに対するリクエストを検出することと、
前記フレームのうちの1つを前記第1の解像度及び前記第1のアスペクト比で前記静止画フレームとしてキャプチャすることと、
を含む方法。
【図面の簡単な説明】
【0007】
【
図2】ある期間にわたってキャプチャされた、一実施形態のフレームを図示するブロック図である。
【
図3】
図1に示されたシステムのディスプレイにフレームを表示する一実施形態のブロック図である。
【
図4】
図1に示された画像信号プロセッサ(ISP)の一実施形態のブロック図である。
【
図5】
図1に示されたISPの別の実施形態のブロック図である。
【
図6】システムの一実施形態に係る映像フレームキャプチャを図示するフローチャートである。
【
図7】システムの一実施形態に係る静止画フレームキャプチャを図示するフローチャートである。
【
図8】システムの別の実施形態に係る静止画フレームキャプチャを図示するフローチャートである。
【
図9】システムの別の実施形態のブロック図である。
【0008】
本発明は各種の変更及び代替的な形態を受け入れる余地があるが、その特定の実施形態が図面には例として示されており、本明細書において詳細に説明されることになる。しかし、図面及びそれらに対する詳細な説明は、本発明を開示される特定の形態に限定することを意図するものではなく、逆にその意図は、添付の請求項によって定義されるような本発明の趣旨及び範囲内に入る全ての変更、均等物及び代替物を範囲に含むことであると理解されたい。本明細書において用いられる表題は、構成目的のみに過ぎず、説明の範囲を限定するために用いられることを意味するものではない。この出願全体を通じて用いられるとき、「〜であり得る(may)」という語は、義務的な意味(すなわち、〜しなければならない(must)を意味する)ではなく、許容的な意味(すなわち、〜する可能性を有することを意味する)で用いられる。同様に、「含む(include)」、「含む(including)」、及び「含む(includes)」という語は、〜を含むが、それに限定されないことを意味する。
【0009】
各種のユニット、回路、又は他の構成要素は、タスク又はタスク群を実行「するように構成される(configured to)」と記述され得る。このような文脈において、「〜するように構成される」とは、動作中にタスク又はタスク群を実行する「回路機構を有する」ことを概して意味する構造の広義の表現である。したがって、ユニット/回路/構成要素は、このユニット/回路/構成要素が現在動作していなくても、タスクを実行するように構成可能である。概して、「〜するように構成される(configured to)」に対応する構造を形成する回路機構は、動作を実施するために実行可能なプログラム命令を記憶するハードウェア回路及び/又はメモリを含み得る。メモリは、スタティックランダムアクセスメモリ若しくはダイナミックランダムアクセスメモリなどの揮発性メモリ、及び/又は光ディスクストレージ若しくは磁気ディスクストレージ、フラッシュメモリ、プログラム可能読み出し専用メモリなどの不揮発性メモリなどを含むことができる。同様に、各種のユニット/回路/構成要素は、説明の便宜上、タスク又はタスク群を実行すると記述され得る。このような説明は、「〜するように構成される」という語句を含むと解釈されるべきである。1つ以上のタスクを実行するように構成されるユニット/回路/構成要素を表現することは、ユニット/回路/構成要素について米国特許法第112条第6項の解釈を援用しないことを明示的に意図する。
【0010】
本明細書は、「一実施形態」又は「ある実施形態」に対する参照を含む。「一実施形態において」又は「ある実施形態において」というフレーズの出現は、特徴の任意の組合せを含む実施形態を一般的に意図するが、本明細書において明示的に否定しない限り、同一の実施形態を必ずしも参照するものではない。特定の特徴、構造又は特性は、この開示に整合する任意の適した方法で組み合わせられ得る。
【発明を実施するための形態】
【0011】
次に
図1を参照すると、システムオンチップ(SOC)10の一実施形態のブロック図が、メモリ12、1つ以上の画像センサ26及び1つ以上のディスプレイ20に接続された状態で示される。名前により暗示されるように、SOC10の構成要素は、集積回路「チップ」としての単一の半導体基板の上に集積され得る。一部の実施形態において、構成要素は、システム内の2つ以上の個別のチップ上に実装され得る。加えて、各種の構成要素は、任意の集積回路(すなわちSOCである必要はない)上に集積され得る。しかし、本明細書においては、SOC10を例として用いる。図示された実施形態において、SOC10の構成要素は、中央処理装置(CPU)複合体14、ディスプレイパイプ16、周辺装置構成要素18A〜18B(より簡単に「周辺装置」)、メモリコントローラ22、画像信号プロセッサ(ISP)24、及び通信ファブリック27を含む。構成要素14、16、18A〜18B、22、及び24の全ては、通信ファブリック27に接続され得る。メモリコントローラ22は、使用中にメモリ12に接続され得る。同様に、ISP24は、使用中に画像センサ26に接続され得、ディスプレイパイプ16は、使用中にディスプレイ20に接続され得る。よって、SOC10、画像センサ26、メモリ12、及びディスプレイ20の全ては、(その例が上記された)携帯型電子デバイス又は任意の他のコンピュータシステムなどのシステムの構成要素であり得る。図示された実施形態において、CPU複合体14は、1つ以上のプロセッサ28及びレベル2(L2)キャッシュ30を含む。
【0012】
ISP24は、画像センサデータを画像センサ26から受信するように構成され得、例えば、ディスプレイ20及び/又は他のディスプレイ上の表示に適し得る画像フレームを作り出すためにデータを処理するように構成され得る。画像フレームは、静止画フレーム及び映像フレームを含み得る。ISP24は、画像フレームを(メモリコントローラ22を通じて)メモリ12に書き込むように構成され得る。
【0013】
画像センサ26は、一般的に、光をサンプリングしてサンプリングした光を表す出力を提供するように構成された任意のデバイスを含み得る。画像センサ26は、(例えば電荷結合デバイス(CCD)、相補形MOS(CMOS)センサなど)のカメラを含み得る。画像センサ26は、一部の実施形態において各種の固定又は可動の光学レンズも含み得る。
【0014】
特に、ある実施形態において、ISP24は、(各種の実施形態において任意のフレームレートが用いられ得るが、例えば毎秒60フレーム(fps)などの指定されたフレームレートで)一連のフレームを画像センサ26から経時的に受信するように構成され得る。所与の画像センサ26から受信したフレームは、所与の画像センサ26の最大解像度及び所与の画像センサ26のアスペクト比に基づく解像度及びアスペクト比を有し得る。例えば、ある実施形態において、フレームは、所与の画像センサ26の最大解像度及びアスペクト比で受信され得る。別の実施形態において、フレームは、所与の画像センサが有するものとは異なるアスペクト比、及びその異なるアスペクト比でサポートされ得る最大解像度で受信され得る。例えば、ある実施形態において、所与の画像センサ26は、アスペクト比4×3を有し得るが、ISP24は、アスペクト比16×9のフレームを受信し得る。受信したフレームの解像度は、4×3(16×12)から16×9へのロスを反映するように最大解像度から低減され得る。あるいは、ISP24は、別の実施形態において、受信したフレームのアスペクト比を低減させるように構成され得る。
【0015】
ある実施形態において、ISP24は、フレームを1つよりも多い画像センサから同時に受信し得る。例えば、より高い解像度の静止画フレームセンサと共に、より低い解像度の映像キャプチャのために映像画像センサが利用され得る。ISP24は、画像センサからのデータをインターリーブ形式で処理し得る。例えば、ISP24は、映像画像フレームをキャプチャ及び処理し得、次の映像フレームがキャプチャされるまでの残りの時間を用いて、より高い解像度の静止画像フレーム(又はより高い解像度のフレームの一部)を処理し得る。
【0016】
ISP24は、受信したフレームを処理してキャプチャされた映像シーケンスを作り出すように構成され得る。処理は、ある実施形態においては、フレームの少なくとも一部の解像度を変更することを含み得、並びにアスペクト比を変更することも含み得る。一部の実施形態において、フレームレートも変更され得る。一実施形態において、ISP24は、画像センサ26により提供された解像度及びアスペクト比のフレームを、より低い解像度及び異なるアスペクト比のフレームとインターリーブし得る。例えば、より低い解像度は、映像シーケンスがキャプチャされるディスプレイ規格の解像度であり得る。ディスプレイ規格は、各種のディスプレイにより実装され得る、解像度及びアスペクト比の任意の規格設定であり得る。解像度及びアスペクト比が規格化されるので、映像シーケンスは、多くの異なるタイプの表示デバイス上の表示に適し得る。例えば、ディスプレイ規格は、720p、720i、1080p、又は1080iを含み得る。1080pの規格は、現在特に普及しており、テレビモニタ及びコンピュータモニタなどの多くの映像表示デバイスにより実装される。これらの各種のディスプレイ規格は、高品位テレビ(HDTV)と称されることも多い。1080pの規格は、ここでは例として用いられており、アスペクト比16×9及び1920×1080の解像度若しくは2百万画素を指定する。他方、画像センサ26の解像度は、8百万画素、10百万画素、12.5百万画素、又はそれら以上(ある実施形態においては、解像度1080pよりも高いが、それら以下)であり得る。画像センサ26のアスペクト比は4×3であり得る。ディスプレイ規格の解像度及びアスペクト比のフレームは、ディスプレイ規格フレーム、又は、より特有の例に対して、1080pのフレームと称され得る。画像センサ26から受信した解像度及びアスペクト比のフレームは、「フル解像度」のフレームと称され得るが、一部の場合には、解像度は、画像センサ26の最大解像度でなくてもよい。
【0017】
1080pのフレームとフル解像度のフレームとを映像シーケンス中にインターリーブすることによって、ISP24は、(例えば、通信ファブリック27を介してメモリコントローラ22を通じてメモリ12に書き込むことによって)映像シーケンスを出力するときの帯域幅及び消費電力の量を低減させ得る。加えて、キャプチャされた映像シーケンスにおけるフル解像度のフレームの存在は、映像がキャプチャされる間の静止画フレームのキャプチャを可能にし得る。静止画フレームは、(静止画がキャプチャされることをユーザが指示するときに、映像シーケンスからフル解像度のフレームのうちの1つを選ぶことによって)フル解像度及び画像センサ26のアスペクト比を有し得、そのことは、モード変更を要求せずにより望ましい(例えば、静止画モードにおいてキャプチャされたものと同様の)静止画を提供し得る。
【0018】
高解像度のフレームとより低い解像度のフレームとをインターリーブすることは、画像センサ26からキャプチャされるフレームレートのそれぞれ半分である、高解像度のフレームとより低い解像度のフレームとの画像ストリームを作り出し得る。しかし、フレームレートが同一である必要はない。例えば、高解像度のフレームレートは、ストリーム中のフレームの1/4、又はフレームの1/8、又は任意の他のインターリービングパターンであり得る。より低い解像度のフレームレートは、所望の合計フレームレートを作り出すように増加され得る(例えば、より低い解像度のフレームは、高解像度のフレームがフレームの1/4である場合にフレームの3/4であり得、高解像度のフレームがフレームの1/8である場合にフレームの7/8であり得る)。
【0019】
ある実施形態において、ISP24は、ディスプレイパイプ16によりディスプレイ20に表示され得る「プレビュー」映像シーケンスも生成し得る。プレビュー映像シーケンスは、より低い解像度のシーケンスであり得る(例えば、解像度は、解像度1080pと同様であり得る)が、アスペクト比は、画像センサ26のアスペクト比であり得る。つまり、アスペクト比は、静止画像のアスペクト比であり得る。プレビューシーケンスは、映像をキャプチャしているユーザのために表示され得るので、ユーザは、所望に応じて映像シーケンスをフレーム化した状態に保ち得る。更に、静止画像のアスペクト比を表示することは、静止画像がキャプチャされる場合に静止画像がどのようにフレーム化されるかを視認することをユーザに可能にさせる。ある実施形態において、ディスプレイ規格のアスペクト比もプレビューシーケンスにおいて示されるので、ユーザは、映像フレームと静止画フレームの両方をディスプレイ20において同時に見ることができる。ある実施形態において、プレビュー映像シーケンスのフレームレートは、キャプチャされた映像シーケンスのフレームレートよりも低くもあり得る(例えば、60fbsに比して30fps)。
【0020】
他の実施形態は、プレビューを他の形式で表示し得る。例えば、プレビューシーケンスは、映像がキャプチャされる間にディスプレイ規格のアスペクト比(例えば16×9)で生成され得る。ユーザは、(例えばデバイス上のシャッターボタンを押下することによって)静止画をキャプチャしたい旨を指示し得、プレビューは、静止画のアスペクト比を映像シーケンスの周りに表示し得る(映像シーケンスをディスプレイ20上の同一の位置に保つが、静止画フレームの残り部分も表示する)。映像キャプチャは、シャッターボタンが押下される間継続し得る。ユーザは、静止画像をキャプチャして映像のみのキャプチャに戻るためにシャッターボタンを解放し得る。シャッターボタンは、システムのハウジング上に含まれた物理的なボタンであり得、又は、(例えば、ディスプレイ20がタッチスクリーンディスプレイである場合に)ディスプレイスクリーン上の仮想ボタンであり得る。
【0021】
ディスプレイパイプ16は、1つ以上の静止フレーム及び/又は1つ以上の映像シーケンスをディスプレイ20上の表示のために処理するためのハードウェアを含み得る。一般的に、各ソースフレーム又は各映像シーケンスに対して、ディスプレイパイプ16は、フレーム/映像シーケンスを表すデータをメモリ12からメモリコントローラ22を通じて読み出すためのメモリ読出し動作を起こすように構成され得る。特にこの実施形態において、ディスプレイパイプ16は、プレビューシーケンスをメモリ12からメモリコントローラ22を通じて読み出すように構成され得る。よって、ISP
24は、プレビューシーケンス並びにキャプチャされたシーケンス及び任意の静止画フレームをメモリ12に書き込み得る。ディスプレイパイプ16は、画像データ(静止フレーム、映像シーケンスなど)に関する任意のタイプの処理を実行するように構成され得る。一実施形態において、ディスプレイパイプ16は、静止フレームをスケール変更し、映像シーケンスのフレームに対するディザー処理、スケール変更、及び/又は色空間変換を実行するように構成され得る。ディスプレイパイプ16は、表示用の出力フレームを作り出すために静止フレームと映像シーケンスフレームをブレンドするように構成され得る。より一般的に、ディスプレイパイプ16は、表示コントローラと称され得る。
【0022】
ディスプレイ20は、任意の種類の視覚的表示デバイスであり得る。ディスプレイは、例えば、スマートフォン、タブレットなどのモバイルデバイス用のタッチスクリーン型ディスプレイを含み得る。各種のディスプレイ20は、液晶ディスプレイ(LCD)、発光ダイオード(LED)、プラズマ、ブラウン管(CRT)などを含み得る。ディスプレイは、SOC10を含むシステム(例えばスマートフォン若しくはタブレット)に組み込まれ得、及び/又は、コンピュータモニタ、テレビなどの別途に収容されたデバイス若しくは他のデバイスであり得る。
【0023】
一般的に、フレームのアスペクト比は、垂直方向の画素に対する水平方向の画素の(ユーザにより視認される)比率を指し得る。フレーム中の画素の実際の数は、フレームの解像度と称され得る。フレーム中の画素が多いほど、画像のきめがより微細になり得、よって画像がより精確になり得る。
【0024】
CPU複合体14は、SOC10のCPUとして機能する1つ以上のCPUプロセッサ28を含み得る。システムのCPUは、オペレーティングシステムなどシステムの主制御ソフトウェアを実行するプロセッサ(1つ又は複数)を含む。一般的に、使用中にCPUにより実行されるソフトウェアは、システムの他の構成要素を制御してシステムの所望の機能を実現し得る。CPUプロセッサ28は、アプリケーションプログラムなどの他のソフトウェアも実行し得る。アプリケーションプログラムは、ユーザ機能を提供し得、より低レベルのデバイス制御のためにオペレーティングシステムに依存し得る。したがって、CPUプロセッサ28は、アプリケーションプロセッサと称され得る。CPU複合体14は、L2キャッシュ30、及び/又はシステムの他の構成要素とのインターフェイス(例えば、通信ファブリック27とのインターフェイス)などの他のハードウェアを更に含み得る。
【0025】
周辺装置18A〜18Bは、SOC10に含まれる追加のハードウェア機能の任意のセットであり得る。例えば、周辺装置18A〜18Bは、映像エンコーダ/デコーダ、スケーラ、ローテータ、ブレンダ、グラフィック処理ユニットなどの映像周辺装置を含み得る。周辺装置は、マイクロホン、スピーカ、マイクロホン及びスピーカとのインターフェイス、オーディオプロセッサ、デジタル信号プロセッサ、ミキサなどのオーディオ周辺装置を含み得る。周辺装置は、ユニバーサルシリアルバス(USB)、PCIエクスプレス(PCIe)を含むペリフェラルコンポーネントインターコネクト(PCI)、シリアルポート及びパラレルポートなどのインターフェイスを含む、SOC10外部との各種のインターフェイス(例えば周辺装置18B)用のインターフェイスコントローラを含み得る。周辺装置は、メディアアクセスコントローラ(MAC)などのネットワーク用周辺装置を含み得る。ハードウェアの任意のセットが含まれ得る。
【0026】
メモリコントローラ22は、SOC10の他の構成要素からメモリリクエストを受信するための回路構成と、メモリ12にアクセスしてメモリリクエストを完了するための回路構成とを一般的に含み得る。メモリコントローラ22は、任意のタイプのメモリ12にアクセスするように構成され得る。例えば、メモリ12は、スタティックランダムアクセスメモリ(SRAM)、(DDR、DDR2、DDR3などの)ダブルデータレートDRAMを含むシンクロナスDRAM(SDRAM)などのダイナミックRAM(DRAM)であり得る。DDR DRAMの低電力/モバイルバージョン(例えばLPDDR、mDDRなど)がサポートされ得る。
【0027】
通信ファブリック27は、SOC10の構成要素間で通信するための任意の通信相互接続及びプロトコルであり得る。通信ファブリック27は、共有バス構成、クロスバー構成、及びブリッジを伴う階層的なバス、を含むバスベースであり得る。通信ファブリック27は、パケットベースであり得、ブリッジ、クロスバー、ポイントツーポイント又は他の相互接続を伴う階層構成であり得る。
【0028】
SOC10の構成要素の数(及び、CPU複合体14内などの、
図1に示されたもののサブ構成要素の数)は、実施形態ごとに異なり得ることに留意されたい。各構成要素/サブ構成要素は、
図1に示された数よりも多くてもよく又は少なくてもよい。
【0029】
次に
図2に移ると、一実施形態による映像シーケンスの連続フレームを図示する図が示される。映像シーケンスは、アスペクト比16×9及び解像度1080pのフレーム42A〜42Dとインターリーブされた、アスペクト比4×3及びフルセンサ解像度のフレーム40A〜40Dを含む。つまり、アスペクト比4×3及び高解像度と、アスペクト比16×9及びより低い解像度との交互フレームが提供される。映像シーケンスのフレームレートは、ある実施形態において、画像センサ26からの入力フレームレート(例えば60fps)と同一であり得る。したがって、各フレームタイプ(フル解像度と解像度1080p)の有効フレームレートは、映像シーケンスのフレームレートの1/2(例えば30fps)であり得る。
【0030】
上記されたように、フル解像度のフレームのフレームレートと解像度1080pのフレームのフレームレートとが同一である必要はない。システム及びISP自体の利用可能な帯域幅などの各種の要因に依存して、有効フレームレートが変化し得る。例えば、フル解像度のフレームは、15fpsでキャプチャされ得、解像度1080pのフレームは、45fpsでキャプチャされ得、60fpsを生じさせる。フレームレートの任意のセットが用いられ得る。
【0031】
図3は、
図2に示された映像シーケンスのキャプチャ中にディスプレイ20に表示され得るようなプレビューシーケンスのフレーム44の一実施形態を図示するブロック図である。フレーム44は、大括弧48及び50により示されるように16×9のフォーマットの映像フレーム46を含み得る。加えて、映像フレームを越えて広がる4×3(16×12)のフレームの部分は、ここでは4×3(16×12)のフルフレームが大括弧48及び54により図示される、半透明のレターボックスフォーム52A〜52B内に示され得る。
【0032】
半透明のレターボックス52A〜52Bは、フレーム44のどの部分が映像シーケンス(映像フレーム46)中にキャプチャされ、その部分が静止画像(全体フレーム44)に利用可能であることの視認可能な目印であり得る。半透明のレターボックス52A〜52Bは、視覚的効果をもたらすために画像をシェードし得るが、映像がキャプチャされる間にユーザが所望の静止画ショットをフレーム化し得るように、下層の画素が視認されることも可能にし得る。他の実施形態は、他の視覚的目印(例えば、映像フレームの部分と静止画フレームの部分とを分離する線、映像フレーム46が開始及び終了する箇所でフレーム44の左右にある目盛など)を用い得る。
【0033】
レターボックス化効果は、映像シーケンスを処理するときにISP24により追加され得、又は、ディスプレイパイプ16を通じて追加され、下層の画素の色が部分的に視認可能となることを可能にする非単一的なアルファ値で静止画像としての透明オーバレイを映像シーケンス上にブレンドし得る。
【0034】
フレーム44上には、仮想シャッターボタン56も表示される。図示された実施形態において、ボタン56は、映像フレーム44内に表示されるが、レターボックスエリア52A〜52B内にも表示され得る。ボタン56は、ディスプレイ20がタッチ可能なディスプレイである実施形態において用いられ得る。ユーザは、静止画フレームをキャプチャするために、ボタンが表示される箇所でスクリーンにタッチ接触することによりボタン56を押下し得る。ある実施形態において、ボタンの押下は、静止画フレームをキャプチャさせる。別の実施形態において、押下後のボタンの解放は、静止画フレームのキャプチャを生じさせ得る。その間に、映像シーケンスは、キャプチャ及び表示され続け得る。ユーザによるボタン56の押下(又は解放)に応じて、SOC10は、キャプチャされた映像シーケンスから直近のフル解像度のフレームをキャプチャするように構成され得る。つまり、静止画フレームのキャプチャが起きる時点が映像シーケンスと同期され得、その時点の直近のフル解像度のフレームが選択され得る。
【0035】
次に
図4に移ると、ISP24の一実施形態のブロック図が示される。図示された実施形態において、ISP24は、センサインターフェイス60、フロントエンドスケーラ62、バックエンド処理ブロック64、及びバックエンドスケーラ66を含む。センサインターフェイス60は、フレームを画像センサ(1つ又は複数)26から受信するために接続されるとともに、フロントエンドスケーラ62に接続される。フロントエンドスケーラ62は、スケール変更されたフレームをメモリコントローラ22にメモリ12への記憶のために提供するために接続される。バックエンド処理ブロック64は、スケール変更されたフレームをメモリ12から読み出す(
図4中の点線68で図示される)ように構成される。バックエンド処理ブロック64は、バックエンドスケーラ66に接続され、キャプチャされた映像シーケンス及びプレビュー映像シーケンスをメモリコントローラ22にメモリ12への記憶のために提供するために接続される。プレビュー映像シーケンスは、メモリ12からディスプレイパイプ16により読み出され(点線70で示される)得る。
【0036】
画像センサ26から受信したフレームは、所望のフレームレート(この例では例えば60fps)のフルセンサ解像度のフレームであり得る。加えて、フレームは、センサアスペクト比(この例では例えば4×3)を有し得る。前述されたように、一部の実施形態において、複数の画像センサが利用され得、各画像センサからのフレームが受信され得る。画像を各センサから受信するためのフレームレートは、各種の実施形態において同一である必要はない。センサインターフェイス60は、フレームデータを受信してデータをフロントエンドスケーラ62に供給するように構成され得る。フロントエンドスケーラ62は、フルセンサ解像度及びアスペクト比のフレーム(すなわち変更されていないフレーム)と、低減された解像度及びアスペクト比16×9のフレームとの交互フレームを出力し得る。低減された解像度は、ディスプレイ規格の解像度(例えば1080p)であり得、又は中間解像度であり得る。例えば、中間解像度は、プレビュー映像シーケンスの解像度に基づき得る。具体的には、中間解像度は、ある実施形態においてプレビュー映像シーケンスの水平解像度に一致し得る。他の実施形態において、高解像度のフレームと低解像度のフレームとが生成される相対レートは、上で議論されたように変化し得る。
【0037】
フロントエンドスケーラ62は、生のセンサ画素データに関して動作し得る。センサ画素データは、任意のフォーマット(例えばBayerフォーマット)で提供され得る。生のセンサ画素データは、システムの他の構成要素により用いられるデータ(例えば赤/緑/青(RGB)画素又は色度/輝度(YCrCb)画素)に変換され得る。バックエンド処理ブロック64は、変換を実行するように構成され得、バックエンドスケーラ66は、得られたフレームをスケール変更するように構成され得る。バックエンドスケーラ66は、2つの映像ストリーム、すなわち、解像度1080p、16×9のフレームとインターリーブされた、インターリーブされた4×3、フルセンサ解像度のフレームを含み得るキャプチャされた映像シーケンスと、プレビュー映像シーケンスとをメモリに出力するように構成され得る。
【0038】
プレビュー映像シーケンスは、キャプチャされた映像シーケンスのフルフレームレートである必要はない。例えば、図示された実施形態において、プレビュー映像シーケンスは、キャプチャされた映像シーケンスが60fpsである場合に30fpsであり得る。各プレビューフレームは、アスペクト比4×3を有し得、ディスプレイ20に適した解像度を有し得る。従前のフレームは、ある実施形態において4×3のフレーム中の16×9のフレームの目印(例えばレターボックス化)を含み得る。
【0039】
バックエンド処理ブロック64は、上記されたBayer画素変換に加えて、任意の他の所望の画像処理又は変換機構を実装するように構成され得る。例えば、バックエンド処理ブロック64は、ノイズ挿入、色強調などを含み得る。
【0040】
図5は、ISP24の別の実施形態のブロック図である。
図5の実施形態は、フロントエンドスケーラ62を含まない。したがって、センサインターフェイス60は、フレームを画像センサ26から受信し、フレームをメモリに書き込むように構成され得る。受信したフレームは、図示された実施形態においてアスペクト比4×3及びフルセンサ解像度を有し得る。あるいは、受信したフレームは、別の実施形態においてアスペクト比16×9を有し得る。バックエンド処理ブロック64は、受信したフレームをメモリから読み出し得(点線72)、
図4の実施形態においてフロントエンドスケーラにより生成された、アスペクト比4×3、フルセンサ解像度のフレームと、アスペクト比16×9、より低い解像度のフレームとをインターリーブするスケール変更された映像シーケンスを生成し得る。更に、バックエンド処理ブロック64は、前述されたようなBayerからRGB/YCrCbへの処理などを実行するように構成され得る。バックエンドスケーラ66は、
図4に関して前に議論されたように、キャプチャされた映像シーケンス及びプレビュー映像シーケンスを生成するように構成され得る。ディスプレイパイプ16は、プレビュー映像シーケンスをディスプレイ20上の表示のためにメモリから読み出し(点線74)得る。
【0041】
図6は、映像シーケンス及びプレビュー映像シーケンスをキャプチャするためのSOC10の構成要素の一実施形態の動作を図示するフローチャートである。理解を容易にするために、ブロックは特定の順序で示されているが、他の順序が用いられ得る。ブロックは、構成要素内の組合せ論理において並行に実行され得る。ブロックは、異なるフレーム、又はフレームの異なる部分に関して、並行にも動作し得る。ブロック、ブロックの組合せ、及び/又はフローチャート全体は、複数のクロックサイクルでパイプライン化され得る。SOC10の構成要素は、
図6に示された動作を実施するように構成され得る。
【0042】
ISP24は、画像センサデータを所望のフレームレートで受信する(ブロック80)ように構成され得る。ISP24は、インターリーブされたフレーム(フルセンサ解像度、アスペクト比4×3のフレーム、及びより低い解像度、アスペクト比16×9のフレーム)のシーケンスを生成するように構成され得る。各タイプのフレームのシーケンスは、受信したフレームのフレームレートの半分を有効に有し得、よって、インターリーブされたシーケンスは、受信したフレームと同一のフレームレートを有し得る(ブロック82)。あるいは、低解像度のフレームと高解像度のフレームに対して、前に議論されたような異なるフレームレートがサポートされ得る。ISP24は、1080pのフレームとインターリーブされたフルセンサ、アスペクト比4×3のフレームを含むキャプチャされた映像シーケンスを生成する(ブロック84)ように構成され得る。加えて、ISP24は、プレビュー映像シーケンスのプレビュー解像度、アスペクト比4×3のフレームを生成する(ブロック86)ように構成され得る。一実施形態において、プレビュー映像シーケンスのフレームレートは、キャプチャされた映像シーケンスのフレームレートよりも低い。例えば、フレームレートは、キャプチャされた映像シーケンスの半分であり得る。プレビュー映像シーケンスのフレームは、例えば、キャプチャされた映像シーケンスから、(解像度1080pにスケール変更された)4×3のフレームと隣接の16×9のフレームとをマージすることによって生成され得る。ディスプレイパイプ16は、フレームの映像(16×9)部分を示す半透明のレターボックス化を伴ってプレビュー映像シーケンスを表示し得る(ブロック88)。半透明のレターボックス化効果は、プレビュー映像シーケンスを提供するバックエンドスケーラ66の部分であり得、又は、プレビュー映像シーケンスと静止レターボックス画像をブレンドすることにより適用され得る。キャプチャされた映像シーケンス及びプレビュー映像シーケンスは、メモリ12内の別個のメモリ領域に記憶され得る。シーケンスがキャプチャされる間にプレビュー映像シーケンスがユーザの視認のために提供されるので、その領域は、映像シーケンス中の所望の古いフレームが新しいフレームにより上書きされ得る場合に幾分小さくなり得る。反対に、キャプチャされた映像シーケンスは、(例えば、後の処理/視認、おそらくは別のデバイスへのオフロードのためなどの)保持に向けられ得る。したがって、より大きな領域が、キャプチャされた映像シーケンスに割り当てられ得る。一部の実施形態において、キャプチャされた映像シーケンスは、他のストレージ(例えば、システム内の図示されていない不揮発メモリ)に移され得る。
【0043】
高解像度のフレームと低解像度のフレームに対して異なるフレームレートが用いられる場合、高解像度のフレームの生成は、より低い解像度のフレームの生成の間のスライス中に実行され得る。例えば、低解像度のフレームが30fpsでキャプチャされる場合、ISP24は、1/30秒よりも短い低解像度のフレームをキャプチャし得る。1/30秒が経過するまでの残りの時間は、高解像度スライスを処理するために用いられ得る。スライスは、例えば、高解像度のフレームのタイル又は複数のタイルであり得る。
【0044】
図7は、映像キャプチャ中に静止画フレームをキャプチャするためのSOC10の構成要素の一実施形態の動作を図示するフローチャートである。理解を容易にするために、ブロックは特定の順序で示されているが、他の順序が用いられ得る。ブロックは、構成要素内の組合せ論理において並行に実行され得る。ブロック、ブロックの組合せ、及び/又はフローチャート全体は、複数のクロックサイクルでパイプライン化され得る。SOC10の構成要素は、
図7に示された動作を実施するように構成され得る。
【0045】
ユーザは、静止画フレームがキャプチャされる予定であることをシステムに指示し得る(判定ブロック90)。例えば、ユーザは、システム上の物理的なシャッターボタン、又は、(この実施形態においてタッチスクリーンディスプレイであり得る)ディスプレイ20に表示された仮想シャッターボタンを押圧し得る。ボタンの押圧又は他の指示の検出は、例えば、デバイス(ディスプレイ20又は物理的なボタン)による割込みに応じてプロセッサ28の1つにより実行され得る。ユーザが静止画を指示した場合(判定ブロック90、「はい」の流れ線)、システムは、キャプチャされた映像シーケンスから直近のアスペクト比4×3、フルセンサ解像度のフレームをキャプチャし得る(ブロック92)。システムは、例えば、ボタン押圧イベント又は他の指示イベントのタイムスタンプとキャプチャされた映像シーケンスフレームのタイムスタンプとを比較することによって、直近のフレームを決定し得る。静止画フレームは、メモリ12内のキャプチャされた映像中のその位置から静止画として記憶するための別の位置にコピーされ得る。
【0046】
一部の実施形態において、システムは、直近の高解像度のフレームを厳密にキャプチャするよりもキャプチャすべき静止画像を選択するために画像品質フィルタを利用し得る。例えば、フレームは、シャープネスについて検査され得、ボタンの押圧から時間的により遠くのよりシャープな画像の方が、より近くの画像よりも好適となり得る。写真の被写体が人である場合、被写体の目が開いているフレームの方が、より近くのフレームよりも好適となり得る。各種の実施形態において、任意の種類の画像品質フィルタが含まれ得る。
【0047】
別の実施形態において、プレビュー映像シーケンスは、映像キャプチャ中に16×9の解像度で表示され得る。静止画がキャプチャされる予定であることを映像キャプチャ中にユーザが指示する場合、プレビュー映像シーケンスは、アスペクト比4×3に拡張され得るので、ユーザは、静止画のフレーム化を観察し得る。映像キャプチャは、この時間中に継続し、アスペクト比16×9でキャプチャし得る。静止画がキャプチャされると、プレビュー映像シーケンスは、アスペクト比16×9に戻り得る。静止画キャプチャが実行されないときに16×9の映像フレームのみを表示することは、ある実施形態において、静止画のための所望のアスペクト比を提供しながら、映像データのための帯域幅及び電力消費を更に低減させ得る。
【0048】
図8は、16×9と4×3との間の遷移を実施するための、システムの一実施形態の動作を図示するフローチャートである。理解を容易にするために、ブロックは特定の順序で示されているが、他の順序が用いられ得る。ブロックは、構成要素内の組合せ論理において並行に実行され得る。ブロック、ブロックの組合せ、及び/又はフローチャート全体は、複数のクロックサイクルでパイプライン化され得る。SOC10の構成要素は、
図8に示された動作を実施するように構成され得る。
【0049】
システムは、映像キャプチャモードにあり、映像フレームをキャプチャして16×9のプレビューをディスプレイ20に表示し得る。ユーザは、例えば、物理的な又は仮想のシャッターボタンを押圧することによって、静止画フレームが所望されることを指示し得る(判定ブロック94)。上で議論されたように、ユーザによるボタンの押下は、例えば、プロセッサ28による割込みの受信によって、検出され得る。ユーザがシャッターボタンを押下しない場合(判定ブロック94、「いいえ」の流れ線)、システムは、16×9のプレビューフレームを表示し続け得る(ブロック96)。他方、ユーザがシャッターボタンを押下する場合(判定ブロック94、「はい」の流れ線)、システムは、4×3のプレビューを表示し得(ブロック98)、ユーザがシャッターボタンを解放するまで、4×3のプレビューを表示し続け得る(判定ブロック100、「いいえ」の流れ線)。よって、ユーザは、所望の場合には、ボタンが押下される間に静止画をフレーム化し得る。
【0050】
16×9から4×3への遷移は、各種の形式で実行され得る。例えば、4×3のフレームは、フェードインし、16×9のフレームをその同一位置に保持し、4×3のフレーム内でスケール変更し得る。4×3のフレームのうち16×9のフレームの外側の部分は、映像フレーム化と静止画フレーム化の両方が同時に視認され得るように、半透明にレターボックス化され得る。あるいは、フェードインは、十分な明るさに到達せず、映像フレーム化と静止画フレーム化との間の視覚的な区別をもたらし得る。
【0051】
ユーザがシャッターボタンを解放すると(判定ブロック100、「はい」の流れ線)、システムは、メモリ内の映像シーケンスとは別の位置に静止画をキャプチャし得、ディスプレイは、16×9の映像フレームの表示に戻り得る(ブロック102)。例えば、4×3のフレームはフェードアウトし得る。静止画フレームのフレーム化及びキャプチャの最中(例えばシャッターボタンが押圧される間)、映像キャプチャが生じ続け得る。
【0052】
上の議論が映像アスペクト比として16×9、静止画アスペクト比として4×3を用いているが、他の実施形態は、映像フレームと静止画フレームの一方又は両方に対して他のアスペクト比を利用し得ることに注意されたい。
【0053】
図7に関する上の議論と同様に、
図8の実施形態においてキャプチャされた静止画フレームは、ボタンの解放に時間的に近いフレームであり得るが、画像品質フィルタを利用し得る。
【0054】
次に
図9に移ると、システム150の一実施形態のブロック図が示される。図示された実施形態において、システム150は、1つ以上の周辺装置154及び外部メモリ12に接続されたSOC10の少なくとも1つの事例を含む。SOC10に供給電圧を供給し、並びにメモリ12及び/又は周辺装置154に1つ以上の供給電圧を供給する電源156が設けられる。一部の実施形態において、1つよりも多いSOC10の事例が含まれ得る(及び1つよりも多いメモリ12も含まれ得る)。
【0055】
周辺装置154は、システム150のタイプに依存して、任意の所望の回路機構を含み得る。例えば、一実施形態において、システム150は、モバイルデバイス(例えば携帯情報端末(PDA)、スマートフォンなど)であり得、周辺装置154は、WiFi(登録商標)、ブルートゥース(登録商標)、セルラー、全地球測位システムなどの各種タイプの無線通信用のデバイスを含み得る。周辺装置154は、RAMストレージ、ソリッドステートストレージ、又はディスクストレージを含む追加のストレージも含み得る。周辺装置154は、タッチディスプレイスクリーン若しくはマルチタッチタッチディスプレイスクリーンなどのディスプレイスクリーン、キーボード又は他の入力デバイス、マイクロホン、スピーカなどのユーザインターフェイスデバイスを含み得る。他の実施形態において、システム150は、任意のタイプのコンピューティングシステム(例えばデスクトップパーソナルコンピュータ、ラップトップ、ワークステーション、ネットトップなど)であり得る。具体的には、周辺装置154は、
図1に示された画像センサ(1つ又は複数)26及びディスプレイ20を含み得る。
【0056】
外部メモリ12は、任意のタイプのメモリを含み得る。例えば、外部メモリ12は、SRAM、シンクロナスDRAM(SDRAM)、(DDR、DDR2、DDR3などの)ダブルデータレートSDRAM、RAMBUS DRAMなどのダイナミックRAM(DRAM)であり得る。外部メモリ12は、メモリデバイスが装着される、シングルインラインメモリモジュール(SIMM)、デュアルインラインメモリモジュール(DIMM)などの1つ以上のメモリモジュールを含み得る。あるいは、外部メモリ12は、チップオンチップ実装又はパッケージオンパッケージ実装でSOC10に装着される1つ以上のメモリデバイスを含み得る。
【0057】
上の開示が十分に理解されると、多くの変形や変更が、当業者にとって明らかとなるであろう。以下の特許請求の範囲は、このような変形及び変更の全てを包含するように解釈されることが意図される。