1112397_ja-JP

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

1112397_ja-JP

1112397_ja-JP

i.MX6のガンマ補正<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

ガンマ補正

通常、ディスプレイは非線形の明るい応答を示します。たとえば、フレーム バッファー値を 100 にすると、値 200 の半分の明るさが得られることはほとんどありません。歴史的に、これはCRTモニターの物理学によるものですが、新しいディスプレイテクノロジーはその動作をエミュレートします。これは互換性のためだけでなく、人間の視覚の科学に基づく確固たる理由によるものです。

CRT の非線形性に対する 1 次近似は、次のようになります。

L = ν ^ γ

ここで、Lはディスプレイからの放射輝度(光強度)、νはCRTガンに印加される電圧(通常はフレームバッファのデジタル値に比例)、γ(ギリシャ文字の「ガンマ」)はモニターに固有の定数です。未知のパラメータがすべてを機能させます。通常、約2.0から約2.5の範囲です。有用な事実の 1 つは、ガンマ曲線が対数-対数空間で線形であることです (つまり、logL を logν の関数として表し、γ はその直線の傾きにすぎません。

ガンマ補正の例

GammaFunctionGraph.png

点線は線形伝達関数 (γ=1)、フレームバッファのガンマを示します。実線は、一般的な CRT の動作を示しています。破線は逆関数、補正されたガンマを表します。

DP(ディスプレイプロセッサ)を使用して i.MX のガンマを補正する方法は?

ガンマ補正は、IPU内のIC(Image Converter)またはDP(Display Processor)サブブロックで行うことができます。Freescale が提供する現在の Linux カーネル (3.10) には、Display Processor ブロック上の関連するガンマ パラメータ レジスタ DP_GAMMA_C_SYNCDP_GAMMA_S_SYNC を変更する IOCTL があります。

次の手順は、ユーザースペースアプリケーションを使用してガンマを変更する方法を示しています。

1 - 変数を次のように宣言mxcfb_gamma。

構造体mxcfb_gamma fb_gamma;

2 - ガマ補正を有効にします。

fb_gamma.enable = 1;

3 - constk と slopek の値を設定します。ここで、i = 0 から 15 で、x と y はそれぞれ新しい constk と slopek の定数値です。

fb_gamma.constk[i]= x;

fb_gamma.スロープ[i]= y;

4 - フレームバッファ デバイスを開き、MXCFB_SET_GAMMAを呼び出します。

fd_fb = open("/dev/fb0", O_RDWR, 0)

ioctl(fd_fb, MXCFB_SET_GAMMA, &fb_gamma)

上記のコードを実行すると、ガンマ値がすぐに変更されます。

日時:i.MX6のガンマ補正<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

Hi robinsingh‌,

私が説明したガンマ関数はすべての色を変更しますが、実際には、輝度(Y)のみが影響を受けます。

1つの色だけを変更するには、ディスプレイプロセッサのCSC配列を変更することをお勧めします。また、IOCTL を呼び出すことによって、ユーザー空間で行うこともできます。

このリンクでSWを確認してください。

i.MX6 CSC設定サンプルソースコード 

ユーザー空間から、bの正しさ、コントラスト、彩度、色相、ガンマなど、多くのことを変更できます。

よろしくお願いいたします。

Rogerio

日時:i.MX6のガンマ補正<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

こんにちは著者、

あなたは私を導いてくれますか、私のステップで何が欠けていますか?

私のLCDの赤い色は少しずれています、それは正確には完全な赤のようには見えません。だから私はこのLCDを校正したいと思います。そして、私はそれを行うための提案を探しています:

 

これがガンマ補正の手順です、私はすでに試しましたが、良い結果は得られませんでした

i.MX6のガンマ補正 

ipu-examples リリースノート - v0.1 

 

framebuffer_ex1マスター ·rogeriorps/ipu-examples ·GitHubの 

上記のガンマ補正サンプルコードを試しましたが、LCDキャリブレーションがさらに悪くなります。

 

 

これが私のプラットフォームとLVDSインターフェースの設定です:[Android4.4カーネル3.10]

LCDパネルは(HX8282 -Source driver / HX8696 -Gate Driver)を使用しています---SPIインターフェースが制御用のパネルから出ていないため、パネルレジスタを設定できません。

====(ドライバー/ビデオ/MXC/mxc_lcdif.c)===================================

静的構造体 fb_videomode lcdif_modedb[] = {

{
/* 液晶 1024x600 @ 60 Hz 、ピクセル clk @ 66MHz */
「HiMAX-WSVGA」、60、1024、600、25000、155、160、8、23、4、4、
FB_SYNC_CLK_LAT_FALL、
FB_VMODE_NONINTERLACED、
0,},

};

===( DTS ファイル ) ===========:

MXCFB1: fb@0 {
compatible = "fsl,mxc_sdc_fb";
disp_dev = "ldb";
interface_pix_fmt = "RGB24";
default_bpp = <24>;/*<24>;*/
int_clk = <0>;
late_init = <0>;
status = "大丈夫";
};

================================================================

問:

1)ガンマ補正にipuサンプルコードを使用しましたが、痛風アレイは次のとおりです。

int gout[16] = {0,2,4,8,16,32,64,96,128,160,192,224,255,255,255,255 }; この設定は私のLCDの色に影響を与えません、私が使用する必要がある私のプロセッサimx6dlのための他の痛風値はありますか、または私はこれらの値をどのように計算しますか、何か提案はありますか?

 

2)リファレンスマニュアルセクション:38.4.9.6ガンマ補正には、「特定のパネル/ディスプレイに必要なガンマ補正スロープはディスプレイメーカーが提供する必要があります」と記載されていますが、サンプルコードのガンマスロープから訴える値は何ですか?

 

3)データ形式に関しては、私のLCDはRGBストライプをサポートしています(LCDドキュメントはこれについての良い詳細を提供していません)、そして「RGB24」は合理的な結果で私のために働いています。Android HAL は HAL_PIXEL_FORMAT_RGB_565 .この観点から、IPU色空間変換の観点から見る必要があることはありますか?

 

4)LCDパネルのキャリブレーションに関する他のポインタまたはリファレンスはありますか?

  

ありがとうございます

ロビン・シン

Re: Gamma correction on i.MX6<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

OpenGL ES2.0は画像の歪みをフレームバッファに出力します

説明する:

1.下のコンピューターはレンダリングに OpenGL Es2.0 を使用します。
2.チップセレクトシェーダーはガンマ補正を使用しません。cat /dev/fb0 をファイルに保存すると、フレームバッファ内の画像が明らかになります。
3.チップセレクトシェーダーはガンマ補正(ガンマ値は2.2)を使用しています。cat /dev/fb0 でファイルにアクセスすると、フレームバッファ内の画像は元の画像とほとんど変わらず、各ピクセルの成分が1つずつ異なることがわかります。
4.フレームバッファサイズは720pです。ガンマ補正なしのフレームレートは50fps、ガンマ補正ありのフレームレートは20fpsです。テストの結果、フレームレートが低い理由は、プログラムが前面と背面のバッファのスワップ(関数:eglSwapBuffers)に多くの時間を費やしていることが分かりました。
5.質問:

ガンマ補正を使用しないと画像が歪んでしまう

GAMMA 補正を使用すると、eglSwapBuffers 関数に非常に長い時間がかかり、フレーム レートが非常に低くなります。


下記のリンクの方法を試してみましたが、うまくいきませんでした。何らかの情報(できれば実際の例)を提供してください。
https://community.freescale.com/docs/DOC-98062
https://github.com/rogeriorps/ipu-examples/commit/8c828cede9f3d3ef329368b2e3d06c604264ec8d

タグ(1)
評価なし
バージョン履歴
最終更新日:
‎01-06-2026 02:07 AM
更新者: