JP4906007B2 - エンコーダシステム - Google Patents

エンコーダシステム Download PDF

Info

Publication number
JP4906007B2
JP4906007B2 JP2009512939A JP2009512939A JP4906007B2 JP 4906007 B2 JP4906007 B2 JP 4906007B2 JP 2009512939 A JP2009512939 A JP 2009512939A JP 2009512939 A JP2009512939 A JP 2009512939A JP 4906007 B2 JP4906007 B2 JP 4906007B2
Authority
JP
Japan
Prior art keywords
memory
image data
frame
stored
tiles
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2009512939A
Other languages
English (en)
Other versions
JPWO2008136319A1 (ja
Inventor
英毅 入澤
芳浩 川崎
弘樹 檜原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Space Technologies Ltd
NEC Solutions Innovators Ltd
Original Assignee
NEC Space Technologies Ltd
NEC Solutions Innovators Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Space Technologies Ltd, NEC Solutions Innovators Ltd filed Critical NEC Space Technologies Ltd
Priority to JP2009512939A priority Critical patent/JP4906007B2/ja
Publication of JPWO2008136319A1 publication Critical patent/JPWO2008136319A1/ja
Application granted granted Critical
Publication of JP4906007B2 publication Critical patent/JP4906007B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • H04N19/64Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission
    • H04N19/647Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission using significance based coding, e.g. Embedded Zerotrees of Wavelets [EZW] or Set Partitioning in Hierarchical Trees [SPIHT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Description

本発明は画像データをJPEG2000方式により符号化するエンコーダシステムに関する。
JPEG(Joint Photographic Expert Group)2000は、JPEGよりも画質や圧縮率を向上させた符号化方式として知られている。
一般に、画像データを取得するイメージセンサからは、イメージセンサの読み取り方向である、画面の水平方向を構成するライン毎に、順次画像データが出力される。
一方、上記JPEG2000を採用したエンコーダシステムでは、タイルと呼ばれるJPEGに比べて大きい正方形状のブロック(例えば128画素×128ライン)単位で画像データの符号化処理が実行される。また、上記JPEG2000を採用したエンコーダシステムでは、イメージセンサの水平方向の画素数に対応して配列された複数のタイルで構成されるフレーム単位で、画像データをフレームメモリに一旦格納した後、先頭の画像データを含むタイルから順次読み出して符号化処理を実行する。
ここで、上述したようにフレームメモリには連続する画像データ列から成るライン毎に画像データが入力され、エンコーダシステムは上記タイル単位で符号化処理を実行するため、フレームに含まれる全ての画像データをフレームメモリに格納した後でなければ、先頭の画像データを含むタイルの符号化処理を実行することはできない。
また、従来のエンコーダシステムでは、連続して入力される画像データの符号化処理を途切れることなく実行するために、上記フレームメモリを2つ備え、一方のフレームメモリに格納されたフレームの画像データを読み出して符号化処理を実行している間に、他方のフレームメモリに次のフレームの画像データを格納する構成(ダブルバッファ構成)が採用されている。このようなダブルバッファ構成では、フレームメモリに対するアクセス待ちが無くなるため、符号化処理を高速に実行できる。
なお、このようなダブルバッファ構成を採用することで画像データの処理速度を向上させる手法は、画像データを符号化するエンコーダシステムに限らず表示装置等でも採用されている。例えば特開平9−68969号公報では、楽譜の画像データを表示するために、該画像データを保持するラインバッファに少なくとも2つのバッファメモリを備え、一方のバッファメモリから画像データを読み出しているときに、他方のバッファメモリに次に表示する画像データを格納することで、ラインバッファに対するアクセス待ちの時間を無くして、処理速度を向上させた画像制御装置が記載されている。
しかしながら上述したような従来のエンコーダシステムでは、フレームメモリに1フレームの画像データ量の2倍のメモリ容量が必要となるため、コストが上昇する問題がある。特にフレームメモリは高価であるため、フレームメモリの容量が大きくなると、エンコーダシステムを含む装置全体のコストが上昇してしまう。
そこで、本発明は、連続して入力される画像データの符号化処理を途切れることなく実行できると共に、フレームメモリのメモリ容量を低減することが可能なエンコーダシステムを提供することを目的とする。
上記目的を達成するため本発明のエンコーダシステムは、画像データを符号化するエンコーダシステムであって、
複数の前記画像データで構成されるタイル単位で、一時的に格納された前記画像データが読み出される、複数の前記タイルの画像データが格納可能なフレームメモリと、
前記フレームメモリから前記符号化するフレームの画像データを前記タイル単位で読み出すと共に、該画像データが読み出された前記フレームメモリのメモリ領域へ次のフレームの1タイル相当量の単位で画像データを格納するフレームメモリ制御部と、
を有する。
上記のような構成では、フレームメモリ制御部によってタイル単位でフレームメモリから符号化する画像データを読み出すと共に、該画像データが読み出されたフレームメモリのメモリ領域へ次のフレームの1タイル相当量の画像データを格納するため、フレームメモリには、1フレーム分の画像データを格納するためのメモリ領域に加えて、フレームメモリから画像データを読み出す前に次のフレームの画像データ(1タイル相当量)が書き込まれるのを防止するために必要な最低限(2タイル分)のバッファメモリを備えていればよい。
したがって、従来のエンコーダシステムのように1フレームの画像データ量の2倍のメモリ容量を持つフレームメモリを用いることなく、連続して入力される画像データの符号化処理を途切れることなく実行できると共に、フレームメモリのメモリ容量を低減することが可能になる。
図1は本発明のエンコーダシステムの一構成例を示すブロック図である。 図2は本発明のエンコーダシステムで用いるメモリマップの一構成例を示す模式図である。 図3は図2に示したメモリマップを用いたフレームメモリに対する画像データの読み出し/書き込み動作を示す模式図である。 図4は本発明のエンコーダシステムに要求される、フレームメモリに対する画像データの読み出し速度及び書き込み速度の関係を示す模式図である。
次に本発明について図面を参照して説明する。
図1は本発明のエンコーダシステムの一構成例を示すブロック図である。
図1に示すように、本発明のエンコーダシステムは、イメージセンサ1及びJPEG2000エンコーダ10を有する構成である。
JPEG2000エンコーダ10は、フレームメモリ制御部2、タイルバッファメモリ3、ウェーブレット(wavelet)変換部4、係数ビットモデリング部5、算術符号化部6及びフレームメモリ7を備えている。
イメージセンサ1には、例えばラインセンサ方式が用いられ、1画素あたりNビットの分解能を持つ画像データ(グレースケールデータ)が出力される。イメージセンサ1から出力された画像データは、フレームメモリ制御部2によってフレームメモリ7に格納される。
フレームメモリ制御部2は、フレームメモリ7に対する画像データの書き込み処理及び読み出し処理を制御する。本実施形態のフレームメモリ制御部2は、複数のタイルにまたがるライン単位でイメージセンサ1から出力された画像データをフレームメモリ7に書き込むと共に、フレームメモリ7からタイル単位で画像データを読み出し、読み出した画像データをタイルバッファ3に格納する。
タイルバッファメモリ3は、ウェーブレット変換部4による処理のためにフレームメモリ7から画像データを読み出す際に用いるバッファメモリである。フレームメモリ制御部2によってフレームメモリ7から読み出された画像データはタイルバッファメモリ3で一旦保持された後、ウェーブレット変換部4へ転送される。なお、フレームメモリ7に対するアクセス速度を重視する場合はタイルバッファメモリ3を上述したダブルバッファ構成としてもよい。
ウェーブレット変換部4は、タイルバッファメモリ3からタイル単位で画像データを読み出し、該画像データをウェーブレット変換した後、その処理したデータを係数ビットモデリング部5へ出力する。
係数ビットモデリング部5は、ウェーブレット変換部4から出力されたデータに周知の係数ビットモデリング処理を施し、算術符号化部6へ出力する。
算術符号化6は、係数ビットモデリング部5から出力されたデータを算術符号化し、符号データとして出力する。
ウェーブレット変換部4、係数ビットモデリング部5及び算術符号化6は、JPEG2000の符号化処理を実現するためのものであり、当業者に知られた構成であるため、ここでは詳細な説明は省略する。
フレームメモリ7は、イメージセンサ1から出力された画像データが一時的に格納されるメモリである。本発明のエンコーダシステムでは、フレームメモリ7に、複数タイル分のデータ容量を備えた、1フレーム分の画像データが格納される画像データバッファ71と、次のフレームの1タイルのデータ量に相当する複数のラインの画像データが格納されるメモリ領域である図3に示される次フレーム用バッファ72と、前のフレームから最後に読み出されたタイルの画像データが格納される図3に示される一時待機バッファ73とを備えている。このような構成では、次フレーム用バッファ72に次のフレームの先頭の1タイル分のデータ量に相当する複数ラインの画像データが格納されるため、画像データバッファ71に次のフレームの画像データを格納するとき、1フレーム分の画像データの書き込み期間だけアクセスされないメモリ領域が発生する。一時待機バッファ73は、このアクセスされない期間が発生するメモリ領域であり、次のフレームの最後に読み出されるタイルの画像データが格納される。
このように本発明のエンコーダシステムでは、フレームメモリ7に、1フレームの画像データを格納するための画像データバッファ71以外に2タイル相当量の画像データを一時的に保持するためのバッファ(次フレーム用バッファ72及び一時待機バッファ73)を備えている。但し、実際に次フレーム用バッファ72として用いるのは1タイル相当量の画像データを保持するメモリ空間だけであり、残りの1タイル相当量のバッファが一時待機バッファ73として用いられる。
上述したように、従来のエンコーダシステムは、フレームメモリがダブルバッファ構成であるため、一方のバッファメモリに格納された1フレーム分の画像データをウェーブレット変換部4、係数ビットモデリング部5及び算術符号化部6にて処理すると共に、他方のバッファメモリへ次のフレームの画像データを書き込むことが可能である。一方、本実施形態のエンコーダシステムでは、フレームメモリ7からタイルバッファメモリ3にタイル単位で画像データが読み出される度に、該画像データが読み出されたフレームメモリ7のメモリ領域へイメージセンサ1から出力された次のフレームの1タイル相当量の画像データを格納する。また、本発明のエンコーダシステムは、図2に示すようにフレームメモリ制御部2にフレームメモリ7のメモリマップを2種類(第1状態、第2状態)備え、フレームメモリ7から1フレーム分の画像データを読み出すときとフレームメモリ7に次のフレームの画像データを書き込むときでメモリマップを切り替える。例えば、図2に示す第1状態のメモリマップを用いてフレームメモリ7から画像データを読み出す場合は、フレームメモリ7から1フレーム分の画像データをタイル単位で読み出しつつ、図2に示す第2状態のメモリマップを用いて次のフレームの画像データを複数タイルにまたがるライン単位でフレームメモリ7に格納する。また、図2に示す第2状態のメモリマップを用いてフレームメモリ7から画像データを読み出す場合は、フレームメモリ7から1フレーム分の画像データをタイル単位で読み出しつつ、図2に示す第1状態のメモリマップを用いて次のフレームの画像データを複数タイルにまたがるライン単位でフレームメモリ7に格納する。
図2は1フレームが8つのタイルで構成されているときの2つの状態のメモリマップをそれぞれ示している。図2に示すメモリマップを参照することで、1フレームの画像データのうち、ある画素データがどのアドレス領域に格納されるかを2つの状態のメモリマップを用いることで知ることが可能である。また、図3は本発明のエンコーダシステムのメモリアクセスの手順を示す模式図である。図2において矩形形状で示される各アドレス領域(以下、メモリブロックと称す)の左側の表記は、図4におけるアドレス領域へのアクセスの対応を示すためのラベルである。
次に、本発明のエンコーダシステムの動作について、図2、図3および図4を用いて説明する。
以下では、1タイルの大きさを128画素×128ラインとし、1フレームが8タイルで構成され、フレームメモリ7の1つのアドレス領域に対して2画素分の画像データが格納される場合を例にして本発明のエンコーダシステムの動作を説明する。
本発明のエンコーダシステムは、フレームメモリ制御部2に、図2に示す第1状態及び第2状態のフレームメモリ7のメモリマップを備え、画像データの読み出しまたは書き込みに応じて第1状態または第2状態のメモリマップを使い分ける。ここでは、メモリマップを使い分けるアドレス空間の最小単位を400hとし、このアドレス空間に128画素×16ラインの画像データを1アドレスあたり2画素分のデータを割り当てて格納する場合を説明する。
図2および図3の矩形形状で示す各領域は、128画素×16ラインの画像データを1アドレスあたり2画素分のデータを割り当てて格納可能なアドレス空間400hを示している。図3に示す各メモリブロックに記載されたアドレス領域は図2に示した第1状態及び第2状態のメモリマップに対応している。各メモリブロックには、128画素×16ラインの画像データが書き込まれる。但し、アドレス0FC00h-0FFFFhのメモリブロックは、画像データの書き込み及び読み出しが行われない不使用領域である。
図2のメモリブロック内には、フレームの先頭ラインの番号を「1」としたときの各ラインの番号が記載され、それに続く括弧内には8つのタイルで構成されるフレームの先頭タイルの番号を「1」としたときの各タイルの番号が記載されている。例えば、"ライン65−80(2/8)"と記載されたメモリブロックには、ライン番号が65から80までのラインの画像データのうち、第2番目のタイルの画像データが格納されることを示している。
以下では、第1状態のメモリマップを使用してフレームメモリ7に1フレーム分の画像データを書き込み後にタイル単位で読み出し、第2状態のメモリマップを使用して次のフレームの画像データをフレームメモリ7に格納してから読み出す動作を繰り返す手法について説明する。
まず、フレームメモリ制御部2は、第1状態のメモリマップを用いて1024画素×128ラインで構成される1フレーム分の画像データを図3に示す画像データバッファ71に格納する。
このとき、図2の第1状態のメモリマップにおいては、まずライン1からライン16までの画像データはアドレス10000hから11CFFhのメモリ空間に割り当てられ、その後の17ライン以降の画像データはアドレス00000hから0FBFFhまでのメモリ空間に規則的に割り当てられる。ライン1からライン128までの全ての画像データがメモリ内に格納された状態が、1フレームの画像データが全てフレームメモリ7に格納された状態である。
このとき、アドレス01C00hから01FFFh、03C00hから03FFFh、05C00hから05FFFh、07C00hから07FFFh、09C00hから09FFFh、0BC00hから0BFFFh、0DC00hから0DFFFh、0FC00hから0FFFFhまでのメモリブロックは、第1状態のメモリマップでは何も格納されないメモリ領域であり、本明細書では便宜的に一時待機バッファと呼ぶ(図2、図3)。特にアドレス0FC00hから0FFFFhのメモリブロックについては後述する第2状態でも使用されない不使用領域である。
次に、次フレームのデータが休むことなく入力される場合を考える。
このとき、先にフレームメモリ7に書き込まれたフレームの画像データは、読み出されていない状態または読み出し中の状態にある。また、第1状態のアドレス12000hから13FFFhまでの各メモリブロックは何も画像データが格納されていない領域であり、16ライン相当量(=1タイル相当量)の画像データが格納可能である。
そのため、メモリマップを第1状態から第2状態に切り替えてから、上記アドレス12000hから13FFFhまでの各メモリブロック(アドレス12000h-123FFh、12400h-127FFh、12800h-12BFFh、12C00h-12FFFh、13000h-133FFh、13400h-137FFh、13800h-13BFFh及び13C00h-13FFFh)に次のフレームの画像データの書き込みを開始すれば、ライン1からライン16までを休むことなく画像データをフレームメモリ7に格納することが可能である。
このアドレス12000hから13FFFhまでの各メモリブロックは、1フレーム相当量よりも余分に用意すべきメモリ空間であり、第1状態の空きメモリ空間と見なすことが可能である。本明細書ではこの空きメモリ空間を便宜的に第1状態の次フレームバッファと呼ぶ(図2、図3)。
1フレームの画像データ格納後のフレームメモリ7からの画像データの読み出しはタイル毎に行われる。すなわち、フレームメモリ7内における先頭画素(最初に書き込まれた画素)を含むタイルをタイル1とし第1状態のメモリマップを用いれば、タイル1とは、図2のメモリブロック内に"(1/8)"と記載されている8つのメモリブロック(アドレス10000h-103FFh、00000h-003FFh、00400h-007FFh、00800h-00BFFh、00C00h-00FFFh、01000h-013FFh、01400h-017FFh、01800h-01BFFh)の組み合わせとなる。これらを全て読み出し、タイルバッファメモリ3に格納すると、アドレス00000hから01FFFhの間の各メモリブロックに書き込み可能となる。
すなわち、第1状態のメモリマップを用いて上記タイル1の画像データが読み出されたとき、同時にまたは若干遅れて次のフレームのライン1からライン16までの画像データが第2状態のメモリマップを用いてアドレス12000hから13FFFhまでの各メモリブロックに格納される。
続いて、連続して格納すべきライン17からライン32の画像データを、第1状態のメモリマップを用いて読み出された、タイル1が格納されていたメモリ領域と一時待機バッファが備える一部のメモリブロック(アドレス00000h-003FFh、00400h-007FFh、00800h-00BFFh、00C00h-00FFFh、01000h-013FFh、01400h-017FFh、01800h-01BFFh、及びアドレス01C00h-01FFFh)に格納する。これと同時に第2番目のタイルの画像データの読み出しを行う。
第2番目のタイルの画像データを読み出しが終了すると、フレームメモリ制御部2は、第2状態のメモリマップを用いて次のフレームのライン33〜48の画像データを、開放されたタイル(ここでは、アドレス02000h-023FFh、02400h-027FFh、02800h-02BFFh、02C00h-02FFFh、03000h-033FFh、03400h-037FFh、03800h-03BFFh)及び一時待機バッファ73(ここでは、アドレス03C00h-03FFFh)へ格納する。
以下、同様にして、フレームメモリ制御部2は、第1状態のメモリマップを用いて、タイル単位で画像データバッファ71から画像データを読み出してタイルバッファメモリ3へ格納し、タイルバッファメモリ3に画像データを読み出すことで開放されたメモリブロックに、第2状態のメモリマップを用いて次のフレームの画像データを16ライン単位でライン128まで順次格納する。
この第2状態のメモリマップを用いた画像データの書き込み時、ライン17からライン128の画像データは、第1状態のメモリマップとは異なる規則性をもって格納される。
この異なる規則性によって、上述の第1状態のメモリマップを用いた画像データの読み出しと第2状態のメモリマップを用いた画像データの書き込みの同時処理終了後に、連続して入力される次のフレームに対して、第2状態のメモリマップを用いた画像データの読み出しと第1状態のメモリマップを用いた画像データの書き込みの同時処理を行うことが可能となる。
第2状態のメモリマップでは、次フレーム用バッファ72がアドレス10000hから11FFFhまでの8つのメモリブロックで構成され、一時待機バッファはアドレス0E000hから0FFFFhの各メモリブロックで構成される。特にアドレス0FC00hから0FFFFhのメモリブロックについては第1状態のメモリマップでも使用されない前述の不使用領域である。
第2状態のメモリマップを用いたフレーム画像データの書き込みが終わり、同メモリマップを用いて画像データバッファ71からタイル1の画像データを読み出す場合、次フレームの1ラインから16ラインの格納には、次フレーム用バッファ72としてアドレス10000h-103FFh、10400h-107FFh、10800h-10BFFh、10C00h-10FFFh、11000h-113FFh、11400h-117FFh、11800h-11BFFh及び11C00h-11FFFhのメモリブロックが用いられ、次フレームの1ラインから16ラインの書き込みが行われる。
タイル1の読み出し後にフレームメモリ制御部2は、第1状態のメモリマップを用いて第2番目のタイル(ここでは、アドレス10400h-107FFh、02000h-023FFh、02400h-027FFh、02800h-02BFFh、02C00h-02FFFh、03000h-033FFh、03400h-037FFh、03800h-03BFFh)の画像データを読み出しタイルバッファメモリ3に格納すると共に、第2状態のメモリマップを用いてフレームメモリ7に次のフレームのライン17〜32の画像データを格納する。
以降、同様にして1タイル単位の画像データの読み出しと、次のフレームの16ライン単位の画像データの書き込みが同時にまたは若干遅れて繰り返し実行される。
以上の処理を繰り返すことで、データ消失なく連続フレームの画像データのフレームメモリを介した転送が可能となる。
このとき、ウェーブレット変換部4、係数ビットモデリング部5及び算術符号化部6による1タイルの画像データに対する処理速度が十分に速く、図4に示すようにフレームメモリ7に対する次のフレームの画像データの書込み処理よりもタイルバッファメモリ3への読出し処理が速いことが、次のフレームの画像データをフレームメモリ7へ連続して書き込むための条件となる。
なお、図4は、第1状態のメモリマップを用いてフレームメモリ7から画像データを読み出し、第2状態のメモリマップを用いて次のフレームの画像データをフレームメモリ7に格納する場合の書き込み処理及び読み出し処理の様子を示している。各メモリブロック内の数値は、図2の各メモリブロックの左側に示されるラベルに対応している。本実施形態のエンコーダシステムでは、図1に示したウェーブレット変換部4及び係数ビットモデリング部5及び算術符号化部6の処理速度が、イメージセンサ1から画像データが入力される速度よりも高速なときに、メモリ書き込みアドレスとメモリ読み出しアドレスが衝突することなく、連続して入力される画像データの符号化処理が可能である。
このように第1状態のメモリマップを用いてフレームメモリ7から画像データを読み出し、第2状態のメモリマップを用いて次のフレームの画像データを書き込むことで、連続するフレームの画像データを書込み/読み出す場合でも、同一のアドレス領域への書き込みは必ず読み出された後に行われるため、タイルバッファメモリ3へ読み出す前にフレームメモリ7の画像データが上書きされることが無い。
また、第1状態のメモリマップを用いた第1番目のフレームの画像データのフレームメモリ7からの読み出し処理と第2状態のメモリマップを用いた第2番目のフレームの画像データのフレームメモリ7への書き込み処理を同時に実行し、続いて第2状態のメモリマップを用いた第2番目のフレームの画像データのフレームメモリ7からの読み出し処理と第1状態のメモリマップを用いた第3番目のフレームの画像データのフレームメモリ7への書き込み処理を同時に実行し、以降、同様にして連続して入力されるフレーム毎に2つのメモリマップを切り替えつつ画像データの読み出しと書き込みの同時処理を繰り返し実行することで、フレームメモリ7に対するアクセス待ちが発生することなく、連続して入力されるフレームの画像データに対する符号化処理を実行できる。
また、1ラインの画素数が1024(8タイル)に満たない場合は、第1状態のメモリマップに基づく先頭アドレスを10000hとするのではなく、例えば512画素の場合は、5番目のタイルの先頭アドレス(11400h)から書き込みを開始すればよい。このようにすることで、イメージセンサ1のライン幅が8タイル未満の場合でも上記と同様に処理すれば、タイルバッファメモリ3へ読み出す前にフレームメモリ7の画像データが上書きされることが無い。
さらに、上記説明では、フレームが水平方向及び垂直方向にそれぞれ8つのメモリブロックに分割された例を示しているが、本発明は、フレームの水平方向及び垂直方向の分割数をそれぞれ4、16、32、・・・等に設定してもよく、水平方向と垂直方向の分割数がそれぞれ等しければ上記と同様の効果を得ることができる。その場合も、上述した第1状態のメモリマップ及び第2状態のメモリマップをそれぞれ生成し、それらのメモリマップをフレームメモリ7に対する画像データの読み出しまたは書き込みに応じて用いればよい。
なお、第1状態及び第2状態のメモリマップは、以下のように生成すればよい。
まず、1フレームが水平方向に配列されたM(Mは正の整数、例えばM=4、8、16、・・・)個のタイルで構成され、さらに各タイルが垂直方向にN(Nは正の整数)個に分割されて、ライン数が等しいラインブロック単位でメモリブロックに格納されるものとする。
ここで、xをM+2以下の正の整数とし、yをN以下の正の整数として、各メモリブロックを符号{x,y}で表すとき、第1状態のメモリマップは、メモリブロック{1,1}〜{1,(N−1)}へ第1番目のタイルに含まれる第2番目から第N番目のラインブロックの画像データを格納し、メモリブロック{2,1}〜{2,(N−1)}へ第2番目のタイルに含まれる第2番目から第N番目のラインブロックの画像データを格納し、・・・、メモリブロック{M,1}〜{M,(N−1)}へ第M番目のタイルに含まれる第2番目から第N番目のラインブロックの画像データを格納し、メモリブロック{(M+1),1}〜{(M+1),N}へ第1番目〜第M番目のタイルに含まれるそれぞれの第1番目のラインブロックの画像データを格納するためのものである。
但し、メモリブロック{(M+2),1}〜{(M+2),N}は次フレームバッファ72として用い、メモリブロック{1,N}、{2,N}、・・・、{(M−1),N}は一時待機バッファ73として用いる。メモリブロック{M,N}は不使用領域とする。
一方、第2状態のメモリマップは、メモリブロック{1,1}〜{1,N}へ第1番目〜第M番目のタイルに含まれるそれぞれの第2番目のラインブロックの画像データを格納し、メモリブロック{2,1}〜{2,N}へ第1番目〜第M番目のタイルに含まれるそれぞれの第3番目のラインブロックの画像データを格納し、・・・、メモリブロック{(M−1),1}〜{(M−1),N}へ第1番目〜第M番目のタイルに含まれるそれぞれの第N番目のラインブロックの画像データを格納し、メモリブロック{(M+2),1}〜{(M+2),N}へ第1番目〜第M番目のタイルに含まれるそれぞれの第1番目のラインブロックの画像データを格納するためのものである。
但し、メモリブロック{(M+1),1}〜{(M+1),N}は次フレームバッファ72として用い、メモリブロック{M,1}〜{M,(N−1)}は一時待機バッファ73として用いる。メモリブロック{M,N}は不使用領域とする。
このようにして生成した2つのメモリマップをフレーム毎に切り替える操作により、第1状態のメモリマップを用いた読み出しと第2状態のメモリマップを用いた書き込みの同時処理と、第2状態のメモリマップを用いた読み出しと第1状態のメモリマップを用いた書き込みの同時処理とを実現する。なお、本発明では、上記M及びNを等しい値に設定する。
本発明によれば、フレームメモリ制御部2によってフレームメモリ7からタイル単位で符号化のために画像データを読み出すと共に、該画像データが読み出されたフレームメモリ7のメモリ領域へ次のフレームの複数のラインで構成される1タイル相当量の画像データを格納するため、フレームメモリ7には、複数のタイルで構成される1フレーム分の画像データを格納するためのメモリ領域に加えて、フレームメモリから画像データを読み出す前に次のフレームの1タイル相当量の画像データが上書きされるのを防止するために必要な最低限(2タイル分)のバッファを備えていればよい。
したがって、従来のエンコーダシステムのように1フレームの画像データ量の2倍のメモリ容量を持つフレームメモリを用いることなく、連続して入力される画像データの符号化処理を途切れることなく実行できると共に、フレームメモリのメモリ容量を低減することが可能になる。
また、従来のエンコーダシステムでは、コストの増大を考慮してフレームメモリ7をJPEGエンコーダの外部に設ける場合があったが、本発明ではフレームメモリ7のメモリ容量を低減できるため、フレームメモリ7を、JPEG2000エンコーダ10を含むLSI等に実装することが可能になる。また、フレームメモリ7をLSIの外部に設ける場合でも、より小さなメモリ容量のフレームメモリ7を用いることができるため、エンコーダシステムのコストを低減できる。例えば、従来は16タイル分のメモリ容量が必要であったフレームメモリ7が、本発明では10タイル分の容量で済むため、メモリ容量が37.5%削減される。
本発明のエンコーダシステムでは、例えば1タイルの大きさを128画素×128ラインとし、1フレームの水平方向の画素数を128画素×8タイル=1024とした場合、従来のエンコーダシステムではフレームメモリ7に2フレーム分のメモリ容量が必要であったが、本発明では5/4フレーム分のメモリ容量で従来のJPEG2000エンコーダと同じ性能が達成できる。
なお、本発明のエンコーダシステムは、コンピュータ、あるいは論理回路等から構成されるLSI(Large Scale Integration)やDSP(Digital Signal Processor)等の半導体集積回路装置及びメモリ等によって実現することが可能である。
この出願は、2007年04月27日に出願された特願2007−118867号を基礎とする優先権を主張し、その開示の全てをここに取り込む。

Claims (5)

  1. 画像データを符号化するエンコーダシステムであって、
    複数の前記画像データで構成されるタイル単位で、一時的に格納された前記画像データが読み出される、複数の前記タイルの画像データが格納可能なフレームメモリと、
    前記フレームメモリから前記符号化するフレームの画像データを前記タイル単位で読み出すと共に、該画像データが読み出された前記フレームメモリのメモリ領域へ次のフレームの1タイル相当量の単位で画像データを格納するフレームメモリ制御部と、
    を有し、
    前記フレームメモリは、
    1フレーム分の前記画像データが格納されるメモリ領域である画像データバッファと、
    次のフレームの1タイルのデータ量に相当する複数のラインの画像データが格納されるメモリ領域である次フレーム用バッファと、
    前のフレームから最後に読み出されたタイルの前記画像データが格納される一時待機バッファと、
    を備え、
    前記フレームメモリ制御部は、
    前記フレームメモリのメモリマップを2種類備え、
    前記フレームメモリから1フレーム分の画像データを読み出すときと、前記フレームメモリに次のフレームの画像データを書き込むときで、メモリマップを切り替えるエンコーダシステム。
  2. 前記フレームメモリ制御部は、
    M、Nを正の整数とし、xをM+2以下の正の整数とし、yをN以下の正の整数としたとき、
    前記フレームが水平方向に配列されたM個のタイルで構成され、さらに前記タイルが垂直方向にN個に分割されて、ライン数が等しいラインブロック単位でメモリブロックに格納され、前記メモリブロックが符号{x,y}で表される場合、
    前記画像データバッファとして用いる、メモリブロック{1,1}〜{1,(N−1)}へ第1番目のタイルに含まれる第2番目から第N番目のラインブロックの画像データを格納し、メモリブロック{2,1}〜{2,(N−1)}へ第2番目のタイルに含まれる第2番目から第N番目のラインブロックの画像データを格納し、・・・、メモリブロック{M,1}〜{M,(N−1)}へ第M番目のタイルに含まれる第2番目から第N番目のラインブロックの画像データを格納し、メモリブロック{(M+1),1}〜{(M+1),N}へ第1番目〜第M番目のタイルに含まれるそれぞれの第1番目のラインブロックの画像データを格納すると共に、メモリブロック{(M+2),1}〜{(M+2),N}を前記次フレームバッファとして用い、メモリブロック{1,N}、{2,N}、・・・、{(M−1),N}を前記一時待機バッファとして用いるための第1状態のメモリマップと、
    前記画像データバッファとして用いる、メモリブロック{1,1}〜{1,N}へ第1番目〜第M番目のタイルに含まれるそれぞれの第2番目のラインブロックの画像データを格納し、メモリブロック{2,1}〜{2,N}へ第1番目〜第M番目のタイルに含まれるそれぞれの第3番目のラインブロックの画像データを格納し、・・・、メモリブロック{(M−1),1}〜{(M−1),N}へ第1番目〜第M番目のタイルに含まれるそれぞれの第N番目のラインブロックの画像データを格納し、メモリブロック{(M+2),1}〜{(M+2),N}へ第1番目〜第M番目のタイルに含まれるそれぞれの第1番目のラインブロックの画像データを格納すると共に、メモリブロック{(M+1),1}〜{(M+1),N}を前記次フレームバッファとして用い、メモリブロック{M,1}〜{M,(N−1)}を前記一時待機バッファとして用いるための第2状態のメモリマップと、
    を備え、
    前記フレームメモリから1フレーム分の画像データを読み出すときと、前記フレームメモリに次のフレームの画像データを書き込むときで、前記第1状態のメモリマップと前記第2状態のメモリマップとを切り替える請求項1記載のエンコーダシステム。
  3. 前記Mの値と前記Nの値が等しい請求項3記載のエンコーダシステム。
  4. 前記フレームメモリ制御部は、
    前記第1状態のメモリマップを使用して前記フレームメモリから1フレーム分の画像データをタイル単位で読み出す場合は、前記第2状態のメモリマップを使用して次のフレームの画像データを前記フレームメモリに格納する請求項3または4記載のエンコーダシステム。
  5. 前記フレームメモリ制御部は、
    前記第2状態のメモリマップを使用して前記フレームメモリから1フレーム分の画像データを前記タイル単位で読み出す場合は、前記第1状態のメモリマップを使用して次のフレームの画像データを前記フレームメモリに格納する請求項3または4記載のエンコーダシステム。
JP2009512939A 2007-04-27 2008-04-23 エンコーダシステム Active JP4906007B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009512939A JP4906007B2 (ja) 2007-04-27 2008-04-23 エンコーダシステム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2007118867 2007-04-27
JP2007118867 2007-04-27
JP2009512939A JP4906007B2 (ja) 2007-04-27 2008-04-23 エンコーダシステム
PCT/JP2008/057813 WO2008136319A1 (ja) 2007-04-27 2008-04-23 エンコーダシステム

Publications (2)

Publication Number Publication Date
JPWO2008136319A1 JPWO2008136319A1 (ja) 2010-07-29
JP4906007B2 true JP4906007B2 (ja) 2012-03-28

Family

ID=39943431

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009512939A Active JP4906007B2 (ja) 2007-04-27 2008-04-23 エンコーダシステム

Country Status (2)

Country Link
JP (1) JP4906007B2 (ja)
WO (1) WO2008136319A1 (ja)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10341351A (ja) * 1997-06-06 1998-12-22 Canon Inc データ処理方法および装置
JP4015890B2 (ja) * 2002-06-28 2007-11-28 松下電器産業株式会社 画素ブロックデータ生成装置および画素ブロックデータ生成方法

Also Published As

Publication number Publication date
WO2008136319A1 (ja) 2008-11-13
JPWO2008136319A1 (ja) 2010-07-29

Similar Documents

Publication Publication Date Title
JP6066557B2 (ja) データ記憶制御装置、データ記憶装置、データ記憶方法、圧縮回路、および圧縮方法
CN106846255B (zh) 图像旋转实现方法及装置
JP5359569B2 (ja) メモリのアクセス方法
JP6679290B2 (ja) 半導体装置
WO2006129518A1 (ja) メモリアクセス方法
US20110032262A1 (en) Semiconductor integrated circuit for displaying image
JP2005102144A (ja) Mpegのデータ処理装置
JP4906007B2 (ja) エンコーダシステム
JP2005102168A (ja) 画像処理装置及び画像処理方法
US7386179B2 (en) Encoding apparatus and method, and decoding apparatus, method and program
KR101585209B1 (ko) 디스플레이 제어기
JP2001285644A (ja) ラインメモリの制御方法
US8359446B2 (en) Method for processing data using triple buffering
CN108769697B (zh) 基于时间交织流水线架构的jpeg-ls压缩系统及方法
US20060072840A1 (en) Conversion device for performing a raster scan conversion between a JPEG decoder and an image memory
JPH11306343A (ja) 2次元データ回転処理装置
JP5343707B2 (ja) 画像処理装置
KR100846791B1 (ko) 비디오 데이터 저장 방법 및 장치
JP3302531B2 (ja) 画像処理装置のライン変換回路
JP3167684B2 (ja) 小画面のためのコンテキスト発生回路及びその方法
JPH0383470A (ja) 画像符号化/復号化方式
JP2006352451A (ja) 画像処理装置
JPH0352714B2 (ja)
JP2012134669A (ja) 画像処理装置、画像処理方法
JP6084000B2 (ja) 画像処理装置

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111213

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120105

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150120

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4906007

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250