(57)【特許請求の範囲】
【請求項１】
入力映像のフレームレートをエンコーダが符号化可能なフレームレートに調整するフレームレート制御方法であって，
基準となるフレームレート測定間隔Ｔi を設定する過程と，
間引きの判定対象ピクチャが入力された時刻から所定の時間だけ過去の間に入力されたピクチャ枚数が所定の閾値を超えているかどうかを判定する過程であって，前記判定対象ピクチャのタイムスタンプｔi と，前記所定の時間である前記フレームレート測定間隔Ｔi 内に前記エンコーダで符号化可能なピクチャ枚数ｎおよびピクチャ間引き数ｄから決定される（ｎ＋ｄ）だけ過去のピクチャにおけるタイムスタンプｔ(i-n-d) との差分値が，前記フレームレート測定間隔Ｔi を超えているかどうかにより，前記入力されたピクチャ枚数が前記所定の閾値を超えているかどうかを判定する過程と，
前記判定対象ピクチャが１〜ｎ枚目の入力映像ピクチャではなく且つ前記ピクチャ枚数が前記閾値を超えている場合には前記判定対象ピクチャを廃棄し，前記判定対象ピクチャが前記１〜ｎ枚目の入力映像ピクチャであるか又は前記ピクチャ枚数が前記閾値を超えていない場合には前記判定対象ピクチャを符号化対象とする過程と
を有するフレームレート制御方法。
【請求項２】
入力映像のフレームレートをエンコーダが符号化可能なフレームレートに調整するフレームレート制御装置であって，
基準となるフレームレート測定間隔Ｔi を設定する設定部と，
間引きの判定対象ピクチャが入力された時刻から所定の時間だけ過去の間に入力されたピクチャ枚数が所定の閾値を超えているかどうかを判定する判定部であって，前記判定対象ピクチャのタイムスタンプｔi と，前記所定の時間である前記フレームレート測定間隔Ｔi 内に前記エンコーダで符号化可能なピクチャ枚数ｎおよびピクチャ間引き数ｄから決定される（ｎ＋ｄ）だけ過去のピクチャにおけるタイムスタンプｔ(i-n-d) との差分値が，前記フレームレート測定間隔Ｔi を超えているかどうかにより，前記入力されたピクチャ枚数が前記所定の閾値を超えているかどうかを判定する判定部と，
前記判定対象ピクチャが１〜ｎ枚目の入力映像ピクチャではなく且つ前記ピクチャ枚数が前記閾値を超えている場合には前記判定対象ピクチャを廃棄し，前記判定対象ピクチャが前記１〜ｎ枚目の入力映像ピクチャであるか又は前記ピクチャ枚数が前記閾値を超えていない場合には前記判定対象ピクチャを符号化対象とする間引き部と
を備えるフレームレート制御装置。
【請求項３】
請求項１記載のフレームレート制御方法を，コンピュータに実行させるためのフレームレート制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，映像符号化におけるフレームレート制御，特にエンコーダにおける演算量および情報量を抑制するためのフレームレート制御方法，フレームレート制御装置およびフレームレート制御プログラムに関するものである。
【背景技術】
【０００２】
従来，符号化可能なフレームレートと撮像機器等からエンコーダへの入力映像のフレームレートが異なる場合に，入力映像の間引き処理を行って符号化可能なフレームレートに変換する技術が用いられている（特許文献１参照）。
【０００３】
図５に従来技術の構成図，図６に従来技術におけるピクチャ間引き判定部のフローチャートを示す。
【０００４】
図５において，エンコーダ２００は，例えばＨ．２６４等の符号化方式に従って入力映像を符号化し，符号化映像ストリームを出力する装置である。エンコーダ２００は，フレームを分割したブロックごとに動き検出を行う動き検出部２０３と，検出された動きベクトルによって予測を行う予測部２０４と，入力信号と予測信号との残差信号をＤＣＴ等により直交変換する直交変換部２０５と，変換係数を量子化する量子化部２０６と，量子化結果を逆量子化する逆量子化部２０７と，変換係数を逆直交変換する逆直交変換部２０８と，その出力に予測信号を加算して得られたたローカルデコード画像を記憶するローカルデコード画像記憶部２０９と，量子化部２０６の出力を可変長符号化する可変長符号化部２１０と，符号化情報を多重化する多重化部２１１と，符号化情報を記憶し，符号化映像ストリームとして出力するバッファ部２１２と，発生符号量等により量子化部２０６その他の符号化制御を行う制御部２１３とを備える。
【０００５】
ピクチャ間引き判定部２０１は，エンコーダ２００が符号化可能なフレームレートと，フレームレート測定部２０２が測定した撮像機器等からエンコーダ２００への入力映像のフレームレートが異なる場合に，入力映像の間引き処理を行って符号化可能なフレームレートに変換する。フレームレート測定部２０２は，入力映像のフレームレートを測定し，ピクチャ間引き判定部２０１に通知する。
【０００６】
ピクチャ間引き判定部２０１は，図６に示す処理を実行する。まず，エンコーダ２００が入力可能なフレームレートＴＡを設定し（ステップＳ２００），入力映像のフレームレートをＣＡとすると（ステップＳ２０１），ＣＡから間引きフレームインターバル値ｎ＝ＣＡ／（ＣＡ−ＴＡ）を算出する（ステップＳ２０２）。次に，ピクチャ番号ｉを１に，ピクチャ間引き数ｄを０に初期設定し（ステップＳ２０３），以下の処理を行う。
【０００７】
判定対象であるピクチャのピクチャ番号ｉが，ｎにそれまでの間引きピクチャ枚数ｄを乗じた値を超えているかどうかで，間引くかどうかを決定する。すなわち，ｉ≧ｎ×（ｄ＋１）かどうかを判定し，ｉがｎ×（ｄ＋１）以上であれば，ステップＳ２０５，Ｓ２０６を実行する。ステップＳ２０５では，ｄに１を加算し，ステップＳ２０６では，ピクチャｉを間引く。ｉがｎ×（ｄ＋１）より小さければ，ピクチャｉは間引かない。全映像の処理が完了するまで（ステップＳ２０７），ｉに１を加算しながら（ステップＳ２０８），以上のステップＳ２０４〜Ｓ２０７を繰り返す。
【０００８】
以上のように，従来技術では，エンコーダへの入力フレームレートと符号化可能なフレームレートの比率から，映像が何枚入力されたならば１枚間引けばよいかを計算し，それに従って入力映像の間引き処理を行う。
【０００９】
本技術を適用するためには，エンコーダへの入力フレームレートＣＡが既知である必要がある。そのため，エンコーダへの入力映像のフレームレートＣＡを，例えば図５に示すフレームレート測定部２０２によって測定する必要があるが，入力映像の入力タイミングが揺らいでいる場合などには，測定時のフレームレートが常に保持されるとは限らない。このため，不必要に多く間引いてしまうという状態，あるいは間引き数が足りないという状態が発生する。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００５−３２８４８７号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
テレビ電話のような映像通信用アプリケーションにおいては，ＰＣに接続されたＷｅｂカメラ等で映像を入力してソフトウェアエンコーダで符号化し，符号化した映像ストリームを受信側に伝送することが想定される。その際，ＣＰＵ資源の不足等の理由で，カメラで撮影した映像がエンコーダに入力されるタイミングが一定でなく揺らぐ場合がある。このような場合，局所的に単位時間あたりの入力フレームレートが高くなることがあり得る。
【００１２】
図７に，映像の入力タイミングが揺らぐ例を示す。カメラによる撮影は一定のタイミングの固定フレームレートで実行されているが，ピクチャ２が入力された直後にＣＰＵ資源が不足し，エンコーダ前段の処理が遅延することでピクチャ３以降が順次遅れてエンコーダに入力される。その後，ＣＰＵ資源の不足が解消し，エンコーダ前段に溜まっていた映像が一気にエンコーダへ入力される。
【００１３】
リアルタイム処理を前提とするエンコーダでは，単位時間当たりに符号化するピクチャ枚数が増えることにより，局所的に符号量と演算量が増加する。図７に示すように，一定時間で区間に区切ってみると，区間１〜４はピクチャ枚数が１枚であるのに対し，区間５では３枚となっており，他の区間と比較して約３倍の符号量と演算量が必要となっている。このようなエンコーダに入力される映像のタイミングの揺らぎは，符号化された映像ストリームを伝送する伝送路の容量を超過することによる遅延の発生，また，最悪の場合にはパケットロスが発生することで，受信側での映像品質劣化につながる。
【００１４】
特許文献１に記載の技術のように，エンコーダへの入力フレームレートと符号化可能なフレームレートの比率から，映像が何枚入力されたならば１枚間引けばよいかを計算し，それに従って間引き処理を行う場合，エンコーダへの入力フレームレートが既知である必要がある。
【００１５】
そのため，エンコーダへの入力フレームレートを測定しても，次のような問題がある。図７の例のように，エンコーダで符号化可能なフレーム数が１つの区間に対して１枚の場合，区間１〜４についてはエンコーダに入力されるフレーム数は１枚である。区間１〜４の測定結果に基づけば，符号化可能なフレーム数と等しいため，フレームを間引く必要はない。しかし，区間５については入力されるフレーム数は３枚となっている。区間１〜４の測定結果に基づいて，区間５の入力映像に対して間引きを実施しない場合，符号化可能な枚数を超える映像がエンコーダに入力されてしまうこととなる。
【００１６】
本発明は，上記課題の解決を図り，入力映像の入力タイミングが一定でなく揺らいでる場合でも，エンコーダの演算量，情報量を一定の範囲内に抑制できるようにすることを目的とする。
【課題を解決するための手段】
【００１７】
本発明は，上記課題を解決するため，符号化を行う映像フレームが瞬間的に増加することのないように，入力された映像フレームを間引くかどうかの判定を行う。判定は，判定対象ピクチャが入力された時刻から単位時間過去の間に入力されたフレーム枚数が所定の閾値を超えているかどうかで行い，入力映像の入力タイミングで決定されるエンコーダへの入力フレームレートは使用しない。閾値を超えている場合には該当フレームを間引き，そうでない場合には符号化を行う。
【００１８】
本発明の作用は，以下のとおりである。ピクチャ間引き判定にはエンコーダへの入力フレームレートは使用しない。そのため，入力映像の入力タイミングが揺らいでいて，フレームレートが常に保持されるとは限らない場合にも良好な判定結果を得て，適切なピクチャ間引きを行うことが可能である。したがって，入力映像の入力タイミングが揺らいでいる場合でも，ピクチャ間引き処理により，符号化を行う映像フレームが瞬間的に増加することを抑えることが可能である。すなわち，エンコーダの演算量の瞬間的な増加および映像ビットストリームの情報量の瞬間的な増加を抑えることが可能である。
【００１９】
また，判定対象ピクチャが入力された時刻から単位時間過去の間に入力されたピクチャ枚数が，設定フレームレートから計算される閾値を超えているかどうかという，対象ピクチャが入力された時点で既知の情報のみを使用して判定を行うため，遅延が生じない。
【００２０】
なお，本技術は符号化時の情報も利用しないことから，エンコーダとは独立に構成でき，従来のエンコーダをそのまま利用することが可能である。
【発明の効果】
【００２１】
本発明は，入力映像の入力タイミングが一定でなく揺らいでいる場合でも，以下の効果がある。
（１）遅延を増やさずに，エンコーダの演算量の瞬間的な増加を抑えることができる。
（２）遅延を増やさずに，符号化後の映像ビットストリームの情報量の瞬間的な増加を抑えることができる。
【図面の簡単な説明】
【００２２】
【図１】本発明の実施例によるピクチャ間引き処理の例を示す図である。
【図２】本発明の実施形態に係る装置構成図である。
【図３】本発明の実施形態に係るピクチャ間引き判定部のフローチャートである。
【図４】本実施形態の装置をコンピュータとソフトウェアプログラムとを用いて実現する場合のシステムの構成例を示す図である。
【図５】従来技術の構成図である。
【図６】従来技術におけるピクチャ間引き判定部のフローチャートである。
【図７】映像の入力タイミングが揺らぐ例を示す図である。
【発明を実施するための形態】
【００２３】
以下，図面を用いて，本発明の実施形態を詳細に説明する。
【００２４】
エンコーダの処理性能等に基づいて，エンコーダに入力可能なフレームレートＦr と基準となるフレームレート測定間隔Ｔi を設定する。基準フレームレート測定間隔Ｔi に基づき，測定間隔に入力可能な映像ピクチャ枚数ｎを下記に示す式により，あらかじめ計算しておく。
【００２５】
ｎ＝Ｆr ×Ｔi  
エンコード開始直後に入力された１〜ｎ枚目の入力映像については間引き対象とせず，間引き処理はｎ枚目より未来の入力映像について行う。
【００２６】
本発明の実施例によるピクチャ間引き処理の例を，図１に示す。図１の例では，フレームレートＦr および基準フレームレート測定間隔Ｔi は，以下のとおりである。
【００２７】
Ｆr ＝０．００６（フレーム／ｍ秒）
Ｔi ＝５００（ｍ秒）
測定間隔Ｔi に入力可能な映像ピクチャ枚数ｎは，ｎ＝０．００６×５００＝３（枚）である。
【００２８】
以下，各ピクチャが本処理に入力された時刻，すなわちカメラ等のエンコーダ前段から出力された時刻を各ピクチャのタイムスタンプとして打刻し，判定に使用する。ｎ＝３であるので，ピクチャ１〜３は非間引き対象となり，エンコーダへ無条件に入力される。ピクチャ４が入力された時点で，ｎ（＝３）フレーム過去のフレームであるピクチャ１のタイムスタンプが，ピクチャ４が入力された時刻からＴi （＝５００）だけ過去の時刻よりもさらに過去である場合，言い換えると，ピクチャ１のタイムスタンプをｔ１，ピクチャ４のタイムスタンプをｔ４とした場合，下式が成り立つかどうかを判定し，下式が成り立つときにはピクチャ４は間引かない。
【００２９】
（ｔ４−ｔ１）＞Ｔi 
図１の例の場合，（ｔ４−ｔ１）＞５００であり，これに当てはまる。なお，この判定は，ピクチャ４のタイムスタンプを基点として，単位時間であるフレームレート測定間隔Ｔi だけ過去の時刻との間に入力されたピクチャ枚数が，入力可能な映像ピクチャ枚数ｎを超えているかどうかの判定と等価である。
【００３０】
ピクチャ５について同様の比較をピクチャ２との間で実施し，Ｔi （＝５００）以内の過去にピクチャ２が存在しないかどうかを判定する。すなわち，下式の判定を行う。
【００３１】
（ｔ５−ｔ２）＞Ｔi 
この例では，（ｔ５−ｔ２）≦５００であるため，ピクチャ５は間引かれる。
【００３２】
次に，ピクチャ６について同様の比較を行うが，比較対象のピクチャを探索する際には間引かれたピクチャをカウントしない。ピクチャ５が間引かれているため，ピクチャ６の比較対象はピクチャ２となる。この例では，（ｔ６−ｔ２）は，５００（ｍ秒）より大きい。このため，ピクチャ６は間引かれない。
【００３３】
図２は，本発明の実施形態に係る装置構成図，図３は，本発明の実施形態に係るピクチャ間引き判定部のフローチャートである。
【００３４】
図２において，エンコーダ１００は，例えばＨ．２６４等の符号化方式に従って入力映像を符号化し，符号化映像ストリームを出力する装置である。フレームレート制御部１０１は，エンコーダ１００への入力映像のフレームレートを，エンコーダ１００が符号化可能なフレームレートに合うようにピクチャの間引きによって調整する。なお，エンコーダ１００の中に，フレームレート制御部１０１が組み込まれていてもよい。エンコーダ１００の符号化方式は，Ｈ．２６４に限らず，ＭＰＥＧ−２などの他の符号化方式を用いるものでもよい。
【００３５】
入力映像のフレームは，まずフレームレート制御部１０１に入力される。タイムスタンプ打刻部１０２は，時刻測定部１０３が測定した時刻に従って，入力フレームにタイムスタンプｔi を打刻する。ピクチャ間引き判定部１０４は，エンコーダ１００が符号化可能なフレームレートＦr と基準となるフレームレート測定間隔Ｔi とから，入力フレームのピクチャを間引くかどうかを判定し，必要ならば入力フレームのピクチャを間引いて，その結果をエンコーダ１００に入力させる。
【００３６】
エンコーダ１００に入力されたフレームは，ブロックに分割され，動き検出部１０５によって動き検出が行われる。予測部１０６は，検出された動きベクトルによって予測を行う。直交変換部１０７は，入力信号と予測信号との残差信号をＤＣＴ等により直交変換する。量子化部１０８は，変換係数を量子化し，結果を逆量子化部１０９と可変長符号化部１１２へ出力する。逆量子化部１０９は，量子化結果を逆量子化する。逆直交変換部１１０は，変換係数を逆直交変換する。ローカルデコード画像記憶部１１１には，逆直交変換部１１０の出力である残差復号信号と予測部１０６の出力である予測信号とを加算して得られたローカルデコード画像が格納される。このローカルデコード画像は，後の予測符号化における参照画像として用いられる。
【００３７】
可変長符号化部１１２は，量子化部１０８の出力を可変長符号化する。多重化部１１３は，可変長符号化部１１２の出力や動きベクトル等の符号化情報を多重化し，バッファ部１１４に出力する。バッファ部１１４に格納されたデータは，符号化映像ストリームとして出力される。制御部１１５は，発生符号量等により量子化部１０８その他の符号化制御を行う。以上のエンコーダ１００の構成や動作は，図５で説明した従来のエンコーダ２００と同様である。このエンコーダ１００への入力フレームの間引き調整を行うフレームレート制御部１０１が従来技術と異なる。
【００３８】
本実施形態に係るピクチャ間引き判定部１０４の処理の流れを，図３に従って説明する。
【００３９】
ピクチャ間引き判定部１０４は，まず，エンコーダ１００が符号化可能なフレームレート（入力可能フレームレート）Ｆr と基準となるフレームレート測定間隔Ｔi とを設定し（ステップＳ１００），入力ピクチャｉのタイムスタンプをｔi とする（ステップＳ１０１）。次に，入力可能な映像ピクチャ枚数ｎを，ｎ＝Ｆr ×Ｔｉから算出し，ピクチャ番号ｉを１に設定し，ピクチャ間引き数ｄを０に設定する（ステップＳ１０２）。以後，各ピクチャごとに以下の処理を繰り返す。
【００４０】
ピクチャ番号ｉが入力可能な映像ピクチャ枚数ｎ以下であれば，ピクチャ間引き処理を行わないで，ピクチャをエンコーダ１００に入力させる（ステップＳ１０３，Ｓ１０７）。ピクチャ番号ｉが入力可能な映像ピクチャ枚数ｎより大きくなったならば，判定対象ピクチャｉのタイムスタンプｔi と，入力可能な映像ピクチャ枚数ｎおよびピクチャ間引き数ｄから決定される（ｎ＋ｄ）だけ過去のピクチャにおけるタイムスタンプｔ(i-n-d) との差分値が，基準となるフレームレート測定間隔Ｔi を超えているかどうかを判定する（ステップＳ１０４）。この判定方法は，ピクチャ番号ｉのピクチャ（ピクチャｉ）のタイムスタンプｔi を基点として，単位時間であるフレームレート測定間隔Ｔi だけ過去の時刻との間に，入力されたピクチャ枚数が入力可能な映像ピクチャ枚数ｎを超えているかどうかの判定と等価である。
【００４１】
タイムスタンプの差分値ｔi −ｔ(i-n-d) が，フレームレート測定間隔Ｔi 以下であれば，間引きピクチャ数ｄに１を加算した後（ステップＳ１０５），そのピクチャｉを間引いて廃棄する（ステップＳ１０６）。一方，タイムスタンプの差分値ｔi −ｔ(i-n-d) が，フレームレート測定間隔Ｔi より大きければ，エンコーダ１００でそのピクチャｉを符号化可能であるので，ピクチャｉをエンコーダ１００に入力させる。
【００４２】
全映像の処理が完了するまで（ステップＳ１０８），ｉに１を加算しながら（ステップＳ１０９），以上のステップＳ１０３〜Ｓ１０９を繰り返す。
【００４３】
以上説明したフレームレート制御およびエンコーダによる符号化の処理は，コンピュータとソフトウェアプログラムとによっても実現することができ，そのプログラムをコンピュータ読み取り可能な記録媒体に記録することも，ネットワークを通して提供することも可能である。
【００４４】
図４に，図２に示す装置をコンピュータとソフトウェアプログラムとによって構成する場合のハードウェア構成例を示す。本システムは，プログラムを実行するＣＰＵ５０と，ＣＰＵ５０がアクセスするプログラムやデータが格納されるＲＡＭ等のメモリ５１と，カメラ等からの符号化対象の映像信号を入力する映像信号入力部５２（ディスク装置等による映像信号を記憶する記憶部でもよい）と，映像符号化プログラム５３１およびフレームレート制御プログラム５３２を記憶するプログラム記憶装置５３と，符号化映像ストリーム出力部５４（ディスク装置等による符号化映像ストリームを記憶する記憶部でもよい）とが，バスで接続された構成になっている。
【００４５】
ＣＰＵ５０は，プログラム記憶装置５３からメモリ５１にロードされた映像符号化プログラム５３１およびフレームレート制御プログラム５３２を実行することにより，映像信号入力部５２により入力された入力映像信号を符号化し，符号化結果の符号化映像ストリームを，符号化映像ストリーム出力部５４を介してネットワーク等に出力する。映像符号化プログラム５３１は，図２のエンコーダ１００の機能を実現するプログラムであり，フレームレート制御プログラム５３２は，図２のフレームレート制御部１０１の機能を実現するプログラムである。なお，フレームレート制御プログラム５３２を，映像符号化プログラム５３１の一部として映像符号化プログラム５３１内に組み込んでもよい。
【００４６】
以上，図面を参照して本発明の実施の形態を説明してきたが，上記実施の形態は本発明の例示に過ぎず，本発明が上記実施の形態に限定されるものではないことは明らかである。したがって，本発明の精神および技術的範囲を逸脱しない範囲での構成要素の追加，省略，置換，その他の変更を行ってもよい。
【符号の説明】
【００４７】
１００  エンコーダ
１０１  フレームレート制御部
１０２  タイムスタンプ打刻部
１０３  時刻測定部
１０４  ピクチャ間引き判定部
１０５  動き検出部
１０６  予測部
１０７  直交変換部
１０８  量子化部
１０９  逆量子化部
１１０  逆直交変換部
１１１  ローカルデコード画像記憶部
１１２  可変長符号化部
１１３  多重化部
１１４  バッファ部
１１５  制御部
【図１】
0005843631.tif 000002
【図２】
0005843631.tif 000003
【図３】
0005843631.tif 000004
【図４】
0005843631.tif 000005
【図５】
0005843631.tif 000006
【図６】
0005843631.tif 000007
【図７】
0005843631.tif 000008