(57)【特許請求の範囲】
【請求項１】
コンテンツサーバと、このコンテンツサーバにネットワークを介して接続されるプリンタとを有する、印刷システムであって、
コンテンツデータと、このコンテンツデータを印刷できるプリンタを特定するプリンタ識別子を含むプリンタ特定情報とを、少なくとも有する印刷ジョブデータを、前記コンテンツサーバで生成する、印刷ジョブデータ生成手段と、
前記印刷ジョブデータを前記プリンタに送信する、印刷ジョブデータ送信手段と、
前記コンテンツサーバから前記印刷ジョブデータを、前記プリンタが受信する、印刷ジョブデータ受信手段と、
前記印刷ジョブデータを受信した前記プリンタが、前記印刷ジョブデータの前記プリンタ特定情報に含まれる前記プリンタ識別子を読み出し、これが自らのプリンタ識別子と一致するかどうかを判断して、両者が一致する場合にのみ、前記コンテンツサーバに印刷許可を要求する、印刷許可要求手段と、
前記プリンタから前記印刷許可を要求された場合に、前記コンテンツサーバから前記プリンタへ印刷許可を送信する、印刷許可送信手段と、
前記印刷許可を受信した前記プリンタが、前記印刷ジョブデータに基づいて印刷を実行する、印刷実行手段と、
を備えることを特徴とする印刷システム。
【請求項２】
前記印刷ジョブデータは、特定の位置に挿入された１つの第１コピーガードコードと、コンテンツデータのデータ長に応じて必要により前記コンテンツデータの間に分散して挿入される１又は複数の第２コピーガードコードとを、少なくとも含んでおり、
前記印刷ジョブデータ生成手段は、前記プリンタ特定情報と、次の第２コピーガードコードの位置を示す第１コードポインタとを、少なくとも含む前記第１コピーガードコードを生成して、前記特定の位置に挿入し、
前記第１コードポインタが示す位置に前記コンテンツデータが存在する場合には、その位置に、前記次の第２コピーガードコードのさらに次の第２コピーガードコード位置を示す第２コードポインタを少なくとも含む第２コピーガードコードを挿入し、この第２コピーガードコードの挿入を、コンテンツデータのデータ長に至るまで繰り返すとともに、
前記第１及び前記第２コードポインタは、これら第１及び第２コードポインタを生成する都度ランダムに決定される、
ことを特徴とする請求項１に記載の印刷システム。
【請求項３】
前記第１コードポインタは、前記コンテンツサーバが暗号化することを特徴とする請求項２に記載の印刷システム。
【請求項４】
前記第１コードポインタは、前記コンテンツサーバが暗号化し、その解読キーであるコードポインタ解読キーを前記コンテンツサーバで保持しておく、ことを特徴とする請求項２に記載の印刷システム。
【請求項５】
前記印刷許可送信手段は、前記プリンタからの前記印刷許可の要求に基づいて、前記コードポインタ解読キーを前記印刷許可として前記プリンタに送信する、ことを特徴とする請求項４に記載の印刷システム。
【請求項６】
前記印刷実行手段は、前記コードポインタ解読キーを解読キーとして用いて、前記第１コードポインタを解読し、これにより前記次の第２コピーガードコードの位置を取得するとともに、これ以降の各第２コピーガードコードの位置を１つ前の第２コピーガードコードの第２コードポインタに基づいて順次取得し、
これら第１及び第２コピーガードコードを順次取り除いて、印刷を実行する、ことを特徴とする請求項５に記載の印刷システム。
【請求項７】
前記印刷ジョブデータ生成手段は、
前記プリンタ特定情報を少なくとも含む第３コピーガードコードを生成し、且つ、前記コンテンツデータを暗号化して暗号化コンテンツデータを生成するとともに、
前記第３コピーガードコードと前記暗号化コンテンツデータとを少なくとも用いて、前記印刷ジョブデータを生成する、
ことを特徴とする請求項１に記載の印刷システム。
【請求項８】
前記暗号化コンテンツデータの解読キーであるコンテンツデータ解読キーは、前記コンテンツサーバで保持しておく、ことを特徴とする請求項７に記載の印刷システム。
【請求項９】
前記印刷許可送信手段は、前記プリンタからの前記印刷許可の要求に基づいて、前記コンテンツデータ解読キーを前記印刷許可として前記プリンタに送信する、ことを特徴とする請求項８に記載の印刷システム。
【請求項１０】
前記印刷実行手段は、前記コンテンツデータ解読キーを解読キーとして用いて、前記暗号化コンテンツデータを解読することにより、前記コンテンツデータを取得して、このコンテンツデータに基づいて印刷を実行する、ことを特徴とする請求項９に記載の印刷システム。
【請求項１１】
前記プリンタ特定情報は、これから生成する印刷ジョブデータを送信しようとしている前記プリンタに対して、前記コンテンツサーバが要求することにより、前記プリンタから前記コンテンツサーバに送信される、ことを特徴とする請求項１乃至請求項１０のいずれかに記載の印刷システム。
【請求項１２】
前記プリンタが前記コンテンツサーバに前記プリンタ特定情報を送信する際には、前記プリンタが前記プリンタ識別子を暗号化し、これを前記プリンタ特定情報として送信する、ことを特徴とする請求項１１に記載の印刷システム。
【請求項１３】
前記プリンタが前記コンテンツサーバに前記プリンタ特定情報を送信する際には、前記プリンタ識別子を暗号化せずに、そのまま前記プリンタ特定情報として送信する、ことを特徴とする請求項１１に記載の印刷システム。
【請求項１４】
コンテンツサーバにネットワークを介して接続されるプリンタであって、
コンテンツデータと、このコンテンツデータを印刷できるプリンタを特定するプリンタ識別子を含むプリンタ特定情報とを、少なくとも有する印刷ジョブデータを、前記コンテンツサーバから受信する、印刷ジョブデータ受信手段と、
前記印刷ジョブデータの前記プリンタ特定情報に含まれる前記プリンタ識別子を読み出し、これが自らのプリンタ識別子と一致するかどうかを判断して、両者が一致する場合にのみ、前記コンテンツサーバに印刷許可を要求する、印刷許可要求手段と、
前記コンテンツサーバから前記印刷許可を受信する、印刷許可受信手段と、
前記印刷許可を受信した場合にのみ、前記印刷ジョブデータに基づいて印刷を実行する、印刷実行手段と、
を備えることを特徴とするプリンタ。
【請求項１５】
前記印刷ジョブデータは、特定の位置に挿入された１つの第１コピーガードコードと、コンテンツデータのデータ長に応じて必要により前記コンテンツデータの間に分散して挿入される１又は複数の第２コピーガードコードとを、少なくとも含んでおり、
前記第１コピーガードコードは、前記プリンタ特定情報と、次の第２コピーガードコードの位置を示す第１コードポインタとを、少なくとも含んでおり、
前記第２コピーガードコードは、それぞれ、さらに次の第２コピーガードコードの位置を示す第２コードポインタを少なくとも含んでおり、
前記第１及び前記第２コードポインタは、これら第１及び第２コードポインタを生成する都度ランダムに決定される、
ことを特徴とする請求項１４に記載のプリンタ。
【請求項１６】
前記第１コードポインタは、前記コンテンツサーバにより暗号化されている、ことを特徴とする請求項１５に記載のプリンタ。
【請求項１７】
前記印刷許可受信手段は、前記コンテンツサーバから、暗号化された前記第１コードポインタの解読キーであるコードポインタ解読キーを、前記印刷許可として受信する、ことを特徴とする請求項１６に記載のプリンタ。
【請求項１８】
前記印刷実行手段は、前記コードポインタ解読キーを解読キーとして用いて、前記第１コードポインタを解読し、これにより前記次の第２コピーガードコードの位置を取得するとともに、これ以降の各第２コピーガードコードの位置を１つ前の第２コピーガードコードの第２コードポインタに基づいて順次取得し、
これら第１及び第２コピーガードコードを順次取り除いて、印刷を実行する、ことを特徴とする請求項１７に記載のプリンタ。
【請求項１９】
前記印刷ジョブデータは、
前記プリンタ特定情報を、少なくとも含む第３コピーガードコードと、
前記コンテンツデータを暗号化した暗号化コンテンツデータとを、
少なくとも含んでいる、ことを特徴とする請求項１４に記載のプリンタ。
【請求項２０】
前記印刷許可受信手段は、前記暗号化コンテンツデータの解読キーであるコンテンツデータ解読キーを、前記印刷許可として受信する、ことを特徴とする請求項１９に記載のプリンタ。
【請求項２１】
前記印刷実行手段は、前記コンテンツデータ解読キーを解読キーとして用いて、前記暗号化コンテンツデータを解読することにより、前記コンテンツデータを取得して、このコンテンツデータに基づいて印刷を実行する、ことを特徴とする請求項２０に記載のプリンタ。
【請求項２２】
前記コンテンツサーバの要求に基づいて、前記プリンタ特定情報を前記コンテンツサーバに送信する、プリンタ特定情報送信手段を、
さらに備えることを特徴とする請求項１４乃至請求項２１のいずれかに記載のプリンタ。
【請求項２３】
前記プリンタ特定情報送信手段が前記コンテンツサーバに前記プリンタ特定情報を送信する際には、前記プリンタ識別子を暗号化し、これを前記プリンタ特定情報として送信する、ことを特徴とする請求項２２に記載のプリンタ。
【請求項２４】
前記プリンタ特定情報送信手段が前記コンテンツサーバに前記プリンタ特定情報を送信する際には、前記プリンタ識別子を暗号化せずに、そのまま前記プリンタ特定情報として送信する、ことを特徴とする請求項２２に記載のプリンタ。
【請求項２５】
ネットワークを介してプリンタに接続されるコンテンツサーバであって、
コンテンツデータと、前記コンテンツデータを印刷できるプリンタを特定するプリンタ識別子を含むプリンタ特定情報とを、少なくとも有する印刷ジョブデータを生成する、印刷ジョブデータ生成手段と、
前記印刷ジョブデータを前記プリンタに送信する、印刷ジョブデータ送信手段と、
前記印刷ジョブデータの前記プリンタ特定情報に含まれる前記プリンタ識別子と、前記プリンタのプリンタ識別子とが一致する場合にのみ前記プリンタから前記コンテンツサーバ送信される、印刷許可の要求を受信する、印刷許可受信手段と、
前記印刷許可の要求を受信した場合に、前記プリンタへ印刷許可を送信する、印刷許可送信手段と、
を備えることを特徴とするコンテンツサーバ。
【請求項２６】
前記印刷ジョブデータは、特定の位置に挿入された１つの第１コピーガードコードと、コンテンツデータのデータ長に応じて必要により前記コンテンツデータの間に分散して挿入される１又は複数の第２コピーガードコードとを、少なくとも含んでおり、
前記印刷ジョブデータ生成手段は、前記プリンタ特定情報と、次の前記第２コピーガードコードの位置を示す第１コードポインタとを、少なくとも含む前記第１コピーガードコードを生成して、前記特定の位置に挿入し、
前記第１コードポインタが示す位置に前記コンテンツデータが存在する場合には、その位置に、前記次の第２コピーガードコードのさらに次の第２コピーガードコード位置を示す第２コードポインタを少なくとも含む第２コピーガードコードを挿入し、この第２コピーガードコードの挿入を、コンテンツデータのデータ長に至るまで繰り返すとともに、
前記第１及び前記第２コードポインタは、これら第１及び第２コードポインタを生成する都度ランダムに決定される、
ことを特徴とする請求項２５に記載のコンテンツサーバ。
【請求項２７】
前記第１コードポインタは、前記コンテンツサーバが暗号化することを特徴とする請求項２６に記載のコンテンツサーバ。
【請求項２８】
前記第１コードポインタは、前記コンテンツサーバが暗号化し、その解読キーであるコードポインタ解読キーを前記コンテンツサーバで保持しておく、ことを特徴とする請求項２６に記載のコンテンツサーバ。
【請求項２９】
前記印刷許可送信手段は、前記プリンタからの前記印刷許可の要求に基づいて、前記コードポインタ解読キーを前記印刷許可として前記プリンタに送信する、ことを特徴とする請求項２８に記載のコンテンツサーバ。
【請求項３０】
前記印刷ジョブデータ生成手段は、
前記プリンタ特定情報を少なくとも含む第３コピーガードコードを生成し、前記コンテンツデータを暗号化して暗号化コンテンツデータを生成するとともに、前記第３コピーガードコードと前記暗号化コンテンツデータとを少なくとも用いて、前記印刷ジョブデータを生成する、
ことを特徴とする請求項２５に記載のコンテンツサーバ。
【請求項３１】
前記暗号化コンテンツデータの解読キーであるコンテンツデータ解読キーは、前記コンテンツサーバで保持しておく、ことを特徴とする請求項３０に記載のコンテンツサーバ。
【請求項３２】
前記印刷許可送信手段は、前記プリンタからの前記印刷許可の要求に基づいて、前記コンテンツデータ解読キーを前記印刷許可として前記プリンタに送信する、ことを特徴とする請求項３１に記載のコンテンツサーバ。
【請求項３３】
前記プリンタ特定情報は、これから生成する印刷ジョブデータを送信しようとしている前記プリンタに対して、前記コンテンツサーバが要求することにより、前記プリンタから前記コンテンツサーバに送信される、ことを特徴とする請求項２５乃至請求項３２のいずれかに記載のコンテンツサーバ。
【請求項３４】
コンテンツサーバと、このコンテンツサーバにネットワークを介して接続されてコンテンツデータの再現を行う再現装置とを有する、印刷システムであって、コンテンツデータと、このコンテンツデータを再現できる再現装置を特定する識別子を含む再現装置特定情報とを、少なくとも有する送信データを、前記コンテンツサーバで生成する、送信データ生成手段と、
前記送信データを前記再現装置に送信する、送信データ送信手段と、
前記コンテンツサーバから前記送信データを、前記再現装置が受信する、送信データ受信手段と、
前記送信データを受信した前記再現装置が、前記送信データの前記再現装置特定情報に含まれる前記識別子を読み出し、これが自らの識別子と一致するかどうかを判断して、両者が一致する場合にのみ、前記コンテンツサーバに再現許可を要求する、再現許可要求手段と、
前記再現装置から前記再現許可を要求された場合に、前記コンテンツサーバから前記再現装置へ再現許可を送信する、再現許可送信手段と、
前記再現許可を受信した前記再現装置が、前記送信データに基づいて再現を行う、再現実行手段と、
を備えることを特徴とするコンテンツデータ再現システム。
【請求項３５】
コンテンツサーバにネットワークを介して接続される再現装置であって、
コンテンツデータと、このコンテンツデータを再現できる再現装置を特定する識別子を含む再現装置特定情報とを、少なくとも有する送信データを、前記コンテンツサーバから受信する、送信データ受信手段と、
前記送信データの前記再現装置特定情報に含まれる前記識別子を読み出し、これが自らの識別子と一致するかどうかを判断して、両者が一致する場合にのみ、前記コンテンツサーバに再現許可を要求する、再現許可要求手段と、
前記コンテンツサーバから前記再現許可を受信する、再現許可受信手段と、
前記再現許可を受信した場合にのみ、前記送信データに基づいて再現を行う、再現実行手段と、
を備えることを特徴とする再現装置。
【請求項３６】
ネットワークを介して再現装置に接続されるコンテンツサーバであって、
コンテンツデータと、前記コンテンツデータを印刷できる再現装置を特定する識別子を含む再現装置特定情報とを、少なくとも有する送信データを生成する、送信データ生成手段と、
前記送信データを前記再現装置に送信する、送信データ送信手段と、
前記送信データの前記再現装置特定情報に含まれる前記識別子と、前記再現装置の識別子とが一致する場合にのみ前記再現装置から前記コンテンツサーバ送信される、再現許可の要求を受信する、再現許可受信手段と、
前記再現許可の要求を受信した場合に、前記再現装置へ再現許可を送信する、再現許可送信手段と、
を備えることを特徴とするコンテンツサーバ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、印刷システム、及び、コンテンツデータ再現システムに関する。
【０００２】
【従来の技術】
近年、インターネット等の公衆ネットワークが、爆発的に普及してきている。このため、一般ユーザが、このインターネットを介して、ユーザとは離れた所にあるコンテンツサーバからコンテンツデータをダウンロードし、自己のプリンタから印刷することができるようになってきている。
【０００３】
例えば、インターネットに接続されたコンテンツサーバが、芸能人の写真のデータをコンテンツデータベースに蓄積している場合、ユーザは、インターネットを介して、このコンテンツデータベースを管理するコンテンツサーバにアクセスできる。そして、コンテンツデータベースから自分の希望する芸能人の写真を、自己のコンピュータにダウンロードし、このコンピュータに接続されたプリンタから、印刷することができる。このダウンロードに際し、コンテンツサーバを提供する業者は、ユーザに相応の課金をすることにより、サービス事業が成立する。
【０００４】
【発明が解決しようとする課題】
しかし、コンテンツサーバからユーザがダウンロードする写真等のコンテンツデータには、不正なコピー印刷を防止する機構が設けられていない。このため、コンテンツサーバからダウンロードしたコンテンツデータを、ユーザが何回でもプリンタで印刷することができてしまう。これでは、コンテンツデータについて十分な著作権の保護が図られているとは言えない。
【０００５】
そこで本発明は、前記課題に鑑みてなされたものであり、ユーザがダウンロードしたコンテンツデータをプリンタから印刷できるとともに、そのコンテンツデータを不正にコピー印刷できないようにした、印刷システムを提供することを目的とする。
【０００６】
また、ユーザがダウンロードしたコンテンツデータをプリンタやテレビ、音楽／音声再生プレイヤー等の再現装置で再現できるとともに、そのコンテンツデータを不正に再現できないようにした、コンテンツデータ再現システムを提供することを目的とする。
【０００７】
【課題を解決するための手段】
上記課題を解決するため、本発明に係る印刷システムは、コンテンツサーバと、このコンテンツサーバにネットワークを介して接続されるプリンタとを有する、印刷システムであって、コンテンツデータと、このコンテンツデータを印刷できるプリンタを特定するプリンタ識別子を含むプリンタ特定情報とを、少なくとも有する印刷ジョブデータを、前記コンテンツサーバで生成する、印刷ジョブデータ生成手段と、前記印刷ジョブデータを前記プリンタに送信する、印刷ジョブデータ送信手段と、前記コンテンツサーバから前記印刷ジョブデータを、前記プリンタが受信する、印刷ジョブデータ受信手段と、前記印刷ジョブデータを受信した前記プリンタが、前記印刷ジョブデータの前記プリンタ特定情報に含まれる前記プリンタ識別子を読み出し、これが自らのプリンタ識別子と一致するかどうかを判断して、両者が一致する場合にのみ、前記コンテンツサーバに印刷許可を要求する、印刷許可要求手段と、前記プリンタから前記印刷許可を要求された場合に、前記コンテンツサーバから前記プリンタへ印刷許可を送信する、印刷許可送信手段と、前記印刷許可を受信した前記プリンタが、前記印刷ジョブデータに基づいて印刷を実行する、印刷実行手段と、を備えることを特徴とする。このようにすることにより、コンテンツサーバが印刷ジョブデータを送信したプリンタに対して、印刷許可を与えない限り、印刷ジョブデータの印刷を行うことができないようになる。このため、特定のプリンタでのみコンテンツサーバが送信した印刷ジョブデータを印刷できるようになり、印刷ジョブデータに含まれるコンテンツデータを不正にコピー印刷されてしまうのを防止することができる。
【０００８】
この場合、前記印刷ジョブデータは、特定の位置に挿入された１つの第１コピーガードコードと、コンテンツデータのデータ長に応じて必要により前記コンテンツデータの間に分散して挿入される１又は複数の第２コピーガードコードとを、少なくとも含んでおり、前記印刷ジョブデータ生成手段は、前記プリンタ特定情報と、次の第２コピーガードコードの位置を示す第１コードポインタとを、少なくとも含む前記第１コピーガードコードを生成して、前記特定の位置に挿入し、前記第１コードポインタが示す位置に前記コンテンツデータが存在する場合には、その位置に、前記次の第２コピーガードコードのさらに次の第２コピーガードコード位置を示す第２コードポインタを少なくとも含む第２コピーガードコードを挿入し、この第２コピーガードコードの挿入を、コンテンツデータのデータ長に至るまで繰り返すとともに、前記第１及び前記第２コードポインタは、これら第１及び第２コードポインタを生成する都度ランダムに決定されるようにしてもよい。これにより、本発明のような不正なコピー印刷を防止する機構を有しないプリンタで、この印刷ジョブデータを印刷しようとしても、正しい印刷結果が得られないようにできる。
【０００９】
また、前記第１コードポインタは、前記コンテンツサーバが暗号化するようにしてもよい。このように第１コードポインタを暗号化しておくことにより、不正な目的を持つ者に、この第１コードポインタの内容を知られないようにすることができ、この第１コピーガードコードに続く第２コピーガードコードの挿入位置がわからないようにできる。
【００１０】
さらに、前記第１コードポインタは、前記コンテンツサーバが暗号化し、その解読キーであるコードポインタ解読キーを前記コンテンツサーバで保持しておくようにしてもよい。このように第１コードポインタを暗号化しておくことにより、不正な目的を持つ者に、この第１コードポインタの内容を知られないようにすることができるとともに、コードポインタ解読キーをコンテンツサーバ側で保持することにより、コードポインタ解読キーの秘密性をより確かなものとすることができる。
【００１１】
また、前記印刷許可送信手段は、前記プリンタからの前記印刷許可の要求に基づいて、前記コードポインタ解読キーを前記印刷許可として前記プリンタに送信するようにしてもよい。これにより、コンテンツサーバが印刷許可を与えたプリンタでのみ、暗号化された第１コードポインタを解読できるようになる。
【００１２】
さらに、前記印刷実行手段は、前記コードポインタ解読キーを解読キーとして用いて、前記第１コードポインタを解読し、これにより前記次の第２コピーガードコードの位置を取得するとともに、これ以降の各第２コピーガードコードの位置を１つ前の第２コピーガードコードの第２コードポインタに基づいて順次取得し、これら第１及び第２コピーガードコードを順次取り除いて、印刷を実行するようにしてもよい。これにより、コンテンツサーバが印刷許可を与えた場合にのみ、且つ、印刷許可を与えたプリンタでみ、正常な印刷を行うことができるようになる。
【００１３】
一方、前記印刷ジョブデータ生成手段は、前記プリンタ特定情報を少なくとも含む第３コピーガードコードを生成し、且つ、前記コンテンツデータを暗号化して暗号化コンテンツデータを生成するとともに、前記第３コピーガードコードと前記暗号化コンテンツデータとを少なくとも用いて、前記印刷ジョブデータを生成するようにしてもよい。これによりコンテンツサーバが許可を与えたプリンタでしか、暗号化されたコンテンツデータを解読して、正しい印刷結果を得られないようにすることができる。
【００１４】
この場合、前記暗号化コンテンツデータの解読キーであるコンテンツデータ解読キーは、前記コンテンツサーバで保持しておくようにしてもよい。そして、前記印刷許可送信手段は、前記プリンタからの前記印刷許可の要求に基づいて、前記コンテンツデータ解読キーを前記印刷許可として前記プリンタに送信するようにしてもよい。これによりサーバが保持するコンテンツデータ解読キーを正当に入手したプリンタでのみ、暗号化コンテンツデータを解読できるようになる。
【００１５】
また、前記印刷実行手段は、前記コンテンツデータ解読キーを解読キーとして用いて、前記暗号化コンテンツデータを解読することにより、前記コンテンツデータを取得して、このコンテンツデータに基づいて印刷を実行するようにしてもよい。これにより、コンテンツサーバが印刷許可を与えた場合にのみ、且つ、印刷許可を与えたプリンタでみ、正常な印刷を行うことができるようになる。
【００１６】
さらに、前記プリンタ特定情報は、これから生成する印刷ジョブデータを送信しようとしている前記プリンタに対して、前記コンテンツサーバが要求することにより、前記プリンタから前記コンテンツサーバに送信されるようにしてもよい。これにより、コンテンツサーバは、印刷ジョブデータを生成するたびに、印刷ジョブデータを送信しようとしているプリンタのプリンタ特定情報を取得することができる。
【００１７】
この場合、前記プリンタ識別子を暗号化し、これを前記プリンタ特定情報として送信してもよいし、前記プリンタ識別子を暗号化せずに、そのまま前記プリンタ特定情報として送信してもよい。暗号化すればプリンタ識別子の秘密性が向上し、暗号化しなければプリンタにおける暗号化処理及び解読処理が不要になる。
【００１８】
なお、本発明は上述した印刷システムで用いられるプリンタとして実現することもできるし、同じく上述した印刷システムで用いられるコンテンツサーバとして実現することもできる。また、これら印刷システム、プリンタ、及び、コンテンツサーバを制御するための制御方法として、実現することもできる。
【００１９】
さらに本発明は、プリンタに限らずあらゆるコンテンツデータを再現するコンテンツデータ再現システムに適用することができる。この場合、そのコンテンツデータ再現システムで用いられる再現装置やコンテンツサーバとして実現することもできる。
【００２０】
【発明の実施の形態】
〔第１実施形態〕
本発明に係る印刷システムは、インターネットを介してコンテンツサーバから画像データを印刷ジョブデータとしてダウンロードする際に、その印刷ジョブデータの中に正常な印刷ができなくなるようなコピーガードコードを挿入しておき、この印刷ジョブデータをプリンタが印刷する際に、このコピーガードコードを解除するに必要な解読キーをコンテンツサーバからプリンタに送信するようにしたものである。また、最初のコピーガードコードにこの印刷ジョブデータを印刷できるプリンタを特定するプリンタ特定情報を含ませておくことにより、その特定のプリンタでしか印刷ジョブデータを印刷できないようにしたものである。そして、これらにより、画像データに関して適切な著作権保護を図れるようにした。より詳しくを、以下に説明する。
【００２１】
まず、図１に基づいて、本実施形態に係る印刷システムの構成を説明する。この図１は、本実施形態に係る印刷システムの構成をブロックで示す概略図である。
【００２２】
図１に示すように、本実施形態に係る印刷システム１０は、インターネット２０に接続されたローカルエリアネットワーク（ＬＡＮ）３０と、同じくインターネット２０に接続されたコンテンツ提供システム４０とを備えている。インターネット２０は、公衆ネットワークの一例であり、今日において、最も普及しているコンピュータの公衆ネットワークである。
【００２３】
ローカルエリアネットワーク３０は、プロキシサーバ３２を介して、このインターネット２０と接続されている。このローカルエリアネットワーク３０は、例えば、イーサーネットから構成されており、クライアントコンピュータ３４と、プリンタ３６とを備えている。クライアントコンピュータ３４から送信された印刷ジョブデータは、ローカルエリアネットワーク３０を介して、プリンタ３６で受信され、印刷が行われる。また、インターネット２０からプロキシサーバ３２を介して受信された各種データは、クライアントコンピュータ３４やプリンタ３６で受信されるようになっている。特に、インターネット２０からプロキシサーバ３２を介してプリンタ３６で受信された印刷ジョブデータは、このプリンタ３６でそのまま印刷することができる。
【００２４】
コンテンツ提供システム４０も、プロキシサーバ４２を介して、インターネット２０に接続されている。このコンテンツ提供システム４０においては、プロキシサーバ４２にコンテンツサーバ４４が接続されており、このコンテンツサーバ４４はコンテンツデータベース４６を有している。本実施形態においては、コンテンツデータベース４６には、１又は複数の芸能人の写真が、１又は複数のデジタルの画像データとして格納されている。
【００２５】
これらの構成からわかるように、図１に示す印刷システム１０では、コンテンツデータベース４６に格納されている画像データを、インターネット２０を介してプリンタ３６が印刷ジョブデータとして取り込んで、印刷することが可能である。本実施形態においては、プリンタ３６におけるこの画像データの印刷にあたり、不正なコピー印刷が行われてしまうのを防止しようとしている。
【００２６】
次に、図２に基づいて、コンテンツサーバ４４からプリンタ３６に送信される画像データの印刷ジョブデータ構造を説明する。この図２は、コンテンツサーバ４４が画像データをプリンタ３６に送信するために生成する印刷ジョブデータの構造を示す図である。
【００２７】
図２に示すように、印刷ジョブデータは、先頭位置にコピーガードコードＣＧＣＯ１が挿入されており、コンテンツデータＣＤの間に、コピーガードコードＣＧＣＯ２が分散してランダムに挿入されている。コンテンツデータＣＤは、画像データを印刷する上で必要不可欠な本来のデータである。コピーガードコードＣＧＣＯ１、ＣＧＣＯ２は、これを抜いてからでないとプリンタ３６や他のプリンタで正常に印刷できないようにするための不正コピー防止用のデータである。本実施形態では、印刷ジョブデータの先頭には、必ずコピーガードコードＣＧＣＯ１が存在している。そして、コピーガードコードＣＧＣＯ２をコンテンツデータＣＤの間にもランダムに散りばめることにより、不正なコピー印刷がプリンタ３６や他のプリンタで行われないようにしている。コピーガードコードＣＧＣＯ２は、コンテンツデータＣＤのデータ長に応じて必要によりランダムに挿入される。つまり、コピーガードコードＣＧＣＯ２は、コンテンツデータのデータ長によっては、印刷ジョブデータ中に存在しない場合もあるし、１つだけ存在する場合や複数存在する場合もある。
【００２８】
図３（ａ）は、本実施形態に係るコピーガードコードＣＧＣＯ１のデータ構成を示す図であり、図３（ｂ）は、本実施形態に係るコピーガードコードＣＧＣＯ２のデータ構成を示す図である。
【００２９】
図３（ａ）に示すように、コピーガードコードＣＧＣＯ１は、コピーガードコマンドＣＧＣＭ１と、プリンタ特定情報ＰＩと、コードポインタＣＰ１とを、含んでいる。
【００３０】
コピーガードコマンドＣＧＣＭ１は、これ以降数バイトが、コピーガードコードＣＧＣＯ１に関するデータが格納されていることを示すコマンドである。本実施形態においては、このコピーガードコマンドＣＧＣＭ１については、何の暗号化もされていない。
【００３１】
プリンタ特定情報ＰＩは、この印刷ジョブデータを印刷できるプリンタを限定するための情報である。ここでの説明においては、プリンタ３６でのみ印刷でき、他のプリンタでは印刷できないようにするために、プリンタ３６を特定するための情報が格納されている。また、このプリンタ特定情報ＰＩは、プリンタ３６が生成する情報であり、プリンタ３６自体が、自らのプリンタ識別子を暗号化することにより生成され、コンテンツサーバ４４に送信される情報である。したがって、このプリンタ特定情報ＰＩは、プリンタ３６でしか解読できないようになっている。
【００３２】
コードポインタＣＰ１は、次のコピーガードコードＣＧＣＯ２が格納されている位置を示すポインタである。コピーガードコードＣＧＣＯ１は、印刷ジョブデータの先頭に格納されていることは決まっているが、それ以降のコピーガードコードＣＧＣＯ２は、印刷ジョブデータのどの位置に格納されているのかは決まっておらず、コピーガードコードＣＧＣＯ２を生成する毎にランダムに決定される。このため、次のコピーガードコードＣＧＣＯ２の位置を、先頭のコピーガードコードＣＧＣＯ１がコードポインタＣＰ１により指し示すようにしている。本実施形態では、このコードポインタＣＰ１は、コンテンツサーバ４４が暗号化した上で生成する。このため、プリンタ３６は、印刷ジョブデータを受信したとしても、コンテンツサーバ４４からこれを解読するためのコードポインタ解読キーを受信しないと、このコードポインタＣＰの情報を得ることができないようになっている。
【００３３】
図３（ｂ）に示すように、２番目以降のコピーガードコードＣＧＣＯ２は、コピーガードコマンドＣＧＣＭ２と、コードポインタＣＰ２とを、含んでいる。
【００３４】
コピーガードコマンドＣＧＣＭ２は、これ以降数バイトが、コピーガードコードＣＧＣＯ２に関するデータが格納されていることを示すコマンドである。
【００３５】
コードポインタＣＰ２は、次のコピーガードコードＣＧＣＯ２が格納されている位置を示すポインタである。すなわち、次のコピーガードコードＣＧＣＯ２の位置を、前のコピーガードコードＣＧＣＯ２がコードポインタＣＰ２により指し示すようにしている。
【００３６】
本実施形態では、これらコピーガードコマンドＣＧＣＭ２とコードポインタＣＰ２は、暗号化されていない。これは、コピーガードコードＣＧＣＯ２の挿入位置が印刷ジョブデータ毎に異なるので、最初のコードポインタＣＰ１が暗号化されている以上、暗号化せずとも第三者に解読されて、その位置を特定されるおそれは実質的にほとんどないからである。
【００３７】
なお、図３（ａ）及び図３（ｂ）に示したコピーガードコードＣＧＣＯ１、ＣＧＣＯ２は、これらの図に示す以外のデータ項目を備えていてもよいし、また、図示以外のデータ項目順であってもよい。
【００３８】
次に、図４に基づいて、本実施形態に係る印刷システム１０における画像データの印刷処理を概略的に説明する。この図４は、画像データをプリンタ３６で印刷する際に、クライアントコンピュータ３４と、プリンタ３６と、コンテンツサーバ４４との間で送受されるデータ及び指令を、順番に説明するためのブロック図である。
【００３９】
図４に示すように、ユーザはクライアントコンピュータ３４からインターネット２０を介して、コンテンツデータベース４６にアクセスする。そして、コンテンツデータベース４６に蓄積されている複数種類の画像データの中から、印刷したい画像データを特定する。続いて、ユーザは、（１）その画像データの印刷要求と、印刷先のプリンタとしてプリンタ３６を指定する情報を、インターネット２０を介してコンテンツサーバ４４に送信する。
【００４０】
この画像データの印刷要求と印刷先のプリンタの指定とを受信したコンテンツサーバ４４は、（２）印刷先に指定されているプリンタ３６に対して、プリンタを特定するためのプリンタ特定情報ＰＩを要求する。
【００４１】
このプリンタ特定情報ＰＩの要求を受けたプリンタ３６は、暗号化処理部５０において、（３）暗号化したプリンタ特定情報ＰＩを生成する。本実施形態においては、プリンタ３６は、プリンタ固有のＩＤと、プリンタ３６の管理者がこのプリンタ３６に任意に割り付けた情報とを用いて、プリンタ３６を他のプリンタと識別するためのプリンタ識別子を暗号化することにより、プリンタ特定情報ＰＩを生成する。このため、これらプリンタ固有のＩＤと、プリンタ３６に管理者が割り付けた情報とが、プリンタ特定情報ＰＩを解読するプリンタ解読キーとなる。また、本実施形態においては、プリンタ３６を他のプリンタと識別するためのプリンタ識別子として、ＭＡＣ（Media Access Control）アドレスを用いている。ＭＡＣアドレスは、イーサネットに接続するＬＡＮカードに、製造時に割り当てられる固有のアドレスである。続いて、プリンタ３６の暗号化処理部５０は、（４）この生成したプリンタ特定情報ＰＩを、インターネット２０を介して、コンテンツサーバ４４に送信する。
【００４２】
プリンタ特定情報ＰＩを受信したコンテンツサーバ４４は、（５）このプリンタ特定情報ＰＩを用いて、コピーガードコードＣＧＣＯ１（図３（ａ）参照）を生成し、またこれに続くコピーガードコードＣＧＣＯ２（図３（ｂ）参照）を生成する。そして、（６）このコピーガードコードＣＧＣＯ１、ＣＧＣＯ２をコンテンツデータＤＣの間に適宜挿入して、印刷ジョブデータ（図２参照）を生成する。コピーガードコードＣＧＣＯ２をコンテンツデータＤＣに挿入する位置は、印刷ジョブデータの生成の都度、乱数によりランダムに定められる。そして、コンテンツサーバ４４は、（７）生成した印刷ジョブデータを、インターネット２０を介して、プリンタ３６に送信する。
【００４３】
印刷ジョブデータを受信したプリンタ３６は、暗号解読処理部５２において、（８）印刷ジョブデータの先頭から、コピーガードコードＣＧＣＯ１を抜き取る。そして、（９）このコピーガードコードＣＧＣＯ１からプリンタ特定情報ＰＩを読み出し、この印刷ジョブデータがプリンタ３６用に生成された印刷ジョブデータであるかどうかを確認する。具体的には、暗号解読処理部５２において、この受信したプリンタ特定情報ＰＩが、プリンタ固有のＩＤと、プリンタ３６に管理者が割り付けた情報とからなるプリンタ解読キーで解読できるかどうかを確認し、解読できた場合には、解読により得られたプリンタ識別子が、プリンタ３６自身のものであるかどうかを確認する。解読することにより得られたプリンタ識別子がプリンタ３６自身のものであることを示している場合には、（１０）インターネット２０を介して、コンテンツサーバ４４にコードポインタ解読キーを要求する。一方、解読したプリンタ識別子がプリンタ３６自身のものであることを示していない場合や、そもそも解読ができなかった場合には、コードポインタ解読キーを要求することなく、この印刷処理を終了する。このため、プリンタ３６では、他のプリンタ用の印刷ジョブデータを受信したとしても、それを印刷することはできない。
【００４４】
プリンタ３６からコードポインタ解読キーを要求されたコンテンツサーバ４４は、インターネット２０を介して、（１１）プリンタ３６にコードポインタ解読キーを送信する。このコードポインタ解読キーを受信したプリンタ３６は、暗号解読処理部５２において、コピーガードコードＣＧＣＯ１に含まれるコードポインタＣＰ１を抜き取り、コードポインタ解読キーを用いて解読する。この解読により、２番目のコピーガードコードＣＧＣＯ２の位置が得られる。そして、コピーガードコードＣＧＣＯ１を印刷ジョブデータから抜き取って、印刷部５４に送信する。また、２番目以降のコピーガードコードＣＧＣＯ２も、その前のコピーガードコードＣＧＣＯ２に含まれるコードポインタＣＰ２の位置情報に基づいて、順次、抜き取った上で、印刷部５４に送信する。これにより、（１２）印刷部５４で印刷が正常に実行される。
【００４５】
以上、本実施形態に係る印刷システム１０における印刷処理を概略的に説明したが、次に、コンテンツサーバ４４及びプリンタ３６の個別の処理を詳しく説明する。
【００４６】
まず、図５及び図６に基づいて、コンテンツサーバ４４における印刷ジョブデータ生成処理について説明する。これら図５及び図６は、クライアントコンピュータ３４から画像データの印刷要求と印刷先プリンタの指定とを受信したクライアントコンピュータ３４が実行する印刷ジョブデータ生成処理を説明するフローチャートである。
【００４７】
まず、図５に示すように、コンテンツサーバ４４は、印刷ジョブデータの送信先となるプリンタ３６に、インターネット２０を介して接続する（ステップＳ１０）。接続すべきプリンタは、コンテンツサーバ４４から送信された印刷先プリンタの指定により、特定することができる。
【００４８】
次に、コンテンツサーバ４４は、印刷先のプリンタ３６に接続できたかどうかを判断する（ステップＳ１１）。印刷先のプリンタ３６に接続できなかった場合（ステップＳ１１：Ｎｏ）には、この印刷ジョブデータ生成処理を終了する。
【００４９】
一方、印刷先のプリンタ３６に接続できた場合（ステップＳ１１：Ｙｅｓ）には、コンテンツサーバ４４は、プリンタ３６に対して、プリンタを特定するためのプリンタ特定情報ＰＩを要求する（ステップＳ１２）。なお、このコンテンツサーバ４４とプリンタ３６との間のインターネット２０を介した接続は、この一連の印刷処理が終了するまで維持されるものとする。
【００５０】
続いて、コンテンツサーバ４４は、プリンタ３６からプリンタ特定情報ＰＩを受信したかどうかを判断（ステップＳ１３）し、受信していない場合（ステップＳ１３：Ｎｏ）には、このステップＳ１３の処理を繰り返して待機する。
【００５１】
一方、プリンタ３６からインターネット２０を介して、プリンタ特定情報ＰＩを受信した場合（ステップＳ１３：Ｙｅｓ）には、印刷ジョブデータの先頭に挿入させるコピーガードコードＣＧＣＯ１のコードポインタＣＰ１を、乱数で決定する（ステップＳ１４）。続いて、コンテンツサーバ４４は、この生成したコードポインタＣＰ１を暗号化処理する。この際、コンテンツサーバ４４は、この暗号化したコードポインタＣＰ１を解読するのに必要なコードポインタ解読キーを保持しておく（ステップＳ１６）。
【００５２】
次に、コンテンツサーバ４４は、プリンタ３６で暗号化されたプリンタ特定情報ＰＩと、コンテンツサーバ４４で暗号化されたコードポインタＣＰ１を、コピーガードコマンドＣＧＣＭ１に付加することにより、コピーガードコードＣＧＣＯ１を生成する（ステップＳ１７）。
【００５３】
次に、図６に示すように、コンテンツサーバ４４は、生成したコピーガードコードＣＧＣＯ１を、印刷ジョブデータの先頭に挿入する（ステップＳ１８）。印刷ジョブデータを生成するにあたり、コンテンツデータＣＤは、コンテンツデータベース４６に蓄積されている画像データに基づいて生成される。すなわち、コンテンツデータベース４６からユーザの選択した画像データを読み出し、この画像データをコンテンツデータＣＤとする。
【００５４】
続いて、ステップＳ１４で生成したコードポインタＣＰ１の位置に、コンテンツデータＣＤがまだ存在するかどうかを判断する（ステップＳ１９）。この位置にコンテンツデータＣＤが存在しない場合（ステップＳ１９：Ｎｏ）には、ユーザが指定した画像データについての印刷ジョブデータの生成が完了したことになるので、この印刷ジョブデータ生成処理を終了する。
【００５５】
一方、ステップＳ１４で生成したコードポインタＣＰ１の位置に、コンテンツデータＣＤが存在する場合（ステップＳ１９：Ｙｅｓ）には、その次のコードポインタＣＰ２を乱数で決定する（ステップＳ２０）。続いて、コンテンツサーバ４４は、このステップＳ２０で決定したコードポインタＣＰ２を、コピーガードコマンドＣＧＣＭ２に付加することにより、２番目のコピーガードコードＣＧＣＯ２を生成する（ステップＳ２１）。そして、このステップＳ２１で生成したコピーガードコードＣＧＣＯ２を、ステップＳ１４で決定したコードポインタＣＰ１の位置に、挿入する（ステップＳ２２）。そして、上述したステップＳ１８の処理に戻る。
【００５６】
以後、上述したステップＳ１８〜ステップＳ２２の処理を繰り返す。但し、２度目以降のループでは、ステップＳ１９においては、前回のステップＳ２０の処理で決定したコードポインタＣＰ２の位置に、コンテンツデータＣＤがまだ存在するかどうかを判断することになり、また、ステップＳ２２においては、このコードポインタＣＰ２の位置にコピーガードコードＣＧＣＯ２を挿入することになる。
【００５７】
次に、図７に基づいて、プリンタ３６におけるプリンタ特定情報回答処理について説明する。この図７は、コンテンツサーバ４４からプリンタ特定情報ＰＩを要求されたプリンタ３６が実行するプリンタ特定情報回答処理を説明するフローチャートである。つまり、図５のステップＳ１２のプリンタ特定情報ＰＩの要求に基づいて、プリンタ３６で実行される処理である。
【００５８】
まず、プリンタ３６は、プリンタ固有のＩＤと、プリンタ３６の管理者がこのプリンタ３６に任意に割り付けた情報とがプリンタ解読キーとなるように、プリンタ３６を識別するためのプリンタ識別子を暗号化し、プリンタ特定情報ＰＩを生成する（ステップＳ３０）。上述したように、本実施形態においては、プリンタ３６を他のプリンタと識別するためのプリンタ識別子として、ＭＡＣ（Media Access Control）アドレスを用いている。
【００５９】
次に、プリンタ３６は、インターネット２０を介して、コンテンツサーバ４４に、この生成したプリンタ特定情報ＰＩを送信する（ステップＳ３１）。そして、プリンタ固有のＩＤと、プリンタ３６の管理者がこのプリンタ３６に割り付けた情報とを、プリンタ解読キーとして保持する（ステップＳ３２）。これにより、本実施形態に係るプリンタ特定情報回答処理が終了する。
【００６０】
次に、図８に基づいて、コンテンツサーバ４４における印刷ジョブデータ送信処理について説明する。この図８は、上記図５及び図６に示した印刷ジョブデータ生成処理を終了したコンテンツサーバ４４が実行する印刷ジョブデータ送信処理を説明するフローチャートである。つまり、図６のステップＳ１９で画像データの最後まで印刷ジョブデータを生成したと判断した場合に、コンテンツサーバ４４で実行される処理である。
【００６１】
まず、図８に示すように、コンテンツサーバ４４は、インターネット２０を介して、１つのコピーガードコードＣＧＣＯ１と、画像データの長さによっては１又は複数のコピーガードコードＣＧＣＯ２とを挿入した印刷ジョブデータを、プリンタ３６に送信する（ステップＳ４０）。続いて、コンテンツサーバ４４は、プリンタ３６からコードポインタ解読キーの送信を要求されたかどうかを判断する（ステップＳ４１）。このコードポインタ解読キーの送信を要求されていない場合（ステップＳ４１：Ｎｏ）には、このステップＳ４１の処理を繰り返して待機する。
【００６２】
一方、プリンタ３６からコードポインタ解読キーの送信を要求された場合には、印刷の承認を兼ねて、プリンタ３６にコードポインタ解読キーを送信する（ステップＳ４２）。そして、本実施形態では、プリンタ３６にこの画像データの印刷を１回しか認めていないので、ステップＳ４２でコードポインタ解読キーを送信した場合には、これによりプリンタ３６で印刷が実行されたとみなして、これ以降、プリンタ３６からこの印刷ジョブデータについてのコードポインタ解読キーの送信要求があったとしても、受け付けないこととする。このため、プリンタ３６は、受信した印刷ジョブデータを１回に限り印刷することができるようになる。
【００６３】
次に、図９及び図１０に基づいて、プリンタ３６における印刷ジョブデータ解読処理について説明する。これら図９及び図１０は、上記図７に示したプリンタ特定情報回答処理を終了したプリンタ３６が実行する印刷ジョブデータ解読処理を説明するフローチャートである。つまり、図７のステップＳ３２でプリンタ解読キーを保持した後に、プリンタ３６で実行される処理である。
【００６４】
まず、図９に示すように、プリンタ３６は、コンテンツサーバ４４から印刷ジョブデータを受信したかどうかを判断する（ステップＳ５０）。印刷ジョブデータを受信していない場合（ステップＳ５０：Ｎｏ）には、このステップＳ５０の処理を繰り返して待機する。
【００６５】
一方、コンテンツサーバ４４から印刷ジョブデータを受信した場合（ステップＳ５０：Ｙｅｓ）には、プリンタ３６は、印刷ジョブデータにコピーガードコードＣＧＣＯ１が挿入されているかどうかを確認する（ステップＳ５１）。具体的には、プリンタ３６は、印刷ジョブデータの先頭位置において、コピーガードコマンドＣＧＣＭ１が存在するかどうかを確認する。コピーガードコマンドＣＧＣＭ１が存在する場合には、この印刷ジョブデータにコピーガードコードＣＧＣＯ１、ＣＧＣＯ２が挿入されていることを示している。
【００６６】
コピーガードコードＣＧＣＯ１が挿入されていない場合（ステップＳ５２：Ｎｏ）には、通常の印刷ジョブデータであるので、そのまま、この印刷ジョブデータを印刷部５４に送信する（ステップＳ５３）。これにより、通常の印刷が実行される。
【００６７】
一方、コピーガードコードＣＧＣＯ１が挿入されている場合（ステップＳ５２：Ｙｅｓ）には、印刷ジョブデータの先頭にあるコピーガードコードＣＧＣＯ１からプリンタ特定情報ＰＩを抜き出して、ステップＳ３２（図７参照）で保持したプリンタ解読キーを用いて、プリンタ特定情報ＰＩを解読する（ステップＳ５４）。すなわち、プリンタ特定情報ＰＩを、プリンタ固有のＩＤと、プリンタ３６の管理者がこのプリンタ３６に任意に割り付けた情報とからなるプリンタ解読キーを用いて解読し、このプリンタ特定情報ＰＩからプリンタ識別子を取得する。
【００６８】
次に、プリンタ３６は、プリンタ特定情報ＰＩを解読して取得したプリンタ識別子と、自己のプリンタ識別子とが、一致するかどうかを判断する（ステップＳ５５）。プリンタ特定情報ＰＩを解読して取得したプリンタ識別子と、自己のプリンタ識別子とが、一致しない場合や、そもそも解読できない場合（ステップＳ５５：Ｎｏ）には、この印刷ジョブデータは、このプリンタ３６のために生成されたデータではないので、この印刷ジョブデータ解読処理を終了する。
【００６９】
一方、プリンタ特定情報ＰＩを解読して取得したプリンタ識別子と、自己のプリンタ識別子とが、一致した場合（ステップＳ５５：Ｙｅｓ）には、図１０に示すように、インターネット２０を介して、コンテンツサーバ４４にコードポインタ解読キーを要求する（ステップＳ５６）。そして、プリンタ３６は、コンテンツサーバ４４からコードポインタ解読キーを受信したかどうかを判断し（ステップＳ５７）、受信していない場合（ステップＳ５７：Ｎｏ）には、このステップＳ５７の処理を繰り返して、受信するまで待機する。
【００７０】
コンテンツサーバ４４からコードポインタ解読キーを受信した場合（ステップＳ５７：Ｙｅｓ）には、プリンタ３６は、そのコードポインタ解読キーを用いて、印刷ジョブデータの先頭に位置するコピーガードコードＣＧＣＯ１のコードポインタＣＰ１を解読する（ステップＳ５８）。これにより、２番目のコピーガードコードＣＧＣＯ２の位置が判明する。
【００７１】
次に、プリンタ３６は、印刷ジョブデータの先頭からコピーガードコードＣＧＣＯ１を取り除いて、印刷部５４に送信する（ステップＳ５９）。続いて、プリンタ３６は、ステップＳ５８で解読したコードポインタＣＰ１で指し示される位置に、印刷ジョブデータがまだ存在するかどうかを判断する（ステップＳ６０）。この位置に、印刷ジョブデータが存在しない場合（ステップＳ６０：Ｎｏ）には、コンテンツサーバ４４から受信した印刷ジョブデータから、コピーガードコードＣＧＣＯ１、ＣＧＣＯ２をすべて取り除いたことになるので、この印刷ジョブデータ解読処理を終了する。
【００７２】
コードポインタＣＰ１の位置に、印刷ジョブデータがまだ存在する場合（ステップＳ６０：Ｙｅｓ）には、このコードポインタＣＰ１により指し示される位置から、コピーガードコードＣＧＣＯ２を読み出して、そのコードポインタＣＰ２を取得する（ステップＳ６１）。
【００７３】
次に、プリンタ３６は、ステップＳ６１で読み出したコピーガードコードＣＧＣＯ２を取り除いて、印刷部５４に送信する（ステップＳ６２）。そして、上述したステップＳ６０に戻る。
【００７４】
以降、上述したステップＳ６０〜ステップＳ６２の処理を繰り返す。但し、２回目以降のループにおいては、ステップＳ６０においては、前回のステップＳ６１で取得したコードポインタＣＰ２の位置に、印刷ジョブデータが存在するかどうかを判断する。また、ステップＳ６１においては、前回のステップ６１で取得したコードポインタＣＰ２の位置から、さらにその次のコピーガードコードＣＧＣＯ２のコードポインタＣＰ２を取得する。続いて、ステップＳ６２においては、前々回のステップＳ６１で取得したコードポインタＣＰ２の位置から、コピーガードコードＣＧＣＯ２を取り除いて、印刷部５４に送信する（ステップＳ６２）。
【００７５】
以上のように、本実施形態に係る印刷システム１０によれば、コンテンツサーバ４４から送信された画像データの印刷ジョブデータをプリンタ３６が印刷する際に、プリンタ３６でのみ１回に限り印刷することができるようにしたので、コンテンツデータベース４６に蓄積された画像データの不正なコピー印刷を防止することができる。
【００７６】
具体的には、プリンタ３６のプリンタ識別子を含むプリンタ特定情報ＰＩを、コンテンツサーバ４４からプリンタ３６に送信する印刷ジョブデータに含ませた。そして、プリンタ識別子が一致した場合にのみ、プリンタがその印刷ジョブデータを印刷するようにした。このため、プリンタ３６以外の他のプリンタが、この印刷ジョブデータを受信したとしても、印刷できないようにすることができる。
【００７７】
しかも、このプリンタ特定情報ＰＩは、プリンタ３６の固有のＩＤと、プリンタ３６の管理者が任意に割り付けた情報とを組み合わせたプリンタ解読キーでしか解読できないようにしてあるので、プリンタ３６以外のプリンタがこの印刷ジョブデータを取得したとしても、プリンタ特定情報ＰＩを解読することができない。
【００７８】
また、このような不正コピー印刷防止の機構のないプリンタであっても、印刷ジョブデータの先頭にコピーガードコードＣＧＣＯ１が挿入されているので、このまま印刷ジョブデータを、このような機構のないプリンタで印刷させようとしても、意味不明な印刷結果しか得ることができない。
【００７９】
さらに、先頭のコピーガードコードＣＧＣＯ１の位置は固定的なものであるが、２番目以降のコピーガードコードＣＧＣＯ２の位置は、印刷ジョブデータ毎にランダムに異なるので、先頭にあるコピーガードコードＣＧＣＯ１を取り除いただけでは、正常な印刷結果を得ることができない。
【００８０】
また、不正な第三者がこの先頭に位置するコピーガードコードＣＧＣＯ１を解読しようとしても、コードポインタＣＰ１は暗号化されているので、２番目以降のコピーガードコードＣＧＣＯ２の位置を知ることができない。このため、何らかの手段でコピーガードコードＣＧＣＯ１を取り除いたとしても、２番目のコピーガードコードＣＧＣＯ２以降のコンテンツデータＣＤは、正常に印刷することができない。
【００８１】
しかも、２番目以降のコピーガードコードＣＧＣＯ２は、印刷ジョブデータの中の随所に散りばめられているので、複数のパケットに分割して、パケット毎に正常なコンテンツデータＣＤを不正に得ようとしても、容易には取得することができない。
【００８２】
さらに、画像データの不正コピーを防止する手法として、コピーガードコードＣＧＣＯ１、ＣＧＣＯ２をコンテンツデータＣＤの間に挿入するという簡便な方法を用いたので、プリンタ３６で正常な印刷結果を得るために行う処理は、受信した印刷ジョブデータからこれらコピーガードコードＣＧＣＯ１、ＣＧＣＯ２を取り除くという簡単な処理だけである。このため、データ処理に多くの時間を必要とせず、プリンタ３６の処理負担を軽減することができる。
【００８３】
また、コンテンツサーバ４４から印刷許可を兼ねたコードポインタ解読キーは、１度だけプリンタ３６に送信することとしたので、プリンタ３６で不正に複数枚の画像データのコピー印刷が行われてしまうのを、防止することができる。しかも、プリンタ３６では、このコードポインタ解読キーの要求は、プリンタ特定情報ＰＩに含まれるプリンタ識別子と、自らのプリンタ識別子とが一致した場合にのみ、コンテンツサーバ４４に送信するようにした。このため、コンテンツサーバ４４が生成した印刷ジョブデータの送信先と、実際に印刷をするプリンタとが一致した場合にのみ、コードポインタ解読キーを要求することができ、且つ、取得することができる。
【００８４】
なお、本実施形態は、上記説明に限定されずに、種々に変形可能である。例えば、上記図３において、２番目以降のコピーガードコードＣＧＣＯ２のコードポインタＣＰ２は、暗号化されていないと説明したが、これを暗号化して、コードポインタ解読キーを用いないと解読できないようにしてもよい。
【００８５】
さらに、上述した実施形態においては、コピーガードコマンドＣＧＣＭ２は、暗号化されていないと説明したが、これを暗号化するようにしてもよい。この場合、解読キーとして、コードポインタ解読キーをそのまま用いるようにしてもよいし、別の解読キーを用いるようにしてもよい。別の解読キーを用いる場合には、プリンタ３６は別途コンテンツサーバ４４からその解読キーを取得する必要がある。
【００８６】
また、２番目以降のコピーガードコードＣＧＣＯ２の位置は、その前にあるコピーガードコードＣＧＣＯ１又はコピーガードコードＣＧＣＯ２により特定されている。このため、コピーガードコマンドＣＧＣＭ２はデータ構造から省くことも可能である。
【００８７】
さらに、２番目以降のコピーガードコードＣＧＣＯ２については、プリンタ特定情報ＰＩをデータ構造上設けないこととしたが、このプリンタ特定情報ＰＩを設けるようにしてもよい。この場合、プリンタ３６ではこのコピーガードコードＣＧＣＯ２毎に自己のプリンタ３６用の印刷ジョブデータであるかどうかを確認するようにしてもよい。
【００８８】
また、上述した実施形態では、プリンタ特定情報ＰＩを、プリンタ固有のＩＤと、プリンタ３６に管理者が任意に割り付けた情報とからなるプリンタ解読キーで解読できるようにしたが、どちらか一方に基づいて暗号化し、解読できるようにしてもよい。但し、本実施形態のようにプリンタ固有のＩＤと、プリンタ３６に管理者が割り付けた情報との２つの情報が一致して初めて解読できるようにすることにより、プリンタ特定情報ＰＩの解読の困難性は向上する。一方、これとは反対に、プリンタ３６のプリンタ識別子を暗号化することなく、そのままプリンタ特定情報として、プリンタ３６からコンテンツサーバ４４に送信するようにしてもよい。これは、プリンタ識別子を暗号化してプリンタ特定情報ＰＩとせずとも、第三者が不正な意図を持って印刷ジョブデータを操作しなければ、コンテンツサーバ４４で特定したプリンタ以外では印刷できないことには変わりないからである。
【００８９】
〔第２実施形態〕
本発明の第２実施形態は、画像データであるコンテンツデータ全体をコンテンツサーバ４４で暗号化するとともに、コピーガードコードＣＧＣＯ１に含まれるプリンタ特定情報ＰＩが一致したプリンタ３２に対してのみ、暗号を解読するコンテンツデータ解読キーをコンテンツサーバ４４から送信することにより、画像データに関して適切な著作権保護を図れるようにしたものである。より詳しくを、以下に説明する。
【００９０】
なお、本実施形態に係る印刷システム１０の構成は、上述した第１実施形態の図１と同様であるので、その詳しい説明は省略する。
【００９１】
まず、図１１に基づいて、コンテンツサーバ４４からプリンタ３６に送信される画像データの印刷ジョブデータ構造を説明する。この図１１は、コンテンツサーバ４４が画像データをプリンタ３６に送信するために生成する印刷ジョブデータの構造を示す図である。
【００９２】
図１１に示すように、印刷ジョブデータは、先頭位置にコピーガードコードＣＧＣＯ３が挿入されており、これに続くコンテンツデータＣＤは暗号化されている。暗号化されたコンテンツデータＣＤは、その解読キーであるコンテンツデータ解読キーをコンテンツサーバ４４から取得しないと、解読できないようになっている。このため、本実施形態においては、コピーガードコードＣＧＣＯ３は、先頭位置に１つだけ挿入されていれば足りる。
【００９３】
図１２は、本実施形態に係るコピーガードコードＣＧＣＯ３のデータ構成を示す図である。この図１２に示すように、コピーガードコードＣＧＣＯ３は、コピーガードコマンドＣＧＣＭ３と、プリンタ特定情報ＰＩとを、含んでいる。
【００９４】
コピーガードコマンドＣＧＣＭ３は、これ以降数バイトが、コピーガードコードＣＧＣＯ３に関するデータが格納されていることを示すコマンドである。本実施形態においては、このコピーガードコマンドＣＧＣＭ１については、何の暗号化もされていない。
【００９５】
プリンタ特定情報ＰＩは、上述した第１実施形態と同様に、この印刷ジョブデータを印刷できるプリンタを限定するための情報である。ここでの説明においては、プリンタ３６でのみ印刷でき、他のプリンタでは印刷できないようにするために、プリンタ３６を特定するための情報が格納されている。また、このプリンタ特定情報ＰＩは、プリンタ３６が生成する情報であり、プリンタ３６自体が、プリンタ３６のプリンタ識別子を暗号化することにより生成され、コンテンツサーバ４４に送信される情報である。したがって、このプリンタ特定情報ＰＩは、プリンタ３６でしか解読できないようになっている。
【００９６】
なお、図１２に示したコピーガードコードＣＧＣＯ３は、この図に示す以外のデータ項目を備えていてもよいし、また、図示以外のデータ項目順であってもよい。
【００９７】
次に、図１３に基づいて、本実施形態に係る印刷システム１０における画像データの印刷処理を概略的に説明する。この図１３は、画像データをプリンタ３６で印刷する際に、クライアントコンピュータ３４と、プリンタ３６と、コンテンツサーバ４４との間で送受されるデータ及び指令を、順番に説明するためのブロック図であり、上述した第１実施形態における図４に相当する図である。
【００９８】
この図１３においては、（４）の処理までは、上述した第１実施形態と同様の処理である。すなわち、ユーザはクライアントコンピュータ３４からインターネット２０を介して、コンテンツデータベース４６をアクセスする。そして、コンテンツデータベース４６に蓄積されている複数種類の画像データの中から、印刷したい画像データを特定する。続いて、ユーザは、（１）その画像データの印刷要求と、印刷先のプリンタとしてプリンタ３６を指定する情報を、インターネット２０を介してコンテンツサーバ４４に送信する。
【００９９】
この画像データの印刷要求と印刷先のプリンタの指定とを受信したコンテンツサーバ４４は、（２）印刷先に指定されているプリンタ３６に対して、プリンタを特定するためのプリンタ特定情報ＰＩを要求する。
【０１００】
このプリンタ特定情報ＰＩの要求を受けたプリンタ３６は、暗号化処理部５０において、（３）プリンタ識別子を暗号化したプリンタ特定情報ＰＩを生成する。続いて、プリンタ３６の暗号化処理部５０は、（４）この生成したプリンタ特定情報ＰＩを、インターネット２０を介して、コンテンツサーバ４４に送信する。
【０１０１】
次の（５）以降の処理は、上述した第１実施形態と異なる。すなわち、プリンタ特定情報ＰＩを受信したコンテンツサーバ４４は、（５）このプリンタ特定情報ＰＩを用いて、コピーガードコードＣＧＣＯ３（図１２参照）を生成するとともに、画像データであるコンテンツデータＣＤ全体を暗号化する。そして、（６）このコピーガードコードＣＧＣＯ３を、暗号化したコンテンツデータＤＣの先頭に挿入して、印刷ジョブデータ（図１１参照）を生成する。続いて、コンテンツサーバ４４は、（７）生成した印刷ジョブデータを、インターネット２０を介して、プリンタ３６に送信する。
【０１０２】
印刷ジョブデータを受信したプリンタ３６は、暗号解読処理部５２において、（８）印刷ジョブデータの先頭から、コピーガードコードＣＧＣＯ３を抜き取る。そして、（９）このコピーガードコードＣＧＣＯ３からプリンタ特定情報ＰＩを読み出し、この印刷ジョブデータがプリンタ３６用に生成された印刷ジョブデータであるかどうかを確認する。具体的には、暗号解読処理部５２において、この受信したプリンタ特定情報ＰＩが、プリンタ固有のＩＤと、プリンタ３６に管理者が任意割り付けた情報とからなるプリンタ解読キーで解読できるかどうかを確認し、解読できた場合には、解読して得られたプリンタ識別子が、プリンタ３６自身のものであるかどうかを確認する。解読したプリンタ識別子がプリンタ３６自身のものであることを示している場合には、（１０）インターネット２０を介して、コンテンツサーバ４４にコンテンツデータ解読キーを要求する。一方、解読したプリンタ識別子がプリンタ３６自身のものであることを示していない場合や、そもそも解読できない場合には、コンテンツデータ解読キーを要求することなく、この印刷処理を終了する。このため、プリンタ３６では、他のプリンタ用の印刷ジョブデータを受信したとしても、それを印刷することはできない。
【０１０３】
プリンタ３６からコンテンツデータ解読キーを要求されたコンテンツサーバ４４は、インターネット２０を介して、（１１）プリンタ３６にコンテンツデータ解読キーを送信する。このコンテンツデータ解読キーを受信したプリンタ３６は、暗号解読処理部５２において、暗号化されたコンテンツデータＣＤをコンテンツデータ解読キーを用いて解読する。そして、解読したコンテンツデータＣＤを、印刷部５４に送信する。これにより、（１２）印刷部５４で印刷が正常に実行される。
【０１０４】
以上、本実施形態に係る印刷システム１０における印刷処理を概略的に説明したが、次に、コンテンツサーバ４４及びプリンタ３６の個別の処理を詳しく説明する。
【０１０５】
まず、図１４に基づいて、コンテンツサーバ４４における印刷ジョブデータ生成処理について説明する。この図１４は、クライアントコンピュータ３４から画像データの印刷要求と印刷先プリンタの指定を受信したクライアントコンピュータ３４が実行する印刷ジョブデータ生成処理を説明するフローチャートである。
【０１０６】
図１４において、ステップＳ７０〜ステップＳ７３の処理は、上述した第１実施形態における図５のステップＳ１０〜ステップＳ１３の処理と、同様の処理である。すなわち、コンテンツサーバ４４は、印刷ジョブデータの送信先となるプリンタ３６に、インターネット２０を介して接続する（ステップＳ７０）。
【０１０７】
次に、コンテンツサーバ４４は、印刷先のプリンタ３６に接続できたかどうかを判断する（ステップＳ７１）。印刷先のプリンタ３６に接続できなかった場合（ステップＳ７１：Ｎｏ）には、この印刷ジョブデータ生成処理を終了する。
【０１０８】
一方、印刷先のプリンタ３６に接続できた場合（ステップＳ７１：Ｙｅｓ）には、コンテンツサーバ４４は、プリンタ３６に対して、プリンタを特定するためのプリンタ特定情報ＰＩを要求する（ステップＳ７２）。なお、このコンテンツサーバ４４とプリンタ３６との間のインターネット２０を介した接続は、この一連の印刷処理が終了するまで維持されるものとする。
【０１０９】
続いて、コンテンツサーバ４４は、プリンタ３６からプリンタ特定情報ＰＩを受信したかどうかを判断（ステップＳ７３）し、受信していない場合（ステップＳ７３：Ｎｏ）には、このステップＳ１３の処理を繰り返して待機する。
【０１１０】
続くステップＳ７４以降の処理は、上述した第１実施形態の処理と異なる。すなわち、プリンタ３６からインターネット２０を介して、プリンタ特定情報ＰＩを受信した場合（ステップＳ７３：Ｙｅｓ）には、コンテンツデータベース４６からユーザの選択したコンテンツデータを読み出し、このコンテンツデータ全体を暗号化処理する（ステップＳ７４）。そして、この暗号化の処理の際に、これを解読するためのコンテンツデータ解読キーを保持しておく（ステップＳ７５）。
【０１１１】
次に、コンテンツサーバ４４は、コピーガードコマンドＣＧＣＭ３に、プリンタ３６から受信したプリンタ特定情報ＰＩを付加することにより、コピーガードコードＣＧＣＯ３を生成する（ステップＳ７６）。続いて、コンテンツサーバ４４は、上記ステップＳ７４で暗号化したコンテンツデータＣＤの先頭に、コピーガードコードＣＧＣＯ３を付加して、印刷ジョブデータを生成する（ステップＳ７７）。以上により、本実施形態に係る印刷ジョブデータ生成処理が終了する。
【０１１２】
なお、本実施形態におけるプリンタ特定情報回答処理は、上述した第１実施形態における図７のプリンタ特定情報回答処理と同様の処理である。このため、ここではその詳しい説明は省略する。
【０１１３】
次に、図１５に基づいて、コンテンツサーバ４４における印刷ジョブデータ送信処理について説明する。この図１５は、上記図１４に示した印刷ジョブデータ生成処理を終了したコンテンツサーバ４４が実行する印刷ジョブデータ送信処理を説明するフローチャートである。つまり、図１４のステップＳ７７で印刷ジョブデータの生成が完了した場合に、コンテンツサーバ４４で実行される処理である。
【０１１４】
まず、図１５に示すように、コンテンツサーバ４４は、インターネット２０を介して、先頭に１つのコピーガードコードＣＧＣＯ３が挿入された印刷ジョブデータを、プリンタ３６に送信する（ステップＳ８０）。続いて、コンテンツサーバ４４は、プリンタ３６からコンテンツデータ解読キーの送信を要求されたかどうかを判断する（ステップＳ８１）。このコンテンツデータ解読キーの送信を要求されていない場合（ステップＳ８１：Ｎｏ）には、このステップＳ８１の処理を繰り返して待機する。
【０１１５】
プリンタ３６からコンテンツデータ解読キーの送信を要求された場合には、印刷の承認を兼ねて、プリンタ３６にコンテンツデータ解読キーを送信する（ステップＳ８２）。そして、本実施形態では、プリンタ３６にこの画像データの印刷を１回しか認めていないので、ステップＳ８２でコンテンツデータ解読キーを送信した場合には、これによりプリンタ３６で印刷が実行されたとみなして、これ以降、プリンタ３６からこの印刷ジョブデータについてのコンテンツデータ解読キーの送信要求があったとしても、受け付けないこととする。このため、プリンタ３６は、受信した印刷ジョブデータを１回に限り印刷することができるようになる。
【０１１６】
次に、図１６に基づいて、プリンタ３６における印刷ジョブデータ解読処理について説明する。この図１６は、上述した第１実施形態における図７のプリンタ特定情報回答処理を終了したプリンタ３６が実行する印刷ジョブデータ解読処理を説明するフローチャートである。つまり、本実施形態においても、印刷ジョブデータ解読処理は、図７のステップＳ３２でプリンタ解読キーを保持した後に実行される。
【０１１７】
まず、図１６に示すように、プリンタ３６は、コンテンツサーバ４４から印刷ジョブデータを受信したかどうかを判断する（ステップＳ９０）。印刷ジョブデータを受信していない場合（ステップＳ９０：Ｎｏ）には、このステップＳ９０の処理を繰り返して待機する。
【０１１８】
一方、コンテンツサーバ４４から印刷ジョブデータを受信した場合（ステップＳ９０：Ｙｅｓ）には、プリンタ３６は、印刷ジョブデータにコピーガードコードＣＧＣＯ３が挿入されているかどうかを確認する（ステップＳ９１）。具体的には、プリンタ３６は、印刷ジョブデータの先頭位置において、コピーガードコマンドＣＧＣＭ３が存在するかどうかを確認する。コピーガードコマンドＣＧＣＭ３が存在する場合には、この印刷ジョブデータにコピーガードコードＣＧＣＯ３が挿入されていることを示している。
【０１１９】
コピーガードコードＣＧＣＯ３が挿入されていない場合（ステップＳ９２：Ｎｏ）には、通常の印刷ジョブデータであるので、そのまま、この印刷ジョブデータを印刷部５４に送信する（ステップＳ９３）。これにより、通常の印刷が実行される。
【０１２０】
一方、コピーガードコードＣＧＣＯ３が挿入されている場合（ステップＳ９２：Ｙｅｓ）には、印刷ジョブデータの先頭にあるコピーガードコードＣＧＣＯ３からプリンタ特定情報ＰＩを抜き出して、ステップＳ３２（図７参照）で保持したプリンタ解読キーを用いて、プリンタ特定情報ＰＩを解読する（ステップＳ９４）。すなわち、プリンタ特定情報ＰＩを、プリンタ固有のＩＤと、プリンタ３６の管理者がこのプリンタ３６に任意に割り付けた情報とからなるプリンタ解読キーを用いて解読し、このプリンタ特定情報ＰＩからプリンタ識別子を取得する。
【０１２１】
次に、プリンタ３６は、プリンタ特定情報ＰＩを解読して取得したプリンタ識別子と、自己のプリンタ識別子とが、一致するかどうかを判断する（ステップＳ９５）。プリンタ特定情報ＰＩを解読して取得したプリンタ識別子と、自己のプリンタ識別子とが、一致しない場合や、そもそも解読できない場合（ステップＳ９５：Ｎｏ）には、この印刷ジョブデータは、このプリンタ３６のために生成されたデータではないので、この印刷ジョブデータ解読処理を終了する。
【０１２２】
プリンタ特定情報ＰＩを解読して取得したプリンタ識別子と、自己のプリンタ識別子とが、一致した場合（ステップＳ９５：Ｙｅｓ）には、インターネット２０を介して、コンテンツサーバ４４にコンテンツデータ解読キーを要求する（ステップＳ９６）。そして、プリンタ３６は、コンテンツサーバ４４からコンテンツデータ解読キーを受信したかどうかを判断し（ステップＳ９７）、受信していない場合（ステップＳ９７：Ｎｏ）には、このステップＳ９７の処理を繰り返して、受信するまで待機する。
【０１２３】
コンテンツサーバ４４からコンテンツデータ解読キーを受信した場合（ステップＳ９７：Ｙｅｓ）には、プリンタ３６は、そのコンテンツデータ解読キーを用いて、印刷ジョブデータに含まれているコンテンツデータＣＤを解読する（ステップＳ９８）。そして、この解読したコンテンツデータＣＤを、印刷ジョブデータとして印刷部５４に送信する（ステップＳ９９）。これにより、正常な画像データの印刷結果が得られる。
【０１２４】
以上のように、本実施形態に係る印刷システム１０によれば、コンテンツサーバ４４から送信された画像データの印刷ジョブデータをプリンタ３６が印刷する際に、プリンタ３６でのみ１回に限り印刷することができるようにしたので、コンテンツデータベース４６に蓄積された画像データの不正なコピー印刷を防止することができる。
【０１２５】
具体的には、プリンタ３６のプリンタ識別子を含むプリンタ特定情報ＰＩを、コンテンツサーバ４４からプリンタ３６に送信する印刷ジョブデータに含ませた。そして、プリンタ識別子が一致した場合にのみ、プリンタがその印刷ジョブデータを印刷するようにした。このため、プリンタ３６以外の他のプリンタが、この印刷ジョブデータを受信したとしても、印刷できないようにすることができる。
【０１２６】
しかも、このプリンタ特定情報ＰＩは、プリンタ３６の固有のＩＤと、プリンタ３６の管理者が任意に割り付けた情報とを組み合わせたプリンタ解読キーでしか解読できないようにしてあるので、プリンタ３６以外のプリンタがこの印刷ジョブデータを取得したとしても、プリンタ特定情報ＰＩを解読することができない。
【０１２７】
また、このような不正コピー印刷防止の機構のないプリンタであっても、コンテンツデータＣＤ全体が暗号化されているので、コンテンツサーバ４４からコンテンツデータ解読キーを取得しないと、正常な印刷ができない。
【０１２８】
また、コンテンツサーバ４４から印刷許可を兼ねたコンテンツデータ解読キーは、１度だけプリンタ３６に送信することとしたので、プリンタ３６で不正に複数枚の画像データのコピー印刷が行われてしまうのを、防止することができる。しかも、プリンタ３６では、このコンテンツデータ解読キーの要求は、プリンタ特定情報ＰＩに含まれるプリンタ識別子と、自らのプリンタ識別子とが一致した場合にのみ、コンテンツサーバ４４に送信するようにした。このため、コンテンツサーバ４４が生成した印刷ジョブデータの送信先と、実際に印刷をするプリンタとが一致した場合にのみ、コンテンツデータ解読キーを要求することができ、且つ、取得することができる。
【０１２９】
なお、本実施形態は、上記説明に限定されずに、種々に変形可能である。例えば、上述した実施形態では、プリンタ特定情報ＰＩを、プリンタ固有のＩＤと、プリンタ３６に管理者が割り付けた情報とからなるプリンタ解読キーで解読できるようにしたが、どちらか一方に基づいて暗号化し、解読できるようにしてもよい。但し、本実施形態のようにプリンタ固有のＩＤと、プリンタ３６に管理者が割り付けた情報との２つの情報が一致して初めて解読できるようにすることにより、プリンタ特定情報ＰＩの解読の困難性は向上する。一方、これとは反対に、プリンタ３６のプリンタ識別子を暗号化することなく、そのままプリンタ特定情報として、プリンタ３６からコンテンツサーバ４４に送信するようにしてもよい。これは、プリンタ識別子を暗号化してプリンタ特定情報ＰＩとせずとも、第三者が不正な意図を持って印刷ジョブデータを操作しなければ、コンテンツサーバ４４で特定したプリンタ以外では印刷できないことには変わりないからである。
【０１３０】
さらに加えて、本発明は、上述した第１及び第２実施形態に限定されずに、種々に変形可能である。例えば、上述した第１及び第２実施形態では、正当なプリンタ３６で１回だけコンテンツデータＣＤの印刷ができるようにしたが、２枚、３枚等の複数枚の印刷ができるようにしてもよい。これは、例えば、コンテンツサーバ４４からプリンタ３６に、コードポインタ解読キー又はコンテンツデータ解読キーを複数回送信するようにすればよい。このようにすれば、プリンタ３６では、このコードポインタ解読キー又はコンテンツデータ解読キーを受信した回数だけ、コンテンツデータＣＤの印刷ができるようになる。また、コンテンツサーバ４４からプリンタ３６に、コードポインタ解読キー又はコンテンツデータ解読キーを送信する際に、印刷可能枚数についての情報を含ませておくようにしてもよい。
【０１３１】
また、上述した第１及び第２実施形態においては、それぞれ、コードポインタ解読キーやコンテンツデータ解読キーを、コンテンツサーバ４４で保持し、プリンタ３６からの要求に基づいて、これらコードポインタ解読キー及びコンテンツデータ解読キーをプリンタ３６へ送信することとしたが、これらコードポインタ解読キーやコンテンツデータ解読キーは、必ずしもコンテンツサーバ４４で保持する必要はない。例えば、コンテンツサーバ４４とプリンタ３６との間で、予め、これらコードポインタ解読キーやコンテンツデータ解読キーについて取り決めをしておき、コンテンツサーバ４４からコードポインタ解読キーやコンテンツデータ解読キーを取得しなくとも、プリンタ３６で印刷ジョブデータを解読できるようにしておいてもよい。
【０１３２】
さらに、上述した第１及び第２実施形態においては、コンテンツデータＣＤが写真等の静止画像データであり、これをプリンタ３６で印刷する場合を例に説明したが、本発明はこれら条件に限定されるものではない。例えば、コンテンツデータＣＤは、動画像データ、音楽データ、音声データ等でもよく、その再現装置としては、テレビ、音楽／音声再生プレイヤ等でもよい。
【０１３３】
また、上述した第１及び第２実施形態で説明した各処理については、これら各処理を実行するためのプログラムをフロッピーディスク、ＣＤ−ＲＯＭ（Compact Disc-Read Only Memory）、ＲＯＭ、メモリカード等の記録媒体に記録して、記録媒体の形で頒布することが可能である。この場合、このプログラムが記録された記録媒体をクライアントコンピュータ３４やプリンタ３６、コンテンツサーバ４４に読み込ませ、実行させることにより、上述した実施形態を実現することができる。
【０１３４】
また、クライアントコンピュータ３４やプリンタ３６、コンテンツサーバ４４は、オペレーティングシステムや別のアプリケーションプログラム等の他のプログラムを備える場合がある。この場合、クライアントコンピュータ３４やプリンタ３６、コンテンツサーバ４４の備える他のプログラムを活用し、記録媒体にはこれらクライアントコンピュータ３４やプリンタ３６、コンテンツサーバ４４が備えるプログラムの中から、本実施形態と同等の処理を実現するプログラムを呼び出すような命令を記録するようにしてもよい。
【０１３５】
さらに、このようなプログラムは、記録媒体の形ではなく、ネットワーク（例えば、インターネット２０）を通じて搬送波として頒布することも可能である。
ネットワーク上を搬送波の形で伝送されたプログラムは、クライアントコンピュータ３４やプリンタ３６、コンテンツサーバ４４に取り込まれて、このプログラムを実行することにより上述した実施形態を実現することができる。
【０１３６】
また、記録媒体にプログラムを記録する際や、ネットワーク上を搬送波として伝送される際に、プログラムの暗号化や圧縮化がなされている場合がある。この場合には、これら記録媒体や搬送波からプログラムを読み込んだクライアントコンピュータ３４やプリンタ３６、コンテンツサーバ４４は、そのプログラムの復号化や伸張化を行った上で、実行する必要がある。
【０１３７】
【発明の効果】
以上説明したように、本発明によれば、印刷ジョブデータを受信したプリンタが、印刷ジョブデータのプリンタ特定情報に含まれるプリンタ識別子を読み出し、これが自らのプリンタ識別子と一致するかどうかを判断して、両者が一致する場合にのみ、コンテンツサーバに印刷許可を要求するとともに、プリンタから印刷許可を要求された場合に、コンテンツサーバからプリンタへ印刷許可を送信し、この印刷許可を受信したプリンタが、印刷ジョブデータに基づいて印刷を実行することとしたので、第三者が不正に印刷ジョブデータを印刷するのを防止することができる。
【０１３８】
また、本発明によれば、送信データを受信した再現装置が、送信データの再現装置特定情報に含まれる識別子を読み出し、これが自らの識別子と一致するかどうかを判断して、両者が一致する場合にのみ、コンテンツサーバに再現許可を要求するとともに、再現装置から再現許可を要求された場合に、コンテンツサーバから再現装置へ再現許可を送信し、この再現許可を受信した再現装置が、送信データに基づいて再現を行うようにしたので、第三者が不正にコンテンツデータを再現するのを防止することができる。
【図面の簡単な説明】
【図１】本発明の一実施形態に係る印刷システムのハードウェア構成の一例を示す図。
【図２】本発明の第１実施形態に係る印刷ジョブデータの構造の一例を示す図。
【図３】本発明の第１実施形態に係るコピーガードコードの構成の一例を示す図。
【図４】本発明の第１実施形態に係る印刷処理システムの印刷処理全体を概略的に説明するブロック図。
【図５】本発明の第１実施形態に係るコンテンツサーバで実行される印刷ジョブデータ生成処理を説明するフローチャート（その１）。
【図６】本発明の第１実施形態に係るコンテンツサーバで実行される印刷ジョブデータ生成処理を説明するフローチャート（その２）。
【図７】本発明の第１実施形態に係るプリンタで実行されるプリンタ特定情報回答処理を説明するフローチャート。
【図８】本発明の第１実施形態に係るコンテンツサーバで実行される印刷ジョブデータ送信処理を説明するフローチャート。
【図９】本発明の第１実施形態に係るプリンタで実行される印刷ジョブデータ解読処理を説明するフローチャート（その１）。
【図１０】本発明の第１実施形態に係るプリンタで実行される印刷ジョブデータ解読処理を説明するフローチャート（その２）。
【図１１】本発明の第２実施形態に係る印刷ジョブデータの構造の一例を示す図。
【図１２】本発明の第２実施形態に係るコピーガードコードの構成の一例を示す図。
【図１３】本発明の第２実施形態に係る印刷処理システムの印刷処理全体を概略的に説明するブロック図。
【図１４】本発明の第２実施形態に係るコンテンツサーバで実行される印刷ジョブデータ生成処理を説明するフローチャート。
【図１５】本発明の第２実施形態に係るコンテンツサーバで実行される印刷ジョブデータ送信処理を説明するフローチャート。
【図１６】本発明の第２実施形態に係るプリンタで実行される印刷ジョブデータ解読処理を説明するフローチャート。
【符号の説明】
１０  印刷システム
２０  インターネット
３０  ローカルエリアネットワーク
３２  プロキシサーバ
３４  クライアントコンピュータ
３６  プリンタ
４０  コンテンツ提供システム
４２  プロキシサーバ
４４  コンテンツサーバ
４６  コンテンツデータベース
ＣＤ  コンテンツデータ
ＣＧＣＯ１、ＣＧＣＯ２、ＣＧＣＯ３  コピーガードコード
ＣＧＣＭ１、ＣＧＣＭ２、ＣＧＣＭ３  コピーガードコマンド
ＰＩ  プリンタ特定情報
ＣＰ１、ＣＰ２  コードポインタ
５０  暗号化処理部
５２  暗号解読処理部
５４  印刷部
【図１】
0003700565.tif 000002
【図２】
0003700565.tif 000003
【図３】
0003700565.tif 000004
【図４】
0003700565.tif 000005
【図５】
0003700565.tif 000006
【図６】
0003700565.tif 000007
【図７】
0003700565.tif 000008
【図８】
0003700565.tif 000009
【図９】
0003700565.tif 000010
【図１０】
0003700565.tif 000011
【図１１】
0003700565.tif 000012
【図１２】
0003700565.tif 000013
【図１３】
0003700565.tif 000014
【図１４】
0003700565.tif 000015
【図１５】
0003700565.tif 000016
【図１６】
0003700565.tif 000017