14장디지털ㅎㅎ영상의압축 디지털영상압축의개요 디지털영상의압축기법 정지영상표준압축부호화기법 동영상표준압축부호화기법 한빛미디어 ( 주 )
14 장. 디지털영상의압축 학습목표 압축의원리를이해한다. 무손실압축기법을소개한다. 손실압축기법을소개한다. JPEG의원리를공부한다. MPEG의원리를소개한다. 2
압축의필요성 데이터양이많으면저장장치에효율적으로저장하기가어려움. 데이터양이많으면통신네트워크로전달하는데어려움이있음. 데이터양이많은영상은그양을줄여주는압축기술이필요함. 멀티미디어정보를위한새로운압축기법의요구 디지털영상의품질증가와동영상활용의확대, 3 차원입체동영상의등장으로데이터양은더욱증가 현상황에맞는더많은압축알고리즘이요구됨. 압축시스템 Section 01 디지털영상압축의개요 3
중복성 (Redundancy) 제거기법 데이터를압축하는원리는중복된데이터를제거하는것 압축을중복성제거기법이라함. 통계적중복성 (Statistical Redundancy) 정보이론을기초로데이터의통계에서나타나는중복을제거 허프만 (Huffman) 부호화방식이대표적기법 주관적중복성 (Subjective Redundancy) 인간의시각구조를기초로눈에보이는중복데이터를제거 공간적중복성 (Spatial Redundancy) 이산코사인변환에서고주파를제거하는것처럼인접한화소나블록단위로이들사이의상관관계를제거하여압축을수행 시간적중복성 (Temporal Redundancy) 주로동영상에서수행하는압축방법 프레임간차영상을전송하거나각오브젝트단위로움직임보상을수행하여시간적중복성을제거 4
압축의분류 압축은손실과무손실압축으로분류 손실 (Loss) 압축 중복되고불필요한정보의손실을허용데이터양을줄이는방법 삭제된데이터가시각에미치는영향은작지만영상의품질은저하 사라진데이터때문에정확하게영상을복원하는것은어려움. 불필요한데이터를버렸기때문에압축성능은우수함 절단부호화, 양자화, 벡터양자화, 손실예측부호화, 변환부호화 무손실 (Lossless) 압축 압축과정에서데이터의손실이전혀없어입력영상과복원된영상이완전히같음. 버린데이터가없어압축효율은떨어짐. 허프만부호화, 산술부호화, 실행길이부호화 의료영상, 설계도면등자료를손실하면안되는분야에서응용 5
압축률 효율적인압축방법선택을위한고려사항 압축률은원래자료의크기를압축된자료의크기로나눈것 압축률이높을수록데이터의크기는작지만저장장치와전송상태를고려하여정하는게바람직 압축 (Encoding)/ 복원 (Decoding) 시간 압축과복원을수행하는데걸리는시간 비디오스트리밍서비스는실시간으로압축하고복원이필요하나전자메일에서사용하는영상은비실시간으로압축하고복원해도됨. 압축알고리즘의복잡도 압축과복원을빠르게하려면, 복잡도가낮은것을선택해야함. 속도는구애받지않지만그대신높은압축률을요구한다면복잡도가높은것을선택하는게더효율적 더불어계산되는자원의가용성과비용도고려되어야할것 표준화여부 표준화된압축기법을사용하면전송된압축데이터의복원문제가발생하지않아표준기법의고려가필요함. 6
다양한압축부호화기법 Section 02 디지털영상압축의기법 엔트로피부호화 (Entropy Coding) : 무손실부호화와같은뜻 정보원부호화 (Source Coding) : 영상의정보를표현하는첫번째단계에서압축을수행하는것, 보편적으로손실부호화를수행 7
실행길이부호화 무손실압축 자료의반복성을이용하는가장간단한압축기법으로, 만화처럼단순그림에적합한압축기법 20 바이트자료의실행길이부호화 BBBBFFFFFFEEEETPPPRR 반복되는자료를반복횟수만표현 4B6F4E1T3P2R 압축률의계산 : 데이터양이 20 바이트에서 12 바이트로감소 압축률 = 20 바이트 /12 바이트 = 1.6 8
수정실행길이부호화 자료가반복하지않는경우실행길이부호화는비효율적 19 바이트의자료 WelcomeToImageWorld 실행길이부호화를적용하면 38 바이트로부호화 1W1e1l1c1o1m1e1T1o1I1m1a1g1e1W1o1r1l1d 압축률 : 19 바이트 /38 바이트 = 0.5( 성능저하 ) 보완방법반복되지않는데이터는그대로표현한채반복되는자료에만실행길이부호를적용반복되는자료의실행길이부호화앞에특수문자를삽입 20 바이트의자료가수정실행길이부호화를수행하면 16 바이트로감소 GAFECETAAAAAAEPPPPDE GAFECET*6AE*4PDE 9
영상에서의실행길이부호화 실제영상에서는연속해서나오는화소의개수를부호화함. 이진영상에서는 0 의반복횟수를먼저표현한뒤 1 의반복횟수를표현 그레이영상에서는 ( 화소값, 반복횟수 ) 형식으로표현 10
허프만코딩 데이터의발생빈도수에따라다른길이의부호를사용하는가변길이부호화 (Variable Length Coding) 방법 빈번하게발생되는자료를표현할때는적은수의비트를할당하고, 드물게발생되는자료를표현할때는더많은비트를할당 가변길이의허프만부호예 고정길이부호화에서는문자하나를 8 비트로표현. 반면, 가변길이부호화에서는문자하나의비트수가일정치않음. toupee t o u p e e (48bit) 111 0100 10111 10110 100 100 (23bit) 압축률 : 2.08 11
허프만부호화의전치특성 (Prefix Property) 한코드가다른코드앞에위치할수없다는것 e 가 01 로표현되면 010 은다른문자로부호화될수없어야함. 복호화과정에서문자의길이를알수없기때문 010 이 f 로부호화되었다면복호기는 01 을읽고 e 로판단할수도있고, 010 으로읽고 f 로판단할수도있기때문 복호기에서 010 이라는비트스트림을읽을때 01 이들어오면 e 를출력하고, 다음의 0 에서다시읽기를시작할수있음. 12
허프만코드생성알고리즘 일곱가지색이있는영상 색상의발생빈도수에따른배열 13
이진트리를사용한허프만테이블구성 (1) 1 처음에는모든색을각기독립된노드인자유노드로간주함. 2 빈도수가가장낮은자유노드두개를자식노드로하는부모노드를한개생성. 부모노드는자식노드의합과가중치가같게됨. 3 연결한자식노드두개는자유노드목록에서제거하고, 새롭게생성된부모노드는목록에추가 14
이진트리를사용한허프만테이블구성 (2) 4 자유노드가하나만남을때까지 2 단계와 3 단계를반복수행. 이자유노드는구성하는트리의루트가됨. 15
이진트리를사용한허프만테이블구성 (3) 4 자유노드가하나만남을때까지 2 단계와 3 단계를반복수행. 이자유노드는구성하는트리의루트가됨. 16
각색상을허프만부호화한결과 최종으로만든루트트리의각가지에임의적으로 0 과 1 을할당함. 그런뒤아래쪽가지부터할당된비트를읽어각색상의부호결정 17
차분부호화 무손실차분부호화 선행데이터와현재데이터값의차이만전송하는방법 값의차이를정확하게표현할수있다면손실이없는부호화도가능 값차이가너무크거나작은때는정확한부호화가어렵고손실부호화가나타남. 영상에서무손실차분부호화 첫번째화소는그냥부호화 나머지화소는차이만을부호화 차이값은비트수로도표현 18
손실압축 공간해상도를저하시키는압축 영상의크기를나타내는공간해상도를줄이면, 데이터가버려져영상의크기는작아지고, 작아진영상의품질은저하됨. 원래크기로만들려면선형보간 (Linear Interpolation) 을이용하여복원하면되지만원본영상과똑같지는않음. 19
양자화를이용한압축 화소밝기값의자릿수범위를줄여데이터를압축하는방법각화소를표현하는비트수를줄이면영상의데이터양을줄일수있는압축을수행 8 비트그레이영상에서 4 비트그레이영상으로변경밝기범위가 0~225 에서 0~15 로좁아져정확도가떨어짐. 극단적으로 1 비트로밝기를표현데이터양은많이줄어드나이진영상이되어품질의저하 20
이산코사인변환 변환부호화를이용한압축 영상의주파수성분을순차적으로배열 왼쪽위에는저주파성분이있고, 대각선방향인오른쪽아래로진행될수록고주파성분이분포 고주파성분은영상에중요한정보가들어있지않으므로이성분을제거해도눈으로는품질이떨어진것을알지못함. 고주파성분을제거했으므로데이터의양은감소 21
변환부호화를이용한압축 ( 계속 ) 웨이브렛변환생성된부영상을옥타브트리구조로배치하면이산코사인변환과같은주파수배열을얻을수있음 고주파성분을쉽게제거가능옥타브트리구조 (a) 는 1 단계만수행한것으로오른편아래가고주파성분 (b) 는웨이브렛변환을삼단계로수행한것으로왼쪽위에서대각선방향으로진행할수록고주파성분 22
Section 03 정지영상표준압축부호화기법 JPEG(Joint Photographic Expert Group) 국제표준화기구 (ISO) 와국제전기통신연합의산하단체인 CCITT 에서 1992 년제정한국제표준알고리즘 기본적으로화상의크기, 컬러시스템및컬러성분에제한을두지않음. 압축모드로는순차적부호화, 점진적부호화, 계층적부호화, 무손실부호화가있음. JPEG 의기본개념 여러가지응용목적에맞게부호화방식을선택하여필요한부분을선택적으로적용할수있음. 컬러정지화상의부호화방식을폭넓게수용하여응용분야에따라부호화방식이나사용하는매개변수등을적절히선택 조합해서사용할수있음. 23
JPEG 의압축단계 1 영상의걸러모델을 RGB 에서 YCbCr(Y= 휘도, CbCr= 색도 ) 로변환 2 색상을나타내는색도성분다운샘플링 ( 옵션 ) 3 영상을 8 8 화소의블록으로분할하고각블록에서이산코사인변환 (DCT) 실행 4 DCT 계수를양자화 5 양자화된 DCT 계수를허프만부호화방법을사용하여부호화 24
실제영상에서 JPEG 압축 양자화까지수행되면허프만부호화로디지털스트림의압축된영상데이터가생성 25
RGB 컬러모델 컬러모델변환과색도성분의다운샘플링 채널간에상관도가높아영상처리수행후원래의컬러를보존하기어려움. 색채널세개를유지해야하므로그만큼데이터양도많음. JPEG 에서는 YCrCb 모델사용 인간의시각적인특성을이용할수있기에효율적 밝기성분에해당되는 Y 의휘도구성요소는그대로유지, 색도구성요소 Cr, Cb 는약간의정보를제거해도눈에거슬리지않음. 색도성분은수평과수직방향으로다운샘플링됨. 26
컬러모델변환과색도성분의다운샘플링 ( 계속 ) 색도구성요소의다운샘플링 (a): 화소네개로구성된휘도와색도성분 (b): 색도성분을수직방향으로다운샘플링한결과 (c): 수직과수평방향으로다운샘플링된결과 27
이산코사인변환단계 8 8 블록이 DCT 되었을때의구성 (0, 0) 은직류성분이고나머지계수는 AC 성분왼쪽위가저주파, 대각선방향으로오른쪽아래로갈수록고주파 28
이산코사인변환단계 ( 계속 ) DCT 계수에서 DC 계수값은아주큼. 에너지가집중되어있고, 영상의주요성분이포함되어있음. 고주파쪽으로갈수록계수가작아짐 에너지와중요한정보가작음. 29
DCT 계수의양자화 영상의중요정보가아닌고주파성분을제거하는과정 DCT 계수를양화자테이블의양자화계수로나눈뒤반올림해서수행 양자화테이블에서양자화계수 DC 와저주파성분이있는왼쪽윗부분에서는값이작음. 고주파성분의오른쪽아랫부분으로이동할수록크기가작음. 양자화계수로 DCT 계수를나누면몫은 DC 와저주파부분은크고고주파부분은작아서거의 0 에가까움. 30
지그 - 재그순서로부호화 양자화된 DCT 계수의부호화 15, 0, -2, -1, -1, -1, 0, 0,-1,, 0 이진비트할당 - 두단계로부호화를수행 심벌 -1 : 가변길이부호 (Variable Length Code: VLC) 연속되는 0 의길이 (RUNLENGTH) 와그다음 0 이아닌 DCT 계수 ( 심벌 -2) 의길이 (SIZE) 만을부호화 심벌 -2 : 가변길이지시자 (Variable Length Integer: VLI) 연속된 0 다음에나오는 0 이아닌 DCT 계수값을부호화 마지막으로, 블록의끝 (End Of Block: EOB) 부호 심벌 -1 의표현은 RUNLENGTH=0, SIZE=0 이되므로 (0, 0) 형식으로표현되며, 이것의부호화값은 1010 31
DC 값의인코딩 (1) 양자화된 DCT 계수의부호화 ( 계속 ) 이전블록 DC 값과의차이값을부호화하는차등부호화방식을이용 심벌 -1 0 의런길이 (RUNLENGTH) 는고려하지않고, 이전블록의 DC 값과의차이를부호화하는데필요한비트수를 [ 표 14-3] 을참고하여표시 32
심벌 -2 양자화된 DCT 계수의부호화 ( 계속 ) 이전블록의 DC 값과의차이값을 [ 표 14-4] 를참고하여표시 33
DC 계수를부호화하는예 양자화된 DCT 계수의부호화 ( 계속 ) 이전블록의 DC 값을 18, 현재블록의 DC 값을 15 라고가정하면, 차분 DC 값은 -3. -3 의부호화를위한비트수 (SIZE) 2 비트 ([ 표 14-3] 참고 ) 숫자 2 의코드 011([ 표 14-3] 의밝기성분 DC) 심벌 -1 = 011-3 의코드값 00([ 표 14-4] 참고 ) 심벌 -2 = 00 결과코드값 : 01100 34
양자화된 DCT 계수의부호화 ( 계속 ) AC 값의부호화 심벌 -1 (RUNLENGTH, SIZE) 형태로표기 RUNLENGTH는 0의반복되는횟수 SIZE는 0이아닌수를부호화하는데필요한비트수 [ 표 14-5] 참고 심벌 -2 에서는 [ 표 14-4] 에근거하여 0 이아닌수를부호화 35
양자화된 DCT 계수의부호화 ( 계속 ) AC 계수를부호화하는예 양자화된 DCT 계수 15, 0, -2, -1, -1, -1, 0, 0,-1, EOB DC 와 AC 계수를심벌 -1 과심벌 -2 로표현 (2) (-3), (1,2) (-2), (0,1)(-1), (0,1)(-1), (0,1)(-1), (2,1) (-1), (0,0) (1,2)(-2) RUNLENGTH = 1, SIZE = 2 심벌-1 = 1101 1([ 표 14-5] 참고 ) -2 심벌-2 = 01([ 표 14-4] 참고 ) (0,1)(-1) RUNLENGTH = 0, SIZE = 1 심벌-1 = 00([ 표 14-5] 참고 ) -1 심벌-2 = 0([ 표 14-4] 참고 ) (2,1)(-1) RUNLENGTH = 2, SIZE = 1 심벌-1 = 11100([ 표 14-4] 참고 ) -1 심벌-2 = 0([ 표 14-4] 참고 ) 36
양자화된 DCT 계수의부호화 ( 계속 ) 부호화결과 압축의성능 8 비트로화소값을표현 : 총데이터양은 64 8 = 512 비트 JPEG 압축을수행 : 31 비트로감소 0110011011010000000001110001010 37
JPEG 복호화단계 복호화단계는압축과정의역순으로진행 압축된부호화값을다시심벌형태로변환 심벌은양자화계수값으로복원 역양자화를수행하여 DCT 계수를얻음. 역방향 DCT(Inverse DCT) 를수행하여공간영역의영상정보를생성 YCrCb 의컬러정보를컬러모델변환하여다시 RGB 영상을생성 38
JPEG 복호화단계 압축데이터의복호화과정에서생성된데이터 39
Section 04 동영상표준압축부호화기법 MPEG(Moving Picture Experts Group) 동영상을압축하는국제표준 ISO/IEC(International Electrotechnical Commission) 에서 1988년에설립한동영상전문가그룹시간에따라연속적으로변화하는동영상압축과부호를표현하여정보를전송할수있는방법을연구동영상과오디오를조합하려는국제적표준을위해개발최근에는멀티미디어용비디오압축기술까지도필요성이증대되어이분야의개발이활발히진행되고있음. 40
MPEG-1 MPEG 의종류 1991 년 ISO 에서규격화한영상압축기술 CD-ROM 등디지털저장매체에 VHS 테이프수준의동영상과음향을최대 1.5Mbps 로압축 저장 해상도는 352 240 이고, 초당보여주는화면의개수를나타내는프레임률은 30Frames/Second, 2 채널스테레오오디오지원 비디오 CD 와 CD-I/FMV MPEG-2 1994 년규격화한영상압축기술 디지털 TV, 대화형 TV, DVD 등을압축하려고 MPEG-1 을개선한것 4~15Mb/sec 전송속도를목표로하며, 해상도는 1,920 1,152 까지지원, 프레임률은 30frames/sec 을만족 비월주사 (Interlaced Video) 방식지원 현재, DVD 등의컴퓨터멀티미디어서비스, 직접위성방송, 유선방송, 고화질 TV 등방송서비스, 영화나광고편집등에서널리사용 41
MPEG의종류 ( 계속 ) MPEG-4 멀티미디어통신을전제로만든영상압축기술로, 1998년완성낮은전송률로동화상을보내려고개발된데이터압축과복원기술의새로운표준데이터를객체 (Object) 단위로처리 영상내의의미있는내용물을각각다른객체로부호화하고, 이를혼합하여하나의화면을구성 추후원하는객체만을추출하여재사용하거나객체을이용하여전체데이터를재구성할수있음. 이런특징때문에 64Kbps, 19.2Kbps의저속전송으로동화상구현내용기반의대화형기능 (Content-based Iteractivity) 과다양한전송환경의수용성및오류에강한특성 인터넷유선망과이동통신망등무선망에서멀티미디어통신, 화상회의시스템, 컴퓨터, 방송, 영화, 교육, 오락, 원격감시등의분야에서널리사용 42
MPEG-7 MPEG 의종류 ( 계속 ) 동영상데이터검색과전자상거래등에적합하도록개발된차세대동영상압축재생기술로 1996 년부터표준화작업이시작 색상이나물체의모양정보를입력하는것만으로도웹에서필요한멀티미디어자료를찾을수있는기술 전자도서관, 멀티미디어디렉터리서비스 (Multimedia Directory Services), TV/Radio 방송국, 멀티미디어편집 (Multimedia Editing) 등의분야에서활용이예상 MPEG-21 MPEG-1 과 MPEG-2, MPEG-4 등 MPEG 관련기술을통합하여디지털콘텐츠의제작및유통, 보안등의모든과정을관리할수있게하는기술 콘텐츠제작자와유통업자, 최종사용자가편리하게국제적호환성으로콘텐츠를식별하고, 관리하며, 보호할수있도록하는멀티미디어프레임워크핵심기술의표준화를목표 43
MPEG의기본개념공간압축기법 프레임단위로압축을수행가장인접화소간의상관관계를제거하려고 DCT를이용 DCT 변환뒤양자화, 엔트로피부호화가수행됨. 인트라프레임부호화 (Intraframe Coding) 시간적압축방법 MPEG 에서추가된압축방법 인접한프레임간의상관관계를이용하는프레임간예측 (Frame-to-frame Prediction) 을수행 움직임예측 (Motion Prediction) 으로움직임벡터 (Motion Vector) 를구하고, 이것을이용하여다시움직임보상 (Motion Compensation) 을수행 움직임벡터, 원래의프레임과움직임보상된프레임간의차영상등이부호화 인터프레임부호화 (Interframe Coding) 44
MPEG 의기본개념 ( 계속 ) 움직임예측으로움직임벡터를찾는과정 매크로블록 (Macro Block) 움직임예측을수행하려고영상을크기가 16 16 인블록으로분할 매크로블록이다음프레임어떤위치로이동했는지를검사 프레임 1 의자동차앞부분에해당되는매크로블록이프레임 2 의어디로이동했는지를찾는것 매크로블록의움직임벡터를구함. 45
MPEG 의기본개념 ( 계속 ) 움직임벡터로움직임보상을수행하는과정 움직임벡터 프레임 1 의매크로블록이프레임 2 의어느곳에위치하는지를알려주어프레임 2 는프레임 1 에서복사하여사용 움직임보상 프레임 1 의모든매크로블록이움직임벡터에근거하여프레임 2 로복사되어보상영상을구성 차영상과움직임벡터부호화 보상영상과원래의프레임 2 와의차영상을구하고이것을부호화 차영상의값은큰값이아니므로적은데이터양으로표현이가능 움직임벡터는움직임의시작좌표와움직임이끝나는좌표를저장하므로데이터양이아주적음. 부호화된차영상과부호화된움직임벡터는하나의프레임데이터와비교하여크기가많이작아짐. 압축된데이터 46
MPEG 의기본개념 ( 계속 ) 움직임보상과정 47
움직임예측 움직임예측의정확도 MPEG 의기본개념 ( 계속 ) 부호화되는차영상의크기를줄일수있으므로압축률을결정하는요소 복원할때영상의품질을결정하므로, 움직임예측은정확해야함. 순방향예측 : 과거영상에서미래영상을예측하는것 양방향예측 : 현재영상을기준으로과거영상에서의순방향예측과미래영상에서의역방향의예측을수행하는것 48
예측영상의종류와순서 예측영상 I 영상 (Intra-Picture) MPEG 의기본개념 ( 계속 ) 예측부호화없이하나의프레임에서압축되어독립적으로복원 P 영상 (Predicted Pictures) 순방향예측부호화영상 B 영상 (Bi-directional Predicted Pictures) 양방향예측부호화영상 부호화순서와화면순서 I 와 P 영상을먼저처리한뒤 B 영상을부호화하므로원래화면의순서와처리순서가달라짐. 49
GOP(Group Of Pictures) 구조 MPEG 의기본개념 ( 계속 ) 순방향과양방향예측을수행하는 P 영상과 B 영상을포함하며, 임의접근 (Random Access) 이가능하도록 I 영상이한장이상주기적으로들어있음. 동영상플레이도중원하는시간대의동영상을볼수있게해주는역할을임의접근으로 I 영상이수행함. 50
데이터압축원리 중복된데이터를제거하는하는것 중복성제거기법이라고함 손실압축 요약 중복되고필요치않은정보의손실을허용하여데이터양을줄이는방법 무손실압축 압축과정에서데이터의손실이전혀없어입력영상과복원된영상과완전히같음. 효율적인압축방법을선택할때고려해야할사항 압축률, 압축 / 복원, 알고리즘의복잡도, 계산되는자원의가용성과비용, 표준화등 JPEG(Joint Photographic Expert Group) 컬러정지영상의부호화표준을목표로 ISO 와 CCITT 에서 ADCT 를기초로하는알고리즘을선택하여이부호화방식을 JPEG 라고명명함. 최종적으로 1992 년국제표준으로알고리즘이확정됨. MPEG 동영상을압축하는국제표준 ISO/IEC 에서 1988 년에동영상전문가그룹으로, 시간에따라연속적으로변화하는동영상압축과부호를표현하여정보를전송할수있는방법을연구함. 51
Thank you