دانشجویان کامپیوتر اصفهان

وب سایت سابق(( دانشجویان کامپیوتر جهاد دانشگاهی یزد - خرم آباد ))

جزوه درس محیط های چند رسانه ایی

با عرض سلام به دوستان و هم کلاسی های فعال رشته (IT)، این هم جزوه درس محیط های چند رسانه ایی که توسط استاد آقای نوری به ما تدریس شده، امید است با این جزوه در این وبلاگ برای چه دانشجویان جدید و چه دوستان قدیمی مورد استفادتون قرار بگیرید.

مقدمه

در دنیای دیجیتال امروزه ما با انواع مختلفی از رسانه ها سر و کار داریم، مانند متن ، تصویر ، انمیشن و ....

که این عناصر در کنار یکدیگر مولتی مدیا یا چند رسانه ایی را تشکیل می دهند، و سبب تثبیت ارتباطات تعامل بهتر در مورد دیجیتالی شود در این راستا طبقه بندی هایی وجود دارد که درقالب های زیرقابل پیاده سازی می باشد:


 

1. برنامه های کاربردی 2. صفحات وب  3. صفحات چند رسانه ایی.

موضوعات کلی در زمینه طراحی و انجام کارهای چند رسانه ای مطرح هستند به شرح ذیل می باشند:

1. تشکیل تیم چند رسانه ایی 2 . تهیه ابزاری مورد نیاز ( سخت افزاری و نرم افزاری ) 3. انجام مراحل پیاده سازی و اجرا.

مالتی مدیا ( Multimedia ):

در راستای انجام پروژه های مولتی مدیا نیاز به تشکیل یک تیم می باشد که درآن می توان گفت که گروههای زیر در انجام کارهای تیم مربوطه دخالت دارند:

1. مدیر یا تهیه کننده 2. طراحان مولتی مدیا  3. برنامه نویسان  4. متخصصین صدا و تصویر

تهیه ابزارهای مورد نیاز جهت استفاده از ابزارهایی که بتوان یک برنامه مولتی مدیا را تولید کرد که این ابزارها می توان به صورت نرم افزاری و سخت افزاری باشند که بر روی صدا و تصویر ، ویدئو ، متن و .....می توان کار کرده و آنها را به صورت های مورد دلخواه تغییر داد که از جمله این ابزارها می توان به Flash و Snagit و  Multimedia Builder و ... اشاره کرد.

*اجزاء محیط های چند رسانه ایی :  

1 . اشیاء    2. صفحات     3. مقررات یا دستورات

دستورات و عملگرها به دو دسته تقسیم می شوند:

1. دستورات و عملگرهای از پیش تعیین شده       2. کدهای برنامه نویسی و اسکریپت ها

آشنایی با فرمت های فشرده سازی شده تحت وب :

فشرده سازی تصاویر از این اصل مهم پیروی می کند که چشم انسان حد فاصل دو عنصر کنار یکدیگر را یکسان دیده و تصاویر بین آنها را نمی توان تشخیص دهد و همچنین اثر نور و تصویر برای مدت زمان معینی در چشم انسان باقی مانده واز بین نمی رود و از این تکنیک در ساخت تصاویر متحرک استفاده می شود.

قالب فشرده سازی تصاویر در وب شامل سه فرمت زیر می باشد:

1 . Gif : Graphic Inter Change

2. Jpeg

 3. Png : Portable Network Graphic

فرمت Gif :

در این فرمت که غالباً در ساخت تصاویر متحرک استفاده می شود از قالب هشت بیتی استفاده می کنند .

بنابراین می توان 256 رنگ مختلف را داشت. که غالباً در ساخت تصاویر متحرک در وب از آن فرمت استفاده می شود.

فرمت Jpeg :

در این فرمت که یکی از ایده آل ترین فرمت های تحت وب می باشد از روش Lossy ( با تلفات ) جهت فشرده سازی تصاویر تحت وب استفاده می شود و دارای قالب 24 بیتی بوده، بنابراین می توان 16 میلیون رنگ مختلف را در این فرمت مورد استفاده قرار داد که البته با توجه به اینکه این روش یکی از روش هایLossy بوده و در هر بار فشرده سازی قسمتی از داده ها از دست می رود و در نتیجه حجم فایل مربوطه کم می شود و از طرف دیگر این کار باعث ایجاد Blok up و نوارهای رنگی می شود.

بنابراین سعی می شود که تا جای ممکن بیشتر از یک بار تصاویر فشرده شده با این فرمت را دوباره با همان نام ذخیره نماییم.

فرمت Png :

این فرمت از دو غالب 8 بیتی و 24 بیتی استفاده می کند، که فرمت 8 بیتی آن در تصاویری که دارای نواحی یک دست رنگ استفاده می شود که دراین فرمت جزئیاتی مانند: نقشه های ترسیم شده ، آرم ها و تصاویر مهم استفاده می شود و قابل نمایش می باشد، در فرمت 24 بیتی غالباً برای تصاویری که شدت رنگ در آنها تدریجی می باشد مورد استفاده قرار می گیرد، و در 8 بیتی از روش Loss Less ( بدون تلفات ) استفاده می شود. بنابراین می توان گفت که در این فرمت 10 تا 30 درصد نسبت به فرمت Gif فشرده تر می شود و درعین حال سایز تصاویر نیز کوچکتر می شود.

جلسه دوم :

ماتریس اسپارس : ( در فشرده سازی تصاویر ) :

ماتریس اسپارس جهت کاهش حجم داده ها استفاده می شود ،که در این ماتریس جهت فایل ها یا تصاویری که دارای فرمت های رنگی نیز می باشد قابل استفاده می باشد، و در آن  صفرها یا همان فضاها بالا استفاده و مورد توجه قرار می گیرند، در واقع فایل هایی که فضاهای بالا استفاده آنها زیادتر باشد بیشتر فشرده می شوند.

بنابراین می توان گفت که این روش در فایل های استفاده می شود که تعداد صفرهای آنها بیشتر از یک ها می باشد، و برای نمایش ماتریس اسپارس از صفر متغییر یا به عبارت دیگر یک ماتریس سه ستونه استفاده می شود، که ستون اول شماره سطر، ستون دوم شماره ستون و در ستون سوم مقدار متغییر مربوطه قرار می گیرد، بدین صورت در مصرف حافظه و فضای ذخیره شده صرفه جویی می شود.

بنابراین هر عنصر از ماتریس اسپارس به وسیله مکانش i و j و همچنین مقدارش یا Value مربوطه نمایش داده می شود

روش فشرده سازی :

روش های فشرده سازی به دو دسته با تلفات ( Lossy ) و بدون تلفات ( Loss Less ) تقسیم می شوند ،که در روش با تلفات مانند فشرده سازی صوت بخش اعظم کار تحقیقات فیزیولوژیکی می باشد، در حالی که در روش بدون تلفات تنها الگوریتم فشرده سازی اهمیت پیدا می کند.

روش هافمن:

این روش در واقع الگوریتمی است که بر این پایه استوار است که تعداد تکرار داده های درون یک فایل با هم یکسان نیستند الگوریتم هافمن جزء خانواده های الگوریتم هایی است که طول کد متغییری دارند.

به عنوان مثال رشته اطلاعاتی ذیل در صورتی که در یک کامپیوتر فشرده نشود دارای حجم 6×8 = 48 بیت خواهد بود ( هر کاراکتر شامل 8 بیت می باشد ) در صورتی که این را با الگوریتم هافمن بخواهیم فشرده کنیم در این صورت

A  C  D   A  B   A               6×8 = 48 Bit                                                    

بنابراین می توان گفت که فضای لازم جهت ذخیره سازی رشته اطلاعاتی مذکور (  A   C  D  A  B  A ) از 48 بیت ( بدون فشرده سازی ) به 11 بیت کم شده است . میتوان گفت که درصد فشرده سازی برابر خواهد بود با :

( 1-    ) × 100 =                                             

11 فضای لازم جهت ذخیره سازی ( با استفاده از الگوریتم فشرده سازی )

48 فضای لازم جهت ذخیره سازی ( بدون عمل فشرده سازی )

نکته : در روش هافمن با حروف سروکار داشته که در واقع هر حرف یک کاراکتر می باشد.

در روش هافمن می توان اطلاعات را حدوداً 20 تا 90 درصد فشرده سازی کرد که در واقع این روش برای فشرده سازی فایل های متنی مورد استفاده قرار می گیرد، و برای فشرده سازی عکس ها ممکن است که از ترکیبی از این الگوریتم ها نیز استفاده شود.

بنابراین می توان گفت که این روش یک روش بدون تلفات می باشد.

روش هافمن خود به دوروش تقسیم می شود:

1.  Aduptive Huffman Code

2. Extended Haffman Code

که در روش اول یا تطابقی از احتمالات وقوع کاراکترها استفاده می کنند، در حالی که در روش دوم دیتا دیکشنری مربوطه نیز ذخیره می شود.

مراحل الگوریتم هافمن:

