JP3609488B2 - 情報処理システム - Google Patents
情報処理システム Download PDFInfo
- Publication number
- JP3609488B2 JP3609488B2 JP11867295A JP11867295A JP3609488B2 JP 3609488 B2 JP3609488 B2 JP 3609488B2 JP 11867295 A JP11867295 A JP 11867295A JP 11867295 A JP11867295 A JP 11867295A JP 3609488 B2 JP3609488 B2 JP 3609488B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- reduction
- amount
- unit time
- distribution
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Multi Processors (AREA)
Description
【産業上の利用分野】
本発明は、サーバ側がクライアント側にマルチメディアデータを提供するシステムに係り、特に、各種のネットワーク環境下において、トラフィック飽和させることなく、動画データをクライアントに配信するシステムに関する。
【0002】
【従来の技術】
近年、ネットワーク環境の整備、拡張が進展し、ローカルエリアネットワーク(LAN)、ISDN(Integrated Services Digital Network)、アナログ回線等の公衆回線によって構成されるWAN(Wide Area Network)等の、各種のネットワーク環境において、ネットワークの接続状態を意識せずに、ネットワークに接続されたある端末装置から他の端末装置へと、動画データ等のマルチメディアデータのやりとりを行なうことが可能になってきた。
【0003】
ところで、動画データや音声データは、基本的にデータ量が大きいため、これまで、データの蓄積、伝送等の処理を行なうためには、効率良くデータを圧縮した後に、圧縮データに対して所望の処理を行なうことが提案されている。
【0004】
代表的な圧縮方法としては、例えば、ISOにより推奨されている「MPEG1(Moving Picture Group Phase 1)」等の圧縮方法が挙げられる。
【0005】
しかしながら、このような圧縮処理を行なっても、マルチメディアデータのデータ量は、通常、膨大な量となっており、ネットワークのトラヒックの飽和を招いたり、また、例えば、サーバからクライアントにマルチメディアデータの伝送を行なう際には、非常に長い伝送時間を要する等の課題が存在していた。
【0006】
この様な課題を解決する従来技術を開示している文献としては、特開平6−70174号公報等が挙げられ、この公報では、動画データを離散余弦変換した変換データの高周波成分を削除することによって、動画データのデータ量を削減するための技術が開示されている。
【0007】
また、ネットワークの伝送帯域を、動画データ伝送のための伝送帯域に設定し、提供する動画データのフレーム数を適宜低減することによって、動画データの伝送レートの調整を行なって、安定した動画データの供給を保証するファイルサーバが提供されている。
【0008】
【発明が解決しようとする課題】
ところで、上述した従来技術のうち、特開平6−70174号公報に開示された技術は、動画データのみのデータ量の削減には有効であるもののが、一般的に動画データには、音声データが付随しているものが多く、特に、データ量が削減された動画データと、音声データの同期の保証については考慮されていない。
【0009】
また、動画データのフレーム数の削減のみで、提供する動画データに対する伝送レートの調整を行なっていては、変化の激しい動画像を有する動画データでは、動きの滑らかさが失われる等の問題があり、ユーザの画質への要求を考慮しながらデータ量の削減を行なう必要があった。
【0010】
また、ネットワーク環境で動画データを供給するファイルサーバは、動画データ伝送のための伝送帯域を確保するため、クライアント数が限られている場合においては、安定した動画データの供給が可能であるものの、クライアント数が所定数以上になったときには、その途端に、新たなクライアントに対する動画データの提供が不可能になったり、既に動画データの提供を行なっているクライアントに対する、動画データの提供に影響が及び、クライアントへの動画データの提供が安定して行なえなくなる事態の発生を招いてしまうという課題が存在していた。
【0011】
そこで、本発明は、以上のような課題に鑑みて創作したもので、サーバが提供するマルチメディアデータのデータ量を、ユーザの要求に対して提供するデータの伝送レートや、サーバに接続されるネットワークの伝送能力等を考慮して制御し、ユーザ側に配信することによって、たとえ接続されるネットワークの伝送レートが低い場合であっても、適切な品質のマルチメディアデータを提供するシステムを実現することを目的とし、また、動画でデータを提供する際には、動画データと音声データとのと同期がとれた動画データを提供することも可能にする。
【0012】
【課題を解決するための手段】
上記課題を解決するため、以下の手段が考えられる。
【0013】
動画データを提供するサーバと、該サーバと通信媒体を介して接続され、動画データの提供を受ける少なくとも1以上のクライアントとを有して構成される情報処理システムである。
【0014】
そして、サーバは、動画データを、1種類以上記憶するための記憶手段と、動画データのデータ量を、予め定められた複数のデータ量削減規則のうちのいずれかに従って、削減するデータ量削減手段と、接続された通信媒体を介して、削減されたデータをクライアント側に出力する出力手段と、接続された通信媒体を介して、前記記憶手段に記憶されている、いずれかの動画データへのアクセス命令を受け付ける入力手段と、入力されたアクセス命令に応じて、データ量削減のための制御を行なう制御手段と、1以上のアクセス命令に対して削減されたデータ量の総和を演算する削減データ量演算手段と、通信媒体ごとの出力データ量を検出する伝送量検出手段とを有した構成とする。
【0015】
前記制御手段は、入力手段がクライアントからのアクセス命令を受け付けたとき、前記削減データ量演算手段の演算結果、および、前記伝送量検出手段の検出結果、に対応して予め定めた規則に従って、前記データ量削減規則のいずれかを選択して、前記データ量削減手段を駆動し、削減されたデータを、前記出力手段に与える機能を有する。
【0016】
また、以下の示すような態様も考えられる。
【0017】
動画データを提供するサーバと、該サーバと通信媒体を介して接続され、動画データの提供を受ける少なくとも1以上のクライアントとを有して構成される情報処理システムである。
【0018】
そして、前記サーバは、1種類以上の元動画データと、各元動画データに対して、そのデータ量を予め定められた複数のデータ量削減規則に従って削減した複数種類の削減データとを記憶するための記憶手段と、接続された通信媒体を介して、削減データをクライアント側に出力する出力手段と、接続された通信媒体を介して、前記記憶手段に記憶されている、いずれかの元動画データへのアクセス命令を受け付ける入力手段と、入力されたアクセス命令に応じて、削減データを選択し、前記出力手段に与える制御を行なう制御手段と、所定時間内に、出力手段が出力する削除データの量の総和演算を行なう削減データ量演算手段と、通信媒体ごとの出力データ量を検出する伝送量検出手段とを有して構成される。
【0019】
前記制御手段は、入力手段がクライアントからのアクセス命令を受け付けたとき、前記削減データ量演算手段の演算結果、および、前記伝送量検出手段の検出結果、に対応して予め定めた規則に従って、前記削除データのいずれかを選択して、選択した削減データを、前記出力手段に与える機能を有する。
【0020】
【作用】
サーバは、動画データを提供し、クライアントは、通信媒体を介して、サーバからの動画データの提供を受ける。
【0021】
クライアント側では、命令送出手段によって、通信媒体を介してアクセス命令を命令を送る。
【0022】
一方、サーバ側は、記憶手段に、動画データを1種類以上記憶しており、データ量削減手段によって、動画データのデータ量を、予め定められた複数のデータ量削減規則のうちのいずれかに従って削減する。
【0023】
出力手段は、通信媒体を介して、削減されたデータをクライアント側に出力する。
【0024】
入力手段は、通信媒体を介して送られてきた、前記記憶手段に記憶されている、いずれかの動画データへのアクセス命令を受け付け、さらに、制御手段は、入力されたアクセス命令に応じて、データ量削減のための制御を行なう。
【0025】
なお、削減データ量演算手段は、1以上のアクセス命令に対して削減されたデータ量の総和を演算を行ない、また、伝送量検出手段は、通信媒体ごとの出力データ量を検出する。
【0026】
そして、制御手段は、入力手段によってアクセス命令を受け付けたとき、前記削減データ量演算手段の演算結果、および、前記伝送量検出手段の検出結果、に対応して予め定めた規則に従って、前記データ量削減規則のいずれかを選択して、前記データ量削減手段を駆動する。この結果、削減されたデータは、出力手段に与えられ、クライアント側に送られる。
【0027】
クライアント側の表示手段は、送られてきたデータを表示する。
【0028】
以上は、クライアントからの要求にしたがって動画データを提供する際、サーバは、データ量削減規則を用いて、動画データのデータ量を削減してクライアント側に提供する。
【0029】
また、他の態様によれば、以下のような作用となる。
【0030】
クライアント側では、命令送出手段によって、通信媒体を介してアクセス命令を命令を送る。
【0031】
一方、サーバは、記憶手段に、1種類以上の元動画データと、各元動画データに対して、そのデータ量を予め定められた複数のデータ量削減規則に従って削減した複数種類の削減データとを記憶しており、また、出力手段は、通信媒体を介して、削減データをクライアント側に出力する。
【0032】
入力手段は、記憶手段に記憶されている、いずれかの元動画データへのアクセス命令を受け付け、さらに、制御手段は、入力手段によってアクセス命令を受け付けたとき、削減データを選択し、出力手段に与える制御を行なう。
【0033】
なお、削減データ量演算手段は、所定時間内に出力手段が出力する削除データの量の総和演算を行ない、また、伝送量検出手段は、通信媒体ごとの出力データ量を検出する。
【0034】
そして、制御手段は、入力手段によってアクセス命令を受け付けたとき、前記削減データ量演算手段の演算結果、および、前記伝送量検出手段の検出結果、に対応して予め定めた規則に従って、前記削除データのいずれかを選択して、選択した削減データを、前記出力手段に与えクライアント側に送信する。
【0035】
クライアント側の表示手段は、送られてきたデータを表示する。
【0036】
以上は、クライアントからの要求にしたがって動画データを提供する際、サーバが、複数種類の削除データのうちのいずれかを送信することによって、動画データのデータ量を削減してクライアント側に提供する。
【0037】
以上のような動作によれば、通常ではトラヒックが飽和するような動画データの転送時においても、トラヒックの飽和を回避し、各クライアントに動画データの提供を円滑に行なうことを可能にする。
【0038】
【実施例】
以下、本発明にかかる実施例を、図面を参照して説明する。
【0039】
まず、本発明を、マルチメディアデータをネットワークを介して、少なくとも1台の端末(クライアント)に配信する、マルチメディアデータサーバ(以下適宜「メディアサーバ」や「サーバ」と記す)に適用した場合について説明する。
【0040】
第1の実施例は、サーバが、クライアントから配信要求されたデータのデータ量を、予め定めた規則に従って削減し、削減データを配信する実施例である(なお、本実施例を、便宜上「ハード型」と称する)。
【0041】
図1は、第1の実施例におけるメディアサーバのネットワーク環境の一例を示している。
【0042】
1a、1bは、メディアサーバ、2a、2b、2c、2dは、クライアント、5a、5bは、ゲートウエイであり、メディアサーバ、クライアント、ゲートウエイは、コンピュータ端末として実現できる。また、3a、3b、3cは、LAN(Local Area Network)であり、さらに詳しく述べると、ATM(Asynchronous Transfer Mode)−LAN等が挙げられる。
【0043】
また、4は、ISDN(Integrated Services Digital Network)であるが、ISDNの替わりに、アナログ回線等の公衆回線や、該公衆回線と同様の伝送技術を利用した専用回線を用いても良い。
【0044】
前述した各コンピュータ端末(単に「端末」とも記す)は、特に、以下に述べるような機能を有する。
【0045】
端末1a、1bは、マルチメディアデータを、ネットワーク3やISDN4を介して、複数のコンピュータ端末に配信する機能を有するメディアサーバである。
【0046】
端末1aは、LAN3aに接続され、また、端末1bは、LAN3a、3b、およびISDN4に接続され、該LAN3a、3bやISDN4に接続された他の端末との間で、所望のデータの伝送が行なわれる。
【0047】
端末2a、2b、2c、および2dは、所定のメディアサーバとの間で、マルチメディアデータを含む各種のデータの伝送が可能であり、メディアサーバによって配信された、動画データ、音声データ等のマルチメディアデータを受信し、受信したデータを再生する機能を有している。なお、端末2aは、LAN3aに、端末2bは、ISDN4に、端末2cは、LAN3cに、端末2dは、ネットワーク3bに、各々接続されており、LAN3やISDN4に接続された他の端末との間で、所望のデータの伝送が可能である。
【0048】
端末5a、5bは、ネットワークや回線等の伝送媒体の物理的、および、論理的な伝送方式の変換を行い、異なる伝送方式を用いる伝送媒体間に渡るデータ伝送を可能とする機能を有しており、一般に、このような機能は、ゲートウェイ機能、あるいは、ブリッジ機能と呼ばれており、このような機能を有するコンピュータ端末のことを「ゲートウェイ」、あるいは「ブリッジ」と呼している。
【0049】
また、複数の伝送媒体に渡るデータ伝送の経路制御を行う機能を有するという意味において、この機能をルータ(あるいはルーティング)機能と称し、かかる機能を有するコンピュータ端末を「ルータ」と称することもある。特に、あるネットワーク3aから他のネットワーク3bへ、データ伝送を行なう機能は、ルータ機能そのものである。
【0050】
このようなネットワーク環境下において、メディアサーバ1aおよび1bは、全クライアント、2a、2b、2c、2dに対して、マルチメディアデータを配信することが可能である。
【0051】
なお、メディアサーバ1bは、ISDN4、LAN3a、3bに接続されており、それぞれの伝送媒体に接続されたコンピュータ端末との間でデータの橋渡しを行なうことが可能であるため、ゲートウェイ端末5aと同等の機能を有するように構成されている。
【0052】
次に、本発明の第1の実施例における、メディアサーバ1(1a、1b)のマルチメディアデータのデータ量削減方法、削減データの配信方法の原理について説明する。
【0053】
メディアサーバ1は、ユーザ(クライアント)からの品質要求と、LAN3やISDN4の伝送速度等に起因するサービス能力を考慮して、マルチメディアデータのデータ量を削減処理し、削減処理されたデータ(以下、適宜「削減データ」と称する)のクライアントへの配信を行う。
【0054】
以下の説明では、配信対象となるマルチメディアデータとして、MPEG(Moving Picture Experts Group)方式で圧縮された圧縮動画データを例にとって説明する。
【0055】
図2は、メディアサーバ1が、MPEG方式、特に、MPEG1方式の圧縮方式を使用して圧縮した圧縮動画データを配信する場合の、該圧縮動画データのデータ量削減方式10の内容を示した図である。
【0056】
この図において、行方向(横方向)には、ユーザの画質に対する品質要求の程度をとる。一例として、10では、動き、あるいは、画像の精細度の優先度を示す。通常、動画のデータ量と画質とは、トレードオフの関係にあり、同じデータ量であるならば、動画の精細度を優先する場合は、例えば、単位時間あたりのフレーム数を減少させる等の処理を行なって、可能な限り動きの滑らかさが損なわれるようにデータ量の削除を行なわざるを得ず、逆に、動画の動きの滑らかさを優先する場合には、例えば、1フレームの画素数を間引いて、画像の精細度を落として、データ量の削除を行なわざるを得ない。
【0057】
図2の10において、列方向(縦方向)には、元の動画のデータ量を「100」とした場合の、同一動画データのデータ量をとる。即ち、該図2の10の下の行にいくほど、データ量は減少している。
【0058】
なお、ここでは動画データのデータ量を削除するためのパラメータとして、「画素数、AC係数の上限値、フレーム数」の組み合わせを採用し、1つの組み合わせを「セル」と称している。したがって、図2中の、11、12、13、14、15、16、17は、各々セルである。
【0059】
例えば、横軸上の中間位置に存在するセル11の意味するところは、元の動画データのデータ量を、動きの滑らかさと、精細度を同程度に優先しながら、そのデータ量を「50(%)」に削減する場合の、具体的なデータ量削減方法を示すものである。以下、各セルに対応するデータ量削減のためのパラメータをデータ量削減パラメータと呼ぶ。したがって、セル11の場合、データ量削減パラメータは、「画素数:352×240」、「AC係数の上限値:3〜4」、「フレーム数:15(fps)」となっている。
【0060】
データ量削減パラメータとして、図2では、画素数の削減、空間周波数成分の交流成分(AC成分)上限の制限、および、1秒間のフレーム数の削減を挙げてある。例えば、動画像の動きの滑らかさと精細度を同程度に優先しながら(即ち、横軸の中間位置に存在するセルを採用する)、データ量を、元データの「50(%)」に削減するには、元の動画データに比べて、画素数を減らさず(同上)、AC成分の上限を3〜4個にし、フレーム数を半分にすることにより達成されることを示している。
【0061】
このように、セル11に記述された複数のパラメータを組み合わせて、すなわち、セル11に示されているデータ量削減パラメータを使用して、データ量の削減処理を行なうことによって、データ量の制御を行なえる。すなわち、サーバは、クライアントの要求等を考慮しながら、あるセルを選択し、選択したセルに示された、データ量削減パラメータを使用して、データ量の削減処理を実行し、削減データの配信を行なう。なお、個々の削減パラメータの詳細については、後述する。
【0062】
さて、配信する動画データのデータ量の制御は、図2の10を用いて、次のように行う。
【0063】
まず、ユーザ(クライアント)からの配信要求が発生した場合、メディアサーバ1では、図2の10を参照し、ユーザの要求と、配信(サービス)能力を考慮したにデータ量となるように、配信時の初期データ量削減パラメータを決定し、該パラメータに従って、配信対象の動画データのデータ量を削減して配信を行なう。ここで、配信(サービス)能力とは、例えば、サーバに接続されている各通信媒体の、通信許容伝送レート等が考えられる。ユーザの要求のみならず、サーバに接続されている各通信媒体の、通信許容伝送レートを越えないことを条件として、データ量の削減処理が行なわれる。
【0064】
これを仮に、セル11に示されたデータ量削減パラメータを採用するとし、配信の途中で、ユーザ要求が、更に動きの滑らかさを優先するように変更された場合には、(横軸上で右側に存在する)セル12で示されたデータ量削減パラメータに変更し、また、精細度を優先するように変更された場合は、(横軸上で左側に存在する)セル13で示されたデータ量削減パラメータに変更し、それぞれ変更したパラメータを使用して、配信対象の動画データのデータ量を削減して、削減データを配信する。
【0065】
また、セル11に示されたデータ量削減パラメータを使用して削減処理を行なった削除データの配信中に、メディアサーバ1のサービス能力が低下し、更にデータ量を削減する必要があるときには、(縦軸下方向に存在する)セル15に示されたデータ量削減パラメータに変更し、また、サービス能力が回復して、配信データ量を増加することが可能になれば、(縦軸上方向に存在する)セル14に示された符号量削減パラメータに変更し、それぞれ変更したパラメータに従って、配信対象である動画データのデータ量を削減処理して、削減データを配信する。
【0066】
さらに、MPEG1動画データのデータ量の削減方式について説明する。
【0067】
その前に、MPEG1方式で圧縮処理された圧縮動画データのフォーマットについて説明する。ただし、ここでは本発明の説明にぜひとも必要な事項の説明を行なうのみとする。MPEGの符号化方式やフォーマットについて記載されている文献は多数存在し、例えば、「ASCII社刊「最新MPEG教科書」(110から128頁等)」に述べられている。
【0068】
図3は、MPEG1動画データのフォーマットの説明図である。
【0069】
動画の画像データ40は、MPEG1ビデオ符号器41により、また、音声データ43は、MPEG1オーディオ符号器44により、それぞれ符号化され、所定サイズの圧縮動画データパケット42と、圧縮音声データパケット45とにパケット化される。MPEG1システム復号器46は、パケット化された動画データ42と音声データ45とを、到着順に、パケットヘッダ等の情報を付加して、MPEG1システムストリーム47として出力する。
【0070】
次に、図4に、MPEG1動画データのデータ量削減方式の原理説明をするための図を示す。本実施例においては、画素数を削減する方式、圧縮動画データの空間周波数の高周波成分を削減する(AC係数の数の上限値の削減)方式、および、フレーム数を削除する方式について説明する。
【0071】
まず、MPEG1方式で圧縮された動画データ(MPEG1圧縮動画データ)のデータ構造について説明する。MPEGシステムストリーム47から、圧縮動画データパケット42だけを取り出して、圧縮(再生)順に並べると、GOP(Group of Picture)と呼ばれる単位(50)に分かれており、GOPは、さらに、I(Intra)フレーム51、P(Predictive)フレーム53、および、B(Bidirectionally predictive)フレーム(52、54)から構成される。Iフレーム51は、基準フレームとも称され、該フレーム内の画素データのみを使用して、他のフレームとは独立して符号化(フレーム内予測により符号化)するフレームであり、従って、伸長して再生する場合でも、他のフレームのデータを必要としない。
【0072】
次に、Pフレーム53は、時間的に「前」に存在するフレームとの相関性を利用するフレーム間予測によって、符号化するフレームであり、Bフレーム52および54は、時間的に「前後」のフレームとの相関性を利用するフレーム間予測によって、符号化するフレームである。GOPは、少なくともIフレームを1枚含むフレーム群のことであり、1つのGOPは、I、P、およびBフレームの符号化データを有して構成されている。
【0073】
さらに、I、P、およびBの各フレームは、元動画像データのフレームデータの垂直・水平各8画素(全64画素)データを単位に、離散コサイン変換することによって得られたDCT(Discrete Cosine Transform)係数からなる、複数のブロック55から構成される。
【0074】
図4の左下部に記載した図は、ブロック55の内容をマトリクスイメージで表現したものである。実際のMPEG1ストリーム中には、このようなマトリクスの左上の成分(DC)から右下の高周波成分(AC63)に向かって、ジグザグにたどってシリアルに並べたデータを、可変長符号化したデータが存在するが、このDCを除いた63個のDCT係数を「AC成分」と称する。AC成分のうちでも、DCに近い左上の成分程、画質への影響が大きい成分となる。
【0075】
なお、一般に、圧縮動画データパケット42の切れ目と、GOP50の切れ目60は、一致しないことが多い。しかし、GOPの途中から圧縮動画データを伸長して動画再生を行うと、再生画像の乱れが生じてしまう。そのため、本実施例における動画データ量の削減処理は、GOP単位で行うものとする。
【0076】
次に、図2に示したデータ量削減方式の説明において、前述したデータ量削減の実現方式の一例を述べる。
【0077】
まず、画素数の削減は、既に符号化されたMPEG1データを一旦復号し、動画像データに戻した段階で、画素を一定間隔で間引く処理や、位置的に隣接した画素に対するデータの加重平均を取る処理を行なう等によって画素数を減らし、画素数を減らしたデータを再符号化することによって実現できる。
【0078】
AC成分の上限の制限は、前記ブロック55中のDCT係数のうち、右下の成分(高周波成分)から、削減することによって実現するが、実際には、既に符号化されたMPEG1データを可変長符号の段階にまで復号し、可変長符号単位で、所望のデータ量になるようにAC係数を削減して、再符号化する方法や、DCT係数の段階まで復号化し、所望のデータ量になるようにAC係数を削減して再符号化する方法等により実現できる。
【0079】
フレーム数の低減を、実際にGOPを構成するフレームデータそのものを間引くことにより実現すると、再生時に誤動作が生じることが多い。これは、MPEGデータの中に、その動画のフレームレート(1秒あたりのフレーム数)のデータが存在し、該フレームレートのデータと、フレーム数を間引かれた圧縮動画データの間で矛盾が生じるためである。よって、フレーム数の削減は、GOPを構成する、少なくとも1つのフレームのデータ(ピクチャ層のデータ)を、少なくともピクチャ層の「開始コード」、ピクチャの「通番」、「ピクチャタイプ」からなるデータであって、該フレームの中身、すなわち、圧縮された画素データを含まない、ダミーデータ56に置き換えることにより実現する。
【0080】
この方式によれば、形式上フレーム数には変化なく、実際には、フレームに対応した圧縮動画データ自体がないので、再生時には、時間的に前のフレームから変更がないものとみなされ、上述したような矛盾がなく、見かけ上のフレーム数の削減が実現でき、圧縮動画データの時間あたりの転送量も減少する。
【0081】
フレーム数の削減によって、MPEG1動画データを所望のデータ量にまで削減する場合は、画質への影響を考慮して、まず、Bフレーム(52、54)からダミーデータ56に置き換え、全てのBフレームを置き換えても目的のデータ量削減を達成できなない場合には、Pフレームをダミーデータ56に置き換え、さらに、全てのPフレームを置き換えても目的のデータ量削減を達成できない場合には、さらに、Iフレームをダミーデータ56に置き換えるというように、段階的にダミーデータ56への置き換えを行っていく。
【0082】
このように、データ量の削減方式を示す図2の10を参照して、必要に応じてMPEG動画データのデータ量を削減しながら、削減データを配信することにより、ユーザの配信品質要求と、メディアサーバの配信能力を考慮した、配信マルチメディアデータのデータ量制御を行なうことができる。
【0083】
なお、MPEG方式以外の動画や、音声のみからなるデータや、静止画等のマルチメディアデータにおいても、データ量とユーザの配信品質要求を考慮した削減方式を定めることは可能である。
【0084】
例えば、符号化された音声データでは、ステレオのデータをモノラル化する方法や、サンプリング周波数や量子化ステップを粗くする方法等によりデータ量を削減することが可能であり、符号化された静止画データでは、画素数を減らす方法等によりデータ量を削減できる。また、図2の10は、メディアサーバ1が扱うマルチメディアデータのうち、動画、静止画等のデータ種別ごとに予め定めておき内蔵しておく構成にする。
【0085】
以下に、以上述べてきたメディアサーバ1によるマルチメディアデータの配信を実現する方法について説明する。なお、本実現方法の説明においても、配信対象となるマルチメディアデータを、MPEG1方式で圧縮処理された圧縮動画データを例にとり説明する。
【0086】
MPEG1動画データのデータ量を削減しながらの、削減データのクライアント2への配信は、基本的に、次の示す方法によって行なう。
【0087】
メディアサーバ1は、配信対象となる動画データの種類毎に、図2に示すデータ量削減基準テーブルを備えていて、該基準テーブル10に示した削減方法にしたがって、配信条件(ユーザの要求とメディアサーバ1のサービス能力)に、最も近いデータ量削減方法を示すセルを決定し、該セルに対応するデータ量削減パラメータを用いたデータ量削減により、データ量を削減制御しながら、削減データを配信する。仮に、配信中に配信条件が変更されたときには、その変更された配信条件に最も近い、データ量削減方式に切り替えて配信する。この時、データの削減方式の切り替えは、GOPの切れ目で行う。
【0088】
なお、配信条件は、ユーザの要求とメディアサーバ1のサービス能力で決定される。ユーザの要求は、例えば、図2に示すセルを1つ選択するために、図2の横軸方向のセル位置を決定する命令に相当し、通常、クライアントは、コマンドを入力することによって、サーバ側に、図2の横軸方向のセル位置を決定する命令を与え、サーバがこれを受け取る。なお、サーバは、通常、複数のクライアントからの要求に答えるために、複数の削減データを、複数の通信媒体を介して、クライアント側に送信している。また、当然のことながら、1つのサーバが処理することができる、削減データのデータ量の総和には、上限値(しきい値)が存在する。
【0089】
また、メディアサーバ1のサービス能力とは、メディアサーバ1に接続される各通信媒体の最大伝送レート(しきい値)のことを意味し、サーバは、これを越えないように、データ量を削減したセルを選択する(通常、前記選択されたセルの存在位置を基準として、縦軸下方向に存在するセルを選択することになる)。
【0090】
このように、サーバは、全ての削減データのデータ量および各通信媒体の最大伝送レートの少なくとも一方が、各々に対して予め定められているしきい値を越えたとき、前記データ量削減規則のうちから、前記削減データ量演算手段の演算結果および各通信媒体の最大伝送レートの双方が、各々に対して予め定められているしきい値を越えないように、セルを選択していき、選択したセルに対応する削減パラメータを使用して、データ削除処理を行なう情報処理システムである。
【0091】
なお、通常は、全くデータ削除処理を行なわずに、全ての削減データのデータ量および各通信媒体の最大伝送レートの少なくとも一方が、各々に対して予め定められているしきい値を越えたときに始めて、優先度の小さな順に、動画データのデータ量を削減しておく機能を有するように、サーバを構成しても良い。なお、このような優先度は、クライアントからサーバに与えるものとする。
【0092】
図5は、図1で説明したコンピュータ端末のハードウェア構成を示す構成図である。
【0093】
101は、端末全体を制御する中央処理装置(CPU)、102は、プログラムが動作し、データ量削除制御用のデータを保持するテーブルを一時的に確保する主メモリで、RAMで実現される。
【0094】
103は、CPU101等に、一定間隔で割込み信号や日時の情報を供給する時計装置(クロック)である。104は、ユーザの指示入力を取り込むためのマウス、105は、同様にユーザの指示入力を取り込むためのキーボードである。
【0095】
106は、ユーザのデータを保存するための記憶装置であり、ハードディスク(HD)や光磁気ディスク(MO)で実現される。
【0096】
110は、ユーザに処理結果を表示して伝えるためのディスプレー装置、111は、画像情報を取り込むためのカメラであり、これらは、画像入出力制御装置108により制御される。
【0097】
109は、ディスプレー110に表示するデータを保持するメモリ(VRAM:Video RAM)であり、画像入出力制御装置108により、常に最新の表示データが書き込まれる。115は、カメラ111によって取り込んだ動画や静止画等の画像データの圧縮処理および伸長処理を行う画像コーディックである。
【0098】
113は、音声情報を取り込むマイク、114は、音声情報をユーザに伝えるスピーカであり、これらは、音声入出力制御装置112によって制御される。
【0099】
116は、マイク113によって取り込んだ音声データの圧縮処理および伸長処理を行う音声コーディックである。107は、LAN3に端末を接続するためのネットワーク接続制御装置(LANボード)である。
【0100】
118は、ISDN4に端末を接続するためのモデム等の回線接続制御装置である。120は、ディジタルシグナルプロセッサ(DSP)であり、特定の処理を行うマイクロプログラムを、記憶装置106からロードし、CPU101と独立して高速に、ロードしたマイクロプログラムを実行する。このようなマイクロプログラムは、通常、記憶装置106等に予め記憶しておき、必要に応じてDSP120がマイクロをロードして実行する。
【0101】
またCPU101は、DSP120に、データやそのデータに関する処理内容の情報を与えて、特定の処理の実行を依頼し、DSP120が、特定の処理を実行した後、その処理結果を受け取ることによって、端末処理全体での処理速度を向上することを可能とする。なお、DSP120が行う特定の処理として、主なものに、画像、音声データの圧縮、伸長処理や、ネットワークや回線との接続制御処理等が挙げられる。これらの処理のうち、例えば、画像や音声データの圧縮処理等は、処理を行うプログラムを主メモリ102上に、CPU101がロードして、CPU101が、ロードしたプログラムを実行することによっても実行可能であり、また、画像コーディック115や音声コーディック116等の専用ハードウェアに対して、CPU101が、処理を行なうことを依頼し、処理が実行されるようにしてもよい。
【0102】
本実施例においては、後述するユーザ配信タスク500aが、動画データのGOPや音声データのAAU(これについては後述する)を主メモリ102上にロードし、前述のデータ量削減処理を行なうマイクロプログラムをDSP120にロードし、DSP120が、該マイクロプログラムを実行することによって、動画データや音声データのデータ量の削減を行なうか、あるいは、主メモリ102上に、予め記憶装置106に記憶している、前述したデータ量の削減処理を行なうプログラムをロードし、CPU101により、動画データや音声データのデータ量の削減処理を行なうものとする。この時発生する動画、音声の、デコード処理、エンコードの処理には、画像コーディック115、音声コーディック116を使用して、各々の処理を行なわせるようにしてもよい。
【0103】
117は、各装置を接続し、装置間相互でのデータのやり取りを行なうことを可能にするためのバスである。
【0104】
なお、図1を参照して説明したコンピュータ端末において、全ての端末に必須な構成要素は、CPU101、主メモリ102、クロック103、記憶装置106、およびバス117であり、その他の装置は、端末に必要な機能を考慮して、必要に応じて搭載するように構成すればよい。
【0105】
なお、本実施例において、以下に詳細に説明するメディアサーバ1では、マウス104、キーボード105、LANボード107、モデム118、ディスプレイ110、画像入出力制御装置108、VRAM109、および、DSP120が、少なくとも必要になる。
【0106】
一方、クライアント2では、マウス104、キーボード105、LANボード107、モデム118、ディスプレイ110、画像入出力制御装置108、画像コーディック115、VRAM109、スピーカ114、音声入出力制御装置112、音声コーディック116、および、DSP120が、少なくとも必要になる。
【0107】
図6は、本発明にかかる第1の実施例における、メディアサーバ1とクライアント2のソフトウェア構成を示す図、即ち、機能ブロック図である。
【0108】
まず、図6の(a)を参照して、メディアサーバ1のソフトウェア構成について説明する。
【0109】
200aは、メディアサーバ1の基本システムソフトウェア、あるいは、オペーレティングシステム(以下「OS」と記す)と称されるマルチタスクOSであり、メディアサーバ1上で動作するソフトウェアへのCPU101の機能の割当て管理、図5を参照して説明した各ハードウェア装置資源の管理、メモリ102の論理的な使用単位での管理、ソフトウェアおよびハードウェアの処理実行のスケジューリング等を行なうためのソフトウエアであり、いわゆるマルチタスク処理を行なう。マルチタスクOS200aは、通常、LAN3やISDN4を介して、他の端末とデータ通信を行う際の通信手順の制御等を行うためのプロトコル処理部210aや、記憶装置106の動作制御や記憶装置106に格納するデータのファイル管理を行うファイルシステム220aを含んで構成される。
【0110】
300aは、メディアサーバ1において動作するソフトウェアの実行単位で、メディアサーバ1上に複数存在し、一般に、タスク(あるいは、プロセス)と称されるものである。なお、以下に述べる400a〜700aも、タスク(あるいはプロセス)であり、マルチタスクOS200a側から見た扱い方は、300aに対するのと同様である。複数存在するタスク300aは、マルチタスクOS200aにより生成され、ユーザやマルチタスクOS200aによって、個々に指定された優先度に基づき、実行順序を決定や、ハードウェア資源へのアクセス等の調整を行なうことにより、中断、実行待ち、終了等の実行状態になるように管理される。
【0111】
以下に述べるメディアサーバ1において、マルチタスクOS200aは、LAN3からのデータの着信、ユーザの入力装置105等を介した入力、記憶装置106の処理終了等の、イベントに伴うCPU101への割込みに対し、即座に優先度に基づき、タスク300aの実行順序の変更を行う、リアルタイム性を有したマルチタスクOSである。
【0112】
本実施例においては、特に、マルチタスクOS200aは、タスク間での情報(メッセージ)伝達の支援、LAN3、ISDN4から送られてきたメッセージをプロトコル処理部210aによる処理を介してタスクへ伝達する等の、異なるネットワークや回線に渡るタスク間通信支援機能を有し、また、マウス104、キーボード105等の入力装置を介してユーザが入力した入力内容を、必要に応じてタスクに伝達したり、タスクのデータ出力要求を受け付けて画像入出力制御装置108を制御し、ディスプレー110に、要求に適合したデータを表示する等の、入出力制御機能も有している。
【0113】
400aは、クライアント2からのマルチメディアデータ配信要求を受け付け、ユーザ配信処理タスク500aに配信要求を発したクライアント2への、データの配信処理を依頼する、配信スケジューラタスクである。また、ユーザ配信処理タスク500aは、マルチタスクOS200aにより、ユーザからの配信要求の件数分だけ生成されるが、一般にOSが扱うことが可能なタスク数は、ハードウェアの仕様等によって制限されており、そのような制限数を超える場合には、配信を行わない。なお、配信スケジューラタスク400aの具体的な処理内容については後述する。
【0114】
500aは、要求を発したクライアントに対して、マルチメディアデータの配信を行うユーザ配信処理タスクであり、該タスクは、ユーザの指定したサービス品質と、メディアサーバ1の処理負荷やLAN3、ISDN4の伝送能力を考慮して、サービスするデータの品質を制御する、すなわち、データ量削減パラメータを定め、データ量の削減制御を行なう。
【0115】
該制御は、例えば、ユーザの品質要求があるレベル以上であるときや、メディアサーバのサービス能力が高くないときに(配信データに対して、通信媒体の伝送能力が小さなとき)、配信するオリジナルのマルチメディアデータのデータ量を削減して配信することにより実現する。ユーザの指定したサービス品質に関する情報(即ち、図2の10において、セルの横軸方向の位置を定める情報)は、配信スケジューラタスク400aにより、また、メディアサーバ1の処理負荷やLAN3、ISDN4の伝送能力等の、メディアサーバ1のサービス能力に関する情報は、サービス品質管理タスク600aにより、それぞれ取得する。該タスク500aによるデータ量制御の具体的な方法については、後述する。
【0116】
600aは、メディアサーバ1の処理負荷やLAN3、ISDN4の通信品質等、メディアサーバ1のサービス能力に関する情報に基づき、配信のサービス品質の決定、および、ユーザ配信処理タスク500a等に、サービス品質の情報を提供するサービス品質管理タスクである。なお、公知となっているOSには、CPU101の処理負荷を逐次、数値で評価して、各タスクに通知する機能を有するものがある。また、LAN3に流れるデータパケットの流量を監視することにより、LAN3中のデータの混雑の程度を数量的に評価し、各タスクに通知する機能を有するソフトウェアもある。また、サービスするマルチメディアデータの転送レートを、メディアサーバ1が、該データごとの情報として予め有し、メディアサーバ1が、クライアント2に配信中のデータの種類と、各転送レートの情報とを参照して、自ら配信能力を数量的に評価して、各タスクに通知する機能を有するように構成することも考えられる。このように、600aが提供するサービス能力の情報は、メディアサーバ1が自ら検知するか、クライアント2からのデータ要求のような外部からの情報を用いて検知した、サービス能力を数量的に表現したものとし、特に、後者の検知方法の実現例については、後述する。また数量的に表現されたサービス能力値の伝達は、主メモリ102の上の特定の領域を情報伝達用に割当て、該領域を、タスク300a乃至700aが共有することによって実現される。
【0117】
700aは、配信するオリジナルのマルチメディアデータのデータ量を、高速に削減処理して配信を容易にするようにデータを整形する、配信データ整形タスクである。なお、該タスク700aの具体的な処理内容については、後述する。
【0118】
次に、図6(b)を参照して、クライアント2のソフトウェア構成について説明する。
【0119】
800aは、クライアント2のOSであり、機能的には、メディアサーバ1のOS200と同様である。また、OS800aは、マルチタスク200aと同様に、通信制御等を行うプロトコル処理部810aや、ファイルシステム820aを有して構成される。
【0120】
900aおよび1000aは、OS800a上で動作するタスクである。
【0121】
900aは、ユーザの指示により起動され、ユーザの必要とするマルチメディアデータの名称、および、配信時のサービス品質等の要求を取り込み、これらの情報をメディアサーバ1に、LAN3やISDN4等を介して伝送し、また、配信されてきたデータを受信する、メディア要求処理タスクである。該タスク900aの具体的な処理内容については、後述する。
【0122】
1000aは、メディア要求タスク900aが受信した動画、静止画、音声等を有するマルチメディアデータを再生する、マルチメディアデータ再生タスクである。該タスク1000aは、メディア要求タスク900aが、マルチメディアデータを全て受信終了してから、該データの再生を開始するようにしても良いし、全ての受信処理を完了する前に、受信したデータを逐次再生するようにしても良い。特に、動画等の再生では、時間的制約条件が課される場合があり、このような場合には、後者のような再生方法を採用すれば良い。また、該タスク1000aが行なう処理は、画像コーディック115や音声コーディック116のような専用ハードウェアによって実行されても良いし、DSP120によるマイクロプログラムの実行やCPU101による主メモリ102上のソフトウェアの実行によって、行なわれても良い。
【0123】
次に、本発明にかかる第1の実施例における、メディアサーバ1の有する制御テーブルやデータ構造について説明する。
【0124】
メディアサーバ1では、図2の10に示すテーブルと、図7に示す各制御テーブルを、主メモリ102上に格納し、少なくとも、マルチタスクOS200a、配信スケジューラタスク400a、ユーザ配信処理タスク500a、サービス品質管理タスク600a、および、配信データ整形タスク700aが参照可能な、アドレス上に確保する。以下、図7に示す各制御テーブルについて説明する。
【0125】
2999は、配信するMPEG1データの元データである。後に詳しく説明する配信データ整形タスク700aでは、元データ2999から、データ量の削減を行ないやすいように整形したデータ3000(以下、整形済みの元データと記す)と、データ量削減時に、削減処理対象のGOPの先頭からのバイト数と該GOPのサイズを、GOPごとに記述した、データ3000に対応するINDEXデータ2030を生成する。
【0126】
当然のことながら、メディアサーバ1には、複数種類の整形済み元データ3000が存在し、INDEXデータ2030も、整形済み元データ3000と一意に対応して複数存在する。INDEXデータ2030の内容については、後述する。
【0127】
2000a、bは、配信条件テーブルであり、これは配信スケジューラタスク400aにより、前述したユーザ配信処理タスク500a(図7の500c、d)と一意的に対応付けられて生成される、ユーザへの配信条件に関する情報を記述したテーブルである。ユーザ配信処理タスク500aと同様に、配信条件テーブル2000も、配信件数分だけ存在し、1つのテーブル2000には、少なくとも、ファイル名2001、(サービス)品質2002、(転送)状態2003、および(配信条件)変更フラグ2004の各データの内容が記述されている。
【0128】
該テーブル2000は、配信スケジューラタスク400aにより生成された後は、必要に応じてサービス品質管理タスク600aにより、その内容が変更される。
【0129】
ファイル名2001は、配信する整形済みの元データ3000を指定するための識別子である。
【0130】
品質2002は、ユーザに提供する動画の品質に関するデータであるが、図2の10に示す各セルのうち、現在配信中の動画データのデータ量制御方式に対応したセルに記述された、データ量制御パラメータが記憶保持されている。
【0131】
状態2003は、最新のデータの配信状態を表すデータであり、例えば、データの転送中には「転送中」と、ユーザのポーズ要求により配信が一時的に停止している場合は、「待ち」と、記憶される。
【0132】
変更フラグ2004が示すフラグは、該テーブル2000が、配信スケジューラタスク400aにより新規に生成されたとき、および、サービス品質管理タスク600aによりその内容が変更されたときに、「変更あり」を示すように設定される。また、該フラグ2004は、ユーザ配信処理タスク500aが、2004を参照したときに、「変更なし」を示すように設定される。
【0133】
2010は、メディアサーバ1がユーザへのサービス能力を管理するためのデータを保持する配信管理テーブルである。該テーブル2010は、メディアの配信要求ごとに、少なくとも、要求したクライアントのクライアントID2012、配信の優先度2013、メディア種別2014、メディアの転送レート2015、配信処理の状態2016等の情報を保持する配信状況レコード2011(図7では、3つのクライアント毎に、2011a、2011b、2011cとしている)を情報として持っている。
【0134】
さらに、2010は、メディアサーバ1に接続している通信媒体ごとに、転送中のデータの転送レートの最新の合計値を常に保持する、ネットワーク別転送レート合計レコード2020、および、メディアサーバ1が転送中のデータの転送レートの最新の合計値を常に保持する、サービス転送レート合計レコード2025を、情報として持っている。
【0135】
配信状況レコード2011は、ユーザからの配信要求があったときに、配信が可能であれば追加され、ユーザ配信処理タスク500aに一意に対応して存在する。さらに、レコード2011中の各情報の設定方法等について説明する。
【0136】
クライアントID2012は、ネットワーク上でのクライアントの論理アドレス(例えば、IPアドレス等)に一意に対応する識別子であり、他に、メディアサーバ1へのユーザアカウント等を使用することも可能である。優先度2013は、メディアサーバ1における各配信処理の優先度を数値で表したものであり、クライアント2が、配信要求時に指定するのが一般的であるが、メディアサーバ1が、予めクライアントID毎に定めておいた優先度を使用するようにしてもよい。メディア種別2014は、動画、静止画と言った、配信中のメディアの種類の識別子であり、配信データのファイル名2001と同一の情報を用いれば良い。
【0137】
転送レート2015は、配信するデータ毎の転送レート値であり、このデータは、後述するINDEXデータ2030中のデータと同一のものである。削除処理され、配信されるデータのデータ量に一意に対応して、該転送レート2015が定まるため、転送レート2015は、見方によっては、データ量であるともいえる。
【0138】
状態2016は、前記配信条件テーブル2000の状態2003と同一のデータであり、最新のデータの配信状態を表す、「転送中」、「待ち」等の情報が記憶される。2012〜2016は、配信開始時に、サービス品質管理タスク600aによって、新規にレコード2011が追加される時点で設定され、以後、ユーザの新たな配信要求の追加や配信条件の変更に伴って、2012〜2016の内容は、追加、変更される。なお、かかる変更処理の内容については、後に、サービス品質管理タスク600aの処理の説明部分において述べる。
【0139】
次に、ネットワーク別転送レート合計レコード2020は、ユーザからの新規配信要求の追加時や配信要求の変更時に、サービス品質管理タスク600aにより更新される情報であり、該タスク600aは、複数のLANやISDN(WAN)4のような、サーバ1に接続される通信媒体(以後「ネットワークセグメント」と称す)ごとに、配信処理中のデータの転送レートの合計を計算した値を設定する。この時、タスク600aは、転送状態2016を参照して、転送中のレコード2011を見つけ出し、クライアントID2012を手がかりに、ネットワークセグメントを特定し、ネットワークセグメント毎に転送レート2015を合計する。全てのネットワークセグメント毎に転送レートを計算し、それぞれレコード2020の中のデータ2021、2023として設定する。
【0140】
ネットワークセグメントとは、物理的なネットワークの単位のことであり、例えば、メディアサーバ1にLANボード107を複数装備し、かつ、それぞれのLANボードからアクセス可能なLAN3が異なる場合、メディアサーバ1は、異なるネットワークセグメントにアクセスしているとする。
【0141】
なお、ネットワークセグメント毎に使用可能な転送レート(伝送帯域2022)は、予め定められており、この情報は、新規に配信を開始するか否かを決定する場合に使用する。すなわち、セグメント毎に、許容可能な転送レートの上限値が、伝送帯域2022によってて定められており、いずれかのセグメントにおいて、その転送レートが伝送帯域を越えるような場合には、越えないように、データ量の削減処理が行なわれることになる。
【0142】
サービス転送レート合計レコード2025は、ユーザからの新規配信要求の追加時や配信要求の変更時に、サービス品質管理タスク600aにより更新される情報であり、該タスク600aは、メディアサーバ1が配信処理中のデータの転送レートの合計を計算して、2027に設定する。この時、該タスク600aは、状態2016を参照して、転送中のレコード2011を見つけ出し、該レコードについての転送レート2015を合計する。レコード2025には、メディアサーバ1が備えるバス117が、データ配信可能な転送レートの上限値(伝送帯域2026)を予め決めておき、この値を参照して、新規にデータ配信を開始するか否かを決定する場合に使用する。
【0143】
すなわち、サーバが扱うことが可能なマルチメディアデータに対する転送レートの合計の上限値(2027)を、伝送帯域2026によって定めており、転送レート2027が、この伝送帯域2026を越えるような場合には、越えないように、データ量の削減処理が行なわれることになる。
【0144】
次にINDEXデータ2030について、説明する。本実施例においては、配信対象の動画データ毎に、図2のテーブル10と同様のテーブルを、メディアサーバ1に備えており、該テーブル10の各セルで示された削減方式に従って、前述したように、ユーザが与えるユーザ要求と、伝送能力で定まるサービス要求を考慮した、データ量削減方式を示すセルを決定し、データ量を削減制御しながらデータを配信し、配信中に配信条件が変更されたときには、その変更された配信条件に最も近い(例えば、現在のセル位置を基準とした時、特定方向に隣接するセルで示される)データ量削減方式に切り替えて配信するが、この時、実際のMPEG1データの構成上、次のような問題点がある。
【0145】
図8には、MPEG1動画および音声データのフォーマットと、動画および音声データパケット構成の関係を示す。動画データのパケットとは、前述のように動画の符号化器41が符号化しパケット化する際、一定のサイズに区切った単位であり、図に示すように、動画のGOP50の切れ目(60)と、該パケットの切れ目は一致しない場合が多い。また、音声についても、GOPと同様に、再生時の単位としてAAU(Audio Access Unit)51(51a等)があるが、音声の符号化器45が符号化しパケット化する際、一定のサイズに区切った単位である音声データのパケット44と、AAU51の切れ目(61)とは一致しない場合が多い。さらに、音声も、AAUの途中から再生すると正常に再生されない。よって、動画は、GOPの境界から、音声はAAUの境界から再生できるようにする必要がある。
【0146】
しかしながら、一般のMPEGシステムストリーム47は、前述したように、圧縮動画データパケット42および圧縮音声データパケット44の単位で、多重化されており、GOPやAAUの単位では多重化されていない。これは、従来MPEG1のデータが、1つのコンピュータ端末内で、ハードディスク等の記憶装置から読みだされ、バスを介してデコーダへ転送され、さらに、デコードされてディスプレイに表示するという、使用環境を想定しているためである。即ち、バスやネットワークにおけるデータの伝送は、データをパケット化して行なわれるが、一般に、ネットワークよりバスの方が、データ伝送の信頼性が高く、伝送速度が高速であり、パケットが欠落したり、パケットの到着順が狂ったり、伝送遅延が発生することが、比較的少ない。またデコーダも、GOP、AAUのように、意味のある単位でデコードするため、伝送されて来るMPEG圧縮データを、一旦格納するためのメモリバッファが必要となるが、該メモリバッファを構成するRAMは、高価であるため、あまり大きなパケットで伝送すると、大容量のメモリバッファを必要とし、デコーダが高価になる。
【0147】
以上のような理由から、音声も動画もエンコードしたデータ順に、固定長にし、比較的小さなサイズでパケット化し、次々に、パケットを多重化していく方法が採用されてきた。しかしながら、MPEG1データもネットワークや回線を介して伝送することは一般的になりつつあり、RAMの容量あたりの価格も低下し続けている。
【0148】
このため、ネットワークや回線の伝送速度等に適応してデータ量を制御しながら、既圧縮のMPEG1等の動画データを配信するには、一般的なシステムストリーム47のままでは、動画および音声データのデータ量の削減処理が複雑になることや、動画と音声の同期がとれなくなるといった危険性がある。
【0149】
したがって、まず、図9に示すように、GOP50aと時間的に対応するAAU51a、51b、51c、51dを、一まとめにし(70a)、これを再パケット化するMPEG1データ整形を行い、図2のテーブル10のセルで示される削減方法に従って、データ量の削減を、高速かつ容易に行なえるようにすることが必要である。
【0150】
次に、図10に、前記手順で整形した元データ3000と、INDEXデータ2030の構成を示す。配信する動画データのデータ量制御を実現するには、70a、70b等の、GOPと対応するAAUとの組み合わせを、1つのデータ単位とし、該単位の切れ目で、データ量削減方式を切り替える。即ち、データ量削方式を示すテーブル10にある、データ量削減のためのパラメータを変更する。
【0151】
そのため、まず、前述のINDEXデータ2030には、データ3000の本来の転送レート2031、および、単位70(70a、70b、70c、70d、70e)毎の、データ3000の先頭からのサイズ(Seekサイズ)2032(A1、A2、A3、A4、A5)と、各単位自体のサイズ(Readサイズ)2033(a1、a2、a3、a4、a5)を格納しておく。
【0152】
INDEXデータ2030の生成は、元データの整形処理と同時に、あるいは、並行して行なうことが可能であり、効率的でもある。
【0153】
配信するデータのデータ量制御方式を切り換える場合には、常にINDEXデータ2030を参照し、単位70を一括して同一のデータ量削減方式で削除処理し、該削減処理が終了すると、データ量削減方式の変更の必要性を判定し、変更の必要があれば、次の単位を、変更したデータ量削減方式を使用して、一括して削減処理を行なう。
【0154】
以上述べてきたように、元データの整形を行ない、INDEXデータ2030を利用することにより、配信動画の再生に乱れを発生させず、効率良くデータ量の制御を行ないながら、削除データの配信が可能になる。
【0155】
また、ユーザから、動画の飛ばし見や、ブラウジングなどによる検索等の配信要求があった場合には、前記単位を、所定間隔で選択していき、選択した単位を、ユーザに配信することが実現できるため、元データの整形、INDEXデータ2030の利用は、飛ばし見や、早送り再生(順方向及び逆方向)の実現も可能とする。なお、これらの特定の要求に対しては、図2の特定のセルを採用するように、予め定めておけば良い。
【0156】
さらに、INDEXデータ2030に、GOPと対応するAAUをまとめた一つのデータの単位70ごとに、該単位内での動きの大きさや精細度等を数量的に評価し、それぞれデータ2034、データ2035として保持することにより、ユーザの要求がなくとも、サーバが自動的に動画データの削除を行なうことが可能となる。
【0157】
即ち、精細度2035に比べて、動き2034の大きな単位70においては、動画の高周波成分を削減して、空間的解像度を落とし、動き2034に比べて精細度2035の大きい単位70においては、動画のフレーム数を削減して時間的解像度を落とし、動き2034及び精細度2035が同程度の場合には、空間的及び時間的解像度を同程度に落とすことにより、データ量削減処理を行なう。
【0158】
具体的には、2034と2035のデータの組に対して、予めセルを対応させておき、サーバは、2034と2035のデータで定まるセルが示す、データ量削除方式を採用して、データ削除処理を自動的に行なう。この場合、接続される通信媒体の伝送能力を考慮した、セルの定め方をしておけばよい。
【0159】
なお、サーバがユーザの要求が発生していても自動的にセルの選択を行なうシステム構成にするか否かにかかわらず、サーバに接続される通信媒体を、伝送速度64(kbit/秒)のISDN回線で構成した場合には、データ量削減方式として、画素数を、縦120画素、横176画素とする、セルを用意しておき、該セルを選択するようにすればよい。また、前記通信媒体を、伝送速度14.4(kbit/秒)のアナログ回線で構成した場合には、データ量削減方式として、画素数を、縦60画素、横88画素とする、セルを用意しておき、該セルを選択するようにすればよい。
【0160】
さて、前述の2034、2035は、サーバが自ら定めるデータであるが、動きの大きさの評価は、元データの整形を行なう際に、単位70を構成するフレームデータに存在する動きベクトルの大きさに基づいて行なう。即ち、例えば、単位70のデータの動きベクトルの合計値を求め、この値を参照して、予め定めた基準値の何倍になるかで、動きの大きさの値を決定する。なお、このような基準値は、コンピュータ実験等により、予め定めておけば良い。
【0161】
一方、精細度の評価は、元データの整形を行なう際に、単位70を構成するフレームデータにDCT変換したデータの高周波成分の大きさに基づいて行なう。
【0162】
即ち、例えば、単位70のIフレームの高周波成分値を、予め定めた基準値の何倍になるかで、精細度の値を決定する。なお、このような基準値は、コンピュータ実験等により、予め定めておけば良い。
【0163】
以上述べてきたサーバ1とクライアント2の間で、データ量の削減処理を行ないながら、MPEG1動画データを配信する、各タスクの処理内容について、以下説明する。
【0164】
まず、本発明にかかる第1の実施例における、メディアサーバ1の配信スケジューラタスク400aの処理内容について説明する。
【0165】
図11は、配信スケジューラタスク400aの処理内容を示すフローチャートである。
【0166】
配信スケジューラタスク400aは、ユーザが、メディアサーバ1の入力装置105からの起動指示入力や、LAN3やISDN4を介した、クライアント2からの起動要求メッセージデータを、マルチタスクOS200aが受け取ったときに、マルチタスクOS200aによって起動される。
【0167】
まず、ステップ401において、サービス品質管理タスク600aを起動し、次に、ステップ402において、LAN3やISDN4を介したクライアント2からのマルチメディアデータ配信要求や、サービス内容の変更要求のメッセージデータ、ユーザのメディアサーバ1の入力装置105からの指示入力等を受け付ける。
【0168】
次に、ステップ403では、前記メッセージおよび指示入力等の内容を判定し、ユーザからの新たなマルチメディアデータの配信要求であれば(新規)、ステップ411に進み、また、画質等のサービス品質の変更、動画の場合の早送り再生開始、ポーズ等、サービス内容の変更要求であれば(変更)、ステップ421に進み、さらに、終了指示入力であれば、ステップ431に進む。
【0169】
なお、新規な配信要求および変更要求を伝えるメッセージデータの内容は、配信、変更の対象となるマルチメディアデータの識別名称と要求品質とからなり、これらは、LAN3やISDN4を介してクライアント2からメディアサーバのマルチタスクOS200aに渡され、さらに、マルチタスクOS200aによって、配信スケジューラタスク400aに渡される。
【0170】
次に、ステップ411では、サービス品質管理タスク600aに、ユーザの指定通りの要求品質での新規配信が可能か否かを問い合わせ、配信可能であれば、ステップ413に進み、配信不可能であればステップ414に進む(ステップ412)。
【0171】
次に、ステップ413では、新たなユーザ配信処理タスク500aと配信条件テーブル2000との生成を、マルチタスクOS200aに要求し、メモリ102の容量不足や予め設定された総タスク数を超えるなどの要因により、タスク500aあるいはテーブル2000のいずれかの生成が不可能な場合には、(ステップ415)ステップ414に進み、一方、可能な場合にはステップ402に進む。また、ステップ414では、配信要求のあったクライアント2に、メディアサーバ1が配信不可能である旨のメッセージを送信し、ステップ402に進む。
【0172】
また、ステップ421では、サービス品質管理タスク600aに、ユーザの指定通りのサービス内容の変更が可能であるか否かを問い合わせ、変更対象のユーザ配信処理タスク500aが既に消滅しているとか、メディアサーバ1のサービス能力の限度を超える等の要因により、タスク500aへの通知が不可能な場合は、ステップ423に進み、一方、可能な場合には、ステップ402に進む。
【0173】
そして、ステップ423では、変更要求のあったクライアント2に、メディアサーバ1が、サービス内容の変更が不可能である旨のメッセージを送信し、ステップ402に進む。
【0174】
最後に、ステップ431では、サービス品質管理タスク600aおよび配信スケジューラ400aが生成した全てのユーザ配信処理タスク500aに、配信処理の終了を指示するメッセージを与えた後、配信スケジューラタスク400aが使用しているハードウェア資源等を開放することにより、配信スケジューラタスク400aが行なう処理を終了する。
【0175】
次に、本発明にかかる第1の実施例における、メディアサーバ1のユーザ配信処理タスク500aが行なう処理内容について説明する。
【0176】
図12は、ユーザ配信処理タスク500aの処理内容を示すフローチャートである。
【0177】
ユーザ配信処理タスク500aは、配信スケジューラタスク400aにより、タスクとして生成され、マルチタスクOS200aにより起動される。該タスク500aは、メディアサーバ1のマルチメディアデータの配信件数分だけ生成され、マルチタスクOS200aによって、適宜切り替えられながら動作し、見かけ上、同時に複数のクライアント2に対する、マルチメディアデータの配信を行なっている。
【0178】
まず、ステップ501では、配信対象のデータに対応するINDEXデータ2030を、主メモリ(RAM)102上にロードする。ステップ502では、配信対象となるデータ3000を、マルチタスクOS200aや各タスクが、読み出し可能な状態にする。通常、マルチタスクOS200aは、記憶装置106等に記憶しているデータのアクセスを管理するため、ファイルといった概念で管理するが、ステップ502では、データ3000のファイルをオープンする。
【0179】
次に、ステップ511では、配信条件テーブル2000aの品質2002を参照して、データ量削減パラメータを読みだす。ステップ512では、配信対象のデータ3000のINDEXデータ2030の2032を参照して、配信するデータ単位70の読み出し開始位置までシークする。
【0180】
ステップ513では、読み出し開始位置からINDEXデータ2030の2033を参照して、配信するデータ単位70を読み出す。ステップ514では、データ単位70を、ステップ511で読み出したデータ量削減パラメータに従って、データ量の削減を行なう。ここで、ネットワークや回線の伝送能力に余裕があり、メディアサーバ1のサービス能力に余裕がある場合には、データ量の削減を必ずしも行なう必要がなく、そのようなときには、ステップ514では、何の処理も行なわない。ステップ515では、データ量の削減処理を行なった削減データを、単位70毎に、クライアント2に転送する。
【0181】
そして、ステップ521では、ステップ514で送信したデータがファイルの終わり(EOF)であるか否かを判定し、終わりでない場合には、ステップ522に進み、終わりならば、ステップ531に進む。ステップ522では、配信スケジューラタスク400aからの、配信処理の終了を伝えるメッセージの有無を検知し、終了要求があれば、ステップ531に進み、一方、終了要求がなければ、ステップ511に進む。
【0182】
次に、ステップ531では、ステップ502でオープンしたファイルをクローズし、ステップ532では、サービス品質管理タスク600aに配信の終了を通知し、タスク500aが使用した主メモリ102上のメモリ空間等のリソースの開放を行なった後、マルチタスクOS200aにタスク500aの終了を、自ら要求し、タスク500aの処理を終了する。なお、ステップ511で、配信条件テーブル2000を参照する際、変更フラグ2004が「変更あり」を示している場合には、これを「変更なし」の状態に設定する処理を行なう。また、このフラグ2004が「変更なし」であれば、新たにデータ量削減パラメータを読み出す必要はない。
【0183】
次に、本発明にかかる第1の実施例におけるメディアサーバ1のサービス品質管理タスク600aの処理内容について説明する。
【0184】
図13は、サービス品質管理タスク600の処理内容を示すフローチャートである。
【0185】
サービス品質管理タスク600aは、配信スケジューラタスク400aにより、タスクとして生成され、マルチタスクOS200aにより起動される。
【0186】
まず、ステップ601では、配信管理テーブル2010を初期化し、ステップ611では、配信スケジューラタスク400aからのメッセージを待ち、メッセージを受信したらその内容を解釈し、メッセージの内容が、「新規配信開始」であれば、ステップ621に進み、「配信条件変更」であれば、ステップ631に進み、配信中のユーザ配信処理タスク500aの処理の終了(配信終了)であれば、ステップ641に進み、メディアサーバ1の配信スケジューラ自体の終了によるタスク終了処理要求(タスク処理終了)であれば、ステップ651に進む。
【0187】
ステップ621では、配信管理テーブル2010のネットワーク別転送レート合計2020、および、サービス転送レート合計2025を参照し、新規に配信するデータの転送レート2031と、予め設定されたネットワークセグメントやバス117の伝送帯域(2022、2026)とを比較して、データ量を削減せずに、あるいは、データ量を削減して新規に配信可能なら、ステップ624に進み、また、データ量を削減しても、新規に配信が不可能なら、ステップ623に進む(ステップ622)。この場合、タスク400aから渡されたユーザの配信画質への要求品質と、サービス可能な転送レートを同時に満たすデータ量の削減が可能であるか否かを、動画データの元の転送レート2031とデータ量削減のための、図2のテーブル10を参照し、該テーブル10に条件を満たすデータ量削減パラメータが無い場合は、配信不可能とする。ステップ624では、配信管理テーブルに、新規の配信要求に対応したレコード2011を追加し、ステップ626では、配信スケジューラタスク400aに配信可能である旨と配信条件テーブルに設定するパラメータとを、メッセージにより伝え、ステップ611に進む。
【0188】
次に、ステップ623では、配信管理テーブルを参照し、既に配信を開始しているユーザ配信処理タスクに対応する配信条件を変更すれば、新規配信が可能であるか否かをを調べ、既に配信中のデータのうち、それ以上転送レートを下げられないものがある場合等、条件変更が不可能な場合には、ステップ627に進み、一方、条件変更が可能ならば、ステップ625に進む。
【0189】
また、ステップ623における配信条件を変更における、配信の可否の判定も、ステップ622と同様に、図2のテーブル10を参照して行なう。なお、ステップ623では、配信管理テーブルの優先度2013の情報を用いて、優先度の高い配信処理については、条件を変更せず、優先度の低いものから条件を変更していくようにする。
【0190】
ステップ627では、配信スケジューラタスク400aに新規配信が不可能である旨をメッセージにより伝え、ステップ611に進む。ステップ625では、変更した配信条件を配信管理テーブル2010の各レコード2011に設定し、対応する配信条件テーブル2000のデータを再設定し、変更フラグ2004を「変更あり」に設定し、ステップ626を実行する。
【0191】
次に、ステップ631では、配信管理テーブル2010を参照し、変更の対象となっているレコード2011の内容の変更をすれば、既に配信中のデータのうち、それ以上転送レートを下げられないものがある場合等、条件変更が不可能な場合の有無を判定し、条件変更が可能な場合には、ステップ634に進み、条件変更が不可能な場合には、ステップ633に進む(ステップ632)。
【0192】
ステップ633における配信の可否の判定も、ステップ622と同様に、図2のテーブル10を参照して行なう。
【0193】
なお、ステップ632では、配信管理テーブルの優先度2013の情報を参照して、優先度の高い配信処理については、条件を変更せず、優先度の低いものから条件を変更していくようにする。
【0194】
ステップ633では、配信スケジューラタスク400aに配信条件変更が不可能である旨をメッセージにより伝え、ステップ611に進む。ステップ634では、変更した配信条件を配信管理テーブル2010の各レコード2011に設定し、対応する配信条件テーブル2000のデータを再設定し、変更フラグ2004を「変更あり」に設定する。ステップ635では、配信スケジューラタスク400aに配信条件可能である旨を、メッセージにより返答し、ステップ611に進む。
【0195】
次に、ステップ641では、配信の終了したレコード2011を配信管理テーブル2010より削除し、必要なら、他のレコードの配信条件も変更する。
【0196】
最後に、ステップ651では、サービス品質管理タスク600aが使用した主メモリ102上のメモリ空間等のリソースの開放を行なった後、マルチタスクOS200aにタスク600aの終了を自ら要求し、タスク600aの処理を終了する。
【0197】
なお、新規に配信を開始するクライアントが低速回線を介したMPEG1データの配信要求であれば、図2のテーブル10を参照して、例えば、ISDNの64kb/s程度の転送レートであれば、セル16に記述されたデータ量削減方法で、アナログ回線の14.4kb/s程度の転送レートであれば、セル17に記述されたデータ量削減方法で削減処理したデータを転送すれば、クライアント2側において、該データを受信しながらデコードして表示すること(リアルタイム再生)も可能である。この場合、AC成分の上限数の制限や、フレーム数の削減は、伝送レートの調整のために採用する。
【0198】
次に、本発明にかかる第1の実施例におけるメディアサーバ1の配信データ整形タスク700aの処理内容について説明する。
【0199】
図14は、配信データ整形タスク700aの処理内容を示すフローチャートである。
【0200】
配信データ整形タスク700aは、ユーザが、メディアサーバにクライアント2で共用する動画データを登録するときに、ユーザの指示により、マルチタスクOS200aが生成し、起動する。
【0201】
ステップ701では、ユーザから登録されたMPEG1動画の元データ2999を読み込み、次に、ステップ702では、データ2999を音声だけのデータと動画だけのデータに分離し、ステップ711では、ステップ702で分離した動画データから1GOPごとに抜き出し、このGOPの時間に対応するAAUをステップ711で分離した音声だけのデータから抜き出し、それぞれをマージして、図9に示すデータ単位70を作成する。この処理を全てのGOPに対して繰返し、全てのデータ単位70をマージして整形済み元データ3000を作成して、INDEXデータ2030に登録する。
【0202】
そして、ステップ721では、選択したセルに対応するデータ量削減パラメータを使用して、削除データの作成を行ない、タスク700aの処理を終了する。
【0203】
なお、ステップ711における動画と音声の時間的な対応付けは、動画のフレームレートと音声のサンプリング周波数より、各GOPおよびAAUの再生開始時間を計算し、両者を照らし合わせることにより行なう。
【0204】
次に、本発明にかかる第1の実施例におけるクライアント2のメディア要求タスク部900aの処理内容について説明する。
【0205】
図15は、メディア要求部900の処理のフローチャートである。
【0206】
ステップ901では、ユーザから配信要求のあるデータのファイル名や、配信されたデータに利用方法の情報などを受け付ける。利用方法の情報とは、配信された動画データをブラウジングに使うか、あるいは、詳細に鑑賞する旨を示す情報である。また、かかる情報は、ユーザが入力しなくとも、ブラウジングを目的とするアプリケーションからの要求であれば、メディア要求タスク900aが自動的にブラウジング用と判断するような構成にしても良い。次に、ステップ911では、ユーザの用途から、動きの滑らかさか、あるいは、精細度のいずれを、どの程度要求するかといった、動画の画質に関する要求を評価し、そのデータを供給可能なメディアサーバ1を、LAN3、ISDN4に接続されているメディアサーバのなかから検索し、要求を満たすメディアサーバ1を決定する。
【0207】
ステップ921では、ステップ911で決定したメディアサーバ1に配信を希望する動画データのファイル名と、画質の要求とをメッセージにより送信し、サーバからのデータの配信を待つ。そして、ステップ931では、メディアサーバ1からの返答を待ち、「配信可能」であれば、受信したデータをマルチメディアデータ再生タスク1000aにより表示し、再生が終了すれば、メディア要求タスク900aの処理を終了する。なお、メディアサーバからの返答が「配信不可能」であれば、時間を空けてリトライした後、更に「配信不可能」であれば処理を終了するようにしても良い。
【0208】
以上述べてきた、第1の実施例によれば、メディアサーバ1が記憶している、ある動画データをクライアント2に配信する際に、ユーザの画質への要求と、ネットワークや回線の伝送能力を含めたメディアサーバのサービス能力とを考慮して、データ量の削減を行ないながら、削減データを配信することが可能になる。
【0209】
また、データ量の削減制御も、時々刻々と変化するサービス能力に追随して、動画のGOPや音声のAAUの、切れ目に合わせて、データ量削減方式を切り換えることができ、クライアント側では、配信を受ける動画が乱れたり、音声がとぎれたりノイズが混入するといったことが無くなる。以上のことから、メディアサーバ1は、配信する動画データのデータ量を削減制御することによる、ネットワークや回線、サーバの処理能力を考慮したデータの提供が可能となり、クライアント2のユーザは、希望する品質を有するデータの配信を受けることが可能になる。
【0210】
なお、本実施例で述べたデータ量を削減しながらの配信は、予め配信データを図9に示すように整形しておくため、データ量削除制御の処理負荷を増加させることなく実現することが可能であり、複数クライアントの同時配信要求に対し、リアルタイムな配信処理が実現できる。
【0211】
また、転送するネットワークのトラヒックが飽和する可能性がある場合にも、配信する動画データの転送レートを抑えながらの配信が可能であり、メディアサーバが同時に動画データを配信できるクライアントの数を増加させることができる。この時、クライアントごとに優先度を設定することが可能であるため、優先度の低いクライアントから、転送する動画のデータ量を削除していくようにすることができ、ユーザが予め定めた優先度にしたがった、ユーザの要求を満足するデータ提供を実現できる。
【0212】
次に、本発明にかかる第2の実施例を説明する。
【0213】
本実施例は、サーバが、クライアントから配信要求されるデータのデータ量を、予め定めた規則に従って削減した、削減データを予め用意して格納しておき、適当な削減データを配信するという実施例である(なお、本実施例を、便宜上「ソフト型」と称する)。
【0214】
図1を参照して説明した、第1の実施例におけるメディアサーバのネットワーク環境の一例は、そのまま第2の実施例において用いることができる。
【0215】
次に、本発明の第1の実施例における、メディアサーバ1(1a、1b)のマルチメディアデータのデータ量削減方法、削減データの配信方法の原理について説明したが、本実施例では、図2の各セルに対応する削減データを、サーバが予め備えた構成になっている。すなわち、削減データは、画素数、AC係数の上限値、フレーム数を含むデータ量削除パラメータを使用して、元データのデータ量を削除して作成する。そして、ある元データに対して、複数種類の削除データを予め生成し、サーバが格納している。
【0216】
さて、配信する削除データの選択は、図2のテーブル10を参照して、次のように行う。なお、サーバは、各セルに対応した削除データを、予め作成し、記憶装置に格納しているものとする。
【0217】
まず、ユーザ(クライアント)からの配信要求が発生した場合、メディアサーバ1では、図2の10を参照し、ユーザの要求と、配信(サービス)能力を考慮したデータ量となるように、配信時の初期削減データを選択し、選択した削減データの配信を行なう。ここで、配信(サービス)能力とは、例えば、サーバに接続されている各通信媒体の、通信許容伝送レート等が考えられる。ユーザの要求のみならず、サーバに接続されている各通信媒体の、通信許容伝送レートを越えないことを条件として、データ量の削減処理が行なわれる。
【0218】
これを仮に、セル11に対応する削減データを採用するとし、配信の途中で、ユーザ要求が、更に動きの滑らかさを優先するように変更された場合には、(横軸上で右側に存在する)セル12に対応する削除データに変更選択し、また、精細度を優先するように変更された場合は、(横軸上で左側に存在する)セル13に対応する削除データに変更選択し、それぞれ変更選択された削除データを配信する。
【0219】
また、セル11に対応する削除データの配信中に、メディアサーバ1のサービス能力が低下し、更にデータ量を削減する必要があるときには、(縦軸下方向に存在する)セル15に対応する削除データに変更選択し、また、サービス能力が回復して、配信データ量を増加することが可能になれば、(縦軸上方向に存在する)セル14に対応する削除データに変更選択して、変更選択した削除データを配信する。
【0220】
なお、図3を参照して説明した、MPEG1動画データのフォーマットは、第2の実施例でも同様である。動画データのデータ量の削減方式について再度説明することは避ける。
【0221】
第1の実施例では、図5を参照して説明したコンピュータ端末をそのまま使用することができる。
【0222】
ただし、クライアントおよびサーバが備える記憶装置には、第2実施例用のプログラムを格納しており、また、サーバ側には、元データに対応する、複数種類の削除データを、元データ種類ごとに記憶している。
【0223】
図16は、本発明にかかる第2の実施例におけるメディアサーバ1及びそのクライアント2のソフトウェア構成を示す図、即ち、機能ブロック図である。
【0224】
まず、図16(a)を参照して、メディアサーバ1のソフトウェア構成について説明する。
【0225】
第2の実施例における、タスク200b〜600bは、第1の実施例における、タスク200a〜600aと基本的には同じ機能を有するが、重複説明を避けずに説明することにする。
【0226】
200bは、メディアサーバ1の基本システムソフトウェア、あるいは、オペーレティングシステム(以下「OS」と略記)と称されるソフトウェアであり、メディアサーバ1上で動作するソフトウェアへのCPU101の機能の割当て管理、図5を参照して説明した各ハードウェア装置資源の管理、メモリ102の論理的な使用単位での管理、ソフトウェアおよびハードウェアの処理実行のスケジューリング等を行うプログラムであり、いわゆるマルチタスク処理を行なう、マルチタスクOSである。マルチタスクOS200bは、通常、LAN3やISDN4を介して、他の端末とデータ通信を行う際の通信手順の制御等を行うプロトコル処理部210bや、記憶装置106の動作制御や記憶装置106に格納するデータのファイル管理を行うファイルシステム220bを含んで構成される。
【0227】
300bは、メディアサーバ1において動作するソフトウェアの実行単位で、メディアサーバ1において複数存在し、一般に、タスク(あるいはプロセス)と称されるものである。なお、以下に述べる400b〜700bも、タスク(あるいはプロセス)であり、マルチタスクOS200b側から見た扱い方は、300bに対するのと同様である。複数存在するタスク300bは、マルチタスクOS200bにより生成され、ユーザやマルチタスクOS200bによって、個々に指定された優先度に基づき、実行順序の決定や、ハードウェア資源へのアクセス等の調整が行なわれることにより、中断、実行待ち、終了等の実行状態になるように管理される。
【0228】
以下で述べるメディアサーバ1において、マルチタスクOS200bは、LAN3からのデータの着信、ユーザの入力装置105等を介した入力、記憶装置106の処理終了等の、イベントに伴うCPU101への割込みに対し、即座に優先度に基づき、タスク300bの実行順序の変更を行う、リアルタイム性を有したマルチタスクOSである。
【0229】
本実施例においては、特に、マルチタスクOS200bは、タスク間での情報(メッセージ)伝達の支援、LAN3,ISDN4から送られてきたメッセージをプロトコル処理部210bによる処理を介してタスクへ伝達する等の、異なるネットワークや回線に渡るタスク間通信支援機能を有し、また、マウス104、キーボード105等の入力装置を介してユーザが入力した入力内容を、必要に応じてタスクに伝達したり、タスクのデータ出力要求を受け付けて画像入出力制御装置108を制御し、ディスプレー110に、要求に適合したデータを表示する等の、入出力制御機能も有している。
【0230】
400bは、クライアント2からのマルチメディアデータ配信要求を受け付け、ユーザ配信処理タスク500bに配信要求を発したクライアント2への、データの配信処理を依頼する、配信スケジューラタスクである。また、ユーザ配信処理タスク500bは、マルチタスクOS200bにより、ユーザからの配信要求の件数分だけ生成されるが、一般にOSが扱うことが可能なタスク数は、ハードウェアの仕様等によって制限されており、そのような制限数を超える場合には、配信を行わない。また、配信スケジューラタスク400bの具体的な処理内容については後述する。
【0231】
500bは、要求を発したクライアントに対して、マルチメディアデータの配信を行うユーザ配信処理タスクであり、該タスクは、ユーザの指定したサービス品質と、メディアサーバ1の処理負荷やLAN3、ISDN4の伝送能力を考慮して、サービスするデータの品質を制御する、すなわち、配信対象とする削除データを選択し、選択した削除データを配信する。
【0232】
該制御は、例えば、ユーザの品質要求があるレベル以上であるときや、メディアサーバのサービス能力が高くないときに(配信データに対して、通信媒体の伝送能力が小さなとき)、配信するオリジナルのマルチメディアデータのデータ量を削減して配信することにより実現する。ユーザの指定したサービス品質に関する情報(即ち、図2の10において、セルの横軸方向の位置を定める情報)は、配信スケジューラタスク400bにより、また、メディアサーバ1の処理負荷やLAN3、ISDN4の伝送能力等の、メディアサーバ1のサービス能力に関する情報は、サービス品質管理タスク600bにより、それぞれ取得する。該タスク500bによるデータ量制御の具体的な方法については、後述する。
【0233】
600bは、メディアサーバ1の処理負荷やLAN3、ISDN4の通信品質等、メディアサーバ1のサービス能力に関する情報に基づき、配信のサービス品質の決定、および、ユーザ配信処理タスク500b等に、サービス品質の情報を提供するサービス品質管理タスクである。なお、公知となっているOSには、CPU101の処理負荷を逐次、数値で評価して、各タスクに通知する機能を有するものがある。また、LAN3に流れるデータパケットの流量を監視することにより、LAN3中のデータの混雑の程度を数量的に評価し、各タスクに通知する機能を有するソフトウェアもある。また、サービスするマルチメディアデータの転送レートを、メディアサーバ1が、該データごとの情報として予め有し、メディアサーバ1が、クライアント2に配信中のデータの種類と、各転送レートの情報とを参照して、自ら配信能力を数量的に評価して、各タスクに通知する機能を有するように構成することも考えられる。このように、600bが提供するサービス能力の情報は、メディアサーバ1が自ら検知するか、クライアント2からのデータ要求のような外部からの情報を用いて検知した、サービス能力を数量的に表現したものとし、特に、後者の検知方法の実現例については、後述する。また数量的に表現されたサービス能力値の伝達は、主メモリ102の上の特定の領域を情報伝達用に割当て、該領域を、タスク300b乃至700bが共有することによって実現される。
【0234】
700bは、第1の実施例と異なるソフトウエアであり、第2の実施例の主要部をなすタスクである。
【0235】
ユーザの品質要求があるレベル以上であるときや、メディアサーバのサービス能力が高くないとき(配信データに対して、通信媒体の伝送能力が小さなとき)に配信する削除データを、オリジナルのマルチメディアデータのデータ量を削減して生成する、削減データ生成タスクである。削減データは、1つのオリジナルマルチメディアデータに対し、図2の各セルに示すような、複数のデータ量削減方法を採用して、予め複数種類作成しておく。なおタスク700bの具体的な処理内容については、後述する。
【0236】
なお、オリジナルのマルチメディアデータと、削減データのいずれを配信するかは、ユーザ配信処理タスク500bが判定し決定する。該タスク500bによるデータ量制御は、配信するデータを、オリジナルデータまたは削減データに切り替えることにより実現する。なお、該タスク500bの処理内容については、後述する。
【0237】
次に、図16(b)を参照して、クライアント2のソフトウェア構成について説明する。
【0238】
800bは、クライアント2のOSであり、機能的には、メディアサーバ1のOS200bと同様である。また、OS800bは、マルチタスク200bと同様に、通信制御等を行うプロトコル処理部810bや、ファイルシステム820bを有して構成される。
【0239】
900bおよび1000bは、OS800b上で動作するタスクである。
【0240】
900bは、ユーザの指示により起動され、ユーザの必要とするマルチメディアデータの名称、および、配信時のサービス品質等の要求を取り込み、これらの情報をメディアサーバ1に、LAN3やISDN4等を介して伝送し、また、配信されてきたデータを受信する、メディア要求処理タスクである。該タスク900bの具体的な処理内容については、後述する。
【0241】
1000bは、メディア要求タスク900bが受信した動画、静止画、音声等を有するマルチメディアデータを再生する、マルチメディアデータ再生タスクである。該タスク1000bは、メディア要求タスク900bが、マルチメディアデータを全て受信終了してから、該データの再生を開始するようにしても良いし、全ての受信処理を完了する前に、受信したデータを逐次再生するようにしても良い。特に、動画等の再生では、時間的制約条件が課される場合があり、このような場合には、後者のような再生方法を採用すれば良い。また、該タスク1000bが行なう処理は、画像コーディック115や音声コーディック116のような専用ハードウェアによって実行されても良いし、DSP120によるマイクロプログラムの実行やCPU101による主メモリ102上のソフトウェアの実行によって、行なわれても良い。
【0242】
次に、本発明にかかる第2の実施例におけるメディアサーバ1の有する制御テーブルやデータ構造について説明する。
【0243】
メディアサーバ1では、図2のテーブル10の各セルに対応する削減方法で作成した複数種類の削除データや元データ、図7に示す各制御テーブルを、主メモリ102上格納し、少なくとも、マルチタスクOS200b、配信スケジューラ400b、ユーザ配信処理タスク500b、サービス品質管理タスク600b、および、削減データ生成タスク700bが参照可能な、アドレス上に確保する。以下、図17に示す各制御テーブルについて説明する。
【0244】
6000は、配信するMPEG1データの元データである。後に詳しく説明する削減データ生成タスク700bでは、図2のテーブル10を参照し、元データ6000から、データ量を図2のテーブル10の各セルに対応する削減方法にしたがって削減処理した削減データを複数個生成し(6020)、元データ6000と削減データ6020の論理的な関係付けに関する情報と、削減データの転送レートを記述したINDEXデータ4030を生成する。
【0245】
当然のことながら、メディアサーバ1には、複数種類の元データ6000が存在し、各元データごとに、さらに複数種類の削減データ6020が存在するため、INDEXデータ6030も、元データ6000と一意に対応して、複数存在する。なお、説明を容易化するため、削除データ6020としては、3種類の削除データ、6020a、6020b、6020cのみを図示している。
【0246】
INDEXデータ6030の内容については、後述する。
【0247】
4000a、bは、配信条件テーブルであり、これは配信スケジューラタスク400bにより、前述したユーザ配信処理タスク500b(図17の500e、500f)と一意的に対応付けられて生成される、ユーザへの配信条件に関する情報を記述したテーブルである。ユーザ配信処理タスク500bと同様に、配信条件テーブル4000も、配信件数分だけ存在し、1つのテーブル4000には、少なくとも、ファイル名4001、(サービス)品質(データ名)4002、および、(配信条件)変更フラグ4004の各データの内容が記述されている。
【0248】
該テーブル4000は、配信スケジューラタスク400bにより生成された後は、必要に応じてサービス品質管理タスク600bにより、その内容が変更される。
【0249】
ファイル名4001は、配信する元データ6000を指定するための識別子である。
【0250】
品質2002は、ユーザに提供する動画の品質に関するデータであるが、本実施例の場合は、データ群6010のうち、実際に配信するデータ、即ち、6000か、6020a、b、cのいずれかを指定するためのデータ識別子である。
【0251】
変更フラグ4004が示すフラグは、該テーブル4000が、配信スケジューラタスク400bにより新規に生成されたとき、および、サービス品質管理タスク600bによりその内容が変更されたときに、「変更あり」を示すように設定される。また、該フラグ4004は、ユーザ配信処理タスク500bが、6004を参照したときに、「変更なし」を示すように設定される。
【0252】
4010は、メディアサーバ1がユーザへのサービス能力を管理するためのデータを保持する配信管理テーブルである。該テーブル4010は、メディアの配信要求ごとに、少なくとも、要求したクライアントのクライアントID4012、配信の優先度4013、メディア種別4014、メディアの転送レート4015、配信処理の状態4016等の情報を保持する配信状況レコード4011(図17では、3つのクライアント毎に、4011a、4011b、4011cとしている)を情報として持っている。
【0253】
さらに、4010は、メディアサーバ1が接続している通信媒体ごとに、転送中のデータの転送レートの最新の合計値を常に保持する、ネットワーク別転送レート合計レコード4020、および、メディアサーバ1が転送中のデータの転送レートの最新の合計値を常に保持する、サービス転送レート合計レコード4025を、情報として持っている。
【0254】
配信状況レコード4011は、ユーザからの配信要求があったときに、配信が可能であれば追加され、ユーザ配信処理タスク500bに一意に対応して存在する。さらに、レコード4011中の各情報の設定方法等について説明する。
【0255】
クライアントID4012は、ネットワーク上でのクライアントの論理アドレス(例えばIPアドレス等)を使用することも可能である。優先度4013は、メディアサーバ1における各配信処理の優先度を数値で表したものであり、クライアント2が、配信要求時に指定するのが一般的であるが、メディアサーバ1が、予めクライアントID毎に定めておいた優先度を使用するようにしてもよい。
【0256】
メディア種別4014は、動画、静止画と言った、配信中のメディアの種類の識別子であり、本実施例においては、前記配信データ群6010のうち、元データ6000や削減データ6020の、データ識別子を用いることが可能である。
【0257】
なお、図示しているように、本配信管理テーブル4010は、ある特定の動画1に対するテーブルである。即ち、説明のために、元データ6000の種類を、「動画1」のみとして図示している。
【0258】
転送レート4015は、配信するデータ毎の転送レート値であり、このデータは、後述するINDEXデータ4030中のデータと同一のものである。
【0259】
状態4016は、最新のデータの配信状態を表す、「転送中」、「待ち」等の情報が記憶される。4012〜4016は、配信開始時に、サービス品質管理タスク600bによって、新規にレコード4011が追加される時点で設定され、以後、ユーザの新たな配信要求の追加や配信条件の変更に伴って、4012〜4016の内容は、追加、変更される。なお、かかる変更処理の内容については、後に、サービス品質管理タスク600bの処理の説明部分において述べる。
【0260】
ネットワーク別転送レート合計レコード4020は、ユーザからの新規配信要求の追加時や配信要求の変更時に、サービス品質管理タスク600bにより更新される情報であり、該タスク600bは、複数のLAN3やISDN(WAN)4のような、サーバ1に接続される通信媒体(以後「ネットワークセグメント」と称す)ごとに、配信処理中のデータの転送レートの合計を計算した値を設定する。この時、該タスク600bは、転送状態4016を参照して、転送中のレコード4011を見つけ出し、クライアントID4012を手がかりに、ネットワークセグメントを特定し、ネットワークセグメント毎に転送レート4015を合計する。全てのネットワークセグメント毎に転送レートを計算し、ネットワークセグメント、計算値のそれぞれを、レコード4020の中のデータ4021、4023として設定する。
【0261】
なお、ネットワークセグメント毎に使用可能な転送レート(伝送帯域)を、予め定めておき、このデータを、新規に配信を開始するか否かを決定する場合に使用する。即ち、この値を越えるような配信を行なうことは許容されない。
【0262】
サービス転送レート合計レコード4025は、ユーザからの新規配信要求の追加時や配信要求の変更時に、サービス品質管理タスク600bにより更新される情報で、該タスク600bは、メディアサーバ1が配信処理中のデータの転送レートの合計を計算して、4027に設定する。この時、該タスク600bは、状態4016を参照して、転送中のレコード4011を見つけ出し、該レコードについての転送レート4015を合計する。該レコード4025には、メディアサーバ1が備えるバス117が、データ配信可能な転送レートの上限値(前記伝送帯域)を予め決めておき、この値を参照して、新規にデータ配信を開始するか否かを決定する場合に使用する。
【0263】
すなわち、サーバが扱うことが可能なマルチメディアデータに対する転送レートの合計の上限値(4027)を定めており、転送レート4027が、この上限値を越えるような場合には、越えないように、削除データを選択して、選択した削除データが配信される。
【0264】
次にINDEXデータ2030について、説明する。本実施例においては、配信対象の動画データ毎に、複数種類の削除データを予め作成しておき、メディアサーバ1に備えておき、ユーザが与えるユーザ要求と、伝送能力で定まるサービス要求を考慮した、削除データを選択し、転送レートを削減しながらデータを配信し、配信中に配信条件が変更されたときには、その変更された配信条件に最も近い(例えば、現在のセル位置を基準とした時、特定方向に隣接するセルで示される削減方式を使用して作成された削減データ)削減データに切り替えて配信する。この時、実際のMPEG1データの構成を考慮したときの問題点が存在することは、図8を参照して、第1の実施例にて説明した通りであり、この対処方法も、図9を参照して、第1の実施例にて説明したものと同一あるため、ここでは重複説明を省略する。
【0265】
図18には、図9にて説明した手順で整形した元データ6000と削減データ6020のGOPとAAUをまとめた単位(705、710、720)の対応付けを示す。配信する動画のデータ量の制御を実現するには、この705、710、および720の切れ目で切り替える。すなわち、1つの「GOP+AAU」を単位として、順次切り換えていく。
【0266】
従って、図に示すように、配信条件が変化する毎に、異なる種類のデータに対する単位で切り換えていく場合(例えば「▲1▼、▲2▼、▲3▼、▲4▼…」)、配信条件が変化しない場合には、同一のデータに属する単位で切り換えていく場合(例えば「▲1▼、▲6▼、▲7▼…」)等の各種の態様が考えられる。
【0267】
さらに、同一のデータに属する単位で切り換えていく場合において、途中で配信対象となるデータの種類の変更を余儀なくされるときに、所定時間経過した後に、再度、前記同一のデータに属する先頭単位に戻って、単位ごとに切り換えていく方法も考えられる。
【0268】
そのため、前述のINDEXデータ4030には、データ名称4031として、元データ6000および削減データ6020のデータ識別子と、それぞれの転送レート4032および単位700(710、720)毎の、データの先頭からのサイズ(A1乃至A5)と、単位のサイズ(a1乃至a5)(以上4033)を、各データごとに記述する。配信するデータを切り換える場合には、常に、データ4030を参照し、切り替わった時点で、先頭からのサイズを呼んでシークし、単位のサイズ文だけのデータを読んで、クライアント2に送信すれば、クライアント2から見れば、配信データのデータ量が制御されて着信したことになる。
【0269】
以上述べてきたソフトウェア、ハードウェア構成を有するメディアサーバ1とクライアント2の間で、データ量を制御をしながら、MPEG1動画データを配信する、各タスクの処理内容について以下述べる。
【0270】
次に、本発明にかかる第2の実施例におけるメディアサーバ1の配信スケジューラの処理内容について説明するが、これは基本的には、図11を参照して説明した、第1の実施例の配信スケジューラと同様であるが、ステップ等に添字「b」を付して、図19を参照して再度説明する。
【0271】
図19は、第2の実施例における配信スケジューラタスク400bの処理内容を示すフローチャートである。
【0272】
配信スケジューラタスク400bは、ユーザが、メディアサーバ1の入力装置105からの起動指示入力や、LAN3やISDN4を介した、クライアント2からの起動要求メッセージデータを、マルチタスクOS200bが受け取ったときに、マルチタスクOS200bによって起動される。
【0273】
まず、ステップ401bにおいて、サービス品質管理タスク600bを起動し、次に、ステップ402bにおいて、LAN3やISDN4を介したクライアント2からのマルチメディアデータ配信要求や、サービス内容の変更要求のメッセージデータ、ユーザのメディアサーバ1の入力装置105からの指示入力等を受け付ける。
【0274】
次に、ステップ403bでは、前記メッセージおよび指示入力等の内容を判定し、ユーザからの新たなマルチメディアデータの配信要求であれば(新規)、ステップ411bに進み、また、画質等のサービス品質の変更、動画の場合の早送り再生開始、ポーズ等、サービス内容の変更要求であれば(変更)、ステップ421bに進み、さらに、終了指示入力であれば、ステップ431bに進む。
【0275】
なお、新規な配信要求および変更要求を伝えるメッセージデータの内容は、配信、変更の対象となるマルチメディアデータの識別名称と要求品質とからなり、これらは、LAN3やISDN4を介してクライアント2からメディアサーバのマルチタスクOS200bに渡され、さらに、マルチタスクOS200bによって、配信スケジューラタスク400bに渡される。
【0276】
次に、ステップ411bでは、サービス品質管理タスク600bに、ユーザの指定通りの要求品質での新規配信が可能か否かを問い合わせ、配信可能であれば、ステップ413bに進み、配信不可能であればステップ414bに進む(ステップ412b)。
【0277】
次に、ステップ413bでは、新たなユーザ配信処理タスク500bと配信条件テーブル4000との生成を、マルチタスクOS200bに要求し、メモリ102の容量不足や予め設定された総タスク数を超えるなどの要因により、タスク500bあるいはテーブル4000のいずれかの生成が不可能な場合には、(ステップ415b)ステップ414bに進み、一方、可能な場合にはステップ402bに進む。また、ステップ414bでは、配信要求のあったクライアント2に、メディアサーバ1が配信不可能である旨のメッセージを送信し、ステップ402bに進む。
【0278】
また、ステップ421bでは、サービス品質管理タスク600bに、ユーザの指定通りのサービス内容の変更が可能であるか否かを問い合わせ、変更対象のユーザ配信処理タスク500bが既に消滅しているとか、メディアサーバ1のサービス能力の限度を超える等の要因により、タスク500bへの通知が不可能な場合は、ステップ423bに進み、一方、可能な場合には、ステップ402bに進む。
【0279】
そして、ステップ423bでは、変更要求のあったクライアント2に、メディアサーバ1が、サービス内容の変更が不可能である旨のメッセージを送信し、ステップ402bに進む。
【0280】
最後に、ステップ431bでは、サービス品質管理タスク600bおよび配信スケジューラ400bが生成した全てのユーザ配信処理タスク500bに、配信処理の終了を指示するメッセージを与えた後、配信スケジューラタスク400bが使用しているハードウェア資源等を開放することにより、配信スケジューラタスク400bが行なう処理を終了する。
【0281】
次に、本発明にかかる第2の実施例におけるメディアサーバ1のユーザ配信処理タスクの処理内容について説明するが、これは基本的には、図12を参照して説明した、第1の実施例のユーザ配信処理タスクと同様であるが、ステップ等に添字「b」を付して、図20を参照して再度説明する。
【0282】
図20に、本発明にかかる第2の実施例におけるメディアサーバ1のユーザ配信タスク500bの処理内容について示す。
【0283】
ユーザ配信タスク500bは、配信スケジューラタスク400bにより、タスクとして生成され、マルチタスクOS200bにより起動される。該タスク500bは、メディアサーバ1のマルチメディアデータの配信件数分だけ生成され、マルチタスクOS200bによって、適宜切り替えられながら動作し、見かけ上、同時に複数のクライアント2に対する、マルチメディアデータの配信を行なっている。
【0284】
まず、ステップ501bでは、配信対象のデータに対応するINDEXデータ4030を主メモリ(RAM)102上にロードする。ステップ502bでは、配信対象となるデータ群6010のすべてのデータ6000および6020を、マルチタスクOS200bや各タスクが、読み出し可能な状態にする。通常、マルチタスクOS200bは、記憶装置106等に記憶しているデータのアクセスを管理するため、ファイルといった概念で管理するが、ステップ502bでは、6010のデータを格納している、すべてのファイルをオープンする。
【0285】
次にステップ511bでは、配信条件テーブル4000aの品質4002のデータ識別子を参照し、ステップ512bでは、そのファイルに対応するINDEXデータを検索し、ステップ513bでは、INDEXデータの4033を参照して、配信するデータの読みだし開始位置までシークし、ステップ514bでは、配信するデータの1単位705をクライアント2に転送する。ステップ521bでは、ステップ514bで送信したデータがファイルの終わり(EOF)であるかどうかを検知し、終わりでない場合は、ステップ522bに進み、一方、終わりならばステップ531bに進む。
【0286】
ステップ522bでは、配信スケジューラ400bから配信処理の終了を伝えるメッセージの有無を検知し、終了要求があれば、ステップ531bに進み、一方、終了要求がなければステップ511bに進む。
【0287】
ステップ531bでは、ステップ502bでオープンしたファイルをすべてクローズし、ステップ532bでは、サービス品質管理タスク600bに配信の終了を通知し、タスク500bが使用した主メモリ102上のメモリ空間等のリソースの開放を行なった後、マルチタスクOS200bにタスク500bの終了を自ら要求し、タスク500bの処理を終了する。なお、ステップ511bで、配信条件テーブル2000を参照する際、変更フラグ4004が「変更あり」を示している場合には、これを「変更なし」の状態に設定する。また、フラグ4004が「変更なし」であれば、配信対象ファイルを切り替える必要がなく、ステップ512bの処理は省略できる。
【0288】
次に、本発明にかかる第2の実施例におけるメディアサーバ1のサービス品質管理タスクの処理内容について説明するが、これは基本的には、図13を参照して説明した、第1の実施例のサービス品質管理タスクと同様であるが、ステップ等に添字「b」を付して、図21を参照して再度説明する。
【0289】
図21は、第2の実施例におけるサービス品質管理タスク600bの処理内容を示すフローチャートである。
【0290】
サービス品質管理タスク600bは、配信スケジューラタスク400bにより、タスクとして生成され、マルチタスクOS200bにより起動される。
【0291】
まず、ステップ601bでは、配信管理テーブル4010を初期化し、ステップ611bでは、配信スケジューラタスク400bからのメッセージを待ち、メッセージを受信したらその内容を解釈し、メッセージの内容が、「新規配信開始」であれば、ステップ621bに進み、「配信条件変更」であれば、ステップ631bに進み、配信中のユーザ配信処理タスク500bの処理の終了(配信終了)であれば、ステップ641bに進み、メディアサーバ1の配信スケジューラ自体の終了によるタスク終了処理要求(タスク処理終了)であれば、ステップ651bに進む。
【0292】
ステップ621bでは、配信管理テーブル4010のネットワーク別転送レート合計4020、および、サービス転送レート合計4025を参照し、新規に配信するデータの転送レート4032と、予め設定されたネットワークセグメントやバス117の伝送帯域とを比較して、削除データ量を採用せずに、あるいは、選択した削除データを新規に配信可能なら、ステップ624bに進み、また、いずれの削除データ量を採用しても、新規に配信が不可能なら、ステップ623bに進む(ステップ622b)。この場合、タスク400bから渡されたユーザの配信画質への要求品質と、サービス可能な転送レートを同時に満たす削除データの選択が可能であるか否かを、動画データの元の転送レートと削除データの転送レート(4032)とを、INDEXデータを参照して調べ、条件を満たす削除データが無い場合は、配信不可能とする。ステップ624bでは、配信管理テーブルに、新規の配信要求に対応したレコード4011を追加し、ステップ626bでは、配信スケジューラタスク400bに配信可能である旨と配信条件テーブルに設定するパラメータとを、メッセージにより伝えステップ611bに進む。
【0293】
次に、ステップ623bでは、配信管理テーブルを参照し、既に配信を開始しているユーザ配信処理タスクに対応する配信条件を変更すれば、新規配信が可能であるか否かをを調べ、既に配信中のデータのうち、それ以上転送レートを下げられないものがある場合等、条件変更が不可能な場合には、ステップ627bに進み、一方、条件変更が可能ならば、ステップ625bに進む。
【0294】
また、ステップ623bにおける配信条件を変更における、配信の可否の判定も、ステップ622bと同様に、INDEXテーブルを参照して行なう。なお、ステップ623bでは、配信管理テーブルの優先度4013の情報を用いて、優先度の高い配信処理については、条件を変更せず、優先度の低いものから条件を変更していくようにする。
【0295】
ステップ627bでは、配信スケジューラタスク400bに新規配信が不可能である旨をメッセージにより伝え、ステップ611bに進む。ステップ625bでは、変更した配信条件を配信管理テーブル4010の各レコード4011に設定し、対応する配信条件テーブル4000のデータを再設定し、変更フラグ4004を「変更あり」に設定し、ステップ626bを実行する。
【0296】
次に、ステップ631bでは、配信管理テーブル4010を参照し、変更の対象となっているレコード4011の内容の変更をすれば、既に配信中のデータのうち、それ以上転送レートを下げられないものがある場合等、条件変更が不可能な場合の有無を判定し、条件変更が可能な場合には、ステップ634bに進み、条件変更が不可能な場合には、ステップ633bに進む(ステップ632b)。
【0297】
ステップ633bにおける配信の可否の判定も、ステップ622bと同様に、INDEXテーブルを参照して行なう。
【0298】
なお、ステップ632bでは、配信管理テーブルの優先度4013の情報を参照して、優先度の高い配信処理については、条件を変更せず、優先度の低いものから条件を変更していくようにする。
【0299】
ステップ633bでは、配信スケジューラタスク400bに配信条件変更が不可能である旨をメッセージにより伝え、ステップ611bに進む。ステップ634bでは、変更した配信条件を配信管理テーブル4010の各レコード4011に設定し、対応する配信条件テーブル4000のデータを再設定し、変更フラグ4004を「変更あり」に設定する。ステップ635bでは、配信スケジューラタスク400bに配信条件可能である旨を、メッセージにより返答し、ステップ611bに進む。
【0300】
次に、ステップ641bでは、配信の終了したレコード4011を配信管理テーブル4010より削除し、必要なら、他のレコードの配信条件も変更する。
【0301】
最後に、ステップ651bでは、サービス品質管理タスク600bが使用した主メモリ102上のメモリ空間等のリソースの開放を行なった後、マルチタスクOS200bにタスク600bの終了を自ら要求し、タスク600bの処理を終了する。
【0302】
なお、新規に配信を開始するクライアントが低速回線を介したMPEG1データの配信要求であれば、例えば、通信媒体がISDNであり、64kb/s程度の転送レートであれば、セル16に記述されたデータ量削減方法で削除された削除データを送信するようにし、通信媒体がアナログ回線であり、14.4kb/s程度の転送レートであれば、セル17に記述されたデータ量削減方法でで削除された削除データを送信するようにデータを転送すれば、クライアント2側において、データを受信しながらデコードして表示すること(リアルタイム再生)も可能である。
【0303】
次に、本発明にかかる第2の実施例におけるメディアサーバ1の削減データ生成タスク700bの処理内容について説明する。
【0304】
図14は、削減データ生成タスク700bの処理内容を示すフローチャートである。
【0305】
削減データ生成タスク700bは、ユーザが、メディアサーバにクライアント2で共用する動画データを登録するときに、ユーザが指示を与えることにより、マルチタスクOS200bが生成し、起動する。
【0306】
ステップ701bでは、ユーザから登録されたMPEG1動画の元データ6000を読み込み、ステップ711bでは、元データ6000を図9で説明した形式に整形し、INDEXデータ4030に登録する。そして、ステップ721bでは、元データ6000より、図2のテーブル10に示すセルで示される削減方法にしたがって、複数の削減データ6020を生成し、INDEXデータ6030に登録する。
【0307】
次に、本発明にかかる第2の実施例におけるクライアント2のメディア要求タスク900bの処理内容について説明する。
【0308】
図15は、メディア要求部900の処理のフローチャートである。
【0309】
ステップ901bでは、ユーザから配信要求のあるデータのファイル名や、配信されたデータに利用方法の情報等を受け付ける。ここで、利用方法の情報とは、配信された動画データをブラウジングに使うか、詳細に鑑賞するといった情報である。また、かかる情報は、ユーザが入力せずに、ブラウジングを目的とするアプリケーションからの要求であれば、メディア要求タスク900bが自動的にブラウジング用と判断するようにしても良い。ステップ911bでは、ユーザの用途から、動きの滑らかさか、あるいは、精細度のいずれかを、どの程度要求するかといった、動画の画質に関する要求を評価し、そのデータを供給可能なメディアサーバ1を、LAN3、ISDN4に接続されているメディアサーバの中から捜しだし、要求を満たすメディアサーバ1を決定する。
【0310】
ステップ921bでは、ステップ911bで決定したメディアサーバ1に、配信を希望する動画データのファイル名と、画質のユーザ要求とを、メッセージによって送信し、データの配信を待つ。次に、ステップ931bでは、メディアサーバ1からの返答を待ち、「配信可能」であれば、受信したデータをマルチメディアデータ再生タスク1000bにより表示し、再生が終われば、本タスク900bの処理を終了する。なお、メディアサーバからの返答が「配信不可能」であれば、時間をおいてリトライした後、さらに「配信不可能」であれば処理を終了するようにしても良い。
【0311】
以上述べてきた、第1、2の実施例によれば、メディアサーバ1が記憶している、ある動画データをクライアント2に配信する際に、ユーザの画質への要求と、ネットワークや回線の伝送能力を含めたメディアサーバのサービス能力とを考慮して、データ量の削減を行ないながら削減データを配信することが可能になる。
【0312】
また、データ量の削減制御も、時々刻々と変化するサービス能力に追随して、動画のGOPや音声のAAUの、切れ目に合わせて、データ量削減方式を切り換えることができ、クライアント側では、配信を受ける動画が乱れたり、音声がとぎれたりノイズが混入するといったことが無くなる。以上のことから、メディアサーバ1は、配信する動画データのデータ量を削減制御することによる、ネットワークや回線、サーバの処理能力を考慮したデータの提供が可能となり、クライアント2のユーザは、希望する品質を有するデータの配信を受けることが可能になる。
【0313】
なお、本実施例で述べたデータ量を削減しながらの配信は、予め配信データを図9に示すように整形しておくため、データ量削除制御の処理負荷を増加させることなく実現することが可能であり、複数クライアントの同時配信要求に対し、リアルタイムな配信処理が実現できる。
【0314】
また、転送するネットワークのトラヒックが飽和する可能性がある場合にも、配信する動画データの転送レートを抑えながらの配信が可能であり、メディアサーバが同時に動画データを配信できるクライアントの数を増加させることができる。この時、クライアントごとに優先度を設定することが可能であるため、優先度の低いクライアントから、転送する動画のデータ量を削除していくようにすることができ、ユーザが予め定めた優先度にしたがった、ユーザの要求を満足するデータ提供を実現できる。
【0315】
【発明の効果】
以上のように、本発明によれば、各種のコンピュータネットワーク環境において、動画等のマルチメディアデータをクライアントに配信する際に、ユーザの希望する品質や、メディアサーバの接続しているネットワークの伝送能力を考慮して、でー多量制御することが可能になる。したがって、公衆回線等の比較的転送レートの低い伝送媒体を介しての動画データの配信も効率良く行なえる。
【0316】
また、転送するネットワークのトラヒックが飽和する可能性がある場合にも、配信する動画データの転送レートを抑えながらの配信が可能であり、メディアサーバが、同時に動画データを配信可能なクライアント数を増加させることが可能になる。この時、クライアントごとに優先度を設定することが可能であるため、優先度の低いクライアントから、転送する動画のデータ量を低減するように制御することができ、ユーザは予め優先度を高くしておくことにより、画質の良いデータ配信を受け続けることも可能である。
【0317】
以上のことから、本発明によれば、各種のネットワーク環境において、メディアサーバ上にある動画等のマルチメディアデータを、クライアントに効率良く送信するこを可能にする。
【0318】
【図面の簡単な説明】
【図1】第1の実施例におけるネットワーク環境の説明図である。
【図2】第1の実施例におけるMPEG1動画データ量の削減方法を示すテーブルの説明図である。
【図3】MPEG1動画データのフォーマットの説明図である。
【図4】第1の実施例におけるMPEG1動画データ量削減方式の原理説明図である。
【図5】コンピュータ端末のハードウェアの構成図である。
【図6】第1の実施例におけるメディアサーバとクライアントのソフトウェアの構成図である。
【図7】第1の実施例におけるメディアサーバの制御テーブルの構成およびデータ関連を説明する説明図である。
【図8】MPEG1動画および音声データフォーマットと圧縮データパケットの関係の説明図である。
【図9】MPEG1データ整形方式の原理説明図である。
【図10】第1の実施例におけるINDEXデータの説明図である。
【図11】第1の実施例における配信スケジューラタスクの処理内容を示すフローチャートである。
【図12】第1の実施例におけるユーザ配信処理タスクの処理内容を示すフローチャートである。
【図13】第1の実施例におけるサービス品質管理タスクの処理内容を示すフローチャートである。
【図14】第1の実施例における配信データ整形タスクの処理内容を示すフローチャートである。
【図15】第1の実施例におけるクライアントのメディア要求タスクの処理内容を示すフローチャートである。
【図16】第2の実施例におけるメディアサーバとクライアントのソフトウェアの構成図である。
【図17】第2の実施例におけるメディアサーバの制御テーブルの構成およびデータ関連を説明する説明図である。
【図18】第2の実施例におけるINDEXデータの説明図である。
【図19】第2の実施例における配信スケジューラタスクの処理内容を示すフローチャートである。
【図20】第2の実施例におけるユーザ配信処理タスクの処理内容を示すフローチャートである。
【図21】第2の実施例におけるサービス品質管理タスクの処理内容を示すフローチャートである。
【図22】第2の実施例における削除データ生成タスクの処理内容を示すフローチャートである。
【図23】第2の実施例におけるクライアントのメディア要求タスクの処理内容を示すフローチャートである。
【符号の説明】
1…メディアサーバ、2…クライアント、400…配信スケジューラタスク、500…ユーザ配信処理タスク、600…サービス品質管理タスク、700a…配信データ整形タスク、700b…削除データ生成タスク
Claims (11)
- 動画データを配信するサーバと、該サーバと少なくとも 1 つの通信媒体を介して接続され、動画データの配信要求を行う少なくとも1以上のクライアントとを有して構成される情報処理システムであって、
前記サーバは、動画データを記憶するための記憶手段と、動画データの単位時間当たりのデータ量を、予め定められた複数のデータ量削減規則のうちのいずれかに従って、削減するデータ量削減手段と、
前記通信媒体を介して、前記データ量削減手段が削減処理を行った後の削減後データをクライアントに出力する出力手段と、
前記通信媒体を介して、前記記憶手段に記憶されている動画データへのアクセス命令を、受け付ける入力手段と、
入力されたアクセス命令に応じて、単位時間当たりのデータ量を削減するための制御を行なう制御手段と、
前記入力手段がアクセス命令を受け付けたとき、前記通信媒体毎に、当該アクセス命令に対する第1の削減後の単位時間当たりのデータ量を前記データ量削減規則にしたがって演算するとともに、前記通信媒体毎に、それまで受け付けたアクセス命令に応じて前記制御手段が制御した第2の単位時間当たりの削減後のデータ量を演算し、前記通信媒体毎に、前記第1の削減後の単位時間当たりのデータ量と前記第2の削減後の単位時間当たりのデータ量を加算して前記出力手段が当該通信媒体を介して出力する削減後の単位時間当たりのデータ量の総和を演算する伝送量演算手段と、
前記入力手段がアクセス命令を受け付けたとき、当該アクセス命令に対する第1の削減後の単位時間当たりのデータ量を前記データ量削減規則にしたがって演算するとともに、それまで受け付けたアクセス命令に応じて前記制御手段が制御した第2の単位時間当たりの削減後のデータ量を演算し、前記第1の削減後の単位時間当たりのデータ量と前記第2の削減後の単位時間当たりのデータ量を加算して前記出力手段が出力する削減後の単位時間当たりのデータ量の総和を演算する出力量演算手段とを有し
前記入力手段は、前記動画データのアクセス命令を受け付けるとともに、動画データ配信処理の優先度を受け付け、
前記制御手段は、前記優先度の小さいアクセス命令の順に、前記伝送量演算手段が演算した削減後の単位時間当たりのデータ量の総和が前記通信媒体毎にあらかじめ定められた最大伝送レートを超えない前記データ量削減規則であって、かつ、前記出力量演算手段が演算した削減後の単位時間当たりのデータ量の総和が、あらかじめ定められた前記サーバの最大伝送レートを超えない前記データ量削減規則のいずれかを選択し、
前記データ量削減手段を駆動し、削減処理された削減後データを、前記出力手段に与えること
を特徴とする情報処理システム。 - 請求項1記載の情報処理システムにおいて、前記データ量削減規則は、画素数、AC係数を含む空間的解像度およびフレーム数を含む時間的解像度の組み合わせで定まる解像度パラメータを用いたデータ削減である、ことを特徴とする情報処理システム。
- 動画データと、当該動画データの単位時間当たりのデータ量を予め定められた複数のデータ量削減規則に従って削減した後の複数種類の削減後データとを記憶するための記憶手段と、
前記記憶手段に記憶されている複数種類の削減後データのいずれかを、外部に出力する出力手段と、
前記記憶手段に記憶されている動画データへのアクセス命令を受け付ける入力手段と、
入力されたアクセス命令に応じて、前記記憶手段に記憶された複数種類の削減後データのいずれかを選択する制御手段と、を備え、
前記制御手段は、前記入力手段がアクセス命令を受け付けたとき、当該アクセス命令に対する第1の削減後の単位時間当たりのデータ量を前記データ量削減規則にしたがって演算するとともに、それまで受け付けたアクセス命令に応じて前記制御手段が選択した第2の単位時間当たりの削減後のデータ量を演算し、前記第1の削減後の単位時間当たりのデータ量と前記第2の削減後の単位時間当たりのデータ量を加算して前記出力手段が出力する削減後の単位時間当たりのデータ量の総和を演算し、
前記削減後の単位時間当りのデータ量の総和があらかじめ定められた最大伝送レートを超えない前記記憶手段に記憶された複数種類の削減後データのいずれかを選択して、当該選択された削減後データを、前記出力手段に与えること
を特徴とする情報処理システム。 - 動画データを配信するサーバと、当該サーバと少なくとも1つの通信媒体を介して接続され、動画データの配信要求を行う少なくとも1つのクライアントとを有して構成される情報処理システムであって、
前記サーバは、動画データと、当該動画データの単位時間当たりのデータ量を予め定められた複数のデータ量削減規則に従って削減した後の複数種類の削減後データとを記憶するための記憶手段と、
前記通信媒体を介して、前記記憶手段に記憶されている複数種類の削減後データのいずれかを、クライアントに出力する出力手段と、
前記通信媒体を介して、前記記憶手段に記憶されている動画データへのアクセス命令を、受け付ける入力手段と、
入力されたアクセス命令に応じて、前記記憶手段に記憶された複数種類の削減後データのいずれかを選択する制御手段と、
前記入力手段がアクセス命令を受け付けたとき、当該アクセス命令に対する第1の削減後の単位時間当たりのデータ量を前記データ量削減規則にしたがって演算するとともに、それまで受け付けたアクセス命令に応じて前記制御手段が選択した第2の単位時間当たりの削減後のデータ量を演算し、前記第1の削減後の単位時間当たりのデータ量と前記第2の削減後の単位時間当たりのデータ量を加算して前記出力手段が出力する削減後の単位時間当たりのデータ量の総和を演算する出力量演算手段と、を有し、
前記制御手段は、前記出力量演算手段が演算した削減後の単位時間当たりのデータ量の総和があらかじめ定められた前記サーバの最大伝送レートを超えない前記記憶手段に記憶された削減後データのいずれかを選択して、当該選択された削減後データを、前記出力手段に与えること
を特徴とする情報処理システム。 - 請求項4おいて、
前記入力手段がアクセス命令を受け付けたとき、前記通信媒体毎に、当該アクセス命令に対する第1の削減後の単位時間当たりのデータ量を前記データ量削減規則にしたがって演算するとともに、前記通信媒体毎に、それまで受け付けたアクセス命令に応じて前記制御手段が選択した第2の単位時間当たりの削減後のデータ量を演算し、前記通信媒体毎に、前記第1の削減後の単位時間当たりのデータ量と前記第2の削減後の単位時間当たりのデータ量を加算して前記出力手段が当該通信媒体を介して出力する削減後の単位時間当たりのデータ量の総和を演算する伝送量演算手段を、さらに有し、
前記入力手段は、前記動画データのアクセス命令を受け付けるとともに、動画データ配信処理の優先度を受け付け、
前記制御手段は、前記優先度の小さいアクセス命令の順に、前記出力量演算手段が演算した削減後の単位時間当たりのデータ量の総和が、あらかじめ定められた前記サーバの最大伝送レートを超えない前記記憶手段に記憶された削減後データであって、かつ、前記伝送量演算手段が演算した通信媒体毎の削減後の単位時間当たりのデータ量の総和が、前記通信媒体毎にあらかじめ定められた最大伝送レートを超えない前記記憶手段に記憶された削減後データのいずれかを選択して、当該選択された削減後データを、前記出力手段に与えること
を特徴とする情報処理システム。 - 請求項3、4および5のいずれかにおいて、前記削減後データは、画素数、AC係数を含む空間的解像度およびフレーム数を含む時間的解像度のうち少なくとも一方の解像度の変更によって、前記動画データの単位時間当たりのデータ量を削減したデータである、ことを特徴とする情報処理システム。
- 請求項4において、
前記入力手段がアクセス命令を受け付けたとき、前記通信媒体毎に、当該アクセス命令に対する第1の削減後の単位時間当たりのデータ量を前記データ量削減規則にしたがって演算するとともに、前記通信媒体毎に、それまで受け付けたアクセス命令に応じて前記制御手段が選択した第2の単位時間当たりの削減後のデータ量を演算し、前記通信媒体毎に、前記第1の削減後の単位時間当たりのデータ量と前記第2の削減後の単位時間当たりのデータ量を加算して前記出力手段が当該通信媒体を介して出力する削減後の単位時間当たりのデータ量の総和を演算する伝送量演算手段を、さらに有し、
前記制御手段は、前記動画データの所定の単位毎に、前記出力量演算手段が演算した削減後の単位時間当たりのデータ量の総和が、あらかじめ定められた前記サーバの最大伝送レートを超えない前記記憶手段に記憶された削減後データであって、かつ、前記伝送量演算手段が演算した通信媒体毎の削減後の単位時間当たりのデータ量の総和が、前記通信媒体毎にあらかじめ定められた最大伝送レートを超えない前記記憶手段に記憶された削減後データのいずれかを選択して、当該選択された削減後データを、前記出力手段に与えること
を特徴とする情報処理システム。 - 請求項4、5、6および7のいずれかにおいて、
前記通信媒体を、伝送速度64(kbit/秒)のISDN回線で構成し、
前記記憶手段には、画素数を、縦120画素、横176画素とする削減後データを予め記憶しておき、
前記制御手段は、画素数を、縦120画素、横176画素とする削減後データを前記出力手段に与える機能を有することを特徴とする情報処理システム。 - 請求項4、5、6および7のいずれかにおいて、
前記通信媒体を、伝送速度14.4(kbit/秒)のアナログ回線で構成し、前記記憶手段には、画素数を、縦60画素、横88画素とする削減後データを予め記憶しておき、
前記制御手段は、画素数を、縦60画素、横88画素とする削減後データを前記出力手段に与える機能を有することを特徴とする情報処理システム。 - 請求項1または2において、
前記サーバの入力手段は、前記クライアントが備える命令送出手段を介して与えた、ブラウジングを要求する命令であるブラウジング命令を受け付ける機能を有し、
前記制御手段は、前記入力手段がブラウジング命令を受け付けたとき、該命令に対して予め定めているデータ量削減規則を選択して、前記データ量削減手段を駆動し、削減後データを前記出力手段に与える機能を有することを特徴とする情報処理システム。 - 請求項4、5、6および7のいずれかにおいて、
前記サーバの入力手段は、前記クライアントが備える命令送出手段を介して与えた、ブラウジングを要求する命令であるブラウジング命令を受け付ける機能を有し、
前記制御手段は、前記入力手段がブラウジング命令を受け付けたとき、該命令に対して予め定められた前記記憶手段に記憶された削減後データを選択し、当該選択された削減後データを前記出力手段に与える機能を有することを特徴とする情報処理システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11867295A JP3609488B2 (ja) | 1995-05-17 | 1995-05-17 | 情報処理システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11867295A JP3609488B2 (ja) | 1995-05-17 | 1995-05-17 | 情報処理システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH08317384A JPH08317384A (ja) | 1996-11-29 |
JP3609488B2 true JP3609488B2 (ja) | 2005-01-12 |
Family
ID=14742361
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP11867295A Expired - Fee Related JP3609488B2 (ja) | 1995-05-17 | 1995-05-17 | 情報処理システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3609488B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7853118B2 (en) | 2005-08-31 | 2010-12-14 | Kabushiki Kaisha Toshiba | Image replay apparatus and method for moving-picture streams |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3628469B2 (ja) * | 1997-03-17 | 2005-03-09 | 三菱電機株式会社 | ビデオサーバシステム |
US6735253B1 (en) | 1997-05-16 | 2004-05-11 | The Trustees Of Columbia University In The City Of New York | Methods and architecture for indexing and editing compressed video over the world wide web |
JPH114252A (ja) * | 1997-06-11 | 1999-01-06 | Mitsubishi Electric Corp | データ伝送システム |
US6407998B1 (en) * | 1997-10-02 | 2002-06-18 | Thomson Licensing S.A. | Multimedia decoder for prioritized bi-directional communication in a broadcast system |
US6134243A (en) * | 1998-01-15 | 2000-10-17 | Apple Computer, Inc. | Method and apparatus for media data transmission |
JP3999410B2 (ja) * | 1999-06-16 | 2007-10-31 | 株式会社東芝 | ビデオサーバおよびビデオオンデマンドシステム |
JP2001025013A (ja) * | 1999-07-12 | 2001-01-26 | Matsushita Electric Ind Co Ltd | 送受信方法及びその装置 |
JP2001169293A (ja) | 1999-12-08 | 2001-06-22 | Nec Corp | 画像伝送装置 |
JP2001243043A (ja) | 2000-02-29 | 2001-09-07 | Sony Corp | ユーザインタフェースシステム、シーン記述生成装置及び方法、シーン記述変換装置及び方法、記録媒体並びに伝送媒体 |
JP2002094994A (ja) | 2000-09-19 | 2002-03-29 | Nec Corp | 動画再生処理装置および動画再生処理方法 |
JP4892541B2 (ja) * | 2002-02-18 | 2012-03-07 | 株式会社日立国際電気 | 画像伝送方法および画像伝送システム |
EP1532812A4 (en) | 2002-04-26 | 2007-10-10 | Univ Columbia | OPTIMAL VIDEO TRANSCODING METHOD AND SYSTEM BASED ON UTILITY PROGRAM FUNCTION DESCRIPTERS |
ATE345534T1 (de) | 2002-09-04 | 2006-12-15 | Oce Tech Bv | Verfahren und vorrichtung zur physikalischen verwaltung eines dokuments |
US7558323B2 (en) | 2002-11-27 | 2009-07-07 | Hitachi Kokusai Electric Inc. | Video data transmission method for changing transmission data amounts in accordance with a transmission speed and a transmission system therefor |
US8219702B2 (en) | 2004-04-30 | 2012-07-10 | Canon Kabushiki Kaisha | Video delivery apparatus and method |
JP2006092052A (ja) * | 2004-09-22 | 2006-04-06 | Nec Corp | メール配信システム、メールサーバ及びそれらに用いるメール送受信方法並びにそのプログラム |
WO2006096612A2 (en) | 2005-03-04 | 2006-09-14 | The Trustees Of Columbia University In The City Of New York | System and method for motion estimation and mode decision for low-complexity h.264 decoder |
US8477840B2 (en) | 2005-09-29 | 2013-07-02 | Thomson Research Funding Corporation | Method and apparatus for constrained variable bit rate (VBR) video encoding |
WO2009126785A2 (en) | 2008-04-10 | 2009-10-15 | The Trustees Of Columbia University In The City Of New York | Systems and methods for image archaeology |
US8671069B2 (en) | 2008-12-22 | 2014-03-11 | The Trustees Of Columbia University, In The City Of New York | Rapid image annotation via brain state decoding and visual pattern mining |
US8611414B2 (en) * | 2010-02-17 | 2013-12-17 | University-Industry Cooperation Group Of Kyung Hee University | Video signal processing and encoding |
CN106303534B (zh) * | 2015-06-08 | 2022-05-31 | 上海天荷电子信息有限公司 | 多种索引串与像素串融合复制方式的图像压缩方法和装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0766789A (ja) * | 1993-08-23 | 1995-03-10 | Matsushita Electric Ind Co Ltd | 可変レート画像伝送装置 |
JP3432009B2 (ja) * | 1993-08-31 | 2003-07-28 | キヤノン株式会社 | 通信方法及び装置 |
JPH07248980A (ja) * | 1994-03-11 | 1995-09-26 | N T T Data Tsushin Kk | マルチメディア情報の通信方式 |
-
1995
- 1995-05-17 JP JP11867295A patent/JP3609488B2/ja not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7853118B2 (en) | 2005-08-31 | 2010-12-14 | Kabushiki Kaisha Toshiba | Image replay apparatus and method for moving-picture streams |
Also Published As
Publication number | Publication date |
---|---|
JPH08317384A (ja) | 1996-11-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3609488B2 (ja) | 情報処理システム | |
JP3330797B2 (ja) | 動画像データ格納方式および動画像データ復号方式 | |
JP4965059B2 (ja) | ビデオストリームの切り替え | |
JP3628359B2 (ja) | データ転送方法、データ送信装置、データ受信装置およびビデオメールシステム | |
KR20180031547A (ko) | 서버에서 멀티 비트 레이트 스트림 미디어를 적응적으로 제공하기 위한 방법 및 장치 | |
JP2002084339A (ja) | ストリーミング方法およびそれを実行するシステム | |
CN1254151A (zh) | 多媒体数据流网络代码转换用的系统 | |
JP4983917B2 (ja) | 動画像配信システム、変換装置および動画像配信方法 | |
JP2001204001A (ja) | 動画像配信システム,再生端末装置,及び配信装置 | |
JP2002077260A (ja) | 画像伝送のためのシステムおよび方法 | |
CA2160562A1 (en) | Adaptive video decompression | |
JP2002199019A (ja) | 通信制御装置、通信制御方法、及び通信制御プログラムが記録された記録媒体 | |
JP3852366B2 (ja) | 符号化装置および方法、復号装置および方法、並びにプログラム | |
Biersack et al. | Constant data length retrieval for video servers with variable bit rate streams | |
JP2002320228A (ja) | 信号処理装置 | |
JPH07248980A (ja) | マルチメディア情報の通信方式 | |
JPH09298749A (ja) | 動画配信方法及びその実施装置 | |
JP3066301B2 (ja) | 記録媒体再生装置、再生方法、記録方法、及び記録装置 | |
WO2004045216A1 (en) | Video streaming device and method of control for switchable video streams | |
JP3860957B2 (ja) | マルチメディアデータの送出装置 | |
JPH0818622A (ja) | 情報通信端末装置 | |
Krunz et al. | Efficient support for interactive scanning operations in MPEG-based video-on-demand systems | |
JP3730942B2 (ja) | ネットワーク動画像配信システム及びこのシステムにおけるクライアント装置 | |
JP3946804B2 (ja) | 画像符号化制御方法 | |
JPH11205390A (ja) | 伝送システム、端末装置、サーバ装置及び記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040413 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040610 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20041005 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20041014 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071022 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081022 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |