JP2006197006A - 動画像符号化装置 - Google Patents

動画像符号化装置 Download PDF

Info

Publication number
JP2006197006A
JP2006197006A JP2005004212A JP2005004212A JP2006197006A JP 2006197006 A JP2006197006 A JP 2006197006A JP 2005004212 A JP2005004212 A JP 2005004212A JP 2005004212 A JP2005004212 A JP 2005004212A JP 2006197006 A JP2006197006 A JP 2006197006A
Authority
JP
Japan
Prior art keywords
encoding
processing method
load state
picture
image 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.)
Pending
Application number
JP2005004212A
Other languages
English (en)
Inventor
Akio Ichikawa
明男 市川
Masatoshi Tsujimoto
雅俊 辻本
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.)
Sharp Corp
Original Assignee
Sharp Corp
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 Sharp Corp filed Critical Sharp Corp
Priority to JP2005004212A priority Critical patent/JP2006197006A/ja
Publication of JP2006197006A publication Critical patent/JP2006197006A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】CPU資源の負荷状態やバッファ量に基づいた負荷状態情報に応じて、最適な符号化処理方法を選択する。
【解決手段】CPU資源の負荷状態や、画像データのバッファ量に基づいて算出できる負荷状態情報に応じて符号化すべきマクロブロックの符号化処理方法を選択する動画像符号化装置を提案するものである。また、Pピクチャの符号化の場合には動きベクトルを検出せずに、イントラ符号化処理方法を、Bピクチャの符号化の場合には前後フレームから検出されるべき動きベクトルのうちいずれか一方を検出せずに、前方向予測または後方向予測符号化処理方法を選択可能とする。
【選択図】図2

Description

本発明は、動画像符号化装置に関するものである。
従来の動画像符号化方式では、Pピクチャの符号化においては全てのマクロブロックに対して動き補償のためのブロックマッチング処理を行い、またBピクチャの符号化においては全てのマクロブロックに対して前方向および後ろ方向の動き補償のために2回のブロックマッチング処理を行う(特許文献1参照。)。
特開平7−95589号公報
しかしながら、上記手法のように、全てのマクロブロックに対して動き補償のためのブロックマッチング処理を行うこととすると、多くの符号化処理量が必要となる。また、利用可能なCPU資源の減少により、符号化処理能力が低下した場合には、各フレームの符号化に要する時間が増加し、結果として撮影されたデータを一時格納するバッファがオーバーフローする事態が生じうることが問題となる。
本発明は、かかる実情に鑑み、CPU資源の負荷状態を監視して、その負荷状態情報に応じて符号化すべきマクロブロックの符号化処理方法を選択することに特徴を有する動画像符号化装置を提案するものである。このとき、画像データのバッファ量に基づいて負荷状態情報を算出する。このとき、Pピクチャの符号化の場合には動きベクトルを検出せずに、イントラ符号化によってマクロブロックの符号化を行う符号化処理方法(第一動き補償免除符号化処理方法)が、またBピクチャの符号化の場合には前後フレームから検出されるべき動きベクトルのうちいずれか一方を検出せずに、前方向予測または後方向予測によって符号化を行う符号化処理方法(第二動き補償免除符号化処理方法)が選択可能とする。
また、負荷状態情報に基づいて、1つのフレームを符号化するに際して動き補償免除符号化処理方法を利用して符号化すべきマクロブロックの個数を算出する場合もある。動き補償免除マクロブロックの個数に基づいて、次段階での動き補償の有無を判断するための閾値を算出し、符号化処理方法の選択が可能となる。さらに、負荷状態情報に基づいて、動き補償免除符号化マクロブロックとして符号化すべき領域を画像データ中から選択する際に、最も画質劣化が少ないと予測される領域を選択するとしてもよい。さらに、第二動き補償免除符号化処理方法を選択した場合に、当該Bピクチャとして符号化すべきフレームの前後に位置する符号化されたフレームであるI又はPピクチャから、当該Bピクチャまでの時間的距離に応じて前方向予測を利用するか後方向予測を利用するか判断することができる。
以上、説明したように本件発明のいずれか一又は二以上の発明に係る動画像符号化装置は、CPU資源の負荷状態やバッファ量に基づいた負荷状態情報に応じて、最適な符号化処理方法が選択されるため、処理時間の遅延、バッファのオーバーフロー等を回避することができる。また、一定のフレームレートを維持しつつ、画像データの符号化を行うことが可能となる。このとき、Pピクチャを、動きベクトルを検出せずに、イントラ符号化によってマクロブロックの符号化を行う場合には、動きベクトルを求めるためのブロックマッチング処理を省くことができ、処理負荷の軽減を図れるという効果を有する。さらに、前後フレームから検出されるべき動きベクトルのうちいずれか一方を検出せずに、前方向予測または後方向予測によってBピクチャの符号化を行う場合には、他方のフレーム分の処理量を減少させることができ、処理負荷の軽減を図れるという効果を有する。
また、負荷状態情報に基づいて、動き補償免除符号化マクロブロックの個数を算出して閾値を算出する場合には、その閾値に基づいて的確に動き補償を免除するか否かを判断できる。また、負荷状態情報に基づいて、動き補償免除符号化マクロブロックとして画像データ中から画像データの領域を選択する際に、最も画質劣化が少ないと予測される領域を選択する場合には、画質劣化が少ないと予想される領域を優先的に動き補償免除符号化処理方法を利用して符号化することで、全体としての画質の劣化を防止することができる。さらに、第二動き補償免除符号化処理方法を選択した場合に、当該Bピクチャとして符号化すべきフレームの前後に位置する符号化されたフレームであるI又はPピクチャから、前方向予測を利用するか後方向予測を利用するか判断する際に、当該Bピクチャまでの時間的距離に応じて行うことで、その判断が容易にでき、加えて精度の高い予測に基づいて符号化ができる。
以下に、各発明を実施するための最良の形態を説明する。なお、本発明はこれら実施の形態に何ら限定されるものではなく、その要旨を逸脱しない範囲において、種々なる態様で実施しうる。
実施形態1は、主に請求項1、8などについて説明する。 実施形態2は、主に請求項2などについて説明する。 実施形態3は、主に請求項3、4などについて説明する。 実施形態4は、主に請求項5などについて説明する。 実施形態5は、主に請求項6などについて説明する。 実施形態6は、主に請求項7などについて説明する。
<<実施形態1>>
<実施形態1:概要> 実施形態1について説明する。本実施形態は、CPU資源の負荷状態を監視して、その負荷状態情報に応じて符号化すべきマクロブロックの符号化処理方法を選択することに特徴を有する動画像符号化装置である。
図1は、本実施形態の概念の一例を示すものである。本実施形態の動画像符号化装置は、カメラから取得する画像データを、MPEG符号化プログラムを利用して逐次符号化する装置である。まず、カメラで撮像した画像データを取得する(1)。次に、動画像符号化装置のCPU資源の負荷状態を監視して負荷状態情報を出力する(2)。動画像符号化装置が、符号化処理と並行してその他の処理を行う場合には、利用可能なCPU資源は減少し、符号化処理に要する時間が増加する。このような処理負荷の変動を把握するために、負荷状態情報が出力される。今、バッファへ入力される画像データの占有量と、画像データの符号化処理時間との関係をグラフに示した。グラフの縦軸がバッファのデータ占有量を、横軸が時間を示す。通常の符号化処理では、バッファへ入力される画像データの単位時間当たりの量は一定であるが、I、P、Bそれぞれのピクチャに応じて符号化処理時間(グラフ下部の帯状部分)が異なる。これに応じて、バッファの画像データの占有量が変化する。例えば、利用可能なCPU資源が減少し、符号化処理時間が増加した場合(状態a)、「CPUの使用率:40%」との負荷状態情報が出力される。
このとき、出力された負荷状態情報に応じて符号化すべきマクロブロックの符号化処理方法を選択する(3)。負荷状態情報により、CPU資源の負荷が多い場合には処理時間が短い符号化処理方法を選択することが必要となる。先の例で、負荷状態情報に基づいてCPU資源の負荷が多いと判断された場合、状態aの後のPピクチャの符号化において、処理時間が短い符号化処理方法として「Pピクチャのイントラ符号化方法」が選択されたものとする。なお、図の例ではピクチャ単位で符号化処理方法を選択する場面を示したが、これに限定されるものではなく、例えばGOP単位、マクロブロック単位で選択するとしてもよい。最後に、選択された符号化処理方法に基づいて所定のマクロブロックの符号化を行う(4)。画像データは、離散コサイン変換(DCT)処理、量子化処理、可変長符号化処理などを経て符号化される。最適な符号化処理方法が選択されることで、図で示すように当該Pピクチャの符号化処理時間は、通常のPピクチャの符号化処理時間よりも短時間となり、処理時間の遅延や、バッファのオーバーフローを回避することができる。
<実施形態1:構成> 本実施形態での機能ブロックの一例を図2に示した。 図2に示す本実施形態の「動画像符号化装置」(0200)は、「画像データ取得部」(0201)と、「CPU負荷状態監視部」(0202)と、「符号化処理方法選択部」(0203)と、「符号化部」(0204)を有する。
本件発明の構成要素である各部は、ハードウエア、ソフトウエア、ハードウエアとソフトウエアの両者、のいずれかによって構成される。たとえば、これらを実現する一例として、コンピュータを利用する場合には、CPU、メモリ、バス、インターフェイス、周辺装置などから構成されるハードウエアと、これらのハードウエア上にて実行可能なソフトウエアを挙げることができる。 具体的には、メモリ上に展開されたプログラムを順次実行することで、メモリ上のデータや、インターフェイスを介して入力されるデータの加工、蓄積、出力などにより各部の機能が実現される。(本明細書の全体を通じて同様である。)
「動画像符号化装置」(0200)は、カメラから取得する画像データを、MPEG符号化プログラムを利用して逐次符号化する装置である。具体的には、ビデオカメラ、デジタルカメラ、カメラ機能付携帯電話などが該当するが、必ずしも動画像符号化装置がカメラ部を装備していることは必要ではない。なお、主として符号化処理はソフトウェアにて行う装置が想定され、符号化処理速度はCPUに依存する。
「画像データ取得部」(0201)は、カメラからの画像データを取得する。この段階での画像データは符号化処理が行なわれていない非圧縮画像データである。取得された画像データは、バッファなどに一時保持され、後述する符号化部(0204)にて符号化処理が行われる。
「CPU負荷状態監視部」(0202)は、CPU資源の負荷状態を監視して負荷状態情報を出力する。「負荷状態情報」は、CPU資源の負荷状態についての情報であり、例えば、CPUの使用率や、CPUの動作状態に連動するメモリや、バッファなどの使用量などを示す情報が該当する。負荷状態情報は、具体的な数値や、確率の値(例えば、40%など)そのものの場合もあるし、複数に分けられた段階のうち一の段階を特定するための情報(例えば、5段階評価のうちの3段階目など)である場合もある。バッファの使用量に基づいて負荷状態情報を算出する手法については、実施形態2にて詳述する。動画像符号化装置が、符号化処理と並行してその他の処理を行う場合には、利用可能なCPU資源は減少し、符号化処理に要する時間が増加する。このような処理負荷の変動を把握するために、負荷状態情報が出力される。
「符号化処理方法選択部」(0203)は、前記負荷状態情報に応じて符号化すべきマクロブロックの符号化処理方法を選択する。MPEG符号化画像には、符号化方法の異なるIピクチャ(イントラ符号化)、Pピクチャ(前方向予測符号化)、Bピクチャ(双方向予測符号化)の3種類のピクチャから構成される。各ピクチャは、マクロブロック単位で符合化される。Iピクチャは、マクロブロック内の画像データのみを用いて符号化(以下、「イントラ符号化」という。)によって生成される。
Pピクチャは、イントラ符号化、または、時間的に直前(過去)に位置するI、Pピクチャからの動き補償による符号化(以下、「前方向予測符号化」という。)によって生成される。動き補償とは、被写体の動き分だけシフトさせる処理のことをいう。具体的には、現在のフレーム(画面)内の特定のブロックと、過去のフレームの同位置のブロック周辺の画素を画素ごとに比較して動きの方向と量(動きベクトル)を求める処理(以下、「ブロックマッチング法」という。)が行われる。
Bピクチャは、イントラ符号化、前方向予測符号化、または、時間的に直後(未来)に位置するI、Pピクチャからの動き補償による符号化(以下、「後方向予測符号化」という。)、直前あるいは直後に位置するI、Pピクチャのそれぞれからの動き補償による符号化(以下、「双方向予測符号化」という。)によって生成される。
上記のマクロブロックの符号化処理方法のうち、適宜符号化効率のよい方法が選択される。一般的には、マクロブロック内の輝度の分散値と、予測画像との差分の画像データの輝度の平均2乗値と、所定の閾値とを比較して、どの符号化処理方法を選択すべきかが判断されている。しかし、この手法においては、多数の値を算出することが必要となり、さらなる処理時間の遅延を生じうる。そこで、本実施形態では、負荷状態情報により、どの符号化処理方法を選択すべきかを判断する。負荷状態情報により、CPU資源の負荷が多い場合には処理時間が短い符号化処理方法を選択することが必要となる。他方、CPU資源の負荷が少ない場合には処理時間が短い符号化処理方法でもよいし、処理時間が長い符号化処理方法を選択してもよい。各符号化処理方法については、実施形態3などで詳述する。
「符号化部」(0204)は、前記符号化処理方法選択部(0203)にて選択された符号化処理方法に基づいて所定のマクロブロックの符号化を行う。前記イントラ符号化による符号化処理方法の場合には、画像データは離散コサイン変換(DCT)処理、量子化処理、可変長符号化処理などを経て符号化される。また、前方向予測符号化、または、後方向予測符号化による符号化処理方法の場合には、動き補償によって得られた予測画像データとの差分の画像データに対して、離散コサイン変換(DCT)処理、量子化処理、可変長符号化処理などが行われる。また、双方向予測符号化による符号化処理方法の場合には、動き補償によって得られた前後2つの予測画像データとの差分の画像データに対して、離散コサイン変換(DCT)処理、量子化処理、可変長符号化処理などが行われる。
<実施形態1:処理の流れ> 図3は、実施形態1での処理の流れの一例を示したものである。まず、カメラからの画像データを取得する(画像データ取得部ステップ S0301)。次に、CPU資源の負荷状態を監視して負荷状態情報を出力する(CPU負荷状態監視ステップ S0302)。その次に、負荷状態情報に応じて符号化すべきマクロブロックの符号化処理方法を選択する(符号化処理方法選択ステップ S0303)。なお、符号化すべきマクロブロックが属するピクチャに対応する符号化処理方法の中から選択する。Iピクチャであれば、イントラ符号化処理方法を選択し、P、Bピクチャであればさらに負荷状態情報に応じてCPUの負荷状態を加味する。Pピクチャは、負荷が大きいときにはイントラ符号化処理方法を選択し、負荷が小さいときには前方向予測符号化処理方法を選択する。また、Bピクチャは、負荷が大きいときにはイントラ符号化処理方法を選択し、負荷が中程度のときには前方向予測符号化処理方法、あるいは、後ろ方向予測符号化処理方法を選択し、負荷が小さいときには双方向予測符号化処理方法を選択する。最後に、前記符号化処理方法選択ステップ(S0303)にて選択された符号化処理方法に基づいて所定のマクロブロックの符号化を行う(符号化ステップ S0304)。
以上の処理は、計算機に実行させるためのプログラムで実行することができ、また、このプログラムを計算機によって読取り可能な記録媒体に記録することができる。(本明細書の全体を通して同様である。)
<実施形態1:効果> 本実施形態は、CPU資源の負荷状態を監視して、その負荷状態情報に応じて符号化すべきマクロブロックの符号化処理方法を選択することに特徴を有する動画像符号化装置である。CPU資源の負荷状態に応じて、最適な符号化処理方法が選択されるため、処理時間の遅延等を回避することができる。また、一定のフレームレートを維持しつつ、画像データの符号化を行うことが可能となる。
<<実施形態2>>
<実施形態2:概要> 実施形態2について説明する。本実施形態は、画像データバッファ部における画像データのバッファ量に基づいて負荷状態情報を算出することに特徴を有する動画像符号化装置である。
<実施形態2:構成> 本実施形態での機能ブロックの一例を図4に示した。 図4に示す本実施形態の「動画像符号化装置」(0400)は、「画像データ取得部」(0401)と、「CPU負荷状態監視部」(0402)と、「符号化処理方法選択部」(0403)と、「符号化部」(0404)と、さらに、「画像データバッファ部」(0405)を有し、CPU負荷状態監視部(0402)は「バッファ量依存負荷状態情報算出手段」(0406)を有する。
「画像データバッファ部」(0405)は、前記画像データ取得部(0401)が取得したデータを、前記符号化部(0404)にて符号化する前に一時格納する。なお、バッファがオーバーフローしそうな場合に、例えば、カメラから取得する画像データのフレームレートを低下させるとすると、取得されないフレームが出現して再生時には時間的なずれが生じるため、適当ではないことから、画像データバッファ部へと格納される画像データの単位時間当たりの量は一定である。
「バッファ量依存負荷状態情報算出手段」(0406)は、前記画像データバッファ部(0405)における画像データのバッファ量に基づいて負荷状態情報を算出する。ここでの負荷状態情報には、画像データバッファの使用量などを示す情報が該当する。また、負荷状態情報は、具体的な数値の場合もあるし、複数に分けられた段階のうち一の段階を特定するための情報である場合もある。動画像符号化装置が、符号化処理と並行してその他の処理を行う場合には、利用可能なCPU資源は減少し、画像データバッファから出力されるデータ量が減少することにより、最終的に画像データバッファのオーバーフローが発生する。このような事態を回避し、処理負荷の変動を把握するために、負荷状態情報が出力される。
その他各部の処理については、実施形態1と同様である。
<実施形態2:効果> 本実施形態は、画像データバッファ部における画像データのバッファ量に基づいて負荷状態情報を算出することに特徴を有する動画像符号化装置である。バッファ量に基づいた負荷状態情報に応じて、最適な符号化処理方法が選択されるため、バッファのオーバーフロー等を回避することができる。また、一定のフレームレートを維持しつつ、画像データの符号化を行うことが可能となる。
<<実施形態3>>
<実施形態3:概要> 実施形態3について説明する。本実施形態は、選択可能な符号化処理方法として、Pピクチャの符号化において動きベクトルを検出せずに、イントラ符号化によってマクロブロックの符号化を行う符号化処理方法を有することに特徴を有する動画像符号化装置である。また、選択可能な符号化処理方法として、Bピクチャの符号化において前後フレームから検出されるべき動きベクトルのうちいずれか一方を検出せずに、前方向予測または後方向予測によって符号化を行う符号化処理方法を有することに特徴を有する動画像符号化装置である。
<実施形態3:構成> 本実施形態での機能ブロックの一例はすでに図2に示したものと同様である。 図2に示す「動画像符号化装置」(0200)は、「画像データ取得部」(0201)と、「CPU負荷状態監視部」(0202)と、「符号化処理方法選択部」(0203)と、「符号化部」(0204)を有する。
「符号化処理方法選択部」(0203)は、前記負荷状態情報に応じて符号化すべきマクロブロックの符号化処理方法を選択する。このとき、選択可能な符号化処理方法には、Pピクチャの符号化において動きベクトルを検出せずに、イントラ符号化によってマクロブロックの符号化を行う第一動き補償免除符号化処理方法を含む。Pピクチャは、本来、マクロブロック内の画像データのみを用いるイントラ符号化の他、時間的に直前(過去)に位置するI、Pピクチャからの動き補償による前方向予測符号化が行われる。
また、Bピクチャの符号化においては、前後フレームから検出されるべき動きベクトルのうちいずれか一方を検出せずに、前方向予測または後方向予測によって符号化を行う第二動き補償免除符号化処理方法を含む。Bピクチャは、本来、イントラ符号化の他、時間的に直前(過去)に位置するI、Pピクチャからの動き補償による前方向予測符号化、または、時間的に直後(未来)に位置するI、Pピクチャからの動き補償による後方向予測符号化、直前あるいは直後に位置するI、Pピクチャのそれぞれからの動き補償による双方向予測符号化が行われる。
しかし、前方向予測符号化、後方向予測符号化、双方向予測符号化を行う場合、動きベクトルを求めるために全てのマクロブロックに対してブロックマッチング処理が必要となり、多くの符号化処理量を要することになる。したがって、負荷状態情報によりCPU資源の負荷が多いと判断される場合には、動きベクトルを検出せずに符号化できるイントラ符号化によってマクロブロックの符号化を行うことで、処理負荷の軽減、バッファのオーバーフロー回避を図る。
第一動き補償免除符号化処理方法は、前後フレームからの差分を検出せずに、符号化しようとするマクロブロックに相当する画像データ中のブロックのみを用いて符号化を行う方法である。動きベクトルを求めるためのブロックマッチング処理を省くことができ、処理負荷の軽減を図れる。
第二動き補償免除符号化処理方法は、前後フレームから検出されるべき動きベクトルのうちいずれか一方を検出せずに、前方向予測または後方向予測によって符号化を行う。前後フレームから検出されるべき動きベクトルの両方を用いて符号化を行う双方向予測符号化処理を行わないことで、他方のフレーム分の処理量を減少させることができ、処理負荷の軽減を図れる。
図5に各ピクチャの符号化処理方法を表に示した。Pピクチャにおける第一動き補償免除符号化処理方法は、実施形態1にて定義したイントラ符号化と同意義である。また、Bピクチャにおける第一動き補償免除符号化処理方法は、実施形態1にて定義した前方向予測符号化、あるいは、後方向予測符号化と同義である。
その他各部の処理については、実施形態1、2と同様である。
<実施形態3:効果> 本実施形態は、選択可能な符号化処理方法として、Pピクチャの符号化において動きベクトルを検出せずに、イントラ符号化によってマクロブロックの符号化を行う符号化処理方法を有することに特徴を有する動画像符号化装置である。動きベクトルを求めるためのブロックマッチング処理を省くことができ、処理負荷の軽減を図れるという効果を有する。また、選択可能な符号化処理方法として、Bピクチャの符号化において前後フレームから検出されるべき動きベクトルのうちいずれか一方を検出せずに、前方向予測または後方向予測によって符号化を行う符号化処理方法を有する。前後フレームから検出されるべき動きベクトルの両方を用いて符号化を行う双方向予測符号化処理を行わないことで、他方のフレーム分の処理量を減少させることができ、処理負荷の軽減を図れるという効果を有する。
<<実施形態4>>
<実施形態4:概要> 実施形態4について説明する。本実施形態は、負荷状態情報に基づいて、1つのフレームを符号化するに際して動き補償免除符号化処理方法を利用して符号化すべきマクロブロックの個数を算出することに特徴を有する動画像符号化装置である。
<実施形態4:構成> 本実施形態での機能ブロックの一例を図6に示す。 図6に示す本実施形態の「動画像符号化装置」(0600)は、「画像データ取得部」(0601)と、「CPU負荷状態監視部」(0602)と、「符号化処理方法選択部」(0603)と、「符号化部」(0604)と、さらに、「免除マクロブロック個数算出部」(0605)を有する。
「免除マクロブロック個数算出部」(0605)は、前記CPU負荷状態監視部(0602)から出力される負荷状態情報に基づいて、1つのフレームを符号化するに際して動き補償免除符号化処理方法を利用して符号化すべきマクロブロックの個数を算出するための処理を行う。ここでの「動き補償免除符号化処理方法」には、実施形態3にて説明した第一、及び、第二動き補償免除符号化処理方法を総称するものである。マクロブロックは16×16画素のブロックであり、フレームの横方向の画素数をW、縦方向の画素数をHとすると、1フレーム中には(W×H)/(16×16)のマクロブロックが含まれる。このとき、動き補償免除符号化マクロブロック数の算出結果としては0から(W×H)/(16×16)の値が得られる。なお、1GOP単位で符号化を行う場合には、算出したフレームごとの動き補償免除マクロブロックの個数を用いて、GOPごとの動き補償免除マクロブロックの個数も算出できる。
算出したマクロブロックの個数は、動き補償を免除するか否かを判断する閾値を求めるために用いることができる。閾値は、その他、前回動き補償免除マクロブロックとして符号化したマクロブロックの個数、及び、画像内予測残差(マクロブロックの輝度の分散値について、観測値と予測値との差分)の平均値などに基づいて算出することができる。したがって、算出した動き補償免除マクロブロックの個数は、次の段階にて閾値を算出するために用いられる。この閾値に基づく判断による動き補償の有無に応じて、符号化処理方法選択部(0603)での符号化の方式を選択する。
なお、マクロブロックの個数の負荷状態情報に基づいた算出とは、画像データのバッファ占有量や、その変化量に基づいて算出を行う場合が想定される。例えば、バッファ占有量が増加した場合には、動き補償を免除するか否かを判断する閾値を下げるなどして、動き補償免除マクロブロックの個数を多く算出してもよい。このときの、閾値とバッファ占有率の関係を図7に示した。縦軸が閾値、横軸がバッファ占有率を示したものである。バッファ占有率が増えれば増えるほど、閾値の値を下げて、動き補償を免除して符号化を行うことが必要となる。右側の縦軸においては、動き補償免除マクロブロック数を示したが、バッファ占有率が増えれば増えるほど、動き補償免除マクロブロック数が多くなる。
その他各部の処理については、実施形態3と同様である。
<実施形態4:効果> 本実施形態は、負荷状態情報に基づいて、1つのフレームを符号化するに際して動き補償免除符号化処理方法を利用して符号化すべきマクロブロックの個数を算出することに特徴を有する動画像符号化装置である。動き補償免除マクロブロックの個数に基づいて、次段階での動き補償を免除するか否かを判断する閾値を算出し、符号化処理方法の選択が可能となるため、的確に動き補償を免除するか否かを判断できる。
<<実施形態5>>
<実施形態5:概要> 実施形態5について説明する。本実施形態は、負荷状態情報に基づいて、1つのフレームを符号化するに際して動き補償免除符号化処理方法を利用して符号化すべきマクロブロックとして画像データ中から画像データの領域を選択する際に、最も画質劣化が少ないと予測される領域を選択することに特徴を有する動画像符号化装置である。
<実施形態5:構成> 本実施形態での機能ブロックの一例を図8に示す。 図8に示す本実施形態の「動画像符号化装置」(0800)は、「画像データ取得部」(0801)と、「CPU負荷状態監視部」(0802)と、「符号化処理方法選択部」(0803)と、「符号化部」(0804)と、さらに、「領域選択部」(0805)を有し、領域選択部(0805)は「予測手段」(0806)を有する。
「領域選択部」(0805)は、前記CPU負荷状態監視部(0802)から出力される負荷状態情報に基づいて、1つのフレームを符号化するに際して動き補償免除符号化処理方法を利用して符号化すべきマクロブロックとして画像データ中から画像データの領域を選択する。「領域」としたのは、マクロブロックが形成される前の状態でも画像データの一部分を選択できるためである。
「予測手段」(0806)は、前記動き補償免除符号化処理をすることにより最も画質劣化が少ないとされる領域を予測する。動き補償を含む符号化処理では、被写体に動きがある場合、その領域をシフトして差を求め、差分値を小さくすることで、符号化すべき画像データ量を削減できる。他方、動き補償免除符号化処理では、画像内で被写体に動きがある場合でも加味されず、前フレームとの差分に基づいて符号化が行われる。したがって、被写体の動きが大きな領域においては画質が劣化することも予想される。したがって、例えば、前フレームの差分から被写体の移動量が少ない領域を最も画質劣化が少ないとされる領域とすることができる。このような予測結果に基づいて前記選択を行う。
その他各部の処理については、実施形態4と同様である。
<実施形態5:効果> 本実施形態は、負荷状態情報に基づいて、1つのフレームを符号化するに際して動き補償免除符号化処理方法を利用して符号化すべきマクロブロックとして画像データ中から画像データの領域を選択する際に、最も画質劣化が少ないと予測される領域を選択することに特徴を有する動画像符号化装置である。画質劣化が少ないと予想される領域を優先的に動き補償免除符号化処理方法を利用して符号化することで、全体としての画質の向上を図ることができる。
<<実施形態6>>
<実施形態6:概要> 実施形態6について説明する。本実施形態は、第二動き補償免除符号化処理方法を選択した場合に、当該Bピクチャとして符号化すべきフレームの前後に位置する符号化されたフレームであるI又はPピクチャから、当該Bピクチャまでの時間的距離に応じて前方向予測を利用するか後方向予測を利用するか判断することに特徴を有する動画像符号化装置である。
図9は、本実施形態における概念の一例を示したものである。ここでは、ピクチャ9枚からなるGOPを図示した。各ピクチャに付された番号は、符号化の順序を表したものである。つまりここでは、Iピクチャの次にPピクチャが符号化され、その次にBピクチャが符号化される。Bピクチャは、IピクチャとPピクチャの間に挿入される。Bピクチャの符号化において、もし前後双方のフレームに基づいて符号化を行う双方予測符号化処理方法を利用する場合にはIピクチャ、Pピクチャに基づいて処理される。例えば、符号化順序が3、4番目のBピクチャは、1番目のIピクチャと2番目のPピクチャに基づいて処理され、6、7番目のBピクチャは、2、5番目のPピクチャに基づいて処理される。
今、前方向予測、あるいは、後方向予測のいずれかの方法で符号化を行うとき、Bピクチャまでの時間的距離に応じて、いずれの方向の予測符号化処理方法を利用するか判断する。このとき、3番目のBピクチャは、2番目のPピクチャよりも1番目のIピクチャの方が時間的距離は短いといえる。したがって、3番目のBピクチャは、1番目のIピクチャに基づいて前方向予測処理方法を利用するとの判断を行う。同様に、7番目のBピクチャは、2番目のPピクチャよりも5番目のPピクチャの方が時間的距離は短いといえるため、5番目のPピクチャに基づいて後方向予測処理方法を利用するとの判断を行う。
<実施形態6:構成> 本実施形態での機能ブロックの一例を図10に示す。 図10に示す本実施形態の「動画像符号化装置」(1000)は、「画像データ取得部」(1001)と、「CPU負荷状態監視部」(1002)と、「符号化処理方法選択部」(1003)と、「符号化部」(1004)を有し、符号化処理方法選択部(1003)は「前後判断手段」(1005)を有する。
「前後判断手段」(1005)は、第二動き補償免除符号化処理方法を選択した場合に、当該Bピクチャとして符号化すべきフレームの前後に位置する符号化されたフレームであるI又はPピクチャから、当該Bピクチャまでの時間的距離に応じて前方向予測を利用するか後方向予測を利用するか判断する。この判断は、Bピクチャの前方に位置するI又はPピクチャからの時間的距離が、後方に位置するI又はPピクチャからの時間的距離よりも短い場合には、Bピクチャに含まれる動き補償免除マクロブロックに対して前方向予測符号化を利用すると判断し、逆に長い場合には後方向予測符号化を利用すると判断する。
その他各部の処理については、実施形態1から5と同様である。
<実施形態6:処理の流れ> 図11は、実施形態6での処理の流れの一例を示したものである。まず、カメラからの画像データを取得する(画像データ取得部ステップ S1101)。次に、CPU資源の負荷状態を監視して負荷状態情報を出力する(CPU負荷状態監視ステップ S1102)。その次に、負荷状態情報に応じて符号化すべきマクロブロックの符号化処理方法を選択する(符号化処理方法選択ステップ S1103)。なお、符号化すべきマクロブロックが属するピクチャに対応する符号化処理方法の中から選択する。Iピクチャであれば、イントラ符号化処理方法を選択し、P、Bピクチャであればさらに負荷状態情報に応じてCPUの負荷状態を加味する。Pピクチャは、負荷が大きいときにはイントラ符号化処理方法を選択し、負荷が小さいときには前方向予測符号化処理方法を選択する。ここまでは、実施形態1における処理の流れと同様である。
次にBピクチャは、負荷が大きいときにはイントラ符号化処理方法を選択し、負荷が小さいときには双方向予測符号化処理方法を選択する。また、負荷が中程度のときには前方向予測符号化処理方法、あるいは、後ろ方向予測符号化処理方法を選択する。このとき、当該Bピクチャとして符号化すべきフレームの前後に位置する符号化されたフレームであるI又はPピクチャから、当該Bピクチャまでの時間的距離に応じて前方向予測を利用するか後方向予測を利用するか判断する(前後判断ステップ S1104)。前後判断ステップにおいて、Bピクチャの前方に位置するI又はPピクチャからの時間的距離が、後方に位置するI又はPピクチャからの時間的距離よりも短いとの判断結果の場合には、Bピクチャに含まれる動き補償免除マクロブロックに対して前方向予測符号化を利用して、所定のマクロブロックの符号化を行う(前方向予測符号化ステップ S1105)。他方、長いとの判断結果の場合には、後方向予測符号化を利用して、所定のマクロブロックの符号化を行う(後方向予測符号化ステップ S1106)。その他のピクチャについても、それぞれ選択された符号化処理方法に基づいて所定のマクロブロックの符号化を行う(方向予測符号化ステップ S1007)。
<実施形態6:効果> 本実施形態は、第二動き補償免除符号化処理方法を選択した場合に、当該Bピクチャとして符号化すべきフレームの前後に位置する符号化されたフレームであるI又はPピクチャから、当該Bピクチャまでの時間的距離に応じて前方向予測を利用するか後方向予測を利用するか判断することに特徴を有する動画像符号化装置である。前方向予測を利用するか後方向予測を利用するかを容易に判断でき、加えて、時間的距離の近いフレームつまり精度の高い予測に基づいて符号化ができる。
実施形態1を説明するための概念図 実施形態1を説明するための機能ブロック図 実施形態1の処理の流れを説明する図 実施形態2を説明するための機能ブロック図 実施形態3における符号化処理方法の種類を示した図 実施形態4を説明するための機能ブロック図 実施形態4における閾値とバッファ占有率の関係を示した図 実施形態5を説明するための機能ブロック図 実施形態6を説明するための概念図 実施形態6を説明するための機能ブロック図 実施形態6の処理の流れを説明する図
符号の説明
0200 動画像符号化装置
0201 画像データ取得部
0202 CPU負荷状態監視部
0203 符号化処理方法選択部
0204 符号化部

Claims (8)

  1. カメラから取得する画像データをMPEG符号化プログラムを利用して逐次符号化する動画像符号化装置であって、
    前記画像データを取得する画像データ取得部と、
    CPU資源の負荷状態を監視して負荷状態情報を出力するCPU負荷状態監視部と、
    前記負荷状態情報に応じて符号化すべきマクロブロックの符号化処理方法を選択する符号化処理方法選択部と、
    前記符号化処理方法選択部にて選択された符号化処理方法に基づいて所定のマクロブロックの符号化を行う符号化部と、
    を有する動画像符号化装置。
  2. 前記画像データ取得部が取得したデータを、前記符号化部にて符号化する前に一時格納する画像データバッファ部を有し、
    前記CPU負荷状態監視部は、前記画像データバッファ部における画像データのバッファ量に基づいて負荷状態情報を算出するバッファ量依存負荷状態情報算出手段を有する
    請求項1に記載の動画像符号化装置。
  3. 前記符号化処理方法選択部にて選択可能な符号化処理方法は、
    Pピクチャの符号化において動きベクトルを検出せずに、イントラ符号化によってマクロブロックの符号化を行う第一動き補償免除符号化処理方法を含む請求項1又は2のいずれか一に記載の動画像符号化装置。
  4. 前記符号化処理方法選択部にて選択可能な符号化処理方法は、
    Bピクチャの符号化において前後フレームから検出されるべき動きベクトルのうちいずれか一方を検出せずに、前方向予測または後方向予測によって符号化を行う第二動き補償免除符号化処理方法を含む請求項1から3のいずれか一に記載の動画像符号化装置。
  5. 前記CPU負荷状態監視部から出力される負荷状態情報に基づいて、1つのフレームを
    符号化するに際して動き補償免除符号化処理方法を利用して符号化すべきマクロブロックの個数を算出するための免除マクロブロック個数算出部を有する請求項3又は4に記載の動画像符号化装置。
  6. 前記CPU負荷状態監視部から出力される負荷状態情報に基づいて、1つのフレームを符号化するに際して動き補償免除符号化処理方法を利用して符号化すべきマクロブロックとして画像データ中から画像データの領域を選択する領域選択部を有し、
    前記領域選択部は、
    前記動き補償免除符号化処理をすることにより最も画質劣化が少ないとされる領域を予測する予測手段を有し、
    前記予測手段の予測結果に基づいて前記選択を行う請求項3から5のいずれか一に記載の動画像符号化装置。
  7. 前記符号化処理方法選択部は、
    第二動き補償免除符号化処理方法を選択した場合に、当該Bピクチャとして符号化すべきフレームの前後に位置する符号化されたフレームであるI又はPピクチャから、当該Bピクチャまでの時間的距離に応じて前方向予測を利用するか後方向予測を利用するか判断する前後判断手段を有する動画像符号化装置。
  8. カメラから取得する画像データをMPEG符号化プログラムを利用して逐次符号化する動画像符号化装置による動画像符号化方法であって、
    画像データを取得する画像データ取得部ステップと、
    CPU資源の負荷状態を監視して負荷状態情報を出力するCPU負荷状態監視ステップと、
    負荷状態情報に応じて符号化すべきマクロブロックの符号化処理方法を選択する符号化処理方法選択ステップと、
    前記符号化処理方法選択ステップにて選択された符号化処理方法に基づいて所定のマクロブロックの符号化を行う符号化ステップと、
    からなる動画像符号化方法。
JP2005004212A 2005-01-11 2005-01-11 動画像符号化装置 Pending JP2006197006A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005004212A JP2006197006A (ja) 2005-01-11 2005-01-11 動画像符号化装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005004212A JP2006197006A (ja) 2005-01-11 2005-01-11 動画像符号化装置

Publications (1)

Publication Number Publication Date
JP2006197006A true JP2006197006A (ja) 2006-07-27

Family

ID=36802755

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005004212A Pending JP2006197006A (ja) 2005-01-11 2005-01-11 動画像符号化装置

Country Status (1)

Country Link
JP (1) JP2006197006A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009188643A (ja) * 2008-02-05 2009-08-20 Nippon Telegraph & Telephone East Corp 画面情報圧縮装置および画面情報圧縮プログラム
WO2012141552A3 (ko) * 2011-04-15 2013-01-10 에스케이플래닛 주식회사 적응적 비디오 트랜스코딩 방법 및 시스템
JP2014207529A (ja) * 2013-04-11 2014-10-30 富士通株式会社 画面データ転送装置、画面表示システム、処理負荷軽減方法、及び処理負荷軽減プログラム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009188643A (ja) * 2008-02-05 2009-08-20 Nippon Telegraph & Telephone East Corp 画面情報圧縮装置および画面情報圧縮プログラム
WO2012141552A3 (ko) * 2011-04-15 2013-01-10 에스케이플래닛 주식회사 적응적 비디오 트랜스코딩 방법 및 시스템
CN103548352A (zh) * 2011-04-15 2014-01-29 Sk普兰尼特有限公司 自适应视频转码方法和系统
JP2014514852A (ja) * 2011-04-15 2014-06-19 エスケー プラネット カンパニー、リミテッド 適応的ビデオ・トランスコーディング方法及びシステム
JP2014207529A (ja) * 2013-04-11 2014-10-30 富士通株式会社 画面データ転送装置、画面表示システム、処理負荷軽減方法、及び処理負荷軽減プログラム

