CIF/CVF 4K 밸런싱 분석 — 생성·변환·전송·관리 + 멀티모달 정합성
개요
CIF(이미지)/CVF(영상) 트릿트리 코덱을 3840×3840(4K) 스케일에서 생성·변환·전송·관리 4상으로 실측 분석. Gemini 멀티모달 비전검증 도구로 정합성을 지각 평가. 4K 인에이블 과정에서 발견한 한계와 실용 버그를 수정.
4K 인에이블 (측정 전 차단요소 해소)
- 좌표폭 8 = ±3280 < 3840 → 자동 좌표폭:
coordWidthFor(max(W,H))— ≤3280→8, 4K(3840)/8K(7680)→9. 포맷은 이미 가변폭 지원이라 헤더좌표폭만 자동화. /encode가드 729→8192,parseBody50MB→128MB(4K 원시픽셀 56MB 허용).
핵심 발견: 콘텐츠 의존 율-왜곡 (CIF vs PNG)
| 콘텐츠 | 크기 | CIF | PNG | CIF/PNG | 판정 |
|---|---|---|---|---|---|
| 부드러운 그라데이션 | 4K | 36KB | 29,500KB | 0.001 (840× 작음) | CIF 압승 |
| 정렬된 평탄(3^k) | 384 | ~1KB(9씨앗) | 2KB | 0.2 | CIF 승 |
| 부드러운 photo | 256 | 33KB | 162KB | 0.2 (5× 작음) | CIF 승(손실) |
| 미정렬 평탄 | 4K | 1,649KB | 135KB | 12.2 | CIF 패(단편화) |
| 노이즈/고주파 | 128 | 312KB | 15KB | 20.8 | CIF 참패 |
4상 밸런싱
1. 생성 (Encode)
- rd:false(고정임계): 4K 인코드 0.4~0.6초 — 실용적.
- rd:true(RD 3모드 재귀): 256²=14초, ~40k픽셀도 8초+, 지수폭증 → 4K 시간 단위. ⚠️ 기존 /encode 기본값이 rd:true라 interior 243px 업로드 = 8.4초(밸런싱이 포착) → 기본 OFF(고정임계, RD는 오프라인 옵트인 {rd:true})로 수정 → interior 243px 8452ms→79ms (107× 가속). 실용 버그 교정.
- 단일스레드: 대형 동기 인코드가 이벤트루프 점유 → 동시 요청 블로킹(관찰됨).
2. 변환 (Quality/정합성)
- 손실 벡터 코덱. Gemini 멀티모달 정합성 512 photo = 65/100(지각동일 false): "부드러운 그라데이션 블록화 + 미세 그레인 손실"(블로킹·밴딩·디테일손실).
- PSNR 25~40dB 콘텐츠 의존. 무손실 모드(PSNR ∞) 가능하나 크기 폭증(옵트인).
3. 전송 (Transfer)
- 출력 비대칭: 부드러운 4K CIF=36KB(초경량) vs 디테일=PNG의 20×.
- 입력 병목: 4K 원시픽셀 업로드 56MB. → 권고: 클라이언트 인코드 또는 PNG 입력 수용(원시픽셀 전송 회피).
4. 관리 (Management)
- ⚠️
/png?w=&h=가 다운스케일이 아니라 클리핑(대형 CIF 썸네일 시 좌상단 모서리만) — Gemini 정합성 1차 테스트가 이를 포착(정합성 2). 썸네일은 씨앗좌표 스케일링 필요. - 정렬 민감성: 3^k 경계 정렬 콘텐츠가 훨씬 잘 압축(flat 384=9씨앗 vs flat 128=1161씨앗).
- 6561 티어 저장 정상.
CVF (영상) 정합성
- CVF 프레임 = CIF → per-frame 특성 동일(부드러운/애니메이션 우수, 실사 디테일 열세). I-PSNR 34.5dB, 좌표폭8.
- 시간축: 모션 압축 이동영상 64.6% 절감(앞서 측정). 4K CVF는 부드러운/모션그래픽 콘텐츠에 강하고, 실사 라이브액션엔 per-frame 비용 × 프레임으로 비대.
멀티모달 비전검증 도구 (신규)
/Users/ef/crowny-image/비전검증.js — Gemini(gemini-flash-latest) inlineData로 원본↔CIF렌더 비교 →
{정합성 0~100, 지각동일, 주요차이, 아티팩트[], 총평} JSON. crowny-ai/.env GEMINI_API_KEY 사용.
node 비전검증.js <원본.png> <렌더.png> 또는 visionCompare(origB64, renderB64).
권고 (우선순위)
- ✅ rd 기본 OFF(수정 완료) — 인코드 시간폭탄 차단, interior 8.4s→79ms.
- /png 진짜 다운스케일(씨앗좌표×target/source) — 대형 CIF 썸네일.
- 클라이언트 인코드 / PNG 입력 — 56MB 원시픽셀 전송 회피.
- 비동기/워커 인코드 — 단일스레드 블로킹 해소.
- 콘텐츠 분류 라우팅 — 부드러움→CIF, 디테일→원본 유지(interior가 이미 원본표시).
- 정렬 패딩(3^k) 옵션 — 평탄 콘텐츠 단편화 완화.
관련 파일
/Users/ef/crowny-image/server.js— coordWidthFor, 가드 8192, parseBody 128MB, rd 크기적응/Users/ef/crowny-image/비전검증.js— Gemini 멀티모달 정합성 도구(신규)- 측정 데이터: 위 표(실측 2026-06-11)
잔여 이슈
- 권고 2~6 미구현(후속). /png 다운스케일·클라이언트 인코드가 4K 실서비스에 우선.
- 비전검증.js 한선씨 동반 필요(헌법).