JP5236386B2 - Image decoding apparatus and image decoding method - Google Patents

Image decoding apparatus and image decoding method Download PDF

Info

Publication number
JP5236386B2
JP5236386B2 JP2008201444A JP2008201444A JP5236386B2 JP 5236386 B2 JP5236386 B2 JP 5236386B2 JP 2008201444 A JP2008201444 A JP 2008201444A JP 2008201444 A JP2008201444 A JP 2008201444A JP 5236386 B2 JP5236386 B2 JP 5236386B2
Authority
JP
Japan
Prior art keywords
decoding
image
processing
task
frame
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.)
Active
Application number
JP2008201444A
Other languages
Japanese (ja)
Other versions
JP2010041352A (en
JP2010041352A5 (en
Inventor
淳也 鈴木
Original Assignee
パナソニック株式会社
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 パナソニック株式会社 filed Critical パナソニック株式会社
Priority to JP2008201444A priority Critical patent/JP5236386B2/en
Priority claimed from US12/535,891 external-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
Application status is Active legal-status Critical
Anticipated expiration legal-status Critical

Links

Images

Description

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

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

一方、圧縮されたフレーム間には依存関係が存在する場合がある。 On the other hand, between the compressed frames in some cases dependencies exist. 例えば、MPEG2規格において、Iフレームは他のフレームに依存せず単独で復号可能であるが、PフレームはIフレームを参照して復号され、BフレームはIフレームやPフレームを参照して復号される。 For example, in the MPEG2 standard, I-frame is decodable by itself without depending on other frames, P frames are decoded with reference to I frames, B frames are decoded with reference to I-frame or P-frame that. すなわち、圧縮されたフレームは、復号処理時での他のフレームとの依存関係にしたがいグループ分けすることができる。 That is, compressed frames can be grouped in accordance with dependencies on other frames in the decoding process.

例えば、グループA、グループB、グループCの3グループに分類できる。 For example, it can be classified group A, group B, the three groups of the group C. グループAには、例えば、Iフレームのような、他のフレームを参照しないフレームが属する。 The group A, for example, such as I-frame, it belongs frames that do not reference other frames. グループBには、例えば、Pフレームのような、他のフレームを参照し、また、他のフレームから参照され得るフレームが属する。 The group B, for example, such as P-frame with reference to another frame, also the frame belongs, which may be referred to by other frames. グループCには、例えば、Bフレームのような、他のフレームを参照するが、他のフレームからは参照されることがないフレームが属する。 The group C, for example, such as B frames, but reference to other frames, frame belongs not be referenced from other frames.

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

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

依存関係のあるフレームを復号するために、各フレームの依存関係に応じて各プロセッサが行う並列処理の分担を決定する画像復号方法(特許文献1参照)が提案されている。 To decode a frame dependencies, image decoding method for determining the sharing of parallel processing by each processor performs in accordance with the dependence of each frame (see Patent Document 1) has been proposed. また、双方向予測符号化されたフレームを復号する際には、1フレームを複数のスライスに分けて並列処理し、それ以外の方式で符号化されたフレームはフレーム毎に並列処理を行うという画像復号方法(特許文献2参照)なども提案されている。 The image that in decoding a bidirectional predictive coded frames, one frame to the parallel processing in a plurality of slices, the encoded frames perform parallel processing for each frame in the other system such as decoding method (see Patent Document 2) has been proposed. このような方法で、プロセッサのアイドル時間を低減している。 In this way, thereby reducing the idle time of the processor.

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

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

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

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

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

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

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

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

本発明によれば、複数のプロセッサを使って画像復号処理を並列して行う際のアイドル時間を低減でき、圧縮画像の復号処理の高速化が図れる。 According to the present invention, by using a plurality of processors can be reduced idle time for performing in parallel the image decoding processing, decoding processing speed of the compressed image can be reduced.

以下、添付の図面を参照し、本発明の実施形態を説明する。 Hereinafter, with reference to the accompanying drawings, an embodiment of the present invention.

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

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

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

1.1 画像復号処理のステップとスライスタイプ 1.1 Step a slice type of the image decoding process
本実施形態における画像復号装置では、1フレームに対する復号処理を、算術復号処理、差分画像作成処理及び復号画像作成処理の3つのステップ(段階)に分割する。 In the image decoding apparatus of the present embodiment divides a decoding process for one frame, the arithmetic decoding process, the three steps of the difference image creation processing and decoded image creating process (step).

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

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

復号画像作成処理は、予測データと参照に必要な復号画像から予測画像を作成し、予測画像と差分画像を合わせて復号画像を作成する。 Decoded image creation processing creates a predicted image from the decoded image required reference and predicted data, to create a decoded image to fit the predicted image and the differential image. この処理は、算術復号処理によって必要な予測データが復号されていること、差分画像作成処理によって必要な差分画像が作成されていること、参照が必要な場合には必要となる復号画像が作成されていることが必要となる。 This process, the predicted data is decoded as needed by the arithmetic decoding processing, the difference image is created as required by the difference image creation processing, the decoded image required if the reference is required are created it is necessary that. 従って、フレーム間にもステップ間にも依存関係がある。 Thus, even there are dependencies between the steps in between frames.

さらに、スライスをフレーム間の依存関係に基づき3種類に分類する。 Furthermore, classified into three types on the basis of the slice dependency between frames. 前述したように、他のフレームを参照しないフレームが属するグループAに属しているフレームを構成するスライスの種類を「スライスA」と称す。 As described above, it referred to the type of slices constituting the frame frames that do not reference other frames belong to the group A belongs to as "slice A". 他のフレームを参照し、また、他のフレームから参照され得るフレームが属するグループBに属しているフレームを構成するスライスの種類を「スライスB」と称す。 Referring to another frame, also the type of slices constituting the frame the frame that may be referenced by other frame belongs to belong the group B is referred to as "slice B". 他のフレームを参照するが、他のフレームからは参照されることがないグループCに属しているフレームを構成するスライスの種類を「スライスC」と称す。 Reference to other frames, the type of slices constituting the frame belonging to the group C is not referenced by other frames referred to as "slice C".

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

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

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

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

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

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

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

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

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

タスク追加状態では、タスク制御部105は、入力された復号パラメータセットに含まれる”タスク”が復号画像作成処理の場合は、何もせずにタスク割当状態に遷移する。 The task addition state, the task controller 105, if the "task" included in the input decoded parameter set of the decoded image creating process transitions to the task allocation state without doing anything. それ以外の場合には、タスク制御部105は、タスクリストに新しい復号パラメータセットを要素として追加し、タスク割当状態に遷移する。 Otherwise, the task controller 105, adds a new decoding parameter set as elements in the task list, a transition to the task allocation state. 入力された復号パラメータセットに含まれる”タスク”が算術復号処理の場合には、新しい復号パラメータセットにおいて、”タスク”を、差分画像作成処理に設定し、差分画像作成処理の場合には、”タスク”を、復号画像作成処理に設定する。 If included in the inputted decoding parameter set "task" is the arithmetic decoding process, in the new decoding parameter set, the "task", is set in the difference image creation processing, when the difference image creation processing, " the task "is set to the decoded image creating process. 新しい復号パラメータセットに含まれる”タスク”以外の情報は、入力された復号パラメータセットのものと同じにする。 Information other than "task" in the new decoding parameter set is the same as that of the input decoded parameter set.

1.3 復号部 1.3 decoder
復号部108、109は、待機状態と処理状態の2つの状態を有する。 Decoding unit 108, 109 has two states of the processing state and a standby state. 初期状態は待機状態である。 The initial state is in a standby state. 待機状態は、復号パラメータセットが入力されるのを待っている状態である。 Standby state is a state where the decoding parameter set is waiting to be input. 復号パラメータセットが入力されると、復号部108、109は待機状態から処理状態に遷移する。 When decoding parameter set is input, the decoding unit 108 and 109 is changed to the processing state from the standby state. 処理状態では、入力された復号パラメータセットに含まれるタスクによって、復号部10、109の動作が変わる。 The processing state, the tasks contained in the input decoded parameter set, changes the operation of the decoding unit 10,109. 以下、タスクにより異なる、処理状態での動作を説明する。 Hereinafter, different by the task, the operation of the processing conditions.

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

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

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

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

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

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

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

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

処理状態において、復号部108、109は、入力された復号パラメータセットを参照して算術復号処理を行い、その後、タスク制御部105に復号パラメータセットを出力して待機状態に遷移する。 In the processing state, the decoding unit 109 performs arithmetic decoding processing by referring the inputted decoded parameter set, then proceeds to the standby state and outputs the decoded parameter set to the task controller 105. 出力する復号パラメータセットにおいて、係数データポインタと予測データポインタは、それぞれ算術復号処理で得られた係数データと予測データへのポインタとなる。 In decoding parameter set for outputting the coefficient data pointer and the prediction data pointer becomes respectively coefficient data obtained by the arithmetic decoding process a pointer to the prediction data. ここでは第1の復号部108が先に処理を完了して復号パラメータセットを出力し、第2の復号部109はその直後に復号パラメータセットを出力したとする。 Wherein the first decoding unit 108 outputs the decoded parameter set to complete the processed first, second decoding section 109 and outputs the decoded parameter set immediately thereafter.

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

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

第1及び第2の復号部108、109はそれぞれ、タスク制御部105から復号パラメータセットを入力すると、再び処理状態になる。 The first and second decoding portions 108 and 109, entering the decoded parameter set from the task controller 105, again becomes the processing state. 入力された復号パラメータセットを参照し、差分画像作成処理を行い、その後、タスク制御部105に新しい復号パラメータセットを出力して待機状態に遷移する。 Referring to the inputted decoded parameter set, it performs differential image producing process, then proceeds to the standby state and outputs a new decoding parameter set to the task controller 105. 新しい復号パラメータセットにおける、差分画像ポインタは差分画像作成処理で得られた差分画像へのポインタとなる。 In the new decoding parameter set, the difference image pointer is a pointer to the difference image obtained in the difference image creation processing. ここでは第1の復号部108が先に処理を完了して新しい復号パラメータセットを出力し、第2の復号部109はその直後に新しい復号パラメータセットを出力したとする。 Wherein the first decoding unit 108 to complete the processing before outputting the new decoding parameter set, a second decoding section 109 and outputs a new decoding parameter set immediately thereafter.

タスク制御部105は、まず第1の復号部108から復号パラメータセットを入力し、タスク追加状態に遷移する。 Task control unit 105 receives the first decoding parameter set from the first decoding unit 108, shifts to the task addition state. 入力された復号パラメータセットの”タスク”は差分画像作成処理を示すため、タスク以外の情報は、入力された復号パラメータセット内のものと同じである。 "Task" of the inputted decoding parameter set to indicate the difference image creation processing, information other than the task are the same as those of the input decoding parameter set. ”タスク”に復号画像作成処理を設定した新しい復号パラメータセットをタスクリストに追加し、タスク割当状態に遷移する。 Add a new decoding parameter set is set the decoded image creating process to "task" in the task list, a transition to the task allocation state. この時のタスクリストを図5Dに示す。 It shows the task list at this time is shown in FIG. 5D. 図5Dに示すように、タスク割当状態において、最も優先度が高い復号パラメータセットはE9であるため、第1の復号部108にE9を出力し、タスクリストからE9を削除する。 As shown in FIG. 5D, in the task allocation state, for the highest priority decoding parameter set is E9, and outputs the E9 to the first decryption unit 108 deletes the E9 from the task list. その後タスク完了待ち状態に遷移する。 Then a transition to the task completion waiting state.

次に、第2の復号部109から復号パラメータセットが入力されると、タスク制御部105は、再びタスク追加状態に遷移する。 Next, the decoding parameter set from the second decoding unit 109 is inputted, the task controller 105 again shifts to the task addition state. 同様にして新しい復号パラメータセットをタスクリスト15に追加し、タスク割当状態に遷移する。 Add a new decoding parameter set to the task list 15 in the same manner, transitions to the task allocation state. この時のタスクリストは図5Eに示すようになっている。 At this time, the task list is as shown in Figure 5E. 最も優先度が高い復号パラメータセットはE10である。 Highest priority decoding parameter set is E10. 一方、スライスBの復号画像作成処理はスライスAの復号画像作成処理が完了していないと実行できない。 On the other hand, the decoded image creating process of the slice B can not be executed and the decoded image creating process of the slice A is not completed. このため、次に優先度が高く、タスクリストに追加された順番が早いE2を第2の復号部109に出力し、タスクリストからE2を削除する。 Therefore, the next high priority, and outputs the order is early E2 which is added to the task list to the second decryption unit 109 deletes the E2 from the task list. その後タスク完了待ち状態に遷移する。 Then a transition to the task completion waiting state.

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

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

タスク制御部105に、まず第1の復号部108から復号パラメータセットが入力されると、タスク制御部105はタスク追加状態に遷移する。 The task control unit 105, the first decoding parameter set from the first decoder 108 is inputted, the task controller 105 shifts to the task addition state. 入力した復号パラメータセットの”タスク”は”復号画像作成処理”であるため、何もせずにタスク割当状態に遷移する。 Since "task" of the input decoding parameter set is "decoded image creating process", the process proceeds to a task assigned state without doing anything. この時のタスクリスト15は図5Fに示すようになる。 Task List 15 at this time is as shown in FIG. 5F. このときのタスク割当状態において、最も優先度が高い復号パラメータセットはE10であり、スライスAの復号画像作成処理は既に完了しているため、タスク制御部105は、第1の復号部108にE10を出力し、タスクリスト15からE10を削除する。 In task allocation state at this time is the highest priority decoding parameter set E10, since the decoded image creating process of the slice A is already completed, the task controller 105, a first decoder 108 E10 outputs a, remove the E10 from the task list 15. その後、タスク完了待ち状態に遷移する。 Then, the process proceeds to task completion waiting.

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

以降同様にしてスライスCの復号処理を繰り返し、1GOPの復号を完了し、出力端子103から出力する。 Similarly repeated decoding processing of the slice C or later to complete the decoding of 1 GOP, and outputs from an output terminal 103.

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

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

また、本実施の形態では1GOP全部を復号する例を挙げているが、ストリームバッファ104が必要バイトストリームしかバッファリングしない、またはタスク制御部105が必要の無い復号パラメータセットを出力しないようにしてもよい。 Further, in the present embodiment is an example of decoding all 1 GOP, need byte stream stream buffer 104 only buffers, or even as the task controller 105 does not output without decoding parameter set need good. これにより、任意の1フレームを復号することも出来る。 Accordingly, it is possible to decode any frame. また、複数のGOPをまとめて復号することも可能となる。 It is also possible to decode together multiple GOP.

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

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

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

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

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

本発明の実施の形態1における画像復号装置のブロック図 Block diagram of an image decoding apparatus according to the first embodiment of the present invention (a)タスクリストの構成を示す図、及び(b)スライスタイプ毎のタスクの優先度を管理する優先度テーブルを示す図 (A) shows a priority table for managing FIG showing a configuration of a task list, and (b) the priority of the task for each slice type タスク制御部の状態遷移図 State transition diagram of the task control unit 画像復号装置に入力されるバイトストリームの一例を示した図 Diagram showing an example of a byte stream which is input to the image decoding apparatus タスクリストの変化を説明するための図(その1) Diagram for explaining the change of the task list (Part 1) タスクリストの変化を説明するための図(その2) Diagram for explaining the change of the task list (Part 2) タスクリストの変化を説明するための図(その3) Diagram for explaining the change of the task list (Part 3) タスクリストの変化を説明するための図(その4) Diagram for explaining the change of the task list (Part 4) タスクリストの変化を説明するための図(その5) Diagram for explaining the change of the task list (Part 5) タスクリストの変化を説明するための図(その6) Diagram for explaining the change of the task list (Part 6) タスクリストの変化を説明するための図(その7) Diagram for explaining the change of the task list (Part 7) 本発明の実施の形態2における画像復号装置のブロック図 Block diagram of an image decoding apparatus in the second embodiment of the present invention 実施の形態2において、各復号部が処理するフレーム及びステップを説明した図 In the second embodiment, and it is a drawing for explaining a frame and steps each decoder processes 従来の並列復号処理において各プロセッサが復号処理するフレームを説明した図 Figure each processor has been described the frame to decoding processing in the conventional parallel decoding processing

符号の説明 DESCRIPTION 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 and 201 the image decoding apparatus 102, 202 input terminals 103 and 203 output terminals 104 and 204 the stream buffer 105, 205 the task controller 106, 206 intermediate buffer 107, 207 frame buffer 108,109,208~ 211 decoding unit

Claims (8)

  1. 圧縮された画像ストリームを入力信号とし、前記入力信号を復号する画像復号装置であって、 The compressed image stream as an input signal, an image decoding apparatus for decoding the input signal,
    前記入力信号を所定のデータ単位毎に復号する、複数の復号手段と、 Decoding said input signal for each predetermined data unit, a plurality of decoding means,
    前記入力信号の復号処理を、処理順序の依存関係を有する複数の処理ステップに分割し、前記復号手段で処理すべきデータ単位を前記復号手段に処理ステップ毎に割り当てる、タスク制御手段とを備え、 The decoding processing of the input signal is divided into a plurality of processing steps having a dependency processing order, assigning data units to be processed by said decoding means for each processing step to said decoding means, and a task control unit,
    前記タスク制御手段は、 前記復号手段に対して既に割り当てられた前記データ単位に対する前記処理ステップの完了を含む前記復号手段の処理状況を検出し、その検出した処理状況と、処理ステップ間の依存関係と、前記画像ストリームに含まれるフレーム間の依存関係とに応じて、 次に処理されるデータ単位及び処理ステップを決定し、前記復号手段に割り当てる、 It said task control means, the processing status of the decoding means detects that includes a completion of the processing steps for the already allocated the data unit to said decoding means, and the activities that the detected, between process steps dependencies When, in accordance with the dependencies between frames included in the image stream, then determine the data unit and the processing steps to be processed is assigned to the decoding means,
    ことを特徴とする画像復号装置。 Image decoding apparatus characterized by.
  2. 前記フレーム間の依存関係とは、他のフレームを参照するか否か、また、他のフレームから参照され得るか否かの関係である、請求項1記載の画像復号装置。 Wherein the dependency between frames, whether to refer to another frame, also a whether relationships may be referred to by other frames, the image decoding apparatus according to claim 1.
  3. 前記タスク制御手段は、フレーム間の依存関係及び処理ステップ間の依存関係を考慮し、優先的に処理すべきデータ単位の順序を規定した優先度情報を備え、前記優先度情報を参照して、処理されるデータ単位及び処理ステップを前記復号手段に割り当てる、ことを特徴とする請求項1記載の画像復号装置。 The task control unit, taking into account the dependencies between dependency and processing steps between frames, preferentially with the priority information defining the order of the data unit to be processed, by referring to the priority information, assigning data units and processing steps are processed in the decoding means, the image decoding apparatus according to claim 1, wherein a.
  4. 前記複数の処理ステップは、入力されたバイトストリームから差分画像を作成するのに必要な係数データと、予測画像を作成するのに必要な予測モードおよび動きベクトルの少なくともいずれか一方を含む予測データを復号する算術復号ステップと、 The plurality of processing steps, and the coefficient data required to create a difference image from the input byte stream, the prediction data includes at least one of the prediction modes and motion vectors necessary to create the predicted image an arithmetic decoding step of decoding,
    係数データに対して逆量子化および逆離散コサイン変換を施すことによって差分画像を作成する処理差分画像作成ステップと、 And processing the difference image generation step of generating a difference image by applying an inverse quantization and inverse discrete cosine transform on the coefficient data,
    予測データと参照に必要な復号画像から予測画像を作成し、予測画像と差分画像を合わせて復号画像を作成する復号画像作成ステップとを含む、請求項1記載の画像復号装置。 Create a predicted image from the decoded image required reference and prediction data, and a decoded image generation step of generating a decoded image to fit the predicted image and the differential image, the image decoding apparatus according to claim 1.
  5. 前記所定のデータ単位はフレームまたはスライスであることを特徴とする請求項1記載の画像復号装置。 The image decoding apparatus according to claim 1, wherein the predetermined data unit is a frame or slice.
  6. 前記画像ストリームの符号化方式がH. Encoding method of the image stream is H. 264である、請求項1記載の画像復号装置。 Is 264, the image decoding apparatus according to claim 1.
  7. 圧縮された画像ストリームを入力信号として入力するステップと、 Inputting a compressed image stream as an input signal,
    前記入力した入力信号の復号処理を、処理順序の依存関係を有する複数の処理ステップに分割するステップと、 Dividing the decoding processing of the input signals the input, into a plurality of processing steps with the processing order dependency,
    複数の復号手段において、前記入力信号を所定のデータ単位毎に前記処理ステップ単位で復号処理を実行させるステップと、 A plurality of decoding means, a step of executing a decryption process in the processing step unit the input signal for each predetermined data unit,
    前記復号手段に対して既に割り当てられた前記データ単位に対する前記処理ステップの完了を含む前記復号手段の処理状況を検出し、検出した処理状況と、処理ステップ間の依存関係と、前記画像ストリームに含まれるフレーム間の依存関係とに応じて、 次に前記復号手段において処理される、データ単位及び処理ステップを決定し、前記復号手段に割り当てるステップとを含む、ことを特徴とする画像復号方法。 Detecting a processing state of said decoding means including a completion of the processing steps for the already allocated the data unit to said decoding means, and the detected process status, and dependencies between process steps, included in the image stream depending on the dependencies between frames and then are processed in the decoding means, to determine the data unit and processing steps, and a step of assigning to said decoding means, image decoding method, characterized in that.
  8. 圧縮された画像ストリームを入力信号とし、前記入力信号を復号する画像復号装置の制御プログラムであって、 The compressed image stream as an input signal, a control program of an image decoding apparatus for decoding the input signal,
    圧縮された画像ストリームを入力信号として入力する手順と、 A step of inputting a compressed image stream as an input signal,
    前記入力した入力信号の復号処理を、処理順序の依存関係を有する複数の処理ステップに分割する手順と、 The decoding processing of the input signals the input, the procedure is divided into a plurality of processing steps having a dependency processing order,
    複数の復号手段において、前記入力信号を所定のデータ単位毎に前記処理ステップ単位で復号処理を実行させる手順と、 A plurality of decoding means, and procedures for executing the decoding processing in the processing step unit the input signal for each predetermined data unit,
    前記復号手段に対して既に割り当てられた前記データ単位に対する前記処理ステップの完了を含む前記復号手段の処理状況を検出し、検出した処理状況と、処理ステップ間の依存関係と、前記画像ストリームに含まれるフレーム間の依存関係とに応じて、 次に前記復号手段において処理される、データ単位及び処理ステップを決定し、前記復号手段に割り当てる手順とを画像復号装置の制御手段に実行させることを特徴とするプログラム。 Detecting a processing state of said decoding means including a completion of the processing steps for the already allocated the data unit to said decoding means, and the detected process status, and dependencies between process steps, included in the image stream depending on the dependencies between frames and then are processed in the decoding means, characterized in that to determine the data unit and processing steps to execute the procedures to be allocated to the decoding means to the control means of the image decoding apparatus programs that.
JP2008201444A 2008-08-05 2008-08-05 Image decoding apparatus and image decoding method Active JP5236386B2 (en)

Priority Applications (1)

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

Applications Claiming Priority (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

Publications (3)

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

Family

ID=42013427

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JP5236386B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2600612A4 (en) * 2010-07-30 2015-06-03 Panasonic Ip Man Co Ltd Image decoding device, image decoding method, image encoding device, and image encoding method
KR20150040126A (en) * 2013-10-04 2015-04-14 삼성전자주식회사 Method and Apparatus for distributing load according to the characteristic of a frame

Family Cites Families (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 method for decode-processing image data
JP2005159787A (en) * 2003-11-27 2005-06-16 Sony Corp Apparatus and method for image processing and computer program
JP4407472B2 (en) * 2004-10-29 2010-02-03 ソニー株式会社 Encoding and decoding apparatus and coding and decoding methods
JP4779735B2 (en) * 2006-03-16 2011-09-28 パナソニック株式会社 Decoding device, a decoding method, a program and a recording medium
US8121196B2 (en) * 2006-11-02 2012-02-21 Corel Corporation Method and apparatus for multi-threaded video decoding

Also Published As

Publication number Publication date
JP2010041352A (en) 2010-02-18

Similar Documents

Publication Publication Date Title
US9307236B2 (en) System and method for multi-row decoding of video with dependent rows
US6799246B1 (en) Memory interface for reading/writing data from/to a memory
US8279942B2 (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
KR100450228B1 (en) Processor capables of efficiently executing many asynchronous event tasks
US20090003446A1 (en) Computing collocated macroblock information for direct mode macroblocks
US20130287114A1 (en) Fractional interpolation for hardware-accelerated video decoding
US20020031184A1 (en) Encoding apparatus and method of same and decoding apparatus and method of same
KR100924907B1 (en) Improved variable length decoder
JP4786313B2 (en) Method and system for real-time processing of data
US7653128B2 (en) Information processing apparatus and method, recording medium, and program
US20130022105A1 (en) Video Decoding System Supporting Multiple Standards
JP6238318B2 (en) Constraints and unit type to simplify the video random access
US8141088B2 (en) Multithreaded processor
KR101183429B1 (en) Accelerated video encoding
CN100397905C (en) Video coding system
EP2026585A1 (en) Image coding device, image coding method, and image coding integrated circuit
US8954457B2 (en) Method for processing a structured document to render, and corresponding processor
JP5332773B2 (en) An image processing apparatus and method
US6782368B2 (en) Media processing apparatus that operates at high efficiency
JP2004040794A (en) Method and system for processing digital data rate change and directional reproduction change
US20060215754A1 (en) Method and apparatus for performing video decoding in a multi-thread environment
JPH11508066A (en) Image compression coprocessor having a data flow control and a plurality of processing devices
CN1703098A (en) Methods, circuits and computer program products for syntax parsing
US8270800B2 (en) Information processing apparatus and method, recording medium, and program
RU2014116243A (en) Control decoded picture buffer

Legal Events

Date Code Title Description
A521 Written amendment

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 Written amendment

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 (=grant) or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20160405

Year of fee payment: 3