JP4892468B2 - 動画像符号化装置、動画像符号化装置の制御方法及びコンピュータプログラム - Google Patents

動画像符号化装置、動画像符号化装置の制御方法及びコンピュータプログラム Download PDF

Info

Publication number
JP4892468B2
JP4892468B2 JP2007327990A JP2007327990A JP4892468B2 JP 4892468 B2 JP4892468 B2 JP 4892468B2 JP 2007327990 A JP2007327990 A JP 2007327990A JP 2007327990 A JP2007327990 A JP 2007327990A JP 4892468 B2 JP4892468 B2 JP 4892468B2
Authority
JP
Japan
Prior art keywords
motion
frame
motion compensation
unit
data
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
Application number
JP2007327990A
Other languages
English (en)
Other versions
JP2009152805A5 (ja
JP2009152805A (ja
Inventor
克己 大塚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2007327990A priority Critical patent/JP4892468B2/ja
Publication of JP2009152805A publication Critical patent/JP2009152805A/ja
Publication of JP2009152805A5 publication Critical patent/JP2009152805A5/ja
Application granted granted Critical
Publication of JP4892468B2 publication Critical patent/JP4892468B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

本発明は、動画像符号化装置、動画像符号化装置の制御方法及びコンピュータプログラムに関する。
近年MPEG-2或いはH.264に代表される動画像を対象とした高能率動画符号化方式が知られている。これらの符号化方式は地上波及び衛星波によるテレビ放送やデジタルビデオカメラに代表される携帯機器による光メディアを蓄積媒体とした動画像保存に広く用いられている。
これら高能率な圧縮符号化方式に共通に用いられている技術として、フレーム間予測が挙げられる。フレーム間予測では、動画像符号化装置内において符号化した結果を局所復号化すると共に、局所復号化したフレームを参照フレームとして大容量のメモリ空間に保存する。このフレームメモリとしては通常SDRAMが用いられる。この参照フレームは次に入力される符号化対象となる現フレームとの間で、ブロック単位で動き検索が行われて、参照フレームと現フレーム間のブロック画素値の差分値が符号化され符号化ストリームとして動画像符号化装置から出力される。
近年では、動画像符号化装置が対象とするフレームの高解像度化(大画面化)がますます進んでいる。また、MPEG-2符号化方式においては、Pフレームでは参照フレーム数は1枚であり、Bフレームでは2枚であったが、H.264符号化方式では、Pフレームにおいても2枚以上のフレームを参照可能である。これらの状況から、動画像符号化装置とフレームメモリ間において転送されるデータ量が莫大となり、演算処理に要する時間よりもデータ転送に要する時間が問題となり、リアルタイムでの動画像符号化が困難な状況である。
これに対し、特許文献1によれば、1フレームを複数に分割したスライス単位のキャッシュを動画像符号化装置内でオルタネートで構成することによって、メモリ帯域の削減を試みている。また特許文献2では、マクロブロック単位で複数のバンクから構成されるSDRAMに対して、参照フレームを保存する際にマクロブロック内のデータについて同一バンクになる様にアドレスを制御し、参照フレームのデータ転送時間を高速化している。
特開2000−175201号公報 特開平10−191236号公報
特許文献1の提案構成では、通常キャッシュとして用いるSRAMメモリはコストが高く、「HighDefinition」と呼ばれる高解像度の動画像シーケンスを対象とした場合には非常に高価な装置になってしまう。
また、特許文献2の提案構成においても、動き検出や動き補償を行うためのリード転送や、局所復号化によるライト転送がランダムに発生してしまい、SDRAMのページミスが頻発しデータ転送時間の高速化が困難である。
そこで本発明は、フレーム間予測を行う動画像符号化装置において、高解像度の入力フレームにおいても、安価に構成でき、リアルタイム符号化が実現可能なフレームメモリへのアクセス技術を提供することを目的とする。
上記の課題を解決するための本発明は、入力フレームについてフレーム間予測による符号化を行う動画像符号化装置であって、
前記フレーム間予測のための参照フレームを保持するフレームメモリと、
前記フレームメモリに保持される前記参照フレームを読み出し、入力フレームのマクロブロック単位で動き探索を行って動きベクトルを検出する動き検出手段と、
前記動きベクトルに基づき前記参照フレームにおいて特定される動き補償ブロックのデータを前記フレームメモリから読み出し、該動き補償ブロックのデータと前記動きベクトルとに基づき動き補償処理を行う動き補償手段と、
前記動き補償手段における動き補償処理により生成されたフレーム間予測画像データと前記入力フレームとを用いて符号化処理を行い符号化データを生成する符号化手段と、
前記符号化データを復号して新たな参照フレームを生成し、生成した該新たな参照フレームを前記フレームメモリに書き込む復号手段と、
前記フレームメモリに対するデータの書き込み又は読み出しの開始指示を前記復号手段、前記動き補償手段及び前記動き検出手段に通知する画像転送制御手段と
を備え、
前記画像転送制御手段は、前記復号手段、前記動き補償手段の後に前記動き検出手段が処理を行うように、前記開始指示を通知することを特徴とする。
本発明によれば、フレーム間予測を行う動画像符号化装置において、高解像度の入力フレームにおいても、安価に構成でき、リアルタイム符号化が実現可能なフレームメモリへのアクセス技術を提供することができる。
以下、添付する図面を参照して発明の実施形態を説明する。
[第1の実施形態]
以下、発明の第1の実施形態に対応する動画像符号化装置の構成を説明する。本実施形態における動画像符号化装置は、MPEG-2符号化方式、或いは、H.264符号化方式で入力フレームを符号化する装置である。
図1は、本実施形態に対応する動画像符号化装置の構成の一例を示す図である。図1において、動画像符号化装置100内の各モジュールは、マクロブロック(以後MBとする)と呼ばれる縦16画素×横16画素のブロック単位で処理を行う。これら各モジュールの処理の開始は全体制御部107から指示されると共に、各モジュールは一つのMB処理が完了した後に全体制御部107に対して、処理を完了したことを通知する。これら動作開始の指示及び完了の通知は図示しない全体制御部107と各々モジュールとの間に結線された信号線によって実現される。
図1において、動画像符号化装置100は、入力データとしての画像フレームが入力される。入力フレームは、動きベクトルを検出する動き検出部102に入力されると共に、符号化部104に入力される。動き検出部102で検出された動きベクトルは、動き補償予測を行う動き補償部103に入力される。動き補償部103で生成された動き予測データは、符号化部104に入力される。符号化部104は、動き補償部103からの予測データと、入力フレームとを用いて符号化を行い、符号化データを出力する。符号化部105における符号化データは、局所復号化部105にも送信され、局所復号が行われて参照フレームが生成される。生成された参照フレームは、フレームメモリバスを介してフレームメモリ106に格納される。フレームメモリ106に格納されているデータは、フレームメモリバスを介して、動き検出部102や動き補償部103における処理において適宜利用される。
以下、動画像符号化装置100の各モジュールの動作を、より具体的に説明する。まず、動き検出部102は、動画像符号化装置100に入力されるフレームとフレームメモリ106内に保存されている参照フレームとの間の画素値の相関をブロック単位で探索する。そして、最もブロック間の相関が高い座標をブロック間の動きベクトルとして動き補償部103へ出力する。この処理は一般的に動き検出処理として知られており、MPEG−2或いはH.264符号化方式の動画像符号化装置においては必須の技術である。
図3には動き検出部102に実装される動き検出範囲を示したものである。図中の現MB301は、フレーム300における所定の16×16画素のブロックを表し、動き検出部102において現在処理対象となっているMBの座標を表している。探索範囲A(302)は、H.264符号化方式の場合には、現MB301の座標を中心に−32〜31.75画素を、MPEG−2符号化方式の場合には−32〜31.5画素の範囲を表す。また探索範囲B(303)はH.264符号化方式の場合には、現MB301の座標を中心に−64〜63.75画素を、MPEG−2符号化方式の場合には−64〜63.5画素の範囲を表す。
次に、図4を参照してマクロブロックの分割形態に応じた、動き検出処理の一例を説明する。図4は、現MB301におけるブロック分割形態に応じた動き検出の一例を示す図である。
図4(a)乃至図4(c)に示すように、H.264符号化方式の場合には16×16画素のブロック単位のみならず、4×4画素或いは8×8画素ブロック単位にMBをブロック分割して各々に動きベクトルを付加することが可能である。このようなマクロブロックを更に分割したサブマクロブロックを利用することで、より高精度に動き検出を行える。なお、図4(a)乃至図4(c)において示すMVn(x、y)(nは0から15のいずれかの整数)は、各ブロックについて検出された動きベクトルを例示的に表している。
本実施形態の動き検出部102は、更に図5に示す様に、6種類の動き検出モードを具備している。当該動き検出モードは、動き探索を行う際の探索範囲の大きさとマクロブロックの分割形態とに基づき定められる複数のモードが定められる。本実施形態においては、図4で説明したようにブロックの分割態様が3通り設定され、それぞれについて探索範囲を探索範囲A(302)又は探索範囲B(303)とするモードが設定される。
即ち、図4(a)のようなブロック分割なしの場合に、探索範囲を探索範囲A(302)とするモード0と、探索範囲を探索範囲B(303)とするモード3とがある。また、図4(b)のような8×8画素ブロックにブロック分割を行う場合に、探索範囲を探索範囲A(302)とするモード1と、探索範囲を探索範囲B(303)とするモード4とがある。更に、図4(c)のような4×4画素ブロックにブロック分割を行う場合に、探索範囲を探索範囲A(302)とするモード2と、探索範囲を探索範囲B(303)とするモード5とがある。
次に、図6を参照して、本実施形態に対応する各動き検出モードについて、フレーム間予測誤差を差分絶対値和(SAD:Sum of Absolute Difference)と動き検出に要するサイクル数との関係を説明する。図6は、発明の第1の実施形態に対応する、各動き検出モードのフレーム間予測誤差のSADと動き検出に要するサイクル数との関係を説明するための図である。
図6において、縦軸は、フレーム間予測誤差のSADの値を表し、横軸は処理サイクル数Tmeの値を表す。SADは、動きベクトルで示された参照フレームのブロックと入力フレームの現MB301との差分絶対値和を表す。このSADの値が小さい程、動画像符号化装置100から発生される符号量が少ないことが知られている。図6から分かるように、ブロックの分割を行うほどSADの値が小さくなり、処理サイクル数も多くなる。また、探索範囲を広げるほどSADの値が小さくなり、処理サイクル数も多くなる。
次に、動き補償部103における動作を説明する。動き補償部103は、動き検出部102から入力される動きベクトル値に応じて、まず、フレームメモリ106内の参照フレームから動き補償ブロックデータをリード転送する。例えば、動き検出部102において輝度(Y)データを用いた動き検出が行われる場合、動き補償部103は色差(Cb、Cr)データのみをリード転送する。これは、動き補償で用いる輝度データは、既に動き検出部102に存在し、輝度データは動き検出部102から取得できるからである。
図8を参照して、データの転送処理について説明する。図8は、発明の第1の実施形態に対応する、動き検出部102及び動き補償部103の動作を説明するための図である。
図8では、図8(a)に示すようなフレーム800において、現MB801の動きベクトルを動き探索範囲802内で探索し、得られた動きベクトルで特定される動き補償ブロックがブロック803である場合を一例として記載している。また、図8(b)は、現MB801について、動き補償ブロック803を利用して動き補償を行うまでの、データの流れを示している。
図8(b)において、フレームメモリ106は、参照フレーム810のデータを輝度データ(Y)811と色差データ(Cb,Cr)812として保持している。動き検出部102は、参照フレーム810から読み出した輝度データ811を格納する動き探索窓RAM821を有する。また、動き検出部102と動き補償部103との間には、動き検出部102で利用された輝度データ811を動き補償部103へ転送するための動き補償ブロックRAM822が与えられる。
動き検出部102は、現MB801に対する動き検出を行うために、フレームメモリ106内の参照フレーム810から、動き探索範囲802の輝度データをリード転送して、動き探索窓RAM821へ保存する。動き検出部102は、動き探索窓RAM821から輝度データをリードして動き検出処理を行い、動きベクトルを求める。求めた動きベクトルに基づいて動き補償ブロック803が特定されると、該動き補償ブロック803の輝度データを動き探索窓RAM821からリードして、動き補償ブロックRAM822へライトする。動き検出部102はまた、得られた動きベクトルを動き補償部103へ出力する。
動き補償部103は、動き検出部102から入力される動きベクトルと、動き補償ブロックRAM822に保存されている動き補償ブロック803の輝度データとを用いて、輝度データの動き補償処理を行う。この動き補償処理では、動きベクトルと動き補償ブロック803とに基づき、フレーム間予測画像データを生成する。なお、当該動き補償処理は公知の技術であるので、さらなる詳細な説明は省略するが、動きベクトルの値が小数点の場合のフィルタ処理を含むことができる。動き補償部103は更に、動き補償ブロック803の輝度データに対応する色差データをフレームメモリ106からリードして、色差データの動き補償処理を行う。動き補償部103は、生成したフレーム間予測画像データを符号化部104へ出力する。
図1に戻り、符号化部104は、動き補償部103から入力されるフレーム間予測画像データと入力フレームのデータとの差分を予測誤差として、MPEG−2やH.264符号化方式に準拠した直交変換、量子化及びエントロピー符号化処理を行う。これらの処理の詳細は公知であるので説明は省略する。なお、量子化後の直交変換係数は局所復号化部105へ出力される。
局所復号化部105は、符号化部104から入力される量子化後の直交変換係数を入力として、逆量子化及び逆直交変換処理を行い、フレーム間予測画像データと加算して復号フレームを生成する。この復号フレームは、次の入力フレームを符号化する時に、動き検出部102及び動き補償部103において参照フレームとして用いるために、フレームメモリ106へライト転送される。
画像転送制御部101は、動画像符号化装置100内の動き検出部102、動き補償部103及び局所復号化部105に対して、後述する手順によりフレームメモリ106へのリード転送或いはライト転送の開始指示を行う。
次に、図7を参照して動画像符号化装置100における動作フローを説明する。図7は、発明の第1の実施形態に対応する動画像符号化装置100内の各モジュールにおける、Iフレーム及びPフレームの処理タイミングの一例を示す図である。
図7において、各モジュールは、全体制御部107の指示によってMB単位に処理が起動され、1つのMBの処理が完了すると動作を停止する。図7のIフレーム期間においては、フレーム間処理が無い為、フレーム間符号化の為の動き検出部102及び動き補償部103は起動されず、符号化部104及び局所復号化部105のみが動作する。
Iフレームについてフレーム動作期間が開始されると、最初に符号化部104が先頭のMBであるMB#0の処理を行う。この時、局所復号化部105は動作を行わず停止している。符号化部104がMB#0の処理を終えてMB#1の処理を行うと、並行して局所復号化部105で符号化部104にて符号化処理されたMB#0のデータの局所復号化が行われる。すなわち、動画像符号化装置100内の各ブロックはMB単位のパイプライン動作を行う。この動作は、フレーム内すべてのMBに対して繰り返し行われ、例えばHDサイズとして知られるフレームの場合、8160回繰り返されることとなる。
次に、Pフレームについてフレーム動作期間が開始されると、まず動き検出部102が起動されMB#0における動き検出処理が行われる。MB#0の動きベクトルに対応する動き補償ブロック803のデータは、動き補償ブロックRAM822に保存される。次に、MB#1に対する処理を動き検出部102において実行すると共に、動き補償部103では、MB#0の動きベクトルと動き補償ブロック803のデータとを入力として、動き補償処理を行う。その後、符号化処理部104及び局所復号化部105も順次起動され、Iフレームと同様にフレーム内のすべてのMBに対して繰り返し処理が行われる。
次に、図9を参照して画像転送制御部101における動作を説明する。図9は、発明の第1の実施形態に対応する、画像転送制御部101における動作の一例を示すフローチャートである。該フローチャートに対応する処理は、処理プログラムを画像転送制御部101が実行することにより実現される。
図9で示される画像転送制御部101の一連の動作はMB単位に行われ、本実施形態ではフレーム内のMB数を8160個と仮定する。図9では、1MB分の処理を記載しているが、実際にはフレーム内のすべてのMBに対して図9のフローチャートに対応する処理が実行される。
図9において、ステップS901では、全体制御部107からMBの処理開始指示を受け付けたか否かを判定する。もし、指示を受け付けた場合は(ステップS901において「YES」)、ステップS902に移行する。ステップS902では、局所復号化部105において処理対象となるMBが存在するか否かを判定する。具体的に、処理対象となるMBが、MB#0以上MB#8159以下に位置するMBであるかを判定する。これは、動画像符号化装置100の内部の各モジュールはMB単位のパイプライン動作を行っているためである。もし、対象となるMBが存在する場合には(ステップS902において「YES」)、S903に移行する。一方、対象となるMBが存在しない場合には(ステップS902において「NO」)、S905に移行する。
ステップS903では、画像転送制御部101は、局所復号化部105に対して局所復号化結果である復号フレームをフレームメモリ106へライト転送させるための指示を行う。このライト転送指示に応じて、局所復号化部105は、復号フレームのデータをフレームメモリ106へ転送し、書き込みが行われる。局所復号化部105は、処理対象MB内すべての画素のライト転送が完了したのち、画像転送制御部101に対して転送完了の通知を行う。
ステップS904では、この転送完了通知を受信したか否かに基づいて、画像転送制御部101が、ライト転送が完了したか否かを判定する。もし、転送が完了したと判定される場合には(ステップS904において「YES」)、ステップS905に移行する。
ステップS905では、ステップS902と同様にして、動き補償部103において処理対象となるMBが存在するか否かを判定する。もし、対象となるMBが存在する場合には(ステップS905において「YES」)、S906に移行する。一方、対象となるMBが存在しない場合には(ステップS905において「NO」)、S908に移行する。
ステップS906では、画像転送制御部101が動き補償部103に対して、リード転送の開始指示を行う。該リード転送指示には、動き補償ブロックRAM822に保持されている動き補償ブロック803の輝度データを読み出して、動き補償部103へ転送させるための指示が含まれる。また、フレームメモリ106における該動き補償ブロック803の色差データを読み出して、動き補償部103へ転送させるための指示も含まれる。このリード転送指示に応じて、動き補償部103は、動き補償ブロック803の輝度データと色差データとをそれぞれ取得する。動き補償部103は、動き補償処理に必要な画素のリード転送が完了したのち、画像転送制御部101に対して転送完了の通知を行う。
ステップS907では、この転送完了通知を受信したか否かに基づいて、画像転送制御部101が、リード転送が完了したか否かを判定する。もし、転送が完了したと判定される場合には(ステップS907において「YES」)、ステップS908に移行する。
ステップS908では、ステップS902と同様にして、動き検出部102において処理対象となるMBが存在するか否かを判定する。もし、対象となるMBが存在する場合には(ステップS908において「YES」)、ステップS909に移行する。一方、対象となるMBが存在しない場合には(ステップS908において「NO」)、ステップS911に移行して処理を終了する。
ステップS909では、画像転送制御部101が動き検出部102に対して、リード転送の開始指示を行う。該リード転送指示は、フレームメモリ106から探索範囲の輝度データを読み出して、動き検出部103へ転送させるための指示である。このリード転送指示に応じて、動き検出部103は、探索範囲の輝度データを取得する。動き検出部102は、処理対象MB内すべての画素のリード転送が完了したのち、画像転送制御部101に対して転送完了の通知を行う。
ステップS910では、この転送完了通知を受信したか否かに基づいて、画像転送制御部101が、リード転送が完了したか否かを判定する。もし、転送が完了したと判定される場合には(ステップS910において「YES」)、処理を終了する。
なお、画像転送制御部101は、本処理を終了する際に、全体制御部107に対して動作完了通知を送信する。本フローチャートのステップS903とステップS906の処理順番を変えても良い。
以上の処理の流れを、図10のタイミングチャートを参照して更に説明する。図10は、画像転送制御部101と動き検出部102、動き補償部103及び局所復号化部105におけるデータ転送の関係の一例を示すタイミングチャートである。図10では、局所復号化部105がMB#8156を処理し、動き補償部103がMB#8158を処理し、動き検出部102がMB#8159を処理する場合を一例として記載している。
T900において全体制御部107から画像転送制御部101に対して動作開始指示が行われると、画像転送制御部101は、T901において局所復号化部105に対してライト転送の開始指示を行う。局所復号化部105はフレームメモリに対してMB#8156の復号データのライト転送を開始する。すべてのライト転送が完了すると、T902において局所復号化部105は画像転送制御部101に対し転送完了通知を行う。
これを受けて画像転送制御部101は、T903において動き補償部103に対してリード転送の開始を指示する。動き補償部103は、MB#8158について求められた動きベクトルに対応する動き補償ブロック803について、輝度データを動き補償ブロックRAM822から、色差データをフレームメモリ106からリード転送する。リード転送が完了したら画像転送制御部101に対して転送完了通知を行う。
次に画像転送制御部101は、T904において動き検出部102に対してリード転送の開始を行うが、この際画像転送制御部101は動き検出部102に対して動き検出モードの指定も同時に行う。ここで動き検出モードは、図5に示す6通りのいずれかが指定される。
このように、本実施形態の画像転送制御部101は、局所復号部105、動き補償部103、動き検出部102の順に処理対象のマクロブロックが更新されるように、各モジュールに開始指示を通知する。ここで重要なのは、局所復号部105、動き補償部103の処理の後に動き検出部102の処理をするように制御する事である。動き検出部102の処理が他より後であればこれに限定されない。
次に、動き検出部102における動き検出モードの指定について、図11を参照して更に説明する。図11は、発明の第1の実施形態に対応する画像転送制御部101による動き検出モードの指定の処理例を示す図である。
図11において、「Tmb」はリアルタイム符号化を実現するために必要とされる1つのMBの最大処理サイクル数を表す。このサイクル数は、動画像符号化装置100の符号化動作を起動する前に、入力されるフレームの解像度とフレームレートの値から一意に決定される値である。図11では、動き検出部102の処理対象MBが、MB#Nの場合について説明する。Nは、0から8159間での任意の整数とする。また、局所復号化部105及び動き補償部103で要した合計サイクル数を、Tmcとする。
この場合、リアルタイム符号化を保証するためには動き検出部102のデータ転送に許容されるサイクル数:TmeはTmb−Tmcとなる。画像転送制御部101は、動き検出部102に対して転送開始を指示する毎にTmeの計算を行う。画像転送制御部101は図6で示した各動き検出モードに要するサイクル数に関するテーブルを予め保持しており、計算したTmeの値から、許容される最大のサイクル数に対応する動き検出モードを選択して、動き検出部101に設定する。これは、Tmeのサイクル数は、図1で示したフレームメモリバス上に動画像符号化装置100以外のバスマスタが存在する場合には、MB処理毎に変動するためである。つまり、Tmcの処理を先に、Tmeの処理を後にすることが重要である。
例えば、図11において、動き検出部の処理対象MBがMB#Nの場合、Tme0より小さい処理サイクルであるモード5が動き検出モードに設定される。一方、MB#N+1の場合、Tme1はモード1の処理サイクルより小さく、モード0の処理サイクルより大きい値を取るために、動き検出モードはモード0に設定される(モード0の処理サイクル<モード1の処理サイクルとした場合)。
また、処理対象MBがMB#N+2の場合に、画像転送制御部101は動き検出部102に対して、モード6を設定している。ここでモード6とは、図6には図示していないが、処理対象MBに対してフレーム間予測を行わないモードである。このモード6は、Tmeのサイクル数がモード0に要するサイクル数よりも小さい場合に、フレーム間予測処理を実行した場合のフレームレートの破綻を回避するために設定される。
以上のように、本実施形態に対応する動画像符号化装置では、画像転送制御部101において、各モジュール間で排他的にフレームメモリへのアクセスが発生するように、MB単位で制御を行う。具体的には、フレームメモリに保存された参照フレームに対してリード及びライト転送の転送指示を順番に行う。これにより、局所的な時間においてフレームメモリへ発生するアドレス値が近傍となり、結果的にページヒットが多く発生し、データ転送時間を高速化できる。この制御により、各モジュールが並列にフレームメモリへアクセスする場合と比較して、劇的にフレームメモリで発生するページミスが減少する。
更には、画像転送制御部101において、局所復号化部105、動き補償部103の転送後に、動き検出部102の転送指示を行うと共に、局所復号化部及び動き補償部の転送に要した時間に応じて、動き検出部の探索方法を選択する。これにより、フレームメモリバスの状況に依存せずにリアルタイム処理が保証できる。
[第2の実施形態]
次に、発明の第2の実施形態について説明する。図2は、発明の第2の実施形態に対応する動画像符号化装置の構成の一例を示す図である。図2において、動画像符号化装置200は、図1に示した第1の実施形態の動画像符号化装置100に、H.264符号化方式で用いることが可能なループフィルタ201を追加した構成となっている。動画像符号化装置200内のループフィルタ201以外のモジュールは、第1の実施形態の動画像符号化装置100と同一であるので、対応する参照番号を付し、本実施形態での説明は省略する。
ループフィルタ201は、局所復号化部105から入力される復号フレームに対してH.264符号化方式で規定されるフィルタ処理を行う。局所復号部105は、フィルタ処理を施した復号フレームに対して、画像転送制御部101から転送開始が要求された後フレームメモリ106へライト転送する。この時の画像転送制御部101の動作フローは、局所復号部105に対する制御がループフィルタ201に置き換わる以外に図9及び図10で示されるものと何ら変わりない。
[その他の実施形態]
なお、本発明は、複数の機器(例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置など)に適用してもよい。
また、本発明の目的は、前述した機能を実現するコンピュータプログラムのコードを記録した記憶媒体を、システムに供給し、そのシステムがコンピュータプログラムのコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたコンピュータプログラムのコード自体が前述した実施形態の機能を実現し、そのコンピュータプログラムのコードを記憶した記憶媒体は本発明を構成する。また、そのプログラムのコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した機能が実現される場合も含まれる。
さらに、以下の形態で実現しても構わない。すなわち、記憶媒体から読み出されたコンピュータプログラムコードを、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込む。そして、そのコンピュータプログラムのコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行って、前述した機能が実現される場合も含まれる。
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するコンピュータプログラムのコードが格納されることになる。
本発明の第1の実施形態に対応する動画像符号化装置の構成の一例を示す図である。 本発明の第2の実施形態に対応する動画像符号化装置の構成の一例を示す図である。 本発明の第1の実施形態に対応する、動き検出部102の探索範囲の一例を示す図である。 本発明の第1の実施形態に対応する、動き検出部102の動き検出モードの一例を説明するための図である。 本発明の第1の実施形態に対応する、現MB301におけるブロック分割形態に応じた動き検出の一例を示す図である。 発明の第1の実施形態に対応する、各動き検出モードのフレーム間予測誤差のSADと動き検出に要するサイクル数との関係を説明するための図である。 発明の第1の実施形態に対応する動画像符号化装置100内の各モジュールにおける、Iフレーム及びPフレームの処理タイミングの一例を示す図である。 発明の第1の実施形態に対応する、動き検出部102及び動き補償部103の動作を説明するための図である。 発明の第1の実施形態に対応する、画像転送制御部101における動作の一例を示すフローチャートである。 発明の第1の実施形態に対応する、画像転送制御部101と動き検出部102、動き補償部103及び局所復号化部105におけるデータ転送の関係の一例を示すタイミングチャートである。 発明の第1の実施形態に対応する画像転送制御部101による動き検出モードの指定の処理例を示す図である。
符号の説明
100 動画像符号化装置
101 画像転送制御部
102 動き検出部
103 動き補償部
104 符号化部
105 局所復号化部
106 フレームメモリ
107 全体制御部

Claims (7)

  1. 入力フレームについてフレーム間予測による符号化処理を行う動画像符号化装置であって、
    前記フレーム間予測のための参照フレームを保持するフレームメモリと、
    前記フレームメモリに保持される前記参照フレームを読み出し、入力フレームのマクロブロック単位で動き探索を行って動きベクトルを検出する動き検出手段と、
    前記動きベクトルに基づき前記参照フレームにおいて特定される動き補償ブロックのデータを前記フレームメモリから読み出し、該動き補償ブロックのデータと前記動きベクトルとに基づき動き補償処理を行う動き補償手段と、
    前記動き補償手段における動き補償処理により生成されたフレーム間予測画像データと前記入力フレームとを用いて符号化処理を行い符号化データを生成する符号化手段と、
    前記符号化データを復号して新たな参照フレームを生成し、生成した該新たな参照フレームを前記フレームメモリに書き込む復号手段と、
    前記フレームメモリに対するデータの書き込み又は読み出しの開始指示を前記復号手段、前記動き補償手段及び前記動き検出手段に通知する画像転送制御手段と
    を備え、
    前記画像転送制御手段は、前記復号手段、前記動き補償手段の後に前記動き検出手段が処理を行うように、前記開始指示を通知することを特徴とする動画像符号化装置。
  2. 前記復号手段、前記動き補償手段及び前記動き検出手段は、前記フレームメモリへのマクロブロック単位のデータの書き込み又は読み出しの完了通知を、前記画像転送制御手段に送信することを特徴とする請求項1に記載の動画像符号化装置。
  3. 前記画像転送制御手段は、
    前記復号手段から前記新たな参照フレームの前記フレームメモリへの書き込みの完了通知を受信した場合に、前記動き補償ブロックのデータの前記フレームメモリからの読み出し開始指示を前記動き補償手段に送信し、
    前記動き補償手段から前記動き補償ブロックのデータの前記フレームメモリからの読み出しの完了通知を受信した場合に、前記参照フレームの前記フレームメモリからの読み出し開始指示を前記動き検出手段に送信する
    ことを特徴とする請求項2に記載の動画像符号化装置。
  4. 前記動き検出手段は、前記動き探索を行う際の探索範囲の大きさと前記マクロブロックの分割形態とに基づき定められる複数の動き検出モードのいずれかにおいて、前記動きベクトルを検出し、
    前記画像転送制御手段は、前記復号手段と前記動き補償手段とにおいてそれぞれ1つのマクロブロックの処理を完了するために要したサイクル数を利用して、1つのマクロブロックを処理するために前記動き検出手段に許容されるサイクル数を決定し、該許容されるサイクル数に基づき、前記動き検出手段に対して前記複数の動き検出モードのいずれかを指定することを特徴とする請求項1乃至3のいずれか1項に記載の動画像符号化装置。
  5. 前記フレームメモリが保持する前記参照フレームは、輝度データと色差データとで構成され、
    前記動き検出手段は、前記参照フレームの前記輝度データを利用して前記動きベクトルを検出し、
    前記動き補償手段は、前記フレームメモリから前記動き補償ブロックの色差データを読み出し、前記動き補償ブロックの輝度データを前記動き検出手段より取得する
    ことを特徴とする請求項1乃至4のいずれか1項に記載の動画像符号化装置。
  6. フレーム間予測のための参照フレームを保持するフレームメモリと、
    前記フレームメモリに保持される前記参照フレームを読み出し、入力フレームのマクロブロック単位で動き探索を行って動きベクトルを検出する動き検出手段と、
    前記動きベクトルに基づき前記参照フレームにおいて特定される動き補償ブロックのデータを前記フレームメモリから読み出し、該動き補償ブロックのデータと前記動きベクトルに基づき動き補償処理を行う動き補償手段と、
    前記動き補償手段における動き補償処理により生成されたフレーム間予測画像データと前記入力フレームとを用いて符号化処理を行い符号化データを生成する符号化手段と、
    前記符号化データを復号して新たな参照フレームを生成し、生成した該新たな参照フレームを前記フレームメモリに書き込む復号手段と、
    前記フレームメモリに対するデータの書き込み又は読み出しの開始指示を前記復号手段、前記動き補償手段及び前記動き検出手段に通知する画像転送制御手段と
    を備え、入力フレームについてフレーム間予測による符号化処理を行う動画像符号化装置の制御方法であって、
    前記画像転送制御手段が、前記復号手段、前記動き補償手段の後に前記動き検出手段が処理を行うように前記開始指示を通知する工程を備えることを特徴とする動画像符号化装置の制御方法。
  7. コンピュータを、請求項1乃至5のいずれか1項に記載の動画像符号化装置の前記動き検出手段、前記動き補償手段、前記符号化手段、前記復号手段、及び、前記画像転送制御手段として機能させるためのコンピュータプログラム。
JP2007327990A 2007-12-19 2007-12-19 動画像符号化装置、動画像符号化装置の制御方法及びコンピュータプログラム Expired - Fee Related JP4892468B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007327990A JP4892468B2 (ja) 2007-12-19 2007-12-19 動画像符号化装置、動画像符号化装置の制御方法及びコンピュータプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007327990A JP4892468B2 (ja) 2007-12-19 2007-12-19 動画像符号化装置、動画像符号化装置の制御方法及びコンピュータプログラム

Publications (3)

Publication Number Publication Date
JP2009152805A JP2009152805A (ja) 2009-07-09
JP2009152805A5 JP2009152805A5 (ja) 2011-02-03
JP4892468B2 true JP4892468B2 (ja) 2012-03-07

Family

ID=40921437

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007327990A Expired - Fee Related JP4892468B2 (ja) 2007-12-19 2007-12-19 動画像符号化装置、動画像符号化装置の制御方法及びコンピュータプログラム

Country Status (1)

Country Link
JP (1) JP4892468B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104602019A (zh) * 2014-12-31 2015-05-06 乐视网信息技术(北京)股份有限公司 一种视频编码方法及装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11252549A (ja) * 1998-02-27 1999-09-17 Toshiba Corp 画像符号化/復号化装置
WO2006006489A1 (ja) * 2004-07-13 2006-01-19 Matsushita Electric Industrial Co., Ltd. 動き検出装置
US8073053B2 (en) * 2004-09-22 2011-12-06 Panasonic Corporation Image encoding device that encodes an arbitrary number of moving pictures

Also Published As

Publication number Publication date
JP2009152805A (ja) 2009-07-09

Similar Documents

Publication Publication Date Title
KR100952861B1 (ko) 디지털 비디오 데이터 처리
US8577165B2 (en) Method and apparatus for bandwidth-reduced image encoding and decoding
WO2011021319A1 (ja) 動画像符号化装置
JP4787044B2 (ja) 画像復号装置、画像復号方法、画像復号プログラム、画像復号集積回路
US20150189333A1 (en) Method and system for image processing, decoding method, encoder, and decoder
JP4675383B2 (ja) 画像復号化装置および方法、画像符号化装置
US20050089232A1 (en) Method of video compression that accommodates scene changes
TWI526050B (zh) 擷取多個視訊頻道以供視訊分析及編碼之技術
US11290740B2 (en) Image coding apparatus, image coding method, and storage medium
KR20170069074A (ko) 디코더의 동작 방법, 및 상기 디코더를 포함하는 어플리케이션 프로세서의 동작 방법
JP4892468B2 (ja) 動画像符号化装置、動画像符号化装置の制御方法及びコンピュータプログラム
JP4822940B2 (ja) 画像処理装置及び画像処理方法
JP2006287583A (ja) 画像データ領域取得補間回路
TWI586144B (zh) 用於視頻分析與編碼之多重串流處理技術
US8908777B2 (en) Memory request ordering for a motion compensation process, implemented by a picture processing apparatus, a picture processing method, and a picture processing program
CN114727116A (zh) 编码方法及装置
KR100891116B1 (ko) 대역폭 인식 움직임 보상 장치 및 그 방법
JP7359653B2 (ja) 動画像符号化装置
JP4383367B2 (ja) 動きベクトル検出装置
JP4888306B2 (ja) 画像処理装置および画像処理方法
JP2008136177A (ja) 動き検出装置、MOS(metal−oxidesemiconductor)集積回路および映像システム
CN107241601B (zh) 图像数据传输方法、装置及终端
US9179156B2 (en) Memory controller for video analytics and encoding
WO2023226951A1 (en) Method, apparatus, and medium for video processing
JP2008160335A (ja) 動き補償装置および動き補償方法

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101213

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101213

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111114

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111219

R151 Written notification of patent or utility model registration

Ref document number: 4892468

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141222

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees