(57)【要約】【課題】入力映像データのフレームレートを映像符号化に適したフレームレートに変換することのできる映像符号化システムを提供する。【解決手段】映像符号化システム１００は、入力映像データのフレームレートを指定されたフレームレートに変換するフレームレート調整部１０２と、フレームレート調整部１０２でフレームレート変換が施された映像データを符号化する映像符号化部１０３と、を有する。フレームレート調整部１０２は、入力映像データがフレーム単位に格納されるフレームバッファを備え、入力映像データのフレームレートによって決まるタイミングとは独立した、指定されたフレームレートによって決まるタイミングで、フレームバッファに格納された映像データを読み出す。【選択図】図１
2008219070.tif 000002
【特許請求の範囲】
【請求項１】
入力映像データのフレームレートを指定されたフレームレートに変換するフレームレート調整部と、
前記フレームレート調整部で前記指定されたフレームレートへの変換が施された映像データを符号化する映像符号化部と、を有し、
前記フレームレート調整部は、前記入力映像データがフレーム単位に格納されるフレームバッファを備え、前記入力映像データのフレームレートによって決まるタイミングとは独立した、前記指定されたフレームレートによって決まるタイミングで、前記フレームバッファに格納された映像データを読み出す、ことを特徴とする映像符号化システム。
【請求項２】
外部カメラデバイスから映像データを取得し、該取得した映像データを前記入力映像データとして前記フレームレート調整部に供給する映像取得部を、さらに有する請求項１に記載の映像符号化システム。
【請求項３】
外部カメラデバイスから映像データを取得する複数の映像取得部と、
前記複数の映像取得部のいずれかを選択し、該選択した映像取得部が取得した映像データを前記入力映像データとして前記フレームレート調整部に供給する選択部と、をさらに有する、請求項１に記載の映像符号化システム。
【請求項４】
前記フレームバッファは、
１フレーム分の映像データが格納される映像データ領域と、
前記映像データ領域に格納された映像データのフレーム番号が格納されるフレーム番号領域と、を有し、
前記フレームレート調整部は、
前記入力映像データが当該フレームレート調整部に供給される度にカウント値が１つインクリメントされる入力フレームカウンタと、
前記入力映像データを、該映像データのフレームレートによって決まるタイミングで前記映像データ領域に書き込むとともに、該映像データのフレーム番号として前記入力フレームカウンタのカウント値を前記フレーム番号領域に書き込む映像入力部と、
前記指定されたフレームレートによって決まるタイミングで、前記映像データ領域に書き込まれた映像データおよび前記フレーム番号領域に書き込まれたフレーム番号を前記フレームバッファから読み出すデータ取得部と、
前記データ取得部が前記映像データ領域に格納された映像データおよび前記フレーム番号領域に格納されたフレーム番号を前記フレームバッファから読み出すと、該読み出したフレーム番号を、次回の前記データ取得部による読み出しが行われるまで保持する出力フレームカウンタと、
前記データ取得部が読み出した映像データについて、前記データ取得部が今回読み出した当該映像データのフレーム番号と、前記出力フレームカウンタに保持されている、前記データ取得部が前回読み出した映像データのフレーム番号との差に基づいて、フレームの破棄または複製が実施されたか否かを判定するフレーム破棄複製判定部と、
前記フレーム破棄複製判定部で前記フレームの破棄または複製が施された後のデータであると判断された場合に、その旨を示すイベント情報を外部に通知するイベント通知部と、をさらに有する、請求項１から３のいずれか１項に記載の映像符号化システム。
【請求項５】
前記フレームレート調整部は、前記指定されたフレームレートに基づいて、前記フレームバッファからの映像データの読み出しタイミングを決定するタイマを、さらに有し、
前記データ取得部が、前記タイマで決定した読み出しタイミングで、前記映像データ領域に書き込まれた映像データおよび前記フレーム番号領域に書き込まれたフレーム番号を前記フレームバッファから読み出す、請求項４に記載の映像符号化システム。
【請求項６】
前記フレームレート調整部は、前記データ取得部が読み出した映像データのうち、前記イベント通知部によるイベント情報の通知がなされた映像データについて、該映像データと該イベント情報を示す画像データを合成する画像合成部をさらに有し、
前記映像符号化部は、前記画像合成部で合成された映像データを符号化する、請求項４に記載の映像符号化システム。
【請求項７】
入力映像データのフレームレートを指定されたフレームレートに変換するフレームレート調整ステップと、
前記フレームレート調整ステップで前記指定されたフレームレートへの変換が施された映像データを符号化する映像符号化ステップと、を有し、
前記フレームレート調整ステップは、
前記入力映像データをフレーム単位にフレームバッファに格納するステップと、
前記入力映像データのフレームレートによって決まるタイミングとは独立した、前記指定されたフレームレートによって決まるタイミングで、前記フレームバッファに格納された映像データを読み出すステップと、を含む、映像符号化方法。
【請求項８】
前記フレームレート調整ステップは、
前記入力映像データが供給される度に入力フレームカウンタのカウント値を１つインクリメントするステップと、
前記入力映像データを、該映像データのフレームレートによって決まるタイミングで前記フレームバッファの映像データ領域に書き込むとともに、該映像データのフレーム番号として前記入力フレームカウンタのカウント値を前記フレームバッファのフレーム番号領域に書き込むステップと、
前記指定されたフレームレートによって決まるタイミングで、前記映像データ領域に書き込まれた映像データおよび前記フレーム番号領域に書き込まれたフレーム番号を前記フレームバッファから読み出すステップと、
前記映像データ領域に格納された映像データおよび前記フレーム番号領域に格納されたフレーム番号を前記フレームバッファから読み出すと、該読み出したフレーム番号を、次回の読み出しが行われるまで出力フレームカウンタで保持するステップと、
前記映像データ領域から読み出した映像データについて、今回取得した当該映像データのフレーム番号と、前記出力フレームカウンタに保持されている、前回取得した映像データのフレーム番号との差に基づいて、フレームの破棄または複製が実施されたか否かを判定するステップと、
前記フレームの破棄または複製が実施されたと判断した場合に、その旨を示すイベント情報を外部に通知するステップと、をさらに含む、請求項７に記載の映像符号化方法。
【請求項９】
入力映像データのフレームレートを指定されたフレームレートに変換するフレームレート調整処理と、
前記フレームレート調整処理で前記指定されたフレームレートへの変換が施された映像データを符号化する映像符号化処理と、をコンピュータに実行させるプログラムであって、
前記フレームレート調整処理において、
前記入力映像データをフレーム単位にフレームバッファに格納する処理と、
前記入力映像データのフレームレートによって決まるタイミングとは独立した、前記指定されたフレームレートによって決まるタイミングで、前記フレームバッファに格納された映像データを読み出す処理と、を前記コンピュータに実行させるプログラム。
【請求項１０】
前記フレームレート調整処理において、
前記入力映像データが前記映像データ領域に書き込まれる度に入力フレームカウンタのカウント値を１つインクリメントする処理と、
前記入力映像データを、該映像データのフレームレートによって決まるタイミングで前記フレームバッファの映像データ領域に書き込むとともに、該映像データのフレーム番号として前記入力フレームカウンタのカウント値を前記フレームバッファのフレーム番号領域に書き込む処理と、
前記指定されたフレームレートによって決まるタイミングで、前記映像データ領域に書き込まれた映像データおよび前記フレーム番号領域に書き込まれたフレーム番号を前記フレームバッファから読み出す処理と、
前記映像データ領域に格納された映像データおよび前記フレーム番号領域に格納されたフレーム番号を前記フレームバッファから読み出すと、該読み出したフレーム番号を、次回の読み出しが行われるまで出力フレームカウンタで保持する処理と、
前記映像データ領域から読み出した映像データについて、今回取得した映像データのフレーム番号と、前記出力フレームカウンタに保持されている、前回取得した映像データのフレーム番号との差に基づいて、フレームの破棄または複製が実施されたか否かを判定する処理と、
前記フレームの破棄または複製が実施されたと判断した場合に、その旨を示すイベント情報を外部に通知する処理と、を前記コンピュータにさらに実行させる、請求項９に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、映像符号化システムに関し、特にカメラデバイスからの映像を入力とする符号化システムに関する。
【背景技術】
【０００２】
パーソナルコンピュータ（ＰＣ）や携帯情報端末（ＰＤＡ）、携帯電話機等の端末技術と、ＡＤＳＬ（Asymmetric Digital Subscriber Line）や無線ＬＡＮ（Local Area Network）、第３世代携帯電話網といったネットワーク技術の進歩により、映像音声等のストリーミングメディアを組み合わせたコミュニケーション手段が広く普及している。
【０００３】
映像符号化システムの一例が特許文献１に記載されている。この映像符号化システムでは、ビデオカメラから取得した映像信号をエンコーダで圧縮し、パケット化した後に、ＵＤＰ(User Datagram Protocol)を用いて再生側端末に向けて送出する処理が行われる。
【０００４】
この種の映像符号化システムは、カメラ装置、映像符号化装置、パケット化装置および送信装置から構成される。以下に、その動作を簡単に説明する。
【０００５】
まず、カメラ装置の設定を行う。カメラ装置は、例えばデジタルビデオカメラやビデオキャプチャカードであり、画像サイズ、画像形式、フレームレートなどの設定が行われる。
【０００６】
カメラ装置の設定を行った後、映像のキャプチャを開始する。キャプチャ開始が指示されると、カメラ装置は、定期的に撮像を行って映像フレームのデジタル化処理を実施する。カメラ装置は、設定されたフレームレートで映像信号を出力する。カメラ装置から出力された映像信号は、映像符号化装置に供給される。
【０００７】
映像符号化装置は、画質やビットレート等の設定が予め行われており、カメラ装置から供給された映像信号に対して圧縮符号化の処理を実行する。圧縮符号化された映像信号は、ビットストリームとして映像符号化装置から出力される。映像符号化装置から出力されたビットストリームは、パケット化装置に供給される。
【０００８】
パケット化装置は、映像符号化装置から供給されたビットストリームを伝送メディアに適したサイズに分割してパケット化する。パケット化されたビデオデータは、送信装置に供給される。送信装置は、パケット化装置から供給されたビデオデータを、ネットワークを介して再生側端末に向けて送出する。
【特許文献１】特開2005-277950号公報（第38頁、図5）
【発明の開示】
【発明が解決しようとする課題】
【０００９】
カメラ装置には様々な機種があり、出力可能なフレームレートには差異がある。また、ＰＣを用いて映像符号化システムを構築する場合には、Ｗｉｎｄｏｗｓ  ＯＳのデバイスドライバアーキテクチャであるＷＤＭ(Windows Driver Model)やＤｉｒｅｃｔＳｈｏｗ等の汎用的なデバイス制御手段が提供されているため、ＵＳＢバス接続のＷｅｂカメラなどの安価なカメラ装置が用いられることが多い。しかし、Ｗｅｂカメラの種類によっては、数種類のフレームレートにしか対応していないものも存在する。
【００１０】
また、カメラ装置によっては、ファームウェアやデバイスドライバなどの映像取得処理を行うソフトウェアでフレームレートの管理をしていないものがある。そのようなカメラ装置では、出力フレームレートを設定しても、指定通りのフレームレートで映像が出力されない場合もある。
【００１１】
カメラ装置が希望のフレームレートに対応していない場合や、カメラ装置が設定と異なるフレームレートで映像信号を出力した場合には、カメラ装置が出力する映像信号のフレームレートが、映像符号化装置が要求するフレームレートと異なる、といった状態が発生する。映像符号化装置では、一般に、単位時間当たりの出力符号量を制御する機構があり、その制御のために映像の入力時間情報を要求する。このため、符号化の設定と異なるフレームレートで映像信号が入力された場合は、符号化処理の動作に支障を来たし、伝送路の容量を超えた過大なビットストリームが出力され、パケットロスによる画質劣化が発生する、といった問題を生じる。
【００１２】
また、カメラ装置から指定通りのフレームレートで映像信号が出力されず、入力映像信号のフレームレートに異常が発生した場合に、そのことをユーザやアプリケーションプログラムに通知するようになっていないため、ユーザは、フレームレートの異常の発生を把握することができない、という問題もある。これは、映像符号化システム及びカメラ操作フレームワークが正常なカメラをターゲットとしているために、フレームレートの監視機能と通知機能を持っていないことによる。
【００１３】
本発明の目的は、上記問題を解決し、入力映像データのフレームレートを映像符号化に適したフレームレートに変換することのできる映像符号化システムを提供することにある。
【００１４】
本発明のさらなる目的は、入力映像データのフレームレートの異常をユーザに通知することのできる映像符号化システムを提供することにある。
【課題を解決するための手段】
【００１５】
上記目的を達成するため、本発明の映像符号化システムは、
入力映像データのフレームレートを指定されたフレームレートに変換するフレームレート調整部と、
前記フレームレート調整部で前記指定されたフレームレートへの変換が施された映像データを符号化する映像符号化部と、を有し、
前記フレームレート調整部は、前記入力映像データがフレーム単位に格納されるフレームバッファを備え、前記入力映像データのフレームレートによって決まるタイミングとは独立した、前記指定されたフレームレートによって決まるタイミングで、前記フレームバッファに格納された映像データを読み出す、ことを特徴とする。
【００１６】
上記の構成によれば、フレームレート調整部において、フレームバッファにおける映像データの書き込みおよび読み出しがそれぞれ独立したタイミングで実行されるので、例えば、入力映像データのフレームレートが指定フレームレートより低い場合は、フレームの複製が行われ、反対に、入力映像データのフレームレートが指定フレームレートより高い場合は、フレームの破棄が行われる。これにより、入力映像データのフレームレートが指定フレームレートに変換される。このように、映像符号化部が要求するフレームレート（指定フレームレート）とは異なるフレームレートでカメラ装置から映像データが入力された場合は、フレームレート調整部が、入力映像データのフレームレートを指定フレームレートに変換するので、映像符号化部には、常に、指定フレームレートで映像データが供給される。よって、映像符号化部の設定パラメータの変更は必要なく、また、符号化処理が停止する、といった不具合も生じない。
【００１７】
上記映像符号化システムにおいて、
前記フレームバッファは、
１フレーム分の映像データが格納される映像データ領域と、
前記映像データ領域に格納された映像データのフレーム番号が格納されるフレーム番号領域と、を有し、
前記フレームレート調整部は、
前記入力映像データが当該フレームレート調整部に供給される度にカウント値が１つインクリメントされる入力フレームカウンタと、
前記入力映像データを、該映像データのフレームレートによって決まるタイミングで前記映像データ領域に書き込むとともに、該映像データのフレーム番号として前記入力フレームカウンタのカウント値を前記フレーム番号領域に書き込む映像入力部と、
前記指定されたフレームレートによって決まるタイミングで、前記映像データ領域に書き込まれた映像データおよび前記フレーム番号領域に書き込まれたフレーム番号を前記フレームバッファから読み出すデータ取得部と、
前記データ取得部が前記映像データ領域に格納された映像データおよび前記フレーム番号領域に格納されたフレーム番号を前記フレームバッファから読み出すと、該読み出したフレーム番号を、次回の前記データ取得部による読み出しが行われるまで保持する出力フレームカウンタと、
前記データ取得部が読み出した映像データについて、前記データ取得部が今回読み出した当該映像データのフレーム番号と、前記出力フレームカウンタに保持されている、前記データ取得部が前回読み出した映像データのフレーム番号との差に基づいて、フレームの破棄または複製が実施されたか否かを判定するフレーム破棄複製判定部と、
前記フレーム破棄複製判定部で前記フレームの破棄または複製が施された後のデータであると判断された場合に、その旨を示すイベント情報を外部に通知するイベント通知部と、をさらに有していてもよい。
【００１８】
上記の構成によれば、映像符号化部が要求するフレームレート（指定フレームレート）とは異なるフレームレートでカメラ装置から映像データが入力され、フレームレート調整部にて、フレームの破棄または複製が行なわれると、フレーム破棄複製判定部にて、そのフレームの破棄または複製の実行が検知され、イベント通知部が、そのことを示すイベント情報を外部に通知する。このイベント情報の通知により、ユーザは、入力映像データのフレームレートの異常を把握することが可能である。
【発明の効果】
【００１９】
本発明によれば、入力映像データのフレームレートに関わらず、指定フレームレートで映像データを映像符号化部に供給することができる。よって、映像符号化部における符号化処理の動作に支障を来たすことがなく、伝送路の容量を超えた過大なビットストリームの出力やパケットロスによる画質劣化を抑制することができる。
【００２０】
また、カメラ装置側のフレームレートが指定フレームレートと異なる場合や、カメラ装置が指定通りのフレームレートで映像データを出力しなかった場合は、フレームの破棄または複製が行われたことを示すイベント情報が通知されるので、ユーザは、その通知されたイベント情報に基づいて、フレームレートの異常を把握することができる。
【発明を実施するための最良の形態】
【００２１】
次に、本発明の実施の形態について図面を参照して説明する。
【００２２】
本発明は、フレームレート調整処理において、フレームバッファにおける映像データの書き込み及び読み出しのタイミングを独立させることで、フレームの破棄や複製を実現し、それにより入力映像データのフレームレートを指定フレームレートに変換する点、フレームの破棄や複製の実施を検知して外部に通知する点を特徴とする。以下、実施例にて詳細に説明する。
【実施例１】
【００２３】
図１は、本発明の第１の実施例である映像符号化システムの主要部を示すブロック図である。
【００２４】
図１を参照すると、映像符号化システム１００は、カメラデバイスを接続したコンピュータシステム上で動作する映像符号化システムであって、その主要部は、映像取得部１０１、フレームレート調整部１０２、映像符号化部１０３、パケット化部１０４、送信部１０５から構成される。コンピュータシステムは、プログラムやデータなどを蓄積する記憶装置、キーボードやマウスなどの入力装置、ＣＲＴやＬＣＤなどの表示装置、外部との通信を行うモデムなどの通信装置、プリンタなどの出力装置および入力装置からの入力を受け付けて通信装置、出力装置、表示装置の動作を制御する制御装置から構成されている。ユーザは、入力装置を通じて、映像符号化システムを起動させたり、映像符号化システムを動作させるのに必要な指示や設定を行ったりする。
【００２５】
映像取得部１０１は、カメラデバイスからの映像データ（動画像）の取得を行う機能ブロックである。映像取得部１０１は、映像データをカメラデバイスから取得してフレーム単位で出力する機能を備えている。映像フレームのフォーマットは、通常、ＹＵＶビットマップ形式であるが、これに代えてＲＧＢビットマップ形式を用いても良い。ＹＵＶビットマップ形式は、輝度信号(Y)と、輝度信号と赤色成分の差(U)、輝度信号と青色成分の差(V)の3つの情報で色を表す形式である。
【００２６】
また、カメラデバイスとしては、ＵＳＢやＩＥＥＥ１３９４などの外部バスに接続されたデジタルカメラデバイスやＮＴＳＣ形式のアナログビデオカメラ等が利用可能である。アナログビデオカメラを使用する場合は、同軸ケーブル等の映像伝送ケーブルでビデオキャプチャカードに接続する必要がある。
【００２７】
映像取得開始が指示された場合、映像取得部１０１は、事前に指定された映像サイズ（縦ピクセル数、横ピクセル数）、映像フォーマット、フレームレートに従い、自律的に動画像の取得を開始する。映像取得部１０１が出力した映像データは、フレームレート調整部１０２に渡される。
【００２８】
フレームレート調整部１０２は、映像取得部１０１から入力される映像データのフレームレートを監視し、そのフレームレートと指定されたフレームレートの差異を検出して調整する機能ブロックである。フレームレート調整部１０２でフレームレート調整が施された映像データは、映像符号化部１０３に渡される。
【００２９】
映像符号化部１０３は、フレームレート調整部１０２から入力されたフレームレート調整後の映像データに対して、圧縮符号化を実施してビットストリームに変換する機能ブロックである。圧縮符号化方式としては、ＭＰＥＧ−４やＨ．２６４等の動画像を圧縮するためのフレーム内、フレーム間符号化方式を利用することができる。
【００３０】
映像符号化部１０３へ設定するパラメータは、入力映像のフレームレートとビットレートである。映像符号化部１０３は、出力ビットストリームを指定ビットレート以下に抑えるための、量子化スケール制御を実施して、入力映像データの符号化処理を実施する。符号化方式としては、ＭｏｔｉｏｎＪＰＥＧなどのフレーム内符号化のみ行う静止画用圧縮技術を応用した方式を用いることができる。映像符号化部１０３の出力ビットストリームは、パケット化部１０４に渡される。
【００３１】
パケット化部１０４は、映像符号化部１０３から出力されたビットストリームを伝送メディアごとに最適なサイズに分割し、ヘッダを付加する機能ブロックである。映像配信におけるパケット化処理では、通常、ＩＥＴＦ  ＲＦＣ３５５０で規定された、ＲＴＰ（RealTime Transport Protocol）が用いられる。ＲＴＰは、ヘッダにペイロードの種類、シーケンス番号、送信者識別子、時刻情報と言ったリアルタイムストリーミングに必要な情報を付加することが可能である。より詳細なパケット分割方式及びヘッダの定義は、映像符号化形式ごとに規格化されている。ＭＰＥＧ−４形式の映像を伝送する場合、ＩＥＴＦ  ＲＦＣ３６４０によるＲＴＰパケット分割方法を、Ｈ．２６４形式ではＩＥＴＦ  ＲＦＣ３９８４を、ＭｏｔｉｏｎＪＰＥＧ形式ではＩＥＴＦ  ＲＦＣ２４３５をそれぞれ用いることができる。パケット化部１０４でＲＴＰパケットに分割された映像ストリームは、送信部１０５に渡される。
【００３２】
送信部１０５は、パケット化部１０４からのＲＴＰパケットに分割された映像ストリームをＩＰネットワーク経由で映像復号システムに伝送する機能ブロックである。ＲＴＰパケットは、ＵＤＰ／ＩＰプロトコルとソケットを用いて伝送される。
【００３３】
次に、フレームレート調整部１０２の詳細な内部構成について説明する。
【００３４】
図２は、フレームレート調整部１０２の具体的な構成を示すブロック図である。図２を参照すると、フレームレート調整部１０２は、映像入力部２０１、入力フレームカウンタ２０２、フレームバッファ２０３、データ取得部２０４、タイマ２０５、出力フレームカウンタ２０６、フレーム破棄複製判定部２０７、イベント通知部２０８、映像出力部２０９から構成される。
【００３５】
ユーザは、映像符号化システム１００に対する配信開始指示の前に、映像取得部１０１に映像の縦横のピクセル数、映像フォーマット、フレームレートを指定する。映像取得部１０１に対して設定したフレームレート設定は、フレームレート調整部１０２と映像符号化部１０３にも適用される。この設定値に基づいて、フレームレート調整部１０２では、フレームバッファ２０３における書き込みや読み出しのタイミングやタイマ２０５のインターバルが設定される。
【００３６】
映像入力部２０１は、映像取得部１０１の映像データの出力タイミング（これは、カメラデバイスから入力される映像データのフレームレートによって決まる）で呼び出される。映像入力部２０１は、映像取得部１０１から受け取った映像データを入力フレームカウンタ２０２から取得したフレーム番号と共にフレームバッファ２０３に書き込む処理を行う。
【００３７】
入力フレームカウンタ２０２は、フレームレート調整部１０２内に入力された映像データのフレームの数をカウントするものであって、映像データが入力される度にカウント値が１つインクリメントされる。入力フレームカウンタ２０２は、そのカウント値Ｌがフレーム番号として保持される。カウント値Ｌの初期値は１とし、映像入力部２０１から要求されたときに内部で保持しているカウンタ値Ｌを映像入力部２０１に渡す。
【００３８】
フレームバッファ２０３は、１映像フレームを保存する領域である映像データ領域と、入力フレーム番号を保存する領域とを持つメモリである。図３に、フレームバッファ２０３のメモリ領域を模式的に示す。この例では、フレームバッファ２０３は、フレーム番号領域５０１、映像データ領域５０２および同期フラグ５０３からなるメモリ領域を有する。
【００３９】
映像入力部２０１は、フレーム単位に入力された映像データを映像データ領域５０２に、フレーム番号をフレーム番号領域５０１に上書きする。フレームバッファ２０３は、上書きされるまでは、同じデータを保持する。同期フラグ５０３は、フレーム番号領域５０１と映像データ領域５０２へのアクセスを排他制御するためのものである。映像入力部２０１が、フレームバッファ２０３を操作する際に、同期フラグ５０３を有効化することで、データ取得部２０４のフレームバッファ２０３に対する操作を待機させることが可能になる。反対に、データ取得部２０４が、フレームバッファ２０３を操作する際に、同期フラグ５０３を有効化することで、映像入力部２０１のフレームバッファ２０３に対する操作を待機させることが可能になる。
【００４０】
データ取得部２０４は、映像データ領域５０２から映像データを、フレーム番号領域５０１からフレーム番号をコピーして取り出す処理を行う。データ取得部２０４によるデータ取得は、タイマ２０５によって定期的に指示され、フレームバッファ２０３への書き込みタイミング（映像入力タイミング）とは独立したタイミングで実施される。データ取得部２０４は、フレームバッファ２０３からの映像データの読み出し処理を行う前に、バッファの排他制御を実施するため、同期フラグ５０３を有効にしてロックをかける。その後、データ取得部２０４は、フレーム番号領域５０１および映像データ領域５０２からフレーム番号および映像データを取得する。フレーム番号および映像データの取得が完了した後、データ取得部２０４は、同期フラグ５０３を無効にしてロックを解除する。
【００４１】
フレームレート調整部１０２をソフトウェアとして実装する場合は、データ取得部２０４を映像取得部１０１とは別のプロセスやスレッドとして動作させ、同期フラグ５０３をミューテックスやセマフォといった同期オブジェクトとして実現する。
【００４２】
タイマ２０５は、データ取得部２０４におけるデータ取得処理を実施するタイミングを決定するインターバルタイマである。タイマ間隔は、ユーザにより指定されるフレームレートにより決定される。
【００４３】
出力フレームカウンタ２０６は、データ取得部２０４がフレームバッファ２０３から取得した映像データのフレーム番号を、データ取得部２０４による次回の読み出しまで保持する。
【００４４】
フレーム破棄複製判定部２０７は、データ取得部２０４が取得した映像データについて、データ取得部２０４が取得したフレーム番号Ｍと出力フレームカウンタ２０６が保持するフレーム番号（データ取得部２０４が前回取得したフレーム番号）の差を計算し、その差に基づいてフレームの破棄、複製が実施されたかを判別する処理を行う。前回取り出したフレーム番号と今回取得したフレーム番号の差が１である場合、フレーム破棄複製判定部２０７は、フレームが正常に取得されていると判定する。前回取り出したフレーム番号と今回取得したフレーム番号の差が１でない場合は、フレーム破棄複製判定部２０７は、フレームの破棄または複製が実施されていると判定する。具体的には、前回取り出したフレーム番号と今回取得したフレーム番号の差が０の場合は、フレームの複製が実施されたと判定する。前回取り出したフレーム番号と今回取得したフレーム番号の差が２以上である場合は、フレームの破棄が実施されたと判定する。
【００４５】
イベント通知部２０８は、フレーム破棄複製判定部２０７でフレームの破棄または複製の実施がなされたことが検知された場合に、ユーザにその旨を通知する処理を実施する。イベント通知の手段として、メッセージ送出、パケットの送出、コールバック関数呼び出し等を用い、ユーザに対してエラーメッセージの表示もしくは警告音を再生する。
【００４６】
映像出力部２０９は、データ取得部２０４から供給される映像データを映像符号化部１０３に供給する。
【００４７】
次に、映像符号化システムの動作について説明する。
【００４８】
（映像フレーム入力処理）
図４は、フレームレート調整部１０２にて行われる映像フレーム入力処理を示すフローチャートである。以下、図１、図２および図４を参照して映像フレーム入力処理を具体的に説明する。
【００４９】
まず、配信開始指示によって入力フレームカウンタ２０２のカウント値Ｌが１に初期化される（ステップＳ３０１）。その後、映像入力部２０１は、映像取得部１０１から映像データが入力されるまで待機する（ステップＳ３０２）。
【００５０】
映像データが映像入力部２０１に供給されると、映像入力部２０１は、データ取得部２０４によってフレームバッファ２０３の同期フラグ５０３が有効化されていないかを調べる（ステップＳ３０３）。同期フラグ５０３が有効化されている場合は、フレームバッファ２０３がデータ取得部２０４によってロックされているため、映像入力部２０１は、同期フラグ５０３が無効化されるまで待機する。
【００５１】
フレームバッファ２０３の同期フラグ５０３が無効化されたことを確認した後、映像入力部２０１は、映像入力処理に伴うフレームバッファ２０３に対するアクセスに先立ち、フレームバッファ２０３をロックするため、同期フラグ５０３を有効化する（ステップＳ３０４）。これにより、フレームバッファ２０３が映像入力部２０１によってロックされる。
【００５２】
フレームバッファ２０３をロックした後、映像入力部２０１は、入力フレームカウンタ２０２から取得したカウンタ値Ｌをフレームバッファ２０３のフレーム番号領域に上書きするとともに、供給された映像データをフレームバッファ２０３の映像データ領域に上書する（ステップＳ３０５、Ｓ３０６）。
【００５３】
続いて、映像入力部２０１は、映像入力処理のためロックしていたフレームバッファ２０３の同期フラグ５０３を無効化する（ステップＳ３０７）。これにより、フレームバッファ２０３はアンロックの状態となる。
【００５４】
フレームバッファ２０３をアンロックとした後、映像入力部２０１は、入力フレームカウンタ２０２のカウント値Ｌに１を加算する（ステップＳ３０８）。そして、映像入力部２０１は、配信終了指示がなされたか否かを判断する（ステップＳ３０９）。配信終了指示がない場合は、ステップＳ３０２に戻り、次回の映像データ入力まで待機する。
【００５５】
（映像フレーム出力処理）
図５は、フレームレート調整部１０２にて行われる映像フレーム出力処理を示すフローチャートである。以下、図１、図２および図５を参照して映像フレーム出力処理を具体的に説明する。
【００５６】
配信開始指示によって出力フレームカウンタ２０６のカウント値（フレーム番号Ｎ）を０に初期化する（ステップＳ４０１）。タイマ２０５は、ユーザからの要求フレームレートで設定されたインターバルでイベントを発行する。データ取得部２０４は、タイマ２０５からイベントが発行されるまで待機する（ステップＳ４０２）。
【００５７】
タイマ２０５からイベントが発行されて待機が解除されると、データ取得部２０４は、映像入力部２０１によってフレームバッファ２０３の同期フラグ５０３が有効化されていないかを調べる（ステップＳ４０３）。同期フラグ５０３が有効化されている場合は、フレームバッファ２０３が映像入力部２０１によってロックされているため、データ取得部２０４は、同期フラグ５０３が無効化されるまで待機する。
【００５８】
フレームバッファ２０３の同期フラグ５０３が無効化されたことを確認した後、データ取得部２０４は、映像フレーム出力処理に伴うアクセスに先立ち、フレームバッファ２０３をロックするため、同期フラグ５０３を有効化する（ステップ４０４）。これにより、フレームバッファ２０３がデータ取得部２０４によってロックされる。
【００５９】
フレームバッファ２０３をロックした後、データ取得部２０４は、フレームバッファ２０３のフレーム番号領域からフレーム番号を読み出し（ステップＳ４０５）、フレームバッファ２０３の映像データ領域から映像データを読み出す（ステップＳ４０６）。以下の説明において、このフレーム番号領域から読み出したフレーム番号をフレーム番号Ｍとする。
【００６０】
続いて、データ取得部２０４は、映像フレーム出力処理のためロックしていたフレームバッファ２０３をアンロックするため、同期フラグ５０３を無効化する（ステップＳ４０７）。
【００６１】
フレームバッファ２０３をアンロックした後、データ取得部２０４は、フレームバッファ２０３からの映像データの取得が初回の映像取得であるか否かを判断する（ステップＳ４０８）。初回の映像取得である場合は、データ取得部２０４は、出力フレームカウンタ２０６のカウント値（フレーム番号Ｎ）にＭ−１を代入する（ステップＳ４０９）。その後、ステップＳ４１０に移行する。初回の映像取得でない場合は、ステップＳ４０９の処理は行わずに、ステップＳ４１０に移行する。
【００６２】
ステップＳ４１０で、フレーム破棄複製判定部２０７は、データ取得部２０４で取得したフレーム番号Ｍ（今回取得したフレーム番号）と出力フレームカウンタ２０６に保持されているフレーム番号Ｎ（前回取得したフレーム番号または初回時のフレーム番号）の差Ｘを計算する（ステップＳ４１０）。
【００６３】
フレーム番号差Ｘが０である場合は、フレーム破棄複製判定部２０７は、フレームバッファ２０３に格納された映像データが複製された（フレーム複製が実施された）、と判断する（ステップＳ４１１、Ｓ４１２）。フレーム複製とは、映像入力部２０１がフレームバッファ２０３上の映像データを更新する前に、データ取得部２０４が再度映像データを取得することを意味する。これにより、フレーム入出力のタイミング差を１回のフレーム複製で調整したことになる。ユーザが指定したフレームレートに比べ、映像取得部１０１が出力するフレームレートが小さい場合にこのフレーム複製が実行される。
【００６４】
フレーム番号差Ｘが２以上になった場合は、フレーム破棄複製判定部２０７は、フレームバッファ２０３に格納された映像データが破棄された（フレーム破棄が実施された）、と判断する（ステップＳ４１１、Ｓ４１３）。フレーム破棄とは、データ取得部２０４がフレームバッファ２０３から映像データを取得する前に、映像入力部２０１がフレームバッファ２０３上の映像データを更新することを意味する。これにより、フレーム入出力のタイミング差をフレーム破棄を行うことで調整したことになる。ユーザが指定したフレームレートに比べ、映像取得部１０１が出力するフレームレートが大きい場合に、このフレーム破棄が実行される。なお、破棄されたフレーム数は、Ｘ−１で求めることができる。この破棄フレーム数はイベント通知によってユーザに通知することができる。
【００６５】
フレーム番号差Ｘが１である場合は、フレーム破棄複製判定部２０７は、フレームバッファ２０３に格納された映像データが破棄または複製されることなくそのまま出力された、と判断する（ステップＳ４１１、Ｓ４１４）。この状態は、映像取得部１０１が出力するフレームレートとユーザが要求するフレームレートが同一であった場合に該当する。
【００６６】
ステップＳ４１２でフレーム複製がなされたと判断した場合、または、ステップＳ４１３でフレーム破棄がなされたと判断した場合は、イベント通知部２０８が、ユーザに対してその旨を示すイベント通知を行う（ステップＳ４１５）。イベント通知の手法としては、アラーム音、メッセージ音の再生、モニタ上へのメッセージの表示などがある。このイベント通知により、ユーザは、要求したフレームレートでカメラが動作せず、破棄や複製を行って映像配信を実施している状態にあることを認識する。
【００６７】
データ取得部２０４で取得した映像データは、映像出力部２０９によって映像符号化部１０３に渡される（ステップＳ４１６）。また、データ取得部２０４は、出力フレームカウンタ２０６のカウント値（出力フレームフレーム番号Ｎ）を取得したフレームの番号Ｍによって更新する（ステップＳ４１７）。
【００６８】
カウント値の更新後、データ取得部２０４は、配信終了指示がなされたか否かを判断する（ステップＳ４１８）。配信終了指示がない場合は、ステップＳ４０２に戻り、タイマ２０５が次回イベントを発生するまで待機する。
【００６９】
本実施例の映像符号化システムによれば、フレームレート調整部１０２において、フレームバッファ２０３における映像データの書き込みおよび読み出しがそれぞれ独立したタイミングで実行されるので、例えば、入力映像データのフレームレートが指定フレームレートより低い場合は、フレームの複製が行われ、反対に、入力映像データのフレームレートが指定フレームレートより高い場合は、フレームの破棄が行われる。これにより、入力映像データのフレームレートが指定フレームレートに変換される。このように、映像符号化部１０３が要求するフレームレート（指定フレームレート）とは異なるフレームレートでカメラデバイスから映像データが入力された場合は、フレームレート調整部１０２が、入力映像データのフレームレートを指定フレームレートに変換するので、映像符号化部１０３には、常に、指定フレームレートで映像データが供給される。よって、映像符号化部１０３の設定パラメータの変更は必要なく、また、符号化処理が停止する、といった不具合も生じない。また、伝送路の容量を超えた過大なビットストリームが出力されて、パケットロスによる画質劣化が発生する、といった不具合の発生も抑制される。
【００７０】
加えて、本実施例の映像符号化システムを利用する上で、カメラデバイスの選択の幅を広げることができる。
【００７１】
さらに、映像符号化部１０３が要求するフレームレート（指定フレームレート）とは異なるフレームレートでカメラデバイスから映像データが入力され、フレームレート調整部１０３にて、フレームの破棄または複製が行なわれると、フレーム破棄複製判定部２０７にて、そのフレームの破棄または複製の実行が検知され、イベント通知部２０８が、そのことを示すイベント情報を外部に通知する。このイベント情報の通知により、ユーザは、入力映像データのフレームレートの異常を把握することが可能である。
【実施例２】
【００７２】
一般的に、ＭＰＥＧ−４やＨ．２６４等を用いるシステムでは、フレームレートを含む映像符号化パラメータを切り替える場合に、映像符号化部のリセットが必要になる。このリセット処理により、一時的に映像の配信が停止する。また、映像復号システム側では、配信再開後は、ＩピクチャやＩＤＲピクチャを受信するまで、映像のデコードが開始できない。このため、通常は、カメラを切り替えた場合に、映像再生が途絶する区間が発生する。ここでは、そのような映像配信停止に伴う問題をも解決することのできる映像符号化システムについて説明する。
【００７３】
図６は、本発明の第２の実施例である映像符号化システムの主要部を示すブロック図である。
【００７４】
図６を参照すると、映像符号化システム６００は、カメラデバイスを接続したコンピュータシステム上で動作する映像符号化システムであって、その主要部は、複数の映像取得部６０１〜６０３、カメラ選択部６０４、フレームレート調整部１０２、映像符号化部１０３、パケット化部１０４、送信部１０５から構成される。この映像符号化システム６００は、第１の実施例の映像符号化システム１００の機能に加えて、複数の映像取得部から選択的に映像データを取得するカメラ選択機能を備えており、ユーザからの指示により映像取得部を切り替えることが可能である。
【００７５】
映像取得部６０１は、毎秒３フレームの動画を取得する能力を備える。映像取得部６０２は、毎秒１７フレームの動画を取得する能力を備える。映像取得部６０３は、毎秒３０フレームの動画を取得する能力を備える。なお、映像取得部の個数とフレームレートは、これに限定されるものではなく、適宜に変更することができる。
【００７６】
映像取得部６０１、６０２、６０３はそれぞれ、カメラ選択部６０４を介してフレームレート調整部１０２に接続されている。カメラ選択部６０４は、映像取得部６０１、６０２、６０３のうち、ユーザによって選択された映像取得部から出力された映像フレームをフレームレート調整部１０２に出力する切り替え機能を有する。カメラ選択部６０４は、選択されていない映像取得部の映像フレームを破棄する。ユーザは、コンピュータシステムの入力装置を通じて、映像取得部６０１、６０２、６０３のうちから所望の映像取得部を選択することができる。
【００７７】
フレームレート調整部１０２は、カメラ選択部６０４から供給される映像フレームに対してフレームレートの調整処理を実施する。ユーザは、映像符号化部１０３での符号化の対象となる映像データのフレームレートの値を任意に設定することが可能であるが、ここでは、フレームレートの設定値は毎秒１５フレームとする。ユーザによって設定されたフレームレート値は、フレームレート調整部１０２および映像符号化部１０３に供給される。
【００７８】
フレームレート調整部１０２によるフレームレート調整処理では、カメラ選択部６０４から供給される映像フレームと独立したタイミングで、映像フレームの破棄や複製が行われる。このフレームレート調整処理は、基本的には、第１の実施例で説明した映像フレーム入力処理（図４）および映像フレーム出力処理（図５）と同様であるが、映像取得部６０１が選択されている場合は、映像フレームの複製が行われ、映像取得部６０２または映像取得部６０３が選択されている場合は、映像フレームの破棄が行われる。これにより、カメラ選択部６０４から供給された映像データのフレームレートを、指定されたフレームレート（毎秒１５フレーム）に変換することができる。
【００７９】
映像符号化部１０３は、フレームレート調整部１０２で指定のフレームレートに変換された映像データを圧縮符号化し、ビットストリームに変換する処理を行う。圧縮符号化方式としては前述のＭＰＥＧ−４やＨ．２６４などを用いる。
【００８０】
映像符号化部１０３に入力される映像フレームは、カメラ装置の切り替えに関係なく、毎秒１５フレームのフレームレートに調整されているため、リセットの必要がない。よって、映像符号化部１０３は、符号化処理を正常に実施することができる。
【００８１】
パケット化部１０４は、映像符号化部１０３から出力されたビットストリームを伝送メディアに応じた最適なサイズに分割する。パケット化処理は、映像符号化形式と伝送メディアの種類によって決まる。ＭＰＥＧ−４形式の映像を伝送する場合は、ＩＥＴＦ  ＲＦＣ３６４０によるＲＴＰパケット分割方法を、Ｈ．２６４形式の映像を伝送する場合は、ＩＥＴＦ  ＲＦＣ３９８４を、それぞれ用いるのが一般的である。
【００８２】
送信部１０５は、ＲＴＰパケットに分割された映像ストリームをＩＰネットワーク経由で映像復号システムに伝送する機能を持つ。ＲＴＰパケットは、ＵＤＰ／ＩＰプロトコルとソケットインターフェイスを用いて送出される。
【００８３】
本実施例の映像符号化システム６００によれば、フレームレート調整部１０２が、カメラ切り替えに関係なく、指定されたフレームレート（例えば、毎秒１５フレーム）で映像を出力するため、映像符号化部１０３にて、映像符号化パラメータを変更する必要がない。したがって、映像符号化システム６００では、カメラ切り替えに関係なく、指定されたフレームレート（毎秒１５フレーム）の映像の符号化を継続して行うことができる。その結果、映像復号システムでは、カメラ切り替えが行われた場合でも、遅延なく切り替わった映像を継続して再生することができる。
【実施例３】
【００８４】
図７は、本発明の第３の実施例である映像符号化システムの主要部を示すブロック図である。
【００８５】
図７を参照すると、映像符号化システム７００は、カメラデバイスを接続したコンピュータシステム上で動作する映像符号化システムであって、その主要部は、映像取得部１０１、フレームレート調整部７０１、映像符号化部１０３、パケット化部１０４、送信部１０５から構成される。この映像符号化システム７００は、第１の実施例の映像符号化システム１００の機能に加えて、フレームレート調整を実施した際のイベント通知を、ユーザに対してだけでなく、映像復号システム側に送出する映像データに合成する機能を備える。
【００８６】
映像取得部１０１は、動画像の取得を行う機能ブロックであり、映像データをフレーム単位で出力する機能を備えている。使用するカメラデバイスは、デジタルカメラデバイスやアナログビデオカメラビデオキャプチャカードである。映像取得開始が指示された場合、映像取得部１０１は、事前に指定された映像サイズ（縦ピクセル数、横ピクセル数）、映像フォーマット、フレームレートに従い、自律的に動画像の取得を開始する。映像取得部１０１が出力した映像データは、フレームレート調整部７０１に渡される。
【００８７】
フレームレート調整部７０１は、映像取得部１０１から入力される映像データのフレームレートを指定されたフレームレートになるように調整するとともに、フレームレート調整時のフレームの破棄または複製を示すイベント通知を映像配信システム７００及び映像復号システムを利用するユーザに通知する機能を持つ機能ブロックである。
【００８８】
映像符号化部１０３は、フレームレート調整部７０１からフレームレート調整が施された映像データを受け取り、該映像データを圧縮符号化してビットストリームに変換する機能ブロックである。圧縮符号化方式としては、ＭＰＥＧ−４、Ｈ．２６４、ＭｏｔｉｏｎＪＰＥＧ等が利用される。
【００８９】
パケット化部１０４は、映像符号化部１０３から出力されたビットストリームを伝送メディアごとに最適なサイズに分割し、ヘッダを付加する機能を持つ。パケット化処理は、映像符号化形式と伝送メディアの種類によって規格化されている。ＩＰネットワークを用いてＭＰＥＧ−４、Ｈ．２６４、ＭｏｔｉｏｎＪＰＥＧ形式の映像を伝送する場合、それぞれＩＥＴＦ  ＲＦＣ３６４０、３９８４、２４３５形式によるＲＴＰパケット分割方法を用いる。
【００９０】
送信部１０５は、ＲＴＰパケットに分割された映像ストリームをＩＰネットワーク経由で映像復号システムに伝送する機能を持つ。ＲＴＰパケットは、ＵＤＰ／ＩＰプロトコルとソケットを用いて伝送される。
【００９１】
次に、フレームレート調整部７０１の詳細な内部構成について説明する。
【００９２】
図８は、フレームレート調整部７０１の構成を示すブロック図である。図８を参照すると、フレームレート調整部７０１は、映像入力部２０１、入力フレームカウンタ２０２、フレームバッファ２０３、データ取得部２０４、タイマ２０５、出力フレームカウンタ２０６、フレーム破棄複製判定部２０７、イベント通知部２０８、メッセージ画像合成部８０１、映像出力部２０９から構成される。
【００９３】
フレームレート調整部７０１の動作において、映像フレームの破棄や複製が実施したかを判別する処理までは第１の実施例と同じである。以下に、フレームレート調整部７０１の処理の詳細について、映像フレームの破棄複製判定処理の後の動作を説明する。
【００９４】
フレーム破棄複製判定部２０７は、データ取得部２０４がフレームバッファ２０３のフレーム番号領域５０１から取得したフレーム番号Ｍと出力フレームカウンタ２０６が保持するフレーム番号Ｎの差を計算し、フレームの破棄、複製が実施されたかを判別する処理を行う。
【００９５】
前回取り出したフレーム番号と今回取得したフレーム番号の差が１である場合は、フレームは正常に取得されていることを示す。両フレーム差が０の場合は、フレームの複製が実施されていることを示す。両フレーム差が２以上である場合は、フレームの破棄が実施されていることを示す。
【００９６】
フレーム破棄複製判定部２０７でフレームの破棄または複製が発生したと判定された場合は、イベント通知部２０８は、ユーザにその旨を通知する処理を実施する。また、イベント通知部２０８は、フレーム破棄複製判定部２０７での判定結果（正常、破棄、複製）をメッセージ画像合成部８０１に供給する。イベント通知の手段としては、ネットワークへのパケット送出、コールバック関数呼び出し等によって実現する。ネットワークへのパケット送出により、外部端末に対してイベントを通知することが可能となる。イベント通知を受け取ったシステムは、エラーメッセージの表示もしくは警告音の再生によってユーザにフレームの破棄複製が発生したことを知らせる。
【００９７】
データ取得部２０４がフレーム番号領域５０２から取得した映像データは、メッセージ画像合成部８０１に渡される。同時に、その映像データに関する判定結果（正常、破棄、複製）がイベント通知部２０８からメッセージ画像合成部８０１へ通知される。
【００９８】
データ取得部２０４から供給される映像データが、正常に取得された映像データである場合、メッセージ画像合成部８０１は、その映像データをそのまま映像出力部２０９に供給する。データ取得部２０４から供給される映像データが、破棄または複製が実施された映像データである場合、メッセージ画像合成部８０１は、その映像データに、破棄または複製が実施されたことを示す情報を付与したメッセージ付き映像データを映像出力部２０９に供給する。
【００９９】
映像出力部２０９は、メッセージ画像合成部８０１から供給される映像データまたはメッセージ付き映像データを映像符号化部１０３に供給する。
【０１００】
次に、メッセージ画像合成部８０１の構成を具体的に説明する。
【０１０１】
図９は、メッセージ合成部８０１の構成を示すブロック図である。図９を参照すると、メッセージ画像合成部８０１は、映像入力部９０１、映像出力部９０２、映像フレームバッファ９０３および画像合成部９０５から構成される。
【０１０２】
映像入力部９０１の入力には、データ取得部２０４から出力された映像データが供給される。映像入力部９０１は、データ取得部２０４から出力された映像データを画像合成部９０５に供給する。画像合成部９０５には、イベント通知部２０８からのイベント通知９０４が供給されている。イベント通知９０４は、データ取得部２０４が取得した映像データに関する判定結果（正常、破棄、複製）を示す。
【０１０３】
映像入力部９０１から供給される映像データが正常に取得されたものであることを示すイベント通知９０４が、イベント通知部２０８から画像合成部９０５に供給された場合は、画像合成部９０５は、画像合成処理を行わずに、映像入力部９０１から供給された映像データをそのまま映像出力部２０９に出力する。
【０１０４】
映像入力部９０１から供給される映像データが映像フレームの破棄または複製が実施された後の映像データである旨を示すイベント通知９０４が、イベント通知部２０８から画像合成部９０５に供給された場合は、画像合成部９０５は、フレームバッファ９０３上で、フレームレート異常を示すイベント図形９０６を生成するとともに、そのイベント図形９０６と映像入力部９０１から供給された映像データを合成する。そして、画像合成部９０５は、合成した映像データを映像出力部９０２に供給する。
【０１０５】
イベント図形９０６は、例えば文字列、図形、画像などから構成される。なお、イベント図形９０６は、あらかじめフレームバッファ９０３上に保持したり、イベント内容に合わせて逐次生成したりすることができる。また、イベント図形９０６は、必ずしも入力映像データに合成せず、別のプロトコルで伝送し、映像復号システム側で表示しても良い。
【０１０６】
本実施例の映像符号化システム７００によれば、フレームレート調整部７０１によってフレームレート調整が実施された場合に、入力映像に対する画像合成を実施することで、映像符号化システム７００を利用するユーザだけでなく、映像復号システムで映像を見るユーザに対してもフレームレート調整の実施を通知することが可能となる。
【０１０７】
以上説明した各実施例の映像符号化システムにおいて、各構成（機能ブロック）における動作は、プログラムしたがってコンピュータがそれら機能ブロックに対応する動作を実行することで実現すること可能である。プログラムは、予めコンピュータシステムにインストールされていても、ＣＤ−ＲＯＭやＤＶＤに代表される記録媒体に格納されて供給されてもよい。また、プログラムは、インターネットに代表されるネットワークを通じて提供されてもよい。
【産業上の利用可能性】
【０１０８】
本発明は、映像録画システム、映像監視システム等のカメラデバイスから映像フレームデータを取得して符号化するシステム全般に適用することができる。また、カメラデバイス以外の映像入力手段に対しても、利用可能である。
【図面の簡単な説明】
【０１０９】
【図１】本発明の第１の実施例である映像符号化システムの主要部を示すブロック図である。
【図２】図１に示すフレームレート調整部の具体的な構成を示すブロック図である。
【図３】図２に示すフレームバッファのメモリ領域を示す模式図である。
【図４】図１に示すフレームレート調整部にて行われる映像フレーム入力処理を示すフローチャートである。
【図５】図１に示すフレームレート調整部にて行われる映像フレーム出力処理を示すフローチャートである。
【図６】本発明の第２の実施例である映像符号化システムの主要部を示すブロック図である。
【図７】本発明の第３の実施例である映像符号化システムの主要部を示すブロック図である。
【図８】図７に示すフレームレート調整部の構成を示すブロック図である。
【図９】図８に示すメッセージ合成部の構成を示すブロック図である。
【符号の説明】
【０１１０】
１００  映像符号化システム
１０１  映像取得部
１０２  フレームレート調整部
１０３  映像符号化部
１０４  パケット化部
１０５  送信部
２０１  映像入力部
２０２  入力フレームカウンタ
２０３  フレームバッファ
２０４  データ取得部
２０５  タイマ
２０６  出力フレームカウンタ
２０７  フレーム破棄複製判定部
２０８  イベント通知部
２０９  映像出力部
【図１】
2008219070.tif 000003
【図２】
2008219070.tif 000004
【図３】
2008219070.tif 000005
【図４】
2008219070.tif 000006
【図５】
2008219070.tif 000007
【図６】
2008219070.tif 000008
【図７】
2008219070.tif 000009
【図８】
2008219070.tif 000010
【図９】
2008219070.tif 000011