JP2005038198A - Information processor - Google Patents

Information processor Download PDF

Info

Publication number
JP2005038198A
JP2005038198A JP2003274779A JP2003274779A JP2005038198A JP 2005038198 A JP2005038198 A JP 2005038198A JP 2003274779 A JP2003274779 A JP 2003274779A JP 2003274779 A JP2003274779 A JP 2003274779A JP 2005038198 A JP2005038198 A JP 2005038198A
Authority
JP
Japan
Prior art keywords
information
component
resource request
request information
components
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.)
Granted
Application number
JP2003274779A
Other languages
Japanese (ja)
Other versions
JP4251278B2 (en
Inventor
Masato Shimakawa
真人 島川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2003274779A priority Critical patent/JP4251278B2/en
Publication of JP2005038198A publication Critical patent/JP2005038198A/en
Application granted granted Critical
Publication of JP4251278B2 publication Critical patent/JP4251278B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Stored Programmes (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To properly manage operation settings and the like of a system as a whole for improving performance and reducing power consumption in an information processing device constructed of a plurality of components combined mutually for providing an information processing function. <P>SOLUTION: This information processor is provided with a plurality of components 14, 14, etc. having basic processing function, and when an instruction for designated information processing is received from an application 9, a processing function including reproduction and storage of the information is realized by combining a plurality of components. Each component has a function for providing resource request information necessary for itself, and on the basis of the information, a system management means 11 totally determines resources necessary for processing the designated information (a use device, a clock frequency of a CPU and the like, a memory usage amount, and the like) for setting and changing the system as a whole. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

本発明は、基本機能をもった複数のコンポーネントを組み合わせて情報の再生や記録等の高機能な処理を実現するとともに、情報処理に必要なリソース(資源)の利用状況を適切に管理するための技術に関する。   The present invention realizes high-performance processing such as information reproduction and recording by combining a plurality of components having basic functions, and appropriately manages the usage status of resources necessary for information processing. Regarding technology.

情報処理システムにおいて利用可能なリソースには、例えば、CPU(中央処理装置)等の演算処理用デバイスに係る動作周波数や、記憶デバイスの記憶域(記憶容量)、供給電圧等が挙げられ、システムの稼動状況に応じた管理が必要とされる。   Resources that can be used in the information processing system include, for example, an operating frequency related to an arithmetic processing device such as a CPU (central processing unit), a storage area (storage capacity) of a storage device, a supply voltage, and the like. Management according to the operating status is required.

一般に電子回路システムにおける消費電力は電源電圧やクロック周波数に左右され、例えば、システムの稼動状態や負荷状況が一定ではない場合において、無駄な消費電力が行われないようにするための方策としては、システムが待機状態になったことを検出してクロック周波数を低減させる方法(例えば、特許文献1参照)等が知られている。   In general, the power consumption in an electronic circuit system depends on the power supply voltage and the clock frequency.For example, when the system operating state and the load state are not constant, as a measure for preventing unnecessary power consumption, A method of detecting that the system is in a standby state and reducing the clock frequency (for example, see Patent Document 1) is known.

特開平11−219237号公報JP-A-11-219237

ところで、従来の装置では、指定された情報の処理に必要なリソースについて利用状況を管理してシステム全体の動作設定や制御状態等を動的に変更するといった機能をもたないため、情報処理に必要な性能を充分に発揮させることができなかったり、あるいは消費電力の削減量が充分でない等の問題がある。   By the way, conventional devices do not have the function of dynamically changing the operation settings and control status of the entire system by managing the usage status of resources required for processing specified information. There is a problem that necessary performance cannot be sufficiently exhibited, or the amount of power consumption reduction is not sufficient.

例えば、指定された情報の処理に必要なモジュールが事前に明らかである場合には、その稼動状況の予測や把握が容易であるが、指定された情報の処理を行う場合において、複数のコンポーネント(あるいはモジュール)を組み合わせることで該情報の処理機能を実現するような構成形態では、リソースの管理や推定等が困難である(例えば、システム全体の稼動状態を観測しながら各コンポーネントにおいて必要とされる動作周波数やメモリ使用量の割り当て等を変更することが困難であるか、非常に複雑な制御構造等が必要である。)。   For example, when a module necessary for processing specified information is known in advance, it is easy to predict and grasp the operating status. However, when processing specified information, a plurality of components ( In a configuration in which the information processing function is realized by combining the modules, it is difficult to manage and estimate resources (for example, each component is required while observing the operating state of the entire system). It is difficult to change the operating frequency and memory usage allocation, or a very complicated control structure is required.)

そこで、本発明は、基本機能をもった複数のコンポーネントを組み合わせて情報の処理機能を提供することができるように構成された情報処理装置において、システム全体の動作設定等を適切に管理することにより、性能の向上や省電力化等を実現することを課題とする。   Therefore, the present invention provides an information processing apparatus configured to be able to provide an information processing function by combining a plurality of components having basic functions by appropriately managing operation settings and the like of the entire system. An object is to realize performance improvement and power saving.

本発明は、上記した課題を解決するために、下記に示す構成を備えたものである。   In order to solve the above-described problems, the present invention has the following configuration.

・基本的な処理機能をもった複数のコンポーネントを備え、指定された情報の処理についてアプリケーションから指示を受けた場合に、複数のコンポーネントを組み合わせることで該情報の再生又は記録を含む処理機能を実現すること。   ・ Equipped with multiple components with basic processing functions, and when receiving instructions from the application regarding the processing of specified information, realizes processing functions including playback or recording of the information by combining multiple components To do.

・情報処理に利用可能なリソースの利用状況を管理するシステム管理手段を有すること。   -System management means for managing the usage status of resources available for information processing.

・各コンポーネントは自らが必要とするリソース要求情報を提供する機能を有し、該情報に基いてシステム管理手段が、指定された情報の処理に必要とされるリソースについて設定若しくは変更を行い又は現状を維持すること。   Each component has a function to provide resource request information required by itself, and based on the information, the system management means sets or changes a resource required for processing specified information, or the current state To maintain.

従って、本発明によれば、各コンポーネントからのリソース要求情報をシステム管理手段が総合的に判断してシステム全体に係る動作設定等について規定することができ、処理対象とされる情報の種類や仕事の性質等に応じて柔軟なリソース管理を実現することができる。   Therefore, according to the present invention, the resource management information from each component can be comprehensively determined by the system management means to define operation settings and the like related to the entire system. Flexible resource management can be realized according to the nature of the resource.

本発明によれば、コンポーネントのリソース要求情報に基いてシステム全体の動作設定等を適切に管理することで、処理性能の向上や省電力化等を実現することが可能である。そして、アプリケーションからの要求に従ってコンポーネントを含む全体の制御を行う制御手段と、利用可能なコンポーネントを管理して制御手段から上記リソース要求情報の問い合わせに対して該情報を提供するコンポーネント管理手段を設けることによって、コンポーネントに応じたリソース要求情報の提供について詳細な管理が可能である。   According to the present invention, it is possible to improve processing performance, save power, and the like by appropriately managing operation settings and the like of the entire system based on component resource request information. And a control unit that performs overall control including components in accordance with a request from an application, and a component management unit that manages available components and provides the information to the resource request information inquiry from the control unit. Thus, it is possible to manage in detail the provision of the resource request information according to the component.

また、演算処理用デバイスの動作周波数や記憶デバイスのメモリ使用量をリソース要求情報に含めることで、より正確な要求内容の通知を行える。   Further, by including the operating frequency of the arithmetic processing device and the memory usage of the storage device in the resource request information, more accurate notification of the request content can be performed.

各コンポーネント同士が結合されて処理が開始された場合に提供される動的情報及び各コンポーネント同士が結合される前の段階で提供可能な静的情報を導入して、リソース要求情報の利用目的に応じて動的情報と静的情報を使い分けることができる。   Introducing dynamic information provided when components are combined and processing is started, and static information that can be provided at the stage before components are combined, for the purpose of using resource request information Depending on the situation, dynamic information and static information can be used properly.

そして、各コンポーネントがその動作中に動的情報を決定することで、実際の処理状況に応じて変化する情報をシステム設定に反映させることができる。   Each component determines dynamic information during its operation, so that information that changes according to the actual processing status can be reflected in the system settings.

複数のコンポーネントの接続関係について管理するための演出処理手段を設け、各コンポーネントの依存関係について管理することで、動作状態等に応じたコンポーネントの制御を詳細に行うことができる。   Providing effect processing means for managing the connection relation of a plurality of components and managing the dependency relation of each component makes it possible to perform detailed control of the component according to the operating state and the like.

個々のリソース要求情報を総合した情報に基いて要求内容が許容されるか否かを判断して、システムの設定状態を規定することができ、また、コンポーネントの動作中において動的情報が変更された場合に、該情報をシステムの設定状態に反映させることが可能である。   It is possible to determine whether or not the request content is allowed based on the total information of individual resource request information, and to define the system setting status. Also, dynamic information is changed during component operation. In this case, the information can be reflected in the system setting state.

図1は本発明を適用してMPEG(Moving Picture Experts Group)4ファイル等のデータ再生を行う場合の構成例を示したものである。   FIG. 1 shows an example of the configuration in the case of reproducing data such as MPEG (Moving Picture Experts Group) 4 files by applying the present invention.

本発明では、処理目的(本例では動画及び音声の再生)の達成に必要な機能を複数の機能に分離し、それらを個々のコンポーネントとして実装する。つまり、基本的な処理機能をもった複数のコンポーネントを備えており、指定された情報の処理についてアプリケーション(プログラム)から指示を受けた場合に、処理に必要な複数のコンポーネントを組み合わせることで情報の再生や記録等の処理機能を実現するものである。   In the present invention, functions necessary for achieving the processing purpose (reproduction of moving images and sounds in this example) are separated into a plurality of functions, and these are implemented as individual components. In other words, it has multiple components with basic processing functions, and when receiving instructions from the application (program) for processing of specified information, combining multiple components necessary for processing It realizes processing functions such as playback and recording.

図1の例は、動画及び音声情報の再生を行う場合の構成例1を示しており(MPEG4プレイヤ)、以下のコンポーネントが用いられている(括弧内の数字は符号を示す。)
・パーサ(2)=データソースからデータを受けとり、音声データや画像データを弁別して後段の各デコーダに出力する
・MPEG4ビデオデコーダ(3)=画像データを復号化して後段の色空間コンバータに出力する
・AACデコーダ(4)=音声データを復号化して後段のオーディオレンダラに出力する
・色空間コンバータ(5)=色空間に係る変換処理を行い、後段のビデオレンダラに出力する
・ビデオレンダラ(6)=描画処理を行う
・オーディオレンダラ(7)=音声出力処理を行う。
The example of FIG. 1 shows a configuration example 1 in the case of reproducing moving image and audio information (MPEG4 player), and the following components are used (numbers in parentheses indicate codes).
-Parser (2) = Receives data from the data source, discriminates audio data and image data and outputs them to each subsequent decoder-MPEG4 video decoder (3) = Decodes image data and outputs to the subsequent color space converter AAC decoder (4) = decodes audio data and outputs it to the subsequent audio renderer. Color space converter (5) = converts the color space and outputs it to the subsequent video renderer. Video renderer (6) = Perform drawing processing. Audio renderer (7) = Perform audio output processing.

尚、各コンポーネントについては、例えば、ソフトウェアで構成される場合と、専用のハードウェアで構成される場合が挙げられるが、基本的には下記の3種類に分類される。   Each component includes, for example, a case where it is configured by software and a case where it is configured by dedicated hardware, but is basically classified into the following three types.

(I)ソースコンポーネント=他のコンポーネントへの送付機能のみをもつコンポーネントであり、例えば、ディスクからデータを読み出すディスクソースコンポーネントや、ネットワークを通じてデータを受信するネットワークソースコンポーネント等が挙げられる。   (I) Source component = component having only a sending function to other components, for example, a disk source component that reads data from a disk, a network source component that receives data through a network, and the like.

(II)シンクコンポーネント=他のコンポーネントからデータを受け取る機能のみをもつコンポーネントであり、例えば、受け取った映像データを画像として表示させるビデオレンダラコンポーネントや、受け取った音声データを音声出力するオーディオレンダラコンポーネント、受け取ったデータをディスク等の記録媒体に書き出して保存するダンプコンポーネント等が挙げられる。   (II) Sync component = component having only a function of receiving data from other components, for example, a video renderer component that displays received video data as an image, an audio renderer component that outputs received audio data as audio, and reception For example, a dump component that writes and saves the stored data on a recording medium such as a disk.

(III)それ以外のコンポーネント=他のコンポーネントからデータを受け取り、該データを加工した後で、別のコンポーネントに送付するコンポーネント。   (III) Other components = components that receive data from other components, process the data, and send the data to another component.

パーサ(Parser)2は、データソース(ディスクソース等を含む。)からのMPEG4ファイルを先ず読み、予め決められたフォーマットに従ってデータを読み出して、オーディオ及びビデオのそれぞれのフレーム(Frame)データに仕分けして後段のコンポーネント(3、4)に送付する。尚、その際、各データには最終的に当該フレームのもつ情報が再生されるべき時間データ(時刻)が付与される。また、MPEG4ファイルについては、ディスクソースやネットワークソース等からコンテンツデータを取得する。   The parser 2 first reads an MPEG4 file from a data source (including a disk source), reads the data according to a predetermined format, and sorts the data into audio and video frame data. To the subsequent component (3, 4). At that time, time data (time) at which information of the frame is to be reproduced is finally given to each data. For MPEG4 files, content data is acquired from a disk source, a network source, or the like.

動画情報の再生系統については、MPEG4ビデオデコーダ3、色空間コンバータ5、ビデオレンダラ(VideoRenderer)6の各コンポーネントを組み合わせて処理が行われる。尚、これらのうち、表色系の変換処理を行う色空間コンバータ5がハードウェアを用いて構成され、それ以外のコンポーネントについてはソフトウェアにより構成される(色空間コンバータ5についてソフトウェア処理で実現することも可能である。)。   The reproduction system of moving image information is processed by combining each component of the MPEG4 video decoder 3, the color space converter 5, and the video renderer (VideoRenderer) 6. Of these, the color space converter 5 that performs color system conversion processing is configured using hardware, and the other components are configured by software (the color space converter 5 is realized by software processing). Is also possible.)

MPEG4ビデオデコーダ3は、パーサ2と色空間コンバータ5との間に位置され、MPEG4形式でエンコードされたデータをパーサ2から受け取ってデコード処理を行い、出力データ(YUV420のフレームデータ)を色空間コンバータ5に送付する。   The MPEG4 video decoder 3 is located between the parser 2 and the color space converter 5, receives data encoded in the MPEG4 format from the parser 2, performs decoding processing, and outputs output data (YUV420 frame data) to the color space converter. Send to 5.

色空間コンバータ5は、MPEG4ビデオデコーダ3とビデオレンダラ6との間に位置され、MPEG4ビデオデコーダ3からのYUV420のフレームデータをRGB565のフレームデータに変換した上でビデオレンダラ6に送付する。   The color space converter 5 is located between the MPEG4 video decoder 3 and the video renderer 6, converts the YUV420 frame data from the MPEG4 video decoder 3 into RGB565 frame data, and sends it to the video renderer 6.

ビデオレンダラ6は色空間コンバータ5からのRGB565のフレームデータを受けとって、これに付与された再生時刻情報に合わせてフレームバッファに対してデータを書き込む(描画処理)。尚、その際、基準とする時間は、オーディオレンダラ7が提供する時間情報を基本とする(オーディオレンダラ7のクロック(時計)をマスタークロックとして時刻情報を提供してもらえるように事前に依頼している。)。   The video renderer 6 receives the RGB565 frame data from the color space converter 5 and writes the data to the frame buffer in accordance with the reproduction time information given thereto (rendering process). In this case, the reference time is based on time information provided by the audio renderer 7 (a request is made in advance so that time information can be provided using the clock (clock) of the audio renderer 7 as a master clock). Yes.)

音声情報の再生系統については、AAC(Advanced Audio Coding)デコーダ4とオーディオレンダラ(AudioRenderer)7の各コンポーネントを組み合わせて処理が行われ、これらはいずれもソフトウェアとして構成される。   The audio information reproduction system is processed by combining components of an AAC (Advanced Audio Coding) decoder 4 and an audio renderer (Audio Renderer) 7, which are all configured as software.

AACデコーダ4は、パーサ2とオーディオレンダラ7との間に位置され、AACエンコードされたデータをパーサ2から受けとってデコード処理を行い、PCM(Pulse Code Modulation)音声データを後段のオーディオレンダラ7に送付する。   The AAC decoder 4 is located between the parser 2 and the audio renderer 7, receives AAC encoded data from the parser 2, performs decoding processing, and sends PCM (Pulse Code Modulation) audio data to the audio renderer 7 at the subsequent stage. To do.

オーディオレンダラ7は、AACデコーダ4からのPCM音声データを図示しないDAC(Digital-Analogue Converter)に出力することでディジタル/アナログ変換して、音声出力手段(スピーカやヘッドホン等)を通して音声を出力する。そして、音声と画像とを同期させるために音声情報の出力に合わせて、ビデオレンダラ6に時刻情報を提供する。   The audio renderer 7 performs digital / analog conversion by outputting the PCM audio data from the AAC decoder 4 to a DAC (Digital-Analogue Converter) (not shown), and outputs audio through audio output means (speakers, headphones, etc.). Then, in order to synchronize the sound and the image, time information is provided to the video renderer 6 in accordance with the output of the sound information.

このように、各コンポーネントが互に接続されるとともに、ソースコンポーネントから出力されるデータを各コンポーネントが順次に受け取って処理していき、最後にシンクコンポーネントに送付することで動画や音声の再生が行われる。つまり、本例では、2系列のデータに従って各コンポーネントがそれぞれ結合されたグラフ構造を有しており、データソースからパーサ2を経て2系統に分かれ、その一方が動画処理系統とされ、他方が音声処理系統とされる(あるいは、木構造を用いて説明すると、データソースを親木とするパーサ2の下に2つの子木MPEG4ビデオデコーダ3及びAACデコーダ4が存在し、MPEG4ビデオデコーダ3の子木に色空間コンバータ5、さらにその子木にビデオレンダラ6が存在するとともに、AACデコーダ4の子木にオーディオレンダラ7が存在することになる。)。尚、本例では動画及び音声の再生を示したが、例えば、音声の再生だけを行いたい場合には、勿論音声処理系統だけが形成されるようにアプリケーションから指示すれば良い。   In this way, each component is connected to each other, and each component sequentially receives and processes the data output from the source component, and finally sends it to the sink component for video and audio playback. Is called. In other words, this example has a graph structure in which each component is coupled according to two series of data, and is divided into two systems from the data source through the parser 2, one of which is a video processing system, and the other is an audio processing system. A processing system (or a tree structure will be used for explanation). There are two child tree MPEG4 video decoders 3 and AAC decoders 4 under a parser 2 having a data source as a parent tree. (The color space converter 5 is present in the tree, the video renderer 6 is present in the child tree, and the audio renderer 7 is present in the child tree of the AAC decoder 4). In this example, the reproduction of the moving image and the voice is shown. However, for example, when only the reproduction of the voice is desired, the application may be instructed so that only the voice processing system is formed.

次に、本発明に係るシステム構成について説明する。   Next, a system configuration according to the present invention will be described.

図2は情報処理装置8の構成を概念的に示したものであり、アプリケーション9からシステムの本体部(コア)に対して指定された情報の処理要求が行われる。尚、アプリケーション9は、ユーザ操作等に応じて処理を行うが、処理に必要なライブラリ等も含まれる。   FIG. 2 conceptually shows the configuration of the information processing apparatus 8, and a processing request for designated information is made from the application 9 to the main body (core) of the system. The application 9 performs processing according to user operations and the like, but includes a library and the like necessary for processing.

本体部は、システム管理手段、演出処理手段、コンポーネント管理手段を備えている。   The main body includes system management means, effect processing means, and component management means.

システム管理手段(以下、「システムマネージャ」という。)は、システムクロック周波数やメモリ量、使用デバイス、電源電圧といった、利用可能なリソースについて管理するものであり、また、演出処理手段(以下、「プレイヤ」という。)は、複数のコンポーネントの接続関係をグラフ構造に従って管理する。そして、コンポーネント管理手段(以下、「コンポーネントマネージャ」という。)は、各コンポーネントに係る情報(リソース要求情報)を提供する役目をもっている。尚、リソース要求情報については後で詳述するように、固定的な情報に限らず、状況に応じて動的に設定可能な情報が含まれる(例えば、図1のMPEG4ビデオデコーダ3は、画像サイズやフレームレート等に基いてリソース要求情報を決定することが可能である。)。   The system management means (hereinafter referred to as “system manager”) manages available resources such as the system clock frequency, the amount of memory, the device used, and the power supply voltage, and the rendering processing means (hereinafter referred to as “player”). ") Manages the connection relationship of a plurality of components according to the graph structure. The component management means (hereinafter referred to as “component manager”) has a role of providing information (resource request information) related to each component. As will be described in detail later, the resource request information is not limited to fixed information but includes information that can be dynamically set according to the situation (for example, the MPEG4 video decoder 3 in FIG. Resource request information can be determined based on size, frame rate, etc.).

また、図2に示すグラフ構造は、図1の構成に対応したものであり、「Ci」(i=2乃至7)を○印で囲んで示すものが各コンポーネントを表し、「i」がその符号を示している。   The graph structure shown in FIG. 2 corresponds to the configuration shown in FIG. 1. “Ci” (i = 2 to 7) surrounded by a circle represents each component, and “i” represents the component. The code | symbol is shown.

図3はシステム構成を例示したブロック図であり、下記に示すモジュールを用いて構成される。   FIG. 3 is a block diagram illustrating the system configuration, which is configured using the modules shown below.

