JP6310747B2 - Data storage control device and data storage control method - Google Patents

Data storage control device and data storage control method Download PDF

Info

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
Application number
JP2014071105A
Other languages
Japanese (ja)
Other versions
JP2015195430A5 (en
JP2015195430A (en
Inventor
岡本 彰
彰 岡本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
MegaChips Corp
Original Assignee
MegaChips Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by MegaChips Corp filed Critical MegaChips Corp
Priority to JP2014071105A priority Critical patent/JP6310747B2/en
Priority to US14/659,828 priority patent/US10225569B2/en
Publication of JP2015195430A publication Critical patent/JP2015195430A/en
Publication of JP2015195430A5 publication Critical patent/JP2015195430A5/ja
Application granted granted Critical
Publication of JP6310747B2 publication Critical patent/JP6310747B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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. Patent Document 1 describes a technique for compressing video data to a smaller size by combining lossy compression and lossless compression. Patent Document 2 describes a technique that is highly likely to reduce the amount of data while generating lossless data without data deterioration.

また、特許文献3には、複数のバンクを有し同一バンクへ連続してアクセスする際には前後のアクセス間に所定数のクロックサイクル以上の間隔を空けることが要求されるメモリに対するアクセス技術が記載されている。   Patent Document 3 discloses an access technology for a memory that has a plurality of banks and requires a predetermined number of clock cycles or more between the previous and subsequent accesses when continuously accessing the same bank. Have been described.

特開2009−260977号公報JP 2009-260977 A 特開2013−135254号公報JP2013-135254A 特許第5147102号公報Japanese Patent No. 5147102

データ記憶技術においては従来から、様々な要望が存在する。例えば、メモリの使用容量を削減したい、メモリを効率的に使用したい、等の要望である。特許文献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 Patent Documents 1 to 3 are considered to be examples of those developed to meet the demand.

本発明は、従来とは全く異なる技術によって、例えばメモリの使用容量の削減とメモリの効率的な使用とのうちのいずれかを実現することを目的とする。   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 is a block diagram illustrating an encoding apparatus according to Embodiment 1. FIG. 実施の形態1について、データ記憶制御装置を説明するブロック図である。1 is a block diagram illustrating a data storage control device according to Embodiment 1. FIG. 実施の形態1について、処理ブロックを説明する図である(Y成分)。It is a figure explaining a processing block about Embodiment 1 (Y component). 実施の形態1について、処理ブロックを説明する図である(Cb成分およびCr成分)。It is a figure explaining the processing block about Embodiment 1 (Cb component and Cr component). 実施の形態1について、ロスレス圧縮部の例を説明するブロック図である。3 is a block diagram illustrating an example of a lossless compression unit according to Embodiment 1. FIG. 実施の形態1について、ロスレス圧縮の第1例を説明する概念図である。6 is a conceptual diagram illustrating a first example of lossless compression in the first embodiment. FIG. 実施の形態1について、ロッシー圧縮部の例を説明するブロック図である。5 is a block diagram illustrating an example of a lossy compression unit according to Embodiment 1. FIG. 実施の形態1について、ロッシー圧縮処理部の第1例を説明するブロック図である。6 is a block diagram illustrating a first example of a lossy compression processing unit in the first embodiment. FIG. 実施の形態1について、ロッシー圧縮処理部の第1例を説明する図である。FIG. 10 is a diagram illustrating a first example of a lossy compression processing unit in the first embodiment. 実施の形態1について、ロッシー圧縮処理部の第2例を説明するブロック図である。FIG. 10 is a block diagram illustrating a second example of a lossy compression processing unit in the first embodiment. 実施の形態1について、ロッシー圧縮処理部の第3例を説明するブロック図である。FIG. 10 is a block diagram illustrating a third example of a lossy compression processing unit in the first embodiment. 実施の形態1について、ロッシー圧縮処理部の第4例を説明するブロック図である。FIG. 10 is a block diagram illustrating a fourth example of a lossy compression processing unit in the first embodiment. 実施の形態1について、圧縮データ生成部の一例を説明するブロック図である。4 is a block diagram illustrating an example of a compressed data generation unit according to Embodiment 1. FIG. 実施の形態1について、弱いLPFによる演算例を説明する図である。FIG. 6 is a diagram for explaining an example of calculation using weak LPF in the first embodiment. 実施の形態1について、強いLPFによる演算例を説明する図である。FIG. 10 is a diagram for explaining an example of calculation using strong LPF in the first embodiment. 実施の形態1について、情報保持精度の序列の例を説明する図である。FIG. 5 is a diagram for explaining an example of an order of information holding accuracy in the first embodiment. 実施の形態1について、第1の数値例を説明する図である(Y成分)。It is a figure explaining the 1st numerical example about Embodiment 1 (Y component). 実施の形態1について、第1の数値例を説明する図である(Cb成分)。It is a figure explaining the 1st numerical example about Embodiment 1 (Cb component). 実施の形態1について、第1の数値例を説明する図である(Cr成分)。It is a figure explaining the 1st numerical example about Embodiment 1 (Cr component). 実施の形態1について、第2の数値例を説明する図である。6 is a diagram for describing a second numerical example with respect to the first embodiment. FIG. 実施の形態1について、第2の数値例を説明する図である。6 is a diagram for describing a second numerical example with respect to the first embodiment. FIG. 実施の形態1について、第2の数値例を説明する図である。6 is a diagram for describing a second numerical example with respect to the first embodiment. FIG. 実施の形態1について、第2の数値例を説明する図である。6 is a diagram for describing a second numerical example with respect to the first embodiment. FIG. 実施の形態1について、第2の数値例を説明する図である。6 is a diagram for describing a second numerical example with respect to the first embodiment. FIG. 実施の形態1について、第2の数値例を説明する図である。6 is a diagram for describing a second numerical example with respect to the first embodiment. FIG. 実施の形態1について、第2の数値例を説明する図である。6 is a diagram for describing a second numerical example with respect to the first embodiment. FIG. 実施の形態1について、第2の数値例を説明する図である。6 is a diagram for describing a second numerical example with respect to the first embodiment. FIG. 実施の形態1について、ロスレス圧縮の第2例を説明する概念図である。6 is a conceptual diagram illustrating a second example of lossless compression in the first embodiment. FIG. 実施の形態1について、第3の数値例を説明する図である。6 is a diagram for explaining a third numerical example with respect to the first embodiment. FIG. 実施の形態1について、第3の数値例を説明する図である。6 is a diagram for explaining a third numerical example with respect to the first embodiment. FIG. 実施の形態1について、第3の数値例を説明する図である。6 is a diagram for explaining a third numerical example with respect to the first embodiment. FIG. 実施の形態1について、第3の数値例を説明する図である。6 is a diagram for explaining a third numerical example with respect to the first embodiment. FIG. 実施の形態1について、第3の数値例を説明する図である。6 is a diagram for explaining a third numerical example with respect to the first embodiment. FIG. 実施の形態1について、第3の数値例を説明する図である。6 is a diagram for explaining a third numerical example with respect to the first embodiment. FIG. 実施の形態1について、第3の数値例を説明する図である。6 is a diagram for explaining a third numerical example with respect to the first embodiment. FIG. 実施の形態1について、第3の数値例を説明する図である。6 is a diagram for explaining a third numerical example with respect to the first embodiment. FIG. 実施の形態1について、ロッシー圧縮処理部の第5例を説明するブロック図である。FIG. 10 is a block diagram illustrating a fifth example of a lossy compression processing unit in the first embodiment. 実施の形態1について、ロッシー圧縮処理部の第5例を説明する概念図である。FIG. 10 is a conceptual diagram illustrating a fifth example of a lossy compression processing unit in the first embodiment. 実施の形態1について、ロッシー圧縮処理部の第5例に関する数値例を説明する図である。FIG. 10 is a diagram for explaining a numerical example related to the fifth example of the lossy compression processing unit in the first embodiment. 実施の形態1について、ロッシー圧縮処理部の第5例に関する数値例を説明する図である。FIG. 10 is a diagram for explaining a numerical example related to the fifth example of the lossy compression processing unit in the first embodiment. 実施の形態1について、データ読出制御装置を説明するブロック図である。1 is a block diagram illustrating a data read control device according to a first embodiment. 実施の形態2について、データの構成を説明する図である。FIG. 10 is a diagram for explaining a data configuration in the second embodiment. 実施の形態2について、データ転送制御の第1例を説明する図である。FIG. 10 is a diagram illustrating a first example of data transfer control according to the second embodiment. 実施の形態2について、データ転送制御の第2例を説明する図である。FIG. 10 is a diagram illustrating a second example of data transfer control according to the second embodiment. 実施の形態2について、データ転送制御の第3例を説明する図である。FIG. 10 is a diagram for explaining a third example of data transfer control in the second embodiment.

<実施の形態1>
<符号化装置>
図1に、実施の形態1について、符号化装置1のブロック図を例示する。符号化装置1は、例えばH.264、MPEG(Moving Picture Experts Group)−2、MPEG−4等の方式に準拠して構成され、動画像データに対して圧縮処理(換言すれば符号化処理)を施す。
<Embodiment 1>
<Encoding device>
FIG. 1 illustrates a block diagram of an encoding apparatus 1 for the first embodiment. The encoding device 1 is, for example, H.264. H.264, MPEG (Moving Picture Experts Group) -2, MPEG-4, and the like, and performs compression processing (in other words, encoding processing) on moving image data.

図1の例によれば、動き予測部4は、符号化の対象となる画像データを記憶部2から読み出し、動き予測に利用する参照画像データを記憶部3から読み出し、それらの画像データに基づいて動き予測を行う。動き予測は、いわゆるマクロブロック単位で行われる。ここでは、記憶部2,3がSRAM(Static Random Access Memory)である例を挙げ、記憶部2,3をSRAM2,3と呼ぶ場合もある。   According to the example of FIG. 1, the motion prediction unit 4 reads image data to be encoded from the storage unit 2, reads reference image data used for motion prediction from the storage unit 3, and based on the image data Motion prediction. Motion prediction is performed on a so-called macroblock basis. Here, an example in which the storage units 2 and 3 are SRAMs (Static Random Access Memory) is given, and the storage units 2 and 3 may be referred to as SRAMs 2 and 3 in some cases.

動き予測の結果データは、変換部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 conversion unit 5 by, for example, discrete cosine transform (DCT). Further, the transform unit 5 performs quantization on the obtained transform coefficient (so-called DCT coefficient). The quantized transform coefficient is entropy-encoded by the entropy encoding unit 6 and output from the entropy encoding unit 6 as a bit stream of compressed image data. For entropy coding, techniques such as CABAC (Context-based Adaptive Binary Arithmetic Coding) and CAVLC (Context-based Adaptive Variable Length Coding) are used.

量子化された変換係数は、逆変換部7にも供給される。逆変換部7では、変換部5とは逆の処理、すなわち逆量子化および逆DCTが行われ、それにより動き予測結果に関する残差信号が生成される。残差信号は、動き予測部4から供給される予測画像データと合成されて、デブロッキングフィルタ8に入力される。デブロッキングフィルタ8では、デブロッキング処理、すなわちマクロブロックの境界で生じるブロックノイズを低減する処理が実行される。   The quantized transform coefficient is also supplied to the inverse transform unit 7. The inverse transform unit 7 performs processing reverse to that of the transform unit 5, that is, inverse quantization and inverse DCT, thereby generating a residual signal related to the motion prediction result. The residual signal is combined with the predicted image data supplied from the motion prediction unit 4 and input to the deblocking filter 8. In the deblocking filter 8, a deblocking process, that is, a process of reducing block noise generated at a macroblock boundary is executed.

デブロッキング後の画像データは、データ記憶制御装置9によって、記憶部10に格納される。ここでは記憶部10がDRAM(Dynamic Random Access Memory)である例を挙げ、記憶部10をDRAM10と呼ぶ場合もある。DRAM10内の画像データは、データ読出制御装置11によって読み出され、参照画像データとしてSRAM3に格納される。   The image data after deblocking is stored in the storage unit 10 by the data storage control device 9. Here, an example in which the storage unit 10 is a DRAM (Dynamic Random Access Memory) is given, and the storage unit 10 may be referred to as a DRAM 10. The image data in the DRAM 10 is read by the data read control device 11 and stored in the SRAM 3 as reference image data.

データ記憶制御装置9は、符号化装置1内で生成された参照画像データ(より具体的には、図1の例では、デブロッキング後の参照画像データ)を圧縮してから、DRAM10に格納する。逆に、データ読出制御装置11は、DRAM10に格納されている圧縮データを復元してから、SRAM3に格納する。なお、データ記憶制御装置9およびデータ読出制御装置11は、図1の例とは異なる構成を有した装置にも適用可能である。   The data storage control device 9 compresses reference image data generated in the encoding device 1 (more specifically, reference image data after deblocking in the example of FIG. 1), and then stores the compressed data in the DRAM 10. . Conversely, the data read control device 11 restores the compressed data stored in the DRAM 10 and stores it in the SRAM 3. The data storage control device 9 and the data read control device 11 can also be applied to devices having a configuration different from the example of FIG.

<データ記憶制御装置の概要>
図2に、データ記憶制御装置9のブロック図を例示する。図2の例によれば、データ記憶制御装置9は、入力バッファメモリ31と、圧縮部32と、出力バッファメモリ33と、書込制御部34とを含んでいる。なお、以下では、バッファメモリをバッファと略称する場合もある。
<Outline of data storage control device>
FIG. 2 illustrates a block diagram of the data storage control device 9. According to the example of FIG. 2, the data storage control device 9 includes an input buffer memory 31, a compression unit 32, an output buffer memory 33, and a write control unit 34. Hereinafter, the buffer memory may be abbreviated as a buffer.

入力バッファ31は、例えばSRAMで構成される。入力バッファ31は、圧縮部32に供給する画像データを一時的に保持する。圧縮部32に供給する画像データは、ここでは、参照画像データ(より具体的には、デブロッキング後の参照画像データ)である。   The input buffer 31 is composed of, for example, an SRAM. The input buffer 31 temporarily holds image data supplied to the compression unit 32. Here, the image data supplied to the compression unit 32 is reference image data (more specifically, reference image data after deblocking).

ここでは、画像が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 storage control device 9 can be applied to an example in which an image is expressed by other components.

圧縮部32は、圧縮データ生成部41と、選択部42とを含んでいる。   The compression unit 32 includes a compressed data generation unit 41 and a selection unit 42.

圧縮データ生成部41は、入力バッファ31を介して取得した画像データから、複数種類の圧縮データを生成可能に構成されている。より具体的には、圧縮データ生成部41は、ロスレス圧縮を行うロスレス圧縮部51と、ロッシー圧縮を行うロッシー圧縮部52とを含んでいる。なお、ロスレス圧縮は可逆圧縮とも呼ばれ、ロッシー圧縮は不可逆圧縮とも呼ばれる。   The compressed data generation unit 41 is configured to be able to generate a plurality of types of compressed data from image data acquired via the input buffer 31. More specifically, the compressed data generation unit 41 includes a lossless compression unit 51 that performs lossless compression and a lossy compression unit 52 that performs lossy compression. Note that lossless compression is also referred to as lossless compression, and lossy compression is also referred to as lossy compression.

そして、圧縮データ生成部41は、ロスレス圧縮部51およびロッシー圧縮部52を用いて画像データを圧縮することによって、複数種類の圧縮データを生成する。圧縮データ生成部41は、複数種類の圧縮データの一部または全部を並列的に(換言すれば、同時的に)生成するように構成されてもよいし、あるいは直列的に(換言すれば、順次に)生成するように構成されてもよい。   Then, the compressed data generation unit 41 generates a plurality of types of compressed data by compressing the image data using the lossless compression unit 51 and the lossy compression unit 52. The compressed data generation unit 41 may be configured to generate a part or all of a plurality of types of compressed data in parallel (in other words, simultaneously), or in series (in other words, (Sequentially) may be configured to generate.

選択部42は、圧縮データ生成部41によって生成された各種類の圧縮データに対して、所定の選択処理を行う。具体的に選択処理では、圧縮データ生成部41によって生成された各種類の圧縮データが所定の選択条件を満足するか否かを判定し、所定の選択条件を満足する1つの圧縮データを選択する。   The selection unit 42 performs a predetermined selection process on each type of compressed data generated by the compressed data generation unit 41. Specifically, in the selection process, it is determined whether each type of compressed data generated by the compressed data generation unit 41 satisfies a predetermined selection condition, and one compressed data that satisfies the predetermined selection condition is selected. .

上記選択条件は、データサイズ条件と、データ精度条件とを含む。データサイズ条件は、データサイズが規定値以下であるという条件である。データ精度条件は、データサイズ条件を満足する圧縮データのうちで情報保持精度が最も高いという条件である。情報保持精度とは、圧縮前の画像データによって提供される情報が、圧縮および復元を経てどの程度保持されるかを表す。情報保持精度は復元精度と呼んでもよい。   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 output buffer 33 temporarily holds the compressed data selected by the selection unit 42, in other words, the compressed data output from the compression unit 32, and supplies the compressed data to the write control unit 34.

書込制御部34は、出力バッファ33内の圧縮データを、書込データとして記憶部10(図1参照)に書き込む。記憶部10がDRAMである例に鑑みると、書込制御部34は、いわゆるDRAMコントローラで構成可能である。このため、以下では、書込制御部34をDRAMコントローラ34と呼ぶ場合もある。   The write control unit 34 writes the compressed data in the output buffer 33 to the storage unit 10 (see FIG. 1) as write data. Considering an example in which the storage unit 10 is a DRAM, the write control unit 34 can be configured by a so-called DRAM controller. Therefore, hereinafter, the write control unit 34 may be referred to as a DRAM controller 34.

ここで、データ記憶制御装置9では画像データは画像ブロック単位で処理される。そのような処理ブロックを図3および図4に例示する。図3はY成分の画像データに関し、図4はCb成分およびCr成分の画像データに関する。図3および図4に示すように、データ記憶制御装置9では、第1ブロックBL1および第2ブロックBL2と呼ぶ2種類の画像ブロックが利用される。   Here, in the data storage control device 9, the image data is processed in units of image blocks. Such processing blocks are illustrated in FIGS. 3 relates to Y component image data, and FIG. 4 relates to Cb component and Cr component image data. As shown in FIGS. 3 and 4, the data storage control device 9 uses two types of image blocks called a first block BL1 and a second block BL2.

ここでは、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 encoding apparatus 1 is H.264. When conforming to H.264, MPEG, etc., for example, image data is input to the input buffer 31 in units of such macroblocks MB.

例えば圧縮データ生成部41では、第1ブロックBL1ごとに、ロスレス圧縮およびロッシー圧縮が行われる。また、例えば選択部42では、第2ブロックBL2ごとに、選択処理が行われる。   For example, in the compressed data generation unit 41, lossless compression and lossy compression are performed for each first block BL1. For example, in the selection unit 42, a selection process is performed for each second block BL2.

以下に、データ記憶制御装置9のより具体的な例を説明する。   Hereinafter, a more specific example of the data storage control device 9 will be described.

<ロスレス圧縮部>
図5に、ロスレス圧縮部51の一例を示す。図5の例によれば、ロスレス圧縮部51はロスレス圧縮処理部61を含み、ロスレス圧縮処理部61は第1ブロックBL1ごとに所定のロスレス圧縮を実行する。
<Lossless compression unit>
FIG. 5 shows an example of the lossless compression unit 51. According to the example of FIG. 5, the lossless compression unit 51 includes a lossless compression processing unit 61, and the lossless compression processing unit 61 executes predetermined lossless compression for each first block BL1.

図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 compression processing unit 61. FIG. 6 shows the first block BL1 of the Y component, and for the sake of explanation, the four pixels PX constituting the first block BL1 are called PXa, PXb, PXc, and PXd from the left end. In addition, pixel values (in other words, pixel data) P of the pixels PXa, PXb, PXc, and PXd are Pa, Pb, Pc, and Pd.

図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 compression processing unit 61 determines a pair of adjacent pixels PX in the first block BL1 as a compression target pixel and a reference pixel, and sequentially selects the pair of pixels PX in the first block BL1. Thus, the compression target pixel and the reference pixel are sequentially determined. Then, the lossless compression processing unit 61 performs a lossless compression in which the difference between the pixel values of the compression target pixel and the reference pixel is obtained and the obtained difference value is assigned to the compression target pixel. In the example of FIG. 6, in the pair of pixels PX, the left adjacent pixel PX is set as the reference pixel, but the right adjacent pixel PX may be set as the reference pixel. Note that similar lossless compression can be performed on the Cb component and the Cr component.

なお、他の種類のロスレス圧縮をロスレス圧縮処理部61に採用してもよい。また、ロスレス圧縮部51は、異なる種類のロスレス圧縮を実行する複数のロスレス圧縮処理部61を含んでもよい。   Note that other types of lossless compression may be employed in the lossless compression processing unit 61. Further, the lossless compression unit 51 may include a plurality of lossless compression processing units 61 that perform different types of lossless compression.

<ロッシー圧縮部>
図7に、ロッシー圧縮部52の一例を示す。図7の例によれば、ロッシー圧縮部52は、互いに異なる種類のロッシー圧縮を実行する複数のロッシー圧縮処理部62を含んでいる。図8〜図12を参照して、ロッシー圧縮処理部62の第1例〜第4例を示す。
<Lossy compression section>
FIG. 7 shows an example of the lossy compression unit 52. According to the example of FIG. 7, the lossy compression unit 52 includes a plurality of lossy compression processing units 62 that perform different types of lossy compression. With reference to FIGS. 8-12, the 1st example-4th example of the lossy compression process part 62 are shown.

図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 compression processing unit 62b of the second example generates compressed data by executing low-pass processing and lossless compression in this order on the compression target data. Here, the low-pass processing is the same as the lossy compression processing unit 62a (see FIG. 8), and the lossless compression is the same as the lossless compression processing unit 61 (see FIG. 5).

図11に示すように、第3例のロッシー圧縮処理部62cは、圧縮対象データに対してローパス処理とロスレス圧縮とビットシフト処理とをこの順序で実行することによって、圧縮データを生成する。ここでは、ローパス処理とロスレス圧縮は、ロッシー圧縮処理部62b(図10参照)と同じとする。ビットシフト処理では、ロスレス圧縮によって得られた差分値(より具体的には、当該差分値を二進数で表現した場合のビット列)を最下位ビット(LSB)側に、所定のシフト量だけビットシフトさせる。なお、以下では、最下位ビット側へのビットシフトを、右ビットシフトまたは右シフトと呼ぶ場合もある。   As shown in FIG. 11, the lossy compression processing unit 62c of the third example generates compressed data by performing low-pass processing, lossless compression, and bit shift processing in this order on the compression target data. Here, the low-pass processing and the lossless compression are the same as those of the lossy compression processing unit 62b (see FIG. 10). In the bit shift process, a difference value obtained by lossless compression (more specifically, a bit string when the difference value is expressed in binary) is bit-shifted to the least significant bit (LSB) side by a predetermined shift amount. Let Hereinafter, the bit shift toward the least significant bit may be referred to as right bit shift or right shift.

ここで、複数のシフト量を利用すれば、第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 compression processing unit 62d (see FIG. 12) of the fourth example.

第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 compression processing unit 62. For example, the LPF processing may be omitted in the lossy compression processing units 62b to 62d (see FIGS. 10 to 12). Further, another lossy compression processing unit 62 can be configured by changing the action strength of the LPF. Note that the action strength of the LPF can be adjusted by controlling the LPF coefficient.

<圧縮データ生成部の具体例>
図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 data generation unit 41. In the example of FIG. 13, it is assumed that the lossless compression unit 51 is configured by the examples of FIGS. 5 and 6. In the example of FIG. 13, the lossy compression unit 52 includes four lossy compression processing units 62.

具体的には、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 compression processing units 62 are composed of two lossy compression processing units 62b1 and 62b2 configured by the lossy compression processing unit 62b (see FIG. 10) and a lossy compression processing unit 62d (see FIG. 12). The two lossy compression processing units 62d1 and 62d2 are configured. The lossy compression processing units 62b1 and 62d1 share the low-pass processing and the lossless compression execution unit, and the bit shift process is performed on the output of the lossy compression processing unit 62b1, thereby outputting the lossy compression processing unit 62d1. Is generated. Similarly, the lossy compression processing units 62b2 and 62d2 share a low-pass processing and lossless compression execution unit. The LPF shared by the lossy compression processing units 62b1 and 62d1 has a smaller working strength than the LPF shared by the lossy compression processing units 62b2 and 62d2. FIG. 14 illustrates an operation with a weak LPF, and FIG. 15 illustrates an operation with a strong LPF.

なお、図13に示すように、ロスレス圧縮処理部61によって生成される圧縮データをDaと呼ぶことにする。   As shown in FIG. 13, the compressed data generated by the lossless compression processing unit 61 is called Da.

また、弱い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 compression unit 32 will be described more specifically with reference to the example of FIG.

<圧縮部の動作例>
上記のように、圧縮部32では、圧縮データ生成部41が1つの画像データから複数種類の圧縮データを生成し、選択部42が複数種類の圧縮データのうちから1つを選択する。選択部42による選択処理では、データサイズ条件と、データ精度条件とが適用される。
<Operation example of compression unit>
As described above, in the compression unit 32, the compressed data generation unit 41 generates a plurality of types of compressed data from one image data, and the selection unit 42 selects one of the plurality of types of compressed data. In the selection process by the selection unit 42, a data size condition and a data accuracy condition are applied.

先に、データ精度条件を説明する。データ精度条件は、上記のように、データサイズ条件を満足する圧縮データのうちで情報保持精度が最も高いという条件である。情報保持精度の序列は事前のシミュレーション、実験等を通じて予め規定されており、その序列の情報は選択部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 selection unit 42 in advance.

以下では、圧縮データ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 data generation unit 41 may be configured to process part or all of the first block BL1 included in the second block BL2 in parallel, or may be configured to generate serially. May be.

圧縮データにおいて、第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 selection unit 42 and output from the compression unit 32.

さて、圧縮前において、第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 selection unit 42 and output from the compression unit 32.

なお、図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 data generation unit 41. This is because if the compressed data satisfying the data size condition is found, the determination of the data size condition can be omitted for the remaining compressed data. For example, when the compressed data generation unit 41 generates a plurality of types of compressed data in series, if compressed data that satisfies the data size condition is found, generation of the remaining compressed data can be omitted for the second block BL2. .

なお、データサイズ条件における規定ビット数を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 compression processing section 62, has an error toward the right in the first block BL1 is stored rather, the error on the right side in the first block within BL1 other words It may spread.

これに対し、図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 selection unit 42 and output from the compression unit 32.

なお、図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 lossless compression unit 51 and the lossy compression unit 52 adopt the same method of lossless compression, but are not limited to this example. For example, the lossless compression unit 51 may adopt the method of FIG. 6 and the lossy compression unit 52 may adopt the method of FIG. Further, when the lossy compression unit 52 includes a plurality of lossy compression processing units 62, lossless compression of a method different from the lossless compression processing unit 61 may be employed in some or all of the lossy compression processing units 62. If lossless compression of the same method is employed, for example, the device design can be simplified. It is also possible to share a circuit for lossless compression. On the other hand, if lossless compression of a different method is adopted, for example, the information holding accuracy can be adjusted, thereby increasing the degree of freedom in device design.

<ロッシー圧縮の更なる例>
図37および図38を参照して、ロッシー圧縮処理部62の更なる例を説明する。図37のロッシー圧縮処理部62eは、圧縮対象データ中の圧縮対象画素に対してビット削減処理を実行することによって、圧縮データを生成する。ビット削減処理では、図38に示すように、画素値を表現するビット列のうちの最下位ビット(LSB)側から所定範囲のビットを削除することによって、画素値のビット数を削減する。
<Further examples of lossy compression>
A further example of the lossy compression processing unit 62 will be described with reference to FIGS. 37 and 38. The lossy compression processing unit 62e in FIG. 37 generates compressed data by performing bit reduction processing on the compression target pixels in the compression target data. In the bit reduction process, as shown in FIG. 38, the number of bits of the pixel value is reduced by deleting a predetermined range of bits from the least significant bit (LSB) side of the bit string representing the pixel value.

図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 compression processing unit 62e.

ここで、上位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 selection unit 42.

なお、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 compression processing unit 62e having the bit reduction process may be combined with another lossy compression processing unit. Further, another lossy compression processing unit 62 may be configured by combining the bit reduction process with various processes (see, for example, FIGS. 10 to 13).

<効果>
データ記憶制御装置9によれば、参照画像データを圧縮してから、DRAM10に格納する。このため、DRAM10の使用容量を削減することができる。
<Effect>
According to the data storage control device 9, the reference image data is compressed and then stored in the DRAM 10. For this reason, the used capacity of the DRAM 10 can be reduced.

しかも、圧縮部32から出力された第2ブロックBL2ごとの圧縮データのデータサイズは、圧縮部32でどの圧縮手法を利用したかに関わらず、同じである。すなわち、圧縮部32から出力される圧縮データは固定長である。   Moreover, the data size of the compressed data for each second block BL2 output from the compression unit 32 is the same regardless of which compression method is used in the compression unit 32. That is, the compressed data output from the compression unit 32 has a fixed length.

ここで、ブロックごとにデータサイズが異なる場合、各ブロックのデータを詰めて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 storage control device 9, the compressed data is output from the compression unit 32 with the same data size as described above. Therefore, compressed data can be packed and stored by simple address management. Further, by compressing and storing compressed data, it is possible to contribute to a reduction in the used capacity of the DRAM 10. For example, since the second block BL2 can be compressed to a data size of 2/3 (= 512 bits / 768 bits) as described above, the used capacity of the DRAM 10 can be reduced to 2/3.

<データ読出制御装置>
図41に、データ読出制御装置11を説明するブロック図である。図41の例によれば、データ読出制御装置11は、読出制御部134と、入力バッファ131と、伸張部132とを含んでいる。
<Data read control device>
FIG. 41 is a block diagram illustrating the data read control device 11. 41, the data read control device 11 includes a read control unit 134, an input buffer 131, and an expansion unit 132.

読出制御部134は、記憶部10(図1参照)内の圧縮データを読み出して、入力バッファ131に転送する。記憶部10がDRAMである例に鑑みると、読出制御部134は、いわゆるDRAMコントローラで構成可能である。このため、以下では、読出制御部134をDRAMコントローラ134と呼ぶ場合もある。   The read control unit 134 reads the compressed data in the storage unit 10 (see FIG. 1) and transfers it to the input buffer 131. Considering an example in which the storage unit 10 is a DRAM, the read control unit 134 can be configured by a so-called DRAM controller. Therefore, hereinafter, the read control unit 134 may be referred to as a DRAM controller 134.

入力バッファ131は、例えばSRAMで構成される。入力バッファ131は、伸張部132に供給する圧縮データを一時的に保持する。   The input buffer 131 is configured by an SRAM, for example. The input buffer 131 temporarily holds the compressed data supplied to the decompression unit 132.

伸張部132は、入力バッファ131を介して取得した圧縮データを伸張する。伸張部132は、伸張データ生成部141と、選択部142とを含んでいる。伸張データ生成部141は、ロスレス圧縮部151と、ロッシー圧縮部152とを含んでいる。ロスレス圧縮部151およびロッシー圧縮部152は、データ記憶制御装置9のロスレス圧縮部51およびロッシー圧縮部52と同じ構成を有している(図2参照)。また、選択部142は、データ記憶制御装置9の選択部42と同じ構成を有している。   The decompressing unit 132 decompresses the compressed data acquired via the input buffer 131. The decompression unit 132 includes an decompression data generation unit 141 and a selection unit 142. The decompressed data generation unit 141 includes a lossless compression unit 151 and a lossy compression unit 152. The lossless compression unit 151 and the lossy compression unit 152 have the same configuration as the lossless compression unit 51 and the lossy compression unit 52 of the data storage control device 9 (see FIG. 2). The selection unit 142 has the same configuration as the selection unit 42 of the data storage control device 9.

したがって、伸張データ生成部141では、DRAM10から読み込んだ圧縮データから複数種類のデータが生成される。そして、選択部142では、その複数種類のデータのうちから、所定の選択条件(すなわち選択部42に採用されている選択条件)を満足する1つのデータが選択される。選択部142によって選択されたデータが、伸張データとしてSRAM3に転送される。   Therefore, the decompressed data generation unit 141 generates a plurality of types of data from the compressed data read from the DRAM 10. Then, the selection unit 142 selects one data that satisfies a predetermined selection condition (that is, a selection condition adopted by the selection unit 42) from the plurality of types of data. The data selected by the selection unit 142 is transferred to the SRAM 3 as decompressed data.

ここで、符号化装置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 encoding device 1 is compressed by the data storage control device 9 and then restored by the data read control device 11. , And supplied to the motion prediction unit 4. In this case, in order to perform motion prediction satisfactorily, an image that is the same as or as close as possible to the reference image before compression (in other words, an image that has an error within an allowable range compared to the reference image before compression) is used as the motion prediction unit. 4 is preferably supplied. The allowable error is set in advance through, for example, prior simulation, experiment, or the like.

例えば、圧縮データ生成部41および伸張データ生成部141が図13の構成を採用している場合を想定する。その場合、ビットシフト処理が行われた圧縮データDc,Dd,Df,Dgは、その圧縮手法と同じ手法で伸張されることによって、許容誤差範囲内の参照画像を提供可能である。他方、ビットシフト処理が行われない圧縮データDa,Db,Deは、どの伸張手法によっても、許容誤差範囲内の参照画像を提供可能である。かかる点に鑑みると、ビットシフト処理が行われた圧縮データDc,Dd,Df,Dgに関しては、伸張部132の選択部142に対して、選択する伸張データを指示するのが好ましい。   For example, it is assumed that the compressed data generating unit 41 and the decompressed data generating unit 141 adopt the configuration shown in FIG. In that case, the compressed data Dc, Dd, Df, and Dg that have been subjected to the bit shift process can be provided with a reference image within an allowable error range by being expanded by the same method as that compression method. On the other hand, the compressed data Da, Db, and De that are not subjected to bit shift processing can provide a reference image within an allowable error range by any decompression method. In view of this point, with respect to the compressed data Dc, Dd, Df, and Dg that have undergone the bit shift process, it is preferable to instruct the selection unit 142 of the expansion unit 132 about the expansion data to be selected.

かかる選択指示は例えば、圧縮部32の選択部42が、選択した圧縮データに関する付加情報を生成し、当該付加情報を圧縮データに関連付けてDRAM10に格納すればよい。データ読出制御装置11はDRAM10から圧縮データと共に付加情報を読み出し、その付加情報は選択部142に供給される。それにより、選択部142は、付加情報に含まれた選択指示に応じて動作可能である。   For example, the selection unit 42 of the compression unit 32 may generate additional information related to the selected compressed data and store the additional information in the DRAM 10 in association with the compressed data. The data read control device 11 reads additional information from the DRAM 10 together with the compressed data, and the additional information is supplied to the selection unit 142. Thereby, the selection unit 142 can operate according to the selection instruction included in the additional information.

付加情報は例えば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 selection unit 142 of the decompression unit 132. The remaining two bits are an identifier as to which of the compressed data Dc, Dd, Df, and Dg the compressed data corresponds to, that is, a specific instruction as to which decompressed data should be selected. The number of identifier bits may be defined according to the number of compressed data to be identified.

なお、付加情報の構成は上記の例に限定されるものではない。また、DRAM10内において、付加情報の記憶領域は、対応する圧縮データの記憶領域と連続して設定される。あるいは、付加情報を、対応する圧縮データから離れた記憶領域に格納してもよい。例えば、付加情報のみを格納する記憶領域をDRAM10内に設けてもよい。   The configuration of the additional information is not limited to the above example. Further, in the DRAM 10, the additional information storage area is set continuously with the corresponding compressed data storage area. Alternatively, the additional information may be stored in a storage area away from the corresponding compressed data. For example, a storage area for storing only additional information may be provided in the DRAM 10.

ここで、上記のように各第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 storage control device 9 can be similarly obtained.

<実施の形態2>
実施の形態2では、データ記憶制御装置9におけるデータ転送制御を説明する。
<Embodiment 2>
In the second embodiment, data transfer control in the data storage control device 9 will be described.

実施の形態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 input buffer 31 holds image data not only for the first block BL1 that has not been used as a compression target but also for the first block BL1 that has not been used as a reference target. There is a need.

他方、圧縮対象としての利用が終了していると共に参照対象としての利用も終了している第1ブロックBL1については、画像データが入力バッファ31から消去されても構わない。すなわち、入力バッファ31は、圧縮対象および参照対象としての利用が終了した第1ブロックBL1の画像データが使用している記憶領域を、利用終了後の所定タイミングで解放する(換言すれば上書き可能状態にする)。   On the other hand, the image data may be deleted from the input buffer 31 for the first block BL1 that has been used as a compression target and has been used as a reference target. That is, the input buffer 31 releases the storage area used by the image data of the first block BL1 that has been used as a compression target and a reference target at a predetermined timing after the use is completed (in other words, in an overwritable state). ).

これを図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 input buffer 31 in a raster order for each macroblock MB of 16 × 16 pixels. In order to distinguish the macroblock MB, a branch number is added after the code “MB” as shown in FIG. The addition of branch numbers is also used for other codes.

圧縮部32が、入力バッファ31から、X個(Xは1以上の整数)の第2ブロックBL2から成る第3ブロック単位で、画像データを取得するものとする。第3ブロックは、図43の例ではマクロブロックMBとして(すなわちX=4として)、理解される。   It is assumed that the compression unit 32 acquires image data from the input buffer 31 in units of a third block including X (X is an integer equal to or greater than 1) second blocks BL2. The third block is understood as a macroblock MB (ie, X = 4) in the example of FIG.

図43の例では、入力バッファ31が4つの記憶領域#1〜#4を有している。なお、当該4つの記憶領域#1〜#4のそれぞれが別個のSRAMで構成されていてもよく、その場合、それら4つのSRAMの総称が入力バッファ31にあたる。   In the example of FIG. 43, the input buffer 31 has four storage areas # 1 to # 4. Each of the four storage areas # 1 to # 4 may be constituted by separate SRAMs. In this case, the generic name of the four SRAMs corresponds to the input buffer 31.

図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 input buffer 31.

一方、その時点において、マクロブロック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 storage area # 1 in which the macroblock MB_0 is stored is released, for example, after the time t2 when the macroblock MB_2 is to be compressed. In the example of FIG. 43, image data of the macro block MB_4 is stored in the storage area # 1 at the subsequent time t4.

この場合、入力バッファメモリ31は、上記第3ブロックとしてのマクロブロックMBと関連付けて記憶領域#1〜#4を管理することになる。   In this case, the input buffer memory 31 manages the storage areas # 1 to # 4 in association with the macro block MB as the third block.

入力バッファ31内のデータをこのように管理することによって、入力バッファ31を効率良く利用することができる。また、入力バッファ31の記憶領域を循環的に利用することにより、入力バッファ31の容量が小さくても済む。   By managing the data in the input buffer 31 in this way, the input buffer 31 can be used efficiently. Further, the capacity of the input buffer 31 may be small by using the storage area of the input buffer 31 in a cyclic manner.

ここで、DRAM10は複数の(ここでは8個の)バンクBKを有している。このため、DRAMコントローラ34は書込データごとにバンクBKを切り替えて、書込データをDRAM10に書き込む。図43の例では、第2ブロックBL2ごとにバンクBKが切り替えられる。   Here, the DRAM 10 has a plurality of (here, eight) banks BK. For this reason, the DRAM controller 34 switches the bank BK for each write data and writes the write data to the DRAM 10. In the example of FIG. 43, the bank BK is switched for each second block BL2.

図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 input buffer 31 in raster order in units of the second block BL2. In addition, the compression unit 32 acquires image data from the input buffer 31 in units of a third block including X (X is an integer of 1 or more) second blocks BL2. In the example of FIG. 44, the third block is understood as one second block BL2 (ie, X = 1).

図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 input buffer 31.

一方、その時点において、第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 storage area # 1 in which the second block BL2_00 is stored is released, for example, after the time t2 when the second block BL2_20 is the compression target. In the example of FIG. 44, the image data of the second block BL2_40 is stored in the storage area # 1 at the subsequent time t4.

この場合も、入力バッファメモリ31は、上記第3ブロックとしての第2ブロックBL2と関連付けて記憶領域#1〜#4を管理することになる。   Also in this case, the input buffer memory 31 manages the storage areas # 1 to # 4 in association with the second block BL2 as the third block.

図44の例においても、DRAMコントローラ34は書込データごとにバンクBKを切り替えて、書込データをDRAM10に書き込む。   Also in the example of FIG. 44, the DRAM controller 34 switches the bank BK for each write data and writes the write data to the DRAM 10.

ここで、図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 DRAM controller 34 writes the write data for one bank BK (that is, one second block BL2) to the DRAM 10 one by one. On the other hand, the Y write data for the bank BK (Y = 4 in the example of FIG. 45) is accumulated in the output buffer 33, and the Y write data are waited. May be collectively written in the DRAM 10.

上記のように、入力バッファ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 input buffer 31 is performed for each of the four second blocks BL2 in the example of FIG. 43, whereas it is performed for each of the second blocks BL2 in the examples of FIGS. 44 and 45. . Data writing to the DRAM 10 is performed for each of the four second blocks BL2 in the examples of FIGS. 43 and 45, whereas in the example of FIG. 44, the data is written for each of the second blocks BL2.

かかる点に鑑みると、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 input buffer 31 in the data input / output of the input buffer 31. Such manageability leads to efficient use of the input buffer 31.

また、DRAM10へのデータ転送において、小ブロックが存在しないことは、転送データの効率的な生成に役立つ。また、小ブロックを転送するためにバス帯域が増加するのを回避できる。すなわち、バス帯域を削減できる。また、小ブロックが存在しないので、DRAMコントローラ34にとって、DRAM10のアドレス管理(換言すればアクセス管理)が容易になる。   In addition, the absence of small blocks in data transfer to the DRAM 10 is useful for efficient generation of transfer data. Further, it is possible to avoid an increase in bus bandwidth for transferring small blocks. That is, the bus bandwidth can be reduced. Further, since there is no small block, the DRAM controller 34 can easily manage the address of the DRAM 10 (in other words, access management).

さらに、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 device 9 can be easily introduced.

ここで、これらの効果は、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 compression unit 32 employs a compression method different from that of the first embodiment. The compression method may be moving image compression or still image compression (for example, JPEG (Joint Photographic Expert Group)).

また、参照型処理はローパス処理以外の処理であってもよい。また、ロスレス圧縮が参照型処理を含んでもよい。   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 storage control device 9 and the encoding device 1 are all configured by hardware. On the other hand, part or all of such various processing contents can be realized by software (in other words, the microprocessor executes a program).

本発明は詳細に説明されたが、上記した説明は、すべての局面において、例示であって、本発明がそれに限定されるものではない。例示されていない無数の変形例が、本発明の範囲から外れることなく想定され得るものと解される。   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 Data Storage Controller 31 Input Buffer Memory 32 Compression Unit 33 Output Buffer Memory 34 DRAM Controller (Write Control Unit)
41 Compressed Data Generation Unit 42 Selection Unit 51 Lossless Compression Unit 52 Lossy Compression Unit 61 Lossless Compression Processing Unit 62, 62a to 62e, 62b1, 62b2, 62d1, 62d2 Lossy Compression Processing Unit BL1 First Block BL2 Second Block BK Bank

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.
請求項1に記載のデータ記憶制御装置であって、
前記圧縮部は、前記入力バッファメモリから、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.
請求項1または請求項2に記載のデータ記憶制御装置であって、
前記圧縮部から出力された前記書込データを、前記書込制御部に供給するために、一時的に保持する出力バッファメモリをさらに備え、
前記メモリは、複数のバンクを有し、
前記書込制御部は、前記書込データごとに前記複数のバンクを切り替えて、前記書込データを前記メモリに書き込む、
データ記憶制御装置。
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.
請求項3に記載のデータ記憶制御装置であって、
前記書込制御部は、前記出力バッファメモリに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.
請求項1から請求項4のうちのいずれか一項に記載のデータ記憶制御装置であって、
前記入力バッファメモリよりも前段では画像処理がマクロブロック単位で行われ、
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.
(a)画像データを圧縮して圧縮データを出力する工程と、
(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.
JP2014071105A 2014-03-31 2014-03-31 Data storage control device and data storage control method Active JP6310747B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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