Video compression

Video compression

영상 압축 기술은 디지털 영상 파일을 효율적으로 네트워크 상에서 전송하 고 컴퓨터 디스크에 저장할 수 있도록 중복되는 영상 데이터를 줄이고 삭제 하는 것입니다. 효율적인 압축 기법으로 영상 품질 저하 현상이 거의 또는 전혀 없이 파일 크기를 대폭 줄일 수 있습니다. 하지만 주어진 압축 기법에 대한 압축 수준을 높여 파일 크기를 추가로 줄이면 영상 품질에 영향을 끼 칠 수 있습니다.

Different compression technologies, both proprietary and industry standards, are available. Most network video vendors today use standard compression techniques. Standards are important in ensuring compatibility and interoperability. They are particularly relevant to video compression since video may be used for different purposes and, in some video surveillance applications, needs to be viewable many years from the recording date. By deploying standards, end users are able to pick and choose from different vendors, rather than be tied to one supplier when designing a video surveillance system.

Axis uses three different video compression standards. They are Motion JPEG, MPEG-4 Part 2 (or simply referred to as MPEG-4) and H.264. H.264 is the latest and most efficient video compression standard.

비디오 코덱

압축 프로세스에는 전송 또는 저장할 준비가 된 압축 파일을 생성하기 위해 소스 영 상에 알고리즘을 적용하는 일이 수반됩니다. 압축 파일을 재생하려면 원본 소스 영 상과 사실상 동일한 내용을 보여주는 영상을 생성하기 위해 압축 풀기라고 불리는 역알고리즘을 사용합니다. 파일을 압축, 전송, 압축 풀기 및 표시하는 데 소요되는 시간을 지연 시간이라고 합니다. 압축 알고리즘이 더욱 발달된 것일수록 지연 시간 도 길어집니다.함께 작동하는 알고리즘 한 쌍을 비디오 코덱(엔코더/디코더)이라고 합니다. 표준 이 서로 다른 비디오 코덱은 일반적으로 상호 호환되지 않습니다. 즉, 한 가지 표준 을 사용해 압축한 영상 콘텐츠는 다른 표준으로 압축을 풀 수가 없습니다. 예를 들어 MPEG-4 Part 2 디코더는 H.264 인코더와 함께 작동되지 않습니다. 이는 단지 하나 의 알고리즘이 또 다른 알고리즘의 출력을 정확히 디코딩할 수 없기 때문이지만, 동 일한 소프트웨어나 하드웨어에 여러 가지 상이한 알고리즘을 구현하여 여러 형식이 공존하도록 할 수 있습니다.

이미지 압축과 영상 압축의 비교

압축 표준마다 데이터를 줄이는 데 활용하는 방식이 다르기 때문에 결과적으로 비트 레이트, 품질, 지연 시간에서 차이가 납니다. 압축 알고리즘은 이미지 압축과 영상 압 축의 두 가지 유형으로 분류됩니다.

이미지 압축은 인트라프레임 코딩 기술을 사용합니다. 육안으로는 식별할 수 없는 불 필요한 정보를 단순히 제거함으로써 이미지 프레임 내에서 데이터를 줄입니다. Motion JPEG는 이러한 압축 표준의 예입니다. Motion JPEG의 연속된 이미지는 개별 JPEG 이미지로 코딩되거나 압축됩니다. 

Motion JPEG 형식을 사용한 위의 이미지 세 개는 각각 상호 의존성이 없는 별개의 고유 이미지(I프레임)로 코딩되어 전송됩니다.

영상 압축 알고리즘(예: MPEG-4와 H.264)은 인터프레임 예측을 사용하여 일련의 프 레임 간 영상 데이터를 줄입니다. 여기에는 차등 코딩 등의 기법이 필요한데, 이 기법 에서는 하나의 프레임을 참조 프레임과 비교하고 참조 프레임에 대해 변경된 픽셀만 이 코딩됩니다. 이러한 방법으로 코딩 및 전송되는 픽셀 값의 수를 줄입니다. 이와 같 이 인코딩된 이미지를 표시할 경우 이미지는 원본 비디오처럼 보입니다.

 차등 코딩을 사용하면 첫 번째 이미지(I-프레임)만 전체 코딩됩니다. 이어지는 두 개의 이 미지(P-프레임)에서 정적 요소, 즉 집에 대해 첫 번째 그림에 대한 참조가 만들어집니다. 움직이는 부 분, 즉 달리는 사람만 모션 벡터를 사용해 코딩되므로 전송 및 저장되는 정보량이 줄어듭니다.

블록 기반 모션 보상과 같은 다른 기법을 적용하여 데이터를 한층 더 줄일 수 있습니 다. 블록 기반 모션 보상에서는 비디오 시퀀스에서 새로운 프레임을 구성하는 것의 대부분을 이전 프레임에서 검색할 수 있지만 그 위치는 다를 수도 있다는 점을 고려 합니다. 이 기법에서는 프레임을 일련의 매크로블록(픽셀 블록)으로 분할합니다. 새 로운 프레임은 블록별로 참조 프레임에서 대응하는 블록을 찾음으로써 구성 또는 “  측”할 수 있습니다. 대응 블록을 찾으면 엔코더는 참조 프레임에서 대응 블록을 찾 을 수 있는 위치를 코딩합니다. 모션 벡터 코딩이라고 일컫는 이 작업은 블록의 실제 콘텐츠를 코딩해야 했던 경우보다 적은 비트가 필요합니다.

블록 기반 모션 보상의 예시.

인터프레임 예측으로 이미지 시퀀스의 각 프레임을 I-프레임, P-프레임, B-프레임과 같은 특정 유형의 프레임으로 분류합니다.

I-프레임, 즉 인트라프레임은 다른 이미지에 대한 참조 없이 독립적으로 디코딩할 수 있는 완비형 프레임(self-contained frame)입니다. 비디오 시퀀스의 첫 번째 이미지 는 항상 I-프레임입니다. 새로운 뷰어의 시작 지점 또는 전송된 비트 스트림이 손상 된 경우 재동기화 지점으로 I-프레임이 필요합니다. I-프레임을 사용하여 빨리감기, 되감기, 기타 임의 액세스 기능을 실행할 수 있습니다. 엔코더는 규칙적인 간격을 두 고 또는 신규 클라이언트가 스트림 보기에 참여할 것으로 예상되는 경우 요구에 따 라 I-프레임을 자동으로 삽입합니다. 훨씬 더 많은 비트를 소비한다는 점이 I-프레임 의 단점이긴 하지만 반면에 누락된 데이터로 인해 발생하는 아티팩트가 많이 생성 되지 않습니다.

예측 인터프레임을 의미하는 P-프레임은 프레임을 코딩하기 위해 이전 I 및/또는 P 프레임의 부분을 참조합니다. P-프레임은 보통 I-프레임보다 비트가 적게 필요하지 만 이전 P-프레임 및/또는 I-프레임에 대한 복잡한 의존성으로 인해 전송 오류에 매 우 민감하다는 단점이 있습니다.

B-프레임, 즉 상호 예측 인터프레임은 이전 참조 프레임과 향후 프레임을 모두 참조 하는 프레임입니다. B-프레임을 사용하면 지연 시간이 늘어납니다.

 I-프레임, B-프레임, P-프레임으로 구성된 전형적인 시퀀스. P-프레임은 바로 앞의 I-프레 임 또는 P-프레임만 참조할 수 있지만, B-프레임은 바로 앞과 뒤의 I-프레임 또는 P-프레임을 모두 참조할 수 있습니다.

When a video decoder restores a video by decoding the bit stream frame by frame, decoding must always start with an I-frame. P-frames and B-frames, if used, must be decoded together with the reference frame(s).

Axis network video products allow users to set the GOV (group of video) length, which determines how many P-frames should be sent before another I-frame is sent. By decreasing the frequency of I-frames (longer GOV), the bit rate can be reduced. To reduce latency, B-frames are not used.

차등 코딩 및 모션 보상 외에 다른 고급 방식을 사용하여 데이터를 추가로 줄이고 영 상 품질을 향상시킬 수 있습니다. 예를 들어 H.264는 I-프레임 인코딩을 위한 예측 계획, 서브픽셀의 정확도까지 개선된 모션 보상, 블록 가장자리(아티팩트)를 부드럽게 만들어 주는 인루프 디블로킹 필터가 포함된 고급 기법을 지원합니다. H.264 기법에 대한 자세한 내용은 www.axis.com/corporate/corp/tech_papers.htm에서 Axis H.264 관련 백서를 참조하십시오.

Next topic: Compression formats

압축 형식