비트레이트
CBR vs VBR, ABR?
비트레이트(bitrate)란 초당 처리해야 하는 비트(bit) 단위의 데이터 크기를 말하며 단위로 ‘비트 퍼 세컨드(bps, bit per second)’를 사용한다. 압축을 수행할 때 각각의 프레임을 균일한 용량으로 압축하는 방식을 ‘고정 비트레이트(CBR, Constant Bit Rate)’라고 하며 반대로 각 프레임들의 차이를 분석해 움직임이 적은 부분에서는 상대적 저용량으로 저장하고 움직임이 많은 부분에서는 고용량으로 저장하는 즉, 영상 내부의 움직임에 따라 일정하지 않은 용량으로 압축하는 방식을 ‘가변 비트레이트(VBR, Variable BitRate)’라고 한다. 당연히 같은 내용을 담은 같은 크기의 동영상 파일이 있을 경우 CBR로 인코딩된 동영상보다 VBR로 인코딩된 동영상이 더 높은 화질을 보여 주지만, 압축과 재생 과정에서 보다 높은 연산을 요구한다.
또한 VBR 방식의 동영상은 일정한 품질의 이미지를 꾸준히 보여 주지만, CBR 방식의 동영상은 이미지의 품질이 아닌 일정한 데이터 전송률(data stream rate), 즉 비트레이트(bitrate)를 기준으로 구성되었기 때문에 움직임 여부에 따라 이미지의 품질, 즉 화질이 변화하게 된다. 즉 CBR 방식의 동영상은 움직임에 따라 화질이 가변적이 되며 깍두기 현상으로 대표되는 이미지 손상이 발생할 확률이 높아진다는 의미다. 이는 오디오에서도 마찬가지이며 여기서 데이터 형태에 따라 변화되는 결과물은 음질이다.
CBR 방식은 기준 비트레이트가 고정되어 있기 때문에 동영상을 압축하기 전이라 할지라도 작업할 영상의 재생 시간(running time)을 알면 최종적으로 압축된 동영상의 용량을 정확하지는 않아도 거의 근접하게 계산할 수 있지만, VBR 방식은 압축 작업이 완료되기 까지는 결과물의 용량을 알 수 없다는 단점이 있다. 또한 VBR 방식으로 인코딩된 데이터가 항상 CBR 방식에 비해 좋은 결과를 보여 주지는 못하는데, 만약 VBR 데이터를 처리하는 시스템이 압축 또는 재생 작업을 수행할 때 순간적으로 발생하는 연산 및 비트레이트의 변화폭을 감당하지 못할 경우에는CBR 방식에 비해 좋지 못한 결과물을 보여 주거나 심하면 정상적인 압축 및 재생에 실패하는 경우도 존재한다.
반면 CBR 방식으로 작업하는 경우, 처음 시작했을 때 정상적으로 진행이 된다면 마지막 까지 정상적으로 진행될 확률이 매우 높다. 즉, 일반적으로 VBR 방식이 성능과 품질 면에서는 더 우수하지만 그만큼 요구되는 시스템 부하와 그에 따르는 돌발 변수도 많기 때문에 신뢰성이라는 점에서는 CBR 방식이 더 우수하다고 할 수 있다.
‘평균 비트레이트(ABR, Average Bit Rate)’ 방식은 VBR과 CBR을 절충한 형태라고 할 수 있는데 VBR 방식이 비트레이트의 변동폭만 지정하고 압축을 진행하면 동영상 압축을 수행하는 소프트웨어 혹은 장비가 비트레이트를 자동으로 지정하는 것에 비해 ABR 방식은 목표로 하는 목표 비트레이트(targetbitrate)를 지정하면 인코딩 프로그램이 자동으로 이 수치에 근접하도록 비트레이트를 변경해 가며 인코딩하는 방식으로 결과적으로 VBR과 비슷하지만 압축 작업을 수행하기 전이라 할지라도 CBR처럼 압축된 동영상의 용량을 대략적으로 예상할 수 있다는 장점이 있다. 같은 크기의 용량으로 인코딩된 결과물의 이미지 품질을 비교하면VBR≥ABR≥CBR라고 할 수 있다. 동영상 압축 소프트웨어에 따라서는 ABR을 단순히VBR로 그리고 목표 비트레이트를 ‘평균 비트레이트(average bit rate)’로 표기하는 경우도 있다.