[inactive] [Caption with Intention #2] 기술 분석 - 어떻게 작동하는가?

발산동휘발류 Lv.1
02-28 09:41 · 조회 6 · 추천 0

[Caption with Intention #2] 기술 분석 - 어떻게 작동하는가?

소리를 시각화하는 3가지 기술

Caption with Intention©의 핵심은 Variable Typeface (가변 폰트)입니다.

폰트의 굵기(Weight), 크기(Size), 색상(Color)을 동적으로 조절하여 감정을 표현합니다.


1️⃣ ATTRIBUTION - 색상 코딩 시스템

문제

빠른 대화 장면에서 "누가 말하는지" 알 수 없음

해결

캐릭터별 고유 색상 할당

주연 A: 진한 빨강 (#D32F2F)
주연 B: 진한 파랑 (#1976D2)
조연 C: 중간 초록 (#66BB6A)
단역 D: 연한 회색 (#BDBDBD)

효과

  • 여러 사람이 동시에 말해도 즉시 구분
  • 대화가 빠르게 오갈 때 혼란 제거

2️⃣ SYNCHRONIZATION - 실시간 동기화

문제

기존 자막: 타이밍이 느려서 농담을 다른 사람보다 늦게 이해

해결: Read-ahead + 색상 전환

작동 방식:

  1. 대사 전체를 먼저 흰색으로 표시
  2. 배우가 말하는 단어 → 캐릭터 색상으로 변환
  3. 단어 단위 정확 동기화 (0.1~0.3초)

기술적 구현 (추정):

타임코드: [00:01:23.456]
"Hello world" 
→ "Hello" (0.5초) → 흰색→빨강 전환
→ "world" (0.8초) → 흰색→빨강 전환

효과

  • 청각장애인도 비장애인과 "동시에" 웃음
  • 사회적 동시성 회복

3️⃣ INTONATION - 가변 폰트로 감정 표현

문제

화난 목소리인지, 속삭이는 건지 텍스트만으로는 알 수 없음

해결: Variable Typeface 활용

OpenType 1.8 표준:

  • Weight: 100 (얇음) ~ 900 (굵음)
  • Width: Condensed ~ Extended
  • Optical Size: 감정 강도

감정 매핑:

😠 화남/고함
├─ Weight: 900 (굵음)
├─ Size: +30%
└─ Color: 빨강 (#F44336)

🤫 속삭임
├─ Weight: 300 (얇음)
├─ Size: -40%
└─ Color: 회색 (#9E9E9E)

😢 슬픔
├─ Weight: 400
├─ Italic: 기울임
└─ Color: 파랑 (#2196F3)

😂 웃음
├─ Weight: 600
├─ Animation: 바운스
└─ Color: 노랑 (#FFC107)

비음성 요소

  • 🎵 음악: 음표 기호 + 가사
  • 🔊 효과음: [쿵 하는 소리], [발소리]
  • 🎼 배경음: 색상/스타일 변화

🎬 실제 예시 (영화 장면)

예시 1: 빠른 대화 (액션 영화)

[빨강] "빨리 가!" (큰 굵은 폰트)
[파랑] "알았어..." (작은 얇은 폰트, 속삭임)
[빨강] "뛰어!" (더 크고 굵은 폰트, 고함)

예시 2: 감정 전환 (드라마)

[파랑] "괜찮아" (중간 크기, 평온)
       ↓ (0.5초 후)
[파랑] "괜찮지 않아!" (굵고 큰 폰트, 화남)

🛠️ 디자인 시스템 구성

1. 스타일 가이드

  • 색상 팔레트 (캐릭터별)
  • 폰트 weight/size 범위
  • 애니메이션 타이밍 규칙

2. 타이밍 규칙

  • Read-ahead: 대사 시작 1~2초 전
  • 색상 전환: 0.1~0.3초
  • 화면 체류: 읽기 속도 고려

3. 레이아웃

  • 위치: 화면 하단 중앙
  • 여백: 안전 영역 준수
  • 멀티라인: 최대 2~3줄

📐 수동 작업 워크플로우 (현재)

1. 영화 편집 완료
   ↓
2. 대사/타임코드 분석
   ↓
3. 캐릭터별 색상 할당
   ↓
4. 감정 분석 (수동)
   ↓
5. 디자인 시스템 가이드 적용
   ↓
6. After Effects/Premiere Pro 작업
   ↓
7. Burnt-in 자막으로 렌더링

소요 시간: 90분 영화 → 약 40~60시간 작업


🤔 한계

현재:

  • ❌ 자동화 없음 (수동 작업)
  • ❌ 비용/시간 많이 듦
  • ❌ 스케일 불가능

해결책:

  • ✅ AI 자동화 (다음 글에서 다룸)

다음 글: #3 AI 자동화 구현 방안

참고:

  • Variable Font 표준: OpenType 1.8
  • Python fontTools 라이브러리
💬 0 로그인 후 댓글 작성
첫 댓글을 남겨보세요!