JP4807320B2 - 復号装置、符号化装置、復号方法、符号化方法、および映像の復号と符号化を行うプログラム - Google Patents

復号装置、符号化装置、復号方法、符号化方法、および映像の復号と符号化を行うプログラム Download PDF

Info

Publication number
JP4807320B2
JP4807320B2 JP2007127867A JP2007127867A JP4807320B2 JP 4807320 B2 JP4807320 B2 JP 4807320B2 JP 2007127867 A JP2007127867 A JP 2007127867A JP 2007127867 A JP2007127867 A JP 2007127867A JP 4807320 B2 JP4807320 B2 JP 4807320B2
Authority
JP
Japan
Prior art keywords
macroblock
processing
state
requested
processing element
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2007127867A
Other languages
English (en)
Other versions
JP2008283612A (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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP2007127867A priority Critical patent/JP4807320B2/ja
Publication of JP2008283612A publication Critical patent/JP2008283612A/ja
Application granted granted Critical
Publication of JP4807320B2 publication Critical patent/JP4807320B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Advance Control (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

本発明は、データ処理装置、復号装置、符号化装置、データ処理方法、復号方法、符号化方法、およびプログラムに関する。
詳しくは、本発明は、例えば、映像や音声の復号または符号化を複数のプロセシングエレメントで並列に行うデータ処理装置、復号装置、符号化装置、データ処理方法、復号方法、符号化方法、および映像の復号と符号化を行うプログラムに関する。
映像や音声に対する様々な符号化方式が知られている。例えば、動画像に対して、MPEG−1、MPEG−2、MPEG−4、H.264等がある。静止画像に対して、JPEG等がある。また、音声に対して、MP3、AAC等がある。
また、近年、LSI技術の進歩により、チップ内に処理回路を大量に搭載することが可能となった。このため、複数のCPU(Central Processing Unit)を持つマルチコア型マイクロプロセサや高い並列度の演算器をもつGPU(Graphics Processing Unit)等の並列処理装置が実現されている。
動画像の復号または符号化を行う並列処理装置の実現法としては、機能分割による並列化(例えば、非特許文献1参照)と領域分割による並列化(例えば、特許文献1参照)が知られている。また、機能分割と領域分割を組み合わせた並列化も可能である。
動画像の復号または符号化専用の装置は機能分割による並列化が採用されることが多い。
一方、MPEG−4やH.264等の動画像の符号化方式では、1枚のピクチャが16画素×16画素のマクロブロックに分割され、このマクロブロック単位で復号と符号化が行われる。
このため、同一の構造を有する複数のプロセシングエレメントを含むプログラマブルなデータ処理装置で動画像の復号または符号化を行う場合、個々のプロセシングエレメントに1個のマクロブロックを割り当てて、並列に処理することが考えられる。すなわち、データ処理装置で領域分割による並列化を行うことが考えられる。
特開2006−129284号公報 渡辺浩巳,茶木英明,"H.264とMPEG−4に両対応 携帯機器向けコーデック・コアを開発 VGAの動画を36mAで符号化",日経エレクトロニクス,2004年9月27日号,no.883,pp123−133.
MPEG−4やH.264では、マクロブロックの処理は隣接マクロブロックの動きベクトルや再生画素を参照する等隣接マクロブロックの処理結果に依存する。このため、データ処理装置で領域分割による並列化を行う場合、個々のプロセシングエレメントの間で依存関係に応じた処理を行わなければならない。このため、個々のプロセシングエレメントでマクロブロックの処理が終了するごとにプロセシングエレメントの間で同期を取る必要が生じる。
このように、複数のプロセシングエレメントが並列に動作するデータ処理装置においてマクロブロック単位で粒度の細かい同期を取るためのオーバヘッドは無視できない。
また、データ処理装置でピクチャレベルの並列化を行うことも可能であるが、PピクチャとBピクチャは参照先のピクチャの処理が終了していなければ処理できない。このため、Iピクチャごとに並列化しなければならず、ピクチャレベルの並列化における並列度は極めて低い。
以上から、ブロックごとに並列に処理を行う複数のプロセシングエレメントの間でブロック単位で粒度の小さい同期を取ることができ、個々のプロセシングエレメントがブロックの依存関係に応じた処理を行うことができるデータ処理装置が要望されている。
本発明の復号装置は、第1の方向と第2の方向にそれぞれ所定の画素数を有するマクロブロックに分割されたピクチャを当該マクロブロックごとに並列に処理する復号装置であって、
前記マクロブロックを処理する、少なくとも2つのプロセシングエレメント
を含むデータ処理部と、
前記プロセシングエレメントが前記マクロブロックの処理を終了するごとに、処理対象であるマクロブロックの符号化時に既に符号化済みである隣接マクロブロックに対応して設けられ、当該隣接マクロブロックの処理結果を参照して処理対象のマクロブロックを処理することを示す参照フラグに基づいて、前記プロセシングエレメントが処理できる可能性のあるマクロブロックを選択する選択部と、
前記ピクチャに含まれる個々のマクロブロックについて、当該マクロブロックの処理状態が、少なくとも、前記データ処理部に当該マクロブロックを処理することが要求されていない状態である未処理、当該マクロブロックの処理が前記データ処理部に要求され、前記データ処理部が当該マクロブロックを処理している状態である要求、前記データ処理部によって当該マクロブロックの処理が終了された状態である終了、または条件フラグに応じて当該マクロブロックが前記未処理の状態または前記終了の状態として扱われる仮処理のいずれの状態であるかを記憶する状態記憶部と、
前記選択されたマクロブロックの隣接マクロブロックの前記処理状態と前記参照フラグに基づいて、前記選択されたマクロブロックが処理可能であるか否かを判定し、当該処理可能であると判定されたマクロブロックの処理を前記データ処理部に要求する判定部と、
前記未処理の状態または仮処理の状態のマクロブロックの処理を前記データ処理部に要求する制御部と、
を含む処理制御部と、
を有し、
前記制御部が、前記マクロブロックのうちイントラマクロブロックについて前記状態記憶部における処理状態を仮処理に設定し、前記条件フラグを仮処理の状態が終了として扱われるように設定し、前記参照フラグを全て隣接マクロブロックの処理結果を参照せずに処理対象のインターマクロブロックを処理するように設定して、前記データ処理部に未処理の状態のインターマクロブロックを復号するように要求するとともに、当該復号するように要求したインターマクロブロックの前記状態記憶部における処理状態を要求に変更し、
前記プロセシングエレメントが、前記要求されたインターマクロブロックを復号し、
前記制御部が、前記プロセシングエレメントが前記要求されたインターマクロブロックの復号を終了するごとに、前記状態記憶部における前記要求されたインターマクロブロックの処理状態を終了に変更し、
前記制御部が、前記状態記憶部における前記インターマクロブロックの処理状態がすべて終了になると、前記条件フラグを仮処理の状態が未処理の状態として扱われるように変更し、前記参照フラグを動画像の符号化規格に応じて設定して、前記データ処理部に仮処理の状態のイントラマクロブロックを復号するように要求するとともに、当該復号するように要求したイントラマクロブロックの前記状態記憶部における処理状態を要求に変更し、
前記プロセシングエレメントが、前記要求されたイントラマクロブロックを復号し、
前記選択部が、前記プロセシングエレメントが前記要求されたイントラマクロブロックの復号を終了するごとに、前記状態記憶部における前記要求されたイントラマクロブロックの処理状態を終了に変更するとともに、前記参照フラグに基づいて、前記プロセシングエレメントが処理できる可能性のあるマクロブロックを選択し、
前記判定部が、前記選択されたマクロブロックの隣接ブロックの処理状態と前記参照フラグと前記条件フラグに基づいて、前記選択されたマクロブロックが処理可能なイントラマクロブロックであるか否かを判定し、処理可能であると判定されたイントラマクロブロックの復号を前記プロセシングエレメントが行うことを要求するとともに、当該復号するように要求したイントラマクロブロックの処理状態を要求に変更し、
前記プロセシングエレメントが、前記処理可能であると判定されたイントラマクロブロックを復号する
好ましくは、本発明の復号装置は、前記符号化規格が、MPEG−2またはMPEG−4である。
好ましくは、本発明の復号装置は、前記符号化規格が、H.264であり、
前記制御部が、前記イントラマクロブロックを処理するとき、前記参照フラグを全て隣接マクロブロックの処理結果を参照して処理対象のイントラマクロブロックを処理するように設定し、
前記制御部が、前記状態記憶部における前記イントラマクロブロックの処理状態がすべて終了になると、前記状態記憶部における全てのマクロブロックの処理状態を未処理に設定し、前記参照フラグを全て隣接マクロブロックの処理結果を参照して処理対象のマクロブロックを処理するように設定し、前記プロセシングエレメントが未処理の状態のマクロブロックにデブロッキングフィルタをかけることを要求するとともに当該デブロッキングフィルタをかけることを要求したマクロブロックの前記状態記憶部における処理状態を要求に変更し、
前記プロセシングエレメントが、前記要求されたマクロブロックにデブロッキングフィルタをかけ、
前記制御部が、前記プロセシングエレメントが前記要求されたマクロブロックにデブロッキングフィルタをかけるごとに、前記状態記憶部における前記要求されたマクロブロックの処理状態を終了に変更する。
また、本発明の符号化装置は、第1の方向と第2の方向にそれぞれ所定の画素数を有するマクロブロックに分割されたピクチャを当該マクロブロックごとに並列に処理する符号化装置であって、
前記マクロブロックを処理する、少なくとも2つのプロセシングエレメント
を含むデータ処理部と、
前記プロセシングエレメントが前記マクロブロックの処理を終了するごとに、処理対象であるマクロブロックの符号化時に既に符号化済みである隣接マクロブロックに対応して設けられ、当該隣接マクロブロックの処理結果を参照して処理対象のマクロブロックを処理することを示す参照フラグに基づいて、前記プロセシングエレメントが処理できる可能性のあるマクロブロックを選択する選択部と、
前記ピクチャに含まれる個々のマクロブロックについて、当該マクロブロックの処理状態が、少なくとも、前記データ処理部に当該マクロブロックを処理することが要求されていない状態である未処理、当該マクロブロックの処理が前記データ処理部に要求され、前記データ処理部が当該マクロブロックを処理している状態である要求、前記データ処理部によって当該マクロブロックの処理が終了された状態である終了、または条件フラグに応じて当該マクロブロックが前記未処理の状態または前記終了の状態として扱われる仮処理のいずれの状態であるかを記憶する状態記憶部と、
前記選択されたマクロブロックの隣接マクロブロックの前記処理状態と前記参照フラグに基づいて、前記選択されたマクロブロックが処理可能であるか否かを判定し、当該処理可能であると判定されたマクロブロックの処理を前記データ処理部に要求する判定部と、
前記未処理の状態または仮処理の状態のマクロブロックの処理を前記データ処理部に要求する制御部と、
を含む処理制御部と、
を有し、
前記制御部が、前記マクロブロックのうちイントラマクロブロックについて前記状態記憶部における処理状態を仮処理に設定し、前記条件フラグを仮処理の状態が終了として扱われるように設定し、前記参照フラグを全て隣接マクロブロックの処理結果を参照せずに処理対象のインターマクロブロックを処理するように設定して、前記プロセシングエレメントに未処理の状態のインターマクロブロックを符号化するように要求するとともに当該符号化するように要求したインターマクロブロックの前記状態記憶部における処理状態を要求に変更し、
前記プロセシングエレメントが、前記要求されたインターマクロブロックを符号化し、
前記制御部が、前記プロセシングエレメントが前記要求されたインターマクロブロックの符号化を終了するごとに、前記状態記憶部における前記要求されたインターマクロブロックの処理状態を終了に変更し、
前記制御部が、前記状態記憶部における前記インターマクロブロックの処理状態がすべて終了になると、前記条件フラグを前記仮処理の状態が未処理として扱われるように変更し、前記参照フラグを動画像の符号化規格に応じて設定して、前記データ処理部に仮処理の状態のイントラマクロブロックを符号化するように要求するとともに当該符号化するように要求したイントラマクロブロックの前記状態記憶部における処理状態を要求に変更し、
前記プロセシングエレメントが、前記要求されたイントラマクロブロックを符号化し、
前記選択部が、前記プロセシングエレメントが前記要求されたイントラマクロブロックの符号化を終了するごとに、前記状態記憶部における前記要求されたイントラマクロブロックの処理状態を終了に変更するとともに、前記参照フラグに基づいて、前記プロセシングエレメントが処理できる可能性のあるマクロブロックを選択し、
前記判定部が、前記選択されたマクロブロックの隣接ブロックの処理状態と前記参照フラグと前記条件フラグに基づいて、前記選択されたマクロブロックが処理可能なイントラマクロブロックであるか否かを判定し、処理可能であると判定されたイントラマクロブロックの符号化を前記プロセシングエレメントが行うことを要求するとともに、当該符号化するように要求したイントラマクロブロックの処理状態を要求に変更し、
前記プロセシングエレメントが、前記処理可能であると判定されたイントラマクロブロックを符号化する
また、本発明の復号方法は、少なくとも2つのプロセシングエレメントを有するデータ処理装置における復号方法であって、
全てのマクロブロックの処理状態を、前記プロセシングエレメントにマクロブロックを処理することが要求されていない状態である未処理の状態に設定するステップと、
前記マクロブロックのうちイントラマクロブロックを、条件フラグに応じて前記未処理の状態または前記プロセシングエレメントによってマクロブロックの処理が終了された状態である終了の状態として扱われる仮処理の状態に変更するステップと、
前記条件フラグを前記仮処理の状態が前記終了の状態として扱われるように設定するステップと、
処理対象マクロブロックの符号化時において符号化済みである当該処理対象マクロブロックの周囲の隣接マクロブロックに対応して設けられた参照フラグを、全て隣接マクロブロックの処理結果を参照せずに処理対象のインターマクロブロックを処理するように設定するステップと、
前記未処理の状態のインターマクロブロックの復号を前記プロセシングエレメントが行うことを要求するとともに、当該復号するように要求したインターマクロブロックの処理状態を前記プロセシングエレメントによって処理されている状態である要求の状態に変更するステップと、
前記プロセシングエレメントが、前記要求されたインターマクロブロックを復号するステップと、
前記プロセシングエレメントが前記要求されたインターマクロブロックの復号を終了するごとに、前記要求の状態であるインターマクロブロックの処理状態を終了に変更するステップと、
全てのインターマクロブロックの処理状態が終了になると、前記条件フラグを前記仮処理の状態が前記未処理の状態として扱われるように設定するステップと、
前記参照フラグを動画像の符号化規格に応じて設定するステップと、
前記仮処理の状態のイントラマクロブロックの復号を前記プロセシングエレメントが行うことを要求するとともに、当該復号するように要求したイントラマクロブロックの処理状態を要求に変更するステップと、
前記プロセシングエレメントが、前記要求されたイントラマクロブロックを復号するステップと、
前記プロセシングエレメントが前記要求されたイントラマクロブロックの復号を終了するごとに、前記イントラマクロブロックの処理状態を終了に変更するとともに、前記参照フラグに基づいて、前記プロセシングエレメントが処理できる可能性のあるマクロブロックを選択するステップと、
前記選択されたマクロブロックの隣接ブロックの処理状態と前記参照フラグと前記条件フラグに基づいて、前記選択されたマクロブロックが処理可能なイントラマクロブロックであるか否かを判定するステップと、
処理可能であると判定されたイントラマクロブロックの復号を前記プロセシングエレメントが行うことを要求するとともに、当該復号するように要求したイントラマクロブロックの処理状態を要求に変更するステップと、
前記プロセシングエレメントが、前記処理可能であると判定されたイントラマクロブロックを復号するステップと
を有する。
また、本発明の符号化方法は、少なくとも2つのプロセシングエレメントを有するデータ処理装置における符号化方法であって、
全てのマクロブロックの処理状態を、前記プロセシングエレメントにマクロブロックを処理することが要求されていない状態である未処理の状態に設定するステップと、
前記マクロブロックのうちイントラマクロブロックを、条件フラグに応じて前記未処理の状態または前記プロセシングエレメントによってマクロブロックの処理が終了された状態である終了の状態として扱われる仮処理の状態に変更するステップと、
前記条件フラグを前記仮処理の状態が前記終了の状態として扱われるように設定するステップと、
処理対象マクロブロックの周囲の既に符号化済みである隣接マクロブロックに対応して設けられた参照フラグを、全て隣接マクロブロックの処理結果を参照せずに処理対象のインターマクロブロックを処理するように設定するステップと、
前記未処理の状態のインターマクロブロックの符号化を前記プロセシングエレメントが行うことを要求するとともに、当該符号化するように要求したインターマクロブロックの処理状態を前記プロセシングエレメントによって処理されている状態である要求の状態に変更するステップと、
前記プロセシングエレメントが、前記要求されたインターマクロブロックを符号化するステップと、
前記プロセシングエレメントが前記要求されたインターマクロブロックの符号化を終了するごとに、前記要求の状態であるインターマクロブロックの処理状態を終了に変更するステップと、
全てのインターマクロブロックの処理状態が終了になると、前記条件フラグを前記仮処理の状態が前記未処理の状態として扱われるように設定するステップと、
前記参照フラグを動画像の符号化規格に応じて設定するステップと、
前記仮処理の状態のイントラマクロブロックの符号化を前記プロセシングエレメントが行うことを要求するとともに、当該符号化するように要求したイントラマクロブロックの処理状態を要求に変更するステップと、
前記プロセシングエレメントが、前記要求されたイントラマクロブロックを符号化するステップと、
前記プロセシングエレメントが前記要求されたイントラマクロブロックの符号化を終了するごとに、前記イントラマクロブロックの処理状態を終了に変更するとともに、前記参照フラグに基づいて、前記プロセシングエレメントが処理できる可能性のあるマクロブロックを選択するステップと、
前記選択されたマクロブロックの隣接ブロックの処理状態と前記参照フラグと前記条件フラグに基づいて、前記選択されたマクロブロックが処理可能なイントラマクロブロックであるか否かを判定するステップと、
処理可能であると判定されたイントラマクロブロックの符号化を前記プロセシングエレメントが行うことを要求するとともに、当該符号化するように要求したイントラマクロブロックの処理状態を要求に変更するステップと、
前記プロセシングエレメントが、前記処理可能であると判定されたイントラマクロブロックを符号化するステップと
を有する。
また、本発明のプログラムは、少なくとも2つのプロセシングエレメントによってビットストリームを復号させる処理をコンピュータに実行させるプログラムであって、
全てのマクロブロックの処理状態を、前記プロセシングエレメントにマクロブロックを処理することが要求されていない状態である未処理の状態に設定するステップと、
前記マクロブロックのうちイントラマクロブロックを、条件フラグに応じて前記未処理の状態または前記プロセシングエレメントによってマクロブロックの処理が終了された状態である終了の状態として扱われる仮処理の状態に変更するステップと、
前記条件フラグを前記仮処理の状態が前記終了の状態として扱われるように設定するステップと、
処理対象マクロブロックの符号化時において符号化済みである当該処理対象マクロブロックの周囲の隣接マクロブロックに対応して設けられた参照フラグを、全て隣接マクロブロックの処理結果を参照せずに処理対象のインターマクロブロックを処理するように設定するステップと、
前記未処理の状態のインターマクロブロックの復号を前記プロセシングエレメントが行うことを要求するとともに、当該復号するように要求したインターマクロブロックの処理状態を前記プロセシングエレメントによって処理されている状態である要求の状態に変更するステップと、
前記プロセシングエレメントが前記要求されたインターマクロブロックの復号を終了するごとに、前記要求の状態であるインターマクロブロックの処理状態を終了に変更するステップと、
全てのインターマクロブロックの処理状態が終了になると、前記条件フラグを前記仮処理の状態が前記未処理の状態として扱われるように設定するステップと、
前記参照フラグを動画像の符号化規格に応じて設定するステップと、
前記仮処理の状態のイントラマクロブロックの復号を前記プロセシングエレメントが行うことを要求するとともに、当該復号するように要求したイントラマクロブロックの処理状態を要求に変更するするステップと、
前記プロセシングエレメントが前記要求されたイントラマクロブロックの復号を終了するごとに、前記イントラマクロブロックの処理状態を終了に変更するとともに、前記参照フラグに基づいて、前記プロセシングエレメントが処理できる可能性のあるマクロブロックを選択するステップと、
前記選択されたマクロブロックの隣接ブロックの処理状態と前記参照フラグと前記条件フラグに基づいて、前記選択されたマクロブロックが処理可能なイントラマクロブロックであるか否かを判定するステップと、
処理可能であると判定されたイントラマクロブロックの復号を前記プロセシングエレメントが行うことを要求するとともに、当該復号するように要求したイントラマクロブロックの処理状態を要求に変更するステップと
をコンピュータに実行させる。
また、本発明のプログラムは、少なくとも2つのプロセシングエレメントによって動画像を符号化させる処理をコンピュータに実行させるプログラムであって、
全てのマクロブロックの処理状態を、前記プロセシングエレメントにマクロブロックを処理することが要求されていない状態である未処理の状態に設定するステップと、
前記マクロブロックのうちイントラマクロブロックを、条件フラグに応じて前記未処理の状態または前記プロセシングエレメントによってマクロブロックの処理が終了された状態である終了の状態として扱われる仮処理の状態に変更するステップと、
前記条件フラグを前記仮処理の状態が前記終了の状態として扱われるように設定するステップと、
処理対象マクロブロックの周囲の既に符号化済みである隣接マクロブロックに対応して設けられた参照フラグを、全て隣接マクロブロックの処理結果を参照せずに処理対象のインターマクロブロックを処理するように設定するステップと、
前記未処理の状態のインターマクロブロックの符号化を前記プロセシングエレメントが行うことを要求するとともに、当該符号化するように要求したインターマクロブロックの処理状態を前記プロセシングエレメントによって処理されている状態である要求の状態に変更するステップと、
前記プロセシングエレメントが前記要求されたインターマクロブロックの符号化を終了するごとに、前記要求の状態であるインターマクロブロックの処理状態を終了に変更するステップと、
全てのインターマクロブロックの処理状態が終了になると、前記条件フラグを前記仮処理の状態が前記未処理の状態として扱われるように設定するステップと、
前記参照フラグを動画像の符号化規格に応じて設定するステップと、
前記仮処理の状態のイントラマクロブロックの符号化を前記プロセシングエレメントが行うことを要求するとともに、当該符号化するように要求したイントラマクロブロックの処理状態を要求に変更するするステップと、
前記プロセシングエレメントが前記要求されたイントラマクロブロックの符号化を終了するごとに、前記イントラマクロブロックの処理状態を終了に変更するとともに、前記参照フラグに基づいて、前記プロセシングエレメントが処理できる可能性のあるマクロブロックを選択するステップと、
前記選択されたマクロブロックの隣接ブロックの処理状態と前記参照フラグと前記条件フラグに基づいて、前記選択されたマクロブロックが処理可能なイントラマクロブロックであるか否かを判定するステップと、
処理可能であると判定されたイントラマクロブロックの符号化を前記プロセシングエレメントが行うことを要求するとともに、当該符号化するように要求したイントラマクロブロックの処理状態を要求に変更するステップと
をコンピュータに実行させる。
本発明によれば、処理制御部は、データ処理部に含まれるプロセシングエレメントがブロックの処理を終了するごとに、隣接ブロックの処理結果を参照して処理対象のブロックを処理することを示す参照フラグに基づいて、プロセシングエレメントが処理できる可能性のあるブロックを選択する。そして、処理制御部は、選択されたブロックの隣接ブロックの処理状態と参照フラグに基づいて、選択されたブロックが処理可能であるか否かを判定し、処理可能であると判定されたブロックの処理をデータ処理部に要求する。
データ処理部は、処理を要求されたブロックを処理し、ブロックの処理が終了すると、処理を終了したブロックを処理制御部に通知する。
以上のように、本発明によれば、ブロックごとに並列に処理を行う複数のプロセシングエレメントの間でブロック単位で粒度の小さい同期を取ることができ、個々のプロセシングエレメントがブロックの依存関係に応じた処理を行うことができる。
図1は、MPEG−2におけるマクロブロック間の依存関係を示す図である。
MPEG−2では、ある任意のマクロブロックに対して復号または符号化を行う場合、左横のマクロブロックの処理結果を参照するので、少なくとも処理対象のマクロブロックの左横のマクロブロックの復号または符号化が完了していなければならない。なお、以下、このような関係のことを、左横に依存関係があるという。
図2は、MPEG−2において並列に復号または符号化を行うことが可能なマクロブロックを示す図である。
MPEG−2では、各マクロブロックが左横に依存関係があるので、横方向に並んだ一群のマクロブロックに対して左側から順番に処理を行うことができる。
図3は、H.264におけるマクロブロック間の依存関係を示す図である。
H.264では、ある任意のマクロブロックに対して復号または符号化を行う場合、左横、左斜上、上および右斜上のマクロブロックの処理結果を参照するので、少なくとも左横、左斜上、上および右斜上の4つのマクロブロックの復号または符号化が完了していなければならない。すなわち、H.264では、各マクロブロックが左横、左斜上、上および右斜上に依存関係がある。
図4は、H.264において並列に復号または符号化を行うことが可能なマクロブロックを示す図である。
H.264では、各マクロブロックが左横、左斜上、上および右斜上に依存関係があるので、斜め方向に並んだ一群のマクロブロックに対して並列に復号または符号化を行うことができる。
このように、符号化方式によってマクロブロック間の依存関係が異なるため、並列に処理できるマクロブロックの位置が異なる。
図5は、本発明の一実施形態によるデータ処理装置の例を示すブロック図である。データ処理装置10は、データ処理部20と処理制御部30とを有している。
処理制御部30は処理を要求するブロックのIDをデータ処理部20に通知する。データ処理部20は処理を要求されたIDのブロックを処理する。データ処理部20はブロックの処理が終了すると、処理を終了したブロックのIDを処理制御部30に通知する。
例えば、処理内容が動画像の復号または符号化であるとき、IDはマクロブロックの位置を2次元の座標(x,y)で表したものである。xはピクチャの左端のマクロブロックの位置を0として、ピクチャの左端から右横方向に数えたマクロブロックの位置を示す。一方、yはピクチャの上端のマクロブロックの位置を0として、ピクチャの上端から下方向に数えたマクロブロックの位置を示す。ピクチャの左上隅のマクロブロックのIDは(0,0)である。
データ処理部20は、FIFO(First−In First−Out)メモリ21と、プロセシングエレメント22(22−1、22−2、22−3、22−4)と、FIFOメモリ23(23−1、23−2、23−3、23−4)と、データ転送部24と、メモリ25(25−1、25−2)とを含んでいる。
FIFOメモリ21は、各プロセシングエレメント22から処理を終了したブロックのIDを受け取り、バッファリングして処理制御部30に渡す。
各プロセシングエレメント22は、所定のワード数の命令メモリを有しており、図示しない命令キャッシュメモリから全てのプロセシングエレメント22が同一の命令をロードし、命令メモリに記憶する。各プロセシングエレメント22は各々シーケンサを有しており、FIFOメモリ23に記憶されているブロックのデータをリードし、命令メモリに記憶されている命令を実行する。
各FIFOメモリ23は、処理対象のブロックのデータを全て記憶できるだけの容量を有しており、割り当てられたIDのブロックのデータをメモリ25からリードして記憶する。例えば、処理内容が動画像の復号または符号化であるとき、1マクロブロック分のデータを全て記憶する。各FIFOメモリ23は、特定のプロセシングエレメント22に接続されており、割り当てられたIDのブロックのデータを接続されたプロセシングエレメント22に供給する。
データ転送部24は、処理制御部30が処理を要求したIDを所定の数保持し、ラウンドロビン法等の所定のアルゴリズムによって各プロセシングエレメント22に処理すべきブロックのIDを割り当てる。データ転送部24は、保持できる最大の数のIDを処理制御部30から受け取ると、新たなIDを受け付けできないことを処理制御部30に通知する。
また、データ転送部24は、2面のメモリ25(25−1、25−2)の一方の面から各プロセシングエレメント22に割り当てたIDのブロックのデータをリードして、各FIFO23に供給する。データ転送部24がアクセスしていないメモリ25の他方の面には、後述するタスクコントローラから各プロセシングエレメント22によって次に処理されるブロック群のデータがライトされる。
処理制御部30は、検出部31と、選択部32と、状態記憶部33と、判定部34と、制御部35とを有している。
図6は、処理制御部におけるブロックの処理状態を示す図である。
図6(a)に示すように、処理制御部30では個々のブロックの処理状態は4つに分類される。
未処理(Plane)の状態は、そのブロックの処理がデータ処理部20に要求されておらず、データ処理部20によって処理もされていない状態である。要求(Requested)は、そのブロックの処理がデータ処理部20に要求され、データ処理部20がそのブロックを処理している状態である。終了(Finish)は、データ処理部20がそのブロックの処理を終了した状態である。仮処理(Virtual)は、条件フラグ(TREAT_AS_FINISH)=TRUEのとき、終了(Finish)として働き、条件フラグ(TREAT_AS_FINISH)=FALSEのとき、未処理(Plane)として働く。
図6(b)に示すように、個々のブロックの状態は、未処理(Plane)または仮処理(Virtual)の状態から、要求(Requested)の状態に遷移し、最後に終了(Finish)の状態に遷移する。
図7は、仮処理の状態を用いた動画像の復号または符号化の処理フローを示す図である。
例えば、H.264のピクチャ種別には、イントラピクチャとインターピクチャがある。イントラピクチャ(Iピクチャ)は、そのピクチャ内の画素のみを用いて符号化されるピクチャであり、インターピクチャは時間的に前後のピクチャを参照して符号化されるピクチャである。
インターピクチャには、既に符号化された時間的に前のピクチャを参照して符号化する順方向予測ピクチャ(Pピクチャ)と時間的に前後の2ピクチャを参照して予測する双方向予測ピクチャ(Bピクチャ)がある。
インターピクチャは、インターマクロブロックのほかにイントラマクロブロックも含む。イントラマクロブロックは、復号と符号化のいずれの場合も同じピクチャ内の左横、上および右斜上のマクロブロックの処理が終了していなければ、処理することはできない。
一方、インターマクロブロックは、復号の場合、VLDとデブロッキングフィルタを除き、左横、上および右斜上のマクロブロックの処理が終了していなくてもインターマクロブロックを処理することができる。
符号化の場合には、イントラマクロブロックとインターマクロブロックの判定が終了した後からデブロッキングフィルタまでの間の処理、すなわち、整数変換、量子化、逆量子化、逆整数変換は左横、上および右斜上のマクロブロックの処理が終了していなくても行うことができる。
また、上述したとおり、データ処理部20に含まれるプロセシングエレメント22の命令メモリのワード数は有限である。そこで、インターマクロブロックを先にまとめて復号または符号化し、その後プログラムを入れ換えてイントラマクロブロックを復号または符号化することによって命令メモリのワード数を少なくすることができる。
そのために、まず、イントラマクロブロックの処理状態を仮処理と設定する(ステップS10)。
次に、各プロセシングエレメント22の命令メモリに同一のインターマクロブロック用プログラムをロードし、条件フラグ=TRUEとしてイントラマクロブロックの処理状態を終了と仮定してインターマクロブロックを復号または符号化する(ステップS11)。
次に、各プロセシングエレメント22の命令メモリに同一のイントラマクロブロック用プログラムをロードし、条件フラグ=FALSEとしてイントラマクロブロックの処理状態を未処理に変更してイントラマクロブロックを復号または符号化する(ステップS12)。
全てのマクロブロックの処理状態が終了となったとき、動画像の復号または符号化が終了する(ステップS13)。
以下では、処理制御部30に含まれる各機能ブロックの動作を、動画像の復号または符号化を行う場合を例として説明する。
検出部31は、FIFOメモリ21から各プロセシングエレメント22が処理を終了したマクロブロックのIDを受け取り、受け取ったIDの数をカウントする。制御部35は、検出部31に対してプロセシングエレメント22によって処理されるべき総マクロブロック数を指定する。検出部31は、カウントしたID数が処理されるべき総マクロブロック数に達すると、制御部35に全てのマクロブロックの処理終了を通知する。
また、制御部35は、データ転送部24から保持できるID数に達したため新たなIDを受け付けできないことを通知されると、データ転送部24がオーバフローすることを防ぐために、後述する選択部32と判定部34を停止させ、データ転送部24から新たなIDを受け付けできないという通知を受けたことを検出部31に通知する。
検出部31は、この通知を受けたときのID数を記憶しておき、FIFOメモリ21から新たにIDを受け取ると、現在カウントされているID数と通知を受けたときのID数との差分を制御部35に渡す。
制御部35は、プロセシングエレメント22によるマクロブロックの処理が進み、この差分が、データ転送部24がマクロブロックの処理を受け付けることができるID数に達すると、選択部32と判定部34を動作させ、データ処理部20への新たなIDの処理の要求を再開する。
選択部32は、各プロセシングエレメント22がマクロブロックの処理を終了し、FIFOメモリ21から各プロセシングエレメント22が処理を終了したマクロブロックのIDを受け取るごとに、隣接マクロブロックの処理結果を参照して処理対象のブロックを処理することを示す参照フラグに基づいて、プロセシングエレメント22が処理できる可能性のあるマクロブロックを選択する。
図8は、動画像の復号または符号化を行うときの隣接マクロブロックを示す図である。
マクロブロックTは復号または符号化の対象であるマクロブロックである。マクロブロックAとマクロブロックBとマクロブロックCとマクロブロックDは、それぞれマクロブロックTの左斜上、上、右斜上および左横のマクロブロックである。
これらの4個のマクロブロックは、マクロブロックTを復号または符号化するとき既に復号または符号化が終了している。マクロブロックTを復号または符号化するとき、これら4個のマクロブロックの処理結果のうちどれを参照するかは符号化方式により異なる。
例えば、MPEG−2では、マクロブロックTを復号または符号化するとき、マクロブロックDの処理結果を参照する。MPEG−4では、マクロブロックTを復号または符号化するとき、マクロブロックAとマクロブロックBとマクロブロックDの処理結果を参照する。H.264では、マクロブロックAとマクロブロックBとマクロブロックCとマクロブロックDの処理結果を参照する。
従って、動画像の復号または符号化の処理を行うときの参照フラグDepは4ビットである。Dep(0)=TRUEは、マクロブロックTを復号または符号化するとき、マクロブロックAの処理結果を参照することを示し、Dep(0)=FALSEはマクロブロックAの処理結果を参照しないことを示す。同様に、Dep(1)=TRUE、Dep(2)=TRUEおよびDep(3)=TRUEは、それぞれマクロブロックB、マクロブロックC、マクロブロックDの処理結果を参照することを示し、Dep(1)=FALSE、Dep(2)=FALSEおよびDep(3)=FALSEは、それぞれマクロブロックB、マクロブロックC、マクロブロックDの処理結果を参照しないことを示す。
図9は、プロセシングエレメントが復号または符号化できる可能性のあるマクロブロックを示す図である。
プロセシングエレメント22が復号または符号化できる可能性のあるマクロブロックは、参照フラグに基づいて選択される。
例えば、Dep(0)=TRUEは、マクロブロックTを復号または符号化するとき、図8に示すマクロブロックAの処理結果が参照されることを意味する。すなわち、Dep(0)=TRUEは、マクロブロックAの復号または符号化が終了したとき、マクロブロックTを復号または符号化できる可能性があることを意味する。従って、Dep(0)=TRUEであるとき、図9のマクロブロックEの復号または符号化が終了すると、マクロブロックWを復号または符号化できる可能性が生じる。
同様に、Dep(1)=TRUE、Dep(2)=TRUE、またはDep(3)=TRUEであるとき、マクロブロックEの復号または符号化が終了すると、それぞれマクロブロックZ、マクロブロックY、またはマクロブロックXを復号または符号化できる可能性が生じる。
このため、選択部32は、マクロブロックEの復号または符号化が終了すると、TRUEである参照フラグDep(0)、Dep(1)、Dep(2)、またはDep(3)に対応して、プロセシングエレメント22が処理できる可能性のあるマクロブロックとして、それぞれマクロブロックW、マクロブロックZ、マクロブロックY、またはマクロブロックXを選択する。
状態記憶部33には、1ピクチャ分のマクロブロックについて、マクロブロックごとに図6(a)に示す4つの処理状態のいずれかが記憶されている。
選択部32は、各プロセシングエレメント22がマクロブロックの処理を終了し、FIFOメモリ21から各プロセシングエレメント22が処理を終了したマクロブロックのIDを受け取ると、状態記憶部33の処理状態を終了に変更する。
上述したように、制御部35は、データ転送部24から保持できるID数に達したため新たなIDを受け付けできないことを通知されると、選択部32を停止させる。しかし、その場合でも選択部32は、処理を終了したマクロブロックのIDを受け取ると、状態記憶部33の処理状態を終了に変更する処理は実行する。
図10は、マクロブロックが処理可能であるか否かを判定する方法を示す図である。
判定部34は、選択部32または制御部35から、処理可能であるか否かを判定する対象となるマクロブロックのID=(x,y)を受け取る。そして、ID=(x,y)のマクロブロックの処理状態Block(x,y)と、そのマクロブロックに隣接しているID=(x−1,y−1)のマクロブロックの処理状態Block(x−1,y−1)、ID=(x,y−1)のマクロブロックの処理状態Block(x,y−1)、ID=(x+1,y−1)のマクロブロックの処理状態Block(x+1,y−1)およびID=(x−1,y)のマクロブロックの処理状態Block(x−1,y)を状態記憶部33から取得する。なお、ID=(x−1,y−1)、ID=(x,y−1)、ID=(x+1,y−1)およびID=(x−1,y)のマクロブロックは、それぞれ図8に示すマクロブロックA、マクロブロックB、マクロブロックCおよびマクロブロックDに対応する。
そして、判定部34は、これらの各マクロブロックの処理状態と参照フラグと条件フラグに基づいて、判定対象のマクロブロックが処理可能であるか否かを判定する。
図10に示す判定方法CheckIDによると、判定対象のマクロブロックが未処理の状態であって、かつ、4個の隣接マクロブロックの状態が(1)判定対象のマクロブロックによってその隣接マクロブロックの処理結果が参照されない、または(2)その隣接マクロブロックの処理状態が終了である、または(3)その隣接マクロブロックの処理状態が仮処理の状態であって終了としてみなされる、のいずれかであるとき、判定対象のマクロブロックは復号または符号化できる(TRUE)と判定される。それ以外のときは、判定対象のマクロブロックは復号または符号化できない(FALSE)と判定される。
なお、図10の判定方法では、判定対象のマクロブロックがピクチャの左端、右端、上端または下端のマクロブロックであって、隣接マクロブロックが存在しないとき、存在しない隣接マクロブロックの処理状態は終了として扱われる。
判定部34は、判定対象のマクロブロックを復号または符号化できる(TRUE)と判定すると、データ処理部20にそのマクロブロックのIDを通知し、復号または符号化を要求する。判定部34は、同時に復号または符号化を要求したIDのマクロブロックについて状態記憶部33の処理状態を要求に変更する。
制御部35は、最初に状態記憶部33に記憶されている全てのマクロブロックの処理状態を未処理に初期化する。次に、所定のマクロブロックを仮処理の状態に変更する。次に、未処理の状態のマクロブロックのIDを判定部34に送って、処理可能か否か判定させる。判定部34が、処理可能と判定したマクロブロックのIDをデータ処理部20に通知することによりデータ処理部20が処理を開始する。
そして、制御部35は、検出部31から全てのマクロブロックの処理終了が通知されると、データ処理装置10を制御するプロセサ等へ終了を通知する。
処理制御部30は、ハードウエアとして実現しても良いし、コンピュータで実行されるソフトウエアとして実現しても良い。また、図5では、プロセシングエレメント22とFIFOメモリ23の数を4個ずつとしたが、4個に限らず任意の数とすることができる。
なお、データ処理部20は本発明のデータ処理部の例であり、プロセシングエレメント22は本発明のプロセシングエレメントの例であり、処理制御部30は本発明の処理制御部の例であり、選択部32は本発明の選択部の例であり、状態記憶部33は本発明の状態記憶部の例であり、判定部34は本発明の判定部の例であり、制御部35は本発明の制御部の例である。
図11は、本発明の一実施形態による動画像コーデック装置の例を示すブロック図である。
動画像コーデック装置40は、タスクコントローラ41と、データ処理装置10とを有している。図5と図11における同一の符号は同一の構成要素を示す。なお、図11では、処理制御部30をタスクコントローラ41と別々に設けているが、処理制御部30はタスクコントローラ41の一部に含めても良い。
図12は、タスクコントローラとデータ処理装置の処理分担の例を示す図である。
図12は、H.264で符号化されたビットストリームを復号する例を示している。
タスクコントローラ41は、H.264で符号化されたビットストリームに対して可変長符号の復号(VLD)を行う。固定長符号に復号されたマクロブロックのデータはデータ処理装置10に送られ、データ処理装置10内のメモリ25に書き込まれる。
メモリ25は、2重化されているため、タスクコントローラ41から送られたマクロブロックのデータがメモリ25の一方の面にライトされているとき、FIFOメモリ23はメモリ25の他方の面から固定長符号に復号されたマクロブロックのデータをリードし、プロセシングエレメント22に供給することができる。
このため、タスクコントローラ41によるVLDとプロセシングエレメント22によるマクロブロックのデータの復号はパイプライン的に並列して実行される。
復号されるピクチャがイントラピクチャであるときは、データ処理装置10は、まずピクチャ内の全てのイントラマクロブロックに対してプロセシングエレメント22によって並列に逆量子化と逆整数変換とイントラ予測を行ってイントラマクロブロックを復号する。このとき、検出部31には、プロセシングエレメント22によって処理されるべき総ブロック数としてピクチャ内のマクロブロックの総数が指定される。
イントラマクロブロックの復号が終了すると、次にピクチャ内の全てのイントラマクロブロックに対してプロセシングエレメント22によって並列にデブロッキングフィルタをかける。デブロッキングフィルタをかけるときも、同様に検出部31には、プロセシングエレメント22によって処理されるべき総ブロック数としてピクチャ内のマクロブロックの総数が指定される。
また、復号されるピクチャがインターピクチャであるときは、データ処理装置10は、図12に示すように、まずピクチャ内の全てのインターマクロブロックに対してプロセシングエレメント22によって並列に逆量子化と逆整数変換と動き補償を行ってインターマクロブロックを復号する。このとき、検出部31には、プロセシングエレメント22によって処理されるべき総ブロック数としてピクチャ内のインターマクロブロックの数が指定される。
次に、ピクチャ内の全てのイントラマクロブロックに対してプロセシングエレメント22によって並列に逆量子化と逆整数変換とイントラ予測を行ってイントラマクロブロックを復号する。このとき、検出部31には、プロセシングエレメント22によって処理されるべき総ブロック数としてピクチャ内のイントラマクロブロックの数が指定される。
最後に、ピクチャ内の全てのマクロブロックに対してプロセシングエレメント22によって並列にデブロッキングフィルタをかける。デブロッキングフィルタをかけるときは、プロセシングエレメント22によって処理されるべき総ブロック数としてピクチャ内のマクロブロックの総数が指定される。
図13Aと図13Bは、H.264で符号化されたビットストリームにおけるインターピクチャの復号処理を示すフローチャートの図である。
図13Aと図13Bは、タスクコントローラ41で可変長符号の復号(VLD)が行われた後、データ処理装置10で行われる処理を示す。
制御部35は、状態記憶部33における全てのマクロブロックの処理状態を、未処理(Plane)に設定する(ステップS20)。
次に、制御部35は、状態記憶部33におけるイントラマクロブロックの処理状態を仮処理(Virtual)に変更する(ステップS21)。
次に、制御部35は、条件フラグ(TREAT_AS_FINISH)を仮処理の状態が終了の状態として扱われるように設定する(ステップS22)。
次に、左斜上、上、右斜上および左横の隣接マクロブロックの参照フラグ(Dep)を、全て隣接マクロブロックの処理結果を参照せずに処理対象のインターマクロブロックを処理するように設定する(ステップS23)。
次に、制御部35は、未処理の状態のインターマクロブロックのIDを判定部34に送り、判定部34はこのインターマクロブロックのIDをデータ処理部20に送ることによって、データ処理部20に含まれるプロセシングエレメント22が復号を行うことを要求する。判定部34は、同時に、状態記憶部33におけるこのIDのインターマクロブロックの処理状態を要求に変更する(ステップS24)。
次に、プロセシングエレメント22は、要求されたIDのインターマクロブロックを復号する(ステップS25)。
選択部32は、検出部31によって要求されたIDのインターマクロブロックの復号終了が検出されるごとに、状態記憶部33における要求されたIDのインターマクロブロックの処理状態を終了に変更する(ステップS26)。
制御部35は、状態記憶部33における全てのインターマクロブロックの処理状態が終了になると、条件フラグを仮処理の状態が未処理の状態として扱われるように設定する(ステップS27)。
次に、制御部35は、左斜上、上、右斜上および左横の隣接マクロブロックの参照フラグ(Dep)を、全て隣接マクロブロックの処理結果を参照して処理対象のイントラマクロブロックを処理するように設定する(ステップS28)。
次に、制御部35は、仮処理の状態のイントラマクロブロックのIDを判定部34に送り、判定部34はこのイントラマクロブロックのIDをデータ処理部20に送ることによって、データ処理部20に含まれるプロセシングエレメント22が復号を行うことを要求する。判定部34は、同時に、状態記憶部33におけるこのIDのイントラマクロブロックの処理状態を要求に変更する(ステップS29)。
プロセシングエレメント22は、要求されたIDのイントラマクロブロックを復号する(ステップS30)。
選択部32は、検出部31によって要求されたIDのイントラマクロブロックの復号終了が検出されるごとに、状態記憶部33における要求されたIDのイントラマクロブロックの処理状態を終了に変更するとともに、参照フラグに基づいて、プロセシングエレメント22が処理できる可能性のあるマクロブロックを選択する(ステップS31)。
判定部34は、選択されたマクロブロックの隣接ブロックの処理状態と参照フラグと条件フラグに基づいて選択されたマクロブロックが処理可能なイントラマクロブロックであるか否かを判定する(ステップS32)。
次に、判定部34は、処理可能であると判定されたイントラマクロブロックのIDをデータ処理部20に送ることによって、データ処理部20に含まれるプロセシングエレメント22が復号を行うことを要求する。判定部34は、同時に、状態記憶部33におけるこのIDのイントラマクロブロックの処理状態を要求に変更する(ステップS33)。
プロセシングエレメント22は、処理可能であると判定されたIDのイントラマクロブロックを復号する(ステップS34)。
次に、制御部35は、状態記憶部33における全てのイントラマクロブロックの処理状態が終了になると、状態記憶部33における全てのマクロブロックの処理状態を未処理に設定する(ステップS35)。
次に、制御部35は、左斜上、上、右斜上および左横の隣接マクロブロックの参照フラグを全て隣接マクロブロックの処理結果を参照して処理対象のマクロブロックを処理するように設定する(ステップS36)。
次に、制御部35は、未処理の状態のマクロブロックのIDを判定部34に送り、判定部34はこのマクロブロックのIDをデータ処理部20に送ることによって、データ処理部20に含まれるプロセシングエレメント22が未処理の状態のマクロブロックにデブロッキングフィルタをかけることを要求する。判定部34は、同時に、状態記憶部33におけるこのIDのマクロブロックの処理状態を要求に変更する(ステップS37)。
プロセシングエレメント22は、要求されたIDのマクロブロックにデブロッキングフィルタをかける(ステップS38)。
選択部32は、検出部31によってプロセシングエレメント22が要求されたIDのマクロブロックにデブロッキングフィルタをかけたことが検出されるごとに、状態記憶部33における要求されたIDのマクロブロックの処理状態を終了に変更する(ステップS39)。
制御部35は、状態記憶部33における全てのマクロブロックの処理状態が終了になると、復号を終了する(ステップS40)。
なお、選択部32が、プロセシングエレメント22が処理できる可能性のあるマクロブロックを選択できなかったとき、または判定部34が処理可能なマクロブロックがないと判定したときは、制御部35が未処理の状態のマクロブロックのIDを判定部34に送ることによって処理が続行される。
MPEG−4で符号化されたビットストリームにおけるインターピクチャの復号処理もH.264と同様に行うことができる。H.264とMPEG−4で異なる点は、MPEG−4にはデブロッキングフィルタが無い点と参照フラグが異なる点のみである。
デブロッキングフィルタが無いため、図13Aと図13BにおけるステップS35−ステップS39は不要である。また、参照フラグは、それぞれDep(0)=TRUE、Dep(1)=TRUE、Dep(2)=FALSE、およびDep(3)=TRUEと設定される。処理制御部30は、これら2点を除き、H.264とMPEG−4で同様に動作する。
MPEG−2で符号化されたビットストリームにおけるインターピクチャの復号処理もMPEG−4と同様に行うことができる。MPEG−4と同様にMPEG−2もデブロッキングフィルタが無い。また、参照フラグは、それぞれDep(0)=FALSE、Dep(1)=FALSE、Dep(2)=FALSE、およびDep(3)=TRUEと設定される。
JPEGで符号化されたビットストリームの復号処理は、参照フラグを全てFALSEに設定することにより、データ処理装置10で行うことができる。
図14Aと図14Bは、インターピクチャをH.264で符号化する処理を示すフローチャートの図である。
図14Aと図14Bはデータ処理装置10で行われる処理を示す。タスクコントローラ41で動き検出とイントラマクロブロックまたはインターマクロブロックの判定が行われた後、データ処理装置10で図14Aと図14Bに示す処理が行われる。その後、タスクコントローラ41で可変長符号化が行われる。
図13Aおよび図13Bと、図14Aおよび図14Bが異なる点は、復号が符号化に変更された点のみである。復号が符号化に変更された点を除き、ステップS20−ステップS40とステップS50−ステップS70は同一である。すなわち、プロセシングエレメント22のプログラムは復号と符号化で異なるが、処理制御部30の動作は復号と符号化で同一である。
MPEG−4、MPEG−2、またはJPEG等の符号化もデータ処理装置10を用いて行うことができる。また、音声を対象とするMP3、AAC等の符号化方式による復号と符号化もデータ処理装置10を用いて行うことができる。
以上説明したように、本発明によれば、ブロックごとの処理を並列に行う複数のプロセシングエレメントの間でブロック単位で粒度の小さい同期を取ることができ、個々のプロセシングエレメントがブロックの依存関係に応じた処理を行うことができる。
以上、本発明の実施形態について説明したが、設計上の都合やその他の要因によって必要となる様々な修正や組み合わせは、請求項に記載されている発明や発明の実施形態に記載されている具体例に対応する発明の範囲に含まれると理解されるべきである。
MPEG−2におけるマクロブロック間の依存関係を示す図である。 MPEG−2において並列に復号または符号化を行うことが可能なマクロブロックを示す図である。 H.264におけるマクロブロック間の依存関係を示す図である。 H.264において並列に復号または符号化を行うことが可能なマクロブロックを示す図である。 本発明の一実施形態によるデータ処理装置の例を示すブロック図である。 処理制御部におけるブロックの処理状態を示す図である。 仮処理の状態を用いた動画像の復号または符号化の処理フローを示す図である。 動画像の復号または符号化を行うときの隣接マクロブロックを示す図である。 プロセシングエレメントが復号または符号化できる可能性のあるマクロブロックを示す図である。 マクロブロックが処理可能であるか否かを判定する方法を示す図である。 本発明の一実施形態による動画像コーデック装置の例を示すブロック図である。 タスクコントローラとデータ処理装置の処理分担の例を示す図である。 H.264で符号化されたビットストリームにおけるインターピクチャの復号処理を示すフローチャートを示す図である。 H.264で符号化されたビットストリームにおけるインターピクチャの復号処理を示すフローチャートを示す図である。 インターピクチャをH.264で符号化する処理を示すフローチャートの図である。 インターピクチャをH.264で符号化する処理を示すフローチャートの図である。
符号の説明
10…データ処理装置、20…データ処理部、22…プロセシングエレメント、30…処理制御部、32…選択部、33…状態記憶部、34…判定部、35…制御部

Claims (8)

  1. 第1の方向と第2の方向にそれぞれ所定の画素数を有するマクロブロックに分割されたピクチャを当該マクロブロックごとに並列に処理する復号装置であって、
    前記マクロブロックを処理する、少なくとも2つのプロセシングエレメント
    を含むデータ処理部と、
    前記プロセシングエレメントが前記マクロブロックの処理を終了するごとに、処理対象であるマクロブロックの符号化時に既に符号化済みである隣接マクロブロックに対応して設けられ、当該隣接マクロブロックの処理結果を参照して処理対象のマクロブロックを処理することを示す参照フラグに基づいて、前記プロセシングエレメントが処理できる可能性のあるマクロブロックを選択する選択部と、
    前記ピクチャに含まれる個々のマクロブロックについて、当該マクロブロックの処理状態が、少なくとも、前記データ処理部に当該マクロブロックを処理することが要求されていない状態である未処理、当該マクロブロックの処理が前記データ処理部に要求され、前記データ処理部が当該マクロブロックを処理している状態である要求、前記データ処理部によって当該マクロブロックの処理が終了された状態である終了、または条件フラグに応じて当該マクロブロックが前記未処理の状態または前記終了の状態として扱われる仮処理のいずれの状態であるかを記憶する状態記憶部と、
    前記選択されたマクロブロックの隣接マクロブロックの前記処理状態と前記参照フラグに基づいて、前記選択されたマクロブロックが処理可能であるか否かを判定し、当該処理可能であると判定されたマクロブロックの処理を前記データ処理部に要求する判定部と、
    前記未処理の状態または仮処理の状態のマクロブロックの処理を前記データ処理部に要求する制御部と、
    を含む処理制御部と、
    を有し、
    前記制御部が、前記マクロブロックのうちイントラマクロブロックについて前記状態記憶部における処理状態を仮処理に設定し、前記条件フラグを仮処理の状態が終了として扱われるように設定し、前記参照フラグを全て隣接マクロブロックの処理結果を参照せずに処理対象のインターマクロブロックを処理するように設定して、前記データ処理部に未処理の状態のインターマクロブロックを復号するように要求するとともに、当該復号するように要求したインターマクロブロックの前記状態記憶部における処理状態を要求に変更し、
    前記プロセシングエレメントが、前記要求されたインターマクロブロックを復号し、
    前記制御部が、前記プロセシングエレメントが前記要求されたインターマクロブロックの復号を終了するごとに、前記状態記憶部における前記要求されたインターマクロブロックの処理状態を終了に変更し、
    前記制御部が、前記状態記憶部における前記インターマクロブロックの処理状態がすべて終了になると、前記条件フラグを仮処理の状態が未処理の状態として扱われるように変更し、前記参照フラグを動画像の符号化規格に応じて設定して、前記データ処理部に仮処理の状態のイントラマクロブロックを復号するように要求するとともに、当該復号するように要求したイントラマクロブロックの前記状態記憶部における処理状態を要求に変更し、
    前記プロセシングエレメントが、前記要求されたイントラマクロブロックを復号し、
    前記選択部が、前記プロセシングエレメントが前記要求されたイントラマクロブロックの復号を終了するごとに、前記状態記憶部における前記要求されたイントラマクロブロックの処理状態を終了に変更するとともに、前記参照フラグに基づいて、前記プロセシングエレメントが処理できる可能性のあるマクロブロックを選択し、
    前記判定部が、前記選択されたマクロブロックの隣接ブロックの処理状態と前記参照フラグと前記条件フラグに基づいて、前記選択されたマクロブロックが処理可能なイントラマクロブロックであるか否かを判定し、処理可能であると判定されたイントラマクロブロックの復号を前記プロセシングエレメントが行うことを要求するとともに、当該復号するように要求したイントラマクロブロックの処理状態を要求に変更し、
    前記プロセシングエレメントが、前記処理可能であると判定されたイントラマクロブロックを復号する
    復号装置。
  2. 前記符号化規格が、MPEG−2またはMPEG−4である
    請求項に記載の復号装置。
  3. 前記符号化規格が、H.264であり、
    前記制御部が、前記イントラマクロブロックを処理するとき、前記参照フラグを全て隣接マクロブロックの処理結果を参照して処理対象のイントラマクロブロックを処理するように設定し、
    前記制御部が、前記状態記憶部における前記イントラマクロブロックの処理状態がすべて終了になると、前記状態記憶部における全てのマクロブロックの処理状態を未処理に設定し、前記参照フラグを全て隣接マクロブロックの処理結果を参照して処理対象のマクロブロックを処理するように設定し、前記プロセシングエレメントが未処理の状態のマクロブロックにデブロッキングフィルタをかけることを要求するとともに当該デブロッキングフィルタをかけることを要求したマクロブロックの前記状態記憶部における処理状態を要求に変更し、
    前記プロセシングエレメントが、前記要求されたマクロブロックにデブロッキングフィルタをかけ、
    前記制御部が、前記プロセシングエレメントが前記要求されたマクロブロックにデブロッキングフィルタをかけるごとに、前記状態記憶部における前記要求されたマクロブロックの処理状態を終了に変更する
    請求項に記載の復号装置。
  4. 第1の方向と第2の方向にそれぞれ所定の画素数を有するマクロブロックに分割されたピクチャを当該マクロブロックごとに並列に処理する符号化装置であって、
    前記マクロブロックを処理する、少なくとも2つのプロセシングエレメント
    を含むデータ処理部と、
    前記プロセシングエレメントが前記マクロブロックの処理を終了するごとに、処理対象であるマクロブロックの符号化時に既に符号化済みである隣接マクロブロックに対応して設けられ、当該隣接マクロブロックの処理結果を参照して処理対象のマクロブロックを処理することを示す参照フラグに基づいて、前記プロセシングエレメントが処理できる可能性のあるマクロブロックを選択する選択部と、
    前記ピクチャに含まれる個々のマクロブロックについて、当該マクロブロックの処理状態が、少なくとも、前記データ処理部に当該マクロブロックを処理することが要求されていない状態である未処理、当該マクロブロックの処理が前記データ処理部に要求され、前記データ処理部が当該マクロブロックを処理している状態である要求、前記データ処理部によって当該マクロブロックの処理が終了された状態である終了、または条件フラグに応じて当該マクロブロックが前記未処理の状態または前記終了の状態として扱われる仮処理のいずれの状態であるかを記憶する状態記憶部と、
    前記選択されたマクロブロックの隣接マクロブロックの前記処理状態と前記参照フラグに基づいて、前記選択されたマクロブロックが処理可能であるか否かを判定し、当該処理可能であると判定されたマクロブロックの処理を前記データ処理部に要求する判定部と、
    前記未処理の状態または仮処理の状態のマクロブロックの処理を前記データ処理部に要求する制御部と、
    を含む処理制御部と、
    を有し、
    前記制御部が、前記マクロブロックのうちイントラマクロブロックについて前記状態記憶部における処理状態を仮処理に設定し、前記条件フラグを仮処理の状態が終了として扱われるように設定し、前記参照フラグを全て隣接マクロブロックの処理結果を参照せずに処理対象のインターマクロブロックを処理するように設定して、前記プロセシングエレメントに未処理の状態のインターマクロブロックを符号化するように要求するとともに当該符号化するように要求したインターマクロブロックの前記状態記憶部における処理状態を要求に変更し、
    前記プロセシングエレメントが、前記要求されたインターマクロブロックを符号化し、
    前記制御部が、前記プロセシングエレメントが前記要求されたインターマクロブロックの符号化を終了するごとに、前記状態記憶部における前記要求されたインターマクロブロックの処理状態を終了に変更し、
    前記制御部が、前記状態記憶部における前記インターマクロブロックの処理状態がすべて終了になると、前記条件フラグを前記仮処理の状態が未処理として扱われるように変更し、前記参照フラグを動画像の符号化規格に応じて設定して、前記データ処理部に仮処理の状態のイントラマクロブロックを符号化するように要求するとともに当該符号化するように要求したイントラマクロブロックの前記状態記憶部における処理状態を要求に変更し、
    前記プロセシングエレメントが、前記要求されたイントラマクロブロックを符号化し、
    前記選択部が、前記プロセシングエレメントが前記要求されたイントラマクロブロックの符号化を終了するごとに、前記状態記憶部における前記要求されたイントラマクロブロックの処理状態を終了に変更するとともに、前記参照フラグに基づいて、前記プロセシングエレメントが処理できる可能性のあるマクロブロックを選択し、
    前記判定部が、前記選択されたマクロブロックの隣接ブロックの処理状態と前記参照フラグと前記条件フラグに基づいて、前記選択されたマクロブロックが処理可能なイントラマクロブロックであるか否かを判定し、処理可能であると判定されたイントラマクロブロックの符号化を前記プロセシングエレメントが行うことを要求するとともに、当該符号化するように要求したイントラマクロブロックの処理状態を要求に変更し、
    前記プロセシングエレメントが、前記処理可能であると判定されたイントラマクロブロックを符号化する
    符号化装置。
  5. 少なくとも2つのプロセシングエレメントを有するデータ処理装置における復号方法であって、
    全てのマクロブロックの処理状態を、前記プロセシングエレメントにマクロブロックを処理することが要求されていない状態である未処理の状態に設定するステップと、
    前記マクロブロックのうちイントラマクロブロックを、条件フラグに応じて前記未処理の状態または前記プロセシングエレメントによってマクロブロックの処理が終了された状態である終了の状態として扱われる仮処理の状態に変更するステップと、
    前記条件フラグを前記仮処理の状態が前記終了の状態として扱われるように設定するステップと、
    処理対象マクロブロックの符号化時において符号化済みである当該処理対象マクロブロックの周囲の隣接マクロブロックに対応して設けられた参照フラグを、全て隣接マクロブロックの処理結果を参照せずに処理対象のインターマクロブロックを処理するように設定するステップと、
    前記未処理の状態のインターマクロブロックの復号を前記プロセシングエレメントが行うことを要求するとともに、当該復号するように要求したインターマクロブロックの処理状態を前記プロセシングエレメントによって処理されている状態である要求の状態に変更するステップと、
    前記プロセシングエレメントが、前記要求されたインターマクロブロックを復号するステップと、
    前記プロセシングエレメントが前記要求されたインターマクロブロックの復号を終了するごとに、前記要求の状態であるインターマクロブロックの処理状態を終了に変更するステップと、
    全てのインターマクロブロックの処理状態が終了になると、前記条件フラグを前記仮処理の状態が前記未処理の状態として扱われるように設定するステップと、
    前記参照フラグを動画像の符号化規格に応じて設定するステップと、
    前記仮処理の状態のイントラマクロブロックの復号を前記プロセシングエレメントが行うことを要求するとともに、当該復号するように要求したイントラマクロブロックの処理状態を要求に変更するステップと、
    前記プロセシングエレメントが、前記要求されたイントラマクロブロックを復号するステップと、
    前記プロセシングエレメントが前記要求されたイントラマクロブロックの復号を終了するごとに、前記イントラマクロブロックの処理状態を終了に変更するとともに、前記参照フラグに基づいて、前記プロセシングエレメントが処理できる可能性のあるマクロブロックを選択するステップと、
    前記選択されたマクロブロックの隣接ブロックの処理状態と前記参照フラグと前記条件フラグに基づいて、前記選択されたマクロブロックが処理可能なイントラマクロブロックであるか否かを判定するステップと、
    処理可能であると判定されたイントラマクロブロックの復号を前記プロセシングエレメントが行うことを要求するとともに、当該復号するように要求したイントラマクロブロックの処理状態を要求に変更するステップと、
    前記プロセシングエレメントが、前記処理可能であると判定されたイントラマクロブロックを復号するステップと、
    を有する復号方法。
  6. 少なくとも2つのプロセシングエレメントを有するデータ処理装置における符号化方法であって、
    全てのマクロブロックの処理状態を、前記プロセシングエレメントにマクロブロックを処理することが要求されていない状態である未処理の状態に設定するステップと、
    前記マクロブロックのうちイントラマクロブロックを、条件フラグに応じて前記未処理の状態または前記プロセシングエレメントによってマクロブロックの処理が終了された状態である終了の状態として扱われる仮処理の状態に変更するステップと、
    前記条件フラグを前記仮処理の状態が前記終了の状態として扱われるように設定するステップと、
    処理対象マクロブロックの周囲の既に符号化済みである隣接マクロブロックに対応して設けられた参照フラグを、全て隣接マクロブロックの処理結果を参照せずに処理対象のインターマクロブロックを処理するように設定するステップと、
    前記未処理の状態のインターマクロブロックの符号化を前記プロセシングエレメントが行うことを要求するとともに、当該符号化するように要求したインターマクロブロックの処理状態を前記プロセシングエレメントによって処理されている状態である要求の状態に変更するステップと、
    前記プロセシングエレメントが、前記要求されたインターマクロブロックを符号化するステップと、
    前記プロセシングエレメントが前記要求されたインターマクロブロックの符号化を終了するごとに、前記要求の状態であるインターマクロブロックの処理状態を終了に変更するステップと、
    全てのインターマクロブロックの処理状態が終了になると、前記条件フラグを前記仮処理の状態が前記未処理の状態として扱われるように設定するステップと、
    前記参照フラグを動画像の符号化規格に応じて設定するステップと、
    前記仮処理の状態のイントラマクロブロックの符号化を前記プロセシングエレメントが行うことを要求するとともに、当該符号化するように要求したイントラマクロブロックの処理状態を要求に変更するステップと、
    前記プロセシングエレメントが、前記要求されたイントラマクロブロックを符号化するステップと、
    前記プロセシングエレメントが前記要求されたイントラマクロブロックの符号化を終了するごとに、前記イントラマクロブロックの処理状態を終了に変更するとともに、前記参照フラグに基づいて、前記プロセシングエレメントが処理できる可能性のあるマクロブロックを選択するステップと、
    前記選択されたマクロブロックの隣接ブロックの処理状態と前記参照フラグと前記条件フラグに基づいて、前記選択されたマクロブロックが処理可能なイントラマクロブロックであるか否かを判定するステップと、
    処理可能であると判定されたイントラマクロブロックの符号化を前記プロセシングエレメントが行うことを要求するとともに、当該符号化するように要求したイントラマクロブロックの処理状態を要求に変更するステップと、
    前記プロセシングエレメントが、前記処理可能であると判定されたイントラマクロブロックを符号化するステップと、
    を有する符号化方法。
  7. 少なくとも2つのプロセシングエレメントによってビットストリームを復号させる処理をコンピュータに実行させるプログラムであって、
    全てのマクロブロックの処理状態を、前記プロセシングエレメントにマクロブロックを処理することが要求されていない状態である未処理の状態に設定するステップと、
    前記マクロブロックのうちイントラマクロブロックを、条件フラグに応じて前記未処理の状態または前記プロセシングエレメントによってマクロブロックの処理が終了された状態である終了の状態として扱われる仮処理の状態に変更するステップと、
    前記条件フラグを前記仮処理の状態が前記終了の状態として扱われるように設定するステップと、
    処理対象マクロブロックの符号化時において符号化済みである当該処理対象マクロブロックの周囲の隣接マクロブロックに対応して設けられた参照フラグを、全て隣接マクロブロックの処理結果を参照せずに処理対象のインターマクロブロックを処理するように設定するステップと、
    前記未処理の状態のインターマクロブロックの復号を前記プロセシングエレメントが行うことを要求するとともに、当該復号するように要求したインターマクロブロックの処理状態を前記プロセシングエレメントによって処理されている状態である要求の状態に変更するステップと、
    前記プロセシングエレメントが前記要求されたインターマクロブロックの復号を終了するごとに、前記要求の状態であるインターマクロブロックの処理状態を終了に変更するステップと、
    全てのインターマクロブロックの処理状態が終了になると、前記条件フラグを前記仮処理の状態が前記未処理の状態として扱われるように設定するステップと、
    前記参照フラグを動画像の符号化規格に応じて設定するステップと、
    前記仮処理の状態のイントラマクロブロックの復号を前記プロセシングエレメントが行うことを要求するとともに、当該復号するように要求したイントラマクロブロックの処理状態を要求に変更するするステップと、
    前記プロセシングエレメントが前記要求されたイントラマクロブロックの復号を終了するごとに、前記イントラマクロブロックの処理状態を終了に変更するとともに、前記参照フラグに基づいて、前記プロセシングエレメントが処理できる可能性のあるマクロブロックを選択するステップと、
    前記選択されたマクロブロックの隣接ブロックの処理状態と前記参照フラグと前記条件フラグに基づいて、前記選択されたマクロブロックが処理可能なイントラマクロブロックであるか否かを判定するステップと、
    処理可能であると判定されたイントラマクロブロックの復号を前記プロセシングエレメントが行うことを要求するとともに、当該復号するように要求したイントラマクロブロックの処理状態を要求に変更するステップと、
    をコンピュータに実行させるプログラム。
  8. 少なくとも2つのプロセシングエレメントによって動画像を符号化させる処理をコンピュータに実行させるプログラムであって、
    全てのマクロブロックの処理状態を、前記プロセシングエレメントにマクロブロックを処理することが要求されていない状態である未処理の状態に設定するステップと、
    前記マクロブロックのうちイントラマクロブロックを、条件フラグに応じて前記未処理の状態または前記プロセシングエレメントによってマクロブロックの処理が終了された状態である終了の状態として扱われる仮処理の状態に変更するステップと、
    前記条件フラグを前記仮処理の状態が前記終了の状態として扱われるように設定するステップと、
    処理対象マクロブロックの周囲の既に符号化済みである隣接マクロブロックに対応して設けられた参照フラグを、全て隣接マクロブロックの処理結果を参照せずに処理対象のインターマクロブロックを処理するように設定するステップと、
    前記未処理の状態のインターマクロブロックの符号化を前記プロセシングエレメントが行うことを要求するとともに、当該符号化するように要求したインターマクロブロックの処理状態を前記プロセシングエレメントによって処理されている状態である要求の状態に変更するステップと、
    前記プロセシングエレメントが前記要求されたインターマクロブロックの符号化を終了するごとに、前記要求の状態であるインターマクロブロックの処理状態を終了に変更するステップと、
    全てのインターマクロブロックの処理状態が終了になると、前記条件フラグを前記仮処理の状態が前記未処理の状態として扱われるように設定するステップと、
    前記参照フラグを動画像の符号化規格に応じて設定するステップと、
    前記仮処理の状態のイントラマクロブロックの符号化を前記プロセシングエレメントが行うことを要求するとともに、当該符号化するように要求したイントラマクロブロックの処理状態を要求に変更するするステップと、
    前記プロセシングエレメントが前記要求されたイントラマクロブロックの符号化を終了するごとに、前記イントラマクロブロックの処理状態を終了に変更するとともに、前記参照フラグに基づいて、前記プロセシングエレメントが処理できる可能性のあるマクロブロックを選択するステップと、
    前記選択されたマクロブロックの隣接ブロックの処理状態と前記参照フラグと前記条件フラグに基づいて、前記選択されたマクロブロックが処理可能なイントラマクロブロックであるか否かを判定するステップと、
    処理可能であると判定されたイントラマクロブロックの符号化を前記プロセシングエレメントが行うことを要求するとともに、当該符号化するように要求したイントラマクロブロックの処理状態を要求に変更するステップと、
    をコンピュータに実行させるプログラム。
JP2007127867A 2007-05-14 2007-05-14 復号装置、符号化装置、復号方法、符号化方法、および映像の復号と符号化を行うプログラム Expired - Fee Related JP4807320B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007127867A JP4807320B2 (ja) 2007-05-14 2007-05-14 復号装置、符号化装置、復号方法、符号化方法、および映像の復号と符号化を行うプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007127867A JP4807320B2 (ja) 2007-05-14 2007-05-14 復号装置、符号化装置、復号方法、符号化方法、および映像の復号と符号化を行うプログラム

Publications (2)

Publication Number Publication Date
JP2008283612A JP2008283612A (ja) 2008-11-20
JP4807320B2 true JP4807320B2 (ja) 2011-11-02

Family

ID=40144030

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007127867A Expired - Fee Related JP4807320B2 (ja) 2007-05-14 2007-05-14 復号装置、符号化装置、復号方法、符号化方法、および映像の復号と符号化を行うプログラム

Country Status (1)

Country Link
JP (1) JP4807320B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2009063646A1 (ja) * 2007-11-16 2011-03-31 パナソニック株式会社 画像復号装置及び画像復号方法
KR100999505B1 (ko) 2009-05-15 2010-12-09 이승훈 매크로블록 기반의 데이터 병렬 처리를 수행하는 동영상 인코딩/디코딩 장치
JP5482414B2 (ja) * 2010-05-07 2014-05-07 富士通セミコンダクター株式会社 動きベクトル生成回路及び動きベクトル生成方法
KR101673186B1 (ko) 2010-06-09 2016-11-07 삼성전자주식회사 매크로블록의 연관관계를 고려하여 영상 데이터의 부호화 및 복호화를 병렬 처리하는 장치 및 방법
KR101219220B1 (ko) * 2010-10-20 2013-01-08 성균관대학교산학협력단 병렬 부호화를 위한 데이터 파티션 방법 및 이를 수행하는 프로그램을 기록한 기록매체
WO2015045276A1 (ja) * 2013-09-30 2015-04-02 日本電気株式会社 処理制御装置、処理制御方法および処理制御プログラム
US10904546B2 (en) 2017-04-10 2021-01-26 Nec Corporation Moving image processing device, moving image processing method, and recording medium having moving image processing program stored thereon
WO2019031136A1 (ja) * 2017-08-07 2019-02-14 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101014660B1 (ko) * 2003-10-24 2011-02-16 삼성전자주식회사 인트라 예측 방법 및 장치
JP4407472B2 (ja) * 2004-10-29 2010-02-03 ソニー株式会社 符号化及び復号装置並びに符号化及び復号方法
JP4453518B2 (ja) * 2004-10-29 2010-04-21 ソニー株式会社 符号化及び復号装置並びに符号化及び復号方法
JP2006165699A (ja) * 2004-12-02 2006-06-22 Matsushita Electric Ind Co Ltd 画像符号化装置および画像符号化方法
JP2008182527A (ja) * 2007-01-25 2008-08-07 Matsushita Electric Ind Co Ltd 画像符号化装置及び方法、並びに撮像システム

Also Published As

Publication number Publication date
JP2008283612A (ja) 2008-11-20

Similar Documents

Publication Publication Date Title
JP4807320B2 (ja) 復号装置、符号化装置、復号方法、符号化方法、および映像の復号と符号化を行うプログラム
US9843813B2 (en) Delayed chroma processing in block processing pipelines
US8861591B2 (en) Software video encoder with GPU acceleration
KR101105531B1 (ko) 병렬 처리 인-루프 디블록 필터용 메커니즘
US10757437B2 (en) Motion estimation in block processing pipelines
JP6225250B2 (ja) 並列のハードウェア及びソフトウェアブロック処理パイプライン
US9106888B2 (en) Reducing quantization artifacts using neighbor-based weighted dithering
US9224186B2 (en) Memory latency tolerance in block processing pipelines
US9392292B2 (en) Parallel encoding of bypass binary symbols in CABAC encoder
US9762919B2 (en) Chroma cache architecture in block processing pipelines
US9292899B2 (en) Reference frame data prefetching in block processing pipelines
US9218639B2 (en) Processing order in block processing pipelines
US9299122B2 (en) Neighbor context processing in block processing pipelines
US20150092843A1 (en) Data storage and access in block processing pipelines
US9305325B2 (en) Neighbor context caching in block processing pipelines
TW201320760A (zh) 視頻解碼方法及電腦可讀媒介
JP2007251865A (ja) 画像データの処理装置、画像データの処理方法、画像データの処理方法のプログラム及び画像データの処理方法のプログラムを記録した記録媒体
TWI583180B (zh) 具有上下文切換之視訊編碼器
JP2010109572A (ja) 画像処理装置、及び方法
JP2007325119A (ja) 画像処理装置及び画像処理方法
US8908777B2 (en) Memory request ordering for a motion compensation process, implemented by a picture processing apparatus, a picture processing method, and a picture processing program
JP4351903B2 (ja) 動画像符号化装置
JP2009049460A (ja) 画像処理装置およびその方法、並びにプログラム
Ouyang et al. Optimization and implementation of h. 264 encoder on symmetric multi-processor platform

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100427

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110426

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110510

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110701

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110801

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

Free format text: PAYMENT UNTIL: 20140826

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees