멀티미디어

45
1 멀멀멀멀멀 인인인인인 인인인인인인 인 인 인 mailto:[email protected] http://marvel.incheon.ac.kr/~mysung

Upload: megan-downs

Post on 03-Jan-2016

48 views

Category:

Documents


0 download

DESCRIPTION

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

TRANSCRIPT

Page 1: 멀티미디어

1

멀티미디어

인천대학교 컴퓨터공학과 성 미 영

mailto:[email protected]

http://marvel.incheon.ac.kr/~mysung

Page 2: 멀티미디어

1.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.

Page 3: 멀티미디어

1.3

수업 개요

교과목 개요 멀티미디어 정보를 컴퓨터에서 처리하는데 필요한 하드웨어 및

소프트웨어 기술 , 멀티미디어 정보 저장 방법 , 압축방법 , 동기화 방법 , 전송 방법 , 상영 방법 , 그리고 멀티미디어 프로그래밍 방법 등을 중심으로 다룬다 . 또한 멀티미디어 정보를 이용한 여러 응용 분야의 실제 시스템들의 유용성을 분석하여 새로운 시스템을 효과적으로 개발할 수 있는 능력을 기른다 .

수업 목표 멀티미디어 시스템의 개념에 대해 전반적으로 이해하고 이를 바탕으로

하여 멀티미디어 시스템을 설계할 수 있는 기초능력을 기르는 것이다 . 이를 위하여 멀티미디어 정보를 다루기 위한 컴퓨터 구조 , 운영체제 , 통신 및 멀티미디어 데이터베이스 등의 응용 분야에 필요한 기능들을 분 석 해 보 고 현 재 발 표 된 시 스 템 들 을 실 제 로 다 루 어 봄 으 로 써 멀티미디어의 개념을 깊이 있게 이해한다 . 또한 Term-Project 을 통하여 소규모 멀티미디어 시스템의 프로토타입을 구현해 보아 멀티미디어 시스템을 더욱 확실하게 이해한다 .

수업 방식 : 강의 80%, 실습 20% 학습 평가 방법 : 중간 30%, 기말 30%, 과제 10%, 세미나 10%, 출석 2

0%

Page 4: 멀티미디어

1.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. 기말 시험

Page 5: 멀티미디어

1.5

과제

수시 과제 10 분 세미나

3 월 17 일까지 주제 제출 수업 내용과 관련하여 적절한 시간에 발표

Term Project : 멀티미디어 시스템 제작 (1 인 ~ 2 인 1 작품 ) JMF 기반 멀티미디어 응용 시스템 Windows Media Technology 기반 멀티미디어 응용 시스템 MBONE 기반 멀티미디어 응용 시스템 SMIL 기반 멀티미디어 저작도구 기타

Page 6: 멀티미디어

1.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(RTP Control 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)

Page 7: 멀티미디어

1.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) 디지털 방송에 관련된 주제 게임에 관련된 주제 가상 현실에 관련된 주제 애니메이션에 관련된 주제 인식 기술에 관련 주제 기타 멀티미디어 관련 창의적인 주제 환영

Page 8: 멀티미디어

1.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.

정보 전달과 인식에 오감 ( 시각 , 청각 , 촉각 , 후각 , 미각 ) 을 최대한 활용하는 것

여러 가지 미디어 자료가 함께 어우러져 의미 있는 정보로 새롭게 탄생한 것

Page 9: 멀티미디어

1.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)

Page 10: 멀티미디어

1.10

미디어의 분류 기준1. Perception( 지각 ) Medium: 사람은 컴퓨터 환경으로부터 어떻게 정보를 지각하는가 ?

시각 미디어 : text, still image(graphics 포함 ), motion image 등청각 미디어 : music, voice, noise 등( 촉각 미디어 ) ...

2. Representation( 내부표현 ) Medium: 컴퓨터 정보는 어떻게 부호화 (coding) 되는가 ?text: ASCII나 EBCDIC 코드 문자의 sequencegraphics: CEPT나 CAPTAIN videotext standard, GKS graphic standardaudio: wave, 16bit PCM, ADPCM, MP3 ...image: bitmap, facsimile G3, JPEGcombined AV sequence: TV standard(PAL, SECAM, NTSC), MPEG1,2,4,7, AVI, …

3. Presentation( 외부표현 ) Medium : 어떠한 미디어를 통해서 정보가 컴퓨터에 입출력 되는가 ? 출력 미디어 : 종이 , 스크린 , 스피커 , HMD ... 입력 미디어 : 키보드 , 마우스 , 카메라 , 마이크

4. Storage( 저장 ) Medium: 어디에 정보가 저장되는가 ? m icrofilm, floppy disk, hard disk(RAID), CD-ROM, DVD, holographic storage, ...5. Transmission( 전송 ) Medium: 무엇을 통해서 정보가 전달되는가 ? 유선 : 전선쌍 (twisted pair), 동축 케이블 (coaxial cable), 광섬유 (optical fiber) 무선 : 공중파 , 적외선 , ...6. Information Exchange( 정보 교환 ) Medium: 상이한 지점간의 정보 교환에는 어떠한

정보 전달체계가 사용되는가 ?중간의 저장 미디어 경유전송 미디어로 직접 전송조합 (예 , e-mail)

Page 11: 멀티미디어

1.11

멀티미디어 처리 미디어의 인식 (perception)

하드웨어 통해 입력하여 컴퓨터가 인식할 수 있는 형태로 저장 디지털 입력장치 : ASCII 키보드 , MIDI 키보드 , 펜 , 이미지 스캐너 , 디지털 카메라 ,

오디오 /비디오 디지타이저 아날로그 미디어 입력장치 : 비디오 카메라 , 마이크

미디어의 표현 (representation) 컴퓨터에서의 처리 및 재생을 위하여 규약된 형식 필요 텍스트 , 그래픽 , 이미지 , 애니메이션 , 사운드 , 비디오별 다양한 표현 형식 MIME(Multipurpose Internet Mail Extensions): 인터넷 메일의 표준화 규격

7 개 주타입 : 텍스트 , 비디오 , 이미지 , 오디오 , 메시지 , 멀티파트 , 응용 hypertext/hypermedia

미디어의 재생 (presentation) 재생시에 원래의 멀티미디어의 내용이 제대로 전달되어야 함 멀티미디어 출력 소프트웨어 : 윈도우즈의 출력 그래픽 출력 모듈인 GDI 멀티미디어의 출력 장치 : 컴퓨터 모니터 , 스피커 , 프린터 , 플로터 등

미디어의 저장 (storage) 데이터의 방대함 때문에 압축 및 큰 저장 매체가 필요 : CD-ROM, DVD 등

미디어 전송 (transmission) 등 분산 응용의 특성에 따라 멀티미디어 통신 , 실시간성 요구 및 서비스 품질 (QoS) 요구 연속 미디어 전송에 시간적인 제약성 : 음성 및 영상 서비스 미디어별로 요구되는 서비스 품질이 만족되도록 망에서의 미디어별 QoS 처리 지원 및

종단 컴퓨터에서의 효율적인 처리 필요 : 텍스트와 영상 동시에 보낼 때

Page 12: 멀티미디어

1.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

Page 13: 멀티미디어

1.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)

Page 14: 멀티미디어

1.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 이후 폭발적 인기와 함께 활발한 연구가 진행 중

Page 15: 멀티미디어

1.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) 소프트웨어 발표

Page 16: 멀티미디어

1.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): 전 세계를 하나로 묶어

주는 유용한 정보의 전달 체계 통신 속도의 증가 멀티미디어는 인터넷을 축으로 발전

Page 17: 멀티미디어

1.17

멀티미디어 PC(MPC) 의 사양

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

모션 JPEGMPEG-1

MPEG-2,4 

기반 플랫폼

25 MHz 80386SX 이상2MB 이상 메모리40MB 이상의 HDD1 배속 (150KB) 이상 CD-ROM 드라이브

25 MHz 80486SX 이상4MB 이상 메모리160MB 이상의 HDD2 배속 (300KB) 이상 CD-ROM 드라이브

75 MHz Pentium 이상8MB 이상 메모리540MB 이상의 HDD4 배속 (600KB) 이상 CD-ROM 드라이브

전달 매체 1.5M 레이저디스크128MB CD-ROM

650MB CD-ROM 

500MB WORM128-500MB MO(R/W)

운영체제 MS-DOS v3.1 MS-Windows 3.1

MS-DOS 5.0 MS-Windows 3.1

MS-DOS 6.0Windows 3.1

네트워크 Ethernet(10Mbps)Token Ring(16Mbps)

FDDI(100Mbps) 

Ethernet/Token Ring(100Mbps)ATM

Page 18: 멀티미디어

1.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 등

Page 19: 멀티미디어

1.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

Page 20: 멀티미디어

1.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)

Page 21: 멀티미디어

1.21

ITU 조직도

사무국

WP 2/15( )신호처리

SG 8( )텔레마틱스

ITU-T

ITU-R

WP : Working Play SG : Study Group

ITU-D ( )개발에 관계하는 부문

WP 1/15 ( )오디오 비주얼

SG 9( TV )음향과 방송

SG 13( )네트워크

SG 15( )전송 시스템 장치

ITU SG 11( )음향방송

SG 11(TV )방송

SG 12

Page 22: 멀티미디어

1.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)

Page 23: 멀티미디어

1.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)

Page 24: 멀티미디어

1.24

CLV 와 CAV 의 구조

Sector 0

Sector 1Sector 2

Spur 0

Spur 1

Spur 2

Sector 13512

Minute/Seconds/Sector3 0 12

Sector 0

Minute/Seconds/Sector0 0 0

CAV(Hard drive)

CLV(CD-ROM)

Page 25: 멀티미디어

1.25

멀티미디어 시스템 구조 멀티미디어 시스템 Framework 분산 멀티미디어 시스템

Framework 멀티미디어 시스템 구조 : 그림 1.7 참조 멀티미디어 분산 응용 프레임워크 : 그림 1.8 참조

분산 시스템 loosely-coupled multiprocessor system 클라이언트 /서버 지원 네트워킹 시스템 하나의 통일된 시스템 긍극적인 목적 : 분산 시스템이 너트워크에 걸쳐 있는 수 많은

컴퓨터들로 구성되어 있음에도 불구하고 , 사용자는 단일의 통합된 컴퓨팅 시스템이라는 인식을 갖도록 하는 것

장점 자원 공유 (resource sharing) 자원 및 서비스 가용성 (availability) 성능 개선 결함 허용 (fault tolerant) 개선 확장성 (extensibility) 분산 조직 지원

Page 26: 멀티미디어

1.26

멀티미디어 시스템 구조

Tools and Application

DocumentProgrammingAbstraction

UserInterface

Compression

Storage Network

AudioImage

GraphicsVedio

An omation

Syn

chro

niz

atio

n

Cro

ss D

om

ain

Application Domain

System Domain

Device Domain

Computer Technology

DatabaseSystem

Communication

SystemOperating

System

Middleware

Page 27: 멀티미디어

1.27

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

Distributed Application

Real-time OS andContinuous Media Transport Services

OSF DCE with MultimediaExtentions

PersonalComputer

IntergrationOrchestration

OtherDistributed

Services(Future)

Distributed File services

Continuous Media File Services

TIME NAMING

OtherFundametal

Services(Future)

Secu

rity

Remote Procedure Calland Presentation Services

Threads

Distributed Objcet Service(Object Request Brokers,IDL, Interface Repository)

API Extentions(Time,

Stream Objcets)

OMG CORBA with MultimediaExtentions

Page 28: 멀티미디어

1.28

분산 시스템

애로 사항 여러 클라이언트로부터 서버의 서비스에 대한 동시 접근 요구 분산 시스템의 부분 고장 올바른 서버 파악 데이터 복사본 유지에 따른 일관성 (coherency)

목적 상호 개방성 (openness) 투명성 (transparency)

위치 (loation) 투명성 로그온 (logon) 투명성 복사 (replication) 투명성 접근 (access) 투명성 고장 (failure) 투명성 동시 수행 (conurrency) 투명성

상호 운용 가능성 (interoperability) 이식성 (portability)

Page 29: 멀티미디어

1.29

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

Åë½Å ä³Î

ÀÎÅÍÆäÀ̽º

Ŭ¶óÀ̾ðÆ®

ÀÎÅÍ Æä ÀÌ ½º

¼ ¹ö

ÀÎÅÍÆäÀ̽º

¼ ¹ö

Page 30: 멀티미디어

1.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) 서비스

Page 31: 멀티미디어

1.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

Page 32: 멀티미디어

1.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만

Page 33: 멀티미디어

1.33

RMI (Remote Method Invocation)

저수준 (low-level) 소켓을 이용하지 않고 원격 객체의 메소드를 호출할 수 있는 방법을 제공하는 하는 객체 지향 언어인 Java 기반의 분산 컴퓨팅 환경(클라이언트 /서버 지원 ) 을 위한 미들웨어 (RPC 와 유사 )

RPC 보다 좋은점 객체 지향적이다 . 프로그램 작성 및 사용이 쉽다 . 안전하고 보안성이 있다 . 기존 시스템과 통합해서 사용할 수 있다 .

작성 절차 원격 인터페이스를 정의한다 . 원격 인터페이스를 구현 (implement) 하는 원격 객체 ( 서버 ) 를

작성한다 . 원격 객체를 이용하는 프로그램 (클라이언트 ) 을 작성한다 . stub 와 skeleton 클래스를 생성한다 . registry 를 실행시킨다 . 서버와 클라이언트를 실행시킨다 .

Page 34: 멀티미디어

1.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)

Page 35: 멀티미디어

1.35

DCE 구조

Threads Service

Operating System and Network Services

Time Naming Other

Distributed Applications

Diskless Other distributed services

Distributed File Service

Security

Manageme

nt

RPC and presentation services

Page 36: 멀티미디어

1.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)

Page 37: 멀티미디어

1.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);

}

Page 38: 멀티미디어

1.38

CORBA 구조

Object Request Broker

응용객체

common facilities

객체 서비스

Page 39: 멀티미디어

1.39

CORBA 인터페이스 구조

DSI: Dynamic Skeletons Invocation

unmarshalling

marshalling

DII: Dynamic Invocation InterfaceIDL: Interface Definition Language

Page 40: 멀티미디어

1.40

멀티미디어 프로그래밍 구조 멀티미디어 장치가 바뀌거나 멀티미디어 응용에 요구되는 기능이 바뀌면 응용

프로그램의 변경이 많이 요구됨 -> 멀티미디어 응용 프로그래밍에 있어서 , 하드웨어와 시스템에 독립적인 인터페이스 구축 필요

객체지향설계 , 툴킷 (toolkits), 미들웨어 그림 1.14 응용 멀티미디어 프로그래밍 환경의 참조 모델 참조

장치 구동기 (Device Driver) 멀티미디어 장치의 입출력 및 제어를 담당하는 S/W 모듈로 하드웨어 (

장치 ) 에 의존적이며 , 운영체제의 하위부분 라이브러리 (Libraries)

멀티미디어 장치 구동기가 제공하는 기능을 사용하기 편리하도록 정리하고 확장하여 라이브러리 화한 인터페이스

시스템 소프트웨어 멀티미디어 처리를 위한 운영체제 기능의 확장 지원을 구현한 소프트웨어

모듈 예를 들어 , 멀티미디어 자원 관리를 위한 실시간 스케줄러 등의 기능 등을

구현한 소프트웨어 모듈 Toolkits

응용 프로그램에 보다 추상적인 레벨로 시스템에 대한 일관된 형태의 인터페이스 제공

Higher Programming Languages 객체지향 언어나 다른 멀티미디어처리를 편리하게 기술할 수 있는 고급 언어 인터페이스

Page 41: 멀티미디어

1.41

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

Multimedia Application

Libraries

General Programming Language

Higher Programming Language

Device

Device Drivers for Continuous Media

System Software

ToolKits

Middleware

Page 42: 멀티미디어

1.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)

Page 43: 멀티미디어

1.43

Unix 의 멀티미디어 지원 구조

응용

전통적 운영체제 기능 ( , ,스케쥴러 메모리 관리 ) 파일 관리 등

멀티미디어 지원 운영 체 ( 제 기능 확장 선점형 스케

, )쥴러 스트림 관리 등

사용자 주소 공간

커널 주소 공간

운영체제

실시간 운영체제

환경

비실시간 운영체제

환경

Page 44: 멀티미디어

1.44

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

Page 45: 멀티미디어

1.45

RIFF 구조