[go: up one dir, main page]

JP2010041352A - Device and method for decoding image - Google Patents

Device and method for decoding image Download PDF

Info

Publication number
JP2010041352A
JP2010041352A JP2008201444A JP2008201444A JP2010041352A JP 2010041352 A JP2010041352 A JP 2010041352A JP 2008201444 A JP2008201444 A JP 2008201444A JP 2008201444 A JP2008201444 A JP 2008201444A JP 2010041352 A JP2010041352 A JP 2010041352A
Authority
JP
Japan
Prior art keywords
decoding
image
processing
task
input signal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2008201444A
Other languages
Japanese (ja)
Other versions
JP2010041352A5 (en
JP5236386B2 (en
Inventor
Junya Suzuki
淳也 鈴木
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.)
Panasonic Corp
Original Assignee
Panasonic 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 Panasonic Corp filed Critical Panasonic Corp
Priority to JP2008201444A priority Critical patent/JP5236386B2/en
Priority to US12/535,891 priority patent/US8548061B2/en
Publication of JP2010041352A publication Critical patent/JP2010041352A/en
Publication of JP2010041352A5 publication Critical patent/JP2010041352A5/ja
Application granted granted Critical
Publication of JP5236386B2 publication Critical patent/JP5236386B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

【課題】複数のプロセッサを並列動作させて復号処理を行う画像復号装置において、プロセッサのアイドル時間を低減し、より高速に圧縮画像を復号可能な画像復号装置を提供する。
【解決手段】 画像復号装置は、入力信号を所定データ単位(例えば、1フレーム)毎に復号する複数の復号手段(108、109)と、入力信号の復号処理を、処理順序の依存関係を有する複数の処理ステップに分割し、復号手段で処理するデータ単位を処理ステップ毎に割り当てる、タスク制御手段(105)とを備える。タスク制御手段(105)は、復号手段(108、109)の処理状況を検出し、その処理状況と、処理ステップ間の依存関係とに応じて、処理されるデータ単位及び処理ステップを復号手段(108、109)に割り当てる。
【選択図】図1
In an image decoding apparatus that performs decoding processing by operating a plurality of processors in parallel, an image decoding apparatus capable of reducing a processor idle time and decoding a compressed image at a higher speed is provided.
An image decoding apparatus has a plurality of decoding means (108, 109) for decoding an input signal for each predetermined data unit (for example, one frame), and the input signal decoding processing has a dependency relationship of processing order. And a task control unit (105) that divides the data into a plurality of processing steps and assigns a data unit to be processed by the decoding unit for each processing step. The task control means (105) detects the processing status of the decoding means (108, 109), and determines the data unit to be processed and the processing step according to the processing status and the dependency relationship between the processing steps. 108, 109).
[Selection] Figure 1

Description

本発明は、画像圧縮ストリームを高速に復号する画像復号装置及び方法に関する。   The present invention relates to an image decoding apparatus and method for decoding an image compression stream at high speed.

従来、MPEG2やH.264/AVCなどを用いて圧縮された画像ストリームを高速に復号化する手法として、複数のプロセッサを用いて復号する際に、復号処理をスライス毎に分割して各プロセッサに割り当て、並列に処理する手法が一般的に知られている。しかし、この手法は1フレームが複数のスライスに分割されていなければ適用できず、1フレームが複数のスライスに分割されていない場合は、フレーム毎に復号処理を分割し、各プロセッサで並列に処理する手法が用いられる。   Conventionally, as a technique for decoding an image stream compressed using MPEG2 or H.264 / AVC at a high speed, when decoding using a plurality of processors, the decoding process is divided into slices for each processor. A technique for assigning and processing in parallel is generally known. However, this method cannot be applied unless one frame is divided into a plurality of slices. When one frame is not divided into a plurality of slices, the decoding process is divided for each frame and processed in parallel by each processor. Is used.

一方、圧縮されたフレーム間には依存関係が存在する場合がある。例えば、MPEG2規格において、Iフレームは他のフレームに依存せず単独で復号可能であるが、PフレームはIフレームを参照して復号され、BフレームはIフレームやPフレームを参照して復号される。すなわち、圧縮されたフレームは、復号処理時での他のフレームとの依存関係にしたがいグループ分けすることができる。   On the other hand, there may be a dependency relationship between the compressed frames. For example, in the MPEG2 standard, an I frame can be decoded independently without depending on other frames, but a P frame is decoded with reference to the I frame, and a B frame is decoded with reference to the I frame or P frame. The That is, the compressed frames can be grouped according to the dependency relationship with other frames at the time of decoding processing.

例えば、グループA、グループB、グループCの3グループに分類できる。グループAには、例えば、Iフレームのような、他のフレームを参照しないフレームが属する。グループBには、例えば、Pフレームのような、他のフレームを参照し、また、他のフレームから参照され得るフレームが属する。グループCには、例えば、Bフレームのような、他のフレームを参照するが、他のフレームからは参照されることがないフレームが属する。   For example, it can be classified into three groups, group A, group B, and group C. For example, a frame that does not refer to another frame, such as an I frame, belongs to the group A. The group B belongs to a frame that refers to another frame such as a P frame and can be referred to from another frame. In group C, for example, a frame such as a B frame that refers to another frame but is not referred to by another frame belongs.

つまり、グループAに属するフレームは、どのグループのフレームの復号結果にも依存しないが、グループBに属するフレームは、グループAに属するフレームの復号結果に依存し、参照するフレームが復号されていない限り復号することが出来ない。また、グループCに属するフレームも、グループAやグループBに属するフレームの復号結果に依存し、参照するフレームが復号されていない限り復号することが出来ない。   That is, the frame belonging to group A does not depend on the decoding result of any group frame, but the frame belonging to group B depends on the decoding result of the frame belonging to group A, as long as the referenced frame is not decoded. It cannot be decrypted. In addition, frames belonging to group C also depend on the decoding results of frames belonging to group A and group B, and cannot be decoded unless the frame to be referenced is decoded.

よって、グループCに属するフレーム同士では依存関係が無いため、それぞれのフレームの復号処理は並列して行える。しかし、グループAに属するフレームの復号処理と、そのフレームに依存するフレームの復号処理とは並列して行うことができない。このため、1つのプロセッサが、そのような並列化できない処理を行っている間は、他のプロセッサは、処理待ちの状態であるアイドル状態になってしまう。   Therefore, there is no dependency relationship between the frames belonging to group C, and the decoding processing of each frame can be performed in parallel. However, the decoding process of a frame belonging to group A and the decoding process of a frame depending on the frame cannot be performed in parallel. For this reason, while one processor is performing such a process that cannot be performed in parallel, the other processors are in an idle state that is waiting for processing.

依存関係のあるフレームを復号するために、各フレームの依存関係に応じて各プロセッサが行う並列処理の分担を決定する画像復号方法(特許文献1参照)が提案されている。また、双方向予測符号化されたフレームを復号する際には、1フレームを複数のスライスに分けて並列処理し、それ以外の方式で符号化されたフレームはフレーム毎に並列処理を行うという画像復号方法(特許文献2参照)なども提案されている。このような方法で、プロセッサのアイドル時間を低減している。   In order to decode a frame having a dependency relationship, an image decoding method (see Patent Document 1) that determines the sharing of parallel processing performed by each processor according to the dependency relationship of each frame has been proposed. Also, when decoding bi-predictive encoded frames, one frame is divided into a plurality of slices and processed in parallel, and frames encoded using other methods are processed in parallel for each frame. A decoding method (see Patent Document 2) has also been proposed. In this way, the processor idle time is reduced.

特開2000−295616号公報JP 2000-295616 A 特開2005−175997号公報JP 2005-175997 A

上記のような従来の画像復号方法を用いた場合でも、プロセッサが長い時間アイドル状態になる場合がある。以下、図8を参照しこのような例を説明する。   Even when the conventional image decoding method as described above is used, the processor may be idle for a long time. Hereinafter, such an example will be described with reference to FIG.

図8の例では4つのプロセッサを並列に用いて復号処理を行う場合を考える。復号するフレームはフレーム0からフレーム5までの計6フレームとし、1フレームは1スライスで構成されている。フレーム0は、他のフレームの復号結果に依存しないフレームが属するグループAに属する。フレーム3は、他のフレームを参照し、また、他のフレームから参照され得るフレームが属するグループBに属し、フレーム0を参照する。フレーム1、2、4、5は、他のフレームを参照するが、他のフレームからは参照されることがないフレームが属するグループCに属し、フレーム0とフレーム3を参照する。各フレームの復号処理に掛かる時間は等しいとする。   In the example of FIG. 8, a case is considered where decoding is performed using four processors in parallel. The frames to be decoded are a total of six frames from frame 0 to frame 5, and one frame is composed of one slice. Frame 0 belongs to group A to which a frame that does not depend on the decoding results of other frames belongs. Frame 3 refers to another frame, and belongs to group B to which a frame that can be referenced from another frame belongs, and refers to frame 0. Frames 1, 2, 4, and 5 refer to other frames, but belong to group C to which frames that are not referred to by other frames belong, and refer to frames 0 and 3. It is assumed that the time required for the decoding process of each frame is equal.

フレーム1からフレーム5はフレーム0を参照するため、フレーム0の復号処理が完了するまではそれらのフレームの復号処理を開始することが出来ない。その結果、フレーム0を復号している間は、4つのプロセッサの内の3つがアイドル状態になる。フレーム0の復号処理が終了後、フレーム3の復号が可能となる。ここで、フレーム1、2、4、5は、フレーム3を参照するため、フレーム3の復号処理が完了するまでは、それらのフレームに対する復号処理を開始することが出来ない。そのため、フレーム3を復号している間、4つのプロセッサの内の3つがアイドル状態になる。フレーム3の復号処理が完了した後は、フレーム1、2、4、5の並列処理が可能となる。このように、処理全体に要する時間の50%はアイドル時間となる。つまり、プロセッサの能力を50%しか活用できていないという問題がある。   Since frames 1 to 5 refer to frame 0, the decoding processing of these frames cannot be started until the decoding processing of frame 0 is completed. As a result, while decoding frame 0, three of the four processors are idle. After the frame 0 decoding process is completed, frame 3 can be decoded. Here, since frames 1, 2, 4, and 5 refer to frame 3, the decoding process for these frames cannot be started until the decoding process for frame 3 is completed. Therefore, while decoding frame 3, three of the four processors are idle. After the decoding process of frame 3 is completed, parallel processing of frames 1, 2, 4, and 5 becomes possible. Thus, 50% of the time required for the entire process is idle time. That is, there is a problem that only 50% of the processor capacity can be utilized.

本発明は、上記問題を解決すべくなされたものであり、その目的とするところは、複数のプロセッサを並列動作させる復号処理において、プロセッサがアイドル状態になっている時間を低減し、より高速に圧縮画像を復号できる画像復号装置を提供することにある。   The present invention has been made to solve the above-described problems, and the object of the present invention is to reduce the time during which a processor is in an idle state in a decoding process in which a plurality of processors are operated in parallel, and to increase the speed. An object of the present invention is to provide an image decoding apparatus capable of decoding a compressed image.

本発明の第1の態様において、圧縮された画像ストリームを入力信号とし、前記入力信号を復号する画像復号装置が提供される。
画像復号装置は、入力信号を所定のデータ単位で復号する、複数の復号手段と、入力信号の復号処理を、処理順序の依存関係を有する複数の処理ステップに分割し、復号手段で処理すべきデータ単位を処理ステップ毎に割り当てる、タスク制御手段とを備える。タスク制御手段は、復号手段の処理状況を検出し、その処理状況と、処理ステップ間の依存関係とに応じて、処理されるデータ単位及び処理ステップを復号手段に割り当てる。
In a first aspect of the present invention, there is provided an image decoding apparatus that uses a compressed image stream as an input signal and decodes the input signal.
The image decoding apparatus should divide the input signal decoding process into predetermined data units and the decoding process of the input signal into a plurality of processing steps having processing order dependency and process the decoding unit by the decoding unit. Task control means for assigning a data unit for each processing step. The task control means detects the processing status of the decoding means, and assigns the data unit to be processed and the processing step to the decoding means according to the processing status and the dependency between the processing steps.

本発明の第2の態様において、圧縮された画像ストリームを入力信号として入力するステップと、入力した入力信号の復号処理を、処理順序の依存関係を有する複数の処理ステップに分割するステップと、複数の復号手段において、入力信号を所定のデータ単位毎に前記処理ステップ単位で復号処理を実行させるステップと、復号手段の処理状況を検出し、検出した処理状況と処理ステップ間の依存関係とに応じて、復号手段において処理される、データ単位及び処理ステップを決定するステップとを含む、画像復号方法が提供される。   In the second aspect of the present invention, a step of inputting a compressed image stream as an input signal, a step of dividing a decoding process of the input signal input into a plurality of processing steps having a processing order dependency, In the decoding means, the step of decoding the input signal for each predetermined data unit in the processing step unit, the processing status of the decoding means is detected, and the detected processing status and the dependency between the processing steps are determined. Thus, there is provided an image decoding method including a step of determining a data unit and a processing step to be processed in the decoding means.

本発明の第3の態様において、圧縮された画像ストリームを入力信号とし、入力信号を復号する画像復号装置の制御プログラムが提供される。制御プログラムは、圧縮された画像ストリームを入力信号として入力する手順と、入力した入力信号の復号処理を、処理順序の依存関係を有する複数の処理ステップに分割する手順と、複数の復号手段において、入力信号を所定のデータ単位毎に処理ステップ単位で復号処理を実行させる手順と、復号手段の処理状況を検出し、検出した処理状況と処理ステップ間の依存関係とに応じて、復号手段において処理される、データ単位及び処理ステップを決定する手順とを画像復号装置の制御手段に実行させる。   In a third aspect of the present invention, there is provided a control program for an image decoding apparatus that uses a compressed image stream as an input signal and decodes the input signal. The control program includes a procedure for inputting a compressed image stream as an input signal, a procedure for dividing a decoding process of the input signal input into a plurality of processing steps having processing order dependency, and a plurality of decoding means. A procedure for executing the decoding process on the input signal for each predetermined data unit in units of processing steps, and detecting the processing status of the decoding means, and processing in the decoding means according to the detected processing status and the dependency between the processing steps. The control unit of the image decoding apparatus executes the procedure for determining the data unit and the processing step.

本発明によれば、複数のプロセッサを使って画像復号処理を並列して行う際のアイドル時間を低減でき、圧縮画像の復号処理の高速化が図れる。   ADVANTAGE OF THE INVENTION According to this invention, the idle time at the time of performing an image decoding process in parallel using a some processor can be reduced, and the speed-up of the decoding process of a compressed image can be achieved.

以下、添付の図面を参照し、本発明の実施形態を説明する。   Embodiments of the present invention will be described below with reference to the accompanying drawings.

(実施の形態1)
本実施の形態における画像復号装置は、例えばH.264のような符号化方式で圧縮された映像のバイトストリームを入力し、デジタル画像を復号して出力する。
(Embodiment 1)
The image decoding apparatus according to the present embodiment receives a video byte stream compressed by an encoding method such as H.264, and decodes and outputs a digital image.

1 画像復号装置の構成
図1に本実施の形態における画像復号装置の構成を示す。画像復号装置101は、入力端子102を介してバイトストリームを入力し、復号して得られたデジタル画像を出力端子103を介して出力する。
1 Configuration of Image Decoding Device FIG. 1 shows the configuration of an image decoding device according to this embodiment. The image decoding apparatus 101 inputs a byte stream via the input terminal 102 and outputs a digital image obtained by decoding via the output terminal 103.

画像復号装置101において、ストリームバッファ104は、入力されたバイトストリームをバッファリングする。第1及び第2の復号部(以下単に「復号部」と称す。)108、109は、スライス単位で画像復号処理を行う。第1の復号部108と第2の復号部109により並列処理が可能となっている。タスク制御部105は復号部108、109で実行され復号処理を、復号処理のステップ(後述)とスライスの種類に基づき制御する。中間バッファ106は、復号処理中において生成される係数データと予測データと差分画像とを保持する。フレームバッファ107は、最終的に得られる復号画像を保持する。なお、タスク制御部105と復号部108、109の詳細については後述する。   In the image decoding apparatus 101, the stream buffer 104 buffers the input byte stream. First and second decoding units (hereinafter simply referred to as “decoding units”) 108 and 109 perform image decoding processing in units of slices. The first decoding unit 108 and the second decoding unit 109 can perform parallel processing. The task control unit 105 is executed by the decoding units 108 and 109 to control the decoding process based on the decoding process step (described later) and the slice type. The intermediate buffer 106 holds coefficient data, prediction data, and difference images generated during the decoding process. The frame buffer 107 holds a finally obtained decoded image. Details of the task control unit 105 and the decoding units 108 and 109 will be described later.

1.1 画像復号処理のステップとスライスタイプ
本実施形態における画像復号装置では、1フレームに対する復号処理を、算術復号処理、差分画像作成処理及び復号画像作成処理の3つのステップ(段階)に分割する。
1.1 Image Decoding Process Steps and Slice Types In the image decoding apparatus according to the present embodiment, the decoding process for one frame is divided into three steps (stages): an arithmetic decoding process, a difference image generating process, and a decoded image generating process. .

算術復号処理は、入力されたバイトストリームから差分画像を作成するのに必要な係数データと、予測画像を作成するのに必要な予測モードや動きベクトルなどの予測データを復号する処理とする。この処理は、フレーム間やステップ間での依存関係が無い。   The arithmetic decoding process is a process for decoding coefficient data necessary for creating a difference image from an input byte stream and prediction data such as a prediction mode and a motion vector necessary for creating a prediction image. This process has no dependency between frames or steps.

差分画像作成処理は、係数データに対して逆量子化や逆離散コサイン変換などを施すことによって差分画像を作成する処理である。この処理にはフレーム間の依存関係は無いが、算術復号処理によって必要な係数データが復号されている必要があるため、ステップ間の依存関係がある。   The difference image creation process is a process for creating a difference image by performing inverse quantization, inverse discrete cosine transform, or the like on coefficient data. Although there is no dependency between frames in this process, there is a dependency between steps because necessary coefficient data needs to be decoded by the arithmetic decoding process.

復号画像作成処理は、予測データと参照に必要な復号画像から予測画像を作成し、予測画像と差分画像を合わせて復号画像を作成する。この処理は、算術復号処理によって必要な予測データが復号されていること、差分画像作成処理によって必要な差分画像が作成されていること、参照が必要な場合には必要となる復号画像が作成されていることが必要となる。従って、フレーム間にもステップ間にも依存関係がある。   In the decoded image creation process, a predicted image is created from the predicted data and a decoded image necessary for reference, and a decoded image is created by combining the predicted image and the difference image. In this process, necessary prediction data is decoded by arithmetic decoding processing, necessary difference images are created by difference image creation processing, and necessary decoded images are created when reference is required. It is necessary to be. Therefore, there is a dependency between frames and between steps.

さらに、スライスをフレーム間の依存関係に基づき3種類に分類する。前述したように、他のフレームを参照しないフレームが属するグループAに属しているフレームを構成するスライスの種類を「スライスA」と称す。他のフレームを参照し、また、他のフレームから参照され得るフレームが属するグループBに属しているフレームを構成するスライスの種類を「スライスB」と称す。他のフレームを参照するが、他のフレームからは参照されることがないグループCに属しているフレームを構成するスライスの種類を「スライスC」と称す。   Furthermore, the slice is classified into three types based on the dependency between frames. As described above, the type of slice constituting a frame belonging to group A to which a frame that does not refer to another frame belongs is referred to as “slice A”. A type of a slice constituting a frame belonging to group B to which another frame is referenced and a frame that can be referenced from another frame belongs is referred to as “slice B”. The type of slice that constitutes a frame belonging to group C that refers to another frame but is not referred to by another frame is referred to as “slice C”.

1.2 タスク制御部
タスク制御部105には復号部108、109が接続されている。復号部108、109はそれぞれ待機状態と処理状態の2つの状態をとり得る。また、タスク制御部105は、復号部108、109で実行される復号処理されるタスクを管理するためのタスクリスト15を内部に保持する。タスクリスト15は、復号パラメータセットを1つの要素として管理する。復号パラメータセットは復号処理に必要なパラメータの組であって、具体的には以下の情報を含む。
・スライスタイプ(スライスの種類を示す情報)
・タスク(復号部で実行する復号処理のステップの種類を示す情報)
・スライスデータポインタ
(ストリームバッファ104上のスライスデータの格納位置を示す情報)
・係数データポインタ
(中間バッファ106上の係数データの格納位置を示す情報)
・予測データポインタ
(中間バッファ106上の予測データの格納位置を示す情報)
・差分画像ポインタ
(中間バッファ106上の差分画像の格納位置を示す情報)
1.2 Task Control Unit The task control unit 105 is connected to decryption units 108 and 109. Each of the decoding units 108 and 109 can take two states, a standby state and a processing state. In addition, the task control unit 105 stores therein a task list 15 for managing tasks to be decrypted and executed by the decrypting units 108 and 109. The task list 15 manages the decoding parameter set as one element. The decoding parameter set is a set of parameters necessary for the decoding process, and specifically includes the following information.
-Slice type (information indicating the type of slice)
-Task (information indicating the type of decryption process executed by the decryption unit)
Slice data pointer (information indicating the storage position of slice data on the stream buffer 104)
Coefficient data pointer (information indicating the storage position of coefficient data on the intermediate buffer 106)
Prediction data pointer (information indicating the storage position of prediction data in the intermediate buffer 106)
Difference image pointer (information indicating the storage position of the difference image on the intermediate buffer 106)

図2(a)にタスクリスト15の例を示す。タスクリスト15は、パラメータセットに加えて、そのパラメータセット特定する要素番号と、そのパラメータセットの処理に対する優先度とを関連づけて管理する。   FIG. 2A shows an example of the task list 15. In addition to the parameter set, the task list 15 manages the element number that identifies the parameter set and the priority for processing the parameter set in association with each other.

また、タスク制御部105は優先度テーブル16を有する。図2(b)に優先度テーブル16の例を示す。優先度テーブル16は、復号処理における各ステップの優先度をスライスタイプに応じて規定するものである。前述のように、ステップ間の依存関係により、算術復号処理、差分画像作成処理、復号画像作成処理の順で優先的に処理される必要がある。また、フレーム間の依存関係から、スライスタイプA、スライスタイプB、スライスタイプCの順に優先的に処理される必要がある。優先度テーブル16は、このようなステップ間及びフレーム間の依存関係を考慮して、各ステップの優先度をスライスタイプに応じて規定している。   The task control unit 105 has a priority table 16. An example of the priority table 16 is shown in FIG. The priority table 16 defines the priority of each step in the decoding process according to the slice type. As described above, depending on the dependency between steps, the arithmetic decoding process, the difference image creation process, and the decoded image creation process need to be preferentially processed. In addition, it is necessary to preferentially process slice type A, slice type B, and slice type C in order of dependency between frames. The priority table 16 defines the priority of each step according to the slice type in consideration of the dependency between steps and between frames.

タスク制御部105は複数の状態をとり得る。図3にタスク制御部105の状態遷移を示す。同図に示すように、タスク制御部105は、初期状態、ストリーム解析状態、タスク割当状態、タスク完了待ち状態、及びタスク追加状態の5状態を有する。以下、タスク制御部105の各状態について説明する。   The task control unit 105 can take a plurality of states. FIG. 3 shows the state transition of the task control unit 105. As shown in the figure, the task control unit 105 has five states: an initial state, a stream analysis state, a task allocation state, a task completion waiting state, and a task addition state. Hereinafter, each state of the task control unit 105 will be described.

初期状態では、タスクリスト15の要素数は0に設定されている。ストリームバッファ104から必要なバイトストリームが読み出せるようになると、初期状態からストリーム解析状態に遷移する。   In the initial state, the number of elements in the task list 15 is set to zero. When a necessary byte stream can be read from the stream buffer 104, the initial state shifts to the stream analysis state.

ストリーム解析状態では、タスク制御部105はストリームバッファ104から読み出したバイトストリームを先頭から探索し、バイトストリームに含まれる全てのスライスを検出する。スライスを検出する毎に、新しい復号パラメータセットをタスクリスト15に追加する。新しい復号パラメータセットにおいては、スライスタイプは、検出したスライスの種類に、タスクは算術復号処理に、スライスデータポインタは、検出したスライスのデータの開始位置にそれぞれ設定される。読み出したバイトストリームを全て探索し、全ての復号パラメータセットをタスクリスト15に追加すると、タスク割当状態に遷移する。   In the stream analysis state, the task control unit 105 searches for the byte stream read from the stream buffer 104 from the top, and detects all slices included in the byte stream. Each time a slice is detected, a new decoding parameter set is added to the task list 15. In the new decoding parameter set, the slice type is set to the detected slice type, the task is set to the arithmetic decoding process, and the slice data pointer is set to the data start position of the detected slice. When all the read byte streams are searched and all decoding parameter sets are added to the task list 15, the task assignment state is entered.

タスク割当状態において、タスクリスト15の要素数が0の場合は、初期状態に遷移する。そうでない場合、まず、図2に示す優先度テーブル16を参照して、タスクリスト15に含まれる各復号パラメータセットの優先度を決定する。そして、タスク制御部105は、復号部108、109が双方とも待機状態である場合、優先度の最も高い復号パラメータセットを第1の復号部108に出力し、優先度が2番目に高い復号パラメータセットを第2の復号部109に出力し、その後、タスク完了待ち状態に遷移する。また、復号部108、109のいずれか一方が待機状態である場合、タスク制御部105は、優先度の最も高い復号パラメータセットを、待機状態にある復号部に出力し、タスク完了待ち状態に遷移する。   In the task assignment state, when the number of elements in the task list 15 is 0, the state transitions to the initial state. Otherwise, first, the priority of each decoding parameter set included in the task list 15 is determined with reference to the priority table 16 shown in FIG. Then, when both of the decoding units 108 and 109 are in the standby state, the task control unit 105 outputs the decoding parameter set having the highest priority to the first decoding unit 108 and the decoding parameter having the second highest priority. The set is output to the second decoding unit 109, and then transitions to a task completion waiting state. If either one of the decoding units 108 and 109 is in the standby state, the task control unit 105 outputs the decoding parameter set having the highest priority to the decoding unit in the standby state, and transitions to the task completion waiting state. To do.

但し、タスクリスト15内に優先度が同じ復号パラメータセットが複数存在する場合は、タスクリストに追加された順番がより早いものを優先する。また、スライスタイプがスライスBであり、かつタスクが復号画像作成処理である復号パラメータセットは、スライスAの復号画像作成処理が完了していない場合には、復号部108、109に出力されない。またスライスタイプがスライスCであり、かつタスクが復号画像作成処理である復号パラメータセットは、スライスBの復号画像作成処理が完了していない場合には、復号部108、109に出力されない。これらの場合には、次に優先度が高い復号パラメータセットが復号部108、109に出力される。   However, when there are a plurality of decryption parameter sets having the same priority in the task list 15, the one with the earlier order added to the task list is prioritized. In addition, a decoding parameter set whose slice type is slice B and whose task is decoded image creation processing is not output to the decoding units 108 and 109 when the decoded image creation processing of slice A is not completed. In addition, a decoding parameter set whose slice type is slice C and whose task is decoded image creation processing is not output to the decoding units 108 and 109 when the decoded image creation processing of slice B is not completed. In these cases, the decoding parameter set having the next highest priority is output to the decoding units 108 and 109.

タスク完了待ち状態では、第1の復号部108または第2の復号部109から復号パラメータセットが入力されるまで待機する。第1の復号部108または第2の復号部109から復号パラメータセットが入力されると、タスク追加状態に遷移する。タスク完了待ち状態以外の状態において、入力されたタスクリストの復号パラメータセットは、待ち行列に入り、次にタスク制御部105がタスク完了待ち状態に遷移した際に処理される。   In the task completion waiting state, the system waits until a decoding parameter set is input from the first decoding unit 108 or the second decoding unit 109. When a decoding parameter set is input from the first decoding unit 108 or the second decoding unit 109, the state transits to a task addition state. In a state other than the task completion waiting state, the input decryption parameter set of the task list enters the queue and is processed when the task control unit 105 transitions to the task completion waiting state next.

タスク追加状態では、タスク制御部105は、入力された復号パラメータセットに含まれる”タスク”が復号画像作成処理の場合は、何もせずにタスク割当状態に遷移する。それ以外の場合には、タスク制御部105は、タスクリストに新しい復号パラメータセットを要素として追加し、タスク割当状態に遷移する。入力された復号パラメータセットに含まれる”タスク”が算術復号処理の場合には、新しい復号パラメータセットにおいて、”タスク”を、差分画像作成処理に設定し、差分画像作成処理の場合には、”タスク”を、復号画像作成処理に設定する。新しい復号パラメータセットに含まれる”タスク”以外の情報は、入力された復号パラメータセットのものと同じにする。   In the task addition state, when the “task” included in the input decoding parameter set is a decoded image creation process, the task control unit 105 does nothing and transitions to the task assignment state. In other cases, the task control unit 105 adds a new decoding parameter set as an element to the task list, and transitions to the task assignment state. When the “task” included in the input decoding parameter set is an arithmetic decoding process, “task” is set to the differential image creation process in the new decoding parameter set. “Task” is set in the decoded image creation processing. Information other than the “task” included in the new decoding parameter set is the same as that of the input decoding parameter set.

1.3 復号部
復号部108、109は、待機状態と処理状態の2つの状態を有する。初期状態は待機状態である。待機状態は、復号パラメータセットが入力されるのを待っている状態である。復号パラメータセットが入力されると、復号部108、109は待機状態から処理状態に遷移する。処理状態では、入力された復号パラメータセットに含まれるタスクによって、復号部10、109の動作が変わる。以下、タスクにより異なる、処理状態での動作を説明する。
1.3 Decoding Unit The decoding units 108 and 109 have two states: a standby state and a processing state. The initial state is a standby state. The standby state is a state in which a decoding parameter set is waiting to be input. When the decoding parameter set is input, the decoding units 108 and 109 transition from the standby state to the processing state. In the processing state, the operations of the decoding units 10 and 109 vary depending on the tasks included in the input decoding parameter set. Hereinafter, the operation in the processing state, which differs depending on the task, will be described.

タスクが算術復号処理の場合、復号部108、109は、入力された復号パラメータセットに含まれるスライスデータポインタが示すストリームバッファ104上のアドレスからバイトストリームを読み出して、係数データと予測データを復号し、中間バッファ106に書き込む。続いて、復号部108、109は、新しい復号パラメータセットを出力し、待機状態に遷移する。新しい復号パラメータセットにおいて、係数データポインタと予測データポインタは、それぞれ中間バッファ106に書き込んだ係数データと予測データへのポインタに設定し、係数データポインタと予測データポインタ以外の情報は、入力された復号パラメータセット内のものと同じに設定する。   When the task is an arithmetic decoding process, the decoding units 108 and 109 read the byte stream from the address on the stream buffer 104 indicated by the slice data pointer included in the input decoding parameter set, and decode the coefficient data and the prediction data. Write to the intermediate buffer 106. Subsequently, the decoding units 108 and 109 output a new decoding parameter set, and transition to a standby state. In the new decoding parameter set, the coefficient data pointer and the prediction data pointer are set to the pointers to the coefficient data and the prediction data written in the intermediate buffer 106, respectively, and information other than the coefficient data pointer and the prediction data pointer is inputted decoding Set to the same as in the parameter set.

タスクが差分画像作成処理の場合、復号部108、109は、入力された復号パラメータセットに含まれる係数データポインタが示す中間バッファ106上のアドレスから係数データを読み出して、差分画像を作成し、中間バッファ106に書き込む。続いて、復号部108、109は、新しい復号パラメータセットを出力し、待機状態に遷移する。新しい復号パラメータセットにおいて、差分画像ポインタは中間バッファ106に書き込んだ差分画像へのポインタに設定し、差分画像ポインタ以外の情報は、入力された復号パラメータセット内のものと同じに設定する。   When the task is a difference image creation process, the decoding units 108 and 109 read the coefficient data from the address on the intermediate buffer 106 indicated by the coefficient data pointer included in the input decoding parameter set, create a difference image, Write to buffer 106. Subsequently, the decoding units 108 and 109 output a new decoding parameter set, and transition to a standby state. In the new decoding parameter set, the difference image pointer is set to a pointer to the difference image written in the intermediate buffer 106, and information other than the difference image pointer is set to be the same as that in the inputted decoding parameter set.

タスクが復号画像作成処理の場合、復号部108、109は、入力された復号パラメータセットに含まれる予測データポインタが示す中間バッファ106上のアドレスから予測データを読み出す。次に、復号部108、109は、読み出した予測データを基にフレームバッファ107から予測画像作成に必要で既に復号されている復号画像を読み出し、この復号画像に、中間バッファ106から読み出した差分画像を合わせて復号画像を作成する。作成された復号画像は、フレームバッファ107に書き込まれる。続いて、復号部108、109は、入力された復号パラメータセットをそのまま出力し、待機状態に遷移する。   When the task is a decoded image creation process, the decoding units 108 and 109 read prediction data from the address on the intermediate buffer 106 indicated by the prediction data pointer included in the input decoding parameter set. Next, the decoding units 108 and 109 read out a decoded image that has already been decoded and is necessary for creating a prediction image from the frame buffer 107 based on the read prediction data, and the difference image read out from the intermediate buffer 106 is read as this decoded image. To create a decoded image. The created decoded image is written into the frame buffer 107. Subsequently, the decoding units 108 and 109 output the input decoding parameter set as it is, and transition to a standby state.

2 並列復号動作
以上のように構成された本実施形態の画像復号装置101の復号動作を説明する。なお、以下の説明では、次の点を前提としている。画像復号装置101は、図4に示すような、Iフレーム、Bフレーム、Bフレーム、Pフレーム、Bフレーム、Bフレームの順に6個のフレームを含む1つのGOP(Group of Pictures)からなるバイトストリームを入力し、全てのフレームを復号する。また、各フレームは1スライスで構成されている。図4のGOPには、スライスAが1個、スライスBが1個、スライスCが4個含まれている。また、全ての被参照画像は同じGOPに含まれている。
2 Parallel Decoding Operation The decoding operation of the image decoding apparatus 101 of the present embodiment configured as described above will be described. In the following description, the following points are assumed. The image decoding apparatus 101 has a byte stream composed of one GOP (Group of Pictures) including six frames in the order of I frame, B frame, B frame, P frame, B frame, and B frame as shown in FIG. To decode all frames. Each frame is composed of one slice. The GOP in FIG. 4 includes one slice A, one slice B, and four slices C. All the referenced images are included in the same GOP.

画像復号装置101において、入力端子102を介して入力されたバイトストリームは、ストリームバッファ104に書き込まれる。これにより復号するバイトストリームがストリームバッファ104から読み出せるようになり、タスク制御部105は初期状態からストリーム解析状態に遷移する。   In the image decoding apparatus 101, the byte stream input via the input terminal 102 is written into the stream buffer 104. As a result, the byte stream to be decoded can be read from the stream buffer 104, and the task control unit 105 transitions from the initial state to the stream analysis state.

ストリーム解析状態では、タスク制御部105は、ストリームバッファ104からバイトストリームを読み出して解析し、タスクリスト15に新しい復号パラメータセットを追加し、タスク割当状態に遷移する。この状態での、タスクリスト15の状態を図5Aに示す。なお、図5Aでは、説明の便宜上、復号パラメータセットの順番を示す要素番号と、各復号パラメータセットに含まれるスライスタイプとタスク、及び各復号パラメータセットの優先度のみが示されている(以下の図5B〜図5Gにおいても同様)。各復号パラメータセットのスライスデータポインタを、各スライスのデータ開始位置とする。   In the stream analysis state, the task control unit 105 reads and analyzes the byte stream from the stream buffer 104, adds a new decoding parameter set to the task list 15, and transitions to the task assignment state. The state of the task list 15 in this state is shown in FIG. 5A. In FIG. 5A, for convenience of explanation, only the element number indicating the order of the decoding parameter set, the slice type and task included in each decoding parameter set, and the priority of each decoding parameter set are shown (the followings). The same applies to FIGS. 5B to 5G). The slice data pointer of each decoding parameter set is set as the data start position of each slice.

タスク割当状態では、タスク制御部105は、タスクリスト15内で優先度が最も高い復号パラメータセット(本例では、E1)を第1の復号部108に出力し、優先度が2番目に高いパラメータセット(本例では、E4)を第2の復号部109に出力する。次に、タスク制御部105は、出力した2つの復号パラメータセットをタスクリスト15から削除し、タスク完了待ち状態に遷移する。   In the task assignment state, the task control unit 105 outputs the decoding parameter set (E1 in this example) having the highest priority in the task list 15 to the first decoding unit 108, and the parameter having the second highest priority. The set (E4 in this example) is output to the second decoding unit 109. Next, the task control unit 105 deletes the output two decryption parameter sets from the task list 15 and transitions to a task completion waiting state.

第1の復号部108及び第2の復号部109には、復号パラメータセットが入力され、待機状態から処理状態に遷移する。   A decoding parameter set is input to the first decoding unit 108 and the second decoding unit 109, and a transition is made from the standby state to the processing state.

処理状態において、復号部108、109は、入力された復号パラメータセットを参照して算術復号処理を行い、その後、タスク制御部105に復号パラメータセットを出力して待機状態に遷移する。出力する復号パラメータセットにおいて、係数データポインタと予測データポインタは、それぞれ算術復号処理で得られた係数データと予測データへのポインタとなる。ここでは第1の復号部108が先に処理を完了して復号パラメータセットを出力し、第2の復号部109はその直後に復号パラメータセットを出力したとする。   In the processing state, the decoding units 108 and 109 perform arithmetic decoding processing with reference to the input decoding parameter set, and then output the decoding parameter set to the task control unit 105 and shift to a standby state. In the decoding parameter set to be output, the coefficient data pointer and the prediction data pointer become pointers to the coefficient data and the prediction data obtained by the arithmetic decoding process, respectively. Here, it is assumed that the first decoding unit 108 completes the process first and outputs a decoding parameter set, and the second decoding unit 109 outputs the decoding parameter set immediately thereafter.

タスク制御部105には、まず第1の復号部108から復号パラメータセットが入力され、タスク追加状態に遷移する。入力された復号パラメータセットの”タスク”は、算術復号処理であるため、”タスク”以外の情報は、入力された復号パラメータセット内のものと同じである。よって、”タスク”に差分画像作成処理を設定した新しい復号パラメータセットをタスクリスト15に追加し、タスク割当状態に遷移する。この時点でのタスクリスト15を図5Bに示す。図5Bに示すように、タスク割当状態において、最も優先度が高い復号パラメータセットはE7であるため、第1の復号部108にE7を出力し、タスクリストからE7を削除する。その後、タスク制御部105は、タスク完了待ち状態に遷移する。   First, the decoding parameter set is input from the first decoding unit 108 to the task control unit 105, and the task control unit 105 transits to a task addition state. Since the “task” of the input decoding parameter set is an arithmetic decoding process, the information other than “task” is the same as that in the input decoding parameter set. Therefore, a new decoding parameter set in which the difference image creation processing is set in “task” is added to the task list 15, and the task assignment state is entered. The task list 15 at this time is shown in FIG. 5B. As shown in FIG. 5B, since the decoding parameter set with the highest priority in the task assignment state is E7, E7 is output to the first decoding unit 108, and E7 is deleted from the task list. Thereafter, the task control unit 105 transitions to a task completion waiting state.

次に、第2の復号部109から復号パラメータセットが入力されると、タスク制御部105は、再びタスク追加状態に遷移する。タスク追加状態では、同様にして新しい復号パラメータセットをタスクリスト15に追加し、再びタスク割当状態に遷移する。この時のタスクリスト15を図5Cに示す。最も優先度が高いE8を第2の復号部109に出力し、タスクリスト15からE8を削除する。その後、タスク完了待ち状態に遷移する。   Next, when a decryption parameter set is input from the second decryption unit 109, the task control unit 105 transitions to the task addition state again. In the task addition state, a new decryption parameter set is added to the task list 15 in the same manner, and the state transitions to the task assignment state again. The task list 15 at this time is shown in FIG. 5C. E8 having the highest priority is output to the second decoding unit 109, and E8 is deleted from the task list 15. Thereafter, the state transits to a task completion waiting state.

第1及び第2の復号部108、109はそれぞれ、タスク制御部105から復号パラメータセットを入力すると、再び処理状態になる。入力された復号パラメータセットを参照し、差分画像作成処理を行い、その後、タスク制御部105に新しい復号パラメータセットを出力して待機状態に遷移する。新しい復号パラメータセットにおける、差分画像ポインタは差分画像作成処理で得られた差分画像へのポインタとなる。ここでは第1の復号部108が先に処理を完了して新しい復号パラメータセットを出力し、第2の復号部109はその直後に新しい復号パラメータセットを出力したとする。   Each of the first and second decoding units 108 and 109 enters the processing state again when the decoding parameter set is input from the task control unit 105. The input decoding parameter set is referred to, a difference image creation process is performed, and then a new decoding parameter set is output to the task control unit 105 to shift to a standby state. The difference image pointer in the new decoding parameter set is a pointer to the difference image obtained by the difference image creation process. Here, it is assumed that the first decoding unit 108 completes the process first and outputs a new decoding parameter set, and the second decoding unit 109 outputs a new decoding parameter set immediately thereafter.

タスク制御部105は、まず第1の復号部108から復号パラメータセットを入力し、タスク追加状態に遷移する。入力された復号パラメータセットの”タスク”は差分画像作成処理を示すため、タスク以外の情報は、入力された復号パラメータセット内のものと同じである。”タスク”に復号画像作成処理を設定した新しい復号パラメータセットをタスクリストに追加し、タスク割当状態に遷移する。この時のタスクリストを図5Dに示す。図5Dに示すように、タスク割当状態において、最も優先度が高い復号パラメータセットはE9であるため、第1の復号部108にE9を出力し、タスクリストからE9を削除する。その後タスク完了待ち状態に遷移する。   The task control unit 105 first receives a decoding parameter set from the first decoding unit 108, and transitions to a task addition state. Since the “task” of the input decoding parameter set indicates a differential image creation process, information other than the task is the same as that in the input decoding parameter set. A new decoding parameter set in which the decoded image creation processing is set in “task” is added to the task list, and the task assignment state is entered. The task list at this time is shown in FIG. 5D. As shown in FIG. 5D, since the decoding parameter set with the highest priority is E9 in the task assignment state, E9 is output to the first decoding unit 108, and E9 is deleted from the task list. After that, the task transitions to a task completion wait state.

次に、第2の復号部109から復号パラメータセットが入力されると、タスク制御部105は、再びタスク追加状態に遷移する。同様にして新しい復号パラメータセットをタスクリスト15に追加し、タスク割当状態に遷移する。この時のタスクリストは図5Eに示すようになっている。最も優先度が高い復号パラメータセットはE10である。一方、スライスBの復号画像作成処理はスライスAの復号画像作成処理が完了していないと実行できない。このため、次に優先度が高く、タスクリストに追加された順番が早いE2を第2の復号部109に出力し、タスクリストからE2を削除する。その後タスク完了待ち状態に遷移する。   Next, when a decryption parameter set is input from the second decryption unit 109, the task control unit 105 transitions to the task addition state again. Similarly, a new decryption parameter set is added to the task list 15, and a transition is made to the task assignment state. The task list at this time is as shown in FIG. 5E. The decoding parameter set with the highest priority is E10. On the other hand, the decoded image creation process for slice B cannot be executed unless the decoded image creation process for slice A is completed. For this reason, E2 having the next highest priority and being added to the task list is output to the second decryption unit 109, and E2 is deleted from the task list. After that, the task transitions to a task completion wait state.

ここで、第1の復号部108は、復号パラメータセットが入力されると、再び処理状態になる。第1の復号部108は、入力された復号パラメータセットを参照して復号画像作成処理を行い、その後、タスク制御部105に対して、入力された復号パラメータセットをそのまま出力し、待機状態に遷移する。   Here, when the decoding parameter set is input, the first decoding unit 108 enters the processing state again. The first decoding unit 108 performs a decoded image creation process with reference to the input decoding parameter set, and then outputs the input decoding parameter set as it is to the task control unit 105 and transitions to a standby state. To do.

第2の復号部109にも、復号パラメータセットが入力され、再び処理状態になる。入力された復号パラメータセットを参照して算術復号処理を行い、その後、タスク制御部105にタスクリスト15に、新しい復号パラメータセットを出力して待機状態に遷移する。新しい復号パラメータセットの係数データポインタと予測データポインタは、算術復号処理の結果を格納したデータへのポインタとなる。新しい復号パラメータセットは、第1の復号部108が復号パラメータセットを出力した後に出力されたとする。   The decoding parameter set is also input to the second decoding unit 109, and the processing state is entered again. Arithmetic decoding processing is performed with reference to the input decoding parameter set, and then, a new decoding parameter set is output to the task list 15 to the task control unit 105 to shift to a standby state. The coefficient data pointer and the prediction data pointer of the new decoding parameter set are pointers to data storing the result of the arithmetic decoding process. It is assumed that the new decoding parameter set is output after the first decoding unit 108 outputs the decoding parameter set.

タスク制御部105に、まず第1の復号部108から復号パラメータセットが入力されると、タスク制御部105はタスク追加状態に遷移する。入力した復号パラメータセットの”タスク”は”復号画像作成処理”であるため、何もせずにタスク割当状態に遷移する。この時のタスクリスト15は図5Fに示すようになる。このときのタスク割当状態において、最も優先度が高い復号パラメータセットはE10であり、スライスAの復号画像作成処理は既に完了しているため、タスク制御部105は、第1の復号部108にE10を出力し、タスクリスト15からE10を削除する。その後、タスク完了待ち状態に遷移する。   When a decryption parameter set is first input from the first decryption unit 108 to the task control unit 105, the task control unit 105 transitions to a task addition state. Since the “task” in the input decoding parameter set is “decoded image creation processing”, the task assignment state is entered without doing anything. The task list 15 at this time is as shown in FIG. 5F. In the task assignment state at this time, the decoding parameter set with the highest priority is E10, and the decoded image creation processing for slice A has already been completed. Therefore, the task control unit 105 sends E10 to the first decoding unit 108. And E10 is deleted from the task list 15. Thereafter, the state transits to a task completion waiting state.

次に、タスク制御部105は、第2の復号部109から復号パラメータセットが入力され、再びタスク追加状態に遷移する。同様にして新しい復号パラメータセットをタスクリストに追加し、タスク割当状態に遷移する。この時のタスクリスト15は図5Gに示すようになる。最も優先度が高い復号パラメータセットはE3、E5、E6の3個存在する。かかる場合は、タスク制御部105は、タスクリスト15に最も先に登録されたE3を第2の復号部109に出力し、タスクリスト15からE3を削除する。その後、タスク完了待ち状態に遷移する。   Next, the task control unit 105 receives the decoding parameter set from the second decoding unit 109, and transitions to the task addition state again. Similarly, a new decryption parameter set is added to the task list, and the task assignment state is entered. The task list 15 at this time is as shown in FIG. 5G. There are three decoding parameter sets with the highest priority, E3, E5, and E6. In such a case, the task control unit 105 outputs E3 registered first in the task list 15 to the second decryption unit 109, and deletes E3 from the task list 15. Thereafter, the state transits to a task completion waiting state.

以降同様にしてスライスCの復号処理を繰り返し、1GOPの復号を完了し、出力端子103から出力する。   Thereafter, the decoding process of slice C is repeated in the same manner, decoding of 1 GOP is completed, and output from the output terminal 103 is performed.

以上の方法により、グループAに属するフレームの復号処理が完了する前にでも、グループBに属するフレームやグループCに属するフレームの復号処理を開始することができ、復号部(プロセッサ)のアイドル時間を低減することが出来る。   By the above method, the decoding process of the frame belonging to the group B and the frame belonging to the group C can be started even before the decoding process of the frame belonging to the group A is completed, and the idle time of the decoding unit (processor) is reduced. It can be reduced.

なお、本実施の形態では復号部の数を2として説明したが、3以上でも構わない。また、本実施の形態では、1フレームに含まれるスライスの数を1として説明したが、2以上でも構わない。   In the present embodiment, the number of decoding units has been described as two, but may be three or more. In the present embodiment, the number of slices included in one frame has been described as 1. However, two or more slices may be used.

また、本実施の形態では1GOP全部を復号する例を挙げているが、ストリームバッファ104が必要バイトストリームしかバッファリングしない、またはタスク制御部105が必要の無い復号パラメータセットを出力しないようにしてもよい。これにより、任意の1フレームを復号することも出来る。また、複数のGOPをまとめて復号することも可能となる。   Also, in this embodiment, an example of decoding all 1 GOP is given, but the stream buffer 104 may buffer only the necessary byte stream, or the task control unit 105 may not output an unnecessary decoding parameter set. Good. As a result, any one frame can be decoded. It is also possible to decode a plurality of GOPs together.

(実施の形態2)
本実施の形態にかかる画像復号装置は、例えばH.264のような符号化方式で圧縮された映像のバイトストリームを入力とし、復号されたデジタル画像を出力する。図6に、本実施の形態における画像復号装置の構成を示す。また、本実施の形態においても、実施の形態1と同様に、1フレームの復号処理を算術復号処理、差分画像作成処理、復号画像作成処理の3ステップに分割する。
(Embodiment 2)
The image decoding apparatus according to the present embodiment receives, for example, a video byte stream compressed by an encoding method such as H.264, and outputs a decoded digital image. FIG. 6 shows the configuration of the image decoding apparatus in the present embodiment. Also in the present embodiment, as in the first embodiment, the decoding process for one frame is divided into three steps: an arithmetic decoding process, a difference image creating process, and a decoded image creating process.

