(57)【特許請求の範囲】
【請求項１】
動画データを符号化してパケットを生成する生成手段と、
前記生成されたパケットを受信装置へ送信する送信手段と、
前記送信されたパケットのうち、前記受信装置が正常に受信しなかったパケットを前記受信装置からの通知に基づいて特定する特定手段と、
前記特定されたパケットに対応する第１の動画フレームと前記第１の動画フレームの次に他の動画フレームを参照せずに復号可能な画面内符号化方式で符号化される画面内符号化フレームとの間のフレーム数が閾値以上であるか判定する判定手段と、
前記特定手段により特定されたパケットを再送信する再送手段と、
前記判定手段が前記第１の動画フレームと前記第１の動画フレームの次の前記画面内符号化フレームとの間のフレーム数が閾値以上であると判定し、前記特定された前記第１の動画フレームのパケットを再送信しない場合、前記第１の動画フレームと前記第１の動画フレームの次の前記画面内符号化フレームとの間の第２の動画フレームの動画データのうち、前記特定されたパケットの動画データの表示領域に対応する前記第２の動画フレームの表示領域の動画データの符号化方式及び該表示領域に隣接する隣接領域の動画データの符号化方式を前記画面内符号化方式に決定する決定手段とを有し、
前記決定手段は、前記判定手段が前記第１の動画フレームと前記第１の動画フレームの次の前記画面内符号化フレームとの間のフレーム数が閾値未満であると判定した場合、及び、前記特定された前記第１の動画フレームのパケットを再送信する場合、前記第２の動画フレームの動画データのうち、前記特定されたパケットの動画データの表示領域に対応する前記第２の動画フレームの表示領域の動画データの符号化方式及び該表示領域に隣接する隣接領域の動画データの符号化方式を前記画面内符号化方式に限定しないことを特徴とする送信装置。
【請求項２】
前記再送手段は、前記第１の動画フレームと前記第１の動画フレームの次の前記画面内符号化フレームとの間のフレーム数が閾値未満の場合、前記特定手段により特定されたパケットの再送信を行わないことを特徴とする請求項１記載の送信装置。
【請求項３】
前記決定手段は、前記第１の動画フレームと前記第２の動画フレームとの間のフレーム数に応じて、前記第２の動画フレームの動画データのうち前記画面内符号化方式により符号化する動画データを決定することを特徴とする請求項１記載の送信装置。
【請求項４】
前記決定手段は、前記第１の動画フレームが、前記第１の動画フレームよりも前の動画フレームと後の動画フレームとを参照することで復号可能な双方向予測符号化フレームである場合、前記第２の動画フレームの前記隣接領域の動画データの符号化方式を、前記画面内符号化方式に限定しないことを特徴とする請求項１記載の送信装置。
【請求項５】
前記動画データの各動画フレームを前記画面内符号化方式で符号化した画面内符号化ファイルを記憶する記憶手段を有し、
前記送信手段は、前記決定手段により符号化方式が前記画面内符号化方式に決定された動画データを、前記記憶手段から読み出して送信することを特徴とする請求項１記載の送信装置。
【請求項６】
前記記憶手段は、各動画フレームを第１のビットレートで画面内符号化方式により符号化した第１の画面内符号化ファイルと、各動画フレームを前記第１のビットレートよりも高い第２のビットレートで画面内符号化方式により符号化した第２の画面内符号化ファイルとを記憶し、
前記送信手段は、前記第１及び第２の画面内符号化ファイルのうち、送信すべき動画データの読み出し先とする画面内符号化ファイルを、前記第１の動画フレームに対応するビットレートに基づいて決定することを特徴とする請求項５記載の送信装置。
【請求項７】
送信装置の制御方法であって、
動画データを符号化してパケットを生成する生成工程と、
前記生成されたパケットを受信装置へ送信する送信工程と、
前記送信されたパケットのうち、前記受信装置が正常に受信しなかったパケットを前記受信装置からの通知に基づいて特定する特定工程と、
前記特定されたパケットに対応する第１の動画フレームと前記第１の動画フレームの次に他の動画フレームを参照せずに復号可能な画面内符号化方式で符号化される画面内符号化フレームとの間のフレーム数が閾値以上であるか判定する判定工程と、
前記特定工程において特定されたパケットを再送信する再送工程と、
前記判定工程において前記第１の動画フレームと前記第１の動画フレームの次の前記画面内符号化フレームとの間のフレーム数が閾値以上であると判定し、前記特定された前記第１の動画フレームのパケットを再送信しない場合、前記第１の動画フレームと前記第１の動画フレームの次の前記画面内符号化フレームとの間の第２の動画フレームの動画データのうち、前記特定されたパケットの動画データの表示領域に対応する前記第２の動画フレームの表示領域の動画データの符号化方式及び該表示領域に隣接する隣接領域の動画データの符号化方式を前記画面内符号化方式に決定する決定工程とを有し、
前記決定工程において、前記判定工程において前記第１の動画フレームと前記第１の動画フレームの次の前記画面内符号化フレームとの間のフレーム数が閾値未満であると判定した場合、及び、前記特定された前記第１の動画フレームのパケットを再送信する場合、前記第２の動画フレームの動画データのうち、前記特定されたパケットの動画データの表示領域に対応する前記第２の動画フレームの表示領域の動画データの符号化方式及び該表示領域に隣接する隣接領域の動画データの符号化方式を前記画面内符号化方式に限定しないことを特徴とする制御方法。
【請求項８】
前記第１の動画フレームと前記第１の動画フレームの次の画面内符号化フレームとの間のフレーム数が閾値未満の場合、前記再送工程において前記特定されたパケットの再送信を行わないことを特徴とする請求項７記載の制御方法。
【請求項９】
前記決定工程において、前記第１の動画フレームと前記第２の動画フレームとの間のフレーム数に応じて、前記第２の動画フレームの動画データのうち前記画面内符号化方式により符号化する動画データを決定することを特徴とする請求項７記載の制御方法。
【請求項１０】
動画データを符号化してパケットを生成する生成手順と、
前記生成されたパケットを受信装置へ送信する送信手順と、
前記送信されたパケットのうち、前記受信装置が正常に受信しなかったパケットを前記受信装置からの通知に基づいて特定する特定手順と、
前記特定されたパケットに対応する第１の動画フレームと前記第１の動画フレームの次に他の動画フレームを参照せずに復号可能な画面内符号化方式で符号化される画面内符号化フレームとの間のフレーム数が閾値以上であるか判定する判定手順と、
前記特定手順において特定されたパケットを再送信する再送手順と、
前記判定手順において前記第１の動画フレームと前記第１の動画フレームの次の前記画面内符号化フレームとの間のフレーム数が閾値以上であると判定し、前記特定された前記第１の動画フレームのパケットを再送信しない場合、前記第１の動画フレームと前記第１の動画フレームの次の前記画面内符号化フレームとの間の第２の動画フレームの動画データのうち、前記特定されたパケットの動画データの表示領域に対応する前記第２の動画フレームの表示領域の動画データの符号化方式及び該表示領域に隣接する隣接領域の動画データの符号化方式を前記画面内符号化方式に決定し、前記判定手順において前記第１の動画フレームと前記第１の動画フレームの次の前記画面内符号化フレームとの間のフレーム数が閾値未満であると判定した場合、及び、前記特定された前記第１の動画フレームのパケットを再送信する場合、前記第２の動画フレームの動画データのうち、前記特定されたパケットの動画データの表示領域に対応する前記第２の動画フレームの表示領域の動画データの符号化方式及び該表示領域に隣接する隣接領域の動画データの符号化方式を前記画面内符号化方式に限定しない決定手順とをコンピュータに実行させるためのプログラム。
【請求項１１】
前記決定手順において、前記第１の動画フレームと前記第２の動画フレームとの間のフレーム数に応じて、前記第２の動画フレームの動画データのうち前記画面内符号化方式により符号化する動画データを決定する処理を前記コンピュータに実行させることを特徴とする請求項１０記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、送信装置、送信装置の制御方法、及びプログラムに関し、詳しくは符号化された動画像コンテンツに係るデータ送信技術に関する。
【背景技術】
【０００２】
従来、符号化された動画像コンテンツに係るデータを送受信する場合に、受信側からのエラー情報に基づいて、符号化モード（符号化方式）を強制的にイントラ符号化モード（画面内符号化モード）に変更する手法が提唱されていた。
【０００３】
これは、エラーが伝搬するフレームの数を低減することを目的としたものであり、例えば次のように処理が行われる（例えば、特許文献１参照。）。受信側にて正常に受信されなかったデータ（伝送途中で欠落し、受信側へ達しなかったものも含む）が検出された場合、受信側装置は、その受信されなかったデータを特定する情報（エラー情報）を送信側装置へ送信する（フィードバックする）。受信側装置からエラー情報を通知された送信側装置は、次に符号化するフレームの符号化モードを強制的にイントラ符号化モードに変更して符号化する。なお、次に送信すべきフレームが符号化済みであり、かつその符号化モードがイントラ符号化モードでない場合には、復号化して、符号化モードをイントラ符号化モードに変更して再符号化を実施する。
【０００４】
また、符号化された動画像コンテンツに係るデータの送受信では、受信側において所望のフレームレートで再生が可能となることを目的として符号量制御を行う場合もある。この符号量制御は、受信側で実際に再生されたフレームレートに関するフレームレート情報を送信側へ送信し、それが通知された送信側では、フレームレート情報に基づいて、発生符号量を最適に調整する。
【０００５】
【特許文献１】特開２００３−２３６３９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述した従来の方法では、エラーが発生した場合にエラー情報に従って、次に符号化するフレームの符号化モードをイントラ符号化モードに強制変更する。これにより、エラーの伝搬を完全に止めることは可能であるが、符号量を急激に増加させてしまうために、通信回線を逼迫させ、かえって、伝送遅延やデータ欠落を増長させてしまう可能性がある。
【０００７】
また、通信路容量（回線容量）が限られている場合には、符号化モードを強制的にイントラ符号化モードに変更することによって符号量が急激に増加するため、それ以降のフレームに分配すべき符号量が削減され、大幅に画質を劣化させるおそれがある。また、受信側で実フレームレート情報から現状の回線容量を推定することにより、フレームレートを増減することで送信ビットレート制御を行う方式である場合には、フレーム単位での微妙な符号量制御ができないという問題点があった。
【０００８】
本発明は、このような事情に鑑みてなされたものであり、動画像コンテンツに係るデータの送受信にてエラーが発生した場合に、符号量を大幅に変動させずに、エラーが伝搬するフレームの数を低減できるようにすることを目的とする。
【課題を解決するための手段】
【０００９】
本発明の送信装置は、動画データを符号化してパケットを生成する生成手段と、前記生成されたパケットを受信装置へ送信する送信手段と、前記送信されたパケットのうち、前記受信装置が正常に受信しなかったパケットを前記受信装置からの通知に基づいて特定する特定手段と、前記特定されたパケットに対応する第１の動画フレームと前記第１の動画フレームの次に他の動画フレームを参照せずに復号可能な画面内符号化方式で符号化される画面内符号化フレームとの間のフレーム数が閾値以上であるか判定する判定手段と、前記特定手段により特定されたパケットを再送信する再送手段と、前記判定手段が前記第１の動画フレームと前記第１の動画フレームの次の前記画面内符号化フレームとの間のフレーム数が閾値以上であると判定し、前記特定された前記第１の動画フレームのパケットを再送信しない場合、前記第１の動画フレームと前記第１の動画フレームの次の前記画面内符号化フレームとの間の第２の動画フレームの動画データのうち、前記特定されたパケットの動画データの表示領域に対応する前記第２の動画フレームの表示領域の動画データの符号化方式及び該表示領域に隣接する隣接領域の動画データの符号化方式を前記画面内符号化方式に決定する決定手段とを有し、前記決定手段は、前記判定手段が前記第１の動画フレームと前記第１の動画フレームの次の前記画面内符号化フレームとの間のフレーム数が閾値未満であると判定した場合、及び、前記特定された前記第１の動画フレームのパケットを再送信する場合、前記第２の動画フレームの動画データのうち、前記特定されたパケットの動画データの表示領域に対応する前記第２の動画フレームの表示領域の動画データの符号化方式及び該表示領域に隣接する隣接領域の動画データの符号化方式を前記画面内符号化方式に限定しないことを特徴とする。
本発明の送信装置の制御方法は、動画データを符号化してパケットを生成する生成工程と、前記生成されたパケットを受信装置へ送信する送信工程と、前記送信されたパケットのうち、前記受信装置が正常に受信しなかったパケットを前記受信装置からの通知に基づいて特定する特定工程と、前記特定されたパケットに対応する第１の動画フレームと前記第１の動画フレームの次に他の動画フレームを参照せずに復号可能な画面内符号化方式で符号化される画面内符号化フレームとの間のフレーム数が閾値以上であるか判定する判定工程と、前記特定工程において特定されたパケットを再送信する再送工程と、前記判定工程において前記第１の動画フレームと前記第１の動画フレームの次の前記画面内符号化フレームとの間のフレーム数が閾値以上であると判定し、前記特定された前記第１の動画フレームのパケットを再送信しない場合、前記第１の動画フレームと前記第１の動画フレームの次の前記画面内符号化フレームとの間の第２の動画フレームの動画データのうち、前記特定されたパケットの動画データの表示領域に対応する前記第２の動画フレームの表示領域の動画データの符号化方式及び該表示領域に隣接する隣接領域の動画データの符号化方式を前記画面内符号化方式に決定する決定工程とを有し、前記決定工程において、前記判定工程において前記第１の動画フレームと前記第１の動画フレームの次の前記画面内符号化フレームとの間のフレーム数が閾値未満であると判定した場合、及び、前記特定された前記第１の動画フレームのパケットを再送信する場合、前記第２の動画フレームの動画データのうち、前記特定されたパケットの動画データの表示領域に対応する前記第２の動画フレームの表示領域の動画データの符号化方式及び該表示領域に隣接する隣接領域の動画データの符号化方式を前記画面内符号化方式に限定しないことを特徴とする。
本発明のプログラムは、動画データを符号化してパケットを生成する生成手順と、前記生成されたパケットを受信装置へ送信する送信手順と、前記送信されたパケットのうち、前記受信装置が正常に受信しなかったパケットを前記受信装置からの通知に基づいて特定する特定手順と、前記特定されたパケットに対応する第１の動画フレームと前記第１の動画フレームの次に他の動画フレームを参照せずに復号可能な画面内符号化方式で符号化される画面内符号化フレームとの間のフレーム数が閾値以上であるか判定する判定手順と、前記特定手順において特定されたパケットを再送信する再送手順と、前記判定手順において前記第１の動画フレームと前記第１の動画フレームの次の前記画面内符号化フレームとの間のフレーム数が閾値以上であると判定し、前記特定された前記第１の動画フレームのパケットを再送信しない場合、前記第１の動画フレームと前記第１の動画フレームの次の前記画面内符号化フレームとの間の第２の動画フレームの動画データのうち、前記特定されたパケットの動画データの表示領域に対応する前記第２の動画フレームの表示領域の動画データの符号化方式及び該表示領域に隣接する隣接領域の動画データの符号化方式を前記画面内符号化方式に決定し、前記判定手順において前記第１の動画フレームと前記第１の動画フレームの次の前記画面内符号化フレームとの間のフレーム数が閾値未満であると判定した場合、及び、前記特定された前記第１の動画フレームのパケットを再送信する場合、前記第２の動画フレームの動画データのうち、前記特定されたパケットの動画データの表示領域に対応する前記第２の動画フレームの表示領域の動画データの符号化方式及び該表示領域に隣接する隣接領域の動画データの符号化方式を前記画面内符号化方式に限定しない決定手順とをコンピュータに実行させることを特徴とする。
【発明の効果】
【００１０】
本発明によれば、動画データを符号化し生成されたパケットのうち、受信装置で正常に受信されなかったパケットが特定され、特定されたパケットに対応する動画フレームよりも後の動画フレームの動画データのうち、画面内符号化方式で符号化する動画データと予測符号化方式で符号化する動画データとを特定されたパケットに応じて決定される。これにより、動画データに係るパケットの送受信でエラーが発生した場合に、符号量を大幅に変動させずにエラーが伝搬するフレームの数を低減することができる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の実施形態を図面に基づいて説明する。
【００１２】
（第１の実施形態）
図１及び図２は、本発明の一実施形態に係る送信装置及び受信装置の構成例を示すブロック図である。
【００１３】
図１において、１１はストレージ部、１２はデータ処理部、１３は送信バッファ、１４は送信部、１５は受信部、１６は受信状態情報抽出部、１７は符号量制御部、１８は判定部、１９は符号化モード指定部である。また、図２において、２１は受信バッファ、２２は受信部、２３は復号処理部、２４は画像処理部、２５は表示部、２６はエラー検出部、２７は送信部、２８はジッター管理部である。
【００１４】
ストレージ部１１には、動画像コンテンツに係るデータが格納されている。データ処理部１２は、ストレージ部１１から動画像コンテンツに係るデータを読み出し、読み出したデータを符号化モードに応じて符号化する。符号化モードには、イントラ符号化モード（画面内符号化モード）、順方向予測符号化モード、双方向予測符号化モードがある。また、データ処理部１２は、符号化したデータを所定のパケット・フォーマットに従ってパケット化する。
【００１５】
データ処理部１２でパケット化された符号化データは、送信バッファ１３を介して送信部１４に入力される。送信部１４は、入力されたパケット（符号化データ）を任意のプロトコルに従って再度パケット化した後、任意の通信路を経由して図２に示すような受信装置（クライアント）へ送信する。
【００１６】
受信装置にて受信されたパケットは、受信バッファ２１に一時蓄積された後、受信部２２の制御により読み出され、エラー検出部２６によりエラー検出処理が施される。エラー検出部２６によるエラー検出処理の結果、エラー無しであった場合には、読み出された受信パケットは、復号処理部２３へ入力されて復号化処理が施され、さらに画像処理部２４で任意の画像処理が実施された後、表示部２５に表示される。
【００１７】
一方、エラー検出部２６によりエラーが検出されるか又はパケットの消失が検出された場合には、エラー検出部２６は、エラー又は消失したパケットの前後で正常に受信されたパケットを基に、エラー又は消失したパケットを特定する。なお、以下では、「エラー又は消失したパケット」を「エラーパケット」と称す。例えば、正常に受信された前後のパケットのシーケンス番号と、パケットに含まれる符号化データが属するフレームのフレーム番号等の情報を参照することにより、エラーパケットのシーケンス番号及びフレーム番号を推定する。本実施形態では、エラーパケットを特定するパラメータとして、シーケンス番号及びフレーム番号を受信状態情報のパラメータとする。
【００１８】
ジッター管理部２８は、パケットの受信間隔を監視して、任意に設定された時間における前記受信間隔の平均値、前記受信間隔の変動幅を算出する。
送信部２７は、受信状態情報（エラー情報）を図１に示したような送信装置（サーバー）へ送信する。受信状態情報（エラー情報）には、エラー検出部２６により得られたエラーパケットを特定するパラメータ（シーケンス番号及びフレーム番号）を含む。また、受信状態情報（エラー情報）には、ジッター管理部２８で算出された前記受信間隔の平均値や変動幅も、必要に応じて含まれる。
【００１９】
受信装置から送信された受信状態情報は、送信装置の受信部１５で受信された後、受信状態情報抽出部１６に入力される。
受信状態情報抽出部１６は、受信状態情報を構成する各パラメータに分離する。受信状態情報抽出部１６において各パラメータに分離されたパラメータの内、エラーパケットのシーケンス番号及びフレーム番号は、判定部１８に入力される。また、分離されたパラメータの内、受信パケットに関するジッターの時間的変化に係るジッター情報（受信間隔の平均値や変動幅）は、符号量制御部１７に入力される。
【００２０】
判定部１８は、受信状態情報（エラー情報）に基づいて送信したパケットにエラーが発生したことを確認したとき、エラーパケットに対する処理を実施するか否かの判定を行う。具体的には、判定部１８は、符号化順序又は送信順序で、次に送信予定のフレームから起算して次の画面内符号化フレームまでの距離（フレームの数）Ｒを算出し、算出した値Ｒを任意に設定された閾値ＴＨＲと比較する。比較した結果がＲ＜ＴＨＲ（フレームの数が閾値未満）となった場合には、判定部１８は、エラーパケットに対する処理は実施しないと判定する。一方、比較した結果がＲ≧ＴＨＲ（フレームの数が閾値以上）となった場合には、判定部１８は、エラーパケットに含まれる符号化データのフレーム上での影響範囲を算出し特定する。
【００２１】
また、判定部１８は、入力されたエラーパケット（送信済みパケット）のシーケンス番号に該当するパケットが送信バッファ１３に残存しているか否かを判定する。その結果、残存していると判定した場合には、さらに判定部１８は、エラーパケットと同一のパケットを受信装置に対して再送した場合に、受信装置で有効データとして扱われるか否かの再送可否判定を行う。この再送可否判定は、例えば以下のようにして行われる。判定部１８は、送受信装置間のデータ往復所要時間、いわゆるラウンド・トリップ・タイム（Round Trip Time）を測定することにより、再送データの受信装置への到達時刻を推定する。それをエラーパケットに含まれる符号化データの復号化処理開始時刻（ＤＴＳ：Decoding Time Stamp）又は復号済みデータの表示開始時刻（ＰＴＳ：Presentation Time Stamp）等と比較する。この比較結果に基づき、再送したパケットがＤＴＳ又はＰＴＳに間に合うか否かを判定する。なお、この判定方法は一例であり、これに限定されるものではない。
【００２２】
判定部１８にて再送データが受信装置で有効データとして扱われると判定された場合には、受信状態情報によって通知されたエラーパケットと同一のパケットが送信バッファ１３から読み出されて送信部１４より受信装置へ送信される。一方、判定部１８にて再送データが受信装置で無効になると判定された場合には、判定結果及びエラーパケットに含まれる符号化データを特定する情報（エラーパケットの影響を受けるフレーム上の範囲を特定する情報）が、符号化モード指定部１９へ入力される。
【００２３】
符号化モード指定部１９は、判定結果及び符号化データを特定する情報を受けて、エラーパケットに含まれる符号化データと隣接する領域を指定する情報と、符号化モード指定情報（この場合は画面内符号化モード）を符号量制御部１７に出力する。
【００２４】
符号量制御部１７は、データ処理部１２に対して、ストレージ部１１から読み出して符号化する際の符号化モードを制御する。具体的には、符号化モード指定部１９により指定された領域（エラーパケットによる影響を受ける領域）については予め決定されている符号化モードではなくイントラ符号化モードに強制的に符号化モードを変更して符号化するよう制御する。また、それ以外の領域は予め決定されている符号化モードで符号化を行うよう制御する。なお、エラーパケットに係る部分領域とその隣接領域を符号化モードを強制的にイントラ符号化モードに変更して符号化する処理は、次のイントラ符号化フレーム（画面内符号化フレーム）の直前のフレームまで継続される。
【００２５】
以下、第１の実施形態に係るエラー修復及びエラー伝搬の抑止方法について、図３〜図６を参照して説明する。
【００２６】
図５に示すように、符号化された動画像コンテンツに係るデータのパケット伝送において、任意のパケットが通信路上で欠落するか、又はエラー発生により復号不能パケットとして受信された場合、エラーパケットに含まれる符号化データは復号化できない。そのため、直前に表示されたフレームの画像がそのまま表示されるか、又は異常な画像（例えば、エラー領域が黒や白くなる等）が表示されるのが一般的である。
【００２７】
図５においては、Ｆｒａｍｅ１は画面内符号化モードでデータが符号化された画面内符号化フレーム（Ｉフレーム）とする。また、Ｆｒａｍｅ２、Ｆｒａｍｅ３、Ｆｒａｍｅ４は順方向予測符号化モードでデータが符号化された順方向予測符号化フレーム（Ｐフレーム）とする。また、画面内符号化フレームＦｒａｍｅ１の部分領域ａ１がエラー領域であるとする。すなわち、図５に示す画面内符号化フレームＦｒａｍｅ１を構成する符号化データを含むパケットにエラーが発生し、そのエラーパケットに該当するフレームの部分領域ａ１の画像が乱れたと仮定する。
【００２８】
領域ａ１は、次のフレーム（図５に示したフレームＦｒａｍｅ２）で領域ｂ１から参照されるため、画像が乱れる範囲はフレームＦｒａｍｅ２では領域ｂ１に拡大する。同様に、図５に示したフレームＦｒａｍｅ３では、画像が乱れる領域はフレームＦｒａｍｅ２の領域ｂ１を参照画像とする領域ｃ１に拡大する。
【００２９】
ここで、時刻Ｔ＝ｔにおいて送信側から領域ａ１の符号化データを含むパケットが送信され、時刻Ｔ＝ｔ＋１において前記パケットが受信側に受信されたと仮定すると、このパケットは通信路上でエラーが発生しているので受信側で廃棄される。同時にそのエラーパケットを特定するための情報を含む受信状態情報（エラー情報）が、時刻Ｔ＝ｔ＋２において受信側から送信側へ送信される。
【００３０】
時刻Ｔ＝ｔ＋２において受信側から送信側された受信状態情報は、時刻Ｔ＝ｔ＋３において送信側で受信される（図３に示すＳ１０１のＲｅｃｅｉｖｅｄ）。これにより、送信側では、図５に示したフレームＦｒａｍｅ１の領域ａ１の符号化データを含むパケットにエラーが発生し、受信側で正常に復号化されなかったことを検知する。
【００３１】
次に、受信状態情報抽出部１６が、受信した受信状態情報からエラーパケットを特定するパラメータ（シーケンス番号及びフレーム番号）を抽出する。これにより、エラーパケット、及びエラーパケットに含まれる符号化データが属するフレームが特定される（Ｓ１０２）。
【００３２】
次に、判定部１８は、受信状態情報抽出部１６より供給されるエラーパケットを特定するパラメータを基に、符号化順序又は送信順序で、特定されたフレームから起算して次の画面内符号化フレームまでの距離Ｒを算出する（Ｓ１０３）。そして、判定部１８は、算出したＲと任意に定義した閾値ＴＨＲとを比較し、エラーパケットに対する処理を実施するか否かを判定する（Ｓ１０４）。
【００３３】
ステップＳ１０４において比較した結果、距離が閾値未満である場合（Ｒ＜ＴＨＲ）には、判定部１８は、エラーパケットに対する処理を実施しないと判定する。したがって、エラーパケットに対する処理は一切実施しない（Ｓ１０９）。一方、距離が閾値以上である場合（Ｒ≧ＴＨＲ）には、判定部１８は、エラーパケットに含まれる符号化データのフレーム上での影響範囲（図５の領域ａ１、及びそれに隣接する領域）を算出し特定する（Ｓ１０５）。
【００３４】
次に、判定部１８は、エラーパケット（エラー又は消失した送信済みパケット）の再送が可能かどうか判定する（Ｓ１０６）。具体的には、エラーパケットのシーケンス番号に該当するパケットが送信バッファ１３に残っているか、さらにエラーパケットと同一のパケットの再送を実施した場合に、受信側で時間的に有効データとして取り扱われるか否かを判定する。受信側で有効データとして取り扱われるか否かの判定は、例えば現在時刻と予測した送信所要時間とを加算し、エラーパケットに該当するパケットに含まれる符号化データの受信側での処理開始時刻と比較することにより行う。現在時刻と予測した送信所要時間との加算値が受信側での処理開始時刻以前であれば再送可能と判定し、加算値が受信側での処理開始時刻を超過していれば再送不可と判定する。なお、送信バッファ１３に再送対象であるパケットが存在しない場合には、自動的に再送不可と判定する。なお、これは一例であり、本発明はこれに限定されるものではない。
【００３５】
ステップＳ１０６での判定の結果、エラーパケットと同一のパケットの再送が可能と判定された場合には、エラーパケットと同一パケットが送信バッファ１３から読み出され送信部１４より再送信される（Ｓ１０７）。
【００３６】
一方、ステップＳ１０６での判定の結果、エラーパケットと同一のパケットの再送が不可と判定された場合には、次のように処理を行う。次の符号化対象フレーム又は次に送信予定のフレームから次に画面内符号化フレームが出現するまでの間に存在する全フレームに対して、エラーフレームの符号化モードにかかわらず、符号化モードを強制的に画面内符号化モードに変更して符号化する（Ｓ１０８）。符号化モードの強制的な変更は、特定されたエラー領域とエラー領域に隣接する任意の領域に存在する全符号化ブロック（又マクロブロック、又はスライス）のみに対してのみ行う。
【００３７】
上述したようにして処理が実行された後、動画像コンテンツに係るデータの送信が終了したか否かが判断される（Ｓ１１０）。その結果、動画像コンテンツに係るデータの送信が終了した場合には動作を終了し、そうでない場合には次のパケットを送信して（Ｓ１１１）上述した処理を繰り返し行う。
【００３８】
図５において、エラーパケットが含まれるフレームＦｒａｍｅ１に対して、強制的な画面内符号化モードへの変更が実施されたのが、フレームＦｒａｍｅ４に該当する。フレームＦｒａｍｅ４においては、領域ｄ１のみが符号化モードを強制的に画面内符号化モードに変更して符号化される。
【００３９】
本実施形態によれば、図５に一例を示すようにフレームＦｒａｍｅ４でエラー領域とその隣接領域を画面内符号化モードに変更することにより、エラー領域とその隣接領域は、フレームＦｒａｍｅ３のエラー領域とその隣接領域を参照しない。したがって、エラーの伝搬はフレームＦｒａｍｅ３までで抑止され、フレームＦｒａｍｅ４以降へは伝搬しない。また、フレーム全体ではなく、エラー領域とその隣接領域のみについて画面内符号化モードに変更して符号化するので符号量の増大も抑制することができ、符号量が大幅に変動することも防止できる。
【００４０】
また、図４に示すように、符号化モードを強制的に画面内符号化モードに変更する前に、判定部１８若しくは符号化モード指定部１９がエラーパケットに含まれる符号化データが属するフレームの符号化モードを判定するようにしても良い（Ｓ２０８）。このようにした場合には、エラーパケットに含まれる符号化データが属するフレームに応じて適切な処理を行うことが可能となる。
【００４１】
すなわち、ステップＳ２０８での判定の結果、エラーパケットに含まれる符号化データが属するフレームの符号化モードが、双方向予測符号化モード（Ｂフレーム）と判定された場合には、それ自身が被参照フレームとなることはない。したがって、エラーパケットに対する処理は一切実施しない（Ｓ２１０）。一方、エラーパケットに含まれる符号化データが属するフレームの符号化モードが、画面内符号化モード（Ｉフレーム）又は順方向予測符号化モード（Ｐフレーム）と判定された場合には、図１に示したステップＳ１０８と同様の処理を行う。
【００４２】
図４に示すステップＳ２０１〜Ｓ２０７、Ｓ２０９〜Ｓ２１２に係る各々の処理は、図３に示したステップＳ１０１〜Ｓ１０７、Ｓ１０８〜Ｓ１１１と同様であるので、説明は省略する。
【００４３】
なお、エラー領域に隣接する任意の領域は、本発明において特に限定されるものではない。例えば、符号量が限られているか、又は符号量の増加を極力避けたい場合には、エラー領域とそのエラー領域に直接隣接する領域に限定して符号化モードを強制的に画面内符号化モードに変更するようにすれば良い。また、例えば、符号量に余裕がある場合は図６に一例を示すように、エラー発生フレームＦｒａｍｅ１からの距離（フレーム数）に応じて、符号化モードを強制的に画面内符号化モードに変更する領域ａ２、ｂ２、ｃ２、ｄ２を拡大するように構成しても良い。
【００４４】
（第２の実施形態）
次に、本発明の第２の実施形態について説明する。
【００４５】
上述した第１の実施形態では、動画像コンテンツに係るデータをリアルタイム符号化することを前提としている。それに対して、第２の実施形態では、コンテンツ毎に、すべてのフレームの符号化モードが画面内符号化モードであるファイルを含む、相互に異なる複数の符号化ビットレートで符号化した複数のファイルを設けておく。これにより、エラーパケットによる影響を受ける領域（エラーパケットに係る領域とその隣接領域）は、符号化モードが画面内符号化モードであるファイルのデータを用いることで、符号量を大幅に変動させることなくエラーが伝搬するフレームの数を低減できる。
【００４６】
第２の実施形態に係る送信装置及び受信装置の構成は、第１の実施形態に係る送信装置及び受信装置と同様であるので、説明は省略する。ただし、第２の実施形態に係る送信装置のストレージ部１１には、１つの動画像コンテンツに対して、複数種類の符号化ビットレートで符号化されたファイルが格納されている。また、データ処理部１２は、符号量制御部１７の制御により、随時ストレージ部１１から所定の単位（例えば、ブロック、マクロブロック、スライス、フレームの単位）でデータを検索して読み出し可能な構成になっている。なお、第２の実施形態においては、符号化済みのものがストレージ部１１に格納されるので、データ処理部１２は符号化処理を行う機能を備えていなくとも良い。
【００４７】
以下の説明では、送信装置のストレージ部１１に、図７に示すようなコンテンツ１に対して、７種類の符号化ビットレートで符号化されたファイルが格納されているものとする。コンテンツ１は、ファイル番号１〜５が、符号化モードが画面内符号化モードであるフレームの周期Ｎ＝１５、順方向予測符号化フレーム又は画面内符号化フレームの周期Ｍ＝３である符号化パターンで符号化されたファイルである。また、ファイル番号６，７は、全フレームが画面内符号化モード（Ｍ＝１、Ｎ＝１）で符号化されたファイルである。ファイル番号１〜５及び６、７は、同一コンテンツに対して、同一の符号化フォーマットを用いて、異なる符号化ビットレート（単位時間あたりの発生符号量）で符号化されたものである。
【００４８】
第２の実施形態に係る送信装置及び受信装置の動作について説明する。
現在、コンテンツ１のファイル番号３が、ストレージ部１１から符号化の順序で読み出され、データ処理部１２へ入力されていると仮定する。データ処理部１２へ入力された符号化データは、所定のパケット・フォーマットに従ってパケット化され、送信バッファ１３を介して送信部１４へ入力される。送信部１４へ入力されたパケットは、任意の通信路を経由して受信装置（クライアント）へ送信される。
【００４９】
受信装置では、図８に示すようにパケットＰａｃｋｅｔ１、Ｐａｃｋｅｔ２、Ｐａｃｋｅｔ３、Ｐａｃｋｅｔ５の順序で受信し、４番目（シーケンス番号が４）のパケットが受信されなかった（何らかの理由により、前記通信路上で消失した）と仮定する。
【００５０】
受信装置で受信されたパケットは、受信バッファ２１に一時蓄積された後、受信部２２の制御により読み出され、エラー検出部２６によりエラー検出処理が施される。その結果、エラーがない場合は、復号処理部２３での復号化処理、及び画像処理部２４での任意の画像処理が実施された後、表示部２５に表示される。一方、エラーが検出されるか又はパケットの消失が検出された場合（本実施形態では図８に示すように４番目のパケットが消失）には、エラーパケットの前後で正常に受信されたパケットを基に、第１の実施形態と同様にしてエラーパケットが特定される。
【００５１】
そして、エラー検出部２６により得られたエラーパケットを特定するパラメータやジッター管理部２８で算出された受信間隔の平均値や変動幅を含む受信状態情報が、送信部２７より送信装置（サーバー）へ送信される。
【００５２】
受信装置から送信された受信状態情報は、送信装置の受信部１５で受信された後、受信状態情報抽出部１６へ入力され、受信状態情報を構成する各パラメータに分離される。分離されたパラメータの内、エラーパケットのシーケンス番号及びフレーム番号は、判定部１８へ入力され、受信パケットに関するジッターの時間的変化に係るジッター情報（平均値、変動幅）は、符号量制御部１７へ入力される。
【００５３】
判定部１８では、受信状態情報に基づいて送信済みパケットにエラーが発生したことが確認されたとき、受信状態情報抽出部１６で抽出されたエラーパケットのシーケンス番号及びフレーム番号を基に、第１の実施形態と同様にして各種判定が行われる。すなわち、エラーパケットに対する処理を実施するか否か、エラーパケットと同一のパケットが送信バッファに残存しているか否か、またそのパケットを受信装置に対して再送信した場合に受信装置で有効データとして扱われるか否かの判定を行う。
【００５４】
判定部１８での判定の結果、再送データが受信装置で無効になると判定された場合には、判定結果及びエラーパケットに含まれる符号化データを特定する情報が、符号化モード指定部１９へ入力される。
【００５５】
符号化モード指定部１９は、判定結果及び符号化データを特定する情報を受けて、エラーパケットに含まれる符号化データと隣接する領域を指定する情報と、符号化モード指定情報（この場合は画面内符号化モード）を符号量制御部１７に出力する。
【００５６】
ここで、図７に示したコンテンツ１、ファイル番号３のファイルをストリーミング中であると仮定する。このとき、符号量制御部１７は、データ処理部１２に対して、符号化モード指定部１９により指定された領域に限定して全フレームが画面内符号化モードで符号化されたファイル番号６又は７を指定し、その他の領域はファイル番号３から読み出すよう命令を出す。このエラー領域とその隣接領域を画面内符号化データで置換する処理は、次の画面内符号化フレームの直前のフレームまで継続される。
【００５７】
本実施形態のように、全フレームが画面内符号化モードで符号化されたファイルが複数存在する場合には、現在ストリーミング中のファイルのビットレートや画質等の諸事情に応じて適宜選択することができる。上述した例では、ストリーミング中のファイルのビットレートが３Ｍｂｐｓであることから、ファイル番号６（ビットレート：１２Ｍｂｐｓ）を選択するのが望ましい。
【００５８】
本実施形態によれば、エラー領域とその隣接領域のデータについては、全フレームが画面内符号化モードで符号化されたファイルから検索して読み出し、受信装置に送信される。これにより、エラーが伝搬するフレームの数を低減することができる。また、フレーム全体ではなく、エラー領域とその隣接領域のみについて画面内符号化モードで符号化されたファイルから読み出すので符号量の増大も抑制することができ、符号量が大幅に変動することも防止できる。
【００５９】
なお、判定部１８にて再送データが受信装置で無効になると判定された場合に、第１の実施形態と同様に、エラーパケットに含まれるデータが属するフレームの符号化モードを判定し、判定結果に応じて処理を行うようにしても良い。
【００６０】
次に、本実施形態における符号量制御方法について説明する。
図９に示すように、受信状態情報に含まれるジッター情報を入力された符号量制御部１７は、パケットサイズとパケット受信間隔の平均値Ｊｍと変動幅Ｊｂに基づいて、安定して通信可能なレートＬを算出する（Ｓ３０１〜Ｓ３０３）。安定して通信可能なレートＬの算出方法としては、表１及び式１による方法が一例として考えられる。
【００６１】
【表１】
0005178311.tif 000002
【００６２】
【数１】
0005178311.tif 000003
【００６３】
受信装置におけるパケットの受信間隔の平均値Ｊｍとその変動幅Ｊｂを表１に適用して、回線容量の増減係数Ｄを導出する。例えば、パケットの受信間隔の平均値Ｊｍ＝ａａ、変動幅Ｊｂ＝ｗｗと仮定すると、回線容量の増減係数Ｄ＝γとなる。送信部１４から現在送信されているパケットのサイズと送信間隔から送信ビットレートＣを算出し、導出された回線容量の増減係数Ｄ＝γと共に式１に代入すると、安定して通信可能なレートＬ＝Ｃ−（Ａ×γ）となる。
【００６４】
符号量制御部１７は、算出された安定して通信可能なレートＬに従って、安定して通信可能なレートＬを上回らない範囲で最もビットレートの近いファイルを選択する（Ｓ３０４）。これにより、データ処理部１２は、符号量制御部１７より指示されたファイルをストレージ部１１から読み出して送信する（Ｓ３０５）。そして、次の受信状態情報を受信して、算出された安定して通信可能なレートＬの値が更新されるまで選択されたファイルの符号化データを送信データとして使用する。例えば、レートＬ＝１．５Ｍｂｐｓとなった場合には、現状選択されているファイルはファイル番号３、ビットレート３Ｍｂｐｓであるから、ビットレートが１．５Ｍｂｐｓ以下を満たすにはファイル番号２、ビットレート１Ｍｂｐｓが選択される。
【００６５】
上述したようにして処理を実行した後、動画像コンテンツに係るデータの送信が終了したか否かが判断される（Ｓ３０６）。その結果、動画像コンテンツに係るデータの送信が終了した場合には動作を終了し、そうでない場合にはＳ３０１に戻る。
【００６６】
（本発明の他の実施形態）
上述した実施形態の機能を実現するべく各種のデバイスを動作させるように、該各種デバイスと接続された装置又はシステム内のコンピュータ（ＣＰＵ又はＭＰＵ）に対し、前記実施形態の機能を実現するためのソフトウェアのプログラムを供給する。そして、そのシステム又は装置のコンピュータに格納されたプログラムに従って前記各種デバイスを動作させることによって実施したものも、本発明の範疇に含まれる。
また、この場合、前記ソフトウェアのプログラム自体が上述した実施形態の機能を実現することになり、そのプログラム自体は本発明を構成する。また、そのプログラムをコンピュータに供給するための手段、例えばかかるプログラムを格納した記録媒体は本発明を構成する。かかるプログラムを記憶する記録媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
また、供給されたプログラムがコンピュータにて稼働しているオペレーティングシステム又は他のアプリケーションソフト等と共同して上述の実施形態の機能が実現される場合にもかかるプログラムは本発明の実施形態に含まれることは言うまでもない。
さらに、供給されたプログラムがコンピュータに係る機能拡張ボードや機能拡張ユニットに備わるメモリに格納された後、そのプログラムの指示に基づいてその機能拡張ボード等に備わるＣＰＵ等が実際の処理の一部又は全部を行う。その処理によって上述した実施形態の機能が実現される場合にも本発明に含まれることは言うまでもない。
【００６７】
なお、前記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【図面の簡単な説明】
【００６８】
【図１】本発明の実施形態に係る送信装置の構成例を示す図である。
【図２】本発明の実施形態に係る受信装置の構成例を示す図である。
【図３】第１の実施形態に係る送信装置の動作例を示すフローチャートである。
【図４】第１の実施形態に係る送信装置の他の動作例を示すフローチャートである。
【図５】第１の実施形態に係る符号化処理の一例を説明するための図である。
【図６】第１の実施形態に係る符号化処理の他の例を説明するための図である。
【図７】第２の実施形態におけるストレージ部に格納されるファイル構成を説明するための図である。
【図８】第２の実施形態における動作を説明するための図である。
【図９】第２の実施形態に係る送信装置の動作（符号量制御）の例を示すフローチャートである。
【符号の説明】
【００６９】
１１  ストレージ部
１２  データ処理部
１３  送信バッファ
１４  送信部
１５  受信部
１６  受信状態情報抽出部
１７  符号量制御部
１８  判定部
１９  符号化モード指定部
【図１】
0005178311.tif 000004
【図２】
0005178311.tif 000005
【図３】
0005178311.tif 000006
【図４】
0005178311.tif 000007
【図５】
0005178311.tif 000008
【図６】
0005178311.tif 000009
【図７】
0005178311.tif 000010
【図８】
0005178311.tif 000011
【図９】
0005178311.tif 000012