JP4398717B2 - Video decoding device - Google Patents

Video decoding device Download PDF

Info

Publication number
JP4398717B2
JP4398717B2 JP2003427719A JP2003427719A JP4398717B2 JP 4398717 B2 JP4398717 B2 JP 4398717B2 JP 2003427719 A JP2003427719 A JP 2003427719A JP 2003427719 A JP2003427719 A JP 2003427719A JP 4398717 B2 JP4398717 B2 JP 4398717B2
Authority
JP
Japan
Prior art keywords
processor
decoding
processing
stage
processing unit
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.)
Expired - Fee Related
Application number
JP2003427719A
Other languages
Japanese (ja)
Other versions
JP2005191690A (en
Inventor
淳 松村
知也 児玉
昇 山口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2003427719A priority Critical patent/JP4398717B2/en
Publication of JP2005191690A publication Critical patent/JP2005191690A/en
Application granted granted Critical
Publication of JP4398717B2 publication Critical patent/JP4398717B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

本発明は、複数のプロセッシングユニットを用いて、動画像を復号化する動画像復号化装置に関するものである。 The present invention uses a plurality of processing units, but about the video decoding KaSo location for decoding a moving image.

コンピュータ技術の進化に伴い、MPEG−2/MPEG−4に代表される動画像符号化および動画像復号化をソフトウェアベースで行う技術が一般化してきている。この技術を利用して、パーソナルコンピュータ上でソフトウェアによりテレビ放送の復号化を行い、パーソナルコンピュータをハードディスクレコーダとして使用するような利用形態が知られている。   With the advancement of computer technology, a technology for performing video coding and video decoding represented by MPEG-2 / MPEG-4 on a software basis has become common. Utilizing this technique, a utilization form is known in which a television broadcast is decoded by software on a personal computer and the personal computer is used as a hard disk recorder.

一方、次世代のゲーム機やホームサーバ、デジタルテレビジョンなどに搭載されるCPUとして、高速なSIMD(Single Instruction Multiple Data)プロセッサを複数用意し、それらが協調して処理を実行するモデルが提案されている。   On the other hand, a model has been proposed in which a plurality of high-speed SIMD (Single Instruction Multiple Data) processors are prepared as CPUs installed in next-generation game machines, home servers, digital televisions, etc., and they execute processing in cooperation with each other. ing.

例えば、同一のISA(Instruction Set Architecture)を持つ8個の付加処理ユニット(APU)が共用ダイナミックランダムアクセスメモリ(DRAM)を用いてリアルタイムに通信を行い、処理を行う装置がある(特許文献1参照)。   For example, there is an apparatus in which eight additional processing units (APUs) having the same ISA (Instruction Set Architecture) communicate and process in real time using a shared dynamic random access memory (DRAM) (see Patent Document 1). ).

これによれば、1つのプロセッサエレメント(PE)は、処理ユニット(PU)、ダイレクトメモリアクセスコントローラ(DMAC)、および8個のAPUから構成される。PUは、処理のスケジュール管理と装置の全般的管理を行う。そして、APUはスケジュールに従って並列的に処理を実行する。   According to this, one processor element (PE) is composed of a processing unit (PU), a direct memory access controller (DMAC), and eight APUs. The PU performs processing schedule management and general management of devices. And APU performs a process in parallel according to a schedule.

本装置は、TCP/IPネットワークからパケット化されたMPEGデータを取得し、当該データを復号化する一連の処理を行う。この一連の処理のうちMPEGデータの抽出およびMPEGデータの復号化はAPUにより行われる。このように、長時間を要する処理をAPUに行わせることにより、処理の高速化を図っている。   This apparatus obtains packetized MPEG data from a TCP / IP network and performs a series of processes for decoding the data. In this series of processing, extraction of MPEG data and decoding of MPEG data are performed by APU. In this way, the processing speed is increased by causing the APU to perform processing that requires a long time.

特開2002−358289号公報JP 2002-358289 A

以上のように、複数のAPUの協働により処理の高速化を図る技術が知られているが、各APUが有するローカルメモリのメモリ容量は非常に小さい。従って、メモリを大量に消費する演算や、大量のデータを利用する演算を行う場合には、APUとDRAMの間での情報の授受が必要となる。そして、このようなAPUからDRAMへのアクセスは処理の遅延の主な要因となる。   As described above, a technique for speeding up processing by cooperation of a plurality of APUs is known, but the memory capacity of a local memory included in each APU is very small. Therefore, when performing calculations that consume a large amount of memory or operations that use a large amount of data, it is necessary to exchange information between the APU and the DRAM. Such access from the APU to the DRAM is a major factor in processing delay.

本発明は、上記に鑑みてなされたものであって、上述のような処理の遅延を抑制し、高速に復号化処理を行うことのできる動画像復号化装置を提供することを目的とする。 The present invention was made in view of the above, to suppress the delay in processing as described above, and an object thereof is to provide a moving picture decoding KaSo location capable of performing a decoding process at high speed.

上述した課題を解決し、目的を達成するために、本発明は、動画像を復号化する動画像復号化装置であって、前記復号化の処理を指示し、かつ前記復号化に関する処理を行う第1プロセッサと、前記第1プロセッサからの指示に基づいて、前記復号化に関する処理を行う第2プロセッサと、前記復号化に関する情報を保持するメインメモリと、前記メインメモリと前記第1プロセッサの間、および前記メインメモリと前記第2プロセッサとの間のデータの授受を制御するメインメモリ制御手段と、前記第2プロセッサから直接アクセス可能なローカルメモリとを備え、前記第1プロセッサは、前記メインメモリ制御手段を介して前記メインメモリに保持される情報を参照し、前記復号化に関する処理として、シンタックス解析処理、可変長復号化処理、逆量子化処理、逆離散コサイン変換処理、動き補償処理及び後処理の少なくとも1つのうちの全部又は一部の処理であって且つ処理にかかる演算量が予め定められた演算量よりも小さい第1処理を行い、前記第2プロセッサは、前記ローカルメモリに保持される情報を参照して、前記第1プロセッサからの指示に基づいて、前記復号化に関する処理として、シンタックス解析処理、可変長復号化処理、逆量子化処理、逆離散コサイン変換処理、動き補償処理及び後処理の少なくとも1つのうちの全部又は一部の処理であって且つ処理にかかる演算量が予め定められた演算量よりも大きい第2処理を行い、前記第2プロセッサが行う前記第2処理全体は、複数のステージに分割され、前記メインメモリは、各ステージにおいて用いられる情報をさらに保持し、前記ローカルメモリは、前記第2プロセッサが一の前記ステージにおいて前記第2処理を実行するときに、前記メインメモリ制御手段を介して前記メインメモリから当該ステージにおいて用いられる情報を取得し、当該ステージにおいて用いられる情報を保持することを特徴とする。 In order to solve the above-described problems and achieve the object, the present invention is a moving picture decoding apparatus for decoding a moving picture, instructing the decoding process and performing the process related to the decoding. A first processor; a second processor that performs processing related to decoding based on an instruction from the first processor; a main memory that holds information related to decoding; and between the main memory and the first processor And a main memory control means for controlling data exchange between the main memory and the second processor, and a local memory that can be directly accessed from the second processor, wherein the first processor controls the main memory control. The information stored in the main memory is referred to via the means, and as the processing related to the decoding, syntax analysis processing, variable length recovery Processing, inverse quantization processing, inverse discrete cosine transform process, the amount of computation of the amount of computation according to and a motion compensation process and all or part of the processing of at least one of the post-treatment process is predetermined from The second processor refers to the information held in the local memory, and based on an instruction from the first processor, a syntax analysis process as a process related to the decoding, All or part of at least one of variable-length decoding processing, inverse quantization processing, inverse discrete cosine transform processing, motion compensation processing, and post-processing, and the amount of computation related to the processing is determined in advance A second process larger than the amount of computation is performed, and the entire second process performed by the second processor is divided into a plurality of stages, and the main memory is used in each stage. The local memory is information used in the stage from the main memory via the main memory control means when the second processor executes the second process in one stage. And information used in the stage is held.

本発明にかかる動画像復号化装置は、復号化の処理のうち比較的大きな演算量の処理を、メインメモリに直接アクセス可能な第1プロセッサに担当させ、復号化の処理のうち比較的小さな演算量の処理を、メインメモリには直接アクセスできないが、ローカルメモリに直接アクセス可能な第2プロセッサに担当させる。このように、復号化に含まれる複数の処理を第1プロセッサおよび第2プロセッサに分担させることにより、処理の高速化を図ることができるという効果を奏する。また、複数のステージに分割される第2処理の一のステージにおいて処理を第2プロセッサが実行するときに、ローカルメモリがメインメモリ制御手段を介してメインメモリから当該ステージにおいて用いられる情報を取得し、当該ステージにおいて用いられる情報を保持することにより、処理の高速化と共に、ローカルメモリのメモリ量を低減させることができるという効果を奏する。 The moving picture decoding apparatus according to the present invention causes a first processor that can directly access a main memory to perform a process with a relatively large calculation amount in the decoding process, and a relatively small calculation amount in the decoding process. This processing is assigned to the second processor that cannot directly access the main memory but can directly access the local memory. In this way, by causing the first processor and the second processor to share a plurality of processes included in the decoding, there is an effect that the processing can be speeded up. Further, when the second processor executes the process in one stage of the second process divided into a plurality of stages, the local memory acquires information used in the stage from the main memory via the main memory control means. By holding the information used in the stage, it is possible to increase the processing speed and reduce the amount of local memory.

以下に、本発明にかかる動画像復号化装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。 It will be described below in detail with reference to examples of a video decoding KaSo location according to the present invention with reference to the accompanying drawings. Note that the present invention is not limited to the embodiments.

図1は、本発明の動画像復号化装置10のハードウェア構成を示すブロック図である。動画像復号化装置10は、プロセッサエレメント100とDRAM(Dynamic Random Access Memory)110とを有している。さらにプロセッサエレメント100は、処理ユニット102と、DMAC(Direct Memory Access Controller)104と、複数の付加処理ユニット、すなわち第1付加処理ユニット106a,第2付加処理ユニット106b・・・とを有している。   FIG. 1 is a block diagram showing a hardware configuration of a moving picture decoding apparatus 10 according to the present invention. The moving picture decoding apparatus 10 includes a processor element 100 and a DRAM (Dynamic Random Access Memory) 110. Furthermore, the processor element 100 has a processing unit 102, a DMAC (Direct Memory Access Controller) 104, and a plurality of additional processing units, that is, a first additional processing unit 106a, a second additional processing unit 106b,. .

なお、ここで、本実施の形態にかかる処理ユニット102および付加処理ユニット106は、それぞれ本発明の第1プロセッサおよび第2プロセッサを構成する。また、本実施の形態のDRAM110およびDMAC104は、それぞれ本発明のメインメモリおよびメインメモリ制御手段を構成する。   Here, the processing unit 102 and the additional processing unit 106 according to the present embodiment constitute a first processor and a second processor of the present invention, respectively. The DRAM 110 and the DMAC 104 of the present embodiment constitute the main memory and main memory control means of the present invention, respectively.

処理ユニット102は、動画像符号化装置10の全体を統括する。DRAM110は、処理対象となる動画像データおよび動画像データに対する符号化処理にかかるプログラム等を保持している。DMAC104は、DRAM110から取得した情報を処理ユニット102または付加処理ユニット106に送る。さらに処理ユニット102および付加処理ユニット106から取得した情報をDRAM110に送る。このように、DMAC104は、DRAM110とプロセッサエレメント100の間のインターフェースとして機能する。また、各付加処理ユニット106は、処理ユニット102からの指示により、復号化に関する処理を行う。   The processing unit 102 controls the entire moving image coding apparatus 10. The DRAM 110 holds moving image data to be processed and a program related to encoding processing for the moving image data. The DMAC 104 sends information acquired from the DRAM 110 to the processing unit 102 or the additional processing unit 106. Further, the information acquired from the processing unit 102 and the additional processing unit 106 is sent to the DRAM 110. As described above, the DMAC 104 functions as an interface between the DRAM 110 and the processor element 100. In addition, each additional processing unit 106 performs processing related to decoding according to an instruction from the processing unit 102.

図2は、図1に示す第1付加処理ユニット106aの詳細な構成を示すブロック図である。付加処理ユニット106aは、ローカルメモリ1060と、レジスタ1062と、第1浮動少数点演算ユニット1064a,第2浮動小数点演算ユニット1064b,・・・と、第1整数演算ユニット1066a,第2整数演算ユニット1066b・・・とを有している。   FIG. 2 is a block diagram showing a detailed configuration of the first additional processing unit 106a shown in FIG. The additional processing unit 106a includes a local memory 1060, a register 1062, a first floating point arithmetic unit 1064a, a second floating point arithmetic unit 1064b,..., A first integer arithmetic unit 1066a, and a second integer arithmetic unit 1066b. ..

第1付加処理ユニット106aは、複数の浮動小数点演算ユニットおよび複数の整数演算ユニットを有している。第1付加処理ユニット106aは、これらの協働により高速演算を行うことができる。   The first additional processing unit 106a has a plurality of floating point arithmetic units and a plurality of integer arithmetic units. The first additional processing unit 106a can perform high-speed computation by cooperating with them.

ローカルメモリ1060は、128キロバイト程度の比較的小さいSRAM(Static Random Access Memory)で構成されている。付加処理ユニット106は、ローカルメモリ1060が保持するプログラムおよびデータを利用して動作する。また、DMAC104に対してDRAM110と付加処理ユニット106の間のデータ転送要求を行う。付加処理ユニット106は、DMAC104に接続されたDRAM110を直接アクセスすることはできない。   The local memory 1060 is composed of a relatively small SRAM (Static Random Access Memory) of about 128 kilobytes. The additional processing unit 106 operates using programs and data stored in the local memory 1060. Also, a data transfer request between the DRAM 110 and the additional processing unit 106 is made to the DMAC 104. The additional processing unit 106 cannot directly access the DRAM 110 connected to the DMAC 104.

付加処理ユニット106がプログラムを実行する場合、処理ユニット102がDMAC104を制御し、DRAM110から付加処理ユニット106のローカルメモリ1060にオブジェクトプログラムと関連するスタックフレームが転送される。次いで、処理ユニット102が付加処理ユニット106にプログラムを実行させる旨のコマンドを発行する。そして、付加処理ユニット106は、処理ユニット102から発行されたコマンドに基づいて、プログラムの実行を開始する。付加処理ユニット106はまた、プログラムの結果をDMAC104を介してDRAM110に転送する。付加処理ユニット106は、処理が完了すると処理ユニット102に対し、処理が完了したことを示す割り込みを発生させるように指示する。   When the additional processing unit 106 executes the program, the processing unit 102 controls the DMAC 104, and the stack frame related to the object program is transferred from the DRAM 110 to the local memory 1060 of the additional processing unit 106. Next, the processing unit 102 issues a command for causing the additional processing unit 106 to execute the program. Then, the additional processing unit 106 starts executing the program based on the command issued from the processing unit 102. The additional processing unit 106 also transfers the result of the program to the DRAM 110 via the DMAC 104. When the processing is completed, the additional processing unit 106 instructs the processing unit 102 to generate an interrupt indicating that the processing has been completed.

なお、図2を参照しつつ第1付加処理ユニット106aの詳細な構成について説明したが、第2付加処理ユニット106b等の詳細な構成は、第1付加処理ユニット106aの詳細な構成と同様である。   Although the detailed configuration of the first additional processing unit 106a has been described with reference to FIG. 2, the detailed configuration of the second additional processing unit 106b and the like is the same as the detailed configuration of the first additional processing unit 106a. .

図3は、プロセッサエレメント100における復号化処理を示すフローチャートである。まず、処理ユニット102は、後述の可変長復号化を行うためのMPEGのシンタックスの解析を行う(ステップS100)。これとは独立に、付加処理ユニット106は、DMAC104を介して動画像データを取得し、可変長復号化を行う(ステップS110)。これにより、バイナリデータを復号化する。次に、逆量子化を行い、DCT係数を得る(ステップS112)。次に、DCT係数に対して、逆離散コサイン変換を行い、残差信号を得る(ステップS114)。次に、残差信号と、可変長復号化処理(ステップS110)において得られた動きベクトルに基づいて、動き補償により復号化画像を作成する(ステップS116)。次に、後処理を行う(ステップS118)。なお、後処理とは、視覚特性に基づいた処理であり、主観画質を向上させる。   FIG. 3 is a flowchart showing a decoding process in the processor element 100. First, the processing unit 102 analyzes an MPEG syntax for performing variable length decoding described later (step S100). Independently of this, the additional processing unit 106 acquires moving image data via the DMAC 104 and performs variable length decoding (step S110). Thereby, binary data is decoded. Next, inverse quantization is performed to obtain DCT coefficients (step S112). Next, an inverse discrete cosine transform is performed on the DCT coefficient to obtain a residual signal (step S114). Next, a decoded image is created by motion compensation based on the residual signal and the motion vector obtained in the variable length decoding process (step S110) (step S116). Next, post-processing is performed (step S118). Note that the post-processing is processing based on visual characteristics and improves subjective image quality.

以上で、復号化処理が完了する。以上のように、復号化処理を処理ユニット102および付加処理ユニット106に分担することにより、効率的かつ高速に処理を行うことができる。   This completes the decoding process. As described above, by sharing the decoding process to the processing unit 102 and the additional processing unit 106, the processing can be performed efficiently and at high speed.

また、処理ユニット102にMPEGのシンタックス解析を割り当てるのが望ましい。MPEGのシンタックス解析における演算負荷は小さい。しかし大量のテーブルを使用する。そこで、大容量のDRAM110にDMAC104を介して直接アクセス可能な処理ユニット102に上記処理を担当させることにより、シンタックス解析を付加処理ユニット104に割り当てる場合に比べて処理の効率化を図ることができる。このように処理ユニット102には、ピクチャー層より上位の処理を割り当てるのが望ましい。ピクチャー層より上位の処理は処理量が少ないので、処理速度が遅くとも全体としての処理の遅延に繋がり難いからである。   In addition, it is desirable to assign MPEG syntax analysis to the processing unit 102. The calculation load in MPEG syntax analysis is small. But it uses a lot of tables. Therefore, by making the processing unit 102 that can directly access the large-capacity DRAM 110 via the DMAC 104 perform the above processing, the processing efficiency can be improved as compared with the case where the syntax analysis is assigned to the additional processing unit 104. As described above, it is desirable to assign processing higher than the picture layer to the processing unit 102. This is because the processing above the picture layer has a small amount of processing, so that it is difficult to delay the processing as a whole even if the processing speed is low.

また、付加処理ユニット106にピクチャー層以下のマクロブロック単位の処理を割り当てるのが望ましい。ピクチャー層以下の処理は、付加処理ユニット106による処理に適している。   In addition, it is desirable to assign processing in units of macroblocks below the picture layer to the additional processing unit 106. Processing below the picture layer is suitable for processing by the additional processing unit 106.

例えば、逆離散コサイン変換(ステップS104)および動き補償(ステップS106)は演算量が大きい。このように、演算量、すなわち演算負荷が大きい処理は、付加処理ユニット106に割り当てるのが望ましい。付加処理ユニット106は、図2において説明したように、複数の浮動少数点演算ユニット1064および複数の整数演算ユニット1066により、高速に処理を行うことができるので、処理ユニット102が処理する場合に比べてより高速に処理を行うことができるからである。   For example, the inverse discrete cosine transform (step S104) and motion compensation (step S106) have a large calculation amount. As described above, it is desirable to assign a process with a large calculation amount, that is, a calculation load to the additional processing unit 106. As described with reference to FIG. 2, the additional processing unit 106 can perform processing at a high speed by the plurality of floating point arithmetic units 1064 and the plurality of integer arithmetic units 1066, so that the processing unit 102 performs processing. This is because processing can be performed at a higher speed.

なお、演算負荷の大小を判断するための閾値を予め定めておいてもよい。この場合は、当該閾値と演算量とを比較することにより、処理ユニット102および付加処理ユニット106のいずれに割り当てるかを判断する。   Note that a threshold value for determining the magnitude of the calculation load may be determined in advance. In this case, it is determined which of the processing unit 102 and the additional processing unit 106 is assigned by comparing the threshold value with the calculation amount.

このように、所定の演算量を閾値として、閾値を基準に付加処理ユニット106に分担させる処理および処理ユニット102に分担させる処理を定めることにより、全体として処理の高速化を図ることができる。   As described above, the processing speed can be increased as a whole by defining the processing to be assigned to the additional processing unit 106 and the processing to be assigned to the processing unit 102 with the predetermined calculation amount as a threshold value.

また、ピクチャー層以下の処理は、繰り返し処理が多い。このように繰り返し処理が多い場合も、高速な処理が可能な付加処理ユニット106による処理に適している。このように、各機能に適した処理を割り当てることにより、全体として処理の効率化を図ることができる。   In addition, the processing below the picture layer is often repeated. Thus, even when there are many repetitive processes, it is suitable for processing by the additional processing unit 106 capable of high-speed processing. In this way, by assigning processes suitable for each function, it is possible to improve the efficiency of the process as a whole.

なお、プロセッサエレメント100における復号化処理は一般的なMPEGによる復号化処理と同様である。   The decoding process in the processor element 100 is the same as a general MPEG decoding process.

図3を参照しつつ説明した付加処理ユニット106の処理は、複数のステージに分割されている。本実施の形態においては、付加処理ユニット106の処理は3つのステージに分割されている。すなわち、復号化処理は、可変長復号化(ステップS110)および逆量子化(ステップS112)を行う第1ステージと、逆離散コサイン変換出(ステップS114)および動き補償(ステップS116)を行う第2ステージと、後処理(ステップS118)を行う第3ステージとを有している。   The processing of the additional processing unit 106 described with reference to FIG. 3 is divided into a plurality of stages. In the present embodiment, the processing of the additional processing unit 106 is divided into three stages. That is, the decoding process includes a first stage for performing variable length decoding (step S110) and inverse quantization (step S112), a second stage for performing inverse discrete cosine transform output (step S114), and motion compensation (step S116). A stage and a third stage for performing post-processing (step S118);

付加処理ユニット106による第1ステージの処理の実行中は、ローカルメモリ1060は、第1ステージにおいて実行されるプログラム、第1ステージにおける処理の対象となる動画像データおよび参照されるデータ等を保持している。そして、第1ステージにおける処理が完了すると、第1ステージにおいて実行されるプログラム等がDMAC104を介して付加処理ユニット106からDRAM110に退避される。   During the execution of the first stage processing by the additional processing unit 106, the local memory 1060 holds a program executed in the first stage, moving image data to be processed in the first stage, reference data, and the like. ing. When the processing in the first stage is completed, the program executed in the first stage is saved from the additional processing unit 106 to the DRAM 110 via the DMAC 104.

そして、第2ステージにおいて実効されるプログラム等がDMAC104を介してDRAM110から付加処理ユニット106に書き込まれる。このように、DRAM110へのアクセスは、第1ステージから第2ステージへの切り替り、第2ステージから第2ステージへの切り替り、すなわち各ステージの切り替りのタイミングにおいてのみ行われる。   Then, a program executed in the second stage is written from the DRAM 110 to the additional processing unit 106 via the DMAC 104. Thus, access to the DRAM 110 is performed only at the timing of switching from the first stage to the second stage, switching from the second stage to the second stage, that is, switching of each stage.

各ステージに含める処理は、付加処理ユニット106のローカルメモリ1060の大きさ、および付加処理ユニット106における演算速度等に基づいて定められている。すなわち、ローカルメモリ1060のメモリ容量において保持可能な最大限のデータ量の処理を1つのステージとしている。   The processing included in each stage is determined based on the size of the local memory 1060 of the additional processing unit 106, the calculation speed in the additional processing unit 106, and the like. In other words, processing of the maximum amount of data that can be held in the memory capacity of the local memory 1060 is set as one stage.

復号化処理は、いくつもの複雑な処理を含む。従って、これらの処理をソフトウェアで実現するためのプログラムのデータ量は大きい。また、動き検出や動き補償は、参照画像、対象画像および動き補償画像などデータ量の多いデータを対象とするため大量にメモリを必要とする。また、可変長復号化は可変長復号化テーブルを保持して処理を行うため大量のメモリを必要とする。   The decoding process includes a number of complicated processes. Therefore, the data amount of the program for realizing these processes by software is large. In addition, since motion detection and motion compensation target data with a large amount of data such as a reference image, a target image, and a motion compensation image, a large amount of memory is required. Also, variable length decoding requires a large amount of memory to perform processing while holding a variable length decoding table.

これに対して、ローカルメモリ1060のメモリ容量は小さいので、符号化処理に利用すべきプログラムおよびデータを一度にローカルメモリ1060に保持させることはできない。従って、付加処理ユニット106は、必要に応じてプログラムやデータをダイナミックにDRAM110から取得し、さらにDRAM110に書き込む必要が生じる。   On the other hand, since the memory capacity of the local memory 1060 is small, the program and data to be used for the encoding process cannot be held in the local memory 1060 at a time. Therefore, it is necessary for the additional processing unit 106 to dynamically acquire a program and data from the DRAM 110 as necessary, and to write the program and data into the DRAM 110.

しかし、DRAM110へのアクセスを含む処理は長時間を要し、全体として処理の遅延を招く主な要因となる。そこで、上述のように、DRAM110にアクセスする頻度を最小限に留めることにより、DRAM110へのアクセスに起因する処理の遅延を避けることができる。   However, processing including access to the DRAM 110 takes a long time, which is a main factor that causes processing delay as a whole. Thus, as described above, by minimizing the frequency of accessing the DRAM 110, it is possible to avoid a processing delay due to the access to the DRAM 110.

以下、図4から図6を参照しつつ、各ステージにおけるデータの授受について説明する。   Hereinafter, data exchange in each stage will be described with reference to FIGS.

図4は、第1ステージにおけるバイナリデータの流れを示す図である。第1ステージにおいては、まず、DMAC104は、DRAM110からバイナリデータを取得する。そして、DMAC104は、処理ユニット102からの指示に基づいて、バイナリデータをスライスを最少単位として各付加処理ユニット106に分配する。ここで、スライスとは、動画像を静止画の横方向の1ライン分のことである。なお、バイナリデータの分配については後述する。   FIG. 4 is a diagram illustrating a flow of binary data in the first stage. In the first stage, first, the DMAC 104 acquires binary data from the DRAM 110. Then, the DMAC 104 distributes the binary data to each additional processing unit 106 with a slice as a minimum unit based on an instruction from the processing unit 102. Here, the slice is one line of the moving image in the horizontal direction of the still image. The distribution of binary data will be described later.

各付加処理ユニット106は、DMAC104から受け取ったバイナリデータに対して可変長復号化(ステップS110)を行い、ローカルメモリ1060は、可変長復号化によって得られ量子化DCT係数を保持する。さらに、ローカルメモリ1060が保持する量子化DCT係数に対して逆量子化(ステップS112)を行う。そして、逆量子化により得られた結果、すなわちDCT係数をDMAC104を介してDRAM110に書き戻す。   Each additional processing unit 106 performs variable length decoding (step S110) on the binary data received from the DMAC 104, and the local memory 1060 holds the quantized DCT coefficients obtained by the variable length decoding. Further, inverse quantization (step S112) is performed on the quantized DCT coefficients held in the local memory 1060. Then, the result obtained by inverse quantization, that is, the DCT coefficient is written back to the DRAM 110 via the DMAC 104.

可変長復号化(ステップS110)においては可変長復号化用テーブルを参照する。このテーブルのデータ容量は大きく、ローカルメモリ1060をほぼ占有する。一方、逆量子化(ステップS112)のプログラムおよびこれに必要なデータ量は小さい。そこで、逆量子化は、可変長復号化と同じステージに含めることができる。そこで、これらをまとめて1つのステージとしている。   In the variable length decoding (step S110), the variable length decoding table is referred to. The data capacity of this table is large and almost occupies the local memory 1060. On the other hand, the inverse quantization (step S112) program and the amount of data required for this are small. Thus, inverse quantization can be included in the same stage as variable length decoding. Therefore, these are combined into one stage.

図5は、第2ステージにおけるバイナリデータの流れを示す図である。第2ステージにおいては、まず、付加処理ユニット106は、DMAC104を介してDRAM110より、第1ステージにおいて得られたDCT係数を取得する。そして、付加処理ユニット106は、DCT係数に対して逆離散コサイン変換(ステップS114)を行い、ローカルメモリ1060は、逆離散コサイン変換により得られた残差信号を保持する。さらに、付加処理ユニット106は、DRAM110より動きベクトルおよび参照となるデコード画像を取得し、ローカルメモリ1060が保持する残差信号と合わせて動き補償(ステップS116)を行う。そして、作成されたデコード画像をDMAC104を介してDRAM110に書き込む。   FIG. 5 is a diagram illustrating a flow of binary data in the second stage. In the second stage, first, the additional processing unit 106 acquires the DCT coefficient obtained in the first stage from the DRAM 110 via the DMAC 104. Then, the additional processing unit 106 performs inverse discrete cosine transform (step S114) on the DCT coefficient, and the local memory 1060 holds the residual signal obtained by the inverse discrete cosine transform. Further, the additional processing unit 106 obtains a motion vector and a reference decoded image from the DRAM 110, and performs motion compensation (step S116) together with the residual signal held in the local memory 1060. Then, the created decoded image is written into the DRAM 110 via the DMAC 104.

逆離散コサイン変換(ステップS114)および動き補償(ステップS116)における処理対象となるデコード画像や残差信号は、各マクロブロックの復号化モードによって必要がないためエンコーダに比べ、処理に必要なデータ量は少ない。そこで、これらの処理をまとめて1つのステージとしている。   The decoded image and the residual signal to be processed in the inverse discrete cosine transform (step S114) and the motion compensation (step S116) are not necessary depending on the decoding mode of each macroblock, and therefore, the amount of data required for processing is larger than that of the encoder. There are few. Therefore, these processes are combined into one stage.

図6は、第3ステージにおけるバイナリデータの流れを示す図である。第3ステージにおいては、付加処理ユニット106は、DMAC104を介してDRAM110から第2ステージにおいて得られたデコード画像を取得する。そして、デコード画像に対して後処理(ステップS118)を行い、主観画質を向上させる。そして、加工された画像をDMAC104を介してDRAM110に書き込む。後処理としては、様々な種類の処理が想定される。そして、各処理にかかるプログラムの容量やデータ容量は、処理毎に異なる。そこで、これを1つのステージとしている。   FIG. 6 is a diagram showing a flow of binary data in the third stage. In the third stage, the additional processing unit 106 acquires the decoded image obtained in the second stage from the DRAM 110 via the DMAC 104. Then, post-processing (step S118) is performed on the decoded image to improve the subjective image quality. Then, the processed image is written into the DRAM 110 via the DMAC 104. As post-processing, various types of processing are assumed. And the capacity | capacitance and data capacity of the program concerning each process differ for every process. Therefore, this is one stage.

第3ステージにおいては、上述のように、後処理のみで1つのステージとしている。従って、前処理がメモリを多く必要とする場合であっても、第3ステージにかかる処理の途中でDRAM110とのデータの授受を行わずに済み、効率的な処理を行うことができる。   In the third stage, as described above, only one post-processing is performed. Therefore, even when the preprocessing requires a large amount of memory, it is not necessary to exchange data with the DRAM 110 during the processing related to the third stage, and efficient processing can be performed.

図7は、各付加処理ユニット106への処理の割り当てを説明するための図である。図7に示すように、付加処理ユニット106にはタイミングを制御するタイムバジェットが設定されている。そして、各付加処理ユニット106は、同一のタイムバジェットにおいて異なるスライスに対して同一の処理を施す。ここで、スライスとは、動画像を構成する静止画の横方向の1ライン分のことである。   FIG. 7 is a diagram for explaining the assignment of processing to each additional processing unit 106. As shown in FIG. 7, a time budget for controlling timing is set in the additional processing unit 106. Each additional processing unit 106 performs the same processing on different slices in the same time budget. Here, the slice refers to one line in the horizontal direction of the still image constituting the moving image.

例えば、第1付加処理ユニット106aには、スライス1に対する処理が割り当てられている、また、第2付加処理ユニット106bには、スライス2に対する処理が割り当てられている。このように、複数の付加処理ユニット106が1つの動画像データに対する処理を分担することにより並列処理を行う。   For example, the process for slice 1 is assigned to the first additional processing unit 106a, and the process for slice 2 is assigned to the second additional processing unit 106b. As described above, the plurality of additional processing units 106 perform the parallel processing by sharing the processing for one moving image data.

例えば第1ステージでは、第1付加処理ユニット106aは、スライス1に対して前処理を行う。そして、前処理が行われた後のスライス1をDRAM110に書き戻す。また、第2付加処理ユニット106bは、スライス2に対して前処理を行う。そして、前処理が行われた後のスライス2をDRAM110に書き戻す。同様に、各付加処理ユニット106が前処理を行い、その結果をそれぞれDRAM110に書き戻す。   For example, in the first stage, the first additional processing unit 106a performs preprocessing on slice 1. Then, the slice 1 after the preprocessing is written back to the DRAM 110. The second additional processing unit 106b performs preprocessing for slice 2. Then, the slice 2 after the preprocessing is written back to the DRAM 110. Similarly, each additional processing unit 106 performs preprocessing and writes the result back to the DRAM 110.

以上のように、複数の付加処理ユニット106がスライス単位で処理を分担することにより、処理の高速化を図ることができる。   As described above, the plurality of additional processing units 106 share processing in units of slices, so that processing speed can be increased.

また、スライスの数が付加処理ユニット106の数よりも多い場合には、1つの付加処理ユニットに複数のスライスを割り当ててもよい。例えば、第1付加処理ユニット106aにスライス1〜スライス3が割り当てられ、第2付加処理ユニット106bにスライス4〜スライス6が割り当てられる。   When the number of slices is larger than the number of additional processing units 106, a plurality of slices may be assigned to one additional processing unit. For example, slices 1 to 3 are assigned to the first additional processing unit 106a, and slices 4 to 6 are assigned to the second additional processing unit 106b.

さらに、第1付加処理ユニット106aが第1ステージの処理を完了したときに、第2付加処理ユニット106bが第1ステージの処理を完了していない場合がある。例えば、第1付加処理ユニット106aが第1ステージの処理を完了したときに、第2付加処理ユニット106bがスライス4に対する処理を行っている場合がある。例えば、同一のスライスであっても、処理に要する演算量が異なる場合などである。   Furthermore, when the first additional processing unit 106a completes the first stage processing, the second additional processing unit 106b may not complete the first stage processing. For example, the second additional processing unit 106b may be processing the slice 4 when the first additional processing unit 106a completes the first stage processing. For example, even when the slices are the same, the amount of computation required for processing is different.

この場合には、第2付加処理ユニット106bがスライス4を処理する間に、第1付加処理ユニット106aは、スライス6に対する処理を行う。これにより、第2付加処理ユニット106bがスライス4〜スライス6に対する処理を行う場合に比べて、処理を高速化することができる。このように、各付加処理ユニット106における処理速度が異なる場合には、スライスを再配分することにより、さらなる処理の高速化を図ることができる   In this case, the first additional processing unit 106a performs processing on the slice 6 while the second additional processing unit 106b processes the slice 4. As a result, the processing speed can be increased as compared with the case where the second additional processing unit 106b performs processing for slice 4 to slice 6. As described above, when the processing speeds of the additional processing units 106 are different, the processing can be further speeded up by redistributing the slices.

なお、本実施の形態においては、スライス単位で動画像データが各付加処理ユニット106に割り当てられているが、各付加処理ユニット106への動画像データの割り当ての単位はこれに限定されるものではなく、これ以外の単位でもよい。例えば、スライスを構成するさらに細かい単位であるマクロブロック単位で、動画像データが各付加処理ユニット106に割り当てられてもよい。また他の例としては、動画像データにおいて再同期マーカを先頭として分割されたビデオパケット単位で動画像データが各付加処理ユニット106に割り当てられてもよい。   In the present embodiment, moving image data is allocated to each additional processing unit 106 in slice units, but the unit of moving image data allocation to each additional processing unit 106 is not limited to this. There may be other units. For example, moving image data may be allocated to each additional processing unit 106 in units of macro blocks that are finer units constituting a slice. As another example, moving image data may be assigned to each additional processing unit 106 in units of video packets divided in moving image data starting from the resynchronization marker.

図8は、処理ユニット102が付加処理ユニット106にバイナリデータを割り当てる処理を説明するための図である。処理ユニット102は、DRAM110からDMAC104を介して取得したバイナリデータのうちから、スライススタートコード310を検出する。そして、一のスライススタートコード310aから次に既述されたスライススタートコード310bまでの間のデータをスライスコード312と判断する。このように、処理ユニット102は、スライススタートコードに基づいてバイナリデータを複数のデータに分割し、各付加処理ユニット106に割り当てる。   FIG. 8 is a diagram for explaining processing in which the processing unit 102 allocates binary data to the additional processing unit 106. The processing unit 102 detects the slice start code 310 from the binary data acquired from the DRAM 110 via the DMAC 104. Data from one slice start code 310 a to the next slice start code 310 b described above is determined as the slice code 312. As described above, the processing unit 102 divides binary data into a plurality of data based on the slice start code, and assigns the data to each additional processing unit 106.

