ورود
ثبت نام
صفحه اصلی
اخبار بازی
بررسی بازی
حقایق بازیها
داستان بازی
بررسی سخت افزار
برنامههای ویدیویی
انجمنها
نوشتههای جدید
پرمخاطبها
جستجوی انجمنها
جدیدترینها
ارسالهای جدید
آخرین فعالیتها
کاربران
کاربران آنلاین
جستجو
جستجو فقط عنوان ها
توسط:
جستجو فقط عنوان ها
توسط:
ورود
ثبت نام
جستجو
جستجو فقط عنوان ها
توسط:
جستجو فقط عنوان ها
توسط:
Menu
Install the app
Install
فراخوان عضویت در تحریریه بازیسنتر | برای ثبت درخواست کلیک کنید
صفحه اصلی
انجمنها
موضوعات عمومی
سینما، گرافیک کامپیوتری (CG Art) و Comic
بررسی میزان تفاوت کیفیت تصویر در کدک X264 و X265 در حجم های متفاوت
ارسال پاسخ
JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.
You are using an out of date browser. It may not display this or other websites correctly.
You should upgrade or use an
alternative browser
.
متن گفتگو
<blockquote data-quote="sabco" data-source="post: 4117147" data-attributes="member: 39563"><p>BitRate ویژگی خاصی نیست عملا. همونطور که گفتم یه عددی هست که از تقسیم حجم بر مدت زمان فیلم به دست میاد. کدک ها در واقع نوعی الگوریتم فشرده سازی برای ذخیره سازی هستند. بعضی کدک ها مخصوص صوت هستند و بعضی دیگر مخصوص تصویر. طبیعی هست که کدک های جدیدتر، بیشتر میتونن با حفظ کیفیت فشرده سازی رو انجام بدن و در نتیجه حجم کمتری ارائه میدن که خب این باعث میشه bitrate هم کمتر بشه.</p><p></p><p>راستی الان به عکساتون تو پست اول دقت کردم و میشه از همون عکس فهمید چرا کیفیت x265 کمتره تو این مقایسه. طبق عکس بخش تصویر bitrate نسخه x265 نصف x264 نیست و 293kbps از نصف کمتره.</p><p></p><p>در مورد اطلاعات من از منتشر کننده های اصلی، اتفاقا آنچنان بالا نیست اما در مورد خود کدک ها و کارکردشون کمی اطلاعات دارم که خب با این دانش بعضی از گروه های ضعیف رو میتونید شناسایی کنید. ادامهی پست رو برا کسانی می نویسم که دوست دارن با ماهیت کدک ها آشنا بشن. سعی می کنم با زبان ساده بگم و زیاد از اصطلاحات تخصصی استفاده نکنم و فقط اساس کارشون رو توضیح میدم بدون جزییات. باز هرجاش سوالی داشتید در خدمتم.</p><p></p><p>همونطور که همه میدونیم یک فیلم در واقع تشکیل شده از تعداد زیادی تصویر(فریم) که به طور پشت هم نمایش داده میشه که در کنارش یک صوت هم پخش میشه. حالا بیاید با هم دیگه محاسبه کنیم اگر کدک ها نبودن حجم فقط تصاویر یه فیلم 90 دقیقه ای با رزولوشن 720 * 1280 چقدر میشد:</p><p>هر تصویر(فریم) از فیلم حاوی 1280 * 720 پیکسل یعنی 921600 پیکسل هست. اگه هر پیکسل رو با 24 بیت(3 بایت) ذخیره کنیم فقط یک فریم فیلم <strong>2700 کیلوبایت</strong> حجمش میشه. حال اگر هر ثانیه فیلم رو مثل استاندارد فیلم های امروزی 24 فریم در نظر بگیریم حجمی حدود <strong>63 مگابایت</strong> برای ذخیره سازی فقط یک ثانیه لازمه. یعنی Bitrate تصویر در این صورت میشه <strong>518400kbps</strong>. و حجم کل فیلم حدود <strong>333 گیگابایت</strong> میشه!</p><p>خب خیلی حجم زیادی شد نه. راه حل چیه؟</p><p></p><p>اولین راه حل اینه که ما بیایم خود اون فریم(تصویر) رو فشرده کنیم. مثلا با فرمت jpeg هر فریم رو ذخیره کنیم که حجم هر فریم به طور میانگین(دیگه به خاطر ماهیت روش فشرده سازی jpeg مثل حالت قبل هر فریم حجم ثابتی نداره) میشه <strong>188 کیلوبایت</strong>. که یک ثانیه 24 فریمی حجمش میشه حدود <strong>4.5 مگابایت</strong>. یعنی bitrate آن <strong>36096kbps</strong> میشود. و حجم کل فیلم میشد حدود <strong>23 گیگابایت</strong>!</p><p>خب اینبار حجم خیلی بهبود پیدا کرد ولی خب jpeg خودش باعث افت کیفیت میشه و هر فریم دیگه جزییات قبل رو به طور کامل نداره ولی کیفیت بسیار نزدیکی به حالت قبل نشون میده. اما همچنان حجم خیلی بالاست. حالا چی کار کنیم؟</p><p></p><p>به نطر کار دیگه ای از دستمون بر نمیاد و تنها راه برای فشردهتر کردن اینه که بتونیم فرمت های ذخیره سازی بهتری برای تصاویر پیدا کنیم. اما یه کار خیلی جالب میشه کرد که تقریبا اساس تمام کدک های ویدیویی هست!</p><p></p><p>این روش اساسش از یه سوال صورت می گیره: آیا نیازه ما هر فریم رو جداگانه ذخیره کنیم؟ با کمی دقت به ماهیت یک فیلم خیلی راحت میشه به این نتیجه رسید فریم ها متوالی خیلی به هم وابسته هستن و مثلا دو تا فریم پشت هم شاید فقط تو چند تا پیکسل تفاوت داشته باشن. پس ما به جای اینکه بیایم کل فریم رو ذخیره کنیم فقط تغییرات رو ذخیره می کنیم. ولی خب یه قدم جلوتر می ریم و حتی مثلا وقتی یه مربع از سمت چپ یه فریم طی چند ثانیه به سمت راست میره. میایم میگیم مثلا این مربع تو هر فریم یک سانتی متر به سمت راست حرکت کنه. خب این اساس فکر تقریبا پشت بسیاری از کدک ها قرار داره و مثلا تفاوت اصلی x265 به x264 اینه که این الگوریتم بهتر شده و مثلا یک پیکسل با پیکسل های خیلی بیشتری از همون فریم و فریم های قبل و بعدش مقایسه میشه و به صورتی ذخیره میشه که کمترین فضا رو بخواد. بعضی از بخش های الگوریتم طوری هست که همین الان هم میشه کاری کرد که تو خروجی حجم کمتری با حفظ کیفیت گرفت ولی اونوقت به قدرت پردازشی خیلی بیشتری نیاز هست که فعلا به صرفه نیست و برا همین تو کدک های سال های آینده ازش استفاده میشه.</p><p></p><p>در مورد اینکه گفتم هر فریم نسب به قبلی ها و بعضا بعدی ها ذخیره میشه. این نکته رو باید در نظر گرفت که بعد از چند فریم یک keyframe در نظر گرفته میشه. keyframe ها در واقع مثل سابق ذخیره میشن و کل فریم به طور کامل ذخیره میشه. این کار دو دلیل عمده داره.</p><p> 1- تو استریم کردن ویدیو حالا چه به صورت اینترنتی یا چه دستگاه های دیجیتال(ستاپباکس) شما یهو از وسط یه ویدیو به تماشای اون میشینید. پس شما به فریم های قبلی دسترسی ندارید که بخواید فریم های جدید رو بر اساس تغیراتشون نسبت به فریم های قبلی بازسازی کنید. پس بعد از هر چند فریم یک فریم کامل(keyframe) فرستاده میشه که بتونید فریم های بعد از اون رو بر اساسش بازسازی کنید. به همین دلیل هست که تو ستاپباکس ها که به صورت دیجیتال کار می کنن نسبت به روش انالوگ قدیمی وقتی شما کانال رو عوض می کنید اول صدا میاد و بعد چند ثانیه تصویر میاد. در واقع تصویر منتظر اولین keyframe باقی می مونه که شروع به پخش کنه. مثلا کدک bink که برای ویدیو های داخل بازی ها زیاد ازش استفاده میشه تا جای ممکن keyframe تولید نمی کنه. چون تو بازی ها فیلم ها رو قرار نیست جلو یا عقب ببرید و همیشه از یک فریم معینی شروع به پخش میشن و یه جایی تموم میشن.</p><p> 2- دلیل بعدی اینکه بعضی وقتا تفاوت دو فریم متوالی به حدی زیاده که ذخیره کردن تغییرات خودش حجم بیشتری میگیره تا اینکه فریم جدید رو کامل ذخیره کنیم. از این رو تو فیلم های اکشن و یا فیلم های که دوربین مدام در حال تغییر هست ما به keyframe بیشتری نیاز داریم. با این نکته میشه گروه های ضعیف رو شناسایی کرد که به عنوان نتیجه گیری مطلب به اون اشاره می کنم.</p><p></p><p>اگر گروهی دیدید صرف نظر از کدکی که استفاده می کنه مثلا تمامی سریالاش با مدت زمان 40 دقیقه حجم خیلی نزدیک به همی دارن یا فیلم ها اگه مدت زمانشون یکی بود باز حجم خیلی نزدیکی به هم داشتن نشون میده که گروه تنظیمات خوبی انجام نداده. مثلا یه فیلم اکشن 1 ساعته باید حجمش از یه فیلم 1 ساعته درام بیشتر باشه که کیفیتشون نزدیک به هم باقی بمونه. یا یه فیلمی مثل فیلمای تیم برتون یا انیمشین ها که طیف رنگ ها تو هر فریمش زیاده باید حجم بیشتری از یه فیلم ترسناک که بیشتر سکانس ها تاریک هستن داشته باشه.</p><p></p><p>بیشتر می شد وارد جزییات و نحوه ی الگوریتم ها شد ولی هم بحث دیگه خیلی تخصصی میشد و هم اینکه جدی خسته شدم بعد این همه مدت اینقدر تایپ کردم<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" class="smilie smilie--sprite smilie--sprite151" alt=":D" title="4 :D" loading="lazy" data-shortname=":D" /></p></blockquote><p></p>
[QUOTE="sabco, post: 4117147, member: 39563"] BitRate ویژگی خاصی نیست عملا. همونطور که گفتم یه عددی هست که از تقسیم حجم بر مدت زمان فیلم به دست میاد. کدک ها در واقع نوعی الگوریتم فشرده سازی برای ذخیره سازی هستند. بعضی کدک ها مخصوص صوت هستند و بعضی دیگر مخصوص تصویر. طبیعی هست که کدک های جدیدتر، بیشتر میتونن با حفظ کیفیت فشرده سازی رو انجام بدن و در نتیجه حجم کمتری ارائه میدن که خب این باعث میشه bitrate هم کمتر بشه. راستی الان به عکساتون تو پست اول دقت کردم و میشه از همون عکس فهمید چرا کیفیت x265 کمتره تو این مقایسه. طبق عکس بخش تصویر bitrate نسخه x265 نصف x264 نیست و 293kbps از نصف کمتره. در مورد اطلاعات من از منتشر کننده های اصلی، اتفاقا آنچنان بالا نیست اما در مورد خود کدک ها و کارکردشون کمی اطلاعات دارم که خب با این دانش بعضی از گروه های ضعیف رو میتونید شناسایی کنید. ادامهی پست رو برا کسانی می نویسم که دوست دارن با ماهیت کدک ها آشنا بشن. سعی می کنم با زبان ساده بگم و زیاد از اصطلاحات تخصصی استفاده نکنم و فقط اساس کارشون رو توضیح میدم بدون جزییات. باز هرجاش سوالی داشتید در خدمتم. همونطور که همه میدونیم یک فیلم در واقع تشکیل شده از تعداد زیادی تصویر(فریم) که به طور پشت هم نمایش داده میشه که در کنارش یک صوت هم پخش میشه. حالا بیاید با هم دیگه محاسبه کنیم اگر کدک ها نبودن حجم فقط تصاویر یه فیلم 90 دقیقه ای با رزولوشن 720 * 1280 چقدر میشد: هر تصویر(فریم) از فیلم حاوی 1280 * 720 پیکسل یعنی 921600 پیکسل هست. اگه هر پیکسل رو با 24 بیت(3 بایت) ذخیره کنیم فقط یک فریم فیلم [B]2700 کیلوبایت[/B] حجمش میشه. حال اگر هر ثانیه فیلم رو مثل استاندارد فیلم های امروزی 24 فریم در نظر بگیریم حجمی حدود [B]63 مگابایت[/B] برای ذخیره سازی فقط یک ثانیه لازمه. یعنی Bitrate تصویر در این صورت میشه [B]518400kbps[/B]. و حجم کل فیلم حدود [B]333 گیگابایت[/B] میشه! خب خیلی حجم زیادی شد نه. راه حل چیه؟ اولین راه حل اینه که ما بیایم خود اون فریم(تصویر) رو فشرده کنیم. مثلا با فرمت jpeg هر فریم رو ذخیره کنیم که حجم هر فریم به طور میانگین(دیگه به خاطر ماهیت روش فشرده سازی jpeg مثل حالت قبل هر فریم حجم ثابتی نداره) میشه [B]188 کیلوبایت[/B]. که یک ثانیه 24 فریمی حجمش میشه حدود [B]4.5 مگابایت[/B]. یعنی bitrate آن [B]36096kbps[/B] میشود. و حجم کل فیلم میشد حدود [B]23 گیگابایت[/B]! خب اینبار حجم خیلی بهبود پیدا کرد ولی خب jpeg خودش باعث افت کیفیت میشه و هر فریم دیگه جزییات قبل رو به طور کامل نداره ولی کیفیت بسیار نزدیکی به حالت قبل نشون میده. اما همچنان حجم خیلی بالاست. حالا چی کار کنیم؟ به نطر کار دیگه ای از دستمون بر نمیاد و تنها راه برای فشردهتر کردن اینه که بتونیم فرمت های ذخیره سازی بهتری برای تصاویر پیدا کنیم. اما یه کار خیلی جالب میشه کرد که تقریبا اساس تمام کدک های ویدیویی هست! این روش اساسش از یه سوال صورت می گیره: آیا نیازه ما هر فریم رو جداگانه ذخیره کنیم؟ با کمی دقت به ماهیت یک فیلم خیلی راحت میشه به این نتیجه رسید فریم ها متوالی خیلی به هم وابسته هستن و مثلا دو تا فریم پشت هم شاید فقط تو چند تا پیکسل تفاوت داشته باشن. پس ما به جای اینکه بیایم کل فریم رو ذخیره کنیم فقط تغییرات رو ذخیره می کنیم. ولی خب یه قدم جلوتر می ریم و حتی مثلا وقتی یه مربع از سمت چپ یه فریم طی چند ثانیه به سمت راست میره. میایم میگیم مثلا این مربع تو هر فریم یک سانتی متر به سمت راست حرکت کنه. خب این اساس فکر تقریبا پشت بسیاری از کدک ها قرار داره و مثلا تفاوت اصلی x265 به x264 اینه که این الگوریتم بهتر شده و مثلا یک پیکسل با پیکسل های خیلی بیشتری از همون فریم و فریم های قبل و بعدش مقایسه میشه و به صورتی ذخیره میشه که کمترین فضا رو بخواد. بعضی از بخش های الگوریتم طوری هست که همین الان هم میشه کاری کرد که تو خروجی حجم کمتری با حفظ کیفیت گرفت ولی اونوقت به قدرت پردازشی خیلی بیشتری نیاز هست که فعلا به صرفه نیست و برا همین تو کدک های سال های آینده ازش استفاده میشه. در مورد اینکه گفتم هر فریم نسب به قبلی ها و بعضا بعدی ها ذخیره میشه. این نکته رو باید در نظر گرفت که بعد از چند فریم یک keyframe در نظر گرفته میشه. keyframe ها در واقع مثل سابق ذخیره میشن و کل فریم به طور کامل ذخیره میشه. این کار دو دلیل عمده داره. 1- تو استریم کردن ویدیو حالا چه به صورت اینترنتی یا چه دستگاه های دیجیتال(ستاپباکس) شما یهو از وسط یه ویدیو به تماشای اون میشینید. پس شما به فریم های قبلی دسترسی ندارید که بخواید فریم های جدید رو بر اساس تغیراتشون نسبت به فریم های قبلی بازسازی کنید. پس بعد از هر چند فریم یک فریم کامل(keyframe) فرستاده میشه که بتونید فریم های بعد از اون رو بر اساسش بازسازی کنید. به همین دلیل هست که تو ستاپباکس ها که به صورت دیجیتال کار می کنن نسبت به روش انالوگ قدیمی وقتی شما کانال رو عوض می کنید اول صدا میاد و بعد چند ثانیه تصویر میاد. در واقع تصویر منتظر اولین keyframe باقی می مونه که شروع به پخش کنه. مثلا کدک bink که برای ویدیو های داخل بازی ها زیاد ازش استفاده میشه تا جای ممکن keyframe تولید نمی کنه. چون تو بازی ها فیلم ها رو قرار نیست جلو یا عقب ببرید و همیشه از یک فریم معینی شروع به پخش میشن و یه جایی تموم میشن. 2- دلیل بعدی اینکه بعضی وقتا تفاوت دو فریم متوالی به حدی زیاده که ذخیره کردن تغییرات خودش حجم بیشتری میگیره تا اینکه فریم جدید رو کامل ذخیره کنیم. از این رو تو فیلم های اکشن و یا فیلم های که دوربین مدام در حال تغییر هست ما به keyframe بیشتری نیاز داریم. با این نکته میشه گروه های ضعیف رو شناسایی کرد که به عنوان نتیجه گیری مطلب به اون اشاره می کنم. اگر گروهی دیدید صرف نظر از کدکی که استفاده می کنه مثلا تمامی سریالاش با مدت زمان 40 دقیقه حجم خیلی نزدیک به همی دارن یا فیلم ها اگه مدت زمانشون یکی بود باز حجم خیلی نزدیکی به هم داشتن نشون میده که گروه تنظیمات خوبی انجام نداده. مثلا یه فیلم اکشن 1 ساعته باید حجمش از یه فیلم 1 ساعته درام بیشتر باشه که کیفیتشون نزدیک به هم باقی بمونه. یا یه فیلمی مثل فیلمای تیم برتون یا انیمشین ها که طیف رنگ ها تو هر فریمش زیاده باید حجم بیشتری از یه فیلم ترسناک که بیشتر سکانس ها تاریک هستن داشته باشه. بیشتر می شد وارد جزییات و نحوه ی الگوریتم ها شد ولی هم بحث دیگه خیلی تخصصی میشد و هم اینکه جدی خسته شدم بعد این همه مدت اینقدر تایپ کردم:D [/QUOTE]
Insert quotes…
Verification
پایتخت ایران
ارسال نوشته
صفحه اصلی
انجمنها
موضوعات عمومی
سینما، گرافیک کامپیوتری (CG Art) و Comic
بررسی میزان تفاوت کیفیت تصویر در کدک X264 و X265 در حجم های متفاوت
Top
نام کاربری یا ایمیل
رمز عبور
نمایش
رمز عبور خود را فراموش کرده اید؟
مرا به خاطر بسپار
ورود
اگر میخواهی عضوی از بازی سنتر باشی
همین حالا ثبت نام کن
or ثبتنام سریع از طریق سرویسهای زیر
Twitter
Google
Microsoft