JP2014063481A - クラウドにより支援されるレンダリング - Google Patents

クラウドにより支援されるレンダリング Download PDF

Info

Publication number
JP2014063481A
JP2014063481A JP2013171716A JP2013171716A JP2014063481A JP 2014063481 A JP2014063481 A JP 2014063481A JP 2013171716 A JP2013171716 A JP 2013171716A JP 2013171716 A JP2013171716 A JP 2013171716A JP 2014063481 A JP2014063481 A JP 2014063481A
Authority
JP
Japan
Prior art keywords
page data
data
rendering
rendering device
page
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2013171716A
Other languages
English (en)
Other versions
JP5653494B2 (ja
Inventor
Leigh Belbin Joseph
レイ ベルビン ジョゼフ
Craig Bozier Rolfe
クレイグ ボジアー ロルフェ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Publication of JP2014063481A publication Critical patent/JP2014063481A/ja
Application granted granted Critical
Publication of JP5653494B2 publication Critical patent/JP5653494B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F16/972Access to data in other repository systems, e.g. legacy data or dynamic Web page generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/106Display of layout of documents; Previewing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Processing Or Creating Images (AREA)
  • Information Transfer Between Computers (AREA)
  • Image Generation (AREA)

Abstract

【課題】クラウドサーバに送出されるデータの帯域幅を減少し且つセキュリティを保持する方法を提供する。
【解決手段】レンダリング装置135は、第1の形式の第1のページデータを受信し(216)、所定の属性を有する第1のページデータの一部分を除去し(210)、レンダリング装置のメモリに除去データを格納し(203)、第1の形式の変更された第1のページデータ217を生成するために第1のページデータに除去データに対する参照を挿入し(215)、変更された第1のページデータをクラウドサーバ120へ送信し(220)、挿入された参照を含む第2の形式の第2のページデータ218を形成し(225)、クラウドサーバ120から第2のページデータを受信し(240)、挿入された参照及びメモリに格納されたコピーデータを使用して第2のページデータを文書にレンダリングすることにより、第1のページデータ205を文書にレンダリングする。
【選択図】図2

Description

本発明は、一般にコンピュータグラフィックスに関し、特に、複数のグラフィックオブジェクトをレンダリングする方法に関する。
クライアント装置105(図1を参照)上で実行する文書処理アプリケーション115等のコンピュータアプリケーションは、多くの場合、例えばディスプレイ又はプリンタである図1の135等のレンダリング装置に出力するために画素の色値にレンダリングされる必要のあるグラフィックを生成する。
そのようなコンピュータアプリケーション(以下において単に「コンピュータアプリケーション」と呼ぶ)は、一般に、AdobeによるPostScript又はPDF、あるいはOpen XML Paper Specification(OpenXPS)等の高レベルのページ記述言語(PDL)を使用して、これらのグラフィック(以下において高レベルのグラフィックと呼ぶ)を指定する。あるいは、コンピュータアプリケーションは、MicrosoftのGDI又はGDI+等のグラフィックインタフェースを使用して、これらの高レベルのグラフィックを指定する。
レンダリングされる高レベルのグラフィックは、グラフィックオブジェクト又はコマンド(以下において高レベルのグラフィックコマンドと呼ぶ)を使用して記述される。レンダリング装置135がこれらの高レベルのグラフィックコマンドと関連付けられたオブジェクトをレンダリングするためには、自身がサポートすることを意図する各PDL又はインタフェースにより提供される全ての高レベルのグラフィックコマンドを理解する必要がある。
更に、レンダリング装置は、走査変換及び合成を含む大量の処理を実行する必要がある。高レベルのグラフィックコマンドを効率的に処理するために、通常、レンダリング装置は大量の処理能力及び/又はメモリを必要とする。
レンダリング装置が複数の形式の高レベルのグラフィックコマンドをサポートする必要をなくす1つの方法は、高レベルのグラフィックコマンドをレンダリング装置により理解される低レベルのコマンドのセットに変換することである。通常、これは、コンピュータアプリケーション115が実行しているコンピュータ105にインストールされたドライバソフトウェアアプリケーション(以下においてドライバと呼ぶ)を使用して行われる。ドライバは、コンピュータアプリケーション115により生成された高レベルのグラフィックコマンドをレンダリング装置135により理解される形式に変換する。しかし、これには、レンダリング装置と通信する全てのコンピュータにドライバがインストールされる必要がある。
従来技術において説明されるコンピュータアプリケーション115を実行するコンピュータ105上で実行するドライバを必要としない1つの方法は、クラウドサーバ又はプラットフォームサービス装置として既知であるリモートサーバコンピュータ120上で実行するコンピュータアプリケーションを使用する。この方法において、レンダリング装置135は、クライアント装置105上で実行するコンピュータアプリケーション115からページにレンダリングされるデータを指定する情報を受信する。この情報(以下において「ページデータ」と呼ぶ)は、高レベルのグラフィックコマンドの形式である。レンダリング装置135はクラウドサーバ120にページデータを送出し、クラウドサーバ120はページデータをレンダリング装置135により理解される形式に変換する。これはクライアント装置105上にドライバが必要ないという利点を有し、更に、ページをレンダリングするために通常はレンダリング装置135により実行される大量の処理がクラウドサーバ120において実行される。
しかし、この手法はいくつかの欠点を有する。第1に、クラウドサーバ120に送出される必要のある高レベルのグラフィックコマンドが大量のデータ(特に画像データ)を含む場合、ページデータを最初にクラウドサーバ120に送出し、その後に再符号化してレンダリング装置135に送出する必要があるため、ページのレンダリング速度が遅い。第2の欠点は、ページ内のページデータが取り扱いに注意を必要とするか又は機密扱いされる場合があるため、セキュリティ上の理由により、ページデータをリモートサーバ120へ送信するべきでないことである。例えば機密情報が第3者により許可なくアクセスされるリスクを防ぐために、組織の外部と共有されてはいけない機密情報がレンダリングのためにリモートサーバ120に送出されるべきでないことは明らかである。
本発明の目的は、既存の構成の1または複数の欠点を実質的に克服するか又は少なくとも改善することである。
選択的データ置換(SDS)構成と呼ぶ構成が開示される。これは、(a)レンダリングされるソース文書から特定の情報の属性に依存して当該情報を抽出することにより、ソース文書から変更文書を形成することと、(b)除去された情報が格納される場所に対する参照を置換することと、(c)(i)プロセッサ及びメモリを多く使用する処理を変更文書に対して実行して更に容易にレンダリング可能な文書を形成し且つ(ii)レンダリングするプリンタに更に容易にレンダリング可能な文書を送出するリモートクラウドサーバに変更文書を送出することとをプリンタ等のレンダリング装置に実行させ、プリンタが(d)更に容易にレンダリング可能な文書に元々抽出された情報を組み込んだ後に(e)当該文書をレンダリングすることにより、上記の問題を解決しようとする。
本発明の第1の態様によると、1または複数の属性を有する第1のページデータを文書にレンダリングする方法であって、
メモリを有するレンダリング装置により、第1の形式の第1のページデータを受信するステップと、
レンダリング装置により、所定の属性を有する前記第1のページデータの一部分を除去するステップと、
レンダリング装置のメモリに前記除去データを格納するステップと、
レンダリング装置により、第1の形式の変更された第1のページデータを生成するために第1のページデータに除去データに対する参照を挿入するステップと、
変更された第1のページデータをプラットフォームサービス装置へ送信するステップと、
プラットフォームサービス装置により、変更された第1のページデータから挿入された参照を含む第2の形式の第2のページデータを形成するステップと、
レンダリング装置により、プラットフォームサービス装置から第2のページデータを受信し、前記レンダリング装置が挿入された参照及びレンダリング装置のメモリに格納されたコピーデータを使用して第2のページデータを文書にレンダリングするステップと、
を備える方法が提供される。
本発明の別の態様によると、レンダリング装置により1または複数の属性を有する第1のページデータを文書にレンダリングする方法であって、
第1の形式の第1のページデータを受信するステップと、
所定の属性を有する前記第1のページデータの一部分を除去するステップと、
レンダリング装置のメモリに前記除去データを格納するステップと、
第1の形式の変更された第1のページデータを生成するために第1のページデータに除去データに対する参照を挿入するステップと、
変更された第1のページデータをプラットフォームサービス装置へ送信するステップと、
挿入された参照を含み且つプラットフォームサービス装置により変更された第1のページデータから形成された第2の形式の第2のページデータをプラットフォームサービス装置から受信し、前記レンダリング装置が挿入された参照及びレンダリング装置のメモリに格納されたコピーデータを使用して第2のページデータを文書にレンダリングするステップと、
を備える方法が提供される。
本発明の別の態様によると、1または複数の属性を有する第1のページデータを文書にセキュアに印刷する方法であって、
メモリを有するレンダリング装置により、第1の形式の第1のページデータを受信するステップと、
所定のセキュリティ属性を満たす前記第1のページデータの一部分を除去し、前記除去データがレンダリング装置のメモリに格納されるステップと、
第1の形式の変更された第1のページデータを生成するために第1のページデータに除去データに対する参照を挿入するステップと、
変更された第1のページデータをプラットフォームサービス装置へ送信するステップと、
プラットフォームサービス装置を使用して、挿入された参照を含む第2の形式の第2のページデータを形成するステップと、
レンダリング装置により第2のページデータを受信し、前記レンダリング装置が挿入された参照及びレンダリング装置のメモリに格納された除去データを使用して第2のページデータを文書にレンダリングするステップと、
を備える方法が提供される。
本発明の別の態様によると、1または複数の属性を有する第1のページデータを文書にレンダリングするシステムであって、
レンダリング装置と、
プラットフォームサービス装置と、
クライアント装置とを備え、レンダリング装置、プラットフォームサービス装置及びクライアント装置がネットワークを介して通信するように構成され、
レンダリング装置は、プロセッサと、
クライアント装置から第1の形式の第1のページデータを受信するステップと、
所定の属性を有する前記第1のページデータの一部分を除去するステップと、
レンダリング装置のメモリに前記除去データを格納するステップと、
第1の形式の変更された第1のページデータを生成するために第1のページデータに除去データに対する参照を挿入するステップと、
変更された第1のページデータをプラットフォームサービス装置へ送信するステップと、
を備える方法を実行するようにプロセッサに命令するコンピュータ実行可能制御プログラムを格納するメモリとを備え、
プラットフォームサービス装置は、プロセッサと、変更された第1のページデータから挿入された参照を含む第2の形式の第2のページデータを形成するステップを備える方法を実行するようにプロセッサに命令するコンピュータ実行可能クラウドプログラムを格納するメモリとを備え、
コンピュータ実行可能制御プログラムは、第2のページデータを受信するステップを実行するようにレンダリング装置のプロセッサに命令するように更に構成され、
前記レンダリング装置は、挿入された参照及びレンダリング装置のメモリに格納されたコピーデータを使用して第2のページデータを文書にレンダリングするシステムが提供される。
本発明の別の態様によると、1または複数の属性を有する第1のページデータを文書にレンダリングするレンダリング装置であって、
プロセッサと、
第1の形式の第1のページデータを受信するステップと、
所定の属性を有する前記第1のページデータの一部分を除去するステップと、
レンダリング装置のメモリに前記除去データを格納するステップと、
第1の形式の変更された第1のページデータを生成するために第1のページデータに除去データに対する参照を挿入するステップと、
変更された第1のページデータをネットワークを介してプラットフォームサービス装置へ送信するステップと、
変更された第1のページデータから形成され且つ挿入された参照を含む第2の形式の第2のページデータをプラットフォームサービス装置から受信するステップと、
を実行するようにプロセッサに命令するコンピュータ実行可能制御プログラムを格納するメモリとを備え、
コンピュータ実行可能制御プログラムは、挿入された参照及びレンダリング装置のメモリに格納されたコピーデータを使用して第2のページデータを文書にレンダリングするステップを実行するようにレンダリング装置のプロセッサに命令するように更に構成されるレンダリング装置が提供される。
本発明の別の態様によると、1または複数の属性を有する第1のページデータを文書にレンダリングする方法を実行するように1または複数のプロセッサに命令するコンピュータ実行可能プログラムを格納する非一時的なコンピュータ可読記憶媒体であって、前記方法は、
メモリを有するレンダリング装置により、第1の形式の第1のページデータを受信するステップと、
レンダリング装置により、所定の属性を有する前記第1のページデータの一部分を除去するステップと、
レンダリング装置のメモリに前記除去データを格納するステップと、
レンダリング装置により、第1の形式の変更された第1のページデータを生成するために第1のページデータに除去データに対する参照を挿入するステップと、
変更された第1のページデータをプラットフォームサービス装置へ送信するステップと、
プラットフォームサービス装置により、変更された第1のページデータから挿入された参照を含む第2の形式の第2のページデータを形成するステップと、
レンダリング装置により第2のページデータを受信し、前記レンダリング装置が挿入された参照及びレンダリング装置のメモリに格納されたコピーデータを使用して第2のページデータを文書にレンダリングするステップと、
を備える非一時的なコンピュータ可読記憶媒体が提供される。
本発明の別の態様によると、レンダリング装置により1または複数の属性を有する第1のページデータを文書にレンダリングする方法を実行するように1または複数のプロセッサに命令するコンピュータ実行可能プログラムを格納する非一時的なコンピュータ可読記憶媒体であって、前記方法は、
第1の形式の第1のページデータを受信するステップと、
所定の属性を有する前記第1のページデータの一部分を除去するステップと、
レンダリング装置のメモリに前記除去データを格納するステップと、
第1の形式の変更された第1のページデータを生成するために第1のページデータに除去データに対する参照を挿入するステップと、
変更された第1のページデータをプラットフォームサービス装置へ送信するステップと、
挿入された参照を含み且つプラットフォームサービス装置により変更された第1のページデータから形成された第2の形式の第2のページデータを前記プラットフォームサービス装置から受信し、前記レンダリング装置が挿入された参照及びレンダリング装置のメモリに格納されたコピーデータを使用して第2のページデータを文書にレンダリングするステップと、
を備える非一時的なコンピュータ可読記憶媒体が提供される。
本発明の他の態様が更に開示される。
図1は、SDS構成の例が実現される画素レンダリングシステムを概略的に示すブロック図である。 図2は、SDS構成の1つの例に係る入力PDLファイルをレンダリングする方法を概略的に示すフローチャートである。 図3は、SDS構成の1つの例に係る画像リソースを抽出する方法を概略的に示すフローチャートである。 図4は、SDS構成の1つの例に係る画像リソースが抽出されるべきかを判定する方法を概略的に示すフローチャートである。 図5は、SDS構成の1つの例に係るテキストリソースを抽出する方法を概略的に示すフローチャートである。 図6は、SDS構成の例が実現される入力PDLファイルの一例を示す図である。 図7は、SDS構成の1つの例に係る変更された変更PDLファイルを示す図である。 図8は、SDS構成の1つの例に係る変更された変更PDLファイルを示す図である。 図9は、SDS構成の例が実現される入力PDLファイルの一例を示す図である。 図10は、図9に示す入力PDLファイルに対する出力を示す図である。 図11は、SDS構成の1つの例に係る変更された変更PDLファイルを示す図である。 図12は、フィルマップ生成処理が示されるページの一例を示す図である。 図13は、図12に示すページの一例に対するタイル状のフィルマップ中間表現を示す図である。 図14は、図13に示すタイル状のフィルマップ中間表現に対するフィル合成シーケンステーブル及び対応するレベル情報を示す図である。 図15は、SDS構成の例が実現される変更ページの一例を示す図である。 図16は、図15に示すページの一例に対するタイル状のフィルマップ中間表現を示す図である。 図17は、図16に示すタイル状のフィルマップ中間表現に対するフィル合成シーケンステーブル及び対応するレベル情報を示す図である。 図18は、図16に示すタイル状のフィルマップ中間表現に対するレベル情報の別の形態を示す図である。 図19は、SDS構成の1つの例に係るテキスト組み合わせ処理の一例を示す図である。 図20は、図13に示すタイル状のフィルマップ中間表現に対するフィル合成シーケンステーブル及び対応する変更されたレベル情報を示す図である。 図21は、図13に示すタイル状のフィルマップ中間表現に対する変更されたレベル情報の別の形態を示す図である。 図22は、SDS構成の例が実現される別の画素レンダリングシステムを概略的に示すブロック図である。 図23は、SDS構成の例が実現される属性テーブルの一例を示す図である。 図24A及び図24Bは、説明する種々のSDS構成が実現される汎用コンピュータシステム2400を示す図である。 図25A〜図25Hは、フィルマップの構成において使用されるエッジ延長条件を示す図である。
以下の図面を参照して、本発明の1つ以上の実施形態を以下に説明する。
添付の図面のいずれか1または複数において同一の図中符号を有するステップ及び/又は特徴を参照する場合、特に指示のない限り、それらのステップ及び/又は特徴は説明の目的で同一の機能又は動作を有する。
尚、「背景技術」の節及び従来技術の構成に関する上記の節に含まれる説明は、各々の出版物及び/又は使用法を通じて周知の技術を形成する文献又は装置の説明に関する。そのような説明は、本発明の発明者又は特許出願人による表現と見なされるべきではなく、そのような文献又は装置は当該技術の一般常識の一部を何らかの形で形成する。
本発明の発明者は、クラウドサーバ120がレンダリングを支援する一方でクラウドサーバに送出されるデータの帯域幅を減少し且つセキュリティを保持する必要性があることを認識した。
図1は、開示されるSDS構成が実現されるコンピュータグラフィックオブジェクト画像をレンダリングする画素レンダリングシステム100を概略的に示すブロック図である。画素レンダリングシステム100は、モバイル装置(クライアント装置とも呼ぶ)105と、クラウドサーバ120(プラットフォームサービス装置とも呼ぶ)と、レンダリング装置135(以下の説明においてプリンタとして記述される)とを備える。レンダリング装置135は、各接続102、103及び101で示すように、インターネット170等の通信ネットワークを介してモバイル装置105及びクラウドサーバ120と通信するように構成される。
モバイル装置105は、ワードプロセッサ又はグラフィックソフトウェアアプリケーション等のソフトウェアアプリケーション115を実行するクライアントプロセッサ110を備える。
クラウドサーバ120は、レンダリングを支援するために使用されるSDSクラウドプログラム130を実行するクラウドプロセッサ125を備える。
レンダリング装置135は、SDS制御プログラム145を実行するコントローラプロセッサ140、画素レンダリング装置160、メモリ165及びプリンタエンジン155を備え、これらはバス150を介して結合される。画素レンダリング装置160は、バス150を介してコントローラプロセッサ140及びプリンタエンジン155に結合されたASICの形態であってもよい。画素レンダリング装置160は、コントローラプロセッサ140において実行されるソフトウェアで実現されてもよい。
画素レンダリングシステム100において、クライアント装置105で実行するソフトウェアアプリケーション115は、ページベースの文書に対するページデータを作成する。そのような文書の各々は1または複数のページを含み、各ページに対するページデータはテキスト、線、フィル領域、及び画像データ等のオブジェクトを記述する。ソフトウェアアプリケーション115は、インターネット170を介してレンダリング装置135のコントローラプロセッサ140上で実行するSDS制御プログラム145に高レベルのグラフィックコマンドを含むページ記述言語(PDL)ファイルの形態であるページデータの高レベルの記述を送出する。
クラウドサーバ120、クライアント装置105、及びレンダリング装置135の各々は、図24A及び図24Bに関して以下に更に詳細に説明する、汎用コンピュータにおいて通常見られる構造及び機能モジュールの少なくともいくつかを備える。図24A及び図24Bに関する詳細な説明は主にクラウドサーバ120に関するが、説明はクライアント装置105及びレンダリング装置135にも当てはまる。
図24A及び図24Bは、説明する種々の構成が実現される汎用コンピュータシステム2400を示す。
図24Aに示すように、コンピュータシステム2400は、クラウドサーバ120であるコンピュータモジュールと、キーボード2402、マウスポインタ装置2403、スキャナ2426、カメラ2427及びマイク2480等の入力装置と、プリンタ2415、表示装置2414及びスピーカ2417を含む出力装置とを含む。外部変復調装置(モデム)送受信装置2416は、接続2421を介して通信ネットワーク170を通じてプリントシステム135及びクライアント装置105との間で通信するためにクラウドサーバ120により使用される。通信ネットワーク170は、インターネット、移動通信ネットワーク又はプライベートWAN等のワイドエリアネットワーク(WAN)である。接続2421が電話線である場合、モデム2416は従来の「ダイヤルアップ式」モデムであってよい。あるいは、接続2421が大容量(例えば、ケーブル)接続である場合、モデム2416は広帯域モデムであってよい。無線モデムが通信ネットワーク170への無線接続のために更に使用されてもよい。
通常、クラウドサーバ120は、少なくとも1つの処理ユニット125とメモリユニット2406とを含む。例えばメモリユニット2406は、半導体ランダムアクセスメモリ(RAM)及び半導体読み出し専用メモリ(ROM)を有する。クラウドサーバ120は、ビデオディスプレイ2414、スピーカ2417及びマイク2480に結合するオーディオ/ビデオインタフェース2407と、キーボード2402、マウス2403、スキャナ2426、カメラ2427及びオプションでジョイスティック又は他のヒューマンインタフェース装置(不図示)に結合するI/Oインタフェース2413と、外部モデム2416及びプリンタ2415に対するインタフェース2408とを含む多くの入出力(I/O)インタフェースを更に含む。いくつかの実現例において、モデム2416は、例えばインタフェース2408内等のコンピュータモジュール120内に組み込まれる。コンピュータモジュール120は、接続2423を介してコンピュータシステム2400をローカルエリアネットワーク(LAN)として既知であるローカルエリア通信ネットワーク2422に結合させるローカルネットワークインタフェース2411を更に有する。図24Aに示すように、ローカルエリア通信ネットワーク2422は、通常はいわゆる「ファイアウォール」装置又は同様の機能性の装置を含む接続101を介してワイドエリアネットワーク170に更に結合してもよい。ローカルネットワークインタフェース2411は、イーサネット回路カード、Bluetooth(登録商標)無線構成又はIEEE802.11無線構成を含むが、多くの他の種類のインタフェースがインタフェース2411に対して実現される。
I/Oインタフェース2408及び2413は、直列接続性及び並列接続性のいずれか又は双方を提供する。直列接続性は、通常、ユニバーサルシリアルバス(USB)規格に従って実現され、対応するUSBコネクタ(不図示)を有する。記憶装置2409が提供され、これは通常はハードディスクドライブ(HDD)2410を含む。フロッピディスクドライブ及び磁気テープドライブ(不図示)等の他の記憶装置が更に使用されてもよい。光ディスクドライブ2412は、通常、不揮発性データソースとして動作するために提供される。例えば光ディスク(例えば、CD−ROM、DVD、Blu−ray(登録商標) Disc)、USB−RAM、ポータブル外部ハードドライブ及びフロッピディスク等のポータブルメモリ装置が、システム2400に対する適切なデータソースとして使用されてもよい。
通常、クラウドサーバ120の構成要素125、2406及び2407〜2413は、結果として当業者には既知であるコンピュータシステム2400の従来の動作モードになるように相互接続バス2404を介して通信する。例えばプロセッサ125は、接続2418を使用してシステムバス2404に結合される。同様に、メモリ2406及び光ディスクドライブ2412は接続2419によりシステムバス2404に結合される。説明する構成が実現されるコンピュータの例は、IBM−PC及び互換機、Sun Sparcstations、Apple Mac(登録商標)又は同様のコンピュータシステムを含む。
SDS方法は、説明する図2〜図5、図17〜図21及び図23の処理がコンピュータシステム2400内で実行可能な1または複数のソフトウェアアプリケーションプログラム130及び145として実現されるコンピュータシステム2400を使用して実現される。特に、SDS方法のステップは、コンピュータシステム2400内で実行されるソフトウェア130及び145内の命令2431(図24Bを参照)により実現される。ソフトウェア命令2431は、各々が1または複数の特定のタスクを実行する1または複数のコードモジュール130及び145として形成される。ソフトウェアは2つの別個の部分に分割されてもよく、第1の部分及び対応するコードモジュールがSDS方法を実行し、第2の部分及び対応するコードモジュールが第1の部分とユーザとの間のユーザインタフェースを管理してもよい。
ソフトウェアは、例えば後述する記憶装置を含むコンピュータ可読媒体に格納される。ソフトウェアは、コンピュータ可読媒体からコンピュータシステム2400にロードされた後にコンピュータシステム2400により実行される。そのようなソフトウェア又はコンピュータプログラムが記録されたコンピュータ可読媒体はコンピュータプログラム製品である。コンピュータシステム2400におけるコンピュータプログラム製品の使用は、SDS方法を実行する有利な装置を実現するのに好ましい。
通常、ソフトウェア130はHDD2410又はメモリ2406に格納される。ソフトウェアは、コンピュータ可読媒体からコンピュータシステム2400にロードされ、コンピュータシステム2400により実行される。従って、例えばソフトウェア130は、光ディスクドライブ2412により読み出される光学可読ディスク記憶媒体(例えば、CD−ROM)2425に格納される。そのようなソフトウェア又はコンピュータプログラムが記録されたコンピュータ可読媒体はコンピュータプログラム製品である。コンピュータシステム2400におけるコンピュータプログラム製品の使用は、SDS方法を実行する装置を実現するのに好ましい。
いくつかの例において、アプリケーションプログラム130及び145は、1または複数のCD−ROM2425上で符号化されてユーザに供給され且つ2412等の対応するドライブを介して読み出されてもよく、あるいはネットワーク170又は2422からユーザにより読み出されてもよい。更に、ソフトウェアは他のコンピュータ可読媒体からコンピュータシステム2400にロードされてもよい。コンピュータ可読記憶媒体は、実行及び/又は処理のためにコンピュータシステム2400に記録された命令及び/又はデータを提供する何らかの非一時的な有形記憶媒体を示す。そのような記憶媒体の例は、コンピュータモジュール120の内部であるか又は外部であるかに関係なく、フロッピディスク、磁気テープ、CD−ROM、DVD、Blu−ray(登録商標) Disc、ハードディスクドライブ、ROM又は集積回路、USBメモリ、光磁気ディスク、あるいはPCMCIAカード等のコンピュータ可読カードを含む。コンピュータモジュール120へのソフトウェア、アプリケーションプログラム、命令及び/又はデータの提供に同様に関係する一時的又は無形コンピュータ可読伝送媒体の例は、無線又は赤外線送信チャネル、別のコンピュータ又はネットワーク装置へのネットワーク接続、並びに電子メール送信及びウェブサイト等に記録された情報を含むインターネット又はイントラネットを含む。
上述のアプリケーションプログラム130の第2の部分及び対応するコードモジュールは、ディスプレイ2414上にレンダリングされるか又は表現される1または複数のグラフィカルユーザインタフェース(GUI)を実現するために実行される。通常はキーボード2402及びマウス2403の操作を介して、コンピュータシステム2400及びアプリケーションのユーザは、GUIに関連するアプリケーションに制御コマンド及び/又は入力を提供するために機能的に適合可能な方法でインタフェースを操作する。スピーカ2417を介して出力される音声プロンプト及びマイク2480を介して入力されるユーザの音声コマンドを利用するオーディオインタフェース等の機能的に適合可能なユーザインタフェースの他の形態が更に実現されてもよい。
図24Bは、プロセッサ125及び「メモリ」2434の詳細な概略ブロック図である。メモリ2434は、図24Aのコンピュータモジュール120によりアクセスされる全てのメモリモジュール(記憶装置2409及び半導体メモリ2406を含む)の論理集合を表す。
最初にクラウドサーバ120に電源が投入されると、ポスト(power−on self−test)プログラム2450が実行する。通常、ポストプログラム2450は、図24Aの半導体メモリ2406のROM2449に格納される。ソフトウェアを格納したROM2449等のハードウェア装置をファームウェアと呼ぶ場合がある。ポストプログラム2450は、適切な機能を保証するためにコンピュータモジュール120内のハードウェアを調べ、通常は、プロセッサ125、メモリ2434(2409、2406)、及び、通常はROM2449に同様に格納される、正常な動作のための基本入出力システムソフトウェア(BIOS)モジュール2451をチェックする。ポストプログラム2450が正常に実行すると、BIOS2451は図24Aのハードディスクドライブ2410を起動する。ハードディスクドライブ2410が起動することにより、ハードディスクドライブ2410に常駐するブートストラップローダプログラム2452がプロセッサ125を介して実行する。これにより、オペレーティングシステム2453がRAMメモリ2406にロードされ、動作を開始する。オペレーティングシステム2453は、プロセッサ管理、メモリ管理、装置管理、記憶装置管理、ソフトウェアアプリケーションインタフェース、及び汎用ユーザインタフェースを含む種々の高レベル機能を実現するためのプロセッサ125により実行可能なシステムレベルアプリケーションである。
オペレーティングシステム2453は、コンピュータモジュール120上で実行する各処理又はアプリケーションが別の処理に割り当てられたメモリと衝突せずに実行するのに十分なメモリを有することを保証するために、メモリ2434(2409、2406)を管理する。更に、図24Aのシステム2400において使用可能な異なる種類のメモリは、各処理が効率よく実行するように適切に使用される必要がある。従って、集約メモリ2434は、メモリの特定のセグメントが割り当てられる方法を示すのではなく(特に明記しない限り)、コンピュータシステム2400によりアクセス可能なメモリの全体図及びそれが使用される方法を提供することを意図する。
図24Bに示すように、プロセッサ125は、制御部2439、論理演算装置(ALU)2440、並びにキャッシュメモリと呼ばれる場合があるローカル又は内部メモリ2448を含む多くの機能モジュールを含む。通常、キャッシュメモリ2448は、レジスタ部内に多くの記憶レジスタ2444〜2446を含む。1または複数の内部バス2441は、これらの機能モジュールの機能を相互接続する。通常、プロセッサ125は、接続2418を使用してシステムバス2404を介して外部装置と通信するための1または複数のインタフェース2442を更に有する。メモリ2434は、接続2419を使用してバス2404に結合される。
アプリケーションプログラム130は、条件付き分岐命令及びループ命令を含む一連の命令2431を含む。プログラム130は、プログラム130の実行時に使用されるデータ2432を更に含む。命令2431は記憶場所2428、2429、2430に格納され、データ2432は記憶場所2435、2436、2437に格納される。命令2431及び記憶場所2428〜2430の相対サイズに依存して、特定の命令は、記憶場所2430内に示す命令により示されるように、単一の記憶場所に格納される。あるいは、命令は、記憶場所2428及び2429内に示す命令セグメントにより示されるように、各々が別個の記憶場所に格納される多くの部分に分割される。
一般に、プロセッサ125は、そこで実行される命令セットを与えられる。プロセッサ125は後続の入力を待ち、別の命令セットを実行することによりその後続の入力に対応する。各入力は、入力装置2402、2403の1または複数により生成されたデータ、ネットワーク170、2422の一方を介して外部ソースから受信されたデータ、記憶装置2406、2409の一方から検索されたデータ、あるいは対応する読取装置2412に挿入された記憶媒体2425から検索されたデータを含む多くのソースのうちの1または複数から提供される。これらは全て図24Aに示される。いくつかの例において、命令セットを実行した結果、データが出力される。実行は、メモリ2434にデータ又は変数を格納することを更に含む。
開示するSDS構成は、対応する記憶場所2455、2456、2457においてメモリ2434に格納される入力変数2454を使用する。SDS構成は、対応する記憶場所2462、2463、2464においてメモリ2434に格納される出力変数2461を生成する。中間変数2458は、記憶場所2459、2460、2466、及び2467に格納される。
図24Bのプロセッサ125を参照すると、レジスタ2444、2445、2446、論理演算装置(ALU)2440、及び制御部2439は協働して、プログラム130を形成する命令セット内の各命令に対する「取り出し、復号化、及び実行」サイクルを実行するために必要な一連のマイクロ命令を実行する。各「取り出し、復号化、及び実行」サイクルは以下を含む:
記憶場所2428、2429、2430から命令2431を取り出すか又は読み出す取り出し動作
制御部2439が取り出された命令を判定する復号化動作
制御部2439及び/又はALU2440が命令を実行する実行動作
その後、次の命令に対する更なる「取り出し、復号化、及び実行」サイクルが実行される。同様に、制御部2439が記憶場所2432に値を格納するか又は書き込む格納サイクルが実行される。
図2〜図5、図17〜図21及び図23の処理における各ステップ又は副処理はプログラム130の1または複数のセグメントに関連し、前述したプログラム130のセグメントに対する命令セット内の各命令に対する「取り出し、復号化、及び実行」サイクルを実行するために協働するプロセッサ125内のレジスタ部2444、2445、2446、ALU2440、及び制御部2439により実行される。
あるいは、SDS方法は、SDSの機能又は副機能を実行する1または複数の集積回路等の専用ハードウェアで実現される。そのような専用ハードウェアは、グラフィックプロセッサ、デジタル信号プロセッサ又は1または複数のマイクロプロセッサ、及び関連するメモリを含む。
図2は、高レベルのページ記述を使用して表される入力PDLファイル205からのページデータを関連文書219のページにレンダリングするために、SDS制御プログラム145及びSDSクラウドプログラム130により使用されるレンダリング処理200を概略的に示すフローチャートである。SDS方法は、PDF及びMicrosoft Word等の事前に定義されたどんな種類の文書にも使用できる。ソフトウェアプログラム130、145、及び115は、処理される文書の種類と一致する必要がある。
本例において、処理200のステップは、図2に示すようにレンダリング装置135とクラウドサーバ120との間で分散される。しかし、機能性の他の分散が使用されてもよい。
プリンタシステム135上で実行するSDS制御プログラム145は、矢印216で示すように、インターネット170を介してクライアント装置105から、レンダリングされるページの入力ページデータ記述ファイル205を受信する。PDLファイル205は、通常、レンダリング装置のメモリ165により実現されるレンダラデータ記憶装置245に格納される。
その後、処理200は矢印201で示すようにデータ抽出処理210へ進む。データ抽出処理210は、入力PDLファイル205からデータをコピーし、矢印203で示すように、レンダリング装置のメモリ165又は別のローカルメモリ(不図示)内に位置するレンダラデータ記憶装置245にコピーデータ224を格納する。レンダラデータ記憶装置245に格納されるページデータの例は、ソース画像、ソースフィル及びテキストデータである。1つのSDS構成において、レンダラデータ記憶装置245は画像記憶装置246及びテキスト記憶装置247を備える。
データ抽出処理210において、追加情報がクラウドサーバ120から得られる。データ抽出処理210は、矢印204で示すように、ネットワーク170及び各接続102、101を介してクラウドサーバ120上で実行するSDSクラウドプログラム130が使用可能なフォント/画像情報221をクエリすることにより、この情報を取得する。この情報は、抽出データ224の形成又は入力ページデータ205からデータをコピーする必要があるかの判定のいずれかにおいて使用される。従って、例えば図5のステップ530において、バウンディングボックス及び高度ベクトル等のフォント情報がクラウドサーバ120から検索される。別の例において、フォント/画像情報221をクエリすることにより、図4のステップ440において、必要な画像色空間変換はクラウドサーバ120により形成される補助データを使用して実行可能であり、従って、ソース画像データを抽出してローカルに格納できると判定される。
PDLファイル205内のページデータの部分は、ステップ210により「セキュア」又は「非セキュア」のいずれかであると識別される。1つのSDS構成において、識別はページデータの種類に基づいて属性テーブルをルックアップすることにより行われる。
図23は、属性テーブル2305の一例を示す。属性テーブルの例(すなわち、2305)において、テキストデータ(すなわち、2310)は「セキュア」(すなわち、2315)とマークされ、画像データ(すなわち、2320)は「非セキュア」(すなわち、2325)とマークされ且つ全ての他のデータの種類(すなわち、2330)は「非セキュア」(すなわち、2335)とマークされることがわかる。セキュアデータと識別されたページデータは、元のデータが再構成される形式でもSDSクラウドプログラム130へ送信されず、非セキュアデータであるページデータは、クラウドサーバ120上で実行するSDSクラウドプログラム130へ送信される。SDS構成は、PDLファイル内のページデータにおける可逆的に保存される必要のある高帯域幅データ又は高品質データ等の他の種類のデータを識別し、これらのデータの種類の属性に依存して、クラウドサーバ120へ送信できるデータ及びクラウドサーバ120へ送信するべきでないデータを決定する。
1つのSDS構成において、入力ページデータ205内のテキストデータはセキュアと識別され、画像データは非セキュアとしてマークされる。これにより、機密テキスト情報はサーバ120に送出されず且つ画像データは必要に応じてサーバ120に送出されることが保証される。別のSDS構成において、画像データはセキュアとしてマークされるが、これは、画像に対して行う必要のある何らかの処理が、プリンタのようなレンダリング装置135によりサポートされ且つ実行されなければならないことを意味する。例えば本来の画像形式の伸張又は色空間変換である何らかの処理動作が、プリンタのようなレンダリング装置135においてサポートされない場合、ページは正確にレンダリングされない。更なる別のSDS構成において、テキストデータは非セキュアとしてマークされる。これにより、ページデータに含まれる全ての意味テキストデータはクラウドサーバ120へ送信される。データ抽出処理210を以下に更に詳細に説明する。
SDS制御プログラム145がデータ抽出処理210を完了すると、処理200は矢印202で示すようにページ変更処理215へ進む。ページ変更処理215は、データ抽出処理210により入力PDLファイルからコピーされたデータ224の全てを除去し、データ抽出処理210においてコピーされ且つレンダラデータ記憶装置245に格納されたコピーデータ224に対する参照を入力PDLファイル205に挿入して、コピーされたデータをコピーデータに対する参照に置換することにより、入力PDLファイル205を変更する。ページ変更処理215は、変更されたページデータを含む変更PDLファイル217を生成する。図6〜図11を参照して、ページ変更処理215を以下に更に詳細に説明する。
変更PDLファイルがページ変更処理215により生成されると、処理200は矢印206に従ってPDL送信処理220へ進む。PDL送信処理220は、矢印207で示すように、接続102、101を介してインターネット170を通じてクラウドサーバ120のクラウドプロセッサ125において実行するSDSクラウドプログラム130に変更PDLファイル217を送出する。
クラウドサーバ120上で実行するSDSクラウドプログラム130が変更PDLファイル217を受信すると、クラウドプログラム130は、中間形式への変換処理225を使用して変更PDLファイル217を処理する。この処理225は、フィルマップ及びフィル合成シーケンステーブルを含む中間形式ファイル218を生成する。フィル合成シーケンステーブルは、レンダリング装置135内のレンダラデータ記憶装置245に格納されたコピーデータ224に対する参照を含む。図13及び図14に関して、フィルマップ及びフィル合成シーケンステーブルを以下に更に詳細に説明する。
中間形式ファイル218の作成において、SDSクラウドプログラム130は、サーバ120又はレンダリング装置135のいずれかにおけるメモリ制限又は他のシステム制限を超過することを回避するために、変更PDLファイルの一部を画素にレンダリングする必要がある場合がある。この場合、クラウドサーバは、矢印290で示すように、レンダラデータ記憶装置245に格納されたデータを要求し且つそれにアクセスする必要がある。レンダリング装置135からクラウドサーバ120へ送信されるデータに対する制約が存在する。従って、1つの例において、セキュアとしてマークされないデータのみがレンダラデータ記憶装置245からSDSクラウドプログラム130へ送信される。変更PDLを画素にレンダリングするためにセキュアとしてマークされるデータが必要である場合、SDSクラウドプログラム130はレンダリング装置135にエラーを返し、制御プログラム145は終了する。
フィルマップ及びフィル合成シーケンステーブルから構成される中間形式ファイル218が生成された後、処理200は矢印208で示すように補助データ生成処理230へ進む。補助データ生成処理230は、データ変換処理240においてレンダラデータ記憶装置245に格納されたコピーデータ224を処理するためにレンダリング装置135により使用される補助データ222を生成する。補助データ222は、色空間変換情報及びフォント情報を含む。補助データ生成処理230を以下に更に詳細に説明する。
補助データ222が生成されると、処理200は矢印209で示すように、中間形式送信処理235へ進む。矢印211で示すように、中間形式送信処理235は、インターネット170を介してレンダリング装置135に中間形式ファイル218(すなわち、フィルマップ及びフィル合成シーケンステーブル)及び補助データ222から構成される中間形式送信ファイル223を送出する。
レンダリング装置135が、(a)矢印211で示すように、中間形式ファイル218及び補助データ222を受信し、且つ(b)矢印212で示すように、レンダラデータ記憶装置245に格納されたコピーデータ224を受信すると、レンダリング装置135は、データ変換処理240において補助データ222とレンダラデータ記憶装置245に格納された抽出データ224とを組み合わせる。データ変換処理240は、抽出データ224がレンダリング可能な形態であることを保証する。これは、画素レンダリング装置160が中間形式ファイル218をレンダリングするために使用できるように抽出データがフォーマットされることを意味する。例えば補助データ222がレンダラデータ記憶装置245に格納された画像と共に使用される色空間変換命令セットを含む場合、色空間変換が画像に適用される。その結果、レンダリングに対する正確な色空間に存在する画像が得られる。図19に関して、データ変換処理240を以下に更に詳細に説明する。
抽出データ224が処理240によりフォーマットされると、処理200は矢印213に従ってデータ組み込み処理248へ進む。データ組み込み処理248は、中間形式ファイル218内の参照を参照に関連付けられた抽出データに置換する。これにより、レンダリング可能な中間形式ファイル219が生成される。図20及び図21に関して、データ組み込み処理248を以下に更に詳細に説明する。
レンダリング可能な中間形式ファイル219が生成されると、処理200は矢印214に従って中間形式レンダリング処理250へ進む。この処理において、画素レンダリング装置160は、更新されたフィルマップ及びフィル合成シーケンステーブル(すなわち、レンダリング可能な中間形式ファイル219)を使用して、ページデータを画素226にレンダリングする。画素レンダリング装置160の出力は画素データ226であり、これは物理印刷媒体又はディスプレイ上でページデータを文書ページ156へレンダリングするためにプリンタエンジン155により使用される。
データ抽出処理210は、入力PDLファイル205からソースページデータをコピーするために使用され、コピーされたソースページデータ224はレンダラデータ記憶装置245にローカルに格納される。好適なSDS構成において、入力PDLファイル205からコピーされるコピーソースページデータ224は、ソース画像データ及びソーステキストデータから構成される。ページ変更処理215は、抽出処理210によりコピーされたデータを入力PDLファイル205から除去することにより、クラウドサーバ120上で実行するSDSクラウドプログラム130に送出する必要のあるファイル217のサイズを減少する。入力PDLファイル205からテキストデータを抽出することは、クラウドサーバ120が入力PDLファイル205のテキストコンテンツにアクセスできないことを意味する。尚、PDLファイル205内の画像データは通常は非セキュアとしてマークされ、必要に応じてクラウドサーバ120へ送信されることを意味する。テキストデータは通常はセキュアとしてマークされ、クラウドサーバ120に送出されないことを意味する。
図3は、レンダリング装置135により実行されるデータ抽出処理210の一部として入力PDLファイル205から画像データをコピーするために使用されるソース画像データ抽出処理300を示すシーケンスフローチャートである。ソース画像抽出処理300は、入力PDLファイル205からソースページデータの一部であるソース画像データをコピーし、レンダラデータ記憶装置245内に位置する画像記憶装置246に当該データを格納する。ソース画像データはコピーデータ224の一部を形成する。
処理300はステップ310から開始する。処理300は矢印301に従って次のステップ315へ進み、レンダラデータ記憶装置245内の画像記憶装置246がプロセッサ140により初期化される。画像記憶装置246は、入力PDLファイル205からコピーされたソース画像データを格納するために使用される。処理300は矢印302に従ってステップ320へ進み、SDS制御プログラム145の指示に従うプロセッサ140は、入力PDLファイルが未処理のソース画像データを含むかを判定する。ステップ320において、未処理のソース画像データが存在しないと判定される場合、ソース画像抽出処理300は「NO」矢印303に従ってステップ325において終了する。
ステップ320において、処理する更なるソース画像データが存在すると判定される場合、処理300は「YES」矢印304に従ってステップ330へ進み、制御プログラム145の指示の下、プロセッサ140は入力PDLファイル205からコピーするために次のソース画像を取得する。
PDF形式の入力ファイルを使用する1つのSDS構成において、処理330は、問題の文書に関連付けられるページ木をトラバースして(traverse)関係のあるページを見つけ、それらのページに対して、関連付けられたリソースディクショナリをトラバースして、ファイルをレンダリングするために使用できる全ての画像のXObjectリソースを見つけることにより実現される。これは、何らかの形態のXObjectリソースの再帰トラバースを必要とする場合がある。PDF画像リソースは、圧縮されてもされなくてもよいソース画素データと画像リソース色空間とから構成される。画像に対する格納色空間は、親透明グループのXObject又はページグループ色空間から判定される。同様の技術は、他のPDL形式を使用するファイルからソース画像を取得するために使用される。
ソース画像が処理330により取得されると、処理300は矢印305に従ってステップ335へ進み、プロセッサ140は、処理330により検索されたソース画像をレンダラデータ記憶装置245内の画像記憶装置246に格納できるかを判定する。図4に関して、ステップ335において使用される判定処理を以下に更に詳細に説明する。
ステップ335において、ソース画像を画像記憶装置246に格納できないと判定される場合、「NO」矢印306に従って処理320に戻る。ソース画像を画像記憶装置246に格納できる場合、「YES」矢印307に従ってステップ340へ進む。ステップ340において、ソース画像は画像記憶装置246に格納される。その後、処理300は矢印308に従ってステップ320に戻る。
図4は、ソース画像格納判定副処理335(図3を参照)を更に詳細に示すシーケンスフローチャートである。処理はステップ405から開始し、矢印450に従ってステップ410へ進み、プロセッサ140はファイル205内のソース画像データがSDS制御プログラム145により読み取り可能な形式であるかを判定する。SDSの1つの例において、SDS制御プログラム145が認識しない圧縮形式をソース画像が使用する場合、ソース画像はSDS制御プログラム145により読み取り不能であり、画像記憶装置246に格納されない。読み取り不能な画像は、図2の矢印207で示すようにクラウドサーバ120に送出され、クラウドサーバ120は、画像を伸張し、レンダリング装置135上でレンダリングするのに適した形式に再符号化する。これは、中間形式への変換処理225において行われる。画像がクラウドサーバ120上のフォント/画像情報221内のサポートされる画像形式のリストを有するかを判定する1つの可能な方法が続く。ソース画像の形式は入力PDLファイル205により指定され、SDS制御プログラム145は、特定のソース画像が読み取り可能な形式であるかを判定するために、データ抽出処理210においてサポートされる形式のリストを問い合わせる。同様に、中間形式への変換処理225において、クラウドサーバは、画像を再符号化するために使用するのに適切な形式を判定するためにリストを問い合わせる。
ステップ410においてソース画像データが制御プログラム145により読み取り不能であると判定される場合、「NO」矢印451に従ってステップ415へ進む。ステップ415において、プロセッサ140によりSTORE_ON_DEVICEフラグがFALSEに設定される。STORE_ON_DEVICEフラグをFALSEに設定することは、ソース画像が画像記憶装置246に格納されないことをソース画像抽出副処理335に対して示す。その後、ソース画像格納判定副処理335は矢印460に従ってステップ420において終了する。
あるいは、ステップ410において、ソース画像がSDS制御プログラム145により読み取り可能であると判定される場合、「YES」矢印452に従ってステップ425へ進み、プロセッサ140はソース画像が画像記憶装置246に格納するためのサイズ条件を満たすかを判定する。1つのSDS構成において、ソース画像データは所定の最小サイズより大きい場合のみ画像記憶装置246に追加される。これは、小さい画像は抽出して画像記憶装置246にローカルに格納するよりクラウドサーバ120に送出する方が効率的である場合が多いためである。ソース画像が所定の最小サイズより小さいと判定される場合、上述のように「NO」矢印453に従ってステップ415へ進む。
あるいは、ステップ425においてソース画像データが所定の最小サイズより大きいと判定される場合、「YES」矢印454に従ってステップ430へ進み、プロセッサ140は画像が色空間変換を必要とするかを判定する。ソース画像がファイル205において提供される色空間が画像をレンダリングするためにレンダリング装置135により使用される色空間と同一ではない場合、画像は色空間変換を必要とする。画像が色空間変換を必要としないと判定される場合、すなわちソース画像がファイル205において提供される色空間が画像をレンダリングするためにレンダリング装置135により使用される色空間と同一である場合、「NO」矢印458に従ってステップ445へ進む。ステップ445において、STORE_ON_DEVICEフラグがTRUEに設定される。STORE_ON_DEVICEフラグをTRUEに設定することは、ソース画像が画像格納装置246に格納されることをソース画像抽出副処理335に示す。その後、ソース画像格納判定副処理335は矢印459に従ってステップ420において終了する。
あるいは、ステップ430においてソース画像が色空間変換を必要とすると判定される場合、「YES」矢印455に従ってステップ440へ進み、プロセッサ140は色空間変換がレンダリング装置135上のSDS制御プログラム145により実行可能であるか否かを判定する。制御プログラム145が色空間変換を実行できる色空間変換ソフトウェアを有する場合又はレンダリング装置135上で実行するSDS制御プログラム145が画像の色空間変換を行うために使用できる色空間変換データをクラウドサーバ120上で実行するSDSクラウドプログラム130が作成できる場合、色空間変換はSDS制御プログラム145により実行可能である。色空間変換ソフトウェアがSDS制御プログラム145に存在する場合、制御プログラム145は画像の色空間及び格納色空間を調べ、色空間変換が上述の色空間変換ソフトウェアにより実行可能であるかを判定する。色空間変換を実行できない場合又は色空間変換ソフトウェアがレンダリング装置に存在しない場合、制御プログラム145は、図2の矢印204で示すようにインターネット170を介してクラウドサーバに接続し、クラウドプログラム130が画像に対する色空間変換データを作成できるかを判定する。レンダリング装置135は、ソース画像及びソース画像をレンダリングするためにレンダリング装置135により使用される色空間の双方に対する色空間情報をクラウドプログラム130に提供する。クラウドプログラム130は、ソース画像に対する色空間変換データを作成できるか否かを示すことにより応答する。
制御プログラム145が色空間変換を実行できず且つクラウドプログラム130が画像に対する色空間変換データを作成できない場合、ステップ440は画像の色空間変換を行えないと判断する。この場合、上述のように「NO」矢印456に従ってステップ440からステップ415へ進む。あるいは、制御プログラム145が色空間変換を実行できるか又はクラウドプログラム130が画像に対する色空間変換データを作成できる場合、ステップ440において、画像の色空間変換は制御プログラム145上で行うことができると判断される。その後、ソース画像格納判定副処理335は「YES」矢印457に従ってステップ445へ進み、矢印459に従ってステップ420において終了する。
図3に戻ると、ステップ335において画像を画像記憶装置246に格納できると制御プログラム145が判定すると、「YES」矢印307に従ってステップ340へ進み、ソース画像が画像記憶装置246に格納されることがわかる。好適なSDS構成において、入力PDLファイル205内のソース画像は、伸張動作を適用することにより生画素値に伸張し且つSDS制御プログラム145により実行可能な何らかの必要な色空間変換を生画素値に適用することにより格納される。その後、画像データは圧縮され、画像記憶装置246に格納される。あるいは、ソース画像が圧縮され、画像圧縮形式が画像記憶装置246により使用されるデータ形式と互換性を有し且つ制御プログラム145による色空間変換が不要である場合、圧縮されたソース画像は画像記憶装置246に直接コピーされる。画像記憶装置246に格納された各画像は、後で変更処理215において使用される一意の画像IDを提供される。
図5は、データ抽出処理210の一部として入力PDLファイル205からテキストデータをコピーするために使用されるソーステキスト抽出副処理501を示すシーケンスフローチャートである。ソーステキスト抽出副処理501は、入力PDLファイル205からソーステキストデータをコピーし、レンダラデータ記憶装置245内に位置するテキスト記憶装置247に当該データを格納する。処理501はステップ510から開始して矢印502に従ってステップ515へ進み、テキスト記憶装置247がプロセッサ140により初期化される。その後、矢印503に従ってステップ520へ進み、プロセッサ140は入力PDLファイル205が未処理のソーステキストリソースを含むかを判定する。ステップ520において、未処理のソーステキストデータが存在しないと判定される場合、ソーステキスト抽出副処理501は「NO」矢印504に従ってステップ525において終了する。
ステップ520において、処理する更なるソーステキストリソースが存在すると判定される場合、「YES」矢印505に従ってステップ530へ進み、プロセッサ140は、次のソーステキストリソースと、ページ上でテキストを配置、変倍及び回転するために使用される変換行列が存在する場合はそれとを取得する。当該情報がステップ530により取得されると、矢印506に従ってステップ535へ進み、SDS制御プログラム145はテキストリソースに対するバウンディングボックスを定義するページデータを作成する。バウンディングボックスに対するページデータが作成されると、矢印507に従ってステップ540へ移動し、テキストデータ及びバウンディングボックス情報がテキスト記憶装置247に格納される。制御プログラム145は、PDLファイル内のテキストリソースとテキストデータ記憶装置247に格納されたテキストデータとを関連付ける。好適なSDS構成において、制御プログラム145は、PDLファイル205におけるテキストリソースのファイル場所を記録することによりこれを行い、このファイル場所をテキストデータと共にテキストデータ記憶装置247に格納する。
PDL205がPDF形式の入力ファイルである場合のソーステキスト抽出副処理530の一実現例は、以下のように説明される。最初に、テキスト記憶装置247が初期化された後、PDF入力ファイルのページ木をトラバースして関係のあるページを見つけ、それらのページに対して、ページに対するリソースディクショナリ及びページ上で使用される全てのXObjectをトラバースして、レンダリングにおいて使用される全てのフォントを取得する。フォントの一例はHelveticaである。ページ上で使用されるフォント毎に、フォント識別子がバウンディングボックス及びデフォルトのフォントサイズのフォントに対する高度ベクトル情報と共にテキスト記憶装置247に格納される。本構成において使用されるデフォルトのフォントサイズは1ポイントである。このバウンディングボックス及び高度ベクトル情報は、フォントに対する単一の最大バウンディングボックス及び高度ベクトルであってもよく、フォントにおける各文字に対するバウンディングボックス及び高度ベクトルであってもよく、あるいは、フォントにおけるいくつかの文字に対して特定のバウンディングボックス及び高度ベクトルが与えられるが他の全ての文字に対して最大バウンディングボックス及び高度ベクトルが使用される場合はそれらの何らかの組み合わせであってもよい。フォントに対するバウンディングボックス及び高度ベクトルは、クラウドサーバ120上で実行するクラウドプログラム130が使用可能なフォント情報221をクエリすることにより取得される。別の構成において、フォント情報は、テキスト記憶装置247がステップ515において初期化される際にテキスト記憶装置247に追加されるのではなく、各テキストリソースが取得される際にステップ530において追加される。取得されたテキストリソースに対する現在のフォントがテキスト記憶装置247に存在しない場合、テキスト記憶装置のデータは新しいフォントを用いて更新される。
ソーステキストデータがテキスト記憶装置247に追加されると、プロセッサ140はPDFファイル205のコンテンツストリームの構文解析を開始する。構文解析において、プロセッサ140はテキストリソースをページ上に配置するために使用される現在の変換行列を記録する。PDFにおいて、変換行列は、行列を変更するコマンド、PDFのグラフィック状態の変化、あるいは現在のテキストに対してのみ行列を変更する特定のテキスト行列コマンドのいずれかにより変更される。制御プログラム145は、使用中の現在のフォント及びフォントサイズを更に記録する。PDFにおいて、フォント及びフォントサイズは特定のフォント命令により変更される。その場合、個々のペイント列命令毎に、プロセッサ140は各テキストリソースのテキスト列及び開始位置を取得する。
テキストリソースが取得されると、テキスト記憶装置247に格納されたバウンディングボックス及び高度ベクトル情報を使用して、テキストリソースに対するバウンディングボックスを作成する。その後、このバウンディングボックスは、現在の変換行列と乗算され且つテキストリソースを描くために使用されるフォントサイズにより変倍されて、ページ上にペイントされる際のテキストリソースに対する最終バウンディングボックスが取得される。この最終バウンディングボックスは、テキストを描くために使用されるテキスト列、フォント及びフォントサイズと共にテキスト記憶装置247に格納される。
図2に戻ると、データ抽出処理210が完了すると、ページ変更処理215へ進む。この処理において、入力ファイル205からコピーされ且つレンダラデータ記憶装置245に格納されたテキスト/画像リソースはPDLファイル205から除去され、格納データに対する参照に置換される。これは、制御プログラム145が入力PDLファイル205の一部を変更することを必要とする。あるいは、制御プログラム145はPDLファイルを完全に書き換える。
所定のPDL形式が外部のテキスト又は画像データに対する参照をサポートする場合、外部データを参照するために、格納データに対する参照は適切な標準形式を使用してPDLファイルに挿入される。あるいは、カスタムタグがPDLファイルに挿入される。PDF形式を使用する場合に画像データに対する参照を挿入する方法の2つの例、及びテキストデータに対する参照を挿入する方法の1つの例を以下に示す。
図6に示す一例のPDFファイル610を考慮する。PDFファイル610は単一の画像オブジェクト620を含み、その画像データはXObjectストリーム630内に含まれる。
ステップ210及び215によるソース画像のコピー、格納、及び変更の第1の実現例を図7の変更PDFファイル710に示す(図2の変更ファイル217を更に参照)。SDS構成は、外部ファイルに対する参照720を変更PDFファイル710に挿入するために、標準的なPDF形式を使用する。外部ファイルは、レンダラデータ記憶装置245内に位置する画像記憶装置246内の格納画像である。尚、画像のXObject内の/Lengthフィールド730及びXObjectのストリーム740が更に変更された。この変更PDF710はPDF規格に準拠し、外部画像をサポートし且つレンダラデータ記憶装置245に格納された画像にアクセスできるPDFレンダラによりレンダリング可能である。
ステップ210及び215によるソース画像のコピー、格納、及び変更の第2の例を図8の変更PDFファイル810に示す。SDS構成は、画像のXObjectに追加された格納画像に対する参照を含む独自のタグ820を挿入する。XObjectのストリームは、単色のみを有するランレングス符号化画像840を含むように変更されている。単色は効率的に圧縮するため、本例では単色が使用される。尚、画像のXObjectの/Filterフィールド830及び/Lengthフィールド850の双方が更に変更されている。この変更PDFはPDF規格に準拠し、PDFレンダラによりレンダリング可能である。しかし、抽出された画像ではなく単色の画像が出現することになる。
次に、図9に示す変更PDFファイルの例910を考慮する。PDFファイルは、リソース3 0 obj(すなわち、920)において概要が示される2つのフォントF13及びF14を使用し、これらはそれぞれリソース6 0 obj(すなわち、930)及び7 0 obj(すなわち、940)を参照する。リソース6 0 obj930はHelveticaフォントであり、リソース7 0 obj940はTimes Romanフォントである。PDFは、テキストを描く単一のオブジェクト、すなわち5 0 obj(すなわち、950)を含む。オブジェクト5 0 obj950は、3つの列を描くコンテンツストリームを含む。第1の列960は、変換行列1 0 0 1 150 600を用いてサイズ30のF13(Helvetica)フォントを使用して描かれ、列「The quick brown fox」を描く(図10を参照)。第2の列970は、変換行列1 0 0 2 150 550を用いてサイズ10のF14(Times Roman)フォントを使用して描かれ、列「jumped over the lazy dog」を描く(図10を参照)。第3の列980は、変換行列2 0 0 1 150 500を用いてサイズ15のF13(Helvetica)フォントを使用して描かれ、列「Bogosity High」を描く(図10を参照)。このPDFファイルの出力1010を図10に示す。
ステップ210及び215によるテキストのコピー、格納、及び変更の第1の実現例を図11の変更PDFファイル1110に示す。SDS構成は、オブジェクト5 0 objのコンテンツストリーム1120内の各テキスト列を、(a)レンダラデータ記憶装置245に格納された列に対する参照を含む独自のタグ、及び(b)格納テキストに対する参照を含むバウンディングボックス(1130、1140、及び1150)に置換する。独自のタグ(1160、1170、1180)がフォントリソースオブジェクトに更に挿入された。これらのタグの各々は、ページ上で使用されるフォントサイズ及びフォント/フォントサイズの対に必要なグリフリストを示す。このグリフリストは、ページ上で使用されるグリフのみを含む必要がある。例えば多くのグリフが必要な場合、グリフリストはフォントにおける全てのグリフを単純に要求する。あるいは、グリフが殆ど使用されない場合、グリフリストから元の列を再構成することが可能であり、追加のグリフはセキュリティを強化するためにグリフセットに含まれてもよい。従って、特定のセキュリティ属性を有するデータはクラウドサーバ120に送出されない。「機密」属性を有する当該データはプリンタのようなレンダリング装置に格納され、文書の残りのデータは処理のためにクラウドに送出される。
変更PDLファイル217がクラウドサーバ120上で実行するクラウドプログラム130により受信される場合、クラウドプログラム130は変更PDLファイルを中間形式ファイル218へ変換する。SDS構成の本例は、中間形式としてタイル状のフィルマップ形式を使用する。タイル状のフィルマップ形式を以下の節で詳細に説明する。
図12は、3つのオブジェクトを含むページ1210の一例を示す。最下層のオブジェクト1220は不透明な菱形であり、下から2番目の層のオブジェクト1230は不透明なビットマップであり、最上層のオブジェクト1240は半透明なテキスト列「TUPAC」である。ページ1210の例のタイル状のフィルマップ表現が構成される方法を図13に関して説明する前に、フィルマップの簡単な説明を示す。
フィルマップは、ページの領域ベースの表現である。フィルマップは、ページ内の領域を当該領域内の各画素の色を生成するために使用されるフィル合成シーケンスにマッピングする。従って、領域内の全ての画素は当該領域に関連付けられるフィル合成シーケンスにマッピングされると言うことができる。フィルマップ内の複数の領域を同一のフィル合成シーケンスにマッピングできる。フィルマップ内の領域は別個であり、すなわち、領域は重なり合わない。従って、レンダリングされたページ内の各画素は単一の領域のみに属する。フィルマップ内の各領域は、領域の境界を示す画素の正確なフィルマップエッジのセットにより定義される。好適な実施形態において、領域に関するフィル合成シーケンスは、領域の左側(最小x)の境界を示すエッジに関連付けられる。フィルマップページ表現は、効率的に圧縮される。圧縮方法の一例は、xオフセットのセットとしてエッジを表現した後にエントロピ符号化を使用してxオフセットを圧縮することである。エントロピ符号化の1つの既知の方法はハフマン符号化である。フィルマップ圧縮は、フィルマップを送信するために必要な帯域幅及び送信時間を減少する。フィルマップを生成するために走査変換が実行されたため、フィルマップはPDLページ表現よりレンダリングが単純である。
グラフィックオブジェクトを走査変換し且つ走査線毎に走査線に対するフィル合成シーケンスランのセットを判定することにより、ページはフィルマップに変換される。走査線におけるフィルマップエッジの位置は、対応するフィル合成シーケンスランが開始するx位置である。エッジが同一のフィル合成シーケンスをアクティブにし且つエッジ延長条件を満たす場合、エッジは走査線間で組み合わされる。エッジ延長条件の一例は、フィル合成シーケンスランがエッジによりアクティブにされる場合に第1の走査線が後続の走査線におけるエッジによりアクティブにされるフィル合成シーケンスランと重なり合うか又は接することである。このエッジ延長条件の例を図25A〜図25Hに示す。図25A〜図25Hにおいて、フィルマップエッジ2510及び2520により境界付けられる画素の範囲2500を前の走査線2530上に示す。画素の境界2550により境界付けられるフィル合成シーケンスラン2540を現在の走査線2560上に示す。図25A〜図25Fに示す例において、フィル合成シーケンスラン2540は画素の範囲2500と重なり合うか又は接しており、エッジ延長条件は画素の境界2500により満たされる。図25G及び図25Hに示す例において、フィル合成シーケンスラン2540が画素の範囲2500と重なり合わず且つ接しないため、画素の境界2550はエッジ延長条件を満たさない。エッジ延長条件が満たされ且つ2つのエッジが同一のフィル合成シーケンスをアクティブにする場合、2つのエッジは単一のフィルマップエッジに組み合わされる。上記以外の場合、2つのフィルマップエッジが作成される。
図13は、ページ1210の例のタイル状のフィルマップ表現1310を示す。フィルマップタイル1320は、(列,行)の形態で示される位置(1,2)に存在する。フィルマップ1320のコンテンツを図13の右側に拡大して示す。フィルマップタイル1320内の3つの領域1330、1340、及び1350はそれぞれ、指標1、2、及び3を有するフィル合成シーケンスを参照する。
図14は、タイル状のフィルマップ1310に対するフィル合成シーケンステーブル1410及び対応するレベル情報1420、1430、1440を示す。レベル情報#1(すなわち、1420)は、不透明な菱形のオブジェクト1220に対応するレンダリング情報を含む。レベル情報#1(すなわち、1420)は、不透明な菱形1220を塗りつぶすために使用される線形ブレンドフィル1422を参照し、合成演算子ATOP(すなわち、1421)を含む。レベル情報#2(すなわち、1430)は、不透明で低解像度のソースビットマップオブジェクト1230に対応するレンダリング情報を含む。レベル情報#2(すなわち、1430)は、低解像度のビットマップソースフィル1432を参照し、合成演算子OVER1431を有する。レベル情報#3(すなわち、1440)は、半透明なテキストオブジェクト1240に対応するレンダリング情報を含む。レベル情報#3(すなわち、1440)は均一な灰色のソースフィル1442を参照し、合成演算子OVER1441を有する。
図15は、このSDS構成の1つの例においてクラウドプログラム130により受信される例示的なページ1210の変更バージョン1510を示す。変更ページ1510は3つのオブジェクトを含む。すなわち、最下層のオブジェクト1520は不透明な菱形であり、下から2番目の層のオブジェクト1530は外部ビットマップを参照する不透明な正方形であり、最上層のオブジェクト1540は外部テキスト列を参照するテキストバウンディングボックスである。尚、全てのテキストバウンディングボックスは、テキストを描くために使用されるフィルが透明であるかに関係なく、下層のオブジェクトとの合成を必要とするものとして処理される。これは、フィルマップがレンダリングされるまで下層のオブジェクトが保持されることを意味する。クラウドプログラム130は外部テキスト列がフィルマップに組み込まれるまでテキストにより隠される画素を判定できないため、これらのオブジェクトが必要とされる。
図16は、変更ページ1510の例のタイル状のフィルマップ表現1610を示す。フィルマップタイル1620は、(列,行)の形態で示される位置(1,2)に存在する。フィルマップタイル1620のコンテンツを図16の右側に拡大して示す。フィルマップタイル1620内の3つの領域1630、1640、1650はそれぞれ、指標1、2、及び3を有するフィル合成シーケンスを参照する。
図17は、タイル状のフィルマップ1610に対するフィル合成シーケンステーブル1710及び対応するレベル情報1720、1730、1740を示す。レベル情報#1B(すなわち、1720)は、不透明な菱形のオブジェクト1520に対応するレンダリング情報を含む。レベル情報#1B(すなわち、1720)は、不透明な菱形1520を塗りつぶすために使用される線形ブレンドフィル1722を参照し、合成演算子ATOP1721を含む。レベル情報#2B(すなわち、1730)は、外部のビットマップオブジェクト1530に対応するレンダリング情報を含む。レベル情報#2B(すなわち、1730)は、レンダリング装置のメモリ165に格納された外部のビットマップソースフィル1732を参照し、合成演算子OVER1731を有する。レベル情報#3B(すなわち、1740)は、外部のテキストオブジェクト1540に対応するレンダリング情報を含む。レベル情報#3B(すなわち、1740)は、テキストに色を付けるために使用される均一な灰色のソースフィル1742を参照し、合成演算子OVER1741を有し、レンダラデータ記憶装置245に格納されたテキスト列であるテキストマスクフィル1743を参照する。
図18は、テキスト列、フィル色及び合成演算子が全てレンダラデータ記憶装置245に格納されるレベル情報#3Bの別の例(すなわち、1810)を示す。この場合、レベル情報#3B(すなわち、1810)は外部に格納されたテキストデータ1811に対する参照のみを含む。
変更PDLに対するフィルマップが作成されると、クラウドプログラム130は、制御プログラム145が中間形式ファイル218をレンダリングするために必要とする何らかの補助データ222を作成する。この補助データ222は、補助データ生成処理230において作成される。好適なSDS構成において、この補助データはグリフデータ及び色空間変換データから構成される。グリフデータは、テキストデータ記憶装置247に格納されたテキストデータにおいて参照される各フォントに対するデータから構成される。色空間変換情報は、画像記憶装置246に格納されたソース画像をソース色空間からレンダリング装置135により使用される色空間に変換するために必要なデータを含む。図9に示すPDL入力ファイルの例の場合、この補助データは、Helvetica30pt、Helvetica15pt、及びTimes Roman10ptのフォントに対するグリフデータを含む。グリフデータは、フォントにおける各文字に対するデータから構成される。この文字データは、文字によりアクティブにされる画素を記述するビットマップ又はエッジセットのいずれかと、カーニング(Kerning)又は配置情報とから構成される。色空間変換情報の一例は、ソースビットマップをレンダリングに使用される正確な色空間に変換するために使用される動作を記述するルックアップテーブルである。
中間形式ファイル218及び補助データ222の双方が作成されると、それらは、中間形式送信ファイル223及び矢印211で示すように、コントローラプロセッサ140において実行する制御プログラム145に送出される。当該データ223が制御プログラム145により受信される場合、制御プログラム145は、データ変換処理240において、補助データ222とレンダラデータ記憶装置245に格納された画像データ及びテキストデータとを組み合わせて、中間形式ファイル218をレンダリングするために使用できるレンダリング可能データ219を生成する。画像データの場合、この組み合わせステップ248は、ソース画像データの色空間をレンダリングに使用可能な色空間に変換するために、補助データ222と共に提供される何らかの色空間変換関数を使用することを含む。テキストデータの場合、レンダラデータ記憶装置245に格納されたテキスト列は、ビットマップフィルによりアクティブにされる画素セットを示す適切なフォントデータのテキストビットマップと組み合わされる。テキストビットマップは、ページ解像度又はソース解像度で生成される。ページ解像度の場合、単純な変換動作を使用してページの画素とテキストビットマップとの間のマッピングを行い、ソース解像度の場合、ページ−テキスト変換行列を使用してページの画素とテキストビットマップとの間のマッピングを行う。
テキスト列からテキストビットマップへの処理の一例を図19に示す。テキスト組み合わせ処理248への入力は、Times Roman15ptのフォントを使用する列「Omega」に対応する格納テキストデータ1910と、列において使用される15ptのTimes Romanフォントからの文字データ「O」(すなわち、1920)、「m」(すなわち、1930)、「e」(すなわち、1940)、「g」(すなわち、1950)及び「a」(すなわち、1960)である。このデータは、組み込み処理248(図2を参照)の一部を形成するテキスト組み合わせ処理1970により組み合わされ、列「Omega」1990を表すテキストビットマップが生成される。テキストの組み合わせは、文字の進行及びカーニング等の規則に従って列のバウンディングボックス内にグリフを配置するステップを含む。文字を組み合わせて列にすることの一例は、OpenType仕様書により与えられる。このビットマップはレンダラデータ記憶装置245に格納され、格納テキストデータ1980はテキストビットマップ1990を示すように更新される。
レンダラデータ記憶装置245に格納された抽出データがレンダリング可能な形態に処理されると、データは組み込みステップ248において中間形式ファイルに組み込まれる。これは、フィルマップに対する対応するレベル情報における外部データに対する全ての参照をレンダラデータ記憶装置245に格納されたデータに置換することを含む。
図20は、タイル状のフィルマップ1610に対するフィル合成シーケンステーブル2010及び更新されたレベル情報2020、2030、2040を示す。外部画像データ1732に対する参照がレンダラデータ記憶装置245内に格納された実際の画像データ2031に対する参照に置換されたことがわかる。同様に、外部テキストマスク1743に対する参照はレンダラデータ記憶装置に格納されたテキストマスク2043に置換された。
図21は、上記で図18に示した別のテキスト処理方法に対する更新されたレベル情報2110を示す。この場合、レベル情報#3B(すなわち、2110)は、レンダラデータ記憶装置245に格納されたテキストデータ2120を指すように更新される。テキストデータ2110は、新規のテキストビットマップ2130を指すように更新される。
レンダラに格納されたデータが中間形式ファイルに組み込まれると、結果として得られるレンダリング可能ファイル219は画素レンダリング装置160を使用して画素の色データ226にレンダリング可能である。フィルマップ形式ファイルのレンダリングは、各画素における適切なフィル合成シーケンスを評価することにより実行される。フィル合成シーケンス内のエントリがテキストビットマップを示す場合、適切な画素がビットマップ及びテストされた値から取得される。画素がアクティブである場合、ソースフィルが指定された合成演算子を使用して合成される。画素がアクティブでない場合、フィル合成シーケンス内のエントリは無視され、次のエントリが処理される。
別の構成
図22は、本発明のSDS構成の例が実現されるコンピュータグラフィックオブジェクト画像をレンダリングする別の画素レンダリングシステム2200を概略的に示すブロック図である。
画素レンダリングシステム2200は、モバイル装置2205及びクラウドサーバ2220を備える。モバイル装置2205は、インターネット2270を介してクラウドサーバ2220と通信する。
モバイル装置2205は、レンダリングを実行する制御プログラム2245とワードプロセッサ又はグラフィックソフトウェアアプリケーション等のソフトウェアアプリケーション2215との双方を実行するデバイスプロセッサ2240を備える。モバイル装置2205は、バス2250を介して結合される画素レンダリング装置2260及びメモリ2265を更に備える。画素レンダリング装置2260は、バス2250を介してデバイスプロセッサ2240に結合されるASICの形態であってもよい。画素レンダリング装置2260は、デバイスプロセッサ2240において実行するソフトウェアで実現されてもよい。画素レンダリング装置2260は、ディスプレイ又はプリンタエンジン等の出力装置に画素データを出力する。
クラウドサーバ2220は、レンダリングを支援するために使用されるクラウドプログラム2230を実行するクラウドプロセッサ2225を備える。
画素レンダリングシステム2200において、モバイル装置2205において実行するソフトウェアアプリケーション2215は、各ページがテキスト、線、フィル領域及び画像データ等のオブジェクトを含むページベースの文書を作成する。ソフトウェアアプリケーション2215は、ページ記述言語(PDL)ファイルの形態であるページの高レベルの記述を制御プログラム2245に渡す。制御プログラムは、インターネット2270を介して接触するクラウドプログラム2230に支援されてファイルをレンダリングする。
説明した構成は、コンピュータ及びデータ処理産業に適用可能であり、特に印刷産業に適用可能である。
上記の説明は本発明のいくつかの実施形態のみを示し、変更及び/又は変形は本発明の主旨の範囲から逸脱することなく行われる。実施形態は例示であって、限定するものではない。

Claims (12)

  1. 1または複数の属性を有する第1のページデータを文書にレンダリングする方法であって、
    メモリを有するレンダリング装置により、第1の形式の前記第1のページデータを受信するステップと、
    前記レンダリング装置により、所定の属性を有する前記第1のページデータの一部分を除去するステップと、
    前記レンダリング装置の前記メモリに前記除去データを格納するステップと、
    前記レンダリング装置により、前記第1の形式の変更された第1のページデータを生成するために前記第1のページデータに前記除去データに対する参照を挿入するステップと、
    前記変更された第1のページデータをプラットフォームサービス装置へ送信するステップと、
    前記プラットフォームサービス装置により、前記変更された第1のページデータから前記挿入された参照を含む第2の形式の第2のページデータを形成するステップと、
    前記レンダリング装置により、前記プラットフォームサービス装置から前記第2のページデータを受信するステップと、
    前記レンダリング装置により、前記挿入された参照及び前記レンダリング装置の前記メモリに格納された前記格納データを使用して前記第2のページデータを前記文書にレンダリングするステップと、
    を備えることを特徴とする方法。
  2. 前記第1のページデータはグラフィックオブジェクトのセットを含むことを特徴とする請求項1記載の方法。
  3. 前記第1のページデータは前記レンダリング装置により生成されることを特徴とする請求項1記載の方法。
  4. 前記第1のページデータは、テキストデータである前記属性を有するいくつかのページデータ及び画像データである前記属性を有する他のページデータを含み、前記所定の属性はテキストデータである前記データに関することを特徴とする請求項1記載の方法。
  5. 前記除去するステップ、前記挿入するステップ、前記格納するステップ、及び前記形成するステップのうちの1または複数のステップは、前記レンダリング装置及び前記プラットフォームサービス装置の少なくとも一方により、前記各ページデータの圧縮、前記各ページデータの伸張、及び前記各ページデータの色変換のうちの少なくとも1つを実行することを含むことを特徴とする請求項1記載の方法。
  6. 前記第1のページデータが画像データを含む場合、前記画像データ内の画像は所定のサイズより小さい場合に前記プラットフォームサービス装置へ送信され、所定のサイズ以上である場合に前記レンダリング装置により処理されることを特徴とする請求項1記載の方法。
  7. レンダリング装置により1または複数の属性を有する第1のページデータを文書にレンダリングする方法であって、
    第1の形式の前記第1のページデータを受信するステップと、
    所定の属性を有する前記第1のページデータの一部分を除去するステップと、
    前記レンダリング装置のメモリに前記除去データを格納するステップと、
    前記第1の形式の変更された第1のページデータを生成するために前記第1のページデータに前記除去データに対する参照を挿入するステップと、
    前記変更された第1のページデータをプラットフォームサービス装置へ送信するステップと、
    前記挿入された参照を含み且つ前記プラットフォームサービス装置により前記変更された第1のページデータから形成された第2の形式の第2のページデータを前記プラットフォームサービス装置から受信し、前記レンダリング装置が前記挿入された参照及び前記レンダリング装置の前記メモリに格納されたコピーデータを使用して前記第2のページデータを前記文書にレンダリングするステップと、
    を備えることを特徴とする方法。
  8. 1または複数の属性を有する第1のページデータを文書にセキュアに印刷する方法であって、
    メモリを有するレンダリング装置により、第1の形式の前記第1のページデータを受信するステップと、
    所定のセキュリティ属性を満たす前記第1のページデータの一部分を除去し、前記除去データが前記レンダリング装置の前記メモリに格納されるステップと、
    前記第1の形式の変更された第1のページデータを生成するために前記第1のページデータに前記除去データに対する参照を挿入するステップと、
    前記変更された第1のページデータをプラットフォームサービス装置へ送信するステップと、
    前記プラットフォームサービス装置を使用して、前記挿入された参照を含む第2の形式の第2のページデータを形成するステップと、
    前記レンダリング装置により前記第2のページデータを受信し、前記レンダリング装置が前記挿入された参照及び前記レンダリング装置の前記メモリに格納された前記除去データを使用して前記第2のページデータを前記文書にレンダリングするステップと、
    を備えることを特徴とする方法。
  9. 1または複数の属性を有する第1のページデータを文書にレンダリングするシステムであって、
    レンダリング装置と、
    プラットフォームサービス装置と、
    クライアント装置とを備え、前記レンダリング装置、前記プラットフォームサービス装置及び前記クライアント装置がネットワークを介して通信するように構成され、
    前記レンダリング装置は、プロセッサと、
    前記クライアント装置から第1の形式の前記第1のページデータを受信するステップと、
    所定の属性を有する前記第1のページデータの一部分を除去するステップと、
    前記レンダリング装置のメモリに前記除去データを格納するステップと、
    前記第1の形式の変更された第1のページデータを生成するために前記第1のページデータに前記除去データに対する参照を挿入するステップと、
    前記前記変更された第1のページデータをプラットフォームサービス装置へ送信するステップと、
    を備える方法を実行するように前記プロセッサに命令するコンピュータ実行可能制御プログラムを格納するメモリとを備え、
    前記プラットフォームサービス装置は、プロセッサと、前記変更された第1のページデータから前記挿入された参照を含む第2の形式の第2のページデータを形成するステップを備える方法を実行するように前記プロセッサに命令するコンピュータ実行可能クラウドプログラムを格納するメモリとを備え、
    前記コンピュータ実行可能制御プログラムは、前記第2のページデータを受信するステップを実行するように前記レンダリング装置の前記プロセッサに命令するように更に構成され、
    前記レンダリング装置は、前記挿入された参照及び前記レンダリング装置の前記メモリに格納されたコピーデータを使用して前記第2のページデータを前記文書にレンダリングすることを特徴とするシステム。
  10. 1または複数の属性を有する第1のページデータを文書にレンダリングするレンダリング装置であって、
    プロセッサと、
    第1の形式の前記第1のページデータを受信するステップと、
    所定の属性を有する前記第1のページデータの一部分を除去するステップと、
    前記レンダリング装置のメモリに前記除去データを格納するステップと、
    前記第1の形式の変更された第1のページデータを生成するために前記第1のページデータに前記除去データに対する参照を挿入するステップと、
    前記変更された第1のページデータをネットワークを介してプラットフォームサービス装置へ送信するステップと、
    前記変更された第1のページデータから形成され且つ前記挿入された参照を含む第2の形式の第2のページデータを前記プラットフォームサービス装置から受信するステップと、
    を実行するように前記プロセッサに命令するコンピュータ実行可能制御プログラムを格納するメモリとを備え、
    前記コンピュータ実行可能制御プログラムは、前記挿入された参照及び前記レンダリング装置の前記メモリに格納されたコピーデータを使用して前記第2のページデータを前記文書にレンダリングするステップを実行するように前記レンダリング装置の前記プロセッサに命令するように更に構成されることを特徴とするレンダリング装置。
  11. 1または複数の属性を有する第1のページデータを文書にレンダリングする方法を実行するように1または複数のプロセッサに命令するコンピュータ実行可能プログラムを格納する非一時的なコンピュータ可読記憶媒体であって、前記方法は、
    メモリを有するレンダリング装置により、第1の形式の前記第1のページデータを受信するステップと、
    前記レンダリング装置により、所定の属性を有する前記第1のページデータの一部分を除去するステップと、
    前記レンダリング装置の前記メモリに前記除去データを格納するステップと、
    前記レンダリング装置により、前記第1の形式の変更された第1のページデータを生成するために前記第1のページデータに前記除去データに対する参照を挿入するステップと、
    前記変更された第1のページデータをプラットフォームサービス装置へ送信するステップと、
    前記プラットフォームサービス装置により、前記変更された第1のページデータから前記挿入された参照を含む第2の形式の第2のページデータを形成するステップと、
    前記レンダリング装置により前記第2のページデータを受信し、前記レンダリング装置が前記挿入された参照及び前記レンダリング装置の前記メモリに格納されたコピーデータを使用して前記第2のページデータを前記文書にレンダリングするステップと、
    を備えることを特徴とする非一時的なコンピュータ可読記憶媒体。
  12. レンダリング装置により1または複数の属性を有する第1のページデータを文書にレンダリングする方法を実行するように1または複数のプロセッサに命令するコンピュータ実行可能プログラムを格納する非一時的なコンピュータ可読記憶媒体であって、前記方法は、
    第1の形式の前記第1のページデータを受信するステップと、
    所定の属性を有する前記第1のページデータの一部分を除去するステップと、
    前記レンダリング装置のメモリに前記除去データを格納するステップと、
    前記第1の形式の変更された第1のページデータを生成するために前記第1のページデータに前記除去データに対する参照を挿入するステップと、
    前記変更された第1のページデータをプラットフォームサービス装置へ送信するステップと、
    前記挿入された参照を含み且つ前記プラットフォームサービス装置により前記変更された第1のページデータから形成された第2の形式の第2のページデータを前記プラットフォームサービス装置から受信し、前記レンダリング装置が前記挿入された参照及び前記レンダリング装置の前記メモリに格納されたコピーデータを使用して前記第2のページデータを前記文書にレンダリングするステップと、
    を備えることを特徴とする非一時的なコンピュータ可読記憶媒体。
JP2013171716A 2012-08-30 2013-08-21 クラウドにより支援されるレンダリング Expired - Fee Related JP5653494B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
AU2012216550 2012-08-30
AU2012216550A AU2012216550B2 (en) 2012-08-30 2012-08-30 Cloud assisted rendering

Publications (2)

Publication Number Publication Date
JP2014063481A true JP2014063481A (ja) 2014-04-10
JP5653494B2 JP5653494B2 (ja) 2015-01-14

Family

ID=50189252

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013171716A Expired - Fee Related JP5653494B2 (ja) 2012-08-30 2013-08-21 クラウドにより支援されるレンダリング

Country Status (3)

Country Link
US (1) US9779064B2 (ja)
JP (1) JP5653494B2 (ja)
AU (1) AU2012216550B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5900456B2 (ja) * 2013-10-09 2016-04-06 コニカミノルタ株式会社 画像処理システム、画像形成装置、中継装置、管理方法、および制御プログラム
US20150326652A1 (en) * 2014-05-12 2015-11-12 Kerry Lee Davis System and method of transferring dynamic data in real time through wireless, server-less communication between a immobile computing device and a mobile computing device
US10250452B2 (en) * 2015-12-14 2019-04-02 Microsoft Technology Licensing, Llc Packaging tool for first and third party component deployment
US10296565B2 (en) * 2017-01-18 2019-05-21 International Business Machines Corporation Optimized browser object rendering
US11005739B2 (en) * 2018-09-05 2021-05-11 Richard K. Steen System and method for managing and presenting network data
CN114968139A (zh) * 2022-08-01 2022-08-30 北京索云科技股份有限公司 应用于服务器的通用打印方法、装置、电子设备及介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000222398A (ja) * 1999-01-29 2000-08-11 Fuji Xerox Co Ltd 文書のフィルタリング方法及び文書フィルタリングシステム
JP2002544596A (ja) * 1999-05-07 2002-12-24 アーゴウ インターラクティブ リミテッド 文書内のグラフィカルデータ
JP2003296258A (ja) * 2002-04-02 2003-10-17 Yaskawa Electric Corp オンライン情報提供装置及びオンライン情報提供方法
JP2004362538A (ja) * 2003-05-14 2004-12-24 Sharp Corp 文書データ変換装置、携帯電話装置、文書データ変換方法、文書データ変換プログラム、および文書データ変換プログラムを記録したコンピュータ読取可能な記録媒体
JP2007507179A (ja) * 2003-09-23 2007-03-22 アマゾン ドット コム インコーポレイテッド コンテンツのページ中の特徴を抑制する方法およびシステム
JP2010055153A (ja) * 2008-08-26 2010-03-11 Fujitsu Ltd 秘密情報の非表示化方法

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002229901A (ja) * 2001-01-31 2002-08-16 Fuji Photo Film Co Ltd 画像送信方法及び画像送信システム
US20030142335A1 (en) * 2002-01-30 2003-07-31 Oleinik John H. Conversion from page description language and conversion to printer language
US7542164B2 (en) * 2004-07-14 2009-06-02 Xerox Corporation Common exchange format architecture for color printing in a multi-function system
US8261058B2 (en) * 2005-03-16 2012-09-04 Dt Labs, Llc System, method and apparatus for electronically protecting data and digital content
WO2007089274A2 (en) * 2005-07-29 2007-08-09 Cataphora, Inc. An improved method and apparatus for sociological data analysis
US7917845B2 (en) * 2005-12-22 2011-03-29 Xerox Corporation System and method for managing dynamic document references
US7804612B2 (en) 2006-01-31 2010-09-28 Ricoh Company, Ltd. Network printing with driverless clients
US7978196B2 (en) * 2006-03-02 2011-07-12 Canon Kabushiki Kaisha Efficient rendering of page descriptions
US7936472B2 (en) * 2006-11-15 2011-05-03 Sharp Laboratories Of America, Inc. Driverless image printing
US20080222522A1 (en) * 2007-03-05 2008-09-11 Xerox Corporation Method of background form print submission for document enhancement
US8510648B2 (en) * 2007-04-13 2013-08-13 Open Text S.A. Application isolation system
JP5371289B2 (ja) * 2008-06-02 2013-12-18 キヤノン株式会社 情報処理装置、データ処理方法、プログラム
US20110194123A1 (en) * 2010-02-09 2011-08-11 Apple Inc. Printer that supports driverless printing
JP2011192250A (ja) * 2010-02-22 2011-09-29 Canon Inc クラウドコンピューティングシステム、クラウドコンピューティングシステムの制御方法
US9355282B2 (en) * 2010-03-24 2016-05-31 Red Hat, Inc. Using multiple display servers to protect data
US20120084350A1 (en) * 2010-10-05 2012-04-05 Liang Xie Adaptive distributed medical image viewing and manipulating systems
US8570568B2 (en) * 2010-10-15 2013-10-29 Xerox Corporation Web/cloud hosted publish and subscribe service
US8189225B1 (en) * 2011-10-04 2012-05-29 Google Inc. Printing to a cloud printer via NFC
US9361049B2 (en) * 2011-11-01 2016-06-07 Xerox Corporation Systems and methods for appearance-intent-directed document format conversion for mobile printing
US8988713B2 (en) * 2012-06-28 2015-03-24 Google Inc. Secure printing in a cloud-based print system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000222398A (ja) * 1999-01-29 2000-08-11 Fuji Xerox Co Ltd 文書のフィルタリング方法及び文書フィルタリングシステム
JP2002544596A (ja) * 1999-05-07 2002-12-24 アーゴウ インターラクティブ リミテッド 文書内のグラフィカルデータ
JP2003296258A (ja) * 2002-04-02 2003-10-17 Yaskawa Electric Corp オンライン情報提供装置及びオンライン情報提供方法
JP2004362538A (ja) * 2003-05-14 2004-12-24 Sharp Corp 文書データ変換装置、携帯電話装置、文書データ変換方法、文書データ変換プログラム、および文書データ変換プログラムを記録したコンピュータ読取可能な記録媒体
JP2007507179A (ja) * 2003-09-23 2007-03-22 アマゾン ドット コム インコーポレイテッド コンテンツのページ中の特徴を抑制する方法およびシステム
JP2010055153A (ja) * 2008-08-26 2010-03-11 Fujitsu Ltd 秘密情報の非表示化方法

Also Published As

Publication number Publication date
US9779064B2 (en) 2017-10-03
US20140068429A1 (en) 2014-03-06
AU2012216550B2 (en) 2016-02-04
JP5653494B2 (ja) 2015-01-14
AU2012216550A1 (en) 2014-03-20

Similar Documents

Publication Publication Date Title
JP5653494B2 (ja) クラウドにより支援されるレンダリング
US9484006B2 (en) Manipulation of textual content data for layered presentation
JP6193986B2 (ja) 画像を閲覧するための方法
US8433997B1 (en) Efficient portable document
US6801673B2 (en) Section extraction tool for PDF documents
CN108804053B (zh) 信息处理装置和存储介质
US7408556B2 (en) System and method for using device dependent fonts in a graphical display interface
US9286228B2 (en) Facilitating caching in an image-processing system
JP4673200B2 (ja) 印刷処理システムおよび印刷処理方法
US10515286B2 (en) Image processing apparatus that performs compression processing of document file and compression method of document file and storage medium
JP2016522464A (ja) 印刷可能文書ビューア最適化のためのシステムおよび方法
US20170243093A1 (en) Method of enhancing quality of image object included in compound document and apparatus for performing the method
US20080313201A1 (en) System and method for compact representation of multiple markup data pages of electronic document data
US9412187B2 (en) Delayed rendering of content
US10282403B2 (en) Server device, client device, information processing method, and recording medium
CN114048174A (zh) Ofd文档处理方法、装置及电子设备
JP2008299845A (ja) 透明オブジェクトのレンダリング・システムおよび方法
US20110296292A1 (en) Efficient application-neutral vector documents
JP6512763B2 (ja) 情報処理装置、情報処理方法、プログラム
US9036926B2 (en) Bitmap processing mechanism
US8340427B2 (en) Providing a symbol
US20130169983A1 (en) Method and Apparatus for Rasterizing Transparent Page
JP2007299321A (ja) 情報処理装置、情報処理方法、情報処理プログラム、及び、情報記憶媒体
JP2015089070A (ja) 文書ファイルに対する情報埋め込み装置
JP6108106B2 (ja) 文書ファイルに対する情報埋め込み装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140728

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140811

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140930

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20141020

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141118

R151 Written notification of patent or utility model registration

Ref document number: 5653494

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees