JP2011154636A - レンダリングシステム、データの最適化方法、及びプログラム - Google Patents

レンダリングシステム、データの最適化方法、及びプログラム Download PDF

Info

Publication number
JP2011154636A
JP2011154636A JP2010017007A JP2010017007A JP2011154636A JP 2011154636 A JP2011154636 A JP 2011154636A JP 2010017007 A JP2010017007 A JP 2010017007A JP 2010017007 A JP2010017007 A JP 2010017007A JP 2011154636 A JP2011154636 A JP 2011154636A
Authority
JP
Japan
Prior art keywords
common object
rendering
common
server computer
unit
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.)
Pending
Application number
JP2010017007A
Other languages
English (en)
Inventor
Akiyoshi Miyata
晃佳 宮田
Yu Taeki
裕 妙木
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
Priority to JP2010017007A priority Critical patent/JP2011154636A/ja
Priority to US13/011,556 priority patent/US8488171B2/en
Publication of JP2011154636A publication Critical patent/JP2011154636A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • G06F3/1288Remote printer device, e.g. being remote from client or server in client-server-printer device configuration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1211Improving printing performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1244Job translation or job parsing, e.g. page banding
    • G06F3/1247Job translation or job parsing, e.g. page banding by conversion to printer ready format
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2206/00Indexing scheme related to dedicated interfaces for computers
    • G06F2206/15Indexing scheme related to printer interfaces for computers, indexing schema related to group G06F3/12
    • G06F2206/1508Load balancing

Abstract

【課題】 複数回参照される共通オブジェクトであっても、変形する際はその都度レンダリングしていたため、レンダリング時間がかかっていた課題がある。
【解決手段】 複数ページで利用され変形に際してレンダリングに時間がかかる共通オブジェクトであるか否かを判断し(S207,S208,S209)、複数ページで利用され変形に際してレンダリングに時間がかかる共通オブジェクトであると判断されない場合、変形済みの新しいオブジェクトを作成せず、複数ページで利用され変形に際してレンダリングに時間がかかる共通オブジェクトであると判断された場合、変形済みの新しいオブジェクトを作成する(S210)ことを特徴とする。
【選択図】 図8

Description

本発明は、オブジェクトのレンダリング(RIP)処理を行なうレンダリングシステム、データの最適化方法、及びプログラムに関わる。
現在、電子化やネットワークの発展により、カタログやパンフレット、チラシなどの商用印刷サービスでは、デジタルデータによる入稿が一般化しつつあり、またデジタルデータにより、必要なときに必要な分だけ印刷を実施するオンデマンド印刷化が進んできている。そのため、このデジタル商用印刷サービスでは、短期間で高品質の印刷を実現する必要があり、システムとして高速で高画質のプリンタの利用や、複数台のサーバーを利用して処理を分散することで実現している。
入稿されるデジタルデータは、PostScriptやPDF(Portable Document Format)などを印刷フォーマットとして利用している。これらの印刷フォーマットを利用した場合、レンダリング(RIP)処理をページ単位で行う必要がある。そのため、高速化を測るためにレンダリング処理を行うサーバーコンピューターを複数台活用することや、処理をマルチスレッド化、複数プロセス化などにより事前にレンダリング処理を行い、処理の負荷を分散し高速印刷を実現している。さらに印刷フォーマットとして、2007年9月より標準化されたPDF/VT(Variable and Transactional)も今後は利用の拡大が見込まれている。
またこれらの印刷フォーマットの場合、複数台のレンダリングサーバーコンピューターを利用したとしても、複数のページより共通で参照しているオブジェクトがあるなど、ページ単位で分割することができない。そのため、デジタルデータをページ単位に分割せずファイル単位でレンダリング処理を行うサーバーコンピューターへ送信し、必要なページのみレンダリング処理を実施するという特徴がある。
従来の印刷の負荷を分散する技術として、過去にレンダリング処理を実施した時間を蓄積し、次にレンダリング処理を実施する際に予測時間を立て、レンダリング処理を分散する方法(特許文献1参照)がある。また複数のレンダリング処理を行うサーバーコンピューターでページの昇順と降順でそれぞれレンダリング処理を行う方法(特許文献2参照)などがある。
特開2005−149347号公報 特開2007−213234号公報
従来から印刷時間を短縮するために、レンダリング(RIP)処理の高速化が行われてきた。しかし、レンダリング処理そのものを高速化することが中心であり、レンダリング処理前での高速化が行われていない課題がある。また印刷データはページ単位で分割することができないため、複数のレンダリングサーバーコンピューターで構成されたシステムであっても、ファイル単位ですべてのレンダリングサーバーコンピューターへ送付するという課題がある。そのため、ページ間で共通に参照しているオブジェクトを個別にレンダリングサーバーコンピューターでページ単位に処理を行うため、重複したオブジェクトに対し同一の処理を行っているという課題がある。
そこで本発明では、上記の問題を解決するためになされたもので、レンダリング結果の参照により、効率のよい印刷を行えるレンダリングシステムを提供する。
上記目的を達成するために、本発明のレンダリングシステムは、複数ページで利用され変形に際してレンダリングに時間がかかる共通オブジェクトであるか否かを判断する判断手段と、
前記判断手段により複数ページで利用され変形に際してレンダリングに時間がかかる共通オブジェクトであると判断されない場合、変形済みの新しいオブジェクトを作成せず、前記判断手段により複数ページで利用され変形に際してレンダリングに時間がかかる共通オブジェクトであると判断された場合、変形済みの新しいオブジェクトを作成する作成手段とを有することを特徴とする。
本発明によれば、レンダリング処理に掛かる速度への向上が可能となる。
レンダリングシステムの構成図 本発明の実施形態を示すブロック図 本実施例で扱うプログラムコードとデータに関するデータフロー図 共通オブジェクトの変形に関するイメージ図 サーバー間のオブジェクト検索に関するイメージ図 レンダリングサーバーコンピューター内の処理フロー図 レンダリングシステムに関するフローチャート インタープリット処理に関わるフローチャート 共通オブジェクトがない中間言語データ送信フローチャート 共通オブジェクトがある中間言語データ送信フローチャート 共通オブジェクト問い合わせに関するフローチャート 共通オブジェクト検索に関するフローチャート 実施例2の共通オブジェクト問い合わせに関するフローチャート 実施例3の共通オブジェクト問い合わせに関するフローチャート
〔実施例1〕
図1は、本発明の実施の形態に係るレンダリングシステムの構成を示す模式図である。
このレンダリングシステムは、レンダリングサーバーコンピューター102aから102n、クライアントコンピューター105、プリントサーバーコンピューター104、共通オブジェクト情報管理サーバー106、及び印刷装置103を有している。それらはネットワーク101を介して接続されている。レンダリングサーバーコンピューター102aから102nは、台数が限定されるものでなく、複数台有しても良い。また 共通オブジェクト情報管理サーバー106は、各レンダリングサーバーコンピューター102aから102nで代用可能である。
クライアントコンピューター105は、ネットワーク101を介して印刷データをプリントサーバーコンピューター104に送信する。プリントサーバーコンピューター104は、ネットワーク101に接続された各種装置とのデータの送受信を管理する。印刷装置103は、印刷データを受け取ると印刷を開始する。
図2は、本発明の実施形態を示すブロック図である。
図2の104は、プリントサーバーコンピューター104のブロック図である。図2の104の制御部203は、CPUであり、RAM202は、不揮発性の大容量メモリであり、ROM201からロードされた各種プログラムコードやデータファイルを記憶する。ROM201は、制御部203によって実行されるコンピュータープログラムを記憶する。図2の102a〜102nは、レンダリングサーバーコンピューター102a〜102nのブロック図である。図2の102aから102nの制御部205は、CPUであり、RAM208は、不揮発性の大容量メモリであり、ROM207からロードされた各種プログラムコードやデータファイルを記憶する。ROM207は、制御部205によって実行されるコンピュータープログラムを記憶する。印刷装置209は、ネットワークまたはケーブルなどによってデータ送信可能になっている。
プリントサーバーコンピューター104のネットワークI/F204は、レンダリングサーバーコンピューター102a〜102nのネットワークI/F206とネットワーク101を通じてデータ送信が可能になっている。本実施例では、プログラムコードがRAM202、RAM208上にロードされるものとして説明しているが、直接ROM201、ROM207から実行することも可能である。
図3は、本実施例で扱うプログラムコードとデータがどのような関係にあるかを示すデータフロー図である。また、本実施例では、印刷データのフォーマットとしてPDF/VTを例に記載しているが、PDF等の他の印刷データフォーマットであっても適用可能である。
図3の104は、プリントサーバーコンピューター104内の処理部である。PDF/VTデータ受信部302は、印刷データであるPDF/VTデータ301を受信し、処理対象の印刷データに対し、処理を行うようになっている。PDF/VTデータ受信部302は、PDF/VTデータ解析部303へPDF/VTデータ301を渡す。PDF/VTデータ解析部303は、PDF/VTデータ301内のメタデータより、Reference XObject参照情報を取得し共通で参照されているオブジェクトの情報を取得する。オブジェクト制御部304は、PDF/VTデータ解析部303で抽出された共通オブジェクト情報を基に、新規に共通オブジェクトを生成する必要があるオブジェクトを抽出する。オブジェクト生成部305は、オブジェクト制御部304で抽出された共通オブジェクトを新規の共通オブジェクトとして生成する。オブジェクト情報生成部306は、PDF/VTデータ301のメタデータにあるReference XObject参照情報をオブジェクト生成部305で作成された新規の共通オブジェクトの情報に書き換える。またオブジェクト情報生成部306は、PDF/VTデータ301のメタデータにあるReference XObject参照情報より、どのDPartから何回参照されているのか情報を取得する。なおDPartとは、PDF/VTで定義されているページをページ領域の階層に分類するデータを保持しているデータである。
さらにオブジェクト情報生成部306は、共通オブジェクトごとにページ間で参照している共通オブジェクトの数を抽出し、参照共通オブジェクト情報308に書き込む。例えば、1ページ目と2ページ目で同一の共通オブジェクトを2つ利用していた場合、1ページ目の参照共通オブジェクト情報308は、2ページと同じ共通オブジェクトが2つ存在するという情報を保持する。参照共通オブジェクト情報308は、ページ番号と共通オブジェクト情報、送信済みページ番号を保持する。インタープリット処理部307は、オブジェクト情報生成部306で作成されたPDF/VTデータを利用し、中間言語データ310を生成する。中間言語データ送信部309は、インタープリット処理部307で作成された中間言語データ310と参照共通オブジェクト情報308にある共通オブジェクト情報をページ単位でレンダリングサーバーコンピューター102a〜102nへ送信する。また、中間言語データ送信部309は、参照共通オブジェクト情報308の情報を書き換える。
レンダリングサーバーコンピューター102a〜102nの312は、印刷データである中間言語データ310を受信するデータ受信部であり、受信した中間言語データ310に対し、処理を行うようになっている。また中間言語データ受信部312は、中間言語データ解析部313へ中間言語データ310を渡す。
中間言語データ解析部313は、受信した中間言語データ310内の参照オブジェクト情報311より、参照している共通オブジェクト情報が存在するか確認する。中間言語データ解析部313は、処理対象の中間言語データ310のページをはじめて受信した場合、レンダリング処理部315へ中間言語データ310と共通オブジェクト情報を渡す。中間言語データ解析部313は、はじめてページを受信した以降の中間言語データ310のページを受信し、参照している共通オブジェクトがない場合、レンダリング処理部315へ中間言語データ310を渡しレンダリング処理をする。中間言語データ解析部313は、はじめてページを受信した以降の中間言語データ310のページを受信し、中間言語データ310に参照している共通オブジェクトがある場合、共通オブジェクト検索部314へ共通オブジェクト情報を渡す。
共通オブジェクト検索部314は、共通オブジェクト保持情報320を参照し、共通オブジェクト情報が存在しない場合、参照している共通オブジェクト情報を基に、別のレンダリングサーバーコンピューターにレンダリング済み共通オブジェクトの存在を検索する。共通オブジェクト検索部314は、別のレンダリングサーバーコンピューター内にレンダリング済みの共通オブジェクトを発見できなかった場合、レンダリング処理部315へ中間言語データ310を渡す。共通オブジェクト検索部314は、別のレンダリングサーバーコンピューターにレンダリング済み共通オブジェクトを発見できた場合、共通オブジェクト取得部316よりレンダリング済みの共通オブジェクトを取得する。レンダリング処理部315は、中間言語データ310のレンダリングを行う。
レンダリング処理部315は、中間言語データ解析部313から送信された参照オブジェクト情報に参照している共通オブジェクトがあった場合、共通オブジェクトキャッシュ部317へレンダリング済みの共通オブジェクトと共通オブジェクト情報を渡す。
レンダリング処理部315は、1ページ分のレンダリングが終了した後、レンダリング結果送信部323へレンダリング結果を渡す。
共通オブジェクトキャッシュ部317は、レンダリング処理部315で生成した共通オブジェクトのレンダリング結果,もしくは共通オブジェクト取得部316で取得した共通オブジェクトのレンダリング結果を、共通オブジェクトデータ318にキャッシュする。共通オブジェクトデータ318は、共通オブジェクトのレンダリングを行った結果のデータをキャッシュする。共通オブジェクト情報作成部319は、ページ単位に自レンダリングサーバーコンピューターで保持している共通オブジェクトの情報を共通オブジェクト保持情報320へ書き込みを行う。共通オブジェクト保持情報320は、レンダリングを行った共通オブジェクトのページ番号と共通オブジェクトの情報を保持する。
共通オブジェクト検索受付部321は、別のレンダリングサーバーコンピューターより共通オブジェクトの存在確認があった場合、共通オブジェクト検索部314を経由して共通オブジェクト保持情報320を参照することができる。共通オブジェクト送信部322は、共通オブジェクト検索受付部321で該当するオブジェクトが共通オブジェクト保持情報320に存在した場合、共通オブジェクトデータ318にアクセスする。共通オブジェクト送信部322は、共通オブジェクトデータ318より、キャッシュされている該当の共通オブジェクトデータを問い合わせされた別のレンダリングサーバーコンピューターへ送信を行う。
レンダリング結果送信部323は、レンダリング処理部315で作成された中間言語データ310のレンダリング結果を、プリントサーバーコンピューター104へ送信を行う。レンダリング結果受信部324は、レンダリング結果送信部323より送信されたレンダリング結果を受信し、キャッシュを行う。プリンタ送信部325は、レンダリング結果受信部324で受信したレンダリング結果をページ順にプリンタへ送信を行う。レンダリング結果を受信したプリンタは印刷を実行する。
以下、本発明の実施例を図面およびフローチャートを参照して説明する。
図4は、図3におけるPDF/VTデータ解析部303、オブジェクト制御部304、オブジェクト生成部305、オブジェクト情報生成部306の共通オブジェクトの新規作成イメージ図である。
図4の(A)は、印刷データとして入力されたPDF/VTデータ301の状態であり、図4の(B)は共通オブジェクトを抽出し、変形が含まれる共通オブジェクトを新規に作成した後の最適化された中間言語化データである。
図4の(A)のページ部402は、プリントサーバーコンピューター104で受信した印刷データであるPDF/VTデータである。図4の(A)のDpart401は、PDF/VTデータのメタデータにあるDPartである。図4の(A)の共通オブジェクト参照情報403は、PDF/VTデータのメタデータにあるReference XObject参照情報である。また図4の(A)の共通オブジェクト404は、PDF/VTデータの各ページが共通で利用しているオブジェクトデータである。
図4の(B)のページ部405は、中間言語化された印刷データである。図4の(B)の共通オブジェクト参照情報406は、共通で参照されているオブジェクト情報である。図4の(B)の共通オブジェクト407は、変形が含まれる複数回参照されている共通オブジェクトデータを新規に作成した後の共通オブジェクトデータである。図4の(B)の共通オブジェクト数情報408は、ページ間で利用している共通オブジェクトの数である。例えば左側の1列目と上段の1行目の1から5はページを示す。また1ページと5ページから参照される共通オブジェクトが1つ(Re)、2ページと4ページから参照される共通オブジェクトが2つ(Rb、Rd)、3ページと5ページから参照される共通オブジェクトが1つ(Rf)あることを示している。
PDF/VTデータ解析部303は、PDF/VTデータ(A)のDpart401および共通オブジェクト参照情報403を参照し、共通で利用しているオブジェクトの情報を取得する。その後、オブジェクト生成部305は、PDF/VTデータ解析部303の取得情報である共通オブジェクト情報を取得し、新規に作成するオブジェクトを特定する。オブジェクト情報生成部306は、図4の(A)のPDF/VTデータの共通オブジェクト参照情報403を新規に作成した共通オブジェクト情報で書き換えを行う。またオブジェクト情報生成部306は、共通オブジェクト参照情報406を基に、共通オブジェクト数情報408の作成を行い、参照共通オブジェクト情報308へ格納を行う。
オブジェクト情報生成部306で作成されたPDF/VTデータを基に,インタープリット処理部307は、図(B)の中間言語データを作成する。例えば、PDF/VTデータのページ部402のPage1は、共通オブジェクト404のXaを参照し、縮小と回転の変形を行い、Xa’を作成している。同様にPDF/VTデータのページ部402のPage5は、共通オブジェクト404のXaを参照し、縮小と回転の変形を行い、Xa’を作成している。
そのため、オブジェクト生成部305は、新規に作成が必要な共通オブジェクト404のXaの変形済み画像である共通オブジェクト407のReを生成する。オブジェクト情報生成部306は、PDF/VTデータのページ部402のPage1とPage5の共通オブジェクト参照情報403にあるXa’をReへ書き換えを行う。インタープリット処理部307は、オブジェクト情報生成部306で作成されたPDF/VTデータを基にインタープリット処理を行い、共通オブジェクト参照情報406を基に、共通オブジェクト数情報408の作成を行う。
また、Page4のRb’は、複数のページから参照されていないので変形済み共通オブジェクトの作成は行なわれない。図5は、図3におけるレンダリングサーバーコンピューター間の共通オブジェクト検索のイメージ図である。
プリントサーバーコンピューター501は、中間言語化した印刷データをレンダリングサーバーコンピューター502aから502nに振り分ける。共通オブジェクト情報管理サーバー505は、共通オブジェクト情報503a、503b、503nの情報を保持している。レンダリングサーバーコンピューター502aから502nの台数は、レンダリングシステムにより増減が可能である。またレンダリングサーバーコンピューター502aから502nは、共通オブジェクト情報管理サーバー505の機能を有することも可能である。
例えば、レンダリングサーバーコンピューター502aは、自身でレンダリングを作成または別のレンダリングサーバーコンピューターより取得したオブジェクトデータを共通オブジェクトデータ504aへキャッシュすることができる。レンダリングサーバーコンピューター502aは、キャッシュした共通オブジェクトデータの情報を共通オブジェクト情報503aへ保持することができる。レンダリングサーバーコンピューター502aでキャッシュされた共通オブジェクトデータ504aおよび共通オブジェクト情報503aは、別のレンダリングサーバーコンピューターより参照することができる。
レンダリングサーバーコンピューター502aは、共通オブジェクトデータを利用している中間言語データを処理する場合、レンダリングサーバーコンピューター502aですでにレンダリング処理を行い、保持しているか共通オブジェクト情報503aを参照する。レンダリングサーバーコンピューター502aは、共通オブジェクト情報503aに該当する共通オブジェクトデータの情報がない場合、レンダリングサーバーコンピューター502b、502nに問い合わせし、共通オブジェクト情報503b、503nを参照する。例えば、レンダリングサーバーコンピューター502aは、検索している共通オブジェクトデータがレンダリングサーバーコンピューター502nに存在した場合、レンダリングサーバーコンピューター502nへ共通オブジェクトデータの送信を依頼する。データの送信依頼を受けたレンダリングサーバーコンピューター502nは、該当する共通オブジェクトデータをキャッシュしている共通オブジェクトデータ504nより、レンダリングサーバーコンピューター502aへ送信を行う。送信された共通オブジェクトデータを取得したレンダリングサーバーコンピューター502aは、共通オブジェクトデータ504aへキャッシュすると共に、共通オブジェクト情報503aの書き換えを行う。
またその別のレンダリングサーバーコンピューターに関しても同様の処理機能を保有している。
図6は、例えば(1)のような中間言語データがレンダリングサーバーコンピューターへ送信された場合、レンダリングサーバーコンピューター内で実施される共通オブジェクト情報の検索と取得の処理を表すフローである。
中間言語データ(1)のオブジェクトデータは、共通オブジェクトではないオブジェクトデータ601と、共通オブジェクトであり別のレンダリングサーバーコンピューターでレンダリング済みのオブジェクトデータ602を参照している。さらに、中間言語データ(1)のオブジェクトデータは、共通オブジェクトであり別のレンダリングサーバーコンピューターでレンダリング済みでないオブジェクトデータ603を参照している。
(2)の図は、オブジェクトデータのレンダリング処理604、検索処理605、取得処理606を直列処理で実施した場合の処理を表すフローである。
まずレンダリング処理607で、レンダリング処理部315は、オブジェクトデータ601をレンダリングする。
レンダリング処理607で、オブジェクトデータ601のレンダリング処理が終了した後、検索処理605で、共通オブジェクト検索部314は、共通オブジェクトであるオブジェクトデータ602を別のレンダリングサーバーコンピューターに検索を行う。
検索処理605で、オブジェクトデータ602の検索が終了した後、取得処理606で、共通オブジェクト取得部316は、該当するオブジェクトデータ602を別のレンダリングサーバーコンピューターからレンダリング結果を取得する。共通オブジェクトキャッシュ部317は、共通オブジェクト取得部316で取得したオブジェクトデータ602のレンダリング結果を共通オブジェクトデータ318へキャッシュする。共通オブジェクト情報作成部319は、共通オブジェクトキャッシュ部317でキャッシュしたオブジェクトデータ602の共通オブジェクト情報を共通オブジェクト保持情報320へ保持する。
取得処理606で、オブジェクトデータ602の取得が終了した後、検索処理605で、共通オブジェクト検索部314は、共通オブジェクトであるオブジェクトデータ603を別のレンダリングサーバーコンピューターに検索を行う。共通オブジェクト検索部314は、検索結果が別のレンダリングサーバーコンピューターに存在しない場合、レンダリング処理部315へオブジェクトデータ603を渡す。
検索処理605で、オブジェクトデータ603の検索が終了した後、レンダリング処理604で、レンダリング処理部315は、オブジェクトデータ603をレンダリングする。
(3)の図は、オブジェクトデータのレンダリング処理607、検索処理608、取得処理609のそれぞれの処理が独立して動作する並列処理の場合の処理を表すフローである。
まずレンダリング処理607で、レンダリング処理部315は、オブジェクトデータ601をレンダリングする。平行して検索処理608で、共通オブジェクト検索部314は、共通オブジェクトであるオブジェクトデータ602を別のレンダリングサーバーコンピューターに検索を行う。
検索処理608で、オブジェクトデータ601の検索が終了した後、検索処理608で、共通オブジェクト検索部314は、共通オブジェクトであるオブジェクトデータ603を別のレンダリングサーバーコンピューターに検索を行う。平行して、取得処理609で、共通オブジェクト取得部316は、該当するオブジェクトデータ602を別のレンダリングサーバーコンピューターからレンダリング結果を取得する。共通オブジェクトキャッシュ部317は、共通オブジェクト取得部316で取得したオブジェクトデータ602のレンダリング結果を共通オブジェクトデータ318へキャッシュする。共通オブジェクト情報作成部319は、共通オブジェクトキャッシュ部317でキャッシュしたオブジェクトデータ602の共通オブジェクト情報を共通オブジェクト保持情報320へ保持する。
検索処理608で、オブジェクトデータ603の検索が終了した後、レンダリング処理607で、レンダリング処理部315は、オブジェクトデータ603をレンダリングする。
図7は、図3の全体の処理を表すフローチャートである。図7のフローチャートに関わるプログラムはプリントサーバーコンピューターのメモリに記憶されており、CPUにより実行される。
プリントサーバーコンピューター104が印刷データであるPDF/VTデータ301を送信されると、ステップS102で、PDF/VTデータ受信部302はPDF/VTデータ301を受信する処理を行う。
ステップS103で、PDF/VTデータ解析部303、オブジェクト制御部304、オブジェクト生成部305、オブジェクト情報生成部306は、PDF/VTデータ301を解析する。またステップS103で、インタープリット処理部307は、時間御かかる共通オブジェクトの作成と、中間言語データ310の作成をする処理を行う。
ステップS104で、中間言語データ送信部309は、中間言語化された印刷データに対し、ステップS105からS107を繰り返す処理を行う。ステップS105で、中間言語データ送信部309は、中間言語化された印刷データ310をレンダリングサーバーコンピューターへ送信する処理を行う。ステップS106で、レンダリング結果受信部324は、レンダリング結果送信部323から送信される印刷データのページ単位のレンダリング結果を受信し、キャッシュする処理を行う。ステップS107で、プリンタ送信部325は、レンダリング結果受信部324でキャッシュしたレンダリング結果をページ順にプリンタへ送信する。
図8は、図7のステップS103の詳細説明であり、図3のPDF/VTデータ解析部303からインタープリット処理部307の処理を表すフローチャートである。図8のフローチャートに関わるプログラムはプリントサーバーコンピューターのメモリに記憶されており、CPUにより実行される。
ステップS202で、PDF/VTデータ解析部303は、印刷データであるPDF/VTデータの解析処理を行う。
ステップS203で、PDF/VTデータ解析部303は、PDF/VTデータの構造を解析し、メタデータよりReference XObject 参照情報を参照する。ステップS204で、PDF/VTデータ解析部303は、ステップS203で取得した共通オブジェクト参照情報403より、各ページで参照している共通オブジェクト情報を取得する処理を行う。
ステップS205で、オブジェクト制御部304は、ステップS204で取得した共通オブジェクト参照情報403に共通オブジェクトが複数回参照されているか、同一のオブジェクト名称の出現回数を確認する。ステップS205で、オブジェクト制御部304は、共通オブジェクトが存在した場合、ステップS206へ進む。ステップS205で、オブジェクト制御部304は、共通オブジェクトが存在しなかった場合、ステップS213へ進む。
ステップS206で、オブジェクト制御部304は、共通オブジェクトがイメージデータであるかPDF/VTデータの構造を解析し、メタデータよりReference XObjectにあるグラフィック状態を確認し判断する処理を行う。ステップS206で、オブジェクト制御部304は、共通オブジェクトがイメージデータである場合、ステップS207へ進む。ステップS206で、オブジェクト制御部304は、共通オブジェクトがイメージデータではなかった場合、ステップS213へ進む。
ステップS207で、オブジェクト制御部304は、ステップS204で取得した各ページで参照している共通オブジェクト参照情報403より、共通オブジェクトが複数のページで参照しているかオブジェクト名称の出現回数を確認し判断する処理を行う。ステップS207で、オブジェクト制御部304は、共通オブジェクトが複数のページで参照している場合、ステップS208へ進む。ステップS207で、オブジェクト制御部304は、共通オブジェクトが複数のページで参照されていない場合、ステップS213へ進む。
ステップS208で、オブジェクト制御部304は、共通オブジェクトがアフィン変換であるか、PDF/VTデータの構造を解析し、イメージ座標系を確認し判断する処理を行う。すなわち、アフィン変換により拡大、縮小、平行移動、反転処理されレンダリングに時間がかかるオブジェクトであるかを判断する。ステップS208で、オブジェクト制御部304は、共通オブジェクトがアフィン変換されている場合、ステップS209へ進む。ステップS208で、オブジェクト制御部304は、共通オブジェクトがアフィン変換されていない場合、ステップS213へ進む。
ステップS209で、オブジェクト制御部304は、共通オブジェクトが単純回転かどうかイメージ座標系の情報と単純回転値を比較し判断する処理を行う。ステップS209で、オブジェクト制御部304は、共通オブジェクトが単純回転ではなかった場合、ステップS210へ進む。ステップS209で、オブジェクト制御部304は、共通オブジェクトが単純回転であった場合、ステップS213へ進む。なお、単純回転処理は、ハードで回転しても、ソフトで回転しても通常は高速に処理できるが、ハードの性能により、単純回転でも速度を出せない場合は、単純回転でもS210に進むようにしても良い。
ステップS210で、オブジェクト生成部305は、新しい共通オブジェクトを作成する処理を行う。
ステップS211で、オブジェクト情報生成部306は、PDF/VTデータのメタデータにあるXObject参照情報をオブジェクト生成部305で作成された新規の共通オブジェクトの情報に書き換える処理を行う。
ステップS212で、オブジェクト情報生成部306は、ステップS204で取得した各ページで参照している共通オブジェクト参照情報403を書き換え、参照共通オブジェクト情報308へ保持する処理を行う。
ステップS213で、インタープリット処理部307は、印刷データであるPDF/VTデータを中間言語化し、中間言語データ310を作成する処理を行う。
図9は、図3のプリントサーバーコンピューター104内に作成された中間言語データ310が、複数ページで共通オブジェクトを利用していない場合の処理を表す。具体的には、レンダリングサーバーコンピューターへ中間言語データ送信部309が、中間言語データ310を送信する処理を表すフローチャートである。また、図7のステップS105とステップS106の詳細説明である。図9のフローチャートに関わるプログラムはプリントサーバーコンピューターのメモリに記憶されており、CPUにより実行される。中間言語データ送信部309は、オブジェクト情報生成部306で作成された参照共通オブジェクト情報308を参照し、送信する中間言語データ310に複数ページで利用する共通オブジェクトが含まれていないか判断を行う。
ステップS302で、中間言語データ送信部309は、レンダリングサーバーコンピューターの台数を取得する。なおレンダリングサーバーコンピューターの台数は事前にプリントサーバーコンピューター104で保持しておいても良い。
ステップS303で、中間言語データ送信部309は、送信処理が開始された場合、レンダリングサーバーコンピューターの台数分、レンダリングサーバーコンピューターへ順番に1ページ分の中間言語データ310を送信する。またステップS303で、中間言語データ送信部309は、送信したページ番号と送信したレンダリングサーバーコンピューター情報を送信済みページ情報として参照共通オブジェクト情報308へ保持する処理を行う。
ステップS304で、レンダリングサーバーコンピューターは、PDF/VTデータ301の総ページ数から送信ページ数を引いた分だけステップS305からS307を繰り返す処理を行う。
ステップS305で、レンダリング処理部315は、レンダリングサーバーコンピューターで受信した1ページ分の中間言語データ310のレンダリング処理を行う。
ステップS306で、レンダリング結果送信部323は、レンダリング処理部315で作成されたレンダリング結果を、レンダリング結果受信部324へ送信する処理を行う。
ステップS307で、中間言語データ送信部309は、参照共通オブジェクト情報308に保持されている送信ページ番号を基に、送信していない1ページ分の中間言語データ310をレンダリングサーバーコンピューターへ送信する処理を行う。ステップS307で、中間言語データ送信部309は、送信したページ番号と送信したレンダリングサーバーコンピューター情報を参照共通オブジェクト情報308へ保持する処理を行う。
図10は、図3のプリントサーバーコンピューター104内に作成された中間言語データ310が複数ページで共通オブジェクトを利用する場合の処理である。具体的には、レンダリングサーバーコンピューターへ中間言語データ送信部309が、中間言語データ310を送信する処理を表すフローチャートである。また、図7のステップS105とステップS106の詳細説明である。図10のフローチャートに関わるプログラムはプリントサーバーコンピューターのメモリに記憶されており、CPUにより実行される。
中間言語データ送信部309は、オブジェクト情報生成部306で作成された参照共通オブジェクト情報308を参照し、送信する中間言語データ310に複数ページで利用する共通オブジェクトが含まれているか判断を行う。
複数ページで参照する共通オブジェクトが含まれるPDF/VTデータ301のインタープリット処理結果である中間言語データ310が作成された後、ステップS402で、中間言語データ送信部309は、レンダリングサーバーコンピューターの台数を取得する。なおレンダリングサーバーコンピューターの台数は事前にプリントサーバーコンピューター104で保持しておいても良い。
ステップS403で、中間言語データ送信部309は、送信処理が開始された場合、レンダリングサーバーコンピューターの台数分、レンダリングサーバーコンピューターへ順番に1ページ分の中間言語データ310を送信する。またステップS303で、中間言語データ送信部309は、送信したページ番号と送信したレンダリングサーバーコンピューター情報を送信済みページ情報として参照共通オブジェクト情報308へ保持する処理を行う。
ステップS404で、中間言語データ送信部309は、PDF/VTデータの総ページ数から送信したページ数を引いた分だけステップS407からS408を繰り返す処理を行う。
ステップS405で、レンダリング処理部315はレンダリングサーバーコンピューターで受信した1ページ分の中間言語データ310のレンダリング処理を行う。
ステップS406で、レンダリング結果送信部323は、レンダリング処理部315で作成されたレンダリング結果を、レンダリング結果受信部324へ送信する処理を行う。
ステップS407で、中間言語データ送信部309は、中間言語データ送信部309が参照共通オブジェクト情報308へ保持した送信済みページ情報と、オブジェクト情報生成部306で作成した共通オブジェクトデータ318を取得する。ステップS407で、中間言語データ送信部309は、取得した送信済みページ情報と共通オブジェクトデータを比較し未処理のページ番号を取得する。ステップS407で、中間言語データ送信部309は、参照共通オブジェクト情報308に保持しているページ番号と送信済みページ番号より、未処理のページ番号を取得する。中間言語データ送信部309は、この未処理のページ番号と、参照共通オブジェクト情報308(共通オブジェクト数情報408)の共通オブジェクト情報から、参照している共通オブジェクトの数が多いページの検索を行う。
ステップS408で、中間言語データ送信部309は、ステップS407で検索した未処理の中間言語データ310のページを送信する処理を行う。
ステップS409で、共通オブジェクト検索部314は、レンダリングサーバーコンピューターへ共通オブジェクトの検索処理を行う。
例えば、参照共通オブジェクト情報308に格納されているデータの例である図4の共通オブジェクト数情報408で具体例を説明する。まず、サーバーAに1ページ目を送信し、サーバーBに2ページ目を送信する。その後、サーバーAが1ページ目のレンダリングを終了した場合、未処理の3、4、5ページの中からサーバーAには3ページ目ではなく、1ページ目との共通オブジェクトを持つ5ページ目が送信される。次にサーバーBが2ページ目を終了した場合、未処理の3、4ページの中からサーバーBには3ページ目ではなく2ページ目との共通オブジェクトが多い4ページ目が送信される。このようにすることにより共通オブジェクトのキャッシュが有効になりサーバーは高速にレンダリング処理できる。最後にサーバーAが5ページ目のレンダリングを終了した場合、サーバーAには未処理の3ページ目が送信される。図11は、図10のステップS409の詳細説明であり、図3のレンダリングサーバーコンピューターが共通オブジェクトの検索からレンダリング済みの共通オブジェクトを取得する処理を表すフローチャートである。図11のフローチャートに関わるプログラムはレンダリングサーバーコンピューターのメモリに記憶されており、CPUにより実行される。
中間言語データ310を、中間言語データ受信部312で受信した後、ステップS502で、中間言語データ解析部313は、受信した中間言語データ310内の参照オブジェクト情報311を取得する処理を行う。
ステップS503で、中間言語データ解析部313は、中間言語データ310から取得した参照オブジェクト情報311より、共通オブジェクト情報が存在するか判断する処理を行う。ステップS503で、中間言語データ解析部313は、共通オブジェクト情報が存在した場合、ステップS504へ進む。ステップS503で、中間言語データ解析部313は、共通オブジェクト情報が存在しなかった場合、ステップS515へ進む。
ステップS504で、ステップS505からS513を繰り返す処理を行う。
ステップS505で、共通オブジェクト検索部314は、既に自レンダリングサーバーコンピューター内で、レンダリング処理を行った共通オブジェクト情報を共通オブジェクト保持情報320より取得する処理を行う。
ステップS506で、共通オブジェクト検索部314は、自レンダリングサーバーコンピューター内で、レンダリング処理を行った共通オブジェクトが存在した場合、ステップS513へ進む。ステップS506で、共通オブジェクト検索部314は、自レンダリングサーバーコンピューター内で、レンダリング処理を行った共通オブジェクトが存在しなかった場合、ステップS507へ進む。
ステップ507で、共通オブジェクト検索部314は、別のレンダリングサーバーコンピューターへレンダリング済み共通オブジェクトの存在を確認する処理を行う。レンダリング済み共通オブジェクトの存在確認は、任意の順番で検索が可能である。
ステップS508で、共通オブジェクト検索部314は、別のレンダリングサーバーコンピューターにレンダリング済み共通オブジェクトが存在するかどうかの判断を行い、共通オブジェクトが存在した場合、ステップS513へ進む。ステップS508で、共通オブジェクト検索部314は、別のレンダリングサーバーコンピューターにレンダリング済み共通オブジェクトが存在しなかった場合、ステップS509へ進む。
ステップ509で、共通オブジェクト検索部314は、すべてのレンダリングサーバーコンピューターの検索を行ったか確認する処理を行う。ステップ509で、共通オブジェクト検索部314は、すべてのレンダリングサーバーコンピューターの検索を行った場合、S511へ進む。ステップ509で、共通オブジェクト検索部314は、すべてのレンダリングサーバーコンピューターの検索を行っていない場合、S507へ進む。
ステップS510で、共通オブジェクト取得部316は、レンダリング済み共通オブジェクトが存在したレンダリングサーバーコンピューターより、該当する共通オブジェクトデータのレンダリング結果を取得する。
ステップ511で、レンダリング処理部315は、共通オブジェクトをレンダリングする処理を行う。
ステップS512で、共通オブジェクトキャッシュ部317は、ステップS510で別のレンダリングサーバーコンピューターから取得した共通オブジェクトを共通オブジェクトデータ318へキャッシュする処理を行う。またはステップS512で、共通オブジェクトキャッシュ部317は、ステップS511でレンダリングを行った共通オブジェクトを共通オブジェクトデータ318へキャッシュする処理を行う。
ステップS513で、共通オブジェクト情報作成部319は、ステップS512でキャッシュした共通オブジェクトの情報を共通オブジェクト保持情報320へ書き込みをする処理を行う。
図12は、図11のステップS507より呼び出される処理であり、レンダリングサーバーコンピューターが、別のレンダリングサーバーコンピューターより、共通オブジェクトを検索され該当する共通オブジェクトを送信する処理を表すフローチャートである。図12のフローチャートに関わるプログラムはレンダリングサーバーコンピューターのメモリに記憶されており、CPUにより実行される。
ステップS602で、共通オブジェクト検索受付部321は、別のレンダリングサーバーコンピューターより、共通オブジェクトのレンダリング結果の検索を受け付ける処理を行う。
ステップS603で、共通オブジェクト検索受付部321は、共通オブジェクト検索部314を経由し、該当する共通オブジェクトを保持しているか共通オブジェクト保持情報320を参照し検索する処理を行う。
ステップS604で、共通オブジェクト検索受付部321は、該当する共通オブジェクトが共通オブジェクト保持情報320で保持している場合、ステップS605へ進む。ステップS604で、共通オブジェクト検索受付部321は、該当する共通オブジェクトを保持していない場合、ステップS607へ進む。
ステップS605で、共通オブジェクト送信部322は、該当する共通オブジェクトをキャッシュしている共通オブジェクトデータ318より取得する処理を行う。
ステップS606で、共通オブジェクト送信部322は、共通オブジェクトデータ318より取得した共通オブジェクトを検索元のレンダリングサーバーコンピューターへ送信する処理を行う。
ステップS607で、共通オブジェクト送信部322は、問い合わせ元のレンダリングサーバーコンピューターへ該当する共通オブジェクトがないことを送信する処理を行う。
〔実施例2〕
本発明第1の実施の形態にあっては、共通オブジェクトの存在と取得を別のレンダリングサーバーコンピューターに順番に検索することで、共通オブジェクトを取得することを示した。しかしながら、レンダリングシステムの構成により検索方式を変更することができる。
図13は、図10のステップS409の詳細説明であり、別のレンダリングサーバーコンピューターに一斉に検索して共通オブジェクトの検索と取得を行う処理を表すフローチャートである。図13のフローチャートに関わるプログラムはレンダリングサーバーコンピューターのメモリに記憶されており、CPUにより実行される。
図3のプリントサーバーコンピューターから中間言語データ310を、中間言語データ受信部312で受信した後、ステップS702で、中間言語データ解析部313は、受信した中間言語データ310内の参照オブジェクト情報311を取得する処理を行う。
ステップS703で、中間言語データ解析部313は、中間言語データ310から取得した参照オブジェクト情報311より、共通オブジェクト情報が存在するか判断する処理を行う。ステップS703で、中間言語データ解析部313は、共通オブジェクト情報が存在した場合、ステップS704へ進む。ステップS503で、中間言語データ解析部313は、共通オブジェクト情報が存在しなかった場合、ステップS714へ進む。
ステップS704で、ステップS705からS712まで繰り返す処理を行う。
ステップS705で、共通オブジェクト検索部314は、既に自レンダリングサーバーコンピューター内で、レンダリング処理を行った共通オブジェクト情報を共通オブジェクト保持情報320より取得する処理を行う。
ステップS706で、共通オブジェクト検索部314は、自レンダリングサーバーコンピューター内で、レンダリング処理を行った共通オブジェクトが存在した場合、ステップS713へ進む。ステップS706で、共通オブジェクト検索部314は、自レンダリングサーバーコンピューター内で、レンダリング処理を行った共通オブジェクトが存在しなかった場合、ステップS708へ進む。
ステップS707で、共通オブジェクト検索部314は、すべての別のレンダリングサーバーコンピューターへレンダリング済み共通オブジェクトの存在を確認する処理を行う。
ステップS708で、共通オブジェクト検索部314は、別のレンダリングサーバーコンピューターへレンダリング済み共通オブジェクトが存在した場合、ステップS709へ進む。ステップS708で、共通オブジェクト検索部314は、別のレンダリングサーバーコンピューターへレンダリング済み共通オブジェクトが存在しなかった場合、ステップS710へ進む。
ステップS709で、共通オブジェクト取得部316は、レンダリング済み共通オブジェクトが存在したレンダリングサーバーコンピューターより、該当する共通オブジェクトのレンダリング結果を取得する処理を行う。
ステップS710で、レンダリング処理部315は、共通オブジェクトをレンダリングする処理を行う。
ステップS711で、共通オブジェクトキャッシュ部317は、ステップS708で取得した共通オブジェクトを共通オブジェクトデータ318へキャッシュする処理を行う。またはS711で、共通オブジェクトキャッシュ部317は、ステップS709でレンダリングを行った共通オブジェクトを共通オブジェクトデータ318へキャッシュする処理を行う。
ステップS712で、共通オブジェクト情報作成部319は、ステップS711でキャッシュした共通オブジェクトの情報を共通オブジェクト保持情報320へ格納する処理を行う。
〔実施例3〕
実施例1あるいは実施例2では、レンダリングサーバーコンピューターに共通オブジェクトの存在を問い合わせすることを説明してきた。ここでは共通オブジェクト情報を保持する共通オブジェクト情報管理サーバーが存在する場合のレンダリングシステムの場合について説明する。
共通オブジェクト情報管理サーバーコンピューターは、中間言語データのページ番号と、ページごとの共通オブジェクト情報、レンダリング処理の有無、レンダリングをしたレンダリングサーバーコンピューター情報を保持している。
図14は、図10のステップS409の詳細説明であり、共通オブジェクト情報を管理用のサーバーで管理し、そこから共通オブジェクトがどのレンダリングサーバーコンピューターに存在するか判断を行う処理を表すフローチャートである。図14のフローチャートに関わるプログラムはレンダリングサーバーコンピューターのメモリに記憶されており、CPUにより実行される。
図3のプリントサーバーコンピューターから中間言語データ310を、中間言語データ受信部312で受信した後、ステップS802で、中間言語データ解析部313は、受信した中間言語データ310から参照オブジェクト情報311を取得する処理を行う。
ステップS803で、中間言語データ解析部313は、中間言語データ310から取得した参照オブジェクト情報311より、共通オブジェクト情報が存在するか判断する処理を行う。ステップS803で、中間言語データ解析部313は、共通オブジェクト情報が存在した場合、ステップS804へ進む。ステップS803で、中間言語データ解析部313は、共通オブジェクト情報が存在しなかった場合、ステップS814へ進む。
ステップS804で、ステップS805からS812まで繰り返す処理を行う。
ステップS805で、共通オブジェクト検索部314は、既に自レンダリングサーバーコンピューター内で、レンダリング処理を行った共通オブジェクト情報を共通オブジェクト保持情報320より取得する処理を行う。
ステップS806で、共通オブジェクト検索部314は、自レンダリングサーバーコンピューター内で、レンダリング処理を行った共通オブジェクトが存在した場合、ステップS812へ進む。ステップS805で、共通オブジェクト検索部314は、自レンダリングサーバーコンピューター内で、レンダリング処理を行った共通オブジェクトが存在しなかった場合、ステップS807へ進む。
ステップS807で、共通オブジェクト検索部314は、共通オブジェクト情報管理サーバーへレンダリング済み共通オブジェクトが、別のレンダリングサーバーコンピューターに存在するか確認する処理を行う。
ステップS808で、共通オブジェクト検索部314は、別のレンダリングサーバーコンピューターへレンダリング済み共通オブジェクトが存在した場合、ステップS809へ進む。ステップS808で、共通オブジェクト検索部314は、別のレンダリングサーバーコンピューターへレンダリング済み共通オブジェクトが存在しなかった場合、ステップS810へ進む。
ステップS809で、共通オブジェクト取得部316は、共通オブジェクト情報管理サーバーより、レンダリング済み共通オブジェクトが存在するレンダリングサーバーコンピューター情報を取得する。共通オブジェクト取得部316は、該当するレンダリングサーバーコンピューターより、共通オブジェクトのレンダリング結果を取得する。
ステップS810で、レンダリング処理部315は、共通オブジェクトをレンダリングする処理を行う。
ステップS811で、共通オブジェクトキャッシュ部317は、ステップS809で取得した共通オブジェクトを共通オブジェクトデータ318へキャッシュする処理を行う。またはステップS811で、共通オブジェクトキャッシュ部317は、レンダリングを行った共通オブジェクトを共通オブジェクトデータ318へキャッシュする処理を行う。
ステップS812で、共通オブジェクト情報作成部319は、ステップS811でキャッシュした共通オブジェクトの情報を共通オブジェクト保持情報320へ格納する処理を行う。
本発明の実施の形態によれば、ページ単位に分割できるように中間言語化することで、印刷データの転送やレンダリング処理に掛かる速度への向上が可能となる。さらに、共通で利用しているオブジェクトのレンダリング結果を各レンダリングサーバーコンピューターで共有することにより、重複したレンダリングを実施しなくなり、印刷速度の向上が可能となる。また、メタデータを利用して、共通オブジェクトの情報を取得し、レンダリングサーバーコンピューターへ印刷データの送信を分散する処理に利用することで、効率的な分散が可能となる。
101 ネットワーク
102 レンダリングサーバーコンピューター
103 印刷装置
104 プリントサーバーコンピューター
105 クライアントコンピューター
106 共通オブジェクト情報管理サーバーコンピューター
201 ROM
202 RAM
203 制御部
204 ネットワークI/F
205 制御部
206 ネットワークI/F
207 ROM
208 RAM
209 印刷装置
301 PDF/VTデータ
302 PDF/VTデータ受信部
303 PDF/VTデータ解析部
304 オブジェクト制御部
305 オブジェクト生成部
306 オブジェクト情報生成部
307 インタープリット処理部
308 参照共通オブジェクト情報
309 中間言語データ送信部
310 中間言語データ
311 参照オブジェクト情報
312 中間言語データ受信部
313 中間言語データ解析部
314 共通オブジェクト検索部
315 レンダリング処理部
316 共通オブジェクト取得部
317 共通オブジェクトキャッシュ部
318 共通オブジェクトデータ
319 共通オブジェクト情報作成部
320 共通オブジェクト保持情報
321 共通オブジェクト検索受付部
322 共通オブジェクト送信部
323 レンダリング結果送信部
324 レンダリング結果受信部
325 プリンタ送信部

