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

画像復号装置及び画像復号方法 Download PDF

Info

Publication number
JPWO2009063646A1
JPWO2009063646A1 JP2009541051A JP2009541051A JPWO2009063646A1 JP WO2009063646 A1 JPWO2009063646 A1 JP WO2009063646A1 JP 2009541051 A JP2009541051 A JP 2009541051A JP 2009541051 A JP2009541051 A JP 2009541051A JP WO2009063646 A1 JPWO2009063646 A1 JP WO2009063646A1
Authority
JP
Japan
Prior art keywords
decoding
processing unit
unit
data
decoded data
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.)
Pending
Application number
JP2009541051A
Other languages
English (en)
Inventor
啓史 近村
啓史 近村
橋本 隆
隆 橋本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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
Publication of JPWO2009063646A1 publication Critical patent/JPWO2009063646A1/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

従来の復号回路を流用し、並列化の効率を低下させることなく、1ピクチャ内に依存関係がある符号化ピクチャを復号する。画像復号装置(100)であって、符号化ピクチャが2分割されるように符号化ストリームを分割するストリーム分割部(110)と、2個の分割符号化ストリームをそれぞれ復号する復号処理部(120、130)とを備え、復号処理部(120、130)のそれぞれは、予め定められた順序で復号し、画素データと制御データとを含む復号データを生成する復号部(123、133)と、復号データが他の処理部で参照されるかを判定する転送判定部(124、134)と、他の処理部との間で復号データを転送するデータ転送部(125、135)と、参照される復号データが得られているかを判定する復号判定部(122、132)とを備え、復号部(123、133)は、復号データが得られている場合に分割符号化ストリームを復号する。

Description

本発明は、画面内予測及び画面間予測に基づいて符号化された符号化ストリームを復号する画像復号装置及び画像復号方法に関し、特に、復号処理を相互にバスで接続された複数の復号部で並列に処理する画像復号装置及び画像復号方法に関するものである。
従来、画面間差分を用いた圧縮符号化(以下、単に「符号化」と呼ぶ)技術として、MPEG(Moving Picture Experts Group)符号化技術がある(非特許文献1参照)。また、近年ではさらに高圧縮を実現するH.264(非特許文献2参照)が符号化規格として採用されてきている。H.264では、従来のMPEG規格と同様に、16×16画素で構成されるマクロブロックと呼ばれる矩形のブロックを単位として、符号化、及び、復号が行われる。
H.264では、従来のMPEG規格と同様に、画面間予測と呼ばれる符号化アルゴリズムが用いられる。画面間予測処理を行う必要があるマクロブロックを復号する場合は、デコード済みのピクチャの情報を用いて画素値の予測を行うため、デコード済みのピクチャのデータを保持しておき、必要に応じてこれらのデータを参照する。一方、画面内予測処理を行う必要があるマクロブロックを復号する場合は、デコード中の直前のマクロブロックと、空間的に上、左上、右上に位置する隣接のマクロブロックとの情報を用いて復号を行うために、デコードした同一画面内のマクロブロックの情報を保持しておき、以降のマクロブロックの復号を行うことになる。
上述のようなMPEG規格、又は、H.264などの符号化方式で符号化された符号化ストリームを復号する際に、符号化ストリームを複数の符号化ストリームに分割し、複数のデコードチップがそれぞれ、分割された符号化ストリームを復号する技術が開示されている。このとき、上述のようにデコード済みのピクチャ、又は、マクロブロックの情報を用いて復号を行うために、複数のデコードチップ間で、復号により得られたデータを互いに転送しなければならない。
例えば、特許文献1では、MPEGなどの復号において、ピクチャを空間的に分割して複数の復号回路を用いたシステムで復号を行う場合に、画面間予測に必要なデータを相互にバスを通じて転送することによって、復号処理を並列化する手法が提案されている。
図12は、特許文献1に記載の複数の復号回路を用いて復号処理を並列化する際の1ピクチャ内の復号順序を示す図である。同図に示す例では、1つのピクチャを上下の2つの領域に分割し、この2つの領域をそれぞれ第1復号回路と第2復号回路とが復号する。このとき、通常、上のマクロブロックラインから順にピクチャを復号するのに対して、特許文献1に記載の技術では、図12に示すように下のマクロブロックラインから順にピクチャを復号する。
このようにすることで、第2復号回路で次のピクチャを復号する際に参照されるデータを、参照されないデータよりも先に復号することができる。したがって、第2復号回路が次のピクチャを復号する際に、第1復号回路からのデータの転送を待つ時間を低減することができる。
また、特許文献2では、1ピクチャ内のマクロブロックの処理状態を監視し、対象マクロブロックを処理する際に参照されるマクロブロックの処理が完了している場合に、対象マクロブロックを処理する技術が記載されている。例えば、画面内予測処理を行う場合、対象マクロブロックの空間的に左、上、左上、及び、右上に位置するマクロブロックの完了を検出して、これらのデータがそろっているマクロブロックの処理を複数の回路に割り当てることで、処理を並列化する。
特開2007−60488号公報 特開2006−129285号公報 ITU−T勧告 H.262 「Information technology − Generic coding of moving pictures and associated audio information: Video」 ITU−T H.264「Advanced video coding for generic audiovisual services」
しかしながら、上記従来技術には、以下のような課題がある。
特許文献1に記載の技術は、H.264で符号化された符号化ピクチャのように、1ピクチャ内で依存関係があるような符号化ピクチャを復号することはできないという課題がある。
特許文献1に記載の技術では、1ピクチャ内の復号順序を変更し、他のピクチャの復号時に参照されるデータを参照されないデータより先に復号することで、必要なデータが転送されるのを待つ時間を低減する。この技術は、1ピクチャ内の依存関係がない場合に有効な技術である。言い換えると、1ピクチャ内に依存関係がある場合、復号順序を変更することができなくなるので、特許文献1に記載の技術は、1ピクチャ内に依存関係がある符号化ピクチャを復号することができない。
また、特許文献2に記載の技術では、処理のオーバーヘッドが大きく、処理の並列化の効率が悪くなるという課題がある。特許文献2に記載の技術で画面内予測処理を含む復号の並列化を行う場合には、マクロブロック処理の完了を確認するために相互に通信が必要であり、また必要なデータの転送もマクロブロック処理単位で行わないといけない。このため、処理のオーバーヘッドが大きく、並列化の効率が悪くなる。また、特許文献2に記載の技術は、既存の復号回路と処理の手順が大きく異なるため、従来の復号回路の流用を行うのが難しいという課題もある。なお、既存の(又は、従来の)復号回路とは、例えば、MPEG−2規格に基づいて符号化された符号化ストリームを復号する復号回路のことであり、同一ピクチャ内の異なるマクロブロックライン間で依存関係を有しない符号化ピクチャを復号する復号回路である。
そこで、本発明は、従来の復号回路を流用し、並列化の効率を低下させることなく、1ピクチャ内に依存関係がある符号化ピクチャを復号することができる画像復号装置及び画像復号方法を提供することを目的とする。
上記従来の課題を解決するため、本発明の画像復号装置は、画面内予測及び画面間予測に基づいて符号化された符号化ピクチャを含む符号化ストリームを復号する画像復号装置であって、前記符号化ピクチャがN個(Nは2以上の整数)の領域に分割されるように前記符号化ストリームを分割することで、N個の分割符号化ストリームを生成するストリーム分割部と、前記ストリーム分割部によって生成されたN個の分割符号化ストリームのそれぞれを復号するN個の復号処理部とを備え、前記N個の復号処理部のそれぞれは、前記分割符号化ストリームを画面内予測及び画面間予測に基づいて、前記符号化ピクチャの領域を構成する第1処理単位ごとに、予め定められた順序で復号することで、画素値を示す画素データと第1処理単位間の依存関係を示す制御データとを含む復号データを生成する復号部と、前記復号部によって生成される復号データが他の復号処理部によって参照されるか否かを、前記制御データに示される第1処理単位間の依存関係に基づいて判定する第1判定部と、前記第1判定部によって前記復号データが参照されると判定された場合、当該復号データを参照する他の復号処理部に当該復号データを、前記第1処理単位以上の第2処理単位ごとに送信し、かつ、他の復号処理部から送信される復号データを受信するデータ転送部と、画面内予測及び画面間予測に基づいて参照される復号データが、前記復号部によって既に生成されている、又は、前記データ転送部によって既に受信されているか否かを判定する第2判定部とを備え、前記復号部は、前記第2判定部によって復号データが生成されている、又は、受信されていると判定された場合、当該復号データに含まれる制御データを用いて、復号の対象である対象第1処理単位と依存関係を有する画素の画素データを参照することで、画面内予測及び画面間予測に基づいて前記分割符号化ストリームを復号する。
これにより、画面間予測に必要な画素データだけでなく、第1処理単位(復号の処理単位、例えば、マクロブロック)の依存関係を示す制御データが得られている場合に復号を開始するので、画面内予測に基づいて符号化された符号化ピクチャも復号することができる。例えば、H.264などのようにピクチャ内の依存関係が複雑で、この依存関係に従って、予め復号する順序が定められているような場合であっても、制御データに基づいて依存関係を判定しながら、参照されるデータが得られている場合に復号を行うことができる。
また、データ転送を行う頻度を低減することができるので、復号処理部間で相互に通信するオーバーヘッドを小さくすることができる。また、従来とは異なり復号順序を入れ替えるなどの複雑な制御を行わないので、既存の復号回路を流用することができる。
このように、画面間予測のみならず、画面内予測に基づいて1ピクチャ内に依存関係を有する場合にも、従来の復号回路を流用し、並列化の効率を低下させることなく、1ピクチャ内に依存関係がある符号化ピクチャを復号することができる。
また、前記ストリーム分割部は、N−1本の水平軸を境界線として前記符号化ピクチャをN個の領域に分割されるように前記符号化ストリームを分割することで、前記N個の分割符号化ストリームを生成し、前記N個の領域のそれぞれは、前記復号処理部が画面間予測に基づいて復号する際に動きベクトルを探索する最大の範囲である最大探索範囲の半分以上の大きさの領域であってもよい。
これにより、1つの復号処理部が1つの領域を復号することで生成される復号データは、この領域に隣接する領域を復号する復号処理部によってしか参照されない。よって、復号処理部間の接続は、互いに隣接する領域を復号する復号処理部間を接続するだけでよく、簡易な構成で画像復号装置を実現することができる。
また、前記ストリーム分割部は、N−1本の水平軸を境界線として前記符号化ピクチャがN個の領域に分割されるように前記符号化ストリームを分割することで、N個の分割符号化ストリームを生成し、前記N個の分割符号化ストリームの1つである第1分割符号化ストリームは、前記N個の領域のうち第1領域を含み、前記N個の分割符号化ストリームの1つである第2分割符号化ストリームは、前記第1領域の下方向に隣接する第2領域を含み、前記N個の復号処理部の1つである第1復号処理部は、前記第1分割符号化ストリームを復号し、前記N個の復号処理部の1つである第2復号処理部は、前記第2分割符号化ストリームを復号し、前記第2復号処理部が備える前記データ転送部は、前記第1復号処理部から送信される、前記第1領域が復号されることで得られる復号データの少なくとも一部を受信し、前記第2復号処理部が備える前記第2判定部は、前記符号化ピクチャの前記第1領域の最後の第1処理単位が復号されることで生成される復号データが受信されたか否かを判定し、前記第2復号処理部が備える前記復号部は、前記第1領域の最後の第1処理単位が復号されることで生成される復号データが受信されたと判定された場合、前記符号化ピクチャの前記第2領域の復号を開始してもよい。
これにより、複雑な制御を行うことなく、画面内予測に基づいて符号化された符号化ピクチャを復号することができる。
また、前記第1判定部は、前記復号部によって生成された復号データが、他の分割符号化ストリームに含まれる符号化ピクチャの他の領域を他の復号処理部が画面内予測に基づいて復号する際に、当該他の領域との依存関係を示す制御データと、当該他の領域との依存関係に基づいて参照される画素の画素データとの少なくとも1つを含む場合に、当該復号データが他の復号処理部によって参照されると判定してもよい。
これにより、他の復号処理部が、入力される他の分割符号化ストリームを復号する際に、依存関係に関する情報を得ることができ、正しく復号することができる。
また、前記第1判定部は、前記復号部によって生成された復号データが、他の分割符号化ストリームに含まれる符号化ピクチャの他の領域を他の復号処理部が画面間予測に基づいて復号する際の動きベクトルの探索範囲に位置する画素の画素データを含む場合に、当該復号データが他の復号処理部によって参照されると判定してもよい。
これにより、動きベクトルの探索範囲は、通常、H.264などの規格で予め定められているため、符号化ピクチャを分割した時点で、どの復号処理部がどの画素を参照する可能性があるかを判定することができる。
また、前記第2判定部は、前記復号部による復号の対象である対象第1処理単位との依存関係を示す制御データと、当該対象第1処理単位と依存関係を有する画素の画素データとの少なくとも1つを含む復号データが全て、前記復号部によって既に生成されている、又は、前記データ転送部によって既に受信されているか否かを判定してもよい。
これにより、復号部による復号の対象である対象第1処理単位(例えば、対象ブロック)と依存関係を有するデータが全て得られているか否かを判定し、全て得られている場合に復号を行うので、参照すべきデータが得られていないまま復号を開始してしまうなどの不具合を防ぐことができる。
また、前記ストリーム分割部は、前記符号化ピクチャが等しい大きさのN個の領域に分割されるように前記符号化ストリームを分割することで、N個の分割符号化ストリームを生成してもよい。
これにより、各復号処理部における処理にかかる時間をおおむね等しくすることができ、必要なデータが転送されるのを各復号処理部が待つ時間を低減することができる。
また、前記画像復号装置は、さらに、前記復号部によって生成された復号データと、前記データ転送部によって受信された復号データとを記憶する記憶部を備え、前記第2判定部は、前記画面内予測及び画面間予測に基づいて参照される復号データが、前記記憶部に既に記憶されているか否かを判定し、前記復号部は、前記第2判定部によって復号データが前記記憶部に記憶されていると判定された場合に、前記符号化ストリームを復号してもよい。
これにより、必要なデータを蓄積しておくことができるので、何度も同じデータを転送する必要がなくなり、データが転送されるのを待つ時間を低減することができる。
また、前記第1処理単位は、前記符号化ピクチャを構成するマクロブロックであり、前記第2処理単位は、マクロブロックラインであってもよい。
これにより、マクロブロックごとに転送するよりも処理のオーバーヘッドを小さくすることができ、並列化の効率を高めることができる。
なお、本発明は、画像復号装置として実現できるだけではなく、当該画像復号装置を構成する処理部をステップとする方法として実現することもできる。また、これらステップをコンピュータに実行させるプログラムとして実現してもよい。さらに、当該プログラムを記録したコンピュータ読み取り可能なCD−ROM(Compact Disc−Read Only Memory)などの記録媒体、並びに、当該プログラムを示す情報、データ又は信号として実現してもよい。そして、それらプログラム、情報、データ及び信号は、インターネットなどの通信ネットワークを介して配信してもよい。
また、上記の各画像復号装置を構成する構成要素の一部又は全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されていてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM及びRAM(Random Access Memory)などを含んで構成されるコンピュータシステムである。
本発明の画像復号装置及び画像復号方法によれば、画面間予測のみならず、画面内予測に基づいて1ピクチャ内に依存関係を有する場合にも、従来の復号回路を流用し、並列化の効率を低下させることなく、1ピクチャ内に依存関係がある符号化ピクチャを含む符号化ストリームを復号することができる。
図1は、本実施の形態の画像復号装置の構成を示すブロック図である。 図2は、水平軸を境界線として2つの等しい大きさの領域に分割された符号化ピクチャを示す図である。 図3は、画面内予測に基づいたピクチャ内の参照関係を示す図である。 図4は、画面間予測に基づいたピクチャ間の参照関係を示す図である。 図5は、ピクチャの符号化順序(復号順序)と表示順序とを示す図である。 図6は、ピクチャを2つの領域に分割した場合の復号処理の時間的な流れを模式的に示す図である。 図7は、複数の復号処理部による処理のタイミングを示す図である。 図8は、本実施の形態の画像復号装置の動作を示すフローチャートである。 図9は、本実施の形態の第1復号処理部の動作を示すフローチャートである。 図10は、本実施の形態の第2復号処理部の動作を示すフローチャートである。 図11は、ピクチャを3つの領域に分割した場合の復号処理の時間的な流れを模式的に示す図である。 図12は、従来の複数の復号回路を用いて復号処理を並列化する際の1ピクチャ内の復号順序を示す図である。
符号の説明
100 画像復号装置
110 ストリーム分割部
120 第1復号処理部
121、131 ストリームバッファ
122、132 復号判定部
123、133 復号部
124、134 転送判定部
125、135 データ転送部
126、136 ビデオバッファ
130 第2復号処理部
140 データ転送バス
200 符号化ピクチャ
201、201a、201b、201c 上半分
202、202a、202b、202c 下半分
200a イントラ符号化ピクチャ
200b インター符号化ピクチャ
200c 参照ピクチャ
301a、301b、301c、303a、303b、303c 上部
302a、302b、302c、304a、304b、304c 下部
以下、本発明の実施の形態について、図面を参照しながら説明する。
本実施の形態の画像復号装置は、複数のデコードチップを用いて、画面内予測及び画面間予測に基づいて符号化された符号化ピクチャを含む符号化ストリームを並列処理で復号する。具体的には、符号化ピクチャがN(Nは2以上の整数)個の領域に分割されるように、符号化ストリームをN個の分割符号化ストリームに分割する。そして、N個のデコードチップを用いて、N個の分割符号化ストリームのそれぞれを並列処理で復号する。このとき、復号の処理単位間(例えば、マクロブロック間)の依存関係を示す制御データを転送し、対象ブロックの参照データがすべて得られていることを判定しながら、対象ブロックを復号する。
図1は、本実施の形態の画像復号装置100の構成を示すブロック図である。同図に示す画像復号装置100は、ストリーム分割部110と、第1復号処理部120と、第2復号処理部130と、データ転送バス140とを備える。
ストリーム分割部110は、入力される符号化ストリームに含まれる符号化ピクチャがN個の領域に分割されるように符号化ストリームを分割することで、N個の分割符号化ストリームを生成する。例えば、符号化ピクチャは、N−1本の水平軸を境界線としてN個の領域に分割される。符号化ストリームに含まれる複数の符号化ピクチャのそれぞれは、同じ水平軸を境界線としてN個の領域に分割される。分割符号化ストリームは、複数の符号化ピクチャの同じ領域を含むストリームである。なお、N個の領域のそれぞれは、第1復号処理部120又は第2復号処理部130が画面間予測に基づいて復号する際に動きベクトルを探索する最大の範囲である最大探索範囲の半分以上の大きさの領域であることが好ましい。また、N個の領域のそれぞれは、等しい大きさであることが好ましい。本実施の形態では、一例として、図2に示すように、N=2の場合について説明する。
図2は、水平軸を境界線として2つの等しい大きさの領域に分割された符号化ピクチャを示す図である。同図に示すように、符号化ピクチャ200は、水平軸を基準として上半分201と下半分202との2つの等しい大きさの領域に分割される。上半分201を含む分割符号化ストリームは、第1復号処理部120に送信され、下半分202を含む分割符号化ストリームは、第2復号処理部130に送信される。
例えば、符号化ピクチャ200が、4096×2048画素の解像度を有する場合、H.264では、動きベクトルの垂直方向の最大値は512画素であると定められている。したがって、動きベクトルの垂直方向の最大探索範囲は、512×2=1024画素である。このように、例えば、動きベクトルの最大探索範囲は、垂直方向の画素数で示される。符号化ピクチャ200は、最大探索範囲の半分である512画素以上の領域に分割されるのが望ましい。図2では、上半分201及び下半分202はそれぞれ、4096×1024画素からなる領域である。
図1に戻ると、第1復号処理部120は、ストリーム分割部110によって生成された分割符号化ストリームの1つを復号する。ここでは、図2に示すように符号化ピクチャ200は上下に2分割され、第1復号処理部120は、符号化ピクチャ200の上半分201を含む分割符号化ストリームを復号する。第1復号処理部120は、図1に示すように、ストリームバッファ121と、復号判定部122と、復号部123と、転送判定部124と、データ転送部125と、ビデオバッファ126とを備える。
ストリームバッファ121は、ストリーム分割部110によって生成された2つの分割符号化ストリームのうち、符号化ピクチャ200の上半分201を含む分割符号化ストリームを格納するメモリなどである。
復号判定部122は、復号部123による復号の際に画面内予測及び画面間予測に基づいて参照される復号データが既に生成されているか、又は、他の復号処理部(ここでは、第2復号処理部130)から既に受信されているか否かを判定する。なお、後述するように、復号部123は、所定の処理単位(例えば、マクロブロック)ごとに復号を行うことで画素値を示す画素データと、所定の処理単位間の依存関係を示す制御データとを生成する。復号判定部122は、復号の対象となる対象ブロックとの依存関係を示す制御データと、当該対象ブロックと依存関係を有する画素の画素データとの少なくとも1つを含む復号データ(参照データ)が全て、生成され、又は、受信されているか否かを判定する。具体的には、これらの参照データがビデオバッファ126に既に格納されているか否かを判定する。
参照データは、例えば、画面内予測の場合は、対象ブロックの左、上、左上、及び、右上などのブロックの画素値を示す画素データ、並びに、予測の方向などを示す制御データである。画面間予測の場合は、以前に復号されたピクチャの各画素の画素値を示す画素データである。具体的には、対象ブロックの動きベクトルを探索する際の探索範囲に含まれる画素の画素値である。なお、H.264などでは、対象ブロックに隣接するブロックの動きベクトルと、既に復号済みの参照画像の動きベクトルとを利用することで、対象ブロックの動きベクトルを検出することもできる。この場合、参照される復号データは、対象ブロックと他のブロックとの依存関係を示す制御データも含む。なお、制御データとは、具体的には、符号化ストリームに含まれるシンタクス要素、すなわち、各パラメータセット、ヘッダ情報、及び、パラメータセットとヘッダ情報とを用いて導出される情報の一部である。
復号部123は、ストリームバッファ121から分割符号化ストリームを読み出し、読み出した分割符号化ストリームを、画面内予測及び画面間予測に基づいて所定の処理単位ごとに予め定められた順序で復号する。これにより、復号部123は、画素値を示す画素データと、処理単位間の依存関係を示す制御データとを含む復号データを生成する。
具体的には、復号部123は、参照する復号データがビデオバッファ126に既に格納されていると復号判定部122によって判定された場合に、ビデオバッファ126から参照する復号データを読み出し、読み出した復号データに含まれる制御データを用いて、復号の対象である処理単位と依存関係を有する画素の画素データを参照することで分割符号化ストリームを復号する。
なお、所定の処理単位とは、符号化ピクチャの分割された領域を構成する画素、マクロブロック、スライスなどの単位であり、ここでは、復号部123は、一例として、16×16画素のマクロブロック単位で復号する。また、予め定められた順序とは、マクロブロックの符号化順序であり、例えば、復号部123は、左上のマクロブロックからマクロブロックラインに沿って順に復号する。1行のマクロブロックラインの復号が終了すると、次の行のマクロブロックラインの左端のマクロブロックから順に復号する。なお、復号部123は、ピクチャヘッダ、及び、スライスヘッダを順に復号した後、マクロブロックの復号を行う。
転送判定部124は、復号部123によって生成された復号データが他の復号処理部(ここでは、第2復号処理部130)によって参照されるか否かを、制御データに示される処理単位ごとの依存関係に基づいて判定する。転送判定部124は、復号部123によって生成された復号データをビデオバッファ126に格納すると共に、当該復号データが参照されると判定した場合は、当該復号データをデータ転送部125にも送信する。
具体的には、この転送判定部124は、第2復号処理部130による復号時に参照される可能性がある復号データは、参照される復号データであると判定する。例えば、他の分割符号化ストリームに含まれる符号化ピクチャの他の領域(ここでは、下半分202)を他の復号処理部(ここでは、第2復号処理部130)が画面内予測に基づいて復号する際に、復号部123によって生成された復号データが、当該他の領域との依存関係を示す制御データと、当該他の領域との依存関係に基づいて参照される画素の画素データとの少なくとも1つを含む場合に、転送判定部124は、復号データが参照されると判定する。
また、他の分割符号化ストリームに含まれる符号化ピクチャの他の領域(ここでは、下半分202)を他の復号処理部(ここでは、第2復号処理部130)が画面間予測に基づいて復号する際の動きベクトルの探索範囲に位置する画素の画素データを、復号部123によって生成された復号データが含む場合に、転送判定部124は、当該復号データが参照されると判定する。このとき、動きベクトルの探索範囲は、例えば、復号部123がピクチャヘッダを復号することによって得られる符号化ピクチャの解像度などから決定される。
データ転送部125は、他の復号処理部(ここでは、第2復号処理部130)によって参照されると転送判定部124によって判定された復号データを、復号処理の処理単位以上の処理単位毎に、他の復号処理部(ここでは、第2復号処理部130)にデータ転送バス140を介して送信する。さらに、他の復号処理部(ここでは、第2復号処理部130)から送信される復号データを、データ転送バス140を介して受信する。なお、転送の処理単位は、例えば、マクロブロックラインである。
データ転送部125は、マクロブロックライン分の復号データを蓄積するバッファを内部に備えていてもよい。あるいは、バッファを備える代わりに、ビデオバッファ126から転送対象のマクロブロックラインの復号データを読み出して転送してもよい。
ビデオバッファ126は、復号部123によって生成された復号データと、データ転送部125によって受信された復号データとを記憶するメモリなどである。
第2復号処理部130は、ストリーム分割部110によって生成された分割符号化ストリームの1つを復号する。ここでは、図2に示すように符号化ピクチャ200は上下に2分割され、第2復号処理部130は、符号化ピクチャ200の下半分202を含む分割符号化ストリームを復号する。第2復号処理部130は、図1に示すように、ストリームバッファ131と、復号判定部132と、復号部133と、転送判定部134と、データ転送部135と、ビデオバッファ136とを備える。
ストリームバッファ131は、ストリーム分割部110によって生成された2つの分割符号化ストリームのうち、符号化ピクチャ200の下半分202を含む分割符号化ストリームを格納するメモリなどである。
復号判定部132は、復号部133による復号の際に画面内予測及び画面間予測に基づいて参照される復号データが既に生成されているか、又は、他の復号処理部(ここでは、第1復号処理部120)から既に受信されているか否かを判定する。なお、後述するように、復号部133は、所定の処理単位(例えば、マクロブロック)ごとに復号を行うことで画素値を示す画素データと、所定の処理単位間の依存関係を示す制御データとを生成する。復号判定部132は、復号の対象となる対象ブロックとの依存関係を示す制御データと、当該対象ブロックと依存関係を有する画素の画素データとの少なくとも1つを含む復号データ(参照データ)が全て、生成され、又は、受信されているか否かを判定する。具体的には、これらの参照データがビデオバッファ136に既に格納されているか否かを判定する。
例えば、復号判定部132は、図2に示すように符号化ピクチャ200が上下に2分割された場合、上半分201の最後のブロックがデータ転送部135によって受信されたか否かを判定する。
復号部133は、ストリームバッファ131から分割符号化ストリームを読み出し、読み出した分割符号化ストリームを、画面内予測及び画面間予測に基づいて所定の処理単位ごとに予め定められた順序で復号する。これにより、復号部133は、画素値を示す画素データと、処理単位間の依存関係を示す制御データとを含む復号データを生成する。
具体的には、復号部133は、参照する復号データがビデオバッファ136に既に格納されていると復号判定部132によって判定された場合に、ビデオバッファ136から参照する復号データを読み出し、読み出した復号データに含まれる制御データを用いて、復号の対象である処理単位と依存関係を有する画素の画素データを参照することで分割符号化ストリームを復号する。
なお、所定の処理単位とは、符号化ピクチャの分割された領域を構成する画素、マクロブロック、スライスなどの単位であり、ここでは、復号部133は、一例として、16×16画素のマクロブロック単位で復号する。また、予め定められた順序とは、マクロブロックの符号化順序であり、例えば、復号部133は、左上のマクロブロックからマクロブロックラインに沿って順に復号する。1行のマクロブロックラインの復号が終了すると、次の行のマクロブロックラインの左端のマクロブロックから順に復号する。
例えば、図2に示すように符号化ピクチャ200が上下に2分割された場合、復号部133は、上半分201の最後のブロックが復号されることで生成される復号データが受信されたと復号判定部132によって判定された場合、符号化ピクチャ200の下半分202の復号を開始する。
転送判定部134は、復号部133によって生成された復号データが他の復号処理部(ここでは、第1復号処理部120)によって参照されるか否かを、制御データに示される処理単位ごとの依存関係に基づいて判定する。転送判定部134は、復号部133によって生成された復号データをビデオバッファ136に格納すると共に、当該復号データが参照されると判定した場合は、当該復号データをデータ転送部135にも送信する。
具体的には、この転送判定部134は、第1復号処理部120による復号時に参照される可能性がある復号データは、参照される復号データであると判定する。例えば、他の分割符号化ストリームに含まれる符号化ピクチャの他の領域(ここでは、上半分201)を他の復号処理部(ここでは、第1復号処理部120)が画面内予測に基づいて復号する際に、復号部133によって生成された復号データが、当該他の領域との依存関係を示す制御データと、当該他の領域との依存関係に基づいて参照される画素の画素データとの少なくとも1つを含む場合に、転送判定部134は、復号データが参照されると判定する。
また、他の分割符号化ストリームに含まれる符号化ピクチャの他の領域(ここでは、上半分201)を他の復号処理部(ここでは、第1復号処理部120)が画面間予測に基づいて復号する際の動きベクトルの探索範囲に位置する画素の画素データを、復号部133によって生成された復号データが含む場合に、転送判定部134は、当該復号データが参照されると判定する。このとき、動きベクトルの探索範囲は、例えば、復号部133がピクチャヘッダを復号することによって得られる符号化ピクチャの解像度などから決定される。
データ転送部135は、他の復号処理部(ここでは、第1復号処理部120)によって参照されると転送判定部134によって判定された復号データを、復号処理の処理単位以上の処理単位毎に、他の復号処理部(ここでは、第1復号処理部120)にデータ転送バス140を介して送信する。さらに、他の復号処理部(ここでは、第1復号処理部120)から送信される復号データを、データ転送バス140を介して受信する。なお、転送の処理単位は、例えば、マクロブロックラインである。
データ転送部135は、マクロブロックライン分の復号データを蓄積するバッファを内部に備えていてもよい。あるいは、バッファを備える代わりに、ビデオバッファ136から転送対象のマクロブロックラインの復号データを読み出して転送してもよい。
ビデオバッファ136は、復号部133によって生成された復号データと、データ転送部135によって受信された復号データとを記憶するメモリなどである。
データ転送バス140は、データ転送部125とデータ転送部135とを接続し、互いにデータを転送するためのバスである。なお、本実施の形態の画像復号装置100が、さらに、他の復号処理部を備える場合は、他の復号処理部が備えるデータ転送部とも接続し、互いにデータを転送することができる。
以上の構成により、本実施の形態の画像復号装置100は、符号化ストリームを複数の分割符号化ストリームに分割し、複数の復号処理部のそれぞれによって、互いに復号データを転送しながら、分割符号化ストリームを復号する。このとき、画素データのみならず、ブロック間の依存関係を示す制御データも転送し、対象ブロックの参照データがすべて得られていることを判定しながら、対象ブロックを復号する。
次に、画面内予測に基づいて符号化された符号化ピクチャ内の依存関係について説明する。なお、以下では、画面内予測に基づいて符号化されたイントラマクロブロックのみで構成されるイントラ符号化ピクチャを例に挙げて説明する。ただし、イントラマクロブロックと画面間予測に基づいて符号化されたインターマクロブロックとで構成されるピクチャも、以下に示す依存関係を有する。また、復号時にデブロッキングフィルタ処理を行う場合は、1行上のマクロブロックラインの復号データも必要とされるため、インターマクロブロックのみで構成されるピクチャの場合も同様である。
図3は、画面内予測に基づいたピクチャ内の参照関係を示す図である。第1復号処理部120は、イントラ符号化ピクチャ200aの上半分201aを復号し、第2復号処理部130は、イントラ符号化ピクチャ200aの下半分202aを復号する。
第1復号処理部120は、イントラ符号化ピクチャ200aの上半分201aを左上のマクロブロックから順に復号を開始する。H.264では、同一のピクチャ内で、対象ブロックの左、上、左上、及び、右上のブロックを参照することで対象ブロックを復号する。なお、例えば、上半分201aの最上部のマクロブロックラインに含まれるマクロブロックのように、上、左上、及び、右上のブロックが存在しない場合は、対象ブロックは、左のブロックのみを参照して符号化されているので、左のブロックのみを参照することで対象ブロックを復号することができる。
したがって、第1復号処理部120は、イントラ符号化ピクチャ200aの上半分201aを復号する際に、自身が既に復号したブロックを参照することで上半分201aの全てを復号することができる。このため、他の復号処理部から復号データを受信する必要はない。
第2復号処理部130は、イントラ符号化ピクチャ200aの下半分202aを左上のマクロブロックから順に復号を開始する。下半分202aの最上部のマクロブロックラインは、1行上のマクロブロックラインに含まれるブロックを参照することで復号される。しかしながら、当該1行上のマクロブロックラインはイントラ符号化ピクチャ200aの上半分201aに含まれ、第1復号処理部120によって復号される。
したがって、第1復号処理部120は、イントラ符号化ピクチャ200aの上半分201aの最下部のマクロブロックラインに対応する復号データを第2復号処理部130に転送しなければならない。なお、第2復号処理部130が2行目以降のマクロブロックラインを復号する際は、自身が復号したブロックを参照することで復号することができる。
以上のように、イントラ符号化ピクチャ200aを上下に2つの領域(上半分201aと下半分202a)に分割して復号する場合、第1復号処理部120が、上半分201aの最下部のマクロブロックラインに対応する復号データを第2復号処理部130に転送しなければ、第2復号処理部130は下半分202aの復号を開始することができない。これは、イントラ符号化ピクチャ内でブロックごとの依存関係(すなわち、参照関係)が存在するためである。
次に、画面間予測に基づいて符号化された符号化ピクチャ(インター符号化ピクチャ)と参照ピクチャとの依存関係について説明する。なお、インター符号化ピクチャとは、インターマクロブロックのみで構成されるピクチャ、又は、イントラマクロブロックとインターマクロブロックとで構成されるピクチャである。
図4は、画面間予測に基づいたピクチャ間の参照関係を示す図である。第1復号処理部120は、インター符号化ピクチャ200bの上半分201bを復号し、第2復号処理部130は、インター符号化ピクチャ200bの下半分202bを復号する。
なお、参照ピクチャ200cは、画面内予測又は画面間予測に基づいて符号化されたピクチャであり、インター符号化ピクチャ200bより復号順序(符号化順序)が先のピクチャである。第1復号処理部120は、参照ピクチャ200cの上半分201cを既に復号しており、第2復号処理部130は、参照ピクチャ200cの下半分202cを既に復号している。
第1復号処理部120は、インター符号化ピクチャ200bの上半分201bを左上のマクロブロックから順に復号を開始する。このとき、先に復号された参照ピクチャ200cを画面間予測の動きベクトルの検出に用いる。通常、動きベクトルのとり得る値は、H.264などの規格で定められているため、上半分201bを復号する際に参照されるピクチャの領域は、参照ピクチャ200cの全ての領域ではなく、一部の領域であることが多い。したがって、画面間予測に必要な領域に対応する復号データのうち、第2復号処理部130によって生成される復号データを、第2復号処理部130は第1復号処理部120に送信する。
例えば、インター符号化ピクチャ200bが、4096×2048画素の解像度を有する場合、H.264では動きベクトルの垂直方向の最大値は512画素であると定められている。したがって、図3に示すように、上半分201bを画面間予測に基づいて復号する際に必要となるデータは、参照ピクチャ200cの上半分201cと、参照ピクチャ200cの下半分202cの上部512画素ライン分である。参照ピクチャ200cの上半分201cは第1復号処理部120によって復号済みであり、参照ピクチャ200cの下半分202cの上部512画素ライン分は第2復号処理部130によって復号され、第1復号処理部120に送信される。
第2復号処理部130は、インター符号化ピクチャ200bの下半分202bを左上のマクロブロックから順に復号を開始する。このとき、同様に、下半分202bを復号する際に参照されるピクチャの領域は、参照ピクチャ200cの全ての領域ではなく、一部の領域であることが多い。したがって、画面間予測に必要な領域のうち、第1復号処理部120によって生成される復号データを、第1復号処理部120は第2復号処理部130に送信する。
インター符号化ピクチャ200bが、4096×2048画素の解像度を有する場合、下半分202bを画面間予測に基づいて復号する際に必要となるデータは、参照ピクチャ200cの下半分202cと、参照ピクチャ200cの上半分201cの下部512画素ライン分である。参照ピクチャ200cの下半分202cは第2復号処理部130によって復号済みであり、参照ピクチャ200cの上半分201cの下部512画素ライン分は第1復号処理部120によって、第2復号処理部130に送信される。
以上のように、規格に応じて動きベクトルの探索範囲に相当する領域の復号データがビデオバッファ126又は136に格納されるように、互いに復号データを転送する。つまり、転送判定部124又は134は、復号部123又は133によって生成された復号データが、動きベクトルの探索範囲に相当する領域内に含まれるか否かを判定することで、当該復号データを転送するか否かを判定することができる。
なお、ピクチャの解像度などの情報は、ピクチャヘッダを復号することで得られる。したがって、第1復号処理部120は、復号部123がピクチャヘッダを復号することで、解像度に関する情報を得ることができ、復号判定部122及び転送判定部124は、当該情報に基づいて、それぞれの判定処理を行う。
続いて、図5に示すような符号化ストリームを復号する場合の時間的な流れについて説明する。
図5は、ピクチャの符号化順序(復号順序)と表示順序とを示す図である。同図の“I”は、Iピクチャ、すなわち、イントラ符号化ピクチャを示す。“P”は、Pピクチャ、すなわち、単方向予測(一般的には、順方向予測)に基づいて符号化されたインター符号化ピクチャを示す。“B”は、Bピクチャ、すなわち、双予測に基づいて符号化されたインター符号化ピクチャを示す。以下では、説明を簡単にするため、Pピクチャは、Pスライスのみで構成され、BピクチャはBスライスのみで構成されるとする。なお、例えば、P1ピクチャは、I0ピクチャを参照し、B2ピクチャは、I0ピクチャ及びP1ピクチャを参照する。
なお、以下では、符号化ピクチャは4096×2048画素の解像度を有し、動きベクトルの垂直方向の最大値が512画素である場合について説明する。
図6は、符号化ピクチャを2つの領域に分割した場合の復号処理の時間的な流れを模式的に示す図である。同図に示すように、第1復号処理部120は、符号化ピクチャの上半分(I0−top、P1−top、B2−top、・・・)のみを含む分割符号化ストリームを復号する。第2復号処理部130は、符号化ピクチャの下半分(I0−bottom、P1−bottom、B2−bottom、・・・)のみを含む分割符号化ストリームを復号する。
0−topの上部301aは、I0−topの上部512画素ライン分の領域である。上部301aは、第1復号処理部120によって復号される。
0−topの下部302aは、I0−topの下部512画素ライン分の領域である。下部302aは、第2復号処理部130によってP1ピクチャ及びB2ピクチャなどを復号する際に参照される領域である。下部302aは、第1復号処理部120によって復号され、復号により生成された復号データは、第2復号処理部130に転送される。
0−bottomの上部303aは、I0−bottomの上部512画素ライン分の領域である。上部303aは、第1復号処理部120によってP1ピクチャ及びB2ピクチャなどを復号する際に参照される領域である。上部303aは、第2復号処理部130によって復号され、復号により生成された復号データは、第1復号処理部120に転送される。
0−bottomの下部304aは、I0−bottomの下部512画素ライン分の領域である。下部304aは、第2復号処理部130によって復号される。
1−topの上部301bは、P1−topの上部512画素ライン分の領域である。上部301bは、第1復号処理部120によってI0−top(上部301aと下部302a)を参照することで復号される。
1−topの下部302bは、P1−topの下部512画素ライン分の領域である。下部302bは、第2復号処理部130によってB2ピクチャなどを復号する際に参照される領域である。下部302bは、第1復号処理部120によってI0−top(上部301aと下部302a)とI0−bottomの上部303aとを参照することで復号され、復号により生成された復号データは、第2復号処理部130に転送される。
1−bottomの上部303bは、P1−bottomの上部512画素ライン分の領域である。上部303bは、第1復号処理部120によってB2ピクチャなどを復号する際に参照される領域である。上部303bは、第2復号処理部130によってI0−topの下部302aとI0−bottom(上部303aと下部304a)とを参照することで復号され、復号により生成された復号データは、第1復号処理部120に転送される。
1−bottomの下部304bは、P1−bottomの下部512画素ライン分の領域である。下部304bは、第2復号処理部130によってI0−bottom(上部303aと下部304a)を参照することで復号される。
2−topの上部301cは、P1−topの上部512画素ライン分の領域である。上部301cは、第1復号処理部120によってI0−top(上部301aと下部302a)とP1−top(上部301bと下部302b)を参照することで復号される。
2−topの下部302cは、B2−topの下部512画素ライン分の領域である。下部302cは、第1復号処理部120によってI0−top(上部301aと下部302a)とI0−bottomの上部303aとP1−top(上部301bと下部302b)とP1−bottomの上部303bとを参照することで復号される。
2−bottomの上部303cは、B2−bottomの上部512画素ライン分の領域である。上部303cは、第2復号処理部130によってI0−topの下部302aとI0−bottom(上部303aと下部304a)とP1−topの下部302bとP1−bottom(上部303bと下部304b)とを参照することで復号される。
2−bottomの下部304cは、B2−bottomの下部512画素ライン分の領域である。下部304cは、第2復号処理部130によってI0−bottom(上部303aと下部304a)とP1−bottom(上部303bと下部304b)とを参照することで復号される。
上述したように、本実施の形態では、第2復号処理部130がI0−bottomの復号を開始するためには、I0−topの最下部のマクロブロックラインに対応する復号データが必要である。したがって、第2復号処理部130は、第1復号処理部120から送信されたI0−topの最下部の復号データを受信したと同時に、I0−bottomの復号を開始する。このため、図6に示すように、第1復号処理部120と第2復号処理部130とでは、半分のピクチャを復号するのに要する時間分だけ復号の開始のタイミングが異なる。
したがって、I0−top及びI0−bottomは、異なる復号時間に、異なる復号処理部によって、また、P1−top及びP1−bottomと、B2−top及びB2−bottomとも同様に、異なる復号時間に、異なる復号処理部によって、パイプライン的に並列処理される。
また、復号時にデブロッキングフィルタ処理を行う場合、対象マクロブロックの1行上のマクロブロックラインの復号データも必要となる。このため、例えば、P1−bottomの上部303bを復号するためにはP1−topの下部302bの復号データが必要となるので、P1−topの下部302bの復号データが転送されている場合に、P1−bottomの上部303bの復号を開始することができる。B2−bottomの上部303cの復号についても同様である。また、Pピクチャ又はBピクチャにイントラスライスが含まれている場合も同様である。
図7は、複数の復号処理部による処理のタイミングを示す図である。
まず、時刻t0で、第1復号処理部120は、I0−topの左上のマクロブロックから順に復号を開始する。マクロブロックラインごとに順に復号を行い、時刻t1で、I0−topの上部301aの復号が完了する。I0−topの上部301aの復号データは、第2復号処理部130によって参照されることはないので、第2復号処理部130に転送する必要はない。
第1復号処理部120は、時刻t1で、引き続きI0−topの下部302aの復号を開始する。下部302aの復号データは、第2復号処理部130によって参照される可能性があるので、第2復号処理部130に転送しなければならない。そこで、第1復号処理部120は、時刻t2で、下部302aのうち最上部の1行分のマクロブロックラインの復号を完了し、完了と同時に、当該マクロブロックラインの復号データを第2復号処理部130に転送を開始する。
さらに、第1復号処理部120は、引き続きI0−topの下部302aの復号を行い、生成した復号データをマクロブロックラインごとに第2復号処理部130に転送する。そして、時刻t3で、第1復号処理部120は、I0−topの全てのマクロブロックの復号を完了する。完了と同時に、第1復号処理部120は、P1−topの左上のマクロブロックから順に復号を開始する。P1−topのうち上部301bを復号する際に参照されるI0ピクチャの領域は、I0−topのみであるので、P1−topの上部301bを復号する際は、第2復号処理部130の復号処理の進み具合に関わらず、復号処理を開始することができる。
時刻t4で、第1復号処理部120は、I0−topの最下部のマクロブロックラインの復号データの転送を完了する。なお、転送は、復号データが生成されてからでないと実行できないので、必ず、t4>t3を満たす。
第2復号処理部130は、時刻t4で、第1復号処理部120から送信された復号データを受信すると同時に、I0−bottomの左上のマクロブロックから順に復号を開始する。I0−bottomの上部303aの復号データは、第1復号処理部120によって参照される可能性があるため、第2復号処理部130は、第1復号処理部120に当該復号データを転送しなければならない。
第2復号処理部130は、時刻t5で、I0−bottomの最上部の1行分のマクロブロックラインの復号を完了し、完了と同時に、第1復号処理部120への転送を開始する。そして、時刻t6で、第2復号処理部130は当該最上部の1行分のマクロブロックラインの復号データの転送を完了する。同様にして、第2復号処理部130は、引き続きI0−bottomの復号を行い、I0−bottomの上部303aの復号データをマクロブロックラインごとに順に第1復号処理部120に転送し、時刻t9で、この転送を完了する。
第2復号処理部130は、時刻t13で、I0−bottomの復号を完了し、完了と同時に、P1−bottomの左上のマクロブロックから復号を開始する。なお、P1−bottomを復号する際に参照されるI0ピクチャの領域は、I0−topの下部302aとI0−bottomとのみである。
時刻t7で、第1復号処理部120は、P1−topの上部301bの復号を完了する。完了と同時に、P1−topの下部302bの最上部のマクロブロックラインの復号を開始する。ただし、このとき、I0−bottomの最上部のマクロブロックラインを参照する可能性があるため、P1−topの下部302bの最上部の1行分のマクロブロックラインの復号を開始する時刻t7は、当該マクロブロックラインの転送が完了する時刻t6より後でなくてはならない。すなわち、t7>t6を満たさなければならない。
仮に、第1復号処理部120がP1−topの上部301bの復号を完了した時点で、I0−bottomの最上部のマクロブロックラインの復号データの転送が完了していない場合は、第1復号処理部120は、転送が完了するまで復号処理を一時的に停止する。なお、以降のマクロブロックラインについても同様である。
さらに、P1−topの下部302bの復号データは、第2復号処理部130によってB2−Bottomの復号時に参照される可能性があるため、第1復号処理部120は、当該復号データを第2復号処理部130に転送しなければならない。そこで、時刻t8で、第1復号処理部120は、下部302bのうち最上部の1行分のマクロブロックラインの復号を完了し、完了と同時に、当該マクロブロックラインの復号データを第2復号処理部130に転送を開始する。
さらに、第1復号処理部120は、P1−topの下部302bの復号を行い、生成した復号データをマクロブロックラインごとに第2復号処理部130に転送する。時刻t10は、P1−topの最下部の1行分のマクロブロックラインの復号を開始する時刻である。この時刻t10までに、I0−bottomの上部303aの復号データの転送が完了していなければならない。すなわち、t10>t9を満たさなければならない。
そして、第1復号処理部120は、時刻t11で、P1−topの全てのマクロブロックの復号を完了する。完了と同時に、第1復号処理部120は、B2−topの左上のマクロブロックから順に復号を開始する。B2−topのうち上部301cを復号する際に参照されるI0ピクチャ及びP1ピクチャの領域は、I0−top及びP1−topのみであるので、B2−topの上部301cを復号する際は、第2復号処理部130の復号処理の進み具合に関わらず、復号処理を開始することができる。また、第1復号処理部120は、時刻t12で、P1−topの最下部の1行分のマクロブロックラインの転送を完了する。
以下、同様にして、B2ピクチャ、B3ピクチャ、B4ピクチャを並列処理で復号する。
なお、第1復号処理部120によるI0−topの復号時間(t0からt3までの時間)、P0−topの復号時間(t3からt11までの時間)、及び、第2復号処理部130によるI0−bottomの復号時間(t4からt13までの時間)を、例えば、符号化ストリームのフレームレートが毎秒30フレーム(30fps)の場合は、30分の1秒以内に収めることで、I0−topの復号時間分、すなわち、30分の1秒の復号遅延はあるものの、復号処理における実時間処理が可能となる。
なお、上述したように、H.264では、画面間予測に基づいて動きベクトルを検出する際に、対象ブロックの周辺のブロックの動きベクトルを参照することもできる。この場合、例えば、P1−bottomの上部303bを復号する際に、P1−topの下部302bの復号データが必要となる。したがって、図7に示すように、時刻t12で、第1復号処理部120は、P1−topの復号データの転送を完了し、完了した時点で、第2復号処理部130は、P1−bottomの復号を開始する。すなわち、I0−bottomの復号が終了した時刻t13で、P1−topの復号データの転送が完了していない場合(t13<t12)は、第2復号処理部130は、P1−topの復号データの転送が完了するのを一時的に待つ必要がある。
しかしながら、第1復号処理部120は、ピクチャの上半分の復号が完了した時点では、直ちに、次のピクチャの上半分の復号を開始することができる。これにより、必要なデータが転送されるのを待つ時間を低減することができる。
次に、本実施の形態の画像復号装置100の動作について説明する。
まず、本実施の形態の画像復号装置100に符号化ストリームが入力されると、ストリーム分割部110は、当該符号化ストリームを2個の分割符号化ストリームに分割し、第1復号処理部120及び第2復号処理部130に分割符号化ストリームを1つずつ供給する。第1復号処理部120及び第2復号処理部130はそれぞれ、ストリームバッファ121又は131に分割符号化ストリームを格納する。
以下では、複数の復号処理部がそれぞれ分割符号化ストリームを復号する処理について説明する。ここでは、第1復号処理部120が行う処理について説明する。なお、第2復号処理部130は、同様の処理を行う。
図8は、本実施の形態の画像復号装置100の動作を示すフローチャートである。
まず、復号部123は、ストリームバッファ121から分割符号化ストリームを読み出し、復号対象の復号処理単位(例えば、対象ブロック)がどのデータを参照するかなどを示す制御データを取得し、復号判定部122に供給する。復号判定部122は、制御データに基づいて、復号対象の復号処理単位を復号する際に参照される参照データが既に得られているか否かを判定する(S101)。
具体的には、復号部123によって既に生成されている復号データ、及び、データ転送部125によって第2復号処理部130から受信された復号データが、ビデオバッファ126に格納されているか否かを判定する。なお、復号判定部122は、イントラ符号化ピクチャの最初の復号処理単位を復号する場合などの他のデータを参照しない場合は、参照データが既に得られていると判定する。
参照データがまだ得られていないと判定された場合(S101でNo)、必要な参照データが全て得られるまで、分割符号化ストリームの符号化処理を待機させる。
参照データが既に得られていると判定された場合(S101でYes)、復号部123は、対象の復号処理単位を復号することで、復号データを生成する(S102)。生成した復号データは、転送判定部124を介して、ビデオバッファ126に格納される。
次に、転送判定部124は、復号部123によって生成された復号データが、転送の対象であるか否かを判定する(S103)。具体的には、第2復号処理部130による復号処理時に、当該復号データが参照されるか否かを制御データに基づいて判定する。当該復号データが参照される場合、当該復号データは転送の対象であると判定する。なお、他の復号処理部が複数ある場合は、どの復号処理部に転送するかも判定する。
復号部123によって生成された復号データが転送の対象であると判定され(S103でYes)、転送の対象であると判定された復号データが、転送処理単位(例えば、マクロブロックライン)に達した場合(S104でYes)、データ転送部125は、転送処理単位で復号データを第2復号処理部130に転送する(S105)。
転送の対象であると判定された復号データが、転送処理単位に達していない場合(S104でNo)、次の復号処理単位の復号を行う(S101に戻る)。ただし、転送処理単位に達していない場合でも、次の復号処理単位がない場合は、データ転送部125は、未転送の復号データを第2復号処理部130に転送する(S105)。
復号部123によって生成された復号データが転送の対象でないと判定され(S103でNo)、次の復号処理単位がある場合(S106でYes)、次の復号処理単位の復号を行う(S101に戻る)。次の復号処理単位がない場合(S106でNo)、復号処理を終了する。
以上のように、対象ブロックの復号に必要な参照データが得られている場合に、対象ブロックを復号する。さらに、復号により生成された復号データが他の復号処理部によって参照される場合は、当該他の復号処理部に転送される。このようにして、複数の復号処理部は、互いに参照するデータを転送しながら符号化ストリームを並列処理で復号することができる。
続いて、第1復号処理部120と第2復号処理部130とのより具体的な処理について図9及び図10を用いて説明する。以下では、符号化ピクチャが4096×2048画素の解像度を有し、動きベクトルの垂直方向の最大値が512画素である場合について説明する。なお、復号処理単位は、16×16画素のマクロブロックであり、転送処理単位は、マクロブロックラインであるとする。
図9は、本実施の形態の第1復号処理部120の動作を示すフローチャートである。
まず、復号部123は、分割符号化ストリーム中に含まれるそれより前のピクチャを画面間予測処理で参照しないと保証されているIDRピクチャを検出して、検出したIDRピクチャを1枚目のIピクチャとして復号を開始する。Iピクチャのデコードは、ピクチャヘッダデコード、スライスヘッダデコードに続き、マクロブロックのデコードを行う。
マクロブロックを復号する際に、復号判定部122は、対象マクロブロックを復号するのに必要な参照データが既に得られているか否かを判定する(S201)。なお、IDRピクチャの場合、最初のマクロブロックは他のピクチャ及びマクロブロックを参照することなく復号されるので、この判定処理(S201)は行わなくてもよい。
参照データがまだ得られていないと判定された場合(S201でNo)、必要な参照データが得られるまで、復号部123の復号処理を待機させる。必要な参照データが得られたと判定された場合(S201でYes)、復号部123は、当該参照データを参照することで、対象マクロブロックを復号する(S202)。
次に、転送判定部124は、復号した対象マクロブロックが、第2復号処理部130が画面間予測処理の際に参照される可能性がある範囲であるか否かを判定する。具体的には、まず、復号した対象マクロブロックがピクチャの左端のマクロブロックであるか否かを判定する(S203)。対象マクロブロックが左端のマクロブロックである場合(S203でYes)、さらに、転送判定部124は、対象マクロブロックの垂直方向の位置が512画素以上の位置であるか否かを判定する(S204)。
対象マクロブロックが左端のマクロブロックでない場合(S203でNo)、又は、対象マクロブロックの垂直方向の位置が512画素未満の位置である場合(S204でNo)、対象マクロブロックが最終マクロブロックでなければ(S206でNo)、次のマクロブロックを新たな対象マクロブロックとして復号を行う(S201に戻る)。
対象マクロブロックが左端のマクロブロックであり、かつ、垂直方向の位置が512画素以上の位置である場合(S204でYes)、データ転送部125は、当該対象マクロブロックの直前ラインの復号データを、データ転送バス140を介して、第2復号処理部130に転送する(S205)。
以上のように、マクロブロックのデコードを左上端のマクロブロックから順に行い、最後のマクロブロックの復号を完了した場合(S206でYes)、データ転送部125は、最終ラインの復号データを第2復号処理部130にデータ転送バス140を介して転送する(S207)。そして、第1復号処理部120は、次のピクチャに対して同様の処理を行う。
以上のように、本実施の形態では、特許文献1とは異なり、符号化ピクチャ内で復号の順序を変更することはない。すなわち、従来と同様に、左上のマクロブロックから順にマクロブロックラインに沿って復号する。そして、1行のマクロブロックラインの復号が終了すると、次の行のマクロブロックラインの左端のマクロブロックから復号を行う。このため、複雑な制御を行う必要もなく、既存の復号回路を利用することができる。
図10は、本実施の形態の第2復号処理部130の動作を示すフローチャートである。
まず、マクロブロックを復号する際に、復号判定部132は、対象マクロブロックを復号するのに必要な参照データが既に得られているか否かを判定する(S301)。具体的には、第2復号処理部130は、第1復号処理部120と同様に、符号化ストリーム中のIDRピクチャから復号を開始する。しかしながら、上述したように、復号処理を始めるにあたり画面内予測を行うためには、上方向に隣接しているマクロブロックの情報が必要となる。この情報は、第1復号処理部120によって復号された際に明らかとなる情報である。したがって、第2復号処理部130は、第1復号処理部120が復号した情報のうち画面内予測に必要な制御データがデータ転送バス140を通じて転送されたか否かを判定する。
参照データがまだ得られていないと判定された場合(S301でNo)、必要な参照データが得られるまで、復号部133の復号処理を待機させる。必要な参照データが得られたと判定された場合(S301でYes)、復号部133は、当該参照データを参照することで、対象マクロブロックを復号する(S302)。
次に、転送判定部134は、復号した対象マクロブロックが、第1復号処理部120が画面間予測処理の際に参照される可能性がある範囲であるか否かを判定する。具体的には、まず、復号した対象マクロブロックがピクチャの左端のマクロブロックであるか否かを判定する(S303)。対象マクロブロックが左端のマクロブロックである場合(S303でYes)、さらに、転送判定部134は、対象マクロブロックの垂直方向の位置が512画素未満の位置であるか否かを判定する(S304)。
さらに、本実施の形態では、転送は、マクロブロックラインごとに行うので、垂直方向の位置が16画素以上である場合(S305でYes)、すなわち、1行のマクロブロックラインが得られている場合に、データ転送部135は、当該対象マクロブロックの直前ラインの復号データを、データ転送バス140を介して、第1復号処理部120に転送する(S306)。
対象マクロブロックが左端のマクロブロックでない場合(S303でNo)、対象マクロブロックの垂直方向の位置が512画素未満の位置である場合(S304でNo)、又は、対象マクロブロックの垂直方向の位置が16画素未満の位置である場合(S305でNo)対象マクロブロックが最終マクロブロックでなければ(S306でNo)、次のマクロブロックを新たな対象マクロブロックとして復号を行う(S301に戻る)。
以上のように、マクロブロックのデコードを左上端のマクロブロックから順に行い、最後のマクロブロックの復号を完了した場合(S307でYes)、第2復号処理部130は、次のピクチャに対して同様の処理を行う。
以上のように、本実施の形態の画像復号装置及び画像復号方法によれば、必要なデータが転送されるのを待つ時間を低減することができる。また、画面間予測に必要な画素データだけでなく、復号の処理単位(例えば、マクロブロック)の依存関係を示す制御データが得られている場合に復号を開始するので、画面内予測に基づいて符号化された符号化ピクチャも復号することができる。さらに、データ転送を行う頻度を低減することができるので、復号処理部間で相互に通信するオーバーヘッドを小さくすることができる。
このように、画面間予測のみならず、画面内予測に基づいて1ピクチャ内に依存関係を有する場合にも、従来の復号回路を流用し、並列化の効率を低下させることなく、1ピクチャ内に依存関係がある符号化ピクチャを復号することができる。
以上、本発明の画像復号装置及び画像復号方法について、実施の形態に基づいて説明したが、本発明は、これらの実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を当該実施の形態に施したものも、本発明の範囲内に含まれる。
例えば、復号部123及び133は、16×16画素のマクロブロックごとに復号するとしたが、画素ごとに復号してもよい。また、マクロブロックの大きさも16×16画素に限らず、8×8、8×16、又は、16×8画素など他の大きさでもよい。
また、データ転送バス140を通じて、他方の復号処理部にデータを送信する単位をマクロブロックライン(すなわち、16画素ライン)ごととして説明したが、このデータの送信する単位は、512画素ライン未満の複数の行をまとめて転送しても、512画素ライン全てをまとめて転送してもよい。あるいは、スライス単位などでデータを送信してもよい。
また、本実施の形態では、符号化ストリームに含まれる複数の符号化ピクチャのそれぞれは、同じ水平軸を境界線としてN個の領域に分割され、N個の分割符号化ストリームは、各符号化ピクチャの同じ領域を含む場合について説明した。これに対して、符号化ピクチャごとに境界線の位置が異なっていてもよい。また、N個の領域のそれぞれが、異なる大きさでもよい。なお、分割する方向は、垂直軸、又は、対称軸を境界線としてもよい。ただし、依存関係が複雑になるので、水平軸を境界線とするのが望ましい。
また、本実施の形態では、2つの復号処理部を用いて復号処理を2並列で処理していく場合を説明したが、同様に、より多くの復号処理部を用いて並列処理を行ってもよい。例えば、2本の水平軸を境界線として符号化ピクチャを3つの等しい大きさの領域に分割してもよい。
図11は、ピクチャを3つの領域に分割した場合の復号処理の時間的な流れを模式的に示す図である。同図に示すように、画像復号装置は、第1復号処理部、第2復号処理部、及び、第3復号処理部の3つの処理部を用いて、並列処理を行う。
第1復号処理部は、符号化ピクチャの上部(I0−top、P1−top、B2−top、・・・)のみを含む分割符号化ストリームを復号する。第2復号処理部は、符号化ピクチャの中部(I0−middle、P1−middle、B2−middle、・・・)のみを含む分割符号化ストリームを復号する。第3復号処理部は、符号化ピクチャの下部(I0−middle、P1−middle、B2−middle、・・・)のみを含む分割符号化ストリームを復号する。
0−middleの最上部の1行分のマクロブロックラインを復号する際には、I0−topの最下部の1行分のマクロブロックラインの復号データが必要である。したがって、第2復号処理部は、I0−topの最下部の1行分のマクロブロックラインの復号データの受信が完了すると同時に、I0−middleの左上のマクロブロックの復号を開始する。このため、図11に示すように、第1復号処理部と第2復号処理部とでは、3分の1のピクチャを復号するのに要する時間分だけ復号の開始のタイミングが異なる。
0−bottomの最上部の1行分のマクロブロックラインを復号する際には、I0−middleの最下部の1行分のマクロブロックラインの復号データが必要である。したがって、第3復号処理部は、I0−middleの最下部の1行分のマクロブロックラインの復号データの受信が完了すると同時に、I0−bottomの左上のマクロブロックの復号を開始する。このため、図11に示すように、第2復号処理部と第3復号処理部とでは、3分の1のピクチャを復号するのに要する時間分だけ復号の開始のタイミングが異なる。
したがって、I0−top、I0−middle及びI0−bottomは、異なる復号時間に、異なる復号処理部によって、また、P1−top、P1−middle及びP1−bottomと、B2−top、B2−middle及びB2−bottomとも同様に、異なる復号時間に、異なる復号処理部によって、パイプライン的に並列処理される。
以上のように、イントラ符号化ピクチャの第1領域(例えば、I0−top)の下方向に隣接する第2領域(I0−middle)を復号する際は、第2領域を復号する復号処理部は、第1領域の最後のブロックが復号され、その復号データが転送されるのを待って、復号を開始する。これにより、互いにデータの転送を行いながら、複数の復号処理部により並列処理で符号化ストリームを復号することができる。なお、復号データをどの復号処理部に転送するかは、各復号処理部が備える転送判定部が判定する。
なお、特に、符号化ピクチャを3つ以上の領域に分割する場合は、これらの領域のそれぞれが、動きベクトルの最大探索範囲の半分以上の大きさであることが好ましい。具体的には、ピクチャの垂直画素数をL、分割数をN、動きベクトルの最大探索範囲をMとすると、以下の(式1)が成り立つ。
(式1) L/N≧M/2
このため、分割数Nは、以下の(式2)を満たすように決定される。
(式2) N≦2L/M
こうすることで、例えば、図11では、P1−bottomを画面間予測に基づいて復号する際に参照される領域は、I0−middleとI0−bottomとに限られ、I0−topを参照することはない。これにより、第1復号処理部と第3復号処理部とを接続しなくてもよいので、簡単な構成で画像復号装置を実現することができる。
さらに、このとき、分割された領域のそれぞれが、動きベクトルの最大探索範囲以上の大きさである場合は、1つのマクロブロックの復号データが2つ以上の復号処理部によって参照されることはない。
また、本実施の形態では、復号処理部同士は双方向に通信可能な共有バスを通じてデータを相互に転送するものとして説明しているが、データをやりとりするバスはそれぞれ単方向にのみ転送可能な個別のバスとして構成されてもかまわない。また、データをやりとりする手段はバスに限定されるものではなく、複数のメモリのバンク切り替えなどにより共有する構成でもかまわない。
また、複数の復号処理部は、それぞれ別々のLSIとして備えられてもよく、あるいは、単一のLSI内に統合されたシステムであってもかまわない。
かかる構成によれば、複数の復号処理部で構成されるシステムにおいて、画面を水平方向に分割し、それぞれの領域の復号処理を並列に処理する際に、画面内予測及び画面間予測に必要なデータを相互に転送し必要なデータがそろったことを検出しながら、それぞれの復号処理部が処理を進めることが可能となる。
また、本発明は、上述したように、画像復号装置及び画像復号方法として実現できるだけではなく、本実施の形態の画像復号方法をコンピュータに実行させるためのプログラムとして実現してもよい。また、当該プログラムを記録するコンピュータ読み取り可能なCD−ROMなどの記録媒体として実現してもよい。さらに、当該プログラムを示す情報、データ又は信号として実現してもよい。そして、これらプログラム、情報、データ及び信号は、インターネットなどの通信ネットワークを介して配信されてもよい。
また、本発明は、画像復号装置を構成する構成要素の一部又は全部を、1個のシステムLSIから構成してもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM及びRAMなどを含んで構成されるコンピュータシステムである。
本発明の画像復号装置及び画像復号方法は、既存の復号部を組み合わせることで、より高解像度な画像を容易に復号できるという効果を奏し、例えば、デジタルカメラ、デジタルテレビなどに利用することができる。

Claims (12)

  1. 画面内予測及び画面間予測に基づいて符号化された符号化ピクチャを含む符号化ストリームを復号する画像復号装置であって、
    前記符号化ピクチャがN個(Nは2以上の整数)の領域に分割されるように前記符号化ストリームを分割することで、N個の分割符号化ストリームを生成するストリーム分割部と、
    前記ストリーム分割部によって生成されたN個の分割符号化ストリームのそれぞれを復号するN個の復号処理部とを備え、
    前記N個の復号処理部のそれぞれは、
    前記分割符号化ストリームを画面内予測及び画面間予測に基づいて、前記符号化ピクチャの領域を構成する第1処理単位ごとに、予め定められた順序で復号することで、画素値を示す画素データと第1処理単位間の依存関係を示す制御データとを含む復号データを生成する復号部と、
    前記復号部によって生成される復号データが他の復号処理部によって参照されるか否かを、前記制御データに示される第1処理単位間の依存関係に基づいて判定する第1判定部と、
    前記第1判定部によって前記復号データが参照されると判定された場合、当該復号データを参照する他の復号処理部に当該復号データを、前記第1処理単位以上の第2処理単位ごとに送信し、かつ、他の復号処理部から送信される復号データを受信するデータ転送部と、
    画面内予測及び画面間予測に基づいて参照される復号データが、前記復号部によって既に生成されている、又は、前記データ転送部によって既に受信されているか否かを判定する第2判定部とを備え、
    前記復号部は、
    前記第2判定部によって復号データが生成されている、又は、受信されていると判定された場合、当該復号データに含まれる制御データを用いて、復号の対象である対象第1処理単位と依存関係を有する画素の画素データを参照することで、画面内予測及び画面間予測に基づいて前記分割符号化ストリームを復号する
    画像復号装置。
  2. 前記ストリーム分割部は、N−1本の水平軸を境界線として前記符号化ピクチャをN個の領域に分割されるように前記符号化ストリームを分割することで、前記N個の分割符号化ストリームを生成し、
    前記N個の領域のそれぞれは、前記復号処理部が画面間予測に基づいて復号する際に動きベクトルを探索する最大の範囲である最大探索範囲の半分以上の大きさの領域である
    請求項1記載の画像復号装置。
  3. 前記N個の分割符号化ストリームの1つである第1分割符号化ストリームは、前記N個の領域のうち第1領域を含み、
    前記N個の分割符号化ストリームの1つである第2分割符号化ストリームは、前記第1領域の下方向に隣接する第2領域を含み、
    前記N個の復号処理部の1つである第1復号処理部は、前記第1分割符号化ストリームを復号し、
    前記N個の復号処理部の1つである第2復号処理部は、前記第2分割符号化ストリームを復号し、
    前記第2復号処理部が備える前記データ転送部は、前記第1復号処理部から送信される、前記第1領域が復号されることで得られる復号データの少なくとも一部を受信し、
    前記第2復号処理部が備える前記第2判定部は、前記符号化ピクチャの前記第1領域の最後の第1処理単位が復号されることで生成される復号データが受信されたか否かを判定し、
    前記第2復号処理部が備える前記復号部は、前記第1領域の最後の第1処理単位が復号されることで生成される復号データが受信されたと判定された場合、前記符号化ピクチャの前記第2領域の復号を開始する
    請求項2記載の画像復号装置。
  4. 前記第1判定部は、前記復号部によって生成された復号データが、他の分割符号化ストリームに含まれる符号化ピクチャの他の領域を他の復号処理部が画面内予測に基づいて復号する際に、当該他の領域との依存関係を示す制御データと、当該他の領域との依存関係に基づいて参照される画素の画素データとの少なくとも1つを含む場合に、当該復号データが他の復号処理部によって参照されると判定する
    請求項3記載の画像復号装置。
  5. 前記第1判定部は、前記復号部によって生成された復号データが、他の分割符号化ストリームに含まれる符号化ピクチャの他の領域を他の復号処理部が画面間予測に基づいて復号する際の動きベクトルの探索範囲に位置する画素の画素データを含む場合に、当該復号データが他の復号処理部によって参照されると判定する
    請求項4記載の画像復号装置。
  6. 前記第2判定部は、前記復号部による復号の対象である対象第1処理単位との依存関係を示す制御データと、当該対象第1処理単位と依存関係を有する画素の画素データとの少なくとも1つを含む復号データが全て、前記復号部によって既に生成されている、又は、前記データ転送部によって既に受信されているか否かを判定する
    請求項5記載の画像復号装置。
  7. 前記ストリーム分割部は、前記符号化ピクチャが等しい大きさのN個の領域に分割されるように前記符号化ストリームを分割することで、N個の分割符号化ストリームを生成する
    請求項6記載の画像復号装置。
  8. 前記画像復号装置は、さらに、
    前記復号部によって生成された復号データと、前記データ転送部によって受信された復号データとを記憶する記憶部を備え、
    前記第2判定部は、前記画面内予測及び画面間予測に基づいて参照される復号データが、前記記憶部に既に記憶されているか否かを判定し、
    前記復号部は、前記第2判定部によって復号データが前記記憶部に記憶されていると判定された場合に、前記符号化ストリームを復号する
    請求項7記載の画像復号装置。
  9. 前記第1処理単位は、前記符号化ピクチャを構成するマクロブロックであり、
    前記第2処理単位は、マクロブロックラインである
    請求項8記載の画像復号装置。
  10. 画面内予測及び画面間予測に基づいて符号化された符号化ピクチャを含む符号化ストリームを復号する画像復号方法であって、
    前記符号化ピクチャがN個(Nは2以上の整数)の領域に分割されるように前記符号化ストリームを分割することで、N個の分割符号化ストリームを生成するストリーム分割ステップと、
    前記ストリーム分割部によって生成されたN個の分割符号化ストリームのそれぞれをN個の復号処理部を用いて復号する復号処理ステップとを含み、
    前記復号処理ステップでは、
    前記分割符号化ストリームを画面内予測及び画面間予測に基づいて、前記符号化ピクチャの領域を構成する第1処理単位ごとに、予め定められた順序で復号することで、画素値を示す画素データと第1処理単位間の依存関係を示す制御データとを含む復号データを生成する復号ステップと、
    前記復号ステップで生成される復号データが他の復号処理部によって参照されるか否かを、前記制御データに示される第1処理単位間の依存関係に基づいて判定する第1判定ステップと、
    前記第1判定ステップで前記復号データが参照されると判定された場合、当該復号データを参照する他の復号処理部に当該復号データを、前記第1処理単位以上の第2処理単位ごとに送信し、かつ、他の復号処理部から送信される復号データを受信するデータ転送ステップと、
    画面内予測及び画面間予測に基づいて参照される復号データが、前記復号ステップで既に生成されている、又は、前記データ転送ステップで既に受信されているか否かを判定する第2判定ステップとを含み、
    前記復号ステップでは、
    前記第2判定ステップによって復号データが生成されている、又は、受信されていると判定された場合、当該復号データに含まれる制御データを用いて、復号の対象である対象第1処理単位と依存関係を有する画素の画素データを参照することで、画面内予測及び画面間予測に基づいて前記分割符号化ストリームを復号する
    画像復号方法。
  11. 画面内予測及び画面間予測に基づいて符号化された符号化ピクチャを含む符号化ストリームを復号する集積回路であって、
    前記符号化ピクチャがN個(Nは2以上の整数)の領域に分割されるように前記符号化ストリームを分割することで、N個の分割符号化ストリームを生成するストリーム分割部と、
    前記ストリーム分割部によって生成されたN個の分割符号化ストリームのそれぞれを復号するN個の復号処理部とを備え、
    前記N個の復号処理部のそれぞれは、
    前記分割符号化ストリームを画面内予測及び画面間予測に基づいて、前記符号化ピクチャの領域を構成する第1処理単位ごとに、予め定められた順序で復号することで、画素値を示す画素データと第1処理単位間の依存関係を示す制御データとを含む復号データを生成する復号部と、
    前記復号部によって生成される復号データが他の復号処理部によって参照されるか否かを、前記制御データに示される第1処理単位間の依存関係に基づいて判定する第1判定部と、
    前記第1判定部によって前記復号データが参照されると判定された場合、当該復号データを参照する他の復号処理部に当該復号データを、前記第1処理単位以上の第2処理単位ごとに送信し、かつ、他の復号処理部から送信される復号データを受信するデータ転送部と、
    画面内予測及び画面間予測に基づいて参照される復号データが、前記復号部によって既に生成されている、又は、前記データ転送部によって既に受信されているか否かを判定する第2判定部とを備え、
    前記復号部は、
    前記第2判定部によって復号データが生成されている、又は、受信されていると判定された場合、当該復号データに含まれる制御データを用いて、復号の対象である対象第1処理単位と依存関係を有する画素の画素データを参照することで、画面内予測及び画面間予測に基づいて前記分割符号化ストリームを復号する
    集積回路。
  12. 画面内予測及び画面間予測に基づいて符号化された符号化ピクチャを含む符号化ストリームを復号する画像復号方法をコンピュータに実行させるプログラムであって、
    前記符号化ピクチャがN個(Nは2以上の整数)の領域に分割されるように前記符号化ストリームを分割することで、N個の分割符号化ストリームを生成するストリーム分割ステップと、
    前記ストリーム分割部によって生成されたN個の分割符号化ストリームのそれぞれをN個の復号処理部を用いて復号する復号処理ステップとを含み、
    前記復号処理ステップでは、
    前記分割符号化ストリームを画面内予測及び画面間予測に基づいて、前記符号化ピクチャの領域を構成する第1処理単位ごとに、予め定められた順序で復号することで、画素値を示す画素データと第1処理単位間の依存関係を示す制御データとを含む復号データを生成する復号ステップと、
    前記復号ステップで生成される復号データが他の復号処理部によって参照されるか否かを、前記制御データに示される第1処理単位間の依存関係に基づいて判定する第1判定ステップと、
    前記第1判定ステップで前記復号データが参照されると判定された場合、当該復号データを参照する他の復号処理部に当該復号データを、前記第1処理単位以上の第2処理単位ごとに送信し、かつ、他の復号処理部から送信される復号データを受信するデータ転送ステップと、
    画面内予測及び画面間予測に基づいて参照される復号データが、前記復号ステップで既に生成されている、又は、前記データ転送ステップで既に受信されているか否かを判定する第2判定ステップとを含み、
    前記復号ステップでは、
    前記第2判定ステップによって復号データが生成されている、又は、受信されていると判定された場合、当該復号データに含まれる制御データを用いて、復号の対象である対象第1処理単位と依存関係を有する画素の画素データを参照することで、画面内予測及び画面間予測に基づいて前記分割符号化ストリームを復号する
    プログラム。
JP2009541051A 2007-11-16 2008-11-14 画像復号装置及び画像復号方法 Pending JPWO2009063646A1 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2007297573 2007-11-16
JP2007297573 2007-11-16
PCT/JP2008/003326 WO2009063646A1 (ja) 2007-11-16 2008-11-14 画像復号装置及び画像復号方法

Publications (1)

Publication Number Publication Date
JPWO2009063646A1 true JPWO2009063646A1 (ja) 2011-03-31

Family

ID=40638500

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009541051A Pending JPWO2009063646A1 (ja) 2007-11-16 2008-11-14 画像復号装置及び画像復号方法

Country Status (3)

Country Link
US (1) US8565315B2 (ja)
JP (1) JPWO2009063646A1 (ja)
WO (1) WO2009063646A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2498595B (en) * 2012-02-16 2015-03-04 Imagination Tech Ltd Methods and apparatus for decoding video images
KR20130101900A (ko) * 2012-03-06 2013-09-16 삼성전자주식회사 전자 장치 및 인코딩 방법
WO2015076580A1 (ko) * 2013-11-20 2015-05-28 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
KR102232417B1 (ko) * 2013-11-20 2021-03-26 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
JP6458393B2 (ja) * 2014-08-05 2019-01-30 株式会社デンソー 映像信号処理装置及び映像信号処理プログラム
KR101676788B1 (ko) 2014-10-17 2016-11-16 삼성전자주식회사 멀티코어 시스템 기반 비디오 병렬 복호화 방법 및 그 장치
WO2016067939A1 (ja) * 2014-10-30 2016-05-06 ソニー株式会社 受信装置および方法
WO2018190242A1 (ja) * 2017-04-10 2018-10-18 日本電気株式会社 動画像処理装置、動画像処理方法、及び、動画像処理プログラムが格納された記録媒体

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006345157A (ja) * 2005-06-08 2006-12-21 Sony Corp 符号化装置、復号装置、符号化方法、復号方法、それらのプログラム
WO2008020470A1 (en) * 2006-08-15 2008-02-21 Fujitsu Limited Decoding method and device
JP2008042571A (ja) * 2006-08-07 2008-02-21 Renesas Technology Corp 動画符号化と動画復号とのいずれかを実行する機能モジュールおよびそれを含む半導体集積回路
JP2008283612A (ja) * 2007-05-14 2008-11-20 Sony Corp データ処理装置、復号装置、符号化装置、データ処理方法、復号方法、符号化方法、およびプログラム
JP2009038501A (ja) * 2007-07-31 2009-02-19 Toshiba Corp 復号化装置および復号方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6573905B1 (en) * 1999-11-09 2003-06-03 Broadcom Corporation Video and graphics system with parallel processing of graphics windows
US7627039B2 (en) * 2003-09-05 2009-12-01 Realnetworks, Inc. Parallel video decoding
JP4407472B2 (ja) 2004-10-29 2010-02-03 ソニー株式会社 符号化及び復号装置並びに符号化及び復号方法
JP2007060488A (ja) 2005-08-26 2007-03-08 Sony Corp 画像処理素子および画像処理方法、記録媒体、並びに、プログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006345157A (ja) * 2005-06-08 2006-12-21 Sony Corp 符号化装置、復号装置、符号化方法、復号方法、それらのプログラム
JP2008042571A (ja) * 2006-08-07 2008-02-21 Renesas Technology Corp 動画符号化と動画復号とのいずれかを実行する機能モジュールおよびそれを含む半導体集積回路
WO2008020470A1 (en) * 2006-08-15 2008-02-21 Fujitsu Limited Decoding method and device
JP2008283612A (ja) * 2007-05-14 2008-11-20 Sony Corp データ処理装置、復号装置、符号化装置、データ処理方法、復号方法、符号化方法、およびプログラム
JP2009038501A (ja) * 2007-07-31 2009-02-19 Toshiba Corp 復号化装置および復号方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CHONG,J.,SATISH,N.,CATANZARO, B., RAVINDRAN, K.,KEUTZER, K.: "Efficient Parallelization of H.264 Decoding with Macro Block Level Scheduling", PROC. OF IEEE CONF. ON MULTIMEDIA AND EXPO, JPN7009001044, 2 July 2007 (2007-07-02), pages 1874 - 1877, XP055318915, ISSN: 0002508256, DOI: 10.1109/ICME.2007.4285040 *
西原康介、幡生敦史、森吉達治: "組込みマルチコアプロセッサ向けH.264ビデオデコーダの並列化", 情報処理学会研究報告, vol. 第2007巻、第73号, JPN6009009123, 19 July 2007 (2007-07-19), JP, pages 25 - 30, ISSN: 0002508255 *

Also Published As

Publication number Publication date
WO2009063646A1 (ja) 2009-05-22
US20100239024A1 (en) 2010-09-23
US8565315B2 (en) 2013-10-22

Similar Documents

Publication Publication Date Title
JP6281851B2 (ja) 画像復号化装置、画像符号化装置、画像復号化方法、画像符号化方法、プログラムおよび集積回路
US10212441B2 (en) Method and apparatus for processing video
JP4819051B2 (ja) 動画像符号化装置、動画像復号化装置、動画像符号化方法、動画像復号化方法およびストリームデータ
JP4789200B2 (ja) 動画符号化と動画復号とのいずれかを実行する機能モジュールおよびそれを含む半導体集積回路
US7630441B2 (en) Pipelining decoding apparatus and method, and computer-readable recording medium for storing computer program for controlling the pipelining decoding apparatus
JPWO2009063646A1 (ja) 画像復号装置及び画像復号方法
US10757431B2 (en) Method and apparatus for processing video
JP5995583B2 (ja) 画像符号化装置、画像復号装置、画像符号化方法、画像復号方法、及びプログラム
JP4879269B2 (ja) 復号化方法及び装置
JP2009267689A (ja) 動画像符号化装置、及び動画像符号化方法
JP4625096B2 (ja) 復号化回路、復号化装置、及び復号化システム
JP2012175424A (ja) 符号化処理装置および符号化処理方法
JP5580541B2 (ja) 画像復号化装置および画像復号化方法
JP2007329528A (ja) 動きベクトル復号化方法および復号化装置
JP2015185979A (ja) 動画像符号化装置及び動画像符号化器
US20070071098A1 (en) Image storage device for motion estimation and method of storing image data
JP2010041235A (ja) 画像符号化装置及び復号装置
JP2007325230A (ja) 動きベクトル復号化方法および復号化装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111020

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111020

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130416

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130607

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130702