SlideShare uma empresa Scribd logo
1 de 17
비디오 코덱
왜 비디오 압축을 해야하나?
• HDTV – 1920x1080
• Frame rate – 30
• RGB – 3 bytes
• 1920x1080x30x3x8 = 1.5 Gb/sec
YUV 컬러모델
• Y – 휘도(luminance), 밝기
• UV(CbCr) – 색차(chrominance), 색차
• YUV(YCbCr) – RGB와 등가역 정보를 가짐
• U(Cb) = B-Y, 청색에서 밝기를 뺀값
• V(Cr) = R-Y, 적색에서 밝기를 뺀값
• 인간의 눈은 색차(UV)보다 밝기(Y)에 훨씬
더 민감하다 (흑백TV)
YUV420 포멧(1)
• 모든 픽셀에 Y정보는 하나씩
• Y 4개(2x2)당 U,V 1개씩
YUV420 포멧(2)
• Y = WIDTH x HEIGHT
• U = WIDTH/2 x HEIGHT/2
• V = WIDTH/2 x HEIGHT/2
• TOTAL = Y+U+V = 1.5 x WIDTH x HEIGHT
• RGB의 1/2 (RGB = 3 x WIDTH x HEIGHT)
• 출력영상은 RGB
영상압축의 목표
• 압축의 목표 – 디지털 정보에서 중복된 정보를 제거
• 가역압축 => 파일압축(zip/tar/bz2)
• 비가역압축 => 영상/음성 압축
• 영상압축
- 공간적 압축 => 화면내 중복정보 제거(i-frame, jpeg)
- 시간적 압축 => 화면간 중복정보 제거(p-frame, b-
frame)
- 부호압축 => 가변길이 부호화(엔트로피 인코딩)
• 영상압축의 최종목표는 부호압축에 유리하도록 데이터
를 변형하는데 있다 => 디지털정보는 같은 패턴이 연속
해서 반복될수록 압축에 유리하다 (RLE : Run Length
Encoding)
공간적 압축
• Intra-frame 압축, 한 프레임 내에서의 중복 정보를 제거
(i-frame, jpeg)
• 블럭단위 압축 – 4x4/8x8/16x16과 같은 블럭단위로 연산
=> 작은 블럭일수록 정교하지만 압축률에는 불리
• 고주파/저주파 영역 – 픽셀영상을 주파수 영역으로 변환
했을때 인접한 화소들간에 변화가 많다/적다
• 손실압축 – 영상 내의 고주파 영역을 제거
• DCT 변환 – 픽셀정보를 주파수 영역으로 변환 => 고주
파/저주파 성분 분리를 위해
• 인간의 눈은 저주파 성분에는 민감하지만 고주파 성분에
는 둔감 => 고주파 성분에 손실이 있어도 감지하지 못함
DCT 변환
• DCT 변환 후 저주파 영역(좌상단)에는 큰 값이, 고주파
영역(우하단)에는 주로 작은 값들이 배치
• 고주파 영역 – 주변 픽셀과 차이가 많은 영역
• 저주파 영역 – 주변 픽셀과 차이가 적은 영역
양자화 계수와 지그재그 스캔
• 양자화 계수(Quantization Parameter)로 나눈 다음(손실발생) 지그
재그 스캔을 통해 같은 값들이 연속해서 나오도록 한다 => 부호압
축에 유리
• 압축영상을 복원하는쪽에서는 반대로 역 지그재그 스캔으로 블럭을
복원한 후 QP값을 곱해서 복원한다
• QP값에 따라 영상의 화질이 결정(bitrate)
시간적 압축
• Inter-frame 압축, 영상 프레임 간의 중복
정보 제거 => 프레임 간에 변화된 정보만
추출 (p-frame, b-frame)
• 영상을 블럭단위로 나눈다음 해당 블록이
참조 프레임의 어느 블록에 해당되는지 찾
는 방식 (Motion Estimation)
• 예측에러(Prediction Error) 등으로 손실 발
생 => i-frame 을 중간중간 넣어줘야함
Motion Estimation
• ME를 통해 Motion Vector(MV)값을 구한다
• 해당 블록의 MV값만을 압축
• 영상복원은 반대로 이전 프레임에서 해당 블록
에 MV를 더하는 방식으로 복원
부호압축(엔트로피 인코딩)
• 가변길이부호화(VLC : Variable Length Coding) 방식으
로 최종 압축할 데이터의 비트스트림을 압축(지그재그
스캔을 마친 블럭데이터), 무손실 압축
• 호프만 코딩에 기초 – 출현빈도가 높은 값에게는 짧은
부호를 할당하고 출현빈도가 낮은 값에게는 긴 부호를
할당
• CAVLC - Context Adaptive Variable Length Coding
• CABAC - Context Adaptive Binary Arithmetic Coding
• 비트열의 흐름에서 동적으로 부호할당
• CABAC은 CAVLC보다 복잡하고 오래 걸리지만 압축률이
더 좋음
인코딩 Flow
• I-frame : input->DCT->quantize->Huffman Coding->output
• P-frame : input->ME->MC->DCT->quantize->Huffman Coding-
>output
• 인코딩은 디코딩을 포함 => 인코딩이 디코딩보다 복잡하다
비디오 프레임 종류
• i-frame과 다음 i-frame 사이의 모든 프레임들을
GOP(Group Of Pictures)라 한다
• b-frame은 네트워크로 전달되는 시스템에서는 일반적으
로 잘 쓰지않는다(파일 인코딩에서 주로 사용)
• IPPPP…I 로 인코딩된 상황에서 중간의 P프레임을 디코딩
하려면 앞선 IPPP가 다 필요하다(I←P←P←P←P)
H.264 코덱의 역사
• ITU-T 계열의 H.26x 시리즈와 ISO/IEC 계열의 MPEG 시리즈
• H.264 / MPEG4 Part10: AVC – 최신 부호화 기술의 집대성, 1/20 ~ 1/100
압축률, bitrate는 10 kbps ~ 240 Mbps
FFMPEG
• 현존하는 거의 유일한 오픈소스 코덱 프로젝트 –
GPL/LGPL 라이센스, 다양한 플랫폼 지원(윈도우/리눅스/
안드로이드/iOS 등)
• 인코더/디코더/먹서/디먹서/스케일러 등으로 구성
• 다양한 코덱과 파일포멧을 지원
• 현존하는 거의 대부분의 멀티미디어 재생기가 FFMPEG
을 사용중 – VLC/곰플레이어/팟플레이어/KMPlayer 등
• 사용하기 쉽고 응용하기고 쉬움
코덱관련 용어
• 멀티미디어 컨테이너 포멧 – AVI/MP4/MKV 등과 같이 특정 포멧을
가지고 H.264/MPEG4/MP3와 같은 인코딩 스트림을 저장하는 파일
포멧(코덱과는 다른 의미)
• 트랜스코딩 – 특정 코덱으로 인코딩된 스트림(네트웍/파일)을 다른
코덱 혹은 해상도를 변환하는 것. 예) H.264->MPEG4, MPEG4-
>H.264, 해상도 변환 => 입력영상을 디코딩 후 다시 인코딩
• 프로파일 – 영상 압축을 위한 다양한 방법과 알고리즘들의 집합.
예)H.264 Baseline/Main/Extended Profile
• 비트레이트(Bitrate) – 단위 시간당 인코딩 데이터의 출력량
• CBR/VBR – Contant BitRate/Variable BitRate

Mais conteúdo relacionado

Mais procurados

Dockerイメージの理解とコンテナのライフサイクル
Dockerイメージの理解とコンテナのライフサイクルDockerイメージの理解とコンテナのライフサイクル
Dockerイメージの理解とコンテナのライフサイクルMasahito Zembutsu
 
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜Preferred Networks
 
マルチコアとネットワークスタックの高速化技法
マルチコアとネットワークスタックの高速化技法マルチコアとネットワークスタックの高速化技法
マルチコアとネットワークスタックの高速化技法Takuya ASADA
 
[DL輪読会]モデルベース強化学習とEnergy Based Model
[DL輪読会]モデルベース強化学習とEnergy Based Model[DL輪読会]モデルベース強化学習とEnergy Based Model
[DL輪読会]モデルベース強化学習とEnergy Based ModelDeep Learning JP
 
20180729 Preferred Networksの機械学習クラスタを支える技術
20180729 Preferred Networksの機械学習クラスタを支える技術20180729 Preferred Networksの機械学習クラスタを支える技術
20180729 Preferred Networksの機械学習クラスタを支える技術Preferred Networks
 
DPDKを用いたネットワークスタック,高性能通信基盤開発
DPDKを用いたネットワークスタック,高性能通信基盤開発DPDKを用いたネットワークスタック,高性能通信基盤開発
DPDKを用いたネットワークスタック,高性能通信基盤開発slankdev
 
しばちょう先生による特別講義! RMANバックアップの運用と高速化チューニング
しばちょう先生による特別講義! RMANバックアップの運用と高速化チューニングしばちょう先生による特別講義! RMANバックアップの運用と高速化チューニング
しばちょう先生による特別講義! RMANバックアップの運用と高速化チューニングオラクルエンジニア通信
 
Oracle Cloud Infrastructure:2022年9月度サービス・アップデート
Oracle Cloud Infrastructure:2022年9月度サービス・アップデートOracle Cloud Infrastructure:2022年9月度サービス・アップデート
Oracle Cloud Infrastructure:2022年9月度サービス・アップデートオラクルエンジニア通信
 
How to Schedule Machine Learning Workloads Nicely In Kubernetes #CNDT2020 / C...
How to Schedule Machine Learning Workloads Nicely In Kubernetes #CNDT2020 / C...How to Schedule Machine Learning Workloads Nicely In Kubernetes #CNDT2020 / C...
How to Schedule Machine Learning Workloads Nicely In Kubernetes #CNDT2020 / C...Preferred Networks
 
ストリーム処理におけるApache Avroの活用について(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)
ストリーム処理におけるApache Avroの活用について(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)ストリーム処理におけるApache Avroの活用について(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)
ストリーム処理におけるApache Avroの活用について(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)NTT DATA Technology & Innovation
 
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法深層学習フレームワークにおけるIntel CPU/富岳向け最適化法
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法MITSUNARI Shigeo
 