Claims (13)

  1. 複数ページで利用され変形に際してレンダリングに時間がかかる共通オブジェクトであるか否かを判断する判断手段と、
    前記判断手段により複数ページで利用され変形に際してレンダリングに時間がかかる共通オブジェクトであると判断されない場合、変形済みの新しいオブジェクトを作成せず、前記判断手段により複数ページで利用され変形に際してレンダリングに時間がかかる共通オブジェクトであると判断された場合、変形済みの新しいオブジェクトを作成する作成手段とを有することを特徴とするレンダリングシステム。
  2. 前記変形に際してレンダリングに時間がかかる共通オブジェクトはイメージデータを含むことを特徴とする請求項1に記載のレンダリングシステム。
  3. 前記変形はアフィン変換による変形を含むことを特徴とする請求項1または、請求項2に記載のレンダリングシステム。
  4. 前記作成手段により変形済みの新しいオブジェクトが作成された後、共通オブジェクトが各ページから何回参照されているかを示す参照情報を生成する生成手段を有し、
    前記参照情報は、オブジェクトのレンダリング処理を複数のレンダリングサーバーコンピューターで分散して処理する際に利用されることを特徴とする請求項1記載のレンダリングシステム。
  5. 前記レンダリングサーバーコンピューターは、
    レンダリング済みオブジェクトが存在するかどうかを別のレンダリングサーバーコンピューターに問い合わせる問い合わせ手段と、
    前記問い合わせ手段の結果に基づいて、別のレンダリングサーバーコンピューターからレンダリング済みの共通オブジェクトを取得する取得手段とを有することを特徴とする請求項4記載のレンダリングシステム。
  6. 前記レンダリングサーバーコンピューターは、
    レンダリング済みオブジェクトの存在を示す情報を保持する保持手段と、
    前記保持手段により保持された情報に基づいて、別のレンダリングサーバーコンピューターからレンダリング済みの共通オブジェクトを取得する取得手段を有することを特徴とする請求項4記載のレンダリングシステム。
  7. 前記レンダリングサーバーコンピューターは、
    レンダリング済みオブジェクトが別のレンダリングサーバーコンピューターに存在するかどうかを共通オブジェクト情報管理サーバーに問い合わせる問い合わせ手段と、
    前記問い合わせ手段の結果に基づいて、別のレンダリングサーバーコンピューターからレンダリング済みの共通オブジェクトを取得する取得手段を有することを特徴とする請求項4記載のレンダリングシステム。
  8. レンダリング処理を開始した時には、レンダリングサーバーコンピューターに1ページ分の情報を送信し、以降のページに関しては先にレンダリングを行ったページと共通オブジェクトが多く共通する未処理のページをレンダリングサーバーコンピューターに送信する送信手段を有することを特徴とする請求項4記載のレンダリングシステム。
  9. オブジェクトのレンダリング処理と、別のレンダリングサーバーコンピューターからのレンダリング済みのオブジェクトの取得処理を並列処理することを特徴とする請求項4記載のレンダリングシステム。
  10. 複数ページで利用され変形に際してレンダリングに時間がかかる共通オブジェクトであるか否かを判断する判断ステップと、
    前記判断ステップにより複数ページで利用され変形に際してレンダリングに時間がかかる共通オブジェクトであると判断されない場合、変形済みの新しいオブジェクトを作成せず、前記判断ステップにより複数ページで利用され変形に際してレンダリングに時間がかかる共通オブジェクトであると判断された場合、変形済みの新しいオブジェクトを作成する作成ステップとを有することを特徴とするデータの最適化方法。
  11. 前記作成ステップにより変形済みの新しいオブジェクトが作成された後、共通オブジェクトが各ページから何回参照されているかを示す参照情報を生成する生成ステップを有し、
    前記参照情報は、オブジェクトのレンダリング処理を複数のサーバーで分散して処理する際に利用されることを特徴とする請求項10記載のデータの最適化方法。
  12. 複数ページで利用され変形に際してレンダリングに時間がかかる共通オブジェクトであるか否かを判断する判断ステップと、
    前記判断ステップにより複数ページで利用され変形に際してレンダリングに時間がかかる共通オブジェクトであると判断されない場合、変形済みの新しいオブジェクトを作成せず、前記判断ステップにより複数ページで利用され変形に際してレンダリングに時間がかかる共通オブジェクトであると判断された場合、変形済みの新しいオブジェクトを作成する作成ステップとをコンピューターに実行させることを特徴とするプログラム。
  13. 前記作成ステップにより変形済みの新しいオブジェクトが作成された後、共通オブジェクトが各ページから何回参照されているかを示す参照情報を生成する生成ステップをコンピューターに実行させ、
    前記参照情報は、オブジェクトのレンダリング処理を複数のサーバーで分散して処理する際に利用されることを特徴とする請求項12記載のプログラム。
JP2010017007A 2010-01-28 2010-01-28 レンダリングシステム、データの最適化方法、及びプログラム Pending JP2011154636A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010017007A JP2011154636A (ja) 2010-01-28 2010-01-28 レンダリングシステム、データの最適化方法、及びプログラム
US13/011,556 US8488171B2 (en) 2010-01-28 2011-01-21 Rendering system, method for optimizing data, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010017007A JP2011154636A (ja) 2010-01-28 2010-01-28 レンダリングシステム、データの最適化方法、及びプログラム

Publications (1)

Publication Number Publication Date
JP2011154636A true JP2011154636A (ja) 2011-08-11

Family

ID=44308751

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010017007A Pending JP2011154636A (ja) 2010-01-28 2010-01-28 レンダリングシステム、データの最適化方法、及びプログラム

Country Status (2)

Country Link
US (1) US8488171B2 (ja)
JP (1) JP2011154636A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140091555A (ko) * 2011-11-16 2014-07-21 마이크로소프트 코포레이션 웹 페이지 렌더링 시간 측정 기법
JP2014223785A (ja) * 2013-04-23 2014-12-04 ブラザー工業株式会社 印刷装置および印刷システム

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8965933B2 (en) 2012-01-06 2015-02-24 Apple Inc. Multi-tiered caches in data rendering
US8976378B2 (en) * 2013-06-03 2015-03-10 Xerox Corporation Pre-flight system for PDF/VT
WO2016018214A1 (en) * 2014-07-28 2016-02-04 Hewlett-Packard Development Company, L.P. Pages sharing an image portion
JP6639198B2 (ja) * 2015-05-20 2020-02-05 キヤノン株式会社 画像形成装置、画像形成装置の制御方法及びプログラム
CN109523618B (zh) * 2018-11-15 2022-02-22 广东趣炫网络股份有限公司 一种3d场景的优化方法、装置、设备及介质

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6341018B1 (en) * 1999-04-23 2002-01-22 Electronics For Imaging, Inc. Preprocessing method for a variable data print job system
US6919967B1 (en) * 1999-11-18 2005-07-19 Hewlett-Packard Development Company, L.P. Printing performance enhancements for variable data publishing
US20050047647A1 (en) * 2003-06-10 2005-03-03 Ueli Rutishauser System and method for attentional selection
US7505172B2 (en) * 2003-10-31 2009-03-17 Hewlett-Packard Development Company, L.P. Method and systems for processing print jobs
JP2005149347A (ja) 2003-11-19 2005-06-09 Seiko Epson Corp 印刷データ分担処理システム、印刷要求端末、印刷装置、印刷データ処理プログラムおよび印刷制御プログラム、並びに印刷データ分担処理方法
JP2006201935A (ja) * 2005-01-19 2006-08-03 Fuji Xerox Co Ltd 画像データ処理装置
US7706603B2 (en) * 2005-04-19 2010-04-27 Siemens Corporation Fast object detection for augmented reality systems
US7657126B2 (en) * 2005-05-09 2010-02-02 Like.Com System and method for search portions of objects in images and features thereof
JP4390287B2 (ja) 2006-02-08 2009-12-24 キヤノン株式会社 印刷システム、及び、印刷装置及びその制御方法
AU2006252025B2 (en) * 2006-12-13 2012-10-04 Canon Kabushiki Kaisha Recognition of parameterised shapes from document images
AU2006252019B2 (en) * 2006-12-13 2012-06-28 Canon Kabushiki Kaisha Method and Apparatus for Dynamic Connector Analysis
JP5446490B2 (ja) * 2008-06-18 2014-03-19 株式会社リコー 情報処理装置及びプログラム
US7721209B2 (en) * 2008-09-08 2010-05-18 Apple Inc. Object-aware transitions
JP4921439B2 (ja) * 2008-09-11 2012-04-25 富士フイルム株式会社 画像データ処理装置および画像データ処理プログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140091555A (ko) * 2011-11-16 2014-07-21 마이크로소프트 코포레이션 웹 페이지 렌더링 시간 측정 기법
KR102047568B1 (ko) 2011-11-16 2019-11-21 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 웹페이지 렌더링 시간 측정 기법
JP2014223785A (ja) * 2013-04-23 2014-12-04 ブラザー工業株式会社 印刷装置および印刷システム

Also Published As

Publication number Publication date
US20110181912A1 (en) 2011-07-28
US8488171B2 (en) 2013-07-16

Similar Documents

Publication Publication Date Title
JP2011154636A (ja) レンダリングシステム、データの最適化方法、及びプログラム
US10114682B2 (en) Method and system for operating a data center by reducing an amount of data to be processed
CN110674432A (zh) 二级缓存方法、装置及计算机可读存储介质
US9148329B1 (en) Resource constraints for request processing
RU2645266C1 (ru) Способ и устройство для планирования web-обходчиков в соответствии с поиском по ключевым словам
JP6329758B2 (ja) システム、中継サーバ装置、情報処理方法及びプログラム
CN105359144A (zh) 用于意图查询的自然语言搜索结果
CN1202257A (zh) 用于定位万维网页以及计算机网络文件的系统和方法
CN108228743A (zh) 一种实时大数据搜索引擎系统
CN104956340B (zh) 可扩展数据重复删除
CN111339057A (zh) 减少回源请求的方法、装置及计算机可读存储介质
JP2010537324A5 (ja)
CN111274455A (zh) 图数据处理方法、装置、电子设备及计算机可读介质
US11762687B2 (en) Processing of messages and documents carrying business transactions
CN113438302A (zh) 动态资源多级缓存方法、系统、计算机设备及存储介质
US7660876B2 (en) Electronic file management
US20200012630A1 (en) Smaller Proximate Search Index
JP2009037409A (ja) 印刷データ蓄積装置
US11321415B2 (en) Method, apparatus and computer program for processing URL collected in web site
CN111782157B (zh) 快递面单打印管理方法、装置及系统
CN107656985B (zh) 网页查询方法及其系统
JP2011141587A (ja) 分散処理システム、分散処理方法、およびプログラム
JP2014119939A (ja) 情報処理装置、情報処理方法、プログラム、情報処理システム
JP2017062698A (ja) 情報処理システム、情報処理方法、クライアント装置、及び情報処理プログラム
US10042906B2 (en) Apparatus and method for data processing