Similar Documents

Publication Publication Date Title
US8385423B2 (en) Motion vector detecting device, motion vector detecting method, image encoding device, and program
JP6149707B2 (ja) 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、及び動画像撮影装置
JPH10304374A (ja) 動画像符号化装置
US8654850B2 (en) Image coding device and image coding method
JP2007329693A (ja) 画像符号化装置、及び画像符号化方法
US8358860B2 (en) Motion vector detecting device, motion vector detecting method, image encoding device, and program
US8917766B2 (en) Picture coding apparatus, picture coding method and video camera
US20140233645A1 (en) Moving image encoding apparatus, method of controlling the same, and program
JP3531532B2 (ja) 動画像符号化装置、及び方法
JP5583439B2 (ja) 画像符号化装置及びカメラシステム
JP5748225B2 (ja) 動画像符号化方法,動画像符号化装置および動画像符号化プログラム
JP2001128179A (ja) 動画像符号化装置および方法
JP2009089267A (ja) イントラ予測符号化装置、イントラ予測符号化方法及びプログラム
WO2011155376A1 (ja) 符号化装置および符号化方法
JP2006197006A (ja) 動画像符号化装置
US20130315296A1 (en) Systems and methods for adaptive selection of video encoding resources
JP2006246277A (ja) 再符号化装置、再符号化方法、および再符号化用プログラム
JP5760950B2 (ja) 動画像再符号化装置、動画像再符号化方法及び動画像再符号化用コンピュータプログラム
JP5727398B2 (ja) 動画像符号化方法,動画像符号化装置および動画像符号化プログラム
JP6313614B2 (ja) 動画像符号化装置及びその制御方法
JP4676513B2 (ja) 符号化ピクチャタイプ決定方法,装置,そのプログラムおよびその記録媒体
JP2008311824A (ja) 画像符号化装置および画像符号化プログラム
JP2006303987A (ja) 画像符号化装置及び画像符号化方法
WO2013189543A1 (en) Apparatus and method for coding a video signal
JP6016484B2 (ja) 符号化装置