(57)【要約】【課題】参照画を参照した処理を含む符号化処理を複数のコアで並行して行う動画像符号化装置において、参照画を格納した外部メモリとコアとの間でのデータ転送量の増大を抑制する。【解決手段】動画像のフレームに対し参照画を参照した処理を含む符号化処理を行う複数のコア４Ａ〜４Ｄと、外部メモリ９に格納された参照画のうちの部分領域を外部メモリ９から読み出して保持するプリフェッチメモリ６と、動画像のフレームを複数の処理ラインに分割し、処理ラインごとに符号化処理において参照する参照画のうちの参照範囲を定めるとともに、複数のコア４Ａ〜４Ｄのそれぞれに、部分領域のうちの参照範囲を参照した処理ラインの符号化処理をさせる符号化処理制御部（全体制御部２）と、を備え、符号化処理制御部は、参照範囲が部分領域内に収まる処理ラインの数に応じて、処理ラインの符号化処理を並行して行わせるコアの数を切り替える動画像符号化装置１。【選択図】図１
2016025432.tif 000002
【特許請求の範囲】
【請求項１】
動画像のフレームに対し参照画を参照した処理を含む符号化処理を行う複数のコアと、
外部メモリに格納された前記参照画のうちの部分領域を前記外部メモリから読み出して保持するプリフェッチメモリと、
前記フレームを複数の処理ラインに分割し、前記処理ラインごとに前記符号化処理において参照する前記参照画のうちの参照範囲を定めるとともに、前記複数のコアのそれぞれに、前記部分領域のうちの前記参照範囲を参照した処理を含む前記処理ラインの符号化処理をさせる符号化処理制御部と、を備え、
前記符号化処理制御部は、
前記参照範囲が前記プリフェッチメモリで保持する前記部分領域内に収まる処理ラインの数に応じて、前記処理ラインの符号化処理を並行して行わせる前記コアの数を切り替えるコア数切替部を有する、
ことを特徴とする動画像符号化装置。
【請求項２】
前記コア数切替部は、
１枚のフレームに対する前記符号化処理の途中で前記処理ラインの符号化処理を並行して行わせる前記コアの数を少なくした場合に、符号化処理を休止した前記コアの延べ数をカウントする休止数カウント部を有し、
カウントした述べ数が予め定めたコア休止可能回数以下である場合、前記符号化処理を並行して行わせる前記コアの数を、前記参照範囲が前記部分領域内に収まる処理ラインの数にする
ことを特徴とする請求項１に記載の動画像符号化装置。
【請求項３】
前記符号化処理制御部は、
１枚のフレームにおける前記処理ラインの数を前記コアの総数で除したときの剰余を求め、前記コアの総数から前記剰余を減じた値を、前記コア休止可能回数に決定する休止可能回数決定部を有する
ことを特徴とする請求項２に記載の動画像符号化装置。
【請求項４】
前記符号化処理制御部は、
１枚のフレームの符号化処理に割り当てられた時間と、前記１枚のフレームにおける前記処理ラインの数と、前記コアの総数とに基づいて、前記コア休止可能回数を決定する休止可能回数決定部を有する
ことを特徴とする請求項２に記載の動画像符号化装置。
【請求項５】
前記符号化処理制御部は、
１個の処理ラインを一方向に並んだ複数の単位処理ブロックに分割し、前記単位処理ブロックごとに前記参照範囲を定めた後、１個の処理ラインにおける各単位処理ブロックの前記参照範囲に基づいて、１個の処理ラインに対する前記参照範囲を決定する参照範囲決定部を有する
ことを特徴とする請求項１〜４のいずれかに記載の動画像符号化装置。
【請求項６】
符号化された参照画の部分領域を外部メモリから読み出してプリフェッチメモリに保持させる第１の処理と、
動画像のフレームを複数の処理ラインに分割し、前記処理ラインごとに、符号化処理において参照する前記参照画のうちの参照範囲を定める第２の処理と、
参照画を参照した処理を含む前記符号化処理を行う複数のコアのそれぞれに異なる処理ラインの符号化処理を割り当て、前記複数のコアに前記処理ラインの符号化処理を並行して行わせる第３の処理と、
を有し、
前記第３の処理は、
前記参照範囲が前記部分領域内に収まる処理ラインの数に応じて、前記処理ラインの符号化処理を並行して行わせる前記コアの数を切り替える処理を有する
ことを特徴とする動画像符号化方法。
【請求項７】
符号化された参照画の部分領域を外部メモリから読み出してプリフェッチメモリに保持させるとともに、動画像のフレームを複数の処理ラインに分割し、前記処理ラインごとに、符号化処理において参照する前記参照画のうちの参照範囲を定め、
参照画を参照した処理を含む符号化処理を行う複数のコアのそれぞれに異なる処理ラインの符号化処理を割り当てた場合に、前記参照範囲が前記部分領域内に収まる処理ラインの数に応じて、前記処理ラインの符号化処理を並行して行わせる前記コアの数を切り替え、
前記参照範囲が前記部分領域に収まる処理ラインの符号化処理のみを前記コアに並行して行わせる処理を
コンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像符号化装置、動画像符号化方法、及びプログラムに関する。
【背景技術】
【０００２】
Moving Picture Experts Group（MPEG）やH.26x等の規格に基づいて動画像を符号化する動画像符号化装置では、動画像のフレームごとに、予測符号化、動き処理、変換符号化、量子化、エントロピー符号化等の処理を行う。この際、１枚のフレームに対する上記の処理は、１枚のフレームを複数の単位処理ブロックに分割し、単位処理ブロックごとに行う。この単位処理ブロックは、１６×１６画素等の矩形の画素ブロックであり、例えばMPEG-4規格においてはMacro Block（MB）と呼ばれ、H.265規格においてはCoding Tree Block（CTB）と呼ばれている。
【０００３】
動画像符号化装置によるフレームの符号化には、イントラ符号化とインター符号化とがある。イントラ符号化は、符号化対象のフレーム内における単位処理ブロックの空間相関関係に基づく予測処理を行った後、直交変換（離散コサイン変換等）による変換符号化、量子化、エントロピー符号化等を行う符号化処理である。一方、インター符号化は、符号化対象のフレームと既に符号化されたフレーム（以下「参照画」ともいう）との相関関係に基づいて予測処理を行った後、直交変換（離散コサイン変換等）による変換符号化、量子化、エントロピー符号化等を行う符号化処理である。
【０００４】
インター符号化における予測処理では、まず符号化対象のフレームにおける単位処理ブロックごとに、動きベクトルの探索範囲を決定する。その後、決定した動きベクトルの探索範囲を参照したブロックマッチング等を行い、参照画のうちの、符号化対象のフレームにおける単位処理ブロックとの誤差が最も小さいブロックを求める。
【０００５】
インター符号化において参照する参照画は、動画像符号化装置と接続された外部メモリに格納されている。動画像符号化装置でインター符号化を行う際には、参照画のうちの探索範囲（以下「参照範囲」ともいう）を含む部分領域を外部メモリから読み出し、動画像符号化装置が備えるプリフェッチメモリで保持する。以下、プリフェッチメモリに保持する領域を「プリフェッチ領域」という。そして、動画像符号化装置は、動き探索処理を行うコアに、プリフェッチメモリで保持するプリフェッチ領域を参照したブロックマッチングを行わせる。
【０００６】
このような動画像符号化装置には、例えば予測符号化、動き探索処理、変換符号化、及び量子化の一連の処理（以下「画像符号化」という）を行わせるコアを複数備えたものがある。この動画像符号化装置では、１枚のフレームを複数の帯状の処理ライン（MBライン、CTBライン等と呼ばれる帯状領域）に分割し、隣接する複数の処理ラインの画像符号化を、複数のコアで並行して行う。この際、１個の処理ラインは、フレームにおける水平方向に並んだ複数の単位処理ブロックからなる。また、１個の処理ラインの画像符号化は１個のコアに行わせる。
【０００７】
ところで、ある１個の単位処理ブロックに対する動きベクトルの探索範囲は、その単位処理ブロックを含む処理ラインだけでなく、隣接した他の処理ラインまで渡っている。そのため、隣接する複数の処理ラインの画像符号化を複数のコアで並行して行う場合、動き探索処理において各コアが外部メモリから読み出す参照範囲は、互いに一部分が重複する。すなわち、各コアが読み出す参照画領域をコアごとに別個に保持すると、重複した部分を別個に外部メモリから読み出すことになる。したがって、外部メモリとコアとの間でのデータ転送量が増大し、近年の高精細な動画像（例えば２Ｋ１Ｋ、４Ｋ２Ｋ、８Ｋ４Ｋ等）の符号化においては、動画像符号化装置の高性能化のボトルネックとなる。
【０００８】
外部メモリとコアとの間でのデータ転送量の増大を抑制する動画像符号化装置の１つに、参照画のうちの１つの連続したプリフェッチ領域をプリフェッチメモリで保持し、そのプリフェッチ領域を各コアに共用させるものがある（例えば、特許文献１を参照）。この種の動画像符号化装置では、各コアが、プリフェッチ領域のうちの参照範囲を読み出して画像符号化する。そのため、各コアで参照する参照範囲のうちの重複する部分を何度も外部メモリから読み出す必要が無く、外部メモリとコアとの間でのデータ転送量の増大を抑制できる。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００８−６１１５６号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、プリフェッチ領域には、プリフェッチメモリの容量に依存した上限が存在する。一方、インター符号化における各処理ラインの画像符号化（予測符号化及び動き探索処理）で参照する範囲、すなわちプリフェッチ領域から読み出す参照範囲は、処理ラインごとに異なる。そのため、複数の処理ラインの予測符号化及び動き探索処理を全てのコアで並行して行う場合、複数の処理ラインの中に、参照範囲の一部がプリフェッチ領域からはみ出してしまう処理ラインが含まれることがある。
【００１１】
このように、参照範囲がプリフェッチ領域からはみ出た処理ラインの予測符号化及び動き探索処理をするには、プリフェッチ領域からはみ出た部分と対応する参照画内の領域を、外部メモリから追加で読み出す必要がある。すなわち、プリフェッチ領域とは別の領域を外部メモリから追加で読み出すことになり、外部メモリとコアとの間でのデータ転送量が増大する。
【００１２】
本発明の１つの側面に係る目的は、参照画を参照した処理を含む符号化処理を複数のコアで並行して行う動画像符号化装置において、参照画を格納した外部メモリとコアとの間でのデータ転送量の増大を抑制することである。
【課題を解決するための手段】
【００１３】
本発明の１つの態様である動画像符号化装置は、参照画を参照した処理を含む動画像の符号化処理を行う複数のコアと、外部メモリに格納された前記参照画のうちの部分領域を前記外部メモリから読み出して保持するプリフェッチメモリと、前記動画像のフレームを複数の処理ラインに分割し、前記処理ラインごとに前記符号化処理において参照する前記参照画のうちの参照範囲を定めるとともに、前記複数のコアのそれぞれに、前記部分領域のうちの前記参照範囲を参照した処理を含む前記処理ラインの符号化処理をさせる符号化処理制御部と、を備え、前記符号化処理制御部は、前記参照範囲が前記プリフェッチメモリで保持する前記部分領域内に収まる処理ラインの数に応じて、前記処理ラインの符号化処理を並行して行わせる前記コアの数を切り替えるコア数切替部を有する。
【発明の効果】
【００１４】
上述の態様によれば、参照画を参照した処理を含む符号化処理を複数のコアで並行して行う動画像符号化装置において、参照画を格納した外部メモリとコアとの間でのデータ転送量の増大を抑制することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の第１の実施形態に係る動画像符号化装置の構成を示すブロック図である。
【図２】第１の実施形態に係る動画像符号化方法における主要な処理の手順を示すフローチャートである。
【図３】フレームの分割方法を説明する模式図である。
【図４】１７個の処理ラインを４個のコアで画像符号化する場合の処理の割り当て方法を説明する模式図である。
【図５】図２のステップＳ６の処理手順を示すフローチャートである。
【図６】探索範囲の決定方法の一例を説明する模式図である。
【図７】並行して画像符号化される４個の処理ラインの探索範囲とプリフェッチ領域との関係を示す模式図である。
【図８】探索範囲がプリフェッチ領域からはみ出した場合の画像符号化を説明する模式図である。
【図９】１枚のフレームに対する画像符号化の途中でコアが休止した場合の、以後の処理を説明する模式図である。
【図１０】探索範囲の決定方法の別の例を説明する模式図である。
【図１１】本発明の第２の実施形態に係る動画像符号化方法における主要な処理の手順を示すフローチャートである。
【図１２】図１１のステップＳ６１５の処理手順を示すフローチャートである。
【図１３】コアの休止可能回数を追加できる場合の一例を説明する模式図である。
【図１４】図１２のステップＳ６１５ｃが行われた場合の、以後の処理を説明する模式図である。
【図１５】本発明の第３の実施形態に係るコアの休止可能回数の決定方法を説明する模式図である。
【図１６】６８個の処理ラインを４個のコアで符号化する場合の処理の割り当て方法を説明する模式図である。
【発明を実施するための形態】
【００１６】
以下、図面を参照しながら、本発明の実施形態を詳細に説明する。
なお、本明細書では、動画像のフレームの符号化処理を、画像符号化とエントロピー符号化とに分ける。また、本明細書では、画像符号化は、エントロピー符号化を行う前の符号化処理であり、動き探索処理、予測符号化、変換処理、量子化、逆量子化、逆変換処理、及び動き補償処理を含む一連の処理を意味する。
【００１７】
（第１の実施形態）
図１は、本発明の第１の実施形態に係る動画像符号化装置の構成を示すブロック図である。
【００１８】
図１に示すように、第１の実施形態に係る動画像符号化装置１は、全体制御部２と、前処理部３と、画像符号化部４と、エントロピー符号化部５と、プリフェッチメモリ６と、データ転送ＩＦ部７とを備える。
【００１９】
全体制御部２は、動画像における各フレーム（画面）の符号化処理を制御する。この全体制御部２は、１枚のフレームを複数の帯状の処理ラインに分割し、前処理部３、画像符号化部４、及びエントロピー符号化部５のそれぞれに、所定の処理を処理ラインごとに行わせる。なお、本明細書における処理ラインは、H.265規格におけるCTBライン、あるいはMPEG-4規格におけるMBラインに相当する。
【００２０】
また、全体制御部２は、外部メモリ９に格納された参照画のうちの部分領域（プリフェッチ領域）を、プリフェッチメモリ６に保持させる。プリフェッチメモリ６は、全体制御部２からの制御信号に基づき、データ転送ＩＦ部７を介して外部メモリ９にアクセスし、プリフェッチ領域を読み出して保持する。なお、外部メモリ９に格納された参照画は、符号化対象の動画像におけるフレームのうちの、既に符号化されたフレーム（ピクチャ）である。
【００２１】
前処理部３は、参照画を参照した処理を含む画像符号化を行う際の前処理として、処理ラインごとの動きベクトルの探索範囲、すなわち参照画内の参照範囲を決定するための粗動きベクトルを求める処理を行う。この前処理部３は、第１コア３Ａ〜第４コア３Ｄの、４個のコアを有する。前処理部３の第１コア３Ａ〜第４コア３Ｄは、全体制御部２からの制御信号に基づき、それぞれが粗動きベクトルを求める処理を独立して行う。本実施形態において、全体制御部２は、１個の処理ラインに対する前処理を１個のコアに割り当てる。すなわち、前処理部３は、４個の処理ラインの粗動きベクトルを求める処理を、第１コア３Ａ〜第４コア３Ｄにより並行して行う。
【００２２】
画像符号化部４は、処理ラインごとに画像符号化を行い、中間データを作成する。また、画像符号化部４は、例えばフレーム間予測により動きベクトルを探索する際等に、参照画のうちの前処理部３で決定した探索範囲を参照した処理を行う。この画像符号化部４は、第１コア４Ａ〜第４コア４Ｄの、４個のコアを有する。画像符号化部４の第１コア４Ａ〜第４コア４Ｄは、全体制御部２からの制御信号に基づき、それぞれが画像符号化を独立して行う。本実施形態において、全体制御部２は、１個の処理ラインに対する画像符号化を１個のコアに割り当てる。すなわち、画像符号化部４は、４個の処理ラインの画像符号化を、第１コア４Ａ〜第４コア４Ｄにより並行して行う。また、画像符号化部４の第１コア４Ａ〜第４コア４Ｄは、プリフェッチメモリ６で保持する１つのプリフェッチ領域を共有し、それぞれ、プリフェッチ領域のうちの、画像符号化する処理ラインにおける探索範囲を読み出して参照する。なお、画像符号化部４の第１コア４Ａ〜第４コア４Ｄには、上記のプリフェッチ領域を参照した画像符号化（インター符号化）に限らず、プリフェッチ領域を参照しない画像符号化（イントラ符号化）を行わせることもできる。
【００２３】
エントロピー符号化部５は、画像符号化部４により画像符号化された中間データに対してエントロピー符号化を行う。このエントロピー符号化部５は、第１コア５Ａ〜第４コア５Ｄの、４個のコアを有する。エントロピー符号化部５の第１コア５Ａ〜第４コア５Ｄは、全体制御部２からの制御信号に基づき、それぞれがエントロピー符号化を独立して行う。
【００２４】
上記の動画像符号化装置１は、コンピュータやハードウェアに、以下に説明するような処理を行わせることで実現する。この際、全体制御部２、前処理部３、画像符号化部４、及びエントロピー符号化部５による処理は、Central Processing Unit（CPU）、Digital Signal Processor（DSP）等のプロセッサやハードウェアが行う。また、全体制御部２、前処理部３、画像符号化部４、及びエントロピー符号化部５は、データ転送ＩＦ部７及び図示しないバスを介してSDRAM等の外部メモリ９にアクセスし、符号化する動画像のフレームや画像符号化時に参照する参照画を取得する。
【００２５】
図２は、第１の実施形態に係る動画像符号化方法における主要な処理の手順を示すフローチャートである。
【００２６】
本実施形態の動画像符号化装置１において動画像を符号化する際、全体制御部２は、図２に示したような手順により前処理部３及び画像符号化部４で行う処理を制御する。全体制御部２は、まず符号化する動画像における１フレームの処理ライン数ＮＣＴＢＬを決定する（ステップＳ１）。ステップＳ１は、１フレームの画像サイズ（水平方向及び垂直方向の画素数）と、符号化する際の単位処理ブロックのサイズ（水平方向及び垂直方向の画素数）とにより決定する。
【００２７】
次に、画像符号化部４のコア数ＮＣ及び１フレームの処理ライン数ＮＣＴＢＬから、画像符号化部４のコアの休止可能回数ＮＩＣを決定する（ステップＳ２）。
【００２８】
このステップＳ１，Ｓ２の処理の具体例を、図３及び図４を参照しながら説明する。
図３は、フレームの分割方法を説明する模式図である。図４は、１７個の処理ラインを４個のコアで画像符号化する場合の処理の割り当て方法を説明する模式図である。
【００２９】
図３に示すように、１枚のフレーム１００を符号化する際には、例えばフレーム１００を複数の単位処理ブロックＢＫに分割し、単位処理ブロックＢＫごとに符号化する。この単位処理ブロックＢＫは、H.265規格におけるCoding Tree Block（CTB）、MPEG-4規格におけるMacro Block（MB）等に相当する。本実施形態では、フレーム１００における水平方向に並んだ複数の単位処理ブロックＢＫからなる帯状領域（単位処理ブロック列）を１個の処理ラインＬとし、１個の処理ラインＬの画像符号化を画像符号化部４の１個のコアに行わせる。
【００３０】
フレーム１００の画像サイズが１９２０×１０８０画素（いわゆる２Ｋ１Ｋ）、単位処理ブロックＢＫのサイズが６４×６４画素の場合、フレーム１００は１７個の処理ラインＬ（Ｌ０〜Ｌ１６）に分割される。なお、この場合、例えば最下段の処理ラインＬ（Ｌ１６）は、単位処理ブロックが６４×５６画素となる。また、以下の説明では、処理ラインＬについて、フレーム１００内での位置による区別をする場合は、フレーム１００の左方側に記載した０〜１６の番号を付した符号Ｌ０〜Ｌ１６により区別する。
【００３１】
この１７個の処理ラインＬを画像符号化部４の４個のコア（第１コア４Ａ〜第４コア４Ｄ）で画像符号化する場合には、フレーム１００の上端側から、隣接する４個の処理ラインＬを１組とし、図４に示すように、１組の処理ラインＬの画像符号化を第１コア４Ａ〜第４コア４Ｄに並行して行わせる。例えば、フレーム１００における最上段の処理ラインＬ０を含む４個の処理ラインＬ０〜Ｌ３の画像符号化は、それぞれ第１コア４Ａ〜第４コア４Ｄに並行して行わせる。
【００３２】
このようにすると、図４に示すように、フレーム１００における最下段の処理ラインＬ（Ｌ１６）を第１コア４Ａで画像符号化している間、第２コア４Ｂ〜第４コア４Ｄは画像符号化する処理ラインがないため休止している。このとき、図４に示すように、休止している３個のコア４Ｂ〜４Ｄで仮想の画像符号化（図４に点線で示した画像符号化）を行ったとしても、画像符号化の終了時刻が１フレームの画像符号化に割り当てられた時間Ｔpicに収まるのであれば、次のことが言える。すなわち、最後の処理ラインＬ１６を画像符号化する際に限らず、任意の箇所で述べ３回コアを休止させても、時間Ｔpic内にフレーム１００の画像符号化が終了する。
【００３３】
本実施形態では、このように、最後の処理ラインＬを画像符号化する際に休止しているコアに着目し、休止しているコアの数（図４に示した例では３）を休止可能回数ＮＩＣとする。休止可能回数ＮＩＣは、１フレームあたりの処理ラインＬの数をＮＬ、画像符号化部４のコアの総数をＮＣとした場合に、下記数式１により算出される。
ＮＩＣ＝ＮＣ−（ＮＬ％ＮＣ）  ・・・（数式１）
【００３４】
なお、数式１におけるＮＬ％ＮＣは、ＮＬをＮＣで除算したときの剰余を意味する。例えば、ＮＬ＝１７、ＮＣ＝４の場合、ＮＬ％ＮＣ＝１となる。従って、ＮＬ＝１７、ＮＣ＝４の場合、ＮＩＣ＝３となる。
【００３５】
こうして画像符号化部４のコアの休止可能回数ＮＩＣを決定したら、全体制御部２は、図２に示すように、次に、画像符号化するフレームを選択する（ステップＳ３）。フレームの符号化は、他の符号化済みのフレーム（参照画）を参照するか否かにより、イントラ符号化とインター符号化とに大別される。動画像を符号化する際には、時間的に連続する数枚〜十数枚のフレームに１枚の割合でイントラ符号化を行い、他のフレームはインター符号化を行う。イントラ符号化は、符号化対象のフレーム内における単位処理ブロックの空間相関関係に基づいて画像符号化を行う符号化であり、参照画を参照した処理を含まない。一方、インター符号化は、既に符号化されたフレームとの相関関係に基づいて画像符号化を行う符号化であり、参照画を参照した処理を含む。そのため、全体制御部２は、次に、選択したフレームがイントラ符号化のみを行うフレーム（イントラピクチャ）であるか否かを判別する（ステップＳ４）。
【００３６】
選択したフレームがイントラ符号化のみを行うフレーム（イントラピクチャ）である場合（ステップＳ４；Ｙｅｓ）、全体制御部２は、選択したフレームのみによる画像符号化を画像符号化部４に行わせる（ステップＳ５）。この際、画像符号化部４の各コア４Ａ〜４Ｄには、例えば周知である種々のイントラ符号化方法のいずれかを用いた画像符号化を行わせる。
【００３７】
一方、選択したフレームがイントラ符号化のみを行うフレームではない場合（ステップＳ４；Ｎｏ）、全体制御部２は、参照画を参照した処理を含む画像符号化（インター符号化、またはイントラ符号化）を画像符号化部４の各コア４Ａ〜４Ｄに行わせる（ステップＳ６）。
【００３８】
図５は、図２のステップＳ６の処理手順を示すフローチャートである。なお、図５には、４個の処理ラインのうちの１個の処理ラインにおける探索範囲（参照範囲）がプリフェッチ領域からはみ出す可能性を想定した処理手順を示している。
【００３９】
参照画を参照した処理を含む画像符号化を行う場合、全体制御部２は、図５に示すように、まず処理ライン番号ｉを初期化する（ステップＳ６０１）。処理ライン番号ｉは、図３に示したように、フレーム１００における最上段の処理ラインＬから順に付した通し番号である。図３に示した例では、最上段の処理ラインＬの番号を０（零）にしているため、ステップＳ６０１ではｉ＝０にしている。
【００４０】
次に、全体制御部２は、前処理部３が求めた粗動きベクトルに基づいて、処理ライン番号がｉからｉ＋ＮＣ−１までの処理ラインについての動きベクトルの探索範囲を決定する（ステップＳ６０２）。例えば、ｉ＝０、ＮＣ＝４の場合、ステップＳ６０２の処理では、４個の連続した処理ラインＬ０〜Ｌ３についての動きベクトルの探索範囲を決定する。この際、全体制御部２は、前処理部３の第１コア３Ａ〜第４コア３Ｄが求めた粗動きベクトルに基づいて、処理ラインＬ０〜Ｌ３それぞれの探索範囲を決定する。
【００４１】
なお、１枚のフレーム１００の処理ラインＬがコアの数ＮＣの整数倍ではなく、かつ最後の処理ラインＬを含む未処理の処理ラインについての探索範囲を決定する場合、ステップＳ６０２では、１個〜３個の処理ラインについての探索範囲を決定する。
【００４２】
図６は、探索範囲の決定方法の一例を説明する模式図である。なお、図６の（ａ）は、縮小画像による処理ラインＬの動きベクトルの一例を示す模式図、図６の（ｂ）は、縮小画像の動きベクトルに基づいた実寸画像（フレーム）での探索範囲の決定方法を示す模式図である。
【００４３】
フレーム１００における処理ラインＬは、上記のように複数の単位処理ブロックＢＫが水平方向に並んでいる（図３を参照）。そのため、処理ラインＬについての動きベクトルの探索範囲を決定する際には、まず各単位処理ブロックＢＫの動きベクトルの探索範囲を決定する。
【００４４】
単位処理ブロックＢＫの動きベクトルの探索範囲は、縮小画像による動きベクトル探索（Motion Estimation：ＭＥ）を行って求める。このとき、前処理部３の各コア３Ａ〜３Ｄは、まず、図６の（ａ）に示すように、縮小画像２００におけるｎ番目の処理ラインＬ’に含まれる単位処理ブロックＢＫ’についての動きベクトル（粗動きベクトル）ｍｖ０、ｍｖ１、ｍｖ２、ｍｖ３、・・・を求める。縮小画像２００は、符号化対象のフレームを縮小した画像であり、例えばフレーム１００における６４×６４画素の単位処理ブロックＢＫを１６×１６画素の単位処理ブロックＢＫ’に縮小している。縮小画像２００の動きベクトルは、縮小画像２００と縮小参照画とによるフレーム間予測により求める。縮小参照画は、符号化対象のフレームを画像符号化する際に参照する参照画に対応するピクチャを、縮小画像２００と同様の縮小率で縮小した画像である。縮小画像２００及び縮小参照画は、前処理部３の各コア３Ａ〜３Ｄのそれぞれがデータ転送ＩＦ部７を介して外部メモリ９にアクセスして読み出す。なお、縮小画像２００における各単位処理ブロックＢＫ’の動きベクトルは、例えば周知である種々の決定方法のいずれかを用いて決定すればよい。
【００４５】
次に、全体処理部２は、各コア３Ａ〜３Ｄが求めた縮小画像２００における各単位処理ブロックＢＫ’の動きベクトル（粗動きベクトル）ｍｖ０、ｍｖ１、ｍｖ２、・・・から、図６の（ｂ）に示すように、フレーム１００における各単位処理ブロックＢＫの予想動きベクトルＭＶ０、ＭＶ１、ＭＶ２、・・・を求める。予想動きベクトルＭＶ０、ＭＶ１、ＭＶ２、・・・は、例えば縮小画像２００の縮小率（フレーム１００と縮小画像２００とのサイズの比）に基づいて動きベクトルｍｖ０、ｍｖ１、ｍｖ２、・・・をスケーリングして求める。そして、この予想動きベクトルＭＶ０、ＭＶ１、ＭＶ２、・・・から、各単位処理ブロックＢＫの探索中心及び探索範囲ＳＢ０、ＳＢ１、ＳＢ２、・・・を決定する。その後、各単位処理ブロックＢＫの探索範囲ＳＢ０、ＳＢ１、ＳＢ２、・・・を全て含むように、ｎ番目の処理ラインＬにおける垂直方向の探索範囲ＳＬｎを決定する。
【００４６】
こうして各処理ラインについての動きベクトルの探索範囲が決定したら、全体制御部２は、次に、コアの休止可能回数ＮＩＣが０であるか否かを判別する（ステップＳ６０３）。ＮＩＣ＝０の場合（ステップＳ６０３；Ｙｅｓ）、全体制御部２は、画像符号化部４の第１コア４Ａ〜第４コア４Ｄに、処理ライン番号がｉからｉ＋ＮＣ−１までの処理ラインの画像符号化を並行して行わせる（ステップＳ６０４）。このとき、全体制御部２は、画像符号化部４の第１コア４Ａ〜第４コア４Ｄに対して、画像符号化させる処理ライン及び参照画を参照した処理を含む画像符号化を行うことを指定した制御信号を送信する。制御信号を受信した第１コア４Ａ〜第４コア４Ｄは、データ転送ＩＦ部７を介して外部メモリ９から処理ラインの原画データを読み出すとともに、プリフェッチメモリ６から所定の探索範囲を読み出して画像符号化を行う。ステップＳ６０４の処理において、画像符号化部４の各コア４Ａ〜４Ｄは、まず、プリフェッチメモリ６から読み出した探索範囲を用いた動き探索処理を行い、単位処理ブロックＢＫごとに、参照画のうちの単位処理ブロックＢＫに対する誤差が最も小さいブロックを検出する。その後、単位処理ブロックＢＫと検出したブロックとの差分に対し変換符号化を行い、変換係数を量子化する。ステップＳ６０４で行う動き探索処理、フレーム間予測、変換符号化及び量子化は、それぞれ、例えば周知である方法を用いて行えばよい。また、ステップＳ６０４の後、全体制御部２は、処理ライン番号ｉをｉ＋ＮＣに更新する（ステップＳ６０５）。
【００４７】
ＮＩＣ≠０（ＮＩＣ＞０）の場合（ステップＳ６０３；Ｎｏ）、全体制御部２は、次に、各処理ラインの探索範囲がプリフェッチ領域からはみ出すか否かを判定する（ステップＳ６０６）。探索範囲がプリフェッチ領域からはみ出す処理ラインが無い場合（ステップＳ６０６；Ｎｏ）は、画像符号化部４にステップＳ６０４の処理をさせるとともに、ステップＳ６０５の処理を行う。一方、探索範囲がプリフェッチ領域からはみ出す処理ラインが有る場合（ステップＳ６０６；Ｙｅｓ）、全体制御部２は、例えば図５に示したように、画像符号化部４に、処理ライン番号がｉからｉ＋ＮＣ−２までの処理ラインの画像符号化を並行して行わせる（ステップＳ６０７）。なお、ステップＳ６０７の処理は、後述するように、処理ライン番号がｉ＋ＮＣ−１の処理ラインにおける探索範囲がプリフェッチ領域からはみ出した場合の処理である。このとき、全体制御部２は、例えば画像符号化部４の第１コア４Ａ〜第３コア４Ｃの３個のコアに対して、画像符号化させる処理ライン及び参照画を参照した処理を含む画像符号化を行うことを指定した制御信号を送信する。制御信号を受信した第１コア４Ａ〜第３コア４Ｃは、データ転送ＩＦ部７を介して外部メモリ９から処理ラインの原画データを読み出して取得するとともに、プリフェッチメモリ６から所定の探索範囲を読み出して画像符号化を行う。ステップＳ６０７の処理において、画像符号化部４の第１コア４Ａ〜第３コア４Ｃは、ステップＳ６０４の処理と同様の動き探索処理、フレーム間予測、変換符号化、及び量子化を行う。また、ステップＳ６０７の後、全体制御部２は、処理ライン番号ｉをｉ＋ＮＣ−１に更新するとともに、コアの休止可能回数ＮＩＣをＮＩＣ−１に更新する（ステップＳ６０８）。なお、ステップＳ６０７，Ｓ６０８は、後述するように、処理ライン番号がｉ＋ＮＣ−１の処理ラインにおける探索範囲がプリフェッチ領域からはみ出した場合の処理である。
【００４８】
こうして、ステップＳ６０４，Ｓ６０５の処理、又はステップＳ６０７，Ｓ６０８の処理が済むと、全体制御部２は、次に、更新した処理ライン番号ｉが処理ライン数ＮＣＴＢＬよりも大きいか否かを判定する（ステップＳ６０９）。ｉ≦ＮＣＴＢＬの場合（ステップＳ６０９；Ｎｏ）は、画像符号化をしていない処理ラインが有るため、ステップＳ６０２に戻り画像符号化を続ける。一方、ｉ＞ＮＣＴＢＬの場合（ステップＳ６０９；Ｙｅｓ）、１フレームにおける全ての処理ラインの画像符号化が終了しているため、ステップＳ６の符号化処理を終了し、図２に示した処理に戻る。
【００４９】
ステップＳ５又はステップＳ６により、選択したフレームの画像符号化を行った後は、画像符号化が済んでいないフレームが有るか否かを判定する（ステップＳ７）。
【００５０】
画像符号化をしていないフレームが有る場合（ステップＳ７；Ｙｅｓ）、ステップＳ３に戻り、フレームの画像符号化を続ける。一方、画像符号化をしていないフレームが無い場合（ステップＳ７；Ｎｏ）、前処理部３による前処理及び画像符号化部４による画像符号化処理を終了する。
【００５１】
なお、画像符号化部４の第１コア４Ａ〜第４コア４Ｄは、処理ラインの画像符号化が終了すると、終了したことを全体制御部２に出力するとともに、画像符号化した処理ライン（中間データ）をデータ転送ＩＦ部７を介して外部メモリ９に保持させる。そして、全体制御部２は、例えば１フレーム分の画像符号化が終了すると、エントロピー符号化部５の第１コア５Ａ〜第４コア５Ｄに、画像符号化が終了したフレームに対するエントロピー符号化を行わせる。なお、エントロピー符号化は、画像符号化とは異なり、参照画を参照した処理を含まない符号化である。そのため、第１コア５Ａ〜第４コア５Ｄは、それぞれ、符号化対象のフレーム内の中間データを外部メモリ９から順次読み出し、その中間データ内の値に基づいてエントロピー符号化を行う。本実施形態の動画像符号化装置１において、エントロピー符号化は、例えば周知である種々のエントロピー符号化方法のいずれかを用いて行えばよい。
【００５２】
図７は、並行して画像符号化される４個の処理ラインの探索範囲とプリフェッチ領域との関係を示す模式図である。
【００５３】
本実施形態の動画像符号化装置１のように、画像符号化部４が第１コア４Ａ〜第４コア４Ｄの４個のコアを有する場合、４個の連続した処理ラインの画像符号化を並行して行うことができる。そのため、図７に示すように、１つのフレーム１００を１７個の処理ラインＬに分割し、最上段の処理ラインＬ（Ｌ０）から順に画像符号化する場合、処理ラインＬ４〜Ｌ７の画像符号化を並行して行うことができる。このとき、プリフェッチメモリ６に保持されるプリフェッチ領域ＰＦ（図７の網掛けを付した領域）は、プリフェッチメモリ６の容量と、４個の処理ラインＬ４〜Ｌ７のうちの上端の処理ラインＬ４における探索範囲ＳＬ４とにより定まる。処理ラインＬ４における探索範囲ＳＬ４は、処理ラインＬ４の画像符号化を行う単位処理ブロックＢＫの位置と、上記のステップＳ６０２で決定した探索範囲とにより定まる。また、他の処理ラインＬ５〜Ｌ７における探索範囲ＳＬ５〜ＳＬ７は、それぞれ、画像符号化を行う単位処理ブロックＢＫの位置と、上記のステップＳ６０２で決定した探索範囲とにより定まる。
【００５４】
このとき、４個の処理ラインＬ４〜Ｌ７における探索範囲ＳＬ４〜ＳＬ７が、図７に示したように、全てプリフェッチ領域ＰＦに収まる場合、４個の処理ラインを並行して画像符号化する４個のコア４Ａ〜４Ｄで１つのプリフェッチ領域ＰＦを共用できる。このように、１つのプリフェッチ領域ＰＦを４個のコア４Ａ〜４Ｄで共用し、４個の処理ラインＬ４〜Ｌ７の画像符号化を並行して行うことにより、探索範囲ＳＬ４〜ＳＬ７の重複部分の読み出し回数を１回にすることができる。そのため、コア４Ａ〜４Ｄごとに別個にプリフェッチ領域を外部メモリ９から読み出す場合に比べて、コア４Ａ〜４Ｄと外部メモリ９との間でのデータ転送量を低減できる。
【００５５】
図８は、探索範囲がプリフェッチ領域からはみ出した場合の画像符号化を説明する模式図である。なお、図８の（ａ）は、４個の処理ラインのうちの下端の処理ラインについての探索範囲がプリフェッチ領域からはみ出した場合の一例を示す模式図であり、図８の（ｂ）は、画像符号化を並行して行うコアの数を減らした例を示す模式図である。
【００５６】
本実施形態の動画像符号化方法では、上記のように、１枚のフレーム１００を１７個の処理ラインＬに分割し、最上段の処理ラインＬ（Ｌ０）から順に画像符号化する場合、処理ラインＬ４〜Ｌ７の画像符号化を並行して行うことができる（図７を参照。）。
【００５７】
しかしながら、プリフェッチメモリ７に保持されるプリフェッチ領域ＰＦ（図７の網掛けを付した領域）は、プリフェッチメモリ７の容量と、４個の処理ラインＬ４〜Ｌ７のうちの上端の処理ラインＬ４における探索範囲ＳＬ４とにより定まる。一方、各処理ラインＬ４〜Ｌ７の探索範囲ＳＬ４〜ＳＬ７は、処理ラインごとに決定される。そのため、処理ラインＬ４〜Ｌ７の画像符号化を並行して行わせようとした場合に、図８の（ａ）に示すように、下端の処理ラインＬ７における探索範囲ＳＬ７がプリフェッチ領域ＰＦからはみ出してしまうことがある。この場合、下端の処理ラインＬ７に対する予測符号化及び動き処理を行うには、探索範囲ＳＬ７のうちのプリフェッチ領域ＰＦからはみ出した部分と対応する領域を外部メモリ９から追加で読み出す必要がある。そのため、外部メモリ９と画像符号化部４の第４コア４Ｄとの間でのデータ転送量が増大してしまう。
【００５８】
これに対し、本実施形態の動画像符号化方法では、処理ラインＬ７の探索範囲ＳＬ７がプリフェッチ領域ＰＦからはみ出した場合、図８の（ｂ）に示すように、探索範囲がプリフェッチ領域ＰＦに収まる処理ラインＬ４〜Ｌ６の画像符号化のみを並行して行う。すなわち、全体制御部２は、探索範囲がプリフェッチ領域ＰＦに収まる処理ラインの数に応じて、画像符号化を並行して行うコアの数を３個に切り替える。これにより、プリフェッチ領域ＰＦとは別の領域を外部メモリ９から追加で読み出さずに画像符号化を行うことができる。そのため、外部メモリ９と画像符号化部４のコア４Ａ〜４Ｄとの間でのデータ転送量の増大を抑制できる。
【００５９】
なお、図８の（ｂ）に示すように、処理ラインＬ４〜Ｌ７のうちの処理ラインＬ４〜Ｌ６の画像符号化を並行して行う場合、処理ラインＬ４〜Ｌ６とともに処理ラインＬ７の画像符号化を行う予定であった第４コア４Ｄは動作を休止する。そして、図５に示したステップＳ６０９からＳ６０２に戻ると、全体制御部２は、次に処理ラインＬ７〜Ｌ１０に対し、ステップＳ６０２以降の処理を行う。
【００６０】
図９は、１枚のフレームに対する画像符号化の途中でコアが休止した場合の、以後の処理を説明する模式図である。
【００６１】
処理ラインＬ４〜Ｌ７のうちの処理ラインＬ４〜Ｌ６の画像符号化を並行して行う場合、図９に示すように、第１コア４Ａ〜第３コア４Ｃで処理ラインＬ４〜Ｌ６の符号化を行い、第４コア４Ｄを休止させる。そして、処理ラインＬ７〜Ｌ１０の画像符号化を行わせる際には、処理ラインＬ４の画像符号化を終了した第１コア４Ａに処理ラインＬ７の画像符号化を行わせる。以後、第２コア４Ｂ〜第４コア４Ｄによる処理ラインＬ８〜Ｌ１０の符号化を処理ラインＬ７の画像符号化と並行して行わせる。すなわち、第３コア４Ｃによる処理ラインＬ６の画像符号化を開始した後、第４コア４Ｄを休止させたことにより、処理ラインＬ７以降の画像符号化を行うコアが１つずつずれる。これにより、最後の処理ラインＬ１６の画像符号化は、隣接する処理ラインＬ１５の画像符号化と並行して行われるため、この場合、最後の処理ラインＬ１６の画像符号化が終了する時刻は、途中でコアが休止しない場合（図４に示した場合）に比べて遅延が最小限に抑えられる。図９に示したように、１フレームの画像符号化に割り当てられた時間Ｔpic内に全ての処理ラインの画像符号化が終了すれば、画像符号化の遅延は起こらない。したがって、時間Ｔpic内に全ての処理ラインの画像符号化が終了するようにコアの休止可能回数ＮＩＣを決定することで、画像符号化の遅延を防げる。
【００６２】
上記のように、第１の実施形態の動画像符号化装置によれば、画像符号化におけるプリフェッチ領域ＰＦを参照した処理を複数のコアで並行して行う際に、プリフェッチ領域ＰＦとは別の領域を外部メモリから追加で読み出さずに行うことができる。そのため、外部メモリ９と画像符号化部４のコア４Ａ〜４Ｄと間でのデータ転送量の増大を抑制できる。
【００６３】
また、１枚のフレームを符号化する際のコアの休止可能回数ＮＩＣを定めることで、画像符号化の遅延を抑制できる。この際、途中でコアを休止させることなく画像符号化をし、最後の処理ラインを画像符号化しているときに休止するコアの数を休止可能回数に定めることで、遅延を最小限に抑えることができる。
【００６４】
更に、探索範囲がプリフェッチ領域ＰＦからはみ出した場合に、プリフェッチ領域ＰＦ内に収まるよう探索範囲を制限（縮小）することもないため、探索範囲を制限することによる画質の劣化等も抑制できる。
【００６５】
しかも、探索範囲がプリフェッチ領域ＰＦからはみ出すことがないよう、プリフェッチメモリ６の容量を大きくし、プリフェッチ領域ＰＦを拡大する必要がない。そのため、プリフェッチメモリ６の容量を増大することによる動画像符号化装置の製造コストの増大も抑制できる。
【００６６】
すなわち、第１の実施形態の動画像符号化装置１によれば、画質の劣化やプリフェッチメモリ６の容量の増加を伴わずに、外部メモリ９との間でのデータ転送量を抑制することができる。したがって、限られたプリフェッチメモリ６の容量で、高い処理性能を保ちつつ、外部メモリ９との間の転送量を最小限に抑えることができる。
【００６７】
なお、上記のステップＳ６０２において処理ラインＬにおける垂直方向の探索範囲を決定する際には、例えば各単位処理ブロックＢＫの探索範囲が９０％以上含まれる範囲にする等、予め定めた閾値以上の範囲が含まれるようにしてもよい。
【００６８】
また、上記のステップＳ６０２の処理において処理ラインＬの探索範囲を決定する際には、縮小画像の動きベクトルから探索範囲を決定する方法（図６を参照。）に限らず、例えば時間的に前後となる符号化済みのフレーム（ピクチャ）を用いて決定してもよい。
【００６９】
図１０は、探索範囲の決定方法の別の例を説明する模式図である。
図１０に示したフレーム時刻Ｔ２のフレーム１００（Ｂ４）における各処理ラインＬの探索範囲を決定する際には、フレーム時刻Ｔ１のピクチャ１００（Ｐ３）とフレーム時刻Ｔ３のピクチャ１００（Ｐ５）とを用いることもできる。フレーム時刻Ｔ１のピクチャ１００（Ｐ３）は、フレーム時刻Ｔ２のフレーム１００（Ｂ４）よりも時間的に前（過去）のフレームを符号化したピクチャである。また、フレーム時刻Ｔ３のピクチャ１００（Ｐ５）は、フレーム時刻Ｔ２のピクチャ１００（Ｂ４）よりも時間的に後（未来）のフレームを符号化したピクチャである。
【００７０】
フレーム時刻Ｔ１のピクチャ１００（Ｐ３）及びフレーム時刻Ｔ３のピクチャ１００（Ｐ５）は、既に符号化されており、それぞれのピクチャにおける各単位処理ブロックは動きベクトルが決定している。そのため、フレーム１００（Ｂ４）の単位処理ブロックＢＫと対応するピクチャ１００（Ｐ５）の単位処理ブロックＢＫにおける動きベクトルｍｖＣｏｌは、フレーム１００（Ｂ４）の単位処理ブロックＢＫの符号化処理時には既に決定している。
【００７１】
この動きベクトルｍｖＣｏｌとピクチャ１００（Ｐ３），１００（Ｐ５）間の時間間隔とに基づいてスケーリングすることで、フレーム１００（Ｂ４）の単位処理ブロックＢＫの探索範囲決定に用いる動きベクトルｍｖＬ０，ｍｖＬ１を求めることができる。動きベクトルｍｖＬ０，ｍｖＬ１は、例えば下記数式２及び数式３から求めることができる。
ｍｖＬ０＝｛（Ｔ２−Ｔ１）／（Ｔ３−Ｔ１）｝×ｍｖＣｏｌ  ・・・（数式２）
ｍｖＬ１＝ｍｖＬ０−ｍｖＣｏｌ  ・・・（数式３）
【００７２】
なお、ｍｖＬ０は、ピクチャ１００（Ｐ３）に対する動きベクトルであり、ｍｖＬ１はピクチャ１００（Ｐ５）に対する動きベクトルｍｖＬ１である。
【００７３】
こうして算出した動きベクトルｍｖＬ０，ｍｖＬ１を用いて、フレーム時刻Ｔ２のフレーム１００（Ｂ４）における各単位処理ブロックＢＫについての動きベクトルの探索中心及び探索範囲を決定する。その後は、上述のように、各単位処理ブロックＢＫの探索範囲ＳＢ０、ＳＢ１、ＳＢ２、ＳＢ３、・・・を全て含むように、ｎ番目の処理ラインＬにおける垂直方向の探索範囲ＳＬｎを決定する（図６の（ｂ）を参照。）。
【００７４】
このように、第１の実施形態の動画像符号化装置１における動きベクトルの探索範囲の決定方法は、特定の方法に限定されるものではなく、適宜変更可能である。
【００７５】
また、参照画を参照した処理は、上記のようなインター符号化における予測符号化及び動き探索処理に限定されるものではなく、適宜変更可能である。
【００７６】
また、コンピュータを用いて動画像符号化装置１を実現する場合、上記の処理をコンピュータに実行させるプログラムは、光学ディスクやメモリカード等の可搬型記録媒体又はインターネット等のネットワークを通じてコンピュータに導入すればよい。
【００７７】
また、第１の実施形態の動画像符号化装置１は、コンピュータに限らず、上記の各処理を別個に行う複数のハードウェアを組み合わせたものであってもよい。その際、全体制御部２には、前処理部３に前処理を行わせる前処理制御部、画像符号化部４に画像符号化を行わせる画像符号化処理制御部、及びエントロピー符号化部５にエントロピー符号化を行わせるエントロピー符号化処理制御部等を設ける。また、画像符号化処理制御部には、コアの休止可能回数ＮＩＣを決定する休止可能回数決定部、画像符号化を並行して行わせるコアの数を切り替えるコア切替部、画像符号化を休止したコアの延べ数をカウントする休止数カウント部等を設ける。
【００７８】
（第２の実施形態）
図１１は、本発明の第２の実施形態に係る動画像符号化方法における主要な処理の手順を示すフローチャートである。
【００７９】
本実施形態では、図２に示したフローチャートにおけるステップＳ６の別の処理手順、すなわち画像符号化の別の処理手順を説明する。なお、本実施形態で説明する画像符号化は、第１の実施形態で挙げた動画像符号化装置１（図１を参照）が実行する。
【００８０】
本実施形態の動画像符号化方法において、参照画を参照した処理を含む画像符号化を行う場合、全体制御部２は、図１１に示すように、まず処理ライン番号ｉを初期化する（ステップＳ６０１）。処理ライン番号ｉは、図３に示したように、フレーム１００における最上段の処理ラインＬから順に付した通し番号である。図３に示した例では、最上段の処理ラインＬの番号を０（零）にしているため、ステップＳ６０１ではｉ＝０にしている。
【００８１】
次に、全体制御部２は、前処理部３と連携して、処理ライン番号がｉからｉ＋ＮＣ−１までの処理ラインについての動きベクトルの探索範囲を決定する（ステップＳ６０２）。例えば、ｉ＝０、ＮＣ＝４の場合、ステップＳ６０２の処理では、４個の連続した処理ラインＬ０〜Ｌ３についての動きベクトルの探索範囲を決定する。この際、全体制御部２は、前処理部３の第１コア３Ａ〜第４コア３Ｄが求めた粗動きベクトルに基づいて、処理ラインＬ０〜Ｌ３それぞれの探索範囲を決定する。各処理ラインの探索範囲は、例えば第１の実施形態で説明した方法で決定する。
【００８２】
次に、全体制御部２は、各処理ラインの探索範囲がプリフェッチ領域からはみ出すか否かを判定する（ステップＳ６０６）。探索範囲がプリフェッチ領域からはみ出す処理ラインが無い場合（ステップＳ６０６；Ｎｏ）、全体制御部２は、画像符号化部４の第１コア４Ａ〜第４コア４Ｄに、処理ライン番号がｉからｉ＋ＮＣ−１までの処理ラインの画像符号化を並行して行わせる（ステップＳ６０４）。また、ステップＳ６０４の後、全体制御部２は、処理ライン番号ｉをｉ＋ＮＣに更新する（ステップＳ６０５）。
【００８３】
一方、探索範囲がプリフェッチ領域からはみ出す処理ラインが有る場合（ステップＳ６０６；Ｙｅｓ）、全体制御部２は、次に、探索範囲がはみ出す処理ラインの数がコアの休止可能回数ＮＩＣ以下であるか判断する（ステップＳ６１１）。
【００８４】
探索範囲がプリフェッチ領域からはみ出す処理ラインの数が休止可能回数ＮＩＣ以下である場合（ステップＳ６１１；Ｙｅｓ）、全体制御部２は、画像符号化部４に、探索範囲がプリフェッチ領域内に収まる処理ラインのみを画像符号化させる（ステップＳ６１２）。すなわち、ステップＳ６１２の処理では、探索範囲がはみ出す処理ラインの数と同数のコアが休止することになる。しかしながら、このとき休止するコアの数は、休止可能回数ＮＩＣ以下である。そのため、コアが休止した分を、最後の処理ラインを画像符号化する際の休止分と振替えることができ、１フレームの画像符号化に割り当てられた時間Ｔpic内に画像符号化を終えることができる。
【００８５】
また、ステップＳ６１２の後、全体制御部２は、コアの休止可能回数ＮＩＣをＮＩＣ−Ｍに更新する（ステップＳ６１３）とともに、処理ライン番号ｉをｉ＋ＮＣ−Ｍに更新する（ステップＳ６１４）。なお、ステップＳ６１３，Ｓ６１４における値Ｍは、ステップＳ６１２の処理を行った際に休止したコアの数である。
【００８６】
これに対し、探索範囲がプリフェッチ領域からはみ出す処理ラインの数が休止可能回数ＮＩＣを超えている場合（ステップＳ６１１；Ｎｏ）、全体制御部２は、画像符号化部４にステップＳ６１２とは別の代替処理を行わせる（ステップＳ６１５）。
【００８７】
図１２は、図１１のステップＳ６１５の処理手順を示すフローチャートである。
探索範囲がプリフェッチ領域からはみ出す処理ラインの数が休止可能回数ＮＩＣを超えている場合（ステップＳ６１１；Ｎｏ）、ステップＳ６１２の処理を行うと、休止したコアの述べ数が休止可能回数ＮＩＣを超えてしまう。そのため、１フレームの画像符号化に割り当てられた時間Ｔpic内に画像符号化が終了しない可能性が生じる。そこで、本実施形態では、全体制御部２において、図１２に示すように、まず並列処理させるコアの数（すなわち画像符号化を並行して行うコアの数）を減らした場合の処理時間のオーバー値を算出し（ステップＳ６１５ａ）、オーバー値が許容範囲内であるか否かを判断する（ステップＳ６１５ｂ）。そして、オーバー値が許容範囲内である場合（ステップＳ６１５ｂ；Ｙｅｓ）、全体制御部２は、並列処理させるコアの数を減らして画像符号化部４に画像符号化を行わせる（ステップＳ６１５ｃ）。すなわち、全体制御部２は、図２のステップＳ２で決定した休止可能回数ＮＩＣに更に休止可能回数を追加しても時間Ｔpic内に画像符号化が終了するか否かを判断する。そして、時間Ｔpic内に終了すると判断した場合は、画像符号化部４に、探索範囲がプリフェッチ領域に収まる処理ラインのみの画像符号化を行わせる。
【００８８】
図１３は、コアの休止可能回数を追加できる場合の一例を説明する模式図である。
第１の実施形態で説明したように、１枚のフレームを１７個の処理ラインに分割し、画像符号化部４の４個のコア４Ａ〜４Ｄで画像符号化する場合、コアの休止可能回数ＮＩＣは３になる（図４を参照）。そして、例えば、図１３に示すように、処理ラインＬ４〜Ｌ６を画像符号化する際に１個のコア（第４コア４Ｄ）が休止し、処理ラインＬ７,Ｌ８を画像符号化する際に２個のコア（第３コア４Ｃ及び第４コア４Ｄ）が休止したとする。この場合、処理ラインＬ７,Ｌ８を画像符号化する時点で、休止したコアの述べ数が既に休止可能回数ＮＩＣに達している。そのため、第１の実施形態で説明した処理方法では、処理ラインＬ９〜Ｌ１６を画像符号化する際に、探索範囲がプリフェッチ領域からはみ出す処理ラインがあってもコアを休止することができない。
【００８９】
これに対し、本実施形態では、ステップＳ６１５ａ，Ｓ６１５ｂの処理により、コアの休止可能回数を追加できるか否かを判断する。具体的には、図１３に示すように、最後の処理ラインＬ１３〜Ｌ１６の画像符号化の後、更に仮想の画像符号化（図１３に点線で示した画像符号化ＮＩＣＡ１〜ＮＩＣＡ４）を行った場合の終了時刻を算出する。この終了時刻は、１個の処理ラインの画像符号化に要する時間Ｔｃｔｂｌ、及び複数のコアで並行して画像符号化する際のオーバーヘッド期間Ｔｏに基づいて算出する。そして、全体制御部２は、算出した終了時刻が１フレームの画像符号化に割り当てられた時間Ｔpicに収まる場合には、コアの休止可能回数を４回分追加できると判断する。
【００９０】
なお、図１３には４回追加可能な場合を示しているが、追加可能な回数は、これに限らず、１個の処理ラインの画像符号化に要する時間Ｔｃｔｂｌ、オーバーヘッド期間Ｔｏ、及び１フレームの画像符号化に割り当てられた時間Ｔpicに基づいて適宜判断する。
【００９１】
図１４は、図１２のステップＳ６１５ｃが行われた場合の、以後の処理を説明する模式図である。
【００９２】
上記のようにコアの休止可能回数を追加した場合、休止したコアの述べ数が図２のステップＳ２で決定した休止可能回数ＮＩＣに達した後でも、画像符号化部４のコアを休止させることができる。そのため、探索範囲がプリフェッチ領域からはみ出す処理ラインの画像符号化を、後にずらすことができる。例えば図１３における処理ラインＬ９〜Ｌ１２に対する画像符号化を行う際に、処理ラインＬ１２の探索範囲がプリフェッチ領域からはみ出ていたとする。この場合、図１４に示すように、処理ラインＬ９〜Ｌ１１の画像符号化を第１コア４Ａ〜第３コア４Ｃに並行して行わせた後、処理ラインＬ１２〜Ｌ１５の画像符号化を第１コア４Ａ〜第４コア４Ｄに並行して行わせることができる。しかも、その後、最後の処理ラインＬ１６の画像符号化を第１コア４Ａに行わせても、１フレームの画像符号化に割り当てられた時間Ｔpic内に画像符号化が終了する。そのため、外部メモリ９と画像符号化部４のコア４Ａ〜４Ｄとの間でのデータ転送量の増大を抑制しつつ、画像符号化に要した時間が時間Ｔpicをオーバーすることを防げる。
【００９３】
なお、上記のステップＳ６１５ａで算出したオーバー値が許容範囲を超える場合（ステップＳ６１５ｂ；Ｎｏ）、コアの休止可能回数を追加すると、画像符号化に要する時間が時間Ｔpicをオーバーするおそれがある。そのため、オーバー値が許容範囲を超える場合、図１２に示すように、全体制御部２は、次に、探索範囲のうちのプリフェッチ領域からはみ出した部分の探索に必要な参照画の読み出し量を算出する（ステップＳ６１５ｄ）。そして、算出した読み出し量が許容範囲内である場合（ステップＳ６１５ｅ；Ｙｅｓ）、外部メモリ９から参照画を追加で読み出し、画像符号化部４に、処理ライン番号がｉからｉ＋ＮＣ−１までの処理ラインを並行して画像符号化させる（ステップＳ６１５ｆ）。ステップＳ６１５ｅの判断における許容範囲は、適宜変更可能であり、例えばプリフェッチ領域のデータサイズの１０％以下等に設定する。
【００９４】
また、上記のステップＳ６１５ｄで算出した読み出し量が許容範囲を超える場合（ステップＳ６１５ｅ；Ｎｏ）、全体制御部２は、探索範囲をプリフェッチ領域内に制限し、画像符号化部４に、処理ライン番号がｉからｉ＋ＮＣ−１までの処理ラインを並行して画像符号化させる（ステップＳ６１５ｇ）。
【００９５】
このように、ステップＳ６１５の代替処理は、１フレームの画像符号化の途中で休止したコアの述べ数が予め定めた休止可能回数ＮＩＣに達した場合でも、プリフェッチ領域とは別の領域を追加で読み出すことや探索範囲を制限することを極力抑えることができる。
【００９６】
こうしてステップＳ６１５による画像符号化を画像符号化部４に行わせた後、全体制御部２は、処理ライン番号ｉをｉ＋ＮＣ−Ｍに更新する（ステップＳ６１４）。なお、値Ｍは上記のように休止したコアの数である。そのため、ステップＳ６１５の代替処理において、ステップＳ６１５ｆ又はＳ６１５ｇの処理を画像符号化部４に行わせた場合、Ｍ＝０となる。
【００９７】
ステップＳ６０４、Ｓ６１２、又はＳ６１５の処理が済むと、全体制御部２は、次に、更新した処理ライン番号ｉが処理ライン数ＮＣＴＢＬよりも大きいか否かを判定する（ステップＳ６０９）。ｉ≦ＮＣＴＢＬの場合（ステップＳ６０９；Ｎｏ）は、画像符号化をしていない処理ラインがあるため、ステップＳ６０２に戻り画像符号化を続ける。一方、ｉ＞ＮＣＴＢＬの場合（ステップＳ６０９；Ｙｅｓ）、１フレームにおける全ての処理ラインの画像符号化が終了したため、ステップＳ６の符号化処理を終了し、図２に示した処理に戻る。
【００９８】
上記のように、第２の実施形態の動画像符号化方法によれば、休止したコアの述べ数が予め定めた休止可能回数ＮＩＣに達した後も、１フレームの画像符号化に割り当てられた時間Ｔpic内に画像符号化が終了する範囲でコアを休止させることができる。そのため、探索範囲がプリフェッチ領域内に収まる状態で画像符号化される処理ラインの数を極力多くすることができる。したがって、プリフェッチ領域とは別の領域を追加で読み出すことによる、外部メモリ９と画像符号化部４のコア４Ａ〜４Ｄとの間のデータ転送量の増大を抑制することができる。
【００９９】
更に、１フレームの画像符号化に割り当てられた時間Ｔpic内に画像符号化が終了する範囲でコアの休止可能回数を追加するため、画像符号化に要した時間が時間Ｔpicを超えることを防げる。加えて、探索範囲がプリフェッチ領域からはみ出た処理ラインを画像符号化する際に、探索範囲をプリフェッチ領域内に収まるよう制限（縮小）することも極力少なくできるので、探索範囲の制限による画質の劣化等も抑制できる。
【０１００】
したがって、第２の実施形態の動画像符号化方法によれば、限られたプリフェッチメモリ６の容量で、高い処理性能を保ちつつ、外部メモリ９との間の転送量を最小限に抑える効果が一層高まる。
【０１０１】
また、第２の実施形態の動画像符号化方法を実行する動画像符号化装置１は、コンピュータに限らず、上記の各処理を別個に行う複数のハードウェアを組み合わせたものであってもよい。その際、全体制御部２には、１枚のフレームに対する符号化の途中で、符号化を休止したコアの述べ数が休止可能回数ＮＩＣを超える場合の代替処理（図１１のステップＳ６１５）を行う代替処理部を設ける。また、代替処理部には、コアの休止可能回数を追加できるか否かを判断する第１の判断部、及びコアの休止可能回数を追加できない場合に、プリフェッチ領域とは別の領域を追加で読み出すか否かを判断する第２の判断部を設ける。
【０１０２】
（第３の実施形態）
図１５は、本発明の第３の実施形態に係るコアの休止可能回数の決定方法を説明する模式図である。
【０１０３】
本実施形態では、図２に示したステップＳ２におけるコアの休止可能回数ＮＩＣの別の決定方法について説明する。なお、本実施形態で説明する休止可能回数ＮＩＣの決定処理は、第１の実施形態で挙げた動画像符号化装置１（図１を参照）が実行する。
【０１０４】
本実施形態では、１フレームの画像符号化に割り当てられた時間Ｔpic内に画像符号化が終了する範囲で、休止可能な回数の最大値をステップＳ２で求め、その回数をコアの休止可能回数ＮＩＣに決定する。そのような決定方法の具体例について、図１５を参照しながら説明する。
【０１０５】
１枚のフレームを１７個の処理ブロックに分割し、画像符号化部４の４個のコア（第１コア４Ａ〜第４コア４Ｄ）を休止させることなく画像符号化させた場合、図１５に示すように、最後の処理ラインＬ１６を画像符号化する際に３個のコアが休止する。このとき、１個の処理ラインの画像符号化に要する時間Ｔｃｔｂｌに基づいて、休止している３個のコアに仮想の画像符号化（図１５に点線で示した画像符号化）を行わせ、その後更に、４個のコアに仮想の画像符号化を行わせたとする。こうして、延べ７回の仮想の画像符号化を行わせたときの終了時刻が、図１５に示したように、１フレームの画像符号化に割り当てられた時間Ｔpicに収まる場合には、コアの休止可能回数ＮＩＣを最初から７回に決定することができる。そのため、第１の実施形態のように最後の処理ラインＬ１６を画像符号化する際に休止するコアの数に基づいて休止可能回数ＮＩＣを決定する場合に比べ、休止可能回数ＮＩＣを多くすることが可能になる。したがって、１枚のフレームの画像符号化の途中で、休止したコアの述べ数が休止可能回数ＮＩＣに達してしまう事態が起こりにくくなる。
【０１０６】
本実施形態では、コアの休止可能回数の最大値ＮＩＣＭＡＸを、例えば下記数式４から求める。
ＮＩＣＭＡＸ＝ＮＣ−（ＮＬ％ＮＣ）＋（ＮＭ−ＮＮ）×ＮＣ  ・・・（数式４）
【０１０７】
なお、数式４において、ＮＣはコアの総数、ＮＬ％ＮＣはＮＬをＮＣで除算したときの剰余である。また、数式４において、ＮＭは、各コアを休止させることなく画像符号化した際の処理ライン期間数であり、下記数式５から算出される。
ＮＭ＝［ＮＬ／ＮＣ］  ・・・（数式５）
【０１０８】
数式５の右辺は、ＮＬ／ＮＣの小数点以下を切り上げた整数値であること意味する。すなわち、処理ライン期間数ＮＭは、各コアを休止させることなく画像符号化した際に各コアで画像符号化を行う処理ラインの数の最大値を意味する。
【０１０９】
また、ＮＮは、１フレームの画像符号化に割り当てられた時間Ｔpic内に各コアが画像符号化可能な処理ライン数の最大値であり、下記数式６を満たすＮＮの最大値を算出して求める。
Ｔctbl×ＮＮ＋Ｔo＜Ｔpic  ・・・（数式６）
【０１１０】
数式６において、Ｔctblは１個の処理ラインの処理時間であり、Ｔoは複数のコアで並行して画像符号化する際のオーバーヘッド期間Ｔoである。
【０１１１】
上記の時間Ｔpic，Ｔctbl，Ｔoが図１５に示したような関係である場合、数式５からＮＭ＝５、数式６からＮＮ＝６が求まる。そのため、休止可能な回数の最大値ＮＩＣＭＡＸは７になる。
【０１１２】
上記の数式４〜数式６によりコアの休止可能回数ＮＩＣ（ＮＩＣＭＡＸ）を決定し、第１の実施形態で説明した動画像符号化を行うと、１枚のフレームの画像符号化の途中で休止したコアの述べ数が休止可能回数ＮＩＣに達する事態が起こりにくくなる。そのため、探索範囲がプリフェッチ領域からはみ出した処理ラインを画像符号化することによるデータ転送量の増大、画質の劣化等が一層起こりにくくなる。また、第２の実施形態で説明した動画像符号化を行う際には、図１１に示したステップＳ６１５の処理を行う頻度が少なくなる。そのため、ステップＳ６１５の処理を行うことによる負荷の増大を抑制できる。
【０１１３】
更に、本実施形態の動画像符号化方法では、上記の数式４〜数式６によりコアの休止可能回数を決定する。そのため、例えば最後の処理ラインを画像符号化しているときに休止しているコアが０個であっても、１フレームの画像符号化に割り当てられた時間Ｔpic内にコアを休止可能な期間を確保できれば、１回以上の休止可能回数を設定することができる。
【０１１４】
図１６は、６８個の処理ラインを４個のコアで符号化する場合の処理の割り当て方法を説明する模式図である。
【０１１５】
１フレームの画像サイズが１９２０×１０８０画素の動画像において、例えば単位処理ブロックのサイズを１６×１６画素にした場合、１フレームは６８個の処理ラインＬ０〜Ｌ６７に分割される。そのため、画像符号化部４のコアが４個（第１コア４Ａ〜第４コア４Ｄ）の場合、図１６に示すように、最後の処理ラインＬ６７の画像符号化は、他の処理ラインＬ６４〜Ｌ６６の画像符号化と並行して行われる。したがって、最後の処理ラインＬ６７を画像符号化する際に休止するコアは０個である。
【０１１６】
このような場合でも、最後の処理ラインＬ６７の画像符号化が終了してから１フレームの画像符号化に割り当てられた時間Ｔpicが終了するまでの期間ΔＴが、１個の処理ラインの処理時間Ｔctblよりも長ければ、コアの休止可能回数ＮＩＣを４回にすることができる。また、期間ΔＴが処理時間Ｔctblよりも短い場合でも、１フレームの画像符号化に割り当てられた時間Ｔpic内に仮想の画像符号化（図１６に点線で示した画像符号化）を確保できれば、コアの休止可能回数ＮＩＣを１回以上確保できる。
【０１１７】
上記のように、第３の実施形態の動画像符号化方法によれば、予め定めるコアの休止可能回数ＮＩＣを、１フレームの画像符号化に割り当てられた時間Ｔpic内に画像符号化が終了する範囲で最大にすることができる。そのため、探索範囲がプリフェッチ領域内に収まる状態で画像符号化される処理ラインの数を極力多くすることができる。したがって、プリフェッチ領域とは別の領域を追加で読み出すことによる、外部メモリ９と画像符号化部４のコア４Ａ〜４Ｄとの間のデータ転送量の増大を抑制することができる。
【０１１８】
更に、１フレームの画像符号化に割り当てられた時間Ｔpic内に画像符号化が終了する範囲でコアの休止可能回数を決定するため、画像符号化に要した時間が時間Ｔpicを超えることを防げる。加えて、探索範囲がプリフェッチ領域からはみ出た処理ラインを画像符号化する際に、探索範囲をプリフェッチ領域内に収まるよう制限（縮小）することも極力少なくできるので、探索範囲の制限による画質の劣化等も防げる。しかも、第３の実施形態の動画像符号化方法では、全てのコアを休止させることなく１枚のフレームを画像符号化し最後の処理ラインを画像符号化する際に、休止するコアが０個であっても、休止可能回数を決定することができる。
【０１１９】
したがって、第３の実施形態の動画像符号化方法によれば、限られたプリフェッチメモリ６の容量で、高い処理性能を保ちつつ、外部メモリ９との間の転送量を最小限に抑える効果がより一層高まる。
【０１２０】
また、第３の実施形態の休止可能回数の決定方法を実行する動画像符号化装置１は、コンピュータに限らず、上記の各処理を別個に行う複数のハードウェアを組み合わせたものであってもよい。その際、全体制御部２には、数式４〜数式６によりコアの休止可能回数ＮＩＣを決定する休止可能回数決定部を設ける。
【０１２１】
なお、本発明は、上記の各実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の構成又は実施形態を取ることができる。
【０１２２】
以上記載した各実施形態に関し、更に以下の付記を開示する。
（付記１）
参照画を参照した処理を含む動画像の符号化処理を行う複数のコアと、
外部メモリに格納された前記参照画のうちの部分領域を前記外部メモリから読み出して保持するプリフェッチメモリと、
前記動画像のフレームを複数の処理ラインに分割し、前記処理ラインごとに前記符号化処理において参照する前記参照画のうちの参照範囲を定めるとともに、前記複数のコアのそれぞれに、前記部分領域のうちの前記参照範囲を参照した処理を含む前記処理ラインの符号化処理をさせる符号化処理制御部と、を備え、
前記符号化処理制御部は、
前記参照範囲が前記プリフェッチメモリで保持する前記部分領域内に収まる処理ラインの数に応じて、前記処理ラインの符号化処理を並行して行わせる前記コアの数を切り替えるコア数切替部を有する、
ことを特徴とする動画像符号化装置。
（付記２）
前記コア数切替部は、
１枚のフレームに対する前記符号化処理の途中で前記処理ラインの符号化処理を並行して行わせる前記コアの数を少なくした場合に、符号化処理を休止した前記コアの延べ数をカウントする休止数カウント部を有し、
カウントした述べ数が予め定めたコア休止可能回数以下である場合、前記符号化処理を並行して行わせる前記コアの数を、前記参照範囲が前記部分領域内に収まる処理ラインの数にする
ことを特徴とする付記１に記載の動画像符号化装置。
（付記３）
前記符号化処理制御部は、
１枚のフレームにおける前記処理ラインの数を前記コアの総数で除したときの剰余を求め、前記コアの総数から前記剰余を減じた値を、前記コア休止可能回数に決定する休止可能回数決定部を有する
ことを特徴とする付記２に記載の動画像符号化装置。
（付記４）
前記符号化処理制御部は、
１枚のフレームの符号化処理に割り当てられた時間と、前記１枚のフレームにおける前記処理ラインの数と、前記コアの総数とに基づいて、前記コア休止可能回数を決定する休止可能回数決定部を有する
ことを特徴とする付記２に記載の動画像符号化装置。
（付記５）
前記休止可能回数決定部は、
前記１枚のフレームの符号化処理に割り当てられた時間内に符号化処理が終了する範囲内で最大値となる前記コア休止可能回数を算出する
ことを特徴とする付記４に記載の動画像符号化装置。
（付記６）
前記符号化処理制御部は、
１枚のフレームに対する符号化処理の途中で、符号化処理を休止した前記コアの述べ数が前記コア休止可能回数を超え、かつ当該１枚のフレームの符号化処理に割り当てられた時間内で前記コア休止可能回数を追加できる場合に、符号化処理を並行して行わせる前記コアの数を、前記参照範囲が前記部分領域内に収まる処理ラインの数にする
ことを特徴とする付記２〜４のいずれかに記載の動画像符号化装置。
（付記７）
前記符号化処理制御部は、
１個の処理ラインを一方向に並んだ複数の単位処理ブロックに分割し、前記単位処理ブロックごとに前記参照範囲を定めた後、１個の処理ラインにおける各単位処理ブロックの前記参照範囲に基づいて、１個の処理ラインに対する前記参照範囲を決定する参照範囲決定部を有する
ことを特徴とする付記１〜５のいずれかに記載の動画像符号化装置。
（付記８）
符号化された参照画の部分領域を外部メモリから読み出してプリフェッチメモリに保持させる第１の処理と、
動画像のフレームを複数の処理ラインに分割し、前記処理ラインごとに、符号化処理において参照する前記参照画のうちの参照範囲を定める第２の処理と、
参照画を参照した処理を含む前記符号化処理を行う複数のコアのそれぞれに異なる処理ラインの符号化処理を割り当て、前記複数のコアに前記処理ラインの符号化処理を並行して行わせる第３の処理と、
を有し、
前記第３の処理は、
前記参照範囲が前記部分領域内に収まる処理ラインの数に応じて、前記処理ラインの符号化処理を並行して行わせる前記コアの数を切り替える処理を有する
ことを特徴とする動画像符号化方法。
（付記９）
符号化された参照画の部分領域を外部メモリから読み出してプリフェッチメモリに保持させるとともに、動画像のフレームを複数の処理ラインに分割し、前記処理ラインごとに、符号化処理において参照する前記参照画のうちの参照範囲を定め、
参照画を参照した処理を含む符号化処理を行う複数のコアのそれぞれに異なる処理ラインの符号化処理を割り当てた場合に、前記参照範囲が前記部分領域内に収まる処理ラインの数に応じて、前記処理ラインの符号化処理を並行して行わせる前記コアの数を切り替え、
前記参照範囲が前記部分領域に収まる処理ラインの符号化処理のみを前記コアに並行して行わせる処理を
コンピュータに実行させるプログラム。
【符号の説明】
【０１２３】
１  動画像符号化装置
２  全体制御部
３  前処理部
３Ａ  （前処理部３の）第１コア
３Ｂ  （前処理部３の）第２コア
３Ｃ  （前処理部３の）第３コア
３Ｄ  （前処理部３の）第４コア
４  画像符号化部
４Ａ  （画像符号化部４の）第１コア
４Ｂ  （画像符号化部４の）第２コア
４Ｃ  （画像符号化部４の）第３コア
４Ｄ  （画像符号化部４の）第４コア
５  エントロピー符号化部
５Ａ  （エントロピー符号化部５の）第１コア
５Ｂ  （エントロピー符号化部５の）第２コア
５Ｃ  （エントロピー符号化部５の）第３コア
５Ｄ  （エントロピー符号化部５の）第４コア
６  プリフェッチメモリ
７  データ転送ＩＦ部
９  外部メモリ
【図１】
2016025432.tif 000003
【図２】
2016025432.tif 000004
【図３】
2016025432.tif 000005
【図４】
2016025432.tif 000006
【図５】
2016025432.tif 000007
【図６】
2016025432.tif 000008
【図９】
2016025432.tif 000009
【図１０】
2016025432.tif 000010
【図１１】
2016025432.tif 000011
【図１２】
2016025432.tif 000012
【図１３】
2016025432.tif 000013
【図１４】
2016025432.tif 000014
【図１５】
2016025432.tif 000015
【図１６】
2016025432.tif 000016
【図７】
2016025432.tif 000017
【図８】
2016025432.tif 000018