(57)【要約】      （修正有）【課題】クラウドサーバに送出されるデータの帯域幅を減少し且つセキュリティを保持する方法を提供する。【解決手段】レンダリング装置１３５は、第１の形式の第１のページデータを受信し（２１６）、所定の属性を有する第１のページデータの一部分を除去し（２１０）、レンダリング装置のメモリに除去データを格納し（２０３）、第１の形式の変更された第１のページデータ２１７を生成するために第１のページデータに除去データに対する参照を挿入し（２１５）、変更された第１のページデータをクラウドサーバ１２０へ送信し（２２０）、挿入された参照を含む第２の形式の第２のページデータ２１８を形成し（２２５）、クラウドサーバ１２０から第２のページデータを受信し（２４０）、挿入された参照及びメモリに格納されたコピーデータを使用して第２のページデータを文書にレンダリングすることにより、第１のページデータ２０５を文書にレンダリングする。【選択図】図２
2014063481.tif 000002
【特許請求の範囲】
【請求項１】
１または複数の属性を有する第１のページデータを文書にレンダリングする方法であって、
メモリを有するレンダリング装置により、第１の形式の前記第１のページデータを受信するステップと、
前記レンダリング装置により、所定の属性を有する前記第１のページデータの一部分を除去するステップと、
前記レンダリング装置の前記メモリに前記除去データを格納するステップと、
前記レンダリング装置により、前記第１の形式の変更された第１のページデータを生成するために前記第１のページデータに前記除去データに対する参照を挿入するステップと、
前記変更された第１のページデータをプラットフォームサービス装置へ送信するステップと、
前記プラットフォームサービス装置により、前記変更された第１のページデータから前記挿入された参照を含む第２の形式の第２のページデータを形成するステップと、
前記レンダリング装置により、前記プラットフォームサービス装置から前記第２のページデータを受信するステップと、
前記レンダリング装置により、前記挿入された参照及び前記レンダリング装置の前記メモリに格納された前記格納データを使用して前記第２のページデータを前記文書にレンダリングするステップと、
を備えることを特徴とする方法。
【請求項２】
前記第１のページデータはグラフィックオブジェクトのセットを含むことを特徴とする請求項１記載の方法。
【請求項３】
前記第１のページデータは前記レンダリング装置により生成されることを特徴とする請求項１記載の方法。
【請求項４】
前記第１のページデータは、テキストデータである前記属性を有するいくつかのページデータ及び画像データである前記属性を有する他のページデータを含み、前記所定の属性はテキストデータである前記データに関することを特徴とする請求項１記載の方法。
【請求項５】
前記除去するステップ、前記挿入するステップ、前記格納するステップ、及び前記形成するステップのうちの１または複数のステップは、前記レンダリング装置及び前記プラットフォームサービス装置の少なくとも一方により、前記各ページデータの圧縮、前記各ページデータの伸張、及び前記各ページデータの色変換のうちの少なくとも１つを実行することを含むことを特徴とする請求項１記載の方法。
【請求項６】
前記第１のページデータが画像データを含む場合、前記画像データ内の画像は所定のサイズより小さい場合に前記プラットフォームサービス装置へ送信され、所定のサイズ以上である場合に前記レンダリング装置により処理されることを特徴とする請求項１記載の方法。
【請求項７】
レンダリング装置により１または複数の属性を有する第１のページデータを文書にレンダリングする方法であって、
第１の形式の前記第１のページデータを受信するステップと、
所定の属性を有する前記第１のページデータの一部分を除去するステップと、
前記レンダリング装置のメモリに前記除去データを格納するステップと、
前記第１の形式の変更された第１のページデータを生成するために前記第１のページデータに前記除去データに対する参照を挿入するステップと、
前記変更された第１のページデータをプラットフォームサービス装置へ送信するステップと、
前記挿入された参照を含み且つ前記プラットフォームサービス装置により前記変更された第１のページデータから形成された第２の形式の第２のページデータを前記プラットフォームサービス装置から受信し、前記レンダリング装置が前記挿入された参照及び前記レンダリング装置の前記メモリに格納されたコピーデータを使用して前記第２のページデータを前記文書にレンダリングするステップと、
を備えることを特徴とする方法。
【請求項８】
１または複数の属性を有する第１のページデータを文書にセキュアに印刷する方法であって、
メモリを有するレンダリング装置により、第１の形式の前記第１のページデータを受信するステップと、
所定のセキュリティ属性を満たす前記第１のページデータの一部分を除去し、前記除去データが前記レンダリング装置の前記メモリに格納されるステップと、
前記第１の形式の変更された第１のページデータを生成するために前記第１のページデータに前記除去データに対する参照を挿入するステップと、
前記変更された第１のページデータをプラットフォームサービス装置へ送信するステップと、
前記プラットフォームサービス装置を使用して、前記挿入された参照を含む第２の形式の第２のページデータを形成するステップと、
前記レンダリング装置により前記第２のページデータを受信し、前記レンダリング装置が前記挿入された参照及び前記レンダリング装置の前記メモリに格納された前記除去データを使用して前記第２のページデータを前記文書にレンダリングするステップと、
を備えることを特徴とする方法。
【請求項９】
１または複数の属性を有する第１のページデータを文書にレンダリングするシステムであって、
レンダリング装置と、
プラットフォームサービス装置と、
クライアント装置とを備え、前記レンダリング装置、前記プラットフォームサービス装置及び前記クライアント装置がネットワークを介して通信するように構成され、
前記レンダリング装置は、プロセッサと、
前記クライアント装置から第１の形式の前記第１のページデータを受信するステップと、
所定の属性を有する前記第１のページデータの一部分を除去するステップと、
前記レンダリング装置のメモリに前記除去データを格納するステップと、
前記第１の形式の変更された第１のページデータを生成するために前記第１のページデータに前記除去データに対する参照を挿入するステップと、
前記前記変更された第１のページデータをプラットフォームサービス装置へ送信するステップと、
を備える方法を実行するように前記プロセッサに命令するコンピュータ実行可能制御プログラムを格納するメモリとを備え、
前記プラットフォームサービス装置は、プロセッサと、前記変更された第１のページデータから前記挿入された参照を含む第２の形式の第２のページデータを形成するステップを備える方法を実行するように前記プロセッサに命令するコンピュータ実行可能クラウドプログラムを格納するメモリとを備え、
前記コンピュータ実行可能制御プログラムは、前記第２のページデータを受信するステップを実行するように前記レンダリング装置の前記プロセッサに命令するように更に構成され、
前記レンダリング装置は、前記挿入された参照及び前記レンダリング装置の前記メモリに格納されたコピーデータを使用して前記第２のページデータを前記文書にレンダリングすることを特徴とするシステム。
【請求項１０】
１または複数の属性を有する第１のページデータを文書にレンダリングするレンダリング装置であって、
プロセッサと、
第１の形式の前記第１のページデータを受信するステップと、
所定の属性を有する前記第１のページデータの一部分を除去するステップと、
前記レンダリング装置のメモリに前記除去データを格納するステップと、
前記第１の形式の変更された第１のページデータを生成するために前記第１のページデータに前記除去データに対する参照を挿入するステップと、
前記変更された第１のページデータをネットワークを介してプラットフォームサービス装置へ送信するステップと、
前記変更された第１のページデータから形成され且つ前記挿入された参照を含む第２の形式の第２のページデータを前記プラットフォームサービス装置から受信するステップと、
を実行するように前記プロセッサに命令するコンピュータ実行可能制御プログラムを格納するメモリとを備え、
前記コンピュータ実行可能制御プログラムは、前記挿入された参照及び前記レンダリング装置の前記メモリに格納されたコピーデータを使用して前記第２のページデータを前記文書にレンダリングするステップを実行するように前記レンダリング装置の前記プロセッサに命令するように更に構成されることを特徴とするレンダリング装置。
【請求項１１】
１または複数の属性を有する第１のページデータを文書にレンダリングする方法を実行するように１または複数のプロセッサに命令するコンピュータ実行可能プログラムを格納する非一時的なコンピュータ可読記憶媒体であって、前記方法は、
メモリを有するレンダリング装置により、第１の形式の前記第１のページデータを受信するステップと、
前記レンダリング装置により、所定の属性を有する前記第１のページデータの一部分を除去するステップと、
前記レンダリング装置の前記メモリに前記除去データを格納するステップと、
前記レンダリング装置により、前記第１の形式の変更された第１のページデータを生成するために前記第１のページデータに前記除去データに対する参照を挿入するステップと、
前記変更された第１のページデータをプラットフォームサービス装置へ送信するステップと、
前記プラットフォームサービス装置により、前記変更された第１のページデータから前記挿入された参照を含む第２の形式の第２のページデータを形成するステップと、
前記レンダリング装置により前記第２のページデータを受信し、前記レンダリング装置が前記挿入された参照及び前記レンダリング装置の前記メモリに格納されたコピーデータを使用して前記第２のページデータを前記文書にレンダリングするステップと、
を備えることを特徴とする非一時的なコンピュータ可読記憶媒体。
【請求項１２】
レンダリング装置により１または複数の属性を有する第１のページデータを文書にレンダリングする方法を実行するように１または複数のプロセッサに命令するコンピュータ実行可能プログラムを格納する非一時的なコンピュータ可読記憶媒体であって、前記方法は、
第１の形式の前記第１のページデータを受信するステップと、
所定の属性を有する前記第１のページデータの一部分を除去するステップと、
前記レンダリング装置のメモリに前記除去データを格納するステップと、
前記第１の形式の変更された第１のページデータを生成するために前記第１のページデータに前記除去データに対する参照を挿入するステップと、
前記変更された第１のページデータをプラットフォームサービス装置へ送信するステップと、
前記挿入された参照を含み且つ前記プラットフォームサービス装置により前記変更された第１のページデータから形成された第２の形式の第２のページデータを前記プラットフォームサービス装置から受信し、前記レンダリング装置が前記挿入された参照及び前記レンダリング装置の前記メモリに格納されたコピーデータを使用して前記第２のページデータを前記文書にレンダリングするステップと、
を備えることを特徴とする非一時的なコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にコンピュータグラフィックスに関し、特に、複数のグラフィックオブジェクトをレンダリングする方法に関する。
【背景技術】
【０００２】
クライアント装置１０５（図１を参照）上で実行する文書処理アプリケーション１１５等のコンピュータアプリケーションは、多くの場合、例えばディスプレイ又はプリンタである図１の１３５等のレンダリング装置に出力するために画素の色値にレンダリングされる必要のあるグラフィックを生成する。
【０００３】
そのようなコンピュータアプリケーション（以下において単に「コンピュータアプリケーション」と呼ぶ）は、一般に、ＡｄｏｂｅによるＰｏｓｔＳｃｒｉｐｔ又はＰＤＦ、あるいはＯｐｅｎ  ＸＭＬ  Ｐａｐｅｒ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ（ＯｐｅｎＸＰＳ）等の高レベルのページ記述言語（ＰＤＬ）を使用して、これらのグラフィック（以下において高レベルのグラフィックと呼ぶ）を指定する。あるいは、コンピュータアプリケーションは、ＭｉｃｒｏｓｏｆｔのＧＤＩ又はＧＤＩ＋等のグラフィックインタフェースを使用して、これらの高レベルのグラフィックを指定する。
【０００４】
レンダリングされる高レベルのグラフィックは、グラフィックオブジェクト又はコマンド（以下において高レベルのグラフィックコマンドと呼ぶ）を使用して記述される。レンダリング装置１３５がこれらの高レベルのグラフィックコマンドと関連付けられたオブジェクトをレンダリングするためには、自身がサポートすることを意図する各ＰＤＬ又はインタフェースにより提供される全ての高レベルのグラフィックコマンドを理解する必要がある。
【０００５】
更に、レンダリング装置は、走査変換及び合成を含む大量の処理を実行する必要がある。高レベルのグラフィックコマンドを効率的に処理するために、通常、レンダリング装置は大量の処理能力及び／又はメモリを必要とする。
【０００６】
レンダリング装置が複数の形式の高レベルのグラフィックコマンドをサポートする必要をなくす１つの方法は、高レベルのグラフィックコマンドをレンダリング装置により理解される低レベルのコマンドのセットに変換することである。通常、これは、コンピュータアプリケーション１１５が実行しているコンピュータ１０５にインストールされたドライバソフトウェアアプリケーション（以下においてドライバと呼ぶ）を使用して行われる。ドライバは、コンピュータアプリケーション１１５により生成された高レベルのグラフィックコマンドをレンダリング装置１３５により理解される形式に変換する。しかし、これには、レンダリング装置と通信する全てのコンピュータにドライバがインストールされる必要がある。
【０００７】
従来技術において説明されるコンピュータアプリケーション１１５を実行するコンピュータ１０５上で実行するドライバを必要としない１つの方法は、クラウドサーバ又はプラットフォームサービス装置として既知であるリモートサーバコンピュータ１２０上で実行するコンピュータアプリケーションを使用する。この方法において、レンダリング装置１３５は、クライアント装置１０５上で実行するコンピュータアプリケーション１１５からページにレンダリングされるデータを指定する情報を受信する。この情報（以下において「ページデータ」と呼ぶ）は、高レベルのグラフィックコマンドの形式である。レンダリング装置１３５はクラウドサーバ１２０にページデータを送出し、クラウドサーバ１２０はページデータをレンダリング装置１３５により理解される形式に変換する。これはクライアント装置１０５上にドライバが必要ないという利点を有し、更に、ページをレンダリングするために通常はレンダリング装置１３５により実行される大量の処理がクラウドサーバ１２０において実行される。
【０００８】
しかし、この手法はいくつかの欠点を有する。第１に、クラウドサーバ１２０に送出される必要のある高レベルのグラフィックコマンドが大量のデータ（特に画像データ）を含む場合、ページデータを最初にクラウドサーバ１２０に送出し、その後に再符号化してレンダリング装置１３５に送出する必要があるため、ページのレンダリング速度が遅い。第２の欠点は、ページ内のページデータが取り扱いに注意を必要とするか又は機密扱いされる場合があるため、セキュリティ上の理由により、ページデータをリモートサーバ１２０へ送信するべきでないことである。例えば機密情報が第３者により許可なくアクセスされるリスクを防ぐために、組織の外部と共有されてはいけない機密情報がレンダリングのためにリモートサーバ１２０に送出されるべきでないことは明らかである。
【発明の概要】
【発明が解決しようとする課題】
【０００９】
本発明の目的は、既存の構成の１または複数の欠点を実質的に克服するか又は少なくとも改善することである。
【課題を解決するための手段】
【００１０】
選択的データ置換（ＳＤＳ）構成と呼ぶ構成が開示される。これは、（ａ）レンダリングされるソース文書から特定の情報の属性に依存して当該情報を抽出することにより、ソース文書から変更文書を形成することと、（ｂ）除去された情報が格納される場所に対する参照を置換することと、（ｃ）（i）プロセッサ及びメモリを多く使用する処理を変更文書に対して実行して更に容易にレンダリング可能な文書を形成し且つ（ii）レンダリングするプリンタに更に容易にレンダリング可能な文書を送出するリモートクラウドサーバに変更文書を送出することとをプリンタ等のレンダリング装置に実行させ、プリンタが（ｄ）更に容易にレンダリング可能な文書に元々抽出された情報を組み込んだ後に（ｅ）当該文書をレンダリングすることにより、上記の問題を解決しようとする。
【００１１】
本発明の第１の態様によると、１または複数の属性を有する第１のページデータを文書にレンダリングする方法であって、
メモリを有するレンダリング装置により、第１の形式の第１のページデータを受信するステップと、
レンダリング装置により、所定の属性を有する前記第１のページデータの一部分を除去するステップと、
レンダリング装置のメモリに前記除去データを格納するステップと、
レンダリング装置により、第１の形式の変更された第１のページデータを生成するために第１のページデータに除去データに対する参照を挿入するステップと、
変更された第１のページデータをプラットフォームサービス装置へ送信するステップと、
プラットフォームサービス装置により、変更された第１のページデータから挿入された参照を含む第２の形式の第２のページデータを形成するステップと、
レンダリング装置により、プラットフォームサービス装置から第２のページデータを受信し、前記レンダリング装置が挿入された参照及びレンダリング装置のメモリに格納されたコピーデータを使用して第２のページデータを文書にレンダリングするステップと、
を備える方法が提供される。
【００１２】
本発明の別の態様によると、レンダリング装置により１または複数の属性を有する第１のページデータを文書にレンダリングする方法であって、
第１の形式の第１のページデータを受信するステップと、
所定の属性を有する前記第１のページデータの一部分を除去するステップと、
レンダリング装置のメモリに前記除去データを格納するステップと、
第１の形式の変更された第１のページデータを生成するために第１のページデータに除去データに対する参照を挿入するステップと、
変更された第１のページデータをプラットフォームサービス装置へ送信するステップと、
挿入された参照を含み且つプラットフォームサービス装置により変更された第１のページデータから形成された第２の形式の第２のページデータをプラットフォームサービス装置から受信し、前記レンダリング装置が挿入された参照及びレンダリング装置のメモリに格納されたコピーデータを使用して第２のページデータを文書にレンダリングするステップと、
を備える方法が提供される。
【００１３】
本発明の別の態様によると、１または複数の属性を有する第１のページデータを文書にセキュアに印刷する方法であって、
メモリを有するレンダリング装置により、第１の形式の第１のページデータを受信するステップと、
所定のセキュリティ属性を満たす前記第１のページデータの一部分を除去し、前記除去データがレンダリング装置のメモリに格納されるステップと、
第１の形式の変更された第１のページデータを生成するために第１のページデータに除去データに対する参照を挿入するステップと、
変更された第１のページデータをプラットフォームサービス装置へ送信するステップと、
プラットフォームサービス装置を使用して、挿入された参照を含む第２の形式の第２のページデータを形成するステップと、
レンダリング装置により第２のページデータを受信し、前記レンダリング装置が挿入された参照及びレンダリング装置のメモリに格納された除去データを使用して第２のページデータを文書にレンダリングするステップと、
を備える方法が提供される。
【００１４】
本発明の別の態様によると、１または複数の属性を有する第１のページデータを文書にレンダリングするシステムであって、
レンダリング装置と、
プラットフォームサービス装置と、
クライアント装置とを備え、レンダリング装置、プラットフォームサービス装置及びクライアント装置がネットワークを介して通信するように構成され、
レンダリング装置は、プロセッサと、
クライアント装置から第１の形式の第１のページデータを受信するステップと、
所定の属性を有する前記第１のページデータの一部分を除去するステップと、
レンダリング装置のメモリに前記除去データを格納するステップと、
第１の形式の変更された第１のページデータを生成するために第１のページデータに除去データに対する参照を挿入するステップと、
変更された第１のページデータをプラットフォームサービス装置へ送信するステップと、
を備える方法を実行するようにプロセッサに命令するコンピュータ実行可能制御プログラムを格納するメモリとを備え、
プラットフォームサービス装置は、プロセッサと、変更された第１のページデータから挿入された参照を含む第２の形式の第２のページデータを形成するステップを備える方法を実行するようにプロセッサに命令するコンピュータ実行可能クラウドプログラムを格納するメモリとを備え、
コンピュータ実行可能制御プログラムは、第２のページデータを受信するステップを実行するようにレンダリング装置のプロセッサに命令するように更に構成され、
前記レンダリング装置は、挿入された参照及びレンダリング装置のメモリに格納されたコピーデータを使用して第２のページデータを文書にレンダリングするシステムが提供される。
【００１５】
本発明の別の態様によると、１または複数の属性を有する第１のページデータを文書にレンダリングするレンダリング装置であって、
プロセッサと、
第１の形式の第１のページデータを受信するステップと、
所定の属性を有する前記第１のページデータの一部分を除去するステップと、
レンダリング装置のメモリに前記除去データを格納するステップと、
第１の形式の変更された第１のページデータを生成するために第１のページデータに除去データに対する参照を挿入するステップと、
変更された第１のページデータをネットワークを介してプラットフォームサービス装置へ送信するステップと、
変更された第１のページデータから形成され且つ挿入された参照を含む第２の形式の第２のページデータをプラットフォームサービス装置から受信するステップと、
を実行するようにプロセッサに命令するコンピュータ実行可能制御プログラムを格納するメモリとを備え、
コンピュータ実行可能制御プログラムは、挿入された参照及びレンダリング装置のメモリに格納されたコピーデータを使用して第２のページデータを文書にレンダリングするステップを実行するようにレンダリング装置のプロセッサに命令するように更に構成されるレンダリング装置が提供される。
【００１６】
本発明の別の態様によると、１または複数の属性を有する第１のページデータを文書にレンダリングする方法を実行するように１または複数のプロセッサに命令するコンピュータ実行可能プログラムを格納する非一時的なコンピュータ可読記憶媒体であって、前記方法は、
メモリを有するレンダリング装置により、第１の形式の第１のページデータを受信するステップと、
レンダリング装置により、所定の属性を有する前記第１のページデータの一部分を除去するステップと、
レンダリング装置のメモリに前記除去データを格納するステップと、
レンダリング装置により、第１の形式の変更された第１のページデータを生成するために第１のページデータに除去データに対する参照を挿入するステップと、
変更された第１のページデータをプラットフォームサービス装置へ送信するステップと、
プラットフォームサービス装置により、変更された第１のページデータから挿入された参照を含む第２の形式の第２のページデータを形成するステップと、
レンダリング装置により第２のページデータを受信し、前記レンダリング装置が挿入された参照及びレンダリング装置のメモリに格納されたコピーデータを使用して第２のページデータを文書にレンダリングするステップと、
を備える非一時的なコンピュータ可読記憶媒体が提供される。
【００１７】
本発明の別の態様によると、レンダリング装置により１または複数の属性を有する第１のページデータを文書にレンダリングする方法を実行するように１または複数のプロセッサに命令するコンピュータ実行可能プログラムを格納する非一時的なコンピュータ可読記憶媒体であって、前記方法は、
第１の形式の第１のページデータを受信するステップと、
所定の属性を有する前記第１のページデータの一部分を除去するステップと、
レンダリング装置のメモリに前記除去データを格納するステップと、
第１の形式の変更された第１のページデータを生成するために第１のページデータに除去データに対する参照を挿入するステップと、
変更された第１のページデータをプラットフォームサービス装置へ送信するステップと、
挿入された参照を含み且つプラットフォームサービス装置により変更された第１のページデータから形成された第２の形式の第２のページデータを前記プラットフォームサービス装置から受信し、前記レンダリング装置が挿入された参照及びレンダリング装置のメモリに格納されたコピーデータを使用して第２のページデータを文書にレンダリングするステップと、
を備える非一時的なコンピュータ可読記憶媒体が提供される。
【００１８】
本発明の他の態様が更に開示される。
【図面の簡単な説明】
【００１９】
【図１】図１は、ＳＤＳ構成の例が実現される画素レンダリングシステムを概略的に示すブロック図である。
【図２】図２は、ＳＤＳ構成の１つの例に係る入力ＰＤＬファイルをレンダリングする方法を概略的に示すフローチャートである。
【図３】図３は、ＳＤＳ構成の１つの例に係る画像リソースを抽出する方法を概略的に示すフローチャートである。
【図４】図４は、ＳＤＳ構成の１つの例に係る画像リソースが抽出されるべきかを判定する方法を概略的に示すフローチャートである。
【図５】図５は、ＳＤＳ構成の１つの例に係るテキストリソースを抽出する方法を概略的に示すフローチャートである。
【図６】図６は、ＳＤＳ構成の例が実現される入力ＰＤＬファイルの一例を示す図である。
【図７】図７は、ＳＤＳ構成の１つの例に係る変更された変更ＰＤＬファイルを示す図である。
【図８】図８は、ＳＤＳ構成の１つの例に係る変更された変更ＰＤＬファイルを示す図である。
【図９】図９は、ＳＤＳ構成の例が実現される入力ＰＤＬファイルの一例を示す図である。
【図１０】図１０は、図９に示す入力ＰＤＬファイルに対する出力を示す図である。
【図１１】図１１は、ＳＤＳ構成の１つの例に係る変更された変更ＰＤＬファイルを示す図である。
【図１２】図１２は、フィルマップ生成処理が示されるページの一例を示す図である。
【図１３】図１３は、図１２に示すページの一例に対するタイル状のフィルマップ中間表現を示す図である。
【図１４】図１４は、図１３に示すタイル状のフィルマップ中間表現に対するフィル合成シーケンステーブル及び対応するレベル情報を示す図である。
【図１５】図１５は、ＳＤＳ構成の例が実現される変更ページの一例を示す図である。
【図１６】図１６は、図１５に示すページの一例に対するタイル状のフィルマップ中間表現を示す図である。
【図１７】図１７は、図１６に示すタイル状のフィルマップ中間表現に対するフィル合成シーケンステーブル及び対応するレベル情報を示す図である。
【図１８】図１８は、図１６に示すタイル状のフィルマップ中間表現に対するレベル情報の別の形態を示す図である。
【図１９】図１９は、ＳＤＳ構成の１つの例に係るテキスト組み合わせ処理の一例を示す図である。
【図２０】図２０は、図１３に示すタイル状のフィルマップ中間表現に対するフィル合成シーケンステーブル及び対応する変更されたレベル情報を示す図である。
【図２１】図２１は、図１３に示すタイル状のフィルマップ中間表現に対する変更されたレベル情報の別の形態を示す図である。
【図２２】図２２は、ＳＤＳ構成の例が実現される別の画素レンダリングシステムを概略的に示すブロック図である。
【図２３】図２３は、ＳＤＳ構成の例が実現される属性テーブルの一例を示す図である。
【図２４Ａ】、
【図２４Ｂ】図２４Ａ及び図２４Ｂは、説明する種々のＳＤＳ構成が実現される汎用コンピュータシステム２４００を示す図である。
【図２５Ａ】、
【図２５Ｂ】、
【図２５Ｃ】、
【図２５Ｄ】、
【図２５Ｅ】、
【図２５Ｆ】、
【図２５Ｇ】、
【図２５Ｈ】図２５Ａ〜図２５Ｈは、フィルマップの構成において使用されるエッジ延長条件を示す図である。
【発明を実施するための形態】
【００２０】
以下の図面を参照して、本発明の１つ以上の実施形態を以下に説明する。
【００２１】
添付の図面のいずれか１または複数において同一の図中符号を有するステップ及び／又は特徴を参照する場合、特に指示のない限り、それらのステップ及び／又は特徴は説明の目的で同一の機能又は動作を有する。
【００２２】
尚、「背景技術」の節及び従来技術の構成に関する上記の節に含まれる説明は、各々の出版物及び／又は使用法を通じて周知の技術を形成する文献又は装置の説明に関する。そのような説明は、本発明の発明者又は特許出願人による表現と見なされるべきではなく、そのような文献又は装置は当該技術の一般常識の一部を何らかの形で形成する。
【００２３】
本発明の発明者は、クラウドサーバ１２０がレンダリングを支援する一方でクラウドサーバに送出されるデータの帯域幅を減少し且つセキュリティを保持する必要性があることを認識した。
【００２４】
図１は、開示されるＳＤＳ構成が実現されるコンピュータグラフィックオブジェクト画像をレンダリングする画素レンダリングシステム１００を概略的に示すブロック図である。画素レンダリングシステム１００は、モバイル装置（クライアント装置とも呼ぶ）１０５と、クラウドサーバ１２０（プラットフォームサービス装置とも呼ぶ）と、レンダリング装置１３５（以下の説明においてプリンタとして記述される）とを備える。レンダリング装置１３５は、各接続１０２、１０３及び１０１で示すように、インターネット１７０等の通信ネットワークを介してモバイル装置１０５及びクラウドサーバ１２０と通信するように構成される。
【００２５】
モバイル装置１０５は、ワードプロセッサ又はグラフィックソフトウェアアプリケーション等のソフトウェアアプリケーション１１５を実行するクライアントプロセッサ１１０を備える。
【００２６】
クラウドサーバ１２０は、レンダリングを支援するために使用されるＳＤＳクラウドプログラム１３０を実行するクラウドプロセッサ１２５を備える。
【００２７】
レンダリング装置１３５は、ＳＤＳ制御プログラム１４５を実行するコントローラプロセッサ１４０、画素レンダリング装置１６０、メモリ１６５及びプリンタエンジン１５５を備え、これらはバス１５０を介して結合される。画素レンダリング装置１６０は、バス１５０を介してコントローラプロセッサ１４０及びプリンタエンジン１５５に結合されたＡＳＩＣの形態であってもよい。画素レンダリング装置１６０は、コントローラプロセッサ１４０において実行されるソフトウェアで実現されてもよい。
【００２８】
画素レンダリングシステム１００において、クライアント装置１０５で実行するソフトウェアアプリケーション１１５は、ページベースの文書に対するページデータを作成する。そのような文書の各々は１または複数のページを含み、各ページに対するページデータはテキスト、線、フィル領域、及び画像データ等のオブジェクトを記述する。ソフトウェアアプリケーション１１５は、インターネット１７０を介してレンダリング装置１３５のコントローラプロセッサ１４０上で実行するＳＤＳ制御プログラム１４５に高レベルのグラフィックコマンドを含むページ記述言語（ＰＤＬ）ファイルの形態であるページデータの高レベルの記述を送出する。
【００２９】
クラウドサーバ１２０、クライアント装置１０５、及びレンダリング装置１３５の各々は、図２４Ａ及び図２４Ｂに関して以下に更に詳細に説明する、汎用コンピュータにおいて通常見られる構造及び機能モジュールの少なくともいくつかを備える。図２４Ａ及び図２４Ｂに関する詳細な説明は主にクラウドサーバ１２０に関するが、説明はクライアント装置１０５及びレンダリング装置１３５にも当てはまる。
【００３０】
図２４Ａ及び図２４Ｂは、説明する種々の構成が実現される汎用コンピュータシステム２４００を示す。
【００３１】
図２４Ａに示すように、コンピュータシステム２４００は、クラウドサーバ１２０であるコンピュータモジュールと、キーボード２４０２、マウスポインタ装置２４０３、スキャナ２４２６、カメラ２４２７及びマイク２４８０等の入力装置と、プリンタ２４１５、表示装置２４１４及びスピーカ２４１７を含む出力装置とを含む。外部変復調装置（モデム）送受信装置２４１６は、接続２４２１を介して通信ネットワーク１７０を通じてプリントシステム１３５及びクライアント装置１０５との間で通信するためにクラウドサーバ１２０により使用される。通信ネットワーク１７０は、インターネット、移動通信ネットワーク又はプライベートＷＡＮ等のワイドエリアネットワーク（ＷＡＮ）である。接続２４２１が電話線である場合、モデム２４１６は従来の「ダイヤルアップ式」モデムであってよい。あるいは、接続２４２１が大容量（例えば、ケーブル）接続である場合、モデム２４１６は広帯域モデムであってよい。無線モデムが通信ネットワーク１７０への無線接続のために更に使用されてもよい。
【００３２】
通常、クラウドサーバ１２０は、少なくとも１つの処理ユニット１２５とメモリユニット２４０６とを含む。例えばメモリユニット２４０６は、半導体ランダムアクセスメモリ（ＲＡＭ）及び半導体読み出し専用メモリ（ＲＯＭ）を有する。クラウドサーバ１２０は、ビデオディスプレイ２４１４、スピーカ２４１７及びマイク２４８０に結合するオーディオ／ビデオインタフェース２４０７と、キーボード２４０２、マウス２４０３、スキャナ２４２６、カメラ２４２７及びオプションでジョイスティック又は他のヒューマンインタフェース装置（不図示）に結合するＩ／Ｏインタフェース２４１３と、外部モデム２４１６及びプリンタ２４１５に対するインタフェース２４０８とを含む多くの入出力（Ｉ／Ｏ）インタフェースを更に含む。いくつかの実現例において、モデム２４１６は、例えばインタフェース２４０８内等のコンピュータモジュール１２０内に組み込まれる。コンピュータモジュール１２０は、接続２４２３を介してコンピュータシステム２４００をローカルエリアネットワーク（ＬＡＮ）として既知であるローカルエリア通信ネットワーク２４２２に結合させるローカルネットワークインタフェース２４１１を更に有する。図２４Ａに示すように、ローカルエリア通信ネットワーク２４２２は、通常はいわゆる「ファイアウォール」装置又は同様の機能性の装置を含む接続１０１を介してワイドエリアネットワーク１７０に更に結合してもよい。ローカルネットワークインタフェース２４１１は、イーサネット回路カード、Ｂｌｕｅｔｏｏｔｈ（登録商標）無線構成又はＩＥＥＥ８０２．１１無線構成を含むが、多くの他の種類のインタフェースがインタフェース２４１１に対して実現される。
【００３３】
Ｉ／Ｏインタフェース２４０８及び２４１３は、直列接続性及び並列接続性のいずれか又は双方を提供する。直列接続性は、通常、ユニバーサルシリアルバス（ＵＳＢ）規格に従って実現され、対応するＵＳＢコネクタ（不図示）を有する。記憶装置２４０９が提供され、これは通常はハードディスクドライブ（ＨＤＤ）２４１０を含む。フロッピディスクドライブ及び磁気テープドライブ（不図示）等の他の記憶装置が更に使用されてもよい。光ディスクドライブ２４１２は、通常、不揮発性データソースとして動作するために提供される。例えば光ディスク（例えば、ＣＤ−ＲＯＭ、ＤＶＤ、Ｂｌｕ−ｒａｙ（登録商標）  Ｄｉｓｃ）、ＵＳＢ−ＲＡＭ、ポータブル外部ハードドライブ及びフロッピディスク等のポータブルメモリ装置が、システム２４００に対する適切なデータソースとして使用されてもよい。
【００３４】
通常、クラウドサーバ１２０の構成要素１２５、２４０６及び２４０７〜２４１３は、結果として当業者には既知であるコンピュータシステム２４００の従来の動作モードになるように相互接続バス２４０４を介して通信する。例えばプロセッサ１２５は、接続２４１８を使用してシステムバス２４０４に結合される。同様に、メモリ２４０６及び光ディスクドライブ２４１２は接続２４１９によりシステムバス２４０４に結合される。説明する構成が実現されるコンピュータの例は、ＩＢＭ−ＰＣ及び互換機、Ｓｕｎ  Ｓｐａｒｃｓｔａｔｉｏｎｓ、Ａｐｐｌｅ  Ｍａｃ（登録商標）又は同様のコンピュータシステムを含む。
【００３５】
ＳＤＳ方法は、説明する図２〜図５、図１７〜図２１及び図２３の処理がコンピュータシステム２４００内で実行可能な１または複数のソフトウェアアプリケーションプログラム１３０及び１４５として実現されるコンピュータシステム２４００を使用して実現される。特に、ＳＤＳ方法のステップは、コンピュータシステム２４００内で実行されるソフトウェア１３０及び１４５内の命令２４３１（図２４Ｂを参照）により実現される。ソフトウェア命令２４３１は、各々が１または複数の特定のタスクを実行する１または複数のコードモジュール１３０及び１４５として形成される。ソフトウェアは２つの別個の部分に分割されてもよく、第１の部分及び対応するコードモジュールがＳＤＳ方法を実行し、第２の部分及び対応するコードモジュールが第１の部分とユーザとの間のユーザインタフェースを管理してもよい。
【００３６】
ソフトウェアは、例えば後述する記憶装置を含むコンピュータ可読媒体に格納される。ソフトウェアは、コンピュータ可読媒体からコンピュータシステム２４００にロードされた後にコンピュータシステム２４００により実行される。そのようなソフトウェア又はコンピュータプログラムが記録されたコンピュータ可読媒体はコンピュータプログラム製品である。コンピュータシステム２４００におけるコンピュータプログラム製品の使用は、ＳＤＳ方法を実行する有利な装置を実現するのに好ましい。
【００３７】
通常、ソフトウェア１３０はＨＤＤ２４１０又はメモリ２４０６に格納される。ソフトウェアは、コンピュータ可読媒体からコンピュータシステム２４００にロードされ、コンピュータシステム２４００により実行される。従って、例えばソフトウェア１３０は、光ディスクドライブ２４１２により読み出される光学可読ディスク記憶媒体（例えば、ＣＤ−ＲＯＭ）２４２５に格納される。そのようなソフトウェア又はコンピュータプログラムが記録されたコンピュータ可読媒体はコンピュータプログラム製品である。コンピュータシステム２４００におけるコンピュータプログラム製品の使用は、ＳＤＳ方法を実行する装置を実現するのに好ましい。
【００３８】
いくつかの例において、アプリケーションプログラム１３０及び１４５は、１または複数のＣＤ−ＲＯＭ２４２５上で符号化されてユーザに供給され且つ２４１２等の対応するドライブを介して読み出されてもよく、あるいはネットワーク１７０又は２４２２からユーザにより読み出されてもよい。更に、ソフトウェアは他のコンピュータ可読媒体からコンピュータシステム２４００にロードされてもよい。コンピュータ可読記憶媒体は、実行及び／又は処理のためにコンピュータシステム２４００に記録された命令及び／又はデータを提供する何らかの非一時的な有形記憶媒体を示す。そのような記憶媒体の例は、コンピュータモジュール１２０の内部であるか又は外部であるかに関係なく、フロッピディスク、磁気テープ、ＣＤ−ＲＯＭ、ＤＶＤ、Ｂｌｕ−ｒａｙ（登録商標）  Ｄｉｓｃ、ハードディスクドライブ、ＲＯＭ又は集積回路、ＵＳＢメモリ、光磁気ディスク、あるいはＰＣＭＣＩＡカード等のコンピュータ可読カードを含む。コンピュータモジュール１２０へのソフトウェア、アプリケーションプログラム、命令及び／又はデータの提供に同様に関係する一時的又は無形コンピュータ可読伝送媒体の例は、無線又は赤外線送信チャネル、別のコンピュータ又はネットワーク装置へのネットワーク接続、並びに電子メール送信及びウェブサイト等に記録された情報を含むインターネット又はイントラネットを含む。
【００３９】
上述のアプリケーションプログラム１３０の第２の部分及び対応するコードモジュールは、ディスプレイ２４１４上にレンダリングされるか又は表現される１または複数のグラフィカルユーザインタフェース（ＧＵＩ）を実現するために実行される。通常はキーボード２４０２及びマウス２４０３の操作を介して、コンピュータシステム２４００及びアプリケーションのユーザは、ＧＵＩに関連するアプリケーションに制御コマンド及び／又は入力を提供するために機能的に適合可能な方法でインタフェースを操作する。スピーカ２４１７を介して出力される音声プロンプト及びマイク２４８０を介して入力されるユーザの音声コマンドを利用するオーディオインタフェース等の機能的に適合可能なユーザインタフェースの他の形態が更に実現されてもよい。
【００４０】
図２４Ｂは、プロセッサ１２５及び「メモリ」２４３４の詳細な概略ブロック図である。メモリ２４３４は、図２４Ａのコンピュータモジュール１２０によりアクセスされる全てのメモリモジュール（記憶装置２４０９及び半導体メモリ２４０６を含む）の論理集合を表す。
【００４１】
最初にクラウドサーバ１２０に電源が投入されると、ポスト（ｐｏｗｅｒ−ｏｎ  ｓｅｌｆ−ｔｅｓｔ）プログラム２４５０が実行する。通常、ポストプログラム２４５０は、図２４Ａの半導体メモリ２４０６のＲＯＭ２４４９に格納される。ソフトウェアを格納したＲＯＭ２４４９等のハードウェア装置をファームウェアと呼ぶ場合がある。ポストプログラム２４５０は、適切な機能を保証するためにコンピュータモジュール１２０内のハードウェアを調べ、通常は、プロセッサ１２５、メモリ２４３４（２４０９、２４０６）、及び、通常はＲＯＭ２４４９に同様に格納される、正常な動作のための基本入出力システムソフトウェア（ＢＩＯＳ）モジュール２４５１をチェックする。ポストプログラム２４５０が正常に実行すると、ＢＩＯＳ２４５１は図２４Ａのハードディスクドライブ２４１０を起動する。ハードディスクドライブ２４１０が起動することにより、ハードディスクドライブ２４１０に常駐するブートストラップローダプログラム２４５２がプロセッサ１２５を介して実行する。これにより、オペレーティングシステム２４５３がＲＡＭメモリ２４０６にロードされ、動作を開始する。オペレーティングシステム２４５３は、プロセッサ管理、メモリ管理、装置管理、記憶装置管理、ソフトウェアアプリケーションインタフェース、及び汎用ユーザインタフェースを含む種々の高レベル機能を実現するためのプロセッサ１２５により実行可能なシステムレベルアプリケーションである。
【００４２】
オペレーティングシステム２４５３は、コンピュータモジュール１２０上で実行する各処理又はアプリケーションが別の処理に割り当てられたメモリと衝突せずに実行するのに十分なメモリを有することを保証するために、メモリ２４３４（２４０９、２４０６）を管理する。更に、図２４Ａのシステム２４００において使用可能な異なる種類のメモリは、各処理が効率よく実行するように適切に使用される必要がある。従って、集約メモリ２４３４は、メモリの特定のセグメントが割り当てられる方法を示すのではなく（特に明記しない限り）、コンピュータシステム２４００によりアクセス可能なメモリの全体図及びそれが使用される方法を提供することを意図する。
【００４３】
図２４Ｂに示すように、プロセッサ１２５は、制御部２４３９、論理演算装置（ＡＬＵ）２４４０、並びにキャッシュメモリと呼ばれる場合があるローカル又は内部メモリ２４４８を含む多くの機能モジュールを含む。通常、キャッシュメモリ２４４８は、レジスタ部内に多くの記憶レジスタ２４４４〜２４４６を含む。１または複数の内部バス２４４１は、これらの機能モジュールの機能を相互接続する。通常、プロセッサ１２５は、接続２４１８を使用してシステムバス２４０４を介して外部装置と通信するための１または複数のインタフェース２４４２を更に有する。メモリ２４３４は、接続２４１９を使用してバス２４０４に結合される。
【００４４】
アプリケーションプログラム１３０は、条件付き分岐命令及びループ命令を含む一連の命令２４３１を含む。プログラム１３０は、プログラム１３０の実行時に使用されるデータ２４３２を更に含む。命令２４３１は記憶場所２４２８、２４２９、２４３０に格納され、データ２４３２は記憶場所２４３５、２４３６、２４３７に格納される。命令２４３１及び記憶場所２４２８〜２４３０の相対サイズに依存して、特定の命令は、記憶場所２４３０内に示す命令により示されるように、単一の記憶場所に格納される。あるいは、命令は、記憶場所２４２８及び２４２９内に示す命令セグメントにより示されるように、各々が別個の記憶場所に格納される多くの部分に分割される。
【００４５】
一般に、プロセッサ１２５は、そこで実行される命令セットを与えられる。プロセッサ１２５は後続の入力を待ち、別の命令セットを実行することによりその後続の入力に対応する。各入力は、入力装置２４０２、２４０３の１または複数により生成されたデータ、ネットワーク１７０、２４２２の一方を介して外部ソースから受信されたデータ、記憶装置２４０６、２４０９の一方から検索されたデータ、あるいは対応する読取装置２４１２に挿入された記憶媒体２４２５から検索されたデータを含む多くのソースのうちの１または複数から提供される。これらは全て図２４Ａに示される。いくつかの例において、命令セットを実行した結果、データが出力される。実行は、メモリ２４３４にデータ又は変数を格納することを更に含む。
【００４６】
開示するＳＤＳ構成は、対応する記憶場所２４５５、２４５６、２４５７においてメモリ２４３４に格納される入力変数２４５４を使用する。ＳＤＳ構成は、対応する記憶場所２４６２、２４６３、２４６４においてメモリ２４３４に格納される出力変数２４６１を生成する。中間変数２４５８は、記憶場所２４５９、２４６０、２４６６、及び２４６７に格納される。
【００４７】
図２４Ｂのプロセッサ１２５を参照すると、レジスタ２４４４、２４４５、２４４６、論理演算装置（ＡＬＵ）２４４０、及び制御部２４３９は協働して、プログラム１３０を形成する命令セット内の各命令に対する「取り出し、復号化、及び実行」サイクルを実行するために必要な一連のマイクロ命令を実行する。各「取り出し、復号化、及び実行」サイクルは以下を含む：
記憶場所２４２８、２４２９、２４３０から命令２４３１を取り出すか又は読み出す取り出し動作
制御部２４３９が取り出された命令を判定する復号化動作
制御部２４３９及び／又はＡＬＵ２４４０が命令を実行する実行動作
【００４８】
その後、次の命令に対する更なる「取り出し、復号化、及び実行」サイクルが実行される。同様に、制御部２４３９が記憶場所２４３２に値を格納するか又は書き込む格納サイクルが実行される。
【００４９】
図２〜図５、図１７〜図２１及び図２３の処理における各ステップ又は副処理はプログラム１３０の１または複数のセグメントに関連し、前述したプログラム１３０のセグメントに対する命令セット内の各命令に対する「取り出し、復号化、及び実行」サイクルを実行するために協働するプロセッサ１２５内のレジスタ部２４４４、２４４５、２４４６、ＡＬＵ２４４０、及び制御部２４３９により実行される。
【００５０】
あるいは、ＳＤＳ方法は、ＳＤＳの機能又は副機能を実行する１または複数の集積回路等の専用ハードウェアで実現される。そのような専用ハードウェアは、グラフィックプロセッサ、デジタル信号プロセッサ又は１または複数のマイクロプロセッサ、及び関連するメモリを含む。
【００５１】
図２は、高レベルのページ記述を使用して表される入力ＰＤＬファイル２０５からのページデータを関連文書２１９のページにレンダリングするために、ＳＤＳ制御プログラム１４５及びＳＤＳクラウドプログラム１３０により使用されるレンダリング処理２００を概略的に示すフローチャートである。ＳＤＳ方法は、ＰＤＦ及びＭｉｃｒｏｓｏｆｔ  Ｗｏｒｄ等の事前に定義されたどんな種類の文書にも使用できる。ソフトウェアプログラム１３０、１４５、及び１１５は、処理される文書の種類と一致する必要がある。
【００５２】
本例において、処理２００のステップは、図２に示すようにレンダリング装置１３５とクラウドサーバ１２０との間で分散される。しかし、機能性の他の分散が使用されてもよい。
【００５３】
プリンタシステム１３５上で実行するＳＤＳ制御プログラム１４５は、矢印２１６で示すように、インターネット１７０を介してクライアント装置１０５から、レンダリングされるページの入力ページデータ記述ファイル２０５を受信する。ＰＤＬファイル２０５は、通常、レンダリング装置のメモリ１６５により実現されるレンダラデータ記憶装置２４５に格納される。
【００５４】
その後、処理２００は矢印２０１で示すようにデータ抽出処理２１０へ進む。データ抽出処理２１０は、入力ＰＤＬファイル２０５からデータをコピーし、矢印２０３で示すように、レンダリング装置のメモリ１６５又は別のローカルメモリ（不図示）内に位置するレンダラデータ記憶装置２４５にコピーデータ２２４を格納する。レンダラデータ記憶装置２４５に格納されるページデータの例は、ソース画像、ソースフィル及びテキストデータである。１つのＳＤＳ構成において、レンダラデータ記憶装置２４５は画像記憶装置２４６及びテキスト記憶装置２４７を備える。
【００５５】
データ抽出処理２１０において、追加情報がクラウドサーバ１２０から得られる。データ抽出処理２１０は、矢印２０４で示すように、ネットワーク１７０及び各接続１０２、１０１を介してクラウドサーバ１２０上で実行するＳＤＳクラウドプログラム１３０が使用可能なフォント／画像情報２２１をクエリすることにより、この情報を取得する。この情報は、抽出データ２２４の形成又は入力ページデータ２０５からデータをコピーする必要があるかの判定のいずれかにおいて使用される。従って、例えば図５のステップ５３０において、バウンディングボックス及び高度ベクトル等のフォント情報がクラウドサーバ１２０から検索される。別の例において、フォント／画像情報２２１をクエリすることにより、図４のステップ４４０において、必要な画像色空間変換はクラウドサーバ１２０により形成される補助データを使用して実行可能であり、従って、ソース画像データを抽出してローカルに格納できると判定される。
【００５６】
ＰＤＬファイル２０５内のページデータの部分は、ステップ２１０により「セキュア」又は「非セキュア」のいずれかであると識別される。１つのＳＤＳ構成において、識別はページデータの種類に基づいて属性テーブルをルックアップすることにより行われる。
【００５７】
図２３は、属性テーブル２３０５の一例を示す。属性テーブルの例（すなわち、２３０５）において、テキストデータ（すなわち、２３１０）は「セキュア」（すなわち、２３１５）とマークされ、画像データ（すなわち、２３２０）は「非セキュア」（すなわち、２３２５）とマークされ且つ全ての他のデータの種類（すなわち、２３３０）は「非セキュア」（すなわち、２３３５）とマークされることがわかる。セキュアデータと識別されたページデータは、元のデータが再構成される形式でもＳＤＳクラウドプログラム１３０へ送信されず、非セキュアデータであるページデータは、クラウドサーバ１２０上で実行するＳＤＳクラウドプログラム１３０へ送信される。ＳＤＳ構成は、ＰＤＬファイル内のページデータにおける可逆的に保存される必要のある高帯域幅データ又は高品質データ等の他の種類のデータを識別し、これらのデータの種類の属性に依存して、クラウドサーバ１２０へ送信できるデータ及びクラウドサーバ１２０へ送信するべきでないデータを決定する。
【００５８】
１つのＳＤＳ構成において、入力ページデータ２０５内のテキストデータはセキュアと識別され、画像データは非セキュアとしてマークされる。これにより、機密テキスト情報はサーバ１２０に送出されず且つ画像データは必要に応じてサーバ１２０に送出されることが保証される。別のＳＤＳ構成において、画像データはセキュアとしてマークされるが、これは、画像に対して行う必要のある何らかの処理が、プリンタのようなレンダリング装置１３５によりサポートされ且つ実行されなければならないことを意味する。例えば本来の画像形式の伸張又は色空間変換である何らかの処理動作が、プリンタのようなレンダリング装置１３５においてサポートされない場合、ページは正確にレンダリングされない。更なる別のＳＤＳ構成において、テキストデータは非セキュアとしてマークされる。これにより、ページデータに含まれる全ての意味テキストデータはクラウドサーバ１２０へ送信される。データ抽出処理２１０を以下に更に詳細に説明する。
【００５９】
ＳＤＳ制御プログラム１４５がデータ抽出処理２１０を完了すると、処理２００は矢印２０２で示すようにページ変更処理２１５へ進む。ページ変更処理２１５は、データ抽出処理２１０により入力ＰＤＬファイルからコピーされたデータ２２４の全てを除去し、データ抽出処理２１０においてコピーされ且つレンダラデータ記憶装置２４５に格納されたコピーデータ２２４に対する参照を入力ＰＤＬファイル２０５に挿入して、コピーされたデータをコピーデータに対する参照に置換することにより、入力ＰＤＬファイル２０５を変更する。ページ変更処理２１５は、変更されたページデータを含む変更ＰＤＬファイル２１７を生成する。図６〜図１１を参照して、ページ変更処理２１５を以下に更に詳細に説明する。
【００６０】
変更ＰＤＬファイルがページ変更処理２１５により生成されると、処理２００は矢印２０６に従ってＰＤＬ送信処理２２０へ進む。ＰＤＬ送信処理２２０は、矢印２０７で示すように、接続１０２、１０１を介してインターネット１７０を通じてクラウドサーバ１２０のクラウドプロセッサ１２５において実行するＳＤＳクラウドプログラム１３０に変更ＰＤＬファイル２１７を送出する。
【００６１】
クラウドサーバ１２０上で実行するＳＤＳクラウドプログラム１３０が変更ＰＤＬファイル２１７を受信すると、クラウドプログラム１３０は、中間形式への変換処理２２５を使用して変更ＰＤＬファイル２１７を処理する。この処理２２５は、フィルマップ及びフィル合成シーケンステーブルを含む中間形式ファイル２１８を生成する。フィル合成シーケンステーブルは、レンダリング装置１３５内のレンダラデータ記憶装置２４５に格納されたコピーデータ２２４に対する参照を含む。図１３及び図１４に関して、フィルマップ及びフィル合成シーケンステーブルを以下に更に詳細に説明する。
【００６２】
中間形式ファイル２１８の作成において、ＳＤＳクラウドプログラム１３０は、サーバ１２０又はレンダリング装置１３５のいずれかにおけるメモリ制限又は他のシステム制限を超過することを回避するために、変更ＰＤＬファイルの一部を画素にレンダリングする必要がある場合がある。この場合、クラウドサーバは、矢印２９０で示すように、レンダラデータ記憶装置２４５に格納されたデータを要求し且つそれにアクセスする必要がある。レンダリング装置１３５からクラウドサーバ１２０へ送信されるデータに対する制約が存在する。従って、１つの例において、セキュアとしてマークされないデータのみがレンダラデータ記憶装置２４５からＳＤＳクラウドプログラム１３０へ送信される。変更ＰＤＬを画素にレンダリングするためにセキュアとしてマークされるデータが必要である場合、ＳＤＳクラウドプログラム１３０はレンダリング装置１３５にエラーを返し、制御プログラム１４５は終了する。
【００６３】
フィルマップ及びフィル合成シーケンステーブルから構成される中間形式ファイル２１８が生成された後、処理２００は矢印２０８で示すように補助データ生成処理２３０へ進む。補助データ生成処理２３０は、データ変換処理２４０においてレンダラデータ記憶装置２４５に格納されたコピーデータ２２４を処理するためにレンダリング装置１３５により使用される補助データ２２２を生成する。補助データ２２２は、色空間変換情報及びフォント情報を含む。補助データ生成処理２３０を以下に更に詳細に説明する。
【００６４】
補助データ２２２が生成されると、処理２００は矢印２０９で示すように、中間形式送信処理２３５へ進む。矢印２１１で示すように、中間形式送信処理２３５は、インターネット１７０を介してレンダリング装置１３５に中間形式ファイル２１８（すなわち、フィルマップ及びフィル合成シーケンステーブル）及び補助データ２２２から構成される中間形式送信ファイル２２３を送出する。
【００６５】
レンダリング装置１３５が、（ａ）矢印２１１で示すように、中間形式ファイル２１８及び補助データ２２２を受信し、且つ（ｂ）矢印２１２で示すように、レンダラデータ記憶装置２４５に格納されたコピーデータ２２４を受信すると、レンダリング装置１３５は、データ変換処理２４０において補助データ２２２とレンダラデータ記憶装置２４５に格納された抽出データ２２４とを組み合わせる。データ変換処理２４０は、抽出データ２２４がレンダリング可能な形態であることを保証する。これは、画素レンダリング装置１６０が中間形式ファイル２１８をレンダリングするために使用できるように抽出データがフォーマットされることを意味する。例えば補助データ２２２がレンダラデータ記憶装置２４５に格納された画像と共に使用される色空間変換命令セットを含む場合、色空間変換が画像に適用される。その結果、レンダリングに対する正確な色空間に存在する画像が得られる。図１９に関して、データ変換処理２４０を以下に更に詳細に説明する。
【００６６】
抽出データ２２４が処理２４０によりフォーマットされると、処理２００は矢印２１３に従ってデータ組み込み処理２４８へ進む。データ組み込み処理２４８は、中間形式ファイル２１８内の参照を参照に関連付けられた抽出データに置換する。これにより、レンダリング可能な中間形式ファイル２１９が生成される。図２０及び図２１に関して、データ組み込み処理２４８を以下に更に詳細に説明する。
【００６７】
レンダリング可能な中間形式ファイル２１９が生成されると、処理２００は矢印２１４に従って中間形式レンダリング処理２５０へ進む。この処理において、画素レンダリング装置１６０は、更新されたフィルマップ及びフィル合成シーケンステーブル（すなわち、レンダリング可能な中間形式ファイル２１９）を使用して、ページデータを画素２２６にレンダリングする。画素レンダリング装置１６０の出力は画素データ２２６であり、これは物理印刷媒体又はディスプレイ上でページデータを文書ページ１５６へレンダリングするためにプリンタエンジン１５５により使用される。
【００６８】
データ抽出処理２１０は、入力ＰＤＬファイル２０５からソースページデータをコピーするために使用され、コピーされたソースページデータ２２４はレンダラデータ記憶装置２４５にローカルに格納される。好適なＳＤＳ構成において、入力ＰＤＬファイル２０５からコピーされるコピーソースページデータ２２４は、ソース画像データ及びソーステキストデータから構成される。ページ変更処理２１５は、抽出処理２１０によりコピーされたデータを入力ＰＤＬファイル２０５から除去することにより、クラウドサーバ１２０上で実行するＳＤＳクラウドプログラム１３０に送出する必要のあるファイル２１７のサイズを減少する。入力ＰＤＬファイル２０５からテキストデータを抽出することは、クラウドサーバ１２０が入力ＰＤＬファイル２０５のテキストコンテンツにアクセスできないことを意味する。尚、ＰＤＬファイル２０５内の画像データは通常は非セキュアとしてマークされ、必要に応じてクラウドサーバ１２０へ送信されることを意味する。テキストデータは通常はセキュアとしてマークされ、クラウドサーバ１２０に送出されないことを意味する。
【００６９】
図３は、レンダリング装置１３５により実行されるデータ抽出処理２１０の一部として入力ＰＤＬファイル２０５から画像データをコピーするために使用されるソース画像データ抽出処理３００を示すシーケンスフローチャートである。ソース画像抽出処理３００は、入力ＰＤＬファイル２０５からソースページデータの一部であるソース画像データをコピーし、レンダラデータ記憶装置２４５内に位置する画像記憶装置２４６に当該データを格納する。ソース画像データはコピーデータ２２４の一部を形成する。
【００７０】
処理３００はステップ３１０から開始する。処理３００は矢印３０１に従って次のステップ３１５へ進み、レンダラデータ記憶装置２４５内の画像記憶装置２４６がプロセッサ１４０により初期化される。画像記憶装置２４６は、入力ＰＤＬファイル２０５からコピーされたソース画像データを格納するために使用される。処理３００は矢印３０２に従ってステップ３２０へ進み、ＳＤＳ制御プログラム１４５の指示に従うプロセッサ１４０は、入力ＰＤＬファイルが未処理のソース画像データを含むかを判定する。ステップ３２０において、未処理のソース画像データが存在しないと判定される場合、ソース画像抽出処理３００は「ＮＯ」矢印３０３に従ってステップ３２５において終了する。
【００７１】
ステップ３２０において、処理する更なるソース画像データが存在すると判定される場合、処理３００は「ＹＥＳ」矢印３０４に従ってステップ３３０へ進み、制御プログラム１４５の指示の下、プロセッサ１４０は入力ＰＤＬファイル２０５からコピーするために次のソース画像を取得する。
【００７２】
ＰＤＦ形式の入力ファイルを使用する１つのＳＤＳ構成において、処理３３０は、問題の文書に関連付けられるページ木をトラバースして(traverse)関係のあるページを見つけ、それらのページに対して、関連付けられたリソースディクショナリをトラバースして、ファイルをレンダリングするために使用できる全ての画像のＸＯｂｊｅｃｔリソースを見つけることにより実現される。これは、何らかの形態のＸＯｂｊｅｃｔリソースの再帰トラバースを必要とする場合がある。ＰＤＦ画像リソースは、圧縮されてもされなくてもよいソース画素データと画像リソース色空間とから構成される。画像に対する格納色空間は、親透明グループのＸＯｂｊｅｃｔ又はページグループ色空間から判定される。同様の技術は、他のＰＤＬ形式を使用するファイルからソース画像を取得するために使用される。
【００７３】
ソース画像が処理３３０により取得されると、処理３００は矢印３０５に従ってステップ３３５へ進み、プロセッサ１４０は、処理３３０により検索されたソース画像をレンダラデータ記憶装置２４５内の画像記憶装置２４６に格納できるかを判定する。図４に関して、ステップ３３５において使用される判定処理を以下に更に詳細に説明する。
【００７４】
ステップ３３５において、ソース画像を画像記憶装置２４６に格納できないと判定される場合、「ＮＯ」矢印３０６に従って処理３２０に戻る。ソース画像を画像記憶装置２４６に格納できる場合、「ＹＥＳ」矢印３０７に従ってステップ３４０へ進む。ステップ３４０において、ソース画像は画像記憶装置２４６に格納される。その後、処理３００は矢印３０８に従ってステップ３２０に戻る。
【００７５】
図４は、ソース画像格納判定副処理３３５（図３を参照）を更に詳細に示すシーケンスフローチャートである。処理はステップ４０５から開始し、矢印４５０に従ってステップ４１０へ進み、プロセッサ１４０はファイル２０５内のソース画像データがＳＤＳ制御プログラム１４５により読み取り可能な形式であるかを判定する。ＳＤＳの１つの例において、ＳＤＳ制御プログラム１４５が認識しない圧縮形式をソース画像が使用する場合、ソース画像はＳＤＳ制御プログラム１４５により読み取り不能であり、画像記憶装置２４６に格納されない。読み取り不能な画像は、図２の矢印２０７で示すようにクラウドサーバ１２０に送出され、クラウドサーバ１２０は、画像を伸張し、レンダリング装置１３５上でレンダリングするのに適した形式に再符号化する。これは、中間形式への変換処理２２５において行われる。画像がクラウドサーバ１２０上のフォント／画像情報２２１内のサポートされる画像形式のリストを有するかを判定する１つの可能な方法が続く。ソース画像の形式は入力ＰＤＬファイル２０５により指定され、ＳＤＳ制御プログラム１４５は、特定のソース画像が読み取り可能な形式であるかを判定するために、データ抽出処理２１０においてサポートされる形式のリストを問い合わせる。同様に、中間形式への変換処理２２５において、クラウドサーバは、画像を再符号化するために使用するのに適切な形式を判定するためにリストを問い合わせる。
【００７６】
ステップ４１０においてソース画像データが制御プログラム１４５により読み取り不能であると判定される場合、「ＮＯ」矢印４５１に従ってステップ４１５へ進む。ステップ４１５において、プロセッサ１４０によりＳＴＯＲＥ＿ＯＮ＿ＤＥＶＩＣＥフラグがＦＡＬＳＥに設定される。ＳＴＯＲＥ＿ＯＮ＿ＤＥＶＩＣＥフラグをＦＡＬＳＥに設定することは、ソース画像が画像記憶装置２４６に格納されないことをソース画像抽出副処理３３５に対して示す。その後、ソース画像格納判定副処理３３５は矢印４６０に従ってステップ４２０において終了する。
【００７７】
あるいは、ステップ４１０において、ソース画像がＳＤＳ制御プログラム１４５により読み取り可能であると判定される場合、「ＹＥＳ」矢印４５２に従ってステップ４２５へ進み、プロセッサ１４０はソース画像が画像記憶装置２４６に格納するためのサイズ条件を満たすかを判定する。１つのＳＤＳ構成において、ソース画像データは所定の最小サイズより大きい場合のみ画像記憶装置２４６に追加される。これは、小さい画像は抽出して画像記憶装置２４６にローカルに格納するよりクラウドサーバ１２０に送出する方が効率的である場合が多いためである。ソース画像が所定の最小サイズより小さいと判定される場合、上述のように「ＮＯ」矢印４５３に従ってステップ４１５へ進む。
【００７８】
あるいは、ステップ４２５においてソース画像データが所定の最小サイズより大きいと判定される場合、「ＹＥＳ」矢印４５４に従ってステップ４３０へ進み、プロセッサ１４０は画像が色空間変換を必要とするかを判定する。ソース画像がファイル２０５において提供される色空間が画像をレンダリングするためにレンダリング装置１３５により使用される色空間と同一ではない場合、画像は色空間変換を必要とする。画像が色空間変換を必要としないと判定される場合、すなわちソース画像がファイル２０５において提供される色空間が画像をレンダリングするためにレンダリング装置１３５により使用される色空間と同一である場合、「ＮＯ」矢印４５８に従ってステップ４４５へ進む。ステップ４４５において、ＳＴＯＲＥ＿ＯＮ＿ＤＥＶＩＣＥフラグがＴＲＵＥに設定される。ＳＴＯＲＥ＿ＯＮ＿ＤＥＶＩＣＥフラグをＴＲＵＥに設定することは、ソース画像が画像格納装置２４６に格納されることをソース画像抽出副処理３３５に示す。その後、ソース画像格納判定副処理３３５は矢印４５９に従ってステップ４２０において終了する。
【００７９】
あるいは、ステップ４３０においてソース画像が色空間変換を必要とすると判定される場合、「ＹＥＳ」矢印４５５に従ってステップ４４０へ進み、プロセッサ１４０は色空間変換がレンダリング装置１３５上のＳＤＳ制御プログラム１４５により実行可能であるか否かを判定する。制御プログラム１４５が色空間変換を実行できる色空間変換ソフトウェアを有する場合又はレンダリング装置１３５上で実行するＳＤＳ制御プログラム１４５が画像の色空間変換を行うために使用できる色空間変換データをクラウドサーバ１２０上で実行するＳＤＳクラウドプログラム１３０が作成できる場合、色空間変換はＳＤＳ制御プログラム１４５により実行可能である。色空間変換ソフトウェアがＳＤＳ制御プログラム１４５に存在する場合、制御プログラム１４５は画像の色空間及び格納色空間を調べ、色空間変換が上述の色空間変換ソフトウェアにより実行可能であるかを判定する。色空間変換を実行できない場合又は色空間変換ソフトウェアがレンダリング装置に存在しない場合、制御プログラム１４５は、図２の矢印２０４で示すようにインターネット１７０を介してクラウドサーバに接続し、クラウドプログラム１３０が画像に対する色空間変換データを作成できるかを判定する。レンダリング装置１３５は、ソース画像及びソース画像をレンダリングするためにレンダリング装置１３５により使用される色空間の双方に対する色空間情報をクラウドプログラム１３０に提供する。クラウドプログラム１３０は、ソース画像に対する色空間変換データを作成できるか否かを示すことにより応答する。
【００８０】
制御プログラム１４５が色空間変換を実行できず且つクラウドプログラム１３０が画像に対する色空間変換データを作成できない場合、ステップ４４０は画像の色空間変換を行えないと判断する。この場合、上述のように「ＮＯ」矢印４５６に従ってステップ４４０からステップ４１５へ進む。あるいは、制御プログラム１４５が色空間変換を実行できるか又はクラウドプログラム１３０が画像に対する色空間変換データを作成できる場合、ステップ４４０において、画像の色空間変換は制御プログラム１４５上で行うことができると判断される。その後、ソース画像格納判定副処理３３５は「ＹＥＳ」矢印４５７に従ってステップ４４５へ進み、矢印４５９に従ってステップ４２０において終了する。
【００８１】
図３に戻ると、ステップ３３５において画像を画像記憶装置２４６に格納できると制御プログラム１４５が判定すると、「ＹＥＳ」矢印３０７に従ってステップ３４０へ進み、ソース画像が画像記憶装置２４６に格納されることがわかる。好適なＳＤＳ構成において、入力ＰＤＬファイル２０５内のソース画像は、伸張動作を適用することにより生画素値に伸張し且つＳＤＳ制御プログラム１４５により実行可能な何らかの必要な色空間変換を生画素値に適用することにより格納される。その後、画像データは圧縮され、画像記憶装置２４６に格納される。あるいは、ソース画像が圧縮され、画像圧縮形式が画像記憶装置２４６により使用されるデータ形式と互換性を有し且つ制御プログラム１４５による色空間変換が不要である場合、圧縮されたソース画像は画像記憶装置２４６に直接コピーされる。画像記憶装置２４６に格納された各画像は、後で変更処理２１５において使用される一意の画像ＩＤを提供される。
【００８２】
図５は、データ抽出処理２１０の一部として入力ＰＤＬファイル２０５からテキストデータをコピーするために使用されるソーステキスト抽出副処理５０１を示すシーケンスフローチャートである。ソーステキスト抽出副処理５０１は、入力ＰＤＬファイル２０５からソーステキストデータをコピーし、レンダラデータ記憶装置２４５内に位置するテキスト記憶装置２４７に当該データを格納する。処理５０１はステップ５１０から開始して矢印５０２に従ってステップ５１５へ進み、テキスト記憶装置２４７がプロセッサ１４０により初期化される。その後、矢印５０３に従ってステップ５２０へ進み、プロセッサ１４０は入力ＰＤＬファイル２０５が未処理のソーステキストリソースを含むかを判定する。ステップ５２０において、未処理のソーステキストデータが存在しないと判定される場合、ソーステキスト抽出副処理５０１は「ＮＯ」矢印５０４に従ってステップ５２５において終了する。
【００８３】
ステップ５２０において、処理する更なるソーステキストリソースが存在すると判定される場合、「ＹＥＳ」矢印５０５に従ってステップ５３０へ進み、プロセッサ１４０は、次のソーステキストリソースと、ページ上でテキストを配置、変倍及び回転するために使用される変換行列が存在する場合はそれとを取得する。当該情報がステップ５３０により取得されると、矢印５０６に従ってステップ５３５へ進み、ＳＤＳ制御プログラム１４５はテキストリソースに対するバウンディングボックスを定義するページデータを作成する。バウンディングボックスに対するページデータが作成されると、矢印５０７に従ってステップ５４０へ移動し、テキストデータ及びバウンディングボックス情報がテキスト記憶装置２４７に格納される。制御プログラム１４５は、ＰＤＬファイル内のテキストリソースとテキストデータ記憶装置２４７に格納されたテキストデータとを関連付ける。好適なＳＤＳ構成において、制御プログラム１４５は、ＰＤＬファイル２０５におけるテキストリソースのファイル場所を記録することによりこれを行い、このファイル場所をテキストデータと共にテキストデータ記憶装置２４７に格納する。
【００８４】
ＰＤＬ２０５がＰＤＦ形式の入力ファイルである場合のソーステキスト抽出副処理５３０の一実現例は、以下のように説明される。最初に、テキスト記憶装置２４７が初期化された後、ＰＤＦ入力ファイルのページ木をトラバースして関係のあるページを見つけ、それらのページに対して、ページに対するリソースディクショナリ及びページ上で使用される全てのＸＯｂｊｅｃｔをトラバースして、レンダリングにおいて使用される全てのフォントを取得する。フォントの一例はＨｅｌｖｅｔｉｃａである。ページ上で使用されるフォント毎に、フォント識別子がバウンディングボックス及びデフォルトのフォントサイズのフォントに対する高度ベクトル情報と共にテキスト記憶装置２４７に格納される。本構成において使用されるデフォルトのフォントサイズは１ポイントである。このバウンディングボックス及び高度ベクトル情報は、フォントに対する単一の最大バウンディングボックス及び高度ベクトルであってもよく、フォントにおける各文字に対するバウンディングボックス及び高度ベクトルであってもよく、あるいは、フォントにおけるいくつかの文字に対して特定のバウンディングボックス及び高度ベクトルが与えられるが他の全ての文字に対して最大バウンディングボックス及び高度ベクトルが使用される場合はそれらの何らかの組み合わせであってもよい。フォントに対するバウンディングボックス及び高度ベクトルは、クラウドサーバ１２０上で実行するクラウドプログラム１３０が使用可能なフォント情報２２１をクエリすることにより取得される。別の構成において、フォント情報は、テキスト記憶装置２４７がステップ５１５において初期化される際にテキスト記憶装置２４７に追加されるのではなく、各テキストリソースが取得される際にステップ５３０において追加される。取得されたテキストリソースに対する現在のフォントがテキスト記憶装置２４７に存在しない場合、テキスト記憶装置のデータは新しいフォントを用いて更新される。
【００８５】
ソーステキストデータがテキスト記憶装置２４７に追加されると、プロセッサ１４０はＰＤＦファイル２０５のコンテンツストリームの構文解析を開始する。構文解析において、プロセッサ１４０はテキストリソースをページ上に配置するために使用される現在の変換行列を記録する。ＰＤＦにおいて、変換行列は、行列を変更するコマンド、ＰＤＦのグラフィック状態の変化、あるいは現在のテキストに対してのみ行列を変更する特定のテキスト行列コマンドのいずれかにより変更される。制御プログラム１４５は、使用中の現在のフォント及びフォントサイズを更に記録する。ＰＤＦにおいて、フォント及びフォントサイズは特定のフォント命令により変更される。その場合、個々のペイント列命令毎に、プロセッサ１４０は各テキストリソースのテキスト列及び開始位置を取得する。
【００８６】
テキストリソースが取得されると、テキスト記憶装置２４７に格納されたバウンディングボックス及び高度ベクトル情報を使用して、テキストリソースに対するバウンディングボックスを作成する。その後、このバウンディングボックスは、現在の変換行列と乗算され且つテキストリソースを描くために使用されるフォントサイズにより変倍されて、ページ上にペイントされる際のテキストリソースに対する最終バウンディングボックスが取得される。この最終バウンディングボックスは、テキストを描くために使用されるテキスト列、フォント及びフォントサイズと共にテキスト記憶装置２４７に格納される。
【００８７】
図２に戻ると、データ抽出処理２１０が完了すると、ページ変更処理２１５へ進む。この処理において、入力ファイル２０５からコピーされ且つレンダラデータ記憶装置２４５に格納されたテキスト／画像リソースはＰＤＬファイル２０５から除去され、格納データに対する参照に置換される。これは、制御プログラム１４５が入力ＰＤＬファイル２０５の一部を変更することを必要とする。あるいは、制御プログラム１４５はＰＤＬファイルを完全に書き換える。
【００８８】
所定のＰＤＬ形式が外部のテキスト又は画像データに対する参照をサポートする場合、外部データを参照するために、格納データに対する参照は適切な標準形式を使用してＰＤＬファイルに挿入される。あるいは、カスタムタグがＰＤＬファイルに挿入される。ＰＤＦ形式を使用する場合に画像データに対する参照を挿入する方法の２つの例、及びテキストデータに対する参照を挿入する方法の１つの例を以下に示す。
【００８９】
図６に示す一例のＰＤＦファイル６１０を考慮する。ＰＤＦファイル６１０は単一の画像オブジェクト６２０を含み、その画像データはＸＯｂｊｅｃｔストリーム６３０内に含まれる。
【００９０】
ステップ２１０及び２１５によるソース画像のコピー、格納、及び変更の第１の実現例を図７の変更ＰＤＦファイル７１０に示す（図２の変更ファイル２１７を更に参照）。ＳＤＳ構成は、外部ファイルに対する参照７２０を変更ＰＤＦファイル７１０に挿入するために、標準的なＰＤＦ形式を使用する。外部ファイルは、レンダラデータ記憶装置２４５内に位置する画像記憶装置２４６内の格納画像である。尚、画像のＸＯｂｊｅｃｔ内の／Ｌｅｎｇｔｈフィールド７３０及びＸＯｂｊｅｃｔのストリーム７４０が更に変更された。この変更ＰＤＦ７１０はＰＤＦ規格に準拠し、外部画像をサポートし且つレンダラデータ記憶装置２４５に格納された画像にアクセスできるＰＤＦレンダラによりレンダリング可能である。
【００９１】
ステップ２１０及び２１５によるソース画像のコピー、格納、及び変更の第２の例を図８の変更ＰＤＦファイル８１０に示す。ＳＤＳ構成は、画像のＸＯｂｊｅｃｔに追加された格納画像に対する参照を含む独自のタグ８２０を挿入する。ＸＯｂｊｅｃｔのストリームは、単色のみを有するランレングス符号化画像８４０を含むように変更されている。単色は効率的に圧縮するため、本例では単色が使用される。尚、画像のＸＯｂｊｅｃｔの／Ｆｉｌｔｅｒフィールド８３０及び／Ｌｅｎｇｔｈフィールド８５０の双方が更に変更されている。この変更ＰＤＦはＰＤＦ規格に準拠し、ＰＤＦレンダラによりレンダリング可能である。しかし、抽出された画像ではなく単色の画像が出現することになる。
【００９２】
次に、図９に示す変更ＰＤＦファイルの例９１０を考慮する。ＰＤＦファイルは、リソース３  ０  ｏｂｊ（すなわち、９２０）において概要が示される２つのフォントＦ１３及びＦ１４を使用し、これらはそれぞれリソース６  ０  ｏｂｊ（すなわち、９３０）及び７  ０  ｏｂｊ（すなわち、９４０）を参照する。リソース６  ０  ｏｂｊ９３０はＨｅｌｖｅｔｉｃａフォントであり、リソース７  ０  ｏｂｊ９４０はＴｉｍｅｓ  Ｒｏｍａｎフォントである。ＰＤＦは、テキストを描く単一のオブジェクト、すなわち５  ０  ｏｂｊ（すなわち、９５０）を含む。オブジェクト５  ０  ｏｂｊ９５０は、３つの列を描くコンテンツストリームを含む。第１の列９６０は、変換行列１  ０  ０  １  １５０  ６００を用いてサイズ３０のＦ１３（Ｈｅｌｖｅｔｉｃａ）フォントを使用して描かれ、列「Ｔｈｅ  ｑｕｉｃｋ  ｂｒｏｗｎ  ｆｏｘ」を描く（図１０を参照）。第２の列９７０は、変換行列１  ０  ０  ２  １５０  ５５０を用いてサイズ１０のＦ１４（Ｔｉｍｅｓ  Ｒｏｍａｎ）フォントを使用して描かれ、列「ｊｕｍｐｅｄ  ｏｖｅｒ  ｔｈｅ  ｌａｚｙ  ｄｏｇ」を描く（図１０を参照）。第３の列９８０は、変換行列２  ０  ０  １  １５０  ５００を用いてサイズ１５のＦ１３（Ｈｅｌｖｅｔｉｃａ）フォントを使用して描かれ、列「Ｂｏｇｏｓｉｔｙ  Ｈｉｇｈ」を描く（図１０を参照）。このＰＤＦファイルの出力１０１０を図１０に示す。
【００９３】
ステップ２１０及び２１５によるテキストのコピー、格納、及び変更の第１の実現例を図１１の変更ＰＤＦファイル１１１０に示す。ＳＤＳ構成は、オブジェクト５  ０  ｏｂｊのコンテンツストリーム１１２０内の各テキスト列を、（ａ）レンダラデータ記憶装置２４５に格納された列に対する参照を含む独自のタグ、及び（ｂ）格納テキストに対する参照を含むバウンディングボックス（１１３０、１１４０、及び１１５０）に置換する。独自のタグ（１１６０、１１７０、１１８０）がフォントリソースオブジェクトに更に挿入された。これらのタグの各々は、ページ上で使用されるフォントサイズ及びフォント／フォントサイズの対に必要なグリフリストを示す。このグリフリストは、ページ上で使用されるグリフのみを含む必要がある。例えば多くのグリフが必要な場合、グリフリストはフォントにおける全てのグリフを単純に要求する。あるいは、グリフが殆ど使用されない場合、グリフリストから元の列を再構成することが可能であり、追加のグリフはセキュリティを強化するためにグリフセットに含まれてもよい。従って、特定のセキュリティ属性を有するデータはクラウドサーバ１２０に送出されない。「機密」属性を有する当該データはプリンタのようなレンダリング装置に格納され、文書の残りのデータは処理のためにクラウドに送出される。
【００９４】
変更ＰＤＬファイル２１７がクラウドサーバ１２０上で実行するクラウドプログラム１３０により受信される場合、クラウドプログラム１３０は変更ＰＤＬファイルを中間形式ファイル２１８へ変換する。ＳＤＳ構成の本例は、中間形式としてタイル状のフィルマップ形式を使用する。タイル状のフィルマップ形式を以下の節で詳細に説明する。
【００９５】
図１２は、３つのオブジェクトを含むページ１２１０の一例を示す。最下層のオブジェクト１２２０は不透明な菱形であり、下から２番目の層のオブジェクト１２３０は不透明なビットマップであり、最上層のオブジェクト１２４０は半透明なテキスト列「ＴＵＰＡＣ」である。ページ１２１０の例のタイル状のフィルマップ表現が構成される方法を図１３に関して説明する前に、フィルマップの簡単な説明を示す。
【００９６】
フィルマップは、ページの領域ベースの表現である。フィルマップは、ページ内の領域を当該領域内の各画素の色を生成するために使用されるフィル合成シーケンスにマッピングする。従って、領域内の全ての画素は当該領域に関連付けられるフィル合成シーケンスにマッピングされると言うことができる。フィルマップ内の複数の領域を同一のフィル合成シーケンスにマッピングできる。フィルマップ内の領域は別個であり、すなわち、領域は重なり合わない。従って、レンダリングされたページ内の各画素は単一の領域のみに属する。フィルマップ内の各領域は、領域の境界を示す画素の正確なフィルマップエッジのセットにより定義される。好適な実施形態において、領域に関するフィル合成シーケンスは、領域の左側（最小ｘ）の境界を示すエッジに関連付けられる。フィルマップページ表現は、効率的に圧縮される。圧縮方法の一例は、ｘオフセットのセットとしてエッジを表現した後にエントロピ符号化を使用してｘオフセットを圧縮することである。エントロピ符号化の１つの既知の方法はハフマン符号化である。フィルマップ圧縮は、フィルマップを送信するために必要な帯域幅及び送信時間を減少する。フィルマップを生成するために走査変換が実行されたため、フィルマップはＰＤＬページ表現よりレンダリングが単純である。
【００９７】
グラフィックオブジェクトを走査変換し且つ走査線毎に走査線に対するフィル合成シーケンスランのセットを判定することにより、ページはフィルマップに変換される。走査線におけるフィルマップエッジの位置は、対応するフィル合成シーケンスランが開始するｘ位置である。エッジが同一のフィル合成シーケンスをアクティブにし且つエッジ延長条件を満たす場合、エッジは走査線間で組み合わされる。エッジ延長条件の一例は、フィル合成シーケンスランがエッジによりアクティブにされる場合に第１の走査線が後続の走査線におけるエッジによりアクティブにされるフィル合成シーケンスランと重なり合うか又は接することである。このエッジ延長条件の例を図２５Ａ〜図２５Ｈに示す。図２５Ａ〜図２５Ｈにおいて、フィルマップエッジ２５１０及び２５２０により境界付けられる画素の範囲２５００を前の走査線２５３０上に示す。画素の境界２５５０により境界付けられるフィル合成シーケンスラン２５４０を現在の走査線２５６０上に示す。図２５Ａ〜図２５Ｆに示す例において、フィル合成シーケンスラン２５４０は画素の範囲２５００と重なり合うか又は接しており、エッジ延長条件は画素の境界２５００により満たされる。図２５Ｇ及び図２５Ｈに示す例において、フィル合成シーケンスラン２５４０が画素の範囲２５００と重なり合わず且つ接しないため、画素の境界２５５０はエッジ延長条件を満たさない。エッジ延長条件が満たされ且つ２つのエッジが同一のフィル合成シーケンスをアクティブにする場合、２つのエッジは単一のフィルマップエッジに組み合わされる。上記以外の場合、２つのフィルマップエッジが作成される。
【００９８】
図１３は、ページ１２１０の例のタイル状のフィルマップ表現１３１０を示す。フィルマップタイル１３２０は、（列，行）の形態で示される位置（１，２）に存在する。フィルマップ１３２０のコンテンツを図１３の右側に拡大して示す。フィルマップタイル１３２０内の３つの領域１３３０、１３４０、及び１３５０はそれぞれ、指標１、２、及び３を有するフィル合成シーケンスを参照する。
【００９９】
図１４は、タイル状のフィルマップ１３１０に対するフィル合成シーケンステーブル１４１０及び対応するレベル情報１４２０、１４３０、１４４０を示す。レベル情報＃１（すなわち、１４２０）は、不透明な菱形のオブジェクト１２２０に対応するレンダリング情報を含む。レベル情報＃１（すなわち、１４２０）は、不透明な菱形１２２０を塗りつぶすために使用される線形ブレンドフィル１４２２を参照し、合成演算子ＡＴＯＰ（すなわち、１４２１）を含む。レベル情報＃２（すなわち、１４３０）は、不透明で低解像度のソースビットマップオブジェクト１２３０に対応するレンダリング情報を含む。レベル情報＃２（すなわち、１４３０）は、低解像度のビットマップソースフィル１４３２を参照し、合成演算子ＯＶＥＲ１４３１を有する。レベル情報＃３（すなわち、１４４０）は、半透明なテキストオブジェクト１２４０に対応するレンダリング情報を含む。レベル情報＃３（すなわち、１４４０）は均一な灰色のソースフィル１４４２を参照し、合成演算子ＯＶＥＲ１４４１を有する。
【０１００】
図１５は、このＳＤＳ構成の１つの例においてクラウドプログラム１３０により受信される例示的なページ１２１０の変更バージョン１５１０を示す。変更ページ１５１０は３つのオブジェクトを含む。すなわち、最下層のオブジェクト１５２０は不透明な菱形であり、下から２番目の層のオブジェクト１５３０は外部ビットマップを参照する不透明な正方形であり、最上層のオブジェクト１５４０は外部テキスト列を参照するテキストバウンディングボックスである。尚、全てのテキストバウンディングボックスは、テキストを描くために使用されるフィルが透明であるかに関係なく、下層のオブジェクトとの合成を必要とするものとして処理される。これは、フィルマップがレンダリングされるまで下層のオブジェクトが保持されることを意味する。クラウドプログラム１３０は外部テキスト列がフィルマップに組み込まれるまでテキストにより隠される画素を判定できないため、これらのオブジェクトが必要とされる。
【０１０１】
図１６は、変更ページ１５１０の例のタイル状のフィルマップ表現１６１０を示す。フィルマップタイル１６２０は、（列，行）の形態で示される位置（１，２）に存在する。フィルマップタイル１６２０のコンテンツを図１６の右側に拡大して示す。フィルマップタイル１６２０内の３つの領域１６３０、１６４０、１６５０はそれぞれ、指標１、２、及び３を有するフィル合成シーケンスを参照する。
【０１０２】
図１７は、タイル状のフィルマップ１６１０に対するフィル合成シーケンステーブル１７１０及び対応するレベル情報１７２０、１７３０、１７４０を示す。レベル情報＃１Ｂ（すなわち、１７２０）は、不透明な菱形のオブジェクト１５２０に対応するレンダリング情報を含む。レベル情報＃１Ｂ（すなわち、１７２０）は、不透明な菱形１５２０を塗りつぶすために使用される線形ブレンドフィル１７２２を参照し、合成演算子ＡＴＯＰ１７２１を含む。レベル情報＃２Ｂ（すなわち、１７３０）は、外部のビットマップオブジェクト１５３０に対応するレンダリング情報を含む。レベル情報＃２Ｂ（すなわち、１７３０）は、レンダリング装置のメモリ１６５に格納された外部のビットマップソースフィル１７３２を参照し、合成演算子ＯＶＥＲ１７３１を有する。レベル情報＃３Ｂ（すなわち、１７４０）は、外部のテキストオブジェクト１５４０に対応するレンダリング情報を含む。レベル情報＃３Ｂ（すなわち、１７４０）は、テキストに色を付けるために使用される均一な灰色のソースフィル１７４２を参照し、合成演算子ＯＶＥＲ１７４１を有し、レンダラデータ記憶装置２４５に格納されたテキスト列であるテキストマスクフィル１７４３を参照する。
【０１０３】
図１８は、テキスト列、フィル色及び合成演算子が全てレンダラデータ記憶装置２４５に格納されるレベル情報＃３Ｂの別の例（すなわち、１８１０）を示す。この場合、レベル情報＃３Ｂ（すなわち、１８１０）は外部に格納されたテキストデータ１８１１に対する参照のみを含む。
【０１０４】
変更ＰＤＬに対するフィルマップが作成されると、クラウドプログラム１３０は、制御プログラム１４５が中間形式ファイル２１８をレンダリングするために必要とする何らかの補助データ２２２を作成する。この補助データ２２２は、補助データ生成処理２３０において作成される。好適なＳＤＳ構成において、この補助データはグリフデータ及び色空間変換データから構成される。グリフデータは、テキストデータ記憶装置２４７に格納されたテキストデータにおいて参照される各フォントに対するデータから構成される。色空間変換情報は、画像記憶装置２４６に格納されたソース画像をソース色空間からレンダリング装置１３５により使用される色空間に変換するために必要なデータを含む。図９に示すＰＤＬ入力ファイルの例の場合、この補助データは、Ｈｅｌｖｅｔｉｃａ３０ｐｔ、Ｈｅｌｖｅｔｉｃａ１５ｐｔ、及びＴｉｍｅｓ  Ｒｏｍａｎ１０ｐｔのフォントに対するグリフデータを含む。グリフデータは、フォントにおける各文字に対するデータから構成される。この文字データは、文字によりアクティブにされる画素を記述するビットマップ又はエッジセットのいずれかと、カーニング(Kerning)又は配置情報とから構成される。色空間変換情報の一例は、ソースビットマップをレンダリングに使用される正確な色空間に変換するために使用される動作を記述するルックアップテーブルである。
【０１０５】
中間形式ファイル２１８及び補助データ２２２の双方が作成されると、それらは、中間形式送信ファイル２２３及び矢印２１１で示すように、コントローラプロセッサ１４０において実行する制御プログラム１４５に送出される。当該データ２２３が制御プログラム１４５により受信される場合、制御プログラム１４５は、データ変換処理２４０において、補助データ２２２とレンダラデータ記憶装置２４５に格納された画像データ及びテキストデータとを組み合わせて、中間形式ファイル２１８をレンダリングするために使用できるレンダリング可能データ２１９を生成する。画像データの場合、この組み合わせステップ２４８は、ソース画像データの色空間をレンダリングに使用可能な色空間に変換するために、補助データ２２２と共に提供される何らかの色空間変換関数を使用することを含む。テキストデータの場合、レンダラデータ記憶装置２４５に格納されたテキスト列は、ビットマップフィルによりアクティブにされる画素セットを示す適切なフォントデータのテキストビットマップと組み合わされる。テキストビットマップは、ページ解像度又はソース解像度で生成される。ページ解像度の場合、単純な変換動作を使用してページの画素とテキストビットマップとの間のマッピングを行い、ソース解像度の場合、ページ−テキスト変換行列を使用してページの画素とテキストビットマップとの間のマッピングを行う。  
【０１０６】
テキスト列からテキストビットマップへの処理の一例を図１９に示す。テキスト組み合わせ処理２４８への入力は、Ｔｉｍｅｓ  Ｒｏｍａｎ１５ｐｔのフォントを使用する列「Ｏｍｅｇａ」に対応する格納テキストデータ１９１０と、列において使用される１５ｐｔのＴｉｍｅｓ  Ｒｏｍａｎフォントからの文字データ「Ｏ」（すなわち、１９２０）、「ｍ」（すなわち、１９３０）、「ｅ」（すなわち、１９４０）、「ｇ」（すなわち、１９５０）及び「ａ」（すなわち、１９６０）である。このデータは、組み込み処理２４８（図２を参照）の一部を形成するテキスト組み合わせ処理１９７０により組み合わされ、列「Ｏｍｅｇａ」１９９０を表すテキストビットマップが生成される。テキストの組み合わせは、文字の進行及びカーニング等の規則に従って列のバウンディングボックス内にグリフを配置するステップを含む。文字を組み合わせて列にすることの一例は、ＯｐｅｎＴｙｐｅ仕様書により与えられる。このビットマップはレンダラデータ記憶装置２４５に格納され、格納テキストデータ１９８０はテキストビットマップ１９９０を示すように更新される。
【０１０７】
レンダラデータ記憶装置２４５に格納された抽出データがレンダリング可能な形態に処理されると、データは組み込みステップ２４８において中間形式ファイルに組み込まれる。これは、フィルマップに対する対応するレベル情報における外部データに対する全ての参照をレンダラデータ記憶装置２４５に格納されたデータに置換することを含む。
【０１０８】
図２０は、タイル状のフィルマップ１６１０に対するフィル合成シーケンステーブル２０１０及び更新されたレベル情報２０２０、２０３０、２０４０を示す。外部画像データ１７３２に対する参照がレンダラデータ記憶装置２４５内に格納された実際の画像データ２０３１に対する参照に置換されたことがわかる。同様に、外部テキストマスク１７４３に対する参照はレンダラデータ記憶装置に格納されたテキストマスク２０４３に置換された。
【０１０９】
図２１は、上記で図１８に示した別のテキスト処理方法に対する更新されたレベル情報２１１０を示す。この場合、レベル情報＃３Ｂ（すなわち、２１１０）は、レンダラデータ記憶装置２４５に格納されたテキストデータ２１２０を指すように更新される。テキストデータ２１１０は、新規のテキストビットマップ２１３０を指すように更新される。
【０１１０】
レンダラに格納されたデータが中間形式ファイルに組み込まれると、結果として得られるレンダリング可能ファイル２１９は画素レンダリング装置１６０を使用して画素の色データ２２６にレンダリング可能である。フィルマップ形式ファイルのレンダリングは、各画素における適切なフィル合成シーケンスを評価することにより実行される。フィル合成シーケンス内のエントリがテキストビットマップを示す場合、適切な画素がビットマップ及びテストされた値から取得される。画素がアクティブである場合、ソースフィルが指定された合成演算子を使用して合成される。画素がアクティブでない場合、フィル合成シーケンス内のエントリは無視され、次のエントリが処理される。
【０１１１】
別の構成
図２２は、本発明のＳＤＳ構成の例が実現されるコンピュータグラフィックオブジェクト画像をレンダリングする別の画素レンダリングシステム２２００を概略的に示すブロック図である。
【０１１２】
画素レンダリングシステム２２００は、モバイル装置２２０５及びクラウドサーバ２２２０を備える。モバイル装置２２０５は、インターネット２２７０を介してクラウドサーバ２２２０と通信する。
【０１１３】
モバイル装置２２０５は、レンダリングを実行する制御プログラム２２４５とワードプロセッサ又はグラフィックソフトウェアアプリケーション等のソフトウェアアプリケーション２２１５との双方を実行するデバイスプロセッサ２２４０を備える。モバイル装置２２０５は、バス２２５０を介して結合される画素レンダリング装置２２６０及びメモリ２２６５を更に備える。画素レンダリング装置２２６０は、バス２２５０を介してデバイスプロセッサ２２４０に結合されるＡＳＩＣの形態であってもよい。画素レンダリング装置２２６０は、デバイスプロセッサ２２４０において実行するソフトウェアで実現されてもよい。画素レンダリング装置２２６０は、ディスプレイ又はプリンタエンジン等の出力装置に画素データを出力する。
【０１１４】
クラウドサーバ２２２０は、レンダリングを支援するために使用されるクラウドプログラム２２３０を実行するクラウドプロセッサ２２２５を備える。
【０１１５】
画素レンダリングシステム２２００において、モバイル装置２２０５において実行するソフトウェアアプリケーション２２１５は、各ページがテキスト、線、フィル領域及び画像データ等のオブジェクトを含むページベースの文書を作成する。ソフトウェアアプリケーション２２１５は、ページ記述言語（ＰＤＬ）ファイルの形態であるページの高レベルの記述を制御プログラム２２４５に渡す。制御プログラムは、インターネット２２７０を介して接触するクラウドプログラム２２３０に支援されてファイルをレンダリングする。
【産業上の利用可能性】
【０１１６】
説明した構成は、コンピュータ及びデータ処理産業に適用可能であり、特に印刷産業に適用可能である。
【０１１７】
上記の説明は本発明のいくつかの実施形態のみを示し、変更及び／又は変形は本発明の主旨の範囲から逸脱することなく行われる。実施形態は例示であって、限定するものではない。
【図１】
2014063481.tif 000003
【図２】
2014063481.tif 000004
【図３】
2014063481.tif 000005
【図４】
2014063481.tif 000006
【図５】
2014063481.tif 000007
【図６】
2014063481.tif 000008
【図７】
2014063481.tif 000009
【図８】
2014063481.tif 000010
【図９】
2014063481.tif 000011
【図１１】
2014063481.tif 000012
【図１８】
2014063481.tif 000013
【図２２】
2014063481.tif 000014
【図２３】
2014063481.tif 000015
【図２４Ａ】
2014063481.tif 000016
【図２４Ｂ】
2014063481.tif 000017
【図２５Ａ】
2014063481.tif 000018
【図２５Ｂ】
2014063481.tif 000019
【図２５Ｃ】
2014063481.tif 000020
【図２５Ｄ】
2014063481.tif 000021
【図２５Ｅ】
2014063481.tif 000022
【図２５Ｆ】
2014063481.tif 000023
【図２５Ｇ】
2014063481.tif 000024
【図２５Ｈ】
2014063481.tif 000025
【図１０】
2014063481.tif 000026
【図１２】
2014063481.tif 000027
【図１３】
2014063481.tif 000028
【図１４】
2014063481.tif 000029
【図１５】
2014063481.tif 000030
【図１６】
2014063481.tif 000031
【図１７】
2014063481.tif 000032
【図１９】
2014063481.tif 000033
【図２０】
2014063481.tif 000034
【図２１】
2014063481.tif 000035
【外国語明細書】
2014063481000001.pdf