(マルチメディア)アプリケーション
ソフトウェア階層の最上位に位置するアプリケーション9は、ユーザインターフェイス(UI)を担当するが、自らはマルチメディアに関する処理(描画処理や音声処理等)を行う機能をもたず、後述するコントローラに対して要求内容を指示する。また、アプリケーション9は、例えば、ライブラリ等を通じてコンテンツデータの指定、再生、停止等の操作について指示するが、上記したコンポーネントには何ら関知しない。尚、ライブラリはアプリケーション9からの要求に従ってコンポーネントの選択、ロード、接続等を行うものであり、その上位レイヤに対して固有の機能を隠蔽する役目をもつ。また、コンテンツ再生や記録等に先だって1つ以上のプレイヤを生成させる必要がある。
- (Multimedia) The application 9 located at the top of the application software hierarchy is in charge of the user interface (UI), but does not have a function of performing multimedia-related processing (drawing processing, audio processing, etc.) The request content is instructed to the controller described later. Further, the application 9 gives instructions for operations such as specification, reproduction, and stop of content data through a library or the like, for example, but has no relation to the above components. The library performs component selection, loading, connection, and the like according to a request from the application 9, and has a function of hiding a unique function from the upper layer. In addition, it is necessary to generate one or more players prior to content reproduction or recording.

コントローラ(制御手段)
コントローラ10は、アプリケーション9からの要求に従ってコンポーネントを含むシステム全体の制御を行うものであり、他のモジュールを用いて所望の動作制御を行うが、データ処理は行わない。また、アプリケーションが複数存在する場合でも1つのコントローラ10によって制御処理が行われる(尚、図には、説明の簡単化を考慮してアプリケーション、プレイヤの数を単数として示している。)。
Controller (control means)
The controller 10 controls the entire system including components in accordance with a request from the application 9 and performs desired operation control using other modules, but does not perform data processing. Further, even when there are a plurality of applications, control processing is performed by one controller 10 (note that the number of applications and players is shown as a single number in the figure for the sake of simplicity).

システムマネージャ
システムマネージャ11は、コンテンツデータ等の情報処理において利用可能なリソースについて利用状況を管理するものである。つまり、システムリソース(システムの稼動に必要な環境において利用可能な資源)に関して、現在の利用状況を管理する。尚、リソースには、例えば、CPU等の演算処理デバイスの動作周波数、メモリ使用量、使用デバイス等が挙げられ、それらのリソース要求情報については、値又は範囲で記述される(後で詳述する。)。
System Manager The system manager 11 manages the usage status of resources that can be used in information processing such as content data. That is, the current usage status is managed with respect to system resources (resources that can be used in an environment necessary for system operation). The resource includes, for example, the operating frequency of an arithmetic processing device such as a CPU, the amount of memory used, the device used, and the like, and the resource request information is described by a value or a range (to be described in detail later). .)

システムマネージャ11は、複数のコンポーネントの接続関係を表すグラフ構造データベースの生成、削除、変更、更新等がコントローラ10を経由して通知されると、関連情報を更新したり、必要に応じてハードウェアの設定変更(動作周波数等)を行う。また、上記した各コンポーネントは自らが必要とするリソース要求情報(後述する。)を提供する機能を有しており、該情報に基いてシステムマネージャ11は、指定された情報処理に必要とされるリソースについて設定若しくは変更を行うか、あるいはその必要がない場合には現状の設定を維持する。例えば、装置の消費電力を削減する場合等に、ハードウェアの設定を変更して、システムクロックの周波数を低くする等の処理が行われる。   When the generation, deletion, change, update, etc. of the graph structure database representing the connection relationship of a plurality of components is notified via the controller 10, the system manager 11 updates related information, and if necessary, hardware Change the setting (operating frequency, etc.). Each component described above has a function of providing resource request information (described later) required by itself, and the system manager 11 is required for the specified information processing based on the information. If the resource is set or changed, or if it is not necessary, the current setting is maintained. For example, when the power consumption of the apparatus is reduced, processing such as changing the hardware setting to lower the frequency of the system clock is performed.

管理項目を例示すると、下記のようになる。   Examples of management items are as follows.

・使用デバイス
色空間コンバータ =>Id:1234 Status:free or in use
フレームバッファ =>Id:3456 Status:free or in use
DAC(D/A Converter)=>Id:4567 Status:free or in use
ADC(A/D Converter)=>Id:5678 Status:free or in use
・メモリ
全容量:Sバイト Status: min SLバイト max SHバイト
・CPU
最高許容周波数:fsヘルツ Status: min fLヘルツ max fHヘルツ。
・ Device color space converter => Id: 1234 Status: free or in use
Frame buffer => Id: 3456 Status: free or in use
DAC (D / A Converter) => Id: 4567 Status: free or in use
ADC (A / D Converter) => Id: 5678 Status: free or in use
・ Total memory capacity: S bytes Status: min SL bytes max SH bytes ・ CPU
Maximum allowable frequency: fs hertz Status: min fL hertz max fH hertz.

尚、上記「Id」はデバイスに付与された識別番号を示し、「Status」の値はfree (使用可)、in use(使用中)を示す。また、メモリ使用量については、下限値SL及び上限SHに示す範囲内で設定され(例えば、S=16M(メガ)バイトにおいて、ある状態での「Status」の示す範囲が1M〜1.5Mバイト等)、CPUの周波数については下限値fL及び上限fHに示す範囲内で設定される(例えば、fs=200M(メガ)ヘルツにおいて、ある状態での「Status」の示す範囲が100M〜150Mヘルツ等)。   The “Id” indicates an identification number assigned to the device, and the value of “Status” indicates free (in use) or in use (in use). The memory usage is set within the range indicated by the lower limit value SL and the upper limit SH (for example, when S = 16 M (mega) bytes, the range indicated by “Status” in a certain state is 1 M to 1.5 Mbytes). The CPU frequency is set within the range indicated by the lower limit fL and the upper limit fH (for example, when fs = 200 M (mega) hertz, the range indicated by “Status” in a certain state is 100 M to 150 Mhertz, etc.) ).

グラフ構造DB(データベース)
複数のコンポーネントを組み合わせて、特定の機能を実現するためには、例えば、図1に例示したような各コンポーネントの接続関係が正しく確立されることが必要である。つまり、複数のコンポーネントの接続関係や依存関係を記述したグラフ構造DB12を用いて各コンポーネントの結合状態を管理することが好ましい。
Graph structure DB (database)
In order to realize a specific function by combining a plurality of components, for example, it is necessary to correctly establish the connection relationship of each component as illustrated in FIG. That is, it is preferable to manage the coupling state of each component using the graph structure DB 12 describing the connection relationships and dependency relationships of a plurality of components.

図1に示したコンポーネントのグラフ構造について、データベースエントリを記述言語によるタグ・フォーマットで例示すると下記のようになる(各記述子の左端に行番号を付して示す。尚、「*」部は説明用のコメントである。)。
1:<GRAPH "MP4Player" > *グラフ構造定義の開始*
2: <COMPONENTS> *コンポーネント定義の開始*
(ここに各コンポーネントについて記述する)
3: </COMPONENTS> *コンポーネント定義の終了*
4: <CONNECTIONS> *コンポーネントの接続関係に係る定義開始*
(ここにコンポーネント同士の接続関係について記述する)
5: </CONNECTIONS> *コンポーネントの接続関係に係る定義終了*
6:</GRAPH> *グラフ構造定義の終了*
コンポーネント定義例を以下に示す。
<COMPONENTS> *コンポーネント定義開始の記述子*
<COMPONENT> *パーサについて*
<NAME> Parser </NAME>
<ID> 123 </ID>
</COMPONENT>
<COMPONENT> *MPEG4ビデオデコーダについて*
<NAME> MPEG4VideoDecoder </NAME>
<ID> 234 </ID>
</COMPONENT>
<COMPONENT> *AACデコーダについて*
<NAME> AACDecoder </NAME>
<ID> 345 </ID>
</COMPONENT>
(途中省略)
<COMPONENT> *オーディオレンダラについて*
<NAME> AudioRenderer </NAME>
<ID> 789 </ID>
</COMPONENT>
</COMPONENTS>
尚、タグ<NAME>と </NAME>との間にコンポーネントの名称が記述され、タグ<ID>と </ID>との間にコンポーネントに付与される識別番号が記述される。
With respect to the graph structure of the component shown in FIG. 1, the database entry is illustrated in the tag format in the description language as follows (shown with a line number attached to the left end of each descriptor. This is an explanatory comment.)
1: <GRAPH "MP4Player"> * Start of graph structure definition *
2: <COMPONENTS> * Start of component definition *
(Describe each component here)
3: </ COMPONENTS> * End component definition *
4: <CONNECTIONS> * Start definition related to component connection *
(Describe connection between components here)
5: </ CONNECTIONS> * End of definition related to component connection *
6: </ GRAPH> * End of graph structure definition *
An example of component definition is shown below.
<COMPONENTS> * Descriptor for starting component definition *
<COMPONENT> * Parser *
<NAME> Parser </ NAME>
<ID> 123 </ ID>
</ COMPONENT>
<COMPONENT> * About MPEG4 video decoder *
<NAME> MPEG4VideoDecoder </ NAME>
<ID> 234 </ ID>
</ COMPONENT>
<COMPONENT> * About AAC decoder *
<NAME> AACDecoder </ NAME>
<ID> 345 </ ID>
</ COMPONENT>
(Omitted)
<COMPONENT> * Audio renderer *
<NAME> AudioRenderer </ NAME>
<ID> 789 </ ID>
</ COMPONENT>
</ COMPONENTS>
A component name is described between tags <NAME> and </ NAME>, and an identification number assigned to the component is described between tags <ID> and </ ID>.

また、コンポーネントの接続関係についての定義例を以下に示す。
<CONNECTIONS>
<CONNECTION> *パーサからMPEG4ビデオデコーダへ*
<FROM> Parser :0 </FROM>
<TO> MPEG4VideoDecoder:0 </TO>
</CONNECTION>
<CONNECTION> *MPEG4ビデオデコーダから色空間コンバータへ*
<FROM> MPEG4VideoDecoder:0</FROM>
<TO> ColorSpaceConverter:0 </TO>
</CONNECTION>
<CONNECTION> *色空間コンバータからビデオレンダラへ*
<FROM> ColorSpaceConverter:0 </FROM>
<TO> VideoRenderer:0 </TO>
</CONNECTION>
<CONNECTION> *パーサからAACデコーダへ*
<FROM> Parser :1 </FROM>
<TO> AACDecoder:0 </TO>
</CONNECTION>
<CONNECTION> *AACデコーダからオーディオレンダラへ*
<FROM> AACDecoder:0</FROM>
<TO> AudioRenderer:0 </TO>
</CONNECTION>
</CONNECTIONS>
尚、タグ<FROM> と</FROM>の間に出力側となるコンポーネント名称が記述され、タグ <TO> と</TO>との間に入力側となるコンポーネント名称が記述される。また、本例では動画の画像処理系統と音声処理系統の2系統が存在し、パーサの出力段で各系統に分岐するので、パーサには「:0」、「:1」を付けることで系統の違いを区別している(図2参照。各コンポーネントを示すノードに付した「0」や「1」の数字はポート番号を示す。)。また、本例ではグラフ構造の記述に係るデータ構造について、階層的構造を記述し易い方法をとっているが、これに限らず各種のデータ構造(連結リスト構造や木構造等)を用いることが可能である。
In addition, a definition example of the connection relation of components is shown below.
<CONNECTIONS>
<CONNECTION> * Parser to MPEG4 video decoder *
<FROM> Parser: 0 </ FROM>
<TO> MPEG4VideoDecoder: 0 </ TO>
</ CONNECTION>
<CONNECTION> * MPEG4 video decoder to color space converter *
<FROM> MPEG4VideoDecoder: 0 </ FROM>
<TO> ColorSpaceConverter: 0 </ TO>
</ CONNECTION>
<CONNECTION> * From color space converter to video renderer *
<FROM> ColorSpaceConverter: 0 </ FROM>
<TO> VideoRenderer: 0 </ TO>
</ CONNECTION>
<CONNECTION> * Parser to AAC decoder *
<FROM> Parser: 1 </ FROM>
<TO> AACDecoder: 0 </ TO>
</ CONNECTION>
<CONNECTION> * From AAC decoder to audio renderer *
<FROM> AACDecoder: 0 </ FROM>
<TO> AudioRenderer: 0 </ TO>
</ CONNECTION>
</ CONNECTIONS>
The component name on the output side is described between the tags <FROM> and </ FROM>, and the component name on the input side is described between the tags <TO> and </ TO>. In this example, there are two systems, a video image processing system and a sound processing system, and the system branches to each system at the output stage of the parser, so the system can be added by adding “: 0” and “: 1” to the parser. (See FIG. 2. The numbers “0” and “1” attached to the nodes indicating the components indicate the port numbers). In this example, the data structure related to the description of the graph structure is a method that makes it easy to describe a hierarchical structure. Is possible.

コンポーネントマネージャ
コンポーネントマネージャ13は、システムが利用可能なコンポーネントを管理するものであり、コントローラ10が、対象となるコンポーネントのリソース要求情報を取得したい場合に、その問い合わせに答えて必要とする情報を提供する。
Component manager The component manager 13 manages the components that can be used by the system. When the controller 10 wants to acquire the resource request information of the target component, it provides necessary information in response to the inquiry. To do.

コンポーネント
各コンポーネント14は、コンテンツデータの再生や記録等のために、メディアやネットワークからのロード、データ変換、デバイスへの出力といった特定の機能を有する。具体例については図1で説明した通りであるが、ここでさらに説明を加えると、システムには予め複数のコンポーネントが登録されていて、取り扱うコンテンツデータ等に合わせて必要なコンポーネントを組み合わせることで目的の機能を実現することができる。また、コンポーネントはシステムに初めから実装される場合に他、プラグインモジュールとして追加が可能であり、これによってシステムを拡張することが可能である。
Component Each component 14 has specific functions such as loading from media or a network, data conversion, and output to a device for reproduction and recording of content data. A specific example is as described with reference to FIG. 1, but when further explained here, a plurality of components are registered in the system in advance, and the purpose is achieved by combining necessary components according to the content data to be handled. The function can be realized. In addition, the component can be added as a plug-in module when the component is mounted on the system from the beginning, and thus the system can be expanded.

各コンポーネント14は、他のモジュールからの要求、あるいは自分自身の状態が変化した場合に、自らが必要とするリソース要求情報を提供する機能をもつ。ここで、「リソース要求情報」とは、モジュールがリソースについて要求する情報を意味し、「静的リソース要求情報」と「動的リソース要求情報」が挙げられる。後者は、グラフ構造DB12に基いて各コンポーネント同士が結合されて処理が開始された場合に提供される動的情報であり、前者は各コンポーネント同士が結合される前の段階で提供可能な静的情報である。   Each component 14 has a function of providing resource request information required by itself when a request from another module or when its own state changes. Here, “resource request information” means information that a module requests for a resource, and includes “static resource request information” and “dynamic resource request information”. The latter is dynamic information provided when the components are combined and processing is started based on the graph structure DB 12, and the former is static information that can be provided at a stage before the components are combined. Information.

例えば、コンポーネントが提供する「静的リソース要求情報」とは、稼動状況の如何に関係なくコンポーネントがとり得るリソースの情報(値や範囲)を意味する。また、コンポーネントが提供する「動的リソース要求情報」とは、コンポーネントが特定の環境下で稼動している場合にとり得るリソースの情報(値や範囲)を意味し、動作中のコンポーネントが現在の処理状況に応じてリソース要求情報を決定する。   For example, “static resource request information” provided by a component means resource information (value or range) that the component can take regardless of the operation status. “Dynamic resource request information” provided by a component means resource information (value and range) that can be obtained when the component is operating in a specific environment. Resource request information is determined according to the situation.

「静的」又は「動的」に如何に関わらず、リソース要求情報にはシステムリソースに係る各種の要求を含めることができるが、以下の説明では、使用デバイス(色空間コンバータやフレームメモリ、DAC等)、必要なメモリ使用量(値又は範囲)、CPUに与える負荷(クロックの周波数範囲)を用いることにする。   Regardless of whether it is “static” or “dynamic”, the resource request information can include various requests related to system resources. In the following description, the device used (color space converter, frame memory, DAC, etc.) Etc.), necessary memory usage (value or range), and load (clock frequency range) applied to the CPU.

図1に示した各コンポ−ネントについて、それぞれの静的リソース要求情報及び動的リソース要求情報を例示すると下記のようになる。
<MPEG4ビデオデコーダ>
[静的リソース要求情報]
使用デバイス:なし
メモリ量 :min=300kバイト max=900kバイト
CPU :min= 30Mヘルツ max= 60Mヘルツ
[動的リソース要求情報]
メモリ量 :900kバイト
CPU :min=55Mヘルツ max=60Mヘルツ

<AACデコーダ>
[静的リソース要求情報]
使用デバイス:なし
メモリ量 :min=80kバイト max=100kバイト
CPU :min=10Mヘルツ max= 30Mヘルツ
[動的リソース要求情報]
メモリ量 :80kバイト
CPU :min=5Mヘルツ max=10Mヘルツ

<パーサ>
[静的リソース要求情報]
使用デバイス:なし
メモリ量 :min=80kバイト max=80kバイト
CPU :min= 5Mヘルツ max=10Mヘルツ
[動的リソース要求情報]
メモリ量 :min=80kバイト max=80kバイト
CPU :min=10Mヘルツ max=10Mヘルツ

<色空間コンバータ>
[静的リソース要求情報]
使用デバイス:ID=1234(色空間変換用回路)
メモリ量 :min=80kバイト max=100kバイト
CPU :min=10Mヘルツ max= 30Mヘルツ
[動的リソース要求情報]
メモリ量 :80kバイト
CPU :min=5Mヘルツ max=20Mヘルツ

<ビデオレンダラ>
[静的リソース要求情報]
使用デバイス:ID=3456(フレームバッファ)
メモリ量 :min=300kバイト max=600kバイト
CPU :min= 5Mヘルツ max= 20Mヘルツ
[動的リソース要求情報]
メモリ量 :min=600kバイト max=600kバイト
CPU :min=10Mヘルツ max= 20Mヘルツ

<オーディオレンダラ>
[静的リソース要求情報]
使用デバイス:ID=4567(DAC)
メモリ量 :min=100kバイト max=200kバイト
CPU :min= 5Mヘルツ max= 20Mヘルツ
[動的リソース要求情報]
メモリ量 :min=100kバイト max=100kバイト
CPU :min= 10Mヘルツ max=15Mヘルツ。
For each component shown in FIG. 1, the static resource request information and the dynamic resource request information are exemplified as follows.
<MPEG4 video decoder>
[Static resource request information]
Device used: None Memory amount: min = 300 kbytes max = 900 kbytes CPU: min = 30 MHz max = 60 MHz [Dynamic resource request information]
Memory amount: 900 kbytes CPU: min = 55M hertz max = 60M hertz

<AAC decoder>
[Static resource request information]
Device used: None Memory amount: min = 80 kbytes max = 100 kbytes CPU: min = 10 Mhertz max = 30 Mhertz [Dynamic resource request information]
Memory amount: 80 kbytes CPU: min = 5M hertz max = 10M hertz

<Parser>
[Static resource request information]
Device used: None Memory amount: min = 80 kbytes max = 80 kbytes CPU: min = 5 Mhertz max = 10 Mhertz [Dynamic resource request information]
Memory amount: min = 80 kbytes max = 80 kbytes CPU: min = 10M hertz max = 10M hertz

<Color space converter>
[Static resource request information]
Device used: ID = 1234 (color space conversion circuit)
Memory amount: min = 80 kbytes max = 100 kbytes CPU: min = 10 Mhertz max = 30 Mhertz [Dynamic resource request information]
Memory amount: 80 kbytes CPU: min = 5M hertz max = 20M hertz

<Video renderer>
[Static resource request information]
Device used: ID = 3456 (frame buffer)
Memory amount: min = 300 kbytes max = 600 kbytes CPU: min = 5M hertz max = 20M hertz [dynamic resource request information]
Memory amount: min = 600 kbytes max = 600 kbytes CPU: min = 10M hertz max = 20M hertz

<Audio renderer>
[Static resource request information]
Device used: ID = 4567 (DAC)
Memory amount: min = 100 kbytes max = 200 kbytes CPU: min = 5M hertz max = 20M hertz [dynamic resource request information]
Memory amount: min = 100 kbytes max = 100 kbytes CPU: min = 10M hertz max = 15M hertz.

上記リソース要求情報として、使用デバイスについてはその使用の要求情報が含まれ、「ID」は使用デバイスに付与された識別番号を表している。また、CPU等の演算処理用デバイスの動作周波数や、記憶デバイスのメモリ容量(使用量)については、コンポーネント毎にそれらの値又は範囲(上下限)を示す要求情報が含まれ、「min」が最低値(下限)を示し、「max」が最高値(上限)を示している。尚、動的リソース要求情報の内容については、コンポーネントの実際の動作状況に応じて変化する。   As the resource request information, the use device includes use request information, and “ID” represents an identification number assigned to the use device. In addition, for the operating frequency of an arithmetic processing device such as a CPU and the memory capacity (use amount) of a storage device, request information indicating the value or range (upper and lower limits) of each component is included, and “min” is set. The lowest value (lower limit) is indicated, and “max” indicates the highest value (upper limit). Note that the content of the dynamic resource request information changes according to the actual operation status of the component.

コンポーネント14は、上記したグラフ構造DB12に従って実際のグラフとして接続関係が確立される前、つまり、各コンポーネントを実際に組み合わせた構成以前において、コンポーネントマネージャ13を介して静的リソース要求情報を提供することができるが、動的リソース要求情報については、各コンポーネントを実際に組み合わせてその動作を開始した後にはじめて提供が可能となる。   The component 14 provides static resource request information via the component manager 13 before the connection relation is established as an actual graph according to the above-described graph structure DB 12, that is, before the configuration in which the components are actually combined. However, the dynamic resource request information can be provided only after the components are actually combined and the operation is started.

尚、コンポーネントは後述のプレイヤに登録する必要がある。   The component needs to be registered with a player described later.

