(57)【要約】【課題】  より少ないメモリ消費量でデジタルコンテンツへユーザ特定情報を埋め込む。【解決手段】  本発明の一実施形態に係るシステムは、一または複数のコンピュータプロセッサと、メモリと、圧縮された複数のデジタルコンテンツを保存するストレージと、を備える。一実施形態において、前記一または複数のプロセッサは、所定のコンピュータ読み取り可能な命令を実行することにより、前記複数のデジタルコンテンツのうちユーザから要求された特定デジタルコンテンツのデータを分割して複数のデータユニットを生成し、前記複数のデータユニットのうちの第１データユニットを前記メモリに記憶し、前記メモリに記憶された前記第１データユニットを伸張し、前記第１データユニットに埋め込み領域が含まれるか否かを判定し、前記第１データユニットに前記埋め込み領域が含まれる場合に、前記第１データユニットの前記埋め込み領域に前記ユーザを特定するユーザ特定情報を埋め込む埋め込み処理を行う。【選択図】  図１
2019016224.tif 000002
【特許請求の範囲】
【請求項１】
一または複数のコンピュータプロセッサと、
メモリと、
圧縮された複数のデジタルコンテンツを保存するストレージと、
を備えたシステムであって、
前記一または複数のプロセッサは、所定のコンピュータ読み取り可能な命令を実行することにより、
前記複数のデジタルコンテンツのうちユーザから要求された特定デジタルコンテンツのデータを分割して複数のデータユニットを生成し、
前記複数のデータユニットのうちの第１データユニットを前記メモリに記憶し、
前記メモリに記憶された前記第１データユニットを伸張し、
前記第１データユニットに埋め込み領域が含まれるか否かを判定し、
前記第１データユニットに前記埋め込み領域が含まれる場合に、前記第１データユニットの前記埋め込み領域に前記ユーザを特定するユーザ特定情報を埋め込む埋め込み処理を行う、
システム。
【請求項２】
前記一または複数のプロセッサは、前記埋め込み処理の後に、前記第１データユニットを圧縮する、請求項１に記載のシステム。
【請求項３】
前記第１データユニットに前記埋め込み領域が含まれる場合には、前記一または複数のプロセッサは、前記ユーザ特定情報が埋め込まれた前記第１データユニットを圧縮する、請求項２に記載のシステム。
【請求項４】
前記第１データユニットに前記埋め込み領域が含まれない場合には、前記一または複数のプロセッサは、前記ユーザ特定情報を含まない前記第１データユニットを圧縮する、請求項２に記載のシステム。
【請求項５】
前記一または複数のプロセッサは、圧縮された前記第１データユニットを前記ユーザに送信するための送信処理を行う、請求項２から請求項４のいずれか１項に記載のシステム。
【請求項６】
前記一または複数のプロセッサは、前記第１データユニットに対する送信処理の開始後に、前記第１データユニットを前記メモリから削除する、請求項１から請求項５のいずれか１項に記載のシステム。
【請求項７】
前記一または複数のプロセッサは、
前記第１データユニットが前記メモリから削除された後、前記複数のデータユニットのうちの前記第１データユニットとは異なる第２データユニットを前記メモリに記憶し、
前記メモリに記憶された前記第２データユニットを伸張し、
前記第２データユニットに埋め込み領域が含まれるか否かを判定し、
前記第２データユニットに前記埋め込み領域が含まれる場合に、前記第２データユニットの前記埋め込み領域に前記ユーザを特定するユーザ特定情報を埋め込む埋め込み処理を行う、
請求項６に記載のシステム。
【請求項８】
前記埋め込み領域は、前記特定デジタルコンテンツの視聴に影響を与えない領域である、請求項１から請求項７のいずれか１項に記載のシステム。
【請求項９】
前記特定デジタルコンテンツのデータは、データ本体と、前記データ本体のメタデータと、を含み、
前記埋め込み領域は、前記メタデータを格納するための領域である、請求項１から請求項８のいずれか１項に記載のシステム。
【請求項１０】
一または複数のプロセッサが所定のコンピュータ読み取り可能な命令を実行することにより実現される方法であって、
ストレージに圧縮して保存されている複数のデジタルコンテンツのうちユーザから要求された特定デジタルコンテンツのデータを分割して複数のデータユニットを生成する工程と、
前記複数のデータユニットのうちの第１データユニットをメモリに記憶する工程と、
前記メモリに記憶された前記第１データユニットを伸張する工程と、
前記第１データユニットに埋め込み領域が含まれるか否かを判定する工程と、
前記第１データユニットに前記埋め込み領域が含まれる場合に、前記第１データユニットの前記埋め込み領域に前記ユーザを特定するユーザ特定情報を埋め込む埋め込み処理を行う工程と、
を備える方法。
【請求項１１】
一または複数のプロセッサに実行されることにより、前記一または複数のプロセッサに、
ストレージに圧縮して保存されている複数のデジタルコンテンツのうちユーザから要求された特定デジタルコンテンツのデータを分割して複数のデータユニットを生成する工程と、
前記複数のデータユニットのうちの第１データユニットをメモリに記憶する工程と、
前記メモリに記憶された前記第１データユニットを伸張する工程と、
前記第１データユニットに埋め込み領域が含まれるか否かを判定する工程と、
前記第１データユニットに前記埋め込み領域が含まれる場合に、前記第１データユニットの前記埋め込み領域に前記ユーザを特定するユーザ特定情報を埋め込む埋め込み処理を行う工程と、
、を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書における開示は、ＤＲＭの改善に関する。本発明の開示は、より具体的には、ユーザ特定情報が埋め込まれたデジタルコンテンツの配信における改善に関する。
【背景技術】
【０００２】
ＤＲＭ（Ｄｉｇｉｎｔａｌ  Ｒｉｇｈｔｓ  Ｍａｎａｇｅｍｅｎｔ）は、デジタルコンテンツの許諾されていない利用を制限するための技術である。ＤＲＭには、様々な方式がある。
【０００３】
このＤＲＭの一種として、ソーシャルＤＲＭが知られている。ソーシャルＤＲＭにおいては、デジタルコンテンツの許諾外の流通を抑制するために、デジタルコンテンツに対して、当該デジタルコンテンツの購入者を特定するユーザ特定情報が埋め込まれる。これにより、ユーザ特定情報に基づいて、デジタルコンテンツを不正に公開したユーザを特定できる。ソーシャルＤＲＭにおいては、不正な公開者を特定できることがデジタルコンテンツの不正な公開を抑止する効果を持つ。
【０００４】
特開２０１１−５０３７４３号公報には、ユーザ特定情報が埋め込まれたデジタルコンテンツをユーザに配信する方法が開示されている。同公報の配信方法においては、ユーザからの配信要求に応じて、当該ユーザを識別するデータを含む第二のファイルがデジタルコンテンツの第一のファイルと結合され、当該結合されたファイルが配信される。
【０００５】
同公報に記載の方法では、デジタルコンテンツの第一のファイルに第二のファイルを結合させるために、両ファイルのデータがメモリに読み込まれる。このデータは、結合されたファイルが配信された後に、当該メモリから削除される（同公報の段落［００２８］、段落［００３９］、及び請求項３参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１１−５０３７４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上記の従来の配信方法では、ユーザ特定情報をデジタルコンテンツに埋め込むために、当該デジタルコンテンツの全データをメモリに一時的に記憶する必要がある。しかしながら、配信されるデジタルコンテンツの全データをメモリに記憶すると、メモリの使用量が大きくなってしまう。
【０００８】
ユーザ特定情報の埋め込み処理は、メモリ上ではなくディスク上で行うこともできる。しかしながら、ディスクへのアクセス速度はメモリへのアクセス速度と比べて著しく低速であるため、記憶領域としてディスクを用いると配信までの所要時間が長くなってしまう。
【０００９】
高速のメモリを使用しても、上記従来の配信方法では、ユーザのリクエストから配信開始までに長時間を要する。すなわち、上記従来の配信方法では、第一のファイルと第二のファイルとを結合させてから、その結合されたファイルをユーザに配信している。よって、ファイルの結合が完了するまで配信を開始できず、その結果、ユーザが配信を要求してから配信が開始されるまでに長時間を要する。
【００１０】
このように、ユーザ特定情報が埋め込まれたデジタルコンテンツの配信においては、メモリ消費量を抑制するとともに配信開始までの時間を短縮したいという未解決のニーズがある。
【００１１】
本発明の目的は、上記の課題の少なくとも一部を緩和または解消することである。
【００１２】
本発明のより具体的な一つの目的は、より少ないメモリ消費量でデジタルコンテンツへユーザ特定情報を埋め込むことである。
【００１３】
本発明の別の目的は、デジタルコンテンツの配信要求を受けてから配信開始までの時間を短縮することである。
【００１４】
本発明のこれら以外の目的は、本明細書全体を参照することにより明らかとなる。
【課題を解決するための手段】
【００１５】
本発明の一実施形態に係るシステムは、一または複数のコンピュータプロセッサと、メモリと、圧縮された複数のデジタルコンテンツを保存するストレージと、を備える。一実施形態において、前記一または複数のプロセッサは、所定のコンピュータ読み取り可能な命令を実行することにより、前記複数のデジタルコンテンツのうちユーザから要求された特定デジタルコンテンツのデータを分割して複数のデータユニットを生成し、前記複数のデータユニットのうちの第１データユニットを前記メモリに記憶し、前記メモリに記憶された前記第１データユニットを伸張し、前記第１データユニットに埋め込み領域が含まれるか否かを判定し、前記第１データユニットに前記埋め込み領域が含まれる場合に、前記第１データユニットの前記埋め込み領域に前記ユーザを特定するユーザ特定情報を埋め込む埋め込み処理を行う。
【００１６】
本発明の一実施形態において、前記埋め込み領域は、当該埋め込み領域に含まれるデータによらず、前記特定デジタルコンテンツの視聴に影響を与えない領域である。例えば、特定デジタルコンテンツがＪＰＥＧ形式の場合には、テキスト形式の注釈文の埋め込みに用いられるＣＯＭ（Ｃｏｍｍｅｎｔ）セグメントを上記埋め込み領域とすることができる。
【００１７】
本発明の一実施形態において、前記特定デジタルコンテンツのデータは、データ本体と、前記データ本体のメタデータと、を含み、前記埋め込み領域は、前記メタデータを格納するための領域とされる。静止画のデジタルコンテンツは、例えば、ＰＤＦ形式で作成及び配信される。かかるＰＤＦ形式のコンテンツは、当該コンテンツのメタデータを含むＸＭＰ形式のメタデータファイルとともに配信されることがある。この場合、ＰＤＦ形式のデータがデータ本体に該当し、ＸＭＰ形式のメタデータファイルが当該データ本体のメタデータに該当する。
【００１８】
上記の各実施形態によれば、ユーザから要求された特定デジタルコンテンツへユーザ特定情報を埋め込む際に、当該特定デジタルコンテンツのデータ全体ではなく、その一部である第１のデータユニットがメモリに記憶される。そして、当該メモリ上で、当該第１のデータユニットを伸張する処理、及び、当該第１のデータユニットへのユーザ特定情報の埋め込み処理がなされる。したがって、デジタルコンテンツのデータ全体をメモリに記憶する場合よりも少ないメモリ量でユーザ特定情報の埋め込みを行うことができる。
【００１９】
本発明の一実施形態において、前記一または複数のプロセッサは、前記埋め込み処理の後に、前記第１データユニットを圧縮する。前記第１データユニットに前記埋め込み領域が含まれる場合には、前記ユーザ特定情報が埋め込まれた前記第１データユニットが圧縮される。前記第１データユニットに前記埋め込み領域が含まれない場合には、前記ユーザ特定情報を含まない前記第１データユニットが圧縮される。
【００２０】
当該実施形態によれば、メモリ上で、ユーザから要求された特定デジタルコンテンツのデータ全体ではなく、その一部である第１のデータユニットについて、伸張、ユーザ特定情報の埋め込み、及び圧縮（再圧縮）処理が行われる。これにより、ユーザ特定情報の埋め込みに必要とされるメモリ消費量を低減することができる。
【００２１】
本発明の一実施形態において、前記一または複数のプロセッサは、圧縮された前記第１データユニットを前記ユーザに送信するための送信処理を行う。
【００２２】
当該実施形態によれば、特定デジタルコンテンツを構成する複数のデータユニットの一部である第１のデータユニットをユーザに送信することができる。したがって、ユーザから要求された特定デジタルコンテンツのデータ全体について伸張及び圧縮処理が完了していなくとも、ユーザに対するデジタルコンテンツの送信処理を開始することができる。これにより、コンテンツのデータ全体を伸張・再圧縮した後に配信する従来の配信方法と比べて、配信要求から配信開始までに要する時間を短縮できる。
【００２３】
本発明の一実施形態において、前記一または複数のプロセッサは、前記第１データユニットの送信処理の開始後に、前記第１データユニットを前記メモリから削除する。
【００２４】
これらの実施形態によれば、第１データユニットについてユーザ特定情報の送信処理を開始した後に、当該第１データユニットが前記メモリから削除される。これにより、メモリの消費量を低減することができる。
【００２５】
本発明の一実施形態において、前記一または複数のプロセッサは、前記第１データユニットが前記メモリから削除された後、前記複数のデータユニットのうちの前記第１データユニットとは異なる第２データユニットを前記メモリに記憶し、前記メモリに記憶された前記第２データユニットを伸張し、前記第２データユニットに埋め込み領域が含まれるか否かを判定し、前記第２データユニットに前記埋め込み領域が含まれる場合に、前記第２データユニットの前記埋め込み領域に前記ユーザを特定するユーザ特定情報を埋め込む埋め込み処理を行う。
【００２６】
上記実施形態によれば、前記メモリ上で第２データユニットへのユーザ特定情報の埋め込み処理を行う前に、当該メモリから第１データユニットが削除される。これにより、メモリの消費量を低減することができる。
【００２７】
本発明の一実施形態に係る方法は、一または複数のプロセッサが所定のコンピュータ読み取り可能な命令を実行することにより実現される方法である。当該方法は、ストレージに圧縮して保存されている複数のデジタルコンテンツのうちユーザから要求された特定デジタルコンテンツのデータを分割して複数のデータユニットを生成する工程と、前記複数のデータユニットのうちの第１データユニットをメモリに記憶する工程と、前記メモリに記憶された前記第１データユニットを伸張する工程と、前記第１データユニットに埋め込み領域が含まれるか否かを判定する工程と、前記第１データユニットに前記埋め込み領域が含まれる場合に、前記第１データユニットの前記埋め込み領域に前記ユーザを特定するユーザ特定情報を埋め込む埋め込み処理を行う工程と、を備える。
【００２８】
本発明の一実施形態に係るプログラムは、一または複数のプロセッサに実行されることにより、前記一または複数のプロセッサに、ストレージに圧縮して保存されている複数のデジタルコンテンツのうちユーザから要求された特定デジタルコンテンツのデータを分割して複数のデータユニットを生成する工程と、前記複数のデータユニットのうちの第１データユニットをメモリに記憶する工程と、前記メモリに記憶された前記第１データユニットを伸張する工程と、前記第１データユニットに埋め込み領域が含まれるか否かを判定する工程と、前記第１データユニットに前記埋め込み領域が含まれる場合に、前記第１データユニットの前記埋め込み領域に前記ユーザを特定するユーザ特定情報を埋め込む埋め込み処理を行う工程と、を実行させる。
【発明の効果】
【００２９】
このように、本発明の実施形態によれば、より少ないメモリ消費量でデジタルコンテンツへユーザ特定情報を埋め込むことができる。また、本発明の実施形態によれば、デジタルコンテンツの配信要求を受けてから配信開始までの時間を短縮することができる。
【図面の簡単な説明】
【００３０】
【図１】本発明の一実施形態に係るシステムを概略的に示すブロック図である。
【図２】本発明の一実施形態に従って配信されるコンテンツのフォルダ構造の一例を模式的に示す模式図である。
【図３】本発明の一実施形態に従って配信されるコンテンツのデータ構造の一例を模式的に示す模式図である。
【図４】本発明の一実施形態に従ってコンテンツを配信する手順を示すフロー図である。
【図５】本発明の一実施形態によるデータユニットへの処理手順を示すフロー図である。
【発明を実施するための形態】
【００３１】
以下、図面を適宜参照し、本発明の様々な実施形態を説明する。なお、複数の図面において同一の又は類似する構成要素には同じ参照符号が付される。
【００３２】
図１は、本発明の一実施形態に係るシステムを概略的に示すブロック図である。当該システムは、サーバ１０及びユーザ端末３０を備える。サーバ１０とユーザ端末３０とは、ネットワーク２０を介して相互に通信可能に接続されている。図１においては、説明を簡潔にするために、ユーザ端末３０が１つのみ図示されている。しかしながら、当業者に明らかなように、図１のシステムは、ユーザの数に応じた数のユーザ端末３０を備えることができる。
【００３３】
サーバ１０は、デジタルコンテンツをユーザ端末３０に配信するためのコンテンツサーバである。サーバ１０は、様々な種類のデジタルコンテンツを配信可能に構成され得る。サーバ１０が配信可能なデジタルコンテンツには、電子書籍等の静止画コンテンツ、映画等の動画コンテンツ、楽曲等の音楽コンテンツ、及びこれら以外の任意のコンテンツが含まれ得る。サーバ１０によって配信可能なコンテンツの種類は、本明細書に明記されるものには限定されない。
【００３４】
ユーザ端末３０は、ユーザがサーバ１０から配信されたデジタルコンテンツを利用するために用いる情報処理装置である。ユーザ端末３０は、携帯電話機、スマートフォン、タブレット端末、パーソナルコンピュータ、電子書籍リーダー、ウェアラブルコンピュータ、ゲーム用コンソール、及びこれら以外の各種情報処理装置であってもよい。
【００３５】
サーバ１０は、プロセッサ１１と、メモリ１２と、ユーザＩ／Ｆ１３と、通信Ｉ／Ｆ１４と、ストレージ１５とを備える。これらの各構成要素は、不図示のバスを介して互いに電気的に接続される。プロセッサ１１は、様々なプログラムをメモリ１２にロードし、ロードしたプログラムに含まれる命令を実行する。
【００３６】
図１においては、プロセッサ１１が単一の構成要素として図示されているが、プロセッサ１１は複数の物理的に別体のプロセッサが集合したものであってもよい。本明細書において、プロセッサ１１によって実行される命令は、単一のプロセッサで実行されてもよいし、複数のプロセッサにより分散して実行されてもよい。プロセッサ１１によって実行される命令は、単一又は複数の仮想プロセッサにより実行されてもよい。
【００３７】
メモリ１２は、プロセッサ１１が実行する命令及びそれ以外の各種データを格納するために用いられる。メモリ１２は、プロセッサ１１が高速にアクセス可能な主記憶装置（メインメモリ）である。メモリ１２は、例えば、ＤＲＡＭやＳＲＡＭ等のＲＡＭによって構成される。
【００３８】
ユーザＩ／Ｆ１３は、例えば、オペレータの入力を受け付けるキーボードやマウス等の情報入力装置と、プロセッサ１１の演算結果を出力する液晶ディスプレイ等の情報出力装置とを含む。
【００３９】
通信Ｉ／Ｆ１４は、ハードウェア、ファームウェア、又はＴＣＰ／ＩＰドライバやＰＰＰドライバ等の通信用ソフトウェア又はこれらの組み合わせとして実装される。
【００４０】
ストレージ１５は、プロセッサ１１によりアクセスされる外部記憶装置である。ストレージ１５は、例えば磁気ディスク又は光ディスクで構成される。プロセッサ１１がストレージ１５へアクセスする際のアクセス速度は、メモリ１２へアクセスする際のアクセス速度よりも大幅に低速である。ストレージ１５は、メモリ１２よりも大容量であってもよい。ストレージ１５には、デジタルコンテンツの配信に関連する様々なデータが保存される。ストレージ１５には、例えば、ユーザ端末３０へ配信するためのデジタルコンテンツが記憶される。
【００４１】
デジタルコンテンツは、ストレージ１５において、テキスト、画像、動画、音声、楽曲、又はこれら以外のデジタルコンテンツが所定の符号化方式で符号化された符号化データとして記憶されている。このデジタルコンテンツの符号化データは、所定の圧縮フォーマットで圧縮されている。圧縮フォーマットとしては、例えば、Ｄｅｆｌａｔｅ圧縮アルゴリズムを使用したフォーマットが用いられる。本発明においては、例えば、ＺＩＰフォーマットがデジタルコンテンツの圧縮に用いられる。
【００４２】
ストレージ１５に記憶され得る各種データは、サーバ１０とは物理的に別体のストレージ（例えばストレージ２５）やデータベースサーバに格納されてもよい。図１においては、ストレージ１５が単一のユニットとして図示されているが、ストレージ１５は複数の物理的に別体のストレージが集合したものであってもよい。つまり、本明細書において、ストレージ１５に記憶されるデータは、単一のストレージに記憶されてもよいし、複数のストレージに分散して記憶されてもよい。また、本明細書及び特許請求の範囲において、単に「ストレージ」という場合には、文脈上許される限り、単一のストレージと複数のストレージの集合のいずれを指し示すこともある。
【００４３】
図１には、サーバ１０を単一のユニットとして示しているが、サーバ１０は、物理的に別体の複数のサーバが集合したものであってもよい。つまり、図１において、サーバ１０が備える構成は複数の異なるサーバに分散して備えられていてもよい。また、サーバ１０によって実行される機能は、複数のサーバに分散して実行されてもよい。このように、サーバ１０は、物理的に単一の構成を有するサーバに限られず、物理的に別体のサーバが集合したものを指すこともできる。
【００４４】
図２に、ストレージ１５に保存されるデジタルコンテンツのデータが格納されるファイル及び当該ファイルが格納されるフォルダの例を示す。図２に示すように、デジタルコンテンツの各種データは、コンテンツファイル５０ａ及びメタデータファイル５０ｂに格納される。コンテンツファイル５０ａ及びメタデータファイル５０ｂは、フォルダ５０に格納される。上記のように、コンテンツファイル５０ａ及びメタデータファイル５０ｂは、ＺＩＰ等の所定の圧縮フォーマットで圧縮されている。
【００４５】
コンテンツファイル５０ａには、電子書籍等のデジタルコンテンツを所定の符号化方式で符号化して得られた符号化データが格納される。本明細書においては、デジタルコンテンツを符号化した符号化データをデータ本体と称することがある。例えば、デジタルコンテンツが静止画の場合には、当該デジタルコンテンツのデータ本体は、当該静止画を所定の符号化方式（例えば、ＪＰＥＧ）で符号化した符号化データである。
【００４６】
コンテンツファイル５０ａに格納されるデータ本体は、デジタルコンテンツの種類に応じて様々なフォーマットで符号化され得る。例えば、デジタルコンテンツが電子書籍の場合には、当該デジタルコンテンツのデータ本体は、ＪＰＥＧ（Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｉｃ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）、ＰＮＧ（Ｐｏｒｔａｂｌｅ  Ｎｅｔｗｏｒｋ  Ｇｒａｐｈｉｃｓ）、ＰＤＦ（Ｐｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔ）、又はこれら以外の静止画に適した任意の符号化方式で符号化された符号化データである。デジタルコンテンツがストリーミング配信用の動画コンテンツである場合には、当該データ本体は、ＡＶＩ（Ａｕｄｉｏ  Ｖｉｄｅｏ  Ｉｎｔｅｒｌｅａｖｅ）、ＡＳＦ（Ａｄｖａｎｃｅｄ  Ｓｙｓｔｅｍｓ  Ｆｏｒｍａｔ）、またはこれら以外の動画に適した任意の方式で符号化された符号化データである。
【００４７】
メタデータファイル５０ｂは、コンテンツファイル５０ａに格納されているデジタルコンテンツのデータ本体に関するメタデータを格納する。メタデータファイルは、例えば、ＸＭＰ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍｅｔａｄａｔａ  Ｐｌａｔｆｏｒｍ）形式でストレージ１５に保存される。メタデータファイル５０ｂとして保存されるデジタルコンテンツのメタデータには、当該デジタルコンテンツの著作権情報、作成者に関する情報、作成日時に関する情報、作成場所に関する情報、及びこれら以外の任意のメタデータが含まれ得る。
【００４８】
デジタルコンテンツのメタデータは、データ本体と同じファイルに格納されていても良い。例えば、ＪＰＥＧで符号化されたデータは、ＣＯＭ（Ｃｏｍｍｅｎｔ）セグメントを有する。このＣＯＭ（Ｃｏｍｍｅｎｔ）セグメントは、テキスト形式の注釈文を埋め込むための領域である。ＪＰＥＧ形式のデジタルコンテンツのメタデータは、例えば、ＣＯＭセグメントに格納されてもよい。デジタルコンテンツのメタデータの全部がコンテンツファイル５０ａに格納される場合には、当該デジタルコンテンツ用のフォルダ５０は、メタデータファイル５０ｂを含まなくともよい。
【００４９】
本明細書で具体的に言及されるデータ本体及びメタデータの符号化方式、ファイル形式、及びフォーマットは例示に過ぎず、本明細書で具体的に説明されたものには限定されない。むしろ、本発明の趣旨に反しない限り、デジタルコンテンツは任意の符号化方式で符号化され得る。
【００５０】
続いて、本発明の一実施形態に係るサーバ１０及びユーザ端末３０の機能について説明する。本発明の一実施形態に係るサーバ１０は、プロセッサ１１においてコンピュータ読み取り可能な命令を実行することにより、以下で説明する各種機能を実現することができる。
【００５１】
本発明の一実施形態において、サーバ１０のプロセッサ１１により実行される命令には、分割モジュール４１と、伸張モジュール４２と、判定モジュール４３と、埋め込みモジュール４４と、圧縮モジュール４５と、送信モジュール４６と、が含まれる。プロセッサ１１により実行可能な命令は、本明細書で明示されたものには限定されない。分割モジュール４１と、伸張モジュール４２と、判定モジュール４３と、埋め込みモジュール４４と、圧縮モジュール４５と、及び送信モジュール４６は、プロセッサ１１によって、他の命令と同時に実行されてもよい。
【００５２】
プロセッサ１１は、分割モジュール４１を実行することにより、ストレージ１５に保存されている複数のデジタルコンテンツの中から、ユーザ端末３０からの配信要求に基づいて特定のデジタルコンテンツ（以下、「特定デジタルコンテンツ」という。）を読み出し、当該特定デジタルコンテンツを複数のデータユニットに分割する。プロセッサ１１は、例えば、配信要求に含まれているデジタルコンテンツを識別するコンテンツＩＤに基づいて、ストレージ１５に格納されている複数のデジタルコンテンツの中から、特定デジタルコンテンツを特定することができる。
【００５３】
複数のデータユニットの各々は、互いにほぼ同じデータサイズを有していてもよく、互いと異なるデータサイズを有していても良い。各データユニットは、例えば、４ＭＢ程度のデータサイズを有する。特定デジタルコンテンツが１００ＭＢのデータサイズを有する場合には、当該デジタルコンテンツは各々４ＭＢ程度の２５個のデータユニットに分割され得る。
【００５４】
図３に、分割された特定デジタルコンテンツのデータ構造を模式的に示す。図示のように、特定デジタルコンテンツ６０のデータは、データユニットＤＵ（１）〜データユニットＤＵ（ｎ）のｎ個のデータユニットに分割される。特定デジタルコンテンツのデータには、データ本体と、そのデータ本体に関連するメタデータと、が含まれ得る。
【００５５】
プロセッサ１１は、分割モジュール４１を実行することにより、データユニットＤＵ（１）〜ＤＵ（ｎ）のうちの任意の１つのデータユニットをメモリ１２に記憶する。例えば、データユニットＤＵ（１）がメモリ１２に記憶される。メモリ１２に記憶されるデータユニットは、データユニットＤＵ（１）である必要はなく、データユニットＤＵ（２）〜ＤＵ（ｎ）から選択されるデータユニットであってもよい。以下では、データユニットＤＵ（１）がメモリ１２に記憶される態様について説明を行う。データユニットＤＵ（１）は、特定デジタルコンテンツ６０のデータ本体の一部又は全部を含んでもよいし、特定デジタルコンテンツ６０のメタデータの一部又は全部であってもよい。データユニットＤＵ（１）は、特定デジタルコンテンツ６０のデータ本体の一部及びメタデータの一部を含んでも良い。
【００５６】
プロセッサ１１は、伸張モジュール４２を実行することにより、メモリ１２上で、当該メモリ１２に記憶されているデータユニットＤＵ（１）を伸張する。上記のように、ストレージ１５に保存されているデジタルコンテンツは、所定の圧縮アルゴリズムで圧縮されている。圧縮されたデータの伸張は、当該デジタルコンテンツの圧縮の際に使用された圧縮アルゴリズムを用いて、当該デジタルコンテンツを圧縮前の状態に戻すことを意味する。伸張後のデータユニットＤＵ（１）のデータもメモリ１２上に記憶される。メモリ上でのデータの圧縮及び伸張は、例えば、Ｚｌｉｂ等のデータ圧縮・伸張用のライブラリを用いることにより実現される。
【００５７】
プロセッサ１１は、判定モジュール４３を実行することにより、メモリ１２上に展開されている伸張されたデータユニットＤＵ（１）を解析し、当該データユニットＤＵ（１）に、ユーザ特定情報を埋め込むための埋め込み領域が含まれているか否かを判定する。
【００５８】
この埋め込み領域は、データユニットＤＵ（１）におけるデータを格納するための領域のうち、テキスト情報等のデータが埋め込まれても特定デジタルコンテンツの視聴に影響を与えない領域である。つまり、埋め込み領域に埋め込まれているテキストの内容が変わっても、特定デジタルコンテンツはその変更の前後で同じく復号される。よって、埋め込み領域に埋め込まれているテキストの内容が変わっても、ユーザに対して同じ特定デジタルコンテンツを視聴させることができる。
【００５９】
一実施形態において、データユニットＤＵ（１）は、デジタルコンテンツを符号化して得られた符号化データを含む。かかるデータユニットＤＵ（１）の埋め込み領域にテキスト情報が埋め込まれても、当該データユニットＤＵ（１）は正常に復号される。他方、データユニットＤＵ（１）の埋め込み領域以外にテキスト情報を埋め込むと、復号が正常に行われなくなる。すなわち、埋め込み領域以外にテキスト情報が埋め込まれたデータユニットＤＵ（１）に復号処理を行っても、符号化前のコンテンツを得ることができなくなる。
【００６０】
ＪＰＥＧを例にとり、埋め込み領域についてさらに説明する。当業者に明らかなように、ＪＰＥＧで符号化されたファイルには複数のセグメントとイメージデータとが含まれる。ＪＰＥＧで符号化されたファイルのセグメントには、当該特定デジタルコンテンツの視聴（表示）に影響をあたえるセグメント（例えば、ＤＱＴセグメント、ＤＨＴセグメント、ＳＯＦセグメント）と、当該コンテンツの表示に影響を与えないセグメント（例えば、ＣＯＭセグメント）と、が含まれる。このような各種セグメントのうち、当該特定デジタルコンテンツの表示に影響を与えないセグメント（例えば、ＣＯＭセグメント）が埋め込み領域とされる。特定デジタルコンテンツのデータ本体がＪＰＥＧフォーマットを有する場合、プロセッサ１１は、データユニットＤＵ（１）を公知の分析アルゴリズムに従って解析することにより、当該データユニットＤＵ（１）が当該特定デジタルコンテンツの視聴（表示）に影響を与えないセグメント（例えば、ＣＯＭセグメント）を含むか否かを判定することができる。
【００６１】
特定デジタルコンテンツのデータ本体のファイル形式がＪＰＥＧ以外の符号化方式により符号化されている場合にも、当該特定デジタルコンテンツは、当該デジタルコンテンツの視聴に影響を与えない埋め込み領域を有することができる。デジタルコンテンツのデータ本体用のファイルには、著作権情報やそれ以外の記述的な情報を格納できる情報記述領域が設けられていることが多い。情報記述領域には、著作権情報やそれ以外の情報が、例えばテキスト形式で書き込まれる。この情報記述領域は、デジタルコンテンツの視聴に影響を与えない。よって、かかる情報記述領域を埋め込み領域とすることができる。
【００６２】
上記のように、特定デジタルコンテンツのメタデータは、メタデータファイル５０ｂに格納されることもある。データユニットＤＵ（１）がメタデータファイル５０ｂに格納されていたメタデータの少なくとも一部を含む場合には、当該メタデータが格納されている領域を埋め込み領域とすることができる。
【００６３】
プロセッサ１１は、埋め込みモジュール４４を実行することにより、データユニットＤＵ（１）に埋め込み領域が含まれる場合に、当該データユニットＤＵ（１）の当該埋め込み領域に、ユーザを特定するユーザ特定情報を埋め込む埋め込み処理を行う。プロセッサ１１は、データユニットＤＵ（１）に埋め込み領域が含まれない場合には、ユーザ特定情報の埋め込み処理を行わない。
【００６４】
ユーザを特定するユーザ特定情報は、例えば、特定デジタルコンテンツの配信を要求したユーザを一意に識別できるユーザＩＤである。例えば、あるユーザがサーバ１０が提供するコンテンツ配信サービスの利用を開始する際に、当該ユーザにユーザＩＤが発行される。サーバ１０は、当該ユーザＩＤを、当該ユーザの他の情報と対応付けて管理することができる。例えば、あるユーザのユーザＩＤは、当該ユーザの属性情報（年齢、性別等）、当該ユーザの決済情報（クレジットカード番号等）、当該ユーザのサービス利用履歴（購入履歴、ダウンロード履歴、視聴履歴、検索履歴等）とともに、サーバ１０において管理される。サーバ１０は、あるユーザから要求を受け取ると、当該ユーザのユーザＩＤに関連づけられている情報に基づいて当該要求に対応することができる。
【００６５】
プロセッサ１１は、ユーザ特定情報を所定の暗号化方式で暗号化し、当該暗号化されたユーザ特定情報をデータユニットＤＵ（１）の埋め込み領域に埋め込んでも良い。
【００６６】
本発明に適用可能なユーザ特定情報はユーザＩＤに限られない。本発明に適用可能なユーザ特定情報には、ユーザを識別可能な任意の情報が含まれ得る。
【００６７】
プロセッサ１１は、圧縮モジュール４５を実行することにより、データユニットＤＵ（１）を圧縮する。データユニットＤＵ（１）の圧縮は、特定デジタルコンテンツの圧縮のために用いられた圧縮アルゴリズムと同じ又は異なる圧縮アルゴリズムを用いて行われる。例えば、ストレージ１５に保存されている特定デジタルコンテンツがＺＩＰ方式で圧縮されている場合、圧縮モジュール４５も同じＺＩＰ方式でデータユニットＤＵ（１）を圧縮することができる。
【００６８】
プロセッサ１１は、データユニットＤＵ（１）にユーザ特定情報が埋め込まれている場合には、当該ユーザ特定情報が埋め込まれたデータユニットＤＵ（１）を圧縮する。他方、データユニットＤＵ（１）にユーザ特定情報が埋め込まれていない場合には、当該ユーザ特定情報が埋め込まれていないデータユニットＤＵ（１）を圧縮する。
【００６９】
プロセッサ１１は、送信モジュール４６を実行することにより、圧縮されたデータユニットＤＵ（１）の送信処理を行う。例えば、プロセッサ１１は、圧縮されたデータユニットＤＵ（１）をメモリ１２から読み出し、ユーザに（当該ユーザのユーザ端末３０に）送信する。
【００７０】
プロセッサ１１は、データユニットＤＵ（１）の送信処理の開始後に、当該データユニットＤＵ（１）をメモリ１２から削除することができる。プロセッサ１１は、データユニットＤＵ（１）の送信処理の開始後に、当該データユニットＤＵ（１）の送信に支障がない任意のタイミングで、データユニットＤＵ（１）をメモリ１２から削除することができる。
【００７１】
データユニットＤＵ（１）に関して説明した上記の各処理は、データユニットＤＵ（１）以外の任意のデータユニットＤＵ（２）〜データユニットＤＵ（ｎ）に対しても同様に行うことができる。例えば、データユニットＤＵ（１）に対するユーザ特定情報の埋め込み、圧縮、及び送信を行った後に、データユニットＤＵ（２）をメモリ１２に記憶して、データユニットＤＵ（２）に対するユーザ特定情報の埋め込み、圧縮、及び送信の各処理を行うことができる。
【００７２】
サーバ１０は、上記以外にも様々な機能を実行することができる。例えば、サーバ１０は、プロセッサ１１にて所定の命令を実行することにより、ユーザに対する課金処理を行うことができる。
【００７３】
次に、図４を参照し、本発明の一実施形態により、ユーザから要求された特定デジタルコンテンツを配信する方法について説明する。図４に示すように、まず、ステップＳ１１において、ユーザから（ユーザ端末３０）からコンテンツの配信要求が受信される。
【００７４】
次に、ステップＳ１２において、ステップＳ１１で受信された配信要求に基づいて、ストレージ１５に保存されている複数のデジタルコンテンツの中から、特定のデジタルコンテンツ（以下、「特定デジタルコンテンツ」という。）が読み出され、この読み出された特定デジタルコンテンツが複数のデータユニットに分割される。図３に示すように、特定デジタルコンテンツは、例えば、データユニットＤＵ（１）〜データユニットＤＵ（ｎ）のｎ個のデータユニットに分割される。特定デジタルコンテンツは、例えば、配信要求に含まれるコンテンツＩＤに基づいて特定される。ステップ１２における処理は、例えば、プロセッサ１１にて分割モジュール４１を実行することにより行われる。
【００７５】
次に、ステップＳ１３において、データユニットＤＵ（１）〜データユニットＤＵ（ｎ）の各々に対して、順次、配信処理及びが行われる。例えば、まずデータユニットＤＵ（１）に対して配信処理が行われる。データユニットＤＵ（１）に対する配信処理には、当該データユニットＤＵ（１）のメモリ１２への記憶、当該メモリ１２上での伸張、ユーザ特定情報の埋め込み、圧縮（再圧縮）、及びユーザ端末３０への送信の各処理が含まれる。ステップＳ１３における配信処理の詳細は後述する。
【００７６】
ステップ１３において、データユニットＤＵ（１）に対する配信処理が完了すると、ステップＳ１４に進み、全てのデータユニットについて配信処理が完了したかがチェックされる。データユニットＤＵ（１）の配信処理が完了した時点では、他のデータユニット（データユニットＤＵ（２）〜データユニットＤＵ（ｎ））に対する配信処理が完了していないため、処理はステップＳ１３に戻る。ステップ１３では、次のデータユニット（例えば、データユニットＤＵ（２））に対して配信処理が行われる。ステップＳ１３でデータユニットＤＵ（１）〜データユニットＤＵ（ｎ）に対する配信処理が全て完了した場合には、特定デジタルコンテンツの配信処理を終了する。データユニットＤＵ（１）〜データユニットＤＵ（ｎ）の各々に対する配信処理が全て完了すると、ユーザ端末３０から要求された特定デジタルコンテンツのデータのユーザ端末３０への配信が完了する。
【００７７】
ユーザ端末３０は、サーバ１０から配信されたデータユニットＤＵ（１）〜データユニットＤＵ（ｎ）に基づいて特定デジタルコンテンツを構築することができる。ユーザ端末３０は、取得した特定デジタルコンテンツのフォーマットに応じたソフトウェアを用いて、ユーザに当該特定デジタルコンテンツを視聴させることができる。
【００７８】
続いて、図５を参照して、図４のステップＳ１３における配信処理についてより具体的に説明する。図５は、データユニットＤＵ（１）〜データユニットＤＵ（ｎ）の各々に対して順次行われる配信処理の手順を示すフロー図である。配信処理は、データユニットＤＵ（１）〜データユニットＤＵ（ｎ）の各々に対して行われる。ここでは、データユニットＤＵ（１）を例に配信処理について説明する。
【００７９】
まず、ステップＳ２１において、データユニットＤＵ（１）がメモリ１２に記憶される。
【００８０】
次に、ステップＳ２２において、メモリ１２上で、当該メモリ１２に記憶されているデータユニットＤＵ（１）が伸張される。データユニットＤＵ（１）の伸張は、例えば、プロセッサ１１が伸張モジュール４２を実行することにより行われる。
【００８１】
次に、ステップＳ２３において、メモリ１２上に展開されている伸張されたデータユニットＤＵ（１）が解析され、当該データユニットＤＵ（１）にユーザ特定情報を埋め込むための埋め込み領域が含まれているか否かが判定される。この判定は、例えば、プロセッサ１１が判定モジュール４３を実行することにより行われる。
【００８２】
データユニットＤＵ（１）に埋め込み領域が含まれる場合には、処理は、ステップＳ２４に進む。ステップＳ２４では、データユニットＤＵ（１）の埋め込み領域に、ユーザを特定するユーザ特定情報を埋め込む埋め込み処理が行われる。この埋め込み処理は、例えば、プロセッサ１１が埋め込みモジュール４４を実行することにより行われる。
【００８３】
他方、データユニットＤＵ（１）に埋め込み領域が含まれていない場合には、処理は、ステップＳ２５に進む。
【００８４】
ステップＳ２５では、データユニットＤＵ（１）が圧縮される。具体的には、データユニットＤＵ（１）にユーザ特定情報が埋め込まれている場合には、当該ユーザ特定情報が埋め込まれたデータユニットＤＵ（１）が圧縮される。他方、データユニットＤＵ（１）にユーザ特定情報が埋め込まれていない場合には、当該ユーザ特定情報が埋め込まれていないデータユニットＤＵ（１）が圧縮される。この圧縮処理は、例えば、プロセッサ１１が圧縮モジュール４５を実行することにより行われる。
【００８５】
次に、ステップＳ２６において、圧縮されたデータユニットＤＵ（１）がユーザ端末３０に送信される。この送信処理は、例えば、プロセッサ１１が送信モジュール４６を実行することにより行われる。
【００８６】
次に、ステップＳ２７において、データユニットＤＵ（１）がメモリから削除され、データユニットＤＵ（１）に対する配信処理が終了する。
【００８７】
データユニットＤＵ（１）が削除された後、他のデータユニット（データユニットＤＵ（２）〜データユニットＤＵ（ｎ））に対しても、順次、図５の配信処理が行われる。
【００８８】
以上説明したように、上記の実施形態によれば、ユーザから要求された特定デジタルコンテンツのデータの一部であるデータユニット（例えば、データユニットＤＵ（１））をメモリ１２に記憶し、当該メモリ１２上で、当該データユニットに対してユーザ特定情報の埋め込み処理がなされる。したがって、デジタルコンテンツのデータ全体をメモリに記憶する場合よりも少ないメモリ量でユーザ特定情報の埋め込みを行うことができる。
【００８９】
上記実施形態によれば、特定デジタルコンテンツは、そのデータ全体が一度にユーザ端末３０に送信されるのではなく、その一部であるデータユニット単位でユーザ端末３０に送信される。したがって、特定デジタルコンテンツのデータ全体について伸張及び圧縮処理が完了していなくとも、ユーザ端末３０に対する当該デジタルコンテンツの送信処理を開始することができる。これにより、コンテンツのデータ全体を伸張・再圧縮した後に配信する従来の配信方法と比べて、配信要求から配信開始までに要する時間を短縮できる。
【００９０】
本発明の実施形態は、上述した実施形態に限定されるものではなく、その要旨を逸脱しない範囲内で様々な変更が可能である。
【００９１】
また、図１の実施形態において、プロセッサ１１で実行される機能の一部又は全部は、発明の趣旨を逸脱しない限り、クライアント端末３０のプロセッサ３１やそれ以外の装置のプロセッサによって実現されてもよく、プロセッサ３１の機能の一部又は全部は、サーバ１０のプロセッサ１１やそれ以外の装置のプロセッサにより実行されてもよい。
【００９２】
本明細書において説明された処理手順、特にフロー図を用いて説明された処理手順においては、その処理手順を構成する工程（ステップ）の一部を省略すること、その処理手順を構成する工程として明示されていない工程を追加すること、及び／又は当該工程の順序を入れ替えることが可能であり、このような省略、追加、順序の変更がなされた処理手順も本発明の趣旨を逸脱しない限り本発明の範囲に含まれる。
【００９３】
本明細書において、発明の構成要素が単数もしくは複数のいずれか一方として説明された場合、又は、単数もしくは複数のいずれとも限定せずに説明された場合であっても、文脈上別に解すべき場合を除き、当該構成要素は単数又は複数のいずれであってもよい。
【符号の説明】
【００９４】
１０  サーバ
１１  プロセッサ
１２  メモリ
１５  ストレージ
３０  ユーザ端末
４１  分割モジュール
４２  伸張モジュール
４３  判定モジュール
４４  埋め込みモジュール
４５  圧縮モジュール
４６  送信モジュール
【図１】
2019016224.tif 000003
【図２】
2019016224.tif 000004
【図３】
2019016224.tif 000005
【図４】
2019016224.tif 000006
【図５】
2019016224.tif 000007