(57)【特許請求の範囲】
【請求項１】
１つの共有メモリを複数の機能ブロックで共有してデータ処理するデータ処理装置において、
前記複数の機能ブロックからの要求を受け、前記共有メモリへの前記複数の機能ブロックによるデータの書込み及び読出しを制御するメモリコントローラと、
キャッシュメモリと、
前記キャッシュメモリに書き込むデータをデータ圧縮すると共に、前記キャッシュメモリから読み出したデータをデータ伸張する圧縮伸張部と
を有し、
前記メモリコントローラは、
書込み要求及び又は読出し要求を発行した機能ブロックを判定して、当該判定した機能ブロックからの書込み要求及び又は読出し要求が前記共有メモリの何れの領域に対するものか判定し、
前記判定した機能ブロックからの書込み要求及び又は読出し要求が前記共有メモリのキャッシュ領域に対するものの場合、前記キャッシュメモリを使用してキャッシングの処理を実行するように、前記共有メモリ及び前記キャッシュメモリへの書込み及び又は読出しを制御し、
前記判定した機能ブロックからの書込み要求及び又は読出し要求が前記共有メモリの圧縮キャッシュ領域に対するものの場合、前記圧縮伸張部でデータ圧縮したデータにより前記キャッシュメモリを使用してキャッシングの処理を実行するように、前記圧縮伸張部の処理、前記共有メモリ及び前記キャッシュメモリへの書込み及び又は読出しを制御し、
前記判定した機能ブロックからの書込み要求及び又は読出し要求が前記共有メモリのキャッシュ対象外領域に対するものの場合、前記キャッシュメモリの使用を中止して前記共有メモリへの書込み及び又は読出しを制御する
ことを特徴とするデータ処理装置。
【請求項２】
１つの共有メモリを複数の機能ブロックで共有してデータ処理するデータ処理装置において、
前記複数の機能ブロックからの要求を受け、前記共有メモリへの前記複数の機能ブロックによるデータの書込み及び読出しを制御するメモリコントローラと、
キャッシュメモリと、
前記キャッシュメモリに書き込むデータをデータ圧縮すると共に、前記キャッシュメモリから読み出したデータをデータ伸張する圧縮伸張部と
を有し、
前記メモリコントローラは、
前記機能ブロックからの書込み要求及び又は読出し要求が前記共有メモリの何れの領域に対するものか判定し、
前記機能ブロックからの書込み要求及び又は読出し要求が前記共有メモリのキャッシュ領域に対するものの場合、前記キャッシュメモリを使用してキャッシングの処理を実行するように、前記共有メモリ及び前記キャッシュメモリへの書込み及び又は読出しを制御し、
前記機能ブロックからの書込み要求及び又は読出し要求が前記共有メモリの圧縮キャッシュ領域に対するものの場合、前記圧縮伸張部でデータ圧縮したデータにより前記キャッシュメモリを使用してキャッシングの処理を実行するように、前記圧縮伸張部の処理、前記共有メモリ及び前記キャッシュメモリへの書込み及び又は読出しを制御し、
前記機能ブロックからの書込み要求及び又は読出し要求が前記共有メモリのキャッシュ対象外領域に対するものの場合、前記キャッシュメモリの使用を中止して前記共有メモリへの書込み及び又は読出しを制御し、
上位のコントローラからの制御により、
前記機能ブロックからの書込み要求及び又は読出し要求が前記共有メモリのキャッシュ領域に対するものの場合の、前記共有メモリ及び前記キャッシュメモリへの書込み及び又は読出しの制御を切り換えて、前記キャッシングの処理を中止し、又は前記圧縮伸張部でデータ圧縮したデータにより前記キャッシュメモリを使用してキャッシングの処理を実行する第１の切り換え制御と、
前記機能ブロックからの書込み要求及び又は読出し要求が前記共有メモリの圧縮キャッシュ領域に対するものの場合の、前記圧縮伸張部の処理、前記共有メモリ及び前記キャッシュメモリへの書込み及び又は読出しの制御を切り換えて、前記圧縮伸張部でデータ圧縮したデータの使用を中止したキャッシングの処理に切り換え、又は前記キャッシュメモリの使用を中止する第２の切り換え制御と、
の少なくとも一方の切り換え制御を実行する、
ことを特徴とするデータ処理装置。
【請求項３】
前記共有メモリは、
前記機能ブロック毎に、前記キャッシュ領域、圧縮キャッシュ領域、キャッシュ対象外領域が設定された
ことを特徴とする請求項１または２に記載のデータ処理装置。
【請求項４】
前記データが画像データであり、
前記複数の機能ブロックは、
前記共有メモリに前記画像データを記録して順次処理し、
前記キャッシュ対象外領域が、前記画像データを記録する領域である
ことを特徴とする請求項１または２に記載のデータ処理装置。
【請求項５】
１つの共有メモリを複数の機能ブロックで共有してデータ処理するデータ処理装置における共有メモリのアクセス方法において、
キャッシュメモリに書き込むデータをデータ圧縮すると共に、前記キャッシュメモリから読み出したデータをデータ伸張する圧縮伸張ステップと、
書込み要求及び又は読出し要求を発行した機能ブロックを判定して、当該判定した機能ブロックからの書込み要求及び又は読出し要求が前記共有メモリの何れの領域に対するものか判定する判定ステップと、
前記判定ステップの判定結果に基づいて、前記機能ブロックからの書込み要求及び又は読出し要求が前記共有メモリのキャッシュ領域に対するものの場合、前記キャッシュメモリを使用してキャッシングの処理を実行するように、前記共有メモリ及び前記キャッシュメモリへの書込み及び又は読出しを制御するキャッシュ領域の制御ステップと、
前記判定ステップの判定結果に基づいて、前記機能ブロックからの書込み要求及び又は読出し要求が前記共有メモリの圧縮キャッシュ領域に対するものの場合、前記圧縮伸張ステップでデータ圧縮したデータにより前記キャッシュメモリを使用してキャッシングの処理を実行するように、前記共有メモリ及び前記キャッシュメモリへの書込み及び又は読出しを制御する圧縮キャッシュ領域の制御ステップと、
前記判定ステップの判定結果に基づいて、前記機能ブロックからの書込み要求及び又は読出し要求が前記共有メモリのキャッシュ対象外領域に対するものの場合、前記キャッシュメモリの使用を中止して前記共有メモリへの書込み及び又は読出しを制御するキャッシュ対象外領域の制御ステップと、
を有する
ことを特徴とする共有メモリのアクセス方法。
【請求項６】
１つの共有メモリを複数の機能ブロックで共有してデータ処理するデータ処理装置における共有メモリのアクセス方法において、
キャッシュメモリに書き込むデータをデータ圧縮すると共に、前記キャッシュメモリから読み出したデータをデータ伸張する圧縮伸張ステップと、
前記機能ブロックからの書込み要求及び又は読出し要求が前記共有メモリの何れの領域に対するものか判定する判定ステップと、
前記判定ステップの判定結果に基づいて、前記機能ブロックからの書込み要求及び又は読出し要求が前記共有メモリのキャッシュ領域に対するものの場合、前記キャッシュメモリを使用してキャッシングの処理を実行するように、前記共有メモリ及び前記キャッシュメモリへの書込み及び又は読出しを制御するキャッシュ領域の制御ステップと、
前記判定ステップの判定結果に基づいて、前記機能ブロックからの書込み要求及び又は読出し要求が前記共有メモリの圧縮キャッシュ領域に対するものの場合、前記圧縮伸張ステップでデータ圧縮したデータにより前記キャッシュメモリを使用してキャッシングの処理を実行するように、前記共有メモリ及び前記キャッシュメモリへの書込み及び又は読出しを制御する圧縮キャッシュ領域の制御ステップと、
前記判定ステップの判定結果に基づいて、前記機能ブロックからの書込み要求及び又は読出し要求が前記共有メモリのキャッシュ対象外領域に対するものの場合、前記キャッシュメモリの使用を中止して前記共有メモリへの書込み及び又は読出しを制御するキャッシュ対象外領域の制御ステップと、
上位のコントローラからの制御により、前記機能ブロックからの書込み要求及び又は読出し要求が前記共有メモリのキャッシュ領域に対するものの場合の、前記共有メモリ及び前記キャッシュメモリへの書込み及び又は読出しの制御を切り換えて、前記キャッシングの処理を中止し、又は前記圧縮伸張ステップでデータ圧縮したデータにより前記キャッシュメモリを使用してキャッシングの処理を実行する第１の切り換え制御と、前記機能ブロックからの書込み要求及び又は読出し要求が前記共有メモリの圧縮キャッシュ領域に対するものの場合の、前記圧縮伸張ステップの処理、前記共有メモリ及び前記キャッシュメモリへの書込み及び又は読出しの制御を切り換えて、前記圧縮伸張ステップでデータ圧縮したデータの使用を中止したキャッシングの処理に切り換え、又は前記キャッシュメモリの使用を中止する第２の切り換え制御と、の少なくとも一方の切り換え制御を実行する、切り換え制御ステップと、
を有する
ことを特徴とする共有メモリのアクセス方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理装置及び共有メモリのアクセス方法に関し、例えば画像データを処理するデータ処理装置であるビデオカメラに適用することができる。本発明は、共有メモリにキャッシュ領域、圧縮キャッシュ領域、キャッシュ対象外領域を設け、これらキャッシュ領域、圧縮キャッシュ領域、キャッシュ対象外領域でキャッシングの処理を切り換えることにより、複数の機能ブロックで１つの共有メモリを共用する構成において、キャッシュメモリの容量を削減しつつ、各機能ブロックの共有メモリへのアクセス時間を短縮することができるようにする。
【背景技術】
【０００２】
近年、ビデオカメラ等の映像機器は、１つの共有メモリを複数の機能ブロックで共有して画像データを処理する装置が提供されている。ここで図７は、１つの共有メモリを複数の機能ブロックで共有するビデオカメラを示すブロック図である。このビデオカメラ１は、第１〜第３の機能ブロック２〜４で１つの共有メモリ５を共有する。
【０００３】
ここで第１の機能ブロック２は、例えばホワイトバランス調整、ガンマ補正等の画像処理を実行するデータ処理回路である。また第２の機能ブロックは、例えば画像データを図示しない表示手段の表示に適したサイズにリサイズするデータ処理回路である。また第３の機能ブロックは、例えばＭＰＥＧ（Moving Picture Experts Group）の手法により画像データをデータ圧縮、データ伸張するデータ処理回路である。このビデオカメラ１は、図示しない撮像手段で取得した画像データを共有メモリ５に順次格納する。ビデオカメラ１は、この共有メモリ５に格納した画像データを第１及び第２の機能ブロック２、３で順次処理して表示する。またユーザーの指示により第１の機能ブロック２で処理した画像データを第３の機能ブロック４で処理して図示しない記録媒体に記録する。またビデオカメラ１は、記録媒体に記録した画像データを読み出して共有メモリ５に格納し、この共有メモリ５に格納した画像データを第３及び第２の機能ブロック４、３で順次処理して表示する。
【０００４】
第１〜第３の機能ブロック２〜４は、バスＢＵＳを介して共有メモリコントローラ６と接続される。第１〜第３の機能ブロック２〜４は、この共有メモリコントローラ６に対して画像データ等の読出しを要求し、この読出し要求に応動して共有メモリコントローラ６から出力される画像データ等を取得してそれぞれ処理する。また第１〜第３の機能ブロック２〜４は、共有メモリコントローラ６に対して画像データ等の書込みを要求し、共有メモリコントローラ６からの応答に従って画像データ等を共有メモリコントローラ６に出力する。
【０００５】
共有メモリコントローラ６は、第１〜第３の機能ブロック２〜４の読出し要求に応動して共有メモリ５からデータを読み出してバスＢＵＳに出力する。また第１〜第３の機能ブロック２〜４の書込み要求に応動して、第１〜第３の機能ブロック２〜４から入力されるデータを共有メモリ５に書き込む。この図７に示す構成によれば、各機能ブロックにそれぞれメモリを設ける場合に比して、メモリの容量を小容量化することができる。
【０００６】
従来、コンピュータ等では、キャッシュメモリを使用することにより、記録媒体へのアクセス速度を高速度化する方法が採用されており、特開平５−７３４１３号公報には、キャッシュメモリに記録するデータをデータ圧縮してキャッシュメモリの容量を小容量化する方法が提案されている。
【０００７】
ところで図７に示す構成において大量のデータを処理する場合、共有メモリ５と共有メモリコントローラ６との間で大量のデータを送受することになり、共有メモリ５、共有メモリコントローラ６で帯域が不足することになる。この場合、図７の構成では、１つの機能ブロックとの間のデータ転送に時間を要することになり、特定の機能ブロックがバスを占有して他の機能ブロックが長時間、共有メモリにアクセスできなくなる。その結果、図７の構成では、各機能ブロックの共有メモリへのアクセス時間が長くなる問題があった。
【０００８】
この問題を解決する１つの方法として、キャッシュメモリを使用する方法が考えられる。しかしながら単にキャッシュメモリを使用する場合には、キャッシュメモリが大容量化する問題がある。またこの場合、特開平５−７３４１３号公報の手法を適用してキャッシュメモリの容量を小容量化する方法も考えられるが、この方法では、キャッシュメモリに入出力するデータのデータ圧縮、データ伸張に時間を要する問題がある。また共有メモリ、共有メモリコントローラ６を高速度化して帯域を拡大する方法も考えられるが、この方法の場合、消費電力が増大する問題がある。
【特許文献１】特開平５−７３４１３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
本発明は以上の点を考慮してなされたもので、複数の機能ブロックで１つの共有メモリを共用する構成において、キャッシュメモリの容量を削減しつつ、各機能ブロックの共有メモリへのアクセス時間を短縮することができるようにするものである。
【課題を解決するための手段】
【００１０】
上記の課題を解決するための第１の発明は、１つの共有メモリを複数の機能ブロックで共有してデータ処理するデータ処理装置において、前記複数の機能ブロックからの要求を受け、前記共有メモリへの前記複数の機能ブロックによるデータの書込み及び読出しを制御するメモリコントローラと、キャッシュメモリと、前記キャッシュメモリに書き込むデータをデータ圧縮すると共に、前記キャッシュメモリから読み出したデータをデータ伸張する圧縮伸張部とを有し、前記メモリコントローラは、書込み要求及び又は読出し要求を発行した機能ブロックを判定して、当該判定した機能ブロックからの書込み要求及び又は読出し要求が前記共有メモリの何れの領域に対するものか判定し、前記判定した機能ブロックからの書込み要求及び又は読出し要求が前記共有メモリのキャッシュ領域に対するものの場合、前記キャッシュメモリを使用してキャッシングの処理を実行するように、前記共有メモリ及び前記キャッシュメモリへの書込み及び又は読出しを制御し、前記判定した機能ブロックからの書込み要求及び又は読出し要求が前記共有メモリの圧縮キャッシュ領域に対するものの場合、前記圧縮伸張部でデータ圧縮したデータにより前記キャッシュメモリを使用してキャッシングの処理を実行するように、前記圧縮伸張部の処理、前記共有メモリ及び前記キャッシュメモリへの書込み及び又は読出しを制御し、前記判定した機能ブロックからの書込み要求及び又は読出し要求が前記共有メモリのキャッシュ対象外領域に対するものの場合、前記キャッシュメモリの使用を中止して前記共有メモリへの書込み及び又は読出しを制御する。
また、第２の発明は、１つの共有メモリを複数の機能ブロックで共有してデータ処理するデータ処理装置において、前記複数の機能ブロックからの要求を受け、前記共有メモリへの前記複数の機能ブロックによるデータの書込み及び読出しを制御するメモリコントローラと、キャッシュメモリと、前記キャッシュメモリに書き込むデータをデータ圧縮すると共に、前記キャッシュメモリから読み出したデータをデータ伸張する圧縮伸張部とを有し、前記メモリコントローラは、前記機能ブロックからの書込み要求及び又は読出し要求が前記共有メモリの何れの領域に対するものか判定し、前記機能ブロックからの書込み要求及び又は読出し要求が前記共有メモリのキャッシュ領域に対するものの場合、前記キャッシュメモリを使用してキャッシングの処理を実行するように、前記共有メモリ及び前記キャッシュメモリへの書込み及び又は読出しを制御し、前記機能ブロックからの書込み要求及び又は読出し要求が前記共有メモリの圧縮キャッシュ領域に対するものの場合、前記圧縮伸張部でデータ圧縮したデータにより前記キャッシュメモリを使用してキャッシングの処理を実行するように、前記圧縮伸張部の処理、前記共有メモリ及び前記キャッシュメモリへの書込み及び又は読出しを制御し、前記機能ブロックからの書込み要求及び又は読出し要求が前記共有メモリのキャッシュ対象外領域に対するものの場合、前記キャッシュメモリの使用を中止して前記共有メモリへの書込み及び又は読出しを制御し、上位のコントローラからの制御により、前記機能ブロックからの書込み要求及び又は読出し要求が前記共有メモリのキャッシュ領域に対するものの場合の、前記共有メモリ及び前記キャッシュメモリへの書込み及び又は読出しの制御を切り換えて、前記キャッシングの処理を中止し、又は前記圧縮伸張部でデータ圧縮したデータにより前記キャッシュメモリを使用してキャッシングの処理を実行する第１の切り換え制御と、前記機能ブロックからの書込み要求及び又は読出し要求が前記共有メモリの圧縮キャッシュ領域に対するものの場合の、前記圧縮伸張部の処理、前記共有メモリ及び前記キャッシュメモリへの書込み及び又は読出しの制御を切り換えて、前記圧縮伸張部でデータ圧縮したデータの使用を中止したキャッシングの処理に切り換え、又は前記キャッシュメモリの使用を中止する第２の切り換え制御と、の少なくとも一方の切り換え制御を実行する。
【００１１】
また、第３の発明は、１つの共有メモリを複数の機能ブロックで共有してデータ処理するデータ処理装置における共有メモリのアクセス方法において、キャッシュメモリに書き込むデータをデータ圧縮すると共に、前記キャッシュメモリから読み出したデータをデータ伸張する圧縮伸張ステップと、書込み要求及び又は読出し要求を発行した機能ブロックを判定して、当該判定した機能ブロックからの書込み要求及び又は読出し要求が前記共有メモリの何れの領域に対するものか判定する判定ステップと、前記判定ステップの判定結果に基づいて、前記機能ブロックからの書込み要求及び又は読出し要求が前記共有メモリのキャッシュ領域に対するものの場合、前記キャッシュメモリを使用してキャッシングの処理を実行するように、前記共有メモリ及び前記キャッシュメモリへの書込み及び又は読出しを制御するキャッシュ領域の制御ステップと、前記判定ステップの判定結果に基づいて、前記機能ブロックからの書込み要求及び又は読出し要求が前記共有メモリの圧縮キャッシュ領域に対するものの場合、前記圧縮伸張ステップでデータ圧縮したデータにより前記キャッシュメモリを使用してキャッシングの処理を実行するように、前記共有メモリ及び前記キャッシュメモリへの書込み及び又は読出しを制御する圧縮キャッシュ領域の制御ステップと、前記判定ステップの判定結果に基づいて、前記機能ブロックからの書込み要求及び又は読出し要求が前記共有メモリのキャッシュ対象外領域に対するものの場合、前記キャッシュメモリの使用を中止して前記共有メモリへの書込み及び又は読出しを制御するキャッシュ対象外領域の制御ステップと、を有する。
また、第４の発明は、１つの共有メモリを複数の機能ブロックで共有してデータ処理するデータ処理装置における共有メモリのアクセス方法において、キャッシュメモリに書き込むデータをデータ圧縮すると共に、前記キャッシュメモリから読み出したデータをデータ伸張する圧縮伸張ステップと、前記機能ブロックからの書込み要求及び又は読出し要求が前記共有メモリの何れの領域に対するものか判定する判定ステップと、前記判定ステップの判定結果に基づいて、前記機能ブロックからの書込み要求及び又は読出し要求が前記共有メモリのキャッシュ領域に対するものの場合、前記キャッシュメモリを使用してキャッシングの処理を実行するように、前記共有メモリ及び前記キャッシュメモリへの書込み及び又は読出しを制御するキャッシュ領域の制御ステップと、前記判定ステップの判定結果に基づいて、前記機能ブロックからの書込み要求及び又は読出し要求が前記共有メモリの圧縮キャッシュ領域に対するものの場合、前記圧縮伸張ステップでデータ圧縮したデータにより前記キャッシュメモリを使用してキャッシングの処理を実行するように、前記共有メモリ及び前記キャッシュメモリへの書込み及び又は読出しを制御する圧縮キャッシュ領域の制御ステップと、前記判定ステップの判定結果に基づいて、前記機能ブロックからの書込み要求及び又は読出し要求が前記共有メモリのキャッシュ対象外領域に対するものの場合、前記キャッシュメモリの使用を中止して前記共有メモリへの書込み及び又は読出しを制御するキャッシュ対象外領域の制御ステップと、上位のコントローラからの制御により、前記機能ブロックからの書込み要求及び又は読出し要求が前記共有メモリのキャッシュ領域に対するものの場合の、前記共有メモリ及び前記キャッシュメモリへの書込み及び又は読出しの制御を切り換えて、前記キャッシングの処理を中止し、又は前記圧縮伸張ステップでデータ圧縮したデータにより前記キャッシュメモリを使用してキャッシングの処理を実行する第１の切り換え制御と、前記機能ブロックからの書込み要求及び又は読出し要求が前記共有メモリの圧縮キャッシュ領域に対するものの場合の、前記圧縮伸張ステップの処理、前記共有メモリ及び前記キャッシュメモリへの書込み及び又は読出しの制御を切り換えて、前記圧縮伸張ステップでデータ圧縮したデータの使用を中止したキャッシングの処理に切り換え、又は前記キャッシュメモリの使用を中止する第２の切り換え制御と、の少なくとも一方の切り換え制御を実行する、切り換え制御ステップと、を有する。
【００１２】
請求項１又は請求項７の構成によれば、キャッシュ領域、圧縮キャッシュ領域、キャッシュ対象外領域の設定により、共有メモリに記録するデータの種類等に応じてキャッシングの処理を切り換えて、効率良くキャッシュメモリを使用することができる。従ってキャッシュメモリの容量を削減しつつ、各機能ブロックの共有メモリへのアクセス時間を短縮することができる。
【発明の効果】
【００１３】
本発明によれば、複数の機能ブロックで１つの共有メモリを共用する構成において、キャッシュメモリの容量を削減しつつ、各機能ブロックの共有メモリへのアクセス時間を短縮することができる。
【発明を実施するための最良の形態】
【００１４】
以下、適宜図面を参照しながら本発明の実施例を詳述する。
【実施例１】
【００１５】
（１）実施例の構成
図１は、本発明の実施例１のビデオカメラを示すブロック図である。このビデオカメラ１１は、記録時、撮像部１２で順次取得される画像データを第１及び第２の機能ブロックである画像処理部１３、リサイズ部１５で順次処理して図示しない表示部で表示する。またユーザーによる指示に応動して画像処理部１３で処理した画像データを第３の機能ブロックであるエンコーダ／デコーダ部１４で処理してメモリカード等の記録媒体に記録する。また再生時、記録媒体に記録された画像データをエンコーダ／デコーダ部１４、リサイズ部１５で順次処理して表示部で表示する。なお記録媒体には、光ディスク、磁気ディスク等、種々の記録媒体を広く適用することができる。
【００１６】
ここで撮像部１２は、コントローラ１６の制御により所望の被写体を撮像して画像データを順次取得し、共有メモリ１７に格納する。画像処理部１３は、共有メモリ１７に格納された画像データに対してホワイトバランス調整、ガンマ補正等の画像処理を実行する。また記録媒体への記録開始時、共有メモリ１７に格納した画像データの間引きによりインデックス用のサムネイル画像を作成して共有メモリ１７に格納する。リサイズ部１５は、共有メモリ１７に格納された画像データを表示に適した解像度にリサイズして図示しない表示部に出力する。エンコーダ／デコーダ部１４は、例えばＭＰＥＧの手法により共有メモリ１７に格納された画像データをデータ圧縮、データ伸張して共有メモリ１７に格納する。記録再生部１８は、データ圧縮されて共有メモリ１７に格納された画像データ、サムネイル画像の画像データを図示しないメモリカード等の記録媒体に記録する。また記録媒体に記録した画像データを読み出して共有メモリ１７、コントローラ１６に出力する。ここで共有メモリ１７は、例えばランダムアクセスメモリにより構成される。
【００１７】
コントローラ１６は、ユーザーの操作に応動してこのビデオカメラ１１の各部の動作を制御する。具体的にコントローラ１６は、ユーザーの指示により撮像部１２に画像データの取得を指示し、また取得した画像データの処理を画像処理部１３、エンコーダ／デコーダ部１４、リサイズ部１５、記録再生部１８に指示する。またコントローラ１６は、ユーザーによる指示により記録再生部１８の動作を制御し、記録媒体からインデックス用のサムネイル画像を再生して一覧表示する。またこの一覧表示において、ユーザーがサムネイル画像を選択すると、記録再生部１８、エンコーダ／デコーダ部１４、リサイズ部１５の制御により、選択されたサムネイル画像に対応する画像データを記録媒体から順次再生して表示する。
【００１８】
ビデオカメラ１１において、撮像部１２、画像処理部１３、エンコーダ／デコーダ部１４、リサイズ部１５、コントローラ１６、記録再生部１８は、バスＢＵＳ、共有メモリコントローラ１９を介して共有メモリ１７との間で画像データを入出力する。また画像処理部１３、エンコーダ／デコーダ部１４、リサイズ部１５は、処理途中の各種データである中間処理データ、画像データの処理に必要な各種パラメータ等についても必要に応じて共有メモリ１７に格納する。従ってこのビデオカメラ１１において、少なくとも画像処理部１３、エンコーダ／デコーダ部１４、リサイズ部１５は、それぞれ共有メモリ１７を共有してこの共有メモリ１７に格納したデータを処理するデータ処理回路を構成する。
【００１９】
共有メモリコントローラ１９は、キャッシュメモリ２１が設けられる。共有メモリコントローラ１９において、キャッシュコントローラ２２は、アドレスデータコントローラ２３の制御により、アドレスデータコントローラ２３から出力されるデータをキャッシュメモリ２１に記録し、またキャッシュメモリ２１に記録されたデータを読み出してアドレスデータコントローラ２３に出力する。メモリコントローラ２４は、アドレスデータコントローラ２３の制御により、アドレスデータコントローラ２３から出力されるデータを共有メモリ１７に記録し、また共有メモリ１７に記録されたデータを読み出してアドレスデータコントローラ２３に出力する。
【００２０】
アドレスデータコントローラ２３は、撮像部１２、画像処理部１３、エンコーダ／デコーダ部１４、リサイズ部１５、コントローラ１６、記録再生部１８からの要求に応動してメモリコントローラ２４の動作を制御し、これら撮像部１２、画像処理部１３等から出力されるデータを共有メモリ１７に記録し、また共有メモリ１７に記録したデータを画像処理部１３等に出力する。この共有メモリ１７に関する制御において、アドレスデータコントローラ２３は、各部１２〜１６、１８から出力されるアドレスデータを判定し、判定結果に応じてキャッシングの処理を実行する。
【００２１】
ここで図２は、共有メモリ１７のアドレスマップである。共有メモリ１７は、先頭アドレス（０ｘ００００）からアドレス（０ｘ１１ＦＦ）までのアドレス空間がキャッシュ領域に割り当てられる。またアドレス（０ｘ２０００）からアドレス（０ｘ２７ＦＦ）までのアドレス空間が圧縮キャッシュ領域に割り当てられる。またアドレス（０ｘ４０００）からアドレス（０ｘ７ＦＦＦ）までのアドレス空間がキャッシュ対象外領域に割り当てられる。共有メモリ１７は、これらキャッシュ領域等のアドレス空間がメモリ空間に割り当てられ、これら以外のアドレス空間は未使用の領域とされる。
【００２２】
ここでキャッシュ領域は、データ圧縮することなく、共有メモリ１７に入出力するデータをキャッシングする領域である。アドレスデータコントローラ２３は、各部１２〜１６、１８から発行されるアドレスデータがこのキャッシュ領域のアドレスである場合、キャッシュコントローラ２２の動作を制御してキャッシングの処理を実行する。
【００２３】
具体的に、アドレスデータコントローラ２３は、キャッシュ領域に対して書込み要求が入力されると、この書込み要求により入力されるデータをキャッシュメモリ２１及び共有メモリ１７に記録する。なおここでキャッシュメモリ２１へのデータの記録は、ライトスルー方式、ライトバック方式の何れを適用してもよい。なおここでライトスルー方式は、キャッシュメモリ２１及び共有メモリ１７への記録を同時に実行する方式である。ライトバック方式は、始めにキャッシュメモリ２１にデータを記録し、その後、キャッシュメモリ２１に記録したデータを読み出して共有メモリ１７に記録する方式である。ライトバック方式は、ライトスルー方式に比して処理が複雑になるものの、キャッシュメモリ２１にデータを記録した時点で書込みの完了を通知することができ、ライトスルー方式に比して外部から見た書込み処理を高速度化することができる。
【００２４】
またアドレスデータコントローラ２３は、キャッシュ領域に対して読出し要求が入力されると、この読出し要求により読み出すデータがキャッシュメモリ２１に格納されているか否か判断する。ここで読み出すデータがキャッシュメモリ２１に格納されている場合、共有メモリ１７からの読出しを中止し、キャッシュメモリ２１からデータを読み出して出力する。また読み出すデータがキャッシュメモリ２１に格納されていない場合、共有メモリ１７からデータを読み出して出力する。またこの読み出したデータをキャッシュメモリ２１に格納する。なお図２においては、キャッシュメモリ２１のメモリ空間との対比により読み出すデータがキャッシュメモリ２１に格納されている領域をハッチングにより示す。
【００２５】
また圧縮キャッシュ領域は、データ圧縮したデータによりキャッシングする領域である。アドレスデータコントローラ２３は、各部１２〜１６、１８から発行されるアドレスデータがこの圧縮キャッシュ領域のアドレスである場合、圧縮伸張部２３Ａを用いてデータ圧縮、データ伸張の処理を実行すると共に、キャッシュコントローラ２２の動作を制御してキャッシングの処理を実行する。
【００２６】
具体的に、アドレスデータコントローラ２３は、圧縮キャッシュ領域に対して書込み要求が入力されると、この書込み要求により入力されるデータを共有メモリ１７に記録する。またこのデータを圧縮伸張部２３Ａでデータ圧縮してキャッシュメモリ２１に記録する。なおここでキャッシュメモリ２１へのデータの記録は、ライトスルー方式、ライトバック方式の何れを適用してもよい。
【００２７】
またアドレスデータコントローラ２３は、圧縮キャッシュ領域に対して読出し要求が入力されると、この読出し要求により読み出すデータがキャッシュメモリ２１に格納されているか否か判断する。ここで読み出すデータがキャッシュメモリ２１に格納されている場合、共有メモリ１７からの読出しを中止し、キャッシュメモリ２１からデータを読み出した後、圧縮伸張部２３Ａでデータ伸張してバスＢＵＳに出力する。また読み出すデータがキャッシュメモリ２１に格納されていない場合、共有メモリ１７からデータを読み出して出力する。またこの読み出したデータを圧縮伸張部２３Ａでデータ圧縮してキャッシュメモリ２１に格納する。
【００２８】
またキャッシュ対象外領域は、キャッシングの処理を実行しない領域である。アドレスデータコントローラ２３は、各部１２〜１６、１８から発行されるアドレスデータがこのキャッシュ対象外領域のアドレスである場合、キャッシングの処理を中止する。
【００２９】
具体的に、アドレスデータコントローラ２３は、キャッシュ対象外領域に対して書込み要求が入力されると、この書込み要求により入力されるデータを共有メモリ１７に記録する。またアドレスデータコントローラ２３は、キャッシュ対象外領域に対して読出し要求が入力されると、対応するデータを共有メモリ１７から読み出して出力する。
【００３０】
ここでキャッシュ領域は、圧縮キャッシュ領域、キャッシュ対象外領域に比して、アクセス速度を高速度化されるものの、必要なキャッシュメモリ２１の容量が大きくなる。これに対して圧縮キャッシュ領域は、キャッシュ領域に比してアクセス速度は低下するものの、キャッシュ対象外領域に比してアクセス速度を高速度化することができ、またキャッシュ領域に比して必要なキャッシュメモリ２１の容量を小さくすることができる。またキャッシュ対象外領域は、キャッシュ領域、圧縮キャッシュ領域に比してアクセス速度は低下するものの、キャッシュメモリ２１を必要としない。
【００３１】
これらの特徴を有効に利用して、ビデオカメラ１１では、キャッシュメモリを利用してアクセス速度の向上効率の高いデータをキャッシュ領域に割り当てる。またキャッシュ領域に割り当てるデータ程では無いものの、キャッシュメモリを利用してアクセス速度を向上することができるデータを圧縮キャッシュ領域に割り当てる。またキャッシュ領域、圧縮キャッシュ領域に割り当てるデータとの対比により、キャッシュメモリを利用してアクセス速度の向上効率の低いデータをキャッシュ対象外領域に割り当てる。
【００３２】
すなわち同一データへのアクセス頻度が高く、かつ共有メモリ１７から読み出すデータがキャッシュメモリ２１に記録されている確率の高いデータがキャッシュ領域に割り当てられる。またキャッシュ領域に割り当てるデータ程では無いものの、同一データへのアクセス頻度が高く、かつ共有メモリ１７から読み出すデータがキャッシュメモリ２１に記録されている確率の高いデータが圧縮キャッシュ領域に割り当てられる。またキャッシュ領域、圧縮キャッシュ領域に割り当てるデータとの対比により同一データに対するアクセス頻度の低いデータがキャッシュ対象外領域に割り当てられる。なお、キャッシュメモリに記録するデータのデータサイズを判定して、データサイズの大きなデータを圧縮キャッシュ領域に割り当て、データサイズの小さなデータをキャッシュ領域に割り当てるようにしてもよい。
【００３３】
具体的に、この実施例では、画像処理部１３、リサイズ部１５、エンコーダ／デコーダ部１４で順次処理する画像データについては、キャッシュ対象外領域に割り当てられる。また画像処理部１３、リサイズ部１５、エンコーダ／デコーダ部１４でそれぞれ処理に使用するパラメータ、処理途中の中間処理データが、キャッシュ領域に割り当てられる。また画像処理部１３、リサイズ部１５、エンコーダ／デコーダ部１４でそれぞれ処理に使用するインデックス用のデータ、サムネイル画像の画像データが、圧縮キャッシュ領域に割り当てられる。またエンコーダ／デコーダ部１４で予測値の生成に使用する参照画像データが、圧縮キャッシュ領域に割り当てられる。
【００３４】
従って撮像部１２、画像処理部１３、リサイズ部１５、エンコーダ／デコーダ部１４、記録再生部１８、コントローラ１６は、キャッシュ領域、圧縮キャッシュ領域、キャッシュ対象外領域へのデータの割り当てに従って、共有メモリコントローラ１９にアドレスを発行する。
【００３５】
（２）実施例の動作
以上の構成において、この実施例のビデオカメラ１１では、撮像部１２で得られた画像データが画像処理部１３で画像処理された後、リサイズ部１５でリサイズ処理されて表示される。また画像処理部１３で処理された画像データが、エンコーダ／デコーダ部１４でデータ圧縮されて記録再生部１８により記録媒体に記録される。また画像処理部１３でインデックス用のサムネイル画像が作成され、このサムネイル画像の画像データが記録再生部１８により記録媒体に記録される。また記録媒体に記録された画像データが記録再生部１８により再生されてエンコーダ／デコーダ部１４によりデータ伸張された後、リサイズ部１５により処理されて表示される。また同様に記録媒体に記録されたインデックス用のサムネイル画像が再生されて表示される。
【００３６】
このビデオカメラ１１では、これら撮像部１２、画像処理部１３、エンコーダ／デコーダ部１４、リサイズ部１５、記録再生部１８が、バスＢＵＳ、共有メモリコントローラ１９を介して共有メモリ１７に接続され、画像処理部１３、エンコーダ／デコーダ部１４、リサイズ部１５では、この共有メモリ１７を共通に使用して画像データをデータ処理する。従ってビデオカメラ１１では、これら画像処理部１３、エンコーダ／デコーダ部１４、リサイズ部１５にそれぞれ処理用のメモリを設ける場合に比して、全体としてメモリ容量を小容量化することができる。また共有メモリ１７を撮像部１２、記録再生部１８のバッファメモリとして使用して全体としてメモリ容量を小容量化することができる。
【００３７】
しかしながら画像処理部１３、エンコーダ／デコーダ部１４、リサイズ部１５で共有メモリ１７を共通に使用する場合、共有メモリ１７、共有メモリコントローラ１９の帯域が不足して共有メモリ１７のアクセス時間が長くなる場合も発生し、画像データをリアルタイムで処理できなくなる恐れがある。
【００３８】
そこでこのビデオカメラ１１では、共有メモリコントローラ１９にキャッシュメモリ２１が設けられ、このキャッシュメモリ２１の利用により共有メモリ１７へのアクセス速度の向上が図られる。
【００３９】
しかしながら単にキャッシュメモリ２１を設ける場合にあっては、キャッシュメモリ２１の容量が大容量化する。そこでビデオカメラ１１では、キャッシュメモリを利用したアクセス速度の向上効率の高低、データサイズにより、共有メモリ１７に格納するデータが分類され、共有メモリ１７に設けられたキャッシュ領域、圧縮キャッシュ領域、キャッシュ対象外領域にそれぞれ対応するデータが格納される。またこれらキャッシュ領域、圧縮キャッシュ領域、キャッシュ対象外領域でキャッシングの処理が切り換えられる。その結果、ビデオカメラ１１では、効率良くキャッシュメモリ２１を使用してキャッシュメモリ２１の大容量化を防止し、各機能ブロックの共有メモリ１７へのアクセス時間を短縮することができる。
【００４０】
すなわち中間処理データ、各種パラメータのデータは、キャッシュ領域に割り当てられ、共有メモリ１７のメモリマップに基づいて画像処理部１３等から発行されるアドレスの判定によりこのキャッシュ領域へのアクセスと判断される場合には、単にキャッシュメモリ２１を用いたキャッシングにより、これら中間処理データ、各種パラメータのデータが共有メモリ１７に記録再生される。従って、このキャッシュ領域に割り当てたデータについては、キャッシュメモリ２１の利用によりアクセス時間を短縮することができる。
【００４１】
またインデックス用のデータ、サムネイル画像の画像データ等のデータは、圧縮キャッシュ領域に割り当てられ、共有メモリ１７のメモリマップに基づいたアドレスの判定によりこの圧縮キャッシュ領域へのアクセスと判断される場合には、共有メモリコントローラ１９に設けられた圧縮伸張部２３Ａによりデータ圧縮してキャッシングの処理が実行される。従ってこのキャッシュ領域に割り当てたデータについては、圧縮伸張部２３Ａの処理によりキャッシュメモリ２１の大容量化を防止し、キャッシュ領域程では無いものの、キャッシュメモリ２１の利用によりアクセス時間を短縮することができる。
【００４２】
またキャッシュメモリ２１の利用によりアクセス速度の向上効率の低い、画像処理部１３、エンコーダ／デコーダ部１４、リサイズ部１５で順次処理する画像データについては、キャッシュ対象外領域に割り当てられ、共有メモリ１７のメモリマップに基づいたアドレスの判定によりこのキャッシュ対象外領域へのアクセスと判断される場合には、キャッシュメモリ２１の利用が中止され、無駄なキャッシュメモリ２１の利用が防止される。
【００４３】
（３）実施例の効果
以上の構成によれば、共有メモリにキャッシュ領域、圧縮キャッシュ領域、キャッシュ対象外領域を設け、これらキャッシュ領域、圧縮キャッシュ領域、キャッシュ対象外領域でキャッシングの処理を切り換えることにより、データの種類によりキャッシングの処理を切り換えて効率良くキャッシュメモリを使用することができる。従って複数の機能ブロックで１つの共有メモリを共用する構成において、キャッシュメモリの容量の増大を防止して、各機能ブロックの共有メモリへのアクセス時間を短縮することができる。
【実施例２】
【００４４】
図３は、本発明の実施例２のビデオカメラを示すブロック図である。このビデオカメラ３１は、コントローラ３６から出力される制御信号ＳＣによりアドレスデータコントローラ３３の動作を制御し、このコントローラ３６によりキャッシングの処理を切り換える点を除いて、実施例１のビデオカメラ１１と同一に構成される。
【００４５】
ここで共有メモリコントローラ３９は、制御信号ＳＣがＬレベルに設定されている場合、実施例１の共有メモリコントローラ１９と同一にキャッシングの処理を実行する。また制御信号ＳＣがＨレベルに設定されている場合、キャッシュ領域へのアクセスに対するキャッシングの処理を切り換える。具体的に、制御信号ＳＣがＨレベルに設定されている場合、共有メモリコントローラ３９は、圧縮キャッシュ領域及びキャッシュ対象外領域に対するアクセスについては、制御信号ＳＣがＬレベルに設定されている場合と同一に処理する。これに対して制御信号ＳＣがＨレベルに設定されている場合、共有メモリコントローラ３９は、キャッシュ領域に対するアクセスについては、圧縮キャッシュ領域に対するアクセスと同一に、データ圧縮したデータによりキャッシングの処理を実行する。
【００４６】
なおこの場合に、キャッシュ領域に対するアクセスについて、キャッシングの処理を中止してもよい。また圧縮キャッシュ領域に対するアクセスに対して、データ圧縮及びデータ伸張の処理を中止し、制御信号ＳＣがＬレベルに設定されている場合のキャッシュ領域に対するアクセスと同一に処理してもよく、さらにはキャッシングの処理自体、中止してもよい。またこのような処理の切り換えに連動して、キャッシュメモリにおける領域の割り当てを変更し、例えば、キャッシュ領域に割り当てられていたキャッシュメモリ２１の領域を圧縮キャッシュ領域の処理に割り当てるようにしてもよい。なおこの実施例のように制御信号ＳＣの論理レベルを切り換えることによりキャッシュメモリの状態を変更する場合には、キャッシュメモリ２１をフラッシュしてキャッシュメモリ２１に保持されているデータをリセットすることが必要となる場合がある。具体的にはそれまでキャッシュ領域もしくは圧縮キャッシュ領域であったアドレス空間がキャッシュ領域対象外になった場合などである．
コントローラ３６は、ユーザーの操作に応動して共有メモリ１７へのアクセスデータ量が増える場合に、図４（Ａ）及び（Ｂ）に示すように、クロックＣＫに同期して制御信号ＳＣをＬレベルに設定する。ここでこの実施例では、例えば撮像結果を単に取得して表示部でモニタしている場合、制御信号ＳＣをＨレベルに設定する。また撮像結果をモニタしながらデータ圧縮して記録する場合、制御信号ＳＣをＬレベルに設定する。
【００４７】
この実施例によれば、コントローラの制御によりキャッシングの処理を切り換えることにより、扱うべきデータ量、必要となる処理速度を変化させて適切にシステムを構築して、実施例１と同様の効果を得ることができる。
【実施例３】
【００４８】
なお上述の実施例においては、共有メモリのメモリマップにより機能ブロックからの書込み要求及び又は読出し要求のアドレスを判定し、機能ブロックからの書込み要求及び又は読出し要求が共有メモリの何れの領域に対するものか判定する場合について述べたが、本発明はこれに限らず、書込み要求及び又は読出し要求を発行した機能ブロックを判定して、機能ブロックからの書込み要求及び又は読出し要求が前記共有メモリの何れの領域に対するものか判定してもよい。
【００４９】
また上述の実施例においては、共有メモリへのデータ書込み時及び共有メモリからのデータ読出し時の双方でキャッシングの処理を実行する場合について述べたが、本発明はこれに限らず、共有メモリへのデータ書込み時及び共有メモリからのデータ読出し時の何れか一方のみでキャッシングの処理を実行するようにしてもよい。
【００５０】
また上述の実施例においては、各機能ブロックから出力されるデータをデータ圧縮することなく共有メモリに記録する場合について述べたが、本発明はこれに限らず、データ圧縮して共有メモリに記録するようにしてもよい。この場合、共有メモリの容量を小容量化することができる。またキャッシュ領域、圧縮キャッシュ領域、キャッシュ対象外領域の何れかの領域についてのみ、共有メモリに記録するデータをデータ圧縮してもよい。
【００５１】
また上述の実施例においては、バスを介して各機能ブロックを共有メモリコントローラに接続する場合について述べたが、本発明はこれに限らず、図５に示すように、バスを省略して各機能ブロックを直接、共有メモリコントローラに接続するようにしてもよい。なおこの場合、どの機能ブロックからアクセスされているのかがメモリコントローラが判別できることから、機能ブロック毎に、キャッシュ領域、圧縮キャッシュ領域、キャッシュ対象外領域を設定することができる。
【００５２】
なおバスを介して接続する場合にも、要求元の機能ブロックを示すバスの信号により判定することにより、各機能ブロックに、共有メモリのメモリ空間を割り振り、機能ブロック毎に、キャッシュ領域、圧縮キャッシュ領域、キャッシュ対象外領域を設定することができる。またこの場合も、機能ブロック毎に、実施例２について上述したキャッシングの処理を切り換えることができる。また図６に示すように、図１及び図５の構成を組み合わせて、一部の機能ブロックのみ直接、共有メモリコントローラに接続するようにして、特定機能ブロックからのキャッシュの制御と、アドレスマップからのキャッシュの制御の判断を混在させてもよい。
【００５３】
また上述の実施例においては、共有メモリをランダムアクセスメモリにより構成する場合について述べたが、本発明はこれに限らず、光ディスク、ハードディスク装置等により共有メモリを構成する場合にも広く適用することができる。
【００５４】
また上述の実施例においては、ハードウエア構成によりキャッシュメモリを制御する場合について述べたが、本発明はこれに限らず、ソフトウエアの処理によりキャッシュメモリを制御するようにしてもよい。なおこの場合、このソフトウエアを構成するプログラムは、光ディスク、磁気ディスク、メモリカード等の記録媒体に記録して提供することができる。
【００５５】
また上述の実施例においては、本発明をビデオカメラに適用した場合について述べたが、本発明はこれに限らず、電子スチルカメラ、光ディスク装置等の各種映像機器、さらには各種データ処理装置に広く適用することができる。
【産業上の利用可能性】
【００５６】
本発明は、例えばビデオカメラ等の映像機器に適用することができる。
【図面の簡単な説明】
【００５７】
【図１】本発明の実施例１のビデオカメラを示すブロック図である。
【図２】図１のビデオカメラにおける共有メモリのメモリマップを示す略線図である。
【図３】本発明の実施例２のビデオカメラを示すブロック図である。
【図４】図２のビデオカメラにおける動作の切り換えの説明に供するタイムチャートである。
【図５】本発明の他の実施例の構成を示すブロック図である。
【図６】図５の例とは異なる本発明の他の実施例の構成を示すブロック図である。
【図７】１つの共有メモリを複数の機能ブロックで共用する構成を示すブロック図である。
【符号の説明】
【００５８】
１、１１、３１……ビデオカメラ、２〜４……機能ブロック、５、１７……共有メモリ、６、１９、３９……共有メモリコントローラ、１６、３６……コントローラ、２１……キャッシュメモリ、２３Ａ……圧縮伸張部
【図１】
0005194703.tif 000002
【図２】
0005194703.tif 000003
【図３】
0005194703.tif 000004
【図４】
0005194703.tif 000005
【図５】
0005194703.tif 000006
【図６】
0005194703.tif 000007
【図７】
0005194703.tif 000008