728x90

압축 2

[C++] DCT / IDCT / Quantization / De-Quantization 코드

안녕하십니까 힘법사입니다. 오늘은 JPEG 압축 과정 중 하나로 들어가는 DCT, IDCT, Quantization, De-Quantization에 대한 내용을 설명드리도록 하겠습니다. 사실 제가 실감미디어시스템이라는 학교 수업을 들으면서 진행한 내용인데, 코드 작성과 보고서 둘다 진행하게 되어 이렇게 공유하게 되었습니다. 내용은 보고서 내용을 그냥 그대로 올려봤고요 이미지에 대한 DCT과정이 동작되는 코드는 아닌 오직 8x8 마크로 블록에만 적용되도록 만든 코드입니다. 많이 어려운 내용은 아니니 따라오시면 이해하실 수 있을겁니다~! 먼저 코드 링크부터 걸겠습니다. 2017103030/DCT: DCT, IDCT, Quantization, DeQuantization operation code (github..

C && C++ 2021.11.10

[C++] Arithmetic Coding(산술 부호화)

안녕하세요 힘법사입니다. 오늘은 제가 Arithmetic Coding에 대해서 대학 강의를 들으면서 이를 C++로 구현해보면 재미있을 것 같아 만든 해당 내용에 대해서 공유하겠습니다. Arithmetic coding Arithmetic coding은 전체 메시지를 하나의 유닛으로 취급할 수 있게 해 줍니다. 정확히는 실수 하나로 전체 메시지를 나타낼 수 있게 해 줍니다. 그리고 압축 시 손실이 없는 Lossless 방식입니다. 해당 게시물에서는 Encoding만 다룰 것이고 제가 시간이 허락한다면 Decoding도 만들어 보겠습니다. step1 우선 사전에 심볼들에 대해서 확률을 알고 있어야 합니다. 제가 예를 들어보겠습니다. 저는 심볼 A B 그리고 C의 조합으로 메시지를 전송하고자 합니다. 이때 A의..

C && C++ 2021.10.12
728x90