![]() |
Huffman Coding And Arithmetic Coding
سلام
می خواستم بدونم به کمک ارتمتیک و یا هافمن ، میتونم فایلی رو شامل کاراکترهای حروف انگلیسی و اعداد هستش، مثل: Asss23fg4 رو فشرده سازی کنم؟ یا اینکه فقط باید فایلم شامل کاراکتر خالی و یا اعداد تنها باشد؟ |
نقل قول:
سلام دوست من فرقی نمیکنه. در حقیقت در فشرده سازی شما با نماد ها(symbols) سروکار دارید. موفق باشید |
ممنون
آخه من یک کد ارتمتیک گرفتم، وقتی کاراکتر میدم مثل asdrfgvef فشرده میکنه و حجم کمتر میشه، اما وقتی کاراکتر و عدد رو با هم میدم بهش مثل asdfa34sd حجم رو کمتر نمیکنه و اینکه من چند جا نگاه کردم دیدم نوشته ارتمتیک کدینگ برای متن، ارتمیتک کدینگ برای اعداد، یعنی دوتا کد جدا نوشته بود، گفتم شاید هرکدومو جداگانه میتونه فشرده سازی کنه با یک روش جداگانه و نباید در یک ورودی هر دو کاراکتر حرف و عددی باشه اگه ارتمتیک یا هافمنی دارین که ورودی شامل حرف و عدد رو فشرده میکنه ،ممنون میشم برام بفرستین و اینکه آیا میدونین کدوم یکی از این دو(ارتمتیک یا هافمن) رو همچین ورودی(یعنی ورودی شامل حروف و اعداد) بهتر عمل میکنه؟ |
نقل قول:
طبق قضیه تئوری اطلاعات شانون در صورتی تنوع کاراکترها بالا باشه (احتمال رخداد پایین بیاد) بیت های بیشتری برای کدگزاری نیاز داره بنابراین فشرده سازی کمتر اتفاق میوفته. در ضمن arithmetic coding برای سمبل هایی با تعداد فرکانس پایین مناسبه به احتمال زیاد کد شما درست کار میکنه. کافیه تعداد فرکانس نماد ها رو بالا ببرید تا اثر فشرده سازی رو ببینید. موفق باشید |
سلام
فایل ورودی من پونزده ها کاراکتر منحصر به فرد داره ارتمیتیک بهتره یا هافمن؟؟ و اینکه من از این لینک دانلود کردم ارتمتیک رو Arithmetic coding and decoding for text compression in matlab | download free open source Matlab toolbox, matlab code, matlab source code اینکه میگین فرکتنسشو بالا ببرم یعنی کجا باید این تغییر رو بدم، تو کدوم قسمتش؟ |
|
سلام دوست من
بالابردن فرکانس یعنی تعداد تکرار کاراکتر های حروف الفبا رو بالا بردن. درضمن من کد شمارو تست کردم ظاهرا مشکلی نداره. در مورد بهتر بودن الگوریتم باید بگم که شما باید هر دو الگوریتم رو تست کنید و نرخ فشرده سازی رو بررسی کنید. موفق باید |
سلام بازم متوجه نمیشم تعداد تکرار کاراکتر ها رو بالا ببرین یعنی چی؟ یعنی فایل ورودی رو منظورتونو تغییر بدم، که نمیشه چون فایل ورودی رو نمیشه دست کاری کرد که. اگر منظورتون تو الگوریتم هستش که لطفا بگین کدوم قسمتو منظورتونه تو کدی که فرستادم تو پست قبلی
من ورودی رو که بهش دادم، تعداد صفر و یک هایی که تولید کرد از تعداد کاراکترهای فایل ورودیم بیشتر بود، خب اینکه فشرده سازی نمیشه که |
نقل قول:
منظورم اینه که اگر ۵ تا حرف a استفاده شده بکنیش ۱۰ تا. اون صفر و یک ها بیت های مورد استفاده هستن. یعنی هر هشت بیت یک بایت هستش. شما برای نمایش هر کاراکتر در شرایط عادی(غیر فشرده) احتیاج به یک بایت(۸ بیت) دارید. اما در این نوع نمایش بیت کمتری مورد استفاده قرار میگیره. موفق باشید |
آها
پس درست متوجه شدم، منظور شما اینه که من فایل ورودی رو تغییر بدم؟؟ خب نمیشه همچین کاری کرد که من یک فایل دارم و میخام اونو فشرده کنم، نمیتونم که اول توش دستکاری کنم و بعد فشردش کنم |
زمان محلي شما با تنظيم GMT +3.5 هم اکنون ۰۹:۰۸ قبل از ظهر ميباشد. |
Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.1.0 ©2007, Crawlability, Inc.