(57)【特許請求の範囲】
【請求項１】
モバイルマルチメディアリアルタイムトランスコーディング方法であって、
サーバ側によって、クライアントによって提出されたオフラインダウンロードおよびトランスコーディングタスク要求を受信する段階であって、前記オフラインダウンロードおよびトランスコーディングタスク要求が、ユーザによって選択された目標モバイルデバイスタイプ、または、ユーザ指定の目標フォーマットを含む、段階と、
前記サーバ側によって、スケジューリングの後、前記クライアントによって提出された前記オフラインダウンロードおよびトランスコーディングタスク要求内に担持された、前記ユーザによって選択された前記目標モバイルデバイスタイプ、または、前記ユーザ指定の目標フォーマットにしたがって、オフラインダウンロードおよびトランスコーディングを並行して実行するように、オフラインダウンロードおよびトランスコーディングタスクを実行し、得られたマルチメディアリソースを前記クライアントに提供する段階とを含み、
前記マルチメディアリソースは、データスライスを含み、サーバ側のオフラインダウンロードおよびトランスコーディングサーバクラスタは、オフラインダウンロードおよびトランスコーディングをそれぞれ実行するオフラインダウンロードサーバクラスタおよびトランスコーディングサーバクラスタを含み、前記オフラインダウンロードサーバクラスタによって1つのデータスライスがダウンロードされた後、前記トランスコーディングサーバクラスタは、前記データスライスをトランスコードし始め、トランスコードされたデータスライスは、ストレージサーバに送信され、
前記得られたマルチメディアリソースを前記クライアントに提供する段階は、
ストレージサーバによって、トランスコードされたデータスライスを、再生のために前記クライアントに提供する段階を含む、
方法。
【請求項２】
前記サーバ側の前記オフラインダウンロードおよびトランスコーディングサーバクラスタによって、前記オフラインダウンロードおよびトランスコーディングサーバクラスタの基本的な構成情報および負荷情報を、タスクスケジューリングおよび管理サーバにレポートする段階をさらに含み、
前記スケジューリングが、前記タスクスケジューリングおよび管理サーバによって、前記オフラインダウンロードおよびトランスコーディングサーバクラスタによって提出された前記基本的な構成情報および前記負荷情報にしたがって、前記オフラインダウンロードおよびトランスコーディングタスクを前記オフラインダウンロードおよびトランスコーディングサーバクラスタに割り当てる段階を含む、請求項1に記載の方法。
【請求項３】
前記オフラインダウンロードおよびトランスコーディングサーバクラスタによって、現在のオフラインダウンロードおよびトランスコーディングの進捗状況を、前記タスクスケジューリングおよび管理サーバにレポートする段階と、前記オフラインダウンロードおよびトランスコーディングタスクを実行することによって生成されたハッシュファイルのマッピング記録を、データベースに書き込む段階とをさらに含む、請求項2に記載の方法。
【請求項４】
前記タスクスケジューリングおよび管理サーバが、前記オフラインダウンロードおよびトランスコーディングタスク要求を受信した後、前記データベースに格納された前記ハッシュファイルの前記マッピング記録にしたがって、オフラインでダウンロードされトランスコーディングされたマルチメディアリソースが存在するかどうかを判定する段階と、オフラインでダウンロードされトランスコーディングされた前記マルチメディアリソースを、プレビューまたは再生のために前記クライアントに提供する段階とをさらに含む、請求項3に記載の方法。
【請求項５】
前記タスクスケジューリングおよび管理サーバによって、同じオフラインダウンロードおよびトランスコーディングタスク要求をフィルタリングする段階と、前記同じオフラインダウンロードおよびトランスコーディングタスク要求のうちの1つのみを、前記オフラインダウンロードおよびトランスコーディングサーバクラスタに転送する段階とをさらに含み、異なるユーザが、前記同じタスクの前記オフラインダウンロードおよびトランスコーディングの進捗状況を共有する、請求項2、3または4に記載の方法。
【請求項６】
前記方法が、さらに、再生またはプレビューされている現在のデータスライスと同じファイルに属する別のデータスライスを指定する必要がある場合、前記指定されたデータスライスのオフセットを、前記オフラインダウンロードおよびトランスコーディングサーバクラスタに提出する段階と、前記オフラインダウンロードおよびトランスコーディングサーバクラスタによって、前記データスライスの前記オフセットにしたがって、前記指定されたデータスライスから、前記オフラインダウンロードおよびトランスコーディングタスクを実行する段階とを含む、請求項2、3または4に記載の方法。
【請求項７】
タスクスケジューリングおよび管理サーバと、オフラインダウンロードおよびトランスコーディングサーバクラスタと、ストレージサーバとを備えるモバイルマルチメディアリアルタイムトランスコーディングサーバであって、
前記タスクスケジューリングおよび管理サーバが、クライアントのオフラインダウンロードおよびトランスコーディングタスク要求を送信し、分散型オフラインダウンロードおよびトランスコーディングサーバクラスタをスケジューリングするように適合され、
前記オフラインダウンロードおよびトランスコーディングサーバクラスタが、分散されたものであり、前記タスクスケジューリングおよび管理サーバのスケジューリングを受け入れ、ユーザによって選択された目標モバイルデバイスタイプ、または、ユーザによって指定された目標フォーマットにしたがって、オフラインダウンロードおよびトランスコーディングを並行して実行するように、オフラインダウンロードおよびトランスコーディングタスクを実行するように適合され、
前記ストレージサーバが、前記オフラインダウンロードおよびトランスコーディングサーバクラスタによってダウンロードおよびトランスコーディングされたマルチメディアリソースを格納するように適合され、
前記マルチメディアリソースは、データスライスを含み、
オフラインダウンロードおよびトランスコーディングサーバクラスタは、オフラインダウンロードおよびトランスコーディングをそれぞれ実行するオフラインダウンロードサーバクラスタおよびトランスコーディングサーバクラスタを含み、前記オフラインダウンロードサーバクラスタが1つのデータスライスをダウンロードした後、前記トランスコーディングサーバクラスタは、前記データスライスをトランスコードし始めるように適合され、
前記ストレージサーバは、さらに、トランスコードされたデータスライスを受信し、かつ前記トランスコードされたデータスライスを、再生のために前記クライアントに提供するように適合されている、
サーバ。
【請求項８】
前記オフラインダウンロードおよびトランスコーディングサーバクラスタが、さらに、前記オフラインダウンロードおよびトランスコーディングサーバクラスタの基本的な構成情報および負荷情報を、前記タスクスケジューリングおよび管理サーバに提出するように適合され、
前記タスクスケジューリングおよび管理サーバが、さらに、前記オフラインダウンロードおよびトランスコーディングサーバクラスタの前記基本的な構成情報および前記負荷情報にしたがって、前記オフラインダウンロードおよびトランスコーディングタスクを前記オフラインダウンロードおよびトランスコーディングサーバクラスタに割り当てるように適合される、請求項7に記載のサーバ。
【請求項９】
前記オフラインダウンロードおよびトランスコーディングサーバクラスタが、さらに、現在のオフラインダウンロードおよびトランスコーディングの進捗状況を、前記タスクスケジューリングおよび管理サーバに提出し、前記オフラインダウンロードおよびトランスコーディングタスクを実行することによって生成されるハッシュファイルのマッピング記録を、データベースに書き込むように適合され、
前記サーバが、前記ハッシュファイルの前記マッピング記録を格納するように適合された前記データベースをさらに備え、
前記タスクスケジューリングおよび管理サーバが、さらに、前記オフラインダウンロードおよびトランスコーディングの進捗状況を取得し、問い合わせのために前記クライアントに提供するように適合される、請求項7に記載のサーバ。
【請求項１０】
前記タスクスケジューリングおよび管理サーバが、さらに、前記クライアントの前記オフラインダウンロードおよびトランスコーディングタスク要求を受信した後、前記データベースに格納された前記ハッシュファイルの前記マッピング記録に問い合わせることによって、オフラインでダウンロードされトランスコーディングされたマルチメディアリソースが存在することを判定し、オフラインでダウンロードされトランスコーディングされた前記マルチメディアリソースを、プレビューまたは再生するために前記クライアントに提供するように適合される、請求項9に記載のサーバ。
【請求項１１】
前記オフラインダウンロードおよびトランスコーディングサーバクラスタが、さらに、前記クライアントによって提出された前記データスライスのオフセットにしたがって、前記ユーザによって指定されたデータスライスから、前記オフラインダウンロードおよびトランスコーディングタスクを実行するように適合される、請求項7から10のいずれか一項に記載のサーバ。
【請求項１２】
クライアントと、タスクスケジューリングおよび管理サーバと、オフラインダウンロードおよびトランスコーディングサーバクラスタと、ストレージサーバとを含む、モバイルマルチメディアリアルタイムトランスコーディングシステムであって、
前記クライアントが、オフラインダウンロードおよびトランスコーディングタスク要求を、前記タスクスケジューリングおよび管理サーバに提出するように適合され、前記オフラインダウンロードおよびトランスコーディングタスク要求が、ユーザによって選択された目標モバイルデバイスタイプ、および、ユーザによって指定された目標フォーマットを含み、前記クライアントが、さらに、要求されたマルチメディアリソースを取得するように適合され、
前記タスクスケジューリングおよび管理サーバが、前記クライアントのオフラインダウンロードおよびトランスコーディングタスク要求を送信し、分散型オフラインダウンロードおよびトランスコーディングサーバクラスタをスケジューリングするように適合され、
前記オフラインダウンロードおよびトランスコーディングサーバクラスタが、分散されたものであり、タスクスケジューリングおよび管理サーバのスケジューリングを受け入れ、ユーザによって選択された目標モバイルデバイスタイプ、または、ユーザによって指定された目標フォーマットにしたがって、オフラインダウンロードおよびトランスコーディングを並行して実行するように、オフラインダウンロードおよびトランスコーディングタスクを実行するように適合され、
前記ストレージサーバが、前記オフラインダウンロードおよびトランスコーディングサーバクラスタによってダウンロードおよびトランスコーディングされたマルチメディアリソースを格納するように適合され、
前記マルチメディアリソースは、データスライスを含み、
オフラインダウンロードおよびトランスコーディングサーバクラスタは、オフラインダウンロードおよびトランスコーディングをそれぞれ実行するオフラインダウンロードサーバクラスタおよびトランスコーディングサーバクラスタを含み、前記オフラインダウンロードサーバクラスタが1つのデータスライスをダウンロードした後、前記トランスコーディングサーバクラスタは、前記データスライスをトランスコードし始めるように適合され、
前記ストレージサーバは、さらに、トランスコードされたデータスライスを受信し、かつ前記トランスコードされたデータスライスを、再生のために前記クライアントに提供するように適合されている、
システム。
【請求項１３】
モバイルマルチメディアリアルタイムトランスコーディング方法を実行するために、コンピュータによって実行可能な一連のコンピュータ読み取り可能な命令を含むコンピュータ可読記憶媒体であって、方法が、
サーバ側によって、クライアントによって提出されたオフラインダウンロードおよびトランスコーディングタスク要求を受信する段階であって、前記オフラインダウンロードおよびトランスコーディングタスク要求が、ユーザによって選択された目標モバイルデバイスタイプ、または、ユーザ指定の目標フォーマットを含む、段階と、
前記サーバ側によって、スケジューリングの後、前記クライアントによって提出された前記オフラインダウンロードおよびトランスコーディングタスク要求内に担持された、前記ユーザによって選択された前記目標モバイルデバイスタイプ、または、前記ユーザ指定の目標フォーマットにしたがって、オフラインダウンロードおよびトランスコーディングを並行して実行するように、オフラインダウンロードおよびトランスコーディングタスクを実行し、得られたマルチメディアリソースを前記クライアントに提供する段階とを含み、
前記マルチメディアリソースは、データスライスを含み、サーバ側のオフラインダウンロードおよびトランスコーディングサーバクラスタは、オフラインダウンロードおよびトランスコーディングをそれぞれ実行するオフラインダウンロードサーバクラスタおよびトランスコーディングサーバクラスタを含み、前記オフラインダウンロードサーバクラスタによって1つのデータスライスがダウンロードされた後、前記トランスコーディングサーバクラスタは、前記データスライスをトランスコードし始め、トランスコードされたデータスライスは、ストレージサーバに送信され、
前記得られたマルチメディアリソースを前記クライアントに提供する段階は、
ストレージサーバによって、トランスコードされたデータスライスを、再生のために前記クライアントに提供する段階を含む、
記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、リアルタイムトランスコーディング技術に関し、より具体的には、オフラインダウンロードに基づくモバイルマルチメディアリアルタイムトランスコーディングサーバ、クライアント、システム、記憶媒体、およびその方法に関する。
【背景技術】
【０００２】
モバイルビデオは、モバイルデバイスを介して、モバイルネットワークに基づいてユーザに提供される、映画、エンターテイメント、オリジナル作品、スポーツ、音楽を含む様々なビデオ/オーディオコンテンツのライブ放送、オンデマンド放送、およびダウンロードなどのサービスを指す。モバイルネットワークは、汎用パケット無線サービス(GPRS)、GSM（登録商標）進化型高速データレート(EDGE)ネットワーク、第3世代(3G)ネットワーク、または、ワイヤレスフィデリティ(Wi-Fi)ネットワークなどを含む。マルチメディアおよびコンピュータ技術の急速な発展に伴い、ビデオ再生およびアプリケーションは、パーソナルコンピュータ(PC)で大きな成功を得ている。3G時代が来ると、モバイルビデオは、ますます活発になり、モバイルビデオの需要は、爆発的な成長を示す。マルチメディアリソースをいつでもどこでも見るというユーザの要望は、時間とともに増加している。
【０００３】
モバイルデバイスでのビデオの再生は、通常、ビデオフォーマット変換の問題を伴う。大部分の既存のモバイルビデオは、フォーマット変換システムによって処理される必要があり、すなわち、ビデオプログラムは、特定のフォーマットおよび符号化率にしたがってトランスコーディングされる。処理されたビデオプログラムは、モバイルデバイス上で再生されるのに適している。現在では、フォーマット変換システムは、ビデオコンバータ、オーディオコンバータ、画像フォーマットコンバータ、文書フォーマットコンバータなどを含む。インターネットおよびモバイルネットワークの発展に伴い、より多くのメディア再生プラットフォームが存在する。したがって、メディアプラットフォームは、より多くのメディアフォーマットをサポートする。携帯電話からIPTVへ、高精細デジタル放送へ、異なるプラットフォームは、符号化フォーマット、解像度、およびフレームレートなど、コンテンツのフォーマットに対する異なる要件を有する。したがって、コンテンツ符号化フィーマットの変換が、不可欠となる。
【０００４】
現在、3つのトランスコーディング要件が存在する。1)異なるビデオフォーマット間、例えば、ムービングピクチャーエキスパーツグループ/モーションピクチャーエキスパーツグループ(MPEG)-2またはMPEG-4からH.264への変換要件。2)コンテンツ送信要件:異なるネットワーク帯域幅またはデバイス再生速度の要求を満たすようにビットレートを変更する必要がある。3)精細度要件:高精細度ビデオから標準精細度ビデオもしくは低精細度ビデオに、またはその逆に変換する必要がある。一例は、以下の通りである。情報を編集し、情報を、YouTube（登録商標）などウェブサイトにアップロードするために、ビデオは、カメラからPCに送信される必要がある。ビデオデータの送信中に、例えば、カメラ(オーディオビデオインターリーブド(AVI)フォーマット)からPC(編集のためのMPEG-2または格納のためのMPEG-4)へ、次にウェブサイト(H.263/H.264/Flash)へ、変換が実行される。ウェブサイト上のファイルが、PC上で再生される必要がある場合、ファイルをRealPlayerまたはWindows（登録商標） Media Playerによって再生するために、ファイルにトランスコーディングが実行される。
【０００５】
ユーザがモバイルデバイス上でモバイルビデオを見ることを可能にするには、以下の2つの方法がある。
【０００６】
1つの方法では、ネットワークが、モバイルデバイス上で再生することができるビデオフォーマットのビデオについて検索される。ビデオは、再生用のモバイルデバイスにダウンロードされ、または、オンラインで再生される。ビデオが再生用のモバイルデバイスにダウンロードされる場合、通常は、専用のダウンロードソフトウェアが必要とされる。長い時間の後、ビデオのダウンロードは、終了し、次に、ビデオを表示することができる。ビデオがオンラインで再生される場合、ウェブサイトは、トランスコーディングされた目的のビデオを事前に準備する必要がある。
【０００７】
他の方法では、フォーマット変換は、ユーザがログインするクライアントのローカルトランスコーディングシステムを使用して実行される。専用トランスコーディングソフトウェアが、モバイルデバイスにインストールされる。トランスコーディングされる必要があるオリジナルファイルは、トランスコーディングソフトウェアにインポートされる。ユーザは、目標ファイル名、符号化率、ビデオを分割するかどうかなどの、出力すべき目標フォーマットに関するトランスコーディングパラメータを設定することができる。次に、トランスコーディングが開始される。トランスコーディングの後、再びモバイルデバイス上で同期される。この方法は、モバイルデバイス上での再生には適していない。クライアント上のトランスコーディング手順は、非常に複雑であり、時間がかかる。
【発明の概要】
【発明が解決しようとする課題】
【００１２】
本開示の例は、リアルタイムトランスコーディングを実現し、再生効果を改善するために、オフラインダウンロードに基づくモバイルマルチメディアリアルタイムトランスコーディングサーバ、クライアント、システム、記憶媒体、およびその方法を提供する。
【課題を解決するための手段】
【００１３】
本開示の例によれば、オフラインダウンロードに基づくモバイルマルチメディアリアルタイムトランスコーディング方法が提供される。方法は、
サーバ側によって、クライアントによって提出されたオフラインダウンロードおよびトランスコーディングタスク要求を受信する段階であって、オフラインダウンロードおよびトランスコーディングタスク要求が、ユーザによって選択された目標モバイルデバイスタイプ、または、ユーザ指定の目標フォーマットを含む、段階と、
サーバ側によって、スケジューリングの後、クライアントによって提出されたオフラインダウンロードおよびトランスコーディングタスク要求内に担持された、ユーザによって選択された目標モバイルデバイスタイプ、または、ユーザ指定の目標フォーマットにしたがって、オフラインダウンロードおよびトランスコーディングを並行して実行するように、オフラインダウンロードおよびトランスコーディングタスクを実行し、得られたマルチメディアリソースをクライアントに提供する段階とを含む。
【００１４】
本開示の別の例によれば、オフラインダウンロードに基づくモバイルマルチメディアリアルタイムトランスコーディングサーバが提供される。サーバは、タスクスケジューリングおよび管理サーバと、オフラインダウンロードおよびトランスコーディングサーバクラスタと、ストレージサーバとを含み、
タスクスケジューリングおよび管理サーバが、クライアントのオフラインダウンロードおよびトランスコーディングタスク要求を送信し、分散型オフラインダウンロードおよびトランスコーディングサーバクラスタをスケジューリングするように適合され、
オフラインダウンロードおよびトランスコーディングサーバクラスタが、分散されたものであり、タスクスケジューリングおよび管理サーバのスケジューリングを受け入れ、ユーザによって選択された目標モバイルデバイスタイプ、または、ユーザによって指定された目標フォーマットにしたがって、オフラインダウンロードおよびトランスコーディングを並行して実行するように、オフラインダウンロードおよびトランスコーディングタスクを実行するように適合され、
ストレージサーバが、オフラインダウンロードおよびトランスコーディングサーバクラスタによってダウンロードおよびトランスコーディングされたマルチメディアリソースを格納するように適合される。
【００１５】
本開示の依然として別の例によれば、クライアントが提供される。クライアントは、生成モジュールおよび送信モジュールを含み、
生成モジュールが、オフラインダウンロードおよびトランスコーディングタスク要求を生成するように適合され、オフラインダウンロードおよびトランスコーディングタスク要求が、ユーザによって選択された目標モバイルデバイスタイプ、および、ユーザによって指定された目標フォーマットを含み、
送信モジュールが、要求されたマルチメディアリソースをサーバ側から取得するために、オフラインダウンロードおよびトランスコーディングタスク要求をサーバ側に送信するように適合される。
【００１６】
本開示のさらに別の例によれば、モバイルマルチメディアリアルタイムトランスコーディングシステムが提供される。システムは、クライアントと、タスクスケジューリングおよび管理サーバと、オフラインダウンロードおよびトランスコーディングサーバクラスタと、ストレージサーバとを含み、
クライアントが、オフラインダウンロードおよびトランスコーディングタスク要求を、タスクスケジューリングおよび管理サーバに提出するように適合され、オフラインダウンロードおよびトランスコーディングタスク要求が、ユーザによって選択された目標モバイルデバイスタイプ、および、ユーザによって指定された目標フォーマットを含み、クライアントが、さらに、要求されたマルチメディアリソースを取得するように適合され、
タスクスケジューリングおよび管理サーバが、クライアントのオフラインダウンロードおよびトランスコーディングタスク要求を送信し、分散型オフラインダウンロードおよびトランスコーディングサーバクラスタをスケジューリングするように適合され、
オフラインダウンロードおよびトランスコーディングサーバクラスタが、分散されたものであり、タスクスケジューリングおよび管理サーバのスケジューリングを受け入れ、ユーザによって選択された目標モバイルデバイスタイプ、または、ユーザによって指定された目標フォーマットにしたがって、オフラインダウンロードおよびトランスコーディングを並行して実行するように、オフラインダウンロードおよびトランスコーディングタスクを実行するように適合され、
ストレージサーバが、オフラインダウンロードおよびトランスコーディングサーバクラスタによってダウンロードおよびトランスコーディングされたマルチメディアリソースを格納するように適合される。
【００１７】
本開示のさらに別の例によれば、モバイルマルチメディアリアルタイムトランスコーディング方法を実施するための命令のセットを含む非一時的コンピュータ可読記憶媒体が提供され、方法が、
サーバ側によって、クライアントによって提出されたオフラインダウンロードおよびトランスコーディングタスク要求を受信する段階であって、オフラインダウンロードおよびトランスコーディングタスク要求が、ユーザによって選択された目標モバイルデバイスタイプ、または、ユーザ指定の目標フォーマットを含む、段階と、
サーバ側によって、スケジューリングの後、クライアントによって提出されたオフラインダウンロードおよびトランスコーディングタスク要求内に担持された、ユーザによって選択された目標モバイルデバイスタイプ、または、ユーザ指定の目標フォーマットにしたがって、オフラインダウンロードおよびトランスコーディングを並行して実行するように、オフラインダウンロードおよびトランスコーディングタスクを実行し、得られたマルチメディアリソースをクライアントに提供する段階とを含む。
【００１８】
本開示の例によれば、サーバ側は、ユーザによって提出されたオフラインダウンロードおよびトランスコーディングタスク要求内に担持された、ユーザによって選択された目標モバイルデバイスタイプ、または、ユーザ指定の目標フォーマットにしたがって、オフラインダウンロードおよびトランスコーディングを並行して実行するように、オフラインダウンロードおよびトランスコーディングタスクを実行する。サーバ側は、得られたマルチメディアリソースをクライアントに提供する。
【００１９】
本開示の例によれば、オフラインダウンロードおよびトランスコーディングタスクは、ユーザによって選択された目標モバイルデバイスタイプ、または、ユーザ指定の目標フォーマットにしたがって実行されてもよく、リソースのソースは、制限されない。したがって、ユーザの様々な要求を満たすことができる。オフラインダウンロードおよびトランスコーディングタスクは、オフラインダウンロードおよびトランスコーディングを並行して実行するようなスケジューリングにしたがって実行され、これは、時間を節約し、動的でバランスのとれたスケジューリングを実現し、リアルタイムトランスコーディングを実現する。したがって、再生効果が改善される。
【図面の簡単な説明】
【００２０】
【図１】本開示の例によるシステムの構造を示す概略図である。
【図２】本開示の例によるオフラインダウンロードに基づくモバイルマルチメディアリアルタイムトランスコーディングシステムの構造を示す概略図である。
【図３】本開示の例による方法の原理を示すフローチャートである。
【発明を実施するための形態】
【００２１】
ユーザがモバイルデバイス上でモバイルビデオを視聴することを可能にする1つの方法では、ネットワークは、モバイルデバイス上で再生することができるビデオフォーマットのビデオについて検索される。ビデオは、再生するためのモバイルデバイスにダウンロードされ、または、オンラインで再生される。
この方法では、ユーザは、モバイルデバイスで再生されるのに適したビデオフォーマット、例えば、3GP(3Gストリーミングメディアのビデオ符号化フォーマット)を見つけなければならない。フォーマットが変換されたビデオリソースが採用されるため、マルチメディアリソースのソースは、既存のフォーマットに限定される。すべてのビデオリソースを選択し、再生することができるわけではない。再生する準備ができたフォーマットを探す方法は、ビデオリソースのソースを制限する。モバイルデバイス上で再生されるのに適したビデオファイルが見つからない場合、オリジナルビデオファイルをダウンロードしなければならない。この手順は長時間待つことを必要とし、これは時間を浪費し、多くの帯域幅を消費する。次に、ビデオトランスコーディングは、ビデオリソースを、再生するためのモバイルデバイスと同期する前に実行される。ビデオがオンラインのウェブサイト上にある場合でも、ウェブサイトによって事前にトランスコーディングされる前に、ビデオを使用することはできない。したがって、この方法によれば、ビデオリソースのソースが制限される。ユーザは、ほとんどない選択肢に制限される。加えて、トランスコーディングのフォーマットおよび符号化率は、固定される。各ユーザの要求に応じて精細度および滑らかさの間のバランスを達成することは困難である。
ユーザがモバイルデバイス上でモバイルビデオを視聴することを可能にする別の方法では、ユーザがログインするクライアントのローカルトランスコーディングシステムを使用して、フォーマット変換が実行される。専用トランスコーディングソフトウェアが、モバイルデバイスにインストールされる。トランスコーディングされる必要があるオリジナルファイルは、トランスコーディングソフトウェアにインポートされる。
この方法では、ユーザは、変換フォーマットのビデオファイルを取得し、次に、ビデオフォーマットトランスコーディングをクライアント側で実行しなければならない。その後、ビデオファイルは、視聴するためにモバイルデバイス内にインポートされる。クライアント側のトランスコーディングによる場合、ビデオリソースのソースは制限されないが、この方法は、ユーザが多くの符号化技術、例えば、解像度、符号化率、およびフレームレートなどを知っていることを必要とする。すべてのユーザが、知識を身につけているわけではない。したがって、ユーザグループが制限される。解像度に関して、モバイルデバイスの各タイプによってサポートされるビデオ解像度は、上限を有する。それらの大部分は、モバイルデバイスの画面の物理的な解像度を超える解像度を有するビデオをサポートしない。符号化率に関して、モバイルデバイスの各タイプによってサポートされる符号化率も、通常は1Mbps未満の上限を有する。フレームレートに関して、最近のモバイルデバイスは、最大で1秒あたり30フレーム(fps)をサポートする。
加えて、ビデオトランスコーディングは、高い計算負荷を有する手順である。出力フォーマットによる復号、ビデオフィルタリング/画像処理、および符号化を含む操作が、入力ビデオストリームに対して処理される必要がある。トランスコーディング(特に、ビデオトランスコーディング)は、特に高精細度ビデオに関して、時間を消費し、リソースを消費する手順である。前者または後者の方法のどちらが採用されても、トランスコーディングの開始および実行は、一元的に処理され、これは、長い待ち時間を必要とし、多くの中央処理装置(CPU)処理時間を占有する。モバイルデバイスに関しては、大量の動的で複雑な復号を実行することはできない。最新型の携帯電話を採用したとしても、ビデオをサポートするためのパラメータの制限も存在する。加えて、従来のトランスコーディング技術によれば、データを共有することができない。同じファイルに対して、あるユーザが、このファイルをトランスコーディングする必要がある場合、ファイルがユーザのクライアント側でトランスコーディングされた後、他のユーザは、同じファイルを必要とする場合、再びローカルのトランスコーディング操作を実行しなければならない。
本開示の例は、リアルタイムトランスコーディング技術を採用する。この技術では、モバイルデバイスユーザは、マルチメディアリソースを視聴するための視聴要求を提出する。トランスコーディングシステムは、要求に応じてリアルタイムで視聴するためのマルチメディアリソースをユーザに提示する。ユーザによって選択された目標モバイルデバイスタイプ、または、ユーザ指定の目標フォーマットにしたがって、オフラインダウンロードサーバは、ユーザがログインするクライアントを介してユーザによって提出されたダウンロードおよびトランスコーディングタスク要求にしたがって、対応するコンテンツをダウンロードする。コンテンツは、オフラインダウンロードサーバ側で、自動的にトランスコーディングされる。代わりに、適切なコンテンツリソースが、オフラインダウンロードサーバ側で見つけられてもよい。したがって、異なるソースからのマルチメディアリソースが、一様なインターフェースを介して統合され、アクセスされてもよい。ユーザによって選択された目標モバイルデバイスタイプにしたがって、オフラインダウンロードおよびトランスコーディングタスクを開始する際、ダウンロードおよびトランスコーディングは、並行して実行されてもよく、すなわち、ダウンロードしながらトランスコーディングしてもよい。ユーザは、トランスコーディングを開始する前に、ダウンロードが完了するのを待つ必要はない。リアルタイムトランスコーディングが実現される。データがトランスコーディングされた後で、プレビューが、モバイルデバイス上に提供されてもよく、プレビューは、ユーザが、トランスコーディングされたコンテンツを望んでいるかどうかを決定することを容易にする。トランスコーディングされたコンテンツのプレビューが、ユーザに提供されてもよい。同時に。ユーザは、最初からではなく、トランスコーディングを開始する位置を選択することができ、すなわち、ファイルの異なる部分のプレビューが、ユーザに提供されてもよい。本開示の解決法は、モバイルマルチメディアアプリケーションと互換性がある。ユーザによって選択された目標モバイルデバイスタイプ、または、ユーザ指定の目標フォーマットが提出されるため、モバイルデバイス上でユーザによって視聴されるマルチメディアは、モバイルデバイスに適合される。したがって、視聴の精細度および視聴の滑らかさの間のバランスが実現される。
【００２２】
マルチメディアトランスコーディングは、時間がかかり、リソースを消費する手順である。状況は、高精細マルチメディアに関してさらに悪くなる。本開示の例では、分散クラスタ技術が採用される。従来の一元的処理と異なり、分散クラスタ技術は、マルチメディアトランスコーディング手順の速度を増す。クラスタ技術では、PCサーバから構成される分散システムが、大規模なマシンに取って代わる。分散処理は、高効率でのスケジューリングおよび管理を実現する。複数のダウンロードおよびトランスコーディングタスクを、並列に実行することができる。したがって、トランスコーディングのスループットおよび効率が増大する。クラスタは、ユーザに対して透明である。ユーザは、クラスタの技術的詳細を知る必要がない。ユーザは、ダウンロード/トランスコーディングタスクをサーバ側のクラスタノードに提出し、トランスコーディングが完了した後、特定の位置からの要求されたマルチメディアリソースを取得する必要があるだけである。
【００２３】
以下、本開示は、その技術的解決法および利点をより明確にするために、添付図面および例を参照してさらに詳細に説明される。
【００２４】
オフラインダウンロードに基づくモバイルマルチメディアリアルタイムトランスコーディングシステムは、図1に示すようなものである。システムは、ユーザのモバイルデバイス側のクライアント、サーバ側のタスクスケジューリングおよび管理サーバ、サーバ側のオフラインダウンロードおよびトランスコーディングサーバクラスタ、ならびに、サーバ側のストレージサーバを含む。クライアントは、オフラインダウンロードおよびトランスコーディングタスク要求を、タスクスケジューリングおよび管理サーバに送信するように適合され、要求は、ユーザによって選択された目標モバイルデバイスタイプ、および、ユーザによって指定された目標フォーマットを担持する。クライアントは、また、要求されたマルチメディアリソースを取得するように適合される。タスクスケジューリングおよび管理サーバは、オフラインダウンロードおよびトランスコーディングタスクのリストを管理し、クライアントのオフラインダウンロードおよびトランスコーディングタスク要求を送信し、分散型オフラインダウンロードおよびトランスコーディングサーバクラスタをスケジューリングするように適合される。オフラインダウンロードおよびトランスコーディングサーバクラスタは、分散されたものであり、タスクスケジューリングおよび管理サーバによってスケジューリングされ、ユーザによって選択された目標モバイルデバイスタイプ、および、ユーザによって指定された目標フォーマットにしたがって、オフラインダウンロードおよびトランスコーディングを並行して実行するように、オフラインダウンロードおよびトランスコーディングタスクを実行するように適合される。ストレージサーバは、オフラインダウンロードおよびトランスコーディングサーバクラスタによってダウンロードおよびトランスコーディングされたマルチメディアリソースを格納するように適合される。
【００２５】
オフラインダウンロードは、ユーザのダウンロードツールのサーバが、ユーザのために最初にコンテンツをダウンロードすることを指すことに注意すべきである。例えば、マルチメディアリソースがあまり人気がない場合、ダウンロード速度は低い。ユーザは、長いダウンロード時間を費やさなければならない。ユーザが、本開示の例によって提供されるオフラインダウンロード技術を採用する場合、サービスプロバイダのサーバ側は、ユーザのためのマルチメディアリソースをダウンロードすることができる。ユーザは、時間および電力を節約するために、ダウンロードツールを閉じる、または、モバイルサービスをシャットダウンすることができる。オフラインダウンロードが完了した後、ユーザは、マルチメディアリソースを、サーバ側から高いダウンロード速度で、ユーザのモバイルデバイスにダウンロードする。オフラインダウンロードは、ユーザの多くの待ち時間を節約する。より重要なのは、モバイルデバイスユーザは、他の操作を実行するために、時間、デバイスリソース、および帯域幅を節約することができる。オフラインダウンロードの原理は、以下のようなものである。すなわち、(1)ユーザは、クライアントまたはウェブインターフェースを介してダウンロード要求を提出し、(2)オペレータのサーバ側は、要求を受信し、ユーザによって提出されたダウンロードリンクが、以前にダウンロードされているかどうかをチェックする。そうでない場合、サーバ側は、ダウンロードするためにマルチスレッドを開始する。そうである場合、ダウンロードされたマルチメディアリソース(または、マルチメディアリソースのリンク)が、サーバ側のオフラインストレージ空間内に置かれ、(3)オフラインダウンロードが完了した後、サーバ側は、ユーザに通知する。ユーザは、オフラインストレージ空間にログインし、マルチメディアリソースを取得する。この手順の間、マルチメディアリソースは、同じファイルをダウンロードしたまたはしているユーザから、ピアツーピア(P2P)方式によって取得されてもよい。
【００２６】
トランスコーディングに関して、ユーザによって選択された目標モバイルデバイスタイプ、または、ユーザによって指定された目標フォーマットにしたがって、ユーザによって指定される目標フォーマットのマルチメディアリソースへの、オリジナルマルチメディアリソースの変換をサポートする。
【００２７】
加えて、サーバ側のオフラインダウンロードおよびトランスコーディングサーバクラスタは、オフラインダウンロード機能およびトランスコーディング機能が統合されたサーバクラスタを含み、または、それぞれ、オフラインダウンロード機能およびトランスコーディング機能を実行する2つの異なるサーバクラスタを含む。タスクスケジューリングおよび管理サーバは、タスク管理機能およびスケジューリング機能が統合されたサーバを含み、または、それぞれ、タスク管理機能およびスケジューリング機能を実行する2つの異なるサーバを含む。ストレージサーバは、オフラインダウンロードおよびトランスコーディングサーバクラスタに統合されたサーバである場合がある。
【００２８】
加えて、オフラインダウンロードおよびトランスコーディングサーバクラスタは、その基本的な構成情報および負荷情報を、タスクスケジューリングおよび管理サーバに提出するように適合される。タスクスケジューリングおよび管理サーバは、基本的な構成情報および負荷情報にしたがって、オフラインダウンロードおよびトランスコーディングタスクをオフラインダウンロードおよびトランスコーディングサーバクラスタに割り当てる。
【００２９】
加えて、オフラインダウンロードおよびトランスコーディングサーバクラスタは、現在のダウンロードおよびトランスコーディングの進捗状況を、タスクスケジューリングおよび管理サーバに提出し、オフラインダウンロードおよびトランスコーディングタスクを実行することによって生成されるハッシュファイルのマッピング記録を、データベースに書き込む。データベースは、ハッシュファイルのマッピング記録を格納する。タスクスケジューリングおよび管理サーバは、現在のオフラインダウンロードおよびトランスコーディングの進捗状況を取得し、問い合わせのためにクライアントに提供する。
【００３０】
加えて、クライアントによって提出されたオフラインダウンロードおよびトランスコーディングタスク要求を受信した後、タスクスケジューリングおよび管理サーバは、データベースに格納されたハッシュファイルのマッピング記録にしたがって、オフラインでダウンロードされトランスコーディングされたマルチメディアリソースが存在することを判定し、オフラインでダウンロードされトランスコーディングされたマルチメディアリソースを、プレビューまたは再生するためにクライアントに提供する。
【００３１】
加えて、マルチメディアリソースは、データスライスを含む。クライアントは、ストレージサーバからデータスライスを取得し、現在再生またはプレビューされているスライスと同じファイルに属する別のスライスを指定する必要がある場合、指定されたスライスのオフセットを、オフラインダウンロードおよびトランスコーディングサーバクラスタに提出する。オフラインダウンロードおよびトランスコーディングサーバクラスタは、ユーザによって指定されたスライスから、オフラインダウンロードおよびトランスコーディングタスクの実行を開始する。ダウンロードおよびトランスコーディングは、指定された位置から開始され得るため、ユーザは、オフラインダウンロードおよびトランスコーディングタスクを、再生/プレビュー要件にしたがって、いかなる時にでも更新することができる。したがって、ユーザは、指定されたスライスのデータを、迅速に取得することができる。そして、より良いローカル再生/プレビュー効果が達成される。
【００３２】
図2は、本開示の別の例によるシステム構造を示す。タスクスケジューリングおよび管理サーバは、それぞれ、タスク管理機能およびスケジューリング機能を実行する2つの異なるサーバ、すなわち、タスクスケジューリングサーバおよびタスク管理サーバを含む。ストレージサーバは、クラウドストレージサーバであってもよい。
【００３３】
以下、例でのデバイスを説明する。
【００３４】
クライアントは、(1)オリジナルマルチメディアリソースを、異なるモバイルデバイス、例えば、Android携帯電話、もしくはiPadプラットフォームによって要求されるマルチメディアフォーマットに変換するために、オフラインダウンロードおよびトランスコーディングタスクのオフライントランスコーディングオリジナルリンク、例えば、ユニフォーム/ユニバーサルリソースロケータ(URL)、ならびに、ユーザによって選択された目標モバイルデバイスタイプ、もしくは、ユーザによって指定された目標フォーマットを提出し、または、ユーザの現在のモバイルデバイスのタイプを検出し、情報をタスク管理サーバに提出し、(2)ユーザが、再生またはプレビューされている現在のスライスと同じファイルに属する別のスライスのデータを要求する場合、オフラインダウンロードおよびトランスコーディングサーバが、オフラインダウンロードおよびトランスコーディング手順の間に、ドラッグをサポートするために、指定されたスライスからオフラインダウンロードおよびトランスコーディングタスクを実行するように、クライアントは、タスク管理サーバおよびタスクスケジューリングサーバを介して、オフラインダウンロードおよびトランスコーディングサーバクラスタにスライスのオフセットを提出し、(3)オフラインでダウンロードされトランスコーディングされている取得されたデータを、再生/プレビューのためにクライアントに提出する。
【００３５】
本開示の例でのクライアントは、生成モジュールおよび送信モジュールを含むことができる。
【００３６】
生成モジュールは、オフラインダウンロードおよびトランスコーディングタスク要求を生成するのに適合され、オフラインダウンロードおよびトランスコーディングタスク要求は、ユーザによって選択された目標モバイルデバイスタイプ、および、ユーザによって指定された目標フォーマットを担持する。
【００３７】
送信モジュールは、要求されたマルチメディアリソースをサーバ側から取得するために、オフラインダウンロードおよびトランスコーディングタスク要求をサーバ側に送信するように適合される。
【００３８】
オフラインダウンロードおよびトランスコーディングサーバクラスタは、(1)タスクスケジューリングサーバのスケジューリングを受け入れる。(2)クライアントによって提供されるオフライントランスコーディングオリジナルリンクにしたがって、オフラインダウンロードおよびトランスコーディングを必要とするビデオまたはオーディオリソースなどオリジナルマルチメディアリソースをダウンロードし、リソースを、ユーザのオフラインストレージ空間内に格納する。(3)ユーザによって選択された目標モバイルデバイスタイプ、または、ユーザによって指定された目標フォーマットにしたがって、オフラインダウンロードおよびトランスコーディング操作を実行し、オフラインダウンロードおよびトランスコーディングによって生成されたマルチメディアリソースのデータスライスを、クライアントの検索のためにクラウドストレージサーバに送信し、オフラインダウンロードおよびトランスコーディング操作の進捗状況を、タスクスケジューリングサーバにレポートする。(4)オフラインダウンロードおよびトランスコーディングが終了した後、トランスコーディングされたリソースを取得する際、クライアントのサポートを提供する。(5)タスクスケジューリングサーバが、負荷情報にしたがって、動的でバランスのとれたスケジューリングを実行し、視聴の精細度および視聴の滑らかさの間のバランスを達成するように、それ自体の基本設定情報、例えば、アドレス、ディスク容量、CPU負荷情報など負荷情報を、タスクスケジューリングサーバに登録する。(6)オフラインダウンロードおよびトランスコーディングによって生成された最終的なハッシュファイルのマッピング記録を、データベースに書き込む。
【００３９】
タスクスケジューリングサーバは、(1)オフラインダウンロードおよびトランスコーディングサーバクラスタの各ノードによってレポートされた基本的な設定情報および負荷情報を受信する。(2)基本的な設定情報および負荷情報にしたがって、オフラインダウンロードおよびトランスコーディングタスクをオフラインダウンロードおよびトランスコーディングサーバクラスタの異なるノードに動的に割り当てる。(3)オフラインダウンロードおよびトランスコーディングサーバクラスタによってレポートされたオフラインダウンロードおよびトランスコーディングの進捗状況を受信し、進捗状況情報をタスク管理サーバにレポートする。(4)同じオフラインダウンロードおよびトランスコーディングタスク要求をフィルタリングし、同じオフラインダウンロードおよびトランスコーディングタスク要求に対して、それらのうちの1つのみを、オフラインダウンロードおよびトランスコーディングサーバクラスタに送信し、異なるユーザは、同じタスクのオフラインダウンロードおよびトランスコーディング進捗状況を共有することができる。
【００４０】
タスク管理サーバは、(1)クライアントによって提出されたオフラインダウンロードおよびトランスコーディングタスク要求を受信し、それぞれの独立したオフラインダウンロードおよびトランスコーディングタスクに対してユニークな識別子を生成する。(2)オフラインダウンロードおよびトランスコーディングタスクのオリジナルリンクを、タスクスケジューリングサーバに提供する。(3)クライアントによって提出されたオフラインダウンロードおよびトランスコーディングタスクファイルスライス変更要求を受信し、要求をタスクスケジューリングサーバにスケジューリングする。(4)タスクスケジューリングサーバによってレポートされたオフラインダウンロードおよびトランスコーディング進捗状況情報を受信し、オフライントランスコーディング進捗状況を、問い合わせのためにクライアントに提供する。(5)マッピング記録にしたがって、オフラインでダウンロードされトランスコーディングされたデータが存在することが判定された場合、オフラインダウンロードおよびトランスコーディングが、スパイクトランスコーディング(クラウドトランスコーディング)を実現するのに成功したことを、クライアントに通知する。(6)クライアントが、オフラインでダウンロードされトランスコーディングされたデータを再生および取得することを必要とする場合、データを取得するクライアントのためのエントリアドレスを提供する。
【００４１】
本開示の例は、オフラインダウンロードに基づくモバイルマルチメディアリアルタイムトランスコーディング方法も提供する。図3に示すように、方法は、以下を含む。
【００４２】
ブロック101では、クライアントは、オフラインダウンロードおよびトランスコーディングタスク要求をサーバ側に提出する。
【００４３】
ここで、オフラインダウンロードおよびトランスコーディングタスク要求は、ユーザによって選択された目標モバイルデバイスタイプ、または、ユーザによって指定された目標フォーマットを担持する。
【００４４】
ブロック102では、サーバ側は、クライアントによって提出されたオフラインダウンロードおよびトランスコーディングタスク要求を受信し、ユーザによって選択された目標モバイルデバイスタイプ、または、ユーザによって指定された目標フォーマットにしたがって、オフラインダウンロードおよびトランスコーディングを並行して実行するように、オフラインダウンロードおよびトランスコーディングタスクを実行する。
【００４５】
ここで、サーバ側が、オフラインでダウンロードされトランスコーディングされたマルチメディアリソースをすでに有する場合、マルチメディアリソースは、クライアントに直接見つけられ、提供されることが可能である。
【００４６】
加えて、スケジューリングを受け入れる前に、方法は、さらに、オフラインダウンロードおよびトランスコーディングサーバクラスタが、その基本的な設定情報および負荷情報を、タスクスケジューリングおよび管理サーバに提出することを含む。
【００４７】
スケジューリングは、タスクスケジューリングおよび管理サーバが、オフラインダウンロードおよびトランスコーディングサーバクラスタによって提出された基本的な構成情報および負荷情報にしたがって、オフラインダウンロードおよびトランスコーディングタスクをオフラインダウンロードおよびトランスコーディングサーバクラスタに割り当てることを含む。
【００４８】
加えて、方法は、さらに、オフラインダウンロードおよびトランスコーディングサーバクラスタが、現在のオフラインダウンロードおよびトランスコーディングの進捗状況を、タスクスケジューリングおよび管理サーバに提供し、オフラインダウンロードおよびトランスコーディングタスクを実行することによって生成されたハッシュファイルのマッピング記録を、データベースに書き込むことを含む。
【００４９】
加えて、トランスコーディングの進捗状況を受信した後、方法は、さらに、タスクスケジューリングおよび管理サーバが、トランスコーディングの進捗状況を、問い合わせのためにクライアントに提供することを含む。
【００５０】
加えて、タスクスケジューリングおよび管理サーバが、オフラインダウンロードおよびトランスコーディングタスク要求を受信した後、方法は、さらに、データベースに格納されたハッシュファイルのマッピング記録に問い合わせることによって、オフラインでダウンロードされトランスコーディングされたマルチメディアリソースが存在することを判定し、マルチメディアリソースを、プレビューおよび再生のためにクライアントに提供することを含む。
【００５１】
さらに、マルチメディアリソースは、データスライスを含む。方法は、さらに、クライアントが、ストレージサーバからデータスライスを取得し、現在再生またはプレビューされているスライスと同じファイルに属する別のスライスを指定する必要があるとき、指定されたスライスのオフセットを、オフラインダウンロードおよびトランスコーディングサーバクラスタに提出し、再生/プレビューのためにクライアントに対してオフラインダウンロードおよびトランスコーディングが実行された後、データスライスを取得することを含む。オフラインダウンロードおよびトランスコーディングサーバクラスタは、スライスのオフセットにしたがって、ユーザによって指定されたスライスから、オフラインダウンロードおよびトランスコーディングタスクを開始する。
【００５２】
方法の例
この例は、以下を含む。
【００５３】
ブロック201で、ユーザは、(URL、またはeMuleダウンロードリンク、またはBitTorrentシードファイル情報を含む)ダウンロード情報を提出し、クライアントは、オフラインダウンロードおよびトランスコーディングタスク要求を開始し、ユーザがマルチメディアリソースを再生するモバイルデバイス、例えば、Android携帯電話、iPadプラットフォームを選択し、または、クライアントは、ユーザのモバイルデバイスのタイプを検出する。
【００５４】
ブロック202では、タスク管理サーバは、クライアントから受信したオフラインダウンロードおよびトランスコーディングタスク要求を、タスクスケジューリングサーバに転送する。ダウンロードアドレスがURLである場合、URLが転送される。同時に、要求に含まれた、ユーザによって選択された目標モバイルデバイスタイプ、または、ユーザによって指定された目標フォーマットも転送される。要求を受信した後、タスク管理サーバは、データベースのマッピング記録に問い合わせる。マッピング記録にしたがって、クラウドストレージサーバ内に、オフラインでダウンロードされトランスコーディングされた対応するマルチメディアリソースが存在することが検出された場合、タスク管理サーバは、クライアントに通知し、クライアントは、対応するマルチメディアリソースを再生またはプレビューし、取得することを開始することができる。
【００５５】
ブロック203では、クラウドストレージサーバ内に一致するマルチメディアリソースが存在しない場合、オフラインダウンロードおよびトランスコーディングタスク要求は、タスクスケジューリングサーバに転送される。
【００５６】
ブロック204では、オフラインダウンロードおよびトランスコーディングサーバクラスタが、それぞれオフラインダウンロードおよびトランスコーディングを実行する異なるサーバクラスタを有する場合、タスクスケジューリングサーバは、オフラインダウンロードサーバクラスタの負荷情報にしたがって、オフラインダウンロードタスクをスケジューリングする。オフラインダウンロードサーバクラスタは、インターネットからデータをダウンロードするためのURLにしたがってダウンロードを開始する。1つのデータスライスがダウンロードされた後、トランスコーディングサーバクラスタは、トランスコーディングタスクの実行を開始することができる。したがって、オリジナルのマルチメディアリソースは、ユーザによって選択された目標モバイルデバイスタイプ、または、ユーザによって指定された目標フォーマットにしたがって、対応するマルチメディアリソースに変換される。同時に、トランスコーディングの進捗状況および中間状態情報が、クライアントにレポートされる。
【００５７】
ここで、1つのビデオまたはオーディオファイルがトランスコーディングされた後、ユーザのオフラインストレージ空間の有効期間中に、ビデオまたはオーディオファイルは、再びトランスコーディングすることなく、異なるユーザによって使用されてもよい。いくらかのネットワーク帯域を占有することによって、クラウドストレージサーバからファイルを取得することのみが必要である。1つのファイルまたは1つのデータストリームの処理中に、トランスコーディングサーバクラスタは、ファイルまたはデータストリームを、クライアントによって開始されるオフラインダウンロードおよびトランスコーディングタスク要求内に担持される（carried）モバイルデバイスのパラメータ、ユーザによって選択された目標モバイルデバイスタイプ、ならびに、ユーザによって指定された目標フォーマットに依存する、異なる解像度、異なる符号化率、または異なるフォーマットの複数の目標ファイルに変換することができる。
【００５８】
ブロック205では、クライアントは、トランスコーディングの進捗状況を受信し、クライアントは、トランスコーディングサーバクラスタからトランスコーディングされたデータを取得し、トランスコーディングされた結果、および、ファイルマッピング記録が、データベースに書き込まれる。
【００５９】
ブロック206では、トランスコーディングされたデータスライスが、同期のためにクラウドストレージサーバに転送される。クライアントは、再生するためのデータスライスを取得する。モバイルデバイスが、現在のスライスと同じファイルに属する別のスライスを再生したい場合、クライアントは、オフラインダウンロードおよびトランスコーディングタスク要求を再び開始する。一般に、再生すべきスライスのオフセットが、オフラインダウンロードおよびトランスコーディングサーバクラスタに送信される。オフラインダウンロードおよびトランスコーディングサーバクラスタは、オフセットにしたがって、指定されたスライスからダウンロードおよびトランスコーディングを開始する。
【００６０】
本開示の例でのデータベースに格納されるマッピング記録に関して、サーバ側でのトランスコーディングフォーマットのマッピング関係は、以下の通り、すなわち、トランスコーディングされる前のファイルは、ファイルのコンテンツのハッシュ値によってユニークに識別されトランスコーディングされた後のファイルは、ファイルのコンテンツのハッシュ値、ならびに、対応する出力モード(例えば、トランスコーディングのフォーマット、コードストリーム、解像度、およびフレームレート)によって識別されることであることを注意すべきである。1対多の関係が、トランスコーディング前のファイルと、トランスコーディング後のファイルとの間に確立される。関係マッピングテーブルが、タスク管理サーバによって保持される。マッピングテーブルによって、ファイルが、あるフォーマットにトランスコーディングされているかどうかを判定することができる。または、トランスコーディングされた後のファイルに対応するトランスコーディングされる前のファイルのファイルハッシュが、マッピングテーブルにしたがって決定されてもよい。マッピング記録は、オフラインダウンロードおよびトランスコーディングタスクが終了した後に、オフラインダウンロードおよびトランスコーディングサーバクラスタによって、データベースに書き込まれる。
【００６１】
当業者は、本開示の例が、方法、システム、またはコンピュータプログラム製品として実現されてもよいことを知っているはずである。したがって、本開示は、ハードウェア、ソフトウェア、または、ハードウェアおよびソフトウェアの組み合わせによって実現されてもよい。加えて、本開示は、一連のコンピュータ可読命令を含む(ディスクメモリおよび光メモリを含むが、これらに限定されない)コンピュータ可読記憶媒体に実装されたコンピュータプログラム製品であってもよい。
【００６２】
本開示を、方法、デバイス(システム)、およびコンピュータプログラム製品のフローチャートおよび/または概略図、を参照して説明した。フローチャートおよび/または概略図内の各フローおよび/またはブロック、ならびに、フローチャートおよび/または概略図内のフローおよび/またはブロックの組み合わせは、コンピュータ可読命令によって実施されてもよいことに注意すべきである。フローチャート内の1つもしくは複数のフロー、および/または、図中の1つもしくは複数のブロックの機能を実行するための装置を実現するために、コンピュータ稼働命令は、汎用コンピュータ、専用コンピュータ、組み込み型コンピュータ、または、他のプログラム可能なデータ処理デバイスのプロセッサに提供されてもよい。
【００６３】
コンピュータ可読命令は、コンピュータ可読ストレージに格納されてもよく、コンピュータ可読ストレージは、コンピュータ可読ストレージ内の命令が、命令装置を含む製品を生成するように、特別な作業方法でコンピュータまたは他のプログラム可能なデータ処理デバイスを起動することができ、命令装置は、フローチャート内の1つもしくは複数のフロー、および/または、ブロック図中の1つもしくは複数のブロックの機能を実現する。
【００６４】
コンピュータプログラム命令は、コンピュータ可読ストレージ内の命令が、命令装置を含む製品を生成するように、コンピュータ命令を生成するために、コンピュータまたはプログラム可能なデータ処理デバイスで一連の操作を実行するために、コンピュータまたは別のプログラム可能なデータ処理デバイスにロードされてもよく、命令装置は、フローチャート内の1つもしくは複数のフロー、および/または、ブロック図中の1つもしくは複数のブロックの機能を実現する。
【００６５】
以下、本開示の例で使用される用語を説明する。
【００６６】
本開示の例でのクライアントは、オフラインダウンロード能力を有するダウンロードクライアントである。
【００６７】
本開示の例でのマルチメディアトランスコーディングは、異なるネットワーク帯域幅、異なる端末処理能力、および異なるユーザの要件を満たすために、圧縮符号化されたマルチメディアコードストリームを、別のマルチメディアコードストリームに変換することである。トランスコーディングは、最初に、復号の手順を、次に、符号化の手順を含む。トランスコーディングの前後のコードストリームは、同じマルチメディア符号化規格、または、異なるマルチメディア符号化規格に準拠してもよい。
【００６８】
本明細書で説明し、例示してきたものは、その変形のいくつかと共に、本開示の好適な例である。多くの変形が、本開示の範囲内で可能である。
【符号の説明】
【００６９】
１０１、１０２……ブロック
【図１】
0005897134.tif 000002
【図２】
0005897134.tif 000003
【図３】
0005897134.tif 000004