BATCAM FX 에서 전달되는 Beamforming 이벤트의 BF Map은 40x30 의 구조로 이루어져 있으며, 전송 시 1x1200 구조의 Array로 전달됩니다.

BATCAM FX RTSP 영상에 BF Map 을 가시화하는 경우를 가정한 사진
녹색부분은 예시로 설정됐다고 가정한 Listening Point

BATCAM FX RTSP 영상에 BF Map 을 가시화하는 경우를 가정한 사진 녹색부분은 예시로 설정됐다고 가정한 Listening Point

BATCAM FX의 LPoint 기능은 3개까지 지정 가능하며, 지정한 위치에 빔포밍 된 오디오 신호를 LPointAudio 이벤트를 통해 전송합니다.

제한사항

Listening Point를 설정할 때, 두 지점 간의 거리가 너무 가까우면 안 됩니다.

현재 BATCAM FX의 LPoint 설정에서는 다음과 같은 최소 거리 제한이 설정되어 있습니다:

즉, 하나의 Listening Point가 지정되면, 그로부터 가로·세로로 2칸 이내의 모든 영역은 다른 Listening Point로 사용할 수 없습니다.

예를 들어, 다음과 같은 Listening Point를 지정했다고 가정하는 경우:

해당 두 Listening Point 주변에는 다음과 같은 제한 영역이 설정됩니다:

이 범위 안에 추가 Listening Point를 설정하면 안 됩니다.

API에서 사용하기 위한 LPoint 인덱스 압축 및 복원

LPoint는 40×30 크기의 2D 그리드를 1차원 인덱스(0~1199)로 표현합니다.

하지만 API 요청 시에는 세로 방향 해상도를 절반으로 줄인 40×15 형태로 변환하여 인덱스를 전송해야 합니다.

이를 위해 다음의 공식들을 사용하여 압축(Downsize) 및 복원(Upsize)을 수행합니다.

<aside> 💡

압축된 인덱스는 세로 해상도를 절반으로 줄이는 과정에서 정보가 손실될 수 있으며, 복원 연산은 원래 위치를 정확히 복원하지 않고 y 좌표 상단을 기준으로 복원합니다. 좌표 정밀도가 필요한 상황에서는 별도의 원본 인덱스를 보존하여야 합니다.

</aside>

인덱스 압축 (Downsize)

1차원 인덱스 n(0~1199)을 40×15 그리드 기준으로 변환합니다.

세로 해상도를 절반으로 줄여 y 좌표를 압축합니다.

수식:

$$ f(n) = 40 \cdot \left\lfloor \frac{\left\lfloor \frac{n}{40} \right\rfloor}{2} \right\rfloor + (n \bmod 40) $$

예시:

인덱스 복원 (Upsize)

압축된 인덱스를 원래의 40×30 기준으로 복원합니다.

압축 시 사라진 한 줄 중 위쪽 줄(y * 2) 을 기준으로 복원됩니다.

수식:

$$ f^{-1}(n) = 40 \cdot (2 \cdot \left\lfloor \frac{n}{40} \right\rfloor) + (n \bmod 40) $$

예시: