(57)【要約】【課題】メモリを効率的に使用可能なデータ記憶技術を提供する。【解決手段】データ記憶制御装置は、圧縮部と、圧縮データを書込データとしてメモリ１０に書き込む書込制御部と、圧縮部に供給する画像データを一時的に保持する入力バッファメモリ３１とを含む。圧縮部は、第１ブロックごとに画像データを圧縮し、Ｎ個（Ｎは１以上の整数）の第１ブロックから成る第２ブロックＢＬ２ごとに圧縮データを出力する。圧縮部では、圧縮対象でない第１ブロックを参照対象として利用する（参照型処理）。入力バッファメモリ３１は、圧縮対象および参照対象としての利用が終了していない第１ブロックについて画像データを保持し、圧縮対象および参照対象としての利用が終了した第１ブロックに割り当てられている記憶領域を所定タイミングで解放する。【選択図】図４３
2015195430.tif 000002
【特許請求の範囲】
【請求項１】
画像データを圧縮して圧縮データを出力する圧縮部と、
前記圧縮データを書込データとしてメモリに書き込む書込制御部と、
前記圧縮部に供給する前記画像データを一時的に保持する入力バッファメモリと
を備え、
前記圧縮部は、所定の領域サイズの画像ブロックから成る第１ブロックごとに前記画像データを圧縮し、Ｎ個（Ｎは１以上の整数）の前記第１ブロックから成る第２ブロックごとに前記圧縮データを出力し、
前記圧縮部での処理は、圧縮対象でない前記第１ブロックを参照対象として利用する参照型処理を含み、
前記入力バッファメモリは、前記圧縮対象および前記参照対象としての利用が終了していない前記第１ブロックについて前記画像データを保持し、前記圧縮対象および前記参照対象としての利用が終了した前記第１ブロックに割り当てられている記憶領域を所定タイミングで解放する、
データ記憶制御装置。
【請求項２】
請求項１に記載のデータ記憶制御装置であって、
前記圧縮部は、前記入力バッファメモリから、Ｘ個（Ｘは１以上の整数）の前記第２ブロックから成る第３ブロック単位で前記画像データを取得し、
前記入力バッファメモリは、前記第３ブロックと関連付けて前記記憶領域を管理する、
データ記憶制御装置。
【請求項３】
請求項１または請求項２に記載のデータ記憶制御装置であって、
前記圧縮部から出力された前記書込データを、前記書込制御部に供給するために、一時的に保持する出力バッファメモリをさらに備え、
前記メモリは、複数のバンクを有し、
前記書込制御部は、前記書込データごとに前記複数のバンクを切り替えて、前記書込データを前記メモリに書き込む、
データ記憶制御装置。
【請求項４】
請求項３に記載のデータ記憶制御装置であって、
前記書込制御部は、前記出力バッファメモリにＹ個（Ｙは２以上の整数）のバンク用の前記書込データが蓄積されるのを待ち、前記Ｙ個の前記書込データをまとめて前記メモリに書き込む、データ記憶制御装置。
【請求項５】
請求項１から請求項４のうちのいずれか一項に記載のデータ記憶制御装置であって、
前記入力バッファメモリよりも前段では画像処理がマクロブロック単位で行われ、
Ｖ個（Ｖは１以上の整数）の前記第２ブロックがＷ個（Ｗは１以上の整数）の前記マクロブロックに対応する、
データ記憶制御装置。
【請求項６】
（ａ）画像データを圧縮して圧縮データを出力する工程と、
（ｂ）前記圧縮データを書込データとしてメモリに書き込む工程と、
（ｃ）前記工程（ａ）で利用する前記画像データを入力バッファメモリに一時的に保持する工程と
を備え、
前記工程（ａ）では、所定の領域サイズの画像ブロックから成る第１ブロックごとに前記画像データを圧縮し、Ｎ個（Ｎは１以上の整数）の前記第１ブロックから成る第２ブロックごとに前記圧縮データを出力し、
前記工程（ａ）は、圧縮対象でない前記第１ブロックを参照対象として利用する参照型処理を含み、
前記工程（ｃ）では、前記圧縮対象および前記参照対象としての利用が終了していない前記第１ブロックについて前記画像データを前記入力バッファメモリに保持し、前記圧縮対象および前記参照対象としての利用が終了した前記第１ブロックに割り当てられている、前記入力バッファメモリの記憶領域を所定タイミングで解放する、
データ記憶制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ記憶制御装置およびデータ記憶制御方法に関する。
【背景技術】
【０００２】
データ記憶には、様々な技術が関連する。
【０００３】
例えば、静止画像および動画像の画像データには、データ量の低減を目的として、圧縮処理が施される。特許文献１には、不可逆圧縮と可逆圧縮とを組合せて、ビデオデータをより小さいサイズに圧縮する技術が記載されている。また、特許文献２には、データ劣化のないロスレスデータを生成しつつ、データ量を低減できる可能性の高い技術が記載されている。
【０００４】
また、特許文献３には、複数のバンクを有し同一バンクへ連続してアクセスする際には前後のアクセス間に所定数のクロックサイクル以上の間隔を空けることが要求されるメモリに対するアクセス技術が記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−２６０９７７号公報
【特許文献２】特開２０１３−１３５２５４号公報
【特許文献３】特許第５１４７１０２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
データ記憶技術においては従来から、様々な要望が存在する。例えば、メモリの使用容量を削減したい、メモリを効率的に使用したい、等の要望である。特許文献１〜３の技術はその要望に応えるべく開発されたものの一例と考えられる。
【０００７】
本発明は、従来とは全く異なる技術によって、例えばメモリの使用容量の削減とメモリの効率的な使用とのうちのいずれかを実現することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の第１の態様に係るデータ記憶制御装置は、画像データを圧縮して圧縮データを出力する圧縮部と、前記圧縮データを書込データとしてメモリに書き込む書込制御部と、前記圧縮部に供給する前記画像データを一時的に保持する入力バッファメモリとを含む。前記圧縮部は、所定の領域サイズの画像ブロックから成る第１ブロックごとに前記画像データを圧縮し、Ｎ個（Ｎは１以上の整数）の前記第１ブロックから成る第２ブロックごとに前記圧縮データを出力する。前記圧縮部での処理は、圧縮対象でない前記第１ブロックを参照対象として利用する参照型処理を含む。前記入力バッファメモリは、前記圧縮対象および前記参照対象としての利用が終了していない前記第１ブロックについて前記画像データを保持し、前記圧縮対象および前記参照対象としての利用が終了した前記第１ブロックに割り当てられている記憶領域を所定タイミングで解放する。
【０００９】
本発明の第２の態様に係るデータ記憶制御装置は、第１の態様に係るデータ記憶制御装置であって、前記圧縮部は、前記入力バッファメモリから、Ｘ個（Ｘは１以上の整数）の前記第２ブロックから成る第３ブロック単位で前記画像データを取得し、前記入力バッファメモリは、前記第３ブロックと関連付けて前記記憶領域を管理する。
【００１０】
本発明の第３の態様に係るデータ記憶制御装置は、第１または第２の態様に係るデータ記憶制御装置であって、前記圧縮部から出力された前記書込データを、前記書込制御部に供給するために、一時的に保持する出力バッファメモリをさらに含む。前記メモリは、複数のバンクを有し、前記書込制御部は、前記書込データごとに前記複数のバンクを切り替えて、前記書込データを前記メモリに書き込む。
【００１１】
本発明の第４の態様に係るデータ記憶制御装置は、第３の態様に係るデータ記憶制御装置であって、前記書込制御部は、前記出力バッファメモリにＹ個（Ｙは２以上の整数）のバンク用の前記書込データが蓄積されるのを待ち、前記Ｙ個の前記書込データをまとめて前記メモリに書き込む。
【００１２】
本発明の第５の態様に係るデータ記憶制御装置は、第１〜第４の態様うちのいずれか一つに係るデータ記憶制御装置であって、前記入力バッファメモリよりも前段では画像処理がマクロブロック単位で行われ、Ｖ個（Ｖは１以上の整数）の前記第２ブロックがＷ個（Ｗは１以上の整数）の前記マクロブロックに対応する。
【００１３】
本発明の第６の態様に係るデータ記憶制御方法は、（ａ）画像データを圧縮して圧縮データを出力する工程と、（ｂ）前記圧縮データを書込データとしてメモリに書き込む工程と、（ｃ）前記工程（ａ）で利用する前記画像データを入力バッファメモリに一時的に保持する工程とを含む。前記工程（ａ）では、所定の領域サイズの画像ブロックから成る第１ブロックごとに前記画像データを圧縮し、Ｎ個（Ｎは１以上の整数）の前記第１ブロックから成る第２ブロックごとに前記圧縮データを出力する。前記工程（ａ）は、圧縮対象でない前記第１ブロックを参照対象として利用する参照型処理を含む。前記工程（ｃ）では、前記圧縮対象および前記参照対象としての利用が終了していない前記第１ブロックについて前記画像データを前記入力バッファメモリに保持し、前記圧縮対象および前記参照対象としての利用が終了した前記第１ブロックに割り当てられている、前記入力バッファメモリの記憶領域を所定タイミングで解放する。
【発明の効果】
【００１４】
上記の第１および第６の態様によれば、入力バッファメモリを効率良く利用することができる。また、第１の態様を引用する第２〜第５の態様においても同様の効果が得られる。
【００１５】
本発明の目的、特徴、局面、および利点は、以下の詳細な説明と添付図面とによって、より明白となる。
【図面の簡単な説明】
【００１６】
【図１】実施の形態１について、符号化装置を説明するブロック図である。
【図２】実施の形態１について、データ記憶制御装置を説明するブロック図である。
【図３】実施の形態１について、処理ブロックを説明する図である（Ｙ成分）。
【図４】実施の形態１について、処理ブロックを説明する図である（Ｃｂ成分およびＣｒ成分）。
【図５】実施の形態１について、ロスレス圧縮部の例を説明するブロック図である。
【図６】実施の形態１について、ロスレス圧縮の第１例を説明する概念図である。
【図７】実施の形態１について、ロッシー圧縮部の例を説明するブロック図である。
【図８】実施の形態１について、ロッシー圧縮処理部の第１例を説明するブロック図である。
【図９】実施の形態１について、ロッシー圧縮処理部の第１例を説明する図である。
【図１０】実施の形態１について、ロッシー圧縮処理部の第２例を説明するブロック図である。
【図１１】実施の形態１について、ロッシー圧縮処理部の第３例を説明するブロック図である。
【図１２】実施の形態１について、ロッシー圧縮処理部の第４例を説明するブロック図である。
【図１３】実施の形態１について、圧縮データ生成部の一例を説明するブロック図である。
【図１４】実施の形態１について、弱いＬＰＦによる演算例を説明する図である。
【図１５】実施の形態１について、強いＬＰＦによる演算例を説明する図である。
【図１６】実施の形態１について、情報保持精度の序列の例を説明する図である。
【図１７】実施の形態１について、第１の数値例を説明する図である（Ｙ成分）。
【図１８】実施の形態１について、第１の数値例を説明する図である（Ｃｂ成分）。
【図１９】実施の形態１について、第１の数値例を説明する図である（Ｃｒ成分）。
【図２０】実施の形態１について、第２の数値例を説明する図である。
【図２１】実施の形態１について、第２の数値例を説明する図である。
【図２２】実施の形態１について、第２の数値例を説明する図である。
【図２３】実施の形態１について、第２の数値例を説明する図である。
【図２４】実施の形態１について、第２の数値例を説明する図である。
【図２５】実施の形態１について、第２の数値例を説明する図である。
【図２６】実施の形態１について、第２の数値例を説明する図である。
【図２７】実施の形態１について、第２の数値例を説明する図である。
【図２８】実施の形態１について、ロスレス圧縮の第２例を説明する概念図である。
【図２９】実施の形態１について、第３の数値例を説明する図である。
【図３０】実施の形態１について、第３の数値例を説明する図である。
【図３１】実施の形態１について、第３の数値例を説明する図である。
【図３２】実施の形態１について、第３の数値例を説明する図である。
【図３３】実施の形態１について、第３の数値例を説明する図である。
【図３４】実施の形態１について、第３の数値例を説明する図である。
【図３５】実施の形態１について、第３の数値例を説明する図である。
【図３６】実施の形態１について、第３の数値例を説明する図である。
【図３７】実施の形態１について、ロッシー圧縮処理部の第５例を説明するブロック図である。
【図３８】実施の形態１について、ロッシー圧縮処理部の第５例を説明する概念図である。
【図３９】実施の形態１について、ロッシー圧縮処理部の第５例に関する数値例を説明する図である。
【図４０】実施の形態１について、ロッシー圧縮処理部の第５例に関する数値例を説明する図である。
【図４１】実施の形態１について、データ読出制御装置を説明するブロック図である。
【図４２】実施の形態２について、データの構成を説明する図である。
【図４３】実施の形態２について、データ転送制御の第１例を説明する図である。
【図４４】実施の形態２について、データ転送制御の第２例を説明する図である。
【図４５】実施の形態２について、データ転送制御の第３例を説明する図である。
【発明を実施するための形態】
【００１７】
＜実施の形態１＞
＜符号化装置＞
図１に、実施の形態１について、符号化装置１のブロック図を例示する。符号化装置１は、例えばＨ．２６４、ＭＰＥＧ(Moving Picture Experts Group)−２、ＭＰＥＧ−４等の方式に準拠して構成され、動画像データに対して圧縮処理（換言すれば符号化処理）を施す。
【００１８】
図１の例によれば、動き予測部４は、符号化の対象となる画像データを記憶部２から読み出し、動き予測に利用する参照画像データを記憶部３から読み出し、それらの画像データに基づいて動き予測を行う。動き予測は、いわゆるマクロブロック単位で行われる。ここでは、記憶部２，３がＳＲＡＭ（Static Random Access Memory）である例を挙げ、記憶部２，３をＳＲＡＭ２，３と呼ぶ場合もある。
【００１９】
動き予測の結果データは、変換部５において、例えば離散コサイン変換（ＤＣＴ）によって変換される。さらに変換部５では、得られた変換係数（いわゆるＤＣＴ係数）に対して量子化を行う。量子化された変換係数は、エントロピー符号化部６によってエントロピー符号化され、エントロピー符号化部６から圧縮画像データのビットストリームとして出力される。なお、エントロピー符号化には、例えばＣＡＢＡＣ（Context−based Adaptive Binary Arithmetic Coding）、ＣＡＶＬＣ（Context−based Adaptive Variable Length Coding）等の手法が用いられる。
【００２０】
量子化された変換係数は、逆変換部７にも供給される。逆変換部７では、変換部５とは逆の処理、すなわち逆量子化および逆ＤＣＴが行われ、それにより動き予測結果に関する残差信号が生成される。残差信号は、動き予測部４から供給される予測画像データと合成されて、デブロッキングフィルタ８に入力される。デブロッキングフィルタ８では、デブロッキング処理、すなわちマクロブロックの境界で生じるブロックノイズを低減する処理が実行される。
【００２１】
デブロッキング後の画像データは、データ記憶制御装置９によって、記憶部１０に格納される。ここでは記憶部１０がＤＲＡＭ（Dynamic Random Access Memory）である例を挙げ、記憶部１０をＤＲＡＭ１０と呼ぶ場合もある。ＤＲＡＭ１０内の画像データは、データ読出制御装置１１によって読み出され、参照画像データとしてＳＲＡＭ３に格納される。
【００２２】
データ記憶制御装置９は、符号化装置１内で生成された参照画像データ（より具体的には、図１の例では、デブロッキング後の参照画像データ）を圧縮してから、ＤＲＡＭ１０に格納する。逆に、データ読出制御装置１１は、ＤＲＡＭ１０に格納されている圧縮データを復元してから、ＳＲＡＭ３に格納する。なお、データ記憶制御装置９およびデータ読出制御装置１１は、図１の例とは異なる構成を有した装置にも適用可能である。
【００２３】
＜データ記憶制御装置の概要＞
図２に、データ記憶制御装置９のブロック図を例示する。図２の例によれば、データ記憶制御装置９は、入力バッファメモリ３１と、圧縮部３２と、出力バッファメモリ３３と、書込制御部３４とを含んでいる。なお、以下では、バッファメモリをバッファと略称する場合もある。
【００２４】
入力バッファ３１は、例えばＳＲＡＭで構成される。入力バッファ３１は、圧縮部３２に供給する画像データを一時的に保持する。圧縮部３２に供給する画像データは、ここでは、参照画像データ（より具体的には、デブロッキング後の参照画像データ）である。
【００２５】
ここでは、画像がＹ，Ｃｂ，Ｃｒの成分で表現される例を挙げる。この場合、画像データとは、Ｙ成分の画像データと、Ｃｂ成分の画像データと、Ｃｒ成分の画像データのそれぞれを指す。但し、データ記憶制御装置９は、画像が他の成分で表現される例に対しても適用可能である。
【００２６】
圧縮部３２は、圧縮データ生成部４１と、選択部４２とを含んでいる。
【００２７】
圧縮データ生成部４１は、入力バッファ３１を介して取得した画像データから、複数種類の圧縮データを生成可能に構成されている。より具体的には、圧縮データ生成部４１は、ロスレス圧縮を行うロスレス圧縮部５１と、ロッシー圧縮を行うロッシー圧縮部５２とを含んでいる。なお、ロスレス圧縮は可逆圧縮とも呼ばれ、ロッシー圧縮は不可逆圧縮とも呼ばれる。
【００２８】
そして、圧縮データ生成部４１は、ロスレス圧縮部５１およびロッシー圧縮部５２を用いて画像データを圧縮することによって、複数種類の圧縮データを生成する。圧縮データ生成部４１は、複数種類の圧縮データの一部または全部を並列的に（換言すれば、同時的に）生成するように構成されてもよいし、あるいは直列的に（換言すれば、順次に）生成するように構成されてもよい。
【００２９】
選択部４２は、圧縮データ生成部４１によって生成された各種類の圧縮データに対して、所定の選択処理を行う。具体的に選択処理では、圧縮データ生成部４１によって生成された各種類の圧縮データが所定の選択条件を満足するか否かを判定し、所定の選択条件を満足する１つの圧縮データを選択する。
【００３０】
上記選択条件は、データサイズ条件と、データ精度条件とを含む。データサイズ条件は、データサイズが規定値以下であるという条件である。データ精度条件は、データサイズ条件を満足する圧縮データのうちで情報保持精度が最も高いという条件である。情報保持精度とは、圧縮前の画像データによって提供される情報が、圧縮および復元を経てどの程度保持されるかを表す。情報保持精度は復元精度と呼んでもよい。
【００３１】
出力バッファ３３は、選択部４２によって選択された圧縮データ、換言すれば圧縮部３２から出力された圧縮データを一時的に保持し、書込制御部３４に供給する。
【００３２】
書込制御部３４は、出力バッファ３３内の圧縮データを、書込データとして記憶部１０（図１参照）に書き込む。記憶部１０がＤＲＡＭである例に鑑みると、書込制御部３４は、いわゆるＤＲＡＭコントローラで構成可能である。このため、以下では、書込制御部３４をＤＲＡＭコントローラ３４と呼ぶ場合もある。
【００３３】
ここで、データ記憶制御装置９では画像データは画像ブロック単位で処理される。そのような処理ブロックを図３および図４に例示する。図３はＹ成分の画像データに関し、図４はＣｂ成分およびＣｒ成分の画像データに関する。図３および図４に示すように、データ記憶制御装置９では、第１ブロックＢＬ１および第２ブロックＢＬ２と呼ぶ２種類の画像ブロックが利用される。
【００３４】
ここでは、Ｙ成分の画像データに関しては（図３参照）、第１ブロックＢＬ１が４×１画素の領域サイズで構成され、第２ブロックＢＬ２が１６×４画素の領域サイズで構成される例を挙げる。この場合、第２ブロックＢＬ２は、４×４ブロックの第１ブロックＢＬ１によって構成されることになる。換言すれば、第２ブロックＢＬ２は、１６個の第１ブロックＢＬ１に分割可能である。
【００３５】
また、Ｃｂ成分およびＣｒ成分の画像データに関しては（図４参照）、第１ブロックＢＬ１が８×１画素の領域サイズで構成され、第２ブロックＢＬ２が８×２画素の領域サイズで構成される例を挙げる。この場合、第２ブロックＢＬ２は、１×２ブロックの第１ブロックＢＬ１によって構成されることになる。換言すれば、第２ブロックＢＬ２は、２個の第１ブロックＢＬ１に分割可能である。
【００３６】
第２ブロックＢＬ２はＮ個（Ｎは１以上の整数）の第１ブロックＢＬ１で構成され、図３および図４の例ではＮの値は２以上である。但し、Ｎの値は１であってもよく、その場合、第２ブロックＢＬ２と第１ブロックＢＬ１とは同じ領域サイズを有することになる。
【００３７】
なお、Ｈ．２６４、ＭＰＥＧ等で利用されるマクロブロックＭＢ（図３および図４を参照）は、例えば１６×１６画素や８×８画素の領域サイズに設定される。符号化装置１がＨ．２６４、ＭＰＥＧ等に準拠する場合、例えば、入力バッファ３１にはそのようなマクロブロックＭＢ単位で、画像データが入力される。
【００３８】
例えば圧縮データ生成部４１では、第１ブロックＢＬ１ごとに、ロスレス圧縮およびロッシー圧縮が行われる。また、例えば選択部４２では、第２ブロックＢＬ２ごとに、選択処理が行われる。
【００３９】
以下に、データ記憶制御装置９のより具体的な例を説明する。
【００４０】
＜ロスレス圧縮部＞
図５に、ロスレス圧縮部５１の一例を示す。図５の例によれば、ロスレス圧縮部５１はロスレス圧縮処理部６１を含み、ロスレス圧縮処理部６１は第１ブロックＢＬ１ごとに所定のロスレス圧縮を実行する。
【００４１】
図６に、ロスレス圧縮処理部６１で行われるロスレス圧縮を例示する。図６には、Ｙ成分の第１ブロックＢＬ１を示しており、説明のために第１ブロックＢＬ１を構成する４つの画素ＰＸを左端からＰＸａ，ＰＸｂ，ＰＸｃ，ＰＸｄと呼ぶ。また、画素ＰＸａ，ＰＸｂ，ＰＸｃ，ＰＸｄの画素値（換言すれば画素データ）ＰをＰａ，Ｐｂ，Ｐｃ，Ｐｄとする。
【００４２】
図６の例によれば、画素ＰＸａの画素値は、圧縮後もＰａのままである。他方、画素ＰＸｂの画素値は｛Ｐｂ−Ｐａ｝に変換され、画素ＰＸｃの画素値は｛Ｐｃ−Ｐｂ｝に変換され、画素ＰＸｄの画素値は｛Ｐｄ−Ｐｃ｝に変換される。
【００４３】
すなわち、ロスレス圧縮処理部６１は、第１ブロックＢＬ１内で隣接する一対の画素ＰＸを圧縮対象画素および基準画素に定め、第１ブロックＢＬ１内で当該一対の画素ＰＸを順次選択する、という画素分類に従って、圧縮対象画素および基準画素を順次定める。そして、ロスレス圧縮処理部６１は、圧縮対象画素と基準画素との画素値の差分を求め、得られた差分値を圧縮対象画素に割り当てる、という内容のロスレス圧縮を実行する。図６の例では一対の画素ＰＸにおいて左隣の画素ＰＸを基準画素に設定するが、右隣の画素ＰＸを基準画素に設定してもよい。なお、Ｃｂ成分およびＣｒ成分に対しても、同様のロスレス圧縮を実行可能である。
【００４４】
なお、他の種類のロスレス圧縮をロスレス圧縮処理部６１に採用してもよい。また、ロスレス圧縮部５１は、異なる種類のロスレス圧縮を実行する複数のロスレス圧縮処理部６１を含んでもよい。
【００４５】
＜ロッシー圧縮部＞
図７に、ロッシー圧縮部５２の一例を示す。図７の例によれば、ロッシー圧縮部５２は、互いに異なる種類のロッシー圧縮を実行する複数のロッシー圧縮処理部６２を含んでいる。図８〜図１２を参照して、ロッシー圧縮処理部６２の第１例〜第４例を示す。
【００４６】
図８に示すように、第１例のロッシー圧縮処理部６２ａは、圧縮対象データに対してローパスフィルタ（ＬＰＦ）を施す処理であるローパス処理を実行することによって、圧縮データを生成する。すなわち、ローパス処理はロッシー圧縮の一種である。ローパスフィルタとして例えば水平ローパスフィルタを利用可能である。
【００４７】
図９を参照して、９タップの水平ローパスフィルタの例を説明する。ここでは、注目画素の画素値をＰ４とし、注目画素の左側の４つの画素の画素値をＰ０〜Ｐ３とし、注目画素の右側の４つの画素の画素値をＰ５〜Ｐ８とする。また、これら９個の画素に対するＬＰＦ係数をＣ０〜Ｃ８とする。この場合、ローパス処理後の注目画素には、図９中に記載の数式によって算出された値が割り当てられる。
【００４８】
第１ブロックＢＬ１内の各画素を順次、注目画素に設定することによって、第１ブロックＢＬ１に対するローパス処理が完了する。なお、図９の例によれば、圧縮対象の第１ブロックＢＬ１に隣接する第１ブロックＢＬ１の画素値も参照することになる。
【００４９】
図１０に示すように、第２例のロッシー圧縮処理部６２ｂは、圧縮対象データに対してローパス処理とロスレス圧縮とをこの順序で実行することによって、圧縮データを生成する。ここでは、ローパス処理はロッシー圧縮処理部６２ａ（図８参照）と同じとし、ロスレス圧縮はロスレス圧縮処理部６１（図５参照）と同じとする。
【００５０】
図１１に示すように、第３例のロッシー圧縮処理部６２ｃは、圧縮対象データに対してローパス処理とロスレス圧縮とビットシフト処理とをこの順序で実行することによって、圧縮データを生成する。ここでは、ローパス処理とロスレス圧縮は、ロッシー圧縮処理部６２ｂ（図１０参照）と同じとする。ビットシフト処理では、ロスレス圧縮によって得られた差分値（より具体的には、当該差分値を二進数で表現した場合のビット列）を最下位ビット（ＬＳＢ）側に、所定のシフト量だけビットシフトさせる。なお、以下では、最下位ビット側へのビットシフトを、右ビットシフトまたは右シフトと呼ぶ場合もある。
【００５１】
ここで、複数のシフト量を利用すれば、第４例のロッシー圧縮処理部６２ｄ（図１２参照）のように、１つの圧縮対象データに対して複数の圧縮データを生成可能である。
【００５２】
第１例〜第４例以外の構成をロッシー圧縮処理部６２に採用することも可能である。例えば、ロッシー圧縮処理部６２ｂ〜６２ｄ（図１０〜図１２参照）においてＬＰＦ処理を省略しても構わない。また、ＬＰＦの作用強度を変えれば、別のロッシー圧縮処理部６２を構成可能である。なお、ＬＰＦの作用強度は、ＬＰＦ係数を制御することによって、調整可能である。
【００５３】
＜圧縮データ生成部の具体例＞
図１３に、圧縮データ生成部４１の一例についてブロック図を示す。図１３の例において、ロスレス圧縮部５１は、図５および図６の例によって構成されているものとする。また、図１３の例において、ロッシー圧縮部５２は、４つのロッシー圧縮処理部６２を含んでいる。
【００５４】
具体的には、４つのロッシー圧縮処理部６２は、ロッシー圧縮処理部６２ｂ（図１０参照）によって構成された２つのロッシー圧縮処理部６２ｂ１，６２ｂ２と、ロッシー圧縮処理部６２ｄ（図１２参照）によって構成された２つのロッシー圧縮処理部６２ｄ１，６２ｄ２である。ロッシー圧縮処理部６２ｂ１，６２ｄ１は、ローパス処理およびロスレス圧縮の実行部を共有しており、ロッシー圧縮処理部６２ｂ１の出力に対してビットシフト処理が実行されることによって、ロッシー圧縮処理部６２ｄ１の出力が生成される。同様に、ロッシー圧縮処理部６２ｂ２，６２ｄ２は、ローパス処理およびロスレス圧縮の実行部を共有している。ロッシー圧縮処理部６２ｂ１，６２ｄ１が共有するＬＰＦは、ロッシー圧縮処理部６２ｂ２，６２ｄ２が共有するＬＰＦに比べて、作用強度が小さい。弱いＬＰＦによる演算を図１４に例示し、強いＬＰＦによる演算を図１５に例示する。
【００５５】
なお、図１３に示すように、ロスレス圧縮処理部６１によって生成される圧縮データをＤａと呼ぶことにする。
【００５６】
また、弱いＬＰＦを有するロッシー圧縮処理部６２ｂ１によって生成される圧縮データをＤｂと呼ぶことにする。また、弱いＬＰＦを有するロッシー圧縮処理部６２ｄ１によって生成される２つの圧縮データをＤｃ，Ｄｄと呼ぶことにする。圧縮データＤｃは圧縮データＤｂを１ビット、右シフトさせて得られ、圧縮データＤｄは圧縮データＤｂを２ビット、右シフトさせて得られる。
【００５７】
また、強いＬＰＦを有するロッシー圧縮処理部６２ｂ２によって生成される圧縮データをＤｅと呼ぶことにする。また、強いＬＰＦを有するロッシー圧縮処理部６２ｄ２によって生成される２つの圧縮データをＤｆ，Ｄｇと呼ぶことにする。圧縮データＤｆは圧縮データＤｅを１ビット、右シフトさせて得られ、圧縮データＤｇは圧縮データＤｅを２ビット、右シフトさせて得られる。
【００５８】
以下では、図１３の例を参照して、圧縮部３２の動作をより具体的に説明する。
【００５９】
＜圧縮部の動作例＞
上記のように、圧縮部３２では、圧縮データ生成部４１が１つの画像データから複数種類の圧縮データを生成し、選択部４２が複数種類の圧縮データのうちから１つを選択する。選択部４２による選択処理では、データサイズ条件と、データ精度条件とが適用される。
【００６０】
先に、データ精度条件を説明する。データ精度条件は、上記のように、データサイズ条件を満足する圧縮データのうちで情報保持精度が最も高いという条件である。情報保持精度の序列は事前のシミュレーション、実験等を通じて予め規定されており、その序列の情報は選択部４２に予め与えられているものとする。
【００６１】
以下では、圧縮データＤａ〜Ｄｇ（図１３参照）の情報保持精度の序列について、図１６の例を参照する。図１６の例によれば、ロスレス圧縮データＤａの情報保持精度が最も高い。そして、ロッシー圧縮データＤｂ，Ｄｅ，Ｄｃ，Ｄｆ，Ｄｄの順に情報保持精度が低くなり、ロッシー圧縮データＤｇの情報保持精度が最も低い。
【００６２】
次に、データサイズ条件を説明する。データサイズ条件は、上記のように、圧縮データのデータサイズが規定値以下であるという条件である。より具体的には、データサイズ条件は、選択処理で利用する第２ブロックＢＬ２に含まれる全ての第１ブロックＢＬ１について、データサイズが規定値以下であることを要求する。図１７〜図１９の数値例を参照して、データサイズ条件を具体的に説明する。
【００６３】
図１７等において、第１ブロックＢＬ１内の４つの数値は、その第１ブロックＢＬ１に含まれる４つの画素のデータ（換言すれば、画素値）である。図１７、図１８および図１９はＹ成分、Ｃｂ成分およびＣｒ成分の画像データについてそれぞれ示している。また、図６の手法によるロスレス圧縮が適用され、ロスレス圧縮データＤａが生成される。なお、圧縮データ生成部４１は、第２ブロックＢＬ２に含まれる第１ブロックＢＬ１の一部または全部を並列的に処理するように構成されてもよいし、あるいは直列的に生成するように構成されてもよい。
【００６４】
圧縮データにおいて、第１ブロックＢＬ１中の画素は、判定対象画素と除外画素とに分類される。なお、図１７〜図１９では、除外画素に対して、砂模様のハッチングを施している。図１７では、左端の画素が除外画素に設定され、その他の３つの画素が判定対象画素に設定される。図１８および図１９では、左端の画素が除外画素に設定され、その他の７つの画素が判定対象画素に設定される。すなわち、ロスレス圧縮の際に、基準画素としてだけ利用された画素が、除外画素に設定される。
【００６５】
そして、データサイズ条件は、判定対象画素の画素値（ここではロスレス圧縮によって得られた差分値）が規定ビット数以下で表現できることを要求する。規定ビット数は、圧縮対象データ（すなわち圧縮部３２に入力される画像データ）の各画素値を表示するために割り当てられたビット数（ここでは８ビットとする）よりも少ないビット数に設定される。
【００６６】
一例として、Ｙ成分の画像データに対する規定ビット数を５ビットとする。この場合、データサイズ条件は、判定対象画素の画素値が５ビットで表現可能な数値範囲（すなわち−１６から＋１５）内に在ることを要求する。なお、負数は２の補数を用いて表すものとする。また、一例として、Ｃｂ成分およびＣｒ成分の画像データに対する規定ビット数を４ビットとする。この場合、データサイズ条件は、判定対象画素の画素値が４ビットで表現可能な数値範囲（すなわち−８から＋７）内に在ることを要求する。
【００６７】
図１７〜図１９の例では、全ての第１ブロックＢＬ１において判定対象画素の画素値が規定ビット数以下で表現できることが分かる。その結果、図１７〜図１９の例は、データサイズ条件を満足する。
【００６８】
ここで、図１７〜図１９の例ではロスレス圧縮データＤａが生成される。上記のように、ロスレス圧縮データＤａの情報保持精度は最も高い（図１６参照）。したがって、図１７〜図１９の例によれば、当該圧縮データＤａがデータサイズ条件とデータ精度条件の両方を満足する。その結果、当該圧縮データＤａが、選択部４２によって選択されて、圧縮部３２から出力される。
【００６９】
さて、圧縮前において、第２ブロックＢＬ２のデータサイズは次のように計算される。すなわち、Ｙ成分のデータサイズは５１２ビット（＝｛８ビット×４画素｝×１６ブロック）である。Ｃｂ成分のデータサイズは１２８ビット（＝｛８ビット×８画素｝×２ブロック）である。Ｃｒ成分のデータサイズも１２８ビットである。したがって、合計７６８ビットになる。
【００７０】
これに対し、圧縮後においてデータサイズ条件を満足する場合、第２ブロックＢＬ２のデータサイズは次のように計算される。すなわち、Ｙ成分のデータサイズは３６８ビット（＝｛８ビット×１画素＋５ビット×３画素｝×１６ブロック）である。Ｃｂ成分のデータサイズは７２ビット（＝｛８ビット×１画素＋４ビット×７画素｝×２ブロック）である。Ｃｒ成分のデータサイズも７２ビットである。したがって、合計５１２ビットになる。
【００７１】
つまり、データサイズ条件を満足する場合、第２ブロックＢＬ２を７６８ビットから５１２ビットに圧縮できる。
【００７２】
図２０〜図２５を参照して、別の数値例を示す。なお、図２０〜図２５にはＹ成分のみを例示しているが、Ｃｂ成分およびＣｒ成分についても同様に理解される。
【００７３】
図２０では、圧縮対象データ（すなわち圧縮部３２に入力される画像データ）に対してロスレス圧縮が実行され、ロスレス圧縮データＤａが生成される（図１３参照）。
【００７４】
図２１では、圧縮対象データに対して、弱いＬＰＦによるローパス処理と、ロスレス圧縮とがこの順序で実行され、ロッシー圧縮データＤｂが生成される（図１３参照）。なお、図９で説明したように、第２ブロックＢＬ２中の左端および右端の第１ブロックＢＬ１に対するローパス処理では、隣接する第２ブロックＢＬ２中の第１ブロックＢＬ１（図２２中の二点鎖線で示した第１ブロックＢＬ１を参照）が利用される。
【００７５】
図２３は、圧縮対象データに対して、弱いＬＰＦによるローパス処理と、ロスレス圧縮と、右ビットシフト処理（１ビット分）がこの順序で実行されることによって生成されたロッシー圧縮データＤｃを例示している（図１３参照）。なお、２ビット分の右ビットシフト処理によって生成されるロッシー圧縮データＤｄは図示を省略する。
【００７６】
図２４では、圧縮対象データに対して、強いＬＰＦによるローパス処理と、ロスレス圧縮とがこの順序で実行され、ロッシー圧縮データＤｅが生成される（図１３参照）。図２５は、圧縮対象データに対して、強いＬＰＦによるローパス処理と、ロスレス圧縮と、右ビットシフト処理（１ビット分）がこの順序で実行されることによって生成されたロッシー圧縮データＤｆを例示している（図１３参照）。なお、２ビット分の右ビットシフト処理によって生成されるロッシー圧縮データＤｇは図示を省略する。
【００７７】
図２０〜図２５の例において、圧縮データＤａ，Ｄｂ，Ｄｃ，Ｄｅ中の丸で囲んだ画素値は、５ビットで表現可能な数値範囲（すなわち−１６から＋１５）内に存在しない。このため、圧縮データＤａ，Ｄｂ，Ｄｃ，Ｄｅはデータサイズ条件を満足しない。これに対し、図２５から分かるように、圧縮データＤｆはデータサイズ条件を満足する。この場合、図１６を参照すると、圧縮データＤｆが、データサイズ条件を満足する圧縮データのうちで情報保持精度が最も高いことになる。すなわち、圧縮データＤｆはデータ精度条件も満足する。したがって、圧縮データＤｆが、選択部４２によって選択されて、圧縮部３２から出力される。
【００７８】
なお、図２６に、圧縮データＤｆを復元した場合の画像データを示す。また、図２７に、圧縮データＤｆを復元した画像データと圧縮前の画像データとの間の誤差を示す。図２７によれば、誤差の絶対値の和は４０となる。
【００７９】
ここで、データサイズ条件の判定は、圧縮データ生成部４１によって生成される複数種類の圧縮データのうちで、情報保持精度が高い方から順に実行するのが効率的である。データサイズ条件を満足する圧縮データが見つかれば、残りの圧縮データについてはデータサイズ条件の判定を省略できるからである。また、例えば圧縮データ生成部４１が複数種類の圧縮データを直列的に生成する場合、データサイズ条件を満足する圧縮データが見つかれば、その第２ブロックＢＬ２については残りの圧縮データの生成を省略できる。
【００８０】
なお、データサイズ条件における規定ビット数をＭビットとすると、｛８−Ｍ｝ビットのシフト量のビットシフト処理を設けることによって、データサイズ条件を満足する圧縮データを確実に生成できる。
【００８１】
＜ロスレス圧縮の更なる例＞
さて、図６で説明したロスレス圧縮では、左端の画素を除いて、左隣の画素を基準画素にして画素値の差分を算出する。この手法によれば、小さい差分値を得やすい。その結果、ビットシフト処理でのシフト量を少なくすること、換言すればビットシフト処理の段数を少なくすることが可能である。
【００８２】
その一方で、図６のロスレス圧縮をロッシー圧縮処理部６２で利用すると、第１ブロックＢＬ１内で右側に行くほど誤差が蓄積されてく、換言すれば第１ブロックＢＬ１内で誤差が右側に拡散していく場合がある。
【００８３】
これに対し、図２８に示すロスレス圧縮によれば、誤差の拡散を抑制できる。具体的には、図２８の例によれば、画素ＰＸａの画素値は、圧縮後もＰａのままである。他方、画素ＰＸｂの画素値は｛Ｐｂ−Ｐａ｝に変換され、画素ＰＸｃの画素値は｛Ｐｃ−Ｐａ｝に変換され、画素ＰＸｄの画素値は｛Ｐｄ−Ｐａ｝に変換される。
【００８４】
すなわち、図２８の例は画素値の差分を算出するという処理内容は図６と同じであるが、画素分類の規定が異なる。具体的には図２８の例は、第１ブロックＢＬ１内の予め指定された固定位置の画素ＰＸを基準画素に定め、第１ブロック内で固定位置以外の各画素ＰＸを圧縮対象画素に定める、という画素分類を採用している。図２８の例では上記固定位置は第１ブロックＢＬ１内の左端であるが、その他の位置を上記固定位置に定めてもよい。なお、Ｃｂ成分およびＣｒ成分に対しても、同様のロスレス圧縮を実行可能である。
【００８５】
図２８のロスレス圧縮について、図２９〜図３４に数値例を示す。なお、図２９〜図３４にはＹ成分のみを例示しているが、Ｃｂ成分およびＣｒ成分についても同様に理解される。
【００８６】
図２９では、圧縮対象データに対して、弱いＬＰＦによるローパス処理と、図２８のロスレス圧縮とがこの順序で実行され、ロッシー圧縮データＤｂが生成される（図１３参照）。図３０は、圧縮対象データに対して、弱いＬＰＦによるローパス処理と、図２８のロスレス圧縮と、右ビットシフト処理（１ビット分）がこの順序で実行されることによって生成されたロッシー圧縮データＤｃを例示している（図１３参照）。また、図３１には、２ビット分の右ビットシフト処理によって生成されたロッシー圧縮データＤｄを例示している（図１３参照）。
【００８７】
図３２では、圧縮対象データに対して、強いＬＰＦによるローパス処理と、図２８のロスレス圧縮とがこの順序で実行され、ロッシー圧縮データＤｅが生成される（図１３参照）。図３３は、圧縮対象データに対して、強いＬＰＦによるローパス処理と、図２８のロスレス圧縮と、右ビットシフト処理（１ビット分）がこの順序で実行されることによって生成されたロッシー圧縮データＤｆを例示している（図１３参照）。また、図３４には、２ビット分の右ビットシフト処理によって生成されたロッシー圧縮データＤｇを例示している（図１３参照）。
【００８８】
図２９〜図３４の例によれば、圧縮データＤｇがデータサイズ条件とデータ精度条件の両方を満足する。このため、圧縮データＤｇが、選択部４２によって選択されて、圧縮部３２から出力される。
【００８９】
なお、図３５に、図３４の圧縮データＤｇを復元した場合の画像データを示す。また、図３６に、圧縮データＤｇを復元した画像データと圧縮前の画像データとの間の誤差を示す。図３６によれば、誤差の絶対値の和は６０となる。
【００９０】
ここで、ロスレス圧縮部５１とロッシー圧縮部５２とは同じ手法のロスレス圧縮を採用するものとするが、この例に限定されるものではない。例えば、ロスレス圧縮部５１は図６の手法を採用し、ロッシー圧縮部５２は図２８の手法を採用してもよい。また、ロッシー圧縮部５２が複数のロッシー圧縮処理部６２を含む場合、一部または全部のロッシー圧縮処理部６２において、ロスレス圧縮処理部６１とは異なる手法のロスレス圧縮を採用してもよい。同じ手法のロスレス圧縮を採用すれば、例えば、装置設計を簡潔にすることができる。また、ロスレス圧縮用の回路を共有することも可能である。これに対し、異なる手法のロスレス圧縮を採用すれば、例えば、情報保持精度を調整することができ、それにより装置設計の自由度が増す。
【００９１】
＜ロッシー圧縮の更なる例＞
図３７および図３８を参照して、ロッシー圧縮処理部６２の更なる例を説明する。図３７のロッシー圧縮処理部６２ｅは、圧縮対象データ中の圧縮対象画素に対してビット削減処理を実行することによって、圧縮データを生成する。ビット削減処理では、図３８に示すように、画素値を表現するビット列のうちの最下位ビット（ＬＳＢ）側から所定範囲のビットを削除することによって、画素値のビット数を削減する。
【００９２】
図３８には、圧縮前の画素値が二進数表記で“０１０１１００１”（十進数表記で“８９”）であり、下位３ビットを削除する例を示している。換言すれば、上位５ビット“０１０１１”が圧縮データとして抽出され、ロッシー圧縮処理部６２ｅから出力される。
【００９３】
ここで、上位５ビットを抽出すれば、確実に、圧縮対象画素の画素値を５ビットで表現可能な数値範囲（すなわち−１６から＋１５）内に収めることできる。
【００９４】
図３９に、ビット削除処理によって生成された圧縮データを復元した場合の数値例を示す。なお、復元処理では、５ビットから成る圧縮後の画素値に対して下位３ビットとして“０００”を合成するものとする。また、図４０に、圧縮前後の画像データの誤差を示す。図４０によれば、誤差の絶対値の和は２３６となる。
【００９５】
図３９の例では、第２ブロックＢＬ２中の全ての画素を圧縮対象画素としている。これによれば、例えば、装置設計を簡潔にすることができる。これに対し、例えば第１ブロックＢＬ１内の右側の３つの画素のみを圧縮対象画素に設定してもよい。なお、いずれの例においても、圧縮対象画素が選択部４２での判定対象画素に設定される。
【００９６】
なお、Ｃｂ成分およびＣｒ成分に対しても、同様のビット削除処理を適用可能である。また、ビット削減処理を有するロッシー圧縮処理部６２ｅを、他のロッシー圧縮処理部と組み合わせてもよい。また、ビット削減処理を各種処理（例えば図１０〜図１３を参照）と組み合わせることによって、別のロッシー圧縮処理部６２を構成してもよい。
【００９７】
＜効果＞
データ記憶制御装置９によれば、参照画像データを圧縮してから、ＤＲＡＭ１０に格納する。このため、ＤＲＡＭ１０の使用容量を削減することができる。
【００９８】
しかも、圧縮部３２から出力された第２ブロックＢＬ２ごとの圧縮データのデータサイズは、圧縮部３２でどの圧縮手法を利用したかに関わらず、同じである。すなわち、圧縮部３２から出力される圧縮データは固定長である。
【００９９】
ここで、ブロックごとにデータサイズが異なる場合、各ブロックのデータを詰めてＤＲＡＭに格納するためには、データサイズの相違に基づいて各記憶領域のアドレスを管理しなければならない。また、アドレス管理を簡略化するために最大のデータサイズに合わせて記憶領域を等分に区画すれば、ＤＲＡＭの使用容量の削減に繋がらない。
【０１００】
しかし、データ記憶制御装置９によれば、上記のように圧縮部３２からは同じデータサイズで圧縮データが出力される。このため、簡単なアドレス管理によって、圧縮データを詰めて格納することができる。また、圧縮データを詰めて格納することによって、ＤＲＡＭ１０の使用容量の削減に貢献できる。例えば、上記のように第２ブロックＢＬ２を２／３（＝５１２ビット／７６８ビット）のデータサイズに圧縮できるので、ＤＲＡＭ１０の使用容量を２／３に削減できる。
【０１０１】
＜データ読出制御装置＞
図４１に、データ読出制御装置１１を説明するブロック図である。図４１の例によれば、データ読出制御装置１１は、読出制御部１３４と、入力バッファ１３１と、伸張部１３２とを含んでいる。
【０１０２】
読出制御部１３４は、記憶部１０（図１参照）内の圧縮データを読み出して、入力バッファ１３１に転送する。記憶部１０がＤＲＡＭである例に鑑みると、読出制御部１３４は、いわゆるＤＲＡＭコントローラで構成可能である。このため、以下では、読出制御部１３４をＤＲＡＭコントローラ１３４と呼ぶ場合もある。
【０１０３】
入力バッファ１３１は、例えばＳＲＡＭで構成される。入力バッファ１３１は、伸張部１３２に供給する圧縮データを一時的に保持する。
【０１０４】
伸張部１３２は、入力バッファ１３１を介して取得した圧縮データを伸張する。伸張部１３２は、伸張データ生成部１４１と、選択部１４２とを含んでいる。伸張データ生成部１４１は、ロスレス圧縮部１５１と、ロッシー圧縮部１５２とを含んでいる。ロスレス圧縮部１５１およびロッシー圧縮部１５２は、データ記憶制御装置９のロスレス圧縮部５１およびロッシー圧縮部５２と同じ構成を有している（図２参照）。また、選択部１４２は、データ記憶制御装置９の選択部４２と同じ構成を有している。
【０１０５】
したがって、伸張データ生成部１４１では、ＤＲＡＭ１０から読み込んだ圧縮データから複数種類のデータが生成される。そして、選択部１４２では、その複数種類のデータのうちから、所定の選択条件（すなわち選択部４２に採用されている選択条件）を満足する１つのデータが選択される。選択部１４２によって選択されたデータが、伸張データとしてＳＲＡＭ３に転送される。
【０１０６】
ここで、符号化装置１内で生成された参照画像データ（図１の例では、デブロッキング後の参照画像データ）は、データ記憶制御装置９によって圧縮され、その後データ読出制御装置１１によって復元され、そして動き予測部４に供給される。この場合、動き予測を良好に行うためには、圧縮前の参照画像と同じまたはできるだけ近い画像（換言すれば、圧縮前の参照画像に比べて誤差が許容範囲内の画像）が、動き予測部４に供給されることが好ましい。なお、許容誤差は例えば、事前のシミュレーション、実験等を通じて予め設定される。
【０１０７】
例えば、圧縮データ生成部４１および伸張データ生成部１４１が図１３の構成を採用している場合を想定する。その場合、ビットシフト処理が行われた圧縮データＤｃ，Ｄｄ，Ｄｆ，Ｄｇは、その圧縮手法と同じ手法で伸張されることによって、許容誤差範囲内の参照画像を提供可能である。他方、ビットシフト処理が行われない圧縮データＤａ，Ｄｂ，Ｄｅは、どの伸張手法によっても、許容誤差範囲内の参照画像を提供可能である。かかる点に鑑みると、ビットシフト処理が行われた圧縮データＤｃ，Ｄｄ，Ｄｆ，Ｄｇに関しては、伸張部１３２の選択部１４２に対して、選択する伸張データを指示するのが好ましい。
【０１０８】
かかる選択指示は例えば、圧縮部３２の選択部４２が、選択した圧縮データに関する付加情報を生成し、当該付加情報を圧縮データに関連付けてＤＲＡＭ１０に格納すればよい。データ読出制御装置１１はＤＲＡＭ１０から圧縮データと共に付加情報を読み出し、その付加情報は選択部１４２に供給される。それにより、選択部１４２は、付加情報に含まれた選択指示に応じて動作可能である。
【０１０９】
付加情報は例えば３ビットのフラグで構成可能である。より具体的には、そのうちの１ビットは、伸張部１３２の選択部１４２に対する選択指示の有無を示す。また、残りの２ビットは、その圧縮データが圧縮データＤｃ，Ｄｄ，Ｄｆ，Ｄｇのどれに当たるのかについての識別子、換言すればどの伸張データを選択すべきかについての具体的な指示である。なお、識別子用のビット数は、識別対象となる圧縮データの数に応じて規定すればよい。
【０１１０】
なお、付加情報の構成は上記の例に限定されるものではない。また、ＤＲＡＭ１０内において、付加情報の記憶領域は、対応する圧縮データの記憶領域と連続して設定される。あるいは、付加情報を、対応する圧縮データから離れた記憶領域に格納してもよい。例えば、付加情報のみを格納する記憶領域をＤＲＡＭ１０内に設けてもよい。
【０１１１】
ここで、上記のように各第２ブロックＢＬ２は固定長（例えば５１２ビット）に圧縮される。付加情報は各第２ブロックＢＬ２に対して生成され、そのデータサイズは上記の例では高々３ビットで済む。このため、付加情報を採用した場合であっても、データ記憶制御装置９について上述した効果は同様に得られる。
【０１１２】
＜実施の形態２＞
実施の形態２では、データ記憶制御装置９におけるデータ転送制御を説明する。
【０１１３】
実施の形態１で説明したように、ロッシー圧縮で利用するローパス処理は、圧縮対象の第１ブロックＢＬ１に隣接する第１ブロックＢＬ１の画素値も参照する（図９および図２２参照）。すなわち、ローパス処理は、圧縮対象でない第１ブロックＢＬ１を参照対象として利用する参照型処理の一例である。
【０１１４】
その場合、入力バッファ３１は、圧縮対象としての利用が終了していない第１ブロックＢＬ１のみならず、参照対象としての利用が終了していない第１ブロックＢＬ１についても、画像データを保持しておく必要がある。
【０１１５】
他方、圧縮対象としての利用が終了していると共に参照対象としての利用も終了している第１ブロックＢＬ１については、画像データが入力バッファ３１から消去されても構わない。すなわち、入力バッファ３１は、圧縮対象および参照対象としての利用が終了した第１ブロックＢＬ１の画像データが使用している記憶領域を、利用終了後の所定タイミングで解放する（換言すれば上書き可能状態にする）。
【０１１６】
これを図４２〜図４５を参照して説明する。なお、以下ではＹ成分の画像データについて説明するが、Ｃｂ成分およびＣｒ成分についても同様に理解される。
【０１１７】
ここでは、図４２および図４３に示すように、Ｙ成分の画素データが１６×１６画素のマクロブロックＭＢごとに、ラスタ順に、入力バッファ３１に供給される例を挙げる。なお、マクロブロックＭＢを区別する場合には、図４２に示すように、符号“ＭＢ”の後ろに枝番号を付すことにする。枝番号の付加は他の符号についても用いる。
【０１１８】
圧縮部３２が、入力バッファ３１から、Ｘ個（Ｘは１以上の整数）の第２ブロックＢＬ２から成る第３ブロック単位で、画像データを取得するものとする。第３ブロックは、図４３の例ではマクロブロックＭＢとして（すなわちＸ＝４として）、理解される。
【０１１９】
図４３の例では、入力バッファ３１が４つの記憶領域＃１〜＃４を有している。なお、当該４つの記憶領域＃１〜＃４のそれぞれが別個のＳＲＡＭで構成されていてもよく、その場合、それら４つのＳＲＡＭの総称が入力バッファ３１にあたる。
【０１２０】
図４３の例において、マクロブロックＭＢ＿２に含まれる第１ブロックＢＬ１についてローパス処理を行う場合、両隣のマクロブロックＭＢ＿１，ＭＢ＿３が参照対象として利用される。このため、マクロブロックＭＢ＿１，ＭＢ＿２，ＭＢ＿３は入力バッファ３１内に存在する必要がある。
【０１２１】
一方、その時点において、マクロブロックＭＢ＿０については圧縮対象および参照対象としての利用が終了している。このため、マクロブロックＭＢ＿０が格納されている記憶領域＃１は、例えばマクロブロックＭＢ＿２が圧縮対象となる時刻ｔ２以降に解放される。図４３の例では、記憶領域＃１にはその後の時刻ｔ４に、マクロブロックＭＢ＿４の画像データが格納される。
【０１２２】
この場合、入力バッファメモリ３１は、上記第３ブロックとしてのマクロブロックＭＢと関連付けて記憶領域＃１〜＃４を管理することになる。
【０１２３】
入力バッファ３１内のデータをこのように管理することによって、入力バッファ３１を効率良く利用することができる。また、入力バッファ３１の記憶領域を循環的に利用することにより、入力バッファ３１の容量が小さくても済む。
【０１２４】
ここで、ＤＲＡＭ１０は複数の（ここでは８個の）バンクＢＫを有している。このため、ＤＲＡＭコントローラ３４は書込データごとにバンクＢＫを切り替えて、書込データをＤＲＡＭ１０に書き込む。図４３の例では、第２ブロックＢＬ２ごとにバンクＢＫが切り替えられる。
【０１２５】
図４４の例では、入力バッファ３１に画像データが、第２ブロックＢＬ２単位で、ラスタ順に供給される。また、圧縮部３２は、入力バッファ３１から、Ｘ個（Ｘは１以上の整数）の第２ブロックＢＬ２から成る第３ブロック単位で、画像データを取得する。図４４の例では、第３ブロックは１個の第２ブロックＢＬ２として（すなわちＸ＝１として）、理解される。
【０１２６】
図４４の例において、第２ブロックＢＬ２＿２０に含まれる第１ブロックＢＬ１についてローパス処理を行う場合、両隣の第２ブロックＢＬ２＿１０，ＢＬ２＿３０が参照対象として利用される。このため、第２ブロックＢＬ２＿１０，ＢＬ２＿２０，ＢＬ２＿３０は入力バッファ３１内に存在する必要がある。
【０１２７】
一方、その時点において、第２ブロックＢＬ２＿００については圧縮対象および参照対象としての利用が終了している。このため、第２ブロックＢＬ２＿００が格納されている記憶領域＃１は、例えば第２ブロックＢＬ２＿２０が圧縮対象となる時刻ｔ２以降に解放される。図４４の例では、記憶領域＃１にはその後の時刻ｔ４に、第２ブロックＢＬ２＿４０の画像データが格納される。
【０１２８】
この場合も、入力バッファメモリ３１は、上記第３ブロックとしての第２ブロックＢＬ２と関連付けて記憶領域＃１〜＃４を管理することになる。
【０１２９】
図４４の例においても、ＤＲＡＭコントローラ３４は書込データごとにバンクＢＫを切り替えて、書込データをＤＲＡＭ１０に書き込む。
【０１３０】
ここで、図４４の例では、ＤＲＡＭコントローラ３４は、１個のバンクＢＫ分の書込データずつ（すなわち１個の第２ブロックＢＬ２ずつ）、ＤＲＡＭ１０に書き込んでいる。これに対し、出力バッファ３３にＹ個（Ｙは２以上の整数。図４５の例ではＹ＝４）のバンクＢＫ用の書込データが蓄積されるのを待ち、当該Ｙ個の書込データをまとめてＤＲＡＭ１０に書き込んでもよい。
【０１３１】
上記のように、入力バッファ３１よりも前段（デブロッキングフィルタ８等）では、マクロブロックＭＢ単位で画像処理が行われる。また、図４２〜図４５の例では、１個のマクロブロックＭＢが４個の第２ブロックＢＬ２に対応する。また、入力バッファ３１へのデータ入力は、図４３の例では４個の第２ブロックＢＬ２ごとに行われるのに対し、図４４および図４５の例では１個の第２ブロックＢＬ２ごとに行われる。また、ＤＲＡＭ１０へのデータ書き込みは、図４３および図４５の例では４個の第２ブロックＢＬ２ごとに行われるのに対し、図４４の例では１個の第２ブロックＢＬ２ごとに行われる。
【０１３２】
かかる点に鑑みると、１個のマクロブロックＭＢが複数の第２ブロックＢＬ２で構成されるように第２ブロックＢＬ２を設定することによって、第２ブロックＢＬ２よりも小さいブロック（以下、小ブロックと呼ぶことにする）が生じるのを防止できる。
【０１３３】
このため、入力バッファ３１のデータ入出力において、入力バッファ３１の記憶領域を管理しやすい。また、そのような管理しやすさは、入力バッファ３１の効率的な利用に繋がる。
【０１３４】
また、ＤＲＡＭ１０へのデータ転送において、小ブロックが存在しないことは、転送データの効率的な生成に役立つ。また、小ブロックを転送するためにバス帯域が増加するのを回避できる。すなわち、バス帯域を削減できる。また、小ブロックが存在しないので、ＤＲＡＭコントローラ３４にとって、ＤＲＡＭ１０のアドレス管理（換言すればアクセス管理）が容易になる。
【０１３５】
さらに、１個のマクロブロックＭＢが複数の第２ブロックＢＬ２で構成されるように第２ブロックＢＬ２を設定することによって、マクロブロックＭＢ単位で画像処理を行う種々の符号化装置に、データ記憶制御装置９を導入しやすいという利点がある。
【０１３６】
ここで、これらの効果は、１個のマクロブロックＭＢが１個の第２ブロックＢＬ２で構成される場合にも得られる。また、複数個のマクロブロックＭＢが１個の第２ブロックＢＬ２に対応する場合についても同様である。さらに、複数個のマクロブロックＭＢが複数個の第２ブロックＢＬ２に対応する場合、換言すれば複数個のマクロブロックＭＢを１つのブロックとして見なし当該１つのブロックを上記小ブロックが生じないように複数の第２ブロックＢＬ２に分割した場合についても、上記効果が得られる。
【０１３７】
これらをまとめて表現するならば、Ｖ個（Ｖは１以上の整数）の第２ブロックＢＬ２がＷ個（Ｗは１以上の整数）のマクロブロックＭＢに対応するように第２ブロックＢＬ２を設定することによって、上記効果が得られる。
【０１３８】
なお、実施の形態２は、圧縮部３２が実施の形態１とは異なる圧縮手法を採用する場合にも適用可能である。また、その圧縮手法は、動画像圧縮でもよいし、静止画像圧縮（例えばＪＰＥＧ（Joint Photographic Expert Group））でもよい。
【０１３９】
また、参照型処理はローパス処理以外の処理であってもよい。また、ロスレス圧縮が参照型処理を含んでもよい。
【０１４０】
＜変形例＞
実施の形態１，２ではデータ記憶制御装置９および符号化装置１における各種の処理内容が全てハードウェアで構成される場合を想定した。これに対し、そのような各種の処理内容の一部または全部を、ソフトウェアによって（換言すればマイクロプロセッサがプログラムを実行することによって）実現することも可能である。
【０１４１】
本発明は詳細に説明されたが、上記した説明は、すべての局面において、例示であって、本発明がそれに限定されるものではない。例示されていない無数の変形例が、本発明の範囲から外れることなく想定され得るものと解される。
【符号の説明】
【０１４２】
９  データ記憶制御装置
３１  入力バッファメモリ
３２  圧縮部
３３  出力バッファメモリ
３４  ＤＲＡＭコントローラ（書込制御部）
４１  圧縮データ生成部
４２  選択部
５１  ロスレス圧縮部
５２  ロッシー圧縮部
６１  ロスレス圧縮処理部
６２，６２ａ〜６２ｅ，６２ｂ１，６２ｂ２，６２ｄ１，６２ｄ２  ロッシー圧縮処理部
ＢＬ１  第１ブロック
ＢＬ２  第２ブロック
ＢＫ  バンク
【図１】
2015195430.tif 000003
【図２】
2015195430.tif 000004
【図３】
2015195430.tif 000005
【図４】
2015195430.tif 000006
【図５】
2015195430.tif 000007
【図６】
2015195430.tif 000008
【図７】
2015195430.tif 000009
【図８】
2015195430.tif 000010
【図９】
2015195430.tif 000011
【図１０】
2015195430.tif 000012
【図１１】
2015195430.tif 000013
【図１２】
2015195430.tif 000014
【図１３】
2015195430.tif 000015
【図１４】
2015195430.tif 000016
【図１５】
2015195430.tif 000017
【図１６】
2015195430.tif 000018
【図１７】
2015195430.tif 000019
【図１８】
2015195430.tif 000020
【図１９】
2015195430.tif 000021
【図２０】
2015195430.tif 000022
【図２１】
2015195430.tif 000023
【図２２】
2015195430.tif 000024
【図２３】
2015195430.tif 000025
【図２４】
2015195430.tif 000026
【図２５】
2015195430.tif 000027
【図２６】
2015195430.tif 000028
【図２７】
2015195430.tif 000029
【図２８】
2015195430.tif 000030
【図２９】
2015195430.tif 000031
【図３０】
2015195430.tif 000032
【図３１】
2015195430.tif 000033
【図３２】
2015195430.tif 000034
【図３３】
2015195430.tif 000035
【図３４】
2015195430.tif 000036
【図３５】
2015195430.tif 000037
【図３６】
2015195430.tif 000038
【図３７】
2015195430.tif 000039
【図３８】
2015195430.tif 000040
【図３９】
2015195430.tif 000041
【図４０】
2015195430.tif 000042
【図４１】
2015195430.tif 000043
【図４２】
2015195430.tif 000044
【図４３】
2015195430.tif 000045
【図４４】
2015195430.tif 000046
【図４５】
2015195430.tif 000047