JP7202047B1 - Program, information processing system and information processing method - Google Patents

Program, information processing system and information processing method Download PDF

Info

Publication number
JP7202047B1
JP7202047B1 JP2022161123A JP2022161123A JP7202047B1 JP 7202047 B1 JP7202047 B1 JP 7202047B1 JP 2022161123 A JP2022161123 A JP 2022161123A JP 2022161123 A JP2022161123 A JP 2022161123A JP 7202047 B1 JP7202047 B1 JP 7202047B1
Authority
JP
Japan
Prior art keywords
signal
algorithm
information processing
software development
development kit
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.)
Active
Application number
JP2022161123A
Other languages
Japanese (ja)
Other versions
JP2024006862A (en
Inventor
晋一郎 中村
Original Assignee
リベラルロジック株式会社
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 リベラルロジック株式会社 filed Critical リベラルロジック株式会社
Application granted granted Critical
Publication of JP7202047B1 publication Critical patent/JP7202047B1/en
Publication of JP2024006862A publication Critical patent/JP2024006862A/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Processing (AREA)

Abstract

【課題】ユーザが特段のアルゴリズムの工夫をせずに、チャネル数に関わらずリアルタイム性の高い信号処理を実現可能なプログラム、情報処理システム及び情報処理方法を提供する。【解決手段】情報処理システム1において、情報処理装置のプログラムは、少なくとも1つのコンピュータに、次の各ステップを実行させる。読出ステップでは、ユーザに実装された信号処理のアルゴリズムを読み出す。第1の受付ステップでは、コンピュータに接続される、少なくとも1つの情報入力装置から出力された信号を受け付ける。並列処理ステップでは、信号のチャネル数に応じた並列スレッドと、アルゴリズムの独立した専用スレッドとを立て、信号処理を実行する。【選択図】図1A program, an information processing system, and an information processing method capable of realizing highly real-time signal processing irrespective of the number of channels without user devising special algorithms are provided. A program of an information processing device in an information processing system causes at least one computer to execute the following steps. In the reading step, the signal processing algorithm implemented by the user is read. The first receiving step receives a signal output from at least one information input device connected to the computer. In the parallel processing step, parallel threads corresponding to the number of signal channels and dedicated threads independent of algorithms are established to execute signal processing. [Selection drawing] Fig. 1

Description

特許法第30条第2項適用 令和4年1月3日に「MIMO DSP Platform」https://mimodsp.liberallogic.co.jp/ja/およびhttps://mimodsp.liberallogic.co.jp/en/にて発表 〔刊行物等〕 令和4年1月31日に株式会社NTTドコモにオンライン打合せ、令和4年2月10日にオンライン説明会、および令和4年3月25日に販売により発表 〔刊行物等〕 令和4年4月1日に株式会社クレッセントのウェブサイトhttps://crescentinc.co.jp/product/mimo/p_top/にて発表 〔刊行物等〕 令和4年5月13日にリベラルロジック株式会社内で開催した株式会社計測技術研究所向けに行われた実機デモ説明会にて発表 Application of Article 30, Paragraph 2 of the Patent Act On January 3, 2022, “MIMO DSP Platform” https://mimodsp. liberal logic. co. jp/ja/ and https://mimodsp. liberal logic. co. Announced at jp/en/ [Publications, etc.] Online meeting with NTT DoCoMo, Inc. on January 31, 2022, online briefing on February 10, 2022, and March 25, 2022 [Publications, etc.] On April 1, 2020, Crescent Co., Ltd.'s website https://crescentinc. co. Announced at jp/product/mimo/p_top/ [Publications, etc.] At the actual machine demonstration briefing held for Keisoku Giken Co., Ltd. held at Liberal Logic Co., Ltd. on May 13, 2022. Presentation

本発明は、プログラム、情報処理システム及び情報処理方法に関する。 The present invention relates to a program, an information processing system and an information processing method.

特許文献1には、信号処理を行う装置の一例として、画像処理を並列処理で行う画像処理装置等が開示されている。 Japanese Patent Application Laid-Open No. 2002-200002 discloses an image processing apparatus that performs image processing in parallel as an example of an apparatus that performs signal processing.

この画像処理装置では、画像処理部は、分割画像の画素と、画素格納部に格納されたのりしろ画素のうち、画素格納部に格納されていない分割画像の画素を参照しない画素と、に対するフィルタ処理を行う。また、画像処理部と並行してフィルタ処理を行う画像処理部は、分割画像の画素のうち、分割画像の画素を参照しない画素に対するフィルタ処理を行う。 In this image processing device, the image processing unit performs filtering on the pixels of the divided image and the pixels of the marginal pixels stored in the pixel storage unit that do not refer to the pixels of the divided image that are not stored in the pixel storage unit. I do. In addition, the image processing unit that performs filter processing in parallel with the image processing unit performs filter processing on pixels that do not refer to the pixels of the divided image among the pixels of the divided image.

特開2015-138417号公報JP 2015-138417 A

しかしながら、特許文献1に開示されるような技術のように、信号処理のアルゴリズムを研究開発するにあたって、ユーザは、プロダクトごとに、多チャネルの並列処理を行うソースコードを書く必要があり、手間がかかっていた。 However, like the technology disclosed in Patent Document 1, when researching and developing signal processing algorithms, users need to write source code for parallel processing of multiple channels for each product, which is time-consuming. It was hanging

本発明では上記事情を鑑み、ユーザが特段のアルゴリズムの工夫をせずに、チャネル数に関わらずリアルタイム性の高い信号処理を実現可能なプログラム等を提供することとした。 In view of the above circumstances, the present invention provides a program or the like that can realize highly real-time signal processing regardless of the number of channels without the user having to devise special algorithms.

本発明の一態様によれば、プログラムが提供される。このプログラムは、少なくとも1つのコンピュータに、次の各ステップを実行させる。読出ステップでは、ユーザに実装された信号処理のアルゴリズムを読み出す。第1の受付ステップでは、コンピュータに接続される、少なくとも1つの情報入力装置から出力された信号を受け付ける。並列処理ステップでは、信号のチャネル数に応じた並列スレッドと、アルゴリズムの独立した専用スレッドとを立て、信号処理を実行する。 According to one aspect of the invention, a program is provided. This program causes at least one computer to perform the following steps. In the reading step, the signal processing algorithm implemented by the user is read. The first receiving step receives a signal output from at least one information input device connected to the computer. In the parallel processing step, parallel threads corresponding to the number of signal channels and dedicated threads independent of algorithms are established to execute signal processing.

このような態様によれば、ユーザが特段のアルゴリズムの工夫をせずに、チャネル数に関わらずリアルタイム性の高い信号処理を実現することができる。 According to this aspect, the user can realize highly real-time signal processing regardless of the number of channels without devising a special algorithm.

本実施形態に係る情報処理システム1を表す構成図である。1 is a configuration diagram showing an information processing system 1 according to this embodiment; FIG. 情報処理装置2のハードウェア構成を示すブロック図である。2 is a block diagram showing the hardware configuration of the information processing device 2; FIG. 本実施形態に係る情報処理装置2における制御部23等によって実現される機能を示すブロック図である。3 is a block diagram showing functions realized by a control unit 23 and the like in the information processing apparatus 2 according to the embodiment; FIG. 本実施形態に係る情報処理システム1による情報処理方法の一例を示すアクティビティ図である。4 is an activity diagram showing an example of an information processing method by the information processing system 1 according to this embodiment; FIG.

以下、図面を用いて本発明の実施形態について説明する。以下に示す実施形態中で示した各種特徴事項は、互いに組み合わせ可能である。 Embodiments of the present invention will be described below with reference to the drawings. Various features shown in the embodiments shown below can be combined with each other.

ところで、本実施形態に登場するソフトウェアを実現するためのプログラムは、コンピュータが読み取り可能な非一時的な記録媒体(Non-Transitory Computer-Readable Medium)として提供されてもよいし、外部のサーバからダウンロード可能に提供されてもよいし、外部のコンピュータで当該プログラムを起動させてクライアント端末でその機能を実現(いわゆるクラウドコンピューティング)するように提供されてもよい。 By the way, the program for realizing the software appearing in this embodiment may be provided as a non-transitory computer-readable medium (Non-Transitory Computer-Readable Medium), or may be downloaded from an external server. It may be provided as possible, or may be provided so that the program is activated on an external computer and the function is realized on the client terminal (so-called cloud computing).

また、本実施形態において「部」とは、例えば、広義の回路によって実施されるハードウェア資源と、これらのハードウェア資源によって具体的に実現されうるソフトウェアの情報処理とを合わせたものも含みうる。また、本実施形態においては様々な情報を取り扱うが、これら情報は、例えば電圧・電流を表す信号値の物理的な値、0又は1で構成される2進数のビット集合体としての信号値の高低、又は量子的な重ね合わせ(いわゆる量子ビット)によって表され、広義の回路上で通信・演算が実行されうる。 Further, in the present embodiment, the term “unit” may include, for example, a combination of hardware resources implemented by circuits in a broad sense and software information processing that can be specifically realized by these hardware resources. . In addition, various information is handled in the present embodiment, and these information are, for example, physical values of signal values representing voltage and current, and signal values as binary bit aggregates composed of 0 or 1. It is represented by high and low, or quantum superposition (so-called quantum bit), and communication and operation can be performed on a circuit in a broad sense.

また、広義の回路とは、回路(Circuit)、回路類(Circuitry)、プロセッサ(Processor)、及びメモリ(Memory)等を少なくとも適当に組み合わせることによって実現される回路である。すなわち、特定用途向け集積回路(Application Specific Integrated Circuit:ASIC)、プログラマブル論理デバイス(例えば、単純プログラマブル論理デバイス(Simple Programmable Logic Device:SPLD)、複合プログラマブル論理デバイス(Complex Programmable Logic Device:CPLD)、及びフィールドプログラマブルゲートアレイ(Field Programmable Gate Array:FPGA))等を含むものである。 A circuit in a broad sense is a circuit implemented by appropriately combining at least circuits, circuits, processors, memories, and the like. Application Specific Integrated Circuits (ASICs), programmable logic devices (e.g., Simple Programmable Logic Devices (SPLDs), Complex Programmable Logic Devices (CPLDs), and field It includes a programmable gate array (Field Programmable Gate Array: FPGA).

[実施形態]
1.ハードウェア構成
本節では、本実施形態のハードウェア構成について説明する。
[Embodiment]
1. Hardware Configuration This section describes the hardware configuration of this embodiment.

1.1 情報処理システム1
図1は、本実施形態に係る情報処理システム1を表す構成図である。一例において、情報処理システム1は、情報処理装置2と、複数の撮像装置3(情報入力装置の一例)と、表示装置4(情報出力装置の一例)とを備える。複数の撮像装置3は、情報処理装置2に汎用又は専用の通信規格を介して接続されている。表示装置4は、情報処理装置2に汎用又は専用の通信規格を介して接続されている。ここで、情報処理システム1に例示されるシステムとは、1つ又はそれ以上の装置又は構成要素からなるものである。したがって、情報処理装置2単体であっても情報処理システム1に例示されるシステムに含まれる。以下、情報処理システム1に含まれる各構成要素についてさらに説明する。
1.1 Information processing system 1
FIG. 1 is a configuration diagram showing an information processing system 1 according to this embodiment. In one example, an information processing system 1 includes an information processing device 2, a plurality of imaging devices 3 (an example of an information input device), and a display device 4 (an example of an information output device). A plurality of imaging devices 3 are connected to the information processing device 2 via a general-purpose or dedicated communication standard. The display device 4 is connected to the information processing device 2 via a general-purpose or dedicated communication standard. Here, the system exemplified by the information processing system 1 consists of one or more devices or components. Therefore, even the information processing device 2 alone is included in the system exemplified by the information processing system 1 . Each component included in the information processing system 1 will be further described below.

1.3 情報処理装置2
図2は、情報処理装置2のハードウェア構成を示すブロック図である。情報処理装置2は、通信部21と、記憶部22と、制御部23と、入力部25とを有し、これらの構成要素が情報処理装置2の内部において通信バス20を介して電気的に接続されている。各構成要素についてさらに説明する。
1.3 Information processing device 2
FIG. 2 is a block diagram showing the hardware configuration of the information processing device 2. As shown in FIG. The information processing device 2 has a communication unit 21 , a storage unit 22 , a control unit 23 and an input unit 25 , and these components are electrically connected inside the information processing device 2 via the communication bus 20 . It is connected. Each component will be further described.

通信部21は、USB、IEEE1394、Thunderbolt(登録商標)、有線LANネットワーク通信等といった有線型の通信手段が好ましいものの、無線LANネットワーク通信、3G/LTE/5G等のモバイル通信、Bluetooth(登録商標)通信等を必要に応じて含めてもよい。すなわち、これら複数の通信手段の集合として実施することがより好ましい。すなわち、情報処理装置2は、通信部21及び通信ネットワークを介して、外部から種々の情報を通信してもよい。特に好ましくは、通信部21は、汎用又は専用の通信規格を介して複数の撮像装置3及び表示装置4とそれぞれ接続されている。 The communication unit 21 is preferably a wired communication means such as USB, IEEE1394, Thunderbolt (registered trademark), wired LAN network communication, etc., but wireless LAN network communication, mobile communication such as 3G/LTE/5G, Bluetooth (registered trademark), etc. Communication and the like may be included as desired. That is, it is more preferable to implement as a set of these communication means. That is, the information processing device 2 may communicate various information from the outside via the communication unit 21 and the communication network. Particularly preferably, the communication unit 21 is connected to each of the plurality of imaging devices 3 and display devices 4 via a general-purpose or dedicated communication standard.

記憶部22は、前述の記載により定義される様々な情報を記憶する。これは、例えば、制御部23によって実行される情報処理装置2に係る種々のプログラム等を記憶するソリッドステートドライブ(Solid State Drive:SSD)等のストレージデバイスとして、あるいは、プログラムの演算に係る一時的に必要な情報(引数、配列等)を記憶するランダムアクセスメモリ(Random Access Memory:RAM)等のメモリとして実施されうる。記憶部22は、制御部23によって実行される情報処理装置2に係る種々のプログラムや変数等を記憶している。 The storage unit 22 stores various information defined by the above description. For example, it can be used as a storage device such as a solid state drive (SSD) for storing various programs related to the information processing device 2 executed by the control unit 23, or as a temporary storage device related to program calculation. It can be implemented as a memory such as a Random Access Memory (RAM) that stores information (arguments, arrays, etc.) required for the . The storage unit 22 stores various programs, variables, etc. related to the information processing device 2 executed by the control unit 23 .

制御部23は、情報処理装置2に関連する全体動作の処理・制御を行う。制御部23は、例えば不図示の中央処理装置(Central Processing Unit:CPU)である。制御部23は、記憶部22に記憶された所定のプログラムを読み出すことによって、情報処理装置2に係る種々の機能を実現する。すなわち、記憶部22に記憶されているソフトウェアによる情報処理が、ハードウェアの一例である制御部23によって具体的に実現されることで、制御部23に含まれる各機能部として実行されうる。これらについては、次節においてさらに詳述する。なお、制御部23は単一であることに限定されず、機能ごとに複数の制御部23を有するように実施してもよい。またそれらの組合せであってもよい。すなわち、制御部23は、後述の各ステップを実行させるプログラムを実行可能なプロセッサの一例である。 The control unit 23 processes and controls overall operations related to the information processing device 2 . The control unit 23 is, for example, a central processing unit (CPU) (not shown). The control unit 23 implements various functions related to the information processing device 2 by reading a predetermined program stored in the storage unit 22 . That is, information processing by software stored in the storage unit 22 can be specifically realized by the control unit 23 which is an example of hardware, and can be executed as each functional unit included in the control unit 23 . These are further detailed in the next section. Note that the control unit 23 is not limited to a single unit, and may be implemented to have a plurality of control units 23 for each function. A combination thereof may also be used. That is, the control unit 23 is an example of a processor capable of executing a program for executing each step described later.

入力部25は、情報処理装置2の筐体に含まれるものであってもよいし、外付けされるものであってもよい。例えば、入力部25は、後述の表示装置4と一体となってタッチパネルとして実施されてもよい。タッチパネルであれば、ユーザは、タップ操作、スワイプ操作等を入力することができる。もちろん、タッチパネルに代えて、スイッチボタン、マウス、QWERTYキーボード等を採用してもよい。すなわち、入力部25がユーザによってなされた操作入力を受け付ける。当該入力が命令信号として、通信バス20を介して制御部23に転送され、制御部23が必要に応じて所定の制御や演算を実行しうる。 The input unit 25 may be included in the housing of the information processing device 2 or may be externally attached. For example, the input unit 25 may be implemented as a touch panel integrated with the display device 4 described later. With a touch panel, the user can input a tap operation, a swipe operation, or the like. Of course, a switch button, a mouse, a QWERTY keyboard, or the like may be employed instead of the touch panel. That is, the input unit 25 receives an operation input made by the user. The input is transferred as a command signal to the control unit 23 via the communication bus 20, and the control unit 23 can execute predetermined control and calculation as necessary.

なお、情報処理装置2は、汎用OSをインストールされたコンピュータでもよいし、信号処理に係る専用回路を搭載した専用装置であってもよい。 The information processing device 2 may be a computer installed with a general-purpose OS, or may be a dedicated device equipped with a dedicated circuit for signal processing.

1.3 撮像装置3
撮像装置3は、外界の情報を画像として取得可能に構成される、いわゆるビジョンセンサ(カメラ)である。撮像装置3の分解能は特に限定されず、空間分解能(解像度)が高い撮像装置3が採用されてもよいし、時間分解能(フレームレート)が高い撮像装置3が採用されることが好ましい。一例では、n個の撮像装置3として、撮像装置3-1,3-2,3-3・・・3-nが、情報処理装置2に接続されている。
1.3 Imaging device 3
The imaging device 3 is a so-called vision sensor (camera) configured to be able to acquire information of the outside world as an image. The resolution of the imaging device 3 is not particularly limited, and an imaging device 3 with high spatial resolution (resolution) may be employed, or an imaging device 3 with high temporal resolution (frame rate) is preferably employed. In one example, imaging devices 3-1, 3-2, 3-3 . . . 3-n are connected to the information processing device 2 as the n imaging devices 3. FIG.

撮像装置3の解像度は、フルHD以下でもよいし、フルHDでもよいし、WQHDでもよいし、2Kでもよいし、4Kでもよいし、8Kでもよいし、それ以上でもよい。 The resolution of the imaging device 3 may be full HD or lower, full HD, WQHD, 2K, 4K, 8K, or higher.

撮像装置3のフレームレートは、具体的には例えば、1,2,45,10,15,20,25,30,60,100,125,150,175,200,225,250,275,300,325,350,375,400,425,450,475,500,525,550,575,600,625,650,675,700,725,750,775,800,825,850,875,900,925,950,975,1000,1025,1050,1075,1100,1125,1150,1175,1200,1225,1250,1275,1300,1325,1350,1375,1400,1425,1450,1475,1500,1525,1550,1575,1600,1625,1650,1675,1700,1725,1750,1775,1800,1825,1850,1875,1900,1925,1950,1975,2000fpsであり、ここで例示した数値の何れか2つの間の範囲内であってもよい。あるいは、1フレームに1秒以上を有する処理レートでもよい。 Specifically, the frame rate of the imaging device 3 is, for example, 325,350,375,400,425,450,475,500,525,550,575,600,625,650,675,700,725,750,775,800,825,850,875,900,925, 950, 975, 1000, 1025, 1050, 1075, 1100, 1125, 1150, 1175, 1200, 1225, 1250, 1275, 1300, 1325, 1350, 1375, 1400, 1425, 1450, 1475, 1500, 1525, 1550, 1575, 1600, 1625, 1650, 1675, 1700, 1725, 1750, 1775, 1800, 1825, 1850, 1875, 1900, 1925, 1950, 1975, 2000 fps, and between any two of the numerical values exemplified here may be within the range. Alternatively, a processing rate having one second or more per frame may be used.

1.4 表示装置4
表示装置4は、情報処理装置2より出力された時系列画像(映像)を表示可能に構成される。表示装置4は、例えば、CRTディスプレイ、液晶ディスプレイ、有機ELディスプレイ及びプラズマディスプレイ等である。また、表示装置4は、不図示の音声出力部を備えていてもよい。音声出力部は、情報処理装置2より出力された映像の音声を出力可能に構成される。なお、情報処理システム1が複数の表示装置4を有するように実施してもよい。
1.4 Display device 4
The display device 4 is configured to be able to display time-series images (video) output from the information processing device 2 . The display device 4 is, for example, a CRT display, a liquid crystal display, an organic EL display, a plasma display, or the like. Moreover, the display device 4 may include an audio output unit (not shown). The audio output unit is configured to be capable of outputting the audio of the video output from the information processing device 2 . Note that the information processing system 1 may be implemented so as to have a plurality of display devices 4 .

2.機能構成
本節では、本実施形態の機能構成について説明する。前述の通り、記憶部22に記憶されているソフトウェアによる情報処理がハードウェアの一例である制御部23によって具体的に実現されることで、制御部23に含まれる各機能部が実行されうる。
2. Functional Configuration This section describes the functional configuration of this embodiment. As described above, information processing by software stored in the storage unit 22 is specifically realized by the control unit 23, which is an example of hardware, so that each function unit included in the control unit 23 can be executed.

図3は、本実施形態に係る情報処理装置2における制御部23等によって実現される機能を示すブロック図である。具体的には、情報処理装置2は、各機能部として、読出部231と、受付部232と、並列処理部233と、最適化部234と、出力部235とを備える。 FIG. 3 is a block diagram showing functions realized by the control unit 23 and the like in the information processing apparatus 2 according to this embodiment. Specifically, the information processing device 2 includes a reading unit 231, a reception unit 232, a parallel processing unit 233, an optimization unit 234, and an output unit 235 as functional units.

読出部231は、記憶部22に記憶された種々の情報を、記憶部22のキャッシュメモリに書き出すことで、読み出すように構成される。 The reading unit 231 is configured to read various information stored in the storage unit 22 by writing the information to the cache memory of the storage unit 22 .

受付部232は、種々の情報を外部から受け付けるように構成される。好ましくは、撮像装置3より出力される映像を受信する。 The reception unit 232 is configured to receive various types of information from the outside. Preferably, the image output from the imaging device 3 is received.

並列処理部233は、受信した、複数チャネル、例えばnチャネルの映像に対して、並列処理可能に信号処理を行うための、制御部23のコアの割当を実行するよう構成される。 The parallel processing unit 233 is configured to perform allocation of cores of the control unit 23 for performing signal processing on received video of multiple channels, for example, n channels, so that parallel processing is possible.

最適化部234は、並列処理にあたってのデータフローを最適化可能に、情報処理システム1の動作を制御するように構成される。 The optimization unit 234 is configured to control the operation of the information processing system 1 so as to optimize the data flow for parallel processing.

出力部235は、種々の情報、又はこれらを含む画面、画像等を、表示装置4で視認可能な態様で表示させる。出力部235は、視覚情報を表示装置4に表示させるためのレンダリング情報だけを生成してもよい。また、出力部235は、音声データを出力してもよいし、メタデータを出力してもよい。 The output unit 235 displays various types of information, screens, images, etc. containing these information in a form that can be visually recognized on the display device 4 . The output unit 235 may generate only rendering information for displaying visual information on the display device 4 . Also, the output unit 235 may output audio data, or may output metadata.

3.情報処理方法
図4は、本実施形態に係る情報処理システム1による情報処理方法の一例を示すアクティビティ図である。以下、本図における各アクティビティに沿って説明をする。ここでは、チャネル数Nの撮像装置3によって撮像された各画像を情報処理装置2において合成して、高解像度の出力画像を表示装置4に表示させる例を取り上げる。より具体的には例えば、撮像装置3は8Kの解像度を有するカメラであり、表示装置4に表示させる出力画像は、超高解像、例えば64Kの映像である。
3. Information Processing Method FIG. 4 is an activity diagram showing an example of an information processing method by the information processing system 1 according to the present embodiment. Each activity in this figure will be described below. Here, an example in which images captured by the imaging devices 3 having N channels are synthesized in the information processing device 2 and a high-resolution output image is displayed on the display device 4 will be taken up. More specifically, for example, the imaging device 3 is a camera having a resolution of 8K, and the output image to be displayed on the display device 4 is an ultra-high resolution image, for example, a 64K image.

まず、ユーザが予め当該合成処理に関するアルゴリズムALを実装する(アクティビティA001)。好ましくは、プログラムは、信号処理に関するソフトウェア開発キットであり、ユーザは、当該ソフトウェア開発キットを用いて、アルゴリズムALを実装する。このような態様によれば、本プログラムをミドルウェアとして使用して、信号処理のソフトウェア開発をより容易に実現することができる。なお、アルゴリズムALを実装する上で、種々の画像処理又は信号処理向けのライブラリが採用されてもよい。かかるライブラリには、例えば、OpenCV、CUDA及びOpenGLが少なくとも含まれうる。また、アルゴリズムALは、対象となるデータそのものの外部からの入力と、外部への出力とについてのデータフローに関する命令を含んでいない。換言すると、アルゴリズムALは、信号のスレッド処理に関する命令を含んでいない。 First, the user implements in advance an algorithm AL related to the synthesis process (activity A001). Preferably, the program is a software development kit for signal processing, and the user implements the algorithm AL using the software development kit. According to this aspect, the present program can be used as middleware to more easily realize software development for signal processing. Note that various libraries for image processing or signal processing may be employed to implement the algorithm AL. Such libraries can include, for example, at least OpenCV, CUDA and OpenGL. Algorithm AL also does not include instructions regarding the data flow regarding the external input and external output of the target data itself. In other words, algorithm AL does not contain instructions for thread processing of signals.

続いて、情報処理装置2における記憶部22は、実装されたアルゴリズムを記憶する(アクティビティA002)。 Subsequently, the storage unit 22 in the information processing device 2 stores the implemented algorithm (activity A002).

続いて、情報処理装置2の入力側にチャネル数Nの撮像装置3を接続するとともに、情報処理装置2の出力側に表示装置4を接続することで、図1に示される情報処理システム1が構築される(アクティビティA003)。 Subsequently, by connecting the imaging device 3 having N channels to the input side of the information processing device 2 and connecting the display device 4 to the output side of the information processing device 2, the information processing system 1 shown in FIG. constructed (activity A003).

ここから、チャネル数Nの撮像装置3によって撮像された各撮像画像を情報処理装置2において合成して、高解像度の出力画像を表示装置4に表示させる処理が始まる。情報処理装置2の読出部231は、ユーザに実装された信号処理のアルゴリズムALを記憶部22から読み出す(アクティビティA004)。また、チャネル数Nの撮像装置3によって撮像された撮像画像が情報処理装置2に送信される。換言すると、情報処理装置2の受付部232は、第1の受付ステップとして、情報処理装置2に接続される、少なくとも1つの撮像装置3(情報入力装置の一例)によって出力された信号SGの一例である撮像画像を受け付ける(アクティビティA005)。なお、受付部232は、撮像画像とともに音声データを受け付けてもよい。つまり好ましくは、信号SGは、画像又は音声に関する信号である。 From here, the process of synthesizing the captured images captured by the imaging devices 3 with N channels in the information processing device 2 and displaying the high-resolution output image on the display device 4 starts. The reading unit 231 of the information processing device 2 reads the signal processing algorithm AL implemented by the user from the storage unit 22 (activity A004). In addition, a captured image captured by the imaging device 3 having N channels is transmitted to the information processing device 2 . In other words, the reception unit 232 of the information processing device 2, as a first reception step, is an example of the signal SG output by at least one imaging device 3 (an example of an information input device) connected to the information processing device 2. (Activity A005). Note that the reception unit 232 may receive audio data together with the captured image. In other words, the signal SG is preferably a signal relating to images or sounds.

続いて、情報処理装置2における並列処理部233が、アルゴリズムALの内容と、信号SGの種類及びチャネル数Nとに基づいて、アルゴリズムALを実行するための並列処理を構築する(アクティビティA006)。ところで、先に述べた通り、アルゴリズムALは、対象となるデータそのものの外部からの入力と、外部への出力とについてのデータフローに関する命令を含んでいない。このような場合においても、並列処理部233は、信号SGのチャネル数Nに応じた並列スレッドと、アルゴリズムALの独立した専用スレッドとを立て、信号処理を実行する。ここでは、受付部232が信号SGの一例である撮像画像をフレームごとに継続的に受け付け(アクティビティA007)、並列処理部233によって規定された並列スレッドを用いて、前述の画像処理が実行される(アクティビティA008)。より好ましくは、最適化部234は、並列処理部233において処理された信号SGそれぞれのデータフローを最適化する。このような態様によれば、複数チャネルの信号SGを適切に切り分けたデータフローを取り扱うことができ、リアルタイム性の高い信号処理を実現することができる。 Subsequently, the parallel processing unit 233 in the information processing device 2 constructs parallel processing for executing the algorithm AL based on the contents of the algorithm AL, the type of the signal SG and the number of channels N (activity A006). By the way, as described above, the algorithm AL does not include instructions regarding the data flow regarding the input of the target data itself from the outside and the output to the outside. Even in such a case, the parallel processing unit 233 establishes parallel threads corresponding to the number N of channels of the signal SG and an independent dedicated thread for the algorithm AL to execute signal processing. Here, the receiving unit 232 continuously receives captured images, which are an example of the signal SG, for each frame (activity A007), and the above-described image processing is executed using parallel threads defined by the parallel processing unit 233. (Activity A008). More preferably, the optimization section 234 optimizes the data flow of each signal SG processed in the parallel processing section 233 . According to such an aspect, it is possible to handle a data flow obtained by appropriately dividing the signal SG of a plurality of channels, and realize highly real-time signal processing.

また、並列処理部233は、アルゴリズムALと信号SGとのうちの少なくとも一方と、予め設定された参照情報とに基づいて、アルゴリズムALをコンパイル無しに実行する。参照情報は、種々の入力信号及びその信号処理の内容と、好ましい並列処理とに関する情報であり、ルールベースの情報でもよいし、両者の関係性を予め学習させた学習済みモデルであってもよい。さらに好ましくは、参照情報は、少なくとも信号SGのチャネル数Nを含む所定ファイルFを含んでもよい。かかる場合、好ましくは、読出部231は、信号のチャネル数を含む所定ファイルをさらに読み出し、並列処理部233は、所定ファイルに基づいて、並列スレッドを立て、アルゴリズムを実行する。このような態様によれば、アルゴリズムALの再コンパイル無しに1以上のチャネルの信号処理を実現することができる。より具体的には、種々のアルゴリズムAL及び入力される信号SGに対応した参照情報を用意しておくことで、アルゴリズムAL及び信号SGがプラグインの形式で情報処理システム1に機能付与することが可能となり、アルゴリズムALそのものの再コンパイル無しに実現することができる。 Also, the parallel processing unit 233 executes the algorithm AL without compiling based on at least one of the algorithm AL and the signal SG and preset reference information. The reference information is information about various input signals, their signal processing details, and preferable parallel processing, and may be rule-based information, or a trained model in which the relationship between the two is learned in advance. . More preferably, the reference information may include a predetermined file F containing at least the number of channels N of the signal SG. In such a case, preferably, the reading unit 231 further reads a predetermined file containing the number of signal channels, and the parallel processing unit 233 establishes parallel threads based on the predetermined file and executes the algorithm. According to such an aspect, signal processing of one or more channels can be realized without recompiling the algorithm AL. More specifically, by preparing reference information corresponding to various algorithms AL and input signals SG, the algorithms AL and signals SG can add functions to the information processing system 1 in the form of plug-ins. possible, and can be implemented without recompiling the algorithm AL itself.

ここで好ましくは、信号SGは、複数のデータ列であり、並列処理部233は、データ列をFIFO(First-IN First-Out)で処理する。すなわち、信号SGの入出力に関しての順序が保存されるように、並列処理が実行される。このような態様によれば、処理の前段と後段とを別々のCPUコアで並列動作させることができ、これにより、システムに存在するCPUコアの数で、計算処理をスケールさせることができ、その結果リアルタイム性を高めることが可能となる。 Here, preferably, the signal SG is a plurality of data strings, and the parallel processing section 233 processes the data strings with FIFO (First-In First-Out). That is, parallel processing is performed so that the order of input/output of the signal SG is preserved. According to this aspect, the front stage and the rear stage of the processing can be operated in parallel by separate CPU cores, so that the calculation processing can be scaled with the number of CPU cores present in the system. As a result, real-time performance can be enhanced.

最後に、並列処理によりアルゴリズムALが実行された結果、信号SGの一例である撮像画像が合成された所望画像が出力される(アクティビティA009)。換言すると、情報処理装置2における出力部235は、最適化されたデータフローに基づいて、アルゴリズムALを適用した出力信号SGを出力する。表示装置4は、出力信号SGの一例である合成画像を表示する。このような態様によれば、リアルタイム性の高い信号処理を介して、所望の出力結果を得ることができる。 Finally, as a result of executing the algorithm AL by parallel processing, a desired image obtained by synthesizing the captured image, which is an example of the signal SG, is output (activity A009). In other words, the output unit 235 in the information processing device 2 outputs the output signal SG to which the algorithm AL is applied based on the optimized data flow. The display device 4 displays a synthesized image, which is an example of the output signal SG. According to this aspect, a desired output result can be obtained through highly real-time signal processing.

以後、情報処理装置2に入力される信号SGのフレームごとにアクティビティA007~A009に示される、撮像画像の入力と、画像処理と、所望画像の出力とがフレームごとに繰り返される。また、入力に関する処理と、画像処理と、出力に関する処理とは、並列スレッドによって同時に実施されるとよい。具体的には、ある時刻でのフレームの入力と、ある時刻よりも過去である第1の過去時刻のフレームに関する画像処理と、第1の過去時刻よりも過去である第2の過去時刻のフレームが処理された処理後フレームの出力とが、並列スレッドによって同時に実行されうる。 After that, the input of the captured image, the image processing, and the output of the desired image shown in activities A007 to A009 are repeated for each frame of the signal SG input to the information processing apparatus 2 for each frame. Also, the processing related to input, the image processing, and the processing related to output may be performed simultaneously by parallel threads. Specifically, input of a frame at a certain time, image processing for a frame at a first past time that is past the certain time, and processing for a frame at a second past time that is past the first past time. can be performed concurrently by parallel threads.

以上をまとめると、本実施形態に係る情報処理システム1は、プログラムを実行可能な制御部23(プロセッサ)を備える。このプログラムは、少なくとも1つのコンピュータの一例である情報処理装置2に、次の各ステップを実行させる。読出部231は、ユーザに実装された信号処理のアルゴリズムALを読み出す。受付部232は、コンピュータに接続される、少なくとも1つの情報入力装置の一例である撮像装置3によって出力された信号SGの一例である撮像画像を受け付ける。並列処理部233は、信号SGのチャネル数Nに応じた並列スレッドと、アルゴリズムALの独立した専用スレッドとを立て、信号処理を実行する。 In summary, the information processing system 1 according to this embodiment includes a control unit 23 (processor) capable of executing a program. This program causes at least one information processing device 2, which is an example of a computer, to execute the following steps. The reading unit 231 reads out the signal processing algorithm AL implemented by the user. The receiving unit 232 receives a captured image, which is an example of the signal SG, output by the imaging device 3, which is an example of at least one information input device, connected to a computer. The parallel processing unit 233 establishes parallel threads corresponding to the number N of channels of the signal SG and an independent dedicated thread for the algorithm AL to execute signal processing.

あるいは、このプログラムは、少なくとも1つのコンピュータの一例である情報処理装置2に、次の各ステップを実行させる。読出部231は、ユーザに実装された信号処理のアルゴリズムALを読み出す。受付部232は、コンピュータに接続される、少なくとも1つの情報入力装置の一例である撮像装置3によって出力された信号SGの一例である撮像画像を受け付ける。並列処理部233は、アルゴリズムALに信号SGのスレッド処理に関する命令が含まれない場合に、信号SGのチャネル数Nに応じた並列スレッドを立て、アルゴリズムALを実行する。 Alternatively, this program causes at least one information processing device 2, which is an example of a computer, to execute the following steps. The reading unit 231 reads out the signal processing algorithm AL implemented by the user. The receiving unit 232 receives a captured image, which is an example of the signal SG, output by the imaging device 3, which is an example of at least one information input device, connected to a computer. The parallel processing unit 233 establishes parallel threads corresponding to the number of channels N of the signal SG and executes the algorithm AL when the algorithm AL does not include an instruction related to thread processing of the signal SG.

すなわち、この情報処理方法は、上記プログラムの各ステップを備える。 That is, this information processing method comprises each step of the above program.

このような態様によれば、ユーザが特段のアルゴリズムの工夫をせずに、チャネル数に関わらずリアルタイム性の高い信号処理を実現することができる。特に、広帯域を求められる高解像の映像や音声に対して、リアルタイム性の高い信号処理を実現することができる。 According to this aspect, the user can realize highly real-time signal processing regardless of the number of channels without devising a special algorithm. In particular, it is possible to realize highly real-time signal processing for high-resolution video and audio that require a wide band.

さらに、情報処理装置2に接続する撮像装置3(入力側)及び表示装置4(出力側)に特化したアルゴリズムAL設計を特段必要とせずに、個々の要件に応じて柔軟に、入出力のデバイスである情報入力装置及び情報出力装置を選択することができる。具体的には、SDIビデオカードSDKによる入出力、NDI APIを使った入出力、入力側に関する信号発生プラグイン、ネットワークAPIを使った入出力等の種々のプラグインが実現可能となる。 Furthermore, without special algorithm AL design for the imaging device 3 (input side) and the display device 4 (output side) connected to the information processing device 2, input/output can be flexibly adapted according to individual requirements. An information input device and an information output device, which are devices, can be selected. Specifically, various plug-ins such as input/output using the SDI video card SDK, input/output using the NDI API, signal generation plug-in related to the input side, and input/output using the network API can be realized.

[その他]
前述の実施形態が下記のようにさらに創意工夫されてもよい。
[others]
The foregoing embodiments may be further elaborated as follows.

参照情報の一態様である所定ファイルFをユーザが変更可能に構成されてもよい。換言すると、受付部232は、第2の受付ステップとして、所定ファイルFに含まれるチャネル数Nに対するユーザの変更入力を受け付ける。並列処理部233は、変更後の所定ファイルFに基づいて、並列スレッドを立て、アルゴリズムALを実行する。このような態様によれば、ユーザの所望するチャネル数Nを、アルゴリズムALの再コンパイル無しに実現することができる。 The user may be able to change the predetermined file F, which is one aspect of the reference information. In other words, the accepting unit 232 accepts a user input to change the number of channels N included in the predetermined file F as the second accepting step. The parallel processing unit 233 sets up parallel threads based on the changed predetermined file F and executes the algorithm AL. According to this aspect, the user's desired number of channels N can be realized without recompiling the algorithm AL.

前述の信号処理は、一例であって、画像処理でもよいし、音声データの処理でもよい。情報処理装置2が取り扱う信号のチャネル数Nは、撮像装置3に例示される情報入力装置の個数と一致しなくてもよい。撮像装置3が予め撮像された映像又は音声を再生する再生機器であってもよい。表示装置4が表示機能を有しない音声再生装置であってもよい。 The aforementioned signal processing is an example, and may be image processing or audio data processing. The number of channels N of signals handled by the information processing device 2 does not have to match the number of information input devices exemplified by the imaging device 3 . The imaging device 3 may be a reproducing device that reproduces pre-captured video or audio. The display device 4 may be an audio reproduction device that does not have a display function.

撮像装置3等の情報入力装置から情報処理装置2に入力される信号は、メタデータに関する信号であってもよい。メタデータは、例えば、画像又は音声に関連するメタデータであってもよい。メタデータに関連し、例えば、撮像装置3は、ToF(Time-of-Flight)カメラでもよい。かかる場合、ToFカメラから出力される深度情報は、メタデータの一例である。撮像装置3は、特定の対象を認識可能なAIカメラでもよい。かかる場合、AIカメラから出力される特定の対象の位置情報や、その時刻に関する時刻情報は、メタデータの一例である。このような態様によれば、メタデータを利用した種々の信号処理を、リアルタイム性を高めて実現することができる。 A signal input from an information input device such as the imaging device 3 to the information processing device 2 may be a signal relating to metadata. Metadata may be, for example, metadata associated with images or audio. In relation to the metadata, for example, the imaging device 3 may be a ToF (Time-of-Flight) camera. In such a case, the depth information output from the ToF camera is an example of metadata. The imaging device 3 may be an AI camera capable of recognizing a specific target. In this case, the positional information of the specific target output from the AI camera and the time information about the time are examples of the metadata. According to such an aspect, various signal processing using metadata can be realized with improved real-time performance.

情報処理装置2が、ネットワーク回線を通じて他の外部機器と接続可能に構成されてもよい。かかる場合、ユーザが特段のアルゴリズムALの工夫をせずに、チャネル数Nに関わらずデータフローが効率化された信号処理を、SaaS型のサービスとして実現することができる。 The information processing device 2 may be configured to be connectable to other external devices through a network line. In such a case, the user can realize signal processing with efficient data flow as a SaaS service regardless of the number of channels N without devising a special algorithm AL.

情報処理装置2が、音声処理に特化したサウンドカード又は画像処理に特化したグラフィックカードとして実現されてもよい。かかる場合、このような専用カードを既存のコンピュータに装着することで、本実施形態に係る情報処理システム1を実現することができる。 The information processing device 2 may be implemented as a sound card specialized for audio processing or a graphic card specialized for image processing. In such a case, the information processing system 1 according to this embodiment can be realized by installing such a dedicated card in an existing computer.

さらに、次に記載の各態様で提供されてもよい。 Furthermore, it may be provided in each aspect described below.

(1)プログラムであって、少なくとも1つのコンピュータに、次の各ステップを実行させ、読出ステップでは、ユーザに実装された信号処理のアルゴリズムを読み出し、第1の受付ステップでは、前記コンピュータに接続される、少なくとも1つの情報入力装置から出力された信号を受け付け、並列処理ステップでは、前記信号のチャネル数に応じた並列スレッドと、前記アルゴリズムの独立した専用スレッドとを立て、前記信号処理を実行する、もの。 (1) A program causing at least one computer to execute the following steps, reading a signal processing algorithm implemented by a user in a reading step, and connecting to the computer in a first receiving step receive a signal output from at least one information input device, and in the parallel processing step, set up parallel threads corresponding to the number of channels of the signal and an independent dedicated thread for the algorithm, and execute the signal processing ,thing.

このような態様によれば、ユーザが特段のアルゴリズムの工夫をせずに、チャネル数に関わらずリアルタイム性の高い信号処理を実現することができる。 According to this aspect, the user can realize highly real-time signal processing regardless of the number of channels without devising a special algorithm.

(2)プログラムであって、少なくとも1つのコンピュータに、次の各ステップを実行させ、読出ステップでは、ユーザに実装された信号処理のアルゴリズムを読み出し、第1の受付ステップでは、前記コンピュータに接続される、少なくとも1つの情報入力装置から出力された信号を受け付け、並列処理ステップでは、前記アルゴリズムに前記信号のスレッド処理に関する命令が含まれない場合に、前記信号のチャネル数に応じた並列スレッドを立て、前記アルゴリズムを実行する、もの。 (2) A program causing at least one computer to execute the following steps, reading a signal processing algorithm implemented by a user in a reading step, and connecting to the computer in a first receiving step; receiving a signal output from at least one information input device, and in the parallel processing step, if the algorithm does not include an instruction regarding thread processing of the signal, parallel threads are set up according to the number of channels of the signal. , which executes said algorithm.

このような態様によれば、ユーザが特段のアルゴリズムの工夫をせずに、チャネル数に関わらずリアルタイム性の高い信号処理を実現することができる。 According to this aspect, the user can realize highly real-time signal processing regardless of the number of channels without devising a special algorithm.

(3)上記(1)又は(2)に記載のプログラムにおいて、前記読出ステップでは、前記信号のチャネル数を含む所定ファイルをさらに読み出し、前記並列処理ステップでは、前記所定ファイルに基づいて、前記並列スレッドを立て、前記アルゴリズムを実行する、もの。 (3) In the program according to (1) or (2) above, the reading step further reads a predetermined file containing the number of channels of the signal, and the parallel processing step reads the parallel processing based on the predetermined file. One that spawns a thread and runs the algorithm.

このような態様によれば、アルゴリズムの再コンパイル無しに1以上のチャネルの信号処理を実現することができる。 According to such an aspect, signal processing of one or more channels can be realized without recompiling algorithms.

(4)上記(3)に記載のプログラムにおいて、さらに、第2の受付ステップでは、前記所定ファイルに含まれる前記チャネル数に対するユーザの変更入力を受け付け、前記並列処理ステップでは、変更後の前記所定ファイルに基づいて、前記並列スレッドを立て、前記アルゴリズムを実行する、もの。 (4) In the program described in (3) above, further, the second receiving step receives user input to change the number of channels included in the predetermined file, and the parallel processing step receives the changed predetermined number of channels. Based on a file, spawn said parallel threads to run said algorithm.

このような態様によれば、ユーザの所望するチャネル数を、アルゴリズムの再コンパイル無しに実現することができる。 According to this aspect, the number of channels desired by the user can be realized without recompiling the algorithm.

(5)上記(1)~(4)の何れか1つに記載のプログラムにおいて、前記並列処理ステップでは、前記アルゴリズムと前記信号とのうちの少なくとも一方と、予め設定された参照情報とに基づいて、前記アルゴリズムをコンパイル無しに実行する、もの。 (5) In the program according to any one of (1) to (4) above, in the parallel processing step, based on at least one of the algorithm and the signal and preset reference information, and run the algorithm without compiling.

このような態様によれば、種々のアルゴリズム及び入力される信号に対応した参照情報を用意しておくことで、アルゴリズム及び信号がプラグインの形式でシステムに機能付与することが可能となり、アルゴリズムそのものの再コンパイル無しに実現することができる。 According to this aspect, by preparing reference information corresponding to various algorithms and input signals, it becomes possible for the algorithms and signals to give functions to the system in the form of plug-ins. can be realized without recompiling.

(6)上記(1)~(5)の何れか1つに記載のプログラムにおいて、さらに、最適化ステップでは、前記並列処理ステップにおいて処理された前記信号それぞれのデータフローを最適化する、もの。 (6) The program according to any one of (1) to (5) above, wherein the optimization step further optimizes the data flow of each of the signals processed in the parallel processing step.

このような態様によれば、複数チャネルの信号を適切に切り分けたデータフローを取り扱うことができ、リアルタイム性の高い信号処理を実現することができる。 According to such an aspect, it is possible to handle a data flow in which the signals of a plurality of channels are appropriately separated, and realize highly real-time signal processing.

(7)上記(6)に記載のプログラムにおいて、さらに、出力ステップでは、最適化された前記データフローに基づいて、前記アルゴリズムを適用した出力信号を出力する、もの。 (7) In the program described in (6) above, the output step further outputs an output signal to which the algorithm is applied based on the optimized data flow.

このような態様によれば、リアルタイム性の高い信号処理を介して、所望の出力結果を得ることができる。 According to this aspect, a desired output result can be obtained through highly real-time signal processing.

(8)上記(1)~(7)の何れか1つに記載のプログラムにおいて、前記信号は、複数のデータ列であり、前記並列処理ステップでは、前記データ列をFIFO(First-IN First-Out)で処理する、もの。 (8) In the program according to any one of (1) to (7) above, the signal is a plurality of data strings, and in the parallel processing step, the data strings are stored in FIFO (First-In First- Out).

このような態様によれば、処理の前段と後段とを別々のCPUコアで並列動作させることができ、これにより、システムに存在するCPUコアの数で、計算処理をスケールさせることができ、その結果リアルタイム性を高めることが可能となる。 According to this aspect, the front stage and the rear stage of the processing can be operated in parallel by separate CPU cores, so that the calculation processing can be scaled with the number of CPU cores present in the system. As a result, real-time performance can be enhanced.

(9)上記(1)~(8)の何れか1つに記載のプログラムにおいて、前記信号は、画像又は音声に関する信号である、もの。 (9) In the program according to any one of (1) to (8) above, the signal is a signal relating to image or sound.

このような態様によれば、広帯域を求められる高解像の映像や音声に対して、リアルタイム性の高い信号処理を実現することができる。 According to this aspect, it is possible to realize highly real-time signal processing for high-resolution video and audio that require a wide band.

(10)上記(1)~(9)の何れか1つに記載のプログラムにおいて、前記信号は、メタデータに関する信号である、もの。 (10) In the program according to any one of (1) to (9) above, the signal is a signal relating to metadata.

このような態様によれば、メタデータを利用した種々の信号処理を、リアルタイム性を高めて実現することができる。 According to such an aspect, various signal processing using metadata can be realized with improved real-time performance.

(11)上記(1)~(10)の何れか1つに記載のプログラムにおいて、前記信号処理に関するソフトウェア開発キットである、もの。 (11) The program according to any one of (1) to (10) above, which is a software development kit for the signal processing.

このような態様によれば、本プログラムをミドルウェアとして使用して、信号処理のソフトウェア開発をより容易に実現することができる。 According to this aspect, the present program can be used as middleware to more easily realize software development for signal processing.

(12)情報処理システムであって、上記(1)~(11)の何れか1つに記載のプログラムを実行可能なプロセッサを備える、もの。 (12) An information processing system comprising a processor capable of executing the program according to any one of (1) to (11) above.

このような態様によれば、ユーザが特段のアルゴリズムの工夫をせずに、チャネル数に関わらずリアルタイム性の高い信号処理を実現することができる。 According to this aspect, the user can realize highly real-time signal processing regardless of the number of channels without devising a special algorithm.

(13)情報処理方法であって、上記(1)~(11)の何れか1つに記載のプログラムの各ステップを備える、方法。 (13) An information processing method, comprising steps of the program according to any one of (1) to (11) above.

このような方法によれば、ユーザが特段のアルゴリズムの工夫をせずに、チャネル数に関わらずリアルタイム性の高い信号処理を実現することができる。
もちろん、この限りではない。
According to such a method, the user can realize highly real-time signal processing regardless of the number of channels without devising a special algorithm.
Of course, this is not the only case.

最後に、本発明に係る種々の実施形態を説明したが、これらは、例として提示したものであり、発明の範囲を限定することは意図していない。当該新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。当該実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。 Finally, while various embodiments of the invention have been described, these have been presented by way of example and are not intended to limit the scope of the invention. The novel embodiment can be embodied in various other forms, and various omissions, replacements, and modifications can be made without departing from the scope of the invention. The embodiment and its modifications are included in the scope and gist of the invention, and are included in the scope of the invention described in the claims and equivalents thereof.

1 :情報処理システム
2 :情報処理装置
20 :通信バス
21 :通信部
22 :記憶部
23 :制御部
25 :入力部
231 :読出部
232 :受付部
233 :並列処理部
234 :最適化部
235 :出力部
3 :撮像装置
4 :表示装置
AL :アルゴリズム
F :所定ファイル
N :チャネル数
SG :信号
1: information processing system 2: information processing device 20: communication bus 21: communication unit 22: storage unit 23: control unit 25: input unit 231: reading unit 232: reception unit 233: parallel processing unit 234: optimization unit 235: Output unit 3: Imaging device 4: Display device AL: Algorithm F: Predetermined file N: Number of channels SG: Signal

Claims (11)

ソフトウェア開発キットプログラムであって、
少なくとも1つのコンピュータに、次の各ステップを実行させ、
読出ステップでは、前記ソフトウェア開発キットプログラムを介してユーザに実装された信号処理のアルゴリズムを読み出し、
第1の受付ステップでは、前記コンピュータに接続される、少なくとも1つの情報入力装置から出力された信号を受け付け、
並列処理ステップでは、前記アルゴリズムに前記信号のスレッド処理に関する命令が含まれていない場合においても、前記信号のチャネル数に応じた並列スレッドと、前記アルゴリズムの独立した専用スレッドとを立て、前記信号処理を実行する、もの。
A software development kit program comprising:
causing at least one computer to perform each of the following steps;
In the reading step, the signal processing algorithm implemented by the user is read out via the software development kit program ,
In a first receiving step, receiving a signal output from at least one information input device connected to the computer;
In the parallel processing step, even if the algorithm does not include instructions related to thread processing of the signal, parallel threads corresponding to the number of channels of the signal and independent dedicated threads of the algorithm are set up to perform the signal processing. The one that runs the .
請求項1に記載のソフトウェア開発キットプログラムにおいて、
前記読出ステップでは、前記信号のチャネル数を含む所定ファイルをさらに読み出し、
前記並列処理ステップでは、前記所定ファイルに基づいて、前記並列スレッドを立て、前記アルゴリズムを実行する、もの。
The software development kit program according to claim 1,
The reading step further reads a predetermined file containing the number of channels of the signal,
In the parallel processing step, the parallel threads are established based on the predetermined file to execute the algorithm.
請求項に記載のソフトウェア開発キットプログラムにおいて、
さらに、第2の受付ステップでは、前記所定ファイルに含まれる前記チャネル数に対するユーザの変更入力を受け付け、
前記並列処理ステップでは、変更後の前記所定ファイルに基づいて、前記並列スレッドを立て、前記アルゴリズムを実行する、もの。
In the software development kit program according to claim 2 ,
Furthermore, in a second receiving step, a user's change input for the number of channels included in the predetermined file is received,
In the parallel processing step, the parallel threads are set up and the algorithm is executed based on the changed predetermined file.
請求項1に記載のソフトウェア開発キットプログラムにおいて、
前記並列処理ステップでは、前記アルゴリズムと前記信号とのうちの少なくとも一方と、予め設定された参照情報とに基づいて、前記アルゴリズムをコンパイル無しに実行する、もの。
The software development kit program according to claim 1,
In the parallel processing step, the algorithm is executed without compiling based on at least one of the algorithm and the signal and preset reference information.
請求項1に記載のソフトウェア開発キットプログラムにおいて、
さらに、最適化ステップでは、前記並列処理ステップにおいて処理された前記信号それぞれのデータフローを最適化する、もの。
The software development kit program according to claim 1,
Further, the optimizing step optimizes the data flow of each of said signals processed in said parallel processing step.
請求項に記載のソフトウェア開発キットプログラムにおいて、
さらに、出力ステップでは、最適化された前記データフローに基づいて、前記アルゴリズムを適用した出力信号を出力する、もの。
In the software development kit program according to claim 5 ,
Further, the output step outputs an output signal to which the algorithm is applied based on the optimized data flow.
請求項1に記載のソフトウェア開発キットプログラムにおいて、
前記信号は、複数のデータ列であり、
前記並列処理ステップでは、前記データ列をFIFO(First-IN First-Out)で処理する、もの。
The software development kit program according to claim 1,
The signal is a plurality of data strings,
In the parallel processing step, the data string is processed by FIFO (First-In First-Out).
請求項1に記載のソフトウェア開発キットプログラムにおいて、
前記信号は、画像又は音声に関する信号である、もの。
The software development kit program according to claim 1,
The signal is a signal relating to image or sound.
請求項1に記載のソフトウェア開発キットプログラムにおいて、
前記信号は、メタデータに関する信号である、もの。
The software development kit program according to claim 1,
The signal is a signal relating to metadata.
情報処理システムであって、
請求項1~の何れか1つに記載のソフトウェア開発キットプログラムを実行可能なプロセッサを備える、もの。
An information processing system,
10. A processor capable of executing the software development kit program according to any one of claims 1-9 .
情報処理方法であって、
請求項1~の何れか1つに記載のソフトウェア開発キットプログラムの各ステップを備える、方法。
An information processing method,
A method comprising the steps of a software development kit program according to any one of claims 1-9 .
JP2022161123A 2022-07-04 2022-10-05 Program, information processing system and information processing method Active JP7202047B1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2022107499 2022-07-04
JP2022107499 2022-07-04
JP2022154180A JP2024006858A (en) 2022-07-04 2022-09-27 Program, information processing system, and information processing method

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2022154180A Division JP2024006858A (en) 2022-07-04 2022-09-27 Program, information processing system, and information processing method

Publications (2)

Publication Number Publication Date
JP7202047B1 true JP7202047B1 (en) 2023-01-11
JP2024006862A JP2024006862A (en) 2024-01-17

Family

ID=84829426

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2022154180A Pending JP2024006858A (en) 2022-07-04 2022-09-27 Program, information processing system, and information processing method
JP2022161123A Active JP7202047B1 (en) 2022-07-04 2022-10-05 Program, information processing system and information processing method

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2022154180A Pending JP2024006858A (en) 2022-07-04 2022-09-27 Program, information processing system, and information processing method

Country Status (1)

Country Link
JP (2) JP2024006858A (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000312311A (en) 1999-04-27 2000-11-07 Nippon Hoso Kyokai <Nhk> Signal processor
JP2010182000A (en) 2009-02-04 2010-08-19 Seiko Epson Corp Image processor and program
JP2010226283A (en) 2009-03-23 2010-10-07 Konica Minolta Business Technologies Inc Information processing apparatus
JP2013528861A (en) 2010-05-20 2013-07-11 アップル インコーポレイテッド Subbuffer object
US20130229422A1 (en) 2012-03-02 2013-09-05 Jerry Glen Harris Conversion of Contiguous Interleaved Image Data for CPU Readback

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000312311A (en) 1999-04-27 2000-11-07 Nippon Hoso Kyokai <Nhk> Signal processor
JP2010182000A (en) 2009-02-04 2010-08-19 Seiko Epson Corp Image processor and program
JP2010226283A (en) 2009-03-23 2010-10-07 Konica Minolta Business Technologies Inc Information processing apparatus
JP2013528861A (en) 2010-05-20 2013-07-11 アップル インコーポレイテッド Subbuffer object
US20130229422A1 (en) 2012-03-02 2013-09-05 Jerry Glen Harris Conversion of Contiguous Interleaved Image Data for CPU Readback

Also Published As

Publication number Publication date
JP2024006862A (en) 2024-01-17
JP2024006858A (en) 2024-01-17

Similar Documents

Publication Publication Date Title
KR102154456B1 (en) Exploiting frame to frame coherency in a sort-middle architecture
CN109389661B (en) Animation file conversion method and device
US9412193B2 (en) Run-time optimized shader program
Müller et al. Interactive molecular graphics for augmented reality using HoloLens
CN106796734A (en) For the performance optimization of data visualization
JP2003273971A5 (en) INFORMATION PROCESSING SYSTEM, INFORMATION PROCESSING APPARATUS, AND INFORMATION PROCESSING METHOD
US9792718B2 (en) Mapping graphics instructions to associated graphics data during performance analysis
JP2012059272A5 (en)
CN104012059B (en) Direct link synchronous communication between coprocessor
US9153201B2 (en) Real-time order-independent transparent rendering
CN110069191B (en) Terminal-based image dragging deformation implementation method and device
WO2016040153A1 (en) Environmentally mapped virtualization mechanism
CN107343206A (en) Support video generation method, device, medium and the electronic equipment of various visual angles viewing
CN111104105B (en) Image stitching processor and image stitching processing method
TWI544780B (en) 3d format conversion systems and methods
US11451721B2 (en) Interactive augmented reality (AR) based video creation from existing video
JP7202047B1 (en) Program, information processing system and information processing method
US10936766B2 (en) Techniques for parallel execution of RANSAC algorithm
WO2023241544A1 (en) Component preview method and electronic device
KR102225281B1 (en) Techniques for reduced pixel shading
KR101286938B1 (en) Partitioning-based performance analysis for graphics imaging
Zielinski et al. Enabling closed-source applications for virtual reality via opengl intercept-based techniques
CN112416330B (en) Graphical programming method, graphical programming device, electronic equipment and storage medium
CN101127124A (en) Method and apparatus for transforming object vertices during rendering of graphical objects for display
CN108449625B (en) Video screenshot method, device and terminal

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221027

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20221027

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221108

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221205

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221216

R150 Certificate of patent or registration of utility model

Ref document number: 7202047

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150