오디오가이 :: 디지털처럼 정확하고 아날로그처럼 따뜻한 사람들
플러그인

서라운드 오디오 칼럼 9.2 VBAP

페이지 정보

본문

VBAP는 Vector Base Amplitude Panning의 약자로
헬싱키 과학 대학 Helsinki University of Technology의 Ville Pulkki가 제안한 방식입니다.
그의 홈페이지인 http://www.acoustics.hut.fi/~ville/ 에 자새한 내용이 잘 소개되어있습니다.
또 VBAP를 가능하게 하는 free software도 다운 받을 수 있으니 한번 들러보셔서
살펴보는 것도 좋은 공부가 될것 같네요... ^^


여기서는 그 내용중 일부를 간략하게 요약해서 소개하는 정도로 하겠습니다.

앞에서 Pair-wise Constant Power 패닝의 핵심내용은
두개 혹은 여러개의 스피커들의 Gain들의 합이 1이 되게끔 하는 것이었습니다.

그러면서 Gain의 변화는 sin 혹은 cos의 값을 따라 변화하게 하는 것이였죠.

그런데 사실 이런 cos값을 따라 변화하는 것이 임의의 팬텀 소스의 위치 변화와 일치한다는 것은
일종의 가정일 뿐, 그리고 그 값이 대체로 심리적인 위치와 잘 일치한다는 현상만 있을 뿐, 실험적으로 이 cos함수를 사용하는 정당성은 밝혀진 바가 없습니다. [적어도 제가 아는 바로는 요...]

VBAP는 이러한 cos함수를 사용하는 것에 대해서 의문을 가지고
적어도 방법적인 면에서 이론적인 바탕을 제시하고자

음원의 위치 및 스피커 들의 위치를 벡터로 표시하고 그 벡터들의 합이 음원의 위치가 되게끔 패닝 알고리즘을 제작합니다.

아래의 그림을 참고해 다시 말씀드리겠습니다.

vector_relation.jpg


위의 그림에서 적어도 3가지 벡터를 생각해볼 수 있습니다.
첫번째는 Left스피커와 청취자를 연결하는 벡터 (B) 두번째는 Right스피커와 청취자를 연결하는 벡터 (C)
그리고 그로 인해 결정되는 가변 음원의 위치와 청취자를 연결하는 벡터 (A)입니다.


이 가상 음원의 벡터 (A)는 그림과 같이 벡터 (B)와 (C)를 적당한 gain으로 줄여서 벡터합을 구할 때
다시 재합성decomposition 될 수 있습니다.

좀더 깊게 설명하자면
청취자의 머리가 있는 부분의 위치 정보를 x,y값으로 (0,0)라고 해보겠습니다.

그때 B는 (bx,by) 그리고 C는 (cx, cy), A는 (ax, ay)가 됩니다.

이 때 A(ax, ay) = g1 * B(bx,by) + g2 * C(cx,cy)가 되게끔 하는 g1, g2를 구합니다.

이 g1 과 g2는 임의의 C의 방향을 정확하게 재생해줍니다만 방향에 따라서
power가 달라지게 됩니다.

이러한 파워가 달라지는 현상을 막기 위해 노말라이징을 해주는데
g1' = g1 / sqrt(g1^2 + g2^2)
g2' = g2 / sqrt(g1^2 + g2^2)

로 구해진 g1'과 g2'은 두 스피커 사이을 연결하는 원호(arc)를 따라서 움직이는 벡터(A)를 만들어주게 됩니다.

따라서

mono source * g1'한 값을 Left스피커에
그리고 mono source * g2'한 값을 Right 스피커로 재생하면
원하는 음원의 위치를 두 스피커 상에서 위치시킬 수 있게 됩니다.


그런데
사실 이러한 벡터화하는 부분의 이론적 정당성이 없습니다.
왜 스피커의 게인을 조절하는 것이 벡터의 amplitude를 줄여지는 지에 대한
이론적 근거가 부족한 점이 옥의 티라고나 할까요?

두개 이상의 스피커가 있는 경우에는
그 스피커들 사이를 구분하여 두개의 스피커만으로 벡터를 구성하게 합니다.
이러한 점에서 pair-wise의 연장선에 있는
이 VBAP의 가장 큰 장점

"스피커의 위치에 구애받지 않고" 음상의 정위를 구현하게 한다는 점입니다.

만약 스피커의 위치가 변경된다면
위의 식에서 B(bx,by)와 C(cx,cy)의 정보를 변경만하면
값을 구할 수 있기 때문이죠.

관련자료

등록된 댓글이 없습니다.
  • RSS
전체 72건 / 1페이지

+ 뉴스


+ 최근글


+ 새댓글


통계


  • 현재 접속자 109 명
  • 오늘 방문자 3,099 명
  • 어제 방문자 6,190 명
  • 최대 방문자 15,631 명
  • 전체 방문자 12,586,476 명
  • 오늘 가입자 0 명
  • 어제 가입자 0 명
  • 전체 회원수 37,521 명
  • 전체 게시물 235,952 개
  • 전체 댓글수 193,355 개