JP2010141771A - 画像処理装置および方法 - Google Patents

画像処理装置および方法 Download PDF

Info

Publication number
JP2010141771A
JP2010141771A JP2008318037A JP2008318037A JP2010141771A JP 2010141771 A JP2010141771 A JP 2010141771A JP 2008318037 A JP2008318037 A JP 2008318037A JP 2008318037 A JP2008318037 A JP 2008318037A JP 2010141771 A JP2010141771 A JP 2010141771A
Authority
JP
Japan
Prior art keywords
data
image
line
read
difference data
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.)
Granted
Application number
JP2008318037A
Other languages
English (en)
Other versions
JP5245794B2 (ja
Inventor
Yasuhiro Watabe
康弘 渡部
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2008318037A priority Critical patent/JP5245794B2/ja
Publication of JP2010141771A publication Critical patent/JP2010141771A/ja
Application granted granted Critical
Publication of JP5245794B2 publication Critical patent/JP5245794B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Image Processing (AREA)
  • Storing Facsimile Image Data (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

【課題】画面内の任意の位置へのアクセスが発生する画像処理装置において、メモリバス帯域を削減することのできる画像処理装置を提供する。
【解決手段】画像のライトリクエストが発行されると、画像を間引き等により縮小し、縮小画像をメモリに格納する。また、縮小画像を線形補完等により拡大して、元画像との差分データを得る。この差分データをライン単位と矩形単位で、圧縮し、メモリに格納する。画像のリードリクエストは、ライン単位あるいは矩形単位で行われ、リードリクエストのあるラインあるいは矩形を含むライン単位あるいは矩形単位の差分データと、リクエストのあるラインあるいは矩形を含む圧縮が画像を読出し、拡大、展開して、加算し、要求された画像データを得る。
【選択図】図4

Description

本発明は、画像処理装置及びその方法に関する。
ハイビジョン放送、大容量光ディスクなどの普及により、画像処理LSI の扱う画像は大画面化が進み、機能も益々高度になってきている。大画面化、高機能化が進むにつれて、画像処理LSI が使用するメモリ容量およびメモリバス帯域は増加の一途を辿っている。
小容量のメモリで大画面の画像データを処理するための従来技術として、縮小画像と圧縮差分データでメモリへの格納を行う手法(特許文献1)がある。縮小画像は、元画像を間引いて作成し、差分データは、縮小画像を再び拡大した画像と元画像の差分をとったものとする。元画像から縮小画像を生成し、これを再び拡大すると、元画像に比べ情報量が落ちるので、画質が落ちてしまう。そこで、縮小画像で落ちた情報を差分データとしてとっておき、画像を復元する場合に、縮小画像を拡大したものと、差分データとを合成するようにすることにより、画像の情報量が落ちるのを防ぐようにしている。なお、差分データは、格納する場合には、圧縮して圧縮差分データとしておくことにより、格納領域の節約を行う。本従来技術は、プリンタ等の用途のため、1 画面分の画像データを決まった順序で処理することを想定しており、画面内の任意の位置に対してアクセスするような用途には向いていない。
例えば、MPEG デコーダにおいては、参照画アクセスのために、画面内の任意の位置の矩形領域を読み出す可能性があるが、本従来技術においてはこのようなアクセスは想定しておらず、効率的なアクセスはできない。特に圧縮差分データについては、画面分のデータをまとめて可変長符号化してしまうと、画面内の指定位置のデータを特定することは困難なため、圧縮差分データの最初から順に展開処理を行っていく必要がある。よって、参照画アクセスのような任意位置の読み出しの場合では、実際には使用しない不要な圧縮差分データを読み出すことになり、かえってメモリアクセス量が増える結果となる。以上のような理由から、メモリバス帯域の観点では、従来技術はMPEG デコータのような画面内の任意位置のアクセスを行うような装置には適用できなかった。
特開平5−227444号公報
本発明の課題は、画面内の任意の位置へのアクセスが発生する画像処理装置において、メモリバス帯域を削減することのできる画像処理装置を提供することである。
本発明の画像処理装置は、メモリと、画像データを縮小して縮小画像データを生成し、前記メモリに格納するともに、前記縮小画像データを拡大して拡大画像データを生成し、前記画像データと前記拡大画像データとの差分データを異なる複数の単位で圧縮し、複数の圧縮差分データを生成して前記メモリに格納する画像データ圧縮部と、リクエスト要求が指示する単位で前記圧縮差分データを読み出すとともに、前記縮小画像データを読み出し、前記圧縮差分データと前記縮小画像データとに基づいて伸長された画像データを生成する画像データ伸長部とを備える。
本発明によれば、画面内の任意の位置へのアクセスが発生する画像処理装置において、
メモリバス帯域を削減することのできる画像処理装置を提供することができる。
本発明の実施形態では、MPEG やH.264 などのデコーダおよびエンコーダ装置など、高いメモリバス帯域を要求する装置において、メモリバスの使用帯域を削減する手法及び構成を提供する。
特に、本実施形態では、画像処理装置において、メモリへの書き込み時には、画像データを一旦縮小して、縮小した画像データを再度拡大し、元画像との差分データを作成する。その後、作成された差分データを複数の異なる画面内領域単位で圧縮して、縮小画像と複数の圧縮差分データをメモリに格納する。読み出し時には、縮小画像といずれかの圧縮差分データを読み出し、それぞれ拡大、展開したのち、加算して元画像を復元する。
また、画像処理装置において、メモリへの書き込み時には、画像データを一旦縮小して、縮小した画像データを再度拡大し、元画像との差分データを作成する。その後、作成された差分データを複数の異なる画面内領域単位で圧縮して、縮小画像と複数の圧縮差分データをメモリに格納する。読み出し時には、縮小画像のみを読み出して拡大画像を作成する方法と、縮小画像といずれかの圧縮差分データを読み出し、それぞれ拡大、展開したのち、加算して元画像を復元する。
差分データを圧縮する画面内領域単位は、一つは、ライン単位であり、一つは画面を指定の矩形サイズで分割した矩形の単位である。その単位ごとに指定のメモリ領域に圧縮差分データを格納する。
図1に縮小画像と圧縮差分データのメモリ格納イメージを示す。
図1は、縦1/2、横1/2 の間引きで縮小画生成した場合の例であり、差分データは、ラインの単位での圧縮と、16x16 矩形の単位で圧縮した形式である。
図1(a)は、元画像を示しており、丸は画素を示している。図1(a)の元画像から縦横方向に2行に1行を間引くことにより、縦横1/2圧縮された縮小画像が得られる。その縮小画像が図1(b)である。縮小画像においては、図1(a)の太い丸で表された画素のみが残ることになる。縮小画像は、全体の画像が、図1(c)の左に示されるように、縮小画像として格納領域に格納される。一方圧縮差分データは、図1(c)の真ん中あるいは右に示されているように、差分データをライン単位、あるいは、所定サイズの矩形単位に分割し、ラインごと、あるいは、矩形ごとに圧縮する。圧縮されたラインデータ、あるいは、圧縮された矩形データは、それぞれ、格納領域内における先頭位置のアドレスが与えられ、ライン単位、あるいは、矩形単位で格納される。したがって、特定のラインデータ、あるいは、特定の矩形データを読み出したいときには、その先頭位置のアドレスを指定することにより、容易に読み出すことが出来るように、格納領域に格納される。
図2は、差分データ圧縮処理順の例を示す。
図2(a)は、ライン単位で圧縮差分データを生成する場合の処理順序であり、差分データの行0から横方向に1920画素分のデータを読み込み圧縮する。行0が終わったら、行1というように、順次行0から縦方向に向かって処理を行っていく。ライン単位の圧縮では、ライン番号を識別子とする。識別子と格納領域の先頭アドレスとを対応付けておくことにより、読み出したいラインを先頭アドレスを指定することで読み出せるようになる。なお、必ずしも1ライン全てのデータを1単位とする必要はなく、1ラインを複数の領域に分割したライン領域を1単位としても良い。図2(b)は、矩形単位で圧縮差分データを生成する場合の処理順序である。図2(b)に示されるように、横1920画素、縦1088画素からなる差分データを16画素×16画素の矩形に分割し、それぞれの矩形に識別子を付けておく。左上端の矩形ならば、(0,0)を識別子とし、行方向に行くに従い、(1,0)、・・・(119,0)と、行方向の座標値を大きくし、列方向に行くに従い、(0,1)、・・・(0,67)と、列方向の座標値を大きくする。そして、16画素×16画素のブロック単位で、圧縮を行い、格納領域に格納する。識別子と格納領域の先頭アドレスとを対応付けておくことにより、読み出したい矩形領域を先頭アドレスを指定することで読み出せるようになる。なお、矩形の大きさは、必ずしも16画素×16画素である必要は無い。
また、差分データを圧縮する画面内領域単位毎(ライン毎、矩形毎)の圧縮差分データサイズを算出および記録するようにする。記録手段としては、圧縮差分データの先頭に圧縮差分データのサイズを書き込んでおいても良いし、別途テーブルとして記録しておいても良い。サイズは必ずしも厳密な値である必要はなく、リード時のメモリアクセスサイズの単位で記録されていれば良い。
読出し要求が矩形読み出しの場合は、元画像の矩形領域に対応する縮小画像内の矩形領域と、元画像の矩形領域に対応する領域を含む矩形単位で圧縮された差分データを読み出す。そして、それぞれ拡大、展開した後、要求の矩形領域以外のデータは破棄し、要求の矩形領域内の縮小画像からの拡大画像データと圧縮差分データからの展開データを加算して元画像を復元する。
読出し要求がライン読み出しの場合は、元画像のラインに対応する縮小画像内のラインと、元画像のラインに対応するライン単位で圧縮された差分データを読み出す。そして、それぞれ拡大、展開した後、要求の領域以外のデータは破棄し、要求の縮小画像からの拡大画像データと圧縮差分データからの展開データを加算して元画像を復元する。
また、本実施形態では、画像処理装置おいて、過去に読み出した差分データを格納する内蔵メモリを設ける。2回目以降の読み出し要求で指示された領域に、内蔵メモリに格納されている差分データの領域が含まれている場合には、該当する圧縮差分データは読み出さずに、内蔵メモリの差分データを使用して元画像を復元する。内蔵メモリは、矩形単位の差分データを格納する内蔵メモリと、ライン単位での差分データを格納する内蔵メモリを個別に設ける。矩形読み出しに対しては、矩形用の内蔵メモリを使用し、ライン読み出しに対しては、ライン用の内蔵メモリを使用する。
画像データを矩形アクセスするモジュールとラインアクセスするモジュールが接続されたメモリコントローラを考える。矩形アクセスするモジュールからのリクエストに対しては、縮小画像と矩形アクセス用の圧縮差分データを読み出し、ラインアクセスするモジュールからのリクエストに関しては、縮小画像とラインアクセス用の圧縮差分データを読み出す。これにより、メモリへの1回のアクセスあたりのデータアクセス量を削減することが可能である。
図3は、メモリへのデータアクセス量の削減の様子を説明する図である。
例えば、元画像サイズで画面内の256 画素(ライン読み出し時256x1、矩形読み出し時16x16)を読み出す場合を考える。図3(a)、(b)に示すように、縮小画像の作成方法は縦1/1(間引きなし)、横1/4 間引き、縮小画像から拡大画像の作成方法は、線形補間とする。また、差分データは、元画像サイズの画面領域の256 画素単位(ライン用256x1 領域、矩形用16x16 領域)で圧縮するものとし、差分データの圧縮率は元画像の1/8 とする。なお、ここでは縮小方式が間引きであるため、縮小画像に書き込まれた画素の値と元画像の対応する画素の値間の差分値は常にゼロとなるため、該当画素に関しては差分データとしては書き込まない。したがって、差分データは、元画像の3/4の画素を保持することになる。以下の3つの方式でメモリへのデータアクセス量を比較する。以下の表および計算では、一回のアクセスで必要となるデータアクセス量を画素数で示している。
方式1:元画像をそのままメモリに格納
方式2:縮小画像とライン用の圧縮差分データのみをメモリに格納
方式3:縮小画像とライン用/矩形用両方の圧縮差分データをメモリに格納
アクセス量計算
Write
方式1 16x16(元画像)=256
方式2 4x16(縮小画像) + 256x3/4x1/8(圧縮差分データ) = 88
方式3 4x16(縮小画像) + 256x3/4x1/8x2(圧縮差分データ2種) = 112
方式1では、元画像をそのままメモリに格納するので、1回のアクセスで256画素の容量を必要とする。一方、方式2では、縮小画像は、横方向に1/4間引きされた縮小画像と圧縮差分データを書き込むことになる。圧縮差分データは、256画素×1ライン画素ずつのアクセスとなる。圧縮差分データは、元画像の3/4の画素を持っており、圧縮率が1/8であるので、上記のようになる。方式3は、縮小画像については、方式2と同じである。圧縮差分データは、16画素×16画素ブロック単位と、256画素×1ライン単位で書き込むことになる。このとき、圧縮差分データは、元画像の3/4画素を有しており、1/8の圧縮率である。そして、方式3では、ライン単位の圧縮と矩形単位の圧縮を行うので、2が掛かっている。
ラインRead
方式1 256x1(元画像)=256
方式2 65x1(縮小画像) + 256x3/4x1/8x1(圧縮差分データ1領域) = 89(Min)
66x1(縮小画像) + 256x3/4x1/8x2(圧縮差分データ2領域) = 114(Max)
方式3 65x1(縮小画像) + 256x3/4x1/8 (圧縮差分データ1領域) = 89(Min)
66x1(縮小画像) + 256x3/4x1/8x2(圧縮差分データ2領域) = 114(Max)
方式1では、256画素の1ラインをそのまま読む。方式2では、行方向に256画素分読むので、縮小画像は、横に1/4になった縮小画像中の対応するラインを、4個横方向に読む必要がある。このとき、縮小画像の画素を●とし、線形補完された画素を○と表すと、●○○○●○○○となる場合がある。この場合には、左のほうの○を線形補完によって求めるためには、右端にもう一つ縮小画像の画素●が必要となる。また、○○○●○○○●○○○となる場合もあり、この場合には、両端に縮小画像の画素●が必要となる。したがって、どの部分のラインを読み出すかによって、16画素×4+1(または、+2)=65(または、66)の縮小画像の画素を読み込む必要が生じる。圧縮差分データについては、読出しラインが1つのアクセス単位だけが必要な場合と、2つのアクセス単位のラインをまたいでいる場合がある。そのため、最大では2つのアクセス単位のラインを読み込む必要がある。方式3は、矩形単位で圧縮差分データを保持しているが、ライン単位でも保持しているので、ライン単位での読出しのときは、ライン単位で保持しているデータを読み込むようにする。したがって、方式2の場合と同様となる。
矩形Read
方式1 16x16(元画像)=256
方式2 5x16(縮小画像) + 256x3/4x1/8x16(圧縮差分データ16領域) = 464(Min)
6x16(縮小画像) + 256x3/4x1/8x32(圧縮差分データ32領域) = 864(Max)
方式2において、16×16ブロックを読み出す場合、縮小画像は、ライン読み込みの場合の方式2の場合と同じように、線形補完の関係で、読出しブロックの位置により、(4+1)×16行だけ読み出すか、(4+2)×16行だけ読み出すかが変わる。また、圧縮差分データの読み出しラインが水平方向に1つのアクセス単位だけが必要な場合と、2つのアクセス単位のラインをまたいでいる場合がある。16行読み出す場合、矩形が2つのアクセス単位をまたぐ場合には、2単位×16行、すなわち32アクセス単位を読み込むことが必要となってくる。すなわち、圧縮単位はライン単位であるが、処理単位はマクロブロックの16画素×16画素なので、16行ずつのアクセスになっているとしている。
方式3 5x16(縮小画像) + 256x3/4x1/8(圧縮差分データ1領域) = 104(Min)
6x16(縮小画像) + 256x3/4x1/8x4(圧縮差分データ4領域) = 192(Max)
方式3においては、縮小画像については、方式2と同じであるが、矩形単位でも圧縮差分データを保持しているので、矩形Readの場合は矩形単位の圧縮差分データを読み出すようにする。圧縮差分データについては、読出し矩形領域が、1つの保持単位ブロックに含まれるか、2つの単位ブロックにまたがるか、4つの単位ブロックにまたがるかによって、読出しデータ量が異なってくる。
上記アクセス量の比較結果から、本実施形態の方式3を用いることにより、矩形アクセス、ラインアクセスの両方においてメモリアクセス量を削減することが可能である。
表示サイズが元画サイズよりも十分小さい場合など、画像データの用途によっては、元画像を完全に復元しなくても、画質的に問題がないケースもある。このような用途の場合は、縮小画像のみを読み出すことにより、圧縮差分データのアクセスを省略して更にメモリアクセス量を削減することが可能である。リクエスト発行元の要求に応じて、縮小画像データは、拡大してから送出する方法もあるし、縮小画像のまま送出する方法もある。
圧縮差分データは、圧縮単位で圧縮後のサイズが可変となるため、サイズが分からないと無駄なメモリアクセスをしなければならない可能性がある。そこで、圧縮処理後、格納前にサイズを計算し記憶しておくと、必要なサイズが分かるようになり、無駄なメモリアクセスを避けることができる。
差分データを可変長符号で圧縮してメモリに格納した場合、リクエスト発行元が要求する画面内の指定領域に対応する差分データの格納位置を完全に特定することはできない。また、通常の可変長符号の場合、符号化単位の最初から展開処理を行う必要があるため、実際には使用しない領域のデータも読み出して、展開処理を行う必要がある。リクエスト発行元の読み出し方式に応じて、必要な領域を含む圧縮差分データの読み出しを行い、展開後、不要な部分を廃棄することにより、必要な領域のみの元画像を復元することができる。
通常、画像データ処理は画面内で決まった順序で行われることが多く、あるモジュールからの連続する読み出しリクエストにおいては、画面内の近傍の領域をアクセスする場合が多い。一つのリクエストで読み出される圧縮差分データは、圧縮する単位でまとまったデータであり、そのリクエストでは使用しない不要な部分を含む場合があるが、次のリクエストで必要なデータであることも多い。そこで、内蔵メモリにこの差分データを格納しておき、次のリクエストで内蔵メモリ内の差分データの領域への要求があった場合には、外のメモリへのアクセスは行わずに、その分のメモリアクセス量を削減することができる。
差分データを格納する内蔵メモリは、読み出し要求元毎に複数持っても良い。例えば、MPEGデコーダなどでは、参照画読み出し用の差分データ格納用内蔵メモリと、表示読み出し用の差分データ格納用内蔵メモリがあると効率的である。
なお、内蔵メモリへの差分データの格納方法としては、展開後の差分データでもよいし、展開前の圧縮差分データでも良い。展開後の差分データ形式で格納していれば、次のアクセスで展開処理を行わずに処理することができるし、展開前の圧縮差分データの形式で格納していれば、その分、内蔵メモリの容量を削減することができる。
図4は、本発明の第1の実施形態を適用したMPEG デコーダLSI のブロック構成図である。
本LSI9は、MPEG デコーダ部10、表示制御部11、メモリコントローラ部12の3つのブロックで構成され、デコード結果の画像等を格納するための外部メモリ(SDRAM)13が接続される。MPEG デコーダ部10は、入力されたMPEG ストリームの復号処理を行い、デコード画像を生成するブロックである。結果のデコード画像は、メモリコントローラ部12を介してSDRAM13 へ書き込まれる。デコード処理中、必要に応じて、過去のデコード画像を参照画像として読み出して使用する。表示制御部11はMPEG デコーダ部が生成したデコード結果画像をメモリコントローラ部12経由で読み出して表示装置へ出力するブロックである。メモリコントローラ部12は、MPEG デコーダ部10および表示制御部11からの要求に応じて、SDRAM13へのアクセスを管理するブロックである。
メモリコントローラ部12には、MPEGデコーダ部10や表示制御部11からのリクエストを受け付けるリクエスト制御部15が設けられている。リクエスト制御部15は、リクエストを受け付けると、リクエスト変換部19にリクエストを送り、画像データ圧縮部16や矩形画像データ展開部17、ライン画像データ展開部18への制御信号を生成させる。
MPEGデコーダ部10からライトリクエストが発行されると、画像データ圧縮部16は、画像格納メモリ20において、ライトデータを受け取り、画像縮小回路21にデータを入力する。画像縮小回路21は、画像を縮小し、SDRAMアクセス制御部37を介して、SDRAM13に縮小画像を書き込む。また、縮小画像は、画像拡大回路22において、拡大され、減算器23において、元画像との差分が取られる。差分データは、差分データ格納メモリ24に格納され、矩形用差分データ圧縮回路25とライン用差分データ圧縮回路26に入力される。矩形用差分データ圧縮回路25とライン用差分データ圧縮回路26では、差分データが、矩形単位の圧縮差分データと、ライン単位の圧縮差分データに変換され、SDRAMアクセス制御部37を介して、SDRAM13に書き込まれる。
MPEGデコーダ部10から、矩形リードリクエストが発行されると、矩形画像データ展開部17は、SDRAMアクセス制御部37を介して、SDRAM13から縮小画像データと矩形用圧縮差分データを読み取る。縮小画像データは、縮小画像格納メモリ27に格納された後、矩形用画像拡大回路29において拡大される。矩形用圧縮差分データは、差分データ格納
メモリ28に格納された後、矩形用差分データ展開回路30において、展開される。拡大された縮小画像と展開された矩形用差分データは、加算器35において、加算され、矩形リードデータとして、MPEGデコーダ部10に送られる。
表示制御部11からラインリードリクエストが発行されると、ライン画像データ展開部18は、SDRAMアクセス制御部37を介して、SDRAM13から縮小画像とライン用圧縮差分データを読み込む。縮小画像データは、縮小画像格納メモリ31に格納された後、ライン用画像拡大回路33において拡大される。ライン用圧縮差分データは、差分データ格納メモリ32に格納された後、ライン用差分データ展開回路34によって展開される。拡大された縮小画像と展開されたライン用圧縮差分データは、加算器36において加算され、ラインリードデータとして、表示制御部11に渡される。
また、矩形リードリクエストは、MPEGデコーダ部10から、ラインリードリクエストは、表示制御部11から発行されているが、これは、MPEGによる処理をする場合は、参照画像を矩形単位で参照し、表示画像を生成する場合には、ライン単位で画像を参照するからである。しかし、一般に、デコーダがラインリードアクセスしても良いし、表示制御部が矩形リードアクセスしても良い。
また、図4は、デコーダの構成であるが、メモリコントローラ部12の構成は、エンコーダでも同様である。
図5に、本発明の第1の実施形態のメモリコントローラの処理フローを示す。
まず、ステップS10において、各ブロックからのリクエストを受信する。ステップS11において、複数のリクエストがあるか否かを判断する。複数のリクエストを受信した場合には、ステップS12において、リクエストの調停を行い、処理を行う一つのリクエストを選択する。ステップS13において、選択したリクエストの内容を解析し、ライトリクエスト、矩形リードリクエスト、ラインリードリクエストのいずれかを判断し、それぞれに対する処理を行う。
ステップS14において、ライトリクエストか否かを判断し、ライトリクエストでない場合には、ステップS26に進む。ライトリクエストの場合には、ステップS15において、まずリクエスト要求元からライトデータ(元画像データ)を取得する。次に、ステップS16において、元画像の縮小画像を生成し、ステップS17において、その縮小画像の拡大画を生成する。その後、ステップS18において、元画像と生成した縮小後拡大画の間で差分を取り、差分データを作成する。ステップS19とステップS20において、差分データは、矩形用の圧縮とライン用の圧縮の2 種類の圧縮が行われる。ステップS21において、生成された、縮小画、矩形用圧縮差分データ、ライン用圧縮差分データは、それぞれ、SDRAM に書き込まれる。ただし、圧縮差分データに関しては、圧縮する単位によって、一つのライトリクエストのデータだけで圧縮が完結するとは限らないため、圧縮する単位のデータがまとまった時点で書き込みが行われる。すなわち、ステップS22において、矩形用差分データ書込み単位分のデータがたまったか否かを判断し、たまった場合には、ステップS23で矩形用圧縮差分データをSDRAMへ書き込む。また、ステップS24において、ライン用差分データ書込み単位分だけデータがたまったか否かを判断し、たまった場合には、ステップS25において、ライン用圧縮差分データをSDRAMに書込み、処理を終了する。
ステップS26では、矩形リードリクエストか否かを判断する。矩形リードリクエストで無い場合には、ステップS33に進む。矩形リードリクエストの場合には、ステップS27およびステップS28において、リクエスト内容からSDRAM からリードすべき、縮小画領域と矩形用圧縮差分データ領域を判断して、SDRAM から必要データをリードする。縮
小画像は1 矩形領域となるが、矩形用圧縮差分データは複数領域にまたがる可能性があるために、複数のリクエストに分かれる場合がある。次に、ステップS29、S30において、リードした縮小画像を拡大、矩形用圧縮差分データは展開し、ステップS31において、両者を加算して元画像を復元する。このとき、リードした矩形用圧縮差分データには、リクエスト元からの要求の矩形領域外のデータが含まれている場合があるので、展開後、必要領域のみ切り出して使用する必要がある。ステップS32最後に復元された元画像をリクエスト要求元に送信する。
ラインリードリクエストの場合には、ステップS33で、縮小画像をSDRAMから読み、ステップS34において、ライン用圧縮差分データをSDRAMから読む。ステップS35において、縮小画像を拡大し、ステップS36において、ライン用圧縮差分データを展開する。ステップS37において、拡大画像と展開された差分データとを加算し、元画像を復元する。復元された元画像は、リクエスト元へ送信される。
なお、圧縮差分データのリードに関しては、圧縮後のデータサイズが分からないと読み出しサイズを確定できないが、無駄なメモリアクセスを避ける方法としては、ライト時にデータサイズ計算し、読み出したデータの先頭にサイズを書き込んでおく方法や、別途、圧縮後のデータサイズを記したテーブルを持っておく方法などがある。
ラインリードリクエストの場合にも、リクエスト内容からSDRAM からリードすべき、縮小画領域とライン用圧縮差分データ領域を判断して、SDRAM から必要データをリードする。縮小画像は1 ライン領域となるが、ライン用圧縮差分データは複数領域にまたがる可能性があるために、複数のリクエストに分かれる場合がある。次に、リードした縮小画像を拡大、ライン用圧縮差分データは展開し、両者を加算して元画像を復元する。このとき、リードしたライン用圧縮差分データには、リクエスト元からの要求のライン領域外のデータが含まれている場合があるので、展開後、必要領域のみ切り出して使用する必要がある。最後に復元された元画像をリクエスト要求元に送信する。
縮小画の生成方法としては、サブサンプリング、平均処理、縮小フィルタ処理などが考えられる。また、拡大画の生成方法としては、画素コピー、平均処理、拡大フィルタ処理などが考えられるがいずれを使用してよい。また、矩形境界の処理方法についても、ライト時の1 リクエストの矩形サイズ内のデータで拡大処理を行う方法と、矩形サイズ外の周辺画素を使用する方法が考えられる。MPEG デコーダでは通常、マクロブロック(16 画素x16 画素)の単位でライト処理が行われるので、その矩形内のデータだけで縮小画生成処理と拡大画生成処理を行う方法が一つである。
図6に、拡大画生成時の矩形境界領域の取り扱い方法の一例を示す。
縮小画像生成方法は、水平1/4 のサブサンプリング(垂直方向の縮小なし)、拡大画像生成方法は線形補間とする。線形補間で拡大画像を生成する際、水平位置13,14,15 の画素を生成するためには、水平位置16 の画素が必要であるが、これは、該当マクロブロックに含まれない画素であるために、ここでは水平位置12 のコピーとして扱う。すなわち、線形補間では、水平位置13,14,15 の画素値は、水平位置12 の画素値と等しくなる。別の方法は、次マクロブロックの画素値を使用する方法である。
この手法では、拡大画を作成する際に、次のマクロブロックのデータ入力を待つ必要があるために、該当マクロブロックの処理では、水平位置13,14,15 の差分データが生成できないことに注意が必要である。
図7は、矩形リードアクセス時の画像復元イメージを示す図である。
図7(a)に示されるように、矩形リードのリクエスト領域が、マクロブロック(0,
0)と(1,0)にまたがっていたとする。まず、リクエスト領域を含む縮小画像と差分圧縮データを読み込み、それぞれ拡大化及び展開を行う。そして、リクエスト領域の部分のみを切り出して加算し、復元画像を得る。ここで、リクエスト領域部分を切り出すのは、復元画像を得てからか、その前か両方あるが、いずれでもよい。ただし、切り出すのは、加算処理によって復元画像を得る前のほうが、加算処理の処理量が減って好ましい。
図8に、アクセス要求元からの一つのリクエストに対して、メモリコントローラが生成するリクエストの処理フローを示す。
なお、本フローでは、縮小画生成方法は、縦1/1(縮小なし)、横1/4 の間引き処理、拡大画生成方法は線形補間、矩形用圧縮差分データ領域単位は16 画素x16 画素領域、ライン用圧縮差分データ領域単位は、ライン方向256 画素単位とする。なお、本フローの処理は、図4のブロック図中のリクエスト変換部19で実行されるが、画像の縮小/拡大処理および差分データの圧縮処理等のデータ処理は、それぞれ、画像データ圧縮部16、矩形画像データ展開部17、ライン画像データ展開部18にて処理される。
ステップS40において、ライトリクエストか否かが判断される。MPEG デコーダのライト処理を想定し、ライトリクエストは常にマクロブロック(16x16 画素)単位で行われ、リクエスト発行順序もマクロブロック処理順になっているものとする。ステップS41において、ライトリクエストのパラメータとして、左上座標(16n,16m)、矩形サイズ(16,16)を受け取った場合、縮小画空間での座標、サイズは、水平方向に1/4 としたものとなるので、ステップS42において、左上座標(4n,16m)、矩形サイズ(4,16)を取得する。メモリコントローラは、縮小画像空間の座標、サイズを新たなパラメータとして縮小画のライト処理を行う。次に、矩形用圧縮差分データの書き込みに関しては、16x16 画素単位なので、基本的に1 マクロブロックに1領域分書き込みが行われるが、差分データ作成時に、拡大画像生成のために右隣接マクロブロックの画素値が必要となるため、画面左端マクロブロックではライト処理は行われず、1 マクロブロックずれた形でライト処理が行われる。したがって、ステップS43において、現マクロブロックが、画面左端マクロブロックであるか否かが判断される。そして、左端マクロブロックで無い場合には、ステップS44において、矩形用圧縮差分データ(n-1,m)がSDRAMに書き込まれる。なお、画面右端のマクロブロックでは、2 領域分のライト処理が行われる。したがって、ステップS45においては、現マクロブロックが画面右端のマクロブロックか否かが判断される。右端マクロブロックの場合には、ステップS46において、矩形用圧縮差分データ(n,m)をSDRAMに書き込む。
次に、ライン用圧縮差分データについては、ライン方向の256 画素単位で圧縮する形なので、16 マクロブロック毎に16ライン分の圧縮差分データがライトされる。ここでは、差分データ作成時に拡大画生成で右隣接マクロブロックの画素が必要なので、1 マクロブロックずれた形で書き込み処理が行われる(例えば、0〜15 マクロブロックの差分データのライト処理は、マクロブロック16 の処理時に行われる)。したがって、ステップS47において、現在のマクロブロックが、右端のマクロブロックあるいは、nが16の倍数か否かが判断される。ステップS47の判断がYesの場合には、ステップS48のループに入り、iが0から15まで1刻みで変わる間に、ステップS49で、ライン用圧縮差分データ(n/16、16m+i)をSDRAMに書き込む。
ステップS50において、リクエストが矩形リードリクエストか否かが判断される。矩形リードリクエストの場合は、任意の座標、サイズのリクエストがあると仮定する。ステップS51において、矩形リードリクエストのパラメータとして、左上座標(X0,Y0)、矩形サイズ(SX,SY)を受け取った場合、縮小画像空間での座標、サイズを計算する。矩形領域の左上座標と右下座標から、縮小画空間での必要画像領域を計算する。ステップS52において、右下座標(X1,Y1)を、X1=X0+SX-1、Y1=Y0+SY-1として計算する。ステップS
53において、縮小画像における矩形の左上座標(X0',Y0')と、右下座標(X1',Y1')を計算する。計算式は以下の通りである。
X0'=X0/4
Y0'=Y0
X1'=(X1+3)/4
Y1'=Y1
次に、ステップS54において、左上画素を含む圧縮単位の差分データの矩形領域座標(RX0,RY0)を計算する。計算式は、以下の通りである。
RX0=X0/16
RY0=Y0/16
次に、ステップS55において、右下画素を含む圧縮単位の差分データの矩形領域座標(RX1,RY1)を計算する。計算式は、以下の通りである。
RX1=X1/16
RY1=Y1/16
ステップS56において、左上座標(X0',Y0')、サイズ(X1'-X0'+1,Y1'-Y0'+1)の縮小画像を読み込む。ステップS57は、iをRX0からRX1まで1刻みで変化させるループである。ステップS58は、jをRY0からRY1まで1刻みで変化させるループである。ステップS57とS58のループの中で、ステップS59において、矩形用圧縮差分データ(i,j)を読み込む。
元画像において、矩形の左端座標が4の倍数でなかった場合、線形補間のために縮小画像における左端座標の左側の画素から必要であり、同様に右端座標が4 の倍数でなかった場合、縮小画像で、右端座標の右側の画素から必要になる。よって、縮小画空間でのリクエストパラメータは、左上座標(X0/4,Y0)、サイズ( (X0+SX+2)/4 - X0/4 + 1,SY)となる。矩形用圧縮差分データについてどの矩形領域のデータをリードするかについては、左上画素が含まれる矩形領域と右下画素が含まれる矩形領域から算出され、必要な数の矩形用圧縮差分データのリード処理を行う。
ラインリードリクエストの場合も、任意の座標、サイズのリクエストがあると仮定する。ステップS60において、ラインリードリクエストのパラメータとして、左端座標(X0,Y0)、サイズSXを受け取った場合の縮小画像空間での座標、サイズを計算する。矩形リードと同じ考え方で、左端座標と右端座標から、縮小画空間での必要画像領域を計算すると、縮小画像上でのリクエストパラメータは、左端座標(X0/4,Y0)、サイズ (X0+SX+2)/4 - X0/4+ 1 となる。ライン用圧縮差分データについてどのライン領域のデータをリードするかについては、左端画素が含まれるライン領域と右端画素が含まれるライン領域から算出され、必要な数のライン用圧縮差分データのリード処理を行う。
ステップS61において、元画像上での右端座標(X1,Y1)を以下の式に基づいて算出する。
X1=X0+SX-1
Y1=Y0
ステップS62において、縮小画像上でのライン左端座標(X0',Y0')とライン右端座標(X1',Y1')を以下の式にしたがって計算する。
X0'=X0/4
Y0'=Y0
X1'=(X1+3)/4
Y1'=Y1
ステップS63において、左端画素を含む圧縮単位のライン領域の座標(LX0,LY0)を以下の式に基づいて算出する。
LX0=X0/256
LY0=Y0
ステップS64において、右端画素を含む圧縮単位のライン領域の座標(LX1,LY1)を以下の式にしたがって算出する。
LX1=X1/256
LY1=Y1
ステップS65において、左端座標(X0',Y0')、サイズX1'-X0'+1の縮小画像を読み込む。ステップS66は、kをLX0からLX1まで、1刻みで変化させるループである。ステップS66のループの中で、ステップS67において、ライン用圧縮差分データ(k,LY0)を読み込む。
以上のような機能を搭載したメモリコントローラを適用することにより、SDRAM へのメモリアクセス量を削減することが可能である。
以下に、リードアクセス時に、縮小画像のみを用いて拡大画を作成するモードを追加した第2の実施形態を示す。ブロック構成は基本的に上述の実施形態と同様であるが、第2の実施形態では、矩形リードリクエストとラインリードリクエストの際に、リクエスト発行元が、リクエスト発行時に縮小画像と差分データ両方を使用するか、縮小画像のみを使用するかをパラメータとして渡す方式とする。例えば、表示制御部は表示画像が大きい場合には、縮小画像と差分データ両方を使用するモードのリクエストを発行するが、表示画像が小さい場合には、縮小画像のみのモードのリクエストを発行する。MPEG デコーダ部は、将来参照画として使用されるP ピクチャ処理時には、縮小画像と差分データ両方を使用するモードのリクエストを発行するが、将来参照画として使用されないB ピクチャ処理時には、誤差の累積が起こらないので、縮小画像のみのモードのリクエストを発行する。
図9に、第2の実施形態のメモリコントローラの処理フローを示す。
図9において、図5と同じステップには、同じ参照符号を付して、説明を省略する。
矩形ライトリクエスト、差分データありの矩形リードリクエストとラインリードリクエストは、第1の実施形態と同様のフローである。差分データなし(縮小画のみ)の矩形リードリクエストとラインリードリクエストに関しては、差分データをSDRAM から読み出す必要がないため、縮小画をSDRAM からリードした後、拡大画像を生成し、リクエスト発行元にデータを送信する。
図9においては、ステップS26で、リクエストが矩形リードリクエストであると判断された場合には、ステップS70において、差分データを含めて読み込むか否かを判断が行われる。ステップS70において、差分データを含めるとなった場合には、ステップS27以降、図5と同じ処理となる。差分データを含めないとなった場合には、ステップS71において、縮小画像をSDRAMから読み込み、ステップS72において、縮小画像を拡大し、ステップS73において、リクエスト元にリードデータを送信する。
また、ステップS26において、矩形リードリクエストでないと判断された場合にも、ステップS74において、差分データを含めた読み込みか否かが判断される。ステップS74で、差分データを含めた読み込みであると判断された場合には、ステップS33以降、図5と同じ処理となる。差分データを含めない読み込みであると判断された場合には、ステップS75において、縮小画像をSDRAMから読み込み、ステップS76において、縮小画像を拡大し、ステップS77において、リクエスト元にリードデータを送信する。
以上のような機能を搭載したメモリコントローラを使用することにより、表示画像サイズ等に合わせて誤差が目立たない範囲で、更にDRAM へのメモリアクセス量を削減することが可能となる。
図10は、本発明の第3の実施形態を適用したMPEG エンコーダLSI のブロック構成図
である。
本LSI は、画像取り込み部40、MPEG エンコーダ部41、表示制御部42、メモリコントローラ部43の4 つのブロックで構成され、エンコード処理に必要な画像等を格納するための外部メモリ(SDRAM)44が接続される。画像取り込み部40は入力画像を取り込み、メモリコントローラ部43を介して、画像をSDRAM44 へ書き込む。画像入力はラスタスキャン順で行われ、SDRAM44への書き込み処理は、ライン単位とする。
MPEGエンコーダ部41は、取り込まれた入力画像をメモリコントローラ部43を介して読み出し、MPEG に従った符号化処理を行い、MPEG ストリームを生成するブロックである。符号化処理中、必要に応じて、過去のローカルデコード画像を参照画像として読み出して使用する。
表示制御部42は、MPEG エンコーダ部41が生成したローカルデコード画像あるいは、画像取り込み部が取り込んだ入力画像をメモリコントローラ部43経由で読み出して表示装置へ出力するブロックである。
メモリコントローラ部43は、画像取り込み部40、MPEG エンコーダ部41および表示制御部42からの要求に応じて、SDRAM44へのアクセスを管理するブロックである。
第3の実施形態では、回路の共有化を行っている点と、過去の差分データをバッファに格納し、再利用している点が第1の実施形態と異なる。なお、画像の縮小、拡大方法は、第1の実施形態と同様とする。
メモリコントローラ部43には、画像取り込み部40やMPEGエンコーダ部41、表示制御部42からのリクエストを受け付けるリクエスト制御部45が設けられている。リクエスト制御部45は、リクエストを受け付けると、リクエスト変換部46にリクエストを送り、画像データ圧縮部47や画像データ展開部48への制御信号を生成させる。
画像取り込み部40あるいはMPEGエンコーダ部41からラインライトリクエストあるいは矩形ライトリクエストが発行されると、画像データ圧縮部47のセレクタ50によって、ラインライトデータか矩形ライトデータのいずれかが選択される。画像格納メモリ51において、ラインライトデータあるいは矩形ライトデータを受け取り、画像縮小回路52にデータを入力する。画像縮小回路52は、画像を縮小し、SDRAMアクセス制御部65を介して、SDRAM44に縮小画像を書き込む。また、縮小画像は、画像拡大回路53において、拡大され、減算器54において、元画像との差分が取られる。差分データは、差分データ格納メモリ55に格納され、差分データ圧縮回路56に入力される。差分データ圧縮回路56では、リクエストがラインライトリクエストでも矩形ライトリクエストでも、差分データが、ライン単位の圧縮差分データおよび矩形単位の圧縮差分データの両方に変換され、SDRAMアクセス制御部65を介して、SDRAM44に書き込まれる。
MPEGエンコーダ部41から、矩形リードリクエストが発行されると、画像データ展開部48は、SDRAMアクセス制御部65を介して、SDRAM44から縮小画像データと矩形用圧縮差分データを読み取る。縮小画像データは、縮小画像格納メモリ57に格納された後、画像拡大回路59において拡大される。画像拡大回路59は、ライン用と矩形用のいずれにも対応したハードウェアであり、リクエスト変換部46からの制御により、いずれかの処理を行う。矩形用圧縮差分データは、差分データ格納メモリ58に格納された後、差分データ展開回路60において、展開される。差分データ展開回路60は、ライン用と矩形用のいずれにも対応したハードウェアであり、リクエスト変換部46からの制御により、いずれかの処理を行う。展開された矩形用差分データは、矩形用とライン用を兼用する過去差分データバッファ61に格納されると共に、セレクタ62に入力される。展開された矩形用差分データあるいは過去差分データバッファ61に格納された過去の差分データのいずれかがセレクタ62により選択され、拡大された縮小画像と加算器35において、加算され、矩形リードデータとして、スイッチ64を介して、MPEGエンコーダ部41に送られる。
表示制御部42からラインリードリクエストが発行された場合は、MPEGエンコーダ部41から矩形リードリクエストが発行された場合と同様である。
第3の実施形態においては、差分データ圧縮回路56、縮小画像格納メモリ57、差分データ格納メモリ58、画像拡大回路59、差分データ展開回路60が、矩形用とライン用の両方を処理可能なハードウェアとして構成されている。
なお、図10はエンコーダの構成図であるが、メモリコントローラ部43の構成は、デコーダの場合でも同様である。
図11に、本発明の第3の実施形態のメモリコントローラの処理フローを示す。
図11において、図5と同じステップには、同じ参照符号を付し、簡単な説明をするのみにとどめる。
まず、ステップS10において、各機能ブロックからのリクエストを受信する。複数のリクエストを受信した場合には(ステップS11)、リクエストの調停を行い(ステップS12)、処理を行う一つのリクエストを選択する。選択したリクエストの内容を解析し(ステップS13)、矩形ライトリクエスト、ラインライトリクエスト、矩形リードリクエスト、ラインリードリクエストのいずれかを判断し、それぞれに対して処理を行う。
ラインライトリクエスト、矩形ライトリクエストに対する処理の流れは同じであるので、図11では、ライトリクエストの場合として、1つのフローとしている。まず、リクエスト要求元からライトデータ(元画像データ)を取得する(ステップS15)。次に、元画像の縮小画像を生成し(ステップS16)、その縮小画像の拡大画を生成する(ステップS17)。その後、元画像と生成した縮小後拡大画の間で差分を取り、差分データを作成する(ステップS18)。差分データは、矩形用の圧縮とライン用の圧縮の2 種類の圧縮が行われる(ステップS19、S20)。生成された、縮小画、矩形用圧縮差分データ、ライン用圧縮差分データは、それぞれ、SDRAM にライトされる(ステップS21)。ただし、圧縮差分データに関しては、圧縮する単位によって、一つのライトリクエストのデータだけで圧縮が完結するとは限らないため、圧縮する単位のデータがまとまった時点で書き込みが行われる(ステップS22〜ステップS25)。第3の実施形態では、各格納メモリ、画像縮小/拡大回路、差分データ圧縮回路などの回路はライン用と矩形用で共用されている。ライン用と矩形用の差分データ圧縮回路は一つのライトリクエストに対して時分割で使用される。
ラインリードリクエストと、矩形リードリクエストに対する基本的な処理の流れは同じである。まず、リクエスト内容からSDRAMからリードすべき、縮小画領域と矩形用またはライン用圧縮差分データ領域を判断して、SDRAMから必要データをリードする(ステップS27、S33)。縮小画像は矩形またはラインの1 領域をリードする必要があるが、矩形用またはライン用の圧縮差分データに関しては、第3の実施形態では、過去の差分データをバッファに格納する機能を持つため、必ずしもリードアクセスが発生するとは限らない。過去差分データバッファに必要な差分データが格納されている場合には(ステップS80、S84)、SDRAM への差分データリードアクセスは行わずに、縮小画像のみ読み出して、拡大処理し、過去差分データバッファ内の対応する差分データとの加算を行って元画を復元する。そして、その復元画像をリクエスト要求元に復元画像を送信する。必要な差分データが格納されていない場合には(ステップS80、S84)、縮小画像および、圧縮差分データを読み出して(ステップS81、S85)、それぞれ拡大、展開処理し(ステップS82、S86)、両者を加算して元画像を復元した後(ステップS31、S37)、リクエスト要求元に復元画像を送信する(ステップS32、S38)。なお、展開した差分データは将来のリードリクエストのために、過去差分データバッファに格納しておく(ステップS83、S87)。第3の実施形態では、各格納メモリ、画像縮小/拡大回路、差分データ展開回路などの回路はライン用と矩形用で共用されている。また、過去差分データバッファには、ライン用と矩形用の差分データを別々の領域に格納し、それぞれのライン、矩形、それぞれのリクエストに対して、過去の差分データを使用することが可能なようになっている。
以上のような機能を搭載したメモリコントローラを使用することにより、過去にリードした差分データを再利用して、差分データのリード量を削減することができるので、SDRAM へのメモリアクセス量をより削減することが可能である。
本発明の第4の実施形態として、第3の実施形態 の構成に対して別の縮小、拡大方法を用いた例を示す。ブロック構成は基本的に第3の実施形態と同様であるが、第4の実施形態では、縮小画生成方法は、縦1/2、横1/2 の間引き処理、拡大画生成方法は線形補間、矩形用圧縮差分データ領域単位は16 画素x16 画素領域、ライン用圧縮差分データ領域単位は、ライン方向256 画素単位とする。
図12に、第4の実施形態における元画像から縮小画像への間引き方法を示す。
図12(a)は、元画像における間引かれる画素と残される画素を示した図であり、図12(b)は、縮小後の縮小画像の画素の様子を示す。第4の実施形態では、横方向の間引きのほかに、縦方向の間引きを行い、線形補間で拡大処理を行う。そのため、元画像の奇数ラインのラインリードにおいて、上下に隣接する2ラインのデータが必要となる。通常、表示装置への画像データは、画面の上側のラインから、下側のラインへ順番に出力する形式となるため、過去ラインをバッファに保存しておくことにより、縮小画のラインリードアクセス量を削減することが可能である。第4の実施形態では、画面の上端(ライン0)から順番にリードアクセスが行われるものとする。
図13に、第4の実施形態のラインリードリクエスト処理の手順を示す。
まず、ラインnのラインリードリクエストを受け取り(ステップS90)、ラインnが画面の先頭ライン(元画像でのライン0)の場合は(ステップS91)、縮小画像の先頭ライン(ライン0)を読み出す(ステップS92)。元画像のライン0 は、縮小画のライン0 に対応するラインであるので、拡大処理で元画空間のライン0 を生成し(ステップS93)、縮小画ライン0 は、バッファに格納する(ステップS94)。なお、第4の実施形態では、このバッファは、縮小画像格納メモリ内に、1 リクエスト分のバッファ領域とは別に過去ラインを保持しておくだけの領域を確保し、ラインデータを保持しておくものとする。ステップS102において、ラインn(現在処理しているライン)を水平方向に拡大処理し、以降の圧縮差分データのリード、展開、加算の処理(ステップS103〜ステップS108)は第3の実施形態 と同様である(図11のステップS80〜S32及びステップS84〜S38までの処理と同様)。次にライン1 のリードリクエストを受け取った際には、奇数ラインのフローへ移行する(ステップS95)。奇数ラインの場合は、縮小画として対応するラインが格納されていないので、上下に隣接するラインから線形補間でデータを作成する必要がある。上隣接ライン(この場合、縮小画像のライン0)は、既に過去ラインバッファ領域に格納されているので、SDRAM へのリード処理は行わず、下隣接ライン(この場合、縮小画像のライン1)をリードして、元画像の奇数ライン(この場合、元画像のライン1)を生成する。新たにリードされた下隣接のラインは、過去ラインバッファ領域に格納され、次ラインの処理の際に使用される。ライン2 のラインリードリクエストを受け取った際には、偶数ラインのフローに移行する。先頭ライン以外の偶数ラインの場合、対応する縮小空間のラインは、既に前の奇数ライン処理時に過去ラインバッファ領域に格納されているため、SDRAM へのリードアクセスは行わずに、バッファ内データのみで対応するラインを復元することが可能である。
すなわち、ステップS95で、現在のラインが奇数ラインであると判断された場合には、ステップS96において、縮小画像の(n+1)/2のラインをリードし、ステップS97において、過去ラインバッファからライン(n-1)/2を取得する。そして、ステップS98において、縮小画像ライン(n-1)/2と(n+1)/2から元画像ラインnを生成する。ステップS99において、過去ラインバッファにライン(n+1)/2を格納して、ステップS102に進む。ステップS95で、現在のラインが奇数ラインでないと判断された場合には、ステップS100において、過去ラインバッファからラインn/2を取得し、ステップS102において、縮小画像ラインn/2から元画像ラインnを生成し、ステップS102に進む。
上記のようなフローで過去ラインバッファ領域に過去ラインデータを保持しておくことにより、縦間引きがある場合の奇数ラインリードリクエスト時の縮小画読み出し量を削減することが可能である。
本発明の実施形態を使用することにより、大画面のMPEG デコード・エンコードなど、高いメモリバス帯域が要求される装置において、実際に使用するメモリバス帯域を低減することが可能である。本発明の実施形態は、MPEG デコード、エンコード処理に使用される矩形リードアクセス、表示制御に使用されるラインリードアクセスの双方でメモリバス帯域を削減しているため、メモリバス帯域削減効果は高く、様々な装置への適用が可能である。本発明の実施形態の適用により使用するメモリバス帯域が半減すると、メモリ周波数は半分、あるいは、メモリ個数を半減することが可能である。また、同じメモリバス帯域を使用するなら、より大画面の処理を行うことが可能である。メモリバス帯域を半減すると、2倍の画面サイズ、あるいは、2倍のフレームレートの処理を実現することが可能となる。
上記実施形態に加え、以下の付記を開示する。
(付記1)
メモリと、
画像データを縮小して縮小画像データを生成し、前記メモリに格納するともに、前記縮小画像データを拡大して拡大画像データを生成し、前記画像データと前記拡大画像データとの差分データを異なる複数の単位で圧縮し、複数の圧縮差分データを生成して前記メモリに格納する画像データ圧縮部と、
リクエスト要求が指示する内容に応じて前記圧縮差分データを読み出すとともに、前記縮小画像データを読み出し、前記圧縮差分データと前記縮小画像データとに基づいて伸長された画像データを生成する画像データ伸長部と、
を備えることを特徴とする画像処理装置。
(付記2)
前記複数の単位は、矩形単位とライン単位とを含むことを特徴とする付記1に記載の画像処理装置。
(付記3)
前記画像データから前記縮小画像データを生成する方法は、間引きによることを特徴とする付記1に記載の画像処理装置。
(付記4)
前記縮小画像の拡大方法は、線形補完によることを特徴とする付記1に記載の画像処理装置。
(付記5)
以前に読み出された前記縮小画像データと前記圧縮差分データとを格納するバッファを更に有し、
前記画像データ伸長部は、読み出すべき前記縮小画像データあるいは前記圧縮差分デー
タが既に前記バッファに格納されている場合には、前記メモリにアクセスせず、読み出すべき前記縮小画像データあるいは前記圧縮差分データを前記バッファより読み出すことを特徴とする付記1に記載の画像処理装置。
(付記6)
前記圧縮差分データの圧縮方法は、可変長符号化によることを特徴とする付記1に記載の画像処理装置。
(付記7)
前記圧縮差分データの前記メモリへの格納は、前記圧縮の単位で指定の領域へ格納することを特徴とする付記1に記載の画像処理装置。
(付記8)
前記圧縮差分データの前記メモリへの格納において、前記圧縮の単位でのデータサイズを算出および記録する手段を備えることを特徴とする付記1に記載の画像処理装置
(付記9)
前記圧縮差分データの前記メモリへの格納は、前記圧縮の単位とは異なる単位で行われることを特徴とする付記1に記載の画像処理装置。
(付記10)
前記圧縮の単位と異なる単位は、マクロブロック単位であることを特徴とする付記9に記載の画像処理装置。
(付記11)
前記圧縮差分データを読み出すとともに、前記縮小画像データを読み出し、前記圧縮差分データと前記縮小画像データとに基づいて伸長された画像データを生成するか、前記縮小画像データのみを読み出し、前記縮小画像データ基づいて伸長された画像データを生成するか、を選択可能な画像データ伸長部を備えることを特徴とする付記1に記載の画像処理装置。
(付記12)
画像データを縮小して縮小画像データを生成し、
前記縮小画像データを拡大して拡大画像データを生成し、
前記画像データと前記拡大画像データとの差分データを第1の単位で圧縮して第1圧縮差分データを生成し、
前記画像データと前記拡大画像データとの差分データを第2の単位で圧縮して第2圧縮差分データを生成し、
リクエスト要求に基づいて、前記第1圧縮差分データ又は前記第2圧縮差分データの何れかを選択し、
前記選択された圧縮差分データと前記縮小画像データとに基づいて伸長された画像データを生成すること
を特徴とする画像処理方法。
縮小画像と圧縮差分データのメモリ格納イメージを示す図である。 差分データ圧縮処理順の例を示す図である。 メモリへのデータアクセス量の削減の様子を説明する図である。 本発明の第1の実施形態を適用したMPEG デコーダLSI のブロック構成図である。 本発明の第1の実施形態のメモリコントローラの処理フローを示す図である。 拡大画生成時の矩形境界領域の取り扱い方法の一例を示す図である。 矩形リードアクセス時の画像復元イメージを示す図である。 アクセス要求元からの一つのリクエストに対して、メモリコントローラが生成するリクエストの処理フローを示す図である。 第2の実施形態のメモリコントローラの処理フローを示す図である。 本発明の第3の実施形態を適用したMPEG エンコーダLSI のブロック構成図である。 本発明の第3の実施形態のメモリコントローラの処理フローを示す図である。 第4の実施形態における元画像から縮小画像への間引き方法を示す図である。 第4の実施形態のラインリードリクエスト処理の手順を示す図である。
符号の説明
10、41 MPEGデコーダ部
11、42 表示制御部
12、43 メモリコントローラ部
13、44 SDRAM
15、45 リクエスト制御部
16、47 画像データ圧縮部
17 矩形画像データ展開部
18 ライン画像データ展開部
19、46 リクエスト変換部
20、51 画像メモリ
21、52 画像縮小回路
22、53 画像拡大回路
23、54 減算器
24、55 差分データ格納メモリ
25 差分データ圧縮回路(矩形用)
26 差分データ圧縮回路(ライン用)
27、31、57 縮小画像格納メモリ
28、32、58 差分データ格納メモリ
29 画像拡大回路(矩形用)
30 差分データ展開回路(矩形用)
33 画像拡大回路(ライン用)
34 差分データ展開回路(ライン用)
35、36、63 加算器
37 SDRAMアクセス制御部
40 画像取り込み部
48 画像データ展開部
50 セレクタ
56 差分データ圧縮回路(矩形用/ライン用)
59 画像拡大回路(矩形用/ライン用)
60 差分データ展開回路(矩形用/ライン用)
61 過去差分データバッファ(矩形用/ライン用)
62 セレクタ
64 スイッチ

Claims (5)

  1. メモリと、
    画像データを縮小して縮小画像データを生成し、前記メモリに格納するともに、前記縮小画像データを拡大して拡大画像データを生成し、前記画像データと前記拡大画像データとの差分データを異なる複数の単位で圧縮し、複数の圧縮差分データを生成して前記メモリに格納する画像データ圧縮部と、
    リクエスト要求が指示する単位で前記圧縮差分データを読み出すとともに、前記縮小画像データを読み出し、前記圧縮差分データと前記縮小画像データとに基づいて伸長された画像データを生成する画像データ伸長部と、
    を備えることを特徴とする画像処理装置。
  2. 前記複数の単位は、矩形単位とライン単位とを含むことを特徴とする請求項1に記載の画像処理装置。
  3. 以前に読み出された前記縮小画像データと前記圧縮差分データとを格納するバッファを更に有し、
    前記画像データ伸長部は、読み出すべき前記縮小画像データあるいは前記圧縮差分データが既に前記バッファに格納されている場合には、前記メモリにアクセスせず、読み出すべき前記縮小画像データあるいは前記圧縮差分データを前記バッファより読み出すことを特徴とする請求項1に記載の画像処理装置。
  4. 前記圧縮差分データの前記メモリへの格納は、前記圧縮の単位で指定の領域へ格納することを特徴とする請求項1に記載の画像処理装置。
  5. 画像データを縮小して縮小画像データを生成し、
    前記縮小画像データを拡大して拡大画像データを生成し、
    前記画像データと前記拡大画像データとの差分データを第1の単位で圧縮して第1圧縮差分データを生成し、
    前記画像データと前記拡大画像データとの差分データを第2の単位で圧縮して第2圧縮差分データを生成し、
    リクエスト要求に基づいて、前記第1圧縮差分データ又は前記第2圧縮差分データの何れかを選択し、
    前記選択された圧縮差分データと前記縮小画像データとに基づいて伸長された画像データを生成すること
    を特徴とする画像処理方法。
JP2008318037A 2008-12-15 2008-12-15 画像処理装置および方法 Expired - Fee Related JP5245794B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008318037A JP5245794B2 (ja) 2008-12-15 2008-12-15 画像処理装置および方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008318037A JP5245794B2 (ja) 2008-12-15 2008-12-15 画像処理装置および方法

Publications (2)

Publication Number Publication Date
JP2010141771A true JP2010141771A (ja) 2010-06-24
JP5245794B2 JP5245794B2 (ja) 2013-07-24

Family

ID=42351467

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008318037A Expired - Fee Related JP5245794B2 (ja) 2008-12-15 2008-12-15 画像処理装置および方法

Country Status (1)

Country Link
JP (1) JP5245794B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013132056A (ja) * 2011-12-21 2013-07-04 Intel Corp 動き補償と画面リフレッシュにおける電力消費を削減するdram圧縮スキーム
US9635370B2 (en) 2014-03-07 2017-04-25 Sony Corporation Image processing apparatus and image processing method, image encoding apparatus and image encoding method, and image decoding apparatus and image decoding method

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05227444A (ja) * 1992-02-10 1993-09-03 Canon Inc 画像処理方法及びその装置
JP2001045482A (ja) * 1999-07-27 2001-02-16 Canon Inc 画像処理装置及び方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05227444A (ja) * 1992-02-10 1993-09-03 Canon Inc 画像処理方法及びその装置
JP2001045482A (ja) * 1999-07-27 2001-02-16 Canon Inc 画像処理装置及び方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013132056A (ja) * 2011-12-21 2013-07-04 Intel Corp 動き補償と画面リフレッシュにおける電力消費を削減するdram圧縮スキーム
US9268723B2 (en) 2011-12-21 2016-02-23 Intel Corporation Dram compression scheme to reduce power consumption in motion compensation and display refresh
KR101605047B1 (ko) * 2011-12-21 2016-03-21 인텔 코포레이션 움직임 보상 및 디스플레이 리프레시의 전력 소모를 감소시키는 dram 압축 방안
US9635370B2 (en) 2014-03-07 2017-04-25 Sony Corporation Image processing apparatus and image processing method, image encoding apparatus and image encoding method, and image decoding apparatus and image decoding method

Also Published As

Publication number Publication date
JP5245794B2 (ja) 2013-07-24

Similar Documents

Publication Publication Date Title
CN102598651B (zh) 动图像处理装置及方法、安装有动图像处理装置的摄像装置
JP2009177651A (ja) 歪補正装置
JP2009192949A (ja) 画像処理装置と画像処理方法および画像処理システム
JP2007312358A (ja) 画像データ転送方法、画像処理装置、及び撮像システム
JP4384607B2 (ja) 画像処理装置
JP4346591B2 (ja) 映像処理装置、映像処理方法およびプログラム
JP6300651B2 (ja) 動画記録再生装置
JP5245794B2 (ja) 画像処理装置および方法
JP5526641B2 (ja) メモリコントローラ
JP4024649B2 (ja) 画像処理装置及び画像処理方法
Li et al. A flexible display module for DVD and set-top box applications
JP5585885B2 (ja) 画像処理装置及び画像処理方法
US8094955B2 (en) Image reducing apparatus and reduced image generating method
CN115767176A (zh) 用于显示墙系统的影像处理装置及播放控制方法
JPH1155676A (ja) 同期型メモリを用いた動画像データ符号化装置
KR20050006063A (ko) 화상 신장표시방법, 화상 신장표시장치, 및화상신장표시용 프로그램
JP2011040004A (ja) 画像処理装置及び画像処理方法
US9990900B2 (en) Image processing device and method thereof
CN104581175A (zh) 影像处理装置与方法
JP4109151B2 (ja) 画像処理装置
JP4987800B2 (ja) 撮像装置
US7787700B2 (en) Signal processing method, signal processing apparatus, computer-readable medium and a data recording medium
US7389004B2 (en) Image processing apparatus
JP4321484B2 (ja) 空間スケーラブル符号化方法、空間スケーラブル符号化装置、空間スケーラブル符号化プログラム、空間スケーラブル復号化方法、空間スケーラブル復号化装置及び空間スケーラブル復号化プログラム
JP4321483B2 (ja) 空間解像度変換方法及び空間解像度変換プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110907

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121004

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121009

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121204

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: 20130312

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130325

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20160419

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees