JP2003244699A - 複数のプロセッサを用いた動画像符号化装置およびその方法 - Google Patents

複数のプロセッサを用いた動画像符号化装置およびその方法

Info

Publication number
JP2003244699A
JP2003244699A JP2002324300A JP2002324300A JP2003244699A JP 2003244699 A JP2003244699 A JP 2003244699A JP 2002324300 A JP2002324300 A JP 2002324300A JP 2002324300 A JP2002324300 A JP 2002324300A JP 2003244699 A JP2003244699 A JP 2003244699A
Authority
JP
Japan
Prior art keywords
processing
unit
moving image
storage unit
image 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.)
Granted
Application number
JP2002324300A
Other languages
English (en)
Other versions
JP4335516B2 (ja
JP2003244699A5 (ja
Inventor
Makoto Hanaki
真 花木
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 Holdings Corp
Original Assignee
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2002324300A priority Critical patent/JP4335516B2/ja
Priority to US10/308,097 priority patent/US7302516B2/en
Priority to CNB021518793A priority patent/CN1279492C/zh
Publication of JP2003244699A publication Critical patent/JP2003244699A/ja
Publication of JP2003244699A5 publication Critical patent/JP2003244699A5/ja
Application granted granted Critical
Publication of JP4335516B2 publication Critical patent/JP4335516B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

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
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • H04N19/433Hardware specially adapted for motion estimation or compensation characterised by techniques for memory access
    • 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

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)
  • Multi Processors (AREA)

Abstract

(57)【要約】 【課題】 複数のプロセッサを用いた動画像符号化装置
には、符号化処理の実行制御などの点に問題がある。 【解決手段】 共有記憶部2は、シーケンス単位に分割
された動画像データと、各シーケンスの符号化に必要な
データと、各シーケンスの処理状態とを記憶している。
各プロセッサ1は、他のプロセッサの動作とは独立し
て、共有記憶部2に記憶された処理状態に基づき、一の
シーケンスと当該シーケンスに対して次に実行すべき処
理とを選択して実行する。各プロセッサ1は、識別管理
情報に基づき、処理開始前に予め識別番号を取得し、処
理終了時や障害発生時には取得した識別番号を解放す
る。各プロセッサ1は、必要に応じて自らのプログラム
を更新する処理や、ビットストリームの異常を検出する
処理を行う。共有記憶部2は動画像データを分散して記
憶する機構を有しており、動きベクトル探索中に分散フ
ァイルシステムが構築される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、動画像の符号化装
置および符号化方法に関し、より特定的には、複数のプ
ロセッサを用いて符号化処理を並列に実行する動画像符
号化装置および動画像符号化方法に関する。
【0002】
【従来の技術】従来から、MPEG(Moving Picture E
xperts Group)などに準拠した動画像符号化処理を、複
数のプロセッサを用いて並列に実行し、処理時間を短縮
する方法が知られている(例えば、特許文献1)。図3
4および図35は、それぞれ、特許文献1に記載された
動画像符号化装置における、親プロセッサおよび子プロ
セッサの処理を示すフローチャートである。この符号化
装置では、装置に含まれる複数のプロセッサのうち、選
択された1台のプロセッサが親プロセッサとして動作
し、他のプロセッサは子プロセッサとして動作する。各
子プロセッサは、MPEG符号化処理のうちで並列に実
行可能な処理を並列に実行する。例えば図35に示す例
では、各子プロセッサは、マクロブロックを符号化し、
可変長符号化し、局所復号化する処理(ステップS3
2、S34およびS35)を並列に実行する。親プロセ
ッサは、ヘッダの生成(ステップS11〜S14)や子
プロセッサの起動(ステップS15)など、主に符号化
処理の実行を制御する。この際、親プロセッサは、自ら
も子プロセッサと同様の符号化処理を実行してもよい。
このように親プロセッサによる実行制御のもとで、複数
の子プロセッサを並列に動作させることにより、処理時
間を短縮することができる。
【0003】
【特許文献1】特開2000−30047号公報
【0004】
【発明が解決しようとする課題】しかしながら、上記符
号化装置には、符号化処理の実行制御、符号化処理の内
容の切り替え、エラー処理、および、記憶装置の構成な
どの点において、次のような問題がある。まず、符号化
処理の実行制御について言えば、第1に、符号化処理の
実行制御が親プロセッサによって行われるため、親プロ
セッサによる逐次処理が子プロセッサによる並列処理を
阻害するという問題がある。第2に、符号化処理中にプ
ロセッサを動的に追加および削除する手段が設けられて
いないため、プロセッサが1台故障しただけでも、装置
全体の動作が停止するという問題がある。第3に、符号
化処理の実行制御は親プロセッサと子プロセッサとの間
で同期を取ることによって行われるため、符号化処理中
にプロセッサを追加または削除するには、追加/削除対
象の子プロセッサと親プロセッサとの間で通信を行う
か、追加/削除対象の子プロセッサに符号化処理の実行
制御を一時的に行わせることが必要となり、これに伴い
処理性能が一時的に低下するという問題がある。第4
に、親プロセッサと子プロセッサとでは処理内容が異な
るため、符号化処理の実行制御が複雑になるという問題
もある。
【0005】次に、符号化処理の内容の切り替えについ
て言えば、一般に、動画像符号化装置では、符号化対象
となる動画像データの特性などに応じて、符号化処理の
内容を切り替えられることが望ましい。例えば、動きの
激しい動画像データには精度の高い動きベクトル探索
を、動きの乏しい動画像データには簡易な動きベクトル
探索をそれぞれ適用すれば、前者については再生画像を
高画質化し、後者については処理時間を短縮することが
できる。
【0006】ところが、上記符号化装置では、各プロセ
ッサで実行される処理は固定化されているため、動画像
データの特性に応じて符号化処理の内容を切り替えるた
めには、切り替えられる可能性があるすべての処理を子
プロセッサに搭載した上で、親プロセッサが子プロセッ
サにおける処理の内容を動的に切り替える必要がある。
しかし、この方法は、子プロセッサに搭載される機能の
大半が無駄になり、親プロセッサと子プロセッサとの間
の同期制御が複雑になるので、現実的ではない。また、
符号化処理の内容を変更したり、新たな機能を追加する
ときには、装置本来の目的である符号化処理を中断し、
各プロセッサのプログラムをすべて更新する必要が生じ
る。
【0007】次に、エラー処理について言えば、上記符
号化装置では、親プロセッサと複数の子プロセッサと
が、それぞれ、異なるマクロブロックに対して符号化処
理を行うため、符号化結果として生成されるビットスト
リームには、各プロセッサで求めた結果が混在して出現
する。例えば、親プロセッサがスライス層以上のヘッダ
生成処理とマクロブロック符号化処理とを行い、「子
1」「子2」の2台の子プロセッサがマクロブロック符
号化処理を行った場合には、図36に示すように、3台
のプロセッサで求めた結果が混在したビットストリーム
が生成される。
【0008】上記符号化装置では、各プロセッサで求め
た結果は、検査することなく連結され、1本のビットス
トリームとなるため、いずれかのプロセッサで異常が発
生すると、生成されたビットストリームを全く使用でき
ないという問題が生じる。例えば、上述した例において
「子2」のプロセッサで異常が発生すると、図36で斜
線を付した部分に誤りが生じる。ところが、各プロセッ
サは任意に選択したマクロブロックを符号化し、各プロ
セッサにおける処理時間も一定ではないので、生成され
たビットストリームにおける誤りの有無や、誤りの位置
などを容易に求めることはできない。したがって、プロ
セッサで異常が発生すると、生成されたビットストリー
ムは使用できなくなり、正しいビットストリームを得る
ためには、プロセッサに生じた異常の原因を除去した後
に、再び符号化処理を行う必要がある。
【0009】また、上記符号化装置では、生成されたビ
ットストリームに基づき、いずれのプロセッサに異常が
生じたかを容易に判断することができないため、異常プ
ロセッサを検出するためには、符号化処理を一旦中断し
た上で、プロセッサごとに異常検出処理を行う必要があ
る。したがって、装置の保守には、プロセッサの個数に
比例した時間が必要となる。また、子プロセッサを追加
して符号化処理の高速化を図る場合、プロセッサの追加
に伴い装置全体の故障率が上昇するので、信頼性の高い
高価なプロセッサを使用しなければ、異常発生時の再符
号化処理を含めた実際の処理時間が長くなってしまう。
さらに、親プロセッサで異常が発生すると、符号化処理
全体が停止し、代替の親プロセッサが準備できるまで符
号化処理を再開できないという問題もある。
【0010】次に、記憶装置の構成について言えば、上
記符号化装置では、各プロセッサからアクセスされる記
憶装置には特段の工夫がなされていない。このため、複
数のプロセッサが記憶装置に対して並列にアクセスする
と、データアクセスがボトルネックになり、動画像符号
化処理の速度が低下するという問題がある。
【0011】それ故に、本発明の第1の目的は、符号化
処理の実行制御を行うプロセッサを備えることなく、符
号化処理の実行中でもプロセッサを追加および削除でき
る動画像符号化装置および方法を提供することである。
本発明の第2の目的は、実行中の符号化処理に影響を及
ぼすことなく、符号化処理中に符号化処理の内容を切り
替え、追加および変更することができる動画像符号化装
置および方法を提供することである。本発明の第3の目
的は、異常プロセッサを符号化処理中に検出することに
より、プロセッサの修理や交換を容易に行え、少なくと
も1個のプロセッサが正常に動作していれば符号化処理
を継続できる動画像符号化装置および方法を提供するこ
とである。本発明の第4の目的は、複数のプロセッサか
ら並列に高速アクセス可能な記憶装置を備え、符号化処
理を高速に行える動画像符号化装置および方法を提供す
ることである。
【0012】
【課題を解決するための手段および発明の効果】第1の
発明は、並列に動作する複数の処理部と、処理部から共
通してアクセスされる共有記憶部とを備えた動画像符号
化装置であって、共有記憶部は、独立して処理を適用す
るために所定の単位に分割された動画像データと、分割
された動画像データの各単位について、符号化処理に必
要なデータと符号化処理の進行状態とを記憶し、各処理
部は、共有記憶部に記憶された符号化処理の進行状態に
基づき、分割された一単位の動画像データと、当該一単
位の動画像データについて次に実行すべき処理とを選択
する次処理選択手段と、次処理選択手段で選択された一
単位の動画像データに対して、次処理選択手段で選択さ
れた処理を実行する処理実行手段とを含む。このような
第1の発明によれば、各処理部は、共有記憶部に記憶さ
れた符号化処理の進行状態に基づき、次の処理を選択し
て実行する。各処理部における処理の選択と実行とは、
他の処理部の動作とは独立して、任意のタイミングで行
われる。このように符号化処理の実行制御が複数の処理
部によって分散して行われるので、符号化処理の実行制
御を行う処理部を備える必要がなく、複数の処理部の間
で同期を取る必要もない。したがって、逐次的に行われ
る符号化処理の実行制御によって、並列処理による高速
化の効果が損われることがなく、装置の性能を向上させ
ることができる。また、各処理部はいずれも同じ構成を
有していればよいため、符号化処理の実行制御を簡素化
することができる。
【0013】第2の発明は、第1の発明において、次処
理選択手段は、動画像符号化処理に含まれる複数の処理
のうちから一の処理を、次に実行すべき処理として選択
することを特徴とする。このような第2の発明によれ
ば、各処理部は、動画像符号化処理の一部を実行するご
とに、次に実行すべき処理を選択する。このように動画
像符号化処理を複数の処理に分割し、各処理部が分割さ
れた処理をそれぞれ実行することにより、各処理部の負
荷を均等化し、各処理部が動画像符号化処理の全体を実
行する場合と比べて、装置の性能を向上させることがで
きる。
【0014】第3の発明は、第1の発明において、各処
理部は、各処理部における処理に必要なデータを記憶す
る個別記憶手段をさらに備え、処理実行手段は、次処理
選択手段で選択された処理を実行する前に、当該処理に
必要なデータを共有記憶部から読み出して個別記憶手段
に記憶させ、個別記憶手段に記憶されたデータに対して
当該処理を実行し、当該処理で得られたデータを個別記
憶手段から読み出して共有記憶部に記憶させることを特
徴とする。このような第3の発明によれば、各処理部
は、処理に必要なデータを共有記憶部から個別記憶手段
に複写して、個別記憶手段に複写されたデータに対して
選択した処理を実行する。これにより、処理部から共有
記憶部に対するアクセスが減少し、各処理部におけるデ
ータ待ち時間が短縮されるので、装置の性能を向上させ
ることができる。
【0015】第4の発明は、第3の発明において、処理
実行手段は、次処理選択手段で選択された処理を実行す
る前に、当該処理に必要なデータが個別記憶手段に記憶
されていない場合に、当該処理に必要なデータを共有記
憶部から読み出して個別記憶手段に記憶させることを特
徴とする。このような第4の発明によれば、各処理部
は、個別記憶手段に必要なデータが記憶されている場合
には、データ取得のために共有記憶部にアクセスしな
い。これにより、処理部から共有記憶部に対するアクセ
スがさらに減少するので、装置の性能をさらに向上させ
ることができる。
【0016】第5の発明は、第1の発明において、共有
記憶部は、処理部の識別情報を管理するための識別管理
情報をさらに記憶し、各処理部は、識別管理情報に基づ
き、未使用の識別情報を取得する処理部追加手段と、処
理部追加手段で取得された識別情報を解放する処理部削
除手段とをさらに含み、次処理選択手段と処理実行手段
とは、取得された識別情報が解放されるまでの間、動作
することを特徴とする。このような第5の発明によれ
ば、各処理部は、共有記憶部に記憶された識別管理情報
に基づき識別情報の取得と解放とを行い、識別情報を有
している間だけ動作する。処理部による識別情報の取得
と解放とは、他の処理部の動作とは独立して、任意のタ
イミングで行われる。したがって、他の処理部が符号化
処理を実行中であっても、他の処理部に影響を及ぼすこ
となく、任意のタイミングで装置に処理部を追加および
削除することができる。このため、処理部で障害が発生
した場合などに、装置全体の符号化処理を中断すること
なく、処理部を保守することができる。
【0017】第6の発明は、第5の発明において、処理
部削除手段は、識別管理情報に基づき、処理部追加手段
で取得された識別情報が失効していると判断したとき
に、当該識別情報を解放することを特徴とする。このよ
うな第6の発明によれば、各処理部は、共有記憶部に記
憶された識別管理情報に基づき、必要に応じて識別情報
を解放し、処理の実行を停止する。処理部による識別情
報を解放すべきか否かの判断は、他の処理部の動作とは
独立して、任意のタイミングで行われる。したがって、
他の処理部が符号化処理を実行中であっても、他の処理
部に影響を及ぼすことなく、各処理部による判断に基づ
き、処理部を装置から削除することができる。このた
め、処理部で障害が発生した場合などに、装置全体の符
号化処理を中断することなく、障害が発生した処理部を
装置から削除することができる。
【0018】第7の発明は、並列に動作する複数の処理
部と、処理部から共通してアクセスされる共有記憶部と
を備えた動画像符号化装置であって、共有記憶部は、符
号化対象の動画像データと、動画像データの符号化処理
に必要なデータと、処理部の識別情報を管理するための
識別管理情報とを記憶し、各処理部は、識別管理情報に
基づき、未使用の識別情報を取得する処理部追加手段
と、処理部追加手段で取得された識別情報を解放する処
理部削除手段と、取得された識別情報が解放されるまで
の間、共有記憶部に記憶された動画像データに対して符
号化処理を実行する符号化実行手段とを含む。このよう
な第7の発明によれば、各処理部は、共有記憶部に記憶
された識別管理情報に基づき識別情報の取得と解放とを
行い、識別情報を有している間だけ動作する。処理部に
よる識別情報の取得と解放とは、他の処理部の動作とは
独立して、任意のタイミングで行われる。したがって、
他の処理部が符号化処理を実行中であっても、他の処理
部に影響を及ぼすことなく、任意のタイミングで装置に
処理部を追加および削除することができる。このため、
処理部で障害が発生した場合などに、装置全体の符号化
処理を中断することなく、処理部を保守することができ
る。
【0019】第8の発明は、第7の発明において、処理
部削除手段は、識別管理情報に基づき、処理部追加手段
で取得された識別情報が失効していると判断したとき
に、当該識別情報を解放することを特徴とする。このよ
うな第8の発明によれば、各処理部は、共有記憶部に記
憶された識別管理情報に基づき、必要に応じて識別情報
を解放し、処理の実行を停止する。処理部による識別情
報を解放すべきか否かの判断は、他の処理部の動作とは
独立して、任意のタイミングで行われる。したがって、
他の処理部が符号化処理を実行中であっても、他の処理
部に影響を及ぼすことなく、各処理部による判断に基づ
き、処理部を装置から削除することができる。このた
め、処理部で障害が発生した場合などに、装置全体の符
号化処理を中断することなく、障害が発生した処理部を
装置から削除することができる。
【0020】第9の発明は、並列に動作する複数の処理
部と、処理部から共通してアクセスされる共有記憶部と
を備えた動画像符号化装置であって、共有記憶部は、処
理部に転送され、処理部で実行される複数のプログラム
と、複数のプログラムの機能を示す機能情報とを記憶
し、各処理部は、動画像符号化処理に含まれる複数の処
理のうちから一の処理を、次に実行すべき処理として選
択する次処理選択手段と、共有記憶部に記憶された機能
情報に基づき、共有記憶部に記憶された複数のプログラ
ムから、次処理選択手段で選択された処理を実行するた
めのプログラムを選択し、選択したプログラムを共有記
憶部から転送するプログラム更新手段と、共有記憶部か
ら転送されたプログラムを記憶する個別記憶手段と、個
別記憶手段に記憶されたプログラムを用いて、次処理選
択手段で選択された処理を実行する処理実行手段とを含
む。このような第9の発明によれば、各処理部は、共有
記憶部に記憶された機能情報に基づき、次の処理に必要
なプログラムを選択し、選択したプログラムを転送して
実行する。各処理部におけるプログラムの選択、転送お
よび実行は、他の処理部の動作とは独立して、任意のタ
イミングで行われる。このため、各処理部は、他の処理
部の動作に影響を及ぼすことなく、次の処理に必要なプ
ログラムを選択し、実行することができる。したがっ
て、実行中の符号化処理に影響を及ぼすことなく、符号
化処理中に符号化処理の内容を切り替え、追加および変
更することができる。
【0021】第10の発明は、第9の発明において、共
有記憶部は、独立して処理を適用するために所定の単位
に分割された動画像データと、分割された動画像データ
の各単位について、符号化処理に必要なデータと符号化
処理の進行状態とをさらに記憶し、次処理選択手段は、
共有記憶部に記憶された符号化処理の進行状態に基づ
き、分割された一単位の動画像データと、当該一単位の
動画像データについて次に実行すべき処理とを選択し、
処理実行手段は、次処理選択手段で選択された一単位の
動画像データに対して、次処理選択手段で選択された処
理を実行することを特徴とする。このような第10の発
明によれば、各処理部は、共有記憶部に記憶された符号
化処理の進行状況に基づき、次の処理を選択して実行す
る。各処理部における処理の選択と実行とは、他の処理
部の動作とは独立して、任意のタイミングで行われる。
このように符号化処理の実行制御が複数の処理部によっ
て分散して行われるので、符号化処理の実行制御を行う
処理部を備えることなく、動画像符号化処理を行うこと
ができる。
【0022】第11の発明は、第9の発明において、プ
ログラム更新手段は、共有記憶部に記憶された機能情報
と次処理選択手段で選択された処理の機能とを比較し
て、当該処理を実行するためのプログラムを選択するこ
とを特徴とする。このような第11の発明によれば、各
処理部は、共有記憶部に記憶された機能情報と次の処理
に必要な機能とを比較して、転送すべきプログラムを選
択する。したがって、プログラム選択の際には、共有記
憶部に記憶されたデータのうち機能情報のみが使用さ
れ、他の処理部は機能情報以外のデータに自由にアクセ
スできる。したがって、実行中の符号化処理に影響を及
ぼすことなく、次の処理に必要なプログラムを選択する
ことができる。
【0023】第12の発明は、第9の発明において、プ
ログラム更新手段は、個別記憶手段に記憶されたプログ
ラムの機能と次処理選択手段で選択された処理の機能と
を比較して、選択したプログラムを共有記憶部から転送
するか否かを切り替えることを特徴とする。このような
第12の発明によれば、処理部は、以前に取得したプロ
グラムを用いて次の処理を実行できる場合には、共有記
憶部から個別記憶手段にプログラムを転送しない。これ
により、処理部から共有記憶部に対するアクセスが減少
し、各処理部におけるプログラム転送待ち時間が短縮さ
れるので、装置の性能を向上させることができる。
【0024】第13の発明は、並列に動作する複数の処
理部と、処理部から共通してアクセスされる共有記憶部
とを備えた動画像符号化装置であって、共有記憶部は、
独立して処理を適用するために所定の単位に分割された
動画像データと、分割された動画像データの各単位につ
いて、符号化処理に必要なデータと符号化処理の進行状
態とを記憶し、各処理部は、共有記憶部に記憶された符
号化処理の進行状態に基づき、分割された一単位の動画
像データと、当該一単位の動画像データについて次に実
行すべき処理とを選択する次処理選択手段と、次処理選
択手段で選択された一単位の動画像データに対して、次
処理選択手段で選択された処理を実行する処理実行手段
と、処理実行手段における処理で生じた異常を検出する
異常検出手段と、異常検出手段で異常が検出されたとき
に、次処理選択手段および処理実行手段による符号化処
理を停止させる処理停止手段とを備える。このような第
13の発明によれば、各処理部は、共有記憶部に記憶さ
れた符号化処理の進行状態に基づき、次の処理を選択し
て実行するとともに、選択した処理を実行した際に異常
が生じたときには自ら停止する。各処理部における処理
の選択、実行、異常検出および停止は、他の処理部とは
独立して、任意のタイミングで行われる。したがって、
符号化処理の実行制御を行う処理部を備えることなく、
異常が生じた処理部を符号化処理中に検出することがで
きる。よって、符号化処理中であっても処理部の修理や
交換を容易に行うことができ、少なくとも1個の処理部
が正常に動作していれば符号化処理を継続することがで
きる。
【0025】第14の発明は、第13の発明において、
異常検出手段は、処理実行手段で求めた動画像データの
符号化結果に基づき、処理実行手段における処理で生じ
た異常を検出することを特徴とする。このような第14
の発明によれば、動画像符号化処理で生成されたビット
ストリームに基づき、異常が生じた処理部が検出され
る。一般に動画像符号化処理で異常が生じたときには、
ビットストリームに異常が生じるので、これにより、異
常が生じた処理部を符号化処理中に容易に検出すること
ができる。
【0026】第15の発明は、第14の発明において、
異常検出手段は、処理実行手段で求めた動画像データの
符号化結果のサイズに基づき、処理実行手段における処
理で生じた異常を検出することを特徴とする。このよう
な第15の発明によれば、動画像符号化処理で生成され
たビットストリームのサイズに基づき、異常が生じた処
理部が検出される。動画像符号化処理で異常が生じたと
きには、ビットストリームのサイズに異常が生じる場合
があるので、これにより、異常が生じた処理部を容易に
検出することができる。
【0027】第16の発明は、第14の発明において、
異常検出手段は、処理実行手段で求めた動画像データの
符号化結果のシンタックスを検査することにより、処理
実行手段における処理で生じた異常を検出することを特
徴とする。このような第16の発明によれば、動画像符
号化処理で生成されたビットストリームのシンタックス
を検査することにより、異常が生じた処理部が検出され
る。動画像符号化処理で異常が生じたときには、ビット
ストリームのシンタックスに異常が生じる場合があるの
で、これにより、異常が生じた処理部を容易に検出する
ことができる。
【0028】第17の発明は、第13の発明において、
異常検出手段は、処理実行手段における処理時間に基づ
き、処理実行手段における処理で生じた異常を検出する
ことを特徴とする。このような第17の発明によれば、
各処理の所要時間に基づき、異常が生じた処理部が検出
される。動画像符号化処理に含まれる処理には、定型的
な処理や、所要時間を予想可能な処理が多く含まれるの
で、これにより、異常が生じた処理部を容易に検出する
ことができる。
【0029】第18の発明は、第17の発明において、
共有記憶部は、分割された動画像データの各単位につい
て、異常検出用のカウント値をさらに記憶しており、各
処理部は、カウント値を更新するカウント値更新手段を
さらに備え、処理実行手段は、次処理選択手段で選択さ
れた一単位の動画像データに対して次処理選択手段で選
択された処理を実行する前に、当該一単位の動画像デー
タについてのカウント値を初期化し、異常検出手段は、
処理実行手段における処理が完了したときに、処理実行
手段で初期化したカウント値が所定値以上であるとき
に、処理実行手段における処理で異常が生じたと判断す
ることを特徴とする。このような第18の発明によれ
ば、共有記憶部に記憶されたカウント値が各処理部によ
って更新され、これを用いて異常が生じた処理部が検出
される。したがって、各処理部でタイマーを起動するこ
となく処理の所要時間の概算値を算出し、異常が生じた
処理部を検出することができる。
【0030】第19の発明は、第13の発明において、
異常検出手段は、処理実行手段における処理で異常が生
じたと判断したときに、異常が生じた旨を、共有記憶部
に記憶された符号化処理の進行状態に記録し、次処理選
択手段は、共有記憶部に記憶された符号化処理の進行状
態に基づき、分割された一単位の動画像データと、当該
一単位の動画像データについて次に実行すべき処理とを
選択する際に、異常が生じた旨が記録されている処理を
優先的に選択することを特徴とする。このような第19
の発明によれば、処理部で異常が生じた旨は共有記憶部
に記録され、各処理部は異常が生じた処理を優先的に実
行する。このように異常が生じた処理を他の処理部が早
期に実行することにより、動画像符号化処理を安全かつ
確実に実行することができる。
【0031】第20の発明は、並列に動作する複数の処
理部と、処理部から共通してアクセスされる共有記憶部
とを備えた動画像符号化装置であって、共有記憶部は、
独立して処理を適用するために所定の単位に分割された
動画像データを分散して記憶する複数の画像記憶部と、
各画像記憶部とは独立してアクセスできるように構成さ
れ、分割された動画像データの各単位について、符号化
処理に必要なデータと処理の進行状態とを記憶するパラ
メータ記憶部とを含み、各処理部は、パラメータ記憶部
に記憶された符号化処理の進行状態に基づき、分割され
た一単位の動画像データと、当該一単位の動画像データ
について次に実行すべき処理とを選択する次処理選択手
段と、次処理選択手段で選択された一単位の動画像デー
タに対して、次処理選択手段で選択された処理を実行す
る処理実行手段とを含む。このような第20の発明によ
れば、動画像データは複数の画像記憶部に分散して記憶
され、各処理部は分散して記憶された動画像データにア
クセスする。そこで、処理部からのアクセスが競合しな
いように動画像データを分散して記憶することにより、
処理部からのアクセスが符号化処理のボトルネックにな
ることを防止することができる。よって、動画像符号化
処理を高速に行うことができる。
【0032】第21の発明は、第20の発明において、
符号化対象の動画像データを入力する画像入力部をさら
に備え、次処理選択手段は、符号化処理の過程において
少なくとも2段階に処理の選択方法を切り替え、第1段
階では、次に実行すべき処理として動きベクトル探索を
含む処理を選択し、第1段階に続く第2段階では、第1
段階で求めた動きベクトル探索結果を利用することとし
て、次に実行すべき処理として既知の動きベクトル探索
を含まない処理を選択し、処理実行手段は、次処理選択
手段が第1段階にあるときは、次処理選択手段で選択さ
れた一単位の動画像データを画像入力部から読み出し
て、次処理選択手段で選択された処理を実行するととも
に、読み出した動画像データを複数の画像記憶部のうち
一の画像記憶部に書き込み、次処理選択手段が第2段階
にあるときは、次処理選択手段で選択された一単位の動
画像データを画像記憶部から読み出して、次処理選択手
段で選択された処理を実行することを特徴とする。この
ような第21の発明によれば、画像入力部から入力され
た動画像データは、動きベクトル探索実行中に複数の画
像記憶部に分散して記憶される。その後、処理部は、分
散して記憶された動画像データに対して符号化処理を実
行する。動きベクトル探索では、計算が処理のボトルネ
ックになるのに対して、動きベクトル探索後の処理で
は、入出力が処理のボトルネックになる。そこで、入出
力に余裕がある動きベクトル探索実行中に、動画像デー
タを複数の画像記憶部に分散して記憶させることによ
り、入出力に余裕がない動きベクトル探索後の処理を高
速に行うための準備をする。これにより、動きベクトル
探索後の処理において入出力が処理のボトルネックにな
ることを防止することができる。よって、動画像符号化
処理を高速に行うことができる。
【0033】第22の発明は、第21の発明において、
次処理選択手段は、画像入力装置から入力されるすべて
の動画像データについて第1段階における処理を選択し
た後に、第1段階から第2段階に処理の選択方法を切り
替えることを特徴とする。このような第22の発明によ
れば、すべての動画像データについて動きベクトル探索
を実行した後に、動きベクトル探索後の処理を開始する
ことができる。
【0034】第23の発明は、第20の発明において、
共有記憶部は、各画像記憶部およびパラメータ記憶部と
は独立してアクセスできるように構成され、動画像デー
タの符号化結果を記憶する符号化結果記憶部をさらに含
み、処理実行手段は、動画像データの符号化結果を新た
に求めたときに、求めた部分より前の部分の符号化結果
がすべて符号化結果記憶部に記憶されている場合には、
符号化結果記憶部に記憶された符号化結果に新たに求め
た符号化結果を連結し、それ以外の場合には、新たに求
めた符号化結果を、記憶された符号化結果と連結するこ
となく、符号化結果記憶部に書き込むことを特徴とす
る。このような第23の発明によれば、処理部は、新た
に求めた符号化結果が符号化結果記憶部に記憶された符
号化結果と連結可能か否かを判断し、連結可能である場
合には連結し、連結不可である場合は新たに求めた符号
化結果を後で連結すべきものとして符号化結果記憶部に
書き込む。後で連結すべきとされた符号化結果の連結処
理は、他の処理部によって実行される。したがって、符
号化結果の連結順序と生成順序とが異なる場合でも、処
理部は、他の処理部が符号化結果を生成するのを待つこ
となく、他の実行可能な処理を開始することができる。
よって、動画像符号化処理を高速に行うことができる。
【0035】第24の発明は、並列に動作する複数の処
理部と、処理部から共通してアクセスされる共有記憶部
とを用いた動画像符号化方法であって、共有記憶部が、
独立して処理を適用するために所定の単位に分割された
動画像データと、分割された動画像データの各単位につ
いて、符号化処理に必要なデータと符号化処理の進行状
態とを記憶するデータ記憶ステップを行ない、各処理部
が、共有記憶部に記憶された符号化処理の進行状態に基
づき、分割された一単位の動画像データと、当該一単位
の動画像データについて次に実行すべき処理とを選択す
る次処理選択ステップと、次処理選択ステップで選択さ
れた一単位の動画像データに対して、次処理選択ステッ
プで選択された処理を実行する処理実行ステップとを行
う。このような第24の発明によれば、各処理部は、共
有記憶部に記憶された符号化処理の進行状態に基づき、
次の処理を選択して実行する。各処理部における処理の
選択と実行とは、他の処理部の動作とは独立して、任意
のタイミングで行われる。このように符号化処理の実行
制御が複数の処理部によって分散して行われるので、符
号化処理の実行制御を行う処理部を備える必要がなく、
複数の処理部の間で同期を取る必要もない。したがっ
て、逐次的に行われる符号化処理の実行制御によって、
並列処理による高速化の効果が損われることがなく、装
置の性能を向上させることができる。また、各処理部は
いずれも同じ構成を有していればよいため、符号化処理
の実行制御を簡素化することができる。
【0036】第25の発明は、並列に動作する複数の処
理部と、処理部から共通してアクセスされる共有記憶部
とを用いた動画像符号化方法であって、共有記憶部が、
符号化対象の動画像データと、動画像データの符号化処
理に必要なデータと、処理部の識別情報を管理するため
の識別管理情報とを記憶するデータ記憶ステップを行
い、各処理部が、識別管理情報に基づき、未使用の識別
情報を取得する処理部追加ステップと、処理部追加ステ
ップで取得された識別情報を解放する処理部削除ステッ
プと、取得された識別情報が解放されるまでの間、共有
記憶部に記憶された動画像データに対して符号化処理を
実行する符号化実行ステップとを行う。このような第2
5の発明によれば、各処理部は、共有記憶部に記憶され
た識別管理情報に基づき識別情報の取得と解放とを行
い、識別情報を有している間だけ動作する。処理部によ
る識別情報の取得と解放とは、他の処理部の動作とは独
立して、任意のタイミングで行われる。したがって、他
の処理部が符号化処理を実行中であっても、他の処理部
に影響を及ぼすことなく、任意のタイミングで装置に処
理部を追加および削除することができる。このため、処
理部で障害が発生した場合などに、装置全体の符号化処
理を中断することなく、処理部を保守することができ
る。
【0037】第26の発明は、並列に動作する複数の処
理部と、処理部から共通してアクセスされる共有記憶部
とを用いた動画像符号化方法であって、共有記憶部が、
処理部に転送され、処理部で実行される複数のプログラ
ムと、複数のプログラムの機能を示す機能情報とを記憶
するプログラム記憶ステップを行い、各処理部が、動画
像符号化処理に含まれる複数の処理のうちから一の処理
を、次に実行すべき処理として選択する次処理選択ステ
ップと、共有記憶部に記憶された機能情報に基づき、共
有記憶部に記憶された複数のプログラムから、次処理選
択ステップで選択された処理を実行するためのプログラ
ムを選択し、選択したプログラムを共有記憶部から転送
するプログラム更新ステップと、共有記憶部から転送さ
れたプログラムを記憶する個別記憶ステップと、個別記
憶ステップで記憶されたプログラムを用いて、次処理選
択ステップで選択された処理を実行する処理実行ステッ
プとを行う。このような第26の発明によれば、各処理
部は、共有記憶部に記憶された機能情報に基づき、次の
処理に必要なプログラムを選択し、選択したプログラム
を転送して実行する。各処理部におけるプログラムの選
択、転送および実行は、他の処理部の動作とは独立し
て、任意のタイミングで行われる。このため、各処理部
は、他の処理部の動作に影響を及ぼすことなく、次の処
理に必要なプログラムを選択して、実行することができ
る。したがって、実行中の符号化処理に影響を及ぼすこ
となく、符号化処理中に符号化処理の内容を切り替え、
追加および変更することができる。
【0038】第27の発明は、並列に動作する複数の処
理部と、処理部から共通してアクセスされる共有記憶部
とを用いた動画像符号化方法であって、共有記憶部が、
独立して処理を適用するために所定の単位に分割された
動画像データと、分割された動画像データの各単位につ
いて、符号化処理に必要なデータと符号化処理の進行状
態とを記憶するデータ記憶ステップを行い、各処理部
が、共有記憶部に記憶された符号化処理の進行状態に基
づき、分割された一単位の動画像データと、当該一単位
の動画像データについて次に実行すべき処理とを選択す
る次処理選択ステップと、次処理選択ステップで選択さ
れた一単位の動画像データに対して、次処理選択ステッ
プで選択された処理を実行する処理実行ステップと、処
理実行ステップにおける処理で生じた異常を検出する異
常検出ステップと、異常検出ステップで異常が検出され
たときに、次処理選択ステップおよび処理実行ステップ
による符号化処理を停止させる処理停止ステップとを行
う。このような第27の発明によれば、各処理部は、共
有記憶部に記憶された符号化処理の進行状態に基づき、
次の処理を選択して実行するとともに、選択した処理を
実行した際に異常が生じたときには自ら停止する。各処
理部における処理の選択、実行、異常検出および停止
は、他の処理部とは独立して、任意のタイミングで行わ
れる。したがって、符号化処理の実行制御を行う処理部
を備えることなく、異常が生じた処理部を符号化処理中
に検出することができる。よって、符号化処理中であっ
ても処理部の修理や交換を容易に行うことができ、少な
くとも1個の処理部が正常に動作していれば符号化処理
を継続することができる。
【0039】第28の発明は、並列に動作する複数の処
理部と、処理部から共通してアクセスされる共有記憶部
とを用いた動画像符号化方法であって、共有記憶部が、
独立して処理を適用するために所定の単位に分割された
動画像データを分散して記憶する画像記憶ステップと、
画像記憶ステップで記憶された動画像データとは独立し
てアクセスできるように、分割された動画像データの各
単位について、符号化処理に必要なデータと処理の進行
状態とを記憶するパラメータ記憶ステップとを行い、各
処理部が、パラメータ記憶部に記憶された符号化処理の
進行状態に基づき、分割された一単位の動画像データ
と、当該一単位の動画像データについて次に実行すべき
処理とを選択する次処理選択ステップと、次処理選択ス
テップで選択された一単位の動画像データに対して、次
処理選択ステップで選択された処理を実行する処理実行
ステップとを行う。このような第28の発明によれば、
動画像データは複数の画像記憶部に分散して記憶され、
各処理部は分散して記憶された動画像データにアクセス
する。そこで、処理部からのアクセスが競合しないよう
に動画像データを分散して記憶することにより、処理部
からのアクセスが符号化処理のボトルネックになること
を防止することができる。よって、動画像符号化処理を
高速に行うことができる。
【0040】第29の発明は、並列に動作する複数の処
理部と、処理部から共通してアクセスされる共有記憶部
とを備えたコンピュータを動画像符号化装置として機能
させるためのプログラムであって、共有記憶部に、独立
して処理を適用するために所定の単位に分割された動画
像データと、分割された動画像データの各単位につい
て、符号化処理に必要なデータと符号化処理の進行状態
とが記憶された状態で、各処理部によって実行されるべ
く、共有記憶部に記憶された符号化処理の進行状態に基
づき、分割された一単位の動画像データと、当該一単位
の動画像データについて次に実行すべき処理とを選択す
る次処理選択ステップと、次処理選択ステップで選択さ
れた一単位の動画像データに対して、次処理選択ステッ
プで選択された処理を実行する処理実行ステップとを備
える。
【0041】第30の発明は、並列に動作する複数の処
理部と、処理部から共通してアクセスされる共有記憶部
とを備えたコンピュータを動画像符号化装置として機能
させるためのプログラムであって、共有記憶部に、符号
化対象の動画像データと、動画像データの符号化処理に
必要なデータと、処理部の識別情報を管理するための識
別管理情報とが記憶された状態で、各処理部によって実
行されるべく、識別管理情報に基づき、未使用の識別情
報を取得する処理部追加ステップと、処理部追加ステッ
プで取得された識別情報を解放する処理部削除ステップ
と、取得された識別情報が解放されるまでの間、共有記
憶部に記憶された動画像データに対して符号化処理を実
行する符号化実行ステップとを備える。
【0042】第31の発明は、並列に動作する複数の処
理部と、処理部から共通してアクセスされる共有記憶部
とを備えたコンピュータを動画像符号化装置として機能
させるためのプログラムであって、共有記憶部に、処理
部に転送され、処理部で実行される複数の処理プログラ
ムと、複数の処理プログラムの機能を示す機能情報とが
記憶された状態で、各処理部によって実行されるべく、
動画像符号化処理に含まれる複数の処理のうちから一の
処理を、次に実行すべき処理として選択する次処理選択
ステップと、共有記憶部に記憶された機能情報に基づ
き、共有記憶部に記憶された複数の処理プログラムか
ら、次処理選択ステップで選択された処理を実行するた
めの処理プログラムを選択し、選択した処理プログラム
を共有記憶部から転送するプログラム更新ステップと、
共有記憶部から転送された処理プログラムを記憶する個
別記憶ステップと、個別記憶ステップで記憶された処理
プログラムを用いて、次処理選択ステップで選択された
処理を実行する処理実行ステップとを備える。
【0043】第32の発明は、並列に動作する複数の処
理部と、処理部から共通してアクセスされる共有記憶部
とを備えたコンピュータを動画像符号化装置として機能
させるためのプログラムであって、共有記憶部に、独立
して処理を適用するために所定の単位に分割された動画
像データと、分割された動画像データの各単位につい
て、符号化処理に必要なデータと符号化処理の進行状態
とが記憶された状態で、各処理部によって実行されるべ
く、共有記憶部に記憶された符号化処理の進行状態に基
づき、分割された一単位の動画像データと、当該一単位
の動画像データについて次に実行すべき処理とを選択す
る次処理選択ステップと、次処理選択ステップで選択さ
れた一単位の動画像データに対して、次処理選択ステッ
プで選択された処理を実行する処理実行ステップと、処
理実行ステップにおける処理で生じた異常を検出する異
常検出ステップと、異常検出ステップで異常が検出され
たときに、次処理選択ステップおよび処理実行ステップ
による符号化処理を停止させる処理停止ステップとを備
える。
【0044】第33の発明は、並列に動作する複数の処
理部と、処理部から共通してアクセスされる共有記憶部
とを備えたコンピュータを動画像符号化装置として機能
させるためのプログラムであって、共有記憶部に、独立
して処理を適用するために所定の単位に分割された動画
像データが分散して記憶され、さらに、動画像データと
は独立してアクセスできるように、分割された動画像デ
ータの各単位について、符号化処理に必要なデータと処
理の進行状態とが記憶された状態で、各処理部によって
実行されるべく、共有記憶部に記憶された符号化処理の
進行状態に基づき、分割された一単位の動画像データ
と、当該一単位の動画像データについて次に実行すべき
処理とを選択する次処理選択ステップと、次処理選択ス
テップで選択された一単位の動画像データに対して、次
処理選択ステップで選択された処理を実行する処理実行
ステップとを備える。
【0045】
【発明の実施の形態】(動画像符号化装置のシステム構
成)図1は、本発明の第1ないし第5の実施形態に係る
動画像符号化装置の構成を示すブロック図である。図1
に示す動画像符号化装置は、n個のプロセッサ1−1〜
n、共有記憶部2、システム管理部3、ネットワーク
4、画像入力部11、画像出力部12、および、ストリ
ーム記憶部13を備える。n個のプロセッサ1−1〜
n、共有記憶部2、および、システム管理部3は、いず
れも、装置内に設けられたネットワーク4に接続され
る。この動画像符号化装置は、n個のプロセッサ1−1
〜nを用いて、共有記憶部2に蓄積された動画像データ
を並列に符号化する。
【0046】プロセッサ1には、例えば、パーソナルコ
ンピュータが使用される。また、プロセッサ1は、動画
像符号化専用のコンピュータや、汎用のエンジニアリン
グワークステーションなどであってもよい。共有記憶部
2には、例えば、ハードディスク装置などが使用され
る。ネットワーク4には、例えば、バスやローカルエリ
アネットワークなどが使用される。
【0047】共有記憶部2は、符号化処理に必要なプロ
グラムとデータとを蓄積している。符号化処理実行前の
共有記憶部2には、符号化処理用プログラムと、符号化
対象の動画像データと、符号化処理中に参照される制御
情報とが蓄積されている。共有記憶部2に蓄積されたプ
ログラムは、各プロセッサ1にダウンロードされる。各
プロセッサ1は、ダウンロードされたプログラムに従っ
て、共有記憶部2から動画像データと制御情報とを読み
出して所定の符号化処理を行い、符号化処理の中間結果
や符号化結果のビットストリームを共有記憶部2に書き
込む。符号化処理の中間結果には、例えば、GOP(Gr
oup of Pictures )構造や動きベクトルなどが含まれ
る。
【0048】図2は、プロセッサ1の詳細な構成を示す
ブロック図である。プロセッサ1は、図2に示すよう
に、CPU21、ネットワークインターフェイス部2
2、RAM23、および、ローカルバス24を備える。
CPU21、ネットワークインターフェイス部22、お
よび、RAM23は、いずれも、プロセッサ1内のロー
カルバス24に接続される。図1に示すn個のプロセッ
サ1−1〜nは、いずれも、図2に示す構成を有するも
のとする。
【0049】CPU21は、プロセッサ1の演算処理装
置であり、RAM23に蓄積された符号化処理用プログ
ラム32に従って動作する。ネットワークインターフェ
イス部22は、ネットワーク4とローカルバス24とを
接続する。RAM23は、各プロセッサ1ごとに設けら
れた記憶装置であり、プロセッサ識別情報31、符号化
処理用プログラム32、および、符号化処理用データ3
3を蓄積している。プロセッサ識別情報31は、各プロ
セッサ1を識別するために割り当てられた識別情報であ
る。符号化処理用プログラム32は、共有記憶部2から
ダウンロードされたプログラムである。符号化処理用デ
ータ33は、各プロセッサ1における符号化処理に必要
なデータである。符号化処理用データ33には、符号化
対象の動画像データ、符号化処理中に参照される制御情
報、符号化処理の中間結果、および、符号化結果のビッ
トストリームなどが含まれる。
【0050】再び図1に戻ると、システム管理部3は、
コマンド入力のための入力部(図示せず)を備え、入力
されたコマンドに従いデータ入出力などの処理を行う。
例えば、システム管理部3は、符号化対象の動画像デー
タを画像入力部11から共有記憶部2へ転送する処理
や、符号化結果のビットストリームを共有記憶部2から
画像出力部12およびストリーム記憶部13へ転送する
処理などを行う。図1では、システム管理部3をn個の
プロセッサ1−1〜nとは別に設けたが、システム管理
部3をn個のプロセッサ1−1〜nのいずれかに設けて
もよい。
【0051】画像入力部11は、デジタルVTR14と
キャプチャ部15とを備えている。デジタルVTR14
には、符号化対象の動画像データが記録されている。キ
ャプチャ部15は、デジタルVTR14から出力された
映像信号を所定の形式に変換する。変換後の映像信号
は、システム管理部3の制御により、ネットワーク4経
由で共有記憶部2に転送される。
【0052】画像出力部12は、デコード部16とデジ
タルテレビ17とを備えている。共有記憶部2に蓄積さ
れたビットストリームは、システム管理部3の制御によ
り、ネットワーク4経由でデコード部16に転送され
る。デコード部16は、転送されたビットストリームを
復号し、再生映像信号を出力する。デジタルテレビ17
は、デコード部16から出力された再生映像信号を画面
に表示する。これにより、動画像符号化装置のユーザ
は、再生映像信号の画質を評価することができる。
【0053】ストリーム記憶部13は、記憶媒体(図示
せず)を着脱可能に構成されている。共有記憶部2に蓄
積されたビットストリームは、システム管理部3の制御
により、ネットワーク4経由でストリーム記憶部13に
転送される。ストリーム記憶部13は、転送されたビッ
トストリームを着脱可能に構成された記憶媒体に書き込
む。ストリーム記憶部13には、例えば、デジタルVT
Rやディスク記録装置などが使用される。
【0054】図1に示す動画像符号化装置は、以下の特
徴を有する。すなわち、図1に示す動画像符号化装置で
は、符号化対象の動画像データは、独立して符号化可能
な単位に分割された状態で共有記憶部2に蓄積される。
また、符号化処理は、特徴抽出、シーン検出、GOP構
造決定、動きベクトル探索、仮符号化、ビット割当て、
および、本符号化(仮符号化の後に行われる最終的な符
号化)など、複数の処理(以下、各処理を総称して「単
位処理」という)に分割される。各プロセッサ1は、あ
る単位処理を完了したときに、分割された動画像データ
を任意に選択し、選択した動画像データについてその時
点で実行可能な単位処理を選択し、選択した単位処理を
実行する。各プロセッサ1における単位処理の選択と実
行とは、他のプロセッサの動作とは独立して、任意のタ
イミングで行われる。
【0055】このように符号化処理の実行制御がn個の
プロセッサ1−1〜nによって分散して行われるので、
符号化処理の実行制御を行う管理用のプロセッサを備え
る必要がなく、n個のプロセッサ1−1〜nの間で同期
を取る必要もない。したがって、逐次的に行われる符号
化処理の実行制御によって、並列処理による高速化の効
果が損われることがなく、装置の性能を向上させること
ができる。また、n個のプロセッサ1−1〜nはいずれ
も同じ構成を有していればよいため、符号化処理の実行
制御を簡素化することができる。
【0056】以下、図1に示す動画像符号化装置の特徴
を5つの実施形態に分けて説明する。第1および第2の
実施形態では、符号化処理中にプロセッサを追加および
削除する機構について説明する。第3の実施形態では、
符号化処理中に符号化処理の内容を切り替え、追加およ
び変更する機構について説明する。第4の実施形態で
は、符号化処理中に異常プロセッサを検出する機構につ
いて説明する。第5の実施形態では、共有記憶部の詳細
な構成について説明する。以下では、符号化方式として
MPEGを採用し、動画像データはMPEGで規定され
たシーケンス単位に分割され、その結果s個のシーケン
スが得られたとする。
【0057】(第1の実施形態)本発明の第1の実施形
態に係る動画像符号化装置は、上述した符号化処理の実
行制御の実現方式に加えて、プロセッサ識別情報を動的
に割り当て、符号化処理中にプロセッサを追加および削
除できること、並びに、世代番号を用いて故障したプロ
セッサを検出することを特徴とする。
【0058】図3は、本実施形態に係る動画像符号化装
置のデータ配置図である。図3において、n個のプロセ
ッサ101−1〜nおよび共有記憶部102は、それぞ
れ、図1に示すプロセッサ1〜nおよび共有記憶部2を
詳細化したものであり、システム管理部103は、図1
に示すシステム管理部3に対応する。なお、図3では、
本実施形態の特徴を説明するために必要なデータのみを
示し、その他のデータについては図示を省略している。
図3に示すように、各プロセッサ101には、プロセッ
サ識別情報110が蓄積される。プロセッサ識別情報1
10は、図1に示すプロセッサ識別情報31を詳細化し
たものであり、識別番号111と世代番号112とを含
んでいる。識別番号111は、装置全体で予め用意され
た1からmまでの番号のうち、当該プロセッサ101が
取得した番号である。識別番号111は、符号化処理実
行中は1からmまでのいずれかの値となり、符号化処理
停止中は0となる。世代番号112は、後述するよう
に、プロセッサ101に生じた故障を検出するために使
用される。
【0059】図3に示すように、共有記憶部102に
は、s個の各シーケンスについて、シーケンス処理用デ
ータ140が蓄積される。第iのシーケンス処理用デー
タ140には、第iのシーケンスを符号化する際に必要
とされるすべてのデータ、例えば、動画像データ、制御
情報、中間結果、および、ビットストリームなどが含ま
れる。
【0060】加えて、共有記憶部102には、シーケン
ス管理情報120と識別管理情報130とが蓄積され
る。シーケンス管理情報120は、s個の各シーケンス
について、プロセッサ番号121と処理状態122とを
含んでいる。プロセッサ番号121は、当該シーケンス
について現在、単位処理を実行しているプロセッサの識
別番号である。処理状態122は、当該シーケンスにつ
いて、現在実行されている単位処理を示す。
【0061】識別管理情報130は、現世代番号13
1、世代検査値132、世代更新フラグ133、およ
び、m個の世代情報134を含んでいる。現世代番号1
31は、現在の世代番号を示す。世代検査値132は、
現世代番号131が有効であるか否かを検査するために
使用される。世代更新フラグ133は、現世代番号13
1が更新されたか否かを示す。世代情報134は、m個
(識別番号の個数)だけ存在する。第iの世代情報13
4には、値iの識別番号111がいずれかのプロセッサ
101によって取得されたときの現世代番号131が設
定される。
【0062】図4は、各プロセッサ101によるメイン
処理を示すフローチャートである。n個のプロセッサ1
01−1〜nは、いずれも、図2に示す符号化処理用プ
ログラム32を実行することにより、図4に示すフロー
チャートに従って動作する。メイン処理の概要は、次の
とおりである。プロセッサ101は、符号化処理開始前
にプロセッサ追加処理(図5)を実行し、予め用意され
たm個の識別番号から一の識別番号を取得する。その
後、プロセッサ101は、次に実行すべき単位処理を選
択し、選択した単位処理を実行する処理を繰り返す。す
べてのシーケンスについて符号化処理を完了したとき
に、プロセッサ101は、プロセッサ削除処理(図6)
を実行し、取得した識別番号を解放する。
【0063】共有記憶部102に蓄積された現世代番号
131は、適宜1ずつ更新される。プロセッサ101
は、ある単位処理を完了した時点で現世代番号131が
更新されていることを検出した場合には、自らの世代番
号112を現世代番号131に合わせて更新する。現世
代番号131の更新後に所定の時間経過しても、世代番
号112を更新しないプロセッサ101は故障したもの
として扱われ、故障したプロセッサが使用していた識別
番号は解放される。
【0064】図4に示す各ステップの詳細は、次のとお
りである。プロセッサ101は、起動されると、まず、
自プロセッサについて初期化処理を行う(ステップS1
101)。初期化処理では、プロセッサ101は、RA
M内の符号化処理用データ(図2に示す符号化処理用デ
ータ33)を初期化するなどの処理を行う。次に、プロ
セッサ101は、後述するプロセッサ追加処理(図5)
によって識別番号111を取得する(ステップS110
2)。
【0065】次に、プロセッサ101は、取得した識別
番号111が有効か否かを判断する(ステップS110
3)。取得した識別番号111が有効でない場合には
(ステップS1103のNO)、これ以上プロセッサを
追加できないため、プロセッサ101は処理を終了す
る。取得した識別番号111が有効である場合には(ス
テップS1103のYES)、プロセッサ101は、ス
テップS1104へ進み、既に動作中の他のプロセッサ
とともに符号化処理を並列に実行する。
【0066】次に、プロセッサ101は、所定の判断基
準に従い、次の処理を選択する(ステップS110
4)。すなわち、プロセッサ101は、各シーケンスに
割当てられた優先度などの情報に基づき、次に処理すべ
きシーケンスを選択し、選択したシーケンスについて実
行可能な単位処理のうち、一の単位処理を次の処理とし
て選択する。
【0067】次に、プロセッサ101は、次の処理が存
在するか否かを判断する(ステップS1105)。次の
処理が存在しない場合には(ステップS1105のN
O)、すべてのシーケンスについて処理を完了したの
で、プロセッサ101は、後述するプロセッサ削除処理
(図6)によって識別番号111を解放した後(ステッ
プS1115)、処理を終了する。
【0068】次の処理が存在する場合には(ステップS
1105のYES)、プロセッサ101は、選択した処
理を実行するために必要なデータを共有記憶部102か
ら読み出し、自らのRAM(図2に示すRAM23)に
書き込む(ステップS1106)。例えば、プロセッサ
101は、選択したシーケンスについて、動画像デー
タ、制御情報および中間結果などを、共有記憶部102
から読み出して自らのRAMに書き込む。
【0069】次に、プロセッサ101は、選択した処理
を実行する(ステップS1107)。具体的には、プロ
セッサ101は、自らのRAM上のデータに対して、特
徴抽出、シーン検出、GOP構造の決定、動きベクトル
探索、仮符号化、ビット割当て、および、本符号化など
の単位処理を実行し、その結果を自らのRAMに書き込
む。
【0070】次に、プロセッサ101は、求めた結果を
共有記憶部102に書き込む前に、ステップS1108
からS1113までの世代管理処理を実行する。世代管
理処理では、プロセッサ101は、まず、識別管理情報
130をロックする(ステップS1108)。次に、プ
ロセッサ101は、現世代番号131が更新されている
か否かを判断する(ステップS1109)。具体的に
は、プロセッサ101は、世代更新フラグ133が1で
あれば更新済み、それ以外の場合は未更新と判断する。
現世代番号131が更新されていない場合には(ステッ
プS1109のNO)、プロセッサ101は、直ちにス
テップS1113へ進む。
【0071】現世代番号131が更新されている場合に
は(ステップS1109のYES)、プロセッサ101
は、変数iに自らの識別番号111を代入し(ステップ
S1110)、自らの世代番号112が第iの世代情報
134と一致するか否かを判断する(ステップS111
1)。第iの世代情報134には、通常は、プロセッサ
101が識別番号111を取得した際の現世代番号13
1が設定されており、プロセッサ101が故障した後
は、0が設定されている。このため、世代番号112と
第iの世代情報134とが一致した場合には(ステップ
S1111のYES)、プロセッサ101は、符号化処
理を継続すべく、自らの世代番号112と第iの世代情
報134とにいずれも現世代番号131を設定する(ス
テップS1112)。一方、世代番号112と第iの世
代情報134とが一致しない場合には(ステップS11
11のNO)、プロセッサ101は、符号化処理を停止
すべく、自らの識別番号111と世代番号112とにい
ずれも0を設定し(ステップS1116)、識別管理情
報130をアンロックした後(ステップS1117)、
処理を終了する。
【0072】符号化処理を継続する場合、プロセッサ1
01は、識別管理情報130をアンロックし(ステップ
S1113)、ステップS1107で求めた結果を自ら
のRAMから読み出して、共有記憶部102に書き込む
(ステップS1114)。その後、プロセッサ101
は、ステップS1104へ進み、再びステップS110
4以降の処理を実行する。なお、ステップS1107で
所定の処理を完了した後、求めた結果を共有記憶部10
2に書き込む前に世代管理処理を実行しているのは、故
障したプロセッサによって求められた結果が共有記憶部
102に書き込まれることを防止するためである。
【0073】以下、本実施形態に係る動画像符号化装置
におけるプロセッサ追加処理とプロセッサ削除処理とを
説明する。図5に示すプロセッサ追加処理では、プロセ
ッサ101は、まず、識別管理情報130をロックする
(ステップS1201)。次に、プロセッサ101は、
現世代番号131に対して所定の演算fを行い、求めた
値と世代検査値132とを比較する(ステップS120
2)。所定の演算fは、識別管理情報130が初期化さ
れていない状態では、現世代番号131に演算fを施し
た結果と世代検査値132とが一致しないように決定さ
れる。例えば、演算fとして、ビットごとの否定(NO
T)を用いることができる。このような演算fを選択す
れば、現世代番号131に対して演算fを施した結果と
世代検査値132とが一致する場合には、識別管理情報
130は既に初期化されており、両者が一致しない場合
には、識別管理情報130はまだ初期化されていないと
判断することができる。プロセッサ101は、両者が一
致する場合にはステップS1204へ、それ以外の場合
はステップS1203へ進む。
【0074】ステップS1202で両者が一致しない場
合には(ステップS1202のNO)、プロセッサ10
1は、自プロセッサが装置全体で最初にプロセッサ追加
処理を実行していると判断し、識別管理情報130を初
期化する(ステップS1203)。具体的には、プロセ
ッサ101は、現世代番号131には1を、世代検査値
132には現世代番号(値は1)に演算fを施した結果
を、世代更新フラグ133およびm個の世代情報134
には0を、それぞれ設定する。
【0075】次に、プロセッサ101は、ステップS1
204からS1207の処理により、m個の世代情報1
34のうちで未使用のもの、すなわち、値が0であるも
のの番号を求める。より詳細に述べると、プロセッサ1
01は、変数iに1を設定し(ステップS1204)、
第iの世代情報134が0であるか否かを調べる(ステ
ップS1205)。第iの世代情報134が0である場
合には(ステップS1205のYES)、プロセッサ1
01は、ステップS1208へ進む。それ以外の場合に
は(ステップS1205のNO)、プロセッサ101
は、ステップS1206へ進み、変数iがm(識別番号
の個数)未満であれば(ステップS1206のYE
S)、変数iに1を加算し(ステップS1207)、ス
テップS1205へ進む。
【0076】未使用の世代情報134がある場合には
(ステップS1205のYES)、プロセッサ101
は、自らの識別番号111および世代番号112に求め
た番号iおよび現世代番号131をそれぞれ設定し、第
iの世代情報134に現世代番号131を設定する(ス
テップS1208)。未使用の世代情報134がない場
合には(ステップS1206のNO)、プロセッサ10
1は、自らの識別番号111に0を設定する(ステップ
S1209)。この場合、他のプロセッサが既に番号i
を識別番号として使用している可能性があるので、プロ
セッサ101は、第iの世代情報134には値を設定し
ない。
【0077】最後に、プロセッサ101は、識別管理情
報130をアンロックし(ステップS1210)、これ
をもってプロセッサ追加処理を完了する。上述したよう
に、プロセッサ101は、プロセッサ追加処理で有効な
識別番号を取得した場合、次の処理を選択して、選択し
た処理を実行する処理(図4のステップS1104から
S1114の処理)を繰り返す。このようにして、有効
な識別番号111を取得したプロセッサ101は、符号
化装置に組み込まれる。
【0078】図6に示すプロセッサ削除処理では、プロ
セッサ101は、まず、識別管理情報130をロックし
(ステップS1301)、変数iに自らの識別番号11
1を代入する(ステップS1302)。次に、プロセッ
サ101は、自らの識別番号111および世代番号11
2、並びに、第iの世代情報134に、いずれも0を設
定する(ステップS1303)。最後に、プロセッサ1
01は、識別管理情報130をアンロックし(ステップ
S1304)、これをもってプロセッサ削除処理を完了
する。
【0079】図6に示すプロセッサ削除処理または図4
のステップS1116の処理により、プロセッサ101
は、これまで使用していた識別番号111を解放する。
このようにして、使用していた識別番号111を解放し
たプロセッサ101は、符号化装置から切り離される。
装置から切り離されたプロセッサ101は、任意のタイ
ミングでプロセッサ追加処理を実行し、有効な識別番号
111を取得すれば、符号化装置に再び組込まれる。
【0080】図5に示すプロセッサ追加処理、および、
図6に示すプロセッサ削除処理によれば、プロセッサ1
01が識別管理情報130に対して排他制御を行うの
は、プロセッサ追加処理またはプロセッサ削除処理を実
行するときに限られる。このため、他のプロセッサが符
号化処理を実行するために共有記憶部102の他のデー
タにアクセスしていても、プロセッサ追加/削除処理が
そのアクセスを妨げることはない。したがって、各プロ
セッサは、他のプロセッサによる符号化処理に影響を及
ぼすことなく、任意のタイミングでプロセッサ追加/削
除処理を実行することができる。
【0081】次に、世代番号を用いて、故障したプロセ
ッサを検出する方法を説明する。図7は、本実施形態に
係る動画像符号化装置における世代更新処理のフローチ
ャートである。システム管理部103は、故障したプロ
セッサを装置から切り離すために、所定のコマンドが入
力されたときに、あるいは、所定の時間間隔で世代更新
処理を実行する。また、図4に示すフローチャートの好
適な箇所に世代更新処理を呼び出すステップを挿入し、
プロセッサ101が、所定の時間間隔で世代更新処理を
実行してもよい。以下では、システム管理部103が世
代更新処理を実行する場合を例示するが、プロセッサ1
01が世代更新処理を実行する場合も全く同様である。
【0082】図7に示す世代更新処理では、システム管
理部103は、まず、識別管理情報130をロックする
(ステップS1401)。次に、システム管理部103
は、現世代番号131に所定の演算fを施した結果と世
代検査値132とを比較し、両者が一致するときはステ
ップS1404へ、それ以外のときはステップS140
3へ進む(ステップS1402)。
【0083】両者が一致しない場合には(ステップS1
402のNO)、システム管理部103は、世代番号は
まだ初期化されていないと判断し、識別管理情報130
を初期化し(ステップS1403)、ステップS141
6へ進む。なお、図7のステップS1402およびS1
403は、それぞれ、図5のステップS1202および
S1203と同じであるので、その説明を省略する。
【0084】ステップS1402で両者が一致する場合
には(ステップS1402のYES)、システム管理部
103は、世代更新フラグ133が0か否かを判断する
(ステップS1404)。世代更新フラグ133が0で
ない場合には(ステップS1404のNO)、システム
管理部103は、自分以外が世代更新処理を実行中であ
ると判断し、現世代番号131を更新することなく、ス
テップS1416へ進む。一方、世代更新フラグ133
が0である場合には(ステップS1404のYES)、
システム管理部103は、現世代番号131を更新すべ
く、ステップS1405へ進む。
【0085】次に、システム管理部103は、世代更新
処理を実行中であることを示すため、世代更新フラグ1
33に1を設定する(ステップS1405)。次に、シ
ステム管理部103は、現世代番号131に1を加算
し、加算後の現世代番号131に演算fを施した結果を
世代検査値132に設定する(ステップS1406)。
これにより、現世代番号131は1ずつ更新され、これ
に伴い世代検査値132も更新される。
【0086】次に、システム管理部103は、識別管理
情報130をアンロックし(ステップS1407)、所
定の時間だけ停止する(ステップS1408)。ステッ
プS1408における所定の時間は、正常なプロセッサ
101がその時間内に図4のステップS1104で選択
した処理を完了できる値に設定される。このため、プロ
セッサ101の識別番号111をiとしたとき、システ
ム管理部103がステップS1408に到達した時点に
おける第iの世代情報134は、プロセッサ101が正
常であれば、現世代番号131と一致する。一方、プロ
セッサ101が故障したために、システム管理部103
がステップS1408に到達した時点で、プロセッサ1
01が選択した処理を完了していない場合には、第iの
世代情報134は現世代番号131と一致しない。
【0087】そこで、システム管理部103は、停止状
態から動作を再開すると、識別管理情報130をロック
した後(ステップS1409)、現世代番号131に一
致しない各世代情報134に「データ無効」を示す値0
を設定する。より詳細に述べると、システム管理部10
3は、変数iに1を代入し(ステップS1410)、第
iの世代情報134が現世代番号131と一致しない場
合には(ステップS1411のNO)、第iの世代情報
134に0を設定する(ステップS1412)。次に、
システム管理部103は、変数iがs(シーケンスの個
数)未満である場合には(ステップS1413のYE
S)、変数iに1を加算して(ステップS1414)、
ステップS1411へ進む。ステップS1410からS
1413の処理により、自らの世代番号112を更新し
ていないプロセッサ101があった場合、当該プロセッ
サ101の識別番号をiとしたとき、第iの世代情報1
34は0となる。プロセッサ101は、自らの世代番号
112と第iの世代情報134とが一致しない場合に
は、取得した世代番号を解放して処理を終了する(図4
のステップS1116およびS1117)。これによ
り、故障したプロセッサ101は、装置から切り離され
る。
【0088】次に、システム管理部103は、世代更新
処理を完了したことを示すため、世代更新フラグ133
に0を設定する(ステップS1415)。最後に、シス
テム管理部103は、識別管理情報130をアンロック
し(ステップS1416)、これをもって世代更新処理
を完了する。
【0089】このように図7に示す世代更新処理によれ
ば、システム管理部103またはプロセッサ101が現
世代番号131を順次1ずつ更新し、現世代番号131
を更新した後に所定の時間経過しても、自らの世代番号
112を更新しないプロセッサ101が使用していた識
別番号111は解放される。解放された識別番号は、そ
の後に他のプロセッサ101によって使用される。した
がって、符号化処理の実行中であっても、他のプロセッ
サ101による符号化処理に影響を与えることなく、プ
ロセッサ101に生じた故障を検知し、故障したプロセ
ッサ101を装置から削除することができる。
【0090】なお、世代更新処理を行った際に、更新前
の現世代番号131を有する第1のプロセッサと、更新
後の現世代番号131を有する第2のプロセッサとが、
同じ識別番号111を使用し、同時に符号化処理を実行
する場合が考えられる。しかし、共有記憶部102は、
符号化処理に必要なデータをシーケンスごとに記憶して
いるので、第1および第2のプロセッサは、それぞれ、
共有記憶部102の異なる領域に求めた結果を書き込
む。したがって、故障したプロセッサを検出するために
行われる世代更新処理が、n個のプロセッサ101−1
〜nによって行われる符号化処理に悪影響を与えること
はない。
【0091】以上に示すように、本実施形態に係る動画
像符号化装置によれば、符号化処理の実行制御が複数の
プロセッサによって分散して行われるので、符号化処理
の実行制御を行う管理用のプロセッサを備える必要がな
く、プロセッサ間で同期を取る必要もない。また、各プ
ロセッサは、共有記憶部に記憶された識別管理情報に基
づき識別情報の取得と解放とを行い、識別情報を有して
いる間だけ動作する。プロセッサによる識別情報の取得
と解放とは、他のプロセッサの動作とは独立して、任意
のタイミングで行われる。したがって、他のプロセッサ
が符号化処理を実行中であっても、他のプロセッサに影
響を及ぼすことなく、任意のタイミングで装置にプロセ
ッサを追加および削除することができる。このため、プ
ロセッサで障害が発生した場合などに、装置全体の符号
化処理を中断することなく、プロセッサを保守すること
ができる。
【0092】(第2の実施形態)第2の実施形態では、
次処理選択処理および共有記憶部に記憶される処理状態
の詳細について説明する。
【0093】図8は、本実施形態に係る動画像符号化装
置のデータ配置図である。図8において、n個のプロセ
ッサ151−1〜nおよび共有記憶部152は、それぞ
れ、図1に示すプロセッサ1−1〜nおよび共有記憶部
2を詳細化したものである。なお、図8では、本実施形
態の特徴を説明するために必要なデータのみを示し、そ
の他のデータについては図示を省略している。図8に示
すように、各プロセッサ151には、プロセッサ識別情
報161、選択シーケンス番号162、および、選択処
理番号163が蓄積される。プロセッサ識別情報161
は、図2に示すプロセッサ識別情報31に対応する。プ
ロセッサ識別情報161は、各プロセッサ151に予め
一意に割り当てられていてもよく、第1の実施形態で示
したように、各プロセッサが動的に取得するものであっ
てもよい。
【0094】図8に示す動画像符号化装置では、符号化
処理は複数の単位処理に分割され、各プロセッサ151
は、一のシーケンスと当該シーケンスについて実行可能
な単位処理とを選択して、選択した処理を実行する。選
択シーケンス番号162は、プロセッサ151が選択し
たシーケンスの番号であり、選択処理番号163は、プ
ロセッサ151が選択した単位処理の番号である。な
お、本実施形態では、符号化処理はt個の単位処理に分
割されるとする。
【0095】図8に示すように、共有記憶部152に
は、s個の各シーケンスについて、第1から第sのシー
ケンス処理用データ180が蓄積される。本実施形態に
係るシーケンスデータ処理用データは、第1の実施形態
と同じであるので、ここではその説明を省略する。
【0096】また、共有記憶部152には、符号化処理
の進行状況を監視制御するために、シーケンス管理情報
170が蓄積される。シーケンス管理情報170は、s
個の各シーケンスについて、現処理番号171、選択可
能処理番号172、および、処理状態173を含んでい
る。現処理番号171は、当該シーケンスについて現在
実行されている単位処理の番号である。選択可能処理番
号172は、当該シーケンスについて次のプロセッサが
選択することができる単位処理の番号である。現処理番
号171および選択可能処理番号172は、いずれも1
からt(単位処理の個数)までのいずれかの値を取る。
【0097】処理状態173は、各単位処理について、
プロセッサ番号174、開始フラグ175、終了フラグ
176、および、エラーフラグ177を含んでいる。各
データの第jの要素について述べると、プロセッサ番号
174は、第jの単位処理を実行するプロセッサ151
のプロセッサ識別情報161である。開始フラグ175
は、第jの単位処理が開始されるまでは0、開始後は1
となる。終了フラグ176は、第jの単位処理が終了す
るまでは0、終了後は1となる。エラーフラグ177
は、第jの単位処理でエラーが発生するまでは0、エラ
ー発生後は1となる。これらのデータは、後述するよう
に、いずれもプロセッサ151によって更新される。
【0098】図9は、各プロセッサ151によるメイン
処理を示すフローチャートである。n個のプロセッサ1
51−1〜nは、いずれも、図2に示す符号化処理用プ
ログラム32を実行することにより、図9に示すフロー
チャートに従って動作する。図9に示すメイン処理は、
第1の実施形態(図4)とほぼ同様であるが、次処理選
択処理(図10)およびシーケンス状態更新処理(図1
1)において、処理状態173に含まれる単位処理ごと
のデータを更新することを特徴とする。具体的には、プ
ロセッサ151は、次処理選択処理では、プロセッサ番
号174に自らのプロセッサ識別情報161を設定する
とともに、開始フラグ175を1に設定し、シーケンス
状態更新処理では、終了フラグ176を1に設定すると
ともに、故障発生時にはエラーフラグ177に1を設定
する。
【0099】図9に示す各ステップの詳細は、次のとお
りである。なお、図9のステップS1501、S150
4、S1505およびS1506は、それぞれ、図4の
ステップS1101、S1106、S1107およびS
1114と同じであるので、その説明を省略する。プロ
セッサ151は、起動されると、まず、自プロセッサに
ついて初期化処理を行う(ステップS1501)。次
に、プロセッサ151は、後述する次処理選択処理(図
10)を実行し、自らの選択シーケンス番号162およ
び選択処理番号163、並びに、シーケンス管理情報1
70を更新する(ステップS1502)。
【0100】次に、プロセッサ151は、次の処理が存
在するか否かを判断する(ステップS1503)。次の
処理が存在しない場合には(ステップS1503のN
O)、すべてのシーケンスについて処理を完了したの
で、プロセッサ151は処理を終了する。次の処理が存
在する場合には(ステップS1503のYES)、プロ
セッサ151は、必要なデータを共有記憶部102から
読み出し(ステップS1504)、選択した処理を実行
し(ステップS1505)、求めた結果を共有記憶部1
02に書き込む(ステップS1506)。
【0101】次に、プロセッサ151は、後述するシー
ケンス状態更新処理(図11)を実行し、ステップS1
505における処理結果に応じてシーケンス管理情報1
70を更新する(ステップS1507)。その後、プロ
セッサ151は、ステップS1502へ進み、ステップ
S1502からS1507の処理を繰り返し実行する。
【0102】以下、本実施形態に係る動画像符号化装置
における次処理選択処理とシーケンス状態更新処理とを
説明する。図10に示す次処理選択処理では、プロセッ
サ151は、まず、シーケンス管理情報170をロック
する(ステップS1601)。なお、シーケンス管理情
報170がロックされていても、他のプロセッサは、シ
ーケンス処理用データ180に対して自由にアクセスで
きる。
【0103】次に、プロセッサ151は、ステップS1
602からS1607の処理により、s個のシーケンス
のうちから一のシーケンスを選択する。より詳細に述べ
ると、プロセッサ151は、変数iに1を代入し(ステ
ップS1602)、第iのシーケンスについて現処理番
号171と選択可能処理番号172とを比較する(ステ
ップS1603)。両者が一致する場合には(ステップ
S1603のYES)、第iのシーケンスについて選択
可能な処理が存在しないため、プロセッサ151は、次
のシーケンスを調べる。すなわち、プロセッサ151
は、変数iがs(シーケンスの個数)未満であれば(ス
テップS1604のYES)、変数iに1を加算し(ス
テップS1605)、ステップS1603へ進む。
【0104】ステップS1604で変数iがs以上とな
ったときには(ステップS1604のNO)、いずれの
シーケンスについても選択可能な処理が存在しないた
め、プロセッサ151は、シーケンス管理情報170を
一旦アンロックし(ステップS1606)、所定の時間
だけ停止した後(ステップS1607)、ステップS1
601へ進む。このように、実行すべき処理は残ってい
るが、その時点でいずれのシーケンスについても選択可
能な処理が存在しない場合には、プロセッサ151は、
所定の時間だけ待機した後に、選択可能な処理を再び探
索する。
【0105】ステップS1603において、現処理番号
171が選択可能処理番号172と異なる場合には(ス
テップS1603のNO)、プロセッサ151は、第i
のシーケンスについて現在実行されている単位処理の次
の単位処理を、次に実行すべき処理として選択する。こ
のため、プロセッサ151は、第iのシーケンスの現処
理番号171に1を加算し(ステップS1608)、変
数jに加算後の現処理番号171を代入する(ステップ
S1609)。次に、プロセッサ151は、自らの選択
シーケンス番号162および選択処理番号163に、そ
れぞれ、求めたiおよびjの値を設定する(ステップS
1610)。次に、プロセッサ151は、第iのシーケ
ンスの第jの単位処理について、プロセッサ番号174
にプロセッサ識別情報161を、開始フラグ175に1
を、終了フラグ176およびエラーフラグ177に0
を、それぞれ設定する(ステップS1611)。最後
に、プロセッサ151は、シーケンス管理情報170を
アンロックし(ステップS1612)、これをもって次
処選択処理を完了する。
【0106】図11に示すシーケンス状態更新処理で
は、プロセッサ151は、まず、シーケンス管理情報1
70をロックし(ステップS1701)、変数iおよび
jに自らの選択シーケンス番号162および選択処理番
号163をそれぞれ代入する(ステップS1702)。
次に、プロセッサ151は、第iのシーケンスの第jの
単位処理について、終了フラグ176に1を、エラーフ
ラグ177には故障発生状況に応じて0または1を、そ
れぞれ設定する(ステップS1703)。
【0107】次に、プロセッサ151は、第iのシーケ
ンスの選択可能処理番号172を更新する(ステップS
1704)。具体的には、第iのシーケンスについて第
jの単位処理の実行が完了したことによって新たに選択
可能となった単位処理の番号が、第iのシーケンスの選
択可能処理番号172に設定される。
【0108】次に、プロセッサ151は、第iのシーケ
ンスについて処理完了を待機している他のプロセッサに
対して、処理終了を通知する(ステップS1705)。
これにより、第iのシーケンスについて処理完了を待機
している他のプロセッサは、符号化処理を再開する。最
後に、プロセッサ151は、シーケンス管理情報170
をアンロックし(ステップS1706)、これをもって
シーケンス状態更新処理を完了する。
【0109】図12は、本実施形態に係る動画像符号化
装置の各プロセッサが動作する様子を示すタイムチャー
トである。ここでは、説明を簡略化するために、5個の
プロセッサを用いて6個のシーケンスを符号化するもの
とする。また、各シーケンスに対する符号化処理は、前
処理および本符号化の2種類の単位処理からなり、すべ
てのシーケンスについて前処理を完了した後に、各シー
ケンスについて本符号化を行うものとする。
【0110】図12において、5個のプロセッサは、時
刻t0以降の任意の時刻でそれぞれ独立に動作を開始
し、第4のプロセッサが、時刻t1に初期化処理を最も
早く完了したとする。第4のプロセッサは、時刻t1か
らt2までの間に次処理選択処理を行い、次に実行すべ
き処理として前処理を選択する。その後、第2、第1、
第3、第5の各プロセッサが、初期化処理を完了し、次
処理選択処理により第1から第4のシーケンスの本符号
化を順次選択する。第2、第1、第3、第5の各プロセ
ッサは、次の処理を選択した後、第4のプロセッサによ
る前処理が完了するまで待機する。
【0111】前処理を選択した第4のプロセッサは、各
シーケンスについて前処理を完了するごとに、当該シー
ケンスに対する処理完了を待機していたプロセッサに対
して、処理完了を通知する。例えば、第1のシーケンス
に対する処理完了を待機していた第2のプロセッサは、
第4のプロセッサから処理完了の通知を受けると、第1
のシーケンスに対する本符号化を開始する。第1、第
3、第5の各プロセッサについても同様である。第4の
プロセッサは、時刻t3で第1から第6のシーケンスに
ついて前処理を完了すると、時刻t3からt4までの間
に次処理選択処理を行い、第5のシーケンスの本符号化
を選択する。時刻t4以降、第4のプロセッサは、第5
のシーケンスの本符号化を実行する。
【0112】以上に示すように、本実施形態に係る動画
像符号化装置によれば、共有記憶部には、各シーケンス
の各単位処理について、処理を実行したプロセッサの識
別情報と、処理の開始、終了およびエラーを示すフラグ
とを含んだ処理状態が記憶され、各プロセッサは、次処
理選択処理およびシーケンス状態更新処理において処理
状態を更新する。したがって、符号化処理の実行中また
は実行後に、共有記憶部に記憶された処理状態に基づ
き、プロセッサの故障を検出することができる。
【0113】なお、第1および第2の実施形態では、各
プロセッサは、共有記憶部から必要なデータを読み出
し、RAM上のデータを用いて所定の処理を実行し、求
めた結果を共有記憶部に書き込んでいる(図4、図
9)。したがって、各プロセッサに含まれるRAMは、
データキャッシュとして動作していると言える。このよ
うにRAMをデータキャッシュとして用いることによ
り、共有記憶部に対するアクセスが減少し、各プロセッ
サにおけるデータ待ち時間が短縮されるので、動画像符
号化装置の性能を向上させることができる。
【0114】(第3の実施形態)本発明の第3の実施形
態に係る動画像符号化装置は、符号化処理中に符号化処
理の内容を切り替え、追加および変更することを特徴と
する。具体的には、共有記憶部には、プログラムコード
とプログラム管理情報とが記憶され、各プロセッサは、
自らのRAMに記憶されたプログラムを実行中にプログ
ラム管理情報を参照し、必要に応じてプログラム更新処
理を実行する。
【0115】図13は、本実施形態に係る動画像符号化
装置のデータ配置図である。図13において、n個のプ
ロセッサ201−1〜nおよび共有記憶部202は、そ
れぞれ、図1に示すプロセッサ1−1〜nおよび共有記
憶部2を詳細化したものであり、システム管理部203
は、図1に示すシステム管理部3に対応する。なお、図
13では、本実施形態の特徴を説明するために必要なデ
ータのみを示し、その他のデータについては図示を省略
している。図13に示すように、共有記憶部202に
は、s個の各シーケンスについて、処理状態240とシ
ーケンス処理用データ250とが蓄積される。第iの処
理状態240は、第iのシーケンスの処理状態を示す。
第iのシーケンス処理用データ250には、第iのシー
ケンスを符号化する際に必要とされるすべてのデータ、
例えば、動画像データ、制御情報、中間結果、および、
ビットストリームなどが含まれる。
【0116】加えて、共有記憶部202には、プロセッ
サ201にダウンロードすべきp個のプログラムが蓄積
される。具体的には、共有記憶部202には、異なる機
能をサポートするp個の各プログラムについて、プログ
ラム管理情報220とプログラムコード231とが蓄積
される。プログラムコード231は、プロセッサ201
にダウンロードされるプログラムコード自体である。プ
ロセッサ201は、後述するように(図18)、p個の
プログラムコード231のうちから選択した一のプログ
ラムコードを、共有記憶部202から自らのRAM(図
2に示すRAM23)にダウンロードする。ダウンロー
ドされたプログラムコードは、図13に示す符号化処理
用プログラム211となる。従前の符号化処理用プログ
ラム211に従って動作していたプロセッサ201は、
符号化処理用プログラム211が更新された後は、再起
動することなく、更新後の符号化処理用プログラム21
1に従って動作する。
【0117】プログラム管理情報220は、共有記憶部
202に蓄積されたプログラムを管理するために使用さ
れる。図14は、1つのプログラムについてのプログラ
ム管理情報220に含まれるデータの詳細を示す図であ
る。図14に示すように、プログラム管理情報220
は、プログラム更新情報260、プログラムコード情報
270、および、プログラム機能情報280を含んでい
る。
【0118】プログラム更新情報260は、有効フラグ
261、更新フラグ262、削除フラグ263、およ
び、ダウンロード数264を含んでおり、プログラムの
登録、更新およびダウンロードの管理に使用される。有
効フラグ261は、このプログラムが有効である間は1
となる。更新フラグ262は、このプログラムが更新さ
れている間は1となる。削除フラグ263は、このプロ
グラムが削除されている間は1となる。ダウンロード数
264は、このプログラムを現在ダウンロードしている
プロセッサの個数を示す。
【0119】プログラムコード情報270は、プログラ
ム名271、先頭アドレス272、および、プログラム
サイズ273を含んでおり、プログラムをダウンロード
する際に参照される。プログラム名271は、このプロ
グラムの名称を示す。先頭アドレス272は、このプロ
グラムのプログラムコード231が格納されている共有
記憶部202の先頭アドレスを示す。プログラムサイズ
273は、このプログラムのプログラムコード231の
大きさを示す。
【0120】プログラム機能情報280は、項目数28
1、および、a個の機能情報282を含んでいる。項目
数281は、機能情報282の個数を示す。a個の機能
情報282は、共有記憶部202に蓄積されたp個のプ
ログラムの機能をa個に分類したときに、このプログラ
ムがa個の各機能について、どのレベルの機能をサポー
トしているかを示す。ただし、プログラムがある機能を
サポートしていないときには、当該機能に対応した機能
情報282は0とする。
【0121】例えば、a個の機能のうち、第1の機能が
フェード機能(フェードする画像に対する機能)で、第
2の処理が動きベクトル探索機能であるとする。また、
各プログラムは、フェード機能をサポートするか否かの
いずれかであり、動きベクトル探索機能については第1
ないし第4の探索手法のいずれかをサポートするか、い
ずれの探索手法もサポートしないかのいずれかであると
する。この場合、フェード機能をサポートしていないプ
ログラムの第1の機能情報は0となり、フェード機能を
サポートしているプログラムの第1の機能情報は1とな
る。また、動きベクトル探索機能をサポートしていない
プログラムの第2の機能情報は0となり、動きベクトル
探索機能をサポートしているプログラムの第2の機能情
報は1ないし4のいずれかの値となる。
【0122】以下、本実施形態に係る動画像符号化装置
における符号化処理について説明する。動画像データを
MPEGに準拠して符号化するには、シーケンス層、G
OP層、ピクチャ層、スライス層、マクロブロック層、
および、ブロック層の各階層において、それぞれ所定の
処理を行う必要がある。符号化処理を図15に示すよう
に階層的に分類した場合、ある階層に含まれる処理の全
部または一部を終了すれば、それ以下の階層における処
理を並列に実行することができる。例えば、スライスヘ
ッダ生成処理を終了した後は、当該スライスに含まれる
すべてのマクロブロックについてマクロブロック符号化
処理を並列に実行することができる。したがって、例え
ば、図15の右欄に示す各処理をそれぞれ、上述した単
位処理としてもよい。あるいは、処理速度の向上を図る
ため、ピクチャ層以下の処理(ピクチャヘッダ生成、ス
ライスヘッダ生成、および、マクロブロック符号化)を
まとめて1つの単位処理としてもよい。
【0123】図16は、各プロセッサ201によるメイ
ン処理を示すフローチャートである。n個のプロセッサ
201−1〜nは、いずれも、図2に示す符号化処理用
プログラム32を実行することにより、図16に示すフ
ローチャートに従って動作する。各プロセッサ201
は、図16に示すように、次に実行すべき処理を選択
し、必要に応じて自らの符号化処理用プログラム211
を更新した後に、選択した処理を実行する。
【0124】図16に示す各ステップの詳細は、次のと
おりである。プロセッサ201は、起動されると、ま
ず、初期化処理を行う(ステップS2101)。初期化
処理では、プロセッサ201は、RAM内の符号化処理
用データ(図2に示す符号化処理用データ33)を初期
化するなどの処理を行う。次に、プロセッサ201は、
後述する次処理選択処理(図17)によって、次に実行
すべき処理を選択する(ステップS2102)。ステッ
プS2102では、プロセッサ201は、次に処理すべ
きシーケンスおよびGOPを選択し、選択したGOPに
ついて実行可能な処理のうち、一の単位処理を選択す
る。以下、ステップS2102で選択された処理を「次
処理」という。
【0125】次に、プロセッサ201は、現在実行中の
プログラムがサポートしている機能と、次処理を実行す
るために必要な機能とを比較する。具体的には、プロセ
ッサ201は、変数aに現在実行中のプログラムの項目
数を、変数bに次処理の項目数を、配列型の変数Xに現
在実行中のプログラムのa個の機能情報を、配列型の変
数Yに次処理のb個の機能情報をそれぞれ代入し(ステ
ップS2103)、後述する機能情報比較処理(図1
9)を実行する(ステップS2104)。なお、プロセ
ッサ201は、共有記憶部202から自らのRAMに現
在実行中のプログラムのプログラム機能情報280を複
写した上で、複写したプログラム機能情報から現在実行
中のプログラムの項目数および機能情報を求め、次処理
選択処理では、次処理を実行するために必要な機能に関
する情報(項目数および機能情報)をプログラム機能情
報280と同じ形式で求めるものとする。
【0126】次に、プロセッサ201は、機能情報比較
処理で2つの機能情報が一致したか否かを判断する(ス
テップS2105)。両者が一致した場合には(ステッ
プS2105のYES)、プロセッサ201はステップ
S2107へ進む。両者が一致しない場合には(ステッ
プS2105のNO)、プロセッサ201は、後述する
プロセッサプログラム更新処理(図18)を実行した後
(ステップS2106)、ステップS2107へ進む。
【0127】次に、プロセッサ201は、ステップS2
102で選択した処理を実行する(ステップS210
7)。より詳細には、プロセッサ201は、必要なデー
タを共有記憶部202から読み出して自らのRAMに書
き込み、自らのRAM内のデータに対して選択した処理
を実行し、その結果を自らのRAMから読み出して共有
記憶部202に書き込む。次に、プロセッサ201は、
すべての符号化処理を終了したか否かを判断し(ステッ
プS2108)、すべての符号化処理を終了した場合に
は(ステップS2108のYES)、処理を終了する。
一方、処理がまだ残っている場合には(ステップS21
08のNO)、プロセッサ201は、ステップS210
2へ進み、符号化処理を継続する。
【0128】図17は、次処理選択処理のフローチャー
トである。次処理選択処理では、プロセッサ201は、
まず、変数Sに直前に処理したシーケンスの番号を、変
数Gに直前に処理したGOPの番号を代入する(ステッ
プS2201)。次に、プロセッサ201は、第Sのシ
ーケンスに含まれる第GのGOPについて、未だ選択さ
れていない処理を探す(ステップS2202)。
【0129】次に、プロセッサ201は、ステップS2
202で未選択の処理を検出したか否かを判断する(ス
テップS2203)。未選択の処理があった場合には
(ステップS2203のYES)、プロセッサ201
は、その処理を次に実行すべき処理として選択し、次処
理選択処理を終了する。
【0130】一方、未選択の処理がない場合には(ステ
ップS2203のNO)、プロセッサ201は、ステッ
プS2204へ進み、次のGOPについて未だ選択され
ていない処理を探すため、変数SおよびGを更新する。
より詳細には、以下のとおりである。プロセッサ201
は、変数Gに1を加算し(ステップS2204)、変数
Gが第SのシーケンスのGOP数以下である場合には
(ステップS2205のYES)、ステップS2202
へ進む。変数Gが第SのシーケンスのGOP数より大き
い場合には(ステップS2205のNO)、プロセッサ
201は、変数Sに1を加算し、変数Gに0を代入する
(ステップS2206)。次に、プロセッサ201は、
変数Sがシーケンス数以下である場合には(ステップS
2207のYES)、ステップS2202へ進む。変数
Sがシーケンス数より大きい場合には(ステップS22
07のNO)、プロセッサ201は、すべての符号化処
理を終了したか否かを判断する(ステップS220
8)。すべての符号化処理を終了した場合には(ステッ
プS2208のYES)、プロセッサ201は、次に実
行すべき処理を選択することなく、次処理選択処理を終
了する。実行すべき処理がまだ残っている場合には(ス
テップS2208のNO)、プロセッサ201は、変数
Sに1を、変数Gに0を代入し(ステップS220
9)、ステップS2202へ進む。
【0131】図18は、プロセッサプログラム更新処理
のフローチャートである。この処理では、プロセッサ2
01は、まず、プログラム管理情報220をロックし
(ステップS2301)、変数iに1を代入する(ステ
ップS2302)。
【0132】次に、プロセッサ201は、ステップS2
303からS2307の処理により、共有記憶部202
に蓄積されたp個のプログラムから、次処理を実行する
ための機能をサポートしているプログラムを探す。具体
的には、プロセッサ201は、第iのプログラムが有効
でない場合(ステップS2303のNO)、または、第
iのプログラムの機能と次処理を実行するために必要な
機能とが一致しない場合には(ステップS2306のN
O)、変数iに1を加算し(ステップS2307)、ス
テップS2303へ進む。一方、プロセッサ201は、
第iのプログラムが有効で(ステップS2303のYE
S)、かつ、第iのプログラムの機能と次処理を実行す
るために必要な機能とが一致する場合には(ステップS
2306のYES)、ステップS2308へ進む。
【0133】なお、ステップS2303で第iのプログ
ラムが有効であると判断されるのは、第iのプログラム
の有効フラグ261が1で、更新フラグ262および削
除フラグ263がともに0である場合である。また、ス
テップS2304からS2306の処理は、ステップS
2103からS2105の処理(図16)において、比
較対象のプログラムを現在実行中のプログラムから第i
のプログラムに変更したものである。
【0134】プロセッサ201がステップS2308に
到達した時点で、変数iは、プロセッサ201にダウン
ロードすべきプログラムの番号となっている。そこで、
プロセッサ201は、第iのプログラムのダウンロード
数264に1を加算し(ステップS2308)、プログ
ラム管理情報220を一旦アンロックした後(ステップ
S2309)、第iのプログラムのプログラムコード2
31を自らのRAMにダウンロードする(ステップS2
310)。
【0135】次に、プロセッサ201は、第iのプログ
ラムのダウンロード数264から1を減算した後に(ス
テップS2312)、再初期化することなく、ダウンロ
ードしたプログラムに制御を移す(ステップS231
4)。なお、プロセッサ201は、ダウンロード数26
4から1を減算する際には、事前にプログラム管理情報
220をロックし(ステップS2311)、事後にプロ
グラム管理情報220をアンロックする(ステップS2
313)。プロセッサ201は、これをもってプロセッ
サプログラム更新処理を完了する。
【0136】図19は、機能情報比較処理のフローチャ
ートである。機能情報比較処理は、図16のステップS
2104、および、図18のステップS2305から呼
び出される。この処理が呼び出される時点では、変数a
には比較対象となるプログラムの項目数が、変数bには
次処理の項目数が、配列型の変数Xには比較対象のプロ
グラムのa個の機能情報が、配列型の変数Yには次処理
のb個の機能情報が、それぞれ、設定されている。ただ
し、次処理を実行するために特定の機能をサポートする
必要がない場合には、当該機能に対応した機能情報には
0が設定されているものとする。
【0137】機能情報比較処理では、プロセッサ201
は、まず、変数iに1を代入する(ステップS240
1)。次に、プロセッサ201は、ステップS2402
からS2405の処理により、第1から第aの機能情報
に不一致があるか否かを調べる。より詳細には、プロセ
ッサ201は、変数Yのi番目の要素Y[i]が0でな
く(ステップS2402のYES)、かつ、変数Xのi
番目の要素X[i]とY[i]とが一致しない場合には
(ステップS2403のYES)、ステップS2411
へ進む。一方、プロセッサ201は、Y[i]が0であ
る場合(ステップS2402のNO)、または、X
[i]とY[i]とが一致する場合には(ステップS2
403のNO)、ステップS2404へ進む。この場
合、プロセッサ201は、変数iに1を加算し(ステッ
プS2404)、変数iがa(比較対象となるプログラ
ムの項目数)以下の場合はステップS2402へ、それ
以外の場合はステップS2406へ進む。
【0138】次に、プロセッサ201は、変数aと変数
bとを比較し(ステップS2406)、aがbより小さ
い場合はステップS2407へ、それ以外の場合はステ
ップS2410へ進む。前者の場合、プロセッサ201
は、ステップS2407からS2409の処理により、
変数Yの第(a+1)から第bの要素に0以外の要素が
あるか否かを調べる。より詳細には、プロセッサ201
は、Y[i]が0でない場合には(ステップS2407
のYES)、ステップS2411へ進む。一方、プロセ
ッサ201は、Y[i]が0である場合には(ステップ
S2407のNO)、変数iに1を加算し(ステップS
2408)、変数iがb(次処理の項目数)以下の場合
はステップS2407へ、それ以外の場合はステップS
2410へ進む。
【0139】プロセッサ201は、ステップS2410
に到達した場合には、比較対象のプログラムの機能と次
処理に必要とされる機能とが一致すると判断し、ステッ
プS2411に到達した場合には、両者は一致しないと
判断する。プロセッサ201は、上記の判断を行った
後、機能情報比較処理を終了する。
【0140】図19に示す機能情報比較処理によれば、
項目数が同じ場合は当然のこと、項目数が異なる場合で
も、2つの機能情報を比較することができる。なお、図
19の処理では、X[i]とY[i]とが異なる場合に
2つの機能情報は一致しないと判断したが、これに代え
て、例えば、Y[i]がX[i]より大きい場合に、2
つの機能情報は一致しないと判断してもよい。
【0141】次に、本実施形態に係る動画像符号化装置
において、共有記憶部202にプログラムを登録、削除
および更新する方法を説明する。共有記憶部202に対
するこれらの操作は、システム管理部203によって行
われる。システム管理部203は、入力されたコマンド
に従い、以下に示すプログラム登録処理(図20)、プ
ログラム削除処理(図21)、および、プログラム更新
処理(図22)を実行する。図20から図22に示す処
理は、プロセッサ201が符号化処理を実行している間
も含めて、任意のタイミングで実行される。
【0142】図20は、プログラム登録処理のフローチ
ャートである。プログラム登録処理では、システム管理
部203は、まず、プログラム管理情報220をロック
し(ステップS2501)、変数iに1を代入する(ス
テップS2502)。次に、システム管理部203は、
ステップS2503からS2505の処理により、有効
フラグ261が0であるプログラム管理情報220を求
める。より詳細には、システム管理部203は、第iの
有効フラグ261が0でなく(ステップS2503のN
O)、かつ、変数iがp(プログラムの個数)未満であ
る場合には(ステップS2504のYES)、変数iに
1を加算し(ステップS2505)、ステップS250
3へ進む。また、システム管理部203は、第iの有効
フラグ261が0でなく(ステップS2503のN
O)、かつ、変数iがp以上である場合には(ステップ
S2504のNO)、ステップS2514へ進む。
【0143】システム管理部203は、第iの有効フラ
グ261が0である場合には(ステップS2503のY
ES)、共有記憶部202内にプログラムコードを配置
するための領域を確保する(ステップS2506)。シ
ステム管理部203は、領域の確保に失敗した場合には
(ステップS2507のNO)、ステップS2514へ
進む。
【0144】システム管理部203は、領域の確保に成
功した場合には(ステップS2507のYES)、第i
の有効フラグ261および更新フラグ262をいずれも
1に設定する(ステップS2508)。次に、システム
管理部203は、プログラム管理情報220を一旦アン
ロックし(ステップS2509)、登録対象のプログラ
ムのプログラムコードを共有記憶部202内に確保した
領域に書き込み(ステップS2510)、登録対象のプ
ログラムに関する情報を第iのプログラムコード情報2
70およびプログラム機能情報280に書き込む(ステ
ップS2511)。
【0145】次に、システム管理部203は、第iの更
新フラグ262に0を設定する(ステップS251
3)。この際、システム管理部203は、事前にプログ
ラム管理情報220をロックし(ステップS251
2)、事後にプログラム管理情報220をアンロックす
る(ステップS2514)。システム管理部203は、
これをもってプログラム登録処理を完了する。
【0146】図21は、プログラム削除処理のフローチ
ャートである。プロセッサ削除処理では、システム管理
部203は、まず、プログラム管理情報220をロック
し(ステップS2601)、変数iに削除対象のプログ
ラムの番号を代入する(ステップS2602)。
【0147】次に、システム管理部203は、第iのダ
ウンロード数264が0であるか否かを調べる(ステッ
プS2603)。第iのダウンロード数264が0でな
い場合には(ステップS2603のNO)、いずれかの
プロセッサ201がプロセッサプログラム更新処理(図
18)により、削除対象のプログラムをダウンロードし
ている。そこでこの場合、システム管理部203は、指
定されたプログラムを削除することなく、ステップS2
610へ進む。したがって、プログラムを正しく削除す
るためには、システム管理部203は、プログラム削除
処理を再び実行する必要がある。
【0148】第iのダウンロード数が0である場合には
(ステップS2603のYES)、システム管理部20
3は、第iの更新フラグ262および削除フラグ263
に1を設定し(ステップS2604)、プログラム管理
情報220を一旦アンロックする(ステップS260
5)。次に、システム管理部203は、共有記憶部20
2内で第iのプログラムのプログラムコード231を配
置するために使用していた領域を解放し(ステップS2
606)、第iのプログラムコード情報270およびプ
ログラム機能情報280を初期化する(ステップS26
07)。
【0149】次に、システム管理部203は、第iの有
効フラグ261、更新フラグ262、および、削除フラ
グ263にいずれも0を設定する(ステップS260
9)。この際、システム管理部3は、事前にプログラム
管理情報220をロックし(ステップS2608)、事
後にプログラム管理情報220をアンロックする(ステ
ップS2610)。システム管理部3は、これをもって
プログラム削除処理を完了する。
【0150】図22は、プログラム更新処理のフローチ
ャートである。このプログラム更新処理は、プログラム
登録処理とプログラム削除処理と1つの処理で行うもの
である。プログラム更新処理では、システム管理部20
3は、まず、プログラム管理情報220をロックし(ス
テップS2701)、変数iに更新対象のプログラムの
番号を代入する(ステップS2702)。
【0151】次に、システム管理部203は、第iのダ
ウンロード数264が0であるか否かを調べる(ステッ
プS2703)。第iのダウンロード数264が0でな
い場合には(ステップS2703のNO)、いずれかの
プロセッサ201がプロセッサプログラム更新処理(図
18)により、更新対象のプログラムをダウンロードし
ている。この場合、システム管理部203は、指定され
たプログラムを更新することなく、ステップS2713
へ進む。したがって、プログラムを正しく更新するため
には、システム管理部203は、プログラム更新処理を
再び実行する必要がある。
【0152】第iのダウンロード数が0である場合には
(ステップS2703のYES)、システム管理部20
3は、共有記憶部202内にプログラムコードを配置す
るための領域を確保する(ステップS2704)。シス
テム管理部203は、領域の確保に失敗した場合には
(ステップS2705のNO)、ステップS2713へ
進む。
【0153】システム管理部203は、領域の確保に成
功した場合には(ステップS2705のYES)、第i
の更新フラグ262を1に設定する(ステップS270
6)。次に、システム管理部203は、プログラム管理
情報220を一旦アンロックし(ステップS270
7)、共有記憶部202内で第iのプログラムのプログ
ラムコード231を配置するために使用していた領域を
解放する(ステップS2708)。次に、システム管理
部203は、登録対象のプログラムのプログラムコード
を共有記憶部202内に新たに確保した領域に書き込み
(ステップS2709)、登録対象のプログラムに関す
る情報を用いて第iのプログラムコード情報270およ
びプログラム機能情報280を更新する(ステップS2
710)。
【0154】次に、システム管理部203は、第iの更
新フラグ262に0を設定する(ステップS271
2)。この際、システム管理部203は、事前にプログ
ラム管理情報220をロックし(ステップS271
1)、事後にプログラム管理情報220をアンロックす
る(ステップS2713)。システム管理部203は、
これをもってプログラム更新処理を完了する。
【0155】図20ないし図22に示すように、システ
ム管理部203は、排他制御を行った上でプログラム管
理情報220にアクセスする。また、図18に示すよう
に、プロセッサ201も、排他制御を行った上でプログ
ラム管理情報220にアクセスする。このようにプログ
ラムコード231と分離してプログラム管理情報220
に対する排他制御を行うことにより、複数のプロセッサ
が同時に共有記憶部202からプログラムをダウンロー
ドすることができる。
【0156】本実施形態に係る動画像符号化装置におい
て、プロセッサ201が次処理を実行するためのプログ
ラムを共有記憶部202から読み出して実行する一例を
説明する。以下では、次のような状況を仮定する。動画
像符号化装置のa個の機能のうち、第1の機能はフェー
ド機能であるとし、共有記憶部202に蓄積されたp個
のプログラムのうち、第8のプログラムのみがフェード
機能をサポートしているものとする。また、共有記憶部
202に蓄積されたs個のシーケンスについては、第4
のシーケンスでは画像はフェードせず、第5のシーケン
スでは画像がフェードするものとする。さらに、第3の
プロセッサは、第7のプログラムを用いて、第4のシー
ケンスに関する処理(例えば、マクロブロック符号化処
理)を完了し、次処理として第5のシーケンスに関する
処理を選択したとする。
【0157】この場合、第3のプロセッサが使用してい
る第7のプログラムは、フェード機能をサポートしてい
ないので、第4のシーケンスを処理できない。そこで、
第3のプロセッサは、共有記憶部202に蓄積されたp
個のプログラムから第8のプログラムを選択し、第8の
プログラムのプログラムコード231を共有記憶部20
2から自らのRAMにダウンロードする。その後、第3
のプロセッサは、ダウンロードした第8のプログラムに
従って、第4のシーケンスに対してフェード機能を含ん
だ動画像符号化処理を実行する。
【0158】以上に示すように、本実施形態に係る動画
像符号化装置によれば、各プロセッサは、共有記憶部に
記憶された機能情報に基づき、次の処理に必要なプログ
ラムを選択し、選択したプログラムを転送して実行す
る。各プロセッサにおけるプログラムの選択、転送およ
び実行は、他のプロセッサの動作とは独立して、任意の
タイミングで行われる。このため、各プロセッサは、他
のプロセッサの動作に影響を及ぼすことなく、次の処理
に必要なプログラムを選択し、実行することができる。
したがって、実行中の符号化処理に影響を及ぼすことな
く、符号化処理中に符号化処理の内容を切り替えること
ができる。また、符号化処理の内容を変更したり、新た
な機能を追加するときでも、符号化処理を中断すること
なく、これらの操作を行うことができる。
【0159】(第4の実施形態)本発明の第4の実施形
態に係る動画像符号化装置は、各プロセッサが選択した
処理を実行する際に異常を検出し、異常検出時には自ら
停止することを特徴とする。具体的には、各プロセッサ
は、選択した処理を実行したときにビットストリームを
生成した場合には、生成したビットストリームのサイズ
やシンタックスなどを検査し、これらの検査結果に基づ
き、選択した処理で異常が生じたか否かを判断する。
【0160】図23は、本実施形態に係る動画像符号化
装置のデータ配置図である。図23において、n個のプ
ロセッサ301−1〜nおよび共有記憶部302は、そ
れぞれ、図1に示すプロセッサ1−1〜nおよび共有記
憶部2を詳細化したものである。なお、図23では、本
実施形態の特徴を説明するために必要なデータのみを示
し、その他のデータについては図示を省略している。図
23に示すように、各プロセッサ301には、プロセッ
サ識別情報311が蓄積され、共有記憶部302には、
s個の各シーケンスについて、シーケンス管理情報32
0とシーケンス処理用データ330とが蓄積される。第
iのシーケンス処理用データ330には、第iのシーケ
ンスを符号化する際に必要とされるすべてのデータ、例
えば、動画像データ、制御情報、中間結果、および、ビ
ットストリームなどが含まれる。
【0161】シーケンス管理情報320は、プロセッサ
番号321、開始フラグ322、終了フラグ323、エ
ラーフラグ324、タイムアウトフラグ325、およ
び、カウント値326を含んでいる。プロセッサ番号3
21は、このシーケンスについて現在、処理を実行して
いるプロセッサのプロセッサ識別情報31である。開始
フラグ322、終了フラグ323、エラーフラグ32
4、タイムアウトフラグ325、および、カウント値3
26は、いずれも各プロセッサ301によって設定さ
れ、各プロセッサ301から参照される。開始フラグ3
22は、このシーケンスに対する処理が開始されたとき
に1に設定される。終了フラグ323は、このシーケン
スに対する処理が終了したときに1に設定される。エラ
ーフラグ324は、このシーケンスに対する処理で異常
が検出されたときに1に設定される。タイムアウトフラ
グ325は、このシーケンスに対する処理でタイムアウ
トが生じたときに1に設定される。カウント値326
は、異常が生じたプロセッサを検出するために使用され
る。シーケンス管理情報320に含まれる各データの使
用方法の詳細は後述する。
【0162】図24は、各プロセッサ301によるメイ
ン処理を示すフローチャートである。n個のプロセッサ
301−1〜nは、いずれも、図2に示す符号化処理用
プログラム32を実行することにより、図24に示すフ
ローチャートに従って動作する。各プロセッサ301
は、図24に示すように、次処理選択処理(図25)に
より次に実行すべき処理を選択し、選択した処理でビッ
トストリームが生成されたときは、ビットストリーム検
査処理(図26)、シーケンス管理情報更新処理(図2
7)、および、カウント値更新処理(図28)を実行す
る。
【0163】図24に示す各ステップの詳細は、次のと
おりである。プロセッサ301は、起動されると、ま
ず、初期化処理を行う(ステップS3101)。初期化
処理では、プロセッサ301は、自らのRAM内の符号
化処理用データ(図2に示す符号化処理用データ33)
を初期化するなどの処理を行う。次に、プロセッサ30
1は、後述する次処理選択処理(図25)によって、次
に実行すべき処理を選択する(ステップS3102)。
ステップS3102では、プロセッサ301は、次に実
行すべきシーケンスおよびGOPを選択し、選択したG
OPについて実行可能な処理のうち、一の単位処理を選
択する。
【0164】次に、プロセッサ301は、ステップS3
102で選択した処理を実行する(ステップS310
3)。より詳細には、プロセッサ301は、必要なデー
タを共有記憶部302から読み出して自らのRAM(図
2に示すRAM23)に書き込み、RAM内のデータに
対して選択した処理を実行する。加えて、プロセッサ3
01は、選択した処理でビットストリームが生成された
場合を除き、選択した処理で求めた結果を自らのRAM
から読み出して共有記憶部302に書き込む。次に、プ
ロセッサ301は、ステップS3103の処理でビット
ストリームが生成された場合はステップS3105へ、
それ以外の場合にはステップS3111へ進む(ステッ
プS3104)。
【0165】ステップS3103の処理でビットストリ
ームが生成された場合には(ステップS3104のYE
S)、プロセッサ301は、後述するビットストリーム
検査処理(図26)により、生成されたビットストリー
ムが正常であるか否かを検査する(ステップS310
5)。次に、プロセッサ301は、後述するシーケンス
管理情報更新処理(図27)により、ビットストリーム
検査処理の結果に基づき、シーケンス管理情報320を
更新する(ステップS3106)。この際、プロセッサ
301は、ビットストリーム検査処理で異常を検出した
場合には、その旨をシーケンス管理情報320に記録す
る。
【0166】次に、プロセッサ301は、ステップS3
103の処理が正常終了したか否かを判断し、正常終了
と判断した場合にはステップS3108へ進む(ステッ
プS3107)。この場合、プロセッサ301は、ステ
ップS3103で生成されたビットストリームを、共有
記憶部302のシーケンス処理用データ330に書き込
み(ステップS3108)、後述するカウント値更新処
理(図28)を実行する(ステップS3109)。な
お、ステップS3107では、ビットストリーム検査処
理で異常が検出された場合に加えて、後述するように、
ステップS3103の処理はタイムアウトしたと他のプ
ロセッサが判断した場合にも、正常終了でないと判断さ
れる。
【0167】ステップS3103の処理でビットストリ
ームが生成されなかった場合には(ステップS3104
のNO)、プロセッサ301は、ステップS3106と
同じシーケンス管理情報更新処理(図27)を行い(ス
テップS3111)、ステップS3110へ進む。な
お、ステップS3111のシーケンス管理情報更新処理
では、ステップS3103の処理は常に正常終了すると
して扱うものとする。
【0168】ステップS3103の処理が正常終了した
と判断した場合には、プロセッサ301は、ステップS
3110に到達する。この場合、プロセッサ301は、
すべての符号化処理を終了したか否かを判断する(ステ
ップS3110)。プロセッサ301は、すべての符号
化処理を終了した場合には(ステップS3110のYE
S)、処理を終了する。一方、処理がまだ残っている場
合には(ステップS3110のNO)、プロセッサ30
1は、ステップS3102へ進み、符号化処理を継続す
る。
【0169】ステップS3103の処理が正常終了しな
かったと判断した場合には(ステップS3107のN
O)、プロセッサ301は、符号化処理を継続できない
と判断し、処理を終了する。この場合、プロセッサ30
1は、ステップS3103の処理でビットストリームが
生成されていても、そのビットストリームを共有記憶部
302に書き込むことなく廃棄する。このように異常を
検出して自ら停止したプロセッサ301は、保守点検な
どの作業を終え、ユーザから再起動の指示があるまで停
止し続ける。
【0170】図25は、次処理選択処理のフローチャー
トである。プロセッサ301は、図25に示すように、
共有記憶部302に記憶されたs個のシーケンスから次
に処理すべきシーケンスを選択し、選択したシーケンス
のシーケンス管理情報320を初期化した上で、選択し
たシーケンスに対して実行可能な複数の処理から次に実
行すべき処理を選択する。図25に示す処理は、他のプ
ロセッサが実行した際に異常やタイムアウトが生じた処
理(エラーフラグ324またはタイムアウトフラグ32
5が1である処理)を優先的に選択することを特徴とす
る。
【0171】図25に示す各ステップの詳細は、次のと
おりである。次処理選択処理では、プロセッサ301
は、まず、シーケンス管理情報320をロックし(ステ
ップS3201)、変数iに1を代入する(ステップS
3202)。
【0172】次に、プロセッサ301は、ステップS3
203からS3205の処理により、s個の要素を有す
るシーケンス管理情報320から、エラーフラグ324
またはタイムアウトフラグ325が1である要素を探
す。より詳細には、プロセッサ301は、第iのエラー
フラグ324または第iのタイムアウトフラグ325が
1である場合には(ステップS3203のYES)、ス
テップS3211へ進む。この場合、第iのシーケンス
に対する処理が、次に実行すべき処理として選択され
る。また、第iのエラーフラグ324と第iのタイムア
ウトフラグ325とがともに0であり(ステップS32
03のNO)、かつ、変数iがs(シーケンスの個数)
未満である場合には(ステップS3204のYES)、
プロセッサ301は、変数iに1を加算して(ステップ
S3205)、ステップS3203へ進む。
【0173】第iのエラーフラグ324と第iのタイム
アウトフラグ325とがともに0であり(ステップS3
203のNO)、かつ、変数iがs以上である場合には
(ステップS3204のNO)、プロセッサ301は、
ステップS3206へ進む。この場合、プロセッサ30
1は、変数iに1を代入した後(ステップS320
6)、ステップS3207からS3209の処理によ
り、s個の要素を有するシーケンス管理情報320か
ら、開始フラグ322が0である要素を探す。より詳細
には、プロセッサ301は、第iの開始フラグ322が
1である場合には(ステップS3207のYES)、ス
テップS3211へ進む。この場合、第iのシーケンス
に対する処理が、次に実行すべき処理として選択され
る。また、第iの開始フラグ322が1であり(ステッ
プS3207のNO)、かつ、変数iがs(シーケンス
の個数)未満である場合には(ステップS3208のY
ES)、プロセッサ301は、変数iに1を加算して
(ステップS3209)、ステップS3207へ進む。
【0174】第iの開始フラグ322が1であり(ステ
ップS3207のNO)、かつ、変数iがs以上である
場合には(ステップS3208のNO)、プロセッサ3
01は、ステップS3210へ進む。この場合、プロセ
ッサ301は、次に実行すべき処理は存在しないと判断
し、変数iに「次処理なし」を示す0を代入した後(ス
テップS3210)、ステップS3213へ進む。
【0175】ステップS3203またはS3207にお
いて次に処理すべきシーケンスを選択した場合、プロセ
ッサ301は、第iのシーケンス管理情報320を初期
化する(ステップS3211)。すなわち、プロセッサ
301は、第iのシーケンス管理情報320に対して、
プロセッサ番号321に自らのプロセッサ識別情報31
を、開始フラグ322に1を、終了フラグ323、エラ
ーフラグ324、タイムアウトフラグ325、および、
カウント値326にいずれも0を、それぞれ設定する。
次に、プロセッサ301は、その時点で第iのシーケン
スに対して実行可能な単位処理のうちから一の単位処理
を、次に実行すべき処理として選択する(ステップS3
212)。次に、プロセッサ301は、シーケンス管理
情報320をアンロックし(ステップS3213)、こ
れをもって次処理選択処理を完了する。
【0176】図25に示す次処理選択処理では、エラー
フラグ324またはタイムアウトフラグ325が1であ
るシーケンスおよび処理、すなわち、他のプロセッサが
実行した際に異常が生じた処理が、優先的に選択され
る。そのような処理が存在しない場合には、開始フラグ
322が0であるシーケンスおよび処理、すなわち、他
のプロセッサによって実行されていない処理が選択され
る。このように異常が生じた処理を早期に実行すること
により、動画像符号化処理を安全かつ確実に実行するこ
とができる。
【0177】図26は、ビットストリーム検査処理のフ
ローチャートである。ビットストリーム検査処理では、
プロセッサ301は、まず、ステップS3103で生成
されたビットストリームのサイズ(符号量)が所定の範
囲内であるか否かを調べる。より詳細には、プロセッサ
301は、符号量が所定の最大値以下で(ステップS3
301のYES)、かつ、符号量が所定の最小値以上で
ある場合には(ステップS3302のYES)ステップ
S3303へ、それ以外の場合はステップS3306へ
進む。
【0178】次に、プロセッサ301は、ステップS3
103で生成されたビットストリームの詳細なシンタッ
クス検査を行う(ステップS3303)。次に、プロセ
ッサ301は、生成されたビットストリームがシンタッ
クス検査を通過したと判断した場合にはステップS33
05へ、それ以外の場合はステップS3306へ進む
(ステップS3304)。
【0179】プロセッサ301は、生成されたビットス
トリームが上記3つの検査をいずれも通過した場合に
は、ビットストリームは正常で、ステップS3103の
処理は正常終了したと判断する(ステップS330
5)。これに対し、生成されたビットストリームが上記
3つの検査のいずれかを通過しなかった場合には、プロ
セッサ301は、ビットストリームは異常で、ステップ
S3103の処理は異常終了したと判断する(ステップ
S3306)。プロセッサ301は、S3305または
S3306のいずれかで上記判断を行った後、ビットス
トリーム検査処理を完了する。
【0180】図27は、シーケンス管理情報更新処理の
フローチャートである。シーケンス管理情報更新処理で
は、プロセッサ301は、まず、シーケンス管理情報3
20をロックし(ステップS3401)、変数iにステ
ップS3103で処理したシーケンスのシーケンス番号
を代入する(ステップS3402)。
【0181】次に、プロセッサ301は、ステップS3
403およびS3404の処理により、自分が処理した
シーケンスを他のプロセッサが処理していないことを確
認する。より詳細には、プロセッサ301は、第iのプ
ロセッサ番号321が自らのプロセッサ識別情報311
と一致し(ステップS3403のYES)、かつ、第i
のタイムアウトフラグ325が0である場合には(ステ
ップS3404のYES)ステップS3405へ、それ
以外の場合はステップS3408へ進む。
【0182】前者の場合には、プロセッサ301は、ス
テップS3103の処理の実行結果に応じて、第iのシ
ーケンス管理情報320を更新する。より詳細には、プ
ロセッサ301は、ステップS3103の処理が正常終
了したか否かを判断する(ステップS3405)。処理
が正常終了した場合には(ステップS3405のYE
S)、プロセッサ301は、第iの開始フラグ322に
0を、第iの終了フラグ323に1をそれぞれ設定する
(ステップS3406)。処理が正常終了しなかった場
合には(ステップS3405のNO)、プロセッサ30
1は、第iのエラーフラグ324に1を設定する(ステ
ップS3407)。次に、プロセッサ301は、シーケ
ンス管理情報320をアンロックし(ステップS340
8)、これをもってシーケンス管理情報更新処理を完了
する。
【0183】図27に示すシーケンス管理情報更新処理
によれば、選択した処理を実行した際に異常が生じた場
合には、異常が生じた旨が、共有記憶部302に記憶さ
れたシーケンス管理情報320のエラーフラグ324に
記録される。エラーフラグ324は、上述した次処理選
択処理(図25)において、次に実行すべき処理を選択
する際に参照される。
【0184】図28は、カウント値更新処理のフローチ
ャートである。カウント値更新処理では、プロセッサ3
01は、まず、シーケンス管理情報320をロックし
(ステップS3501)、変数iに1を代入する(ステ
ップS3502)。
【0185】次に、プロセッサ301は、ステップS3
503からS3509の処理により、各シーケンスのカ
ウント値326を更新し、カウント値326を用いて、
他のプロセッサにおける処理がタイムアウトしているこ
とを検出する。その詳細は、次のとおりである。プロセ
ッサ301は、第iの開始フラグ322が1で、かつ、
第iの終了フラグ323が0である場合はステップS3
504へ、それ以外の場合はステップS3508へ進む
(ステップS3503)。ステップS3504では、プ
ロセッサ301は、第iのエラーフラグ324または第
iのタイムアウトフラグ325が1である場合はステッ
プS3508へ、それ以外の場合はステップS3505
へ進む。
【0186】前者の場合、プロセッサ301は、第iの
カウント値326に1を加算する(ステップS350
5)。次に、プロセッサ301は、第iのカウント値3
26が所定の上限値以上である場合には(ステップS3
506のYES)、第iのタイムアウトフラグ325に
1を設定する(ステップS3507)。
【0187】次に、プロセッサ301は、変数iがs
(シーケンスの個数)未満である場合は(ステップS3
508のYES)、変数iに1を加算した後(ステップ
S3509)、ステップS3503へ進む。この場合、
プロセッサ301は、次のシーケンスに対してステップ
S3503からS3508の処理を行う。一方、変数i
がs以上である場合は(ステップS3508のNO)、
プロセッサ301は、シーケンス管理情報320をアン
ロックし(ステップS3510)、これをもってカウン
ト値更新処理を完了する。
【0188】図28に示すカウント値更新処理によれ
ば、プロセッサで処理されているシーケンスのカウント
値326が更新され、更新後のカウント値326が上限
値以上であれば、そのシーケンスのタイムアウトフラグ
325が1に設定される。タイムアウトフラグ325
は、上述したシーケンス管理情報更新処理(図27)に
おいて、選択した処理が正常終了したか否かを判断する
際に参照される。
【0189】図24ないし図28に示すフローチャート
によれば、プロセッサ301は、ビットストリームのサ
イズおよびシンタックス、並びに、処理時間を検査する
ことにより、選択した処理を実行した際に生じた異常を
検出し、異常検出時にはその旨をシーケンス管理情報3
20に記録した上で自ら停止する。また、プロセッサ3
01は、異常検出時には、生成されたビットストリーム
を共有記憶部302に書き戻すことなく廃棄し、保守点
検後にユーザから再起動の指示があるまで停止し続け
る。
【0190】また、プロセッサ301は、各シーケンス
のカウント値326を更新し、処理開始時に初期化され
たカウント値326が所定値以上となっている場合に
は、その処理はタイムアウトしたと判断し、その旨をシ
ーケンス管理情報320に記録する。加えて、プロセッ
サ301は、シーケンス管理情報320に基づき、自ら
の処理がタイムアウトしたと判断されたことを検知した
場合には、ビットストリームの検査で異常を検出した場
合と同様に、自ら停止する。この場合、タイムアウトし
たと判断された処理は、停止したプロセッサ以外のプロ
セッサ301によって優先的に実行される。
【0191】図29は、本実施形態に係る動画像符号化
装置において各プロセッサが動作する様子を示すタイミ
ングチャートである。図29に示す例では、動画像符号
化装置は第1から第6のプロセッサを有し、このうち第
1のプロセッサは故障のため停止していると仮定する。
また、第2ないし第6のプロセッサは、それぞれ互いに
独立して、異なるシーケンスに対して符号化処理を行
い、ビットストリームを生成するものとする。図29に
示す例では、第4のプロセッサが、動作中の5個のプロ
セッサのうちで最初に第1のシーケンスに対する符号化
処理を完了している。第4のプロセッサは、符号化処理
に続いて、生成したビットストリームが正常であるか否
かを検査する。第4のプロセッサは、ビットストリーム
は正常であると判断し、時刻t1以降で次処理選択処理
を行う。この時点では、第1のシーケンスに対する符号
化処理は既に完了しており、第2ないし第5のシーケン
スに対する符号化処理は他のプロセッサによって実行さ
れている。そこで、第4のプロセッサは、第6のシーケ
ンスに対する符号化処理を次に実行すべき処理として選
択し、その処理を開始する。
【0192】次に、第5のプロセッサが、第2のシーケ
ンスに対する符号化処理を完了したとする。第5のプロ
セッサは、符号化処理に続いて、生成したビットストリ
ームが正常であるか否かを検査する。第5のプロセッサ
は、ビットストリームは正常でないと判断し、時刻t2
に自ら停止する。
【0193】次に、第2のプロセッサが、第4のシーケ
ンスに対する符号化処理を完了したとする。第2のプロ
セッサは、符号化処理に続いて、生成したビットストリ
ームが正常であるか否かを検査する。第2のプロセッサ
は、ビットストリームは正常であると判断し、時刻t3
以降で次処理選択処理を行う。この時点では、第2のシ
ーケンスに対する処理で異常が生じたことが、共有記憶
部302に記憶されたシーケンス管理情報320のエラ
ーフラグ324に記録されている。そこで、第2のプロ
セッサは、他のプロセッサが実行した際に異常が生じ
た、第2のシーケンスに対する符号化処理を次に実行す
べき処理として選択し、その処理を開始する。
【0194】次に、第3のプロセッサが、第3のシーケ
ンスに対する符号化処理を正常に完了したとする。第3
のプロセッサは、時刻t4以降で次処理選択処理を行
い、第7のシーケンスに対する符号化処理を開始する。
次に、第6のプロセッサが、第5のシーケンスに対する
符号化処理を正常に完了したとする。第6のプロセッサ
は、時刻t5以降で次処理選択処理を行い、第8のシー
ケンスに対する符号化処理を開始する。
【0195】図29に示すように、各シーケンスの符号
化処理で異常が生じた場合には、その処理を実行したプ
ロセッサは停止し、他のプロセッサがその処理を代替し
て実行する。なお、図29では、生成したビットストリ
ームに異常が生じた場合を示したが、符号化処理がタイ
ムアウトした場合も同様である。
【0196】以上に示すように、本実施形態に係る動画
像符号化装置によれば、各プロセッサは、共有記憶部に
記憶された符号化処理の進行状態に基づき、次の処理を
選択して実行するとともに、選択した処理を実行した際
に異常が生じたときには自ら停止する。各プロセッサに
おける処理の選択、実行、異常検出および停止は、他の
プロセッサとは独立して、任意のタイミングで行われ
る。したがって、符号化処理の実行制御を行うプロセッ
サを備えることなく、異常が生じたプロセッサを符号化
処理中に検出することができる。よって、符号化処理中
であってもプロセッサの修理や交換を容易に行うことが
でき、少なくとも1個のプロセッサが正常に動作してい
れば符号化処理を継続することができる。
【0197】この際、生成されたビットストリームのサ
イズやシンタックス、あるいは、選択した処理の処理時
間などに基づき異常検出を行うことにより、異常が生じ
たプロセッサを符号化処理中に容易に検出することがで
きる。また、共有記憶部に記憶されたカウント値が各プ
ロセッサによって更新され、カウント値を用いて異常が
生じたプロセッサが検出されるので、各プロセッサでタ
イマーを起動することなく処理の所要時間を算出し、異
常が生じたプロセッサを検出することができる。また、
プロセッサで異常が生じた旨は共有記憶部に記録され、
各プロセッサは異常が生じた処理を優先的に実行するの
で、動画像符号化処理を安全かつ確実に実行することが
できる。
【0198】また、ビットストリームで異常が生じたと
きには、異常発生前に生成されたビットストリームはそ
のまま利用され、以後のビットストリームを求めるため
に必要最小限の符号化処理が再び実行される。この際、
異常が生じた処理はシーケンス管理情報に記録されるの
で、これを解析すれば、異常プロセッサを容易に特定す
ることができる。したがって、装置の保守管理を容易に
行い、故障による装置全体の稼働率の低下を抑えること
ができる。
【0199】また、共有記憶部に記憶されたシーケンス
や各プロセッサに記憶されたプログラムに異常やバグな
どがある場合には、すべてのプロセッサで同じ異常が生
じ、装置全体の動作が停止する。したがって、この場合
でも異常が生じた時点で処理が中断されるので、異常な
ビットストリームを出力することなく、異常の原因を容
易に究明することができる。
【0200】また、各プロセッサが選択した処理を実行
した際の異常を自ら検査し、異常検出時には自ら停止す
るため、並列処理装置で必要とされる複雑な異常検出処
理を行う必要がない。また、各プロセッサが独立して次
に実行すべき処理を選択するので、異常発生時の再符号
化処理を通常の次処理選択処理と同じ要領で容易に実行
でき、任意のタイミングでプロセッサを追加および削除
する機能を容易に追加することができる。
【0201】(第5の実施形態)本発明の第5の実施形
態に係る動画像符号化装置は、分散ファイルシステム構
成を有する共有記憶部を備えることを特徴とする。具体
的には、共有記憶部は互いに独立してアクセスできる複
数の画像記憶装置を含み、各画像記憶装置には、動きベ
クトル探索実行中に、符号化対象の動画像データが分散
して記憶される。
【0202】図30は、本実施形態に係る動画像符号化
装置の共有記憶部の詳細な構成を示す図である。図30
において、共有記憶部402およびスイッチングハブ4
04は、それぞれ、図1に示す共有記憶部2およびネッ
トワーク4を詳細化したものである。また、n個のプロ
セッサ401−1〜nは、図1に示すプロセッサ1−1
〜nに対応し、システム管理部403は、図1に示すシ
ステム管理部3に対応し、画像入力部411は、図1に
示す画像入力部11に対応する。
【0203】画像入力部411は、デジタルビデオカセ
ットレコーダ(DVCR)412とディスクレコーダ4
13とを含んでいる。デジタルビデオカセットレコーダ
412には、符号化対象の動画像データを記録したカセ
ット状の記録媒体が装着される。ディスクレコーダ41
3は、デジタルビデオカセットレコーダ412から出力
された動画像データを、未符号化状態のまま1フレーム
ずつ所定のファイル形式で記憶する。
【0204】共有記憶部402は、パラメータ記憶装置
421、q個の画像記憶装置422−1〜q、および、
ビットストリーム記憶装置423を含んでいる。パラメ
ータ記憶装置421は、各プロセッサ401における符
号化処理に必要とされる制御パラメータを記憶してお
り、n個のプロセッサ401−1〜nのすべてからアク
セスされる。q個の画像記憶装置422−1〜qは、各
プロセッサ401における符号化処理に必要とされる動
画像データを分散して記憶する。動画像データを分散し
て記憶する方法の詳細は後述する。ビットストリーム記
憶装置423は、符号化結果のビットストリームを記憶
する。
【0205】共有記憶部402に含まれる記憶装置(図
30では(q+2)個の記憶装置)は、いずれも、例え
ばNAS(Network Attached Storage)などを用いて構
成され、スイッチングハブ404にそれぞれ独立に接続
される。このため、各プロセッサ401は、共有記憶部
402に含まれる記憶装置に対して独立にアクセスでき
る。また、画像記憶装置422は、プロセッサ401か
らのアクセスが符号化処理のボトルネックにならない数
だけ設けられる。画像記憶装置422の個数qは、上記
の条件を満たす限り、プロセッサ401の個数nより少
なくてもよい。例えば、プロセッサ401の個数nが1
0〜20程度である場合に、画像記憶装置422の個数
qが2〜6程度であってもよい。
【0206】スイッチングハブ404は、ディスクレコ
ーダ413と、n個のプロセッサ401−1〜nと、パ
ラメータ記憶装置421と、q個の画像記憶装置422
−1〜qと、ビットストリーム記憶装置423との間
を、スイッチ構造で接続する。スイッチングハブ404
は、プロセッサ401からのアクセスが符号化処理のボ
トルネックにならないよう十分なデータスイッチング容
量を有するものとする。なお、スイッチングハブ404
は、接続対象の装置間をすべてスイッチ構造で接続する
必要はなく、少なくとも、動画像符号化処理を実行する
ためにデータを交換する必要がある装置間をスイッチ構
造で接続すれば足りる。
【0207】図31は、パラメータ記憶装置421に記
憶される制御パラメータの詳細を示す図である。図31
に示すように、制御パラメータは、s個の各シーケンス
について、シーケンス属性情報430とシーケンス管理
情報440とを含んでいる。シーケンス管理情報440
は、プロセッサ番号441、開始フラグ442、終了フ
ラグ443、エラーフラグ444、タイムアウトフラグ
445、および、カウント値446を含んでいる。シー
ケンス管理情報440に含まれるこれらの要素は第4の
実施形態で述べたものと同じであるので(図23を参
照)、ここではその説明を省略する。
【0208】シーケンス属性情報430は、シーケンス
の属性を示す情報として、シーケンス番号431、開始
時刻432、終了時刻433、GOP構造情報434、
サーバ名435、目標ビットレート436、画像記憶装
置番号437、および、ビットストリーム作成フラグ4
38などを含んでいる。シーケンス番号431は、シー
ケンスの番号を示す。開始時刻432および終了時刻4
33は、それぞれ、シーケンスの開始時刻および終了時
刻を1フレームを単位とした時間で示す。GOP構造情
報434は、シーケンスのGOP構造を示す。図31に
示す例では、第1のシーケンスについてのGOP構造情
報は、GOPには3枚のIピクチャを含めて15枚のピ
クチャが含まれており、GOPの先頭にあるピクチャは
Iピクチャであることを示している。サーバ名435
は、符号化処理前にシーケンスが蓄積されていたサーバ
の名称を示す。目標ビットレート436は、シーケンス
を符号化するときに目標値して設定されるビットレート
を示す。画像記憶装置番号437は、符号化処理中にシ
ーケンスが記憶される画像記憶装置の番号を示す。図3
1に示す例では、画像記憶装置番号437は、1からq
までのいずれかの値を取る。ビットストリーム作成フラ
グ438は、ビットストリームが既に作成されているか
否かを示す。ビットストリーム作成フラグ438は、ビ
ットストリームが既に作成されている場合には1、それ
以外の場合には0となる。
【0209】一般に、動画像符号化処理において最も多
くの計算量が必要とされる処理は、動きベクトル探索で
ある。そこで、本実施形態に係る動画像符号化装置は、
動きベクトル探索処理を含む処理を第1のパスで行い、
動きベクトル探索処理後の処理を第2のパスで行う、2
パス処理で動画像データを符号化する。より詳細には、
第1のパスでは、動きベクトル探索の他に、特徴抽出、
シーン検出、GOP構造決定、仮符号化、ビット割り当
てなどの処理が行われ、第2のパスでは、第1のパスで
求めた動きベクトル探索結果を用いて本符号化が行われ
る。本符号化には、フレーム間差分演算、直交変換、量
子化、可変長符号化、ローカル復号化、符号化制御など
の処理が含まれる。なお、第2のパスにおいて、第1の
パスで動きベクトル探索結果が得られていない一部のマ
クロブロックについて、動きベクトル探索を行ってもよ
い。このように動画像符号化処理を2パス処理で行う場
合、第1のパスでは動きベクトル探索における計算が処
理のボトルネックになるのに対して、第2のパスでは共
有記憶部402に対するアクセスが処理のボトルネック
になる。そこで、本実施形態に係る動画像符号化装置
は、第1のパスの処理を実行中に、第2のパスの処理を
実行するための準備として、共有記憶部402に動画像
データを分散して記憶させる処理を行う。
【0210】図32は、各プロセッサ401によるメイ
ン処理を示すフローチャートである。n個のプロセッサ
401−1〜nは、いずれも、図2に示す符号化処理用
プログラム32を実行することにより、図32に示すフ
ローチャートに従って動作する。図32に示す処理を行
う前に、システム管理部403の制御により、デジタル
ビデオカセットレコーダ412から動画像データが読み
出され、ディスクレコーダ413にフレームごとにファ
イル形式で記憶されているものとする。図32は、シス
テム管理部403から起動された後のプロセッサ401
の動作を示している。
【0211】プロセッサ401は、起動されると、ま
ず、初期化処理を行う(ステップS4101)。初期化
処理では、プロセッサ401は、自らのRAM内の符号
化処理用データ(図2に示す符号化処理用データ33)
を初期化するなどの処理を行う。次に、プロセッサ40
1は、第1のパスに含まれる処理を次処理として選択し
(ステップS4102)、ディスクレコーダ413から
処理すべきシーケンスを読み出す。次に、プロセッサ4
01は、ステップS4103で読み出したシーケンスに
対して、ステップS4102で選択した処理を実行する
(ステップS4104)。ステップS4104では、特
徴抽出、シーン検出、GOP構造決定、動きベクトル検
出、仮符号化、ビット割り当てなどの処理が行われる。
【0212】次に、プロセッサ401は、q個の画像記
憶装置422−1〜qのうちから一の画像記憶装置を選
択し、選択した画像記憶装置にステップS4102で読
み出したシーケンスを書き込む(ステップS410
5)。画像記憶装置を選択する方法については、後述す
る。次に、プロセッサ401は、パラメータ記憶装置4
21に記憶された画像記憶装置番号437を更新する
(ステップS4106)。例えば、第iのシーケンスを
第jの画像記憶装置422−jに書き込んだ場合、プロ
セッサ401は、第iのシーケンスの画像記憶装置番号
437に値jを設定する。次に、プロセッサ401は、
第1のパスの処理をすべて終了したか否かを判断する
(ステップS4107)。第1のパスの処理をすべて終
了していない場合(ステップS4107のNO)、プロ
セッサ401は、ステップS4012へ進み、第1のパ
スの処理を再び選択して実行する。
【0213】第1のパスの処理をすべて終了した場合
(ステップS4107のYES)、プロセッサ401
は、ステップS4108へ進む。この場合、プロセッサ
401は、第2のパスに含まれている処理を次処理とし
て選択し(ステップS4108)パラメータ記憶装置4
21から、次処理の対象となるシーケンスの画像記憶装
置番号437を読み出して、その番号の画像記憶装置4
22からシーケンスを読み出す(ステップS410
9)。次に、プロセッサ401は、ステップS4109
で読み出した動画像データに対して、ステップS410
8で選択した処理を実行する(ステップS4110)。
ステップS4110では、フレーム間差分演算、直交変
換、量子化、可変長符号化、ローカル符号化、符号化制
御などの処理が行われる。
【0214】次に、プロセッサ401は、ステップS4
110の処理でビットストリームが生成されたか否かを
判断し(ステップS4111)、ビットストリームが生
成された場合(ステップS4111のYES)、生成さ
れたビットストリームをビットストリーム記憶装置42
3に書き込む処理(図33)を行う(ステップS411
2)。次に、プロセッサ401は、第2のパスの処理を
すべて終了したか否かを判断する(ステップS411
3)。第2のパスの処理をすべて終了していない場合
(ステップS4113のNO)、プロセッサ401は、
ステップS4018へ進み、第2のパスの処理を再び選
択して実行する。第2のパスの処理をすべて終了してい
る場合(ステップS4113のYES)、プロセッサ4
01は、処理を終了する。
【0215】このようにステップS4102からS41
07では第1のパスの処理が実行され、ステップS41
08からS4113では第2のパスの処理が実行され
る。また、第1のパスの処理を実行中に、画像入力部4
11から入力された動画像データは、q個の画像記憶装
置422−1〜qに分散して書き込まれる。このように
して、第1のパスの処理を実行中に、第2のパスの実行
に必要な分散ファイルシステムが構築される。
【0216】ステップS4105において、q個の画像
記憶装置422−1〜qからシーケンスの書き込み先と
なる画像記憶装置を選択する方法には、次のような方法
がある。第1の方法として、プロセッサごとに書き込み
先の画像記憶装置を予め決めておく方法がある。第2の
方法として、シーケンス番号ごとに書き込み先の画像記
憶装置を予め決めておく方法がある。第3の方法とし
て、各画像記憶装置に記憶されているシーケンスの個数
あるいはフレームの枚数をパラメータ記憶装置421に
記憶させておき、各プロセッサ401がこれらの情報に
基づき、動画像データの記憶量が画像記憶装置間で均一
になるように、動的に画像記憶装置を選択する方法があ
る。プロセッサ401は、ステップS4106におい
て、パラメータ記憶装置421に含まれる画像記憶装置
番号437を更新する。このため、上記いずれの方法を
用いた場合でも、プロセッサ401は、第2のパスの処
理を実行するときに、処理対象のシーケンスがどの画像
記憶装置に記憶されているかを知ることができる。した
がって、第1のパスでシーケンスを書き込んだプロセッ
サと、第2のパスでシーケンスを読み出すプロセッサと
が異なっていても、動画像符号化処理を正しく実行する
ことができる。
【0217】図33は、プロセッサ401によるビット
ストリーム書き込み処理のフローチャートである。以下
では、パラメータ記憶装置421に記憶されているi番
目のシーケンスのビットストリーム作成フラグ438を
C[i]と表す。ビットストリーム書き込み処理では、
プロセッサ401は、まず、現在処理中のシーケンスの
シーケンス番号431を変数kに代入し、第kのシーケ
ンスのビットストリーム作成フラグ438に1を設定す
る(ステップS4201)。次に、プロセッサ401
は、kが1であるか否かを判断する(ステップS420
2)。kが1である場合(ステップS4202のYE
S)、プロセッサ401は、ビットストリームの先頭部
分を書き込むために、ビットストリーム書き込み先ファ
イルBFを作成し、作成したファイルBFに生成された
ビットストリームを書き込む(ステップS4203)。
【0218】ステップS4202においてkが1でない
場合(ステップS4202のNO)、プロセッサ401
は、生成されたビットストリームより前の部分が既に生
成されているか否かを調べるため、C[1]からC[k
−1]がすべて1であるか否かを判断する(ステップS
4204)。C[1]からC[k−1]がすべて1であ
る場合(ステップS4204のYES)、プロセッサ4
01は、ビットストリーム書き込み先ファイルBFに生
成されたビットストリームを連結する(ステップS42
05)。それ以外の場合(ステップS4024のN
O)、プロセッサ401は、ビットストリーム書き込み
先ファイルBFとは別に新たにファイルFkを作成し、
ファイルFk に生成されたビットストリームを書き込む
(ステップS4206)。
【0219】プロセッサ401は、ステップS420
3、S4205およびS4206の後は、いずれもステ
ップS4207へ進む。次に、プロセッサ401は、生
成されたビットストリームより後の部分が既に生成され
ている否かを調べるため、C[k+1]からC[k+
r]がすべて1であるようなrを求める(ステップS4
207)。次に、プロセッサ401は、rが1以上であ
るか否かを調べる(ステップS4208)。rが1以上
である場合(ステップS4208のYES)、プロセッ
サ401は、ビットストリーム書き込み先ファイルBF
にファイルFk+1 からFk+r を正しい順序で連結し、そ
の後にファイルFk+1 〜Fk+r を削除する(ステップS
4209)。プロセッサ401は、これをもってビット
ストリーム書き込み処理を完了する。
【0220】以下、本実施形態に係る動画像符号化装置
の効果を説明する。一般に、複数のプロセッサを用いて
動画像符号化処理を行う場合、データ(特に、原画像デ
ータ)に対するアクセスが処理のボトルネックになり、
符号化処理時間が長くなる。このため、動画像符号化処
理を並列で行うときの目標である実時間処理が行えなく
なる。
【0221】本実施形態に係る動画像符号化装置では、
動画像データに含まれるシーケンスは、複数の画像記憶
装置422−1〜qに分散して記憶される。また、各プ
ロセッサ401は、分散して記憶されたシーケンスにそ
れぞれ独立にアクセスする。したがって、プロセッサ4
01からのアクセスが競合しないようにシーケンスを好
適に分散して記憶することにより、プロセッサ401か
らのアクセスが符号化処理のボトルネックになることを
防止することができる。
【0222】また、本実施形態に係る動画像符号化装置
では、ディスクレコーダ413から入力されたシーケン
スは、動きベクトル探索実行中に共有記憶部402に分
散して記憶される。動きベクトル探索終了後、プロセッ
サ401は、分散して記憶されたシーケンスに対して並
列に符号化処理を実行する。動きベクトル探索では、計
算が処理のボトルネックになるのに対して、動きベクト
ル探索後の処理では、入出力が処理のボトルネックにな
る。そこで、入出力に余裕がある動きベクトル探索実行
中に、動画像データを複数の画像記憶装置に分散して記
憶させることにより、入出力に余裕がない動きベクトル
探索後の処理を高速に行うための準備をする。これによ
り、動きベクトル探索後の処理において入出力が処理の
ボトルネックになることを防止することができる。以上
のことから、本実施形態に係る動画像符号化装置によれ
ば、動画像符号化処理を高速に行うことができる。よっ
て、プロセッサ401の台数を十分に多くすれば、動き
ベクトル探索以外の動画像符号化処理を実時間で行うこ
とも可能となる。
【0223】また、複数のプロセッサを用いて並列に動
画像符号化処理を行う場合、符号化結果のビットストリ
ームは、任意のタイミングで生成される。また、生成さ
れるビットストリームは短く分割され、その長さも一定
ではないため、生成されたビットストリームを連結し
て、1本のビットストリームを作成する必要がある。と
ころが、あるビットストリームを生成したプロセッサ
が、そのビットストリームを連結する方法では、ビット
ストリームの連結順序と生成順序とが異なる場合に、プ
ロセッサ間で同期を取る必要が生じる。よって、この方
法では、プロセッサが他のプロセッサの処理を待つ時間
が生じ、処理時間が長くなる。
【0224】本実施形態に係る動画像符号化装置では、
プロセッサ401がビットストリームのある部分を生成
したときに、その前の部分が未完成である場合には、プ
ロセッサ401は、生成したビットストリームを後で連
結すべきものとしてビットストリーム記憶装置423に
書き込む。この場合、後で連結すべきとされたビットス
トリームの連結処理は、他のプロセッサによって行われ
る。したがって、ビットストリームの連結順序と生成順
序とが異なる場合でも、プロセッサは他のプロセッサの
処理を待つことなく、実行可能な他の処理を開始するこ
とができる。よって、動画像符号化処理を高速に行うこ
とができる。
【0225】なお、本発明は上記各実施形態に限られる
ものではなく、各種の改変が可能である。各実施形態で
は共通したハードウェア構成が使用されるので、各実施
形態の特徴を任意に組み合せて動画像符号化装置を構成
することができる。したがって、各実施形態の特徴のう
ち任意個の特徴を有する動画像符号化装置を構成するこ
とができる。例えば、第1および第3の実施形態の特徴
を有する動画像符号化装置や、第1、第4および第5の
実施形態の特徴を有する動画像符号化装置を構成するこ
とができる。また、動画像符号化装置には1以上の任意
の数のプロセッサが含まれていてもよく、各プロセッサ
の演算処理能力が異なっていてもよい。また、第5の実
施形態を除き、プロセッサと共有記憶部の間の接続方式
や、共有記憶部の構成は、任意に決定してよい。
【0226】第1および第2の実施形態では、各プロセ
ッサで異なる内容の次処理選択処理を実行させてもよ
く、一部のプロセッサにおける処理を固定化してもよ
い。第3の実施形態では、一部のプロセッサのみが、選
択した次処理に応じてプログラムを更新してもよい。あ
るいは、各プロセッサのRAMなどに、各プロセッサで
過去に使用されたプログラムを幾つか蓄積し、選択した
次処理に応じてプログラムを更新する際に、共有記憶部
に蓄積されたプログラムに代えて、各プロセッサに個別
に蓄積されたプログラムを使用してもよい。第4の実施
形態では、選択した処理を実行してもビットストリーム
が生成されない場合でも、その処理が正常終了したか否
かを検査してもよい。あるいは、カウント値更新処理
を、ビットストリームを共有記憶部に書き込んだ直後だ
けでなく、各プロセッサによる処理全体の中から任意に
選択した箇所で実行してもよい。
【図面の簡単な説明】
【図1】本発明の第1ないし第5の実施形態に係る動画
像符号化装置の構成を示すブロック図である。
【図2】本発明の第1ないし第5の実施形態に係る動画
像符号化装置の各プロセッサの詳細な構成を示す図であ
る。
【図3】本発明の第1の実施形態に係る動画像符号化装
置のデータ配置図である。
【図4】本発明の第1の実施形態に係る動画像符号化装
置の各プロセッサによるメイン処理のフローチャートで
ある。
【図5】本発明の第1の実施形態に係る動画像符号化装
置の各プロセッサによるプロセッサ追加処理のフローチ
ャートである。
【図6】本発明の第1の実施形態に係る動画像符号化装
置の各プロセッサによるプロセッサ削除処理のフローチ
ャートである。
【図7】本発明の第1の実施形態に係る動画像符号化装
置における世代更新処理のフローチャートである。
【図8】本発明の第2の実施形態に係る動画像符号化装
置のデータ配置図である。
【図9】本発明の第2の実施形態に係る動画像符号化装
置の各プロセッサによるメイン処理のフローチャートで
ある。
【図10】本発明の第2の実施形態に係る動画像符号化
装置の各プロセッサによる次処理選択処理のフローチャ
ートである。
【図11】本発明の第2の実施形態に係る動画像符号化
装置の各プロセッサによるシーケンス状態更新処理のフ
ローチャートである。
【図12】本発明の第2の実施形態に係る動画像符号化
装置の各プロセッサが動作する様子を示すタイムチャー
トである。
【図13】本発明の第3の実施形態に係る動画像符号化
装置のデータ配置図である。
【図14】本発明の第3の実施形態に係る動画像符号化
装置におけるプログラム管理情報の詳細を示す図であ
る。
【図15】本発明の第3の実施形態に係る動画像符号化
装置において実行される処理の内容の一例を示す図であ
る。
【図16】本発明の第3の実施形態に係る動画像符号化
装置の各プロセッサによるメイン処理のフローチャート
である。
【図17】本発明の第3の実施形態に係る動画像符号化
装置の各プロセッサによる次処理選択処理のフローチャ
ートである。
【図18】本発明の第3の実施形態に係る動画像符号化
装置の各プロセッサによるプロセッサプログラム更新処
理のフローチャートである。
【図19】本発明の第3の実施形態に係る動画像符号化
装置の各プロセッサによる機能情報比較処理のフローチ
ャートである。
【図20】本発明の第3の実施形態に係る動画像符号化
装置におけるプログラム登録処理のフローチャートであ
る。
【図21】本発明の第3の実施形態に係る動画像符号化
装置におけるプログラム削除処理のフローチャートであ
る。
【図22】本発明の第3の実施形態に係る動画像符号化
装置におけるプログラム更新処理のフローチャートであ
る。
【図23】本発明の第4の実施形態に係る動画像符号化
装置のデータ配置図である。
【図24】本発明の第4の実施形態に係る動画像符号化
装置の各プロセッサによるメイン処理のフローチャート
である。
【図25】本発明の第4の実施形態に係る動画像符号化
装置の各プロセッサによる次処理選択処理のフローチャ
ートである。
【図26】本発明の第4の実施形態に係る動画像符号化
装置の各プロセッサによるビットストリーム検査処理の
フローチャートである。
【図27】本発明の第4の実施形態に係る動画像符号化
装置の各プロセッサによるシーケンス管理情報更新処理
のフローチャートである。
【図28】本発明の第4の実施形態に係る動画像符号化
装置の各プロセッサによるカウント値更新処理のフロー
チャートである。
【図29】本発明の第4の実施形態に係る動画像符号化
装置の各プロセッサが動作する様子を示すタイミングチ
ャートである。
【図30】本発明の第5の実施形態に係る動画像符号化
装置の共有記憶部の詳細な構成を示す図である。
【図31】本発明の第5の実施形態に係る動画像符号化
装置における制御パラメータの詳細を示す図である。
【図32】本発明の第5の実施形態に係る動画像符号化
装置の各プロセッサによるメイン処理のフローチャート
である。
【図33】本発明の第5の実施形態に係る動画像符号化
装置の各プロセッサによるビットストリーム書き込み処
理のフローチャートである。
【図34】従来の動画像符号化装置における親プロセッ
サの処理を示すフローチャートである。
【図35】従来の動画像符号化装置における子プロセッ
サの処理を示すフローチャートである。
【図36】従来の動画像符号化装置によって生成された
異常ビットストリームを示す図である。
【符号の説明】
1、101、151、201、301、401…プロセ
ッサ 2、102、152、202、302、402…共有記
憶部 3、103、203、403…システム管理部 4…ネットワーク 11、411…画像入力部 12…画像出力部 13…ストリーム記憶部 14…デジタルVTR 15…キャプチャ部 16…デコード部 17…デジタルテレビ 21…CPU 22…ネットワークインターフェイス部 23…RAM 24…ローカルバス 31、110、161、311…プロセッサ識別情報 32、211…符号化処理用プログラム 33…符号化処理用データ 111…識別番号 112…世代番号 120、170、320、440…シーケンス管理情報 121、174、321、441…プロセッサ番号 122、173、240…処理状態 130…識別管理情報 131…現世代番号 132…世代検査値 133…世代更新フラグ 134…世代情報 140、180、250、330…シーケンス処理用デ
ータ 162…選択シーケンス番号 163…選択処理番号 171…現処理番号 172…選択可能処理番号 175、322、442…開始フラグ 176、323、443…終了フラグ 177、324、444…エラーフラグ 220…プログラム管理情報 231…プログラムコード 260…プログラム更新情報 261…有効フラグ 262…更新フラグ 263…削除フラグ 264…ダウンロード数 270…プログラムコード情報 271…プログラム名 272…先頭アドレス 273…プログラムサイズ 280…プログラム機能情報 281…項目数 282…機能情報 325、445…タイムアウトフラグ 326、446…カウント値 404…スイッチングハブ 412…デジタルビデオカセットレコーダ 413…ディスクレコーダ 421…パラメータ記憶装置 422…画像記憶装置 423…ビットストリーム記憶装置 430…シーケンス属性情報 431…シーケンス番号 432…開始時刻 433…終了時刻 434…GOP構造情報 435…サーバ名 436…目標ビットレート 437…画像記憶装置番号 438…ビットストリーム作成フラグ

Claims (33)

    【特許請求の範囲】
  1. 【請求項1】 並列に動作する複数の処理部と、前記処
    理部から共通してアクセスされる共有記憶部とを備えた
    動画像符号化装置であって、 前記共有記憶部は、 独立して処理を適用するために所定の単位に分割された
    動画像データと、 分割された動画像データの各単位について、符号化処理
    に必要なデータと符号化処理の進行状態とを記憶し、 各前記処理部は、 前記共有記憶部に記憶された符号化処理の進行状態に基
    づき、分割された一単位の動画像データと、当該一単位
    の動画像データについて次に実行すべき処理とを選択す
    る次処理選択手段と、 前記次処理選択手段で選択された一単位の動画像データ
    に対して、前記次処理選択手段で選択された処理を実行
    する処理実行手段とを含んだ、動画像符号化装置。
  2. 【請求項2】 前記次処理選択手段は、動画像符号化処
    理に含まれる複数の処理のうちから一の処理を、次に実
    行すべき処理として選択することを特徴とする、請求項
    1に記載の動画像符号化装置。
  3. 【請求項3】 各前記処理部は、各処理部における処理
    に必要なデータを記憶する個別記憶手段をさらに備え、 前記処理実行手段は、前記次処理選択手段で選択された
    処理を実行する前に、当該処理に必要なデータを前記共
    有記憶部から読み出して前記個別記憶手段に記憶させ、
    前記個別記憶手段に記憶されたデータに対して当該処理
    を実行し、当該処理で得られたデータを前記個別記憶手
    段から読み出して前記共有記憶部に記憶させることを特
    徴とする、請求項1に記載の動画像符号化装置。
  4. 【請求項4】 前記処理実行手段は、前記次処理選択手
    段で選択された処理を実行する前に、当該処理に必要な
    データが前記個別記憶手段に記憶されていない場合に、
    当該処理に必要なデータを前記共有記憶部から読み出し
    て前記個別記憶手段に記憶させることを特徴とする、請
    求項3に記載の動画像符号化装置。
  5. 【請求項5】 前記共有記憶部は、前記処理部の識別情
    報を管理するための識別管理情報をさらに記憶し、 各前記処理部は、 前記識別管理情報に基づき、未使用の識別情報を取得す
    る処理部追加手段と、 前記処理部追加手段で取得された識別情報を解放する処
    理部削除手段とをさらに含み、 前記次処理選択手段と前記処理実行手段とは、取得され
    た識別情報が解放されるまでの間、動作することを特徴
    とする、請求項1に記載の動画像符号化装置。
  6. 【請求項6】 前記処理部削除手段は、前記識別管理情
    報に基づき、前記処理部追加手段で取得された識別情報
    が失効していると判断したときに、当該識別情報を解放
    することを特徴とする、請求項5に記載の動画像符号化
    装置。
  7. 【請求項7】 並列に動作する複数の処理部と、前記処
    理部から共通してアクセスされる共有記憶部とを備えた
    動画像符号化装置であって、 前記共有記憶部は、 符号化対象の動画像データと、 前記動画像データの符号化処理に必要なデータと、 前記処理部の識別情報を管理するための識別管理情報と
    を記憶し、 各前記処理部は、 前記識別管理情報に基づき、未使用の識別情報を取得す
    る処理部追加手段と、 前記処理部追加手段で取得された識別情報を解放する処
    理部削除手段と、 取得された識別情報が解放されるまでの間、前記共有記
    憶部に記憶された動画像データに対して符号化処理を実
    行する符号化実行手段とを含んだ、動画像符号化装置。
  8. 【請求項8】 前記処理部削除手段は、前記識別管理情
    報に基づき、前記処理部追加手段で取得された識別情報
    が失効していると判断したときに、当該識別情報を解放
    することを特徴とする、請求項7に記載の動画像符号化
    装置。
  9. 【請求項9】 並列に動作する複数の処理部と、前記処
    理部から共通してアクセスされる共有記憶部とを備えた
    動画像符号化装置であって、 前記共有記憶部は、 前記処理部に転送され、前記処理部で実行される複数の
    プログラムと、 前記複数のプログラムの機能を示す機能情報とを記憶
    し、 各前記処理部は、 動画像符号化処理に含まれる複数の処理のうちから一の
    処理を、次に実行すべき処理として選択する次処理選択
    手段と、 前記共有記憶部に記憶された機能情報に基づき、前記共
    有記憶部に記憶された複数のプログラムから、前記次処
    理選択手段で選択された処理を実行するためのプログラ
    ムを選択し、選択したプログラムを前記共有記憶部から
    転送するプログラム更新手段と、 前記共有記憶部から転送されたプログラムを記憶する個
    別記憶手段と、 前記個別記憶手段に記憶されたプログラムを用いて、前
    記次処理選択手段で選択された処理を実行する処理実行
    手段とを含んだ、動画像符号化装置。
  10. 【請求項10】 前記共有記憶部は、 独立して処理を適用するために所定の単位に分割された
    動画像データと、 分割された動画像データの各単位について、符号化処理
    に必要なデータと符号化処理の進行状態とをさらに記憶
    し、 前記次処理選択手段は、前記共有記憶部に記憶された符
    号化処理の進行状態に基づき、分割された一単位の動画
    像データと、当該一単位の動画像データについて次に実
    行すべき処理とを選択し、 前記処理実行手段は、前記次処理選択手段で選択された
    一単位の動画像データに対して、前記次処理選択手段で
    選択された処理を実行することを特徴とする、請求項9
    に記載の動画像符号化装置。
  11. 【請求項11】 前記プログラム更新手段は、前記共有
    記憶部に記憶された機能情報と前記次処理選択手段で選
    択された処理の機能とを比較して、当該処理を実行する
    ためのプログラムを選択することを特徴とする、請求項
    9に記載の動画像符号化装置。
  12. 【請求項12】 前記プログラム更新手段は、前記個別
    記憶手段に記憶されたプログラムの機能と前記次処理選
    択手段で選択された処理の機能とを比較して、選択した
    プログラムを前記共有記憶部から転送するか否かを切り
    替えることを特徴とする、請求項9に記載の動画像符号
    化装置。
  13. 【請求項13】 並列に動作する複数の処理部と、前記
    処理部から共通してアクセスされる共有記憶部とを備え
    た動画像符号化装置であって、 前記共有記憶部は、 独立して処理を適用するために所定の単位に分割された
    動画像データと、 分割された動画像データの各単位について、符号化処理
    に必要なデータと符号化処理の進行状態とを記憶し、 各前記処理部は、 前記共有記憶部に記憶された符号化処理の進行状態に基
    づき、分割された一単位の動画像データと、当該一単位
    の動画像データについて次に実行すべき処理とを選択す
    る次処理選択手段と、 前記次処理選択手段で選択された一単位の動画像データ
    に対して、前記次処理選択手段で選択された処理を実行
    する処理実行手段と、 前記処理実行手段における処理で生じた異常を検出する
    異常検出手段と、 前記異常検出手段で異常が検出されたときに、前記次処
    理選択手段および前記処理実行手段による符号化処理を
    停止させる処理停止手段とを備えた、動画像符号化装
    置。
  14. 【請求項14】 前記異常検出手段は、前記処理実行手
    段で求めた動画像データの符号化結果に基づき、前記処
    理実行手段における処理で生じた異常を検出することを
    特徴とする、請求項13に記載の動画像符号化装置。
  15. 【請求項15】 前記異常検出手段は、前記処理実行手
    段で求めた動画像データの符号化結果のサイズに基づ
    き、前記処理実行手段における処理で生じた異常を検出
    することを特徴とする、請求項14に記載の動画像符号
    化装置。
  16. 【請求項16】 前記異常検出手段は、前記処理実行手
    段で求めた動画像データの符号化結果のシンタックスを
    検査することにより、前記処理実行手段における処理で
    生じた異常を検出することを特徴とする、請求項14に
    記載の動画像符号化装置。
  17. 【請求項17】 前記異常検出手段は、前記処理実行手
    段における処理時間に基づき、前記処理実行手段におけ
    る処理で生じた異常を検出することを特徴とする、請求
    項13に記載の動画像符号化装置。
  18. 【請求項18】 前記共有記憶部は、分割された動画像
    データの各単位について、異常検出用のカウント値をさ
    らに記憶しており、 各前記処理部は、前記カウント値を更新するカウント値
    更新手段をさらに備え、 前記処理実行手段は、前記次処理選択手段で選択された
    一単位の動画像データに対して前記次処理選択手段で選
    択された処理を実行する前に、当該一単位の動画像デー
    タについての前記カウント値を初期化し、 前記異常検出手段は、前記処理実行手段における処理が
    完了したときに、前記処理実行手段で初期化したカウン
    ト値が所定値以上であるときに、前記処理実行手段にお
    ける処理で異常が生じたと判断することを特徴とする、
    請求項17に記載の動画像符号化装置。
  19. 【請求項19】 前記異常検出手段は、前記処理実行手
    段における処理で異常が生じたと判断したときに、異常
    が生じた旨を、前記共有記憶部に記憶された符号化処理
    の進行状態に記録し、 前記次処理選択手段は、前記共有記憶部に記憶された符
    号化処理の進行状態に基づき、分割された一単位の動画
    像データと、当該一単位の動画像データについて次に実
    行すべき処理とを選択する際に、異常が生じた旨が記録
    されている処理を優先的に選択することを特徴とする、
    請求項13に記載の動画像符号化装置。
  20. 【請求項20】 並列に動作する複数の処理部と、前記
    処理部から共通してアクセスされる共有記憶部とを備え
    た動画像符号化装置であって、 前記共有記憶部は、 独立して処理を適用するために所定の単位に分割された
    動画像データを分散して記憶する複数の画像記憶部と、 各前記画像記憶部とは独立してアクセスできるように構
    成され、分割された動画像データの各単位について、符
    号化処理に必要なデータと処理の進行状態とを記憶する
    パラメータ記憶部とを含み、 各前記処理部は、 前記パラメータ記憶部に記憶された符号化処理の進行状
    態に基づき、分割された一単位の動画像データと、当該
    一単位の動画像データについて次に実行すべき処理とを
    選択する次処理選択手段と、 前記次処理選択手段で選択された一単位の動画像データ
    に対して、前記次処理選択手段で選択された処理を実行
    する処理実行手段とを含んだ、動画像符号化装置。
  21. 【請求項21】 符号化対象の動画像データを入力する
    画像入力部をさらに備え、 前記次処理選択手段は、符号化処理の過程において少な
    くとも2段階に処理の選択方法を切り替え、第1段階で
    は、次に実行すべき処理として動きベクトル探索を含む
    処理を選択し、前記第1段階に続く第2段階では、前記
    第1段階で求めた動きベクトル探索結果を利用すること
    として、次に実行すべき処理として既知の動きベクトル
    探索を含まない処理を選択し、 前記処理実行手段は、前記次処理選択手段が前記第1段
    階にあるときは、前記次処理選択手段で選択された一単
    位の動画像データを前記画像入力部から読み出して、前
    記次処理選択手段で選択された処理を実行するととも
    に、読み出した動画像データを前記複数の画像記憶部の
    うち一の画像記憶部に書き込み、前記次処理選択手段が
    前記第2段階にあるときは、前記次処理選択手段で選択
    された一単位の動画像データを前記画像記憶部から読み
    出して、前記次処理選択手段で選択された処理を実行す
    ることを特徴とする、請求項20に記載の動画像符号化
    装置。
  22. 【請求項22】 前記次処理選択手段は、前記画像入力
    装置から入力されるすべての動画像データについて前記
    第1段階における処理を選択した後に、前記第1段階か
    ら前記第2段階に処理の選択方法を切り替えることを特
    徴とする、請求項21に記載の動画像符号化装置。
  23. 【請求項23】 前記共有記憶部は、各前記画像記憶部
    および前記パラメータ記憶部とは独立してアクセスでき
    るように構成され、前記動画像データの符号化結果を記
    憶する符号化結果記憶部をさらに含み、 前記処理実行手段は、動画像データの符号化結果を新た
    に求めたときに、求めた部分より前の部分の符号化結果
    がすべて前記符号化結果記憶部に記憶されている場合に
    は、前記符号化結果記憶部に記憶された符号化結果に新
    たに求めた符号化結果を連結し、それ以外の場合には、
    新たに求めた符号化結果を、記憶された符号化結果と連
    結することなく、前記符号化結果記憶部に書き込むこと
    を特徴とする、請求項20に記載の動画像符号化装置。
  24. 【請求項24】 並列に動作する複数の処理部と、前記
    処理部から共通してアクセスされる共有記憶部とを用い
    た動画像符号化方法であって、 前記共有記憶部が、 独立して処理を適用するために所定の単位に分割された
    動画像データと、 分割された動画像データの各単位について、符号化処理
    に必要なデータと符号化処理の進行状態とを記憶するデ
    ータ記憶ステップを行ない、 各前記処理部が、 前記共有記憶部に記憶された符号化処理の進行状態に基
    づき、分割された一単位の動画像データと、当該一単位
    の動画像データについて次に実行すべき処理とを選択す
    る次処理選択ステップと、 前記次処理選択ステップで選択された一単位の動画像デ
    ータに対して、前記次処理選択ステップで選択された処
    理を実行する処理実行ステップとを行う、動画像符号化
    方法。
  25. 【請求項25】 並列に動作する複数の処理部と、前記
    処理部から共通してアクセスされる共有記憶部とを用い
    た動画像符号化方法であって、 前記共有記憶部が、 符号化対象の動画像データと、 前記動画像データの符号化処理に必要なデータと、 前記処理部の識別情報を管理するための識別管理情報と
    を記憶するデータ記憶ステップを行い、 各前記処理部が、 前記識別管理情報に基づき、未使用の識別情報を取得す
    る処理部追加ステップと、 前記処理部追加ステップで取得された識別情報を解放す
    る処理部削除ステップと、 取得された識別情報が解放されるまでの間、前記共有記
    憶部に記憶された動画像データに対して符号化処理を実
    行する符号化実行ステップとを行う、動画像符号化方
    法。
  26. 【請求項26】 並列に動作する複数の処理部と、前記
    処理部から共通してアクセスされる共有記憶部とを用い
    た動画像符号化方法であって、 前記共有記憶部が、 前記処理部に転送され、前記処理部で実行される複数の
    プログラムと、 前記複数のプログラムの機能を示す機能情報とを記憶す
    るプログラム記憶ステップを行い、 各前記処理部が、 動画像符号化処理に含まれる複数の処理のうちから一の
    処理を、次に実行すべき処理として選択する次処理選択
    ステップと、 前記共有記憶部に記憶された機能情報に基づき、前記共
    有記憶部に記憶された複数のプログラムから、前記次処
    理選択ステップで選択された処理を実行するためのプロ
    グラムを選択し、選択したプログラムを前記共有記憶部
    から転送するプログラム更新ステップと、 前記共有記憶部から転送されたプログラムを記憶する個
    別記憶ステップと、 前記個別記憶ステップで記憶されたプログラムを用い
    て、前記次処理選択ステップで選択された処理を実行す
    る処理実行ステップとを行う、動画像符号化方法。
  27. 【請求項27】 並列に動作する複数の処理部と、前記
    処理部から共通してアクセスされる共有記憶部とを用い
    た動画像符号化方法であって、 前記共有記憶部が、 独立して処理を適用するために所定の単位に分割された
    動画像データと、 分割された動画像データの各単位について、符号化処理
    に必要なデータと符号化処理の進行状態とを記憶するデ
    ータ記憶ステップを行い、 各前記処理部が、 前記共有記憶部に記憶された符号化処理の進行状態に基
    づき、分割された一単位の動画像データと、当該一単位
    の動画像データについて次に実行すべき処理とを選択す
    る次処理選択ステップと、 前記次処理選択ステップで選択された一単位の動画像デ
    ータに対して、前記次処理選択ステップで選択された処
    理を実行する処理実行ステップと、 前記処理実行ステップにおける処理で生じた異常を検出
    する異常検出ステップと、 前記異常検出ステップで異常が検出されたときに、前記
    次処理選択ステップおよび前記処理実行ステップによる
    符号化処理を停止させる処理停止ステップとを行う、動
    画像符号化方法。
  28. 【請求項28】 並列に動作する複数の処理部と、前記
    処理部から共通してアクセスされる共有記憶部とを用い
    た動画像符号化方法であって、 前記共有記憶部が、 独立して処理を適用するために所定の単位に分割された
    動画像データを分散して記憶する画像記憶ステップと、 前記画像記憶ステップで記憶された動画像データとは独
    立してアクセスできるように、分割された動画像データ
    の各単位について、符号化処理に必要なデータと処理の
    進行状態とを記憶するパラメータ記憶ステップとを行
    い、 各前記処理部が、 前記パラメータ記憶部に記憶された符号化処理の進行状
    態に基づき、分割された一単位の動画像データと、当該
    一単位の動画像データについて次に実行すべき処理とを
    選択する次処理選択ステップと、 前記次処理選択ステップで選択された一単位の動画像デ
    ータに対して、前記次処理選択ステップで選択された処
    理を実行する処理実行ステップとを行う、動画像符号化
    方法。
  29. 【請求項29】 並列に動作する複数の処理部と、前記
    処理部から共通してアクセスされる共有記憶部とを備え
    たコンピュータを動画像符号化装置として機能させるた
    めのプログラムであって、 前記共有記憶部に、独立して処理を適用するために所定
    の単位に分割された動画像データと、分割された動画像
    データの各単位について、符号化処理に必要なデータと
    符号化処理の進行状態とが記憶された状態で、各前記処
    理部によって実行されるべく、 前記共有記憶部に記憶された符号化処理の進行状態に基
    づき、分割された一単位の動画像データと、当該一単位
    の動画像データについて次に実行すべき処理とを選択す
    る次処理選択ステップと、 前記次処理選択ステップで選択された一単位の動画像デ
    ータに対して、前記次処理選択ステップで選択された処
    理を実行する処理実行ステップとを備えた、プログラ
    ム。
  30. 【請求項30】 並列に動作する複数の処理部と、前記
    処理部から共通してアクセスされる共有記憶部とを備え
    たコンピュータを動画像符号化装置として機能させるた
    めのプログラムであって、 前記共有記憶部に、符号化対象の動画像データと、前記
    動画像データの符号化処理に必要なデータと、前記処理
    部の識別情報を管理するための識別管理情報とが記憶さ
    れた状態で、各前記処理部によって実行されるべく、 前記識別管理情報に基づき、未使用の識別情報を取得す
    る処理部追加ステップと、 前記処理部追加ステップで取得された識別情報を解放す
    る処理部削除ステップと、 取得された識別情報が解放されるまでの間、前記共有記
    憶部に記憶された動画像データに対して符号化処理を実
    行する符号化実行ステップとを備えた、プログラム。
  31. 【請求項31】 並列に動作する複数の処理部と、前記
    処理部から共通してアクセスされる共有記憶部とを備え
    たコンピュータを動画像符号化装置として機能させるた
    めのプログラムであって、 前記共有記憶部に、前記処理部に転送され、前記処理部
    で実行される複数の処理プログラムと、前記複数の処理
    プログラムの機能を示す機能情報とが記憶された状態
    で、各前記処理部によって実行されるべく、 動画像符号化処理に含まれる複数の処理のうちから一の
    処理を、次に実行すべき処理として選択する次処理選択
    ステップと、 前記共有記憶部に記憶された機能情報に基づき、前記共
    有記憶部に記憶された複数の処理プログラムから、前記
    次処理選択ステップで選択された処理を実行するための
    処理プログラムを選択し、選択した処理プログラムを前
    記共有記憶部から転送するプログラム更新ステップと、 前記共有記憶部から転送された処理プログラムを記憶す
    る個別記憶ステップと、 前記個別記憶ステップで記憶された処理プログラムを用
    いて、前記次処理選択ステップで選択された処理を実行
    する処理実行ステップとを備えた、プログラム。
  32. 【請求項32】 並列に動作する複数の処理部と、前記
    処理部から共通してアクセスされる共有記憶部とを備え
    たコンピュータを動画像符号化装置として機能させるた
    めのプログラムであって、 前記共有記憶部に、独立して処理を適用するために所定
    の単位に分割された動画像データと、分割された動画像
    データの各単位について、符号化処理に必要なデータと
    符号化処理の進行状態とが記憶された状態で、各前記処
    理部によって実行されるべく、 前記共有記憶部に記憶された符号化処理の進行状態に基
    づき、分割された一単位の動画像データと、当該一単位
    の動画像データについて次に実行すべき処理とを選択す
    る次処理選択ステップと、 前記次処理選択ステップで選択された一単位の動画像デ
    ータに対して、前記次処理選択ステップで選択された処
    理を実行する処理実行ステップと、 前記処理実行ステップにおける処理で生じた異常を検出
    する異常検出ステップと、 前記異常検出ステップで異常が検出されたときに、前記
    次処理選択ステップおよび前記処理実行ステップによる
    符号化処理を停止させる処理停止ステップとを備えた、
    プログラム。
  33. 【請求項33】 並列に動作する複数の処理部と、前記
    処理部から共通してアクセスされる共有記憶部とを備え
    たコンピュータを動画像符号化装置として機能させるた
    めのプログラムであって、 前記共有記憶部に、独立して処理を適用するために所定
    の単位に分割された動画像データが分散して記憶され、
    さらに、前記動画像データとは独立してアクセスできる
    ように、分割された動画像データの各単位について、符
    号化処理に必要なデータと処理の進行状態とが記憶され
    た状態で、各前記処理部によって実行されるべく、 前記共有記憶部に記憶された符号化処理の進行状態に基
    づき、分割された一単位の動画像データと、当該一単位
    の動画像データについて次に実行すべき処理とを選択す
    る次処理選択ステップと、 前記次処理選択ステップで選択された一単位の動画像デ
    ータに対して、前記次処理選択ステップで選択された処
    理を実行する処理実行ステップとを備えた、プログラ
    ム。
JP2002324300A 2001-12-04 2002-11-07 複数のプロセッサを用いた動画像符号化装置およびその方法 Expired - Fee Related JP4335516B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2002324300A JP4335516B2 (ja) 2001-12-04 2002-11-07 複数のプロセッサを用いた動画像符号化装置およびその方法
US10/308,097 US7302516B2 (en) 2001-12-04 2002-12-03 Apparatus and method of moving picture encoding employing a plurality of processors
CNB021518793A CN1279492C (zh) 2001-12-04 2002-12-04 使用多个处理器的动图像编码装置及其方法

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
JP2001370153 2001-12-04
JP2001370154 2001-12-04
JP2001-370153 2001-12-04
JP2001-370154 2001-12-04
JP2001381496 2001-12-14
JP2001-381496 2001-12-14
JP2002324300A JP4335516B2 (ja) 2001-12-04 2002-11-07 複数のプロセッサを用いた動画像符号化装置およびその方法

Publications (3)

Publication Number Publication Date
JP2003244699A true JP2003244699A (ja) 2003-08-29
JP2003244699A5 JP2003244699A5 (ja) 2005-10-27
JP4335516B2 JP4335516B2 (ja) 2009-09-30

Family

ID=27482719

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002324300A Expired - Fee Related JP4335516B2 (ja) 2001-12-04 2002-11-07 複数のプロセッサを用いた動画像符号化装置およびその方法

Country Status (3)

Country Link
US (1) US7302516B2 (ja)
JP (1) JP4335516B2 (ja)
CN (1) CN1279492C (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005252752A (ja) * 2004-03-05 2005-09-15 Nippon Telegr & Teleph Corp <Ntt> 動画像符号化装置,動画像符号化方法,動画像符号化プログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2007513422A (ja) * 2003-12-04 2007-05-24 アクサルト・エス・アー 放射またはそれ以外による攻撃に対抗したプログラムの実行を保証するための方法
JP2010529809A (ja) * 2007-06-14 2010-08-26 トムソン ライセンシング 時間最適化されたエンコードのためのシステムおよび方法
JP2011066843A (ja) * 2009-09-18 2011-03-31 Toshiba Corp 並列符号化装置及びプログラム並びに画像データの符号化方法
JP2014096755A (ja) * 2012-11-12 2014-05-22 Canon Inc 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
US9189301B2 (en) 2011-05-24 2015-11-17 Fujitsu Limited Data processing method and data processing system
JP2018010402A (ja) * 2016-07-12 2018-01-18 京セラドキュメントソリューションズ株式会社 画像処理装置
JP2020024716A (ja) * 2016-05-23 2020-02-13 クゥアルコム・インコーポレイテッドQualcomm Incorporated グラフィック処理のためのパーシェーダープリアンブル
JP2020078028A (ja) * 2018-11-09 2020-05-21 Jcc株式会社 録画装置

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8156343B2 (en) * 2003-11-26 2012-04-10 Intel Corporation Accessing private data about the state of a data processing machine from storage that is publicly accessible
JP2006031480A (ja) * 2004-07-16 2006-02-02 Sony Corp 情報処理システム及び情報処理方法、並びにコンピュータプログラム
CA2484694A1 (en) * 2004-10-14 2006-04-14 Alcatel Database ram cache
JPWO2006075457A1 (ja) * 2005-01-11 2008-06-12 松下電器産業株式会社 記録装置
JP2008527945A (ja) * 2005-01-19 2008-07-24 トムソン ライセンシング リアルタイム並列符号化の方法及び装置
JP4789200B2 (ja) * 2006-08-07 2011-10-12 ルネサスエレクトロニクス株式会社 動画符号化と動画復号とのいずれかを実行する機能モジュールおよびそれを含む半導体集積回路
JP4517306B2 (ja) * 2007-05-17 2010-08-04 ソニー株式会社 情報処理装置および方法
US7986705B2 (en) 2007-06-13 2011-07-26 International Business Machines Corporation Determining a transmission order for frames based on bit reversals of sequence numbers
US20080310309A1 (en) * 2007-06-13 2008-12-18 Glenn Darrell Batalden Sending content from multiple queues to clients
US7890651B2 (en) * 2007-06-13 2011-02-15 International Business Machines Corporation Sending content from multiple content servers to clients at time reference points
JP5067361B2 (ja) * 2008-12-25 2012-11-07 ソニー株式会社 エンコーダ及びデコーダ、符号方法及び復号方法、並びに記録媒体
CN101576994B (zh) * 2009-06-22 2012-01-25 中国农业大学 遥感图像处理方法及装置
CN101860650B (zh) * 2009-08-24 2012-12-12 深圳市海云天科技股份有限公司 一种基于网络阅卷的图像采集处理***
US8832403B2 (en) * 2009-11-13 2014-09-09 International Business Machines Corporation Generation-based memory synchronization in a multiprocessor system with weakly consistent memory accesses
US8736695B2 (en) * 2010-11-12 2014-05-27 Qualcomm Incorporated Parallel image processing using multiple processors
JP5673178B2 (ja) * 2011-02-10 2015-02-18 富士通株式会社 ストレージ装置及びストレージ装置制御方法
CN102760083A (zh) * 2011-04-26 2012-10-31 精拓科技股份有限公司 多处理器的运作控制方法及其***
WO2016041507A1 (en) * 2014-09-17 2016-03-24 Mediatek Inc. Syntax parsing apparatus with multiple syntax parsing circuits for processing multiple image regions within same frame or processing multiple frames and related syntax parsing method
US10496329B2 (en) * 2017-06-02 2019-12-03 Cavium, Llc Methods and apparatus for a unified baseband architecture
CN109284410B (zh) * 2018-10-15 2022-08-16 五八有限公司 图像文件保存方法、装置、计算机设备及可读存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6567426B1 (en) * 1998-03-05 2003-05-20 Silicon Graphics, Inc. Preemptive timer multiplexed shared memory access
JPH11346366A (ja) * 1998-06-01 1999-12-14 Sony Corp 符号化装置とその方法および復号化装置とその方法
JP4427827B2 (ja) * 1998-07-15 2010-03-10 ソニー株式会社 データ処理方法、データ処理装置及び記録媒体
US7885340B2 (en) * 1999-04-27 2011-02-08 Realnetworks, Inc. System and method for generating multiple synchronized encoded representations of media data
US6507947B1 (en) * 1999-08-20 2003-01-14 Hewlett-Packard Company Programmatic synthesis of processor element arrays
JP4087072B2 (ja) * 2001-01-25 2008-05-14 株式会社日立製作所 ストレージシステム及び仮想プライベートボリューム制御方法
US7590742B2 (en) * 2003-12-16 2009-09-15 Nokia Corporation IP address management

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007513422A (ja) * 2003-12-04 2007-05-24 アクサルト・エス・アー 放射またはそれ以外による攻撃に対抗したプログラムの実行を保証するための方法
JP2005252752A (ja) * 2004-03-05 2005-09-15 Nippon Telegr & Teleph Corp <Ntt> 動画像符号化装置,動画像符号化方法,動画像符号化プログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2010529809A (ja) * 2007-06-14 2010-08-26 トムソン ライセンシング 時間最適化されたエンコードのためのシステムおよび方法
JP2011066843A (ja) * 2009-09-18 2011-03-31 Toshiba Corp 並列符号化装置及びプログラム並びに画像データの符号化方法
US9189301B2 (en) 2011-05-24 2015-11-17 Fujitsu Limited Data processing method and data processing system
JP5825346B2 (ja) * 2011-05-24 2015-12-02 富士通株式会社 データ処理方法及びデータ処理システム
JP2014096755A (ja) * 2012-11-12 2014-05-22 Canon Inc 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
US9609316B2 (en) 2012-11-12 2017-03-28 Canon Kabushiki Kaisha Image coding apparatus, image coding method, and recording medium thereof, image decoding apparatus, and image decoding method, and recording medium thereof
JP2020024716A (ja) * 2016-05-23 2020-02-13 クゥアルコム・インコーポレイテッドQualcomm Incorporated グラフィック処理のためのパーシェーダープリアンブル
JP2018010402A (ja) * 2016-07-12 2018-01-18 京セラドキュメントソリューションズ株式会社 画像処理装置
JP2020078028A (ja) * 2018-11-09 2020-05-21 Jcc株式会社 録画装置

Also Published As

Publication number Publication date
CN1279492C (zh) 2006-10-11
US7302516B2 (en) 2007-11-27
CN1426023A (zh) 2003-06-25
US20030103564A1 (en) 2003-06-05
JP4335516B2 (ja) 2009-09-30

Similar Documents

Publication Publication Date Title
JP4335516B2 (ja) 複数のプロセッサを用いた動画像符号化装置およびその方法
US11228756B2 (en) Method and apparatus of implicit intra coding tool settings with intra directional prediction modes for video coding
TWI524741B (zh) A motion picture coding apparatus, a motion picture coding method, a recording medium for a motion picture coding program, a transmission apparatus, a transmission method, a recording medium for a transmission program, a motion picture decoding apparatus, a motion picture decoding method, a recording medium of a motion picture decoding program , A receiving device, a receiving method, and a receiving program
JP2019525671A (ja) 映像符号化/復号化方法及びそのための装置
EP3780621A1 (en) Image processing device and image processing method
EP2290985A1 (en) Image decoding device and image encoding device
US20190335195A1 (en) Image predictive encoding and decoding system
CN111294599B (zh) 视频解码方法、视频编码方法及装置
HUE033604T2 (en) Low-delay image encoding
CN112889289A (zh) 通过使用运动矢量差分值对视频进行编码和解码的方法以及用于对运动信息进行编码和解码的设备
GB2505643A (en) Scalable video coding (SVC) using selection of base layer (BL) elementary prediction units (PUs)
JP7187572B2 (ja) 並列符号化機能の強化概念
KR101443804B1 (ko) 비디오 및 이미지 압축을 위한 병렬 피라미드 엔트로피 코딩
CN105430417A (zh) 编码方法、解码方法、装置及电子设备
CN101682761B (zh) 进行时间最优化编码的***和方法
JP2023166557A (ja) 動画圧縮装置
CN115443486A (zh) 三维数据编码方法、三维数据解码方法、三维数据编码装置及三维数据解码装置
US20120121024A1 (en) Method and apparatus for parallel entropy encoding and parallel entropy decoding based on decoding rate
JP7183334B2 (ja) 画像符号化装置、画像符号化方法及び画像符号化プログラム、並びに画像復号化装置、画像復号化方法及び画像復号化プログラム
US20220094948A1 (en) Multi-threading in a video hardware engine
CN112889285B (zh) 视频编码和解码
US20060132481A1 (en) Digital image processor
EP3777168B1 (en) Accelerating video encoding and decoding
KR102497399B1 (ko) 인공지능 기술을 기반으로 한 영상관제 시스템 호환 객체 검색 방법
CN114424549B (zh) 运动图像编码方法、编码处理方法、运动图像编码装置及编码处理装置

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050830

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050830

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090318

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090512

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090625

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

Free format text: PAYMENT UNTIL: 20120703

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4335516

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120703

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130703

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees