JP4428942B2 - 出力制御装置及び出力制御方法 - Google Patents
出力制御装置及び出力制御方法 Download PDFInfo
- Publication number
- JP4428942B2 JP4428942B2 JP2003164333A JP2003164333A JP4428942B2 JP 4428942 B2 JP4428942 B2 JP 4428942B2 JP 2003164333 A JP2003164333 A JP 2003164333A JP 2003164333 A JP2003164333 A JP 2003164333A JP 4428942 B2 JP4428942 B2 JP 4428942B2
- Authority
- JP
- Japan
- Prior art keywords
- attribute value
- output control
- structured document
- attribute
- interpretation
- 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.)
- Expired - Fee Related
Links
Images
Description
【発明の属する技術分野】
本発明は、デジタルデータ放送や、インターネットを始めとするデータ通信において配信されるコンテンツを印字する技術に関するものである。
【0002】
【従来の技術】
従来、XHTMLなどのマークアップ言語で記述したコンテンツの解釈実行および印字処理は、大規模な資源を駆使できるコンピュータ等で行なわれていた。このケースでは、まず、コンテンツ単位で継承マップを先行して一括構築し、しかる後に、印字データを作成する方式が採られていた。
【0003】
また、デジタルデータ放送を受信し、テレビ画面に放送の表示を行う画像情報処理装置において、データ放送画面を構成するBMLファイルを解析し、印刷機能を備える技術が存在している(例えば、特許文献1参照)。
【0004】
【特許文献1】
特開2003−037812号公報
【0005】
【発明が解決しようとする課題】
デジタルテレビ、携帯電話やデジタルカメラ等も、マークアップ言語で記述したコンテンツを取り扱うことが多くなってきている。ところが、このような機器では資源が限られているため、例えば、コンテンツを印字データに変換するに当たり、コンテンツ全体の印字データを保持することが困難である。
【0006】
本発明は、上記問題点に鑑みてなされたものであり、コマンドの解釈とコンテンツ等の情報の出力制御を並行して実行することを可能とし、出力制御装置側の処理負担を軽減することを目的とする。
【0007】
【課題を解決するための手段】
本発明の出力制御装置は、複数の要素と前記複数の要素のレイアウト情報とを含み、タグによりデータを区切ることでデータ構造を表現するマークアップ言語で記述された構造化文書に基づき画像を印刷装置に出力させる出力制御装置であって、構造化文書を入力する入力手段と、少なくとも1ページに対応した構造化文書を記憶するメモリと、前記入力手段より入力した構造化文書をコマンドラインごとに解釈する解釈手段と、前記解釈手段により要素を示すコマンドラインが解釈されるたびに前記構造化文書に含まれる複数の要素に対応して要素の属性値を示す複数のテーブルを記憶したリスト構造体を参照し、前記リスト構造体のうち参照されたテーブルが示す属性値に応じて、前記属性値または既に参照されているテーブルから継承された属性値を取得する取得手段と、前記構造化文書に含まれる複数の要素のうち前記解釈手段により解釈されたコマンドラインが示す要素が、前記取得手段により取得された属性値に基づく属性で要素のレイアウト情報に基づき配置された画像を印刷装置に出力させる出力制御手段と、を有し、
前記出力制御手段は、前記解釈手段による前記構造化文書の解釈が終了する前であっても前記入力手段により構造化文書が入力されて前記メモリに1ページに対応した構造化文書が記憶された場合に、要素が前記取得手段により取得された属性値に基づく属性で含まれる画像を出力させることを特徴とする。
本発明の出力制御方法は、複数の要素と前記複数の要素のレイアウト情報とを含み、タグによりデータを区切ることでデータ構造を表現するマークアップ言語で記述された構造化文書に基づき画像を印刷装置に出力させる出力制御方法であって、構造化文書を入力する入力工程と、前記入力工程より入力した構造化文書をコマンドラインごとに解釈する解釈工程と、前記解釈工程において要素を示すコマンドラインが解釈されるたびに前記構造化文書に含まれる複数の要素に対応して要素の属性値を示す複数のテーブルを記憶したリスト構造体を参照し、前記リスト構造体のうち参照されたテーブルが示す属性値に応じて、前記属性値または既に参照されているテーブルから継承された属性値を取得する取得工程と、前記構造化文書に含まれる複数の要素のうち前記解釈工程において解釈されたコマンドラインが示す要素が、前記取得工程において取得された属性値に基づく属性で要素のレイアウト情報に基づき配置された画像を印刷装置に出力させる出力制御工程と、を有し、前記出力制御工程では、前記解釈工程における前記構造化文書の解釈が終了する前であっても前記入力工程において構造化文書が入力されて1ページに対応した構造化文書がメモリに記憶された場合に、要素が前記取得工程において取得された属性値に基づく属性で含まれる画像を出力させることを特徴とする。
【0008】
【発明の実施の形態】
以下、本発明を適用した好適な実施形態を、添付図面を参照しながら詳細に説明する。
図1は、本発明の一実施形態に係る印字システムの構成を概略的に示したブロック図である。まず、本実施形態に係る印字システムは、チューナ(STB)10、メモリカード12、表示装置11、及び、プリンタコントローラ(SCB)21とプリンタエンジン22を含むプリンタ20によって構成される。
【0009】
さらに、チューナ10は、BML/P(印字用のBroadcast Markup Language)で表現されるコンテンツを、IEEE1394 Interface上で動作する、DPP(Direct Print Protocol)およびDPC(Direct Print Command Set)によって、プリンタコントローラ21に転送する。プリンタコントローラ21は、パッケージ化してあるBML/Pコンテンツを、複数のファイルに分離し、Parser(ここでは、字句解析・構文解析・意味解析を含む)の働きにより、印字可能ファイルに変換する。さらに、印字コマンド列に変換し、プリンタエンジン22に出力する。
【0010】
ここで、前述のように、BML/Pコンテンツを、予めチューナにて画像とレイアウト表現部をマルチパート化してからプリンタコントローラ21に転送しても良いが、レイアウト表現部のみをプリンタコントローラ21に送り、プリンタコントローラ21がレイアウト表現部で参照しているファイルをチューナ10に要求して、取得することもできる。
【0011】
図2は、本実施形態において適用するIEEE1394 Interfaceプロトコル・スタックを説明するための図である。
IEEE1394のリンク層のからアシンクロナス転送モードを用い、トランザクション、セッッション層の上にDPP(direct print protocol)/DPC(direct print command)を搭載したものである。
【0012】
図3は、本実施形態におけるDPP/DPCパケットを用いた“Send”データ構造を模式的に示した図である。また、図4は、本実施形態におけるDPP/DPCパケットのヘッダー各要素に対する意味付けを示した図である。
本実施形態ではsend data=“image”として利用する。図3中の“padding”とは、マルチパート化したコンテンツのバイト総数が4の倍数バイトでない場合に00hで埋めることである。
【0013】
図5は、本実施形態におけるチューナ(STB)内部でのデータ処理フローを示した図である。
ここで、コンテンツデータはMPEG-2方式により他のメディアと共に多重化され、さらに単一搬送波でPSKデジタル変調後、アンテナから送信される。“Block-01”では、受信した電波RFをチューナで選局・復調し、多重化ストリームであるMPEG-2 TS packetを得る。
【0014】
続く“Block-02”では、多重化ストリームからPIDフィルタリング処理/PSI分析処理に基づき、データ放送コンテンツを他のメディアから分離する。“Block-03”では、前分離されたデータ放送コンテンツだけを含むTSパケットをDSM-CC方式で定義される1周期分のデータ列としてカルーセルバッファにて一時保存する。“Block-04”では、カルーセルバッファで一時保存したデータ列(複数のDII+DDB)から、複数のフアイルを得て、チューナ内のフラッシュメモリ等の記憶装置に蓄える。すなわち、送出側が、一体(マルチパート)化した「モジュール」を再び、▲1▼静止画jpeg▲2▼図形png▲3▼文字text▲4▼制御コードtextを分離する。BMLブラウザソフトウェアは前記フアイルを順次読み出し、画面表示やリモコンとのデータの受け渡しおよび、印字の起動を行う。
【0015】
図6は、本実施形態に係るデジタルテレビチューナ(STB)のシステム構成を模式的に示した図である。
ハードウェアはCPUを始めとしたメモリ、チューナ・フロントエンド処理およびInterface制御用デバイス群からなる。STBシステム LSI base hardwareはシステム全体の制御用ロジックを集積したLSIチップセットある。オペレーティングシステムはデバイスドライバ、カーネル、ライブラリから構成されるソフト群である。デバイスドライバはインタフェースのリンク層・下位プロトコルを制御する。カーネルはタスクの制御、タスク間通信、資源の管理を行う。ライブラリはファイルシステムやインタフェースの上位プロトコルを制御するモジュールの集合である。ミドルウエアはデジタルテレビチューナに必須のアプリケーションで、ブラウザ(表示プログラム)など常駐ソフト群から成る。
【0016】
図7は、本実施形態におけるプリント専用API(Application Programming Interface)を説明するための図である。
アプリケーションはAPIで定義された「手続き」を用いて、ミドルウエア層と共同して、各機種依存の制御を担当する。たとえば、BML/PコンテンツとのAPIとして図6に示すようにDOM(document object model)を利用する。
【0017】
図8は、デジタルテレビ放送のチューナ内部におけるBML/Pコンテンツのファイル構成を示した図である。
なお、ここでは、「モジュール」を複数の独立したフアイルを含む「フォルダ」に近い意味で用いている。以下にBML/Pコンテンツのファイル構成を説明する。
【0018】
まず、放送される一つの番組を“イベント”と呼ぶ。イベント(ここでは、“AfternoonTea”)は複数のモジュールから構成される。モジュール名は“16進文字列4桁”で表現される。特別の番号“0x0000”で区別されるモジュールは、番組群のうち最初に起動され、通常は全体のメインメニュー(複数のフアイルを含む)を収容する。
【0019】
次に、モジュール番号“0x0000”の中には“startup.bml”と言う名前のフアイルが必ず存在する。表示ブラウザ(ソフト)はこのフアイルを最初に処理する。ところで、イベント全体に対する最大サイズの規定はないが、1モジュールの最大は約1MBである。また、1イベントあたりの最大モジュール数は256個である。チューナに実装するRAMのサイズは最小2MBと規定されているので、放送するコンテンツのサイズもそれ以下である必要がある。
【0020】
図9は、図8のモジュール群から印字用モジュール(ここでは、9999番)だけを書き出した図である。
このモジュールは、1個の「プリント用レイアウト情報」(ここでは、print.bml)と複数の付属する「画像ファイル」から成る。なお、印字用モジュールは全体で約300KBを最大の目安としている。また、このモジュール中にはxxxx.bmlが一個のみ存在することになっている。
【0021】
図10は、マルチパート化したファイルの一構成例を示した図である。以下に、前記複数のファイルからなるモジュールが1つにまとめられた(マルチパート化した)状態について説明する。
マルチパート化は電子メールなどでもよく利用される技術で、RFC1521(MIME)で規定されている。本実施形態における主な構成要素とその配列を説明する。まず、それぞれのファイルを区切るための文字(boundary)を定義する。次にモジュール全体のサイズが示される。さらに“Boundary”に続き、リソースリスト“resourceList”という情報が付加される。“resouceList”にはモジュールに含まれる全てのファイルの情報(メディアの型、ファイルの長さ、符号化方式、ファイルの名前等)が含まれる。さらに、“boundary”、ファイルの長さ、ファイルの名前など、さらに実ファイルデータの繰り返しとなる。
【0022】
図11は、デジタルテレビによるプリント実行処理を簡略化して示した図である。以下に、プリント実行のシーケンスを説明する。
プリンタの電源onで待機状態となったとき“online”がチューナに対して通知される。続いて、アプリケーションは、BML/Pのマルチパート化したコンテンツを準備する。
【0023】
次に、チューナは、前記コンテンツを1394 i/f Boardに予め定めるデータ・パケット形式で出力する。もし印刷実行中に不具合があった場合には、プリンタはチューナに対してエラーを通知する。通知を受けたチューナはその内容に対応するメッセージを表示する。エラーが復旧したとき、プリンタからチューナに対して“online”が通知される。
【0024】
図12は、デジタルデータ放送における著作権保護に関する一実施形態を説明するための図である。
まず、デジタルデータ放送によって配信されるコンテンツのうち、著作権および技術上の観点から「印字も可能」としてユーザに通知されたものであれば、ユーザの操作指示により、該データが印字装置に出力可能である。
【0025】
次に、著作権保護に関する第1の実施形態について説明する。
放送されたコンテンツは、一旦そのチューナ固有のファイルフォーマットに基づき、内部に一時記憶される。この記憶領域はチューナ内部に固定される媒体にのみマップされていて、ユーザが取り外しできない構造になっている。チューナはこのデータに基づき表示・画面制御用データを作成する。
【0026】
一方、ユーザが印字を指示したコンテンツは、著作権取り扱い判定・課金処理(セキュリティ シールド)で予め定める手段にて予めダウンロードされていた判定情報(SRM: System Renew-ability Messages)に基づき、選別・加工されバッファに転送される。
【0027】
ここで「加工」とは、画像データの解像度変換や不正・偽造防止用ウォーターマークの付加などを含む。印字用コンテンツは最終的にバッファに蓄えられる。このバッファ領域はチューナ内部に固定される媒体、或いは、ユーザが取り外しできるメモリカードにマップされる。なお、前記シールドを通過したファイル名は履歴として保存し、課金情報として利用する。前記バッファの内容は削除・重ね書きができる。一般にプリンタにファイル出力した時点でバッファの内容は削除される。
【0028】
次に、著作権保護に関する第2の実施形態である、セッションによる方法について説明する。
印刷命令が実行された後、チューナ側からプリンタに対してセッションを張る。セッションが張られた後は、プリンタ側からのファイル要求に応じて、チューナはファイルを転送する。全てのファイル転送が終了したら、プリンタ側から速やかにセッションを切断する。このように、セッションを張らないクライアントからのファイル要求は行えない。
【0029】
さらに、著作権保護に関する第3の実施形態である、名前空間による方法について説明する。
“印刷用APIで指定された名前空間以下のファイルへのアクセスのみ許す"というような名前空間による制限も課す。例えば、print(“~/0003/new.bml”)という命令を実行した場合、0003モジュールのファイルにしかアクセスを許さない。
【0030】
また、print(“arib-file://mydirectory/mysubdirectory/recipie.bml”)という命令の場合は“arib-file://mydirectory/mysubdirectory/”以下に格納されているファイルにしかアクセスできない。
【0031】
図13は、本実施形態で用いた、印字レイアウト用マークアップ言語BML/PとBMLとの関係を説明する図である。まず、BML/PとBMLとの違いを説明する。
BML/PはBMLマルチメディア符号化方式に基づき、デジタルテレビチューナが出力する、印字コンテンツのレイアウトを表現する。すなわち、BML1.0 における<element・property・value>およびCSS2.0におけるselector [property・value]のうちから、簡易な構成の出力デバイスでも処理可能なものを抽出している。BML/Pでは、ol/ul/liや簡易はテーブル要素をBML拡張機能として搭載している。逆に、BMLで使えたスクリプトやイベントハンドラ、あるいはDOMインタフェースは使えない。本実施形態では、チューナおよびBML/Pパーサ搭載のプリンタコントローラとプリンタエンジンの構成となっている。
【0032】
次に、XML系コンテンツを印字に応用する場合に想定される制限事項について説明する。
XML系コンテンツは、表示系の表現形式として発展・普及してきたが、最近印字にも応用しようとの動きがある。特にプリンタドライバを用いない、非PCプリンタ系にとってソリューションの候補となる。だだし、表示系と印字系の間の溝を、いかにして埋めるかが課題であった。たとえば、表示系ではスクロールという概念はあるがページの区切りはなない。一方印字系ではその逆でスクロールという概念はなく、ページのボックスの概念を適用する必要がある。
【0033】
なお、印字用コンテンツはSTB内部のアプリケーションソフトウエアの働きにより表示コンテンツに変換すれば表示可能である。逆に表示用コンテンツを印字用に加工もできる。一般に、表示用の画像は印字に必要な解像度を持たないため印字結果には制限が生じる。
【0034】
さらに、本実施形態では、表現可能なコンテンツ・オブジェクトは「テキストと画像」の各要素の組み合わせを用いている。BMLは表示レイアウトの保持、とりわけオブジェクトの絶対位置の再現性が保たれると言う特徴を有する。BML/Pもその特性に準拠している。本実施形態では、最終的な媒体上のサイズはA4またはA3の縦または、横としている。
【0035】
図14は、本実施形態で用いた、印字範囲の指定について説明するための図である。以下は、BML/Pにおける、メディアの大きさや形、メディア上での位置指定について説明している。
BMLではブロック要素を画面上で配置する場合、左上を原点とし、ピクセル単位で与えたグリッド上でのXY座標(left・top)、縦(height)、横幅(width)の絶対位置で指定する。
【0036】
一方、BML/Pでは、左上端を原点とするXY座標(left・top)、縦(height)、横幅(width)の絶対位置はmmを単位とし指定する。例えば、印字方向(オリエンテーション)及びメディアサイズは以下のように指定する。
出力メディアA4縦置きの場合は・・・@page[size: 210.1mm 297.1mm; portrait]
出力メディアA4横置きの場合は・・・@page[size: 297.1mm 210.1mm; landscape]
また、ブロック要素、例えばオブジェクトの場合は以下のようになる。
<object data=“xx.jpg”type=“image/jpg” style=“top:xxmm; left:xxmm; width:xxmm; hight:xxxmm;” />
【0037】
図15は、BML/PをXMLドキュメントとして、木構造で表現した図である。まず、BML/P文書の構造について以下に説明する。
“BML”が最上位に位置し、その下に“head”と“body”が配置される。“head”部分には“title”や“style”等が配置され、実際のコンテンツは“body”要素の下に位置することになる。ある要素の上に表される要素が親(ブロック)、その下は子(ブロック)となる。特定の場合を除き、属性は親(上位ブロック)から子(下位ブロック)に継承される。
【0038】
ところで、本実施形態のような民生用機器においては、リソースの制限により、PCで用いられているような大型のパーサは導入できない。従って、小規模のパーサで処理可能なレイアウト表現である必要がある。そこで、BMLとの相互変換が容易なBML/Pを考案した。BML/Pのパーサが分担する機能は、記号表の管理や木構造の検索・処理とか、記号表やリスト構造体の検索・管理などである。ここで、字句解析には、「?」、「!」、「<>」、「</>」、「= 」、「“ ”」、「;」、「:」等を検索キーとしている。
【0039】
図16は、BML/Pの表現・記述例を示した図である。以下はプリンタ側の処理についてそのCSSスタイルシートの管理を説明したものである。
まず、属性値は親から子に「継承」される。スタイルの記述方法にはドキュメント全体の設定(リンク読み込み型スタイル)、ページ全体の設定(埋め込み型スタイル)、インラインの設定(インライン型スタイル)の三段階がある。同じ属性に対して異なる方法が設定されている場合、より小さい部分(ブロック)での設定が優先される。デバイス固有のスタイルは、ドキュメント木構造におけるルートのイニシャル値(既定値)として作用する。
【0040】
さらに、属性値の継承を管理するには、各ノードに対する属性マップを予め作成し、実作業に備える。ここで、属性:属性値は各処理単位(ドキュメント)で完結し、その枠外(ボリューム)には継承しない。そこで、上記属性値のマップを用いてレイアウト情報を事前に作成する。次に、注目バンド幅(例=1インチ幅、最小=キャラクター1ライン、最大=1ページ)にヒットする画像やキャラクターを切り出して、描画し印字バッフアに蓄える。上記印字バッフアのデータを印字エンジンに対応するフォマットに変換し、所定の形式・手順・プロトコルで送出する。
【0041】
図17は、第1の属性値の継承管理法について説明するための図である。
ここにおいて、先ずBML/Pのツリーを解釈して属性値を調べる方法がある。このやり方は、one pass逐次処理方式に比べ、理にかなった効率的な方法である。ただし、ドキュメントデータが全て揃うまで処理を待たなければならない。ただし、Object(画像など)であらかじめ、レイアウト・大きさが解決できれば実体のダウンロードは後でもかまわない。
【0042】
Pass One(下準備):
Node毎に属性名→値のMapを保持する。
1)各Nodeを順に辿ってゆき、
2)そのNodeに合致するCSSを検索してMapに格納
3)そのMapをインラインのスタイルで上書き
*Mapの中身は例えばFont:xx; Width:xx; Height:xx; Color:xxx;などである。以下に「下準備」で作成した構造体のリンク状態例を示した。
【0043】
Pass Two(実作業):
1)実際に描画するときには、必要な属性名をMapから検索する。
2)Mapから検索できたらその値を使えばよい。
3)見つからない場合はデフォルトスタイルシートを参照する。
4)もし、デフォルトスタイルの値が“Inherit”である場合は、親Nodeをたどり、その親Nodeに対して上記手順を繰り返す。
【0044】
なお、ルートにたどり着いても“Inherit”のまま解決がつかない場合は、「埋め込みスタイル」を、さらには「デバイス固有のスタイル」を適用する。「デバイス固有のスタイル」は実装されるプラットフォーム・機器によって予め決められたものである。
【0045】
図18は、第2の属性値の継承管理法について説明するための図である。
この方式は、子nodeを描画するときには、必ず親nodeの情報は確定していることに注目した方式である。この方式に拠れば、ドキュメント情報が全て揃わななくとも処理を開始できる利点がある。ただし、テーブル要素などレイアウトに重大な結果をもたらすセレクタの処理等は注意が必要である。この場合は、事前に仕様の取り決め・制限を設ける。
【0046】
属性値の有効範囲は値が宣言されたブロックの内側で有効となる。そのブロックで宣言されていない属性が参照された時は、デフォルトスタイルシートを参照する。もし、デフォルトが「inherit」となっていたら、宣言が最初に存在する外側のブロックの値を採用する。ここで、前記ブロックの「内側・外側」はドキュメントの木構造における、ノードの「下位・上位」に対応する。
【0047】
以下に、本発明に一実施形態における継承の管理をリスト構造体で行う方法について説明する。
“scc_cont_tbl”はスタイル管理テーブル、“scc_tbl_xx”はスタイル登録テーブルをそれぞれ表す。すなわち、“scc_cont_tbl”は“scc_tbl”を管理するためのテーブルであり、“scc_tbl”へのリンクポインタや登録有効数などを記憶する。また、“tail_ptr”はリンクしているテーブルの最後のテーブルを示すポインタであり、“current_ptr”は現在処理中のブロック内で有効なテーブルのポインタであり、“number”は現在有効な登録テーブルの数をそれぞれ表す。
【0048】
“scc_tbl_00”はデバイス固有のスタイルを記憶する。次の“scc_tbl_01”はドキュメントヘッダにおいて<style>・・・</style>で宣言する「埋め込Style」を記憶する。“scc_tbl_02”以降は「インライン スタイル」を記憶する。“nex_ptr”は各テーブルの前方リンクである。一方、“pre_ptr”は各テーブルの後方リンクである。“scc_tbl”の初期値は「inherit」で、Inlineで属性が宣言される度にその値を上書きする。もし、内側のブロックに処理対象が遷移して、新たにインラインスタイルが宣言されれば、その内容を含むテーブルをリンクする。外側のブロックに処理対象が遷移する時は、現在のブロックに対応するテーブルを削除する。そこで、属性値が新たに宣言されたなら、その内容を含むテーブルをリンクする。
【0049】
以下では、プリンタ側の処理について、そのページレイアウトの管理を説明する。
プリンタが一度に受け入れることの出来るコンテンツの大きさは、コンテンツを保持できるメモリ容量に依存する。本実施形態では、プリンタは最低1ページ分のコンテンツを保持できるものとする。ところで、プリンタが上記保持容量を越えたとき、プリンタはその時点でページレイアウトを確定して、一旦印字する。しかる後に残りのコンテンツを受け入れてレイアウト処理を再開する。このケースではページ間でレイアウトの不連続が起きることがある。このレイアウトの不連続を改善するために、先行するページのレイアウト情報を後続するページに継承する。
【0050】
図19は、テーブル要素を実現するための実施形態を説明するための図である。
本実施形態では、テーブル外枠の幅をスタイルで指定できる。
例:<table style=“top:10mm; left:15mm; width:150;”/>
テーブル外枠の高さ指定もできる。
例:<table style=“top:10mm; left:15mm; width:150; hight:200;”/>
【0051】
ただし、前記ケースでは、出力メディアがある特定の形態に規定されるため、本来の「様々なメディア合わせてオートで配置する機能」を使う利便性は得られない。この場合、コンテンツ製作者の責任で、結果を予め確認することが前提となる。また、セルサイズを個々に指定することは出来ない。
【0052】
ところで、画像をセル内に配置する場合、予め画像サイズの指定があればそれに従う。無ければ、画像サイズは初期値であるセル幅均等割付を適用したセルサイズにフィティングされる。セルサイズが仮決定している状態で、そのセルサイズより大きい画像を配置するときは、画像のサイズを縮小する。
【0053】
さらに、テーブルはそのページ内で完結させることを前提とする。もし、コンテンツ表現におけるテーブル要素の作用する範囲が複数ページにまたがっていて、かつ、レイアウトの処理中にプリンタのリソースが不足したときは、処理を中断し、その時点での作表・レイアウトを決定する。そのページの印字が完了し、前リソースが開放した時点で、残りの表を新たにレイアウトし、印字する。この場合、表のセルサイズが前記ケースの前後で変化することがある。この場合、ページ送り後のセルサイズは直前のサイズを初期値とすることにより、スタイルの不連続が緩和する。
【0054】
また、本実施形態では、テーブルの途中で“page-brake”は適用しない。また、テーブルの入れ子の深さ(ネストレベル)は各プリンタのリソースに依存する。テーブルのセル幅・高さを自動決定する場合のルールはシステムで予め決めてある。コンテンツのレイアウトを表現する部分には、実体である画像データとその付加情報(画像データの大き、出力時のサイズ)を含む。ただし、テーブル外枠の大きさの指定があるときは、その外枠サイズを優先して適用する。
【0055】
以上説明してきたように、本実施形態によれば、属性値の管理を、ページやコンテンツ全体を単位として一括して行うのではなく、コマンドライン単位に逐次行うため、コマンドの解釈と印字の実行を平行して行える。また、大きな継承マップを保持する必要が無いので、パーサのリソースが少なくても済む利点がある。
【0056】
また、本実施形態によれば、印字データをプリンタエンジンの処理単位で形成できるため、ページやコンテンツ全体の印字データを保持する必要が無い。従って、印字データを保持するメモリも少なくて済む利点がある。さらに、本実施形態によれば、コンテンツが全て揃わなくとも印字データの作成を開始できるため、結果として、印字動作を早く開始できる利点がある。
【0057】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。
【0058】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、プログラムコード自体及びそのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0059】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。
【0060】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(基本システム或いはオペレーティングシステム)などが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0061】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0062】
ここで、本発明の実施態様を以下に列挙する。
[実施態様1]情報を入力する入力手段と、
前記入力手段より入力した前記情報内のコマンドライン間における属性値の継承管理を行う管理手段と、
前記情報に含まれるコマンドライン及び前記管理手段による管理内容を解釈する解釈手段と、
前記解釈手段による解釈結果に基づいて、出力手段に対して前記情報の出力制御を行う出力制御手段とを有することを特徴とする出力制御装置。
【0063】
[実施態様2]前記管理手段は、前記解釈手段が前記コマンドラインの解釈の度に参照し、或いは逐次有効な内容に更新するリスト構造体を含むことを特徴とする実施態様1に記載の出力制御装置。
【0064】
[実施態様3]前記情報は、前記情報内のデータがタグによって区切られることでデータ構造を表現するマークアップ言語で記述され、画像ファイルと前記画像ファイルのレイアウト情報とを含むことを特徴とする実施態様1又は2に記載の出力制御装置。
【0065】
[実施態様4]情報を入力する入力ステップと、
前記入力ステップにて入力された前記情報内のコマンドライン間における属性値の継承管理を管理手段において行う管理する管理ステップと、
前記情報に含まれるコマンドライン及び前記管理手段による管理内容を解釈手段にて解釈する解釈ステップと、
前記解釈手段による解釈結果に基づいて、出力手段に対して前記情報の出力制御を行う出力制御ステップとを含むことを特徴とする出力制御方法。
【0066】
[実施態様5]実施態様4に記載の出力制御方法をコンピュータに実行させるためのプログラム。
【0067】
[実施態様6]実施態様5に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【0068】
【発明の効果】
本発明によれば、コマンドの解釈と印刷処理とを並行で処理することが可能となり、出力制御装置側の処理負担を軽減することができる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係る印字システムの構成を概略的に示したブロック図である。
【図2】本発明の一実施形態において適用するIEEE1394 Interfaceプロトコル・スタックを説明するための図である。
【図3】本発明の一実施形態におけるDPP/DPCパケット Packetを用いた“Send”データ構造を模式的に示した図である。
【図4】本発明の一実施形態におけるDPP/DPCパケットのヘッダー各要素に対する意味付けを示した図である。
【図5】本発明の一実施形態におけるチューナ(STB)内部でのデータ処理フローを示した図である。
【図6】本発明の一実施形態に係るデジタルテレビチューナ(STB)のシステム構成を模式的に示した図である。
【図7】本発明の一実施形態におけるプリント専用API(Application Programming Interface)を説明するための図である。
【図8】デジタルテレビ放送のチューナ内部におけるBML/Pコンテンツのファイル構成を示した図である。
【図9】図8のモジュール群から印字用モジュール(ここでは、9999番)だけを書き出した図である。
【図10】マルチパート化したファイルの一構成例を示した図である。
【図11】デジタルテレビによるプリント実行処理を簡略化して示した図である。
【図12】デジタルデータ放送における著作権保護に関する一実施形態を説明するための図である。
【図13】本発明の一実施形態で適用した印字レイアウト用マークアップ言語BML/PとBMLとの関係を説明する図である。
【図14】本発明の一実施形態で適用した印字範囲の指定について説明するための図である。
【図15】 BML/PをXMLドキュメントとして、木構造で表現した図である。
【図16】 BML/Pの表現・記述例を示した図である。
【図17】第1の属性値の継承管理法について説明するための図である。
【図18】第2の属性値の継承管理法について説明するための図である。
【図19】テーブル要素を実現するための実施形態を説明するための図である。
【符号の説明】
10 チューナ
11 表示装置
12 メモリカード
20 プリンタ
21 プリンタコントローラ
22 プリンタエンジン
Claims (10)
- 複数の要素と前記複数の要素のレイアウト情報とを含み、タグによりデータを区切ることでデータ構造を表現するマークアップ言語で記述された構造化文書に基づき画像を印刷装置に出力させる出力制御装置であって、
構造化文書を入力する入力手段と、
少なくとも1ページに対応した構造化文書を記憶するメモリと、
前記入力手段より入力した構造化文書をコマンドラインごとに解釈する解釈手段と、
前記解釈手段により要素を示すコマンドラインが解釈されるたびに前記構造化文書に含まれる複数の要素に対応して要素の属性値を示す複数のテーブルを記憶したリスト構造体を参照し、前記リスト構造体のうち参照されたテーブルが示す属性値に応じて、前記属性値または既に参照されているテーブルから継承された属性値を取得する取得手段と、
前記構造化文書に含まれる複数の要素のうち前記解釈手段により解釈されたコマンドラインが示す要素が、前記取得手段により取得された属性値に基づく属性で要素のレイアウト情報に基づき配置された画像を印刷装置に出力させる出力制御手段と、
を有し、
前記出力制御手段は、前記解釈手段による前記構造化文書の解釈が終了する前であっても前記入力手段により構造化文書が入力されて前記メモリに1ページに対応した構造化文書が記憶された場合に、要素が前記取得手段により取得された属性値に基づく属性で含まれる画像を出力させることを特徴とする出力制御装置。 - 前記リスト構造体に含まれるテーブルが示す属性値の初期値は属性値の継承を示し、前記取得手段は、参照したテーブルが示す属性値が継承を示す属性値の場合に、継承を行って属性値を取得することを特徴とする請求項1に記載の出力制御装置。
- 前記リスト構造体に含まれるテーブルが示す属性値の初期値は属性値の継承を示し、前記解釈手段により解釈されたコマンドラインで属性値が宣言された場合に、テーブルが示す属性値を前記宣言された属性値に更新することを特徴とする請求項1又は2に記載の出力制御装置。
- 要素に対して属性値の継承を行う場合、前記要素の上位の要素から継承することを特徴とする請求項1乃至3の何れか1項に記載の出力制御装置。
- 複数の要素と前記複数の要素のレイアウト情報とを含み、タグによりデータを区切ることでデータ構造を表現するマークアップ言語で記述された構造化文書に基づき画像を印刷装置に出力させる出力制御方法であって、
構造化文書を入力する入力工程と、
前記入力工程より入力した構造化文書をコマンドラインごとに解釈する解釈工程と、
前記解釈工程において要素を示すコマンドラインが解釈されるたびに前記構造化文書に含まれる複数の要素に対応して要素の属性値を示す複数のテーブルを記憶したリスト構造体を参照し、前記リスト構造体のうち参照されたテーブルが示す属性値に応じて、前記属性値または既に参照されているテーブルから継承された属性値を取得する取得工程と、
前記構造化文書に含まれる複数の要素のうち前記解釈工程において解釈されたコマンドラインが示す要素が、前記取得工程において取得された属性値に基づく属性で要素のレイアウト情報に基づき配置された画像を印刷装置に出力させる出力制御工程と、を有し、
前記出力制御工程では、前記解釈工程における前記構造化文書の解釈が終了する前であっても前記入力工程において構造化文書が入力されて1ページに対応した構造化文書がメモリに記憶された場合に、要素が前記取得工程において取得された属性値に基づく属性で含まれる画像を出力させることを特徴とする出力制御方法。 - 前記リスト構造体に含まれるテーブルが示す属性値の初期値は属性値の継承を示し、前記取得工程では、参照したテーブルが示す属性値が継承を示す属性値の場合に、継承を行って属性値を取得することを特徴とする請求項5に記載の出力制御方法。
- 前記リスト構造体に含まれるテーブルが示す属性値の初期値は属性値の継承を示し、前記解釈工程において解釈されたコマンドラインで属性値が宣言された場合に、テーブルが示す属性値を前記宣言された属性値に更新することを特徴とする請求項5又は6に記載の出力制御方法。
- 要素に対して属性値の継承を行う場合、前記要素の上位の要素から継承することを特徴とする請求項5乃至7の何れか1項に記載の出力制御方法。
- 請求項5乃至8の何れか1項に記載の出力制御方法をコンピュータに実行させるためのプログラム。
- 請求項9に記載のプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003164333A JP4428942B2 (ja) | 2003-06-09 | 2003-06-09 | 出力制御装置及び出力制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003164333A JP4428942B2 (ja) | 2003-06-09 | 2003-06-09 | 出力制御装置及び出力制御方法 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2005004281A JP2005004281A (ja) | 2005-01-06 |
JP2005004281A5 JP2005004281A5 (ja) | 2006-06-29 |
JP4428942B2 true JP4428942B2 (ja) | 2010-03-10 |
Family
ID=34091154
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003164333A Expired - Fee Related JP4428942B2 (ja) | 2003-06-09 | 2003-06-09 | 出力制御装置及び出力制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4428942B2 (ja) |
-
2003
- 2003-06-09 JP JP2003164333A patent/JP4428942B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2005004281A (ja) | 2005-01-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7653752B2 (en) | Distribution contents forming method, contents distributing method and apparatus, and code converting method | |
US7706014B2 (en) | Printing apparatus and storage medium for printing apparatus | |
JP3863118B2 (ja) | 受信装置、印刷装置およびファームウェア更新システム | |
US6407821B1 (en) | Method and apparatus for printing documents including embedded print objects with an intelligent printing system | |
US20020171857A1 (en) | Information printing system | |
US6992785B1 (en) | Method, data structure and apparatus for identifying resources prior to printing | |
US20110128572A1 (en) | Printing apparatus, printing method and storage medium | |
US20070097416A1 (en) | Printing apparatus, print instruction apparatus, and printing system | |
US8069234B2 (en) | Web service execution method, processing method and apparatus | |
US8984397B2 (en) | Architecture for arbitrary extensible markup language processing engine | |
CN101410786A (zh) | 发送移动装置中的xhtml打印文档的方法和设备 | |
JP4428942B2 (ja) | 出力制御装置及び出力制御方法 | |
US20080313201A1 (en) | System and method for compact representation of multiple markup data pages of electronic document data | |
US7077586B2 (en) | Printing apparatus, content output apparatus, and printing system | |
US20080175268A1 (en) | method and system for providing interoperability of different version protocols without access to protocol specific code | |
JP2006235756A (ja) | 画像処理装置およびその方法 | |
JP2005317044A (ja) | 印刷コンテンツ送出装置、印刷装置および印刷システム | |
US20060092454A1 (en) | Printing device and printing method | |
JP2003237168A (ja) | 印刷システム、印刷装置、印刷データ生成方法、プログラム及び記録媒体 | |
US20090287733A1 (en) | Method for preparing prepress image data | |
JP2003241949A (ja) | 出力機器及びその出力方法、プログラム、記録媒体 | |
JP4510481B2 (ja) | 情報処理装置及び情報処理方法 | |
JP3639616B2 (ja) | 画像処理方法及び装置及びシステム | |
JP4994832B2 (ja) | 情報処理装置および情報処理方法およびプログラムおよび記録媒体 | |
Fernandes et al. | An improved parallel XSL-FO rendering for personalized documents |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060511 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060511 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090119 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090203 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090406 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090915 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091116 |
|
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: 20091208 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20091215 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121225 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131225 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |