第1部 第 2章 SDL ライブラリ× OpenCV! 使いやすくてサクサク ラズベリー・パイの 高速描画テクニック 鎌田 智也 cvShow Window 関数に よる描画 Xクライアント・ アプリケーション アプリケーション OpenCV SDL 高速描画できる 1… 理由 シンプルで ダイレクト アプリケーション OpenCV TCP/IPネットワーク層 SDL (Simple Media Layer) X Windowサーバ ハード ウェア GPU プロセッサ フレーム・バッファ・メモリ ラズベリー・ パイのX Windowサーバは, GPUに対応し ていないので 遅い ハード ウェア GPUプロセッサ コンソール・フレーム・バッファ・メモリ ビデオ・エンコーダ ビデオ・エンコーダ プロセッサ プロセッサ HDMI機器 高速描画できる 2… 理由 GPUパワーを活 用できる版の SDLライブラリ を使う ラズベリー・ パイ (a)定番X Window Systemだと描画が遅い HDMI機器 ラズベリー・ パイ (b)今回採用したコンソール・フレーム・バッファ方式 図 1 ラズベリー・パイで高速描画する方法 ラズベリー・パイでリアルタイムに グラフィック描画を行う方法 ● 定番 X Window System グラフィック描画の 問題点 ラズベリー・パイは,従来のマイコン・ボードと比 較すると高速なプロセッサを搭載していますが,映像 をリアルタイム表示するには工夫が要ります. ラズベリー・パイ用アプリケーションで,作成した 画像がモニタに出力されるまでの流れを,図 1(a)に 示します.PC の Linux 環境で,画像をモニタ出力す るには,一般に X Window System 上で動くアプリ ケーション・ソフトウェアを開発します. PC 上で動作する X Window System は,グラフィッ ク・アクセラレータ機能を十分発揮して高速描画でき るので,性能が問題になることはありません. し か し ラ ズ ベ リ ー・ パ イ で は 残 念 な が ら,X Window System のドライバがラズベリー・パイ内蔵 の GPU に最適化されていないため,PC 環境と同様に 2015 年 5 月号 X Window System 上で画像を扱おうとしても,グラ フィックスの描画速度が遅くなってしまうという問題 があります. ● ラズベリー・パイで高速描画する方法 X Window System 上で動作する X Window クライ アント・アプリケーションがグラフィック描画を行う 際には,UNIX ソケットを経由したプロトコル通信に よって X Window サーバに対して描画の依頼を行いま す.たとえローカル・マシン上でクライアント・アプ リケーションと X Window サーバが動作していたとし ても,UNIX ソケットを経由するので,本来のグラ フィック描画を行う以外のオーバヘッドになります. 無駄な処理を省いてグラフィック描画に特化した処 理を行うことができれば,X Window System を経由 するよりも高速なグラフィック表示を行えることが期 待できます. そこで登場するのが,X Window System を起動せ ずにコンソール・フレーム・バッファへ直接画像デー 33
© Copyright 2024 Paperzz