[카메라·영상]

영상신호(디지털) 압축과 디지털 VCR

Neo Park 2012. 2. 3. 18:27

1. 디지털 압축
1) A/D, D/A변환
① A/D변환
디지털 변환 처리는 신호의 전처리과정, 표본화와 양자화 과정으로 이루어진다. 콤포지트 신호 혹은 콤포넌트 신호가 변환된다. 최근 사용이 증가되고 있는 콤포넌트 신호는 ITU-R601에서 규정하고 있는 방식으로 양자화를 한다.
콤포넌트 신호에도 두 가지 형식이 있다. R, G, B와 색차방식으로 구성된 Y, R-Y, B-Y가 있는데 디지털TV에서 널리 사용하는 것은 ITU-R601의 색차방식이다. R-Y와 B-Y는 색차신호라고 하며 색 정보가 전달되는 것이고 Y는 휘도 성분을 표시한다. 카메라에서 만들어진 R, G, B신호는 저항으로 구성된 매트릭스를 이용하여 Y, R-Y, B-Y로 변환된다.

진폭을 조정하고 로우패스필터를 통과한 신호는 그 다음 ADC에 가해지고 표본화 및 양자화를 하게 된다. 보통 두 개의 ADC가 준비되는데 하나는 루미넌스 신호Y를 다른 하나는 색차신호용으로 사용한다. 유효화면 내에서는 ADC는 클럭펄스(sync신호에 의해 만들어진)를 수신 할 때마다 아날로그 신호의 샘플을 획득한다. Y의 클럭 주파수는 13.5Mhz이고 각 색차신호의 주파수는 6.75Mhz이다. 따라서 전체 표본화 주파수는 27Mhz이다. 표본화의 패턴은 아주 동일하게 반복되어야 한다. 만약 그렇지 않으면 그 후에 접속한 시스템이 최종적으로 아날로그로 복원 될 때 표본의 어느 것이 그림의 어느 부분인지 알 수 없게 된다.

② 표본화 주파수
영상신호를 표본화하는 주파수는 신호의 아날로그에서 디지털로의 정확한 변환을 위해 매우 중요하다. 그 목적은 최종적으로 원래의 아날로그신호를 충실하게 복원하기 위함이다. 너무 높은 주파수를 사용하면 비경제적이고 이에 비해 너무 낮은 주파수를 사용하면 Alias가 발생하여 화질 열화가 생긴다. 휘도신호의 13.5Mhz는 필터특성과 텔레비전 방식의 625/50과 525/60의 차이를 고려하여 선택되었다. 양 방식의 수평주사 주파수는 15,626hz와 15,750hz이다. 어느 쪽의 색차신호도 Y보다는 정보량이 낮으며( 인간의 눈은 색 보다는 밝기를 식별하는 능력이 높은 특성을 가짐) 따라서 각 색차신호의 표본화주파수는 Y신호의 1/2인 6.75Mhz이다.

③ D/A
역처리의 경우 디지털 정보는 3개의 DAC에 가해진다. Y, R-Y, B-Y이며

이것들은 ADC의 경우와 같이 동일한 방법과 동일한 주파수에 동기 되어 있다. 이 출력은 아날로그 원 신호에 근사하도록 만들러진 아날로그 샘플의 흐름이다. 이 표본화 시스템에 의해 어떤 주파수는 Sinx/x의 경사에 연한 진폭의 감쇠를 수반한다. 이것은 표본화 주파수의 1/2위치에서 출력 진폭 특성이 '0'이 되는 하강 곡선을 가지는 것을 의미하며 이것을 Nyquist 주파수라 한다. 그러나 ITU-R601에는 특성 곡선의 제로 점에 대해서는 언급되지 않고 있다. 이 곡선은 Sinx/x 로우패스 필터에 의해 교정되고 고주파 불필요 성분을 제거함으로써 출력신호를 smooth하게 되고 아날로그 입력 신호인 Y, R-Y, B-Y에 근사한 출력이 얻어진다. RGB 신호는 저항으로 구성된 매트릭스에 의해 얻어 진다.

2) 신호의 디지털화 과정

[ 그림 4. 디지털 Process ]

① 표본화의 기본정리
음성이나 비디오의 아날로그 신호를 디지털 신호로 변환하는 최초의 처리가 표본화이며, 이 표본화에 의해 펄스화 된 PAM 파로부터 그 사이 사이를 보간(interpolation)하여 완전한 원래의 아날로그 신호로 복원하기 위한 조건을 제시하는 것이 Shannon의 표본화 정리이다.
② 양자화
샘플의 진폭을 일정한 step의 크기로 측정하여 그 크기를 step의 정배수의 값으로 표현하는 것을 말한다. 즉 진폭 레벨을 이산적(discrete)인 값으로 하는 것이다. (8bits, 10bits, 20bits)
③ 부호화
시간축 방향으로 표본화하고 진폭 방향으로 양자화 함으로써 연속적인 신호 파형은 시간적으로나 진폭 적으로 건너뛰는 펄스 모양의 PAM파가 된다. 이 값은 양자화 값의 정수배를 가지고 있으며 디지털 값이지만 이대로 신호를 기록하거나 전송하는데는 부적당하다. 따라서 디지털 신호로 취급하기 좋은 형태로 고쳐질 필요가 있다. 이것을 부호화라고 한다.
④ 보간(interpolation)
시간적으로 불연속인 표본치의 열의 사이사이를 메워 원래의 연속적인 신호 파형으로 되돌리는 조작이다. 보간은 표본치의 열을 LPF를 통과하면서 이루어진다. 새로운 점들을 만들기 위해 수많은 점들을 평균화하는 것이다.

3) 데이터 압축
① 압축을 이용하는 이유
방송제작 스튜디오에서 사용하는 표준신호인 ITU-R BT 601 신호는 다음과 같은 비트레이트를 사용한다.
Y: 8bits 720pixels×480lines×30frames = 83Mbps
Cr: 8bits 360pixels×480lines×30frames = 42Mbps
Cb: 8bits 360pixels×480lines×30frames = 42Mbps
합 : 167Mbps

이것은 단지 각 샘플을 8비트로 양자화 할 때의 경우이다. 만약 10비트 양자화를 적용한다면 비트레이트는 200Mbps를 능가할 것이다. 이것은 21- 25Mbyte/s와 대등하다. 이런 높은 비트레이트로는 주파수 밴드가 허용하는 범위 내에서의 전송이 불가능하고 또한 저장의 측면에서 보면 저장공간과 비용의 증가로 경제적이지 못하다. 따라서 주파수밴드와 저장공간을 절약하기 위해 비디오 신호는 압축되어야만 한다.



[ 그림 5 압축의 목적 ]

② 비디오 데이터는 어떻게 압축되는가?
여기에서 키워드는 Redundancy와 Irrelevance이다. 비디오 신호는 유사한 많은 정보들을 가지고 있다. 이 중복된 정보들은 신호품질의 어떠한 손실도 없이 신호로부터 제거 될 수 있다.
또한 중복된 정보에 포함된 대부분의 신호는 인간의 눈에 감지되지 않는 많은 양의 특정 정보를 담고 있다. 이러한 정보를 제거함으로써 품질에 다소 변화가 있을 수 있지만, 만약 이것이 교묘히 수행된다면 인간의 눈은 차이를 발견하지 못 할 것이다.

③ 변환(DCT)
정상적인 루미넌스와 크로미넌스 신호는 압축에 보다 적합하게 만들어지기 위해 변환 과정을 거쳐야만 한다. 변환은 프레임에서 데이터의 양을 줄이는 것이 아니다. 이것은 단지 프레임이 가지고 있는 정보를 나타내는 방법을 바꾸는 것이다. 이 정보의 다른 표현은 프레임의 내용을 쉽게 분석 할 수 있게 하고 그 속에 있는 중복성과 상관적인 정보의 발견을 쉽게 한다.



[ 그림 6. DCT 처리 ]

만약 변환이 매우 정확한 알고리즘의 사용으로 이루어 졌다면 이는 완전한 복원이 가능하다. 즉 이 변환은 신호 품질에 어떠한 영향도 주지 않은 것이다. 보통 비디오의 압축에 사용되는 변환은 Discrete Cosine Transformation(DCT)이다. 이것은 8×8 픽셀(64픽셀)의 매트릭스로 구성된 작은 블록을 사용한다. DCT변환의 결과는 역시 8×8 매트릭스로 구성된 64개의 새로운 값들로 주어진다. 이 값들을 Coefficients(계수)라 부른다. 이 계수들은 변환이전의 8×8 블록이 가진 정보와 동일하다. 각각의 계수는 원래 8×8 매트릭스의 모든 픽셀의 값과 관계가 있다. 예를 들면, 왼쪽 최고 모서리의 계수는 모든 원래의 64 픽셀의 평균값을 나타내며 이것을 DC계수라 부른다. 그 다음 오른쪽의 계수는 블록을 수직으로 반을 나누어 왼쪽의 32 픽셀의 평균값과 오른쪽 32 픽셀의 평균값을 비교한다. 비록 계수들이 서로 다른 값을 가지더라도 일반적으로 그들은 최고 왼쪽 편에서부터 최하 오른쪽으로 감소하는 값을 가질 것이다. 계수 데이터는 최고 왼쪽의 첫 번째 값(DC계수)을 읽고, 그 다음 나머지 값들을 지그-재그(zig-zag)로 최하 오른쪽 모서리의 값까지 읽음으로써 데이터스트림을 형성한다. 매트릭스의 마지막 계수의 끝에는 EOB(end of block)이 따라오는데 이것은 다음에 이어지는 계수는 새로운 매트릭스의 계수임을 나타내는 부호이다.
대부분의 경우 많은 수의 계수들은 매우 적거나 '0'이 될 것이다. 이것은 변환처리 후 바람직한 값들이다. 왜냐하면 값이 '0'인 모든 계수들은 예를 들어 'o,o,o,o'이란 값으로 저장하는 대신에 '4'라는 하나의 수로 표현할 수 있기 때문이다. 이것은 원래 64 픽셀인 블록을 표현하는데 필요한 계수의 수를 줄여준다.

4) 양자화(Quantization)
고 압축 factor를 얻기 위해서는 '0' 값을 가진 많은 계수들이 필요한 것이 분명해졌다. 양자화 처리의 목적은 신호로부터 상관적 정보를 제거하는 것이다.


[ 그림 7 양자화 과정에서의 작은 계수의 제거 ]

이 상관적 정보는 보통 작은 값을 가진 계수들에 포함되어 있다. 만약 '0'에 가까운 값들이 '0'으로 대치된다면 정보의 손실은 보통 매우 적다. 이것이 양자화가 하는 역할이다. 주어진 계수들의 값을 '0'으로 대치하는 것은 복원 불가능한 처리이므로 양자화는 복원이 불가능한 Lossy 처리임이 분명하다. 이 처리는 기본적으로 나눔(division)과 라운딩(반올림/내림)이다. 64개의 계수가 있다면 64개의 나누는 수가 필요하다. 이들 나눔 factor들은 양자화 매트릭스라 불리는 또 다른 8×8의 매트릭스에 정리된다. 시스템의 복잡한 정도에 따라서 하나 이상의 양자화 매트릭스가 사용될 수 있다. 각 계수는 어떤 factor에 의해서 나누어지고 이 결과는 라운딩 된다. 만약 작은 값을 가진 어떤 계수가 충분히 큰 factor에 의해 나누어지고 나머지가 소숫점 이하이면 그 값은 당연히 '0'이 된다. 나눔 factor의 선택을 통해서 얼마나 많은 계수들의 값을 '0'으로 할 것인가를 결정할 수 있고 혹은 다른 말로 얼마나 많은 정보를 버릴 것인가를 결정 할 수 있다. DCT 매트릭스에서 각 계수는 다소 다른 값들에 의해 나누어 질 수 있기 때문에 시스템 특성 전반에 걸친 다양한 레벨의 통제가 가능하다. 압축에서 시스템이 가장 가능성 높은 나눔 매트릭스를 선택하는 것이 최상의 품질을 유지하는 핵심이다.


[ 그림 8. DCT coding scheme ]


5) Run length coding과 Variable length coding
압축 시스템에서 중요한 마지막 단계가 Run Length Coding와 Variable Length Coding이다. 이것은 어디서 실제 비트래이트의 감소가 이루어지는가에 대한 것이다. 이전의 단계는 신호를 Run Length Coding과 Variable Length Coding을 실행하기 위한 가장 가능성 높은 형태로 바꾸는 것이었다. Run Length Coding와 Variable Length Coding의 처리는 근본적으로 두 개의 다른 단계이지만 항상 같이 실행된다.
Run length coding은 양자화 후 계수의 데이터스트림을 분석하고 '0'와 같지 않은 값들을 분리하면서 연속적인 '0' 열을 찾는다. '0'와 같지 않은 값들은 바뀌지 않고 남는다. 그리고 '0'의 값들은 두 개의 '0'이 아닌 값들 사이에 있는 연속되는 '0'의 수를 나타내는 수로 대치된다. 아래의 데이터스트림을 보라.
a) Run length coding 이전:
45,0,0,0,0,62,0,0,0,0,0,0,0,0,11,0,0,9,0,0,0,0,0,0,0,0,0,0,EOB
b) Run length coding 이후:
45,4,62,8,11,2,9,EOB

데이터스트림 b)는 a)보다 아주 적은 데이터를 가지고 있음을 알 수 있다. b)에 있는 4,8과 2의 값은 a)에서 연속되는 '0'의 수를 나타낸다. 마지막 10개의 '0'는 EOB가 현재의 블록의 끝을 나타내기 때문에 전혀 표현 할 필요가 없다. 그래서 끝에 남아 있는 계수들의 값은 자동적으로 '0'으로 가정된다. 이 처리는 단지 정보를 표현하는데 이용되는 방법을 바꾸는 것이기 때문에 Lossless 처리이다. 정보 그 자체는 어떠한 방법으로도 바뀌지 않는다.
주어진 스트림에서 데이터의 양을 최소화하기 위한 다음의 단계는 다중 길이 코딩(호프만 코딩)이다. 이것은 통계적 수치를 기본으로 하는 Lossless 처리이다. 어떤 데이터스트림에서 -노이즈가 아닌- 다른 것들에 비해 사용 빈도가 높은 값들이 있을 것이다. 예를 들어, 알파벳 'a'에서 'z'까지의 값을 가진 영문자를 데이터스트림으로 생각할 때, 우리는 알파벳 'e'의 사용 빈도가 'w'나 'z' 보다 훨씬 높음을 쉽게 알 수 있다. "English language"라 부르는 이 데이터스트림의 특성은 아마추어 무선에서 그들이 모오스 코드를 송신할 때 사용하는 현명한 방법이다. 모오스 코드에서 문자는 도트(dot)와 대쉬(dash)로 짧고 길게 연속되는 신호음으로 표현(코드화)된다. 각 문자는 독특한 도트와 대쉬의 형태를 가지는데, 예를 들면 문자 'z'는 "- -··"로 나타내며 문자 'e'는 "·"로 표현한다. 이것은 송신의 효율성을 높이기 위해서이다. 문자 'e'는 데이터스트림에서 자주 등장하기 때문에 짧은 부호(·)로 주어진다. 문자 'z'는 나타나는 빈도가 적으므로 보다 긴 부호(- - ··)가 주어진다. 여기서 최상의 데이터 표현 방법을 선택하기 위해서 데이터스트림에 관한 통계적인 정보의 이용이 얼마나 유용하고 또한 효율적인가를 쉽게 알 수 있다. 압축된 비디오의 데이터스트림에서도 마찬가지이다. 만약 이 값들이 통계적으로 분석되었다면, 어떤 값들의 조합이 다른 것들에 비해 보다 빈도가 높음을 나타내는 것이 가능해질 것이다. 이 특성은 자주 발생하는 값에 대해서는 짧은 이진코드를 좀처럼 발생하지 않는 값에 대해서는 긴 이진코드를 할당하는데 사용할 수 있다. 이 Run length 코딩과 가변 길이 코딩은 데이터 스트림의 분석을 필요로 하기 때문에 통상적으로 하나의 single step에서 수행된다.

2. 디지털 VCR
1) Digital BETACAM
① 비디오 encoding parameters

샘플링 주파수
Y : 13.5Mhz
R-Y : 6.75Mhz
B-Y : 6.75Mhz
양자화
10-bit(아날로그 component 입력에 대해서는 8-bit)
샘플의 수/horizontal lines
Y : 858samples
R-Y : 429samples
B-Y : 429samples
샘플의 수/digital active lines
Y : 720samples
R-Y : 360samples
B-Y : 360samples
Total : 1440samples
Recorded lines/fields
256lines


② 오디오 encoding parameters

샘플링 주파수
48khz(synchronized with video)
양자화
20bits
(18bits A/D & D/A 변환)

③ Scanner Layout

④ Format Footprint with BETACAM SP


 

⑤ Signal Processing

⑥ ECC(Error Correction Code)
- Sync Block의 구성
- Program Track

2) BETACAM SX
- Format 요약

VIDEO
압축 : MPEG 4:2:2P@ML
Bit rate : 18Mbps
Line/Frame : 507lines(525/60), 608lines(625/50)
AUDIO
샘플링 : 48khz/16bit, 비압축
Audio : 4-ch Audio
Video ancillary data : 1line/field
Extension data : 20byte/frame
Longitudinal track : Time code/Cotrol/Aux track
Track pitch : 32㎛
Tracks : 10(525/60), 12(625/50)

 

3) HDCAM(HDW-700/HDW-500)
① HDCAM Format
- Intra-frame 압축 기술을 사용하여 고화질 획득.
- Down Sampling + DCT

샘플링 주파수
Y : 74.25Mhz
PB/PR : 37.125Mh
주파수 Response
Y :23Mhz±0.5dB
PB/PR : 7Mhz±0.5dB
양자화
10bits/samples
(8bits/samples for compression processing)
압축방법
DCT Intra-frame
Minimum Wave Length
0.49㎛
Total Recording Rate
약 180Mbps
Recording time
S: 40Min

② HDCAM과 HD-D5의 비교

 

 

 

참조 : http://www.kbs.co.kr/techcenter/pro_tech/pro02_1.html#top