(57)【特許請求の範囲】
【請求項１】
電池から供給される電力によって制御される電子機器であって、
前記電池の出力電圧が所定の電圧を下回った否かの判定の結果を示す判定情報を記憶する不揮発性メモリと、
前記判定情報の前記不揮発性メモリへの書き込みを行う制御部を有し、
前記制御部は、前記電子機器の電力モードを、アクティブモードと、該アクティブモードよりも消費電力の少ないスタンバイモードの間で切り替え可能であり、
前記制御部は、前記電力モードが前記スタンバイモードに設定された状態で、前記不揮発性メモリに書き込まれた前記判定情報に基づき、前記出力電圧が前記所定の電圧を下回ったことを示す判定結果が所定回数続けて得られている場合には、前記スタンバイモードから前記アクティブモードへの切り替えを禁止することを特徴とする電子機器。
【請求項２】
前記判定を行わずに前記スタンバイモードを継続することを示す継続情報を記憶する揮発性メモリをさらに有し、
前記制御部は、前記出力電圧が前記所定の電圧を下回ったことを示す判定結果が、所定回数続けて得られたことに応じて、前記継続情報を前記揮発性メモリに書き込むことを特徴とする請求項１に記載の電子機器。
【請求項３】
前記電子機器に電池が取り付けられたことを検出する検出部を有し、
前記スタンバイモードから前記アクティブモードへの切り替えが禁止された状態で電池が交換され、該交換された電池の出力電圧が前記所定の電圧以上であることを示す判定結果が得られたことに応じて、前記制御部は、前記不揮発性メモリに記憶された前記判定情報をクリアすることを特徴とする請求項１または２に記載の電子機器。
【請求項４】
前記電子機器は、レンズ装置に対して取り外し可能であり、
前記制御部は、前記電子機器が前記レンズ装置に取り付けられたことに応じて前記判定を行うことを特徴とする請求項１乃至３のいずれか１項に記載の電子機器。
【請求項５】
前記電子機器は、レンズ装置に対して取り外し可能であり、
前記制御部は、前記レンズ装置と通信可能であり、
前記制御部は、前記レンズ装置からの通信要求を受信したことに応じて前記判定を行うことを特徴とする請求項１乃至３のいずれか１項に記載の電子機器。
【請求項６】
前記電子機器の電力モードに応じて点灯するランプをさらに有し、
前記制御部は、前記電子機器が前記アクティブモードのときには前記ランプを点灯させ、前記電子機器が前記スタンバイモードのときには前記ランプを消灯させることを特徴とする請求項１乃至５のいずれか１項に記載の電子機器。
【請求項７】
電池から供給される電力によって制御され、電力モードを、アクティブモードと、該アクティブモードよりも消費電力の少ないスタンバイモードの間で切り替え可能な電子機器のコンピュータに電力制御処理を実行させるプログラムであって、前記電力制御処理は、
前記電池の出力電圧が所定の電圧を下回ったか否かの判定を行うステップと、
前記判定の判定結果を示す判定情報を不揮発性メモリに書き込むステップと、
前記電力モードが前記スタンバイモードに設定された状態で、前記不揮発性メモリに書き込まれた前記判定情報に基づき、前記出力電圧が前記所定の電圧を下回ったことを示す判定結果が所定回数続けて得られている場合に、前記スタンバイモードから前記アクティブモードへの切り替えを禁止するステップと、
を含むことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電源を内蔵し、電源から供給される電力により制御される電子機器に関するものである。
【背景技術】
【０００２】
乾電池等の電源を内蔵した電子機器において、電池の消耗により電源の出力電圧が降下することで電子機器の起動を実行できなくなることが知られている。また、電子機器に含まれるアクチュエータ等のモータを駆動させるために必要な電力は、電子機器の起動のために必要な電力よりも大きくなることが一般的である。
【０００３】
そこで、アクチュエータ等のモータを駆動させるために必要な電力の最大値である駆動電力を記憶させておき、電子機器の起動の際に、駆動電力と電源の出力電力を比較する技術が知られている。特許文献１の電子機器は、電源の出力電力に関する情報を予め記憶しておいて、電子機器の起動の際に駆動電力と電源の出力電圧を比較し、その比較結果に応じて電子機器の起動を許可するか否かを判定している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平２−２１４４２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
乾電池等の電池は、大きな負荷がかけられた際に、一時的に電圧降下を生じることが知られている。そのため、特許文献１の電子機器において、大きな電圧降下が生じたタイミングで電源の出力電力に関する情報を取得した場合、出力電力が駆動電力を下回り、電子機器の起動が禁止されてしまう。このとき、本来は電源の出力電力に余裕があるにも関わらず、電子機器の起動を実行できない事態が生じる。
【０００６】
また、このような事態が生じないように電子機器の起動動作を何度も繰り返すと、電池に過度の負荷が加わり、電池に不具合が生じるおそれがある。
【０００７】
上述した課題は、電力モードとしてアクティブモードと、アクティブモードよりも消費電力の少ないスタンバイモードを含む電子機器においても生じる。
【０００８】
本発明は、電源の状態に応じた適切な電力制御を実行することができる電子機器を得ることを目的とする。
【課題を解決するための手段】
【０００９】
本発明の電子機器は、電池から供給される電力によって制御される電子機器であって、前記電池の出力電圧が所定の電圧を下回った否かの判定の結果を示す判定情報を記憶する不揮発性メモリと、前記判定情報の前記不揮発性メモリへの書き込みを行う制御部を有し、前記制御部は、前記電子機器の電力モードを、アクティブモードと、該アクティブモードよりも消費電力の少ないスタンバイモードの間で切り替え可能であり、前記制御部は、前記電力モードが前記スタンバイモードに設定された状態で、前記不揮発性メモリに書き込まれた前記判定情報に基づき、前記出力電圧が前記所定の電圧を下回ったことを示す判定結果が所定回数続けて得られている場合には、前記スタンバイモードから前記アクティブモードへの切り替えを禁止することを特徴とする。
【００１０】
また、本発明のプログラムは、電池から供給される電力によって制御され、電力モードを、アクティブモードと、該アクティブモードよりも消費電力の少ないスタンバイモードの間で切り替え可能な電子機器のコンピュータに電力制御処理を実行させるプログラムであって、前記電力制御処理は、前記電池の出力電圧が所定の電圧を下回ったか否かの判定を行うステップと、前記判定の判定結果を示す判定情報を不揮発性メモリに書き込むステップと、前記電力モードが前記スタンバイモードに設定された状態で、前記不揮発性メモリに書き込まれた前記判定情報に基づき、前記出力電圧が前記所定の電圧を下回ったことを示す判定結果が所定回数続けて得られている場合に、前記スタンバイモードから前記アクティブモードへの切り替えを禁止するステップと、を含むことを特徴とする。
【発明の効果】
【００１１】
本発明によれば、電源の状態に応じた適切な電力制御を実行することができる電子機器が得られる。
【図面の簡単な説明】
【００１２】
【図１】本発明のカメラ本体、交換レンズ及びドライブユニットを含むカメラシステムの構成を示すブロック図である。
【図２】ドライブユニットにおける電力制御処理を実行するフローを説明するフローチャートである。
【図３】電力モードの切り換え禁止を解除するフローを説明するフローチャートである。
【発明を実施するための形態】
【００１３】
以下、本発明の電子機器及び電子機器の電力制御処理について、添付の図面に基づいて詳細に説明する。図１は、カメラ本体１０２と、カメラ本体１０２に取り付けられる交換レンズ１０１と、交換レンズ１０１に対して取り付け可能な電子機器としてのドライブユニット１１０を含むカメラシステムの構成を示す図である。
【００１４】
カメラ本体１０２は交換レンズ１０１と通信可能であり、ドライブユニット１１０は交換レンズ１０１と通信可能である。カメラ本体１０２は、カメラマイコン１０５を含み、交換レンズ１０１は、レンズマイコン１０４を含む。カメラマイコン１０５は、レンズマイコン１０４との間で通信を行うことができるように構成されている。
【００１５】
ドライブユニット１１０は、ドライブユニット１１０内の各部の制御を司る制御部としてのドライブユニットマイコン１０８を含み、ドライブユニットマイコン１０８は、レンズマイコン１０４との間で通信を行うことができるように構成されている。
【００１６】
交換レンズ１０１は、不図示の変倍レンズの位置を検出するズームセンサ１０３をさらに含み、変倍レンズの位置を示すズーム情報が、レンズマイコン１０４とドライブユニットマイコン１０８の間で通信される。また、不図示のズームリングを回転させることにより、ユーザは変倍レンズを移動させることができる。ズームセンサ１０３は、ズームリングの回転量または回転位置に基づいて変倍レンズの位置情報を取得する。
【００１７】
ドライブユニット１１０は、前述したドライブユニットマイコン１０８の他に、ギア１０６、モータ１０７、取り外し検出部１０９、抵抗負荷１１１、電池１１２、ズーム操作スイッチ１１３、ＬＥＤランプ１１４を含む。また、ドライブユニット１１０は、不揮発性メモリ１１５、揮発性メモリ１１６、電池取付け検出部１１７を有する。
【００１８】
ギア１０６は、ドライブユニット１１０が交換レンズ１０１に装着された状態で、交換レンズ１０１に含まれるズームリングにかみ合うように構成されている。モータ１０７は電池１１２から電力の供給を受けて駆動され、ギア１０６を回転させるように構成されている。取り外し検出部１０９は、ドライブユニット１１０に交換レンズ１０１が取り付けられたか否かを検出し、検出結果をドライブユニットマイコン１０８に通知する。
【００１９】
抵抗負荷１１１は、電池１１２の残量が、モータ１０７を駆動させるために十分であるか否かを確認するための電源チェックに用いられる。電源チェックの具体的な手順としては、まず、モータ１０７を駆動させるときの負荷に相当する負荷を抵抗負荷１１１に与えて、不図示のトランジスタを用いたスイッチングにより抵抗負荷１１１に電流を流す。そのときの電池１１２の出力電圧を測定し、この電圧値が後述する終止電圧を下回るか否かに応じて、電池１１２からモータ１０７への電力供給の可否をドライブユニットマイコン１０８が決定する。
【００２０】
ドライブユニット１１０は、ドライブユニット１１０に装着可能な乾電池等の電池１１２から電力の供給を受けて起動する。一般的な乾電池は未使用時に１．５Ｖ程度の出力電圧を有する。電池の使用とともに電池の内部抵抗が上昇し、出力電圧が低下する。出力電圧が低下した乾電池に対して、大きな電流を流すと乾電池に不具合が生じるおそれがあるため、乾電池には終止電圧という乾電池の使用を制限するためのパラメータが設定されている。つまり、乾電池の出力電圧が終止電圧を下回ったときには、乾電池の使用を制限することが好ましい。例えば、終止電圧は０．９Ｖに設定される。
【００２１】
ズーム操作スイッチ１１３は、ユーザが操作できるように構成されており、ズーム操作スイッチ１１３が操作されたことを示す情報は、ドライブユニットマイコン１０８に送信される。ズーム操作スイッチ１１３が操作されると、ドライブユニットマイコン１０８はモータ１０７を駆動させる。
【００２２】
ＬＥＤランプ１１４は、ユーザがドライブユニット１１０の電力モードを認識するために用いられるものであり、例えば、ドライブユニット１１０が動作可能であるときにはＬＥＤランプ１１４が点灯し、動作不可能であるときには消灯するように構成される。ドライブユニット１１０が動作可能か否かはドライブユニットマイコン１０８が判断する。電池１１２の出力電圧が終止電圧以上であること、ドライブユニット１１０が交換レンズ１０１に正しく装着されていること等の条件を満足しているときに、ドライブユニットマイコン１０８はＬＥＤランプ１１４を点灯させる。なお、ＬＥＤランプに限らずその他のランプを用いてもよい。
【００２３】
不揮発性メモリ１１５には、電池１１２の出力電圧が終止電圧を下回った否かの判定結果を示す情報が記憶され、ドライブユニットマイコン１０８は不揮発性メモリ１１５に記憶された情報に基づいて電力モードの制御を行う。揮発性メモリ１１６には、上述した電源チェックを行うか否かを示す情報が記憶される。電池取付け検出部１１７は、ドライブユニット１１０に電池が取り付けられたことを検出するためのスイッチであり、検出結果をドライブユニットマイコン１０８に送付する。
【００２４】
次に、ドライブユニット１１０がとり得る電力モードと、各電力モードにおけるＬＥＤランプ１１４の点灯状態について説明する。ドライブユニット１１０は、電力モードとして、アクティブモード、スタンバイモード、電源オフモードをとり得る。アクティブモードでは、ドライブユニットマイコン１０８の種々の機能がオン状態となり、モータ１０７の駆動が行われる。
【００２５】
スタンバイモードでは、ドライブユニットマイコン１０８の最低限の機能のみをオン状態にすることで消費電力の低減を図る。電源オフモードでは、ドライブユニットマイコン１０８の全ての機能がオフ状態となる。電力モードがアクティブモードのときにはＬＥＤランプ１１４は点灯状態となる。一方、電療モードがスタンバイモードまたは電源オフモードのときにはＬＥＤランプ１１４は消灯状態となる。
【００２６】
スタンバイモードでは、レンズマイコン１０４からドライブユニットマイコン１０８に対して通信要求が行われたことに応じて、電源チェックを行い、スタンバイモードからアクティブモードへの切り替えができるように構成されている。また、ドライブユニット１１０が交換レンズ１０１に取り付けられたことによっても電源チェックが行われる。
【００２７】
電源オフモードは、ドライブユニット１１０から電池１１２が取り外されたときや、電池１１２の残量が、ドライブユニットマイコン１０８を起動させることができない程度に低下したときに設定されるモードである。
【００２８】
以下、各モード間のモード切り替えについて説明する。モード切り替えは、ドライブユニットマイコン１０８によって制御される。ドライブユニットマイコン１０８は、所定のタイミングで電源チェックを行い、チェック結果に応じて電力モードを適宜変更する。
【００２９】
電池１１２の残量が十分にある場合には、電力モードはアクティブモードに設定される。電力モードがアクティブモードのときには、所定の間隔で電源チェックが行われ、電池１１２の出力電圧が終止電圧を下回っているか否かの判定が行われる。出力電圧が終止電圧を下回ったときには、電力モードがスタンバイモードに切り替えられる。ここで、電池１１２がドライブユニット１１０から取り外されたときには、電力モードがアクティブモードから電源オフモードに切り替えられる。また、ドライブユニット１１０が交換レンズ１０１から取り外されたときにも、スタンバイモードへの切り替えが行われる。
【００３０】
続いてスタンバイモードから他のモードへのモード切り替えについて説明する。電池１１２がドライブユニット１１０から取り外されたときには、電力モードが電源オフモードに切り替えられる。一方、上述したように、レンズマイコン１０４からの通信要求を受信したときや、ドライブユニット１１０が交換レンズ１０１に取り付けられたときには電源チェックが行われる。電源チェックの結果、アクティブモードへの切り替え条件を満足していれば、アクティブモードへの切り替えが行われる。
【００３１】
次に、電力オフモードから他の電力モードへの切り替えについて説明する。電力オフモードにおいて、電池１１２の交換が行われたときには電源チェックが行われ、電源チェックの結果に応じて、アクティブモードやスタンバイモードへの切り替えが行われる。
【００３２】
次に、図２を用いて本発明の電力モードの制御フローについて説明する。図２におけるドライブユニット１１０の電力制御処理は、コンピュータとしてのドライブユニットマイコン１０８がコンピュータプログラムに従って実行するものである。
【００３３】
本発明の電力モード制御では、電力モードがスタンバイモードに設定された状態において、所定回数連続して終止電圧を下回ったことに応じて、スタンバイモードからアクティブモードへの切り替えが禁止される。本実施例では、スタンバイモードに設定された状態で３回連続して終止電圧を下回ったことに応じて、スタンバイモードからアクティブモードへの切り換えを禁止している。
【００３４】
電源チェック値は、電池１１２がモータ１０７を駆動させるために十分な電力を有しているか否かの判定を行うためのパラメータであり、電源チェックの結果、終止電圧を下回っていると判定されるたびに電源チェック値に１が加えられる。以降、図２における電力モード制御の詳細について記載する。
【００３５】
ステップＳ２０１において制御を開始し、ステップＳ２０２で、揮発性メモリのＮＧフラグの状態を確認する。ＮＧフラグがオフのときにはステップＳ２０３に進み、不揮発性メモリの書き込み情報を確認する。
【００３６】
不揮発性メモリとしては、フラッシュメモリやＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）を用いることができる。本実施形態では、不揮発性メモリとしてフラッシュメモリを用いたときの制御方法について説明する。一般に、フラッシュメモリはＥＥＰＲＯＭと比較してメモリの書き換え可能回数が少ない。それゆえ、メモリの書き換え回数の制限を超えないように、複数のフラッシュメモリを用いてメモリの記憶領域をずらしている。
【００３７】
本実施形態では、メモリの記憶領域としてＢＬＯＣＫ１とＢＬＯＣＫ２の２つの領域を用意して、まずＢＬＯＣＫ１内の領域にデータを書き込み、ＢＬＯＣＫ１の最後のアドレスまで書き込みを行う。その後、ＢＬＯＣＫ２内のデータが消去されていることを確認して、ＢＬＯＣＫ２内の領域へのデータ書き込みを開始する。ＢＬＯＣＫ２の最後のアドレスまで書き込みが行われると、今度はＢＬＯＣＫ１内のデータが消去されていることを確認して、ＢＬＯＣＫ１内の領域へのデータ書き込みを開始する。このように、メモリの記憶領域をずらしながらデータの書き込みを行うことで、メモリの書き換え回数の制限を超えないようにしている。
【００３８】
ステップＳ２０３では、ＢＬＯＣＫ１、ＢＬＯＣＫ２の全ての領域のデータ読み出しを行う。次に、ステップＳ２０４で、読み出した全てのメモリがブランクであるか否かの判定を行う。全てのメモリがブランクの場合はステップＳ２０５に進み、電源チェック値を１に設定する。
【００３９】
ステップＳ２０４で読み出したメモリの中にブランクではない領域が存在する場合には、ステップＳ２０６に進み、電源チェック値の最新の書き込み値がＢＬＯＣＫ１内に書き込まれているか否かを判定する。ＢＬＯＣＫ１内に書き込まれているときは、ステップＳ２０７に進み、ＢＬＯＣＫ２内のメモリが消去されていないときにはメモリの消去を実行し、ステップＳ２０９に進む。電源チェック値の最新の書き込み値がＢＬＯＣＫ２内に書き込まれているときは、ステップＳ２０８に進み、ＢＬＯＣＫ１内のメモリが消去されていないときにはメモリの消去を実行し、ステップＳ２０９に進む。
【００４０】
ステップＳ２０９では、電源チェック値の最新の書き込み値が４であるか否かの判定を行う。電源チェック値が４のときにはステップＳ２１１に進み、電源チェック値を４に設定する。そして、ステップＳ２１２では、電力モードをスタンバイモードに設定するとともに、スタンバイモードからアクティブモードへの切り替えを禁止する。
【００４１】
さらに、ステップＳ２１３において、揮発性メモリのＮＧフラグをオンにして、ステップＳ２０１に戻る。このとき、ＮＧフラグはオンに設定されているため、ステップＳ２０２を経てステップＳ２２５に進み、スタンバイモードが維持され、図３のステップＳ３０１に進む。図３で示した制御フローは、スタンバイモードからアクティブモードへの切り替え禁止状態を解除するときの制御内容を表している。図３の制御フローの詳細については後述する。
【００４２】
ステップＳ２０９において、電源チェック値の最新の書き込み値が４でない場合にはステップＳ２１０に進み、最新の書き込み値がＡＡｈであるか否かの判定を行う。「ＡＡｈ」は、電池１１２の出力電圧が終止電圧以上である状態を示し、電力モードをアクティブモードに設定可能な状態であることを示す。最新の書き込み値がＡＡｈのときはステップＳ２１５に進み、電源チェック値を１に設定する。一方、最新の書き込み値がＡＡｈでないときはステップＳ２１６に進み、現在の電源チェック値に１を加える。
【００４３】
ステップＳ２１７では、ステップＳ２０５、ステップＳ２１５、ステップＳ２１６のいずれかのステップで設定された電源チェック値の書き込みを行う。そして、ステップＳ２１８において電源チェックを行う。
【００４４】
次に、ステップＳ２１９において、電源チェックの結果に基づいて電池の出力電圧が終止電圧以上か否かの判定を行う。終止電圧を下回っている場合にはステップＳ２２０に進み、電力モードをスタンバイモードに設定する。ステップＳ２２１では、交換レンズから通信要求が送信されたこと等の電源チェック条件が成立したか否かの判定を行う。電源チェック条件が成立しない場合は、ステップＳ２２１の判定を繰り返し行う。電源チェック条件が成立した場合にはステップＳ２０１に戻り、電力制御処理を続行する。
【００４５】
ステップＳ２１９において、電池の出力電圧が終止電圧以上であると判定された場合にはステップＳ２２３に進み、電源チェック値としてＡＡｈを書き込む。そして、ステップＳ２２４において、現在の電力モードがアクティブモードであればアクティブモードを維持し、現在の電力モードがスタンバイモードであればアクティブモードへの切り替えを行う。続いてステップＳ２２５において、アクティブモードからスタンバイモードへの切り替え条件が成立した否かの判定を行う。例えば、ドライブユニット１１０が交換レンズ１０１から取り外されたことを切り替え条件とすることができる。切り替え条件が成立した場合は、ステップＳ２２０に移行し、電力モードをスタンバイモードに移行する。切り替え条件が成立しない場合は、ステップＳ２２５の判定を繰り返し行い、アクティブモードを維持する。
【００４６】
次に、図３を用いて、スタンバイモードからアクティブモードへの切り替え禁止状態を解除するときの制御フローについて説明する。ステップＳ３０１では、電力モードがスタンバイモードに設定され、アクティブモードへの切り替えが禁止されている。ステップＳ３０２では、電池の交換が行われた否かの判定を行う。電池の交換が行われた場合にはステップＳ３０３に進み、電池の交換が行われていない場合にはステップＳ３０２の判定を繰り返し行う。なお、電池の交換が行われると揮発性メモリがクリアされ、ＮＧフラグがオフになる。
【００４７】
ステップＳ３０３では、取り付けられた電池の出力電圧が終止電圧以上か否かの判定を行う。このとき、上述した電源チェックが行われる。出力電圧が終止電圧以上の場合はステップＳ３０４に進み、出力電圧が終止電圧以上でない場合はステップＳ３０３の判定を繰り返し行う。ステップＳ３０４では、不揮発性メモリ１１６に書き込まれた情報をクリアし、図２のステップＳ２０１に戻る。ここで、電池の交換により揮発性メモリがクリアされてＮＧフラグがオフになっているため、図２のステップＳ２０２からステップＳ２０３に移行し、電力モードを適切に制御することができる。
【００４８】
以上説明したように、本発明では、電源チェックを複数回行い、電池１１２の出力電圧が継続して終止電圧を下回ったことに応じて、電力モードをスタンバイモードに設定するとともに、スタンバイモードからアクティブモードへの切り替えを禁止している。これにより、一時的な電圧降下により出力電圧が終止電圧を下回ったときには、スタンバイモードからアクティブモードへの切り替えが禁止されないようにすることができる。つまり、電池１１２の残量が十分であるにも関わらず、電子機器を動作させられないという事態を回避することができる。
【００４９】
また、電源チェックの回数に制限を設けることにより、電池１１２に過度な負担がかかり続けないようにすることができる。
【００５０】
以上説明した各実施例は代表的な例に過ぎず、本発明の実施に際しては、各実施例に対して種々の変形や変更が可能である。
【００５１】
例えば、本実施例では、電源チェック値の最終書き込み値が４であることを条件にスタンバイモードからアクティブモードへの切り替えを禁止しているが、最終書き込み値としての設定値を３や５等の任意の数字に設定することができる。つまり、電源チェックの結果、出力電圧が所定回数続けて終止電圧を下回ったときに、スタンバイモードからアクティブモードへの切り替えを禁止するように設定することができる。
【符号の説明】
【００５２】
１０８  ドライブユニットマイコン
１１０  電子機器（ドライブユニット）
１１２  電池
１１５  不揮発性メモリ
【図１】
0006716279.tif 000002
【図２】
0006716279.tif 000003
【図３】
0006716279.tif 000004