تصور کنید یک ویدیوی باکیفیت تولید کردهاید، اما خروجی نهایی شبیه به تصاویر تکهتکه و لرزانِ دوربینهای مداربسته است. این نقص که در دنیای هوش مصنوعی به فقدان انسجام زمانی (Temporal Coherence) معروف است، حالا توسط شرکت Shadow در مدل Hailuo H3 برطرف شده است. یک ویدیوی ۲۴ فریم بر ثانیه که شبیه به دوربین مداربسته به نظر میرسد، در واقع شکست در حفظ پیوستگی زمانی است.
طبق مستندات فنی منتشر شده در ۲۸ سپتامبر ۲۰۲۶، مهندسان Shadow بهجای آموزش مدل برای تولید تاری، آن را به عنوان یک مسئلهٔ اپتیکی در مرحلهٔ پسپردازش حل کردند. آنها تاری حرکت (Motion Blur) را نه به عنوان یک چالش آموزشی برای مدل، بلکه به عنوان یک مسئله اپتیکی پس از خط لوله (Post-pipeline) در نظر گرفتند. اکثر مدلهای تولید ویدیو، فریمهایی «لحظهای» با زمان نوردهی صفر میسازند. وقتی این فریمها سریع حرکت میکنند، چون تاری طبیعیِ شاتر دوربینهای واقعی را ندارند، اثر لرزش یا استروبینگ (Strobing) ایجاد میشود. برای رفع این مشکل، مهندسان Shadow انتگرال یک شاتر واقعی را با استفاده از تغییر شکل جریان نوری (Optical Flow Warping) بازسازی کردند.
برای درک این موضوع، یک دوربین فیلمبرداری را تصور کنید که شاتری ۱۸۰ درجه دارد؛ این شاتر فریم را تقریباً برای نیمی از فاصله زمانی بین دو فریم نوردهی میکند. بهطور مشخص، در نرخ ۲۴ فریم بر ثانیه، این به معنای نوردهی هر فریم برای حدود ۲۰.۸ میلیثانیه از یک بازه ۴۱.۷ میلیثانیهای بین فریمها است. در خط لولهٔ دیجیتال هوش مصنوعی، چنین شاتر فیزیکی وجود ندارد. راهکار Shadow این است که آن پنجرهٔ نوردهی گمشده را با تغییر شکل فریمها بر اساس مسیر حرکت پیکسلها سنتز کند.
همانطور که در تحلیلهای پیشین ما دربارهی مدلهای انتشار (Diffusion Models) اشاره کردیم، تولید فریمهای متوالی بدون در نظر گرفتن فیزیک نور، منجر به خروجیهای غیرطبیعی میشود.
چالش زاویه شاتر
در دوربینهای واقعی، میزان تاری به سرعت زاویهای سطح در فضای صفحه و مدتزمان نوردهی بستگی دارد. Shadow برای بازسازی این اثر، انتگرال زیر را سنتز میکند: $I_n(x, y) = (1/T) * \int_{t_n}^{t_n+T} W(I_t, x, y) dt$.
در این فرمول، $W$ نشاندهنده عملگر Warp است که از جریان نوری مشتق شده، $T$ بازه باز بودن شاتر است و $I_t$ سیگنال زمان-پیوسته در فضای نهان (Latent) است. چون مدل انتشار فقط نمونههایی در زمانهای $t_n$ ارائه میدهد، سیستم باید این انتگرال را از طریق نمونهبرداریهای زیر-فریم (Sub-frame sampling) تخمین بزند.
مکانیسم Flow Warping
ترکیب سادهٔ دو فریم (Naive Blending) — یعنی میانگین گرفتن ساده از دو فریم — شکست میخورد زیرا باعث ایجاد ردپاهای رنگی نادرست و اثرات شبحوار (Ghosting) میشود؛ جایی که اشیاء پیشزمینه در پسزمینه نفوذ میکنند. این اتفاق به این دلیل میافتد که یک شاتر واقعی یک بازه پیوسته را نوردهی میکند، نه دو نمونه مجزا. Shadow بهجای آن از یک عملگر هسته Flow Warp استفاده میکند که یک جاروب خطی تکهای (Piecewise linear sweep) را اجرا میکند.
- نمونهبرداری زیر-فریم: سیستم چندین نمونه زیر-فریم (برای استایلهای سینمایی استاندارد $K=8$) را در پنجرهٔ شاتر جمعآوری میکند. هر نمونه $k$ متناظر با یک آفست زمانی $t_k = k * r / K$ است، که در آن $r$ نسبت نوردهی ($\theta / 360$) است.
- نمونهبرداری دوخطی (Bilinear Sampling): هر نمونه زیر-فریم، برشی از انتگرال شاتر است. سیستم آفستهای $dx$ و $dy$ را با استفاده از میدان جریان رو به جلو محاسبه کرده، یک نمونه دوخطی از فریم بعدی میگیرد و این برشها را برای تخمین یک نوردهی واقعی با هم جمع میکند.
- تخمین جریان: یک شبکه عصبی کانولوشنال (CNN) فشرده که از یک مدل معلم بزرگتر تقطیر (Distill) شده است، جریان نوری را برای هر فریم ۱۰۸۰p در ۱۲ میلیثانیه تخمین میزند. این تخمینگر باید روی فریمهای تولید شده خام عمل کند؛ اگر فریمهای تغییر شکل یافته (Warped) را پردازش کند، آرتیفکتهای تغییر شکل را به عنوان ویژگی یاد میگیرد و باعث انحراف جریان (Flow Drift) میشود.

برای جلوگیری از اینکه سیستم آرتیفکتهای خودش را یاد بگیرد، Shadow یک ترتیب سختگیرانه در خط لوله اجرا میکند: رمزگشایی انتشار $\rightarrow$ تخمین جریان $\rightarrow$ تغییر شکل شاتر $\rightarrow$ نگاشت رنگ (Tonemap) $\rightarrow$ کدگذاری. این ترتیب توسط زمانبند (Scheduler) و از طریق قراردادهای صریح ورودی/خروجی اعمال میشود. یک فریم نمیتواند بدون داشتن برچسب تخمین جریان در متادیتای خود، وارد مرحله Warp شود.
شاترهای تطبیقی
زاویه شاتر ثابت در شرایط سخت شکست میخورد؛ مثلاً پانهای سریع (Fast Pans) بیش از حد «له» و تار میشوند، در حالی که حرکات کند بیش از حد تیز باقی میمانند. Shadow یک کنترلکننده تطبیقی طراحی کرده که فریم را به بلوکهای ۶۴ در ۶۴ تقسیم کرده و زاویه شاتر را بر اساس میانه مقدار جریان (Median Flow Magnitude) در هر بلوک تنظیم میکند:
- ۰ تا ۲ پیکسل/فریم: شاتر ۹۰ درجه (۴ نمونه زیر-فریم).
- ۲ تا ۸ پیکسل/فریم: شاتر ۱۸۰ درجه (۸ نمونه زیر-فریم).
- ۸ تا ۲۰ پیکسل/فریم: شاتر ۲۲۰ درجه (۱۰ نمونه زیر-فریم).
- بیش از ۲۰ پیکسل/فریم: شاتر ۳۶۰ درجه (۱ نمونه). این رژیم بسیار حیاتی است؛ وقتی حرکت بیش از حد زیاد است، پنجره انتگرالگیری از فریم استاندارد بعدی فراتر میرود. محدود کردن آن به یک شاتر کاملاً باز، فریمی تیز بدون آرتیفکتهای استروبینگ ایجاد میکند.
این رژیمها از طریق یک جدول پیکربندی Postgres به نام shutter_regime_config مدیریت میشوند که به اپراتورها اجازه میدهد مرزهای حرکتی را در لحظه و بدون نیاز به استقرار مجدد کد تغییر دهند. Workerهای استنتاج، ردیف فعال را هنگام دریافت کار میخوانند و تغییرات را در عرض چند ثانیه در کل شبکه منتشر میکنند.
حل لرزشهای زمانی و انسداد
تخمین جریان نوری ذاتاً نویز دارد که اغلب به صورت «درخشش» (Shimmer) یا لرزش در لبههای فریم ظاهر میشود. Shadow از یک صافکننده زمانی دو مرحلهای روی خود میدانهای جریان استفاده میکند:
۱. گذر میانه (Median Pass): یک فیلتر میانه ۳-تپ روی فریمهای $[F_{n-1}, F_n, F_{n+1}]$.
۲. گذر اطمینان (Confidence Pass): یک ترکیب هدایتشده توسط جریان نوری. سیستم یک بررسی سازگاری جریان عقبرو (Backward Flow) انجام میدهد؛ اگر جریانهای رو به جلو و عقب در یک محدوده تلورانس با هم موافق باشند، نمونه قابل اعتماد است. یک عبارت وزندهی نرم $w = 1 / (1 + residualSq * 8)$ دادههای پرت را به سمت اجماع زمانی میکشد بدون اینکه باعث ایجاد تأخیر لاستیکی (Rubbery Lag) شود.
مسئلهٔ انسداد (Disocclusion) — یعنی وقتی یک شیء متحرک پسزمینهای را نمایان میکند که در فریم اصلی نبود — توسط یک مرحله ترمیم تصویر (Inpainting) تخصصی حل میشود. سیستم «باندهای انسداد» (نوارهای نازکی پشت اشیاء متحرک) را با مقایسه یک Warp رو به جلو از فریم A به فضای مختصات فریم B شناسایی میکند.
- مدل Inpaint: یک مدل کوچک با ۴ میلیون پارامتر که در حدود ۶ میلیثانیه برای هر ناحیه علامتگذاری شده در رزولوشن ۱۰۸۰p اجرا میشود.
- پوشش: این مسئله معمولاً کمتر از ۸٪ از مساحت فریم را تحت تأثیر قرار میدهد.
- مسیریابی مجدد: اگر یک کلیپ بیش از حد پیچیده باشد — بهطور مشخص اگر بیش از ۳۵٪ فریم نیاز به ترمیم انسداد داشته باشد — زمانبند کار را به یک خوشه پردازشی کندتر اما با کیفیتتر منتقل میکند که دارای صافکنندههای تهاجمیتر و مدل Inpaint بزرگتری است.
زیرساخت و معماری خط لوله
جریان انتها-به-انتها مجموعهای از آرتیفکتهای نسخهبندی شده است که در ذخیرهسازهای شیء (Object Storage) ذخیره میشوند. توالی حرکت از زمانبند به رمزگشایی انتشار، تخمین جریان، صافکننده زمانی، تغییر شکل شاتر تطبیقی، ترمیم انسداد و در نهایت کدگذاری و میکس (Muxing) است.
برای تضمین قابلیت اطمینان، زمانبند از Postgres برای وضعیت کارها و از Redis برای کش گرم (Hot Cache) استفاده میکند. جدول pipeline_jobs وضعیتها (در انتظار، در حال اجرا، انجام شده، شکست خورده) و تعداد تلاشها (حداکثر ۵ بار) را ردیابی میکند. یک ایندکس جزئی روی کارهای در انتظار/شکستخورده، سرعت کوئریهای دریافت کار را بالا میبرد. برای حفظ عملکرد، ردیفهای تکمیل شده هر شب Vacuum شده و به یک جدول پارتیشنبندی شده به نام pipeline_jobs_archive منتقل میشوند.
لبههای تولید و موارد خاص
شرکت Shadow چندین نقطه شکست بحرانی را در محیط تولید شناسایی کرده است:
- فریمهای فلش: فلشهای دهانه تفنگ یا نورهای گذرا میتوانند در طول فریمها پخش شوند و حرکت را خراب کنند. این موارد از طریق صدکهای لومای هر فریم شناسایی شده و سیستم به یک نمونه تکفریم تیز باز میگردد.
- بافتهای کم (Low Texture): در دیوارهای صاف یا آسمانهای ساده، تخمین جریان غیرقابل اعتماد است. سیستم از یک کف اطمینان (Confidence Floor) استفاده میکند؛ اگر اطمینان بیش از حد پایین باشد، برای آن تایل خاص به یک ترکیب دوخطی استاتیک باز میگردد.
- عدم تطابق شاتر غلتشی (Rolling Shutter): کلیپهای مرجع با زوایای شاتر مؤثر غیریکنواخت از طریق اندازهگیری واریانس جریان عمودی در امتداد یک خط افقی شناسایی میشوند. سپس سیستم وزن کنترلکننده تطبیقی را کاهش داده و به طور پیشفرض روی شاتر ثابت ۱۸۰ درجه قرار میگیرد.
- همگامسازی صدا: صدا در یک خط لوله مجزا مدیریت میشود. خط زمانی ۲۴ فریم بر ثانیه با برچسب زدن فریمهای استاندارد با برچسبهای زمانی تولید قفل میشود. انحراف (Skew) بهطور مداوم نظارت میشود و اگر لغزش از یک فریم بیشتر شود، هشدارها فعال میشوند.
نتایج و کنترل محصول
خروجی نهایی توسط یک پیچ تنظیم واحد به نام «استایل شاتر» برای تیمهای محصول کنترل میشود:
- سینمایی (Cinematic): ۱۸۰ درجه با رژیمهای حرکتی تطبیقی.
- طبیعی (Natural): ۱۵۰ درجه با رژیم حرکتی سختگیرانهتر برای صحنههای کند.
- تیز (Crisp): ۹۰ درجه برای ایجاد تیز بودن استایلبندی شده.
این رویکرد مهندسی، بار کیفیت سینمایی را از دوش مدل انتشار برداشته و به خط لولهٔ پسپردازش منتقل کرده است. از نظر کمی، سنتز شاتر لرزشهای بصری ادراکشده را در تستهای کیفیت کاربران تقریباً ۵ برابر کاهش داده است و رژیم تطبیقی ۲۰٪ دیگر را در کلیپهای با حرکت سریع بازیابی میکند. از نظر کیفی، پانهای دستی و نماهای تعقیبی اکنون به عنوان حرکت طبیعی دوربین خوانده میشوند، نه یک اسلایدشو.
برای توسعهدهندگان، این موضوع یک روند رو به رشد را برجسته میکند: تأثیرگذارترین بهبودهای «هوش مصنوعی» اغلب از پردازش سیگنال کلاسیک و مهندسی اپتیک میآیند که روی خروجیهای مدل اعمال شدهاند.
گام بعدی شما
- اگر از ابزارهای تولید ویدیو استفاده میکنید، خروجیها را با نرخ ۲۴ فریم بر ثانیه و در صحنههای دارای حرکت سریع بررسی کنید تا اثر Strobing را شناسایی کنید.
- برای توسعهدهندگان، بررسی ترکیب پردازش سیگنال کلاسیک با خروجیهای AI را به عنوان جایگزینی برای آموزش مدلهای سنگینتر پیشنهاد میکنیم.
- دنبال کنید که آیا مدلهای متنباز (Open Weights) مکانیزمهای مشابهی برای شبیهسازی شاتر فیزیکی معرفی میکنند یا خیر.
اما داستان سختافزاری این تحول حتی شگفتانگیزتر است — به تحلیل ما دربارهی تراشههای Blackwell مراجعه کنید.




گفتگو