(58)【調査した分野】(Int.Cl.,DB名)
前記記憶制御手段は、前記記憶部に記憶される前記圧縮データおよび前記可逆圧縮前の画像データの格納先を示す先頭アドレスが、各判定領域ごとに等間隔刻みとなるように前記圧縮データおよび前記可逆圧縮前の画像データを記憶させる請求項1から請求項3のいずれかに記載のデータ記憶制御装置。
【発明を実施するための形態】
【0018】
以下、各実施形態について図面を参照して説明する。なお、異なる図面において同一の符号を付した要素は、同一のまたは相応する要素を示すものとする。
【0019】
<1.第1実施形態>
[1−1.概要]
図1は、第1実施形態に係るデータ記憶制御装置1Aの動作概要を示す図である。
【0020】
図1に示されるように、データ記憶制御装置1Aには、画像GA全体を複数のブロックに分割して得られるブロック単位の画像データ(「ブロック画像データ」とも称する)MBがライン単位で順次に入力される。データ記憶制御装置1Aでは、ライン単位で順次に入力される原画像データとしてのブロック画像データMBに対して、所定の可逆圧縮が施される。
【0021】
所定の可逆圧縮は、ブロック画像を区分して得られる複数の領域(「圧縮対象領域」または「圧縮処理領域」とも称する)ごとに行われる。所定の可逆圧縮は、データ量を確実に低減することができる処理であるが、圧縮対象領域によっては、可逆圧縮できない場合がある。
【0022】
そこで、データ記憶制御装置1Aは、複数の圧縮対象領域を含んだ所定の領域CRごとに、可逆圧縮が可能か否か、すなわち可逆圧縮後のデータから可逆圧縮前の画像データを復元できるか否かを判定し、判定結果に応じて、記憶部5に記憶させるデータを制御する。上記所定の領域CRは、可逆圧縮の成否を判定する際に用いられる領域であるため、「圧縮判定領域」とも称される。
【0023】
具体的には、複数の圧縮対象領域を含んだ圧縮判定領域CRにおいて可逆圧縮が可能であった場合、データ記憶制御装置1Aは、当該圧縮判定領域CRに関する可逆圧縮後の圧縮データCPを出力し、記憶部5に記憶させる。一方、圧縮判定領域CRにおいて可逆圧縮が不可能であった場合、データ記憶制御装置1Aは、上記圧縮判定領域CRに関する可逆圧縮前の画像データBDを出力し、記憶部5に記憶させる。
【0024】
このように、データ記憶制御装置1Aは、可逆圧縮の可能な圧縮判定領域CRについては、データ量の低減した圧縮データCPを記憶部5に記憶させるので、記憶部5には、画像GAに関するデータを、データ量を低減させて保存することが可能になる。このため、画像GAに関するデータの読出時および書込時には、バスの使用量を減らすことができるので、消費電力を低減することが可能になるとともに、データ転送に要する時間を短縮することができる。
【0025】
また、上述のように、データ記憶制御装置1Aは、可逆圧縮の可能な圧縮判定領域CRについては、データ量の低減した圧縮データCPを記憶部5に記憶させ、可逆圧縮の不可能な圧縮判定領域CRについては、可逆圧縮前の元の画像データBDを記憶部5に記憶させる。このようなデータ記憶制御装置1Aを用いることによれば、劣化のないロスレスデータを記憶部5に保存することができ、記憶部5に記憶されたデータから、元の画像GAを完全に復元することが可能になる。
【0026】
[1−2.データ記憶制御装置の構成]
次に、データ記憶制御装置1Aの構成を説明する。
図2は、本実施形態に係るデータ記憶制御装置1Aの構成を示すブロック図である。
【0027】
図2に示されるように、データ記憶制御装置1Aは、バス6を介して、記憶部5としてのDRAM50に電気的に接続されている。
【0028】
データ記憶制御装置1Aは、圧縮部11と、圧縮判定フラグ生成部12と、記憶制御部13と、DRAMコントローラ14とを備えており、データ記憶制御装置1Aに入力されたブロック画像データMBは、圧縮部11および記憶制御部13にそれぞれ入力される。
【0029】
圧縮部11は、圧縮対象領域ごとにブロック画像データMBに対して、所定の可逆圧縮を施す。また、圧縮部11は、複数の圧縮対象領域を含む圧縮判定領域において、可逆圧縮が可能であるか否かを判定する判定手段としての機能も有している。圧縮部11は、各圧縮判定領域に関する可逆圧縮後のデータを圧縮データとして記憶制御部13に出力するとともに、圧縮判定領域の可逆圧縮が可能であったか否かの判定結果を圧縮判定フラグ生成部12に出力する。
【0030】
圧縮判定フラグ生成部12は、圧縮部11から入力される判定結果に基づいて、圧縮判定フラグを生成する。具体的には、圧縮判定フラグ生成部12は、可逆圧縮が可能であったことを示す判定結果が入力された場合、圧縮判定フラグとして「1」を生成し、当該圧縮判定フラグを記憶制御部13に出力する。一方、可逆圧縮が不可能であったことを示す判定結果が入力された場合、圧縮判定フラグ生成部12は、圧縮判定フラグとして「0」を生成し、当該圧縮判定フラグを記憶制御部13に出力する。
【0031】
記憶制御部13は、圧縮判定フラグ生成部12から入力される圧縮判定フラグに基づいて、圧縮判定領域CRに関する可逆圧縮前の画像データBDおよび圧縮判定領域CRに関する可逆圧縮後の圧縮データCPのうち、いずれか一方のデータを選択し、出力する。具体的には、記憶制御部13は、可逆圧縮が可能であったことを示す判定フラグ「1」が入力された場合、圧縮判定領域CRに関する可逆圧縮後の圧縮データCPをDRAMコントローラ14に出力する。一方、記憶制御部13は、可逆圧縮が不可能であったことを示す判定フラグ「0」が入力された場合、圧縮判定領域CRに関する可逆圧縮前の画像データBDをDRAMコントローラ14に出力する。
【0032】
また、記憶制御部13は、出力データ(圧縮データCPまたは可逆圧縮前の画像データBD)の記憶部5における格納先を示すアドレス(書込アドレス)を生成するアドレス生成部としての機能も有している。すなわち、記憶制御部13は、圧縮データCPおよび可逆圧縮前の画像データBDの書込アドレスを生成して、DRAMコントローラ14に出力する。
【0033】
DRAMコントローラ14は、書込アドレスによって指定されるDRAM50中の格納先に、記憶制御部13から出力された出力データを記憶させる。
【0034】
[1−3.データ記憶制御装置の動作]
次に、データ記憶制御装置1Aの動作について説明する。
図3は、データ記憶制御装置1Aの動作のフローチャートである。
図4および
図5は、可逆圧縮手法を説明するための図である。なお、
図4、5では、各画素の画素値が8ビットで表現されているものとする。
【0035】
図3に示されるように、ステップSP11では、データ記憶制御装置1Aは、ブロック画像データMBが入力されたか否かを判定する。ブロック画像データMBが入力された場合、動作工程をステップSP12に移行させ、ブロック画像データMBが入力されなかった場合、動作工程は、終了となる。
【0036】
次のステップSP12〜ステップSP17の各工程は、圧縮部11で実行される工程であり、入力されたブロック画像データMBに対して、圧縮対象領域ごとに所定の可逆圧縮が施される。
【0037】
可逆圧縮の手法としては、例えば、それぞれが4×1画素の大きさを有する各圧縮対象領域RSにおいて基準画素を定め、当該基準画素の画素値を保持するとともに、基準画素以外の他の画素(通常画素)の画素値情報を、一定の方向に隣接した隣接画素間の画素値の差に基づいて表現する手法を採用することができる。
【0038】
ここでは、
図4に示されるように、入力されるブロック画像データMBが、16×16画素のブロック画像MGに関する画像データである場合を例にして説明する。なお、
図4では、ブロック画像MGにおける0行目から3行目までの各画素の画素値が例示されている。
【0039】
ステップSP12では、ブロック画像MGにおける各圧縮対象領域RSごとに、隣接画素間の画素値の差が算出される。
【0040】
具体的には、各圧縮対象領域RSの各画素において、左隣の画素との画素値の差が算出される。算出された差は、各画素の画素値に関する画素値情報となる。例えば、
図4に示されるように、圧縮対象領域RS1における基準画素KP1の画素値が「114」であり、基準画素KP1の右隣の画素P01の画素値が「110」であった場合、画素P01における画素値情報は、画素P01の画素値から基準画素KP1の画素値を引いた「−4」となる。このように左隣の画素との画素値の差を順次に算出して、圧縮対象領域RS1の各画素について、画素値情報PF1が取得される。
【0041】
次に、圧縮対象領域RS2の各画素について、画素値情報が取得される。圧縮対象領域RS2における基準画素KP2の画素値が「129」であり、基準画素KP2の右隣の画素P05の画素値が「125」であった場合、画素P05における画素値情報は、画素P05の画素値から基準画素KP2の画素値を引いた「−4」となる。このように左隣の画素との画素値の差を順次に算出して、圧縮対象領域RS2の各画素について、画素値情報PF2が取得される。
【0042】
上述のように、ステップSP12では、ブロック画像MGにおける、各圧縮対象領域RSごとに、基準画素以外の各通常画素について、隣接画素間の画素値の差をそれぞれ算出することによって、各画素の画素値情報が取得される。
【0043】
各画素の画素値情報を用いれば、基準画素の画素値から各通常画素の画素値を特定することが可能であることから、通常画素ごとに算出される隣接画素との画素値の差は、各通常画素の画素値を、基準画素の画素値から特定できるように算出されるとも表現できる。
【0044】
なお、圧縮対象領域における画素値情報は、圧縮対象領域の隅に位置する1の画素を基準画素とし、当該基準画素以外の他の通常画素について、隣接画素間の画素値の差を算出することによって得られるとも表現できる。
【0045】
次のステップSP13では、圧縮判定領域ごとに、基準画素を除く各画素の画素値情報が、いずれも規定の情報量(規定情報量)で表現可能か否かが判定される。当該規定情報量は、画素値情報を表現するために予め定められた容量(「画素表現容量」とも称する)であり、基準画素の画素値、換言すれば原画像データの画素値を表現するビット数よりも少ないビット数に設定される。ここでは、ブロック画像MGの画素の画素値が8ビットで表現される場合を例示しているので、規定情報量は、例えば、4ビット、5ビット、または6ビット等に設定される。
【0046】
具体的には、表現容量が5ビットに設定されている場合、ステップSP13では、圧縮判定領域ごとに、基準画素を除く各通常画素の画素値情報が5ビットで表現可能か否かが判定されることになる。5ビットで表現可能か否かの判定は、画素値情報が5ビットで表現可能な数値範囲(すなわち−16から+15)に含まれているか否かに基づいて行うことができる。なお、ここでは、負数の画素値情報を2の補数を用いて表すものとする。
【0047】
例えば、
図4に示されるように、ブロック画像MGにおける0行目から3行目までにわたって設定される16個の圧縮対象領域RSを含む領域を、圧縮判定領域CR1とした場合、当該圧縮判定領域CR1に含まれる各通常画素の画素値情報は、全て5ビットで表現することができる。このため、当該圧縮判定領域CR1に含まれる各通常画素の画素値情報は、5ビットで表現可能と判定されることになる。
【0048】
これに対して、或るブロック画像における、圧縮判定領域CR2に含まれる各画素の画素値が、
図5に示される画素値であった場合、画素Pxxに関する画素値情報「−20」を5ビットで表現することができない。このため、当該圧縮判定領域CR2に含まれる各通常画素の画素値情報は、5ビットで表現不可能と判定されることになる。
【0049】
ステップSP13において、圧縮判定領域に含まれる各画素の画素値情報が規定情報量で表現可能と判定された場合、動作工程は、ステップSP14に移行される。一方、圧縮判定領域に含まれる各画素の画素値情報が規定情報量で表現不可能と判定された場合、動作工程は、ステップSP16に移行される。
【0050】
ステップSP14では、規定情報量で表現可能と判定された圧縮判定領域に含まれる画素値情報を、規定情報量で表現することによって、圧縮判定領域に関する圧縮データCPを生成する。
【0051】
具体的には、規定情報量が5ビットである場合は、隣接画素間の画素値の差として算出された画素値情報の基数を変換し、2の補数を用いて5ビットで表現する。これにより、基準画素を除く各画素の画素値情報を5ビットで表現した圧縮データCPが生成されることになる。このように、規定情報量が5ビットであった場合は、8ビットで表現されていた各通常画素の画素値が、5ビットで表現されることになるので、データ量を低減することが可能になる。
【0052】
ここでは、画素値情報を表現するための規定情報量が5ビットであった場合を例示したが、当該規定情報量を変更すれば、圧縮率を変更することができる。
【0053】
例えば、所定の情報量を4ビットにすると、8ビットで表現されていた各画素の画素値が、4ビットで表現されることになるので、データ量は、約1/2に低減されることになる。
【0054】
また、規定情報量を6ビットにすると、8ビットで表現されていた各画素の画素値が、6ビットで表現されることになるので、データ量は、約3/4に低減されることになる。
【0055】
このように、圧縮部11は、圧縮対象領域に含まれる隣接画素間の画素値の差を算出することによって、画素値情報を取得する算出手段と、当該算出手段によって算出された隣接画素間の画素値の差を、基準画素の画素値を表現するビット数よりも少ないビット数で表現することによってデータ量を変換し、圧縮判定領域ごとに圧縮データCPを生成する変換手段とを有している。そして、圧縮部11によって生成された圧縮判定領域ごとの圧縮データCPは、記憶制御部13に出力される。
【0056】
なお、圧縮部11から出力される圧縮データCPには、当該圧縮データCPを生成する際に画素値の差を算出した方向を示す方向フラグが含まれている。当該方向フラグは、圧縮データCPを伸張する際に利用される。
【0057】
次のステップSP15では、可逆圧縮が可能であったことを示す判定結果が、圧縮部11から圧縮判定フラグ生成部12に出力される。
【0058】
ステップSP16では、圧縮判定フラグ生成部12において、可逆圧縮が可能であったことを示す圧縮判定フラグ(圧縮可能フラグ)「1」が生成され、記憶制御部13に出力される。
【0059】
そして、ステップSP17では、記憶制御部13によって、圧縮判定領域に関する圧縮データCPおよび圧縮判定フラグがDRAMコントローラ14に出力される。また、記憶制御部13は、圧縮データCPおよび圧縮判定フラグのDRAM50における格納先を示す書込アドレスをも生成し、出力する。
【0060】
また、ステップSP13からステップSP18に移行された場合、ステップSP18では、可逆圧縮が不可能であったことを示す判定結果が、圧縮部11から圧縮判定フラグ生成部12に出力される。
【0061】
次のステップSP19では、圧縮判定フラグ生成部12において、可逆圧縮が不可能であったことを示す圧縮判定フラグ(圧縮不可能フラグ)「0」が生成され、記憶制御部13に出力される。
【0062】
ステップSP20では、記憶制御部13によって、圧縮判定領域に関する可逆圧縮前の画像データBDおよび不可能判定フラグがDRAMコントローラ14に出力される。また、記憶制御部13は、圧縮判定領域に関する可逆圧縮前の画像データBDおよび不可能判定フラグのDRAM50における格納先を示す書込アドレスをも生成し、出力する。
【0063】
なお、圧縮判定領域の大きさは、圧縮判定領域に含まれる画像データのデータ量が、一度のDMA転送で転送可能なデータ量以下となるように設定されることが好ましく、このような設定基準を満たすように、圧縮判定領域の大きさを決定した場合、DMA転送によって、データ記憶制御装置1Aに入力される画像データに対して、順次に圧縮処理を施すことが可能になる。
【0064】
なお、上述の可逆圧縮の説明で用いた画素値は、画像GAが白黒画像であれば、輝度信号の値に相当し、画像GAがカラー画像であれば、輝度信号Y、並びに色に関する色信号に相当する。
【0065】
例えば、YUV形式で表されるカラー画像では、輝度信号Y、並びに2つの色差信号U,Vが画素値として用いられ、Y,U,Vそれぞれの値について上記圧縮処理が実行されることになる。
図6は、YUV420形式のブロック画像MG1に対して施される、圧縮処理の概要図である。
【0066】
図6に示されるように、YUV420形式のカラー画像を分割して得られる16×16画素のブロック画像MG1は、16×16画素分の輝度信号Yと、8×8画素分の色差信号Uと、8×8画素分の色差信号Vとを有している。
【0067】
このようなブロック画像MG1における16×4画素分の領域を圧縮判定領域とした場合、輝度信号Yに関しては16×4画素の領域YRが圧縮判定の対象となり、2つの色差信号U,Vに関しては8×2画素の領域UR,VRが圧縮判定の対象となる。すなわち、輝度信号Yに関する領域YRおよび色差信号U,Vに関する領域UR,VRに含まれる各通常画素の画素値情報が、全て規定情報量で表現できるか否かに基づいて圧縮判定が行われる。
【0068】
ここで、ブロック画像MG1に対する圧縮処理についてさらに詳述する。
図7は、圧縮判定領域に設定される圧縮対象領域を示す図である。
図8および
図9は、圧縮判定領域に含まれる各画素の画素値の例を示す図である。
【0069】
輝度信号Yについては、4×1画素の大きさを有する領域を圧縮対象領域とし、色差信号U,Vについては、8×1画素の大きさを有する領域を圧縮対象領域とすると、
図7に示されるように、輝度信号Yに関する圧縮判定領域CRyには、16個の圧縮対象領域が含まれ、色差信号U,Vに関する圧縮判定領域CRu,CRvには、2個の圧縮対象領域が含まれることになる。
【0070】
データ記憶制御装置1Aは、上述のステップSP12において、輝度信号Y、および色差信号U,Vそれぞれについて各圧縮対象領域ごとに隣接画素間の画素値の差を算出する。そして、ステップSP13において、圧縮判定領域ごとに、基準画素を除く各通常画素の画素値情報が、いずれも規定情報量で表現可能か否かが判定される。
【0071】
例えば、YUV420形式のブロック画像MG1における圧縮判定領域に含まれる各画素の画素値が、
図8に示される画素値であった場合、当該圧縮判定領域に含まれる各通常画素の画素値情報は、全て5ビットで表現することができる。このため、当該圧縮判定領域に含まれる各通常画素の画素値情報は、5ビットで表現可能と判定されることになる。
【0072】
これに対して、ブロック画像MG1における、圧縮判定領域に含まれる各画素の画素値が、
図9に示される画素値であった場合、輝度信号Yに関する画素Pxxの画素値情報「−20」を5ビットで表現することができない。さらに、色差信号Vに関する画素Pyyの画素値情報「21」および画素Pzzの画素値情報「−17」を5ビットで表現することができない。このため、当該圧縮判定領域に含まれる各通常画素の画素値情報は、5ビットで表現不可能と判定されることになる。
【0073】
このように、YUV形式のブロック画像MG1に対しては、各成分ごとに、各圧縮対象領域における隣接画素間の画素値の差が算出される。そして、各成分ごとの圧縮判定の対象となる領域に含まれる各通常画素の画素値情報が、全て規定情報量で表現可能であるか否かに基づいて可逆圧縮の成否が判定される。
【0074】
また、色差信号U,Vは、輝度信号Yに比べて画素間の変化が比較的小さいので、色差信号U,Vに関する画素値情報を表現するための規定情報量を、輝度信号Yに関する画素値情報を表現するための規定情報量よりも減らしてもよい。すなわち、例えば、輝度信号に関しては、画素値情報を5ビットで表現し、色差信号に関しては、画素値情報を4ビットで表現するようにしてもよい。これによれば、信号の特性に合わせて、圧縮データのデータ量をさらに低減することが可能になる。
【0075】
[1−4.記憶制御について]
次に、記憶制御部13で実行される記憶制御処理について詳述する。
図10は、記憶部5におけるデータの記憶態様を示す図である。
【0076】
記憶制御部13は、可逆圧縮が可能であったことを示す判定フラグ「1」が入力された場合、圧縮判定領域に関する可逆圧縮後の圧縮データCPをDRAMコントローラ14に出力する。一方、記憶制御部13は、可逆圧縮が不可能であったことを示す判定フラグ「0」が入力された場合、圧縮判定領域に関する可逆圧縮前の画像データBDをDRAMコントローラ14に出力する。
【0077】
例えば、
図10に示されるように、各圧縮判定領域CR10〜CR17の各画像データBD10〜BD17のうち、画像データBD12,BD15が、可逆圧縮できない画像データであった場合を想定する。
【0078】
この場合、可逆圧縮可能な画像データBD10,BD11,BD13,BD14,BD16,BD17については、記憶制御部13は、対応する圧縮データCP10,CP11,CP13,CP14,CP16,CP17を記憶部5に記憶させる。
【0079】
これに対して、可逆圧縮不可能な画像データBD12,BD15については、記憶制御部13は、可逆圧縮前の画像データBD12,BD15を記憶部5に記憶させる。
【0080】
また、記憶制御部13は、各圧縮判定領域それぞれに対して、同じ大きさの記憶領域を割り当てて、データを記憶させる。
【0081】
具体的には、記憶制御部13は、圧縮判定領域の可逆圧縮前の画像データを記憶可能な記憶領域を、各圧縮判定領域それぞれのデータを記憶するための記憶領域として割り当てて、圧縮データまたは可逆圧縮前の画像データを記憶させる。
【0082】
このような記憶制御を行うことによれば、各圧縮判定領域に関するデータを記憶する記憶領域の先頭アドレスが、各圧縮判定領域に関するデータごとに同一間隔(等間隔)刻みのアドレスとなるため、各データの先頭アドレスを容易に特定することが可能になり、書き込みおよび読み出しの際のアドレスの指定が容易になる。すなわち、アドレス管理が容易になる。
【0083】
圧縮判定フラグは、圧縮判定領域の画像データを可逆圧縮できたか否かを示す1ビットのデータであるため、圧縮判定領域単位で記憶部5に記憶されることになる。圧縮判定フラグの記憶態様としては、例えば、
図10に示されるように、圧縮判定領域ごとの圧縮判定フラグを一つにまとめて圧縮判定フラグデータCPFとして記憶部5に記憶させればよい。
【0084】
このように、圧縮判定フラグを記憶させることにより、記憶部5に格納される各データのうち、どのデータが圧縮データCPであるのか、非圧縮データであるのかを、記憶部5に記憶されたデータから特定することが可能になる。圧縮判定フラグは、記憶部5に記憶されたデータから画像GAを復元する際に利用される。
【0085】
以上のように、第1実施形態のデータ記憶制御装置1Aは、画像中の複数の画素で構成される圧縮対象領域ごとに、データ量を低減させる可逆圧縮を施す圧縮部11と、複数の圧縮対象領域を含んだ圧縮判定領域ごとに、可逆圧縮が可能か否かを判定する判定手段と、或る圧縮判定領域に含まれる各圧縮対象領域の可逆圧縮が可能と判定された場合、当該或る圧縮判定領域における可逆圧縮後のデータを圧縮データとして記憶部5に記憶させ、或る圧縮判定領域に含まれる各圧縮対象領域の可逆圧縮が不可能と判定された場合、当該或る圧縮判定領域における可逆圧縮前の画像データを記憶部5に記憶させる記憶制御を、圧縮判定領域ごとに行う記憶制御部13とを備えている。
【0086】
このようなデータ記憶制御装置1Aによれば、圧縮判定領域における画像データの可逆圧縮が可能であった場合、圧縮データを記憶部5に記憶させ、圧縮判定領域における画像データの可逆圧縮が不可能だった場合、圧縮判定領域における可逆圧縮前の画像データを記憶部5に記憶させるので、データ劣化のないロスレスデータを生成しつつ、データ量を低減できる可能性が高くなる。
【0087】
また、データ記憶制御装置1Aのように、画像中の複数の画素で構成される圧縮対象領域ごとに可逆圧縮を施すことによれば、1回の可逆圧縮の対象範囲を狭くすることができるので、可逆圧縮の成功率が高くなり、画像全体でデータの圧縮率を高めることが可能になる。
【0088】
[1−5.データ読出制御装置について]
次に、上述のデータ記憶制御装置1Aを用いて記憶部5に記憶されたデータを読み出すデータ読出制御装置について説明する。
図11は、本実施形態に係るデータ読出制御装置100の構成を示すブロック図である。
【0089】
図11に示されるように、データ読出制御装置100は、バス106を介して、記憶部5としてのDRAM50に電気的に接続されている。
【0090】
データ読出制御装置100は、読出アドレス生成部111と、DRAMコントローラ112と、フラグ格納部113と、伸張部114と、セレクタ(選択手段)115とを備えており、DRAM50に記憶されたデータ(記憶データ)からブロック画像データMBを復元し、出力する。
【0091】
読出アドレス生成部111は、DRAM50に記憶されたデータのうち、読出対象のデータの格納先を示すアドレス(読出アドレス)を生成して、DRAMコントローラ112に出力する。
【0092】
DRAMコントローラ112は、読出アドレスによって指定される格納先に記憶されたデータを、DRAM50に出力させる。また、DRAMコントローラ112は、DRAM50から圧縮判定フラグデータCPFを読み出した場合は、当該圧縮判定フラグデータCPFをフラグ格納部113に出力する。また、DRAMコントローラ112は、DRAM50から圧縮判定領域に関する圧縮データCPまたは圧縮判定領域に関する可逆圧縮前の画像データを読み出した場合は、当該圧縮データCPおよび当該可逆圧縮前の画像データを伸張部114およびセレクタ115に出力する。
【0093】
このように、読出アドレス生成部111およびDRAMコントローラ112は、協働して動作し、DRAM50に記憶されたデータを読み出す読出手段として機能する。
【0094】
フラグ格納部113は、SRAMまたはレジスタ等によって構成され、DRAM50から読み出された圧縮判定フラグデータCPFを記憶する。
【0095】
伸張部114は、DRAM50から読み出された圧縮データCPを伸張して、圧縮判定領域に関する画像データを生成する。伸張手法としては、可逆圧縮の際に採用された可逆圧縮手法に対応する手法が採用される。例えば、上記可逆圧縮手法を用いて圧縮されたデータに対しては、逆の手順で伸張処理が行われる。伸張後のデータは、セレクタ115に入力される。
【0096】
セレクタ115は、フラグ格納部113から入力される圧縮判定フラグに基づいて、伸張部114から入力されたデータおよびDRAMコントローラ112から入力されたデータのうち、いずれか一方のデータを選択して出力する。具体的には、セレクタ115は、可逆圧縮が可能であったことを示す判定フラグ「1」が入力された場合、伸張部114から入力されたデータを出力する。一方、セレクタ115は、可逆圧縮が不可能であったことを示す判定フラグ「0」が入力された場合、DRAMコントローラ112から入力されたデータを出力する。
【0097】
ここで、上述のような構成を有するデータ読出制御装置100の動作について説明する。
図12は、データ読出制御装置100の動作のフローチャートである。
【0098】
図12に示されるように、DRAM50から画像に関するデータを読み出す前に、まず、ステップSP51において、DRAM50に記憶された圧縮判定フラグデータCPFが取得される。
【0099】
具体的には、読出アドレス生成部111は、圧縮判定フラグデータCPFの格納先を示す読出アドレスを生成して、当該読出アドレスをDRAMコントローラ112に出力する。DRAMコントローラ112は、当該読出アドレスの入力に応じて、圧縮判定フラグデータCPFをDRAM50から読み出して、当該圧縮判定フラグデータCPFをフラグ格納部113に記憶させる。
【0100】
次のステップSP52では、読出対象となる画像データに関する圧縮データCP或いは当該画像データそのものがDRAM50から読み出される。
【0101】
具体的には、読出アドレス生成部111は、読出対象の圧縮判定領域に関する圧縮判定フラグをフラグ格納部113から取得し、読出対象の圧縮判定領域に関する画像データが可逆圧縮可能であったか否かを特定する。そして、可逆圧縮可能であった場合、読出アドレス生成部111は、DRAM50から読出対象の圧縮判定領域に関する圧縮データCPを読み出すために、読出アドレスを生成し、当該読出アドレスをDRAMコントローラ112に出力する。一方、可逆圧縮不可能であった場合、読出アドレス生成部111は、DRAM50から読出対象の圧縮判定領域に関する画像データを読み出すための読出アドレスを生成し、当該読出アドレスをDRAMコントローラ112に出力する。
【0102】
DRAMコントローラ112は、読出アドレスによって指定される格納先に記憶された、読出対象の圧縮判定領域に関する圧縮データCP或いは読出対象の圧縮判定領域に関する画像データを、DRAM50に出力させる。そして、DRAMコントローラ112は、DRAM50から出力された、読出対象の圧縮判定領域に関する圧縮データCP或いは読出対象の圧縮判定領域に関する画像データを伸張部114およびセレクタ115に出力する。
【0103】
ステップSP53では、伸張部114によって、読出対象の圧縮判定領域に関する圧縮データCPの伸張が行われる。
【0104】
ステップSP54では、セレクタ115によって、画像データの出力制御が行われる。具体的には、圧縮判定フラグに基づいて、伸張部114から入力されたデータおよびDRAMコントローラ112から入力されたデータのうち、いずれか一方のデータが選択され、選択されたデータがブロック画像データMBの一部として出力される。
【0105】
ステップSP55では、他の画像データをさらに出力するか否かが判定される。他の画像データをさらに出力する場合、動作工程は、ステップSP52に移行され、ステップSP52〜ステップSP55の各工程が繰り返し実行される。一方、他の画像データを出力しない場合は、動作工程は、終了となる。
【0106】
以上のように、データ読出制御装置100は、ブロック単位の画像データMBにおける圧縮判定領域に関する画像データが可逆圧縮可能であったか否かを示す圧縮判定フラグと、圧縮判定領域に関する圧縮データCP、および圧縮判定領域に関する画像データのうちのどちらか一方とを記憶データとして記憶した記憶部5から、記憶データを読出可能に構成される。そして、データ読出制御装置100は、記憶データを読み出す読出手段と、記憶データに含まれる圧縮データCPを伸張可能な伸張部114と、可逆圧縮が可能であったことを示す圧縮判定フラグが記憶データに含まれている場合、伸張後のデータを出力し、可逆圧縮が不可能であったことを示す圧縮判定フラグが記憶データに含まれている場合、記憶データに含まれる圧縮判定領域に関する画像データを出力するセレクタ115とを備えている。
【0107】
このようなデータ読出制御装置100によれば、データ記憶制御装置1Aを用いて記憶部5に記憶されたデータを読み出して、ブロック単位の画像データMBを圧縮判定領域ごとに順次に出力することが可能になる。なお、圧縮判定領域に含まれる画像データのデータ量が、一度のDMA転送で転送可能なデータ量以下であった場合、データ読出制御装置100から順次に出力される画像データを順次にDMA転送することが可能になる。
【0108】
[1−6.適用例]
上述したデータ記憶制御装置1Aおよびデータ読出制御装置100は、例えば、H.264、MPEG(Moving Picture Experts Group)−2、MPEG−4等の動画像圧縮方式で動画像データに対して圧縮処理(符号化処理)を施す符号化部(エンコーダ)内で用いられる。
図13は、データ記憶制御装置1Aおよびデータ読出制御装置100を符号化部200内で用いた場合の適用例を示す図である。
【0109】
図13には、データ記憶制御装置1Aが、逆量子化および逆DCTを実行する局所復号部201から出力される残差信号51と、イントラ予測部202或いはインター予測部203で生成された予測画像52とを加算して得られる参照画像53を記憶するメモリ204の入力に設けられるとともに、データ読出制御装置100が当該メモリ204の出力に設けられた態様が示されている。
【0110】
図13の符号化部200では、参照画像に関するデータのメモリ204への書込時およびメモリ204からの読出時におけるバスの使用量を減らすことができる。
【0111】
<2.第2実施形態>
次に、第2実施形態について説明する。第2実施形態に係るデータ記憶制御装置1Bでは、入力される画像の複雑度に応じて、可逆圧縮の圧縮条件が変更される。なお、データ記憶制御装置1Bにおいて、第1実施形態のデータ記憶制御装置1Aと共通する部分については同じ符号を付して説明を省略する。
【0112】
上述のように、第2実施形態のデータ記憶制御装置1Bは、入力される画像の複雑度に応じて、可逆圧縮の圧縮条件を変更する。
図14は、第2実施形態のデータ記憶制御装置1Bの構成を示すブロック図である。
【0113】
図14に示されるように、データ記憶制御装置1Bは、複雑度判定部15をさらに有している。
【0114】
データ記憶制御装置1Bは、圧縮部11、圧縮判定フラグ生成部12、記憶制御部13、およびDRAMコントローラ14に加えて、複雑度判定部15をさらに備えている。
【0115】
データ記憶制御装置1Bに入力された画像データは、複雑度判定部15、圧縮部11および記憶制御部13にそれぞれ入力される。
【0116】
複雑度判定部15は、入力された画像の複雑度を判定して、圧縮条件を決定する機能を有している。
【0117】
具体的には、複雑度判定部15は、入力された画像に対して例えばアダマール変換を施すことによって、画像の周波数成分を取得する。そして、複雑度判定部15は、取得した周波数成分と所定の基準値とを比較することによって、低周波成分の多い画像を、複雑度の低い画像として判定し、低周波成分の少ない画像(高周波成分の多い画像)を、複雑度の高い画像として判定する。
【0118】
複雑度判定部15によって決定される圧縮条件には、圧縮対象領域の大きさ、画素値情報を表現するための規定情報量の値、および圧縮対象領域において隣接画素間の画素値の差を算出する方向が存在する。
【0119】
圧縮対象領域の大きさは、当該圧縮対象領域における可逆圧縮の成功率および圧縮率に影響を及ぼし、圧縮対象領域を小さくすると、圧縮対象領域における可逆圧縮の成功率は高くなるが、圧縮対象領域ごとの圧縮率は低下する。
【0120】
複雑度の高い画像では、隣接画素間の画素値の差が大きいと想定されるので、複雑度の高い画像に対しては、圧縮対象領域を小さくして、可逆圧縮の成功率を高めることが好ましい。一方、複雑度の低い画像では、隣接画素間の画素値の差が小さいと想定されるので、複雑度の低い画像に対しては、圧縮対象領域を大きく設定して、圧縮対象領域ごとの圧縮率を向上させることが好ましい。
【0121】
また、画素値情報を表現するための規定情報量の値は、圧縮対象領域における可逆圧縮の成功率および圧縮率に影響を及ぼし、規定情報量の値を大きくすると、圧縮対象領域における可逆圧縮の成功率は高くなるが、圧縮対象領域ごとの圧縮率は低下する。
【0122】
複雑度の高い画像では、隣接画素間の画素値の差が大きいと想定されるので、複雑度の高い画像に対しては、規定情報量の値を大きくして、可逆圧縮の成功率を高めることが好ましい。一方、複雑度の低い画像では、隣接画素間の画素値の差が小さいと想定されるので、複雑度の低い画像に対しては、規定情報量の値を小さくして、圧縮率を高めることが好ましい。
【0123】
また、隣接画素間の画素値の差の算出方向は、圧縮対象領域における可逆圧縮の成功率に影響を及ぼし、画像において隣接画素間の相関性が高い方向を、隣接画素間の画素値の差を算出する方向とすることが好ましい。
【0124】
このため、複雑度判定部15は、水平方向の周波数成分と垂直方向の周波数成分とを比較して、水平方向および垂直方向のうち、周波数成分の低い方向を、隣接画素間の画素値の差を算出する方向とする。
【0125】
上述のような基準に基づいて決定される圧縮条件は、圧縮部11および圧縮判定フラグ生成部12に出力される。圧縮部11では、複雑度判定部15から入力される圧縮条件を反映した、可逆圧縮が施される。圧縮判定フラグ生成部12は、圧縮判定フラグおよび圧縮条件に関する情報(圧縮条件情報)を記憶制御部13に出力する。記憶制御部13は、可逆圧縮が可能であった場合、圧縮判定領域に関する圧縮データ、可能判定フラグおよび圧縮条件情報をDRAMコントローラ14に出力して、DRAM50に記憶させる。
【0126】
このように、データ記憶制御装置1Bによれば、画像の複雑度に応じた圧縮条件で可逆圧縮を行うことができるので、圧縮によりデータ量を低減できる可能性が高くなる。
【0127】
なお、複雑度判定部15による複雑度の判定は、画像ごと、或いは、ブロック画像ごとに行えばよい。
【0128】
<3.変形例>
以上、実施の形態について説明したが、この発明は、上記に説明した内容に限定されるものではない。
【0129】
例えば、上記各実施形態では、記憶部5としてDRAM50を例示したが、当該記憶部5はSRAMであってもよい。
【0130】
また、上記各実施形態では、4×1画素の大きさを有する領域を圧縮対象領域としていたが、これに限定されない。
図15は、圧縮対象領域の別態様を示す図である。
【0131】
図15に示されるように、圧縮対象領域RSは、4×2画素の大きさを有する領域RS10、或いは、1×4画素の大きさを有する領域RS11であってもよい。
【0132】
また、上記各実施形態のデータ記憶制御装置1A,1Bでは、ブロック画像データMBを1行ごとにデータ記憶制御装置1A,1Bに順次に入力させる態様を例示していたが、これに限定されない。
図16は、YUV420形式のブロック画像MG10に対して施される、圧縮処理の概要図である。
【0133】
図16では、YUV420形式のカラー画像を分割して得られる16×16画素のブロック画像MG10が、1行飛ばしでデータ記憶制御装置1A(1B)に入力される態様が示されている。すなわち、
図16には、最初に0,2,4,6行目の画像データBD11が入力され、2番目に、1,3,5,7行目の画像データBD12が入力され、3番目に、8,10,12,14行目の画像データBD13が入力され、4番目に、9,11,13,15行目の画像データBD14が入力される態様が示されている。
【0134】
このように、1行飛ばしで画像データが入力される場合、各回ごとの画像データでは、垂直方向の隣接画素間の画素値の相関性が低くなるので、圧縮対象領域において隣接画素間の画素値の差を算出する方向は、垂直方向とするよりも水平方向とする方がよい。すなわち、圧縮部11は、同一行の画素を含むように(換言すれば異なる行の画素を含まないように)、圧縮対象領域を設定し、当該圧縮対象領域に対して可逆圧縮を施せばよい。
【0135】
なお、圧縮判定領域の大きさは、圧縮判定領域に含まれる画像データのデータ量が、一度のDMA転送で転送可能なデータ量以下となるように設定することが好ましく、このような設定基準を満たすように、圧縮判定領域の大きさを決定した場合、DMA転送によって、データ記憶制御装置1A,1Bに入力される画像データに対して、順次に圧縮処理を施すことが可能になる。
【0136】
また、上記実施形態では、データ記憶制御装置1A,1Bに入力されるブロック画像MGの大きさが16×16画素である場合を例示したが、これに限定されない。具体的には、ブロック画像の大きさは、4×4画素、8×8画素、および8×16画素等のN画素×M画素(N、Mは自然数)の任意の大きさであってもよい。
【0137】
また、上記実施形態では、データ記憶制御装置1A,1Bとデータ読出制御装置100とを別個に説明したが、当該データ記憶制御装置1と当該データ読出制御装置100とは、同一の装置内で搭載される態様であってもよい。
【0138】
本発明は詳細に説明されたが、上記した説明は、すべての局面において、例示であって、本発明がそれに限定されるものではない。例示されていない無数の変形例が、本発明の範囲から外れることなく想定され得る。