(57)【特許請求の範囲】
【請求項１】
画像データ及び／又は音声データを圧縮符号化して得たストリームデータを暗号化する際に、上記ストリームデータの所定単位毎に、当該所定単位の先頭から複数バイト単位の暗号化ブロックサイズ毎に暗号化を行い、暗号化ブロックサイズに満たない末尾のデータについては暗号化を行わない暗号化装置と、
所定のファイル形式となるように、暗号化された上記ストリームデータに少なくとも当該ストリームデータを送信するために定義されたパケットサイズを示すパケット化制御情報を付加してファイルを作成するオーサリング装置と、
上記オーサリング装置によって作成されたファイルを所定のトランスポートプロトコルによるネットワーク経由で配信するストリーミングサーバと、
上記ストリーミングサーバから暗号化された上記ストリームデータを受信し、上記ストリームデータのうち、暗号化されている部分を復号化し、元の画像データに復号するクライアント端末とを備え、
上記ストリーミングサーバは、上記ストリームデータと共に、パケット毎に配信される上記ストリームデータのサイズが上記暗号化ブロックサイズの整数倍となるように、前及び／又は後ろのストリームデータの一部を拡張領域に格納してパケット化する第１のパケット化手法と、上記所定単位毎に暗号化ブロックサイズの整数倍を単位としてパケット化する第２のパケット化手法とを、ネットワークの通信状態に応じて切り換え、パケット単位で上記クライアント端末に配信すること
を特徴とするストリーミングシステム。
【請求項２】
上記ストリームデータは、上記画像データに対して予測符号化に基づく画像処理を施して圧縮符号化したものであることを特徴とする請求項１記載のストリーミングシステム。
【請求項３】
上記所定単位は、上記画像データの表示単位となるフレーム、又はランダムアクセス可能な単位であることを特徴とする請求項２記載のストリーミングシステム。
【請求項４】
上記ランダムアクセス可能な単位は、上記画像データの符号化が完結される複数の上記フレームからなるグループであることを特徴とする請求項３記載のストリーミングシステム。
【請求項５】
暗号化装置が画像データ及び／又は音声データを圧縮符号化して得たストリームデータを暗号化する際に、上記ストリームデータの所定単位毎に、当該所定単位の先頭から複数バイト単位の暗号化ブロックサイズ毎に暗号化を行うと共に、暗号化ブロックサイズに満たない末尾のデータについては暗号化を行わず、
オーサリング装置が所定のファイル形式となるように、暗号化された上記ストリームデータに少なくとも当該ストリームデータを送信するために定義されたパケットサイズを示すパケット化制御情報を付加してファイルを作成し、
ストリーミングサーバが上記オーサリング装置によって作成されたファイルを所定のトランスポートプロトコルによるネットワーク経由で配信する際に、上記ストリームデータと共に、パケット毎に配信される上記ストリームデータのサイズが上記暗号化ブロックサイズの整数倍となるように、前及び／又は後ろのストリームデータの一部を拡張領域に格納してパケット化する第１のパケット化手法と、上記所定単位毎に暗号化ブロックサイズの整数倍を単位としてパケット化する第２のパケット化手法とを、ネットワークの通信状態に応じて切り換え、パケット単位で配信し、
クライアント端末が上記ストリーミングサーバから暗号化された上記ストリームデータを受信し、上記ストリームデータのうち、暗号化されている部分を復号化し、元の画像データに復号すること
を特徴とするストリーミング方法。
【請求項６】
画像データ及び／又は音声データを圧縮符号化して得たストリームデータを、当該ストリームデータの所定単位毎に、当該所定単位の先頭から複数バイト単位の暗号化ブロックサイズ毎に暗号化を行い、暗号化ブロックサイズに満たない末尾のデータについては暗号化を行わないようにして暗号化し、所定のファイル形式となるように、暗号化された上記ストリームデータに少なくとも当該ストリームデータを送信するために定義されたパケットサイズを示すパケット化制御情報を付加して作成されたファイルを入力し、
上記パケット化制御情報に基づいて上記ファイルをパケット化するパケット化手段と、
パケット化された上記ファイルを所定のトランスポートプロトコルによるネットワーク経由でクライアント端末に配信する配信手段とを有し、
上記パケット化手段は、上記ストリームデータと共に、パケット毎に配信される上記ストリームデータのサイズが上記暗号化ブロックサイズの整数倍となるように、前及び／又は後ろのストリームデータの一部を拡張領域に格納する第１のパケット化手法と、上記所定単位毎に暗号化ブロックサイズの整数倍でパケット化する第２のパケット化手法とを、ネットワークの通信状態に応じて切り換えてパケット化すること
を特徴とするストリーミングサーバ。
【請求項７】
上記ストリームデータは、上記画像データに対して予測符号化に基づく画像処理を施して圧縮符号化したものであることを特徴とする請求項６記載のストリーミングサーバ。
【請求項８】
上記所定単位は、上記画像データの表示単位となるフレーム、又はランダムアクセス可能な単位であることを特徴とする請求項７記載のストリーミングサーバ。
【請求項９】
画像データ及び／又は音声データを圧縮符号化して得たストリームデータを、当該ストリームデータの所定単位毎に、当該所定単位の先頭から複数バイト単位の暗号化ブロックサイズ毎に暗号化を行い、暗号化ブロックサイズに満たない末尾のデータについては暗号化を行わないようにして暗号化し、所定のファイル形式となるように、暗号化された上記ストリームデータに少なくとも当該ストリームデータを送信するために定義されたパケットサイズを示すパケット化制御情報を付加して作成されたファイルを入力し、
上記パケット化制御情報に基づいて上記ファイルをパケット化するパケット化工程と、
パケット化された上記ファイルを所定のトランスポートプロトコルによるネットワーク経由でクライアント端末に配信する配信工程とを有し、
上記パケット化工程では、上記ストリームデータと共に、パケット毎に配信される上記ストリームデータのサイズが上記暗号化ブロックサイズの整数倍となるように、前及び／又は後ろのストリームデータの一部を拡張領域に格納する第１のパケット化手法と、上記所定単位毎に暗号化ブロックサイズの整数倍でパケット化する第２のパケット化手法とが、ネットワークの通信状態に応じて切り換えられてパケット化されること
を特徴とするデータ配信方法。
【請求項１０】
所定の動作をコンピュータに実行させるためのプログラムであって、
画像データ及び／又は音声データを圧縮符号化して得たストリームデータを、当該ストリームデータの所定単位毎に、当該所定単位の先頭から複数バイト単位の暗号化ブロックサイズ毎に暗号化を行い、暗号化ブロックサイズに満たない末尾のデータについては暗号化を行わないようにして暗号化し、所定のファイル形式となるように、暗号化された上記ストリームデータに少なくとも当該ストリームデータを送信するために定義されたパケットサイズを示すパケット化制御情報を付加して作成されたファイルを入力し、
上記パケット化制御情報に基づいて上記ファイルをパケット化するパケット化工程と、
パケット化された上記ファイルを所定のトランスポートプロトコルによるネットワーク経由でクライアント端末に配信する配信工程とを有し、
上記パケット化工程では、上記ストリームデータと共に、パケット毎に配信される上記ストリームデータのサイズが上記暗号化ブロックサイズの整数倍となるように、前及び／又は後ろのストリームデータの一部を拡張領域に格納する第１のパケット化手法と、上記所定単位毎に暗号化ブロックサイズの整数倍でパケット化する第２のパケット化手法とが、ネットワークの通信状態に応じて切り換えられてパケット化されること
を特徴とするプログラム。
【請求項１１】
所定の動作をコンピュータに実行させるためのプログラムが記録されたコンピュータ読み取り可能な記録媒体であって、
画像データ及び／又は音声データを圧縮符号化して得たストリームデータを、当該ストリームデータの所定単位毎に、当該所定単位の先頭から複数バイト単位の暗号化ブロックサイズ毎に暗号化を行い、暗号化ブロックサイズに満たない末尾のデータについては暗号化を行わないようにして暗号化し、所定のファイル形式となるように、暗号化された上記ストリームデータに少なくとも当該ストリームデータを送信するために定義されたパケットサイズを示すパケット化制御情報を付加して作成されたファイルを入力し、
上記パケット化制御情報に基づいて上記ファイルをパケット化するパケット化工程と、
パケット化された上記ファイルを所定のトランスポートプロトコルによるネットワーク経由でクライアント端末に配信する配信工程とを有し、
上記パケット化工程では、上記ストリームデータと共に、パケット毎に配信される上記ストリームデータのサイズが上記暗号化ブロックサイズの整数倍となるように、前及び／又は後ろのストリームデータの一部を拡張領域に格納する第１のパケット化手法と、上記所定単位毎に暗号化ブロックサイズの整数倍でパケット化する第２のパケット化手法とが、ネットワークの通信状態に応じて切り換えられてパケット化されること
を特徴とするプログラムが記録された記録媒体。
【請求項１２】
画像データ及び／又は音声データを圧縮符号化し、所定単位毎に、当該所定単位の先頭から複数バイト単位の暗号化ブロックサイズ毎に暗号化を行い、暗号化ブロックサイズに満たない末尾のデータについては暗号化を行わないストリームデータが所定のファイル形式となるように、少なくとも当該ストリームデータを送信するために定義されたパケットサイズを示すパケット化制御情報を付加してファイルを作成し、上記パケット化制御情報に基づいて、パケット単位で所定のトランスポートプロトコルによるネットワーク経由でストリーミングサーバから配信された当該パケットを受信する受信手段と、
上記パケットを逆パケット化する逆パケット化手段と、
上記ストリームデータのうち、暗号化されている部分を復号化する暗号復号化手段と、
復号化された上記ストリームデータを元の画像データに復号する復号手段とを有し、
上記パケットは、上記ストリームデータと共に、パケット毎に配信される上記ストリームデータのサイズが上記暗号化ブロックサイズの整数倍となるように、前及び／又は後ろのストリームデータの一部を拡張領域に格納してパケット化する第１のパケット化手法と、上記所定単位毎に暗号化ブロックサイズの整数倍を単位としてパケット化する第２のパケット化手法とが、ネットワークの通信状態に応じて切り換えられてパケット化されたものであること
を特徴とするクライアント端末。
【請求項１３】
上記ストリームデータは、上記画像データに対して予測符号化に基づく画像処理を施して圧縮符号化したものであることを特徴とする請求項１２記載のクライアント端末。
【請求項１４】
上記所定単位は、上記画像データの表示単位となるフレーム、又はランダムアクセス可能な単位であることを特徴とする請求項１３記載のクライアント端末。
【請求項１５】
画像データ及び／又は音声データを圧縮符号化し、所定単位毎に、当該所定単位の先頭から複数バイト単位の暗号化ブロックサイズ毎に暗号化を行い、暗号化ブロックサイズに満たない末尾のデータについては暗号化を行わないストリームデータが所定のファイル形式となるように、少なくとも当該ストリームデータを送信するために定義されたパケットサイズを示すパケット化制御情報を付加してファイルを作成し、上記パケット化制御情報に基づいて、パケット単位で所定のトランスポートプロトコルによるネットワーク経由でストリーミングサーバから配信された当該パケットを受信する受信工程と、
上記パケットを逆パケット化する逆パケット化工程と、
上記ストリームデータのうち、暗号化されている部分を復号化する暗号復号化工程と、
復号化された上記ストリームデータを元の画像データに復号する復号工程とを有し、
上記パケットは、上記ストリームデータと共に、パケット毎に配信される上記ストリームデータのサイズが上記暗号化ブロックサイズの整数倍となるように、前及び／又は後ろのストリームデータの一部を拡張領域に格納してパケット化する第１のパケット化手法と、上記所定単位毎に暗号化ブロックサイズの整数倍を単位としてパケット化する第２のパケット化手法とが、ネットワークの通信状態に応じて切り換えられてパケット化されたものであること
を特徴とするデータ復号方法。
【請求項１６】
所定の動作をコンピュータに実行させるためのプログラムであって、
画像データ及び／又は音声データを圧縮符号化し、所定単位毎に、当該所定単位の先頭から複数バイト単位の暗号化ブロックサイズ毎に暗号化を行い、暗号化ブロックサイズに満たない末尾のデータについては暗号化を行わないストリームデータが所定のファイル形式となるように、少なくとも当該ストリームデータを送信するために定義されたパケットサイズを示すパケット化制御情報を付加してファイルを作成し、上記パケット化制御情報に基づいて、パケット単位で所定のトランスポートプロトコルによるネットワーク経由でストリーミングサーバから配信された当該パケットを受信する受信工程と、
上記パケットを逆パケット化する逆パケット化工程と、
上記ストリームデータのうち、暗号化されている部分を復号化する暗号復号化工程と、
復号化された上記ストリームデータを元の画像データに復号する復号工程とを有し、
上記パケットは、上記ストリームデータと共に、パケット毎に配信される上記ストリームデータのサイズが上記暗号化ブロックサイズの整数倍となるように、前及び／又は後ろのストリームデータの一部を拡張領域に格納してパケット化する第１のパケット化手法と、上記所定単位毎に暗号化ブロックサイズの整数倍を単位としてパケット化する第２のパケット化手法とが、ネットワークの通信状態に応じて切り換えられてパケット化されたものであること
を特徴とするプログラム。
【請求項１７】
所定の動作をコンピュータに実行させるためのプログラムが記録されたコンピュータ読み取り可能な記録媒体であって、
画像データ及び／又は音声データを圧縮符号化し、所定単位毎に、当該所定単位の先頭から複数バイト単位の暗号化ブロックサイズ毎に暗号化を行い、暗号化ブロックサイズに満たない末尾のデータについては暗号化を行わないストリームデータが所定のファイル形式となるように、少なくとも当該ストリームデータを送信するために定義されたパケットサイズを示すパケット化制御情報を付加してファイルを作成し、上記パケット化制御情報に基づいて、パケット単位で所定のトランスポートプロトコルによるネットワーク経由でストリーミングサーバから配信された当該パケットを受信する受信工程と、
上記パケットを逆パケット化する逆パケット化工程と、
上記ストリームデータのうち、暗号化されている部分を復号化する暗号復号化工程と、
復号化された上記ストリームデータを元の画像データに復号する復号工程とを有し、
上記パケットは、上記ストリームデータと共に、パケット毎に配信される上記ストリームデータのサイズが上記暗号化ブロックサイズの整数倍となるように、前及び／又は後ろのストリームデータの一部を拡張領域に格納してパケット化する第１のパケット化手法と、上記所定単位毎に暗号化ブロックサイズの整数倍を単位としてパケット化する第２のパケット化手法とが、ネットワークの通信状態に応じて切り換えられてパケット化されたものであること
を特徴とするプログラムが記録された記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、圧縮符号化された画像データを暗号化して所定のトランスポートプロトコルによるネットワーク経由で配信するストリーミングシステム及びそのストリーミング方法、ストリーミングサーバ及びそのデータ配信方法、クライアント端末及びそのデータ復号方法、並びにプログラム及び記録媒体に関する。
【０００２】
【従来の技術】
現在、インターネット上での映像（音声及びビデオ）データの伝送には、ダウンロード型伝送方式とストリーム型伝送方式とがある。このダウンロード型伝送方式では、配信サーバから送信された映像ファイルは、端末側で一旦蓄積され、その後、映像ファイルのデータ（映像データ）が再生されることとなる。このため、この方式では、ファイルの転送が完了するまでは、端末側ではデータの再生を行うことができず、ダウンロード型伝送方式は、映像データ等の長時間再生には、不向きである。
【０００３】
一方、ストリーム型伝送方式では、ストリーミングサーバから端末への伝送が行われている間にも、受信したデータの再生が行われる。このストリーム型伝送方式は、ＩＥＴＦ（Internet Engineering Task Force）のＲＦＣ１８８９において規定されているＲＴＰ（Real-Time Transport Protocol）と呼ばれるプロトコルを用いるものが主流となっている。
【０００４】
【発明が解決しようとする課題】
ところで、最近では、暗号化通信によるセキュリティ対策にも感心が高まっており、例えば、単に特定のアプリケーションによる通信だけを暗号化するのではなく、ホストから送信されるあらゆる通信をＩＰ（Internet Protocol）レベルで暗号化するＩＰＳｅｃ（IP Security Protocol）等が提案されている。このＩＰＳｅｃは、ＩＥＴＦが標準化を進めている暗号化通信の標準規格である。
【０００５】
しかしながら、このＩＰＳｅｃでは、ブロックサイズに合わせたパディングやパディングサイズ等をペイロードデータに付加することによって暗号化通信を行っているため、送信側及び受信側の通信部分での暗号化、復号化が必要となり、現状の配信ツールでの実装が困難であるという問題があった。
【０００６】
また、パディングやパディングサイズを付加する場合、実データよりも暗号化データのサイズが大きくなり、暗号化前後でサイズの変化が起きる。このため、ストリームのビットレートやファイルサイズが変化してしまうという問題があった。また、ストリーミングで送信するデータ数が大きくなるため、ストリーミングのパフォーマンスが低下するという問題があった。
【０００７】
また、ＭＰＥＧ４（Moving Picture Experts Group 4）で圧縮符号化された画像データを暗号化してストリーミングすることも考えられる。ここで、ＭＰＥＧ４では、ストリーミング時にはビデオパケット単位で送信を行うことがＲＦＣ３０１６において規定されている。しかし、ビデオパケットの切れ目と暗号化ブロックの切れ目とが一致していないため、ビデオパケット単位で完結する暗号化ができず、伝送誤り等によってビデオパケットが欠落した場合には、そのビデオパケットのみならず、前後のビデオパケットまで復号できなくなるという問題があった。
【０００８】
本発明は、このような従来の実情に鑑みて提案されたものであり、暗号化によるサイズの増加を抑え、ストリーム時とダウンロード再生時との双方に対応できるストリーミングシステム及びそのストリーミング方法、ストリーミングサーバ及びそのデータ配信方法、クライアント端末及びそのデータ復号方法、並びにプログラム及び記録媒体を提供することを目的とする。
【０００９】
【課題を解決するための手段】
上述した目的を達成するために、本発明に係るストリーミングシステムは、画像データ及び／又は音声データを圧縮符号化して得たストリームデータを暗号化する際に、上記ストリームデータの所定単位毎に、当該所定単位の先頭から複数バイト単位の暗号化ブロックサイズ毎に暗号化を行い、暗号化ブロックサイズに満たない末尾のデータについては暗号化を行わない暗号化装置と、所定のファイル形式となるように、暗号化された上記ストリームデータに少なくとも当該ストリームデータを送信するために定義されたパケットサイズを示すパケット化制御情報を付加してファイルを作成するオーサリング装置と、上記オーサリング装置によって作成されたファイルを所定のトランスポートプロトコルによるネットワーク経由で配信するストリーミングサーバと、上記ストリーミングサーバから暗号化された上記ストリームデータを受信し、上記ストリームデータのうち、暗号化されている部分を復号化し、元の画像データに復号するクライアント端末とを備え、上記ストリーミングサーバは、上記ストリームデータと共に、パケット毎に配信される上記ストリームデータのサイズが上記暗号化ブロックサイズの整数倍となるように、前及び／又は後ろのストリームデータの一部を拡張領域に格納してパケット化する第１のパケット化手法と、上記所定単位毎に暗号化ブロックサイズの整数倍を単位としてパケット化する第２のパケット化手法とを、ネットワークの通信状態に応じて切り換え、パケット単位で上記クライアント端末に配信することを特徴とする。
【００１３】
【発明の実施の形態】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。この実施の形態は、本発明を、ＭＰＥＧ４（Moving Picture Experts Group 4）で圧縮符号化された画像データを暗号化し、クライアント端末に対してリアルタイムで配信する、又はクライアント端末に対してダウンロード可能とさせるコンテンツ配信システムに適用したものである。なお、本発明は、例えばＭＰＥＧ４オーディオで圧縮符号化された音声データについても適用可能であるが、以下では、特に画像データについてのみ説明する。
【００１４】
先ず、本実施の形態におけるコンテンツ配信システムの概念構成を図１に示す。図１に示すように、コンテンツ配信システム１は、ＭＰＥＧ４符号化部１０と、暗号化部１１と、オーサリング部１２と、ストリーミングサーバ１３と、配信サーバ１４と、記録部２０と、クライアント端末３０とにより構成される。なお、このコンテンツ配信システム１をストリーミングシステムとして構成する場合には、配信サーバ１４を省略することができる。このストリーミング技術としては、Ａｐｐｌｅ社のＱｕｉｃｋＴｉｍｅ（登録商標）等を用いることができる。
【００１５】
図１において、図示しないカメラ、ＶＴＲ等の動画像入力装置から入力され、ディジタル信号に変換された画像信号は、先ずＭＰＥＧ４符号化部１０に入力される。
【００１６】
ＭＰＥＧ４符号化部１０は、ＤＣＴ変換、量子化、可変長符号化、逆量子化、逆ＤＣＴ変換、動き補償等を用いて、画像信号をＭＰＥＧ４圧縮符号化し、ストリームデータを生成する。そして、ＭＰＥＧ４符号化部１０は、生成したストリームデータを暗号化部１１に供給する。
【００１７】
ここで、ＭＰＥＧ４符号化部１０において生成されたストリームデータは、簡単には図２に示すような構造とされている。図２に示すように、ＭＰＥＧ４画像圧縮情報は、ランダムアクセスを行うために時間情報等を含むＧＯＶ（Group of VOP）が複数存在して構成され、各ＧＯＶは、複数のＶＯＰ（Video Object Plane）からなる。なお、このＶＯＰは、フレームに相当するものである。
【００１８】
ＶＯＰは、幾つかのマクロブロックからなるビデオパケット（VP:Video Packet）と呼ばれる単位に区切られている。ここで図３（Ａ）に示すように、各ビデオパケットのうち、フレーム（ＶＯＰ）の最初のビデオパケットにはフレームヘッダ情報であるＶＯＰヘッダ（VOP header）が付加され、フレームの最初以外のビデオパケットにはビデオパケットヘッダ情報（VP header）が付加されている。また、ビデオ符号列の各ビデオパケットの先頭には、同期回復を図るためのマーカ（RM:Resynchronization marker）が付加される。
【００１９】
ビデオパケットヘッダ情報の詳細を図３（Ｂ）に示す。図３（Ｂ）に示すように、ビデオパケットヘッダには、ＨＥＣ（Header Extension Code）というフラグが含まれており、このフラグが“１”の場合には、図３（Ｃ）に示すように、ＶＯＰヘッダに含まれるタイムコードＭＴＢ及びＶＴＩ（タイムスタンプ）情報と、フレームの符号化に関わる情報であるＶＯＰの符号化モード情報ＶＣＰ、イントラＤＣ用ＶＬＣケーブル切り替え情報ＩＤＶＴ及び動きベクトル範囲情報ＶＦＦ等の情報がビデオパケットヘッダにも付加される。
【００２０】
図１に戻って、暗号化部１１は、ＭＰＥＧ４符号化部１０から供給されたストリームデータを所定の暗号化ブロック毎に暗号化する。
【００２１】
この際、図４に示すように、各ＧＯＶ毎の暗号化ブロックサイズで割り切れない余りのデータが生じる場合がある。従来、このような場合には、各ＧＯＶのデータサイズが暗号化ブロックサイズの整数倍となるようにパディングを付加していたが、本実施の形態では、このような余りのデータについては暗号化を行わず、生データのままとする。すなわち、暗号化ブロックサイズをｎバイトとしたとき、各ＧＯＶの最初のｎ＊ｍバイト（ｍは、０以上の整数）についてのみ暗号化を行い、余りの０乃至（ｎ−１）バイトについては生データとする。これにより、データサイズを増大させることなく暗号化することができ、暗号化の前後でデータサイズが変化することがない。
【００２２】
オーサリング部１２は、図５に示すように、暗号化部１１において暗号化されたストリームデータ１０２にヘッダ情報１０１とパケット化制御情報等の記載されたＳＤＰ（Session Description Protocol）ファイル１０４を含む付加情報１０３とを付加し、所定のファイル形式のファイル１００を作成して、記録部２０に記録する。そして、オーサリング部１２は、そのファイル１００を適宜取り出し、ストリーミングサーバ１３又は配信サーバ１４に供給する。なお、このファイル１００を図示しない記録媒体に記録し、その記録媒体をストリーミングサーバ１３又は配信サーバ１４に供給するようにしても構わない。
【００２３】
ストリーミングサーバ１３は、パケット化制御情報に基づいて、供給されたファイル１００の暗号化ストリームデータ１０２をパケット化し、ＲＴＰ及びＲＴＳＰ（Real-Time Streaming Protocol）に従って、パケット毎にデータをクライアント端末３０に配信し、リアルタイム再生させる。
【００２４】
一方、配信サーバ１４は、供給されたファイル１００をクライアント端末３０に対してダウンロード可能とさせる。
【００２５】
ところで、ＲＦＣ３０１６では、図６に示すように、１以上のビデオパケットをまとめて１つのＲＴＰパケットとして送信することが定義されている。このＲＴＰパケットの例を図７に示す。なお、この図ではＲＴＰパケットを３２ビット毎に区切って並べて示しており、横軸の００〜３１が３２ビットに区切られたビット位置を示している。
【００２６】
図７において、RTP headerと示されているＶ，Ｐ，Ｘ・・・からＣＳＲＣまでが、図６に示したＲＴＰヘッダに相当する。図７において、Ｘは、拡張ビットを示し、Ｘ＝１のときには、ＲＴＰヘッダの最後に拡張領域が付加される。また、Ｍは、マーカービットを示し、ＲＴＰパケットに各ＶＯＰの最後のビデオパケットが含まれる場合にのみ、Ｍ＝１とされる。
【００２７】
ストリームデータは、１以上のビデオパケット毎にＲＴＰペイロード（RTP Payload）に入れられる。なお、ＲＴＰパケットのビット数が３２ビットの倍数でない場合には、ＲＴＰペイロードの最後にＲＴＰパディング（RTP Padding）と呼ばれるビット列を追加して、ＲＴＰパケットが３２ビットの倍数となるようにしても構わない。
【００２８】
ここで、ＲＦＣ３０１６では、ビデオパケットの切れ目と暗号化の単位である暗号化ブロックの切れ目とが一致しておらず、ビデオパケット単位で完結する暗号化ができない。このため、伝送路上でパケットロス等の伝送路誤りが生じると、欠落したビデオパケットだけではなく、その前後のビデオパケットまで復号できなくなるという問題があった。
【００２９】
そこで本実施の形態におけるストリーミングサーバ１３は、ＲＴＰヘッダ内の拡張領域を利用して、復号化に必要な暗号化ブロック境目のデータを付加してパケット化する。詳しくは、図８（Ａ）に示すように、暗号化ブロックの境目となる前後のビデオパケットのデータを拡張領域に付加し、パケット毎に送信されるストリームデータのサイズが暗号化ブロックサイズの整数倍になるようにする。さらに、付加された前のビデオパケットにおけるデータのサイズ（前付加データサイズ）と付加された後ろのビデオパケットにおけるデータのサイズ（後ろ付加データサイズ）との情報についても、拡張領域に付加する。
【００３０】
また、ＧＯＶの最後の生データは、図８（Ｂ）に示すような形にパケット化されるが、前にのみ暗号化ブロック境目のデータを付加することにより、暗号化ブロック長で割り切れなかったデータが生データであることが分かるため、生データのサイズを付加することなく送信することができる。
【００３１】
このように、ＲＴＰパケットの拡張ヘッダ領域に復号化に必要な暗号化ブロック境目のデータを付加して送信することにより、ストリーミングの際にパケットが欠落した場合にも、データを復号することができる。
【００３２】
なお、パケットの欠落がバースト的に起こるような環境下でストリーミングを行う場合には、上述したようなビデオパケットの整数倍を送信単位とするのではなく、図９に示すように、暗号化ブロックサイズの整数倍でストリームデータを区切って送信するようにしてもよい。すなわち、例えば暗号化ブロックサイズのｌ倍、ｍ倍を送信単位として１つのＲＴＰパケットとする。この際、ＧＯＶの最後の生データについては、例えば生データの直前にある暗号化ブロックサイズのｎ倍のストリームデータに生データを付加して１つのＲＴＰパケットとする。この場合、暗号化ブロックサイズで割り切れない余りのデータが生データであることを示す。
【００３３】
また、エラーレート等の伝送路の通信状況に応じて、上記の２種類の送信方法を切り替えるようにすることも可能である。このコンテンツ配信システム１では、上述したように、ストリームデータとは別にパケット化制御情報等の付加情報がファイルに付加されているため、ストリームデータに依存せずに、ストリームデータの送信単位を変更することができる。
【００３４】
以上のようにして生成されたＲＴＰパケットが、クライアント端末３０にリアルタイム配信される。
【００３５】
そこで、以下では、クライアント端末３０における復号再生手法について説明するが、ダウンロード後の再生については、通常の再生手順と同様であるため、説明を省略し、ストリーミングを行う場合のクライアント端末３０におけるリアルタイム再生手法についてのみ説明する。
【００３６】
図１０に示すように、クライアント端末３０は、ＲＴＳＰ送受信部３１と、ＲＴＰ逆パケット化部３２と、暗号復号化部３３と、ＭＰＥＧ４復号部３４とにより構成される。なお、図１０では、リアルタイム再生の説明に必要な部分のみを示している。
【００３７】
ＲＴＳＰ送受信部３１は、先ず画像データのリクエストをＲＴＳＰに従ってストリーミングサーバ１３に供給し、ストリーミングサーバ１３から上述したＳＤＰファイルを受け取る。そして、ＲＴＳＰ送受信部３１は、そのＳＤＰファイルに基づいてハンドル可能か否かを判断し、再生コマンドをストリーミングサーバ１３に供給する。また、ＲＴＳＰ送受信部３１は、停止、早送り、巻き戻し、指定した位置からの再生等のコマンドをＲＴＳＰに従ってストリーミングサーバ１３に供給することができる。これにより、クライアント端末３０側でストリーミングサーバ１３のデータを操作することができる。
【００３８】
ＲＴＰ逆パケット化部３２は、ＲＴＳＰ送受信部３１からの再生コマンドに応じてＲＴＰパケット単位で送信されたストリームデータを、以下に説明するようにＶＯＰ単位でまとめ、暗号復号化部３３に供給する。
【００３９】
ここで、クライアント端末３０のＲＴＰ逆パケット化部３２の動作について、図１１のフローチャートを用いて説明する。先ずステップＳ１において、ＲＴＰパケットデータを取得し、ステップＳ２において、前のＲＴＰパケットデータと同じタイムスタンプであるか否かが判別される。ステップＳ２において、前のＲＴＰパケットデータと同じタイムスタンプである場合にはステップＳ３に進み、そうでない場合にはステップＳ７に進む。
【００４０】
ステップＳ３では、前のＲＴＰパケットデータのパケットが欠落しているか否かが判別される。ステップＳ３において、前のＲＴＰパケットデータのパケットが欠落している場合にはステップＳ４に進み、そうでない場合にはステップＳ５に進む。
【００４１】
ステップＳ４では、ＲＴＰヘッダを除き、上述した前付加データと後ろ付加データとを取り出して付加する。そして、このデータをバッファに追加してステップＳ６に進む。
【００４２】
ステップＳ５では、ＲＴＰヘッダを除き、上述した後ろ付加データとを取り出して付加する。そして、このデータをバッファに追加された直前のデータの拡張部分から上書き追加してステップＳ６に進む。
【００４３】
ステップＳ６では、マーカービットが１であるか否かが判別される。ステップＳ６において、マーカービットが１である場合にはステップＳ７に進み、そうでない場合にはステップＳ１に戻る。
【００４４】
ステップＳ７では、バッファに蓄積されているデータを暗号復号化部２３に供給するとともにバッファを空にする。
【００４５】
なお、ステップＳ７では、ステップＳ２において前のＲＴＰパケットデータと同じタイムスタンプでないと判別された場合にも、暗号復号化部２３にバッファのデータを渡し、バッファが空にされる。このようにタイムスタンプを比較することにより、例えばマーカービットＭ＝１とされる各ＶＯＰの最後のビデオパケットを含むＲＴＰパケットが欠落した場合にも、ＶＯＰの終わりを判断することができる。
【００４６】
このようにして、各ＶＯＰ毎に暗号復号化部３３に供給されたデータは、暗号復号化部３３において復号化された後、ＭＰＥＧ４復号部３４において元の画像信号に復号され、リアルタイム再生される。
【００４７】
以上説明したように、本実施の形態におけるコンテンツ配信システム１によれば、各ＧＯＰの先頭から暗号化ブロックサイズ毎に暗号化を行い、暗号化ブロックサイズに満たない末尾のデータについては暗号化を行わないことにより、暗号化によるサイズの増加を抑えることができる。
【００４８】
また、パケット毎に配信されるストリームデータのサイズが暗号化ブロックサイズの整数倍となるように、前及び／又は後ろのストリームデータの一部を拡張領域に格納してパケット化ことにより、又はＧＯＰ毎に暗号化ブロックサイズの整数倍を単位としてパケット化することにより、暗号のかけかえなしに、リアルタイム再生とダウンロード再生との両方がサポート可能とされる。
【００４９】
なお、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。
【００５０】
例えば、上述の実施の形態では、各ＧＯＰ毎に、暗号化ブロックサイズで割り切れなかった末尾のデータの暗号化を行わず、生データとするものとして説明したが、これに限定されるものではなく、各ＧＯＰ毎に、暗号化ブロックサイズで割り切れなかった末尾データにパディングを付して暗号化するようにしても構わない。この場合にも、パケット毎に配信されるストリームデータのサイズが暗号化ブロックサイズの整数倍となるように、前及び／又は後ろのストリームデータの一部を拡張領域に格納してパケット化することにより、パケットが欠落した場合にも、データが復号可能とされる。
【００５１】
また、上述の実施の形態では、各ＧＯＰ毎に、暗号化ブロックの境目となる前後のビデオパケットのデータを拡張領域に付加するものとして説明したが、これに限定されるものではなく、パケット毎に送信されるストリームデータのサイズが暗号化ブロックサイズの整数倍になるように、例えば前後のビデオパケットのデータをＲＴＰペイロードに入れるようにしても構わない。
【００５２】
また、各ＧＯＰ毎に限らず、各ＶＯＰ毎に、暗号化ブロックサイズで割り切れなかったデータの暗号化を行わず、生データとしても構わない。
【００５３】
また、上述の実施の形態では、ハードウェアの構成として説明したが、これに限定されるものではなく、オーサリング部１２、ストリーミングサーバ１３及びクライアント端末３０の処理を、それぞれＣＰＵ（Central Processing Unit）にコンピュータプログラムを実行させることにより実現することも可能である。この場合、そのコンピュータプログラムは、記録媒体に記録して提供することができる。
【００５４】
また、上述の実施の形態では、ＭＰＥＧ４で圧縮符号化された画像データについてのみ説明したが、これに限定されるものではなく、例えばＭＰＥＧ４オーディオで圧縮符号化された音声データについても適用可能である。
【００５５】
すなわち、音声データについても規格によって種々の階層構造が考えられるが、所定の単位毎に、暗号化ブロックサイズで割り切れない末尾のデータの暗号化を行わないようにすることで、画像データの場合と同様の効果を奏することができる。また、ＭＰＥＧ４オーディオでは、MPEG4 audioMuxElement単位又はそれを分割した単位でＲＴＰペイロードに入れられるが、この場合にも、パケット毎に配信されるストリームデータのサイズが暗号化ブロックサイズの整数倍となるように、前及び／又は後ろのストリームデータの一部を拡張領域に格納してパケット化することにより、パケットが欠落した場合にも、データが復号可能とされる。
【００５６】
【発明の効果】
以上詳細に説明したように、本発明に係るストリーミングシステムは、画像データ及び／又は音声データを圧縮符号化して得たストリームデータを暗号化する際に、上記ストリームデータの所定単位毎に、当該所定単位の先頭から複数バイト単位の暗号化ブロックサイズ毎に暗号化を行い、暗号化ブロックサイズに満たない末尾のデータについては暗号化を行わない暗号化装置と、所定のファイル形式となるように、暗号化された上記ストリームデータに少なくとも当該ストリームデータを送信するために定義されたパケットサイズを示すパケット化制御情報を付加してファイルを作成するオーサリング装置と、上記オーサリング装置によって作成されたファイルを所定のトランスポートプロトコルによるネットワーク経由で配信するストリーミングサーバと、上記ストリーミングサーバから暗号化された上記ストリームデータを受信し、上記ストリームデータのうち、暗号化されている部分を復号化し、元の画像データに復号するクライアント端末とを備え、上記ストリーミングサーバは、上記ストリームデータと共に、パケット毎に配信される上記ストリームデータのサイズが上記暗号化ブロックサイズの整数倍となるように、前及び／又は後ろのストリームデータの一部を拡張領域に格納してパケット化する第１のパケット化手法と、上記所定単位毎に暗号化ブロックサイズの整数倍を単位としてパケット化する第２のパケット化手法とを、ネットワークの通信状態に応じて切り換え、パケット単位で上記クライアント端末に配信することを特徴とする。
【００６０】
このようなストリーミングシステムによれば、ストリームデータの所定単位毎に、当該所定単位の先頭から暗号化ブロックサイズ毎に暗号化を行い、暗号化ブロックサイズに満たない末尾のデータについては暗号化を行わないことにより、ストリームデータの暗号化に際してサイズの増加を抑えることができる。
【００６１】
また、暗号化されたストリームデータが所定のファイル形式となるように、少なくともパケット化制御情報を付加してファイルを作成することにより、ストリーミング再生の際には、そのパケット化制御情報に基づいてファイルをパケット化し、ダウンロード再生の際には、そのファイルをダウンロード可能とさせることができ、ストリーミング再生とダウンロード再生との両方をサポートすることができる。
【００６２】
また、パケット化に際して、パケット毎に配信されるストリームデータのサイズが暗号化ブロックサイズの整数倍となるように、前及び／又は後ろのストリームデータの一部を拡張領域に格納してパケット化ことにより、又は所定単位毎に暗号化ブロックサイズの整数倍を単位としてパケット化することにより、パケットが欠落した場合にも、データの復号が可能とされる。
【図面の簡単な説明】
【図１】本実施の形態におけるコンテンツ配信システムの概念構成を説明する図である。
【図２】同コンテンツ配信システムのＭＰＥＧ４符号化部において生成されたストリームデータの構造を説明する図である。
【図３】ビデオパケットを説明する図であり、同図（Ａ）は、ビデオパケットの構造を示し、同図（Ｂ）は、ビデオパケットヘッダ情報の詳細を示し、同図（Ｃ）は、ビデオパケットヘッダ内のＨＥＣフラグが１の場合のビデオパケットヘッダ情報の詳細を示す。
【図４】本実施の形態における暗号化手法について説明する図である。
【図５】同コンテンツ配信システムのオーサリング部において作成されたファイルを説明する図である。
【図６】ＲＦＣ３０１６におけるＲＴＰパケット及びビデオパケットを説明する図である。
【図７】ＲＴＰパケットを詳細に説明する図である。
【図８】本実施の形態におけるＲＴＰパケットを説明する図であり、同図（Ａ）は、ＧＯＰ途中のＲＴＰパケットの例を示し、同図（Ｂ）は、ＧＯＰ最後のＲＴＰパケットの例を示す。
【図９】本実施の形態おけるＲＴＰパケットの他の例を説明する図である。
【図１０】同コンテンツ配信システムのクライアント端末の概略構成を説明する図である。
【図１１】同クライアント端末のＲＴＰ逆パケット化部の動作を説明するフローチャートである。
【符号の説明】
１  コンテンツ配信システム、１０  ＭＰＥＧ４符号化部、１１  暗号化部、１２  オーサリング部、１３  ストリーミングサーバ、１４  配信サーバ、２０記録部、３０  クライアント端末、３１  ＲＴＳＰ送受信部、３２  ＲＴＰ逆パケット化部、３３  暗号復号化部、３４  ＭＰＥＧ４復号部
【図１】
0003925218.tif 000002
【図２】
0003925218.tif 000003
【図３】
0003925218.tif 000004
【図４】
0003925218.tif 000005
【図５】
0003925218.tif 000006
【図６】
0003925218.tif 000007
【図７】
0003925218.tif 000008
【図８】
0003925218.tif 000009
【図９】
0003925218.tif 000010
【図１０】
0003925218.tif 000011
【図１１】
0003925218.tif 000012