JP2009130599A - Moving picture decoder - Google Patents
Moving picture decoder Download PDFInfo
- Publication number
- JP2009130599A JP2009130599A JP2007303073A JP2007303073A JP2009130599A JP 2009130599 A JP2009130599 A JP 2009130599A JP 2007303073 A JP2007303073 A JP 2007303073A JP 2007303073 A JP2007303073 A JP 2007303073A JP 2009130599 A JP2009130599 A JP 2009130599A
- Authority
- JP
- Japan
- Prior art keywords
- decoding
- range mapping
- frame buffer
- buffer
- processing
- 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.)
- Pending
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
本発明は、動画像復号装置に関する。 The present invention relates to a moving picture decoding apparatus.
動画像の高能率符号化方式の1つにVC−1がある。VC−1も、MPEG−2などと同様、時間方向および空間方向の冗長性を削減することによって情報量の圧縮を行う。時間方向の冗長性の削減には画面間予測符号化が用い、前方または後方のピクチャを参照してブロック単位での動き検出および予測画像の作成を行い、得られた予測画像と符号化対象ピクチャとの差分値に対して符号化を行う。 VC-1 is one of high-efficiency encoding methods for moving images. VC-1 also compresses the amount of information by reducing redundancy in the time direction and space direction, similar to MPEG-2 and the like. Inter-frame predictive coding is used to reduce redundancy in the temporal direction, and motion prediction and prediction images are created in units of blocks with reference to the front or rear picture. Encoding is performed on the difference value.
ここで、ピクチャとは1枚の画面を表わす用語であり、画面間予測符号化方式では、Iピクチャ、Pピクチャ、Bピクチャ、と呼ばれる3種類のピクチャが用いられる。 Here, a picture is a term representing one screen, and three types of pictures called an I picture, a P picture, and a B picture are used in the inter-screen predictive coding method.
Iピクチャは、参照画像を持たずに画面内予測符号化を行い、Pピクチャは、1枚のピクチャのみを参照して画面間予測符号化を行い、Bピクチャは、同時に2枚のピクチャを参照して画面間予測符号化を行うものである。Bピクチャは、表示時間が前方または後方から任意の組み合わせとして2枚のピクチャを参照することが可能である。 The I picture performs intra prediction encoding without a reference image, the P picture performs inter prediction encoding with reference to only one picture, and the B picture refers to two pictures at the same time Thus, inter prediction encoding is performed. B pictures can refer to two pictures as an arbitrary combination of display times from the front or rear.
また、VC−1では、画像データの変化に応じて符号化のダイナミックレンジを変化させてデータ量を圧縮している。そのため、画像の再生を行うときは、入力されたIピクチャ、Pピクチャ、Bピクチャにもとづいて画像データをデコードした後に、圧縮されたダイナミックレンジを元に戻すレンジマッピング処理を行うことが規格化されている(例えば、非特許文献1参照。)。
In VC-1, the data amount is compressed by changing the dynamic range of encoding according to the change of image data. Therefore, when playing back an image, it is standardized to perform range mapping processing that restores the compressed dynamic range after decoding the image data based on the input I picture, P picture, and B picture. (For example, refer
そのため、デコード処理を行うデコード部が、デコード画像を順次フレームバッファに格納し、レンジマッピング処理部が、フレームバッファから表示順にデコード画像を読み出して1フレーム遅れでレンジマッピング処理することが行われている。 Therefore, a decoding unit that performs decoding processing sequentially stores decoded images in a frame buffer, and a range mapping processing unit reads out the decoded images from the frame buffer in display order and performs range mapping processing with a delay of one frame. .
このレンジマッピング処理後のデータもフレームバッファに格納され、格納されたデータは順次読み出されて表示部へ送られる。すなわち、レンジマッピング処理の際、レンジマッピング処理部は、各フレームのデコードごとに、フレームバッファからの1フレーム分のデータの読み出しと、フレームバッファへの1フレーム分のデータの書き込みを行う。 The data after the range mapping process is also stored in the frame buffer, and the stored data is sequentially read and sent to the display unit. That is, at the time of the range mapping process, the range mapping processing unit reads one frame of data from the frame buffer and writes one frame of data to the frame buffer for each frame decoding.
このようなデコード画像およびレンジマッピング処理後のデータを格納するフレームバッファとして、デコード部とレンジマッピング処理部から共通にアクセスできるSDRAMを用いることが行われる。 As a frame buffer for storing the decoded image and the data after the range mapping process, an SDRAM that can be commonly accessed from the decoding unit and the range mapping processing unit is used.
その場合、1つのSDRAMのメモリ領域を分割し、デコード部が使用するフレームバッファと、レンジマッピング処理部が使用するフレームバッファに割り当てる。 In that case, the memory area of one SDRAM is divided and allocated to a frame buffer used by the decoding unit and a frame buffer used by the range mapping processing unit.
そのとき、デコード部へは、他のピクチャを参照するデコード処理が破綻せず、かつ、レンジマッピング処理部により読み出されているデータが破壊されないように、複数(例えば4個程度)のフレームバッファを割り当てる。また、レンジマッピング処理部へは、表示部によるレンジマッピング処理データの読み出し中に、次のレンジマッピング処理済みデータが書き込めるように、2個のフレームバッファを割り当てる。 At that time, a plurality of (for example, about four) frame buffers are supplied to the decoding unit so that decoding processing referring to other pictures does not fail and data read by the range mapping processing unit is not destroyed. Assign. In addition, two frame buffers are allocated to the range mapping processing unit so that the next range mapping processed data can be written during reading of the range mapping processing data by the display unit.
このようにSDRAMをフレームバッファとして用いるときに、HD(高精細)画像などの画素数の多い画像を処理する場合、大容量のSDRAMが必要となる。 As described above, when an SDRAM is used as a frame buffer, a large-capacity SDRAM is required to process an image having a large number of pixels such as an HD (high definition) image.
大容量のSDRAMはデータ転送に時間がかかるので、レンジマッピング処理の処理効率の向上を図る上で、SDRAMへのアクセス回数をできるだけ少なくすることが重要になってくる。
そこで、本発明の目的は、デコードおよびレンジマッピング処理時のフレームバッファへのアクセス回数を低減することのできる動画像復号装置を提供することにある。 Accordingly, an object of the present invention is to provide a moving picture decoding apparatus capable of reducing the number of accesses to a frame buffer during decoding and range mapping processing.
本発明の一態様によれば、圧縮符号化された画像データを復号するときに、参照画像が必要なときは第1のフレームバッファから参照画像データを読み出してマクロブロック単位の復号を行うデコード部と、前記復号された画像データのデブロッキング処理を行うループフィルタと、前記デブロッキング処理された画像データを格納するピクセルバッファと、前記デコード部にパイプライン接続され、前記ピクセルバッファに格納された画像データを順次読み出してレンジマッピング処理を行うレンジマッピング処理部と、を備えることを特徴とする動画像復号装置が提供される。 According to an aspect of the present invention, when decoding compressed and encoded image data, when a reference image is necessary, the decoding unit reads out the reference image data from the first frame buffer and performs decoding in units of macroblocks. A loop filter that performs deblocking processing of the decoded image data, a pixel buffer that stores the deblocked image data, and an image that is pipeline-connected to the decoding unit and stored in the pixel buffer And a range mapping processing unit that sequentially reads data and performs range mapping processing.
本発明によれば、デコードおよびレンジマッピング処理時のフレームバッファへのアクセス回数を低減することができる。 According to the present invention, the number of accesses to the frame buffer during decoding and range mapping processing can be reduced.
以下、本発明の実施例を図面を参照して説明する。 Embodiments of the present invention will be described below with reference to the drawings.
図1は、本発明の実施例に係る動画像復号装置の構成の例を示すブロック図である。 FIG. 1 is a block diagram illustrating an example of a configuration of a video decoding device according to an embodiment of the present invention.
本実施例の動画像復号装置は、圧縮符号化された画像データを復号するときに、参照画像が必要なときは、SDRAM6内に配置されたフレームバッファ61からDMAC(ダイレクト・メモリ・アクセス・コントローラ)10を介して参照画像データを読み出してマクロブロック単位の復号を行うデコード部1と、復号された画像データのデブロッキング処理を行うループフィルタ2と、ループフィルタ2によりデブロッキング処理された画像データを格納するピクセルバッファ3と、デコード部1にパイプライン接続され、ピクセルバッファ3に格納された画像データを順次読み出してレンジマッピング処理を行うレンジマッピング処理部4と、レンジマッピング処理部4によりレンジマッピング処理されたデータを格納するレンジマッピングバッファ5と、を備える。
The moving picture decoding apparatus according to the present embodiment decodes a DMAC (direct memory access controller) from a
ピクセルバッファ3あるいはレンジマッピングバッファ5にデータが格納されると、DMAC10は、CPU20にバスの解放を要求し、バスが解放されたらピクセルバッファ3あるいはレンジマッピングバッファ5に格納されたデータをSDRAM6内に配置されたフレームバッファ61へ転送する。
When data is stored in the
ここで、本実施例の動画像復号装置における処理の特徴は、デコード部1における復号処理、ループフィルタ2によるデブロッキング処理、およびレンジマッピング処理部4によるレンジマッピング処理が、パイプライン処理により、同時に並行して行われることである。
Here, the feature of the processing in the moving picture decoding apparatus of the present embodiment is that the decoding processing in the
図2に、このデコード部1、ループフィルタ2およびレンジマッピング処理部4によるパイプライン処理の様子を示す。
FIG. 2 shows how pipeline processing is performed by the
デコード部1では、可変長復号処理VLD、逆量子化/逆直交変換処理IQ/IT、内挿処理IP、動き補償処理MCが順次実行される。このデコード部1における処理に引き続き、ループフィルタ2よるデブロッキング処理(LF)およびレンジマッピング処理部4によるレンジマッピング処理(RM)が実行される。
In the
それぞれの処理は、フレーム画像のマクロブロック単位(例えば、16ピクセル×16ピクセル)で実行される。 Each process is executed in units of macroblocks (for example, 16 pixels × 16 pixels) of the frame image.
すなわち、図2に示すように、連続して入力されるマクロブロック(0、1、2、3、4、・・・)のデータ対するそれぞれの処理が連続して実行され、処理されたデータは次の処理に引き渡される。 That is, as shown in FIG. 2, the respective processes for the data of the macroblocks (0, 1, 2, 3, 4,...) That are continuously input are continuously executed, and the processed data is It is handed over to the next process.
レンジマッピング処理部4は、このパイプライン処理を行うとき、ピクセルバッファ3からデブロッキング処理されたデータ読み出して、レンジマッピング処理を行う。
When performing the pipeline processing, the range
これに対して、デコード処理とレンジマッピング処理を独立して行う従来の処理では、デブロッキング処理されたデータを1ピクチャ分、一旦フレームバッファに書き込み、その後フレームバッファからデブロッキング処理されたデータを読み出して、レンジマッピング処理を行っていた。 On the other hand, in the conventional process in which the decoding process and the range mapping process are performed independently, the deblocking data for one picture is once written in the frame buffer, and then the deblocking data is read from the frame buffer. The range mapping process was performed.
それに比べて、本実施例では、レンジマッピング処理時に、デブロッキング処理されたデータのフレームバッファからの読み出しが不要となる。 In contrast, in this embodiment, it is not necessary to read the deblocked data from the frame buffer during the range mapping process.
また、従来は、フレームバッファから読み出したデータに対して、レンジマッピング処理を行っていたので、デブロッキング処理されたデータを総てフレームバッファへ転送する必要があった。すなわち、後続のデコード処理においては参照されることのないデブロッキング処理後のBピクチャもフレームバッファへ転送する必要があった。 Conventionally, since the range mapping process is performed on the data read from the frame buffer, it is necessary to transfer all the deblocked data to the frame buffer. That is, it is necessary to transfer the B picture after the deblocking process that is not referred to in the subsequent decoding process to the frame buffer.
これに対して、本実施例では、ピクセルバッファ3からデブロッキング処理されたデータを読み出して、レンジマッピング処理を行うので、フレームバッファ61へ転送するデブロッキング処理後のピクチャデータは、後続のデコード処理における参照画面となるIピクチャとPピクチャのみでよい。
On the other hand, in the present embodiment, since the deblocking data is read from the
すなわち、本実施例では、後続のデコード処理において参照されることのないBピクチャは、フレームバッファ61へ転送する必要がない。したがって、その分、フレームバッファ61へ転送するデータ量が少なくなる。
That is, in this embodiment, it is not necessary to transfer a B picture that is not referred to in subsequent decoding processing to the
次に、本実施例におけるフレームバッファ61へのデータ書き込みの管理について、図3に示す画像の並びを例にとって説明する。
Next, management of data writing to the
図3は、本実施例の動画像復号装置へ入力される圧縮符号化された画像データの並びの例を示す図である。 FIG. 3 is a diagram illustrating an example of a sequence of compression-encoded image data input to the video decoding device according to the present embodiment.
ここで、I0はIピクチャ、P4、P5、P6、P9はPピクチャ、B1、B2、B3、B7、B8はBピクチャである。斜線を施したピクチャは、他のピクチャから参照されることを示す。 Here, I0 is an I picture, P4, P5, P6, and P9 are P pictures, and B1, B2, B3, B7, and B8 are B pictures. A hatched picture indicates that it is referenced from another picture.
図4は、図3に示した画像データの処理中にピクセルバッファ3およびレンジマッピングバッファ5からフレームバッファ61へ転送されるデータの、時間軸に対する書き込み状況を示す図である。
FIG. 4 is a diagram showing a writing state with respect to the time axis of data transferred from the
ここで、フレームバッファ61は、バッファ0〜バッファ5の6つの領域に分かれており、フレームバッファ61へ書き込まれるデータはこの領域単位で管理される。
Here, the
ピクセルバッファ3から転送されたデータは、他のピクチャから参照されるまでは、フレームバッファ61に格納しておく必要がある。したがって、ピクセルバッファ3から転送されたデータが他のピクチャから参照されるまでは、その領域を書き込み禁止としておく必要がある。
The data transferred from the
また、レンジマッピングバッファ5から転送されたデータは、表示処理用データとして読み出されるまでは、フレームバッファ61に格納しておく必要がある。すなわち、表示処理用データとして読み出されるまでは、その領域を書き込み禁止とする必要がある。
Further, the data transferred from the range mapping buffer 5 needs to be stored in the
このような、デコード処理、レンジマッピング処理中に書込み禁止とする必要のある期間を、図4では斜線で示している。 Such a period in which writing must be prohibited during decoding processing and range mapping processing is indicated by hatching in FIG.
したがって、フレームバッファ61へ新しいデータの書き込みは、書き込み禁止となっていない領域に対して行われる。なお、書き込みは、書き込み禁止となっていない領域であれば、どの領域へ書き込んでもよい。
Therefore, new data is written to the
すなわち、本実施例では、ピクセルバッファ3専用のバッファ領域、レンジマッピングバッファ5専用のバッファ領域というような、フレームバッファの配置領域の固定化は行わない。ピクセルバッファ3用と、レンジマッピングバッファ5用とのバッファ領域の配置は、バッファ0〜バッファ5の6つの領域の中で、処理実行中に動的に変化する。
That is, in this embodiment, the frame buffer arrangement area is not fixed, such as the buffer area dedicated to the
図5に、本実施例との比較のための参考例として、デコード処理とレンジマッピング処理を独立して行う従来の処理におけるフレームバッファの書き込み例を示す。 FIG. 5 shows a frame buffer writing example in a conventional process in which the decoding process and the range mapping process are performed independently as a reference example for comparison with the present embodiment.
この例では、デコーダ部用フレームバッファとしてバッファ0〜バッファ3が固定的に割り当てられ、レンジマッピング用フレームバッファとしてバッファ4、バッファ5が固定的に割り当てられているものとする。
In this example, it is assumed that
デコーダ部用フレームバッファには、Iピクチャ、Pピクチャのほかに、非参照ピクチャであるBピクチャも書き込まれる。 In addition to the I picture and P picture, a B picture that is a non-reference picture is also written in the decoder unit frame buffer.
また、レンジマッピング用フレームバッファへの書き込みは、デコーダ部用フレームバッファのデータを読み出してレンジマッピング処理した後に行われる。 The writing to the range mapping frame buffer is performed after the data in the decoder unit frame buffer is read and the range mapping process is performed.
このような図5に示す従来の方式と比較して、図4に示す本実施例は、非参照ピクチャであるBピクチャの書き込みを行わないので、フレームバッファ61への書き込み回数が少なくなる。
Compared with the conventional method shown in FIG. 5, the present embodiment shown in FIG. 4 does not write a B picture, which is a non-reference picture, and therefore the number of writes to the
また、本実施例は、レンジマッピング処理にフレームバッファ61の読み出しが不要なので、レンジマッピング処理後のデータのフレームバッファ61への書き込みが、図5に示した従来方式に比べると、1サイクル早くなる。
Further, in the present embodiment, since reading of the
このような本実施例によれば、パイプライン処理により、復号処理、デブロッキング処理に連続して、レンジマッピング処理を行うため、非参照ピクチャのフレームバッファへの書き込みが不要となり、フレームバッファへの書き込み回数を少なくすることができる。 According to the present embodiment, since the range mapping process is performed in succession to the decoding process and the deblocking process by the pipeline process, it is not necessary to write the non-reference picture to the frame buffer. The number of writes can be reduced.
また、レンジマッピング処理の際、フレームバッファの読み出しを行わないので、フレームバッファの読み出し回数も少なくすることができる。 In addition, since the frame buffer is not read during the range mapping process, the number of times the frame buffer is read can be reduced.
また、デブロッキング処理とレンジマッピング処理を並行に行うため、レンジマッピング処理結果のフレームバッファへの書き込みタイミングが早くなり、その結果、表示処理用データとしてフレームバッファからレンジマッピング処理結果を読み出すタイミングも早くすることができる。 In addition, since the deblocking process and the range mapping process are performed in parallel, the timing for writing the range mapping process result to the frame buffer is accelerated, and as a result, the timing for reading the range mapping process result from the frame buffer as display processing data is also accelerated. can do.
1 デコード部
2 ループフィルタ
3 ピクセルバッファ
4 レンジマッピング処理部
5 レンジマッピングバッファ
6 SDRAM
61 フレームバッファ
10 DMAC
20 CPU
DESCRIPTION OF
61
20 CPU
Claims (5)
前記復号された画像データのデブロッキング処理を行うループフィルタと、
前記デブロッキング処理された画像データを格納するピクセルバッファと、
前記デコード部にパイプライン接続され、前記ピクセルバッファに格納された画像データを順次読み出してレンジマッピング処理を行うレンジマッピング処理部と、
を備えることを特徴とする動画像復号装置。 When decoding the compression-encoded image data, when a reference image is necessary, a decoding unit that reads the reference image data from the first frame buffer and performs decoding in units of macroblocks;
A loop filter for performing deblocking processing of the decoded image data;
A pixel buffer for storing the deblocked image data;
A range mapping processing unit that is pipeline-connected to the decoding unit and sequentially reads out the image data stored in the pixel buffer and performs a range mapping process;
A moving picture decoding apparatus comprising:
ことを特徴とする請求項1に記載の動画像復号装置。 The moving picture decoding apparatus according to claim 1, wherein the processing of the decoding unit and the processing of the range mapping processing unit are pipeline-processed in parallel in units of macroblocks.
ことを特徴とする請求項1または2に記載の動画像復号装置。 3. The moving image according to claim 1, wherein, of the image data stored in the pixel buffer, only an I picture and a P picture that are reference images in subsequent decoding are stored in the first frame buffer. Image decoding device.
ことを特徴とする請求項3に記載の動画像復号装置。 The video decoding device according to claim 3, wherein the image data for which the range mapping processing by the range mapping processing unit has been completed is stored in a second frame buffer.
ことを特徴とする請求項4に記載の動画像復号装置。 The first frame buffer and the second frame buffer are arranged in one memory device, and the arrangement position thereof dynamically changes during the decoding and the range mapping process. The moving picture decoding apparatus according to claim 4.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007303073A JP2009130599A (en) | 2007-11-22 | 2007-11-22 | Moving picture decoder |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007303073A JP2009130599A (en) | 2007-11-22 | 2007-11-22 | Moving picture decoder |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009130599A true JP2009130599A (en) | 2009-06-11 |
Family
ID=40821092
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007303073A Pending JP2009130599A (en) | 2007-11-22 | 2007-11-22 | Moving picture decoder |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009130599A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100966494B1 (en) | 2009-12-01 | 2010-06-29 | 동국대학교 산학협력단 | Method and apparatus for image data reduction using adaptive representative value, and recording medium thereof |
JP2011120244A (en) * | 2009-12-07 | 2011-06-16 | Korea Electronics Telecommun | System for processing images |
KR101419378B1 (en) | 2009-12-07 | 2014-07-16 | 한국전자통신연구원 | System for Video Processing |
-
2007
- 2007-11-22 JP JP2007303073A patent/JP2009130599A/en active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100966494B1 (en) | 2009-12-01 | 2010-06-29 | 동국대학교 산학협력단 | Method and apparatus for image data reduction using adaptive representative value, and recording medium thereof |
JP2011120244A (en) * | 2009-12-07 | 2011-06-16 | Korea Electronics Telecommun | System for processing images |
KR101419378B1 (en) | 2009-12-07 | 2014-07-16 | 한국전자통신연구원 | System for Video Processing |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5969914B2 (en) | Video compression / decompression device | |
JP5043012B2 (en) | Video encoding / decoding method for preserving cache locality | |
US20060182181A1 (en) | Apparatus and method for controlling data write/read in image processing system | |
KR100606812B1 (en) | Video decoding system | |
US20160191935A1 (en) | Method and system with data reuse in inter-frame level parallel decoding | |
JP5309700B2 (en) | Moving picture decoding apparatus and encoding apparatus | |
JP4755624B2 (en) | Motion compensation device | |
JP2014096755A (en) | Image coding apparatus, image coding method, and program, and image decoding apparatus, image decoding method, and program | |
US20110013696A1 (en) | Moving image processor and processing method for moving image | |
JP2009130599A (en) | Moving picture decoder | |
EP1992162B1 (en) | Memory organizational scheme and controller architecture for image and video processing | |
TWI418219B (en) | Data-mapping method and cache system for use in a motion compensation system | |
US8406306B2 (en) | Image decoding apparatus and image decoding method | |
JP2007259323A (en) | Image decoding apparatus | |
KR101331093B1 (en) | Method and Apparatus for Interleaving Reference Pixel within a Single Bank of Video Memory, Video Codec System Including the Same | |
TW201811036A (en) | Method for determining storage position of coefficient according to transpose flag before coefficient is stored into inverse scan storage device and associated apparatus and machine readable medium | |
US9807417B2 (en) | Image processor | |
US20030123555A1 (en) | Video decoding system and memory interface apparatus | |
TWI520618B (en) | Video data process method and video process apparatus | |
KR100646577B1 (en) | Image copy method of video CODEC | |
JP2017117145A (en) | Semiconductor device, data processing system and semiconductor device control method | |
JP2009071642A (en) | Moving image encoding device | |
JP2010041115A (en) | Image processor and image processing method | |
JP2011039660A (en) | Memory controller, image processing system and control method for memory access | |
KR20170052143A (en) | Loop filter based on memory applied in video decoder |