H-DDCM이 하다마드 사전으로 생성 압축의 메모리 병목을 없앤다

H-DDCM: Hadamard Codebooks for Fast Generative Image and Video Compression

HF Daily2610.18125

Or Ronai, Vladimir Kulikov, Tomer Michaeli2026-10-13

무엇인가

학습 없이(training-free) 확산·플로우 모델의 생성 사전지식을 그대로 압축기에 재활용하는 방식은 초저비트레이트에서 지각적 화질이 좋다는 장점이 있다. DDCM은 각 디노이징 단계의 랜덤 노이즈를 인코더·디코더가 공유하는 코드북에서 고른 원자(atom)로 바꿔 정보를 실어 보내고, Turbo-DDCM은 한 단계에서 여러 원자를 닫힌 형태로 조합해 비싼 디노이징 평가 횟수를 90% 이상 줄였다. 문제는 코드북 자체다. 조밀한 가우시안 코드북은 저장하거나 재생성해야 하고, 잔차 정합 연산 비용이 잠재 차원 d와 코드북 크기 K에 함께 비례한다. 논문은 FLUX급 이미지 잠재(d=2^18)에서 완전한 코드북이 약 128GiB, Causal-Forcing(CF) 비디오 잠재에서는 약 167GiB를 요구한다고 계산한다. 코드북을 줄이면 후보 방향이 제한돼 화질이 떨어지고, 그대로 두면 메모리·연산이 병목이 되는 딜레마가 생긴다.

어떻게 동작하나

첫 번째 해법은 조밀한 가우시안 코드북을 암묵적 랜덤 하다마드 사전으로 교체하는 것이다. 정규화된 하다마드 행렬 H는 대칭이고 직교이며 H²=I이므로, 랜덤 부호 대각행렬 D를 곱한 A_t = D_t H도 정확히 정규직교 기저가 된다. Turbo-DDCM이 코드북을 쓰는 지점은 잔차와의 상관 u_t = C_t^T r_t 계산과 선택된 조합의 복원 두 곳뿐인데, 둘 다 행렬-벡터 곱이므로 고속 월시-하다마드 변환(FWHT)으로 사전을 실제로 물질화하지 않고 O(d log d) 시간과 O(d) 메모리로 처리할 수 있다. 부수 효과도 있다. 가우시안 원자는 고차원에서 근사적으로만 직교해서 top-M 임계화가 근사해였지만, 하다마드는 정확히 직교하므로 이 임계화가 최소제곱 문제의 정확한 해가 된다. 저비트레이트에서 방향 선택지가 부족한 문제는 B개의 독립적인 랜덤 하다마드 기저를 이어 붙인 과완비(overcomplete) 사전 A_t^oc ∈ R^{d×Bd}로 완화한다. 다만 서로 다른 기저에 속한 원자끼리는 직교하지 않아 전역 top-M이 더 이상 정확한 해는 아니며, 저자들은 Turbo-DDCM과 같은 방식으로 이 근사를 그대로 사용한다고 밝힌다.

무엇과 다른가

두 번째 병목은 전송 비트스트림이다. Turbo-DDCM은 선택된 M개 인덱스가 순서 없는 부분집합이라는 점을 이용해 사전식 순위(lexicographic rank)로 ceil(log2 C(K,M)) 비트만 보내지만, 이를 위해 (K,M)별 이항계수 표를 미리 계산해 저장한다. 차원이 커지면 이 표의 생성·저장 비용이 비현실적이 된다. H-DDCM은 파스칼 규칙 점화식으로 이항계수를 점진적으로 갱신하는 방식과, 하키스틱 항등식으로 각 인덱스의 기여를 직접 계산하고 이진 탐색으로 역순위를 푸는 방식을 제안한다. 여기에 후보 원자를 G개 그룹으로 나눠 그룹별 개수 벡터를 별-막대(stars-and-bars) 조합 코드로 먼저 보내고, 각 그룹 안에서 지역 사전식 순위를 매기는 그룹화 프로토콜을 더했다. 전체 비트율은 BPP = S(L_counts + Σ_g(ceil(log2 C(K_G, m_g)) + m_g·C)) / 화소수, L_counts = ceil(log2 C(M+G-1, G-1))로 정리되며, G=1이면 기존 단일 평면 순위와 같아진다. 그룹화는 약간의 비트 오버헤드를 내주고 G개의 작은 조합 연산을 병렬로 처리할 수 있게 해준다.

어떻게 쓰나

비디오로의 확장은 자기회귀(AR) 비디오 플로우 모델인 Causal-Forcing을 스트리밍 생성 코덱으로 개조하는 작업이다. CF는 21개 잠재 프레임(픽셀 81프레임, 3잠재 프레임짜리 청크 7개) 문맥으로 학습됐기 때문에, AR 캐시를 그 이상으로 늘리면 품질이 급격히 무너지고 매 경계마다 캐시를 초기화하면 시간적 문맥이 사라져 불연속이 생긴다. 저자들은 세그먼트 경계마다 최근 복원된 픽셀 프레임 9개를 다시 인코딩해 새로운 KV-캐시 프리픽스로 삼는 재인코딩 꼬리(refresh) 기법을 넣었다. 이 프레임들은 인코더와 디코더 모두 동일하게 가지고 있으므로 추가 전송 비트가 0이다. 갱신 직후 첫 청크는 사용할 생성 문맥이 가장 적어서 M_start ≥ M으로 선택 예산을 키우고, 이후에는 단계당 M개로 돌아간다.

전제와 한계

이미지 실험은 Stable Diffusion 2.1(512×512, d=2^14, T=30, 계수당 C=1비트, G=1)과 FLUX(1024×1024, d=2^18, G=8) 두 백본에서 수행했고, SD 2.1은 Kodak24, FLUX는 DIV2K로 평가했다(각각 512×512, 1024×1024로 리사이즈·중앙 크롭). 지표는 PSNR과 64×64 패치 기준 FID이며, 단일 NVIDIA A6000에서 왕복 시간을 측정했다. 결과적으로 H-DDCM은 완전 코드북 Turbo-DDCM(K=d)과 DiffC에 필적하는 PSNR·FID를 보이면서 코드북을 물질화하지 않는다. SD 2.1에서 동일 비트레이트 기준 H-DDCM과 Turbo-DDCM(K=d)은 왕복 1.3초로 같았고, DiffC는 5.5초, DDCM은 61초였다. FLUX 규모에서는 왕복 시간이 Turbo-DDCM(K=d)의 66초에서 44초로 줄었다. 즉 완전 코드북의 화질 이득은 유지하면서 메모리·연산은 캡 코드북 수준으로 억제한다.

비디오 실험은 CF 백본, 832×480 해상도, T=4 일관성 스텝, B=8 과완비 사전, 결정론적 꼬리 없음(N=0) 설정으로 UVG와 MCL-JCV에서 수행했고, 단일 NVIDIA H200에서 처리량을 측정했다. 지표는 PSNR과 DOVER·FVMD다. HEVC·VVC·DCVC-UF는 PSNR이 더 높지만 DOVER·FVMD 기준 지각 품질은 크게 떨어진다. 같은 CF 백본을 쓰는 학습 없는 방법들 중 ZeroGVC는 PSNR은 비슷하나 FVMD로 측정한 시간적·운동 일관성이 약하고 처리량도 낮았고, Turbo-DDCM 두 변형은 PSNR과 지각 품질 모두 낮았으며 완전 코드북 변형은 처리량까지 크게 떨어졌다. H-DDCM은 경쟁력 있는 rate-distortion-perception 성능을 내면서 평가된 CF 기반 방법 중 가장 높은 인코딩·디코딩 처리량을 기록했다.

개발자 관점에서 이 논문이 유용한 지점은 생성 압축을 실배포할 때 실제로 걸리는 두 비용, 즉 코드북 상주 메모리와 비트스트림 조합 인코딩 비용을 명시적으로 겨냥한다는 것이다. 차원 d가 2의 거듭제곱이면 FWHT를 그대로 쓸 수 있고, 사전은 시드에서 재생성되므로 인코더·디코더 간 동기화만 맞추면 별도 저장소가 필요 없다. 다만 도입 전에 확인할 것은 세 가지다. 첫째, 과완비 사전에서는 전역 top-M 임계화가 정확해가 아니라는 점, 둘째, 고정 비트 예산에서는 과완비 확장이 단일 기저보다 더 적은 원자를 선택해야 한다는 점, 셋째, 비디오 쪽은 CF의 21 잠재 프레임 문맥 제약과 재인코딩 꼬리 크기(9픽셀 프레임)에 성능이 묶인다는 점이다. 또한 저자들은 ZeroGVC와 Turbo-DDCM의 공식 CF 구현이 없어 직접 재구현해 비교했다고 밝히고, PSC는 런타임이 느려 실행 시간 비교에서 제외했다고 명시한다.