[Code night] natural language proccessing and machine learning
[Code night] natural language proccessing and machine learning[Code night] natural language proccessing and machine learning
[Code night] natural language proccessing and machine learningKenichi Sonoda
 
20210226[oracle code night] 機械学習入門:ディープラーニングの基礎から転移学習まで
20210226[oracle code night] 機械学習入門:ディープラーニングの基礎から転移学習まで20210226[oracle code night] 機械学習入門:ディープラーニングの基礎から転移学習まで
20210226[oracle code night] 機械学習入門:ディープラーニングの基礎から転移学習までKenichi Sonoda
 
카카오톡으로 여친 만들기 2013.06.29
카카오톡으로 여친 만들기 2013.06.29카카오톡으로 여친 만들기 2013.06.29
카카오톡으로 여친 만들기 2013.06.29Taehoon Kim
 
開発者が語る NVIDIA cuQuantum SDK
開発者が語る NVIDIA cuQuantum SDK開発者が語る NVIDIA cuQuantum SDK
開発者が語る NVIDIA cuQuantum SDKNVIDIA Japan
 
はじめてのOracle Cloud Infrastructure (Oracle Cloudウェビナーシリーズ: 2021年7月28日)
はじめてのOracle Cloud Infrastructure (Oracle Cloudウェビナーシリーズ: 2021年7月28日)はじめてのOracle Cloud Infrastructure (Oracle Cloudウェビナーシリーズ: 2021年7月28日)
はじめてのOracle Cloud Infrastructure (Oracle Cloudウェビナーシリーズ: 2021年7月28日)オラクルエンジニア通信
 
[DL輪読会] MoCoGAN: Decomposing Motion and Content for Video Generation
[DL輪読会] MoCoGAN: Decomposing Motion and Content for Video Generation[DL輪読会] MoCoGAN: Decomposing Motion and Content for Video Generation
[DL輪読会] MoCoGAN: Decomposing Motion and Content for Video GenerationDeep Learning JP
 
Elastic Stack を網羅する ハンズオンワークショップを 作ってみた.pdf
Elastic Stack を網羅する ハンズオンワークショップを 作ってみた.pdfElastic Stack を網羅する ハンズオンワークショップを 作ってみた.pdf
Elastic Stack を網羅する ハンズオンワークショップを 作ってみた.pdfKoji Kawamura
 

Mais procurados (20)

データベースで始める機械学習
データベースで始める機械学習データベースで始める機械学習
データベースで始める機械学習
 
Dockerイメージの理解とコンテナのライフサイクル
Dockerイメージの理解とコンテナのライフサイクルDockerイメージの理解とコンテナのライフサイクル
Dockerイメージの理解とコンテナのライフサイクル
 
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
 
マルチコアとネットワークスタックの高速化技法
マルチコアとネットワークスタックの高速化技法マルチコアとネットワークスタックの高速化技法
マルチコアとネットワークスタックの高速化技法
 
[DL輪読会]モデルベース強化学習とEnergy Based Model
[DL輪読会]モデルベース強化学習とEnergy Based Model[DL輪読会]モデルベース強化学習とEnergy Based Model
[DL輪読会]モデルベース強化学習とEnergy Based Model
 
20180729 Preferred Networksの機械学習クラスタを支える技術
20180729 Preferred Networksの機械学習クラスタを支える技術20180729 Preferred Networksの機械学習クラスタを支える技術
20180729 Preferred Networksの機械学習クラスタを支える技術
 
DPDKを用いたネットワークスタック,高性能通信基盤開発
DPDKを用いたネットワークスタック,高性能通信基盤開発DPDKを用いたネットワークスタック,高性能通信基盤開発
DPDKを用いたネットワークスタック,高性能通信基盤開発
 
しばちょう先生による特別講義! RMANバックアップの運用と高速化チューニング
しばちょう先生による特別講義! RMANバックアップの運用と高速化チューニングしばちょう先生による特別講義! RMANバックアップの運用と高速化チューニング
しばちょう先生による特別講義! RMANバックアップの運用と高速化チューニング
 
Oracle Cloud Infrastructure:2022年9月度サービス・アップデート
Oracle Cloud Infrastructure:2022年9月度サービス・アップデートOracle Cloud Infrastructure:2022年9月度サービス・アップデート
Oracle Cloud Infrastructure:2022年9月度サービス・アップデート
 
How to Schedule Machine Learning Workloads Nicely In Kubernetes #CNDT2020 / C...
How to Schedule Machine Learning Workloads Nicely In Kubernetes #CNDT2020 / C...How to Schedule Machine Learning Workloads Nicely In Kubernetes #CNDT2020 / C...
How to Schedule Machine Learning Workloads Nicely In Kubernetes #CNDT2020 / C...
 
ストリーム処理におけるApache Avroの活用について(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)
ストリーム処理におけるApache Avroの活用について(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)ストリーム処理におけるApache Avroの活用について(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)
ストリーム処理におけるApache Avroの活用について(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)
 
OCI GoldenGate Overview 2021年4月版
OCI GoldenGate Overview 2021年4月版OCI GoldenGate Overview 2021年4月版
OCI GoldenGate Overview 2021年4月版
 
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法深層学習フレームワークにおけるIntel CPU/富岳向け最適化法
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法
 