図9は、付加処理ユニット106がそれぞれ異なる処理を担当する場合の各付加処理ユニット106の処理を説明するための図である。図9に示すように各付加処理ユニット106がそれぞれ異なる処理を担当することとすると、第1付加処理ユニット106aがスライス1に対し第1ステージの処理を行っている間は、第2付加処理ユニット106bは、スライス1に対し第2ステージの処理を行えず、スタンバイ状態となる。このように、複数の付加処理ユニット106が異なる処理を行うこととすると、一の付加処理ユニット106における処理が完了するまで他の付加処理ユニット106は処理を開始できない場合が生じ効率が悪い。複数の付加処理ユニット106が異なる処理を担当することとすると、複数の付加処理ユニット106による並列処理を行っているにもかかわらず、十分な処理の効率化を図ることができない。   FIG. 9 is a diagram for explaining the processing of each additional processing unit 106 when the additional processing unit 106 is in charge of different processing. As shown in FIG. 9, if each additional processing unit 106 is in charge of different processing, the second additional processing unit 106 a while the first additional processing unit 106 a is performing the first stage processing on slice 1. 106b cannot perform the second stage processing on slice 1 and enters a standby state. As described above, if a plurality of additional processing units 106 perform different processes, the other additional processing units 106 may not be able to start processing until the processing in one additional processing unit 106 is completed, resulting in poor efficiency. If a plurality of additional processing units 106 are in charge of different processes, sufficient processing efficiency cannot be achieved despite parallel processing performed by the plurality of additional processing units 106.

そこで、図7を参照しつつ説明したように、各付加処理ユニット106は、それぞれ異なるスライスに対して同一の処理を行うこととした。これにより、図9を参照しつつ説明したような各付加処理ユニット106におけるスタンバイ状態の頻出を避けることができ、処理の効率化を図ることができる。   Therefore, as described with reference to FIG. 7, each additional processing unit 106 performs the same processing on different slices. As a result, frequent occurrence of the standby state in each additional processing unit 106 as described with reference to FIG. 9 can be avoided, and processing efficiency can be improved.

以上のように、本発明にかかる動画像復号化装置は、動画像データの復号化に有用であり、特に、複数のプロセッシングユニットを用いて、バイナリデータを動画像データに復号化する処理に有用である。 As described above, the moving picture decoding KaSo location according to the present invention is useful for decoding the moving picture data, in particular, useful using a plurality of processing units, the processing of decoding the binary data to the moving image data It is.

動画像復号化装置10のハードウェア構成を示すブロック図である。3 is a block diagram illustrating a hardware configuration of a moving picture decoding apparatus 10. FIG. 図1に示す第1付加処理ユニット106aの詳細な構成を示すブロック図である。It is a block diagram which shows the detailed structure of the 1st addition process unit 106a shown in FIG. プロセッサエレメント100における復号化処理を示すフローチャートである。4 is a flowchart showing a decoding process in the processor element 100. 第1ステージにおけるバイナリデータの流れを示す図である。It is a figure which shows the flow of the binary data in a 1st stage. 第2ステージにおけるバイナリデータの流れを示す図である。It is a figure which shows the flow of the binary data in a 2nd stage. 第3ステージにおけるバイナリデータの流れを示す図である。It is a figure which shows the flow of the binary data in a 3rd stage. 各付加処理ユニット106への処理の割り当てを説明するための図である。FIG. 6 is a diagram for explaining process assignment to each additional processing unit 106; 処理ユニット102が付加処理ユニット106にバイナリデータを割り当てる処理を説明するための図である。FIG. 10 is a diagram for explaining processing in which a processing unit assigns binary data to an additional processing unit. 付加処理ユニット106がそれぞれ異なる処理を担当する場合の各付加処理ユニット106の処理を説明するための図である。It is a figure for demonstrating the process of each additional process unit 106 in case the additional process unit 106 takes charge of a different process, respectively.

符号の説明Explanation of symbols

10 動画像復号化装置
100 プロセッサエレメント
102 処理ユニット
106 付加処理ユニット
1060 ローカルメモリ
1062 レジスタ
1064 浮動少数点演算ユニット
1066 整数演算ユニット
DESCRIPTION OF SYMBOLS 10 Moving image decoding apparatus 100 Processor element 102 Processing unit 106 Additional processing unit 1060 Local memory 1062 Register 1064 Floating point arithmetic unit 1066 Integer arithmetic unit

Claims (7)

動画像を復号化する動画像復号化装置であって、
前記復号化の処理を指示し、かつ前記復号化に関する処理を行う第1プロセッサと、
前記第1プロセッサからの指示に基づいて、前記復号化に関する処理を行う第2プロセッサと、
前記復号化に関する情報を保持するメインメモリと、
前記メインメモリと前記第1プロセッサの間、および前記メインメモリと前記第2プロセッサとの間のデータの授受を制御するメインメモリ制御手段と、
前記第2プロセッサから直接アクセス可能なローカルメモリとを備え、
前記第1プロセッサは、前記メインメモリ制御手段を介して前記メインメモリに保持される情報を参照し、前記復号化に関する処理として、シンタックス解析処理、可変長復号化処理、逆量子化処理、逆離散コサイン変換処理、動き補償処理及び後処理の少なくとも1つのうちの全部又は一部の処理であって且つ処理にかかる演算量が予め定められた演算量よりも小さい第1処理を行い、
前記第2プロセッサは、前記ローカルメモリに保持される情報を参照して、前記第1プロセッサからの指示に基づいて、前記復号化に関する処理として、シンタックス解析処理、可変長復号化処理、逆量子化処理、逆離散コサイン変換処理、動き補償処理及び後処理の少なくとも1つのうちの全部又は一部の処理であって且つ処理にかかる演算量が予め定められた演算量よりも大きい第2処理を行い、
前記第2プロセッサが行う前記第2処理全体は、複数のステージに分割され、
前記メインメモリは、各ステージにおいて用いられる情報をさらに保持し、
前記ローカルメモリは、前記第2プロセッサが一の前記ステージにおいて前記第2処理を実行するときに、前記メインメモリ制御手段を介して前記メインメモリから当該ステージにおいて用いられる情報を取得し、当該ステージにおいて用いられる情報を保持することを特徴とする動画像復号化装置。
A video decoding device for decoding a video,
A first processor for instructing the decoding process and performing a process related to the decoding;
A second processor that performs processing related to the decoding based on an instruction from the first processor;
A main memory for holding information relating to the decoding;
Main memory control means for controlling data exchange between the main memory and the first processor and between the main memory and the second processor;
A local memory directly accessible from the second processor,
The first processor refers to information held in the main memory via the main memory control means, and as processing related to the decoding, syntax analysis processing, variable length decoding processing, inverse quantization processing, inverse processing Performing a first process that is all or a part of at least one of the discrete cosine transform process, the motion compensation process, and the post-process, and in which the calculation amount for the process is smaller than a predetermined calculation amount;
The second processor refers to information held in the local memory, and, based on an instruction from the first processor, as processing related to the decoding, syntax analysis processing, variable length decoding processing, inverse quantum A second process that is all or a part of at least one of a conversion process, an inverse discrete cosine transform process, a motion compensation process, and a post-process, and the amount of calculation for the process is larger than a predetermined amount of calculation Done
The entire second process performed by the second processor is divided into a plurality of stages,
The main memory further holds information used in each stage,
The local memory acquires information used in the stage from the main memory via the main memory control means when the second processor executes the second process in the one stage. A moving picture decoding apparatus characterized by holding information to be used.
前記ローカルメモリは、前記第2プロセッサが一の前記ステージにおいて前記第2処理を完了したときに、当該ステージにおいて用いられる情報を前記メインメモリに退避することを特徴とする請求項1に記載の動画像復号化装置。   The moving image according to claim 1, wherein the local memory saves information used in the stage to the main memory when the second processor completes the second processing in the one stage. Image decoding device. 前記第2処理のうち、前記可変長復号化処理及び前記逆量子化処理は第1ステージに含まれ、前記逆離散コサイン変換処理及び前記動き補償処理は第ステージに含まれ、前記後処理は第ステージに含まれることを特徴とする請求項1または2に記載の動画像復号化装置。 Among the second processes, the variable length decoding process and the inverse quantization process are included in a first stage, the inverse discrete cosine transform process and the motion compensation process are included in a second stage, and the post-processing is the moving picture decoding apparatus according to claim 1 or 2, characterized in that included in the third stage. 前記第2プロセッサを複数備え、
前記第1プロセッサは、前記動画像を複数の部分データに分割し、前記部分データ単位で前記動画像を前記複数の第2プロセッサに配分し、
前記複数の第2プロセッサは、前記第1プロセッサから受け取った前記部分データに対してそれぞれ第2処理を行うことを特徴とする請求項1からのいずれか一項に記載の動画像復号化装置。
A plurality of the second processors;
The first processor divides the moving image into a plurality of partial data, distributes the moving image to the plurality of second processors in units of the partial data,
It said plurality of second processors, the moving picture decoding apparatus according to any one of claims 1 to 3, characterized in that the second processing respectively the partial data received from the first processor .
前記第1プロセッサは、前記部分データに含まれるスタートコードを検出し、前記スタートコードに基づいて、前記動画像を前記複数の第2プロセッサに配分することを特徴とする請求項に記載の動画像復号化装置。 5. The moving image according to claim 4 , wherein the first processor detects a start code included in the partial data, and distributes the moving image to the plurality of second processors based on the start code. Image decoding device. 前記第1プロセッサは、前記動画像を構成する静止画像を複数のスライスに分割し、前記スライス単位で前記動画像を前記複数の第2プロセッサに配分することを特徴とする請求項に記載の動画像復号化装置。 Wherein the first processor is a still image constituting the moving image is divided into a plurality of slices, according to the moving image in the slice units to claim 4, characterized in that allocated to the plurality of second processors Video decoding device. 前記第1プロセッサは、前記動画像を複数のビデオパケットに分割し、前記ビデオパケット単位で前記動画像を前記複数の第2プロセッサに配分することを特徴とする請求項に記載の動画像復号化装置。 5. The moving picture decoding according to claim 4 , wherein the first processor divides the moving picture into a plurality of video packets and distributes the moving picture to the plurality of second processors in units of the video packets. 6. Device.
JP2003427719A 2003-12-24 2003-12-24 Video decoding device Expired - Fee Related JP4398717B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003427719A JP4398717B2 (en) 2003-12-24 2003-12-24 Video decoding device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003427719A JP4398717B2 (en) 2003-12-24 2003-12-24 Video decoding device

Publications (2)

Publication Number Publication Date
JP2005191690A JP2005191690A (en) 2005-07-14
JP4398717B2 true JP4398717B2 (en) 2010-01-13

Family

ID=34786913

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003427719A Expired - Fee Related JP4398717B2 (en) 2003-12-24 2003-12-24 Video decoding device

Country Status (1)

Country Link
JP (1) JP4398717B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4789200B2 (en) * 2006-08-07 2011-10-12 ルネサスエレクトロニクス株式会社 Functional module for executing either video encoding or video decoding and semiconductor integrated circuit including the same
JP2008141276A (en) * 2006-11-30 2008-06-19 Sanyo Electric Co Ltd Tv signal processing circuit
JP2009048469A (en) * 2007-08-21 2009-03-05 Fujitsu Ltd Information processing apparatus and information processing method

Also Published As

Publication number Publication date
JP2005191690A (en) 2005-07-14

Similar Documents

Publication Publication Date Title
US8395634B2 (en) Method and apparatus for processing information
US8675739B2 (en) Method and apparatus for video decoding based on a multi-core processor
US20050147174A1 (en) Encoding apparatus and method of same and decoding apparatus and method of same
US20080298473A1 (en) Methods for Parallel Deblocking of Macroblocks of a Compressed Media Frame
US20110072439A1 (en) Decoding device, recording medium, and decoding method for coded data
KR102274747B1 (en) CODEC, SYSTEM ON CHIP(SoC) INCLUDING THE SAME, AND DATA PROCESSING SYSTEM INCLUDING THE SoC
WO2012172393A1 (en) Method and device for encoding and decoding an image
US8281314B2 (en) Information processing device and method
Meenderinck et al. Parallel scalability of H. 264
US6172621B1 (en) Coding apparatus and method of same and decoding apparatus and method of same
US20190281316A1 (en) High efficiency video coding method and apparatus, and computer-readable storage medium
JP2007251865A (en) Image data processing apparatus, image data processing method, program for image data processing method, and recording medium recording program for image data processing method
KR101392349B1 (en) Method and apparatus for video decoding
JP3544524B2 (en) Image processing device
CN112714319B (en) Computer readable storage medium, video encoding and decoding method and apparatus using multiple execution units
JP4398717B2 (en) Video decoding device
US20060061497A1 (en) Bit rate conversion apparatus and method
US20140334545A1 (en) Hybrid video encoder apparatus and methods
JP4351903B2 (en) Video encoding device
JP2000175201A (en) Image processing unit, its method and providing medium
Migallón et al. Performance analysis of frame partitioning in parallel HEVC encoders
US20130205090A1 (en) Multi-core processor having hierarchical communication architecture
JPH11239348A (en) Video/audio signal processing unit
Pirsch et al. VLSI architectures for video signal processing
Panagou et al. Evaluation of Heterogeneous Scheduling Algorithms for Wavefront and Tile Parallelism in Video Coding

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070417

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070501

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070629

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080902

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081031

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090707

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090828

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091023

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121030

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131030

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees