Name Last Update
Our Encoder Loading commit data...
PostProcessing Loading commit data...
PreProcessing Loading commit data...
영상 주관적 화질평가 Loading commit data...
README.md Loading commit data...
기초조사서.docx Loading commit data...
중간보고서.hwp Loading commit data...

Deep Video Compression

Our Test Sequence

The Common Test Conditions(CTC) of the test sequence(6 sequences) we used are as follows.

  • Chroma Format: RGB 4:4:4
  • Input bit-depth: 8
  • Resolution: 768x768
  • HEVC & VVC QP: 22, 27, 32, 37
  • Compress AI Quality: 1, 2, 3, 4, 5, 6

Sensor-generated Sequence

Input bit-depth Frame rate Test sequence name frame count
8 50 CrowdRun 100
8 50 DucksTakeOff 100
8 50 OldTownCross 100
8 50 Parkjoy 100

Computer-generated Sequence

Input bit-depth Frame rate Test sequence name frame count
8 60 ArenaOfValor 120
8 24 GlassHalf 48

Reference Software

HEVC (HM 16.8): Download HM

VVC (VTM 12.1): Download VTM, Download Documents

Compress AI (bmshj2018-hyperprior, mbt2018, cheng2020-anchor): compressAI github

Our Proposed Codec

Performance Test

PSNR

Alt text

BPP

(#압축에 사용된 전체 Bit 수) / (#전체 화소수)

Code explanation

The Directory Structure

.
├── README.md
├── Our Encoder
|   ├── codec-Copy1.py
|   ├── codec-Copy2.py
|   └── codec-Copy3.py
├── PostProcessing
|   ├── get_BPP.m
|   ├── get_PSNR_and_BPP manual.docx
|   ├── png_to_rgb.m
|   └── PostProcessing.m
├── PreProcessing
|   ├── frame_to_png.m
|   ├── MakeBat.m
|   ├── RGB Crop(ffmpeg) manual.docx
|   ├── rgb_to_frame.m
|   └── rgb_to_png.m
├── 영상 주관적 화질평가
|   └── pYUV manual.docx
├── 기초조사서.docx
└── 중간보고서.hwp

PreProcessing

frame_to_png: 하나의 frame(.rgb)를 이미지(.png) 파일로 변환 MakeBat: HEVC 또는 VVC batch 파일내용 생성 코드 rgb_to_frame: 여러 frame의 영상(.rgb)을 하나의 frame(.rgb) 단위로 변환 rgb_to_png: 여러 frame의 영상(.rgb)을 하나의 이미지(.png) 단위로 변환

PostProcessing

png_to_rgb: 여러 이미지(.png)를 여러 frame의 영상(.rgb)으로 변환 PostProcessing: HEVC 또는 VVC에서 Decoding된 영상(10bit, BGR)을 8it, RGB영상으로 변환 및 PSNR, SSIM, BPP계산

Our Codec

codec-Copy1: ALL Intra Compression Codec codec-Copy2: First Frame Intra Compression + Other Frame Residual(clip(recon-ref, -0.5, 0.5)+0.5) Compression Codec codec-Copy3: First Frame Intra + Other Frame Residual1(clip(recon-ref, 0, 1)), Residual2(-clip(recon-ref, -1, 0)) Codec

명령어: python [codec name] [encode or decode mode] --model [model name] -m [mse] -fr [frame rate] -f [frame count] -q [quality] [sequence name] 명령어 예시: python examples/codec-Copy2.py encode --model cheng2020-anchor -m mse -q 6 CrowdRun