블록 잘라내기 코딩
Block Truncation CodingBTC(Block Cutculation Coding)는 그레이스케일 영상에 대한 손실 이미지 압축 기법의 일종이다.원본 영상을 블록으로 나눈 다음 정량기를 사용하여 각 블록의 회색 수준 수를 줄이면서도 같은 평균과 표준 편차를 유지한다.DX 이전부터 BTC 압축 방식이 컬러에 처음 적용되었지만, 널리 사용되는 하드웨어 DXTC 기법의 초기 버전이다.컬러 셀 압축이라는 매우 유사한 접근법을 사용하는 TC.[1]BTC는 비디오 압축에도 적용되었다.[2]
BTC는 퍼듀 대학의 미첼과 델프 교수에 의해 처음 제안되었다.[3]BTC의 또 다른 변화는 절대 모멘트 블록 절단 코딩(Absolute Moment Block Cutcation Coding) 또는 AMBTC(Absolute Momentation Coding)로, 첫 번째 절대 모멘트는 평균과 함께 표준 편차를 사용하는 대신 보존된다.AMBTC는 BTC보다 계산적으로 단순하며 일반적으로 평균 제곱 오차(MSE)가 낮다.MAMBTC는 Maximo Lema와 Robert Mitchell에 의해 제안되었다.[4]
4×4픽셀의 하위 블록을 사용하면 전송이나 저장 중에 8비트 정수 값이 사용된다고 가정할 때 4:1의 압축비를 얻을 수 있다.블록이 클수록 더 큰 압축("a" 및 "b" 값이 더 많은 픽셀에 분산됨)을 허용하지만 알고리즘의 특성상 블록 크기가 증가함에 따라 품질도 저하된다.
BTC 알고리즘은 Mars Pathfinder의 탐사선 이미지를 압축하는 데 사용되었다.[5]
압축 절차
픽셀 이미지는 일반적으로 4×4 픽셀의 블록으로 나뉜다.각 블록에 대해 픽셀 값의 평균 및 표준 편차가 계산된다. 이러한 통계는 일반적으로 블록에서 블록으로 변경된다.BTC 압축 영상의 각 블록이 원본 영상의 해당 블록과 동일한 평균 및 표준 편차를 갖도록 재구성되거나 새로운 블록에 대해 선택된 픽셀 값을 선택한다.블록에 대한 2단계 정량화는 우리가 압축을 얻는 곳이며 다음과 같이 수행된다.
여기서 ( , j) 은 (는) 원래 블록의 픽셀 요소, , ) 은 압축 블록의 요소들이다.즉, 픽셀 값이 평균보다 크면 "1", 그렇지 않으면 "0"으로 지정된다.평균과 동일한 값은 알고리즘을 구현하는 사람이나 조직의 선호도에 따라 "1" 또는 "0" 중 하나를 가질 수 있다.
이 16비트 블록은 평균 및 표준 편차의 값과 함께 저장되거나 전송된다.재구성은 평균과 표준 편차를 보존하는 "a"와 "b" 두 개의 값으로 이루어진다."a"와 "b"의 값은 다음과 같이 계산할 수 있다.
여기서 }이가) 표준 편차인 경우 m은 블록의 총 픽셀 수, q는 평균보다 큰 픽셀 수입니다( {
영상을 재구성하거나 근사치를 생성하기 위해 0이 할당된 요소를 "a" 값으로, 1이 할당된 요소를 "b" 값으로 대체한다.
이것은 인코더가 디코더보다 훨씬 더 많은 작업을 한다는 점에서 알고리즘이 비대칭적이라는 것을 보여준다.이는 디코더가 단순히 1과 0을 추정값으로 대체하는 반면 인코더는 또한 평균, 표준 편차 및 사용할 두 값을 계산해야 하기 때문이다.[6]
예
인코더
이미지에서 4×4 블록, 이 경우 산악 테스트 이미지:[7]
이미지에서 나오는 다른 작은 블록처럼, 이것은 숫자들이 모두 비슷하기 때문에 작업하기에 다소 지루해 보인다. 이것이 손실 압축의 특성이고 이미지에서 어떻게 그렇게 잘 작동할 수 있는가이다.이제 우리는 이 데이터로부터 두 개의 값, 즉 평균과 표준 편차를 계산해야 한다.평균은 241.875로 계산할 수 있으며, 이는 추가 설명이 필요 없는 간단한 계산이다.표준 편차는 4.36으로 쉽게 계산된다.이로부터 "a"와 "b"의 값은 이전 방정식을 사용하여 계산할 수 있다.각각 236.935와 245.718로 나타났다.인코딩 쪽에서 마지막으로 해야 할 계산은 각 픽셀이 하나의 비트로서 전송될 수 있도록 매트릭스를 1과 0으로 설정하는 것이다.
디코더
이제 디코더 측면에서 우리가 해야 할 일은 "a"와 "b" 값을 1과 0 픽셀로 재지정하는 것이다.이것은 우리에게 다음과 같은 블록을 줄 것이다.
볼 수 있듯이 블록은 "a"와 "b"의 두 값을 정수로 하여 재구성되었다(이미지가 부동 소수점 번호를 저장하도록 정의되지 않기 때문이다).이 이론을 통해 작업할 때는 재구성된 블록의 평균과 표준 편차를 계산하는 것이 좋다.이 값은 원래 평균과 표준 편차와 같아야 한다.정수를 사용하는 것을 기억하라, 그렇지 않으면 많은 정량화 오류가 수반될 것이다, 이전에 인코더의 정수에 모든 것을 정량화했기 때문이다.
참고 항목
참조
- ^ Liou, D. -M.; Huang, Y.; Reynolds, N. (1990). "A new microcomputer based imaging system with C/sup 3/ technique". IEEE TENCON'90: 1990 IEEE Region 10 Conference on Computer and Communication Systems. Conference Proceedings. p. 555. doi:10.1109/TENCON.1990.152671. ISBN 0-87942-556-3.
- ^ Healy, D.; Mitchell, O. (1981). "Digital Video Bandwidth Compression Using Block Truncation Coding". IEEE Transactions on Communications. 29 (12): 1809. Bibcode:1981ITCom..29.1809H. doi:10.1109/TCOM.1981.1094938.
- ^ Delp, E.; Mitchell, O. (1979). "Image Compression Using Block Truncation Coding". IEEE Transactions on Communications. 27 (9): 1335. Bibcode:1979STIA...8011525D. doi:10.1109/TCOM.1979.1094560.
- ^ Lema, M.; Mitchell, O. (1984). "Absolute Moment Block Truncation Coding and akhand Its Application to Color Images". IEEE Transactions on Communications. 32 (10): 1148. doi:10.1109/TCOM.1984.1095973.
- ^ "Rover Camera Instrument Description". NASA. Retrieved 2021-05-18.
- ^ Leis, J 2008, ELE4607 Advanced Digital Communications, 모듈 3: Image & Video Coding.2008년 Southern Queensland 대학의 강의 슬라이드.
- ^ Waterloo 프랙탈 코딩 및 분석 그룹
외부 링크
Wikimedia Commons의 블록 잘라내기 코딩 관련 미디어