Video CODEC
Encoder
: 데이터를 다른 format으로 변환하는 device(or algorithm)이다. machine learning의 맥락에서 encoder는 high-demensional data를 orginal data의 important features만 잘 캡처한 lower-dimensional representation으로 변환할 때 자주 사용된다.
machine learning에서 encoder는 일반적으로 autoencdoer로 사용된다. autoencoder
추가로 데이터 압축, 신호 처리 및 암호화와 같은 다양한 분야에서 encoder가 사용된다.
CODEC
: 어떠한 data stream이나 신호에 대해, 인코딩이나 디코딩, 혹은 둘 다를 할 수 있는 하드웨어나 소프트웨어를 말한다.
(data stream : 외부에서 받아온 데이터, server에서 로드된(or 스트리밍된) data)
- Codec을 하드웨어로 만들고 싶다면? : codec은 보통 표준화된 알고리즘이 있다. (알고리즘 모듈화)
Encoder (알고리즘을 모듈화)
Encoder Profiling
[ Armulator 사용하여 Profiling ]
: Armulator is a software tool that lets developers test Arm-based software without needing a physical Arm processor.
- reference code : 컴퓨터 시스템의 Firmware 개발에 사용되는 code
- fireware : 하드웨어를 제어하고 운영하는 데에 필요한 소프트웨어를 개발하는 과정
- I-frame : MPEG에서 사용되는 동영상 프레임 유형 중 하나로, 현재 프레임의 모든 정보를 포함하는 Key Frame.
복원 속도가 빠르며 동영상 재생 시 첫번째 프레임을 사용된다.
- IPPPP sequence : 비디오 압축 표주에서 사용되는 encoding frame 유형 중 하나이다.
위 Profiling에서 IPPPP sequence 중 Prediction Module부분에 Hareware가속이 필요해보인다.
가속이 필요해보이는 부분에 다음과 같이 하드웨어 가속기를 붙인다.
이는 CPU로 너무 오래 걸리는 부분에 GPU를 꽂는 것과 비슷한 개념이다.
검증 환경 (Simulation) //2022 중간고사 시험문
- C-level performance analysis (Circuit-level)
: 하드웨어 디자인을 구현하기 전에 디지털 회로의 성능을 예측하는 기술이다.
회로의 동작을 모델링하고 시뮬레이션하여 design의 성능을 분석하고, 이를 통해 문제를 예측하고 수정한다.
- RTL simulation (Register Transfer Level Simlation)
: 하드웨어 디자인을 구현하기 전에 디지털 회로를 검증하고, 디버깅하는 과정에서 사용되는 기술이다.
회로의 동작을 시뮬레이션하여 design 오류를 찾고 수정하는데 사용된다.
***두 과정 모두 개발과 검증 단계에서 매우 중요한 역할을 한다.
'Quality control (2) > Digital System Design' 카테고리의 다른 글
Processor / Bandwidth / data bus / cache memory (0) | 2023.03.30 |
---|---|
Processor / Latency (0) | 2023.03.30 |
Processor ( CPU ) / CPU operations (0) | 2023.03.29 |
Digital System Design _ intro(2) (0) | 2023.03.08 |
Digital System Design _ intro(1) (0) | 2023.03.08 |