JP4571171B2 - 受像機 - Google Patents
受像機 Download PDFInfo
- Publication number
- JP4571171B2 JP4571171B2 JP2007204371A JP2007204371A JP4571171B2 JP 4571171 B2 JP4571171 B2 JP 4571171B2 JP 2007204371 A JP2007204371 A JP 2007204371A JP 2007204371 A JP2007204371 A JP 2007204371A JP 4571171 B2 JP4571171 B2 JP 4571171B2
- Authority
- JP
- Japan
- Prior art keywords
- script
- driver
- data
- processing unit
- processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Description
また、デバイスドライバとはコンピュータに接続された周辺機器を制御するプログラムである。近年、周辺機器を制御するために家庭用電気機器、すなわち家電にもOS及びデバイスドライバが組み込まれつつある。
なお、一般的には、デバイスドライバというと、OSに読み込まれて周辺機器を制御するプログラムであって、そのOS用の記述仕様に沿って作成されたプログラムを指すことが多いが、本明細書、特許請求の範囲及び図面中においては、このようなデバイスドライバだけでなく、周辺機器を制御するプログラムであれば特にOS用の記述仕様に従っていなくてもデバイスドライバと称する。
通常、デバイスドライバは特許文献1に記載されているように、カーネル空間に置かれ、OSと一体になって実行される。この場合は、OSのスケジューラによりアプリケーションプログラムの処理よりも優先的にデバイスドライバの処理が割当てられるため、応答速度の速い処理が可能となる。さらにカーネル空間からはハードウェアを直接制御できるため、処理全体も高速化できるという利点もある。
また、特許文献2に記載されているように、アプリケーションプログラム側でデバイスドライバの処理を行う場合もあり、この場合は、移植性が高く、デバッグも比較的容易であるという利点がある。
一方、特許文献2に記載されているような、アプリケーションプログラム側でドライバ処理を行う場合は、直接にハードウェアを制御することができず、OSによる処理の優先度が低くなることにより、ハードウェアからの割込み応答処理速度が遅くなり、シビアなタイミングが要求される処理に対応できないなどの問題がある。
図1は、周辺機器が接続されたコンピュータのソフトウェアの全体構成図である。このコンピュータにはn個の周辺機器が接続され、1番目、2番目、n番目の周辺機器をそれぞれデバイス41、42、43と表わす。
以下の説明において、コンピュータに読み込まれたプログラムであるドライバ処理部100、ドライバ処理部100に含まれる実行部、処理部等、あるいはアプリケーションプログラム200が何らかの処理を行うという記載は、それらのプログラムがコンピュータのCPUによって実行されることにより当該処理をコンピュータに実行させることを意味する。
図1では1番目、2番目、n番目のデバイス処理部をデバイス1処理部10、デバイス2処理部20、デバイスn処理部30と表わす。これらはドライバ処理部100を構成する。
通常、スクリプトはインタプリタ型の言語であり、スクリプトの内容を逐次解釈しながら処理が実行される。本発明のスクリプトもこのような逐次解釈の形で実行するように実現可能であり、その場合は、スクリプトを逐次解釈するためのインタプリタをドライバ処理部100が持っている形になる。「ドライバ処理部=スクリプトのインタプリタ」と言える場合もある。
また、本発明では、スクリプトは逐次解釈される形のみを想定しているわけではなく、C言語など、従来のコンパイル型言語と同様に、最初の時点で実行形式(プログラムコード)にコンパイル(翻訳)され、その後はCPUによって直接実行できるように実現することも可能である。これは、ドライバ処理部100あるいはアプリケーションプログラム200が、スクリプトを実行形式に翻訳するコンパイラを備え、スクリプトがドライバ処理部100に読み込まれる際に、スクリプトを実行形式に翻訳したものを読み込ませることによって実現できる。
上記のC言語ライクなスクリプトに記述された処理と同様な処理をより簡単な文法で記述した例を以下に示す。引数が一部省略でき、関数及び引数の型宣言が不要になる等、簡潔に記述できる文法となっている。
図3はアプリケーションがバス制御ドライバを介してハードウェアに対してデータの書込み処理を行う場合の概念図である。アプリケーションはハードウェア初期化などのドライバ初期化処理を行う(S101)。次に、書込むデータを用意された書き込み用のバッファに入力して、データ書込み処理を呼び出す(S102)。
データ書込み処理では、まず初期設定として、バススピード設定や、割り込みが開始されるように設定を行う(S103)。次に、バッファのデータの内で所定の送信単位(例では1byte)のデータ値をハードウェアのレジスタに書込み、データ送信をする(S104)。1byteのデータ送信が完了すると、ハードウェアが割込み処理を呼出す(S105)。割込み処理は次の1byteデータの入力をするために、データ書込み処理を呼出す(S106)。S104〜S106を繰り返し、全てのデータが書込まれると、アプリケーションにデータ書き込み終了を通知する(S107)。
データ読込み処理では、まず初期設定として、バススピード設定や、割り込みが開始されるように設定を行う(S203)。次に、バッファのデータの内で所定の取得単位(例では1byte)のデータ値をハードウェアのレジスタから読込んで、データを取得する(S204)。次の1byteのデータ取得が完了すると、ハードウェアが割込み処理を呼出す(S205)。割込み処理は次の1byteデータを取得するために、データ読込み処理を呼出す(S206)。S204〜S206を繰り返し、全てのデータが読込まれると、アプリケーションに読み込み終了を通知する(S207)。
図6は従来の主な2つのソフトウェアスタック構成を示している。図6(a)はカーネル空間上でデバイスを制御する場合の構成である。カーネル空間のデバイスドライバ上に、デバイスを制御するドライバ処理シーケンスが実装されている。デバイスドライバはカーネル(以下、単に「カーネル」とはデバイスドライバを含まないOSを意味する)の管理下にあるため、ハードウェアなどからのドライバに対する割込み応答速度は速く、システム全体として最適にドライバ処理が行われる。
図7は放送受像機を例とする本発明の一実施形態であり、周辺機器が接続された放送受像機に内蔵されたコンピュータのソフトウェアスタック構成を示す。なお、図7では図5におけるカーネルの記載は省略されている。コンピュータの記憶領域は論理的な空間としてユーザ空間とカーネル空間に分けられ、これらの空間におけるソフトウェアスタック構成は、ユーザ空間2にはアプリケーションプログラム200、カーネル空間1にはデバイスドライバとして動作するドライバ処理部100が読み込まれている。ドライバ処理部100は、ハードウェアなどを制御する各種ドライバ処理シーケンスを記述したスクリプトを実行するスクリプト実行部101、スクリプトを保存するスクリプト保存部102、符号化された音声データを復号化するための音声復号化処理部103、符号化された映像データを復号化するための映像復号化処理部104、音声や映像などのデータを受信処理するためのデータ受信処理部105、タイマを用いて同期信号を生成するための同期信号生成部106、ユーザがリモコンなどを用いて設定した選局情報を受信するための選局情報受信部107、特定のバスに接続されたデバイスを制御するためのバス制御ドライバ108を含む。なお、バスとはコンピュータ内部でデータをやり取りするための伝送路のことであるが、周辺機器によっては特定のバスに接続することを前提に入出力インタフェースが定義されているものがあり、図7においては、音声複合化デバイス56、映像複合化デバイス57及びチューナ54が、この特定のバスに接続されることを前提として設計されているものと仮定している。
ドライバ処理部100は送信されたドライバ処理スクリプト202を受信し、スクリプト保存部102に保存する(ステップS12)。ここで、受信したドライバ処理スクリプト202を一括して実行形式に変換し、実行形式でスクリプト保存部102に保存してもよい。実行形式で保存される場合は、呼び出されたときに所定の処理を実行する機能モジュールと考えることができる。そして、ドライバ処理部100はアプリケーションプログラム200又はカーネルからの呼び出しに応じて各スクリプトを実行する(ステップS13)。なお、スクリプトの送信及び受信とは、それぞれ、上述したスクリプトの指定及び読み込みに対応する。
チューナ54が放送波を受信すると、チューナ54はデータ受信処理部105に割込み信号を出力する(ステップS31)。データ受信処理部105は割込み信号に応答し、チューナ54からデータを取得する(ステップS32)。データ受信処理部105は取得したデータを音声復号化処理部103及び映像復号化処理部104へ出力する。音声復号化処理部103、映像復号化処理部104は、ドライバ処理スクリプト202に記述された処理シーケンスによるアルゴリズムと音声復号化デバイス56、映像復号化デバイス57を用いてそれぞれ音声信号、映像信号を復号化する(ステップS33)。なお、上述したように、映像復号化処理部104の処理は、タイマ53から入力されるタイミング信号を用いて同期信号生成部106によって生成された同期信号に応じて行われる。復号化された音声信号、映像信号はそれぞれスピーカ51、モニタ52へ送信される(ステップS34)。そして、ステップS31に戻り、処理を繰り返す。
一例としてカーネルがドライバ処理部100に対して関数呼び出しを行うことにより、ドライバ初期化処理(ステップS41)、データ格納領域設定及びバススピード設定(ステップS42)が行われる。これらの初期化処理または設定処理は、スクリプト実行部101からの指示に従って上記のバス制御ドライバにおいて行われる。
そして、一例として周辺機器からデータの読み出し又は書き込み処理のための割込み信号が検出されると割込み処理が開始される(ステップS43)。このとき1バイト単位で割込みが発生してバスへのデータの読み出し又は書き込みの処理が行われ(ステップS44)、例えば、周辺機器から送信された所定のバイト数のデータの読み出し又は周辺機器への所定のバイト数のデータの書き込みが行われた後、割込み処理が終了する(ステップS45)。一例として放送受像機の電源がオフされる前にバス制御ドライバの終了処理が行われる(ステップS46)。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。
さらに、前述した機能をコンピュータにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
Claims (2)
- ユーザ空間とカーネル空間とを含むソフトウェアスタック構成を有するコンピュータを備える受像機であって、
前記ユーザ空間は、音声復号化デバイスと映像復号化デバイスとを前記コンピュータが制御するドライバ処理シーケンスが記述されたスクリプトを有し、
前記カーネル空間は、
前記コンピュータを、
前記ユーザ空間から読み込まれるスクリプトを保存するスクリプト保存部と、
前記スクリプト保存部に保存されたスクリプトを解釈するスクリプト実行部と、
外部装置から供給されるデータを受信するデータ受信処理部と、
前記データ受信処理部によって受信されたデータを、前記スクリプト実行部により解釈されたスクリプトのドライバ処理シーケンスに基づいて前記音声復号化デバイスで復号し、その復号された音声信号を出力させる音声復号化処理部と、
前記データを、前記スクリプトのドライバ処理シーケンスに基づいて前記映像復号化デバイスで復号し、その復号された映像信号を出力させる映像復号化処理部と、
として機能させるためのプログラムを有する
ことを特徴とする受像機。 - ユーザ空間とカーネル空間とを含むソフトウェアスタック構成を有するコンピュータを備える受像機であって、
前記ユーザ空間は、音声復号化デバイスと映像復号化デバイスとを前記コンピュータが制御するドライバ処理シーケンスが記述されたスクリプトを有し、
前記カーネル空間は、
前記コンピュータを、
前記ユーザ空間から読み込まれるスクリプトを実行可能な形式に変換して保存するスクリプト保存部と、
前記スクリプト保存部に保存された実行形式のスクリプトを呼び出すスクリプト実行部と、
外部装置から供給されるデータを受信するデータ受信処理部と、
前記データ受信処理部によって受信されたデータを、前記スクリプト実行部により呼び出された実行形式のスクリプトのドライバ処理シーケンスに基づいて前記音声復号化デバイスで復号し、その復号された音声信号を出力させる音声復号化処理部と、
前記データを、前記実行形式のスクリプトのドライバ処理シーケンスに基づいて前記映像復号化デバイスで復号し、その復号された映像信号を出力させる映像復号化処理部と、
として機能させるためのプログラムを有する
ことを特徴とする受像機。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007204371A JP4571171B2 (ja) | 2007-08-06 | 2007-08-06 | 受像機 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007204371A JP4571171B2 (ja) | 2007-08-06 | 2007-08-06 | 受像機 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006089866A Division JP4727478B2 (ja) | 2006-03-29 | 2006-03-29 | デバイス制御装置及びデバイス制御プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007328811A JP2007328811A (ja) | 2007-12-20 |
JP4571171B2 true JP4571171B2 (ja) | 2010-10-27 |
Family
ID=38929176
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007204371A Expired - Fee Related JP4571171B2 (ja) | 2007-08-06 | 2007-08-06 | 受像機 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4571171B2 (ja) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08506943A (ja) * | 1993-02-04 | 1996-07-23 | パシフィック・コミュニケーション・サイエンシーズ・インコーポレイテッド | デジタルコードレス電話で使用するための周波数発生方法および装置 |
JP2002530728A (ja) * | 1998-11-16 | 2002-09-17 | クロジック コーポレーション | ネットワークのためのシステムおよび方法並びにi/oデバイス・ドライバー |
JP2003044301A (ja) * | 2001-07-26 | 2003-02-14 | Mitsubishi Electric Corp | ソフトウェアにより無線通信機能を実現する無線通信機 |
JP2004023753A (ja) * | 2002-06-20 | 2004-01-22 | Denso Corp | ソフトウェア無線機 |
JP2004086280A (ja) * | 2002-08-23 | 2004-03-18 | Mitsubishi Electric Corp | 情報処理装置、外部デバイスおよびドライバインストールプログラム |
JP2004272499A (ja) * | 2003-03-07 | 2004-09-30 | Sony Corp | デバイス管理方法およびデバイス管理システム |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0962606A (ja) * | 1995-08-25 | 1997-03-07 | Fujitsu Ltd | データ処理装置 |
-
2007
- 2007-08-06 JP JP2007204371A patent/JP4571171B2/ja not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08506943A (ja) * | 1993-02-04 | 1996-07-23 | パシフィック・コミュニケーション・サイエンシーズ・インコーポレイテッド | デジタルコードレス電話で使用するための周波数発生方法および装置 |
JP2002530728A (ja) * | 1998-11-16 | 2002-09-17 | クロジック コーポレーション | ネットワークのためのシステムおよび方法並びにi/oデバイス・ドライバー |
JP2003044301A (ja) * | 2001-07-26 | 2003-02-14 | Mitsubishi Electric Corp | ソフトウェアにより無線通信機能を実現する無線通信機 |
JP2004023753A (ja) * | 2002-06-20 | 2004-01-22 | Denso Corp | ソフトウェア無線機 |
JP2004086280A (ja) * | 2002-08-23 | 2004-03-18 | Mitsubishi Electric Corp | 情報処理装置、外部デバイスおよびドライバインストールプログラム |
JP2004272499A (ja) * | 2003-03-07 | 2004-09-30 | Sony Corp | デバイス管理方法およびデバイス管理システム |
Also Published As
Publication number | Publication date |
---|---|
JP2007328811A (ja) | 2007-12-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7406683B2 (en) | System and method providing for interaction between programming languages | |
EP2568408A1 (en) | Information processing device, information processing method, and program distribution system | |
US20170288878A1 (en) | Image processing apparatus and control method thereof | |
CN112579038B (zh) | 一种内置录音方法、装置、电子设备和存储介质 | |
CN105468410B (zh) | 系统升级方法及装置 | |
JPH08272717A (ja) | モデムインタフェース | |
JP4727478B2 (ja) | デバイス制御装置及びデバイス制御プログラム | |
JP6195465B2 (ja) | 同期サーバ側スクリプティングを用いた遠隔カードコンテンツ管理 | |
WO2012034323A1 (zh) | 使用数据卡与无线网络通信的方法、系统及数据卡 | |
US20100291913A1 (en) | Remote control method between mobile phones | |
JP2019096279A (ja) | 電子機器およびその制御方法 | |
CN112035273A (zh) | 一种硬件数据获取方法、系统和计算机设备 | |
JPWO2004034698A1 (ja) | 情報処理装置 | |
EP3872630B1 (en) | Request processing method and apparatus, electronic device, and computer storage medium | |
JP4571171B2 (ja) | 受像機 | |
CN106371942B (zh) | 存储器错误处理方法和相关装置和系统 | |
CN107734370B (zh) | 信息交互方法、信息交互装置、 电子设备和计算机可读存储介质 | |
JP5061541B2 (ja) | 情報処理システムと情報処理方法およびそのプログラム | |
CN110113396A (zh) | 一种控制终端的方法和装置 | |
CN108268280B (zh) | 半导体装置的处理器及其操作方法 | |
JP2010092240A (ja) | 情報処理装置およびデバイス認識方法 | |
JP7315750B2 (ja) | サーバシステム、クライアント装置及びプログラム | |
JP7163453B2 (ja) | コンピュータシステムおよびプログラム | |
JP5780416B2 (ja) | ミドルウェア | |
KR101305628B1 (ko) | 이동통신단말기의 어플리케이션 멀티태스킹 구동을 통한서비스확장방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100316 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100513 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20100803 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100811 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130820 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |