JP7202047B1 - Program, information processing system and information processing method - Google Patents
Program, information processing system and information processing method Download PDFInfo
- 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
Links
- 230000010365 information processing Effects 0.000 title claims abstract description 77
- 238000003672 processing method Methods 0.000 title claims abstract description 9
- 238000012545 processing Methods 0.000 claims abstract description 110
- 238000000034 method Methods 0.000 claims description 6
- 238000003384 imaging method Methods 0.000 description 28
- 238000004891 communication Methods 0.000 description 18
- 230000000694 effects Effects 0.000 description 13
- 230000006870 function Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000005457 optimization Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 3
- 230000015654 memory Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002194 synthesizing effect Effects 0.000 description 2
- HPTJABJPZMULFH-UHFFFAOYSA-N 12-[(Cyclohexylcarbamoyl)amino]dodecanoic acid Chemical compound OC(=O)CCCCCCCCCCCNC(=O)NC1CCCCC1 HPTJABJPZMULFH-UHFFFAOYSA-N 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- APTZNLHMIGJTEW-UHFFFAOYSA-N pyraflufen-ethyl Chemical compound C1=C(Cl)C(OCC(=O)OCC)=CC(C=2C(=C(OC(F)F)N(C)N=2)Cl)=C1F APTZNLHMIGJTEW-UHFFFAOYSA-N 0.000 description 1
- 239000002096 quantum dot Substances 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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,
本発明は、プログラム、情報処理システム及び情報処理方法に関する。 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.
しかしながら、特許文献1に開示されるような技術のように、信号処理のアルゴリズムを研究開発するにあたって、ユーザは、プロダクトごとに、多チャネルの並列処理を行うソースコードを書く必要があり、手間がかかっていた。
However, like the technology disclosed in
本発明では上記事情を鑑み、ユーザが特段のアルゴリズムの工夫をせずに、チャネル数に関わらずリアルタイム性の高い信号処理を実現可能なプログラム等を提供することとした。 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.
以下、図面を用いて本発明の実施形態について説明する。以下に示す実施形態中で示した各種特徴事項は、互いに組み合わせ可能である。 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
FIG. 1 is a configuration diagram showing an
1.3 情報処理装置2
図2は、情報処理装置2のハードウェア構成を示すブロック図である。情報処理装置2は、通信部21と、記憶部22と、制御部23と、入力部25とを有し、これらの構成要素が情報処理装置2の内部において通信バス20を介して電気的に接続されている。各構成要素についてさらに説明する。
1.3
FIG. 2 is a block diagram showing the hardware configuration of the
通信部21は、USB、IEEE1394、Thunderbolt(登録商標)、有線LANネットワーク通信等といった有線型の通信手段が好ましいものの、無線LANネットワーク通信、3G/LTE/5G等のモバイル通信、Bluetooth(登録商標)通信等を必要に応じて含めてもよい。すなわち、これら複数の通信手段の集合として実施することがより好ましい。すなわち、情報処理装置2は、通信部21及び通信ネットワークを介して、外部から種々の情報を通信してもよい。特に好ましくは、通信部21は、汎用又は専用の通信規格を介して複数の撮像装置3及び表示装置4とそれぞれ接続されている。
The
記憶部22は、前述の記載により定義される様々な情報を記憶する。これは、例えば、制御部23によって実行される情報処理装置2に係る種々のプログラム等を記憶するソリッドステートドライブ(Solid State Drive:SSD)等のストレージデバイスとして、あるいは、プログラムの演算に係る一時的に必要な情報(引数、配列等)を記憶するランダムアクセスメモリ(Random Access Memory:RAM)等のメモリとして実施されうる。記憶部22は、制御部23によって実行される情報処理装置2に係る種々のプログラムや変数等を記憶している。
The
制御部23は、情報処理装置2に関連する全体動作の処理・制御を行う。制御部23は、例えば不図示の中央処理装置(Central Processing Unit:CPU)である。制御部23は、記憶部22に記憶された所定のプログラムを読み出すことによって、情報処理装置2に係る種々の機能を実現する。すなわち、記憶部22に記憶されているソフトウェアによる情報処理が、ハードウェアの一例である制御部23によって具体的に実現されることで、制御部23に含まれる各機能部として実行されうる。これらについては、次節においてさらに詳述する。なお、制御部23は単一であることに限定されず、機能ごとに複数の制御部23を有するように実施してもよい。またそれらの組合せであってもよい。すなわち、制御部23は、後述の各ステップを実行させるプログラムを実行可能なプロセッサの一例である。
The
入力部25は、情報処理装置2の筐体に含まれるものであってもよいし、外付けされるものであってもよい。例えば、入力部25は、後述の表示装置4と一体となってタッチパネルとして実施されてもよい。タッチパネルであれば、ユーザは、タップ操作、スワイプ操作等を入力することができる。もちろん、タッチパネルに代えて、スイッチボタン、マウス、QWERTYキーボード等を採用してもよい。すなわち、入力部25がユーザによってなされた操作入力を受け付ける。当該入力が命令信号として、通信バス20を介して制御部23に転送され、制御部23が必要に応じて所定の制御や演算を実行しうる。
The
なお、情報処理装置2は、汎用OSをインストールされたコンピュータでもよいし、信号処理に係る専用回路を搭載した専用装置であってもよい。
The
1.3 撮像装置3
撮像装置3は、外界の情報を画像として取得可能に構成される、いわゆるビジョンセンサ(カメラ)である。撮像装置3の分解能は特に限定されず、空間分解能(解像度)が高い撮像装置3が採用されてもよいし、時間分解能(フレームレート)が高い撮像装置3が採用されることが好ましい。一例では、n個の撮像装置3として、撮像装置3-1,3-2,3-3・・・3-nが、情報処理装置2に接続されている。
1.3
The
撮像装置3の解像度は、フルHD以下でもよいし、フルHDでもよいし、WQHDでもよいし、2Kでもよいし、4Kでもよいし、8Kでもよいし、それ以上でもよい。
The resolution of the
撮像装置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
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
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
図3は、本実施形態に係る情報処理装置2における制御部23等によって実現される機能を示すブロック図である。具体的には、情報処理装置2は、各機能部として、読出部231と、受付部232と、並列処理部233と、最適化部234と、出力部235とを備える。
FIG. 3 is a block diagram showing functions realized by the
読出部231は、記憶部22に記憶された種々の情報を、記憶部22のキャッシュメモリに書き出すことで、読み出すように構成される。
The
受付部232は、種々の情報を外部から受け付けるように構成される。好ましくは、撮像装置3より出力される映像を受信する。
The
並列処理部233は、受信した、複数チャネル、例えばnチャネルの映像に対して、並列処理可能に信号処理を行うための、制御部23のコアの割当を実行するよう構成される。
The
最適化部234は、並列処理にあたってのデータフローを最適化可能に、情報処理システム1の動作を制御するように構成される。
The
出力部235は、種々の情報、又はこれらを含む画面、画像等を、表示装置4で視認可能な態様で表示させる。出力部235は、視覚情報を表示装置4に表示させるためのレンダリング情報だけを生成してもよい。また、出力部235は、音声データを出力してもよいし、メタデータを出力してもよい。
The
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
まず、ユーザが予め当該合成処理に関するアルゴリズム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
続いて、情報処理装置2の入力側にチャネル数Nの撮像装置3を接続するとともに、情報処理装置2の出力側に表示装置4を接続することで、図1に示される情報処理システム1が構築される(アクティビティA003)。
Subsequently, by connecting the
ここから、チャネル数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
続いて、情報処理装置2における並列処理部233が、アルゴリズムALの内容と、信号SGの種類及びチャネル数Nとに基づいて、アルゴリズムALを実行するための並列処理を構築する(アクティビティA006)。ところで、先に述べた通り、アルゴリズムALは、対象となるデータそのものの外部からの入力と、外部への出力とについてのデータフローに関する命令を含んでいない。このような場合においても、並列処理部233は、信号SGのチャネル数Nに応じた並列スレッドと、アルゴリズムALの独立した専用スレッドとを立て、信号処理を実行する。ここでは、受付部232が信号SGの一例である撮像画像をフレームごとに継続的に受け付け(アクティビティA007)、並列処理部233によって規定された並列スレッドを用いて、前述の画像処理が実行される(アクティビティA008)。より好ましくは、最適化部234は、並列処理部233において処理された信号SGそれぞれのデータフローを最適化する。このような態様によれば、複数チャネルの信号SGを適切に切り分けたデータフローを取り扱うことができ、リアルタイム性の高い信号処理を実現することができる。
Subsequently, the
また、並列処理部233は、アルゴリズムALと信号SGとのうちの少なくとも一方と、予め設定された参照情報とに基づいて、アルゴリズムALをコンパイル無しに実行する。参照情報は、種々の入力信号及びその信号処理の内容と、好ましい並列処理とに関する情報であり、ルールベースの情報でもよいし、両者の関係性を予め学習させた学習済みモデルであってもよい。さらに好ましくは、参照情報は、少なくとも信号SGのチャネル数Nを含む所定ファイルFを含んでもよい。かかる場合、好ましくは、読出部231は、信号のチャネル数を含む所定ファイルをさらに読み出し、並列処理部233は、所定ファイルに基づいて、並列スレッドを立て、アルゴリズムを実行する。このような態様によれば、アルゴリズムALの再コンパイル無しに1以上のチャネルの信号処理を実現することができる。より具体的には、種々のアルゴリズムAL及び入力される信号SGに対応した参照情報を用意しておくことで、アルゴリズムAL及び信号SGがプラグインの形式で情報処理システム1に機能付与することが可能となり、アルゴリズムALそのものの再コンパイル無しに実現することができる。
Also, the
ここで好ましくは、信号SGは、複数のデータ列であり、並列処理部233は、データ列をFIFO(First-IN First-Out)で処理する。すなわち、信号SGの入出力に関しての順序が保存されるように、並列処理が実行される。このような態様によれば、処理の前段と後段とを別々のCPUコアで並列動作させることができ、これにより、システムに存在するCPUコアの数で、計算処理をスケールさせることができ、その結果リアルタイム性を高めることが可能となる。
Here, preferably, the signal SG is a plurality of data strings, and the
最後に、並列処理によりアルゴリズム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
以後、情報処理装置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
以上をまとめると、本実施形態に係る情報処理システム1は、プログラムを実行可能な制御部23(プロセッサ)を備える。このプログラムは、少なくとも1つのコンピュータの一例である情報処理装置2に、次の各ステップを実行させる。読出部231は、ユーザに実装された信号処理のアルゴリズムALを読み出す。受付部232は、コンピュータに接続される、少なくとも1つの情報入力装置の一例である撮像装置3によって出力された信号SGの一例である撮像画像を受け付ける。並列処理部233は、信号SGのチャネル数Nに応じた並列スレッドと、アルゴリズムALの独立した専用スレッドとを立て、信号処理を実行する。
In summary, the
あるいは、このプログラムは、少なくとも1つのコンピュータの一例である情報処理装置2に、次の各ステップを実行させる。読出部231は、ユーザに実装された信号処理のアルゴリズムALを読み出す。受付部232は、コンピュータに接続される、少なくとも1つの情報入力装置の一例である撮像装置3によって出力された信号SGの一例である撮像画像を受け付ける。並列処理部233は、アルゴリズムALに信号SGのスレッド処理に関する命令が含まれない場合に、信号SGのチャネル数Nに応じた並列スレッドを立て、アルゴリズムALを実行する。
Alternatively, this program causes at least one
すなわち、この情報処理方法は、上記プログラムの各ステップを備える。 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
[その他]
前述の実施形態が下記のようにさらに創意工夫されてもよい。
[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
前述の信号処理は、一例であって、画像処理でもよいし、音声データの処理でもよい。情報処理装置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
撮像装置3等の情報入力装置から情報処理装置2に入力される信号は、メタデータに関する信号であってもよい。メタデータは、例えば、画像又は音声に関連するメタデータであってもよい。メタデータに関連し、例えば、撮像装置3は、ToF(Time-of-Flight)カメラでもよい。かかる場合、ToFカメラから出力される深度情報は、メタデータの一例である。撮像装置3は、特定の対象を認識可能なAIカメラでもよい。かかる場合、AIカメラから出力される特定の対象の位置情報や、その時刻に関する時刻情報は、メタデータの一例である。このような態様によれば、メタデータを利用した種々の信号処理を、リアルタイム性を高めて実現することができる。
A signal input from an information input device such as the
情報処理装置2が、ネットワーク回線を通じて他の外部機器と接続可能に構成されてもよい。かかる場合、ユーザが特段のアルゴリズムALの工夫をせずに、チャネル数Nに関わらずデータフローが効率化された信号処理を、SaaS型のサービスとして実現することができる。
The
情報処理装置2が、音声処理に特化したサウンドカード又は画像処理に特化したグラフィックカードとして実現されてもよい。かかる場合、このような専用カードを既存のコンピュータに装着することで、本実施形態に係る情報処理システム1を実現することができる。
The
さらに、次に記載の各態様で提供されてもよい。 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 .
前記読出ステップでは、前記信号のチャネル数を含む所定ファイルをさらに読み出し、
前記並列処理ステップでは、前記所定ファイルに基づいて、前記並列スレッドを立て、前記アルゴリズムを実行する、もの。 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.
前記並列処理ステップでは、前記アルゴリズムと前記信号とのうちの少なくとも一方と、予め設定された参照情報とに基づいて、前記アルゴリズムをコンパイル無しに実行する、もの。 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.
さらに、最適化ステップでは、前記並列処理ステップにおいて処理された前記信号それぞれのデータフローを最適化する、もの。 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.
前記信号は、複数のデータ列であり、
前記並列処理ステップでは、前記データ列を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).
前記信号は、画像又は音声に関する信号である、もの。 The software development kit program according to claim 1,
The signal is a signal relating to image or sound.
前記信号は、メタデータに関する信号である、もの。 The software development kit program according to claim 1,
The signal is a signal relating to metadata.
請求項1~9の何れか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~9の何れか1つに記載のソフトウェア開発キットプログラムの各ステップを備える、方法。 An information processing method,
A method comprising the steps of a software development kit program according to any one of claims 1-9 .
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)
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 |
-
2022
- 2022-09-27 JP JP2022154180A patent/JP2024006858A/en active Pending
- 2022-10-05 JP JP2022161123A patent/JP7202047B1/en active Active
Patent Citations (5)
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 |