JP2011066843A - 並列符号化装置及びプログラム並びに画像データの符号化方法 - Google Patents

並列符号化装置及びプログラム並びに画像データの符号化方法 Download PDF

Info

Publication number
JP2011066843A
JP2011066843A JP2009217888A JP2009217888A JP2011066843A JP 2011066843 A JP2011066843 A JP 2011066843A JP 2009217888 A JP2009217888 A JP 2009217888A JP 2009217888 A JP2009217888 A JP 2009217888A JP 2011066843 A JP2011066843 A JP 2011066843A
Authority
JP
Japan
Prior art keywords
processing
error
encoding
parallel
processing block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2009217888A
Other languages
English (en)
Inventor
Hiroaki Sugita
弘晃 杉田
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2009217888A priority Critical patent/JP2011066843A/ja
Priority to US12/881,357 priority patent/US20110069761A1/en
Publication of JP2011066843A publication Critical patent/JP2011066843A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • 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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

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

Abstract

【課題】画像データに対する並列符号化とエラー処理の実装とを実現するとともに、エラーが発生した場合の並列符号化の効率化を実現する。
【解決手段】本発明の一態様において、並列符号化装置1は、画像データ8を分割して得られる複数の処理ブロックについて、符号化のための複数の処理モードの進行状態を示す制御情報11を記憶する記憶手段6と、記憶手段6に記憶されている制御情報11と複数の処理ブロックに対する複数の処理モードの間の所定の依存関係とに基づいて、実行可能な処理ブロックに対する処理モードを、並列に実行する並列処理手段2〜4と、並列処理手段2〜4による処理においてエラーが発生したか否か判定する判定手段7と、判定手段7によってエラーが発生したと判定された場合に、記憶手段6に記憶されている制御情報11におけるエラー発生処理ブロックの進行状態及びエラー発生処理ブロックに依存している処理ブロックの進行状態を、再実行させる状態に更新する制御手段5とを具備する。
【選択図】 図1

Description

本発明は、画像データの符号化を行う符号化装置及びプログラム並びに画像データの符号化方法に関する。
例えば、H.264規格に準拠している符号化技術においては、動きベクトル探索処理、モード判定処理、エントロピー符号化処理などが実行される。
このような動きベクトル探索処理、モード判定処理、エントロピー符号化処理を含む従来の符号化技術において、モード判定処理とエントロピー符号化処理とは直列に動作し、並列には動作しない。したがって、例えば、エントロピー符号化処理でエラーが発生した場合であっても、迅速にモード判定処理をやり直すことが可能であった。
また、従来の符号化技術においては、複数のフレーム間で並列に処理が実行されていないため、モード判定処理をやり直しても、動きベクトル探索処理をやり直す必要はない。
これに対して、従来の符号化技術において例えば動きベクトル探索処理とモード判定処理などの処理を並列に実行させた場合に、エントロピー符号化処理でエラーが発生すると、モード判定処理を再度実行する必要があり、さらに、モード判定処理の結果が変わるため、モード判定処理の結果を参照する動きベクトル探索処理も再度実行する必要がある。
このように従来の符号化技術では、処理を並列に実行させる場合にエラーが発生すると、再度実行すべき処理が多くなる。したがって、並列符号化においてエラー処理を実装することは困難であった。
特許文献1(特開2005−73245号公報)には、動きベクトルを選択するために動きの探索を行うこと、複数のマクロブロックモードにより動きベクトルの残留エラーを決定すること、少なくとも複数のマクロブロックモードの一部に対して動きベクトルからコーディングコストを評価すること、およびモードに関連する残留エラーおよびコーディングコストの両方に基づいてマクロブロックのエンコーディングのためのモードを選択することが開示されている。
特許文献2(特開2002−290978号公報)には、エラーの発生したフレーム内のマクロブロックの位置、回線のエラー発生率、エラー発生フレームと時間的に隣接するフレームとの変化量、過去のフレームの動きベクトルおよびエラーフレームと他のフレームを参照しないで符号化したフレームとの位置関係に基づき、エラーを検出した場合にも伸張処理を継続し、動画像の表示において乱れを小さくすることが開示されている。また、特許文献2には、次のフレームへのエラーの伝播を抑制し、フレーム内の部分的なノイズをなくすことが開示されている。
特開2005−73245号公報 特開2002−290978号公報
上述したように、例えばH.264規格に準拠している動画像データの符号化技術においては、符号化を並列に実行する場合にエラー処理を実装することが困難であった。
本発明は、以上のような実情に鑑みてなされたもので、画像データに対する並列符号化とエラー処理の実装とを実現するとともに、エラーが発生した場合にエラー処理を効率的に行うことを目的とする。
本発明の第1の態様に係る並列符号化装置は、画像データを分割して得られる複数の処理ブロックについて、符号化のための複数の処理モードの進行状態を示す制御情報を記憶する記憶手段と、前記記憶手段に記憶されている前記制御情報と、前記複数の処理ブロックに対する前記複数の処理モードの間の所定の依存関係とに基づいて、実行可能な処理ブロックに対する処理モードを、並列に実行する並列処理手段と、前記並列処理手段による処理においてエラーが発生したか否か判定する判定手段と、前記判定手段によってエラーが発生したと判定された場合に、前記記憶手段に記憶されている前記制御情報におけるエラー発生処理ブロックの進行状態及び前記エラー発生処理ブロックに依存している処理ブロックの進行状態を、再実行させる状態に更新する制御手段とを具備する。
本発明の第2の態様に係る並列符号化装置は、動画像データに含まれている複数のフレームのうちの1フレーム内又は前記複数のフレーム間で、並列に、動きベクトル探索処理、モード判定処理、エントロピー符号化処理を実行する並列処理手段と、前記エントロピー符号化処理においてエラーが発生したか否か判定する判定手段と、前記判定手段によってエラーが発生したと判定された場合に、エラー発生フレーム以降のフレームに対する前記動きベクトル探索処理と前記モード判定処理と前記エントロピー符号化処理とのうちの一部又は全部を、同じエラーが発生しない設定で再実行させる制御手段とを具備する。
本発明の第3の態様に係るプログラムは、複数のプロセッサを、画像データを分割して得られる複数の処理ブロックについて符号化のための複数の処理モードの進行状態を示す制御情報を記憶する記憶装置をアクセスし、前記制御情報と、前記複数の処理ブロックに対する前記複数の処理モードの間の所定の依存関係とに基づいて、実行可能な処理ブロックに対する処理モードを、並列に実行する並列処理手段として機能させ、前記複数のプロセッサを、前記並列処理手段による処理においてエラーが発生したか否か判定する判定手段として機能させ、前記複数のプロセッサを、前記判定手段によってエラーが発生したと判定された場合に、前記記憶装置に記憶されている前記制御情報におけるエラー発生処理ブロックの進行状態及び前記エラー発生処理ブロックに依存している処理ブロックの進行状態を、再実行させる状態に更新する制御手段として機能させる。
本発明の第4の態様に係る画像データの符号化方法において、複数のプロセッサは、画像データを分割して得られる複数の処理ブロックについて符号化のための複数の処理モードの進行状態を示す制御情報を記憶する記憶装置をアクセスし、前記制御情報と、前記複数の処理ブロックに対する前記複数の処理モードの間の所定の依存関係とに基づいて、実行可能な処理ブロックに対する処理モードを、並列に実行し、前記複数のプロセッサは、前記実行可能な処理ブロックに対する処理モードにおいてエラーが発生したか否か判定し、前記複数のプロセッサは、エラーが発生したと判定された場合に、前記記憶装置に記憶されている前記制御情報におけるエラー発生処理ブロックの進行状態及び前記エラー発生処理ブロックに依存している処理ブロックの進行状態を、再実行させる状態に更新する。
本発明においては、画像データに対する並列符号化とエラー処理の実装とを実現するとともに、エラーが発生した場合にエラー処理を効率的に行うことができる。
本発明の第1の実施の形態に係る符号化装置の一例を示すブロック図。 第1の実施の形態に係る符号化装置のハードウェア構成の一例を示すブロック図。 処理ブロックに対応する処理モードの間の依存関係の一例を示す図。 並列符号化の進行状態の一例を示す図。 第1の実施の形態に係る制御情報の一例を示す図。 第1の実施の形態に係る符号化装置の処理の一例を示すフローチャート。
以下、図面を参照しながら本発明の実施の形態について説明する。なお、以下の各図において同一又はほぼ同一の要素には同一の符号を付して説明を省略するか又は簡単に説明し、異なる部分についてのみ詳しく説明する。
(第1の実施の形態)
本実施の形態においては、例えばH.264規格に準拠している動画像データの符号化を並列に実行し、この符号化においてエラーが発生した場合に効率的に符号化を再実行させる並列符号化装置について説明する。
図1は、本実施の形態に係る符号化装置(エンコード装置)の一例を示すブロック図である。
本実施の形態に係る符号化装置1は、動きベクトル探索部2、モード判定部3、符号化部4、制御部5、記憶装置6を具備する。
なお、本実施の形態において動きベクトル探索部2、モード判定部3、符号化部4と、制御部5とは別構成としているが、例えば制御部5の機能を分割して、動きベクトル探索部2、モード判定部3、符号化部4に組み込むとしてもよい。
符号化部4は、エラー判定部7を具備する。なお、この符号化部4とエラー判定部7とは、分離した構成としてもよい。
記憶装置6は、符号化される動画像データ8、符号化の途中段階において生成される各種の中間データ91〜9n、符号化データ10、動画像データ8を分割して得られる複数の処理ブロック(例えばマクロブロック)について、符号化のための複数の処理モードME,IC,EC,GRの進行状態を示す制御情報11を記憶する。
記憶装置6としては、例えば主記憶装置が用いられる。この記憶装置6は、複数の記憶装置に分割されているとしてもよい。
動きベクトル探索部2、モード判定部3、符号化部4は、記憶装置6に記憶されている動画像データ8に対して動きベクトル探索処理、モード判定処理、符号化処理(例えばエントロピー符号化など)を実行し、生成された符号化データ11を記憶装置6に記憶する。動きベクトル探索処理、モード判定処理、符号化処理における処理中においては、中間データ91〜9nが、記憶装置6に記憶され、また、記憶装置6から読み出される。
動きベクトル探索部2は、制御情報11と、動きベクトル探索処理に関する処理ブロック及び処理モードの依存関係とに基づいて、動きベクトル探索処理を実行可能な処理ブロックを検索し、検索された処理ブロックに対して動きベクトル探索処理を実行する。
モード判定部3は、制御情報11と、モード判定処理に関する処理ブロック及び処理モードの依存関係とに基づいて、モード判定処理を実行可能な処理ブロックを検索し、検索された処理ブロックに対してモード判定処理を実行する。
符号化部4は、制御情報11と、符号化処理に関する処理ブロック及び処理モードの依存関係とに基づいて、符号化処理を実行可能な処理ブロックを検索し、検索された処理ブロックに対して符号化処理を実行する。
符号化部4のエラー判定部8は、符号化処理においてエラーが発生した場合、又は、符号化データ10にエラーが発生している場合に、エラー情報12を制御部5に通知する。
エラー情報12は、例えば、エラーの発生したフレーム又は処理ブロックの識別情報、エラーの種別を示す情報などを含む。
制御部5は、エラー情報12を受け付けた場合に、エラーの発生したフレーム又は処理ブロックに対して、符号化が再実行されるように、制御情報11を更新する。さらに、制御部5は、上記の各種の依存関係に基づいて、エラー発生フレーム又はエラー発生処理ブロックに依存する(符号化においてエラー発生フレーム又はエラー発生処理ブロックに対する処理の結果を参照する、又は、符号化においてエラー発生フレーム又はエラー発生処理ブロックに対する処理の影響を受ける)別のフレーム又は別の処理ブロックに対して、符号化が再実行されるように、制御情報11の示す進行状態を更新する。
上述したように、動きベクトル探索部2、モード判定部3、符号化部4は、依存関係と、フレーム又は処理ブロックに対する符号化の進行状態に基づいて、実行可能なフレーム又は処理ブロックを検索し、検索された実行可能なフレーム又は処理ブロックに対して、処理を実行する。このため、エラー発生フレーム又はエラー発生処理ブロックとこのエラー発生フレーム又はエラー発生処理ブロックに依存するフレーム又は処理ブロックのみに対して、再度符号化が実行されることになる。
なお、同じエラーが発生しないよう、再実行においては処理の設定が変更されるとしてもよい。
各種の依存関係は、動きベクトル探索部2、モード判定部3、符号化部4、制御部5に組み込まれているとしてもよく、例えば依存関係情報が記憶装置6に記憶されており、動きベクトル探索部2、モード判定部3、符号化部4、制御部5はこの依存関係情報を参照しつつ、処理を実行するとしてもよい。
本実施の形態に係る符号化装置1の動きベクトル探索部2、モード判定部3、符号化部4は、動画像データ8に含まれている複数のフレームのうちの1フレーム内又は複数のフレーム間で、並列に、動きベクトル探索処理、モード判定処理、エントロピー符号化処理を実行する。
符号化装置1のエラー判定部7は、エントロピー符号化処理においてエラーが発生したか否か判定する。
例えば、制御部5は、エラー判定部7によってエラーが発生したと判定された場合に、エラー発生フレーム以降のフレームに対する動きベクトル探索処理とモード判定処理とエントロピー符号化処理とのうちの一部又は全部を、同じエラーが発生しない設定(モード)で再実行させる。
また、例えば、制御部5は、エラー発生フレームに含まれている複数の処理ブロックのうち、エラーの発生した処理ブロック以降について、モード判定処理及びエントロピー符号化処理を再実行させ、エラー発生フレームの次のフレーム以降について、フレームの先頭からモード判定処理及びエントロピー符号化処理を再実行させる。この場合において、例えば、制御部5は、エラー発生フレームの次のフレーム以降について、エラー発生フレームで再実行された部分を参照する処理ブロックのみに対して動きベクトル探索処理を再実行させる。
さらに、例えば、制御部5は、エラー判定部7によってエラーが発生したと判定された場合に、エラー発生フレームについて、先頭から動きベクトル探索処理とモード判定処理とエントロピー符号化処理を再実行させ、エラー発生フレームの次のフレーム以降について、先頭から動きベクトル探索処理とモード判定処理とエントロピー符号化処理を再実行させるとしてもよい。
図2は、本実施の形態に係る符号化装置1のハードウェア構成の一例を示すブロック図である。
符号化装置1は、複数のプロセッサ131〜13n、バス14、記憶装置6を具備する。
プロセッサ131〜13nは、それぞれが並列に動作可能である。それぞれのプロセッサ131〜13n間では、バス14を介してデータ転送可能に接続されている。また、各プロセッサ131〜13nと記憶装置6とは、バス14を介してデータ転送可能に接続されている。
プロセッサ131〜13nは、各処理ブロックにおける符号化の進行状態を制御情報11によって管理する。
プロセッサ131〜13nは、動きベクトル探索処理とモード判定処理と符号化処理とに含まれている処理について、依存関係と制御情報11とに基づいて、いずれかの処理ブロックに対して実行可能か否か判断し、実行可能と判断された処理ブロックに対して、この実行可能な処理を実行する。
動きベクトル探索部2、モード判定部3、符号化部4、制御部5は、例えば、記憶装置6などに記憶されているプログラムが、複数のプロセッサ131〜13nによって実行されることにより実現される。
本実施の形態において、第1の処理ブロックに依存する第2の処理ブロックは、第1の処理ブロックの実行後に処理される。
本実施の形態において、第1の処理モードに依存する第2の処理モードは、第1の処理モードの実行後に実行される。
上記のような構成を持つ符号化装置1の動作について以下に説明する。
本実施の形態に係る符号化装置1では、動画像データ8に含まれている複数のフレームを、さらに複数の処理ブロックに分割し、複数のフレーム又は処理ブロックに対して並列に処理を実行する。これにより、1つのプロセッサで順番にフレーム又は処理ブロックを処理する方式に比べて、高速に符号化を行うことができる。
符号化処理時にいずれかの処理ブロック又はフレームについてエラーが発生した場合に、例えば、符号化装置1は、エラー発生処理ブロック又はエラー発生フレームに対する符号化についてモード判定処理から再実行し、さらにこのエラー発生処理ブロック又はエラー発生フレームのモード判定結果を参照する別の処理ブロック又はフレームに対する符号化についてモード判定処理から再実行する。
これにより、複数の処理ブロック又はフレームに対する並列符号化を行いながら、効率的なエラー制御を行うことができ、動画像データの符号化を高速に行うことができる。
図3は、本実施の形態に係る符号化装置1で用いられる処理ブロックに対する処理モードの間の依存関係の一例を示す図である。
本実施の形態に係る符号化装置1は、動画像データ8に含まれている複数のフレームn,n+1,…,n+Nを、さらに複数の固定幅の処理ブロックn:1,n:2,…,n+N:mに分割して管理する。
さらに、符号化装置1は、この複数の処理ブロックn:1,n:2,…,n+N:mを複数の処理モードME,IC,EC,GRに分割して管理する。ここで複数の処理モードとは、動きベクトル探索部2、モード判定部3、符号化部4において実行される符号化に含まれる処理単位である。本実施の形態において、処理モードMEは動きベクトル探索、処理モードICは画面内符号化、処理モードECはエントロピー符号化、処理モードGRは参照画像生成とする。符号化処理1は、各処理ブロックn:1,n:2,…,n+N:mに対する各種の処理モードME,IC,EC,GRを複数のプロセッサ131〜13nに分散して実行する。
ある処理ブロックに対して実行される処理モードME,IC,EC,GRには、実行順序が定められている。上記の図3において、ある処理ブロックに対して実行される処理モードの順序は、ME,IC,EC,GRである。ある処理ブロックに対して、定められた順序を変えて処理モードが実行されることはない。
さらに、処理ブロックn:1,n:2,…,n+N:mに対する処理モードME,IC,EC,GR間には、各種の依存関係が存在する。
例えば、第1の処理ブロックに対する第1の処理モードは、第2の処理ブロックに対する第2の処理モードに依存しているとする。この場合、第2の処理ブロックに対する第2の処理モードが終了していないと、第1の処理ブロックに対する第1の処理モードは実行されない。
第1の処理ブロックに対する第1の処理モードは、第2の処理ブロックに対する第2の処理モードに依存しており、さらに、第3の処理ブロックに対する第3の処理モードは、第1の処理ブロックに対する第1の処理モードに依存しているとする。この場合、第3の処理ブロックに対する第3の処理モードは、第2の処理ブロックに対する第2の処理モードにも依存していることになる。さらに、依存関係が続く場合も同様である。処理の結果から影響を受ける範囲で、依存関係は生じている。
本実施の形態に係る符号化装置1は、処理モードの依存関係、処理ブロックに対する処理モードの間の依存関係を考慮し、制御情報11におけるエラー発生処理ブロックとこのエラー発生処理ブロックに依存する処理ブロックの符号化の進行状態を、再実行に設定する。
これにより、複数のプロセッサ131〜13nを備える符号化装置1においては、同時に複数の処理を実行させることが可能であり、かつ、エラー発生時にこのエラー発生に関係する処理のみを再実行することが可能である。
上記図3において、動画像データ8は、フレームn,n+1,…,n+Nを含む。
フレームnは、処理ブロックn:1,n:2,…,n:mを含む。
フレームn+1は、処理ブロックn+1:1,n+1:2,…,n+1:mを含む。
フレームn+Nは、処理ブロックn+N:1,n+N:2,…,n+N:mを含む。
依存関係について以下に具体例を説明する。これらの依存関係は、動きベクトル探索処理、モード判定処理、エントロピー符号化処理に組み込まれているとしてもよく、依存関係情報によって管理されているとしてもよい。
第1の例において、処理ブロックn+1:2に対する処理モードMEは、処理ブロックn:3に対する処理モードGR、かつ、処理ブロックn+1:1に対する処理モードMEが全て完了していないと、実行できない。
第2の例において、処理ブロックn+1:2に対する処理モードECは、処理ブロックn+1:1に対する処理モードEC、かつ、処理ブロックn+1:2に対する処理モードICが全て完了していないと、実行できない。
第3の例において、処理ブロックn+1:2に対する処理モードICは、処理ブロックn+1:1に対する処理モードIC、かつ、処理ブロックn+1:2に対する処理モードMEが全て完了していないと、実行できない。
また、上記第2の例に関連して、例えば、各フレームn,n+1,…,n+Nの最後の処理ブロックn:m,n+1:m,…,n+N:mでは、依存関係が増える。処理ブロックn+1:mに対する処理モードECは、処理ブロックn+1:m−1に対する処理モードEC、処理ブロックn+1:mに対する処理モードIC、かつ、処理ブロックn:mに対する処理モードECが全て完了していないと、実行できない。
複数のプロセッサ131〜13nは、制御情報11を読み出し、実行可能な処理ブロックに対する処理モードを検索し、検索された処理ブロックに対する処理モードを実行し、実行終了後に制御情報11を更新し、次に実行可能な処理ブロックに対する処理モードを探す。複数のプロセッサ131〜13nは、それぞれが上記の制御を繰り返すことで、並列に動画像データ8の符号化を行う。
制御情報11は、各フレームn,n+1,…,n+Nについて、各処理ブロックn:1,n:2,…,n+N:mがどの処理モードまで終了しているのかを示す情報を含む。
図4は、符号化の進行状態の一例を示す図である。
上述したように、本実施の形態に係る符号化においては、符号化の方式に応じて、フレームn+1の処理ブロックn+1:kに対する処理モードMEは、前のフレームnの処理ブロックn:k+2に対する処理モードGRの終了後でないと開始できない、などの制約がある。
本実施の形態に係る符号化において、処理ブロックに対する符号化は、フレーム内では上の処理ブロックから下の処理ブロックへ、また、隣接するフレーム間では前のフレームの処理ブロックから後のフレームの処理ブロックへと、遷移する。
以下に、エラー制御の動作について説明する。
動画像データ8の符号化では、稀にエントロピー符号化処理中にエラーが発生する場合がある。
エラーとしては、例えば、1処理ブロックは所定のサイズ(例えば3200bit)以下であるなどのような、H.264規格で定められた条件を満たさないこと、または、符号化データ(出力ストリーム)10のレート制御がH.264規格で定められた動作モデルを満たさないこと(HRDアンダーフロー)などがある。
1処理ブロックが所定サイズを超えた場合には、以下の処理が実行される。
エラー判定部7は、1処理ブロックについて所定サイズを超えることを理由としてエラーが発生した場合、エラー発生処理ブロックの識別情報、エラー種別情報などに基づいて、エラー情報12を生成する。エラー判定部7は、エラー情報12を制御部5に通知する。
制御部5は、エラー判定部7からエラー情報12を受け付けると、複数のプロセッサ131〜13nのすべてに対して動作を停止する旨を伝える。
すべてのプロセッサ131〜13nが停止した後、制御部5は、受け取ったエラー情報12と処理ブロックに対する処理モードの依存関係とに応じて制御情報11を書き換える。
具体的には、制御部5は、エラー発生処理ブロックについて、処理モードICから符号化が再実行されるように制御情報11を書き換える。
また、制御部5は、エラー発生フレーム以降のフレームについて、エラー発生フレームを参照している処理ブロックに対する処理モードMEから処理が再実行されるように、制御情報11を書き換える。
その後、制御部5は、すべてのプロセッサ131〜13nに対して処理再開を命令する。これにより、エラー発生処理ブロックに対する処理モードIC以降に実行されるべき処理ブロックに対する処理モードがやり直され、エラーの発生していない符号化データ10が生成される。
ただし、エラー発生フレームに対して、単に処理モードICをやり直すのみでは、同じ設定(オプション、モード、処理形態)が選択され、エントロピー符号化処理時に同じエラーが発生する場合がある。このように同じエラーが発生することを防止するため、処理モードICの再実行時には、エラー情報12に基づいて、エラー発生処理ブロックについて、必ずエラーが発生しない設定(例えば、処理モードICにおいて画面内符号化をキャンセルし、画面内符号化を行わないオプションなど)が適用される。
このようなエラー発生後の再実行を含む符号化においては、一つの処理ブロックに対して複数回にわたって処理が繰り返される場合がある。この場合、処理モードICにおいて毎回エラーが発生しない設定が適用されるように、符号化装置1のエラー判定部12又は制御部5は、エラー情報12を、エントロピー符号化処理が正常終了するまで記憶装置6に記憶し、エラーが発生した場合には、この発生したエラーに対するエラー情報11を記憶装置6に追記する。
エラー発生フレーム以降のフレームは、処理モードME(動きベクトル探索)の参照フレームとして、前のフレームの処理モードIC(画面符号化)の結果を用いる。したがって、処理モードIC(画面内符号化)が再実行された第1の処理ブロックを参照する第2の処理ブロックがあれば、第2の処理ブロックに対して、処理モードME(動きベクトル探索)以降の処理が再実行されるように、制御部5は制御情報11を書き換える。
なお、上記図4に示すように、後方のフレームについては、前方のフレームよりも実効済みの処理ブロックの和が少ないため、後方のフレームについてすべての符号化を再実行させたとしても、処理性能に与える影響は少ない。したがって、エラーの発生したフレームよりもある程度後ろに位置するフレームについては、すべての処理ブロックについてすべての処理モードを再実行させるように、制御部5は制御情報11を書き換えるとしてもよい。
次に、HRDアンダーフローが発生した場合の動作について説明する。
エラー判定部7によってHRDアンダーフローが発生したと判定された場合、エラー判定部7は、エラー発生処理ブロックの識別情報、エラー種別情報などを含むエラー情報12を生成する。エラー判定部7は、生成されたエラー情報12を制御部5に通知する。
制御部5は、エラー情報12を受け付けると、すべてのプロセッサ131〜13nを停止する。すべてのプロセッサ131〜13nが停止された場合、制御部5は、制御情報11を書き換える。
例えば、エラー発生フレームのピクチャタイプが、H.264規格におけるPピクチャ又はBピクチャの場合、制御部5は、次のIピクチャ又はPピクチャまでのすべてのフレームについて、フレームの先頭から符号化を再実行するよう、制御情報11を更新する。この場合において、制御部5は、再度符号化されるフレームについて、エラー情報12に基づいて、前のフレームと同じフレームを出力させるための情報が符号化されるように(フレーム全体をスキップに設定するように)、制御情報11を設定する。
例えば、エラー発生フレームのピクチャタイプが、H.264規格におけるIピクチャの場合、制御部5は、次のPピクチャまでのすべてのフレームについて、フレームの先頭から符号化を再実行するように、制御情報11を更新する。この場合において、制御部5は、エラー情報12に基づいて、エラー発生フレームについてPピクチャとして符号化が行われ、かつ、エラー発生フレームをスキップ設定するように、制御情報11を更新する。また、制御部5は、エラー情報12に基づいて、エラー発生フレームの次のPピクチャまでのBピクチャのすべての符号化について、フレームをスキップ設定するように、制御情報11を更新する。さらに、制御部5は、エラー情報12に基づいて、エラー発生フレームの次のPピクチャがIピクチャとして符号化されるよう、制御情報11を更新する。
その後、制御部5は、すべてのプロセッサ131〜13nに処理再開を命令し、これによりエラーの発生していない符号化データ10が生成される。
図5は、本実施の形態に係る制御情報11の一例を示す図である。
この制御情報11では、少なくとも一つのフレームの識別情報と、フレームに含まれている複数の処理ブロックの識別情報とが関連付けられている。
また、制御情報11では、各処理ブロックの識別情報について、処理モードの識別情報が関連付けられている。
そして、制御情報11では、各処理モードの識別情報に対して、その処理ブロックに対して処理モードが実行済みか否かを示す情報が付される。
制御情報11をアクセスすることにより、各処理ブロックについて、どこまで処理モードが進行しているか把握可能である。
例えば、上記図5において、フレームn内の処理ブロックn:2については、処理モードME〜GRまでが実行済みであることが判断可能である。
ここで、処理ブロックn:2の処理モード(エントロピー符号化)ECでエラーが発生したとする。この場合、例えば、制御部5は、制御情報11における処理ブロックn:2の処理モードME,ICについて、再実行するために、未実行の設定を行う。
さらに、制御部5は、エラー発生処理ブロックn:2における処理モードME,ICの結果の影響を受ける他の処理ブロックにおける処理モード(エラー発生処理モードに依存している他の処理モード)について、再実行するために、未実行を設定する。
動きベクトル探索部2、モード判定部3、符号化部4は、制御情報11と、処理ブロックに対する処理モードの間の依存関係に基づいて、未実行の処理ブロックに対する処理モードのうち、参照先の処理ブロックに対する処理モードがすべて実行済みの処理モード、又は、未実行でありいずれの処理モードにも依存していない処理モードを検索し、実行する。
なお、制御情報11には、その他にも、再実行されるフレームの種別(Pピクチャ、Bピクチャ、Iピクチャ)の指定、再実行されるフレームに対するスキップ設定などの情報を含む。
図6は、本実施の形態に係る符号化装置1の処理の一例を示すフローチャートである。
ステップS1において、符号化装置1は、実行可能な処理ブロックに対して並列に符号化を実行する。
ステップS2において、エラー判定部7は、エラーが発生したか否か判定する。
エラーが発生していないと判定された場合、ステップS3において、符号化装置1は、符号化を継続するか否か判断する。符号化を継続する場合は、処理はステップS1に戻り、符号化が完了された場合には、処理は終了する。
エラーが発生したと判定された場合、ステップS4において、制御部5は、エラー発生処理ブロックの識別情報、エラー種別情報を含むエラー情報12を、制御部5に通知する。
ステップS5において、制御部5は、複数のプロセッサ131〜13nに対して、符号化の停止を命令する。
ステップS6において、制御部5は、エラー情報12に基づいて、エラー発生処理ブロック、及び、このエラー発生処理ブロックと依存関係にある処理ブロックについて、各種の処理モードの状態を更新する。また、制御部5は、エラー情報12に基づいて、エラーの発生しない設定を選択して符号化を実行するよう、制御情報11を変更する。
ステップS7において、制御部5は、複数のプロセッサ131〜13nに対して、符号化の再開、すなわち、制御情報11で実行可能となっている処理ブロックに対する処理モードの実行を命令する。これにより、処理はステップS1に戻り、並列に符号化が再実行される。
以上説明した本実施の形態においては、エラーが発生した場合であっても、並列処理への影響を抑えつつ、符号化を行うことができる。
すなわち、本実施の形態においては、エントロピー符号化処理時にエラーが発生しなかった場合には、並列に符号化を実行しても何ら影響がないため、処理スピードを高速化できる。
本実施の形態においてエントロピー符号化処理時にエラーが発生した場合には、再実行が必要な処理ブロックのみに対して、再度エラーが発生しない条件で再実行が必要な処理モードのみが実行される。このため、符号化を並列に実行し、さらにエラーの発生しないように再実行を行うことができる。本実施の形態においては、エラー発生に基づく符号化の再実行を効率化することができ、エラーの発生が符号化の速度に与える影響を低減できる。
本実施の形態においては、エラー判定部7から制御部5にエラー情報12が通知されるが、例えば、エラー判定部7はエラー情報12を記憶装置6に記憶し、制御部5は記憶装置6に記憶されたエラー情報12を読み出すとしてもよい。
本実施の形態において、各種の構成要素は自由に修正可能であり、自由に分割又は組み合わせることができる。例えば、制御部5の一部の機能(処理モード実行後に制御情報11を更新する機能など)又は全部の機能は、動きベクトル探索部2、モード判定部、符号化部に分散して組み込まれるとしてもよい。
本実施の形態において、動画像データ8に含まれるフレーム数は、1以上であればよい。また、本実施の形態において、処理ブロックは、フレームに少なくとも一つ含まれるとする。
(第2の実施の形態)
本実施の形態においては、上記第1の実施の形態に係る符号化装置1の変形例について説明する。
符号化装置1において、エラーが発生する処理ブロック及びエラー発生タイミングは事前には分からない。また、エラーの発生回数が多い動画像データが処理対象となる場合もある。
再符号化に必要となる時間は、符号化が完了するまでの時間に制限がない場合には問題とならない。しかしながら、例えば、放送用の映像符号化、テレビ会議システムにおける映像符号化などのような符号化においては、各フレームの符号化終了がある時間までに完了している必要がある。もし、符号化データの受信先において、復号時に符号化データが受信されていない場合には、動画像データの滑らかな再生が困難となる。したがって、リアルタイム性を求められる符号化では、再符号化のための時間が長くなることを回避する必要がある。
このように、リアルタイム性が必要な符号化においては、例えば、1処理ブロックのサイズが3200bitを超えたためにエラーが発生した場合であっても、規定時間までに符号化を完了させることを優先させることが望まれる場合がある。
そこで、上記第1の実施の形態において、エラー判定部7は、エラー発生フレームの出力期限を示す情報と、このエラーに対して再符号化に必要になると想定される時間とを比較し、エラー発生フレームの出力期限に余裕があると判定される場合にのみ、エラー情報12を制御部5に通知するとしてもよい。
なお、例えば、フレームの出力期限、再符号化に必要となると想定される時間などのような、エラー情報12を発生させるか否かを判断するためのエラー発生条件情報は、実験、実測、統計的、理論的観点から設定される。エラー発生条件情報は、記憶装置6に記憶されているとしてもよく、エラー判定部7に組み込まれているとしてもよい。
これにより、エラーの解消よりもリアルタイム性を優先させることができる。
本発明は、画像データの符号化の技術分野に有効である。
1…符号化装置、2…動きベクトル探索部、3…モード判定部、4…符号化部、5…制御部、6…記憶装置、7…エラー判定部、8…動画像データ、91〜9n…中間データ、10…符号化データ、11…制御情報、12…エラー情報、131〜13n…プロセッサ、14…バス、n〜n+N…フレーム、n:1〜n+N:m…処理ブロック。

Claims (7)

  1. 画像データを分割して得られる複数の処理ブロックについて、符号化のための複数の処理モードの進行状態を示す制御情報を記憶する記憶手段と、
    前記記憶手段に記憶されている前記制御情報と、前記複数の処理ブロックに対する前記複数の処理モードの間の所定の依存関係とに基づいて、実行可能な処理ブロックに対する処理モードを、並列に実行する並列処理手段と、
    前記並列処理手段による処理においてエラーが発生したか否か判定する判定手段と、
    前記判定手段によってエラーが発生したと判定された場合に、前記記憶手段に記憶されている前記制御情報におけるエラー発生処理ブロックの進行状態及び前記エラー発生処理ブロックに依存している処理ブロックの進行状態を、再実行させる状態に更新する制御手段と
    を具備する並列符号化装置。
  2. 動画像データに含まれている複数のフレームのうちの1フレーム内又は前記複数のフレーム間で、並列に、動きベクトル探索処理、モード判定処理、エントロピー符号化処理を実行する並列処理手段と、
    前記エントロピー符号化処理においてエラーが発生したか否か判定する判定手段と、
    前記判定手段によってエラーが発生したと判定された場合に、エラー発生フレーム以降のフレームに対する前記動きベクトル探索処理と前記モード判定処理と前記エントロピー符号化処理とのうちの一部又は全部を、同じエラーが発生しない設定で再実行させる制御手段と
    を具備する並列符号化装置。
  3. 請求項2記載の並列符号化装置において、
    前記制御手段は、
    前記エラー発生フレームに含まれている複数の処理ブロックのうち、エラーの発生した処理ブロック以降について、前記モード判定処理及び前記エントロピー符号化処理を再実行させ、
    前記エラー発生フレームの次のフレーム以降について、フレーム先頭から前記モード判定処理及び前記エントロピー符号化処理を再実行させる
    ことを特徴とする並列符号化装置。
  4. 請求項3記載の並列符号化装置において、
    前記制御手段は、
    前記エラー発生フレームの次のフレーム以降について、前記エラー発生フレームで再実行された部分を参照する処理ブロックのみに対して前記動きベクトル探索処理を再実行させる
    ことを特徴とする並列符号化装置。
  5. 請求項2記載の並列符号化装置において、
    前記制御手段は、前記判定手段によってエラーが発生したと判定された場合に、
    前記エラー発生フレームについて、先頭から前記動きベクトル探索処理と前記モード判定処理と前記エントロピー符号化処理を再実行させ、
    前記エラー発生フレームの次のフレーム以降について、先頭から前記動きベクトル探索処理と前記モード判定処理と前記エントロピー符号化処理を再実行させる
    ことを特徴とする並列符号化装置。
  6. 複数のプロセッサを、画像データを分割して得られる複数の処理ブロックについて符号化のための複数の処理モードの進行状態を示す制御情報を記憶する記憶装置をアクセスし、前記制御情報と、前記複数の処理ブロックに対する前記複数の処理モードの間の所定の依存関係とに基づいて、実行可能な処理ブロックに対する処理モードを、並列に実行する並列処理手段として機能させ、
    前記複数のプロセッサを、前記並列処理手段による処理においてエラーが発生したか否か判定する判定手段として機能させ、
    前記複数のプロセッサを、前記判定手段によってエラーが発生したと判定された場合に、前記記憶装置に記憶されている前記制御情報におけるエラー発生処理ブロックの進行状態及び前記エラー発生処理ブロックに依存している処理ブロックの進行状態を、再実行させる状態に更新する制御手段として機能させる
    ためのプログラム。
  7. 画像データの符号化方法において、
    複数のプロセッサは、画像データを分割して得られる複数の処理ブロックについて符号化のための複数の処理モードの進行状態を示す制御情報を記憶する記憶装置をアクセスし、前記制御情報と、前記複数の処理ブロックに対する前記複数の処理モードの間の所定の依存関係とに基づいて、実行可能な処理ブロックに対する処理モードを、並列に実行し、
    前記複数のプロセッサは、前記実行可能な処理ブロックに対する処理モードにおいてエラーが発生したか否か判定し、
    前記複数のプロセッサは、エラーが発生したと判定された場合に、前記記憶装置に記憶されている前記制御情報におけるエラー発生処理ブロックの進行状態及び前記エラー発生処理ブロックに依存している処理ブロックの進行状態を、再実行させる状態に更新する
    ことを特徴とする画像データ符号化方法。
JP2009217888A 2009-09-18 2009-09-18 並列符号化装置及びプログラム並びに画像データの符号化方法 Pending JP2011066843A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009217888A JP2011066843A (ja) 2009-09-18 2009-09-18 並列符号化装置及びプログラム並びに画像データの符号化方法
US12/881,357 US20110069761A1 (en) 2009-09-18 2010-09-14 Parallel encoding device, recording medium, and imaging data encoding method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009217888A JP2011066843A (ja) 2009-09-18 2009-09-18 並列符号化装置及びプログラム並びに画像データの符号化方法

Publications (1)

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

Family

ID=43756599

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009217888A Pending JP2011066843A (ja) 2009-09-18 2009-09-18 並列符号化装置及びプログラム並びに画像データの符号化方法

Country Status (2)

Country Link
US (1) US20110069761A1 (ja)
JP (1) JP2011066843A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013157679A (ja) * 2012-01-26 2013-08-15 Canon Inc 映像処理装置、映像処理方法およびプログラム

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013109114A1 (ko) * 2012-01-19 2013-07-25 삼성전자 주식회사 서브영역별로 엔트로피 부호화의 병렬 처리가 가능한 비디오 부호화 방법 및 장치, 서브영역별로 엔트로피 복호화의 병렬 처리가 가능한 비디오 복호화 방법 및 장치
JP2015177466A (ja) * 2014-03-17 2015-10-05 富士通株式会社 動画符号化装置、動画符号化方法および動画符号化プログラム
CN107481190B (zh) * 2017-07-04 2018-12-07 腾讯科技(深圳)有限公司 一种图像数据处理方法以及装置
CN112235578B (zh) * 2020-09-11 2021-06-18 中国科学院西安光学精密机械研究所 多模式高速率高光谱图像并行采集处理方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003244699A (ja) * 2001-12-04 2003-08-29 Matsushita Electric Ind Co Ltd 複数のプロセッサを用いた動画像符号化装置およびその方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR950009680B1 (ko) * 1992-05-19 1995-08-25 주식회사금성사 영상 압축/신장 시스템의 영상 디코더
JP4427827B2 (ja) * 1998-07-15 2010-03-10 ソニー株式会社 データ処理方法、データ処理装置及び記録媒体
US6356589B1 (en) * 1999-01-28 2002-03-12 International Business Machines Corporation Sharing reference data between multiple encoders parallel encoding a sequence of video frames
KR100634660B1 (ko) * 1999-09-13 2006-10-16 마츠시타 덴끼 산교 가부시키가이샤 부호화장치 및 부호화방법
US6944224B2 (en) * 2002-08-14 2005-09-13 Intervideo, Inc. Systems and methods for selecting a macroblock mode in a video encoder
DE102005029127A1 (de) * 2005-06-23 2007-04-19 On Demand Microelectronics Ag Verfahren und Vorrichtung zur optimierten prädiktiven Videocodierung
JP2007013419A (ja) * 2005-06-29 2007-01-18 Canon Inc 画像処理装置、画像処理方法
KR100803611B1 (ko) * 2006-11-28 2008-02-15 삼성전자주식회사 영상의 부호화, 복호화 방법 및 장치
US8379718B2 (en) * 2009-09-02 2013-02-19 Sony Computer Entertainment Inc. Parallel digital picture encoding

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003244699A (ja) * 2001-12-04 2003-08-29 Matsushita Electric Ind Co Ltd 複数のプロセッサを用いた動画像符号化装置およびその方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013157679A (ja) * 2012-01-26 2013-08-15 Canon Inc 映像処理装置、映像処理方法およびプログラム

Also Published As

Publication number Publication date
US20110069761A1 (en) 2011-03-24

Similar Documents

Publication Publication Date Title
US8861591B2 (en) Software video encoder with GPU acceleration
JP5921469B2 (ja) 情報処理装置、クラウドプラットフォーム、情報処理方法およびそのプログラム
JP6415016B2 (ja) 画像符号化装置、画像符号化方法及びプログラム
US8660191B2 (en) Software video decoder display buffer underflow prediction and recovery
US10244254B2 (en) Encoding system using motion estimation and encoding method using motion estimation
US10237554B2 (en) Method and apparatus of video encoding with partitioned bitstream
JP2010515336A (ja) ビデオ情報をデコード及びエンコードする方法及び装置
JP2009272706A (ja) 動画像トランスコード装置およびその方法
JP2003299102A (ja) ビデオ符号化システムにおけるbピクチャーモード決定方法及びその装置
US20090310678A1 (en) Image encoding apparatus, method of controlling the same and computer program
JP2008205627A (ja) 情報処理装置およびインター予測モード判定方法
JP2014011634A (ja) 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
JP2011066843A (ja) 並列符号化装置及びプログラム並びに画像データの符号化方法
JP2015012410A (ja) 画像復号装置
JP2005080123A (ja) 映像符号化装置、映像符号化制御方法及び映像符号化制御プログラム
JP4922101B2 (ja) 情報処理装置およびインター予測モード判定方法
JP2010109572A (ja) 画像処理装置、及び方法
JP2006340183A (ja) 画像符号化装置及び画像符号化方法
JP2007259323A (ja) 画像復号化装置
JP2014011572A5 (ja) 動画像予測復号装置、方法及びプログラム
JP2012147291A (ja) 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
JP5100561B2 (ja) 画像処理装置および画像処理方法
JP5236386B2 (ja) 画像復号装置及び画像復号方法
JP2006324888A (ja) 動画像符号化装置
JP2011182169A (ja) 符号化装置および方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110818

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111117

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111122

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120403