KR101353847B1 - 반향 검출 방법 및 장치 - Google Patents

반향 검출 방법 및 장치 Download PDF

Info

Publication number
KR101353847B1
KR101353847B1 KR1020107014588A KR20107014588A KR101353847B1 KR 101353847 B1 KR101353847 B1 KR 101353847B1 KR 1020107014588 A KR1020107014588 A KR 1020107014588A KR 20107014588 A KR20107014588 A KR 20107014588A KR 101353847 B1 KR101353847 B1 KR 101353847B1
Authority
KR
South Korea
Prior art keywords
encoded
packet
packet stream
target
speech
Prior art date
Application number
KR1020107014588A
Other languages
English (en)
Other versions
KR20100096218A (ko
Inventor
람프로스 칼람포우카스
셈욘 소신
Original Assignee
알카텔-루센트 유에스에이 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 알카텔-루센트 유에스에이 인코포레이티드 filed Critical 알카텔-루센트 유에스에이 인코포레이티드
Publication of KR20100096218A publication Critical patent/KR20100096218A/ko
Application granted granted Critical
Publication of KR101353847B1 publication Critical patent/KR101353847B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/756Media network packet handling adapting media to device capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M9/00Arrangements for interconnection not involving centralised switching
    • H04M9/08Two-way loud-speaking telephone systems with means for conditioning the signal, e.g. for suppressing echoes for one or both directions of traffic
    • H04M9/082Two-way loud-speaking telephone systems with means for conditioning the signal, e.g. for suppressing echoes for one or both directions of traffic using echo cancellers
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Processing of the speech or voice signal to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/0208Noise filtering
    • G10L2021/02082Noise filtering the noise being echo, reverberation of the speech

Abstract

본 발명은 패킷 네트워크에서 반향을 검출하고 억제하는 방법 및 장치를 포함한다. 일 실시예에 따른 방법은 타깃 패킷 스트림의 타깃 패킷으로부터 음성 코딩 파라미터를 추출하는 단계와, 기준 패킷 스트림의 기준 패킷으로부터 음성 코딩 파라미터를 추출하는 단계와, 상기 타깃 패킷의 상기 음성 코딩 파라미터 및 상기 기준 패킷의 상기 음성 코딩 파라미터를 처리함으로써 상기 타깃 패킷 스트림의 음성 콘텐츠가 상기 기준 패킷 스트림의 음성 콘텐츠와 유사한가를 판정하는 단계와, 상기 타깃 패킷 스트림의 상기 음성 콘텐츠가 상기 기준 패킷 스트림의 음성 콘텐츠와 유사한가에 대한 판정에 기초하여 상기 타깃 패킷 스트림이 상기 기준 패킷 스트림의 반향을 포함하는가를 판정하는 단계를 포함한다.

Description

반향 검출 방법 및 장치{METHOD AND APPARATUS FOR DETECTING AND SUPPRESSING ECHO IN PACKET NETWORKS}
본 발명은 통신 네트워크 분야에 관한 것으로서, 보다 구체적으로는 반향 검출 및 억제에 관한 것이다.
패킷 기반 음성 기술이 발전함에 따라, 서비스 제공자는 운용 비용을 저감하기 위해 패킷 기반 음성 이행을 실행하기 시작하고 있다. 음성 콜 동안, 호출자는 음성 콜의 원단 반향(echoes at the far end)으로 인해 자신의 음성을 들을 수 있다. 이러한 반향의 가능성은 호출자가 스피커폰과 같은 핸드프리 통신 수완을 사용할 때 증가한다. 이러한 반향을 제거하기 위한 가장 보편적인 방안이 어쿠스틱 반향 제거(acoustic echo cancellation: AEC)이다. 시분할 다중화(Time Division Multiplexing: TDM) 네트워크에서의 어쿠스틱 반향 제거는 매우 발전하고 있지만, 불리하게도 현재는 VoIP(Voice over Internet Protocol) 네트워크와 같은 패킷 네트워크에서의 어쿠스틱 반향 제거를 수행하는 승인된 방법이 없다. 또한, 어쿠스틱 반향의 문제는, 패킷 네트워크에서의 일반적인 패킷 지연 속도가 TDM 네트워크에 비해 현저히 증가하고 있을 뿐 아니라 네트워크 패킷 지연이 패킷 간에 광범위하게 변할 수 있기 때문에, 패킷 네트워크에 의해 악화되고 있다.
종래기술에서의 다양한 결점은 패킷 네트워크에서 반향을 검출하고 억제하기 위한 본 발명의 방법 및 장치를 통해 해결된다. 일 실시예에 따른 방법은, 타깃 패킷 스트림의 타깃 패킷으로부터 음성 코딩 파라미터를 추출하는 단계와, 기준 패킷 스트림의 기준 패킷으로부터 음성 코딩 파라미터를 추출하는 단계와, 상기 타깃 패킷의 상기 음성 코딩 파라미터 및 상기 기준 패킷의 상기 음성 코딩 파라미터를 처리함으로써 상기 타깃 패킷 스트림의 음성 콘텐츠가 상기 기준 패킷 스트림의 음성 콘텐츠와 유사한가를 판정하는 단계와, 상기 타깃 패킷 스트림의 상기 음성 콘텐츠가 상기 기준 패킷 스트림의 음성 콘텐츠와 유사한가에 대한 판정에 기초하여 상기 타깃 패킷 스트림이 상기 기준 패킷 스트림의 반향을 포함하는가를 판정하는 단계를 포함한다.
본 발명의 교시내용은 첨부한 도면과 관련하여 다음의 상세한 설명을 참조하면 용이하게 이해될 수 있다.
도 1은 본 발명의 반향 검출 및 억제 기능이 통신 네트워크 내에서 구현되는 통신 네트워크의 하이-레벨 블록도,
도 2는 도 1의 음성 콜의 일 방향 전송을 위한 반향 검출 및 억제를 제공하는 도 1의 음성 콜 표현도,
도 3은 본 발명의 일 실시예에 따른 억제 검출 및 억제 방법을 도시한 도면,
도 4는 본 발명의 일 실시예에 따른 타깃 음성 콘텐츠와 기준 음성 콘텐츠 사이의 유사성 판별 방법을 도시한 도면,
도 5는 본 발명의 일 실시예에 따른 타깃 음성 콘텐츠와 기준 음성 콘텐츠 사이의 유사성 판별 방법을 도시한 도면,
도 6은 타깃 패킷 스트림의 음성 패킷과 기준 패킷 스트림의 음성 패킷 사이의 관계를 도시한 하이-레벨 블록도,
도 7은 레이트 패턴 매칭 프로세싱을 설명하기 위한 레이트 패턴 매칭 실례를 도시한 도면,
도 8은 본 발명의 반향 검출 및 억제 기능이 목적 사용자 단말기 내에서 구현되는 통신 네트워크의 하이-레벨 블록도,
도 9는 본 발명의 반향 검출 및 억제 기능이 목적 사용자 단말기 내에서 구현되는 통신 네트워크의 하이-레벨 블록도,
도 10은 본 명세서에 설명된 기능의 수행을 사용하는 데 적합한 범용 컴퓨터의 하이-레벨 블록도를 도시하고 있다.
이해를 용이하게 하기 위해, 가능하다면, 도면에서 공통적인 동일한 엘리먼트를 지정하는 데 동일한 참조 기호가 사용되고 있다.
본 발명은 보코더 패킷을 사용하는 목적 사용자 단말기들 사이에 음성 콘텐츠가 전달되는 패킷 네트워크에서의 반향 검출 및 억제를 제공한다. 일반적으로 인코더와 디코더를 포함하는 보코더는 음성-캐리 패킷(voice-carry packets)으로부터 추출된 음성 코딩 파라미터를 이용하여 패킷 네트워크를 통해 음성 콘텐츠를 전달한다. 인코더는 인입 음성 정보를 음성 세그먼트로 분할하고, 그 음성 세그먼트를 분석하여 음성 코딩 파라미터를 판별하며, 그 음성 코딩 파라미터를 비트 표현으로 양자화하고, 그 비트 표현을 인코딩된 음성 패킷으로 패킹하며, 그 패킷을 송신 프로임으로 포맷하고, 패킷 네트워크를 통해 그 송신 프레임을 전송한다. 디코더는 패킷 네트워크를 통해 송신 프레임을 수신하고, 그 송신 프레임으로부터 패킷을 추출하며, 비트 표현을 언패킹하고, 비트 표현을 언패킹하여 음성 코딩 파라미터를 복원하며, 그 음성 코딩 파라미터로부터 음성 세그먼트를 재합성한다.
본 발명을 이용하면, 기준 패킷 스트림의 인코딩된 음성 패킷에 포함된 음성 콘텐츠의 음성 코딩 파라미터가 기준 패킷 스트림의 인코딩된 음성 패킷으로부터 추출되고, 타깃 패킷 스트림의 인코딩된 음성 패킷에 포함된 음성 콘텐츠의 음성 코딩 파라미터는 타깃 패킷 스트림의 인코딩된 음성 패킷으로부터 추출되며, 추출된 음성 코딩 파라미터는 기준 패킷 스트림의 음성 콘텐츠와 타깃 패킷 스트림의 음성 콘텐츠 사이의 유사성을 식별하도록 처리되고, 반향이 검출되는가에 대한 판별이 타깃 패킷 스트림의 음성 콘텐츠와 기준 패킷 스트림의 음성 콘텐츠 사이의 유사성 식별에 기초하여 수행된다. 본 발명을 이용하면, 타깃 패킷 스트림과 연계된 (기준 패킷 스트림과 타깃 패킷 스트림 사이의 시간 오프셋을 나타내는) 반향 경로 지연이 반향 검출 프로세서의 산물로서 자동 판별될 수 있다.
도 1은 통신 네트워크의 하이-레벨 블록도를 도시하고 있다. 구체적으로, 도 1의 통신 네트워크(100)는 목적 사용자 단말기(103A)를 사용하는 목적 사용자 A와 목적 사용자 단말기(103Z)(총체적으로, 목적 사용자 단말기(103)))를 사용하는 목적 사용자 Z 사이의 통신을 용이하게 하는 패킷 네트워크(102)를 포함한다. 구체적으로, 패킷 네트워크(102)는 목적 사용자 A와 목적 사용자 Z 사이의 음성 콜을 지원한다. 패킷 네트워크(102)는 인코딩된 음성 패킷으로서 음성 콘텐츠를 인코딩하고 패킷 네트워크(102)를 통해 그 인코딩된 음성 패킷을 전송함으로써 (목적 사용자 A로부터 목적 사용자 Z로, 또한 목적 사용자 Z로부터 목적 사용자 A로) 음성 콘텐츠를 전달한다. 도 1에 도시된 바와 같이, 음성 콜은 음성 콜에서 어쿠스틱 반향을 검출 및 억제/제거하도록 적응된 어쿠스틱 반향 프로세싱 모듈(AEPM)(120)을 트래버스한다.
도 1에 도시된 바와 같이, 목적 사용자 단말기(103)는 오디오 입력/출력 디바이스(예컨대, 마이크로폰, 스피커 등), 패킷 네트워크 인터페이스(예컨대, 송신기/수신기 기능부, 보코더 기능부 등을 포함함) 등과 같이 패킷 네트워크를 통한 음성 통신을 지원하는 콤포넌트를 포함한다. 구체적으로, 목적 사용자 단말기(103A)는 오디오 입력 디바이스(104A), 네트워크 인터페이스(105A) 및 오디오 출력 디바이스(106A)를 포함하며, 목적 사용자 단말기(103Z)는 오디오 입력 디바이스(104Z), 네트워크 인터페이스(105Z) 및 오디오 출력 디바이스(106Z)를 포함한다. 목적 사용자 단말기(103)의 콤포넌트는 개별적인 물리적 디바이스일 수도 있고, 또는 하나 이상의 물리적 디바이스에 조합될 수도 있다. 예를 들어, 목적 사용자 단말기(103)는 음성 기능부, VoIP 전화 등 뿐 아니라 이들의 다양한 조합체를 구비한 컴퓨터를 포함할 수 있다.
도 1에 도시된 음성 콜과 같은 음성 콜에서, 목적 사용자 디바이스의 음성 입력 디바이스는, (1) 근거리 목적 사용자의 스피치 및 (2) 원거리 목적 사용자로부터 수신되고 근거리 목적 사용자의 음성 출력 디바이스를 통해 재생되는 스피치를 모두 포착할 수 있다. 예를 들어, 근거리 목적 사용자가 스피커폰을 사용하고 있는 경우, 그 근거리 목적 사용자 디바이스의 마이크로폰은 근거리 목적 사용자의 스피치 뿐 아니라 스피커폰으로부터 발산되는 원거리 목적 사용자의 스피치를 모두 포착할 수 있다. 근거리 목적 사용자의 음성 입력 디바이스에 의해 수신되는 원거리 목적 사용자의 스피치는, 원거리 목적 사용자의 스피치가 근거리 목적 사용자의 위치에서 반향됨에 따라, 스피커폰으로부터 마이크로폰으로의 직접적인 커플링 스피치 및/또는 스피커폰으로부터 마이크로폰으로의 간접적인 커플링 스피치일 수 있다.
도 1과 관련하여, 목적 사용자 A로부터 목적 사용자 Z로 전달되는 음성 콘텐츠가 목적 사용자 Z의 위치에서 반향되고, 목적 사용자 A로부터의 반향된 음성 콘텐츠가 목적 사용자 Z의 목적 사용자 단말기에 의해 포착되어, 목적 사용자 Z로부터 목적 사용자 A로 전달되는 음성 콘텐츠는 목적 사용자 Z의 스피치와 목적 사용자 Z의 스피치 반향의 조합일 수 있다. 유사하게, 목적 사용자 Z로부터 목적 사용자 A로 전달되는 음성 콘텐츠가 목적 사용자 A의 위치에서 반향되고, 목적 사용자 Z로부터의 반향된 음성 콘텐츠가 목적 사용자 A의 목적 사용자 단말기에 의해 포착되어, 목적 사용자 A로부터 목적 사용자 Z로 전달되는 음성 콘텐츠는 목적 사용자 A의 스피치와 목적 사용자 Z의 스피치 반향의 조합일 수 있다. 다시 말해, 반향은 양방향 통신 채널의 양방향에서 유도될 수 있다.
목적 사용자 디바이스(103A)에서 유도된 반향에 대해, 목적 사용자 디바이스(103A)는 목적 사용자 A의 스피치를 포착하고, 선택적으로는, 음성 출력 디바이스(106A)에 의해 재생되는 사용자 Z의 (반향 커플링으로 표시되는) 스피치를 포착한다. 스피치는 음성 입력 디바이스(106A)에 의해 포착되어 네트워크 인터페이스(105A)로 제공되는데, 네트워크 인터페이스(105A)는 스피치를 처리하여 음성 코딩 파라미터를 판별하고, 판별된 음성 코딩 파라미터를 패킷화하여 음성 패킷 스트림(112)을 형성한다. 목적 사용자 디바이스(103A)는 음성 패킷 스트림(112)을 AEPM(120)에 전달한다. 목적 사용자 디바이스(103A)는 AEPM(120)에 목적 사용자 Z의 임의의 스피치를 검출하고 억제하도록 음성 패킷 스트림(112)을 처리하여, 목적 사용자 Z가 임의의 반향을 듣지 않게 한다. AEPM(120)은 (반향이 검출되었는가 아닌가의 여부에 따라 음성 패킷 스트림(112)의 수정된 버전일 수도 있고 그렇지 않을 수도 있는) 음성 패킷 스트림(112')을 목적 사용자 디바이스(103Z)로 전달한다. 음성 패킷 스트림(112')은 네트워크 인터페이스(105Z)에 의해 수신되며, 네트워크 인터페이스(105Z)는 인코딩된 음성 파라미터를 패킷해제화하여 목적 사용자 A의 스피치를 복원하도록 처리하고, 목적 사용자 A의 복원된 스피치를 음성 출력 디바이스(106Z)로 제공하여 목적 사용자 Z에게 목적 사용자 A의 스피치를 재생한다.
목적 사용자 디바이스(103Z)에서 유도된 반향에 대해, 목적 사용자 디바이스(103Z)는 목적 사용자 Z의 스피치를 포착하고, 가능하다면, 음성 출력 디바이스(106Z)에 의해 재생되는 사용자 Z의 (반향 커플링으로 표시되는) 스피치를 포착한다. 스피치는 음성 입력 디바이스(106Z)에 의해 포착되어 네트워크 인터페이스(105Z)로 제공되는데, 네트워크 인터페이스(105Z)는 스피치를 처리하여 음성 코딩 파라미터를 판별하고, 판별된 음성 코딩 파라미터를 패킷화하여 음성 패킷 스트림(114)을 형성한다. 목적 사용자 디바이스(103Z)는 음성 패킷 스트림(114)을 AEPM(120)에 전달한다. 목적 사용자 디바이스(103Z)는 목적 사용자 Z의 임의의 스피치를 검출하고 억제하도록 음성 패킷 스트림(114)을 처리하여, 목적 사용자 Z가 임의의 반향을 듣지 않게 한다. AEPM(120)은 (반향이 검출되었는가 아닌가의 여부에 따라 음성 패킷 스트림(114)의 수정된 버전일 수도 있고 그렇지 않을 수도 있는) 음성 패킷 스트림(114')을 목적 사용자 디바이스(103Z)로 전달한다. 음성 패킷 스트림(114')은 네트워크 인터페이스(105Z)에 의해 수신되며, 네트워크 인터페이스(105Z)는 인코딩된 음성 파라미터를 패킷해제화하여 목적 사용자 Z의 스피치를 복원하도록 처리하고, 목적 사용자 Z의 복원된 스피치를 음성 출력 디바이스(106Z)로 제공하여 목적 사용자 Z에게 목적 사용자 Z의 스피치를 재생한다.
따라서, 도 1에 도시된 바와 같이, 양측 방향의 음성 콜은 패킷 네트워크(102) 내에 배치된 AEPM(120)을 트래버스한다. AEPM(120)은 목적 사용자 A와 목적 사용자 Z 사이에 전달되는 음성 콘텐츠에서 반향을 검출하도록 적응되며, 반향이 검출되는 경우, 음성 콘텐츠를 수신하는 목적 사용자가 반향을 듣지 않도록 검출된 반향을 억제하거나 제거한다. AEPM(120)은 기준 패킷 스트림의 인코딩된 음성 패킷 및 타깃 패킷 스트림의 인코딩된 음성 패킷으로부터 음성 코딩 파라미터를 추출하고, 타깃 패킷 스트림에 의해 전달되는 음성 콘텐츠와 기준 패킷 스트림에 의해 전달되는 음성 콘텐츠의 유사성 여부를 판정하는 방법으로 그 추출된 음성 코딩 파라미터를 처리함으로써 반향을 검출한다. 타깃 패킷 스트림 및 기준 패킷 스트림에 의해 전달되는 인코딩된 음성 패킷으로부터 음성 코딩 파라미터를 추출하는 AEPM(120)의 동작은 도 2 내지 도 6과 관련하여 보다 양호하게 이해될 수 있다.
도 2는 (목적 사용자 단말기(103Z)에서 유도된 반향을 검출하고 억제하기 위해) 도 1의 일 방향 음성 송신을 위한 반향 검출 및 억제를 제공하는 도 1의 음성 콜 표현을 도시하고 있다. 목적 사용자 단말기(103A)는 인코딩된 음성 패킷의 스트림(기준 패킷 스트림(202)으로 표시됨)을 AEPM(120)으로 전달한다. AEPM(120)은 기준 패킷 스트림(202)의 근래에 수신된 인코딩된 음성 패킷의 버퍼를 유지하고 기준 패킷 스트림(202)의 음성 패킷을 목적 사용자 단말기(103Z)로 계속해서 전달한다. 목적 사용자 단말기(103Z)는 음성 패킷의 스트림(타깃 패킷 스트림(204)으로 표시됨)을 AEPM(120)으로 전달한다. AEPM(120)은 타깃 패킷 스트림(204)의 근래에 수신된 인코딩된 음성 패킷의 버퍼를 유지한다. AEPM(120)은 버퍼링된 타깃 패킷 및 버퍼링된 기준 패킷을 처리하여 타깃 패킷 스트림(204)의 음성 패킷에 의해 전달되는 음성 콘텐츠가 기준 패킷 스트림(202)의 음성 패킷에 의해 전달되는 음성 콘텐츠의 반향을 포함하는가의 여부를 판정한다.
AEPM(120)은 타깃 패킷 스트림(204')을 목적 사용자 단말기(103A)로 제공한다. 타깃 패킷 스트림(204)의 인코딩된 음성 패킷에 의해 전달되는 음성 콘텐츠가 기준 패킷 스트림(202)의 인코딩된 음성 패킷에 의해 전달되는 음성 콘텐츠의 반향을 포함하는 것으로 판정되지 않는다면, AEPM(120)은 타깃 패킷 스트림(204)의 인코딩된 음성 패킷을 목적 사용자 단말기(103A)로 계속해서 (즉, 반향을 억제하는 방법으로 타깃 패킷 스트림(204)의 인코딩된 음성 패킷을 적응시키지 않고) 전달한다. 타깃 패킷 스트림(204)의 인코딩된 음성 패킷에 의해 전달되는 음성 콘텐츠가 기준 패킷 스트림(202)의 인코딩된 음성 패킷에 의해 전달되는 음성 콘텐츠의 에코를 포함하는 것으로 판정되면, AEPM(120)은 반향을 억제하는 방법으로 기준 패킷 스트림(202)의 인코딩된 음성 패킷에 의해 전달되는 음성 콘텐츠의 반향을 포함하는 타깃 패킷 스트림(204)의 인코딩된 음성 패킷을 적응시키고, 적응된 타깃 패킷 스트림(204')의 인코딩된 음성 패킷을 목적 사용자 단말기(103A)로 전달한다.
본 명세서에 설명된 바와 같이, 도 2는 일 방향 전송만을 위한, 즉 목적 사용자 단말기(103A)를 향해 전달되는 목적 사용자 단말기(103Z)에서 유도된 반향에 대한, 반향 검출 및 억제를 제공하기 위한 도 1의 음성 콜의 표현을 도시하고 있다. 따라서, 다른 방향의 송신을 위한 (즉, 목적 사용자 단말기(103Z)를 향해 전달되는 목적 사용자 단말기(103A)에 유도된 반향에 대한) 반향 검출 및 억제의 경우, 기준 패킷 스트림(202)은 타깃 패킷 스트림으로서 이용되고, 타깃 패킷 스트림(204)은 기준 패킷 스트림으로서 이용될 것이다. 따라서, 반향이 음성 콜의 양방향 송신에 유도될 수 있으므로, 본 발명의 반향 검출 및 억제 기능을 설명하기 위해, 기준 패킷 스트림(202)에 존재할 수 있는 반향의 임의의 성분은 무시된다.
도 3은 본 발명의 일 실시예에 따른 방법을 도시하고 있다. 구체적으로, 도 3의 방법은 타깃 패킷 스트림의 음성 콘텐츠에서 기준 패킷 스트림의 음성 콘텐츠의 반향을 검출하며, 검출된다면 타깃 패킷 스트림의 음성 콘텐츠로부터 반향을 억제하는 방법을 포함한다. 순차적으로 수행되는 것으로 도시되고 설명되어 있지만, 도 3의 방법(300)의 단계들 중 적어도 일부는 동시에 수행될 수도 있고, 또는 도 3과 관련하여 도시되고 설명된 것과는 상이한 순서로 수행될 수도 있다. 방법(300)은 단계(302)에서 시작하여 단계(304)로 진행한다.
단계(304)에서, 타깃 음성 패킷의 음성 콘텐츠와 기준 음성 패킷의 음성 콘텐츠 사이의 유사성이 판정된다. 타깃 음성 패킷의 음성 콘텐츠와 기준 음성 패킷의 음성 콘텐츠 사이의 유사성은, 타깃 음성 패킷으로부터 음성 코딩 파라미터를 추출하고, 기준 음성 패킷으로부터 음성 코딩 파라미터를 추출하며, 추출된 음성 코딩 파라미터를 처리하여 타깃 음성 패킷의 음성 콘텐츠가 기준 음성 패킷의 음성 콘텐츠와 유사한가의 여부를 판정함으로써 판정된다. 타깃 음성 패킷 및 기준 음성 패킷으로부터 추출된 음성 코딩 파라미터를 이용하여 타깃 음성 패킷의 음성 콘텐츠와 기준 음성 패킷의 타깃 음성 패킷의 음성 콘텐츠 사이의 유사성을 판정하는 방법이 도 4와 관련하여 도시되고 설명된다.
단계(306)에서, 타깃 음성 패킷의 음성 콘텐츠가 기준 음성 패킷의 음성 콘텐츠의 반향을 포함하는가의 여부가 판정된다. 타깃 음성 패킷의 음성 콘텐츠가 기준 음성 패킷의 음성 콘텐츠의 반향을 포함하는가에 대한 판정은 타깃 음성 패킷의 음성 콘텐츠가 기준 음성 패킷의 음성 콘텐츠와 유사한가에 대한 판정을 이용하여 이루어진다. 타깃 음성 패킷의 음성 콘텐츠가 기준 음성 패킷의 음성 콘텐츠의 반향을 포함하지 않는다면, 방법(300)은 단계(304)로 되돌아간다(즉, 현재 타깃 음성 패킷(들)은 적응되지 않는다). 타깃 음성 패킷의 음성 콘텐츠가 기준 음성 패킷의 음성 콘텐츠의 반향을 포함한다면, 방법(300)은 단계(308)로 진행한다.
단계(308)에서, 반향 억제는 목표 음성 패킷(들)에 적용된다. 타깃 음성 패킷(들)의 음성 콘텐츠는 검출된 반향을 억제하거나 제거하도록 적응된다. 타깃 음성 패킷(들)의 음성 콘텐츠는 검출된 반향을 억제하거나 제거하는 임의의 방법으로 적응될 수 있다. 일 실시예에서, 타깃 패킷(들)의 음성 콘텐츠는 타깃 음성 패킷(들)의 음성 콘텐츠의 이득을 감쇄시킴으로써 적응될 수 잇다. 일 실시예에서, 타깃 음성 패킷(들)은 교체 패킷(들)과 교체될 수 있다. 교체 패킷은 잡음 패킷(예컨대, 백색 잡음, 통신 잡음(comfort noise) 등과 같은 몇몇 타입의 잡음을 포함하는 패킷), 사일런스 패킷(silence packet)(예컨대, 공 패킷(empty packet) 등 뿐 아니라 이들의 다양한 조합일 수 있다.
도 3에 도시된 바와 같이, 단계(308)로부터, 방법(300)은 단계(310)로 진행한다. 단계(310)에서, 음성 콜이 활동 상태인가에 대한 판정이 이루어진다. 음성 콜이 여전히 활성 상태이면, 방법(300)은 단계(304)로 되돌아간다(즉, 반향 검출 및 억제 프로세싱이 콜의 음성 콘텐츠로부터 반향을 검출하고 제거하기 위해 계속된다). 음성 콜이 활성 상태가 아니라면, 방법(300)은 방법(300)이 종료되는 단계(312)로 진행한다. 따라서, 방법(300)은 음성 콜의 듀레이션 동안 계속해서 반복된다. 반향 억제가 적용된 후에 수행되는 것으로 도시되고 있으나, 방법(300)은 음성 콜이 더 이상 활성 상태가 아니라는 판정에 대한 응답으로 방법(300)의 임의의 지점에서 종료될 수 있다.
도 4는 본 발명의 일 실시예에 따른 방법을 도시하고 있다. 구체적으로, 도 4의 방법(400)은 타깃 음성 패킷의 음성 콘텐츠와 기준 음성 패킷의 음성 콘텐츠 사이의 유사성을 판정하는 방법을 포함한다. 순차적으로 수행되는 것으로 도시되고 설명되어 있지만, 도 4의 방법(400)의 적어도 일부분은 동시에 수행될 수도 있고, 또는 도 4와 관련하여 도시되고 설명된 것과는 상이한 순서로 수행될 수도 있다. 방법(400)은 단계(402)에서 시작하여 단계(404)로 진행한다.
단계(404)에서, 음성 코딩 파라미터가 타깃 음성 패킷으로부터 추출된다. 일 실시예에서, 음성 코딩 파라미터가 N개의 최근 타깃 음성 패킷들 각각으로부터 추출된다(N은 타깃 패킷 스트림과 연계된 타깃 윈도우의 크기이다). 단계(406)에서, 음성 코딩 파라미터는 기준 음성 패킷으로부터 추출된다. 일 실시예에서, 음성 코딩 파라미터는 K+N개의 최근 기준 음성 패킷들 각각으로부터 추출된다. 음성 코딩 파라미터는 음성 패킷으로부터 음성 코딩 파라미터를 추출하는 임의의 방법으로 음성 패킷으로부터 추출될 수 있다. 타깃 음성 패킷 및 기준 음성 패킷으로부터 음성 코딩 파라미터를 추출된 음성 코딩 파라미터는 주파수 파라미터, 볼륨 파라미터 등과 같은 임의의 음성 코딩 파라미터를 포함할 수 있다.
본 명세서에 설명되는 바와 같이, 음성 패킷으로부터 추출된 음성 코딩 파라미터는 음성 콘텐츠를 인코딩/디코딩하는 데 이용되는 코덱의 타입, 음성 콘텐츠를 전달하는 데 이용되는 송신 기술 등의 많은 인자 및 이들의 다양한 조합에 따라 변할 수 있다. 예를 들어, 음성 패킷으로부터 추출된 음성 코딩 파라미터는, CELP(Code Excited Linear Prediction) 코딩, PPP(Prototype-Pitch Prediction) 코딩, NELP(Noise-Excited-Linear Prediction) 코딩 등과 같이, 본 발명이 적용될 수 있는 여러 가지 타입의 코딩에 대해 상이할 수 있다.
예를 들어, CELP 기반 코딩에 대해, 음성 코딩 파라미터는 LSP(Line Spectral Pairs), FCG(Fixed Codebook Gains), ACG(Adaptive Codebook Gains), 인코딩 레이트 등 및 이들의 다양한 조합 중 하나 이상을 포함할 수 있다. 예를 들어, PPP 기반 코딩에 대해, 음성 코딩 파라미터는 LSP, 진폭 파라미터 등을 포함할 수 있다. 예를 들어, NELP 기반 코딩에 대해, 음성 코딩 파라미터는 LSP, 에너지 VQ 등을 포함할 수 있다. 또한, 다른 음성 코딩 파라미터(예컨대, 피치 지연, 고정 코드북 형상(예컨대, 고정 코드북 자체) 등 및 이들의 다양한 조합)가 이용될 수 있다.
예를 들어, CELP 기반 코딩의 한 가지 형태는 코드 분할 다중 액세스(CDMA) 네트워크에서 사용되는 CELP 기반 코더의 구체적인 구현인 개선된 가변 레이트 코딩(Enhanced Variable Rate Coding: EVRC)이다. 예를 들어, EVRC-B, CELP 기반 및 비-CELP 기반 음성 코딩 파라미터를 포함하는 개선된 버전의 EVRC가 CDMA 네트워크 및 다른 네트워크에서 이용된다. EVRC-B 음성 코딩에서, PPP 프레임에 대한 대역 정렬, 전역 정렬(Global Alignment) 및 진폭과 같이, 상이한 압축 타입에 대한 추가 음성 코딩 파라미터(예컨대, PPP 또는 NELP)가 (즉, 일반적인 CELP-기반 음성 코딩 파라미터에 더하여) 이용될 수 있다. 예를 들어, GSM 네트워크가 대수적 CELP(ACELP)를 이용하는 적응적 다중레이트(Adaptive Multi-Rate: AMR) 압축을 이용한다. 또한, 예를 들어, 텔레타입(TTY) 단말기 데이터가 인코딩된 음성 패킷으로부터 추출될 수 있다.
단계(507)(선택적 단계)에서, 프로세싱이 수행될 수 있다. 일 실시예에서, 프로세싱은 추출된 음성 코딩 파라미터 중 일부 또는 그 모두에서 수행될 수 있다. 예를 들어, 타깃 음성 패킷 및 기준 음성 패킷으로부터 추출된 원시 음성 코딩 파라미터는 타깃 음성 패킷의 음성 콘텐츠와 기준 음성 패킷의 음성 콘텐츠 사이에 유사성이 있는가의 여부를 판정하는 데 사용하기 위해 추출된 음성 코딩 파라미터를 평탄하게 하도록 처리될 수 있다. 일 실시예에서, 사전프로세싱은 각각의 타깃 음성 패킷 및 기준 음성 패킷으로부터 추출된 연계된 음성 코딩 파라미터에 기초하여 타깃 음성 패킷 및/또는 기준 음성 패킷 중 일부 또는 그 모두에 대해 수행될 수 있다.
일 실시예에서, 타깃 패킷의 음성 콘텐츠와 기준 패킷의 음성 콘텐츠 사이에 유사성이 있는가를 판별하는 데 이용되는 하나 이상의 임계치가 각각의 음성 패킷으로부터 추출된 음성 코딩 파라미터 중 일부 또는 그 모두의 사전프로세싱에 기초하여 동적으로 조절될 수 있다. 일 실시예에서, 예를 들어, 타깃 윈도우 당 평균 볼륨은 하나 이상의 임계치를 조절하기 위해 (즉, 타깃 윈도우의 타깃 패킷 각각으로부터 추출된 볼륨 정보를 이용하여) 판정되고 이용될 수 있다. 이러한 일 실시예에서, 타깃 윈도우 당 평균 볼륨은 (예컨대, 도 5와 관련하여 도시되고 설명된 바와 같이 LSP 유사성 임계치를 동적으로 조절하여) 타깃 패킷의 음성 콘텐츠와 기준 패킷의 음성 콘텐츠 사이에 유사성이 있는가를 판정하는 데 이용되는 임계치를 동적으로 조절하는 데 이용될 수 있다.
단계(408)에서, 타깃 음성 패킷의 음성 콘텐츠와 기준 음성 패킷의 음성 콘텐츠 사이의 유사성은 타깃 음성 패킷으로부터 추출된 음성 코딩 파라미터 및 기준 음성 패킷으로부터 추출된 음성 코딩 파라미터를 이용하여 판정된다. 일 실시예에서, 유사성 판정은 이진 판정이다(binary determination)(예컨대, 유사성이 검출되거나 또는 검출되지 않는다). 이 실시예에서, 예를 들어, 유사성 표시자는 유사성 판정의 결과에 기초하여 각각의 타깃 패킷에 대해 설정(예컨대, SIMILARITY = YES 또는 SIMILARITY = NO)될 수 있다. 일 실시예에서, 유사성 판정은 타깃 음성 패킷의 음성 콘텐츠와 기준 음성 패킷의 음성 콘텐츠 사이의 유사성 레벨에 대한 판정일 수 있다. 이 실시예에서, 예를 들어, 음성 콘텐츠 유사성은 값의 범위(예컨대, 0이 전혀 유사하지 않음을 나타내고 10이 타깃 음성 패킷의 음성 콘텐츠와 기준 음성 패킷의 음성 콘텐츠 사이의 완벽한 매칭을 나타내는 0-10의 범위)를 이용하여 표현될 수 있다.
일 실시예에서, 타깃 음성 패킷의 음성 콘텐츠가 기준 음성 패킷의 음성 콘텐츠와 유사한가의 판정은 주파수 정보만을 이용하여 (또는 주파수 정보를 이용하여 판정된 결과의 유효성을 평가하는 데 이용될 수 있는 다른 음성 특성 정보와 조합하여 적어도 주로 주파수 정보를 이용하여) 수행될 수 있다. 이러한 일 실시예에서, 예를 들어, 타깃 음성 패킷의 음성 콘텐츠가 기준 음성 패킷의 음성 콘텐츠와 유사한가의 여부는 (예컨대, CELP 기반 코딩을 이용하여 인코딩된 음성 패킷에 대해) LSP만을 이용하여 수행될 수 있다. LSP를 이용하여 타깃 음성 패킷의 음성 콘텐츠가 기준 음성 패킷의 음성 콘텐츠와 유사한가를 판정하는 방법이 도 5와 관련하여 본 명세서에 도시되고 설명된다.
일 실시예에서, 타깃 음성 패킷의 음성 콘텐츠가 기준 음성 패킷의 음성 콘텐츠와 유사한가의 판정은 LSP 비교와 관련하여 레이트 패턴 매칭을 이용하여 수행될 수 있다. 이러한 일 실시예에서, 레이트 패턴 매칭은 LSP 비교를 이용하여 이루어지는 유사성 판정의 유효성을 판정하는 데 이용될 수 있다. 유사성 판정의 유효성을 판정하는 레이트 패턴 매칭의 이용은 도 7과 관련하면 보다 양호하게 이해될 수 있다.
일 실시예에서, 타깃 음성 패킷의 음성 콘텐츠가 기준 음성 패킷의 음성 콘텐츠와 유사한가의 판정은 LSP 비교와 관련하여 레이트/타입 매칭을 이용하여 수행될 수 있다. 이러한 일 실시예에서, 레이트/타입 매칭은 LSP 비교를 이용하여 이루어지는 유사성 판정의 유효성을 판정하는 데 이용될 수 있다. 다른 실시예에서, 타깃 음성 패킷의 음성 콘텐츠가 기준 음성 패킷의 음성 콘텐츠와 유사한가에 대한 판정은 LSP 비교를 대신하여 레이트/타입 매칭을 이용하여 수행될 수 있다.
일 실시예에서, 사전프로세싱으로 수행되는 것이라 설명되는 (즉, 선택적 단계(407)와 관련하여 설명되는) 프로세싱의 일부는 타깃 음성 패킷의 음성 콘텐츠가 기준 음성 패킷의 음성 콘텐츠와 유사한가에 대한 판정 중에 수행될 수 있다. 예를 들어, 타깃 패킷 및/또는 기준 패킷으로부터 추출된 다른 음성 코딩 파라미터는 (예컨대, 그러한 음성 패킷들이 타깃 음성 패킷과 기준 음성 패킷 사이의 비교에 이용되지 않도록 음성 패킷 중 선택된 음성 패킷을 무시하고, 음성 패킷 중 선택된 음성 패킷에 가중치를 할당하며, 유사성 판정을 수행하는 데 사용되는 하나 이상의 임계치를 동적으로 수정하는 등의 동작 또는 이러한 동작들의 조합을 하기 위해) 타깃 음성 패킷의 음성 콘텐츠가 기준 음성 패킷의 음성 콘텐츠와 유사한가에 대한 판정 중에 이용될 수 있다.
단계(409)(선택적 단계)에서, 사후프로세싱이 수행될 수 있다. 일 실시예에서, 사후프로세싱은 유사성 판정의 결과에 대해 수행될 수 있다. 사후프로세싱은 타깃 음성 패킷 및 기준 음성 패킷으로부터 추출된 음성 코딩 파라미터 중 일부 도는 그 모두를 이용하여 수행될 수 있다. 일 실시예에서, 사후프로세싱은 유사성 판정의 결과의 평가를 포함할 수 있다. 이러한 일 실시예에서, 예를 들어, 유사성 판정의 결과는 이진 방법으로 (예컨대, 결과를 유효 또는 무효라고 선언하는 방법으로, 즉 결과를 진위 긍정 또는 허위 긍정으로 선언하는 방법으로) 평가될 수 있다. 일 실시예에서, 예를 들어, 유사성 판정의 결과는 유사성 판정의 결과에 가중치 또는 중요도를 할당하는 방법으로 평가될 수 있다. 유사성 판정의 결과는 다른 다양한 방법으로 평가될 수 있다.
이러한 몇몇 실시예에서, 유사성 판정의 결과의 평가는 타깃 음성 패킷 중 유효/이용가능한 것으로 간주되는 비율 및/또는 기준 음성 패킷 중 유효/이용가능한 것으로 간주되는 비율에 기초할 수 있다. 일 실시예에서, 유사성 판정을 수행하는 데 이용되는 음성 패킷의 볼륨 특성은 각각의 음성 패킷의 유효성/이용가능성을 판정하는 데 이용될 수 있다. 예를 들어, 타깃 음성 패킷의 소정 비율이 기준 음성 패킷의 임계치 및/또는 소정 비율 아래의 볼륨을 갖는 경우, 유사성 판정의 결과는 무효라는 판정 또는 보다 높은 비율의 음성 패킷이 유효/이용가능한 것으로 판정되는 유사성 판정보다 적어도 덜 유용하다는 판정이 이루어질 수 있다. 볼륨과 관련하여 주로 설명되고 있지만, 다른 다양한 추출된 음성 코딩 파라미터는 유사성 판정의 결과를 평가하는 데 이용될 수 있다.
도 4에 도시된 바와 같이, 단계(408)(또는, 선택적으로 단계(409))로부터), 방법(400)은 방법(400)이 반복되도록 (즉, 음성 코딩 파라미터가 타깃 음성 패킷의 음성 콘텐츠와 기준 음성 패킷 사이에 유사성이 있는가를 판정하기 위해 추출 및 처리되도록) 단계(404)로 되돌아간다. 방법(400)은 흔히 필요에 따라 반복될 수 있다. 일 실시예에서, 예를 들어, 방법(400)은 각각의 타깃 음성 패킷에 대해 반복될 수 있다. 이러한 일 실시예에서, 버퍼링되는 타깃 패킷 스트림의 N개의 타깃 음성 패킷은, 타깃 음성 패킷의 음성 콘텐츠와 기준 음성 패킷의 음성 콘텐츠 사이의 유사성을 판정하기 위해 각각의 수신된 타깃 음성 패킷에 대해 N개의 가장 최근에 수신된 타깃 음성 패킷이 가장 최근에 수신된 K+N개의 기준 음성 패킷의 K개의 세트와 비교되도록 슬라이딩 윈도우로서 동작할 수 있다. 방법(400)은 다소 빈번히 반복될 수 있다.
도 5는 본 발명의 일 실시예에 따른 방법을 도시하고 있다. 구체적으로, 도 5의 방법(500)은 타깃 음성 패킷 및 기준 음성 패킷으로부터 추출된 주파수 정보를 이용하여 타깃 음성 패킷의 음성 콘텐츠와 기준 음성 패킷의 음성 콘텐츠 사이의 유사성을 판정하는 방법을 포함한다. 일 실시예에서, 방법(500)은 도 3의 방법(300)의 단계(304)로서 수행될 수 잇다. 순차적으로 수행되는 것으로 도시되고 설명되어 있지만, 도 5의 방법(500)의 단계 중 적어도 일부는, 도 5와 관련되어 도시되고 설명된 것과는 상이한 순서로, 동시에 수행될 수 있다. 방법(500)은 단계(502)에서 시작하여 단계(504)로 진행한다.
단계(504)에서, LSP(line spectral pair) 값은 타깃 패킷 스트림의 N개 타깃 패킷의 세트 내의 타깃 패킷으로부터 추출된다. 일 실시예에서, M개의 LSP 값의 세트는 N개 타깃 패킷의 세트 내의 N개 타깃 패킷 각각으로부터 추출된다.
일 실시예에서, N개 타깃 패킷의 세트는 연속적인 타깃 패킷이다. 이 실시예에서, N은 타깃 패킷 스트림과 연계된 타깃 윈도우의 크기이다. N의 값은 임의의 값으로 설정될 수 있다. 일 실시예에서, 예를 들어 N은 5-10개의 타깃 패킷의 범위 내에 설정될 수 있다(그러나 N의 값이 더 작거나 더 클 수 있다). 일 실시예에서, N의 값은 동적으로 적응될 수 있다(예컨대, 동적으로 증가하거나 감소할 수 있다).
일 실시예에서, M개의 LSP 값이 N개의 타깃 패킷 각각으로부터 추출된다. 일 실시예에서 M의 값은 각각의 타깃 패킷에 대한 값으로 설정될 수 있다. 일 실시예에서, 예를 들어 M은 각 타깃 패킷에 대해 10개의 LSP 값으로 설정될 수 있다(그러나 보다 적거나 많은 LSP 값이 각 타깃 패킷으로부터 추출될 수 있다).
일 실시예에서, N개 타깃 패킷으로부터 추출된 LSP 값의 세트는 2차 행렬로서 표현될 수 있다. 2차 행렬은 N 및 N으로 치수화되는데, 이 때 M은 각 타깃 패킷으로부터 추출된 LSP 값의 수이고 N은 LSP가 추출되는 연속적인 타깃 패킷의 수이다(즉 N은 타깃 패킷의 스트림과 연계된 슬라이딩 윈도우의 크기이다). N개의 타깃 패킷으로부터 추출된 M개의 LSP 값의 N개 세트에 대해 정의된 예시적 2차원 행렬은 다음과 같이 표현될 수 있다.
Figure 112010042440166-pct00001
N개의 연속적 타깃 패킷으로부터 추출된 LSP 값의 세트에 대해 정의된 2차 행렬에 도시된 바와 같이, l은 LSP 값이고, T는 LSP 값이 타깃 패킷으로부터 추출된 것을 나타내며, 제 1 아래첨자는 (i 내지 i+N의 범위에서) LSP 값이 추출되었던 타깃 패킷을 식별하고, 제 2 아래첨자는 제 1 아래첨자에 의해 식별된 타깃 패킷으로부터 추출된 LSP 값을 식별한다. 다시 말해,
Figure 112010042440166-pct00002
는 2차 행렬이 타깃 패킷 i에 대해 작성되었음을 나타내고, 2차 행렬의 각각의 행은 2차 행렬의 그 행의 LSP 값 각각과 연계된 제 1 아래첨자에 의해 식별된 타깃 패킷으로부터 추출된 M개의 LSP 값을 포함한다.
단계(506)에서, LSP 값은 기준 패킷 스트림의 K+N개의 기준 패킷의 세트 내의 기준 패킷으로부터 추출된다. 일 실시예에서, M개의 LSP 값의 세트는 K+N개 기준 패킷의 그룹 내의 K+N 기준 패킷 각각으로부터 추출된다.
K+N개 기준 패킷의 그룹은 기준 패킷의 K개 세트의 각각이 N개의 기준 패킷을 포함하는 기준 패킷의 K개 세트로서 구성되어, 기준 패킷의 K개 세트로부터의 LSP 값의 K개 세트가 된다. 이것은 N개 기준 패킷의 K개 세트 각각과 N개 타깃 패킷의 세트의 페어와이즈 평가를 가능하게 한다. 일 실시예에서, 기준 패킷의 K개 세트 각각의 N개 기준 패킷은 연속적인 기준 패킷이다. 타깃 패킷과 관련하여 설명된 바와 같이, N의 값은 임의의 값으로 설정될 수 있고, 몇몇 실시예에서는 동적으로 적응될 수 있다.
일 실시예에서, M개의 LSP 값은 기준 패킷의 K개 세트 각각의 N개 기준 패킷 각각으로부터 추출된다. 일 실시예에서, M의 값은 타깃 패킷과 연계된 M의 값과 동일하여, 기준 패킷의 K개 세트 각각에 포함된 N개 기준 패킷 각각의 LSP 값과 N개 타깃 패킷 각각의 LSP 값의 페어와이즈 평가를 가능하게 한다. 타깃 패킷과 관련하여 설명된 바와 같이, M의 값은 임의의 값으로 설정될 수 있고, 몇몇 실시예에서는 기준 패킷에 걸쳐서 변할 수 있다.
K의 값은 다수의 기준 패킷으로 표현될 수 있는 구성가능 파라미터이다. K의 값은 지원되도록 요구되는 반향 경로 지연을 나타낸다. 반향 경로 지연(시간 단위)은 패킷 샘플링 간격의 입도(granularity)를 가져야 한다. 예를 들어, EVRC 코딩에 대해, 패킷 샘플링 간격은 20㎳이다. 따라서, 이 실례에서, 본 발명에 따른 어쿠스틱 반향 제거 모듈이 (예컨대, EVRC 코딩에서처럼) 500㎳에 달하는 반향 경로 지연을 검출하도록 요구되는 경우, K의 값은 적어도 25개(또는 그 이상)의 음성 패킷으로 설정되어야 한다.
일 실시예에서, 기준 패킷의 K개 세트로부터 추출된 LSP 값의 K*N개 세트는 하나의 3차 행렬(MxKxK) 또는 K개의 2차 행렬(각각 특정 k 값에 대해 MxN)로서 표현될 수 있는데, 이 때 N은 타깃 윈도우(또한, 그에 따른 기준 윈도우)의 크기이고, K는 기준 패킷의 세트의 수(이 때 K= Kmax-Kmin+1)이며, j∈(i - Kmin... i - Kmax)이다. Kmin 및 Kmax의 값은 (이 값이 K= Kmax-Kmin+1을 만족하는 한) 임의의 값으로 설정될 수 있다. 예를 들어, K=25인 경우, Kmin 및 Kmax는 각각 0 및 24로 설정될 수 있다. 기준 패킷의 K개 세트로부터 추출된 LSP 값의 K개 세트 각각에 대해 정의된 예시적 2차 행렬은 다음과 같이 표현될 수 있다.
Figure 112010042440166-pct00003
K개의 연속적인 기준 패킷으로부터 추출된 LSP 값의 K개 세트에 대해 정의된 K개의 2차 행렬 각각에 도시된 바와 같이, l은 LSP 값이고, R은 LSP 값이 기준 패킷으로부터 추출된 것을 나타내며, 제 1 아래첨자는 (j 내지 j+N의 범위 내에서) LSP 값이 추출되었던 기준 패킷을 식별하고, 제 2 아래첨자는 제 1 아래첨자에 의해 식별되는 기준 패킷으로부터 추출되는 LSP 값을 식별한다. 다시 말해,
Figure 112010042440166-pct00004
는 2차 행렬이 기준 패킷 j에 대해 작성되었음을 나타내고, 2차 행렬의 각 행은 2차 행렬의 그 행의 LSP 값 각각과 연계되는 제 1 아래첨자에 의해 식별되는 기준 패킷으로부터 추출된 M개의 LSP 값을 포함한다.
목표 타깃으로부터의 LSP 값(또는 다른 음성 코딩 파라미터)의 추출, 기준 패킷으로부터의 LSP 값(또는 다른 음성 코딩 파라미터)의 추출, 및 추출된 LSP 값의 (예컨대, 페어와이즈 방법에 의한) 평가는 도 6과 관련하면 더욱 잘 이해될 수 있다.
도 6은 타깃 패킷 스트림의 음성 패킷과 기준 패킷 스트림의 음성 패킷 사이의 관계를 도시하여 타깃 패킷 스트림 및 기준 패킷 스트림의 프로세싱에 대한 설명을 용이하게 하기 위한 하이-레벨 블록도를 도시하고 있다. 타깃 패킷 스트림은 타깃 음성 패킷을 포함한다. 타깃 음성 패킷은 타깃 스트림 버퍼를 이용하여 AEPM(명료성을 위해 생략됨)에 의해 버퍼링된다. 타깃 스트림 버퍼는 적어도 N개의 타깃 패킷을 저장하되, 이 때 N은 타깃 패킷 스트림으로부터의 반향 검출 및 억제를 위해 타깃 패킷을 평가하는 데 이용된 슬라이딩 윈도우의 크기이다. 기준 패킷 스트림은 기준 음성 패킷을 포함한다. 기준 음성 패킷은 기준 스트림 버퍼를 이용하여 AEPM에 의해 버퍼링된다. 기준 스트림 버퍼는 적어도 K+N개의 기준 패킷을 저장하되, 이 때 K는 타깃 버퍼에 저장된 N개 타깃 패킷과 비교될 N개 기준 패킷의 세트의 수이다.
도 6에 도시된 바와 같이, 타깃 스트림 버퍼는 4개의 (N) 패킷(P1, P2, P3, P4로 표시됨)을 저장하며, 기준 스트림 버퍼는 11개의 (K+N) 패킷(P1, P2, ..., P10, P11)을 저장한다. 다시 말해, 이 실례에서, K는 (값 0 내지 7로서 표현될 수 있는) 7이다. 현재 타깃 윈도우에 대해, K 세트의 패킷 비교는 기준 윈도를 K회 (즉, 매번 하나의 패킷만큼) 슬라이딩함으로써 수행된다. 구체적으로, 타깃 패킷 P1, P2, P3, P4가 각각의 기준 패킷 P8, P9, P10, P11(즉, 기준 패킷 PK-PK +N)과 비교되는 K번째 비교까지, 제 1 비교 타깃 패킷 P1, P2, P3 및 P4에 대해서는 각각의 기준 패킷 P1, P2, P3, P4와 비교되고, 제 2 비교 타깃 패킷 등에 대해서는 각각의 기준 패킷 P2, P3, P4, P5 등과 비교된다.
본 명세서에 설명된 바와 같이, 패킷들 사이의 비교는 (예컨대, LSP 비교, 볼륨 비교 등 및 이들의 다양한 조합을 이용하여) 비교되는 타깃 패킷 및 기준 패킷으로부터 이용가능한 하나 이상의 상이한 타입의 음성 코딩 파라미터의 비교(또는 다른 평가 기술)를 포함할 수 있다. 타깃 패킷과 기준 패킷 사이의 그러한 페어와이즈 연계성을 이용한 타깃 패킷의 음성 코딩 파라미터 및 기준 패킷의 음성 코딩 파라미터의 평가는 도 5와 관련하여 보다 양호하게 이해될 수 있으며, 그에 따라 도 5를 참조한다.
단계(507)(선택적 단계)에서, 사전프로세싱이 수행된다. 사전프로세싱은 (예컨대, 도 4의 방법(400)의 단계(407)와 관련하여 도시되고 설명되는 사전프로세싱 중 하나 이상의 것과 같은) 임의의 사전프로세싱을 포함할 수 있다. 예를 들어, 타깃 패킷 및/또는 기준 패킷 중 선택된 것이 무시되고(예컨대, 1/8 레이트 음성 패킷, 에러를 갖는 음성 패킷, 텔레타이프 정보를 포함하는 음성 패킷, 및 비교에 부적합한 것으로 생각되는 다른 음성 패킷과 같이, 비교에 부적합한 것을 간주되는 음성 패킷이 간주되도록 레이트 패턴 매칭이 수행된다), 상이한 가중치가 타깃 음성 패킷 및/또는 기준 음성 패킷 중의 상이한 것들에 할당될 수 있으며, 유사성 판정을 수행하는 데 이용되는 하나 이상의 임계치가 동적으로 조절되고, 가중치가 유사성 판정의 결과에 우선적으로 할당될 수 있는 등의 프로세싱 및 이들의 다양한 조합이 수행될 수 있다.
본 명세서에 설명된 바와 같이, 일 실시예에서, 레이트 패턴 매칭은 타깃 음성 패킷의 음성 콘텐츠와 기준 음성 패킷의 음성 콘텐츠 사이에 유사성이 있는가에 대한 판정 중에 이용될 수 있다.
레이트 패턴 매칭 프로세싱의 결과는 다양한 방법에 이용될 수 있다. 일 실시예에서, 레이트 패턴 매칭 프로세싱의 결과는 타깃 음성 패킷의 음성 콘텐츠와 기준 음성 패킷의 음성 콘텐츠 사이에 유사성이 있는가에 대한 판정 중에 수행된 LSP 비교의 수를 감소시키는 데 이용될 수 있다(즉, 타깃 패킷 및 음성 패킷의 부적합한 쌍은 무시되고 LSP 비교에 이용되지 않는다). 일 실시예에서, 레이트 패턴 매칭 프로세싱의 결과는 유사성 판정의 결과가 유효인지 무효인지를 판정하는 데 이용될 수 있다. 레이트 패턴 매칭 프로세싱의 결과는 다양한 다른 목적에 이용될 수 있다.
일 실시예에서, 레이트 패턴 매칭 프로세싱은 타깃 음성 패킷의 음성 콘텐츠와 기준 음성 패킷의 음성 콘텐츠 사이에 유사성이 있는가에 대한 판정에 이용되는 각 패킷의 적합성에 관해 패킷(타깃 및/또는 기준 패킷)을 분류함으로써 수행될 수 있다. 패킷은 비교가능(즉, 유사성이 있다는 판정에 이용하기에 적합하다) 또는 비교불가능(즉, 유사성이 있다는 판정에 이용하기에 부적합하다) 중 어느 하나로서 분류될 수 있다.
패킷은 다양한 기준을 이용하여 분류될 수 있다. 일 실시예에서, 패킷은 분류된 패킷으로부터 추출된 음성 코딩 파라미터를 이용하여 각각 분류될 수 있다. 일 실시예에서, 예를 들어 패킷은 패킷으로부터 추출된 패킷 레이트 정보를 이용하여 분류될 수 있다. 이러한 일 실시예에서, 예를 들어 풀 레이트(full rate) 패킷 및 하프 레이트(half rate) 패킷은 사일런스 (1/8 레이트) 패킷, 에러 패킷 및 텔레타이프 패킷이 비교불가능으로 분류되는 동안에 비교가능으로 분류된다. 본 명세서에 설명된 바와 같이, 타깃 음성 패킷의 음성 콘텐츠와 기준 음성 패킷의 음성 콘텐츠를 비교가능 또는 비교불가능으로 분류하는 데 다른 기준이 이용될 수도 있다.
타깃 음성 패킷의 음성 콘텐츠와 기준 음성 패킷의 음성 콘텐츠 사이에 유사성이 있는가에 대한 판정 중에 수행된 LSP 비교의 수를 감소시키는 데 레이트 패턴 매칭 프로세싱의 결과가 이용되는 일 실시예에서, 오로지 비교가능한 패킷이 LSP 비교에 이용될 것이다(즉, 비교불가능한 패킷은 폐기되거나 무시될 것이다).
레이트 패턴 매칭 프로세싱의 결과가 유사성 판정의 결과의 유효성을 판정하는 데 이용되는 일 실시예에서, 매칭되는 것으로 간주되는 다수의 대응 타깃 패킷 및 기준 패킷을 판정하고, 비교가능(대비 비교불가능)으로 간주되는 다수의 타깃 패킷을 판정하며, 매칭 레이트를 갖는 대응 타깃 음성 패킷의 음성 콘텐츠와 기준 음성 패킷의 음성 콘텐츠의 수를 비교가능으로 간주되는 타깃 패킷의 수로 제산하여 레이트 패턴 매칭 값을 판정하고, 레이트 패턴 매칭 값을 레이트 패턴 매칭 임계치에 비교함으로써 레이트 패턴 매칭이 수행될 수 있다. 타깃 패킷 및 기준 패킷은 타깃 패킷 및 기준 패킷 양측 모두가 비교가능으로 간주된다면 매칭인 것으로 간주된다(타깃 패킷 및 기준 패킷 중 어느 하나 또는 그 둘 모두가 비교불가능으로 간주되는 매칭이 일어나지 않는다). 이 프로세스는 도 7의 실례와 관련하면 더욱 잘 이해될 수 있다.
도 7은 레이트 패턴 매칭 프로세싱을 설명하는 레이트 패턴 매칭 실례를 도시하고 있다. 구체적으로, 4개의 레이트 패턴 매칭 실례(비교 실례(710, 720, 730, 740)로 라벨링됨)가 도시된다. 도 7에 도시된 바와 같이, 각각의 비교 실례는 4개의 타깃 패킷("T"로 표시되고, 패킷 번호 P1, P2, P3, P4로 표시되며, 각 패킷의 패킷 레이트를 나타내는 정보를 포함함)과 4개의 기준 패킷("R"로 표시되고, 패킷 번호 P1, P2, P3, P4로 표시되며, 각 패킷의 패킷 레이트를 나타내는 정보를 포함함)의 비교를 포함한다.
비교 실례(710)에서, 타깃 패킷 P1, P2, P3, P4는 각각 1, 1/2, 1/8, 1/2의 패킷 레이트를 가지며, 기준 패킷 P1, P2, P3, P4는 각각 1/2, 1, 1, 1/2의 패킷 레이트를 갖는다. 이 실례에서는, 기준 패킷에 대한 타깃 패킷의 3개 매칭(P1, P2, P4)이 존재하고, 3개의 비교가능한 타깃 패킷(P3이 비교불가능함)이 존재하여, 레이트 패턴 매칭 값은 3/3=100%이다. 이 실례에서의 임계치가 75%이므로, 연계된 유사성 판정은 레이트 패턴 매칭 값이 레이트 패턴 매칭 임계치를 충족하기 때문에 유효한 것으로 간주될 것이다.
비교 실례(720)에서, 타깃 패킷 P1, P2, P3, P4는 각각 1, 1/2, 1/2, 1/2의 패킷 레이트를 가지며, 기준 패킷 P1, P2, P3, P4는 각각 1/2, 1, 1/8, 1/2의 패킷 레이트를 갖는다. 이 실례에서는, 기준 패킷에 대한 타깃 패킷의 3개 매칭(P1, P2, P4)이 존재하고, 4개의 비교가능한 타깃 패킷이 존재하여, 레이트 패턴 매칭 값은 3/4=75%이다. 이 실례에서의 임계치가 75%이므로, 연계된 유사성 판정은 레이트 패턴 매칭 값이 레이트 패턴 매칭 임계치를 충족하기 때문에 유효한 것으로 간주될 것이다.
비교 실례(730)에서, 타깃 패킷 P1, P2, P3, P4는 각각 1, 1/2, 1/8, 1/2의 패킷 레이트를 가지며, 기준 패킷 P1, P2, P3, P4는 각각 1/8, 1/2, 1, 1/2의 패킷 레이트를 갖는다. 이 실례에서는, 기준 패킷에 대한 타깃 패킷의 2개 매칭(P2, P4)이 존재하고, 3개의 비교가능한 타깃 패킷(P3이 비교불가능함)이 존재하여, 레이트 패턴 매칭 값은 2/3=67%이다. 이 실례에서의 임계치가 75%이므로, 연계된 유사성 판정은 레이트 패턴 매칭 값이 레이트 패턴 매칭 임계치를 충족하지 않기 때문에 무효한 것으로 간주될 것이다.
비교 실례(740)에서, 타깃 패킷 P1, P2, P3, P4는 각각 1/8, 1/2, 1/8, 1/2의 패킷 레이트를 가지며, 기준 패킷 P1, P2, P3, P4는 각각 1/8, 1/2, 1, 1/2의 패킷 레이트를 갖는다. 이 실례에서는, 기준 패킷에 대한 타깃 패킷의 2개 매칭(P2, P4)이 존재하고, 2개의 비교가능한 타깃 패킷(P1 및 P3 각각은 비교불가능함)이 존재하여, 레이트 패턴 매칭 값은 2/2=100%이다. 이 실례에서의 임계치가 75%이므로, 연계된 유사성 판정은 레이트 패턴 매칭 값이 레이트 패턴 매칭 임계치를 충족하기 때문에 유효한 것으로 간주될 것이다.
레이트 패턴 매칭 값을 판정하는 구체적인 방법에 관하여 도시되고 설명되어 있지만, 레이트 패턴 매칭 값은 다양한 다른 방법으로 결정될 수 있다. 일 실시예에서, 예를 들어, 레이트 패턴 매칭 값은 (본 명세서에서 전술한 바와 같이, 레이트 패턴 매칭 값이 비교가능으로 간주되는 다수의 타깃 패킷을 이용하여 계산되는 경우보다) 비교가능으로 간주되는 다수의 기준 패킷을 이용하여 계산될 수 있다. 레이트 패턴 매칭 값은 다른 방법으로 계산될 수 있다.
주로, 레이트 패턴 매칭 임계치가 특정한 값(즉, 레이트 패턴 매칭 임계치 = 75%)인 실시예에 관해 도시되고 설명되어 있지만, 레이트 패턴 매칭 임계치는 임의의 값일 수 있다. 또한, 몇몇 실시예에서, 레이트 패턴 매칭 임계치는 정적일 수 있지만, 다른 실시예에서 레이트 패턴 매칭 임계치는 (예컨대, 추출된 음성 코딩 파라미터, 사전프로세싱 결과 등 및 이들의 다양한 조합 중 하나 이상에 기초하여) 동적으로 업데이트될 수도 있다.
주로, 비교가능 패킷 또는 비교불가능 패킷으로 분류되는 것과 관련하여 도시되고 설명되어 있지만, 음성 패킷은 상이한 패킷 카테고리 및/또는 더 많은 패킷 카테고리를 이용하여 분류될 수 있다. 주로, 음성 패킷 각각과 연계된 소정 정보에 기초하여 분류되는 것으로 도시되고 설명되어 있지만, 음성 패킷 각각은 (각각의 음성 패킷으로부터 추출된 음성 코딩 파라미터를 포함할 수도 있고 또는 포함하지 않을 수도 있는) 다양한 다른 기준 및 기준의 조합에 기초하여 분류될 수 있다.
일 실시예에서, 레이트/타입 매칭은 타깃 음성 패킷의 음성 콘텐츠와 기준 음성 패킷의 음성 콘텐츠 사이에 유사성이 있는가에 대한 판정 중에 이용될 수 있다.
레이트/타입 매칭 프로세싱의 결과는 다수의 방법에 이용될 수 있다. 일 실시예에서, 레이트/타입 매칭 프로세싱의 결과는 타깃 음성 패킷의 음성 콘텐츠와 기준 음성 패킷의 음성 콘텐츠 유사성이 있는가에 대한 판정 중에 수행되는 LSP 비교의 수를 감소시키는 데 이용될 수 있다(즉, 타깃 패킷 및 음성 패킷의 부적합한 쌍이 무시된다). 일 실시예에서, 레이트/타입 매칭 프로세싱의 결과는 유사성 판정의 결과가 유효한지 무효한지를 판정하는 데 이용될 수 있다. 레이트/타입 매칭 프로세싱의 결과는 다양한 다른 목적에 이용될 수 있다.
일 실시예에서, 레이트/타입 매칭은 패킷을 분류함으로써 수행되는데, 이 때 각 패킷은 그 패킷의 레이트 및 그 패킷의 타입의 조합을 이용하여 분류된다. 타입은 패킷의 하나 이상의 특성에 기초하여 할당될 수 있다. 일 실시예에서, 예를 들어, 패킷의 타입은 그 패킷의 인코딩 타입에 기초하여 할당될 수 있다. 타깃 윈도우 내의 타깃 패킷의 패킷 카테고리는 기준 윈도우 내의 대응 기준 패킷의 패킷 카테고리에 비교된다. 패킷 비교의 상이한 가능한 결합은 각각의 가중치를 할당받는다. 타깃 윈도우 내의 타깃 패킷과 기준 윈도우 내의 기준 패킷 사이의 패킷 비교와 연계되는 가중치의 합은 연계된 유사성 판정이 유효로 간주되는지 무효로 간주되는지를 판정하도록 임계치와 비교된다.
예를 들어, EVRC-B에서, 상이한 패킷 레이트(예컨대, 전, 반, 1/4, 1/8) 및 상이한 패킷 인코딩(예컨대, CELP, PPP, NELP)이 있다. 패킷 레이트 및 패킷 타입의 조합을 이용하여, 81개의 가능한 순열을 제공할 수 있는 현재 9개의 패킷 카테고리(예컨대, 풀 레이트, 하프 레이트 및 특수 하프 레이트 CELP; 풀 레이트, 특수 하프-레이트, 및 쿼터-레이트 PPP; 특수 하프-레이트 및 쿼터-레이트 NELP; 및 1/8 레이트인 사일런스)가 존재한다. EVRC-B 실례에서, 각 타입의 패킷 비교가 가중치를 할당받을 것이다. 예를 들어, 풀 레이트 CELP인 타깃 패킷과 풀 레이트 CELP인 기준 패킷과의 비교는 가중치를 할당받고, 쿼터 레이트 NELP인 타깃 패킷과 특수 하프-레이트 PPP인 기준 패킷의 비교 등이 가중치를 할당받는다. 타깃 패킷의 타깃 윈도우와 기준 패킷의 기준 윈도우에 대한 유사성 판정은 타깃 패킷이 기준 패킷과 비교될 때 식별되는 비교 타입의 가중치를 합산하고 그 가중치의 합과 임계치를 비교함으로써 평가된다.
이 EVRC-B 실례가 적어도 9개의 상이한 패킷 카테고리가 되기 때문에, 레이트/타입 매칭의 동작을 설명함에 있어서 명료성을 위해, A, B 및 C로 표시되는 3개의 패킷 카테고리가 있다고 가정한다. 이 간략화된 실례에서, 타깃 패킷과 기준 패킷 사이의 패킷 비교의 가능한 9가지 결합, 즉 A-A(0), A-B(1) A-C(2), B-A(1), B-B(0), B-C(3), C-A(2), C-B(3), C-C(0)이 존재하며, 이들 각각은 연계된 가중치(비교 타입 연의 괄호에 리스트됨)를 할당받는다. 이 실례에서, 임계치는 가중치의 합이 2 이하인 경우에는 유사성 판정이 유효하고 가중치의 합이 2보다 큰 경우에는 유사성 판정이 무효하도록 임계가 2인 것을 가정한다.
이 실례에 이어서, 타깃 윈도우와 기준 윈도우의 제 1 비교가 있음을 가정한다. 타깃 윈도우는 (B, A, C, A)이고, 기준 윈도우는 (A, B, C, A)이므로, (1, 1, 0, 0)의 연계된 가중치를 갖는 (B-A, A-B, C-C, A-A)의 패킷 비교가 된다. 이 실례에서, 가중치의 합은 임계치와 동일한 2이다. 따라서, 이 실례에서는 유사성 판정이 유효하다는 판정이 이루어진다.
이 실례에 이어서, 타깃 윈도우와 기준 윈도우의 제 2 비교가 있음을 가정한다. 타깃 윈도우는 (C, B, C, A)이고, 기준 윈도우는 (A, B, C, A)이므로, (2, 0, 0, 0)의 연계된 가중치를 갖는 (C-A, B-B, C-C, A-A)의 패킷 비교가 된다. 이 실례에서, 가중치의 합은 임계치와 동일한 2이다. 따라서, 이 실례에서는 유사성 판정이 유효하다는 판정이 이루어진다.
이 실례에 이어서, 타깃 윈도우와 기준 윈도우의 제 2 비교가 있음을 가정한다. 타깃 윈도우는 (A, C, C, A)이고, 기준 윈도우는 (A, B, C, A)이므로, (0, 3, 0, 0)의 연계된 가중치를 갖는 (A-A, C-B, C-C, A-A)의 패킷 비교가 된다. 이 실례에서, 가중치의 합은 임계치보다 큰 3이다. 따라서, 이 실례에서는 유사성 판정이 무효하다는 판정이 이루어진다.
주로, 가중치가 대칭이라는(예컨대, A-B의 가중치가 1이고 B-A의 가중치가 1인) 실례에 대하여 설명되고 있지만, 다른 실시예에서는 비대칭 가중치가 이용될 수도 있다(예컨대, A-B의 가중치가 1이고 B-A의 가중치가 3일 수 있다). 임계치보다 작은 가중치의 합이, 유사성 판정이 유효하다는 것을 나타내는 실시예와 관련하여 설명되고 있지만, 다른 실시예에서, 가중치는 임계치보다 큰 가중치 합이 유사성 판정이 유효하다는 것을 나타내도록 가중치가 패킷 비교에 할당될 수 있다. 가중치 및 임계치의 특정 값과 관련하여 설명되고 있지만, (정적 임계치 및/또는 동적 임계치를 포함하는) 가중치 및/또는 임계치의 다른 다양한 값이 이용될 수도 있다.
주로, 타깃 패킷의 음성 콘텐츠와 기준 패킷의 음성 콘텐츠 사이에 유사성이 있는가를 판정하기 위한 (예컨대, LSP 비교를 이용하여 이루어진 유사성 판정이 유효한가 무효한가를 판정하기 위한) LSP 비교의 조합에 레이트/타입 매칭을 이용하는 것과 관련하여 설명되고 있지만, 일 실시예에서, 레이트/타입 매칭은 또한 타깃 패킷의 음성 콘텐츠와 기준 패킷의 음성 콘텐츠 사이에 유사성이 있는가 또는 없는가를 판정하기 위한 LSP 비교 대신에 이용될 수 있다. 이 실시예에서, 가중치의 합과 임계치와의 비교는 (본 명세서에서 전술한 바와 같이, LSP 비교를 이용하여 이루어진 유사성 판정의 유효성을 판정하기 위한 것보다) 타깃 패킷의 음성 콘텐츠와 기준 패킷의 음성 콘텐츠 사이에 유사성이 있는가 없는가를 판정하는 데 이용된다.
단계(508)에서, 거리 벡터(
Figure 112010042440166-pct00005
으로 표시됨)가 생성된다. 거리 벡터
Figure 112010042440166-pct00006
는 i - Kmin...i - Kmax의 윈도우 동안에 수신된 N개 기준 패킷의 K개 세트로부터 추출된 LSP 값의 K개 세트 각각과 N개 타깃 패킷으로부터 추출된 LSP 값 사이의 거리로서 계산된 K 거리 값을 포함한다. 보다 구체적으로, 타깃 패킷 i로 시작하는 N개 타깃 패킷의 윈도우에 대응하는 거리 벡터
Figure 112010042440166-pct00007
은 K개(K = Kmax - Kmin + 1)의 거리 값들의 벡터로서
Figure 112010042440166-pct00008
로 정의되는데, 이 때 각각의 거리 값
Figure 112010042440166-pct00009
(Kmin ≤ k≤ Kmax)은 다음과 같이 정의된다.
Figure 112010042440166-pct00010
단계(510)에서, 거리 벡터
Figure 112010042440166-pct00011
의 최소 거리 값
Figure 112010042440166-pct00012
이 (
Figure 112010042440166-pct00013
, ∀ Kmin≤k≤Kmax에 대해
Figure 112010042440166-pct00014
로서) 식별된다. 단계(512)에서, 최소 거리 값
Figure 112010042440166-pct00015
은 최소 거리 값
Figure 112010042440166-pct00016
이 LSP 유사성 임계치 eth를 충족시키는가를 판정하기 위해 임계치(LSP 유사성 임계치 eth로서 표시됨)와 비교된다. 비교는
Figure 112010042440166-pct00017
또는
Figure 112010042440166-pct00018
> eth로서 수행될 수 있다.
일 실시예에서, LSP 유사성 임계치 eth는 사전정의된 임계치이다. 일 실시예에서, LSP 유사성 임계치 eth는 동적으로 적응가능하다. 일 실시예에서, LSP 유사성 임계치 eth는 추출된 음성 코딩 파라미터에 기초하여 동적으로 적응될 수 있다. 이러한 일 실시예에서, 예를 들어, LSP 유사성 임계치 eth는 (예컨대, 추출된 음성 코딩 파라미터가 사전프로세싱 동안, LSP 유사성 판정 프로세싱 동안 등 및 이들의 다양한 조합 동안에 처리될 수 있는) 추출된 음성 코딩 파라미터의 동적으로 적응된 프로세싱일 수 있다.
일 실시예에서, 예를 들어 LSP 유사성 임계치 eth는 타깃 패킷 및/또는 기준 패킷으로부터 추출된 볼륨 정보에 기초하여 동적으로 적응될 수 있다. 이러한 일 실시예에서, 예를 들어, 타깃 패킷(들) 내의 음성 콘텐츠의 볼륨이 낮을 때(예컨대 임계치보다 낮을 때), LSP 유사성 임계치 eth는 증가한다(그 이유는 타깃 패킷(들) 내의 음성 콘텐츠의 볼륨이 낮다면 인코딩된 음성이 양자화/인코딩 효과로 인해 왜곡되는 것이 가능하기 때문이다). 주로, 음성 콘텐츠의 볼륨에 기초하여 LSP 유사성 임계치 eth를 적응하는 것에 관해 설명되고 있지만, LSP 유사성 임계치 eth는 그 밖의 다양한 파라미터에 기초하여 적응(즉, 증가 또는 감소)될 수 있다.
본 명세서에서 설명되는 바와 같이, 거리 벡터
Figure 112010042440166-pct00019
의 최소 거리 값
Figure 112010042440166-pct00020
은 유사성이 현재 타깃 패킷(즉, 타깃 패킷 i)에 대해 검출되는가의 여부를 판정하기 위해 LSP 유사성 임계치 eth와 비교된다.
Figure 112010042440166-pct00021
> eth인 경우에 유사성은 현재 타깃 패킷에 대해 검출되지 않으며(단계(514)로 표시됨), 단계(514)로부터, 방법(500)은 단계(504)로 진행하여 다음 현재 타깃 패킷, 즉 i=i+1에 대해 방법(500)을 재실행한다.
Figure 112010042440166-pct00022
< eth인 경우에 유사성은 현재 타깃 패킷에 대해 검출되며(단계(516)로 표시됨), 단계(516)로부터, 방법(500)은 단계(504)로 진행하여 다음 현재 타깃 패킷, 즉 i=i+1에 대해 방법(500)을 재실행한다.
주로, 기준 패킷의 세트 및 타깃 패킷으로부터 추출된 LSP 값의 행렬을 유지하는 것과 관련하여 도시되고 설명되어 있지만, 추출된 LSP 값은 추출된 LSP 값의 평가를 가능하게 하는 임의의 방법으로 유지될 수 있다. 주로, K개의 거리 값을 포함하는 거리 벡터
Figure 112010042440166-pct00023
를 생성하는 것과 관련하여 도시되고 설명되어 있지만, LSP 값의 K개 세트와 연계된 K개 거리 값은 각각 벡터 내의 K개 거리 값을 유지시키지 않고 계산될 수 있다(예컨대, K개의 거리 값은 유사성이 식별되는가를 판정하도록 K개 거리 값을 처리하기 위해 단순히 메모리 내에 저장될 수 있다).
주로, 유사성이 식별되는가를 판정하기 위해 최소 거리 값(즉, 거리 값 중 단 하나의 값)이 LSP 유사성과 비교되는 실시예와 관련하여 본 명세서에 도시되고 설명되어 있지만, 다른 실시예에서는 유사성이 식별되는가를 판정하기 위해 다중 거리 값이 LSP 유사성 임계치와 비교될 수 있다. 이러한 일 실시예에서, 예를 들어 소정 수의 거리 값은 유사성이 식별되도록 하기 위해 LSP 유사성 임계치보다 작아야 한다(즉, 임계 수의 거리 값은 유사성이 식별되도록 하기 위해 LSP 유사성 임계치보다 작아야 한다).
주로, LSP 유사성 임계치와의 비교가 수행되기 이전에 거리 벡터의 모든 거리 값이 계산되는 실시예와 관련하여 본 명세서에서 도시되고 설명되어 있지만, 일 실시예에서, 거리 벡터의 각 거리 값은 거리 값이 계산될 때 LSP 유사성 임계치와 비교될 수 있다.
이러한 일 실시예에서, 유사성을 식별하기 위해 오직 하나의 거리 값만이 LSP 유사성 임계치보다 작도록 요구되는 경우, 유사성은 거리 값 중 하나의 거리 값이 (즉, 거리 벡터의 나머지 거리 값을 계산하는 것보다) LSP 유사성 임계치보다 작다는 판정에 응답하여 식별될 수 있다. 예를 들어, K=25인 경우, (1 내지 25개 중 어느 곳에서인가의 거리 값이 계산된 후에 판정될 수 있는) LSP 유사성 임계치보다 작은 제 1의 거리 값의 검출 시, 유사성이 식별된 것으로 간주된다.
이러한 다른 실시예에서, 유사성을 식별하기 위해 다중 거리 값이 LSP 유사성 임계보다 작도록 요구되는 경우(예컨대 임계 수의 거리 값이 LSP 유사성 임계치보다 작아야 하는 경우), 유사성은 임계 수의 거리 값이 (즉, 거리 벡터의 나머지 값을 계산하는 것보다) LSP 유사성 임계치보다 작다는 판정에 대한 응답으로 식별될 수 있다. 예를 들어, K=25이고 25개 거리 값 중 적어도 10개의 거리 값이 유사성을 식별하기 위해 LSP 유사성 임계치보다 작아야 하는 경우, (1 내지 25개 중 어느 곳에서인가의 거리 값이 계산된 후에 판정될 수 있는) LSP 유사성 임계치보다 작은 제 10의 거리 값의 검출 시, 유사성이 식별된 것으로 간주된다.
주로, 거리 값이 추출된 LSP 값을 이용하여 계산되는 실시예에 관하여 도시되고 설명되어 있지만, 다른 실시예에서는 거리 값이 가중된 LSP 값을 이용하여 계산될 수 있다.
일 실시예에서, 예를 들어, 각각의 타깃 패킷 및 각각의 기준 패킷으로부터 추출된 M개의 LSP 값 각각은 가중치를 할당받을 수 있고, 거리 값을 계산하기 이전에 할당받은 가중치에 따라 LSP 값이 조절될 수 있다.
다른 실시예에서, 예를 들어, 각각의 음성 패킷에 대해, 그 음성 패킷으로부터 추출된 LSP 값의 합은 그 음성 패킷의 하나 이상의 다른 특성에 기초하여 가중치를 할당받을 수 있다. 예를 들어, 가중치는 패킷 타입(예컨대, 하프 레이트, 풀 레이트, 등), 패킷 카테고리(예컨대, 비교가능 및/또는 비교불가능, 및 그 밖의 카테고리), 신뢰도(예컨대, (볼륨, 레이트 등과 같은) 추출된 음성 코딩 파라미터 중 하나 이상의 파라미터에 비례할 수 있음), 하나 이상의 시퀀스 유도 행렬 등 및 이들의 다양한 조합 중 하나 이상의 것에 기초하여 음성 패킷으로부터 추출된 LSP 값의 합에 할당될 수 있다.
주로, 거리 값이 유클리드 거리 값인 실시예와 관련하여 도시되고 설명되어 있지만, 다른 실시예에서는, 다른 타입의 거리 값이 타깃 패킷의 음성 콘텐츠와 기준 패킷의 음성 콘텐츠 사이에 유사성이 있는가를 판정하는 데 이용될 수 있다. 예를 들어, 선형 거리 값, 큐빅 거리 값 등과 같은 다른 타입의 거리 값이 타깃 패킷의 음성 콘텐츠와 기준 패킷의 음성 콘텐츠 사이에 유사성이 있는가를 판정하는 데 이용될 수 있다.
또한, 주로, 거리 값이 타깃 패킷의 음성 콘텐츠와 기준 패킷의 음성 콘텐츠 사이에 유사성이 있는가를 판정하는 실시예와 관련하여 도시되고 설명되어 있지만, 타깃 패킷의 음성 콘텐츠와 기준 패킷의 음성 콘텐츠 사이에 유사성이 있는가에 대한 판정은 다른 타입의 비교를 이용하여 수행될 수도 있다.
도 5에 도시된 바와 같이, 일 실시예에서, 선택적 사후프로세싱이 수행될 수 있다. 사후프로세싱은 임의의 최적화 발견 방법(optimization heuristics)을 포함할 수 있다. 일 실시예에서, 사후프로세싱은 유사성이 식별된다는 최종 판정이 이루어지기 전에 수행될 수 있다. 이러한 일 실시예에서, 사후프로세싱은 식별된 유사성이 유효인지 무효인지를 판정하기 위한 방법으로 수행된다. 다시 말해, 사후프로세싱은 허위 긍정을 제거하고자 하는 방법으로(즉, 타깃 패킷의 음성 콘텐츠와 기준 패킷의 음성 콘텐츠 사이의 유사성의 허위 식별을 제거하기 위해) 수행될 수 있다.
도 5에 도시된 바와 같이, 사후프로세싱이 수행되는 실시예에서, 유사성이 단계(512)에서 식별되면, 방법(500)은 단계(512)로부터 (단계(516)로 직접 진행하기보다는) 단계(515A)로 진행한다. 단계(515A)에서, 하나 이상의 최적화 발견 방법을 포함할 수 있는 사후프로세싱은 식별된 유사성의 유효성을 평가하도록 (즉, 단계(512)에서 식별된 유사성이 허위 긍정이었는가를 판정하도록) 수행된다. 단계(515B)에서는 식별된 유사성이 유효한가에 대해 판정이 이루어진다. 식별된 유사성이 유효한가에 대한 판정은 사후프로세싱에 기초하여 이루어진다.
식별된 유사성이 유효하지 않다면(즉, 식별된 유사성이 허위 긍정이었다는 판정이 이루어지면), 현재 타깃 패킷에 대해 유사성이 식별되지 않으며(즉, 방법(500)은 단계(514)로 진행하며), 단계(514)로부터, 방법(500)은 단계(504)로 진행하여 다음의 현재 타깃 패킷, 즉 i=i+1에 대해 방법(500)을 재실행한다. 식별된 유사성이 유효하다면(즉, 식별된 유사성이 허위 긍정이 아니었다는 판정이 이루어지면), 현재 타깃 패킷에 대해 유사성이 식별되고(즉 방법(500)이 단계(516)로 진행하고), 단계(516)로부터, 방법(500)은 단계(504)로 진행하여 다음의 현재 타깃 패킷, 즉 i=i+1에 대해 방법(500)을 재실행한다.
사후프로세싱은 식별된 유사성이 유효한가를 평가하는 임의의 방법으로 수행될 수 있다. 일 실시예에서, 사후프로세싱은 타깃 패킷 및 기준 패킷으로부터 추출된 LSP 값을 이용하여 수행될 수 있다. 일 실시예에서, 사후프로세싱은 타깃 패킷 및/또는 기준 패킷으로부터 추출된 다른 음성 코딩 파라미터(예컨대, 레이트 정보, 인코딩 타입 정보, 볼륨/파워 정보, 이득 정보 등 및 이들의 다양한 조합)를 이용하여 수행될 수 있다. 다른 음성 코딩 파라미터는 임의의 시간(예컨대, LSP 값이 추출될 때, 추출된 LSP 값을 이용하여 유사성이 식별된 후 등)에 타깃 패킷 및 기준 패킷으로부터 추출될 수 있다. 일 실시예에서, 사후프로세싱은 도 4의 방법(400)의 단계(409)와 관련하여 도시되고 설명된 바와 같이 수행될 수 있다.
일 실시예에서, 타깃 패킷의 음성 콘텐츠와 기준 패킷의 음성 콘텐츠 사이의 유사성이 식별되면, 식별된 유사성의 유효성이 평가될 수 있다. 식별된 유사성의 유효성 평가는 다수의 상이한 방법으로 수행될 수 있다. 본 명세서에서 설명된 바와 같이, 식별된 유사성의 유효성 평가는 타깃 음성 패킷 및 기준 음성 패킷의 평가, 레이트 패턴 매칭, 레이트/타입 매칭 등 및 이들의 다양한 조합을 이용하여 수행될 수 있다.
일 실시예에서, 식별된 유사성의 유효성 평가는 타깃 패킷의 음성 콘텐츠의 볼륨 특성과 기준 패킷의 음성 콘텐츠의 볼륨 특성의 비교를 이용하여 수행될 수 있다. 식별된 유사성의 유효성 평가는 식별된 유사성의 유효성을 평가하는 방법과 결부되어 또는 그 방법을 대신하여 수행될 수 있는 볼륨 특성의 비교를 이용하여 수행될 수 있다.
이러한 일 실시예에서, 볼륨 정보가 각각의 타깃 패킷으로부터 추출되고, 볼륨 정보가 각각의 기준 패킷으로부터 추출되며, 추출된 볼륨 정보가 평가된다. 추출된 볼륨 정보는 페어와이즈 방법(즉, 도 5와 관련하여 도시되고 설명된 페어와이즈 LSP 비교와 유사한 방법)으로 평가될 수 있다. 볼륨 정보는 임의의 방법으로 프로세스 중의 임의의 지점에서 추출될 수 있다. 예를 들어, 볼륨 정보는 (예를 들어 어떠한 볼륨 비교도 수행되도록 요구되지 않는 볼륨 정보의 추출을 방지하기 위해) LSP 정보가 추출될 때 추출되거나, 또는 유사성이 식별된 후에만 추출될 수 있다.
일 실시예에서, K회의 볼륨 비교(즉, 볼륨 비교는 N개 타깃 패킷과 N개 기준 패킷의 K세트 세트 중 하나의 세트와의 각각의 조합마다 1회)가 수행된다. 이 실시예에서, 볼륨 비교 값은 N개 기준 패킷의 K개 세트 중 하나의 세트와 N개 타깃 패킷과의 각각의 조합마다 계산되어, K개 볼륨 비교값의 세트(또는 벡터)를 생성한다. 일 실시예에서, K개 볼륨 비교 값 각각은 볼륨 임계치 vTH와 비교된다. 볼륨 비교 값이 vTH를 충족하는 경우에는 N개 기준 패킷의 K개 세트 중 연계된 세트와 N개 타깃 패킷과의 그 조합에 대한 연계된 LSP 비교는 유효한 것으로 간주되며, 볼륨 비교 값이 vTH를 충족하지 않는 경우에는 N개 기준 패킷의 K개 세트 중 연계된 세트와 N개 타깃 패킷과의 그 조합에 대한 연계된 LSP 비교는 무효인 것으로 간주된다.
일 실시예에서, K개 볼륨 비교 값은 i - Kmin...1 - Kmax - N의 윈도우 동안에 수신된 N개 기준 패킷의 K개 세트로부터 추출된 볼륨 값의 K개 세트 각각과 N개 타깃 패킷으로부터 추출된 볼륨 값 사이의 비율로서 계산된다. 일 실시예에서, K개 볼륨 비교 값은 볼륨 비교 벡터(
Figure 112010042440166-pct00024
로 표시됨)를 형성한다. 이 실시예에서, 타깃 패킷 i로 시작하는 N개 타깃 패킷의 윈도우에 대응하는 볼륨 비교 벡터
Figure 112010042440166-pct00025
는 K개(K = Kmax - Kmin +1) 볼륨 비교 값의 벡터로서
Figure 112010042440166-pct00026
로 정의된다. 일 실시예에서, 볼륨 비교 값
Figure 112010042440166-pct00027
(Kmin ≤ k ≤Kmax)은 다음과 같이 계산된다.
Figure 112010042440166-pct00028
주로, 레이트 패턴 매칭, 레이트/타입 매칭, 및/또는 식별된 유사성이 유효하다고 간주되는가를 판정하기 위한 볼륨 비교 기술과 관련하여 도시되고 설명되어 있지만, 타깃 음성 패킷 및/또는 기준 음성 패킷으로부터 추출된 다양한 다른 음성 코딩 파라미터는 식별된 유사성이 유효한 것으로 간주되는가를 판정하는 데 이용될 수 있다. 예를 들어, FCB 이득 정보, ACB 이득 정보, 피치 정보 등 및 이들의 다양한 조합 중 하나 이상의 것이, 식별된 유사성이 유효한 것으로 간주되는가를 판정하는 데 이용될 수 있다.
도 5에 도시된 바와 같이, 현재 타깃 패킷에 대한 유사성이 식별되면(단계(516)로 표시됨), 반향-후부(echo-tail)는 유사성 판정의 산물로서 자동 식별된다. 반향 경로 지연은 DELAY=k*f로서 계산되는데, 이 때 k는 최소 거리 값(즉, 도 5의 방법(500)의 단계(510)에서 식별된
Figure 112010042440166-pct00029
)과 연계된 k의 값이고, f는 이용된 코딩 타입에 따라 변할 수 있는 샘플링 간격(예컨대, EVRC 코딩에 대해 20ms)이다. 따라서, 본 발명을 이용하면, 반향 경로 지연은 타깃 패킷 스트림의 타깃 패킷에 의해 전달되는 음성 콘텐츠와 기준 패킷 스트림의 기준 패킷에 의해 전달되는 음성 콘텐츠 사이에 유사성이 있는가에 대한 판정의 산물로서 용이하게 판정된다.
본 명세서에 설명된 바와 같이, 히스테리시트는 타깃 패킷의 음성 콘텐츠가 기준 패킷의 음성 콘텐츠의 반향을 포함하는가를 판정하는 데 이용될 수도 있고 또는 이용되지 않을 수도 있다. 히스테리시스가 이용되지 않는 실시예에서, 현재 타깃 패킷에 대해 수행되는 프로세싱에 기초한 유사성의 식별은 타깃 패킷 스트림의 음성 콘텐츠에서 기준 패킷 스트림의 음성 콘텐츠의 반향의 식별로서 간주된다. 히스테리시스가 이용되는 실시예에서, 현재 타깃 패킷에 대해 수행되는 프로세싱에 기초한 유사성의 식별은 타깃 패킷 스트림의 음성 콘텐츠에서 기준 패킷 스트림의 음성 콘텐츠의 반향의 식별인 것으로 간주될 수도 있고 또는 그렇지 않을 수도 있다(즉, 판정은 하나 이상의 히스테리시스 상태에 의존할 것이다).
일 실시예에서, 본 발명의 반향 검출에 대한 히스테리시스의 적용은 반향이 검출되었다는 판정이 이루어지기 전에 h개의 연속 타깃 패킷에 대해(즉, 유사성이 식별되는 방법(500)의 h개의 연속 실행에 대해) 유사성의 식별을 요구할 수도 있다. 일 실시예에서, 타깃 패킷의 음성 콘텐츠는 (예컨대, h보다 큰 각각의 연속 타깃 패킷에 대해) 유사성이 연속 타깃 패킷에서 계속해서 식별되는 한 기준 패킷의 음성 콘텐츠의 반향을 포함하는 것으로 간주될 수 있다. 일 실시예에서, 타깃 패킷의 음성 콘텐츠는 h개의 연속 타깃 패킷이 유사성의 식별 없이 처리될 때까지 기준 패킷의 음성 콘텐츠의 반향을 포함하는 것으로 간주될 수 있다. 다시 말해, h=1인 경우, 단일 유사성의 식별은 반향의 검출인 것으로 간주된다(즉, h=1은 비-히스테리시스(non-hysteresis) 실시예이다).
일 실시예에서, 히스테리시스 판정이 각각의 타깃 패킷 스트림과 연계된 상태를 이용하여 관리될 수 있다. 이러한 일 실시예에서, 각각의 타깃 패킷 스트림은 항상 두 가지 상태, 즉 NON-ECHO 상태(즉, 반향이 검출되지 않은 것으로 간주되는 상태) 및 ECHO 상태(즉, 반향이 검출된 것으로 간주되는 상태) 중 하나일 수 있다. 타깃 패킷 스트림이 NON-ECHO 상태라면, 타깃 패킷 스트림은 타깃 패킷 스트림이 ECHO 상태로 전환되는 지점에서 유사성이 h개의 연속 패킷에 대해 식별될 때까지 NON-ECHO 상태이다. 타깃 패킷 스트림이 ECHO 상태라면, 타깃 패킷 스트림은 타깃 패킷 스트림이 NON-ECHO 상태로 전환되는 지점에서 h개(또는 몇몇 다른 수)의 연속 패킷이 유사성의 식별 없이 처리될 때까지 ECHO 상태를 유지한다.
따라서, 반향이 검출되기 전에 h개의 연속 타깃 패킷에 대한 유사성의 식별을 요구하는 히스테리시스와 관련하여, 방법(500)이 도 3의 방법(300)의 단계(304)로서 수행되는 경우, 도 3의 방법(300)의 단계(304)는 도 5의 방법(500)의 h개의 연속 실행이 유사성의 식별을 안출할 때까지 반복될 필요가 있다. 다시 말해, 명료성을 위해 생략되었지만, 방법(300)의 단계(306)는 도 5의 방법(500)의 h개의 연속 실행이 유사성 식별을 안출할 때까지 반향의 검출을 방지함으로써 히스테리시스를 구현할 수 있다. 또한, 히스테리시스가 반향을 검출하기 위해 이용되는 경우, 반향이 검출되었다는 초기 판정에 대한 응답으로 반향 억제가 타깃 패킷(들)에 적용되기 전에 추가적 사후프로세싱이 수행될 수 있다. (도 3의 단계(306)와 단계(308) 사이에 배치되는 선택적 프로세싱 단계로서 동작할 수 있는) 이 추가 사후프로세싱은, 도 4의 단계(409) 및 도 5의 단계(515)와 관련하여 설명된 사후프로세싱과 유사한 사후프로세싱을 포함하되 이러한 것으로 제한되는 것은 아닌 임의의 타입의 사후프로세싱일 수 있다.
주로, 패킷 네트워크 내에 배치되는 어쿠스틱 반향 프로세싱 모듈을 이용하여(예시적으로 도 1의 패킷 네트워크(102) 내에 배치된 AEPM(120)을 사용하여), 반향 검출 및 억제를 제공하는 것과 관련하여 도시되고 설명되어 있지만, 본 발명의 반향 검출 및 억제 기능은 목적 사용자 단말기에서 구현될 수 있다(본 명세서에서는 단말기 기반 구현이라 지칭된다). 본 발명의 단말기 기반 구현의 이용은 도 7 및 도 8과 관련하면 보다 잘 이해될 수 있다.
도 8은 본 발명의 반향 검출 및 억제 기능이 목적 사용자 단말기 내에서 구현되는 통신 네트워크의 하이-레벨 블록도를 도시하고 있다. 구체적으로, 도 8의 통신 네트워크(800)는 패킷 네트워크(802)를 통해 통신하는 목적 사용자 단말기(803A) 및 목적 사용자 단말기(803Z)를 포함한다. 구체적으로, 패킷 통신 네트워크(802)는 목적 사용자 단말기(803A)와 목적 사용자 단말기(803Z) 사이의 패킷 기반 음성 콜을 지원한다. 도 8에 도시된 바와 같이, 목적 사용자 단말기(803A)는 AEPM(813A)를 포함하고, 목적 사용자 단말기(803Z)는 AEPM(813Z)를 포함한다. AEPM(813A)는 단말기(103A)의 목적 사용자 A에게 본 발명의 반향 검출 및 억제 기능을 제공하고(또한, 선택적으로, 단말기(103Z)의 목적 사용자 Z에게 반향 검출 및 억제를 제공할 수 있으며), 유사하게 AEPM(813Z)는 단말기(103Z)의 목적 사용자 Z에게 본 발명의 반향 검출 및 억제 기능을 제공할 수 있다(또한, 선택적으로, 단말기(103A)의 목적 사용자 A에게 반향 검출 및 억제를 제공할 수 있다).
패킷 기반 음성 콜의 목적 사용자 단말기(803) 각각이 AEPM(813)를 포함하는 음성 콜과 관련하여 도시되고 설명되어 있지만, 본 발명의 반향 검출 및 억제 기능은 패킷 기반 음성 콜에 포함되는 목적 사용자 중 단 하나의 사용자만이 AEPM(813)을 포함하는 목적 사용자 단말기(803)를 사용하고 있는 경우에 제공될 수 있다. 이러한 일 실시예에서, 목적 사용자 단말기(803)의 AEPM(813)이 단방향 반향 검출 및 억제를 지원하는 경우, 목적 사용자 중 단 하나의 사용자(즉, 아마도, 반향 검출 및 억제가 원거리 목적 사용자에게 대신 제공될 수 있다 하더라도, AEPM(813)을 포함하는 목적 사용자 단말기(803)와 연계된 근거리 목적 사용자)만이 본 발명의 반향 검출 및 억제 기능의 이점을 구현할 것이다. 이러한 다른 실시예에서, 목적 사용자 단말기(803)의 AEPM(813)가 양방향 반향 검출 및 억제를 지원하는 경우, 양측의 목적 사용자는 본 발명의 반향 검출 및 억제 기능의 이점을 구현할 것이다.
도 9는 본 발명의 반향 검출 및 억제 기능이 목적 사용자 단말기 내에서 구현되는 통신 네트워크의 하이-레벨 블록도를 도시하고 있다. 구체적으로, 도 9의 통신 네트워크(900)는 패킷 네트워크(902)를 통해 통신하는 목적 사용자(803A) 및 목적 사용자 단말기(803Z)를 포함하며, 이 때 각각의 목적 사용자 단말기(803)는 음성 통신을 지원하는 콤포넌트를 포함한다. 도 9에 도시된 바와 같이, 목적 사용자 단말기(803)는 오디오 입력 디바이스(예컨대, 마이크로폰), 오디오 출력 디바이스(예컨대, 스피커), 및 네트워크 인터페이스와 같이 패킷 네트워크를 통한 음성 통신을 지원하는 콤포넌트를 포함한다.
구체적으로, 목적 사용자 단말기(803A)는 오디오 입력 디바이스(804A), 네트워크 인터페이스(805A), 및 오디오 출력 디바이스(806A)를 포함하고, 목적 사용자 단말기(803Z)는 오디오 입력 디바이스(804Z), 네트워크 인터페이스(805Z) 및 오디오 출력 디바이스(806Z)를 포함한다. 오디오 입력 디바이스(804) 및 오디오 출력 디바이스는 도 1의 목적 사용자 단말기(103)의 오디오 입력 디바이스(104) 및 오디오 출력 디바이스(106)와 유사한 방법으로 동작한다. 목적 사용자 단말기(803)의 콤포넌트는 개별적인 물리적 디바이스일 수도 있고, 또는 하나 이상의 물리적 디바이스에 결합될 수도 있다. 예를 들어, 목적 사용자 단말기(803)는 음성 기능부, VoIP 전화 등을 포함할 수 있다.
네트워크 인터페이스(805)는 인코딩/디코딩 기능, 패킷화 기능 등과 관련하여 도 1의 네트워크 인터페이스(105)와 유사한 방법으로 동작하지만, 도 1의 목적 사용자 단말기(103)와는 달리, 목적 사용자 단말기(803A)(또는, 선택적으로 도 9의 목적 사용자 단말기(803Z))는 본 발명의 반향 검출 및 억제/제거 기능을 지원하는 AEPM을 포함하도록 적응된다. 네트워크 인터페이스(805A)는 인코더(811A), 네트워크 스트리밍 모듈(812A), AEPM(813A) 및 디코더(814A)를 포함한다. 네트워크 인터페이스(805Z)는 인코더(811Z), 네트워크 스트리밍 모듈(812Z), AEPM(813Z) 및 디코더(814Z)를 포함한다.
목적 사용자 단말기(803A)는 스피치를 목적 사용자 단말기(803Z)로 제공한다. 목적 사용자 A의 스피치는 오디오 입력 디바이스(804A)에 의해 포착된다(명료성을 위해, 목적 사용자 단말기(803A)에는 어떠한 반향 커플링도 없다는 것을 가정한다). 오디오 입력 디바이스(804A)는 스피치를 인코딩하는 인코더(811A)에 스피치를 제공한다. 인코더(811A)는 패킷 네트워크(802)를 통해 인코딩된 스피치를 목적 사용자 단말기(803Z)로 스트리밍하기 위한 네트워크 스트리밍 모듈(812A)에 제공한다. 인코더는 또한 타깃 패킷 스트림(목적 사용자 단말기(803Z)로부터 수신됨)에서 기준 패킷 스트림으로서 사용하기 위한 인코딩된 스피치를 AEPM(813A)으로 제공한다. 목적 사용자 단말기(803Z)는 목적 사용자 단말기(803A)로부터 스트리밍 인코딩된 스피치를 수신한다. 네트워크 스트리밍 모듈(812Z)은 목적 사용자 단말기(803A)로부터 스트리밍 인코딩된 스피치를 수신한다. 네트워크 스트리밍 모듈(812Z)은 인코딩된 스피치를 디코더(814A)로 제공한다. 디코더(814Z)는 인코딩된 스피치를 디코딩하고, 목적 사용자 A의 디코딩된 스피치를 오디오 출력 디바이스(806Z)로 제공하되, 오디오 출력 디바이스(806Z)는 목적 사용자 A의 스피치를 재생한다.
목적 사용자 단말기(803Z)는 목적 사용자 단말기(803A)에 스피치를 제공한다. 목적 사용자 Z의 스피치는 오디오 입력 디바이스(804Z)에 의해 포착된다. 목적 사용자 A의 스피치(즉, 오디오 출력 디바이스(806Z)에 의해 재생되는 스피치)는 (즉, 반향으로서) 오디오 입력 디바이스(804Z)에 의해 포착될 수 있다. 오디오 입력 디바이스(804Z)는 스피치를 인코딩하는 인코더(811Z)로 스피치를 제공한다. 인코더(811Z)는 패킷 네트워크(802)를 통해 목적 사용자 단말기(803A)로 인코딩된 스피치를 스트리밍하는 네트워크 스트리밍 모듈(812Z)로 인코딩된 스피치를 제공한다. 목적 사용자 단말기(803A)는 목적 사용자 단말기(803Z)로부터 스트리밍 인코딩된 스피치를 수신한다. 네트워크 스트리밍 모듈(812A)은 목적 사용자 단말기(803Z)로부터 스트리밍 인코딩된 스피치를 수신한다. 네트워크 스트리밍 모듈(812A)은 타깃 패킷 스트림에서 목적 사용자 A의 스피치의 반향을 검출하고 억제하기 위한 타깃 VOLT 스트림으로서 이용되는 AEPM(813A)로 인코딩된 스피치를 제공한다. AEPM(713A)은 임의의 방향을 검출 및 억제/제거하며, 적응된 타깃 패킷 스트림을 디코더(814A)에 제공한다. 디코더(814A)는 인코딩된 스피치를 디코딩하고, 목적 사용자 Z의 스피치를 재생하는 오디오 출력 디바이스(806A)로 목적 사용자 Z의 디코딩된 스피치를 제공한다.
도 9에 도시된 바와 같이, 목적 사용자 단말기(803A)가 목적 사용자 단말기(803A)로부터 목적 사용자 단말기(803Z)로 전송되는 음성 패킷의 오리지널 스트림(기준 패킷 스트림이라고 표시됨)으로의 액세스를 가지며, 목적 사용자 단말기(803Z)로부터 목적 사용자 단말기(803A)로 전송되는 음성 패킷의 리턴 스트림(기준 패킷 스트림이라고 표시됨)으로의 액세스를 갖기 때문에, 목적 사용자 단말기(803A)는 목적 사용자 단말기(703A)와 연계된 목적 사용자 A의 반향을 검출하고 억제하기 위한 본 발명의 반향 검출 및 억제 기능을 적용할 수 있다. 그러나, 도 9에 도시된 바와 같이, 목적 사용자 단말기는 본 발명의 반향 검출 및 억제/제거 프로세싱을 수행할 목적으로 다른 다양한 방법으로 기준 패킷 스트림 및 타깃 패킷 스트림을 액세스할 수 있다.
도 9와 관련하여 도시되고 설명된 바와 같이, 반향 검출 및 억제/제거가 목적 사용자 단말기 상에서 구현되는 일 실시예에서, 본 발명의 반향 검출 및 억제/제거 기능은 수신 중인 목적 사용자 단말기 상의 타깃 패킷 스트림에 적용될 수 있다. 예를 들어, 목적 사용자 단말기(803A)의 AEPM(813A)는 반향이 목적 사용자 단말기(803A)로부터 재생되는 오디오에 포함되어 있지 않도록 반향 프로세싱을 적용할 수 있다(즉, 반향 프로세싱은 타깃 패킷 스트림이 목적 사용자 단말기(803Z)로부터 패킷 네트워크(802)를 이미 트래버스한 후에 적용된다). 유사하게, 예를 들어, 목적 사용자 단말기(803Z)의 AEPM(813Z)은 목적 사용자 단말기(803Z)로부터 재생되는 오디오에 포함되어 있지 않도록 반향 프로세싱을 적용할 수 있다(즉, 반향 프로세싱은 타깃 패킷 스트림이 목적 사용자 단말기(803A)로부터 패킷 네트워크(802)를 이미 트래버스한 후에 적용된다).
도 9와 관련하여 도시되고 설명된 바와 같이, 반향 검출 및 억제/제거가 목적 사용자 단말기 상에서 구현되는 일 실시예에서, 본 발명의 반향 검출 및 억제/제거 기능은 송신 중 목적 사용자 단말기 상의 타깃 패킷 스트림에 대해 구현될 수 있다. 예를 들어, 목적 사용자 단말기(803Z)의 AEPM(813Z)는 반향이 목적 사용자 단말기(803A)로부터 재생되는 오디오에 포함되어 있지 않도록 반향 프로세싱을 적용할 수 있다(즉, 반향 프로세싱은 타깃 패킷 스트림이 목적 사용자 단말기(803Z)로부터 목적 사용자 단말기(803A)로 패킷 네트워크(802)를 트래버스하기 전에 적용된다). 유사하게, 목적 사용자 단말기(803A)의 AEPM(713A)는 반향이 목적 사용자 단말기(803A)로부터 재생되는 오디오에 포함되어 있지 않도록 반향 프로세싱을 적용할 수 있다(즉, 반향 프로세싱은 타깃 패킷 스트림이 목적 사용자 단말기(803A)로부터 목적 사용자 단말기(803Z)로 패킷 네트워크(802)를 트래버스하기 전에 적용된다).
또한, 주로, 다른 실시예로서 도시되고 설명되어 있지만, 일 실시예에서, 목적 사용자 단말기는 양방향 송신에서의 반향 검출 및 억제를 지원할 수 있다. 이러한 일 실시예에서, 단일 AEPM은, (1) 타깃 패킷 스트림이 네트워크를 트래버스하기 전에 송신 방향으로 반향 검출 및 억제를 제공하기 위해 네트워크 스트리밍 모듈과 인코더 사이에서, 또한 (2) 타깃 패킷 스트림이 네트워크를 트래버스한 후에 수신 방향으로 반향 검출 및 억제를 제공하기 위해 디코더와 네트워크 스트리밍 모듈 사이에서 구현될 수 있다. 다른 실시예에서, 목적 사용자 단말기는 송신 및 수신 방향에 대해 별개의 AEPM을 사용하여 구현될 수 있다.
따라서, 2개의 목적 사용자 단말기가 패킷 네트워크를 통해 패킷 기반 음성 콜에 참여하는 경우, 2개의 목적 사용자 단말기 중 하나만이 본 발명의 반향 검출 및 억제 기능을 포함한다는 점과, 그럼에도 불구하고 하나의 목적 사용자 단말기는 양방향 전송 시에 반향 검출 및 억제를 제공하여, 패킷 기반 반향 검출 및 억제를 지원하지 않는 목적 사용자 단말기를 이용하는 목적 사용자가 여전히 패킷 기반 반향 검출 및 억제의 이점을 즐기도록 할 수 있다는 점에 유념할 수 있다.
주로, 양방향 음성 콜의 단방향 송신 시에 반향 검출 및 억제를 제공하는 것과 관련하여 도시되고 설명되어 있지만, 본 발명에 따른 반향 검출 및 억제는 양방향 음성 콜의 양방향 송신으로 제공될 수 있다. 일 실시예에서, 반향 검출 및 억제는 네트워크 기반 구현(즉, 양방향 송신이 네트워크 기반 AECM을 트래버스함)을 이용하여 양방향 송신에 제공될 수 있다. 일 실시예에서, 반향 검출 및 억제는 단말기 기반 구현(즉, 양측 목적 사용자 단말기가 AECM을 포함함)을 이용하여 양방향 송신에 제공될 수 있다. 일 실시예에서, 반향 검출 및 억제는 네트워크 기반 구현과 단말기 기반 구현의 조합을 이용하여 양방향 송신 시에 제공될 수 있다. 예를 들어, 단 하나의 목적 사용자 단말기가 AECM을 포함하는 경우, 반향 제거 및 억제는 단방향 송신 시에는 목적 사용자 단말기에 의해 또한 다른 방향 송신 시에는 네트워크에 의해 (또는 양방향 모두 네트워크에 의해) 제공될 수 있다.
주로, 2개의 목적 사용자 사이의 패킷 기반 음성 콜에 관하여 도시되고 설명되어 있지만, 본 발명의 반향 검출 및 억제 기능은 2개보다 많은 목적 사용자들 사이에서 패킷 기반 음성 콜들 사이의 반향 검출 및 억제에 이용될 수 있다. 이러한 실시예에서, 네트워크 기반 반향 검출 및 억제 및/또는 단말기 기반 반향 검출 및 억제는 패킷 기반 음성 콜에 참여하는 목적 사용자의 상이한 조합들 사이에서 반향을 검출하고 억제하기 위해 이용될 수 있다.
주로, 하나의 음성 콜에 관하여 도시되고 설명되어 있지만, 본 발명은 네트워크에 의해 지원되는 각각의 음성 콜에 대해 수행될 수 있다. 네트워크 기반 구현의 경우, AEPM의 디자인에 따라, 하나의 AEPM은 네트워크가 지원할 수 있는 콜의 볼륨을 지원할 수도 있고, 또는 대안으로, 다중 AEPM은 본 발명의 반향 검출 및 억제 기능이 모든 음성 콜에 대해 지원되어 네트워크가 지원할 수 있도록 네트워크 내에 배치될 수도 있다. 단말기 기반 구현의 경우, 본 발명의 반향 검출 및 억제 기능에 대한 지원 스케일링은, 목적 사용자들이 본 발명의 반향 검출 및 억제 기능을 제공하는 AEPM을 포함하는 개선된 사용자 단말기로 기존의 사용자 단말기를 대체할 때 발생할 것이다.
일 실시예에서, 본 발명의 반향 검출 및 억제 기능의 네트워크 기반 구현과 단말기 기반 구현의 조합이 이용된다. 이 조합된 구현은, 예컨대 목적 사용자가 (본 발명의 AEPM을 포함하지 않는) 기존의 목적 사용자 단말기로부터 본 발명의 반향 검출 및 억제 기능을 제공하는 AEPM을 포함하는 목적 사용자 단말기로 전환하고 있는 전이 기간 동안 반향 검출 및 억제를 제공하기 위해, 여러 가지 상이한 이유로 이용될 수 있다. 네트워크 기반 구현과 단말기 기반 구현 사이의 밸런스는 다수의 상이한 방법으로 관리될 수 있다.
이러한 일 실시예에서, 예를 들어, (예컨대, 네트워크 기반 구현이 본 발명의 반향 검출 및 억제를 지원하는 목적 사용자 단말기를 갖지 않는 목적 사용자로 반향 검출 및 억제를 제공하는 데 이용되는) 단말기 기반 구현의 추정은 네트워크 기반 구현을 스케일링하는 데 이용될 수 있다. 다시 말해, 목적 사용자가 (본 발명의 AEPM을 포함하지 않는) 기존의 목적 사용자 단말기로부터 본 발명의 반향 검출 및 억제를 제공하는 AEPM을 포함하는 목적 사용자 단말기로 전환하기 시작할 때, 그에 따라 네트워크 기반 구현의 범주는 스케일링 백(scale back)될 수 있다.
주로, 포인트-투-포인트 콜에 음성 콘텐츠에 대한 반향 검출 및 억제를 제공하는 것과 관련하여 본 명세서에 도시되고 설명되어 있지만, 본 발명의 반향 검출 및 억제 기능은 다자간 통화(예컨대, 음성 회의) 시에 음성 콘텐츠에 반향 검출 및 억제를 제공하는 데 이용될 수 있다. 주로, 음성 콘텐츠에 반향 검출 및 억제를 제공하는 것과 관련하여 도시되고 설명되어 있지만, 본 발명의 반향 검출 및 억제 기능은 다른 타입의 오디오 콘텐츠에 반향 검출 및 억제를 제공하는 데 이용될 수 있다. 유사하게, 주로, 오디오 콘텐츠에 반향 검출 및 억제를 일반적으로 제공하는 것과 관련하여 본 명세서에 도시되고 설명되어 있지만, 본 발명의 반향 검출 및 억제 기능은 반향을 포함할 수 있는 다른 타입의 콘텐츠에 반향 검출 및 억제를 제공하는 데 이용될 수 있다. 또한, 주로, 어쿠스틱 반향의 억제 및 검출에 관해 도시되고 설명되어 있지만, 본 발명은 오디오 기반 통신 시스템에 유도될 수 있는 다른 타입의 반향(예컨대, 라인 반향, 하이브리드 반향 등 및 이들의 다양한 조합)을 검출하고 억제하는 데 이용될 수 있다. 다시 말해, 본 발명은 반향이 유도될 수 있는 타입의 콘텐츠 또는 반향으로 제한되도록 의도되지 않는다.
도 10은 본 명세서에 설명된 기능을 수행하는 데 이용하기에 적합한 범용 컴퓨터의 하이-레벨 블록도를 도시하고 있다. 도 10에 도시된 바와 같이, 시스템(1000)은 프로세서 엘리먼트(1002)(예컨대, CPU), 메모리(1004), 예컨대 RAM 및/또는 ROM, 어쿠스틱 반향 프로세싱 모듈(AEPM)(1005), 및 다양한 입력/출력 디바이스(1006)(예컨대, 테이프 드라이브, 플로피 드라이브, 하드디스크 드라이브 도는 콤팩트디스크 드라이브, 수신기, 송신기, 스피커, 디스플레이, 출력포트 및 사용자 입력 디바이스(예컨대, 키보드, 키패드, 마우스 등)를 포함하되 이러한 것들로 제한되는 것은 아닌 저장 디바이스)를 포함한다.
본 발명은, 예컨대 ASIC, 범용 컴퓨터 또는 임의의 다른 하드웨어 등가물을 이용하여, 소프트웨어로 및/또는 소프트웨어와 하드웨어의 조합으로 구현될 수 있다는 점에 유념해야 한다. 일 실시예에서, 현재 AEC 프로세스(1005)는 메모리(1004) 내로 로딩되고 프로세서(1002)에 의해 실행되어 전술한 바와 같은 기능을 구현할 수 있다. 이와 같이, 본 발명의 (연계된 데이터 구조를 포함하는) AEC 프로세스(1005)는 컴퓨터 판독가능 매체 또는 캐리어, 예컨대 RAM 메모리, 자기적 또는 광학적 드라이브 또는 디스켓 등에 저장될 수 있다.
본 명세서에서 소프트웨어 방법으로서 논의된 단계 중 몇몇은 하드웨어 내에서, 예컨대 프로세서와 협력하여 다양한 방법 단계를 수행하는 회로로서 구현될 수 있음이 예상된다. 본 발명의 일부는 컴퓨터 프로그램 제품으로서 구현될 수 있는데, 이 때 컴퓨터에 의해 처리될 때 컴퓨터 인스트럭션은 본 발명의 방법 및/또는 기술이 수반되거나 또는 그와 달리 제공되도록 컴퓨터의 동작을 적응시킨다. 본 발명의 방법을 실시하기 위한 인스트럭션은 고정 또는 착탈가능 매체에 저장될 수 있고, 브로드캐스트 또는 다른 신호 베어링 매체에서 데이터 스트림을 통해 전송될 수 있으며, 및/또는 인스트럭션에 따라 동작하는 컴퓨팅 디바이스 내의 작업용 메모리 내에 저장될 수 있다.
본 발명의 교시를 포함하는 다양한 실시예가 본 명세서에 상세히 도시되고 설명되어 있지만, 당업자라면 여전히 그러한 교시를 포함하는 다른 변형 실시예를 용이하게 고안할 수 있다.

Claims (10)

  1. 패킷 기반 통신 네트워크에서 반향(echo)을 검출하는 방법으로서,
    인코딩된 타깃 패킷 스트림(encoded target packet stream)의 인코딩된 타깃 패킷으로부터 음성 코딩 파라미터(voice coding parameters)를 추출하는 단계와,
    인코딩된 기준 패킷 스트림(encoded reference packet stream)의 인코딩된 기준 패킷으로부터 음성 코딩 파라미터를 추출하는 단계와,
    레이트/패턴 매칭(rate/pattern matching) 및 레이트/타입 매칭(rate/type matching) 중 적어도 하나를 이용하여, 상기 인코딩된 타깃 패킷 스트림의 인코딩된 음성 콘텐츠가 상기 인코딩된 기준 패킷 스트림의 인코딩된 음성 콘텐츠와 유사한지를 판정하는 단계와,
    상기 인코딩된 타깃 패킷 스트림의 상기 인코딩된 음성 콘텐츠가 상기 인코딩된 기준 패킷 스트림의 인코딩된 음성 콘텐츠와 유사한지에 대한 상기 판정에 기초하여 상기 인코딩된 타깃 패킷 스트림이 상기 인코딩된 기준 패킷 스트림의 반향을 포함하는지를 판정하는 단계를 포함하는
    반향 검출 방법.
  2. 제 1 항에 있어서,
    상기 인코딩된 타깃 패킷 스트림이 상기 인코딩된 기준 패킷 스트림의 반향을 포함한다는 판정에 응답하여, 상기 인코딩된 타깃 패킷 스트림의 상기 반향을 억제하는 단계를 더 포함하는
    반향 검출 방법.
  3. 제 1 항에 있어서,
    상기 인코딩된 타깃 패킷 스트림의 인코딩된 음성 콘텐츠가 상기 인코딩된 기준 패킷 스트림의 인코딩된 음성 콘텐츠와 유사한지를 판정하는 단계는,
    (a) 슬라이딩 윈도우와 연계되는 상기 인코딩된 타깃 패킷 스트림의 상기 인코딩된 타깃 패킷 중 연속하는 패킷의 세트로부터 LSP의 세트를 추출하는 단계와,
    (b) 상기 인코딩된 기준 패킷 스트림의 상기 인코딩된 기준 패킷 중 연속하는 패킷의 K개의 세트로부터 LSP의 K개의 세트를 추출하는 단계와,
    (c) 상기 인코딩된 타깃 패킷 스트림으로부터의 LSP의 상기 세트를 상기 인코딩된 기준 패킷 스트림으로부터의 LSP의 상기 K개의 세트의 각각과 비교하는 단계와,
    (d) 상기 인코딩된 타깃 패킷 스트림으로부터의 LSP의 상기 세트와 상기 인코딩된 기준 패킷 스트림으로부터의 LSP의 상기 K개의 세트의 각각과의 비교를 이용하여 상기 인코딩된 타깃 패킷 스트림의 인코딩된 음성 콘텐츠가 상기 인코딩된 기준 패킷 스트림의 인코딩된 음성 콘텐츠와 유사한지를 판정하는 단계를 포함하는
    반향 검출 방법.
  4. 제 3 항에 있어서,
    상기 인코딩된 타깃 패킷 스트림으로부터의 LSP의 상기 세트를 상기 인코딩된 기준 패킷 스트림으로부터의 LSP의 상기 K개의 세트의 각각과 비교하는 상기 단계(c)는,
    (c1) 상기 인코딩된 기준 패킷 스트림으로부터의 LSP의 상기 K개의 세트 중 하나의 세트를 선택하는 단계와,
    (c2) 상기 인코딩된 타깃 패킷으로부터의 LSP의 상기 세트 및 상기 인코딩된 기준 패킷 스트림으로부터의 LSP의 상기 K개의 세트 중 선택된 하나의 세트에 대한 거리 값을 계산하는 단계와,
    (c3) 상기 인코딩된 기준 패킷 스트림으로부터의 LSP의 상기 K개의 세트의 각각에 대해 단계(c1) 및 (c2)를 반복하는 단계와,
    (c4) 상기 거리 값 중 적어도 하나의 거리 값을 LSP 유사성 임계치와 비교하는 단계와,
    (c5) 상기 거리 값 중 적어도 하나의 거리 값이 상기 LSP 유사성 임계치를 충족시킨다는 판정에 응답하여, 상기 인코딩된 타깃 패킷 스트림의 인코딩된 음성 콘텐츠와 상기 인코딩된 기준 패킷 스트림의 인코딩된 음성 콘텐츠 사이의 유사성을 식별하는 단계를 포함하는
    반향 검출 방법.
  5. 삭제
  6. 제 1 항에 있어서,
    상기 레이트/패턴 매칭은,
    슬라이딩 윈도우와 연계되는 상기 인코딩된 타깃 패킷 스트림의 상기 인코딩된 타깃 패킷 중 연속하는 패킷의 세트로부터 음성 코딩 파라미터의 세트를 추출하는 단계와,
    상기 인코딩된 기준 패킷 스트림의 상기 인코딩된 기준 패킷 중 연속하는 패킷의 K개의 세트로부터 음성 코딩 파라미터의 K개의 세트를 추출하는 단계와,
    상기 인코딩된 타깃 패킷 및 상기 인코딩된 기준 패킷의 각각을 비교 가능 또는 비교 불가능으로 분류하는 단계 - 상기 인코딩된 타깃 패킷 및 상기 인코딩된 기준 패킷은 상기 각각의 패킷으로부터 추출되는 패킷 레이트 정보를 이용하여 분류됨 - 와,
    비교 불가능으로 분류된 패킷으로부터 추출되는 음성 코딩 파라미터를 무시하면서, 상기 인코딩된 타깃 패킷 스트림으로부터의 음성 코딩 파라미터의 상기 세트를 상기 인코딩된 기준 패킷 스트림으로부터의 음성 코딩 파라미터의 상기 K개 세트의 각각과 비교하는 단계와,
    상기 인코딩된 타깃 패킷 스트림으로부터의 음성 코딩 파라미터의 상기 세트와 상기 인코딩된 기준 패킷 스트림으로부터의 음성 코딩 파라미터의 상기 K개의 세트의 각각과의 비교를 이용하여 상기 인코딩된 타깃 패킷 스트림의 인코딩된 음성 콘텐츠가 상기 인코딩된 기준 패킷 스트림의 인코딩된 음성 콘텐츠와 유사한지를 판정하는 단계를 포함하는
    반향 검출 방법.
  7. 제 1 항에 있어서,
    상기 레이트/타입 매칭은,
    상기 패킷의 레이트 및 상기 패킷의 타입을 이용하여 상기 인코딩된 타깃 패킷 스트림의 상기 인코딩된 타깃 패킷 중 연속하는 패킷의 세트의 상기 인코딩된 타깃 패킷의 각각을 분류하는 단계와,
    상기 패킷의 레이트 및 상기 패킷의 타입을 이용하여 상기 인코딩된 기준 패킷 스트림의 상기 인코딩된 기준 패킷 중 연속하는 패킷의 K개의 세트의 상기 인코딩된 타깃 패킷의 각각을 분류하는 단계와,
    인코딩된 기준 패킷의 상기 K개의 세트의 각각에 대해,
    상기 인코딩된 타깃 패킷의 패킷 카테고리를 상기 인코딩된 기준 패킷의 세트의 상기 인코딩된 기준 패킷의 패킷 카테고리와 비교하는 것과,
    인코딩된 타깃 패킷의 패킷 카테고리와 인코딩된 기준 패킷의 패킷 카테고리의 각 비교와 연계되는 가중치를 결정하는 것과,
    상기 각 비교의 상기 가중치를 합산함으로써 레이트/타입 매칭 값을 계산하는 것과,
    상기 레이트/타입 매칭 값을 레이트/타입 매칭 임계치와 비교하는 것을 수행하는 단계를 포함하는
    반향 검출 방법.
  8. 제 1 항에 있어서,
    상기 인코딩된 타깃 패킷 스트림의 음성 콘텐츠가 상기 인코딩된 기준 패킷 스트림의 음성 콘텐츠와 유사한지에 대한 상기 판정은 볼륨 비교 기술을 이용하여 수행되고,
    상기 볼륨 비교 기술은,
    상기 인코딩된 타깃 패킷 스트림의 상기 인코딩된 타깃 패킷 중 연속하는 패킷의 세트로부터 볼륨 값의 세트를 추출하는 단계와,
    상기 인코딩된 기준 패킷 스트림의 상기 인코딩된 기준 패킷 중 연속하는 패킷의 K개의 세트로부터 볼륨 값의 K개의 세트를 추출하는 단계와,
    상기 인코딩된 타깃 패킷으로부터의 볼륨 값의 상기 세트 및 상기 인코딩된 기준 패킷의 상기 K개의 세트로부터의 볼륨 값의 상기 세트를 이용하여 K개의 볼륨 비교 값을 계산하는 단계와,
    상기 K개의 볼륨 비교 값의 각각을 볼륨 임계치와 비교하는 단계를 포함하는
    반향 검출 방법.
  9. 패킷 기반 통신 네트워크에서 반향을 검출하는 장치로서,
    인코딩된 타깃 패킷 스트림(encoded target packet stream)의 인코딩된 타깃 패킷으로부터 음성 코딩 파라미터(voice coding parameters)를 추출하는 수단과,
    인코딩된 기준 패킷 스트림(encoded reference packet stream)의 인코딩된 기준 패킷으로부터 음성 코딩 파라미터를 추출하는 수단과,
    레이트/패턴 매칭(rate/pattern matching) 및 레이트/타입 매칭(rate/type matching) 중 적어도 하나를 이용하여, 상기 인코딩된 타깃 패킷 스트림의 인코딩된 음성 콘텐츠가 상기 인코딩된 기준 패킷 스트림의 인코딩된 음성 콘텐츠와 유사한지를 판정하는 수단과,
    상기 인코딩된 타깃 패킷 스트림의 상기 인코딩된 음성 콘텐츠가 상기 인코딩된 기준 패킷 스트림의 인코딩된 음성 콘텐츠와 유사한지에 대한 상기 판정에 기초하여 상기 인코딩된 타깃 패킷 스트림이 상기 인코딩된 기준 패킷 스트림의 반향을 포함하는지를 판정하는 수단을 포함하는
    반향 검출 장치.
  10. 컴퓨터에 의해 실행될 때, 상기 컴퓨터로 하여금 패킷 기반 통신 네트워크에서 반향을 검출하는 방법을 실행시키는 명령어를 저장하는 컴퓨터 판독 가능 매체에 있어서,
    상기 방법은,
    인코딩된 타깃 패킷 스트림(encoded target packet stream)의 인코딩된 타깃 패킷으로부터 음성 코딩 파라미터(voice coding parameters)를 추출하는 단계와,
    인코딩된 기준 패킷 스트림(encoded reference packet stream)의 인코딩된 기준 패킷으로부터 음성 코딩 파라미터를 추출하는 단계와,
    레이트/패턴 매칭(rate/pattern matching) 및 레이트/타입 매칭(rate/type matching) 중 적어도 하나를 이용하여, 상기 인코딩된 타깃 패킷 스트림의 인코딩된 음성 콘텐츠가 상기 인코딩된 기준 패킷 스트림의 인코딩된 음성 콘텐츠와 유사한지를 판정하는 단계와,
    상기 인코딩된 타깃 패킷 스트림의 상기 인코딩된 음성 콘텐츠가 상기 인코딩된 기준 패킷 스트림의 인코딩된 음성 콘텐츠와 유사한지에 대한 상기 판정에 기초하여 상기 인코딩된 타깃 패킷 스트림이 상기 인코딩된 기준 패킷 스트림의 반향을 포함하는지를 판정하는 단계를 포함하는
    컴퓨터 판독 가능 매체.
KR1020107014588A 2007-12-31 2008-12-17 반향 검출 방법 및 장치 KR101353847B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/967,338 2007-12-31
US11/967,338 US20090168673A1 (en) 2007-12-31 2007-12-31 Method and apparatus for detecting and suppressing echo in packet networks
PCT/US2008/013803 WO2009088431A1 (en) 2007-12-31 2008-12-17 Method and apparatus for detecting and suppressing echo in packet networks

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020127022425A Division KR20120102820A (ko) 2007-12-31 2008-12-17 반향 검출 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20100096218A KR20100096218A (ko) 2010-09-01
KR101353847B1 true KR101353847B1 (ko) 2014-01-20

Family

ID=40404489

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020107014588A KR101353847B1 (ko) 2007-12-31 2008-12-17 반향 검출 방법 및 장치
KR1020127022425A KR20120102820A (ko) 2007-12-31 2008-12-17 반향 검출 방법 및 장치

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020127022425A KR20120102820A (ko) 2007-12-31 2008-12-17 반향 검출 방법 및 장치

Country Status (6)

Country Link
US (1) US20090168673A1 (ko)
EP (1) EP2245826A1 (ko)
JP (1) JP4922455B2 (ko)
KR (2) KR101353847B1 (ko)
CN (1) CN101933306B (ko)
WO (1) WO2009088431A1 (ko)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7852882B2 (en) * 2008-01-24 2010-12-14 Broadcom Corporation Jitter buffer adaptation based on audio content
CN103250205B (zh) * 2010-12-07 2017-05-10 英派尔科技开发有限公司 用于端到端体验质量测量的音频指纹差
US20130058496A1 (en) * 2011-09-07 2013-03-07 Nokia Siemens Networks Us Llc Audio Noise Optimizer
US9270830B2 (en) 2013-08-06 2016-02-23 Telefonaktiebolaget L M Ericsson (Publ) Echo canceller for VOIP networks
US9420114B2 (en) * 2013-08-06 2016-08-16 Telefonaktiebolaget Lm Ericsson (Publ) Echo canceller for VOIP networks
CN103472994B (zh) * 2013-09-06 2017-02-08 网易乐得科技有限公司 一种基于语音实现操作控制的方法、装置和系统
CN104468471B (zh) 2013-09-13 2017-11-03 阿尔卡特朗讯 一种用于分组声学回声消除的方法与设备
CN104468470B (zh) 2013-09-13 2017-08-01 阿尔卡特朗讯 一种用于分组声学回声消除的方法与设备
CN104767895B (zh) * 2014-01-06 2017-11-03 阿尔卡特朗讯 一种用于分组声学回声消除的方法与设备
CN104811567A (zh) * 2014-01-23 2015-07-29 杭州乐哈思智能科技有限公司 一种对voip系统双向双工免提语音进行声学回声消除的系统和方法
CN105096960A (zh) * 2014-05-12 2015-11-25 阿尔卡特朗讯 实现宽带分组语音的基于分组的声学回声消除方法与设备
CN105100524A (zh) * 2014-05-16 2015-11-25 阿尔卡特朗讯 一种基于分组的声学回声消除方法与装置
CN104157293B (zh) * 2014-08-28 2017-04-05 福建师范大学福清分校 一种增强声环境中目标语音信号拾取的信号处理方法
US9479650B1 (en) * 2015-05-04 2016-10-25 Captioncall, Llc Methods and devices for updating filter coefficients during echo cancellation
US10356247B2 (en) * 2015-12-16 2019-07-16 Cloud9 Technologies, LLC Enhancements for VoIP communications
US10251087B2 (en) * 2016-08-31 2019-04-02 Qualcomm Incorporated IP flow management for capacity-limited wireless devices
DE102016119471A1 (de) * 2016-10-12 2018-04-12 Deutsche Telekom Ag Verfahren und Vorrichtungen zur Echoreduzierung und zur Funktionsprüfung von Echokompensatoren
JP6670224B2 (ja) * 2016-11-14 2020-03-18 株式会社日立製作所 音声信号処理システム
CN108551534B (zh) * 2018-03-13 2020-02-11 维沃移动通信有限公司 多终端语音通话的方法及装置
US10650840B1 (en) * 2018-07-11 2020-05-12 Amazon Technologies, Inc. Echo latency estimation
US10867615B2 (en) * 2019-01-25 2020-12-15 Comcast Cable Communications, Llc Voice recognition with timing information for noise cancellation
CN110648679B (zh) * 2019-09-25 2023-07-14 腾讯科技(深圳)有限公司 回声抑制参数的确定方法和装置、存储介质及电子装置
CN114760389B (zh) * 2022-06-16 2022-09-02 腾讯科技(深圳)有限公司 语音通话方法、装置、计算机存储介质及电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002037878A2 (en) * 2000-10-31 2002-05-10 Motorola Inc., Method and apparatus for speech quality controlled tandem operation in packet switched networks
WO2007067125A2 (en) * 2005-12-05 2007-06-14 Telefonaktiebolaget Lm Ericsson (Publ) Echo detection

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7539615B2 (en) * 2000-12-29 2009-05-26 Nokia Siemens Networks Oy Audio signal quality enhancement in a digital network
US6937723B2 (en) * 2002-10-25 2005-08-30 Avaya Technology Corp. Echo detection and monitoring
US7283543B1 (en) * 2002-11-27 2007-10-16 3Com Corporation System and method for operating echo cancellers with networks having insufficient levels of echo return loss
JP2007104167A (ja) * 2005-10-03 2007-04-19 Oki Electric Ind Co Ltd 送話状態判定方法
US8090573B2 (en) * 2006-01-20 2012-01-03 Qualcomm Incorporated Selection of encoding modes and/or encoding rates for speech compression with open loop re-decision
CN101000768B (zh) * 2006-06-21 2010-12-08 北京工业大学 嵌入式语音编解码的方法及编解码器
US8260609B2 (en) * 2006-07-31 2012-09-04 Qualcomm Incorporated Systems, methods, and apparatus for wideband encoding and decoding of inactive frames
US7852792B2 (en) * 2006-09-19 2010-12-14 Alcatel-Lucent Usa Inc. Packet based echo cancellation and suppression
US8032365B2 (en) * 2007-08-31 2011-10-04 Tellabs Operations, Inc. Method and apparatus for controlling echo in the coded domain

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002037878A2 (en) * 2000-10-31 2002-05-10 Motorola Inc., Method and apparatus for speech quality controlled tandem operation in packet switched networks
WO2007067125A2 (en) * 2005-12-05 2007-06-14 Telefonaktiebolaget Lm Ericsson (Publ) Echo detection

Also Published As

Publication number Publication date
KR20100096218A (ko) 2010-09-01
JP4922455B2 (ja) 2012-04-25
CN101933306B (zh) 2015-05-20
US20090168673A1 (en) 2009-07-02
EP2245826A1 (en) 2010-11-03
CN101933306A (zh) 2010-12-29
JP2011515881A (ja) 2011-05-19
KR20120102820A (ko) 2012-09-18
WO2009088431A1 (en) 2009-07-16

Similar Documents

Publication Publication Date Title
KR101353847B1 (ko) 반향 검출 방법 및 장치
JP6151405B2 (ja) クリティカリティ閾値制御のためのシステム、方法、装置、およびコンピュータ可読媒体
CN103597544B (zh) 用于多码率语音和音频编解码器的帧擦除隐藏
US7417983B2 (en) Decentralized architecture and protocol for voice conferencing
EP1849158B1 (en) Method for discontinuous transmission and accurate reproduction of background noise information
JP2006504300A (ja) Celpパラメータ領域におけるdtmf検索と音声ミキシングのための方法及び装置
KR20120109617A (ko) 멀티 포인트 환경에서의 스케일러블 오디오
CN104167210A (zh) 一种轻量级的多方会议混音方法和装置
EP2158753B1 (en) Selection of audio signals to be mixed in an audio conference
US20120095760A1 (en) Apparatus, a method and a computer program for coding
Prasad et al. SPCp1-01: Voice Activity Detection for VoIP-An Information Theoretic Approach
JP4437011B2 (ja) 音声符号化装置
Muralishankar et al. Order statistics for voice activity detection in VoIP
CN107113357B (zh) 与语音质量估计相关的改进方法和设备
Xu et al. Pass: Peer-aware silence suppression for internet voice conferences
Singh et al. Performance Progress in QoS Mechanism in Voice over Internet Protocol System.

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
A107 Divisional application of patent
AMND Amendment
B601 Maintenance of original decision after re-examination before a trial
S901 Examination by remand of revocation
GRNO Decision to grant (after opposition)
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee