JP6310747B2 - Data storage control device and data storage control method - Google Patents
Data storage control device and data storage control method Download PDFInfo
- Publication number
- JP6310747B2 JP6310747B2 JP2014071105A JP2014071105A JP6310747B2 JP 6310747 B2 JP6310747 B2 JP 6310747B2 JP 2014071105 A JP2014071105 A JP 2014071105A JP 2014071105 A JP2014071105 A JP 2014071105A JP 6310747 B2 JP6310747 B2 JP 6310747B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- block
- compression
- unit
- image 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 53
- 238000013500 data storage Methods 0.000 title claims description 48
- 238000007906 compression Methods 0.000 claims description 237
- 230000006835 compression Effects 0.000 claims description 236
- 238000012545 processing Methods 0.000 claims description 107
- 230000008569 process Effects 0.000 claims description 29
- 238000010586 diagram Methods 0.000 description 44
- 238000012546 transfer Methods 0.000 description 7
- 230000006837 decompression Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 6
- 230000009467 reduction Effects 0.000 description 4
- 238000011946 reduction process Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 238000009792 diffusion process Methods 0.000 description 1
- 230000012447 hatching Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000004576 sand Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
本発明は、データ記憶制御装置およびデータ記憶制御方法に関する。 The present invention relates to a data storage control device and a data storage control method.
データ記憶には、様々な技術が関連する。 Various techniques are associated with data storage.
例えば、静止画像および動画像の画像データには、データ量の低減を目的として、圧縮処理が施される。特許文献1には、不可逆圧縮と可逆圧縮とを組合せて、ビデオデータをより小さいサイズに圧縮する技術が記載されている。また、特許文献2には、データ劣化のないロスレスデータを生成しつつ、データ量を低減できる可能性の高い技術が記載されている。
For example, image data of still images and moving images is subjected to compression processing for the purpose of reducing the data amount.
また、特許文献3には、複数のバンクを有し同一バンクへ連続してアクセスする際には前後のアクセス間に所定数のクロックサイクル以上の間隔を空けることが要求されるメモリに対するアクセス技術が記載されている。
データ記憶技術においては従来から、様々な要望が存在する。例えば、メモリの使用容量を削減したい、メモリを効率的に使用したい、等の要望である。特許文献1〜3の技術はその要望に応えるべく開発されたものの一例と考えられる。
There have been various demands on data storage technology. For example, there is a demand for reducing the use capacity of the memory or for efficiently using the memory. The techniques of
本発明は、従来とは全く異なる技術によって、例えばメモリの使用容量の削減とメモリの効率的な使用とのうちのいずれかを実現することを目的とする。 An object of the present invention is to realize, for example, either a reduction in the use capacity of a memory or an efficient use of a memory by a technique completely different from the conventional one.
本発明の第1の態様に係るデータ記憶制御装置は、画像データを圧縮して圧縮データを出力する圧縮部と、前記圧縮データを書込データとしてメモリに書き込む書込制御部と、前記圧縮部に供給する前記画像データを一時的に保持する入力バッファメモリとを含む。前記圧縮部は、所定の領域サイズの画像ブロックから成る第1ブロックごとに前記画像データを圧縮し、N個(Nは1以上の整数)の前記第1ブロックから成る第2ブロックごとに前記圧縮データを出力する。前記圧縮部での処理は、圧縮対象として利用中ではない前記第1ブロックを参照対象として利用する参照型処理を含む。前記入力バッファメモリは、前記圧縮対象および前記参照対象としての利用が終了していない前記第1ブロックについて前記画像データを保持し、前記圧縮対象および前記参照対象としての利用が終了した前記第1ブロックに割り当てられている記憶領域を所定タイミングで解放する。 A data storage control device according to a first aspect of the present invention includes a compression unit that compresses image data and outputs compressed data, a write control unit that writes the compressed data to a memory as write data, and the compression unit And an input buffer memory for temporarily holding the image data to be supplied. The compression unit compresses the image data for each first block including image blocks having a predetermined area size, and compresses the image data for each second block including N (N is an integer of 1 or more) first blocks. Output data. The processing in the compression unit includes reference type processing that uses the first block that is not being used as a compression target as a reference target. The input buffer memory holds the image data for the first block that has not been used as the compression target and the reference target, and the first block has been used as the compression target and the reference target The storage area allocated to is released at a predetermined timing.
本発明の第2の態様に係るデータ記憶制御装置は、第1の態様に係るデータ記憶制御装置であって、前記圧縮部は、前記入力バッファメモリから、X個(Xは1以上の整数)の前記第2ブロックから成る第3ブロック単位で前記画像データを取得し、前記入力バッファメモリは、前記第3ブロックと関連付けて前記記憶領域を管理する。 A data storage control device according to a second aspect of the present invention is the data storage control device according to the first aspect, wherein the compression unit is configured to receive X (X is an integer of 1 or more) from the input buffer memory. The image data is acquired in units of a third block including the second block, and the input buffer memory manages the storage area in association with the third block.
本発明の第3の態様に係るデータ記憶制御装置は、第1または第2の態様に係るデータ記憶制御装置であって、前記圧縮部から出力された前記書込データを、前記書込制御部に供給するために、一時的に保持する出力バッファメモリをさらに含む。前記メモリは、複数のバンクを有し、前記書込制御部は、前記書込データごとに前記複数のバンクを切り替えて、前記書込データを前記メモリに書き込む。 A data storage control device according to a third aspect of the present invention is the data storage control device according to the first or second aspect, wherein the write data output from the compression unit is transferred to the write control unit. The output buffer memory is further included for temporarily holding. The memory has a plurality of banks, and the write control unit switches the plurality of banks for each write data and writes the write data to the memory.
本発明の第4の態様に係るデータ記憶制御装置は、第3の態様に係るデータ記憶制御装置であって、前記書込制御部は、前記出力バッファメモリにY個(Yは2以上の整数)のバンク用の前記書込データが蓄積されるのを待ち、前記Y個の前記書込データをまとめて前記メモリに書き込む。 A data storage control device according to a fourth aspect of the present invention is the data storage control device according to the third aspect, wherein the write control unit has Y outputs (Y is an integer of 2 or more) in the output buffer memory. ), The Y write data are collectively written in the memory.
本発明の第5の態様に係るデータ記憶制御装置は、第1〜第4の態様うちのいずれか一つに係るデータ記憶制御装置であって、前記入力バッファメモリよりも前段では画像処理がマクロブロック単位で行われ、V個(Vは1以上の整数)の前記第2ブロックがW個(Wは1以上の整数)の前記マクロブロックに対応する。 A data storage control device according to a fifth aspect of the present invention is the data storage control device according to any one of the first to fourth aspects, wherein image processing is performed in a macro stage before the input buffer memory. The processing is performed in units of blocks, and the V second blocks (V is an integer of 1 or more) correspond to the W macro blocks (W is an integer of 1 or more).
本発明の第6の態様に係るデータ記憶制御方法は、(a)画像データを圧縮して圧縮データを出力する工程と、(b)前記圧縮データを書込データとしてメモリに書き込む工程と、(c)前記工程(a)で利用する前記画像データを入力バッファメモリに一時的に保持する工程とを含む。前記工程(a)では、所定の領域サイズの画像ブロックから成る第1ブロックごとに前記画像データを圧縮し、N個(Nは1以上の整数)の前記第1ブロックから成る第2ブロックごとに前記圧縮データを出力する。前記工程(a)は、圧縮対象として利用中ではない前記第1ブロックを参照対象として利用する参照型処理を含む。前記工程(c)では、前記圧縮対象および前記参照対象としての利用が終了していない前記第1ブロックについて前記画像データを前記入力バッファメモリに保持し、前記圧縮対象および前記参照対象としての利用が終了した前記第1ブロックに割り当てられている、前記入力バッファメモリの記憶領域を所定タイミングで解放する。
A data storage control method according to a sixth aspect of the present invention includes: (a) a step of compressing image data and outputting compressed data; (b) a step of writing the compressed data into memory as write data; c) temporarily storing the image data used in the step (a) in an input buffer memory. In the step (a), the image data is compressed for each first block composed of image blocks having a predetermined area size, and for each second block composed of N (N is an integer of 1 or more) first blocks. The compressed data is output. The step (a) includes a reference type process that uses the first block that is not being used as a compression target as a reference target. In the step (c), the image data is held in the input buffer memory for the first block that has not been used as the compression target and the reference target, and is used as the compression target and the reference target. The storage area of the input buffer memory allocated to the completed first block is released at a predetermined timing.
上記の第1および第6の態様によれば、入力バッファメモリを効率良く利用することができる。また、第1の態様を引用する第2〜第5の態様においても同様の効果が得られる。 According to the first and sixth aspects, the input buffer memory can be used efficiently. Moreover, the same effect is acquired also in the 2nd-5th aspect which quotes a 1st aspect.
本発明の目的、特徴、局面、および利点は、以下の詳細な説明と添付図面とによって、より明白となる。 The objects, features, aspects and advantages of the present invention will become more apparent from the following detailed description and the accompanying drawings.
<実施の形態1>
<符号化装置>
図1に、実施の形態1について、符号化装置1のブロック図を例示する。符号化装置1は、例えばH.264、MPEG(Moving Picture Experts Group)−2、MPEG−4等の方式に準拠して構成され、動画像データに対して圧縮処理(換言すれば符号化処理)を施す。
<
<Encoding device>
FIG. 1 illustrates a block diagram of an
図1の例によれば、動き予測部4は、符号化の対象となる画像データを記憶部2から読み出し、動き予測に利用する参照画像データを記憶部3から読み出し、それらの画像データに基づいて動き予測を行う。動き予測は、いわゆるマクロブロック単位で行われる。ここでは、記憶部2,3がSRAM(Static Random Access Memory)である例を挙げ、記憶部2,3をSRAM2,3と呼ぶ場合もある。
According to the example of FIG. 1, the
動き予測の結果データは、変換部5において、例えば離散コサイン変換(DCT)によって変換される。さらに変換部5では、得られた変換係数(いわゆるDCT係数)に対して量子化を行う。量子化された変換係数は、エントロピー符号化部6によってエントロピー符号化され、エントロピー符号化部6から圧縮画像データのビットストリームとして出力される。なお、エントロピー符号化には、例えばCABAC(Context−based Adaptive Binary Arithmetic Coding)、CAVLC(Context−based Adaptive Variable Length Coding)等の手法が用いられる。
The result data of motion prediction is converted by the
量子化された変換係数は、逆変換部7にも供給される。逆変換部7では、変換部5とは逆の処理、すなわち逆量子化および逆DCTが行われ、それにより動き予測結果に関する残差信号が生成される。残差信号は、動き予測部4から供給される予測画像データと合成されて、デブロッキングフィルタ8に入力される。デブロッキングフィルタ8では、デブロッキング処理、すなわちマクロブロックの境界で生じるブロックノイズを低減する処理が実行される。
The quantized transform coefficient is also supplied to the
デブロッキング後の画像データは、データ記憶制御装置9によって、記憶部10に格納される。ここでは記憶部10がDRAM(Dynamic Random Access Memory)である例を挙げ、記憶部10をDRAM10と呼ぶ場合もある。DRAM10内の画像データは、データ読出制御装置11によって読み出され、参照画像データとしてSRAM3に格納される。
The image data after deblocking is stored in the
データ記憶制御装置9は、符号化装置1内で生成された参照画像データ(より具体的には、図1の例では、デブロッキング後の参照画像データ)を圧縮してから、DRAM10に格納する。逆に、データ読出制御装置11は、DRAM10に格納されている圧縮データを復元してから、SRAM3に格納する。なお、データ記憶制御装置9およびデータ読出制御装置11は、図1の例とは異なる構成を有した装置にも適用可能である。
The data
<データ記憶制御装置の概要>
図2に、データ記憶制御装置9のブロック図を例示する。図2の例によれば、データ記憶制御装置9は、入力バッファメモリ31と、圧縮部32と、出力バッファメモリ33と、書込制御部34とを含んでいる。なお、以下では、バッファメモリをバッファと略称する場合もある。
<Outline of data storage control device>
FIG. 2 illustrates a block diagram of the data
入力バッファ31は、例えばSRAMで構成される。入力バッファ31は、圧縮部32に供給する画像データを一時的に保持する。圧縮部32に供給する画像データは、ここでは、参照画像データ(より具体的には、デブロッキング後の参照画像データ)である。
The
ここでは、画像がY,Cb,Crの成分で表現される例を挙げる。この場合、画像データとは、Y成分の画像データと、Cb成分の画像データと、Cr成分の画像データのそれぞれを指す。但し、データ記憶制御装置9は、画像が他の成分で表現される例に対しても適用可能である。
Here, an example is shown in which an image is represented by Y, Cb, and Cr components. In this case, the image data indicates Y component image data, Cb component image data, and Cr component image data. However, the data
圧縮部32は、圧縮データ生成部41と、選択部42とを含んでいる。
The
圧縮データ生成部41は、入力バッファ31を介して取得した画像データから、複数種類の圧縮データを生成可能に構成されている。より具体的には、圧縮データ生成部41は、ロスレス圧縮を行うロスレス圧縮部51と、ロッシー圧縮を行うロッシー圧縮部52とを含んでいる。なお、ロスレス圧縮は可逆圧縮とも呼ばれ、ロッシー圧縮は不可逆圧縮とも呼ばれる。
The compressed
そして、圧縮データ生成部41は、ロスレス圧縮部51およびロッシー圧縮部52を用いて画像データを圧縮することによって、複数種類の圧縮データを生成する。圧縮データ生成部41は、複数種類の圧縮データの一部または全部を並列的に(換言すれば、同時的に)生成するように構成されてもよいし、あるいは直列的に(換言すれば、順次に)生成するように構成されてもよい。
Then, the compressed
選択部42は、圧縮データ生成部41によって生成された各種類の圧縮データに対して、所定の選択処理を行う。具体的に選択処理では、圧縮データ生成部41によって生成された各種類の圧縮データが所定の選択条件を満足するか否かを判定し、所定の選択条件を満足する1つの圧縮データを選択する。
The
上記選択条件は、データサイズ条件と、データ精度条件とを含む。データサイズ条件は、データサイズが規定値以下であるという条件である。データ精度条件は、データサイズ条件を満足する圧縮データのうちで情報保持精度が最も高いという条件である。情報保持精度とは、圧縮前の画像データによって提供される情報が、圧縮および復元を経てどの程度保持されるかを表す。情報保持精度は復元精度と呼んでもよい。 The selection conditions include a data size condition and a data accuracy condition. The data size condition is a condition that the data size is not more than a specified value. The data accuracy condition is a condition that the information holding accuracy is the highest among the compressed data satisfying the data size condition. The information holding accuracy represents how much information provided by image data before compression is held after compression and decompression. Information holding accuracy may be called restoration accuracy.
出力バッファ33は、選択部42によって選択された圧縮データ、換言すれば圧縮部32から出力された圧縮データを一時的に保持し、書込制御部34に供給する。
The
書込制御部34は、出力バッファ33内の圧縮データを、書込データとして記憶部10(図1参照)に書き込む。記憶部10がDRAMである例に鑑みると、書込制御部34は、いわゆるDRAMコントローラで構成可能である。このため、以下では、書込制御部34をDRAMコントローラ34と呼ぶ場合もある。
The
ここで、データ記憶制御装置9では画像データは画像ブロック単位で処理される。そのような処理ブロックを図3および図4に例示する。図3はY成分の画像データに関し、図4はCb成分およびCr成分の画像データに関する。図3および図4に示すように、データ記憶制御装置9では、第1ブロックBL1および第2ブロックBL2と呼ぶ2種類の画像ブロックが利用される。
Here, in the data
ここでは、Y成分の画像データに関しては(図3参照)、第1ブロックBL1が4×1画素の領域サイズで構成され、第2ブロックBL2が16×4画素の領域サイズで構成される例を挙げる。この場合、第2ブロックBL2は、4×4ブロックの第1ブロックBL1によって構成されることになる。換言すれば、第2ブロックBL2は、16個の第1ブロックBL1に分割可能である。 Here, for the Y component image data (see FIG. 3), the first block BL1 is configured with a region size of 4 × 1 pixels, and the second block BL2 is configured with a region size of 16 × 4 pixels. I will give you. In this case, the second block BL2 is constituted by the first block BL1 of 4 × 4 blocks. In other words, the second block BL2 can be divided into 16 first blocks BL1.
また、Cb成分およびCr成分の画像データに関しては(図4参照)、第1ブロックBL1が8×1画素の領域サイズで構成され、第2ブロックBL2が8×2画素の領域サイズで構成される例を挙げる。この場合、第2ブロックBL2は、1×2ブロックの第1ブロックBL1によって構成されることになる。換言すれば、第2ブロックBL2は、2個の第1ブロックBL1に分割可能である。 As for Cb component and Cr component image data (see FIG. 4), the first block BL1 is configured with an area size of 8 × 1 pixels, and the second block BL2 is configured with an area size of 8 × 2 pixels. Give an example. In this case, the second block BL2 is configured by the first block BL1 of 1 × 2 blocks. In other words, the second block BL2 can be divided into two first blocks BL1.
第2ブロックBL2はN個(Nは1以上の整数)の第1ブロックBL1で構成され、図3および図4の例ではNの値は2以上である。但し、Nの値は1であってもよく、その場合、第2ブロックBL2と第1ブロックBL1とは同じ領域サイズを有することになる。 The second block BL2 is composed of N (N is an integer of 1 or more) first blocks BL1, and the value of N is 2 or more in the examples of FIGS. However, the value of N may be 1. In this case, the second block BL2 and the first block BL1 have the same area size.
なお、H.264、MPEG等で利用されるマクロブロックMB(図3および図4を参照)は、例えば16×16画素や8×8画素の領域サイズに設定される。符号化装置1がH.264、MPEG等に準拠する場合、例えば、入力バッファ31にはそのようなマクロブロックMB単位で、画像データが入力される。
H. For example, a macroblock MB (see FIGS. 3 and 4) used in H.264, MPEG, or the like is set to an area size of 16 × 16 pixels or 8 × 8 pixels, for example. The
例えば圧縮データ生成部41では、第1ブロックBL1ごとに、ロスレス圧縮およびロッシー圧縮が行われる。また、例えば選択部42では、第2ブロックBL2ごとに、選択処理が行われる。
For example, in the compressed
以下に、データ記憶制御装置9のより具体的な例を説明する。
Hereinafter, a more specific example of the data
<ロスレス圧縮部>
図5に、ロスレス圧縮部51の一例を示す。図5の例によれば、ロスレス圧縮部51はロスレス圧縮処理部61を含み、ロスレス圧縮処理部61は第1ブロックBL1ごとに所定のロスレス圧縮を実行する。
<Lossless compression unit>
FIG. 5 shows an example of the
図6に、ロスレス圧縮処理部61で行われるロスレス圧縮を例示する。図6には、Y成分の第1ブロックBL1を示しており、説明のために第1ブロックBL1を構成する4つの画素PXを左端からPXa,PXb,PXc,PXdと呼ぶ。また、画素PXa,PXb,PXc,PXdの画素値(換言すれば画素データ)PをPa,Pb,Pc,Pdとする。
FIG. 6 illustrates lossless compression performed by the lossless
図6の例によれば、画素PXaの画素値は、圧縮後もPaのままである。他方、画素PXbの画素値は{Pb−Pa}に変換され、画素PXcの画素値は{Pc−Pb}に変換され、画素PXdの画素値は{Pd−Pc}に変換される。 According to the example of FIG. 6, the pixel value of the pixel PXa remains Pa after compression. On the other hand, the pixel value of the pixel PXb is converted to {Pb−Pa}, the pixel value of the pixel PXc is converted to {Pc−Pb}, and the pixel value of the pixel PXd is converted to {Pd−Pc}.
すなわち、ロスレス圧縮処理部61は、第1ブロックBL1内で隣接する一対の画素PXを圧縮対象画素および基準画素に定め、第1ブロックBL1内で当該一対の画素PXを順次選択する、という画素分類に従って、圧縮対象画素および基準画素を順次定める。そして、ロスレス圧縮処理部61は、圧縮対象画素と基準画素との画素値の差分を求め、得られた差分値を圧縮対象画素に割り当てる、という内容のロスレス圧縮を実行する。図6の例では一対の画素PXにおいて左隣の画素PXを基準画素に設定するが、右隣の画素PXを基準画素に設定してもよい。なお、Cb成分およびCr成分に対しても、同様のロスレス圧縮を実行可能である。
That is, the lossless
なお、他の種類のロスレス圧縮をロスレス圧縮処理部61に採用してもよい。また、ロスレス圧縮部51は、異なる種類のロスレス圧縮を実行する複数のロスレス圧縮処理部61を含んでもよい。
Note that other types of lossless compression may be employed in the lossless
<ロッシー圧縮部>
図7に、ロッシー圧縮部52の一例を示す。図7の例によれば、ロッシー圧縮部52は、互いに異なる種類のロッシー圧縮を実行する複数のロッシー圧縮処理部62を含んでいる。図8〜図12を参照して、ロッシー圧縮処理部62の第1例〜第4例を示す。
<Lossy compression section>
FIG. 7 shows an example of the
図8に示すように、第1例のロッシー圧縮処理部62aは、圧縮対象データに対してローパスフィルタ(LPF)を施す処理であるローパス処理を実行することによって、圧縮データを生成する。すなわち、ローパス処理はロッシー圧縮の一種である。ローパスフィルタとして例えば水平ローパスフィルタを利用可能である。 As shown in FIG. 8, the lossy compression processing unit 62a of the first example generates compressed data by executing a low-pass process that is a process of applying a low-pass filter (LPF) to the compression target data. That is, low-pass processing is a type of lossy compression. For example, a horizontal low-pass filter can be used as the low-pass filter.
図9を参照して、9タップの水平ローパスフィルタの例を説明する。ここでは、注目画素の画素値をP4とし、注目画素の左側の4つの画素の画素値をP0〜P3とし、注目画素の右側の4つの画素の画素値をP5〜P8とする。また、これら9個の画素に対するLPF係数をC0〜C8とする。この場合、ローパス処理後の注目画素には、図9中に記載の数式によって算出された値が割り当てられる。 An example of a 9-tap horizontal low-pass filter will be described with reference to FIG. Here, the pixel value of the target pixel is P4, the pixel values of the four pixels on the left side of the target pixel are P0 to P3, and the pixel values of the four pixels on the right side of the target pixel are P5 to P8. The LPF coefficients for these nine pixels are C0 to C8. In this case, a value calculated by the mathematical formula shown in FIG. 9 is assigned to the target pixel after the low-pass processing.
第1ブロックBL1内の各画素を順次、注目画素に設定することによって、第1ブロックBL1に対するローパス処理が完了する。なお、図9の例によれば、圧縮対象の第1ブロックBL1に隣接する第1ブロックBL1の画素値も参照することになる。 By sequentially setting each pixel in the first block BL1 as a target pixel, the low-pass process for the first block BL1 is completed. In addition, according to the example of FIG. 9, the pixel value of the first block BL1 adjacent to the first block BL1 to be compressed is also referred to.
図10に示すように、第2例のロッシー圧縮処理部62bは、圧縮対象データに対してローパス処理とロスレス圧縮とをこの順序で実行することによって、圧縮データを生成する。ここでは、ローパス処理はロッシー圧縮処理部62a(図8参照)と同じとし、ロスレス圧縮はロスレス圧縮処理部61(図5参照)と同じとする。
As shown in FIG. 10, the lossy
図11に示すように、第3例のロッシー圧縮処理部62cは、圧縮対象データに対してローパス処理とロスレス圧縮とビットシフト処理とをこの順序で実行することによって、圧縮データを生成する。ここでは、ローパス処理とロスレス圧縮は、ロッシー圧縮処理部62b(図10参照)と同じとする。ビットシフト処理では、ロスレス圧縮によって得られた差分値(より具体的には、当該差分値を二進数で表現した場合のビット列)を最下位ビット(LSB)側に、所定のシフト量だけビットシフトさせる。なお、以下では、最下位ビット側へのビットシフトを、右ビットシフトまたは右シフトと呼ぶ場合もある。
As shown in FIG. 11, the lossy
ここで、複数のシフト量を利用すれば、第4例のロッシー圧縮処理部62d(図12参照)のように、1つの圧縮対象データに対して複数の圧縮データを生成可能である。
Here, if a plurality of shift amounts are used, a plurality of pieces of compressed data can be generated for one piece of compression target data as in the lossy
第1例〜第4例以外の構成をロッシー圧縮処理部62に採用することも可能である。例えば、ロッシー圧縮処理部62b〜62d(図10〜図12参照)においてLPF処理を省略しても構わない。また、LPFの作用強度を変えれば、別のロッシー圧縮処理部62を構成可能である。なお、LPFの作用強度は、LPF係数を制御することによって、調整可能である。
It is also possible to employ configurations other than the first to fourth examples for the lossy
<圧縮データ生成部の具体例>
図13に、圧縮データ生成部41の一例についてブロック図を示す。図13の例において、ロスレス圧縮部51は、図5および図6の例によって構成されているものとする。また、図13の例において、ロッシー圧縮部52は、4つのロッシー圧縮処理部62を含んでいる。
<Specific example of compressed data generation unit>
FIG. 13 shows a block diagram of an example of the compressed
具体的には、4つのロッシー圧縮処理部62は、ロッシー圧縮処理部62b(図10参照)によって構成された2つのロッシー圧縮処理部62b1,62b2と、ロッシー圧縮処理部62d(図12参照)によって構成された2つのロッシー圧縮処理部62d1,62d2である。ロッシー圧縮処理部62b1,62d1は、ローパス処理およびロスレス圧縮の実行部を共有しており、ロッシー圧縮処理部62b1の出力に対してビットシフト処理が実行されることによって、ロッシー圧縮処理部62d1の出力が生成される。同様に、ロッシー圧縮処理部62b2,62d2は、ローパス処理およびロスレス圧縮の実行部を共有している。ロッシー圧縮処理部62b1,62d1が共有するLPFは、ロッシー圧縮処理部62b2,62d2が共有するLPFに比べて、作用強度が小さい。弱いLPFによる演算を図14に例示し、強いLPFによる演算を図15に例示する。
Specifically, the four lossy
なお、図13に示すように、ロスレス圧縮処理部61によって生成される圧縮データをDaと呼ぶことにする。
As shown in FIG. 13, the compressed data generated by the lossless
また、弱いLPFを有するロッシー圧縮処理部62b1によって生成される圧縮データをDbと呼ぶことにする。また、弱いLPFを有するロッシー圧縮処理部62d1によって生成される2つの圧縮データをDc,Ddと呼ぶことにする。圧縮データDcは圧縮データDbを1ビット、右シフトさせて得られ、圧縮データDdは圧縮データDbを2ビット、右シフトさせて得られる。 The compressed data generated by the lossy compression processing unit 62b1 having a weak LPF is referred to as Db. Two pieces of compressed data generated by the lossy compression processing unit 62d1 having a weak LPF are referred to as Dc and Dd. The compressed data Dc is obtained by right-shifting the compressed data Db by 1 bit, and the compressed data Dd is obtained by right-shifting the compressed data Db by 2 bits.
また、強いLPFを有するロッシー圧縮処理部62b2によって生成される圧縮データをDeと呼ぶことにする。また、強いLPFを有するロッシー圧縮処理部62d2によって生成される2つの圧縮データをDf,Dgと呼ぶことにする。圧縮データDfは圧縮データDeを1ビット、右シフトさせて得られ、圧縮データDgは圧縮データDeを2ビット、右シフトさせて得られる。 The compressed data generated by the lossy compression processing unit 62b2 having a strong LPF is referred to as De. Two pieces of compressed data generated by the lossy compression processing unit 62d2 having a strong LPF will be referred to as Df and Dg. The compressed data Df is obtained by right-shifting the compressed data De by 1 bit, and the compressed data Dg is obtained by right-shifting the compressed data De by 2 bits.
以下では、図13の例を参照して、圧縮部32の動作をより具体的に説明する。
Hereinafter, the operation of the
<圧縮部の動作例>
上記のように、圧縮部32では、圧縮データ生成部41が1つの画像データから複数種類の圧縮データを生成し、選択部42が複数種類の圧縮データのうちから1つを選択する。選択部42による選択処理では、データサイズ条件と、データ精度条件とが適用される。
<Operation example of compression unit>
As described above, in the
先に、データ精度条件を説明する。データ精度条件は、上記のように、データサイズ条件を満足する圧縮データのうちで情報保持精度が最も高いという条件である。情報保持精度の序列は事前のシミュレーション、実験等を通じて予め規定されており、その序列の情報は選択部42に予め与えられているものとする。
First, the data accuracy condition will be described. As described above, the data accuracy condition is a condition that the information holding accuracy is the highest among the compressed data satisfying the data size condition. It is assumed that the order of information holding accuracy is defined in advance through prior simulations, experiments, and the like, and information on the order is given to the
以下では、圧縮データDa〜Dg(図13参照)の情報保持精度の序列について、図16の例を参照する。図16の例によれば、ロスレス圧縮データDaの情報保持精度が最も高い。そして、ロッシー圧縮データDb,De,Dc,Df,Ddの順に情報保持精度が低くなり、ロッシー圧縮データDgの情報保持精度が最も低い。 Below, the example of FIG. 16 is referred about the order of the information retention precision of compression data Da-Dg (refer FIG. 13). According to the example of FIG. 16, the information holding accuracy of the lossless compressed data Da is the highest. Then, the information holding accuracy decreases in the order of the lossy compressed data Db, De, Dc, Df, Dd, and the information holding accuracy of the lossy compressed data Dg is the lowest.
次に、データサイズ条件を説明する。データサイズ条件は、上記のように、圧縮データのデータサイズが規定値以下であるという条件である。より具体的には、データサイズ条件は、選択処理で利用する第2ブロックBL2に含まれる全ての第1ブロックBL1について、データサイズが規定値以下であることを要求する。図17〜図19の数値例を参照して、データサイズ条件を具体的に説明する。 Next, data size conditions will be described. As described above, the data size condition is a condition that the data size of the compressed data is equal to or smaller than a specified value. More specifically, the data size condition requires that the data size is not more than a specified value for all the first blocks BL1 included in the second block BL2 used in the selection process. The data size condition will be specifically described with reference to numerical examples in FIGS.
図17等において、第1ブロックBL1内の4つの数値は、その第1ブロックBL1に含まれる4つの画素のデータ(換言すれば、画素値)である。図17、図18および図19はY成分、Cb成分およびCr成分の画像データについてそれぞれ示している。また、図6の手法によるロスレス圧縮が適用され、ロスレス圧縮データDaが生成される。なお、圧縮データ生成部41は、第2ブロックBL2に含まれる第1ブロックBL1の一部または全部を並列的に処理するように構成されてもよいし、あるいは直列的に生成するように構成されてもよい。
In FIG. 17 and the like, the four numerical values in the first block BL1 are data (in other words, pixel values) of four pixels included in the first block BL1. FIGS. 17, 18 and 19 show image data of Y component, Cb component and Cr component, respectively. Further, lossless compression by the method of FIG. 6 is applied, and lossless compressed data Da is generated. The compressed
圧縮データにおいて、第1ブロックBL1中の画素は、判定対象画素と除外画素とに分類される。なお、図17〜図19では、除外画素に対して、砂模様のハッチングを施している。図17では、左端の画素が除外画素に設定され、その他の3つの画素が判定対象画素に設定される。図18および図19では、左端の画素が除外画素に設定され、その他の7つの画素が判定対象画素に設定される。すなわち、ロスレス圧縮の際に、基準画素としてだけ利用された画素が、除外画素に設定される。 In the compressed data, the pixels in the first block BL1 are classified into determination target pixels and excluded pixels. In FIG. 17 to FIG. 19, sand pattern hatching is applied to the excluded pixels. In FIG. 17, the leftmost pixel is set as an excluded pixel, and the other three pixels are set as determination target pixels. In FIGS. 18 and 19, the leftmost pixel is set as an excluded pixel, and the other seven pixels are set as determination target pixels. That is, during lossless compression, pixels that are used only as reference pixels are set as excluded pixels.
そして、データサイズ条件は、判定対象画素の画素値(ここではロスレス圧縮によって得られた差分値)が規定ビット数以下で表現できることを要求する。規定ビット数は、圧縮対象データ(すなわち圧縮部32に入力される画像データ)の各画素値を表示するために割り当てられたビット数(ここでは8ビットとする)よりも少ないビット数に設定される。 The data size condition requires that the pixel value of the determination target pixel (here, the difference value obtained by lossless compression) can be expressed by a predetermined number of bits or less. The specified number of bits is set to a number of bits smaller than the number of bits (here, 8 bits) assigned to display each pixel value of the compression target data (that is, image data input to the compression unit 32). The
一例として、Y成分の画像データに対する規定ビット数を5ビットとする。この場合、データサイズ条件は、判定対象画素の画素値が5ビットで表現可能な数値範囲(すなわち−16から+15)内に在ることを要求する。なお、負数は2の補数を用いて表すものとする。また、一例として、Cb成分およびCr成分の画像データに対する規定ビット数を4ビットとする。この場合、データサイズ条件は、判定対象画素の画素値が4ビットで表現可能な数値範囲(すなわち−8から+7)内に在ることを要求する。 As an example, the prescribed number of bits for the Y component image data is 5 bits. In this case, the data size condition requires that the pixel value of the determination target pixel be within a numerical range that can be expressed by 5 bits (that is, −16 to +15). Negative numbers are expressed using 2's complement. As an example, the specified number of bits for the image data of the Cb component and the Cr component is 4 bits. In this case, the data size condition requires that the pixel value of the determination target pixel is within a numerical range that can be expressed by 4 bits (ie, from −8 to +7).
図17〜図19の例では、全ての第1ブロックBL1において判定対象画素の画素値が規定ビット数以下で表現できることが分かる。その結果、図17〜図19の例は、データサイズ条件を満足する。 In the examples of FIGS. 17 to 19, it can be understood that the pixel values of the determination target pixels can be expressed by a predetermined number of bits or less in all the first blocks BL <b> 1. As a result, the examples of FIGS. 17 to 19 satisfy the data size condition.
ここで、図17〜図19の例ではロスレス圧縮データDaが生成される。上記のように、ロスレス圧縮データDaの情報保持精度は最も高い(図16参照)。したがって、図17〜図19の例によれば、当該圧縮データDaがデータサイズ条件とデータ精度条件の両方を満足する。その結果、当該圧縮データDaが、選択部42によって選択されて、圧縮部32から出力される。
Here, in the example of FIGS. 17 to 19, lossless compressed data Da is generated. As described above, the information holding accuracy of the lossless compressed data Da is the highest (see FIG. 16). Therefore, according to the examples of FIGS. 17 to 19, the compressed data Da satisfies both the data size condition and the data accuracy condition. As a result, the compressed data Da is selected by the
さて、圧縮前において、第2ブロックBL2のデータサイズは次のように計算される。すなわち、Y成分のデータサイズは512ビット(={8ビット×4画素}×16ブロック)である。Cb成分のデータサイズは128ビット(={8ビット×8画素}×2ブロック)である。Cr成分のデータサイズも128ビットである。したがって、合計768ビットになる。 Now, before compression, the data size of the second block BL2 is calculated as follows. That is, the data size of the Y component is 512 bits (= {8 bits × 4 pixels} × 16 blocks). The data size of the Cb component is 128 bits (= {8 bits × 8 pixels} × 2 blocks). The data size of the Cr component is also 128 bits. Therefore, the total is 768 bits.
これに対し、圧縮後においてデータサイズ条件を満足する場合、第2ブロックBL2のデータサイズは次のように計算される。すなわち、Y成分のデータサイズは368ビット(={8ビット×1画素+5ビット×3画素}×16ブロック)である。Cb成分のデータサイズは72ビット(={8ビット×1画素+4ビット×7画素}×2ブロック)である。Cr成分のデータサイズも72ビットである。したがって、合計512ビットになる。 On the other hand, when the data size condition is satisfied after compression, the data size of the second block BL2 is calculated as follows. That is, the data size of the Y component is 368 bits (= {8 bits × 1 pixel + 5 bits × 3 pixels} × 16 blocks). The data size of the Cb component is 72 bits (= {8 bits × 1 pixel + 4 bits × 7 pixels} × 2 blocks). The data size of the Cr component is also 72 bits. Therefore, the total is 512 bits.
つまり、データサイズ条件を満足する場合、第2ブロックBL2を768ビットから512ビットに圧縮できる。 That is, when the data size condition is satisfied, the second block BL2 can be compressed from 768 bits to 512 bits.
図20〜図25を参照して、別の数値例を示す。なお、図20〜図25にはY成分のみを例示しているが、Cb成分およびCr成分についても同様に理解される。 With reference to FIGS. 20-25, another numerical example is shown. 20 to 25 exemplify only the Y component, the Cb component and the Cr component are similarly understood.
図20では、圧縮対象データ(すなわち圧縮部32に入力される画像データ)に対してロスレス圧縮が実行され、ロスレス圧縮データDaが生成される(図13参照)。 In FIG. 20, lossless compression is performed on the compression target data (that is, image data input to the compression unit 32), and lossless compressed data Da is generated (see FIG. 13).
図21では、圧縮対象データに対して、弱いLPFによるローパス処理と、ロスレス圧縮とがこの順序で実行され、ロッシー圧縮データDbが生成される(図13参照)。なお、図9で説明したように、第2ブロックBL2中の左端および右端の第1ブロックBL1に対するローパス処理では、隣接する第2ブロックBL2中の第1ブロックBL1(図22中の二点鎖線で示した第1ブロックBL1を参照)が利用される。 In FIG. 21, low-pass processing using weak LPF and lossless compression are performed in this order on the compression target data, and lossy compressed data Db is generated (see FIG. 13). As described with reference to FIG. 9, in the low-pass processing for the first block BL1 at the left end and the right end in the second block BL2, the first block BL1 in the adjacent second block BL2 (indicated by a two-dot chain line in FIG. 22). The first block BL1 shown) is used.
図23は、圧縮対象データに対して、弱いLPFによるローパス処理と、ロスレス圧縮と、右ビットシフト処理(1ビット分)がこの順序で実行されることによって生成されたロッシー圧縮データDcを例示している(図13参照)。なお、2ビット分の右ビットシフト処理によって生成されるロッシー圧縮データDdは図示を省略する。 FIG. 23 exemplifies lossy compressed data Dc generated by executing low pass processing with weak LPF, lossless compression, and right bit shift processing (for one bit) in this order on the compression target data. (See FIG. 13). The lossy compressed data Dd generated by the right bit shift process for 2 bits is not shown.
図24では、圧縮対象データに対して、強いLPFによるローパス処理と、ロスレス圧縮とがこの順序で実行され、ロッシー圧縮データDeが生成される(図13参照)。図25は、圧縮対象データに対して、強いLPFによるローパス処理と、ロスレス圧縮と、右ビットシフト処理(1ビット分)がこの順序で実行されることによって生成されたロッシー圧縮データDfを例示している(図13参照)。なお、2ビット分の右ビットシフト処理によって生成されるロッシー圧縮データDgは図示を省略する。 In FIG. 24, low-pass processing using strong LPF and lossless compression are performed in this order on the compression target data, and lossy compressed data De is generated (see FIG. 13). FIG. 25 exemplifies lossy compressed data Df generated by executing low pass processing by strong LPF, lossless compression, and right bit shift processing (for one bit) in this order for the compression target data. (See FIG. 13). The lossy compressed data Dg generated by the right bit shift process for 2 bits is not shown.
図20〜図25の例において、圧縮データDa,Db,Dc,De中の丸で囲んだ画素値は、5ビットで表現可能な数値範囲(すなわち−16から+15)内に存在しない。このため、圧縮データDa,Db,Dc,Deはデータサイズ条件を満足しない。これに対し、図25から分かるように、圧縮データDfはデータサイズ条件を満足する。この場合、図16を参照すると、圧縮データDfが、データサイズ条件を満足する圧縮データのうちで情報保持精度が最も高いことになる。すなわち、圧縮データDfはデータ精度条件も満足する。したがって、圧縮データDfが、選択部42によって選択されて、圧縮部32から出力される。
In the examples of FIGS. 20 to 25, the pixel values surrounded by circles in the compressed data Da, Db, Dc, De do not exist within a numerical range (ie, −16 to +15) that can be expressed by 5 bits. For this reason, the compressed data Da, Db, Dc, and De do not satisfy the data size condition. On the other hand, as can be seen from FIG. 25, the compressed data Df satisfies the data size condition. In this case, referring to FIG. 16, the compressed data Df has the highest information holding accuracy among the compressed data satisfying the data size condition. That is, the compressed data Df also satisfies the data accuracy condition. Therefore, the compressed data Df is selected by the
なお、図26に、圧縮データDfを復元した場合の画像データを示す。また、図27に、圧縮データDfを復元した画像データと圧縮前の画像データとの間の誤差を示す。図27によれば、誤差の絶対値の和は40となる。 FIG. 26 shows image data when the compressed data Df is restored. FIG. 27 shows an error between the image data restored from the compressed data Df and the image data before compression. According to FIG. 27, the sum of absolute values of errors is 40.
ここで、データサイズ条件の判定は、圧縮データ生成部41によって生成される複数種類の圧縮データのうちで、情報保持精度が高い方から順に実行するのが効率的である。データサイズ条件を満足する圧縮データが見つかれば、残りの圧縮データについてはデータサイズ条件の判定を省略できるからである。また、例えば圧縮データ生成部41が複数種類の圧縮データを直列的に生成する場合、データサイズ条件を満足する圧縮データが見つかれば、その第2ブロックBL2については残りの圧縮データの生成を省略できる。
Here, the determination of the data size condition is efficiently performed in order from the higher information holding accuracy among the plural types of compressed data generated by the compressed
なお、データサイズ条件における規定ビット数をMビットとすると、{8−M}ビットのシフト量のビットシフト処理を設けることによって、データサイズ条件を満足する圧縮データを確実に生成できる。 If the prescribed number of bits in the data size condition is M bits, compressed data that satisfies the data size condition can be reliably generated by providing a bit shift process with a shift amount of {8-M} bits.
<ロスレス圧縮の更なる例>
さて、図6で説明したロスレス圧縮では、左端の画素を除いて、左隣の画素を基準画素にして画素値の差分を算出する。この手法によれば、小さい差分値を得やすい。その結果、ビットシフト処理でのシフト量を少なくすること、換言すればビットシフト処理の段数を少なくすることが可能である。
<Further examples of lossless compression>
Now, in the lossless compression described with reference to FIG. 6, the pixel value difference is calculated using the left adjacent pixel as a reference pixel, excluding the leftmost pixel. According to this method, it is easy to obtain a small difference value. As a result, the shift amount in the bit shift process can be reduced, in other words, the number of stages of the bit shift process can be reduced.
その一方で、図6のロスレス圧縮をロッシー圧縮処理部62で利用すると、第1ブロックBL1内で右側に行くほど誤差が蓄積されていく、換言すれば第1ブロックBL1内で誤差が右側に拡散していく場合がある。
On the other hand, lossless compression of Figure 6 when used in the lossy
これに対し、図28に示すロスレス圧縮によれば、誤差の拡散を抑制できる。具体的には、図28の例によれば、画素PXaの画素値は、圧縮後もPaのままである。他方、画素PXbの画素値は{Pb−Pa}に変換され、画素PXcの画素値は{Pc−Pa}に変換され、画素PXdの画素値は{Pd−Pa}に変換される。 In contrast, the lossless compression shown in FIG. 28 can suppress error diffusion. Specifically, according to the example of FIG. 28, the pixel value of the pixel PXa remains Pa after compression. On the other hand, the pixel value of the pixel PXb is converted to {Pb−Pa}, the pixel value of the pixel PXc is converted to {Pc−Pa}, and the pixel value of the pixel PXd is converted to {Pd−Pa}.
すなわち、図28の例は画素値の差分を算出するという処理内容は図6と同じであるが、画素分類の規定が異なる。具体的には図28の例は、第1ブロックBL1内の予め指定された固定位置の画素PXを基準画素に定め、第1ブロック内で固定位置以外の各画素PXを圧縮対象画素に定める、という画素分類を採用している。図28の例では上記固定位置は第1ブロックBL1内の左端であるが、その他の位置を上記固定位置に定めてもよい。なお、Cb成分およびCr成分に対しても、同様のロスレス圧縮を実行可能である。 That is, the example of FIG. 28 is the same as that of FIG. 6 in that the processing content for calculating the difference between pixel values is the same as that of FIG. Specifically, in the example of FIG. 28, a pixel PX at a fixed position designated in advance in the first block BL1 is defined as a reference pixel, and each pixel PX other than the fixed position in the first block is defined as a compression target pixel. The pixel classification is adopted. In the example of FIG. 28, the fixed position is the left end in the first block BL1, but other positions may be determined as the fixed position. Note that similar lossless compression can be performed on the Cb component and the Cr component.
図28のロスレス圧縮について、図29〜図34に数値例を示す。なお、図29〜図34にはY成分のみを例示しているが、Cb成分およびCr成分についても同様に理解される。 Numerical examples of the lossless compression of FIG. 28 are shown in FIGS. Note that although only the Y component is illustrated in FIGS. 29 to 34, the Cb component and the Cr component are similarly understood.
図29では、圧縮対象データに対して、弱いLPFによるローパス処理と、図28のロスレス圧縮とがこの順序で実行され、ロッシー圧縮データDbが生成される(図13参照)。図30は、圧縮対象データに対して、弱いLPFによるローパス処理と、図28のロスレス圧縮と、右ビットシフト処理(1ビット分)がこの順序で実行されることによって生成されたロッシー圧縮データDcを例示している(図13参照)。また、図31には、2ビット分の右ビットシフト処理によって生成されたロッシー圧縮データDdを例示している(図13参照)。 In FIG. 29, low-pass processing using weak LPF and lossless compression in FIG. 28 are executed in this order on the compression target data, and lossy compressed data Db is generated (see FIG. 13). FIG. 30 shows the lossy compressed data Dc generated by performing low pass processing with weak LPF, lossless compression of FIG. 28, and right bit shift processing (for one bit) in this order on the compression target data. (See FIG. 13). FIG. 31 illustrates lossy compressed data Dd generated by right bit shift processing for 2 bits (see FIG. 13).
図32では、圧縮対象データに対して、強いLPFによるローパス処理と、図28のロスレス圧縮とがこの順序で実行され、ロッシー圧縮データDeが生成される(図13参照)。図33は、圧縮対象データに対して、強いLPFによるローパス処理と、図28のロスレス圧縮と、右ビットシフト処理(1ビット分)がこの順序で実行されることによって生成されたロッシー圧縮データDfを例示している(図13参照)。また、図34には、2ビット分の右ビットシフト処理によって生成されたロッシー圧縮データDgを例示している(図13参照)。 In FIG. 32, low-pass processing using strong LPF and lossless compression in FIG. 28 are executed in this order on the compression target data, and lossy compressed data De is generated (see FIG. 13). FIG. 33 shows the lossy compressed data Df generated by executing the low pass processing by strong LPF, the lossless compression of FIG. 28, and the right bit shift processing (for 1 bit) in this order on the compression target data. (See FIG. 13). FIG. 34 illustrates lossy compressed data Dg generated by right bit shift processing for 2 bits (see FIG. 13).
図29〜図34の例によれば、圧縮データDgがデータサイズ条件とデータ精度条件の両方を満足する。このため、圧縮データDgが、選択部42によって選択されて、圧縮部32から出力される。
According to the examples of FIGS. 29 to 34, the compressed data Dg satisfies both the data size condition and the data accuracy condition. Therefore, the compressed data Dg is selected by the
なお、図35に、図34の圧縮データDgを復元した場合の画像データを示す。また、図36に、圧縮データDgを復元した画像データと圧縮前の画像データとの間の誤差を示す。図36によれば、誤差の絶対値の和は60となる。 FIG. 35 shows image data when the compressed data Dg in FIG. 34 is restored. FIG. 36 shows an error between the image data restored from the compressed data Dg and the image data before compression. According to FIG. 36, the sum of absolute values of errors is 60.
ここで、ロスレス圧縮部51とロッシー圧縮部52とは同じ手法のロスレス圧縮を採用するものとするが、この例に限定されるものではない。例えば、ロスレス圧縮部51は図6の手法を採用し、ロッシー圧縮部52は図28の手法を採用してもよい。また、ロッシー圧縮部52が複数のロッシー圧縮処理部62を含む場合、一部または全部のロッシー圧縮処理部62において、ロスレス圧縮処理部61とは異なる手法のロスレス圧縮を採用してもよい。同じ手法のロスレス圧縮を採用すれば、例えば、装置設計を簡潔にすることができる。また、ロスレス圧縮用の回路を共有することも可能である。これに対し、異なる手法のロスレス圧縮を採用すれば、例えば、情報保持精度を調整することができ、それにより装置設計の自由度が増す。
Here, the
<ロッシー圧縮の更なる例>
図37および図38を参照して、ロッシー圧縮処理部62の更なる例を説明する。図37のロッシー圧縮処理部62eは、圧縮対象データ中の圧縮対象画素に対してビット削減処理を実行することによって、圧縮データを生成する。ビット削減処理では、図38に示すように、画素値を表現するビット列のうちの最下位ビット(LSB)側から所定範囲のビットを削除することによって、画素値のビット数を削減する。
<Further examples of lossy compression>
A further example of the lossy
図38には、圧縮前の画素値が二進数表記で“01011001”(十進数表記で“89”)であり、下位3ビットを削除する例を示している。換言すれば、上位5ビット“01011”が圧縮データとして抽出され、ロッシー圧縮処理部62eから出力される。
FIG. 38 shows an example in which the pixel value before compression is “01011001” in binary notation (“89” in decimal notation) and the lower 3 bits are deleted. In other words, the upper 5 bits “01011” are extracted as compressed data and output from the lossy
ここで、上位5ビットを抽出すれば、確実に、圧縮対象画素の画素値を5ビットで表現可能な数値範囲(すなわち−16から+15)内に収めることできる。 Here, if the upper 5 bits are extracted, the pixel value of the compression target pixel can be surely kept within a numerical range (ie, −16 to +15) that can be expressed by 5 bits.
図39に、ビット削減処理によって生成された圧縮データを復元した場合の数値例を示す。なお、復元処理では、5ビットから成る圧縮後の画素値に対して下位3ビットとして“000”を合成するものとする。また、図40に、圧縮前後の画像データの誤差を示す。図40によれば、誤差の絶対値の和は236となる。 Figure 39 shows a numerical example of restoring the compressed data generated by the bit reduction processing. In the restoration process, “000” is synthesized as the lower 3 bits of the compressed pixel value of 5 bits. FIG. 40 shows the error of the image data before and after compression. According to FIG. 40, the sum of absolute values of errors is 236.
図39の例では、第2ブロックBL2中の全ての画素を圧縮対象画素としている。これによれば、例えば、装置設計を簡潔にすることができる。これに対し、例えば第1ブロックBL1内の右側の3つの画素のみを圧縮対象画素に設定してもよい。なお、いずれの例においても、圧縮対象画素が選択部42での判定対象画素に設定される。
In the example of FIG. 39, all the pixels in the second block BL2 are the compression target pixels. According to this, for example, the device design can be simplified. On the other hand, for example, only the right three pixels in the first block BL1 may be set as the compression target pixels. In any example, the compression target pixel is set as the determination target pixel in the
なお、Cb成分およびCr成分に対しても、同様のビット削減処理を適用可能である。また、ビット削減処理を有するロッシー圧縮処理部62eを、他のロッシー圧縮処理部と組み合わせてもよい。また、ビット削減処理を各種処理(例えば図10〜図13を参照)と組み合わせることによって、別のロッシー圧縮処理部62を構成してもよい。
Incidentally, even for Cb and Cr components, it is possible to apply the same bit reduction process. Further, the lossy
<効果>
データ記憶制御装置9によれば、参照画像データを圧縮してから、DRAM10に格納する。このため、DRAM10の使用容量を削減することができる。
<Effect>
According to the data
しかも、圧縮部32から出力された第2ブロックBL2ごとの圧縮データのデータサイズは、圧縮部32でどの圧縮手法を利用したかに関わらず、同じである。すなわち、圧縮部32から出力される圧縮データは固定長である。
Moreover, the data size of the compressed data for each second block BL2 output from the
ここで、ブロックごとにデータサイズが異なる場合、各ブロックのデータを詰めてDRAMに格納するためには、データサイズの相違に基づいて各記憶領域のアドレスを管理しなければならない。また、アドレス管理を簡略化するために最大のデータサイズに合わせて記憶領域を等分に区画すれば、DRAMの使用容量の削減に繋がらない。 Here, when the data size is different for each block, in order to pack the data of each block and store it in the DRAM, the address of each storage area must be managed based on the difference in the data size. Further, if the storage area is equally divided according to the maximum data size in order to simplify the address management, the use capacity of the DRAM will not be reduced.
しかし、データ記憶制御装置9によれば、上記のように圧縮部32からは同じデータサイズで圧縮データが出力される。このため、簡単なアドレス管理によって、圧縮データを詰めて格納することができる。また、圧縮データを詰めて格納することによって、DRAM10の使用容量の削減に貢献できる。例えば、上記のように第2ブロックBL2を2/3(=512ビット/768ビット)のデータサイズに圧縮できるので、DRAM10の使用容量を2/3に削減できる。
However, according to the data
<データ読出制御装置>
図41に、データ読出制御装置11を説明するブロック図である。図41の例によれば、データ読出制御装置11は、読出制御部134と、入力バッファ131と、伸張部132とを含んでいる。
<Data read control device>
FIG. 41 is a block diagram illustrating the data read
読出制御部134は、記憶部10(図1参照)内の圧縮データを読み出して、入力バッファ131に転送する。記憶部10がDRAMである例に鑑みると、読出制御部134は、いわゆるDRAMコントローラで構成可能である。このため、以下では、読出制御部134をDRAMコントローラ134と呼ぶ場合もある。
The
入力バッファ131は、例えばSRAMで構成される。入力バッファ131は、伸張部132に供給する圧縮データを一時的に保持する。
The
伸張部132は、入力バッファ131を介して取得した圧縮データを伸張する。伸張部132は、伸張データ生成部141と、選択部142とを含んでいる。伸張データ生成部141は、ロスレス圧縮部151と、ロッシー圧縮部152とを含んでいる。ロスレス圧縮部151およびロッシー圧縮部152は、データ記憶制御装置9のロスレス圧縮部51およびロッシー圧縮部52と同じ構成を有している(図2参照)。また、選択部142は、データ記憶制御装置9の選択部42と同じ構成を有している。
The decompressing
したがって、伸張データ生成部141では、DRAM10から読み込んだ圧縮データから複数種類のデータが生成される。そして、選択部142では、その複数種類のデータのうちから、所定の選択条件(すなわち選択部42に採用されている選択条件)を満足する1つのデータが選択される。選択部142によって選択されたデータが、伸張データとしてSRAM3に転送される。
Therefore, the decompressed
ここで、符号化装置1内で生成された参照画像データ(図1の例では、デブロッキング後の参照画像データ)は、データ記憶制御装置9によって圧縮され、その後データ読出制御装置11によって復元され、そして動き予測部4に供給される。この場合、動き予測を良好に行うためには、圧縮前の参照画像と同じまたはできるだけ近い画像(換言すれば、圧縮前の参照画像に比べて誤差が許容範囲内の画像)が、動き予測部4に供給されることが好ましい。なお、許容誤差は例えば、事前のシミュレーション、実験等を通じて予め設定される。
Here, the reference image data (in the example of FIG. 1, reference image data after deblocking) generated in the
例えば、圧縮データ生成部41および伸張データ生成部141が図13の構成を採用している場合を想定する。その場合、ビットシフト処理が行われた圧縮データDc,Dd,Df,Dgは、その圧縮手法と同じ手法で伸張されることによって、許容誤差範囲内の参照画像を提供可能である。他方、ビットシフト処理が行われない圧縮データDa,Db,Deは、どの伸張手法によっても、許容誤差範囲内の参照画像を提供可能である。かかる点に鑑みると、ビットシフト処理が行われた圧縮データDc,Dd,Df,Dgに関しては、伸張部132の選択部142に対して、選択する伸張データを指示するのが好ましい。
For example, it is assumed that the compressed
かかる選択指示は例えば、圧縮部32の選択部42が、選択した圧縮データに関する付加情報を生成し、当該付加情報を圧縮データに関連付けてDRAM10に格納すればよい。データ読出制御装置11はDRAM10から圧縮データと共に付加情報を読み出し、その付加情報は選択部142に供給される。それにより、選択部142は、付加情報に含まれた選択指示に応じて動作可能である。
For example, the
付加情報は例えば3ビットのフラグで構成可能である。より具体的には、そのうちの1ビットは、伸張部132の選択部142に対する選択指示の有無を示す。また、残りの2ビットは、その圧縮データが圧縮データDc,Dd,Df,Dgのどれに当たるのかについての識別子、換言すればどの伸張データを選択すべきかについての具体的な指示である。なお、識別子用のビット数は、識別対象となる圧縮データの数に応じて規定すればよい。
The additional information can be composed of, for example, a 3-bit flag. More specifically, one of the bits indicates the presence / absence of a selection instruction to the
なお、付加情報の構成は上記の例に限定されるものではない。また、DRAM10内において、付加情報の記憶領域は、対応する圧縮データの記憶領域と連続して設定される。あるいは、付加情報を、対応する圧縮データから離れた記憶領域に格納してもよい。例えば、付加情報のみを格納する記憶領域をDRAM10内に設けてもよい。
The configuration of the additional information is not limited to the above example. Further, in the
ここで、上記のように各第2ブロックBL2は固定長(例えば512ビット)に圧縮される。付加情報は各第2ブロックBL2に対して生成され、そのデータサイズは上記の例では高々3ビットで済む。このため、付加情報を採用した場合であっても、データ記憶制御装置9について上述した効果は同様に得られる。
Here, as described above, each second block BL2 is compressed to a fixed length (for example, 512 bits). The additional information is generated for each second block BL2, and the data size thereof is 3 bits at most in the above example. For this reason, even when additional information is employed, the effects described above for the data
<実施の形態2>
実施の形態2では、データ記憶制御装置9におけるデータ転送制御を説明する。
<
In the second embodiment, data transfer control in the data
実施の形態1で説明したように、ロッシー圧縮で利用するローパス処理は、圧縮対象の第1ブロックBL1に隣接する第1ブロックBL1の画素値も参照する(図9および図22参照)。すなわち、ローパス処理は、圧縮対象でない第1ブロックBL1を参照対象として利用する参照型処理の一例である。 As described in the first embodiment, the low-pass processing used in lossy compression also refers to the pixel value of the first block BL1 adjacent to the first block BL1 to be compressed (see FIGS. 9 and 22). That is, the low-pass process is an example of a reference type process that uses the first block BL1 that is not a compression target as a reference target.
その場合、入力バッファ31は、圧縮対象としての利用が終了していない第1ブロックBL1のみならず、参照対象としての利用が終了していない第1ブロックBL1についても、画像データを保持しておく必要がある。
In this case, the
他方、圧縮対象としての利用が終了していると共に参照対象としての利用も終了している第1ブロックBL1については、画像データが入力バッファ31から消去されても構わない。すなわち、入力バッファ31は、圧縮対象および参照対象としての利用が終了した第1ブロックBL1の画像データが使用している記憶領域を、利用終了後の所定タイミングで解放する(換言すれば上書き可能状態にする)。
On the other hand, the image data may be deleted from the
これを図42〜図45を参照して説明する。なお、以下ではY成分の画像データについて説明するが、Cb成分およびCr成分についても同様に理解される。 This will be described with reference to FIGS. The Y component image data will be described below, but the Cb component and the Cr component are understood in the same manner.
ここでは、図42および図43に示すように、Y成分の画素データが16×16画素のマクロブロックMBごとに、ラスタ順に、入力バッファ31に供給される例を挙げる。なお、マクロブロックMBを区別する場合には、図42に示すように、符号“MB”の後ろに枝番号を付すことにする。枝番号の付加は他の符号についても用いる。
Here, as shown in FIGS. 42 and 43, an example is given in which Y component pixel data is supplied to the
圧縮部32が、入力バッファ31から、X個(Xは1以上の整数)の第2ブロックBL2から成る第3ブロック単位で、画像データを取得するものとする。第3ブロックは、図43の例ではマクロブロックMBとして(すなわちX=4として)、理解される。
It is assumed that the
図43の例では、入力バッファ31が4つの記憶領域#1〜#4を有している。なお、当該4つの記憶領域#1〜#4のそれぞれが別個のSRAMで構成されていてもよく、その場合、それら4つのSRAMの総称が入力バッファ31にあたる。
In the example of FIG. 43, the
図43の例において、マクロブロックMB_2に含まれる第1ブロックBL1についてローパス処理を行う場合、両隣のマクロブロックMB_1,MB_3が参照対象として利用される。このため、マクロブロックMB_1,MB_2,MB_3は入力バッファ31内に存在する必要がある。
In the example of FIG. 43, when low-pass processing is performed on the first block BL1 included in the macroblock MB_2, the adjacent macroblocks MB_1 and MB_3 are used as reference targets. Therefore, the macro blocks MB_1, MB_2, and MB_3 need to exist in the
一方、その時点において、マクロブロックMB_0については圧縮対象および参照対象としての利用が終了している。このため、マクロブロックMB_0が格納されている記憶領域#1は、例えばマクロブロックMB_2が圧縮対象となる時刻t2以降に解放される。図43の例では、記憶領域#1にはその後の時刻t4に、マクロブロックMB_4の画像データが格納される。
On the other hand, at that time, the use of the macro block MB_0 as the compression target and the reference target is finished. For this reason, the
この場合、入力バッファメモリ31は、上記第3ブロックとしてのマクロブロックMBと関連付けて記憶領域#1〜#4を管理することになる。
In this case, the
入力バッファ31内のデータをこのように管理することによって、入力バッファ31を効率良く利用することができる。また、入力バッファ31の記憶領域を循環的に利用することにより、入力バッファ31の容量が小さくても済む。
By managing the data in the
ここで、DRAM10は複数の(ここでは8個の)バンクBKを有している。このため、DRAMコントローラ34は書込データごとにバンクBKを切り替えて、書込データをDRAM10に書き込む。図43の例では、第2ブロックBL2ごとにバンクBKが切り替えられる。
Here, the
図44の例では、入力バッファ31に画像データが、第2ブロックBL2単位で、ラスタ順に供給される。また、圧縮部32は、入力バッファ31から、X個(Xは1以上の整数)の第2ブロックBL2から成る第3ブロック単位で、画像データを取得する。図44の例では、第3ブロックは1個の第2ブロックBL2として(すなわちX=1として)、理解される。
In the example of FIG. 44, image data is supplied to the
図44の例において、第2ブロックBL2_20に含まれる第1ブロックBL1についてローパス処理を行う場合、両隣の第2ブロックBL2_10,BL2_30が参照対象として利用される。このため、第2ブロックBL2_10,BL2_20,BL2_30は入力バッファ31内に存在する必要がある。
In the example of FIG. 44, when low-pass processing is performed on the first block BL1 included in the second block BL2_20, the adjacent second blocks BL2_10 and BL2_30 are used as reference targets. Therefore, the second blocks BL2_10, BL2_20, and BL2_30 need to exist in the
一方、その時点において、第2ブロックBL2_00については圧縮対象および参照対象としての利用が終了している。このため、第2ブロックBL2_00が格納されている記憶領域#1は、例えば第2ブロックBL2_20が圧縮対象となる時刻t2以降に解放される。図44の例では、記憶領域#1にはその後の時刻t4に、第2ブロックBL2_40の画像データが格納される。
On the other hand, at that time, the use of the second block BL2_00 as the compression target and the reference target is finished. Therefore, the
この場合も、入力バッファメモリ31は、上記第3ブロックとしての第2ブロックBL2と関連付けて記憶領域#1〜#4を管理することになる。
Also in this case, the
図44の例においても、DRAMコントローラ34は書込データごとにバンクBKを切り替えて、書込データをDRAM10に書き込む。
Also in the example of FIG. 44, the
ここで、図44の例では、DRAMコントローラ34は、1個のバンクBK分の書込データずつ(すなわち1個の第2ブロックBL2ずつ)、DRAM10に書き込んでいる。これに対し、出力バッファ33にY個(Yは2以上の整数。図45の例ではY=4)のバンクBK用の書込データが蓄積されるのを待ち、当該Y個の書込データをまとめてDRAM10に書き込んでもよい。
Here, in the example of FIG. 44, the
上記のように、入力バッファ31よりも前段(デブロッキングフィルタ8等)では、マクロブロックMB単位で画像処理が行われる。また、図42〜図45の例では、1個のマクロブロックMBが4個の第2ブロックBL2に対応する。また、入力バッファ31へのデータ入力は、図43の例では4個の第2ブロックBL2ごとに行われるのに対し、図44および図45の例では1個の第2ブロックBL2ごとに行われる。また、DRAM10へのデータ書き込みは、図43および図45の例では4個の第2ブロックBL2ごとに行われるのに対し、図44の例では1個の第2ブロックBL2ごとに行われる。
As described above, image processing is performed in units of macroblocks MB before the input buffer 31 (such as the deblocking filter 8). In the example of FIGS. 42 to 45, one macro block MB corresponds to four second blocks BL2. In addition, data input to the
かかる点に鑑みると、1個のマクロブロックMBが複数の第2ブロックBL2で構成されるように第2ブロックBL2を設定することによって、第2ブロックBL2よりも小さいブロック(以下、小ブロックと呼ぶことにする)が生じるのを防止できる。 In view of this point, by setting the second block BL2 so that one macroblock MB is composed of a plurality of second blocks BL2, a block smaller than the second block BL2 (hereinafter referred to as a small block). Can be prevented from occurring.
このため、入力バッファ31のデータ入出力において、入力バッファ31の記憶領域を管理しやすい。また、そのような管理しやすさは、入力バッファ31の効率的な利用に繋がる。
Therefore, it is easy to manage the storage area of the
また、DRAM10へのデータ転送において、小ブロックが存在しないことは、転送データの効率的な生成に役立つ。また、小ブロックを転送するためにバス帯域が増加するのを回避できる。すなわち、バス帯域を削減できる。また、小ブロックが存在しないので、DRAMコントローラ34にとって、DRAM10のアドレス管理(換言すればアクセス管理)が容易になる。
In addition, the absence of small blocks in data transfer to the
さらに、1個のマクロブロックMBが複数の第2ブロックBL2で構成されるように第2ブロックBL2を設定することによって、マクロブロックMB単位で画像処理を行う種々の符号化装置に、データ記憶制御装置9を導入しやすいという利点がある。
Further, by setting the second block BL2 so that one macroblock MB is composed of a plurality of second blocks BL2, data storage control can be performed in various encoding devices that perform image processing in units of the macroblock MB. There is an advantage that the
ここで、これらの効果は、1個のマクロブロックMBが1個の第2ブロックBL2で構成される場合にも得られる。また、複数個のマクロブロックMBが1個の第2ブロックBL2に対応する場合についても同様である。さらに、複数個のマクロブロックMBが複数個の第2ブロックBL2に対応する場合、換言すれば複数個のマクロブロックMBを1つのブロックとして見なし当該1つのブロックを上記小ブロックが生じないように複数の第2ブロックBL2に分割した場合についても、上記効果が得られる。 Here, these effects can also be obtained when one macroblock MB is composed of one second block BL2. The same applies to the case where a plurality of macroblocks MB correspond to one second block BL2. Further, when a plurality of macroblocks MB correspond to a plurality of second blocks BL2, in other words, a plurality of macroblocks MB are regarded as one block, and a plurality of such blocks are not generated so that the small block does not occur. The above effect can also be obtained when the second block BL2 is divided.
これらをまとめて表現するならば、V個(Vは1以上の整数)の第2ブロックBL2がW個(Wは1以上の整数)のマクロブロックMBに対応するように第2ブロックBL2を設定することによって、上記効果が得られる。 If these are expressed together, the second block BL2 is set so that V (V is an integer of 1 or more) second blocks BL2 correspond to W (W is an integer of 1 or more) macroblocks MB. By doing so, the above effect can be obtained.
なお、実施の形態2は、圧縮部32が実施の形態1とは異なる圧縮手法を採用する場合にも適用可能である。また、その圧縮手法は、動画像圧縮でもよいし、静止画像圧縮(例えばJPEG(Joint Photographic Expert Group))でもよい。
The second embodiment can also be applied when the
また、参照型処理はローパス処理以外の処理であってもよい。また、ロスレス圧縮が参照型処理を含んでもよい。 Further, the reference type process may be a process other than the low-pass process. Lossless compression may also include reference processing.
<変形例>
実施の形態1,2ではデータ記憶制御装置9および符号化装置1における各種の処理内容が全てハードウェアで構成される場合を想定した。これに対し、そのような各種の処理内容の一部または全部を、ソフトウェアによって(換言すればマイクロプロセッサがプログラムを実行することによって)実現することも可能である。
<Modification>
In the first and second embodiments, it is assumed that various processing contents in the data
本発明は詳細に説明されたが、上記した説明は、すべての局面において、例示であって、本発明がそれに限定されるものではない。例示されていない無数の変形例が、本発明の範囲から外れることなく想定され得るものと解される。 Although the present invention has been described in detail, the above description is illustrative in all aspects, and the present invention is not limited thereto. It is understood that countless variations that are not illustrated can be envisaged without departing from the scope of the present invention.
9 データ記憶制御装置
31 入力バッファメモリ
32 圧縮部
33 出力バッファメモリ
34 DRAMコントローラ(書込制御部)
41 圧縮データ生成部
42 選択部
51 ロスレス圧縮部
52 ロッシー圧縮部
61 ロスレス圧縮処理部
62,62a〜62e,62b1,62b2,62d1,62d2 ロッシー圧縮処理部
BL1 第1ブロック
BL2 第2ブロック
BK バンク
9
41 Compressed
Claims (6)
前記圧縮データを書込データとしてメモリに書き込む書込制御部と、
前記圧縮部に供給する前記画像データを一時的に保持する入力バッファメモリと
を備え、
前記圧縮部は、所定の領域サイズの画像ブロックから成る第1ブロックごとに前記画像データを圧縮し、N個(Nは1以上の整数)の前記第1ブロックから成る第2ブロックごとに前記圧縮データを出力し、
前記圧縮部での処理は、圧縮対象として利用中ではない前記第1ブロックを参照対象として利用する参照型処理を含み、
前記入力バッファメモリは、前記圧縮対象および前記参照対象としての利用が終了していない前記第1ブロックについて前記画像データを保持し、前記圧縮対象および前記参照対象としての利用が終了した前記第1ブロックに割り当てられている記憶領域を所定タイミングで解放する、
データ記憶制御装置。 A compression unit that compresses image data and outputs compressed data;
A write control unit for writing the compressed data into memory as write data;
An input buffer memory that temporarily holds the image data supplied to the compression unit;
The compression unit compresses the image data for each first block including image blocks having a predetermined area size, and compresses the image data for each second block including N (N is an integer of 1 or more) first blocks. Output data,
The processing in the compression unit includes reference type processing that uses the first block that is not being used as a compression target as a reference target,
The input buffer memory holds the image data for the first block that has not been used as the compression target and the reference target, and the first block has been used as the compression target and the reference target Release the storage area allocated to
Data storage controller.
前記圧縮部は、前記入力バッファメモリから、X個(Xは1以上の整数)の前記第2ブロックから成る第3ブロック単位で前記画像データを取得し、
前記入力バッファメモリは、前記第3ブロックと関連付けて前記記憶領域を管理する、
データ記憶制御装置。 The data storage control device according to claim 1,
The compression unit acquires the image data from the input buffer memory in units of a third block including X (X is an integer of 1 or more) the second block,
The input buffer memory manages the storage area in association with the third block;
Data storage controller.
前記圧縮部から出力された前記書込データを、前記書込制御部に供給するために、一時的に保持する出力バッファメモリをさらに備え、
前記メモリは、複数のバンクを有し、
前記書込制御部は、前記書込データごとに前記複数のバンクを切り替えて、前記書込データを前記メモリに書き込む、
データ記憶制御装置。 The data storage control device according to claim 1 or 2,
In order to supply the write data output from the compression unit to the write control unit, further comprising an output buffer memory that temporarily holds,
The memory has a plurality of banks,
The write control unit switches the plurality of banks for each write data, and writes the write data to the memory.
Data storage controller.
前記書込制御部は、前記出力バッファメモリにY個(Yは2以上の整数)のバンク用の前記書込データが蓄積されるのを待ち、前記Y個の前記書込データをまとめて前記メモリに書き込む、データ記憶制御装置。 A data storage control device according to claim 3,
The write control unit waits for the write data for Y banks (Y is an integer of 2 or more) to be accumulated in the output buffer memory, and collects the Y write data together. Data storage controller that writes to memory.
前記入力バッファメモリよりも前段では画像処理がマクロブロック単位で行われ、
V個(Vは1以上の整数)の前記第2ブロックがW個(Wは1以上の整数)の前記マクロブロックに対応する、
データ記憶制御装置。 A data storage control device according to any one of claims 1 to 4, wherein
Image processing is performed in units of macroblocks before the input buffer memory,
V (where V is an integer equal to or greater than 1) the second blocks correspond to W (W is an integer equal to or greater than 1) the macroblocks;
Data storage controller.
(b)前記圧縮データを書込データとしてメモリに書き込む工程と、
(c)前記工程(a)で利用する前記画像データを入力バッファメモリに一時的に保持する工程と
を備え、
前記工程(a)では、所定の領域サイズの画像ブロックから成る第1ブロックごとに前記画像データを圧縮し、N個(Nは1以上の整数)の前記第1ブロックから成る第2ブロックごとに前記圧縮データを出力し、
前記工程(a)は、圧縮対象として利用中ではない前記第1ブロックを参照対象として利用する参照型処理を含み、
前記工程(c)では、前記圧縮対象および前記参照対象としての利用が終了していない前記第1ブロックについて前記画像データを前記入力バッファメモリに保持し、前記圧縮対象および前記参照対象としての利用が終了した前記第1ブロックに割り当てられている、前記入力バッファメモリの記憶領域を所定タイミングで解放する、
データ記憶制御方法。 (A) compressing the image data and outputting the compressed data;
(B) writing the compressed data into memory as write data;
(C) temporarily storing the image data used in the step (a) in an input buffer memory,
In the step (a), the image data is compressed for each first block composed of image blocks having a predetermined area size, and for each second block composed of N (N is an integer of 1 or more) first blocks. Outputting the compressed data;
The step (a) includes a reference type process that uses the first block that is not being used as a compression target as a reference target.
In the step (c), the image data is held in the input buffer memory for the first block that has not been used as the compression target and the reference target, and is used as the compression target and the reference target. Releasing the storage area of the input buffer memory allocated to the finished first block at a predetermined timing;
Data storage control method.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014071105A JP6310747B2 (en) | 2014-03-31 | 2014-03-31 | Data storage control device and data storage control method |
US14/659,828 US10225569B2 (en) | 2014-03-31 | 2015-03-17 | Data storage control apparatus and data storage control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014071105A JP6310747B2 (en) | 2014-03-31 | 2014-03-31 | Data storage control device and data storage control method |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2015195430A JP2015195430A (en) | 2015-11-05 |
JP2015195430A5 JP2015195430A5 (en) | 2017-03-30 |
JP6310747B2 true JP6310747B2 (en) | 2018-04-11 |
Family
ID=54434135
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014071105A Active JP6310747B2 (en) | 2014-03-31 | 2014-03-31 | Data storage control device and data storage control method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6310747B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3734973B1 (en) * | 2019-05-02 | 2023-07-05 | Sick IVP AB | Method and encoder relating to encoding of pixel values to accomplish lossless compression of a digital image |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5847762A (en) * | 1995-12-27 | 1998-12-08 | Thomson Consumer Electronics, Inc. | MPEG system which decompresses and then recompresses MPEG video data before storing said recompressed MPEG video data into memory |
JP3330813B2 (en) * | 1996-03-25 | 2002-09-30 | 株式会社メガチップス | Image compression device and image decompression device |
JPH10191236A (en) * | 1996-12-25 | 1998-07-21 | Nec Corp | Image processor and image data memory arranging method |
JPH1155676A (en) * | 1997-08-07 | 1999-02-26 | Hitachi Ltd | Moving image data coder employing synchronization type memory |
JP2002171425A (en) * | 2000-11-30 | 2002-06-14 | Matsushita Electric Ind Co Ltd | Memory controller |
JP2002209111A (en) * | 2001-01-04 | 2002-07-26 | Mitsubishi Electric Corp | Image encoder, image communication system and program recording medium |
JP2002262102A (en) * | 2001-03-05 | 2002-09-13 | Matsushita Electric Ind Co Ltd | Image coder, image coding method, and its storage medium |
JP2003051952A (en) * | 2001-08-06 | 2003-02-21 | Fuji Xerox Co Ltd | Image processing apparatus |
JP4687216B2 (en) * | 2005-04-18 | 2011-05-25 | ソニー株式会社 | Image signal processing apparatus, camera system, and image signal processing method |
US7689047B2 (en) * | 2005-04-19 | 2010-03-30 | Samsung Electronics Co, Ltd. | Reduced buffer size for JPEG encoding |
JP2008004984A (en) * | 2006-06-20 | 2008-01-10 | Sony Corp | Image processor and method, program, and recording medium |
JP2010136264A (en) * | 2008-12-08 | 2010-06-17 | Panasonic Corp | Display data processor |
JP2012151690A (en) * | 2011-01-19 | 2012-08-09 | Hitachi Kokusai Electric Inc | Deblocking filter device, deblocking filter processing method, and encoding device and decoding device using the same |
JP5269151B2 (en) * | 2011-06-09 | 2013-08-21 | シャープ株式会社 | Semiconductor memory device |
JP6083973B2 (en) * | 2012-08-08 | 2017-02-22 | 株式会社メガチップス | Data storage control device and data storage method |
-
2014
- 2014-03-31 JP JP2014071105A patent/JP6310747B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2015195430A (en) | 2015-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10225569B2 (en) | Data storage control apparatus and data storage control method | |
US8218640B2 (en) | Picture decoding using same-picture reference for pixel reconstruction | |
US7800519B2 (en) | Method and apparatus for compressing and decompressing data | |
US9609316B2 (en) | Image coding apparatus, image coding method, and recording medium thereof, image decoding apparatus, and image decoding method, and recording medium thereof | |
US9852522B2 (en) | Image decoder, graphics processing system, image decoding method, and graphics processing method | |
CN101248430A (en) | Transpose buffering for video processing | |
GB2545503A (en) | Lossy data compression | |
US20220014767A1 (en) | Bit plane encoding of data arrays | |
JP6310747B2 (en) | Data storage control device and data storage control method | |
CA2909216C (en) | Information processing apparatus, method of controlling the same, program and storage medium | |
JP6289971B2 (en) | Data storage control device and data storage control method | |
JP2007259323A (en) | Image decoding apparatus | |
JP2013175848A (en) | Encoding device and encoding method | |
US10694190B2 (en) | Processing apparatuses and controlling methods thereof | |
JP2011109364A (en) | Image processing apparatus | |
CN117440157B (en) | Video coding method, device, equipment and storage medium | |
JP4034793B2 (en) | Video compression apparatus and method for generating complementary video and using it for deblocking processing | |
JP5546329B2 (en) | Data converter | |
JP7451131B2 (en) | Image encoding device, image encoding method, and program | |
US20180316920A1 (en) | Video image encoding device, video image encoding method and program recording medium | |
WO2021192784A1 (en) | Video encoding system and video encoding method | |
KR20240143634A (en) | Image processing device and operating method of the image processing device | |
KR100441869B1 (en) | Deblocking filler using pipeline structure | |
JP5928914B2 (en) | Graphics processing apparatus and graphics processing method | |
JP2008098751A (en) | Arithmetic encoding device and arithmetic decoding device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170221 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170221 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20171207 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20171219 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180131 |
|
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: 20180313 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180319 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6310747 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
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 |