H.264/AVC 비디오압축표준 H.264/AVC 의전체구성과 [ 프로파일과레벨 ] 에관한규정 Sunghwan Kang Sept. 25, 2008
Contents (1/2) H.264/AVC 의전체구성과특징 움직임보상을개선한기술 프레임내의예측을효율적으로적용한기술 시각적인화질열화를줄이는기술 부호화하는정보의특징에따라적응적인기술 H.264/AVC 의 [ 프로파일 ] 은어떤규정인가? 세가지의프로파일과그특징 H.264/AVC 의프로파일을구성하는기술요소들 [H.264/AVC] 가공통의프로파일을가지지않는배경 H.264/AVC 의 [ 레벨 ] 은어떤규정인가? H.264/AVC 의두개의레벨 : 정수레벨과하위레벨 2008-09-25 Realtime image processing & Telecommunication Lab 2
H.264/AVC 의영상포맷 H.264/AVC 의색차신호포맷 격행주사방식영상 Contents (2/2) H.264/AVC 에서의비트열의구성 NAL ( 네트워크추상계층 ) 의기능 시쿼스픽처와파라미터세트 슬라이스 : H.264/AVC 에서부호화를위한기본단위 엑세스단위와그구조 H.264/AVC 의바이트열포맷 2008-09-25 Realtime image processing & Telecommunication Lab 3
H.264/AVC 의전체구성과특징 (1/12) H.264/AVC 부호기 그림 1 H.264/AVC 부호기의전체구성 2008-09-25 Realtime image processing & Telecommunication Lab 4
H.264/AVC 의전체구성과특징 (2/12) H.264/AVC 복호기 디블록킹필터의적용 그림 2 H.264/AVC 복호기의전체구성 디블록킹필터의처리량이복호기전체처리량의 50% 를점유하는경우있음 블록경계강도 (Block Boundary Strength) 에따라디블록킹필터를적응적결정 픽처파라미터세트와슬라이스헤더의파라미터에의해결정 (1) 슬라이스경계와매크로블록경계에디블록킹필터를적용 (2) 매크로블록경계에만디블록킹필터를적용 2008-09-25 (3) 디블록킹필터를사용하지않음 Realtime image processing & Telecommunication Lab 5
H.264/AVC 의전체구성과특징 (3/12) 움직임보상을개선한기술 매우정밀한움직임보상 영상의처리단위를보다작은블록크기 (4 화소 4 라인 =16 화소 ) 이용 그림 3 macroblock 및 sub-macroblock 파티션들 2008-09-25 Realtime image processing & Telecommunication Lab 6
H.264/AVC 의전체구성과특징 (4/12) 그림 4 macroblock 및 sub-macroblock 을처리단위로이용 2008-09-25 Realtime image processing & Telecommunication Lab 7
H.264/AVC 의전체구성과특징 (5/12) 정교한화소정밀도 (1/4 화소까지 ) 를사용해움직임보상 A~I: 정수화소정밀도 1~8: ½ 화소정밀도 a~h: ¼ 화소정밀도 그림 5 소수화소정밀도의움직임탐색방법 2008-09-25 Realtime image processing & Telecommunication Lab 8
H.264/AVC 의전체구성과특징 (6/12) 움직임보상의활용 여러개의참조프레임을사용함으로써최적의예측신호를선택 0 그림 6 복수참조픽처의효과 2008-09-25 Realtime image processing & Telecommunication Lab 9
H.264/AVC 의전체구성과특징 (7/12) 페이드영상의효율적인예측 움직임보상을수행하는신호에적응적으로가중치를주어계산한후예측신호를생성 2008-09-25 그림 7 H.264/AVC에서사용하는가중치예측의특징 10
H.264/AVC 의전체구성과특징 (8/12) 프레임내의예측을효율적으로적용한기술 현재블록주위에이미부호화된신호를이용 최적의예측모드를선택 부호화하는영상의특성에맞게여러가지의예측방향 ( 가로, 세로, 대각선, 직류성분등 ) 중에서최적의예측모드를선택 2008-09-25 그림 8 4X4 화소의화면내 9가지예측모드 11
H.264/AVC 의전체구성과특징 (9/12) 시각적인화질열화를줄이는기술 디블록킹필터를사용 블록경계부근에서인접하는블록간의화소값이다르기때문에생기는블록경계에보이는왜곡을줄임 4x4 화소블록의 DCT 처리단위 시각적으로왜곡이보이지않게함 8x8 화소블록의 DCT 처리단위의병용 HDTV 와같이화소수가많은영상에적용 2008-09-25 그림 9 디블록킹필터 On/Off의예제 12
H.264/AVC 의전체구성과특징 (10/12) 부호화하는정보의특징에따라적응적인기술 엔트로피부호화 ( 가변길이부호화 ) CAVLC (Context-based Adaptive Variable Length Code) 엔트로피부호화수행할때, 주위의정보를참고하여가변장부호표를바꾸는등영상의특징에맞게부호화진행 산술부호화 CABAC (Context-based Adaptive Binary Arithmetic Code) 높은압축효율을얻기위한모드 2008-09-25 Realtime image processing & Telecommunication Lab 13
H.264/AVC 의전체구성과특징 (11/12) MPEG 의 6 단계계층구조 2008-09-25 Realtime image processing & Telecommunication Lab 14
H.264/AVC 의전체구성과특징 (12/12) MPEG 의 6 단계계층구조 (cont d) 그림 10 MPEG 압축데이터의 6 단계구성과 H.264/AVC 의블록크기비교 2008-09-25 Realtime image processing & Telecommunication Lab 15
H.264/AVC 의 [ 프로파일 ] 은어떤규정인가? 세가지의프로파일과그특징 프로파일이란? 비디오부호화 / 복호화과정에서알고리즘 ( 부호화과정을실행하기위한처리순서 ) 상들어가는기술적구성요소를규격화한것 압축된영상의비트열을복호하기위해필요한기술요소의집합 MPEG-2 는범용압축부호화방식 전체적으로볼때복잡도가높고, 각각의응용시스템에서는불필요한기술요소와기능이포함 프로파일 최소한으로필요로하는기술요소와기능을모아둔것 일부기술요소와기능만구현하므로복잡도가낮음 2008-09-25 Realtime image processing & Telecommunication Lab 16
H.264/AVC 의 [ 프로파일 ] 은어떤규정인가? MPEG-2 규격의세가지프로파일 1 심플프로파일 (SP: Simple Profile) 2 메인프로파일 (MP: Main Profile) 3 하이프로파일 (HP: High Profile) H.264/AVC 의세가지프로파일 1 베이스라인프로파일 (BP: Baseline Profile) 2 메인프로파일 (MP: Main Profile) 3 확장프로파일 (EP: Extended Profile) H.264/AVC 를확장한충실도확장규격 (FRExt 규격 ) 1 하이프로파일 (HP: High Profile) 2 하이 10 프로파일 (H10P: High Profile) 3 하이 4:2:2 프로파일 (H4:2:2P: High Profile) 4 하이 4:4:4 프로파일 (H4:4:4P: High Profile) 2008-09-25 Realtime image processing & Telecommunication Lab 17
H.264/AVC 의 [ 프로파일 ] 은어떤규정인가? 그림 11 H.264/AVC 의프로파일영역과각기술들 2008-09-25 Realtime image processing & Telecommunication Lab 18
H.264/AVC 의 [ 프로파일 ] 은어떤규정인가? 표 1 H.264/AVC 의프로파일과기술요소 프로파일 개요 주요기술요소 응용사례 4:2:0 베이스라인 (Baseline) 프로파일 기본기술요소 + 에러내성 기술요소 I 슬라이스, P 슬라이스 (B 슬라이스없음 ) 적응가변길이부호화 (CAVLC) 만사용 프레임매크로블록만을사용 가중치예측 (Weighted Prediction) 사용하지않음 영상전화 / 회의, 휴대전화, 간이방송 에러내성용기술요소사용 메인 (Main) 프로파일 기본기술요소 + 고압축률기술요소 4:2:0 I, P, B 슬라이스 적응가변길이부호화 (CAVLC) 에추가해서산술부호화 (CABAC) 도사용가능 가중치예측 (Weighted Prediction) 사용 에러내성용기술요소는사용하지않음 방송, 저장미디어 2008-09-25 Realtime image processing & Telecommunication Lab 19
H.264/AVC 의 [ 프로파일 ] 은어떤규정인가? 표 1. H.264/AVC 의프로파일과기술요소 (cont d) 프로파일 개요 주요기술요소 응용사례 확장 (Extended) 프로파일 기본기술요소 + 일부의고압축률 기술요소 + 스트리밍용 기술요소 4:2:0 I, P, B슬라이스 적응가변길이부호화 (CAVLC) 만사용 데이터분할 (Data Partition) 사용 가중치예측 (Weighted Prediction) 사용 스위칭 I, P슬라이스사용가능 IP 스트리밍 * 충실도확장규격으로하이 (High)/ 하이 10/ 하이 4:2:2/ 하이 4:4:4 프로파일존재 CAVLC : Context-based Adaptive Variable Length Code, 표 2 참조 CABAC : Context-based Adaptive Binary Arithmetic Code, 표 2 참조가중치예측 : Weighted Prediction, 표 2 참조데이터분할 : Data Partitioning, 표 2 참조스위칭 I, P 슬라이스 : 표 2 참조 2008-09-25 Realtime image processing & Telecommunication Lab 20
H.264/AVC 의 [ 프로파일 ] 은어떤규정인가? H.264/AVC 의프로파일을구성하는기술요소들 H.264/AVC 각프로파일요소기술의포함관계 스트리밍기술요소 고압축률부호화기술요소 기본기술요소 에러내성용기술요소 그림 12 베이스라인프로파일, 메인프로파일, 확장프로파일의관계 2008-09-25 Realtime image processing & Telecommunication Lab 21
H.264/AVC 의 [ 프로파일 ] 은어떤규정인가? 표 2. 그림 12 를이해하기위한용어 항목화면내부호화예측 I(Intra) 슬라이스 P(Predictive) 슬라이스 B(Bi-predictive) 슬라이스 1/4 화소정밀도움직임보상가변블록크기움직임보상 내용 같은화면내의영상샘플을사용하여, 다른위치의영상샘플을예측하는방식 화면내예측만으로부호화된슬라이스 한개의다른화면의영상샘플을사용한예측에의해부호화한슬라이스 두개의다른화면의영상샘플을사용한예측에의해부호화한슬라이스 영상샘플 ( 화소 ) 의간격을 1/4 로하여정밀하게보간하는움직임보상 블록크기가 16 16 부터 4 4 단위까지 7 종류로구분된움직임보상 2008-09-25 Realtime image processing & Telecommunication Lab 22
H.264/AVC 의 [ 프로파일 ] 은어떤규정인가? 표 2. 그림 12 를이해하기위한용어 (cont d) 프레임매크로블록 4:2:0 색차포맷 루프내필터 4 4 정수 DCT 항목 복수참조프레임 CAVLC (Context-based Adaptive Variable Length Code) 내용 움직임보상을할때, 한개의프레임뿐아니라복수의프레임을참조하는방식 주위의상황 (Context) 에따라적응적으로수행하는가변길이부호방식 한프레임의영상샘플로구성되어있는매크로블록 휘도와색정보 ( 색차정보 ) 가 4:2:0 으로불리는패턴으로구성되어있는포맷. 이와달리 4:2:2 와 4:4:4 등의포맷도있음 부호화루프안에포함되어있는필터 4 4 의 2 차원 DCT( 직교변환 ) 로, 변환에사용하는계수가정수인것 2008-09-25 Realtime image processing & Telecommunication Lab 23
H.264/AVC 의 [ 프로파일 ] 은어떤규정인가? 표 2. 그림 12 를이해하기위한용어 (cont d) RS(Redundant Slice, 예비슬라이스 ) CABAC (Context-based Adaptive Binary Arithmetic Code) 가중치예측 항목 ASO(Arbitrary Slice Order) FMO(Flexible Macroblock Order) 내용 슬라이스를임의의순서로보내는방식. 보통은화면위로부터아래로, 왼쪽부터오른쪽으로보냄 슬라이스내의매크로블록을여러가지순서로보내는방식 같은내용의슬라이스를 2 중으로보내는것으로, 한개의슬라이스가에러로손실되어도다른하나의슬라이스로영상을재생하는방식 주위의상황 (Context) 에따라서적응적으로부호화를수행하는이진산술부호방식 비고정적으로여러가지의가중치를주는예측방식 2008-09-25 Realtime image processing & Telecommunication Lab 24
H.264/AVC 의 [ 프로파일 ] 은어떤규정인가? 표 2. 그림 12 를이해하기위한용어 (cont d) 항목프레임 / 필드매크로블록스위칭 I슬라이스스위칭 P슬라이스데이터분할 내용 한프레임의영상샘플로구성되는 [ 프레임매크로블록 ] 과, 한필드의영상샘플로구성되는 [ 필드매크로블록 ] 의어느한쪽을매크로블록단위로선택한다. 하나의비트열로부터다른비트열로스위칭 ( 전환 ) 하기위해설계된 I 슬라이스 하나의비트열로부터다른비트열로스위칭 ( 전환 ) 하기위해설계된 P 슬라이스 영상의위부터아래, 혹은왼쪽부터오른쪽이아니라, 부호화한데이터를그중요도에따라나누어서로다른채널로전송하는방식 2008-09-25 Realtime image processing & Telecommunication Lab 25
H.264/AVC 의 [ 프로파일 ] 은어떤규정인가? [H.264/AVC] 가공통의프로파일을가지지않는배경 기존의 MPEG-2, MPEG-4 버전 1,2 의프로파일은계층구조를가짐 공통부분이되는프로파일 심플프로파일 심플프로파일의비트열은모든프로파일의복호기에서복호됨 H.264/AVC 의세개의프로파일은공통프로파일을가지지않음 각각의응용시스템에적용하기위한최적화를가장우선시함 에러내성과관련된기술요소들의지원문제 에러내성과관련된기술요소들은부호화효율을희생 메인프로파일 에러내성의기술요소들을하드웨어로구현하는것은많은비용발생 엔트로피부호화기술요소 [CABAC 과 CAVLC] 의지원문제 CABAC 메인프로파일만적용 부호화성능은좋지만복잡함 CAVLC 세개의프로파일모두적용가능 간단하지만어느정도의성능을가짐 2008-09-25 Realtime image processing & Telecommunication Lab 26
H.264/AVC 의 [ 프로파일 ] 은어떤규정인가? 호환성을표시하기위한플래그들의사용 프로파일이외에호환성을표시하기위해플래그 ( 식별자 ) 를사용 constraint_set0_flag / constraint_set1_flag / constraint_set2_flag [constraint_set0_flag = 1]: 베이스라인프로파일의복호기 [constraint_set1_flag = 1]: 메인프로파일의복호기 [constraint_set2_flag = 1]: 확장프로파일의복호기 프로파일의집합을이용 constraint_set0_flag=1 & constraint_set1_flag=1 & constraint_set2_flag=1 베이스라인프로파일의복호기뿐만아니라모든프로파일의복호기에서사용가능 2008-09-25 Realtime image processing & Telecommunication Lab 27
H.264/AVC 의 [ 레벨 ] 은어떤규정인가? (1/6) 압축부호화기술에서레벨 복호기의능력과비트열의복잡도를정의 복호기가비트열을복호하는속도를규정 각프로파일 ( 압축부호화기능 ) 에서규정된기술요소를어느범위까지지원할것인가에대해서정의 상위의레벨은하위의레벨을지원할필요가있음 2008-09-25 Realtime image processing & Telecommunication Lab 28
H.264/AVC 의 [ 레벨 ] 은어떤규정인가? (2/6) H.264/AVC 의두개의레벨 : 정수레벨과하위레벨 정수레벨 현재주로사용되는영상의해상도에따라결정 1 레벨 1: QCIF 의해상도에해당 2 레벨 2: CIF 의해상도에해당 3 레벨 3: SDTV( 표준화질 TV) 의해상도에해당 4 레벨 4: HDTV( 고선명 TV) 의해상도에해당 5 레벨 5: 차후결정될슈퍼 HDTV 와전자시네마 (Electric-Cinema, Digital Cinema) 의해상도에적용할예정 하위레벨 정수레벨사이의간격을보간하도록정의되어있음 소수점이하의레벨은통신기기등과같이절충 (Negotiation) 가능한기기사이에서세밀하게조정 2008-09-25 Realtime image processing & Telecommunication Lab 29
H.264/AVC 의 [ 레벨 ] 은어떤규정인가? (3/6) QCIF/QVGA/CIF/VGA 해상도의크기 그림 13 H.264/AVC 의레벨에해당되는각해상도의크기 2008-09-25 Realtime image processing & Telecommunication Lab 30
H.264/AVC 의 [ 레벨 ] 은어떤규정인가? (4/6) 표 3 H.264/AVC 의각레벨에서의규정 2008-09-25 31
H.264/AVC 의 [ 레벨 ] 은어떤규정인가? (5/6) H.264/AVC 의각레벨에서사용되는파라미터 (1) MaxMBPS (MB/s) 최대매크로블록처리율 (Maximum Macroblock Processing Rate) MBPS 의 PS 는 Per Second 의약자로 [1 초간간격 ] 의의미 (2) MaxFS(MB/s) 최대프레임크기 (MaxFS: Maximum Frame Size), 매크로블록의수 프레임률단위로복호해야하는매크로블록의수를정의 (3) MaxDPB(1024 바이트 ) 예측을할때사용되며복호영상을저장하기위한영상버퍼의최대크기 (MaxDPB: Maximum Decoded Picture Buffer Size) 복호기의프레임메모리양 (1024 바이트 ) (4) MaxBR(1000bps 또는 1200bps) 최대비트율 (MaxBR: Maximum Video Bitrate) NAL(Network Abstraction Layer 을사용하지않는경우에는 1000bps NAL 을사용하는경우에는 1200bps 이다. 2008-09-25 Realtime image processing & Telecommunication Lab 32
H.264/AVC 의 [ 레벨 ] 은어떤규정인가? (6/6) (5) MaxCPB(1000bps 또는 1200bps) 비트열을채워넣기위한최대의버퍼크기 (MaxCPB: Maximum Coded Picture Buffer) (6) MaxVmvR(Luma Frame Samples) 움직임벡터의수직성분의최대값 (MaxVmvR: Maximum Vertical MV(Motion Vector) Component Range) 영상의휘도신호의샘플수 (Luma Frame Samples) 를기준으로움직임벡터가얻어지는범위를정의 (7) MinCR MinCR 은최저압축률 (MinCR: Minimum Compression Ratio) (8) MaxMvsPer2Mb 연속하는두개의매크로블록에대응되는움직임벡터의최대개수 (MaxMvsPer2Mb: Max Number of Motion Vectors per Two Consecutive MBs) 2008-09-25 Realtime image processing & Telecommunication Lab 33
H.264/AVC 의색차신호포맷 (1/7) 픽처, 프레임, 필드, 색차신호포맷, 슬라이스, 매크로블록의관계 그림 14 H.264/AVC 의픽처, 프레임, 필드등의관계된용어정리 2008-09-25 Realtime image processing & Telecommunication Lab 34
H.264/AVC 의색차신호포맷 (2/7) 격행주사와순행주사방식 2 Even Field Odd Field 1 3 5 7 time 1 3 5 7 2 4 6 8 1/60s 1/60s 1/60s 1/30s 4 6 8 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 Frame Interaced scan Progressive scan 그림 15 격행주사와순행주사방식의화면표시 2008-09-25 Realtime image processing & Telecommunication Lab 35
H.264/AVC 의색차신호포맷 (3/7) H.264/AVC 의색차신호포맷 영상신호를영상의밝기를표현하는성분 ( 휘도성분 [Y]) 과색을표현하는두개의성분 ( 색차신호 [Cb] 및 [Cr]) 으로나누어부호화 H.264/AVC 가다루는색차신호포맷은색차성분이휘도성분의가로세로각각반씩의해상도를가지는 4 : 2 : 0 이라불리는형식임 2008-09-25 그림 16 휘도신호와색차신호의화소의위치관계 36
H.264/AVC 의색차신호포맷 (4/7) 격행주사방식영상 격행주사란화소라인들을짝수라인과홀수라인으로나누어, 즉필드신호두개로나누어주사하는방식 상위필드 / 하위필드 : 한프레임을구성하는두개의필드중공간적으로위에 / 아래에위치하는필드 2008-09-25 그림 17 격행주사신호의화소의위치관계 37
H.264/AVC 의색차신호포맷 (5/7) H.264/AVC 에서격행방식신호를부호화할때아래의두경우를픽처마다따로결정하여부호화할수있음 1 프레임픽처 ( 프레임화면 ) 두개의필드를모아하나의프레임으로구성하여처리 2 필드픽처 ( 필드화면 ) 두개의필드를독립된두개의픽처로구성하여처리 AFF (Picture-AFF: Picture-Adaptive Frame-Field Coding, 픽처적응적프레임 / 필드부호화 ) 프레임픽처 / 필드픽처를픽처에따라적응적으로전환하는방법 그림 18 AFF 를통해프레임픽처 / 필드픽처를변환 2008-09-25 Realtime image processing & Telecommunication Lab 38
H.264/AVC 의색차신호포맷 (6/7) MB-AFF (Macroblock-Adaptive Frame-Field Coding, 매크로블록적응형프레임 / 필드부호화 ) 프레임픽처에서매크로블록 (16 화소 16 라인 ) 을세로로두개를붙인단위 [(16 화소 (16 라인 +16 라인 )=16 화소 32 라인 ] 마다프레임부호화와필드부호화를전환하여부호화 그림 19 BM-AFF 를통해프레임픽처 / 필드픽처를변환 2008-09-25 Realtime image processing & Telecommunication Lab 39
H.264/AVC 의색차신호포맷 (7/7) 표 4 격행주사영상에해당되는부호화구조 화면포맷 픽처구조 MB( 매크로블록 ) 구조 부호화법 순행주사방식영상 프레임 프레임 프레임영상부호화 필드 필드 각필드를독립적인픽처로부호화 격행주사방식영상 프레임 프레임 필드 프레임영상의부호화와동일 매크로블록 (MB) 마다필드를독립적으로부호화 2008-09-25 Realtime image processing & Telecommunication Lab 40
H.264/AVC 에서의비트열의구성 (1/22) NAL( 네트워크추상계층 ) 의기능 NAL 단위란? VCL (Video Coding Layer, 비디오부호화계층 ) 동영상부호화처리그자체를다루는계층 VCL 에서생성된부호화데이터, 파리미터세트 NAL (Network Abstraction Layer, 네트워크추상계층 ) 부호화된정보를전송하고저장하는하위시스템과의사이의계층 VCL NAL 단위, 비 VCL NAL 단위 시스템 정보의전달과저장 H.264/AVC 파일포맷, RTP (Real-time Transport Protocol), MPEG-2 시스템 2008-09-25 Realtime image processing & Telecommunication Lab 41
H.264/AVC 에서의비트열의구성 (2/22) H.264/AVC 의계층들 VCL : Video Coding Layer, 동영상부호화처리를행하는계층 NAL : Network Abstraction Layer, 네트워크추상계층 SEI : Supplemental Enhancement Information, 각픽처 ( 동영상 ) 의타이밍정보와임의액세스를위한정보등 VCL 의복호를위한부가정보 RTP : Real-time Transport Protocol, 실시간데이터전송프로토콜 2008-09-25 그림 20 H.264/AVC에있어서 VCL과 NAL의위치설정 42
H.264/AVC 에서의비트열의구성 (3/22) 하위시스템의비트열에매핑하는것은 NAL 의기본단위인 [NAL 단위 ] 를기본으로수행 NAL 단위 : NAL 헤더, RBSP, RBSP 채워넣기비트로구성 (8 bits 의배수 ) (8 bits) ( 항상 1 로시작 ) 그림 21 H.264/AVC 의 NAL 단위의구성 2008-09-25 Realtime image processing & Telecommunication Lab 43
H.264/AVC 에서의비트열의구성 (4/22) NAL 단위의종류 표 5 H.264/AVC 의 NAL 단위의종류 nal_unit_type 식별자의내용 0 1 2 3 4 5 6 미정의 IDR (Instantaneous Decoding Refresh) 이외의픽처슬라이스 데이터분할 A 로부호화된슬라이스 데이터분할 B 로부호화된슬라이스 데이터분할 C 로부호화된슬라이스 IDR 픽처의슬라이스 I 슬라이스또는 SI 슬라이스 참조픽처버퍼의상태와프레임번호, POC (Picture Order Count, 픽처의출력순서를표시하는정보 ) 등픽처비트열을복호하기위해필요한모든상태가초기화 움직임보상활용기술때문에 I 픽처만으로는불충분하므로 IDR 픽처를사용 SEI(Suppplemental Enhancement Information, VCL 의부가정보 ) HRD(Hypothetical Reference Decoder, 가상참조복호기 ) 와관련된각픽처의타이밍정보 팬 / 스캔기능 ( 복호한영상의일부를읽어내어표시하는기능 ) 에관한정보 임의액세스를행하는데편리한정보 사용자가독자적으로정의하는정보 ( 사용자데이터 ) 2008-09-25 Realtime image processing & Telecommunication Lab 44
H.264/AVC 에서의비트열의구성 (5/22) 표 5 H.264/AVC 의 NAL 단위의종류 (cont d) 7 8 9 10 11 12 13 23 24 31 SPS(Sequence Parameter Set) 프로파일, 레벨등시퀀스전체의부호화에걸쳐있는정보가포함 PPS(Picture Parameter Set) 픽처전체의부호화모드 ( 예를들어, 엔트로피부호화모드, 픽처단위의양자화파라미터초기값등 ) 를나타내는헤더정보 AU 구분자 (Access Unit Delimiter, 액세스단위의맨앞에붙는시작부호 ) 액세스단위에포함된슬라이스의종류를표시하는정보가포함 End of Sequence( 시퀀스의종료 ) End of Stream( 비트열의종료 ) Filler Data( 형식을맞추기위해삽입되는채워넣기데이터 ) HRD 규칙을따르기위해, VCL 에서생성된부호량이적은경우비트율을정해진값으로유지하기위해스터핑 (stuffing) 데이터 ( 데이터의길이를조정하기위해삽입되는의미없는데이터 ) 를사용 장래확장을위해사용 미정의 2008-09-25 Realtime image processing & Telecommunication Lab 45
H.264/AVC 에서의비트열의구성 (6/22) VCL NAL 단위와비 VCL NAL 단위 (1) VCL NAL 단위 VCL 에서생성된데이터에상당하는 NAL 단위 (nal_unit_type=1~5) (2) 비 VCL NAL 단위 파라미터세트, SEI, AU 구분자등의 NAL 단위 (nal_unit_type 6) 시퀀스픽처와파라미터세트 시퀀스 ( 압축된동영상전체 ) GOP ( 여러개의화면집합군 ) 픽처 ( 한개의화면 ) MPEG-2, MPEG-4 시퀀스는반드시시퀀스헤더로부터시작 픽처의맨앞에는반드시픽처헤더가있어야함 H.264/AVC 헤더정보에상당하는파라미터세트는 그파라미터세트를참조하는데이터보다앞서복호기에도착해야한다 라는제약만존재 2008-09-25 Realtime image processing & Telecommunication Lab 46
H.264/AVC 에서의비트열의구성 (7/22) H.264/AVC 는하나의비트열이여러개의시퀀스를다룰수있음 SPS : Sequence Parameter Set, 시퀀스를식별하는번호가붙어있는예 : SPS#2 PPS : Picture Parameter Set, 픽처파라미터세트를식별하는번호가붙어있다. 예 : PPS#3 그림 22 파라미터세트와슬라이스의항목별대응 2008-09-25 Realtime image processing & Telecommunication Lab 47
H.264/AVC 에서의비트열의구성 (8/22) 슬라이스 : H.264/AVC 에서부호화를위한기본단위 MPEG-2, MPEG-4 픽처 (VOP: Video Object Plane) 마다부호화모드정해짐 H.264/AVC 슬라이스부호화가기본단위 슬라이스종류를표시하는정보 (slice_type) 이붙음 하나의픽처내에다른종류의슬라이스가혼재가능 MPEG-2, MPEG-4 와같이하나의픽처에포함되는슬라이스가모두같은경우 AU 구분자를사용하여그픽처에포함되어있는모든슬라이스의종류를 primary_pic_type 정보로지정 또는, slice_type 의값이 5~9 인슬리아스사용 ( 예, slice_type = 6 이면, 6-5=1 이되고, slice_type 이 1 인 B 슬라이스만으로픽처가이루어짐 ) 2008-09-25 Realtime image processing & Telecommunication Lab 48
H.264/AVC 에서의비트열의구성 (9/22) 표 6 H.264/AVC 의슬라이스종류 slice_type 슬라이스종류 설명 MB 유형 0 (5) P 슬라이스 화면내부호화혹은참조픽처한장을사용한화면간예측부호화를행하는슬라이스 I, P 1 (6) B 슬라이스 화면내부호화혹은참조픽처를한장또는두장을사용한화면간예측부호화를행하는슬라이스 I, P, B 2 (7) I 슬라이스 화면내부호화만을행하는슬라이스 I 3 (8) SP 슬라이스 비트열전환을행하기위한특별한 P 슬라이스 (S 는 Switching 의약자 ) I, P, B 4 (9) SI 슬라이스 비트열전환을행하기위한특별한 I 슬라이스 I, SI 2008-09-25 Realtime image processing & Telecommunication Lab 49
H.264/AVC 에서의비트열의구성 (10/22) MPEG-2/MPEG-4 와 H.264/AVC 의슬라이스비교 그림 23 H.264/AVC 는서로다른종류의슬라이스의혼재 2008-09-25 Realtime image processing & Telecommunication Lab 50
H.264/AVC 에서의비트열의구성 (11/22) 엑세스단위와그구조 엑세스단위 (Access Unit) 란? 비트열속의정보를픽처단위로액세스하기위해서, 몇개의 NAL단위를모은하나의집합 주픽처에해당되는슬라이스들만 NAL 에포함되어도됨 전송에러로인해복호할수없는경우이용 그림 24 액세스단위의구조 2008-09-25 Realtime image processing & Telecommunication Lab 51
H.264/AVC 에서의비트열의구성 (12/22) MPEG-2, MPEG-4 맨처음위치를나타내는동기부호존재 픽처전체의헤더에상당하는 PPS (Picture Parameter Set) 이모든픽처에존재 H.264/AVC 맨처음위치를나타내는동기호부존재하지않음 PPS 가모든픽처에존재하지않아도됨 그대신, 슬라이스헤더안에그슬라이스가어느프레임에속하는지를식별하기위해사용할수있는프레임번호 (frame_num) 이있음 2008-09-25 Realtime image processing & Telecommunication Lab 52
H.264/AVC 에서의비트열의구성 (13/22) 픽처경계의판정규칙과 AU 구분자 픽처경계판정규칙 1 프레임번호 (frame_num) 가다름 그림 25 frame_num 을이용한픽처경계판정예 2008-09-25 Realtime image processing & Telecommunication Lab 53
H.264/AVC 에서의비트열의구성 (14/22) 픽처경계의판정규칙과 AU 구분자 픽처경계판정규칙 2 프레임픽처인지필드픽처인지를표시하는플래그 (field_pic_flag) 가다름 그림 26 field_pic_flag 를이용한픽처경계판정예 2008-09-25 Realtime image processing & Telecommunication Lab 54
H.264/AVC 에서의비트열의구성 (15/22) 픽처경계의판정규칙과 AU 구분자 픽처경계판정규칙 3 상위필드인지하위필드인지를표시하는플래그 (bottom_field_flag) 가다름 그림 27 bottom_field_flag 를이용한픽처경계판정예 2008-09-25 Realtime image processing & Telecommunication Lab 55
H.264/AVC 에서의비트열의구성 (16/22) 픽처경계의판정규칙과 AU 구분자 픽처경계판정규칙 4 프레임번호 (frame_num) 가같지만, POC(Picture Order Count, 출력순서를표시하는정보 ) 의값이다름 AFF 나 MB-AFF 일경우 그림 28 POC 를이용한픽처경계판정예 2008-09-25 Realtime image processing & Telecommunication Lab 56
H.264/AVC 에서의비트열의구성 (17/22) 픽처경계의판정규칙과 AU 구분자 픽처경계판정규칙 5 참조픽처인지를표시하는정보 (nal_ref_idc) 가다름 그림 29 bottom_field_flag 를이용한픽처경계판정예 2008-09-25 Realtime image processing & Telecommunication Lab 57
H.264/AVC 에서의비트열의구성 (18/22) 픽처경계의판정규칙과 AU 구분자 픽처경계판정규칙 6 IDR 픽처인데, IDR 식별자 (idr_pic_idc) 가다름 그림 30 idr_pic_idc 를이용한픽처경계판정예 2008-09-25 Realtime image processing & Telecommunication Lab 58
H.264/AVC 에서의비트열의구성 (19/22) 옵션으로 AU 구분자를표시하는 NAL 단위를둠 픽처경계판정규칙을행하지않고도픽처의선두위치를판단 주픽처에포함되는슬라이스의종류를표시하는정보 (primary_pic_type) 도포함 부호화한데이터를하나의비트열로다루는 MPEG-2 시스템을하위시스템으로사용하는경우에는액세스단위의선두를용이하게찾을수있도록모든액세스단위에 AU 구분자를붙힘 2008-09-25 Realtime image processing & Telecommunication Lab 59
H.264/AVC 에서의비트열의구성 (20/22) H.264/AVC 의바이트열포맷 MPEG-2/4 와 H.264/AVC 비트열의차이점 기존의 MPEG-2 와 MPEG-4 에서는비트열 1 시퀀스 (VOS: Video Object Sequence) 2 픽처 (VOP: Video Object Plane) 3 GOP(Group of Pictures, 여러장의화면집합. GOV: Group of Video Object Plane) 라는단위마다그맨처음위치를나타내는시작부호 ( 동기부호 ) 를붙힘 H.264/AVC AVC 파일포맷과 RTP 등하위시스템에비트열의단위를구분하는기능이있는경우에는시작부호를붙이지않음 MPEG-2 시스템과같이부호화한데이터를하나의비트열로해서다루는하위시스템을사용하는경우에는시작부호를부가 2008-09-25 Realtime image processing & Telecommunication Lab 60
H.264/AVC 에서의비트열의구성 (21/22) H.264/AVC 의바이트열포맷 바이트열포맷 : 개시부호가붙는비트열의포맷 NAL 단위맨처음위치에개시부호부가 개시부호 : 16 진수 ( 00 00 01 ) 2 진수 ( 00000000 00000000 00000001 ) 개시부호앞임의의수의 0 바이트삽입가능 그림 31 바이트열포맷의구성 2008-09-25 Realtime image processing & Telecommunication Lab 61
H.264/AVC 에서의비트열의구성 (22/22) 기존의 MPEG-2 와 MPEG-4 에서시작부호와동일한패턴의회피 가변장부호어와구문을주의깊게설계해서시작부호와같은패턴의발생을방지 H.264/AVC 에서시작부호와동일한패턴의회피 개시부호와같은패턴이발생하는것을허용, NAL 에보내기전에개시부호와같은패턴을막는변환처리 바이트열포맷을사용하지않는경우에도변환처리실시» MPEG-2 가적용된시스템과바이트열포맷을사용하지않는 RTP 와 AVC 파일포맷등이사용된시스템사이에 H.264 데이터를주고받는경우, 특별히유사패턴방지처리를하지않도록하기위함 그림 32 개시부호 ( 동기부호 ) 와동일한패턴의발생을막는처리 2008-09-25 Realtime image processing & Telecommunication Lab 62