JP4427827B2 - データ処理方法、データ処理装置及び記録媒体 - Google Patents

データ処理方法、データ処理装置及び記録媒体 Download PDF

Info

Publication number
JP4427827B2
JP4427827B2 JP20035398A JP20035398A JP4427827B2 JP 4427827 B2 JP4427827 B2 JP 4427827B2 JP 20035398 A JP20035398 A JP 20035398A JP 20035398 A JP20035398 A JP 20035398A JP 4427827 B2 JP4427827 B2 JP 4427827B2
Authority
JP
Japan
Prior art keywords
processing
slice
processors
macroblock
processor
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
JP20035398A
Other languages
English (en)
Other versions
JP2000030047A5 (ja
JP2000030047A (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 JP20035398A priority Critical patent/JP4427827B2/ja
Priority to US09/352,422 priority patent/US6870883B2/en
Publication of JP2000030047A publication Critical patent/JP2000030047A/ja
Priority to US11/052,190 priority patent/US20050147174A1/en
Publication of JP2000030047A5 publication Critical patent/JP2000030047A5/ja
Application granted granted Critical
Publication of JP4427827B2 publication Critical patent/JP4427827B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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/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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Description

【0001】
【発明の属する技術分野】
本発明は、たとえばMPEG(Moving Picture coding Experts Groupによる高品質動画符号化方式)のような、ビデオデータやオーディオデータなどのデータを、可変長データからなるビットストリームに変換する符号化方式およびその復号化方式に関し、特に、並列処理によりその符号化および復号化を高速に行うデータ処理方法、データ処理装置及び記録媒体に関する。
【0002】
【従来の技術】
現在、広く用いられている画像の標準的符号化および復号化方式である、MPEG方式(MPEG1およびMPEG2)について説明する。図14は、MPEGにおける、画像データの構造を示す図である。図14に示すように、MPEGの画像データは階層構造に構成されている。各階層は、上位から順に、ビデオ・シーケンス(以降、単にシーケンスと言う)、グループ・オブ・ピクチャ(GOP)、ピクチャ、スライス、マクロブロック、ブロックとなっている。MPEG符号化では、画像データはこの階層構造に基づいて順次符号化され、ビットストリームに変換される。
【0003】
図15に、MPEG符号化されたデータのビットストリームの構造を示す。図15のビットストリームでは、各ピクチャはj個のスライスからなり、各スライスはi個のマクロブロックからなる。また、図14に示した階層のうちブロック以外は符号化モードなどが格納されたヘッダを持つ。したがって、ビットストリームの構成をビデオ・シーケンスの先頭から列挙すると、シーケンス・ヘッダ(SEQH)151、GOP・ヘッダ(GOPH)152、ピクチャ・ヘッダ(PH)153、スライス・ヘッダ(SH)154、マクロブロック・ヘッダ(MH)155、マクロブロック0の圧縮データ(MB0)156、マクロブロック・ヘッダ(MH)157、マクロブロック1の圧縮データ(MB1)158・・・となる。なお、ビットストリームに含まれるマクロブロックの圧縮データのサイズは可変長であり、画像の性質などによって変動する。また、MPEG復号化では、このビットストリームが順次復号化され、図14の階層構造に基づいて画像が再構成される。
【0004】
次に、MPEGによる符号化処理および復号化処理を行うための、処理装置の構成、処理アルゴリズムおよび処理の流れについて具体的に説明する。まず、符号化処理について説明する。図16は、MPEG符号化を行うための一般的な処理装置の構成を示すブロック図である。図16に示す符号化装置160は、動きベクトル検出部(ME)161、減算器162、離散コサイン変換部(FDCT)163、量子化部164、可変長符号化部(VLC)165,逆量子化部(IQ)166、逆離散コサイン変換部(IDCT)167、加算器168、動き補償部(MC)169およびエンコード制御部170を有する。
【0005】
このような構成の符号化装置160においては、入力された画像データの符号化モードがP(Predictive coded)ピクチャまたはB(Bidirectionally predictive coded)ピクチャの場合には、動きベクトル検出部161でマクロブロック単位に動き補償予測が行われ、減算器162で予測誤差が検出され、その予測誤差に対して、離散コサイン変換部163でDCTを行ってDCT係数が求められる。また、符号化モードがI(Intra coded)ピクチャの場合には、画素値がそのまま離散コサイン変換部163に入力されてDCTが行われ、DCT係数が求められる。
【0006】
求められたDCT係数が、量子化部164で量子化され、可変長符号化部165で動きベクトルや符号化モード情報とともに可変長符号化されることにより、符号化ビットストリームが生成される。また、量子化部164で生成された量子化データは、逆量子化部166で逆量子化され、逆離散コサイン変換部167でIDCTされて元の予測誤差に復元され、加算器168で参照画像に加算され、動き補償部169において参照画像が生成される。なお、エンコード制御部170は、これら符号化装置160の各部の動作を制御する。
【0007】
このような符号化処理は、一般に、動きベクトル検出部161における動きベクトル検出処理から量子化部164における量子化処理までの符号化処理、ビットストリームを生成する可変長符号化部165、および、逆量子化部166における逆量子化処理から動き補償部169における動き補償処理までの局所復号化処理の、3つの処理部に大別される。
【0008】
次に、このような符号化処理を行い、図15に示したような構造の符号化ビットストリームを生成するための処理の流れについて、図17を参照して説明する。図17は、MPEG符号化を行ってビットストリームを生成する処理の流れを示すフローチャートである。符号化処理を開始したら(ステップS180)、シーケンス・ヘッダを生成し(ステップS181)、GOP・ヘッダを生成し(ステップS182)、ピクチャ・ヘッダを生成し(ステップS183)、スライス・ヘッダを生成する(ステップS184)。
【0009】
各階層のヘッダの生成が終了したら、マクロブロック符号化を行い(ステップS185)、マクロブロック可変長符号化を行い(ステップS186)、マクロブロック局所符号化を行う(ステップS187)。そして、スライス内の全てのマクロブロックについて符号化処理が終了したら、次のスライスの処理に移る(ステップS188)。以下同様に、1つのピクチャの全ての処理が終了したら、次のピクチャの処理に移り(ステップS189)、1GOPの全ての処理が終了したら、次のGOPの処理に移る(ステップS190)。そして、これらの処理を、シーケンスが終了するまで繰り返したら(ステップS181)、処理を終了する(ステップS192)。
【0010】
また、このような符号化処理を、たとえばDSP(デジタル・シグナル・プロセッサ)などの演算処理装置により逐次処理する場合の、タイムチャートを図18に示す。図18に示すように、演算処理装置においては、図16に示したフローチャートの各処理を、各マクロブロックごとに順に行うことになる。なお、図18において、処理MBx−ENCは、第(x+1)番目のマクロブロックxのデータに対する符号化処理を示し、処理MBx−VLCは、第(x+1)番目のマクロブロックxのデータに対する可変長符号化処理を示し、処理MBx−DECは、第(x+1)番目のマクロブロックxのデータに対する局所符号化処理を示す。
【0011】
次に、復号化処理について説明する。図19は、MEPG復号化を行うための一般的な処理装置の構成を示すブロック図である。図19に示す復号化装置200は、可変長復号化部(VLD)201、逆量子化部(IQ)202、逆離散コサイン変換部(IDCT)203、加算器204、動き補償部(MC)205およびデコード制御部206を有する。
【0012】
このような構成の復号化装置200においては、入力された符号化データのビットストリームは、可変長復号化部201で復号化され、マクロブロックごとの符号化モード、動きベクトル、量子化情報および量子化DCT係数が分離される。復号化された量子化DCT係数は、逆量子化部202で逆量子化されてDCT係数に復元され、逆離散コサイン変換部203によりIDCTされて画素空間データに変換される。
【0013】
そして、そのブロックが動き補償予測モードの場合には、加算器204で動き補償予測されたブロックデータが加算されて元のデータが復元され出力される。また、動き補償部205では、復号された画像に基づいて、動き補償予測を行い、加算器204において加算されるデータを生成しておく。なお、第1の可変長復号化部(VLD)206は、これら復号化装置200の各部の動作を制御する。
【0014】
なお、このような復号化処理は、一般に、ビットストリームを解読する可変長復号化部201における可変長復号化処理と、逆量子化部202における逆量子化から動き補償部205における動き補償処理までの復号化処理の、2つの処理部に大別される。
【0015】
次に、このような符号化処理を行い、図15に示したような構造の符号化ビットストリームを復号するための処理の流れについて、図20を参照して説明する。図20は、MPEG復号化を行って元の画像データを生成する処理の流れを示すフローチャートである。復号化処理を開始したら(ステップS210)、シーケンス・ヘッダを復号化し(ステップS211)、GOP・ヘッダを復号化し(ステップS212)、ピクチャ・ヘッダを復号化し(ステップS213)、スライス・ヘッダを復号化する(ステップS214)。
【0016】
各階層のヘッダの復号化が終了したら、マクロブロック可変長復号化を行い(ステップS215)、マクロブロックの復号化処理を行う(ステップS216)。そして、スライス内の全てのマクロブロックについて復号化処理が終了したら、次のスライスの処理に移る(ステップS217)。以下同様に、1ピクチャの全ての処理が終了したら、次のピクチャの処理に移り(ステップS218)、1GOPの全ての処理が終了したら、次のGOPの処理に移る(ステップS219)。そして、これらの処理を、シーケンスが終了するまで繰り返したら(ステップS220)、処理を終了する(ステップS221)。
【0017】
また、このような復号化処理を、たとえばDSP(デジタル・シグナル・プロセッサ)などの演算処理装置により逐次処理する場合の、タイムチャートを図21に示す。図21に示すように、演算処理装置においては、図20に示したフローチャートの各処理を、各スライスごとに、また、各スライス内では各マクロブロックごとに順に行うことになる。なお、図18において、処理SH−VLDは、スライス・ヘッダ復号化処理を示し、MBx−VLDは、第(x+1)番目のマクロブロックxの符号化データに対する可変長復号化処理を示し、処理MBx−DECは、第(x+1)番目のマクロブロックxの符号化データに対する復号化処理を示す。
【0018】
【発明が解決しようとする課題】
ところで、このような画像などのデータの符号化および復号化を、複数の演算処理装置を有する並列処理装置により効率よく高速に行いたいという要望がある。しかしながら、これまでの並列処理装置および並列処理方法では、種々の問題があり十分に効率よく高速な処理が行えなかった。具体的には、まず、前述した符号化処理および復号化処理を並列処理により効率よく行おうとした場合、どの工程をどのように複数の演算処理装置に振り分ければよいか、決定するのが難しいという問題がある。
【0019】
また、このような符号化処理および復号化処理においては、可変長データを処理対象としているため、この可変長符号化処理および可変長復号化処理についてはデータ処理の順番として逐次処理を行わざるを得ない。そのため、この逐次処理部分の実行時に並列処理が中断されたり、また、この逐次処理部分がネックとなって処理速度が制限されたりする場合がある。また、各演算処理装置における処理の実行時間が等しければ負荷が均等になり効率よい処理が行えるが、各工程の処理時間は異なるために、各演算処理装置の負荷は不均等になり、効率よい処理が行えないという問題も生じる。
【0020】
また、このような並列処理方法では、たとえば前述した画像データの場合には1つのビデオセグメントであるような、1つのデータに対する処理を複数の演算処理装置で分割して行っているため、データの授受に伴う同期や通信の制御を行う必要があり、装置の構成や制御方法などが複雑になるという問題もある。さらに、各演算処理装置で行う処理が異なるため、個々の演算処理装置に対して処理プログラムを用意し、また、個々の演算処理装置に対して別個に処理の制御を行わなければならず、一層装置の構成や制御方法などが複雑になるという問題もある。
【0021】
したがって、本発明の目的は、複数の演算処理装置を有し、たとえば画像データなどの符号化処理および復号化処理を高速に行うことができ、構成が簡単な、符号化装置および復号化装置を提供することにある。また、本発明の他の目的は、任意の構成の並列処理装置に適用可能であり、たとえば画像データなどの符号化処理および復号化処理を高速に行うことができるデータ処理方法、データ処理装置及び記録媒体を提供することにある。
【0022】
【課題を解決するための手段】
したがって、本発明のデータ処理装置は、画像データを分割して得られるN個のマクロブロックまたはスライスに対して符号化処理を行う場合に、可変長符号化処理を逐次処理する第1プロセッサと、符号化処理及び局所復号化処理を並列に処理する複数の第2プロセッサと、前記第1プロセッサにおいてn番目のマクロブロックまたはスライス(nは1からNまでの整数)に対する可変長符号化処理が終了したことを条件に、前記n番目のマクロブロックまたはスライスに対する局所復号化処理と、前記n番目のマクロブロックまたはスライスの次に処理すべきマクロブロックまたはスライスに対する符号化処理とを、前記複数の第2プロセッサのうちの処理を実行していないいずれかの第2プロセッサに対して割り当てる割当手段と、を有し、前記割当手段は、前記複数の第2プロセッサのいずれかにより前記n番目のマクロブロックまたはスライスに対する符号化処理が終了したことを条件に、前記n番目のマクロブロックまたはスライスに対する可変長符号化処理を前記第1プロセッサに対して割り当てる。
【0023】
また、本発明のデータ処理装置は、画像データを分割して得られるN個のマクロブロックまたはスライスに対して符号化処理を行う場合に、可変長符号化処理を逐次処理し、かつ、符号化処理及び局所復号化処理を並列に処理する複数のプロセッサと、前記複数のプロセッサのうちのいずれかのプロセッサに対して、n番目のマクロブロックまたはスライス(nは1からNまでの整数)に対する符号化処理、可変長符号化処理、局所復号化処理を順次行わせる割当手段と、を有し、前記割当手段は、前記複数のプロセッサのうちのいずれかのプロセッサにおいて、前記n番目のマクロブロックまたはスライスに対する可変長符号化処理が終了するまで、前記複数のプロセッサのうちの他のプロセッサに対して、n+1番目のマクロブロックまたはスライスに対する可変長符号化処理の開始を待機させる。
【0024】
また、本発明のデータ処理装置は、画像データを分割して得られるN個のマクロブロックまたはスライスに対して復号化処理を行う場合に、可変長符号化処理を逐次処理し、かつ、符号化処理及び局所復号化処理を並列に処理する複数のプロセッサと、前記複数のプロセッサのうちのいずれかのプロセッサに対して、n番目のマクロブロックまたはスライス(nは1からNまでの整数)に対する復号化処理、可変長復号化処理を順次行わせる割当手段と、を有し、前記割当手段は、前記複数のプロセッサのうちのいずれかのプロセッサにおいて、前記n番目のマクロブロックまたはスライスに対する可変長復号化処理が終了するまで、前記複数のプロセッサのうちの他のプロセッサに対して、n+1番目のマクロブロックまたはスライスに対する可変長復号化処理の開始を待機させる。
【0025】
また、本発明のデータ処理方法は、画像データを分割して得られるN個のマクロブロックまたはスライスに対して符号化処理を行う場合に、n番目のマクロブロックまたはスライス(nは1からNまでの整数)に対する可変長符号化処理を第1プロセッサが逐次処理させるステップと、前記第1プロセッサにおいて、n番目のマクロブロックまたはスライスに対する可変長符号化処理が終了したことを条件に、前記n番目のマクロブロックまたはスライスに対する局所復号化処理と、前記n番目のマクロブロックまたはスライスの次に処理すべきマクロブロックまたはスライスに対する符号化処理とを、複数の第2プロセッサのうちの処理を実行していないいずれかの第2プロセッサに対して並列処理させるように割り当てるステップと、前記複数の第2プロセッサのいずれかにより前記n番目のマクロブロックまたはスライスに対する符号化処理が終了したことを条件に、前記n番目のマクロブロックまたはスライスに対する可変長符号化処理を前記第1プロセッサに対して割り当てるステップと、を有する。
また、本発明のデータ処理方法は、画像データを分割して得られるN個のマクロブロックまたはスライスに対して符号化処理を行う場合に、n番目のマクロブロックまたはスライス(nは1からNまでの整数)に対する、符号化処理を並列処理させ、可変長符号化処理を逐次処理させ、局所復号化処理を並列処理させるように、複数のプロセッサのうちのいずれかのプロセッサに対して割り当てるステップと、前記複数のプロセッサのうちのいずれかのプロセッサにおいて、前記n番目のマクロブロックまたはスライスに対する可変長符号化処理が終了するまで、前記複数のプロセッサのうちの他のプロセッサに対して、n+1番目のマクロブロックまたはスライスに対する可変長符号化処理の開始を待機させるステップと、を有する。
また、本発明のデータ処理方法は、画像データを分割して得られるN個のマクロブロックまたはスライスに対して復号化処理を行う場合に、n番目のマクロブロックまたはスライス(nは1からNまでの整数)に対する復号化処理、可変長復号化処理を、複数のプロセッサのうちのいずれかのプロセッサに順次実行させるステップと、前記複数のプロセッサのうちのいずれかのプロセッサにおいて前記n番目のマクロブロックまたはスライス(nは1からNまでの整数)に対する可変長復号化処理が終了したことを条件に、当該n番目のマクロブロックまたはスライスに対する復号化処理を前記複数のプロセッサのうち、処理を実行していない他のプロセッサに実行させるステップと、前記複数のプロセッサのうちのいずれかのプロセッサにおいて、前記n番目のマクロブロックまたはスライスに対する可変長復号化処理が終了するまで、前記複数のプロセッサのうちの他のプロセッサに対して、n+1番目のマクロブロックまたはスライスに対する可変長復号化処理の開始を待機させるステップと、を有する。
また、本発明のプログラムは、画像データを分割して得られるN個のマクロブロックまたはスライスに対して符号化処理を行う処理を第1プロセッサ及び第2プロセッサを有するコンピュータに実行させるプログラムを記録した、前記コンピュータが読み取り可能な記録媒体であって、前記第1プロセッサにおいて、n番目のマクロブロックまたはスライス(nは1からNまでの整数)に対する可変長符号化処理を逐次処理させる手順と、前記第1プロセッサにおいて、n番目のマクロブロックまたはスライスに対する可変長符号化処理が終了したことを条件に、前記n番目のマクロブロックまたはスライスに対する局所復号化処理と、前記n番目のマクロブロックまたはスライスの次に処理すべきマクロブロックまたはスライスに対する符号化処理とを、複数の前記第2プロセッサのうちの処理を実行していないいずれかの第2プロセッサに対して並列処理させるように割り当てる手順と、前記複数の第2プロセッサのいずれかにより前記n番目のマクロブロックまたはスライスに対する符号化処理が終了したことを条件に、前記n番目のマクロブロックまたはスライスに対する可変長符号化処理を前記第1プロセッサに対して割り当てる手順と、を前記コンピュータに実行させるプログラムを記録した、前記コンピュータが読み取り可能な記録媒体である
画像データを分割して得られるN個のマクロブロックまたはスライスに対して符号化処理を行う処理を複数のプロセッサを有するコンピュータに実行させるプログラムを記録した、前記コンピュータが読み取り可能な記録媒体であって、n番目のマクロブロックまたはスライス(nは1からNまでの整数)に対する、符号化処理を並列処理させ、可変長符号化処理を逐次処理させ、局所復号化処理を並列処理させるように、前記複数のプロセッサのうちのいずれかのプロセッサに順次割り当てる手順と、前記複数のプロセッサのうちのいずれかのプロセッサにおいて、前記n番目のマクロブロックまたはスライスに対する可変長符号化処理が終了するまで、前記複数のプロセッサのうちの他のプロセッサに対して、n+1番目のマクロブロックまたはスライスに対する可変長符号化処理の開始を待機させる手順と、を前記コンピュータに実行させるプログラムを記録した、前記コンピュータが読み取り可能な記録媒体である
画像データを分割して得られるN個のマクロブロックまたはスライスに対して復号化処理を行う処理を複数のプロセッサを有するコンピュータに実行させるプログラムを記録した、前記コンピュータが読み取り可能な記録媒体であって、n番目のマクロブロックまたはスライス(nは1からNまでの整数)に対する復号化処理、可変長復号化処理を、前記複数のプロセッサのうちのいずれかのプロセッサに順次実行させる手順と、前記複数のプロセッサのうちのいずれかのプロセッサにおいて前記n番目のマクロブロックまたはスライス(nは1からNまでの整数)に対する可変長復号化処理が終了したことを条件に、当該n番目のマクロブロックまたはスライスに対する復号化処理を前記複数のプロセッサのうち、処理を実行していない他のプロセッサに実行させる手順と、前記複数のプロセッサのうちのいずれかのプロセッサにおいて、前記n番目のマクロブロックまたはスライスに対する可変長復号化処理が終了するまで、前記複数のプロセッサのうちの他のプロセッサに対して、n+1番目のマクロブロックまたはスライスに対する可変長復号化処理の開始を待機させる手順と、を前記コンピュータに実行させるプログラムを記録した、前記コンピュータが読み取り可能な記録媒体である
【0026】
【発明の実施の形態】
本発明の実施の形態について、図1〜図13を参照して説明する。本実施の形態においては、複数のプロセッサにより並列処理を行い、MPEG2により動画像の符号化および復号化を行う、画像符号化/復号化装置を例示して本発明を説明する。
【0027】
なお、MPEG符号化および復号化の並列処理を行う際の処理単位としては、図14に示した各階層のいずれか、あるいは画素が考えられるが、本実施の形態においては、マクロブロックを並列処理単位として選択した場合について説明する。マクロブロックを並列処理単位とした場合、1スライス内においては符号化処理、局所復号化処理および復号化処理は並列実行できるが、可変長符号化処理および可変長復号化処理については逐次実行する必要がある。これは、可変長符号化処理および可変長復号化処理ではマクロブロックの圧縮データが可変長であり、ビットストリーム上におけるマクロブロックの圧縮データの先頭位置が、直前のマクロブロックの可変長符号化処理または可変長復号化処理が完了するまで決定しないためである。なお、この制約は、スライスを並列処理単位にした場合も同様である。
【0028】
第1の画像符号化/復号化装置まず、並列処理により前述したような画像の符号化および復号化を行う、これまでの画像符号化/復号化装置について説明する。図1は、その画像符号化/復号化装置の並列処理部の構成を示す概略ブロック図である。図1に示すように、画像符号化/復号化装置の並列処理部9は、n個のプロセッサ2-1〜2-n、メモリ3および結合網4を有する。
【0029】
まず、この並列処理部9の構成について説明する。n個のプロセッサ2-1〜2-nは、各々独立して所定の演算処理を行うプロセッサである。各プロセッサ2-i(i=1〜n)は、実行する演算処理プログラムが格納されるプログラムROMまたはプログラムRAM、演算に係わるデータなどを記憶するRAMを有している。そして、プロセッサ2-iは、このプログラムROMまたはプログラムRAMに予め記憶されているプログラムに従って所定の動作を行う。
【0030】
なお、本実施の形態においてはn=3、すなわち、並列処理部9は3つのn個のプロセッサ2-1〜2-3を有するものとする。また、以下の説明では、各プロセッサ2-1〜2-nについて、画像データの符号化および復号化に関する処理についてのみ述べるが、これと並行して、いずれか1つのプロセッサ2-i(i=1〜n)において、あるいは、n個のプロセッサ2-1〜2-n各々において、並列処理部9全体の動作を制御するための処理も行われる。そして、この制御動作により、各プロセッサ2-1〜2-nが協働して、また同期して、以下に説明するような動作をするものである。
【0031】
メモリ3は、n個のプロセッサ2-1〜2-nの共有メモリである。メモリ3には、処理対象の画像データや処理結果のデータが記憶され、n個のプロセッサ2-1〜2-nにより適宜データの読み出しおよび書き込みが行われる。結合網4は、n個のプロセッサ2-1〜2-nが協働して動作するように、また、n個のプロセッサ2-1〜2-nがメモリ3を適宜参照するように、n個のプロセッサ2-1〜2-nおよびメモリ3を相互に接続する接続部である。
【0032】
次に、このような構成の並列処理部9において、前述したような動画像の符号化処理を行う場合の、各プロセッサ2-i(i=1〜3)における処理、および、並列処理部9の動作について説明する。まず、各プロセッサ2-iにおける処理について説明する。並列処理部9においては、各マクロブロックの可変長符号化処理を1つのプロセッサ(以降、このプロセッサを親プロセッサと言う。)に固定して割り当てて逐次実行させ、符号化処理および局所復号化処理をその他のプロセッサ(以降、このプロセッサを子プロセッサと言う。)に割り当てて、並列実行を行う。図1に示す並列処理部9においては、第1のプロセッサ2-1を親プロセッサ、第2および第3のプロセッサ2-2,2-3を子プロセッサとする。
【0033】
まず、親プロセッサである第1のプロセッサ2-1は、図2のフローチャートに示すような処理を行う。すなわち、符号化処理を開始したら(ステップS10)、シーケンス・ヘッダを生成し(ステップS11)、GOP・ヘッダを生成し(ステップS12)、ピクチャ・ヘッダを生成し(ステップS13)、スライス・ヘッダを生成する(ステップS14)。スライス・ヘッダの生成が終了したら、親プロセッサは子プロセッサを起動し(ステップS15)、子プロセッサにおける符号化処理の終了待ち状態に入る(ステップS16)。
【0034】
子プロセッサにおけるマクロブロックの符号化処理が終了したら(ステップS16)、そのマクロブロックの可変長符号化処理を始める(ステップS17)。なお、この可変長符号化処理は、前述したような制約により逐次実行しなくてはならない。したがって、たとえマクロブロック1の符号化処理の方がマクロブロック0の符号化処理よりも先に終了したとしても、プロセッサ0は必ずマクロブロック0の可変長符号化処理を先に行う。
【0035】
親プロセッサは、スライス内の全ての処理が終了するまで、この手順を繰り返し(ステップS18)、スライス内の全ての処理が終了したら、子プロセッサにおける全ての処理が終了するまで待つ(ステップS19)。以下同様に、1ピクチャの全ての処理が終了したら、次のピクチャの処理に移り(ステップS20)、1GOPの全てのピクチャの処理が終了したら、次のGOPの処理に移る(ステップS21)。そして、これらの処理を、シーケンスが終了するまで繰り返したら(ステップS22)、処理を終了する(ステップS23)。
【0036】
次に、子プロセッサである第2および第3のプロセッサ2-2,2-3は、図3のフローチャートに示すような処理を行う。すなわち、親プロセッサにおけるステップS15の処理で起動され符号化処理を開始したら(ステップS30)、まず、処理すべきマクロブロックの番号を取得し(ステップS31)、そのマクロブロックの符号化処理を行う(ステップS32)。符号化処理が終了したら、親プロセッサにおける可変長符号化処理の終了を待ち(ステップS33)、可変長符号化処理が終了したら、局所復号化処理を行う(ステップS34)。スライス内の全ての処理が終了するまで、この手順を繰り返し(ステップS35)、スライス内の全ての処理が終了したら(ステップS35)、子プロセッサの処理は終了する(ステップS36)。
【0037】
なお、これらの親プロセッサおよび子プロセッサの各処理を行うプログラムは、各プロセッサ2-iに対して設けられたプログラムROMまたはプログラムRAMに予め記憶しておく。そして、このプログラムに従って各プロセッサ2-iが動作することにより、実際にこれらの処理が行われる。
【0038】
次に、動画像の符号化処理を行う場合の、並列処理部9の動作について、図4を参照して説明する。図4は、3個のプロセッサ2-1〜2-3における符号化処理の状態を示すタイムチャートである。なお、図4において、処理MBx−ENCは、第(x+1)のマクロブロックxに対する符号化処理(図3におけるステップS32)を示し、処理MBx−DECは、第(x+1)のビデオセグメントxに対する局所復号化処理(図3におけるステップS34)を示し、処理MBx−VLCは、第(x+1)のビデオセグメントxに対する可変長符号化処理(図2における、ステップS17)を示す。
【0039】
図4に示すように、符号化処理を開始したら、まず、第2のプロセッサ2-2および第3のプロセッサ2-3においてマクロブロック0およびマクロブロック1の符号化処理MB0−ENC,MB1−ENCが行われる。第2のプロセッサ2-2におけるマクロブロック0の符号化処理MB0−ENCが終了したら、その符号化されたデータに対して第1のプロセッサ2-1において可変長符号化処理MB0−VLCが行われる。第1のプロセッサ2-1でマクロブロック0の可変長符号化処理MB0−VLCを行っている間に、第3のプロセッサ2-3におけるマクロブロック1の符号化処理MB1−ENCは終了するので、第1のプロセッサ2-1は、引き続きマクロブロック1の符号化データに対する可変長符号化処理MB1−VLCを行う。
【0040】
一方、第2のプロセッサ2-2においては、第1のプロセッサ2-1においてマクロブロック0に対する可変長符号化処理MB0−VLCが終了したら、そのデータに対する局所復号化処理MB0−DECを行う。そして、この局所復号化処理MB0−DECが終了したら、次のマクロブロック2に対する符号化処理MB2−ENCを行う。第3のプロセッサ2-3においても、同様に、第1のプロセッサ2-1においてマクロブロック1に対する可変長符号化処理MB1−VLCが終了したら、そのデータに対する局所復号化処理MB0−DECを行う。そして、この局所復号化処理MB0−DECが終了したら、次のマクロブロック3に対する符号化処理MB3−ENCを行う。
【0041】
以下、同様に、第1のプロセッサ2-1においては、第2のプロセッサ2-2または第3のプロセッサ2-3において、次に処理すべきマクロブロックの符号化処理MBx−ENCが終了したら、その符号化されたデータの復号化処理MBx−VLCを順に行う。また、第2のプロセッサ2-2および第3のプロセッサ2-3においては、第1のプロセッサ2-1において可変長符号化処理MBx−VLCが終了したら、そのマクロブロックに対する局所符号化処理MBx−DECを行い、その処理終了後、引き続き、次のマクロブロックx+1に対する符号化処理MBx−ENCを行う。
【0042】
なお、可変長符号化処理は、テーブル変換により固定長データから可変長データを生成するフェーズと可変長データをまとめてビットストリームを生成するフェーズとに分けることができる。この2つのフェーズとも逐次実行してもよいし、後半フェーズだけ逐次実行して前半フェーズは並列実行しても構わない。ただし、後者の方式では前半フェーズと後半フェ−ズ間にバッファメモリが必要となる。
【0043】
次に、並列処理部9において、前述したような動画像の復号化処理を行う場合の、各プロセッサ2-i(i=1〜3)における処理、および、並列処理部9の動作について説明する。まず、各プロセッサ2-iにおける処理について説明する。並列処理部9においては、各マクロブロックの可変長復号化処理を1つのプロセッサ(以降、このプロセッサを親プロセッサと言う。)に固定して割り当てて逐次実行させ、復号化処理をその他のプロセッサ(以降、このプロセッサを子プロセッサと言う。)に割り当てて、並列実行を行う。図1に示す並列処理部9においては、第1のプロセッサ2-1を親プロセッサ、第2および第3のプロセッサ2-2,2-3を子プロセッサとする。
【0044】
まず、親プロセッサである第1のプロセッサ2-1は、図5のフローチャートに示すような処理を行う。すなわち、復号化処理を開始したら(ステップS40)、シーケンス・ヘッダを復号化し(ステップS41)、GOP・ヘッダを復号化し(ステップS42)、ピクチャ・ヘッダを復号化し(ステップS43)、スライス・ヘッダを復号化する(ステップS44)。スライス・ヘッダの復号化が終了したら、親プロセッサは子プロセッサを起動し(ステップS45)、マクロブロックに対して可変長復号化処理を行う(ステップS46)。親プロセッサは、スライス内の全てのマクロブロックに対してこの処理が終了するまで、この可変長復号化処理(ステップS46)を繰り返し行う。
【0045】
スライス内の全てのマクロブロックに対する可変長復号化処理が終了したら、子プロセッサにおける全ての処理が終了するまで待ち(ステップS48)、子プロセッサにおける処理が終了したら(ステップS48)、次のピクチャに対する処理に移る(ステップS49)。1GOPの全てのピクチャの処理が終了したら(ステップS49)、次のGOPの処理に移り(ステップS50)、全てのGOPの処理が終了したら(ステップS50)、次のシーケンスの処理に移る(ステップS51)。そして、これらの処理を、全てのシーケンスが終了するまで繰り返したら(ステップS51)、処理を終了する(ステップS52)。
【0046】
次に、子プロセッサである第2および第3のプロセッサ2-2,2-3は、図6のフローチャートに示すような処理を行う。すなわち、親プロセッサにおけるステップS45の処理で起動され復号化処理を開始したら(ステップS60)、まず、処理すべきマクロブロックの番号を取得し(ステップS61)、親プロセッサのステップS46における当該マクロブロックの可変長復号化処理の終了を待つ(ステップS62)。そして、可変長復号化処理が終了したら、そのデータを用いてマクロブロックの復号化処理を行う(ステップS63)。そして、スライス内の全てのマクロブロックの処理が終了するまで、この手順を繰り返し(ステップS64)、スライス内の全ての処理が終了したら(ステップS64)、子プロセッサの処理は終了する(ステップS65)。
【0047】
なお、これらの親プロセッサおよび子プロセッサの各処理を行うプログラムは、各プロセッサ2-iに対して設けられたプログラムROMまたはプログラムRAMに予め記憶しておく。そして、このプログラムに従って各プロセッサ2-iが動作することにより、実際にこれらの処理が行われる。また、可変長復号化処理でスライスを並列処理単位とした場合、可変長復号化処理をすることなしに、ビットストリーム上の次のスライスの先頭を見つけることができる。これは、スライスの先頭に置かれるスライス・スタートコードをスキャンして探すことにより可能になる。したがって、このスキャン処理のみを逐次的に行い、可変長復号化処理を含めた他の処理を並列に行う処理方法も可能である。
【0048】
次に、動画像の復号化処理を行う場合の、並列処理部9の動作について、図7を参照して説明する。図7は、3個のプロセッサ2-1〜2-3における復号化処理の状態を示すタイムチャートである。なお、図7において、処理MBx−VLDは、第(x+1)のマクロブロックxに対する可変長復号化処理(図5におけるステップS46)を示し、処理MBx−DECは、第(x+1)のビデオセグメントxに対する復号化処理(図6におけるステップS63)を示す。
【0049】
図7に示すように、復号化処理を開始したら、第1のプロセッサ2-1においては、マクロブロック0より、順次可変長復号化処理を行う。第2のプロセッサ2-2においては、第1のプロセッサ2-1において、マクロブロック0の可変長復号化処理が終了したら、このデータに対して復号化処理MB0−DECを行う。また、第3のプロセッサ2-3においては、その次のマクロブロック1の可変長復号化処理が第1のプロセッサ2-1において終了したら、このデータに対して福愚押下処理MB1−DECを行う。以後、第2のプロセッサ2-2または第3のプロセッサ2-3の、復号化処理の終了した方のプロセッサが、第1のプロセッサ2-1で可変長復号化された次のマクロブロックのデータを取り込んで、符号化処理を行う。
【0050】
このように、第1の画像符号化/復号化装置においては、符号化処理および復号化処理の処理工程を、各々、並列処理が可能な工程と、並列処理が不可能で逐次処理が必要な可変長符号化/復号化に係わる工程に分割し、逐次処理が必要な工程は親プロセッサに振り分け、並列処理が可能な工程は子プロセッサに振り分け、符号化処理および復号化処理を行うようにしている。したがって、順次入力されるデータは、これら3個のプロセッサ2-1〜2-3で順次処理され、所望の圧縮符号化データへ、または、復元された画像データへ変換される。そして、このように、並列処理により画像の符号化処理および復号化処理を行うことにより、通常の、1つのプロセッサにより処理を行う場合に比べて高速に処理を行うことができる。
【0051】
第2の画像符号化/復号化装置しかしながら、第1の画像符号化/復号化装置においては、逐次処理部分(可変長符号化処理および可変長復号化処理)を、特定のプロセッサ(第1のプロセッサ2-1)に固定して割り当てて逐次実行させていたため、3個のプロセッサ2-1〜2-3間で負荷が不均等になるという問題を見い出した。このような場合、逐次処理部分と並列処理部分の実行時間の比が、逐次処理部分を実行するプロセッサと並列処理部分を実行するプロセッサ台数の比に比例していれば負荷は均等になるが、そうでなければ各プロセッサの負荷が不均等になり、性能低下を引き起こす。
【0052】
たとえば、図4に示したMPEG符号化の並列処理においては、可変長符号化処理の負荷が比較的軽いため、特に第1のプロセッサ2-1に遊びが頻繁に生じている。これはプロセッサ台数が2台の並列計算機システムでは、さらに顕著になる。また、図7に示したMPEG復号化の並列処理においても、可変長復号化処理の負荷が比較的軽いため、第1のプロセッサ2-1は1スライス分の可変長復号化処理が終了した時点で、第2のプロセッサ2-2および第3のプロセッサ2-3における全ての復号化処理が終了するまでの間、遊ぶことになる。
【0053】
さらに、第1の画像符号化/復号化装置においては、各プロセッサで実行する処理が異なるため、各プロセッサを別々に制御したり、同期をとってデータの授受や通信を行う必要があり、制御が複雑化するという問題も生じている。
【0054】
そこで、そのような問題を解決し、より一層高速に画像の符号化処理および復号化処理が行え、さらに構成や制御方法なども簡単にすることのできる、本発明に係わる画像符号化/復号化装置について、第2の画像符号化/復号化装置として説明する。
【0055】
第2の画像符号化/復号化装置のハードウェア構成は、前述した第1の画像符号化/復号化装置と同一である。すなわち、その並列処理部1は、図1に示したような構成であり、n個のプロセッサ2-1〜2-n、メモリ3および結合網4を有する。なお、これらの各構成部は、各々ハードウェア構成が第1の画像符号化/復号化装置の並列処理部9の場合と同一なので、同一の符号を用いて説明する。また、n個のプロセッサ2-1〜2-n〜結合網4の機能および構成も、前述した第1の画像符号化/復号化装置の並列処理部9の場合と同じなのでその説明を省略する。また、第2の画像符号化/復号化装置の並列処理部1の場合も、プロセッサ2の個数nは3である。
【0056】
このような第1の画像符号化/復号化装置の並列処理部9と同じハードウェア構成の第2の画像符号化/復号化装置の並列処理部1であるが、動画像の符号化処理および復号化処理の処理方法および各プロセッサ2-i(i=1〜3)の動作などは、第1の画像符号化/復号化装置と異なる。すなわち、3個のプロセッサ2-1〜2-3に対して設けられているプログラムROMまたはプログラムRAMに記憶されるプログラムが第1の画像符号化/復号化装置の場合とは異なり、これにより第2の画像符号化/復号化装置の並列処理部1は全体として第1の画像符号化/復号化装置の並列処理部9とは異なる処理を行う。
【0057】
そして、第2の画像符号化/復号化装置においては、前記課題を解決するために、並列処理部分のみならず逐次処理部分も各プロセッサに分担して実行させるようにしている。符号化に関して、第2の画像符号化/復号化装置の並列処理部1においては、各マクロブロックの可変長符号化処理を各プロセッサが分担して逐次的に行う。したがって、各プロセッサは、担当するマクロブロックについて、符号化処理、可変長符号化処理、局所復号化処理の全てを行う。この際、あるマクロブロックの可変長符号化処理を始める時点で、前のマクロブロックの可変長符号化処理が終了していない場合に限り、その可変長符号化処理の終了を待つ。また、復号化に関して、第2の画像符号化/復号化装置の並列処理部1においては、各マクロブロックの可変長復号化処理をも各プロセッサが分担して逐次的に行う。したがって、各プロセッサは、担当するマクロブロックについて、可変長復号化処理、復号化処理の両方を行う。この際、あるマクロブロックの可変長復号化処理が終了していない場合に限り、その可変長復号化処理の終了を待つ。
【0058】
以下、第2の画像符号化/復号化装置の並列処理部1において、動画像の符号化処理および復号化処理を行う場合の各プロセッサ2-i(i=1〜3)における処理、および、並列処理部1の動作について説明する。
【0059】
まず、符号化処理を行う場合の、各プロセッサ2-iにおける処理について説明する。第2の画像符号化/復号化装置の並列処理部1においては、前述した第1の画像符号化/復号化装置と同様に、1つの親プロセッサとその他のプロセッサを予め決定し、各々で異なる所定の処理を行わせる。しかしながら、この親プロセッサと子プロセッサにおける処理の違いは、親プロセッサにおいてヘッダの生成と子プロセッサの起動を行う点のみであり、実際の符号化処理に係わる符号化処理、可変長符号化処理および局所復号化処理は、親プロセッサおよび子プロセッサの両方で同様の手順により行う。すなわち、親プロセッサと子プロセッサは、一応、異なる処理手順で処理を行うものの、符号化の際の主な処理部は同一の手順で行われるものである。
【0060】
以下、各プロセッサの処理について説明する。まず、親プロセッサである第1のプロセッサ2-1は、図8のフローチャートに示すような処理を行う。すなわち、符号化処理を開始したら(ステップS70)、シーケンス・ヘッダを生成し(ステップS71)、GOP・ヘッダを生成し(ステップS72)、ピクチャ・ヘッダを生成し(ステップS73)、スライス・ヘッダを生成する(ステップS74)。そして、スライス・ヘッダの生成が終了したら、親プロセッサは子プロセッサを起動する(ステップS75)。
【0061】
子プロセッサの起動が終了したら、親プロセッサは、子プロセッサと同様の符号化に係わる処理を行う。すなわち、まず、処理すべきマクロブロックの番号を取得し(ステップS76)、そのマクロブロックの符号化処理を行う(ステップS77)。次に、前のマクロブロックの可変長符号化処理が終了するのを確認して(ステップS78)、可変長符号化処理を行い(ステップS79)、さらに、局所復号化処理を行う(ステップS80)。
【0062】
このような手順を、スライス内の全ての処理が終了するまで繰り返し(ステップS81)、スライス内の全ての処理が終了したら、子プロセッサにおける全ての処理が終了するまで待つ(ステップS82)。そして、1ピクチャの全ての処理が終了したら、次のピクチャの処理に移り(ステップS83)、1GOPの全てのピクチャの処理が終了したら、次のGOPの処理に移る(ステップS84)。そして、これらの処理を、シーケンスが終了するまで繰り返したら(ステップS85)、処理を終了する(ステップS86)。
【0063】
次に、子プロセッサである第2および第3のプロセッサ2-2,2-3は、図9のフローチャートに示すような処理を行う。すなわち、親プロセッサにおけるステップS75の処理で起動され符号化処理を開始したら(ステップS90)、まず、処理すべきマクロブロックの番号を取得し(ステップS91)、そのマクロブロックの符号化処理を行う(ステップS92)。次に、前のマクロブロックの可変長符号化処理が終了するのを確認して(ステップS93)、可変長符号化処理を行い(ステップS94)、さらに、局所復号化処理を行う(ステップS95)。このような手順を、スライス内の全ての処理が終了するまで繰り返し(ステップS96)、スライス内の全ての処理が終了したら、子プロセッサにおける処理を終了する(ステップS97)。
【0064】
次に、このような処理手順で3個のプロセッサ2-1〜2-3が動作して符号化処理を行う場合の、並列処理部1の動作について、図10を参照して説明する。図10は、3個のプロセッサ2-1〜2-3における符号化処理の状態を示すタイムチャートである。なお、図10における各処理を示す標記は、図4に示した標記と同一であるので説明を省略する。
【0065】
図示のごとく、符号化処理を開始したら、3個のプロセッサ2-1〜2-3で、各々、マクロブロック0、マクロブロック1およびマクロブロック2の符号化処理MB0−ENC,MB1−ENC,MB2−ENCを開始する。そして、第1のプロセッサ2-1においては、符号化処理MB0−ENCが終了したら、引き続きそのマクロブロック0の可変長符号化処理MB0−VLCを行い、さらに、マクロブロック0の局所復号化処理MB0−DECを行う。また、マクロブロック0の局所復号化処理MB0−DECが終了したら、次のマクロブロック、すなわち、マクロブロック3に対する処理を符号化処理MB3−ENCから開始する。
【0066】
一方、第2のプロセッサ2-2は、マクロブロック1の符号化処理MB1−ENCが終了した時点では、まだ前のマクロブロック0の可変長符号化処理MB0−VLCが第1のプロセッサ2-1で行われているので、この可変長符号化処理の終了を待ち、これが終了したらマクロブロック1の可変長符号化処理MB1−VLCを開始する。そして、その可変長符号化処理MB1−VLCが終了したら、そのマクロブロック1の局所復号化処理MB1−DECを行う。また、そのマクロブロック1の局所復号化処理MB1−DECが終了したら、次のマクロブロック4に対する符号化処理MB4−ENCを開始する。
【0067】
また、第3のプロセッサ2-3においても、マクロブロック2の符号化処理MB2−ENCが終了した時点ではまだ前のマクロブロック0およびマクロブロック1の可変長符号化処理MB0−VLCおよびMB1−VLCが終了していないので、これらの処理の終了を待つ。そして、マクロブロック0およびマクロブロック1の可変長符号化処理が終了したら、マクロブロック2の可変長符号化処理MB2−VLCを行う。そして、その可変長符号化処理MB2−VLCが終了したら、そのマクロブロック2の局所復号化処理MB2−DECを行う。また、そのマクロブロック2の局所復号化処理MB2−DECが終了したら、次のマクロブロック5に対する符号化処理MB5−ENCを開始する。
【0068】
このようにして、各プロセッサ2-1〜2-3においては、順次処理対象のマクロブロックxを選択して、そのマクロブロックxに対する符号化処理MBx−ENC、可変長符号化処理MBx−VLCおよび局所復号化処理MBx−DECを行う。このように処理を行うことで、可変長符号化処理MBx−VLCのみは、前のマクロブロックx−1に対する可変長符号化処理MB(x−1)−VLCが終了していない場合には処理の開始を待機させられるが、その他の箇所は全く並行して処理を行うことができる。
【0069】
そして、その可変長符号化処理MBx−VLCにおいても、処理の開始時こそ、図10に示すように、各プロセッサ2-1〜2-3で同時に符号化処理が開始されるため、可変長符号化処理の開始の要求が重なり、プロセッサ2-2,2-3に遊びが生じているが、その後は、必然的に各プロセッサにおける処理工程がずれることになり、このような遊びが生じ難くなる。図10に示す例においても、第3のプロセッサ2-3におけるマクロブロック5の可変長符号化処理MB5−VLCがわずかに待たされているのみで、その他には、全く遊びが生じていない。
【0070】
次に、第2の画像符号化/復号化装置において復号化処理を行う場合の、各プロセッサ2-iにおける処理について説明する。復号化処理の場合も、前述した第1の画像符号化/復号化装置と同様に、1つの親プロセッサとその他のプロセッサを予め決定し、各々で異なる所定の処理を行わせる。しかしながら、この親プロセッサは、ヘッダの復号化と子プロセッサの起動を行う点のみが子プロセッサの処理と異なるものであり、実際の復号化処理に係わる可変長復号化処理および復号化処理は、親プロセッサおよび子プロセッサの両方で同様の手順により行う。すなわち、親プロセッサと子プロセッサは、一応、異なる処理手順で処理を行うものの、復号化の際の主な処理部は同一の手順で行われるものである。
【0071】
以下、各プロセッサの処理について説明する。まず、親プロセッサである第1のプロセッサ2-1は、図11のフローチャートに示すような処理を行う。すなわち、復号化処理を開始したら(ステップS100)、シーケンス・ヘッダを復号化し(ステップS101)、GOP・ヘッダを復号化し(ステップS102)、ピクチャ・ヘッダを復号化し(ステップS103)、スライス・ヘッダを復号化する(ステップS104)。そして、スライス・ヘッダの復号化が終了したら、親プロセッサは子プロセッサを起動する(ステップS105)。
【0072】
子プロセッサの起動が終了したら、親プロセッサは、子プロセッサと同様の復号化に係わる処理を行う。すなわち、まず、処理すべきマクロブロックの番号を取得し(ステップS106)、前のマクロブロックの可変長復号化処理が終了していることを確認して(ステップS107)、そのマクロブロックの可変長復号化処理を行う(ステップS108)。そして、可変長復号化処理が終了したら、そのマクロブロックの復号化処理を行う(ステップS109)。
【0073】
このような手順を、スライス内の全ての処理が終了するまで繰り返し(ステップS110)、スライス内の全ての処理が終了したら、子プロセッサにおける全ての処理が終了するまで待つ(ステップS111)。そして、1ピクチャの全ての処理が終了したら、次のピクチャの処理に移り(ステップS112)、1GOPの全てのピクチャの処理が終了したら、次のGOPの処理に移る(ステップS113)。そして、これらの処理を、シーケンスが終了するまで繰り返したら(ステップS114)、処理を終了する(ステップS115)。
【0074】
次に、子プロセッサである第2および第3のプロセッサ2-2,2-3は、図12のフローチャートに示すような処理を行う。すなわち、親プロセッサにおけるステップS105の処理で起動され復号化処理を開始したら(ステップS120)、まず、処理すべきマクロブロックの番号を取得し(ステップS121)、前のマクロブロックの可変長復号化処理が終了していることを確認して(ステップS122)、そのマクロブロックの可変長復号化処理を行う(ステップS123)。次に、可変長復号化処理が終了したら、そのマクロブロックの復号化処理を行う(ステップS124)。このような手順を、スライス内の全ての処理が終了するまで繰り返し(ステップS125)、スライス内の全ての処理が終了したら、子プロセッサにおける処理を終了する(ステップS126)。
【0075】
次に、このような処理手順で3個のプロセッサ2-1〜2-3が動作して復号化処理を行う場合の、並列処理部1の動作について、図13を参照して説明する。図13は、3個のプロセッサ2-1〜2-3における復号化処理の状態を示すタイムチャートである。なお、図13における各処理を示す標記は、図7に示した標記と同一であるので説明を省略する。
【0076】
図示のごとく、復号化処理を開始したら、まず、第1のプロセッサ2-1で最小のマクロブロック0の可変長復号化処理MB0−VLDを行う。第2のプロセッサ2-2は、マクロブロック1に対する処理を行うものであるが、可変長復号化処理については、マクロブロックごとに順に行う必要があるので、第1のプロセッサ2-1におけるマクロブロック0の可変長復号化処理MB0−VLDが終了するのを待って、マクロブロック1の可変長復号化処理MB1−VLDを行う。第3のプロセッサ2-3も同様に、第1のプロセッサ2-1におけるマクロブロック0に対する可変長復号化処理MB0−VLD、および、第2のプロセッサ2-2におけるマクロブロック1に対する可変長復号化処理MB1−VLDが終了するのを待って、マクロブロック2の可変長復号化処理MB2−VLDを行う。
【0077】
マクロブロック0に対する可変長符号化処理MB0−VLDが終了した第1のプロセッサ2-1においては、引き続きそのマクロブロック0に対する復号化処理MB0−DECを行う。そして、その復号化処理MB0−DECが終了したら、次のマクロブロック3に対する処理を開始する。しかし、この時に、図13に示すように、前のマクロブロック2に対する可変長符号化処理MB2−VLDが終了していなければ、これを待って、マクロブロック3に対する可変長復号化処理MB3−VLDを開始する。
【0078】
以後、同様に、各各プロセッサ2-1〜2-3においては、順次処理対象のマクロブロックxを選択して、そのマクロブロックxに対する可変長復号化処理MBx−VLDおよび復号化処理MBx−DECを行う。このように処理を行うことで、可変長復号化処理MBx−VLDは、前のマクロブロックx−1に対する可変長復号化処理MB(x−1)−VLDが終了していない場合には処理の開始を待機させられるが、その他の箇所は全く並行して処理を行うことができる。
【0079】
そして、その可変長復号化処理MBx−VLDにおいても、処理の開始時こそ、図13に示すように、各プロセッサ2-1〜2-3で同時に復号化処理が開始されるため、第2のプロセッサ2-2および第3のプロセッサ2-3が待機させられており、処理に遊びが生じているが、その後は、必然的に各プロセッサにおける処理工程がずれることになり、このような遊びが生じ難くなる。図13に示す例においても、第1のプロセッサ2-1におけるマクロブロック3の可変長復号化処理MB3−VLDがわずかに待たされているのみで、その他には、全く遊びが生じていない。
【0080】
このように、第2の画像符号化/復号化装置においては、MPEG符号化処理および復号化処理を行う際に、並列処理可能な符号化処理部分、局所復号化処理部分および復号化処理部分のみならず、逐次処理する必要のある可変長符号化処理部分および可変長復号化処理部分も、各プロセッサにおいて分散処理するようにしている。したがって、この逐次処理部分の負荷をも、各プロセッサに均等に分散することができ、図10および図13に示したように、第1の画像符号化/復号化装置と比較してプロセッサの遊び時間を大幅に少なくすることができる。そして、その結果、全体の符号化および復号化の処理速度を大幅に向上させることができる。なお、これはプロセッサ台数が2台の並列計算機システムでは、さらに顕著になる。
【0081】
また、第2の画像符号化/復号化装置の並列処理部1においては、複数のプロセッサ2-1〜2-nの各々において、振り分けられた処理対象のマクロブロックについての一連の符号化処理、一連の復号化処理を一貫して行っている。そのため、各プロセッサ間の同期をとったり、データ通信などの負荷を少なくすることができる。また、その結果、処理時間の全てを符号化および復号化処理にあてることができる。結果的に、各プロセッサにおける負荷も実質的に均等になり、効率よく、また高速に符号化処理および復号化処理が行える。また、全てのプロセッサを、実質的に同一の制御、処理手順で動作させることができるので、装置構成が簡単になる。さらに本発明は、プロセッサ台数に依存しないスケーラブルな並列処理方式のため、様々な構成の並列計算機システムに適用できる。
【0082】
なお、本発明は、本実施の形態にのみ限られるものではなく、任意好適な種々の改変が可能である。たとえば、前述した実施の形態の並列処理部において、親プロセッサは必ず1台であるが、子プロセッサの台数に制約はなく、何台でもよい。また、子プロセッサが取得するマクロブロック番号は、オペレーティング・システムが動的に決定する場合もあれば、コンパイラやハードウェアによって、静的に一意に決まっている場合もあり、任意の方法により決定してよい。
【0083】
また、各プロセッサで実行されるプログラムは、ROMに予め記憶して画像符号化/復号化装置の並列処理部に具備されるような構成でもよいし、ハードディスク、CD−ROMなどの記憶媒体上に格納しておき、実行時にプログラムRAMなどに読み込んで参照されるような構成でもよい。
【0084】
また、本実施の形態においては、本発明に係わる処理装置として、図1に示したように、共有メモリ型の並列計算機システムを例示したが、装置構成はこれに限られるものではない。共有メモリを有しておらず、いわゆるメッセージ通信によりデータの転送などを行うメッセージ通信型並列計算機システムであってもよい。また、本実施の形態のような、各プロセッサが緊密に連結された並列計算機システムでなくとも、各々が独立した計算機装置であり、それらが任意の通信手段により接続されて協働して所望の処理を行うように構成されたようなシステムであってもよい。すなわち、計算機装置の実際の構成は、任意に決定してよい。
【0085】
また、前述した画像符号化/復号化装置の並列処理部は、プログラムに従って所定の動作を行うプロセッサを複数有し、それらが並列に動作して所望の処理を行うような構成であったが、専用のハードウェアにより構成され並列に動作する複数の処理部を有するような構成であってもよい。たとえば、MPEGの符号化/復号化専用回路、画像コーデック用DSP、メディアプロセッサなどの、可変長符号化/復号化処理のための専用回路などにも適用可能である。
【0086】
また、本実施の形態においては、符号化および復号化の際に行う変換方式としてDCTを用いた。しかし、この変換方式は任意の直交変換方式を用いてよい。たとえば、高速フーリエ変換(FFT)や離散フーリエ変換(DFT)などのフーリエ変換、アダマール変換、K−L変換などの、任意の変換を用いてよい。また、本発明は、本実施の形態において例示した動画像の符号化処理および復号化処理についてのみ適用可能なものではない。たとえば、音声データやテキストデータの符号化および復号化など、任意のデータの符号化および復号化に適用可能である。
【0087】
【発明の効果】
以上説明したように、本発明のデータ処理方法、データ処理装置及び記録媒体によれば、たとえば画像データなどの符号化および復号化を行う際に、複数の演算処理装置の各々に均等かつ効率よく負荷を配分することができ、また、演算処理装置間における同期をとるための通信やデータ通信を少なくすることができる。その結果、そのような符号化および復号化を高速に行うことができ、また、制御方法や装置構成などを簡単にすることができる。
【0088】
また、本発明のデータ処理方法、データ処理装置及び記録媒体によれば、たとえば画像データなどの符号化および復号化を複数の演算処理装置を用いた並列処理により行う際に、各演算処理装置に均等かつ効率よく負荷を配分することができる。また、各演算処理装置間で同期をとるための通信やデータ通信を少なくすることができる。その結果、簡単な制御で、そのような符号化および復号化を高速に行うことができる。また、本発明のデータ処理方法、データ処理装置及び記録媒体は、その負荷の配分の方法が演算処理装置の個数などその並列処理装置の構成に依存しない、スケーラブルな方法のため、様々な構成の並列処理装置に適用することができる。
【図面の簡単な説明】
【図1】図1は、本発明に係わる画像符号化/復号化装置の並列処理部の構成を示す概略ブロック図である。
【図2】図2は、図1に示した並列処理部の親プロセッサ(第1のプロセッサ)において、これまでの並列処理方法により画像の符号化を行う場合の処理を示すフローチャートである。
【図3】図3は、図1に示した並列処理部の子プロセッサ(第2〜第nのプロセッサ)において、これまでの並列処理方法により画像の符号化を行う場合の処理を示すフローチャートである。
【図4】図4は、図1に示した並列処理部において、これまでの並列処理方法により画像の符号化を行う場合の、各プロセッサにおける処理の状態を示すタイムチャートである。
【図5】図5は、図1に示した並列処理部の親プロセッサ(第1のプロセッサ)において、これまでの並列処理方法により画像の復号化を行う場合の処理を示すフローチャートである。
【図6】図6は、図1に示した並列処理部の子プロセッサ(第2〜第nのプロセッサ)において、これまでの並列処理方法により画像の復号化を行う場合の処理を示すフローチャートである。
【図7】図7は、図1に示した並列処理部において、これまでの並列処理方法により画像の復号化を行う場合の、各プロセッサにおける処理の状態を示すタイムチャートである。
【図8】図8は、図1に示した並列処理部の親プロセッサ(第1のプロセッサ)において、本発明に係わる並列処理方法により画像の符号化を行う場合の処理を示すフローチャートである。
【図9】図9は、図1に示した並列処理部の子プロセッサ(第2〜第nのプロセッサ)において、本発明に係わる並列処理方法により画像の符号化を行う場合の処理を示すフローチャートである。
【図10】図10は、図1に示した並列処理部において、本発明に係わる並列処理方法により画像の符号化を行う場合の、各プロセッサにおける処理の状態を示すタイムチャートである。
【図11】図11は、図1に示した並列処理部の親プロセッサ(第1のプロセッサ)において、本発明に係わる並列処理方法により画像の復号化を行う場合の処理を示すフローチャートである。
【図12】図12は、図1に示した並列処理部の子プロセッサ(第2〜第nのプロセッサ)において、本発明に係わる並列処理方法により画像の復号化を行う場合の処理を示すフローチャートである。
【図13】図13は、図1に示した並列処理部において、本発明に係わる並列処理方法により画像の復号化を行う場合の、各プロセッサにおける処理の状態を示すタイムチャートである。
【図14】図14は、MPEG符号化における画像データの構造を示す図である。
【図15】図15は、MPEG符号化された画像データビットストリームの構造を示す図である。
【図16】図16は、MPEG符号化を行うための処理装置の構成を示すブロック図である。
【図17】図17は、MPEG符号化を行って図15に示したようなビットストリームを生成する処理の流れを示すフローチャートである。
【図18】図18は、逐次処理によりMPEG符号化を行う場合の処理装置の動作を示すタイムチャートである。
【図19】図19は、MPEG復号化を行うための処理装置の構成を示すブロック図である。
【図20】図20は、MPEG復号化を行って図15に示したようなビットストリームを生成する処理の流れを示すフローチャートである。
【図21】図21は、逐次処理によりMPEG復号化を行う場合の処理装置の動作を示すタイムチャートである。
【符号の説明】
1,9…画像符号化/復号化装置の並列処理部、2…プロセッサ、3…メモリ、4…結合網、160…符号化装置、161…動きベクトル検出部、162…減算器、163…離散コサイン変換部、164…量子化部、165…可変長符号化部、166…逆量子化部、167…逆離散コサイン変換部、168…加算器、169…動き補償部、170…エンコード制御部、200…復号化装置、201…可変長復号化部、202…逆量子化部、203…逆離散コサイン変換部、204…加算器、205…動き補償部、206…デコード制御部

Claims (9)

  1. 画像データを分割して得られるN個のマクロブロックまたはスライスに対して符号化処理を行う場合に、
    可変長符号化処理を逐次処理する第1プロセッサと、
    符号化処理及び局所復号化処理を並列に処理する複数の第2プロセッサと、
    前記第1プロセッサにおいてn番目のマクロブロックまたはスライス(nは1からNまでの整数)に対する可変長符号化処理が終了したことを条件に、前記n番目のマクロブロックまたはスライスに対する局所復号化処理と、前記n番目のマクロブロックまたはスライスの次に処理すべきマクロブロックまたはスライスに対する符号化処理とを、前記複数の第2プロセッサのうちの処理を実行していないいずれかの第2プロセッサに対して割り当てる割当手段と、
    を有し、
    前記割当手段は、前記複数の第2プロセッサのいずれかにより前記n番目のマクロブロックまたはスライスに対する符号化処理が終了したことを条件に、前記n番目のマクロブロックまたはスライスに対する可変長符号化処理を前記第1プロセッサに対して割り当てる
    データ処理装置。
  2. 画像データを分割して得られるN個のマクロブロックまたはスライスに対して符号化処理を行う場合に、
    可変長符号化処理を逐次処理し、かつ、符号化処理及び局所復号化処理を並列に処理する複数のプロセッサと、
    前記複数のプロセッサのうちのいずれかのプロセッサに対して、n番目のマクロブロックまたはスライス(nは1からNまでの整数)に対する符号化処理、可変長符号化処理、局所復号化処理を順次行わせる割当手段と、
    を有し、
    前記割当手段は、前記複数のプロセッサのうちのいずれかのプロセッサにおいて、前記n番目のマクロブロックまたはスライスに対する可変長符号化処理が終了するまで、前記複数のプロセッサのうちの他のプロセッサに対して、n+1番目のマクロブロックまたはスライスに対する可変長符号化処理の開始を待機させる
    データ処理装置。
  3. 画像データを分割して得られるN個のマクロブロックまたはスライスに対して復号化処理を行う場合に、
    可変長符号化処理を逐次処理し、かつ、符号化処理及び局所復号化処理を並列に処理する複数のプロセッサと、
    前記複数のプロセッサのうちのいずれかのプロセッサに対して、n番目のマクロブロックまたはスライス(nは1からNまでの整数)に対する復号化処理、可変長復号化処理を順次行わせる割当手段と、
    を有し、
    前記割当手段は、前記複数のプロセッサのうちのいずれかのプロセッサにおいて、前記n番目のマクロブロックまたはスライスに対する可変長復号化処理が終了するまで、前記複数のプロセッサのうちの他のプロセッサに対して、n+1番目のマクロブロックまたはスライスに対する可変長復号化処理の開始を待機させる
    データ処理装置。
  4. 画像データを分割して得られるN個のマクロブロックまたはスライスに対して符号化処理を行う場合に、
    n番目のマクロブロックまたはスライス(nは1からNまでの整数)に対する可変長符号化処理を第1プロセッサが逐次処理させるステップと、
    前記第1プロセッサにおいて、n番目のマクロブロックまたはスライスに対する可変長符号化処理が終了したことを条件に、前記n番目のマクロブロックまたはスライスに対する局所復号化処理と、前記n番目のマクロブロックまたはスライスの次に処理すべきマクロブロックまたはスライスに対する符号化処理とを、複数の第2プロセッサのうちの処理を実行していないいずれかの第2プロセッサに対して並列処理させるように割り当てるステップと、
    前記複数の第2プロセッサのいずれかにより前記n番目のマクロブロックまたはスライスに対する符号化処理が終了したことを条件に、前記n番目のマクロブロックまたはスライスに対する可変長符号化処理を前記第1プロセッサに対して割り当てるステップと、
    を有するデータ処理方法。
  5. 画像データを分割して得られるN個のマクロブロックまたはスライスに対して符号化処理を行う場合に、
    n番目のマクロブロックまたはスライス(nは1からNまでの整数)に対する、符号化処理を並列処理させ、可変長符号化処理を逐次処理させ、局所復号化処理を並列処理させるように、複数のプロセッサのうちのいずれかのプロセッサに対して割り当てるステップと、
    前記複数のプロセッサのうちのいずれかのプロセッサにおいて、前記n番目のマクロブロックまたはスライスに対する可変長符号化処理が終了するまで、前記複数のプロセッサのうちの他のプロセッサに対して、n+1番目のマクロブロックまたはスライスに対する可変長符号化処理の開始を待機させるステップと、
    を有するデータ処理方法。
  6. 画像データを分割して得られるN個のマクロブロックまたはスライスに対して復号化処理を行う場合に、
    n番目のマクロブロックまたはスライス(nは1からNまでの整数)に対する復号化処理、可変長復号化処理を、複数のプロセッサのうちのいずれかのプロセッサに順次実行させるステップと、
    前記複数のプロセッサのうちのいずれかのプロセッサにおいて前記n番目のマクロブロックまたはスライス(nは1からNまでの整数)に対する可変長復号化処理が終了したことを条件に、当該n番目のマクロブロックまたはスライスに対する復号化処理を前記複数のプロセッサのうち、処理を実行していない他のプロセッサに実行させるステップと、
    前記複数のプロセッサのうちのいずれかのプロセッサにおいて、前記n番目のマクロブロックまたはスライスに対する可変長復号化処理が終了するまで、前記複数のプロセッサのうちの他のプロセッサに対して、n+1番目のマクロブロックまたはスライスに対する可変長復号化処理の開始を待機させるステップと、
    を有するデータ処理方法。
  7. 画像データを分割して得られるN個のマクロブロックまたはスライスに対して符号化処理を行う処理を第1プロセッサ及び第2プロセッサを有するコンピュータに実行させるプログラムを記録した、前記コンピュータが読み取り可能な記録媒体であって、
    前記第1プロセッサにおいて、n番目のマクロブロックまたはスライス(nは1からNまでの整数)に対する可変長符号化処理を逐次処理させる手順と、
    前記第1プロセッサにおいて、n番目のマクロブロックまたはスライスに対する可変長符号化処理が終了したことを条件に、前記n番目のマクロブロックまたはスライスに対する局所復号化処理と、前記n番目のマクロブロックまたはスライスの次に処理すべきマクロブロックまたはスライスに対する符号化処理とを、複数の前記第2プロセッサのうちの処理を実行していないいずれかの第2プロセッサに対して並列処理させるように割り当てる手順と、
    前記複数の第2プロセッサのいずれかにより前記n番目のマクロブロックまたはスライスに対する符号化処理が終了したことを条件に、前記n番目のマクロブロックまたはスライスに対する可変長符号化処理を前記第1プロセッサに対して割り当てる手順と、
    を前記コンピュータに実行させるプログラムを記録した、前記コンピュータが読み取り可能な記録媒体
  8. 画像データを分割して得られるN個のマクロブロックまたはスライスに対して符号化処理を行う処理を複数のプロセッサを有するコンピュータに実行させるプログラムを記録した、前記コンピュータが読み取り可能な記録媒体であって、
    n番目のマクロブロックまたはスライス(nは1からNまでの整数)に対する、符号化処理を並列処理させ、可変長符号化処理を逐次処理させ、局所復号化処理を並列処理させるように、前記複数のプロセッサのうちのいずれかのプロセッサに順次割り当てる手順と、
    前記複数のプロセッサのうちのいずれかのプロセッサにおいて、前記n番目のマクロブロックまたはスライスに対する可変長符号化処理が終了するまで、前記複数のプロセッサのうちの他のプロセッサに対して、n+1番目のマクロブロックまたはスライスに対する可変長符号化処理の開始を待機させる手順と、
    を前記コンピュータに実行させるプログラムを記録した、前記コンピュータが読み取り可能な記録媒体
  9. 画像データを分割して得られるN個のマクロブロックまたはスライスに対して復号化処理を行う処理を複数のプロセッサを有するコンピュータに実行させるプログラムを記録した、前記コンピュータが読み取り可能な記録媒体であって
    n番目のマクロブロックまたはスライス(nは1からNまでの整数)に対する復号化処理、可変長復号化処理を、前記複数のプロセッサのうちのいずれかのプロセッサに順次実行させる手順と、
    前記複数のプロセッサのうちのいずれかのプロセッサにおいて前記n番目のマクロブロックまたはスライス(nは1からNまでの整数)に対する可変長復号化処理が終了したことを条件に、当該n番目のマクロブロックまたはスライスに対する復号化処理を前記複数のプロセッサのうち、処理を実行していない他のプロセッサに実行させる手順と、
    前記複数のプロセッサのうちのいずれかのプロセッサにおいて、前記n番目のマクロブロックまたはスライスに対する可変長復号化処理が終了するまで、前記複数のプロセッサのうちの他のプロセッサに対して、n+1番目のマクロブロックまたはスライスに対する可変長復号化処理の開始を待機させる手順と、
    を前記コンピュータに実行させるプログラムを記録した、前記コンピュータが読み取り可能な記録媒体
JP20035398A 1998-07-15 1998-07-15 データ処理方法、データ処理装置及び記録媒体 Expired - Fee Related JP4427827B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP20035398A JP4427827B2 (ja) 1998-07-15 1998-07-15 データ処理方法、データ処理装置及び記録媒体
US09/352,422 US6870883B2 (en) 1998-07-15 1999-07-12 Parallel encoding and decoding processor system and method
US11/052,190 US20050147174A1 (en) 1998-07-15 2005-02-07 Encoding apparatus and method of same and decoding apparatus and method of same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP20035398A JP4427827B2 (ja) 1998-07-15 1998-07-15 データ処理方法、データ処理装置及び記録媒体

Publications (3)

Publication Number Publication Date
JP2000030047A JP2000030047A (ja) 2000-01-28
JP2000030047A5 JP2000030047A5 (ja) 2005-09-08
JP4427827B2 true JP4427827B2 (ja) 2010-03-10

Family

ID=16422895

Family Applications (1)

Application Number Title Priority Date Filing Date
JP20035398A Expired - Fee Related JP4427827B2 (ja) 1998-07-15 1998-07-15 データ処理方法、データ処理装置及び記録媒体

Country Status (2)

Country Link
US (2) US6870883B2 (ja)
JP (1) JP4427827B2 (ja)

Families Citing this family (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020114388A1 (en) * 2000-04-14 2002-08-22 Mamoru Ueda Decoder and decoding method, recorded medium, and program
US7088720B1 (en) * 2000-08-07 2006-08-08 Sbc Technology Resources, Inc. Multiservice use of network connection capability under user-to-network interface signaling
US7073118B2 (en) * 2001-09-17 2006-07-04 Digeo, Inc. Apparatus and method for saturating decoder values
US7440523B2 (en) * 2001-10-04 2008-10-21 Digeo, Inc. Apparatus and method for decode arbitration in a multi-stream multimedia system
US7181070B2 (en) * 2001-10-30 2007-02-20 Altera Corporation Methods and apparatus for multiple stage video decoding
JP2003150395A (ja) * 2001-11-15 2003-05-23 Nec Corp プロセッサとそのプログラム転送方法
JP4335516B2 (ja) 2001-12-04 2009-09-30 パナソニック株式会社 複数のプロセッサを用いた動画像符号化装置およびその方法
US8401084B2 (en) * 2002-04-01 2013-03-19 Broadcom Corporation System and method for multi-row decoding of video with dependent rows
ATE456901T1 (de) * 2002-04-08 2010-02-15 Eighting Kk Netzwerk-spielverfahren, netzwerk-spielendgerät und server
JP2005005844A (ja) * 2003-06-10 2005-01-06 Hitachi Ltd 計算装置及び符号化処理プログラム
US7782940B2 (en) * 2003-08-01 2010-08-24 Polycom, Inc. Methods for encoding or decoding in a videoconference system to reduce problems associated with noisy image acquisition
JP3879741B2 (ja) * 2004-02-25 2007-02-14 ソニー株式会社 画像情報符号化装置および画像情報符号化方法
JP2006031480A (ja) * 2004-07-16 2006-02-02 Sony Corp 情報処理システム及び情報処理方法、並びにコンピュータプログラム
EP1624704B1 (en) * 2004-07-29 2010-03-31 STMicroelectronics Pvt. Ltd Video decoder with parallel processors for decoding macro-blocks
WO2006088644A1 (en) 2005-02-16 2006-08-24 Thomson Licensing Agile decoder
JP4374548B2 (ja) * 2005-04-15 2009-12-02 ソニー株式会社 復号装置および方法、記録媒体、並びに、プログラム
JP4609223B2 (ja) * 2005-07-25 2011-01-12 富士ゼロックス株式会社 画像データ処理装置、画像データ処理方法、及び画像データ処理プログラム
CN101243690B (zh) * 2005-08-17 2011-02-23 三叉微系统(远东)有限公司 保持高速缓存器位置的视频编码和解码方法
JP4534910B2 (ja) * 2005-08-26 2010-09-01 ソニー株式会社 画像処理装置および画像処理方法、記録媒体、並びに、プログラム
JP5042568B2 (ja) * 2006-09-07 2012-10-03 富士通株式会社 Mpegデコーダ及びmpegエンコーダ
US8250618B2 (en) * 2006-09-18 2012-08-21 Elemental Technologies, Inc. Real-time network adaptive digital video encoding/decoding
JP4825644B2 (ja) * 2006-11-14 2011-11-30 ルネサスエレクトロニクス株式会社 画像復号装置、画像符号化装置、およびシステムlsi
KR100817022B1 (ko) * 2006-11-15 2008-03-26 한국전자통신연구원 스타-메쉬 혼합형 구조를 갖는 온칩 네트워크 기반의동영상 디코더
US20080152014A1 (en) * 2006-12-21 2008-06-26 On Demand Microelectronics Method and apparatus for encoding and decoding of video streams
US20080162743A1 (en) * 2006-12-28 2008-07-03 On Demand Microelectronics Method and apparatus to select and modify elements of vectors
KR101343407B1 (ko) * 2007-02-26 2013-12-20 삼성전자주식회사 부가 데이터 전송이 가능한 디지털 송신 시스템 및 그 방법
US8184715B1 (en) 2007-08-09 2012-05-22 Elemental Technologies, Inc. Method for efficiently executing video encoding operations on stream processor architectures
JP2009048469A (ja) * 2007-08-21 2009-03-05 Fujitsu Ltd 情報処理装置及び情報処理方法
US8121197B2 (en) * 2007-11-13 2012-02-21 Elemental Technologies, Inc. Video encoding and decoding using parallel processors
KR100939917B1 (ko) 2008-03-07 2010-02-03 에스케이 텔레콤주식회사 움직임 예측을 통한 부호화 시스템 및 움직임 예측을 통한부호화 방법
WO2009128030A1 (en) * 2008-04-18 2009-10-22 Koninklijke Philips Electronics N.V. An improved dual carrier modulation precoding
JP5309700B2 (ja) * 2008-06-03 2013-10-09 富士通株式会社 動画像復号装置および符号化装置
US8041132B2 (en) * 2008-06-27 2011-10-18 Freescale Semiconductor, Inc. System and method for load balancing a video signal in a multi-core processor
US8311111B2 (en) * 2008-09-11 2012-11-13 Google Inc. System and method for decoding using parallel processing
KR101590633B1 (ko) * 2008-11-11 2016-02-02 삼성전자주식회사 슬라이스 단위로 분할된 동영상을 처리하는 동영상 부호화/복호화장치 및 동영상 부호화/복호화방법
JP5067361B2 (ja) * 2008-12-25 2012-11-07 ソニー株式会社 エンコーダ及びデコーダ、符号方法及び復号方法、並びに記録媒体
US20100220215A1 (en) * 2009-01-12 2010-09-02 Jorge Rubinstein Video acquisition and processing systems
JP5275454B2 (ja) * 2009-03-31 2013-08-28 パナソニック株式会社 画像復号装置
US8379718B2 (en) * 2009-09-02 2013-02-19 Sony Computer Entertainment Inc. Parallel digital picture encoding
US8737825B2 (en) * 2009-09-10 2014-05-27 Apple Inc. Video format for digital video recorder
JP2011066843A (ja) * 2009-09-18 2011-03-31 Toshiba Corp 並列符号化装置及びプログラム並びに画像データの符号化方法
WO2011142569A2 (en) * 2010-05-10 2011-11-17 Samsung Electronics Co., Ltd. Method and apparatus for transmitting and receiving layered coded video
US8982964B2 (en) 2010-09-16 2015-03-17 Panasonic Intellectual Property Management Co., Ltd. Image decoding device, image coding device, methods thereof, programs thereof, integrated circuits thereof, and transcoding device
US9712835B2 (en) 2011-03-29 2017-07-18 Lyrical Labs LLC Video encoding system and method
US9100657B1 (en) 2011-12-07 2015-08-04 Google Inc. Encoding time management in parallel real-time video encoding
JP5979406B2 (ja) * 2012-02-22 2016-08-24 ソニー株式会社 画像処理装置、画像処理方法、および画像処理システム
US9195684B2 (en) 2012-03-02 2015-11-24 Cleversafe, Inc. Redundant task execution in a distributed storage and task network
WO2013140485A1 (ja) 2012-03-17 2013-09-26 富士通株式会社 符号化装置、復号化装置、符号化方法および復号化方法
US10255944B2 (en) * 2012-06-27 2019-04-09 Marvell World Trade Ltd. Systems and methods for reading and decoding encoded data from a storage device
US20140072027A1 (en) * 2012-09-12 2014-03-13 Ati Technologies Ulc System for video compression
US9319702B2 (en) 2012-12-03 2016-04-19 Intel Corporation Dynamic slice resizing while encoding video
US9299166B2 (en) * 2012-12-13 2016-03-29 Qualcomm Incorporated Image compression method and apparatus for bandwidth saving
US10045032B2 (en) 2013-01-24 2018-08-07 Intel Corporation Efficient region of interest detection
JP6244642B2 (ja) * 2013-04-10 2017-12-13 富士通株式会社 符号化装置、復号化装置、符号化方法、復号化方法およびプログラム
US11425395B2 (en) 2013-08-20 2022-08-23 Google Llc Encoding and decoding using tiling
US9794574B2 (en) 2016-01-11 2017-10-17 Google Inc. Adaptive tile data size coding for video and image compression
US10542258B2 (en) 2016-01-25 2020-01-21 Google Llc Tile copying for video compression
US10531134B2 (en) 2017-11-10 2020-01-07 Akamai Technologies, Inc. Determining a time budget for transcoding of video
CN109819178B (zh) * 2017-11-21 2022-07-08 虹软科技股份有限公司 一种用于帧处理的方法和装置

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5115309A (en) * 1990-09-10 1992-05-19 At&T Bell Laboratories Method and apparatus for dynamic channel bandwidth allocation among multiple parallel video coders
JP3093499B2 (ja) * 1992-03-06 2000-10-03 三菱電機株式会社 シーンチェンジ検出装置
JPH05324583A (ja) * 1992-05-26 1993-12-07 Dainippon Screen Mfg Co Ltd 画像データ処理装置
KR0128244B1 (ko) * 1992-09-23 1998-04-02 배순훈 병렬 구조를 갖는 부호 화상 데이타의 복호 장치
JP3190755B2 (ja) * 1993-01-22 2001-07-23 株式会社東芝 復号装置
US5583500A (en) * 1993-02-10 1996-12-10 Ricoh Corporation Method and apparatus for parallel encoding and decoding of data
US5376968A (en) * 1993-03-11 1994-12-27 General Instrument Corporation Adaptive compression of digital video data using different modes such as PCM and DPCM
KR100213015B1 (ko) * 1994-03-31 1999-08-02 윤종용 양자화 방법 및 회로
EP0687112B1 (en) * 1994-06-08 2006-09-20 Matsushita Electric Industrial Co., Ltd. Image conversion apparatus
JPH0837662A (ja) * 1994-07-22 1996-02-06 Hitachi Ltd 画像符号化復号化装置
US5532744A (en) * 1994-08-22 1996-07-02 Philips Electronics North America Corporation Method and apparatus for decoding digital video using parallel processing
IT1266945B1 (it) * 1994-09-29 1997-01-21 Cselt Centro Studi Lab Telecom Procedimento di multiplazione per flussi di segnali audiovisivi codificati secondo lo standard mpeg1.
KR100197190B1 (ko) * 1994-10-12 1999-06-15 모리시다 요이치 런렝스 부호의 복호회로
JP3279852B2 (ja) * 1994-12-14 2002-04-30 株式会社日立製作所 信号復号装置
US5757668A (en) * 1995-05-24 1998-05-26 Motorola Inc. Device, method and digital video encoder of complexity scalable block-matching motion estimation utilizing adaptive threshold termination
US5650860A (en) * 1995-12-26 1997-07-22 C-Cube Microsystems, Inc. Adaptive quantization
JPH10164581A (ja) * 1996-12-03 1998-06-19 Sony Corp 画像信号符号化方法及び装置、信号記録媒体
JPH11215009A (ja) * 1998-01-22 1999-08-06 Sony Corp 符号復号装置

Also Published As

Publication number Publication date
US20050147174A1 (en) 2005-07-07
US20020031184A1 (en) 2002-03-14
US6870883B2 (en) 2005-03-22
JP2000030047A (ja) 2000-01-28

Similar Documents

Publication Publication Date Title
JP4427827B2 (ja) データ処理方法、データ処理装置及び記録媒体
TWI415446B (zh) 用於視頻壓縮的並行處理裝置
TWI330042B (ja)
Shen et al. Parallel implementation of an MPEG-1 encoder: faster than real time
US9872018B2 (en) Random access point (RAP) formation using intra refreshing technique in video coding
JP3856262B2 (ja) 動き補償符号化装置、動き補償符号化方法、及び動き補償符号記録媒体
JP3548136B2 (ja) 画像処理装置
JP2010283893A (ja) スキップマクロブロックコード化
US7227589B1 (en) Method and apparatus for video decoding on a multiprocessor system
US6172621B1 (en) Coding apparatus and method of same and decoding apparatus and method of same
JP2000295616A (ja) 画像符号化装置、画像復号装置、画像符号化方法、画像復号方法及びプログラム記録媒体
JP2007251865A (ja) 画像データの処理装置、画像データの処理方法、画像データの処理方法のプログラム及び画像データの処理方法のプログラムを記録した記録媒体
KR100510756B1 (ko) 화상복호화장치와 그 방법 및 화상재생장치
KR20170075759A (ko) 대용량 병렬 처리를 위해 비디오 신호를 엔트로피 인코딩 또는 엔트로피 디코딩하는 방법 및 장치
KR100683380B1 (ko) 영상 압축 부호화를 위한 변환 및 역변환 방법 및 장치
JP2008182527A (ja) 画像符号化装置及び方法、並びに撮像システム
JP3014031B2 (ja) 動画圧縮装置
JP2006279574A (ja) 復号装置と方法
JP3871348B2 (ja) 画像信号復号化装置及び画像信号復号化方法
JPH10111792A (ja) 画像処理装置
JP2010141513A (ja) 演算装置及び動画像符号化装置
JP2010034802A (ja) 動画像符号化装置およびその制御方法
JP3401761B2 (ja) 動画像圧縮符号化・復号化方法、動画像圧縮符号化・復号化装置、動画像符号化伝送方法、動画像符号化伝送システムおよび動画像圧縮符号化・復号化プログラムを記録した記録媒体
KR20060028848A (ko) 멀티 타임 스캔 방식에 기초한 인터 모드 인코딩 및디코딩 방법 및 장치
KR100754167B1 (ko) 다양한 크기의 블록에 대한 변환/역변환 방법 및 그 장치

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050311

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050311

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080226

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080428

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090310

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090511

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090609

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090810

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090901

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091023

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

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

Free format text: PAYMENT UNTIL: 20121225

Year of fee payment: 3

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091207

LAPS Cancellation because of no payment of annual fees