1 / 45

멀티미디어

멀티미디어. 인천대학교 컴퓨터공학과 성 미 영 mailto:mysung@incheon.ac.kr http://marvel.incheon.ac.kr/~mysung. 교재 및 참고서적. 교재 최신 멀티미디어 개론, 임철수, 이종배, 정선태 공저, 도서출판 그린, 2000. 참고서적

megan-downs
Download Presentation

멀티미디어

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 멀티미디어 인천대학교 컴퓨터공학과 성 미 영 mailto:mysung@incheon.ac.kr http://marvel.incheon.ac.kr/~mysung

  2. 교재 및 참고서적 • 교재 • 최신 멀티미디어 개론, 임철수, 이종배, 정선태 공저, 도서출판 그린, 2000. • 참고서적 • 멀티미디어 전산, 통신 및 응용(Multimedia: Computing, Communication & applications), Ralf Steinmetz and Klara Nahrstedt 원저, 송병호 역, 도서출판 아진, 1999. • Networked Multimedia Systems, S.V. Raghavan, Satish K. Tripathi, Prentice-Hall, 1998. • ACM Press, Proceedings on the ACM Multimedia 99, 1999. • IEEE Computer Society, Proceedings on the IEEE Multimedia Systems '99, 1999.

  3. 수업 개요 • 교과목 개요 멀티미디어 정보를 컴퓨터에서 처리하는데 필요한 하드웨어 및 소프트웨어 기술, 멀티미디어 정보 저장 방법, 압축방법, 동기화 방법, 전송 방법, 상영 방법, 그리고 멀티미디어 프로그래밍 방법 등을 중심으로 다룬다. 또한 멀티미디어 정보를 이용한 여러 응용 분야의 실제 시스템들의 유용성을 분석하여 새로운 시스템을 효과적으로 개발할 수 있는 능력을 기른다. • 수업 목표 멀티미디어 시스템의 개념에 대해 전반적으로 이해하고 이를 바탕으로 하여 멀티미디어 시스템을 설계할 수 있는 기초능력을 기르는 것이다. 이를 위하여 멀티미디어 정보를 다루기 위한 컴퓨터 구조, 운영체제, 통신 및 멀티미디어 데이터베이스 등의 응용 분야에 필요한 기능들을 분석해 보고 현재 발표된 시스템들을 실제로 다루어 봄으로써 멀티미디어의 개념을 깊이 있게 이해한다. 또한 Term-Project을 통하여 소규모 멀티미디어 시스템의 프로토타입을 구현해 보아 멀티미디어 시스템을 더욱 확실하게 이해한다. • 수업 방식: 강의 80%, 실습 20% • 학습 평가 방법: 중간 30%, 기말 30%, 과제 10%, 세미나 10%, 출석 20%

  4. 수업 내용 1. 멀티미디어 기본 개념 2. 이미지 및 그래픽 3. 오디오 4. 비디오와 애니메이션 5. 멀티미디어 응용 실습 (Flash, Authorware, SMIL 등) 6. 멀티미디어 데이터의 압축 및 복원 7. 멀티미디어 시스템 개발 기술 이해 및 실습 (JMF, Windows Media Technology 등) 8. 중간 시험 9. MPEG 10. 멀티미디어 운영체제 11. 멀티미디어 파일 시스템 12. 멀티미디어 통신 13. 하이퍼텍스트와 WWW 14. 멀티미디어 응용 서비스 15. Term Project 발표 16. 기말 시험

  5. 과제 • 수시 과제 • 10분 세미나 • 3월17일까지 주제 제출 • 수업 내용과 관련하여 적절한 시간에 발표 • Term Project : 멀티미디어 시스템 제작 (1인 ~ 2인 1작품) • JMF 기반 멀티미디어 응용 시스템 • Windows Media Technology 기반 멀티미디어 응용 시스템 • MBONE 기반 멀티미디어 응용 시스템 • SMIL 기반 멀티미디어 저작도구 • 기타

  6. 세미나 주제 • Flash • Authorware • SMIL (Synchronized Multimedia Integration Language) • DHTML (Dynamic HyperText Markup Language) • XHTML (eXtensible HyperText Markup Language) • VRML (Virtual Reality Management Language) • CODEC (JPEG; Joint Photographic Experts Group, MPEG; Motion Picture Experts Group 등) • 실시간 프로토콜 RTP (Real-time Transfer Protocol), RTCP(RTPControl Protocol), RTSP(Real-time Stream Protocol) • 멀티미디어 이동통신 IMT (International Mobile Telecommunication)-2000 • MP3 (MPEG Audio Layer-3) • MS Windows Media Technology • JMF (Java Media Framework) • PHP (Personal Home Page Tools -> Professional Hypertext Preprocessor) • UMS (Unified Message System) • Plug-in Program • Open Group의 DCE (Distributed Computing Environment) • OMG (Object Management Group)의 CORBA (Common Object Request Broker Architecture) with Multimedia Extensions • Sun Microsystems의 RMI (Remote Method Invocation) • MS의 DCOM (Distributed COmponent architecture Model)

  7. 세미나 주제 • Spatial audio, 3D sound, computer music (e.g., MIDI) • 3D graphics: OpenGL and VRML (Virtual Reality Modeling Language) • DAVIC (Digital Audio-Visual Council) • FIPA (Foundation for Intelligent Physical Agents) • IETF (The Internet Engineering Task Force): Audio/Video Transport and Resource Reservation Setup Protocol (RSVP) • IMTC (International Multimedia Teleconferencing Consortium) • Multimedia Databases (e.g., content-based retrieval of images) • VOD (Video On Demand) • 디지털 방송에 관련된 주제 • 게임에 관련된 주제 • 가상 현실에 관련된 주제 • 애니메이션에 관련된 주제 • 인식 기술에 관련 주제 • 기타 멀티미디어 관련 창의적인 주제 환영

  8. 멀티미디어란? • 디지털 정보를 적절한 방법으로 사용자에게 전달할 수 있는, 적어도 하나 이상의 연속 미디어와 이산 미디어 가 통합된 것 애니메이션 텍스트 사운드 이미지 비디오 그래픽 • Multimedia means an integration of continuous media (e.g., audio, video) and discrete media (e.g., text, graphics, images) through which the digital information can be conveyed to the user in an appropriate way. • 정보 전달과 인식에 오감(시각, 청각, 촉각, 후각, 미각)을 최대한 활용하는 것 • 여러 가지 미디어 자료가 함께 어우러져 의미 있는 정보로 새롭게 탄생한 것

  9. 멀티미디어란? • 멀티미디어의 특징 • 대용량 (the volume) • 동기화 (synchronization) • 멀티미디어 응용의 2 유형 • On-demand (stored) : persistent • Live : non-persistent • 멀티미디어의 실제 • 연속 미디어를 포함한 두 가지 이상의 매체를 사용 • 대화 기능 (interactivity): 사용자의 의사 반영 • 데이터는 디지털 형태: 컴퓨터에서 데이터를 처리, 분석, 표현 위해 • 미디어의 분류 • 획득 미디어 (captured media) .vs. 합성 미디어 (synthesized media) • 연속 미디어(continuous media) .vs. 이산 미디어 (discrete media) • 공간기반 미디어 (space-based media) .vs. 시간기반 미디어 (time-based media)

  10. 미디어의 분류 기준 1.Perception(지각) Medium: 사람은 컴퓨터 환경으로부터 어떻게 정보를 지각하는가? 시각 미디어: text, still image(graphics 포함), motion image 등 청각 미디어: music, voice, noise 등 (촉각 미디어) ... 2. Representation(내부표현) Medium: 컴퓨터 정보는 어떻게 부호화(coding) 되는가? text: ASCII나 EBCDIC 코드 문자의 sequence graphics: CEPT나 CAPTAIN videotext standard, GKS graphic standard audio: wave, 16bit PCM, ADPCM, MP3 ... image: bitmap, facsimile G3, JPEG combined AV sequence: TV standard(PAL, SECAM, NTSC), MPEG1,2,4,7, AVI, … 3. Presentation(외부표현) Medium : 어떠한 미디어를 통해서 정보가 컴퓨터에 입출력 되는가? 출력 미디어: 종이, 스크린, 스피커, HMD ... 입력 미디어: 키보드, 마우스, 카메라, 마이크 4. Storage(저장) Medium: 어디에 정보가 저장되는가? microfilm, floppy disk, hard disk(RAID), CD-ROM, DVD, holographicstorage, ... 5. Transmission(전송) Medium: 무엇을 통해서 정보가 전달되는가? • 유선:전선쌍(twisted pair), 동축 케이블(coaxial cable), 광섬유(optical fiber) • 무선: 공중파, 적외선, ... 6. Information Exchange(정보 교환) Medium: 상이한 지점간의 정보 교환에는 어떠한 정보 전달체계가 사용되는가? 중간의 저장 미디어 경유 전송 미디어로 직접 전송 조합(예, e-mail)

  11. 멀티미디어 처리 • 미디어의 인식(perception) • 하드웨어 통해 입력하여 컴퓨터가 인식할 수 있는 형태로 저장 • 디지털 입력장치:ASCII 키보드, MIDI 키보드, 펜, 이미지 스캐너, 디지털 카메라, 오디오/비디오 디지타이저 • 아날로그 미디어 입력장치: 비디오 카메라, 마이크 • 미디어의 표현(representation) • 컴퓨터에서의 처리 및 재생을 위하여규약된 형식 필요 • 텍스트, 그래픽, 이미지, 애니메이션, 사운드, 비디오별 다양한 표현 형식 • MIME(Multipurpose Internet Mail Extensions): 인터넷 메일의 표준화 규격 • 7개 주타입: 텍스트, 비디오, 이미지, 오디오, 메시지, 멀티파트, 응용 • hypertext/hypermedia • 미디어의 재생(presentation) • 재생시에 원래의 멀티미디어의 내용이 제대로 전달되어야 함 • 멀티미디어 출력 소프트웨어: 윈도우즈의 출력 그래픽 출력 모듈인 GDI • 멀티미디어의 출력 장치: 컴퓨터 모니터, 스피커, 프린터, 플로터 등 • 미디어의 저장(storage) • 데이터의 방대함 때문에 압축 및 큰 저장 매체가 필요:CD-ROM, DVD 등 • 미디어 전송(transmission) 등 • 분산 응용의 특성에 따라 멀티미디어 통신, 실시간성 요구 및 서비스 품질(QoS)요구 • 연속 미디어 전송에 시간적인 제약성: 음성 및 영상 서비스 • 미디어별로 요구되는 서비스 품질이 만족되도록 망에서의 미디어별 QoS 처리 지원 및 종단 컴퓨터에서의 효율적인 처리 필요: 텍스트와 영상 동시에 보낼 때

  12. 멀티미디어 처리를 위한 기술적 요구 사항 • 처리해야 할 데이터 양이 방대 • 1분 비디오: 360x240(pixels/frame)x3(bytes/pixel)x18(frames/sec)x60(sec)==~280MBytes • 음성: 64Kbps(전화품질) ~ 768Kbps(digital audio tape 모노 품질) • 동영상: 100Mbytes(보통 TV 품질) ~ 1.2Gbps(HDTV 품질) • 다양한 미디어들의 동기화(synchronization)가 필요 • 공간 및 시간 동기화(spatio-temporal synchronization) • 미디어내 동기화(intra-media synxhronization) 및 미디어간 동가화(inter-media synchronization) • 각 미디어별로 다른 QoS(Quality of Service) 충족 요구 • 실시간 처리의 요구: 낮은 전송지연(delay) 및 변화(jitter), H/W 지원 및 S/W 지원 필요 • 복잡해진 표준화에 대한 요구 • 응용에 따른 다양한 대역폭 요구: 미디어별로 낮은 전송지연, 낮은 지터, 미디어간 동기 필요 • 멀티파티(multiparty) 요구:1-to-1, 1-to-many, many-to-many

  13. 멀티미디어 관련 하드웨어 • 처리 장치: 그래픽 카드, 사운드 카드, 비디오 처리 보드, DVI(Digital Video Interactive) 보드 등 • 캡쳐 장치: 스캐너, 디지털 카메라, 비디오 카메라, 마이크 등 • 출력 장치: 컴퓨터 모니터, 스피터, 프린터, 플로터 등 • 저장 장치: CD-ROM (CD-DA, CD-ROM, CD-I. CD-ROM/XA), DVD (Digital Video Disk), RAID (Redundant Arrays of Inexpensive Disks) disk array, Optical Disk Library 등 • USB (Universal Serial Bus): 12Mbps, PnP(Plug and Play) • IEEE1394 High Performance Serial Bus: 400Mbps, PnPs • 멀티미디어 프로세서: MMX(Intel), MPact/6000 (Chromatic), MediaProcessor (MicroUnity System Engineering)

  14. 멀티미디어의 발전 ~ • 1945 Vannevar Bush , Memex(Memory Extension) • 1965 Ted Nelson , Hypertext라는 말 • 1968 Doug Engelbart, NLS • 1960말 Ted Nelson , Andries Van Dam, IBM 360 기반 하이퍼텍스트 시스템 • 1967 Nicholas Negroponte, Architecture Machine Group의 SMDS (Spatial Data Management System) http://www.media.mit.edu/~nicholas/ • 1970말 Andy Lippman, Robert Mohl, Aspen Project • 1985 Nicholas Negrofonte, MIT Media Lab. http://www.media.mit.edu • 이후 폭발적 인기와 함께 활발한 연구가 진행 중

  15. 멀티미디어의 발전 ~ • 광 저장 매체의 등장 • 1980 필립스사와 소니사 광저장 디스크 CD-DA(Compact Disk-Digital Audio) • 1982 필립스사와 소니사 CD 플레이어 • 1985 CD-ROM(Read Only Memory) CD-ROM XA(Extended Architecture) CD-I(Interactive) • 최근 GB급 디지털 비디오 디스크 (DVD : Digital Video Disk) • 영상 압축 기술의 발전 • 한시간 비디오 데이터를 CD-ROM 한장에 기록하려면 백분의 일 압축 필요 • JPEG(Joint Photographic Experts Group): 사진 압축 국제 표준안 • MPEG(Moving Picture Experts Group): 비디오 압축 국제 표준안 • 1991 애플사 소프트웨어만으로 비디오를 볼 수 있는 QuickTime을 운영 체제에 포함 • 마이크로소프트사 VFW(Video for Windows) 소프트웨어 발표

  16. 멀티미디어의 발전 • 멀티미디어 PC(MPC)의 성장 • 1990 표준 규격의 멀티미디어 PC 등장 • 1세대 MPC: 1991 산업체 콘소시엄 멀티미디어 PC 마케팅 위원회(Multimedia PC Marketing Council : MPMC)가 마이크로소프트사의 윈도우즈를 중심 멀티미디어 PC 사양 정의 • 2세대 ~: IMA(Interactive Multimedia Association) • 인터넷의 활성화 • 1991년까지만 해도 컴퓨터와 통신을 통합한 응용이 구체화되지 못했다 • HTML(HyperText Markup Language): 유럽 공동 입자 연구소(CERN)의 팀 버너스 리)가 개발한 표준 문서 형식 • WWW(World Wide Web): HTML 표준 문서 형식을 사용하여 서로 연결된 정보 시스템 웹(Web) • 1993 일리노이의 슈퍼컴퓨팅 센터의 Mosaic 프로그램: graphical web browser • 정보 고속도로 (information superhighway): 전 세계를 하나로 묶어 주는 유용한 정보의 전달 체계 • 통신 속도의 증가 • 멀티미디어는 인터넷을 축으로 발전

  17. 1 세대MPC (1989 ~ 1991) 2 세대MPC (1992 ~ 1994) 3 세대MPC (1995 ~ 1996) 미디어 (오디오/ 비디오) 8bit DAC/ADC 선형PCM 샘플링 640x480 해상도/16색 애니메이션 16bit DAC/ADC 선형PCM 샘플링 640x480 해상도/65536색 비디오 15 프레임 16bit DAC/ADC 선형PCM 샘플링 1280x768 해상도/65536색 비디오 30 프레임 저작기능 하이퍼텍스트 하이퍼미디어 객체지향멀티미디어 겍체지향멀티미디어와운영체제의통합 비디오 압축기술 DCT 변환 JPEG 모션JPEG MPEG-1 MPEG-2,4 기반 플랫폼 25 MHz 80386SX 이상 2MB 이상메모리 40MB 이상의HDD 1배속(150KB) 이상 CD-ROM 드라이브 25 MHz 80486SX 이상 4MB 이상메모리 160MB 이상의HDD 2배속(300KB) 이상 CD-ROM 드라이브 75 MHz Pentium 이상 8MB 이상메모리 540MB 이상의HDD 4배속(600KB) 이상 CD-ROM 드라이브 전달매체 1.5M 레이저디스크 128MB CD-ROM 650MB CD-ROM 500MB WORM 128-500MB MO(R/W) 운영체제 MS-DOS v3.1 MS-Windows 3.1 MS-DOS 5.0 MS-Windows 3.1 MS-DOS 6.0 Windows 3.1 네트워크 Ethernet(10Mbps) Token Ring(16Mbps) FDDI(100Mbps) Ethernet/Token Ring (100Mbps) ATM 멀티미디어 PC(MPC)의 사양

  18. 비시간 미디어 타입(Nontemporal Media Types) • 텍스트/문서 • unformatted text, plain text: ASCII, Unicode • formatted text, rich text:구조 기술(TeX, HTML, SGML, XML), 페이지 기술(PostScript) • 무손실 압축: run-length coding, Huffman coding(Unix bzip2), LZW(Lemoel-Ziv-Welch)(Unix gzip) • 파일 형식: TXT, DOC, LST, TEX, PS 등 • S/W: vi, emacs, 아래아 한글, MS Word, LaTeX, Fontographer, Font Studio, Omnipage, Perceive, Speed Reader • 이미지 • 비트맵 방식 • 가로 세로로 동일한 간격의 격자(grid)로 구분하여 여러 개의 점으로 표시 • 나누어진 점 하나가 픽셀(pixel), 컴퓨터 스크린의 해상도는 픽셀의 개수로 정의 • 색상의 점차적인 변화를 표현하는 데 유리 • 사진이나 사실적인 그림을 표현하는 데 적합 • 파일 형식: BMP, GIF, JPG, TIFF, PCX, TGA 등 • 그래픽 • 벡터 방식 • 선의 종류, 도형의 종류, 위치, 특성을 수학적으로 모델화 • 크기 조절, 회전, 선의 굵기, 색상 등의 특성을 변경시키는 연산 수행 가능 • 임의의 배수로 확대하거나 축소하여도 그 형태를 그대로 유지 • 구조정보(semantic content) 포함 • 파일 형식: DXF, NAPLS, IGES, WMF • S/W: Paint Brush, MacPaint, Corel Draw, Micrografx, Designer, Photoshop, PhotoStyler 등

  19. 시간 미디어 타입(Temporal Media Types) • 사운드/오디오 • 음성 (voice 또는 speech), 음악, 음향 • 디지털 음성, CD-Audio, MIDI(Musical Instrument Digital Interface) • 컴퓨터안 음성 표현방식 • 미디(MIDI: Music Instrument Digital Interface): 인간의 사고방식에 가까운 개념적인 표현방식 • 음파: 기계의 입출력 방식에 가까운 표현방식 • 파일 형식: SND, WAV, AIF, MID, MP2, MP3 • S/W: QuickRecorder, AudioShop, WaveStudio, Cakework(MIDI Sequencer) • 비디오 및 애니메이션 • 최종 결과물에 소리를 포함 • 비디오와 소리의 특성이 다르므로 다른 방식으로 기록 • 재생할 때 동기화(매체간에 재생 시간을 맞추는 것) 필요 • 비디오: 디지털 이미지 프레임 세트: 적어도 초당 24 프레임 ~ 30 프레임 • 비디오 파일 형식: AVI, QuickTime, MPEG • 애니메이션: 여러 장의 정지화상을 연속적으로 재생, 최소한 초당 15 프레임 이상 • 프레임(frame) 기반 • 스프라이트(sprite, 조각 그림) 기반 • 애니메이션 파일 형식: MMM, FLI, FLC, FLX, QuickTime • S/W: Flash, AnimatorPro, VideoEditor, Premiere, QuickTime, Video for Windows

  20. 멀티미디어 데이터 표준의 이해 • 법적 표준(de jure) • 국제 표준 기관: ITU, ISO, IEC • 국가 표준 기관: KS(한국), ANSI(미국), BSI(영국), AFNOR(프랑스), DIN(독일) • 민간 사업체의 조직체: ATM Forum, OSF, OMG • 학술 단체: IEEE • 업계 표준(de facto): IBM PC 표준 등 • ITU(International Telecommunication Union) • ITU-T: Telecommunication, CCITT • ITU-R: Radiocommunication • 7개 SG(Study Group) • ISO(International Standard Organization) • 200여 TC(Technical Committee), SC(Sub Committee), WG(Working Group) • ISO/IEC(International Electrotechnical Commission) JTC(Joint Technical Committee)1 • 멀티미디어 부호화(coding) 표준화 • 인터넷 관련 조직 IAB(Internet Architecture Board) • ARPANET(Advanced Research Projects Agency Network)이 전신 • RFC(Request For Comments) • IRTF(Internet Research Task Force)와 IETF(Internet Engineering Task Force)

  21. ITU 조직도

  22. 멀티미디어 표준 • 멀티미디어 부호화 표준: 표 1.1 참조 • 문서의 표준화 • SGML(Standard Generalized Markup Language) • HTML(HyperText Markup Language) • SMDL(Standard Music Description Language) • ODA(Open Document Architecture) • MHEG(Multimedia Hypermedia Expert Group) • HyTime(Hypermedia/Time-based structuring language) • SMIL(Synchronized Multimedia Integration Language) • XHTML(eXtensible HTML) • XML(eXtensible Markup Language)

  23. 멀티미디어 저장매체 CD의 이해 • CD(Compact Disk) • 600MB • laser 이용 • 나선형 트랙(spiral track): HD 보다 느림 • CLV(Constant Linear Velocity)로 회전: (Cf.) HDD: CAV(Constant Angular Velocity) • 포맷 • 물리적 포맷: 저수준 데이터 구성, SONY Yellow Book • 논리적 포맷: 파일 포맷 및 디렉토리 구조 정의, ISO 9660(High Sierra) • CD-DA(CD Digital Audio) • CD-ROM(Read Only Memory) • CD-ROM/XA(Extensible Architecture) • CD-I(Interactive) • Photo CD • Video CD • CD-R(Recordable) • DVD(Digital Video Disc/Digital Versatile Disc)

  24. CLV와 CAV의 구조

  25. 멀티미디어 시스템 구조 • 멀티미디어 시스템 Framework  분산 멀티미디어 시스템 Framework • 멀티미디어 시스템 구조: 그림 1.7 참조 • 멀티미디어 분산 응용 프레임워크: 그림 1.8 참조 • 분산 시스템 • loosely-coupled multiprocessor system • 클라이언트/서버 지원 네트워킹 시스템  하나의 통일된 시스템 • 긍극적인 목적: 분산 시스템이 너트워크에 걸쳐 있는 수 많은 컴퓨터들로 구성되어 있음에도 불구하고, 사용자는 단일의 통합된 컴퓨팅 시스템이라는 인식을 갖도록 하는 것 • 장점 • 자원 공유(resource sharing) • 자원 및 서비스 가용성(availability) • 성능 개선 • 결함 허용(fault tolerant) 개선 • 확장성(extensibility) • 분산 조직 지원

  26. 멀티미디어 시스템 구조

  27. 멀티미디어 분산 응용 프레임워크 모델

  28. 분산 시스템 • 애로 사항 • 여러 클라이언트로부터 서버의 서비스에 대한 동시 접근 요구 • 분산 시스템의 부분 고장 • 올바른 서버 파악 • 데이터 복사본 유지에 따른 일관성(coherency) • 목적 • 상호 개방성(openness) • 투명성(transparency) • 위치(loation) 투명성 • 로그온(logon) 투명성 • 복사(replication) 투명성 • 접근(access) 투명성 • 고장(failure) 투명성 • 동시 수행(conurrency) 투명성 • 상호 운용 가능성(interoperability) • 이식성(portability)

  29. 분산 시스템의 클라이언트/서버 프로그램 환경

  30. 분산 컴퓨팅 환경을 위한 미들웨어 • Middleware • OSF(Open software Foundation, 지금은 Open Group, http://www.opengroup.org)의 DCE(Distributed Computing Environment: RPC(Remote Procedure Call) 기반 • OMG(Object Management Group, http://www.omg.org)의 CORBA(Common Object Request Broker Architecture) with Multimedia Extensions: heterogeneous client and server applications, 객체지향 기반 • MS의 DCOM(Distributed COmponent Architecture Model) • Sun Microsystems의 RMI(Remote Method Invocation): native Java technology • 제공 서비스 • 통신 서비스 • 네이밍(naming) 서비스 • 보안(security) 서비스

  31. RPC (Remote Procedure Call) • 한 호스트의 클라이언트 프로시주어가 원격에 있는 서버 호스트의 프로시주어를 호출할 수 있게 하는 가장 일반적인 클라이언트/서버 지원 기법 • 구조화가 잘된 고수준 (high-level) 메시지 통신 (소켓 통신은 저수준 패킷 스트림 전송) • Sun의 NFS (Network File System) 구현에 유용하게 이용됨 • rpcbind (전신은 portmapper)가 port number 111로 서비스 (/etc/services 의 sunrpc 참조) • Sun RPC가 가장 많이 이용됨 • 역사 • 1981 RPC 기반 Xerox Courier • 1985 Sun RPC package: ONC(Open Network Computing) RPC, XDR(eXternal Data Representation) • TCP 또는 UDP 상에서 동작하는 socket API들로 구현 • 공개 소스 RPCSRC 1990 초 TLI (Transport Layer Interface):XTI(X/Open Transport Interface)의 전신  공개 소스 TI (Transport Independent)-RPC • 1980 중반: RPC 기반 Apollo NCA(Network Computing Architecture) RPC, NIDL(Network Interface Definition Language) • 1989 DCE(Distributed Computing Environment) RPC

  32. DFS & NFS • DFS(Distributed File System): 네트워크를 통해 자신의 컴퓨터에 있는 것처럼 공유될 수 있는 원격 파일 시스템 • NFS(Network File System): SunOS 5.x • RFS(Remote File System): AT&T Unix (domain 개념 지원하여 그룹별 공유 가능) • NFS 관리 • be exported(or be shared) = 파일 시스템이 원격 마운팅(remote mounting)으로 이용 가능하게 되었다는 뜻 • 서버 호스트 • SunOS 등 BSD 계열: /etc/exports (예) /usr -access = natasha:rocky, root=natasha • Solaris: /etc/dfs/dfstab에 share명령 삽입하고 재부팅 또는 셸 명령으로 share 실행하고 /usr/lib/nfs/nfsd와 /usr/lib/nfs/mountd 실행 (예) share -F nfs -o rw=mysung:isis, root=mysung /usr/FTP/pub (루트만 접근) • 클라이언트 호스트 • SunOS 등 BSD 계열: /etc/fstab (예) boris:/export/exec/sun4 /usr nfs r0 0 0 • Solaris: /etc/vfstab에 mount 정보 기록하고 재부팅 (예) mysung:/myshare mysung:/myshare /mnt nfs 1 yes - 또는 셸 명령으로 mount 실행 (예) % mount -F nfs mysung:/myshare /mnt • dfstab 편집, share, vfstab 편집, mount, umount는 root만

  33. RMI (Remote Method Invocation) • 저수준(low-level) 소켓을 이용하지 않고 원격 객체의 메소드를 호출할 수 있는 방법을 제공하는 하는 객체 지향 언어인 Java 기반의 분산 컴퓨팅 환경(클라이언트/서버 지원)을 위한 미들웨어(RPC와 유사) • RPC 보다 좋은점 • 객체 지향적이다. • 프로그램 작성 및 사용이 쉽다. • 안전하고 보안성이 있다. • 기존 시스템과 통합해서 사용할 수 있다. • 작성 절차 • 원격 인터페이스를 정의한다. • 원격 인터페이스를 구현(implement)하는 원격객체(서버)를 작성한다. • 원격 객체를 이용하는 프로그램(클라이언트)을 작성한다. • stub와 skeleton 클래스를 생성한다. • registry를 실행시킨다. • 서버와 클라이언트를 실행시킨다.

  34. DCE(Distributed Computing Environment) • RPC(Remote Procedure Call) 기반 고전적 클라이언트/서버 환경 지원하는 미들웨어 • 사실상 분산 프로그래밍 환경을 제공하는 일련의 서비스 • 전체 구조: 그림 1.10 참조 • 기본 서비스 • 스레드 서비스(thread service) • Remote Procedure Call(RPC): IDL(Interface Definition Language)로 명세 기술 • 보안 서비스(security service) • 디렉토리 서비스(directory service) • 분산 타임 서비스(distributed time service) • 데이터 공유 서비스 • 분산 파일 서비스(Distributed File Service: DFS) • 디스크 없는 시스템 지원(diskless support)

  35. DCE 구조

  36. CORBA(Common Object Request Broker Architecture) • 분산 개체들의 상호 연동을 제공하여 객체지향 클라이언트/서버 환경 지원하는 국제적인 미들웨어 업계 표준 • 분산 객체: 객체가 제공하는 기능을 분산 환경에서, 운영체제, 프로그래밍 언어, 컴퓨터 H/W 에 상관없이 이용할 수 있고, 이 객체가 제공하는 기능을 상속을 통해 계승 발전시켜 그 기능을 확장할 수 있게 지원한 것 • CORBA 구성 요소 (그림 1.12 참조) • ORB(Object Request Broker): 각 객체가 서로 연동할 수 있도록 지원하는 분산 객체 버스 • 응용 객체(Application Object): 각 응용 객체는 제공하고자 하는 서비스를 메소드 형태로 구현, CORBA IDL(Interface Definition Language)로 인터페이스 명세 기술 • 객체 서비스(Object Service): 각 분산 응용에 필요한 시스템적 기능을 따로 개발하지 않고 가져다 쓸 수 있도록 IDL 규정 인터페이스로 포장한 시스템 수준 서비스의 집합, 네이밍 서비스, 트레이딩 서비스, 이벤트 서비스, 보안 서비스, 동시제어 서비스, 트랜잭션 서비스 • 객체 공동 기능(Object Common Facility): 응용 객체에 대한 객체 서비스의 사용을 직접적으로 제공하는 IDL로 정의된 프레임워크의 집합 • Inter-ORB • GIOP(General Inter-ORB Protocol) • IIOP(Internet Inter-ORB Protocol) • 클라이언트에는 스터브(stub), 서버에는 스켈레톤(skeleton)

  37. IDL (interface Definition Language) • IDL(interface Definition Language) • 구현 객체가 제공할 인터페이스를 정의하기 위해 사용하는 언어 • 어떤 언어에도 종속되지 않은 독립적이고 중성적인 언어 • IDL compiler는 IDL 파일을 각각의 언어로 매핑 시켜줌 • VisiBroker(또는 Orbix) for C++: IDL을 C++로 매핑 • Visibroker(또는 Orbix) for Java: IDL을 Java로 매핑 • IDL 명세 예 Interface exmpl1 { Long op1 (in long arg1); Interface exmpl2:exmp1 { Void op2 (inout int arg2); }

  38. CORBA 구조

  39. CORBA 인터페이스 구조 DII: Dynamic Invocation Interface IDL: Interface Definition Language DSI: Dynamic Skeletons Invocation unmarshalling marshalling

  40. 멀티미디어 프로그래밍 구조 • 멀티미디어 장치가 바뀌거나멀티미디어 응용에 요구되는 기능이 바뀌면 응용 프로그램의 변경이 많이 요구됨 -> 멀티미디어 응용 프로그래밍에 있어서, 하드웨어와 시스템에 독립적인 인터페이스 구축 필요 • 객체지향설계, 툴킷(toolkits), 미들웨어 • 그림 1.14 응용 멀티미디어 프로그래밍 환경의 참조 모델 참조 • 장치 구동기(Device Driver) • 멀티미디어 장치의 입출력 및 제어를 담당하는 S/W 모듈로 하드웨어(장치)에 의존적이며, 운영체제의 하위부분 • 라이브러리(Libraries) • 멀티미디어 장치 구동기가 제공하는 기능을 사용하기 편리하도록 정리하고 확장하여 라이브러리 화한 인터페이스 • 시스템 소프트웨어 • 멀티미디어 처리를 위한 운영체제 기능의 확장 지원을 구현한 소프트웨어 모듈 • 예를 들어, 멀티미디어 자원 관리를 위한 실시간 스케줄러 등의 기능 등을 구현한 소프트웨어 모듈 • Toolkits • 응용 프로그램에 보다 추상적인 레벨로 시스템에 대한 일관된 형태의 인터페이스 제공 • Higher Programming Languages • 객체지향 언어나다른 멀티미디어처리를 편리하게 기술할 수 있는 고급 언어 인터페이스

  41. 멀티미디어 응용 프로그래밍 환경

  42. 운영체제의 멀티미디어 지원 구조 • Unix 기반 시스템의 멀티미디어 지원 구조: 그림 1.15 참조 • Threads • SMP(Symmetric Multiprocessing) • Real-time scheduling • QuikTime의 멀티미디어 지원 구조: 그림 1.16 참조 • Movie toolbox • Component manager • Image compression manager • 윈도우의 멀티미디어 지원 구조: 그림 1.17 • MCI(Media Control Interface) • low-level API(Application Programming Interface): RIFF I/O, 저수준 오디오 API, 저수준 비디오 API(Video for Windows) • RIFF(Resource Interchange File Format), WAVE, AVI, RMID(MIDI format)

  43. Unix의 멀티미디어 지원 구조

  44. 윈도우즈 멀티미디어 서비스 구조

  45. RIFF 구조

More Related