JP2000175199A - Image processor, image processing method and providing medium - Google Patents
Image processor, image processing method and providing mediumInfo
- Publication number
- JP2000175199A JP2000175199A JP34504198A JP34504198A JP2000175199A JP 2000175199 A JP2000175199 A JP 2000175199A JP 34504198 A JP34504198 A JP 34504198A JP 34504198 A JP34504198 A JP 34504198A JP 2000175199 A JP2000175199 A JP 2000175199A
- Authority
- JP
- Japan
- Prior art keywords
- image data
- memory
- address
- predicted
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0862—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0875—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
- G06F2212/6022—Using a prefetch buffer or dedicated prefetch cache
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Television Signal Processing For Recording (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
【0001】[0001]
【発明の属する技術分野】本発明は、画像処理装置及び
方法、並びに提供媒体に関し、特に、MPEG方式において
圧縮された画像データを復号する場合に必要な予測画像
データを迅速に生成することができるようにした画像処
理装置及び方法、並びに提供媒体に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an image processing apparatus and method, and a providing medium, and more particularly to a method for quickly generating predicted image data necessary for decoding image data compressed by the MPEG system. The present invention relates to an image processing apparatus and method, and a providing medium as described above.
【0002】[0002]
【従来の技術】最近、MPEG2(Moving Picture Experts
Group 2)に代表される画像圧縮技術が進歩し、各種の
分野で利用されている。このMPEG2方式でエンコード
(圧縮)された画像データのデコード(伸長)は、マク
ロブロック毎に行われる。可変長復号処理された注目マ
クロブロックの画像データから、DCT係数が分離される
とともに、ノンイントラマクロブロックの場合、さらに
動きベクトルが分離される。イントラマクロブロックの
場合、DCT係数が、逆DCT変換処理されることで、元の画
像とされる。一方、ノンイントラマクロブロックの場
合、動きベクトルに基づいて、各注目マクロブロックに
対応する予測マクロブロックが生成される。予測マクロ
ブロックは、逆DCT変換された対応する注目マクロブロ
ックの画像データと加算される。2. Description of the Related Art Recently, MPEG2 (Moving Picture Experts
Image compression technology represented by Group 2) has advanced and is being used in various fields. The decoding (expansion) of the image data encoded (compressed) by the MPEG2 system is performed for each macroblock. DCT coefficients are separated from the image data of the macroblock of interest that has been subjected to the variable-length decoding, and in the case of a non-intra macroblock, a motion vector is further separated. In the case of an intra macro block, the DCT coefficient is subjected to an inverse DCT transform process, thereby obtaining an original image. On the other hand, in the case of a non-intra macro block, a predicted macro block corresponding to each macro block of interest is generated based on a motion vector. The predicted macroblock is added to the inverse DCT-transformed image data of the corresponding macroblock of interest.
【0003】[0003]
【発明が解決しようとする課題】1つのマクロブロック
の動きベクトルに対応する予測マクロブロックをフレー
ムメモリから読み出すとき、フレームメモリのアドレス
が必要となる。このため、注目マクロブロックの(x,
y)座標と、画像タイプ、予測タイプ、および動きベク
トルから、フレームメモリの(x,y)座標からのオフ
セット値を、輝度と色素のそれぞれについて求める必要
がある。When reading out a predicted macroblock corresponding to a motion vector of one macroblock from the frame memory, an address of the frame memory is required. Therefore, (x,
It is necessary to determine the offset value from the (x, y) coordinate of the frame memory from the y) coordinate, the image type, the prediction type, and the motion vector for each of the luminance and the dye.
【0004】しかしながら、画像タイプには、フレーム
構造、またはフィールド構造、インターレース方式、ま
たはプログレシブ方式、および画サイズなどの情報が含
まれ、予測タイプには、フレーム構造の場合、フレーム
予測、フィールド予測、およびデュアルプライム予測が
含まれ、フィールド構造の場合、フィールド予測、16
×8フィールド予測、およびデュアルプライム予測が含
まれる。[0004] However, the image type includes information such as a frame structure or a field structure, an interlaced system or a progressive system, and an image size. When the frame type is a frame structure, the prediction type includes frame prediction, field prediction, And dual prime prediction, and for field structure, field prediction, 16
* 8 field prediction and dual prime prediction are included.
【0005】デコード処理をソフトウエアプログラムで
行う場合、結局、このフレームメモリ上のオフセットア
ドレスをソフトウエアプログラムで演算する必要が生じ
る。このとき、各マクロブロック毎に現在の画像タイプ
と予測タイプを確認しながらベクトル計算をしなければ
ならず、ソフトウエア上の条件文の数が多くなるだけで
なく、計算量も多くなり、パイプライン的処理が困難と
なり、処理時間が増大してしまう課題があった。When the decoding process is performed by a software program, it is necessary to calculate the offset address on the frame memory by the software program. At this time, vector calculation must be performed while checking the current image type and prediction type for each macroblock. Not only the number of conditional statements on software increases, but also the amount of calculation increases, and There is a problem that the line processing becomes difficult and the processing time increases.
【0006】本発明は、このような状況に鑑みてなされ
たものであり、より迅速にフレームメモリのオフセット
アドレスを得ることができるようにし、もって、迅速な
復号処理を可能とするものである。[0006] The present invention has been made in view of such circumstances, and enables an offset address of a frame memory to be obtained more quickly, thereby enabling a faster decoding process.
【0007】[0007]
【課題を解決するための手段】請求項1に記載の画像処
理装置は、入力された画像データから、少なくとも画像
データ、タイプ、および動きベクトルを抽出する抽出手
段と、抽出手段により抽出された画像データを、予測画
像データを参照して元の画像データに変換する変換手段
と、予測画像データを生成するための画像データを記憶
する第1の記憶手段と、抽出手段により抽出された動き
ベクトルに対応する、予測画像データを生成するため
の、第1の記憶手段のアドレスを記憶する第2の記憶手
段と、第1の記憶手段に予測画像データを生成させるた
めの、第2の記憶手段に記憶されている第1の記憶手段
のアドレスを、抽出手段により抽出されたタイプに基づ
いて読み出す読み出し手段とを備えることを特徴とす
る。According to a first aspect of the present invention, there is provided an image processing apparatus comprising: an extracting unit for extracting at least image data, a type, and a motion vector from input image data, and an image extracted by the extracting unit. Conversion means for converting the data into original image data by referring to the predicted image data; first storage means for storing image data for generating the predicted image data; and a motion vector extracted by the extraction means. Corresponding second storage means for storing the address of the first storage means for generating predicted image data, and second storage means for causing the first storage means to generate predicted image data. Reading means for reading out the stored address of the first storage means based on the type extracted by the extraction means.
【0008】請求項3に記載の画像処理方法は、入力さ
れた画像データから、少なくとも画像データ、タイプ、
および動きベクトルを抽出する抽出ステップと、抽出ス
テップで抽出された画像データを、予測画像データを参
照して元の画像データに変換する変換ステップと、予測
画像データを生成するための画像データを第1のメモリ
に記憶させる第1の記憶ステップと、抽出ステップで抽
出された動きベクトルに対応する、予測画像データを生
成するための、第1のメモリのアドレスを、第2のメモ
リに記憶させる第2の記憶ステップと、第1のメモリに
予測画像データを生成させるための、第2のメモリに記
憶されている第1のメモリのアドレスを、抽出ステップ
で抽出されたタイプに基づいて読み出す読み出しステッ
プとを含むことを特徴とする。According to a third aspect of the present invention, at least image data, type,
An extraction step of extracting the image data extracted in the extraction step, a conversion step of converting the image data extracted in the extraction step into original image data with reference to the prediction image data, and an image data for generating the prediction image data. A first memory step of storing the predicted image data corresponding to the motion vector extracted in the extracting step, the first memory address corresponding to the motion vector extracted in the extracting step, and a second memory address stored in the second memory. And a reading step of reading an address of the first memory stored in the second memory based on the type extracted in the extracting step, for causing the first memory to generate predicted image data. And characterized in that:
【0009】請求項4に記載の提供媒体は、入力された
画像データから、少なくとも画像データ、タイプ、およ
び動きベクトルを抽出する抽出ステップと、抽出ステッ
プで抽出された画像データを、予測画像データを参照し
て元の画像データに変換する変換ステップと、予測画像
データを生成するための画像データを第1のメモリに記
憶させる第1の記憶ステップと、抽出ステップで抽出さ
れた動きベクトルに対応する、予測画像データを生成す
るための、第1のメモリのアドレスを、第2のメモリに
記憶させる第2の記憶ステップと、第1のメモリに予測
画像データを生成させるための、第2のメモリに記憶さ
れている第1のメモリのアドレスを、抽出ステップで抽
出されたタイプに基づいて読み出す読み出しステップと
を含む処理を画像処理装置に実行させるコンピュータが
読み取り可能なプログラムを提供することを特徴とす
る。According to a fourth aspect of the present invention, there is provided the providing medium, comprising: an extracting step of extracting at least image data, a type, and a motion vector from the input image data; A conversion step of referencing and converting to original image data, a first storage step of storing image data for generating predicted image data in a first memory, and a motion vector extracted in the extraction step. A second storage step of storing an address of the first memory for generating predicted image data in a second memory, and a second memory for generating predicted image data in the first memory. A reading step of reading an address of the first memory stored in the memory based on the type extracted in the extracting step. Computer to execute sense apparatus and providing a readable program.
【0010】請求項1に記載の画像処理装置、請求項3
に記載の画像処理方法、および請求項4に記載の提供媒
体においては、予測画像データを生成するためのアドレ
スが予め記憶されており、抽出されたタイプと動きベク
トルに基づいて、そのアドレスが読み出される。[0010] The image processing apparatus according to claim 1, and claim 3.
In the image processing method described in the above, the address for generating the predicted image data is stored in advance, and the address is read out based on the extracted type and the motion vector. It is.
【0011】[0011]
【発明の実施の形態】以下に本発明の実施の形態を説明
するが、特許請求の範囲に記載の発明の各手段と、以下
の実施の形態との対応関係を明らかにするために、各手
段の後の括弧内に、対応する実施の形態(但し一例)を
付加して本発明の特徴を記述すると、次のようになる。
但し勿論この記載は、各手段を記載したものに限定する
ことを意味するものではない。BEST MODE FOR CARRYING OUT THE INVENTION Embodiments of the present invention will be described below. In order to clarify the correspondence between each means of the invention described in the claims and the following embodiments, When the features of the present invention are described by adding the corresponding embodiments (however, examples) in parentheses after the means, the following is obtained.
However, of course, this description does not mean that each means is limited to those described.
【0012】請求項1に記載の画像処理装置は、入力さ
れた画像データから、少なくとも画像データ、タイプ、
および動きベクトルを抽出する抽出手段(例えば、図2
の可変長復号部31)と、抽出手段により抽出された画
像データを、予測画像データを参照して元の画像データ
に変換する変換手段(例えば、図2の逆DCT変換部3
3)と、予測画像データを生成するための画像データを
記憶する第1の記憶手段(例えば、図2のフレームメモ
リ5)と、抽出手段により抽出された動きベクトルに対
応する、予測画像データを生成するための、第1の記憶
手段のアドレスを記憶する第2の記憶手段(例えば、図
2の参照メモリ8)と、第1の記憶手段に予測画像デー
タを生成させるための、第2の記憶手段に記憶されてい
る第1の記憶手段のアドレスを、抽出手段により抽出さ
れたタイプに基づいて読み出す読み出し手段(例えば、
図2のスイッチ9)とを備えることを特徴とする。[0012] The image processing apparatus according to the first aspect of the present invention, based on the input image data, at least image data, type,
And extraction means for extracting motion vectors (for example, FIG.
A variable-length decoding unit 31) and a conversion unit (for example, the inverse DCT conversion unit 3 in FIG. 2) that converts the image data extracted by the extraction unit into the original image data with reference to the predicted image data.
3), first storage means (for example, the frame memory 5 in FIG. 2) for storing image data for generating predicted image data, and predicted image data corresponding to the motion vector extracted by the extraction means. A second storage unit (for example, the reference memory 8 in FIG. 2) for storing an address of the first storage unit for generating, and a second storage unit for causing the first storage unit to generate predicted image data. Reading means for reading the address of the first storage means stored in the storage means based on the type extracted by the extraction means (for example,
And the switch 9) of FIG.
【0013】請求項2に記載の画像処理装置は、タイプ
の変更を検出する検出手段(例えば、図8のステップS
1)と、検出手段によりタイプの変更が検出されたと
き、第2の記憶手段から読み出すアドレスを変更させる
変更手段(例えば、図8のステップS2)とをさらに備
えることを特徴とする。[0013] The image processing apparatus according to the second aspect of the present invention is a detecting means for detecting a change in type (for example, step S in FIG. 8)
1) and a change unit (for example, step S2 in FIG. 8) for changing an address read from the second storage unit when a change in type is detected by the detection unit.
【0014】図1は、MPEG2方式で符号化(エンコー
ド)されたデータを復号(デコード)する画像復号装置
の構成例を表している。チューナ1により受信された画
像データは、復調処理部2において復調処理され、誤り
訂正処理部3により、誤り訂正処理される。さらに、誤
り訂正処理された画像データは、ソフトウェア処理部4
に送られる。このソフトウェア処理部4は、CPUによっ
て実行されるソフトウェアプログラムによって構成され
る。FIG. 1 shows an example of the configuration of an image decoding apparatus that decodes (decodes) data encoded according to the MPEG2 system. The image data received by the tuner 1 is subjected to demodulation processing in the demodulation processing unit 2, and is subjected to error correction processing by the error correction processing unit 3. Further, the error-corrected image data is sent to the software processing unit 4.
Sent to The software processing unit 4 is configured by a software program executed by the CPU.
【0015】デマルチプレクサ部11は、入力されたデ
ータを、チャンネル毎に画像データとオーディオデータ
とにデマルチプレクスする。デマルチプレクスされた画
像データは、MPEGデコード部12においてMPEG方式でデ
コードされる。MPEGデコード部12の出力は、画枠変換
処理部13において、例えば、ハイビジョンに代表され
る高品位テレビジョン信号の画枠から、NTSC方式のテレ
ビジョン信号の画枠に、画枠変換処理される。また、コ
ントローラ14は、MPEGデコード部12の他、ソフトウ
ェア処理部4の各部を制御すると共に、画像データの処
理に際し、キャッシュメモリ7を随時使用する。The demultiplexer 11 demultiplexes the input data into image data and audio data for each channel. The demultiplexed image data is decoded by the MPEG decoding unit 12 using the MPEG method. The output of the MPEG decoding unit 12 is subjected to image frame conversion processing in the image frame conversion processing unit 13 from, for example, an image frame of a high-definition television signal typified by HDTV to an image frame of an NTSC television signal. . Further, the controller 14 controls each unit of the software processing unit 4 in addition to the MPEG decoding unit 12, and uses the cache memory 7 as needed when processing image data.
【0016】DMAC(Direct Memory Access Controler)6
は、キャッシュメモリ7からフレームメモリ5へのDMA
転送を制御する。フレームメモリ5は、例えば、DRAM(D
ynamic Randam Access Memory)で構成される。フレーム
メモリ5から、処理された画像データが、図示されてい
ない画像出力装置へと出力される。DMAC (Direct Memory Access Controller) 6
Is the DMA from the cache memory 7 to the frame memory 5
Control the transfer. The frame memory 5 is, for example, a DRAM (D
dynamic Randam Access Memory). The processed image data is output from the frame memory 5 to an image output device (not shown).
【0017】例えばRAMによりなる参照メモリ8は、n
個の参照メモリ(領域)8−1乃至8−nで構成されて
いる。参照メモリ8(参照メモリ8−1乃至8−nを個
々に区別する必要がない場合、以下において、単に、参
照メモリ8と称する)は、動きベクトルに基づいて、フ
レームメモリ5から予測マクロブロックの画像データを
読み出すのに必要なオフセットアドレスを、画像タイ
プ、予測タイプなどのタイプ毎に記憶している。The reference memory 8 composed of, for example, a RAM has n
It is composed of reference memories (areas) 8-1 to 8-n. The reference memory 8 (hereinafter, simply referred to as the reference memory 8 when it is not necessary to individually distinguish the reference memories 8-1 to 8-n), stores the predicted macroblock from the frame memory 5 based on the motion vector. An offset address required for reading image data is stored for each type such as an image type and a prediction type.
【0018】例えば、参照メモリ8−1乃至8−nに
は、フレーム予測モードにおける、輝度データの予測マ
クロブロックを生成する場合のオフセットアドレス、お
よびクロマデータの予測マクロブロックを生成する場合
のオフセットアドレス、フィールド予測モードにおけ
る、輝度データの予測マクロブロックを読み出すのに必
要なオフセットアドレス、およびクロマデータの予測マ
クロブロックを読み出すのに必要なオフセットアドレ
ス、デュアルプライム予測モードにおける、フレーム構
造の2つの輝度データのうちの第1の輝度データの予測
マクロブロックを読み出すのに必要なオフセットアドレ
ス、第2の輝度データの予測マクロブロックを読み出す
のに必要なオフセットアドレス、第1のクロマデータの
予測マクロブロックを読み出すのに必要なオフセットア
ドレス、第2のクロマデータの予測マクロブロックを読
み出すのに必要なオフセットアドレス、さらに、デュア
ルプライム予測モードにおける、フィールド構造の2つ
の輝度データのうちの第1の輝度データの予測マクロブ
ロックを読み出すのに必要なオフセットアドレス、第2
の輝度データの予測マクロブロックを読み出すのに必要
なオフセットアドレス、2つのクロマデータのうちの第
1のクロマデータの予測マクロブロックを読み出すのに
必要なオフセットアドレス、および第2のクロマデータ
の予測マクロブロックを読み出すのに必要なオフセット
アドレスなどが記憶されている。For example, in the reference memories 8-1 to 8-n, an offset address for generating a predicted macroblock of luminance data and an offset address for generating a predicted macroblock of chroma data in the frame prediction mode. Offset address required to read a predicted macroblock of luminance data in field prediction mode, and offset address required to read a predicted macroblock of chroma data in frame prediction mode; two luminance data of frame structure in dual prime prediction mode Of the first luminance data, the offset address required to read the second luminance data predicted macroblock, and the first chroma data predicted macroblock. The offset address required to output the predicted macroblock of the second chroma data, the offset address required to read the predicted macroblock of the second chroma data, and the first luminance data of the two luminance data of the field structure in the dual prime prediction mode. Offset address required to read predicted macroblock, second
Offset address required to read the predicted macroblock of the luminance data, the offset address required to read the predicted macroblock of the first chroma data of the two chroma data, and the predicted macro of the second chroma data An offset address and the like necessary for reading a block are stored.
【0019】参照メモリ8−1乃至8−nは、ソフトウ
エア処理部4から動きベクトルが供給されてきたとき、
その動きベクトルをアドレスとする位置に記憶されてい
るフレームメモリ5のオフセットアドレスを出力する。
スイッチ9は、ソフトウエア処理部4から供給される動
き補償予測モードに基づいて、参照メモリ8−1乃至8
−nの出力するオフセットアドレスのうち、所定のもの
を選択し、フレームメモリ5に出力する。When a motion vector is supplied from the software processing unit 4, the reference memories 8-1 to 8-n store
An offset address of the frame memory 5 stored at a position having the motion vector as an address is output.
The switch 9 controls the reference memories 8-1 to 8-8 based on the motion compensation prediction mode supplied from the software processing unit 4.
A predetermined address is selected from among the offset addresses output from −n and output to the frame memory 5.
【0020】図2は、MPEGデコード部12のより詳細な
構成例を表している。デマルチプレクスされた入力画像
信号は、可変長復号部31において、可変長復号処理さ
れる。可変長復号部31は、1スライス分の復号した画
像データと量子化ステップを逆量子化部32に出力する
と共に、動きベクトルを参照メモリ8に出力する。可変
長復号部31はまた、動き補償予測モードをスイッチ9
にそれぞれ出力する。逆量子化部32は、可変長復号部
31より供給された量子化ステップに基づいて、可変長
復号処理された画像データを逆量子化する。逆量子化さ
れた1スライス分の画像データは、コントローラ14を
介して、キャッシュメモリ7に格納される。FIG. 2 shows a more detailed configuration example of the MPEG decoding unit 12. The demultiplexed input image signal is subjected to variable-length decoding in a variable-length decoding unit 31. The variable length decoding unit 31 outputs the decoded image data for one slice and the quantization step to the inverse quantization unit 32, and outputs the motion vector to the reference memory 8. The variable length decoding unit 31 also sets the motion compensation prediction mode to the switch 9
Respectively. The inverse quantization unit 32 inversely quantizes the image data that has been subjected to the variable length decoding based on the quantization step supplied from the variable length decoding unit 31. The inversely quantized image data for one slice is stored in the cache memory 7 via the controller 14.
【0021】キャッシュメモリ7より読み出されたデー
タ(DCT係数)は、逆DCT変換部33で、逆DCT変換(離
散コサイン変換)処理され、元の画像データに戻され
る。The data (DCT coefficients) read from the cache memory 7 is subjected to an inverse DCT transform (discrete cosine transform) by an inverse DCT transform unit 33, and is returned to the original image data.
【0022】イントラマクロブロックの場合、逆DCT変
換部33で、逆DCT変換処理された画像データは、その
まま、キャッシュメモリ7のスライス出力バッファ7a
に転送され格納される。In the case of an intra macro block, the image data that has been subjected to the inverse DCT transformation processing by the inverse DCT transformation section 33 is directly used as a slice output buffer 7a of the cache memory 7.
Is transferred and stored.
【0023】ノンイントラマクロブロックの場合、可変
長復号部31から参照メモリ8−1乃至8−nに動きベ
クトルが供給される。参照メモリ8−1乃至8−nは、
入力された動きベクトルに対応するアドレスに記憶され
ているフレームメモリ5のオフセットアドレスを発生す
る。スイッチ9は、可変長復号部31より供給される動
き補償予測モードに対応して、参照メモリ8−1乃至8
−nの出力するオフセットアドレスのうちの所定のもの
を選択し、フレームメモリ5に出力する。フレームメモ
リ5は、このとき入力されたオフセットアドレスに記憶
されている予測マクロブロックを読み出し、その画像デ
ータをライン単位で、キャッシュメモリ7の予測バッフ
ァ7bに出力し、記憶させる。In the case of a non-intra macro block, a motion vector is supplied from the variable length decoding unit 31 to the reference memories 8-1 to 8-n. The reference memories 8-1 to 8-n are:
An offset address of the frame memory 5 stored at an address corresponding to the input motion vector is generated. The switch 9 corresponds to the motion compensation prediction mode supplied from the variable length decoding unit 31, and stores the reference memories 8-1 to 8-8.
A predetermined one of the offset addresses output from −n is selected and output to the frame memory 5. The frame memory 5 reads the predicted macroblock stored at the offset address input at this time, and outputs the image data line by line to the prediction buffer 7b of the cache memory 7 and stores it.
【0024】演算部34は、逆DCT変換部33から供給
される注目マクロブロックの画像データ(差分データ)
と予測バッファ7bから供給される予測マクロブロック
とを加算して、デコード画像データとし、スライス出力
バッファ7aに転送する。そして、キャッシュメモリ7
のスライス出力バッファ7aに記憶された、1スライス
分の画像データは、DMAC6の制御に基づいて、フレーム
メモリ5にDMA転送される。The arithmetic unit 34 is provided with image data (difference data) of the macroblock of interest supplied from the inverse DCT transform unit 33.
And the predicted macroblock supplied from the prediction buffer 7b, and the result is decoded image data, which is transferred to the slice output buffer 7a. And the cache memory 7
The image data for one slice stored in the slice output buffer 7a is DMA-transferred to the frame memory 5 under the control of the DMAC 6.
【0025】画像復号装置の動作について説明する。チ
ューナ1が、画像データを受信し、復調処理部2に、そ
の画像データを出力する。画像データを受信した復調処
理部2は、受信した画像データを復調処理し、復調処理
した画像データを、誤り訂正処理部3に出力する。復調
処理された画像データを受信した誤り訂正部3は、その
画像データを、誤り訂正処理し、ソフトウェア処理部4
に出力する。The operation of the image decoding device will be described. The tuner 1 receives the image data and outputs the image data to the demodulation processing unit 2. The demodulation processing unit 2 that has received the image data demodulates the received image data, and outputs the demodulated image data to the error correction processing unit 3. The error correction unit 3 that has received the demodulated image data performs an error correction process on the image data, and executes a software processing unit 4.
Output to
【0026】誤り訂正処理された画像データを受信した
ソフトウェア処理部4は、ソフトウェア処理部4のデマ
ルチプレクサ部11において、受信した画像データを、
チャンネル毎に画像データとオーディオデータにデマル
チプレクスし、MPEGデコード部12に出力する。The software processing unit 4 having received the error-corrected image data, the demultiplexer unit 11 of the software processing unit 4 converts the received image data into
The image data and audio data are demultiplexed for each channel and output to the MPEG decoding unit 12.
【0027】MPEGデコード部12は、コントローラ14
によって制御され、キャッシュメモリ7およびフレーム
メモリ5を随時使用して画像データをデコードする。デ
コードされた画像データは、キャッシュメモリ7のスラ
イス出力バッファに一旦格納された後、DMAC6によりフ
レームメモリ5にDMA転送される。画枠変換処理する必
要があるとき、コントローラ14は、画枠変換処理部1
3を制御し、フレームメモリ5に記憶された画像データ
を読み出させ、画枠変換処理させた後、再びフレームメ
モリ5に格納させる。そして、フレームメモリ5は、必
要に応じて画枠変換処理された画像データを、図示しな
い画像出力装置に出力する。The MPEG decoding unit 12 includes a controller 14
The image data is decoded by using the cache memory 7 and the frame memory 5 as needed. The decoded image data is temporarily stored in a slice output buffer of the cache memory 7 and then DMA-transferred to the frame memory 5 by the DMAC 6. When the image frame conversion processing needs to be performed, the controller 14
3 is controlled so that the image data stored in the frame memory 5 is read out, subjected to image frame conversion processing, and then stored in the frame memory 5 again. Then, the frame memory 5 outputs the image data subjected to the image frame conversion processing as necessary to an image output device (not shown).
【0028】さらに、図2のMPEGデコード部12の詳細
な動作について説明する。可変長復号部31は、1スラ
イス分のマクロブロックを可変長復号処理する。逆量子
化部32は、その復調データを逆量子化し、1スライス
分の逆量子化したデータを、一旦、キャッシュメモリ7
に格納する。これにより、画素データ(DCT係数)だけ
でなく、動きベクトル、マクロブロックの画像タイプ、
予測タイプといったタイプのデータが、1スライス分得
られる。Further, a detailed operation of the MPEG decoding unit 12 shown in FIG. 2 will be described. The variable length decoding unit 31 performs a variable length decoding process on a macroblock for one slice. The inverse quantization unit 32 inversely quantizes the demodulated data and temporarily stores the inversely quantized data for one slice in the cache memory 7.
To be stored. This allows not only pixel data (DCT coefficients), but also motion vectors, macroblock image types,
Data of a type such as a prediction type is obtained for one slice.
【0029】次に、コントローラ14は、キャッシュメ
モリ7に格納されている逆量子化された1スライス分の
画像データから、マクロブロックタイプに基づいて、イ
ントラマクロブロックのDCT係数を読み出させ、逆DCT変
換部33に供給させる。逆DCT変換部33は、イントラ
マクロブロックのDCT係数を、逆DCT変換処理する。そし
て、逆DCT変換処理された画像データは、図3に示すよ
うに、キャッシュメモリ7のスライス出力バッファ7a
の所定の位置に格納される。Next, the controller 14 causes the DCT coefficients of the intra macroblock to be read based on the macroblock type from the inversely quantized one-slice image data stored in the cache memory 7. It is supplied to the DCT converter 33. The inverse DCT transform unit 33 performs an inverse DCT transform process on the DCT coefficients of the intra macroblock. Then, the image data that has been subjected to the inverse DCT conversion processing is, as shown in FIG.
At a predetermined position.
【0030】図3の例では、灰色の薄いグラデーション
のマスは、イントラマクロブロックを示し、それ以外の
白いマスは、ノンイントラマクロブロックを示す。同図
に示すように、スライス出力バッファ7aには、デコー
ドが完了したイントラマクロブロックのデータが対応す
る位置に格納される。In the example of FIG. 3, the gray light gray squares represent intra macroblocks, and the other white squares represent non-intra macroblocks. As shown in the figure, in the slice output buffer 7a, the data of the decoded intra macroblock is stored at the corresponding position.
【0031】続いて、コントローラ14は、キャッシュ
メモリ7に格納されたマクロブロックタイプに基づい
て、ノンイントラマクロブロックを選別し、対応する動
きベクトルを復元する。Subsequently, the controller 14 selects a non-intra macro block based on the macro block type stored in the cache memory 7 and restores a corresponding motion vector.
【0032】そして、コントローラ14は、動きベクト
ルに対応する予測マクロブロックを、フレームメモリ5
のアドレスの順に並び替える。すなわち、デコードする
スライスに対して、図4に示すように予測マクロブロッ
クが分布していた場合、フレームメモリ5のアドレス順
に並び替えると、予測マクロブロックの順番は、6、1
4、11、15、1、4、5、8、16、12、13、
17、7、9、10、2、3、18、19のように、よ
り上のラインの画素を含む予測マクロブロックが、より
先の予測マクロブロックとなる。Then, the controller 14 stores the predicted macro block corresponding to the motion vector in the frame memory 5.
In the order of the addresses. In other words, if the predicted macroblocks are distributed as shown in FIG. 4 for the slice to be decoded, the order of the predicted macroblocks is 6, 1
4, 11, 15, 1, 4, 5, 8, 16, 12, 13,
A predicted macroblock including pixels in an upper line, such as 17, 7, 9, 10, 2, 3, 18, and 19, becomes a predicted macroblock earlier.
【0033】次に、コントローラ14は、参照メモリ8
を制御し、各予測マクロブロックを、並べ替えた順番
に、ライン毎に、フレームメモリ5から読み出させるた
めのアドレスを発生させる。発生されたアドレスは、ス
イッチ9を介してフレームメモリ5に入力される(この
場合の参照メモリ8とスイッチ9の詳細な動作について
は後述する)。フレームメモリ5は、入力されたアドレ
スに対応する予測マクロブロックの画像データを読み出
し、図5に示すように、キャッシュメモリ7の予測バッ
ファ7bに格納させる。Next, the controller 14 operates the reference memory 8
, And generates an address for reading each predicted macroblock from the frame memory 5 line by line in the rearranged order. The generated address is input to the frame memory 5 via the switch 9 (detailed operations of the reference memory 8 and the switch 9 in this case will be described later). The frame memory 5 reads the image data of the predicted macro block corresponding to the input address, and stores the read image data in the prediction buffer 7b of the cache memory 7, as shown in FIG.
【0034】例えば、図4の例では、最初にラインL1
の画素データの内、6番の予測マクロブロックの画素デ
ータが読み出される。ラインL2の画素データが読み出
されるときは、番号6の予測マクロブロックの画素デー
タに続いて、番号14の予測マクロブロックの画素デー
タが読み出される。For example, in the example of FIG.
Of the pixel data of the sixth predicted macro block is read out. When the pixel data of the line L2 is read, the pixel data of the prediction macro block of No. 14 is read following the pixel data of the prediction macro block of No. 6.
【0035】ライン毎に読み出された画素データは、図
5に示すように、ライン毎に、予測バッファ7bの対応
する予測マクロブロックの位置に書き込まれる。図5に
おいて、黒いマスは、処理中のスライスのデコード済み
のイントラマクロブロックを示し、灰色のグラデーショ
ンのマスは、キャッシュメモリ7のスライス出力バッフ
ァ7aに格納済みとなっているそのイントラマクロブロ
ックを示す。また、実線で囲まれた白のマスは、予測バ
ッファ7bに記憶されている予測マクロブロックを示
す。予測マクロブロックは、処理対象スライスのイント
ラマクロブロック以外のノンイントラマクロブロックが
対応する位置に記憶されている。As shown in FIG. 5, the pixel data read out for each line is written to the position of the corresponding predicted macro block in the prediction buffer 7b for each line. In FIG. 5, a black cell indicates a decoded intra macroblock of the slice being processed, and a gray gradation cell indicates the intra macroblock stored in the slice output buffer 7 a of the cache memory 7. . A white cell surrounded by a solid line indicates a predicted macroblock stored in the prediction buffer 7b. The predicted macroblock is stored at a position corresponding to a non-intra macroblock other than the intra macroblock of the slice to be processed.
【0036】そして、コントローラ14は、キャッシュ
メモリ7に記憶されているノンイントラマクロブロック
(注目マクロブロック)を読み出させ、逆DCT変換部3
3に出力し、逆DCT変換させる。コントローラ14は、
また、予測バッファ7bから予測マクロブロックを読み
出させ、演算部34に供給させる。演算部34は、逆DC
T変換部33より入力されたデータと、予測バッファ7
bより入力されたデータとを加算し、スライス出力バッ
ファ7aの対応する位置(イントラマクロブロックのデ
ータが記憶されていない位置)に記憶させる。図6は、
このようにして1スライス分のデータが、全てデコード
された状態で、スライス出力バッファ7aに格納されて
いる状態を示している。Then, the controller 14 causes the non-intra macro block (target macro block) stored in the cache memory 7 to be read, and
3 for inverse DCT transformation. The controller 14
Further, it causes the prediction unit 7 to read out the predicted macroblock from the prediction buffer 7b and supply it to the arithmetic unit 34. The operation unit 34 is an inverse DC
The data input from the T conversion unit 33 and the prediction buffer 7
The data input from b is added and stored at a corresponding position (a position where intra macroblock data is not stored) in the slice output buffer 7a. FIG.
This shows a state in which the data for one slice is stored in the slice output buffer 7a in a state where it is all decoded.
【0037】図6において、スライス出力バッファ7a
の灰色のグラデーションのマスは、イントラマクロブロ
ックを示し、黒のマスは、ノンイントラマクロブロック
を示す。また、予測バッファ7bの白いマスは、予測マ
クロブロックを示す。In FIG. 6, the slice output buffer 7a
The gray shaded cells indicate intra macroblocks, and the black cells indicate non-intra macroblocks. The white cells in the prediction buffer 7b indicate predicted macroblocks.
【0038】さらに、コントローラ14は、DMAC6を制
御し、スライス出力バッファ7aに格納されている1ス
ライス分のデコードされたデータを、図7に示すよう
に、フレームメモリ5にDMA転送させ、デコードされた
画像データを、フレームメモリ5に格納させる。フレー
ムメモリ5は、複数のバンクを有し、コントローラ14
は、以上のようにして、デコードデータが、書き込まれ
ている最中のバンク以外の、既に書き込みが完了してい
るバンクから、デコードされ、記憶されている画像デー
タを、1ライン毎に読み出させ、出力させる。Further, the controller 14 controls the DMAC 6 to transfer the decoded data of one slice stored in the slice output buffer 7a to the frame memory 5 as shown in FIG. The stored image data is stored in the frame memory 5. The frame memory 5 has a plurality of banks,
Reads out the decoded and stored image data line by line from the bank to which the writing has already been completed, other than the bank in which the decoding data is being written, as described above. And output.
【0039】上記のように、イントラマクロブロックと
ノンイントラマクロブロックの処理が、スライス毎に一
括処理されると、DCT係数および動きベクトルが共に差
分信号処理であるため、処理効率が向上する。As described above, when the processing of the intra macroblock and the non-intra macroblock is collectively processed for each slice, the DCT coefficient and the motion vector are both differential signal processing, so that the processing efficiency is improved.
【0040】また、予測マクロブロックの読み出しにお
いて、フレームメモリ5のライン毎に、かつ、アドレス
の順番通りに読み出すので、1ラインの読み出し中に、
複数の予測ブロックのデータを読み出すことが可能とな
り、メモリのページミスの発生頻度を低下させることが
できる。In the reading of the predicted macro block, the reading is performed for each line of the frame memory 5 and in the order of the addresses.
Data of a plurality of prediction blocks can be read, and the frequency of page errors in the memory can be reduced.
【0041】更に、キャッシュメモリ7のスライス出力
バッファ7aに格納されたデコード済みの1スライス分
のデータをDMA転送によって、フレームメモリ5に転送
するため、メモリバンド幅を効率よく使用することがで
きる。Further, since one slice of decoded data stored in the slice output buffer 7a of the cache memory 7 is transferred to the frame memory 5 by DMA transfer, the memory bandwidth can be used efficiently.
【0042】以上においては、スライス出力バッファ7
aのデータをDMAC6によりDMA転送するようにしたが、
コントローラ14によりバースト転送させてもよい。In the above, the slice output buffer 7
The data of a is DMA-transferred by the DMAC6.
Burst transfer may be performed by the controller 14.
【0043】次に、参照メモリ8とスイッチ9のより詳
細な動作についてさらに説明する。参照メモリ8に記憶
されるアドレスは、フレームメモリ5のオフセットアド
レス(注目マクロブロックに対応する予測マクロブロッ
クを読み出すのに必要なアドレス)である。すなわち、
図8に示すように、いま、1フレームの画面がH×V画
素で構成されており、注目マクロブロックの左上の画素
の位置が画面上の座標(h,v)であり、この注目マク
ロブロックに対応する動きベクトルが(dx,dy)で
あるとすると、予測マクロブロックの画面上の位置は、
所定の予測式に、H,V,h,v,dx,dyを適用し
て、画面の左上の位置からのアドレスとして表すことが
できる。この画面の左上の位置からのアドレスが取りも
直さずフレームメモリ5のオフセットアドレスとなる。Next, more detailed operations of the reference memory 8 and the switch 9 will be further described. The address stored in the reference memory 8 is the offset address of the frame memory 5 (the address required to read the predicted macroblock corresponding to the macroblock of interest). That is,
As shown in FIG. 8, the screen of one frame is composed of H × V pixels, and the position of the upper left pixel of the macro block of interest is the coordinates (h, v) on the screen. Is (dx, dy), the position of the predicted macroblock on the screen is
By applying H, V, h, v, dx, and dy to a predetermined prediction formula, it can be represented as an address from the upper left position on the screen. The address from the upper left position of this screen becomes the offset address of the frame memory 5 without being corrected.
【0044】但し、画面がフレーム構造で構成されてい
る場合とフィールド構造で構成されている場合とでは、
予測マクロブロックの左上の画素のアドレスは、異なる
予測式で表される。例えばフレーム予測の場合、予測マ
クロブロックの左上の画素の輝度データのアドレスは、
例えば次の予測式で表される。 H×dy+dx+H×v+h (輝度)However, in the case where the screen is composed of a frame structure and in the case where the screen is composed of a field structure,
The address of the upper left pixel of the prediction macroblock is represented by a different prediction expression. For example, in the case of frame prediction, the address of the luminance data of the upper left pixel of the predicted macroblock is
For example, it is represented by the following prediction formula. H × dy + dx + H × v + h (luminance)
【0045】これに対して、クロマのデータ数は、輝度
データの1/2であるから、例えば次の予測式で表され
る。 (H/2)×(dy/2)+dx/2+(H/2)×(v/2)+(h/2) (クロマ)On the other hand, since the number of chroma data is の of the luminance data, it is expressed by the following prediction formula, for example. (H / 2) × (dy / 2) + dx / 2 + (H / 2) × (v / 2) + (h / 2) (Chroma)
【0046】フィールド予測の場合の輝度データのアド
レスとクロマデータのアドレスは、例えば、次の予測式
で表される。 2×H×dy+dx+H×v+h+(H or 0) (輝度) (H)×(dy/2)+dx/2+(H/2)×(v/2)+h/2+(H/2 or 0) (クロマ)The address of the luminance data and the address of the chroma data in the case of the field prediction are represented by the following prediction formula, for example. 2 × H × dy + dx + H × v + h + (H or 0) (luminance) (H) × (dy / 2) + dx / 2 + (H / 2) × (v / 2) + h / 2 + (H / 2 or 0) (Chroma )
【0047】なお、上記式における(H or 0)のHは、
参照フレーム(予測マクロブロックのフレーム)と入力
フレーム(注目マクロブロックのフレーム)の一方がト
ップフィールドであるのに対して、他方がボトムフィー
ルドである場合に選択される値であり、0は、いずれも
トップフィールドである場合、またはボトムフィールド
である場合に選択される値である。In the above formula, H of (H or 0) is
This is a value selected when one of the reference frame (frame of the predicted macroblock) and the input frame (frame of the macroblock of interest) is the top field, while the other is the bottom field. Is also a value selected when the field is a top field or a bottom field.
【0048】デュアルプライム予測の場合、各フィール
ドブロックに対して、2つの参照フィールドブロックの
平均値から予測が行われる。この場合のフレーム構造に
おける予測式は、例えば次式で表される。 H×dy+dx+H×v+h+(H or 0) (輝度1) (3/2)×{2×H×dy+dx}+H×v+h+(H or 0) (輝度2) または、 (1/2)×{2×H×dy+dx}+H×v+h+(H or 0) (輝度2) (H/2)×(dy/2)+dx/2+(H/2)×(v/2)+h/2+(H/2 or 0) (クロマ1) (3/2)×{H×(dy/2)+dx/2}+(H/2)×(v/2)+h/2+(H/2 or 0) (クロマ2) または、 (1/2)×{H×(dy/2)+dx/2}+(H/2)×(v/2)+h/2+(H/2 or 0) (クロマ2)In the case of dual prime prediction, prediction is performed for each field block from the average value of two reference field blocks. The prediction formula in the frame structure in this case is represented by the following formula, for example. H × dy + dx + H × v + h + (H or 0) (luminance 1) (3/2) × {2 × H × dy + dx} + H × v + h + (H or 0) (luminance 2) or (1/2) × {2 × H × dy + dx} + H × v + h + (H or 0) (luminance 2) (H / 2) × (dy / 2) + dx / 2 + (H / 2) × (v / 2) + h / 2 + (H / 2 or 0 ) (Chroma 1) (3/2) × {H × (dy / 2) + dx / 2} + (H / 2) × (v / 2) + h / 2 + (H / 2 or 0) (Chroma 2) or , (1/2) × {H × (dy / 2) + dx / 2} + (H / 2) × (v / 2) + h / 2 + (H / 2 or 0) (Chroma 2)
【0049】さらに、デュアルプライム予測モードにお
けるフィールド構造の場合の予測式は、例えば次のよう
になる。 2×H×dy+dx+H×v+h+(H or 0) (輝度1) (1/2)×{2×H×dy+dx}+H×v+h+(0 or H) (輝度2) (H)×(dy/2)+dx/2+(H/2)×(v/2)+h/2+0 (クロマ1) (1/2)×{(H)×(dy/2)+dx/2}+(H/2)×(v/2)+h/2+H/2 (クロマ2)Further, the prediction formula in the case of the field structure in the dual prime prediction mode is as follows, for example. 2 × H × dy + dx + H × v + h + (H or 0) (luminance 1) (1/2) × {2 × H × dy + dx} + H × v + h + (0 or H) (luminance 2) (H) × (dy / 2) + Dx / 2 + (H / 2) × (v / 2) + h / 2 + 0 (Chroma 1) (1/2) × {(H) × (dy / 2) + dx / 2} + (H / 2) × (v / 2) + h / 2 + H / 2 (Chroma 2)
【0050】フレーム構造におけるデュアルプライム予
測式の動きベクトルは、2本送られてくるので、後の2
本はデコーダ側で生成する必要がある。この場合、いま
デコードしているのがトップフィールドとボトムフィー
ルドのいずれであるのか、また、予測ベクトルがトップ
フィールドとボトムフィールドのいずれであるのかによ
って違いがあるので、上記予測式における輝度2のとこ
ろが(3/2)をかけるか、または(1/2)をかけるかの
いずれかとなる。これに対して、フィールド構造におけ
るデュアルプライム予測の動きベクトルは、1つだけ送
られてくるので、もう1つは、自分がデコードしている
一番近くのフィールドとなるので、(1/2)が乗算され
る。Since two motion vectors of the dual prime prediction formula in the frame structure are sent,
The book must be generated on the decoder side. In this case, there is a difference depending on whether the current field is being decoded in the top field or the bottom field, and whether the prediction vector is the top field or the bottom field. Either multiply by (3/2) or multiply by (1/2). On the other hand, since only one motion vector of the dual prime prediction in the field structure is sent, and the other is the nearest field being decoded by itself, (1/2) Is multiplied.
【0051】このような予測式に基づいて演算されたフ
レームメモリ5のアドレスが、参照メモリ8−1乃至8
−nに所定のタイミングで記憶される。そこで、例えば
フレーム予測モードで動きベクトル(dx=−8,dy
=15)が可変長復号部31より参照メモリ8に供給さ
れてきたとき、参照メモリ8−1にフレーム構造の輝度
データの予測マクロブロックをフレームメモリ5から読
み出すためのアドレスが記憶されており、参照メモリ8
−2に対応するクロマデータが記憶されているものとす
れば、参照メモリ8−1のアドレス[15][−8]か
ら、この動きベクトルに対応するフレームメモリ5の輝
度データのアドレスが読み出され、参照メモリ8−2の
アドレス[15][−8]から、フレームメモリ5のク
ロマデータのアドレスが読み出され、スイッチ9を介し
て、フレームメモリ5に供給される。これらのアドレス
は、入力された動きベクトルに対応する、輝度データま
たはクロマデータの予測マクロブロックがフレームメモ
リ5に記憶されているアドレスを示しているから、それ
らのアドレスから直ちに輝度データまたはクロマデータ
の予測マクロブロックが読み出されることになる。The addresses of the frame memory 5 calculated based on such a prediction formula are stored in the reference memories 8-1 to 8-8.
−n is stored at a predetermined timing. Therefore, for example, in the frame prediction mode, the motion vector (dx = −8, dy
= 15) is supplied to the reference memory 8 from the variable length decoding unit 31, the reference memory 8-1 stores an address for reading a predicted macroblock of frame-structured luminance data from the frame memory 5, Reference memory 8
Assuming that the chroma data corresponding to -2 is stored, the address of the luminance data of the frame memory 5 corresponding to the motion vector is read from the address [15] [-8] of the reference memory 8-1. Then, the address of the chroma data of the frame memory 5 is read from the address [15] [-8] of the reference memory 8-2 and supplied to the frame memory 5 via the switch 9. These addresses indicate addresses at which predicted macroblocks of luminance data or chroma data corresponding to the input motion vector are stored in the frame memory 5. Therefore, the luminance data or chroma data is immediately transmitted from those addresses. The predicted macroblock will be read.
【0052】動きベクトルの範囲は、高品位テレビジョ
ン方式における場合も含めると、dx=−1920乃至
+1920となり、また、dy=−1088乃至+10
88となる。これらのアドレスに対応するデータを全て
参照メモリ8に記憶しておくものとすると、参照メモリ
8としては、12ビットのアドレスを有するものが必要
となる。このようにすると、参照メモリ8が大型化する
ので、例えば、参照メモリ8を6ビットのアドレスを有
する2つのメモリで構成し、各メモリには、6ビット分
(−63乃至+63)の範囲の上位6ビットのアドレス
と下位6ビットのアドレスを保持させるようにしてもよ
い。このようにすれば、参照メモリ8をより小型化する
ことができる。The range of motion vectors is dx = −1920 to +1920, and dy = −1088 to +10, including the case of the high definition television system.
It becomes 88. Assuming that all data corresponding to these addresses are stored in the reference memory 8, the reference memory 8 needs to have a 12-bit address. By doing so, the reference memory 8 becomes large. For example, the reference memory 8 is composed of two memories having 6-bit addresses, and each memory has a range of 6 bits (−63 to +63). The address of the upper 6 bits and the address of the lower 6 bits may be held. In this way, the size of the reference memory 8 can be further reduced.
【0053】このように、参照メモリ8に、予測マクロ
ブロックをフレームメモリ5から読み出すためのアドレ
スを予め記憶しておくことで、上述した予測式をその都
度演算する場合に較べて、フレームメモリ5のアドレス
を迅速に得ることができ、予測マクロブロックをその分
だけ速く読み出すことが可能となる。As described above, the address for reading the predicted macro block from the frame memory 5 is stored in the reference memory 8 in advance, so that the prediction equation described above is calculated each time. Can be obtained quickly, and the predicted macroblock can be read out correspondingly faster.
【0054】次に、図9のフローチャートを参照して、
コントローラ14が参照メモリ8とスイッチ9を制御し
て、参照メモリ8を切り替える場合の処理例について説
明する。最初にステップS1において、コントローラ1
4は、画サイズに変動があったか否か、プログレッシブ
方式からインターレース方式に、または、インターレー
ス方式からプログレッシブ方式に構造が変更されたか否
かを判定する。このような判定に必要なデータは、MPEG
2方式のストリーム中のシーケンスヘッダに含まれてい
る。そこで、コントローラ14は、可変長復号部31が
シーケンスヘッダから読み出したデータに基づいて、こ
の判定を行う。画サイズに変更があったり、プログレッ
シブ方式からインターレース方式に変更されたり、ある
いはその逆にインターレース方式からプログレッシブ方
式に変更があった場合には、ステップS2に進み、コン
トローラ14は、その変更があった項目に対応する参照
メモリ8−iに記憶されているテーブルを更新する処理
を実行する。すなわち、コントローラ14は、上述した
予測式を用いて新たなアドレスを計算し、その内容で、
既存のテーブルの内容を更新する。ステップS1で、画
サイズ、プログレッシブ方式、インターレース方式など
に変更がないと判定された場合には、ステップS2の更
新処理はスキップされる。Next, referring to the flowchart of FIG.
An example of processing when the controller 14 switches the reference memory 8 by controlling the reference memory 8 and the switch 9 will be described. First, in step S1, the controller 1
No. 4 determines whether or not the image size has changed, and whether or not the structure has been changed from the progressive system to the interlaced system or from the interlaced system to the progressive system. The data required for such determination is MPEG
It is included in the sequence header in the stream of the two systems. Therefore, the controller 14 makes this determination based on the data read from the sequence header by the variable length decoding unit 31. If there is a change in the image size, a change from the progressive system to the interlace system, or conversely, a change from the interlace system to the progressive system, the process proceeds to step S2, and the controller 14 makes the change. A process for updating a table stored in the reference memory 8-i corresponding to the item is executed. That is, the controller 14 calculates a new address using the above-described prediction formula, and
Update the contents of an existing table. If it is determined in step S1 that there is no change in the image size, the progressive method, the interlace method, or the like, the update processing in step S2 is skipped.
【0055】次にステップS3において、画構造がフレ
ーム構造からフィールド構造に、またはその逆に変更さ
れたか否かが判定される。この判定は、各ピクチャ毎に
設けられているピクチャヘッダ中に記述されているの
で、可変長復号部31が出力するピクチャヘッダの情報
から、この変更があったか否かが判定可能である。フィ
ールド構造からフレーム構造に、またはフレーム構造か
らフィールド構造に変更があった場合には、ステップS
4に進み、コントローラ14は、対応する参照メモリ8
−jのテーブルを更新する。この場合にも、上述した予
測式の演算が行われる。ステップS3において、画構造
に変更がないと判定された場合には、ステップS4の処
理はスキップされる。Next, in step S3, it is determined whether the image structure has been changed from the frame structure to the field structure or vice versa. Since this determination is described in the picture header provided for each picture, it is possible to determine whether or not this change has occurred from the information of the picture header output by the variable length decoding unit 31. If there is a change from the field structure to the frame structure or from the frame structure to the field structure, step S
4, the controller 14 determines that the corresponding reference memory 8
-Update the table of j. Also in this case, the calculation of the above-described prediction formula is performed. If it is determined in step S3 that there is no change in the image structure, the processing in step S4 is skipped.
【0056】このように、ストリーム中の所定の項目が
変化し、テーブルを変更する必要が発生したときにだ
け、予測式の再計算が行われる。これにより、従来の場
合のように、その都度予測式を用いてアドレスが計算さ
れる場合に較べて、予測マクロブロックを迅速に生成す
ることが可能となる。As described above, the prediction formula is recalculated only when a predetermined item in the stream changes and the table needs to be changed. This makes it possible to quickly generate a predicted macroblock as compared with the case where an address is calculated each time using a prediction formula as in the conventional case.
【0057】そこで、ステップS5において、参照メモ
リ8に記憶されているテーブルに従って、上述したよう
にして、フレームメモリ5から予測マクロブロックの画
像データが生成され、デコード処理が実行される。ステ
ップS6において、コントローラ14は、フレームデコ
ード処理が終了したか否かを判定し、まだ終了していな
い場合には、ステップS5に戻り、それ以降の処理を繰
り返し実行する。1枚のフレームのデコード処理が終了
したと判定された場合、コントローラ14は、ステップ
S3に戻り、それ以降の処理を繰り返し実行する。以上
のような処理が、各フレーム毎に行われる。In step S5, the image data of the predicted macroblock is generated from the frame memory 5 according to the table stored in the reference memory 8 as described above, and the decoding process is executed. In step S6, the controller 14 determines whether or not the frame decoding process has been completed. If the frame decoding process has not been completed yet, the process returns to step S5, and the subsequent processes are repeatedly executed. If it is determined that the decoding process for one frame has been completed, the controller 14 returns to step S3 and repeatedly executes the subsequent processes. The above processing is performed for each frame.
【0058】画像タイプの変化に応じて、予測タイプの
オフセットテーブルを用意しておけば、画像タイプの変
更の度にオフセットテーブルが再計算されることにな
り、マクロブロック毎の画像タイプの条件判定が不要に
なり、ソフトウエア処理部4における処理時間を結果的
に短くすることが可能となる。If an offset table of the prediction type is prepared according to the change of the image type, the offset table is recalculated every time the image type is changed, and the condition determination of the image type for each macroblock is performed. Becomes unnecessary, and the processing time in the software processing unit 4 can be shortened as a result.
【0059】なお、以上においては、参照メモリ8に全
てのテーブルを予め用意するようにしたが、参照メモリ
8の容量を小さくしておき、必要になったテーブルをそ
の都度参照メモリ8に書き込むようにしたり、より使用
頻度の高いテーブルを優先的に参照メモリ8に用意した
りすることができる。あるいはまた、必要な計算のう
ち、一部を参照メモリ8にテーブルとして予め計算して
記憶しておき、残りの演算をその都度行うようにしても
よい。In the above description, all tables are prepared in the reference memory 8 in advance. However, the capacity of the reference memory 8 is reduced, and a necessary table is written to the reference memory 8 each time. Or a table that is used more frequently can be preferentially prepared in the reference memory 8. Alternatively, some of the necessary calculations may be calculated and stored in advance in the reference memory 8 as a table, and the remaining calculations may be performed each time.
【0060】尚、本明細書中において、上記処理を実行
するコンピュータプログラムをユーザに提供する提供媒
体には、磁気ディスク、CD-ROMなどの情報記録媒体の
他、インターネット、ディジタル衛星などのネットワー
クによる伝送媒体も含まれる。In the present specification, a providing medium for providing a user with a computer program for executing the above processing includes an information recording medium such as a magnetic disk and a CD-ROM, and a network such as the Internet and a digital satellite. Transmission media is also included.
【0061】[0061]
【発明の効果】以上のように、請求項1に記載の画像処
理装置、請求項3に記載の画像処理方法、および請求項
4に記載の提供媒体によれば、アドレスを予め記憶して
おき、抽出されたタイプと動きベクトルに基づいて、対
応するアドレスを読み出すようにしたので、迅速な画像
処理が可能となる。As described above, according to the image processing apparatus according to the first aspect, the image processing method according to the third aspect, and the providing medium according to the fourth aspect, the addresses are stored in advance. Since the corresponding address is read based on the extracted type and the motion vector, rapid image processing can be performed.
【図1】本発明を適用した画像復号装置の一実施の形態
の構成を示すブロック図である。FIG. 1 is a block diagram illustrating a configuration of an embodiment of an image decoding device to which the present invention has been applied.
【図2】図1のMPEGデコード部12の一実施の形態の構
成を示すブロック図である。FIG. 2 is a block diagram illustrating a configuration of an embodiment of an MPEG decoding unit 12 of FIG. 1;
【図3】図2のスライス出力バッファの記憶状態を示す
図である。FIG. 3 is a diagram showing a storage state of a slice output buffer of FIG. 2;
【図4】図2のフレームメモリ5から予測マクロブロッ
クを読み出すときの動作を説明する図である。FIG. 4 is a diagram for explaining an operation when reading a predicted macroblock from the frame memory 5 of FIG. 2;
【図5】図2の予測フレームバッファの記憶状態を示す
図である。FIG. 5 is a diagram showing a storage state of a prediction frame buffer of FIG. 2;
【図6】図2のスライス出力バッファの7aの、1スラ
イス分のマクロブロックをデコードしたときの状態を示
す図である。FIG. 6 is a diagram showing a state when a macroblock for one slice of the slice output buffer 7a of FIG. 2 is decoded.
【図7】図2のスライス出力バッファの7aからフレー
ムメモリ5への1スライス分のマクロブロックのDMA転
送を説明するための図である。FIG. 7 is a diagram for explaining DMA transfer of a macroblock for one slice from the slice output buffer 7a of FIG. 2 to the frame memory 5;
【図8】注目マクロブロックと予測マクロブロックの位
置関係を説明する図である。FIG. 8 is a diagram illustrating a positional relationship between a macro block of interest and a predicted macro block.
【図9】図2のMPEGデコード部12の処理を説明するフ
ローチャートである。FIG. 9 is a flowchart illustrating a process of the MPEG decoding unit 12 of FIG. 2;
4 ソフトウェア処理部, 5 フレームメモリ, 6
DMAC, 7 キャッシュメモリ, 7a スライス出
力バッファ, 7b 予測バッファ, 8 参照メモ
リ, 9 スイッチ, 12 MPEGデコード部, 14
コントローラ,31 可変長復号部, 32 逆量子
化部, 33 逆DCT変換部, 34演算部4 software processing unit, 5 frame memory, 6
DMAC, 7 cache memory, 7a slice output buffer, 7b prediction buffer, 8 reference memory, 9 switch, 12 MPEG decoding unit, 14
Controller, 31 variable length decoding unit, 32 inverse quantization unit, 33 inverse DCT transform unit, 34 operation unit
フロントページの続き Fターム(参考) 5C053 FA17 FA20 FA23 FA30 GB07 GB19 GB22 GB26 GB29 GB32 GB38 HA33 JA30 KA03 KA08 KA19 KA22 KA24 LA07 LA14 5C059 KK11 MA00 MA01 MA23 MC11 MC38 ME01 NN21 PP16 SS02 SS03 SS08 SS12 SS24 TA00 TB06 TB07 TC00 TC12 TC24 TC25 TD05 TD06 UA05 UA33 UA36 Continued on front page F-term (reference) 5C053 FA17 FA20 FA23 FA30 GB07 GB19 GB22 GB26 GB29 GB32 GB38 HA33 JA30 KA03 KA08 KA19 KA22 KA24 LA07 LA14 5C059 KK11 MA00 MA01 MA23 MC11 MC38 ME01 NN21 PP16 SS02 SS03 SS08 SS12 SS07 TA00 TB06 TB12 TC24 TC25 TD05 TD06 UA05 UA33 UA36
Claims (4)
画像データ、タイプ、および動きベクトルを抽出する抽
出手段と、 前記抽出手段により抽出された前記画像データを、予測
画像データを参照して元の画像データに変換する変換手
段と、 前記予測画像データを生成するための画像データを記憶
する第1の記憶手段と、 前記抽出手段により抽出された前記動きベクトルに対応
する、前記予測画像データを生成するための、前記第1
の記憶手段のアドレスを記憶する第2の記憶手段と、 前記第1の記憶手段に前記予測画像データを生成させる
ための、前記第2の記憶手段に記憶されている前記第1
の記憶手段のアドレスを、前記抽出手段により抽出され
た前記タイプに基づいて読み出す読み出し手段とを備え
ることを特徴とする画像処理装置。1. An extracting unit for extracting at least image data, a type, and a motion vector from input image data, and extracting the image data extracted by the extracting unit from an original image by referring to predicted image data. Conversion means for converting the data into data; first storage means for storing image data for generating the predicted image data; and generation of the predicted image data corresponding to the motion vector extracted by the extraction means. The first for
Second storage means for storing the address of the storage means, and the first storage means stored in the second storage means for causing the first storage means to generate the predicted image data.
An image processing apparatus comprising: a reading unit that reads an address of the storage unit based on the type extracted by the extraction unit.
と、 前記検出手段により前記タイプの変更が検出されたと
き、前記第2の記憶手段から読み出すアドレスを変更さ
せる変更手段とをさらに備えることを特徴とする請求項
1に記載の画像処理装置。2. The apparatus according to claim 1, further comprising: detecting means for detecting the change of the type; and changing means for changing an address read from the second storage means when the change of the type is detected by the detecting means. The image processing apparatus according to claim 1, wherein:
画像データ、タイプ、および動きベクトルを抽出する抽
出ステップと、 前記抽出ステップで抽出された前記画像データを、予測
画像データを参照して元の画像データに変換する変換ス
テップと、 前記予測画像データを生成するための画像データを第1
のメモリに記憶させる第1の記憶ステップと、 前記抽出ステップで抽出された前記動きベクトルに対応
する、前記予測画像データを生成するための、前記第1
のメモリのアドレスを、第2のメモリに記憶させる第2
の記憶ステップと、 前記第1のメモリに前記予測画像データを生成させるた
めの、前記第2のメモリに記憶されている前記第1のメ
モリのアドレスを、前記抽出ステップで抽出された前記
タイプに基づいて読み出す読み出しステップとを含むこ
とを特徴とする画像処理方法。3. An extraction step of extracting at least image data, a type, and a motion vector from input image data, and extracting the image data extracted in the extraction step by referring to predicted image data to obtain an original image. Converting image data for generating the predicted image data into a first image data;
A first storing step of storing the predicted image data corresponding to the motion vector extracted in the extracting step.
Is stored in the second memory.
Storing the address of the first memory stored in the second memory for causing the first memory to generate the predicted image data according to the type extracted in the extracting step. And a reading step of reading based on the image processing method.
画像データ、タイプ、および動きベクトルを抽出する抽
出ステップと、 前記抽出ステップで抽出された前記画像データを、予測
画像データを参照して元の画像データに変換する変換ス
テップと、 前記予測画像データを生成するための画像データを第1
のメモリに記憶させる第1の記憶ステップと、 前記抽出ステップで抽出された前記動きベクトルに対応
する、前記予測画像データを生成するための、前記第1
のメモリのアドレスを、第2のメモリに記憶させる第2
の記憶ステップと、 前記第1のメモリに前記予測画像データを生成させるた
めの、前記第2のメモリに記憶されている前記第1のメ
モリのアドレスを、前記抽出ステップで抽出された前記
タイプに基づいて読み出す読み出しステップとを含む処
理を画像処理装置に実行させるコンピュータが読み取り
可能なプログラムを提供することを特徴とする提供媒
体。4. An extracting step of extracting at least image data, a type, and a motion vector from input image data, and extracting the image data extracted in the extracting step by referring to predicted image data to obtain an original image. Converting image data for generating the predicted image data into a first image data;
A first storing step of storing the predicted image data corresponding to the motion vector extracted in the extracting step.
Is stored in the second memory.
Storing the address of the first memory stored in the second memory for causing the first memory to generate the predicted image data according to the type extracted in the extracting step. A computer-readable storage medium that provides a computer-readable program that causes an image processing apparatus to execute a process including a reading step of reading based on a computer program.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP34504198A JP2000175199A (en) | 1998-12-04 | 1998-12-04 | Image processor, image processing method and providing medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP34504198A JP2000175199A (en) | 1998-12-04 | 1998-12-04 | Image processor, image processing method and providing medium |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2000175199A true JP2000175199A (en) | 2000-06-23 |
Family
ID=18373897
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP34504198A Withdrawn JP2000175199A (en) | 1998-12-04 | 1998-12-04 | Image processor, image processing method and providing medium |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2000175199A (en) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020000392A (en) * | 2000-06-24 | 2002-01-05 | 박종섭 | Self diagnostic apparatus in variable length decoder |
JP2006501697A (en) * | 2001-12-04 | 2006-01-12 | クゥアルコム・インコーポレイテッド | Processing digital video data |
JP2007524309A (en) * | 2004-02-20 | 2007-08-23 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | Video decoding method |
JPWO2007055013A1 (en) * | 2005-11-11 | 2009-04-30 | 富士通株式会社 | Image decoding apparatus and method, and image encoding apparatus |
JP2010212817A (en) * | 2009-03-06 | 2010-09-24 | Panasonic Corp | Image decoding apparatus and image decoding method |
JP2011193453A (en) * | 2010-02-22 | 2011-09-29 | Panasonic Corp | Decoding apparatus and decoding method |
US8170104B2 (en) | 2003-11-10 | 2012-05-01 | Samsung Electronics Co., Ltd. | Apparatus and method for motion vector prediction |
WO2014006959A1 (en) * | 2012-07-02 | 2014-01-09 | 株式会社エヌ・ティ・ティ・ドコモ | Video prediction encoding device, video prediction encoding method, video prediction encoding program, video prediction decoding device, video prediction decoding method, and video prediction decoding program |
-
1998
- 1998-12-04 JP JP34504198A patent/JP2000175199A/en not_active Withdrawn
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020000392A (en) * | 2000-06-24 | 2002-01-05 | 박종섭 | Self diagnostic apparatus in variable length decoder |
JP2006501697A (en) * | 2001-12-04 | 2006-01-12 | クゥアルコム・インコーポレイテッド | Processing digital video data |
JP2011083000A (en) * | 2001-12-04 | 2011-04-21 | Qualcomm Inc | Processing digital video data |
US8170104B2 (en) | 2003-11-10 | 2012-05-01 | Samsung Electronics Co., Ltd. | Apparatus and method for motion vector prediction |
JP2007524309A (en) * | 2004-02-20 | 2007-08-23 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | Video decoding method |
JPWO2007055013A1 (en) * | 2005-11-11 | 2009-04-30 | 富士通株式会社 | Image decoding apparatus and method, and image encoding apparatus |
JP4675383B2 (en) * | 2005-11-11 | 2011-04-20 | 富士通株式会社 | Image decoding apparatus and method, and image encoding apparatus |
JP2010212817A (en) * | 2009-03-06 | 2010-09-24 | Panasonic Corp | Image decoding apparatus and image decoding method |
US8406306B2 (en) | 2009-03-06 | 2013-03-26 | Panasonic Corporation | Image decoding apparatus and image decoding method |
JP2011193453A (en) * | 2010-02-22 | 2011-09-29 | Panasonic Corp | Decoding apparatus and decoding method |
WO2014006959A1 (en) * | 2012-07-02 | 2014-01-09 | 株式会社エヌ・ティ・ティ・ドコモ | Video prediction encoding device, video prediction encoding method, video prediction encoding program, video prediction decoding device, video prediction decoding method, and video prediction decoding program |
CN104380736A (en) * | 2012-07-02 | 2015-02-25 | 株式会社Ntt都科摩 | Video prediction encoding device, video prediction encoding method, video prediction encoding program, video prediction decoding device, video prediction decoding method, and video prediction decoding program |
TWI551120B (en) * | 2012-07-02 | 2016-09-21 | Ntt Docomo Inc | A motion picture prediction decoding method, and a motion picture prediction decoding apparatus |
CN104380736B (en) * | 2012-07-02 | 2017-12-26 | 株式会社Ntt都科摩 | Dynamic image predictive coding apparatus and method, dynamic image prediction decoding device and method |
US9942562B2 (en) | 2012-07-02 | 2018-04-10 | Ntt Docomo, Inc. | Video predictive encoding device, video predictive encoding method, video predictive encoding program, video predictive decoding device, video predictive decoding method, and video predictive decoding program |
US10116956B2 (en) | 2012-07-02 | 2018-10-30 | Ntt Docomo, Inc. | Video predictive encoding device, video predictive encoding method, video predictive encoding program, video predictive decoding device, video predictive decoding method, and video predictive decoding program |
US10560711B2 (en) | 2012-07-02 | 2020-02-11 | Ntt Docomo, Inc. | VIDEO PREDICTIVE ENCODING DEVICE, VIDEO PREDICTIVE ENCODING Method, video predictive encoding program, video predictive decoding device, video predictive decoding method, and video predictive decoding program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3395166B2 (en) | Integrated video decoding system, frame buffer, encoded stream processing method, frame buffer allocation method, and storage medium | |
US5973755A (en) | Video encoder and decoder using bilinear motion compensation and lapped orthogonal transforms | |
KR100192270B1 (en) | The video decoding circuit in hdtv | |
US5963222A (en) | Multi-format reduced memory MPEG decoder with hybrid memory address generation | |
US20030095603A1 (en) | Reduced-complexity video decoding using larger pixel-grid motion compensation | |
US7162090B2 (en) | Image processing apparatus, image processing program and image processing method | |
JPH10294947A (en) | System and method for performing operation correction using skewed tile storage format for improved efficiency | |
JP2002517109A5 (en) | ||
US20060263069A1 (en) | Video processing apparatus and method for allocating addresses to data of macroblocks and storing the same, and medium containing a program for performing such method | |
US6525783B1 (en) | Video decoding system | |
JP2000050274A (en) | Method and device for changing size of image frame including field mode coding | |
US5754243A (en) | Letter-box transformation device | |
JP2007221697A (en) | Image decoding apparatus and image decoding method | |
EP1147671B1 (en) | Method and apparatus for performing motion compensation in a texture mapping engine | |
US6539058B1 (en) | Methods and apparatus for reducing drift due to averaging in reduced resolution video decoders | |
JP2000175199A (en) | Image processor, image processing method and providing medium | |
US6707853B1 (en) | Interface for performing motion compensation | |
JP2000175201A (en) | Image processing unit, its method and providing medium | |
JP2002152751A (en) | Image processing apparatus, method and computer- readable recording medium | |
JPH11298903A (en) | Digital image decoding device/method and supply medium thereof | |
US9094686B2 (en) | Systems and methods for faster throughput for compressed video data decoding | |
JP2007537653A (en) | Device for generating progressive frames from interlaced encoded frames | |
KR20030005198A (en) | Frame-type dependent reduced complexity video decoding | |
CN116347089B (en) | JPEG image processing method and device, electronic equipment and storage medium | |
JPH1093992A (en) | Method for storing decoded multi-color digital image bit map in ram to display |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20060207 |