화상채팅관련논문
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
해당 자료는 10페이지 까지만 미리보기를 제공합니다.
10페이지 이후부터 다운로드 후 확인할 수 있습니다.

소개글

화상채팅관련논문에 대한 보고서 자료입니다.

목차

표 및 그림목차

Ⅰ. 緖論

Ⅱ. MFC의 이해
Ⅱ-1. MFC의 Architecture

Ⅲ. 네트워크 프로그래밍 이해
Ⅲ-1. 네트워크 프로그래밍 기본개론
Ⅲ-2. 소켓 프로그래밍
Ⅲ-3. TCP/IP 프로토콜

Ⅳ. H.263 영상코덱
Ⅳ-1. H.263 알고리즘
Ⅳ-2. 비트율 제어
Ⅳ-2. 영상압축에 대한 기본적인 이론

Ⅴ. 화상채팅
Ⅴ-1. 화상채팅 응용분야
Ⅴ-2. 화상채팅 프로그램 설계
Ⅴ-3. 주요코드분석
Ⅴ-4. 실행화면

Ⅵ. 結 論

표 및 그림목차

그림 1. 도큐먼트-뷰-프레임 구조
그림 2. 기본 생성 클래스들의 상속관계
그림 3-1. TCP/IP와OSI 7 계층 프로토콜 구조의비교
그림3-2. TCP/IP 내부의 계층별 프로토콜
그림 3-3. 이더넷 프레임 구조
그림 3-4. MAC 주소 구조(48비트)
그림 3-5. IP 주소의 종류
그림 3-6. 2비트를 서브네팅 주소로 사용한 경우의 subnet mask
표 1-1. 클래스 C IP 주소에서 2비트 또는 3비트를 사용하여 서브네팅 하였을 때의 결과 비교
그림 3-7. IP 패킷 구조
그림 3-8. ARP의 동작 순서
그림 3-9. SLIP의 프레임 구조
그림 3-10. PPP 프레임 구조
그림 3-11. TCP 프로토콜 데이터 단위 (PDU)
그림 3-12. UDP 프로토콜 데이터 단위
그림 4-1. H.263 블록도
그림 4-2. TransGal의 내부구조
그림 4-3. MBEncodeGal
그림4-4. MBDecodeGal
그림 4-5. IpolGal
그림4-6. Entropy Coding
그림 4-7. 1개의 I frame과 2개의 P frame으로 이루어져 있는 경우
그림 4-8. 1개의 I frame과 5개의 P frame으로 이루어져 있는 경우
그림 4-9. 1개의 I frame과 8개의 P frame으로 이루어져 있는 경우
그림 4-10. 1개의 Iframe과 11개의 P frame으로 이루어져 있는경우 38
그림5-1. 접속 전 화면
그림 5-2. 상대방과 접속된 화면
그림 5-3. 클라이언트가 접속해 올 때 나타나는 창
그림 5-4. 화상 채팅하는 모습
그림 5-5. 영상캡쳐tap을 눌렀을 때 나타나는 창
그림 5-6. 저장되었음을 나타냄
그림 5-7. 캡쳐된 화면
그림 5-8. 채팅이 종료됨을 알려줌

본문내용

p the callback function
// OwnWriteFunction is the global function called
// during encoding to return the encoded data...
WriteByteFunction = OwnWriteFunction;
7) H.263 encode 루틴
cam에서 영상을 받아왔을 때 불려지는 함수인 void callback(IplImage* img) 함수에 구현
// For compression data must be in YUV420 format...
// Hence before compression invoke this method
ConvertRGB2YUV(176,144,(unsigned char *)pMainDlg->buf,(unsigned int *)&yuv);
// Compress the frame.....
pMainDlg->cparams.format=CPARAM_QCIF;
pMainDlg->cparams.inter = CPARAM_INTRA;
pMainDlg->cparams.Q_intra = 8;
pMainDlg->cparams.data=(unsigned int *)&yuv;
// Data in YUV format...
CompressFrame(&pMainDlg->cparams, &bits);
void OwnWriteFunction(int byte)
{
pMainDlg->buf[sendlen]=(char)byte;
sendlen++;
return;
}
8)H.263 decoder 초기화 루틴
영상데이터를 받아왔을때 수행해야 하므로 socket 클래스에서 초기화 시켰고 그러기 위해 소켓 생성자인 CConfSocket::CConfSocket()에 구현하였다.
InitH263Decoder();
9) H.263의 decode루틴
패킷(영상데이터)를 받아왔을대 호출되는 함수인 void CConfSocket::OnReceive(int nErrorCode) 에 구현
DecompressFrame((unsigned char *)data,len,(unsigned char*)img->imageData, 176*144*3);
10) 캠의 초기화
dialog 창이 처음 초기화될때 불려지는 함수인 BOOL CVideoConfDlg::OnInitDialog() 에 구현되어 있다.
int nselected = cvcamGetCamerasCount();
if(nselected==0){
::AfxMessageBox("카메라를 연결하세요");
return TRUE;
}
cvcamSetProperty(0, CVCAM_PROP_ENABLE, &nselected);
int m_Width = 176;
int m_Height = 144;
cvcamSetProperty(0, CVCAM_PROP_CALLBACK, callback);
// frame 마다 호출될 함수
VidFormat vidFmt={ m_Width, m_Height, 30.0};
cvcamSetProperty(0, CVCAM_PROP_SETFORMAT, &vidFmt);
cvcamInit( );
cvcamStart( );
11) 캠에서 받아온 영상을 출력하는 루틴
cam에서 영상을 받아왔을 때 불려지는 함수인 void callback(IplImage* img) 함수에 구현
pDC_FRAME1 = GetDlgItem(IDC_FRAME1)->GetDC();
pframe1=pDC_FRAME1->GetSafeHdc();
CvvImagecImage;
cImage.CopyOf(img);
RECT rect;
rect.top=0;
rect.left=0;
rect.right=176;
rect.bottom=144;
cImage.DrawToHDC(pframe1,&rect);
Ⅴ-4. 실행화면
프로그램을 실행시켰을 때 처음으로 보이는 화면이다.
그림5-1. 접속 전 화면
원하는 상대방의 IP주소를 써넣고, 연결tap을 누른다.
그림 5-2. 상대방과 접속된 화면
그림 5-3. 클라이언트가 접속해 올 때 나타나는 창
제일 아래창에 글을 쓰고, 보내기tap을 누르면 중간창에 나타난다.
그림 5-4. 화상 채팅하는 모습
오른쪽 위에 영상캡쳐tap을 누르면 그 순간 영상이 캡쳐되어 원하는 위치에 저장할 수 있다.
그림 5-5. 영상캡쳐tap을 눌렀을 때 나타나는 창
원하는 위치를 선택하여 저장했을 때 나타나는 창이다.
그림 5-6. 저장되었음을 나타냄
캡쳐된 화면은 BMP로 저장된다. 저장된 화면은 이렇다.
그림 5-7. 캡쳐된 화면
접속을 끊었을 때 나타나는 창이다.
그림 5-8. 채팅이 종료됨을 알려줌
Ⅵ. 結 論
본 논문에서는 Visual C++를 이용하여 화상과 데이터가 함께 전송되는 화상채팅 프로그램을 구현하여 보았다. OpenCV라는 기존과 차별화된 라이브러리를 사용함으로 구현의 편리성을 더욱 높였으며, h. 263영상압축 코덱을 사용함으로써 더욱 깔끔한 영상 전송이 가능하게 하였다.
이 프로그램은 또한 캡처 기능을 추가하여 상대방과 채팅 시에 원하는 순간 언제든지 캡처할 수 있게 하였으며 이것은 사용자의 욕구에 따라 사용할 수 있다는 점에서 장점이라고 할 수 있다.
參考文獻
[1] Michael J. Donahoo, Kenneth L. Calvert, "The Pocket Guide to TCP/IP Sockets"
Scitech, 2001.
[2] 권혜윤, “리눅스와 윈도우 기반의 TCP/IP 소켓 프로그래밍”, 대림, 2006.
[3] 황재정, “디지털 영상공학”, 아진, 1999.
[4] 윤성우, “TCP/IP 소켓 프로그래밍”, 프리렉, 2002.
[5] 서진택, “윈도우 프로그래머를 위한 MFC 구조와 원리”, 한빛 미디어, 2005.
[6] 신화선, “윈도우 프로그래밍 Visual C++ MFC Programming”, 한빛 미디어, 2003.
[7] 김지관, “멀티미디어 통신 네트워크”, 나남출판, 2000.
[8] 강동중, “Visual C++을 이용한 디지털 영상처리”, 사이텍 미디어, 2003.
[9] 전자신문
  • 가격2,000
  • 페이지수58페이지
  • 등록일2007.11.24
  • 저작시기2007.11
  • 파일형식한글(hwp)
  • 자료번호#438289
본 자료는 최근 2주간 다운받은 회원이 없습니다.
  • 편집
  • 내용
  • 가격
청소해
다운로드 장바구니