با سلام به همگی
خوب دوستان در مورد فشرده سازی نظر خودشون دادن من تازه وارد این سایت شدم . و اما در مورد فشرده سازی لازم چند نکته رو بدونیم هر چند همه استادنند . الگوریتم های زیادی در فشرده سازی کاربرد دارند و نکته مهم تو کاربردشون هست . یکی برای عکس ، فایل ویدئو ، صدا و... پس اولین قدم انتخاب نوع الگوریتم هست . یادمون باشه الگوریتم فشرده سازی ویدئو توی صدا و یا دیتای خام شاید جواب مفی هم بده .اول نوع داده و ماهیت اون رو مشخص کنید و بعد در موردش بحث کنید . من نظر کاملا متفاوتی رو در خصوص فشرده سازی دیتا دارام . اینجا منظورم همون 0و1 هست . اول بر میگرده به حافظه های در دسترس ما و ساختار داخلی اونها به نظر من این حافظه ها از توانایی فشرده سازی و عمل عکس اون در سرعت های بالا برخوردار نیستند در واقع نمی تونند باشند و این بر میگرده به نوع آدرس دهی در آنها هر جند در چند سال اخیر رشد قابل ملاحظه ای در این خصوص از خود نشان داده اند .مورد دیگه مربوط به رابط های حافظه با پردازنده و نحوه تبادل دیتا با اون هست که خودش موضع مفصلی هست. و اینکه ایا امکان فشرده سازی با ضریب بالا وجود داره ؟چند سالی هست دارند روش کار می کنند شاید این رو یکی از انقلاب هادر دنیای دیجیتال به حساب آورد . برای نزدیک شدن به موضوع اشاره ای به دستورات اسمبلی در arm رو دارم arm یک پردازنده 32 بیتی هست ولی برای کاهش مصرف در حافظه و کدهای تولیدی دستورات 16 بیتی به نام thumb داره و حالا این چی هست باشه برای بعد. در واقع با یک دستور 16 بیتی در فظای 32 بیتی همون کار مشابه دستور 32 بیتی در پردازنده های دیگه رو انجام میده . پس این فشرده سازی ممکنه فقط باید دید چی رو از دست میدیم روشی که مد نظر من هست فشرده سازی با سرعت بالا و نحوه ذخیره و بازیابی در حافظه ها است . تو یه پروژه مجبور شدم برم دنبالش و چند تا طراحی رو انجام بدم . نکته اینه که الگوریت هایی که من روشون کار میکنم کامپیوتر های معمولی به سختی می تونند با سرعت بالا اون اجرا کنند و خیلی کندند و یا اصلا نمی تونند انجام بدند. زبان برنامه نویسی برای این الگوریت ++c و اسمبلی هست . امکان فشرده سازی تا 16 برابر در این الگوریت وجود داره و اینم بگم هر چی داده هامون بیشتر باشند امکان فشرده سازی اون بیشتر هست نکته خیلی مهم کاهش شدید سرعت در فشرده سازی با افزایش ضریب و اندازه بسته های دیتا از معایب این الگوریتم هست بنابر این با توجه به سخت افزار در دسترس این گزینه تنظیم می گردد . اشاره می کنم این روش ارتباط مستقیم با نوع حافظه ای که استفاده میشه داره . بعد کلی تلاش میشه گفت در صورتی که از حافظه های بافر چند کاناله (منظورم تعداد باس دیتا و آدرس ، دسترسی چند کاناله به دیتای درون اون هست) بشه ساخت با سرعت خیلی زیاد میشه این کار رو انجام داد، البته به بسته دیتا و سطح فشرده سازی بستگی داره. سرعت 1/20 کلاک رو میتونه بده . ساده بگم فرض کنید یه توپ دارین داخل توپ دیتا هست و سطح خارجی توپ رو آدرس ها شامل میشوند. و قطر کره ،اگه از هر وجه به اون نگاه کنید بی نی نهایت قطر دارین و بی نهایت مرکز قطر که همون مرکز کره هم هست خب بقیش هم باشه برای وقتی که کامل شد . و در نهایت بگم قراره یه چیپ طراحی بشه که دارای یه همچین بافری هست که بین حافظه ها و پردازنده قرار میگیره و با سرعت خیلی زیاد دیتا رو zip,unzip میکنه . مثلا اگه شما یه فلش با ظرفیت 8 گیگ و با سرعت تبادل 60M/S داشته باشین بدون اینکه متوجه بشین تا 4 برابر حجم اون رو کاهش میده . البته بزرگترین ضعف این روش قیمت تمام شده هست در بسیاری از موارد از قیمت خود حافظه هم تجاوز میکنه . تا 4 برابر قابلیت پیاده سازی در کامپیوتر های امروزی رو داره . شاید در آینده این الگوریتم مستقیما روی cpu ویا چیپ ست های مادر بورد پیاده سازی بشه . این الگوریتم در انتقال دیتا خیلی بیشتر از یه ذخیره سازی رو حافظه می ارزه . در حال حاظر این الگوریتم فقط در مورد حافظه ها قابل اجر است چون باید به فایل های بزرگ دیتا دسترسی داشته باشه . مدل ساده شده آن در nandflash ها با سرعت متوسط کاربرد داره و شاید دراینده بخشی از این حافظه ها رو به خودش اختصاص بده [IMG]file:///C:\Users\allah\AppData\Local\Temp\msohtmlclip1\01\ clip_image001.gif[/IMG]موفق باشین . اگه ساخته شد خبرتون میکنم