JP4895016B2 - 撮像装置 - Google Patents

撮像装置 Download PDF

Info

Publication number
JP4895016B2
JP4895016B2 JP2006265475A JP2006265475A JP4895016B2 JP 4895016 B2 JP4895016 B2 JP 4895016B2 JP 2006265475 A JP2006265475 A JP 2006265475A JP 2006265475 A JP2006265475 A JP 2006265475A JP 4895016 B2 JP4895016 B2 JP 4895016B2
Authority
JP
Japan
Prior art keywords
frame rate
threshold
unit
image
frame
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
JP2006265475A
Other languages
English (en)
Other versions
JP2008085860A (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.)
Sanyo Electric Co Ltd
Original Assignee
Sanyo Electric Co Ltd
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 Sanyo Electric Co Ltd filed Critical Sanyo Electric Co Ltd
Priority to JP2006265475A priority Critical patent/JP4895016B2/ja
Publication of JP2008085860A publication Critical patent/JP2008085860A/ja
Application granted granted Critical
Publication of JP4895016B2 publication Critical patent/JP4895016B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Television Signal Processing For Recording (AREA)
  • Studio Devices (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

本発明は、撮像した動画像を符号化するための画像符号化装置に関する。
デジタルビデオカメラなどが普及してきており、一般ユーザも簡単に動画像を撮像することができるようになってきている。また、デジタルビデオカメラの性能も年々向上しており、毎秒300コマで撮像可能なCMOS(Complementary Metal-Oxide Semiconductor)センサを搭載したものもある。このようなカメラを使用すると、スポーツなど被写体の動きが大きい動画像を撮像する場合でも、高品質なスロー再生などの特殊再生が可能な符号化画像ストリームを生成することができる。
特許文献1は、自動焦点調節装置を備えたカメラにて、被写体の静止、移動に応じて駒速を設定する技術を開示する。
特開平5−5930号公報
毎秒300コマなど、高フレームレートで撮像された符号化画像ストリームのデータ量は、通常のフレームレートで撮像された符号化画像ストリームのデータ量より大きくなってしまう。特に、携帯型で小型のデジタルビデオカメラではデータ量の削減に対する要求が強くなる。したがって、符号化画像ストリーム中で高品質な画像が要求されない部分ではできるだけデータ量を削減することが望まれる。例えば、ユーザが被写体やシーンを切り替えるために高速なパンニングをした場合、パンニング中に撮像された画像は、高品質な画像が要求されない画像といえる。
本発明はこうした状況に鑑みなされたものであり、その目的は、画像品質の低下を抑制しながら、データ量を削減することができる画像符号化装置を提供することにある。
上記課題を解決するために、本発明のある態様の画像符号化装置は、動画像の撮像中において、所定の閾値を超える移動量、速さまたは加速度で本装置が移動していることを検出することにより、フレームレートを低下させる。所定の閾値を超える移動量、速さまたは加速度で本装置が移動していることを検出している期間、フレームレートを低下させてもよい。
この態様によると、高速なパンニングがなされている間など、動画像の品質にあまり影響を与えない期間のフレームレートを低下させることにより、画像品質の低下を抑制しながら、データ量を削減することができる。
本発明の別の態様もまた、画像符号化装置である。この装置は、動画像の撮像中において、所定の閾値を超える移動量、速さまたは加速度で本装置が移動していることを検出することにより、撮像したピクチャの記録を停止する。所定の閾値を超える移動量、速さまたは加速度で本装置が移動していることを検出している期間、その期間に撮像されたピクチャの記録を停止してもよい。「ピクチャ」は符号化の単位であり、その概念にはフレーム、フィールド、VOP(Video Object Plane)などが含まれてもよい。撮像したピクチャの記録を停止している間、フレームレートを低下させてもよい。
この態様によると、高速なパンニングがなされている間など、動画像の品質にあまり影響を与えない部分のピクチャの記録を停止することにより、画像品質の低下を抑制しながら、データ量を削減することができる。
撮像した複数のピクチャにわたる動きベクトルの変化を参照し、所定の閾値を超える移動量、速さまたは加速度で本装置が移動しているか否かを判定してもよい。「動きベクトルの変化」を参照して、ピクチャ間におけるマクロブロックの移動量が設定された移動量を超えたか否か判定してもよい。設定された移動量を超えた場合、各ピクチャのマクロブロック間の移動方向の一致度が、設定された一致度を超えるか否か判定してもよい。
撮像した複数のピクチャにわたる注目領域の動きベクトルの変化を参照し、判定してもよい。「注目領域」は、少なくとも顔が含まれる領域であってもよい。「注目領域」は、オートフォーカス制御により合焦された領域に基づいて設定されてもよい。
本装置の動きを検出するためのセンサの出力を参照し、所定の閾値を超える移動量、速さまたは加速度で本装置が移動しているか否かを判定してもよい。「センサ」は本装置の姿勢の変化を角速度で出力してもよい。
所定の閾値を超えない期間、基本フレームレートより高いフレームレートで動画像を撮像していてもよい。「基本フレームレート」は、非変速再生に対応したレートであってもよい。被写体の動きが速い動画像でも、高いフレームレートで撮像すると、高品質なスロー再生に対応することができる。
所定の閾値を超えない期間、撮像した複数のピクチャにわたる動きベクトルの変化を参照し、所定の上限値を上回る場合、フレームレートを高くし、所定の下限値を下回る場合、フレームレートを低くしてもよい。所定の閾値を超えない間、被写体の動きなどに応じて、適応的にフレームレートを切り替えることにより、画像品質の低下を抑制しながら、データ量をさらに削減することができる。
なお、以上の構成要素の任意の組み合わせ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
本発明によれば、画像品質の低下を抑制しながら、データ量を削減することができる。
本発明の実施形態を詳細に説明する前に概要を説明する。ユーザが撮像装置を用いて動画像を撮像しているとき、被写体やシーンを切り替えるために撮像装置を大きく動かす場合がある。切り替え前の被写体やシーンから切り替え後の被写体やシーンまでの期間に撮像された画像は、ユーザが積極的に撮像することを意図した画像ではない。したがって、その期間に撮像された画像は、高品質なスロー再生が可能な程度に高いフレームレートで撮像される必要はない。そこで、本発明の実施形態では、その期間のフレームレートを低下させることにより、データ量を削減する。また、その期間の符号化または記録を停止することにより、データ量を削減する。
図1は、シーンチェンジを含む動画像を記録する際の一般的なコマ数の遷移を示す図である。図1は、野球の試合を撮像した動画像を示す。画像aは、バッターがバットにボールを当てたが、ボールが前に飛ばず、キャッチャーにキャッチされる寸前のシーンを示す。この間にファーストランナーが盗塁している。そのファーストランナーをセカンドベースでアウトにするため、キャッチャーはボールをキャッチするとセカンドに送球した。この状況を撮像しているユーザは、盗塁が成功したか否かを撮像するため、撮像装置を高速にパンニングして、ホームベース付近のシーンからセカンドベース付近のシーンに切り替えた。
画像bは、セカンドベース付近のシーンに切り替えるためにユーザが撮像装置を高速にパンニングしている最中に撮像された画像を示す。画像cは、切り替えられたセカンドベース付近のシーンを示す。図1に示すように一般的な処理では、シーンの切り替えに関わらず、フレームレートは一定であり、記録されるコマ数も一定である。
図2は、シーンチェンジを含む動画像を記録する際の本発明の実施形態に係るコマ数の遷移1を示す図である。図2に示す画像も、図1と同じ状況を撮像したものである。高速にパンニングされている期間に撮像された画像bは記録されない。したがって、この期間に撮像された画像は符号化されなくてもよい。撮像されたフレーム間の動きベクトルなどの特徴の変化を参照して、高速なパンニングの開始や終了を推定する場合、撮像自体は継続する必要がある。その際、フレームレートを低下させてもよいし、維持してもよい。なお、ジャイロセンサなどを利用して、高速なパンニングの開始や終了を判定する場合、撮像自体を停止してもよい。高速なパンニングが終了したと判断された時点で、画像の記録が再開される。
図2に示すように高速にパンニングしている期間に撮像された画像bは大きくぶれており、この期間の画像を再生しても、もともと高品質な画像を得ることができない。また、撮像したユーザの意図を考慮しても、特に必要なシーンとして撮像されたわけではない。よって、上記期間の画像bは記録されなくてもよく、その場合、データ量が削減する。
図3は、シーンチェンジを含む動画像を記録する際の本発明の実施形態に係るコマ数の遷移2を示す図である。図3に示す画像も、図1と同じ状況を撮影したものである。高速にパンニングされている期間に撮像された画像bを記録する際のコマ数が削減される。その際、フレームレートを低下させてもよい。図3に示した例も、上記期間に撮像された画像bを記録する際のコマ数が削減されることにより、データ量が削減する。図2に示した例よりも、シーンチェンジの際の画像は滑らかなものとなる。図1に示した動画像と比較し、動画像全体の品質がほとんど同じでありながら、データ量は少なくなる。
以下、上述した処理を実現するための具体的な実施形態について詳細に説明する。
図4は、実施形態1に係る符号化装置100を搭載した撮像装置500の構成図である。これらの構成は、ハードウェア的には、任意のコンピュータのCPU、メモリ、その他のLSIで実現でき、ソフトウェア的にはメモリにロードされた画像符号化機能のあるプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組み合わせによっていろいろな形で実現できることは、当業者には理解されるところである。
撮像装置500は、撮像部400および符号化装置100を備える。撮像部400は、CCD(Charge Coupled Devices)センサやCMOSセンサなどの固体撮像素子、それを駆動するドライバを備え、撮像した画像を電気信号に変換し、符号化装置100に出力する。符号化装置100は、フレーム単位で動画像の入力を受け取り、動画像を符号化し、符号化ストリームを出力する。
本実施形態の符号化装置100は、国際標準化機関であるISO(International Organization for Standardization)/IEC(International Electrotechnical Commission)によって標準化されたMPEG(Moving Picture Experts Group)シリーズの規格(MPEG−1、MPEG−2およびMPEG−4)、電気通信に関する国際標準機関であるITU−T(International Telecommunication Union-Telecommunication Standardization Sector)によって標準化されたH.26xシリーズの規格(H.261、H.262およびH.263)、もしくは両方の標準化機関によって合同で標準化された最新の動画像圧縮符号化標準規格であるH.264/AVC(両機関における正式勧告名はそれぞれMPEG-4 Part 10: Advanced Video CodingとH.264)に準拠して動画像の符号化を行う。
MPEGシリーズの規格では、フレーム内符号化を行う画像フレームをI(Intra)フレーム、過去のフレームを参照画像として順方向のフレーム間予測符号化を行う画像フレームをP(Predictive)フレーム、過去と未来のフレームを参照画像として双方向のフレーム間予測符号化を行う画像フレームをBフレームという。
一方、H.264/AVCでは、参照画像として利用できるフレームは、時間の先後を問わず、過去の2枚のフレームを参照画像としてもよく、未来の2枚のフレームを参照画像としてもよい。また、参照画像として利用できるフレームの枚数も問わず、3枚以上のフレームを参照画像として用いることもできる。したがって、MPEG−1/2/4では、Bフレームは双方向予測(Bi-directional prediction)フレームのことを指していたが、H.264/AVCでは、Bフレームは、参照画像の時間の先後は問わないため、双予測(Bi-predictive prediction)フレームのことを指すことに留意する。
なお、本願明細書では、フレームとピクチャを同じ意味で用いており、Iフレーム、Pフレーム、Bフレームは、それぞれIピクチャ、Pピクチャ、Bピクチャとも呼ばれている。
また、本願明細書では、符号化の単位としてフレームを例に挙げて説明するが、符号化の単位はフィールドであってもよい。また、符号化の単位はMPEG−4におけるVOPであってもよい。
ブロック生成部10は、撮像部400から入力された画像フレームをマクロブロックに分割する。画像フレームの左上から右下方向の順にマクロブロックが形成される。ブロック生成部10は生成したマクロブロックを差分器12および動き補償部60に供給する。
差分器12は、ブロック生成部10から供給される画像フレームがIフレームであれば、そのままDCT部20に出力するが、PフレームまたはBフレームであれば、動き補償部60から供給される予測画像との差分を計算してDCT部20に供給する。
動き補償部60は、フレームメモリ80に格納されている過去または未来の画像フレームを参照画像として利用し、ブロック生成部10から入力されたPフレームまたはBフレームの各マクロブロックについて、誤差の最も小さい予測領域を参照画像から探索し、マクロブロックから予測領域へのずれを示す動きベクトルを求める。動き補償部60は、動きベクトルを用いてマクロブロック毎に動き補償を行い、予測画像を生成する。動き補償部60は、生成した動きベクトルをフレームレート制御部70と可変長符号化部90に供給し、予測画像を差分器12と加算器14に供給する。
動き補償部60では、双方向予測と片方向予測のいずれも適用可能である。動き補償部60は、片方向予測では、前方参照フレームに対する動きを示す順方向動きベクトルを生成する。双方向予測では、順方向動きベクトルに加えて、後方参照フレームに対する動きを示す逆方向動きベクトルの2つの動きベクトルを生成する。
差分器12は、ブロック生成部10から出力される現在の画像、すなわち符号化対象の画像と、動き補償部60から出力される予測画像との差分を求め、DCT部20に出力する。DCT部20は、差分器12から与えられた差分画像を離散コサイン変換(DCT)し、DCT係数を量子化部30に与える。
量子化部30は、DCT係数を量子化し、可変長符号化部90に与える。可変長符号化部90は、動き補償部60から与えられた動きベクトルとともに差分画像の量子化されたDCT係数を可変長符号化し、符号化ストリームCSを生成する。符号化ストリームCSは、メモリカードやハードディスクやDVDなどの記録媒体に記録されるか、ストリーミング配信される。
量子化部30は、画像フレームの量子化されたDCT係数を逆量子化部40に供給する。逆量子化部40は、与えられた量子化データを逆量子化し、逆DCT部50に与え、逆DCT部50は、与えられた逆量子化データを逆離散コサイン変換する。これにより、符号化された画像フレームが復元される。復元された画像フレームは加算器14に入力される。
加算器14は、逆DCT部50から供給される画像フレームがIフレームであれば、そのままフレームメモリ80に格納する。加算器14は、逆DCT部50から供給される画像フレームがPフレームまたはBフレームであれば、それは差分画像であるため、逆DCT部50から供給された差分画像と動き補償部60から供給される予測画像とを加算することにより、元の画像フレームを再構成し、フレームメモリ80に格納する。
PフレームもしくはBフレームの符号化処理の場合は、上述のように動き補償部60が動作するが、Iフレームの符号化処理の場合は、動き補償部60は動作せず、ここでは図示しないが、Iフレームはフレーム内予測が行われた後、DCT部20に供給される。
フレームレート制御部70は、所定の条件にしたがいフレームレートを変更する。適応的に変更してもよい。例えば、ユーザが被写体またはシーンを変更するために本撮像装置500を所定の第1閾値を超える移動量、速さまたは加速度で動かしたとき、フレームレートを低下させる。上記第1閾値は、被写体またはシーンを変更するために加えられた動きであるか否かを判定するための閾値であり、設計者が実験やシミュレーションにより求めた値に設定されることができる。また、ユーザが設定してもよい。
フレームレート制御部70は、フレームレートの変更とともに、符号化もしくは記録を停止することができる。また、フレームレートの変更と独立して、符号化もしくは記録を停止することができる。また、フレームレート制御部70は、ブロック生成部10以降の符号化処理を施すフレーム数を少なくすることができ、また、記録するフレーム数を少なくすることもできる。これらのフレーム数も、フレームレートと独立に制御することができる。これらの処理に先立ち、フレームレート制御部70は、動き補償部60から与えられる動きベクトルを参照して、本撮像装置500に加えられた動きを推測する。以下、具体的に説明する。
図5は、実施形態1に係るフレームレート制御部70の実施例1を説明する図である。実施例1に係るフレームレート制御部70は、動きベクトル解析部72およびフレームレート設定部78を備える。動きベクトル解析部72は、移動量検出部73および移動方向検出部74を含む。
動きベクトル解析部72は、動き補償部60から各マクロブロックの動きベクトルを取得し、解析する。移動量検出部73は、取得した動きベクトルから、各マクロブロックの移動量を検出する。例えば、各マクロブロックのx方向およびy方向への移動量を絶対値で表し、フレームごとにすべてのマクロブロックの上記移動量を足し合わせた値(以下、総移動量と表記する)を検出する。移動方向検出部74は、取得した動きベクトルから、各マクロブロックの移動方向を検出する。
動きベクトル解析部72は、上記総移動量が所定の第2閾値を超えたか否かを判定する。所定の第2閾値も、設計者が実験やシミュレーションにより求めた値に設定されることができる。撮影用途ごとに異なるモードが搭載されている場合、そのモードごとに第2閾値を変更してもよい。用途ごとに被写体の想定される移動速度が異なるためである。この第2閾値は、上記第1閾値と関連付けられる。すなわち、上記総移動量と、撮像装置500に加えられた動きとの関係がモデル化され、上記第1閾値が設定されると上記第2閾値が決定される関係にある。上記総移動量が非常に大きい場合、被写体が移動したのではなく、撮像装置500自体が高速に動かされたとモデル化することができる。
ただし、上記総移動量が非常に大きい場合でも、複数の被写体が高速に移動しているなどの可能性もある。そこで、動きベクトル解析部72は、各フレームにおける全マクロブロックの移動方向の一致度を判定する。当該一致度が所定の第3閾値を超える場合、撮像装置500がパンニングされていると推測する。この第3閾値も、設計者が実験やシミュレーションにより求めた値に設定されることができ、上記第1閾値と関連付けられる。大部分のマクロブロックが同じ方向に移動している場合、撮像装置500自体がその逆の方向にパンニングされていると推測される。
動きベクトル解析部72は、上述したような判定を複数のフレームに渡って行う。複数のフレームに渡って観測すると、マクロブロックの総移動量やマクロブロックの移動方向の一致度などの各種パラメータの傾向を把握することができる。例えば、パラメータの増減傾向や、パラメータの値が維持される期間や、パラメータが上記第2閾値または第3閾値を超えた回数、頻度などを求めることができる。
動きベクトル解析部72は、各種パラメータに統計的な処理も施すことができる。例えば、複数のフレームに渡るパラメータに対し、最大値、最小値を排除したり、移動平均処理を行うことにより、異常値を排除することができる。動きベクトル解析部72は、これらの解析に基づき、上記第1閾値を超える移動量、速さまたは加速度で撮像装置500が移動したと推測した場合、フレームレート設定部78にフレームレートの変更を指示する。
フレームレート設定部78は、動きベクトル解析部72からの指示に応じて、フレームレートを変更する。例えば、スポーツ撮影などに適した、高品質なスロー再生も可能な高画質モードのフレームレートが300、通常モードのフレームレートが60とする。高画質モードで撮影中に、動きベクトル解析部72が上記第1閾値を超える移動量、速さまたは加速度で撮像装置500が移動したと判定した場合、フレームレート設定部78は、フレームレートを300から60に変更する。なお、さらにデータ量を削減したい場合、60未満に変更してもよい。例えば、1にしてもよい。また、フレームレートを60に変更しつつ、符号化を停止するようブロック生成部10以降の構成要素に指示してもよい。
図6は、実施例1に係るフレームレート制御部70を搭載した実施形態1に係る撮像装置500の動作を示すフローチャートである。前提として、上述した高画質モードで撮影されている場合を想定する。ユーザによる高速パンニング動作などが検出されると、通常モードまたは低画質モードに移行する場合を想定する。図6では、高画質モードにおけるフレームレートを基本値と表記し、移行される通常モードまたは低画質モードにおけるフレームレートを削減値と表記する。
まず、ユーザが設定可能なパラメータがある場合、パラメータを設定する(S10)。例えば、移行後のフレームレートを設定する。また、フレームレートを低下させる処理を発動させる感度を、弱、中、強モードから選択して設定可能な場合、いずれかのモードを選択する。選択されたモードに対応した上記第2閾値および第3閾値が設定される。
ユーザから撮像装置500に撮像開始の指示が入力されると(S12のY)、撮像装置500は撮像を開始する(S14)。ユーザから撮像装置500に撮像終了の指示が入力された場合(S16のY)、処理を終了する。撮像終了の指示が入力されない間(S16のN)、以下のように処理する。
動き補償部60は、フレームごとに各マクロブロックの動きベクトルを抽出して動きベクトル解析部72に与える(S22)。動きベクトル解析部72は、与えられた動きベクトルを解析する(S24)。具体的には、フレームごとにマクロブロックの総移動量およびマクロブロックの移動方向を検出する。
動きベクトル解析部72は、マクロブロックの総移動量が所定時間、上記第2閾値を超え続けたか否かを検出する(S26)。この時間も、設計者が実験やシミュレーションにより求めた値に設定されることができる。この時間中、上記第2閾値を超えないフレームが1枚から数枚程度あっても、上記第2閾値を超え続けたと見なしてもよい。
上記第2閾値を超え続けない場合(S26のN)、フレームレートが基本値に設定される(S28)。現在のフレームレートが基本値に設定されている場合、その状態が維持される。以下、ステップS16に遷移し、処理が続行される。上記第2閾値を超え続けた場合(S26のY)、動きベクトル解析部72は、その時間中に解析されたフレームの移動方向の一致度が上記第3閾値を超え続けたか否かを検出する(S29)。上記時間中、上記第3閾値を下回る一致度のフレームが1枚から数枚程度あっても、上記第3閾値を超え続けたと見なしてもよい。
上記第3閾値を超え続けた場合(S29のY)、フレームレートが削減値に設定される(S30)。現在のフレームレートの値が削減値に設定されている場合、その状態が維持される。以下、ステップS16に遷移し、処理が続行される。上記第3閾値を超え続けない場合(S29のN)、フレームレートが基本値に設定される(S28)。現在のフレームレートが基本値に設定されている場合、その状態が維持される。以下、ステップS16に遷移し、処理が続行される。
通常モードまたは低画質モード、すなわちフレームレートが削減値に設定されている状態から、高画質モードに復帰する処理も、ステップS26以降の処理により可能である。この場合、少なくとも上記第2閾値および第3閾値の一方を、通常モードまたは低画質モードに移行する場合に使用する閾値と異なるものにしてもよい。例えば、必要なシーンになっても、高画質モードに復帰しないという事態を回避するため、高画質モードへの復帰を判定するために使用する第2閾値を、通常モードまたは低画質モードへの移行を判定するために使用する第2閾値より小さくしてもよい。
なお、以上の記載では、高画質モードで撮影されている場合を想定し、ユーザによる高速パンニング動作などが検出されると、通常モードまたは低画質モードに移行する処理を説明した。この点、通常モードで撮影されている場合を想定し、ユーザによる高速パンニング動作などが検出されると、低画質モードに移行する処理にも適用可能である。この場合、通常モードにおけるフレームレートを基本値として、低画質モードにおけるフレームレートを削減値とする。
以上説明したように本実施形態の実施例1によれば、フレーム全体に渡るマクロブロックの動きベクトルを参照して、フレームレートを変更することにより、画像品質の低下を抑制しながら、データ量を削減することができる。また、高画質モードで撮影している場合、高品質な画像を記録しつつ、データ量の肥大化を抑制することができる。すなわち、不必要なシーンのデータ量を削減することができる。
図7は、実施形態1に係るフレームレート制御部70の実施例2を説明する図である。実施例2に係るフレームレート制御部70は、実施例1に係るフレームレート制御部70の構成要素に加えて、注目領域設定部76を備える。ここで、注目領域とはユーザが主として撮影しようとしている被写体を含む領域である。例えば、人間や動物などが該当する。
注目領域設定部76は、DCT係数の高周波成分を用いて、当該被写体の輪郭成分を検出することにより、画像内における被写体の位置を特定し、その被写体を含む領域を注目領域に設定することができる。また、人物撮影モードなどにおいて、画像内における顔の位置をパターンマッチングにより特定して、注目領域に設定してもよい。
オートフォーカス機能を搭載した撮像装置500の場合、オートフォーカス制御部110を備える。オートフォーカス制御部110は、画像内のコントラストなどを参照して、被写体にピントが合うよう自動的に制御する。ユーザは、ファインダ中央部に被写体が位置するよう、撮像装置500を動かすことにより被写体にピントを合わせることができる。ファインダ中央部だけでなく、複数のポイントからピントを合わせるべき位置を選択可能な構成の場合、ポイントを選択することによりピントを合わせることができる。
注目領域設定部76は、オートフォーカス制御部110からピントが合っている領域を取得し、その領域またはその領域を含む領域を注目領域に設定してもよい。なお、注目領域を矩形に設定すると、演算量を低減することができる。注目領域設定部76は、設定した注目領域を動き補償部60に設定する。
本実施例に係る動き補償部60は、上述した処理に加え、以下の処理も行う。すなわち、注目領域と誤差の最も小さい予測領域をフレームメモリ80に格納されている参照画像から探索し、注目領域から予測領域へのずれを示す動きベクトルを求める。動き補償部60は、この動きベクトルを、動きベクトル解析部72に供給する。
動きベクトル解析部72は、動き補償部60から注目領域の動きベクトルを取得し、解析する。図5に示した移動量検出部73(図7では図示せず)は、取得した動きベクトルから、注目領域の移動量を検出する。マクロブロックの移動方向の一致度を判定する必要はないため、注目領域の移動方向は検出しなくてもよい。
動きベクトル解析部72は、注目領域の移動量が所定の第4閾値を超えたか否かを判定する。この第4閾値も、設計者が実験やシミュレーションにより求めた値に設定されることができ、上記第1閾値と関連付けられる。
運動会で子供が走っている姿を撮影する場合など、動いている被写体を撮影する場合、ユーザは、被写体を追従するように撮像装置500をパンニングすることがある。このパンニングをシーンの切り替えるためのパンニングなどと区別する必要がある。前者のパンニングを許容するため、上記第4閾値を、移動量の検出領域に応じた比で調整された上記第2閾値より大きく設定してもよい。
動きベクトル解析部72は、注目領域の移動量に基づき、上記第1閾値を超える移動量、速さまたは加速度で撮像装置500が移動したと推測した場合、フレームレート設定部78にフレームレートの変更を指示する。フレームレート設定部78は、動きベクトル解析部72からの指示に応じて、フレームレートを変更する。
図8は、実施例2に係るフレームレート制御部70を搭載した実施形態1に係る撮像装置500の動作を示すフローチャートである。図8は、図6のフローチャートを基礎にしており、同一の処理には同一の符号が付されている。以下、図6と同様の処理については適宜、説明を省略し、相違する処理を中心に説明する。
まず、ステップS10からステップS16までの処理は、図6と同様のため説明を省略する。図8では、撮像終了の指示が入力されない間(S16のN)、以下のように処理する。
注目領域設定部76が注目領域を設定した場合(S18のY)、動き補償部60は、フレームごとに注目領域の動きベクトルを抽出して動きベクトル解析部72に与える(S20)。動きベクトル解析部72は、与えられた動きベクトルを解析する(S24)。具体的には、フレームごとに注目領域の移動量を検出する。
動きベクトル解析部72は、注目領域の移動量が所定時間、上記第4閾値を超え続けたか否かを検出する(S26)。この時間も、設計者が実験やシミュレーションにより求めた値に設定されることができる。
上記第4閾値を超え続けない場合(S26のN)、フレームレートが基本値に設定される(S28)。現在のフレームレートが基本値に設定されている場合、その状態が維持される。以下、ステップS16に遷移し、処理が続行される。上記第4閾値を超え続けた場合(S26のY)、フレームレートが削減値に設定される(S30)。現在のフレームレートが削減値に設定されている場合、その状態が維持される。フレームレートが削減値に設定されると、注目領域設定部76は注目領域を解除する(S31)。また、フレームレートが削減値の間、注目領域は設定されない。この期間はユーザが特定の被写体を撮影している期間ではなく、シーンなどを切り替えている期間と推測されるためである。以下、ステップS16に遷移し、処理が続行される。
ステップS18にて、注目領域設定部76が注目領域を設定しない場合(S18のN)、図6で説明したステップS22以降の処理と同様となる。説明の便宜上、図8にはステップS29の処理を記載していないが、移動方向の一致度の判定処理も行う。
実施例2においても実施例1と同様に、通常モードまたは低画質モードから高画質モードに復帰する処理も、ステップS26以降の処理により可能である。通常モードまたは低画質モードでは注目領域が解除されているため、フレーム全体に渡るマクロブロックの総移動量と上記第2閾値とが比較されることになる。高画質モードに復帰後、注目領域が再設定されてもよい。
以上説明したように本実施形態の実施例2によれば、被写体を含む注目領域の動きベクトルを参照して、フレームレートを変更させることにより、画像品質の低下を抑制しながら、データ量を削減することができる。また、被写体を含む注目領域の動きベクトルを用いて判定するため、ユーザの撮影意図を的確に推測することができ、誤判定を低減することができる。
次に、実施例3について説明する。実施例3は、実施例1に係る処理と、通常のフレームレートより高いフレームレートで高速撮像されているモードの実行中に、被写体などの動きの変化に応じて、フレームレートを適応的に変更させる処理を組み合わせたものである。実施例3に係る構成は、図4および図5に示したものと同様であるが、動きベクトル解析部72およびフレームレート設定部78は、以下に示す処理も行う。
フレームレート設定部78には、基本フレームレート、遷移可能なフレームレートすなわちフレームレートの変更点が複数設定される。基本フレームレートは、通常モードでの撮影に対応したフレームレートを指す。フレームレートの変更点は、基本フレームレートの整数倍のフレームレートに設定可能である。
動きベクトル解析部72は、マクロブロックの総移動量が、所定の第5閾値を上回ったか否か、および所定の第6閾値を下回ったか否かを判定する。当該第5閾値は、現在のフレームレートを高くするか否かを判定するための上限値であり、当該第6閾値は、現在のフレームレートを低くするか否かを判定するための下限値である。いずれの閾値も、設計者が実験やシミュレーションにより求めた値に設定されることができる。
図9は、実施例3に係るフレームレート制御部70を搭載した実施形態1に係る撮像装置500の動作を示すフローチャートである。図9は、図6のフローチャートを基礎にしており、同一の処理には同一の符号が付されている。以下、図6と同様の処理については適宜、説明を省略し、相違する処理を中心に説明する。
まず、ステップS10からステップS30までの処理は、図6と基本的に同様のため説明を省略する。実施例3では、ステップS28にてフレームレートが基本値に設定されたまたは維持された後、ステップS32に遷移する。
動きベクトル解析部72は、マクロブロックの総移動量が単位分析期間内に上記第5閾値を上回った回数が、あらかじめ設定された所定の回数を超えたか否かを判定する(S32)。上記第5閾値を上回った回数が所定の回数を超えた場合(S32のY)、現在のフレームレートを高方向に変更する(S34)。以下、ステップS16に遷移し処理を続行する。
ステップS32にて、上記第5閾値を上回った回数が所定の回数を超えない場合(S32のN)、動きベクトル解析部72は、マクロブロックの総移動量が単位分析期間内に上記第6閾値を下回った回数が、あらかじめ設定された所定の回数を超えたか否かを判定する(S36)。上記第6閾値を下回った回数が所定の回数を超えた場合(S36のY)、現在のフレームレートを低方向に変更する(S38)。以下、ステップS16に遷移し処理を続行する。上記第6閾値を下回った回数が所定の回数を超えない場合(S36のN)、フレームレートを変更せずに、ステップS16に遷移し処理を続行する。ステップS32およびステップS36の処理に利用する所定の回数も、設計者が実験やシミュレーションで求めた値に設定されることができる。
なお、低方向または高方向に変更すべきフレームレートの変更点が、もはや低方向または高方向に存在しない場合、上述した所定の回数を超えている場合でもフレームレートを変更しない。フレームレートの変更は、基本的には隣り合う変更点に段階的に遷移させるものであるが、例えば、所定の回数を2倍以上超えるなど、上記第5閾値を上回るまたは上記第6閾値を下回る頻度が非常に高い場合、フレームレートを現在の動作点から2段階以上離れた変更点に遷移させてもよい。なお、各フレームレートの変更点ごとに上記第5閾値および第6閾値をあらかじめ設定しておいてもよい。
以上説明したように本実施形態の実施例3によれば、フレーム全体に渡るマクロブロックの動きベクトルを参照して、フレームレートを変更させることにより、画像品質の低下を抑制しながら、データ量を削減することができる。また、上記第2閾値を超えない範囲内にて、フレームレートを適応的に変更することにより、高品質な画像の記録をしつつ、データ量を削減することができる。この範囲内では、動きベクトルの移動量が大きいほど、高品質なスロー再生に対応させるべくフレームレートを高くする。ただし、この範囲を超えて動きベクトルの移動量が大きくなると、高速にパンニングされたと判定し、フレームレートを低くする。
図10は、実施形態2に係る撮像装置500の構成図である。実施形態2に係る撮像装置500は、実施形態1に係る撮像装置500に手振れ検出部120が付加された構成である。したがって、手振れ検出部120に関連する構成要素以外は、実施形態1と同様のためその説明は省略する。
手振れ検出部120は、ジャイロセンサなどを備え、センサの出力信号により手振れを検出すると、その手振れを打ち消す方向に補正レンズまたは固体撮像素子を動かす。ジャイロセンサは、撮像装置500のヨー方向およびピッチ方向への動きを、角速度として出力する。
本実施形態に係るフレームレート制御部70は、手振れ検出部120から得られる、撮像装置500のヨー角およびピッチ方向への動きに対応した値を参照して、本撮像装置500に加えられた動きを推測する。したがって、本実施形態では動き補償部60から動きベクトルを取得する必要はない。フレームレート制御部70は、上述したヨー角およびピッチ方向への動きに対応した値が所定の第6閾値を超えたか否かを判定する。この第6閾値も、設計者が実験やシミュレーションにより求めた値に設定されることができ、第1閾値と関連付けられる。
図11は、実施形態2に係る撮像装置500の動作を示すフローチャートである。図11は、図6のフローチャートを基礎にしており、同一の処理には同一の符号が付されている。以下、図6と同様の処理については適宜、説明を省略し、相違する処理を中心に説明する。
まず、ステップS10からステップS16までの処理は、図6と同様のため説明を省略する。図11では、撮像終了の指示が入力されない間(S16のN)、以下のように処理する。
フレームレート制御部70は、手振れ検出部120からジャイロセンサなどの出力値を取得する(S40)。フレームレート制御部70は、その出力値が上記第6閾値を超えたか否か判定する(S42)。上記第6閾値を超えない場合(S42のN)、フレームレートを基本値に設定する(S44)。現在のフレームレートが基本値に設定されている場合、その状態を維持する。以下、ステップS16に遷移し、処理が続行される。
上記第6閾値を超えた場合(S42のY)、フレームレートを削減値に設定する(S46)。現在のフレームレートが削減値に設定されている場合、その状態を維持する。以下、ステップS16に遷移し、処理が続行される。実施形態2においても実施形態1と同様に、通常モードまたは低画質モードから高画質モードに復帰する処理も、ステップS42以降の処理により可能である。上記第6閾値も、通常モードまたは低画質モードに移行するか否かを判定する場合と、高画質モードに復帰するか否かを判定する場合で異なる値に設定されてもよい。
以上説明したように本実施形態によれば、撮像装置500の動きをセンサで検出して、フレームレートを変更させることにより、画像品質の低下を抑制しながら、データ量を削減することができる。また、撮像装置500の動きをセンサで直接検出しているため、ユーザの意図に反して、被写体の大きな動きなどによりフレームレートが低下する事態を回避することができる。また、撮像したフレームから撮像装置500の動きを推測する必要がないため、上記第1閾値を超える移動量、速さまたは加速度で撮像装置500が動かされていると判定された期間において、撮像自体を停止させる処理も可能である。
以上、本発明をいくつかの実施の形態をもとに説明した。この実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
例えば、実施形態にて、撮像装置500の図示しないファインダなどの表示部に、撮影モード、フレームレート、何倍速で撮像されているかなどを示すメッセージを表示させてもよい。これにより、フレームレートの変更をユーザにリアルタイムに通知することができる。
シーンチェンジを含む動画像を記録する際の一般的なコマ数の遷移を示す図である。 シーンチェンジを含む動画像を記録する際の本発明の実施形態に係るコマ数の遷移1を示す図である。 シーンチェンジを含む動画像を記録する際の本発明の実施形態に係るコマ数の遷移2を示す図である。 実施形態1に係る符号化装置を搭載した撮像装置の構成図である。 実施形態1に係るフレームレート制御部の実施例1を説明する図である。 実施例1に係るフレームレート制御部を搭載した実施形態1に係る撮像装置の動作を示すフローチャートである。 実施形態1に係るフレームレート制御部の実施例2を説明する図である。 実施例2に係るフレームレート制御部を搭載した実施形態1に係る撮像装置の動作を示すフローチャートである。 実施例3に係るフレームレート制御部を搭載した実施形態1に係る撮像装置の動作を示すフローチャートである。 実施形態2に係る撮像装置の構成図である。 実施形態2に係る撮像装置の動作を示すフローチャートである。
符号の説明
10 ブロック生成部、 12 差分器、 14 加算器、 20 DCT部、 30 量子化部、 40 逆量子化部、 50 逆DCT部、 60 動き補償部、 70 フレームレート制御部、 72 動きベクトル解析部、 73 移動量検出部、 74 移動方向検出部、 76 注目領域設定部、 78 フレームレート設定部、 80 フレームメモリ、 90 可変長符号化部、 100 符号化装置、 110 オートフォーカス制御部、 120 手振れ検出部、 500 撮像装置。

Claims (4)

  1. 撮影により撮影対象の動画像を取得する撮像部と、
    本撮像装置が所定の閾値を超える移動量または速さで移動しているか否かを判定する動き検出部と、
    前記撮像部のフレームレートを設定するフレームレート設定部と、
    を備え、
    前記動き検出部は、前記撮像部により取得された動画像を構成するフレームの動きベクトルを検出し、検出した動きベクトルが所定の第1閾値を超えるか否かを判定する、又は本撮像装置の動きを検出するためのセンサの出力が所定の第2閾値を超えるか否かを判定することにより、本撮像装置が前記閾値を超える移動量または速さで移動しているか否かを判定し、
    前記フレームレート設定部は、本撮像装置が前記閾値を超える移動量または速さで移動していると判定された場合に、前記撮像部のフレームレートを低下させることを特徴とする撮像装置。
  2. 撮影により撮影対象の動画像を取得する撮像部と、
    本撮像装置が所定の閾値を超える移動量または速さで移動しているか否かを判定する動き検出部と、
    前記撮像部により取得された動画像を符号化し、記録媒体へ記録する符号化部と、
    を備え、
    前記動き検出部は、前記撮像部により取得された動画像を構成するフレームの動きベクトルを検出し、検出した動きベクトルが所定の第1閾値を超えるか否かを判定する、又は本撮像装置の動きを検出するためのセンサの出力が所定の第2閾値を超えるか否かを判定することにより、本撮像装置が前記閾値を超える移動量または速さで移動しているか否かを判定し、
    前記符号化部は、本撮像装置が前記閾値を超える移動量または速さで移動していると判定された場合には、動画像の符号化、または記録媒体への記録を停止することを特徴とする撮像装置。
  3. 前記動き検出部は、検出した動きベクトルが、複数のフレームに亘って前記第1閾値を超えるか否か、又は前記センサの出力が、所定期間に亘って前記第2閾値を超えるか否かを判定することにより、本撮像装置が前記閾値を超える移動量または速さで移動しているか否かを判定することを特徴とする請求項1又は2に記載の撮像装置。
  4. 前記動き検出部は、前記撮像部により取得された動画像を構成するフレーム内の注目領域の動きベクトルを検出することを特徴とする請求項1乃至3のいずれかに記載の撮像装置。
JP2006265475A 2006-09-28 2006-09-28 撮像装置 Expired - Fee Related JP4895016B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006265475A JP4895016B2 (ja) 2006-09-28 2006-09-28 撮像装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006265475A JP4895016B2 (ja) 2006-09-28 2006-09-28 撮像装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2011213696A Division JP2012023768A (ja) 2011-09-29 2011-09-29 撮像装置

Publications (2)

Publication Number Publication Date
JP2008085860A JP2008085860A (ja) 2008-04-10
JP4895016B2 true JP4895016B2 (ja) 2012-03-14

Family

ID=39356211

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006265475A Expired - Fee Related JP4895016B2 (ja) 2006-09-28 2006-09-28 撮像装置

Country Status (1)

Country Link
JP (1) JP4895016B2 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8154606B2 (en) * 2006-10-24 2012-04-10 Sony Corporation Image pickup apparatus and reproduction control apparatus
CN101631199B (zh) * 2009-07-13 2011-08-10 中兴通讯股份有限公司 移动终端、移动终端摄像装置及实现摄像的方法
JP5459077B2 (ja) * 2010-05-31 2014-04-02 株式会社ニコン デジタルカメラ
JP5234119B2 (ja) * 2011-01-20 2013-07-10 カシオ計算機株式会社 撮像装置、撮像処理方法及びプログラム
KR101397592B1 (ko) 2012-03-21 2014-05-20 삼성전자주식회사 멀티미디어 콘텐츠를 수신하기 위한 방법 및 장치
JP6466638B2 (ja) * 2013-12-18 2019-02-06 Kddi株式会社 動き変化量に応じて撮影動画像のフレームを間引く端末、システム、プログラム及び方法
JP5965981B2 (ja) * 2014-12-25 2016-08-10 オリンパス株式会社 撮影装置、撮影装置の制御方法、およびプログラム
TWI612810B (zh) 2016-09-06 2018-01-21 東友科技股份有限公司 影像擷取方法
JP2018046410A (ja) * 2016-09-14 2018-03-22 株式会社リコー 通信システム、情報処理装置、通信方法、及びプログラム
KR20200016559A (ko) * 2018-08-07 2020-02-17 삼성전자주식회사 복수의 구간 영상들을 포함하는 동영상 데이터를 생성하는 전자 장치 및 방법

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06197333A (ja) * 1992-12-25 1994-07-15 Kyocera Corp 画面に重み付けを持たせた画像圧縮方式
JPH07250322A (ja) * 1994-03-09 1995-09-26 Nippon Telegr & Teleph Corp <Ntt> 画像符号化装置とそれを用いた遠隔監視システム
JP3383447B2 (ja) * 1994-12-08 2003-03-04 株式会社リコー 会議通信端末装置
JP3346448B2 (ja) * 1996-02-07 2002-11-18 日本電信電話株式会社 動画像符号化装置
JPH10191149A (ja) * 1996-12-27 1998-07-21 Canon Inc 画像処理装置および方法並びにカメラ一体型vtr
JP2002320198A (ja) * 2001-04-23 2002-10-31 Casio Comput Co Ltd 動画記録装置
JP2005198268A (ja) * 2003-12-10 2005-07-21 Sony Corp 動画像変換装置および方法、並びに動画像データフォーマット
JP4794386B2 (ja) * 2006-07-28 2011-10-19 三洋電機株式会社 撮像装置
JP2008035281A (ja) * 2006-07-28 2008-02-14 Sanyo Electric Co Ltd 画像符号化方法

Also Published As

Publication number Publication date
JP2008085860A (ja) 2008-04-10

Similar Documents

Publication Publication Date Title
JP4895016B2 (ja) 撮像装置
US8780985B2 (en) Apparatus and method for prediction modes selection based on image direction information
US7760953B2 (en) Image processing apparatus and method, computer program, and storage medium with varied block shapes to execute motion detection
JP4794386B2 (ja) 撮像装置
KR100941285B1 (ko) 영상 처리 장치 및 컴퓨터 판독가능 매체
US8514935B2 (en) Image coding apparatus, image coding method, integrated circuit, and camera
US7606433B2 (en) Encoding apparatus, encoding method, and storage medium
JP2010232734A (ja) 画像符号化装置及び画像符号化方法
US9066100B2 (en) Image coding apparatus and image coding method
US8155185B2 (en) Image coding apparatus and method
JP2007295370A (ja) 符号化装置および方法、並びにプログラム
TW202226813A (zh) 基於相機動作產生替代影像訊框
JP2008141354A (ja) 画像符号化装置および撮像装置
JP2012023768A (ja) 撮像装置
JP2011166370A (ja) 映像信号符号化装置及び映像信号符号化方法
JP2003061112A (ja) カメラワーク検出装置およびカメラワーク検出方法
JP2000092499A (ja) 画像符号化制御装置、画像符号化制御方法及び記憶媒体
JP2005175974A (ja) 撮像装置
JP4564856B2 (ja) 画像符号化装置及び撮像装置
US12047690B2 (en) Generating substitute image frames based on camera motion
JP4651103B2 (ja) 画像処理装置、画像処理方法
JP2004180345A (ja) 撮影画像記録装置
JP2006180200A (ja) 監視装置
JP2008271336A (ja) 画像処理装置
JP6016484B2 (ja) 符号化装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090831

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101124

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101130

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110131

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110607

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110808

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110830

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110929

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20111028

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

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20111115

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20111121

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111213

R151 Written notification of patent or utility model registration

Ref document number: 4895016

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20150106

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

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

Free format text: PAYMENT UNTIL: 20150106

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees