(57)【要約】【課題】  ＪＰＥＧなどの画像信号の符号化処理システムでは、大容量の８ライン分のバッファメモリが２個必要となり、装置が大型化するとともに、価格も高いものとなっていた従来の問題を解決したラスタ／ブロック変換用のバッファメモリシステムを提供する。【解決手段】  １個のバッファメモリと１個のアドレス発生回路とを備え、該バッファメモリは、所定のライン数までの画像信号を格納できるメモリであり、該アドレス発生回路は、所定のアドレス算出アルゴリズムに基づいて、該バッファメモリに所定のライン数の画素信号をラスタ順序で書き込むためのアドレスと、該バッファメモリから書き込まれた該画素信号を所定のブロック単位で読み出すためのアドレスと、該読み出しの完了したメモリ領域に順次、次の所定のライン数の画素信号をラスタ順序で書き込むためのアドレスと、を発生させることのできるアドレス発生回路である。【選択図】      図１
2007053536.tif 000002
【特許請求の範囲】
【請求項１】
１個のバッファメモリと１個のアドレス発生回路とを備え、該バッファメモリは、所定のライン数までの画像信号を格納できるメモリであり、該アドレス発生回路は、所定のアドレス算出アルゴリズムに基づいて、該バッファメモリに所定のライン数の画素信号をラスタ順序で書き込むためのアドレスと、該バッファメモリから書き込まれた該画素信号を所定のブロック単位で読み出すためのアドレスと、該読み出しの完了したメモリ領域に順次、次の所定のライン数の画素信号をラスタ順序で書き込むためのアドレスと、を発生させることのできるアドレス発生回路である、ラスタ／ブロック変換用のバッファメモリシステム。
【請求項２】
前記所定のライン数は、８本であり、前記所定のブロック単位は、水平８画素×垂直８画素である請求項１記載のラスタ／ブロック変換用のバッファメモリシステム。
【請求項３】
前記所定のアドレス算出アルゴリズムは、８の除算及び８の剰余算を含むことを特徴とする請求項１記載ラスタ／ブロック変換用のバッファメモリシステム。
【請求項４】
前記アドレス発生回路は、１つの乗算器と１つの加減算器とから構成される回路である請求項１記載のラスタ／ブロック変換用のバッファメモリシステム。
【請求項５】
請求項１記載のラスタ／ブロック変換用のバッファメモリシステムを有するＪＰＥＧ用の画像信号符号化システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バッファメモリシステムに関し、特に、ＪＰＥＧなどの画像信号の符号化処理装置におけるラスタ／ブロック変換用バッファメモリシステムに関する。
【背景技術】
【０００２】
従来、ＪＰＥＧなどの画像信号の符号化処理システムでは、図３に示された、いわゆるダブルバッファメモリシステムが使用されていた。ダブルバッファメモリシステムは、バッファメモリ１とバッファメモリ２とからなる２個の等価な８ライン分のバッファメモリと、アドレス発生回路と、から構成される。このバッファメモリの動作は、図４を参照して、以下のようにして行われる。まず、バッファメモリ１に、最初のラスタ順序の画像信号を書き込み、バッファメモリ２にも、次のラスタ順序の画像信号を書き込み、バッファメモリ２に書き込みを行っている間に、バッファメモリ１から水平8画素×垂直８画素のブロック単位で画像信号の読み出しを行う。この動作を画像信号の１フレームに渡って繰り返すことにより、所望のラスタ／ブロック変換が行われる。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、上記方法では、大容量、高速の８ライン分のバッファメモリが２個必要となり、装置が大型化するとともに、価格も高いものとなっていた。
【課題を解決するための手段】
【０００４】
本発明は、上記課題を解決するために、請求項１記載のように、１個のバッファメモリと１個のアドレス発生回路とを備え、該バッファメモリは、所定のライン数までの画像信号を格納できるメモリであり、該アドレス発生回路は、所定のアドレス算出アルゴリズムに基づいて、該バッファメモリに所定のライン数の画素信号をラスタ順序で書き込むためのアドレスと、該バッファメモリから書き込まれた該画素信号を所定のブロック単位で読み出すためのアドレスと、該読み出しの完了したメモリ領域に順次、次の所定のライン数の画素信号をラスタ順序で書き込むためのアドレスと、を発生させることのできるアドレス発生回路であるラスタ／ブロック変換用のバッファメモリシステムである。さらに、請求項２記載のように、前記所定のライン数は、８本であり、前記所定のブロック単位は、水平８画素×垂直８画素であるラスタ／ブロック変換用のバッファメモリシステムである。さらに、請求項３記載のように、前記所定のアドレス算出アルゴリズムは、８の除算及び８の剰余算を含むものであるラスタ／ブロック変換用のバッファメモリシステムである。さらに、請求項４記載のように、前記アドレス発生回路は、１つの乗算器と１つの加減算器とから構成される回路であるラスタ／ブロック変換用のバッファメモリシステムである。さらに、請求項５記載のように、上記ラスタ／ブロック変換用のバッファメモリシステムを有するＪＰＥＧ用の画像信号符号化システムである。
【発明の効果】
【０００５】
本発明のラスタ／ブロック変換用のバッファメモリシステムは、１個のバッファメモリと１個のアドレス発生回路とから構成される。また、該アドレス発生回路は、新規なアドレス算出アルゴリズムに基づいて構成されるため、１つの乗算器と１つの加減算器とから構成される。従って、メモリ容量を半減できるとともに、非常に少ないハードウェアリソースで所望のアドレス発生回路を構成でき、従来と同等なラスタ／ブロック変換用のバッファメモリ機能を提供できる。
【発明を実施するための最良の形態】
【０００６】
以下図面に従い、本発明の実施の形態について説明する。図１は、本発明に基づくＪＰＥＧなどの画像信号の符号化処理装置におけるラスタ／ブロック変換システム用のバッファメモリのブロック図を示す。図１を参照して、本発明のメモリシステムは、１個のバッファメモリとアドレス発生回路から構成される。該１個のバッファメモリは、所定ライン数までのラスタ順序画像信号を格納できるものである。該アドレス発生回路は、該バッファメモリへ／から画像信号を書き込み／読み出しを行うための所望のアドレス信号を発生できる。
【０００７】
図２は、該バッファメモリにラスタ順序の画像信号を書き込み、該バッファメモリからブロック順序の画像信号を読み出すための動作を示す。図２（ａ）を参照して、最初のラスタ順序の画像信号が、所定ライン数まで該バッファメモリに書き込まれる。この実施例では、所定ライン数は８本である。図２（ｂ）を参照して、バッファメモリに書き込まれた画像信号は、アドレス発生回路からのアドレスに基づいて、所定のブロック単位で読み出される。この実施例では、所定のブロック単位は、水平８画素×垂直８画素である。図２（ｃ）を参照して、バッファメモリに書き込まれた画像信号が所定のブロック単位で読み出された後、次のラスタ順序の画像信号が、読み出しの完了したメモリ領域に順次、書き込まれる。
【０００８】
この動作が画像信号の１フレームに渡って繰り返されるので、所望のラスタ／ブロック変換が行われる。
【０００９】
以下に、アドレス算出方法を詳述する。変数を定義する。これらはすべて符号無し整数である。
【００１０】
hpix  ：1ラインあたりの画素数
wadr  ：書き込みアドレス
radr  ：読み出しアドレス
incr  ：書き込み側加算値
incr_next  ：読み出し側加算値
また、wadr,radr,incr,incr_nextはhpixを超えない整数である。初期値は、
wadr=0,radr=0,incr=1,incr_next=hpix/8
1word書き込み毎に、次のように書き込みアドレスの更新を行う。
【００１１】
tmp_wadr=wadr+incr
wadr=(tmp_wadr%hpix)+(tmp_wadr/hpix)      …(1)
一方、読み出しアドレスも同様に、1word読み出し毎に更新を行う。
【００１２】
tmp_radr=radr+incr_next
radr=(tmp_radr%hpix)+(tmp_radr/hpix)      …(2)
8ラインの書き込みが完了した時点で、書き込み側加算値の更新を行う。
【００１３】
incr=incr_next
8ラインの読み出しが完了した時点で、読み出し側加算値の更新を行う。
【００１４】
tmp_incr=incr_next*hpix/8      …(3)
incr_next=(tmp_incr%hpix)+(tmp_incr/hpix)      …(4)
以上がアドレス算出方法である。
【００１５】
これらの計算はハードウェアでは以下のように簡単化できる。式(1)では、アドレスの最大値がhpixを超えないことを考慮すると、
if(tmp_wadr<hpix){
wadr=tmp_wadr;
}else{
wadr=tmp_wadr-hpix+1;
}
式(2)も同様に置き換えられる。また、式(3)(4)より、
incr_next=((incr_next*hpix/8)%hpix)+((incr_next*hpix/8)/hpix)
=((incr_next*hpix/8)%hpix)+(incr_next/8)      …(5)
この剰余計算は、以下のように簡単化できる。先ず、incr_next*hpixを考えると、
incr_next*hpix=hpix*{(incr_next%8)+(incr_next/8)<<3}
=hpix*(incr_next%8)+hpix*{(incr_next/8)<<3}
=hpix*(incr_next%8)+{hpix*(incr_next/8)}<<3
これを、８で割ると、
incr_next*hpix/8=hpix*(incr_next%8)/8+hpix*(incr_next/8)
これのhpixによる剰余は、hpix*(incr_next/8)がhpixの倍数であることから
(incr_next*hpix/8)%hpix=hpix*(incr_next%8)/8
従って、式(5)は、以下のように簡単化された。
【００１６】
incr_next=((incr_next%8)*hpix/8)+(incr_next/8)
ここで、８の除算及び剰余算はハードウェアではいずれも演算回路を要しないため、１つの乗算器と１つの加減算器で実現できる。
【００１７】
以上詳述したように、本発明によれば、１個のバッファメモリだけを用いて、非常に少ないハードウェアリソースで所定のアドレスを発生できるアドレス発生回路を有するラスタ／ブロック変換システム用バッファメモリシステムを提供できる。
【００１８】
なお、この実施例では、ＪＰＥＧのようなラスタ／ブロック変換システム用バッファメモリシステムについて説明したが、本発明はこれに限定されるものではなく、ラスタ／ブロック変換システム用バッファメモリが使用される任意の画像信号処理システムに適用可能であることはいうまでもない。
【図面の簡単な説明】
【００１９】
【図１】本発明に基づく、ＪＰＥＧなどの画像信号の符号化処理装置におけるラスタ／ブロック変換システム用のバッファメモリのブロック図を示す。
【図２】本発明のバッファメモリにラスタ順序の画像信号を書き込み、該バッファメモリからブロック順序の画像信号を読み出すための動作を示す。
【図３】従来の、ダブルバッファメモリ構成のラスタ／ブロック変換システム用のバッファメモリのブロック図を示す。
【図４】従来のダブルバッファメモリにラスタ順序の画像信号を書き込み、該バッファメモリからブロック順序の画像信号を読み出すための動作を示す。
【符号の説明】
【００２０】
なし
【図１】
2007053536.tif 000003
【図２】
2007053536.tif 000004
【図３】
2007053536.tif 000005
【図４】
2007053536.tif 000006