(57)【特許請求の範囲】
【請求項１】
印刷装置がサーバにアクセスして前記サーバに保存されている印刷用データを取得するために用いる、当該印刷用データを指し示す識別情報と、当該識別情報に関連付けられた印刷用関数とを含み、ブラウザで処理可能なマークアップ言語で記述されたコンテンツデータを受信し、
受信した前記コンテンツデータを処理して表示用コンテンツを生成し、
生成した前記表示用コンテンツを表示した状態において、印刷の実行を指示するための指示入力がなされたことに従って前記印刷用関数を実行し、
前記印刷用関数を実行することで、前記印刷用関数に関連付けられた前記識別情報を前記印刷装置に送信するための処理を実行することを特徴とする印刷制御方法。
【請求項２】
印刷装置がサーバにアクセスして前記サーバに保存されている印刷用データを取得するために用いる、当該印刷用データを指し示す識別情報と、当該識別情報に関連付けられた印刷用関数とを含み、ブラウザで処理可能なマークアップ言語で記述されたコンテンツデータを受信する受信手段と、
前記受信手段で受信した前記コンテンツデータを処理して表示用コンテンツを生成する生成手段と、
前記生成手段で生成した前記表示用コンテンツが表示された状態において、印刷の実行を指示するための指示入力がなされたことに従って前記印刷用関数を実行する実行手段と、を有し、
前記実行手段は前記印刷用関数を実行することで、当該印刷用関数に関連付けられた前記識別情報を前記印刷装置に送信するための処理を実行することを特徴とする印刷制御装置。
【請求項３】
デジタル放送信号を受信し、当該デジタル放送信号から抽出したデータ放送コンテンツデータを実行してデータ放送画面を生成可能な放送受信装置の制御方法であって、
前記データ放送コンテンツデータは、印刷装置がサーバにアクセスして前記サーバに保存されている印刷用データを取得するために用いる、当該印刷用データを指し示す識別情報と、当該識別情報に関連付けられた印刷用関数とを含み、ブラウザで処理可能なマークアップ言語で記述されており、
前記データ放送コンテンツデータを処理してデータ放送画面を生成し、
生成した前記データ放送画面を表示した状態において、印刷の実行を指示するための指示入力がなされたことに従って前記印刷用関数を実行し、
前記印刷用関数を実行することで、前記印刷用関数に関連付けられた前記識別情報を前記印刷装置に送信するための処理を実行することを特徴とする放送受信装置の制御方法。
【請求項４】
前記指示入力は、前記データ放送画面に表示されたボタンを押下する操作であり、
前記データ放送コンテンツデータには、前記ボタンを押下される指示が発生した場合に前記印刷用関数を実行するように、前記ボタンの情報と前記印刷用関数とが関連付けて記述されていることを特徴とする請求項３に記載の放送受信装置の制御方法。
【請求項５】
デジタル放送信号を受信し、当該デジタル放送信号から抽出したデータ放送コンテンツデータを実行してデータ放送画面を生成可能な放送受信装置であって、
前記データ放送コンテンツデータは、印刷装置がサーバにアクセスして前記サーバに保存されている印刷用データを取得するために用いる、当該印刷用データを識別する識別情報と、当該識別情報に関連付けられた印刷用関数とを含み、ブラウザで処理可能なマークアップ言語で記述されており、
前記データ放送コンテンツデータを処理してデータ放送画面を生成する生成手段と、
前記生成手段で生成した前記データ放送画面が表示された状態において、印刷の実行を指示するための指示入力がなされたことに従って前記印刷用関数を実行する実行手段と、を有し、
前記実行手段は前記印刷用関数を実行することで、当該印刷用関数に関連付けられた前記識別情報を前記印刷装置に送信するための処理を実行することを特徴とする放送受信装置。
【請求項６】
前記指示入力は、前記データ放送画面に表示されたボタンを押下する操作であり、
前記データ放送コンテンツデータには、前記ボタンを押下される指示が発生した場合に前記印刷用関数を実行するように、前記ボタンの情報と前記印刷用関数とが関連付けて記述されていることを特徴とする請求項５に記載の放送受信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はマークアップ言語で記述された表示用コンテンツデータを用いて印刷を実行する印刷制御方法及び印刷制御装置並びに放送受信装置の制御方法及び放送受信装置に関する。
【背景技術】
【０００２】
一般的にプリンタで印刷する場合、以下のプロセスを経る。１）ＰＣ上のアプリケーションで印刷を実行するとアプリケーションからプリンタドライバにデータが転送される。２）プリンタドライバは印刷する内容を印刷用コマンドに変換する。３）プリンタは印刷用のコマンドを実行して実際に印刷を行う。このとき、印刷用制御コマンドはプリンタの機種毎に異なるので、適切なプリンタ用のドライバをＰＣにインストールする必要がある。また、ＰｏｓｔＳｃｒｉｐｔ（登録商標）等の文書を受信することで、その文書を解析し、レンダリングし、自デバイス内でプリンタ制御用のコマンドを生成し、印刷を行うプリンタも存在する（特許文献１）。
【０００３】
また、２０００年１２月よりデジタルＢＳ放送が開始され、ＴＶ受信機上でＢＭＬと呼ばれるデータ放送を表示・実行できる製品が発売されている。デジタル放送チューナでは、ＢＡＳＩＣ手順により双方向サーバにアクセスできる。今後開発される地上波デジタルチューナでは、ＴＣＰ／ＩＰが搭載され、インターネットにもアクセスできる予定である（例えば、特許文献２）。
【特許文献１】特開２００２−３０４２７１号公報
【特許文献２】特開２００１−１３６１３６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来においてはＴＶとプリンタが直接接続されることはなく、ＴＶ番組から直接印刷するという手段もなかった。もし、スポンサや番組等で印刷サービスを行う場合は、ＴＶ画面上にＵＲＬを表示して、視聴者がそのＵＲＬをＰＣで入力してから印刷を行うという煩雑な手順が必要であった。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明における印刷制御方法は、印刷装置がサーバにアクセスして前記サーバに保存されている印刷用データを取得するために用いる、当該印刷用データを指し示す識別情報と、当該識別情報に関連付けられた印刷用関数とを含み、ブラウザで処理可能なマークアップ言語で記述されたコンテンツデータを受信し、受信した前記コンテンツデータを処理して表示用コンテンツを生成し、生成した前記表示用コンテンツを表示した状態において、印刷の実行を指示するための指示入力がなされたことに従って前記印刷用関数を実行し、前記印刷用関数を実行することで、前記印刷用関数に関連付けられた前記識別情報を前記印刷装置に送信するための処理を実行することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、放送コンテンツやインターネットコンテンツを表示しているＴＶ受信機などのデバイスから、ＰＣを介すること無しに、印刷を行うことができるようになる。
【発明を実施するための最良の形態】
【００１１】
以下、図面を参照して、本発明の実施の形態を詳細に説明する。
【００１２】
図１（Ａ）は本実施形態の全体構成を示す図である。
【００１３】
１０１はデジタル放送を行う放送局である。１０２はデジタル放送受信機であり、映像・音声を出力するとともに、放送されたＢＭＬコンテンツを実行する。１０３はプリンタである。１０４はインターネット上に存在するＷｅｂサーバであり、印刷用コンテンツを保持している。
【００１４】
この形態において、受信機１０２が、放送波から実行すべきコンテンツを取得し、その受信機上で実行されるコンテンツ内に含まれる印刷用の文書のＵＲＬを、受信機１０２からプリンタ１０３へ転送し、プリンタ１０３が、そのＵＲＬで示される文書をインターネット経由で取得し、取得した文書を印刷する印刷方法を、以下、説明する。
【００１５】
図２はデジタル放送受信機１０２の内部構成を示す図である。
【００１６】
２０１はチューナであり、受信した電波から特定の波長の信号を取り出す。２０２はデコーダであり、取り出した信号からパケットを抽出する。２０３は音声デコーダであり、音声パケットを受信することにより音声を出力する。２０４は映像デコーダであり、映像パケットを受信することにより映像を出力する。２０５はデータデコーダであり、データ用パケットを受信することによりデータ放送コンテンツを再構築する。２０７は不揮発ＲＡＭであり、住所・郵便番号・電話番号等の家族情報や、氏名・誕生日・性別等の視聴者の個人情報を記録する。
【００１７】
２０８はネットワークＩ／Ｆであり、プリンタとのデータの送受信を行う。２０９はインターネット用Ｉ／Ｆであり、インターネット上とのデータの送受信を行う。実装に応じて、２０９と２０８を同一のハードウェアで実装しても構わない。２１０はＲＡＭであり、ブラウザの実行等、一時的な作業領域として使用される。２１１はＲＯＭであり、受信機が動作するために必要なプログラムを格納している。受信機上で実行されるブラウザプログラムもここに格納される。２１２はＣＰＵであり、２０１〜２１１までの構成要素を集中的に管理し、全体動作を制御する。
【００１８】
２１３はリモコン受信部であり、リモコンから送られた信号を受信する。２０１〜２１３までの構成要素はバスにて接続されている。
【００１９】
図３（Ａ）はプリンタ１０３の内部構成を示す図である。
【００２０】
３００はネットワークＩ／Ｆであり、外部接続機器とのデータの送受信を行う。３０１は文書解析パーザであり、印刷用文書の構造を解析する。３０２はラスタライザであり、解析した文書をラスタイメージとしてメモリ上に描画する。３０３はデバイスドライバであり、解析した結果とラスタイメージから、プリンタを駆動するコマンドを生成・実行する。このプリンタ駆動用の命令を実行することにより、実際に印刷が行なわれる。
【００２１】
３０４はＲＡＭであり、プリンタ上で稼動するプログラムが作業用領域として使用する。３０５はＲＯＭであり、プリンタ上で駆動するプログラムが格納されている。３０６はＣＰＵであり、プリンタ全体の動作を制御する。
【００２２】
３０７はインターネット用Ｉ／Ｆであり、インターネットから必要なファイルを取得する。実装によってはネットワークＩ／Ｆと同じハードウェアデバイスを共用となる。
【００２３】
図４はデジタル放送受信機１０２の処理手順を示すフローチャートである。
【００２４】
ステップ４００では、チューナ２０１にて、電波の受信と復調を行う。ステップ４０１では、デコーダ２０２にて、復調した結果の信号からパケットを抽出する。ステップ４０２では、抽出したパケットが映像パケットか否かを判断する。映像パケットであった場合、ステップ４０３にて映像をデコードし出力する。それ以外の場合はステップ４０４へ進む。ステップ４０４では、抽出したパケットが音声パケットか否かを判断する。音声パケットであった場合、ステップ４０５にて音声をデコードし出力する。それ以外の場合はステップ４０６へ進む。
【００２５】
ステップ４０６では、抽出したパケットがＢＭＬやＪＰＥＧ等のデータ放送を構成するデータを含むデータパケットか否かを判断する。データパケットであった場合、ステップ４０７にてデータ放送用コンテンツを再構成し一時的にＲＡＭ２１０へ蓄積する。蓄積されたコンテンツはＢＭＬブラウザで表示・実行される。それ以外の場合はステップ４０８へ進む。
【００２６】
ステップ４０８では、視聴者がリモコンにあるデータ放送起動ボタン（データボタン）を押下する、もしくは放送局から送出される信号中に強制的にＢＭＬブラウザを起動させる情報（オートスタートフラグ）が有る事を検出するなど、ＢＭＬブラウザ起動するトリガーがあるかどうか調べる。トリガーが発生していた場合はステップ４０９にてＢＭＬブラウザを起動する。ＢＭＬブラウザはＲＯＭ上にプログラムの形で格納されている。ＢＭＬブラウザで実行されるプログラムはステップ４０７で取得したＢＭＬコンテンツである。起動したＢＭＬブラウザの動作は、図５を用いて説明する。
【００２７】
図６は、本実施形態におけるＴＶ上の画面表示状態を示す図である。
【００２８】
図６において、映像領域の部分に関しては、ステップ４０３での処理結果として映像が出力される。また、映像の周囲の背景やボタン等は、ステップ４０７で蓄積されたＢＭＬコンテンツを、ＢＭＬブラウザが実行した結果として表示されている。
【００２９】
図５は、本実施形態におけるＢＭＬブラウザの動作手順を示すフローチャートである。
【００３０】
ＢＭＬブラウザは実行するコンテンツに応じて処理内容が変わるので、本フローチャートでは印刷に関わる部分を説明する。
【００３１】
ステップ５００では、初期処理を行う。ＢＭＬコンテンツが既にＲＡＭ２１０上に蓄積されている場合は速やかに実行を開始する。まだ受信が完了していない場合は、ＢＭＬコンテンツの受信を待ち、受信完了後から実行を開始する。
【００３２】
ＢＭＬコンテンツでは、リモコンを使用してコンテンツを操作する。まず、フォーカスの移動操作がどのように行われるか説明する。リモコンの矢印ボタンを押下することにより、フォーカスが移動するが、その記述はＢＭＬコンテンツにて行う。
【００３３】
図６に示される画面上の３つのボタンに対応するＢＭＬの記述は以下の通りである。
【００３４】
<object data=''weather.png'' onclick=''printWeather();''
style=''nav-index:0;nav-down:1;nav-up:2;'' type=''image/png''/>
<object data=''news.png'' onclick=''printNews();''
style=''nav-index:1;nav-down:2;nav-up:0;'' type=''image/png''/>
<object data=''cooking.png'' onfocus=''printCooking();''
style=''nav-index:2;nav-down:0;nav-up:1;'' type=''image/png''/>
ＢＭＬではフォーカスの移動をｎａｖ−ｉｎｄｅｘ属性で指定する。
【００３５】
初期状態においては、ｎａｖ−ｉｎｄｅｘ＝０のオブジェクトがフォーカス状態となるため、最上段のボタン（天気）にフォーカスがあたる。その状態でリモコンの下矢印ボタンが押下された場合、ｎａｖ−ｄｏｗｎ属性で指定される遷移先へフォーカスが移動する。この場合、ｎａｖ−ｄｏｗｎ＝１と記述されているため、ｎａｖ−ｉｎｄｅｘ＝１のオブジェクト、即ちニュースボタンのオブジェクトへフォーカスが移動する。
【００３６】
ニュースがフォーカス状態で、上矢印ボタンが押下された場合は、ニュースボタンのオブジェクトにｎａｖ−ｕｐ：０と記述されているため、ｎａｖ−ｉｎｄｅｘ＝０のオブジェクト、即ち天気ボタンへフォーカスが移動する。決定ボタンが押下された場合、ｏｎｃｌｉｃｋで示されるイベントハンドラが実行される。
【００３７】
ステップ５０１では、視聴者のリモコン操作やタイマー等のイベントの待機を行う。イベントを検出するとステップ５０２へ進む。例えば、図６において“天気''のボタンにフォーカスがあわせられた状態で、リモコンの決定ボタンが押下された状態を例に説明する。この場合、ステップ５０１でイベントが検出されるためにステップ５０２へ制御が移る。
【００３８】
ステップ５０２では、イベントの種類に応じてＢＭＬコンテンツ内で指定されたイベントハンドラを実行する。本形態においては、リモコンの決定ボタンが押下されることにより、ＢＭＬコンテンツ内で定義されている以下の関数が実行される。 
function printWeather(){
var url = ''http://www.weather-news.co.jp/weather.html''
browser.print( url );
}
もし、ニュースのボタンにフォーカスがあわせられて決定ボタンが押下された場合は
function printNews(){
var url = ''http://www.news.co.jp/headline.html''
browser.print( url );
}
という関数が実行される。
【００３９】
イベントハンドラ内の処理は逐次的に実行される。イベントハンドラ内の処理をステップ５０３以降で説明する。
【００４０】
ステップ５０３では、次に実行すべき命令を１ステップずつ取得し、その命令が印刷処理か否かを判断し、印刷用の命令である場合はステップ５０４へ進む。印刷処理でない場合はステップ５０６へ進む。この場合は、''ｂｒｏｗｓｅｒ．ｐｒｉｎｔ（）''関数が実行されているか判断することに相当する。
【００４１】
ステップ５０４では、現在該受信機１０２において、印刷が可能な状態か否かを調べる。即ち、プリンタ１０３が接続されているか等を調査する。印刷可能な場合はステップ５０５へ、印刷ができない場合は、必要に応じて“印刷ができません''等の警告表示を行い、ステップ５０７へ進む。
【００４２】
ステップ５０５では、印刷用命令の引数で指定されたＵＲＬをプリンタへ転送する。この例の場合は“ｈｔｔｐ：／／ｗｗｗ．ｗｅａｔｈｅｒ−ｎｅｗｓ．ｃｏ．ｊｐ／ｗｅａｔｈｅｒ．ｈｔｍｌ''という文字列をプリンタへ転送する。その後ステップ５０７へ進む。もしニュースのボタンがフォーカス状態の時に決定ボタンが押下された場合であれば、“ｈｔｔｐ：／／ｗｗｗ．ｎｅｗｓ．ｃｏ．ｊｐ／ｈｅａｄｌｉｎｅ．ｈｔｍｌ''という文字列がプリンタへ転送されることになる。ステップ５０６では、印刷処理以外の命令を実行し、ステップ５０７へ進む。
【００４３】
ステップ５０７では、イベントハンドラの処理が全て終了したか判断する。全て終了した場合はステップ５０１へ戻る。
【００４４】
図７は、本実施形態におけるプリンタ１０３の動作手順を示すフローチャートである。
【００４５】
ステップ８０１では、初期処理を行う。ステップ８０２では、ネットワークＩ／Ｆ３００を介して接続される外部接続機器からの入力を待機する。ステップ８０３では、外部接続機器からの入力が、印刷用ＵＲＬの受信か否かを判断する。印刷用ＵＲＬを受信した場合は、ステップ８０４へ、それ以外の場合はステップ８０２へ戻る。
【００４６】
ステップ８０４では、インターネット用Ｉ／Ｆ３０７を用い、インターネットからＵＲＬで指定された文書を取得する。ステップ８０５では、文書解析パーザ３０１を用い、取得した文書を解析する。ステップ８０６では、文書を解析した結果、文書中から参照している画像等のファイルがあれば、そのファイルを、インターネット用Ｉ／Ｆ３０７を用い取得する。
【００４７】
ステップ８０７では、ラスタライザ３０２を用い、取得したファイルから印刷用画像を構成すべくレンダリング処理を行う。ステップ８０８では、デバイスドライバ３０３を用い、実際に印刷処理を行う。その後、ステップ８０２へ戻る。
【００４８】
以上のように動作することで、放送局が放送したＢＭＬコンテンツを、受信機１０２上のＢＭＬブラウザで実行することにより、印刷文書を示すＵＲＬが受信機１０２からプリンタ１０３へ転送され、プリンタ１０２がそのＵＲＬで示される印刷用文書をインターネットから取得し、文書解析、レンダリング等印刷に必要な処理を行い印刷が行われる
という手順で動作する。
【００４９】
つまり、天気予報ボタンを押下すると天気予報の印刷が、ニュースボタンを押下するとニュースの印刷が行われるように動作する。
【実施例１】
【００５０】
本実施例では、視聴者毎にカスタマイズされた印刷コンテンツを印刷する手順について説明する。受信機１０２、プリンタ１０３については上記の実施形態と同じ手段、同じ動作手順（図２、図３（Ａ）、図４、図６、図７）とする。
【００５１】
本実施例でのＢＭＬコンテンツの動作手順を図８のフローチャートに示す。
【００５２】
ステップ６００では、ＢＭＬコンテンツ受信後に初期処理を行う。
【００５３】
ステップ６０１では、視聴者のリモコン操作やタイマー等のイベントの待機を行う。イベントを検出するとステップ６０２へ進む。例えば、図６において“天気''のボタンにフォーカスがあわせられた状態で、リモコンの決定ボタンが押下された状態を例に説明する。この場合、ステップ６０１でイベントが検出されるためにステップ６０２へ制御が移る。
【００５４】
ステップ６０２では、イベントの種類に応じてＢＭＬコンテンツ内で指定されたイベントハンドラを実行する。本実施例においては、リモコンの決定ボタンが押下されることにより、ＢＭＬコンテンツ内で定義されている以下の関数が実行される。
【００５５】
function printCustomWeather(){
var url = ''http://www.weather-news.co.jp/weather.html&zipcode=''
var zip = browser.readPersistentArray(''nvram://zipcode'');
browser.print( url + zip[0] );
}
イベントハンドラ内の処理は逐次的に実行される。イベントハンドラ内の処理をステップ６０３以降で説明する。
【００５６】
ステップ６０３では、次に実行すべき命令を１ステップずつ取得し、その命令が印刷処理か否かを判断し、印刷用の命令である場合はステップ６０４へ進む。印刷処理でない場合はステップ６０８へ進む。この場合は、''ｂｒｏｗｓｅｒ．ｐｒｉｎｔ（）''関数が実行されているか判断することに相当する。
【００５７】
ステップ６０４では、現在該受信機１０２において、印刷が可能な状態か否かを調べる。即ち、プリンタ１０３が接続されているか等を調査する。印刷可能な場合はステップ６０５へ、印刷ができない場合は、必要に応じて“印刷ができません''等の警告表示を行い、ステップ６０９へ進む。
【００５８】
ステップ６０５では、不揮発ＲＡＭ２０７に記録されている個人情報を取得する。例えば視聴者の郵便番号という情報を取得したものとする。ステップ６０６では、ステップ６０５で取得した情報と、ＢＭＬコンテンツに含まれる情報から動的にＵＲＬを生成する。
【００５９】
例えば、不揮発ＲＡＭ２０７から取得した郵便番号が、“１５０−０００１''であり、ＢＭＬコンテンツに含まれる情報が“ｈｔｔｐ：／／ｗｗｗ．ｗｅａｔｈｅｒ−ｎｅｗｓ．ｃｏ．ｊｐ／ｗｅａｔｈｅｒ？ｚｉｐｃｏｄｅ＝''であった場合、この２つの文字列を連結することで、“ｈｔｔｐ：／／ｗｗｗ．ｗｅａｔｈｅｒ−ｎｅｗｓ．ｃｏ．ｊｐ／ｗｅａｔｈｅｒ？ｚｉｐｃｏｄｅ＝１５０−０００１''というＵＲＬが得られる。ステップ６０７では、ステップ６０６で作成したＵＲＬをプリンタ１０３へ転送する。
【００６０】
ステップ６０８では、印刷処理以外の命令を実行し、ステップ６０９へ進む。ステップ６０９では、イベントハンドラの処理が全て終了したか判断する。全て終了した場合はステップ６０１へ戻る。
【００６１】
プリンタ１０３では、図７に示されるフローで動作することにより、上記ＵＲＬで示すページが印刷される。視聴者からすると、天気の印刷ボタンを押下しただけになるが、視聴者が住んでいる住所に応じた天気予報の情報が印刷されるよう動作する。
【００６２】
このＵＲＬで示されるサーバ１０４ではＣＧＩが動作しており、''？''以降の文字列をパラメータとしたプログラムが実行される。よって、郵便番号毎に応じた天気予報のページが返される。即ち、受信機内の不揮発ＲＡＭ２０７に記録されている情報に応じて、カスタマイズされた内容のコンテンツの印刷が可能となる。本実施例では、郵便番号から地域に応じた天気を含むページの例を提示したが、他にも以下のような用途も考えられる。
・不揮発ＲＡＭから生年月日を取得し、星座占いのページを印刷する。
・不揮発ＲＡＭから郵便番号を取得し、近くの販売代理店を紹介するカタログを印刷する。
・不揮発ＲＡＭから氏名を取得し、姓名判断を行うページを印刷する。
・不揮発ＲＡＭから家族の人数を取得して、家族の人数に応じた分量を自動的に計算したレシピを印刷する。
【実施例２】
【００６３】
図１（Ｂ）は本実施例の全体構成を示す図である。
【００６４】
図１（Ａ）の形態と比較して、
・印刷用の実データをＴＶ受信機１０２がインターネットから取得する
・取得した実データをＴＶ受信機１０２がプリンタ１０５へ転送する
・よって、必ずしもプリンタがインターネットに接続されている必要がない
という点が異なる。
【００６５】
この構成において、受信機１０２が、放送波から実行すべきコンテンツを取得し、受信機１０２が、その受信機上で実行されるコンテンツ内に含まれる印刷用の文書のＵＲＬから印刷用文書を取得し、その取得した文書をプリンタ１０５へ転送し、プリンタ１０５が、受信機１０２から転送された文書を印刷する印刷方法を、以下、説明する。
【００６６】
図２に構成を示す受信機１０２は、放送波から実行すべきコンテンツを取得するコンテンツ取得手段（２０１）と、その受信機上で実行されるコンテンツ内に含まれる印刷用の文書のＵＲＬから印刷用文書を取得する文書取得手段（２０９）と、その取得した文書をプリンタへ転送する転送手段（２０８）とを有する受信装置である。
【００６７】
プリンタ１０５の内部構成を図３（Ｂ）に示す。図３（Ａ）と比較して、インターネット用Ｉ／Ｆ３０７が無い構成となっている。
【００６８】
受信機１０２については、上記の実施形態と同じ手段、同じ動作手順（図２、図４、図６）とする。
【００６９】
ＢＭＬブラウザの動作手順を図９のフローチャートを用いて説明する。
【００７０】
ステップ７００では、ＢＭＬコンテンツ受信後に初期処理を行う。ステップ７０１では、視聴者のリモコン操作やタイマー等のイベントの待機を行う。イベントの発生を検出するとステップ７０２へ進む。
【００７１】
ステップ７０１では、視聴者のリモコン操作やタイマー等のイベントの待機を行う。イベントを検出するとステップ７０２へ進む。例えば、図６において“天気''のボタンにフォーカスがあわせられた状態で、リモコンの決定ボタンが押下された状態を例に説明する。この場合、ステップ７０１でイベントが検出されるためにステップ７０２へ制御が移る。
【００７２】
ステップ７０２では、イベントの種類に応じてＢＭＬコンテンツ内で指定されたイベントハンドラを実行する。今回の例においては、リモコンの決定ボタンが押下されることにより、ＢＭＬコンテンツ内で定義されている以下の関数が実行される。
【００７３】
function fetchPrintWeather(){
var url = ''http://www.weather-news.co.jp/weather.html''
var doc = browser.fetchDocument( url );
browser.print( doc );
}
もし、ニュースのボタンにフォーカスがあわせられて決定ボタンが押下された場合は
function fetchPrintNews(){
var url = ''http://www.news.co.jp/headline.html''
var doc = browser.fetchDocument( url );
browser.print( doc );
}
という関数が実行される。イベントハンドラ内の処理は逐次的に実行される。イベントハンドラ内の処理をステップ７０３以降で説明する。
【００７４】
ステップ７０３では、次に実行すべき命令を１ステップずつ取得し、その命令が印刷処理か否かを判断し、印刷用の命令である場合はステップ７０４へ進む。印刷処理でない場合はステップ７０７へ進む。この場合は、''ｂｒｏｗｓｅｒ．ｐｒｉｎｔ（）''関数が実行されているか判断することに相当する。
【００７５】
ステップ７０４では、現在該受信機１０２において、印刷が可能な状態か否かを調べる。即ち、プリンタ１０５が接続されているか等を調査する。印刷可能な場合はステップ７０５へ、印刷ができない場合は、必要に応じて“印刷ができません''等の警告表示を行い、ステップ７０８へ進む。
【００７６】
ステップ７０５では、受信機１０２はインターネット用Ｉ／Ｆ２０９を用いて、印刷用命令の引数で指定されたＵＲＬから文書を取得する。この例の場合は“ｈｔｔｐ：／／ｗｗｗ．ｗｅａｔｈｅｒ−ｎｅｗｓ．ｃｏ．ｊｐ／ｗｅａｔｈｅｒ．ｈｔｍｌ''というＵＲＬで示される文書をインターネットから取得する。取得した文書から参照される画像ファイル等も併せて取得し、ＲＡＭ２１０に一時的に格納する。その後ステップ７０６へ進む。
【００７７】
ステップ７０６では、取得した文書をプリンタ１０５へ送信し、ステップ７０８へ進む。ステップ７０７では、印刷処理以外の命令を実行し、ステップ７０８へ進む。ステップ７０８では、イベントハンドラの処理が全て終了したか判断する。全て終了した場合はステップ７０１へ戻る。
【００７８】
図９は、受信機が、放送波から取得したコンテンツ内に含まれる印刷用の文書のＵＲＬから印刷用文書を取得し（ステップ７０５）、その取得した文書をプリンタへ転送する（ステップ７０６）印刷プログラムである。
【００７９】
プリンタ１０５の動作手順を図１０のフローチャートを用いて説明する。
【００８０】
ステップ９０１では、初期処理を行う。ステップ９０２では、外部接続機器からの入力を待機する。ステップ９０３では、外部接続機器からの入力が、印刷用文書の受信か否かを判断する。印刷用文書を受信した場合は、ステップ９０４へ、それ以外の場合はステップ９０２へ戻る。
【００８１】
ステップ９０４では、文書解析パーザ３０１を用い、取得した文書を解析する。ステップ９０５では、ラスタライザ３０２を用い、取得したファイルから印刷用画像を構成すべくレンダリング処理を行う。ステップ９０６では、デバイスドライバ３０３を用い、実際に印刷処理を行う。その後、ステップ９０２へ戻る。
【００８２】
以上のように動作することで、
・放送局が放送したＢＭＬコンテンツを
・受信機１０２上のＢＭＬブラウザで実行することにより、
・ＵＲＬで示される印刷文書を、受信機１０２がインターネットアクセス用Ｉ／Ｆ２０９を用いて取得し、
・その取得した文書がネットワークＩ／Ｆ２０８を介してプリンタ１０５へ転送され、
・プリンタ１０５が文書解析、レンダリング等印刷に必要な処理を行い印刷が行われる
という手順で動作する。
【実施例３】
【００８３】
本実施例では、視聴者毎にカスタマイズされた印刷コンテンツを印刷する手順について説明する。受信機１０２、プリンタ１０５については実施例２と同じ手段、同じ動作手順（図２、図３（Ｂ）、図４、図６、図１０）とする。
【００８４】
本実施例でのＢＭＬコンテンツの動作手順を図１１のフローチャートに示す。本フローチャートは図９のものにステップ７０９とステップ７１０を加えた内容となっている。
【００８５】
ステップ７００では、ＢＭＬコンテンツ受信後に初期処理を行う。ステップ７０１では、視聴者のリモコン操作やタイマー等のイベントの待機を行う。イベントを検出するとステップ７０２へ進む。例えば、図６において“天気''のボタンにフォーカスがあわせられた状態で、リモコンの決定ボタンが押下された状態を例に説明する。この場合、ステップ７０１でイベントが検出されるためにステップ７０２へ制御が移る。
【００８６】
ステップ７０２では、イベントの種類に応じてＢＭＬコンテンツ内で指定されたイベントハンドラを実行する。今回の例においては、リモコンの決定ボタンが押下されることにより、ＢＭＬコンテンツ内で定義されている以下の関数が実行される。
【００８７】
function fetchPrintCustomWeather(){
var url = ''http://www.weather-news.co.jp/weather.html&zipcode=''
var zip = browser.readPersistentArray(''nvram://zipcode'');
var doc = browser.fetchDocument( url + zip[0]);
browser.print( doc );
}
イベントハンドラ内の処理は逐次的に実行される。イベントハンドラ内の処理をステップ７０３以降で説明する。
【００８８】
ステップ７０３では、次に実行すべき命令を１ステップずつ取得し、その命令が印刷処理か否かを判断し、印刷用の命令である場合はステップ７０４へ進む。印刷処理でない場合はステップ７０７へ進む。本例の場合は、''ｂｒｏｗｓｅｒ．ｐｒｉｎｔ（）''関数が実行されているか判断することに相当する。
【００８９】
ステップ７０４では、現在該受信機１０２において、印刷が可能な状態か否かを調べる。即ち、プリンタ１０３が接続されているか等を調査する。印刷可能な場合はステップ７０９へ、印刷ができない場合は、必要に応じて“印刷ができません''等の警告表示を行い、ステップ７０８へ進む。
【００９０】
ステップ７０９では、不揮発ＲＡＭ２０７に記録されている個人情報を取得する。例えば視聴者の郵便番号という情報を取得したものとする。
【００９１】
ステップ７１０では、ステップ７０９で取得した情報と、ＢＭＬコンテンツに含まれる情報から動的にＵＲＬを生成する。
【００９２】
例えば、不揮発ＲＡＭ２０７から取得した郵便番号が、“１５０−０００１''であり、ＢＭＬコンテンツに含まれる情報が“ｈｔｔｐ：／／ｗｗｗ．ｗｅａｔｈｅｒ−ｎｅｗｓ．ｃｏ．ｊｐ／ｗｅａｔｈｅｒ？ｚｉｐｃｏｄｅ＝''であった場合、この２つの文字列を連結することで、“ｈｔｔｐ：／／ｗｗｗ．ｗｅａｔｈｅｒ−ｎｅｗｓ．ｃｏ．ｊｐ／ｗｅａｔｈｅｒ？ｚｉｐｃｏｄｅ＝１５０−０００１''というＵＲＬが得られる。
【００９３】
ステップ７０５では、受信機１０２はインターネット用Ｉ／Ｆ２０９を用いて、ステップ７１０で生成されたＵＲＬから文書を取得する。この例の場合は“ｈｔｔｐ：／／ｗｗｗ．ｗｅａｔｈｅｒ−ｎｅｗｓ．ｃｏ．ｊｐ／ｗｅａｔｈｅｒ．ｈｔｍｌ？ｚｉｐｃｏｄｅ＝１５０−０００１''というＵＲＬで示される文書をインターネットから取得する。取得した文書から参照される画像ファイル等も併せて取得し、ＲＡＭ２１０に一時的に格納する。その後ステップ７０６へ進む。ステップ７０６では、取得した文書をプリンタ１０５へ送信し、ステップ７０８へ進む。
【００９４】
ステップ７０７では、印刷処理以外の命令を実行し、ステップ７０８へ進む。ステップ７０８では、イベントハンドラの処理が全て終了したか判断する。全て終了した場合はステップ７０１へ戻る。
【００９５】
このように動作することで、視聴者毎にカスタマイズされたコンテンツを印刷可能になる。
【図面の簡単な説明】
【００９６】
【図１】本実施の形態の全体構成図を示す図である。
【図２】受信機１０２の内部構成を示す図である。
【図３】プリンタ１０３の内部構成を示す図である。
【図４】受信機１０２の動作手順を示すフローチャートである。
【図５】実施の形態における受信機１０２内のブラウザの動作手順を示すフローチャートである。
【図６】本実施例におけるＴＶ画面に表示されている画像のイメージ図である。
【図７】実施の形態におけるプリンタ１０３の動作手順を示すフローチャートである。
【図８】実施例１における受信機１０２内のブラウザの動作手順を示すフローチャートである。
【図９】実施例２における受信機１０２内のブラウザの動作手順を示すフローチャートである。
【図１０】本実施例２と３におけるプリンタ１０３の動作手順を示すフローチャートである。
【図１１】本実施例３における受信機１０２内のブラウザの動作手順を示すフローチャートである。
【符号の説明】
【００９７】
１０１  放送局
１０２  デジタル放送受信機
１０３  プリンタ
１０４  Ｗｅｂサーバ
【図１】
0004298439.tif 000002
【図２】
0004298439.tif 000003
【図３】
0004298439.tif 000004
【図４】
0004298439.tif 000005
【図５】
0004298439.tif 000006
【図６】
0004298439.tif 000007
【図７】
0004298439.tif 000008
【図８】
0004298439.tif 000009
【図９】
0004298439.tif 000010
【図１０】
0004298439.tif 000011
【図１１】
0004298439.tif 000012