Skip to main content

H.264/MPEG-4 AVC 목차 개요 명명 역사 특징 프로파일과 레벨 버전 라이선스 이용 같이 보기 각주 외부 링크 둘러보기 메뉴“AVC/H.264 FAQ”“OpenH264 FAQ licensing fees.”“H.262 : Information technology — Generic coding of moving pictures and associated audio information: Video”H.264/AVC Wikipedia.ENGLISHH.264/AVC 인코더 참조 소프트웨어 구조 분석서 (Analysis of H.264/AVC Encoder Reference Software)LiveVideo - 오픈 소스 H.264/AVC 동영상 콘텐츠 분석 소프트웨어eheheheh"ISO"로 시작하는 전체 문서

모션 JPEG모션 JPEG 2000MPEG-1MPEG-2파트 2MPEG-4파트 2/ASP파트 10/AVCHEVCH.120H.261H.262H.263H.264HEVCAMVAVSBinkDiracDVIndeo마이크로소프트 비디오1Pixlet리얼비디오RTVideoSheerVideo스매커 비디오TheoraVC-1VP6VP7VP8VP9WMVXvidMPEG-1 레이어 III (MP3)MPEG-1 레이어 IIMPEG-1 레이어 IAACHE-AACG.711G.718G.719G.722G.722.1G.722.2G.723G.723.1G.726G.728G.729G.729.1G.729aAC3AMR애플 무손실ATRACFLACiLBCMonkey's Audioμ-lawMusepackOptimFROG리얼오디오RTAudioSHNSirenSpeexVorbisWavPackWMATAKTTAJPEG XRJPEGJPEG 2000무손실 JPEGJBIGJBIG2PNGWBMPAPNGBMPEXRGIFICERILBMMNGPCXPGFTGATIFFDNGSVGWebP3GPASFAVIBinkBXFDivX 미디어 포맷DPXEVOFLV마트료시카MPEG-PSMPEG-TSMP4MXFOggOgg 미디어퀵타임리얼미디어스매커RIFFVOBWebMAIFFAUWAVITU 표준NTSCNTSC-JPAL-MPALPAL-N/NCPALplusSÉCAM음성 다중NICAM-728A2 스테레오EIAJSAP사운드 인 싱크자막문자 다중 방송CGMS-AGCRPDCVBIVEILVITVITCWSSXDSEPG1940년 이전기계식 텔레비전180 라인405 라인441 라인819 라인MAC뮤즈SDTV480i576iHDTV1080iLDTV1seg240p288pEDTV480p576pHDTV720p1080pUHDTV2160p4320pATSCDVBISDBDMB-T/HDVB 3D-TVATSC 2.0 (A/72)DMBDMB-T/HDVBSBTVD1segAC-35.1DTSMPEG-1 오디오 레이어 IIMPEG 다중 채널PCMLPCMAACHE-AAC자막문자 다중 방송CPCM방송 플래그AFDEPG14:9 타협브로드캐스트 세이프동화상 포맷MPEG 트랜스포트역표준 변환표준 변환영상 처리주문형 비디오HDTV 블러


ISO 표준MPEG영상 압축


움직임 보상영상 압축MPEG-2H.263MPEG-4 Part 2방송DVDRTPIPITU-T전화손실압축무손실압축ITU-T비디오 코딩 전문가 그룹ISO/IEC동화상 전문가 그룹ITU-TISOIECMPEG-42003년5월블루레이 디스크비메오유튜브아이튠즈 스토어어도비 플래시 플레이어마이크로소프트 실버라이트ATSCISDB-TDVB-TDVB-T2DVB-CDVB-SDVB-S2특허MPEG LAMPEG LAMPEG LACisco Systems오픈 소스OpenH264VCEGITU-TISOIECMPEGITU-TH.262MPEGITU-TVLC 미디어 플레이어MPEG-2H.263MPEG-4 파트 2DVD특허권특허 풀MPEG - LAWindows7어도비 플래시애플마이크로소프트HTML5모질라파이어폭스오페라구글 크롬WebM2011년1월 14일HTML4마이크로소프트인터넷 익스플로러WebM












H.264/MPEG-4 AVC




위키백과, 우리 모두의 백과사전.






둘러보기로 가기
검색하러 가기


블록 단위 움직임 보상 기반의 영상 압축 표준인 H.264 또는 MPEG-4 파트 10, Advanced Video Coding (MPEG-4 AVC)는 동영상 녹화, 압축, 배포를 위한 방식들 중 현재 가장 보편적으로 사용되고 있는 포맷이다.


H.264/AVC 프로젝트의 목표는 기존의 표준들보다 실질적으로 낮은 비트율(다시 말해, MPEG-2, H.263, 또는 MPEG-4 Part 2의 비트율보다 적거나 절반)로써, 수많은 비실용적인 설계 복잡도 증가와 개발에 지나치게 고비용이 들이지 않고 훌륭한 비디오 품질을 제공할 수 있는 표준을 만드는 것이었다. 추가 목표로는 높은 비트율과 낮은 비트율, 높은 해상도와 낮은 해상도의 비디오들, 방송, DVD 저장장치들, RTP/IP 네트워크 패킷들, 그리고 ITU-T 멀티미디어 전화 시스템들과 같은 매우 다양한 애플리케이션들과 네트워크와 시스템들에 적용시킬수 있는 표준으로 채택 되기에 충분한 유연성을 제공하는 것이었다. H.264 표준은 다양한 수의 프로파일들의 "표준들의 집합체"로 볼 수 있다. 하나의 재생기(Decoder)는 이 프로파일 전부를 필요로 하지는 않지만, 적어도 하나의 프로파일로 재생된다. 그리고 재생기 규격은 프로파일들을 해독될 수 있게 기술된다. H.264는 보통 손실압축 용도로 사용될 수도 있지만, 손실 영상 내에 실제로 무손실압축 영역을 만들거나 드물게 전체를 무손실 인코딩 하는 것도 가능하다.


이 표준은 ITU-T의 비디오 코딩 전문가 그룹(Video Coding Experts Group, VCEG)과 ISO/IEC의 동화상 전문가 그룹(Moving Picture Experts Group, MPEG)이 공동으로 조인트 비디오 팀(Joint Video Team, JVT)을 구성하고 표준화를 진행한 결과물로 나온 것이다. 그러므로 ITU-T의 H.264와 ISO/IEC의 MPEG-4 파트 10 AVC(공식적으로는 ISO/IEC 14496-10-MPEG-4 파트 10, 고급 비디오 부호화)은 기술적으로 동일한 표준안이다. 표준안은 2003년 5월에 발표되었다.


H.264는 블루레이 디스크를 위한 코덱 표준 중 하나로 잘 알려져 있다. 모든 블루레이 디스크 플레이어는 항상 H.264를 디코딩할 수 있어야 하기 때문이다. H.264는 또한 비메오, 유튜브, 아이튠즈 스토어 영상 등의 인터넷 스트리밍 서비스와 어도비 플래시 플레이어 및 마이크로소프트 실버라이트 등의 웹 소프트웨어, 다양한 HDTV 방송(지상파: ATSC, ISDB-T, DVB-T, DVB-T2 케이블: DVB-C 위성: DVB-S, DVB-S2)에 널리 사용된다.


H.264는 다양한 단체가 소유 한 특허로 보호된다. H.264에 필수적인 대부분의 특허는 (전부는 아니지만) MPEG LA[1] 특허 풀에서 관리한다.
특허 된 H.264 기술을 상업적으로 사용하려면 MPEG LA 및 기타 특허 소유자에게 로열티를 지불해야한다.
H.264를 채용 한 제품을 구입 한 소비자에게 별도로 사용료를 부과 할 수는 없지만, 제품 가격에 그 비용이 포함된다.
MPEG LA는 최종 사용자가 인터넷 비디오 스트리밍을 위한 H.264 기술 사용을 무료로 허용했다.
Cisco Systems는 오픈 소스로 공개된 H.264 인코더 용 바이너리(OpenH264)[2] 사용자들를 대신하여 MPEG LA에 로열티를 지불한다.
H.264 알고리즘에 영향을 미치거나 기술하는 특허들은 100 개가 넘는다. 그 중 일부는 특허 만료가 되었지만, 대부분은 2028년 만료 기점을 가진다.




목차





  • 1 개요


  • 2 명명


  • 3 역사


  • 4 특징


  • 5 프로파일과 레벨

    • 5.1 프로파일



  • 6 버전


  • 7 라이선스


  • 8 이용

    • 8.1 사용율


    • 8.2 브라우저



  • 9 같이 보기


  • 10 각주


  • 11 외부 링크




개요


H.264는 국제 표준화기구인 ITU-T와 ISO에서 공동으로 제안한 차세대 동영상 압축기술로 대개 H.264/AVC 혹은 AVC/H.264, H.264/MPEG-4 AVC, MPEG-4/H.264 AVC라고 불린다. MPEG4에 비해 40% 정도, MPEG2에 비해 60% 이상 전송속도가 빠르다. H.264는 MPEG2 등 기존의 동영상 압축 표준에 비해 유연성과 압축 효율이 높지만 인코딩이나 디코딩을 구현할 때 복잡도가 증가한다. MPEG측에서는 MPEG-4 part 10의 명칭인 AVC(Advanced Video Coding, 고급 영상 부호화)라고 부르고 있다.



명명


H.264 이름은 VCEG(Video Coding Experts Group) 비디오 코딩 표준의 H.26x 라인의 멤버 인 ITU-T 명명 표준을 따른다. MPEG-4 AVC 이름은 MPEG-4로 알려진 표준 제품군인 ISO/IEC 14496의 파트10 인 ISO/IEC MPEG의 명명 표준과 관련된다. 이 표준은 ITU-T에서 VCEG 프로젝트 인 H.26L로 초기 개발 작업을 한 후 VCEG와 MPEG의 파트너십으로 공동 개발되었다. 따라서 일반적으로 업적을 강조하기 위해 H.264/AVC, AVC/H.264, H.264/MPEG-4 AVC 또는 MPEG-4/H.264 AVC와 같은 이름으로 참조하여 명명했다. 때로는 이를 개발 한 JVT(Joint Video Team) 조직과 관련하여 "JVT 코덱"이라고도 한다. MPEG-2로 알려진 비디오 압축 표준은 MPEG-2 비디오가 ITU-T 커뮤니티에 H.262로 알려져있는 MPEG와 ITU-T 간의 파트너쉽에서 비롯된 것이다.[3] 일부 소프트웨어 프로그램 (예 : VLC 미디어 플레이어)는 표준을 AVC1로 내부적으로 식별한다.



역사


1998년 초, 비디오 코딩 전문가 그룹(VCEG-ITU-T SG16 Q.6)은 다양한 어플리케이션에서 다른 기존의 비디오 코딩 표준과 비교하여 두 배의 코딩 효율을 목표로할 (현수준에 필요한 비트 전송률을 절반으로 줄이는) H.26L이라는 프로젝트에 대한 제안을 발표했다. VCEG는 Gary Sullivan(Microsoft, 이전의 PictureTel, U.S.).이 의장직을 맡았다. 새 표준에 대한 첫 번째 초안 설계는 1999년 8월에 채택되었다. 2000년 Thomas Wiegand (Heinrich Hertz Institute, Germany)는 VCEG 공동 의장이되었다.


2001년 12월, VCEG와 MovingPictureExpertGroup(MPEG/ISO/IECJTC1/JTC298/SM. WG/11)은 비디오 코딩 표준을 최종 확정하기 위한 선언문과 함께 공동 비디오 팀(Joint Video Team/JVT)을 구성했다. 이 규격에 대한 정식 승인은 2003년 3월에 이루어졌다. JVT은 Gary Sullivan, Thomas Wiegand, 그리고 Ajay Luthra (Motorola, U.S.: 이후 Arris, U.S.)이 의장이 되었다. 2004년 6월에는 Fidelity range extensions(FRext)프로젝트가 마무리되었다. 2005년 1월부터 2007년 11월까지 JVTsms Scalable Video Coding(SVC)이라는 Annex(G)에 의해 확장성으로 H.264.AVC의 확장에 따른 확장에 작업하고 있었다. JVT관리 팀은 Jens-RainerOhm(Aachen University, Germany)에 의해 확장되었다. 2006년 7월부터 2009년 11월까지 JVT은 TV및 3DTV의 무료 시청 방향으로 H.264/ATCUC의 확장인 Multiview Video Coding(MVC)에 관한 작업을 하였다. 그 작업에는 표준의 두가지 새로운 프로파일, Multiview High Profile과 Stereo High Profile의 개발이 포함되었다.



특징


H.264/AVC는 기존의 표준(MPEG-2, H.263, MPEG-4 파트 2)과 비교했을 때, 낮은 (절반 이하의) 비트레이트에서 비슷하거나 더 좋은 화질을 얻을 수 있도록 개발되었다. 그리고 구현할 때에 설계 상의 유연성도 고려되었다. 또 다른 목표로서 다양한 시스템에 적용될 수 있도록 하였고, (보기: 높고 낮은 해상도, 높고 낮은 비트레이트 영상) 다양한 종류의 네트워크와 시스템에서 작동하도록 하였다. (보기: 방송, DVD 저장, RTP/IP 패킷 네트워크, ITU-T 화상 전화)


2003년 표준안 발표 이후, JVT는 H.264에 대한 확장 표준안을 개발하였으며, 그 결과 FRExt(Fidelity Range Extensions)라고 부르는 표준을 기반한 확장을 발표 하였다(~ 2007년 버전 7). 이 확장들은 샘플 정확도를 향상시켜서 고선명 비디오를 얻을 수 있게 하고(10,12비트 코딩 포함) 높은 해상도, 색 정보를 포함한다(YUV 4:2:2, YUV 4:4:4 같은). 또한 SVC(Scalable Video Coding) 모드를 추가로 지원하였으며(2007년 버전 8), 2009년 다중 카메라를 이용할 수 있는 MVC(Multiview Video Coding) 확장안이 발표되었다.



프로파일과 레벨


범용 비디오 부호화 기술을 사용 영역에 맞게 특정 기술들만을 사용할 수 있도록 설정 해둔 이것을 프로파일이라고 한다. 최초 발표된 표준에는 모바일 방송과 같은 저전력, 저해상도에 적합한 베이스라인(Baseline) 프로파일과, 압축률을 최대한 높이기 위한 기술들로 이루어진 메인 프로파일, 스트리밍 환경에 적합한 기술들이 추가된 확장(Extended) 프로파일의 세 가지가 있었으며 표준안이 개정되면서 몇 가지의 프로파일들이 추가되었다.



프로파일


현재 H.264/AVC에서 제공되고 있는 프로파일은 다음과 같다.











































프로파일 번호프로파일 이름주요 특징
66Baseline저전력, 저해상도, 낮은 딜레이를 가짐. CAVLC만 사용, B픽처 사용하지 않음
66Constrained BaselineBaseline과 Main프로파일의 교집합이 되는 기술만 사용
77Main산술부호화 및 B픽처 사용으로 효율을 높임
88Extended스트리밍을 위한 기술 및 오류 내성기술 사용
FRExT100High8x8 DCT 사용,8x8 화면내 예측 사용
110High 10High 프로파일 + 10bit/pixel인 영상 지원
110High 10 IntraHigh10 프로파일에서 화면 내 예측 기술만 사용
122High 4:2:2High10 프로파일 + 4:2:2 컬러 포맷 지원
122High 4:2:2 IntraHigh 4:2:2에서 화면 내 예측 기술만 사용
244High 4:4:4 Predictive최대 14bit/pixel 지원, 4:4:4 컬러 포맷 지원
244High 4:4:4 IntraHigh 4:4:4 Predictive에서 화면 내 예측 기술만 지원
44CAVLC 4:4:4 IntraHigh 4:4:4 Intra에서 CAVLC로 사용(CABAC사용하지 않음)


버전


H.264/AVC는 2003년 표준안 발표 이후, 여러 번의 개선 및 기술 추가작업을 진행하여 왔다.


  • 버전 1: 2003년 5월 발표된 최초 출판 버전. Baseline, Main, Extended 의 세 가지 프로파일을 포함하고 있다.

  • 버전 2: 2004년 5월 발표되었으며, 출판시의 몇 가지 오류에 대한 수정이 있었다.

  • 버전 3: 2005년 5월 작성되었으며, 기존 출판오류 수정 및 첫 번째 개정안으로서 FRExT(Fidelity Range Extensions) 프로파일을 추가하였다.

  • 버전 4: 2005년 9월 발표되었으며, 수정안(corrigendum) 및 개정안(amendment)이 통합되었다.

  • 버전 5: FRExT 프로파일 중 High 4:4:4 프로파일이 제거되었다.

  • 버전 6: 2006년 6월 버전 5와 함께 발표되었으며, 색상 공간 지원 기능을 추가하였다.

  • 버전 7: 2007년 4월 발표되었으며, 개정안에 5개의 프로파일이 포함되었다.(High 10 Intra, High 4:2:2 Intra, High 4:4:4 Intra,

CAVLC 4:4:4 Intra, High 4:4:4 Predictive)


  • 버전 8: 2007년 11월에 발표되었으며, 세 개의 스케일러블 프로파일(Scalable Baseline, Scalable High, and Scalable High Intra)을 지원하여 Scalable Video Coding(SVC)를 지원하였다.

  • 버전 9: 몇 가지 오류에 대한 수정을 하여 2009년 1월 발표하였다.

  • 버전 10: 다중 카메라를 이용할 수 있는 Multiview Video Coding(MVC) 프로파일(Multiview High)을 추가하였다.

  • 버전 11: 버전 10과 함께 Constrained Baseline 추가하여 2009년 3월 발표하였다.


라이선스


H.264에는 다수의 특허권이 포함되어 있으며, 이 규격을 채용한 하드웨어 제품/소프트웨어 제품을 제조하는 기업은 특허 사용료를 지불해야 한다. 이 라이선스에 대한 관리는 특허 풀인 MPEG - LA 컨소시엄이 특허권자의 위탁을 받아 업무를 대행하고 있다.



이용



사용율


2003년 발표 후, 고사양의 필요로 사용률이 지지부진 하였다. 사용률 급증의 시초는 2009년 Windows7에 H.264 코덱을 기본 탑재함에 있다. 2010년 PC용 소프트웨어 플레이어 보급이 대중화 되었으며, 2011년 스마트폰 보급 대중화와 함께 현재까지 가장 보편적인 코덱으로 자리매김 하고 있다.



브라우저


어도비 플래시가 H.264를 지원하여 현재 인터넷에서 가장 많이 사용되고 있는 동영상 규격은 H.264이다. 그러나 특허 사용료 문제로 인해 웹브라우저가 표준으로 지원하는 동영상 압축 표준으로는 H.264가 여전히 논란이 되고 있다. 웹 표시 차세대 규격인 HTML5 에서는 비디오 요소로 동영상 재생을 하는 기능이 있어, 이것에 사용하는 동영상 포맷에 대해 애플과 마이크로소프트는 H.264를 추진하고 있다. 그러나 이미 HTML5에 대응하고있는 모질라 파이어폭스와 오페라 , 구글 크롬은 모두 video 태그를 사용한 동영상 재생 기능 H.264를 표준으로 지원하지 않고 WebM을 지원하고 있다. 초기에는 구글 크롬도 H.264를 지원했지만, 구글은 2011년 1월 14일, 향후 특허 사용료가 요구되는 H.264을 피하고, 특허 자유 규격을 요구 WebM을 중심으로 움직임에 협조한다는 방침을 ​​발표하면서, 크롬 11에서 지원을 종료했다. 현재 HTML4와 같은 브라우저는 H.264뿐만 아니라 특정 동영상이나 정지 화면, 음성 각 압축 표준을 표준으로 대응하지 않고도 플러그인에서 지원할 수 많은 HTML5 되어도 선택의 여지가 남아 있는 것으로 간주되고 있다. 마이크로소프트는 인터넷 익스플로러 9에서 H.264를 표준으로 지원하고 WebM을 플러그인으로 지원하고 있다.



같이 보기


  • MPEG Part-2 H.263

  • MPEG-4

  • HEVC H.265


각주




  1. “AVC/H.264 FAQ”. 《www.mpegla.com》. 2016년 9월 15일에 확인함. 


  2. “OpenH264 FAQ licensing fees.”. 《www.openh264.org》. 2016년 4월 20일에 확인함. 


  3. “H.262 : Information technology — Generic coding of moving pictures and associated audio information: Video”. 2007년 4월 15일에 확인함. 




외부 링크



  • (영어) H.264/AVC Wikipedia.ENGLISH


  • (한국어) H.264/AVC 인코더 참조 소프트웨어 구조 분석서 (Analysis of H.264/AVC Encoder Reference Software)


  • (한국어) LiveVideo - 오픈 소스 H.264/AVC 동영상 콘텐츠 분석 소프트웨어












원본 주소 "https://ko.wikipedia.org/w/index.php?title=H.264/MPEG-4_AVC&oldid=23967784"













둘러보기 메뉴


























(RLQ=window.RLQ||[]).push(function()mw.config.set("wgPageParseReport":"limitreport":"cputime":"0.296","walltime":"0.365","ppvisitednodes":"value":872,"limit":1000000,"ppgeneratednodes":"value":0,"limit":1500000,"postexpandincludesize":"value":127393,"limit":2097152,"templateargumentsize":"value":114,"limit":2097152,"expansiondepth":"value":8,"limit":40,"expensivefunctioncount":"value":0,"limit":500,"unstrip-depth":"value":0,"limit":20,"unstrip-size":"value":2729,"limit":5000000,"entityaccesscount":"value":0,"limit":400,"timingprofile":["100.00% 201.513 1 -total"," 46.11% 92.914 1 틀:각주"," 45.27% 91.233 10 틀:둘러보기_상자"," 39.06% 78.706 3 틀:웹_인용"," 13.90% 28.015 1 틀:압축_형식"," 13.33% 26.869 1 틀:MPEG"," 11.26% 22.700 3 틀:언어링크"," 9.78% 19.717 1 틀:비디오_포맷"," 8.96% 18.053 6 틀:언어_이름"," 5.10% 10.285 1 틀:ISO_표준"],"scribunto":"limitreport-timeusage":"value":"0.091","limit":"10.000","limitreport-memusage":"value":3390250,"limit":52428800,"cachereport":"origin":"mw1329","timestamp":"20190819035721","ttl":2592000,"transientcontent":false););"@context":"https://schema.org","@type":"Article","name":"H.264/MPEG-4 AVC","url":"https://ko.wikipedia.org/wiki/H.264/MPEG-4_AVC","sameAs":"http://www.wikidata.org/entity/Q212633","mainEntity":"http://www.wikidata.org/entity/Q212633","author":"@type":"Organization","name":"uc704ud0a4ubbf8ub514uc5b4 ud504ub85cuc81dud2b8 uae30uc5ecuc790","publisher":"@type":"Organization","name":"Wikimedia Foundation, Inc.","logo":"@type":"ImageObject","url":"https://www.wikimedia.org/static/images/wmf-hor-googpub.png","datePublished":"2006-04-06T07:45:35Z","dateModified":"2019-04-04T09:25:24Z"(RLQ=window.RLQ||[]).push(function()mw.config.set("wgBackendResponseTime":128,"wgHostname":"mw1330"););

Popular posts from this blog

Kamusi Yaliyomo Aina za kamusi | Muundo wa kamusi | Faida za kamusi | Dhima ya picha katika kamusi | Marejeo | Tazama pia | Viungo vya nje | UrambazajiKuhusu kamusiGo-SwahiliWiki-KamusiKamusi ya Kiswahili na Kiingerezakuihariri na kuongeza habari

Swift 4 - func physicsWorld not invoked on collision? The Next CEO of Stack OverflowHow to call Objective-C code from Swift#ifdef replacement in the Swift language@selector() in Swift?#pragma mark in Swift?Swift for loop: for index, element in array?dispatch_after - GCD in Swift?Swift Beta performance: sorting arraysSplit a String into an array in Swift?The use of Swift 3 @objc inference in Swift 4 mode is deprecated?How to optimize UITableViewCell, because my UITableView lags

Access current req object everywhere in Node.js ExpressWhy are global variables considered bad practice? (node.js)Using req & res across functionsHow do I get the path to the current script with Node.js?What is Node.js' Connect, Express and “middleware”?Node.js w/ express error handling in callbackHow to access the GET parameters after “?” in Express?Modify Node.js req object parametersAccess “app” variable inside of ExpressJS/ConnectJS middleware?Node.js Express app - request objectAngular Http Module considered middleware?Session variables in ExpressJSAdd properties to the req object in expressjs with Typescript