(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-03-17
(45)【発行日】2022-03-28
(54)【発明の名称】ユーザ特定情報が埋め込まれたデジタルコンテンツの配信
(51)【国際特許分類】
G06F 21/16 20130101AFI20220318BHJP
【FI】
G06F21/16
(21)【出願番号】P 2017133989
(22)【出願日】2017-07-07
【審査請求日】2020-06-30
【前置審査】
(73)【特許権者】
【識別番号】502336656
【氏名又は名称】合同会社DMM.com
(74)【代理人】
【識別番号】100126572
【氏名又は名称】村越 智史
(72)【発明者】
【氏名】中根 康晴
【審査官】打出 義尚
(56)【参考文献】
【文献】特開2004-159027(JP,A)
【文献】特開2004-221715(JP,A)
【文献】特表2015-531189(JP,A)
【文献】特開2003-283795(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/16
(57)【特許請求の範囲】
【請求項1】
一または複数のコンピュータプロセッサと、
メモリと、
圧縮された複数のデジタルコンテンツを保存するストレージと、
を備えたシステムであって、
前記一または複数のプロセッサは、所定のコンピュータ読み取り可能な命令を実行することにより、
前記圧縮された複数のデジタルコンテンツのうちユーザから要求された特定デジタルコンテンツのデータを分割して複数の圧縮されたデータユニットを生成し、
前記複数の圧縮されたデータユニットのうちの第1データユニットを前記メモリに記憶し、
前記メモリに記憶された前記第1データユニットを伸張し、
前記第1データユニットに埋め込み領域が含まれるか否かを判定し、
前記第1データユニットに前記埋め込み領域が含まれる場合に、前記第1データユニットの前記埋め込み領域に前記ユーザを特定するユーザ特定情報を埋め込む埋め込み処理を行
い、
前記特定デジタルコンテンツのデータは、データ本体と、前記データ本体のメタデータと、を含み、
前記埋め込み領域は、前記メタデータを格納するための領域である、
システム。
【請求項2】
前記一または複数のプロセッサは、前記埋め込み処理の後に、前記第1データユニットを圧縮する、請求項1に記載のシステム。
【請求項3】
前記第1データユニットに前記埋め込み領域が含まれる場合には、前記一または複数のプロセッサは、前記ユーザ特定情報が埋め込まれた前記第1データユニットを圧縮する、請求項2に記載のシステム。
【請求項4】
前記第1データユニットに前記埋め込み領域が含まれない場合には、前記一または複数のプロセッサは、前記ユーザ特定情報を含まない前記第1データユニットを圧縮する、請求項2に記載のシステム。
【請求項5】
前記一または複数のプロセッサは、圧縮された前記第1データユニットを前記ユーザに送信するための送信処理を行う、請求項2から請求項4のいずれか1項に記載のシステム。
【請求項6】
前記一または複数のプロセッサは、前記第1データユニットに対する送信処理の開始後に、前記第1データユニットを前記メモリから削除する、請求項1から請求項5のいずれか1項に記載のシステム。
【請求項7】
前記一または複数のプロセッサは、
前記第1データユニットが前記メモリから削除された後、前記複数のデータユニットのうちの前記第1データユニットとは異なる第2データユニットを前記メモリに記憶し、
前記メモリに記憶された前記第2データユニットを伸張し、
前記第2データユニットに埋め込み領域が含まれるか否かを判定し、
前記第2データユニットに前記埋め込み領域が含まれる場合に、前記第2データユニットの前記埋め込み領域に前記ユーザを特定するユーザ特定情報を埋め込む埋め込み処理を行う、
請求項6に記載のシステム。
【請求項8】
前記埋め込み領域は、前記特定デジタルコンテンツの視聴に影響を与えない領域である、請求項1から請求項7のいずれか1項に記載のシステム。
【請求項9】
一または複数のプロセッサが所定のコンピュータ読み取り可能な命令を実行することにより実現される方法であって、
ストレージに圧縮して保存されている複数のデジタルコンテンツのうちユーザから要求された特定デジタルコンテンツのデータを分割して複数の圧縮されたデータユニットを生成する工程と、
前記複数の圧縮されたデータユニットのうちの第1データユニットをメモリに記憶する工程と、
前記メモリに記憶された前記第1データユニットを伸張する工程と、
前記第1データユニットに埋め込み領域が含まれるか否かを判定する工程と、
前記第1データユニットに前記埋め込み領域が含まれる場合に、前記第1データユニットの前記埋め込み領域に前記ユーザを特定するユーザ特定情報を埋め込む埋め込み処理を行う工程と、を備え
、
前記特定デジタルコンテンツのデータは、データ本体と、前記データ本体のメタデータと、を含み、
前記埋め込み領域は、前記メタデータを格納するための領域である、
方法。
【請求項10】
一または複数のプロセッサに実行されることにより、前記一または複数のプロセッサに、
ストレージに圧縮して保存されている複数のデジタルコンテンツのうちユーザから要求された特定デジタルコンテンツのデータを分割して複数の圧縮されたデータユニットを生成する工程と、
前記複数の圧縮されたデータユニットのうちの第1データユニットをメモリに記憶する工程と、
前記メモリに記憶された前記第1データユニットを伸張する工程と、
前記第1データユニットに埋め込み領域が含まれるか否かを判定する工程と、
前記第1データユニットに前記埋め込み領域が含まれる場合に、前記第1データユニットの前記埋め込み領域に前記ユーザを特定するユーザ特定情報を埋め込む埋め込み処理を行う工程と、
を実行させるプログラム
であって、
前記特定デジタルコンテンツのデータは、データ本体と、前記データ本体のメタデータと、を含み、
前記埋め込み領域は、前記メタデータを格納するための領域である、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書における開示は、DRMの改善に関する。本発明の開示は、より具体的には、ユーザ特定情報が埋め込まれたデジタルコンテンツの配信における改善に関する。
【背景技術】
【0002】
DRM(Digintal Rights Management)は、デジタルコンテンツの許諾されていない利用を制限するための技術である。DRMには、様々な方式がある。
【0003】
このDRMの一種として、ソーシャルDRMが知られている。ソーシャルDRMにおいては、デジタルコンテンツの許諾外の流通を抑制するために、デジタルコンテンツに対して、当該デジタルコンテンツの購入者を特定するユーザ特定情報が埋め込まれる。これにより、ユーザ特定情報に基づいて、デジタルコンテンツを不正に公開したユーザを特定できる。ソーシャルDRMにおいては、不正な公開者を特定できることがデジタルコンテンツの不正な公開を抑止する効果を持つ。
【0004】
特開2011-503743号公報には、ユーザ特定情報が埋め込まれたデジタルコンテンツをユーザに配信する方法が開示されている。同公報の配信方法においては、ユーザからの配信要求に応じて、当該ユーザを識別するデータを含む第二のファイルがデジタルコンテンツの第一のファイルと結合され、当該結合されたファイルが配信される。
【0005】
同公報に記載の方法では、デジタルコンテンツの第一のファイルに第二のファイルを結合させるために、両ファイルのデータがメモリに読み込まれる。このデータは、結合されたファイルが配信された後に、当該メモリから削除される(同公報の段落[0028]、段落[0039]、及び請求項3参照)。
【先行技術文献】
【特許文献】
【0006】
【発明の概要】
【発明が解決しようとする課題】
【0007】
上記の従来の配信方法では、ユーザ特定情報をデジタルコンテンツに埋め込むために、当該デジタルコンテンツの全データをメモリに一時的に記憶する必要がある。しかしながら、配信されるデジタルコンテンツの全データをメモリに記憶すると、メモリの使用量が大きくなってしまう。
【0008】
ユーザ特定情報の埋め込み処理は、メモリ上ではなくディスク上で行うこともできる。しかしながら、ディスクへのアクセス速度はメモリへのアクセス速度と比べて著しく低速であるため、記憶領域としてディスクを用いると配信までの所要時間が長くなってしまう。
【0009】
高速のメモリを使用しても、上記従来の配信方法では、ユーザのリクエストから配信開始までに長時間を要する。すなわち、上記従来の配信方法では、第一のファイルと第二のファイルとを結合させてから、その結合されたファイルをユーザに配信している。よって、ファイルの結合が完了するまで配信を開始できず、その結果、ユーザが配信を要求してから配信が開始されるまでに長時間を要する。
【0010】
このように、ユーザ特定情報が埋め込まれたデジタルコンテンツの配信においては、メモリ消費量を抑制するとともに配信開始までの時間を短縮したいという未解決のニーズがある。
【0011】
本発明の目的は、上記の課題の少なくとも一部を緩和または解消することである。
【0012】
本発明のより具体的な一つの目的は、より少ないメモリ消費量でデジタルコンテンツへユーザ特定情報を埋め込むことである。
【0013】
本発明の別の目的は、デジタルコンテンツの配信要求を受けてから配信開始までの時間を短縮することである。
【0014】
本発明のこれら以外の目的は、本明細書全体を参照することにより明らかとなる。
【課題を解決するための手段】
【0015】
本発明の一実施形態に係るシステムは、一または複数のコンピュータプロセッサと、メモリと、圧縮された複数のデジタルコンテンツを保存するストレージと、を備える。一実施形態において、前記一または複数のプロセッサは、所定のコンピュータ読み取り可能な命令を実行することにより、前記複数のデジタルコンテンツのうちユーザから要求された特定デジタルコンテンツのデータを分割して複数のデータユニットを生成し、前記複数のデータユニットのうちの第1データユニットを前記メモリに記憶し、前記メモリに記憶された前記第1データユニットを伸張し、前記第1データユニットに埋め込み領域が含まれるか否かを判定し、前記第1データユニットに前記埋め込み領域が含まれる場合に、前記第1データユニットの前記埋め込み領域に前記ユーザを特定するユーザ特定情報を埋め込む埋め込み処理を行う。
【0016】
本発明の一実施形態において、前記埋め込み領域は、当該埋め込み領域に含まれるデータによらず、前記特定デジタルコンテンツの視聴に影響を与えない領域である。例えば、特定デジタルコンテンツがJPEG形式の場合には、テキスト形式の注釈文の埋め込みに用いられるCOM(Comment)セグメントを上記埋め込み領域とすることができる。
【0017】
本発明の一実施形態において、前記特定デジタルコンテンツのデータは、データ本体と、前記データ本体のメタデータと、を含み、前記埋め込み領域は、前記メタデータを格納するための領域とされる。静止画のデジタルコンテンツは、例えば、PDF形式で作成及び配信される。かかるPDF形式のコンテンツは、当該コンテンツのメタデータを含むXMP形式のメタデータファイルとともに配信されることがある。この場合、PDF形式のデータがデータ本体に該当し、XMP形式のメタデータファイルが当該データ本体のメタデータに該当する。
【0018】
上記の各実施形態によれば、ユーザから要求された特定デジタルコンテンツへユーザ特定情報を埋め込む際に、当該特定デジタルコンテンツのデータ全体ではなく、その一部である第1のデータユニットがメモリに記憶される。そして、当該メモリ上で、当該第1のデータユニットを伸張する処理、及び、当該第1のデータユニットへのユーザ特定情報の埋め込み処理がなされる。したがって、デジタルコンテンツのデータ全体をメモリに記憶する場合よりも少ないメモリ量でユーザ特定情報の埋め込みを行うことができる。
【0019】
本発明の一実施形態において、前記一または複数のプロセッサは、前記埋め込み処理の後に、前記第1データユニットを圧縮する。前記第1データユニットに前記埋め込み領域が含まれる場合には、前記ユーザ特定情報が埋め込まれた前記第1データユニットが圧縮される。前記第1データユニットに前記埋め込み領域が含まれない場合には、前記ユーザ特定情報を含まない前記第1データユニットが圧縮される。
【0020】
当該実施形態によれば、メモリ上で、ユーザから要求された特定デジタルコンテンツのデータ全体ではなく、その一部である第1のデータユニットについて、伸張、ユーザ特定情報の埋め込み、及び圧縮(再圧縮)処理が行われる。これにより、ユーザ特定情報の埋め込みに必要とされるメモリ消費量を低減することができる。
【0021】
本発明の一実施形態において、前記一または複数のプロセッサは、圧縮された前記第1データユニットを前記ユーザに送信するための送信処理を行う。
【0022】
当該実施形態によれば、特定デジタルコンテンツを構成する複数のデータユニットの一部である第1のデータユニットをユーザに送信することができる。したがって、ユーザから要求された特定デジタルコンテンツのデータ全体について伸張及び圧縮処理が完了していなくとも、ユーザに対するデジタルコンテンツの送信処理を開始することができる。これにより、コンテンツのデータ全体を伸張・再圧縮した後に配信する従来の配信方法と比べて、配信要求から配信開始までに要する時間を短縮できる。
【0023】
本発明の一実施形態において、前記一または複数のプロセッサは、前記第1データユニットの送信処理の開始後に、前記第1データユニットを前記メモリから削除する。
【0024】
これらの実施形態によれば、第1データユニットについてユーザ特定情報の送信処理を開始した後に、当該第1データユニットが前記メモリから削除される。これにより、メモリの消費量を低減することができる。
【0025】
本発明の一実施形態において、前記一または複数のプロセッサは、前記第1データユニットが前記メモリから削除された後、前記複数のデータユニットのうちの前記第1データユニットとは異なる第2データユニットを前記メモリに記憶し、前記メモリに記憶された前記第2データユニットを伸張し、前記第2データユニットに埋め込み領域が含まれるか否かを判定し、前記第2データユニットに前記埋め込み領域が含まれる場合に、前記第2データユニットの前記埋め込み領域に前記ユーザを特定するユーザ特定情報を埋め込む埋め込み処理を行う。
【0026】
上記実施形態によれば、前記メモリ上で第2データユニットへのユーザ特定情報の埋め込み処理を行う前に、当該メモリから第1データユニットが削除される。これにより、メモリの消費量を低減することができる。
【0027】
本発明の一実施形態に係る方法は、一または複数のプロセッサが所定のコンピュータ読み取り可能な命令を実行することにより実現される方法である。当該方法は、ストレージに圧縮して保存されている複数のデジタルコンテンツのうちユーザから要求された特定デジタルコンテンツのデータを分割して複数のデータユニットを生成する工程と、前記複数のデータユニットのうちの第1データユニットをメモリに記憶する工程と、前記メモリに記憶された前記第1データユニットを伸張する工程と、前記第1データユニットに埋め込み領域が含まれるか否かを判定する工程と、前記第1データユニットに前記埋め込み領域が含まれる場合に、前記第1データユニットの前記埋め込み領域に前記ユーザを特定するユーザ特定情報を埋め込む埋め込み処理を行う工程と、を備える。
【0028】
本発明の一実施形態に係るプログラムは、一または複数のプロセッサに実行されることにより、前記一または複数のプロセッサに、ストレージに圧縮して保存されている複数のデジタルコンテンツのうちユーザから要求された特定デジタルコンテンツのデータを分割して複数のデータユニットを生成する工程と、前記複数のデータユニットのうちの第1データユニットをメモリに記憶する工程と、前記メモリに記憶された前記第1データユニットを伸張する工程と、前記第1データユニットに埋め込み領域が含まれるか否かを判定する工程と、前記第1データユニットに前記埋め込み領域が含まれる場合に、前記第1データユニットの前記埋め込み領域に前記ユーザを特定するユーザ特定情報を埋め込む埋め込み処理を行う工程と、を実行させる。
【発明の効果】
【0029】
このように、本発明の実施形態によれば、より少ないメモリ消費量でデジタルコンテンツへユーザ特定情報を埋め込むことができる。また、本発明の実施形態によれば、デジタルコンテンツの配信要求を受けてから配信開始までの時間を短縮することができる。
【図面の簡単な説明】
【0030】
【
図1】本発明の一実施形態に係るシステムを概略的に示すブロック図である。
【
図2】本発明の一実施形態に従って配信されるコンテンツのフォルダ構造の一例を模式的に示す模式図である。
【
図3】本発明の一実施形態に従って配信されるコンテンツのデータ構造の一例を模式的に示す模式図である。
【
図4】本発明の一実施形態に従ってコンテンツを配信する手順を示すフロー図である。
【
図5】本発明の一実施形態によるデータユニットへの処理手順を示すフロー図である。
【発明を実施するための形態】
【0031】
以下、図面を適宜参照し、本発明の様々な実施形態を説明する。なお、複数の図面において同一の又は類似する構成要素には同じ参照符号が付される。
【0032】
図1は、本発明の一実施形態に係るシステムを概略的に示すブロック図である。当該システムは、サーバ10及びユーザ端末30を備える。サーバ10とユーザ端末30とは、ネットワーク20を介して相互に通信可能に接続されている。
図1においては、説明を簡潔にするために、ユーザ端末30が1つのみ図示されている。しかしながら、当業者に明らかなように、
図1のシステムは、ユーザの数に応じた数のユーザ端末30を備えることができる。
【0033】
サーバ10は、デジタルコンテンツをユーザ端末30に配信するためのコンテンツサーバである。サーバ10は、様々な種類のデジタルコンテンツを配信可能に構成され得る。サーバ10が配信可能なデジタルコンテンツには、電子書籍等の静止画コンテンツ、映画等の動画コンテンツ、楽曲等の音楽コンテンツ、及びこれら以外の任意のコンテンツが含まれ得る。サーバ10によって配信可能なコンテンツの種類は、本明細書に明記されるものには限定されない。
【0034】
ユーザ端末30は、ユーザがサーバ10から配信されたデジタルコンテンツを利用するために用いる情報処理装置である。ユーザ端末30は、携帯電話機、スマートフォン、タブレット端末、パーソナルコンピュータ、電子書籍リーダー、ウェアラブルコンピュータ、ゲーム用コンソール、及びこれら以外の各種情報処理装置であってもよい。
【0035】
サーバ10は、プロセッサ11と、メモリ12と、ユーザI/F13と、通信I/F14と、ストレージ15とを備える。これらの各構成要素は、不図示のバスを介して互いに電気的に接続される。プロセッサ11は、様々なプログラムをメモリ12にロードし、ロードしたプログラムに含まれる命令を実行する。
【0036】
図1においては、プロセッサ11が単一の構成要素として図示されているが、プロセッサ11は複数の物理的に別体のプロセッサが集合したものであってもよい。本明細書において、プロセッサ11によって実行される命令は、単一のプロセッサで実行されてもよいし、複数のプロセッサにより分散して実行されてもよい。プロセッサ11によって実行される命令は、単一又は複数の仮想プロセッサにより実行されてもよい。
【0037】
メモリ12は、プロセッサ11が実行する命令及びそれ以外の各種データを格納するために用いられる。メモリ12は、プロセッサ11が高速にアクセス可能な主記憶装置(メインメモリ)である。メモリ12は、例えば、DRAMやSRAM等のRAMによって構成される。
【0038】
ユーザI/F13は、例えば、オペレータの入力を受け付けるキーボードやマウス等の情報入力装置と、プロセッサ11の演算結果を出力する液晶ディスプレイ等の情報出力装置とを含む。
【0039】
通信I/F14は、ハードウェア、ファームウェア、又はTCP/IPドライバやPPPドライバ等の通信用ソフトウェア又はこれらの組み合わせとして実装される。
【0040】
ストレージ15は、プロセッサ11によりアクセスされる外部記憶装置である。ストレージ15は、例えば磁気ディスク又は光ディスクで構成される。プロセッサ11がストレージ15へアクセスする際のアクセス速度は、メモリ12へアクセスする際のアクセス速度よりも大幅に低速である。ストレージ15は、メモリ12よりも大容量であってもよい。ストレージ15には、デジタルコンテンツの配信に関連する様々なデータが保存される。ストレージ15には、例えば、ユーザ端末30へ配信するためのデジタルコンテンツが記憶される。
【0041】
デジタルコンテンツは、ストレージ15において、テキスト、画像、動画、音声、楽曲、又はこれら以外のデジタルコンテンツが所定の符号化方式で符号化された符号化データとして記憶されている。このデジタルコンテンツの符号化データは、所定の圧縮フォーマットで圧縮されている。圧縮フォーマットとしては、例えば、Deflate圧縮アルゴリズムを使用したフォーマットが用いられる。本発明においては、例えば、ZIPフォーマットがデジタルコンテンツの圧縮に用いられる。
【0042】
ストレージ15に記憶され得る各種データは、サーバ10とは物理的に別体のストレージ(例えばストレージ25)やデータベースサーバに格納されてもよい。
図1においては、ストレージ15が単一のユニットとして図示されているが、ストレージ15は複数の物理的に別体のストレージが集合したものであってもよい。つまり、本明細書において、ストレージ15に記憶されるデータは、単一のストレージに記憶されてもよいし、複数のストレージに分散して記憶されてもよい。また、本明細書及び特許請求の範囲において、単に「ストレージ」という場合には、文脈上許される限り、単一のストレージと複数のストレージの集合のいずれを指し示すこともある。
【0043】
図1には、サーバ10を単一のユニットとして示しているが、サーバ10は、物理的に別体の複数のサーバが集合したものであってもよい。つまり、
図1において、サーバ10が備える構成は複数の異なるサーバに分散して備えられていてもよい。また、サーバ10によって実行される機能は、複数のサーバに分散して実行されてもよい。このように、サーバ10は、物理的に単一の構成を有するサーバに限られず、物理的に別体のサーバが集合したものを指すこともできる。
【0044】
図2に、ストレージ15に保存されるデジタルコンテンツのデータが格納されるファイル及び当該ファイルが格納されるフォルダの例を示す。
図2に示すように、デジタルコンテンツの各種データは、コンテンツファイル50a及びメタデータファイル50bに格納される。コンテンツファイル50a及びメタデータファイル50bは、フォルダ50に格納される。上記のように、コンテンツファイル50a及びメタデータファイル50bは、ZIP等の所定の圧縮フォーマットで圧縮されている。
【0045】
コンテンツファイル50aには、電子書籍等のデジタルコンテンツを所定の符号化方式で符号化して得られた符号化データが格納される。本明細書においては、デジタルコンテンツを符号化した符号化データをデータ本体と称することがある。例えば、デジタルコンテンツが静止画の場合には、当該デジタルコンテンツのデータ本体は、当該静止画を所定の符号化方式(例えば、JPEG)で符号化した符号化データである。
【0046】
コンテンツファイル50aに格納されるデータ本体は、デジタルコンテンツの種類に応じて様々なフォーマットで符号化され得る。例えば、デジタルコンテンツが電子書籍の場合には、当該デジタルコンテンツのデータ本体は、JPEG(Joint Photographic Experts Group)、PNG(Portable Network Graphics)、PDF(Portable Document Format)、又はこれら以外の静止画に適した任意の符号化方式で符号化された符号化データである。デジタルコンテンツがストリーミング配信用の動画コンテンツである場合には、当該データ本体は、AVI(Audio Video Interleave)、ASF(Advanced Systems Format)、またはこれら以外の動画に適した任意の方式で符号化された符号化データである。
【0047】
メタデータファイル50bは、コンテンツファイル50aに格納されているデジタルコンテンツのデータ本体に関するメタデータを格納する。メタデータファイルは、例えば、XMP(Extensible Metadata Platform)形式でストレージ15に保存される。メタデータファイル50bとして保存されるデジタルコンテンツのメタデータには、当該デジタルコンテンツの著作権情報、作成者に関する情報、作成日時に関する情報、作成場所に関する情報、及びこれら以外の任意のメタデータが含まれ得る。
【0048】
デジタルコンテンツのメタデータは、データ本体と同じファイルに格納されていても良い。例えば、JPEGで符号化されたデータは、COM(Comment)セグメントを有する。このCOM(Comment)セグメントは、テキスト形式の注釈文を埋め込むための領域である。JPEG形式のデジタルコンテンツのメタデータは、例えば、COMセグメントに格納されてもよい。デジタルコンテンツのメタデータの全部がコンテンツファイル50aに格納される場合には、当該デジタルコンテンツ用のフォルダ50は、メタデータファイル50bを含まなくともよい。
【0049】
本明細書で具体的に言及されるデータ本体及びメタデータの符号化方式、ファイル形式、及びフォーマットは例示に過ぎず、本明細書で具体的に説明されたものには限定されない。むしろ、本発明の趣旨に反しない限り、デジタルコンテンツは任意の符号化方式で符号化され得る。
【0050】
続いて、本発明の一実施形態に係るサーバ10及びユーザ端末30の機能について説明する。本発明の一実施形態に係るサーバ10は、プロセッサ11においてコンピュータ読み取り可能な命令を実行することにより、以下で説明する各種機能を実現することができる。
【0051】
本発明の一実施形態において、サーバ10のプロセッサ11により実行される命令には、分割モジュール41と、伸張モジュール42と、判定モジュール43と、埋め込みモジュール44と、圧縮モジュール45と、送信モジュール46と、が含まれる。プロセッサ11により実行可能な命令は、本明細書で明示されたものには限定されない。分割モジュール41と、伸張モジュール42と、判定モジュール43と、埋め込みモジュール44と、圧縮モジュール45と、及び送信モジュール46は、プロセッサ11によって、他の命令と同時に実行されてもよい。
【0052】
プロセッサ11は、分割モジュール41を実行することにより、ストレージ15に保存されている複数のデジタルコンテンツの中から、ユーザ端末30からの配信要求に基づいて特定のデジタルコンテンツ(以下、「特定デジタルコンテンツ」という。)を読み出し、当該特定デジタルコンテンツを複数のデータユニットに分割する。プロセッサ11は、例えば、配信要求に含まれているデジタルコンテンツを識別するコンテンツIDに基づいて、ストレージ15に格納されている複数のデジタルコンテンツの中から、特定デジタルコンテンツを特定することができる。
【0053】
複数のデータユニットの各々は、互いにほぼ同じデータサイズを有していてもよく、互いと異なるデータサイズを有していても良い。各データユニットは、例えば、4MB程度のデータサイズを有する。特定デジタルコンテンツが100MBのデータサイズを有する場合には、当該デジタルコンテンツは各々4MB程度の25個のデータユニットに分割され得る。
【0054】
図3に、分割された特定デジタルコンテンツのデータ構造を模式的に示す。図示のように、特定デジタルコンテンツ60のデータは、データユニットDU(1)~データユニットDU(n)のn個のデータユニットに分割される。特定デジタルコンテンツのデータには、データ本体と、そのデータ本体に関連するメタデータと、が含まれ得る。
【0055】
プロセッサ11は、分割モジュール41を実行することにより、データユニットDU(1)~DU(n)のうちの任意の1つのデータユニットをメモリ12に記憶する。例えば、データユニットDU(1)がメモリ12に記憶される。メモリ12に記憶されるデータユニットは、データユニットDU(1)である必要はなく、データユニットDU(2)~DU(n)から選択されるデータユニットであってもよい。以下では、データユニットDU(1)がメモリ12に記憶される態様について説明を行う。データユニットDU(1)は、特定デジタルコンテンツ60のデータ本体の一部又は全部を含んでもよいし、特定デジタルコンテンツ60のメタデータの一部又は全部であってもよい。データユニットDU(1)は、特定デジタルコンテンツ60のデータ本体の一部及びメタデータの一部を含んでも良い。
【0056】
プロセッサ11は、伸張モジュール42を実行することにより、メモリ12上で、当該メモリ12に記憶されているデータユニットDU(1)を伸張する。上記のように、ストレージ15に保存されているデジタルコンテンツは、所定の圧縮アルゴリズムで圧縮されている。圧縮されたデータの伸張は、当該デジタルコンテンツの圧縮の際に使用された圧縮アルゴリズムを用いて、当該デジタルコンテンツを圧縮前の状態に戻すことを意味する。伸張後のデータユニットDU(1)のデータもメモリ12上に記憶される。メモリ上でのデータの圧縮及び伸張は、例えば、Zlib等のデータ圧縮・伸張用のライブラリを用いることにより実現される。
【0057】
プロセッサ11は、判定モジュール43を実行することにより、メモリ12上に展開されている伸張されたデータユニットDU(1)を解析し、当該データユニットDU(1)に、ユーザ特定情報を埋め込むための埋め込み領域が含まれているか否かを判定する。
【0058】
この埋め込み領域は、データユニットDU(1)におけるデータを格納するための領域のうち、テキスト情報等のデータが埋め込まれても特定デジタルコンテンツの視聴に影響を与えない領域である。つまり、埋め込み領域に埋め込まれているテキストの内容が変わっても、特定デジタルコンテンツはその変更の前後で同じく復号される。よって、埋め込み領域に埋め込まれているテキストの内容が変わっても、ユーザに対して同じ特定デジタルコンテンツを視聴させることができる。
【0059】
一実施形態において、データユニットDU(1)は、デジタルコンテンツを符号化して得られた符号化データを含む。かかるデータユニットDU(1)の埋め込み領域にテキスト情報が埋め込まれても、当該データユニットDU(1)は正常に復号される。他方、データユニットDU(1)の埋め込み領域以外にテキスト情報を埋め込むと、復号が正常に行われなくなる。すなわち、埋め込み領域以外にテキスト情報が埋め込まれたデータユニットDU(1)に復号処理を行っても、符号化前のコンテンツを得ることができなくなる。
【0060】
JPEGを例にとり、埋め込み領域についてさらに説明する。当業者に明らかなように、JPEGで符号化されたファイルには複数のセグメントとイメージデータとが含まれる。JPEGで符号化されたファイルのセグメントには、当該特定デジタルコンテンツの視聴(表示)に影響をあたえるセグメント(例えば、DQTセグメント、DHTセグメント、SOFセグメント)と、当該コンテンツの表示に影響を与えないセグメント(例えば、COMセグメント)と、が含まれる。このような各種セグメントのうち、当該特定デジタルコンテンツの表示に影響を与えないセグメント(例えば、COMセグメント)が埋め込み領域とされる。特定デジタルコンテンツのデータ本体がJPEGフォーマットを有する場合、プロセッサ11は、データユニットDU(1)を公知の分析アルゴリズムに従って解析することにより、当該データユニットDU(1)が当該特定デジタルコンテンツの視聴(表示)に影響を与えないセグメント(例えば、COMセグメント)を含むか否かを判定することができる。
【0061】
特定デジタルコンテンツのデータ本体のファイル形式がJPEG以外の符号化方式により符号化されている場合にも、当該特定デジタルコンテンツは、当該デジタルコンテンツの視聴に影響を与えない埋め込み領域を有することができる。デジタルコンテンツのデータ本体用のファイルには、著作権情報やそれ以外の記述的な情報を格納できる情報記述領域が設けられていることが多い。情報記述領域には、著作権情報やそれ以外の情報が、例えばテキスト形式で書き込まれる。この情報記述領域は、デジタルコンテンツの視聴に影響を与えない。よって、かかる情報記述領域を埋め込み領域とすることができる。
【0062】
上記のように、特定デジタルコンテンツのメタデータは、メタデータファイル50bに格納されることもある。データユニットDU(1)がメタデータファイル50bに格納されていたメタデータの少なくとも一部を含む場合には、当該メタデータが格納されている領域を埋め込み領域とすることができる。
【0063】
プロセッサ11は、埋め込みモジュール44を実行することにより、データユニットDU(1)に埋め込み領域が含まれる場合に、当該データユニットDU(1)の当該埋め込み領域に、ユーザを特定するユーザ特定情報を埋め込む埋め込み処理を行う。プロセッサ11は、データユニットDU(1)に埋め込み領域が含まれない場合には、ユーザ特定情報の埋め込み処理を行わない。
【0064】
ユーザを特定するユーザ特定情報は、例えば、特定デジタルコンテンツの配信を要求したユーザを一意に識別できるユーザIDである。例えば、あるユーザがサーバ10が提供するコンテンツ配信サービスの利用を開始する際に、当該ユーザにユーザIDが発行される。サーバ10は、当該ユーザIDを、当該ユーザの他の情報と対応付けて管理することができる。例えば、あるユーザのユーザIDは、当該ユーザの属性情報(年齢、性別等)、当該ユーザの決済情報(クレジットカード番号等)、当該ユーザのサービス利用履歴(購入履歴、ダウンロード履歴、視聴履歴、検索履歴等)とともに、サーバ10において管理される。サーバ10は、あるユーザから要求を受け取ると、当該ユーザのユーザIDに関連づけられている情報に基づいて当該要求に対応することができる。
【0065】
プロセッサ11は、ユーザ特定情報を所定の暗号化方式で暗号化し、当該暗号化されたユーザ特定情報をデータユニットDU(1)の埋め込み領域に埋め込んでも良い。
【0066】
本発明に適用可能なユーザ特定情報はユーザIDに限られない。本発明に適用可能なユーザ特定情報には、ユーザを識別可能な任意の情報が含まれ得る。
【0067】
プロセッサ11は、圧縮モジュール45を実行することにより、データユニットDU(1)を圧縮する。データユニットDU(1)の圧縮は、特定デジタルコンテンツの圧縮のために用いられた圧縮アルゴリズムと同じ又は異なる圧縮アルゴリズムを用いて行われる。例えば、ストレージ15に保存されている特定デジタルコンテンツがZIP方式で圧縮されている場合、圧縮モジュール45も同じZIP方式でデータユニットDU(1)を圧縮することができる。
【0068】
プロセッサ11は、データユニットDU(1)にユーザ特定情報が埋め込まれている場合には、当該ユーザ特定情報が埋め込まれたデータユニットDU(1)を圧縮する。他方、データユニットDU(1)にユーザ特定情報が埋め込まれていない場合には、当該ユーザ特定情報が埋め込まれていないデータユニットDU(1)を圧縮する。
【0069】
プロセッサ11は、送信モジュール46を実行することにより、圧縮されたデータユニットDU(1)の送信処理を行う。例えば、プロセッサ11は、圧縮されたデータユニットDU(1)をメモリ12から読み出し、ユーザに(当該ユーザのユーザ端末30に)送信する。
【0070】
プロセッサ11は、データユニットDU(1)の送信処理の開始後に、当該データユニットDU(1)をメモリ12から削除することができる。プロセッサ11は、データユニットDU(1)の送信処理の開始後に、当該データユニットDU(1)の送信に支障がない任意のタイミングで、データユニットDU(1)をメモリ12から削除することができる。
【0071】
データユニットDU(1)に関して説明した上記の各処理は、データユニットDU(1)以外の任意のデータユニットDU(2)~データユニットDU(n)に対しても同様に行うことができる。例えば、データユニットDU(1)に対するユーザ特定情報の埋め込み、圧縮、及び送信を行った後に、データユニットDU(2)をメモリ12に記憶して、データユニットDU(2)に対するユーザ特定情報の埋め込み、圧縮、及び送信の各処理を行うことができる。
【0072】
サーバ10は、上記以外にも様々な機能を実行することができる。例えば、サーバ10は、プロセッサ11にて所定の命令を実行することにより、ユーザに対する課金処理を行うことができる。
【0073】
次に、
図4を参照し、本発明の一実施形態により、ユーザから要求された特定デジタルコンテンツを配信する方法について説明する。
図4に示すように、まず、ステップS11において、ユーザから(ユーザ端末30)からコンテンツの配信要求が受信される。
【0074】
次に、ステップS12において、ステップS11で受信された配信要求に基づいて、ストレージ15に保存されている複数のデジタルコンテンツの中から、特定のデジタルコンテンツ(以下、「特定デジタルコンテンツ」という。)が読み出され、この読み出された特定デジタルコンテンツが複数のデータユニットに分割される。
図3に示すように、特定デジタルコンテンツは、例えば、データユニットDU(1)~データユニットDU(n)のn個のデータユニットに分割される。特定デジタルコンテンツは、例えば、配信要求に含まれるコンテンツIDに基づいて特定される。ステップ12における処理は、例えば、プロセッサ11にて分割モジュール41を実行することにより行われる。
【0075】
次に、ステップS13において、データユニットDU(1)~データユニットDU(n)の各々に対して、順次、配信処理及びが行われる。例えば、まずデータユニットDU(1)に対して配信処理が行われる。データユニットDU(1)に対する配信処理には、当該データユニットDU(1)のメモリ12への記憶、当該メモリ12上での伸張、ユーザ特定情報の埋め込み、圧縮(再圧縮)、及びユーザ端末30への送信の各処理が含まれる。ステップS13における配信処理の詳細は後述する。
【0076】
ステップ13において、データユニットDU(1)に対する配信処理が完了すると、ステップS14に進み、全てのデータユニットについて配信処理が完了したかがチェックされる。データユニットDU(1)の配信処理が完了した時点では、他のデータユニット(データユニットDU(2)~データユニットDU(n))に対する配信処理が完了していないため、処理はステップS13に戻る。ステップ13では、次のデータユニット(例えば、データユニットDU(2))に対して配信処理が行われる。ステップS13でデータユニットDU(1)~データユニットDU(n)に対する配信処理が全て完了した場合には、特定デジタルコンテンツの配信処理を終了する。データユニットDU(1)~データユニットDU(n)の各々に対する配信処理が全て完了すると、ユーザ端末30から要求された特定デジタルコンテンツのデータのユーザ端末30への配信が完了する。
【0077】
ユーザ端末30は、サーバ10から配信されたデータユニットDU(1)~データユニットDU(n)に基づいて特定デジタルコンテンツを構築することができる。ユーザ端末30は、取得した特定デジタルコンテンツのフォーマットに応じたソフトウェアを用いて、ユーザに当該特定デジタルコンテンツを視聴させることができる。
【0078】
続いて、
図5を参照して、
図4のステップS13における配信処理についてより具体的に説明する。
図5は、データユニットDU(1)~データユニットDU(n)の各々に対して順次行われる配信処理の手順を示すフロー図である。配信処理は、データユニットDU(1)~データユニットDU(n)の各々に対して行われる。ここでは、データユニットDU(1)を例に配信処理について説明する。
【0079】
まず、ステップS21において、データユニットDU(1)がメモリ12に記憶される。
【0080】
次に、ステップS22において、メモリ12上で、当該メモリ12に記憶されているデータユニットDU(1)が伸張される。データユニットDU(1)の伸張は、例えば、プロセッサ11が伸張モジュール42を実行することにより行われる。
【0081】
次に、ステップS23において、メモリ12上に展開されている伸張されたデータユニットDU(1)が解析され、当該データユニットDU(1)にユーザ特定情報を埋め込むための埋め込み領域が含まれているか否かが判定される。この判定は、例えば、プロセッサ11が判定モジュール43を実行することにより行われる。
【0082】
データユニットDU(1)に埋め込み領域が含まれる場合には、処理は、ステップS24に進む。ステップS24では、データユニットDU(1)の埋め込み領域に、ユーザを特定するユーザ特定情報を埋め込む埋め込み処理が行われる。この埋め込み処理は、例えば、プロセッサ11が埋め込みモジュール44を実行することにより行われる。
【0083】
他方、データユニットDU(1)に埋め込み領域が含まれていない場合には、処理は、ステップS25に進む。
【0084】
ステップS25では、データユニットDU(1)が圧縮される。具体的には、データユニットDU(1)にユーザ特定情報が埋め込まれている場合には、当該ユーザ特定情報が埋め込まれたデータユニットDU(1)が圧縮される。他方、データユニットDU(1)にユーザ特定情報が埋め込まれていない場合には、当該ユーザ特定情報が埋め込まれていないデータユニットDU(1)が圧縮される。この圧縮処理は、例えば、プロセッサ11が圧縮モジュール45を実行することにより行われる。
【0085】
次に、ステップS26において、圧縮されたデータユニットDU(1)がユーザ端末30に送信される。この送信処理は、例えば、プロセッサ11が送信モジュール46を実行することにより行われる。
【0086】
次に、ステップS27において、データユニットDU(1)がメモリから削除され、データユニットDU(1)に対する配信処理が終了する。
【0087】
データユニットDU(1)が削除された後、他のデータユニット(データユニットDU(2)~データユニットDU(n))に対しても、順次、
図5の配信処理が行われる。
【0088】
以上説明したように、上記の実施形態によれば、ユーザから要求された特定デジタルコンテンツのデータの一部であるデータユニット(例えば、データユニットDU(1))をメモリ12に記憶し、当該メモリ12上で、当該データユニットに対してユーザ特定情報の埋め込み処理がなされる。したがって、デジタルコンテンツのデータ全体をメモリに記憶する場合よりも少ないメモリ量でユーザ特定情報の埋め込みを行うことができる。
【0089】
上記実施形態によれば、特定デジタルコンテンツは、そのデータ全体が一度にユーザ端末30に送信されるのではなく、その一部であるデータユニット単位でユーザ端末30に送信される。したがって、特定デジタルコンテンツのデータ全体について伸張及び圧縮処理が完了していなくとも、ユーザ端末30に対する当該デジタルコンテンツの送信処理を開始することができる。これにより、コンテンツのデータ全体を伸張・再圧縮した後に配信する従来の配信方法と比べて、配信要求から配信開始までに要する時間を短縮できる。
【0090】
本発明の実施形態は、上述した実施形態に限定されるものではなく、その要旨を逸脱しない範囲内で様々な変更が可能である。
【0091】
また、
図1の実施形態において、プロセッサ11で実行される機能の一部又は全部は、発明の趣旨を逸脱しない限り、クライアント端末30のプロセッサ31やそれ以外の装置のプロセッサによって実現されてもよく、プロセッサ31の機能の一部又は全部は、サーバ10のプロセッサ11やそれ以外の装置のプロセッサにより実行されてもよい。
【0092】
本明細書において説明された処理手順、特にフロー図を用いて説明された処理手順においては、その処理手順を構成する工程(ステップ)の一部を省略すること、その処理手順を構成する工程として明示されていない工程を追加すること、及び/又は当該工程の順序を入れ替えることが可能であり、このような省略、追加、順序の変更がなされた処理手順も本発明の趣旨を逸脱しない限り本発明の範囲に含まれる。
【0093】
本明細書において、発明の構成要素が単数もしくは複数のいずれか一方として説明された場合、又は、単数もしくは複数のいずれとも限定せずに説明された場合であっても、文脈上別に解すべき場合を除き、当該構成要素は単数又は複数のいずれであってもよい。
【符号の説明】
【0094】
10 サーバ
11 プロセッサ
12 メモリ
15 ストレージ
30 ユーザ端末
41 分割モジュール
42 伸張モジュール
43 判定モジュール
44 埋め込みモジュール
45 圧縮モジュール
46 送信モジュール