이론및실습 강의자료 7 장 : 동영상압축표준의이해
수업목표및내용 q 동영상압축원리를이해한다. q H.261 동영상압축표준부호화와복호화에대하여이해 한다. 2/41
동영상압축표준화동향 정성적부호화율 H.263 MPEG-4 Part 2 H.264/AV C H.264 MPEG-4 AVC MPEG-2 H.261 MPEG-1 90 91 92 93 94 95 96 97 98 99 00 01 02 03 04 05 년 도 H.26x : ITU-T 표준 MPEG-x : ISO/IEC 표준 3/41
압축부호화국제표준개요 미디어종류 국제표준기구 표준화명칭 내용 표준화시기 ITU-T H.261 px64 kbps 오디오비주얼통신용영상부호화, ISDN 에대응 1990 H.263 공중아날로그전화망등에서의저속도영상전화 / 영상회의를위한동영상부호화, 20kbps~2Mbps 1996 ITU-T ISO/IEC H.264 (MPEG-4 AVC) 범용고능률동영상압축부호화표준, 10kbps~240Mbps 2003 ~2004 동영상 ISO/IEC MPEG-1 저장미디어 (CD-ROM) 용영상부호화, 1.5 Mbps 1992 ISO/IEC MPEG-2 비디오 고품질영상범용 ( 저장 / 통신 / 방송미디어 ) 동영상압축부호화, 4M~30Mbps 1995 ISO/IEC MPEG-4 비디오 멀티미디어 ( 오디오비주얼 ) 방송의범용동영상압축부호화, 10kbps~40Mbps 1998 ISO/IEC ITU-T MPEG-4 AVC (H.264) 범용고능률동영상압축부호화표준, 10kbps~240Mbps 2003 정지화영상 ISO/IEC JPEG DCT 기반의정지영상부호화 1992 JBIG 이진영상부호화 1993 JPEG2000 웨이블릿변환기반의정지영상부호화 2000 4/41
동영상 (Movig Pictures or Video) 짧은시간간격동안순차적으로표시되는정지화면들의집합 NTSC TV의경우 : 화면간시간 = 1/30 초 PAL TV의경우 : 화면간시간 = 1/25 초 화면간에는물체또는카메라의움직임등에의하여밝기의변화가발생 화면간의짧은시간간격으로인하여, 이웃한영상간에는상당히높은상관성이존재 그림 7-2: 동영상 ( 비디오 ) 신호 5/41
동영상압축전처리과정 컬러모델변환필터링 (fiterig): 컬러모델변환에이어필요할경우저역필터링을통한스무딩 (smoothig) 과정컬러부표본화 (coor subsampig) 6/41
화면내부호화와화면간부호화 1) 화면내 (itra mode) 부호화 기존의 JPEG 에서사용된압축방법과거의같은압축방법 다른영상 ( 이전영상, 이후영상 ) 과관계없이독립적으로하나의현재영 상만으로부호화하는방식 화면내부호화방식으로압축되는화면을 I (itra)- 프레임이라고한다. 7/41
화면내부호화와화면간부호화 2) 화면간 (iter mode) 부호화 과거또는미래의프레임을참조하여예측압축방식으로부호화하는것을말한다. 이전의화면과현재의화면의차이가매우적은것을이용하여차이값 만을부호화하는것이다. 화면간부호화를위해서는매크로블록단위의모션추정 (motio estimatio) 과모션보상 (motio compesatio) 이라는개념이사용된 다. 화면간부호화방식으로압축되는화면을 P (Predictive)- 프레임과 B (Bidirectioa)- 프레임이있다. 8/41
부호화프레임종류 GOP( Group Of Picture) I-프레임으로시작하는연속적인화상들의집합 I B B P B B P B B P B B I 그림 7-3: 동영상압축프레임종류 9/41
프레임정의 : I - 프레임 I-프레임은해당화면정보만으로부호화되며, JPEG 압축에서사용되었던압축방법과거의똑같은방식으로한장의영상을독립적으로압축하는프레임을말한다. I- 프레임은독립된영상으로압축 / 복호된다. 복호시임의접근 (radom access) 을위해서는 I-프레임이필요하다. 전체화면이화면내부호화만으로부호화된다. Y, Cb, Cr 영상들이서로독립적으로 JPEG 알고리즘과같이압축된다. I 프레임을이용한압축은상대적으로그압축율이낮다. 10/41
프레임정의 : P - 프레임 P-프레임은아래그림과같이이전영상을참조하여, 이전영상과관계를가지고압축되는프레임 I-프레임과달리독립적이지않으며, 현재영상의매크로블록 (16x16) 이이전의 I-또는 P-프레임에있는비슷한매크로블록으로부터예측되는순방향예측부호화방법에의해부호화 참조블록 현재매크로블록.. I- 프레임 P- 프레임 시간축 11/41
프레임정의 : P - 프레임 움직임추정 (Motio estimatio) 및움직임보정 (Motio compesatio) 을통한부호화 I- 프레임부호화에비해상대적으로높은압축율 연속적인 I- 프레임사이의 P- 프레임의수는제한된다. ( 에러가누적되는것을막고, 복호시임의접근 (radom access) 을위해서 ) 12/41
프레임정의 : B - 프레임 B-프레임은그림과같이이전영상을참조함과동시에이후의 I 또는 P 영상을참조해서부호화하는프레임 B-프레임부호화는 MPEG의특징인양방향예측에의해부호화되는화면압축성능이가장좋은프레임이지만, 계산시간과복잡도가가장높다. 현재매크로블록 역방향참조블록.. I B B P 시간축 13/41
양방향탐색의중요성 (B 프레임 ) 14/41
동영상부호화프레임종류 예측 예측 예측 예측 GOP=3 (a) I- 프레임과 P- 프레임 GOP = 6 순방향예측 양방향예측양방향예측 (b) I- 프레임, P- 프레임, B- 프레임 15/41
블록기반의움직임예측및움직임보상 동영상압축원리에서시간중복성을제거하기위해서는 매크로블록단위의움직임예측 (motio estimatio) 및 움직임보상 (motio compesatio) 이필요하다. 8x8 pixe bock Y Cb Cr 4:2:2 format Y Cb Cr 4:2:0 format [ 그림 7-7] 매크로블록 (macro bock) 16/41
블록기반의움직임예측및움직임보상 이전영상 ( 참조프레임 ) 현재영상 ( 목표프레임 ) 검색영역 (x,y) (x+u,y+v) 움직임벡터 검색 (x,y) MV (u,v) Best Match 매크로블록 검색영역 v -p -p p u p [ 이전참조영상에서현재영상 ( 목표프레임 ) 의매크로블록 움직임 (MV) 검색개념도 ] 17/41
움직임예측 (Motio Estimatio) 움직임예측 (Motio Estimatio) 현재화면에서의 Pixe ( 또는 bock) 이이전화면의어느위치에대응되는지를찾아내는과정현재화면에서의 Pixe ( 또는 bock) 과이전화면에서찾아낸 Pixe ( 또는 bock) 간의위치는같을수도있고, 다를수도있다. 이러한위치의차이를움직임 (Motio) 이라고한다. 움직임의방향성을함께나타내는것을, 움직임벡터 (Motio Vector) 라고한다. 움직임예측을위하여는주로 pixe보다는 bock을사용 ( 매크로블록 ) 현재화면에서의위치 (x1, y1) Motio vector (x1-x2, y1-y2) 이전화면에서의위치 (x2, y2) 18/41
움직임보상 (Motio compesatio) 움직임예측을통하여찾아낸이전화면에서의블록과현화면간의차이신호를보정하여주는과정움직임예측을통하여움직임벡터 (motio vector) 와예측에러 (predictio error) 를얻고, 이들을부호화한다 19/41
움직임예측및움직임보상의효과 ( b) 이전프레임 f(t-1) (d) f(t) - f(t-1) (a) 현재프레임 f(t) (c ) 움직임보상프레임 f (t) (e) f(t) - f (t) 7.4 동영상압축 20/41
21/41 움직임예측및보상 대표적움직임예측방법 BMA (Bock Matchig Agorithm): 블록단위로움직임을예측 현재영상의매크로블록화소들을 C(x+k, y+), 참조영상의화소들을 R(x+i+k, y+j+) 이라할때 MAD (Mea Absoute Differece) 를최소화시키는블록 R(x+i, y+j) 를찾는다 åå - = - = + + + + - + + = 1 0 1 0 2 ), ( ), ( 1 ), ( M k M j y k i x R y k x C M j MAD i
움직임예측및보상 가장정합이잘되는블록을찾는검색알고리즘 전역탐색 (fu search): 현재영상의블록과이전영상에서탐색영역내의모든블록들을비교하여최소의오차를갖는이전영상에서의블록을찾아냄 2차원대수적탐색 (2-D ogarithmic search) 3-step search 22/41
움직임예측및보상 전역탐색 (fu search) 움직임벡터를찾기위한가장간단한방법은참조프레임에서전 체검색영역을순차적으로전체를탐색하는것 2 차원대수적탐색 (2D ogarithmic search) 23/41
움직임추정및움직임보상 매크로블록 : 16 x 16 pixes( 일반적 ), 8x8 pixe(h.264). 움직임추정을통하여움직임벡터 (motio vector) 와예측에러 (predictio error) 를얻고, 이들을부호화한다. 움직임벡터 (Motio vector) 압축되는매크로블록의 (x, y) offset 좌표를나타낸다. 즉, 기준영상에서매치가되는블록의위치를표시한다. 이값은상대적으로큰값일수있다. 예를들어, [-16, 16] 또는 [-8, 8] 움직임벡터는이웃한매크로블록의움직임벡터를이용하여차분부호화 (differetia ecodig) 및허프만부호화된다. 24/41
움직임추정및움직임보상 예측에러 (Predictio error) 매크로블록과매치가되는기준영상내의블록과의차이값을의 미한다. 이러한 3 개의 (Y, Cb, Cr) 예측에러값들은 I- 프레임압축과같이 부호화된다.(DCT, quatizatio, etropy ecodig). 만약움직임추정과정에서기준영상내의검색영역에서매치가되 는매크로블록을찾지못하였다면, 이매크로블록은 I- 프레임에 서부호화하는것과같이부호화한다. 25/41
움직임추정및움직임보상 (B- 프레임 ) B-프레임에대한움직임추정및보상은먼저이전의 I 또는 P 프레임과이후의 I 또는 P 프레임에서움직임벡터및예측에러를계산한다. 이전의 I 또는 P 프레임에서계산된모션벡터와예측에러그리고이후의 I 또는 P 프레임에서계산된모션벡터와예측에러를이용하여새로운모션벡터및예측에러를계산한다. 위의세가지모션벡터및예측에러에서가장작은예측에러값을선택하여부호화한다. 26/41
부호화, 복호화및재생시화면처리순서 원영상 1 2 3 4 5 6 7 8 9 10 11 12 13 부호화영상 I 1 B 3 B 4 P 2 B 6 B 7 P 5 B 9 B 10 P 8 B 12 B 13 P 11 부호화순서 1 3 4 2 6 7 5 9 10 8 12 13 11 복호화순서 1 3 4 2 6 7 5 9 10 8 12 13 11 재생영상순서 1 2 3 4 5 6 7 8 9 10 11 12 13 27/41
7.3 통신용동영상부호화표준 - H.261 부호화제어 입력영상 1 입력영상 2... 부호기 1 부호기 2 영상신호다중화기 송신버퍼 전송부호기 부호화 (a) 영상부호기및송신블록도 된비 트 출력영상 1 출력영상 2... 복호기 1 복호기 2 영상신호역다중화기 수신버퍼 전송복호기 열 (b) 영상복호기및수신블록도 [ 그림 7-12] 영상통신에사용되는 H.261 영상부호기및복호기블록도 28/41
통신용동영상부호화표준 - H.261 H.261 표준으로정해져있는부분 복호기 (decoder) 부호화된영상데이터의구문구조 (sytax) 를규정하는영상신호다중화기및역다중화기 오류정정부호를추가하여전송오류를정정하는전송부호기및전송복호기. H.261 에서지원되는비디오형식 비디오형식 휘도영상해상도 색차영상해상도 Bit-rate (Mbps) (30 fps 로압축하지않았을때 ) H.261 지원 QCIF 176 x 144 88 x 72 9.1 필수사항 (required) CIF 352 x 288 176 x 144 36.5 선택적 (optioa) 29/41
8x8 8x8 8x8 8x8 8x8 8x8 Y Cb Cr 1 macrobock = 4 (8x8) bocks for Y + 1 (8x8) bock for Cb + 1 (8x8) bock for Cr (a) 1 MB (Macro Bock) 구성 48 pixes 176 pixes MB1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 (b) 1 GOB (Group of Bock) 구성 352 pixes 176 pixes 288 pixes GOB 1 GOB 2 GOB 3 GOB 4 GOB 5 GOB 6 GOB 7 GOB 8 GOB 9 GOB 10 GOB 11 GOB 12 144 pixes GOB 1 GOB 3 GOB 5 (c) CIF 영상형식의구조 (d) QCIF 영상형식의구조 30/41
H.261 영상부호기 : I- 프레임부호화 Y Cb Cr 각매크로블록에대하여 각 8x8 블록에대하여 I- 프레임부호화 (CIF 또는 QCIF 영상 ) DCT 양자화 엔트로피부호화 [ 그림 7-14] I- 프레임부호화과정 1010111. 31/41
H.261 영상부호기 : P- 프레임부호화 목표영상 ( 현재 ) Y Cb Cr 각매크로블록에대하여 참조영상 ( 이전 ) 현재매크로블록 최적의매크로블록 매크로블록차영상 각 8x8 블록에대하여 P- 프레임압축 (CIF 또는 QCF 영상 ) 움직임벡터 (MV) DCT 움직임벡터계산 차분부호화 (Differetia ecodig) 양자화 엔트로피부호화 [ 그림 7-15] 움직임예측및보상기반 P- 프레임부호화과정 1010111. 32/41
H.261 영상부호기 : P- 프레임부호화 P- 프레임부호화는차분매크로블록을부호화한다. 움직임벡터부호화 : 이전매크로블록과현재매크로블록의움직임 벡터사이의차분인 MVD(Motio Vector Differece) 가엔트로피 부호화된다. MVD = MV -MV Pr evious curret 33/41
H.261 영상부호기 : 양자화와역양자화 JPEG과 MPEG에서처럼 8x8 양자화표를사용하지않는다. 한매크로블록안에서모든 DCT 계수를위해스텝-크기 (step-size) 라고하는상수를사용한다. 스텝-크기는 2부터 62까지의 31개짝수중어떤하나를가질수있다. DC 계수에대해서는예외로스텝-크기 8을항상사용한 다. DCT DCT QDCTDC = roud ( ) = roud ( ) step _ sise 8 DCT DCT QDCTAC = roud ( ) = roud ( ) step _ sise 2 scae 34/41
H.261 부호기블록도 부호화제어 입력영상 1-2 인트라모드 인터모드 4 DCT 양자화 엔트로피부호화 출력버퍼 비트스트림 역양자화 0 인트라모드 인터모드 움직임예측 3 IDCT 5 + 6 프레임메모리 움직임벡터 35/41
H.261 복호기블록도 입력비트 스트림 입력버퍼 엔트로피복호화 움직임벡터 역양자화 IDCT 0 인트라모드 인터모드 + 복호된화면재생 움직임예측 프레임메모리 36/41
H.261- 부호화제어방법 부호화과정에서프레임간예측부호화를사용할지프레임내부호화를사용할지또는양자화특성을어떻게선택할지, 프레임스킵에의해저프레임률로할지등등의부호화제어에관해서는표준에규정되어있는것이없다. H.261에서의부호화비트율은구체적으로 CIF의경우 256 kbps, QCIF의경우 64 kbps 이하로정해져있다. 데이터량을제어하는방법은 H.261 부호기를설계하는설계자의디자인이슈지만일반적으로출력버퍼의점유율에따라양자화기를제어하는방법이주로사용 37/41
H.261- 부호화비트스트림구조 38/41
H.261 H.261 ecodig formats: (a) macrobock format, (b) frame/picture format 39/41
참고문헌 [1] Mutimedia commuicatio, Fred Hasa [2] Fudametas of Mutimedia, Ze-Nia Li, Mark S. Drew [3] 그림으로보는최신 MPEG, 정제창역, 교보문고 [4] 영상통신시스템, 김재균, 영지문화사 [5] H.264/AVC 비디오압축표준, 정제창역, 홍릉과학출판사 40/41
질의 / 응답 Thak You! 수고하셨습니다. 41/41