画像復号装置201は、実施の形態1に記載の画像復号装置101と同様の機能を持っており、入力端子202からバイトストリームを入力し、出力端子203からデジタル画像を出力する。ストリームバッファ204、タスク制御部205、中間バッファ206、フレームバッファは、それぞれ実施の形態1で説明した、ストリームバッファ104、タスク制御部105、中間バッファ106及びストリームバッファ104と同様に動作する。また、第1の復号部208から第4の復号部211は、実施の形態1に記載の第1の復号部108及び第2の復号部109と同様に動作する。   The image decoding apparatus 201 has the same function as the image decoding apparatus 101 described in Embodiment 1, and receives a byte stream from the input terminal 202 and outputs a digital image from the output terminal 203. The stream buffer 204, task control unit 205, intermediate buffer 206, and frame buffer operate in the same manner as the stream buffer 104, task control unit 105, intermediate buffer 106, and stream buffer 104 described in the first embodiment. Also, the first decoding unit 208 to the fourth decoding unit 211 operate in the same manner as the first decoding unit 108 and the second decoding unit 109 described in the first embodiment.

図7に、本実施の形態において、第1から第4の各復号部208〜211が処理するフレーム及びステップを示す。同図におけるカッコ内の数字に関して、カッコ内の前の数字は、処理対象のフレームのフレーム番号を示しており、後ろの数字は、復号処理におけるステップを示している。復号処理におけるステップは、算術復号処理を「0」、差分画像作成処理を「1」、復号画像作成処理を「2」としている。例えば、第1の復号部208が最初に行う処理について、図中、(0,0)と示しており、これは、”フレーム0”の”算術復号処理”であることを示している。図8の従来の場合と比較してみると、復号部がアイドル状態にある時間が大幅に低減されており、処理全体に要する時間も低減されていることが理解できる。   FIG. 7 shows frames and steps processed by the first to fourth decoding units 208 to 211 in the present embodiment. Regarding the numbers in parentheses in the figure, the numbers before the parentheses indicate the frame numbers of the frames to be processed, and the numbers after the numbers indicate steps in the decoding process. The steps in the decoding process are “0” for the arithmetic decoding process, “1” for the difference image creating process, and “2” for the decoded image creating process. For example, the first process performed by the first decoding unit 208 is indicated as (0, 0) in the drawing, which indicates “arithmetic decoding process” of “frame 0”. Compared with the conventional case of FIG. 8, it can be understood that the time during which the decoding unit is in the idle state is significantly reduced, and the time required for the entire process is also reduced.

なお、実施の形態1、2で説明した画像復号装置の機能は、電子回路等のハードウェアで実現してもよいし、CPUのようなコンピュータと制御プログラム(ソフトウェア)の組み合わせで実現してもよい。   The functions of the image decoding apparatus described in the first and second embodiments may be realized by hardware such as an electronic circuit, or may be realized by a combination of a computer such as a CPU and a control program (software). Good.

本発明の画像復号装置によれば、フレーム間に依存関係がある場合でも、プロセッサのアイドル時間を短くすることができ、復号処理を高速に行うことができるため、マルチプロセッサ上で動作するソフトデコーダ等において有効である。   According to the image decoding apparatus of the present invention, even when there is a dependency relationship between frames, the processor idle time can be shortened and the decoding process can be performed at a high speed. Etc. are effective.

本発明の実施の形態1における画像復号装置のブロック図Block diagram of an image decoding apparatus according to Embodiment 1 of the present invention (a)タスクリストの構成を示す図、及び(b)スライスタイプ毎のタスクの優先度を管理する優先度テーブルを示す図(A) The figure which shows the structure of a task list, (b) The figure which shows the priority table which manages the priority of the task for every slice type タスク制御部の状態遷移図State transition diagram of task controller 画像復号装置に入力されるバイトストリームの一例を示した図The figure which showed an example of the byte stream input into an image decoding apparatus タスクリストの変化を説明するための図(その1)Diagram for explaining changes in task list (part 1) タスクリストの変化を説明するための図(その2)Diagram for explaining changes in task list (2) タスクリストの変化を説明するための図(その3)Illustration for explaining changes in task list (Part 3) タスクリストの変化を説明するための図(その4)Diagram for explaining changes in task list (Part 4) タスクリストの変化を説明するための図(その5)Diagram for explaining changes in task list (Part 5) タスクリストの変化を説明するための図(その6)Illustration for explaining changes in task list (Part 6) タスクリストの変化を説明するための図(その7)Diagram for explaining changes in task list (Part 7) 本発明の実施の形態2における画像復号装置のブロック図Block diagram of an image decoding apparatus according to Embodiment 2 of the present invention 実施の形態2において、各復号部が処理するフレーム及びステップを説明した図The figure explaining the frame and step which each decoding part processes in Embodiment 2. 従来の並列復号処理において各プロセッサが復号処理するフレームを説明した図The figure explaining the frame which each processor decodes in the conventional parallel decoding process

符号の説明Explanation of symbols

15 タスクリスト
16 優先度テーブル
101、201 画像復号装置
102、202 入力端子
103、203 出力端子
104、204 ストリームバッファ
105、205 タスク制御部
106、206 中間バッファ
107、207 フレームバッファ
108、109、208〜211 復号部
15 Task list 16 Priority table 101, 201 Image decoding device 102, 202 Input terminal 103, 203 Output terminal 104, 204 Stream buffer 105, 205 Task control unit 106, 206 Intermediate buffer 107, 207 Frame buffer 108, 109, 208- 211 Decoding unit

Claims (9)

圧縮された画像ストリームを入力信号とし、前記入力信号を復号する画像復号装置であって、
前記入力信号を所定のデータ単位毎に復号する、複数の復号手段と、
前記入力信号の復号処理を、処理順序の依存関係を有する複数の処理ステップに分割し、前記復号手段で処理すべきデータ単位を処理ステップ毎に割り当てる、タスク制御手段とを備え、
前記タスク制御手段は、前記復号手段の処理状況を検出し、その処理状況と、処理ステップ間の依存関係とに応じて、処理されるデータ単位及び処理ステップを前記復号手段に割り当てる、
ことを特徴とする画像復号装置。
An image decoding apparatus that uses a compressed image stream as an input signal and decodes the input signal,
A plurality of decoding means for decoding the input signal for each predetermined data unit;
A task control unit that divides the decoding process of the input signal into a plurality of processing steps having processing order dependency, and assigns a data unit to be processed by the decoding unit for each processing step;
The task control means detects a processing status of the decoding means, and assigns a data unit to be processed and a processing step to the decoding means according to the processing status and a dependency relationship between processing steps.
An image decoding apparatus characterized by that.
前記タスク制御手段は、さらに前記画像ストリームに含まれるフレーム間の依存関係を考慮して、処理されるデータ単位及び処理ステップを前記復号手段に割り当てる、
ことを特徴とする請求項1記載の画像復号装置。
The task control unit further assigns a data unit to be processed and a processing step to the decoding unit in consideration of a dependency relationship between frames included in the image stream.
The image decoding apparatus according to claim 1.
前記フレーム間の依存関係とは、他のフレームを参照するか否か、また、他のフレームから参照され得るか否かの関係である、請求項1記載の画像復号装置。   The image decoding apparatus according to claim 1, wherein the dependency relationship between the frames is a relationship as to whether or not other frames are referred to and whether or not other frames can be referred to. フレーム間の依存関係及び処理ステップ間の依存関係を考慮し、優先的に処理すべきデータ単位の順序を規定した優先度情報をさらに備え、
前記タスク制御手段は前記優先度情報を参照して、処理されるデータ単位及び処理ステップを前記復号手段に割り当てる、ことを特徴とする請求項2記載の画像復号装置。
Considering the dependency between frames and the dependency between processing steps, further comprising priority information defining the order of data units to be preferentially processed,
3. The image decoding apparatus according to claim 2, wherein the task control unit assigns a data unit to be processed and a processing step to the decoding unit with reference to the priority information.
前記複数の処理ステップは、入力されたバイトストリームから差分画像を作成するのに必要な係数データと、予測画像を作成するのに必要な予測モードや動きベクトルなどの予測データを復号する算術復号ステップと、
係数データに対して逆量子化や逆離散コサイン変換などを施すことによって差分画像を作成する処理差分画像作成ステップと、
予測データと参照に必要な復号画像から予測画像を作成し、予測画像と差分画像を合わせて復号画像を作成する復号画像作成ステップとを含む、請求項1記載の画像復号装置。
The plurality of processing steps include an arithmetic decoding step of decoding prediction data such as a prediction mode and a motion vector necessary for creating a coefficient image and a prediction image necessary for creating a difference image from the input byte stream When,
A processing difference image creation step for creating a difference image by applying inverse quantization or inverse discrete cosine transform to the coefficient data;
The image decoding apparatus according to claim 1, further comprising: a decoded image generating step of generating a predicted image from the predicted data and a decoded image necessary for reference, and generating a decoded image by combining the predicted image and the difference image.
前記所定のデータ単位はフレームまたはスライスであることを特徴とする請求項1記載の画像復号装置。   The image decoding apparatus according to claim 1, wherein the predetermined data unit is a frame or a slice. 前記画像ストリームの符号化方式がH.264である、請求項1記載の画像復号装置。   The encoding method of the image stream is H.264. The image decoding device according to claim 1, wherein the image decoding device is H.264. 圧縮された画像ストリームを入力信号として入力するステップと、
前記入力した入力信号の復号処理を、処理順序の依存関係を有する複数の処理ステップに分割するステップと、
複数の復号手段において、前記入力信号を所定のデータ単位毎に前記処理ステップ単位で復号処理を実行させるステップと、
前記復号手段の処理状況を検出し、検出した処理状況と処理ステップ間の依存関係とに応じて、前記復号手段において処理される、データ単位及び処理ステップを決定するステップと
を含む、ことを特徴とする画像復号方法。
Inputting a compressed image stream as an input signal;
Dividing the input input signal decoding process into a plurality of processing steps having processing order dependency;
In a plurality of decoding means, a step of performing decoding processing of the input signal in units of the processing steps for each predetermined data unit;
Detecting a processing status of the decoding means, and determining a data unit and a processing step to be processed in the decoding means according to the detected processing status and a dependency between processing steps. An image decoding method.
圧縮された画像ストリームを入力信号とし、前記入力信号を復号する画像復号装置の制御プログラムであって、
圧縮された画像ストリームを入力信号として入力する手順と、
前記入力した入力信号の復号処理を、処理順序の依存関係を有する複数の処理ステップに分割する手順と、
複数の復号手段において、前記入力信号を所定のデータ単位毎に前記処理ステップ単位で復号処理を実行させる手順と、
前記復号手段の処理状況を検出し、検出した処理状況と処理ステップ間の依存関係とに応じて、前記復号手段において処理される、データ単位及び処理ステップを決定する手順とを画像復号装置の制御手段に実行させる
ことを特徴とするプログラム。
A control program for an image decoding apparatus that uses a compressed image stream as an input signal and decodes the input signal,
A procedure for inputting a compressed image stream as an input signal;
A procedure for dividing the input input signal decoding process into a plurality of processing steps having processing order dependency;
In a plurality of decoding means, a procedure for executing the decoding process in units of the processing steps for each predetermined data unit of the input signal;
Control of the image decoding apparatus detects the processing status of the decoding means, and determines the data unit and processing steps to be processed in the decoding means according to the detected processing status and the dependency between the processing steps. A program that is executed by a means.
JP2008201444A 2008-08-05 2008-08-05 Image decoding apparatus and image decoding method Expired - Fee Related JP5236386B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008201444A JP5236386B2 (en) 2008-08-05 2008-08-05 Image decoding apparatus and image decoding method
US12/535,891 US8548061B2 (en) 2008-08-05 2009-08-05 Image decoding apparatus and image decoding method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008201444A JP5236386B2 (en) 2008-08-05 2008-08-05 Image decoding apparatus and image decoding method

Publications (3)

Publication Number Publication Date
JP2010041352A true JP2010041352A (en) 2010-02-18
JP2010041352A5 JP2010041352A5 (en) 2011-09-22
JP5236386B2 JP5236386B2 (en) 2013-07-17

Family

ID=42013427

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008201444A Expired - Fee Related JP5236386B2 (en) 2008-08-05 2008-08-05 Image decoding apparatus and image decoding method

Country Status (1)

Country Link
JP (1) JP5236386B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012014471A1 (en) * 2010-07-30 2012-02-02 パナソニック株式会社 Image decoding device, image decoding method, image encoding device, and image encoding method
WO2015050385A1 (en) * 2013-10-04 2015-04-09 삼성전자 주식회사 Method and device for distributing load according to characteristic of frame
CN120856894A (en) * 2025-09-18 2025-10-28 摩尔线程智能科技(北京)股份有限公司 Video decoding system, method, device and storage medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001069512A (en) * 1999-08-26 2001-03-16 Toshiba Corp Data processing system and image data decoding method
JP2005159787A (en) * 2003-11-27 2005-06-16 Sony Corp Image processing apparatus, image processing method, and computer program
JP2006129285A (en) * 2004-10-29 2006-05-18 Sony Corp Encoding and decoding apparatus and encoding and decoding method
JP2007251605A (en) * 2006-03-16 2007-09-27 Matsushita Electric Ind Co Ltd Decoding device, decoding method, program, and recording medium
JP2008118616A (en) * 2006-11-02 2008-05-22 Intervideo Inc Method and apparatus for multi-threaded video decoding

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001069512A (en) * 1999-08-26 2001-03-16 Toshiba Corp Data processing system and image data decoding method
JP2005159787A (en) * 2003-11-27 2005-06-16 Sony Corp Image processing apparatus, image processing method, and computer program
JP2006129285A (en) * 2004-10-29 2006-05-18 Sony Corp Encoding and decoding apparatus and encoding and decoding method
JP2007251605A (en) * 2006-03-16 2007-09-27 Matsushita Electric Ind Co Ltd Decoding device, decoding method, program, and recording medium
JP2008118616A (en) * 2006-11-02 2008-05-22 Intervideo Inc Method and apparatus for multi-threaded video decoding

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012014471A1 (en) * 2010-07-30 2012-02-02 パナソニック株式会社 Image decoding device, image decoding method, image encoding device, and image encoding method
JPWO2012014471A1 (en) * 2010-07-30 2013-09-12 パナソニック株式会社 Image decoding apparatus, image decoding method, image encoding apparatus, and image encoding method
US9307260B2 (en) 2010-07-30 2016-04-05 Panasonic Intellectual Property Management Co., Ltd. Image decoding apparatus, image decoding method, image coding apparatus, and image coding method
WO2015050385A1 (en) * 2013-10-04 2015-04-09 삼성전자 주식회사 Method and device for distributing load according to characteristic of frame
KR20150040126A (en) * 2013-10-04 2015-04-14 삼성전자주식회사 Method and Apparatus for distributing load according to the characteristic of a frame
US10341674B2 (en) 2013-10-04 2019-07-02 Samsung Electronics Co., Ltd. Method and device for distributing load according to characteristic of frame
KR102280170B1 (en) * 2013-10-04 2021-07-21 삼성전자주식회사 Method and Apparatus for distributing load according to the characteristic of a frame
CN120856894A (en) * 2025-09-18 2025-10-28 摩尔线程智能科技(北京)股份有限公司 Video decoding system, method, device and storage medium

Also Published As

Publication number Publication date
JP5236386B2 (en) 2013-07-17

Similar Documents

Publication Publication Date Title
JP7191240B2 (en) Video stream decoding method, device, terminal equipment and program
US8548061B2 (en) Image decoding apparatus and image decoding method
JP5042568B2 (en) MPEG decoder and MPEG encoder
US8036474B2 (en) Information processing apparatus enabling an efficient parallel processing
JP5379122B2 (en) Multiprocessor
JP5545288B2 (en) Task allocation device, task allocation method, and task allocation program
KR19990045632A (en) Video Audio Processing Equipment with High Processing Efficiency
KR20130069729A (en) Out-of-order command execution in a multimedia processor
CN102461173B (en) Decoding device, decoding method and editing device
US9258569B2 (en) Moving image processing method, program and apparatus including slice switching
CN105592314B (en) Parallel decoding method and apparatus for parallel decoding
JP5236386B2 (en) Image decoding apparatus and image decoding method
CN111147926B (en) A data transcoding method and device
CN112714319B (en) Computer readable storage medium, video encoding and decoding method and apparatus using multiple execution units
EP3198870B1 (en) Processing parameters for operations on blocks while decoding images
JP2001069512A (en) Data processing system and image data decoding method
JP2010109572A (en) Device and method of image processing
US20110069761A1 (en) Parallel encoding device, recording medium, and imaging data encoding method
JP5120324B2 (en) Image decoding apparatus and image decoding method
US9336557B2 (en) Apparatus and methods for processing of media signals
JP2018019195A (en) Moving image formation method and moving image formation device
US20060088278A1 (en) Data processing apparatus, reproduction apparatus, data processing system, reproduction method, program, and storage medium
JP2001320653A (en) Image decoding device and image decoding method
JP2018011258A (en) Processing control apparatus, processing control method, and program
US20080297522A1 (en) Image processing apparatus, image processing method, and computer-readable storage medium

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110804

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110804

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120530

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120605

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120727

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130327

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5236386

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20160405

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees