JP2014529256A - ビデオ符号化パイプラインのためのシステム、方法及びコンピュータプログラム - Google Patents

ビデオ符号化パイプラインのためのシステム、方法及びコンピュータプログラム Download PDF

Info

Publication number
JP2014529256A
JP2014529256A JP2014529669A JP2014529669A JP2014529256A JP 2014529256 A JP2014529256 A JP 2014529256A JP 2014529669 A JP2014529669 A JP 2014529669A JP 2014529669 A JP2014529669 A JP 2014529669A JP 2014529256 A JP2014529256 A JP 2014529256A
Authority
JP
Japan
Prior art keywords
frame
motion estimation
reconstruction
processor
frames
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2014529669A
Other languages
English (en)
Other versions
JP5905582B2 (ja
Inventor
イ,サン−ヒ
ジョウ,ジエン
ルゥ,ニーン
タナー,ジェイソン,ディー.
イ,チャンウォン,ディー.
ジアーン,ホーン
Original Assignee
インテル コーポレイション
インテル コーポレイション
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 インテル コーポレイション, インテル コーポレイション filed Critical インテル コーポレイション
Publication of JP2014529256A publication Critical patent/JP2014529256A/ja
Application granted granted Critical
Publication of JP5905582B2 publication Critical patent/JP5905582B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • 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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/53Multi-resolution motion estimation; Hierarchical motion estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures

Abstract

ビデオ符号化処理の効率性を向上させる方法、システム及びコンピュータプログラム。モード判定処理及びビットストリームパッキングが、シーケンスにおける各種フレームについてパラレルに実行される。これは、モード判定処理ロジックとビットストリームパッキングロジックとの双方のアイドル時間を低減し、ビデオエンコーダの全体的な効率性を向上させる。

Description

ビデオ符号化は、モード判定(動き推定を含む)とビットストリームパッキング(フレーム再構成を含む)との2つのプロセスを含みうる。これらのプロセスは、パイプライン化された方法により実現されてもよい。モード判定プロセスはプログラマブルコア上で実行され、ビットストリームパッキングはハードウェアにより実現されてもよい。あるいは、これらのプロセスは、GPU(Graphics Processing Unit)に一部のタスクをオフロードするCPU(Central Processing Unit)を含むアーキテクチャ上で実行されてもよい。例えば、ビットストリームパッキングはCPU上で実行され、モード判定はGPU上で実行されてもよい。
モード判定処理とビットストリームパッキング処理との間のインタラクションは、符号化プロセスを低速化しうる相互依存性を含む。この2つのステージのパイプライン処理は、フレーム全体がモード判定ロジックにより処理され、その後にビットストリームパッキングロジックにより処理されるピクチャベースである可能性がある。ビットストリームパッキングロジックは、モード判定ロジックにより生成される動きベクトル及びマイクロブロックモードなどの付加情報にアクセスするため、モード判定ロジックがフレームの処理を終了するのを待機する可能性がある。モード判定ロジックは、動き推定(ME)用のリファレンスとして再構成されたフレームを利用するため、前のフレームに対して実行されるビットストリームパッキングロジックの終了を待機する可能性がある。これらの依存性は、ビデオ符号化処理について要求される時間の一因となり、ユーザ体感に影響を与える可能性がある。
図1は、パイプライン化されたモード判定プロセスとビットストリームパッキングプロセスとを示すブロック図である。 図2は、フレームシーケンスの処理を示す図である。 図3は、フレームシーケンスの処理を示す図である。 図4は、一実施例によるフレームシーケンスの処理を示す図である。 図5は、図4の実施例の一例となる処理を示すフローチャートである。 図6は、一実施例によるフレームシーケンスの処理を示す図である。 図7は、図6の実施例の一例となる処理を示すフローチャートである。 図8は、他の実施例によるフレームシーケンスの処理を示す図である。 図9は、図8の実施例の一例となる処理を示すフローチャートである。 図10は、他の実施例によるフレームシーケンスの処理を示す図である。 図11は、図10の実施例の一例となる処理を示すフローチャートである。 図12は、他の実施例によるフレームシーケンスの処理を示す図である。 図13は、図12の実施例の一例となる処理を示すフローチャートである。 図14は、他の実施例によるフレームシーケンスの処理を示す図である。 図15は、図14の実施例の一例となる処理を示すフローチャートである。 図16は、他の実施例によるフレームシーケンスの処理を示す図である。 図17は、図16の実施例の一例となる処理を示すフローチャートである。 図18は、ソフトウェア又はファームウェアの実施例の計算状況を示すブロック図である。 図面において、参照番号の最左桁は、参照番号が最初に出現した図を特定する。
同様の参照番号が同一の又は機能的に類似する要素を示す図面を参照して、実施例が説明される。特定のコンフィギュレーション及び厚生が説明されるが、これは単なる例示目的のために行われることが理解されるべきである。当業者は、本開示の趣旨及び範囲から逸脱することなく、他のコンフィギュレーション及び構成が利用可能であることを認識するであろう。これがここに説明された以外の各種の他のシステム及びアプリケーションにおいて利用可能であることは、関連分野の当業者に明らかであろう。
ビデオ符号化プロセスの効率性を向上させる方法、システム及びコンピュータプログラムがここに開示される。モード判定処理及びビットストリームパッキング処理は、あるシーケンスの各種フレームについてパラレルに実行されてもよい。これは、モード判定処理ロジックとビットストリームパッキングロジックとの双方についてアイドル時間を低減し、ビデオエンコーダの全体的な効率性を向上させる。
図1は、ビデオ符号化において出現する依存性を示す。フレーム110は、モード判定モジュール120に入力される。当該モジュールは、動き推定機能を有し、データ130を生成する。データ130は、1以上の動きベクトル(MV)と共に、マクロブロック(MB)モードを含む。その後、データ130は、ビットストリームパッキングモジュール140に入力される。当該モジュールは、フレーム再構成機能を有する。ビットストリームパッキングモジュール140は、その後に再構成されたフレーム150を生成する。ビットストリームパッキング処理は、従って、モード判定モジュール120により生成されたMV及びMBモード130に依拠する。次のフレームを処理する際、モード判定モジュール120は、前のフレームについて生成された再構成されたレーム150を必要とする。再構成されたフレーム150は、次のフレームの動き推定のためのリファレンスとしてモード判定モジュール120により利用される。
これは、図2に示される処理タイムラインを生じさせる。この図は、符号化順にIBBPBBP...の形態を有するフレームシーケンスのケースを示す。ここで、Iはイントラフレーム(intra frame)を表し、Bは双予測フレーム(bi−predictive frame)を表し、Pは予測フレーム(predictive frame)を表す。この図では(及び以下の同様の全ての図)、文字に添付される数字はシーケンス全体におけるポジションを示す。第1フレームはI0であり、次のフレームはB1であり、B2,P3に続く。図2において、各フレームは、モード判定モジュール(ENCとして示される)により処理され、その後に順にビットストリームパッキングモジュール(PAKとして示される)により処理される。フレームがモード判定(ENC)モジュールにより処理される間、ビットストリームパッキング(PAK)モジュールはアイドルであり、またその反対もある。これは、上述された依存性に対応する。各フレームについて、ビットストリームパッキングプロセスは、モード判定プロセスの完了及び出力(すなわち、MV及びMBモード)を待機する。次のフレームに対するモード判定プロセスは、前のフレームの再構成されたフレームが動き推定に利用されるように、前のフレームに対するビットストリームパッキングの完了を待機する。
まず、フレームI0(又は他のアンカーフレームP0)がモード判定モジュールにより処理される。当該フレームは、その後に、モード判定プロセスから得られたMV及びMBモードを用いて、ビットストリームパッキングモジュールにより次の時間区間において処理される。I0に対するビットストリームパッキングプロセスの完了後、モード判定プロセスは、次の時間区間において次のフレームP3について行われる。P3に対するモード判定プロセスは、フレームI0について実行されたビットストリームパッキングプロセスから生じる再構成されたフレームを利用する。この交互のシーケンスは、図示されるように、以降のフレームについて続けられる。ビットストリームパッキングモジュールとモード判定モジュールとのそれぞれは交互の時間区間においてアイドル状態になる可能性があることに留意されたい。
また、この図及び以降の同様の図において、番号付けされた時間区間は等しい長さでなく、所与のフレームの指定された処理を収容するのに必要な程度の長さであってもよいことに留意されたい。
図3は、IPPP...の形態のフレーム系列に対する同様の処理シーケンスを示す。まず、フレームI0(又はアンカーフレームP0)がモード判定モジュールにより処理される。その後、当該フレームは、モード判定プロセスから得られたMV及びMBモードを用いて、ビットストリームパッキングモジュールにより次の時間区間において処理される。I0に対するビットストリームパッキングプロセスの完了後、モード判定プロセスが、次の時間区間において次のフレームP1について行われる。P1のモード判定プロセスは、フレームI0に対して実行されたビットストリームパッキングプロセスから得られる再構成されたフレームを利用する。この交互のシーケンスが、図示されるように、以降のフレームについて続けられる。上述されたように、ビットストリームパッキングモジュールとモード判定モジュールとのそれぞれは交互の時間区間においてアイドルとなることに留意されたい。
一実施例では、モード判定プロセスとビットストリームパッキングプロセスとのパラレルな処理を可能にすることによって、効率性が向上する。図4において、IBBPBBP...のケースの具体例が示される。ここで、フレームB2のモード判定処理は、フレームB1のビットストリームパッキングの完了を待機する必要はない。B1の再構成されたフレームを利用する代わりに、B2のモード判定処理は、前に処理されたI又はPフレームから再構成された1以上のフレームを利用する。本例では、I0又はP3について再構成されたフレームが利用されてもよい。これは、B2に対するモード判定処理がB1に対するビットストリームパッキング処理と同時に実行されることを可能にする。このパラレル化は、図示されるように継続される。P6のモード判定処理はB2のビットストリームパッキングの完了を待機する必要はなく、P6のモード判定処理は、B2の再構成されたフレームを待機する代わりに、前のI又はPフレームから再構成されたフレームを利用するようにしてもよい。この結果、P6のモード判定処理及びB2のビットストリームパッキングは、図示された実施例において同時に行われるようにしてもよい。当該処理は、Bフレームが以降のフレームのリファレンスフレームとして利用されなくてもよいという仮定に基づく。少なくとも1つのビデオ符号化規格では、Bフレームはまた、動き推定リファレンスフレームとして利用されることが可能とされてもよい。Bフレームがリファレンスフレームとして設定されている場合、それは、Pフレームと同様にして処理されてもよい。
図4のフレームシーケンス(すなわち、IBBPBBP...)は、各Pフレームの前に2つのBフレームを有する繰り返しのサブシーケンスを特徴とすることに留意されたい。他のシーケンスでは、各Pフレーム前に2つより多くのBフレームを有するサブシーケンスがあってもよい。
図5において、一実施例による図4の処理が示される。505において、モード判定処理(動き推定を含む)がIフレームに対して実行される。510において、ビットストリームパッキング(フレーム再構成を含む)が当該フレームに対して実行される。515において、モード判定処理が最初のPフレーム(すなわち、図4の例ではP3)に対して実行される。520において、ビットストリームパッキングが当該フレームに対して実行される。525において、モード判定処理がBフレームi(ただし、初期的にはi=1)に対して実行される。図4において、当該フレームはB1として示される。530において、モード判定処理は、フレームi+1としてここで示される次のBフレームに対して実行される。当該同一の時間区間中、ビットストリームパッキングが、535において、Bフレームiに対して実行される。
540において、次のPフレーム前に処理されるべき更なるBフレームがあるか判断される。更なるBフレームがある場合、545において、iは1だけインクリメントされ、処理は530,535に続き、次のBフレームが考慮される。次のPフレーム前に処理されるべきBフレームがもはやない場合、処理は550に続き、次のPフレームが考慮される。555において、モード判定処理は当該次のPフレームに対して実行される。同一の時間区間中、ビットストリームパッキングが、560において、Bフレームi+1に対して実行される。その後、処理は565に続き、iが3だけインクリメントされる。その後、520において、ビットストリームパッキングがPフレームに対して実行される。
他の実施例では、B1のモード判定処理は、P3の再構成されたフレームの代わりに、リファレンスとしてオリジナルフレームを利用する。このケースでは、B1のモード判定処理は、P3のビットストリームパッキングの完了を待機する必要はない。これは、B1のモード判定処理がP3に対するビットストリームパッキングとパラレルに行われることを可能にする。このコンセプトは、各サブシーケンスB...BPにおける最初のBフレーム毎に拡張されてもよい。
図6において、これが示される。ここでは、B1のモード判定処理がP3のビットストリームパッキングと同時に行われる。上述されたように、フレームB2のモード判定処理は、フレームB1のビットストリームパッキングの完了を待機する必要はない。B1の再構成されたフレームを利用する代わりに、B2のモード判定処理は、以前に処理されたI又はPフレームから再構成された1以上のフレームを利用する。これは、B2に対するモード判定処理がB1のビットストリームパッキング処理と同時に行われることを可能にする。このパターンは、図示されるように継続される。
図7において、一実施例による図6の処理が示される。705において、モード判定処理(動き推定を含む)がIフレームに対して実行される。710において、ビットストリームパッキング(フレーム再構成を含む)が当該Iフレームに対して実行される。715において、モード判定処理が、最初のPフレーム(すなわち、図6の例ではP3)に対して実行される。720において、ビットストリームパッキングが当該フレームに対して実行される。同時に、725において、モード判定処理がBフレームiに対して実行される(ただし、初期的にはi=1)。当該フレームは、図6においてB1として示される。730において、モード判定処理は、フレームi+1としてここで示される次のBフレームに対して実行される。この同一の時間区間中、ビットストリームパッキングが、735において、Bフレームiに対して実行される。
740において、次のPフレームの前に処理されるべき更なるBフレームがあるか判断される。更なるBフレームがある場合、745において、iは1だけインクリメントされ、処理は730,735に続き、次のBフレームが考慮される。次のPフレームの前に処理されるべきBフレームがもはやない場合、処理は750に続き、次のPフレームが考慮される。755において、モード判定処理は、当該次のPフレームに対して実行される。この同一の時間区間中、760において、ビットストリームパッキングはBフレームi+1に対して実行される。その後、処理は765に続き、iが3だけインクリメントされる。モード判定処理がBフレームiに対して実行される間に、ビットストリームパッキングがその後に720においてPフレームに対して実行される。
他の実施例では、最初のPフレームは、I0のビットストリームパッキングから得られる再構成されたフレームの代わりに、モード判定処理のためにI0のオリジナルフレームを利用する。図8において、これが示される。ここで、P3に対するモード判定処理は、I0に対するビットストリームパッキングと同時に行われてもよい。図8の実施例はまた、図4,6に関して上述されたパラレル化を利用する。特に、フレームB2に対するモード判定処理は、フレームB1のビットストリームパッキングの完了を待機する必要はない。B1の再構成されたフレームを利用する代わりに、B2のモード判定処理は、以前に処理されたI又はPフレームから再構成された1以上のフレームを利用する。本例では、I0又はP3に対して再構成されたフレームが利用される。これは、B2に対するモード判定処理がB1に対するビットストリームパッキング処理と同時に行われることを可能にする。また、B1のモード判定処理は、P3の再構成されたフレームの代わりにリファレンスとしてオリジナルフレームを利用する。この場合、B1のモード判定処理は、P3のビットストリームパッキングの完了を待機する必要はない。これは、B1のモード判定処理がP3に対するビットストリームパッキングとパラレルに行われることを可能にする。
図9において、一実施例による図8の処理が示される。905において、モード判定処理(動き推定を含む)がIフレームに対して実行される。910において、ビットストリームパッキング(フレーム再構成を含む)が当該フレームに対して実行される。同時に915において、モード判定処理が最初のPフレーム(すなわち、図8の例におけるP3)に対して実行される。920において、ビットストリームパッキングが当該フレームに対して実行される。同時に925において、モード判定処理がBフレームiに対して実行される(ただし、初期的にi=1)。当該フレームは、図8においてB1として示される。930において、モード判定処理は、ここではフレームi+1として示される次のBフレームに対して実行される。この同一の時間区間中、935において、ビットストリームパッキングがBフレームiに対して実行される。
940において、次のPフレームの前に処理されるべき更なるBフレームがあるか判断される。更なるBフレームがある場合、945において、iは1だけインクリメントされ、処理は930,935に続き、次のBフレームが考慮される。次のPフレームの前に処理されるべき更なるBフレームがない場合、処理は950に続き、次のPフレームが考慮される。955において、モード判定処理が当該次のPフレームに対して実行される。この同一の時間区間中、960において、ビットストリームパッキングがBフレームi+1に対して実行される。その後、処理は965において続けられ、iは3だけインクリメントされる。その後、モード判定処理が925においてBフレームに対して実行される間、920において、ビットストリームパッキングが現在のPフレームに対して実行される。
他の実施例では、オリジナルフレームが整数動き推定のためのリファレンスとして利用され、再構成されたフレームが小数動き推定のためのリファレンスとして利用されてもよい。これは、図10に示されるパラレル化を可能にする。ここで、最初のPフレーム(すなわち、P3_i)の整数動き推定は、I0のビットストリームパッキングから得られる再構成されたフレームを利用する代わりに、動き推定のためのリファレンスとしてオリジナルフレームを利用する。P3_iの動き推定は、フレームI0のビットストリームパッキングとパラレルに実行されてもよい。Pフレーム(すなわち、P3_f)の小数動き推定が、その後に実行される。同様の理由のため、最初のBフレーム(すなわち、B1_i)の整数動き推定は、動き推定のためのリファレンスとしてオリジナルフレームを利用し、フレームP3のビットストリームパッキングとパラレルに実行されてもよい。B1フレーム(すなわち、B1_f)の小数動き推定が、その後に実行される。図示されるように、当該プロセスはこのようにして続けられ、各サブシーケンスBB...BPの最初のBフレームに対して、別々の整数及び小数動き推定(ME)が実行される。
図11において、本実施例の処理が示される。1105において、モード判定処理(動き推定を含む)が、Iフレームに対して実行される。1110において、ビットストリームパッキング(フレーム再構成を含む)が、当該フレームに対して実行される。同時に1115において、整数MEが最初のPフレーム(すなわち、図10の例におけるP3)に対して実行される。1117において、小数MEがP3に対して実行される。1120において、ビットストリームパッキングが当該フレームに対して実行される。同時に1125において、整数動き推定がBフレームiに対して実行される。ただし、初期的にはi=1である。図10において、これはB1_iとして示される。1127において、小数MEがBフレームiに対して実行される。図10において、これはB1_fとして示される。1130において、モード判定処理が、Bフレームi+1として示される次のBフレームに対して実行される。この同一の時間区間中、1135において、ビットストリームパッキングがBフレームに対して実行される。
1140において、次のPフレームの前に処理されるべき更なるBフレームがあるか判断される。更なるBフレームがある場合、1145において、iは1だけインクリメントされ、処理は1130,1135に続き、次のBフレームが考慮される。次のPフレームの前に処理すべきBフレームがない場合、処理は1150に続き、次のPフレームが考慮される。1155において、モード判定処理が当該次のPフレームに対して実行される。この同一の時間区間中、1160において、ビットストリームパッキングBフレームi+1に対して実行される。その後、処理は1165に続き、iは3だけインクリメントされる。その後、整数MEを含むモード判定処理が、1125においてBフレームに対して実行される間、1120において、ビットパッキングがPフレームに対して実行される。
同様のアプローチが、IPPP...の形態のフレーム系列が与えられたとき、パラレル処理を実現するため利用されてもよい。図12において、これが示される。上述されるように、オリジナルフレームが整数動き推定のためのリファレンスとして利用され、再構成されたフレームが小数動き推定のためのリファレンスとして利用されてもよい。これは、図12に示されるパラレル化を可能にする。ここで、最初のPフレーム(すなわち、P1_i)のための整数動き推定は、I0のビットストリームパッキングから得られる再構成されたフレームを利用する代わりに、動き推定のためのリファレンスとしてオリジナルフレームを利用してもよい。従って、P1_iの動き推定は、フレームI0のビットストリームパッキングとパラレルに実行される。その後、Pフレーム(すなわち、P1_f)の小数動き推定が、I0のビットストリームパッキングにおいて再構成されたフレームを利用して実行される。その後、P2_iとして示される次のPフレームの整数MEが、フレームP1のビットストリームパッキングから得られる再構成されたフレームの代わりに、オリジナルフレームを用いて実行される。従って、P2(すなわち、P2_i)の整数MEが、P1のビットストリームパッキングとパラレルに実行される。その後、P2(すなわち、P2_f)の小数MEが、P1のビットストリームパッキングから得られる再構成されたフレームを用いて実行される。図示されるように、当該パターンにより処理が継続される。
図13において、本実施例の処理が示される。1310において、モード判定処理は、IフレームI0に対して実行される。1320において、整数MEがPフレームiに対して実行される。ただし、初期的にはi=1である。同時に1330において、ビットストリームパッキングがIフレームに対して実行される。1340において、小数MEがPフレームiに対して実行される。
1350において、整数MEがPフレームi+1に対して実行される。同時に1360において、ビットストリームパッキングがPフレームiに対して実行される。1370において、小数MEがPフレームi+1に対して実行される。1380において、iが1だけインクリメントされる。その後、処理は1350,1360に続き、次のPフレームが考慮される。
他の実施例では、Nレイヤ階層動き検索が動き推定において利用されてもよい。この場合、オリジナルフレームが、前のフレームのビットストリームパッキングから得られる再構成されたフレームの代わりに、より低い解像度の動き推定のために利用されてもよい。他方、再構成されたフレームはより高い解像度の動き推定のために利用されてもよい。低解像度動き推定に関して、符号化効率は失われないかもしれない。より低い解像度からの動きベクトルは、より高い解像度の動き推定の検索の中心のためにのみ利用され、以降において精緻化されるためである。
オリジナルフレームが再構成されたフレームの代わりにより低い解像度の動き推定のために利用されるため、図14の実施例に示されるように、パラレル化が実現される。ここで、最初のPフレーム(すなわち、P3_L)の低解像度動き推定は、I0のビットストリームパッキングから得られる再構成されたフレームを利用する代わりに、動き推定のためのリファレンスとしてオリジナルフレームを利用する。従って、P3_Lの動き推定は、フレームI0のビットストリームパッキングとパラレルに実行される。その後、Pフレーム(すなわち、P3_H)の高解像度動き推定が実行される。同様に、最初のBフレーム(すなわち、B1_i)の低解像度動き推定は、動き推定のためのリファレンスとしてオリジナルフレームを利用し、フレームP3のビットストリームパッキングとパラレルに実行される。その後、B1フレーム(すなわち、B1_H)の高解像度動き推定が実行される。図示されるように、当該プロセスはこのようにして継続され、各サブシーケンスBB...BPの最初のBフレームに対して、別々の低解像度及び高解像度動き推定が実行される。
図15において、本実施例の処理が示される。1505において、モード判定処理(動き推定を含む)が、Iフレームに対して実行される。1510において、ビットストリームパッキング(フレーム再構成を含む)が、当該フレームに対して実行される。同時に1515において、低解像度MEが最初のPフレーム(すなわち、図14の例におけるP3_L)に対して実行される。1517において、高解像度MEがP3、すなわち、図14のP3_Hに対して実行される。1520において、ビットストリームパッキングがP3に対して実行される。同時に1525において、低解像度動き推定がBフレームに対して実行される。ここで、初期的にはi=1である。これは、図14においてB1_Lとして示される。1527において、高解像度MEがBフレームiに対して実行される。これは、図14においてB1_Hとして示される。1530において、モード判定処理が、Bフレームi+1として示される次のBフレームに対して実行される。この同一の時間区間中、1535において、ビットストリームパッキングがBフレームiに対して実行される。
1540において、次のPフレームの前に処理すべき更なるBフレームがあるか判断される。更なるBフレームがある場合、1545において、iは1だけインクリメントされ、処理は1530,1535に続き、次のBフレームが考慮される。次のPフレームの前に処理されるべきBフレームがない場合、処理は1550に続き、次のPフレームが考慮される。1555において、モード判定処理が当該次のPフレームに対して実行される。この同一の時間区間中、1560において、ビットストリームパッキングがBフレームi+1に対して実行される。その後、処理は1565に続き、iが3だけインクリメントされる。その後、低解像度MEを含むモード判定処理がBフレームiに対して実行される間、1520において、ビットストリームパッキングが現在のPフレームに対して実行される。
このコンセプトはまた、IPP...Pの形態のフレームシーケンスに拡張されてもよい。これは、図16の実施例に示される。ここで、最初のPフレーム(すなわち、P1_L)の低解像度動き推定が、I0のビットストリームパッキングから得られる再構成されたフレームを利用する代わりに、動き推定のためのリファレンスとしてオリジナルフレームを利用する。従って、P1_Lの動き推定は、フレームI0のビットストリームパッキングとパラレルに実行される。その後、Pフレーム(すなわち、P1_H)の高解像度動き推定は、I0のビットストリームパッキングにおいて再構成されたフレームを用いて実行される。P2_Lとして示される次のPフレームの低解像度MEは、フレームP1のビットストリームパッキングから得られる再構成されたフレームの代わりに、オリジナルフレームを用いて実行される。P2(すなわち、P2_L)の低解像度MEは、P1のビットストリームパッキングとパラレルに実行される。P2(すなわち、P2_H)の高解像度MEは、その後に、P1のビットストリームパッキングから得られる再構成されたフレームを用いて実行される。その後、図示されるように、処理はこのようにして継続される。
図17において、本実施例の処理が示される。1710において、モード判定処理が、IフレームI0に対して実行される。1720において、低解像度MEがPフレームiに対して実行される。ここで、初期的にはi=1である。同時に1730において、ビットストリームパッキングがIフレームに対して実行される。1740において、高解像度MEがPフレームiに対して実行される。
1750において、低解像度MEがPフレームi+1に対して実行される。同時に1760において、ビットストリームパッキングがPフレームiに対して実行される。1770において、高解像度MEがPフレームi+1に対して実行される。1780において、iが1だけインクリメントされる。その後、処理は1750,1760に続き、次のPフレームが考慮される。
ここに説明されたシステム、方法及びコンピュータプログラムは、同様の機能を有するビデオエンコーダ又は他のコンポーネントにおいて実現されてもよい。さらに、ここに説明されたシステム、方法及びコンピュータプログラムはまた、パーソナルコンピュータ(PC)、ラップトップコンピュータ、ウルトララップトップ若しくはネットブックコンピュータ、タブレット、タッチパッド、ポータブルコンピュータ、携帯コンピュータ、パームトップコンピュータ、PDA(Personal Digital Assistant)、携帯電話、携帯電話/PDAの組み合わせ、スマートデバイス(スマートフォン、スマートタブレット又はスマートテレビなど)、モバイルインターネットデバイス(MID)、メッセージングデバイス、データ通信デバイスなどに関して実現されてもよい。
ここに開示される1以上の特徴は、離散及集積回路ロジック、ASIC(Application Specific Integrated Circuit)ロジック及びマイクロコントローラを含むハードウェア、ソフトウェア、ファームウェア及びこれらの組み合わせにより実現され、ドメイン固有集積回路パッケージ又は集積回路パッケージの組み合わせの一部として実現されてもよい。ここで用いられるソフトウェアという用語は、ここに開示された1以上の特徴及び/又は特徴の組み合わせをコンピュータシステムに実行させるためのコンピュータプログラムロジックを格納したコンピュータ可読媒体を含むコンピュータプログラムを表す。一時的コンピュータ可読媒体の具体例は、ローカル若しくはワイドエリアネットワークを介し又はインターネットなどのネットワークを介し無線周波数若しくは電気コンダクタを介し送信されるデジタル信号であってもよい。非一時的コンピュータ可読媒体の具体例は、コンパクトディスク、フラッシュメモリ、RAM(Random Access Memory)、ROM(Read Only Memory)又は他のデータストレージデバイスであってもよい。
図18において、比較及び正規化機能のソフトウェアの実施例が示される。図示されるシステム1800は、1以上のプロセッサ1820を有し、さらにメモリ1810の本体を含むものであってもよい。プロセッサ1820は、CPU(Cnetral Processing Unit)及び/又はGPU(Graphics Processing Unit)を有してもよい。メモリ1810は、コンピュータプログラムロジック1840を格納可能な1以上のコンピュータ可読媒体を有してもよい。メモリ1810は、ハードディスクドライブ、コンパクトディスクなどの着脱可能な媒体、ROM若しくはRAMデバイス又はこれらの組み合わせとして実現されてもよい。プロセッサ1820及びメモリ1810は、バスなどの当業者に既知の複数の技術の何れかを用いて通信する。メモリ1810に含まれるコンピュータプログラムロジック1840は、プロセッサ1820によりリード及び実行されてもよい。I/O1830としてまとめて示される1以上のI/Oポート及び/又はI/Oデバイスがまた、プロセッサ1820及びメモリ1810に接続されてもよい。
コンピュータプログラムロジック1840は、モード判定コード1850を有してもよい。当該モジュールは、動き推定を含む上述されたモード判定処理を行ってもよい。上述されるように、いくつかの実施例では、動き推定は再構成されたフレームの代わりにオリジナルフレームを用いて実行されてもよい。この場合、モード判定コード1850は、オリジナルフレームを用いて動き推定を実行するよう適切に構成される。
コンピュータプログラムロジック1840は、ビットストリームパッキングコード1860を有してもよい。当該モジュールは、フレーム再構成を含む上述されたビットストリームパッキング処理を行ってもよい。
コンピュータプログラムロジック1840は、ディパッチングコード1850を有してもよい。当該モジュールは、モード判定処理及び/又はビットストリームパッキング処理について、これらのプロセスが上述されたようにパラレルに実行されることがある場合、所与のフレームのディスパッチ処理を行ってもよい。
このパラレル化は、異なるコンポーネントにおいて異なるプロセスを実行することによって部分的に実現されてもよい。一実施例(図示せず)では、モード判定処理はソフトウェア又はファームウェアにより実現され、ビットストリームパッキングはハードウェアにより実現されてもよい。他の実施例では、ビットストリームパッキングはソフトウェア又はハードウェアにより実現され、モード判定処理はハードウェアにより実現されてもよい。あるいは、ビットストリームパッキング及びモード判定処理の双方がソフトウェア/ファームウェアにより実現されてもよく、それぞれは異なるプロセッサ上で実行されてもよい。例えば、ビットストリームパッキングは、CPU上で実行されるソフトウェア又はファームウェアにより実現され、モード判定処理はGPU上で実行されるソフトウェア又はファームウェアにより実現されてもよい。
上記説明はフレーム符号化に関することに留意されたい。しかしながら、上述されたコンセプトは、他の符号化形態により広く適用されてもよい。例えば、当業者に理解されるように、上記コンセプトはまた、所与のフレームがトップ及びボトムフィールドに分離されるフィールド符号化に適用されてもよい。ここでは、エンコーダは、トップ及びボトムフィールドを別々に処理し、それらを別のフレームとして処理することによって、フレームを処理してもよい。
機能、特徴及びその関係を示す機能構成ブロックを用いて方法及びシステムが開示された。これらの機能構成ブロックの境界の少なくとも一部は、説明の便宜上ここでは任意に規定された。他の境界は、指定された機能及びその関係が適切に実行される限り規定されてもよい。
各種実施例がここで開示されるが、それらは限定でなく単なる具体例として提供されていることが理解されるべきである。形式及び詳細の各種変更はここに開示された方法及びシステムの趣旨及び範囲から逸脱することなく可能であることが、関連技術の当業者に明らかであろう。従って、請求項の幅及び範囲は、ここに開示された実施例の何れかにより限定されるべきでない。

Claims (22)

  1. ビデオエンコーダにおいて、各サブシーケンスが符号化順に予測フレーム(Pフレーム)と後続する複数の双予測フレーム(Bフレーム)とから構成される、イントラフレーム(Iフレーム)と後続するサブシーケンスセットとから構成されるフレームシーケンスについて、
    前記Iフレームに対して動き推定を実行するステップと、
    前記Iフレームに対して再構成を実行するステップと、
    第1Pフレームに対して動き推定を実行するステップと、
    前記第1Pフレームに対して再構成を実行するステップと、
    時間区間中に第1Bフレームに対して動き推定を実行するステップと、
    次の時間区間中、第2Bフレームに対して動き推定を実行する間に、前記第1Bフレームに対して再構成を実行するステップと、
    を有する方法。
  2. 前記第1Bフレームに対して動き推定を実行するステップは、前記第1Pフレームに対する再構成の実行中に実行される、請求項1記載の方法。
  3. 前記第1Bフレームに対して動き推定を実行するステップは、リファレンスとしてオリジナルフレームを利用する、請求項2記載の方法。
  4. 前記第1Pフレームに対して動き推定を実行するステップは、前記第1Bフレームに対して動き推定を実行するステップ及び前記第1Pフレームに対して再構成を実行するステップの前に、前記Iフレームに対する再構成の実行中に実行される、請求項2記載の方法。
  5. 前記第1Pフレームの整数動き推定が前記Iフレームの再構成中に実行され、その後、前記第1Pフレームの小数動き推定が実行され、
    前記第1Bフレームの整数動き推定が前記第1Pフレームの再構成中に実行され、その後、前記第1Bフレームの小数動き推定が実行される、請求項1記載の方法。
  6. 前記第1Pフレームの低解像度動き推定が前記Iフレームの再構成中に実行され、その後、前記第1Pフレームの高解像度動き推定が実行され、
    前記第1Bフレームの低解像度動き推定が前記第1Pフレームの再構成中に実行され、その後、前記第1Bフレームの高解像度動き推定が実行される、請求項1記載の方法。
  7. 前記第1Pフレーム及び前記第1Bフレームの低解像度動き推定は、オリジナルフレームを用いて実行され、
    前記第1Pフレーム及び前記第1Bフレームの高解像度動き推定は、再構成されたフレームを用いて実行される、請求項6記載の方法。
  8. プロセッサと、
    前記プロセッサと通信するメモリデバイスと、
    を有するシステムであって、
    前記メモリデバイスは、各サブシーケンスが符号化順に予測フレーム(Pフレーム)と後続する複数の双予測フレーム(Bフレーム)とから構成される、イントラフレーム(Iフレーム)と後続するサブシーケンスセットとから構成されるフレームシーケンスについて、
    前記Iフレームに対する動き推定と、
    前記Iフレームに対する再構成と、
    第1Pフレームに対する動き推定と、
    前記第1Pフレームに対する再構成と、
    時間区間中における第1Bフレームに対する動き推定と、
    次の時間区間中における前記第1Bフレームに対する再構成及び同時の第2Bフレームに対する動き推定と、
    を前記プロセッサに実行させるよう構成される複数の処理命令を格納するシステム。
  9. 前記第1Bフレームに対する動き推定が、前記第1Pフレームに対する再構成中に実行される、請求項8記載のシステム。
  10. 前記第1Bフレームに対する動き推定が、リファレンスとしてオリジナルフレームを利用する、請求項9記載のシステム。
  11. 前記第1Pフレームに対する動き推定が、前記第1Bフレームに対する動き推定及び前記第1Pフレームに対する再構成前に、前記Iフレームに対する再構成中に実行される、請求項9記載のシステム。
  12. 前記第1Pフレームの整数動き推定が前記Iフレームの再構成中に実行され、その後、前記第1Pフレームの小数動き推定が実行され、
    前記第1Bフレームの整数動き推定が前記第1Pフレームの再構成中に実行され、その後、前記第1Bフレームの小数動き推定が実行される、請求項8記載のシステム。
  13. 前記第1Pフレームの低解像度動き推定が前記Iフレームの再構成中に実行され、その後、前記第1Pフレームの高解像度動き推定が実行され、
    前記第1Bフレームの低解像度動き推定が前記第1Pフレームの再構成中に実行され、その後、前記第1Bフレームの高解像度動き推定が実行される、請求項8記載のシステム。
  14. 前記第1Pフレーム及び前記第1Bフレームの低解像度動き推定が、オリジナルフレームを用いて実行され、
    前記第1Pフレーム及び前記第1Bフレームの高解像度動き推定が、再構成されたフレームを用いて実行される、請求項13記載のシステム。
  15. コンピュータプログラムロジックが格納される非一時的コンピュータ可読媒体を有するコンピュータプログラムであって、
    前記コンピュータプログラムロジックは、
    各サブシーケンスは符号化順に予測フレーム(Pフレーム)と後続する複数の双予測フレーム(Bフレーム)とから構成される、イントラフレーム(Iフレーム)と後続するサブシーケンスセットとから構成されるフレームシーケンスについて、
    プロセッサに前記Iフレームに対して動き推定を開始させるロジックと、
    前記プロセッサに前記Iフレームに対して再構成を開始させるロジックと、
    前記プロセッサに第1Pフレームに対して動き推定を開始させるロジックと、
    前記プロセッサに前記第1Pフレームに対して再構成を開始させるロジックと、
    前記プロセッサに時間区間中に第1Bフレームに対して動き推定を開始させるロジックと、
    前記プロセッサに次の時間区間中に前記第1Bフレームに対する再構成及び第2Bフレームに対する同時の動き推定を開始させるロジックと、
    を有するコンピュータプログラム。
  16. 前記第1Bフレームに対する動き推定は、前記第1Pフレームに対する再構成中に実行される、請求項15記載のコンピュータプログラム。
  17. 前記第1Bフレームに対する動き推定は、リファレンスとしてオリジナルフレームを利用する、請求項16記載のコンピュータプログラム。
  18. 前記第1Pフレームに対する動き推定は、前記第1Bフレームに対する動き推定及び前記第1Pフレームに対する再構成前に、前記Iフレームに対する再構成中に実行される、請求項16記載のコンピュータプログラム。
  19. 前記第1Pフレームの整数動き推定が前記Iフレームの再構成中に実行され、その後、前記第1Pフレームの小数動き推定が実行され、
    前記第1Bフレームの整数動き推定が前記第1Pフレームの再構成中に実行され、その後、前記第1Bフレームの小数動き推定が実行される、請求項15記載のコンピュータプログラム。
  20. 前記第1Pフレームの低解像度動き推定が前記Iフレームの再構成中に実行され、その後、前記第1Pフレームの高解像度動き推定が実行され、
    前記第1Bフレームの低解像度動き推定が前記第1Pフレームの再構成中に実行され、その後、前記第1Bフレームの高解像度動き推定が実行される、請求項15記載のコンピュータプログラム。
  21. プロセッサと、
    前記プロセッサと通信するメモリデバイスと、
    を有するシステムであって、
    前記メモリデバイスは、イントラフレーム(Iフレーム)と後続する予測フレーム(Pフレーム)のセットとから構成されるフレームシーケンスについて、
    前記Iフレームに対する動き推定と、
    前記Iフレームに対する再構成と、
    第1Pフレームに対する動き推定及び第2Pフレームに対する同時の整数動き推定と、
    を前記プロセッサに実行させるよう構成される複数の処理命令を格納するシステム。
  22. プロセッサと、
    前記プロセッサと通信するメモリデバイスと、
    を有するシステムであって、
    前記メモリデバイスは、イントラフレーム(Iフレーム)と後続する予測フレーム(Pフレーム)のセットとから構成されるフレームシーケンスについて、
    Iフレームに対する動き推定と、
    前記Iフレームに対する再構成と、
    第1Pフレームに対する再構成及び第2Pフレームに対する同時の低解像度動き推定と、
    を前記プロセッサに実行させるよう構成される複数の処理命令を格納するシステム。
JP2014529669A 2011-09-30 2011-09-30 ビデオ符号化パイプラインのためのシステム、方法及びコンピュータプログラム Active JP5905582B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2011/054386 WO2013048471A1 (en) 2011-09-30 2011-09-30 Systems, methods, and computer program products for a video encoding pipeline

Publications (2)

Publication Number Publication Date
JP2014529256A true JP2014529256A (ja) 2014-10-30
JP5905582B2 JP5905582B2 (ja) 2016-04-20

Family

ID=47996202

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014529669A Active JP5905582B2 (ja) 2011-09-30 2011-09-30 ビデオ符号化パイプラインのためのシステム、方法及びコンピュータプログラム

Country Status (6)

Country Link
US (1) US10602185B2 (ja)
EP (1) EP2761870A4 (ja)
JP (1) JP5905582B2 (ja)
CN (1) CN103918270B (ja)
TW (1) TWI517677B (ja)
WO (1) WO2013048471A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3258690A1 (en) 2016-06-15 2017-12-20 Fujitsu Limited Image encoding apparatus, image encoding method, and image encoding program stored in storage medium
US10142633B2 (en) 2016-12-21 2018-11-27 Intel Corporation Flexible coding unit ordering and block sizing

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10602185B2 (en) 2011-09-30 2020-03-24 Intel Corporation Systems, methods, and computer program products for a video encoding pipeline
US10602174B2 (en) 2016-08-04 2020-03-24 Intel Corporation Lossless pixel compression for random video memory access
US10715818B2 (en) * 2016-08-04 2020-07-14 Intel Corporation Techniques for hardware video encoding
US10291925B2 (en) 2017-07-28 2019-05-14 Intel Corporation Techniques for hardware video encoding
US11025913B2 (en) 2019-03-01 2021-06-01 Intel Corporation Encoding video using palette prediction and intra-block copy
US10855983B2 (en) 2019-06-13 2020-12-01 Intel Corporation Encoding video using two-stage intra search

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10224799A (ja) * 1997-02-06 1998-08-21 Sony Corp 画像信号符号化方法及び装置、画像信号復号方法及び装置、並びに画像信号記録媒体
JP2000295616A (ja) * 1999-04-08 2000-10-20 Matsushita Electric Ind Co Ltd 画像符号化装置、画像復号装置、画像符号化方法、画像復号方法及びプログラム記録媒体
JP2007325119A (ja) * 2006-06-02 2007-12-13 Canon Inc 画像処理装置及び画像処理方法
JP2009033640A (ja) * 2007-07-30 2009-02-12 Hitachi Ltd 画像復号化装置
JP2009284208A (ja) * 2008-05-22 2009-12-03 Renesas Technology Corp 動画像符号化装置及び動画像記録装置
JP2011182169A (ja) * 2010-03-01 2011-09-15 Sony Corp 符号化装置および方法

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0714212A3 (en) 1994-11-21 1999-03-31 SICAN, GESELLSCHAFT FÜR SILIZIUM-ANWENDUNGEN UND CAD/CAT NIEDERSACHSEN mbH Video decoder using concurrent processing and resource sharing
US6101276A (en) * 1996-06-21 2000-08-08 Compaq Computer Corporation Method and apparatus for performing two pass quality video compression through pipelining and buffer management
JP4414904B2 (ja) 2004-04-16 2010-02-17 株式会社エヌ・ティ・ティ・ドコモ 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、動画像復号装置、動画像復号方法、及び動画像復号プログラム
US20060256854A1 (en) * 2005-05-16 2006-11-16 Hong Jiang Parallel execution of media encoding using multi-threaded single instruction multiple data processing
US8243804B2 (en) * 2005-12-01 2012-08-14 Lsi Corporation Hierarchical motion estimation for images with varying horizontal and/or vertical dimensions
JP2008088106A (ja) 2006-10-02 2008-04-17 Sumitomo Chemical Co Ltd エポキシ化合物の製造方法
US8451897B2 (en) 2006-12-04 2013-05-28 Atmel Corporation Highly parallel pipelined hardware architecture for integer and sub-pixel motion estimation
CN102843763B (zh) 2007-02-05 2015-11-25 日本电气株式会社 用于无线通信系统的通信同步管理方法及其定时器控制
US8270471B2 (en) * 2007-11-08 2012-09-18 Mediatek, Inc. Encoders and scheduling methods for macroblock-based adaptive frame/filed coding
US8351508B1 (en) * 2007-12-11 2013-01-08 Marvell International Ltd. Multithreaded descriptor based motion estimation/compensation video encoding/decoding
US20090245374A1 (en) * 2008-03-26 2009-10-01 Mediatek Inc. Video encoder and motion estimation method
US20090323807A1 (en) * 2008-06-30 2009-12-31 Nicholas Mastronarde Enabling selective use of fractional and bidirectional video motion estimation
US20100020877A1 (en) * 2008-07-23 2010-01-28 The Hong Kong University Of Science And Technology Multiple reference frame motion estimation in video coding
US8436909B2 (en) * 2008-10-21 2013-05-07 Stmicroelectronics S.R.L. Compound camera sensor and related method of processing digital images
US20100220786A1 (en) * 2009-02-27 2010-09-02 Hong Kong Applied Science and Technology Research Institute Company Limited Method and apparatus for multiple reference picture motion estimation
US9237355B2 (en) * 2010-02-19 2016-01-12 Qualcomm Incorporated Adaptive motion resolution for video coding
US8787443B2 (en) * 2010-10-05 2014-07-22 Microsoft Corporation Content adaptive deblocking during video encoding and decoding
US8553964B2 (en) * 2010-10-20 2013-10-08 Siemens Aktiengesellschaft Unifying reconstruction and motion estimation in first pass cardiac perfusion imaging
US20120236940A1 (en) * 2011-03-16 2012-09-20 Texas Instruments Incorporated Method for Efficient Parallel Processing for Real-Time Video Coding
US10602185B2 (en) 2011-09-30 2020-03-24 Intel Corporation Systems, methods, and computer program products for a video encoding pipeline

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10224799A (ja) * 1997-02-06 1998-08-21 Sony Corp 画像信号符号化方法及び装置、画像信号復号方法及び装置、並びに画像信号記録媒体
JP2000295616A (ja) * 1999-04-08 2000-10-20 Matsushita Electric Ind Co Ltd 画像符号化装置、画像復号装置、画像符号化方法、画像復号方法及びプログラム記録媒体
JP2007325119A (ja) * 2006-06-02 2007-12-13 Canon Inc 画像処理装置及び画像処理方法
JP2009033640A (ja) * 2007-07-30 2009-02-12 Hitachi Ltd 画像復号化装置
JP2009284208A (ja) * 2008-05-22 2009-12-03 Renesas Technology Corp 動画像符号化装置及び動画像記録装置
JP2011182169A (ja) * 2010-03-01 2011-09-15 Sony Corp 符号化装置および方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3258690A1 (en) 2016-06-15 2017-12-20 Fujitsu Limited Image encoding apparatus, image encoding method, and image encoding program stored in storage medium
US10142633B2 (en) 2016-12-21 2018-11-27 Intel Corporation Flexible coding unit ordering and block sizing

Also Published As

Publication number Publication date
US20130266072A1 (en) 2013-10-10
TWI517677B (zh) 2016-01-11
CN103918270A (zh) 2014-07-09
EP2761870A4 (en) 2016-03-16
WO2013048471A1 (en) 2013-04-04
EP2761870A1 (en) 2014-08-06
JP5905582B2 (ja) 2016-04-20
TW201328360A (zh) 2013-07-01
US10602185B2 (en) 2020-03-24
CN103918270B (zh) 2018-08-21

Similar Documents

Publication Publication Date Title
JP5905582B2 (ja) ビデオ符号化パイプラインのためのシステム、方法及びコンピュータプログラム
CN109565590B (zh) 用于视频编解码的基于模型的运动向量推导
JP5911517B2 (ja) 低メモリアクセス動きベクトル導出
JP4920034B2 (ja) マルチスレッドsimd処理を利用したメディア符号化の並列実行
US10412409B2 (en) Encoding system using motion estimation and encoding method using motion estimation
US10462472B2 (en) Motion vector dependent spatial transformation in video coding
US20220279224A1 (en) Systems and methods for video processing
US10924753B2 (en) Modular motion estimation and mode decision engine
JP6187826B2 (ja) 動画像符号化装置及び動画像符号化方法
US9781439B2 (en) Combined parallel and pipelined video encoder
US11375225B1 (en) Interleaved video coding pipeline
Asif et al. Exploiting MB level parallelism in H. 264/AVC encoder for multi-core platform
CN111343465A (zh) 电子电路和电子设备
Katsigiannis et al. A GPU vs CPU performance evaluation of an experimental video compression algorithm
JP2012147205A (ja) 離散サイン変換回路、逆離散サイン変換回路、併用回路、符号化装置、復号装置及びプログラム
Jo et al. Flexible multi-core platform for a multiple-format video decoder
Liu et al. High-efficiency parallelism solution for a Multiview High-Efficiency Video Coding decoder
US20220094984A1 (en) Unrestricted intra content to improve video quality of real-time encoding
JP6308409B2 (ja) 動画像符号化装置及び動画像符号化方法
JP2018023034A (ja) 超解像フレーム選択装置、超解像装置、及びプログラム
CN108063948B (zh) 配合多个处理器的影像处理装置及影像处理方法
JP2013062801A (ja) ピクセルブロックを符号化及び再構成する方法と装置
Tu et al. Batch-pipelining for multicore H. 264 decoding
TW201414311A (zh) 視訊編碼方法與視訊編碼裝置
JP2013062656A (ja) 映像符号化方式

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150310

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150609

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150630

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150930

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160316

R150 Certificate of patent or registration of utility model

Ref document number: 5905582

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250