(57)【要約】      （修正有）【課題】制御言語で書かれたファイルからＯＩへの変換処理を効率的に実行する。【解決手段】デジタルテレビを見ているユーザから印刷指示がなされると、プリンタ６００は、ＳＴＢ５００に対して、１ページの印刷に必要な印刷対象データを送信するように通知する。ＳＴＢから送られてくるＳａｍｐｌｅ．ｂｍｌを受信、解析して、画像の縦横サイズが不明な画像データを特定する。この特定した画像データの縦横サイズを送信するようにＳＴＢに通知する。そして、ＳＴＢから送られてくる縦横サイズに基づいて、印刷用のレイアウトを行った後、実際の画像データをＳＴＢから入手して、ページ単位で印刷を実行する。【選択図】図１３
2006012151.tif 000002
【特許請求の範囲】
【請求項１】
画像を含むコンテンツを保持するコンテンツ保持装置に接続される印刷装置であって、
前記コンテンツの一部又は全部のデータを取得するデータ取得手段と、
前記取得されたデータから、前記画像の縦横サイズを抽出するサイズ抽出手段と、
前記抽出された縦横サイズを用いて、前記画像を印刷するためのレイアウトを行うレイアウト手段と、
前記レイアウト手段の出力であるレイアウト結果に基づいて、前記画像のデータを前記コンテンツ保持装置に要求して取得する画像取得手段と、
取得された画像データと前記レイアウト結果とに基づいて、印刷イメージデータを生成し、印刷出力する印刷手段と
を備えることを特徴とする印刷装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書や画像を対象とする印刷装置等に関し、特にデジタルテレビ等に表示された文書や画像を印刷する際の印刷技術及び印刷方法に関する。
【背景技術】
【０００２】
従来、パーソナルコンピュータ（以下、「ＰＣ」と略す。）に接続されたプリンタによって、印刷対象（例えば、画像を含むXML文書）を表すデータ（以下、「印刷対象データ」という。）を印刷する場合は、印刷対象データをＰＣで制御言語（例えば、ページ記述言語）を用いて表現し、その後画像データの内容を含めてオブジェクトイメージ（以下、「ＯＩ」と略称する。）に変換し、その変換されたＯＩをさらに印刷イメージデータに変換し、この印刷イメージデータをプリンタで処理することによって印刷を行っている。
【０００３】
図１は、上記の従来の印刷時における制御言語を用いて表現されたファイルから印刷イメージデータが作成される様子を示した図である。図１に示されるように、まず、ＰＣで印刷対象データすべてに対し、制御言語を用いてページに関する情報を付加したファイルを生成し、次に、そのファイルのうち、印刷に必要なページ単位のデータをプリンタに送る。プリンタは、受信したデータに基づいて印刷を行う。この場合、文書内の文字データ、画像データ等すべてのデータが制御言語で記述されている。
【０００４】
しかし、従来のプリンタは、外部から送られてくるデータに対する受信機能を有しているが、ＰＣが有する機能である印刷対象データから制御言語で書かれたファイルへの変換機能を有していない機器（例えば、デジタルテレビのＳＴＢ）に接続して印刷を行うことは想定されていない。具体的には、デジタルテレビ画面に表示されるデジタル放送番組の画面は、画面の構成情報を含むＢＭＬファイル、表示画面の構成要素であるＪＰＥＧ（画像圧縮）ファイル及びＡＡＣ（音声圧縮）ファイル等、複数のファイルから構成されているが、このデジタルテレビのような機器にプリンタを接続して印刷を行う場合には、制御言語で書かれたファイルに変換する前のＳＴＢ等から送信されるデータ（例えば、ＢＭＬファイルやＪＰＥＧファイル）をプリンタがそのまま受信し、従来ＰＣが行っていた変換処理をプリンタが行わなければならない。このため、プリンタにおける変換処理等の処理負荷が増大すると共に、印刷時に必要とするメモリ量が増大し、コストが高くなる等の弊害が生じる。
【０００５】
そこで、本発明は、上記課題に鑑みてなされたものであり、従来ＰＣ等が行っていたＢＭＬファイルやＪＰＥＧファイル等から制御言語で書かれたファイルへの変換、さらに、従来プリンタが行っていた制御言語で書かれたファイルからＯＩへの変換処理を効率的に、かつより小さい記憶容量で実行し得る印刷装置、コンテンツ出力装置及び印刷システムを提供することを目的とする。
【発明の開示】
【０００６】
上記目的を達成するために、本発明に係る印刷装置は、画像を含むコンテンツを保持するコンテンツ保持装置に接続される印刷装置であって、前記コンテンツの一部又は全部のデータを取得するデータ取得手段と、前記取得されたデータから、前記画像の縦横サイズを抽出するサイズ抽出手段と、前記抽出された縦横サイズを用いて、前記画像を印刷するためのレイアウトを行うレイアウト手段と、前記レイアウト基づいて、前記画像のデータを前記コンテンツ保持装置に要求して取得する画像取得手段と、取得された画像データと前記レイアウトとに基づいて、印刷イメージデータを生成し、印刷出力する印刷手段とを備えることを特徴とする。
【０００７】
図２は、本発明に係る印刷装置による印刷時における印刷対象データが制御言語によって表現され、さらにＯＩが作成されるまでの様子を示した図である。図２に示されるように、上記図１の場合と比較すると、制御言語で書かれたファイルいおいて、画像データを格納したファイルがリンク情報によって記載されているため、プリンタ内のメモリ容量を節約させることができる。この場合、必要時にのみ、リンク情報及び画像の縦横サイズに基づいて画像データを展開する。
【０００８】
これにより、画像データのＯＩは、必要時に画像データが直接アクセスされて作成されるため、制御言語によるファイルに画像データに相当するの内容を記述させる必要がなくなり、受信した画像データと制御言語に変換したデータとを二重に保持することを回避することが可能となる。また、ＳＴＢに大きな負担をかけることなく、プリンタが有するメモリを効率良く利用しながら印刷処理を行うことが可能となる。
【０００９】
なお、本発明は、上記印刷装置として実現することができるだけでなく、上記印刷装置が備える特徴的な手段をステップとする印刷方法として実現したり、それらのステップをパソコン等のコンピュータに実行させるプログラムとして実現してもよい。そして、そのようなプログラムをＣＤ−ＲＯＭ等の記録媒体やインターネット等の伝送媒体を介して流通させることができるのは言うまでもない。
【発明を実施するための最良の形態】
【００１０】
以下、本発明に係る実施の形態について、図面を参照しながら詳細に説明する。
【００１１】
（実施の形態１）
図３は、本実施の形態における印刷システム１０を構成するＳＴＢ１００とプリンタ２００の機能構成を示すブロック図である。
【００１２】
ＳＴＢ１００は、デジタルテレビ放送のチューナ端末であり、プリンタ２００との通信時におけるデータの入出力を行う通信Ｉ／Ｆ部１０１、デジタルテレビ放送などの番組コンテンツ等を保存するためのＨＤＤ１０２、放送中又は放送前（より具体的には、デジタルテレビ等の画面に表示前）の番組のデータが保存される第１メモリ１０３、この第１メモリ１０３に記憶されているデータを一時退避して保存するための第２メモリ１０４、上記各部の制御を司るコントローラ部１０５等を有している。さらに、ＳＴＢ１００の各部は、Ｉ／Ｏバス１０９によって相互に接続されている。
【００１３】
なお、ＳＴＢ１００が第２メモリ１０４を備えているのは、以下の理由による。例えば、デジタルテレビ放送の場合、放送された番組のデータは、通常ＳＴＢ１００の第１メモリ１０３にのみ記憶されており、ユーザによる明示的な保存命令がなければ、番組の切替又は終了と共にデータは消去されてしまう。そして、番組放送中にユーザから印刷指示を受け付けたとしても、その印刷が終了する前に番組が切り替えられるか終了してしまうと、印刷したいデータがＳＴＢ１００の第１メモリ１０３上から消去され、印刷が完了できないという問題が生じる。この問題を解決するために、明示的な消去命令等がある場合を除き、印刷に必要なデータを退避させるために第２メモリ１０４を備えている。勿論、第１メモリ１０３に印刷したいデータが存在していれば、第１メモリ１０３からプリンタ２００に当該データを送信しても構わない。つまり、上記のデータの退避は、ＳＴＢ１００内のＨＤＤ１０２でも、プリンタ２００又はＳＴＢ１００に接続された外部記憶メディア等の何れでも構わなく、第２メモリ１０４を備えなくても、第１メモリ１０３内に必要な印刷対象データを保持させることができれば、第１メモリ１０３から送信してもよい。
【００１４】
プリンタ２００は、いわゆる「ＰＵＬＬ型」のプリンタであり、ＳＴＢ１００等から印刷指示の通知を受けると、ＳＴＢ１００から必要なデータを能動的に取得する。プリンタ２００は、ＳＴＢ１００との通信時におけるデータの入出力を行う通信Ｉ／Ｆ部２０１、ＳＴＢ１００から受信したデータや印刷処理中に作成される印刷イメージデータ等を保存するための記憶部２０３、受信したデータから制御言語で書かれたファイルへの変換及び制御言語で書かれたファイルの各命令を実行して生成される各イメージ（オブジェクトイメージ：ＯＩ）から印刷イメージデータへの変換を司る変換部２０２、印刷イメージデータに基づいて紙等にテキストや画像を描く印刷エンジン部２０４、ＳＴＢ１００を介してユーザからの印刷命令を受信する印刷命令受信部２０６、上記各部の制御を司るコントローラ部２０５等を有している。さらに、プリンタ２００の各部は、Ｉ／Ｏバス２０９によって相互に接続されている。なお、オブジェクトイメージは、画像イメージの小片であると共に、ページ全体における位置情報も有している。
【００１５】
また、印刷命令受信部２０６は、上記のＳＴＢ１００以外、例えばデジタルテレビ等が備えるリモコン等を介して印刷命令を受信することとしてもよい。
【００１６】
さらに、記憶部２０３は、ＳＴＢ１００から受信したデータを記憶する入力ファイル用バッファ２０３ａ、入力ファイル用バッファ２０３ａに記憶されているデータを制御言語で書かれたファイルに展開する展開用バッファ２０３ｂ、制御言語で書かれたファイルの実行に伴うオブジェクトイメージを保持するＯＩ用バッファ２０３ｃ、各オブジェクトイメージを合成して作成される印刷イメージデータを保持するイメージデータ用バッファ２０３ｄから構成される。
【００１７】
また、ＳＴＢ１００とプリンタ２００とは、例えばＩＥＥＥ１３９４でシリアル接続されている。なお、ＳＴＢ１００とプリンタ２００との接続はＩＥＥＥ１３９４でもＵＳＢ等でも構わない。プリンタ２００は、例えば、インクジェットプリンタ、レーザープリンタ等のプリンタやファクシミリ装置、コピー機等である。
【００１８】
次に、印刷システム１０における印刷時のデータのやり取りについて説明する。図４は、ＳＴＢ１００とプリンタ２００間におけるデータのやり取りを示す通信シーケンスである。図４においては、後述する図６に示される「１ページ目」に対してユーザから印刷命令があった場合を想定している。図４の印刷対象データは、「Ｓａｍｐｌｅ．ｂｍｌ」、「Ａ．ｊｐｇ」及び「Ｂ．ｊｐｇ」から成る放送番組ファイル群によって構成される。「Ｓａｍｐｌｅ．ｂｍｌ」は、各画像データファイルの文書構造（ファイルサイズや画像の縦横サイズ等）、画像データファイルが格納されている場所（リンク先）などが記述されている。「Ａ．ｊｐｇ」及び「Ｂ．ｊｐｇ」は、画面を構成する画像の画像データ（例えば、ヘッダ部と実体部を有するＪＰＥＧファイル等）である。なお、本実施の形態では、印刷対象データに対する内容等の加工は行なわず（例えば、色情報の変更はしないで）、そのまま印刷することとする。
【００１９】
最初に、プリンタ２００（印刷命令受信部２０６）は、ユーザからの印刷命令をＳＴＢ１００等を介して受信する。これにより、プリンタ２００からＳＴＢ１００に対して印刷対象データの送信要求が通知される（Ｓ１１）。この後、プリンタ２００は、ＳＴＢ１００から送信された印刷対象データを受信し（Ｓ１２）、プリンタ２００が有する入力ファイル用バッファ２０３ａに受信データを保存しようとする。
【００２０】
ここで、コントローラ部２０５は、受信した印刷対象データを入力ファイル用バッファ２０３ａに全て格納することができるか否かを判定し、格納できると判定、つまり、印刷対象データのサイズがプリンタ２００の入力ファイル用バッファ２０３ａのサイズ以下であると判定された場合、変換部２０２によって印刷前処理（即ち、印刷のためのレイアウト処理）が開始される。
【００２１】
一方、受信する印刷対象データが入力ファイル用バッファ２０３ａに完全に記憶することができないと判定された場合、コントローラ部２０５は、受信しようとした印刷対象データの全てをＳＴＢ１００内に保存するようにプリンタ２００からＳＴＢ１００に退避要求を出し（Ｓ１３）、ＳＴＢ１００の第２メモリ１０４に当該データを退避保存させるように通信Ｉ／Ｆ部２０１を制御する。このようにわざわざ退避保存させるのは、上記で述べたように、番組が終了等することによって印刷途中で処理が終了することを避けるためである。
【００２２】
なお、ＳＴＢ１００とプリンタ２００がPULL型の通信を行うことが仕様等であらかじめ決められている場合は、入力ファイル用バッファ２０３ａに記憶できるできないに関わらず、印刷指令をトリガーにして第2メモリ１０４に当該データを退避保存させてもよい。
【００２３】
ここで、記憶部２０３の各バッファのサイズを図１０に示す。プリンタ２００がＳＴＢ１００から受信する印刷対象データが入力ファイル用バッファ２０３ａに完全に保存できるかどうかは、印刷対象データのサイズ、つまり「Ｓａｍｐｌｅ．ｂｍｌ」の７ＫＢ、「Ａ．ｊｐｇ」の４０ＫＢ、「Ｂ．ｊｐｇ」の１４３ＫＢを合計した１９０ＫＢを示すデータを受信し、このサイズと入力ファイル用バッファ２０３ａのサイズである１１０ＫＢとをコントローラ部２０５において比較することによって判断する。本実施の形態の場合は、図１０の内容を参照することにより、コントローラ部２０５は、印刷対象データのデータ量が入力ファイル用バッファ２０３ａの容量の１１０ＫＢを超えているため、全ての印刷対象データは保存できないと判定する。
【００２４】
なお、ＳＴＢ１００から印刷対象データのサイズを表す情報を受信しなくとも、プリンタ２００側（例えば、コントローラ部２０５）において受信する印刷対象データのデータサイズを計算することとしてもよい。
【００２５】
なお、上記「Ｓａｍｐｌｅ．ｂｍｌ」については、受信後に入力ファイル用バッファ２０３ａに印刷が終了するまで保存させておくこととすれば（即ち、印刷終了まで消去を行わないとすれば）、２ページ以降の印刷を行う場合も、印刷対象データを再受信することなく、上記変換処理等を直ちに開始することができる。
【００２６】
ここで、入力ファイル用バッファ２０３ａが印刷対象データを一度に全て格納することができない場合の印刷処理について、図６を用いてさらに具体的に説明する。入力ファイル用バッファ２０３ａは、「Ｓａｍｐｌｅ．ｂｍｌ」と「Ａ．ｊｐｇ」とは記憶することができるが、「Ｂ．ｊｐｇ」については記憶することができない。しかし、１ページ目を印刷するには「Ｂ．ｊｐｇ」が必要である。さらに、印刷イメージデータを作成する前段階として、制御言語で書かれたファイルを作成するためには、基準となるファイルの構成情報（画面の縦横サイズ等）が必須であるため、プリンタ２００の入力ファイル用バッファ２０３ａにおいて、印刷が終了するまで「Ｓａｍｐｌｅ．ｂｍｌ」及び「Ａ．ｊｐｇ」や「Ｂ．ｊｐｇ」の画像の縦横サイズを保持することとする。
【００２７】
一般に、この画像の縦横サイズは、画像データのヘッダ部等に記述されている画像の縦横サイズの情報を読み取ることによって得られる。具体的には、図８に示す情報が入力ファイル用バッファ２０３ａ等に保持される。なお、この画像の縦横サイズは、ＳＴＢ１００から受信して得てもよいし、プリンタ２００内（例えば、コントローラ部２０５）で縦横サイズを計算してもよい。
【００２８】
さらに、ＳＴＢ１００が、予め「Ｓａｍｐｌｅ．ｂｍｌ」内に画像データの縦横サイズを格納し、その後プリンタ２００に送信するように機能してもよい。なお、印刷処理を実行する際には、この画像の縦横サイズに基づいて、画像の拡大処理や縮小処理を行ってもよい。
【００２９】
以下では、上記の印刷前処理について説明する。
【００３０】
まず、入力ファイル用バッファ２０３ａに格納されたデータ、例えば、図８における「Ａ．ｊｐｇ」及び「Ｓａｍｐｌｅ．ｂｍｌ」に格納されている構成情報（具体的には、図８に示すリストの情報）から「Ａ．ｊｐｇ」の画像の縦のサイズが２００[pixel]で横のサイズが５００[pixel]であるという情報を得て、変換部２０２が入力ファイルを制御言語で書かれたファイルに変換して、展開用バッファ２０３ｂ上に展開する。従来、画像データを含むデータを制御言語で書かれたファイルに変換する際、画像データの内容も含めて命令文として記載しているが、本実施の形態においては、画像データが常に入力ファイル用バッファ２０３ａに保持されているとは限らないので、制御言語で書かれたファイルに変換するときに、画像データのファイル名のみを明示した命令文を記述し、画像データの内容を命令文として記述することはしない。なお、複数ページに跨る画像データの全てのページについて印刷する必要がない場合、この方法は特に有効である。また、制御言語で記述されたファイルは、全てのページについて作成され、この制御言語で記述されたファイルが作成された時点で、全てのページ数が把握され得る。
【００３１】
制御言語で記述されたファイルが変換部２０２によって展開用バッファ２０３ｂ上に作成されると、１ページ目のオブジェクトイメージをＯＩ用バッファ２０３ｃ上に展開させるために、制御言語で記述された各命令を変換部２０２によって順次実行する。図７は、ＯＩ用バッファ２０３ｃ上に展開されるオブジェクトイメージを示す図である。変換部２０２が、ファイルの最初の行から命令を実行し、「Ａ．ｊｐｇ」のオブジェクトイメージをＯＩ用バッファ２０３ｃ上に作成する命令を実行する段階にくると、入力ファイル用バッファ２０３ａ上に記憶されているデータを確認する。すると、変換部２０２は、「Ａ．ｊｐｇ」自体が入力ファイル用バッファ２０３ａに記憶されているため、「Ａ．ｊｐｇ」を用いてオブジェクトイメージをＯＩ用バッファ２０３ｃ上に作成する。この処理の終了後、変換部２０２は、さらに「Ｂ．ｊｐｇ」のオブジェクトイメージをＯＩ用バッファ２０３ｃ上に作成する命令を実行する。しかし、変換部２０２は、入力ファイル用バッファ２０３ａ内には「Ｂ．ｊｐｇ」がないため、「Ａ．ｊｐｇ」の場合とは異なり、前に「Ｂ．ｊｐｇ」をＳＴＢ１００から取得しなければならない。
【００３２】
そこで、プリンタ２００は、ＳＴＢ１００に対して「Ｂ．ｊｐｇ」の再送要求を行う。「Ｂ．ｊｐｇ」は、ＳＴＢ１００の第２メモリ１０４からは印刷対象データのファイル群として送られてくるので、必要なデータ、つまり「Ａ．ｊｐｇ」が記憶されているメモリ空間に「Ｂ．ｊｐｇ」を上書きする。なお、「Ｂ．ｊｐｇ」の入力ファイル用バッファ２０３ａ上への格納は、既に処理が終了して不要になったファイル上への上書きでも、そのファイルを削除した後でもよい。図６のように画像データがページを跨いでいる場合は、１ページを構成するのに必要なバイト数だけ記憶すればよい。実際には、制御言語で記述するファイルを作成する際に、「Ｂ．ｊｐｇ」のデータのうち、どの部分が１ページ目であるかは特定が可能であるため、１ページ目の「Ｂ．ｊｐｇ」のバイト数を図９に示すように別途記憶しておけば、次のページの印刷処理をする際に用いることができる。「Ｂ．ｊｐｇ」が入力ファイル用バッファ２０３ａに格納されると、「Ｂ．ｊｐｇ」のオブジェクトイメージをＯＩ用バッファ２０３ｃ上に作成する命令を実行する。
【００３３】
なお、本実施の形態では「Ａ．ｊｐｇ」と「Ｂ．ｊｐｇ」が上下に並んでいる例で「Ａ．ｊｐｇ」を処理した後「Ｂ．ｊｐｇ」を処理したが、画像の配列がどのような状態であっても、制御言語で記述された命令の順に１つずつ処理されるため、画像の位置にかかわらず、ＯＩ作成の処理は可能である。
【００３４】
このようにして作成されたオブジェクトイメージを明示すると図７のようになる。位置情報を保持するこれらのオブジェクトイメージを用いて１ページ目の印刷イメージデータを変換部２０２によってイメージデータ用バッファ２０３ｄ上に作成する。イメージデータ用バッファ２０３ｄ上に展開される印刷イメージデータの様子を図６に示す。この印刷イメージデータを用いて、プリンタ２００の印刷エンジン部２０４によって印刷が実行される。
【００３５】
１ページ目の印刷が終了後、２ページ目を印刷するかどうかについては、ユーザからの指示を待つ。２ページ目の印刷を行うようにユーザから指示があった場合は、印刷処理を続行する。２ページ目を作成するときには、既に１ページ目を作成したときのデータ、具体的には展開用バッファ２０３ｂ上に全てのページに対応した制御言語で書かれたファイルが記憶されている。よって、２ページ目の処理は、１ページ目の処理の続きを考慮して処理を行う。
【００３６】
２ページ目を印刷するためには、１ページ目の制御言語で書かれたファイルを考慮して、オブジェクトイメージを作成する必要がある。２ページ目のオブジェクトイメージを作成するには「Ｂ．ｊｐｇ」の後半部分のデータがないため、このデータを取得する必要がある。それは、１ページ目において「Ｂ．ｊｐｇ」を受信した際に取得した「Ｂ．ｊｐｇ」のバイト数に基づいて入力ファイル用バッファ２０３ａに残りの「Ｂ．ｊｐｇ」のデータを格納すればよい。続く印刷イメージデータの作成処理は、１ページ目の処理と同様である。
【００３７】
図５は、上記図４の印刷を行なう場合のプリンタ２００における処理の流れを示すフローチャートである。
【００３８】
最初に、プリンタ２００は、ユーザから印刷要求があったら（Ｓ２０１）、ＳＴＢ１００に印刷対象データの送信要求を行い（Ｓ２０２）、印刷対象データ（例えば、ＢＭＬデータ及び画像データ）を受信する（Ｓ２０３）。
【００３９】
次に、プリンタ２００は、画像データに基づいて、その画像の縦横サイズを抽出し、画像データそのものは、メモリ容量の制約から一旦消去する。
【００４０】
さらに、プリンタ２００は、ＢＭＬデータと上記縦横サイズに基づいて印刷のためのレイアウトを決定し（Ｓ２０６、Ｓ２０７）、ＳＴＢ１００に画像データを送信するように要求する（Ｓ２０８）。
【００４１】
この後、プリンタ２００は、ＳＴＢ１００から画像データを受信し、印刷のためのイメージデータを完成させ、１ページ目の印刷を実行する（Ｓ２１０）。
【００４２】
以下同様に、２ページ以降の印刷も行う（Ｓ２１１、Ｓ２０６〜Ｓ２１０）。
【００４３】
以上の処理方法により、制御言語で書かれたファイルに変換されていないデータ（具体的には、「Ｓａｍｐｌｅ．ｂｍｌ」、「Ａ．ｊｐｇ」、「Ｂ．ｊｐｇ」）を入力した場合であっても複数ページにわたる印刷をも可能となり、画像データの送信側、つまりＳＴＢ１００側における複雑なデータ処理が不要となり、プリンタに接続される機器の処理依存度が小さくすることが可能となる。また、制御言語で書かれたファイルもオブジェクトイメージもプリンタ２００で作成するため、データサイズの大きい「Ａ．ｊｐｇ」や「Ｂ．ｊｐｇ」の内容は制御言語で書かれたファイルに記述させる必要はなく、そのファイル名を明示した命令を制御言語で書かれたファイルに記述すればよい。このことにより、プリンタ２００における展開用バッファ２０３ｂを有効に利用することができ、さらに必要な画像データのみを必要なときに入力ファイル用バッファ２０３ａに格納させることにより、入力ファイル用バッファ２０３ａを有効に利用することができる。
【００４４】
なお、上記の実施の形態では、画像データの送信側としてＳＴＢ１００を例として説明したが、携帯電話等のモバイル機器にプリンタ２００を接続して、外部のデータサーバからモバイル機器を介して画像データを受信することとしてもよい。また、ＳＤメモリ等の記憶媒体が搭載された電子レンジや冷蔵庫などの情報家電機器を介して、これらが有する記憶部に格納されているデータを受信することとしてもよい。これらの複雑な処理機能を持たない機器にデータ送信機能があれば、本実施の形態と同様の方法で印刷対象データを印刷させることが可能となる。さらに、上記実施の形態では、制御言語で書かれたファイルを作成するための基準となるファイルとしてＢＭＬファイルを用いたが、ＭＬ（Markup Language）で記載されたファイル、例えばＨＴＭＬファイルやＸＨＴＭＬファイル、ＸＭＬファイルでも、これ以外のファイルでもファイル構成の基準情報が入っているものであれば何でも構わない。
【００４５】
本実施の形態において、印刷対象データはテレビの画面上に表示されているデータとして説明したが、データがスクロール表示されているときは、画面に表示されず目に見えていないデータも含む。また、印刷対象データはテレビ画面上に表示されていないが番組の裏で保持されているデータ、例えば料理番組でテレビ画面上には表示されていない料理のレシピ情報のデータでも構わない。また、ファイル構成の基準情報の中に音声データ等の視覚で認識できるデータ以外のデータへリンクする記述があれば、これらの視覚で認識できるデータ以外のデータへのリンクを取り除く処理を、制御言語で記述するファイルを作成する際に行えばよい。
【００４６】
本実施の形態では画像データに関して制御言語で記述するファイル内にその画像データのファイル名でリンク情報を記述する例を示した。一方、制御言語で書かれたファイルを作成するための基準となる大元のファイルとは別に、基準となるファイルが、基準となる大元のファイルに従属する形で存在する場合の処理に関しては以下のようになる。基準となる大元のファイルを制御言語に変換するときに、従属している別の基準となるファイルのファイル名を、リンク情報として制御言語で記述するファイル内に記述する。その別の基準となるファイルを制御言語に変換するときは、本実施の形態と同様にこの別の基準となるファイルの内容に従って処理を行えば、例えば、テキストデータに関してはそのまま制御言語で記述し、画像データに関してはファイル名をリンクとして制御言語で記述し、ここで作成された制御言語で記述された命令に沿ってＯＩの作成、イメージデータの作成を行えば、本実施の形態と同様に印刷対象データ全体としての印刷処理が可能となる。
【００４７】
また、上記実施の形態では、入力ファイル用バッファ２０３ａに記憶されているデータから直接、制御言語で記述するファイルを作成したが、一度別のフォーマットにしてから制御言語で記述するファイルを作成しても良い。
【００４８】
さらに、最終ページを印刷した後であれば、印刷終了の確認なしで、印刷処理を終了しても構わない。また、１回の印刷完了毎にＳＴＢ１００に印刷完了メッセージを通知し、ＳＴＢ１００の第２メモリ１０４に退避しているデータを削除するとよい。また、１回の印刷完了毎にＳＴＢ１００に印刷完了メッセージを通知することによって、それまではＳＴＢが別の印刷処理の開始命令を出さないようにして、印刷途中の再送要求命令と、別の印刷処理の開始命令が衝突しないようにしてもよい。
【００４９】
本実施の形態では１ページ目、２ページ目と順に印刷したが、複数ページある際には、どのページを印刷できるか、ユーザに表示し、ユーザが印刷したいページを選択できる、例えば３ページ目、５ページ目と飛び飛びの印刷ができることが望ましい。また、記憶部２０３を明確に入力ファイル用バッファ２０３ａ、展開用バッファ２０３ｂ、ＯＩ用バッファ２０３ｃ、イメージデータ用バッファ２０３ｄと分けたが、物理的に切らずに全体として１つのメモリとしてもよい。例えば、展開用バッファ２０３ｂに空きがある場合に入力ファイル用にバッファ領域を大きく取ることにより、受信回数を減らすことができる。
【００５０】
（実施の形態２）
次に、本発明の実施の形態２における印刷システムを説明する。
【００５１】
上記実施の形態１では、ＳＴＢから受信した画像データが入力ファイル用バッファに格納できるか否かを判定し、格納できないと判定された場合は、印刷対象データの一部（具体的には、「Ｂ．ｊｐｇ」）を一旦削除して印刷用のレイアウトを行い、その後再度印刷対象データを取得して印刷を行う実施例を示したが、本実施の形態では、画像データのヘッダから縦横サイズを抽出して印刷用のレイアウトを行い、印刷に必要な分だけ画像の実体データを取得して印刷を行う場合の実施例について説明する。
【００５２】
図１１は、本実施の形態に係る印刷システム２０を構成するＳＴＢ３００とプリンタ４００間におけるデータのやり取りを示す通信シーケンス図である。
【００５３】
ＳＴＢ３００は、上記実施の形態１におけるＳＴＢ１００と同等の機能を有しているが、プリンタ４００から画像データのヘッダのみについて送信要求があった場合にも対応し得る点が、上記ＳＴＢ１００と異なる。
【００５４】
プリンタ４００は、上記実施の形態１におけるプリンタ２００と同等の機能を有しているが、ＳＴＢ３００に対し、画像データのヘッダのみについて送信要求を行う点が、上記プリンタ２００と異なる。
【００５５】
なお、以下においては、上記の実施の形態１における印刷システムと異なる構成について重点的に説明することとし、共通する構成については同一の符号を付し、その説明は省略する。
【００５６】
図１１に示されるように、プリンタ４００は、ＳＴＢ３００から最初に「Ｓａｍｐｌｅ．ｂｍｌ」のみを受信し（Ｓ２１、Ｓ２２）、「Ｓａｍｐｌｅ．ｂｍｌ」の中から縦横サイズが不明な画像ファイル（例えば、「Ｂ．ｊｐｇ」）を抽出する。
【００５７】
次に、プリンタ４００は、縦横サイズが不明な「Ｂ．ｊｐｇ」のヘッダをＳＴＢ３００から入手（Ｓ２３、Ｓ２４）する。なお、プリンタ４００は、「Ｂ．ｊｐｇ」のヘッダから縦横サイズを取り出した後は、この「Ｂ．ｊｐｇ」のヘッダは消去してもよい。以下、上記実施の形態１の場合と同様にレイアウトを作成（Ｓ１４、Ｓ１７）する。
【００５８】
この後、プリンタ４００は、「Ａ．ｊｐｇ」及び「Ｂ．ｊｐｇ」を必要に応じてＳＴＢ３００から入手し（Ｓ２５、Ｓ２６）、印刷のためのイメージデータを作成して印刷を行う（Ｓ１８）。
【００５９】
図１２は、本実施の形態におけるプリンタ４００における処理の流れを示すフローチャートである。
【００６０】
最初に、プリンタ４００は、ＳＴＢ３００に対して、印刷対象データとして「Ｓａｍｐｌｅ．ｂｍｌ」のみを要求し、入手する（Ｓ４０１、Ｓ４０２）。
【００６１】
次に、プリンタ４００は、「Ｓａｍｐｌｅ．ｂｍｌ」に基づいてレイアウトを開始し（Ｓ４０３）、画像データの縦横サイズの記載があるか否かを調べる（Ｓ４０４）。もし、「Ｓａｍｐｌｅ．ｂｍｌ」に縦横サイズの記載がない場合は（Ｓ４０４：Ｎｏ）、ＳＴＢ３００から「Ｂ．ｊｐｇ」のヘッダを入手する（Ｓ４０５）。
【００６２】
これにより、プリンタ４００は、「Ｂ．ｊｐｇ」のヘッダから縦横サイズを抽出し、印刷のためのレイアウトを終える（Ｓ２０７）。以下、上記実施の形態１と同様に、印刷を実行する（Ｓ２０８〜Ｓ２１１）。
【００６３】
以上のように、本実施の形態に係る印刷システム２０によれば、予めレイアウトに必要な縦横サイズが記載されているヘッダをＳＴＢから入手して印刷のためのレイアウトを終え、その後必要な画像データをＳＴＢから受信して印刷イメージデータを生成しているので、プリンタにおける印刷のためのバッファが小容量であっても、デジタルテレビ画面等の印刷を行うことができる。
【００６４】
（実施の形態３）
次に、本発明の実施の形態３における印刷システムを説明する。
【００６５】
上記実施の形態１では、ＳＴＢから受信した画像データが入力ファイル用バッファに格納できるか否かを判定し、格納できないと判定された場合は、印刷対象データの一部（具体的には、「Ｂ．ｊｐｇ」）を一旦削除して印刷用のレイアウトを行い、その後再度印刷対象データを取得して印刷を行う実施例を示したが、本実施の形態では、ＳＴＢから縦横サイズを取得して印刷用のレイアウトを行い、印刷に必要な分だけ画像の実体データを取得して印刷を行う場合の実施例について説明する。
【００６６】
図１３は、本実施の形態に係る印刷システム３０を構成するＳＴＢ５００とプリンタ６００間におけるデータのやり取りを示す通信シーケンス図である。
【００６７】
ＳＴＢ５００は、上記実施の形態１におけるＳＴＢ１００と同等の機能を有しているが、プリンタ６００から画像データの縦横サイズのみについて送信要求があった場合にも対応し得る点が、上記ＳＴＢ１００と異なっている。
【００６８】
プリンタ６００は、上記実施の形態１におけるプリンタ２００と同等の機能を有しているが、ＳＴＢ５００に対し、画像データの縦横サイズのみについて送信要求を行う点が、上記プリンタ２００と異なっている。
【００６９】
なお、以下においては、上記の実施の形態における印刷システムと異なる構成について重点的に説明することとし、共通する構成については同一の符号を付し、その説明は省略する。
【００７０】
図１３に示されるように、プリンタ６００は、「Ｓａｍｐｌｅ．ｂｍｌ」の中から縦横サイズが不明な画像ファイル（例えば、「Ｂ．ｊｐｇ」）を抽出する。画像の縦横サイズが不明な画像を抽出後、ＳＴＢ５００からその（例えば、「Ｂ．ｊｐｇ」の）縦横サイズのみを受信する（Ｓ３１、Ｓ３２）。
【００７１】
以下、上記実施の形態２の場合と同様にレイアウトを作成し（Ｓ１４、Ｓ１７）、印刷を行う（Ｓ２５、Ｓ２６、Ｓ１８）。
【００７２】
図１４は、本実施の形態におけるプリンタ６００における処理の流れを示すフローチャートである。
【００７３】
最初に、プリンタ６００は、上記実施の形態２と同様に、「Ｓａｍｐｌｅ．ｂｍｌ」のみを入手する（Ｓ２０１、Ｓ４０１、Ｓ４０２）。次に、プリンタ６００は、「Ｓａｍｐｌｅ．ｂｍｌ」に基づいて縦横サイズが不明な画像を抽出し（Ｓ６０１）、その画像の縦横サイズのみをＳＴＢ５００から入手する（Ｓ６０４、Ｓ６０５）。
【００７４】
これにより、プリンタ４００は、全ての画像の縦横サイズが明らかになったので、印刷のためのレイアウトを終える（Ｓ４０３、Ｓ２０７）。以下、上記実施の形態２と同様に、印刷を実行する（Ｓ２０８〜Ｓ２１１）。
【００７５】
以上のように、本実施の形態に係る印刷システム３０によれば、予め必要な縦横サイズをＳＴＢから入手して印刷のためのレイアウトを終え、その後必要な画像データをＳＴＢから受信して印刷イメージデータを生成しているので、プリンタにおける印刷のためのバッファが小容量であっても、デジタルテレビ画面等の印刷を行うことができる。
【００７６】
（実施の形態４）
次に、本発明の実施の形態４における印刷システムを説明する。
【００７７】
上記実施の形態１では、ＳＴＢから受信した画像データが入力ファイル用バッファに格納できるか否かを判定し、格納できないと判定された場合は、印刷対象データの一部（具体的には、「Ｂ．ｊｐｇ」）を一旦削除して印刷用のレイアウトを行い、その後再度印刷対象データを取得して印刷を行う実施例を示したが、本実施の形態では、画像データの送信元であるサーバが、予め画像の縦横サイズを付加した画像データをＳＴＢに送信し、ＳＴＢ、プリンタ間における縦横サイズに係る処理を不要とした実施例について説明する。
【００７８】
図１５は、実施の形態４における印刷システム４０を構成するサーバ９００、ＳＴＢ７００及プリンタ８００の機能構成を示すブロック図である。なお、以下においては、上記の実施の形態における印刷システムと異なる構成について重点的に説明することとし、共通する構成については同一の符号を付し、その説明は省略する。
【００７９】
サーバ９００は、ＳＴＢ７００との通信時におけるデータの変換等を行う通信Ｉ／Ｆ部９０１、ＳＴＢ７００に送信するデータ等を保存しておくためのＨＤＤ（ハードディスクドライブ）等を備える記憶部９０２、画面を構成する画像ファイルに対し、予めその画像の縦横サイズを特定して「Ｓａｍｐｌｅ．ｂｍｌ」に記述する縦横サイズ記述部９０３、上記各部の制御を司るコントローラ部９０４等を有し、それぞれがＩ／Ｏバス９０９で接続されている。
【００８０】
ＳＴＢ７００の通信Ｉ／Ｆ部７０１は、サーバ9００及びプリンタ８００との通信時におけるデータの変換等を行う。
【００８１】
プリンタ８００の通信Ｉ／Ｆ部８０１は、ＳＴＢ７００との通信時におけるデータの変換等を行う。なお、この他の構成は、上記実施の形態１の場合と同じである。
【００８２】
図１６は、上記サーバ９００、ＳＴＢ７００及びプリンタ８００間におけるデータのやり取りを示す通信シーケンス図である。図１６に示されるように、サーバ９００は、予め、縦横サイズ記述部９０３により、画面を構成する各画像ファイルに対し、それらの画像の縦横サイズが「Ｓａｍｐｌｅ．ｂｍｌ」に記述されているか否かを判別し、記載されていない画像ファイルについてはその画像ファイルのヘッダを参照して縦横サイズを特定し、「Ｓａｍｐｌｅ．ｂｍｌ」に記載する。
【００８３】
ＳＴＢ７００は、回線又は放送電波を通じてサーバ９００から印刷対象データを受信し（Ｓ４１）、ＨＤＤ１０２に格納する。
【００８４】
プリンタ８００は、上記実施の形態３と同様に、ＳＴＢ７００から「Ｓａｍｐｌｅ．ｂｍｌ」のみを入手し（Ｓ２１、Ｓ２２）、この「Ｓａｍｐｌｅ．ｂｍｌ」に記述されている各画像の縦横サイズに基づいて印刷のためのレイアウトを実施する。なお、以下の通信シーケンスについては、上記実施の形態３の場合と同じである。
【００８５】
図１７は、本実施の形態におけるプリンタ８００における処理の流れを示すフローチャートである。
【００８６】
最初に、プリンタ８００は、上記実施の形態３と同様に、「Ｓａｍｐｌｅ．ｂｍｌ」のみを入手する（Ｓ２０１、Ｓ４０１、Ｓ４０２）。次に、プリンタ8００は、「Ｓａｍｐｌｅ．ｂｍｌ」に基づいて、印刷に必要な全ての画像のレイアウトを終える（Ｓ４０３、Ｓ２０７）。以下、上記実施の形態３と同様に、印刷を実行する（Ｓ２０８〜Ｓ２１１）。
【００８７】
以上のように、本実施の形態に係る印刷システム４０によれば、予め必要な縦横サイズは、サーバにおいて特定されて「Ｓａｍｐｌｅ．ｂｍｌ」に記述されているので、その後に縦横サイズを特定するためのデータのやり取りが不要となるので、印刷に要する時間の短縮化を図ることができる。
【産業上の利用可能性】
【００８８】
以上のように、本発明に係る印刷装置及び印刷方法は、デジタルテレビ等に表示される画像内容の印刷において、従来に比べて、印刷時に要するメモリ容量を削減し、かつデータのやり取りを効率的に行うので、メモリコストの低減化や印刷速度の高速化を実現し得るデジタルテレビ等における印刷システムに適している。
【図面の簡単な説明】
【００８９】
【図１】図１は、従来の印刷時における制御言語を用いて表現されたファイルから印刷イメージデータが作成される様子を示した図である。
【図２】図２は、実施の形態１の印刷時における制御言語を用いて表現されたファイルから印刷イメージデータが作成される様子を示した図である。
【図３】図３は、実施の形態１における印刷システムを構成するＳＴＢ及びプリンタの機能構成を示すブロック図である。
【図４】図４は、実施の形態１におけるＳＴＢとプリンタ間におけるデータのやり取りを示す通信シーケンス図である。
【図５】図５は、実施の形態１におけるプリンタの処理の流れを示すフローチャートである。
【図６】図６は、実施の形態１における印刷対象データを用いて印刷する際のイメージを表わした図である。
【図７】図７は、実施の形態１における印刷対象データを用いて印刷する際の全てのページに必要な画像イメージを表わした図である。
【図８】図８は、実施の形態１における印刷対象データのファイルごとの構成情報データの一例を示す図である。
【図９】図９は、実施の形態１におけるページ毎の印刷対象データについての構成情報データの一例を示す図である。
【図１０】図１０は、実施の形態１におけるプリンタの記憶部の各バッファ容量の一例を示す図である。
【図１１】図１１は、実施の形態２におけるＳＴＢとプリンタ間におけるデータのやり取りを示す通信シーケンス図である。
【図１２】図１２は、実施の形態２におけるプリンタの処理の流れを示すフローチャートである。
【図１３】図１３は、実施の形態３におけるＳＴＢとプリンタ間におけるデータのやり取りを示す通信シーケンス図である。
【図１４】図１４は、実施の形態３におけるプリンタの処理の流れを示すフローチャートである。
【図１５】図１５は、実施の形態４における印刷システムを構成するサーバ、ＳＴＢ及びプリンタの機能構成を示すブロック図である。
【図１６】図１６は、実施の形態４におけるサーバ、ＳＴＢ、プリンタ間におけるデータのやり取りを示す通信シーケンス図である。
【図１７】図１７は、実施の形態４におけるプリンタの処理の流れを示すフローチャートである。
【図１】
2006012151.tif 000003
【図２】
2006012151.tif 000004
【図３】
2006012151.tif 000005
【図４】
2006012151.tif 000006
【図５】
2006012151.tif 000007
【図６】
2006012151.tif 000008
【図７】
2006012151.tif 000009
【図８】
2006012151.tif 000010
【図９】
2006012151.tif 000011
【図１０】
2006012151.tif 000012
【図１１】
2006012151.tif 000013
【図１２】
2006012151.tif 000014
【図１３】
2006012151.tif 000015
【図１４】
2006012151.tif 000016
【図１５】
2006012151.tif 000017
【図１６】
2006012151.tif 000018
【図１７】
2006012151.tif 000019