고양이의 둥지 (256) 썸네일형 리스트형 G.711 코덱 정보 및 소스 (Encoding & Decoding) G.711은 오디오 인코딩을 위한 코덱(codec)표준 중 하나이며 협대역(narrow-band) 오디오 코덱이다. 원래 전화에서 사용하기 위해 디자인 되었으며, PCM (Pulse Code Modulation, 펄스 부호 변조)이 공식명칭이다. ITU-T에서 1972년에 표준을 만들었다. https://www.itu.int/ITU-T/recommendations/related_ps.aspx?id_prod=911 300-3400Hz 범위의 오디오 신호를 통과시키면서 그것들을 8000Hz로 샘플링한다. μ-law와 A-law 라 불리는 두 종류의 로그 압축 알고리즘 중 하나를 사용한다. 압축된 각 샘플은 8비트로 양자화되어, 최종적으로는 64kbit/s라는 비트전송률(bit rate)이 된다. 또한 G.7.. 동기화 소켓 vs 비동기화 소켓, 사용시 각각의 장단점 // 동기화와 비동기화 소켓 사용시 유의 사항에 가까울지도 동기화 소켓의 경우는 한쪽이 write이면 다른 한쪽은 read로서 다른 일하지말고 read대에만 신경 집중해야 합니다. 그래서 write하는 곳에서 자료를 다 보낼때까지 read하는 쪽은 다 받을때까지 Block(다음 구문으로 넘어가지 않음) 되어 있어야하죠. 클라이언트 측에서는 다 받을때까지 기다리고 난후 다음 일을 하면되겠지만, 서버측에서는 read에만 집중할 수 없고 다른 일을 해야합니다. 즉 다른 요청에 대해서 Listen도 해야하고, 기타 다른 처리도 해야겠지요. 이런 이유로 서버측에서는 Forking(자기 자신을 복제함)을 하든가 Threading을 하던가해서 현재의 일을 하나의 Thread(Forking의 경우는 Process)에게.. 개발자들이 Windows 8 에 대해 알아야 할 10가지 정보 이번 Windows 8 은 모든 것을 새롭게 다시 상상했다고 할 만큼 많은 것이 바뀌었지요. 관심을 가지고 지켜보더라도 중요한 정보들을 놓치기가 쉬울 것 같아요. 그래서 개발자들이 꼭 알아야 할 10가지 정보를 정리해 봤습니다. 1. 마이크로소프트는 작년 9월 //Build 개발자컨퍼런스에서 Windows 8 Developer Preview를 공개하였다. 누구나 Windows 개발자 센터 사이트(http://dev.windows.com)에서 지금 바로 다운로드하여 설치할 수 있다. 개발툴이 포함되어 있어서 앱 개발을 시작해볼 수도 있다. 오는 2월 말에 베타 버전이 출시될 예정이다. 2. Windows 8 에서는 Windows 7 응용프로그램들을 실행 할 수 있으며, 평상시에도 더 적은 메모리와 프로세스.. 자료조사(9) - RTP Packet Payload Type 본 포스팅은 이번 프로젝트에서 사용하는 RTP 패킷에 대한 자료조사 덧붙임이다. RTP 패킷의 헤더에는 데이터 형식을 지정하는 PT(Payload Type) 필드가 있다. 8비트가 할당되므로 0~255 까지의 숫자로 표현된다. 이번 프로젝트에서는 PCMA ( G.711 코덱 ) 형식의 음성 데이터를 주고 받는데, 해당 PT 번호는 8번이다. 아래는 몇가지의 PT번호를 나타내는 표이며 출처에 표기한 사이트에서 발췌하였다. 출처 : http://www.packetizer.com/in/q9.html The information in this article applies to: H.323, H.225.0, H.245, RTP (RFC 3550) If there is a static payload type def.. [우분투] Ubuntu에 Mysql 설치 Ubuntu에 Mysql 설치 1. 우분투에서는 다음과 같이 입력하면 mysql 에 관련된 패키지를 검색하게 됩니다. $sudo apt-cache search mysql 그중에서 필요한걸 골라서 설치하면 됩니다. (mysql 서버 데몬을 설치하는 경우 바로 2번 부터) 2. mysql 서버 설치 $sudo apt-get install mysql-server 3. mysql 클라이언트 설치 $sudo apt-get install mysql-client 4. mysql 서버 설치 직후 UTF-8 설정을 해줍니다. 해주지 않을 경우 latin1 로 character encoding 이 자동 설정되는데, 이걸 그대로 두면, 한글 처리할때 난관이 찾아올것입니다. my.cnf 파일을 편집하기 위해 vi에디터로 해당.. [영상처리] Mean-Shift 와 CAMshift 알고리즘 Mean-Shift 와 CAMShift 알고리즘 많은 사람들이 이들 두 알고리즘이 색상 특징값을 기반으로 한다고 알고 있지만, 사실 이것들은 관심영역의 모든 특징값의 분포를 이용할 수 있는 알고리즘이다. (1) Mean-Shift 알고리즘Mean-Shift 알고리즘은 데이터 집합의 밀도분포(특징점,코너,색상)를 기반으로 관심영역(ROI: Region Of Interest) 객체를 고속으로 추적하는 알고리즘이다. 초기의 검색 영역의 크기와 위치를 지정하면 반복되는 색 분할 계산에 의해서 색상 클러스터가 발생되고 초기 지정한 색 영역에 기반하여 경계를 결정하여 관심 물체를 추출할 수 있다고 한다. 이것은 mode seeking 알고리즘이라고도 하며, 특정 데이터들의 중심(mean)으로 이동(shift)하는 .. [Java] 정규표현식 표현 방법 java.util.regex 패키지에 있는 Match 클래스와 Pattern 클래스를 사용하여 문자열을 정규표현식으로 검증할 수 있다. boolean bln = Pattern.matches("^[a-zA-Z0-9]*$", this.input); 정규표현식은 다음과 같은 문법으로 되어 있다. ^ : 문자열의 시작을 나타냄. $ : 문자열의 종료를 나타냄. \ . : 임의의 한 문자를 나타냄. (문자의 종류는 가리지 않는다) | : or를 나타냄. ? : 앞 문자가 없거나 하나있음을 나타냄. + : 앞 문자가 하나 이상임을 나타냄. * : 앞 문자가 없을 수도 무한정 많을 수도 있음을 나타냄. 만약, .* 으로 정규식이 시작한다면 시작하는 문자열과 같은 문자열이 뒤에 없거나 많을 수도 있는 경우에만 일치를 .. Register Allocation Register Allocation은 virtual register를 physical register에 대응시키는 과정입니다. 이 과정에는 두가지 과정이 필요한데, 첫째는 interference graph, 둘째는 register coloring입니다. 어떤 두 register가 동시에 live하면 같은 physical register를 할당할 수 없습니다. 그리고 이런 상태를 두 register가 interfere한다고 표현하죠. 이렇게 register를 graph의 vertex로, interfere하는 두 register를 edge로 연결하여 표현하는 graph를 interference graph라고 합니다. 이것은 liveness analysis를 통해서 구해낼 수 있습니다. register col.. 이전 1 ··· 19 20 21 22 23 24 25 ··· 32 다음