[Code night] natural language proccessing and machine learning
[Code night] natural language proccessing and machine learning[Code night] natural language proccessing and machine learning
[Code night] natural language proccessing and machine learning
 
20210226[oracle code night] 機械学習入門:ディープラーニングの基礎から転移学習まで
20210226[oracle code night] 機械学習入門:ディープラーニングの基礎から転移学習まで20210226[oracle code night] 機械学習入門:ディープラーニングの基礎から転移学習まで
20210226[oracle code night] 機械学習入門:ディープラーニングの基礎から転移学習まで
 
카카오톡으로 여친 만들기 2013.06.29
카카오톡으로 여친 만들기 2013.06.29카카오톡으로 여친 만들기 2013.06.29
카카오톡으로 여친 만들기 2013.06.29
 
開発者が語る NVIDIA cuQuantum SDK
開発者が語る NVIDIA cuQuantum SDK開発者が語る NVIDIA cuQuantum SDK
開発者が語る NVIDIA cuQuantum SDK
 
はじめてのOracle Cloud Infrastructure (Oracle Cloudウェビナーシリーズ: 2021年7月28日)
はじめてのOracle Cloud Infrastructure (Oracle Cloudウェビナーシリーズ: 2021年7月28日)はじめてのOracle Cloud Infrastructure (Oracle Cloudウェビナーシリーズ: 2021年7月28日)
はじめてのOracle Cloud Infrastructure (Oracle Cloudウェビナーシリーズ: 2021年7月28日)
 
[DL輪読会] MoCoGAN: Decomposing Motion and Content for Video Generation
[DL輪読会] MoCoGAN: Decomposing Motion and Content for Video Generation[DL輪読会] MoCoGAN: Decomposing Motion and Content for Video Generation
[DL輪読会] MoCoGAN: Decomposing Motion and Content for Video Generation
 
Elastic Stack を網羅する ハンズオンワークショップを 作ってみた.pdf
Elastic Stack を網羅する ハンズオンワークショップを 作ってみた.pdfElastic Stack を網羅する ハンズオンワークショップを 作ってみた.pdf
Elastic Stack を網羅する ハンズオンワークショップを 作ってみた.pdf
 

Destaque

스트리밍 프로토콜
스트리밍 프로토콜스트리밍 프로토콜
스트리밍 프로토콜greenday96
 
인코딩 및 스트리밍 처리 구성도
인코딩 및 스트리밍 처리 구성도인코딩 및 스트리밍 처리 구성도
인코딩 및 스트리밍 처리 구성도jw Yoon
 
Android media codec 사용하기
Android media codec 사용하기Android media codec 사용하기
Android media codec 사용하기Taehwan kwon
 
Ndc2012 최지호 텍스쳐 압축 기법 소개
Ndc2012 최지호 텍스쳐 압축 기법 소개Ndc2012 최지호 텍스쳐 압축 기법 소개
Ndc2012 최지호 텍스쳐 압축 기법 소개Jiho Choi
 
Signal Compression and JPEG
Signal Compression and JPEGSignal Compression and JPEG
Signal Compression and JPEGguest9006ab
 
지금 핫한 Real-time In-memory Stream Processing 이야기
지금 핫한 Real-time In-memory Stream Processing 이야기지금 핫한 Real-time In-memory Stream Processing 이야기
지금 핫한 Real-time In-memory Stream Processing 이야기Ted Won
 
3 Things Every Sales Team Needs to Be Thinking About in 2017
3 Things Every Sales Team Needs to Be Thinking About in 20173 Things Every Sales Team Needs to Be Thinking About in 2017
3 Things Every Sales Team Needs to Be Thinking About in 2017Drift
 
멀티미디어 서비스를 위한 AirPlug 솔루션 소개 (대학 강의 자료)
멀티미디어 서비스를 위한 AirPlug 솔루션 소개 (대학 강의 자료)멀티미디어 서비스를 위한 AirPlug 솔루션 소개 (대학 강의 자료)
멀티미디어 서비스를 위한 AirPlug 솔루션 소개 (대학 강의 자료)AirPlug Inc.
 
04.m3 cms streaming-protocol
04.m3 cms streaming-protocol04.m3 cms streaming-protocol
04.m3 cms streaming-protocoltarensi
 
대규모 서비스를 지탱하는 기술 ch6
대규모 서비스를 지탱하는 기술 ch6대규모 서비스를 지탱하는 기술 ch6
대규모 서비스를 지탱하는 기술 ch6Mungyu Choi
 
디지털통신 8
디지털통신 8디지털통신 8
디지털통신 8KengTe Liao
 
Challenge. 도전에 관한 영어 명언 10
Challenge. 도전에 관한 영어 명언 10Challenge. 도전에 관한 영어 명언 10
Challenge. 도전에 관한 영어 명언 10길벗지기
 
5.동영상에 대하여 j.mp gnmove(2 p)
5.동영상에 대하여 j.mp gnmove(2 p)5.동영상에 대하여 j.mp gnmove(2 p)
5.동영상에 대하여 j.mp gnmove(2 p)하이퍼테크
 
Android mediacodec
Android mediacodecAndroid mediacodec
Android mediacodecTaehwan kwon
 
실시간스트리밍 시장동향과 전망 (올레온에어중계)
실시간스트리밍 시장동향과 전망 (올레온에어중계)실시간스트리밍 시장동향과 전망 (올레온에어중계)
실시간스트리밍 시장동향과 전망 (올레온에어중계)Sang Lee
 
Cisco asa firewall을 통한 패킷 흐름
Cisco asa firewall을 통한 패킷 흐름Cisco asa firewall을 통한 패킷 흐름
Cisco asa firewall을 통한 패킷 흐름IT Tech
 
H3 2011 클라우드 컴퓨팅 AWS 글로벌 서비스 구축을 위한 선택_데이터지능팀_이호철
H3 2011 클라우드 컴퓨팅 AWS 글로벌 서비스 구축을 위한 선택_데이터지능팀_이호철H3 2011 클라우드 컴퓨팅 AWS 글로벌 서비스 구축을 위한 선택_데이터지능팀_이호철
H3 2011 클라우드 컴퓨팅 AWS 글로벌 서비스 구축을 위한 선택_데이터지능팀_이호철KTH, 케이티하이텔
 
실시간스트리밍 시장동향과 전망 올레온에어
실시간스트리밍 시장동향과 전망 올레온에어실시간스트리밍 시장동향과 전망 올레온에어
실시간스트리밍 시장동향과 전망 올레온에어Sang Lee
 
Streaming of Huxley
Streaming of HuxleyStreaming of Huxley
Streaming of HuxleySungkyun Kim
 

Destaque (20)

스트리밍 프로토콜
스트리밍 프로토콜스트리밍 프로토콜
스트리밍 프로토콜
 
인코딩 및 스트리밍 처리 구성도
인코딩 및 스트리밍 처리 구성도인코딩 및 스트리밍 처리 구성도
인코딩 및 스트리밍 처리 구성도
 
Android media codec 사용하기
Android media codec 사용하기Android media codec 사용하기
Android media codec 사용하기
 
Ndc2012 최지호 텍스쳐 압축 기법 소개
Ndc2012 최지호 텍스쳐 압축 기법 소개Ndc2012 최지호 텍스쳐 압축 기법 소개
Ndc2012 최지호 텍스쳐 압축 기법 소개
 
Signal Compression and JPEG
Signal Compression and JPEGSignal Compression and JPEG
Signal Compression and JPEG
 
지금 핫한 Real-time In-memory Stream Processing 이야기
지금 핫한 Real-time In-memory Stream Processing 이야기지금 핫한 Real-time In-memory Stream Processing 이야기
지금 핫한 Real-time In-memory Stream Processing 이야기
 
JPEG Image Compression
JPEG Image CompressionJPEG Image Compression
JPEG Image Compression
 
3 Things Every Sales Team Needs to Be Thinking About in 2017
3 Things Every Sales Team Needs to Be Thinking About in 20173 Things Every Sales Team Needs to Be Thinking About in 2017
3 Things Every Sales Team Needs to Be Thinking About in 2017
 
멀티미디어 서비스를 위한 AirPlug 솔루션 소개 (대학 강의 자료)
멀티미디어 서비스를 위한 AirPlug 솔루션 소개 (대학 강의 자료)멀티미디어 서비스를 위한 AirPlug 솔루션 소개 (대학 강의 자료)
멀티미디어 서비스를 위한 AirPlug 솔루션 소개 (대학 강의 자료)
 
04.m3 cms streaming-protocol
04.m3 cms streaming-protocol04.m3 cms streaming-protocol
04.m3 cms streaming-protocol
 
대규모 서비스를 지탱하는 기술 ch6
대규모 서비스를 지탱하는 기술 ch6대규모 서비스를 지탱하는 기술 ch6
대규모 서비스를 지탱하는 기술 ch6
 
디지털통신 8
디지털통신 8디지털통신 8
디지털통신 8
 
Challenge. 도전에 관한 영어 명언 10
Challenge. 도전에 관한 영어 명언 10Challenge. 도전에 관한 영어 명언 10
Challenge. 도전에 관한 영어 명언 10
 
5.동영상에 대하여 j.mp gnmove(2 p)
5.동영상에 대하여 j.mp gnmove(2 p)5.동영상에 대하여 j.mp gnmove(2 p)
5.동영상에 대하여 j.mp gnmove(2 p)
 
Android mediacodec
Android mediacodecAndroid mediacodec
Android mediacodec
 
실시간스트리밍 시장동향과 전망 (올레온에어중계)
실시간스트리밍 시장동향과 전망 (올레온에어중계)실시간스트리밍 시장동향과 전망 (올레온에어중계)
실시간스트리밍 시장동향과 전망 (올레온에어중계)
 
Cisco asa firewall을 통한 패킷 흐름
Cisco asa firewall을 통한 패킷 흐름Cisco asa firewall을 통한 패킷 흐름
Cisco asa firewall을 통한 패킷 흐름
 
H3 2011 클라우드 컴퓨팅 AWS 글로벌 서비스 구축을 위한 선택_데이터지능팀_이호철
H3 2011 클라우드 컴퓨팅 AWS 글로벌 서비스 구축을 위한 선택_데이터지능팀_이호철H3 2011 클라우드 컴퓨팅 AWS 글로벌 서비스 구축을 위한 선택_데이터지능팀_이호철
H3 2011 클라우드 컴퓨팅 AWS 글로벌 서비스 구축을 위한 선택_데이터지능팀_이호철
 
실시간스트리밍 시장동향과 전망 올레온에어
실시간스트리밍 시장동향과 전망 올레온에어실시간스트리밍 시장동향과 전망 올레온에어
실시간스트리밍 시장동향과 전망 올레온에어
 
Streaming of Huxley
Streaming of HuxleyStreaming of Huxley
Streaming of Huxley
 

Semelhante a 비디오 코덱

[Kgc2012] deferred forward 이창희
[Kgc2012] deferred forward 이창희[Kgc2012] deferred forward 이창희
[Kgc2012] deferred forward 이창희changehee lee
 
디지털비디오
디지털비디오디지털비디오
디지털비디오Donghoi Kim
 
111118 ch 4_basic image manipulation_web
111118 ch 4_basic image manipulation_web111118 ch 4_basic image manipulation_web
111118 ch 4_basic image manipulation_webCARROTCG
 
ICON08_게임 애니메이션 최적화 기법
ICON08_게임 애니메이션 최적화 기법ICON08_게임 애니메이션 최적화 기법
ICON08_게임 애니메이션 최적화 기법noerror
 
(Paper Review)Kernel predicting-convolutional-networks-for-denoising-monte-ca...
(Paper Review)Kernel predicting-convolutional-networks-for-denoising-monte-ca...(Paper Review)Kernel predicting-convolutional-networks-for-denoising-monte-ca...
(Paper Review)Kernel predicting-convolutional-networks-for-denoising-monte-ca...MYEONGGYU LEE
 
디지털 방송과 UHDTV 방송 기술의 이해
디지털 방송과 UHDTV 방송 기술의 이해디지털 방송과 UHDTV 방송 기술의 이해
디지털 방송과 UHDTV 방송 기술의 이해Jaekwon Lee
 
Display color와 Digital texture format의 이해
Display color와 Digital texture format의 이해Display color와 Digital texture format의 이해
Display color와 Digital texture format의 이해SangYun Yi
 
UHD HDR "Dance untold story"
UHD HDR "Dance untold story"UHD HDR "Dance untold story"
UHD HDR "Dance untold story"승윤 이
 
실전프로젝트 정서경 양현찬
실전프로젝트 정서경 양현찬실전프로젝트 정서경 양현찬
실전프로젝트 정서경 양현찬현찬 양
 
모바일 게임 최적화
모바일 게임 최적화 모바일 게임 최적화
모바일 게임 최적화 tartist
 
Modern gpu optimize blog
Modern gpu optimize blogModern gpu optimize blog
Modern gpu optimize blogozlael ozlael
 
Binarized CNN on FPGA
Binarized CNN on FPGABinarized CNN on FPGA
Binarized CNN on FPGA홍배 김
 
2017 12 09_데브루키_리얼타임 렌더링_입문편(3차원 그래픽스[저자 : 한정현] 참조)
2017 12 09_데브루키_리얼타임 렌더링_입문편(3차원 그래픽스[저자 : 한정현] 참조)2017 12 09_데브루키_리얼타임 렌더링_입문편(3차원 그래픽스[저자 : 한정현] 참조)
2017 12 09_데브루키_리얼타임 렌더링_입문편(3차원 그래픽스[저자 : 한정현] 참조)Sukwoo Lee
 
Deep learning super resolution
Deep learning super resolutionDeep learning super resolution
Deep learning super resolutionNAVER Engineering
 
Automatic Grid Pattern Recognition for Camera Calibration
Automatic Grid Pattern Recognition for Camera CalibrationAutomatic Grid Pattern Recognition for Camera Calibration
Automatic Grid Pattern Recognition for Camera CalibrationLee Young Min
 
Hd sdi 영상분배 증폭기
Hd sdi 영상분배 증폭기Hd sdi 영상분배 증폭기
Hd sdi 영상분배 증폭기Deok kyu Ahn
 
니시카와젠지의 3 d 게임 팬을 위한 ps4
니시카와젠지의 3 d 게임 팬을 위한 ps4니시카와젠지의 3 d 게임 팬을 위한 ps4
니시카와젠지의 3 d 게임 팬을 위한 ps4민웅 이
 

Semelhante a 비디오 코덱 (20)

[Kgc2012] deferred forward 이창희
[Kgc2012] deferred forward 이창희[Kgc2012] deferred forward 이창희
[Kgc2012] deferred forward 이창희
 
High dynamic range
High dynamic rangeHigh dynamic range
High dynamic range
 
디지털비디오
디지털비디오디지털비디오
디지털비디오
 
111118 ch 4_basic image manipulation_web
111118 ch 4_basic image manipulation_web111118 ch 4_basic image manipulation_web
111118 ch 4_basic image manipulation_web
 
ICON08_게임 애니메이션 최적화 기법
ICON08_게임 애니메이션 최적화 기법ICON08_게임 애니메이션 최적화 기법
ICON08_게임 애니메이션 최적화 기법
 
(Paper Review)Kernel predicting-convolutional-networks-for-denoising-monte-ca...
(Paper Review)Kernel predicting-convolutional-networks-for-denoising-monte-ca...(Paper Review)Kernel predicting-convolutional-networks-for-denoising-monte-ca...
(Paper Review)Kernel predicting-convolutional-networks-for-denoising-monte-ca...
 
디지털 방송과 UHDTV 방송 기술의 이해
디지털 방송과 UHDTV 방송 기술의 이해디지털 방송과 UHDTV 방송 기술의 이해
디지털 방송과 UHDTV 방송 기술의 이해
 
Display color와 Digital texture format의 이해
Display color와 Digital texture format의 이해Display color와 Digital texture format의 이해
Display color와 Digital texture format의 이해
 
UHD HDR "Dance untold story"
UHD HDR "Dance untold story"UHD HDR "Dance untold story"
UHD HDR "Dance untold story"
 
실전프로젝트 정서경 양현찬
실전프로젝트 정서경 양현찬실전프로젝트 정서경 양현찬
실전프로젝트 정서경 양현찬
 
모바일 게임 최적화
모바일 게임 최적화 모바일 게임 최적화
모바일 게임 최적화
 
Modern gpu optimize blog
Modern gpu optimize blogModern gpu optimize blog
Modern gpu optimize blog
 
Modern gpu optimize
Modern gpu optimizeModern gpu optimize
Modern gpu optimize
 
Binarized CNN on FPGA
Binarized CNN on FPGABinarized CNN on FPGA
Binarized CNN on FPGA
 
2017 12 09_데브루키_리얼타임 렌더링_입문편(3차원 그래픽스[저자 : 한정현] 참조)
2017 12 09_데브루키_리얼타임 렌더링_입문편(3차원 그래픽스[저자 : 한정현] 참조)2017 12 09_데브루키_리얼타임 렌더링_입문편(3차원 그래픽스[저자 : 한정현] 참조)
2017 12 09_데브루키_리얼타임 렌더링_입문편(3차원 그래픽스[저자 : 한정현] 참조)
 
Deep learning super resolution
Deep learning super resolutionDeep learning super resolution
Deep learning super resolution
 
Automatic Grid Pattern Recognition for Camera Calibration
Automatic Grid Pattern Recognition for Camera CalibrationAutomatic Grid Pattern Recognition for Camera Calibration
Automatic Grid Pattern Recognition for Camera Calibration
 
Hd sdi 영상분배 증폭기
Hd sdi 영상분배 증폭기Hd sdi 영상분배 증폭기
Hd sdi 영상분배 증폭기
 
D2 Hdr
D2 HdrD2 Hdr
D2 Hdr
 
니시카와젠지의 3 d 게임 팬을 위한 ps4
니시카와젠지의 3 d 게임 팬을 위한 ps4니시카와젠지의 3 d 게임 팬을 위한 ps4
니시카와젠지의 3 d 게임 팬을 위한 ps4
 

비디오 코덱

  • 2. 왜 비디오 압축을 해야하나? • HDTV – 1920x1080 • Frame rate – 30 • RGB – 3 bytes • 1920x1080x30x3x8 = 1.5 Gb/sec
  • 3. YUV 컬러모델 • Y – 휘도(luminance), 밝기 • UV(CbCr) – 색차(chrominance), 색차 • YUV(YCbCr) – RGB와 등가역 정보를 가짐 • U(Cb) = B-Y, 청색에서 밝기를 뺀값 • V(Cr) = R-Y, 적색에서 밝기를 뺀값 • 인간의 눈은 색차(UV)보다 밝기(Y)에 훨씬 더 민감하다 (흑백TV)
  • 4. YUV420 포멧(1) • 모든 픽셀에 Y정보는 하나씩 • Y 4개(2x2)당 U,V 1개씩
  • 5. YUV420 포멧(2) • Y = WIDTH x HEIGHT • U = WIDTH/2 x HEIGHT/2 • V = WIDTH/2 x HEIGHT/2 • TOTAL = Y+U+V = 1.5 x WIDTH x HEIGHT • RGB의 1/2 (RGB = 3 x WIDTH x HEIGHT) • 출력영상은 RGB
  • 6. 영상압축의 목표 • 압축의 목표 – 디지털 정보에서 중복된 정보를 제거 • 가역압축 => 파일압축(zip/tar/bz2) • 비가역압축 => 영상/음성 압축 • 영상압축 - 공간적 압축 => 화면내 중복정보 제거(i-frame, jpeg) - 시간적 압축 => 화면간 중복정보 제거(p-frame, b- frame) - 부호압축 => 가변길이 부호화(엔트로피 인코딩) • 영상압축의 최종목표는 부호압축에 유리하도록 데이터 를 변형하는데 있다 => 디지털정보는 같은 패턴이 연속 해서 반복될수록 압축에 유리하다 (RLE : Run Length Encoding)
  • 7. 공간적 압축 • Intra-frame 압축, 한 프레임 내에서의 중복 정보를 제거 (i-frame, jpeg) • 블럭단위 압축 – 4x4/8x8/16x16과 같은 블럭단위로 연산 => 작은 블럭일수록 정교하지만 압축률에는 불리 • 고주파/저주파 영역 – 픽셀영상을 주파수 영역으로 변환 했을때 인접한 화소들간에 변화가 많다/적다 • 손실압축 – 영상 내의 고주파 영역을 제거 • DCT 변환 – 픽셀정보를 주파수 영역으로 변환 => 고주 파/저주파 성분 분리를 위해 • 인간의 눈은 저주파 성분에는 민감하지만 고주파 성분에 는 둔감 => 고주파 성분에 손실이 있어도 감지하지 못함
  • 8. DCT 변환 • DCT 변환 후 저주파 영역(좌상단)에는 큰 값이, 고주파 영역(우하단)에는 주로 작은 값들이 배치 • 고주파 영역 – 주변 픽셀과 차이가 많은 영역 • 저주파 영역 – 주변 픽셀과 차이가 적은 영역
  • 9. 양자화 계수와 지그재그 스캔 • 양자화 계수(Quantization Parameter)로 나눈 다음(손실발생) 지그 재그 스캔을 통해 같은 값들이 연속해서 나오도록 한다 => 부호압 축에 유리 • 압축영상을 복원하는쪽에서는 반대로 역 지그재그 스캔으로 블럭을 복원한 후 QP값을 곱해서 복원한다 • QP값에 따라 영상의 화질이 결정(bitrate)
  • 10. 시간적 압축 • Inter-frame 압축, 영상 프레임 간의 중복 정보 제거 => 프레임 간에 변화된 정보만 추출 (p-frame, b-frame) • 영상을 블럭단위로 나눈다음 해당 블록이 참조 프레임의 어느 블록에 해당되는지 찾 는 방식 (Motion Estimation) • 예측에러(Prediction Error) 등으로 손실 발 생 => i-frame 을 중간중간 넣어줘야함
  • 11. Motion Estimation • ME를 통해 Motion Vector(MV)값을 구한다 • 해당 블록의 MV값만을 압축 • 영상복원은 반대로 이전 프레임에서 해당 블록 에 MV를 더하는 방식으로 복원
  • 12. 부호압축(엔트로피 인코딩) • 가변길이부호화(VLC : Variable Length Coding) 방식으 로 최종 압축할 데이터의 비트스트림을 압축(지그재그 스캔을 마친 블럭데이터), 무손실 압축 • 호프만 코딩에 기초 – 출현빈도가 높은 값에게는 짧은 부호를 할당하고 출현빈도가 낮은 값에게는 긴 부호를 할당 • CAVLC - Context Adaptive Variable Length Coding • CABAC - Context Adaptive Binary Arithmetic Coding • 비트열의 흐름에서 동적으로 부호할당 • CABAC은 CAVLC보다 복잡하고 오래 걸리지만 압축률이 더 좋음
  • 13. 인코딩 Flow • I-frame : input->DCT->quantize->Huffman Coding->output • P-frame : input->ME->MC->DCT->quantize->Huffman Coding- >output • 인코딩은 디코딩을 포함 => 인코딩이 디코딩보다 복잡하다
  • 14. 비디오 프레임 종류 • i-frame과 다음 i-frame 사이의 모든 프레임들을 GOP(Group Of Pictures)라 한다 • b-frame은 네트워크로 전달되는 시스템에서는 일반적으 로 잘 쓰지않는다(파일 인코딩에서 주로 사용) • IPPPP…I 로 인코딩된 상황에서 중간의 P프레임을 디코딩 하려면 앞선 IPPP가 다 필요하다(I←P←P←P←P)
  • 15. H.264 코덱의 역사 • ITU-T 계열의 H.26x 시리즈와 ISO/IEC 계열의 MPEG 시리즈 • H.264 / MPEG4 Part10: AVC – 최신 부호화 기술의 집대성, 1/20 ~ 1/100 압축률, bitrate는 10 kbps ~ 240 Mbps
  • 16. FFMPEG • 현존하는 거의 유일한 오픈소스 코덱 프로젝트 – GPL/LGPL 라이센스, 다양한 플랫폼 지원(윈도우/리눅스/ 안드로이드/iOS 등) • 인코더/디코더/먹서/디먹서/스케일러 등으로 구성 • 다양한 코덱과 파일포멧을 지원 • 현존하는 거의 대부분의 멀티미디어 재생기가 FFMPEG 을 사용중 – VLC/곰플레이어/팟플레이어/KMPlayer 등 • 사용하기 쉽고 응용하기고 쉬움
  • 17. 코덱관련 용어 • 멀티미디어 컨테이너 포멧 – AVI/MP4/MKV 등과 같이 특정 포멧을 가지고 H.264/MPEG4/MP3와 같은 인코딩 스트림을 저장하는 파일 포멧(코덱과는 다른 의미) • 트랜스코딩 – 특정 코덱으로 인코딩된 스트림(네트웍/파일)을 다른 코덱 혹은 해상도를 변환하는 것. 예) H.264->MPEG4, MPEG4- >H.264, 해상도 변환 => 입력영상을 디코딩 후 다시 인코딩 • 프로파일 – 영상 압축을 위한 다양한 방법과 알고리즘들의 집합. 예)H.264 Baseline/Main/Extended Profile • 비트레이트(Bitrate) – 단위 시간당 인코딩 데이터의 출력량 • CBR/VBR – Contant BitRate/Variable BitRate