← Documents Documentation/userspace-api/media/v4l/metafmt-intel-ipu3.rst GitHub 원문 ↗

Linux 6.18.37 · Userspace API / Media / V4L

Intel IPU3 3A 통계 및 파이프라인 매개변수

IPU3 ImgU의 3A 통계 캡처 구조와 CSS 파이프라인 구성 버퍼를 설명합니다.

Source pathDocumentation/userspace-api/media/v4l/metafmt-intel-ipu3.rst
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.

1. 요약·해설

원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.

요약·해설

metafmt-intel-ipu3.rst:IPU3 전용 사용자 공간 tuning 라이브러리는 3A 통계를 읽고 다음 프레임의 accelerator·VMEM·DMEM 매개변수를 계산합니다.

1-81

2. 영어 원문 전체

번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.

원문 전체 펼치기
1 .. SPDX-License-Identifier: GPL-2.0 OR GFDL-1.1-no-invariants-or-later
2
3 .. _v4l2-meta-fmt-params:
4 .. _v4l2-meta-fmt-stat-3a:
5
6 ******************************************************************
7 V4L2_META_FMT_IPU3_PARAMS ('ip3p'), V4L2_META_FMT_IPU3_3A ('ip3s')
8 ******************************************************************
9
10 .. ipu3_uapi_stats_3a
11
12 3A statistics
13 =============
14
15 The IPU3 ImgU 3A statistics accelerators collect different statistics over
16 an input Bayer frame. Those statistics are obtained from the "ipu3-imgu [01] 3a
17 stat" metadata capture video nodes, using the :c:type:`v4l2_meta_format`
18 interface. They are formatted as described by the :c:type:`ipu3_uapi_stats_3a`
19 structure.
20
21 The statistics collected are AWB (Auto-white balance) RGBS (Red, Green, Blue and
22 Saturation measure) cells, AWB filter response, AF (Auto-focus) filter response,
23 and AE (Auto-exposure) histogram.
24
25 The struct :c:type:`ipu3_uapi_4a_config` saves all configurable parameters.
26
27 .. code-block:: c
28
29 struct ipu3_uapi_stats_3a {
30 struct ipu3_uapi_awb_raw_buffer awb_raw_buffer;
31 struct ipu3_uapi_ae_raw_buffer_aligned ae_raw_buffer[IPU3_UAPI_MAX_STRIPES];
32 struct ipu3_uapi_af_raw_buffer af_raw_buffer;
33 struct ipu3_uapi_awb_fr_raw_buffer awb_fr_raw_buffer;
34 struct ipu3_uapi_4a_config stats_4a_config;
35 __u32 ae_join_buffers;
36 __u8 padding[28];
37 struct ipu3_uapi_stats_3a_bubble_info_per_stripe stats_3a_bubble_per_stripe;
38 struct ipu3_uapi_ff_status stats_3a_status;
39 };
40
41 .. ipu3_uapi_params
42
43 Pipeline parameters
44 ===================
45
46 The pipeline parameters are passed to the "ipu3-imgu [01] parameters" metadata
47 output video nodes, using the :c:type:`v4l2_meta_format` interface. They are
48 formatted as described by the :c:type:`ipu3_uapi_params` structure.
49
50 Both 3A statistics and pipeline parameters described here are closely tied to
51 the underlying camera sub-system (CSS) APIs. They are usually consumed and
52 produced by dedicated user space libraries that comprise the important tuning
53 tools, thus freeing the developers from being bothered with the low level
54 hardware and algorithm details.
55
56 .. code-block:: c
57
58 struct ipu3_uapi_params {
59 /* Flags which of the settings below are to be applied */
60 struct ipu3_uapi_flags use;
61
62 /* Accelerator cluster parameters */
63 struct ipu3_uapi_acc_param acc_param;
64
65 /* ISP vector address space parameters */
66 struct ipu3_uapi_isp_lin_vmem_params lin_vmem_params;
67 struct ipu3_uapi_isp_tnr3_vmem_params tnr3_vmem_params;
68 struct ipu3_uapi_isp_xnr3_vmem_params xnr3_vmem_params;
69
70 /* ISP data memory (DMEM) parameters */
71 struct ipu3_uapi_isp_tnr3_params tnr3_dmem_params;
72 struct ipu3_uapi_isp_xnr3_params xnr3_dmem_params;
73
74 /* Optical black level compensation */
75 struct ipu3_uapi_obgrid_param obgrid_param;
76 };
77
78 Intel IPU3 ImgU uAPI data types
79 ===============================
80
81 .. kernel-doc:: drivers/staging/media/ipu3/include/uapi/intel-ipu3.h
82

3. 한국어 전문 번역

영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.

IPU3 ImgU 3A 통계

1-42

IPU3 ImgU 3A accelerator는 입력 Bayer 프레임에서 통계를 모읍니다. `ipu3-imgu [01] 3a stat` 메타데이터 캡처 노드와 `v4l2_meta_format`으로 읽으며 버퍼는 `ipu3_uapi_stats_3a` 구조입니다.

수집 통계
항목설명
AWB RGBS cellsAuto-white balance용 Red, Green, Blue, Saturation 측정 cell
AWB filter response화이트 밸런스 필터 응답
AF filter responseAuto-focus 필터 응답
AE histogramAuto-exposure histogram
`ipu3_uapi_4a_config`모든 구성 가능한 통계 매개변수를 저장합니다.

통계 구조에 포함되는 자동 제어 입력입니다.

`ipu3_uapi_stats_3a`에는 AWB raw buffer, stripe별 AE raw buffer, AF raw buffer, AWB filter-response raw buffer, 4A config, AE join flag, padding, stripe별 bubble 정보와 상태가 순서대로 들어갑니다. 원문 C 구조를 그대로 보존하므로 실제 offset과 배열 기호를 대조할 수 있습니다.

.. SPDX-License-Identifier: GPL-2.0 OR GFDL-1.1-no-invariants-or-later

.. _v4l2-meta-fmt-params:
.. _v4l2-meta-fmt-stat-3a:

******************************************************************
V4L2_META_FMT_IPU3_PARAMS ('ip3p'), V4L2_META_FMT_IPU3_3A ('ip3s')
******************************************************************

.. ipu3_uapi_stats_3a

3A statistics
=============

The IPU3 ImgU 3A statistics accelerators collect different statistics over
an input Bayer frame. Those statistics are obtained from the "ipu3-imgu [01] 3a
stat" metadata capture video nodes, using the :c:type:`v4l2_meta_format`
interface. They are formatted as described by the :c:type:`ipu3_uapi_stats_3a`
structure.

The statistics collected are AWB (Auto-white balance) RGBS (Red, Green, Blue and
Saturation measure) cells, AWB filter response, AF (Auto-focus) filter response,
and AE (Auto-exposure) histogram.

The struct :c:type:`ipu3_uapi_4a_config` saves all configurable parameters.

.. code-block:: c

	struct ipu3_uapi_stats_3a {
		struct ipu3_uapi_awb_raw_buffer awb_raw_buffer;
		struct ipu3_uapi_ae_raw_buffer_aligned ae_raw_buffer[IPU3_UAPI_MAX_STRIPES];
		struct ipu3_uapi_af_raw_buffer af_raw_buffer;
		struct ipu3_uapi_awb_fr_raw_buffer awb_fr_raw_buffer;
		struct ipu3_uapi_4a_config stats_4a_config;
		__u32 ae_join_buffers;
		__u8 padding[28];
		struct ipu3_uapi_stats_3a_bubble_info_per_stripe stats_3a_bubble_per_stripe;
		struct ipu3_uapi_ff_status stats_3a_status;
	};

.. ipu3_uapi_params

IPU3 파이프라인 매개변수

43-77

파이프라인 매개변수는 `ipu3-imgu [01] parameters` 메타데이터 출력 노드로 보내며 `ipu3_uapi_params` 구조를 사용합니다. 3A 통계와 파이프라인 매개변수는 Camera Sub-System(CSS) API에 밀접하게 묶여 있어 보통 tuning tool을 포함한 전용 사용자 공간 라이브러리가 생산하고 소비합니다.

`ipu3_uapi_params` 구성
항목설명
`use`아래 설정 가운데 이번 버퍼에서 적용할 항목을 표시하는 flag입니다.
`acc_param`accelerator cluster 매개변수입니다.
`lin_vmem_params`ISP vector address space의 linear VMEM 매개변수입니다.
`tnr3_vmem_params`/`xnr3_vmem_params`TNR3/XNR3 vector memory 매개변수입니다.
`tnr3_dmem_params`/`xnr3_dmem_params`TNR3/XNR3 ISP data memory(DMEM) 매개변수입니다.
`obgrid_param`optical black level compensation 매개변수입니다.

원문 구조의 주요 멤버와 역할입니다.

IPU3 사용자 공간 제어
Bayer 입력 프레임 처리3A 통계 노드에서 `ipu3_uapi_stats_3a` 캡처전용 tuning library가 통계 해석다음 `ipu3_uapi_params` 계산parameters 출력 노드에 새 파이프라인 설정 전달

저수준 하드웨어 세부를 라이브러리가 감싸는 흐름입니다.

Pipeline parameters
===================

The pipeline parameters are passed to the "ipu3-imgu [01] parameters" metadata
output video nodes, using the :c:type:`v4l2_meta_format` interface. They are
formatted as described by the :c:type:`ipu3_uapi_params` structure.

Both 3A statistics and pipeline parameters described here are closely tied to
the underlying camera sub-system (CSS) APIs. They are usually consumed and
produced by dedicated user space libraries that comprise the important tuning
tools, thus freeing the developers from being bothered with the low level
hardware and algorithm details.

.. code-block:: c

	struct ipu3_uapi_params {
		/* Flags which of the settings below are to be applied */
		struct ipu3_uapi_flags use;

		/* Accelerator cluster parameters */
		struct ipu3_uapi_acc_param acc_param;

		/* ISP vector address space parameters */
		struct ipu3_uapi_isp_lin_vmem_params lin_vmem_params;
		struct ipu3_uapi_isp_tnr3_vmem_params tnr3_vmem_params;
		struct ipu3_uapi_isp_xnr3_vmem_params xnr3_vmem_params;

		/* ISP data memory (DMEM) parameters */
		struct ipu3_uapi_isp_tnr3_params tnr3_dmem_params;
		struct ipu3_uapi_isp_xnr3_params xnr3_dmem_params;

		/* Optical black level compensation */
		struct ipu3_uapi_obgrid_param obgrid_param;
	};

Intel IPU3 ImgU uAPI 형식

78-81

구조의 정확한 필드 정의는 `drivers/staging/media/ipu3/include/uapi/intel-ipu3.h`의 kernel-doc에서 가져옵니다. 이 헤더가 실제 ABI 배치의 최종 기준입니다.

Intel IPU3 ImgU uAPI data types
===============================

.. kernel-doc:: drivers/staging/media/ipu3/include/uapi/intel-ipu3.h