JP2011139175A - Image processor and image processing method - Google Patents

Image processor and image processing method Download PDF

Info

Publication number
JP2011139175A
JP2011139175A JP2009296430A JP2009296430A JP2011139175A JP 2011139175 A JP2011139175 A JP 2011139175A JP 2009296430 A JP2009296430 A JP 2009296430A JP 2009296430 A JP2009296430 A JP 2009296430A JP 2011139175 A JP2011139175 A JP 2011139175A
Authority
JP
Japan
Prior art keywords
data
block
small area
unit
size
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2009296430A
Other languages
Japanese (ja)
Other versions
JP5504885B2 (en
Inventor
Takeshi Jo
武史 城
Yasuhiro Watabe
康弘 渡部
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2009296430A priority Critical patent/JP5504885B2/en
Publication of JP2011139175A publication Critical patent/JP2011139175A/en
Application granted granted Critical
Publication of JP5504885B2 publication Critical patent/JP5504885B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To reduce a memory bandwidth in an image processor. <P>SOLUTION: The image processor includes a compression processing unit 1 which performs compression processing for input image data. In the compression processing unit 1, a variable length encoding unit 12 reads image data of a small area from an image storing unit 11, and encodes and compresses the image data for each small area by a variable length encoding method. A data construction unit 13 divides the compressed data into first data of a predetermined data size or below and second data exceeding the predetermined data size. A data construction unit 13 collects a plurality of small areas of the second data to create third data. The data construction unit 13 creates first block data based on the first data, second block data based on the third data, and size information on the third data. The first block data are written in a first block of a fixed size corresponding to a memory. The second block data are written in a second block corresponding to the memory. <P>COPYRIGHT: (C)2011,JPO&INPIT

Description

この発明は、画像処理装置および画像処理方法に関する。   The present invention relates to an image processing apparatus and an image processing method.

動画像データを符号化して圧縮する処理において、動き補償という処理が行われることがある。動き補償は、時間的に近い位置にあるフレームから、圧縮対象ブロックの動き情報を予測してデータを圧縮する技術である。符号化されたデータを復号する際には、予測元の参照画像のデータが読み出されて使用される。このとき、参照画像のデータを読み出す際の順序および画像のサイズが固定されていないことがある。その場合には、動画像符号化復号装置に用いられるメモリコントローラには、参照画像へのランダムアクセス性が要求される。一方、近年、ハイビジョン放送などの普及により、動画像処理回路が使用するメモリ帯域が増加してきている。   In the process of encoding and compressing moving image data, a process called motion compensation may be performed. Motion compensation is a technique for compressing data by predicting motion information of a compression target block from a frame that is close in time. When decoding the encoded data, the reference image data of the prediction source is read and used. At this time, the order and the size of the image for reading the reference image data may not be fixed. In that case, the memory controller used in the moving image encoding / decoding device is required to have random accessibility to the reference image. On the other hand, in recent years, with the spread of high-definition broadcasting and the like, the memory bandwidth used by the moving image processing circuit has increased.

従来、画像データを可変長の圧縮符号の形態でメモリに記憶して画像処理を行なう画像処理装置がある。例えば、入力画像を小領域に分割し、小領域ごとの画像データを圧縮符号化する構成の画像処理装置がある。この画像処理装置において、メモリは、データの格納位置および容量を固定した固定領域と、固定しない自由領域とに分割されている。圧縮画像データのうち、固定領域の容量分のデータは固定領域に格納される。固定領域の容量を超える分のデータは自由領域に格納される。固定領域には、自由領域に格納された各データの自由領域における格納位置を示すアドレス情報が格納される(例えば、特許文献1参照。)。   2. Description of the Related Art Conventionally, there is an image processing apparatus that performs image processing by storing image data in a memory in the form of variable-length compression codes. For example, there is an image processing apparatus configured to divide an input image into small areas and compress and encode image data for each small area. In this image processing apparatus, the memory is divided into a fixed area where the data storage position and capacity are fixed and a free area where the data is not fixed. Of the compressed image data, data corresponding to the capacity of the fixed area is stored in the fixed area. Data exceeding the capacity of the fixed area is stored in the free area. In the fixed area, address information indicating the storage position of each data stored in the free area in the free area is stored (for example, refer to Patent Document 1).

また、画像入力装置から画像を入力し、データ圧縮処理を行い記憶媒体に画像を保存し、必要に応じて圧縮保存された画像にデータ伸長処理を行い、画像出力装置から画像を出力する構成の画像信号符号化装置がある。この画像信号符号化装置において、先に固定長圧縮伸長回路で固定長圧縮処理を行ってバッファメモリに書き込み、次に可変長圧縮伸長回路で可変長圧縮処理を行ってバッファメモリを介してハードディスク等の記憶媒体に記憶する装置がある(例えば、特許文献2参照。)。また、非可逆符号化データを生成する第1の符号化部、可逆符号化データを生成する第2の符号化部、符号化対象となる画素ブロック中の色数を検出する属性判定部が並列して同じ画素ブロックについて処理を行う画像符号化装置がある。このような画像符号化装置において、符号化シーケンス制御部は、注目画素ブロックの色数が所定数以下の場合には可逆符号化データを第1のメモリに格納させる。また、色数が所定数を越える場合には、非可逆符号化データと可逆符号化データのうち、短い方を第1のメモリに格納させる(例えば、特許文献3参照。)。   In addition, the image is input from the image input device, the data is compressed, the image is stored in a storage medium, the data is compressed and stored as necessary, and the image is output from the image output device. There is an image signal encoding device. In this image signal encoding apparatus, fixed length compression processing is first performed by a fixed length compression / decompression circuit and written to a buffer memory, and then variable length compression processing is performed by a variable length compression / decompression circuit and then a hard disk or the like is transmitted via the buffer memory. There is a device that stores the information in a storage medium (for example, see Patent Document 2). In addition, a first encoding unit that generates lossy encoded data, a second encoding unit that generates lossless encoded data, and an attribute determination unit that detects the number of colors in a pixel block to be encoded are arranged in parallel. Thus, there is an image encoding device that performs processing on the same pixel block. In such an image encoding device, the encoding sequence control unit stores lossless encoded data in the first memory when the number of colors of the pixel block of interest is equal to or less than a predetermined number. When the number of colors exceeds a predetermined number, the shorter one of the lossy encoded data and the lossless encoded data is stored in the first memory (see, for example, Patent Document 3).

特開2000−232587号公報JP 2000-232587 A 特開平7−226848号公報Japanese Unexamined Patent Publication No. 7-226848 特開2006−166420号公報JP 2006-166420 A

しかしながら、従来の画像処理装置では、メモリから複数個の固定領域のデータを一括して読み出す場合、次のような問題点がある。読み出し対象の複数個の固定領域に格納されているアドレス情報に基づいて、自由領域に対して複数回の読み出しリクエストが発行される。小領域の分割単位を小さくしてランダムアクセス性を高くすると、その分、自由領域からのデータの読み出し回数が増えるため、データの読み出しが完了するまでの時間が長くなってしまう。また、固定領域から読み出されたアドレス情報に基づいて自由領域に対して読み出しリクエストが発行される。つまり、固定領域からのデータの読み出しが終了した後に自由領域からデータが読み出される。そのため、データの読み出しが完了するまでの時間が長くなってしまう。従って、メモリ帯域が増加するという問題点がある。   However, the conventional image processing apparatus has the following problems when reading data of a plurality of fixed areas from the memory at once. Based on the address information stored in a plurality of fixed areas to be read, a plurality of read requests are issued to the free area. If the division unit of the small area is reduced and the random accessibility is increased, the number of times of reading data from the free area is increased accordingly, and the time until the data reading is completed is increased. Also, a read request is issued to the free area based on the address information read from the fixed area. That is, the data is read from the free area after the data is read from the fixed area. Therefore, the time until data reading is completed becomes long. Therefore, there is a problem that the memory bandwidth increases.

メモリ帯域を削減することができる画像処理装置および画像処理方法を提供することを目的とする。   An object of the present invention is to provide an image processing apparatus and an image processing method capable of reducing the memory bandwidth.

画像処理装置は、可変長符号化部およびデータ構築部を備える。画像処理装置においては、入力画像が複数の小領域に分割されて処理される。可変長符号化部は、小領域ごとに画像データを可変長符号化法により符号化して圧縮する。データ構築部は、可変長符号化部により符号化された圧縮データを第1のデータと第2のデータとに分割する。第1のデータは、可変長符号化部により符号化された圧縮データのうちの、所定のデータサイズ以下のデータ部分である。第2のデータは、可変長符号化部により符号化された圧縮データのうちの、前記所定のデータサイズを超える分のデータ部分である。データ構築部は、第2のデータを複数の前記小領域分まとめて第3のデータとする。データ構築部は、第1のデータに基づいて第1のブロックデータを生成する。第1のブロックデータは、メモリの前記所定のデータサイズ以上の固定のメモリサイズを有する複数の第1のブロックのうち前記小領域に対応する第1のブロックに書き込まれる。データ構築部は、第3のデータに基づいて第2のブロックデータを生成する。第2のブロックデータは、メモリの複数の第2のブロックのうち、第2のデータがまとめられた小領域のグループに対応する第2のブロックに書き込まれる。データ構築部は、第3のデータのサイズ情報を生成する。   The image processing apparatus includes a variable length coding unit and a data construction unit. In the image processing apparatus, an input image is divided into a plurality of small regions and processed. The variable length encoding unit encodes and compresses the image data for each small region by a variable length encoding method. The data construction unit divides the compressed data encoded by the variable length encoding unit into first data and second data. The first data is a data portion having a predetermined data size or less in the compressed data encoded by the variable length encoding unit. The second data is a data portion exceeding the predetermined data size in the compressed data encoded by the variable length encoding unit. The data construction unit collects the second data for the plurality of small areas as third data. The data construction unit generates first block data based on the first data. The first block data is written into a first block corresponding to the small area among a plurality of first blocks having a fixed memory size equal to or larger than the predetermined data size of the memory. The data construction unit generates second block data based on the third data. The second block data is written into the second block corresponding to the small area group in which the second data is collected, among the plurality of second blocks in the memory. The data construction unit generates size information of the third data.

この画像処理装置および画像処理方法によれば、ランダムアクセス性を保ちながらも、メモリ帯域を削減することができるという効果を奏する。   According to the image processing apparatus and the image processing method, the memory bandwidth can be reduced while maintaining random accessibility.

実施例1にかかる画像処理装置を示すブロック図である。1 is a block diagram illustrating an image processing apparatus according to a first embodiment. 実施例2にかかる画像処理装置を示すブロック図である。FIG. 6 is a block diagram illustrating an image processing apparatus according to a second embodiment. 実施例2にかかる画像処理装置の展開部を示すブロック図である。FIG. 10 is a block diagram illustrating a developing unit of the image processing apparatus according to the second embodiment. 実施例2にかかる可変長符号化処理の一例を示す説明図である。FIG. 10 is an explanatory diagram illustrating an example of a variable-length encoding process according to the second embodiment. 実施例2にかかる可変長符号化手順の一例を示すフローチャートである。10 is a flowchart illustrating an example of a variable-length encoding procedure according to the second embodiment. 実施例2にかかる可変長符号化処理により得られるデータの構造を模式的に示す説明図である。FIG. 10 is an explanatory diagram schematically illustrating a structure of data obtained by a variable length encoding process according to the second embodiment. 実施例2にかかる可変長符号化部の出力データの構造を示す説明図である。FIG. 9 is an explanatory diagram illustrating a structure of output data of a variable length coding unit according to the second embodiment. 実施例2にかかる画像処理装置によるD1ブロックのメモリ格納構造の一例を示す説明図である。FIG. 12 is an explanatory diagram illustrating an example of a memory storage structure of a D1 block by the image processing apparatus according to the second embodiment. 実施例2にかかる画像処理装置によるD2ブロックのメモリ格納構造の一例を示す説明図である。FIG. 10 is an explanatory diagram illustrating an example of a memory storage structure of a D2 block by the image processing apparatus according to the second embodiment. 実施例2にかかる画像処理装置によるD2ブロックの一例を示す説明図である。FIG. 10 is an explanatory diagram illustrating an example of a D2 block by the image processing apparatus according to the second embodiment. 実施例2にかかる画像処理装置による各列の残余データフィールドの一例を示す説明図である。FIG. 10 is an explanatory diagram illustrating an example of a residual data field in each column by the image processing apparatus according to the second embodiment. 実施例2にかかる画像処理装置によるD2テーブルのメモリ格納構造の一例を示す説明図である。FIG. 10 is an explanatory diagram illustrating an example of a memory storage structure of a D2 table by the image processing apparatus according to the second embodiment. 実施例2にかかる画像処理装置によるD2テーブルエントリフィールドの一例を示す説明図である。FIG. 10 is an explanatory diagram of an example of a D2 table entry field by the image processing apparatus according to the second embodiment. 実施例2にかかる画像処理装置によるデータの書込み手順の一例を示すフローチャートである。10 is a flowchart illustrating an example of a data writing procedure by the image processing apparatus according to the second embodiment. 実施例2にかかる画像処理装置によるデータの読出し手順の一例を示すフローチャートである。10 is a flowchart illustrating an example of a data read procedure by the image processing apparatus according to the second embodiment. 実施例2にかかる画像処理装置によるメモリ帯域の削減効果を示す説明図である。FIG. 10 is an explanatory diagram illustrating a memory bandwidth reduction effect by the image processing apparatus according to the second embodiment. 実施例2にかかる画像処理装置によるメモリ帯域の削減効果を示す説明図である。FIG. 10 is an explanatory diagram illustrating a memory bandwidth reduction effect by the image processing apparatus according to the second embodiment. 実施例3にかかる画像処理装置におけるデータ格納方法を説明する説明図である。FIG. 10 is an explanatory diagram illustrating a data storage method in the image processing apparatus according to the third embodiment. 図18に対応するIsValidフラグを示す図表である。FIG. 19 is a chart showing an IsValid flag corresponding to FIG. 18. FIG. 図18に対応するIsNeighborフラグを示す図表である。FIG. 19 is a chart showing an IsNeighbor flag corresponding to FIG. 18. FIG. 実施例3にかかる画像処理装置によるデータの書込み手順の一例を示すフローチャートである。12 is a flowchart illustrating an example of a data writing procedure by the image processing apparatus according to the third embodiment. 実施例3にかかる画像処理装置によるデータの読出し手順の一例を示すフローチャートである。12 is a flowchart illustrating an example of a data read procedure by the image processing apparatus according to the third embodiment. 実施例4にかかる画像処理装置におけるデータ格納方法を説明する説明図である。FIG. 10 is an explanatory diagram illustrating a data storage method in the image processing apparatus according to the fourth embodiment. 図23に対応するIsNeighborフラグを示す図表である。FIG. 24 is a chart showing an IsNeighbor flag corresponding to FIG. 23. FIG. 実施例4にかかる画像処理装置によるデータの書込み手順の一例を示すフローチャートである。14 is a flowchart illustrating an example of a data writing procedure by the image processing apparatus according to the fourth embodiment. 実施例4にかかる画像処理装置によるデータの読出し手順の一例を示すフローチャートである。10 is a flowchart illustrating an example of a data read procedure by the image processing apparatus according to the fourth embodiment. 実施例4にかかる画像処理装置によるメモリ帯域の削減効果を示す説明図である。FIG. 10 is an explanatory diagram illustrating a memory bandwidth reduction effect by the image processing apparatus according to the fourth embodiment. 実施例5におけるIsNeighborフラグの一例を示す図表である。22 is a chart illustrating an example of an IsNeighbor flag in the fifth embodiment. 実施例5にかかる画像処理装置によるデータの書込み手順の一例を示すフローチャートである。14 is a flowchart illustrating an example of a data writing procedure by the image processing apparatus according to the fifth embodiment. 実施例5にかかる画像処理装置によるデータの書込み手順の一例を示すフローチャートである。14 is a flowchart illustrating an example of a data writing procedure by the image processing apparatus according to the fifth embodiment. 実施例5にかかる画像処理装置によるデータの書込み手順の一例を示すフローチャートである。14 is a flowchart illustrating an example of a data writing procedure by the image processing apparatus according to the fifth embodiment. 実施例6におけるIsNeighborフラグの一例を示す図表である。22 is a chart showing an example of an IsNeighbor flag in Example 6. 実施例6にかかる画像処理装置によるデータの書込み手順の一例を示すフローチャートである。16 is a flowchart illustrating an example of a data writing procedure by the image processing apparatus according to the sixth embodiment. 実施例6にかかる画像処理装置によるデータの書込み手順の一例を示すフローチャートである。16 is a flowchart illustrating an example of a data writing procedure by the image processing apparatus according to the sixth embodiment. 実施例6にかかる画像処理装置によるデータの書込み手順の一例を示すフローチャートである。16 is a flowchart illustrating an example of a data writing procedure by the image processing apparatus according to the sixth embodiment.

以下に添付図面を参照して、この画像処理装置および画像処理方法の好適な実施の形態を詳細に説明する。以下の各実施例の説明においては、同様の構成要素には同一の符号を付して、重複する説明を省略する。   Exemplary embodiments of an image processing apparatus and an image processing method will be described below in detail with reference to the accompanying drawings. In the following description of each embodiment, the same components are denoted by the same reference numerals, and redundant descriptions are omitted.

(実施例1)
実施例1にかかる画像処理装置および画像処理方法は、入力画像を複数の小領域に分割し、小領域ごとに圧縮されたデータから所定サイズ以下の第1のデータとその残りの第2のデータを生成し、第2のデータを複数の小領域分まとめて第3のデータとし、第3のデータのサイズ情報を生成する。
(Example 1)
In the image processing apparatus and the image processing method according to the first embodiment, an input image is divided into a plurality of small areas, and first data having a predetermined size or less and second remaining data from the data compressed for each small area , And the second data is grouped into a plurality of small areas as third data, and size information of the third data is generated.

・画像処理装置の構成
図1は、実施例1にかかる画像処理装置を示すブロック図である。図1に示すように、画像処理装置は、入力画像のデータに対して圧縮処理を行う圧縮処理部1を備えている。圧縮処理部1は、画像格納部11、可変長符号化部12、データ構築部13および圧縮データ格納部14を備えている。画像格納部11は、入力画像のデータを格納し、複数の小領域の画像データに分割する。入力画像のデータは、例えば図示しないリクエスト制御部から渡される。可変長符号化部12は、画像格納部11から小領域の画像データを読み出し、小領域ごとに画像データを可変長符号化法により符号化して圧縮する。
FIG. 1 is a block diagram of an image processing apparatus according to the first embodiment. As illustrated in FIG. 1, the image processing apparatus includes a compression processing unit 1 that performs compression processing on input image data. The compression processing unit 1 includes an image storage unit 11, a variable length encoding unit 12, a data construction unit 13, and a compressed data storage unit 14. The image storage unit 11 stores input image data and divides it into a plurality of small area image data. The input image data is delivered from a request control unit (not shown), for example. The variable length encoding unit 12 reads out the image data of the small area from the image storage unit 11, and encodes and compresses the image data for each small area by the variable length encoding method.

データ構築部13は、可変長符号化部12により圧縮されたデータを第1のデータと第2のデータとに分割する。第1のデータは、可変長符号化部12により圧縮されたデータのうちの、所定のデータサイズ以下のデータ部分である。第2のデータは、可変長符号化部12により圧縮されたデータのうちの、所定のデータサイズを超える分のデータ部分である。可変長符号化部12により圧縮されたデータのデータサイズが所定のデータサイズ以下である場合には、第1のデータのみが生成される。データ構築部13は、第2のデータを複数の小領域分まとめて第3のデータとする。   The data construction unit 13 divides the data compressed by the variable length coding unit 12 into first data and second data. The first data is a data portion having a data size equal to or smaller than a predetermined data size in the data compressed by the variable length encoding unit 12. The second data is a data portion of the data compressed by the variable length encoding unit 12 that exceeds a predetermined data size. When the data size of the data compressed by the variable length encoding unit 12 is equal to or smaller than a predetermined data size, only the first data is generated. The data construction unit 13 collects the second data for a plurality of small areas as third data.

データ構築部13は、第1のデータに基づいて第1のブロックデータを生成する。第1のブロックデータは、例えば図示しない外部メモリアクセス制御部に接続されたメモリの複数の第1のブロックのうち前記小領域に対応する第1のブロックに書き込まれる。第1のブロックは、前記所定のデータサイズ以上の固定のメモリサイズを有する。データ構築部13は、第3のデータに基づいて第2のブロックデータを生成する。第2のブロックデータは、メモリの複数の第2のブロックのうち、第2のデータがまとめられた小領域のグループに対応する第2のブロックに書き込まれる。データ構築部13は、第3のデータのサイズ情報を生成する。   The data construction unit 13 generates first block data based on the first data. The first block data is written in a first block corresponding to the small area among a plurality of first blocks of a memory connected to an external memory access control unit (not shown), for example. The first block has a fixed memory size equal to or larger than the predetermined data size. The data construction unit 13 generates second block data based on the third data. The second block data is written into the second block corresponding to the small area group in which the second data is collected, among the plurality of second blocks in the memory. The data construction unit 13 generates size information of the third data.

これ以降、第1のデータをD1データと呼び、第2のデータを残余データと呼び、第3のデータを集約残余データと呼ぶ。第1のブロックデータをD1ブロックデータと呼び、第2のブロックデータをD2ブロックデータと呼び、第3のデータのサイズ情報をD2サイズ情報と呼ぶ。圧縮データ格納部14は、D1ブロックデータ、D2ブロックデータおよびD2サイズ情報を格納する。圧縮データ格納部14に格納されたD1ブロックデータ、D2ブロックデータおよびD2サイズ情報は、例えば図示しない外部メモリアクセス制御部へ渡される。図示しないメモリにおいて、第1のブロックをD1ブロックと呼び、第2のブロックをD2ブロックと呼ぶ。   Hereinafter, the first data is called D1 data, the second data is called residual data, and the third data is called aggregated residual data. The first block data is called D1 block data, the second block data is called D2 block data, and the size information of the third data is called D2 size information. The compressed data storage unit 14 stores D1 block data, D2 block data, and D2 size information. The D1 block data, D2 block data, and D2 size information stored in the compressed data storage unit 14 are transferred to, for example, an external memory access control unit (not shown). In a memory (not shown), the first block is called a D1 block, and the second block is called a D2 block.

・画像処理手順
圧縮処理部1は、例えば図示しないリクエスト制御部から渡された入力画像のデータを画像格納部11に格納し、小領域の画像データに分割する。次いで、圧縮処理部1は、可変長符号化部12により、画像格納部11から小領域の画像データを読み出し、該画像データを可変長符号化法により符号化して圧縮する。次いで、圧縮処理部1は、データ構築部13により、可変長符号化部12により圧縮されたデータから、D1データ、残余データ、集約残余データ、D1ブロックデータ、D2ブロックデータおよびD2サイズ情報を生成する。次いで、圧縮処理部1は、圧縮データ格納部14にD1ブロックデータ、D2ブロックデータおよびD2サイズ情報を格納する。圧縮処理部1は、圧縮データ格納部14から例えば図示しない外部メモリアクセス制御部へD1ブロックデータ、D2ブロックデータおよびD2サイズ情報を出力する。
Image Processing Procedure The compression processing unit 1 stores, for example, input image data passed from a request control unit (not shown) in the image storage unit 11 and divides it into small region image data. Next, the compression processing unit 1 reads out the small area image data from the image storage unit 11 by the variable length encoding unit 12, encodes the image data by the variable length encoding method, and compresses the image data. Next, the compression processing unit 1 generates D1 data, residual data, aggregated residual data, D1 block data, D2 block data, and D2 size information from the data compressed by the variable length encoding unit 12 by the data construction unit 13 To do. Next, the compression processing unit 1 stores D1 block data, D2 block data, and D2 size information in the compressed data storage unit 14. The compression processing unit 1 outputs D1 block data, D2 block data, and D2 size information from the compressed data storage unit 14 to, for example, an external memory access control unit (not shown).

実施例1によれば、可変長符号化部12およびデータ構築部13によりD1ブロックデータ、D2ブロックデータおよびD2サイズ情報が生成される。D1ブロックデータ、D2ブロックデータおよびD2サイズ情報が格納されているメモリからデータを読み出す際に、D2サイズ情報を確認することにより、D2ブロックのデータを読み出す必要があるか否かを判定することができる。その結果、D2ブロックのデータを読み出す必要がないと判定された場合には、メモリからD1ブロックのデータを読み出し、D2ブロックのデータを読み出さなくてもよいので、メモリ帯域を削減することができる。D2ブロックのデータを読み出す必要があると判定された場合には、D2ブロックに複数の小領域の残余データがまとめられているので、まとめられていない残余データを一つずつ読み出す場合に比べて読み出しリクエストの発行回数が減る。従って、データの読み出し回数が減り、メモリ帯域を削減することができる。また、D1ブロックのデータを読み出す処理とD2ブロックのデータを読み出す処理とを並列に行うことができるので、データの読み出しが完了するまでの時間を短縮することができる。従って、メモリ帯域を削減することができる。   According to the first embodiment, the variable length coding unit 12 and the data construction unit 13 generate D1 block data, D2 block data, and D2 size information. When reading data from a memory storing D1 block data, D2 block data, and D2 size information, it is possible to determine whether it is necessary to read data of the D2 block by checking the D2 size information. it can. As a result, when it is determined that there is no need to read the data of the D2 block, it is not necessary to read the data of the D1 block from the memory and read the data of the D2 block, so that the memory bandwidth can be reduced. If it is determined that it is necessary to read the data of the D2 block, the remaining data of a plurality of small areas are collected in the D2 block, so that the remaining data that has not been collected is read compared to reading one by one. The number of requests issued is reduced. Accordingly, the number of data read times is reduced, and the memory bandwidth can be reduced. In addition, since the process of reading the data of the D1 block and the process of reading the data of the D2 block can be performed in parallel, the time until the data reading is completed can be shortened. Therefore, the memory bandwidth can be reduced.

(実施例2)
実施例2にかかる画像処理装置および画像処理方法は、実施例1の圧縮処理部1を備えた画像処理装置、および実施例1の画像処理手順に従って画像データを圧縮する画像処理方法である。
(Example 2)
The image processing apparatus and the image processing method according to the second embodiment are an image processing apparatus including the compression processing unit 1 according to the first embodiment and an image processing method that compresses image data according to the image processing procedure according to the first embodiment.

・画像処理装置の構成
図2は、実施例2にかかる画像処理装置を示すブロック図である。図2に示すように、画像処理装置は、エンコーダ2およびメモリコントローラ3を備えている。エンコーダ2は、圧縮されていない矩形状の画像のデータ(矩形ライトデータ)をデコード画像出力部4からメモリコントローラ3へ出力する。エンコーダ2は、参照画読出し部5により、メモリコントローラ3から圧縮されていない矩形状の画像のデータ(矩形リードデータ)を受け取る。ここでは、矩形のライトデータおよび矩形のリードデータとしているが、矩形以外の形状でもよい。
FIG. 2 is a block diagram of an image processing apparatus according to the second embodiment. As shown in FIG. 2, the image processing apparatus includes an encoder 2 and a memory controller 3. The encoder 2 outputs uncompressed rectangular image data (rectangular write data) from the decoded image output unit 4 to the memory controller 3. The encoder 2 receives uncompressed rectangular image data (rectangular read data) from the memory controller 3 through the reference image reading unit 5. Here, rectangular write data and rectangular read data are used, but shapes other than rectangular may be used.

メモリコントローラ3は、リクエスト制御部6、実施例1の圧縮処理部1、展開部7および外部メモリアクセス制御部8を備えている。リクエスト制御部6は、書込みリクエストを発行し、デコード画像出力部4から受け取った矩形ライトデータを圧縮処理部1に渡す。リクエスト制御部6は、読出しリクエストを発行し、展開部7から受け取った矩形リードデータを参照画読出し部5に渡す。圧縮処理部1は、実施例1において説明したとおりである。圧縮処理部1の画像格納部11(図1参照)に矩形ライトデータが格納される。圧縮処理部1の圧縮データ格納部14(図1参照)に格納された圧縮データは、外部メモリアクセス制御部8に渡される。   The memory controller 3 includes a request control unit 6, a compression processing unit 1 according to the first embodiment, a decompression unit 7, and an external memory access control unit 8. The request control unit 6 issues a write request and passes the rectangular write data received from the decoded image output unit 4 to the compression processing unit 1. The request control unit 6 issues a read request and passes the rectangular read data received from the expansion unit 7 to the reference image reading unit 5. The compression processing unit 1 is as described in the first embodiment. The rectangular write data is stored in the image storage unit 11 (see FIG. 1) of the compression processing unit 1. The compressed data stored in the compressed data storage unit 14 (see FIG. 1) of the compression processing unit 1 is passed to the external memory access control unit 8.

外部メモリアクセス制御部8は、メモリコントローラ3に接続された外部メモリ9に対するアクセスを制御し、メモリコントローラ3と外部メモリ9との間で圧縮データの受け渡しを行う。展開部7は、外部メモリ9から読み出された圧縮データのD1ブロックのデータ、D2ブロックのデータおよびD2テーブルのデータに基づいて、圧縮データを圧縮されていない画像データ(矩形リードデータ)に展開する。D2テーブルは、外部メモリ9においてD2サイズ情報を格納したテーブルである。外部メモリ9には、圧縮処理部1によって圧縮されたデータが書き込まれる。外部メモリ9には、D1ブロックのデータを格納する第1の領域、D2ブロックのデータを格納する第2の領域、およびD2テーブルが設けられている。外部メモリ9は、特に限定しないが、例えばSDRAM(Synchronous Dynamic Random Access Memory、シンクロナスDRAM)を備えている。   The external memory access control unit 8 controls access to the external memory 9 connected to the memory controller 3, and exchanges compressed data between the memory controller 3 and the external memory 9. The expansion unit 7 expands the compressed data into uncompressed image data (rectangular read data) based on the D1 block data, the D2 block data, and the D2 table data of the compressed data read from the external memory 9. To do. The D2 table is a table storing D2 size information in the external memory 9. Data compressed by the compression processing unit 1 is written in the external memory 9. The external memory 9 is provided with a first area for storing D1 block data, a second area for storing D2 block data, and a D2 table. The external memory 9 includes, for example, SDRAM (Synchronous Dynamic Random Access Memory, synchronous DRAM), although not limited thereto.

・展開部の構成
図3は、実施例2にかかる画像処理装置の展開部を示すブロック図である。図3に示すように、展開部7は、D1読出し部21、D2テーブルキャッシュ制御部22、D2読出し判定部23、D2ブロックキャッシュ制御部24、残余データ取得部25、可変長復号部26、画像格納部27、テーブルキャッシュ28およびD2キャッシュ29を備えている。D1読出し部21は、読出しの対象に指定された例えば矩形状の画像領域に対応するD1ブロックのデータを外部メモリ9から読み出す。テーブルキャッシュ28は、D2テーブルの一部のデータを格納する記憶部である。D2キャッシュ29は、一部のD2ブロックのデータを格納する記憶部である。
FIG. 3 is a block diagram of the developing unit of the image processing apparatus according to the second embodiment. As shown in FIG. 3, the expansion unit 7 includes a D1 reading unit 21, a D2 table cache control unit 22, a D2 read determination unit 23, a D2 block cache control unit 24, a residual data acquisition unit 25, a variable length decoding unit 26, an image A storage unit 27, a table cache 28, and a D2 cache 29 are provided. The D1 reading unit 21 reads, from the external memory 9, data of a D1 block corresponding to, for example, a rectangular image area designated as a reading target. The table cache 28 is a storage unit that stores a part of the data of the D2 table. The D2 cache 29 is a storage unit that stores data of some D2 blocks.

D2テーブルキャッシュ制御部22は、読出しの対象に指定された例えば矩形状の画像領域に対応するD2テーブルのデータ(D2サイズ情報)がテーブルキャッシュ28に格納されているか否かを判定する。D2テーブルキャッシュ制御部22は、所望のD2サイズ情報がテーブルキャッシュ28に格納されている場合(キャッシュヒット)、テーブルキャッシュ28から所望のD2サイズ情報を読み出す。D2テーブルキャッシュ制御部22は、所望のD2サイズ情報がテーブルキャッシュ28に格納されていない場合(キャッシュミス)、外部メモリ9から所望のD2サイズ情報を読み出し、テーブルキャッシュ28に格納する。   The D2 table cache control unit 22 determines whether or not the data (D2 size information) of the D2 table corresponding to, for example, a rectangular image area designated as a read target is stored in the table cache 28. When the desired D2 size information is stored in the table cache 28 (cache hit), the D2 table cache control unit 22 reads the desired D2 size information from the table cache 28. When the desired D2 size information is not stored in the table cache 28 (cache miss), the D2 table cache control unit 22 reads the desired D2 size information from the external memory 9 and stores it in the table cache 28.

D2読出し判定部23は、D2テーブルキャッシュ制御部22から渡されたD2サイズ情報に基づいて、読出しの対象に指定された例えば矩形状の画像領域に対応するD2ブロックのデータを読み出す必要があるか否かを判定する。当該D2サイズ情報が、対応するD2ブロックに残余データが格納されていることを示している場合、当該D2ブロックのデータを読み出す必要がある。当該D2サイズ情報が、対応するD2ブロックに残余データが格納されていないことを示している場合、当該D2ブロックのデータを読み出す必要がない。   Whether the D2 read determination unit 23 needs to read data of a D2 block corresponding to, for example, a rectangular image area designated as a read target based on the D2 size information passed from the D2 table cache control unit 22 Determine whether or not. When the D2 size information indicates that the remaining data is stored in the corresponding D2 block, it is necessary to read the data of the D2 block. When the D2 size information indicates that the remaining data is not stored in the corresponding D2 block, it is not necessary to read the data of the D2 block.

D2読出し判定部23による判定の結果、D2ブロックのデータを読み出す必要がある場合、D2ブロックキャッシュ制御部24は、読み出す必要のあるD2ブロックのデータがD2キャッシュ29に格納されているか否かを判定する。D2ブロックキャッシュ制御部24は、所望のD2ブロックのデータがD2キャッシュ29に格納されている場合(キャッシュヒット)、D2キャッシュ29から所望のD2ブロックのデータを読み出す。D2ブロックキャッシュ制御部24は、所望のD2ブロックのデータがD2キャッシュ29に格納されていない場合(キャッシュミス)、外部メモリ9から所望のD2ブロックのデータを読み出し、D2キャッシュ29に格納する。   As a result of the determination by the D2 read determination unit 23, when it is necessary to read data of the D2 block, the D2 block cache control unit 24 determines whether the data of the D2 block that needs to be read is stored in the D2 cache 29 or not. To do. When the desired D2 block data is stored in the D2 cache 29 (cache hit), the D2 block cache control unit 24 reads the desired D2 block data from the D2 cache 29. When the desired D2 block data is not stored in the D2 cache 29 (cache miss), the D2 block cache control unit 24 reads the desired D2 block data from the external memory 9 and stores it in the D2 cache 29.

残余データ取得部25は、D2ブロックキャッシュ制御部24から渡されたD2ブロックのデータから所望の残余データを取得する。可変長復号部26は、D1読出し部21により読み出されたD1ブロックのデータと、残余データ取得部25から渡された残余データと、を結合して可変長復号処理を行う。D2読出し判定部23によりD2ブロックのデータを読み出す必要がないと判定された場合には、可変長復号部26は、D1読出し部21により読み出されたD1ブロックのデータに対して可変長復号処理を行う。画像格納部27は、可変長復号部26により復号された画素データを格納する。画像格納部27に格納された画素データは、リクエスト制御部6(図2参照)へ送られる。なお、テーブルキャッシュ28にD2テーブルの全部のデータが格納されていてもよい。D2キャッシュ29に全部のD2ブロックのデータが格納されていてもよい。   The residual data acquisition unit 25 acquires desired residual data from the D2 block data passed from the D2 block cache control unit 24. The variable length decoding unit 26 combines the data of the D1 block read by the D1 reading unit 21 and the residual data passed from the residual data acquisition unit 25 to perform variable length decoding processing. When the D2 reading determination unit 23 determines that it is not necessary to read the data of the D2 block, the variable length decoding unit 26 performs the variable length decoding process on the data of the D1 block read by the D1 reading unit 21. I do. The image storage unit 27 stores the pixel data decoded by the variable length decoding unit 26. The pixel data stored in the image storage unit 27 is sent to the request control unit 6 (see FIG. 2). Note that all data of the D2 table may be stored in the table cache 28. All D2 block data may be stored in the D2 cache 29.

実施例2にかかる画像処理装置の一例として、例えばH.264規格に準拠したエンコーダ装置が挙げられる。H.264は、ITU−T(International Telecommunication Union Telecommunication Standardization Sector、国際電気通信連合電気通信標準化部門)により策定された動画像符号化規格の一つである。H.264エンコーダ装置は、例えば半導体集積回路装置で構成されていてもよい。図2に示す構成のうち、メモリコントローラ3が半導体集積回路装置で構成されていてもよいし、メモリコントローラ3およびエンコーダ2で一つの半導体集積回路装置が構成されていてもよい。なお、別の規格のエンコーダ装置や、エンコーダ装置以外の装置にも、実施例2にかかる画像処理装置を適用することができる。別の規格の一例として、例えばMPEG(Moving Picture Experts Group)−2規格が挙げられる。   As an example of the image processing apparatus according to the second embodiment, for example, H.264. An encoder device conforming to the H.264 standard can be mentioned. H. H.264 is one of the video coding standards established by ITU-T (International Telecommunication Union Telecommunication Standardization Sector, International Telecommunication Union Telecommunication Standardization Sector). H. The H.264 encoder device may be constituted by a semiconductor integrated circuit device, for example. In the configuration shown in FIG. 2, the memory controller 3 may be configured with a semiconductor integrated circuit device, or the memory controller 3 and the encoder 2 may configure one semiconductor integrated circuit device. Note that the image processing apparatus according to the second embodiment can be applied to an encoder apparatus of another standard or an apparatus other than the encoder apparatus. An example of another standard is, for example, the MPEG (Moving Picture Experts Group) -2 standard.

・可変長符号化処理の一例
図4は、実施例2にかかる可変長符号化処理の一例を示す説明図である。図4において、丸印は画素31を表し、画素31の中の数値(128や129)は画素値を表す。16個の画素31の周囲にある数値(0や−1)は、隣接する画素の画素値の差分値である。一般に、隣接する画素の値には相関性があるので、隣接する画素間の差分値は0付近に集中する。この特性を利用すると、例えば隣接する画素間で差分値を求め、0などの小さい値の差分値には短い符号(例えば00や100や110など)を割り当て、大きい差分値には長い符号(例えば111100000など)を割り当てることで、ビット長を削減することができる。
FIG. 4 is an explanatory diagram of an example of the variable length encoding process according to the second embodiment. In FIG. 4, the circle represents the pixel 31 and the numerical value (128 or 129) in the pixel 31 represents the pixel value. Numerical values (0 and −1) around the 16 pixels 31 are difference values of pixel values of adjacent pixels. Generally, since the values of adjacent pixels are correlated, the difference values between adjacent pixels are concentrated around 0. Using this characteristic, for example, a difference value is obtained between adjacent pixels, a short code (for example, 00, 100, 110, etc.) is assigned to a small difference value such as 0, and a long code (for example, 00, 100, 110, etc.) is assigned. Bit length can be reduced.

図4に示す例では、隣接する画素間において、左側の画素の画素値から右側の画素の画素値が減算されている。左端の縦の列については、下側の画素の画素値から上側の画素の画素値が減算されている。左端の縦の列において最も上の画素は、非圧縮とする。一例として、小領域を8画素×2画素(横に8画素で縦に2画素の計16画素)とし、1画素を8ビットの固定長で表現した場合、図示例において全画素を非圧縮とすると、小領域の画素値の合計は128ビット(=8ビット×16画素)となる。それに対して、例えば差分値0に対して符号00を割り当て、差分値−1に対して符号110を割り当てると、小領域の画素値の合計は40ビット(=固定長の8ビット+“00”の2ビット×13個+“110”の3ビット×2個)となる。つまり、図示例では、小領域の画素値の合計を128ビットから40ビットに圧縮することができる。   In the example illustrated in FIG. 4, the pixel value of the right pixel is subtracted from the pixel value of the left pixel between adjacent pixels. For the leftmost vertical column, the pixel value of the upper pixel is subtracted from the pixel value of the lower pixel. The uppermost pixel in the leftmost vertical column is not compressed. As an example, if the small area is 8 pixels × 2 pixels (16 pixels in total, 8 pixels horizontally and 2 pixels vertically), and each pixel is expressed with a fixed length of 8 bits, all pixels are uncompressed in the illustrated example. Then, the sum of the pixel values in the small area is 128 bits (= 8 bits × 16 pixels). On the other hand, for example, when code 00 is assigned to the difference value 0 and code 110 is assigned to the difference value −1, the total pixel value of the small area is 40 bits (= 8 bits of fixed length + “00”). 2 bits × 13 pieces + “110” 3 bits × 2 pieces). That is, in the illustrated example, the sum of the pixel values in the small area can be compressed from 128 bits to 40 bits.

なお、可変長符号化処理の方式については、ここで説明した例に限らず、種々の方式の可変長符号化処理を適用することができる。可変長符号化処理は可逆性であってもよいし、非可逆性であってもよい。また、図5および図6に示すように、可変長符号化部12において複数の方式の可変長符号化処理を行い、得られた複数の可変長符号の中からデータサイズが最も小さいものを選択する構成としてもよい。   Note that the variable-length coding processing method is not limited to the example described here, and various types of variable-length coding processing can be applied. The variable length encoding process may be reversible or irreversible. Also, as shown in FIGS. 5 and 6, the variable length encoding unit 12 performs a plurality of variable length encoding processes, and selects the smallest data size from among the obtained variable length codes. It is good also as composition to do.

図5は、実施例2にかかる可変長符号化手順の一例を示すフローチャートである。図5に示す例では、圧縮方式が3種類あるが、2種類でもよいし、4種類以上でもよい。図5に示すように、可変長符号化部12において可変長符号化処理が開始されると、可変長符号化部12は、与えられた小領域の画像データに対して、例えば第1の圧縮方式、第2の圧縮方式および第3の圧縮方式でそれぞれ可変長符号化処理を行う(ステップS1、ステップS2、ステップS3)。これらの圧縮モードの他に、与えられた小領域の画像データに対して非圧縮、すなわち可変長符号化処理を行わない、という非圧縮モードが設けられていてもよい(ステップS4)。各モードでのデータが得られたら、可変長符号化部12は、データサイズが最も小さくなるモードを選択する(ステップS5)。そして、可変長符号化部12は、選択したモードのデータを出力し(ステップS6)、可変長符号化処理を終了する。   FIG. 5 is a flowchart of an example of the variable length coding procedure according to the second embodiment. In the example shown in FIG. 5, there are three types of compression methods, but two types may be used, or four or more types may be used. As illustrated in FIG. 5, when the variable length coding process is started in the variable length coding unit 12, the variable length coding unit 12 performs, for example, first compression on the given small area image data. Variable-length encoding processing is performed by the method, the second compression method, and the third compression method (step S1, step S2, and step S3). In addition to these compression modes, a non-compression mode may be provided in which non-compression, that is, variable length encoding processing is not performed on image data of a given small region (step S4). When data in each mode is obtained, the variable length coding unit 12 selects a mode with the smallest data size (step S5). Then, the variable length encoding unit 12 outputs the data of the selected mode (step S6), and ends the variable length encoding process.

図6は、実施例2にかかる可変長符号化処理により得られるデータの構造を模式的に示す説明図である。図6に示すように、データは、例えば各モードのデータ41,42,43,44の先頭にモードを表すビット45,46,47,48が付加された構成となる。図6に示す例は、図5に示す例のように可変長符号化部12において複数のモードで画像データを処理する場合に適用される。図5および図6に示す例のように非圧縮モードが設けられている場合、可変長符号化部12の出力データのデータサイズは、非圧縮データ(元の画素データ)に圧縮モードを表すフラグビットを加えたデータサイズ以下となる。   FIG. 6 is an explanatory diagram schematically illustrating the structure of data obtained by the variable-length encoding process according to the second embodiment. As shown in FIG. 6, the data has a configuration in which, for example, bits 45, 46, 47, and 48 representing the mode are added to the heads of the data 41, 42, 43, and 44 of each mode. The example shown in FIG. 6 is applied when image data is processed in a plurality of modes in the variable length encoding unit 12 as in the example shown in FIG. When the non-compression mode is provided as in the examples illustrated in FIGS. 5 and 6, the data size of the output data of the variable length encoding unit 12 is a flag indicating the compression mode in the non-compression data (original pixel data). The data size is less than the data size including bits.

・可変長符号データの構造
図7は、実施例2にかかる可変長符号化部から出力される可変長符号データの構造を示す説明図である。図7に示すように、可変長符号化部12から出力される可変長符号データ51のデータサイズが、予め設定されているデータサイズを超える場合、該データ51は、予め設定されているデータサイズのD1データ52と、予め設定されているデータサイズを超える分の残余データ53とに分割される。予め設定されているデータサイズは、特に限定しないが、例えば8バイトであってもよい。可変長符号データ51のデータサイズが、予め設定されているデータサイズ以下である場合、該データ51はD1データ52のみとなる。
FIG. 7 is an explanatory diagram of the structure of variable length code data output from the variable length coding unit according to the second embodiment. As shown in FIG. 7, when the data size of the variable-length code data 51 output from the variable-length encoding unit 12 exceeds the preset data size, the data 51 has a preset data size. The D1 data 52 is divided into the remaining data 53 exceeding the preset data size. The data size set in advance is not particularly limited, but may be, for example, 8 bytes. When the data size of the variable-length code data 51 is equal to or smaller than a preset data size, the data 51 is only D1 data 52.

・D1ブロックのメモリ格納構造
図8は、実施例2にかかる画像処理装置によるD1ブロックのメモリ格納構造の一例を示す説明図である。図8に示すように、外部メモリ9の第1の領域61には、入力画像の小領域ごとにD1ブロック62が設けられる。D1ブロック62には、D1ブロックデータが格納される。図8に示す例では、説明の便宜上、個々のD1ブロックにA11、A12、A21などの記号を付している。また、第1の領域61を4個×4個のD1ブロックのグループに分けて異なるアルファベット(A、B、C・・・)を付しているが、後述するD2ブロックとの対応関係を明確にするためにグループ化しただけであり、特別な意味があるわけではない。各グループのD1ブロック数は4個×4個に限らない。図が繁雑になるのを避けるため、Aを付したグループ以外のグループでは個々のD1ブロックを省略した。
FIG. 8 is an explanatory diagram of an example of the memory storage structure of the D1 block by the image processing apparatus according to the second embodiment. As shown in FIG. 8, in the first area 61 of the external memory 9, a D1 block 62 is provided for each small area of the input image. The D1 block data is stored in the D1 block 62. In the example shown in FIG. 8, symbols such as A11, A12, and A21 are given to individual D1 blocks for convenience of explanation. In addition, the first area 61 is divided into groups of 4 × 4 D1 blocks and given different alphabets (A, B, C...), But the correspondence with the D2 block described later is clear. It is only grouped to make it, and has no special meaning. The number of D1 blocks in each group is not limited to 4 × 4. In order to avoid the figure from becoming complicated, the individual D1 blocks were omitted in groups other than the group marked with A.

第1の領域61において、各D1ブロック62の位置は小領域ごとに予め決められている。第1の領域61において、各D1ブロックに割り当てられているメモリサイズは予め一定値に決められている。D1ブロックに割り当てられているメモリサイズは、特に限定しないが、例えば8バイトであってもよい。   In the first area 61, the position of each D1 block 62 is predetermined for each small area. In the first area 61, the memory size assigned to each D1 block is determined in advance to a constant value. The memory size allocated to the D1 block is not particularly limited, but may be 8 bytes, for example.

・D2ブロックのメモリ格納構造
図9は、実施例2にかかる画像処理装置によるD2ブロックのメモリ格納構造の一例を示す説明図である。図9に示すように、外部メモリ9の第2の領域63には、複数のD1ブロックをまとめたグループ(図8においてアルファベットを付したグループ)ごとにD2ブロック64が設けられる。D2ブロック64には、D2ブロックデータが格納される。例えば、図9において「A11〜A44用D2ブロック」には、図8に示す第1の領域61においてAを付した例えば16個のD1ブロックに格納されるD1データに付随する残余データがまとめて格納される。「B11〜B44用D2ブロック」などの他のD2ブロックも同様である。第2の領域63において、各D2ブロックの位置は、複数のD1ブロックをまとめたグループごとに予め決められている。D2ブロックに割り当てられているメモリサイズは予め一定値に決められている。従って、第2の領域63において、D1ブロックに付随する残余データが格納されているD2ブロックは、一意に決定される。
FIG. 9 is an explanatory diagram of an example of the memory storage structure of the D2 block by the image processing apparatus according to the second embodiment. As shown in FIG. 9, in the second area 63 of the external memory 9, a D2 block 64 is provided for each group in which a plurality of D1 blocks are grouped (a group given an alphabet in FIG. 8). In the D2 block 64, D2 block data is stored. For example, “D2 block for A11 to A44” in FIG. 9 includes the remaining data accompanying the D1 data stored in, for example, 16 D1 blocks marked with A in the first area 61 shown in FIG. Stored. The same applies to other D2 blocks such as “D2 block for B11 to B44”. In the second area 63, the position of each D2 block is determined in advance for each group in which a plurality of D1 blocks are grouped. The memory size assigned to the D2 block is determined in advance to a constant value. Accordingly, in the second area 63, the D2 block in which the residual data associated with the D1 block is stored is uniquely determined.

図10は、実施例2にかかる画像処理装置によるD2ブロックの一例を示す説明図である。図10に示すように、D2ブロック64には、例えば各列の残余データフィールド65および各列の残余データ合計値フィールド66が設けられる。各列の残余データフィールド65には、各列の残余データが格納される。各列の残余データ合計値フィールド66には、各列の残余データの合計値RowSizeが格納される。例えばD2ブロック64が、図8においてAを付したD1ブロックに付随する残余データをまとめたものである場合を例にして説明する。図10に示すD2ブロック64において、各列の残余データフィールド65の一つである「第1列目の残余データフィールド」には、A11、A21、A31およびA41の各D1ブロックに付随する残余データが格納される。「第2列目の残余データフィールド」などの他の列の残余データフィールドも同様である。各列の残余データ合計値フィールド66の一つである「RowSize1フィールド」には、「第1列目の残余データ」に含まれるA11、A21、A31およびA41の各D1ブロックに付随する残余データのデータサイズの合計値RowSize1が格納される。「RowSize2」などの他の列の残余データ合計値フィールドも同様である。   FIG. 10 is an explanatory diagram of an example of the D2 block by the image processing apparatus according to the second embodiment. As shown in FIG. 10, the D2 block 64 is provided with, for example, a residual data field 65 for each column and a residual data total value field 66 for each column. The residual data field 65 of each column stores the residual data of each column. The residual data total value field 66 of each column stores the total value RowSize of the residual data of each column. For example, the case where the D2 block 64 is a collection of the residual data associated with the D1 block marked with A in FIG. 8 will be described as an example. In the D2 block 64 shown in FIG. 10, the “residual data field in the first column”, which is one of the residual data fields 65 in each column, has residual data associated with the D1 blocks A11, A21, A31, and A41. Is stored. The same applies to the remaining data fields in the other columns such as “residual data field in second column”. In the “RowSize1 field”, which is one of the remaining data total value fields 66 of each column, the residual data associated with each D1 block of A11, A21, A31, and A41 included in the “residual data in the first column” is stored. The total value RowSize1 of the data size is stored. The same applies to the remaining data total value fields of other columns such as “RowSize2”.

例えば図8において第2列目のA12、A22、A32およびA42の各D1ブロックに残余データが付随していない場合には、D2ブロック64には該当する「第2列目の残余データフィールド」がない。「RowSize2フィールド」の値RowSize2は0となる。従って、個々のD2ブロック64において、例えば当該D2ブロック64の先頭アドレスから各列の残余データが詰められて格納されている場合、当該D2ブロック64の先頭アドレスから「RowSize1フィールド」の分だけオフセットすることにより、第2列目の残余データのアドレスを得ることができる。当該D2ブロック64の先頭アドレスから「RowSize1フィールド」+「RowSize2フィールド」の分だけオフセットすることにより、第3列目の残余データのアドレスを得ることができる。第4列目の残余データについても同様である。   For example, in FIG. 8, when there is no residual data associated with each D1 block of A12, A22, A32, and A42 in the second column, the corresponding “second column residual data field” is stored in the D2 block 64. Absent. The value RowSize2 of the “RowSize2 field” is 0. Accordingly, in the individual D2 block 64, for example, when the remaining data of each column is packed and stored from the head address of the D2 block 64, the offset is offset by “RowSize1 field” from the head address of the D2 block 64. Thus, the address of the remaining data in the second column can be obtained. By offsetting the head address of the D2 block 64 by “RowSize1 field” + “RowSize2 field”, the address of the remaining data in the third column can be obtained. The same applies to the remaining data in the fourth column.

図11は、実施例2にかかる画像処理装置による各列の残余データフィールドの一例を示す説明図である。図11に示すように、各列の残余データフィールド65には、例えば各行の残余データフィールド67、IsValidフラグフィールド68および各行の残余データのデータサイズフィールド69が格納される。例えば各列の残余データフィールド65が、図8においてA11、A21、A31およびA41の各D1ブロック、すなわちAを付したグループの第1列目を対象にしている場合を例にして説明する。図11に示す各列の残余データフィールド65において、各行の残余データフィールド67の一つである「第1行目の残余データフィールド」には、第1行目のA11のD1ブロックに付随する残余データが格納される。「第2行目の残余データフィールド」などの他の行の残余データフィールドも同様である。   FIG. 11 is an explanatory diagram of an example of the residual data field of each column by the image processing apparatus according to the second embodiment. As shown in FIG. 11, the residual data field 65 of each column stores, for example, a residual data field 67 of each row, an IsValid flag field 68, and a data size field 69 of residual data of each row. For example, a case will be described as an example where the remaining data field 65 of each column is targeted for each D1 block of A11, A21, A31, and A41 in FIG. 8, that is, the first column of the group to which A is attached. In the residual data field 65 of each column shown in FIG. 11, the “residual data field of the first row”, which is one of the residual data fields 67 of each row, has a residual associated with the D1 block of A11 of the first row. Data is stored. The same applies to the remaining data fields in other rows such as “residual data field in second row”.

IsValidフラグフィールド68には、IsValidフラグが格納される。IsValidフラグは、各列内の各行のD1ブロックに残余データが付随しているか否かを示す。IsValidフラグフィールド68のビット数は予め決められている。例えばA11、A21およびA41の各D1ブロックには残余データが付随しているが、A31のD1ブロックには残余データが付随していない場合、IsValidフラグフィールド68の値は1101となる。この場合、各列の残余データフィールド65において、第3行目の残余データはなく、第2行目の残余データの後に第4行目の残余データが詰めて配置される。   The IsValid flag field 68 stores an IsValid flag. The IsValid flag indicates whether or not residual data is attached to the D1 block of each row in each column. The number of bits in the IsValid flag field 68 is determined in advance. For example, if the D1 blocks A11, A21, and A41 are accompanied by residual data, but the D1 block of A31 is not accompanied by residual data, the value of the IsValid flag field 68 is 1101. In this case, in the residual data field 65 of each column, there is no residual data in the third row, and the residual data in the fourth row is arranged after the residual data in the second row.

各行の残余データのデータサイズフィールド69には、各行の残余データのデータサイズDiffSizeが、第1行目の残余データのデータサイズ、第2行目の残余データのデータサイズ、第3行目の残余データのデータサイズおよび第4行目の残余データのデータサイズの順に例えばバイト単位で格納される。残余データがない行については、各行の残余データのデータサイズフィールド69にデータサイズが格納されない。残余データが存在する行のサイズを示すためのビット数は予め決められている。   In the data size field 69 of the residual data of each row, the data size DiffSize of the residual data of each row includes the data size of the residual data of the first row, the data size of the residual data of the second row, and the residual of the third row. The data size is stored, for example, in units of bytes in the order of the data size of the data and the data size of the remaining data in the fourth row. For the lines with no residual data, the data size is not stored in the data size field 69 of the residual data of each line. The number of bits for indicating the size of the row in which the remaining data exists is determined in advance.

従って、個々の各列の残余データフィールド65において、例えば当該フィールドの先頭アドレスから「IsValidフラグフィールド」+「各行の残余データのデータサイズフィールド」の分だけオフセットすることにより、第1行目の残余データのアドレスを得ることができる。当該各列の残余データフィールド65の先頭アドレスから「IsValidフラグフィールド」+「各行の残余データのデータサイズフィールド」+「第1行目の残余データのデータサイズ」の分だけオフセットすることにより、第2行目の残余データのアドレスを得ることができる。第3行目の残余データや第4行目の残余データについても同様である。   Accordingly, in the residual data field 65 of each individual column, for example, by offsetting by “IsValid flag field” + “data size field of residual data in each row” from the start address of the field, the residual in the first row The address of the data can be obtained. By offsetting from the head address of the residual data field 65 of each column by “IsValid flag field” + “data size field of residual data of each row” + “data size of residual data of the first row”, The address of the remaining data on the second row can be obtained. The same applies to the remaining data on the third row and the remaining data on the fourth row.

上述した構成で外部メモリ9にD1ブロックおよびD2ブロックが設けられることによって、あるD1ブロックに対して、該D1ブロックに付随する残余データが格納されているD2ブロックが一意に決まり、該D2ブロックにおいて所望の残余データを含む列が一意に決まり、該列において所望の残余データが一意に決まる。つまり、外部メモリ9において、あるD1ブロックに対応する残余データの格納位置が一意に決まる。なお、D2ブロックにおいて各列で残余データをまとめる代わりに、各行で残余データをまとめる構成としてもよい。   By providing the D1 block and the D2 block in the external memory 9 with the above-described configuration, the D2 block storing the residual data associated with the D1 block is uniquely determined for the D1 block. A column including the desired residual data is uniquely determined, and the desired residual data is uniquely determined in the column. That is, in the external memory 9, the storage position of the residual data corresponding to a certain D1 block is uniquely determined. In the D2 block, instead of collecting the residual data in each column, the remaining data may be combined in each row.

・D2テーブルのメモリ格納構造
図12は、実施例2にかかる画像処理装置によるD2テーブルのメモリ格納構造の一例を示す説明図である。図12に示すように、D2テーブル71には、D2ブロックごとにD2テーブルエントリフィールド72が設けられる。D2テーブルエントリフィールド72には、D2テーブルエントリデータが格納される。D2テーブルエントリデータは、例えばD2サイズ情報を含む。外部メモリ9において、各D2テーブルエントリフィールド72の位置は予め決められている。外部メモリ9において、各D2テーブルエントリフィールド72に割り当てられているメモリサイズは予め一定値に決められている。従って、外部メモリ9において、D2ブロックに対応するD2テーブルエントリデータが一意に決定される。
FIG. 12 is an explanatory diagram of an example of a memory storage structure of the D2 table by the image processing apparatus according to the second embodiment. As shown in FIG. 12, the D2 table 71 is provided with a D2 table entry field 72 for each D2 block. The D2 table entry field 72 stores D2 table entry data. The D2 table entry data includes, for example, D2 size information. In the external memory 9, the position of each D2 table entry field 72 is determined in advance. In the external memory 9, the memory size assigned to each D2 table entry field 72 is determined in advance to a constant value. Therefore, in the external memory 9, the D2 table entry data corresponding to the D2 block is uniquely determined.

図13は、実施例2にかかる画像処理装置によるD2テーブルエントリフィールドの一例を示す説明図である。図13に示すように、各D2テーブルエントリフィールド72には、例えばD2ブロックのデータサイズフィールド73およびIsValidRowフラグフィールド74が設けられる。D2ブロックのデータサイズフィールド73には、D2ブロックのデータサイズD2Sizeが格納される。D2ブロックのデータサイズD2Sizeは、図10に示すD2ブロック64において、各列の残余データフィールド65と各列の残余データ合計値フィールド66の合計値である。従って、D2ブロックのデータサイズD2Sizeの値が、D2ブロック64に残余データが格納されていない場合の値に等しければ、圧縮データを復号する(非圧縮データの場合には復号しない)際にD2ブロックのデータを読み出す必要がない。なお、D2ブロックのデータサイズD2Sizeは、図10に示すD2ブロック64において、各列の残余データフィールド65の合計値であってもよい。   FIG. 13 is an explanatory diagram of an example of the D2 table entry field by the image processing apparatus according to the second embodiment. As shown in FIG. 13, in each D2 table entry field 72, for example, a data size field 73 and an IsValidRow flag field 74 of a D2 block are provided. In the data size field 73 of the D2 block, the data size D2Size of the D2 block is stored. The data size D2Size of the D2 block is the total value of the residual data field 65 of each column and the residual data total value field 66 of each column in the D2 block 64 shown in FIG. Therefore, if the value of the data size D2Size of the D2 block is equal to the value when the residual data is not stored in the D2 block 64, the compressed data is decoded (not decoded in the case of non-compressed data). There is no need to read the data. Note that the data size D2Size of the D2 block may be the total value of the remaining data field 65 of each column in the D2 block 64 shown in FIG.

IsValidRowフラグフィールド74には、IsValidRowフラグが格納される。IsValidRowフラグは、D2ブロック64の各列においてD1ブロックに残余データが付随しているか否かを示す。例えば図8においてAを付したグループの第1列目と第2列目を例にして説明する。第1列目のD1ブロック(A11、A21、A31、A41)のいずれかに残余データが付随している場合、Aを付したグループに対応するD2テーブルエントリフィールド72のIsValidRowフラグフィールド74において、第1列目に対応する値が1となる。第2列目のD1ブロック(A12、A22、A32、A42)のいずれにも残余データが付随していない場合、Aを付したグループに対応するD2テーブルエントリフィールド72のIsValidRowフラグフィールド74において、第2列目に対応する値が0となる。第3列目および第4列目についても同様である。従って、IsValidRowフラグフィールド74の各ビットが0であれば、圧縮データを復号する(非圧縮データの場合には復号しない)際にD2ブロックのデータを読み出す必要がない。   The IsValidRow flag field 74 stores an IsValidRow flag. The IsValidRow flag indicates whether or not residual data is attached to the D1 block in each column of the D2 block 64. For example, description will be given by taking the first column and the second column of the group with A in FIG. 8 as an example. When residual data is attached to any of the D1 blocks (A11, A21, A31, A41) in the first column, in the IsValidRow flag field 74 of the D2 table entry field 72 corresponding to the group to which A is attached, The value corresponding to the first column is 1. In the case where none of the D1 blocks (A12, A22, A32, A42) in the second column is accompanied by residual data, in the IsValidRow flag field 74 of the D2 table entry field 72 corresponding to the group to which A is attached, The value corresponding to the second column is 0. The same applies to the third column and the fourth column. Therefore, if each bit of the IsValidRow flag field 74 is 0, it is not necessary to read the data of the D2 block when decoding the compressed data (not decoding in the case of non-compressed data).

なお、D2テーブルエントリフィールド72にはD2ブロックのデータサイズD2Sizeが格納されていればよいが、IsValidRowフラグやその他の情報が付加されていてもよい。その他の情報の一例として、例えばD2ブロック64の各行においてD1ブロックに残余データが付随しているか否かを示すフラグや、各D1ブロック62に残余データが付随しているか否かを示すフラグなどが挙げられる。図13に示すように、D2テーブルエントリフィールド72にD2ブロックのデータサイズD2SizeとIsValidRowフラグとが格納されている場合には、D2ブロックのデータを読み出す必要があるか否かを判定する際に、どちらを確認してもよい。テーブルキャッシュ28(図3参照)には、一部のD2テーブルエントリフィールド72のデータをキャッシュするようにしてもよいし、全てのD2テーブルエントリフィールド72のデータをキャッシュするようにしてもよい。また、テーブルキャッシュ28に、D2テーブルエントリフィールド72のうちの一部のデータ、例えばD2ブロックのデータサイズD2Sizeのみをキャッシュするようにしてもよい。   The D2 table entry field 72 only needs to store the data size D2Size of the D2 block, but an IsValidRow flag or other information may be added. Examples of other information include, for example, a flag indicating whether or not residual data is attached to the D1 block in each row of the D2 block 64, a flag indicating whether or not residual data is attached to each D1 block 62, and the like. Can be mentioned. As shown in FIG. 13, when the data size D2Size of the D2 block and the IsValidRow flag are stored in the D2 table entry field 72, when determining whether it is necessary to read the data of the D2 block, Either may be confirmed. In the table cache 28 (see FIG. 3), some data of the D2 table entry field 72 may be cached, or all the data of the D2 table entry field 72 may be cached. Alternatively, only a part of the data in the D2 table entry field 72, for example, the data size D2Size of the D2 block may be cached in the table cache 28.

・データの書込み処理
図14は、実施例2にかかる画像処理装置によるデータの書込み手順の一例を示すフローチャートである。図14に示すように、外部メモリ9へのデータの書込み処理が開始されると、まず、圧縮処理部1は、1回の書込みリクエストが終了するまで画像格納部11に矩形状の入力画像のデータを順に格納する(ステップS11、ステップS12:No)。1回の書込みリクエストが終了したら(ステップS12:Yes)、圧縮処理部1は、画像格納部11に格納した入力画像のデータを例えば8画素×2画素の小領域に分割し、小領域の画像データを読み出す(ステップS13)。
FIG. 14 is a flowchart of an example of a data writing procedure performed by the image processing apparatus according to the second embodiment. As shown in FIG. 14, when the writing process of data to the external memory 9 is started, first, the compression processing unit 1 stores a rectangular input image in the image storage unit 11 until one writing request is completed. Data is stored in order (step S11, step S12: No). When one writing request is completed (step S12: Yes), the compression processing unit 1 divides the input image data stored in the image storage unit 11 into, for example, small regions of 8 pixels × 2 pixels, and images of the small regions Data is read (step S13).

次いで、圧縮処理部1は、可変長符号化部12により圧縮モード(非圧縮モードを含む)を選択する(ステップS14)。圧縮処理部1は、可変長符号化部12により、選択したモードで小領域の画像データを圧縮する(非圧縮の場合を含む)。圧縮処理部1は、データ構築部13により、D1データおよび残余データを生成する(ステップS15)。圧縮処理部1は、生成したD1データおよび残余データを圧縮データ格納部14に格納する。このとき、圧縮処理部1は、データ構築部13により残余データのデータサイズ(DiffSize)を求める。この残余データのデータサイズは、外部メモリ9にD2ブロックデータを書き込む際に、各行の残余データのデータサイズフィールド69に格納される(図11参照)。   Next, the compression processing unit 1 selects a compression mode (including a non-compression mode) by the variable length encoding unit 12 (step S14). The compression processing unit 1 uses the variable length encoding unit 12 to compress the small area image data in the selected mode (including the case of non-compression). In the compression processing unit 1, the data construction unit 13 generates D1 data and residual data (step S15). The compression processing unit 1 stores the generated D1 data and residual data in the compressed data storage unit 14. At this time, the compression processing unit 1 obtains the data size (DiffSize) of the remaining data by the data construction unit 13. The data size of the residual data is stored in the data size field 69 of the residual data in each row when the D2 block data is written in the external memory 9 (see FIG. 11).

図8に示す例において同一のアルファベットを付したグループの1列分の小領域についてD1データおよび残余データの生成が終了するまで(ステップS16:No)、圧縮処理部1はステップS14からステップS16までを繰り返す。図8に示す例において同一のアルファベットを付したグループの1列分の小領域について処理が終了したら(ステップS16:Yes)、圧縮処理部1は、データ構築部13により、その列について残余データの合計値(RowSize)と、IsValidRowフラグの対応するビットを生成する(ステップS17、図13参照)。残余データの合計値は、1列分の小領域についての処理が終了するまでにステップS15において求めた残余データのデータサイズ(DiffSize)を合計したものである。残余データの合計値は、外部メモリ9にD2ブロックデータを書き込む際に、各列の残余データ合計値フィールド66に格納される(図10参照)。IsValidRowフラグのビットは、外部メモリ9にD2サイズ情報を書き込む際に、対応するD2テーブルエントリフィールド72に格納される(図13参照)。   In the example shown in FIG. 8, the compression processing unit 1 performs steps S14 to S16 until the generation of the D1 data and the residual data is completed for the small region for one column of the group with the same alphabet (step S16: No). repeat. In the example shown in FIG. 8, when the processing is completed for the small region for one column of the group with the same alphabet (step S16: Yes), the compression processing unit 1 uses the data construction unit 13 to store the remaining data for the column. A bit corresponding to the total value (RowSize) and the IsValidRow flag is generated (step S17, see FIG. 13). The total value of the residual data is the total of the data size (DiffSize) of the residual data obtained in step S15 until the processing for the small area for one column is completed. The total value of the residual data is stored in the residual data total value field 66 of each column when the D2 block data is written to the external memory 9 (see FIG. 10). The bits of the IsValidRow flag are stored in the corresponding D2 table entry field 72 when the D2 size information is written in the external memory 9 (see FIG. 13).

図8に示す例において同一のアルファベットを付したグループの全列分の小領域について処理が終了するまで(ステップS18:No)、圧縮処理部1はステップS13からステップS18までを繰り返す。図8に示す例において同一のアルファベットを付したグループの全列分の小領域について処理が終了したら(ステップS18:Yes)、圧縮処理部1は、外部メモリ9にD1ブロックデータを書込む(ステップS19)。   In the example shown in FIG. 8, the compression processing unit 1 repeats steps S13 to S18 until the processing is completed for the small regions for all the columns of the group given the same alphabet (step S18: No). In the example shown in FIG. 8, when the processing is completed for the small regions for all the columns of the group with the same alphabet (step S18: Yes), the compression processing unit 1 writes the D1 block data in the external memory 9 (step S18). S19).

また、圧縮データ格納部14に、1個のD2ブロックデータを構築するのに必要な全ての残余データが揃ったら(ステップS20:Yes)、圧縮処理部1は、データ構築部13によりそのD2ブロックデータのデータサイズ(D2Size)を求める。D2ブロックのデータサイズは、外部メモリ9にD2サイズ情報を書き込む際に、D2ブロックのデータサイズフィールド73に格納される(図13参照)。また、圧縮処理部1は、データ構築部13により、対応するD2テーブルエントリのデータと、ステップS17で求めた残余データの合計値(RowSize)に基づいてD2ヘッダを生成する(ステップS21)。D2ヘッダは、例えば図10に示すD2ブロック64において、各列の残余データ合計値フィールド66を含む。D2ヘッダと1個のD2ブロックを構築するのに必要な全ての残余データとによって、D2ブロックが構築される。圧縮処理部1は、外部メモリ9にD2ブロックデータおよび対応するD2テーブルエントリのデータを書込み(ステップS22)、処理を終了する。なお、外部メモリ9にD2テーブルエントリのデータを書き込む際に、複数のD2ブロック分のデータをまとめて書き込むようにしてもよい。この場合、外部メモリ9への書込みリクエストの回数が減るので、好ましい。   When the compressed data storage unit 14 has all the remaining data necessary for constructing one D2 block data (step S20: Yes), the compression processing unit 1 causes the data construction unit 13 to execute the D2 block. The data size (D2Size) of data is obtained. The data size of the D2 block is stored in the data size field 73 of the D2 block when the D2 size information is written in the external memory 9 (see FIG. 13). In addition, the compression processing unit 1 causes the data construction unit 13 to generate a D2 header based on the data of the corresponding D2 table entry and the total value (RowSize) of the residual data obtained in step S17 (step S21). For example, in the D2 block 64 shown in FIG. 10, the D2 header includes a residual data total value field 66 of each column. The D2 block is constructed by the D2 header and all the remaining data necessary for constructing one D2 block. The compression processing unit 1 writes the D2 block data and the corresponding D2 table entry data in the external memory 9 (step S22), and ends the process. Note that when writing data of the D2 table entry in the external memory 9, data for a plurality of D2 blocks may be written together. This is preferable because the number of write requests to the external memory 9 is reduced.

・データの読出し処理
図15は、実施例2にかかる画像処理装置によるデータの読出し手順の一例を示すフローチャートである。図15に示すように、外部メモリ9からのデータの読出し処理が開始されると、まず、展開部7は、読出しリクエストで指定された画像の領域に対応する全てのD1ブロックを求め、D1読出し部21により外部メモリ9から必要なD1ブロックのデータを全て読み出す(ステップS31)。また、展開部7は、D2テーブルキャッシュ制御部22により、読出しリクエストで指定された画像の領域に対応するD2テーブルエントリのデータがテーブルキャッシュ28に格納されているか否かを確認し(ステップS32)、格納されていない場合(ステップS32:No)、外部メモリ9から所望のD2テーブルエントリのデータを読み出す(ステップS33)。
Data Reading Process FIG. 15 is a flowchart of an example of a data reading procedure performed by the image processing apparatus according to the second embodiment. As shown in FIG. 15, when the process of reading data from the external memory 9 is started, the developing unit 7 first obtains all D1 blocks corresponding to the image area specified by the read request, and reads D1. The unit 21 reads all necessary D1 block data from the external memory 9 (step S31). Further, the expansion unit 7 checks whether the data of the D2 table entry corresponding to the image area specified by the read request is stored in the table cache 28 by the D2 table cache control unit 22 (step S32). If not stored (step S32: No), the data of the desired D2 table entry is read from the external memory 9 (step S33).

次いで、展開部7は、D2読出し判定部23により、テーブルキャッシュ28または外部メモリ9から与えられたD2テーブルエントリのデータに含まれているD2ブロックのデータサイズD2SizeまたはIsValidRowフラグを参照し、D2ブロックのデータを読み出す必要があるか否かを判定する。ここでは、D2ブロックのデータを読み出す必要があるとして説明する。展開部7は、D2ブロックキャッシュ制御部24により、読み出す必要のあるD2ブロックのデータがD2キャッシュ29に格納さているか否かを確認し(ステップS34)、格納されていない場合(ステップS34:No)、外部メモリ9から所望のD2ブロックのデータを読み出す(ステップS35)。   Next, the expansion unit 7 refers to the data size D2Size or IsValidRow flag of the D2 block included in the data of the D2 table entry given from the table cache 28 or the external memory 9 by the D2 read determination unit 23, and the D2 block It is determined whether it is necessary to read the data. Here, description will be made assuming that the data of the D2 block needs to be read. The expansion unit 7 checks whether or not the data of the D2 block that needs to be read is stored in the D2 cache 29 by the D2 block cache control unit 24 (step S34), and if not stored (step S34: No) Then, the desired D2 block data is read from the external memory 9 (step S35).

次いで、展開部7は、残余データ取得部25により、D2ブロックの残余データ合計値RowSizeに基づいて所望の残余データを含む列の残余データフィールド65(図10参照)のアドレスを計算する。これによって、所望の残余データを含む列が得られる(ステップS36)。次いで、展開部7は、残余データ取得部25により、各列のデータのIsValidフラグと残余データのデータサイズDiffSizeとから、所望の残余データのアドレスを取得する(図11参照)。これによって、所望の残余データが得られる(ステップS37)。1列分の残余データを取得し終わるまで(ステップS38:No)、展開部7はステップS37からステップS38までを繰り返す。1列分の残余データを取得し終えたら(ステップS38:Yes)、復号に必要な全ての列の残余データを取得し終わるまで(ステップS39:No)、展開部7はステップS36からステップS39までを繰り返す。   Next, the expansion unit 7 uses the residual data acquisition unit 25 to calculate the address of the residual data field 65 (see FIG. 10) of the column including the desired residual data based on the residual data total value RowSize of the D2 block. Thus, a column including desired residual data is obtained (step S36). Next, the expansion unit 7 uses the residual data acquisition unit 25 to acquire the address of the desired residual data from the IsValid flag of the data in each column and the data size DiffSize of the residual data (see FIG. 11). Thereby, desired residual data is obtained (step S37). Until the remaining data for one column is obtained (step S38: No), the developing unit 7 repeats steps S37 to S38. When the acquisition of the residual data for one column is complete (step S38: Yes), the expansion unit 7 performs steps S36 to S39 until the acquisition of the residual data for all the columns necessary for decoding is completed (step S39: No). repeat.

復号に必要な全ての列の残余データを取得し終えたら(ステップS39:Yes)、展開部7は、可変長復号部26によりD1ブロックのデータと復号に必要な残余データとを結合し、例えば8画素×2画素単位の圧縮データ(非圧縮データの場合を含む)を生成する(ステップS40)。そして、展開部7は、可変長復号部26により圧縮データを復号する(非圧縮データの場合には復号しない、ステップS41)。展開部7は、復号した画素データを画像格納部27に格納する。読出しリクエストで指定された画像の領域について、全ての圧縮データが展開されるまで(ステップS42:No)、展開部7はステップS41からステップS42までを繰り返す。全ての圧縮データが展開されたら(ステップS42:Yes)、展開部7は画素データをエンコーダ2へ転送し(ステップS43)、処理を終了する。なお、ステップS41において、複数の圧縮データを復号する処理を並列に行ってもよい。また、ステップS41の圧縮データを復号する処理と、ステップS35の外部メモリ9からD2ブロックのデータを読み出す処理や、ステップS36の所望の残余データを含む列を取得する処理や、ステップS37の所望の残余データを取得する処理と、を並列に行ってもよい。   When the acquisition of the residual data of all the columns necessary for decoding is completed (step S39: Yes), the decompressing unit 7 combines the data of the D1 block with the residual data necessary for decoding by the variable length decoding unit 26, for example, Compressed data (including uncompressed data) in units of 8 pixels × 2 pixels is generated (step S40). Then, the decompressing unit 7 decodes the compressed data by the variable length decoding unit 26 (in the case of non-compressed data, the decoding is not performed, step S41). The expansion unit 7 stores the decoded pixel data in the image storage unit 27. The decompressing unit 7 repeats steps S41 to S42 until all the compressed data is decompressed for the area of the image designated by the read request (step S42: No). When all the compressed data are expanded (step S42: Yes), the expansion unit 7 transfers the pixel data to the encoder 2 (step S43), and ends the process. In step S41, a process of decoding a plurality of compressed data may be performed in parallel. In addition, the process of decoding the compressed data in step S41, the process of reading the data of the D2 block from the external memory 9 in step S35, the process of acquiring a column including the desired residual data in step S36, the desired process in step S37 You may perform in parallel with the process which acquires residual data.

実施例2によれば、実施例1と同様の効果が得られる。例えば、1画素の画素値を8ビットで表し、8画素×2画素の領域を小領域とし、D1ブロックのメモリサイズを8バイトした場合の読出し処理におけるメモリ帯域の削減効果は、次の通りである。図16に示すように、読出しリクエストで指定された画像の領域81(太線で囲む領域)が小領域82の境界と一致する場合、読出しリクエストで指定された画像の領域81の128画素分のデータは非圧縮の場合で128バイトとなる。それに対して、実施例2においてD2ブロックのデータを読み出す必要がない場合、読出しリクエストで指定された画像の領域81の128画素分のデータ(D1ブロック8個分のデータ)は64バイト(=8バイト×8個)である。従って、実施例2によれば、メモリ帯域を50%削減することができる。また、図17に示すように、読出しリクエストで指定された画像の領域81(太線で囲む領域)が小領域82の境界と一致しない場合、読出しリクエストで指定された画像の領域81の128画素分のデータを読み出すには、12個分のD1ブロックのデータを読み出す必要がある。12個分のD1ブロックのデータは96バイト(=8バイト×12個)であるので、実施例2においてD2ブロックのデータの読出しが不要であれば、メモリ帯域を25%削減することができる。   According to the second embodiment, the same effect as the first embodiment can be obtained. For example, when the pixel value of one pixel is represented by 8 bits, the area of 8 pixels × 2 pixels is a small area, and the memory size of the D1 block is 8 bytes, the memory band reduction effect in the reading process is as follows: is there. As shown in FIG. 16, when the image area 81 (area surrounded by a thick line) specified by the read request coincides with the boundary of the small area 82, the data for 128 pixels of the image area 81 specified by the read request. Is 128 bytes in the uncompressed case. On the other hand, when it is not necessary to read out the data of the D2 block in the second embodiment, the data for 128 pixels in the image area 81 specified by the read request (data for eight D1 blocks) is 64 bytes (= 8 8 bytes). Therefore, according to the second embodiment, the memory bandwidth can be reduced by 50%. Also, as shown in FIG. 17, when the image area 81 (area surrounded by a thick line) specified by the read request does not coincide with the boundary of the small area 82, 128 pixels of the image area 81 specified by the read request. In order to read out the data, it is necessary to read out data of 12 D1 blocks. Since the data of the 12 D1 blocks is 96 bytes (= 8 bytes × 12), if it is not necessary to read the data of the D2 block in the second embodiment, the memory bandwidth can be reduced by 25%.

(実施例3)
実施例3は、実施例2において、ある小領域の圧縮データ(非圧縮データの場合を含む)の残余データを、メモリのD2ブロックに格納するとともに、該小領域に隣接する小領域に対応するD1ブロックの未使用領域にも格納するものである。実施例3は、データの書込み処理においてD1ブロックデータを生成する際の処理の一部や、データの読出し処理においてD2ブロックのデータを読み出す際の処理の一部が実施例2とは異なるが、実施例3のその他の構成や処理は実施例2と同様である。以下に、実施例2と異なる点についてのみ説明する。
(Example 3)
The third embodiment stores the remaining data of compressed data (including the case of non-compressed data) of a certain small area in the D2 block of the memory and corresponds to the small area adjacent to the small area in the second embodiment. It is also stored in the unused area of the D1 block. The third embodiment is different from the second embodiment in part of the process when generating the D1 block data in the data writing process and part of the process in reading the data of the D2 block in the data reading process. Other configurations and processes of the third embodiment are the same as those of the second embodiment. Only differences from the second embodiment will be described below.

図18は、実施例3にかかる画像処理装置におけるデータ格納方法を説明する説明図である。図18において、上側の図91は、各小領域の圧縮データ(非圧縮データの場合を含む)の状態を示す模式図である。図18に示すように、実施例3では、ある小領域の圧縮データ(非圧縮データの場合を含む)の残余データ92,93,94,95,96,97は、外部メモリ9の第1の領域61において隣接する小領域に対応するD1ブロックの未使用領域にも格納される。図18に示す例では、ある小領域の残余データ92,93,94,95,96,97は、下側に隣接する小領域に対応するD1ブロックに格納されているが、下側に限らず、上側でもよいし、左側でもよいし、右側でもよい。   FIG. 18 is an explanatory diagram illustrating a data storage method in the image processing apparatus according to the third embodiment. In FIG. 18, FIG. 91 on the upper side is a schematic diagram showing a state of compressed data (including uncompressed data) in each small area. As shown in FIG. 18, in the third embodiment, the remaining data 92, 93, 94, 95, 96, 97 of compressed data (including non-compressed data) in a certain small area is stored in the first memory of the external memory 9. In the area 61, it is also stored in the unused area of the D1 block corresponding to the adjacent small area. In the example shown in FIG. 18, the residual data 92, 93, 94, 95, 96, 97 of a certain small area is stored in the D1 block corresponding to the small area adjacent to the lower side, but not limited to the lower side. The upper side, the left side, or the right side may be used.

図19は、図18の上側に示す各小領域の圧縮データ(非圧縮データの場合を含む)の状態に対応するIsValidフラグを示す図表である。図19に示す図表101において、図18に示す各小領域の圧縮データ(非圧縮データの場合を含む)の模式図91との対応関係は、上から下に向かって1行目、2行目、・・・であり、左から右に向かって1列目、2列目、・・・である。図示例では、残余データがあるとIsValidフラグは1であり、残余データがないとIsValidフラグは0である。   FIG. 19 is a chart showing IsValid flags corresponding to the state of compressed data (including the case of non-compressed data) in each small area shown in the upper side of FIG. In the chart 101 shown in FIG. 19, the correspondence relationship between the compressed data (including the case of non-compressed data) of each small region shown in FIG. , And so on, from the left to the right, the first row, the second row, and so on. In the illustrated example, the IsValid flag is 1 when there is residual data, and the IsValid flag is 0 when there is no residual data.

図20は、図18の下側に示す外部メモリの第1の領域の状態に対応するIsNeighborフラグを示す図表である。IsNeighborフラグは、D1ブロックに、該D1ブロックに対応する小領域に隣接する小領域の残余データを格納しているか否かを示す。図示例では、隣接する小領域の残余データを格納しているとIsNeighborフラグは1であり、隣接する小領域の残余データを格納していないとIsNeighborフラグは0である。図20に示す図表102において、図18に示す第1の領域61の状態との対応関係は、上から下に向かって1行目、2行目、・・・であり、左から右に向かって1列目、2列目、・・・である。IsNeighborフラグは、例えばD2テーブル71のD2テーブルエントリフィールド72に格納される(図12参照)。IsValidフラグは、例えばD2テーブル71のD2テーブルエントリフィールド72にも格納されてもよい。   FIG. 20 is a chart showing the IsNeighbor flag corresponding to the state of the first area of the external memory shown on the lower side of FIG. The IsNeighbor flag indicates whether or not residual data of a small area adjacent to the small area corresponding to the D1 block is stored in the D1 block. In the illustrated example, the IsNeighbor flag is 1 if the residual data of the adjacent small area is stored, and the IsNeighbor flag is 0 if the residual data of the adjacent small area is not stored. In the chart 102 shown in FIG. 20, the correspondence with the state of the first area 61 shown in FIG. 18 is the first line, the second line,... From the top to the bottom, from the left to the right. The first row, the second row, and so on. For example, the IsNeighbor flag is stored in the D2 table entry field 72 of the D2 table 71 (see FIG. 12). The IsValid flag may be stored in the D2 table entry field 72 of the D2 table 71, for example.

・データの書込み処理
図21は、実施例3にかかる画像処理装置によるデータの書込み手順の一例を示すフローチャートである。図21に示すように、処理が開始されると、まず、圧縮処理部1は、実施例2でのデータ書込み処理のステップS15までと同様にして、小領域の画像データを圧縮する(非圧縮の場合を含む、ステップS51)。このときに処理されている小領域を自小領域とする。次いで、圧縮処理部1は、データ構築部13により、自小領域の圧縮データ(非圧縮データの場合を含む)のデータサイズが自小領域に対応する外部メモリ9のD1ブロックのメモリサイズ以下であるか否かを判定する(ステップS52)。
Data Writing Process FIG. 21 is a flowchart of an example of a data writing procedure performed by the image processing apparatus according to the third embodiment. As shown in FIG. 21, when the process is started, first, the compression processing unit 1 compresses the image data in the small area (uncompressed) in the same manner as in step S15 of the data writing process in the second embodiment. Including step S51). The small area processed at this time is set as a self-small area. Next, the compression processing unit 1 uses the data construction unit 13 to reduce the data size of the compressed data (including the case of non-compressed data) in its own small area to be equal to or smaller than the memory size of the D1 block of the external memory 9 corresponding to the self-small area. It is determined whether or not there is (step S52).

データサイズがD1ブロックのメモリサイズ以下である場合(ステップS52:Yes)、自小領域に対応するD1ブロックには未使用領域が存在する。従って、圧縮処理部1は、データ構築部13により自小領域に対応するIsValidフラグを0とし(ステップS53)、自小領域の例えば上側(図18の例)に隣接する小領域の圧縮データ(非圧縮データの場合を含む)に残余データがあるか否かを判定する(ステップS54)。該当する残余データがある場合(ステップS54:Yes)、圧縮処理部1は、データ構築部13により、自小領域に対応するD1ブロックの未使用領域に、隣接する小領域の残余データを格納可能であるか否かを判定する(ステップS55)。   When the data size is equal to or smaller than the memory size of the D1 block (step S52: Yes), there is an unused area in the D1 block corresponding to the self-small area. Therefore, the compression processing unit 1 sets the IsValid flag corresponding to the self-small region to 0 by the data construction unit 13 (step S53), and compresses the compressed data of the small region adjacent to, for example, the upper side (example in FIG. 18) of the self-small region. It is determined whether or not there is residual data (including the case of uncompressed data) (step S54). When there is corresponding residual data (step S54: Yes), the compression processing unit 1 can store the residual data of the adjacent small area in the unused area of the D1 block corresponding to the small area by the data construction unit 13. It is determined whether or not (step S55).

格納可能である場合(ステップS55:Yes)、圧縮処理部1は、データ構築部13により、自小領域の圧縮データ(非圧縮データの場合を含む)と隣接する小領域の残余データとを合わせてD1ブロックデータを生成し(ステップS56)、自小領域に対応するIsNeighborフラグを1とする(ステップS57)。該当する残余データがないか(ステップS54:No)、あってもデータサイズが大きくて未使用領域に格納できない場合(ステップS55:No)、圧縮処理部1は、データ構築部13により、自小領域の圧縮データ(非圧縮データの場合を含む)でD1ブロックデータを生成し(ステップS58)、自小領域に対応するIsNeighborフラグを0とする(ステップS59)。   When the data can be stored (step S55: Yes), the compression processing unit 1 uses the data construction unit 13 to combine the compressed data of the small area (including the case of non-compressed data) with the residual data of the adjacent small area. D1 block data is generated (step S56), and the IsNeighbor flag corresponding to the self-small area is set to 1 (step S57). If there is no corresponding residual data (step S54: No), or if the data size is large and cannot be stored in the unused area (step S55: No), the compression processing unit 1 uses the data construction unit 13 to reduce the size of the data. D1 block data is generated from the compressed data of the area (including the case of non-compressed data) (step S58), and the IsNeighbor flag corresponding to the self-small area is set to 0 (step S59).

一方、圧縮データ(非圧縮データの場合を含む)のデータサイズが外部メモリ9のD1ブロックのメモリサイズよりも大きい場合(ステップS52:No)、圧縮処理部1は、データ構築部13により自小領域に対応するIsValidフラグを1とし、自小領域に対応するIsNeighborフラグを0とする(ステップS60)。圧縮処理部1は、データ構築部13により、自小領域の圧縮データ(非圧縮データの場合を含む)をD1データと残余データに分割し、D1データでD1ブロックデータを生成する(ステップS61)。圧縮処理部1は、データ構築部13により残余データをD2ブロックデータに追加する(ステップS62)。この残余データは、自小領域の例えば下側(図18の例)に隣接する小領域についてステップS51からステップS62までの処理を行う際に、その隣接する小領域に対応するD1ブロックの未使用領域に格納されることがある。圧縮処理部1は、図14に示すデータ書込み処理の手順において、書込みリクエストで指定された画像の領域に含まれる全ての小領域について上述した処理を行い、各小領域に対応するD1ブロックデータ、D2ブロックデータおよびD2サイズ情報を生成する。   On the other hand, when the data size of the compressed data (including the case of non-compressed data) is larger than the memory size of the D1 block of the external memory 9 (step S52: No), the compression processing unit 1 uses the data construction unit 13 to reduce itself. The IsValid flag corresponding to the area is set to 1, and the IsNeighbor flag corresponding to the self-small area is set to 0 (step S60). The compression processing unit 1 uses the data construction unit 13 to divide the compressed data in the small area (including the case of non-compressed data) into D1 data and residual data, and generate D1 block data using the D1 data (step S61). . The compression processing unit 1 adds the residual data to the D2 block data by the data construction unit 13 (step S62). This residual data is used when the D1 block corresponding to the adjacent small area is not used when the processes from step S51 to step S62 are performed on the small area adjacent to, for example, the lower side of the own small area (example in FIG. 18). May be stored in the area. In the data write processing procedure shown in FIG. 14, the compression processing unit 1 performs the above-described processing for all the small areas included in the image area specified by the write request, and D1 block data corresponding to each small area, D2 block data and D2 size information are generated.

・データの読出し処理
図22は、実施例3にかかる画像処理装置によるデータの読出し手順の一例を示すフローチャートである。図22に示すように、処理が開始されると、まず、展開部7は、読出しリクエストで指定された例えば矩形状の画像領域の座標およびサイズを取得する(ステップS71)。次いで、展開部7は、D2_Readフラグを0にする(ステップS72)。D2_Readフラグは、D2ブロックのデータを読み出す必要があるか否かを示す。D2_Readフラグは、例えば展開部7によって保持される。次いで、展開部7は、読出しの対象に指定された例えば矩形状の画像領域に含まれる複数の小領域の中にIsValidフラグが1である小領域が存在するか否かを判定する(ステップS73)。IsValidフラグが1である小領域には、残余データが生じている。
Data Reading Process FIG. 22 is a flowchart of an example of a data reading procedure performed by the image processing apparatus according to the third embodiment. As shown in FIG. 22, when the process is started, the developing unit 7 first acquires the coordinates and size of, for example, a rectangular image area designated by the read request (step S71). Next, the expansion unit 7 sets the D2_Read flag to 0 (step S72). The D2_Read flag indicates whether it is necessary to read data of the D2 block. The D2_Read flag is held by, for example, the development unit 7. Next, the developing unit 7 determines whether or not there is a small region whose IsValid flag is 1 among a plurality of small regions included in, for example, a rectangular image region designated as a read target (step S73). ). In the small area where the IsValid flag is 1, residual data is generated.

IsValidフラグが1である小領域が存在しない場合(ステップS73:No)、展開部7は、D2_Readフラグが1であるか否かを判定する(ステップS77)。D2_Readフラグは0であるので(ステップS77:No)、読出しの対象に指定された例えば矩形状の画像領域に含まれる複数の小領域のデータは、全てD1ブロックに格納されていることになる。従って、展開部7は、D2ブロックのデータを読み出す必要がないと判断する。   When there is no small area whose IsValid flag is 1 (step S73: No), the developing unit 7 determines whether or not the D2_Read flag is 1 (step S77). Since the D2_Read flag is 0 (step S77: No), all the data of a plurality of small areas included in, for example, a rectangular image area designated as a reading target are stored in the D1 block. Therefore, the expansion unit 7 determines that there is no need to read the data of the D2 block.

一方、IsValidフラグが1である小領域が存在する場合(ステップS73:Yes)、展開部7は、読出しの対象に指定された例えば矩形状の画像領域に含まれるIsValidフラグが1である全ての小領域について、次のステップS74からステップS76までの処理を行う。展開部7は、読出しの対象に指定された例えば矩形状の画像領域内に残余データの格納先の小領域が含まれているか否かを判定する(ステップS74)。残余データの格納先の小領域が含まれている場合(ステップS74:Yes)、展開部7は、残余データの格納先の小領域に対応するIsNeighborフラグが1であるか否かを判定する(ステップS75)。残余データの格納先の小領域が含まれていない場合(ステップS74:No)、残余データの格納先の小領域が含まれていても対応するIsNeighborフラグが0である場合(ステップS75:No)、展開部7は、D2_Readフラグを1にする(ステップS76)。   On the other hand, when there is a small area whose IsValid flag is 1 (step S73: Yes), the developing unit 7 sets all the IsValid flags that are included in, for example, a rectangular image area designated as the target of reading. The processing from the next step S74 to step S76 is performed for the small area. The developing unit 7 determines whether or not a small area where the residual data is stored is included in, for example, a rectangular image area designated as a reading target (step S74). When the small area where the residual data is stored is included (step S74: Yes), the expansion unit 7 determines whether or not the IsNeighbor flag corresponding to the small area where the residual data is stored is 1 (step S74: Yes). Step S75). When the small area of the residual data storage destination is not included (step S74: No), and the corresponding IsNeighbor flag is 0 even if the residual data storage destination small area is included (step S75: No) The expansion unit 7 sets the D2_Read flag to 1 (step S76).

読出しの対象に指定された例えば矩形状の画像領域に含まれるIsValidフラグが1である全ての小領域についてステップS74からステップS76までの処理が終了したら、展開部7は、D2_Readフラグが1であるか否かを判定する(ステップS77)。D2_Readフラグが0である場合(ステップS77:No)、読出しの対象に指定された例えば矩形状の画像領域に含まれる複数の小領域の残余データは、全てD1ブロックに格納されていることになる。従って、展開部7は、D2ブロックのデータを読み出す必要がないと判断する。D2_Readフラグが1である場合(ステップS77:Yes)、展開部7は、D2ブロックのデータを読み出すリクエストを発行し(ステップS78)、D2ブロックのデータを読み出す。   When the processing from step S74 to step S76 is completed for all the small regions whose IsValid flag is 1 included in the rectangular image region designated as the read target, for example, the expansion unit 7 has the D2_Read flag set to 1. Whether or not (step S77). When the D2_Read flag is 0 (step S77: No), all the residual data of a plurality of small areas included in the rectangular image area designated as the read target are all stored in the D1 block. . Therefore, the expansion unit 7 determines that there is no need to read the data of the D2 block. When the D2_Read flag is 1 (step S77: Yes), the expansion unit 7 issues a request for reading the data of the D2 block (step S78), and reads the data of the D2 block.

以上の処理によって展開部7がD2ブロックのデータを読み出した後の処理は、実施例2でのデータ読出し処理と同様である。ただし、D2ブロックのデータを読み出さない場合には、実施例2でのデータ読出し処理のステップS40において、自小領域に対応するD1ブロックのデータと、自小領域の例えば下側(図18の例)に隣接する小領域に対応するD1ブロックから読み出した自小領域の残余データとが結合される。   The processing after the expansion unit 7 reads the data of the D2 block by the above processing is the same as the data reading processing in the second embodiment. However, when the data of the D2 block is not read, in step S40 of the data reading process in the second embodiment, the data of the D1 block corresponding to the self-small area and the lower side of the self-small area (example in FIG. 18). ) And the remaining data of the small area read from the D1 block corresponding to the small area adjacent to ().

実施例3によれば、自小領域の残余データが、自小領域に隣接する小領域に対応するD1ブロックに格納されていることによって、自小領域に隣接する小領域に対応するD1ブロックのデータを読み出す際に、自小領域の残余データも読み出される。従って、自小領域に対応するD2ブロックのデータを読み出す必要がなくなるので、メモリ帯域を削減することができる。   According to the third embodiment, the remaining data of the self-small area is stored in the D1 block corresponding to the small area adjacent to the self-small area, so that the D1 block corresponding to the small area adjacent to the self-small area is stored. When the data is read, the remaining data in the small area is also read. Accordingly, it is not necessary to read out data of the D2 block corresponding to the self-small area, so that the memory bandwidth can be reduced.

(実施例4)
実施例4は、実施例2において、ある小領域の圧縮データ(非圧縮データの場合を含む)のD1データの一部を、該小領域に隣接する小領域に対応するD1ブロックの未使用領域にも格納するものである。隣接する小領域に対応するD1ブロックの未使用領域に書き込まれるD1データの一部を、規定データと呼ぶ。規定データのデータサイズは、例えば予め決まっていてもよい。例えば、規定データのデータサイズは、D1データの先頭の1ライン分を展開することができる分のデータサイズであってもよい。実施例4は、データの書込み処理においてD1ブロックデータを生成する際の処理の一部や、データの読出し処理においてD1ブロックのデータを読み出す際の処理の一部が実施例2とは異なるが、実施例4のその他の構成や処理は実施例2と同様である。以下に、実施例2と異なる点についてのみ説明する。
Example 4
In the fourth embodiment, a part of the D1 data of the compressed data (including the case of non-compressed data) in a certain small area is replaced with the unused area of the D1 block corresponding to the small area adjacent to the small area in the second embodiment. Is also stored. A part of the D1 data written in the unused area of the D1 block corresponding to the adjacent small area is called prescribed data. The data size of the prescribed data may be determined in advance, for example. For example, the data size of the prescribed data may be a data size that can expand the first line of D1 data. The fourth embodiment is different from the second embodiment in part of processing when generating D1 block data in the data writing process and part of processing when reading data of the D1 block in the data reading process. Other configurations and processes of the fourth embodiment are the same as those of the second embodiment. Only differences from the second embodiment will be described below.

図23は、実施例4にかかる画像処理装置におけるデータ格納方法を説明する説明図である。図23において、上側の図111は、各小領域の圧縮データ(非圧縮データの場合を含む)の状態を示す模式図である。図23に示すように、実施例4では、ある小領域の圧縮データ(非圧縮データの場合を含む)のD1データの一部112,113,114,115,116,117,118,119,120,121,122は、外部メモリ9の第1の領域61において隣接する小領域に対応するD1ブロックの未使用領域にも格納される。図23に示す例では、ある小領域のD1データの一部112,113,114,115,116,117,118,119,120,121,122は、上側に隣接する小領域に対応するD1ブロックに格納されているが、上側に限らず、下側でもよいし、左側でもよいし、右側でもよい。   FIG. 23 is an explanatory diagram illustrating a data storage method in the image processing apparatus according to the fourth embodiment. 23, FIG. 111 on the upper side is a schematic diagram showing a state of compressed data (including non-compressed data) in each small area. As shown in FIG. 23, in the fourth embodiment, a part of D1 data 112, 113, 114, 115, 116, 117, 118, 119, 120 of compressed data (including non-compressed data) in a certain small area. , 121 and 122 are also stored in the unused area of the D1 block corresponding to the adjacent small area in the first area 61 of the external memory 9. In the example shown in FIG. 23, a part of D1 data 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122 of a certain small region is a D1 block corresponding to the small region adjacent to the upper side. However, it is not limited to the upper side, and may be the lower side, the left side, or the right side.

図24は、図23の下側に示す外部メモリの第1の領域の状態に対応するIsNeighborフラグを示す図表である。IsNeighborフラグは、D1ブロックに、該D1ブロックに対応する小領域に隣接する小領域のD1データの一部を格納しているか否かを示す。図示例では、隣接する小領域のD1データを格納しているとIsNeighborフラグは1であり、隣接する小領域のD1データを格納していないとIsNeighborフラグは0である。図24に示す図表103において、図23に示す第1の領域61の状態との対応関係は、上から下に向かって1行目、2行目、・・・であり、左から右に向かって1列目、2列目、・・・である。IsNeighborフラグは、例えばD2テーブル71のD2テーブルエントリフィールド72に格納される(図12参照)。図23の上側に示す各小領域の圧縮データ(非圧縮データの場合を含む)の状態に対応するIsValidフラグの状態は、図19に示すとおりである。IsValidフラグは、例えばD2テーブル71のD2テーブルエントリフィールド72にも格納されてもよい。   FIG. 24 is a chart showing the IsNeighbor flag corresponding to the state of the first area of the external memory shown at the bottom of FIG. The IsNeighbor flag indicates whether or not a part of D1 data of a small area adjacent to the small area corresponding to the D1 block is stored in the D1 block. In the illustrated example, the IsNeighbor flag is 1 when D1 data of an adjacent small region is stored, and the IsNeighbor flag is 0 when D1 data of an adjacent small region is not stored. In the chart 103 shown in FIG. 24, the correspondence relationship with the state of the first region 61 shown in FIG. 23 is the first line, the second line,... From the top to the bottom, from the left to the right. The first row, the second row, and so on. For example, the IsNeighbor flag is stored in the D2 table entry field 72 of the D2 table 71 (see FIG. 12). The state of the IsValid flag corresponding to the state of the compressed data (including the case of non-compressed data) of each small area shown on the upper side of FIG. 23 is as shown in FIG. The IsValid flag may be stored in the D2 table entry field 72 of the D2 table 71, for example.

・データの書込み処理
図25は、実施例4にかかる画像処理装置によるデータの書込み手順の一例を示すフローチャートである。図25に示すように、処理が開始されると、まず、圧縮処理部1は、実施例2でのデータ書込み処理のステップS15までと同様にして、小領域の画像データを圧縮する(非圧縮の場合を含む、ステップS81)。このときに処理されている小領域を自小領域とする。次いで、圧縮処理部1は、データ構築部13により、自小領域の圧縮データ(非圧縮データの場合を含む)のデータサイズが自小領域に対応する外部メモリ9のD1ブロックのメモリサイズ以下であるか否かを判定する(ステップS82)。
Data Writing Process FIG. 25 is a flowchart of an example of a data writing procedure performed by the image processing apparatus according to the fourth embodiment. As shown in FIG. 25, when the processing is started, first, the compression processing unit 1 compresses the image data in the small area (uncompressed) in the same manner as in step S15 of the data write processing in the second embodiment. Step S81). The small area processed at this time is set as a self-small area. Next, the compression processing unit 1 uses the data construction unit 13 to reduce the data size of the compressed data (including the case of non-compressed data) in its own small area to be equal to or smaller than the memory size of the D1 block of the external memory 9 corresponding to the self-small area. It is determined whether or not there is (step S82).

データサイズがD1ブロックのメモリサイズ以下である場合(ステップS82:Yes)、圧縮処理部1は、データ構築部13により自小領域に対応するIsValidフラグを0とする(ステップS83)。圧縮処理部1は、データ構築部13により、自小領域に対応するD1ブロックの未使用領域に、自小領域の例えば下側(図23の例)に隣接する小領域の規定データを格納可能であるか否かを判定する(ステップS84)。   When the data size is equal to or smaller than the memory size of the D1 block (step S82: Yes), the compression processing unit 1 sets the IsValid flag corresponding to the self-small area to 0 by the data construction unit 13 (step S83). The compression processing unit 1 can store, in the unused area of the D1 block corresponding to the self-small area, the specified data of the small area adjacent to, for example, the lower side of the self-small area (example in FIG. 23) by the data construction unit 13. It is determined whether or not (step S84).

格納可能である場合(ステップS84:Yes)、圧縮処理部1は、データ構築部13により、自小領域の圧縮データ(非圧縮データの場合を含む)と隣接する小領域の規定データとを合わせてD1ブロックデータを生成し(ステップS85)、自小領域に対応するIsNeighborフラグを1とする(ステップS86)。該当する規定データのデータサイズが大きくて未使用領域に該規定データを格納できない場合(ステップS84:No)、圧縮処理部1は、データ構築部13により、自小領域の圧縮データ(非圧縮データの場合を含む)でD1ブロックデータを生成し(ステップS87)、自小領域に対応するIsNeighborフラグを0とする(ステップS88)。   When the data can be stored (step S84: Yes), the compression processing unit 1 uses the data construction unit 13 to combine the compressed data (including the case of non-compressed data) of its own small area with the specified data of the adjacent small area. D1 block data is generated (step S85), and the IsNeighbor flag corresponding to the self-small area is set to 1 (step S86). When the data size of the corresponding specified data is large and the specified data cannot be stored in the unused area (step S84: No), the compression processing unit 1 uses the data construction unit 13 to compress the compressed data (uncompressed data) of its own small area. D1 block data is generated (step S87), and the IsNeighbor flag corresponding to its own small area is set to 0 (step S88).

一方、圧縮データ(非圧縮データの場合を含む)のデータサイズが外部メモリ9のD1ブロックのメモリサイズよりも大きい場合(ステップS82:No)、圧縮処理部1は、データ構築部13により自小領域に対応するIsValidフラグを1とし、自小領域に対応するIsNeighborフラグを0とする(ステップS89)。圧縮処理部1は、データ構築部13により、自小領域の圧縮データ(非圧縮データの場合を含む)をD1データと残余データに分割し、D1データでD1ブロックデータを生成する(ステップS90)。圧縮処理部1は、データ構築部13により残余データをD2ブロックデータに追加する(ステップS91)。自小領域のD1データのうちの規定データの部分は、自小領域の例えば上側(図23の例)に隣接する小領域についてステップS81からステップS91までの処理を行う際に、その隣接する小領域に対応するD1ブロックの未使用領域に格納されることがある。   On the other hand, when the data size of the compressed data (including the case of non-compressed data) is larger than the memory size of the D1 block of the external memory 9 (step S82: No), the compression processing unit 1 uses the data construction unit 13 to reduce itself. The IsValid flag corresponding to the area is set to 1, and the IsNeighbor flag corresponding to the self-small area is set to 0 (step S89). The compression processing unit 1 uses the data construction unit 13 to divide the compressed data (including the case of non-compressed data) in its own small area into D1 data and residual data, and generate D1 block data with the D1 data (step S90). . The compression processing unit 1 adds the residual data to the D2 block data by the data construction unit 13 (step S91). The part of the prescribed data in the D1 data of the self-small area is obtained when the small area adjacent to, for example, the upper side (example in FIG. 23) of the self-small area is subjected to the processing of the adjacent small area. It may be stored in the unused area of the D1 block corresponding to the area.

圧縮処理部1は、図14に示すデータ書込み処理の手順において、書込みリクエストで指定された画像の領域に含まれる全ての小領域について上述した処理を行い、各小領域に対応するD1ブロックデータ、D2ブロックデータおよびD2サイズ情報を生成する。図23に示す例では、ある小領域の規定データが、その上側に隣接する小領域に対応するD1ブロックに格納されるので、書込みリクエストで指定された画像領域において下から上へ向かって小領域を処理していくのがよい。   In the data write processing procedure shown in FIG. 14, the compression processing unit 1 performs the above-described processing for all the small areas included in the image area specified by the write request, and D1 block data corresponding to each small area, D2 block data and D2 size information are generated. In the example shown in FIG. 23, the prescribed data of a certain small area is stored in the D1 block corresponding to the small area adjacent to the upper side thereof, so that the small area from the bottom to the top in the image area specified by the write request. It is better to process.

・データの読出し処理
図26は、実施例4にかかる画像処理装置によるデータの読出し手順の一例を示すフローチャートである。図26に示すように、処理が開始されると、まず、展開部7は、読出しリクエストで指定された例えば矩形状の画像領域の座標およびサイズを取得する(ステップS101)。次いで、展開部7は、D1_IsNeighbor_Inフラグを0にする(ステップS102)。D1_IsNeighbor_Inフラグは、自小領域に隣接する小領域に対応するD1ブロックに自小領域の規定データが格納されているか否かを示す。D1_IsNeighbor_Inフラグは、例えば展開部7によって保持される。次いで、展開部7は、読出しの対象に指定された例えば矩形状の画像領域の下端に位置する小領域のうち、読出し対象の画像領域に含まれる部分の縦のデータサイズが規定データのデータサイズ以下であるか否かを判定する(ステップS103)。
Data Reading Process FIG. 26 is a flowchart illustrating an example of a data reading procedure performed by the image processing apparatus according to the fourth embodiment. As shown in FIG. 26, when the process is started, the developing unit 7 first acquires the coordinates and size of, for example, a rectangular image area designated by the read request (step S101). Next, the expansion unit 7 sets the D1_IsNeighbor_In flag to 0 (step S102). The D1_IsNeighbor_In flag indicates whether or not the prescribed data of the self-small area is stored in the D1 block corresponding to the small area adjacent to the self-small area. The D1_IsNeighbor_In flag is held by, for example, the expansion unit 7. Next, the expansion unit 7 determines that the vertical data size of the portion included in the image area to be read out of the small areas located at the lower end of the rectangular image area designated as the read target is the data size of the specified data, for example. It is determined whether or not the following is true (step S103).

規定データのデータサイズよりも大きい場合(ステップS103:No)、展開部7は、D1_IsNeighbor_Inフラグが1であるか否かを判定する(ステップS107)。D1_IsNeighbor_Inフラグは0であるので(ステップS107:No)、読出しの対象に指定された例えば矩形状の画像領域の下端に位置する全ての小領域について、読出し対象の画像領域に含まれる部分のデータは、その上側(図23の例)に隣接する小領域に対応するD1ブロックに格納されていないことになる。従って、展開部7は、読出しの対象に指定された例えば矩形状の画像領域の下端に位置する全ての小領域を含むようにD1ブロックのデータを読み出すリクエストを発行し(ステップS109)、該当するD1ブロックのデータを読み出す。   When it is larger than the data size of the prescribed data (step S103: No), the expansion unit 7 determines whether or not the D1_IsNeighbor_In flag is 1 (step S107). Since the D1_IsNeighbor_In flag is 0 (step S107: No), the data of the portion included in the image area to be read out for all the small areas positioned at the lower end of the rectangular image area designated as the read target, for example, Therefore, it is not stored in the D1 block corresponding to the small area adjacent to the upper side (example in FIG. 23). Accordingly, the expansion unit 7 issues a request to read out the data of the D1 block so as to include all the small areas positioned at the lower end of, for example, the rectangular image area designated as the read target (Step S109). Read data of D1 block.

一方、規定データのデータサイズ以下である場合(ステップS103:Yes)、展開部7は、D1_IsNeighbor_Inフラグを1とする(ステップS104)。展開部7は、読出しの対象に指定された例えば矩形状の画像領域の下端に位置する全ての小領域の上側(図23の例)に隣接する小領域について、次のステップS105からステップS106までの処理を行う。展開部7は、読出しの対象に指定された例えば矩形状の画像領域の下端に位置する小領域の上側(図23の例)に隣接する小領域に対応するIsNeighborフラグが1であるか否かを判定する(ステップS105)。IsNeighborフラグが0である場合(ステップS105:No)、展開部7は、D1_IsNeighbor_Inフラグを0にする(ステップS106)。読出しの対象に指定された例えば矩形状の画像領域の下端に位置する全ての小領域の上側(図23の例)に隣接する小領域についてステップS105からステップS106までの処理が終了したら、展開部7は、D1_IsNeighbor_Inフラグが1であるか否かを判定する(ステップS107)。   On the other hand, when the data size is equal to or smaller than the data size of the prescribed data (step S103: Yes), the developing unit 7 sets the D1_IsNeighbor_In flag to 1 (step S104). The development unit 7 performs the following steps S105 to S106 for the small regions adjacent to the upper side (example in FIG. 23) of all the small regions positioned at the lower end of the rectangular image region designated as the read target, for example. Perform the process. The expansion unit 7 determines whether or not the IsNeighbor flag corresponding to the small area adjacent to the upper side (example in FIG. 23) of the small area located at the lower end of the rectangular image area designated as the read target is 1, for example. Is determined (step S105). When the IsNeighbor flag is 0 (step S105: No), the expansion unit 7 sets the D1_IsNeighbor_In flag to 0 (step S106). When the processing from step S105 to step S106 is completed for the small areas adjacent to the upper side (example in FIG. 23) of all the small areas positioned at the lower end of the rectangular image area designated as the read target, for example, the developing unit 7 determines whether the D1_IsNeighbor_In flag is 1 (step S107).

D1_IsNeighbor_Inフラグが1である場合(ステップS107:Yes)、読出しの対象に指定された例えば矩形状の画像領域の下端に位置する全ての小領域において、読出し対象の画像領域に含まれる部分のデータが、それぞれの上側(図23の例)に隣接する小領域に対応するD1ブロックに格納されていることになる。従って、展開部7は、元の読出しリクエストで指定された画像領域から該画像領域の下端に位置する全ての小領域を除いた分に対してD1ブロックのデータを読み出すリクエストを発行し(ステップS108)、該当するD1ブロックのデータを読み出す。読出しの対象に指定された例えば矩形状の画像領域の下端に位置する小領域に対応するD1ブロックのデータは読み出されない。   When the D1_IsNeighbor_In flag is 1 (step S107: Yes), the data of the portion included in the image area to be read is stored in all the small areas positioned at the lower end of the rectangular image area designated as the read target, for example. These are stored in the D1 block corresponding to the small area adjacent to each upper side (example in FIG. 23). Therefore, the expansion unit 7 issues a request to read the data of the D1 block for the part of the image area specified by the original read request excluding all the small areas located at the lower end of the image area (step S108). ) Read the data of the corresponding D1 block. For example, the data of the D1 block corresponding to the small area located at the lower end of the rectangular image area designated as the read target is not read.

D1_IsNeighbor_Inフラグが0である場合(ステップS107:No)、読出しの対象に指定された例えば矩形状の画像領域の下端に位置する小領域のうちの少なくとも1個の小領域について、読出し対象の画像領域に含まれる部分のデータが、その上側(図23の例)に隣接する小領域に対応するD1ブロックに格納されていないことになる。従って、展開部7は、読出しの対象に指定された例えば矩形状の画像領域の下端に位置する全ての小領域を含むようにD1ブロックのデータを読み出すリクエストを発行し(ステップS109)、該当するD1ブロックのデータを読み出す。読出しの対象に指定された例えば矩形状の画像領域の下端に位置する小領域に対応するD1ブロックのデータは読み出される。   When the D1_IsNeighbor_In flag is 0 (step S107: No), for example, at least one small area of the small area located at the lower end of the rectangular image area designated as the read target is the image area to be read. The data of the portion included in is not stored in the D1 block corresponding to the small area adjacent to the upper side (example in FIG. 23). Accordingly, the expansion unit 7 issues a request to read out the data of the D1 block so as to include all the small areas positioned at the lower end of, for example, the rectangular image area designated as the read target (Step S109). Read data of D1 block. For example, the data of the D1 block corresponding to the small area located at the lower end of the rectangular image area designated as the reading target is read.

以上の処理によって展開部7がD1ブロックのデータを読み出した後の処理は、実施例2でのデータ読出し処理と同様である。ただし、読出しの対象に指定された例えば矩形状の画像領域の下端に位置する小領域に対応するD1ブロックのデータを読み出さない場合には、該下端に位置する小領域に対応するD1ブロックのデータは、その上側(図23の例)に隣接する小領域に対応するD1ブロックのデータから切り出される。   The processing after the expansion unit 7 reads the data of the D1 block by the above processing is the same as the data reading processing in the second embodiment. However, if the data of the D1 block corresponding to the small area located at the lower end of the rectangular image area designated as the read target is not read, the data of the D1 block corresponding to the small area located at the lower end Is cut out from the data of the D1 block corresponding to the small area adjacent to the upper side (example in FIG. 23).

実施例4によれば、小領域のD1データの一部が、該小領域に隣接する小領域に対応するD1ブロックに格納されていることによって、D1ブロックのデータを読み出す際に、読み出す対象となるD1ブロックの数が減る。従って、D1ブロックのデータの読出し量が減るので、メモリ帯域を削減することができる。例えば、図27に示すように、読出しリクエストで指定された画像の領域81(太線で囲む領域)が第M行第N列目から第M+2行第N+2列目までの9個の小領域82に跨っており、かつ読出しリクエストで指定された画像の領域81の下端が小領域82の境界と一致しない場合には、次のようになる。実施例4を適用しない場合には、第M行第N列目から第M+2行第N+2列目までの9個の小領域82に対応するD1ブロックのデータを読み出す必要がある。それに対して、実施例4において読出しリクエストで指定された画像の領域81の下端に位置する第M+2行第N列目から第M+2行第N+2列目までの小領域82に対応するD1ブロックのデータを読み出す必要がない場合、第M行第N列目から第M+1行第N+2列目までの6個の小領域82に対応するD1ブロックのデータを読み出せばよい。従って、実施例4によれば、メモリ帯域を削減することができる。   According to the fourth embodiment, since a part of the D1 data in the small area is stored in the D1 block corresponding to the small area adjacent to the small area, when the data of the D1 block is read out, The number of D1 blocks is reduced. Accordingly, since the amount of data read from the D1 block is reduced, the memory bandwidth can be reduced. For example, as shown in FIG. 27, an image area 81 (area surrounded by a thick line) designated by a read request is divided into nine small areas 82 from the Mth row and the Nth column to the M + 2 row and the N + 2 column. In the case where the lower end of the region 81 of the image that is straddled and does not match the boundary of the small region 82 is specified as follows. When the fourth embodiment is not applied, it is necessary to read data of the D1 block corresponding to the nine small regions 82 from the Mth row and the Nth column to the M + 2 row and the N + 2 column. On the other hand, the data of the D1 block corresponding to the small area 82 from the (M + 2) th row and the Nth column to the (M + 2) th row and the (N + 2) th column located at the lower end of the image area 81 specified by the read request in the fourth embodiment. If it is not necessary to read out, the data of the D1 block corresponding to the six small regions 82 from the Mth row and the Nth column to the M + 1th row and the N + 2th column may be read. Therefore, according to the fourth embodiment, the memory bandwidth can be reduced.

(実施例5)
実施例5は、実施例3と実施例4を組み合わせたものである。実施例5は、データの書込み処理においてD1ブロックデータを生成する際の処理の一部や、データの読出し処理においてD1ブロックのデータおよびD2ブロックのデータを読み出す際の処理の一部が実施例2とは異なるが、実施例5のその他の構成や処理は実施例2と同様である。以下に、実施例2、実施例3および実施例4と異なる点についてのみ説明する。
(Example 5)
Example 5 is a combination of Example 3 and Example 4. In the fifth embodiment, a part of the process when generating the D1 block data in the data writing process and a part of the process when reading the data of the D1 block and the data of the D2 block in the data reading process are described in the second embodiment. However, the other configurations and processes of the fifth embodiment are the same as those of the second embodiment. Only differences from the second embodiment, the third embodiment, and the fourth embodiment will be described below.

図28は、実施例5におけるIsNeighborフラグの一例を示す図表である。図28に示す図表104のように、小領域ごとにIsNeighborフラグは例えば2ビットで表される。例えばIsNeighborフラグの2ビットのうちの上位ビットは、D1ブロックに、該D1ブロックに対応する小領域に隣接する小領域の残余データを格納しているか否かを示す。例えば、隣接する小領域の残余データを格納しているとIsNeighborフラグの上位ビットは1であり、隣接する小領域の残余データを格納していないとIsNeighborフラグの上位ビットは0である。例えばIsNeighborフラグの2ビットのうちの下位ビットは、D1ブロックに、該D1ブロックに対応する小領域に隣接する小領域のD1データの規定データを格納しているか否かを示す。例えば、隣接する小領域の規定データを格納しているとIsNeighborフラグの下位ビットは1であり、隣接する小領域の規定データを格納していないとIsNeighborフラグの下位ビットは0である。   FIG. 28 is a table illustrating an example of an IsNeighbor flag according to the fifth embodiment. As shown in the chart 104 in FIG. 28, the IsNeighbor flag is represented by, for example, 2 bits for each small area. For example, the upper bit of the two bits of the IsNeighbor flag indicates whether or not the D1 block stores residual data of a small area adjacent to the small area corresponding to the D1 block. For example, the upper bit of the IsNeighbor flag is 1 when the residual data of the adjacent small region is stored, and the upper bit of the IsNeighbor flag is 0 when the residual data of the adjacent small region is not stored. For example, the lower bits of the two bits of the IsNeighbor flag indicate whether or not the D1 block has prescribed data for D1 data in a small area adjacent to the small area corresponding to the D1 block. For example, the lower bit of the IsNeighbor flag is 1 when the specified data of the adjacent small area is stored, and the lower bit of the IsNeighbor flag is 0 when the specified data of the adjacent small area is not stored.

・データの書込み処理
図29〜図31は、実施例5にかかる画像処理装置によるデータの書込み手順の一例を示すフローチャートである。図30および図31は、図29の続きである。一例として、あるD1ブロックに、該D1ブロックに対応する小領域の上側に隣接する小領域の残余データを格納し、該D1ブロックに対応する小領域の下側に隣接する小領域のD1データの規定データを格納するとする。なお、あるD1ブロックに、上側以外の側に隣接する小領域の残余データや、下側以外の側に隣接する小領域のD1データの規定データを格納する構成としてもよい。
Data Writing Process FIGS. 29 to 31 are flowcharts illustrating an example of a data writing procedure by the image processing apparatus according to the fifth embodiment. 30 and 31 are a continuation of FIG. As an example, the residual data of the small area adjacent to the upper side of the small area corresponding to the D1 block is stored in a certain D1 block, and the D1 data of the small area adjacent to the lower side of the small area corresponding to the D1 block is stored. Suppose that you want to store specified data. In addition, it is good also as a structure which stores the remainder data of the small area | region adjacent to the side other than upper side, and the prescription | regulation data of D1 data of the small area | region adjacent to the side other than the lower side in a certain D1 block.

図29に示すように、処理が開始されると、まず、圧縮処理部1は、実施例3でのデータ書込み処理のステップS51からステップS55までと同様の処理を行い、データ構築部13により、自小領域に対応するD1ブロックの未使用領域に、上側に隣接する小領域の残余データを格納可能であるか否かを判定する(ステップS111〜ステップS115)。格納可能である場合(図29のステップS115:Yes)、圧縮処理部1は、データ構築部13により、自小領域に対応するD1ブロックの未使用領域の残りに、下側に隣接する小領域の規定データを格納可能であるか否かを判定する(図30のステップS116)。D1ブロックの未使用領域の残りとは、自小領域に対応するD1ブロックの未使用領域のデータサイズから、上側に隣接する小領域の残余データを格納するのに必要なデータサイズを引いた残りの領域のことである。   As shown in FIG. 29, when the processing is started, first, the compression processing unit 1 performs the same processing from step S51 to step S55 of the data writing processing in the third embodiment, and the data construction unit 13 It is determined whether or not the remaining data of the small area adjacent on the upper side can be stored in the unused area of the D1 block corresponding to the self-small area (steps S111 to S115). When the data can be stored (step S115 in FIG. 29: Yes), the compression processing unit 1 uses the data construction unit 13 to add a small area adjacent to the lower side to the remaining unused area of the D1 block corresponding to the self-small area. It is determined whether or not the specified data can be stored (step S116 in FIG. 30). The remaining unused area of the D1 block is the remainder obtained by subtracting the data size required to store the remaining data of the small area adjacent to the upper side from the data size of the unused area of the D1 block corresponding to the own small area. It is the area of.

格納可能である場合(図30のステップS116:Yes)、圧縮処理部1は、データ構築部13により、自小領域の圧縮データ(非圧縮データの場合を含む)と上側に隣接する小領域の残余データと下側に隣接する小領域の規定データとを合わせてD1ブロックデータを生成する(図30のステップS117)。圧縮処理部1は、自小領域に対応するIsNeighborフラグを11とする(図30のステップS118)。該当する規定データのデータサイズが大きくて未使用領域の残りに該規定データを格納できない場合(図30のステップS116:No)、圧縮処理部1は、データ構築部13により、自小領域の圧縮データ(非圧縮データの場合を含む)と上側に隣接する小領域の残余データとでD1ブロックデータを生成する(図30のステップS119)。圧縮処理部1は、自小領域に対応するIsNeighborフラグを10とする(図30のステップS120)。   When the data can be stored (step S116 of FIG. 30: Yes), the compression processing unit 1 uses the data construction unit 13 to compress the compressed data of the small area (including the case of non-compressed data) and the small area adjacent to the upper side. The D1 block data is generated by combining the remaining data and the prescribed data of the small area adjacent to the lower side (step S117 in FIG. 30). The compression processing unit 1 sets the IsNeighbor flag corresponding to its own small area to 11 (step S118 in FIG. 30). When the data size of the corresponding specified data is large and the specified data cannot be stored in the remaining unused area (step S116 in FIG. 30: No), the compression processing unit 1 uses the data construction unit 13 to compress the small area. D1 block data is generated from the data (including the case of non-compressed data) and the residual data of the small area adjacent on the upper side (step S119 in FIG. 30). The compression processing unit 1 sets the IsNeighbor flag corresponding to the self-small area to 10 (step S120 in FIG. 30).

図29のステップS114で、自小領域の上側に隣接する小領域の圧縮データ(非圧縮データの場合を含む)に残余データがないか(ステップS114:No)、あってもデータサイズが大きくて未使用領域に格納できない場合(図29のステップS115:No)、圧縮処理部1は、データ構築部13により、自小領域に対応するD1ブロックの未使用領域に、下側に隣接する小領域の規定データを格納可能であるか否かを判定する(図31のステップS121)。格納可能である場合(図31のステップS121:Yes)、圧縮処理部1は、データ構築部13により、自小領域の圧縮データ(非圧縮データの場合を含む)と下側に隣接する小領域の規定データとを合わせてD1ブロックデータを生成する(図31のステップS122)。圧縮処理部1は、自小領域に対応するIsNeighborフラグを01とする(図31のステップS123)。該当する規定データのデータサイズが大きくて未使用領域に該規定データを格納できない場合(図31のステップS121:No)、圧縮処理部1は、データ構築部13により、自小領域の圧縮データ(非圧縮データの場合を含む)でD1ブロックデータを生成する(図31のステップS124)。圧縮処理部1は、自小領域に対応するIsNeighborフラグを00とする(図31のステップS125)。   In step S114 of FIG. 29, there is no residual data in the compressed data (including the case of non-compressed data) in the small area adjacent to the upper side of the small area (step S114: No), and the data size is large. If the data cannot be stored in the unused area (step S115 in FIG. 29: No), the compression processing unit 1 uses the data construction unit 13 to set the small area adjacent to the unused area of the D1 block corresponding to the own small area. It is determined whether or not the prescribed data can be stored (step S121 in FIG. 31). When the data can be stored (step S121 in FIG. 31: Yes), the compression processing unit 1 uses the data construction unit 13 to store the compressed data of the small area (including the case of non-compressed data) and the small area adjacent to the lower side. The D1 block data is generated together with the prescribed data (step S122 in FIG. 31). The compression processing unit 1 sets the IsNeighbor flag corresponding to the self-small area to 01 (step S123 in FIG. 31). When the data size of the corresponding specified data is large and the specified data cannot be stored in the unused area (step S121 of FIG. 31: No), the compression processing unit 1 uses the data construction unit 13 to compress the compressed data ( D1 block data is generated (including the case of uncompressed data) (step S124 in FIG. 31). The compression processing unit 1 sets the IsNeighbor flag corresponding to the self-small area to 00 (step S125 in FIG. 31).

図29のステップS112で、自小領域の圧縮データ(非圧縮データの場合を含む)のデータサイズが自小領域に対応するD1ブロックのメモリサイズよりも大きい場合(ステップS112:No)、圧縮処理部1は、データ構築部13により自小領域に対応するIsValidフラグを1とし、自小領域に対応するIsNeighborフラグを00とする(図29のステップS126)。圧縮処理部1は、データ構築部13により、自小領域の圧縮データ(非圧縮データの場合を含む)をD1データと残余データに分割し、D1データでD1ブロックデータを生成する(図29のステップS127)。圧縮処理部1は、データ構築部13により残余データをD2ブロックデータに追加する(図29のステップS128)。この残余データは、自小領域に隣接する小領域について同様の処理を行う際に、その隣接する小領域に対応するD1ブロックの未使用領域に格納されることがある。   If the data size of the compressed data (including the case of non-compressed data) in the small area is larger than the memory size of the D1 block corresponding to the small area (step S112: No) in FIG. The unit 1 sets the IsValid flag corresponding to the self-small area to 1 and sets the IsNeighbor flag corresponding to the self-small area to 00 (step S126 in FIG. 29). The compression processing unit 1 uses the data construction unit 13 to divide the compressed data in the small area (including the case of non-compressed data) into D1 data and residual data, and generate D1 block data with the D1 data (FIG. 29). Step S127). In the compression processing unit 1, the data construction unit 13 adds the remaining data to the D2 block data (step S128 in FIG. 29). This residual data may be stored in the unused area of the D1 block corresponding to the adjacent small area when the same processing is performed on the small area adjacent to the small area.

・データの読出し処理
データの読出し処理において、D2ブロックのデータを読み出すか否かを判定する処理は、実施例3と同様である。D2ブロックのデータを読み出すか否かを判定する際には、IsNeighborフラグの上位ビットを確認すればよい。データの読出し処理において、読出しの対象に指定された画像領域の下端に位置する小領域に対応するD1ブロックのデータを読み出すか否かを判定する処理は、実施例4と同様である。当該D1ブロックのデータを読み出すか否かを判定する際には、IsNeighborフラグの下位ビットを確認すればよい。
Data reading process In the data reading process, the process for determining whether or not to read the data of the D2 block is the same as in the third embodiment. When determining whether or not to read the data of the D2 block, it is only necessary to check the upper bit of the IsNeighbor flag. In the data read process, the process for determining whether or not to read the data of the D1 block corresponding to the small area located at the lower end of the image area designated as the read target is the same as in the fourth embodiment. When determining whether or not to read the data of the D1 block, the lower bit of the IsNeighbor flag may be confirmed.

(実施例6)
実施例6は、実施例3において、ある小領域の圧縮データ(非圧縮データの場合を含む)の残余データを、該小領域の上下左右のいずれかの側に隣接する小領域に対応するD1ブロックの未使用領域にも格納するものである。実施例6は、データの書込み処理においてD1ブロックデータを生成する際の処理の一部や、データの読出し処理においてD2ブロックのデータを読み出す際の処理の一部が実施例2とは異なるが、実施例6のその他の構成や処理は実施例2と同様である。以下に、実施例2および実施例3と異なる点についてのみ説明する。
(Example 6)
In the sixth embodiment, the remaining data of the compressed data (including the case of non-compressed data) in a certain small area in the third embodiment is represented by D1 corresponding to the small area adjacent to either the upper, lower, left or right side of the small area. It is also stored in the unused area of the block. The sixth embodiment is different from the second embodiment in part of the process when generating the D1 block data in the data writing process and part of the process in reading the data of the D2 block in the data reading process. Other configurations and processes of the sixth embodiment are the same as those of the second embodiment. Only differences from the second and third embodiments will be described below.

図32は、実施例6におけるIsNeighborフラグの一例を示す図表である。図32に示す図表105のように、小領域ごとにIsNeighborフラグは例えば2ビットで表される。例えばIsNeighborフラグは、自小領域のD1ブロックに、上側に隣接する小領域の残余データを格納している場合に10となり、下側に隣接する小領域の残余データを格納している場合に01となり、左側に隣接する小領域の残余データを格納している場合に11となる。例えば自小領域のD1ブロックに、隣接する小領域の残余データを格納していない場合には、IsNeighborフラグは00となる。   FIG. 32 is a table illustrating an example of an IsNeighbor flag according to the sixth embodiment. As shown in the chart 105 in FIG. 32, the IsNeighbor flag is represented by, for example, 2 bits for each small area. For example, the IsNeighbor flag is 10 when the residual data of the small area adjacent on the upper side is stored in the D1 block of the self-small area, and 01 when the residual data of the small area adjacent on the lower side is stored. And 11 when the residual data of the small area adjacent on the left side is stored. For example, if the residual data of the adjacent small area is not stored in the D1 block of the self-small area, the IsNeighbor flag is 00.

・データの書込み処理
図33〜図35は、実施例6にかかる画像処理装置によるデータの書込み手順の一例を示すフローチャートである。図34および図35は、図33の続きである。図33に示すように、処理が開始されると、まず、圧縮処理部1は、実施例3でのデータ書込み処理のステップS51からステップS53までと同様の処理を行い、圧縮処理部1は、データ構築部13により自小領域に対応するIsValidフラグを0とする(ステップS131〜ステップS133)。圧縮処理部1は、データ構築部13により、自小領域の上側に隣接する小領域の圧縮データ(非圧縮データの場合を含む)に残余データがあるか否かを判定する(図33のステップS134)。
Data Writing Process FIGS. 33 to 35 are flowcharts illustrating an example of a data writing procedure by the image processing apparatus according to the sixth embodiment. 34 and 35 are a continuation of FIG. As shown in FIG. 33, when the processing is started, first, the compression processing unit 1 performs the same processing from step S51 to step S53 of the data writing processing in the third embodiment, and the compression processing unit 1 The data construction unit 13 sets the IsValid flag corresponding to the self-small area to 0 (steps S131 to S133). The compression processing unit 1 determines whether or not there is residual data in the compressed data (including the case of non-compressed data) in the small area adjacent to the upper side of the small area by the data construction unit 13 (step in FIG. 33). S134).

該当する残余データがある場合(図33のステップS134:Yes)、圧縮処理部1は、データ構築部13により、自小領域に対応するD1ブロックの未使用領域に、上側に隣接する小領域の残余データを格納可能であるか否かを判定する(図33のステップS135)。格納可能である場合(図33のステップS135:Yes)、圧縮処理部1は、データ構築部13により、自小領域の圧縮データ(非圧縮データの場合を含む)と上側に隣接する小領域の残余データとを合わせてD1ブロックデータを生成し(図33のステップS136)、自小領域に対応するIsNeighborフラグを10とする(図33のステップS137)。   When there is corresponding residual data (step S134 in FIG. 33: Yes), the compression processing unit 1 uses the data construction unit 13 to set the small region adjacent to the upper side to the unused region of the D1 block corresponding to the self-small region. It is determined whether or not the remaining data can be stored (step S135 in FIG. 33). When the data can be stored (step S135 in FIG. 33: Yes), the compression processing unit 1 uses the data construction unit 13 to compress the compressed data of the small area (including the case of non-compressed data) and the small area adjacent to the upper side. Together with the remaining data, D1 block data is generated (step S136 in FIG. 33), and the IsNeighbor flag corresponding to the self-small area is set to 10 (step S137 in FIG. 33).

上側に隣接する小領域の残余データがないか(図33のステップS134:No)、あってもデータサイズが大きくて未使用領域に格納できない場合(図33のステップS135:No)、圧縮処理部1は、データ構築部13により、自小領域の下側に隣接する小領域の圧縮データ(非圧縮データの場合を含む)に残余データがあるか否かを判定する(図34のステップS138)。該当する残余データがある場合(図34のステップS138:Yes)、圧縮処理部1は、データ構築部13により、自小領域に対応するD1ブロックの未使用領域に、下側に隣接する小領域の残余データを格納可能であるか否かを判定する(図34のステップS139)。格納可能である場合(図34のステップS139:Yes)、圧縮処理部1は、データ構築部13により、自小領域の圧縮データ(非圧縮データの場合を含む)と下側に隣接する小領域の残余データとを合わせてD1ブロックデータを生成し(図34のステップS140)、自小領域に対応するIsNeighborフラグを01とする(図34のステップS141)。   If there is no residual data of the small area adjacent to the upper side (step S134 in FIG. 33), even if the data size is large and cannot be stored in the unused area (step S135 in FIG. 33: No), the compression processing unit 1, the data construction unit 13 determines whether there is residual data in the compressed data (including the case of non-compressed data) of the small area adjacent to the lower side of the own small area (step S138 in FIG. 34). . When there is corresponding residual data (step S138 in FIG. 34: Yes), the compression processing unit 1 uses the data construction unit 13 to place a small area adjacent to the unused area of the D1 block corresponding to the self-small area on the lower side. It is determined whether or not the remaining data can be stored (step S139 in FIG. 34). When the data can be stored (step S139 in FIG. 34: Yes), the compression processing unit 1 uses the data construction unit 13 to store the compressed data of the small area (including the case of non-compressed data) and the small area adjacent to the lower side. Are combined with the remaining data to generate D1 block data (step S140 in FIG. 34), and the IsNeighbor flag corresponding to the self-small area is set to 01 (step S141 in FIG. 34).

下側に隣接する小領域の残余データがないか(図34のステップS138:No)、あってもデータサイズが大きくて未使用領域に格納できない場合(図34のステップS138:No)、圧縮処理部1は、データ構築部13により、自小領域の左側に隣接する小領域の圧縮データ(非圧縮データの場合を含む)に残余データがあるか否かを判定する(図34のステップS142)。該当する残余データがある場合(図34のステップS142:Yes)、圧縮処理部1は、データ構築部13により、自小領域に対応するD1ブロックの未使用領域に、左側に隣接する小領域の残余データを格納可能であるか否かを判定する(図34のステップS143)。格納可能である場合(図34のステップS143:Yes)、圧縮処理部1は、データ構築部13により、自小領域の圧縮データ(非圧縮データの場合を含む)と左側に隣接する小領域の残余データとを合わせてD1ブロックデータを生成し(図34のステップS144)、自小領域に対応するIsNeighborフラグを11とする(図34のステップS145)。   If there is no residual data in the small area adjacent to the lower side (step S138: No in FIG. 34), or if the data size is large and cannot be stored in the unused area (step S138: No in FIG. 34), the compression process The unit 1 uses the data construction unit 13 to determine whether or not there is residual data in the compressed data (including the case of non-compressed data) in the small area adjacent to the left side of the small area (step S142 in FIG. 34). . When there is corresponding residual data (step S142 in FIG. 34: Yes), the compression processing unit 1 causes the data construction unit 13 to set the unused area of the D1 block corresponding to the own small area to the small area adjacent to the left side. It is determined whether or not the remaining data can be stored (step S143 in FIG. 34). When the data can be stored (step S143 in FIG. 34: Yes), the compression processing unit 1 uses the data construction unit 13 to compress the compressed data of the small area (including the case of non-compressed data) and the small area adjacent to the left side. Together with the remaining data, D1 block data is generated (step S144 in FIG. 34), and the IsNeighbor flag corresponding to the self-small area is set to 11 (step S145 in FIG. 34).

左側に隣接する小領域の残余データがないか(図34のステップS142:No)、あってもデータサイズが大きくて未使用領域に格納できない場合(図34のステップS143:No)、圧縮処理部1は、データ構築部13により、自小領域の圧縮データ(非圧縮データの場合を含む)でD1ブロックデータを生成し(図35のステップS146)、自小領域に対応するIsNeighborフラグを00とする(図35のステップS147)。一方、圧縮データ(非圧縮データの場合を含む)のデータサイズが外部メモリ9のD1ブロックのメモリサイズよりも大きい場合(図33のステップS132:No)、圧縮処理部1は、データ構築部13により自小領域に対応するIsValidフラグを1とし、自小領域に対応するIsNeighborフラグを00とする(図33のステップS148)。圧縮処理部1は、データ構築部13により、自小領域の圧縮データ(非圧縮データの場合を含む)をD1データと残余データに分割し、D1データでD1ブロックデータを生成する(図33のステップS149)。圧縮処理部1は、データ構築部13により残余データをD2ブロックデータに追加する(ステップS150)。この残余データは、自小領域に隣接する小領域について同様の処理を行う際に、その隣接する小領域に対応するD1ブロックの未使用領域に格納されることがある。   If there is no residual data in the small area adjacent to the left side (step S142 in FIG. 34), or if the data size is large and cannot be stored in the unused area (step S143 in FIG. 34: No), the compression processing unit 1, the data construction unit 13 generates D1 block data with compressed data (including uncompressed data) in its own small area (step S146 in FIG. 35), and sets the IsNeighbor flag corresponding to its own small area to 00. (Step S147 in FIG. 35). On the other hand, when the data size of the compressed data (including the case of non-compressed data) is larger than the memory size of the D1 block of the external memory 9 (step S132: No in FIG. 33), the compression processing unit 1 uses the data construction unit 13 Accordingly, the IsValid flag corresponding to the self-small area is set to 1, and the IsNeighbor flag corresponding to the self-small area is set to 00 (step S148 in FIG. 33). The compression processing unit 1 uses the data construction unit 13 to divide the compressed data in the small area (including the case of non-compressed data) into D1 data and residual data, and generate D1 block data with the D1 data (FIG. 33). Step S149). The compression processing unit 1 adds the residual data to the D2 block data by the data construction unit 13 (step S150). This residual data may be stored in the unused area of the D1 block corresponding to the adjacent small area when the same processing is performed on the small area adjacent to the small area.

・データの読出し処理
データの読出し処理は、実施例3と同様である。残余データの格納先を判定する際には、IsNeighborフラグを確認すればよい。
Data read processing The data read processing is the same as in the third embodiment. When determining the storage destination of the remaining data, the IsNeighbor flag may be confirmed.

9 メモリ
12 可変長符号化部
13 データ構築部
23 判定部
28,29 記憶部
DESCRIPTION OF SYMBOLS 9 Memory 12 Variable length encoding part 13 Data construction part 23 Judgment part 28,29 Storage part

Claims (5)

入力画像を複数の小領域に分割して該小領域ごとに画像データを可変長符号化法により符号化して圧縮する可変長符号化部と、
前記可変長符号化部により符号化された圧縮データを、所定のデータサイズ以下の第1のデータおよび前記所定のデータサイズを超える分の第2のデータに分割し、該第2のデータを複数の前記小領域分まとめて第3のデータとし、前記第1のデータに基づいてメモリの前記所定のデータサイズ以上の固定のメモリサイズを有する複数の第1のブロックのうち前記小領域に対応する第1のブロックに書き込まれる第1のブロックデータ、前記第3のデータに基づいて前記メモリの複数の第2のブロックのうち前記まとめられた小領域のグループに対応する第2のブロックに書き込まれる第2のブロックデータ、および前記第3のデータのサイズ情報を生成するデータ構築部と、
を備えることを特徴とする画像処理装置。
A variable length encoding unit that divides an input image into a plurality of small regions and encodes and compresses the image data for each small region by a variable length encoding method;
The compressed data encoded by the variable-length encoding unit is divided into first data having a predetermined data size or less and second data exceeding the predetermined data size, and the second data is divided into a plurality of pieces. Corresponding to the small area among a plurality of first blocks having a fixed memory size equal to or larger than the predetermined data size of the memory based on the first data. Based on the first block data and the third data written to the first block, the second block corresponding to the group of small areas grouped out of the plurality of second blocks of the memory is written. A data construction unit for generating second block data and size information of the third data;
An image processing apparatus comprising:
前記データ構築部は、前記メモリの前記第2のブロックにおける個々の前記第2のデータの格納位置情報を生成し、該格納位置情報を前記第2のブロックデータに含めることを特徴とする請求項1に記載の画像処理装置。   The data construction unit generates storage position information of each of the second data in the second block of the memory, and includes the storage position information in the second block data. The image processing apparatus according to 1. 複数の前記第1のブロックおよび複数の前記第2のブロックを有し、かつ前記第2のデータが格納される前記第2のブロックが前記小領域ごとに一意に対応づけられており、前記第2のブロックのメモリサイズが固定であるメモリに接続されることを特徴とする請求項1または2に記載の画像処理装置。   The second block having a plurality of the first blocks and a plurality of the second blocks and storing the second data is uniquely associated with each small area, and The image processing apparatus according to claim 1, wherein the image processing apparatus is connected to a memory having a fixed memory size of the two blocks. 前記第2のブロックデータのうちの一部または全部および前記第3のデータのサイズ情報の一部または全部を記憶する記憶部と、
前記記憶部に記憶されている前記第2のブロックデータおよび前記第3のデータのサイズ情報に基づいて前記メモリから前記第2のブロックデータを読み出すか否かを判定する判定部と、
をさらに備えることを特徴とする請求項1〜3のいずれか一つに記載の画像処理装置。
A storage unit for storing part or all of the second block data and part or all of the size information of the third data;
A determination unit that determines whether to read out the second block data from the memory based on the size information of the second block data and the third data stored in the storage unit;
The image processing apparatus according to claim 1, further comprising:
入力画像を複数の小領域に分割して該小領域ごとに画像データを可変長符号化法により符号化して圧縮するステップと、
前記可変長符号化部により符号化された圧縮データを、所定のデータサイズ以下の第1のデータおよび前記所定のデータサイズを超える分の第2のデータに分割し、該第2のデータを複数の前記小領域分まとめて第3のデータとし、前記第1のデータに基づいてメモリの前記所定のデータサイズ以上の固定のメモリサイズを有する複数の第1のブロックのうち前記小領域に対応する第1のブロックに書き込まれる第1のブロックデータ、前記第3のデータに基づいて前記メモリの複数の第2のブロックのうち前記まとめられた小領域のグループに対応する第2のブロックに書き込まれる第2のブロックデータ、および前記第3のデータのサイズ情報を生成するステップと、
を含むことを特徴とする画像処理方法。
Dividing the input image into a plurality of small regions, and encoding and compressing the image data for each small region by a variable length coding method;
The compressed data encoded by the variable-length encoding unit is divided into first data having a predetermined data size or less and second data exceeding the predetermined data size, and the second data is divided into a plurality of pieces. Corresponding to the small area among a plurality of first blocks having a fixed memory size equal to or larger than the predetermined data size of the memory based on the first data. Based on the first block data and the third data written to the first block, the second block corresponding to the group of small areas grouped out of the plurality of second blocks of the memory is written. Generating size information of second block data and the third data;
An image processing method comprising:
JP2009296430A 2009-12-25 2009-12-25 Image processing apparatus and image processing method Expired - Fee Related JP5504885B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009296430A JP5504885B2 (en) 2009-12-25 2009-12-25 Image processing apparatus and image processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009296430A JP5504885B2 (en) 2009-12-25 2009-12-25 Image processing apparatus and image processing method

Publications (2)

Publication Number Publication Date
JP2011139175A true JP2011139175A (en) 2011-07-14
JP5504885B2 JP5504885B2 (en) 2014-05-28

Family

ID=44350182

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009296430A Expired - Fee Related JP5504885B2 (en) 2009-12-25 2009-12-25 Image processing apparatus and image processing method

Country Status (1)

Country Link
JP (1) JP5504885B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013132056A (en) * 2011-12-21 2013-07-04 Intel Corp Dram compression scheme to reduce power consumption in motion compensation and display refresh
KR101841122B1 (en) * 2011-09-29 2018-03-23 엘지전자 주식회사 Block-based optical flow estimation of motion pictures

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0537789A (en) * 1991-07-29 1993-02-12 Canon Inc Picture processing unit
JP2000232587A (en) * 1999-02-12 2000-08-22 Fuji Xerox Co Ltd Image processor and image processing method
JP2000251061A (en) * 1999-03-01 2000-09-14 Matsushita Electric Ind Co Ltd Device and method for processing image and recording medium for image processing

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0537789A (en) * 1991-07-29 1993-02-12 Canon Inc Picture processing unit
JP2000232587A (en) * 1999-02-12 2000-08-22 Fuji Xerox Co Ltd Image processor and image processing method
JP2000251061A (en) * 1999-03-01 2000-09-14 Matsushita Electric Ind Co Ltd Device and method for processing image and recording medium for image processing

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101841122B1 (en) * 2011-09-29 2018-03-23 엘지전자 주식회사 Block-based optical flow estimation of motion pictures
JP2013132056A (en) * 2011-12-21 2013-07-04 Intel Corp Dram compression scheme to reduce power consumption in motion compensation and display refresh
US9268723B2 (en) 2011-12-21 2016-02-23 Intel Corporation Dram compression scheme to reduce power consumption in motion compensation and display refresh

Also Published As

Publication number Publication date
JP5504885B2 (en) 2014-05-28

Similar Documents

Publication Publication Date Title
US10366467B1 (en) Method and apparatus for accessing compressed data and/or uncompressed data of image frame in frame buffer
US7432835B2 (en) Variable length decoding method and device
US10193579B2 (en) Storage control device, storage system, and storage control method
JP5652101B2 (en) Image processing apparatus and image processing method
CN102263946B (en) Techniques for storing and retrieving pixel data
US10855917B2 (en) Data processing method and device, chip, and camera
JP5504885B2 (en) Image processing apparatus and image processing method
JP5526641B2 (en) Memory controller
TW201939953A (en) Image compression system and method for compressing images with an image compression system
US11044466B2 (en) Image processing device
US20190095338A1 (en) Semiconductor device, data processing system, and semiconductor device control method
JP4455199B2 (en) Adaptive variable length encoding apparatus, adaptive variable length decoding apparatus, adaptive variable length encoding / decoding method, and adaptive variable length encoding / decoding program
US11735222B2 (en) Frame buffer compressing circuitry and image processing apparatus
JPH08186723A (en) Encoder for picture processor
JP3772569B2 (en) Image processing apparatus and image processing method
JP2011109364A (en) Image processing apparatus
JP5653328B2 (en) Image processing apparatus and image processing system
TW202339505A (en) Image coding device, image decoding device, image coding method, and image decoding method
JPH0779415B2 (en) Decompression method of compressed data
JP6411250B2 (en) Image processing apparatus and image processing method
JP5731816B2 (en) Image processing apparatus and image processing method
JP2010276686A (en) Image control apparatus
JP2008124632A (en) Image encoding apparatus, image decoding apparatus, image encoding method, image decoding method, image encoding program, image decoding program, recording medium recording image encoding program, and recording medium recording image decoding program
JP2006060490A (en) Image compressor and image compression program
JP2570249B2 (en) Color image compression / decompression method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120910

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130520

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130604

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130805

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140303

R150 Certificate of patent or registration of utility model

Ref document number: 5504885

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees