(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-08
(45)【発行日】2024-07-17
(54)【発明の名称】動画像符号化システムおよび動画像符号化方法
(51)【国際特許分類】
H04N 19/436 20140101AFI20240709BHJP
H04N 19/107 20140101ALI20240709BHJP
H04N 19/149 20140101ALI20240709BHJP
H04N 19/176 20140101ALI20240709BHJP
【FI】
H04N19/436
H04N19/107
H04N19/149
H04N19/176
(21)【出願番号】P 2020052600
(22)【出願日】2020-03-24
【審査請求日】2023-02-15
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100109313
【氏名又は名称】机 昌彦
(74)【代理人】
【識別番号】100149618
【氏名又は名称】北嶋 啓至
(72)【発明者】
【氏名】飯田 健太
(72)【発明者】
【氏名】石田 貴之
(72)【発明者】
【氏名】森吉 達治
【審査官】田中 純一
(56)【参考文献】
【文献】国際公開第2016/194380(WO,A1)
【文献】米国特許出願公開第2017/0006294(US,A1)
【文献】国際公開第2015/012256(WO,A1)
【文献】国際公開第2012/176368(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 7/12
H04N 19/00 - 19/98
(57)【特許請求の範囲】
【請求項1】
第一の処理装置と、
並列処理を前記第一の処理装置より高速に実行可能な第二の処理装置と
を備え、
前記第二の処理装置は、第一の予測方法の予測画像の生成と前記第一の予測方法の予測コストの算出とを各符号化単位に対して並列で行い、
前記第一の処理装置は、前記第一の予測方法の前記予測画像に基づいて、第二の予測方法の前記予測コストを算出し、前記第一の予測方法の前記予測コストと前記第二の予測方法の前記予測コストとに基づいて、前記第一の予測方法と前記第二の予測方法とのどちらでローカルデコードを行うかを判定
し、
前記第二の処理装置は、さらに、前記第一の予測方法で前記ローカルデコードを行った、前記第一の予測方法のローカルデコード画像を生成し、
前記第一の予測方法の前記予測画像は、前記第一の予測方法の前記ローカルデコード画像であり、
前記第一の処理装置は、判定された予測方法が前記第二の予測方法の場合、前記第二の予測方法で前記ローカルデコードを行った、前記第二の予測方法の前記ローカルデコード画像を生成する
ことを特徴とする動画像符号化システム。
【請求項2】
前記第一の予測方法は、インター予測であり、
前記第二の予測方法は、イントラ予測である
ことを特徴とする請求項1に記載の動画像符号化システム。
【請求項3】
前記第一の処理装置は、各々の前記符号化単位について、前記第一の予測方法の前記ローカルデコード画像を、前記ローカルデコード画像を記憶するローカルデコード画像領域に記憶させ、判定された前記予測方法が前記第二の予測方法の場合、前記ローカルデコード画像領域に記憶されている前記第一の予測方法の前記ローカルデコード画像を、前記第二の予測方法の前記ローカルデコード画像に置き換える
ことを特徴とする請求項
1または請求項2に記載の動画像符号化システム。
【請求項4】
前記第二の処理装置には、GPU(Graphics Processing Unit)が搭載されている
ことを特徴とする請求項1から請求項
3のいずれかに記載の動画像符号化システム。
【請求項5】
前記第一の処理装置には、PLD(Programmable Logic Device)が搭載されている
ことを特徴とする請求項1から請求項
4のいずれかに記載の動画像符号化システム。
【請求項6】
並列処理を第一の処理装置より高速に実行可能な第二の処理装置が、第一の予測方法の予測画像の生成と前記第一の予測方法の予測コストの算出とを各符号化単位に対して並列で行い、
前記第一の処理装置が、前記第一の予測方法の前記予測画像に基づいて、第二の予測方法の前記予測コストを算出し、前記第一の予測方法の前記予測コストと前記第二の予測方法の前記予測コストとに基づいて、前記第一の予測方法と前記第二の予測方法とのどちらでローカルデコードを行うかを判定
し、
前記第二の処理装置は、さらに、前記第一の予測方法で前記ローカルデコードを行った、前記第一の予測方法のローカルデコード画像を生成し、
前記第一の予測方法の前記予測画像は、前記第一の予測方法の前記ローカルデコード画像であり、
前記第一の処理装置は、判定された予測方法が前記第二の予測方法の場合、前記第二の予測方法で前記ローカルデコードを行った、前記第二の予測方法の前記ローカルデコード画像を生成する
ことを特徴とする動画像符号化方法。
【請求項7】
前記第一の予測方法は、インター予測であり、
前記第二の予測方法は、イントラ予測である
ことを特徴とする請求項
6に記載の動画像符号化方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、動画像符号化システムおよび動画像符号化方法に関する。
【背景技術】
【0002】
VVC(Versatile Video Coding)では、Bピクチャ/Pピクチャは、CU(符号化単位:Coding Unit)と呼ばれるブロックの単位で、イントラ予測とインター予測のいずれかの予測方法によってローカルデコードされ、符号化されたデータを含むビットストリームが出力される。
【0003】
各CUに対する予測方法は、イントラ予測の予測コストとインター予測の予測コストとを計算し、イントラ予測の予測コストとインター予測の予測コストに基づいて決定される。そして、決定された予測方法によって各CUに対応するビットストリームが生成される。
【0004】
たとえば、特許文献1には、イントラ予測画像とインター予測画像とが生成され、符号量が少なくなることが予想される予測画像が用いられることが記載されている。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
動画像符号化システムの実現方法には、GPU(Graphics Processing Unit)を使用する方法、FPGA(field programmable gate array)を使用する方法、CPU(Central Processing Unit)を使用する方法がある。
【0007】
GPUは並列処理に適したプロセッサであるが、逐次処理では処理速度が低下する。そのため、動画像の符号化に関するすべての処理をGPUのみで行う場合、逐次処理が必要な、イントラ予測に関する処理によって、処理速度が低下する。
【0008】
また、FPGAは逐次処理と並列処理の両方に適したプロセッサであるが、回路規模によって実装できる処理に制約がある。そのため、動画像の符号化に関するすべての処理をFPGAのみで行う場合、回路規模の制約により、実現が難しくなる可能性がある。
【0009】
また、CPUで大規模な並列処理を行う場合、GPUやFPGAで並列処理を行った場合と比べて、処理速度が遅い。そのため、動画像の符号化に関するすべての処理をCPUのみで行い、大規模な並列処理を行う場合に、GPUやFPGAを使用する方法に比べて、処理速度が低下する。
【0010】
本発明の目的は、動画像の圧縮符号化における処理時間の短縮と回路面積の低減とを可能にする、動画像符号化システムおよび動画像符号化方法を提供することにある。
【課題を解決するための手段】
【0011】
本発明の一態様において、動画像符号化システムは、第一の処理装置と、並列処理を前記第一の処理装置より高速に実行可能な第二の処理装置とを備え、前記第二の処理装置は、第一の予測方法の予測画像の生成と前記第一の予測方法の予測コストの算出とを各符号化単位に対して並列で行い、前記第一の処理装置は、前記第一の予測方法の前記予測画像に基づいて、第二の予測方法の前記予測コストを算出し、前記第一の予測方法の前記予測コストと前記第二の予測方法の前記予測コストとに基づいて、前記第一の予測方法と前記第二の予測方法とのどちらでローカルデコードを行うかを判定することを特徴とする。
【0012】
また、本発明の他の態様において、動画像符号化方法は、並列処理を第一の処理装置より高速に実行可能な第二の処理装置が、第一の予測方法の予測画像の生成と前記第一の予測方法の予測コストの算出とを各符号化単位に対して並列で行い、前記第一の処理装置が、前記第一の予測方法の前記予測画像に基づいて、第二の予測方法の前記予測コストを算出し、前記第一の予測方法の前記予測コストと前記第二の予測方法の前記予測コストとに基づいて、前記第一の予測方法と前記第二の予測方法とのどちらでローカルデコードを行うかを判定することを特徴とする。
【発明の効果】
【0013】
本発明によれば、動画像の圧縮符号化における処理時間の短縮と回路面積の低減とが可能になる。
【図面の簡単な説明】
【0014】
【
図1】本発明の第一の実施形態の動画像符号化システムの構成例を示す図である。
【
図2】本発明の第一の実施形態の動画像符号化システムの動作例を示す図である。
【
図3】本発明の第一の実施形態の動画像符号化システムの動作例を示す図である。
【
図4】本発明の第二の実施形態の動画像符号化システムの構成例を示す図である。
【
図5】本発明の第二の実施形態の動画像符号化システムのローカルデコード部の構成例を示す図である。
【
図6】本発明の第二の実施形態の動画像符号化システムの動作例を示す図である。
【
図7】本発明の第二の実施形態の動画像符号化システムの動作例を示す図である。
【
図8】本発明の第二の実施形態の動画像符号化システムのローカルデコード画像領域の記憶例を示す図である。
【
図9】本発明の第三の実施形態の動画像符号化システムの構成例を示す図である。
【
図10】本発明の第三の実施形態の動画像符号化システムの動作例を示す図である。
【
図11】本発明の第三の実施形態の動画像符号化システムの動作例を示す図である。
【
図12】本発明の第三の実施形態の動画像符号化システムのローカルデコード画像領域の記憶例を示す図である。
【
図13】本発明の各実施形態のハードウェア構成例を示す図である。
【発明を実施するための形態】
【0015】
[第一の実施形態]
本発明の第一の実施の形態について説明する。
【0016】
図1に本実施形態の動画像符号化システム10の構成例を示す。本実施形態の動画像符号化システム10は、第一の処理装置11と第二の処理装置12とを含む。
【0017】
第二の処理装置12は、並列処理を第一の処理装置11より高速に実行可能である。第二の処理装置12は、第一の予測方法の予測画像の生成と第一の予測方法の予測コストの算出とを各符号化単位に対して並列で行う。
【0018】
また、第一の処理装置11は、第一の予測方法の予測画像に基づいて、第二の予測方法の予測コストを算出する。また、第一の処理装置11は、第一の予測方法の予測コストと第二の予測方法の予測コストとに基づいて、第二の予測方法と第一の予測方法とのどちらの予測方法でローカルデコードを行うかを判定する。
【0019】
このように動画像符号化システム10を構成することによって、動画像符号化システム10では、第二の処理装置12が、第一の予測方法の予測画像の生成と第一の予測方法の予測コストの算出とを各符号化単位に対して並列で行う。また、第一の処理装置11が、第二の予測方法と第一の予測方法とのどちらの予測方法でローカルデコードを行うかを判定する。これにより、並列処理による高速化効果がより高い処理を、高速に並列処理を実行可能な第二の処理装置12に行わせ、他の処理を第一の処理装置11に行わせることが可能になる。そのため、第一の処理装置11のみや第二の処理装置12のみを使用する方法に比べ、より高速に圧縮符号化を行うことが可能になる。また、第一の処理装置11のみを使用する方法に比べて、第一の処理装置11に実装する回路面積の低減が可能になる。そのため、動画像の圧縮符号化における処理時間の短縮と回路面積の低減とが可能になる。
【0020】
次に、
図2および
図3に本実施形態の動画像符号化システム10の動作の例を示す。
図2は第二の処理装置12の動作例、
図3は第一の処理装置11の動作例である。
【0021】
第二の処理装置12は、第一の予測方法の予測画像の生成と第一の予測方法の予測コストの算出とを各符号化単位に対して並列で行う(ステップS101)。
【0022】
また、第一の処理装置11は、第一の予測方法の予測画像に基づいて、第二の予測方法の予測コストを算出する。また、第一の処理装置11は、第一の予測方法の予測コストと第二の予測方法の予測コストとに基づいて、第二の予測方法と第一の予測方法とのどちらの予測方法でローカルデコードを行うかを判定する(ステップS102)。
【0023】
以上で説明したように、本発明の第一の実施形態の動画像符号化システム10では、第二の処理装置12が、第一の予測方法の予測画像の生成と第一の予測方法の予測コストの算出とを各符号化単位に対して並列で行う。また、第一の処理装置11が、第二の予測方法と第一の予測方法とのどちらの予測方法でローカルデコードを行うかを判定する。これにより、並列処理による高速化効果が高い処理を、高速に並列処理を実行可能な第二の処理装置12に行わせ、他の処理を第一の処理装置11に行わせることが可能になる。そのため、第一の処理装置11のみや第二の処理装置12のみを使用する方法に比べ、より高速に圧縮符号化を行うことが可能になる。また、第一の処理装置11のみを使用する方法に比べて、第一の処理装置11に実装する回路面積の低減が可能になる。そのため、動画像の圧縮符号化における処理時間の短縮と回路面積の低減とが可能になる。
【0024】
[第二の実施形態]
次に、本発明の第二の実施の形態における動画像符号化システム20について説明する。
【0025】
本実施形態では、動画像の圧縮符号化方式がVVCである場合の例について説明する。本実施形態では、第一の予測方法はインター予測であり、また、第二の予測方法はイントラ予測である。
【0026】
まず、
図4に本実施形態の動画像符号化システム20の構成例を示す。本実施形態の動画像符号化システム20は、第一の処理装置21と第二の処理装置22とを含む。
【0027】
第二の処理装置22は、並列処理を第一の処理装置21より高速に実行可能である。第二の処理装置22は、たとえば、並列処理をより高速に実行可能なGPUである。GPUは、大規模な並列処理をCPUよりも高速に実行可能である。また、第一の処理装置21は、たとえば、逐次処理をより高速に実行可能なPLD(Programmable Logic Device)(FPGAなど)である。PLDは、逐次処理をCPUよりも高速に実行可能である。
【0028】
フレームバッファ41は、ローカルデコード画像に対してループフィルタ29がフィルタリングを行った画像を格納するバッファである。
【0029】
第二の処理装置22は、インター予測の予測画像の生成とインター予測の予測コストの算出とを各CUに対して並列で行う。インター予測の予測画像の生成とインター予測の予測コストの算出は、CU間の処理に依存関係がない処理である。そのため、インター予測の予測画像の生成とインター予測の予測コストの算出とは、並列処理による高速化効果がより高い処理である。第二の処理装置22がインター予測の予測画像の生成とインター予測の予測コストの算出とを各CUについて並列に行うことで、処理時間の短縮が見込まれる。
【0030】
本実施形態の第二の処理装置22は、動き探索部23と、インター予測モード判定部24と、ループフィルタ29とを含む。動き探索部23とインター予測モード判定部24とは、各部が担当する処理を、各CUについて並列に行う。
【0031】
動き探索部23は、入力画像とフレームバッファ41に格納されている画像との間で、各CUについて、対応する画像ブロックの位置変化を検出し、その位置変化に相当する動きベクトル情報を1つ以上、インター予測モード判定部24へ出力する。
【0032】
インター予測モード判定部24は、入力画像と、フレームバッファ41に格納されている画像と、動き探索部23から出力された動きベクトル情報とから、各CUについて、適切な動きベクトルを1つまたは複数選択する。適切な動きベクトルは、たとえば、符号化効率が最も高い動きベクトルであってもよいし、その他の基準に従って適切と判断された動きベクトルであってもよい。
【0033】
また、インター予測モード判定部24は、フレームバッファ41に格納されている画像と選択した動きベクトルの情報とそのモード情報(インター予測の予測モード情報)とを用いて動き補償処理を行い、動き補償予測画像を第一の処理装置21へ出力する。また、インター予測モード判定部24は、選択した動きベクトルに基づいてインター予測でローカルデコードを行う場合の予測コストを算出して、予測コストを示す情報を第一の処理装置21へ出力する。なお、予測コストについては後述する。また、本実施形態では、第二の処理装置22は、インター予測の予測画像として、動き補償予測画像を第一の処理装置21へ出力する。
【0034】
動き探索部23とインター予測モード判定部24で行われる処理は、同一画面内の他のCUに対する処理結果を入力として必要とせず、入力画像とフレームバッファ41に格納されている画像のみを入力として用いて行われる。そのため、インター予測の予測画像の生成処理およびインター予測の予測コストの算出処理は、同一画面内の複数のCUに対して並列に処理されることが可能であり、並列処理によって処理時間の短縮が見込まれる。
【0035】
ループフィルタ29は、ローカルデコード画像を入力画像に近づけるために、ローカルデコード画像に対してフィルタリングを行う。ループフィルタ29から出力される、フィルタリング後の画像は、フレームバッファ41に記憶される。なお、本実施形態では第二の処理装置22がループフィルタ29を含む構成としているが、ループフィルタ29は、第一の処理装置21やCPUに含まれていてもよい。
【0036】
第二の処理装置22は、インター予測の予測コストとインター予測の予測画像とを、第一の処理装置21へ送信する。本実施形態の場合、インター予測の予測画像は、動き補償予測画像である。第二の処理装置22から第一の処理装置21への送信経路は、CPUを介さない経路であってもよいし、CPUを介した経路であってもよい。
【0037】
また、第一の処理装置21は、インター予測の予測画像に基づいて、イントラ予測の予測コストを算出する。そして、第一の処理装置21は、インター予測の予測コストとイントラ予測の予測コストとに基づいて、イントラ予測とインター予測とのどちらの予測方法でローカルデコードを行うかを判定する。
【0038】
第一の処理装置21は、イントラ予測の予測コストの算出と、予測方法の判定と、ローカルデコードとを、各CUについて逐次的に行う。このように、並列処理による高速化効果が高い処理を第二の処理装置22が行い、その他の処理を第一の処理装置21が行うことによって、第一の処理装置21の回路面積を節約することが可能になる。
【0039】
第一の処理装置21は、イントラ予測モード判定部26と、イントラ/インター判定部27と、ローカルデコード部28とを含む。
【0040】
イントラ予測モード判定部26は、ローカルデコード部28から出力されるローカルデコード画像に基づいて、各CUのイントラ予測の予測コストを算出する。
【0041】
より具体的には、イントラ予測モード判定部26は、同一画像内のローカルデコード済みCUの情報を用いて、適切なイントラ予測モードを選択する。適切なイントラ予測モードは、たとえば、符号化効率が最も高いイントラ予測モードであってもよいし、その他の基準に従って適切と判断されたイントラ予測モードであってもよい。
【0042】
そして、イントラ予測モード判定部26は、選択したイントラ予測モードに基づいてイントラ予測(画面内予測)処理を行い、イントラ予測の予測画像と選択したイントラ予測モードの情報とをイントラ/インター判定部27へ出力する。また、イントラ予測モード判定部26は、選択したイントラ予測モードに基づいてイントラ予測でローカルデコードを行う場合の予測コストを算出して、予測コストを示す情報をイントラ/インター判定部27へ出力する。
【0043】
イントラ予測モード判定部26は、同一画面内の近傍の符号化済みCUのローカルデコード画像を用いて予測を行う。つまり、近傍のCUの間には、処理の依存関係がある。そのため、イントラ予測モード判定部26は、依存関係のあるCU同士を並列に処理することができない。
【0044】
イントラ/インター判定部27は、各CUについて、インター予測の予測コストとイントラ予測の予測コストとに基づいて、ローカルデコードに使用する予測方法、すなわち、イントラ予測とインター予測とのどちらでローカルデコードを行うのかを判定する。イントラ/インター判定部27は、たとえば、予測コストがより低い予測方法を、ローカルデコードに使用する予測方法として判定してもよいし、他の基準に基づいてローカルデコードに使用する予測方法を判定してもよい。
【0045】
また、イントラ/インター判定部27は、判定した予測方法に対応する予測画像をローカルデコード部28へ出力する。より具体的には、イントラ/インター判定部27は、ローカルデコードをインター予測で行うと判定した場合には、インター予測の予測画像を出力する。また、イントラ/インター判定部27は、ローカルデコードをイントラ予測で行うと判定した場合には、イントラ予測の予測画像を出力する。
【0046】
ローカルデコード部28は、各CUについて、イントラ/インター判定部27によって判定された予測方法でローカルデコードを行う。より具体的には、ローカルデコード部28は、
図5に示すように、減算部51、変換部52、量子化部53、算術符号化部54、逆量子化部55、逆変換部56および加算部57を含む。なお、ローカルデコード部28の加算部57から出力される画像をローカルデコード画像と呼ぶ。
【0047】
減算部51は、イントラ/インター判定部27から出力された予測画像を入力画像から減算した残差画像を変換部52へ出力する。また、変換部52は、残差画像に対して変換処理を行う。変換処理は、たとえば、DCT(discrete cosine transform)やDST(Discrete Sine Transform)などである。また、量子化部53は、変換処理が施された画像に対して量子化処理を施した量子化画像を生成する。また、算術符号化部54は、量子化画像に対して、算術符号化の処理を行い、ビットストリームを出力する。また、逆量子化部55は、量子化画像に対して逆量子化処理を行う。また、逆変換部56は、逆量子化処理が施された画像に対して逆変換処理を行う。そして、加算部57は、逆変換処理が施された画像とイントラ/インター判定部27から出力される予測画像とを加算したローカルデコード画像を、ループフィルタ29とイントラ予測モード判定部26とへ出力する。
【0048】
なお、予測コストは、選択した予測モードで入力画像を符号化(予測画像に対して、変換処理と量子化処理を行った後に、算術符号化を行うこと)した場合の符号化結果を、所定の基準に従って評価した場合の評価値である。本実施形態の動画像符号化システムは、任意の基準を評価基準として用いることができる。
【0049】
たとえば、予測コストの一例に、RD(Rate Distortion)コストがある。RDコストは、入力画像と予測画像とのひずみの量である差分画像コストと、入力画像を符号化した際に発生する符号量である符号量コストに基づいて算出される。
【0050】
差分画像コストには、入力画像と予測画像の画素値の差分絶対値和(SAD:Sum of Absolute Difference)、差分二乗和(SSD:Sum of Squared Difference)、画素値の差分に所定の変換を施した係数の絶対値和(SATD:Sum of Absolute Transformed Differences)などが用いられる。
【0051】
符号量コストは、実際に符号化処理を行った場合に発生した符号量または推定される符号量である。
【0052】
差分画像コストをD、符号量コストをR、画像の複雑さなどに依存する重み係数(コスト係数)をλとした場合、RDコストJは、式1により計算される。
J = D + λR (式1)
このように動画像符号化システム20を構成することによって、動画像符号化システム20では、第二の処理装置22が、インター予測の予測画像の生成とインター予測の予測コストの算出とを各CUに対して並列で行う。また、第一の処理装置21が、イントラ予測とインター予測とのどちらの予測方法でローカルデコードを行うかを判定する。これにより、並列処理による高速化効果がより高い処理を、高速に並列処理を実行可能な第二の処理装置22に行わせ、他の処理を第一の処理装置21に行わせることが可能になる。そのため、第一の処理装置21のみを使用する方法や第二の処理装置22のみを使用する方法に比べ、より高速に圧縮符号化を行うことが可能になる。また、第一の処理装置21のみを使用する方法に比べて、第一の処理装置21に実装する回路面積の低減が可能になる。そのため、動画像の圧縮符号化における処理時間の短縮と回路面積の低減とが可能になる。
【0053】
次に、
図6および
図7を用いて、本実施形態の動画像符号化システム20の動作例について説明する。
図6は、第二の処理装置22の動作例を示すフローチャートである。
図7は、第一の処理装置21の動作例を示すフローチャートである。
【0054】
第二の処理装置22のインター予測モード判定部24は、各CUのインター予測の予測コストを算出し、算出した予測コストを示す情報を第一の処理装置21へ送信する(
図6のステップS201)。また、インター予測モード判定部24は、動き補償予測画像を生成し、生成した動き補償予測画像を第一の処理装置21へ送信する(ステップS202)。第二の処理装置22は、ステップS201の処理とステップS202の処理とを、各CUについて並列に行う。
【0055】
次に、第一の処理装置21のイントラ予測モード判定部26は、どのCUを処理対象とするか設定し、処理対象のCUのイントラ予測の予測コストを算出する(
図7のステップS203、S204)。イントラ/インター判定部27は、処理対象のCUについて、ローカルデコードに使用する予測方法、すなわち、イントラ予測とインター予測とのどちらでローカルデコードを行うのかを判定する(ステップS205)。イントラ/インター判定部27は、インター予測の予測コストとイントラ予測の予測コストに基づいて、ローカルデコードに使用する予測方法を判定する。ローカルデコード部28は、処理対象のCUについて、イントラ/インター判定部27によって判定された予測方法でローカルデコードを行う(ステップS206)。第一の処理装置21は、全CUについてステップS204からステップS206の処理を終了した場合(ステップS207でYES)、
図7に示す処理を終了する。未処理のCUがあれば、第一の処理装置21は、処理対象のCUを変更し(ステップS203)、ステップS204からステップS207の処理を行う。
【0056】
図8に、ローカルデコード画像領域の記憶例を示す。ローカルデコード画像領域は、第一の処理装置21に含まれている記憶手段(図示せず)においてローカルデコード画像を記憶するための記憶領域である。
【0057】
図8には、画像が4つのCUに分割されている場合の例が示されている。ローカルデコード画像領域には、4つのCUの各々についてローカルデコード画像が記憶される。
【0058】
斜線が付されていない領域は、その領域に対応するCUの予測方法が判定されていない領域である。斜線が付されている領域は、その領域に対応するCUに対するローカルデコードが行われ、ローカルデコード画像が記憶されている領域である。本実施形態では、予測方法の判定を各CUに対して逐次的に行われるため、ローカルデコード画像領域が記憶する画像も、逐次的に更新される。
【0059】
なお、動画像符号化システム20は、インター予測モード判定部24が生成した動き補償予測画像を、第一の処理装置21のローカルデコード画像領域に記憶させてもよい。また、動画像符号化システム20は、ローカルデコード部28がローカルデコード画像を生成した場合に、ローカルデコード画像領域に記憶されている動き補償予測画像をローカルデコード画像へ置き換えてもよい。
【0060】
以上で説明したように、本発明の第二の実施形態の動画像符号化システム20では、第二の処理装置22が、インター予測の予測画像の生成とインター予測の予測コストの算出とを各CUに対して並列で行う。また、第一の処理装置21が、イントラ予測とインター予測とのどちらの予測方法でローカルデコードを行うかを判定する。これにより、並列処理による高速化効果がより高い処理を、高速に並列処理を実行可能な第二の処理装置22に行わせ、他の処理を第一の処理装置21に行わせることが可能になる。そのため、第一の処理装置21のみや第二の処理装置22のみを使用する方法に比べ、より高速に圧縮符号化を行うことが可能になる。また、第一の処理装置21のみを使用する方法に比べて、第一の処理装置21に実装する回路面積の低減が可能になる。そのため、動画像の圧縮符号化における処理時間の短縮と回路面積の低減とが可能になる。
【0061】
また、本実施形態の動画像符号化システム20は、ローカルデコードをローカルデコード部28の一か所で行う。そのため、ローカルデコードに関する処理を第一の処理装置21に集約できるメリットがある。
【0062】
なお、本実施形態では、動画像の圧縮符号化方式がVVCである場合について説明した。しかし、本実施形態の動画像符号化システム20は、イントラ予測とインター予測とに限らず、2種類の予測を行う圧縮符号化方式であれば、どのような圧縮符号化方式の場合にも適用可能である。たとえば、本実施形態の動画像符号化システム20は、圧縮符号化方式が、H.265(HEVC(High Efficiency Video Coding))、H.264/MPEG(Moving Picture Experts Group)-4 AVC(Advanced Video Coding)、WMV(Windows(登録商標) Media Video)、AV1(Alliance for Open Media Video 1)、VP9などの場合にも適用可能である。
【0063】
[第三の実施形態]
次に、本発明の第三の実施の形態における動画像符号化システム30について説明する。
【0064】
まず、
図9に本実施形態の動画像符号化システム30の構成例を示す。本実施形態の動画像符号化システム30は、第一の処理装置31と第二の処理装置32とを含む。第二の処理装置32は、並列処理を第一の処理装置31よりも高速に実行可能である。
【0065】
フレームバッファ41については、第二の実施形態と同様のため、説明を省略する。
【0066】
第二の処理装置32は、インター予測の予測画像の生成と、インター予測の予測コストの算出と、インター予測でのローカルデコードとを各CUに対して並列で行う。インター予測の予測画像の生成と、インター予測の予測コストの算出と、インター予測でのローカルデコードとは、CU間の処理に依存関係がない処理である。そのため、インター予測の予測画像の生成と、インター予測の予測コストの算出と、インター予測でのローカルデコードとは、並列処理による高速化効果が高い処理である。第二の処理装置22がインター予測の予測画像の生成と、インター予測の予測コストの算出と、インター予測でのローカルデコードとを各CUについて並列に行うことで、処理時間の短縮が見込まれる。
【0067】
本実施形態の第二の処理装置32は、動き探索部23とインター予測モード判定部24と第一のローカルデコード部34とループフィルタ29とを含む。動き探索部23とインター予測モード判定部24と第一のローカルデコード部34とは、各部が担当する処理を、各CUについて並列に行う。
【0068】
動き探索部23とループフィルタ29とについては、第二の実施形態と同様のため、説明を省略する。
【0069】
インター予測モード判定部24は、入力画像と、フレームバッファ41に格納されている画像と、動き探索部23から出力された動きベクトル情報とから、各CUについて、適切な動きベクトルを1つまたは複数選択する。
【0070】
また、インター予測モード判定部24は、フレームバッファ41に格納されている画像と選択した動きベクトル情報とそのモード情報(インター予測の予測モード情報)とを用いて動き補償処理を行い、動き補償予測画像を第一のローカルデコード部34へ出力する。
【0071】
また、インター予測モード判定部24は、選択した動きベクトルに基づいてインター予測で符号化を行う場合の予測コストを算出して、予測コストを示す情報を第一の処理装置31へ出力する。
【0072】
第一のローカルデコード部34は、動き補償予測画像に対してインター予測でローカルデコードを行い、インター予測のローカルデコード画像を第一の処理装置31へ出力する。なお、第一のローカルデコード部34で行われるローカルデコード処理の詳細は、ローカルデコード部28から算術符号化部54の処理を除いた処理と同様のため、説明を省略する。
【0073】
第二の処理装置32は、インター予測の予測コストとインター予測の予測画像とを、第一の処理装置31へ送信する。本実施形態の場合、インター予測の予測画像は、第一のローカルデコード部34から出力される、インター予測のローカルデコード画像である。第二の処理装置32から第一の処理装置31への送信経路は、CPUを介さない経路であってもよいし、CPUを介した経路であってもよい。
【0074】
また、第一の処理装置31は、インター予測の予測画像に基づいて、イントラ予測の予測コストを算出する。そして、第一の処理装置31は、インター予測の予測コストとイントラ予測の予測コストとに基づいて、イントラ予測とインター予測とのどちらの予測方法でローカルデコードを行うかを判定する。
【0075】
第一の処理装置31は、イントラ予測の予測コストの算出と、予測方法の判定と、予測方法がイントラ予測の場合のローカルデコードとを、各CUについて逐次的に行う。このように、並列処理による高速化効果がより高い処理を第二の処理装置32が行い、その他の処理を第一の処理装置31が行うことによって、第一の処理装置31の回路面積を節約することが可能になる。
【0076】
第一の処理装置31は、イントラ予測モード判定部26と、イントラ/インター判定部27と、第二のローカルデコード部35とを含む。
【0077】
イントラ/インター判定部27については、第二の実施形態と同様のため説明を省略する。
【0078】
イントラ予測モード判定部26は、第二のローカルデコード部35から出力されるローカルデコード画像に基づいて、各CUのイントラ予測の予測コストを算出して、予測コストを示す情報をイントラ/インター判定部27へ出力する。
【0079】
第二のローカルデコード部35は、ローカルデコードをイントラ予測で行うと判定された場合に、イントラ予測でローカルデコードを行い、イントラ予測のローカルデコード画像をループフィルタ29へ出力する。また、第二のローカルデコード部35は、ローカルデコードをインター予測で行うと判定された場合に、インター予測のローカルデコード画像をループフィルタ29へ出力する。本実施形態では、インター予測のローカルデコード画像は、第二の処理装置32から出力され、たとえば、ローカルデコード画像領域に記憶されている。なお、第一のローカルデコード部34で行われるローカルデコード処理の詳細は、ローカルデコード部28と同様のため、説明を省略する。
【0080】
このように動画像符号化システム30を構成することによって、動画像符号化システム30では、第二の処理装置32が、インター予測の予測画像の生成とインター予測の予測コストの算出とを各CUに対して並列で行う。また、第一の処理装置31が、イントラ予測とインター予測とのどちらの予測方法でローカルデコードを行うかを判定する。これにより、並列処理による高速化効果がより高い処理を、高速に並列処理を実行可能な第二の処理装置32に行わせ、他の処理を第一の処理装置31に行わせることが可能になる。そのため、第一の処理装置31のみや第二の処理装置32のみを使用する方法に比べ、より高速に圧縮符号化を行うことが可能になる。また、第一の処理装置31のみを使用する方法に比べて、第一の処理装置31に実装する回路面積の低減が可能になる。そのため、動画像の圧縮符号化における処理時間の短縮と回路面積の低減とが可能になる。
【0081】
次に、
図10および
図11を用いて、本実施形態の動画像符号化システム30の動作例について説明する。
図10は、第二の処理装置32の動作例を示すフローチャートである。
図11は、第一の処理装置31の動作例を示すフローチャートである。
【0082】
第二の処理装置32のインター予測モード判定部24は、各CUのインター予測の予測コストを算出し、算出した予測コストを示す情報を第一の処理装置31へ送信する(
図10のステップS301)。インター予測モード判定部24は、動き補償予測画像を生成する(ステップS302)。第一のローカルデコード部34は、動き補償予測画像に対してインター予測でローカルデコードを行い、インター予測のローカルデコード画像を第一の処理装置31に出力する(ステップS303)。第二の処理装置32は、ステップS301からステップS303の処理を、各CUについて並列に行う。
【0083】
次に、第一の処理装置31のイントラ予測モード判定部26は、どのCUを処理対象とするか設定し、処理対象のCUのイントラ予測の予測コストを算出する(
図11のステップS304、S305)。イントラ/インター判定部27は、処理対象のCUについて、インター予測の予測コストとイントラ予測の予測コストとに基づいて、イントラ予測とインター予測とのどちらでローカルデコードを行うのかを判定する(ステップS306)。
【0084】
第二のローカルデコード部35は、処理対象のCUについて、ローカルデコードをイントラ予測で行うと判定された場合に(ステップS307でYES)、イントラ予測でローカルデコードを行う(ステップS308)。第一の処理装置31は、全CUについてステップS305からステップS308の処理を終了した場合(ステップS309でYES)、
図11に示す処理を終了する。未処理のCUがあれば、第一の処理装置31は、処理対象のCUを変更し(ステップS304)、ステップS305からステップS309の処理を行う。
【0085】
図12に、ローカルデコード画像領域の記憶例を示す。ローカルデコード画像領域は、第一の処理装置31に含まれる、ローカルデコード画像を記憶するための記憶領域である。
【0086】
図12には、画像が4つのCUに分割されている場合の例が示されている。ローカルデコード画像領域には、4つのCUの各々についてローカルデコード画像が記憶される。
【0087】
斜線が付されていない領域は、その領域に対応するCUの予測方法が判定されていない領域である。本実施形態の場合、第一の処理装置31は、第一のローカルデコード部34から出力された、インター予測のローカルデコード画像を、ローカルデコード画像領域に記憶させる。そのため、対応するCUの予測方法が判定されていない領域には、インター予測のローカルデコード画像が記憶されている。
【0088】
また、斜線が付されている領域は、その領域に対応するCUに対して、イントラ予測のローカルデコードが行われ、イントラ予測のローカルデコード画像が記憶されている領域である。本実施形態の場合、動画像符号化システム30の第二のローカルデコード部35は、ローカルデコードをイントラ予測で行うと判定された場合に、イントラ予測でローカルデコードを行う。そのため、予測方法がイントラ予測と判定されたCUに対応する領域では、インター予測のローカルデコード画像からイントラ予測のローカルデコード画像への置き換えが行われる。
図12の例の場合、左上と右下の領域に対応するCUの予測方法がイントラ予測と判定されている。
【0089】
以上で説明したように、本発明の第三の実施形態の動画像符号化システム30では、第二の処理装置32が、インター予測の予測画像の生成とインター予測の予測コストの算出とを各CUに対して並列で行う。また、第一の処理装置31が、イントラ予測とインター予測とのどちらの予測方法でローカルデコードを行うかを判定する。これにより、並列処理による高速化効果がより高い処理を、高速に並列処理を実行可能な第二の処理装置32に行わせ、他の処理を第一の処理装置31に行わせることが可能になる。そのため、第一の処理装置31のみを使用する方法や第二の処理装置32のみを使用する方法に比べ、より高速に圧縮符号化を行うことが可能になる。また、第一の処理装置31のみを使用する方法に比べて、第一の処理装置31に実装する回路面積の低減が可能になる。そのため、動画像の圧縮符号化における処理時間の短縮と回路面積の低減とが可能になる。
【0090】
また、本実施形態の動画像符号化システム30では、第二の処理装置32がインター予測のローカルデコードを各CUについて並列に行う。そのため、処理時間の短縮が可能になる。また、インター予測のローカルデコードを第一の処理装置31ではなく第二の処理装置32が行うことにより、第一の処理装置31の回路規模を小さくすることが可能になる。その結果、第一の処理装置31として、廉価な装置を使用することが可能になる。
【0091】
また、本実施形態の動画像符号化システム30では、第一の処理装置31は、第一のローカルデコード部34から出力された、インター予測のローカルデコード画像を、ローカルデコード画像領域に記憶させる。そして、第一の処理装置31は、ローカルデコードをイントラ予測で行うと判定した場合に、ローカルデコード画像領域に記憶されているインター予測のローカルデコード画像を、イントラ予測のローカルデコード画像に置き換える。
【0092】
第一の処理装置31が、インター予測のローカルデコード画像をローカルデコード画像領域ではない領域に記憶させていたとする。この場合、第一の処理装置31は、ローカルデコードをインター予測で行うと判定した場合に、ローカルデコード画像領域ではない領域に記憶されているインター予測のローカルデコード画像を、ローカルデコード画像領域に記憶させる処理が必要になる。
【0093】
本実施形態の第一の処理装置31は、ローカルデコードをインター予測で行うと判定した場合には、すでにインター予測のローカルデコード画像がローカルデコード画像領域に記憶されている。そのため、インター予測のローカルデコード画像が、ローカルデコード画像領域ではない領域に記憶される場合に比べて、処理時間を短縮することが可能になる。
【0094】
[ハードウェア構成例]
上述した本発明の各実施形態における動画像符号化システム(10、20、30)を、一つの情報処理装置(コンピュータ)を用いて実現するハードウェア資源の構成例について説明する。なお、動画像符号化システムは、物理的または機能的に少なくとも二つ以上の複数の情報処理装置が用いられて実現されてもよい。また、動画像符号化システムは、専用の装置として実現されてもよいし、汎用の装置が用いられてもよい。また、動画像符号化システムの一部の機能のみを情報処理装置を用いて実現してもよい。
【0095】
図13は、本発明の各実施形態の動画像符号化システムを実現可能な情報処理装置のハードウェア構成例を概略的に示す図である。情報処理装置90は、通信インタフェース91、入出力インタフェース92、演算装置93、記憶装置94、不揮発性記憶装置95およびドライブ装置96を含む。
【0096】
たとえば、
図1の第一の処理装置11および第二の処理装置12は、演算装置93に相当する。
【0097】
通信インタフェース91は、各実施形態の動画像符号化システムが、有線および無線のうち少なくとも一方で外部装置と通信するための通信手段である。なお、動画像符号化システムを、少なくとも二つの情報処理装置を用いて実現する場合、それらの装置の間を通信インタフェース91経由で相互に通信可能なように接続してもよい。
【0098】
入出力インタフェース92は、入力デバイスの一例であるキーボードや、出力デバイスとしてのディスプレイ等のマンマシンインタフェースである。
【0099】
演算装置93は、たとえば、CPU(Central Processing Unit)やマイクロプロセッサ等の演算処理装置や複数の電気回路によって実現される。演算装置93は、たとえば、不揮発性記憶装置95に記憶された各種プログラムを記憶装置94に読み出し、読み出したプログラムに従って処理を実行することが可能である。
【0100】
記憶装置94は、演算装置93から参照可能な、RAM(Random Access Memory)等のメモリ装置であり、プログラムや各種データ等を記憶する。記憶装置94は、揮発性のメモリ装置であってもよい。
【0101】
不揮発性記憶装置95は、たとえば、ROM(Read Only Memory)、フラッシュメモリ、等の、不揮発性の記憶装置であり、各種プログラムやデータ等を記憶することが可能である。
【0102】
ドライブ装置96は、たとえば、後述する記録媒体97に記録されているデータの読み込みやデータの書き込みを処理する装置である。
【0103】
記録媒体97は、たとえば、光ディスク、光磁気ディスク、半導体フラッシュメモリ等、データを記録可能な任意の記録媒体である。
【0104】
本発明の各実施形態は、たとえば、
図13に例示した情報処理装置90により動画像符号化システムを構成し、この動画像符号化システムに対して、上記各実施形態において説明した機能を実現可能なプログラムを供給することにより実現してもよい。
【0105】
この場合、動画像符号化システムに対して供給したプログラムを、演算装置93が実行することによって、実施形態を実現することが可能である。また、動画像符号化システムのすべてではなく、一部の機能を情報処理装置90で構成することも可能である。
【0106】
さらに、上記プログラムを記録媒体97に記録しておき、動画像符号化システムの出荷段階、あるいは運用段階等において、適宜上記プログラムが不揮発性記憶装置95に格納されるよう構成してもよい。なお、この場合、上記プログラムの供給方法は、出荷前の製造段階、あるいは運用段階等において、適当な治具を利用して動画像符号化システム内にインストールする方法を採用してもよい。また、上記プログラムの供給方法は、インターネット等の通信回線を介して外部からダウンロードする方法等の一般的な手順を採用してもよい。
【0107】
なお、上述する各実施の形態は、本発明の好適な実施の形態であり、本発明の要旨を逸脱しない範囲内において種々変更実施が可能である。
【0108】
上記の実施形態の一部または全部は、以下の付記のようにも記載されうるが、以下には限られない。
【0109】
(付記1)
第一の処理装置と、
並列処理を前記第一の処理装置より高速に実行可能な第二の処理装置と
を備え、
前記第二の処理装置は、第一の予測方法の予測画像の生成と前記第一の予測方法の予測コストの算出とを各符号化単位に対して並列で行い、
前記第一の処理装置は、前記第一の予測方法の前記予測画像に基づいて、第二の予測方法の前記予測コストを算出し、前記第一の予測方法の前記予測コストと前記第二の予測方法の前記予測コストとに基づいて、前記第一の予測方法と前記第二の予測方法とのどちらでローカルデコードを行うかを判定する
ことを特徴とする動画像符号化システム。
【0110】
(付記2)
前記第一の予測方法は、インター予測であり、
前記第二の予測方法は、イントラ予測である
ことを特徴とする付記1に記載の動画像符号化システム。
【0111】
(付記3)
前記第一の処理装置は、さらに、判定された予測方法で前記ローカルデコードを行ったローカルデコード画像を生成する
ことを特徴とする付記1または付記2に記載の動画像符号化システム。
【0112】
(付記4)
前記第一の予測方法の前記予測画像は、動き補償予測画像である
ことを特徴とする付記3に記載の動画像符号化システム。
【0113】
(付記5)
前記第二の処理装置は、さらに、前記第一の予測方法で前記ローカルデコードを行った、前記第一の予測方法のローカルデコード画像を生成し、
前記第一の予測方法の前記予測画像は、前記第一の予測方法の前記ローカルデコード画像であり、
前記第一の処理装置は、判定された予測方法が前記第二の予測方法の場合、前記第二の予測方法で前記ローカルデコードを行った、前記第二の予測方法の前記ローカルデコード画像を生成する
ことを特徴とする付記1または付記2に記載の動画像符号化システム。
【0114】
(付記6)
前記第一の処理装置は、各々の前記符号化単位について、前記第一の予測方法の前記ローカルデコード画像を、前記ローカルデコード画像を記憶するローカルデコード画像領域に記憶させ、判定された前記予測方法が前記第二の予測方法の場合、前記ローカルデコード画像領域に記憶されている前記第一の予測方法の前記ローカルデコード画像を、前記第二の予測方法の前記ローカルデコード画像に置き換える
ことを特徴とする付記5に記載の動画像符号化システム。
【0115】
(付記7)
前記第二の処理装置には、GPU(Graphics Processing Unit)が搭載されている
ことを特徴とする付記1から付記6のいずれかに記載の動画像符号化システム。
【0116】
(付記8)
前記第一の処理装置には、PLD(Programmable Logic Device)が搭載されている
ことを特徴とする付記1から付記7のいずれかに記載の動画像符号化システム。
【0117】
(付記9)
並列処理を第一の処理装置より高速に実行可能な第二の処理装置が、第一の予測方法の予測画像の生成と前記第一の予測方法の予測コストの算出とを各符号化単位に対して並列で行い、
前記第一の処理装置が、前記第一の予測方法の前記予測画像に基づいて、第二の予測方法の前記予測コストを算出し、前記第一の予測方法の前記予測コストと前記第二の予測方法の前記予測コストとに基づいて、前記第一の予測方法と前記第二の予測方法とのどちらでローカルデコードを行うかを判定する
ことを特徴とする動画像符号化方法。
【0118】
(付記10)
前記第一の予測方法は、インター予測であり、
前記第二の予測方法は、イントラ予測である
ことを特徴とする付記9に記載の動画像符号化方法。
【0119】
(付記11)
前記第一の処理装置は、さらに、判定された予測方法で前記ローカルデコードを行ったローカルデコード画像を生成する
ことを特徴とする付記9または付記10に記載の動画像符号化方法。
【0120】
(付記12)
前記第一の予測方法の前記予測画像は、動き補償予測画像である
ことを特徴とする付記11に記載の動画像符号化方法。
【0121】
(付記13)
前記第二の処理装置は、さらに、前記第一の予測方法で前記ローカルデコードを行った、前記第一の予測方法のローカルデコード画像を生成し、
前記第一の予測方法の前記予測画像は、前記第一の予測方法の前記ローカルデコード画像であり、
前記第一の処理装置は、判定された予測方法が前記第二の予測方法の場合、前記第二の予測方法で前記ローカルデコードを行った、前記第二の予測方法の前記ローカルデコード画像を生成する
ことを特徴とする付記9または付記10に記載の動画像符号化方法。
【0122】
(付記14)
前記第一の処理装置は、各々の前記符号化単位について、前記第一の予測方法の前記ローカルデコード画像を、前記ローカルデコード画像を記憶するローカルデコード画像領域に記憶させ、判定された前記予測方法が前記第二の予測方法の場合、前記ローカルデコード画像領域に記憶されている前記第一の予測方法の前記ローカルデコード画像を、前記第二の予測方法の前記ローカルデコード画像に置き換える
ことを特徴とする付記13に記載の動画像符号化方法。
【0123】
(付記15)
前記第二の処理装置には、GPU(Graphics Processing Unit)が搭載されている
ことを特徴とする付記9から付記14のいずれかに記載の動画像符号化方法。
【0124】
(付記16)
前記第一の処理装置には、PLD(Programmable Logic Device)が搭載されている
ことを特徴とする付記9から付記15のいずれかに記載の動画像符号化方法。
【符号の説明】
【0125】
10、20、30 動画像符号化システム
11、21、31 第一の処理装置
12、22、32 第二の処理装置
23 動き探索部
24 インター予測モード判定部
26 イントラ予測モード判定部
27 イントラ/インター判定部
28 ローカルデコード部
29 ループフィルタ
34 第一のローカルデコード部
35 第二のローカルデコード部
41 フレームバッファ
90 情報処理装置
91 通信インタフェース
92 入出力インタフェース
93 演算装置
94 記憶装置
95 不揮発性記憶装置
96 ドライブ装置
97 記録媒体