ﺑﻪ ﻧﺎم ﺧﺎﻟﻖ زﻳﺒﺎﻳﻲﻫﺎ ﭘﺮدازش وﻳﺪﻳﻮ /ﺷﺒﻜﻪ ﺳﺎزي Multimedia Systems ﺳﺎﻣﺎﻧﻪ ﻫﺎي ﭼﻨﺪ رﺳﺎﻧﻪ اﻳﻲ ﻣﻬﻠﺖ ارﺳﺎل 10 :ﺗﻴﺮﻣﺎه داﻧﺸﻜﺪه ﻣﻬﻨﺪﺳﻲ ﻛﺎﻣﭙﻴﻮﺗﺮ ﻣﺪرس :دﻛﺘﺮاﻣﻴﺮي -دﻛﺘﺮ رﺑﻴﻌﻲ در اﻳﻦ ﺗﻤﺮﻳﻦ ،اﺑﺘﺪا ﻣﺒﺎﻧﻲ ﻓﻨﺎوري وﻳﺪﻳﻮ را ﻣﻲآﻣﻮزﻳﺪ و ﺳﭙﺲ ﻓﺸﺮده ﺳﺎزي ﺗﺼﻮﻳﺮ ﻣﺘﺤﺮك ﻳﺎ وﻳﺪﺋﻮ ،ﭘﻴﮕﻴﺮي ﻣﻲﺷﻮد و ﺳﭙﺲ داﻧﺶ ﺧﻮد را در ﺷﺒﻜﻪ ﺳﺎزي ﭼﻨﺪرﺳﺎﻧﻪاي ﻣﻮرد اﺳﺘﻔﺎده ﻗﺮار ﻣﻲدﻫﻴﺪ .آﻧﭽﻪ ﻛﻪ ﺑﺎﻳﺴﺘﻲ ﺗﺤﻮﻳﻞ داده ﺷﻮد ﺷﺎﻣﻞ ﭘﺎﺳﺦ ﺳﺆالﻫﺎ ﻣﻄﺮح ﺷﺪه در ﺻﻮرت ﺗﻤﺮﻳﻦﻫﺎ )در ﻗﺎﻟﺐ ﻳﻚ ﮔﺰارش ﺑﺎ ﻓﺮﻣﺖ ،(PDFﻧﻤﻮدارﻫﺎ ،ﺷﻜﻞﻫﺎي ﺧﺮوﺟﻲ mﻓﺎﻳﻞﻫﺎ و mﻓﺎﻳﻞﻫﺎ و ﻗﺴﻤﺘﻲ از ﻓﺎﻳﻞﻫﺎي traceﻣﺮﺑﻮط ﺑﻪ آزﻣﺎﻳﺶﻫﺎﻣﻲﺑﺎﺷﺪ .ﻟﻄﻔﺎً ﺗﻤﺎﻣﻲ ﻓﺎﻳﻞﻫﺎ را ﺑﻪ ﺻﻮرت ﻳﻚ ﻓﺎﻳﻞ ﻓﺸﺮده ،ﻛﻪ ﻧﺎم آن در ﻗﺎﻟﺐ HW4,5_LastName_StudentIDﺑﺎﺷﺪ ﻛﻪ در آن ﺑﻪ ﺟﺎي LastNameﻧﺎم ﺧﺎﻧﻮادﮔﻲ ﺷﻤﺎ و ﺑﻪ ﺟﺎي StudentIDﺷﻤﺎره داﻧﺸﺠﻮﻳﻲ ﺷﻤﺎ ﻗﺮار ﻣﻲﮔﻴﺮد ،ﺑﻪ آدرس درس ﺑﻔﺮﺳﺘﻴﺪ .ﻟﻄﻔﺎً ﻋﻨﻮان emailﺧﻮد را MM-HW4,5ﻗﺮار دﻫﻴﺪ. 1 ﺳﻮالﻫﺎي اﺣﺘﻤﺎﻟﻲ در ﻣﻮرد وﻳﺪﻳﻮ را از ﻧﻴﻤﺎ ﻧﺠﻒ زاده و ﺳﻮال ﻫﺎي ﺷﺒﻜﻪ را از ﻣﻬﺮداد ﻣﺮادي ﺑﭙﺮﺳﻴﺪ. 1 ﺷﻤﺎ ﻣﻲﺗﻮاﻧﻴﺪ ﺑﺎ اﺳﺘﻔﺎده از دﺳﺘﻮر ،avireadﺗﺼﺎوﻳﺮ وﻳﺪﺋﻮﻳﻲ ﺑﻪ ﻓﺮﻣﺖ AVIرا در MATLABﺑﺎز ﻛﻨﻴﺪ .ﺗﻮﺟﻪ داﺷﺘﻪ ﺑﺎﺷﻴﺪ ﻛﻪ ﻣﺘﻠﺐ ﺗﻨﻬﺎ ﻗﺎدر ﺑﻪ ﭘﺮدازش وﻳﺪﺋﻮﻫﺎي ﻏﻴﺮﻓﺸﺮده و ﺧﺎم ﺑﻪ ﻓﺮﻣﺖ AVIاﺳﺖ .دﺳﺘﻮرات دﻳﮕﺮي ﭼﻮن avifileو frame2imو im2frame و addframeﻧﻴﺰ ﺟﻬﺖ ﭘﺮدازش وﻳﺪﺋﻮ در ﻣﺘﻠﺐ ﺑﻪ ﻛﺎر ﻣﻲروﻧﺪ. -1دﺳﺘﻮرات ﺑﺎﻻ را در ﻣﺘﻠﺐ ﻣﺮور ﻛﺮده و ﺑﺎ اﺳﺘﻔﺎده از ،HELPﺑﺎ ﮔﺰﻳﻨﻪﻫﺎي آنﻫﺎ آﺷﻨﺎ ﺷﻮﻳﺪ. -2ﻛﺪ زﻳﺮ ،ﻧﺤﻮه ﺑﻪﻛﺎرﮔﻴﺮي دﺳﺘﻮرات ﻓﻮق را در ﻣﺤﻴﻂ ﻣﺘﻠﺐ ﻧﺸﺎن ﻣﻲدﻫﺪ در اﻳﻦ ﺑﺮﻧﺎﻣﻪ ،ﻳﻚ ﻓﺎﻳﻞ وﻳﺪﺋﻮﻳﻲ در ﻣﺘﻠﺐ ﺧﻮاﻧﺪه ﺷﺪه و ﺑﺎ ﺗﻐﻴﻴﺮ اﻧﺪازه ﻓﺮﻳﻢﻫﺎي آن دوﺑﺎره در ﻣﺘﻠﺐ ذﺧﻴﺮه ﻣﻲﮔﺮدد. %***************************************/ % Example – to scale a given video to QVGA (320x240) resolution ;)' fin = input('insert input video name: ;'fout = 'out.avi ;)fileinfo = aviinfo(fin ;nframes = fileinfo.NumFrames aviobj = avifile(fout, 'compression', 'none', ;)'fps',fileinfo.FramesPerSecond for i = 1:nframes %Read frames from input video ;)mov_in = aviread(fin,i ;)im_in = frame2im(mov_in %Do processing on each frame of the video %In this example - scaling ;)[htwdch] = size(im_in ;)'im_out = imresize(im_in, [240 320], 'bilinear %Write frames to output video ;))frm = im2frame(im_out, gray(256 ;)aviobj = addframe(aviobj,frm ;end nframes%Just to display frame number %Don't forget to close output file ;)aviobj = close(aviobj ;return %***************************************/ اﻳﻦ ﻛﺪ را در ﻣﺤﻴﻂ ﻣﺘﻠﺐ اﺟﺮا ﻛﻨﻴﺪ .ﻳﻚ ﻓﻴﻠﻢ ﺑﻪ ﻓﺮﻣﺖ aviﺑﻪ ﻋﻨﻮان ورودي ﺑﻪ ﺗﺎﺑﻊ داده و ﻧﺘﻴﺠﻪ ﺣﺎﺻﻞ را ﺑﺒﻴﻨﻴﺪ .ﺑﺮاي راﺣﺘﻲ ﻣﻲ- ﺗﻮاﻧﻴﺪ از ﻓﻴﻠﻢﻫﺎي ﻗﺮار ﮔﺮﻓﺘﻪ ﺑﺮ روي ﺳﺎﻳﺖ درس اﺳﺘﻔﺎده ﻧﻤﺎﻳﻴﺪ. -3ﻳﻚ ﺑﺮﻧﺎﻣﻪ ﺑﻨﻮﻳﺴﻴﺪ و در آن 50ﻓﺮﻳﻢ اﺑﺘﺪاﻳﻲ از ﻳﻚ ﻓﻴﻠﻢ دﻟﺨﻮاه را ﺧﻮاﻧﺪه و ﺳﭙﺲ ﺑﺮ روي ﻓﺮﻳﻢﻫﺎ ﻳﻚ ﻓﻴﻠﺘﺮ medianاﻋﻤﺎل ﻛﻨﻴﺪ .ﺳﭙﺲ ﻓﺮﻳﻢﻫﺎي ﭘﺮدازش ﺷﺪه را در ﻗﺎﻟﺐ ﻳﻚ ﻓﻴﻠﻢ ﺟﺪﻳﺪ ذﺧﻴﺮه ﻧﻤﺎﻳﻴﺪ. -4ﻳﻚ ﺑﻨﻮﻳﺴﻴﺪ و در آن 50ﻓﺮﻳﻢ اﺑﺘﺪاﻳﻲ از ﻳﻚ ﻓﻴﻠﻢ را ﺧﻮاﻧﺪه و ﺳﭙﺲ ﺑﻪ اﻧﺘﻬﺎي آن ﭼﻨﺪ ﺗﺼﻮﻳﺮ دﻟﺨﻮاه اﺿﺎﻓﻪ ﻧﻤﺎﻳﻴﺪ .ﺳﭙﺲ ﺣﺎﺻﻞ اﻳﻦ ﭘﺮدازش را در ﻗﺎﻟﺐ ﻳﻚ ﻓﻴﻠﻢ ﺟﺪﻳﺪ ذﺧﻴﺮه ﻧﻤﺎﻳﻴﺪ .ﺗﻮﺟﻪ ﻛﻨﻴﺪ ﻛﻪ ﺳﺎﻳﺰ ﺗﺼﺎوﻳﺮ اﺿﺎﻓﻪ ﺷﺪه ﺑﺎﻳﺪ ﻫﻤﺎﻧﻨﺪ ﺳﺎﻳﺰ ﻓﺮﻳﻢﻫﺎي وﻳﺪﺋﻮ ﺑﺎﺷﺪ. 2 ﺗﺸﺨﻴﺺ ﻋﻮض ﺷﺪن ﺻﺤﻨﻪ در وﻳﺪﻳﻮ ﻧﻘﺶ ﻣﻬﻤﻲ در ﭘﺮدازش وﻳﺪﻳﻮ ﺑﺮ اﺳﺎس ﻣﺤﺘﻮا 2دارد در اﻳﻦ ﻗﺴﻤﺖ ﻣﺎ ﺑﻪ دﻧﺒﺎل ﻃﺮاﺣﻲ و ﭘﻴﺎده ﺳﺎزي ﻳﻜﺘﺸﺨﻴﺺ دﻫﻨﺪه ﺗﻌﻮﻳﺾ ﺻﺤﻨﻪ ﻫﺴﺘﻴﻢ ﻛﻪ ﺗﻐﻴﻴﺮاﺗﻲ ﻣﺜﻞFade ،Cutو Wipeرا ﺗﺸﺨﻴﺺ دﻫﺪ. : CUTﻳﻚ ﺗﻐﻴﻴﺮ ﻧﺎﮔﻬﺎﻧﻲ ﺻﺤﻨﻪ اﺳﺖ .ﺑﺮاي درك اﻳﻦ ﻣﻮﺿﻮع ﺑﺎ اﺳﺘﻔﺎده از cut.mpg ،mpgread.mرا ﺑﺨﻮاﻧﻴﺪ .ﻣﺸﺎﻫﺪه ﺧﻮاﻫﻴﺪ ﻛﺮد اﻧﺘﻘﺎل ﺑﻴﻦ دو ﺻﺤﻨﻪ ﺧﻴﻠﻲ ﻧﺎﮔﻬﺎﻧﻲ و ﺑﺪون ﻫﻴﭻ ﻓﺮﻳﻢ واﺳﻄﻲ اﻧﺠﺎم ﻣﻲﺷﻮد. : Dissolveﻳﻚ ﺗﺮﻛﻴﺐ ﺧﻄﻲ واﺑﺴﺘﻪ ﺑﻪ زﻣﺎن ﺑﺮاي دو ﺻﺤﻨﻪ اﺳﺖ .ﺑﺮاي درك اﻳﻦ ﻣﻮﺿﻮع ﺑﺎ اﺳﺘﻔﺎده از mpgread.mdissolve.mpgرا ﺑﺨﻮاﻧﻴﺪ. : Wipeﻳﻚ ﺻﺤﻨﻪ ﻗﺪﻳﻤﻲ ﺑﺎ ﻳﻚ اﻟﮕﻮي ﺧﺎص ﺑﻪ ﺻﺤﻨﻪ ﺑﻌﺪي ﻣﻲرود .ﺑﺮاي درك ﺑﻬﺘﺮ Wipeﺑﺎ اﺳﺘﻔﺎده از ،mpgread.m Wipe.mpgرا ﺑﺨﻮاﻧﻴﺪ. 2 Content 3 .1ﺑﺮاي ﻫﺮﻳﻚ ازﺳﻪ ﻧﻮع ﺗﻌﻮﻳﺾ ﺻﺤﻨﻪ ﻳﻚ ﺗﺎﺑﻊ ﻣﺘﻠﺐ ﺑﻨﻮﻳﺴﻴﺪ ﻛﻪ ﺗﻐﻴﻴﺮ ﺻﺤﻨﻪ را ﺗﺸﺨﻴﺺ دﻫﺪ اﻳﻦ ﺗﺸﺨﻴﺺ دﻫﻨﺪه ﺑﺎﻳﺪ ﺑﺘﻮاﻧﺪ اﻧﺪﻳﺲ ﻓﺮﻳﻤﻲ ﻛﻪ ﺗﻌﻮﻳﺾ ﺻﺤﻨﻪ در آن رخ داده را ﻣﺸﺨﺺ ﻛﻨﺪ. ﺗﺸﺨﻴﺺ دﻫﻨﺪه ﺧﻮد را روي ﻓﺎﻳﻞﻫﺎي cut.mpg , dissolve.mpg , wipe.mpgاﻋﻤﺎل ﻛﻨﻴﺪ و اﻧﺪﻳﺲ ﻓﺮﻳﻢﻫﺎﻳﻲ ﻛﻪ ﺗﻐﻴﻴﺮ ﺻﺤﻨﻪ در آن رخ ﻣﻲدﻫﺪ را ﻣﺸﺨﺺ ﻛﻨﻴﺪ .اﮔﺮ ﺗﻌﻮﻳﺾ ﺻﺤﻨﻪ ﭼﻨﺪ ﻓﺮﻳﻢ ﻃﻮل ﻛﺸﻴﺪ )ﻣﺜﻼً wipeﻣﻤﻜﻦ اﺳﺖ 10ﻓﺮﻳﻢ ﻃﻮل ﺑﻜﺸﺪ در ﺣﺎﻟﻴﻜﻪ cutﻓﻘﻂ ﻳﻚ ﻓﺮﻳﻢ ﻃﻮل ﻣﻲﻛﺸﺪ( ﺷﻤﺎ ﺑﺎﻳﺪ ﺑﺎزه اي ﻛﻪ در ﻃﻮل آن ﺑﺎزه ﺻﺤﻨﻪ ﺗﻐﻴﻴﺮ ﻣﻲﻛﻨﺪ را ﻣﺸﺨﺺ ﻛﻨﻴﺪ. .2وﻳﺪﻳﻮ cbswipe.mpgﺷﺎﻣﻞ ﭼﻨﺪﻳﻦ ﺗﻌﻮﻳﺾ ﺻﺤﻨﻪ اﺳﺖ ﺑﺎ اﺳﺘﻔﺎده از ﺳﻪ ﺗﺎﺑﻌﻲ ﻛﻪ در ﺑﺨﺶ ﻗﺒﻞ ﻧﻮﺷﺘﻴﻤﺒﺮﻧﺎﻣﻪ اي ﺑﻨﻮﻳﺴﻴﺪ ﻛﻪ ﺗﻌﻮﻳﺾ ﺻﺤﻨﻪﻫﺎ را در اﻳﻦ وﻳﺪﻳﻮ ﻣﺸﺨﺺ ﻛﻨﺪ و اﻧﺪﻳﺲ ﻓﺮﻳﻢ ﺗﻌﻮﻳﺾ ﺻﺤﻨﻪ ﻳﺎ ﺑﺎزه اي ﻛﻪ ﺗﻌﻮﻳﺾ ﺻﺤﻨﻪ در آن اﻧﺠﺎم ﻣﻲﺷﻮد را ﺑﺎزﮔﺮداﻧﺪ. MPEG-1ﺗﻮﺳﻂ ﮔﺮوه Moving Picture Expertو در اﺑﺘﺪاي دﻫﻪي 90ﺑﻪ وﺟﻮد آﻣﺪ .اﻳﻦ ﻓﺮﻣﺖ ﺷﺎﻣﻞ ﺳﻪ ﻧﻮع ﻓﺮﻳﻢ I,B,Pاﺳﺖ ﻛﻪ I-frameﺑﺪون ﺗﻮﺟﻪ ﺑﻪ ﺳﺎﻳﺮ ﻓﺮﻳﻢﻫﺎ و ﺑﻪ ﻃﻮر ﻣﺴﺘﻘﻞ ﻛﺪ ﻣﻲﺷﻮد P-frameﺑﺎ اﺳﺘﻔﺎده از ﻓﺮﻳﻢ ﻗﺒﻠﻲ و B-frameﺑﺎ اﺳﺘﻔﺎده از ﻫﺮ دو ﻓﺮﻳﻢ ﻗﺒﻞ و ﺑﻌﺪ از ﺧﻮد ﻛﺪ ﻣﻲﺷﻮد .در اﻳﻦ ﺗﻤﺮﻳﻦ ﻗﺼﺪ دارﻳﻢ ﭘﺎراﻣﺘﺮ ﻫﺎي اﺻﻠﻲ ﺗﺄﺛﻴﺮ ﮔﺬار روي ﻛﻴﻔﻴﺖ وﻳﺪﻳﻮ را ﻣﻮرد ﺑﺮرﺳﻲ ﻗﺮار دﻫﻴﻢ. ﺑﺎ ﻛﻤﻚ ﺗﺎﺑﻊmpgwrite.mﻣﻲﺗﻮان از روي ﻳﻚ دﻧﺒﺎﻟﻪ از ﺗﺼﺎوﻳﺮ ﻳﻚ ﻓﺎﻳﻞ MPEGﺗﻮﻟﻴﺪ ﻛﺮد) .اﻳﻦ ﺗﺎﺑﻊ ﺑﻪ ﻫﻤﺮاه ﺗﻤﺮﻳﻦ ﺑﻪ ﺷﻤﺎ داده ﺷﺪه اﺳﺖ( ﺷﻤﺎ ﻣﻲﺗﻮاﻧﻴﺪ ﭘﺎراﻣﺘﺮﻫﺎ را آﻧﮕﻮﻧﻪ ﻛﻪ در زﻳﺮ ﻧﺸﺎن داده ﺷﺪه اﺳﺖ ﺗﻨﻈﻴﻢ ﻛﻨﻴﺪ. MPGWRITE(M, map, 'filename', options) Encodes M in MPEG % format using the specified colormap and writes the result to the % specified file. The options argument is an optional vector of 4 % 8 or fewer options where each value has the following meaning: % 1. REPEAT: % An integer number of times to repeat the movie % (default is 1). % 2. P-SEARCH ALGORITHM: % 0 = logarithmic (fastest, default value) % 1 = subsample % 2 = exhaustive (better, but slow) % 3. B-SEARCH ALGORITHM: % 0 = simple (fastest) % 1 = cross2 (slightly slower, default value) % 2 = exhaustive (very slow) % 4. REFERENCE FRAME: % 0 = original (faster, default) % 1 = decoded (slower, but results in better quality) % 5. RANGE IN PIXELS: % An integer search radius. Default is 10. % 6. I-FRAME Q-SCALE: % An integer between 1 and 31. Default is 8. % 7. P-FRAME Q-SCALE: % An integer between 1 and 31. Default is 10. % 8. B-FRAME Q-SCALE: % An integer between 1 and 31. Default is 25. BR_Q_mpg.mاﻋﻤﺎل ﻛﻨﻴﺪ ﺗﺎ ﺑﻪ اﻫﺪاف زﻳﺮ ﺑﻪ ﻃﻮر ﺟﺪاﮔﺎﻧﻪ ﺑﺮﺳﻴﺪ اﺑﺘﺪاForeman را روي دﻧﺒﺎﻟﻪ ﺗﺼﺎوﻳﺮBR_Q_mpg.mﺗﺎﺑﻊ.1 in_filename , out_filename , mpg_optionًرا ﺑﺎز ﻛﻨﻴﺪ و ﭘﺎراﻣﺘﺮﻫﺎ را در ﻧﺰدﻳﻜﻲ ﺑﺎﻻي ﺑﺪﻧﻪ اﺳﻜﺮﻳﭙﺖ ﺗﻨﻈﻴﻢ ﻛﻨﻴﺪ ﻣﺜﻼ اﺳﺖ ﺑﺮاي ﻫﺮ ﻛﺪام از اﻫﺪاف زﻳﺮ ﻟﻴﺴﺖ ﭘﺎراﻣﺘﺮﻫﺎﻳﻲ ﻛﻪ ﺑﺮاي ﺑﺮدارmpgwrite ﻳﻚ ورودي ﺑﺮاي ﺗﺎﺑﻊmpg_optionﺑﺮدار ﭘﺎراﻣﺘﺮ اﻧﺘﺨﺎب ﻛﺮدﻳﺪ را ﻣﺸﺨﺺ ﻛﻨﻴﺪmpg_option 26dB ﺑﺎﻻﺗﺮ ازAverage PSNRاﻟﻒ 400kbps ﻛﻤﺘﺮ ازbitrate ب . ﺑﺮاي ﻧﺤﻮه ﻣﺤﺎﺳﺒﻪ ﭘﺎراﻣﺘﺮﻫﺎ اراﻳﻪ دﻫﻴﺪRule of Thumb ﻳﻚ ﻗﺎﻧﻮن ﺑﺮ ﻣﺒﻨﺎي.2 ( ﭼﻴﺴﺖ؟Quality of Service) ﻣﻨﻈﻮر از ﻛﻴﻔﻴﺖ ﺧﺪﻣﺎت-1 دارد؟1 ( ﭼﻴﺴﺖ و ﭼﻪ ﺗﻔﺎوﺗﻲ ﺑﺎ ﺗﻌﺮﻳﻒQoS experienced by the user) ﻣﻨﻈﻮر از ﻛﻴﻔﻴﺖ ﺧﺪﻣﺎت از دﻳﺪ ﻛﺎرﺑﺮ-2 ﺑﻪ ﻧﻈﺮ ﺷﻤﺎ ﻣﺰﻳﺖ ﺗﻌﺮﻳﻒ ﻛﻴﻔﻴﺖ ﺧﺪﻣﺎت از دﻳﺪ ﻛﺎرﺑﺮ ﻧﺴﺒﺖ ﺑﻪ ﺗﻌﺮﻳﻒ ﻣﻌﻤﻮل ﻛﻴﻔﻴﺖ ﺧﺪﻣﺎت ﭼﻴﺴﺖ؟-3 آﺷﻨﺎ، ﻫﺴﺘﻨﺪip ﻛﻪ دو راه ﺣﻞ ﺗﻀﻤﻴﻦ ﻛﻴﻔﻴﺖ ﺧﺪﻣﺎت ﺑﺮ روي ﺷﺒﻜﻪﻫﺎيDiffServ وIntServ ﺷﻤﺎ در درس ﺑﺎ دو روش .ﺷﺪﻳﺪ :اﻳﻦ دو روش را از ﻧﻈﺮ ﻣﻌﻴﺎرﻫﺎي زﻳﺮ ﺑﺎ ﻳﻜﺪﻳﮕﺮ ﻣﻘﺎﻳﺴﻪ ﻧﻤﺎﻳﻴﺪ 5 • ﻣﻘﻴﺎس ﭘﺬﻳﺮي)(scalability • رزرو ﻣﻨﺎﺑﻊ )(resource reservation • ﺳﻴﮕﻨﺎل دﻫﻲ )ﺑﺮﻗﺮاري اﺗﺼﺎل ،ﻧﮕﻬﺪاري اﺗﺼﺎل ،ﻗﻄﻊ اﺗﺼﺎل( • ﻗﺎﺑﻠﻴﺖ multicast • ﻗﺎﺑﻠﻴﺖ ﺗﻄﺎﺑﻖ ﺑﺎ ﭘﺮوﺗﻜﻞ IPv4 در ﺷﺒﻜﻪﻫﺎي ﺳﻴﻤﻲ ،ﺑﻪ اﺷﺘﺮاك ﮔﺬاري ﻛﺎﻧﺎل اﻧﺘﻘﺎل ﻣﻌﻤﻮﻻً ﻣﻨﺠﺮ ﺑﻪ ﺑﺮﺧﻮرد ﻣﻲﮔﺮدد و زﻣﺎنﺑﻨﺪي ) (Schedulingاﺻﻠﻲﺗﺮﻳﻦ روش ﺣﻞ ﻣﺸﻜﻞ ﺑﺮﺧﻮرد در ﺷﺒﻜﻪﻫﺎﺳﺖ .ﻫﺪف از زﻣﺎنﺑﻨﺪي ﺑﻪ اﺷﺘﺮاك ﮔﺬاري ﻣﻨﺼﻔﺎﻧﻪ ﻣﻨﺎﺑﻊ ﺑﻴﻦ ﻛﺎرﺑﺮان و ﺗﻀﻤﻴﻦ ﻛﺎراﻳﻲ اﺳﺖ .در واﻗﻊ ﻫﺮ ﺟﺎ ﻛﻪ ﺑﺤﺚ ﺑﻪ اﺷﺘﺮاك ﮔﺬاري ﻣﻨﺎﺑﻊ وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ ،ﺑﺤﺚ زﻣﺎنﺑﻨﺪي ﻧﻴﺰ ﻣﻄﺮح ﻣﻲﺷﻮد .ﻳﻜﻲ از ﻛﺎرﺑﺮدﻫﺎي زﻣﺎنﺑﻨﺪي ،در ﻣﺴﻴﺮﻳﺎبﻫﺎ و زﻣﺎﻧﻲ اﺳﺖ ﻛﻪ ﺑﺎﻓﺮﻫﺎ از ﺑﺴﺘﻪﻫﺎ ﭘﺮ ﺷﺪهاﻧﺪ و ﺑﺎﻳﺪ ﺑﻪ روﺷﻲ اﻳﻦ ﺑﺴﺘﻪﻫﺎ روي ﻛﺎﻧﺎل ارﺳﺎل ﺷﻮﻧﺪ .ﻳﻚ روش زﻣﺎنﺑﻨﺪي دو ﻛﺎر اﻧﺠﺎم ﻣﻲدﻫﺪ :ﺗﺮﺗﻴﺐ ﺑﺴﺘﻪﻫﺎ را ﺗﻌﻴﻴﻦ ﻣﻲﻛﻨﺪ و ﺻﻒﻫﺎي درﺧﻮاﺳﺖ ﺳﺮوﻳﺲ را ﻣﺪﻳﺮﻳﺖ ﻣﻲﻧﻤﺎﻳﺪ) .از ﻛﺪام ﺻﻒﻫﺎ و ﺑﻪ ﭼﻪ ﺗﺮﺗﻴﺒﻲ ﺑﺴﺘﻪ ﻓﺮﺳﺘﺎده ﺷﻮد( .ﻳﻚ زﻣﺎنﺑﻨﺪ ) (Schedulerﻣﻲﺗﻮاﻧﺪ ﭘﻬﻨﺎي ﺑﺎﻧﺪ ،ﺗﺄﺧﻴﺮ و ﻳﺎ ﺣﺘﻲ اﺗﻼف ﺑﺴﺘﻪﻫﺎ را ﺑﻴﻦ ﻛﺎرﺑﺮان ﺗﺨﺼﻴﺺ دﻫﺪ. در ﺷﻜﻞ ،1ﺳﺎﺧﺘﺎر دروﻧﻲ ﻳﻚ ﻣﺴﻴﺮﻳﺎب در ﺷﺒﻜﻪﻫﺎي ﻣﺒﺘﻨﻲ ﺑﺮ ﺗﻀﻤﻴﻦ ﻛﻴﻔﻴﺖ ﻧﻤﺎﻳﺶ داده ﺷﺪه اﺳﺖ. ﺳﺎﺧﺘﺎر ﺟﺰﺋﻲ ﻳﻚ ﻣﺴﻴﺮﻳﺎب ﺑﺎ ﻗﺎﺑﻠﻴﺖ ﺗﻀﻤﻴﻦ ﻛﻴﻔﻴﺖ ﺧﺪﻣﺎت -1در ﻣﻮرد روشﻫﺎي زﻣﺎنﺑﻨﺪي اﻧﺤﺼﺎري ) (preemptiveو ﻏﻴﺮ اﻧﺤﺼﺎري ) (non-preemptiveو ﻧﻴﺰ زﻣﺎنﺑﻨﺪيwork- conservingو non-work-conservingﺗﺤﻘﻴﻖ ﻧﻤﺎﻳﻴﺪ. -2ﺗﺎﻛﻨﻮن ،روشﻫﺎي ﻣﺨﺘﻠﻔﻲ ﺑﺮاي زﻣﺎنﺑﻨﺪي ﺗﺮاﻓﻴﻚ در ﺷﺒﻜﻪﻫﺎي ﻣﺒﺘﻨﻲ ﺑﺮ ipاراﺋﻪ ﺷﺪهاﻧﺪ .ﺳﻪ ﻣﻮرد از ﻣﻌﺮوفﺗﺮﻳﻦ اﻳﻦ روشﻫﺎ ﻛﻪ ﺑﺮاي زﻣﺎنﺑﻨﺪي ﺗﺮاﻓﻴﻚ ﺑﻲدرﻧﮓ ﻣﻨﺎﺳﺐ ﻫﺴﺘﻨﺪ را ﻧﺎم ﺑﺮده و ﺗﻮﺿﻴﺢ ﻣﺨﺘﺼﺮي از ﻫﺮ ﻳﻚ اراﺋﻪ ﻧﻤﺎﻳﻴﺪ .ﭼﻪ وﻳﮋﮔﻲ در اﻳﻦ روشﻫﺎ آنﻫﺎ را ﺑﺮاي زﻣﺎنﺑﻨﺪي ﺗﺮاﻓﻴﻚ ﺑﻲدرﻧﮓ ﻣﻨﺎﺳﺐ ﺳﺎﺧﺘﻪ اﺳﺖ؟ 6 MPLS (Multiprotocol Label Switching) -1ﭼﻴﺴﺖ؟ و ﭼﮕﻮﻧﻪ ﻣﻲﺗﻮاﻧﺪ ﺑﻪ ﺑﻬﺒﻮد ﻛﻴﻔﻴﺖ ﺧﺪﻣﺎت در ﺷﺒﻜﻪﻫﺎ ﻛﻤﻚ ﻧﻤﺎﻳﺪ؟ -2اﻳﻦ ﭘﺮوﺗﻜﻞ ﭼﻪ ﺷﺒﺎﻫﺖﻫﺎ و ﭼﻪ ﺗﻔﺎوتﻫﺎﻳﻲ ﺑﺎ روشﻫﺎي IntServو DiffServدارد؟ -3ﻛﺎرﺑﺮدﻫﺎي اﻳﻦ ﭘﺮوﺗﻜﻞ ﻛﺪاﻣﻨﺪ؟ ﺑﺮاي اﻧﺠﺎم اﻳﻦ ﺗﻤﺮﻳﻦ ،اﺑﺘﺪا ﻧﺮماﻓﺰار ،wiresharkرا از ﻟﻴﻨﻚ ] [2داﻧﻠﻮد و ﻧﺼﺐ ﻧﻤﺎﻳﻴﺪ. -1ﻓﺎﻳﻞ rtp-trace.rawرا ﻛﻪ ﻳﻚ traceاز ﻳﻚ ارﺗﺒﺎط RTPاﺳﺖ داﻧﻠﻮد ﻧﻤﺎﻳﻴﺪ. -2ﻧﺮم اﻓﺰار wiresharkرا اﺟﺮا ﻧﻤﻮده و ﻓﺎﻳﻞ traceرا در آن ﺑﺎز ﻛﻨﻴﺪ. -3ﺑﺎ اﺳﺘﻔﺎده از ﻳﻚ ﻓﻴﻠﺘﺮ ﻣﻨﺎﺳﺐ ،ﺑﺴﺘﻪﻫﺎي ﭘﺮوﺗﻜﻞ RTPرا ﻓﻴﻠﺘﺮ ﻛﺮده و ﻧﻤﺎﻳﺶ دﻫﻴﺪ. -4در ﭘﻨﺠﺮه ﻧﻤﺎﻳﺶ ﭘﺮوﺗﻜﻞﻫﺎ ،ﻓﻴﻠﺪﻫﺎي ﭘﺮوﺗﻜﻞ RTPرا ﺑﺒﻴﻨﻴﺪ. -5ﺣﺎل ﺑﺎ اﺳﺘﻔﺎده از اﺑﺰار telephonyدر ﻣﻨﻮي ﺑﺮﻧﺎﻣﻪ ،wiresharkﻣﺸﺨﺼﺎت آﻣﺎري ﻓﺎﻳﻞ traceرا اﺳﺘﺨﺮاج ﻧﻤﺎﻳﻴﺪ. ) -6اﺧﺘﻴﺎري( در ﻣﻮرد ﻫﺮ ﻳﻚ از ﺳﺘﻮنﻫﺎي ﺟﺪول آﻣﺎري ﺗﻮﺿﻴﺢ دﻫﻴﺪ. -7در اﻳﻨﺘﺮﻧﺖ ﺟﺴﺘﺠﻮ ﻛﺮده و 3ﻣﺤﺼﻮل ﺟﺮﻳﺎﻧﺴﺎزي وﻳﺪﺋﻮ و ﺻﺪا ﺑﺮ روي ﺷﺒﻜﻪ را ﭘﻴﺪا ﻛﻨﻴﺪ .در ﻣﻮرد اﻳﻦ ﻣﺤﺼﻮﻻت ﺗﺤﻘﻴﻖ ﻛﻨﻴﺪ ﻛﻪ از ﻛﺪاﻣﻴﻚ از ﭘﺮوﺗﻜﻞﻫﺎي udpﻳﺎ tcpﺟﻬﺖ ارﺳﺎل دادهﻫﺎ اﺳﺘﻔﺎده ﻣﻲﻧﻤﺎﻳﻨﺪ و ﻧﻴﺰ آﻳﺎ از ﭘﺮوﺗﻜﻞﻫﺎي RTPو RTCPاﺳﺘﻔﺎده ﻣﻲﻛﻨﻨﺪ ﻳﺎ ﺧﻴﺮ؟ ﺑﺮاي اﻧﺠﺎم اﻳﻦ ﺗﻤﺮﻳﻦ ،اﺑﺘﺪا ﻧﺮماﻓﺰار ،vlcplayerرا از ﻟﻴﻨﻚ ] [3داﻧﻠﻮد و ﻧﺼﺐ ﻧﻤﺎﻳﻴﺪ .دﻗﺖ ﻛﻨﻴﺪ ﻛﻪ ﻧﺴﺨﻪ ﻣﻨﺎﺳﺐ ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ ﺧﻮد را داﻧﻠﻮد ﻛﻨﻴﺪ .ﺑﺮاي اﻧﺠﺎم اﻳﻦ ﺗﻤﺮﻳﻦ ﺑﻪ دو ﻟﭗ ﺗﺎپ ﻣﺠﻬﺰ ﺑﻪ ﻛﺎرت ﺷﺒﻜﻪ ﺑﻲﺳﻴﻢ ﻧﻴﺎزﻣﻨﺪﻳﺪ .اﻳﻦ ﺗﻤﺮﻳﻦ را ﺑﻪ ﺻﻮرت دو ﻧﻔﺮه اﻧﺠﺎم دﻫﻴﺪ .در ﮔﺰارش ﻧﻬﺎﻳﻲ ﺧﻮد ،ﻗﺴﻤﺘﻲ از ﻓﺎﻳﻞ traceﺣﺎﺻﻞ از ﺟﺮﻳﺎﻧﺴﺎزي ﺻﺪا و وﻳﺪﺋﻮ را ﺑﻴﺎورﻳﺪ. -1اﺑﺘﺪا ﺑﻴﻦ دو راﻳﺎﻧﻪ ﻳﻚ ﺷﺒﻜﻪ ad-hocاﻳﺠﺎد ﻧﻤﺎﻳﻴﺪ. -2ﻧﺮم اﻓﺰار vlc-playerرا داﻧﻠﻮد و ﺑﺮ روي ﻫﺮ دو راﻳﺎﻧﻪ ﻧﺼﺐ ﻧﻤﺎﻳﻴﺪ. -3ﻳﻜﻲ از راﻳﺎﻧﻪﻫﺎ را ﺑﻪ ﻋﻨﻮان serverو دﻳﮕﺮي را clientدر ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ .ﻧﺮم اﻓﺰار vlc-playerرا روي ﻫﺮ دو راﻳﺎﻧﻪ اﺟﺮا ﻛﻨﻴﺪ .ﺑﺮ روي راﻳﺎﻧﻪ ،serverﻳﻚ ﻓﺎﻳﻞ وﻳﺪﺋﻮﻳﻴﺮا ﺑﻪ اﺟﺮا ﮔﺬاﺷﺘﻪ و آن را از ﻃﺮﻳﻖ ﺷﺒﻜﻪ ad-hocﺑﺮاي راﻳﺎﻧﻪ client ارﺳﺎل ﻛﻨﻴﺪ) .ﺑﺮاي آﺷﻨﺎﻳﻲ ﺑﺎ ﻧﺤﻮه ﺟﺮﻳﺎﻧﺴﺎزي وﻳﺪﺋﻮ ﺑﺮ روي اﻳﻦ ﻧﺮم اﻓﺰار از وب ﺳﺎﻳﺖ اﻳﻦ ﻧﺮم اﻓﺰار ﻛﻤﻚ ﺑﮕﻴﺮﻳﺪ( -4ﺟﺮﻳﺎﻧﺴﺎزي وﻳﺪﺋﻮ را ﺑﺮاي ﭘﺮوﺗﻜﻞﻫﺎي ﻣﺨﺘﻠﻒ rtp ،udpاﻧﺠﺎم دﻫﻴﺪ و ﻛﻴﻔﻴﺖ ﺟﺮﻳﺎﻧﺴﺎزي را ﺑﺮاي اﻳﻦ ﭘﺮوﺗﻜﻞﻫﺎ ﺑﺎ ﻳﻜﺪﻳﮕﺮ ﻣﻘﺎﻳﺴﻪ ﻧﻤﺎﻳﻴﺪ. -5ﻧﺮم اﻓﺰار wiresharkرا ﭘﻴﺶ از ﺟﺮﻳﺎﻧﺴﺎزي وﻳﺪﺋﻮ اﺟﺮا ﻧﻤﻮده و ﺗﻤﺎﻣﻲ ﺑﺴﺘﻪﻫﺎي ارﺳﺎﻟﻲ و درﻳﺎﻓﺘﻲ در ﺣﻴﻦ اﻧﺠﺎم ﺟﺮﻳﺎﻧﺴﺎزي را ﺿﺒﻂ ﻛﻨﻴﺪ. 7 -6ﻣﺮاﺣﻞ 3ﺗﺎ 5را ﺑﺮاي ﻳﻚ ﻓﺎﻳﻞ ﺻﻮﺗﻲ ﻧﻴﺰ اﻧﺠﺎم دﻫﻴﺪ .دﻗﺖ ﻛﻨﻴﺪ ﻛﻪ ﺑﺮاي ﺟﺮﻳﺎﻧﺴﺎزي از ﭘﺮوﺗﻜﻞ ﻣﻨﺎﺳﺐ اﺳﺘﻔﺎده ﻛﻨﻴﺪ. در اﻳﻦ ﺗﻤﺮﻳﻦ ،ﺑﺎﻳﺪ ﺷﺒﻜﻪ ﺳﺎده اي ﺷﺎﻣﻞ 4ﻛﺎﻣﭙﻴﻮﺗﺮ و ﻳﻚ روﺗﺮ ﻛﻪ واﺳﻂ اﻳﻦ ﻛﺎﻣﭙﻴﻮﺗﺮﻫﺎﺳﺖ را ﺷﺒﻴﻪ ﺳﺎزي ﻛﻨﻴﺪ .ﺗﻮﭘﻮﻟﻮژي ﺷﺒﻜﻪ ﻣﻮرد ﻧﻈﺮ ﺑﻪ ﺻﻮرت زﻳﺮ ﻣﻲﺑﺎﺷﺪ: ﺑﺮاي ﺳﻬﻮﻟﺖ ﻛﺎر ،در اﻳﻦ ﺗﻤﺮﻳﻦ ،ﻻزم ﻧﻴﺴﺖ ﻻﻳﻪ ﻫﺎي ﻣﺨﺘﻠﻒ ﺷﺒﻜﻪ را ﺷﺒﻴﻪ ﺳﺎزي ﻛﻨﻴﺪ و ﻓﻘﻂ ﺑﺎﻳﺪ ﻛﻼس cMessageرا tendex ﻛﻨﻴﺪ .ﺑﺪﻳﻦ ﺗﺮﺗﻴﺐ ﻛﻪ ﻫﺮ ﭘﻴﺎم ،ﺷﺎﻣﻞ ﻳﻚ ﻋﺪد از 1ﺗﺎ 4ﻛﻪ ﺷﻤﺎره ﻛﺎﻣﭙﻴﻮﺗﺮ ﻣﺒﺪأ و ﻳﻚ ﻋﺪد از 1ﺗﺎ 4ﻛﻪ ﺷﻤﺎره ﻛﺎﻣﭙﻴﻮﺗﺮ ﻣﻘﺼﺪ اﺳﺖ و ﻳﻚ رﺷﺘﻪ ﻛﻪ ﻣﺘﻦ ﭘﻴﺎم اﺳﺖ ،ﻣﻲﺑﺎﺷﺪ. ﻫﺮ ﻛﺪام از ﻛﺎﻣﭙﻴﻮﺗﺮﻫﺎﻳﻴﭙﻴﺎمﻫﺎﻳﻲ را ﺑﺎ ﻓﻮاﺻﻞ زﻣﺎﻧﻲ ) (time Interarrivalﻛﻪ ﺗﻮزﻳﻊ ﻧﻤﺎﻳﻲ ﺑﺎ ﻣﻴﺎﻧﮕﻴﻦ 5ﺛﺎﻧﻴﻪ دارﻧﺪ ،ﺑﻪ روﺗﺮ ﻣﻲﻓﺮﺳﺘﻨﺪ) .در ﻟﺤﻈﻪ ﺻﻔﺮم ،ﻫﻴﭻﻛﺲ ﻫﻴﭻ ﭘﻴﺎﻣﻲ ﻧﻤﻲﻓﺮﺳﺘﺪ( ﻣﺘﻦ اﻳﻦ ﭘﻴﺎمﻫﺎ requestﻣﻲﺑﺎﺷﺪ و ﻣﻘﺼﺪ ﻧﻴﺰ ﺑﺎ اﺣﺘﻤﺎل ﺑﺮاﺑﺮ ،ﻳﻜﻲ از 3 راس دﻳﮕﺮ اﺳﺖ. ﻫﻨﮕﺎﻣﻲ ﻛﻪ ﻳﻚ ﻛﺎﻣﭙﻴﻮﺗﺮ ﻳﻚ requestرا درﻳﺎﻓﺖ ﻣﻲﻛﻨﺪ ،ﺑﻼﻓﺎﺻﻠﻪ ﻳﻚ ﭘﻴﺎم ﺑﺎ ﻣﺘﻦ responseﺑﺎ ﻣﻘﺼﺪ ﻛﺎﻣﭙﻴﻮﺗﺮ ﻣﺒﺪأ اﻳﻦ ﭘﻴﺎم ،ﺑﻪ روﺗﺮ ﻣﻲﻓﺮﺳﺘﺪ. 8 اﻣﺎ روﺗﺮ ﻛﻪ ﺑﺎﻳﺪ ﭘﻴﺎمﻫﺎي ﻛﺎﻣﭙﻴﻮﺗﺮ ﻫﺎي دﻳﮕﺮ را درﻳﺎﻓﺖ و ﺑﻪ ﻣﻘﺼﺪي ارﺳﺎل ﻣﻲﻛﻨﺪ ،ﺗﻮان ﻣﺤﺪودي دارد و ﺑﺎ اﺣﺘﻤﺎل 10/nﭘﻴﺎمﻫﺎي درﻳﺎﻓﺘﻲ را ﻧﻤﻲﺗﻮاﻧﺪ ﺑﻪ ﻣﻘﺼﺪ ﻣﻮرد ﻧﻈﺮ ارﺳﺎل ﻛﻨﺪ و آن ﭘﻴﺎم از ﺑﻴﻦ ﻣﻲرود .ﻛﻪ ،nﺗﻌﺪاد ﭘﻴﺎمﻫﺎي درﻳﺎﻓﺘﻲ روﺗﺮ در 1ﺛﺎﻧﻴﻪ اﺧﻴﺮ ﻣﻲﺑﺎﺷﺪ. ﺷﺒﻴﻪ ﺳﺎزي اﻳﻦ ﺷﺒﻜﻪ را ﺑﺮاي 30دﻗﻴﻘﻪ اﻧﺠﺎم دﻫﻴﺪ. ﺑﺮاي ﻫﺮ ﻛﺎﻣﭙﻴﻮﺗﺮ ﻣﺤﻠﻲ ،ﻧﺴﺒﺖ ﺗﻌﺪاد responseﻫﺎي ﻛﻪ درﻳﺎﻓﺖ ﻣﻲﻛﻨﺪ ،ﺑﻪ ﺗﻌﺪاد requestﻫﺎﻳﻲ ﻛﻪ ﻣﻲﻓﺮﺳﺘﺪ را ﺣﺴﺎب ﻛﻨﻴﺪ. ﺑﺎ ﺗﺸﻜﺮ از ﺗﻤﺎﻣﻲ دوﺳﺘﺎﻧﻲ ﻛﻪ ﮔﺮوه دﺳﺘﻴﺎران را در اﻳﻦ 5ﻣﺠﻤﻮﻋﻪ از ﺗﻤﺮﻳﻦ ﻫﻤﺮاﻫﻲ ﻛﺮدﻧﺪ. ﻣﻬﺮداد ﻣﺮادي ﺑﻬﺎر ﺳﺎلِ 91ﺧﻮرﺷﻴﺪي 9
© Copyright 2025 Paperzz