(57)【要約】【課題】従来の一回可変レート符号化方式では、実時間での圧縮符号化は可能であるが、その圧縮符号化の開始当初に仮設定される量子化スケールコードの値が実際の画像の特性に合致していない場合には、画質の著しい低下を来たす。【解決手段】入力メモリ制御部１０３は、入力バッファメモリ１０２に入力される映像や音声信号の蓄積量を把握する。また出力メモリ制御部１０７も、出力バッファメモリ１０６に保持されるエンコードデータの蓄積量を把握する。再エンコード判断処理部１０５はこれらの蓄積量から、再エンコードをするか否かの判定を行い、エンコード処理部１０４に通知する。エンコード処理部１０４は符号化のパラメータを再設定し、ＶＢＶバッファの情報に基づいてエンコードの品質を向上させる。【選択図】        図１
2004343370.tif 000002
【特許請求の範囲】
【請求項１】
入力素材である映像信号又は音声信号の制御を行う入力制御部と、
前記入力制御部を介して入力された映像信号又は音声信号を一時的に蓄積する入力バッファメモリと、
前記入力バッファメモリへの読み出しや書き込み制御を行うと共に、前記入力バッファメモリの入力データ蓄積量を管理する入力メモリ制御部と、
前記映像信号又は前記音声信号を再エンコードするか否かを判断するための情報を再エンコード判定情報とするとき、前記入力バッファメモリより読み出された映像信号又は音声信号を、前記再エンコード判定情報に従って符号化するエンコード処理部と、
前記エンコード処理部のエンコードデータを一時的に蓄積する出力バッファメモリと、
前記出力バッファメモリへの読み出しや書き込み制御を行うと共に、前記出力バッファメモリの出力データ蓄積量を管理する出力メモリ制御部と、
前記出力バッファメモリよりエンコードデータを読み出すためのタイミングを制御する出力制御部と、
前記入力メモリ制御部から得られる前記入力データ蓄積量、及び前記出力メモリ制御部から得られる前記出力データ蓄積量に基づいて前記再エンコード判定情報を生成し、前記エンコード処理部に与える再エンコード判断処理部と、を具備することを特徴とするリアルタイムエンコーダ装置。
【請求項２】
前記入力メモリ制御部は、
前記入力バッファメモリの入力データ蓄積量を任意の段階で管理し、その管理情報を前記再エンコード判断処理部に出力する機能を有することを特徴とする請求項１記載のリアルタイムエンコーダ装置。
【請求項３】
前記出力メモリ制御部は、
前記出力バッファメモリの出力データ蓄積量を任意の段階で管理し、その管理情報を前記エンコード処理部に出力する機能を有することを特徴とする請求項１記載のリアルタイムエンコーダ装置。
【請求項４】
前記再エンコード判断処理部は、
前記入力メモリ制御部及び前記出力バッファメモリ制御部より出力されてきたデータ蓄積量の情報に従って、現在のエンコードデータを出力させるコマンドを出力するか、又はバッファメモリの状態情報を出力すると共に再エンコードさせるコマンドを出力するかを判断する機能を有することを特徴とする請求項１記載のリアルタイムエンコーダ装置。
【請求項５】
前記エンコード処理部は、
前記入力バッファメモリより出力された映像信号又は音声信号をフレーム単位で蓄積するフレームメモリと、
前記フレームメモリへの読み出しや書き込み制御を行うフレームメモリ制御部と、
符号化処理におけるビデオ・バッファリング・ベリファイア（以下、ＶＢＶという）バッファや符号化データ総量を管理する仮想バッファ管理部と、
前記再エンコード判断処理部の再エンコード判定情報と前記仮想バッファ管理部のＶＢＶバッファ情報とに従って、所定範囲内の出力ビートレートを保持した状態で符号化処理を行うためのパラメータ設定値を生成するパラメータ生成部と、
前記パラメータ生成部で生成されたパラメータ設定値に従って入力データを符号化するエンコーダと、
前記エンコーダより出力された１フレーム分のエンコードデータを蓄積するエンコーダバッファと、
前記エンコーダバッファのデータを再エンコード判断処理部の再エンコード判定情報に従って出力するか破棄するかを制御するエンコーダバッファ制御部と、を具備することを特徴とする請求項１記載のリアルタイムエンコーダ装置。
【請求項６】
前記パラメータ生成部は、
前記再エンコード判断処理部より与えられた前記再エンコード判定情報に従って、入力データを符号化するためのパラメータ設定値を生成することを特徴とする請求項５記載のリアルタイムエンコーダ装置。
【請求項７】
前記パラメータ生成部は、
前記再エンコーダ判断処理部より出力された再エンコード判定情報が再エンコードを示すとき、前回符号化処理に使用したパラメータを参照し、所定範囲内の出力ビートレートを保持した状態で高品質の符号化処理を行うためのパラメータ設定値を新たに生成することを特徴とする請求項５記載のリアルタイムエンコーダ装置。
【請求項８】
入力素材である映像信号又は音声信号の制御を行う入力制御部と、
前記入力制御部を介して入力された映像信号又は音声信号を一時的に蓄積する入力バッファメモリと、
前記入力バッファメモリへの読み出しや書き込み制御を行うと共に、前記入力バッファメモリの入力データ蓄積量を管理する入力メモリ制御部と、
前記映像信号又は前記音声信号を再エンコードするか否かを判断するための情報を再エンコード判定情報とするとき、前記入力バッファメモリより読み出された映像信号又は音声信号を、前記再エンコード判定情報に従って符号化するエンコード処理部と、
前記エンコード処理部のエンコードデータを一時的に蓄積する出力バッファメモリと、
前記出力バッファメモリよりエンコードデータを読み出すためのタイミングを制御する出力制御部と、
出力クロックと前記出力制御部のデータ出力とのタイミングより、出力制御タイマーを生成する出力制御タイマー部と、
前記入力メモリ制御部から得られる入力データ蓄積量、前記出力制御タイマー部から得られる出力制御タイマー値、及び前記エンコード処理部の仮想バッファ管理情報より推定される前記出力バッファメモリの出力データ蓄積量に基づいて前記再エンコード判定情報を生成し、前記エンコード処理部に与える再エンコード判断処理部と、を具備することを特徴とするリアルタイムエンコーダ装置。
【請求項９】
前記エンコード処理部は、
前記入力バッファメモリより出力された映像信号又は音声信号をフレーム単位で蓄積するフレームメモリと、
前記フレームメモリへの読み出しや書き込み制御を行うフレームメモリ制御部と、
符号化処理におけるビデオ・バッファリング・ベリファイア（以下、ＶＢＶという）バッファや符号化データ総量を管理する仮想バッファ管理部と、
前記再エンコード判断処理部の再エンコード判定情報と前記仮想バッファ管理部のＶＢＶバッファ情報とに従って、所定範囲内の出力ビートレートを保持した状態で高品質の符号化処理を行うためのパラメータ設定値を生成するパラメータ生成部と、
前記パラメータ生成部で生成されたパラメータ設定値に従って入力データを符号化するエンコーダと、
前記エンコーダより出力された１フレーム分のエンコードデータを蓄積するエンコーダバッファと、
前記エンコーダバッファのデータを再エンコード判断処理部の再エンコード判定情報に従って出力するか破棄するかを制御するエンコーダバッファ制御部と、を具備することを特徴とする請求項８記載のリアルタイムエンコーダ装置。
【請求項１０】
前記パラメータ生成部は、
前記再エンコード判断処理部より与えられた前記再エンコード判定情報に従って、入力データを符号化するためのパラメータ設定値を生成することを特徴とする請求項９記載のリアルタイムエンコーダ装置。
【請求項１１】
前記パラメータ生成部は、
前記再エンコード判断処理部より出力された再エンコード判定情報が再エンコードを示すとき、前回符号化処理に使用したパラメータを参照し、所定範囲内の出力ビートレートを保持した状態で高品質の符号化処理を行うためのパラメータ設定値を新たに生成することを特徴とする請求項９記載のリアルタイムエンコーダ装置。
【請求項１２】
前記入力メモリ制御部は、
前記入力バッファメモリの入力データ蓄積量を任意の段階で管理し、その管理情報を前記再エンコード判断処理部に出力する機能を有することを特徴とする請求項８記載のリアルタイムエンコーダ装置。
【請求項１３】
前記出力制御タイマー部は、
外部から入力された出力クロックと前記出力制御部の出力データのタイミングとより、前記出力制御タイマーを生成する機能を有することを特徴とする請求項８記載のリアルタイムエンコーダ装置。
【請求項１４】
前記再エンコード判断処理部は、
前記出力制御タイマー部より与えられた出力制御タイマー値と、前記エンコード処理部より与えられた前記仮想バッファ管理情報及び符号化データ総量とから、前記出力バッファメモリの出力データ蓄積量を推定する機能を有することを特徴とする請求項８記載のリアルタイムエンコーダ装置。
【請求項１５】
前記再エンコード判断処理部は、
前記入力メモリ制御部より出力された入力データ蓄積量の情報と前記出力バッファメモリの推定出力データ蓄積量の情報とに従って、現在のエンコード結果を出力させるコマンドを出力するか、又はバッファメモリの状態情報を出力すると共に再エンコードさせるコマンドを出力するかを判断する機能を有することを特徴とする請求項８記載のリアルタイムエンコーダ装置。
【請求項１６】
映像信号の符号化処理を行う映像用リアルタイムエンコーダ部と、
前記映像信号と同期して入力される音声信号に対して符号化処理を行う音声用リアルタイムエンコーダ部と、
前記映像用リアルタイムエンコーダ部と音声用リアルタイムエンコーダ部と用いて、前記映像信号及び音声信号とに対して並列に符号化処理が行われたとき、前記２系列のエンコードデータを同期保証して多重化するＡＶ結合部と、
前記ＡＶ結合部の多重化データを一時的に蓄積する出力バッファメモリと、
前記出力バッファメモリより多重化データを読み出すためのタイミングを制御する出力制御部と、を具備することを特徴とするリアルタイムエンコーダ装置。
【請求項１７】
前記映像用リアルタイムエンコーダ部は、
映像信号と音声信号とが同期して入力されるとき、映像信号の入力制御を行う入力制御部と、
前記入力制御部を介して入力された映像信号を一時的に蓄積する入力バッファメモリと、
前記入力バッファメモリへの読み出しや書き込み制御を行うと共に、前記入力バッファメモリの入力データ蓄積量を管理する入力メモリ制御部と、
前記映像信号を再エンコードするか否かを判断するための情報を映像再エンコード判定情報とするとき、前記入力バッファメモリより読み出された映像信号を前記映像再エンコード判定情報に従って符号化すると共に、エンコードデータを出力する一定時刻前に出力オフセットフラグを発生させるエンコード処理部と、
出力クロックと前記出力制御部のデータ出力とのタイミングより、出力制御タイマーを生成する出力制御タイマー部と、
前記入力メモリ制御部から得られる入力データ蓄積量、前記出力制御タイマー部から得られる出力制御タイマー値、及び前記エンコード処理部の仮想バッファ管理情報より推定される前記出力バッファメモリの出力データ蓄積量に基づいて前記映像再エンコード判定情報を生成し、前記エンコード処理部に与える再エンコード判断処理部と、を具備することを特徴とする請求項１６記載のリアルタイムエンコーダ装置。
【請求項１８】
前記音声用リアルタイムエンコーダ部は、
映像信号と音声信号とが同期して入力されるとき、音声信号の入力制御を行う入力制御部と、
前記入力制御部を介して入力された音声信号を一時的に蓄積する入力バッファメモリと、
前記入力バッファメモリへの読み出しや書き込み制御を行うと共に、前記入力バッファメモリの入力データ蓄積量を管理する入力メモリ制御部と、
前記音声信号を再エンコードするか否かを判断するための情報を音声再エンコード判定情報とするとき、前記入力バッファメモリより読み出された音声信号を前記音声再エンコード判定情報に従って符号化するエンコード処理部と、
出力クロックと前記出力制御部のデータ出力とのタイミングより、出力制御タイマーを生成する出力制御タイマー部と、
前記入力メモリ制御部から得られる入力データ蓄積量、前記出力制御タイマー部から得られる出力制御タイマー値、及び前記エンコード処理部の仮想バッファ管理情報より推定される前記出力バッファメモリの出力データ蓄積量に基づいて前記音声の再エンコードをするか否かを判断するか、又は映像のエンコード進捗状況から音声信号を再エンコードするか否かを判断する前記音声再エンコード判定情報を生成し、前記エンコード処理部に与える再エンコード判断処理部と、を具備することを特徴とする請求項１６記載のリアルタイムエンコーダ装置。
【請求項１９】
前記エンコード処理部は、
前記入力バッファメモリより出力された映像信号又は音声信号をフレーム単位で蓄積するフレームメモリと、
前記フレームメモリへの読み出しや書き込み制御を行うフレームメモリ制御部と、
符号化処理におけるＶＢＶバッファや符号化データ総量を管理する仮想バッファ管理部と、
前記再エンコード判断処理部の再エンコード判定情報と前記仮想バッファ管理部のＶＢＶバッファ情報とに従って、所定範囲内の出力ビットレートを保持した状態で高品質の符号化処理を行うためのパラメータ設定値を生成するパラメータ生成部と、
前記パラメータ生成部で生成されたパラメータ設定値に従って入力データを符号化するエンコーダと、
前記エンコーダよりエンコードデータが出力される一定時刻前を示す出力オフセットフラグを生成するエンコーダ出力オフセットフラグ部と、
前記エンコーダより出力された１フレーム分のエンコード結果を蓄積するエンコーダバッファと、
前記エンコーダバッファのデータを再エンコード判断処理部の再エンコード判定情報に従って出力するか破棄するかを制御するエンコーダバッファ制御部と、を具備することを特徴とする請求項１７記載のリアルタイムエンコーダ装置。
【請求項２０】
前記再エンコード判断処理部は、
前記映像のエンコード処理部から与えられる出力オフセットフラグを用いて映像のエンコード推進状況を把握し、音声信号を再エンコードするか否かを判断するための音声再エンコード判定情報を前記出力バッファメモリの状態情報と共に出力するか、又は既に得られたエンコードデータを出力させるための音声再エンコード判定情報を出力する機能を具備することを特徴とする請求項１８記載のリアルタイムエンコーダ装置。
【請求項２１】
前記ＡＶ結合部は、
１フレーム分の映像のエンコードデータを蓄積する映像エンコーダメモリと、
１フレーム分相当の音声のエンコードデータを蓄積する音声エンコーダメモリと、
映像信号と音声信号の同期を保持するよう前記映像エンコーダメモリ及び前記音声エンコーダメモリのデータ読み出しを制御するＡＶ同期管理部と、
前記映像エンコーダメモリ及び前記音声エンコーダメモリから出力された映像及び音声のエンコーダデータを多重化するＡＶ多重化処理部と、を具備することを特徴とする請求項１６記載のリアルタイムエンコーダ装置。
【請求項２２】
映像信号の符号化処理を行う映像用リアルタイムエンコーダ部と、
前記映像信号とは独立して入力された音声信号に対して符号化処理を行う音声用リアルタイムエンコーダ部と、
前記映像信号又は前記音声信号を再エンコードするか否かを判断するための情報を再エンコード判定情報とするとき、前記映像用リアルタイムエンコーダ部及び前記音声用リアルタイムエンコーダ部の少なくとも一方に対して再エンコード判定指示を与えるＡＶ選択処理部と、
前記映像用リアルタイムエンコーダ部と前記音声用リアルタイムエンコーダ部と用いて、映像信号及び音声信号とに対して符号化処理が並列に行われたとき、前記２系列のエンコードデータを多重化するＡＶ結合部と、
前記ＡＶ結合部の多重化データを一時的に蓄積する出力バッファメモリと、
前記出力バッファメモリより多重化データを読み出すためのタイミングを制御する出力制御部と、を具備することを特徴とするリアルタイムエンコーダ装置。
【請求項２３】
前記映像用リアルタイムエンコーダ部は、
映像信号の入力制御を行う入力制御部と、
前記入力制御部を介して入力された映像信号を一時的に蓄積する入力バッファメモリと、
前記入力バッファメモリへの読み出しや書き込み制御を行うと共に、前記入力バッファメモリの入力データ蓄積量を管理する入力メモリ制御部と、
前記映像信号を再エンコードするか否かを判断するための情報を映像再エンコード判定情報とするとき、前記入力バッファメモリより読み出された映像信号を前記映像再エンコード判定情報に従って符号化するエンコード処理部と、
出力クロックと前記出力制御部のデータ出力とのタイミングより、出力制御タイマーを生成する出力制御タイマー部と、
前記入力メモリ制御部から得られる入力データ蓄積量、前記出力制御タイマー部から得られる出力制御タイマー値、前記エンコード処理部の仮想バッファ管理情報より推定される前記出力バッファメモリの出力データ蓄積量、及び前記ＡＶ選択処理部からの映像再エンコード判定に基づいて前記映像再エンコード判定情報を生成し、前記エンコード処理部に与える再エンコード判断処理部と、を具備することを特徴とする請求項２２記載のリアルタイムエンコーダ装置。
【請求項２４】
前記音声用リアルタイムエンコーダ部は、
音声信号の入力制御を行う入力制御部と、
前記入力制御部を介して入力された音声信号を一時的に蓄積する入力バッファメモリと、
前記入力バッファメモリへの読み出しや書き込み制御を行うと共に、前記入力バッファメモリの入力データ蓄積量を管理する入力メモリ制御部と、
前記音声信号を再エンコードするか否かを判断するための情報を音声再エンコード判定情報とするとき、前記入力バッファメモリより読み出された音声信号を前記音声再エンコード判定情報に従って符号化するエンコード処理部と、
出力クロックと前記出力制御部のデータ出力とのタイミングより、出力制御タイマーを生成する出力制御タイマー部と、
前記入力メモリ制御部から得られる入力データ蓄積量、前記出力制御タイマー部から得られる出力制御タイマー値、前記エンコード処理部の仮想バッファ管理情報より推定される前記出力バッファメモリの出力データ蓄積量、及び前記ＡＶ選択処理部からの音声再エンコード判定に基づいて前記音声再エンコード判定情報を生成し、前記エンコード処理部に与える再エンコード判断処理部と、を具備することを特徴とする請求項２２記載のリアルタイムエンコーダ装置。
【請求項２５】
前記再エンコード判断処理部は、
前記ＡＶ選択処理部の選択状況から映像信号及び音声信号のいずれを再エンコードするか否かを判断する機能と、
前記入力バッファメモリの入力データ蓄積量と前記出力バッファメモリの推定出力データ蓄積量とに従って、既に得られたエンコードデータを前記出力バッファメモリの状態情報と共に出力させるか、又は再エンコードさせるかを判断する機能と、を有することを特徴とする請求項２３又は２４記載のリアルタイムエンコーダ装置。
【請求項２６】
前記ＡＶ結合部は、
入力された映像信号と音声信号が同期している場合、１フレーム分の映像のエンコードデータを蓄積する映像エンコーダメモリと、
１フレーム分相当の音声のエンコードデータを蓄積する音声エンコーダメモリと、
映像信号と音声信号の同期を保持するよう前記映像エンコーダメモリ及び前記音声エンコーダメモリのデータ読み出しを制御するＡＶ同期管理部と、
前記映像エンコーダメモリ及び前記音声エンコーダメモリから出力された映像及び音声のエンコーダデータを多重化するＡＶ多重化処理部と、を具備することを特徴とする請求項２２記載のリアルタイムエンコーダ装置。
【請求項２７】
映像信号の符号化処理を行う映像用リアルタイムエンコーダ部と、
前記映像信号と個別に入力される音声信号に対して符号化処理を行う音声用リアルタイムエンコーダ部と、
前記映像用リアルタイムエンコーダ部と音声用リアルタイムエンコーダ部と用いて、符号化処理が行われたとき、前記２系列のエンコードデータを同期保証して結合するＡＶ結合部と、
前記ＡＶ結合部の多重化データを一時的に蓄積する出力バッファメモリと、
前記映像信号又は前記音声信号を再エンコードするか否かを判断するための情報を再エンコード判定情報とするとき、前記映像用リアルタイムエンコーダ部及び前記音声用リアルタイムエンコーダ部の少なくとも一方に対して再エンコード判定指示を与えると共に、前記出力バッファメモリの出力データ蓄積量を管理する出力メモリ制御部と、
前記出力バッファメモリより多重化データを読み出すためのタイミングを制御する出力制御部と、を具備することを特徴とするリアルタイムエンコーダ装置。
【請求項２８】
前記映像用リアルタイムエンコーダ部は、
映像信号と音声信号とが同期して入力されるとき、映像信号の入力制御を行う入力制御部と、
前記入力制御部を介して入力された映像信号を一時的に蓄積する入力バッファメモリと、
前記入力バッファメモリへの読み出しや書き込み制御を行うと共に、前記入力バッファメモリの入力データ蓄積量を管理する入力メモリ制御部と、
前記映像信号を再エンコードするか否かを判断するための情報を映像再エンコード判定情報とするとき、前記入力バッファメモリより読み出された映像信号を前記映像再エンコード判定情報に従って符号化すると共に、エンコードデータを出力する一定時刻前に出力オフセットフラグを発生させるエンコード処理部と、
前記入力メモリ制御部から得られる入力データ蓄積量、及び前記出力メモリ制御部から得られる出力データ蓄積量に基づいて前記映像再エンコード判定情報を生成し、前記エンコード処理部に与える再エンコード判断処理部と、を具備することを特徴とする請求項２７記載のリアルタイムエンコーダ装置。
【請求項２９】
前記音声用リアルタイムエンコーダ部は、
映像信号と音声信号とが同期して入力されるとき、音声信号の入力制御を行う入力制御部と、
前記入力制御部を介して入力された音声信号を一時的に蓄積する入力バッファメモリと、
前記入力バッファメモリへの読み出しや書き込み制御を行うと共に、前記入力バッファメモリの入力データ蓄積量を管理する入力メモリ制御部と、
前記音声信号を再エンコードするか否かを判断するための情報を音声再エンコード判定情報とするとき、前記入力バッファメモリより読み出された音声信号を前記音声再エンコード判定情報に従って符号化するエンコード処理部と、
前記入力メモリ制御部から得られる入力データ蓄積量、及び前記出力メモリ制御部から得られる出力データ蓄積量に基づいて前記音声の再エンコードするか否かを判断するか、又は映像のエンコード進捗状況から音声信号を再エンコードするか否かを判断する再エンコード判定情報を生成し、前記エンコード処理部に与える再エンコード判断処理部と、を具備することを特徴とする請求項２７記載のリアルタイムエンコーダ装置。
【請求項３０】
映像信号の符号化処理を行う映像用リアルタイムエンコーダ部と、
前記映像信号とは独立に入力された音声信号に対して符号化処理を行う音声用リアルタイムエンコーダ部と、
前記映像信号又は前記音声信号を再エンコードするか否かを判断するための情報を再エンコード判定情報とするとき、前記映像用リアルタイムエンコーダ部及び前記音声用リアルタイムエンコーダ部の少なくとも一方に対して再エンコード判定指示を与えるＡＶ選択処理部と、
前記映像用リアルタイムエンコーダ部と前記音声用リアルタイムエンコーダ部と用いて、映像信号及び音声信号とに対して符号化処理が並列に行われたとき、前記２系列のエンコードデータを多重化するＡＶ結合部と、
前記ＡＶ結合部の多重化データを一時的に蓄積する出力バッファメモリと、
前記出力バッファメモリより多重化データを読み出すためのタイミングを制御する出力制御部と、を具備することを特徴とするリアルタイムエンコーダ装置。
【請求項３１】
前記映像用リアルタイムエンコーダ部は、
映像信号と音声信号とが同期して入力されるとき、映像信号の入力制御を行う入力制御部と、
前記入力制御部を介して入力された映像信号を一時的に蓄積する入力バッファメモリと、
前記入力バッファメモリへの読み出しや書き込み制御を行うと共に、前記入力バッファメモリの入力データ蓄積量を管理する入力メモリ制御部と、
前記映像信号を再エンコードするか否かを判断するための情報を映像再エンコード判定情報とするとき、前記入力バッファメモリより読み出された映像信号を前記映像再エンコード判定情報に従って符号化すると共に、エンコードデータを出力する一定時刻前にフラグを発生させるエンコード処理部と、
前記入力メモリ制御部から得られる入力データ蓄積量、及び前記出力メモリ制御部から得られる出力データ蓄積量に基づいて前記映像再エンコード判定情報を生成し、前記エンコード処理部に与える再エンコード判断処理部と、を具備することを特徴とする請求項３０記載のリアルタイムエンコーダ装置。
【請求項３２】
前記音声用リアルタイムエンコーダ部は、
映像信号と音声信号とが同期して入力されるとき、音声信号の入力制御を行う入力制御部と、
前記入力制御部を介して入力された音声信号を一時的に蓄積する入力バッファメモリと、
前記入力バッファメモリへの読み出しや書き込み制御を行うと共に、前記入力バッファメモリの入力データ蓄積量を管理する入力メモリ制御部と、
前記音声信号を再エンコードするか否かを判断するための情報を音声再エンコード判定情報とするとき、前記入力バッファメモリより読み出された音声信号を前記音声再エンコード判定情報に従って符号化するエンコード処理部と、
前記入力メモリ制御部から得られる入力データ蓄積量、及び前記出力メモリ制御部から得られる出力データ蓄積量に基づいて前記音声の再エンコードするか否かを判断するか、又は映像のエンコード進捗状況から音声信号を再エンコードするか否かを判断する再エンコード判定情報を生成し、前記エンコード処理部に与える再エンコード判断処理部と、を具備することを特徴とする請求項３０記載のリアルタイムエンコーダ装置。
【請求項３３】
前記再エンコード判断処理部は、
前記ＡＶ選択処理部の選択状況から映像信号及び音声信号のいずれを再エンコードするか否かを判断する機能と、
前記入力バッファメモリの入力データ蓄積量と前記出力バッファメモリの推定出力データ蓄積量とに従って、既に得られたエンコードデータを前記出力バッファメモリの状態情報と共に出力させるか、又は再エンコードさせるかを判断する機能と、を有することを特徴とする請求項３１又は３２記載のリアルタイムエンコーダ装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、リアルタイム性を保証しながら、映像や音声などのデータを高品位にエンコードするリアルタイムエンコーダ装置に関するものである。
【０００２】
【従来の技術】
従来、特に映像や音声のディジタル情報の符号化として種々の符号化方法が開発されて来たが、その中でもＭＰＥＧ方式が実用化されている。
【０００３】
ここで、ＭＰＥＧ方式について簡単に説明する。符号化したい画像と、当該画像に対して時間的に先行又は後行する参照画像との差分に対してＤＣＴ（Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ、離散コサイン変換）を施す。そしてＤＣＴ値を量子化して得られた情報、及び当該画像における１６画素×１６画素の画素を含む正方形の画素のブロックであるマクロブロック単位の動きベクトルの差分を可変長符号化して伝送又は記録する。なお動きベクトルは、参照画像と符号化したい画像との間で何らかの画像の動きがある場合、当該動きの方向と量を示すベクトルである。このような符号化技術によって、本来は膨大な情報量となる画像情報を、高能率に圧縮することが可能になった。
【０００４】
ところで、画像を圧縮する場合に、単調な画像と複雑な画像を全て同じ圧縮率で圧縮してしまうと、例えば複雑な画像であった場合には、過度に圧縮されることになり、この処理に起因して圧縮後の画像に劣化が生じる。
【０００５】
そこで、ＭＰＥＧ方式においては、いわゆる可変レート符号化により、画像毎に圧縮レートを可変、即ち符号化レートを可変として符号化が行えるような構成となっている。この手法の前提となるのは、復号化側のＶＢＶ（Ｖｉｄｅｏ  Ｂｕｆｆｅｒ  Ｖｅｒｉｆｉｅｒ）バッファがアンダーフローやオーバーフローしないことである。
【０００６】
一方、ＭＰＥＧ方式における可変レート符号化を用いた圧縮方法としては、いわゆる二回可変レート符号化方式と呼ばれる手法と、一回可変レート符号化方式と呼ばれる手法とがある。
【０００７】
ここで、二回可変レート符号化方式では、一度符号化すべき全画像に渡って夫々の符号化後のデータ発生量を試算、換言すればその量子化スケールコードを試算する。そして試算したデータの発生量に応じて、二回目の処理において各フレーム画像の符号化レートや量子化スケールコードを正確に制御する。こうして画像の複雑さに適応した最適な圧縮符号化を行う。
【０００８】
この二回可変レート符号化方式によれば、データ発生量を前もって取得することができるため、画像を所定のデータ量に圧縮符号化する場合に、常に最適な符号化レート及び量子化スケールコードを算出して圧縮符号化できる。このため、高画質を保持して映像入力を圧縮符号化することができる。
【０００９】
一方、特許文献１に示す一回可変レート符号化方式では、先ず、所定の方法により当初の画像の量子化スケールコードを仮に設定し、仮設定した当該量子化スケールコードを用いて画像の量子化及び符号化を開始する。そして、その後に発生する各画像の符号化後のデータ発生量に応じて変化する符号化レートの平均値を逐次求める。この段階では画像のデータ発生量が変化しても、対応する量子化スケールコードが一定であるので、対応する符号化レートも変化してしまう。こうして得られた平均値と、予め設定されている閾値とを比較する。そして当該平均値の方が大きいときは、データの発生量が多すぎるとして、量子化スケールコードを増大し、平均値を小さくする制御を行う。一方、当該平均値の方が小さいときは、データの発生量が過小であるとして、量子化スケールコードを低減し、当該平均値を大きくする処理を行う。
【００１０】
このような一回可変レート符号化方式によれば、入力してくる符号化すべき画像を実時間で圧縮符号化することができる。即ち、入力してくる画像を複数回分析することなく、入力した順にリアルタイムで圧縮符号化することができる。
【００１１】
【特許文献１】
特開２０００−１９７０４８号公報
【００１２】
【発明が解決しようとする課題】
しかしながら、従来の一回可変レート符号化方式では、実時間での圧縮符号化は可能であるが、その圧縮符号化の開始当初に仮設定される量子化スケールコードの値が実際の画像の特性に合致していない場合には、画質の著しい低下を来たしてしまうという問題点があった。例えば、符号化すべき一連の画像において、その先頭付近では画像内の動きはほとんどなかったが、シーンチェンジ等により急激に画像内の動きが増大した場合に、画質の著しい低下が生じる。
【００１３】
また、符号化されたデータをＣＢＲ（Ｃｏｎｓｔａｎｔ  Ｂｉｔ  Ｒａｔｅ）の条件で出力する際、ＶＢＶバッファの揺らぎの大きさと出力レートを算出するウインドウ幅（時刻幅）により、出力側のバッファがアンダーフローしてしまうという問題があった。
【００１４】
本発明は、このような従来の問題点に鑑みてなされたものであって、実時間での符号化を行った場合でも、高品質に映像や音声をエンコードできるリアルタイムエンコーダ装置を実現することを目的とする。
【００１５】
【課題を解決するための手段】
本願の請求項１の発明は、入力素材である映像信号又は音声信号の制御を行う入力制御部と、前記入力制御部を介して入力された映像信号又は音声信号を一時的に蓄積する入力バッファメモリと、前記入力バッファメモリへの読み出しや書き込み制御を行うと共に、前記入力バッファメモリの入力データ蓄積量を管理する入力メモリ制御部と、前記映像信号又は前記音声信号を再エンコードするか否かを判断するための情報を再エンコード判定情報とするとき、前記入力バッファメモリより読み出された映像信号又は音声信号を、前記再エンコード判定情報に従って符号化するエンコード処理部と、前記エンコード処理部のエンコードデータを一時的に蓄積する出力バッファメモリと、前記出力バッファメモリへの読み出しや書き込み制御を行うと共に、前記出力バッファメモリの出力データ蓄積量を管理する出力メモリ制御部と、前記出力バッファメモリよりエンコードデータを読み出すためのタイミングを制御する出力制御部と、前記入力メモリ制御部から得られる前記入力データ蓄積量、及び前記出力メモリ制御部から得られる前記出力データ蓄積量に基づいて前記再エンコード判定情報を生成し、前記エンコード処理部に与える再エンコード判断処理部と、を具備することを特徴とする。
【００１６】
本願の請求項２の発明は、請求項１のリアルタイムエンコーダ装置において、前記入力メモリ制御部は、前記入力バッファメモリの入力データ蓄積量を任意の段階で管理し、その管理情報を前記再エンコード判断処理部に出力する機能を有することを特徴とする。
【００１７】
本願の請求項３の発明は、請求項１のリアルタイムエンコーダ装置において、前記出力メモリ制御部は、前記出力バッファメモリの出力データ蓄積量を任意の段階で管理し、その管理情報を前記エンコード処理部に出力する機能を有することを特徴とする。
【００１８】
本願の請求項４の発明は、請求項１のリアルタイムエンコーダ装置において、前記再エンコード判断処理部は、前記入力メモリ制御部及び前記出力バッファメモリ制御部より出力されてきたデータ蓄積量の情報に従って、現在のエンコードデータを出力させるコマンドを出力するか、又はバッファメモリの状態情報を出力すると共に再エンコードさせるコマンドを出力するかを判断する機能を有することを特徴とする。
【００１９】
本願の請求項５の発明は、請求項１のリアルタイムエンコーダ装置において、前記エンコード処理部は、前記入力バッファメモリより出力された映像信号又は音声信号をフレーム単位で蓄積するフレームメモリと、前記フレームメモリへの読み出しや書き込み制御を行うフレームメモリ制御部と、符号化処理におけるビデオ・バッファリング・ベリファイア（以下、ＶＢＶという）バッファや符号化データ総量を管理する仮想バッファ管理部と、前記再エンコード判断処理部の再エンコード判定情報と前記仮想バッファ管理部のＶＢＶバッファ情報とに従って、所定範囲内の出力ビートレートを保持した状態で符号化処理を行うためのパラメータ設定値を生成するパラメータ生成部と、前記パラメータ生成部で生成されたパラメータ設定値に従って入力データを符号化するエンコーダと、前記エンコーダより出力された１フレーム分のエンコードデータを蓄積するエンコーダバッファと、前記エンコーダバッファのデータを再エンコード判断処理部の再エンコード判定情報に従って出力するか破棄するかを制御するエンコーダバッファ制御部と、を具備することを特徴とする。
【００２０】
本願の請求項６の発明は、請求項５のリアルタイムエンコーダ装置において、前記パラメータ生成部は、前記再エンコード判断処理部より与えられた前記再エンコード判定情報に従って、入力データを符号化するためのパラメータ設定値を生成することを特徴とする。
【００２１】
本願の請求項７の発明は、請求項５のリアルタイムエンコーダ装置において、前記パラメータ生成部は、前記再エンコーダ判断処理部より出力された再エンコード判定情報が再エンコードを示すとき、前回符号化処理に使用したパラメータを参照し、所定範囲内の出力ビートレートを保持した状態で高品質の符号化処理を行うためのパラメータ設定値を新たに生成することを特徴とする。
【００２２】
本願の請求項８の発明は、入力素材である映像信号又は音声信号の制御を行う入力制御部と、前記入力制御部を介して入力された映像信号又は音声信号を一時的に蓄積する入力バッファメモリと、前記入力バッファメモリへの読み出しや書き込み制御を行うと共に、前記入力バッファメモリの入力データ蓄積量を管理する入力メモリ制御部と、前記映像信号又は前記音声信号を再エンコードするか否かを判断するための情報を再エンコード判定情報とするとき、前記入力バッファメモリより読み出された映像信号又は音声信号を、前記再エンコード判定情報に従って符号化するエンコード処理部と、前記エンコード処理部のエンコードデータを一時的に蓄積する出力バッファメモリと、前記出力バッファメモリよりエンコードデータを読み出すためのタイミングを制御する出力制御部と、出力クロックと前記出力制御部のデータ出力とのタイミングより、出力制御タイマーを生成する出力制御タイマー部と、前記入力メモリ制御部から得られる入力データ蓄積量、前記出力制御タイマー部から得られる出力制御タイマー値、及び前記エンコード処理部の仮想バッファ管理情報より推定される前記出力バッファメモリの出力データ蓄積量に基づいて前記再エンコード判定情報を生成し、前記エンコード処理部に与える再エンコード判断処理部と、を具備することを特徴とする。
【００２３】
本願の請求項９の発明は、請求項８のリアルタイムエンコーダ装置において、前記エンコード処理部は、前記入力バッファメモリより出力された映像信号又は音声信号をフレーム単位で蓄積するフレームメモリと、前記フレームメモリへの読み出しや書き込み制御を行うフレームメモリ制御部と、符号化処理におけるビデオ・バッファリング・ベリファイア（以下、ＶＢＶという）バッファや符号化データ総量を管理する仮想バッファ管理部と、前記再エンコード判断処理部の再エンコード判定情報と前記仮想バッファ管理部のＶＢＶバッファ情報とに従って、所定範囲内の出力ビートレートを保持した状態で高品質の符号化処理を行うためのパラメータ設定値を生成するパラメータ生成部と、前記パラメータ生成部で生成されたパラメータ設定値に従って入力データを符号化するエンコーダと、前記エンコーダより出力された１フレーム分のエンコードデータを蓄積するエンコーダバッファと、前記エンコーダバッファのデータを再エンコード判断処理部の再エンコード判定情報に従って出力するか破棄するかを制御するエンコーダバッファ制御部と、を具備することを特徴とする。
【００２４】
本願の請求項１０の発明は、請求項９のリアルタイムエンコーダ装置において、前記パラメータ生成部は、前記再エンコード判断処理部より与えられた前記再エンコード判定情報に従って、入力データを符号化するためのパラメータ設定値を生成することを特徴とする。
【００２５】
本願の請求項１１の発明は、請求項９のリアルタイムエンコーダ装置において、前記パラメータ生成部は、前記再エンコード判断処理部より出力された再エンコード判定情報が再エンコードを示すとき、前回符号化処理に使用したパラメータを参照し、所定範囲内の出力ビートレートを保持した状態で高品質の符号化処理を行うためのパラメータ設定値を新たに生成することを特徴とする。
【００２６】
本願の請求項１２の発明は、請求項８のリアルタイムエンコーダ装置において、前記入力メモリ制御部は、前記入力バッファメモリの入力データ蓄積量を任意の段階で管理し、その管理情報を前記再エンコード判断処理部に出力する機能を有することを特徴とする。
【００２７】
本願の請求項１３の発明は、請求項８のリアルタイムエンコーダ装置において、前記出力制御タイマー部は、外部から入力された出力クロックと前記出力制御部の出力データのタイミングとより、前記出力制御タイマーを生成する機能を有することを特徴とする。
【００２８】
本願の請求項１４の発明は、請求項８のリアルタイムエンコーダ装置において、前記再エンコード判断処理部は、前記出力制御タイマー部より与えられた出力制御タイマー値と、前記エンコード処理部より与えられた前記仮想バッファ管理情報及び符号化データ総量とから、前記出力バッファメモリの出力データ蓄積量を推定する機能を有することを特徴とする。
【００２９】
本願の請求項１５の発明は、請求項８のリアルタイムエンコーダ装置において、前記再エンコード判断処理部は、前記入力メモリ制御部より出力された入力データ蓄積量の情報と前記出力バッファメモリの推定出力データ蓄積量の情報とに従って、現在のエンコード結果を出力させるコマンドを出力するか、又はバッファメモリの状態情報を出力すると共に再エンコードさせるコマンドを出力するかを判断する機能を有することを特徴とする。
【００３０】
本願の請求項１６の発明は、映像信号の符号化処理を行う映像用リアルタイムエンコーダ部と、前記映像信号と同期して入力される音声信号に対して符号化処理を行う音声用リアルタイムエンコーダ部と、前記映像用リアルタイムエンコーダ部と音声用リアルタイムエンコーダ部と用いて、前記映像信号及び音声信号とに対して並列に符号化処理が行われたとき、前記２系列のエンコードデータを同期保証して多重化するＡＶ結合部と、前記ＡＶ結合部の多重化データを一時的に蓄積する出力バッファメモリと、前記出力バッファメモリより多重化データを読み出すためのタイミングを制御する出力制御部と、を具備することを特徴とする。
【００３１】
本願の請求項１７の発明は、請求項１６のリアルタイムエンコーダ装置において、前記映像用リアルタイムエンコーダ部は、映像信号と音声信号とが同期して入力されるとき、映像信号の入力制御を行う入力制御部と、前記入力制御部を介して入力された映像信号を一時的に蓄積する入力バッファメモリと、前記入力バッファメモリへの読み出しや書き込み制御を行うと共に、前記入力バッファメモリの入力データ蓄積量を管理する入力メモリ制御部と、前記映像信号を再エンコードするか否かを判断するための情報を映像再エンコード判定情報とするとき、前記入力バッファメモリより読み出された映像信号を前記映像再エンコード判定情報に従って符号化すると共に、エンコードデータを出力する一定時刻前に出力オフセットフラグを発生させるエンコード処理部と、出力クロックと前記出力制御部のデータ出力とのタイミングより、出力制御タイマーを生成する出力制御タイマー部と、前記入力メモリ制御部から得られる入力データ蓄積量、前記出力制御タイマー部から得られる出力制御タイマー値、及び前記エンコード処理部の仮想バッファ管理情報より推定される前記出力バッファメモリの出力データ蓄積量に基づいて前記映像再エンコード判定情報を生成し、前記エンコード処理部に与える再エンコード判断処理部と、を具備することを特徴とする。
【００３２】
本願の請求項１８の発明は、請求項１６のリアルタイムエンコーダ装置において、前記音声用リアルタイムエンコーダ部は、映像信号と音声信号とが同期して入力されるとき、音声信号の入力制御を行う入力制御部と、前記入力制御部を介して入力された音声信号を一時的に蓄積する入力バッファメモリと、前記入力バッファメモリへの読み出しや書き込み制御を行うと共に、前記入力バッファメモリの入力データ蓄積量を管理する入力メモリ制御部と、前記音声信号を再エンコードするか否かを判断するための情報を音声再エンコード判定情報とするとき、前記入力バッファメモリより読み出された音声信号を前記音声再エンコード判定情報に従って符号化するエンコード処理部と、出力クロックと前記出力制御部のデータ出力とのタイミングより、出力制御タイマーを生成する出力制御タイマー部と、前記入力メモリ制御部から得られる入力データ蓄積量、前記出力制御タイマー部から得られる出力制御タイマー値、及び前記エンコード処理部の仮想バッファ管理情報より推定される前記出力バッファメモリの出力データ蓄積量に基づいて前記音声の再エンコードをするか否かを判断するか、又は映像のエンコード進捗状況から音声信号を再エンコードするか否かを判断する前記音声再エンコード判定情報を生成し、前記エンコード処理部に与える再エンコード判断処理部と、を具備することを特徴とする。
【００３３】
本願の請求項１９の発明は、請求項１７のリアルタイムエンコーダ装置において、前記エンコード処理部は、前記入力バッファメモリより出力された映像信号又は音声信号をフレーム単位で蓄積するフレームメモリと、前記フレームメモリへの読み出しや書き込み制御を行うフレームメモリ制御部と、符号化処理におけるＶＢＶバッファや符号化データ総量を管理する仮想バッファ管理部と、前記再エンコード判断処理部の再エンコード判定情報と前記仮想バッファ管理部のＶＢＶバッファ情報とに従って、所定範囲内の出力ビットレートを保持した状態で高品質の符号化処理を行うためのパラメータ設定値を生成するパラメータ生成部と、前記パラメータ生成部で生成されたパラメータ設定値に従って入力データを符号化するエンコーダと、前記エンコーダよりエンコードデータが出力される一定時刻前を示す出力オフセットフラグを生成するエンコーダ出力オフセットフラグ部と、前記エンコーダより出力された１フレーム分のエンコード結果を蓄積するエンコーダバッファと、前記エンコーダバッファのデータを再エンコード判断処理部の再エンコード判定情報に従って出力するか破棄するかを制御するエンコーダバッファ制御部と、を具備することを特徴とする。
【００３４】
本願の請求項２０の発明は、請求項１８のリアルタイムエンコーダ装置において、前記再エンコード判断処理部は、前記映像のエンコード処理部から与えられる出力オフセットフラグを用いて映像のエンコード推進状況を把握し、音声信号を再エンコードするか否かを判断するための音声再エンコード判定情報を前記出力バッファメモリの状態情報と共に出力するか、又は既に得られたエンコードデータを出力させるための音声再エンコード判定情報を出力する機能を具備することを特徴とする。
【００３５】
本願の請求項２１の発明は、請求項１６のリアルタイムエンコーダ装置において、前記ＡＶ結合部は、１フレーム分の映像のエンコードデータを蓄積する映像エンコーダメモリと、１フレーム分相当の音声のエンコードデータを蓄積する音声エンコーダメモリと、映像信号と音声信号の同期を保持するよう前記映像エンコーダメモリ及び前記音声エンコーダメモリのデータ読み出しを制御するＡＶ同期管理部と、前記映像エンコーダメモリ及び前記音声エンコーダメモリから出力された映像及び音声のエンコーダデータを多重化するＡＶ多重化処理部と、を具備することを特徴とする。
【００３６】
本願の請求項２２の発明は、映像信号の符号化処理を行う映像用リアルタイムエンコーダ部と、前記映像信号とは独立して入力された音声信号に対して符号化処理を行う音声用リアルタイムエンコーダ部と、前記映像信号又は前記音声信号を再エンコードするか否かを判断するための情報を再エンコード判定情報とするとき、前記映像用リアルタイムエンコーダ部及び前記音声用リアルタイムエンコーダ部の少なくとも一方に対して再エンコード判定指示を与えるＡＶ選択処理部と、前記映像用リアルタイムエンコーダ部と前記音声用リアルタイムエンコーダ部と用いて、映像信号及び音声信号とに対して符号化処理が並列に行われたとき、前記２系列のエンコードデータを多重化するＡＶ結合部と、前記ＡＶ結合部の多重化データを一時的に蓄積する出力バッファメモリと、前記出力バッファメモリより多重化データを読み出すためのタイミングを制御する出力制御部と、を具備することを特徴とする。
【００３７】
本願の請求項２３の発明は、請求項２２のリアルタイムエンコーダ装置において、前記映像用リアルタイムエンコーダ部は、映像信号の入力制御を行う入力制御部と、前記入力制御部を介して入力された映像信号を一時的に蓄積する入力バッファメモリと、前記入力バッファメモリへの読み出しや書き込み制御を行うと共に、前記入力バッファメモリの入力データ蓄積量を管理する入力メモリ制御部と、前記映像信号を再エンコードするか否かを判断するための情報を映像再エンコード判定情報とするとき、前記入力バッファメモリより読み出された映像信号を前記映像再エンコード判定情報に従って符号化するエンコード処理部と、出力クロックと前記出力制御部のデータ出力とのタイミングより、出力制御タイマーを生成する出力制御タイマー部と、前記入力メモリ制御部から得られる入力データ蓄積量、前記出力制御タイマー部から得られる出力制御タイマー値、前記エンコード処理部の仮想バッファ管理情報より推定される前記出力バッファメモリの出力データ蓄積量、及び前記ＡＶ選択処理部からの映像再エンコード判定に基づいて前記映像再エンコード判定情報を生成し、前記エンコード処理部に与える再エンコード判断処理部と、を具備することを特徴とする。
【００３８】
本願の請求項２４の発明は、請求項２２のリアルタイムエンコーダ装置において、前記音声用リアルタイムエンコーダ部は、音声信号の入力制御を行う入力制御部と、前記入力制御部を介して入力された音声信号を一時的に蓄積する入力バッファメモリと、前記入力バッファメモリへの読み出しや書き込み制御を行うと共に、前記入力バッファメモリの入力データ蓄積量を管理する入力メモリ制御部と、前記音声信号を再エンコードするか否かを判断するための情報を音声再エンコード判定情報とするとき、前記入力バッファメモリより読み出された音声信号を前記音声再エンコード判定情報に従って符号化するエンコード処理部と、出力クロックと前記出力制御部のデータ出力とのタイミングより、出力制御タイマーを生成する出力制御タイマー部と、前記入力メモリ制御部から得られる入力データ蓄積量、前記出力制御タイマー部から得られる出力制御タイマー値、前記エンコード処理部の仮想バッファ管理情報より推定される前記出力バッファメモリの出力データ蓄積量、及び前記ＡＶ選択処理部からの音声再エンコード判定に基づいて前記音声再エンコード判定情報を生成し、前記エンコード処理部に与える再エンコード判断処理部と、を具備することを特徴とする。
【００３９】
本願の請求項２５の発明は、請求項２３又は２４のリアルタイムエンコーダ装置において、前記再エンコード判断処理部は、前記ＡＶ選択処理部の選択状況から映像信号及び音声信号のいずれを再エンコードするか否かを判断する機能と、前記入力バッファメモリの入力データ蓄積量と前記出力バッファメモリの推定出力データ蓄積量とに従って、既に得られたエンコードデータを前記出力バッファメモリの状態情報と共に出力させるか、又は再エンコードさせるかを判断する機能と、を有することを特徴とする。
【００４０】
本願の請求項２６の発明は、請求項２２のリアルタイムエンコーダ装置において、前記ＡＶ結合部は、入力された映像信号と音声信号が同期している場合、１フレーム分の映像のエンコードデータを蓄積する映像エンコーダメモリと、１フレーム分相当の音声のエンコードデータを蓄積する音声エンコーダメモリと、映像信号と音声信号の同期を保持するよう前記映像エンコーダメモリ及び前記音声エンコーダメモリのデータ読み出しを制御するＡＶ同期管理部と、前記映像エンコーダメモリ及び前記音声エンコーダメモリから出力された映像及び音声のエンコーダデータを多重化するＡＶ多重化処理部と、を具備することを特徴とする。
【００４１】
本願の請求項２７の発明は、映像信号の符号化処理を行う映像用リアルタイムエンコーダ部と、前記映像信号と個別に入力される音声信号に対して符号化処理を行う音声用リアルタイムエンコーダ部と、前記映像用リアルタイムエンコーダ部と音声用リアルタイムエンコーダ部と用いて、符号化処理が行われたとき、前記２系列のエンコードデータを同期保証して結合するＡＶ結合部と、前記ＡＶ結合部の多重化データを一時的に蓄積する出力バッファメモリと、前記映像信号又は前記音声信号を再エンコードするか否かを判断するための情報を再エンコード判定情報とするとき、前記映像用リアルタイムエンコーダ部及び前記音声用リアルタイムエンコーダ部の少なくとも一方に対して再エンコード判定指示を与えると共に、前記出力バッファメモリの出力データ蓄積量を管理する出力メモリ制御部と、前記出力バッファメモリより多重化データを読み出すためのタイミングを制御する出力制御部と、を具備することを特徴とする。
【００４２】
本願の請求項２８の発明は、請求項２７のリアルタイムエンコーダ装置において、前記映像用リアルタイムエンコーダ部は、映像信号と音声信号とが同期して入力されるとき、映像信号の入力制御を行う入力制御部と、前記入力制御部を介して入力された映像信号を一時的に蓄積する入力バッファメモリと、前記入力バッファメモリへの読み出しや書き込み制御を行うと共に、前記入力バッファメモリの入力データ蓄積量を管理する入力メモリ制御部と、前記映像信号を再エンコードするか否かを判断するための情報を映像再エンコード判定情報とするとき、前記入力バッファメモリより読み出された映像信号を前記映像再エンコード判定情報に従って符号化すると共に、エンコードデータを出力する一定時刻前に出力オフセットフラグを発生させるエンコード処理部と、前記入力メモリ制御部から得られる入力データ蓄積量、及び前記出力メモリ制御部から得られる出力データ蓄積量に基づいて前記映像再エンコード判定情報を生成し、前記エンコード処理部に与える再エンコード判断処理部と、を具備することを特徴とする。
【００４３】
本願の請求項２９の発明は、請求項２７のリアルタイムエンコーダ装置において、前記音声用リアルタイムエンコーダ部は、映像信号と音声信号とが同期して入力されるとき、音声信号の入力制御を行う入力制御部と、前記入力制御部を介して入力された音声信号を一時的に蓄積する入力バッファメモリと、前記入力バッファメモリへの読み出しや書き込み制御を行うと共に、前記入力バッファメモリの入力データ蓄積量を管理する入力メモリ制御部と、前記音声信号を再エンコードするか否かを判断するための情報を音声再エンコード判定情報とするとき、前記入力バッファメモリより読み出された音声信号を前記音声再エンコード判定情報に従って符号化するエンコード処理部と、前記入力メモリ制御部から得られる入力データ蓄積量、及び前記出力メモリ制御部から得られる出力データ蓄積量に基づいて前記音声の再エンコードするか否かを判断するか、又は映像のエンコード進捗状況から音声信号を再エンコードするか否かを判断する再エンコード判定情報を生成し、前記エンコード処理部に与える再エンコード判断処理部と、を具備することを特徴とする。
【００４４】
本願の請求項３０の発明は、映像信号の符号化処理を行う映像用リアルタイムエンコーダ部と、前記映像信号とは独立に入力された音声信号に対して符号化処理を行う音声用リアルタイムエンコーダ部と、前記映像信号又は前記音声信号を再エンコードするか否かを判断するための情報を再エンコード判定情報とするとき、前記映像用リアルタイムエンコーダ部及び前記音声用リアルタイムエンコーダ部の少なくとも一方に対して再エンコード判定指示を与えるＡＶ選択処理部と、前記映像用リアルタイムエンコーダ部と前記音声用リアルタイムエンコーダ部と用いて、映像信号及び音声信号とに対して符号化処理が並列に行われたとき、前記２系列のエンコードデータを多重化するＡＶ結合部と、前記ＡＶ結合部の多重化データを一時的に蓄積する出力バッファメモリと、前記出力バッファメモリより多重化データを読み出すためのタイミングを制御する出力制御部と、を具備することを特徴とする。
【００４５】
本願の請求項３１の発明は、請求項３０のリアルタイムエンコーダ装置において、前記映像用リアルタイムエンコーダ部は、映像信号と音声信号とが同期して入力されるとき、映像信号の入力制御を行う入力制御部と、前記入力制御部を介して入力された映像信号を一時的に蓄積する入力バッファメモリと、前記入力バッファメモリへの読み出しや書き込み制御を行うと共に、前記入力バッファメモリの入力データ蓄積量を管理する入力メモリ制御部と、前記映像信号を再エンコードするか否かを判断するための情報を映像再エンコード判定情報とするとき、前記入力バッファメモリより読み出された映像信号を前記映像再エンコード判定情報に従って符号化すると共に、エンコードデータを出力する一定時刻前にフラグを発生させるエンコード処理部と、前記入力メモリ制御部から得られる入力データ蓄積量、及び前記出力メモリ制御部から得られる出力データ蓄積量に基づいて前記映像再エンコード判定情報を生成し、前記エンコード処理部に与える再エンコード判断処理部と、を具備することを特徴とする。
【００４６】
本願の請求項３２の発明は、請求項３０のリアルタイムエンコーダ装置において、前記音声用リアルタイムエンコーダ部は、映像信号と音声信号とが同期して入力されるとき、音声信号の入力制御を行う入力制御部と、前記入力制御部を介して入力された音声信号を一時的に蓄積する入力バッファメモリと、前記入力バッファメモリへの読み出しや書き込み制御を行うと共に、前記入力バッファメモリの入力データ蓄積量を管理する入力メモリ制御部と、前記音声信号を再エンコードするか否かを判断するための情報を音声再エンコード判定情報とするとき、前記入力バッファメモリより読み出された音声信号を前記音声再エンコード判定情報に従って符号化するエンコード処理部と、前記入力メモリ制御部から得られる入力データ蓄積量、及び前記出力メモリ制御部から得られる出力データ蓄積量に基づいて前記音声の再エンコードするか否かを判断するか、又は映像のエンコード進捗状況から音声信号を再エンコードするか否かを判断する再エンコード判定情報を生成し、前記エンコード処理部に与える再エンコード判断処理部と、を具備することを特徴とする。
【００４７】
本願の請求項３３の発明は、請求項３１又は３２のリアルタイムエンコーダ装置において、前記再エンコード判断処理部は、前記ＡＶ選択処理部の選択状況から映像信号及び音声信号のいずれを再エンコードするか否かを判断する機能と、前記入力バッファメモリの入力データ蓄積量と前記出力バッファメモリの推定出力データ蓄積量とに従って、既に得られたエンコードデータを前記出力バッファメモリの状態情報と共に出力させるか、又は再エンコードさせるかを判断する機能と、を有することを特徴とする。
【００４８】
【発明の実施の形態】
以下、本発明の各実施の形態におけるリアルタイムエンコーダ装置について、図面を参照しながら説明する。
【００４９】
（実施の形態１）
先ず本発明の実施の形態１におけるリアルタイムエンコーダ装置について説明する。図１は、本発明の実施の形態１におけるリアルタイムエンコーダ装置の全体構成図である。図１において、入力制御部１０１はリアルタイムエンコーダ装置の入力素材である映像信号や音声信号の入力制御を行うものである。入力バッファメモリ１０２は入力された映像信号や音声信号を一時的に蓄積するものである。入力メモリ制御部１０３は入力バッファメモリ１０２への読み出しや書き込み制御を行うと共に、入力バッファメモリ１０２のバッファ蓄積量を管理するものである。エンコード処理部１０４は入力バッファメモリ１０２より読み出された映像信号や音声信号を再エンコード判断処理部１０５の結果に従って符号化するものである。出力バッファメモリ１０６はエンコード処理部１０４の処理結果であるエンコードデータを一時的に蓄積するものである。出力メモリ制御部１０７は出力バッファメモリ１０６への読み出しや書き込み制御を行うと共に、出力バッファメモリ１０６のバッファ蓄積量を管理するものである。出力制御部１０８は出力バッファメモリ１０６よりデータを読み出すタイミングを制御するものである。再エンコード判断処理部１０５は、入力メモリ制御部１０３と出力メモリ制御部１０７から得られるバッファ蓄積量の情報、即ち入力データ蓄積量及び出力データ蓄積量から、映像信号や音声信号を再エンコードするか否かを判定する指示、即ち再エンコード判断結果をエンコード処理部１０４に出力するものである。
【００５０】
以上のような構成のリアルタイムエンコーダ装置について、その動作を説明する。入力制御部１０１に対して、映像信号は通常フレーム同期で入力され、音声信号は連続的に入力されてくる。入力制御部１０１はそれぞれの入力信号に従って、入力バッファメモリ１０２に入力するためにバス幅の変換などを行う。
【００５１】
入力メモリ制御部１０３は、入力制御部１０１より出力されたデータに対して、入力バッファメモリ１０２への書き込みの制御と、読み出しの制御とを行う。また、入力メモリ制御部１０３は、入力バッファメモリ１０２の入力データ蓄積量又はデータ空き容量を管理しており、例えば入力データ蓄積量が０から３０％のときは「バッファの空き容量は十分な余裕あり」、３０から６０％のときは「通常」、６０から９０％の時は「バッファの空き容量に十分な余裕がない」といったように、データ蓄積量の状態を管理し、その結果を再エンコード判断処理部１０５に通知する。
【００５２】
図２にエンコード処理部１０４の構成を示す。フレームメモリ２０１は入力バッファメモリ１０２より出力された映像信号や音声信号を例えばフレーム単位（固定サイズ）で蓄積するものである。フレームメモリ制御部２０２はフレームメモリ２０１への読み出しや書き込み制御を行うものである。エンコーダ２０３はパラメータ生成部２０４で生成されたパラメータ設定値に従ってデータを符号化するものである。パラメータ生成部２０４は、再エンコード判断処理部１０５の判定結果と、仮想バッファ管理部２０５のＶＢＶバッファ情報に従って、エンコーダにおいて最適な符号化処理、即ち所定範囲内の出力ビートレートを保持した状態で高品質の符号化処理を行うためのパラメータ設定値を生成するものである。仮想バッファ管理部２０５はＶＢＶバッファや符号化データ総量などを管理するものである。エンコーダバッファ２０６はエンコーダ２０３より出力された１フレーム分のデータ（エンコードデータ）を蓄積するものである。エンコーダバッファ制御部２０７はエンコーダバッファ２０６のデータを、再エンコード判断処理部１０５の判定結果に従って送出するか、破棄するかを制御するものである。
【００５３】
このような構成のエンコード処理部１０４の動作を説明する。再エンコード判断処理部１０５の判定結果は、「再エンコードコマンド」と、「エンコード結果出力コマンド」との２種類がある。フレームメモリ制御部２０２は、再エンコード判断処理部１０５の判定結果が「再エンコードコマンド」の場合、一度エンコーダ２０３に出力したフレーム単位のデータを再びエンコーダ２０３に与える。一方、再エンコード判断処理部１０５の判定結果が「エンコード結果出力コマンド」の場合、先にエンコーダ２０３に出力したフレーム単位のデータを破棄し、連続する新たなフレーム単位のデータをエンコーダ２０３に与える。
【００５４】
パラメータ生成部２０４は、再エンコード判断処理部１０５の判定結果が「再エンコードコマンド」の場合、一度エンコードした際のパラメータ設定値を参照し、より高品位な符号化結果を得られるようにパラメータ設定値を生成する。一方、再エンコード判断処理部１０５の判定結果が「エンコード結果出力コマンド」の場合、入力バッファメモリ１０２と出力バッファメモリ１０６の状態を考慮したパラメータ設定値を生成する。例えば、入力バッファメモリ１０２の空き容量に十分な余裕がない場合、メモリのオーバーフローを防ぐために、データを早く読み出す必要がある。つまり、１フレーム分のエンコーダ処理が早くできるようなパラメータ設定値を生成する。
【００５５】
また、出力バッファメモリ１０６の蓄積量が十分でない場合、リアルタイム性を保証するために、出力バッファメモリ１０６がアンダーフローしないように、１フレーム分のエンコーダ処理が早くできるようなパラメータ設定値を生成する。なお、リアルタイム性を保証することが優先されるため、出力バッファメモリ１０６の状態がパラメータ設定値の生成に大きく影響する。
【００５６】
入力バッファメモリ１０２及び出力バッファメモリ１０６の状態（状態情報）とは、入力バッファメモリ１０２のデータ空き容量と、出力バッファメモリ１０６のデータ蓄積量を意味する。
【００５７】
エンコード処理部１０４の仮想バッファ管理部２０５は、リアルタイム性を保証するために出力バッファメモリ１０６のデータ蓄積量を考慮しながらＶＢＶバッファとデータ総量の管理を行っている。つまり、ＶＢＶバッファを管理する際に、出力制御部１０８の出力データが一定間隔（時間間隔）であることを考慮しないとすると、出力バッファメモリ１０６がアンダーフローすることになる。
【００５８】
図１の出力メモリ制御部１０７は、エンコード処理部１０４のエンコーダバッファ２０６より出力されたデータに対し、出力バッファメモリ１０６への書き込みと読み出しの制御を行う。また、出力メモリ制御部１０７は、出力バッファメモリ１０６のデータ蓄積量を管理しており、例えば出力データ蓄積量が０から３０％のときは「バッファの蓄積量に十分な余裕がない」とし、３０から６０％のときは「通常」であるとし、６０から９０％のときは「バッファの蓄積量に十分な余裕がある」とする。このように出力メモリ制御部１０７は出力データ蓄積量を管理し、その状態情報を再エンコード判断処理部１０５に出力する。
【００５９】
再エンコード判断処理部１０５の処理手順を図３のフローチャートで示す。入力バッファ量判定ステップ３０１では、入力バッファメモリ１０２の空き容量を調べ、調査結果であるバッファ蓄積量、即ち入力データ蓄積量の情報が「空き容量が十分でない」ことを示す場合と「通常」であることを示す場合は、エンコード結果出力コマンド生成ステップ３０２に移る。このとき入力バッファメモリ１０２の状態情報を出力する。一方、入力メモリ制御部１０３より出力されたバッファ蓄積量情報が「空き容量が十分である」ことを示す場合、出力バッファ量判定ステップ３０３に移る。
【００６０】
出力バッファ量判定ステップ３０３では、出力バッファメモリ１０６の空き容量を調べ、調査結果であるバッファ蓄積量、即ち出力データ蓄積量の情報が「蓄積量が十分でない」ことを示す場合と「通常」であることを示す場合、出力バッファメモリ１０６の状態情報を出力し、エンコード結果出力コマンド生成ステップ３０２に移る。一方、出力メモリ制御部１０７より出力された出力データ蓄積量の情報が「蓄積量が十分である」ことを示す場合、再エンコード指示コマンド生成ステップ３０４に移る。
【００６１】
再エンコード指示コマンド生成ステップ３０４では、エンコードデータを更に高品位化するために、最適なパラメータ設定で再びエンコードをする指示コマンド、即ち「再エンコードコマンド」をエンコード処理部１０４に通知する。
【００６２】
また、エンコーダ結果出力コマンド生成ステップ３０２では、入力バッファメモリ１０２の状態情報、又は出力バッファメモリ１０６の状態情報と、エンコードデータを出力する指示コマンド、即ち「エンコード結果出力コマンド」をエンコード処理部１０４に通知する。
【００６３】
出力バッファメモリ１０６はエンコード処理部１０４の出力を一時的に蓄積している。出力制御部１０８は、ＣＢＲ出力の場合、一定の間隔で一定量のデータを出力バッファメモリ１０６より出力するための制御を行う。
【００６４】
このような本実施の形態によれば、リアルタイム性を保証しながらバッファのデータ蓄積量に応じて再エンコードすることにより、高品位の符号化を行うリアルタイムエンコーダ装置を実現できる。
【００６５】
（実施の形態２）
次に本発明の実施の形態２におけるリアルタイムエンコーダ装置について説明する。図４は本実施の形態におけるリアルタイムエンコーダ装置の全体構成図である。入力制御部４０１は入力素材である映像信号や音声信号の制御を行うものである。入力バッファメモリ４０２は入力された映像信号や音声信号を一時的に蓄積するものである。入力メモリ制御部４０３は入力バッファメモリ４０２への読み出しや書き込み制御を行うと共に、入力バッファメモリ４０２の入力データ蓄積量を管理するものである。エンコード処理部４０４は入力バッファメモリ４０２より読み出された映像信号や音声信号をエンコーダ判断処理部４０５の判断結果に従って符号化するものである。出力バッファメモリ４０６はエンコード処理部４０４のエンコードデータを一時的に蓄積するものである。出力制御部４０８は出力バッファメモリ４０６よりエンコードデータを読み出すタイミングを制御するものである。出力制御タイマー部４０７は、外部から与えられた出力ＣＬＫ（出力クロック）、出力制御部４０８のデータ出力のタイミングとよりタイマーを生成するものである。再エンコード判断処理部４０５は、入力メモリ制御部４０３から通知された入力データ蓄積量と、出力制御タイマー部４０７の出力制御タイマー値と、エンコード処理部４０４の仮想バッファ管理情報より推定される出力バッファメモリ４０６の出力データ蓄積量とから、映像信号や音声信号を再エンコードするか否かを判定するものである。
【００６６】
以上のような構成のリアルタイムエンコーダ装置について、その動作を説明する。入力制御部４０１に入力される映像信号は通常フレーム同期で入力され、音声信号は連続的に入力される。入力制御部４０１はそれぞれの入力信号に従って、入力バッファメモリ４０２に入力するためにバス幅の変換などを行う。
【００６７】
入力メモリ制御部４０３は、入力制御部４０１より出力された信号に対して、入力バッファメモリ４０２への書き込みと読み出し制御を行う。また、入力メモリ制御部４０３では、入力バッファメモリ４０２の入力データ蓄積量を管理しており、例えばデータ蓄積量が０から３０％のときは「バッファの空き容量は十分な余裕あり」と判定し、３０から６０％のときは「通常」であると判定し、６０から９０％のときは「バッファの空き容量に十分な余裕がない」と判定する。このように入力メモリ制御部４０３は、入力バッファメモリ４０２の入力データ蓄積量を管理し、その結果を再エンコード判断処理部４０５に通知する。
【００６８】
エンコード処理部４０４は、図２に示すものと構成が同一であるので、各構成要素の説明は省略する。エンコード処理部４０４についてその動作を説明する。図２のフレームメモリ制御部２０２は、再エンコード判断処理部４０５の判定結果が「再エンコードコマンド」の場合、一度エンコーダ２０３に出力したフレーム単位のデータを再びエンコーダ２０３に与える。一方、再エンコード判断処理部４０５の判定結果が「エンコード結果出力コマンド」の場合、エンコーダ２０３に出力したフレーム単位のデータを破棄し、連続する新たなフレーム単位のデータをエンコーダ２０３に与える。
【００６９】
エンコード処理部４０４のパラメータ生成部２０４は、再エンコード判断処理部４０５の判定結果が「再エンコードコマンド」の場合、一度エンコーダ２０３でエンコードした際のパラメータ設定値を参照し、より高品位な符号化結果を得られるようにパラメータ設定値を再生成する。一方、再エンコード判断処理部４０５の判定結果が「エンコード結果出力コマンド」の場合、入力バッファメモリ４０２と出力バッファメモリ４０６の状態を考慮したパラメータ設定値を生成する。
【００７０】
エンコード処理部４０４の仮想バッファ管理部２０５は、リアルタイム性を保証するために出力バッファメモリ４０６のデータ蓄積量を考慮しながらＶＢＶバッファの管理とデータ総量の管理を行っている。図４の出力制御タイマー部４０７は、外部から入力された出力ＣＬＫと、出力制御部４０８からのデータ出力のタイミングとを用いて、内部でタイマーカウンタを生成し、そのタイマー値を再エンコード判定処理部４０５に出力する。
【００７１】
再エンコード判断処理部４０５での処理手順を、図５のフローチャートに示す。入力バッファ量判定ステップ５０１では、入力バッファメモリ４０２の入力データ蓄積量の情報が「空き容量が十分でない」を示す場合、又は「通常」を示す場合、入力バッファメモリの状態情報を出力し、エンコード結果出力コマンド生成ステップ５０２に移る。一方、入力バッファ量判定ステップ５０１より出力された入力データ蓄積量の情報が「空き容量が十分である」を示す場合、推定出力バッファ量判定ステップ５０３に移る。
【００７２】
推定出力バッファ量判定ステップ５０３では、出力制御タイマー部４０７より与えられたタイマー値と、エンコード処理部４０４より出力されたＶＢＶバッファ情報及び符号化データ総量とから、出力バッファメモリ４０６のデータ蓄積量を推定する。例えば、ＣＢＲ出力の場合、データタイマー値がインクリメントされるごとに固定量のデータが出力されるので、出力バッファメモリ４０６より出力したデータ総量値と、エンコード処理部４０４から出力されたエンコードデータの総量値とより、出力バッファメモリ４０６のデータ蓄積量を推定できる。推定した出力バッファメモリ４０６のデータ蓄積量が、０から３０％を示すときは「バッファの蓄積量に十分な余裕がない」と判定し、３０から６０％のときは「通常」であると判定し、６０から９０％のときは「バッファの蓄積量に十分な余裕がある」と判定する。このようにバッファ蓄積量の状態を管理しており、その結果、「バッファ蓄積量が十分でない」と判定された場合と、「通常」と判定された場合は、出力バッファの状態情報を出力し、エンコード結果出力コマンド生成ステップ５０２に移る。一方、「バッファ蓄積量が十分である」と判定された場合、再エンコード指示コマンド生成ステップ５０４に移る。
【００７３】
再エンコード指示コマンド生成ステップ５０４では、エンコードデータをより高品位化するために、最適なパラメータ設定で再びエンコードをする指示コマンド、即ち「再エンコードコマンド」をエンコード処理部４０４に出力する。また、エンコーダ結果出力コマンド生成ステップ５０２では、入力バッファの状態情報、または出力バッファの状態情報を出力し、エンコードデータを出力するコマンド、即ち「エンコード結果出力コマンド」をエンコード処理部４０４に出力する。出力バッファメモリ４０６はエンコーダ２０３のエンコードデータを一時的に蓄積している。出力制御部４０８は、ＣＢＲ出力の場合、一定の間隔で一定量のデータを出力バッファメモリ４０６より出力する制御を行う。
【００７４】
以上のように本実施の形態によれば、リアルタイム性を保証しながらバッファのデータ蓄積量に応じて再エンコードすることにより、高品位の符号化を行うリアルタイムエンコーダ装置を実現できる。
【００７５】
（実施の形態３）
次に本発明の実施の形態３におけるリアルタイムエンコーダ装置について説明する。図６は本実施の形態におけるリアルタイムエンコーダ装置の全体構成図である。本実施の形態におけるリアルタイムエンコーダ装置は、実施の形態２で示したリアルタイムエンコーダ装置に対し、同期している映像信号と音声信号を別々に入力することを特徴とする。つまり、このリアルタイムエンコーダ装置は機能的に、映像用のリアルタイムエンコーダ部と、音声用のリアルタイムエンコーダ部とから構成される。
【００７６】
まず映像用のリアルタイムエンコーダ部の構成について説明する。入力制御部６０１は映像信号と音声信号が同期して入力される場合、映像信号の入力制御を行うものである。入力バッファメモリ６０２は入力された映像信号を一時的に蓄積するものである。入力メモリ制御部６０３は、入力バッファメモリ６０２への読み出しや書き込み制御を行うと共に、入力バッファメモリ６０２の入力データ蓄積量を管理するものである。エンコード処理部６０４は、入力バッファメモリ６０２より読み出された映像信号を再エンコード判断処理部６０５の判定結果に従って符号化すると共に、エンコードデータを出力する一定時刻前にフラグを発生するものである。このフラグを出力オフセットフラグという。出力制御タイマー部６０７は、出力ＣＬＫと出力制御部６０９のデータ出力のタイミングとより、タイマーを生成するものである。再エンコード判断処理部６０５は、入力メモリ制御部６０３の入力データ蓄積量の情報と、出力制御タイマー部６０７の出力制御タイマー値と、エンコード処理部６０４の仮想バッファ管理情報より推定される出力バッファメモリ６０８の出力データ蓄積量とから、映像信号を再エンコードするか否かを判断するものである。
【００７７】
次に、音声用のリアルタイムエンコーダ部の構成について説明する。入力制御部６１０は映像信号と音声信号が同期して入力される場合、音声信号の入力制御を行うものである。入力バッファメモリ６１１は入力された音声信号を一時的に蓄積するものである。入力メモリ制御部６１２は、入力バッファメモリ６１１への読み出しや書き込み制御を行うと共に、入力バッファメモリ６１１の入力データ蓄積量を管理するものである。エンコード処理部６１３は入力バッファメモリ６１１より読み出された音声をエンコード判断処理部６１４の判定結果に従って符号化するものである。出力制御タイマー部６１５は、出力ＣＬＫと、出力制御部６０９のデータ出力のタイミングとよりタイマー値を生成するものである。再エンコード判断処理部６１４は、入力メモリ制御部６１２の入力データ蓄積量の情報と、出力制御タイマー部６１５の出力制御タイマー値と、エンコード処理部６１３の仮想バッファ管理情報とより推定される出力バッファメモリ６０８の出力データ蓄積量と、エンコード処理部６０４より得られる映像信号のエンコーダの進捗状況とから、音声信号の再エンコードを行うか否かを判断するものである。
【００７８】
ＡＶ結合部６０６は映像のエンコードデータと音声のエンコーダデータを同期保証して結合させるものである。出力バッファメモリ６０８は、ＡＶ結合部６０６で結合された多重化データを一時的に蓄積するものである。出力制御部６０９は出力バッファメモリ６０８より多重化データを読み出すタイミングを制御するものである。
【００７９】
以下、本実施の形態のリアルタイムエンコーダ装置において、実施の形態２と異なる処理動作についてのみ説明する。映像用エンコーダの動作については、エンコード処理部６０４とＡＶ結合部６０６を除き、実施の形態２と同じ動作が実行される。また音声用エンコーダの動作については、ＡＶ結合部６０６と再エンコード判断処理部６１４の動作が異なるため、エンコード処理部６０４とＡＶ結合部６０６と再エンコード判断処理部６１４についてその動作を詳細に説明する。
【００８０】
図７はエンコード処理部６０４（又は６１３）の構成図である。フレームメモリ１５０１は入力バッファメモリ６０２（又は６１１）より出力された映像信号又は音声信号を例えばフレーム単位（固定サイズ）で蓄積するものである。フレームメモリ制御部１５０２はフレームメモリ１５０１への読み出しや書き込み制御を行うものである。エンコーダ１５０３はパラメータ生成部１５０５で生成されたパラメータ設定値に従ってデータを符号化すると共に、エンコードデータを出力する一定時刻前にフラグ（出力オフセットフラグ）を発生させるものである。エンコーダ出力オフセットフラグ部１５０４は、エンコードデータを出力する一定時刻前のフラグを受信し、音声側のエンコーダにそのフラグを送信するものである。パラメータ生成部１５０５は、再エンコード判断処理部６０５（又は６１４）の判定結果と仮想バッファ管理部１５０６のＶＢＶバッファ情報に従って、エンコーダ１５０３において最適な符号化処理を行うためのパラメータ設定値を生成するものである。仮想バッファ管理部１５０６はＶＢＶバッファや符号化データ総量などを管理するものである。エンコーダバッファ１５０７はエンコーダ１５０３より出力された１フレーム分のエンコードデータを蓄積するものである。エンコーダバッファ制御部１５０８はエンコーダバッファ１５０７のデータを再エンコード判断結果に従って送出するか破棄するかを制御するものである。
【００８１】
このような構成のエンコード処理部６０４について、その動作を説明する。図７のフレームメモリ制御部１５０２は、再エンコード判断処理部６０５の判定結果が「再エンコードコマンド」の場合、一度エンコーダ１５０３に出力したフレーム単位のデータを再びエンコーダ１５０３に与える。一方、再エンコード判断処理部６０５の判定結果が「エンコード結果出力コマンド」の場合、エンコーダ１５０３に出力したフレーム単位のデータを破棄し、連続する新たなフレーム単位のデータをエンコーダ１５０３に与える。
【００８２】
パラメータ生成部１５０５は、再エンコード判断処理部６０５の判定結果が「再エンコードコマンド」の場合、一度エンコーダ１５０３でエンコードした際のパラメータ設定値を参照し、より高品位な符号化結果を得られるようにパラメータ設定値を生成する。一方、再エンコード判断処理部６０５の判定結果が「エンコード結果出力コマンド」の場合、入力バッファメモリ６０２と出力バッファメモリ６０８のデータ蓄積量の状態を考慮したパラメータ設定値を生成する。
【００８３】
仮想バッファ管理部１５０６は、リアルタイム性を保証するために出力バッファメモリ６０８の出力データ蓄積量を考慮しながら、ＶＢＶバッファとデータ総量の管理を行う。
【００８４】
図８はＡＶ結合部６０６の構成図である。フレームメモリ７０１（映像エンコーダメモリ）は１フレーム分の映像のエンコードデータを蓄積するものである。フレーム単位メモリ７０２（音声エンコーダメモリ）は１フレーム分相当の音声のエンコードデータを蓄積するものである。ＡＶ同期管理部７０３は、映像信号と音声信号の同期を管理し、同期を保証しながらＡＶ多重化処理部７０４へ映像と音声のエンコードデータを出力するものである。通常、映像信号と音声信号のエンコーダ処理を同時に行った場合、情報量の違いから音声のエンコードデータの方が早く音声エンコーダメモリに書き込まれる状態となる。このため、映像のエンコードデータがフレームメモリ７０１に書き込まれる状態を待って、双方がそろった時点で同期を合わせて同期保証をする。ＡＶ多重化処理部７０４はＡＶ管理部７０３より出力された映像と音声のエンコードデータを多重化するものである。
【００８５】
再エンコード判断処理部６１４の動作について、図９のフローチャートを用いて説明する。映像出力タイマー判定ステップ８０１では、映像側のエンコード処理部６０４より出力されたエンコードデータの出力の一定時刻前を示すフラグ、即ち出力オフセットフラグが立っているか否かを判定する。この出力オフセットフラグとは、入力された１フレーム分の映像信号の符号化に要する時間から、１フレーム分相当の音声信号の符号化に要する時間＋αだけ差し引いた時間の経過を示すフラグである。このフラグが立っている場合、エンコード結果出力コマンド生成ステップ８０２に移る。一方、このフラグが立っていない場合、入力バッファ量判定ステップ８０３と推定出力バッファ量判定ステップ８０４へは移らないで、直接再エンコード指示コマンド生成ステップ８０５に移る。つまり、通常同期している映像信号と音声信号の符号化処理を同時に実行した場合、データ量の違いから一般的に音声信号の符号化処理の方が早く完了する。しかし、同期していた映像信号と音声信号のエンコードデータは、互いに同期させることが多い。そこで本実施の形態では、処理速度の違いに注目し、映像信号のエンコードデータが出てくるまでに、音声側に対して複数回エンコード処理を行うことによって、より高品位な音声の符号化結果を得る。
【００８６】
また、入力バッファ量判定ステップ８０３と推定出力バッファ量判定ステップ８０４におけるデータ蓄積量の情報は、映像側で管理している結果と同じなので、音声側は映像側のエンコーダより出力される出力オフセットフラグだけで再エンコードするか否かを判断しても、同様の結果が得られる。
【００８７】
以上のように本実施の形態のリアルタイムエンコーダ装置によれば、実施の形態２の機能に加え、リアルタイム性を保証しながら、バッファの蓄積量に従って再エンコードしたり、又は映像側のエンコーダの出力オフセットフラグに基づいて音声を再エンコードすることにより、高品位の符号化を実現することができる。
【００８８】
（実施の形態４）
次に本発明の実施の形態４におけるリアルタイムエンコーダ装置について説明する。図１０は本実施の形態におけるリアルタイムエンコーダ装置の全体構成図である。本実施の形態のリアルタイムエンコーダ装置は、実施の形態２で示したリアルタイムエンコーダ装置に対し、映像と音声を個別に入力する構成を有している。
【００８９】
まず、映像用のリアルタイムエンコーダ部の構成について説明する。入力制御部９０１は映像信号の入力制御を行うものである。入力バッファメモリ９０２は入力された映像信号を一時的に蓄積するものである。入力メモリ制御部９０３は、入力バッファメモリ９０２への読み出しや書き込み制御を行うと共に、入力バッファメモリ９０２の入力データ蓄積量を管理するものである。エンコード処理部９０４は入力バッファメモリ９０２より読み出された映像信号を、再エンコード判断処理部９０５の判定結果に従って符号化するものである。再エンコード判断処理部９０５は、入力メモリ制御部９０１の入力データ蓄積量の情報と、出力制御タイマー部９０７の出力制御タイマー値と、エンコード処理部９０４の仮想バッファ管理情報より推定される出力バッファメモリの出力データ蓄積量と、ＡＶ選択処理部９１６で映像を再エンコードするか否かなどの選択結果とに基づいて、映像信号を再エンコードするか否かを判断するものである。出力制御タイマー部９０７は、出力ＣＬＫと、出力制御部９０９のデータ出力のタイミングとよりタイマーを生成するものである。
【００９０】
次に、音声用のリアルタイムエンコーダ部の構成について説明する。入力制御部９１０は入力される音声信号の入力制御を行うものである。入力バッファメモリ９１１は入力された音声信号を一時的に蓄積するものである。入力メモリ制御部９１２は、入力バッファメモリ９１１への読み出しや書き込み制御を行うと共に、入力バッファメモリ９１１の入力データ蓄積量を管理するものである。エンコード処理部９１３は入力バッファメモリ９１１より読み出された音声信号を再エンコード判断処理部９１４の判定結果に従って符号化するものである。出力制御タイマー部９１５は、出力バッファメモリ９０８よりデータを読み出すタイミングを制御するための出力ＣＬＫと、出力制御部９０９のデータ出力のタイミングに基づいてタイマー値を生成するものである。再エンコード判断処理部９１４は、入力メモリ制御部９１０のバッファ蓄積量の情報と、出力制御タイマー部９１５の出力制御タイマー値と、エンコード処理部９１３の仮想バッファ管理情報より推定される出力バッファメモリの出力データ蓄積量と、ＡＶ選択処理部９１６で音声信号を再エンコードするか否かなどの選択結果とに基づいて、音声信号を再エンコードするか否かを判断するものである。
【００９１】
ＡＶ結合部９０６は映像のエンコードデータと音声のエンコードデータとを結合させ、多重化するものであり、その構成に関しては図８に示すものと同一である。出力バッファメモリ９０８はＡＶ結合部９０６で結合された多重化データを一時的に蓄積するものである。出力制御部９０９は出力バッファメモリ９０８よりデータを読み出すタイミングを制御するものである。出力制御タイマー部９１５は、出力ＣＬＫと、出力制御部９０９のデータ出力のタイミングとよりタイマーを生成するものである。ＡＶ選択処理部９１６は、映像信号又は音声信号を再エンコードするか否かを判断するための情報を再エンコード判定情報とするとき、映像用リアルタイムエンコーダ部及び音声用リアルタイムエンコーダ部の少なくとも一方に対して再エンコード判定指示を与えるものである。
【００９２】
このように構成された本実施の形態におけるリアルタイムエンコーダ装置について、実施の形態２と異なる動作について説明する。映像信号と音声信号の処理動作については、ＡＶ結合部９０６と再エンコード判断処理部９０５、９１４の動作が実施の形態３と異なる。このため、ＡＶ結合部９０６と再エンコード判断処理部９０５、９１４については詳細に説明する。
【００９３】
フレームメモリ７０１は１フレーム分の映像のエンコードデータを蓄積する。フレーム単位メモリ７０２は１フレーム分相当の音声のエンコードデータを蓄積する。ＡＶ同期管理部７０３は、映像信号と音声信号の同期を管理し、同期を保証しながら映像信号と音声信号のエンコードデータをＡＶ多重化処理部７０４に出力する。通常、映像信号と音声信号のエンコード処理を同時に行った場合、情報量の違いから音声のエンコードデータの方が早くフレーム単位メモリ７０２に書き込まれる状態となる。このため、映像のエンコードデータがフレームメモリ７０１に書き込まれる状態を待って、双方がそろった時点で同期を合わせて同期保証をする。ＡＶ多重化処理部７０４は、ＡＶ同期管理部７０３より出力された映像信号と音声信号のエンコードデータを多重化する。なお、入力された映像信号と音声信号が同期していない場合、同期処理は行われない。
【００９４】
再エンコード判断処理部９０５又は９１４の処理手順は、図１１のフローチャートで示される。選択判定ステップ１００１は、ＡＶ選択コマンドが選択されているか否かを判定するステップであり、図１０のＡＶ選択処理部９１６より設定される次に示す４つの状態のいずれかから、特定の処理動作を決定する。
（１）．映像と音声の双方の高品位化
（２）．映像のみの高品位化
（３）．音声のみの高品位化
（４）．映像と音声ともに通常の処理
【００９５】
選択処理ステップ１００１において、入力結果が（１）の場合、映像信号と音声信号の双方ともに入力バッファ判定ステップ１００３に移り、実施の形態２に示したように入力バッファメモリの空き容量と、出力バッファメモリの推定データ蓄積量に従って、再エンコードするか否かを判定する。
【００９６】
入力結果が（２）の場合、映像処理のみ入力バッファ判定ステップ１００３に移り、実施の形態２に示したように入力バッファの空き容量と、出力バッファメモリの推定データ蓄積量とに従って、再エンコードするか否かを判定する。また、音声処理はエンコード結果出力コマンド生成ステップ１００２に移り、直ちに「エンコード結果出力コマンド」を発行する。
【００９７】
入力結果が（３）の場合、音声処理のみ入力バッファ判定ステップ１００３に移り、実施の形態２に示したように入力バッファの空き容量と、出力バッファメモリの推定データ蓄積量とに従って、再エンコードするか否かを判定する。また、映像処理はエンコード結果出力コマンド生成ステップ１００２に移り、直ちに「エンコード結果出力コマンド」を発行する。
【００９８】
入力結果が（４）の場合、映像信号と音声信号はエンコード結果出力コマンド生成ステップ１００２に移り、直ちに「エンコード結果出力コマンド」を発行する。
【００９９】
以上のように本実施の形態のリアルタイムエンコーダ装置によれば、実施の形態３の機能に加え、リアルタイム性を保証しながら、ユーザが高品位化したい映像又は音声のデータをリアルタイムに選択できる。そしてその選択結果とバッファメモリのデータ蓄積量に従って選択されたデータを再エンコードすることで、高品位の符号化を実現することができる。
【０１００】
（実施の形態５）
次に本発明の実施の形態５におけるリアルタイムエンコーダ装置について説明する。図１２は本実施の形態におけるリアルタイムエンコーダ装置の全体構成図である。本実施の形態におけるリアルタイムエンコーダ装置は、実施の形態１の装置に対し、同期している映像と音声を別々に入力する構成を有することを特徴とする。
【０１０１】
まず、映像用のリアルタイムエンコーダ部の構成について説明する。入力制御部１１０１は映像信号と音声信号が同期して入力される場合、映像信号の入力制御を行うものである。入力バッファメモリ１１０２は入力された映像信号を一時的に蓄積するものである。入力メモリ制御部１１０３は入力バッファメモリ１１０２への読み出しや書き込み制御を行うと共に、入力バッファメモリ１１０２の入力データ蓄積量を管理するものである。エンコード処理部１１０４は、入力バッファメモリ１１０２より読み出された映像信号を再エンコード判断処理部１１０５の判定結果に従って符号化し、エンコードデータを出力する一定時刻前にフラグを発生させるものである。出力メモリ制御部１１０７は出力バッファメモリ１１０８への読み出しや書き込み制御を行うと共に、出力バッファメモリ１１０８の出力データ蓄積量を管理するものである。再エンコード判断処理部１１０５は、入力メモリ制御部１１０３から与えられる入力データ蓄積量の情報と、出力メモリ制御部１１０７から与えられる出力データ蓄積量の情報とから、映像信号を再エンコードするか否かを判断するものである。
【０１０２】
次に、音声用のリアルタイムエンコーダ部の構成について説明する。入力制御部１１１０は、映像信号と音声信号とが同期して入力される場合に、音声信号の入力制御を行うものである。入力バッファメモリ１１１１は入力された音声信号を一時的に蓄積するものである。入力メモリ制御部１１１２は入力バッファメモリ１１１１への読み出しや書き込み制御を行うと共に、入力バッファメモリ１１１１の入力データ蓄積量を管理するものである。エンコード処理部１１１３は入力バッファメモリ１１１１より読み出された音声信号を、再エンコード判断処理部１１１４の判定結果に従って符号化するものである。再エンコード判断処理部１１１４は、入力メモリ制御部１１１２の入力データ蓄積量の情報と、出力メモリ制御部１１０７の出力データ蓄積量の情報とから、音声信号を再エンコードするか否かを判断したり、映像信号のエンコーダの進捗状況から音声信号を再エンコードするか否かを判断するものである。
【０１０３】
ＡＶ結合部１１０６は音声信号のエンコードデータと映像信号のエンコードデータを同期保証して結合させるものである。出力メモリ制御部１１０７は出力バッファメモリ１１０８への読み出しや書き込み制御を行うと共に、出力バッファメモリ１１０８の出力データ蓄積量を管理するものである。
【０１０４】
このように構成された本実施の形態のリアルタイムエンコーダ装置について、実施の形態１と異なる処理動作について説明する。映像用エンコーダの動作については、エンコード処理部１１０４とＡＶ結合部１１０６とを除き、実施の形態１と同じ動作が実行される。
【０１０５】
また音声用エンコーダの動作については、ＡＶ結合部１１０６と再エンコード判断処理部１１１４の動作が異なる。このため、エンコード処理部１１０４とＡＶ結合部１１０６と再エンコード判断処理部１１１４について詳細に説明する。
【０１０６】
エンコード処理部１１０４の構成は図７に示すものと同一である。エンコード処理部１１０４の動作を説明する。図７のフレームメモリ制御部１５０２は、再エンコード判断処理部１１０５の判定結果が「再エンコードコマンド」の場合、一度エンコーダ１５０３に出力したフレーム単位のデータを再びエンコーダ１５０３に与える。一方、再エンコード判断処理部１１０５の判定結果が「エンコード結果出力コマンド」の場合、エンコーダ１５０３に出力したフレーム単位のデータを破棄し、連続する新たなフレーム単位のデータをエンコーダ１５０３に与える。
【０１０７】
エンコード処理部１１０４のパラメータ生成部１５０５は、再エンコード判断処理部１１０５の判定結果が「再エンコードコマンド」の場合、一度エンコーダ１５０３でエンコードした際のパラメータ設定値を参照し、より高品位な符号化結果を得られるようにパラメータ設定値を生成する。一方、再エンコード判断処理部１１０５の判定結果が「エンコード結果出力コマンド」の場合、入力バッファメモリ１１０２と出力バッファメモリ１１０８の状態を考慮したパラメータ設定値を生成する。仮想バッファ管理部１５０６は、リアルタイム性を保証するために出力バッファメモリ１１０８のデータ蓄積量を考慮しながら、ＶＢＶバッファとデータ総量の管理を行う。
【０１０８】
ＡＶ結合部１１０６の構成は図８に示すものと同一である。映像エンコーダメモリであるフレームメモリ７０１は１フレーム分の映像のエンコードデータを蓄積する。音声エンコーダメモリであるフレーム単位メモリ７０２は１フレーム分相当の音声のエンコードデータを蓄積する。ＡＶ同期管理部７０３は、映像信号と音声信号の同期を管理し、同期を保証しながらＡＶ多重化処理部７０４に映像と音声のエンコードデータを出力する。通常、映像と音声のエンコード処理を同時に行った場合、情報量の違いから音声のエンコードデータの方が早くフレーム単位メモリ７０２に書き込まれる状態となる。このため、映像のエンコードデータがフレームメモリ７０１に書き込まれる状態を待って、双方がそろった時点で同期を合わせて同期保証をする。ＡＶ多重化処理部７０４はＡＶ同期管理部７０３より出力された映像と音声のエンコードデータを多重化する。
【０１０９】
再エンコード判断処理部１１１４における処理手順を、図１３のフローチャートに示す。映像出力タイマー判定ステップ１２０１では、映像側のエンコーダより出力された出力オフセットフラグが立っているか否かを判定する。出力オフセットフラグとは、エンコードデータを出力する一定時刻前を示すもので、入力された１フレーム分の映像信号の符号化に要する時間から、１フレーム分相当の音声信号の符号化に要する時間＋αだけ差し引いた時間の経過を示すフラグである。このフラグが立っている場合、エンコード結果出力コマンド生成ステップ１２０２に移る。一方、フラグが立っていない場合、入力バッファ量判定ステップ１２０３と出力バッファ量判定ステップ１２０４へは移らないで、直接再エンコード指示コマンド生成ステップ１２０５に移る。
【０１１０】
つまり、通常同期している映像信号と音声信号の符号化処理を同時に実行した場合、データ量の違いから一般的に音声信号の符号化処理の方が早く完了する。しかし、映像と音声のエンコードデータは、通常は同期させることが多い。そこで本実施の形態では、処理速度の違いに注目をし、映像のエンコードデータが出てくるまでに、音声側に対して複数回エンコード処理を行うことによって、より高品位な音声信号の符号化結果を得ることができる。また、入力バッファ量判定ステップ１２０３と出力バッファ量判定ステップ１２０４におけるデータ蓄積量の情報は、映像側で管理している結果と同じなので、音声側は映像側のエンコーダより出力される出力オフセットフラグだけで、再エンコードするか否かを判断しても同様の結果が得られる。
【０１１１】
以上のように本実施の形態のリアルタイムエンコーダ装置によれば、実施の形態１の機能に加え、リアルタイム性を保証しながら、バッファのデータ蓄積量に従って再エンコードしたり、又は映像側のエンコーダの出力オフセットフラグに基づいて音声信号を再エンコードすることにより、高品位の符号化を実現することができる。
【０１１２】
（実施の形態６）
次に本発明の実施の形態６におけるリアルタイムエンコーダ装置について説明する。図１４は本実施の形態におけるリアルタイムエンコーダ装置の全体構成図である。本実施の形態におけるリアルタイムエンコーダ装置は、実施の形態１の装置に対し、同期している映像信号と音声信号を別々に入力する構成を有することを特徴とする。
【０１１３】
まず映像用のリアルタイムエンコーダ部の構成について説明する。入力制御部１３０１は映像信号の入力制御を行うものである。入力バッファメモリ１３０２は入力された映像信号を一時的に蓄積するものである。入力メモリ制御部１３０３は、入力バッファメモリ１３０２への読み出しや書き込み制御を行うと共に、入力バッファメモリ１３０２の入力データ蓄積量を管理するものである。エンコード処理部１３０４は入力バッファメモリ１３０２より読み出された映像信号を再エンコーダ判断処理部１３０５の判定結果に従って符号化するものである。ＡＶ結合部１３０６は映像のエンコードデータと音声のエンコードデータとを結合させ、多重化するものである。再エンコード判断処理部１３０５は、入力メモリ制御部１３０１の入力データ蓄積量の情報と、出力メモリ制御部１３０９の出力データ蓄積量の情報と、ＡＶ選択処理部１３１５で例えば映像を再エンコードするか否の選択結果とから、映像信号を再エンコードするか否かを判断するものである。
【０１１４】
次に音声用のリアルタイムエンコーダ部の構成について説明する。入力制御部１３１０は音声信号の入力制御を行うものである。入力バッファメモリ１３１１は入力された音声信号を一時的に蓄積するものである。入力メモリ制御部１３１２は、入力バッファメモリ１３１１への読み出しや書き込み制御を行うと共に、入力バッファメモリ１３１１の入力データ蓄積量を管理するものである。エンコード処理部１３１３は入力バッファメモリ１３１１より読み出された音声信号をエンコード判断処理部１３１４の判定結果に従って符号化するものである。再エンコード判断処理部１３１４は、出力バッファメモリ１３０７への読み出しや書き込み制御を行うと共に、入力メモリ制御部１３１２の入力データ蓄積量の情報と、出力メモリ制御部１３０９の出力データ蓄積量の情報と、ＡＶ選択処理部１３１５で例えば音声を再エンコードするか否の選択結果とから、再エンコードするか否かを判断するものである。
【０１１５】
ＡＶ結合部１３０６は映像のエンコードデータと音声のエンコードデータとを結合させるものである。出力バッファメモリ１３０７はＡＶ結合部１３０６で結合されたエンコードデータを一時的に蓄積するものである。出力制御部１３０８は出力バッファメモリ１３０７より多重化データを読み出すタイミングを制御するものである。出力メモリ制御部１３０９は、出力バッファメモリ１３０７への読み出しや書き込み制御を行うと共に、出力バッファメモリ１３０７の出力データ蓄積量を管理するものである。
【０１１６】
このように構成された本実施の形態におけるリアルタイムエンコーダ装置について、実施の形態１と異なる処理動作について説明する。映像信号と音声信号の処理動作については、ＡＶ結合部１３０６と再エンコード判断処理部１３０５、１３１４の動作が異なる。このため、ＡＶ結合部１３０６と再エンコード判断処理部１３０５、１３１４について詳細に説明する。
【０１１７】
ＡＶ結合部１３０６の構成は図８に示すものと同一である。映像エンコーダメモリであるフレームメモリ７０１は１フレーム分の映像信号のエンコードデータを蓄積する。音声エンコーダメモリであるフレーム単位メモリ７０２は１フレーム分相当の音声のエンコードデータを蓄積する。ＡＶ同期管理部７０３は映像信号と音声信号の同期を管理し、同期を保証しながらＡＶ多重化処理部７０４へ映像と音声のエンコードデータを出力する。通常、映像と音声のエンコード処理を同時に行った場合、情報量の違いから音声のエンコードデータの方が早くフレーム単位メモリ７０２に書き込まれる状態となる。このため映像のエンコードデータがフレームメモリ７０１に書き込まれる状態を待って、双方がそろった時点で同期を合わせて同期保証をする。ＡＶ多重化処理部７０４はＡＶ同期管理部７０３より出力された映像と音声のエンコードデータを多重化する。なお、入力された映像信号と音声信号が同期していない場合、同期処理は行われない。
【０１１８】
再エンコード判断処理部１３０５又は１３１４での処理手順を図１５のフローチャートに示す。選択判定ステップ１４０１では、ＡＶ選択処理部１３１５より入力される次の４つの状態におけるいずれか１つの処理動作を決定する。
（１）．映像と音声の双方の高品位化
（２）．映像のみの高品位化
（３）．音声のみの高品位化
（４）．映像と音声ともに通常の処理
【０１１９】
選択処理ステップ１４０１では、入力結果が（１）の場合、映像と音声の双方ともに入力バッファ量判定ステップ１４０３に移り、実施の形態１に示したように入力バッファメモリの空き容量と、出力バッファメモリのデータ蓄積量とに従って、再エンコードするか否かを判定する。
【０１２０】
入力結果が（２）の場合、映像処理のみ入力バッファ量判定ステップ１４０３に移り、実施の形態１に示したように入力バッファメモリの空き容量と、出力バッファメモリの出力データ蓄積量とに従って、再エンコードするか否かを判定する。また、音声処理はエンコード結果出力コマンド生成ステップ１４０２に移り、直ちに「エンコード結果出力コマンド」を発行する。
【０１２１】
入力結果が（３）の場合、音声処理のみ入力バッファ量判定ステップ１４０３に移り、実施の形態１に示したように入力バッファメモリの空き容量と、出力バッファメモリの出力データ蓄積量とに従って、再エンコードするか否かを判定する。また、映像処理はエンコード結果出力コマンド生成ステップ１４０２に移り、直ちに「エンコード結果出力コマンド」を発行する。
【０１２２】
入力結果が（４）の場合、映像と音声はエンコード結果出力コマンド生成ステップ１４０２に移り、直ちに「エンコード結果出力コマンド」を発行する。
【０１２３】
以上のように本実施の形態のリアルタイムエンコーダ装置によれば、実施の形態１の機能に加え、リアルタイム性を保証しながら、高品位化したいデータをユーザがリアルタイムに選択でき、その選択結果とバッファの蓄積量に従って選択されたデータを再エンコードすることで、高品位の符号化を実現することができる。
【０１２４】
【発明の効果】
本発明によれば、入力バッファメモリのデータ蓄積量と出力バッファメモリのデータ蓄積量との状態に応じて符号化のパラメータ値を設定する。この符号化パラメータ値を用いて入力信号を再エンコードすることによって、リアルタイム性を保証しながら映像や音声の高品位化が実現できる。また、このような方法によって、高品位とリアルタイム性を保証したリアルタイムエンコーダ装置を実現することができる。
【０１２５】
特に請求項１〜７記載の発明によれば、リアルタイム性を保証しながら、出力バッファメモリのデータの溜まり具合や、入力バッファメモリの空き具合に応じて、データをより最適なパラメータ設定でエンコード、または再エンコードすることにより、高品位なエンコード結果を得ることができる。
【０１２６】
特に請求項８〜１５記載の発明によれば、リアルタイム性を保証しながら、ＶＢＶバッファ量と出力タイマーより推定した出力バッファメモリのデータの溜まり具合や、入力バッファメモリの空き具合に応じて、データをより最適なパラメータ設定でエンコードしたり、または再エンコードすることにより、高品位なエンコード結果を得ることができる。
【０１２７】
特に請求項１６〜２１記載の発明によれば、リアルタイム性を保証しながら、出力バッファメモリのデータの溜まり具合や、入力バッファメモリの空き具合に応じて、データをより最適なパラメータ設定でエンコードしたり、または再エンコードすることができる。また音声のみ複数回再エンコードすることにより、高品位なエンコード結果を得ることができ、映像にほぼ同期した音声のエンコード結果が得ることができる。
【０１２８】
特に請求項２２〜２６記載の発明によれば、ユーザの選択によって、高品位でエンコードしたいデータを選ぶことができる。
【０１２９】
特に請求項２７〜２９記載の発明によれば、リアルタイム性を保証しながら、推定される出力バッファメモリのデータの溜まり具合や、入力バッファメモリの空き具合に応じて、データをより最適な設定パラメータで再エンコードすることと、音声のみ数回再エンコードすることにより、高品位なエンコード結果を得ることができ、映像にほぼ同期した音声のエンコード結果が得ることができる。
【０１３０】
特に請求項３０〜３３記載の発明によれば、ユーザの選択によって、高品位にエンコードしたいデータを選ぶことができる。
【図面の簡単な説明】
【図１】本発明の実施の形態１におけるリアルタイムエンコーダ装置の構成図である。
【図２】本発明の実施の形態１〜６におけるエンコード処理部の構成図である。
【図３】実施の形態１における再エンコード判断処理部の動作を示すフローチャートである。
【図４】本発明の実施の形態２におけるリアルタイムエンコーダ装置の構成図である。
【図５】実施の形態２における再エンコード判断処理部の動作を示すフローチャートである。
【図６】本発明の実施の形態３におけるリアルタイムエンコーダ装置の構成図である。
【図７】実施の形態３、５におけるエンコード処理部の構成図である。
【図８】本発明の実施の形態３〜６におけるＡＶ結合部の構成図である。
【図９】実施の形態３における再エンコード判断処理部の動作を示すフローチャートである。
【図１０】本発明の実施の形態４におけるリアルタイムエンコーダ装置の構成図である。
【図１１】実施の形態４における再エンコード判断処理部の動作を示すフローチャートである。
【図１２】本発明の実施の形態５におけるリアルタイムエンコーダ装置の構成図である。
【図１３】実施の形態５における再エンコード判断処理部の動作を示すフローチャートである。
【図１４】本発明の実施の形態６におけるリアルタイムエンコーダ装置の構成図である。
【図１５】実施の形態６における再エンコード判断処理部の動作を示すフローチャートである。
【符号の説明】
１０１，４０１，６０１，６１０，９０１，９１０，１１０１，１１１０，１３０１，１３１０  入力制御部
１０２，４０２，６０２，６１１，９０２，９１１，１１０２，１１１１，１３０２，１３１１  入力バッファメモリ
１０３，４０３，６０３，６１２，９０３，９１２，１１０３，１１１２，１３０３，１３１２  入力メモリ制御部
１０４，４０４，６０４，６１３，９０４，９１３，１１０４，１１１３，１３０４，１３１３  エンコード処理部
１０５，４０５，６０５，６１４，９０５，９１４，１１０５，１１１４，１３０５，１３１４  再エンコード判断処理部
１０６，４０６，６０８，９０８，１１０８，１３０７  出力バッファメモリ
１０７，４０７，１１０７，１３０９  出力メモリ制御部
１０８，６０９，９０９，１１０９，１３０８  出力制御部
２０１，７０１，１５０１  フレームメモリ
２０２，１５０２  フレームメモリ制御部
２０３，１５０３  エンコーダ
２０４，１５０５  パラメータ生成部
２０５，１５０６  仮想バッファ管理部
２０６，１５０７  エンコーダバッファ
２０７，１５０８  エンコーダバッファ制御部
６０６，９０６，１１０６，１３０６  ＡＶ結合部
６０７，６１５，９０７，９１５  出力制御タイマー部
７０２  フレーム単位メモリ
７０３  ＡＶ同期管理部
７０４  ＡＶ多重化処理部
１５０４  エンコーダ出力オフセットフラグ
【図１】
2004343370.tif 000003
【図２】
2004343370.tif 000004
【図３】
2004343370.tif 000005
【図４】
2004343370.tif 000006
【図５】
2004343370.tif 000007
【図６】
2004343370.tif 000008
【図７】
2004343370.tif 000009
【図８】
2004343370.tif 000010
【図９】
2004343370.tif 000011
【図１０】
2004343370.tif 000012
【図１１】
2004343370.tif 000013
【図１２】
2004343370.tif 000014
【図１３】
2004343370.tif 000015
【図１４】
2004343370.tif 000016
【図１５】
2004343370.tif 000017