(57)【要約】【課題】連写撮影及び動画撮影において一次記憶メモリ制御及びバスパフォーマンスが不十分であるため、１秒間の連写撮像枚数及び動画の解像度に制約があった。【解決手段】一次記憶メモリ制御にバンク、バンクスケジューリング、バンクモニタを行なうことで、外部入出力処理と内部信号処理の複数並列処理を行なう。これにより連写速度の向上と動画時の解像度を改善することができる。【選択図】図２
2005173962.tif 000002
【特許請求の範囲】
【請求項１】
撮像モードなどのモードを設定するモードプリセット部と、
前記設定したモードを元にバンクの使用順を決定するバンクスケジューラと、
前記バンクスケジューラの情報を元にメモリの制御線及びバス線を制御するバンク制御と、前記バンク制御により制御される複数のメモリバンクと、
を備えたメモリ制御装置。
【請求項２】
前記バンク制御の情報を元に実際に使用されているバンクをモニタし、バンクの各単位の使用率を把握しバンクスケジューラにフィードバックするバンクモニタを備えた請求項１に記載のメモリ制御装置。
【請求項３】
複数のメモリバンクは、２つのバンクであるメモリバンクAとメモリバンクBにより構成されることを特徴とする請求項１に記載のメモリ制御装置。
【請求項４】
連写モードにおいて、画素数優先プリセットモードを設定した際に、バースト長を長くしてバンク切り替えを少なく制御を行なうことを特徴とするバンクスケジューラを有する請求項１に記載のメモリ制御装置。
【請求項５】
連写モードにおいて、連写速度優先プリセットモードを設定した際に、バースト長を短くして、バンクの切り替えを多く制御を行なうことを特徴とするバンクスケジューラを有する請求項１に記載のメモリ制御。
【請求項６】
動画モードにおいて、画素数優先プリセットモードを設定した際に、バースト長を長くしてバンク切り替えを少なく制御を行なうことを特徴とするバンクスケジューラを有する請求項１に記載のメモリ制御装置。
【請求項７】
動画モードにおいて、連写速度優先プリセットモードを設定した際に、バースト長を短くしてバンクの切り替えを多く制御を行なうことを特徴とする請求項１に記載のバンクスケジューラを有するメモリ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＣＣＤ（Charge Coupled Device）やＭＯＳ（Metal Oxide Semiconductor）イメージセンサ等の撮像素子からの画素信号にディジタル信号処理を施して得られた画像データと、ディジタルビデオインターフェースを介して外部から入力された、例えばＩＴＵ−Ｒ６５６（国際電気通信連合  勧告第６５６号）規格に準拠した画像データの両データフォーマットに対応した画像情報を記憶と処理するディジタルカメラ装置等のメモリ制御装置に関するものである。
【背景技術】
【０００２】
動画や静止画を撮影できる携帯型のディジタルカメラ装置において、ＣＣＤやＭＯＳイメージセンサなどの撮像素子からインタレーススキャン方式、及びプログレッシブスキャン方式で得られた画像データは、例えば静止画のＪＰＥＧ（Joint Picture Experts Group）や動画のＭＰＥＧ４方式又はＪＰＥＧ２０００に従った符号化により圧縮処理が施された後、磁気テープ、磁気ディスク、光ディスク、及び半導体メモリーカード等の着脱可能な記憶媒体に記録され、またこの記憶媒体から読み出されて、ＪＰＥＧに従った復号化により伸長処理が施された画像データは、表示に適したサイズまで拡大処理されて、液晶ディスプレイ等でモニタすることができる。
【０００３】
かかるディジタルカメラ装置では、ＣＣＤからの入力信号をまずＳＤＲＡＭ等（Synchronous DRAM）のメモリに一時記憶し、次にその一時記憶を読み出し、拡大又は縮小等のズーム処理などの信号処理演算を行い、演算後のデータを一時記憶し、さらにディスプレイ部分に適した表示に変換し、長期保存に適した信号形態に変換するためにＤＭＡ（Direct Memory Access）等により高速に一時記憶装置から読み出し、出力されている。
上記の例において明確なように、ＳＤＲＡＭにライト２回とリード２回を行なうことが必要である。一般的にはＳＤＲＡＭのメモリマップを各システムに合わせて策定し、必要とするメモリ容量をあらかじめ計算しておいて、それぞれの処理を行なう。またＣＣＤなどの撮像素子から入力される信号は順次列で1次元的に配列できるので、ＳＤＲＡＭのバーストモードなどを利用してアクセスタイムを短縮して高速にリードライトできるように工夫されている。
【０００４】
しかしながら、ディジタルカメラのＣＣＤの解像度が高くなったことと、高解像度の静止画をより高速に連写する必要が出てきたことと、高解像度のスムーズな動画までも記録したいという市場要望により、ＳＤＲＡＭのアクセス速度はますます高速化する必然性に迫られている。しかしながら、そこで、メモリ制御回路を高速化することにより、連写速度を改善する方法が提案されている（例えば、特許文献１参照）。
【０００５】
図６は、かかる携帯型ビデオカメラに用いられるディジタル画像符号化装置におけるメモリ制御回路の構成を示すブロック図である。以下、図６を参照して、従来のメモリ制御の構成及び動作について説明する。最初にその構成を説明する。
【０００６】
データEDATはバスバッファ回路２４を経由して偶数バッファメモリA３０と奇数バッファメモリB３１に接続されている。アドレスは、書き込みアドレスカウント回路２６と読み出しアドレスカウント回路２７により生成されるアドレスをセレクト回路２８により選定しアドレスバス２９により偶数バッファメモリA３０と奇数バッファメモリB３１に与えられる。
次にその動作を説明する。連写速度の高速化を目的として、データレートの異なるブロック単位の入力データをアドレスバス及びデータバスをそれぞれ共有している。１つの書き込みアドレスが設定されると偶数バッファメモリA３０と奇数バッファメモリB３１に順次書き込まれる。このため書き込み時間が短縮され、ひいては機器全体の信号処理速度の向上をはかれる。
【特許文献１】特開平５−３５５８７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上記の従来例は、連写時の信号処理速度を改善することを目的としたものであったが、偶数バッファメモリAと奇数バッファメモリBのアドレスバスとデータバスはいずれも共用されており、あくまでアドレス生成が偶数アドレスと奇数アドレスの生成が1回でできるというだけのメリットだけで、例えば偶数バッファメモリに書き込み中は奇数バッファメモリへの書き込みはできなかった。したがって連写時のパフォーマンス改善はわずかであった。
またバッファメモリAとバッファメモリBの書き込みアドレスカウントと読み出しアドレスカウントはセレクト回路を経由してバッファメモリAとバッファメモリBに接続されているので、バッファメモリAへ書き込み中にバッファメモリBへ同時に書き込むことはできないという問題があった。
【０００８】
また、バッファメモリAとバッファメモリBは２つの独立したデバイスに分かれていることが必要でコストの面では不利であるという問題があった。
【課題を解決するための手段】
【０００９】
前記の目的を達成するため、本発明は、上記の問題点に鑑みてなされたものであり、その目的は、１つにはバッファメモリを1つのデバイスで構成しつつもパフォーマンスを改善できる手段を提供するものであり、２つめにはバッファメモリを2つ以上で構成する場合には独立バスを用いてパフォーマンスを改善できる手段を提供するものであり、3つめにはバンクとバースト長をモード別にプリセットすることにより信号処理のパフォーマンスを改善できる手段を提供するものであり、４つめには実際に使用されているバンクの使用率をフィードバックして、空きの情報を記憶し、プリセットが近い場合は空きの多いバンク設定にフィードバックされる機能を有することによりパフォーマンスの向上を提供するものである。
【００１０】
本発明の第１の特徴は、撮像モードなどのモードを事前設定するモードプリセット部と、その情報を元にバンクの使用順を決定するバンクスケジューラと、前記バンクスケジューラの情報を元にメモリの制御線及びバス線を制御するバンク制御と、前記バンク制御により制御されるメモリバンクAとメモリバンクBとにより構成されることを特徴とするメモリ制御であって、モードプリセットにより設定されたバンクスケジューラにより、適切なバンクに切り替えてメモリを使用することにより、メモリが使用中で空くまで待つ必要をなくすことにより、メモリアクセスの効率化をはかり、メモリアクセスのパフォーマンスを向上させている。
【００１１】
本発明の第2の特徴は、前記バンク制御の情報を元に実際に使用されているバンクをモニタし、バンクの各単位の使用率を把握し、バンクスケジューラにフィードバックするバンクモニタを付加することを特徴とするメモリ制御であって、解像度と連写速度において使用率の実績データを保持し、最もメモリの空きが多くなる条件をフィードバックして、モードプリセットをさらにメモリ空き領域が多く取れる解像度と連写速度に調整する機能を有する。
【００１２】
本発明の第3の特徴は、前記バンク制御により制御されるメモリバンクがAとBのみでなく、より多くの複数個のメモリバンクにより構成されることを特徴とするメモリ制御であって、撮像処理と信号処理をパイプライン化し、並列処理を増やす場合に3つ以上のバンクを使用してよりパフォーマンスを改善できるという機能を有する。
【００１３】
本発明の第4の発明は、ディジタルカメラの連写モードにおいて、画素数優先プリセットモードと、その際にバースト長を長くしてバンク切り替えを少なく制御を行なうことを特徴とするバンクスケジューラを有するメモリ制御であって、画素数を多く取り入れて解像度を上げたいが、連写速度は若干遅くても良い場合はバースト長を長くしてバンク切り替えを少なくすることによりメモリアクセスの高速化をはかれるという特徴を有する。
【００１４】
本発明の第5の発明は、ディジタルカメラの連写モードにおいて、連写速度優先プリセットモードと、その際にバースト長を短くして、バンクの切り替えを多く制御を行なうことを特徴とするバンクスケジューラを有するメモリ制御であって、連写速度を早くして、画素数を多少下げても良い場合は、バースト長を短くしてバンク切り替えを多くすることによりメモリアクセスの高速化をはかれるという特徴を有する。
【００１５】
本発明の第６の発明は、ディジタルカメラの動画モードにおいて、画素数優先プリセットモードと、その際にバースト長を長くしてバンク切り替えを少なく制御を行なうことを特徴とするバンクスケジューラを有するメモリ制御であって、画素数を多く取り入れて解像度を上げたいが、連写速度は若干遅くても良い場合はバースト長を長くしてバンク切り替えを少なくすることによりメモリアクセスの高速化をはかれるという特徴を有する。
【００１６】
本発明の第７の発明は、ディジタルカメラの動画モードにおいて、動画速度優先プリセットモードと、その際にバースト長を短くして、バンクの切り替えを多く制御を行なうことを特徴とするバンクスケジューラを有するメモリ制御であって、連写速度を早くして、画素数を多少下げても良い場合は、バースト長を短くしてバンク切り替えを多くすることによりメモリアクセスの高速化をはかれるという特徴を有する。
【発明の効果】
【００１７】
以上説明したように、本発明によれば、連写撮影及び動画撮影においてメモリ制御のパフォーマンスの改善をはかることができ、１秒間の連写枚数を改善でき、また動画撮影で例えば秒３０フレームとした場合には解像度を改善できると言う格別な効果を奏する。
【発明を実施するための最良の形態】
【００１８】
（実施例１）
以下、本発明の好適な実施の形態について、図面を参照しながら説明する。
【００１９】
図１は、本発明の一実施の形態を説明した一構成例を示すブロック図である。
【００２０】
また、本実施の形態によるメモリ制御は、ディジタルカメラ装置に適用されるものとして説明する。
【００２１】
撮像モードなどのモードを事前設定するモードプリセット１と、その情報を元にバンクの使用順を決定するバンクスケジューラ２と、前記バンクスケジューラの情報を元にメモリの制御線及びバス線を制御するバンク制御１４と、前記バンク制御により制御されるメモリバンクA２とメモリバンクB３とにより構成されるメモリ制御である。
最初に各部の機能を説明する。
モードプリセット１は撮像する解像度MN（水平方向M列、垂直方向N行）で連写K枚／秒をあらかじめプリセットするブロックである。バンクスケジューラ２はバンクの大きさをダイナミックに変更する機能とどのバンクをいつ使うかをスケジューリングする。バンク制御１４はアドレスバスとデータバスとメモリ制御線を実際に制御する機能を有する。メモリバンクA２はメモリのA番目のバンクで、メモリバンクＢ３はメモリのＢ番目のバンクである。なおメモリバンクＡとメモリバンクＢが同じメモリチップで構成される場合と別チップで構成される場合の２通りがある。
次に動作を説明する。
なおメモリバンクＡとメモリバンクＢが同じメモリチップで構成される場合を説明する。モードプリセット１において連写速度より解像度を優先する連写撮像モード及び動画フレーム数より解像度を優先する動画撮像モードが設定されている場合は、バンクスケジューラ２にはバンクを少なくし、バースト長を長くする。
逆に解像度よりも連写速度を優先する連写撮像モード及び動画フレーム数を優先する動画撮像モードが設定されている場合はバンクスケジューラ２にはバンクを多くし、バースト長もブロック処理単位になるように少なくする。
このバンクスケジューラ２の指示に従ってバンク制御１４はメモリバンクＡとメモリバンクＢにアクセスする。解像度優先時はバンクサイズを大きくすることで大きな連続した容量を確保する。次に書き込まれたデータを読み出してきてフィルタなどの信号処理を行なう際には、そのサイズで読み出すと水平方向に大きすぎるのでバンクサイズをダイナミックに変えて信号処理に適したバンクとバースト長で読み出す。バンクが垂直方向の読み出しアドレッシングに対応しバースト長が水平方向の読み出しアドレッシングに対応する。これにより従来アドレスカウントして決めていた書き込みアドレスカウント２６及び読み込みアドレスカウント２７はバンク内のみのカウンタとなる。
メモリバンクＡとメモリバンクＢが異なるチップで構成される場合でアドレスバスとデータバスが独立して各バンクに与えられている場合を説明する。この場合はメモリバンクＡへの書き込みとメモリバンクＢからの読み出し又は書き込みを平行して行なうことができる。したがって、すでにメモリバンクＢに書き込みを継続しながら、すでに書き込まれたメモリバンクＡから読み出して、信号処理ブロックＡに与えることができる。またすでに書き込まれたメモリバンクＡとメモリバンクＢの両方から読み出してきて、それぞれ信号処理ブロックＡと信号処理ブロックＢに与えて、信号処理後のデータをメモリブロックＡとメモリブロックＢに書き込むことも可能である。
このようにして、バンクとバーストをメモリ制御の際にダイナミックに変更することにより、信号処理の目的に見合った処理が可能となる。
【００２２】
（実施例２）
図２は、実施例１において、前記バンク制御の情報を元に実際に使用されているバンクをモニタし、バンクの各単位の使用率を把握しバンクスケジューラにフィードバックするバンクモニタ１６を付加したメモリ制御である。
他の構成は実施例１と同じであるので省略する。
次に動作を説明する。
モードプリセット１によりプリセットされたバンクスケジューラ２により、バンク制御されるが、バンクの状態としてはバンクに何もかかれていない状態３０、バンクに書き込み中の状態３１、バンクにデータが保持されている状態３２、バンクからそのデータを読み出し中の状態３３、バンクにはデータはあるが既に読み出されているので消しても良い状態３４、但しこれはバンクに何もかかれていない状態３０と同じである。バンクにはデータがありすでに読み出されたがさらに読み出す必要があるためデータを保持する状態３５、但しこれもバンクにデータが保持されている状態３２と同じである。通常は３０−＞３１−＞３２−＞３３−＞３０で動作するが、たとえばメモリバンクＢから読み出して低速の外部メモリへ書きこむ場合は、外部メモリにより待たされる。この場合メモリバンクAは使用できる。バンクモニタ１６は常にバンクメモリの３０、３１、３２、３３の状態をモニタすることにより、メモリバンクAを次に使用するようにバンクスケジューラに指示する。
このようにして、バンクモニタによりメモリバンクをより効率的に制御できる。
【００２３】
（実施例３）
図3は、本発明の一実施の形態を説明した一構成例を示すブロック図である。
本実施の形態は、バンク制御とメモリバンクの詳細を説明するものである。
まず最初に構成を説明する。メモリバンクA４とメモリバンクB５及びメモリバンクA２のデータを読み出してきて信号処理をする信号処理ブロックA１４と、メモリバンクB５のデータを読み出してきて信号処理をする信号処理ブロックB１５とからなる。データバス系には、メモリ部外部データバスとメモリ部内部データバスのメモリバンクAに対応したバンクA用データバスバッファ６と、バンクB用メモリバンクBに対応したデータバスバッファ７とで構成される。アドレスバス系には、メモリバンクA４用の書き込みアドレスカウント回路９と読み込みアドレスカウント１０とそのいずれかを選択するセレクト回路８と、メモリバンクB５用の書き込みアドレスカウント回路１２と読み込みアドレスカウント１３とそのいずれかを選択するセレクト回路１１とからなり、それぞれメモリバンクAとメモリバンクBに対して独立した書き込みアドレスと読み込みアドレスをバーストで与えることができる。制御バス系には、メモリバンクA4のデータバスバッファ６を制御するバンクＡ制御３５と、メモリバンクAを選択する制御信号と書き込み制御信号と読み出し制御信号を発生するメモリバンク制御３６と、メモリバンクＢ５のデータバスバッファ７を制御するバンク制御３７と、メモリバンクＢ５を選択する制御信号と書き込み制御信号と読み出し制御信号を発生するメモリバンク制御３８とで構成される。バンクスケジューラ２は前記バンク制御の時間的な管理を行なう。
次に動作を説明する。
バンクスケジューラ２により、外部データバスからバンクメモリＡ４に書き込みとバンクメモリＢ５から信号処理ブロックＢ１５へ読み込みを同時に行なう場合を説明する。
バンクスケジューラ２によりメモリバンクＡ４が空いているとき、バンク制御からバンク書き込みアドレスカウント９とセレクト回路８に指示を出して、バーストアドレスをメモリバンクＡにＡＢＵＳ１としてアドレッシングする。同時にバンク制御３６から書き込みイネーブル信号をメモリバンク４に出して、外部データバスから入ってくるデータをバスバッファ６を経由してメモリバンク４に書きこむ。
次にすでにメモリバンクＢ５に書かれているデータは、バンクスケジューラ２によりバンク制御３８に指示を出して、メモリバンクB５を選択する。またバンクスケジューラ２より読み出しアドレスカウント１３とセレクト回路１１に指示を出してメモリバンクＢのアドレッシングを行なう。メモリバンクＢ５より読み出されたデータは信号処理ブロックＢに書き込んで処理できる。
前記メモリバンクＡ４に対するアクセスと前記メモリバンクＢ５に対するアクセスを同時に行なうことができる。
なおもし、前記メモリバンクＡ４にバスバッファ６から書き込まれているときは前記メモリバンクＢからバスバッファ７へ読み出すことはできないようにバンクスケジューラが制御している。この間にメモリバンクＢは内部バスだけの転送を行なう。この状態が長く続く場合は、外部バスとの転送パフォーマンスが落ちるのでメモリバンクB５の空き領域が少なくなる。それをバンクスケジューラ２で監視して次はメモリバンクAを処理すべきか、それともメモリバンクBを処理すべきかをモードプリセット１と比較することにより判断する。モードプリセット１がメモリバンクAを先に処理すべきと指示しているときはメモリバンクAを処理する。しかし、モードプリセット１に優先順位がないときは、メモリバンクの空き領域の少ないほうを先に処理する。
【００２４】
（実施例４）
図４，図５は、発明の一実施の形態を説明した一構成例を示すブロック図である
本実施の形態は、バンクとバースト長との関係を説明するものである。
図４は従来のバーストモードの例で、画素ｍ列×ｎ行において、ＹＣ又はＲＧＢ又はＣｂＹＣｒＹ等の画像データを水平方向に配置するのが一般的である。これはＣＣＤからのデータをディジタルフィルタなどで１次元処理する際には、アドレッシング計算は複雑ではあるもののバーストモードを有効に利用できた。しかし、近年２次元的な処理、たとえば、１画面の何箇かのデータのみを読み出して別途より高度な信号処理することが行なわれるようになってきた。この際一次元処理だけではバス管理が非常に複雑になり、その信号処理のためにＳＤＲＡＭのバスパフォーマンスを落としてしまうことがある。図５はあらかじめ２次元処理される単位のバンクサイズを設定しておき、ＡバンクとＢバンクで切り替えることができる。例えば書き込むときは図４の場合はＡ１１、Ａ１２，Ａ１３・・という順であったが、図５の場合はＡ１１，Ｂ１１、Ａ１２・・と書き込むとしたとき、Ａ１２を書き込んでいる時に同時にＢ１１を読み出して内部処理を行なうことができる。
【００２５】
また図４ではＡ１１からＡｎｍまでデータが書かれているとしたとき、Ａ１１とＡ２１の信号処理と、Ａ１２とＡ２２の信号処理は平行して行なえないが、図５であればＡ１１とＡ２１の信号処理と、Ｂ１１とＢ１２の信号処理は平行して行なう。したがって早く信号処理できて空いたバンクは、次のデータの書き込みに当てる。バンクはバンクスケジューラにより管理され、空いたバンクは再スケジュールされる。バンク管理方法に特徴がある。
【００２６】
（実施例５）
実施例５は、発明の一実施の形態を説明した一構成例を示すブロック図である
本実施の形態は、図６を用いてバンクとバースト長との関係を説明するものである。一般にＳＤＲＡＭメモリは、４Ｂｙｔｅｓ、８Ｂｙｔｅｓ、１６Ｂｙｔｅｓ、３２Ｂｙｔｅｓ，６４Ｂｙｔｅｓ、１２８Ｂｙｔｅｓ、２５６Ｂｙｔｅｓ、１０２４Ｂｙｔｅｓなどのバーストモードを有する。ＲＡＳを一回与えると自動的にＣＡＳを連続して生成して連続アクセスする。つぎにバンクはＲＡＳのＭＳＢから数アドレス線を使用する。この例では４バンクの場合を例とする。
ＲＡＳのＭＳＢから２ｂｉｔがバンク制御線である。
【産業上の利用可能性】
【００２７】
撮像素子を有する電子機器に採用されるものであって、今後ますます多くの用途で使用されることになる。
【図面の簡単な説明】
【００２８】
【図１】本発明の一実施例に係るメモリ制御の一構成例を示すブロック図
【図２】本発明の一実施例に係るメモリ制御の一構成例を示すブロック図
【図３】本発明の一実施例に係るメモリ制御の一構成例を示すブロック図
【図４】本発明の一実施例に係るメモリ制御の一構成例を示すブロック図
【図５】本発明の一実施例に係るメモリ制御の一構成例を示すブロック図
【図６】従来例に係るメモリ制御の一構成例を示すブロック図
【符号の説明】
【００２９】
１    モードプリセット
２    バンクスケジューラ
３    バンク制御
４    メモリバンクＡ
５    メモリバンクＢ
６    バンクモニタ
７    バスバッファＢ７
８    セレクト回路Ａ
９    書き込みアドレスカウント
１０    読み出しアドレスカウント
１１    セレクト回路Ｂ
１２    書き込みアドレスカウント
１３    読み出しアドレスカウント
１４    信号処理ブロックＡ
１５    信号処理ブロックＢ
１６    バスバッファＡ
２３    制御信号生成回路
２４    バスバッファ回路
２５    データバス
２６    書き込みアドレスカウント回路
２７    読み出しアドレスカウント回路
２８    セレクト回路
２９    アドレスバス
３０    バッファメモリA
３１    バッファメモリB
３２    シフトレジスタ
３５    バンク制御
３６    バンク制御
３７    バンク制御
３８    バンク制御
【図１】
2005173962.tif 000003
【図２】
2005173962.tif 000004
【図３】
2005173962.tif 000005
【図４】
2005173962.tif 000006
【図５】
2005173962.tif 000007
【図６】
2005173962.tif 000008