(57)【要約】  フレームメモリ制御部は、フレームメモリから符号化するフレームの画像データを複数の画像データで構成されるタイル単位で読み出すと共に、該画像データが読み出されたフレームメモリのメモリ領域へ次のフレームの１タイル相当量の単位で画像データを格納する。フレームメモリは、複数のタイルの画像データが格納可能である。
2008136319.tif 000002
【特許請求の範囲】
【請求項１】
画像データを符号化するエンコーダシステムであって、
複数の前記画像データで構成されるタイル単位で、一時的に格納された前記画像データが読み出される、複数の前記タイルの画像データが格納可能なフレームメモリと、
前記フレームメモリから前記符号化するフレームの画像データを前記タイル単位で読み出すと共に、該画像データが読み出された前記フレームメモリのメモリ領域へ次のフレームの１タイル相当量の単位で画像データを格納するフレームメモリ制御部と、
を有するエンコーダシステム。
【請求項２】
前記フレームメモリは、
１フレーム分の前記画像データが格納されるメモリ領域である画像データバッファと、
次のフレームの１タイルのデータ量に相当する複数のラインの画像データが格納されるメモリ領域である次フレーム用バッファと、
前のフレームから最後に読み出されたタイルの前記画像データが格納される一時待機バッファと、
を有する請求項１記載のエンコーダシステム。
【請求項３】
前記フレームメモリ制御部は、
Ｍ、Ｎを正の整数とし、ｘをＭ＋２以下の正の整数とし、ｙをＮ以下の正の整数としたとき、
前記フレームが水平方向に配列されたＭ個のタイルで構成され、さらに前記タイルが垂直方向にＮ個に分割されて、ライン数が等しいラインブロック単位でメモリブロックに格納され、前記メモリブロックが符号｛ｘ，ｙ｝で表される場合、
前記画像データバッファとして用いる、メモリブロック｛１，１｝〜｛１，（Ｎ−１）｝へ第１番目のタイルに含まれる第２番目から第Ｎ番目のラインブロックの画像データを格納し、メモリブロック｛２，１｝〜｛２，（Ｎ−１）｝へ第２番目のタイルに含まれる第２番目から第Ｎ番目のラインブロックの画像データを格納し、・・・、メモリブロック｛Ｍ，１｝〜｛Ｍ，（Ｎ−１）｝へ第Ｍ番目のタイルに含まれる第２番目から第Ｎ番目のラインブロックの画像データを格納し、メモリブロック｛（Ｍ＋１），１｝〜｛（Ｍ＋１），Ｎ｝へ第１番目〜第Ｍ番目のタイルに含まれるそれぞれの第１番目のラインブロックの画像データを格納すると共に、メモリブロック｛（Ｍ＋２），１｝〜｛（Ｍ＋２），Ｎ｝を前記次フレームバッファとして用い、メモリブロック｛１，Ｎ｝、｛２，Ｎ｝、・・・、｛（Ｍ−１），Ｎ｝を前記一時待機バッファとして用いるための第１状態のメモリマップと、
前記画像データバッファとして用いる、メモリブロック｛１，１｝〜｛１，Ｎ｝へ第１番目〜第Ｍ番目のタイルに含まれるそれぞれの第２番目のラインブロックの画像データを格納し、メモリブロック｛２，１｝〜｛２，Ｎ｝へ第１番目〜第Ｍ番目のタイルに含まれるそれぞれの第３番目のラインブロックの画像データを格納し、・・・、メモリブロック｛（Ｍ−１），１｝〜｛（Ｍ−１），Ｎ｝へ第１番目〜第Ｍ番目のタイルに含まれるそれぞれの第Ｎ番目のラインブロックの画像データを格納し、メモリブロック｛（Ｍ＋２），１｝〜｛（Ｍ＋２），Ｎ｝へ第１番目〜第Ｍ番目のタイルに含まれるそれぞれの第１番目のラインブロックの画像データを格納すると共に、メモリブロック｛（Ｍ＋１），１｝〜｛（Ｍ＋１），Ｎ｝を前記次フレームバッファとして用い、メモリブロック｛Ｍ，１｝〜｛Ｍ，（Ｎ−１）｝を前記一時待機バッファとして用いるための第２状態のメモリマップと、
を備え、
前記フレームメモリから１フレーム分の画像データを読み出すときと、前記フレームメモリに次のフレームの画像データを書き込むときで、前記第１状態のメモリマップと前記第２状態のメモリマップとを切り替える請求項１または２記載のエンコーダシステム。
【請求項４】
前記Ｍの値と前記Ｎの値が等しい請求項３記載のエンコーダシステム。
【請求項５】
前記フレームメモリ制御部は、
前記第１状態のメモリマップを使用して前記フレームメモリから１フレーム分の画像データをタイル単位で読み出す場合は、前記第２状態のメモリマップを使用して次のフレームの画像データを前記フレームメモリに格納する請求項３または４記載のエンコーダシステム。
【請求項６】
前記フレームメモリ制御部は、
前記第２状態のメモリマップを使用して前記フレームメモリから１フレーム分の画像データを前記タイル単位で読み出す場合は、前記第１状態のメモリマップを使用して次のフレームの画像データを前記フレームメモリに格納する請求項３または４記載のエンコーダシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像データをＪＰＥＧ２０００方式により符号化するエンコーダシステムに関する。
【背景技術】
【０００２】
ＪＰＥＧ（Joint  Photographic  Expert  Group）２０００は、ＪＰＥＧよりも画質や圧縮率を向上させた符号化方式として知られている。【０００３】
一般に、画像データを取得するイメージセンサからは、イメージセンサの読み取り方向である、画面の水平方向を構成するライン毎に、順次画像データが出力される。【０００４】
一方、上記ＪＰＥＧ２０００を採用したエンコーダシステムでは、タイルと呼ばれるＪＰＥＧに比べて大きい正方形状のブロック（例えば１２８画素×１２８ライン）単位で画像データの符号化処理が実行される。また、上記ＪＰＥＧ２０００を採用したエンコーダシステムでは、イメージセンサの水平方向の画素数に対応して配列された複数のタイルで構成されるフレーム単位で、画像データをフレームメモリに一旦格納した後、先頭の画像データを含むタイルから順次読み出して符号化処理を実行する。【０００５】
ここで、上述したようにフレームメモリには連続する画像データ列から成るライン毎に画像データが入力され、エンコーダシステムは上記タイル単位で符号化処理を実行するため、フレームに含まれる全ての画像データをフレームメモリに格納した後でなければ、先頭の画像データを含むタイルの符号化処理を実行することはできない。【０００６】
また、従来のエンコーダシステムでは、連続して入力される画像データの符号化処理を途切れることなく実行するために、上記フレームメモリを２つ備え、一方のフレームメモリに格納されたフレームの画像データを読み出して符号化処理を実行している間に、他方のフレームメモリに次のフレームの画像データを格納する構成（ダブルバッファ構成）が採用されている。このようなダブルバッファ構成では、フレームメモリに対するアクセス待ちが無くなるため、符号化処理を高速に実行できる。【０００７】
なお、このようなダブルバッファ構成を採用することで画像データの処理速度を向上させる手法は、画像データを符号化するエンコーダシステムに限らず表示装置等でも採用されている。例えば特開平９−６８９６９号公報では、楽譜の画像データを表示するために、該画像データを保持するラインバッファに少なくとも２つのバッファメモリを備え、一方のバッファメモリから画像データを読み出しているときに、他方のバッファメモリに次に表示する画像データを格納することで、ラインバッファに対するアクセス待ちの時間を無くして、処理速度を向上させた画像制御装置が記載されている。【０００８】
しかしながら上述したような従来のエンコーダシステムでは、フレームメモリに１フレームの画像データ量の２倍のメモリ容量が必要となるため、コストが上昇する問題がある。特にフレームメモリは高価であるため、フレームメモリの容量が大きくなると、エンコーダシステムを含む装置全体のコストが上昇してしまう。
【発明の開示】
【０００９】
そこで、本発明は、連続して入力される画像データの符号化処理を途切れることなく実行できると共に、フレームメモリのメモリ容量を低減することが可能なエンコーダシステムを提供することを目的とする。
【００１０】
上記目的を達成するため本発明のエンコーダシステムは、画像データを符号化するエンコーダシステムであって、
複数の前記画像データで構成されるタイル単位で、一時的に格納された前記画像データが読み出される、複数の前記タイルの画像データが格納可能なフレームメモリと、
前記フレームメモリから前記符号化するフレームの画像データを前記タイル単位で読み出すと共に、該画像データが読み出された前記フレームメモリのメモリ領域へ次のフレームの１タイル相当量の単位で画像データを格納するフレームメモリ制御部と、
を有する。
【００１１】
上記のような構成では、フレームメモリ制御部によってタイル単位でフレームメモリから符号化する画像データを読み出すと共に、該画像データが読み出されたフレームメモリのメモリ領域へ次のフレームの１タイル相当量の画像データを格納するため、フレームメモリには、１フレーム分の画像データを格納するためのメモリ領域に加えて、フレームメモリから画像データを読み出す前に次のフレームの画像データ（１タイル相当量）が書き込まれるのを防止するために必要な最低限（２タイル分）のバッファメモリを備えていればよい。
【００１２】
したがって、従来のエンコーダシステムのように１フレームの画像データ量の２倍のメモリ容量を持つフレームメモリを用いることなく、連続して入力される画像データの符号化処理を途切れることなく実行できると共に、フレームメモリのメモリ容量を低減することが可能になる。
【図面の簡単な説明】
【００１３】
【図１】図１は本発明のエンコーダシステムの一構成例を示すブロック図である。
【図２】図２は本発明のエンコーダシステムで用いるメモリマップの一構成例を示す模式図である。
【図３】図３は図２に示したメモリマップを用いたフレームメモリに対する画像データの読み出し／書き込み動作を示す模式図である。
【図４】図４は本発明のエンコーダシステムに要求される、フレームメモリに対する画像データの読み出し速度及び書き込み速度の関係を示す模式図である。
【発明を実施するための最良の形態】
【００１４】
次に本発明について図面を参照して説明する。【００１５】
図１は本発明のエンコーダシステムの一構成例を示すブロック図である。【００１６】
図１に示すように、本発明のエンコーダシステムは、イメージセンサ１及びＪＰＥＧ２０００エンコーダ１０を有する構成である。【００１７】
ＪＰＥＧ２０００エンコーダ１０は、フレームメモリ制御部２、タイルバッファメモリ３、ウェーブレット（wavelet）変換部４、係数ビットモデリング部５、算術符号化部６及びフレームメモリ７を備えている。【００１８】
イメージセンサ１には、例えばラインセンサ方式が用いられ、１画素あたりＮビットの分解能を持つ画像データ（グレースケールデータ）が出力される。イメージセンサ１から出力された画像データは、フレームメモリ制御部２によってフレームメモリ７に格納される。【００１９】
フレームメモリ制御部２は、フレームメモリ７に対する画像データの書き込み処理及び読み出し処理を制御する。本実施形態のフレームメモリ制御部２は、複数のタイルにまたがるライン単位でイメージセンサ１から出力された画像データをフレームメモリ７に書き込むと共に、フレームメモリ７からタイル単位で画像データを読み出し、読み出した画像データをタイルバッファ３に格納する。【００２０】
タイルバッファメモリ３は、ウェーブレット変換部４による処理のためにフレームメモリ７から画像データを読み出す際に用いるバッファメモリである。フレームメモリ制御部２によってフレームメモリ７から読み出された画像データはタイルバッファメモリ３で一旦保持された後、ウェーブレット変換部４へ転送される。なお、フレームメモリ７に対するアクセス速度を重視する場合はタイルバッファメモリ３を上述したダブルバッファ構成としてもよい。【００２１】
ウェーブレット変換部４は、タイルバッファメモリ３からタイル単位で画像データを読み出し、該画像データをウェーブレット変換した後、その処理したデータを係数ビットモデリング部５へ出力する。【００２２】
係数ビットモデリング部５は、ウェーブレット変換部４から出力されたデータに周知の係数ビットモデリング処理を施し、算術符号化部６へ出力する。【００２３】
算術符号化６は、係数ビットモデリング部５から出力されたデータを算術符号化し、符号データとして出力する。【００２４】
ウェーブレット変換部４、係数ビットモデリング部５及び算術符号化６は、ＪＰＥＧ２０００の符号化処理を実現するためのものであり、当業者に知られた構成であるため、ここでは詳細な説明は省略する。【００２５】
フレームメモリ７は、イメージセンサ１から出力された画像データが一時的に格納されるメモリである。本発明のエンコーダシステムでは、フレームメモリ７に、複数タイル分のデータ容量を備えた、１フレーム分の画像データが格納される画像データバッファ７１と、次のフレームの１タイルのデータ量に相当する複数のラインの画像データが格納されるメモリ領域である図３に示される次フレーム用バッファ７２と、前のフレームから最後に読み出されたタイルの画像データが格納される図３に示される一時待機バッファ７３とを備えている。このような構成では、次フレーム用バッファ７２に次のフレームの先頭の１タイル分のデータ量に相当する複数ラインの画像データが格納されるため、画像データバッファ７１に次のフレームの画像データを格納するとき、１フレーム分の画像データの書き込み期間だけアクセスされないメモリ領域が発生する。一時待機バッファ７３は、このアクセスされない期間が発生するメモリ領域であり、次のフレームの最後に読み出されるタイルの画像データが格納される。【００２６】
このように本発明のエンコーダシステムでは、フレームメモリ７に、１フレームの画像データを格納するための画像データバッファ７１以外に２タイル相当量の画像データを一時的に保持するためのバッファ（次フレーム用バッファ７２及び一時待機バッファ７３）を備えている。但し、実際に次フレーム用バッファ７２として用いるのは１タイル相当量の画像データを保持するメモリ空間だけであり、残りの１タイル相当量のバッファが一時待機バッファ７３として用いられる。【００２７】
上述したように、従来のエンコーダシステムは、フレームメモリがダブルバッファ構成であるため、一方のバッファメモリに格納された１フレーム分の画像データをウェーブレット変換部４、係数ビットモデリング部５及び算術符号化部６にて処理すると共に、他方のバッファメモリへ次のフレームの画像データを書き込むことが可能である。一方、本実施形態のエンコーダシステムでは、フレームメモリ７からタイルバッファメモリ３にタイル単位で画像データが読み出される度に、該画像データが読み出されたフレームメモリ７のメモリ領域へイメージセンサ１から出力された次のフレームの１タイル相当量の画像データを格納する。また、本発明のエンコーダシステムは、図２に示すようにフレームメモリ制御部２にフレームメモリ７のメモリマップを２種類（第１状態、第２状態）備え、フレームメモリ７から１フレーム分の画像データを読み出すときとフレームメモリ７に次のフレームの画像データを書き込むときでメモリマップを切り替える。例えば、図２に示す第１状態のメモリマップを用いてフレームメモリ７から画像データを読み出す場合は、フレームメモリ７から１フレーム分の画像データをタイル単位で読み出しつつ、図２に示す第２状態のメモリマップを用いて次のフレームの画像データを複数タイルにまたがるライン単位でフレームメモリ７に格納する。また、図２に示す第２状態のメモリマップを用いてフレームメモリ７から画像データを読み出す場合は、フレームメモリ７から１フレーム分の画像データをタイル単位で読み出しつつ、図２に示す第１状態のメモリマップを用いて次のフレームの画像データを複数タイルにまたがるライン単位でフレームメモリ７に格納する。【００２８】
図２は１フレームが８つのタイルで構成されているときの２つの状態のメモリマップをそれぞれ示している。図２に示すメモリマップを参照することで、１フレームの画像データのうち、ある画素データがどのアドレス領域に格納されるかを２つの状態のメモリマップを用いることで知ることが可能である。また、図３は本発明のエンコーダシステムのメモリアクセスの手順を示す模式図である。図２において矩形形状で示される各アドレス領域（以下、メモリブロックと称す）の左側の表記は、図４におけるアドレス領域へのアクセスの対応を示すためのラベルである。【００２９】
次に、本発明のエンコーダシステムの動作について、図２、図３および図４を用いて説明する。【００３０】
以下では、１タイルの大きさを１２８画素×１２８ラインとし、１フレームが８タイルで構成され、フレームメモリ７の１つのアドレス領域に対して２画素分の画像データが格納される場合を例にして本発明のエンコーダシステムの動作を説明する。【００３１】
本発明のエンコーダシステムは、フレームメモリ制御部２に、図２に示す第１状態及び第２状態のフレームメモリ７のメモリマップを備え、画像データの読み出しまたは書き込みに応じて第１状態または第２状態のメモリマップを使い分ける。ここでは、メモリマップを使い分けるアドレス空間の最小単位を４００ｈとし、このアドレス空間に１２８画素×１６ラインの画像データを１アドレスあたり２画素分のデータを割り当てて格納する場合を説明する。【００３２】
図２および図３の矩形形状で示す各領域は、１２８画素×１６ラインの画像データを１アドレスあたり２画素分のデータを割り当てて格納可能なアドレス空間４００ｈを示している。図３に示す各メモリブロックに記載されたアドレス領域は図２に示した第１状態及び第２状態のメモリマップに対応している。各メモリブロックには、１２８画素×１６ラインの画像データが書き込まれる。但し、アドレス0FC00h-0FFFFhのメモリブロックは、画像データの書き込み及び読み出しが行われない不使用領域である。【００３３】
図２のメモリブロック内には、フレームの先頭ラインの番号を「１」としたときの各ラインの番号が記載され、それに続く括弧内には８つのタイルで構成されるフレームの先頭タイルの番号を「１」としたときの各タイルの番号が記載されている。例えば、"ライン６５−８０（２／８）"と記載されたメモリブロックには、ライン番号が６５から８０までのラインの画像データのうち、第２番目のタイルの画像データが格納されることを示している。【００３４】
以下では、第１状態のメモリマップを使用してフレームメモリ７に１フレーム分の画像データを書き込み後にタイル単位で読み出し、第２状態のメモリマップを使用して次のフレームの画像データをフレームメモリ７に格納してから読み出す動作を繰り返す手法について説明する。【００３５】
まず、フレームメモリ制御部２は、第１状態のメモリマップを用いて１０２４画素×１２８ラインで構成される１フレーム分の画像データを図３に示す画像データバッファ７１に格納する。【００３６】
このとき、図２の第１状態のメモリマップにおいては、まずライン１からライン１６までの画像データはアドレス10000hから11CFFhのメモリ空間に割り当てられ、その後の１７ライン以降の画像データはアドレス00000hから0FBFFhまでのメモリ空間に規則的に割り当てられる。ライン１からライン１２８までの全ての画像データがメモリ内に格納された状態が、１フレームの画像データが全てフレームメモリ７に格納された状態である。【００３７】
このとき、アドレス01C00hから01FFFh、03C00hから03FFFh、05C00hから05FFFh、07C00hから07FFFh、09C00hから09FFFh、0BC00hから0BFFFh、0DC00hから0DFFFh、0FC00hから0FFFFhまでのメモリブロックは、第１状態のメモリマップでは何も格納されないメモリ領域であり、本明細書では便宜的に一時待機バッファと呼ぶ（図２、図３）。特にアドレス0FC00hから0FFFFhのメモリブロックについては後述する第２状態でも使用されない不使用領域である。【００３８】
次に、次フレームのデータが休むことなく入力される場合を考える。【００３９】
このとき、先にフレームメモリ７に書き込まれたフレームの画像データは、読み出されていない状態または読み出し中の状態にある。また、第１状態のアドレス12000hから13FFFhまでの各メモリブロックは何も画像データが格納されていない領域であり、１６ライン相当量（＝１タイル相当量）の画像データが格納可能である。【００４０】
そのため、メモリマップを第１状態から第２状態に切り替えてから、上記アドレス12000hから13FFFhまでの各メモリブロック（アドレス12000h-123FFh、12400h-127FFh、12800h-12BFFh、12C00h-12FFFh、13000h-133FFh、13400h-137FFh、13800h-13BFFh及び13C00h-13FFFh）に次のフレームの画像データの書き込みを開始すれば、ライン１からライン１６までを休むことなく画像データをフレームメモリ７に格納することが可能である。【００４１】
このアドレス12000hから13FFFhまでの各メモリブロックは、１フレーム相当量よりも余分に用意すべきメモリ空間であり、第１状態の空きメモリ空間と見なすことが可能である。本明細書ではこの空きメモリ空間を便宜的に第１状態の次フレームバッファと呼ぶ（図２、図３）。【００４２】
１フレームの画像データ格納後のフレームメモリ７からの画像データの読み出しはタイル毎に行われる。すなわち、フレームメモリ７内における先頭画素（最初に書き込まれた画素）を含むタイルをタイル１とし第１状態のメモリマップを用いれば、タイル１とは、図２のメモリブロック内に"（１／８）"と記載されている８つのメモリブロック（アドレス10000h-103FFh、00000h-003FFh、00400h-007FFh、00800h-00BFFh、00C00h-00FFFh、01000h-013FFh、01400h-017FFh、01800h-01BFFh）の組み合わせとなる。これらを全て読み出し、タイルバッファメモリ３に格納すると、アドレス00000hから01FFFhの間の各メモリブロックに書き込み可能となる。【００４３】
すなわち、第１状態のメモリマップを用いて上記タイル１の画像データが読み出されたとき、同時にまたは若干遅れて次のフレームのライン１からライン１６までの画像データが第２状態のメモリマップを用いてアドレス12000hから13FFFhまでの各メモリブロックに格納される。【００４４】
続いて、連続して格納すべきライン１７からライン３２の画像データを、第１状態のメモリマップを用いて読み出された、タイル１が格納されていたメモリ領域と一時待機バッファが備える一部のメモリブロック（アドレス00000h-003FFh、00400h-007FFh、00800h-00BFFh、00C00h-00FFFh、01000h-013FFh、01400h-017FFh、01800h-01BFFh、及びアドレス01C00h-01FFFh）に格納する。これと同時に第２番目のタイルの画像データの読み出しを行う。【００４５】
第２番目のタイルの画像データを読み出しが終了すると、フレームメモリ制御部２は、第２状態のメモリマップを用いて次のフレームのライン３３〜４８の画像データを、開放されたタイル（ここでは、アドレス02000h-023FFh、02400h-027FFh、02800h-02BFFh、02C00h-02FFFh、03000h-033FFh、03400h-037FFh、03800h-03BFFh）及び一時待機バッファ７３（ここでは、アドレス03C00h-03FFFh）へ格納する。【００４６】
以下、同様にして、フレームメモリ制御部２は、第１状態のメモリマップを用いて、タイル単位で画像データバッファ７１から画像データを読み出してタイルバッファメモリ３へ格納し、タイルバッファメモリ３に画像データを読み出すことで開放されたメモリブロックに、第２状態のメモリマップを用いて次のフレームの画像データを１６ライン単位でライン１２８まで順次格納する。【００４７】
この第２状態のメモリマップを用いた画像データの書き込み時、ライン１７からライン１２８の画像データは、第１状態のメモリマップとは異なる規則性をもって格納される。【００４８】
この異なる規則性によって、上述の第１状態のメモリマップを用いた画像データの読み出しと第２状態のメモリマップを用いた画像データの書き込みの同時処理終了後に、連続して入力される次のフレームに対して、第２状態のメモリマップを用いた画像データの読み出しと第１状態のメモリマップを用いた画像データの書き込みの同時処理を行うことが可能となる。【００４９】
第２状態のメモリマップでは、次フレーム用バッファ７２がアドレス10000hから11FFFhまでの８つのメモリブロックで構成され、一時待機バッファはアドレス0E000hから0FFFFhの各メモリブロックで構成される。特にアドレス0FC00hから0FFFFhのメモリブロックについては第１状態のメモリマップでも使用されない前述の不使用領域である。【００５０】
第２状態のメモリマップを用いたフレーム画像データの書き込みが終わり、同メモリマップを用いて画像データバッファ７１からタイル１の画像データを読み出す場合、次フレームの１ラインから１６ラインの格納には、次フレーム用バッファ７２としてアドレス10000h-103FFh、10400h-107FFh、10800h-10BFFh、10C00h-10FFFh、11000h-113FFh、11400h-117FFh、11800h-11BFFh及び11C00h-11FFFhのメモリブロックが用いられ、次フレームの１ラインから１６ラインの書き込みが行われる。【００５１】
タイル１の読み出し後にフレームメモリ制御部２は、第１状態のメモリマップを用いて第２番目のタイル（ここでは、アドレス10400h-107FFh、02000h-023FFh、02400h-027FFh、02800h-02BFFh、02C00h-02FFFh、03000h-033FFh、03400h-037FFh、03800h-03BFFh）の画像データを読み出しタイルバッファメモリ３に格納すると共に、第２状態のメモリマップを用いてフレームメモリ７に次のフレームのライン１７〜３２の画像データを格納する。【００５２】
以降、同様にして１タイル単位の画像データの読み出しと、次のフレームの１６ライン単位の画像データの書き込みが同時にまたは若干遅れて繰り返し実行される。【００５３】
以上の処理を繰り返すことで、データ消失なく連続フレームの画像データのフレームメモリを介した転送が可能となる。【００５４】
このとき、ウェーブレット変換部４、係数ビットモデリング部５及び算術符号化部６による１タイルの画像データに対する処理速度が十分に速く、図４に示すようにフレームメモリ７に対する次のフレームの画像データの書込み処理よりもタイルバッファメモリ３への読出し処理が速いことが、次のフレームの画像データをフレームメモリ７へ連続して書き込むための条件となる。【００５５】
なお、図４は、第１状態のメモリマップを用いてフレームメモリ７から画像データを読み出し、第２状態のメモリマップを用いて次のフレームの画像データをフレームメモリ７に格納する場合の書き込み処理及び読み出し処理の様子を示している。各メモリブロック内の数値は、図２の各メモリブロックの左側に示されるラベルに対応している。本実施形態のエンコーダシステムでは、図１に示したウェーブレット変換部４及び係数ビットモデリング部５及び算術符号化部６の処理速度が、イメージセンサ１から画像データが入力される速度よりも高速なときに、メモリ書き込みアドレスとメモリ読み出しアドレスが衝突することなく、連続して入力される画像データの符号化処理が可能である。【００５６】
このように第１状態のメモリマップを用いてフレームメモリ７から画像データを読み出し、第２状態のメモリマップを用いて次のフレームの画像データを書き込むことで、連続するフレームの画像データを書込み／読み出す場合でも、同一のアドレス領域への書き込みは必ず読み出された後に行われるため、タイルバッファメモリ３へ読み出す前にフレームメモリ７の画像データが上書きされることが無い。【００５７】
また、第１状態のメモリマップを用いた第１番目のフレームの画像データのフレームメモリ７からの読み出し処理と第２状態のメモリマップを用いた第２番目のフレームの画像データのフレームメモリ７への書き込み処理を同時に実行し、続いて第２状態のメモリマップを用いた第２番目のフレームの画像データのフレームメモリ７からの読み出し処理と第１状態のメモリマップを用いた第３番目のフレームの画像データのフレームメモリ７への書き込み処理を同時に実行し、以降、同様にして連続して入力されるフレーム毎に２つのメモリマップを切り替えつつ画像データの読み出しと書き込みの同時処理を繰り返し実行することで、フレームメモリ７に対するアクセス待ちが発生することなく、連続して入力されるフレームの画像データに対する符号化処理を実行できる。【００５８】
また、１ラインの画素数が１０２４（８タイル）に満たない場合は、第１状態のメモリマップに基づく先頭アドレスを10000hとするのではなく、例えば５１２画素の場合は、５番目のタイルの先頭アドレス（11400h）から書き込みを開始すればよい。このようにすることで、イメージセンサ１のライン幅が８タイル未満の場合でも上記と同様に処理すれば、タイルバッファメモリ３へ読み出す前にフレームメモリ７の画像データが上書きされることが無い。【００５９】
さらに、上記説明では、フレームが水平方向及び垂直方向にそれぞれ８つのメモリブロックに分割された例を示しているが、本発明は、フレームの水平方向及び垂直方向の分割数をそれぞれ４、１６、３２、・・・等に設定してもよく、水平方向と垂直方向の分割数がそれぞれ等しければ上記と同様の効果を得ることができる。その場合も、上述した第１状態のメモリマップ及び第２状態のメモリマップをそれぞれ生成し、それらのメモリマップをフレームメモリ７に対する画像データの読み出しまたは書き込みに応じて用いればよい。【００６０】
なお、第１状態及び第２状態のメモリマップは、以下のように生成すればよい。【００６１】
まず、１フレームが水平方向に配列されたＭ（Ｍは正の整数、例えばＭ＝４、８、１６、・・・）個のタイルで構成され、さらに各タイルが垂直方向にＮ（Ｎは正の整数）個に分割されて、ライン数が等しいラインブロック単位でメモリブロックに格納されるものとする。【００６２】
ここで、ｘをＭ＋２以下の正の整数とし、ｙをＮ以下の正の整数として、各メモリブロックを符号｛ｘ，ｙ｝で表すとき、第１状態のメモリマップは、メモリブロック｛１，１｝〜｛１，（Ｎ−１）｝へ第１番目のタイルに含まれる第２番目から第Ｎ番目のラインブロックの画像データを格納し、メモリブロック｛２，１｝〜｛２，（Ｎ−１）｝へ第２番目のタイルに含まれる第２番目から第Ｎ番目のラインブロックの画像データを格納し、・・・、メモリブロック｛Ｍ，１｝〜｛Ｍ，（Ｎ−１）｝へ第Ｍ番目のタイルに含まれる第２番目から第Ｎ番目のラインブロックの画像データを格納し、メモリブロック｛（Ｍ＋１），１｝〜｛（Ｍ＋１），Ｎ｝へ第１番目〜第Ｍ番目のタイルに含まれるそれぞれの第１番目のラインブロックの画像データを格納するためのものである。【００６３】
但し、メモリブロック｛（Ｍ＋２），１｝〜｛（Ｍ＋２），Ｎ｝は次フレームバッファ７２として用い、メモリブロック｛１，Ｎ｝、｛２，Ｎ｝、・・・、｛（Ｍ−１），Ｎ｝は一時待機バッファ７３として用いる。メモリブロック｛Ｍ，Ｎ｝は不使用領域とする。【００６４】
一方、第２状態のメモリマップは、メモリブロック｛１，１｝〜｛１，Ｎ｝へ第１番目〜第Ｍ番目のタイルに含まれるそれぞれの第２番目のラインブロックの画像データを格納し、メモリブロック｛２，１｝〜｛２，Ｎ｝へ第１番目〜第Ｍ番目のタイルに含まれるそれぞれの第３番目のラインブロックの画像データを格納し、・・・、メモリブロック｛（Ｍ−１），１｝〜｛（Ｍ−１），Ｎ｝へ第１番目〜第Ｍ番目のタイルに含まれるそれぞれの第Ｎ番目のラインブロックの画像データを格納し、メモリブロック｛（Ｍ＋２），１｝〜｛（Ｍ＋２），Ｎ｝へ第１番目〜第Ｍ番目のタイルに含まれるそれぞれの第１番目のラインブロックの画像データを格納するためのものである。【００６５】
但し、メモリブロック｛（Ｍ＋１），１｝〜｛（Ｍ＋１），Ｎ｝は次フレームバッファ７２として用い、メモリブロック｛Ｍ，１｝〜｛Ｍ，（Ｎ−１）｝は一時待機バッファ７３として用いる。メモリブロック｛Ｍ，Ｎ｝は不使用領域とする。【００６６】
このようにして生成した２つのメモリマップをフレーム毎に切り替える操作により、第１状態のメモリマップを用いた読み出しと第２状態のメモリマップを用いた書き込みの同時処理と、第２状態のメモリマップを用いた読み出しと第１状態のメモリマップを用いた書き込みの同時処理とを実現する。なお、本発明では、上記Ｍ及びＮを等しい値に設定する。【００６７】
本発明によれば、フレームメモリ制御部２によってフレームメモリ７からタイル単位で符号化のために画像データを読み出すと共に、該画像データが読み出されたフレームメモリ７のメモリ領域へ次のフレームの複数のラインで構成される１タイル相当量の画像データを格納するため、フレームメモリ７には、複数のタイルで構成される１フレーム分の画像データを格納するためのメモリ領域に加えて、フレームメモリから画像データを読み出す前に次のフレームの１タイル相当量の画像データが上書きされるのを防止するために必要な最低限（２タイル分）のバッファを備えていればよい。【００６８】
したがって、従来のエンコーダシステムのように１フレームの画像データ量の２倍のメモリ容量を持つフレームメモリを用いることなく、連続して入力される画像データの符号化処理を途切れることなく実行できると共に、フレームメモリのメモリ容量を低減することが可能になる。【００６９】
また、従来のエンコーダシステムでは、コストの増大を考慮してフレームメモリ７をＪＰＥＧエンコーダの外部に設ける場合があったが、本発明ではフレームメモリ７のメモリ容量を低減できるため、フレームメモリ７を、ＪＰＥＧ２０００エンコーダ１０を含むＬＳＩ等に実装することが可能になる。また、フレームメモリ７をＬＳＩの外部に設ける場合でも、より小さなメモリ容量のフレームメモリ７を用いることができるため、エンコーダシステムのコストを低減できる。例えば、従来は１６タイル分のメモリ容量が必要であったフレームメモリ７が、本発明では１０タイル分の容量で済むため、メモリ容量が３７．５％削減される。【００７０】
本発明のエンコーダシステムでは、例えば１タイルの大きさを１２８画素×１２８ラインとし、１フレームの水平方向の画素数を１２８画素×８タイル＝１０２４とした場合、従来のエンコーダシステムではフレームメモリ７に２フレーム分のメモリ容量が必要であったが、本発明では５／４フレーム分のメモリ容量で従来のＪＰＥＧ２０００エンコーダと同じ性能が達成できる。【００７１】
なお、本発明のエンコーダシステムは、コンピュータ、あるいは論理回路等から構成されるＬＳＩ（Large  Scale  Integration）やＤＳＰ（Digital  Signal  Processor）等の半導体集積回路装置及びメモリ等によって実現することが可能である。【００７２】
この出願は、２００７年０４月２７日に出願された特願２００７−１１８８６７号を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【図１】
2008136319.tif 000003
【図２】
2008136319.tif 000004
【図３】
2008136319.tif 000005
【図４】
2008136319.tif 000006
【手続補正書】
【提出日】平成21年2月25日(2009.2.25)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
画像データを符号化するエンコーダシステムであって、
複数の前記画像データで構成されるタイル単位で、一時的に格納された前記画像データが読み出される、複数の前記タイルの画像データが格納可能なフレームメモリと、
前記フレームメモリから前記符号化するフレームの画像データを前記タイル単位で読み出すと共に、該画像データが読み出された前記フレームメモリのメモリ領域へ次のフレームの１タイル相当量の単位で画像データを格納するフレームメモリ制御部と、
を有し、
前記フレームメモリは、
１フレーム分の前記画像データが格納されるメモリ領域である画像データバッファと、
次のフレームの１タイルのデータ量に相当する複数のラインの画像データが格納されるメモリ領域である次フレーム用バッファと、
前のフレームから最後に読み出されたタイルの前記画像データが格納される一時待機バッファと、
を備え、
前記フレームメモリ制御部は、
前記フレームメモリのメモリマップを２種類備え、
前記フレームメモリから１フレーム分の画像データを読み出すときと、前記フレームメモリに次のフレームの画像データを書き込むときで、メモリマップを切り替えるエンコーダシステム。
【請求項２】
（削除）
【請求項３】
前記フレームメモリ制御部は、
Ｍ、Ｎを正の整数とし、ｘをＭ＋２以下の正の整数とし、ｙをＮ以下の正の整数としたとき、
前記フレームが水平方向に配列されたＭ個のタイルで構成され、さらに前記タイルが垂直方向にＮ個に分割されて、ライン数が等しいラインブロック単位でメモリブロックに格納され、前記メモリブロックが符号｛ｘ，ｙ｝で表される場合、
前記画像データバッファとして用いる、メモリブロック｛１，１｝〜｛１，（Ｎ−１）｝へ第１番目のタイルに含まれる第２番目から第Ｎ番目のラインブロックの画像データを格納し、メモリブロック｛２，１｝〜｛２，（Ｎ−１）｝へ第２番目のタイルに含まれる第２番目から第Ｎ番目のラインブロックの画像データを格納し、・・・、メモリブロック｛Ｍ，１｝〜｛Ｍ，（Ｎ−１）｝へ第Ｍ番目のタイルに含まれる第２番目から第Ｎ番目のラインブロックの画像データを格納し、メモリブロック｛（Ｍ＋１），１｝〜｛（Ｍ＋１），Ｎ｝へ第１番目〜第Ｍ番目のタイルに含まれるそれぞれの第１番目のラインブロックの画像データを格納すると共に、メモリブロック｛（Ｍ＋２），１｝〜｛（Ｍ＋２），Ｎ｝を前記次フレームバッファとして用い、メモリブロック｛１，Ｎ｝、｛２，Ｎ｝、・・・、｛（Ｍ−１），Ｎ｝を前記一時待機バッファとして用いるための第１状態のメモリマップと、
前記画像データバッファとして用いる、メモリブロック｛１，１｝〜｛１，Ｎ｝へ第１番目〜第Ｍ番目のタイルに含まれるそれぞれの第２番目のラインブロックの画像データを格納し、メモリブロック｛２，１｝〜｛２，Ｎ｝へ第１番目〜第Ｍ番目のタイルに含まれるそれぞれの第３番目のラインブロックの画像データを格納し、・・・、メモリブロック｛（Ｍ−１），１｝〜｛（Ｍ−１），Ｎ｝へ第１番目〜第Ｍ番目のタイルに含まれるそれぞれの第Ｎ番目のラインブロックの画像データを格納し、メモリブロック｛（Ｍ＋２），１｝〜｛（Ｍ＋２），Ｎ｝へ第１番目〜第Ｍ番目のタイルに含まれるそれぞれの第１番目のラインブロックの画像データを格納すると共に、メモリブロック｛（Ｍ＋１），１｝〜｛（Ｍ＋１），Ｎ｝を前記次フレームバッファとして用い、メモリブロック｛Ｍ，１｝〜｛Ｍ，（Ｎ−１）｝を前記一時待機バッファとして用いるための第２状態のメモリマップと、
を備え、
前記フレームメモリから１フレーム分の画像データを読み出すときと、前記フレームメモリに次のフレームの画像データを書き込むときで、前記第１状態のメモリマップと前記第２状態のメモリマップとを切り替える請求項１記載のエンコーダシステム。
【請求項４】
前記Ｍの値と前記Ｎの値が等しい請求項３記載のエンコーダシステム。
【請求項５】
前記フレームメモリ制御部は、
前記第１状態のメモリマップを使用して前記フレームメモリから１フレーム分の画像データをタイル単位で読み出す場合は、前記第２状態のメモリマップを使用して次のフレームの画像データを前記フレームメモリに格納する請求項３または４記載のエンコーダシステム。
【請求項６】
前記フレームメモリ制御部は、
前記第２状態のメモリマップを使用して前記フレームメモリから１フレーム分の画像データを前記タイル単位で読み出す場合は、前記第１状態のメモリマップを使用して次のフレームの画像データを前記フレームメモリに格納する請求項３または４記載のエンコーダシステム。
【国際調査報告】
2008136319.tif 000007
2008136319.tif 000008