JP6206280B2 - 動画像符号化装置及び動画像符号化器 - Google Patents
動画像符号化装置及び動画像符号化器 Download PDFInfo
- Publication number
- JP6206280B2 JP6206280B2 JP2014059639A JP2014059639A JP6206280B2 JP 6206280 B2 JP6206280 B2 JP 6206280B2 JP 2014059639 A JP2014059639 A JP 2014059639A JP 2014059639 A JP2014059639 A JP 2014059639A JP 6206280 B2 JP6206280 B2 JP 6206280B2
- Authority
- JP
- Japan
- Prior art keywords
- encoding
- area
- lsi
- region
- unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
本件は、動画像符号化装置及び動画像符号化器に関する。
動画像の圧縮符号化方式として、フレーム間予測(ピクチャ間予測)を利用して情報量圧縮を行う技術が一般化している。このような技術は、例えばMoving Picture Experts Group-2(MPEG−2),MPEG−4,H.264/Advanced Video Coding(H.264/AVC)等で使用されている。最新の動画圧縮の規格としてはH.265/High Efficiency Video Coding(H.265/HEVC)が規格化された。H.265/HEVCは、次世代のテレビとして予定されているUltra High Definition Television(UHDTV:超高精細テレビ)に利用される事が想定されている。UHDTVでは4K2K(例えば4,096×2,160画素または3,840×2,160画素)や8K4K(例えば8,192×4,096画素)といった超高精細画像が取り扱われる。
このような超高精細画像を符号化するためには、1チップの動画像符号化器(以下、符号化LSIという)とメモリを使用して符号化するよりも、複数チップの符号化LSIとメモリを使用して並列に符号化する方が処理性能向上の観点から望ましい。複数の符号化LSIとメモリを使用して並列に符号化する場合、動画像の一画像であるピクチャ(又はフレーム)をスライスと呼ばれる複数の領域に分割し、各符号化LSIが担当のスライスを符号化することが知られている(例えば特許文献1〜4参照)。
ところで、フレーム間予測を行う符号化LSIでは、Macroblock(MB:マクロブロック)やCoding Tree Unit(CTU:コーディングツリーユニット)と呼ばれる符号化単位領域に対し、過去の参照画像(ローカルデコード画像)の中から似ている領域を探索する動きベクトル検出が行われる。この場合、各符号化LSIが担当するスライスよりも広い範囲の領域がメモリに格納されることが望ましい。したがって、スライスの境界付近では、該スライスに隣接する過去の参照画像の隣接スライスの内、該スライスに隣接する一部の領域が該スライスとともに該符号化LSIが使用するメモリに格納されることが望ましい。
各符号化LSIでピクチャ単位の同期を取りながらスライスの先頭に位置する符号化単位領域からスライスの最後に位置する符号化単位領域まで順にそれぞれのスライスを符号化していく場合、先頭に位置する符号化単位領域から順に符号化処理が完了していく。各スライスに対する符号化処理が完了することにより各スライスを含むピクチャの符号化処理が完了すると、次のピクチャにおける各スライスを符号化するために符号化処理が完了した上述した一部の領域が転送される。
ここで、次のピクチャにおける各スライスの後の方に位置する符号化単位領域は、転送された一部の領域を動きベクトル検出のために使用するまでには十分な時間があるため転送時間を確保し易い。一方、次のピクチャにおける各スライスの前の方に位置する符号化単位領域は、転送された一部の領域を動きベクトル検出のために使用するまでには十分な時間があるとはいえず、転送時間を確保し難い。すなわち、前ピクチャの一部の領域が転送されて来なければ、現ピクチャにおける各スライスの前の方に位置する符号化単位領域の符号化を開始することができず、動画像の符号化においてピクチャ間で無駄なアイドル期間(待機期間)が発生し、符号化処理が遅れるという課題がある。
そこで、1つの側面では、本件は、符号化処理の遅れを圧縮可能な動画像符号化装置及び動画像符号化器を提供することを目的とする。
本明細書に開示の動画像符号化装置は、動画像の一画像を分割した複数の領域をそれぞれ符号化する複数の動画像符号化器を含む動画像符号化装置であって、前記動画像符号化器の少なくとも1つは、他の動画像符号化器から転送される符号化済領域の一部領域を探索しない第1領域を符号化してから前記一部領域を探索する第2領域を符号化することを特徴とする動画像符号化装置である。
本明細書に開示の動画像符号化器は、動画像の一画像を分割した領域の1つを符号化する動画像符号化器であって、他の動画像符号化器から転送される符号化済領域の一部領域を探索しない第1領域を符号化してから前記一部領域を探索する第2領域を符号化する符号化手段を有する動画像符号化器である。
本明細書に開示の動画像符号化装置及び動画像符号化器によれば、符号化処理の遅れを圧縮することができる。
以下、本件を実施するための形態について図面を参照して説明する。
(第1実施形態)
図1は、動画像符号化装置1のブロック図の一例である。図2は、領域を説明するための図である。
動画像符号化装置1は、図1に示すように、複数の符号化LSI100と各符号化LSI100に対応する複数のメモリ200を含んでいる。メモリ200は、例えばSynchronous Dynamic Random Access Memory(SDRAM)によって実現される。尚、各符号化LSI100は基本的に同様の構成を有するため、以下の説明では符号化LSI100の内、識別子としてLSI#1が割り当てられた符号化LSI100及び対応するメモリ200について説明する。
図1は、動画像符号化装置1のブロック図の一例である。図2は、領域を説明するための図である。
動画像符号化装置1は、図1に示すように、複数の符号化LSI100と各符号化LSI100に対応する複数のメモリ200を含んでいる。メモリ200は、例えばSynchronous Dynamic Random Access Memory(SDRAM)によって実現される。尚、各符号化LSI100は基本的に同様の構成を有するため、以下の説明では符号化LSI100の内、識別子としてLSI#1が割り当てられた符号化LSI100及び対応するメモリ200について説明する。
メモリ200には、ピクチャ210を水平に分割することにより生成された領域220と領域220に隣接する隣接領域230,240の一部領域231,241が参照領域として記憶される。一部領域231,241はそれぞれ垂直方向に128画素を有する。例えば、図2に示すように、1つのピクチャ210を水平に4等分に分割することにより、領域220と隣接領域230,240と隣接領域240にさらに隣接する隣接領域250が生成される。ピクチャ210の大きさが8K4K(8ビット/画素,4:2:0フォーマット)である場合、ピクチャ210を4等分することで、領域220及び隣接領域230,240,250の各大きさは8K1K(8,192×1,024画素)となる。したがって、メモリ200に領域220が記憶される場合、図2に示すように、隣接領域230,240の内、領域220と隣接する部分を含む隣接領域230,240の一部領域231,241も記憶される。LSI#1が割り当てられた符号化LSI100が担当するカレント(現時刻)ピクチャの領域220を符号化する場合、メモリ200に記憶された参照領域として参照ピクチャの領域220及び一部領域231,241が動きベクトル検出のために使用されて、カレントピクチャの領域220が符号化される。
図1に示すように、符号化LSI100は、動画像符号化部110、チップ間データ転送部120及びメモリ制御部130を含んでいる。尚、符号化LSI100は後述する全体制御部140も含んでいるが、図1では省略されている。チップ間データ転送部120は、例えばDirect Memory Access Controller(DMAC:ダイレクトメモリアクセス制御部)及びPCI express(PCIe)コントローラを含んでいる。例えば、メモリ200に記憶された垂直方向に128画素を有する一部領域221,222(図2参照)は、DMACで読み出されPCIe経由で転送される。より詳しくは、一部領域221は、LSI#0が割り当てられた符号化LSI100に転送される。一部領域222は、LSI#2が割り当てられた符号化LSI100に転送される。
次に、図3を参照して、上述した符号化LSI100の詳細について説明する。
図3は、符号化LSI100のブロック図の一例である。
符号化LSI100は、上述したとおり、動画像符号化部110、チップ間データ転送部120、メモリ制御部130及び全体制御部140を含んでいる。
動画像符号化部110は、コーデック部111、画像入力部112及びストリーム出力部113を含んでいる。
符号化LSI100は、上述したとおり、動画像符号化部110、チップ間データ転送部120、メモリ制御部130及び全体制御部140を含んでいる。
動画像符号化部110は、コーデック部111、画像入力部112及びストリーム出力部113を含んでいる。
画像入力部112には、画像入力デバイスから領域220が入力される。画像入力部112は、入力された領域220をメモリ制御部130に出力する。コーデック部111は、メモリ制御部130から取得したカレントピクチャの領域220と参照領域として参照ピクチャの領域220及び一部領域231,241を利用して、カレントピクチャの領域220を符号化する。コーデック部111は、符号化したカレントピクチャの領域220に応じたストリーム(ビットストリーム)をメモリ制御部130に出力する。また、符号化したカレントピクチャの領域220の一部領域221,222をチップ間データ転送部120に出力する。ストリーム出力部113は、メモリ制御部130からストリームを取得し、取得したストリームを出力する。
チップ間データ転送部120は、コーデック部111から出力された一部領域221,222を別の符号化LSI100に転送する。より詳しくは、チップ間データ転送部120は、LSI#0が割り当てられた符号化LSI100に一部領域221を転送する。また、チップ間データ転送部120は、LSI#2が割り当てられた符号化LSI100に一部領域222を転送する。さらに、チップ間データ転送部120は、別の符号化LSI100から転送された一部領域231,241を受信して、メモリ制御部130に出力する。
メモリ制御部130は、動画像符号化部110及びチップ間データ転送部120とメモリ200との各種データの入出力を制御する。より詳しくは、メモリ制御部130は、画像入力部112から出力されたカレントピクチャの領域220、コーデック部111から出力されたストリーム及びチップ間データ転送部120から出力された一部領域231,241をメモリ200に格納する。また、メモリ制御部130は、メモリ200からストリームを取得してストリーム出力部113に出力し、メモリ200からカレントピクチャの領域220、参照領域として参照ピクチャの領域220及び一部領域231,241を取得して、コーデック部111に出力する。
全体制御部140は、符号化LSI100の動作全体を制御する。より詳しくは、全体制御部140は、コーデック部111、画像入力部112、ストリーム出力部113及びチップ間データ転送部120の動作を制御する。これにより、各部(各モジュール)の動作モードの設定や同期制御などが行われる。
次に、図4を参照して、上述したコーデック部111の詳細について説明する。
図4は、コーデック部111のブロック図の一例である。
コーデック部111は、前処理部10、画像符号化部20、可変長符号化部30、データ転送部40、コーデック制御部50、バッファ60及びキャッシュ70を含んでいる。
コーデック部111は、前処理部10、画像符号化部20、可変長符号化部30、データ転送部40、コーデック制御部50、バッファ60及びキャッシュ70を含んでいる。
前処理部10は、例えば、イントラ予測部11及び縮小動きベクトル探索部(縮小ME)12を有し、データ転送部40に接続されている。イントラ予測部11は、例えば、カレントピクチャの領域220をメモリ200からメモリ制御部130及びデータ転送部40を介して受ける。そして、イントラ予測部11は、カレントピクチャの領域220を用いて、フレーム内予測のモードおよびコスト(差分絶対値和等)を符号化単位領域毎に算出する。すなわち、イントラ予測部11は、フレーム内予測におけるコストを符号化単位領域毎に算出する。
イントラ予測部11で算出されたフレーム内予測のモードおよびコストは、例えば、データ転送部40及びメモリ制御部130を介してメモリ200に記憶され、画像符号化部20で使用される。なお、イントラ予測部11は、フレーム内予測のモードおよびコストを、メモリ200を介さずに、画像符号化部20に出力してもよい。例えば、イントラ予測部11は、フレーム内予測のモードおよびコストを、データ転送部40を介して画像符号化部20に出力してもよい。この際、フレーム内予測のモードおよびコストは、画像符号化部20で使用されるまでイントラ予測部11内に保持されてもよいし、画像符号化部20で使用されるまで画像符号化部20内に保持されてもよい。
縮小動きベクトル探索部12は、例えば、フレーム間予測における階層的動きベクトル探索処理の前段探索処理を実施する。例えば、縮小動きベクトル探索部12は、領域220を縮小した縮小領域をメモリ200からメモリ制御部130及びデータ転送部40を介して受ける。そして、縮小動きベクトル探索部12は、縮小領域を用いて、粗い精度の動きベクトルおよびコストを符号化単位領域毎に算出する。すなわち、縮小動きベクトル探索部12は、フレーム間予測におけるコストを符号化単位領域毎に算出する。
縮小動きベクトル探索部12で算出された動きベクトルおよびコストは、例えば、データ転送部40を介してメモリ200に記憶され、画像符号化部20で使用される。なお、縮小動きベクトル探索部12は、動きベクトルおよびコストを、メモリ200を介さずに、画像符号化部20に出力してもよい。例えば、縮小動きベクトル探索部12は、動きベクトルおよびコストを、データ転送部40を介して画像符号化部20に出力してもよい。この際、動きベクトルおよびコストは、画像符号化部20で使用されるまで縮小動きベクトル探索部12内に保持されてもよいし、画像符号化部20で使用されるまで画像符号化部20内に保持されてもよい。
画像符号化部20は、等倍動きベクトル探索部(等倍ME)21、予測画生成部22、差分算出部(DIFF)23、直交変換部(T)24、量子化部(Q)25、逆量子化部(IQ)26、逆直交変換部(IT)27、動き補償部(MC)28およびループフィルタ部(LF)29を含んでいる。
等倍動きベクトル探索部21は、例えば、カレントピクチャの領域220および参照領域として参照ピクチャの領域220及び一部領域231,241をメモリ200からメモリ制御部130及びデータ転送部40を介して読み出し、各符号化単位領域の動きベクトルを探索する。
予測画生成部22は、フレーム内予測用の予測画像やフレーム間予測用の予測画像を生成する。例えば、予測画生成部22は、処理対象の符号化単位領域の隣接画素をバッファ60からデータ転送部40を介して読み出し、フレーム内予測用の予測画像を生成する。また、例えば、予測画生成部22は、参照領域として参照ピクチャのデータをメモリ200等からデータ転送部40を介して読み出し、フレーム間予測用の予測画像を生成する。なお、例えば、符号化単位領域の処理に必要な参照領域として参照ピクチャのデータがキャッシュ70に記憶されているときには、キャッシュ70から読み出される。
差分算出部23は、カレントピクチャの符号化単位領域データをメモリ200からメモリ制御部130及びデータ転送部40を介して受け、予測画像を予測画生成部22から受ける。そして、差分算出部23は、カレントピクチャの符号化単位領域データと予測画像との差分を算出し、差分画像として出力する。直交変換部24は、差分算出部23から出力された差分画像を直交変換し出力する。
量子化部25は、直交変換部24から出力された変換後の差分画像を量子化し、量子化後データを生成する。そして、量子化部25は、量子化後データを、逆量子化部26および可変長符号化部30に出力する。
逆量子化部26は、量子化部25から出力された量子化後データを逆量子化し出力する。逆直交変換部27は、逆量子化部26から出力されたデータを逆直交変換する。動き補償部28は、逆直交変換部27から出力された逆変換後のデータと予測画生成部22から受けた予測画像とを加算して、復号画像をループフィルタ部29に出力する。
ループフィルタ部29は、動き補償部28から出力された復号画像に対して、デブロッキングフィルタ処理等のループフィルタ処理を実施する。例えば、ループフィルタ部29は、処理対象の符号化単位領域の隣接画素をバッファ60からデータ転送部40を介して読み出し、ループフィルタ処理を実施する。これにより、ローカルデコード画像が生成される。ローカルデコード画像は、例えば、データ転送部40及びメモリ制御部130を介してメモリ200等に記憶される。
可変長符号化部30は、MPEG、H.264、H.265に準拠した可変長符号化処理を実行する。例えば、可変長符号化部30は、画像符号化部20により生成された符号化データを受信して、符号化データを可変長符号化しストリームを生成する。ストリームは、データ転送部40及びメモリ制御部130を介してメモリ200に格納される。
データ転送部40は、前処理部10、画像符号化部20及び可変長符号化部30とバッファ60、キャッシュ70、チップ間データ転送部120及びメモリ制御部130とのデータ転送を実行する。
コーデック制御部50は、コーデック部111内の各モジュール(回路)の動作モードの設定や、同期制御など、コーデック部111内全体の動作を制御する。
コーデック制御部50は、コーデック部111内の各モジュール(回路)の動作モードの設定や、同期制御など、コーデック部111内全体の動作を制御する。
バッファ60は、フレーム内予測用の隣接画素やデブロッキングフィルタ処理用の隣接画素等のデータを一時的に記憶する。例えば、バッファ60は、フレーム内予測用の隣接画素等のデータを一時的に記憶する。また、バッファ60は、デブロッキングフィルタ処理用の隣接画素等のデータを一時的に記憶する。
キャッシュ70は、例えば、参照領域を読み出すときに使用されるキャッシュメモリである。キャッシュ70は、例えば、処理中の符号化単位領域で参照される可能性の高い領域を自動的にプリフェッチする。
キャッシュ70は、例えば、参照領域を読み出すときに使用されるキャッシュメモリである。キャッシュ70は、例えば、処理中の符号化単位領域で参照される可能性の高い領域を自動的にプリフェッチする。
次に、図5乃至図7を参照して、符号化LSI100の動作について説明する。尚、LSI#0〜#3が割り当てられたいずれの符号化LSI100も基本的に同様に動作するため、以下の説明では、LSI#1が割り当てられた符号化LSI100の動作について説明する。
図5は、第1実施形態に係る全体制御部140の動作の一例を示すフローチャートである。図6は、第1実施形態に係る各符号化LSI100が担当する領域と領域分割の一例を説明するための図である。図7は、第1実施形態に係るLSI#1が割り当てられた符号化LSI100が担当する領域220とその前後の隣接領域230,240を説明するための図である。図6において、各符号化LSI100が担当する領域220及び隣接領域230〜250(図2参照)は、それぞれ2つのスライスに分割されている。各符号化LSI100が担当する領域の先頭から128画素ライン分が一方のスライスであり、残りの896画素ライン分が他方のスライスである。
ここで、図5に示すように、全体制御部140はコーデック部111に対し領域Bの符号化処理を実行させる(ステップS101)。これにより、コーデック部111は領域Bを符号化する。ここで、領域Bは、図6及び図7に示すように、LSI#1が割り当てられた符号化LSI100が担当する領域220の内、上述した一部領域231を探索しない領域、かつ、一部領域241から探索されない領域に該当する。すなわち、図6及び図7において、スライス#2が割り当てられた領域Aに相当する一部領域221では、符号化単位領域の動きベクトルを探索する際に、スライス#1が割り当てられた隣接領域230の一部領域231を探索する。また、スライス#4が割り当てられた一部領域241は、符号化単位領域の動きベクトルを探索する際に、領域Cに相当する領域220の一部領域222を探索する。したがって、コーデック部111は、まず、スライス#2及びスライス#3が割り当てられた領域220の内、一部領域221,222を除いた領域Bについて符号化処理を実行する。
次いで、全体制御部140は、下隣接LSIからの領域Aが転送済であるか否かを判断する(ステップS102)。すなわち、LSI#2が割り当てられた符号化LSI100から、当該符号化LSI100が担当した過去の一部領域241が転送されているか否かを判断する。全体制御部140は、下隣接LSIからの領域Aが転送済であると判断した場合(ステップS102:YES)、コーデック部111に対し領域Cの符号化処理を実行させる(ステップS103)。これにより、コーデック部111は領域C、すなわち一部領域222を符号化する。尚、全体制御部140は、下隣接LSIからの領域Aが転送済でないと判断した場合、転送待ちを確認するが(ステップS102:NO)、過去の一部領域241の転送開始指示から一部領域222が一部領域241の使用を開始するまで十分な転送時間が確保されているため、実際に転送待ちになることはほとんどない。
ステップS103の処理が完了すると、次いで、全体制御部140は、下隣接LSIへ領域Cを転送させる指示を出力する(ステップS104)。すなわち、LSI#2が割り当てられた符号化LSI100へ符号化した一部領域222を転送させる指示をチップ間データ転送部120に出力する。符号化した一部領域222はカレントより先の時刻で行われる一部領域241(領域A)の符号化の際に使用される。
次いで、全体制御部140は、上隣接LSIからの領域Cが転送済みであるか否かを判断する(ステップS105)。すなわち、LSI#0が割り当てられた符号化LSI100から、当該符号化LSI100が担当した過去の一部領域231が転送されているか否かを判断する。全体制御部140は、上隣接LSIからの領域Cが転送済であると判断した場合(ステップS105:YES)、コーデック部111に対し領域Aの符号化処理を実行させる(ステップS106)。これにより、コーデック部111は領域A、すなわち一部領域221を符号化する。尚、上記同様、全体制御部140は、上隣接LSIからの領域Cが転送済でないと判断した場合、転送の完了を待機するが(ステップS105:NO)、過去の一部領域231の転送開始指示から一部領域221が一部領域231の使用を開始するまで十分な転送時間が確保されているため、実際に転送待ちになることはほとんどない。
ステップS106の処理が完了すると、次いで、全体制御部140は、上隣接LSIへ領域Aを転送させる指示を出力する(ステップS107)。すなわち、LSI#0が割り当てられた符号化LSI100へ符号化した一部領域221を転送させる指示をチップ間データ転送部120に出力する。符号化した一部領域221はカレントより先の時刻で行われる一部領域231(領域C)の符号化の際に使用される。
図8は、第1実施形態におけるチップ間データ転送部120の動作の一例を示すフローチャートである。このフローチャートは、符号化処理と並行して行われる処理である。データ転送処理は、コーデック部111の動作に合わせてチップ間データ転送部120で行われる。
図8に示すように、チップ間データ転送部120は、全体制御部140から領域Cの転送指示があるか否かを判断する(ステップS201)。チップ間データ転送部120は、上述したステップS104の処理に従って、全体制御部140から領域Cの転送指示があったと判断した場合(ステップS201:YES)、領域Cのローカルデコード画を下隣接LSIへ転送する(ステップS202)。すなわち、チップ間データ転送部120は、符号化処理が完了した一部領域222(図2,図7参照)をコーデック部111又はメモリ200から取得してLSI#2が割り当てられた符号化LSI100に転送する。当該一部領域222は、カレントに対し時系列的に次の隣接領域240の一部領域241を符号化する際に動きベクトルの探索領域の一部として使用される。
図8に示すように、チップ間データ転送部120は、全体制御部140から領域Cの転送指示があるか否かを判断する(ステップS201)。チップ間データ転送部120は、上述したステップS104の処理に従って、全体制御部140から領域Cの転送指示があったと判断した場合(ステップS201:YES)、領域Cのローカルデコード画を下隣接LSIへ転送する(ステップS202)。すなわち、チップ間データ転送部120は、符号化処理が完了した一部領域222(図2,図7参照)をコーデック部111又はメモリ200から取得してLSI#2が割り当てられた符号化LSI100に転送する。当該一部領域222は、カレントに対し時系列的に次の隣接領域240の一部領域241を符号化する際に動きベクトルの探索領域の一部として使用される。
次いで、チップ間データ転送部120は、全体制御部140から領域Aの転送指示があるか否かを判断する(ステップS203)。チップ間データ転送部120は、上述したステップS107の処理に従って、全体制御部140から領域Aの転送指示があったと判断した場合(ステップS203:YES)、領域Aのローカルデコード画を上隣接LSIへ転送する(ステップS204)。すなわち、チップ間データ転送部120は、符号化処理が完了した一部領域221(図2,図7参照)をコーデック部111又はメモリ200から取得してLSI#0が割り当てられた符号化LSI100に転送する。当該一部領域221は、カレントに対し時系列的に次の隣接領域230の一部領域231を符号化する際に動きベクトルの探索領域の一部として使用される。
次に、図9及び図10を参照して、第1実施形態に係る動画像符号化装置1の動作タイミングについて説明する。
図9は、各符号化LSI100の動作タイミングを説明するための図である。図10は、ピクチャ#1の所定時刻におけるメモリ状態を説明するための図である。
まず、図9に示すように、時刻tが経過するにつれて、先にピクチャ#0が割り当てられたピクチャ210の符号化処理が行われ、次に、ピクチャ#1が割り当てられたピクチャ210の符号化処理が行われる。ここで、上述したフローチャートで説明したように、ピクチャ#0のピクチャ210もピクチャ#1のピクチャ210も領域B,領域C,領域Aの順で符号化処理が行われる。
まず、図9に示すように、時刻tが経過するにつれて、先にピクチャ#0が割り当てられたピクチャ210の符号化処理が行われ、次に、ピクチャ#1が割り当てられたピクチャ210の符号化処理が行われる。ここで、上述したフローチャートで説明したように、ピクチャ#0のピクチャ210もピクチャ#1のピクチャ210も領域B,領域C,領域Aの順で符号化処理が行われる。
ここで、LSI#1が割り当てられた符号化LSI100において、ピクチャ#0のピクチャ210の符号化処理が完了すると、ピクチャ#1のピクチャ210における領域Bの符号化が開始される。領域Bは、スライスの境界を表すスライス境界で始まるため、ピクチャ210内の上隣接情報(領域Bの上側に隣接する領域Aの符号化情報)を使用する必要がなく、上領域の符号化が完了していなくても符号化可能である。この場合、メモリ200における第1のメモリ状態は、図10(a)に示すようになる。すなわち、符号化単位領域CURは、ピクチャ#0の一部領域221(領域Aに相当するスライス#2)を含む領域220(領域B及びCに相当するスライス#3)における探索範囲SRの中から動きベクトルを探索するが、図9にも示すように、ピクチャ#0における領域Aの符号化処理が完了した後、引き続き、ピクチャ#1における領域Bの符号化処理が行われるため、一部領域221は別の符号化LSI100(LSI#0又はLSI#2)から転送される領域でない。したがって、一部領域221に関する転送時間は発生しない。
次に、図9に示すように、ピクチャ#1における領域Bの符号化処理が完了すると、ピクチャ#1における領域Cの符号化処理が開始されるが、領域Cの符号化処理が行われる場合、メモリ200における第2のメモリ状態は、図10(b)に示すようになる。この場合、領域Cの符号化単位領域CURの探索範囲SRは、ピクチャ#0の隣接領域240における一部領域241(領域Aに相当するスライス#4)を含むが、図9に示すように、LSI#2の符号化LSI100が担当するピクチャ#0の領域Aは符号化が完了している。また、LSI#2の符号化LSI100からLSI#1の符号化LSI100に一部領域241(領域A)を転送する場合、ピクチャ#1の領域Cの符号化処理が開始されるまで、少なくともピクチャ#1の領域Bの符号化処理が完了するまでの時間が存在する。このため、ピクチャ#1の領域Cの符号化処理が開始されるまで、一部領域241の転送が完了するだけの時間が十分に存在する。したがって、転送が間に合わないことによる領域Cの符号化処理遅延が回避される。例えば、各符号化LSI100が8K4Kの4分の1の領域(8K1K)をスライスとして担当し、動き探索のために使用するオーバーラップ領域、すなわち、チップ(符号化LSI)間の転送領域が隣接の256画素の場合、符号化処理時間は(1/60)×(512/1024)により8.3ミリ秒(1フレーム期間である60分の1秒の符号化領域面積比1024分の512の期間)となる。
次に、図9に示すように、ピクチャ#1における領域Cの符号化処理が完了すると、ピクチャ#1における領域Aの符号化処理が開始されるが、領域Aの符号化処理が行われる場合、メモリ200における第3のメモリ状態は、図10(c)に示すようになる。この場合、領域Aの符号化単位領域CURの探索範囲SRは、ピクチャ#0の隣接領域230における一部領域231(スライス#1における領域Cに相当する部分)を含むが、図9に示すように、LSI#0の符号化LSI100が担当するピクチャ#0の領域Cは符号化が完了している。また、LSI#0の符号化LSI100からLSI#1の符号化LSI100に一部領域231(領域C)を転送する場合、ピクチャ#1の領域Aの符号化処理が開始されるまで、少なくともピクチャ#0の領域A、ピクチャ#1の領域B及び領域Cの符号化処理が完了するまでの時間(約1フレーム期間として約16.7秒程度)が存在する。このため、ピクチャ#1の領域Aの符号化処理が開始されるまで、一部領域231の転送が完了するだけの時間が十分に存在する。したがって、転送が間に合わないことによる領域Aの符号化処理遅延も回避される。
尚、以上説明した内容は、LSI#1の符号化LSI100以外の符号化LSI100にもあてはまる。
尚、以上説明した内容は、LSI#1の符号化LSI100以外の符号化LSI100にもあてはまる。
次に、図11を参照して、上述した第1実施形態における動作タイミングに対する第1の比較例を説明する。
図11は、第1の比較例に係る各符号化LSI100の動作タイミングを説明するための図である。
図11に示す第1の比較例における各符号化LSI100では、ピクチャ#0のピクチャ210もピクチャ#1のピクチャ210も領域A,領域B,領域Cの順で符号化処理が行われる。この場合、LSI#1が割り当てられた符号化LSI100において、ピクチャ#1の領域Cを符号化する場合、動きベクトル探索のために、LSI#2が割り当てられた符号化LSI100からピクチャ#0の領域Aを転送してもらう必要ある。ところが、LSI#1の符号化LSI100がピクチャ#1の領域Cを符号化するまでには、少なくともピクチャ#0の領域B及び領域C並びにピクチャ#1の領域A及び領域Bを符号化するだけの時間があるため、十分な転送時間が確保されている。
図11に示す第1の比較例における各符号化LSI100では、ピクチャ#0のピクチャ210もピクチャ#1のピクチャ210も領域A,領域B,領域Cの順で符号化処理が行われる。この場合、LSI#1が割り当てられた符号化LSI100において、ピクチャ#1の領域Cを符号化する場合、動きベクトル探索のために、LSI#2が割り当てられた符号化LSI100からピクチャ#0の領域Aを転送してもらう必要ある。ところが、LSI#1の符号化LSI100がピクチャ#1の領域Cを符号化するまでには、少なくともピクチャ#0の領域B及び領域C並びにピクチャ#1の領域A及び領域Bを符号化するだけの時間があるため、十分な転送時間が確保されている。
一方、LSI#1が割り当てられた符号化LSI100において、ピクチャ#1の領域Aを符号化する場合、動きベクトル探索のために、LSI#0が割り当てられた符号化LSI100からピクチャ#0の領域Cを転送してもらう必要ある。ところが、LSI#1の符号化LSI100がピクチャ#1の領域Aを符号化するまでには、ピクチャ#0からピクチャ#1に切り替えるだけの時間しかない。このため、転送時間が十分に確保されておらず、LSI#1の符号化LSI100がピクチャ#1の領域Aの符号化を開始するまでに、LSI#0が割り当てられた符号化LSI100からピクチャ#0の領域Cの転送が間に合わなくなる。すなわち、ピクチャ#0の領域Cの転送が完了するまで、LSI#1の符号化LSI100がピクチャ#1の領域Aの符号化を開始することができず、符号化処理の遅延が発生する。
例えば、上記同様、各符号化LSI100が8K4Kの4分の1の領域(8K1K)をスライスとして担当し、転送領域が隣接の256画素の場合、データ転送サイズは約2.52メガビット(8,192×256×8ビット×1.5)。このとき、チップ間のデータ転送スピードを4Gbpsとすると、転送に費やす時間や約6.3ミリ秒である。仮に転送領域の256画素の符号化処理の進行に合わせて、符号化処理の開始と同時に転送を開始したとしても、符号化処理時間は(1/60)×(256/1024)により4.2ミリ秒(1フレーム期間である60分の1秒の符号化領域面積比1024分の256の期間)となり、符号化処理時間をオーバーし、約2.1ミリ秒の無駄なアイドル期間(待機期間)が発生する。
次に、図12を参照して、上述した第1実施形態における動作タイミングに対する第2の比較例を説明する。
図12は、第2の比較例に係る各符号化LSI100の動作タイミングを説明するための図である。
上述した第1の比較例の問題を回避するために、例えば、LSI#0の符号化LSI100が担当するピクチャ#0の領域Cが、直下のスライスを担当するLSI、すなわちLSI#1の符号化LSI100に転送完了してから、当該符号化LSI100による符号化処理が行われるように、各符号化LSI100をパイプライン的に処理することも考えられる。この場合、ピクチャ#0とピクチャ#1とのピクチャ間で無駄な時間が発生することは抑えられるが、LSI#0の符号化LSI100がピクチャ#0の領域Aの符号化を開始してからLSI#3の符号化LSI100がピクチャ#1の領域Cの符号化を完了するまでを考慮すると、第1の比較例に比べて符号化に係る総時間が延びてしまい、符号化時間が全体として遅延する。また、第2の比較例の場合、ピクチャ間で符号化LSI100の同期を取っていないため、ピクチャ単位の符号量割り当てにおいて、前ピクチャの符号化処理が全て完了する前に、次ピクチャの符号量割り当て処理を行う必要があり、レート制御が難しくなる。
上述した第1の比較例の問題を回避するために、例えば、LSI#0の符号化LSI100が担当するピクチャ#0の領域Cが、直下のスライスを担当するLSI、すなわちLSI#1の符号化LSI100に転送完了してから、当該符号化LSI100による符号化処理が行われるように、各符号化LSI100をパイプライン的に処理することも考えられる。この場合、ピクチャ#0とピクチャ#1とのピクチャ間で無駄な時間が発生することは抑えられるが、LSI#0の符号化LSI100がピクチャ#0の領域Aの符号化を開始してからLSI#3の符号化LSI100がピクチャ#1の領域Cの符号化を完了するまでを考慮すると、第1の比較例に比べて符号化に係る総時間が延びてしまい、符号化時間が全体として遅延する。また、第2の比較例の場合、ピクチャ間で符号化LSI100の同期を取っていないため、ピクチャ単位の符号量割り当てにおいて、前ピクチャの符号化処理が全て完了する前に、次ピクチャの符号量割り当て処理を行う必要があり、レート制御が難しくなる。
このように第1の比較例ではピクチャ間に無駄な時間が発生し、第2の比較例では、ピクチャ210に対する符号化遅延が発生したり、レート制御が難しくなったりするが、第1実施形態では、領域220及び隣接領域230〜250内において符号化していく領域の順序を変更し、入力された過去のピクチャの隣接領域230の一部領域231を探索しない、領域220から一部領域221を除いた領域を符号化してから、一部領域231を探索する領域220の一部領域221を符号化する。これにより、ピクチャ間で無駄なアイドル期間が生じることはなく、データ転送のオーバーヘッドによる性能低下が解消する。したがって、複数の符号化LSI100による処理性能の向上を引き出すことができる。
そして、無駄なアイドル期間を補償するために周波数を上げる必要はなく、消費電力を低く保つことが可能である。転送される各領域の処理完了から使用開始までに十分な時間を確保できるようになるため、チップ間の転送スピードも下げることができ、より低コストのインタフェースを使用することができる。また、第2の比較例で説明した各符号化LSI100をパイプライン的に処理することもないため、パイプラインに基づく遅延も発生せず、ピクチャ処理で同期をとることができるため、レート制御も容易になる。
さらに、第1実施形態では、領域Aを1つのスライス、領域B及び領域Cを1つのスライスとし、ピクチャ210内のデータ依存関係をスライスで分断しておくことにより、領域B及び領域Cを領域Aより先に符号化処理することが可能となっている。領域Aを1つのスライスとすることで、その上の領域(別の符号化LSIが担当する領域)との依存関係を切ることができ、符号化LSI100間で符号化に要する符号化情報を転送する必要がなくなる。
尚、第1実施形態では、ピクチャ210を横方向(水平方向)に分割した領域を例に説明したが、図19に示すように、領域をさらに縦方向(垂直方向)に分割したタイルを利用してもよい。タイルを利用した場合、領域B及び領域Cを1つのタイルとする第1領域の先頭部及び領域Aを1つのタイルとする第2領域の先頭部は、いずれもタイルの境界を表すタイル境界であることが要求される。
(第2実施形態)
次に、図13乃至図18を参照して、第2実施形態について説明する。第2実施形態では、各符号化LSI100が担当する領域は、スライス先頭から始まっていない点で第1実施形態と相違する。
まず、図13乃至図15を参照して、符号化LSI100の動作について説明する。
次に、図13乃至図18を参照して、第2実施形態について説明する。第2実施形態では、各符号化LSI100が担当する領域は、スライス先頭から始まっていない点で第1実施形態と相違する。
まず、図13乃至図15を参照して、符号化LSI100の動作について説明する。
図13は、第2実施形態に係る全体制御部140の動作の一例を示すフローチャートである。図14は、第2実施形態に係る各符号化LSI100が担当する領域と領域分割の一例を説明するための図である。図15は、第2実施形態に係るLSI#1が割り当てられた符号化LSI100が担当する領域220(スライス#1)の一部とその前の隣接領域230(スライス#0)の一部を説明するための図である。図14に示すように、各符号化LSI100は、スライス境界から、垂直に探索範囲SR分の128画素上方にずれた8K1Kを担当する。尚、LSI#0が割り当てられた符号化LSI100については、スライス#0の上部896画素ライン分と、スライス#3の下部128画素ラインを担当する。図15において、領域Aはスライス#0の下部128画素ライン分の領域である。領域Bはスライス#1の上部768画素ライン分の領域である。領域Cは、スライス#1の領域B下方128画素ライン分の領域である。
ここで、図13に示すように、全体制御部140はコーデック部111に対し領域Bの符号化処理を実行させる(ステップS301)。これにより、コーデック部111は領域Bを符号化する。この領域Bは、図15に示すように、スライス境界で始まるため、上隣接情報を使用する必要がなく、領域Bの上の領域Aの符号化が終わっていなくても符号化可能である。
次いで、全体制御部140は、下隣接LSIからの領域Aが転送済であるか否かを判断する(ステップS302)。すなわち、LSI#2が割り当てられた符号化LSI100から、当該符号化LSI100が担当した過去の一部領域223(図15参照)が転送されているか否かを判断する。全体制御部140は、下隣接LSIからの領域Aが転送済であると判断した場合(ステップS302:YES)、コーデック部111に対し領域Cの符号化処理を実行させる(ステップS303)。これにより、コーデック部111は領域C、すなわち一部領域224を符号化する。尚、全体制御部140は、下隣接LSIからの領域Aが転送済でないと判断した場合、転送待ちを確認するが(ステップS302:NO)、過去の一部領域223の転送開始指示から一部領域224が一部領域223の使用を開始するまで十分な転送時間が確保されているため、実際に転送待ちになることはほとんどない。
ステップS303の処理が完了すると、次いで、全体制御部140は、下隣接LSIへスライス内符号化情報転送指示をチップ間データ転送部120に出力する(ステップS304)。スライス内符号化情報転送指示は、スライス内の符号化に要する後述の符号化情報を転送させる指示である。次いで、全体制御部140は、下隣接LSIへ領域Cの転送指示をチップ間データ転送部120に出力する(ステップS305)。これらの処理により、チップ間データ転送部120は、スライス内の符号化情報と領域Cに相当する一部領域224をLSI#2が割り当てられた符号化LSI100に転送する。LSI#2の符号化LSI100は、スライス内の符号化情報と領域Cを利用して、自身が担当する領域Aを符号化する。
次いで、全体制御部140は、上隣接LSIからのスライス内の符号化情報が転送済であるか否かを判断する(ステップS306)。すなわち、LSI#0が割り当てられた符号化LSI100からスライス内の符号化情報が転送済であるか否かを判断する。後続する領域Aの符号化にあたっては、領域Aの先頭部がスライス境界から始まる領域でない非スライス境界であるため、領域Aの上の領域を担当するLSI#0の符号化LSI100から、スライス内の符号化情報を引き継いで符号化することが求められる。このため、領域Aの符号化処理を開始する前にLSI#0の符号化LSI100(上隣接LSI)の領域Cの符号化処理が完了していることを確認し、スライス内の符号化情報を転送してもらうことが求められる。
転送してもらう符号化情報としては、イントラ符号化に使用する上隣接画素や予測モード、インター符号化を行うための上隣接の予測ベクトルや符号化モードが必要である。デブロッキングフィルタを掛けるためには、上隣接の4画素ライン、また、フィルタパラメータを算出するための符号化モード、上隣接ベクトル、量子化値、直交変換係数の有無情報などが必要である。また、エントロピー符号化のためには、エントロピー符号化の上隣接符号化情報、コンテキストモデルの転送も必要となる。なお、これらの符号化情報は画像符号化部20、可変長符号化部30から出力され、バッファ60に一旦格納され、チップ間データ転送部120を介して隣接する符号化LSI100へ転送される。これらの符号化情報が隣接する下位の符号化LSI100に送られ、下位の符号化LSI100の画像符号化部20、可変長符号化部30に取り込まれることにより、領域を継続して符号化することができる。これらの符号化情報は、各符号化LSI100が担当する領域境界に隣接する数画素ライン、あるいは、隣接する1ブロックライン内の符号化情報であるため、探索領域のための参照領域と比べると、データ量は小さく、転送にかかる時間は無視できる。
全体制御部140は、上隣接LSIからのスライス内の符号化情報が転送済であると判断した場合(ステップS306:YES)、上隣接LSIからの領域Cが転送済みであるか否かを判断する(ステップS307)。すなわち、LSI#0が割り当てられた符号化LSI100から、当該符号化LSI100が担当した過去の一部領域232(図15参照)が転送されているか否かを判断する。全体制御部140は、上隣接LSIからの領域Cが転送済であると判断した場合(ステップS307:YES)、コーデック部111に対し領域Aの符号化処理を実行させる(ステップS308)。これにより、コーデック部111は領域A、すなわち一部領域233(図15参照)を符号化する。尚、上記同様、全体制御部140は、上隣接LSIからの領域Cが転送済でないと判断した場合、転送の完了を待機するが(ステップS307:NO)、過去の一部領域232の転送開始指示から一部領域233が一部領域232の使用を開始するまで十分な転送時間が確保されているため、実際に転送待ちになることはほとんどない。
ステップS308の処理が完了すると、次いで、全体制御部140は、上隣接LSIへ領域Aを転送させる指示を出力する(ステップS309)。すなわち、LSI#0が割り当てられた符号化LSI100へ符号化した一部領域233を転送させる指示をチップ間データ転送部120に出力する。符号化した一部領域233はカレントより先の時刻で行われる一部領域232(領域C)の符号化の際に使用される。
図16は、第2実施形態におけるチップ間データ転送部120の動作の一例を示すフローチャートである。このフローチャートも、符号化処理と並行して行われる処理である。データ転送処理は、コーデック部111の動作に合わせてチップ間データ転送部120で行われる。
図16に示すように、チップ間データ転送部120は、全体制御部140からスライス内符号化情報転送指示があったか否かを判断する(ステップS401)。チップ間データ転送部120は、全体制御部140からスライス内符号化情報転送指示があったと判断した場合(ステップS401:YES)、スライス内の符号化情報を下隣接LSIへ転送する(ステップS402)。すなわち、LSI#2の符号化LSI100にスライス内の符号化情報が転送される。
図16に示すように、チップ間データ転送部120は、全体制御部140からスライス内符号化情報転送指示があったか否かを判断する(ステップS401)。チップ間データ転送部120は、全体制御部140からスライス内符号化情報転送指示があったと判断した場合(ステップS401:YES)、スライス内の符号化情報を下隣接LSIへ転送する(ステップS402)。すなわち、LSI#2の符号化LSI100にスライス内の符号化情報が転送される。
次いで、チップ間データ転送部120は、全体制御部140から領域Cの転送指示があるか否かを判断する(ステップS403)。チップ間データ転送部120は、上述したステップS305の処理に従って、全体制御部140から領域Cの転送指示があったと判断した場合(ステップS403:YES)、領域Cのローカルデコード画を下隣接LSIへ転送する(ステップS404)。すなわち、チップ間データ転送部120は、符号化処理が完了した一部領域224(図15参照)をコーデック部111又はメモリ200から取得してLSI#2が割り当てられた符号化LSI100に転送する。当該一部領域224は、カレントに対し時系列的に次の一部領域223を符号化する際に動きベクトルの探索領域の一部として使用される。
次いで、チップ間データ転送部120は、全体制御部140から領域Aの転送指示があるか否かを判断する(ステップS405)。チップ間データ転送部120は、上述したステップS309の処理に従って、全体制御部140から領域Aの転送指示があったと判断した場合(ステップS405:YES)、領域Aのローカルデコード画を上隣接LSIへ転送する(ステップS406)。すなわち、チップ間データ転送部120は、符号化処理が完了した一部領域233(図15参照)をコーデック部111又はメモリ200から取得してLSI#0が割り当てられた符号化LSI100に転送する。当該一部領域233は、カレントに対し時系列的に次の一部領域232を符号化する際に動きベクトルの探索領域の一部として使用される。
次に、図17及び図18を参照して、第2実施形態に係る動画像符号化装置1の動作タイミングについて説明する。
図17は、各符号化LSI100の動作タイミングを説明するための図である。図18は、ピクチャ#1の所定時刻におけるメモリ状態を説明するための図である。
まず、図17に示すように、時刻tが経過するにつれて、先にピクチャ#0が割り当てられたピクチャ210の符号化処理が行われ、次に、ピクチャ#1が割り当てられたピクチャ210の符号化処理が行われる。ここで、図13を参照して説明したフローチャートで説明したように、第2実施形態においても、ピクチャ#0のピクチャ210もピクチャ#1のピクチャ210も領域B,領域C,領域Aの順で符号化処理が行われる。
まず、図17に示すように、時刻tが経過するにつれて、先にピクチャ#0が割り当てられたピクチャ210の符号化処理が行われ、次に、ピクチャ#1が割り当てられたピクチャ210の符号化処理が行われる。ここで、図13を参照して説明したフローチャートで説明したように、第2実施形態においても、ピクチャ#0のピクチャ210もピクチャ#1のピクチャ210も領域B,領域C,領域Aの順で符号化処理が行われる。
ここで、LSI#1が割り当てられた符号化LSI100において、ピクチャ#0のピクチャ210の符号化処理が完了すると、ピクチャ#1のピクチャ210における領域Bの符号化が開始される。領域Bは、スライスの境界を表すスライス境界で始まるため、ピクチャ210内の上隣接情報を使用する必要がなく、上領域の符号化が完了していなくても符号化可能である。この場合、メモリ200における第1のメモリ状態は、図18(a)に示すようになる。すなわち、符号化単位領域CURは、既に符号化したピクチャ#0の一部領域223(領域Aに相当するスライス#0)を含む領域220の一部(領域Bの一部)における探索範囲SRの中から動きベクトルを探索するが、図17にも示すように、ピクチャ#0における領域Aの符号化処理が完了した後、引き続き、ピクチャ#1における領域Bの符号化処理が行われるため、一部領域233は別の符号化LSI100(LSI#0又はLSI#2)から転送される領域でない。したがって、一部領域233に関する転送時間は発生しない。
次に、図17に示すように、ピクチャ#1における領域Bの符号化処理が完了すると、ピクチャ#1における領域Cの符号化処理が開始されるが、領域Cの符号化処理が行われる場合、メモリ200における第2のメモリ状態は、図18(b)に示すようになる。この場合、領域Cの符号化単位領域CURの探索範囲SRは、ピクチャ#0の領域220における一部領域223(LSI#0から転送される領域Aに相当するスライス#1)を含むが、図17に示すように、LSI#2の符号化LSI100が担当するピクチャ#0の領域Aは符号化が完了している。また、LSI#2の符号化LSI100からLSI#1の符号化LSI100に一部領域223(領域A)を転送する場合、ピクチャ#1の領域Cの符号化処理が開始されるまで、少なくともピクチャ#1の領域Bの符号化処理が完了するまでの時間が存在する。このため、ピクチャ#1の領域Cの符号化処理が開始されるまで、一部領域223の転送が完了するだけの時間が十分に存在する。したがって、転送が間に合わないことによる領域Cの符号化処理遅延が回避される。
次に、図17に示すように、ピクチャ#1における領域Cの符号化処理が完了すると、スライス内の符号化情報を利用したピクチャ#1における領域Aの符号化処理が開始されるが、領域Aの符号化処理が行われる場合、メモリ200における第3のメモリ状態は、図18(c)に示すようになる。この場合、領域Aの符号化単位領域CURの探索範囲SRは、ピクチャ#0の隣接領域230における一部領域232(LSI#0から転送されるスライス#0における領域Cに相当する部分)を含むが、図17に示すように、LSI#0の符号化LSI100が担当するピクチャ#0の領域Cは符号化が完了している。また、LSI#0の符号化LSI100からLSI#1の符号化LSI100に一部領域232(領域C)を転送する場合、ピクチャ#1の領域Aの符号化処理が開始されるまで、少なくともピクチャ#0の領域A、ピクチャ#1の領域B及び領域Cの符号化処理が完了するまでの時間が存在する。このため、ピクチャ#1の領域Aの符号化処理が開始されるまで、一部領域232の転送が完了するだけの時間が十分に存在する。したがって、転送が間に合わないことによる領域Aの符号化処理遅延も回避される。
尚、以上説明した内容は、LSI#1の符号化LSI100以外の符号化LSI100にもあてはまる。
尚、以上説明した内容は、LSI#1の符号化LSI100以外の符号化LSI100にもあてはまる。
以上説明したように、第2実施形態でも、領域220及び隣接領域230〜250内において符号化していく領域の順序を変更し、入力された過去の隣接領域230の一部領域232を探索しない、領域220から一部領域223を除いた領域を符号化してから、一部領域232を探索する領域220の一部領域233を符号化する。これにより、ピクチャ間で無駄なアイドル期間が生じることはなく、データ転送のオーバーヘッドによる性能低下が解消する。また、第2実施形態では、第1実施形態と比べて分割が少ないため、符号化効率が上がる。特に、第2実施形態では、領域Aの符号化処理開始時には、上領域を担当するLSI#0の符号化LSI100が担当する領域B及び領域Cの符号化処理完了を待ち、かつ、領域を継続して符号化処理を行うための符号化情報を受け取ることが求められる。LSI#0の符号化LSI100からのスライス内の符号化情報を受け取ることにより、連続したスライスとして符号化処理が可能となる。
尚、第2実施形態でも、ピクチャ210を横方向に分割した領域を例に説明したが、図19を参照して説明したように、領域をさらに縦方向に分割したタイルを利用してもよい。タイルを利用した場合、領域B及び領域Cを1つのタイルとする第1領域の先頭部がタイル境界であることが要求される。この場合においても、スライスを利用して説明した符号化情報が要求される。
以上、本発明の好ましい実施形態について詳述したが、本発明に係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。例えば、符号化LSI100の数は、ピクチャ210の分割数に応じて定めればよい。
なお、以上の説明に関して更に以下の付記を開示する。
(付記1)動画像の一画像を分割した複数の領域をそれぞれ符号化する複数の動画像符号化器を含む動画像符号化装置であって、前記動画像符号化器の少なくとも1つは、他の動画像符号化器から転送される符号化済領域の一部領域を探索しない第1領域を符号化してから前記一部領域を探索する第2領域を符号化することを特徴とする動画像符号化装置。
(付記2)前記第1領域の先頭部及び前記第2領域の先頭部は、いずれもスライス境界又はタイル境界であることを特徴とする付記1に記載の動画像符号化装置。
(付記3)前記第1領域の先頭部はスライス境界又はタイル境界であって、前記第2領域の先頭部は前記スライス境界又は前記タイル境界でない非境界であって、前記動画像符号化器は、前記他の動画像符号化器が符号化する前記第1領域から継続して前記第2領域を符号化するために要する情報を前記他の動画像符号化器から受信することを特徴とする付記1に記載の動画像符号化装置。
(付記4)前記情報は、前記第2領域境界の上隣接画素、予測モード、予測ベクトル、量子化値、符号化モード、エントロピー符号化に用いるコンテキストの少なくとも1つを含むことを特徴とする付記3に記載の動画像符号化装置。
(付記5)動画像の一画像を分割した領域の1つを符号化する動画像符号化器であって、他の動画像符号化器から転送される符号化済領域の一部領域を探索しない第1領域を符号化してから前記一部領域を探索する第2領域を符号化する符号化手段を有する動画像符号化器。
(付記6)前記第1領域の先頭部及び前記第2領域の先頭部は、いずれもスライス境界又はタイル境界であることを特徴とする付記5に記載の動画像符号化器。
(付記7)前記第1領域の先頭部はスライス境界又はタイル境界であって、前記第2領域の先頭部は前記スライス境界又は前記タイル境界でない非境界であって、前記動画像符号化器は、前記他の動画像符号化器が符号化する前記第1領域から継続して前記第2領域を符号化するために要する情報を前記他の動画像符号化器から受信することを特徴とする付記5に記載の動画像符号化器。
(付記8)前記情報は、前記第2領域境界の上隣接画素、予測モード、予測ベクトル、量子化値、符号化モード、エントロピー符号化に用いるコンテキストの少なくとも1つを含むことを特徴とする付記7に記載の動画像符号化器。
(付記1)動画像の一画像を分割した複数の領域をそれぞれ符号化する複数の動画像符号化器を含む動画像符号化装置であって、前記動画像符号化器の少なくとも1つは、他の動画像符号化器から転送される符号化済領域の一部領域を探索しない第1領域を符号化してから前記一部領域を探索する第2領域を符号化することを特徴とする動画像符号化装置。
(付記2)前記第1領域の先頭部及び前記第2領域の先頭部は、いずれもスライス境界又はタイル境界であることを特徴とする付記1に記載の動画像符号化装置。
(付記3)前記第1領域の先頭部はスライス境界又はタイル境界であって、前記第2領域の先頭部は前記スライス境界又は前記タイル境界でない非境界であって、前記動画像符号化器は、前記他の動画像符号化器が符号化する前記第1領域から継続して前記第2領域を符号化するために要する情報を前記他の動画像符号化器から受信することを特徴とする付記1に記載の動画像符号化装置。
(付記4)前記情報は、前記第2領域境界の上隣接画素、予測モード、予測ベクトル、量子化値、符号化モード、エントロピー符号化に用いるコンテキストの少なくとも1つを含むことを特徴とする付記3に記載の動画像符号化装置。
(付記5)動画像の一画像を分割した領域の1つを符号化する動画像符号化器であって、他の動画像符号化器から転送される符号化済領域の一部領域を探索しない第1領域を符号化してから前記一部領域を探索する第2領域を符号化する符号化手段を有する動画像符号化器。
(付記6)前記第1領域の先頭部及び前記第2領域の先頭部は、いずれもスライス境界又はタイル境界であることを特徴とする付記5に記載の動画像符号化器。
(付記7)前記第1領域の先頭部はスライス境界又はタイル境界であって、前記第2領域の先頭部は前記スライス境界又は前記タイル境界でない非境界であって、前記動画像符号化器は、前記他の動画像符号化器が符号化する前記第1領域から継続して前記第2領域を符号化するために要する情報を前記他の動画像符号化器から受信することを特徴とする付記5に記載の動画像符号化器。
(付記8)前記情報は、前記第2領域境界の上隣接画素、予測モード、予測ベクトル、量子化値、符号化モード、エントロピー符号化に用いるコンテキストの少なくとも1つを含むことを特徴とする付記7に記載の動画像符号化器。
1 動画像符号化装置
20 画像符号化部(符号化手段)
100 符号化LSI(動画像符号化器、他の動画像符号化器)
200 メモリ
20 画像符号化部(符号化手段)
100 符号化LSI(動画像符号化器、他の動画像符号化器)
200 メモリ
Claims (4)
- 動画像の一画像を分割した複数の領域をそれぞれ符号化する複数の動画像符号化器を含む動画像符号化装置であって、
前記動画像符号化器の少なくとも1つは、他の動画像符号化器から転送される符号化済領域の一部領域を探索しない第1領域を符号化してから前記一部領域を探索する第2領域を符号化することを特徴とする動画像符号化装置。 - 前記第1領域の先頭部及び前記第2領域の先頭部は、いずれもスライス境界又はタイル境界であることを特徴とする請求項1に記載の動画像符号化装置。
- 前記第1領域の先頭部はスライス境界又はタイル境界であって、前記第2領域の先頭部は前記スライス境界又は前記タイル境界でない非境界であって、
前記動画像符号化器は、前記他の動画像符号化器が符号化する前記第1領域から継続して前記第2領域を符号化するために要する情報を前記他の動画像符号化器から受信することを特徴とする請求項1に記載の動画像符号化装置。 - 動画像の一画像を分割した領域の1つを符号化する動画像符号化器であって、
他の動画像符号化器から転送される符号化済領域の一部領域を探索しない第1領域を符号化してから前記一部領域を探索する第2領域を符号化する符号化手段
を有する動画像符号化器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014059639A JP6206280B2 (ja) | 2014-03-24 | 2014-03-24 | 動画像符号化装置及び動画像符号化器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014059639A JP6206280B2 (ja) | 2014-03-24 | 2014-03-24 | 動画像符号化装置及び動画像符号化器 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015185979A JP2015185979A (ja) | 2015-10-22 |
JP6206280B2 true JP6206280B2 (ja) | 2017-10-04 |
Family
ID=54352095
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014059639A Expired - Fee Related JP6206280B2 (ja) | 2014-03-24 | 2014-03-24 | 動画像符号化装置及び動画像符号化器 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6206280B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10743023B2 (en) | 2015-12-04 | 2020-08-11 | Sony Corporation | Image processing apparatus and image processing method |
JP7350744B2 (ja) * | 2018-07-27 | 2023-09-26 | ソニーセミコンダクタソリューションズ株式会社 | 画像処理装置 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06351000A (ja) * | 1993-06-07 | 1994-12-22 | Matsushita Electric Ind Co Ltd | 画像信号符号化装置と画像信号復号装置 |
JPH08205142A (ja) * | 1994-12-28 | 1996-08-09 | Daewoo Electron Co Ltd | ディジタルビデオ信号への符号化/復号化装置 |
JPH09294262A (ja) * | 1996-04-26 | 1997-11-11 | Hitachi Ltd | 画像符号化装置 |
JPWO2005125215A1 (ja) * | 2004-06-18 | 2008-04-17 | 富士通株式会社 | 画像データ符号化装置、および符号化方法 |
JP4616057B2 (ja) * | 2005-04-13 | 2011-01-19 | パイオニア株式会社 | 画像符号化装置及び画像符号化方法 |
JP4674496B2 (ja) * | 2005-06-08 | 2011-04-20 | ソニー株式会社 | 符号化装置、復号装置、符号化方法、復号方法、それらのプログラム |
JP5294688B2 (ja) * | 2007-06-18 | 2013-09-18 | キヤノン株式会社 | 動画像圧縮符号化装置 |
CN101897190B (zh) * | 2007-11-28 | 2012-06-20 | 松下电器产业株式会社 | 图像编码方法和图像编码装置 |
JP5309700B2 (ja) * | 2008-06-03 | 2013-10-09 | 富士通株式会社 | 動画像復号装置および符号化装置 |
WO2010029850A1 (ja) * | 2008-09-09 | 2010-03-18 | 日本電気株式会社 | 画像符号化装置、画像復号化装置、画像符号化方法、画像復号化方法、及びそのプログラム |
CN101686388B (zh) * | 2008-09-24 | 2013-06-05 | 国际商业机器公司 | 视频流编码装置及其方法 |
JP2011217082A (ja) * | 2010-03-31 | 2011-10-27 | Jvc Kenwood Corp | 画像符号化装置、画像符号化方法、画像符号化プログラム、画像復号装置、画像復号方法及び画像復号プログラム |
JP2012175424A (ja) * | 2011-02-22 | 2012-09-10 | Panasonic Corp | 符号化処理装置および符号化処理方法 |
US20120263225A1 (en) * | 2011-04-15 | 2012-10-18 | Media Excel Korea Co. Ltd. | Apparatus and method for encoding moving picture |
JP5995583B2 (ja) * | 2012-07-26 | 2016-09-21 | キヤノン株式会社 | 画像符号化装置、画像復号装置、画像符号化方法、画像復号方法、及びプログラム |
-
2014
- 2014-03-24 JP JP2014059639A patent/JP6206280B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2015185979A (ja) | 2015-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10212441B2 (en) | Method and apparatus for processing video | |
JP6258333B2 (ja) | ビデオコーディングにおける仮想参照デコーダパラメータ | |
TWI499275B (zh) | 用於視頻傳輸的方法和系統 | |
CN104429081B (zh) | 基于干净随机存取(cra)图片的流式传输适应 | |
US10757431B2 (en) | Method and apparatus for processing video | |
US20180035123A1 (en) | Encoding and Decoding of Inter Pictures in a Video | |
WO2006073116A1 (ja) | 映像符号化方法及び装置、映像復号方法及び装置、それらのプログラムおよびそれらプログラムを記録した記録媒体 | |
TW201349872A (zh) | 於視訊寫碼中之低延遲視訊緩衝 | |
CN104488267A (zh) | 平铺块及波前并行处理 | |
US9392278B2 (en) | Image encoding or decoding apparatus, system, method, and storage medium for encoding or decoding a plurality of images in parallel | |
US9693065B2 (en) | Encoding apparatus, encoding method and program | |
US11122284B2 (en) | Picture coding device, picture coding method, and picture coding program, and picture decoding device, picture decoding method, and picture decoding program | |
JP6569665B2 (ja) | 画像復号装置、画像復号方法、及び集積回路 | |
KR20130119465A (ko) | 블록 기반의 샘플링 코딩 시스템 | |
JPWO2009063646A1 (ja) | 画像復号装置及び画像復号方法 | |
CN105245896A (zh) | Hevc并行运动补偿方法及装置 | |
JP2007088922A (ja) | 符号化装置と符号化方法 | |
JP6206280B2 (ja) | 動画像符号化装置及び動画像符号化器 | |
US20150358630A1 (en) | Combined Parallel and Pipelined Video Encoder | |
US20130156114A1 (en) | Data Movement Reduction In Video Compression Systems | |
Salah et al. | Hevc implementation for iot applications | |
US10904560B2 (en) | Method and device for encoding a plurality of image frames | |
US11438631B1 (en) | Slice based pipelined low latency codec system and method | |
KR100955828B1 (ko) | 참조 프레임 선택을 이용한 고성능 멀티미디어 코덱에 사용되는 움직임 추정 연산 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20161206 |
|
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: 20170808 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170821 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6206280 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |