7.1 JPEG 부호화기법의개요 최근에스캐너, 디지털카메라, 디지털캠코더, 휴대폰, PDA 등의디지털이미지처리장치들의등장과더불어인터넷을통한영상정보의공유가일상생활의일부가되면서, 디지털영상의사용은폭발적인증가를나타내고있다. 정지영상 (still image) 압축표준으로널리알려진 JPEG[ Joint Photographic Experts Group: ISO/TC97/SC2/WG8 산하조직 ] 에의해 1982 년에표준화를시작하여, 1992 년에국제표준이된정지영상압축기법으로서, 현재디지털이미지처리장치에필수로자리매김하고있다. JPEG 은크게무손실부호화방식과손실부호화방식으로분류될수있다. 무손실부호화방식은화면내에존재하는공간적중복성을제거하기위해화면내의화소간예측부호화방식을사용하며, 의료영상등과같이화질저하로인해치명적인결과를초래할가능성이있는응용분야에사용된다. 반면에, 손실부호화방식은압축과정에서화질의저하를허용하면서, 높은압축률을달성할수있는데, 공간적중복성제거를위해변환부호화기법으로 DCT 를사용한다. DCT 를이용한부호화기법에는기본방식 (baseline) 과확장방식 (extended) 의두가지로부호화할수있다. 컴퓨터또는디지털이미지처리장치에서다루는정지영상의압축파일형식은 JPG 이며, 흔히기본방식을사용한다. 기본방식은한개의화소에색도성분당 8 비트인영상을입력으로받아들여, 위쪽에서아래쪽으로그리고좌측에서우측으로진행하는순차적인방식으로압축을하며, 엔트로피부호화로는 DC 차이값또는 0 의줄길이에대하여허프만부호화를사용한다. 반면에확장방식은기본방식보다광범위한응용을지원하기위해, 색도성분당 8 비트또는 12 비트의입력영상을압축할수있으며, 허프만부호화또는산술부호화를응용에따라선택하여엔트로피부호화할수있다. JPEG 표준은무손실모드 (lossless mode), 순차적모드 (sequential mode), 점진적모드 (progressive mode), 그리고계층적모드 (hierarchical mode) 등의 4 가지의부호화모드를지원하며, 표 7.1 과같이요약된다. - 1 -
표 7.1 JPEG 부호화모드의요약 무손실모드순차적모드점진적모드 인접한화소값들의차이를손실없이부호화함. 압축률이좋지않으며, 의료영상등의특별한응용에사용함. 최근에개발된 JPEG-LS 표준은무손실영상압축을목표로함. 입력영상이스캔되는순서에따라서부호화함. 기본적으로제공되어야하는모드이며, MJPEG (Motion JPEG) 은동영상의각프레임에대해기본방식의순차모드로부호화하는것임. 기본적인부호화과정이순차적모드와동일하나, 원영상의근사인낮은화질의영상을낮은비트율로먼저보내고, 추가적으로세밀한정보를보내는방식임 (6 장참조 ). 고속데이터베이스검색에유용함. 영상의해상도를점진적으로높여가면서반복적으로부호화를수행함. 각단계의부호 계층적 모드 화는순차적모드나점진적모드, 무손실모드중에어느것을사용하여도무방하도록 해상도를계층화하여부호화하는방식임 (6 장참조 ). 높은해상도의영상을낮은해상 도의모니터나프린터등에출력하고자할때효과적임. 무손실모드가로선주사 (raster scan) 의순서에따라이미부호화된인접세화소의조합을통하여예측방법을결정한다. 즉, 그림 7.1 에나타낸인접화소 A, B, 그리고 C 의복호화된값을조합하여예측값을계산하고, 이예측값과현재화소의값의차이를허프만부호화또는산술부호화를이용하여부호화하며, 칼러영상의경우에는각색도성분에대해독립적으로부호화한다. 표 7.2 는예측방법인덱스와예측방법을나타낸다. previous line B C current line A x(m,n) 그림 7.1 무손실부호화를위한인접화소 - 2 -
표 7.2 무손실부호화를위한예측방법의종류 예측방법 인덱스 0 ( 계층적모드 ) 1 2 3 4 5 6 7 예측방법예측하지않음 A C B A+C-B A+(C-B)/2 C+(A-B)/2 (A+B)/2 순차적모드순차적부호화는그림 7.2(a) 에나타낸것과같이영상이주사되는순서로부호화된다. 기본적으로가로선주사 (raster scan) 과동일한형식으로부호화하는방법을말한다. 칼라영상의경우에는휘도영상과색도영상을같은주사를통하여부호화하며, MJPEG (Motion JPEG) 은입력되는동영상정보를기본방식 (baseline) 의순차적모드로부호화한다. (a). 순차적모드 시간 (b). 점진적모드 시간 그림 7.2 순차적모드와점진적모드 - 3 -
점진적모드점진적모드는 6 장에서설명하였듯이점진적전송을위한부호화모드이다. 그림 7.2(b) 에나타낸것처럼, 처음에는원영상신호를근사화한낮은화질의정보 ( 낮은비트율 ) 를전송하고, 차츰세밀한정보를전송함으로써, 사용자가차츰더좋아지는화질을관찰함으로써계속적으로정보를수신할지결정할수있다. JPEG 의점진적모드는두가지종류의구현방법이있다. 첫번째가주파수선택 (spectral selection) 방식이며, 이방식은영상전체를 8x8 블록으로나누어, 개별적으로 DCT 하여, AC 성분을몇개의구역으로나누어점진적으로전송하는방식이다. 예를들어, 모든 DCT 블록에대해 AC 계수 1 ~ 3 번째까지부호화하여전송하고, 다음에는 AC 계수 4 ~ 8 번째까지부호화하여전송하며,, AC 계수 45 ~ 63 번째까지부호화여전송한다. 이와같이각 DCT 블록에대해 AC 계수를나누어전송하면, 처음에는저주파수성분에의해흐림 ( 근사 ) 영상이수신되고, 차츰고주파성분이도착하여복호화된영상의화질이개선된다. 점진적모드의두번째구현방법은연속적인근사방식 (successive approximation) 이다. 주파수선택방식과달리, 모든 DCT 계수들이동시에부호화되며, 6 장에서설명한계층적비트플레인방식과유사하게, DCT 계수들의 MSB 비트들을먼저부호화하고, 점진적으로 MSB-1,, LSB 비트로부호화하는방식이다. 계층적모드그림 6.4 에나타낸라플라시안피라미드와비슷하게다해상도의계층영상을만든다. 이때, 저역통과필터는사용하지않고, 반복적으로수평과수직방향에대해 2:1 부표본화를통하여저해상도의영상을만든다. 그림 7.3 에나타낸 3 계층부호화경우에대한예를보자. M x N 크기의입력영상에대해수평과수직방향으로 2:1 부표본화를수행하면, M/2 x N/2 크기의영상을만든다. 다시수평과수직방향으로 2:1 부표본화를수행하면, M/4 x N/4 크기의영상이얻어진다. 이때, M/4 x N/4 크기의영상이가장낮은해 - 4 -
상도의영상 ( 레벨 2) 이며, 이를순차적모드또는점진적모드방식으로부호화한다. 부호화된레벨 2 영상을복호화한 M/4 x N/4 크기의영상을 2:1 업샘플링을수행하여 M/2 x N/2 크기의영상을얻는다. 이영상과 M/2 x N/2 크기의저해상도영상과의차영상 (difference image) 을구하여순차적모드또는점진적모드방식으로부호화한다. 부호화된레벨 1 영상을복호화한 M/2 x N/2 크기의차영상과 M/2 x N/2 크기의복호화영상을더한후에, 2:1 업샘플링을통하여 M x N 크기의영상을얻는다. 이영상과 M x N 크기의원영상과차영상을구하여, 순차적모드또는점진적모드방식으로부호화한다. - = 2:1 부표본화 2:1 upsampling + - = 2:1 부표본화 2:1 upsampling JPEG JPEG JPEG JPEG JPEG 부호화 복호화 부호화 복호화 부호화 레벨 2 레벨 1 레벨 0 그림 7.3 JPEG 의계층적모드에의한부호화 - 5 -
7.2 JPEG 손실부호화기법 그림 7.4 는손실부호화절차를나타내고있다. 즉, M x N 크기의영상이입력될때, 8 x 8 블록으로분할하면, 그림에서처럼 1 번째부터 (M/8 x N/8) 번째의블록이결정되며, 가로선주사순서로각블록에대해독립적으로 DCT 변환을적용하여부호화한다. DCT 계수들은양자화테이블을이용하여양자화하고, DC 계수와 AC 계수성분으로나누어허프만부호화가적용된다. 1 번째 8x8 블록 2 번째 8x8 블록 M/8 번째 8x8 블록 M/8+1 번째 8x8 블록 1 번째 8x8 블록 2 번째 8x8 블록 M/8xN/8 번째 8x8 블록 DCT 적용순서 M/8xN/8 번째 8x8 블록 (a). M x N 크기의입력영상에대한 8x8 블록분할과 DCT 적용순서 허프만부호어테이블 8x8 양자화행렬 DC 계수차이정보 DC 허프만 i 번째 8x8 블록 DCT 양자화 부호화지그재그 부호화 AC 허프만 다중화 주사 부호화 AC 계수 (b). 8 x 8 블록의부호화과정 그림 7.4 JPEG 손실부호화절차 - 6 -
7.2.1 DCT 4 장에서설명한 DCT 는 8x8 블록에대해수평과수직방향으로분리형으로적용된다. 1 차원의 8 개입력신호 {, 0 n 7} x n 에대해 DCT 와 IDCT 는다음과같다. 7 πk(2n + 1) DCT: yk = α ( k) xn cos( ), k = 0,1,, 7 (7.1) 16 n= 0 7 πk(2n + 1) IDCT: xn = α ( k) yk cos( ), n = 0,1,, 7 (7.2) 16 k= 0 1 1 여기서, α ( 0) =, α( k) =, 1 k 7 이다. 8 2 7.2.2 양자화 4.4 절에서설명한바와같이 DCT 계수들은대부분 0 의값을갖는경우가많으므로, 각변환계수값을미리설정한문턱치 (threshold) 값과비교하여문턱치와같거나큰변환계수의경우에양자화하여부호화하고, 그렇지않은경우에는모두 0 으로처리한다. 영역부호화와동일하게비중요변환계수를 0 으로처리하며, 다음수식과같다. C C( u, T if C( u, > T ( u, = T 0 if C( u, v ) (7.3) T 여기서, C( u, 는 8x8 변환계수행렬을나타내고, T 는문턱치값을나타낸다. 정규화된 변환계수의행렬 ( u, 은실수들이며, 다음과같이정규화 (normalization) 를수행한 다. C TN C TN CT ( u, ( u, = (7.4) Q( u, 여기서, Q(u, 는 (u, 위치의변환계수를정규화하기위한정규화계수 (normalization factor) 이며, 는목표비트율또는버퍼제어를위한가중치이다. 4 장에서설명하였듯이, 인간의시각은휘도신호에민감하고, 색도성분에는둔감하며, 영상내의균일한 ( 저 - 7 -
주파 ) 영역에는민감한반면에복잡한 ( 고주파 ) 영역은둔감한특성이있다. 이와같은인간의시각적인지특성을고려한정규화행렬 (normalization matrix) 이그림 7.5 에주어진다. 그러나, 정규화행렬은응용에따라사용자가임의로정하여사용할수있으나, 그림 7.5 의정규화행렬이널리사용된다. (0,0) (0,7) (0,0) (0,7) 16 11 10 16 24 40 51 61 12 12 14 19 26 58 60 55 14 13 16 24 40 57 69 56 14 17 22 29 51 87 80 62 18 22 37 56 68 109 103 92 24 35 55 64 81 104 113 92 49 64 78 87 103 121 120 101 72 92 95 98 112 100 103 99 17 18 24 47 99 99 99 99 18 21 26 66 99 99 99 99 24 26 56 99 99 99 99 99 47 66 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 (7,0) (7,0) (a). 휘도양자화테이블 (b). 색도양자화테이블 그림 7.5 양자화를위한정규화행렬 7.2.3 엔트로피부호화양자화된변환계수는 DC 계수와 AC 계수로나누고, 각각의통계적특성을이용한엔트로피부호화를통해서감축한다. DC 계수는화소영역의평균밝기와비례하므로, 바로직전에부호화된블록의양자화된 DC 계수값과현재블록의양자화된 DC 계수값과의차이를무손실 DPCM 방식으로부호화한다. 그림 7.6 은 DC 계수의차이값을얻는방법 i i 1 을나타내고있다. 차이값 DIFF i = C (0,0) - C (0,0) 은별도의허프만부호어테이블을 TN 이용하여부호화한다. AC 계수를양자화하면, 0 이매우많이나오며, 특히, 고주파계수일수록 0 일가능성이높다. 이와같은통계적특성을효과적으로감축에사용하기위해, 지그재그주사를사용한다. 이방식은통계적으로에너지집중도가낮은순서대로연속된 0 의값이많아지도록 AC 계수를정렬하기위한것이다. TN - 8 -
이전블록의 DC 복원값 C i 1 (0,0) TN i 현재블록의 DC 값 C (0,0) TN i-1 번째 8x8 블록 i 번째 8x8 블록 i TN i 1 DIFF i = C (0,0) - (0,0) C TN DCT 적용순서 그림 7.6 DC 계수값의 DPCM 부호화 그림 7.7 8x8 DCT 블록의 AC 계수의지그재그주사 지그재그주사순서에의해 2 차원의데이터가 1 차원의수열로변형되며, 이수열은연속되는 0 의줄길이 (run length) 와 0 이아닌심볼로구성되는새로운 연속길이심볼 로표현할수있다. 이러한연속길이의심볼들은그것의통계적확률분포에따라서허프만부호화또는산술부호화를통하여부호화된다. 7.2.4 JPEG 기본방식의예제 그림 7.8 은 LENA 영상에대한 DCT 변환, 양자화및지그재그주사의예를나타내고 있다. 이예에서는문턱치 T=0 이고, 정규화행렬에 = 0. 5 을적용하여양자화하였다. - 9 -
8 x 8 공간화소 : x ( m, n) 136.0 133.0 139.0 139.0 138.0 137.0 139.0 142.0 136.0 133.0 139.0 141.0 140.0 137.0 143.0 139.0 132.0 138.0 138.0 142.0 136.0 139.0 141.0 141.0 139.0 136.0 138.0 143.0 138.0 138.0 143.0 143.0 136.0 140.0 141.0 142.0 138.0 137.0 145.0 139.0 138.0 144.0 139.0 137.0 135.0 142.0 143.0 141.0 135.0 144.0 142.0 139.0 137.0 139.0 142.0 141.0 143.0 141.0 143.0 141.0 138.0 140.0 141.0 141.0 DCT{ x ( m, n) } DCT 결과 : C ( u, 1115.0-8.0 1.0-8.0-3.0 6.0-3.0-1.0-7.0-6.0-4.0-1.0 6.0 3.0 1.0 2.0-1.0 2.0 0.0 0.0 2.0-1.0 4.0 2.0-1.0 0.0 2.0 1.0-3.0-2.0 0.0 1.0 2.0 1.0 0.0 0.0 5.0 3.0 2.0 2.0-1.0-1.0 1.0-2.0 0.0-3.0 1.0-2.0-1.0 0.0 2.0 1.0-1.0-2.0 2.0-3.0-2.0 0.0-3.0-4.0-3.0-1.0-2.0 0.0 문턱치 T=0 적용 문턱치적용 : ( u, C T 1115.0-8.0 1.0-8.0-3.0 6.0-3.0-1.0-7.0-6.0-4.0-1.0 6.0 3.0 1.0 2.0-1.0 2.0 0.0 0.0 2.0-1.0 4.0 2.0-1.0 0.0 2.0 1.0-3.0-2.0 0.0 1.0 2.0 1.0 0.0 0.0 5.0 3.0 2.0 2.0-1.0-1.0 1.0-2.0 0.0-3.0 1.0-2.0-1.0 0.0 2.0 1.0-1.0-2.0 2.0-3.0-2.0 0.0-3.0-4.0-3.0-1.0-2.0 0.0 양자화 : C ( u, TN = CT ( u, 0.5Q( u, = 0.5 적용 70.0-1.0 0.0-1.0 0.0 0.0 0.0 0.0-1.0-1.0 0.0 0.0 0.0 0.0 0.0 0.0 지그재그주사 70-1.0-1.0 0.0-1.0 0.0-1.0 EOB DC/AC 부호어테이블 압축된비트스트림 1001000000011000110001010 그림 7.8 8x8 DCT, 양자화및지그재그주사의예 - 10 -
DC 계수의엔트로피부호화그림7.8에서 DC값 70을직접부호화하지않고, 이웃하는 8 x 8 블록의 DC 계수값들 ( 양자화한이후의값 ) 과의차이를이용하여부호화한다. 예를들어, 그림 7.4(a) 에나 1 2 타낸블록순서로양자화된 DC 계수값들이 C (0,0) = 64, C (0,0) =68, TN TN 3 4 C (0,0) =70, C (0,0) =69, 와같이발생된다고하자. 블록간의양자화된 DC 값의 TN TN 차이는 64, 4, 2, -1, 와같다. 이러한차이값은이웃하는블록간의평균밝기차이에비례하여발생된다. 특히, 이웃하는블록들은비슷한밝기값을가지므로, 예측부호화를사용하여차이값을구하면, 더작은크기와분산을가지게되므로, 더적은비트수로부호화할수있게된다. 또한, 차이값은직접부호화하지않고, (SSS, Value) 의형태로분류한후에, 표 7.2 와표 7.3 에나타낸허프만부호어테이블을이용하여부호화한다. 실제, DC 계수의차이즉, Value 는최대 2047 에서최소 -2047 까지의범위에서발생할수있으며, 이범위내에서차이값의통계적발생특성을반영한허프만부호어테이블이표 7.2 과같이표준화되어사용된다. 여기서, SSS 는 Value 를부호화하는데사용하는비트수또는범주를의미한다. Value 값이음수일경우에는음수의표현은양수표현에대해 1 의보수와같다. SSS 는표 7.3 과같이 DC 차이값이속한분류를알려주므로, 먼저부호화되어야한다. 따라서, 위의예에대해서, 64 는 (SSS, Value) = (7, 64) 이며, SSS=7 는 11110 로부호화되어범위를표시하게되고, 이범위내에서 Value 는 1000000 로부호화되어 64 를표현하게된다. 따라서, 64 에대한부호화된비트열은 11110/100000 가된다. 2 번째 8 x 8 블록의양자화 DC 값은 68 이고, 이전블록의양자화된 DC 값과의차이는 4 이다. 즉, (SSS, Value) = (3, 4) 이며, SSS=3 는부호어 00 를사용하여차이값의범위를나타내며, 이범위내에서 Value=4 에대한부호어는 100 가된다. 따라서, 2 번째 8 x 8 블록의양자화된 DC 값의차이에대한부호화된비트열은 00/100 가부호화된다. 표 7.4 는위의 DC 값들에대한부호화결과를요약한것이다. - 11 -
표 7.2 DC 차이값에대한부호어테이블 DC 계수차이값의범위 SSS Value 의부호어 0 0 N/A -1, 1 1 1:1, -1:0-3, -2, 2, 3 2 2:10, 3:11, -2:01, -3:00-7, -6, -5, -4, 4, 5, 6, 7 3 4:100, 5:101, 6:110, 7:111-4:011, -5:010, -6:001, -7:000 8:1000, 9:1001, 10:1010, 11:1011-15, -14,, -9, -8, 8,9,,14,15 4-31, -30,, -16, 16,, 30, 31 5-63, -62,, -32, 32,, 62, 63 6 12:1100, 13:1101, 14:1110, 15:1111-8:0111, -9:0110, -10:0101, -11:0100, -12:0011, -13:0010, -14:0001, -15:0000 16:10000, 17:10001,, 31:11111-16:01111, -17:011100,, -31:00000 32:100000,, 63:111111-32:011111,, -63:000000-127, -126,,-64, 64,, 126, 127 7-255, -254,, -128, 128,, 254, 255 8-511, -510,, -256, 256,,510, 511 9-1023, -1022,,-512, 512,, 1023 10-2047, -2046,, -1024, 1024,, 2047 11 표 7.3 SSS 값에대한기본적인허프만부호어 SSS 부호어길이 SSS 의허프만부호어 0 3 010 1 3 011 2 3 100 3 2 00 4 3 101 5 3 110 6 4 1110 7 5 11110 8 6 111110 9 7 1111110 10 8 11111110 11 9 111111110-12 -
표 7.4 DC 차이값의부호화된비트열 양자화된 DC 계수의 차이값 (Value) 범주 (SSS) SSS 의할당 부호어 Value 의할당 부호어 압축된비트열 64 7 11110 1000000 11101000000 4 3 00 100 00100 2 2 100 10 10010-1 1 011 0 0110 AC 계수의엔트로피부호화다시, 그림 7.8 의예로돌아가서, 1 차원의수열로변형된 AC 계수들은 -1.0-1.0 0.0-1.0 0.0-1.0 EOB 이다. 여기서, EOB 는블록의끝까지 0 이라는것을나타내는기호이다. 부호화순서는다음과같다. 1 AC 계수들을 ( 0 의줄길이, 0 이아닌심볼 ) 의심볼열로표시한다. 2 0 이아닌심볼이속하는범주 (Category) 를표 7.5 를통하여확인한다. 3 다음은 ( 0 의줄길이, 범주 ) 에대한부호어를표 7.6 을통하여결정한다. 4 표 7.5 에서 0 이아닌심볼 (Value) 의부호어를결정한다. 이에따라, 위의예는 (0, -1.0), (0, -1.0), (1, -1.0), (1, -1.0) (0, 0) 와같은심볼열로표현되며, (0, 0) 은 EOB 를표시한다. (0, -1.0) 은범주가표 7.5 를통하여 1 이며, 표 7.6 을통하여 (0, 1) 에대한부호어는 00 을결정한다. 그리고, AC 계수 = -1 은표 7.5 를통하여부호어는 1 이다. 따라서, (0, -1.0) 에대한부호화된비트열은 00/1 가된다. (1, - 1.0) 은범주가표 7.5 를통하여 0 이며, 표 7.6 을통하여 (1, 1) 에대한부호어는 1100 을결정한다. 그리고, AC 계수 = -1 은표 7.5 를통하여부호어는 0 이다. 따라서, (1, -1.0) 에대한부호화된비트열은 1100/0 가된다. 그리고, EOB 심볼인 (0, 0) 은표 7.6 을통하여, 1010 가된다. 결국, 위의 AC 계수들의부호화된열은 000 000 11000 11000 1010 가된다. - 13 -
표 7.5 AC 계수의범주와부호어테이블 범주 (Category) AC 계수값 (Value) 의범위 Value 의부호어 1-1, 1 1:1, -1:0 2-3, -2, 2, 3 2:10, 3:11, -2:01, -3:00 3-7, -6, -5, -4, 4, 5, 6, 7 4:100, 5:101, 6:110, 7:111-4:011, -5:010, -6:001, -7:000 8:1000, 9:1001, 10:1010, 11:1011 4-15, -14,, -9, -8, 8,9,,14,15 5-31, -30,, -16, 16,, 30, 31 6-63, -62,, -32, 32,, 62, 63 12:1100, 13:1101, 14:1110, 15:1111-8:0111, -9:0110, -10:0101, -11:0100, -12:0011, -13:0010, -14:0001, -15:0000 16:10000, 17:10001,, 31:11111-16:01111, -17:011100,, -31:00000 32:100000,, 63:111111-32:011111,, -63:000000 7-127, -126,,-64, 64,, 126, 127 8-255, -254,, -128, 128,, 254, 255 9-511, -510,, -256, 256,,510, 511 10-1023, -1022,,-512, 512,, 1023 표 7.6 AC 계수의 (0 의줄길이, 범주 ) 에대한부호어테이블 0 의줄길이 (ZeroRun) 범주 (Category) 부호어길이 (0 의줄길이, 범주 ) 의부호어 0 1 2 00 0 2 2 01 0 3 3 100 0 4 4 1011 0 5 5 11010 1 1 4 1100 1 2 6 111001 1 3 7 1111001 1 4 9 111110110-14 -
표 7.6 AC 계수의 (0 의줄길이, 범주 ) 에대한부호어테이블 ( 계속 ) 0 의줄길이 (ZeroRun) 범주 (Category) 부호어길이 (0 의줄길이, 범주 ) 의부호어 2 1 5 11011 2 2 8 11111000 3 1 6 111010 3 2 9 111110111 4 1 6 111011 5 1 7 1111010 6 1 7 1111011 7 1 8 11111001 8 1 8 11111010 9 1 9 111111000 10 1 9 111111001 11 1 9 111111010 15 0 11 11111111011 EOB (End of Block) 4 1010 한가지의예를더살펴보자. 양자화된 DCT 블록이 79 0-2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0-1 EOB. 여기서, 첫번째는 DC 값이므로, AC 값은 (1, -2), (15, 0), (2, -1), (0, 0) 과같다. 여기서, 0 의줄길이는최대 15 개까지표현가능하며, (15, 0) 은 0 의줄길이에대한최대길이표현이다. 먼저, (1,-2) 는범주가 2 이므로, (1, 2) 에대한부호어가 111001 가되고, -2 에대한부호어가 01 가되어서, 111001/01 가부호화된다. 그리고, (0, 15) 는표 7.6 에서 11111111011 가된다. (2, -1) 은범주가 1 이므로, (2, 1) 에대한부호어는 11011 가되고, -1 에대한부호어는 0 가되어, 11011/0 가된다. 따라서, 이예에대한 AC 계수들의부호화된비트열은 11100101 11111111011 110110 101 가된다. - 15 -
부호화된블록의복호화과정 그림 7.8 의예제에서, 바로직전의양자화된 DC 계수값이 68 이라고가정하면, 예제에 주어진블록을부호화하여발생되는비트열은 10010 000 000 11000 11000 1010 가된다. 이블록에대한압축률은 25bits/(8x8x8)bits = 4.88/100 가된다. 복호화과정은그림 7.9 에나타낸것과같이, 부호화과정의반대과정을통하여이루 어진다. 이때, 이전블록의양자화된 DC 계수값으로 68 이복원되어있다고전제한다. 먼저, 표 7.3 의내용과비교하여입력되는비트스트림에서일치하는성분이 100 가된다. 따라서, SSS=2 가되고, 표 7.2 를이용하여 SSS=2 의열에서 10 과일치하는것은 2 가 된다. 따라서, 현재블록의양자화된 DC 계수값은 68 + 2 = 70 가된다. 다음은 AC 계 수에대한복호화이다. 표 7.6 을이용하여, 일치하는비트열은 00 가되므로, 이값은 0 의줄길이 =0, 범주 =1 가된다. 표 7.5 에서범주 =1 에서부호어가 1 인것은 0 이 아닌심볼 (Value)=-1 을얻는다. 따라서, 첫 AC 계수에대한정보는 (0, -1) 가되어, 위 치를복원할수있다. 이와같은방법을반복적으로수행하면, AC 계수에대해 (0, -1.0), (0, -1.0), (1, -1.0), (1, -1.0) (0, 0) 와같이복호화된다. 복호화된계수들을이용하여그 림 7.9 와같이 2 차원의데이터로재정렬한다. 부호화기에서사용한 = 0. 5 을정규화 행렬에적용하여역양자화하면 DCT 계수를얻고, IDCT 를적용하면, 화소영역의 8 x8 블록 xˆ ( m, n) 을얻게되며, 압축전의 8 x 8 화소블록 x( m, n) 과차이가나게된다. 이차 이는 DCT 영역에서양자화에의해초래된것이며, 다음과같이표현된다. 5.0-1.0 1.0 0.0 1.0-1.0-2.0-3.0 4.0-2.0 0.0 2.0 2.0-1.0 2.0-6.0 e ( m, n) = x ( m, n) - x ˆ( m, n) = -1.0 2.0-2.0 2.0-2.0 1.0 0.0-4.0 4.0-2.0-3.0 2.0-1.0 0.0 2.0-1.0-1.0 0.0-1.0 0.0-1.0-1.0 4.0-5.0-1.0 3.0-5.0-6.0-5.0 3.0 2.0-3.0-5.0 1.0-3.0-4.0-3.0 0.0 1.0-3.0 2.0-2.0-2.0-3.0-2.0 1.0 0.0-2.0-16 -
입력비트스트림 1001000000011000110001010 DC/AC 부호어테이블 70.0-1.0 0.0-1.0 0.0 0.0 0.0 0.0-1.0-1.0 0.0 0.0 0.0 0.0 0.0 0.0 70-1.0-1.0 0.0-1.0 0.0-1.0 EOB 2-D 정렬 * C T 복원된 DCT 계수 : ( u, * T = 역양자화 : C ( u, C ( u, *0.5Q( u, TN 1120.0-11.0 0.0-16.0 0.0 0.0 0.0 0.0-12.0-12.0 0.0 0.0 0.0 0.0 0.0 0.0 IDCT{ C T ( u, } * 복원된화소값 : x ( m, n) ˆ 131.0 134.0 138.0 139.0 137.0 138.0 141.0 145.0 132.0 135.0 139.0 139.0 138.0 138.0 141.0 145.0 133.0 136.0 140.0 140.0 138.0 138.0 141.0 145.0 135.0 138.0 141.0 141.0 139.0 138.0 141.0 144.0 137.0 140.0 142.0 142.0 139.0 138.0 141.0 144.0 139.0 141.0 144.0 143.0 140.0 139.0 141.0 144.0 140.0 143.0 145.0 143.0 140.0 139.0 141.0 144.0 141.0 143.0 145.0 144.0 140.0 139.0 141.0 143.0 그림 7.9 JPEG 복호화의예 - 17 -
위의예에대한평균제곱오차 (MSE) 는다음과같이측정한다. 1 8 8 = { x( m, n) xˆ( m, n) } 8 8 mse = 6.98 m= 1n= 1 rmse = mse = 2.64 2 따라서, 8 x8 블록내에화소당평균적으로 ± 2.64 만큼의오차가발생함을의미한다. 원영상과복호화된영상사이에발생되는왜곡은압축률이높을수록크게나타난다. 표 7.6 은화소당평균비트율 (bits/pixel) 에따른 MSE 와 PSNR 을각각실험적으로구한 것이다. 그림 7.10 은 0.5bpp 과 1.5bpp 로압축하여복원한 LENA 영상을각각나타내고 있다. 표 7.6 LENA 영상에대한 JPEG 부호화및복호화결과 비트율 (bpp) 1.5 1.0 0.75 0.5 0.25 MSE 6.55 10.43 14.29 22.09 53.88 PSNR [db] 39.97 37.95 36.58 34.69 30.82 0.5bpp 1.5bpp 그림 7.10 압축복원된영상의객관적화질비교 - 18 -
7.3 JPEG 비트스트림의형식 JPEG 에서정의하는손실및무손실부호화기법에공통적으로적용되는비트스트림 의구조는그림 7.11 과같다. 부호화된비트스트림은프레임, 주사 (scan), 세그먼트, 블록의 4 계층으로표현된다. 프레임은영상이고, 주사는화소값을읽는것이다. 그리 고, 세그먼트는블록의그룹이고, 블록은 8 x 8 화소로구성된다. SOI 는영상의시작을 나타내고, EOI 는압축영상의끝을나타낸다. TABLES 에는 Y/Cb/Cr 에대한양자화테 이블과허프만테이블을포함한다. SOI TABLES Frame EOI SOF Frame Header SCAN1 DNL SCAN2 DNL EOF SOS Scan Header ECS 0 RST 0 ECS last-1 RST last-1 ECS last Block Block Block DC (ZeroRun, Value) (ZeroRun, Value) EOB SOI: Start of Image, EOS: End of Image, SOF: Start of Frame, EOF: End of Frame, SOS: Start of Scan, ECS: Entropy Coded Segment, RST: Restart Marker, DNL: Define Number of Lines 그림 7.11 JPEG 비트스트림의구조 - 19 -
SOF 는프레임의시작을나타내고, EOF 는프레임의끝을통보한다. 그리고, Frame Header 는화소당비트수, 영상의공간해상도 ( 넓이, 높이 ), 성분의수, ( 각성분을위한 ) 고유 ID, ( 각성분을위한 ) 사용할수직 / 수평의표본화인수, ( 각성분을위한 ) 사용할양자화표를나타내는곳이다. DNL 은영상의주사선수를지정하는곳이며, 흔히프레임헤더내에있는정보를사용한다. SOS 는주사 (scan) 의시작을나타내는곳이며, Scan Header 에는 Scan Header 필드이후의바이트단위의데이터길이, 주사내의색성분수, 무손실부호화의경우예측기의종류등을지정한다. RST 는재시작표시자이며, 엔트로피부호화세그먼트 (ECS) 사이에위치하고, 오류검출, 복구를위해다음에오는 ECS 필드의시작점을가리킨다. 엔트로피부호화세그먼트의개수는 RST 에의해결정되며, 불허 (disable) 인경우에는엔트로피부호화세그먼트가한개만포함된다. 7.4 JPEG2000 부호화기법 JPEG 표준은현재까지널리사용되고있는영상압축형식이고, 의료영상 (medical imaging), 디지털도서관, 멀티미디어, 인터넷과모바일등으로응용영역이넓어지게되었으며, 이에따라몇가지문제점을드러냈다. 즉, 블록기반의 DCT 를이용한 JPEG 은높은압축률로압축을할경우에복호화된영상에심한블록화현상 (blocking effect) 가나타나는등화질열화가나타나는단점이있고, 사용자의다양한욕구를충족시키는기능제공이미흡하였다. ISO/IEC 위원회는 1996 년에이와같은단점을극복하고, 고품질압축을제공할뿐만아니라, 사용자들이요구하는다양한기능을추가적으로제공하는새로운정지영상압축방식의국제표준을제정하였고, 1997 년 11 월 20 일에 20 개이상의알고리즘을평가하였으며, 그중에서웨이블릿변환에근간을둔국제표준을발표하였는데, 이것이 JPEG2000 표준이다. - 20 -
7.4.1 JPEG2000 표준의구성및특징 JPEG2000 표준은표 7.7 과같이 6 개의부분으로구성되어있다. Part 1 은 JPEG2000 의기본시스템으로최소한의복잡도로 80% 의응용을만족시키기위해 개발되었고, 사용료를지불하지않고사용할수있으며, 2000 년 12 월에국제표준으로인정되었다. Part 2 는 Part 1 의확장이며, 지적재산권 (IPR, Intellectual Property Rights) 에의해보호를받으며, Part 2 시스템에서발생된비트스트림은 Part 1 에서정의하는복호화기에의해복호되지않는다. Part 3 는움직임 (motion) JPEG2000 으로 Part 1 의기술에기반을두고있다. Part 4 는적합성테스트부분이고, Part 5 는 JPEG2000 참조소프트웨어이며, Part 6 은복합영상파일포맷이다. 표 7.7 JPEG2000 표준의구성 Part 제목 1 JPEG2000 영상부호화시스템 : 핵심 (core) 부호화시스템 2 JPEG2000 영상부호화시스템 : 확장 3 Motion JPEG2000 4 적합성테스트 (Conformance Test) 5 참조소프트웨어 6 복합영상파일포맷 JPEG2000 개발은 JPEG에비하여높은압축율을제공하면서, 현재그리고미래의다양한응용을해결할수있는많은기능 (feature) 을갖춘영상압축기법을개발하는것이었다. 즉, JPEG2000의특징은다음과같이요약된다. - DCT 기반과웨이블릿변환에기반을둔압축부호화방식이제공되며, DCT기반은 JPEG 표준과의역방향호환성을제공되고, 기본방식 (baseline) 을구현하며, 모든새로운기능들과향상된성능은웨이블릿기반방식에속한다. - 21 -
- 낮은비트율압축 : JPEG은 0.25bpp이하의비트율에서주관적인화질이우수하지못하지만, JPEG2000에서는낮은비트율에서도뛰어난화질을제공한다. - 무손실과손실압축 : 단일비트스트림에서손실압축과무손실압축을제공한다. - 큰영상압축 : 새로운표준은타일링을하지않고, 64k x 64k보다더큰공간해상도를지원한다. - 점진적전송 : 낮은비트율에서부터높은비트율까지끊김이없는화질과해상도의축소성 (scalability) 을제공한다. 목표비트율과재생해상도는압축과정에알필요가없다. - 잡음이있는환경에서의전송 : 무선네트워크와인터넷과같은잡음이존재하는환경에서전송을위한에러복원력이향상된기능을제공한다. - 합성문서 : JPEG2000은파일의부분으로서부가적인영상이아닌데이터를통합시키기위해메타데이터메커니즘을제공한다. 예로써, 영상과함께문서를포함시키기에유용하게사용될수있다. - 컴퓨터를통해생성된영상 : JPEG은자연영상을최적화되고컴퓨터를통해생성된영상에대해서는잘수행되지않는다. - 관심영역부호화 : 영상의나머지부분보다더나은화질로부호화할수있는관심영역 (ROI: Regions of Interest) 을지정하는것이허용된다. 예를들면, 발표자의얼굴을주위의가구보다더나은화질로부호화하고싶을때사용할수있다. 이외에, JPEG2000은영상타일링, 비트스트림의임의접근, 향상된시스템성능, 융통적인영상파일포맷등을지원한다. 그리고, JPEG은세컬러채널만을다룰수있으나, JPEG2000은최대 256개의정보채널까지다룰수있다. JPEG200의응용은인터넷, 인쇄, 디지털사진, 원격센싱, 이동전화응용, 의학영상, 컬러팩시밀리, 디지털도서관, 인쇄, 전자상업등과같은다양한응용을내다보고설계된것이다. 특히, 큰압축된영상의원격브라우징을수행할수있는능력을제공하고있다. - 22 -
7.4.2 JPEG2000 의기본구조 JPEG2000 부호화기의기본구조는그림 7.12 와같다. 입력영상 전처리기 DWT 균일양자화기 ( 데드존있음 ) 적응적이진산술부호화 (Tier-1 부호화 ) 비트스트림조직 (Tier-2 부호화 ) 압축된비트스트림 그림 7.12 JPEG2000 부호화기의기본구조 입력영상 JPEG2000 의입력영상은최대 2 14 (=16,384) 개의구성요소를가질수있다. 일반적인영상은 R/G/B 또는 YCbCr 과같이 3 개의구성요소를갖는다. 각구성요소들의비트는 signed 또는 unsigned 일수있으며, 비트깊이의범위는 1~38 이다. B 비트에대하여 unsigned 일경우에는그범위가 (0, 2 B-1 ) 이며, signed 일경우에는 (- 2 B-1, 2 B-1-1) 이다. 전처리 (Pre-processing) 이과정에서입력영상은동일한크기의직사각형타일로분할된다. 타일의크기는한개의화소부터전체영상까지응용에맞게설정할수있다. 다음에 unsigned 화소값에대해서는 2 B-1 을감하는레벨시프트 (level shift) 를수행하고, signed 화소값에대해서는레벨시프트를수행하지않는다. 레벨시프트이후의전처리과정은컬러변환을수행한다. 컬러변환방식에는두가지방식이있다. 하나는 ICT (Irreversible Color - 23 -
Transform) 방식이고, 다른하나는 RCT (Reversible Color Transform) 방식이다. 다음은 1.2 절에서나타낸순방향 ICT 이다. Y C C b r 0.299 = 0.169 0.500 0.587 0.331 0.419 0.144 R 0.500 G 0.081 B (7.5) 그리고, 다음은순방향 RCT 이다. Y R + 2G + B =, U = R G, V 4 = B G (7.6) 이산웨이블릿변환 (DWT: Discrete Wavelet Transform) 6.3 절에나타낸바와같이, 스케일링필터 ( 저역통과필터 ) 와웨이블릿필터 ( 고역통과필터 ) 를분리형으로수평과수직방향으로적용함으로써, 웨이블릿변환결과를얻게된다. ( 자세한방식은 6.3 절을참조 ) 그림 7.13 은웨이블릿변환을통하여 3 개의스케일에대해 10 개의부대역분할한예를나타내고있다. LL3 LH3 HL3 HH3 HL2 HL1 LH2 HH2 LH1 HH1 그림 7.13 웨이블릿변환을통한 10 개의부대역으로분해한예 - 24 -
양자화 (Quantization) JPEG2000 은중앙에데드존 (deadzone) 을가진단일스칼러양자화기법을사용한다. 그림 7.14 는 JPEG2000 에서채택하고있는단일양자화구성 ( 양자화간격 S b ) 을보여준다. 각부대역 b ( 그림 7.13 에서 LH i, HH i, HL i, LL, i=1,2, 3) 에대해양자화간격 S b 가결정되면, 해당부대역의양자화는다음과같이수행된다. q u, = sign( y y ( u, ) ( u, Sb b b ( b (7.7) 출력 ( 재생값 ) 4 3 2 1-4S b -3S b -2S b -1 -S b 0 S b 2S b 3S b 4S b 입력 ( 판별값 ) y b ( u, -2-3 -4 그림 7.14 데드존이있는양자화간격 S b 의스칼러양자화 - 25 -
y b ( u, 는부대역 b 의 (u, 위치에서의웨이블릿변환계수이다. 양자화간격 S b 는 2 바이트 (16 비트 ) 로표시되며, 11 비트크기 (mantisa) 는 µ b 로표시하고, 5 비트지수는 ε b 를나타낸다. Rb 는부대역 b 의웨이블릿변환계수의크기를표현하는비트의 개수이다. 이와같은표기에따라, 양자화간격 S b 는다음과같이계산한다. b R ε µ (, ) = 2 b u v b (1 + ) 11 2 S (7.8) 복호화기측에 S b 을전달하는방법에는 2 가지방법이존재한다. 하나가모든부대역의 ( ε b, µ b ) 값을전송하는상세양자화 (expounded quantization) 가있고, 다른하나는 최상위 LL 부대역에대한하나의 ( ε b, µ b ) 값을전송하고다른부대역에대한값은 S b 값을스케일링하여구하는유도양자화 (derived quanzation) 방법이있다. 이경우 다음과같은관계식이성립한다. ε, µ b ) = ( ε b N L + nb, µ b ) (7.9) ( b N L 은전체분해레벨을나타내고, nb 는해당부대역의분해레벨이다. 복호화기의역양자화 6 장에서나타낸 Antonini 와 Daubechies 에의해설계된 (9,7) 탭의쌍직교웨이블릿 필터뱅크를사용할때에양자화간격 S b 에대한웨이블릿변환계수의재구성 Rq b ( u, 는다음과같다. - 26 -
( qb ( u, + γ ) Sb if qb ( u, > 0 Rqb ( u, = ( qb ( u, γ ) Sb if qb ( u, < 0 0 otherwise (7.10) 0 γ < 1 은계수재구성파라미터로서, 복호화기에서결정한다. γ =0.5 인경우에는 중앙값 (midpoint) 재구성을하고, γ <0.5 인경우에는 0 쪽방향으로편향된계수들을 재구성한다. 일반적인경우에는 γ =0.375 를사용한다. 웨이블릿변환계수의모든비트 M b 가복호화가되면, 양자화간격은 S b 이된다. 그러나, 일부 Nb 비트들만이 복호화되면, 양자화간격은 M b N S b b 2 이된다. 쌍직교웨이블릿필터 (5, 3) 탭이사용될 때에는 S b 을 1 로하고, 모든과정은동일하다. 그러나, 무손실복호화를수행할 경우에는 ( u, Rq b = ( u, q b 이된다. 엔트로피부호화 JPEG2000 에서양자화된웨이블릿변환계수의부호화방법은주로임베디드 비트스트림을생성하기위하여비트플레인단위로부호화한다. 이방식은 Taubman 에의해제안된 EBCOT (Embedded Block Coding with Optimized Truncation) 알고리즘을사용한다. 각부대역은직사각형형태의작은부호블록 (codeblock) 단위로분할되고, 각부호블록은독립적으로부호화된다. 부호블록이포함하는계수는최대 4,096 (=2 12 ) 을초과할수없다. 부호블록은포함하는비트에따라서중요블록 (significant block) 과비중요블록 (insignificant block) 으로구분된다. 부호블록단위의부호화방식은다음과같은장점을갖는다. - 영상에대한임의접근가능 - 병렬처리 - 영상에대한추출과회전기능 - 27 -
- 효율적인비트율-왜곡조정 - 향상된에러내성 - 점진적부호화의최대융통성그림 7.15 는양자화된웨이블릿변환계수의비트플레인의부호화를나타낸다. 2 M b 1 0 2 M b 2 1 b N b M 2 0 그림 7.15 양자화된웨이블릿변환계수의비트플레인부호화 JPEG2000 은적응이진산술부호화 (adaptive binary arithmetic coding) 방식인 MQcoder 사용하는데, 이방식은팩스영상의압축에사용된 JBIG2 에도사용되었던방식으로지적재산권이부여되어있다. 이진영상에서이진비트의확률은비트컨텍스트 (bit context) 에의하여계산된다. 각컨텍스트에대하여 MQ-coder 는 46 개의확률상태중에서다음확률상태를선정한다. 0 부터 13 까지는시작상태이고, 14 부터 - 28 -
45 까지는안정된상태이고, 상태 46 은동일한확률분포를가진입력을부호화하기위하여사용된다. EBCOT 알고리즘은각비트플레인을 3 번의경로로나누어부호화하면서, 비트율- 왜곡의조건에따라생성되는비트스트림을절단한다. 이방법의최대장점은거의최적에가까운임베디드비트스트림을구성할수있다는점이다. 영상왜곡의감소에가장크게기여하면서비트스트림의증가를가장적도록하는영상의부호블록부터부호화된다. 또한, 많은수의비트스트림절단점을선택할수있기때문에, 최적의비트율-왜곡조절을가능하게한다. 목표비트율-왜곡의달성은영상전체의왜곡을최소화시키는부호화단계를포함함으로서이룩된다. 부호블록에있는각계수는중요상태라고하는이진상태변수를설정한다. 이변수는처음에 0 으로초기화하고, 최초 0 이아닌비트값을발견하면 0 에서 1 로바뀐다. 하나의계수에대한컨텍스트벡터는이진벡터이며, 그계수의 8 개이웃계수의중요상태들로구성된다. 그림 7.16 은컨텍스트선택에사용되는 8 개의이웃컨텍스트를보여주고있다. 비트플레인부호화의첫번째경로는중요전파 (significance propagation) 경로라고불린다. 이경로에서는 8 개의이웃에기초하여판단해서앞으로중요하게될확률이가장높으나, 현재는중요하지않은계수들을부호화한다. 다음의부호화단계는정밀화경로라고불리며, 이경로에서는중요한계수 d v d h h d v d 그림 7.16 컨텍스트선택을위해사용되는 8 개의이웃 - 29 -
들의비트들이비트플레인에서정밀화된다. 마지막단계는청소경로로서비트평면에 있는모든중요하지않은비트들이부호화된다. 부호블록의비트주사순서는 그림 7.17 과같으며, 비트스트림은각부호화경로에서절단될수있다. 그림 7.17 부호블록에서의주사방식 JPEG2000 은균일한컨텍스트이외에 18 개의부호화컨텍스트를사용한다. 컨텍스트는 0-8 은중요전파와천소단계에서중요부호화를위하여사용된다. 컨텍스트 9 는길이 부호와와청소단계에서사용된다. 컨텍스트 10-14 는 sign 부호화를위하여사용된다. 컨텍스트 15-17 은정밀화단계에서사용된다. 각부블록은 MQ- 부호화기에의하여 부호화되어하나의산술부호어를생성한다. 기본부호화모드에서각부호블록에대한부호화컨텍스트는시작처음에초기화되며, 부호화되는도중에리셋되지않는다. 모든컨텍스트는균일한확률로초기화되며, 0 컨텍스트와길이컨텍스트만이낮은확률기호 (LPS: Less Probable Symbol) 에대하여각각 0.0283 과 0.0593 으로초기화된다. 부호블록에대한서비비트평면부호화경로를병렬부호화하기위하여, 각부비트평면단계의산술부호화를서로분리하는것이필요하다. JPEG2000 은산술부호화비트스트림의종료와함께, 각부호화경로의마지막에서컨텍스트확률을재초기화할 수있다. 또한, JPEG2000 은수직적인줄 - 인과컨텍스트 (vertically stripe-causal - 30 -
context) 를지원한다. 이사양은복호화단계의병렬화와외부기억장소사용을줄이기위하여사용된다. 산술부호화종료, 부호화경계에서컨텍스트의재초기화, 그리고, 수직적인줄-인과컨텍스트를병렬모드라고한다. 또다른부호화선택사양으로레이지부호화 (lazy coding) 모드가있으며, 이사양은산술부호화의실행이선택사양이다. 이경우웨이블릿변환계수의비트들은출력비트스트림에 raw 데이터로출력된다. 산술부호화에이ㅡ한비트평면부호화를 Tier-1 부호화라고한다. 그림 7.18 은 Tier- 1 부호화에의한압축비트스트림을보여준다. 여기서, 영상의크기는 256 x 256 이고, 2- 레벨의웨이블릿분해이고, 부호블록의크기는 64 x 64 이다. 그림의각정사각형은 22 개의부호블록에대하여한번의부호화를거친압축된비트스트림이다. 각부호블록은독립적으로부호화되기때문에, 부호블록의압축된비트스트림은다양한응용에맞추어조정될수있다. 압축된비트스트림을더큰단위로묶어서패킷을구성할수가있다. 패킷을구성하는과정을 Tier-2 라고한다. 그림 7.18 부비트플레인부호화경로의압축된비트스트림 - 31 -
[ 연습문제 ] 1. JPEG 기본방식을통하여다음의 8 x 8 블록을압축하였을경우에, 발생되는비트스트림을구하시오 ( 단, 이전블록의양자화된 DC 계수값은 70 이며, Δ =0.5 을사용함 ). 139.0 140.0 135.0 140.0 138.0 138.0 141.0 141.0 141.0 145.0 140.0 140.0 139.0 138.0 137.0 142.0 139.0 140.0 141.0 143.0 139.0 139.0 138.0 141.0 138.0 139.0 143.0 141.0 140.0 138.0 138.0 143.0 140.0 137.0 137.0 137.0 136.0 132.0 136.0 143.0 135.0 136.0 137.0 138.0 136.0 136.0 139.0 139.0 139.0 140.0 135.0 139.0 137.0 135.0 138.0 140.0 135.0 142.0 139.0 138.0 140.0 145.0 136.0 136.0 2. 위의예에서 Δ =1, 2, 3 를사용할경우에발생되는비트량과그때의 MSE 와의관계를그림으로그리시오. 3. 3-레벨의계층 JPEG 으로위의 8 x 8 영상을부호화하려고한다. 어떻게구현할수있는지설명하시오. 4. 위에주어진예제를이용하여, 점진적전송하려고한다. 어떻게구현할수있는지설명하시오. 5. 보통의 JPEG 에서웨이블릿기반의압축을수용하면, 어떤방법으로수용하여부호화효율을높일수있을지설명하시오. 6. GIRL 영상에대한화소당비트를 1.5, 1.0, 0.5, 0.25 로바꾸어 JPEG 기본방식으로압축하였을경우에발생되는평균제곱오차 (MSE) 를구하고, 그결과를그래프로그리시오. 7. 다음은 8 x 8 휘도신호에대해 DCT 와양자화를적용한후에얻은신호이다. 이신호를부호화하였을때, 발생되는비트스트림을구하시오. 단, 이전블록 - 32 -
의양자화된 DC 계수는 50 이라고한다. 62.0 0.0 0.0 4.0 0.0 0.0 0.0 0.0-1.0 5.0 0.0 1.0 0.0 0.0 0.0 0.0-33 -
[ 실습문제 ] 1. LENA 영상의첫번째 8 x 8 블록을 = 1. 5 부호화하시오. 그결과는? 로두고양자화하여, 엔트로피 2. 임의의 JPEG 으로압축된영상에대해, 비트스트림의처음 50 바이트에대해비트스트림의구조를분석하시오. - 34 -