JP5236386B2 - 画像復号装置及び画像復号方法 - Google Patents

画像復号装置及び画像復号方法 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
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2008201444A
Other languages
English (en)
Other versions
JP2010041352A5 (ja
JP2010041352A (ja
Inventor
淳也 鈴木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
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, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2008201444A priority Critical patent/JP5236386B2/ja
Priority to US12/535,891 priority patent/US8548061B2/en
Publication of JP2010041352A publication Critical patent/JP2010041352A/ja
Publication of JP2010041352A5 publication Critical patent/JP2010041352A5/ja
Application granted granted Critical
Publication of JP5236386B2 publication Critical patent/JP5236386B2/ja
Active 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)

Description

本発明は、画像圧縮ストリームを高速に復号する画像復号装置及び方法に関する。
従来、MPEG2やH.264/AVCなどを用いて圧縮された画像ストリームを高速に復号化する手法として、複数のプロセッサを用いて復号する際に、復号処理をスライス毎に分割して各プロセッサに割り当て、並列に処理する手法が一般的に知られている。しかし、この手法は1フレームが複数のスライスに分割されていなければ適用できず、1フレームが複数のスライスに分割されていない場合は、フレーム毎に復号処理を分割し、各プロセッサで並列に処理する手法が用いられる。
一方、圧縮されたフレーム間には依存関係が存在する場合がある。例えば、MPEG2規格において、Iフレームは他のフレームに依存せず単独で復号可能であるが、PフレームはIフレームを参照して復号され、BフレームはIフレームやPフレームを参照して復号される。すなわち、圧縮されたフレームは、復号処理時での他のフレームとの依存関係にしたがいグループ分けすることができる。
例えば、グループA、グループB、グループCの3グループに分類できる。グループAには、例えば、Iフレームのような、他のフレームを参照しないフレームが属する。グループBには、例えば、Pフレームのような、他のフレームを参照し、また、他のフレームから参照され得るフレームが属する。グループCには、例えば、Bフレームのような、他のフレームを参照するが、他のフレームからは参照されることがないフレームが属する。
つまり、グループAに属するフレームは、どのグループのフレームの復号結果にも依存しないが、グループBに属するフレームは、グループAに属するフレームの復号結果に依存し、参照するフレームが復号されていない限り復号することが出来ない。また、グループCに属するフレームも、グループAやグループBに属するフレームの復号結果に依存し、参照するフレームが復号されていない限り復号することが出来ない。
よって、グループに属するフレーム同士では依存関係が無いため、それぞれのフレームの復号処理は並列して行える。しかし、グループAまたはBに属するフレームの復号処理と、そのフレームに依存するフレームの復号処理とは並列して行うことができない。このため、1つのプロセッサが、そのような並列化できない処理を行っている間は、他のプロセッサは、処理待ちの状態であるアイドル状態になってしまう。
依存関係のあるフレームを復号するために、各フレームの依存関係に応じて各プロセッサが行う並列処理の分担を決定する画像復号方法(特許文献1参照)が提案されている。また、双方向予測符号化されたフレームを復号する際には、1フレームを複数のスライスに分けて並列処理し、それ以外の方式で符号化されたフレームはフレーム毎に並列処理を行うという画像復号方法(特許文献2参照)なども提案されている。このような方法で、プロセッサのアイドル時間を低減している。
特開2000−295616号公報 特開2005−175997号公報
上記のような従来の画像復号方法を用いた場合でも、プロセッサが長い時間アイドル状態になる場合がある。以下、図8を参照しこのような例を説明する。
図8の例では4つのプロセッサを並列に用いて復号処理を行う場合を考える。復号するフレームはフレーム0からフレーム5までの計6フレームとし、1フレームは1スライスで構成されている。フレーム0は、他のフレームの復号結果に依存しないフレームが属するグループAに属する。フレーム3は、他のフレームを参照し、また、他のフレームから参照され得るフレームが属するグループBに属し、フレーム0を参照する。フレーム1、2、4、5は、他のフレームを参照するが、他のフレームからは参照されることがないフレームが属するグループCに属し、フレーム0とフレーム3を参照する。各フレームの復号処理に掛かる時間は等しいとする。
フレーム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%しか活用できていないという問題がある。
本発明は、上記問題を解決すべくなされたものであり、その目的とするところは、複数のプロセッサを並列動作させる復号処理において、プロセッサがアイドル状態になっている時間を低減し、より高速に圧縮画像を復号できる画像復号装置を提供することにある。
本発明の第1の態様において、圧縮された画像ストリームを入力信号とし、前記入力信号を復号する画像復号装置が提供される。
画像復号装置は、入力信号を所定のデータ単位で復号する、複数の復号手段と、入力信号の復号処理を、処理順序の依存関係を有する複数の処理ステップに分割し、復号手段で処理すべきデータ単位を復号手段に処理ステップ毎に割り当てる、タスク制御手段とを備える。タスク制御手段は、復号手段の処理状況を検出し、その検出した処理状況と、処理ステップ間の依存関係と、画像ストリームに含まれるフレーム間の依存関係とに応じて、処理されるデータ単位及び処理ステップを復号手段に割り当てる。
本発明の第2の態様において、圧縮された画像ストリームを入力信号として入力するステップと、入力した入力信号の復号処理を、処理順序の依存関係を有する複数の処理ステップに分割するステップと、複数の復号手段において、入力信号を所定のデータ単位毎に前記処理ステップ単位で復号処理を実行させるステップと、復号手段の処理状況を検出し、検出した処理状況と処理ステップ間の依存関係と、画像ストリームに含まれるフレーム間の依存関係とに応じて、復号手段において処理される、データ単位及び処理ステップを決定するステップとを含む、画像復号方法が提供される。
本発明の第3の態様において、圧縮された画像ストリームを入力信号とし、入力信号を復号する画像復号装置の制御プログラムが提供される。制御プログラムは、圧縮された画像ストリームを入力信号として入力する手順と、入力した入力信号の復号処理を、処理順序の依存関係を有する複数の処理ステップに分割する手順と、複数の復号手段において、入力信号を所定のデータ単位毎に処理ステップ単位で復号処理を実行させる手順と、復号手段の処理状況を検出し、検出した処理状況と処理ステップ間の依存関係と、画像ストリームに含まれるフレーム間の依存関係とに応じて、復号手段において処理される、データ単位及び処理ステップを決定する手順とを画像復号装置の制御手段に実行させる。
本発明によれば、複数のプロセッサを使って画像復号処理を並列して行う際のアイドル時間を低減でき、圧縮画像の復号処理の高速化が図れる。
以下、添付の図面を参照し、本発明の実施形態を説明する。
(実施の形態1)
本実施の形態における画像復号装置は、例えばH.264のような符号化方式で圧縮された映像のバイトストリームを入力し、デジタル画像を復号して出力する。
1 画像復号装置の構成
図1に本実施の形態における画像復号装置の構成を示す。画像復号装置101は、入力端子102を介してバイトストリームを入力し、復号して得られたデジタル画像を出力端子103を介して出力する。
画像復号装置101において、ストリームバッファ104は、入力されたバイトストリームをバッファリングする。第1及び第2の復号部(以下単に「復号部」と称す。)108、109は、スライス単位で画像復号処理を行う。第1の復号部108と第2の復号部109により並列処理が可能となっている。タスク制御部105は復号部108、109で実行され復号処理を、復号処理のステップ(後述)とスライスの種類に基づき制御する。中間バッファ106は、復号処理中において生成される係数データと予測データと差分画像とを保持する。フレームバッファ107は、最終的に得られる復号画像を保持する。なお、タスク制御部105と復号部108、109の詳細については後述する。
1.1 画像復号処理のステップとスライスタイプ
本実施形態における画像復号装置では、1フレームに対する復号処理を、算術復号処理、差分画像作成処理及び復号画像作成処理の3つのステップ(段階)に分割する。
算術復号処理は、入力されたバイトストリームから差分画像を作成するのに必要な係数データと、予測画像を作成するのに必要な予測モードや動きベクトルなどの予測データを復号する処理とする。この処理は、フレーム間やステップ間での依存関係が無い。
差分画像作成処理は、係数データに対して逆量子化や逆離散コサイン変換などを施すことによって差分画像を作成する処理である。この処理にはフレーム間の依存関係は無いが、算術復号処理によって必要な係数データが復号されている必要があるため、ステップ間の依存関係がある。
復号画像作成処理は、予測データと参照に必要な復号画像から予測画像を作成し、予測画像と差分画像を合わせて復号画像を作成する。この処理は、算術復号処理によって必要な予測データが復号されていること、差分画像作成処理によって必要な差分画像が作成されていること、参照が必要な場合には必要となる復号画像が作成されていることが必要となる。従って、フレーム間にもステップ間にも依存関係がある。
さらに、スライスをフレーム間の依存関係に基づき3種類に分類する。前述したように、他のフレームを参照しないフレームが属するグループAに属しているフレームを構成するスライスの種類を「スライスA」と称す。他のフレームを参照し、また、他のフレームから参照され得るフレームが属するグループBに属しているフレームを構成するスライスの種類を「スライスB」と称す。他のフレームを参照するが、他のフレームからは参照されることがないグループCに属しているフレームを構成するスライスの種類を「スライスC」と称す。
1.2 タスク制御部
タスク制御部105には復号部108、109が接続されている。復号部108、109はそれぞれ待機状態と処理状態の2つの状態をとり得る。また、タスク制御部105は、復号部108、109で実行される復号処理されるタスクを管理するためのタスクリスト15を内部に保持する。タスクリスト15は、復号パラメータセットを1つの要素として管理する。復号パラメータセットは復号処理に必要なパラメータの組であって、具体的には以下の情報を含む。
・スライスタイプ(スライスの種類を示す情報)
・タスク(復号部で実行する復号処理のステップの種類を示す情報)
・スライスデータポインタ
(ストリームバッファ104上のスライスデータの格納位置を示す情報)
・係数データポインタ
(中間バッファ106上の係数データの格納位置を示す情報)
・予測データポインタ
(中間バッファ106上の予測データの格納位置を示す情報)
・差分画像ポインタ
(中間バッファ106上の差分画像の格納位置を示す情報)
図2(a)にタスクリスト15の例を示す。タスクリスト15は、パラメータセットに加えて、そのパラメータセット特定する要素番号と、そのパラメータセットの処理に対する優先度とを関連づけて管理する。
また、タスク制御部105は優先度テーブル16を有する。図2(b)に優先度テーブル16の例を示す。優先度テーブル16は、復号処理における各ステップの優先度をスライスタイプに応じて規定するものである。前述のように、ステップ間の依存関係により、算術復号処理、差分画像作成処理、復号画像作成処理の順で優先的に処理される必要がある。また、フレーム間の依存関係から、スライスタイプA、スライスタイプB、スライスタイプCの順に優先的に処理される必要がある。優先度テーブル16は、このようなステップ間及びフレーム間の依存関係を考慮して、各ステップの優先度をスライスタイプに応じて規定している。
タスク制御部105は複数の状態をとり得る。図3にタスク制御部105の状態遷移を示す。同図に示すように、タスク制御部105は、初期状態、ストリーム解析状態、タスク割当状態、タスク完了待ち状態、及びタスク追加状態の5状態を有する。以下、タスク制御部105の各状態について説明する。
初期状態では、タスクリスト15の要素数は0に設定されている。ストリームバッファ104から必要なバイトストリームが読み出せるようになると、初期状態からストリーム解析状態に遷移する。
ストリーム解析状態では、タスク制御部105はストリームバッファ104から読み出したバイトストリームを先頭から探索し、バイトストリームに含まれる全てのスライスを検出する。スライスを検出する毎に、新しい復号パラメータセットをタスクリスト15に追加する。新しい復号パラメータセットにおいては、スライスタイプは、検出したスライスの種類に、タスクは算術復号処理に、スライスデータポインタは、検出したスライスのデータの開始位置にそれぞれ設定される。読み出したバイトストリームを全て探索し、全ての復号パラメータセットをタスクリスト15に追加すると、タスク割当状態に遷移する。
タスク割当状態において、タスクリスト15の要素数が0の場合は、初期状態に遷移する。そうでない場合、まず、図2に示す優先度テーブル16を参照して、タスクリスト15に含まれる各復号パラメータセットの優先度を決定する。そして、タスク制御部105は、復号部108、109が双方とも待機状態である場合、優先度の最も高い復号パラメータセットを第1の復号部108に出力し、優先度が2番目に高い復号パラメータセットを第2の復号部109に出力し、その後、タスク完了待ち状態に遷移する。また、復号部108、109のいずれか一方が待機状態である場合、タスク制御部105は、優先度の最も高い復号パラメータセットを、待機状態にある復号部に出力し、タスク完了待ち状態に遷移する。
但し、タスクリスト15内に優先度が同じ復号パラメータセットが複数存在する場合は、タスクリストに追加された順番がより早いものを優先する。また、スライスタイプがスライスBであり、かつタスクが復号画像作成処理である復号パラメータセットは、スライスAの復号画像作成処理が完了していない場合には、復号部108、109に出力されない。またスライスタイプがスライスCであり、かつタスクが復号画像作成処理である復号パラメータセットは、スライスBの復号画像作成処理が完了していない場合には、復号部108、109に出力されない。これらの場合には、次に優先度が高い復号パラメータセットが復号部108、109に出力される。
タスク完了待ち状態では、第1の復号部108または第2の復号部109から復号パラメータセットが入力されるまで待機する。第1の復号部108または第2の復号部109から復号パラメータセットが入力されると、タスク追加状態に遷移する。タスク完了待ち状態以外の状態において、入力されたタスクリストの復号パラメータセットは、待ち行列に入り、次にタスク制御部105がタスク完了待ち状態に遷移した際に処理される。
タスク追加状態では、タスク制御部105は、入力された復号パラメータセットに含まれる”タスク”が復号画像作成処理の場合は、何もせずにタスク割当状態に遷移する。それ以外の場合には、タスク制御部105は、タスクリストに新しい復号パラメータセットを要素として追加し、タスク割当状態に遷移する。入力された復号パラメータセットに含まれる”タスク”が算術復号処理の場合には、新しい復号パラメータセットにおいて、”タスク”を、差分画像作成処理に設定し、差分画像作成処理の場合には、”タスク”を、復号画像作成処理に設定する。新しい復号パラメータセットに含まれる”タスク”以外の情報は、入力された復号パラメータセットのものと同じにする。
1.3 復号部
復号部108、109は、待機状態と処理状態の2つの状態を有する。初期状態は待機状態である。待機状態は、復号パラメータセットが入力されるのを待っている状態である。復号パラメータセットが入力されると、復号部108、109は待機状態から処理状態に遷移する。処理状態では、入力された復号パラメータセットに含まれるタスクによって、復号部10、109の動作が変わる。以下、タスクにより異なる、処理状態での動作を説明する。
タスクが算術復号処理の場合、復号部108、109は、入力された復号パラメータセットに含まれるスライスデータポインタが示すストリームバッファ104上のアドレスからバイトストリームを読み出して、係数データと予測データを復号し、中間バッファ106に書き込む。続いて、復号部108、109は、新しい復号パラメータセットを出力し、待機状態に遷移する。新しい復号パラメータセットにおいて、係数データポインタと予測データポインタは、それぞれ中間バッファ106に書き込んだ係数データと予測データへのポインタに設定し、係数データポインタと予測データポインタ以外の情報は、入力された復号パラメータセット内のものと同じに設定する。
タスクが差分画像作成処理の場合、復号部108、109は、入力された復号パラメータセットに含まれる係数データポインタが示す中間バッファ106上のアドレスから係数データを読み出して、差分画像を作成し、中間バッファ106に書き込む。続いて、復号部108、109は、新しい復号パラメータセットを出力し、待機状態に遷移する。新しい復号パラメータセットにおいて、差分画像ポインタは中間バッファ106に書き込んだ差分画像へのポインタに設定し、差分画像ポインタ以外の情報は、入力された復号パラメータセット内のものと同じに設定する。
タスクが復号画像作成処理の場合、復号部108、109は、入力された復号パラメータセットに含まれる予測データポインタが示す中間バッファ106上のアドレスから予測データを読み出す。次に、復号部108、109は、読み出した予測データを基にフレームバッファ107から予測画像作成に必要で既に復号されている復号画像を読み出し、この復号画像に、中間バッファ106から読み出した差分画像を合わせて復号画像を作成する。作成された復号画像は、フレームバッファ107に書き込まれる。続いて、復号部108、109は、入力された復号パラメータセットをそのまま出力し、待機状態に遷移する。
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に含まれている。
画像復号装置101において、入力端子102を介して入力されたバイトストリームは、ストリームバッファ104に書き込まれる。これにより復号するバイトストリームがストリームバッファ104から読み出せるようになり、タスク制御部105は初期状態からストリーム解析状態に遷移する。
ストリーム解析状態では、タスク制御部105は、ストリームバッファ104からバイトストリームを読み出して解析し、タスクリスト15に新しい復号パラメータセットを追加し、タスク割当状態に遷移する。この状態での、タスクリスト15の状態を図5Aに示す。なお、図5Aでは、説明の便宜上、復号パラメータセットの順番を示す要素番号と、各復号パラメータセットに含まれるスライスタイプとタスク、及び各復号パラメータセットの優先度のみが示されている(以下の図5B〜図5Gにおいても同様)。各復号パラメータセットのスライスデータポインタを、各スライスのデータ開始位置とする。
タスク割当状態では、タスク制御部105は、タスクリスト15内で優先度が最も高い復号パラメータセット(本例では、E1)を第1の復号部108に出力し、優先度が2番目に高いパラメータセット(本例では、E4)を第2の復号部109に出力する。次に、タスク制御部105は、出力した2つの復号パラメータセットをタスクリスト15から削除し、タスク完了待ち状態に遷移する。
第1の復号部108及び第2の復号部109には、復号パラメータセットが入力され、待機状態から処理状態に遷移する。
処理状態において、復号部108、109は、入力された復号パラメータセットを参照して算術復号処理を行い、その後、タスク制御部105に復号パラメータセットを出力して待機状態に遷移する。出力する復号パラメータセットにおいて、係数データポインタと予測データポインタは、それぞれ算術復号処理で得られた係数データと予測データへのポインタとなる。ここでは第1の復号部108が先に処理を完了して復号パラメータセットを出力し、第2の復号部109はその直後に復号パラメータセットを出力したとする。
タスク制御部105には、まず第1の復号部108から復号パラメータセットが入力され、タスク追加状態に遷移する。入力された復号パラメータセットの”タスク”は、算術復号処理であるため、”タスク”以外の情報は、入力された復号パラメータセット内のものと同じである。よって、”タスク”に差分画像作成処理を設定した新しい復号パラメータセットをタスクリスト15に追加し、タスク割当状態に遷移する。この時点でのタスクリスト15を図5Bに示す。図5Bに示すように、タスク割当状態において、最も優先度が高い復号パラメータセットはE7であるため、第1の復号部108にE7を出力し、タスクリストからE7を削除する。その後、タスク制御部105は、タスク完了待ち状態に遷移する。
次に、第2の復号部109から復号パラメータセットが入力されると、タスク制御部105は、再びタスク追加状態に遷移する。タスク追加状態では、同様にして新しい復号パラメータセットをタスクリスト15に追加し、再びタスク割当状態に遷移する。この時のタスクリスト15を図5Cに示す。最も優先度が高いE8を第2の復号部109に出力し、タスクリスト15からE8を削除する。その後、タスク完了待ち状態に遷移する。
第1及び第2の復号部108、109はそれぞれ、タスク制御部105から復号パラメータセットを入力すると、再び処理状態になる。入力された復号パラメータセットを参照し、差分画像作成処理を行い、その後、タスク制御部105に新しい復号パラメータセットを出力して待機状態に遷移する。新しい復号パラメータセットにおける、差分画像ポインタは差分画像作成処理で得られた差分画像へのポインタとなる。ここでは第1の復号部108が先に処理を完了して新しい復号パラメータセットを出力し、第2の復号部109はその直後に新しい復号パラメータセットを出力したとする。
タスク制御部105は、まず第1の復号部108から復号パラメータセットを入力し、タスク追加状態に遷移する。入力された復号パラメータセットの”タスク”は差分画像作成処理を示すため、タスク以外の情報は、入力された復号パラメータセット内のものと同じである。”タスク”に復号画像作成処理を設定した新しい復号パラメータセットをタスクリストに追加し、タスク割当状態に遷移する。この時のタスクリストを図5Dに示す。図5Dに示すように、タスク割当状態において、最も優先度が高い復号パラメータセットはE9であるため、第1の復号部108にE9を出力し、タスクリストからE9を削除する。その後タスク完了待ち状態に遷移する。
次に、第2の復号部109から復号パラメータセットが入力されると、タスク制御部105は、再びタスク追加状態に遷移する。同様にして新しい復号パラメータセットをタスクリスト15に追加し、タスク割当状態に遷移する。この時のタスクリストは図5Eに示すようになっている。最も優先度が高い復号パラメータセットはE10である。一方、スライスBの復号画像作成処理はスライスAの復号画像作成処理が完了していないと実行できない。このため、次に優先度が高く、タスクリストに追加された順番が早いE2を第2の復号部109に出力し、タスクリストからE2を削除する。その後タスク完了待ち状態に遷移する。
ここで、第1の復号部108は、復号パラメータセットが入力されると、再び処理状態になる。第1の復号部108は、入力された復号パラメータセットを参照して復号画像作成処理を行い、その後、タスク制御部105に対して、入力された復号パラメータセットをそのまま出力し、待機状態に遷移する。
第2の復号部109にも、復号パラメータセットが入力され、再び処理状態になる。入力された復号パラメータセットを参照して算術復号処理を行い、その後、タスク制御部105にタスクリスト15に、新しい復号パラメータセットを出力して待機状態に遷移する。新しい復号パラメータセットの係数データポインタと予測データポインタは、算術復号処理の結果を格納したデータへのポインタとなる。新しい復号パラメータセットは、第1の復号部108が復号パラメータセットを出力した後に出力されたとする。
タスク制御部105に、まず第1の復号部108から復号パラメータセットが入力されると、タスク制御部105はタスク追加状態に遷移する。入力した復号パラメータセットの”タスク”は”復号画像作成処理”であるため、何もせずにタスク割当状態に遷移する。この時のタスクリスト15は図5Fに示すようになる。このときのタスク割当状態において、最も優先度が高い復号パラメータセットはE10であり、スライスAの復号画像作成処理は既に完了しているため、タスク制御部105は、第1の復号部108にE10を出力し、タスクリスト15からE10を削除する。その後、タスク完了待ち状態に遷移する。
次に、タスク制御部105は、第2の復号部109から復号パラメータセットが入力され、再びタスク追加状態に遷移する。同様にして新しい復号パラメータセットをタスクリストに追加し、タスク割当状態に遷移する。この時のタスクリスト15は図5Gに示すようになる。最も優先度が高い復号パラメータセットはE3、E5、E6の3個存在する。かかる場合は、タスク制御部105は、タスクリスト15に最も先に登録されたE3を第2の復号部109に出力し、タスクリスト15からE3を削除する。その後、タスク完了待ち状態に遷移する。
以降同様にしてスライスCの復号処理を繰り返し、1GOPの復号を完了し、出力端子103から出力する。
以上の方法により、グループAに属するフレームの復号処理が完了する前にでも、グループBに属するフレームやグループCに属するフレームの復号処理を開始することができ、復号部(プロセッサ)のアイドル時間を低減することが出来る。
なお、本実施の形態では復号部の数を2として説明したが、3以上でも構わない。また、本実施の形態では、1フレームに含まれるスライスの数を1として説明したが、2以上でも構わない。
また、本実施の形態では1GOP全部を復号する例を挙げているが、ストリームバッファ104が必要バイトストリームしかバッファリングしない、またはタスク制御部105が必要の無い復号パラメータセットを出力しないようにしてもよい。これにより、任意の1フレームを復号することも出来る。また、複数のGOPをまとめて復号することも可能となる。
(実施の形態2)
本実施の形態にかかる画像復号装置は、例えばH.264のような符号化方式で圧縮された映像のバイトストリームを入力とし、復号されたデジタル画像を出力する。図6に、本実施の形態における画像復号装置の構成を示す。また、本実施の形態においても、実施の形態1と同様に、1フレームの復号処理を算術復号処理、差分画像作成処理、復号画像作成処理の3ステップに分割する。
画像復号装置201は、実施の形態1に記載の画像復号装置101と同様の機能を持っており、入力端子202からバイトストリームを入力し、出力端子203からデジタル画像を出力する。ストリームバッファ204、タスク制御部205、中間バッファ206、フレームバッファは、それぞれ実施の形態1で説明した、ストリームバッファ104、タスク制御部105、中間バッファ106及びストリームバッファ104と同様に動作する。また、第1の復号部208から第4の復号部211は、実施の形態1に記載の第1の復号部108及び第2の復号部109と同様に動作する。
図7に、本実施の形態において、第1から第4の各復号部208〜211が処理するフレーム及びステップを示す。同図におけるカッコ内の数字に関して、カッコ内の前の数字は、処理対象のフレームのフレーム番号を示しており、後ろの数字は、復号処理におけるステップを示している。復号処理におけるステップは、算術復号処理を「0」、差分画像作成処理を「1」、復号画像作成処理を「2」としている。例えば、第1の復号部208が最初に行う処理について、図中、(0,0)と示しており、これは、”フレーム0”の”算術復号処理”であることを示している。図8の従来の場合と比較してみると、復号部がアイドル状態にある時間が大幅に低減されており、処理全体に要する時間も低減されていることが理解できる。
なお、実施の形態1、2で説明した画像復号装置の機能は、電子回路等のハードウェアで実現してもよいし、CPUのようなコンピュータと制御プログラム(ソフトウェア)の組み合わせで実現してもよい。
本発明の画像復号装置によれば、フレーム間に依存関係がある場合でも、プロセッサのアイドル時間を短くすることができ、復号処理を高速に行うことができるため、マルチプロセッサ上で動作するソフトデコーダ等において有効である。
本発明の実施の形態1における画像復号装置のブロック図 (a)タスクリストの構成を示す図、及び(b)スライスタイプ毎のタスクの優先度を管理する優先度テーブルを示す図 タスク制御部の状態遷移図 画像復号装置に入力されるバイトストリームの一例を示した図 タスクリストの変化を説明するための図(その1) タスクリストの変化を説明するための図(その2) タスクリストの変化を説明するための図(その3) タスクリストの変化を説明するための図(その4) タスクリストの変化を説明するための図(その5) タスクリストの変化を説明するための図(その6) タスクリストの変化を説明するための図(その7) 本発明の実施の形態2における画像復号装置のブロック図 実施の形態2において、各復号部が処理するフレーム及びステップを説明した図 従来の並列復号処理において各プロセッサが復号処理するフレームを説明した図
符号の説明
15 タスクリスト
16 優先度テーブル
101、201 画像復号装置
102、202 入力端子
103、203 出力端子
104、204 ストリームバッファ
105、205 タスク制御部
106、206 中間バッファ
107、207 フレームバッファ
108、109、208〜211 復号部

Claims (8)

  1. 圧縮された画像ストリームを入力信号とし、前記入力信号を復号する画像復号装置であって、
    前記入力信号を所定のデータ単位毎に復号する、複数の復号手段と、
    前記入力信号の復号処理を、処理順序の依存関係を有する複数の処理ステップに分割し、前記復号手段で処理すべきデータ単位を前記復号手段に処理ステップ毎に割り当てる、タスク制御手段とを備え、
    前記タスク制御手段は、前記復号手段に対して既に割り当てられた前記データ単位に対する前記処理ステップの完了を含む前記復号手段の処理状況を検出し、その検出した処理状況と、処理ステップ間の依存関係と、前記画像ストリームに含まれるフレーム間の依存関係とに応じて、次に処理されるデータ単位及び処理ステップを決定し、前記復号手段に割り当てる、
    ことを特徴とする画像復号装置。
  2. 前記フレーム間の依存関係とは、他のフレームを参照するか否か、また、他のフレームから参照され得るか否かの関係である、請求項1記載の画像復号装置。
  3. 前記タスク制御手段は、フレーム間の依存関係及び処理ステップ間の依存関係を考慮し、優先的に処理すべきデータ単位の順序を規定した優先度情報を備え、前記優先度情報を参照して、処理されるデータ単位及び処理ステップを前記復号手段に割り当てる、ことを特徴とする請求項1記載の画像復号装置。
  4. 前記複数の処理ステップは、入力されたバイトストリームから差分画像を作成するのに必要な係数データと、予測画像を作成するのに必要な予測モードおよび動きベクトルの少なくともいずれか一方を含む予測データを復号する算術復号ステップと、
    係数データに対して逆量子化および逆離散コサイン変換を施すことによって差分画像を作成する処理差分画像作成ステップと、
    予測データと参照に必要な復号画像から予測画像を作成し、予測画像と差分画像を合わせて復号画像を作成する復号画像作成ステップとを含む、請求項1記載の画像復号装置。
  5. 前記所定のデータ単位はフレームまたはスライスであることを特徴とする請求項1記載の画像復号装置。
  6. 前記画像ストリームの符号化方式がH.264である、請求項1記載の画像復号装置。
  7. 圧縮された画像ストリームを入力信号として入力するステップと、
    前記入力した入力信号の復号処理を、処理順序の依存関係を有する複数の処理ステップに分割するステップと、
    複数の復号手段において、前記入力信号を所定のデータ単位毎に前記処理ステップ単位で復号処理を実行させるステップと、
    前記復号手段に対して既に割り当てられた前記データ単位に対する前記処理ステップの完了を含む前記復号手段の処理状況を検出し、検出した処理状況と、処理ステップ間の依存関係と、前記画像ストリームに含まれるフレーム間の依存関係とに応じて、次に前記復号手段において処理される、データ単位及び処理ステップを決定し、前記復号手段に割り当てるステップと
    を含む、ことを特徴とする画像復号方法。
  8. 圧縮された画像ストリームを入力信号とし、前記入力信号を復号する画像復号装置の制御プログラムであって、
    圧縮された画像ストリームを入力信号として入力する手順と、
    前記入力した入力信号の復号処理を、処理順序の依存関係を有する複数の処理ステップに分割する手順と、
    複数の復号手段において、前記入力信号を所定のデータ単位毎に前記処理ステップ単位で復号処理を実行させる手順と、
    前記復号手段に対して既に割り当てられた前記データ単位に対する前記処理ステップの完了を含む前記復号手段の処理状況を検出し、検出した処理状況と、処理ステップ間の依存関係と、前記画像ストリームに含まれるフレーム間の依存関係とに応じて、次に前記復号手段において処理される、データ単位及び処理ステップを決定し、前記復号手段に割り当てる手順とを画像復号装置の制御手段に実行させる
    ことを特徴とするプログラム。
JP2008201444A 2008-08-05 2008-08-05 画像復号装置及び画像復号方法 Active JP5236386B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008201444A JP5236386B2 (ja) 2008-08-05 2008-08-05 画像復号装置及び画像復号方法
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 (ja) 2008-08-05 2008-08-05 画像復号装置及び画像復号方法

Publications (3)

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

Family

ID=42013427

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008201444A Active JP5236386B2 (ja) 2008-08-05 2008-08-05 画像復号装置及び画像復号方法

Country Status (1)

Country Link
JP (1) JP5236386B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012014471A1 (ja) * 2010-07-30 2012-02-02 パナソニック株式会社 画像復号化装置、画像復号化方法、画像符号化装置および画像符号化方法
KR102280170B1 (ko) * 2013-10-04 2021-07-21 삼성전자주식회사 프레임의 특성에 따라 부하를 분배하는 방법 및 장치

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001069512A (ja) * 1999-08-26 2001-03-16 Toshiba Corp データ処理システムおよび画像データの復号処理方法
JP2005159787A (ja) * 2003-11-27 2005-06-16 Sony Corp 画像処理装置、および画像処理方法、並びにコンピュータ・プログラム
JP4407472B2 (ja) * 2004-10-29 2010-02-03 ソニー株式会社 符号化及び復号装置並びに符号化及び復号方法
JP4779735B2 (ja) * 2006-03-16 2011-09-28 パナソニック株式会社 復号装置、復号方法、プログラムおよび記録媒体
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 (ja) 2010-02-18

Similar Documents

Publication Publication Date Title
JP7191240B2 (ja) ビデオストリーム復号方法、装置、端末機器およびプログラム
US8548061B2 (en) Image decoding apparatus and image decoding method
JP4519082B2 (ja) 情報処理方法、動画サムネイル表示方法、復号化装置、および情報処理装置
JP5379122B2 (ja) マルチプロセッサ
JP5042568B2 (ja) Mpegデコーダ及びmpegエンコーダ
JP5545288B2 (ja) タスク割当装置、タスク割当方法、及び、タスク割当プログラム
JP5698156B2 (ja) 復号装置、復号方法、および編集装置
CN111147926B (zh) 一种数据转码方法及装置
JP2007251865A (ja) 画像データの処理装置、画像データの処理方法、画像データの処理方法のプログラム及び画像データの処理方法のプログラムを記録した記録媒体
EP3198870B1 (en) Processing parameters for operations on blocks while decoding images
JP2007219577A (ja) データ処理装置、データ処理方法、データ処理方法のプログラム及びデータ処理方法のプログラムを記録した記録媒体
JP5236386B2 (ja) 画像復号装置及び画像復号方法
CN112714319B (zh) 计算机可读取存储介质、使用多个执行单元的视频编解码方法和装置
Wang et al. A collaborative scheduling-based parallel solution for HEVC encoding on multicore platforms
JP5120324B2 (ja) 画像復号装置及び画像復号方法
JP2008301240A (ja) 携帯端末
US8351508B1 (en) Multithreaded descriptor based motion estimation/compensation video encoding/decoding
KR101355375B1 (ko) 멀티코어 플랫폼 기반의 멀티미디어 복호화 방법 및 장치
CN116132719A (zh) 视频处理方法、装置、电子设备及可读存储介质
Radicke et al. Many-core HEVC encoding based on wavefront parallel processing and GPU-accelerated motion estimation
US20060088278A1 (en) Data processing apparatus, reproduction apparatus, data processing system, reproduction method, program, and storage medium
US9336557B2 (en) Apparatus and methods for processing of media signals
JP2018011258A (ja) 処理制御装置、処理制御方法及びプログラム
JP2018019195A (ja) 動画生成方法、動画生成装置
JP2011160077A (ja) 復号装置および方法

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