← 목록
기타 2026-05-19 5KB 읽기 5분

CVF 한선씨 파이프라인 — v2.0 벡터형 4상균형3진 비디오

개요

CVF (Crowny Video Format) — 세계 최초 벡터형 4상균형3진 비디오 포맷. 완전 한선씨(HanSeon-C) 구현, mp4/mov → CVF → mp4 라운드트립 + 5모드 시뮬레이터.

v2.0 핵심 성과

  1. 44/44 단위 테스트 통과 — tri9 벡터, 큐브 인코딩/디코딩, 델타 연산, 인식론적 상태
  2. mp4/mov 멀티포맷 지원 — mp4, mov 소스 모두 변환 성공
  3. 멀티 해상도 — 27x15 (405큐브), 54x30 (1620큐브) 테스트 통과
  4. 완전 라운드트립 — mp4 → CVF v2 (3진 벡터) → 디코딩 → mp4 복원
  5. 5모드 크라우니 시뮬레이터 — 동적 해상도, 키보드 단축키, 큐브 상세 패널
  6. 델타 압축 — 70-76% (움직임 적은 영상 기준)
  7. 템플릿 기반 시뮬레이터 생성 — 해상도/fps/통계 동적 주입

아키텍처

mp4/mov → ffmpeg → PPM P6 → python P6→P3 → 한선씨 큐브 벡터 인코딩 → CVF v2
CVF v2 → 한선씨 큐브 디코딩 (I+P 델타적용) → PPM P3 → ffmpeg → mp4
CVF v2 → 한선씨 프레임JS 추출 → Python 템플릿 주입 → 시뮬레이터 HTML

큐브 구조 (27 트릿 = 3 × tri9)

[좌표축 9t]  x(3t) y(3t) z(3t)     — 공간 위치
[색상축 9t]  R(3t) G(3t) B(3t)     — tri9 벡터 색상
[메타축 9t]  α(3t) 상(3t) 인식(3t) — 투명도, 4상, 인식론

4상 프레임 구조

마커4상의미
GUUUO+UGOP 시작 (동기)
FUUUO+UI-프레임 (키프레임, 절대값 큐브)
PUUUO+UP-프레임 (델타 큐브, tri9_빼기)
EUUUU종료

인식론적 상태 (메타축 [6-8])

트릿상태의미
TTT확정 (Known)원본 데이터 완전
OOO미확인 (Unknown)아직 확인 안 됨
AAA오해 (Misknown)잘못된 데이터
ATA불가지 (Unknowable)양자화 손실

시뮬레이터 5모드

  1. 일반 — RGB 픽셀 렌더링
  2. 트릿 — 27개 트릿을 T(녹)/O(회)/A(적)으로 시각화
  3. 4상 — T상(데이터/녹) vs A상(델타/적) 분류
  4. 델타 — 이전 프레임 대비 변경 픽셀 히트맵
  5. 색상축 — R/G/B 채널 분리 표시
기능: 재생/정지, 프레임 스텝, 타임라인 탐색, 속도 조절, 마우스 오버 큐브 상세, 키보드 단축키 (Space/1-5/방향키), 델타 통계 바 차트

테스트 결과

테스트소스해상도프레임큐브델타 압축CVF
2019 USAmp427x15201,99876%55KB
선크림mov27x15113,24028%89KB
USA HDmp454x30115,40770%148KB
라운드트립mp427x15201,99876%55KB

CrownyTVM 발견사항

항목버그우회
설정()배열 원소 설정 안됨배열[i] = 값 직접 대입
반올림()float 타입 반환, == 비교 실패숫자변환("" + 반올림(x))
;statement separator 불가줄 분리
입력예약어소스경로 등으로 대체
사이클한도1억 사이클프레임수/해상도 조절

파일 구조

v2.0 핵심

파일역할
CVF벡터_tvm.han벡터 엔진: 큐브, tri9 연산, 델타, PPM, 인식론
tri_fix.hantri.han 수정판 (설정() 버그 우회)
k3논리.hanKleene K3 3값 논리 (사이클 최적화)
영상변환v2_tvm.hanmp4/mov→CVF v2 변환기
영상재생v2_tvm.hanCVF v2 디코더 + mp4 역변환 + 시뮬레이터 생성
시뮬레이터_템플릿.html5모드 시뮬레이터 템플릿 (동적 플레이스홀더)
실제변환v2_tvm.han전체 파이프라인 실행기
벡터테스트_tvm.han44개 단위 테스트
라운드트립_단일.hanmp4→CVF→mp4 라운드트립 테스트

v1.0 (레거시)

파일역할
3진변환_tvm.han문자열 기반 3진 라이브러리
영상변환_tvm.han / 영상재생_tvm.hanv1 변환기/재생기

실행 방법

bashcd /Users/ef/Downloads/CrownyTVM

# 테스트
./target/release/crowny run /Users/ef/crowny-video/벡터테스트_tvm.han

# 전체 파이프라인 (변환 + 디코딩 + 시뮬레이터)
./target/release/crowny run /Users/ef/crowny-video/실제변환v2_tvm.han

# 라운드트립 (mp4 → CVF → mp4)
./target/release/crowny run /Users/ef/crowny-video/라운드트립_단일.han

# 시뮬레이터
open /Users/ef/crowny-video/output/simulator.html

잔여 이슈

  • CrownyTVM 사이클한도(1억)로 단일 실행 내 복수 소스 변환 불가 (개별 실행으로 해결)
  • P6→P3 변환에 Python 헬퍼 의존
  • 디코더에서 마지막 프레임 전 중간 프레임 누락 가능 (파서 상태머신 개선 필요)
  • 81x45 이상 해상도는 사이클 한도 테스트 필요