매크로블록
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
매크로블록은 비디오 코덱에서 사용되는 이미지 또는 비디오의 기본 처리 단위이다. 매크로블록은 선형 블록 변환의 입력으로 사용되는 변환 블록으로 분할되며, 예측 블록으로도 분할될 수 있다. 초기 비디오 코덱에서는 8x8 크기의 고정된 변환 블록을 사용했지만, H.264/AVC와 같은 최신 표준에서는 변환 블록의 크기를 다양하게 조정할 수 있다. 매크로블록은 모션 보상 및 변환 코딩을 사용하여 비트스트림으로 표현되며, 이미지 내 블록 주소, 매크로블록 유형, 양자화 값, 모션 벡터, 부호화된 블록 패턴 등의 구성 요소를 포함한다. 매크로블록킹은 블록 코딩으로 인해 발생하는 압축 아티팩트를 의미한다.
더 읽어볼만한 페이지
- 영상 압축 - 데이터 압축
데이터 압축은 디지털 데이터의 크기를 줄여 저장 공간을 절약하고 전송 속도를 향상시키는 기술로, 모르스 부호에서 시작하여 ZIP, JPEG, LZ77 등 다양한 방식으로 발전해 왔으며, 무손실 압축과 손실 압축으로 나뉘고 최근에는 인공지능 기술을 활용하여 효율성을 높여 다양한 분야에서 활용되고 있다. - 영상 압축 - VP9
VP9는 구글이 개발한 오픈 소스 비디오 코덱으로, VP8보다 압축 효율을 높이고 HEVC보다 나은 성능을 목표로 개발되었으며, WebM 형식으로 사용되고 주요 웹 브라우저와 넷플릭스, 유튜브 등에서 지원했으나 AV1의 등장으로 개발이 중단되었다. - 화상 압축 - JPEG
JPEG은 정지 화상의 디지털 압축 및 코딩을 위한 국제 표준이자 이를 만든 위원회의 이름으로, 1992년 최초 표준 발표 이후 웹 환경에서 널리 사용되는 이미지 형식이 되었다. - 화상 압축 - PNG
PNG는 GIF의 단점을 보완하여 개발된 무손실 압축 방식의 그래픽 파일 형식이며, 높은 색상 표현과 투명도를 지원하고, 8바이트 시그니처와 이미지 정보를 담은 청크들로 파일 구조가 구성된다.
매크로블록 | |
---|---|
화상 처리 기본 단위 | |
정의 | 디지털 영상의 압축과 부호화를 위한 기본적인 처리 단위 |
구성 | 여러 개의 화소로 구성된 사각형 블록 |
크기 (일반적) | 16x16 화소 |
사용 목적 | 영상 데이터를 더 효율적으로 처리하고 압축하는 데 사용 |
매크로블록 구조 | |
휘도 성분 | 16x16 화소 블록 (Y) |
색차 성분 | 8x8 화소 블록 (Cb, Cr) |
총 블록 수 | 4개의 휘도 블록과 2개의 색차 블록으로 구성 (총 6개의 블록) |
부호화 과정 | |
움직임 예측 | 현재 매크로블록과 가장 유사한 블록을 이전 프레임에서 찾음 |
움직임 벡터 | 움직임의 방향과 크기를 나타내는 벡터 생성 |
변환 부호화 | DCT를 사용하여 주파수 영역으로 변환 |
양자화 | 변환된 계수를 양자화하여 데이터 양을 줄임 |
엔트로피 부호화 | 허프만 부호화 또는 산술 부호화를 사용하여 최종 압축 |
관련 표준 | |
주요 표준 | H.261 H.262/MPEG-2 H.263 H.264/AVC H.265/HEVC |
역할 | 비디오 압축 표준에서 중요한 역할을 수행 |
장점 | |
높은 압축률 | 영상 데이터를 효율적으로 압축하여 저장 공간 및 전송 대역폭 절약 |
움직임 예측 | 영상 내 움직임을 효과적으로 추정하고 보상하여 압축 효율을 높임 |
다양한 부호화 기술 | 다양한 부호화 기술을 활용하여 영상 품질을 유지하면서 압축률 향상 |
단점 | |
계산 복잡도 | 부호화 및 복호화 과정이 복잡하여 높은 계산 리소스 요구 |
블록 현상 | 과도한 압축 시 블록 경계가 눈에 띄는 현상 발생 가능 |
활용 분야 | |
다양한 분야 | 비디오 회의 디지털 TV 방송 영상 저장 장치 인터넷 스트리밍 |
2. 기술적 세부 사항
매크로블록은 비디오 코덱에서 압축 효율을 높이기 위해 영상을 작은 블록으로 나눈 것이다. 매크로블록은 더 작은 변환 블록으로 분할되어 이산 코사인 변환(DCT)과 같은 선형 블록 변환의 입력으로 사용된다. 또한, 예측 블록으로 분할되어 움직임 보상 및 인트라 예측에 사용된다.
2. 1. 변환 블록
매크로블록은 이산 코사인 변환(DCT)과 같은 선형 블록 변환의 입력으로 사용되는 더 작은 변환 블록으로 분할된다.[1] 매크로블록 기반 최초의 비디오 코덱인 H.261에서 변환 블록은 8x8 샘플의 고정 크기를 갖는다.[1]YCbCr 색 공간에서 4:2:0 크로마 서브샘플링을 사용하는 경우, 16x16 매크로블록은 16x16 루마(Y) 샘플과 8x8 크로마(Cb 및 Cr) 샘플로 구성되며, 4개의 Y 블록, 1개의 Cb 블록, 1개의 Cr 블록으로 분할된다. 이 설계는 JPEG, MPEG-1 Part 2, H.262/MPEG-2 Part 2와 같이 변환 블록 크기가 고정된 대부분의 매크로블록 기반 비디오 코덱에서 사용된다. 다른 크로마 서브샘플링 형식(4:0:0, 4:2:2, 4:4:4 등)에서는 매크로블록의 크로마 샘플 수가 달라지며, 크로마 샘플을 블록으로 그룹화하는 방식도 달라진다.
H.263, H.264/AVC와 같은 최신 매크로블록 기반 비디오 코딩 표준에서는 변환 블록의 크기가 8x8 샘플이 아닐 수도 있다. 예를 들어, H.264/AVC 메인 프로파일에서는 변환 블록 크기가 4x4이다.[4] H.264/AVC 하이 프로파일에서는 변환 블록 크기를 매크로블록 단위로 4x4 또는 8x8로 조정할 수 있다.[4]
2. 2. 예측 블록
매크로블록은 변환 블록으로의 분할과는 별개로, 예측 블록으로 분할될 수 있다. H.261, MPEG-1 파트 2, H.262/MPEG-2 파트 2와 같은 초기 표준에서는 매크로블록당 하나의 움직임 벡터로 움직임 보상이 수행되었다.[1][2] H.264/AVC와 같은 더 현대적인 표준에서는 매크로블록을 파티션이라고 하는 여러 개의 가변 크기 예측 블록으로 분할할 수 있다.[4] H.264/AVC의 인터 예측 매크로블록에서는 각 파티션에 대해 별도의 움직임 벡터가 지정된다.[4] 마찬가지로, 인접 블록의 가장자리에서 외삽하여 샘플을 예측하는 인트라 예측 매크로블록에서는 예측 방향이 파티션별로 지정된다.[4] H.264/AVC에서 예측 파티션 크기는 인터 예측(움직임 보상) 및 인트라 예측 모두에 대해 4×4에서 16×16 샘플까지 다양하다.[4]3. 비트스트림 표현
비디오 코덱에서 매크로블록의 가능한 비트스트림 표현은 모션 보상과 변환 코딩을 사용하며, H.261에서 사용되는 형식과 유사하다.[1]
3. 1. 구성 요소
비디오 코덱에서 매크로블록의 비트스트림 표현은 모션 보상과 변환 코딩을 사용하며, H.261에서 사용되는 형식과 유사하다.[1]ADDR | TYPE | QUANT | VECTOR | CBP | bN |
---|---|---|---|---|---|
이미지 내 블록 주소 | 매크로블록 유형 식별 (인트라 프레임, 인터 프레임, 양방향 인터 프레임) | 양자화를 변경하기 위한 양자화 값 | 모션 벡터 | 부호화된 블록 패턴(Coded Block Pattern), 계수가 존재하는 블록을 나타내는 비트 마스크 | 블록 (4 Y, 1 Cr, 1 Cb) |
4. 매크로블록킹
참조
[1]
웹사이트
Video codec for audiovisual services at p x 64 kbit/s
http://www.itu.int/r[...]
1993-03
[2]
웹사이트
Advanced video coding for generic audiovisual services
http://www.itu.int/r[...]
2012-02
[3]
웹사이트
Video coding for low bit rate communication
http://www.itu.int/r[...]
2005-01
[4]
웹사이트
Information technology — Generic coding of moving pictures and associated audio information: Video
http://www.itu.int/r[...]
2013-04
[5]
뉴스
Overview of the High Efficiency Video Coding (HEVC) Standard
http://iphome.hhi.de[...]
IEEE Transactions on Circuits and Systems for Video Technology
2012-05-25
[6]
웹사이트
Intra Frame Coding
http://www.cs.cf.ac.[...]
2001-04-10
[7]
문서
「ブロック変換」または「ブロック」とは映像内のブロックのことを指す。
[8]
웹사이트
H.261 : Video codec for audiovisual services at p x 64 kbit/s
https://www.itu.int/[...]
2022-11-18
[9]
웹사이트
Advanced video coding for generic audiovisual services
https://www.itu.int/[...]
2012-02
[10]
웹사이트
Video coding for low bit rate communication
https://www.itu.int/[...]
2005-01
[11]
웹사이트
Information technology — Generic coding of moving pictures and associated audio information: Video
https://www.itu.int/[...]
2013-04
[12]
뉴스
Overview of the High Efficiency Video Coding (HEVC) Standard
http://iphome.hhi.de[...]
IEEE Transactions on Circuits and Systems for Video Technology
2012-05-25
[13]
웹인용
Video codec for audiovisual services at p x 64 kbit/s
http://www.itu.int/r[...]
1993-03
[14]
웹인용
Advanced video coding for generic audiovisual services
http://www.itu.int/r[...]
2012-02
[15]
웹인용
Video coding for low bit rate communication
http://www.itu.int/r[...]
2005-01
[16]
웹인용
Information technology - Generic coding of moving pictures and associated audio information: Video
http://www.itu.int/r[...]
2013-04
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com