(57)【特許請求の範囲】
【請求項１】
主記憶手段と、
複数のソフトウェアプログラム及び当該複数のソフトウェアプログラムの各々の属性情報を記憶する補助記憶手段と、
起動処理の種別を特定する指示の入力を受け付け、当該指示で特定された起動処理の種別に従って、前記補助記憶手段に記憶されている複数のソフトウェアプログラムから必要となる複数のソフトウェアプログラムを選別する主制御手段と、
前記補助記憶手段に記憶されている複数のソフトウェアプログラムから、前記主制御手段により選別された複数のソフトウェアプログラムを前記主記憶手段に転送するデータ転送手段と、を備え、
前記属性情報は、前記複数のソフトウェアプログラムの各々のデータ転送時間と、前記複数のソフトウェアプログラムの各々の初期化処理時間と、前記複数のソフトウェアプログラムの各々の実行開始に必要な他のソフトウェアプログラムを示す依存関係に関する情報と、前記主制御手段が同時に処理可能な数と、前記データ転送手段が同時に転送可能な数とを含み、
前記主制御手段は、前記属性情報を参照して、前記データ転送手段が同時に転送可能な数を満たすように、前記選別された複数のソフトウェアプログラムの各々の転送を開始するタイミングを定め、当該定められた転送開始タイミングから前記選別された複数のソフトウェアプログラムの各々のデータ転送時間が経過した後に、前記依存関係に関する情報及び前記主制御手段が同時に処理可能な数を満たすように、前記選別された複数のソフトウェアプログラムの初期化を開始するタイミングを定め、当該定められたタイミングから前記選別された複数のソフトウェアプログラムの各々の初期化処理時間を算出することで、前記選別された複数のソフトウェアプログラムの転送を開始してから、前記選別された複数のソフトウェアプログラムの初期化を終了するまでの起動時間を、前記選別された複数のソフトウェアプログラムの転送を開始する全てのタイミングの組み合わせにおいて算出し、当該算出された起動時間の内、最も短い時間に対応する、前記選別された複数のソフトウェアプログラムの各々の転送を開始するタイミング及び前記選別された複数のソフトウェアプログラムの初期化を開始するタイミングを含む起動スケジュールを作成し、
前記データ転送手段は、前記起動スケジュールに従って、前記選別された複数のソフトウェアプログラムの各々の転送を開始し、
前記主制御手段は、前記起動スケジュールに従って、前記主記憶手段に転送された前記選別された複数のソフトウェアプログラムの初期化を開始すること
を特徴とするデジタル放送受信装置。
【請求項２】
主記憶手段と、
複数のソフトウェアプログラム及び当該複数のソフトウェアプログラムの各々の属性情報を記憶する補助記憶手段と、
起動処理の種別を特定する指示の入力を受け付け、当該指示で特定された起動処理の種別に従って、前記補助記憶手段に記憶されている複数のソフトウェアプログラムから必要となる複数のソフトウェアプログラムを選別する主制御手段と、
前記補助記憶手段に記憶されている複数のソフトウェアプログラムから、前記主制御手段により選別された複数のソフトウェアプログラムを前記主記憶手段に転送するデータ転送手段と、を備え、
前記属性情報は、前記複数のソフトウェアプログラムの各々の起動種別と、前記複数のソフトウェアプログラムの各々の前記起動種別毎のデータ転送時間と、前記複数のソフトウェアプログラムの各々の前記起動種別毎の初期化処理時間と、前記複数のソフトウェアプログラムの各々の実行開始に必要な他のソフトウェアプログラムを示す依存関係に関する情報と、前記主制御手段が同時に処理可能な数と、前記データ転送手段が同時に転送可能な数とを含み、
前記主制御手段は、前記属性情報を参照して、前記データ転送手段が同時に転送可能な数を満たすように、前記選別された複数のソフトウェアプログラムの各々の起動種別及び転送を開始するタイミングを定め、当該定められた転送開始タイミングから当該定められた起動種別における前記選別された複数のソフトウェアプログラムの各々のデータ転送時間が経過した後に、前記依存関係に関する情報及び前記主制御手段が同時に処理可能な数を満たすように、前記選別された複数のソフトウェアプログラムの初期化を開始するタイミングを定め、当該定められたタイミングから当該定められた起動種別における前記選別された複数のソフトウェアプログラムの各々の初期化処理時間を算出することで、前記選別された複数のソフトウェアプログラムの転送を開始してから、前記選別された複数のソフトウェアプログラムの初期化を終了するまでの起動時間を、前記選別された複数のソフトウェアプログラムの転送を開始する全てのタイミング及び起動種別の組み合わせにおいて算出し、当該算出された起動時間の内、最も短い時間に対応する、前記選別された複数のソフトウェアプログラムの各々の起動種別、前記選別された複数のソフトウェアプログラムの各々の転送を開始するタイミング及び前記選別された複数のソフトウェアプログラムの初期化を開始するタイミングを含む起動スケジュールを作成し、
前記データ転送手段は、前記起動スケジュールに従って、前記選別された複数のソフトウェアプログラムの各々の転送を開始し、
前記主制御手段は、前記起動スケジュールに従って、前記主記憶手段に転送された前記選別された複数のソフトウェアプログラムの初期化を開始すること
を特徴とするデジタル放送受信装置。
【請求項３】
前記主制御手段は、前記指示で特定された起動処理の種別に従って選別された複数のソフトウェアプログラムを示す情報と、当該選別された複数のソフトウェアプログラムに基づいて作成された起動スケジュールとを前記補助記憶手段に記憶させ、
前記主制御手段は、前記指示で特定された起動処理の種別に従って選別された複数のソフトウェアプログラムが、前記補助記憶手段に記憶されている情報で示される複数のソフトウェアプログラムと同じ場合には、前記補助記憶手段に記憶されている起動スケジュールに従って、前記データ転送手段に前記転送を開始させるとともに、前記初期化を開始すること
を特徴とする請求項１に記載のデジタル放送受信装置。
【請求項４】
主記憶手段、及び、複数のソフトウェアプログラム及び当該複数のソフトウェアプログラムの各々の属性情報を記憶する補助記憶手段を備えるデジタル放送受信装置が行うソフトウェア起動方法であって、
起動処理の種別を特定する指示の入力を受け付ける起動処理種別受入ステップと、
前記起動処理種別受入ステップで受け付けた指示で特定された起動処理の種別に従って、前記補助記憶手段に記憶されている複数のソフトウェアプログラムから必要となる複数のソフトウェアプログラムを選別するソフトウェア選別ステップと、
前記複数のソフトウェアプログラムの各々のデータ転送時間と、前記複数のソフトウェアプログラムの各々の初期化処理時間と、前記複数のソフトウェアプログラムの各々の実行開始に必要な他のソフトウェアプログラムを示す依存関係に関する情報と、同時に処理可能な数と、同時に転送可能な数とを含む前記属性情報を参照して、前記同時に転送可能な数を満たすように、前記選別された複数のソフトウェアプログラムの各々の転送を開始するタイミングを定め、当該定められた転送開始タイミングから前記選別された複数のソフトウェアプログラムの各々のデータ転送時間が経過した後に、前記依存関係に関する情報及び前記同時に処理可能な数を満たすように、前記選別された複数のソフトウェアプログラムの初期化を開始するタイミングを定め、当該定められたタイミングから前記選別された複数のソフトウェアプログラムの各々の初期化処理時間を算出することで、前記選別された複数のソフトウェアプログラムの転送を開始してから、前記選別された複数のソフトウェアプログラムの初期化を終了するまでの起動時間を、前記選別された複数のソフトウェアプログラムの転送を開始する全てのタイミングの組み合わせにおいて算出し、当該算出された起動時間の内、最も短い時間に対応する、前記選別された複数のソフトウェアプログラムの各々の転送を開始するタイミング及び前記選別された複数のソフトウェアプログラムの初期化を開始するタイミングを含む起動スケジュールを作成する起動スケジュール策定ステップと、
前記起動スケジュール策定ステップで作成された起動スケジュールに従って、前記選別された複数のソフトウェアプログラムの各々の、前記補助記憶手段から前記主記憶手段への転送を開始するデータ転送制御ステップと、
前記起動スケジュール策定ステップで作成された起動スケジュールに従って、前記主記憶手段に転送された前記選別された複数のソフトウェアプログラムの初期化を開始するソフトウェアプログラム実行ステップと、を有すること
を特徴とするソフトウェア起動方法。
【請求項５】
主記憶手段、及び、複数のソフトウェアプログラム及び当該複数のソフトウェアプログラムの各々の属性情報を記憶する補助記憶手段を備えるデジタル放送受信装置が行うソフトウェア起動方法であって、
起動処理の種別を特定する指示の入力を受け付ける起動処理種別受入ステップと、
前記起動処理種別受入ステップで受け付けた指示で特定された起動処理の種別に従って、前記補助記憶手段に記憶されている複数のソフトウェアプログラムから必要となる複数のソフトウェアプログラムを選別するソフトウェア選別ステップと、
前記複数のソフトウェアプログラムの各々の起動種別と、前記複数のソフトウェアプログラムの各々の前記起動種別毎のデータ転送時間と、前記複数のソフトウェアプログラムの各々の前記起動種別毎の初期化処理時間と、前記複数のソフトウェアプログラムの各々の実行開始に必要な他のソフトウェアプログラムを示す依存関係に関する情報と、同時に処理可能な数と、同時に転送可能な数とを含む前記属性情報を参照して、前記同時に転送可能な数を満たすように、前記選別された複数のソフトウェアプログラムの各々の起動種別及び転送を開始するタイミングを定め、当該定められた転送開始タイミングから当該定められた起動種別における前記選別された複数のソフトウェアプログラムの各々のデータ転送時間が経過した後に、前記依存関係に関する情報及び前記主制御手段が同時に処理可能な数を満たすように、前記選別された複数のソフトウェアプログラムの初期化を開始するタイミングを定め、当該定められたタイミングから当該定められた起動種別における前記選別された複数のソフトウェアプログラムの各々の初期化処理時間を算出することで、前記選別された複数のソフトウェアプログラムの転送を開始してから、前記選別された複数のソフトウェアプログラムの初期化を終了するまでの起動時間を、前記選別された複数のソフトウェアプログラムの転送を開始する全てのタイミング及び起動種別の組み合わせにおいて算出し、当該算出された起動時間の内、最も短い時間に対応する、前記選別された複数のソフトウェアプログラムの各々の起動種別、前記選別された複数のソフトウェアプログラムの各々の転送を開始するタイミング及び前記選別された複数のソフトウェアプログラムの初期化を開始するタイミングを含む起動スケジュールを作成する起動スケジュール策定ステップと、
前記起動スケジュール策定ステップで作成された起動スケジュールに従って、前記選別された複数のソフトウェアプログラムの各々の、前記補助記憶手段から前記主記憶手段への転送を開始するデータ転送制御ステップと、
前記起動スケジュール策定ステップで作成された起動スケジュールに従って、前記主記憶手段に転送された前記選別された複数のソフトウェアプログラムの初期化を開始するソフトウェアプログラム実行ステップと、を有すること
を特徴とするソフトウェア起動方法。
【請求項６】
前記起動処理種別受入ステップで特定された起動処理の種別に従って選別された複数のソフトウェアプログラムを示す情報と、当該選別された複数のソフトウェアプログラムに基づいて作成された起動スケジュールとを前記補助記憶手段が記憶するスケジュール格納ステップと、
起動処理の種別を特定する指示の入力を受け付ける第２の起動処理種別受入ステップと、
前記第２の起動処理種別受入ステップで受け付けた指示で特定された起動処理の種別に従って、前記補助記憶手段に記憶されている複数のソフトウェアプログラムから必要となる複数のソフトウェアプログラムを選別する第２のソフトウェア選別ステップと、
前記第２のソフトウェア選別ステップで選別された複数のソフトウェアプログラムが、前記補助記憶手段に記憶されている情報で示される複数のソフトウェアプログラムと同じ場合に、前記補助記憶手段に記憶されている起動スケジュールを特定する起動スケジュール特定ステップと、
前記起動スケジュール特定ステップで作成された起動スケジュールに従って、前記選別された複数のソフトウェアプログラムの各々の、前記補助記憶手段から前記主記憶手段への転送を開始する第２のデータ転送制御ステップと、
前記起動スケジュール特定ステップで作成された起動スケジュールに従って、前記主記憶手段に転送された前記選別された複数のソフトウェアプログラムの初期化を開始する第２のソフトウェアプログラム実行ステップと、をさらに有すること
を特徴とする請求項４に記載のソフトウェア起動方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタル放送受信装置に関し、とくに当該装置の電源投入後から、当該装置が受信したデジタル放送信号の映像の表示が可能となるまでの時間を短時間とすることが可能なデジタル放送受信装置およびその起動方法に関する。
【背景技術】
【０００２】
デジタル放送においては、映像情報や音声情報に加えて、文字情報や静止画に関するデータ情報や、視聴者からの入力情報に基づいた双方向のインタラクティブ情報等、様々なサービスを提供すべく付加情報が送信されている。そして、これらサービスの提供を実現するために、当該サービスを実行するためのソフトウェアプログラムは、従来の放送の場合と比較して高機能化、多機能化になってきている。そのため、デジタル放送受信装置においては、当該プログラムを実行すべく、汎用的なオペレーティングシステム（以下、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）と記す）を採用している。
【０００３】
このようなＯＳを採用したデジタル放送受信装置においては、上述のようなデジタル放送特有のサービスに対応する個々のソフトウェアプログラムデータは、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓ  Ｕｎｉｔ）による制御によって、保存用の不揮発メモリーから作業用のＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）に読み込まれ、実行される。ソフトウェアの実行にあたっては、まずソフトウェアプログラムの起動に必要な準備処理（初期化処理）が行われ、この後に個々の機能処理が行われる。ソフトウェアが実現する機能によっては、初期化処理の際に行う演算が膨大でありこれに要する時間が長くなる。これを解決する手段として、当該ＯＳが持つスナップショット起動の機能を利用する場合がある。
【０００４】
ソフトウェアプログラムは、初期化処理を行う際に得られた計算結果等をＲＡＭ上に格納する。初期化処理完了後に生成したＲＡＭ上のデータを実行中データと呼ぶ。前記スナップショット起動とは、ソフトウェアプログラムデータを不揮発メモリーから読み出しソフトウェアプログラムの初期化処理を行う代わりに、予め初期化処理完了後のＲＡＭ上の実行中データを不揮発メモリーに蓄えておき、ソフトウェアプログラムデータとともに前記実行中データを一括して読み出した後必要最低限の復帰処理を行う起動処理をさす。スナップショット起動を行う際に読み出すソフトウェアプログラムデータおよび実行中データの全体をスナップショットデータと呼ぶ。
【０００５】
しかしながら、デジタル放送受信装置の種々の機能を実現するためのソフトウェアプログラムの初期化処理は膨大であり、また初期化処理完了後に占めるＲＡＭ上のデータの容量が大きいため、デジタル放送受信装置全体として１つのスナップショットデータを作成しこれを用いてスナップショット起動を行うと、起動時に不揮発メモリーから読み出すスナップショットデータの容量が大きくなる。その結果、通常の起動に比較してかえって起動時間が長くなってしまうことがある。このような問題を回避するため、スナップショットデータを分割して作成し、初期化処理完了後のＲＡＭ上のデータの依存関係から、分割した複数のスナップショットデータを呼び出す順番を決定し、この順番に従って順次スナップショットデータを呼び出して起動する方法が考案されている（例えば、特許文献１参照）。また、起動時に用いる特定の機能を実現するために必要なデバイスを判別し、これに必要なスナップショットデータのみを読み込み起動する方法も考案されている（例えば、特許文献２参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９−１７６１５１号公報（４頁、図２）
【特許文献２】特開２０１０−１４０１５６号公報（３頁、図１）
【発明の概要】
【発明が解決しようとする課題】
【０００７】
従来の分割した複数のスナップショットデータを呼び出すデジタル放送受信装置においては、分割したスナップショットデータの読み込む順番の決定にあたって初期化処理完了後のＲＡＭ上のデータの依存関係から算出したり、または、起動が必要なスナップショットデータを順次読み込んだりしている。しかしながら、従来のデジタル放送受信装置においては、スナップショットデータを不揮発メモリーからＲＡＭへ転送する時間や、スナップショットデータを読み込んだ後で行う復帰処理に要する時間について考慮されていないため、特定のスナップショットデータの転送時間や特定の復帰処理に要する時間が膨大である場合に、必ずしも起動時間が短くならない問題があった。
【０００８】
例えば、初期化処理完了後のＲＡＭ上のデータの依存関係からＲＡＭ上のデータが極力書き換わらないようにスナップショットデータの読み込む順番が決定される場合には、放送受信に必ずしも必要のない機能のスナップショットデータを先に読み込むように順番が決定されるケースがある。とくにスナップショットデータの転送時間が多くかかる場合には問題が顕著となる。
【０００９】
また、特定の機能の起動に必要なデバイスを判別しこれに必要なスナップショットデータのみを読み込むデジタル放送受信装置においては、複数の機能を順次開始する場合に必ずしも起動時間が短くならないケースが発生する。例えば、放送受信を開始するために機能Ａと機能Ｂのスナップショットデータを読み込むとする。機能Ａはチューナ手段を制御するソフトウェアプログラムなど優先度が高いがスナップショットデータのサイズが比較的小さくかつ復帰処理に要する時間も短い場合、一方機能Ｂはデコード手段を制御するソフトウェアプログラムなど機能Ａよりも優先度は低いが機能Ａよりもスナップショットデータのサイズが大きくかつ復帰処理に要する時間がデコードデバイスのハードウェアの復帰時間を含むなど比較的大きい場合とする。このとき優先度のみに従ってソフトウェアプログラムの起動順番を決定すると、まず機能Ａをスナップショット起動し、次に機能Ｂをスナップショット起動することになる。しかしながら、まず機能Ｂをスナップショット起動し、機能Ｂの復帰処理の間に機能Ａのスナップショット起動をする方が起動時間を短くできるケースがあり、必ずしも起動時間が短くならない問題があった。さらには、機能Ａとして放送受信の機能を開始した後に機能Ｂとして電子番組表の機能を開始する場合には、機能Ａの初期化完了を待つ間に次に必要な機能を開始することができず、放送受信の機能（機能Ａ）をすべて完了した後ではじめて電子番組表の機能（機能Ｂ）の開始ができるため、２つめ以降の機能の開始が遅延する問題があった。
【００１０】
この発明は、上述のような課題を解決するためになされたものであって、電源投入後から受信したデジタル放送信号の映像の表示が可能となるまでの起動時間を短縮するとともに、当該デジタル放送受信装置が有する機能の全体が使用可能となるまでの時間を短縮することができるデジタル放送受信装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
この発明に係るデジタル放送受信装置においては、
主記憶手段と、
複数のソフトウェアプログラム及び当該複数のソフトウェアプログラムの各々の属性情報を記憶する補助記憶手段と、
起動処理の種別を特定する指示の入力を受け付け、当該指示で特定された起動処理の種別に従って、前記補助記憶手段に記憶されている複数のソフトウェアプログラムから必要となる複数のソフトウェアプログラムを選別する主制御手段と、
前記補助記憶手段に記憶されている複数のソフトウェアプログラムから、前記主制御手段により選別された複数のソフトウェアプログラムを前記主記憶手段に転送するデータ転送手段と、を備え、
前記属性情報は、前記複数のソフトウェアプログラムの各々のデータ転送時間と、前記複数のソフトウェアプログラムの各々の初期化処理時間と、前記複数のソフトウェアプログラムの各々の実行開始に必要な他のソフトウェアプログラムを示す依存関係に関する情報と、前記主制御手段が同時に処理可能な数と、前記データ転送手段が同時に転送可能な数とを含み、
前記主制御手段は、前記属性情報を参照して、前記データ転送手段が同時に転送可能な数を満たすように、前記選別された複数のソフトウェアプログラムの各々の転送を開始するタイミングを定め、当該定められた転送開始タイミングから前記選別された複数のソフトウェアプログラムの各々のデータ転送時間が経過した後に、前記依存関係に関する情報及び前記主制御手段が同時に処理可能な数を満たすように、前記選別された複数のソフトウェアプログラムの初期化を開始するタイミングを定め、当該定められたタイミングから前記選別された複数のソフトウェアプログラムの各々の初期化処理時間を算出することで、前記選別された複数のソフトウェアプログラムの転送を開始してから、前記選別された複数のソフトウェアプログラムの初期化を終了するまでの起動時間を、前記選別された複数のソフトウェアプログラムの転送を開始する全てのタイミングの組み合わせにおいて算出し、当該算出された起動時間の内、最も短い時間に対応する、前記選別された複数のソフトウェアプログラムの各々の転送を開始するタイミング及び前記選別された複数のソフトウェアプログラムの初期化を開始するタイミングを含む起動スケジュールを作成し、
前記データ転送手段は、前記起動スケジュールに従って、前記選別された複数のソフトウェアプログラムの各々の転送を開始し、
前記主制御手段は、前記起動スケジュールに従って、前記主記憶手段に転送された前記選別された複数のソフトウェアプログラムの初期化を開始すること
を特徴とするものである。
【発明の効果】
【００１２】
本発明に係るデジタル放送受信装置によれば、実行優先順位が低くいソフトウェアプログラムや実行中データの転送に時間を要するソフトウェアプログラムが含まれる場合でも、実行優先順位に依らず先行してデータ転送を開始するなどして、起動するソフトウェアプログラム全体の起動時間が短くなるようデータ転送やソフトウェアプログラム実行のスケジュールを決定するため、デジタル放送受信装置の起動時間を短縮することができ、ユーザの利便性を向上することができる。
【図面の簡単な説明】
【００１３】
【図１】この発明の実施の形態１によるデジタル放送受信装置の構成を示すブロック図である。
【図２】この発明の実施の形態１によるデジタル放送受信装置の構成一部を示すブロック図である。
【図３】この発明の実施の形態１によるデジタル放送受信装置の起動時の主制御手段１０１の処理手順を示すフローチャートの前半である。
【図４】この発明の実施の形態１によるデジタル放送受信装置の起動時の主制御手段１０１の処理手順を示すフローチャートの後半である。
【図５】この発明の実施の形態１によるデジタル放送受信装置の主制御手段１０１またはデータ転送手段１０３の時分割同時処理における、同時処理数と、一定時間に占める処理の割合を示すグラフである。
【図６】この発明の実施の形態１によるデジタル放送受信装置の起動スケジュールを算出するための入力情報を示す表である。
【図７】この発明の実施の形態１によるデジタル放送受信装置の起動スケジュールの例を示す表である。
【図８】この発明の実施の形態１によるデジタル放送受信装置のデータ転送制御手段１０２が決定するプログラムデータ起動スケジュールを適用した場合の、起動時間比較のグラフである。
【図９】この発明の実施の形態２によるデジタル放送受信装置の起動スケジュールを算出するための入力情報を示す表である。
【図１０】この発明の実施の形態２によるデジタル放送受信装置の起動スケジュールの例を示す表である。
【図１１】この発明の実施の形態２によるデジタル放送受信装置のソフトウェアプログラムデータと実行中データの転送時間、およびソフトウェアプログラムの初期化処理時間とスナップショット起動時の復帰処理時間の区分を示すグラフである。
【図１２】この発明の実施の形態３によるデジタル放送受信装置１００の主制御手段１０１が、図３のフローチャートにおいてステップＳ８の起動スケジュール決定を行う手順の内容を示すフローチャートである。
【発明を実施するための形態】
【００１４】
実施の形態１．
図１は、この発明を実施するための実施の形態１におけるデジタル放送受信装置の構成を示すブロック図である。図１において、本実施の形態におけるデジタル放送受信装置１００は、受信装置１００全体の制御を行うＣＰＵ１、前記ＣＰＵ１の中核処理を行う機能単位のＣＰＵコアＡ９およびＣＰＵコアＢ１０、デジタル放送受信装置１００内のデータ転送を専用に行うＤＭＡコントローラ３、ＤＭＡコントローラ３で実行するデータ転送の手順を決定しＤＭＡコントローラ３に命令するＤＭＡスケジューラ２、プログラムデータを保持する不揮発メモリー４、プログラムデータを実行する際にデータを格納するＲＡＭ５、デジタル放送受信装置１００に対してユーザ操作を直接入力するための操作ボタン７、同様にユーザ操作を遠隔入力するリモコン８およびリモコン８からの操作内容を受信するリモコン受信手段７、放送信号を入力しデジタル放送受信装置１００内に取り込むチューナ手段１１、チューナ手段１１より入力した暗号化された放送信号を復号するデスクランブラ手段１２、デスクランブラ手段１２により復号した非暗号の放送信号から映像信号、音声信号ならびにデータ放送信号等の付加信号を選択するデマルチプレクサ手段１３、デマルチプレクサ手段１３より選択された映像信号を復号し元の映像情報に戻す映像情報デコーダ１４、同様にデマルチプレクサ手段１３より選択された音声信号を復号し元の音声情報に戻す音声情報でコーダ１５、同様にデマルチプレクサ手段１３により選択されたデータ放送信号を入力しデータ放送画面情報を生成するデータ放送処理手段１６、ユーザ操作を行うためのグラフィックス画面を生成するグラフィックス生成手段１７、映像情報デコーダ１４とデータ放送処理手段１６とグラフィックス生成手段１７とで生成した映像情報を重畳し合成する映像合成手段１８、映像合成手段１８にて合成された映像情報を所望の出力フォーマットに変換するスケーラ手段１９、および音声情報でコーダ１５が出力するデジタル音声情報をアナログ音声信号に変換するアナログ変換手段２０により構成される。
【００１５】
ＣＰＵ１はデジタル放送受信装置１００内の各構成手段を制御し、入力された放送信号を復号し映像情報、音声情報、および付加情報をユーザに提示するよう動作する。図１のＣＰＵ１は２つの処理を同時に並列して実行できるよう、処理の機能単位である２つのＣＰＵコアＡ９とＣＰＵコアＢ１０とを制御下におき、複数の処理をＣＰＵコアＡ９またはＣＰＵコアＢ１０に振り分けて処理させるよう制御する。
【００１６】
図２は本実施の形態におけるデジタル放送受信装置１００の構成を簡略化して表記したブロック図である。図１に示したデジタル放送受信装置１００の構成手段のうち、ユーザ操作を入力するブロックをまとめて操作手段１１０として表記する。また放送信号を受信し復号するためのチューナ手段１１、デスクランブラ手段１２、デマルチプレクサ手段１３、映像情報デコーダ１４、音声情報デコーダ１５、データ放送処理手段１６およびグラフィックス生成手段１７のブロックをまとめて放送信号復号手段１１１として表記する。また放送信号復号手段１１１により復号した映像情報、音声情報等をユーザに提示するための映像合成手段１８、スケーラ手段１９およびアナログ変換手段２０のブロックをまとめて出力手段１１２として表記する。さらには、ＣＰＵ１の機能を含むデジタル放送受信装置１００の全般の制御を司る手段として主制御手段１０１、主制御手段１０１の制御下にあり図１のＣＰＵコアＡ９とＣＰＵコアＢ１０等のＣＰＵ１の中核処理を行う機能単位である主制御中核処理手段１０２、ＤＭＡスケジューラ２とＤＭＡコントローラ３との機能を含むデジタル放送受信装置１００内のデータ転送を行う手段としてデータ転送手段１０３、不揮発メモリー４は補助記憶手段１０４、ＲＡＭ５は主記憶手段１０５として表記する。
【００１７】
なお、データ転送手段１０３の機能は、その一部分または全てが主制御手段１０１で実現される場合があり、その場合データ転送手段１０３は主制御手段１０１に含まれることになるが、ソフトウェアプログラムデータ転送に関する説明を明確にするため、以下区別した手段として説明する。また、図２において、主制御中核処理手段１０２は１つとして記載しているが、複数個備えていてもよい。以下の説明で主制御中核処理手段１０２の個数について述べるが、図２においては、その個数だけ主制御中核処理手段１０２が構成要素として含まれるものとする。
【００１８】
図３および図４は、本実施の形態におけるデジタル放送受信装置１００の主制御手段１０１が行う起動処理手順を示すフローチャートである。以下、図３に従って説明する。
【００１９】
ユーザがデジタル放送受信装置１００の電源を入れた場合、ステップＳ１において操作手段１１０にて入力したユーザからの起動命令をうけ、ステップＳ２において主制御手段１０１が起動処理を開始する。操作手段１１０は、デジタル放送受信装置１００に設けられたボタンで実現される場合や、リモートコントローラとその受信部により実現される場合がある。なお、いずれの場合でもデジタル放送受信装置１００は操作手段１１０からの起動命令を受け付ける状態である必要があり、主電源がＯＮの状態である場合のほかに、操作手段１１０から入力するユーザからの起動命令を受け付けるともに主電源をＯＮにするような、主制御手段１０１とは別の起動制御手段を設ける場合もある。以下ではこれら主制御手段１０１以外の手段が行う起動命令処理についての説明は省略し、主制御手段１０１に対して起動命令が入力された後の処理について述べる。
【００２０】
ステップＳ３において、主制御手段１０１はデジタル放送受信装置１００のシステムリソースに関する情報を取得する。ここで取得するシステムリソース情報とは、主制御手段１０１が司る主制御中核処理手段１０２の個数や、データ転送手段１０３が同時に転送可能な系列数を含む。主制御手段１０１は後段のステップＳ８の処理において、必要なソフトウェアプログラムデータの転送に関するスケジュールを決定するが、この際に同時に利用可能な主制御手段１０１の処理数や同時にデータ転送手段１０３が転送可能な処理数の情報が必要でありステップＳ３において取得する。
【００２１】
なお、ＯＳによっては、そのＯＳが同時に利用可能な主制御手段１０１の数やデータ転送手段の数を見かけ上増やす機能を有する場合がある。これらの処理は以下のようなソフトウェア的な処理により実現している。データ転送手段１０３が同時に転送可能な系列数が１であるにもかかわらず、主制御手段１０１がデータＡとデータＢとを同時に転送するようにデータ転送手段１０３に命令をする場合、データ転送手段１０３はひとまず両方の命令を受け付ける。そしてまず一定時間だけデータＡの一部分を転送処理した後、次の一定時間はデータＢの一部分を転送処理をする。これら処理を順次入れ替えながらデータＡとデータＢの転送処理をあわせて同時進行的に行う。片方のデータＡの転送が完了した際に、データ転送手段１０３は主制御手段１０１にデータＡの転送処理が完了したことを通知し、次からはデータＢの転送処理のみを行う。このような処理を時分割同時処理と呼ぶ。
【００２２】
時分割同時処理は、主制御手段１０１の処理においても同様に行われる。例えば、複数のソフトウェアプログラムを実行する場合、一定時間ごとに実行するソフトウェアプログラムの種類を決定し、複数のソフトウェアプログラムの実行を適宜入れ替えて同時進行的に複数のソフトウェアプログラムを実行する。
【００２３】
図５は、本実施の形態のよるデジタル放送受信装置の主制御手段１０１またはデータ転送手段１０３で実行される時分割同時処理における、同時処理数と処理時間との関係を示すグラフである。以下データ転送手段１０３における時分割処理を説明するが、主制御手段１０１のプログラム実行の時分割処理についても同様である。図５上段の図は、同時処理数ｎ＝４の場合の時分割処理の処理Ａ、Ｂ、ＣおよびＤと時間との関係を表す。
【００２４】
始めに処理Ａを一定時間実行し、次に別の処理を行うかを判断する。このとき、同じ処理Ａを実行すると判断したため、切り替えに要する余分な時間はわずかである。処理Ａを一定時間実行後、再び次に別の処理を行うかを判断する。この時点で次に処理Ｂを実施すると判断したため、途中まで実行した処理Ａの一時情報を主制御手段１０１内に備える一時記憶領域に退避する。処理Ｂを実行するにあたり、もし処理Ｂの一時情報が主制御手段１０１内の一時記憶領域に存在すればこれを呼び戻す。この後処理Ｂを実行する準備をした後、処理Ｂの実行を開始する。このとき、処理Ａの一時情報を一時記憶領域に退避する時間、処理Ｂの一時情報が主制御手段１０１内の一時記憶領域に存在すればこれを呼び戻す時間および処理Ｂを実行する準備時間が処理切り替えに要する時間Ｐとなる。
【００２５】
図５上段の図において、処理Ｂの実行の後、処理Ｃ、処理Ｄ、処理Ａ、処理Ｄおよび処理Ｂと順次処理を実行する。各の切り替えに要する時間をそれぞれＰ、Ｑ、Ｒ、Ｓ、ＴおよびＵとする。処理を開始し、最後に処理Ｂを実行した時点までの、処理に要した時間と、処理の切り替えに要した時間とに区分し、並べなおしたグラフが図５上段の図の上部に示す。図５下段の図は、このように処理に要した時間と、処理の切り替えに要した時間との割合と、同時処理数との関係を表す。同時処理数が多くなると、処理全体にかかる時間のうち処理の切り替えに要する時間の割合が大きくなる。
【００２６】
一般に時分割同時処理の同時処理数が多くなれば、処理Ａの実行から処理Ｂの実行に遷移する際に退避した処理途中の状態等を退避する一時情報は大きくなる。このため、同時処理数が多くなると、退避した一時情報の中から退避もしくは呼び戻す作業の対象となる該当の処理に関しての一時情報を検索する時間が多くなる。また、これらの一時情報の退避場所として主制御手段１０１が備える比較的容量が小さく読み書き速度が速い一時記憶領域を用いるが、同時処理数が多くなり記憶すべき一時情報の量が多くなると、主制御手段１０１の一時記憶領域ではなく、前記主制御手段１０１の一時記憶領域に比較して容量が大きいが読み書き速度が遅い主記憶手段１０５に退避するよう構成されている。この場合、同時処理数がある閾値を超えると、処理の切り替えに要する時間が極端に大きくなることがある。
【００２７】
１つの処理のみを実行する場合の処理Ａの実行時間をＴ（Ａ)、処理Ａと時分割同時処理を行う処理数ｎ、時分割同時処理に伴う一定時間当たりの余分な時間（図５上段の図におけるＰ、Ｑ、Ｒ、Ｓ、ＴおよびＵの時間）をＴo（ｎ）とし、ｎ個の処理を同じ比率で時分割同時処理した場合の処理全体に要する実行時間Ｔt（Ａ，ｎ）は以下の式で求められる。ただしｎ個の処理Ａと時分割同時処理を行う処理の時間はその処理の種類によらず処理Ａと同じとする。
【００２８】
Ｔｔ（Ａ，ｎ）＝Ｔ（Ａ）×ｎ×（１＋Ｔo（ｎ））
【００２９】
Ｔｔ（Ａ，ｎ）はデジタル放送受信装置１００を構成する手段に依存し、決定可能な正値の関数である。主制御手段１０１およびデータ転送手段１０３におけるｎ個の処理を同じ比率で時分割同時処理した場合の処理全体に要する実行時間を、それぞれＴｔｃ（Ａ，ｎ）およびＴｔｄ（Ａ，ｎ）として求めることができる。
【００３０】
後述するように、後段のステップＳ８においては、主制御中核処理手段１０２の個数やデータ転送手段１０３の系列数を極力超えないようスケジュールを決定していくが、これらを上回る起動スケジュールを許容する場合には、予め同時利用数ｎの許容可能な最大値Ｎを決定し、これに応じてＴｔｃ（Ａ，ｎ）、Ｔｔｄ（Ａ，ｎ）（ｎ＝１、…、Ｎ）を求めておき転送時間の算出に用いる。このようにデジタル放送受信装置１００が備える主制御装置１０１が司る主制御中核処理手段１０２の個数やデータ転送手段１０３が同時に転送可能な系列数を超えないように、ソフトウェアプログラムの起動処理をスケジュールすることが重要となる。
【００３１】
次にステップＳ４において、主制御手段１０１はまず起動処理の種別を判定する。主制御手段の起動処理種別受入部においてユーザによって指示された起動処理を決定する。ここで、スケジュール入力部は、主制御手段１０１に備えられたものでソフトウェア的な実行部を指す。デジタル放送受信装置１００の起動処理として、起動後直ちに放送受信手段１１１にて受信処理を行い出力手段１１２より出力したり、通常の放送受信処理を行わず放送波によるデジタル放送受信装置１００用のソフトウェアプログラムデータの更新処理を行ったりするなど、いくつかの種別がある。ステップＳ４において通常の受信処理を行うと判定する場合には、ステップＳ５において、前回のデジタル放送受信装置１００の起動時にユーザが最後に選局を命令した放送局を受信したり、ユーザが予約をした放送局を受信したり、など前回受信処理における放送局の情報を取得する。
【００３２】
ステップＳ４およびＳ５において、主制御手段１０１が実行すべき起動処理の種別や放送局の情報は、補助記憶手段１０４等に保持しておき、起動処理開始直後に読み出すよう構成すればよい。一方、ステップＳ４において通常の受信処理を行わないと判定した場合には、ステップＳ５は実行せずステップＳ６を実行する。
【００３３】
次のステップＳ６では、主制御手段のソフトウェアプログラム選別部において起動処理に必要なソフトウェアプログラムを選別する。ここで、スケジュール入力部は、主制御手段１０１に備えられたものでソフトウェア的な実行部を指す。一般に、デジタル放送受信装置１００においては、放送波を受信して取り込むチューナ部品制御ソフトウェアプログラム、限定受信放送用の暗号化データを復号するデスクランブル制御ソフトウェアプログラム、デジタル放送信号全体から該当のデータのみを選別するデマルチプレクサ制御ソフトウェアプログラム、該当の圧縮信号を伸長するデコード制御ソフトウェアプログラム、伸長した映像情報や音声信号を適切に表示・再生するための出力制御ソフトウェアプログラム、画面に操作メニューを表示しユーザの入力命令を処理するユーザ操作入出力ソフトウェアプログラム、デジタル放送信号の付加情報を解読しグラフィックス表示を行うデータ放送制御ソフトウェアプログラム等、デジタル放送受信装置１００の担う機能を実現するための様々なソフトウェアプログラムデータを補助記憶手段１０４に格納されている。ステップ６では、デジタル放送受信装置１００はこれらのソフトウェアプログラムデータを必要に応じて読み出し実行することで機能を実現する。
【００３４】
例えば、ステップＳ４において通常の受信処理を行うと判定した場合には、デジタル放送受信装置１００の機能のうち、放送の受信処理を行い映像や音声を出力する機能に関係するソフトウェアプログラムを優先的に起動する。このときさしあたっては付加情報を解読するデータ放送制御ソフトウェアプログラムは起動すする必要はないため、始めに作成する起動スケジュールにはデータ放送制御ソフトウェアプログラムは含めない。一方、チューナ部品制御ソフトウェアプログラムやデコード制御ソフトウェアプログラム等はデジタル放送受信に必須であるため、転送・実行するソフトウェアプログラムとして採択する。起動処理に応じて必要なソフトウェアプログラムの種類についての判定基準の情報は補助記憶手段１０４に格納しておき、ステップＳ６実行時に主制御手段１０１が読み出すように構成すればよい。
【００３５】
また、ステップＳ４において、通常の受信処理以外の起動処理を行うと判定した場合、例えば放送信号に含まれる受信装置１００のソフトウェアプログラムを読み取り受信装置１００内のソフトウェアプログラムの入れ替えを行う場合の起動処理を説明する。放送信号を取り込むためのチューナ部品制御ソフトウェアプログラム、放送信号に含まれるソフトウェアプログラムを分離するためのデマルチプレクサ制御ソフトウェアプログラム、分離したソフトウェアプログラムをデジタル放送受信装置１００の補助記憶手段１０３に格納するためのダウンロード制御ソフトウェアプログラム等が必要なため、これらをステップＳ６にて選別する。一方、受信した放送信号をユーザに提示しないので、映像信号を復号するデコード制御ソフトウェアプログラムや画面への出力を制御する出力制御ソフトウェアプログラムは必要でないため起動しない。
【００３６】
次のステップＳ７において、選別した個々のソフトウェアプログラムの属性情報を取得する。ここでいう属性情報とは、ソフトウェアプログラムを補助記憶手段１０４から主記憶手段１０５に転送に要する時間、ソフトウェアプログラムを主記憶手段１０５に転送後、ソフトウェアプログラムの初期化処理に要する時間を含む。これらの時間は上記に述べた時分割同時処理の状況によって異なる場合があるため、他のデータ転送処理や実行処理が行われない場合の時間として記憶さていることとする。これらの属性情報は補助記憶手段１０４に格納しておき、ステップＳ７実行時に主制御手段１０１が読み出すように構成すればよい。
【００３７】
なおソフトウェアプログラムの属性情報に含まれる、ソフトウェアプログラムのデータを補助記憶手段１０４から主記憶手段１０５に転送に要する時間およびソフトウェアプログラムのデータを主記憶手段１０５に転送後ソフトウェアプログラムの初期化処理に要する時間については、デジタル放送受信装置１００を構成するデバイスの種類と性能、ＯＳの種類と性能等の条件が確定されれば一意に決定可能な情報である。また、デジタル放送受信装置１００において、実際に該当のソフトウェアプログラムのデータを転送したり初期化処理を行ったりする間にその所要時間を計測し、計測で得られた時間情報を属性情報として前記補助記憶手段１０４に格納するよう構成してもよい。
【００３８】
次のステップＳ８において、ソフトウェアプログラムの起動スケジュールを決定する。ステップＳ８における入力情報は下記の項目を含むとする。
・データ転送・実行するソフトウェアプログラムの種類。
・ソフトウェアプログラムのデータを補助記憶手段１０４から主記憶手段１０５へ転送するのに要する時間。
・ソフトウェアプログラムのデータを主記憶手段１０５に転送した後、ソフトウェアプログラムが実行する初期化処理に要する時間。
・ソフトウェアプログラム実行にあたって必要な、他のソフトウェアプログラムの情報（種類）。
・同時に利用可能な主記憶中核処理手段１０２の個数、および同時利用可能な個数を超えた場合の余分な時間を算出する関数Ｔｔｃ（Ａ，ｎ）、および同時利用上限値Ｎｃ。
・同時に転送可能なデータ転送手段１０３の系列数、および同時転送可能な系列数を超えた場合の余分な時間を算出する関数Ｔｔｄ（Ａ，ｎ）、および同時利用上限値Ｎｄ。
【００３９】
主制御手段１０１はこれらの情報に基づいて、スケジュール策定部において実行が必要なソフトウェアプログラムの起動スケジュールを決定する。ここで、スケジュール策定部は、主制御手段１０１に備えられたものでソフトウェア的な実行部を指す。
【００４０】
なお、主記憶中核処理手段１０２の同時利用上限値Ｎｃは、主記憶中核処理手段１０２の個数と同じか、またはこれよりも多い数とする。上限値ＮｃやＮｄは、予め同時利用数を超えた場合の余分時間を算出する関数Ｔｔｃ（Ａ，ｎ）やＴｔｄ（Ａ，ｎ）のnによる増分傾向から判断して設計値として定めておくのが適切であるが、デジタル放送受信装置１００の負荷状況や起動スケジュールの処理状況に応じて可変にしてもよい。
【００４１】
また起動スケジュールに記載する情報は少なくとも下記を含むとする。
・データ転送・実行するソフトウェアプログラムの種類。
・データ転送を開始する時刻。
・ソフトウェアプログラムを実行する時刻。
・ソフトウェアプログラム実行にあたって必要な、他のソフトウェアプログラムの情報（種類）。
・本起動スケジュールで同時利用する上限値ＮｃおよびＮｄ。
【００４２】
なお、起動スケジュールの具体例と効果については後述する。
【００４３】
次のステップＳ９において、転送すべきソフトウェアプログラムがあるかどうかを判断する。起動スケジュールは時系列的な情報で記載されているため、主制御手段１０１が、ある時点で転送すべきソフトウェアプログラムがあるかどうかを判断するためには、デジタル放送受信装置１００の時刻情報を取得すれば正確な判定が可能であるが、必ずしも時刻情報は用いなくてもよい。起動スケジュールは、同時利用可能なデータ転送手段１０３の系列数を極力超えないように決定されているため、ステップＳ９において現在用いているデータ転送手段１０３の同時利用数分を取得し、もし同時利用最大数よりも少ないと判定すれば、次に転送すべきソフトウェアプログラムの転送を開始するように構成すればよい。
【００４４】
次のステップＳ１０においては、主制御手段１０１のデータ転送制御部からデータ転送手段１０３に対して、転送すべきソフトウェアプログラムデータを転送するように転送開始の命令を行う。ここで、データ転送制御部は、主制御手段１０１に備えられたものでソフトウェア的な実行部を指す。
【００４５】
次のステップＳ１１において、実行可能なソフトウェアプログラムがあるかどうかを判断する。起動スケジュールにおいてソフトウェアプログラムの実行タイミングも時系列的な情報で記載されているため、ある時点で実行すべきソフトウェアプログラムがあるかどうかを判断するために、主制御手段１０１がデジタル放送受信装置１００の時刻情報を取得すれば正確な判定が可能であるが、必ずしも時刻情報は用いなくてもよい。ステップＳ９と同様に、起動スケジュールは、同時利用可能な主制御中核処理手段１０２の個数を極力超えないように決定されているため、ステップＳ１１において、現在用いている主制御中核処理手段１０２の個数を取得し、もし同時利用最大数よりも少ないと判定すれば、次に実行すべきソフトウェアプログラムの転送を開始するように構成すればよい。ただし、ステップＳ９のデータ転送をするソフトウェアプログラムの判定と異なり、ソフトウェアプログラムの実行にあたっては、他のソフトウェアプログラムの初期化処理の完了を待って始めて実行が可能なものがあるため、これらの依存関係を判定可能にするため、起動スケジュールにはソフトウェアプログラム間の依存関係に関する情報もあわせて記載しておくと、ステップＳ１１の処理を簡便に実現することが可能となる。
【００４６】
次のステップＳ１２においては、主制御手段１０１のソフトウェアプログラム実行部かから主記憶手段１０５に対して、該当のソフトウェアプログラムの実行を開始するように命令を行う。ここで、ソフトウェアプログラム実行部は、主制御手段１０１に備えられたものでソフトウェア的な実行部を指す。起動スケジュールに記載した全てのソフトウェアプログラムの実行が終わるまでステップＳ９からステップＳ１３を繰り返す。
【００４７】
なお、図３および図４のフローチャート図においては、理解しやすいようにステップＳ６にて選別したソフトウェアプログラムが全て初期化完了するまでの間は新たな機能開始はないものとして説明しているが、実際のデジタル放送受信装置１００の起動処理においては、放送受信の機能を開始する途中で、例えば電子番組表の機能など別の機能の開始をする場合がある。この場合には、ステップＳ１３の直前において別の機能の開始の有無を判定し、もし新たな機能の開始があると判定した際には、ステップＳ６において現在開始すべきソフトウェアプログラムの選別を新たに行うよう制御すればよい。
【００４８】
上述のように構成されたデジタル放送受信装置１００においては、主制御手段１０１がスケジュール策定部、データ転送制御部およびソフトウェアプログラム実行部を備えているので、スケジュール策定部で作成された起動スケジュールに従ってデータ転送制御部およびソフトウェアプログラム実行部で必要なソフトウェアプログラムのデータ転送や実行を行うことができ、起動処理に必要なソフトウェアプログラム全体の初期化処理完了までの時間を短縮し、放送受信した映像や音声を再生するまでの時間が短くすることが可能となる。
【００４９】
なお図３のステップＳ８にて起動スケジュールを決定する手段としては、起動順序の総当りのケースそれぞれの起動時間を求め、その中から最短時間のものを選ぶよう構成することができる。条件となるソフトウェアプログラムの個数や前記主制御中核処理手段１０２の個数や前記データ転送手段１０３の同時転送可能な系列数が少なく、その組み合わせとなる起動順序の数は比較的少ないため、全てのケースについての起動時間を実用上問題とならない有限な実時間にて演算することが可能である。また起動順序の組み合わせ数が比較的多い場合には、例えば線形計画法などの導出手法を用いれば、起動時間に影響を与えない程度の有意な短い演算時間にて、起動時間が比較的短くなる起動順序を導くことが可能である。次に、起動スケジュールの具体的な例とその効果について述べる。
【００５０】
図６は、本実施の形態におけるデジタル放送受信装置１００の起動処理に必要なソフトウェアプログラムの例であり、起動スケジュールを算出するための入力情報である。実行するソフトウェアプログラムは５個であり、それぞれＡ、Ｂ、Ｃ、ＤおよびＥとする。実行優先度はＡが最も高くＥが最も低いとする。各ソフトウェアプログラムの実行開始に必要な他のソフトウェアプログラムの依存関係は、実行優先度の順とする。ソフトウェアプログラムＡ、Ｂ、ＣおよびＤはソフトウェアプログラムのデータの転送に要する時間はほぼ同じとし、ソフトウェアプログラムＥは他に比較して５倍程度の転送時間を要するとする。また初期化処理に要する時間はいずれのソフトウェアプログラムもほぼ同じとする。
【００５１】
また、デジタル放送受信装置１００の主制御中核処理手段１０２は１個とする。またデータ転送手段１０３の同時転送可能な系列数は２個とする。時分割同時処理を行う際に発生する余分な時間が大きい場合を想定し、Ｎｃ，Ｎｄとしては実際の処理手段の個数と同様のＮｃ＝１、Ｎｄ＝２とする。
【００５２】
図７は、図６を入力情報として算出した起動スケジュールの例であり、ソフトウェアプログラムＡ、Ｂ、Ｃ、ＤおよびＥについて、データ転送開始タイミング、実行開始タイミングおよび実行開始に必要な他のソフトウェアプログラムの情報を示している。また、データ転送手段１０３の使用数上限値Ｔｔｃ＝２、主制御中核処理手段１０２の使用数上限値Ｔｔｄ＝１としている。起動するソフトウェアプログラム全体について、データ転送に要する時間、初期化処理に要する時間等から、各ソフトウェアプログラムのデータ転送開始タイミングと実行開始タイミングを算出した結果である。図７に示した表にはソフトウェアプログラムの実行優先度に関する情報はとくに含まなくてもよいが、処理状況によって同時に２つのソフトウェアプログラムの実行が開始可能である場合に優先順を決定するために用いることができるなど、ソフトウェアプログラム制御をより最適に行うために実行優先度に関する情報を含んでもよい。
【００５３】
図８は、データ転送制御手段１０２が決定するプログラムデータ起動スケジュールを適用した場合の、起動時間を比較したグラフである。図８の上段（ア）は、本実施の形態の図３のステップＳ８にて決定する起動スケジュールに従った起動処理の模式図である。Ｎｃ、Ｎｄの値が実際の処理手段の個数と一致する場合には、起動スケジュールを決定するにあたっては入力情報に基づいて、全ての順番の組み合わせの初期化完了終了までの起動時間を比較的容易に求めることができる。この中から、依存関係の制約条件を満たすものを選択し、さらに起動時間が最短となるものを選べばよい。図８の上段（ア）においては、ソフトウェアプログラムＥの優先順位が低いにも関わらず、起動処理の早いうちにデータ転送処理の開始を実施している。これは、ソフトウェアプログラムＥのデータ転送に要する時間が長いために、デジタル放送受信装置１００の起動時間を短くするためには早期にソフトウェアプログラムＥのデータ転送を開始すべきと判定したためである。また、ソフトウェアプログラムの初期化処理の実行は、依存関係を考慮しながら、順次１系統ずつ実施していき、結果としてデータ転送手段１０３および主制御手段１０１の未処理時間がほとんどなく常に稼働するよう起動スケジュールが得られることがわかる。
【００５４】
図８の中段（イ）は、従来のデジタル放送受信装置で用いられる、ソフトウェアプログラムの実行優先度に応じて実行する順番を決定した場合の起動処理の模式図である。図８の上段（ア）と比較をしやすくするため、主記憶処理手段とデータ転送手段の同時利用数は、図８の上段（ア）と同様になるようにした。ソフトウェアプログラムＡおよびＢの起動を開始するため、まずこれら２つのソフトウェアプログラムデータを転送し、転送後に依存関係のないソフトウェアプログラムＡの初期化処理を開始し、この初期化処理完了後にソフトウェアプログラムＢの初期化処理を開始する。ソフトウェアプログラムＡおよびＢのデータ転送処理が完了すると、次にソフトウェアプログラムＣおよびＤのデータ転送を開始する。ソフトウェアプログラムＣのデータ完了後、ソフトウェアプログラムＢの初期化処理完了を確認した後、ソフトウェアプログラムＣの初期化処理を開始する。この後、ソフトウェアプログラムＤの初期化処理を実行する。ソフトウェアプログラムＣおよびＤのデータ転送完了後、ソフトウェアプログラムＥのデータ転送を開始する。ソフトウェアプログラムＤの初期化処理完了後、ソフトウェアプログラムＥの初期化処理は開始可能となるが、このときまだソフトウェアプログラムＥのデータ転送が完了していないため、主制御手段はアイドル状態となり有意な処理はおこなわれない。一定時間経過してソフトウェアプログラムＥのデータ転送完了後、ソフトウェアプログラムＥの初期化処理を開始する。このように図８の中段（イ）に示す起動処理においては、その途中で主制御手段が有意に動作しない期間が発生し、このため図８の上段（ア）の起動処理に比較して起動時間が長くなってしまう。
【００５５】
図８の下段（ウ）は、主制御中核処理手段の個数やデータ転送手段の同時転送可能な系列数を考慮せず、必要なソフトウェアプログラム全体を同時に読み込み開始する起動処理の模式図である。５つのソフトウェアプログラムのデータを一括してデータ転送しようとするため、データ転送手段は時分割同時処理により５つのデータ転送を実現する。このときデータ転送に要する時間は、時分割同時処理を実現するための処理入れ替え等の余分な処理に要する時間が上乗せされ、元の時間の５倍よりも長くなってしまう。データ転送が完了したソフトウェアプログラムから、実行優先度に応じて順次初期化処理を実行されるが、データ転送での余分な時間分だけ起動処理全体にかかる時間が長くなる。さらに実行優先度が同じソフトウェアプログラムが存在し、時分割同時処理により主制御手段で処理を行う場合には、さらにこの分の余分な時間がかかる場合もある。
【００５６】
このように本実施の形態におけるデジタル放送受信装置においては、主制御手段が決定するスケジュールを用いてソフトウェアプログラムのデータ転送処理および起動処理を実行しているので、実行優先順位が低くソフトウェアプログラムデータや動作中データの転送に時間を要するソフトウェアプログラムが含まれる場合でも、実行優先順位に依らず先行してデータ転送を開始するなどして、起動するソフトウェアプログラム全体の起動時間を短縮することができ、ユーザの利便性を向上することができる。またデジタル放送受信装置の構成においても、高価な手段が必要でないため、コストが高くならない。
【００５７】
なお、本実施の形態においては、主制御手段の制御についてデジタル放送受信装置の受信処理の起動時のスケジュール策定に着目して述べたが、主制御手段の制御としては受信処理の起動時に限らず、例えばデータ放送や番組表など起動にも同様なスケジュール策定方法も用いることができ、起動するソフトウェアプログラム全体の起動時間を短縮することができる。
【００５８】
また本実施の形態においては、デジタル放送受信装置に着目してそのソフトウェアの起動手順について述べたが、デジタル放送受信装置以外の、起動時に複数の機能を立ち上げる必要がある装置のソフトウェアの起動にも容易に適用することができる。デジタル放送受信装置においては、ソフトウェアの起動完了の時点として放送を受信し映像情報や音声情報をユーザに提示可能になるまでの時点として定義したが、デジタル放送受信装置以外の装置においても同様に装置の特徴を考慮して起動完了の時点を定義し、起動完了に必要な機能を選択し、これに必要なソフトウェアプログラムを選別した上で、上記に述べたソフトウェアの起動手順に従ってソフトウェアを起動すれば、起動完了までの時間を短くすることができる。例えばパーソナルコンピュータにおいては、起動完了の定義として画面表示機能とユーザからの入力機能が利用可能になったときとすることができるため、これらの機能に必要なソフトウェアプログラムを短時間で起動できる。また携帯電話においても、ＰＣと同様にユーザからの操作に必要な機能に加えて電話やメールが送受信可能な通信機能などの必要機能の起動完了までの時間を短くすることができる。
【００５９】
実施の形態２．
図９は、この発明の実施の形態２におけるデジタル放送受信装置の起動スケジュールを決定するための入力情報となるソフトウェアプログラムに関する属性情報の例である。本実施の形態におけるデジタル放送受信装置の構成は、実施の形態１と同様である。本実施の形態においても、実施の形態１の図３および図４と同様のフローチャート図により起動スケジュールが決定され、これに従ってソフトウェアプログラムのデータ転送処理と起動処理が行なわれる。本実施の形態の起動スケジュールは、図３のステップＳ７において、図９のソフトウェアプログラムに関する属性情報を読み込み、図３のステップＳ８における起動スケジュール算出のための入力情報とする。
【００６０】
図９の表は、実施の形態１の図６の属性情報の表に対して、新たに実行種別、実行中データのデータ転送時間の項目が追加されている。図９のソフトウェアプログラムＦは、起動種別として通常起動に加えて２つのスナップショット起動１および２が可能である。いずれの起動種別を用いてもソフトウェアプログラムＦは起動可能であることを示す。通常起動では実行中データのデータ転送は行わないため、データ転送に要する時間は０である。同様にソフトウェアプログラムＧは通常起動とスナップショット起動１とが可能である。ソフトウェアプログラムＨは、スナップショット起動はできず通常起動のみ可能であることを示す。
【００６１】
ソフトウェアプログラムＦの３つの起動種別は、それぞれ実行中データのデータ転送時間とソフトウェアプログラム初期化処理時間の情報とを有する。ソフトウェアプログラムＧの２つの起動種別についても、同様の属性情報を有する。
【００６２】
図１０は、図９を入力情報として算出した起動スケジュールの例を示す。実施の形態１の図７の起動スケジュールの表に対して、新たに実行種別の項目が追加されている。図１０において、ソフトウェアプログラムＦはスナップショット起動１によって、ソフトウェアプログラムＧは通常起動によって、それぞれ起動されることを示している。
【００６３】
図１１は、ソフトウェアプログラムのデータと実行中データとの転送時間、およびソフトウェアプログラムの初期化処理時間とスナップショット起動時の復帰処理時間との関係を示したものである。図１１の上段（ア）は、スナップショット起動ではない通常の起動の際の起動時間の区分を示す。処理開始後にまずソフトウェアプログラムデータを補助記憶手段より主記憶手段に転送する。転送完了後、ソフトウェアプログラムの起動を開始し、ソフトウェアプログラムの実行に必要な初期化処理を行う。
【００６４】
図１１の上中段（イ）は、スナップショット起動の際の起動時間の区分を示す。まず、通常起動（ア）と同様にソフトウェアプログラムのデータを転送する。次にスナップショットデータ作成の際にＲＡＭ上にあったソフトウェアプログラム初期化処理によって生じた実行中データＡを転送する。実行中データＡの転送後に、通常起動（ア）と同様の状態になるよう、実行中データＡに応じて必要な復帰処理Ａを実行する。
【００６５】
図１１の下中段（ウ）は、上中段（イ）と同様にスナップショット起動の場合の起動時間の区分を示す図であるが、上中段（イ）とは異なるタイミングで作成した実行中データＢを用いてスナップショット起動する場合である。スナップショットデータのうちＲＡＭ上の実行中データについては、初期化処理の途中のどのタイミングのものを用いるかによって、実行中データの容量と実行中データ読込み後に要する復帰処理とが異なる。上中段（イ）は、ソフトウェアプログラムの初期化処理中の比較的早いタイミングでの実行中データＡを用いる場合を表す。この場合初期化処理のステップ数が少ないため、実行中データＡの容量は比較的小さくなる。また実行中データ転送後の復帰処理は、初期化処理の中の多くの処理を含む。このため上中段（イ）の場合は、実行中データＡの転送に要する時間は比較的短いが、復帰処理に要する時間は比較的長くなる。一方、下中段（ウ）は、ソフトウェアプログラムの初期化処理中で上中段（イ）よりも多く処理を行ったタイミングの実行中データＢを用いる場合であり、上中段（イ）に比較して実行中データの容量は大きくなるものの、復帰処理で行うべき処理は少なくなる。このため下中段（ウ）では、上中段（イ）に比較して、実行中データの転送時間は長くなるが復帰処理に要する時間は短くなる。
【００６６】
図１１の下段（エ）は、上中段（イ）および下中段（ウ）と同様にスナップショット起動の場合の起動時間の区分を示す図であるが、下中段（ウ）よりもさらに初期化処理をおこなった後での実行中データＣを用いる場合を示す。ソフトウェアプログラムの種類によっては、初期化処理により前記主記憶手段に生成する実行中データの容量が大きくなることがある。実行中データＣがこれに相当するとする。この場合、下段（エ）に示すように、初期化処理の実行で生成された実行中データＣの容量が非常に大きく実行中データＣの転送時間がたいへん長くなり、通常起動（ア）のソフトウェアプログラム初期化処理の完了の時間を上回ってしまう。このように、スナップショット起動を行う場合であっても、スナップショットデータの保存するタイミングによっては、通常起動よりも起動時間が長くなってしまうことがあり、一概にスナップショット起動を選択する方がデジタル放送受信装置１００の起動時間を短くできるとは限らない。
【００６７】
上述のように構成されたデジタル放送受信装置の起動スケジュール算出においては、ソフトウェアプログラムの種類によっては、通常起動のみならずスナップショット起動を行なった場合も含めて起動時間の算出を行い、この中から起動時間が短くなるものを決定するため、通常起動だけの組み合わせによる起動スケジュールに比較して、より起動時間が短くなる起動スケジュールを算出することが可能になる。また全てのソフトウェアプログラムが、スナップショット起動が可能でなく一部のソフトウェアプログラムが通常起動のみ可能な場合であっても、起動時間が短くなる起動スケジュールを算出することが可能であり、適用可能な範囲が大きい。このため、デジタル放送受信装置が保持する多くのソフトウェアプログラムを対象として起動スケジュールの算出が可能であり、必要に応じてスナップショット起動を採択することが可能であり、結果としてデジタル放送受信装置の起動時間を短縮することができる。
【００６８】
また、上記の説明ではソフトウェアプログラムの実行処理のうち初期化処理に着目して説明を行ったが、さらに初期化処理完了後の実行処理についての属性情報を用いて同様に起動スケジュールを算出することも可能である。デジタル放送受信装置は、必要な初期化処理を完了してデジタル放送を受信しその映像情報や音声情報をユーザに提示を開始するが、その後も内部処理を継続して行っており、この間主制御手段は何らかの処理を行っている。このとき、映像情報や音声情報を提示する以外のソフトウェアプログラム（例えばデジタル放送のデータ放送を受信するために必要なデータ放送受信ソフトウェアプログラム等）を起動する場合には、提示を継続している映像情報や音声情報に影響を少なく、かつ該ソフトウェアプログラムの起動時間が短くなるように、主制御手段の負荷が少ないことが望ましいことがある。このような場合、映像情報や音声情報を提示するためのソフトウェアプログラムが初期化完了後も主制御手段を使用していること、データ放送受信ソフトウェアプログラムの起動種別として通常起動に加えてスナップショット起動も可能であること、を入力情報として、起動スケジュールとしてデータ放送受信ソフトウェアプログラムをスナップショット起動するように算出すれば、データ放送受信ソフトウェアの初期化処理に要する時間を短くでき、この間に主制御手段が稼動する時間を短くでき、映像情報や音声情報の提示に与える影響を最小限に留めながらすばやくデータ放送受信ソフトウェアプログラムの起動を完了することが可能になる。
【００６９】
実施の形態３．
図１２は、この発明の実施の形態３におけるデジタル放送受信装置の起動スケジュールの一部を示すフローチャートである。本実施の形態におけるデジタル放送受信装置の構成は、実施の形態１と同様である。本実施の形態においては、実施の形態１の図３および図４と同様のフローチャート図により起動スケジュールが決定される。図１２は、図３のフローチャートにおいて、ステップＳ８の起動スケジュール決定を行う手順の詳細な内容を示すフローチャートである。
【００７０】
デジタル放送受信装置の起動直後において、例えば放送信号を受信する処理のために実行する複数のソフトウェアプログラムの中には、起動時に毎回実行処理する必要のあるソフトウェアプログラムがある。例えば放送波を受信しデジタル放送受信装置に取り込むチューナ部品制御ソフトウェアプログラム、限定受信放送用の暗号化データを復号するデスクランブル制御ソフトウェアプログラム、デジタル放送信号全体から該当のデータのみを選別するデマルチプレクサ制御ソフトウェアプログラムおよび該当の圧縮信号を伸長するデコード制御ソフトウェアプログラムである。これらのソフトウェアプログラムのデータについては補助記憶手段から主記憶手段へデータ転送する際の条件も同一である場合が多く、デジタル放送受信装置の構成手段の組み合わせと起動時に毎回実行処理する必要のあるソフトウェアプログラムのデータの種類とが同じであれば、起動時に起動スケジュールを算出するのではなく、過去に算出した起動スケジュールを利用するよう構成すれば、起動スケジュールを算出するプロセスを実行する必要がなくなり、起動時間をさらに短縮することができる。本実施の形態においては、上述のような起動時に毎回実行処理する必要のあるソフトウェアプログラムの過去に算出した起動スケジュールを利用する起動方法を用いたものである。
【００７１】
図１２のフローチャートのステップＳ８０１からＳ８０９は、実施の形態１の図３のステップＳ８に相当する。Ｓ８０１から開始され、次のステップＳ８０２において、保存している起動スケジュールの算出に用いた入力情報を読み込む。このとき、保存している複数の起動スケジュールに対応した入力情報を保持するように構成する。起動スケジュールおよびこれに対応した入力情報については、例えば補助記憶手段に保持してこのステップＳ８０２にて主制御手段が読み込むよう構成すればよい。
【００７２】
次にステップＳ８０３において、今回起動する処理の起動スケジュールを算出する入力情報と同一のものが、ステップＳ８０２にて読み込んだ中に存在するかどうかを判定する。判定の結果、同一のものがないとした場合には、ステップＳ８０４にて通常の図３のステップＳ８での導出方法と同様に起動スケジュールを算出した後、ステップＳ８０５にて算出した起動スケジュールとこれの入力情報とを例えば補助記憶手段に記録し、次回起動時にステップＳ８０２から読み込み可能となるよう構成する。算出した起動スケジュールを入力情報として、次のステップとなる実施の形態１の図３のステップＳ９へ移行する。
【００７３】
一方、ステップＳ８０３において、今回起動する処理の起動スケジュールを算出する入力情報と同一のものがあると判定した場合には、ステップＳ８０６にて該当の起動スケジュールを読み込み、これを入力情報として次のステップとなる実施の形態１の図３のステップＳ９へ移行する。
【００７４】
このようにして起動スケジュールを算出する際に、起動すべきソフトウェアプログラムのデータの属性情報が過去の起動スケジュールと同一のパターンである場合には、一度算出して決定した起動スケジュールを利用することで、起動スケジュール決定に要する時間を短縮でき、デジタル放送受信装置の起動時間のうち起動スケジュール算出に要する時間の占める割合を削減することができる。実施の形態１の図８で説明したように、起動するソフトウェアプログラムの種類や起動種別の個数、主制御中核処理手段の個数やデータ転送手段の同時転送可能な計列数が多くなり、これらの組み合わせの数が多くなり、組み合わせの数全体の起動時間をそれぞれ求めるための算出時間が増大してしまう場合には、例えば線形計画法などの数学的導出方法を利用するなどしてこの算出時間の削減を行うが、一度算出した起動スケジュールを利用できれば、さらに算出時間を削減できる。また起動スケジュール決定のための処理を省くことができるため、この軽減した負荷分の主制御手段の処理をソフトウェアプログラムの初期化処理等に割り当てることができ、さらにデジタル放送受信装置がすばやく起動できるようになり、起動時間がさらに短くなりユーザの利便性が向上する。
【符号の説明】
【００７５】
１  ＣＰＵ、２  ＤＭＡスケジューラ、３  ＤＭＡコントローラ、４  不揮発メモリー、５  ＲＡＭ、６  リモコン受信手段、７  操作ボタン、８  リモコン、９  ＣＰＵコアＡ、１０  ＣＰＵコアＢ、１１  チューナ手段、１２  デスクランブラ手段、１３  デマルチプレクサ手段、１４  映像情報デコーダ、１５  音声情報デコーダ、１６、データ放送処理手段、１７  グラフィックス生成手段、１８  映像合成手段、１９  映像スケーラ手段、２０  アナログ変換手段、１００  受信装置、１０１  主制御手段、１０２  主制御中核処理手段、１０３  データ転送手段、１０４  補助記憶手段、１０５  主記憶手段、１１０  操作手段、１１１  放送信号復号手段、１１２  出力手段。
【図１】
0005539093.tif 000002
【図２】
0005539093.tif 000003
【図３】
0005539093.tif 000004
【図４】
0005539093.tif 000005
【図５】
0005539093.tif 000006
【図６】
0005539093.tif 000007
【図７】
0005539093.tif 000008
【図８】
0005539093.tif 000009
【図９】
0005539093.tif 000010
【図１０】
0005539093.tif 000011
【図１１】
0005539093.tif 000012
【図１２】
0005539093.tif 000013