1. مرتبه تکرار هر کاراکتر در متن را مشخص می کنیم ( تعداد هر کاراکتر ).

2. کاراکترها را بر اساس مراتب تکرارشان به صورت نزولی از چپ به راست می نویسیم .

3. از راست به چپ شروع به ساختن درخت هافمن کرده به گونه ایی که مجموع مراتب تکرار کمترین باشد.

4. مرحله سوم را آنقدر تکرار می کنیم تا به ریشه برسیم.

5. از چپ به راست شروع به شماره گذاری فرزندان هر Nod با 0 و 1 می کنیم به صورتی که فرزند چپ هر Nod شماره 0 و فرزند راست آن شماره 1 را داشته باشد.

6. از ریشه شماره مربوطه را برای هر کاراکتر به صورت جداگانه می نویسیم ( شمارش از سمت ریشه تا کاراکتر مربوطه می باشد).

مثال :

جمله زیر را با استفاده از روش هافمن فشرده سازی کنید و درصد فشرده سازی را بیان کنید :

Can  You  Can   a   Can  With  a Can?

جلسه سوم :

2. روش  Runlength :

این روش نیز بنا بر تعداد تکرار غیر یکسان داده ها می باشد و بدین ترتیب که داده ها تکراری که پشت سر هم می باشند را مورد استفاده قرار داده و ابتدا تکرار و بعد داده مورد نظر نوشته می شود.

مثال :                           Run Length  

AAA    BB   DDDD     ============è        3A2B4D        

 

3. روش ( LZW ) :

این روش توسط  دو دانشمند به نام های Lemple و Ziv ابداع شده است که این الگوریتم نیز بر مبنای یافتن الگوی تکراری استوار می باشد . الگوهای تکراری در فایل تکرار شده و به هر کدام یک کد نسبت داده می شود و به ازای هر الگو تنها یک کد در فایل مقصد قرار می گیرد به عنوان مثال:

Ask  Not  What  Your  Country  Can  do  For  You – Ask  What  You  Can  Do  For  Your  Country.

در این روش 61 حرف و 17 فضای خالی ویک عدد نقطه و یک عدد Dash است .

بنابراین حجم فایل مورد نظر بدون فشرده سازی 80 بایت می باشد.

دیکشنری ( بر مبنای کلمات هستن )

1کلمه Ask         دو مرتبه تکرار شده است            ـــ  اینها فاصله هستن

2 کلمه Your      دو مرتبه تکرار شده است

3 کلمه Country دو مرتبه تکرار شده است

5 کلمه Can       دو مرتبه تکرار شده است 8) = 37                                       + 29) : حجم دیکشنری

6 کلمه Do       دو مرتبه تکرار شده است                                                  کاراکتر29

7 کلمه For      دو مرتبه تکرار شده است                                                     8 فاصله

8 کلمه What   دو مرتبه تکرار شده است

بنابراین حجم دیکشنری مربوطه 37 کاراکتر خواهد داشت.

بنابراین اطلاعات فایل بالا به صورت  Ziv فشرده خواهد شد.

1  Not  8  2   3   4   5   6  7 – 1  8    7   4   5    6   2   3 ".                   "

فایل فشرده مورد نظر 38

حجم فایل فشرده شده         38 + 37 = 75

بنابراین نسبت به فشرده سازی                     درصد فشرده سازی ) × 100 =    ( 1-

نکته : در این روش فایل فشرده شده همراه دیکشنری ذخیره خواهد شد ، بنابراین دیکشنری مربوطه به حساب می آید.

1-  Ask                                       دو مرتبه تکرار شده

2What                                   دو مرتبه تکرار شده

3 You                                        دو مرتبه تکرار شده

R-Country 4                              دو مرتبه تکرار شده          

5 – Can – Do – For – You     دو مرتبه تکرار شده

بنابراین فایل مورد نظر به صورت :

             " 1    Not      2345  -  12354 ."                   = حجم دیکشنری

حجم فایل =  18

36+ 5 = 41                                حجم فایل فشرده شده  59

نسبت فشرده سازی  

                             درصد فشرده سازی ) × 100 =    ( 1- 

نکته : در روش  Ziv دیکشنری همراه فایل فشرده ذخیره می گردد، بنابراین دیکشنری نیز جزئی از فایل فشرده شده خواهد بود.

نکته 2 : روش  Ziv به دنبال یافتن الگوهای تکراری در فایل می باشد و در صورتی که الگوهای تکراری چندان زیاد نباشد فایل مورد نظر فشردگی زیادی نخواهد داشت.

یافتن الگوها در روش  Ziv یک کار زمان بر خواهد بود بنابراین هر چه تعداد الگوهای مورد نظر باعث فشردگی فایل شود الگوی بهتری خواهد بود ، یافتن بهترین الگو باعث زمان بیشتری خواهد شد که در بالا دو مورد از آن زمان شد.

جلسه چهارم :

*تا چه میزان می توان اطلاعات یک فایل را فشرده کرد؟

میزان فشردگی یک فایل یا کاهش ظرفیت یک فایل به :

1. اندازه فایل        2.  نوع فایل     3. روش فشرده سازی بستگی دارد.

1. اندازه فایل :

 اندازه فایل نشان دهنده حجم داده ها می باشد و در حجم های بزرگ احتمال وجود کلمات تکراری زیاد خواهد بود.

2. نوع فایل : در فایل های گرافیکی با توجه به این که الگوهایی در آن حاکم می باشند، نمی توان آنها را به عنوان زیادی فشرده کرد در حالی که در فایل های متنی با توجه به تعداد و تکرار کلمات یا ورودی می توان فایل های مورد نظر را حدود 50 درصد فشرده سازی را انجام می دهد.

الگوریتم فشرده سازی :

الگوریتم فشرده سازی خود نیز تعیین کننده میزان فشردگی فایل خواهد بود و اینکه چه تعداد کلمات تکراری و همچنین پیچیدگی دیکشنری مربوط که به عنوان مثال الگوریتم  Ziv در این موضوع دخالت دارد.

نکته : پس از اینکه فایل مورد نظر با الگوریتم Ziv فشرده گردید ، نتیجه حاصل فشرده سازی دوباره با الگوریتمی مانند هافمن فشرده کرد.

روش پیش گویی خطی یا Linear Predi Ction :

این روش یکی از روش های با تلفات ( Lossy ) است ، که بیشتر برای صدای انسان به کار برده می شود.

اساس این روش هنجره انسان می باشد، که با یک سری استوانه هایی با قطرهای متفاوت که دارای طول تقریباً یکسان می باشد مدل می شود. بنابراین در روش پیشگویی خطی می توان گفت که برای شبیه سازی آناتومی شبیه سازی صدای انسان از لوله هایی با قطرهای متفاوت و طول یکسان مورد استفاده قرار می گیرد.

مراحل  Linear Predietive Coding در هنجره انسان :

1. امواج صوتی توسط تارهای صوتی تولید می شود.

2. این امواج در لوله های با ضخامت متفاوت حرکت می کند.

3. در هر تغییر قطر بخشی از امواج بازگردانده می شود.

4. میزان این انعکاس توسط ضرایبی سنجیده می شود ، بنابراین امکان پذیر بوده و صدای مذکور تشخیص داده می شود.

جلسه پنجم :

واژه Mp3 :

این واژه Mp3 از اختصار کلمات  Mpeg Audio Layes گرفته شده است ، که توسط شرکت  Mpeg ralae intevoeation ارائه شده است ، که دارای فشردگی در حدود 3 برابر برای فایل ها می باشد، در واقع یکی از روش های  با تلفات (  Lossy ) جهت فشرده سازی فایل های صوتی می باشد ، در واقع هدف از این فرمت آن بود که بدون تاثیر گذاری بر کیفیت صدا آن را فشرده کند ، در این روش برای فشرده سازی از تکنیکهای به نام  Perceptual Noise Shaping استفاده می کند، که در واقع به معنای ادراک از طریق حواس پنج گانه می باشد و در واقع برای طراحی الگوریتم های Mp3 از خصوصیات گوش انسان استفاده می شود که این خصوصیات شامل:*

1. صداهایی در طبیعت وجود دارند که گوش انسان قادر به شنیدن آنها نمی باشد.

2. صداهایی در طبیعت وجود دارد که گوش انسان بهتر از سایر موجودات قادر به شنیدن آنها می باشد( 4000Hz  تا  1000 Hz ).

3. اگر دو صدا به طور همزمان پخش شوند در این صورت گوش انسان صدایی که بلندتر می باشد را می شنود، یا به عبارتی دیگر صدایی که از صدای اول بیشتر باشد.

 محدوده های صدا را به صورت زیر می توان تفکیک کرد:  

ماوراء صوت ( 200 Khz  تا   20000 Khz ) مانند خفاش.

محدوده گفتاری (  300  تا   4000 )

گوش انسان   (  1000  تا   4000 )  گوش انسان دارای حساسیت بیشتری می باشد.

در صورتی که اصول فوق رعایت شود می توان بدون اینکه صدمه ایی بر کیفیت صدا وارد شود قسمت های صدا را که گوش انسان قادر به شنیدن آنها نمی باشد را حذف کرد.

ضبط و پخش صدای دیجیتال :

*صدای آنالوگ به لحاظ ساختاری و عملکرد با صدای دیجیتال متفاوت است ، در سیستم های آنالوگ داده ها به صورت پیوسته می باشد در حالی که در سیستم های دیجیتال داده ها به صورت گسسته می باشد که برای تبدیل داده ها از سیستم های آنالوگ به دیجیتال از تراشه هایی به عنوان ADC (   Analog To Digital Converter ) استفاده می کنیم .*

*بنابراین می توان نمونه برداریی صدای مورد استفاده قرار می دهند ، که در یک فواصل زمانی مشخص این نمونه برداریی انجام می شود و بلافاصله نمونه های دریافتی که اعداد با کدهای 0 و 1 تبدیل می کند ، فرآیند تبدیل آنالوگ به عدد Quantization یا کوانتوم شدن گفته می شود، در ضمن نمونه های دریافتی که در 1 ثانیه گرفته می شود را اصطلاحاً نرخ نمونه برداری یا Samplerate گفته می شود.*

فرکانس نمونه برداری بایستی حداقل  دو برابر نرخ نمونه برداری یا فرکانس سیگنال آنالوگ باشد در عمل فرکانس نمونه برداری بیشتر از 20 Khz یعنی در محیط دیجیتال حداقل 44/1 Khz خواهد بود که برای افزایش کیفیت صدا می توان نرخ نمونه برداری معادل 48 ,96 , 192 Khz تعیین کرد.

*در هنگام پخش صدای دیجیتال فرآیندی معکوس صورت می گیرد یعنی از تراشه ای به نام DHC در

( Digital To Analog Converter  ) استفاده می کند. بنابراین صدای ضبط شده را با همان نرخ نمونه برداری به ولتاژهای الکتریکی تبدیل کرده و سپس ولتاژهای الکتریکی تولید شده برای افزایش دامنه صدا به تقویت کننده های صوتی منتقل می کند و بدین ترتیب صدا پخش می گردد.*

              Ø11ØØ→ نمونه گیری → فیلتر صوتی→ میکروفن → منبع صوتی

              بلندگو تقویت کننده صوت فیلتر صوتیADC → →Ø11ØØ

به تعداد بیت هایی که برای ذخیره هر نمونه صوتی دیجیتالی مورد استفاده قرار می گیرد در کیفیت صدا موثر است و آن را اصطلاحاً عمق بیتی یا  Bit Depth گفته می شود ، پس می توان گفت که در عامل نرخ نمونه گیری و عمق بیتی از عواملی هستند که در کیفیت صدا و اندازه فایل نقش مهمی دارند، یعنی با افزایش نرخ نمونه گیری باعث افزایش کیفیت صدا شده و همچنین اندازه فایل نیز زیاد می گیرد و هر چه عمق بیتی بالاتر باشد، تعداد کانال های صوتی بیشتری در آن استفاده شده و اندازه فایل نیز بیشتری می شود . بنابراین می توان فرمول زیر را برای اندازه فایل در نظر گرفت.

 زمان ( ثانیه ) × نرخ نمونه برداری × عمق بیتی × تعداد کانال ها = میزان فضای اشغال شده بر حسب بایت

*مثال :

فضای لازم جهت ذخیره سازی یک ساعت صدا با نرخ نمونه برداری  44 / 1 Khz  و با عمق بیتی 16 به روش استریو باید بدست آورید؟

= 2×16×44100k × 3600 = 5080320000 bit  میزان فضای اشغال شده                                                                                

    M Byte    605 =                                                    استریو دو کانال دارد 

روش Jpeg  :

این روش یک روش استاندارد می باشد و با تلفات می باشد و بر این اساس عمل می کند که چشم انسان به تغییرات سریع شدت نور کمترین حساسیت را دارد ، در این روش ابتدا داده های تصویری را به حوزه فرکانس برده و سپس فرکانس های بالا را که دارای تعداد بیت بیشتری را دارا می باشند را حذف کرده و همچنین فرکانس های پایین که دارای تعداد بیت کمتری می باشد نیز آن را حذف می کنند و نتایج را دوباره به روش هافمن فشرده می سازد.

                                                                                       پایان


نویسنده : م . رحمتی - ساعت ۱٢:٤۱ ‎ق.ظ روز دوشنبه ۱۳۸۸/٤/٢٩
نظرات ()    |   لینک ثابت    |   تگ کامپیوتر


Powered By Persianblog.ir - Designed By Payam salami pargoo