(57)【特許請求の範囲】
【請求項１】
第１のシステムを起動するための第１の起動プログラムおよび第２のシステムを起動するための第２の起動プログラムを記憶する不揮発性メモリと、
前記不揮発性メモリから前記第１の起動プログラムを読み出して実行することにより、前記第１のシステムを起動する起動処理を行う第１のＣＰＵと、
前記不揮発性メモリから前記第２の起動プログラムを読み出して実行することにより、前記第２のシステムを起動する起動処理を行う第２のＣＰＵと、
前記第１のＣＰＵおよび前記第２のＣＰＵの起動処理時に、前記第１のＣＰＵおよび前記第２のＣＰＵの一方を選択的に前記不揮発性メモリに接続する制御手段であって、前記第１のＣＰＵが前記起動処理を開始した後、前記不揮発性メモリの接続変更のトリガを検出すると、前記不揮発性メモリの接続先を前記第１のＣＰＵから前記第２のＣＰＵに変更する制御手段と
を備え、
前記制御手段は、前記第１のＣＰＵが前記起動処理を開始した後、前記トリガを検出することなく所定時間が経過したと判定した場合、前記不揮発性メモリの接続先を前記第１のＣＰＵから前記第２のＣＰＵに変更することを特徴とする情報処理システム。
【請求項２】
前記トリガは、前記第１のＣＰＵの前記起動処理が終了したことであることを特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記トリガは、前記第１のＣＰＵから出力される接続変更の要求であることを特徴とする請求項１に記載の情報処理システム。
【請求項４】
前記制御手段は、前記トリガを検出することなく所定時間が経過したと判定した場合、前記不揮発性メモリの接続先を前記第１のＣＰＵから前記第２のＣＰＵに変更し、前記第２のＣＰＵに前記起動処理を開始させることを特徴とする請求項１から３のいずれか１項に記載の情報処理システム。
【請求項５】
前記不揮発性メモリは、前記第１のシステムを起動するための予備の起動プログラムをさらに記憶し、
前記制御手段は、前記第１のＣＰＵが前記第１の起動プログラムによる起動処理を開始した後、前記第１の起動プログラムの異常を検出した場合に、前記第１のＣＰＵに前記予備の起動プログラムによる起動処理を実行させることを特徴とする請求項１から４のいずれか１項に記載の情報処理システム。
【請求項６】
前記第１の起動プログラムの異常は、前記第１の起動プログラムによる起動処理が所定の判定時間内に終了しないことであることを特徴とする請求項５に記載の情報処理システム。
【請求項７】
前記制御手段は、
前記第１のＣＰＵが前記第１の起動プログラムによる起動処理を開始した後、
前記所定時間内に前記第１のＣＰＵの起動処理が終了したことを検出した場合、前記不揮発性メモリの接続先を前記第１のＣＰＵから前記第２のＣＰＵに変更し、
前記第１のＣＰＵの起動処理が終了したことを検出することなく前記所定時間が経過したと判定した場合、前記第１のＣＰＵに前記予備の起動プログラムによる起動処理を実行させ、その後、前記不揮発性メモリの接続先を前記第１のＣＰＵから前記第２のＣＰＵに変更することを特徴とする請求項６に記載の情報処理システム。
【請求項８】
前記制御手段は、
前記第１のＣＰＵが前記第１の起動プログラムによる起動処理を開始した後、
前記所定時間内に前記第１のＣＰＵの起動処理が終了したことを検出した場合、前記不揮発性メモリの接続先を前記第１のＣＰＵから前記第２のＣＰＵに変更し、
前記第１のＣＰＵの起動処理が終了したことを検出することなく前記所定時間が経過したと判定した場合、前記不揮発性メモリの接続先を前記第１のＣＰＵから前記第２のＣＰＵに変更し、前記第２のＣＰＵに前記起動処理を実行させ、その後、前記不揮発性メモリの接続先を前記第１のＣＰＵに変更し、前記第１のＣＰＵに前記予備の起動プログラムによる起動処理を実行させることを特徴とする請求項６に記載の情報処理システム。
【請求項９】
前記不揮発性メモリにおける前記各起動プログラムのアドレスを示すアドレス情報を記憶するアドレス記憶手段を備え、
前記各ＣＰＵは、前記不揮発性メモリから起動プログラムを読み出す場合、前記制御手段に読み出し要求を送り、当該読み出し要求に応じて前記制御手段により前記不揮発性メモリから読み出された起動プログラムを実行し、
前記制御手段は、前記アドレス記憶手段にアクセスして前記アドレス情報を取得し、前記第１のＣＰＵおよび前記第２のＣＰＵのうち前記不揮発性メモリに接続されたＣＰＵから前記読み出し要求を受けると、前記不揮発性メモリから当該ＣＰＵが実行すべき起動プログラムを前記アドレス情報に基づいて選択的に読み出すことを特徴とする請求項１から８のいずれか１項に記載の情報処理システム。
【請求項１０】
前記不揮発性メモリにおける前記各起動プログラムのアドレスを示すアドレス情報を記憶するアドレス記憶手段を備え、
前記各ＣＰＵは、前記不揮発性メモリから起動プログラムを読み出す場合、前記制御手段に読み出し要求を送り、当該読み出し要求に応じて前記制御手段により前記不揮発性メモリから読み出された起動プログラムを実行し、
前記制御手段は、
前記第１のＣＰＵおよび前記第２のＣＰＵの一方を選択的に前記不揮発性メモリに接続するＣＰＵ選択手段と、
前記第１のＣＰＵまたは前記第２のＣＰＵに起動処理の開始を指示する起動開始手段と、
前記アドレス記憶手段にアクセスして前記アドレス情報を取得し、前記不揮発性メモリに接続されたＣＰＵから前記読み出し要求を受けると、前記不揮発性メモリから当該ＣＰＵが実行すべき起動プログラムを前記アドレス情報に基づいて選択的に読み出す起動プログラム選択手段と、
前記トリガを検出する検出手段と、
前記第１のＣＰＵの起動処理の開始からの経過時間を計測し、前記検出手段が前記トリガを検出することなく前記経過時間が前記所定時間を経過したかを判定する時間判定手段と
を備え、
前記第１のＣＰＵが起動処理を開始した後、前記検出手段が前記トリガを検出した場合、および前記時間判定手段が前記所定時間を経過したと判定した場合、前記ＣＰＵ選択手段は前記不揮発性メモリの接続先を前記第１のＣＰＵから前記第２のＣＰＵに変更し、前記起動開始手段は前記第２のＣＰＵに起動処理の開始を指示し、前記起動プログラム選択手段は前記第２のＣＰＵからの読み出し要求に応じて前記第２の起動プログラムを読み出すことを特徴とする請求項１から４のいずれか１項に記載の情報処理システム。
【請求項１１】
前記不揮発性メモリにおける前記各起動プログラムのアドレスを示すアドレス情報を記憶するアドレス記憶手段を備え、
前記各ＣＰＵは、前記不揮発性メモリから起動プログラムを読み出す場合、前記制御手段に読み出し要求を送り、当該読み出し要求に応じて前記制御手段により前記不揮発性メモリから読み出された起動プログラムを実行し、
前記制御手段は、
前記第１のＣＰＵおよび前記第２のＣＰＵの一方を選択的に前記不揮発性メモリに接続するＣＰＵ選択手段と、
前記第１のＣＰＵまたは前記第２のＣＰＵに起動処理の開始を指示する起動開始手段と、
前記アドレス記憶手段にアクセスして前記アドレス情報を取得し、前記不揮発性メモリに接続されたＣＰＵから前記読み出し要求を受けると、前記不揮発性メモリから当該ＣＰＵが実行すべき起動プログラムを前記アドレス情報に基づいて選択的に読み出す起動プログラム選択手段と、
前記第１のＣＰＵの起動処理の終了を検出する検出手段と、
前記第１のＣＰＵの起動処理の開始からの経過時間を計測し、前記検出手段が前記第１のＣＰＵの起動処理の終了を検出することなく前記経過時間が前記所定時間を経過したかを判定する時間判定手段と
を備え、
前記第１のＣＰＵが前記第１の起動プログラムによる起動処理を開始した後、
前記時間判定手段が前記所定時間を経過したと判定する前に、前記検出手段が前記起動処理の終了を検出した場合、前記ＣＰＵ選択手段は前記不揮発性メモリの接続先を前記第１のＣＰＵから前記第２のＣＰＵに変更し、前記起動開始手段は前記第２のＣＰＵに起動処理の開始を指示し、前記起動プログラム選択手段は前記第２のＣＰＵからの読み出し要求に応じて前記第２の起動プログラムを読み出し、
前記時間判定手段が前記所定時間を経過したと判定した場合、前記起動開始手段は前記第１のＣＰＵに起動処理の開始を指示し、前記起動プログラム選択手段は前記第１のＣＰＵからの読み出し要求に応じて前記予備の起動プログラムを読み出し、その後、前記ＣＰＵ選択手段は前記不揮発性メモリの接続先を前記第１のＣＰＵから前記第２のＣＰＵに変更し、前記起動開始手段は前記第２のＣＰＵに起動処理の開始を指示し、前記起動プログラム選択手段は前記第２のＣＰＵからの読み出し要求に応じて前記第２の起動プログラムを読み出すことを特徴とする請求項６に記載の情報処理システム。
【請求項１２】
前記不揮発性メモリにおける前記各起動プログラムのアドレスを示すアドレス情報を記憶するアドレス記憶手段を備え、
前記各ＣＰＵは、前記不揮発性メモリから起動プログラムを読み出す場合、前記制御手段に読み出し要求を送り、当該読み出し要求に応じて前記制御手段により前記不揮発性メモリから読み出された起動プログラムを実行し、
前記制御手段は、
前記第１のＣＰＵおよび前記第２のＣＰＵの一方を選択的に前記不揮発性メモリに接続するＣＰＵ選択手段と、
前記第１のＣＰＵまたは前記第２のＣＰＵに起動処理の開始を指示する起動開始手段と、
前記アドレス記憶手段にアクセスして前記アドレス情報を取得し、前記不揮発性メモリに接続されたＣＰＵから前記読み出し要求を受けると、前記不揮発性メモリから当該ＣＰＵが実行すべき起動プログラムを前記アドレス情報に基づいて選択的に読み出す起動プログラム選択手段と、
前記第１のＣＰＵの起動処理の終了を検出する検出手段と、
前記第１のＣＰＵの起動処理の開始からの経過時間を計測し、前記検出手段が前記第１のＣＰＵの起動処理の終了を検出することなく前記経過時間が前記所定時間を経過したかを判定する時間判定手段と
を備え、
前記第１のＣＰＵが前記第１の起動プログラムによる起動処理を開始した後、
前記時間判定手段が前記所定時間を経過したと判定する前に、前記検出手段が前記起動処理の終了を検出した場合、前記ＣＰＵ選択手段は前記不揮発性メモリの接続先を前記第１のＣＰＵから前記第２のＣＰＵに変更し、前記起動開始手段は前記第２のＣＰＵに起動処理の開始を指示し、前記起動プログラム選択手段は前記第２のＣＰＵからの読み出し要求に応じて前記第２の起動プログラムを読み出し、
前記時間判定手段が前記所定時間を経過したと判定した場合、前記ＣＰＵ選択手段は前記不揮発性メモリの接続先を前記第１のＣＰＵから前記第２のＣＰＵに変更し、前記起動開始手段は前記第２のＣＰＵに起動処理の開始を指示し、前記起動プログラム選択手段は前記第２のＣＰＵからの読み出し要求に応じて前記第２の起動プログラムを読み出し、その後、前記ＣＰＵ選択手段は前記不揮発性メモリの接続先を前記第１のＣＰＵに変更し、前記起動開始手段は前記第１のＣＰＵに起動処理の開始を指示し、前記起動プログラム選択手段は前記第１のＣＰＵからの読み出し要求に応じて前記予備の起動プログラムを読み出すことを特徴とする請求項６に記載の情報処理システム。
【請求項１３】
第１のシステムを起動するための第１の起動プログラムおよび第２のシステムを起動するための第２の起動プログラムを記憶する不揮発性メモリと、
前記不揮発性メモリから前記第１の起動プログラムを読み出して実行することにより、前記第１のシステムを起動する起動処理を行う第１のＣＰＵと、
前記不揮発性メモリから前記第２の起動プログラムを読み出して実行することにより、前記第２のシステムを起動する起動処理を行う第２のＣＰＵと
を備える情報処理システムの制御装置であって、
前記第１のＣＰＵおよび前記第２のＣＰＵの起動処理時に、前記第１のＣＰＵおよび前記第２のＣＰＵの一方を選択的に前記不揮発性メモリに接続するＣＰＵ選択手段と、
前記第１のＣＰＵが前記起動処理を開始した後、前記不揮発性メモリの接続変更のトリガを検出する検出手段と、
前記第１のＣＰＵの起動処理の開始からの経過時間を計測し、前記検出手段が前記トリガを検出することなく前記経過時間が所定時間を経過したかを判定する時間判定手段と
を備え、
前記ＣＰＵ選択手段は、前記第１のＣＰＵが前記起動処理を開始した後、前記検出手段が前記トリガを検出した場合、および前記時間判定手段が前記所定時間を経過したと判定した場合、前記不揮発性メモリの接続先を前記第１のＣＰＵから前記第２のＣＰＵに変更することを特徴とする制御装置。
【請求項１４】
第１のシステムを起動するための第１の起動プログラムおよび第２のシステムを起動するための第２の起動プログラムを記憶する不揮発性メモリと、
前記不揮発性メモリから前記第１の起動プログラムを読み出して実行することにより、前記第１のシステムを起動する起動処理を行う第１のＣＰＵと、
前記不揮発性メモリから前記第２の起動プログラムを読み出して実行することにより、前記第２のシステムを起動する起動処理を行う第２のＣＰＵと
を備える情報処理システムの制御方法であって、
前記第１のＣＰＵおよび前記第２のＣＰＵの起動処理時に、前記第１のＣＰＵおよび前記第２のＣＰＵの一方を選択的に前記不揮発性メモリに接続するＣＰＵ選択工程と、
前記第１のＣＰＵが前記起動処理を開始した後、前記不揮発性メモリの接続変更のトリガを検出する検出工程と、
前記第１のＣＰＵの起動処理の開始からの経過時間を計測し、前記検出工程が前記トリガを検出することなく前記経過時間が所定時間を経過したかを判定する時間判定工程と
を備え、
前記ＣＰＵ選択工程は、前記第１のＣＰＵが前記起動処理を開始した後、前記検出工程が前記トリガを検出した場合、および前記時間判定工程が前記所定時間を経過したと判定した場合、前記不揮発性メモリの接続先を前記第１のＣＰＵから前記第２のＣＰＵに変更することを特徴とする制御方法。
【請求項１５】
第１のシステムを起動するための第１の起動プログラムおよび第２のシステムを起動するための第２の起動プログラムを記憶する不揮発性メモリと、
前記不揮発性メモリから前記第１の起動プログラムを読み出して実行することにより、前記第１のシステムを起動する起動処理を行う第１のＣＰＵと、
前記不揮発性メモリから前記第２の起動プログラムを読み出して実行することにより、前記第２のシステムを起動する起動処理を行う第２のＣＰＵと
を備える情報処理システムの制御プログラムであって、
前記第１のＣＰＵおよび前記第２のＣＰＵの起動処理時に、前記第１のＣＰＵおよび前記第２のＣＰＵの一方を選択的に前記不揮発性メモリに接続するＣＰＵ選択工程と、
前記第１のＣＰＵが前記起動処理を開始した後、前記不揮発性メモリの接続変更のトリガを検出する検出工程と、
前記第１のＣＰＵの起動処理の開始からの経過時間を計測し、前記検出工程が前記トリガを検出することなく前記経過時間が所定時間を経過したかを判定する時間判定工程と
をコンピュータに実行させ、
前記ＣＰＵ選択工程は、前記第１のＣＰＵが前記起動処理を開始した後、前記検出工程が前記トリガを検出した場合、および前記時間判定工程が前記所定時間を経過したと判定した場合、前記不揮発性メモリの接続先を前記第１のＣＰＵから前記第２のＣＰＵに変更することを特徴とする制御プログラム。
【請求項１６】
映像データを記録する記録システムを起動するための記録起動プログラムおよび記録された前記映像データを再生する再生システムを起動するための再生起動プログラムを記憶する不揮発性メモリと、
前記不揮発性メモリから前記記録起動プログラムを読み出して実行することにより、前記記録システムを起動する起動処理を行う記録系ＣＰＵと、
前記不揮発性メモリから前記再生起動プログラムを読み出して実行することにより、前記再生システムを起動する起動処理を行う再生系ＣＰＵと、
前記記録系ＣＰＵおよび前記再生系ＣＰＵの起動処理時に、前記記録系ＣＰＵおよび前記再生系ＣＰＵの一方を選択的に前記不揮発性メモリに接続する制御手段であって、前記記録系ＣＰＵが前記起動処理を開始した後、前記不揮発性メモリの接続変更のトリガを検出すると、前記不揮発性メモリの接続先を前記記録系ＣＰＵから前記再生系ＣＰＵに変更する制御手段と
を備え、
前記制御手段は、前記記録系ＣＰＵが前記起動処理を開始した後、前記トリガを検出することなく所定時間が経過したと判定した場合、前記不揮発性メモリの接続先を前記記録系ＣＰＵから前記再生系ＣＰＵに変更することを特徴とする監視レコーダシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、制御装置、制御方法、制御プログラム、および監視レコーダシステムに関する。
【背景技術】
【０００２】
特許文献１には、複数のＣＰＵと、これら複数のＣＰＵにより共用されるメモリとを備えた処理装置が記載されている。この処理装置では、少なくともいずれかのＣＰＵがメインＣＰＵとして起動し、メインＣＰＵ用の所定のアドレスに基づいてメモリから起動プログラムを読み出した後、他のＣＰＵを起動させる制御を行い、メインＣＰＵにより起動されたＣＰＵは、サブＣＰＵ用の所定のアドレスに従ってメモリから起動プログラムを読み出す。処理装置は、メインＣＰＵとサブＣＰＵとを選択的にメモリに接続する選択スイッチを備え、メインＣＰＵは、メモリから起動プログラムを読み出して実行した後、サブＣＰＵがメモリに接続されるように選択スイッチを切り替えて、サブＣＰＵのリセットを解除する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−５０８６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載された処理装置では、メインＣＰＵ用の起動プログラムの異常などによりメインＣＰＵが正常に動作せず、メインＣＰＵによる選択スイッチの切り替えが行われない場合、サブＣＰＵがメモリにアクセスできず、起動処理を実行できない。
【０００５】
本発明は、第１のＣＰＵおよび第２のＣＰＵが共通の不揮発性メモリに順番にアクセスして起動処理を行う構成において、第１のＣＰＵが起動処理を開始した後、第２のＣＰＵが起動処理を開始できない事態を抑制することができる情報処理システム、制御装置、制御方法、制御プログラム、および監視レコーダシステムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明に係る情報処理システムは、第１のシステムを起動するための第１の起動プログラムおよび第２のシステムを起動するための第２の起動プログラムを記憶する不揮発性メモリと、前記不揮発性メモリから前記第１の起動プログラムを読み出して実行することにより、前記第１のシステムを起動する起動処理を行う第１のＣＰＵと、前記不揮発性メモリから前記第２の起動プログラムを読み出して実行することにより、前記第２のシステムを起動する起動処理を行う第２のＣＰＵと、前記第１のＣＰＵおよび前記第２のＣＰＵの起動処理時に、前記第１のＣＰＵおよび前記第２のＣＰＵの一方を選択的に前記不揮発性メモリに接続する制御手段であって、前記第１のＣＰＵが前記起動処理を開始した後、前記不揮発性メモリの接続変更のトリガを検出すると、前記不揮発性メモリの接続先を前記第１のＣＰＵから前記第２のＣＰＵに変更する制御手段とを備え、前記制御手段は、前記第１のＣＰＵが前記起動処理を開始した後、前記トリガを検出することなく所定時間が経過したと判定した場合、前記不揮発性メモリの接続先を前記第１のＣＰＵから前記第２のＣＰＵに変更することを特徴とする。
【０００７】
また、本発明に係る制御装置は、第１のシステムを起動するための第１の起動プログラムおよび第２のシステムを起動するための第２の起動プログラムを記憶する不揮発性メモリと、前記不揮発性メモリから前記第１の起動プログラムを読み出して実行することにより、前記第１のシステムを起動する起動処理を行う第１のＣＰＵと、前記不揮発性メモリから前記第２の起動プログラムを読み出して実行することにより、前記第２のシステムを起動する起動処理を行う第２のＣＰＵとを備える情報処理システムの制御装置であって、前記第１のＣＰＵおよび前記第２のＣＰＵの起動処理時に、前記第１のＣＰＵおよび前記第２のＣＰＵの一方を選択的に前記不揮発性メモリに接続するＣＰＵ選択手段と、前記第１のＣＰＵが前記起動処理を開始した後、前記不揮発性メモリの接続変更のトリガを検出する検出手段と、前記第１のＣＰＵの起動処理の開始からの経過時間を計測し、前記検出手段が前記トリガを検出することなく前記経過時間が所定時間を経過したかを判定する時間判定手段とを備え、前記ＣＰＵ選択手段は、前記第１のＣＰＵが前記起動処理を開始した後、前記検出手段が前記トリガを検出した場合、および前記時間判定手段が前記所定時間を経過したと判定した場合、前記不揮発性メモリの接続先を前記第１のＣＰＵから前記第２のＣＰＵに変更することを特徴とする。
【０００８】
また、本発明に係る制御方法は、第１のシステムを起動するための第１の起動プログラムおよび第２のシステムを起動するための第２の起動プログラムを記憶する不揮発性メモリと、前記不揮発性メモリから前記第１の起動プログラムを読み出して実行することにより、前記第１のシステムを起動する起動処理を行う第１のＣＰＵと、前記不揮発性メモリから前記第２の起動プログラムを読み出して実行することにより、前記第２のシステムを起動する起動処理を行う第２のＣＰＵとを備える情報処理システムの制御方法であって、前記第１のＣＰＵおよび前記第２のＣＰＵの起動処理時に、前記第１のＣＰＵおよび前記第２のＣＰＵの一方を選択的に前記不揮発性メモリに接続するＣＰＵ選択工程と、前記第１のＣＰＵが前記起動処理を開始した後、前記不揮発性メモリの接続変更のトリガを検出する検出工程と、前記第１のＣＰＵの起動処理の開始からの経過時間を計測し、前記検出工程が前記トリガを検出することなく前記経過時間が所定時間を経過したかを判定する時間判定工程とを備え、前記ＣＰＵ選択工程は、前記第１のＣＰＵが前記起動処理を開始した後、前記検出工程が前記トリガを検出した場合、および前記時間判定工程が前記所定時間を経過したと判定した場合、前記不揮発性メモリの接続先を前記第１のＣＰＵから前記第２のＣＰＵに変更することを特徴とする。
【０００９】
また、本発明に係る制御プログラムは、第１のシステムを起動するための第１の起動プログラムおよび第２のシステムを起動するための第２の起動プログラムを記憶する不揮発性メモリと、前記不揮発性メモリから前記第１の起動プログラムを読み出して実行することにより、前記第１のシステムを起動する起動処理を行う第１のＣＰＵと、前記不揮発性メモリから前記第２の起動プログラムを読み出して実行することにより、前記第２のシステムを起動する起動処理を行う第２のＣＰＵとを備える情報処理システムの制御プログラムであって、前記第１のＣＰＵおよび前記第２のＣＰＵの起動処理時に、前記第１のＣＰＵおよび前記第２のＣＰＵの一方を選択的に前記不揮発性メモリに接続するＣＰＵ選択工程と、前記第１のＣＰＵが前記起動処理を開始した後、前記不揮発性メモリの接続変更のトリガを検出する検出工程と、前記第１のＣＰＵの起動処理の開始からの経過時間を計測し、前記検出工程が前記トリガを検出することなく前記経過時間が所定時間を経過したかを判定する時間判定工程とをコンピュータに実行させ、前記ＣＰＵ選択工程は、前記第１のＣＰＵが前記起動処理を開始した後、前記検出工程が前記トリガを検出した場合、および前記時間判定工程が前記所定時間を経過したと判定した場合、前記不揮発性メモリの接続先を前記第１のＣＰＵから前記第２のＣＰＵに変更することを特徴とする。
また、本発明に係る監視レコーダシステムは、映像データを記録する記録システムを起動するための記録起動プログラムおよび記録された前記映像データを再生する再生システムを起動するための再生起動プログラムを記憶する不揮発性メモリと、前記不揮発性メモリから前記記録起動プログラムを読み出して実行することにより、前記記録システムを起動する起動処理を行う記録系ＣＰＵと、前記不揮発性メモリから前記再生起動プログラムを読み出して実行することにより、前記再生システムを起動する起動処理を行う再生系ＣＰＵと、前記記録系ＣＰＵおよび前記再生系ＣＰＵの起動処理時に、前記記録系ＣＰＵおよび前記再生系ＣＰＵの一方を選択的に前記不揮発性メモリに接続する制御手段であって、前記記録系ＣＰＵが前記起動処理を開始した後、前記不揮発性メモリの接続変更のトリガを検出すると、前記不揮発性メモリの接続先を前記記録系ＣＰＵから前記再生系ＣＰＵに変更する制御手段とを備え、前記制御手段は、前記記録系ＣＰＵが前記起動処理を開始した後、前記トリガを検出することなく所定時間が経過したと判定した場合、前記不揮発性メモリの接続先を前記記録系ＣＰＵから前記再生系ＣＰＵに変更することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、第１のＣＰＵおよび第２のＣＰＵが共通の不揮発性メモリに順番にアクセスして起動処理を行う構成において、第１のＣＰＵが起動処理を開始した後、不揮発性メモリの接続変更のトリガを検出することなく所定時間が経過した場合に不揮発性メモリの接続先を第２のＣＰＵに変更することにより、第２のＣＰＵが起動処理を開始できない事態を抑制することができる。
【図面の簡単な説明】
【００１１】
【図１】実施の形態１における監視システムの構成を概略的に示すブロック図である。
【図２】実施の形態１における不揮発性メモリの記憶フォーマットを示す概略図である。
【図３】実施の形態１における起動制御部の構成を概略的に示すブロック図である。
【図４】実施の形態１における時間判定部の時間計測手段の例を示す回路図である。
【図５】実施の形態１における起動制御部の動作を示すフローチャートである。
【図６】実施の形態１における第１のＣＰＵまたは第２のＣＰＵの動作を示すフローチャートである。
【図７】実施の形態２における不揮発性メモリの記憶フォーマットを示す概略図である。
【図８】実施の形態２における起動制御部の動作を示すフローチャートである。
【図９】実施の形態３における起動制御部の動作を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、本発明の実施の形態を図面に従って説明する。
実施の形態１．
図１は、実施の形態１に係る監視システム１００の構成を概略的に示すブロック図である。図１において、監視システム１００は、複数台のカメラ１ａ〜１ｃ、監視レコーダ２、およびモニタ３を備える。
【００１３】
カメラ１ａ〜１ｃは、それぞれ、監視レコーダ２に接続されており、監視対象を撮影し、得られた映像を監視レコーダ２に送信する。カメラ１ａ〜１ｃは、例えば監視レコーダ２から離れた場所に設置される。監視レコーダ２は、カメラ１ａ〜１ｃからの映像を受信して記録する。モニタ３は、監視レコーダ２によって制御される出力装置であり、監視レコーダ２に記録された映像や、カメラ１ａ〜１ｃによって撮影された映像を表示する。なお、カメラの台数は３台に限られず、例えば１台でもよい。
【００１４】
監視レコーダ２は、補助記憶装置４および情報処理システム５を備える。
補助記憶装置４は、カメラ１ａ〜１ｃによって撮影された映像を記憶する記憶装置であり、例えば、フラッシュメモリまたはＨＤＤ（Ｈａｒｄ  Ｄｉｓｃ  Ｄｒｉｖｅ：ハードディスクドライブ）により構成される。なお、補助記憶装置４は、監視レコーダ２の外部に設けられてもよい。
【００１５】
情報処理システム５は、不揮発性メモリ１０、記録系（記録システム）２０、再生系（再生システム）３０、および起動制御部４０を備える。
【００１６】
不揮発性メモリ１０は、情報処理システム５の起動プログラムを記憶する。ここでは、不揮発性メモリ１０は、各種データを記憶する読み書き可能なメモリであり、例えばＮＡＮＤ型フラッシュメモリである。不揮発性メモリ１０において、プログラムやその他のデータは、例えば、ブロック毎に記憶され、ブロック毎に読み出される。
【００１７】
図２は、不揮発性メモリ１０の記憶フォーマットを示す概略図である。図２において、不揮発性メモリ１０は、第１の起動プログラム１１、第２の起動プログラム１２、およびアドレス情報１３を記憶している。
【００１８】
第１の起動プログラム１１は、第１のシステムとしての記録系２０を起動するためのプログラムまたはプログラムデータである。第２の起動プログラム１２は、第２のシステムとしての再生系３０を起動するためのプログラムまたはプログラムデータである。アドレス情報１３は、不揮発性メモリ１０における各起動プログラムのアドレスを示す情報である。ここでは、アドレス情報１３は、第１の起動プログラム１１および第２の起動プログラム１２のそれぞれの先頭アドレスを示す。
【００１９】
記録系２０は、カメラ１ａ〜１ｃと接続されており、カメラ１ａ〜１ｃから送信される映像を補助記憶装置４に記録する。記録系２０は、第１のＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ：中央演算装置）２１およびワークメモリ２２を含む。
【００２０】
第１のＣＰＵ２１は、不揮発性メモリ１０から第１の起動プログラム１１を読み出して実行することにより、記録系２０を起動する起動処理を行う。第１のＣＰＵ２１は、不揮発性メモリ１０から起動プログラムを読み出す場合、起動制御部４０に対して読み出し要求を送り、当該読み出し要求に応じて起動制御部４０により不揮発性メモリ１０から読み出された起動プログラムを実行する。第１のＣＰＵ２１は、不揮発性メモリ１０または他の記憶装置に記憶されている他のプログラムを実行してもよい。例えば、第１のＣＰＵ２１は、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ：オペレーティングシステム）やアプリケーションプログラムなど、映像を記録するためのプログラムを不揮発性メモリ１０または他の記憶装置から読み出して実行し、記録系２０の記録動作を制御してもよい。具体的には、第１のＣＰＵ２１は、不揮発性メモリ１０に記憶されている第１の起動プログラム１１等のプログラムを実行する場合、不揮発性メモリ１０に記憶されているプログラムやその他のデータのうち必要となるものをワークメモリ２２に読み出し（またはコピーし）、ワークメモリ２２にアクセスし、ワークメモリ２２に読み出されたプログラムに記述されている処理を実行する。
【００２１】
ワークメモリ２２は、第１のＣＰＵ２１の作業領域として使用されるメモリであり、例えばＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。ワークメモリ２２は、不揮発性メモリ１０から読み出されたプログラムやその他のデータを記憶する。
【００２２】
再生系３０は、モニタ３と接続されており、補助記憶装置４に記録された映像を再生してモニタ３に表示させる。再生系３０は、カメラ１ａ〜１ｃによって撮影された映像をモニタ３に直接表示させてもよい。再生系３０は、第２のＣＰＵ３１およびワークメモリ３２を含む。
【００２３】
第２のＣＰＵ３１は、不揮発性メモリ１０から第２の起動プログラム１２を読み出して実行することにより、再生系３０を起動する起動処理を行う。第２のＣＰＵ３１は、不揮発性メモリ１０から起動プログラムを読み出す場合、起動制御部４０に対して読み出し要求を送り、当該読み出し要求に応じて起動制御部４０により不揮発性メモリ１０から読み出された起動プログラムを実行する。第２のＣＰＵ３１は、不揮発性メモリ１０または他の記憶装置に記憶されている他のプログラムを実行してもよい。例えば、第２のＣＰＵ３１は、ＯＳやアプリケーションプログラムなど、映像を再生するためのプログラムを不揮発性メモリ１０または他の記憶装置から読み出して実行し、再生系３０の再生動作を制御してもよい。具体的には、第２のＣＰＵ３１は、不揮発性メモリ１０に記憶されている第２の起動プログラム１２等のプログラムを実行する場合、不揮発性メモリ１０に記憶されているプログラムやその他のデータのうち必要となるものをワークメモリ３２に読み出し（またはコピーし）、ワークメモリ３２にアクセスし、ワークメモリ３２に読み出されたプログラムに記述されている処理を実行する。
【００２４】
ワークメモリ３２は、第２のＣＰＵ３１の作業領域として使用されるメモリであり、例えばＲＡＭである。ワークメモリ３２は、不揮発性メモリ１０から読み出されたプログラムやその他のデータを記憶する。
【００２５】
起動制御部４０は、第１のＣＰＵ２１および第２のＣＰＵ３１の一方を選択的に不揮発性メモリ１０に接続する。起動制御部４０は、第１のＣＰＵ２１および第２のＣＰＵ３１と不揮発性メモリ１０との接続を制御し、起動処理を実行するＣＰＵが不揮発性メモリ１０にアクセス可能となるように、当該ＣＰＵを選択して不揮発性メモリ１０に接続する。
【００２６】
起動制御部４０は、第１のＣＰＵ２１が起動処理を開始した後、不揮発性メモリ１０の接続変更のトリガを検出すると、不揮発性メモリ１０の接続先を第１のＣＰＵ２１から第２のＣＰＵ３１に変更し、第２のＣＰＵ３１に起動処理を開始させる。ここで、「不揮発性メモリ１０の接続先」とは、不揮発性メモリ１０に接続されるＣＰＵを意味する。本実施の形態では、起動制御部４０は、接続変更のトリガとして、第１のＣＰＵ２１の起動処理が終了したことを検出する。具体的には、第１のＣＰＵ２１は、起動処理が終了すると、不揮発性メモリ１０の接続変更の要求（以下、「接続変更要求」という）を起動制御部４０に出力し、起動制御部４０は、第１のＣＰＵ２１からの接続変更要求をトリガとして検出する。接続変更要求は、具体的には、不揮発性メモリ１０とＣＰＵとの接続の変更を要求する信号である。接続変更要求の出力は、例えば、第１の起動プログラム１１または第１の起動プログラム１１によって呼び出されたプログラムによって実行される。なお、起動制御部４０は、第１のＣＰＵ２１の起動処理が正常に終了したことをトリガとして検出してもよい。例えば、第１のＣＰＵ２１は、起動処理が正常に終了した場合に接続変更要求を出力してもよい。
【００２７】
ここで、第１のＣＰＵ２１が起動処理を開始した後、第１の起動プログラム１１の異常などにより、第１のＣＰＵ２１の起動処理が終了せず、第１のＣＰＵ２１から接続変更要求が出力されない場合、不揮発性メモリ１０の接続先が第２のＣＰＵ３１に切り替わらず、第２のＣＰＵ３１の起動処理が実行されない。第１の起動プログラム１１の異常としては、例えば、不揮発性メモリ１０に記憶されている第１の起動プログラム１１のデータのビットエラーがある。このビットエラーは、例えば、不揮発性メモリ１０に記憶されたビットの意図しない変化によるものであり、メモリの電荷抜けなどによって発生する。
【００２８】
本実施の形態では、接続変更のトリガが検出されない場合でも、第２のＣＰＵ３１の起動処理が実行されるように、起動制御部４０は、第１のＣＰＵ２１が起動処理を開始した後、接続変更のトリガを検出することなく所定時間が経過したと判定した場合、不揮発性メモリ１０の接続先を第１のＣＰＵ２１から第２のＣＰＵ３１に変更し、第２のＣＰＵ３１に起動処理を開始させる。ここで、所定時間は、予め設定された時間であり、例えば、起動処理に要する通常の時間よりも長い時間である。
【００２９】
図３は、起動制御部４０の構成を概略的に示すブロック図である。図３において、起動制御部４０は、ＣＰＵ選択部４１、起動開始部４２、起動プログラム選択部４３、トリガ検出部４４、時間判定部４５、第１のＣＰＵ２１と接続されるデータインタフェース４０ａおよびリセットインタフェース４０ｂ、ならびに第２のＣＰＵ３１と接続されるデータインタフェース４０ｃおよびリセットインタフェース４０ｄを備える。
【００３０】
ＣＰＵ選択部４１は、第１のＣＰＵ２１および第２のＣＰＵ３１のどちらか一方を選択的に不揮発性メモリ１０に接続する。不揮発性メモリ１０に接続するとは、不揮発性メモリ１０にアクセス可能にすることを含む。ＣＰＵ選択部４１は、例えば、データインタフェース４０ａおよび４０ｃの一方を起動プログラム選択部４３に接続するスイッチを切り替えることによって、不揮発性メモリ１０に接続されるＣＰＵを切り替える。また例えば、ＣＰＵ選択部４１は、第１のＣＰＵ２１および第２のＣＰＵ３１のうちの一方からのアクセス要求を受諾し、他方からのアクセス要求を拒否し、どちらのＣＰＵからのアクセス要求を受諾するかを切り替えることによって、不揮発性メモリ１０に接続されるＣＰＵを切り替える。
【００３１】
起動開始部４２は、第１のＣＰＵ２１または第２のＣＰＵ３１に起動処理の開始を指示する。起動開始部４２は、第１のＣＰＵ２１および第２のＣＰＵ３１のうち起動処理を開始すべきＣＰＵに対し、起動処理の開始を指示する。ここでは、起動開始部４２は、第１のＣＰＵ２１および第２のＣＰＵ３１のリセットとその解除を制御するリセット制御部である。具体的には、起動開始部４２は、リセットインタフェース４０ｂを介して第１のＣＰＵ２１にリセット信号を出力し、リセットインタフェース４０ｄを介して第２のＣＰＵ３１にリセット信号を出力し、これらのリセット信号のオン／オフにより起動処理の開始を指示する。
【００３２】
起動プログラム選択部４３は、不揮発性メモリ１０にアクセスしてアドレス情報１３を取得し、第１のＣＰＵ２１および第２のＣＰＵ３１のうち不揮発性メモリ１０に接続されたＣＰＵから読み出し要求を受けると、不揮発性メモリ１０に記憶されている各起動プログラムのうち、読み出し要求を行ったＣＰＵが実行すべき起動プログラムをアドレス情報に基づいて選択的に読み出す。具体的には、各ＣＰＵは、起動プログラムを読み出す場合、読み出しアドレスを指定して読み出し要求を出力する。リセット解除後に最初に指定される読み出しアドレスは０番地である。すなわち、各ＣＰＵは、リセットが解除されると、常に０番地から読み出しを要求する。起動プログラム選択部４３は、ＣＰＵからの読み出し要求を受けると、指定された読み出しアドレスに当該ＣＰＵが実行すべき起動プログラムの先頭アドレスを足し合わせ、得られたアドレスを指定して不揮発性メモリ１０に読み出しを要求する。これにより、第１のＣＰＵ２１および第２のＣＰＵ３１は、実行すべき起動プログラムの先頭アドレスを保持していなくても、実行すべき起動プログラムを読み出すことができる。起動プログラム選択部４３は、例えば、起動時に不揮発性メモリ１０からアドレス情報１３を読み出す。
【００３３】
トリガ検出部４４は、不揮発性メモリ１０の接続変更のトリガを検出する。本実施の形態では、トリガ検出部４４は、接続変更のトリガとして、第１のＣＰＵ２１から出力される接続変更要求を受ける。なお、図３の例では、トリガ検出部４４は、ＣＰＵ選択部４１に含まれる。
【００３４】
時間判定部４５は、第１のＣＰＵ２１の起動処理の開始からの経過時間を計測し、トリガ検出部４４がトリガを検出することなく経過時間が所定時間を経過したかを判定する。例えば、時間判定部４５は、第１のＣＰＵ２１の起動またはリセット解除と同時または略同時に時間計測を開始する。その後、時間判定部４５は、計測時間が所定時間を経過する前に、トリガ検出部４４がトリガを検出した場合、計測時間を初期化し、時間計測が可能な状態で待機する。時間判定部４５は、計測時間が所定時間を経過した場合、トリガを検出することなく経過時間が所定時間を経過したと判定する。時間判定部４５は、経過時間が所定時間を経過したと判定した場合、起動開始部４２を介してＣＰＵ選択部４１に時間経過通知を送る。時間判定部４５の時間計測手段は、例えば、図４に示すＲＣ回路４５ａ等のアナログ回路や、カウンタ回路等の論理回路により実現される。図４において、ＲＣ回路４５ａは、抵抗ＲとキャパシタＣとの直列接続を有する。抵抗Ｒの一端には入力電圧Ｖｉｎが印加され、他端はキャパシタＣの一端に接続され、キャパシタＣの他端は接地される。時間判定部４５は、例えば、入力電圧Ｖｉｎの印加開始後、抵抗ＲとキャパシタＣとの接続点の電圧Ｖｏｕｔが所定閾値に達すると、時間経過通知を出力する。
【００３５】
図３に示す起動制御部４０は、各部が以下のように動作するように構成される。
【００３６】
システム起動時には、ＣＰＵ選択部４１は、第１のＣＰＵ２１を不揮発性メモリ１０に接続し、起動開始部４２は、第１のＣＰＵ２１に起動処理の開始を指示し、起動プログラム選択部４３は、第１のＣＰＵ２１からの読み出し要求に応じて第１の起動プログラム１１を読み出す。ここで、「システム起動時」とは、情報処理システム５の動作開始時である。例えば、監視レコーダ２の電源が投入されると、情報処理システム５はリセット状態となり、電源電圧が安定した後、情報処理システム５のリセットが解除されると、情報処理システム５の動作が開始する。
【００３７】
第１のＣＰＵ２１が起動処理を開始した後、トリガ検出部４４がトリガを検出した場合、および時間判定部４５が所定時間を経過したと判定した場合、ＣＰＵ選択部４１は、不揮発性メモリ１０の接続先を第１のＣＰＵ２１から第２のＣＰＵ３１に変更し、起動開始部４２は、第２のＣＰＵ３１に起動処理の開始を指示し、起動プログラム選択部４３は、第２のＣＰＵ３１からの読み出し要求に応じて第２の起動プログラム１２を読み出す。
【００３８】
図５は、本実施の形態１における起動制御部４０の動作を示すフローチャートである。図６は、本実施の形態１における第１のＣＰＵ２１または第２のＣＰＵ３１の動作を示すフローチャートである。以下、図５および図６を参照して、情報処理システム５の動作について説明する。
【００３９】
図５において、情報処理システム５のリセットが解除されると、ＣＰＵ選択部４１は、第１のＣＰＵ２１を不揮発性メモリ１０に接続する（Ｓ１０）。また、起動プログラム選択部４３は、不揮発性メモリ１０の所定のアドレスにアクセスし、アドレス情報１３のうち第１の起動プログラム１１の先頭アドレスを読み出し、第１の起動プログラム１１にアクセスするように自身を設定する（Ｓ１１）。なお、この間、起動開始部４２は、第１のＣＰＵ２１および第２のＣＰＵ３１をリセット状態に維持している。
【００４０】
次に、起動開始部４２は、時間判定部４５に時間計測を開始させ（Ｓ１２）、第１のＣＰＵ２１のリセットを解除し、第１のＣＰＵ２１の起動処理を開始させる（Ｓ１３）。
【００４１】
図６に示すように、第１のＣＰＵ２１は、リセットが解除されると、不揮発性メモリ１０にアクセスし、第１の起動プログラム１１をワークメモリ２２に読み出す（Ｓ１）。この場合、第１のＣＰＵ２１は、読み出しアドレスを指定して読み出し要求を起動制御部４０に出力する。最初に指定される読み出しアドレスは０番地である。第１のＣＰＵ２１からの読み出し要求は、データインタフェース４０ａに入力され、ＣＰＵ選択部４１を介して起動プログラム選択部４３に送られる。起動プログラム選択部４３は、読み出し要求を受けると、指定された読み出しアドレスに第１の起動プログラム１１の先頭アドレスを加算し、得られたアドレスを指定して読み出し要求を不揮発性メモリ１０に出力する。この読み出し要求に応じ、不揮発性メモリ１０は、指定されたアドレスに記憶されているデータ（第１の起動プログラム１１のデータ）を起動プログラム選択部４３に出力する。このデータは、起動プログラム選択部４３からＣＰＵ選択部４１およびデータインタフェース４０ａを介して第１のＣＰＵ２１に送られ、第１のＣＰＵ２１からワークメモリ２２に転送される。
【００４２】
第１のＣＰＵ２１は、ワークメモリ２２から第１の起動プログラム１１を読み出し（Ｓ２）、第１の起動プログラム１１に記述されている処理を実行する（Ｓ３）。この処理としては、例えば、第１のＣＰＵ２１の初期化、記録系２０を構成する第１のＣＰＵ２１以外のデバイスの初期化、ＯＳ等のプログラムのワークメモリ２２へのロードがある。第１のＣＰＵ２１は、起動処理の終了時に、接続変更要求を起動制御部４０に出力する。上述したように、この接続変更要求は、第１の起動プログラム１１の異常（例えばビットエラー）などにより出力されない場合がある。
【００４３】
図５において、ステップＳ１３の後、時間判定部４５の計測時間が所定時間を経過する前に、第１のＣＰＵ２１の起動処理が完了し、第１のＣＰＵ２１から接続変更要求が出力された場合（Ｓ１４：Ｙｅｓ）、ＣＰＵ選択部４１に接続変更要求が入力される（Ｓ１５）。
【００４４】
一方、ステップＳ１３の後、時間判定部４５の計測時間が所定時間を経過し、時間判定部４５から時間経過通知が出力された場合（Ｓ１４：Ｎｏ）、ＣＰＵ選択部４１に時間経過通知が入力される（Ｓ１６）。
【００４５】
ＣＰＵ選択部４１は、第１のＣＰＵ２１からの接続変更要求または時間判定部４５からの時間経過通知を受けると、不揮発性メモリ１０の接続先を第２のＣＰＵ３１に変更し、起動開始部４２および起動プログラム選択部４３に接続変更を通知する（Ｓ１７）。起動開始部４２は、接続変更の通知を受けると、時間判定部４５の時間計測を初期化して停止させる（Ｓ１８）。起動プログラム選択部４３は、接続変更の通知を受けると、不揮発性メモリ１０の所定のアドレスにアクセスし、アドレス情報１３のうち第２の起動プログラム１２の先頭アドレスを読み出し、第２の起動プログラム１２にアクセスするように自身の設定を変更する（Ｓ１９）。この設定変更が完了した後、起動開始部４２は、第２のＣＰＵ３１のリセットを解除し、第２のＣＰＵ３１の起動処理を開始させる（Ｓ２０）。
【００４６】
図６に示すように、第２のＣＰＵ３１は、リセットが解除されると、不揮発性メモリ１０にアクセスして第２の起動プログラム１２をワークメモリ３２に読み出し（Ｓ１）、ワークメモリ３２から第２の起動プログラム１２を読み出し（Ｓ２）、第２の起動プログラム１２に記述されている処理を実行する（Ｓ３）。この処理としては、例えば、第２のＣＰＵ３１の初期化、再生系３０を構成する第２のＣＰＵ３１以外のデバイスの初期化、ＯＳ等のプログラムのワークメモリ３２へのロードがある。このとき、起動プログラム選択部４３は、第２の起動プログラム１２にアクセスするように設定されているので、第２のＣＰＵ３１からの読み出し要求に応じて、不揮発性メモリ１０から第２の起動プログラム１２を読み出す。
【００４７】
なお、上記の動作は一例であり、適宜変更されてもよい。例えば、起動プログラム選択部４３は、ステップＳ１１において、第１の起動プログラム１１の先頭アドレスと同時に、第２の起動プログラム１２の先頭アドレスを読み出してもよい。
【００４８】
以上説明した本実施の形態１によれば、下記（１）〜（７）の効果が得られる。
（１）起動制御部４０は、第１のＣＰＵ２１が起動処理を開始した後、接続変更のトリガを検出することなく所定時間が経過したと判定した場合、不揮発性メモリ１０の接続先を第１のＣＰＵ２１から第２のＣＰＵ３１に変更する。これにより、第２のＣＰＵ３１が不揮発性メモリ１０にアクセスできず、起動処理を実行できないという事態を抑制または回避することができる。例えば、第１のＣＰＵ２１の起動処理が正常に終了しない場合でも、第２のＣＰＵ３１が起動処理を実行することが可能となる。
【００４９】
（２）起動制御部４０は、接続変更のトリガを検出することなく所定時間が経過したと判定した場合に、不揮発性メモリ１０の接続先を第１のＣＰＵ２１から第２のＣＰＵ３１に変更し、第２のＣＰＵ３１に起動処理を開始させる。本構成によれば、接続変更のトリガが検出されない場合でも、第２のＣＰＵ３１に起動処理を開始させることができる。例えば、特許文献１に記載の技術では、メインＣＰＵが正常に動作せず、メインＣＰＵによるサブＣＰＵのリセット解除が行われない場合、サブＣＰＵの起動処理が実行されない問題が発生する。また、メインＣＰＵの起動処理が正常に終了せず、メインＣＰＵによるサブＣＰＵのリセット解除が行われない場合、システム全体が起動できない問題が発生する。本実施の形態によれば、起動制御部４０が第２のＣＰＵ３１に起動処理の開始を指示するので、上記特許文献１の問題を抑制または回避することができる。
【００５０】
（３）起動制御部４０は、不揮発性メモリ１０にアクセスしてアドレス情報を取得し、不揮発性メモリ１０に接続されたＣＰＵから読み出し要求を受けると、不揮発性メモリ１０から当該ＣＰＵが実行すべき起動プログラムをアドレス情報に基づいて選択的に読み出す。本構成によれば、各ＣＰＵは、実行すべき起動プログラムのアドレス（例えば先頭アドレス）を保持していなくても、実行すべき起動プログラムにアクセスすることができる。また、各ＣＰＵは、起動プログラムのアドレスを記録しておく必要や取得する必要がないので、各ＣＰＵの処理負荷が軽減される。
【００５１】
（４）起動制御部４０は、第１のＣＰＵ２１に起動処理の開始を指示し、このタイミングで経過時間の計測を開始する。このため、第１のＣＰＵ２１が起動処理を開始してからの経過時間を正確または容易に計測することができる。
【００５２】
（５）第１のＣＰＵ２１の起動処理が正常に終了しなかった場合、第２のＣＰＵ３１の起動処理が終了した後、第２のＣＰＵ３１は、不揮発性メモリ１０または他の記憶装置から記録系用の起動プログラムを読み出して実行することにより、記録系２０を起動してもよい。これにより、第１のＣＰＵ２１の起動処理により記録系２０を起動できない場合に、記録系２０を起動することができる。
【００５３】
（６）監視レコーダでは、カメラから送信される映像を記録し続けることが重要である。本実施の形態では、記録系と再生系とで別々のＣＰＵを用いるので、記録系は、再生系に影響を及ぼされることなく動作することができ、映像を記録し続けることができる。
【００５４】
（７）第１のＣＰＵ２１用の起動プログラムと第２のＣＰＵ３１用の起動プログラムとを共通の不揮発性メモリ１０に格納するので、別々の不揮発性メモリに格納する場合と比較して、回路規模を小さくすることができる。また、各起動プログラムを更新する際に、共通の不揮発性メモリを書き換えればよく、別々の不揮発性メモリを書き換える場合と比較して処理が簡易になる。
【００５５】
実施の形態２．
以下、実施の形態２における情報処理システムについて説明する。この情報処理システムは、予備の起動プログラムを用いる点を除き、実施の形態１の情報処理システムと同様である。以下の説明では、実施の形態１と同様の部分については説明を省略または簡略化し、実施の形態１と同一または対応する要素については同一の符号を付す。
【００５６】
図７は、本実施の形態２における不揮発性メモリ１０の記憶フォーマットを示す概略図である。図７において、不揮発性メモリ１０は、第１の起動プログラム１１、第２の起動プログラム１２、およびアドレス情報１３に加えて、予備の起動プログラム１４を記憶している。予備の起動プログラム１４は、記録系２０を起動するためのプログラムまたはプログラムデータであり、第１の起動プログラム１１の異常が検出された場合に用いられる。予備の起動プログラム１４は、第１の起動プログラム１１と同一内容のプログラム（例えばバージョンが同じプログラム）であってもよいし、第１の起動プログラム１１と内容の異なるプログラム（例えばバージョンの異なるプログラム）であってもよい。アドレス情報１３は、不揮発性メモリ１０における第１の起動プログラム１１、第２の起動プログラム１２、および予備の起動プログラム１４のそれぞれのアドレス（具体的には先頭アドレス）を示す。
【００５７】
起動制御部４０は、第１のＣＰＵ２１が第１の起動プログラム１１による起動処理を開始した後、第１の起動プログラム１１の異常を検出した場合に、第１のＣＰＵ２１に予備の起動プログラム１４による起動処理を実行させる。例えば、起動制御部４０は、第１の起動プログラム１１の異常として、第１の起動プログラム１１による起動処理が所定の判定時間内に終了しないことを検出した場合に、第１のＣＰＵ２１に予備の起動プログラム１４による起動処理を実行させる。ここで、所定の判定時間は、予め設定された時間であり、例えば、起動処理に要する通常の時間よりも長い時間である。所定の判定時間は、一例では上記「所定時間」と同じ時間であるが、異なる時間であってもよい。
【００５８】
本実施の形態では、起動制御部４０は、第１のＣＰＵ２１が第１の起動プログラム１１による起動処理を開始した後、所定時間内に第１のＣＰＵ２１の起動処理が終了したことを検出した場合、不揮発性メモリ１０の接続先を第２のＣＰＵ３１に変更し、第２のＣＰＵ３１に起動処理を開始させる。一方、第１のＣＰＵ２１の起動処理が終了したことを検出することなく所定時間が経過したと判定した場合、第１のＣＰＵ２１に予備の起動プログラム１４による起動処理を実行させ、その後、不揮発性メモリ１０の接続先を第１のＣＰＵ２１から第２のＣＰＵ３１に変更し、第２のＣＰＵ３１に起動処理を開始させる。
【００５９】
起動制御部４０は、図３に示される構成を有する。ただし、本実施の形態では、起動制御部４０は、各部が以下のように動作するように構成される。
【００６０】
システム起動時には、実施の形態１と同様に、ＣＰＵ選択部４１は、第１のＣＰＵ２１を不揮発性メモリ１０に接続し、起動開始部４２は、第１のＣＰＵ２１に起動処理の開始を指示し、起動プログラム選択部４３は、第１のＣＰＵ２１からの読み出し要求に応じて第１の起動プログラム１１を読み出す。
【００６１】
第１のＣＰＵ２１が第１の起動プログラム１１または予備の起動プログラム１４による起動処理を開始した後、時間判定部４５が所定時間を経過したと判定する前に、トリガ検出部４４が起動処理の終了を検出した場合、ＣＰＵ選択部４１は、不揮発性メモリ１０の接続先を第１のＣＰＵ２１から第２のＣＰＵ３１に変更し、起動開始部４２は、第２のＣＰＵ３１に起動処理の開始を指示し、起動プログラム選択部４３は、第２のＣＰＵ３１からの読み出し要求に応じて第２の起動プログラム１２を読み出す。
【００６２】
第１のＣＰＵ２１が第１の起動プログラム１１または予備の起動プログラム１４による起動処理を開始した後、時間判定部４５が所定時間を経過したと判定した場合、ＣＰＵ選択部４１は、次に起動処理を実行するＣＰＵを決定し、決定されたＣＰＵを不揮発性メモリ１０に接続する。起動開始部４２は、次に起動処理を実行するＣＰＵを決定し、決定されたＣＰＵに起動処理の開始を指示する。起動プログラム選択部４３は、次に実行される起動プログラムを決定し、決定された起動プログラムをＣＰＵからの読み出し要求に応じて読み出す。これらの決定は、例えば、所定時間を経過したとの判定の回数に基づいてなされる。具体的には、所定時間を経過したとの判定が１回目であるときには、ＣＰＵ選択部４１は第１のＣＰＵ２１の接続を維持し、起動開始部４２は第１のＣＰＵ２１に起動処理の開始を指示し、起動プログラム選択部４３は第１のＣＰＵ２１からの読み出し要求に応じて予備の起動プログラム１４を読み出す。所定時間を経過したとの判定が２回目であるときには、ＣＰＵ選択部４１は接続先を第２のＣＰＵ３１に変更し、起動開始部４２は第２のＣＰＵ３１に起動処理の開始を指示し、起動プログラム選択部４３は第２のＣＰＵ３１からの読み出し要求に応じて第２の起動プログラム１２を読み出す。
【００６３】
図８は、本実施の形態２における起動制御部４０の動作を示すフローチャートである。以下、図８および図６を参照して、情報処理システム５の動作について説明する。
【００６４】
図８において、情報処理システム５のリセットが解除されると、ＣＰＵ選択部４１は、第１のＣＰＵ２１を不揮発性メモリ１０に接続し（Ｓ１０）、起動プログラム選択部４３は、第１の起動プログラム１１の先頭アドレスを読み出し、第１の起動プログラム１１にアクセスするように自身を設定する（Ｓ１１）。
【００６５】
次に、起動開始部４２は、時間判定部４５に時間計測を開始させ（Ｓ１２）、第１のＣＰＵ２１のリセットを解除し、第１のＣＰＵ２１の起動処理を開始させる（Ｓ１３）。これにより、第１のＣＰＵ２１は、不揮発性メモリ１０から第１の起動プログラム１１を読み出して実行し（図６のＳ１〜Ｓ３）、起動処理が終了すると、接続変更要求を起動制御部４０に出力する。
【００６６】
ステップＳ１３の後、時間判定部４５の計測時間が所定時間を経過する前に、第１のＣＰＵ２１の起動処理が完了し、第１のＣＰＵ２１から接続変更要求が出力された場合（Ｓ１４：Ｙｅｓ）、ＣＰＵ選択部４１に接続変更要求が入力される（Ｓ１５）。ＣＰＵ選択部４１は、第１のＣＰＵ２１からの接続変更要求を受けると、不揮発性メモリ１０の接続先を第２のＣＰＵ３１に変更し、起動開始部４２および起動プログラム選択部４３に接続変更を通知する（Ｓ１７）。この通知に応じて、起動開始部４２は、時間判定部４５の時間計測を初期化して停止させ（Ｓ１８）、起動プログラム選択部４３は、第２の起動プログラム１２の先頭アドレスを読み出し、第２の起動プログラム１２にアクセスするように自身の設定を変更する（Ｓ１９）。その後、起動開始部４２は、第２のＣＰＵ３１のリセットを解除し、第２のＣＰＵ３１の起動処理を開始させる（Ｓ２０）。これにより、第２のＣＰＵ３１は、不揮発性メモリ１０から第２の起動プログラム１２を読み出して実行する（図６のＳ１〜Ｓ３）。
【００６７】
一方、ステップＳ１３の後、時間判定部４５の計測時間が所定時間を経過し、時間判定部４５から時間経過通知が出力された場合（Ｓ１４：Ｎｏ）、ＣＰＵ選択部４１に時間経過通知が入力される（Ｓ１６）。ＣＰＵ選択部４１は、時間判定部４５からの時間経過通知を受けると、１回目の時間経過通知であることから、不揮発性メモリ１０の接続先を第１のＣＰＵ２１のままとし、起動開始部４２および起動プログラム選択部４３に１回目の時間経過通知を送る。起動プログラム選択部４３は、１回目の時間経過通知を受けると、不揮発性メモリ１０から予備の起動プログラム１４の先頭アドレスを読み出し、予備の起動プログラム１４にアクセスするように自身の設定を変更する（Ｓ２１）。起動開始部４２は、１回目の時間経過通知を受けると、起動プログラム選択部４３の設定変更が完了した後、時間判定部４５の時間計測を初期化して開始させ（Ｓ２２）、第１のＣＰＵ２１にリセットをかけて、再び起動処理を開始させる（Ｓ２３）。これにより、第１のＣＰＵ２１は、不揮発性メモリ１０から予備の起動プログラム１４を読み出して実行する（図６のＳ１〜Ｓ３）。このとき、起動プログラム選択部４３は、予備の起動プログラム１４にアクセスするように設定されているので、第１のＣＰＵ２１からの読み出し要求に応じて、不揮発性メモリ１０から予備の起動プログラム１４を読み出す。第１のＣＰＵ２１は、起動処理が終了すると、接続変更要求を起動制御部４０に出力する。
【００６８】
ステップＳ２３の後、時間判定部４５の計測時間が所定時間を経過する前に、第１のＣＰＵ２１の起動処理が完了し、第１のＣＰＵ２１から接続変更要求が出力された場合（Ｓ２４：Ｙｅｓ）、ＣＰＵ選択部４１に接続変更要求が入力される（Ｓ１５）。ＣＰＵ選択部４１は、第１のＣＰＵ２１からの接続変更要求を受けると、不揮発性メモリ１０の接続先を第２のＣＰＵ３１に変更し、起動開始部４２および起動プログラム選択部４３に接続変更を通知する（Ｓ１７）。この通知に応じて、ステップＳ１８〜Ｓ２０の処理が行われ、第２のＣＰＵ３１が不揮発性メモリ１０から第２の起動プログラム１２を読み出して実行する（図６のＳ１〜Ｓ３）。
【００６９】
一方、ステップＳ２３の後、時間判定部４５の計測時間が所定時間を経過し、時間判定部４５から時間経過通知が出力された場合（Ｓ２４：Ｎｏ）、ＣＰＵ選択部４１に時間経過通知が入力される（Ｓ２５）。ＣＰＵ選択部４１は、時間判定部４５からの時間経過通知を受けると、２回目の時間経過通知であることから、第１のＣＰＵ２１または記録系２０の起動処理が終了していないことを示すエラー処理を実行する（Ｓ２６）。このエラー処理では、例えば、監視レコーダ２に接続されているモニタ３等に、エラーが発生していることを示す内容を出力する。その後、ＣＰＵ選択部４１は、不揮発性メモリ１０の接続先を第２のＣＰＵ３１に変更し、起動開始部４２および起動プログラム選択部４３に接続変更を通知する（Ｓ１７）。この通知に応じて、ステップＳ１８〜Ｓ２０の処理が行われ、第２のＣＰＵ３１が不揮発性メモリ１０から第２の起動プログラム１２を読み出して実行する（図６のＳ１〜Ｓ３）。
【００７０】
なお、上記の動作は一例であり、適宜変更されてもよい。例えば、起動プログラム選択部４３は、ステップＳ１１において、第１の起動プログラム１１の先頭アドレスと同時に、第２の起動プログラム１２の先頭アドレスおよび予備の起動プログラム１４の先頭アドレスを読み出してもよい。
【００７１】
以上説明した本実施の形態２によれば、上記実施の形態１の効果の他に、下記（８）〜（９）の効果が得られる。
【００７２】
（８）起動制御部４０は、第１のＣＰＵ２１が第１の起動プログラム１１による起動処理を開始した後、第１の起動プログラム１１の異常を検出した場合（例えば、第１の起動プログラム１１による起動処理が所定時間内に終了しなかった場合）、第１のＣＰＵ２１に予備の起動プログラム１４による起動処理を実行させる。このため、本実施の形態によれば、第１の起動プログラム１１に異常があり第１のＣＰＵ２１の起動処理を正常に実行できない場合でも、予備の起動プログラム１４により、第１のＣＰＵ２１の起動処理を正常に実行することができる。
【００７３】
（９）カメラから送信される映像を記録する記録系と、記録した映像を再生する再生系とにそれぞれＣＰＵが設置された監視システムでは、記録系が、いち早く、かつ、確実に起動することが望まれる。本実施の形態によれば、第１のＣＰＵ２１が第２のＣＰＵ３１より先に起動処理を実行し、第１の起動プログラム１１に異常があった場合に予備の起動プログラム１４による起動処理を実行するので、いち早く、かつ、確実に記録系２０を起動することができる。
【００７４】
実施の形態３．
以下、実施の形態３における情報処理システムについて説明する。この情報処理システムは、処理の順序を除き、実施の形態２の情報処理システムと同様である。以下の説明では、実施の形態２と同様の部分については説明を省略または簡略化し、実施の形態２と同一または対応する要素については同一の符号を付す。
【００７５】
本実施の形態では、起動制御部４０は、第１のＣＰＵ２１が第１の起動プログラム１１による起動処理を開始した後、所定時間内に第１のＣＰＵ２１の起動処理が終了したことを検出した場合、不揮発性メモリ１０の接続先を第１のＣＰＵ２１から第２のＣＰＵ３１に変更し、第２のＣＰＵ３１に起動処理を開始させる。一方、第１のＣＰＵ２１の起動処理が終了したことを検出することなく所定時間が経過したと判定した場合、不揮発性メモリ１０の接続先を第１のＣＰＵ２１から第２のＣＰＵ３１に変更し、第２のＣＰＵ３１に起動処理を実行させ、その後、不揮発性メモリ１０の接続先を第１のＣＰＵ２１に変更し、第１のＣＰＵ２１に予備の起動プログラム１４による起動処理を実行させる。この場合、起動制御部４０は、例えば、第２のＣＰＵ３１の起動処理が終了したことを検出したときに、不揮発性メモリ１０の接続先を第２のＣＰＵ３１から第１のＣＰＵ２１に変更する。ただし、起動制御部４０は、第２の起動プログラム１２の読み出しの終了を検出したときや、第２のＣＰＵ３１の起動処理の開始から所定時間が経過したときなど、他のタイミングで接続先を第１のＣＰＵ２１に変更してもよい。
【００７６】
起動制御部４０は、図３に示される構成を有する。ただし、本実施の形態では、起動制御部４０は、各部が以下のように動作するように構成される。
【００７７】
システム起動時には、実施の形態１と同様に、ＣＰＵ選択部４１は、第１のＣＰＵ２１を不揮発性メモリ１０に接続し、起動開始部４２は、第１のＣＰＵ２１に起動処理の開始を指示し、起動プログラム選択部４３は、第１のＣＰＵ２１からの読み出し要求に応じて第１の起動プログラム１１を読み出す。
【００７８】
第１のＣＰＵ２１が第１の起動プログラム１１による起動処理を開始した後、時間判定部４５が所定時間を経過したと判定する前に、トリガ検出部４４が起動処理の終了を検出した場合、ＣＰＵ選択部４１は、不揮発性メモリ１０の接続先を第１のＣＰＵ２１から第２のＣＰＵ３１に変更し、起動開始部４２は、第２のＣＰＵ３１に起動処理の開始を指示し、起動プログラム選択部４３は、第２のＣＰＵ３１からの読み出し要求に応じて第２の起動プログラム１２を読み出す。
【００７９】
第１のＣＰＵ２１が第１の起動プログラム１１による起動処理を開始した後、時間判定部４５が所定時間を経過したと判定した場合、ＣＰＵ選択部４１は、不揮発性メモリ１０の接続先を第１のＣＰＵ２１から第２のＣＰＵ３１に変更し、起動開始部４２は、第２のＣＰＵ３１に起動処理の開始を指示し、起動プログラム選択部４３は、第２のＣＰＵ３１からの読み出し要求に応じて第２の起動プログラム１２を読み出す。その後、ＣＰＵ選択部４１は、不揮発性メモリ１０の接続先を第１のＣＰＵ２１に変更し、起動開始部４２は、第１のＣＰＵ２１に起動処理の開始を指示し、起動プログラム選択部４３は、第１のＣＰＵ２１からの読み出し要求に応じて予備の起動プログラム１４を読み出す。
【００８０】
図９は、本実施の形態３における起動制御部４０の動作を示すフローチャートである。以下、図９および図６を参照して、情報処理システム５の動作について説明する。
【００８１】
図９のステップＳ１０〜Ｓ２０の処理は、図５のステップＳ１０〜Ｓ２０の処理と同様である。ただし、図９では、ステップＳ１７において、ＣＰＵ選択部４１は、第１のＣＰＵ２１の起動処理が終了しているか否かを示す起動状態情報を記憶する。具体的には、ＣＰＵ選択部４１は、接続変更要求を受けた場合には、起動処理が終了していることを示す起動状態情報を記憶し、時間経過通知を受けた場合には、起動処理が終了していないことを示す起動状態情報を記憶する。
【００８２】
ステップＳ２０で第２のＣＰＵ３１のリセットが解除されると、第２のＣＰＵ３１は、不揮発性メモリ１０から第２の起動プログラム１２を読み出して実行し（図６のＳ１〜Ｓ３）、起動処理が終了すると、起動終了通知を起動制御部４０に出力する。
【００８３】
ステップＳ２０の後、ＣＰＵ選択部４１は、第２のＣＰＵ３１からの起動終了通知を受けると（Ｓ３１）、記憶している起動状態情報に基づき、第１のＣＰＵ２１の起動処理が終了しているか否かを判断する（Ｓ３２）。
【００８４】
第１のＣＰＵ２１の起動処理が終了している場合には（Ｓ３２：Ｙｅｓ）、情報処理システム５の起動処理は終了する。
【００８５】
一方、第１のＣＰＵ２１の起動処理が終了していない場合には（Ｓ３２：Ｎｏ）、ＣＰＵ選択部４１は、不揮発性メモリ１０の接続先を第１のＣＰＵ２１に変更し、起動開始部４２および起動プログラム選択部４３に予備起動プログラム実行通知を送る（Ｓ３３）。起動プログラム選択部４３は、予備起動プログラム実行通知を受けると、不揮発性メモリ１０から予備の起動プログラム１４の先頭アドレスを読み出し、予備の起動プログラム１４にアクセスするように自身の設定を変更する（Ｓ３４）。起動開始部４２は、予備起動プログラム実行通知を受けると、起動プログラム選択部４３の設定変更が完了した後、時間判定部４５の時間計測を初期化して開始させ（Ｓ３５）、第１のＣＰＵ２１にリセットをかけて、再び起動処理を開始させる（Ｓ３６）。これにより、第１のＣＰＵ２１は、不揮発性メモリ１０から予備の起動プログラム１４を読み出して実行する（図６のＳ１〜Ｓ３）。このとき、起動プログラム選択部４３は、予備の起動プログラム１４にアクセスするように設定されているので、第１のＣＰＵ２１からの読み出し要求に応じて、不揮発性メモリ１０から予備の起動プログラム１４を読み出す。第１のＣＰＵ２１は、起動処理が終了すると、起動終了通知を起動制御部４０に出力する。
【００８６】
ステップＳ３６の後、時間判定部４５の計測時間が所定時間を経過する前に、第１のＣＰＵ２１の起動処理が完了し、第１のＣＰＵ２１から起動終了通知が出力された場合（Ｓ３７：Ｙｅｓ）、ＣＰＵ選択部４１に起動終了通知が入力され、情報処理システム５の起動処理が終了する。
【００８７】
一方、ステップＳ３６の後、時間判定部４５の計測時間が所定時間を経過し、時間判定部４５から時間経過通知が出力された場合（Ｓ３７：Ｎｏ）、ＣＰＵ選択部４１に時間経過通知が入力される（Ｓ３８）。ＣＰＵ選択部４１は、時間判定部４５からの時間経過通知を受けると、２回目の時間経過通知であることから、第１のＣＰＵ２１または記録系２０の起動処理が終了していないことを示すエラー処理を実行する（Ｓ３９）。このエラー処理では、例えば、ＣＰＵ選択部４１は、監視レコーダ２に接続されているモニタ３等に、エラーが発生していることを示す内容を出力する。
【００８８】
以上説明した本実施の形態３によれば、上記実施の形態１および２の効果の他に、下記（１０）の効果が得られる。
【００８９】
（１０）起動制御部４０は、第１のＣＰＵ２１が第１の起動プログラム１１による起動処理を開始した後、第１のＣＰＵ２１の起動処理が終了したことを検出することなく所定時間が経過したと判定した場合、不揮発性メモリ１０の接続先を第１のＣＰＵ２１から第２のＣＰＵ３１に変更し、第２のＣＰＵ３１に起動処理を実行させ、その後、不揮発性メモリ１０の接続先を第１のＣＰＵ２１に変更し、第１のＣＰＵ２１に予備の起動プログラム１４による起動処理を実行させる。本構成では、第１のＣＰＵ２１の第１の起動プログラム１１による起動処理が所定時間内に終了しない場合に、第１のＣＰＵ２１に予備の起動プログラム１４による起動処理を実行させる前に、第２のＣＰＵ３１に起動処理を実行させる。このため、情報処理システム５の一部分を早期に起動することができる。特に、監視レコーダでは、システムが起動できない状態にあることは望ましくないため、システムの異常をいち早く把握する必要がある。本構成では、第２のＣＰＵ３１が起動することで、第２のＣＰＵ３１を用いて第１のＣＰＵ２１または記録系２０の異常を把握することが可能または容易になる。例えば、ユーザは、第２のＣＰＵ３１を用いて、第１のＣＰＵ２１または記録系２０の状態をモニタ３等で確認することが可能になる。
【００９０】
なお、実施の形態１〜３において、起動制御部４０の機能は、電子回路などのハードウェア資源のみにより実現されてもよいし、ハードウェア資源とソフトウェアとの協働により実現されてもよい。ハードウェア資源とソフトウェアとの協働により実現される場合、起動制御部４０の機能は、例えばコンピュータプログラムがコンピュータにより実行されることによって実現される。より具体的には、起動制御部４０の機能は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）等の記録媒体に記録されたコンピュータプログラムが主記憶装置に読み出されてＣＰＵにより実行されることによって実現される。コンピュータプログラムは、光ディスク等のコンピュータ読み取り可能な記録媒体に記録されて提供されてもよいし、インターネット等の通信回線を介して提供されてもよい。
【００９１】
また、本発明は、上記実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の態様で実施することができる。
【００９２】
例えば、上記の説明では、プログラムをワークメモリ２２または３２に展開して実行する構成を例示したが、第１のＣＰＵ２１または第２のＣＰＵ３１は、プログラムをワークメモリ２２または３２に展開せずに不揮発性メモリ１０上から直接実行するように構成されてもよい。この構成では、ワークメモリ２２または３２の容量を削減することができる。
【００９３】
また、第１の起動プログラム１１の起動対象である第１のシステムは、一例では記録系２０のような第１のＣＰＵ２１を含むシステムであるが、第１のＣＰＵ２１であってもよいし、第１のＣＰＵ２１を含まないシステムであってもよい。同様に、第２の起動プログラム１２の起動対象である第２のシステムは、一例では再生系３０のような第２のＣＰＵ３１を含むシステムであるが、第２のＣＰＵ３１であってもよいし、第２のＣＰＵ３１を含まないシステムであってもよい。
【００９４】
また、上記の説明では、不揮発性メモリ１０の接続変更のトリガとして、第１のＣＰＵ２１の起動処理が終了したこと、および第１のＣＰＵ２１からの接続変更要求を例示したが、接続変更のトリガは、これらに限られず、例えば下記（ａ）〜（ｄ）の事象または信号であってもよい。
（ａ）不揮発性メモリ１０からの第１の起動プログラム１１の読み出しが終了したこと
（ｂ）第１のＣＰＵ２１から出力される、不揮発性メモリ１０からの第１の起動プログラム１１の読み出しが終了したことを示す信号
（ｃ）第１のＣＰＵ２１と関係するデバイスから出力される、第１のＣＰＵ２１の起動処理の終了または第１の起動プログラム１１の読み出しの終了を示す信号
（ｄ）第１のＣＰＵ２１の起動処理の終了または第１の起動プログラム１１の読み出しの終了を示す、第１のＣＰＵ２１または第１のＣＰＵ２１と関係するデバイスの状態の変化
【００９５】
また、上記の説明では、起動制御部４０が第１のＣＰＵ２１および第２のＣＰＵ３１に起動処理を開始させる構成を例示したが、第１のＣＰＵ２１および第２のＣＰＵ３１は、他の態様で起動処理を開始してもよい。例えば、第１のＣＰＵ２１が第２のＣＰＵ３１のリセットを解除することで、第２のＣＰＵ３１の起動処理を開始させてもよい。
【００９６】
また、上記の説明では、アドレス情報１３が不揮発性メモリ１０に記憶されている構成を例示したが、アドレス情報１３は、例えば起動プログラム選択部４３に接続されるレジスタなど、不揮発性メモリ１０以外の記憶装置に記憶されてもよい。
【００９７】
また、上記各実施の形態において、アドレス情報１３および起動プログラム選択部４３は省略されてもよい。例えば、各ＣＰＵが起動プログラムのアドレスを指定し、起動制御部４０は、ＣＰＵにより指定されたアドレスをそのまま指定して不揮発性メモリ１０にアクセスしてもよい。また、各ＣＰＵは、リセット解除後に常に共通のプログラムにアクセスし、このプログラムの命令に従って、実行すべき起動プログラムの先頭アドレスにジャンプしてもよい。
【００９８】
また、上記実施の形態２および３では、第１の起動プログラム１１による起動処理が所定時間内に終了しない場合に予備の起動プログラム１４を用いる構成を例示したが、起動制御部４０は、他の態様で第１の起動プログラム１１の異常を検出してもよい。例えば、起動制御部４０は、第１のＣＰＵ２１または他のデバイスから第１の起動プログラム１１の異常（例えばビットエラーが検出されたこと）を示す信号を受けた場合や、第１のＣＰＵ２１から定期的に出力されるべき信号が途絶えた場合に、予備の起動プログラム１４を用いてもよい。
【００９９】
また、上記実施の形態２および３では、予備の起動プログラムが１つだけ記憶される構成を例示したが、複数の予備の起動プログラムが不揮発性メモリ１０に記憶されていてもよい。複数の予備の起動プログラムは、それぞれ、記録系２０を起動するためのプログラムであり、第１の起動プログラム１１と同一内容のプログラムデータであってもよいし、第１の起動プログラム１１と内容の異なるプログラムデータであってもよい。また、複数の予備の起動プログラムは、それぞれが他の予備の起動プログラムと同一内容のプログラムデータであってもよいし、他の予備の起動プログラムと内容が異なるプログラムデータであってもよい。本構成では、起動制御部４０は、例えば予備の起動プログラムの個数情報を保持し、第１のＣＰＵ２１の起動処理が正常に終了するか、または使用されていない予備の起動プログラムがなくなるまで、複数の予備の起動プログラムを第１のＣＰＵ２１に順に実行させてもよい。例えば、図８において、ステップＳ２５で未使用の予備の起動プログラムが残っているかを判断し、残っている場合にはステップＳ２１に戻って未使用の予備の起動プログラムによる起動処理を行い、残っていない場合にステップＳ２６に進むようにしてもよい。また、図９において、ステップＳ３８で未使用の予備の起動プログラムが残っているかを判断し、残っている場合にはステップＳ３４に戻って未使用の予備の起動プログラムによる起動処理を行い、残っていない場合にステップＳ３９に進むようにしてもよい。
【０１００】
また、起動制御部４０の構成は、図３に示される構成に限定されず、適宜変更されてもよい。例えば、図３では、起動開始部４２が１つのブロックである構成を例示したが、ＣＰＵ選択部４１、起動プログラム選択部４３、または時間判定部４５が起動開始部４２の機能を有するように構成されてもよい。
【０１０１】
また、本発明は、監視レコーダに限られず、様々な種類の装置に適用することができる。
【符号の説明】
【０１０２】
２  監視レコーダ、  ５  情報処理システム、  １０  不揮発性メモリ、  ２０  記録系、  ２１  第１のＣＰＵ、  ２２  ワークメモリ、  ３０  再生系、  ３１  第２のＣＰＵ、  ３２  ワークメモリ、  ４０  起動制御部、  ４１  ＣＰＵ選択部、  ４２  起動開始部、  ４３  起動プログラム選択部、  ４４  トリガ検出部、  ４５  時間判定部。
【図１】
0006045457.tif 000002
【図２】
0006045457.tif 000003
【図３】
0006045457.tif 000004
【図４】
0006045457.tif 000005
【図５】
0006045457.tif 000006
【図６】
0006045457.tif 000007
【図７】
0006045457.tif 000008
【図８】
0006045457.tif 000009
【図９】
0006045457.tif 000010