コンポーネント間のデータの受け渡しについて、簡単に説明すると、コンポーネントの内部には、ポート(バッファ送受のための窓口となるオブジェクト)が存在し、例えば、バッファを他のコンポーネントに送るためには、1つ以上のポートをもつ必要がある。尚、「バッファ」とは、ポート間で送受されるデータのコンテナ(入れ物)となるオブジェクトを意味し、ポートを介してあるコンポーネントから別のコンポーネントに送付される(具体的には、バッファオブジェクトのアドレスが対応するポートに通知される。)。コンポーネントの種類については前記したが、ソースコンポーネントとは、バッファを送付する機能のみをもち、シンクコンポーネントとはバッファを受け取る機能のみをもつコンポーネントである。また、それら以外のコンポーネントとは、他のコンポーネントからバッファを受け取り、そのデータを加工した後、バッファを別のコンポーネントに送付することができるコンポーネントである。   Briefly explaining the exchange of data between components, there is a port (an object serving as a window for buffer transmission / reception) inside the component. For example, one port is used to send a buffer to another component. It is necessary to have the above ports. A “buffer” means an object that is a container for data sent between ports, and is sent from one component to another via a port (specifically, a buffer object). The address is notified to the corresponding port.) Although the types of components are described above, the source component is a component having only a function of sending a buffer, and the sink component is a component having only a function of receiving a buffer. The other components are components that can receive a buffer from another component, process the data, and send the buffer to another component.

この他、コンポーネントによっては、計時用のクロック(時計)をもつことで、該クロックをマスタークロックとして他のコンポーネントとの間で同期取りが可能である。つまり、クロック(複数のコンポーネント間で処理を同期させるためのオブジェクト)を内部にもつコンポーネントでは、コンテンツの再生状況等に応じてクロックの時間を進めることができる。マスタークロックと同期をとる必要がある場合に、クロックに対して特定の時刻になった時点、あるいは一定時間が経過する度に、時刻や時間情報を通知するように依頼することができる。例えば、オーディオシンクコンポーネント(図1のオーディオレンダラ7)がマスタークロックを提供する場合に、ビデオシンクコンポーネント(図1のビデオレンダラ6)は特定の時刻に表示すべき映像データを受け取ると、その時刻になったことを知らせてもらえるようにオーディオシンクコンポーネントに依頼をしておくことができ(図1の破線矢印を参照。)、これによって、音声データの再生と同期して映像データの再生を行うことができる。   In addition, some components have a clock (clock) for timing, and can be synchronized with other components using the clock as a master clock. That is, in a component having a clock (an object for synchronizing processing among a plurality of components), the clock time can be advanced in accordance with the content reproduction status or the like. When it is necessary to synchronize with the master clock, it is possible to request notification of time and time information when a specific time is reached with respect to the clock, or whenever a certain time elapses. For example, when the audio sync component (audio renderer 7 in FIG. 1) provides a master clock, when the video sync component (video renderer 6 in FIG. 1) receives video data to be displayed at a specific time, at that time. You can ask the audio sync component to let you know (see the dashed arrow in Figure 1), and this will play the video data in sync with the playback of the audio data. Can do.

プレイヤ
プレイヤ15はコンポーネント14の演出について処理を行うものであり、コンテンツデータ等の再生を行う場合には字義通りデータ再生処理を統括するが、グラフ構造DB12に従ったコンポーネントの組み合わせに応じて、データ記録やデータ変換等、各種機能に対応したプレイヤが生成される。
The player player 15 processes the production of the component 14, and supervises the data reproduction process literally when reproducing content data or the like, but according to the combination of components according to the graph structure DB 12, Players corresponding to various functions such as data recording and data conversion are generated.

プレイヤ15は、例えば、コンテンツデータの再生や記録等の機能を実現するため、グラフ構造DB12に従って構築される複数のコンポーネントの接続関係について管理しており、各コンポーネント14はプレイヤに登録されることで管理される。   For example, the player 15 manages the connection relationship of a plurality of components constructed according to the graph structure DB 12 in order to realize functions such as reproduction and recording of content data, and each component 14 is registered with the player. Managed.

アプリケーション9は、コントローラ10を経由してプレイヤ15にリクエスト(コマンド)を発行することにより、コンポーネント14を制御することができる。例えば、コンテンツ再生中にアプリケーション9がプレイヤ15に対して停止(Stop)要求を出した場合、プレイヤは事前に解析されているコンポーネント間の依存関係に従って、適切な順番で各コンポーネントの動作を終了させる。   The application 9 can control the component 14 by issuing a request (command) to the player 15 via the controller 10. For example, when the application 9 issues a stop request to the player 15 during content playback, the player ends the operation of each component in an appropriate order according to the dependency relationship between components analyzed in advance. .

プレイヤ15に関連するリソース要求情報については、静的、初期化時、動的の3種類に区分され、「静的プレイヤリソース要求情報」は、コンポーネントマネージャ13が生成し、「初期化時プレイヤリソース要求情報」及び「動的プレイヤリソース要求情報」をプレイヤ15が生成する。   The resource request information related to the player 15 is classified into three types: static, initialization, and dynamic. “Static player resource request information” is generated by the component manager 13 and “initialization player resource” The player 15 generates “request information” and “dynamic player resource request information”.

各リソース要求情報の意味は下記に示す通りである。   The meaning of each resource request information is as follows.

(a)静的プレイヤリソース要求情報
グラフ構造DBに従うコンポーネントの接続関係が確立される以前のリソース要求情報、つまり、複数のコンポーネントがグラフ構造をもって構成される前に得ることができる、プレイヤの稼動に必要なリソースの要求情報である。例えば、既に幾つかのアプリケーションが起動されてそれらが動作している場合に、指定されたプレイヤを新たに動作させることができるか否かを、実際にプレイヤを構成することなく、本リソース要求情報に基いて判定することができる。尚、静的プレイヤリソース要求情報は、コンポーネント14が提供する静的リソース要求情報に基いて決定される。
(A) Static player resource request information Resource request information before the connection relation of components according to the graph structure DB is established, that is, the operation of the player that can be obtained before a plurality of components are configured with a graph structure. Required resource request information. For example, if some applications have already been started and are operating, it is possible to determine whether or not the specified player can be newly operated without actually configuring the player. Can be determined based on The static player resource request information is determined based on the static resource request information provided by the component 14.

(b)初期化時プレイヤリソース要求情報
複数のコンポーネントがグラフ構造をもって実際に構成され、処理すべきコンテンツデータ等が指定された後に得ることが可能なリソース要求情報(プレイヤの稼動に必要な条件に関する情報)である。例えば、コンテンツが指定されることにより、プレイヤに登録された各コンポーネントについて当該コンテンツの処理(再生等)に必要な情報が、静的プレイヤリソース要求情報に比して、より詳細に得られる。本リソース要求情報はシステムマネージャ11に通知され、これによってシステムが現在稼動中のアプリケーション等を動作させるのに必要とされる情報を管理するために用いられる。尚、初期化時プレイヤリソース要求情報は、登録されているコンポーネントの初期化が終了した直後の状態において該コンポーネントが提供する動的リソース要求情報に基いて決定される。
(B) Player resource request information at initialization Resource request information that can be obtained after a plurality of components are actually configured with a graph structure and content data to be processed is specified (related to conditions necessary for player operation) Information). For example, by specifying the content, information necessary for processing (playback or the like) of the content for each component registered in the player can be obtained in more detail than the static player resource request information. This resource request information is notified to the system manager 11 and is used to manage information required for operating the application currently running on the system. The initialization player resource request information is determined based on the dynamic resource request information provided by the component in a state immediately after the initialization of the registered component is completed.

(c)動的プレイヤリソース要求情報
複数のコンポーネントがグラフ構造をもって実際に構成され、処理すべきコンテンツデータ等が指定された後で該データの処理(再生等)が行われている場合に得ることが可能なリソース要求情報(プレイヤの実稼動に必要な条件に関する情報)である。尚、動的プレイヤリソース要求情報は、各コンポーネントの稼動中に提供される動的リソース要求情報に基いて決定される。つまり、動作中のコンポーネントは現在の処理状況に応じて動的リソース要求情報を決定するので、該情報に応じて動的プレイヤリソース要求情報の内容が変化する。
(C) Dynamic player resource request information Obtained when a plurality of components are actually configured with a graph structure and processing (playback, etc.) of the data is performed after the content data to be processed is specified. Resource request information (information relating to conditions necessary for the actual operation of the player). The dynamic player resource request information is determined based on the dynamic resource request information provided during operation of each component. That is, since the component in operation determines the dynamic resource request information according to the current processing status, the content of the dynamic player resource request information changes according to the information.

上記したリソース要求情報の関係について、下記に示す記号を用いて説明する。   The relationship of the above resource request information will be described using the symbols shown below.

・「Rc(i)」=コンポーネントのリソース要求情報(括弧内の自然数変数「i」はコンポーネントを区別するための番号を示す。)
・「Rp(j)」=プレイヤのリソース要求情報(括弧内の自然数変数「j」はプレイヤを区別するための番号を示す。)
・「Rs」=システムリソース要求情報(全てのリソース要求情報を総合した情報であり、例えば、システムマネージャ11が該情報の算出、設定を行う。)。尚、リソース要求情報について静的、動的の違いを区別する場合には、例えば、記号の前に「S_」(Static)、「D_」(Dynamic)を付ければ良い。
“Rc (i)” = component resource request information (natural number variable “i” in parentheses indicates a number for distinguishing components)
“Rp (j)” = resource request information of the player (a natural number variable “j” in parentheses indicates a number for distinguishing the player)
“Rs” = system resource request information (information obtained by combining all resource request information, for example, the system manager 11 calculates and sets the information). In order to distinguish between static and dynamic resource request information, for example, “S_” (Static) and “D_” (Dynamic) may be added before the symbol.

先ず、プレイヤ番号jのリソース要求情報Rp(j)については、関数「Fp()」を用いて、下式のように表すことができる。   First, the resource request information Rp (j) of the player number j can be expressed as follows using the function “Fp ()”.

Rp(j)=Fp(Rc(1),Rc(2),…,Rc(n)) −(1)式
関数「Fp()」は、コンポーネントのリソース要求情報に基いてプレイヤのリソース要求情報を導出するための算出関数であり、n個のRcに基いてRpが算出される。
Rp (j) = Fp (Rc (1), Rc (2),..., Rc (n))-(1) The function “Fp ()” is based on the resource request information of the component, and the resource request information of the player Rp is calculated based on n Rc.

また、Rsについては、関数「Fs()」を用いて、下式のように表すことができる。   Rs can be expressed by the following equation using the function “Fs ()”.

Rs=Fs(Rp(1),Rp(2),…,Rp(m)) −(2)式
関数「Fs()」は、プレイヤのリソース要求情報に基いてシステム全体のリソース要求情報を導出するための算出関数であり、m個のRpに基いてRsが算出される。
Rs = Fs (Rp (1), Rp (2),..., Rp (m)) − (2) The function “Fs ()” derives the resource request information of the entire system based on the resource request information of the player. Rs is calculated based on m Rp.

このように、各コンポーネントのリソース要求情報を総合することによってシステム全体のリソースに関する要求情報が算定される。尚、実際のリソース要求情報は、上記した関係式に基いて、リソースの種類や、範囲(下限値および上限値)、設定値等の算出対象について個別に定義された複雑な式から算出されるので、以下ではその要点だけを簡単に説明する。   Thus, the request information regarding the resources of the entire system is calculated by integrating the resource request information of each component. The actual resource request information is calculated based on the above-described relational expression from complex expressions that are individually defined for calculation targets such as resource type, range (lower limit value and upper limit value), and set value. Therefore, only the main points will be briefly described below.

先ず、使用デバイスについてはその使用の有無が区別され、下式のように、必要とされるデバイス「Ri」(i=1、2、…)について和集合(∪)をとることで算定できる。   First, the use devices are distinguished from the presence or absence of use, and can be calculated by taking the union (∪) for the required devices “Ri” (i = 1, 2,...) As shown in the following equation.

Fp(R1,R2,…,Rn)=R1 ∪ R2 ∪…∪ Rn
Fs(R1,R2,…,Rm)=R1 ∪ R2 ∪…∪ Rm
例えば、使用デバイスが3つある場合に、1番目と3番目のデバイスを使用する場合には、「R1 ∪ R3」である。
Fp (R1, R2,..., Rn) = R1 ∪ R2 ∪… ∪ Rn
Fs (R1, R2,..., Rm) = R1 ∪ R2 ∪… ∪ Rm
For example, when there are three devices in use and the first and third devices are used, “R1∪R3”.

次にCPUのクロック周波数については、上記「Ri」を要求される周波数とみなして、下式のように算出すれば良い。   Next, regarding the clock frequency of the CPU, the above “Ri” may be regarded as a required frequency and calculated as follows.

・R1〜Rnに「undef」(未定義)が含まれる場合
Fp(R1,R2,…,Rn)= undef
・R1〜Rnに「undef」が含まれない場合
Fp(R1,R2,…,Rn)= Kp・(R1+R2+… +Rn)

・R1〜Rmに「undef」が含まれる場合
Fs(R1,R2,…,Rm)= undef
・R1〜Rmに「undef」が含まれない場合
Fs(R1,R2,…,Rm)= Ks・(R1+R2+… +Rm)
尚、「Kp」はプレイヤのCPU負荷算出係数を示しており、プレイヤが複数のコンポーネントを動作させる場合のキャッシュメモリに対する影響等を考慮して係数値を調整して規定する。また、「Ks」は、システムのCPU負荷算出係数を示しており、システムが複数のプレイヤを動作させる場合のキャッシュメモリに対する影響等を考慮して係数値を調整して規定する(KpとKsの値は一般に異なるが、同じ値でも良い。)。
・ When “undef” (undefined) is included in R1 to Rn Fp (R1, R2,..., Rn) = undef
・ When “undef” is not included in R1 to Rn Fp (R1, R2,..., Rn) = Kp. (R1 + R2 +... + Rn)

・ When “undef” is included in R1 to Rm Fs (R1, R2,..., Rm) = undef
・ When “undef” is not included in R1 to Rm Fs (R1, R2,..., Rm) = Ks (R1 + R2 +... + Rm)
“Kp” indicates a CPU load calculation coefficient of the player, and is defined by adjusting the coefficient value in consideration of the influence on the cache memory when the player operates a plurality of components. “Ks” represents a CPU load calculation coefficient of the system, and is defined by adjusting the coefficient value in consideration of the influence on the cache memory when the system operates a plurality of players (Kp and Ks). The values are generally different, but they can be the same.)

このような計算は、クロック周波数の最小値及び最大値についてそれぞれに行われ、各リソース要求情報の示す周波数が未定義でない限り、各周波数の加算値に対してCPU負荷算出係数を乗じた値が算出される。   Such calculation is performed for each of the minimum and maximum values of the clock frequency, and unless the frequency indicated by each resource request information is undefined, the value obtained by multiplying the added value of each frequency by the CPU load calculation coefficient is Calculated.

尚、動的及び静的の相違については、下位の静的情報から上位の静的情報が算出されること及び下位の動的情報から上位の動的情報が算出されることに注意して、両者を区別する場合には、上記したFp、Fsの前に「S_」又は「D_」を付ければ良い。また、静的情報及び動的情報のそれぞれについてKp、Ksの値を規定することが必要である。   Regarding the difference between dynamic and static, note that higher static information is calculated from lower static information and higher dynamic information is calculated from lower dynamic information, In order to distinguish between the two, “S_” or “D_” may be added before Fp and Fs described above. Further, it is necessary to define the values of Kp and Ks for each of static information and dynamic information.

次にメモリ使用量については、上記の説明において形式的に「Ri」を使用量(必要なメモリサイズ)とみなし、かつKp=Ks=1とした下式を用いて算出すれば良い。   Next, the memory usage amount may be calculated using the following equation in which “Ri” is formally regarded as the usage amount (necessary memory size) and Kp = Ks = 1.

・R1〜Rnに「undef」が含まれる場合
Fp(R1,R2,…,Rn)= undef
・R1〜Rnに「undef」が含まれない場合
Fp(R1,R2,…,Rn)= R1+R2+… +Rn

・R1〜Rmに「undef」が含まれる場合
Fs(R1,R2,…,Rm)= undef
・R1〜Rmに「undef」が含まれない場合
Fs(R1,R2,…,Rm)= R1+R2+… +Rm
このような計算は、メモリの最小使用量及び最大使用量についてそれぞれに行われ、各リソース要求情報の示す使用量が未定義でない限り、加算値(総和)が算出される。尚、動的及び静的を区別する場合には、上記と同様にFp、Fsの前に「S_」又は「D_」を付ければ良い。
・ When “undef” is included in R1 to Rn Fp (R1, R2,..., Rn) = undef
When R1 to Rn do not include “undef” Fp (R1, R2,..., Rn) = R1 + R2 +.

・ When “undef” is included in R1 to Rm Fs (R1, R2,..., Rm) = undef
・ When “undef” is not included in R1 to Rm Fs (R1, R2,..., Rm) = R1 + R2 +.
Such calculation is performed for each of the minimum usage amount and the maximum usage amount of the memory, and an added value (total) is calculated unless the usage amount indicated by each resource request information is undefined. In order to distinguish between dynamic and static, “S_” or “D_” may be added before Fp and Fs as described above.

上記のように、コンポーネント14のリソース要求情報Rcからプレイヤ15のリソース要求情報Rpが算出され、さらにシステムのリソース要求情報Rsが算出される。そして、該情報Rsに示されるリソースの要求内容が許容される場合には、該要求内容に従ってシステムマネージャ11はリソースについてのシステム設定や変更を行うが、リソースの要求内容が許容されない場合には、その旨をコントローラ10に通知する。例えば、対象となるコンテンツデータの種類によっては、その処理が比較的に簡単で負担の少ない場合と、処理が重くて時間がかかる場合があるため、現在の状況や各種の要因を充分に見極めた上でリソース要求情報Rsを算定し、システムの設定状況を定期的に又は一定の条件下で見直すことが好ましい。   As described above, the resource request information Rp of the player 15 is calculated from the resource request information Rc of the component 14, and further the resource request information Rs of the system is calculated. If the requested content of the resource indicated in the information Rs is allowed, the system manager 11 performs system setting or change for the resource according to the requested content. If the requested content of the resource is not allowed, This is notified to the controller 10. For example, depending on the type of content data to be processed, the processing is relatively simple and less burdensome, and the processing may be heavy and time consuming, so we fully identified the current situation and various factors. It is preferable to calculate the resource request information Rs and review the system setting status periodically or under certain conditions.

本発明の適用に際し、リソース要求情報Rcの決定については如何なる方法を用いても良いが、コンポーネントの実装形態を充分に考慮することが好ましい。例えば、CPUのクロック周波数を決定する場合に、テスト用のコンテンツデータを用意し、最もCPU負荷が軽いと想定されるコンテンツ及び最もCPU負荷が重いと想定されるコンテンツについて、データを実際に再生し又は記録して、所定時間毎のプロファイル情報を取得してクロック周波数の最小値及び最大値を決定することができる。   In applying the present invention, any method may be used for determining the resource request information Rc, but it is preferable to fully consider the component implementation. For example, when determining the CPU clock frequency, test content data is prepared, and data is actually reproduced for content that is assumed to have the lightest CPU load and content that is assumed to have the heaviest CPU load. Alternatively, it is possible to record and acquire profile information every predetermined time to determine the minimum value and the maximum value of the clock frequency.

尚、上記した算出関数はあくまで一例にすぎないものであって、本発明の適用において特定の算出関数や計算方法に限定されないことは勿論である。   The above calculation function is merely an example, and it is needless to say that the application of the present invention is not limited to a specific calculation function or calculation method.

次に、図3のシステム構成の動作について、アプリケーションによる動画や音声の再生処理を例にして説明する。   Next, the operation of the system configuration in FIG. 3 will be described by taking an example of a reproduction process of a moving image or sound by an application.

(1)アプリケーションの起動及び動作
(2)初期化処理
(3)再生処理
(4)終了処理。
(1) Application activation and operation (2) Initialization process (3) Reproduction process (4) End process

先ず、(1)において、ユーザ操作によりアプリケーション9が起動され、動画や音声の再生処理について指示されると、(2)では、アプリケーション9からの指令をコントローラ10が受けて初期化処理(プレイヤの生成を含む。)が行われる。   First, in (1), when the application 9 is activated by a user operation and an instruction is given regarding a moving image or audio playback process, in (2), the controller 10 receives an instruction from the application 9 and an initialization process (player's operation). Generation).

実際にプレイヤが動作されるまでの手順は、下記ステップ(S1)乃至(S14)に示す通りである。   The procedure until the player is actually operated is as shown in the following steps (S1) to (S14).

(S1)アプリケーション9がコントローラ10に対してプレイヤの種類(MPEG4ファイルの動画再生等)を指定して、プレイヤ15の生成を指示する
(S2)コントローラ10が、グラフ構造DB12からプレイヤ15の情報を取得する
(S3)コントローラ10が、コンポーネントマネージャ13に対してプレイヤ15の情報を指定し、静的プレイヤリソース要求情報の生成を依頼する
(S4)コンポーネントマネージャ13は、プレイヤ15に登録された各コンポーネントから静的リソース要求情報を取得し、上記算出関数を用いて静的プレイヤリソース要求情報を計算して、その計算結果をコントローラ10に送る
(S5)コントローラ10は、コンポーネントマネージャ13から受け取った静的プレイヤリソース要求情報にて要求されるリソースが現在の状況下で取得可能であるか否かをシステムマネージャ11に問い合わせる
(S6)システムマネージャ11はリソース要求が許容されるか否かを判断して、その結果をコントローラ10に返答する
(S7)システムマネージャ11からの返答を受けて、リソース要求が許容されない(リソース取得不可能)と判断された場合に、コントローラ10はアプリケーション9にその旨をエラー情報として返送して(S1)に戻る
(S8)システムマネージャ11からの返答を受けて、リソース要求が許容される(リソース取得可能)と判断された場合には、コントローラ10が、コンポーネントマネージャ13に対して実際にプレイヤ15の生成を依頼する
(S9)プレイヤ15が生成されると、コントローラ10は該プレイヤに対して、コンテンツデータ等、プレイヤ15の動作に必要とされる情報を供与する
(S10)プレイヤ15は、与えられた情報に基いて各コンポーネント14を初期化する
(S11)プレイヤ15は、各コンポーネントから動的リソース要求情報を取得し、収集された情報に基いて初期化時プレイヤリソース要求情報を算出する
(S12)コントローラ10は、プレイヤ15から初期化時プレイヤリソース要求情報を取得して、該情報をシステムマネージャ11に通知する
(S13)システムマネージャ11は、初期化時プレイヤリソース要求情報に基いてシステムリソース要求情報(Rs)を更新するとともに、必要に応じてシステムリソースについて設定変更を行う
(S14)コントローラ10は、アプリケーション9に対してプレイヤ15が正常に生成されたことを通知する。
(S1) The application 9 designates the player type (moving image playback of MPEG4 file, etc.) to the controller 10 and instructs the generation of the player 15. (S2) The controller 10 receives the information of the player 15 from the graph structure DB 12. Acquire (S3) The controller 10 specifies information about the player 15 to the component manager 13 and requests generation of static player resource request information. (S4) The component manager 13 registers each component registered in the player 15. The static resource request information is acquired from the above, the static player resource request information is calculated using the above calculation function, and the calculation result is sent to the controller 10 (S5). The controller 10 receives the static resource request information received from the component manager 13. In player resource request information The system manager 11 inquires whether or not the requested resource can be acquired under the current situation. (S6) The system manager 11 determines whether or not the resource request is permitted, and the result is sent to the controller 10. (S7) In response to a response from the system manager 11, when it is determined that the resource request is not permitted (resource acquisition is impossible), the controller 10 returns the fact to the application 9 as error information ( Returning to S1) (S8) Upon receiving a response from the system manager 11 and determining that the resource request is allowed (resource acquisition is possible), the controller 10 actually sends the player 15 to the component manager 13 (S9) When the player 15 is generated, the controller 10 Provides the player with information necessary for the operation of the player 15 such as content data (S10). The player 15 initializes each component 14 based on the given information (S11). Acquires dynamic resource request information from each component, and calculates initialization player resource request information based on the collected information. (S12) The controller 10 acquires initialization player resource request information from the player 15. Then, the information is notified to the system manager 11 (S13) The system manager 11 updates the system resource request information (Rs) based on the initialization player resource request information, and sets the system resources as necessary. Make a change (S14) The controller 10 Player 15 is notified that successfully generated against.

尚、(S11)の初期化時プレイヤリソース要求情報は、登録されているコンポーネントの初期化が終了した直後の状態における該コンポーネントの動的リソース要求情報に基いて決定されるので、この場合には、上記した算出関数Fp(Rc(1),Rc(2),…,Rc(n))において、Rc(1)乃至Rc(n)は初期化直後の動的リソース要求情報を表す。   Note that the initialization player resource request information in (S11) is determined based on the dynamic resource request information of the component in the state immediately after the initialization of the registered component is completed. In the calculation function Fp (Rc (1), Rc (2),..., Rc (n)), Rc (1) to Rc (n) represent dynamic resource request information immediately after initialization.

また、(S13)においては、例えば、CPUのクロック周波数がシステムの負荷状態に応じて動的に変更され、その変更範囲についてはシステムマネージャ11により制御することができる。従って、クロック周波数の下限値及び上限値の設定変更を適時に行うことにより、動画や音声等のコンテンツデータの再生や記録の機能について実行環境を保証したり、あるいは、クロック周波数を抑えて消費電力を低減することができる。   In (S13), for example, the CPU clock frequency is dynamically changed in accordance with the load state of the system, and the change range can be controlled by the system manager 11. Therefore, by changing the setting of the lower limit and upper limit of the clock frequency in a timely manner, it is possible to guarantee the execution environment for the playback and recording functions of content data such as video and audio, or to reduce the clock frequency and reduce power consumption. Can be reduced.

プレイヤ15が生成されると、上記(3)の再生処理に必要な情報が該プレイヤに与えられて動画や音声の再生を行うことができる。   When the player 15 is generated, information necessary for the reproduction process (3) is given to the player, and a moving image or audio can be reproduced.

再生、一時停止、停止等の操作については、以下のステップ(S21)乃至(S24)のように処理される。   Operations such as reproduction, pause, and stop are processed as in the following steps (S21) to (S24).

(S21)アプリケーション9がユーザからの要求に従って、コントローラ10に再生等の操作を指示する
(S22)コントローラ10がプレイヤ15に対して、再生等の指示を出す
(S23)プレイヤ15が、登録されている各コンポーネント14に対して操作指令を出す
(S24)各コンポーネントが指定された操作に対応した処理を開始する。
(S21) In response to a request from the user, the application 9 instructs the controller 10 to perform an operation such as reproduction. (S22) The controller 10 instructs the player 15 to perform reproduction or the like. (S23) The player 15 is registered. (S24) Each component starts processing corresponding to the designated operation.

尚、プレイヤ15の状態には、例えば、動作中(Running)、一時停止(Paused)、停止(Stopped)、検索中(seeking)、早送り(FF)、戻し(REW)等が挙げられ、登録されているコンポーネントの状態はプレイヤの状態と常に一致する。また、プレイヤやコンポーネントの状態についてアプリケーション等の上位レイヤからの指示無しに状態遷移が行われることはない。   The state of the player 15 includes, for example, “Running”, “Paused”, “Stopped”, “Searching”, “Fast-forward” (FF), “Return”, and the like. The state of the component that is currently consistent with the state of the player. Further, the state transition is not performed without an instruction from a higher layer such as an application regarding the state of the player or component.

(S24)では、プレイヤに登録された各コンポーネントの依存関係に従って処理が行われ、例えば、再生処理については、各コンポーネントが協働して動作することで実現される。また、動作中(Running)のコンポーネントが停止(Stopped)状態等に遷移する際には、適切な順番でプレイヤから各コンポーネントに指示を出すことにより、デッドロック等の発生を排除する。   In (S24), processing is performed according to the dependency relationship of each component registered in the player. For example, the reproduction processing is realized by the cooperation of each component. In addition, when a running component transitions to a stopped state or the like, the player issues an instruction to each component in an appropriate order, thereby eliminating the occurrence of a deadlock or the like.

プレイヤ15の動作状態において、コントローラ10は、現在のシステム設定状態が実際の稼動状態に合致し又は適合しているか否かを確認するため、一定時間毎に、例えば、下記のステップ(S31)乃至(S34)を実行し、システムの動的情報(動的プレイヤリソース要求情報、動的システムリソース要求情報)を更新する。   In the operation state of the player 15, the controller 10 confirms whether the current system setting state matches or matches the actual operation state, for example, at a predetermined time, for example, the following steps (S31) to (S34) is executed to update the system dynamic information (dynamic player resource request information, dynamic system resource request information).

(S31)コントローラ10は、各プレイヤ15に対して動的プレイヤリソース要求情報を要求する
(S32)プレイヤ15は各コンポーネント14から動的リソース要求情報を取得し、動的プレイヤリソース要求情報を算出する
(S33)コントローラ10は、各プレイヤから動的プレイヤリソース要求情報を取得して、それらをシステムマネージャ11に通知する
(S34)システムマネージャ11は、動的プレイヤリソース要求情報に基いてシステムリソース要求情報を更新し、かつ、必要であればシステム設定を変更する。
(S31) The controller 10 requests dynamic player resource request information from each player 15. (S32) The player 15 obtains dynamic resource request information from each component 14, and calculates dynamic player resource request information. (S33) The controller 10 acquires dynamic player resource request information from each player and notifies them to the system manager 11. (S34) The system manager 11 uses the dynamic player resource request information to obtain system resource request information. And change system settings if necessary.

各コンポーネント14は、自身の持つリソース要求情報が更新されたことをプレイヤに対して自主的に通知することができ、この場合には、動的リソース要求情報に伴って動的プレイヤリソース要求情報が更新されるので、プレイヤは自身の情報が更新されたことをコントローラ10に通知する。コントローラ10はこの通知を受けて上記(S31)乃至(S34)の処理を実行する。   Each component 14 can independently notify the player that its own resource request information has been updated. In this case, the dynamic player resource request information is accompanied by the dynamic resource request information. Since it is updated, the player notifies the controller 10 that his / her information has been updated. Upon receiving this notification, the controller 10 executes the processes (S31) to (S34).

このように、コンポーネントからプレイヤに対して、その動作中に動的リソース要求情報が変更されたことが通知されたときには、該情報に応じて動的プレイヤリソース要求情報Rpが更新され、さらに動的プレイヤリソース要求情報を総合することによってシステム全体のリソース要求情報Rsが算定される。そして、該情報Rsの示す要求内容が許容される場合には、該要求内容に従ってシステムマネージャ11がリソースについての設定又は変更を行うが、該情報Rsの示す要求内容が許容されない場合には、現在の設定状態が維持される。   In this way, when the component is notified to the player that the dynamic resource request information has been changed during the operation, the dynamic player resource request information Rp is updated according to the information, and the dynamic resource request information Rp is further updated. By integrating the player resource request information, the resource request information Rs of the entire system is calculated. If the request content indicated by the information Rs is allowed, the system manager 11 sets or changes the resource according to the request content. If the request content indicated by the information Rs is not allowed, The setting state of is maintained.

コンテンツデータの再生処理が終ると、上記(4)の終了処理において、プレイヤ15からコントローラ10を介してアプリケーション9にその旨が通知される。   When the reproduction process of the content data is finished, the player 9 is notified of the fact through the controller 10 in the end process (4).

上記に説明した構成によれば、例えば、下記に示す利点が得られる。   According to the configuration described above, for example, the following advantages can be obtained.

・動画像や音声の記録や再生といったマルチメディア機能の実現において、アプリケーションが、特定のフォーマットやデバイス等に依存した個々的な処理を行う必要がないこと
・複数のコンポーネントを組み合わせることでコンテンツデータ等について各種の処理機能を提供することができ、また、コンポーネントをプラグインモジュールとして追加することにより、新たなデバイスやフォーマット等のサポートにおいてシステムの拡張性に優れており、設計上の柔軟性が高いこと。
-In order to realize multimedia functions such as recording and playback of moving images and audio, it is not necessary for the application to perform individual processing depending on a specific format, device, etc.-Content data by combining multiple components Various processing functions can be provided, and by adding components as plug-in modules, system extensibility is excellent in support of new devices and formats, and design flexibility is high. thing.

・大掛かりなシステム構成を要しないので、例えば、小型コンピュータや、PDA(Personal Digital Assistance)、移動体通信端末装置、映像機器をはじめとする携帯型機器(小規模な装置)に組み込んで利用するのに適していること、そして、必要なメモリ容量が小さくて済み、システムやオペレーティングシステムへの要求事項が少ないこと
・コンポーネントの動的リソース要求情報を反映したシステム設定の変更により、動作中のアプリケーションの実行環境を保証したり、必要に応じて消費電力を低下させて省電力効果を得ることができること(特にバッテリ駆動の装置において有効である。)
・コンポーネントの静的リソース要求情報に基いて、コンポーネントを実際に動作させる前に必要なリソースの要求内容を把握できること(例えば、要求内容が通らない場合には、その旨を、コンポーネントの接続関係を確立させる以前にアプリケーションに通知できる。)。
-Since a large-scale system configuration is not required, it can be used by incorporating it into portable devices (small devices) such as small computers, PDAs (Personal Digital Assistance), mobile communication terminal devices, and video equipment. It requires a small amount of memory and requires little system and operating system requirements.- By changing the system settings to reflect the component dynamic resource request information, A power saving effect can be obtained by guaranteeing an execution environment or reducing power consumption as necessary (especially effective in a battery-powered device).
-Based on the static resource request information of the component, it is possible to grasp the request contents of the necessary resources before actually operating the component (for example, if the request contents do not pass, You can notify the application before it is established.)

本発明に係る動画及び音声情報の再生に係る構成例を示すブロック図である。It is a block diagram which shows the structural example which concerns on the reproduction | regeneration of the moving image based on this invention, and audio | voice information. 本発明に係るシステム構成の概念図である。1 is a conceptual diagram of a system configuration according to the present invention. 本発明のシステム構成を例示したブロック図である。1 is a block diagram illustrating a system configuration of the present invention.

符号の説明Explanation of symbols

8…情報処理装置、9…アプリケーション、10…制御手段、11…システム管理手段、13…コンポーネント管理手段、14…コンポーネント、15…演出処理手段
DESCRIPTION OF SYMBOLS 8 ... Information processing apparatus, 9 ... Application, 10 ... Control means, 11 ... System management means, 13 ... Component management means, 14 ... Component, 15 ... Production processing means

Claims (8)

基本的な処理機能をもった複数のコンポーネントを備え、指定された情報の処理についてアプリケーションから指示を受けた場合に、複数のコンポーネントを組み合わせることで該情報の再生又は記録を含む処理機能を実現するとともに、情報処理に利用可能なリソースについて利用状況を管理するシステム管理手段を有する情報処理装置であって、
上記した各コンポーネントは自らが必要とするリソース要求情報を提供する機能を有し、該情報に基いて上記システム管理手段が、上記指定された情報の処理に必要とされるリソースについて設定若しくは変更を行い又は現状を維持する
ことを特徴とする情報処理装置。
A plurality of components having basic processing functions are provided, and when an instruction is received from an application regarding processing of designated information, a processing function including reproduction or recording of the information is realized by combining the plurality of components. And an information processing apparatus having system management means for managing the usage status of resources available for information processing,
Each of the above components has a function of providing resource request information required by itself, and the system management means sets or changes the resource required for processing the specified information based on the information. An information processing apparatus characterized by performing or maintaining the current status.
請求項1に記載の情報処理装置において、
上記アプリケーションからの要求に従って上記コンポーネントを含む全体の制御を行う制御手段と、
利用可能なコンポーネントを管理するとともに、上記制御手段からコンポーネントに係る上記リソース要求情報の問い合わせを受けた場合に、該情報を提供するコンポーネント管理手段を備えている
ことを特徴とする情報処理装置。
The information processing apparatus according to claim 1,
Control means for performing overall control including the component in accordance with a request from the application;
An information processing apparatus comprising: a component management unit that manages available components and provides the information when the control unit receives an inquiry about the resource request information regarding the component.
請求項2に記載の情報処理装置において、
上記リソース要求情報として、演算処理用デバイスの動作周波数又は記憶デバイスのメモリ使用量について各コンポーネントが要求する値又は範囲を示す情報が含まれる
ことを特徴とする情報処理装置。
The information processing apparatus according to claim 2,
The information processing apparatus characterized in that the resource request information includes information indicating a value or a range requested by each component for the operating frequency of the arithmetic processing device or the memory usage of the storage device.
請求項3に記載の情報処理装置において、
上記複数のコンポーネントの接続関係を記述したグラフ構造データベースを用いて各コンポーネントの結合状態が管理されるとともに、
上記リソース要求情報として、上記グラフ構造データベースに基いて各コンポーネント同士が結合されて処理が開始された場合に提供される動的情報と、各コンポーネント同士が結合される前の段階で提供可能な静的情報が使用される
ことを特徴とする情報処理装置。
The information processing apparatus according to claim 3.
The connection state of each component is managed using the graph structure database describing the connection relationship of the above-mentioned components,
As the resource request information, dynamic information provided when the components are combined and processing is started based on the graph structure database, and static information that can be provided at a stage before the components are combined. An information processing device characterized by the use of information.
請求項4に記載の情報処理装置において、
動作中の上記コンポーネントが現在の処理状況に応じて上記動的情報を決定する
ことを特徴とする情報処理装置。
The information processing apparatus according to claim 4,
The information processing apparatus, wherein the component in operation determines the dynamic information according to a current processing state.
請求項4に記載の情報処理装置において、
上記グラフ構造データベースに従って構築される複数のコンポーネントの接続関係について管理するための演出処理手段を備え、各コンポーネントが該演出処理手段に登録されることで管理される
ことを特徴とする情報処理装置。
The information processing apparatus according to claim 4,
An information processing apparatus comprising presentation processing means for managing connection relations of a plurality of components constructed in accordance with the graph structure database, wherein each component is managed by being registered in the presentation processing means.
請求項2に記載の情報処理装置において、
各コンポーネントの上記リソース要求情報を総合することによってシステム全体のリソースに関する要求情報が算定されるとともに、該情報に示されるリソースの要求内容が許容される場合には、該要求内容に従って上記システム管理手段がリソースについての設定又は変更を行い、また、該情報に示されるリソースの要求内容が許容されない場合には上記システム管理手段がその旨を上記制御手段に通知する
ことを特徴とする情報処理装置。
The information processing apparatus according to claim 2,
By summing up the resource request information of each component, the request information regarding the resources of the entire system is calculated, and when the requested content of the resource indicated in the information is allowed, the system management means according to the requested content The information processing apparatus is configured to set or change a resource, and when the requested content of the resource indicated in the information is not permitted, the system management unit notifies the control unit to that effect.
請求項6に記載の情報処理装置において、
上記コンポーネントから、上記演出処理手段に対して動作中に上記動的情報が変更されたことが通知された場合には、上記リソース要求情報を総合することによってシステム全体のリソースに関する要求情報を算定し、該情報の示す要求内容が許容される場合には、該要求内容に従って上記システム管理手段がリソースについての設定又は変更を行い、また、該情報の示す要求内容が許容されない場合には上記システム管理手段が現在の設定状態を維持する
ことを特徴とする情報処理装置。
The information processing apparatus according to claim 6,
When the component is notified that the dynamic information has been changed during operation to the effect processing means, the request information related to the resources of the entire system is calculated by integrating the resource request information. If the requested content indicated by the information is allowed, the system management means sets or changes the resource in accordance with the requested content. If the requested content indicated by the information is not allowed, the system management means An information processing apparatus characterized in that the means maintains the current setting state.
JP2003274779A 2003-07-15 2003-07-15 Information processing device Expired - Fee Related JP4251278B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003274779A JP4251278B2 (en) 2003-07-15 2003-07-15 Information processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003274779A JP4251278B2 (en) 2003-07-15 2003-07-15 Information processing device

Publications (2)

Publication Number Publication Date
JP2005038198A true JP2005038198A (en) 2005-02-10
JP4251278B2 JP4251278B2 (en) 2009-04-08

Family

ID=34211641

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003274779A Expired - Fee Related JP4251278B2 (en) 2003-07-15 2003-07-15 Information processing device

Country Status (1)

Country Link
JP (1) JP4251278B2 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007219175A (en) * 2006-02-16 2007-08-30 Univ Waseda Recognizer constructing system, recognizer constructing method, assembly service providing system and program
JP2007233546A (en) * 2006-02-28 2007-09-13 Seiko Epson Corp Multifunctional composite system, composite resource management method and program
JP2008191786A (en) * 2007-02-01 2008-08-21 Canon Inc Program management device, program management method and program
JP2009005209A (en) * 2007-06-25 2009-01-08 Fuji Xerox Co Ltd Image processor
JP2009111903A (en) * 2007-10-31 2009-05-21 Ricoh Co Ltd Image processing apparatus, image processing method, and image processing program
JP2012221172A (en) * 2011-04-07 2012-11-12 Canon Inc Information processor and information processing method

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007219175A (en) * 2006-02-16 2007-08-30 Univ Waseda Recognizer constructing system, recognizer constructing method, assembly service providing system and program
JP2007233546A (en) * 2006-02-28 2007-09-13 Seiko Epson Corp Multifunctional composite system, composite resource management method and program
JP2008191786A (en) * 2007-02-01 2008-08-21 Canon Inc Program management device, program management method and program
JP2009005209A (en) * 2007-06-25 2009-01-08 Fuji Xerox Co Ltd Image processor
JP2009111903A (en) * 2007-10-31 2009-05-21 Ricoh Co Ltd Image processing apparatus, image processing method, and image processing program
US8180181B2 (en) 2007-10-31 2012-05-15 Ricoh Company, Ltd. Image processing apparatus, image processing method, and image processing program
JP2012221172A (en) * 2011-04-07 2012-11-12 Canon Inc Information processor and information processing method

Also Published As

Publication number Publication date
JP4251278B2 (en) 2009-04-08

Similar Documents

Publication Publication Date Title
RU2494560C2 (en) Media processor for organising multimedia data
CA2605187C (en) Media timeline sorting
US7526776B2 (en) Systems and methods for generating and managing filter strings in a filter graph utilizing a matrix switch
US8166194B2 (en) Lock-free shared audio buffer
US20070050479A1 (en) Content receiving apparatus and content receiving method
JP2008507160A (en) Background transcoding
KR20040005919A (en) Real-time control of playback rates in presentations
KR20070121662A (en) Media timeline processing infrastructure
US7941739B1 (en) Timeline source
JP4251278B2 (en) Information processing device
US9111009B2 (en) Self-parsing XML documents to improve XML processing
US7934159B1 (en) Media timeline
JP4992568B2 (en) Client device, data processing method and program thereof
CN108282720B (en) Audio data stream transmission method and device
JP2012514383A (en) Media portability and compatibility for different destination platforms
WO2024067645A1 (en) Processing method and related apparatus
JP2009503757A (en) Method and apparatus for controlling reproduction of optical disc program
JP6861243B2 (en) Smart speaker service processing methods, devices and smart speakers
JP2006067074A (en) Information processor, sound reproduction system, sound reproduction method, and program therefor
CN117425034A (en) Video playing method and device, electronic equipment and computer readable storage medium
CN113765886A (en) Multimedia playing method, device, storage medium and electronic equipment
JPH09231160A (en) Encoding and decoding device
CN117348834A (en) Method, system, device and storage medium for realizing cross-core audio
Archibald Audio System for Portable Market
US20040220877A1 (en) Media center storage device proxy

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060704

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080616

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080626

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080825

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: 20081225

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: 20090107

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120130

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees