KR20070100412A - 배경 잡음 정보의 불연속 전송 및 정확한 재생을 위한 방법 - Google Patents

배경 잡음 정보의 불연속 전송 및 정확한 재생을 위한 방법 Download PDF

Info

Publication number
KR20070100412A
KR20070100412A KR1020077019996A KR20077019996A KR20070100412A KR 20070100412 A KR20070100412 A KR 20070100412A KR 1020077019996 A KR1020077019996 A KR 1020077019996A KR 20077019996 A KR20077019996 A KR 20077019996A KR 20070100412 A KR20070100412 A KR 20070100412A
Authority
KR
South Korea
Prior art keywords
frame
silent
background noise
state
instructions
Prior art date
Application number
KR1020077019996A
Other languages
English (en)
Other versions
KR100974110B1 (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 KR20070100412A publication Critical patent/KR20070100412A/ko
Application granted granted Critical
Publication of KR100974110B1 publication Critical patent/KR100974110B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; 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
    • G10L19/012Comfort noise or silence coding
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; 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
    • G10L19/04Speech 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 using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/18Vocoders using multiple modes
    • G10L19/24Variable rate codecs, e.g. for generating different qualities using a scalable representation such as hierarchical encoding or layered encoding

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Quality & Reliability (AREA)
  • Telephonic Communication Services (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Noise Elimination (AREA)

Abstract

본 발명은 배경 잡음을 전송하는 단계, 배경 잡음을 통신하기 위하여 사용되는 다음 배경 잡음 데이터 레이트 프레임들을 블랭킹하는 단계, 배경 잡음을 수신하는 단계 및 배경 잡음을 업데이트하는 단계를 포함하는 배경 잡음 통신 방법을 포함한다. 다른 실시예에 있어서, 본 발명은 보코더, 보코더에 동작가능하게 접속된 적어도 하나의 스마트 블랭킹 장치, 스마트 블랭킹 장치에 동작가능하게 접속된 디-지터 버퍼, 및 디-지터 버퍼의 입력 및 스마트 블랭킹 장치의 출력에 동작가능하게 접속된 네트워크 스택을 포함하는 배경 잡음 통신 장치를 포함한다.

Description

배경 잡음 정보의 불연속 전송 및 정확한 재생을 위한 방법{METHOD FOR DISCONTINUOUS TRANSMISSION AND ACCURATE REPRODUCTION OF BACKGROUND NOISE INFORMATION}
본 출원은 "배경 잡음 정보의 불연속 전송 및 정확한 재생을 위한 방법"이라는 명칭으로 2005년 2월 1일에 출원된 미국 가출원번호 제60/649,192호의 우선권을 주장하며, 이 출원의 전체 내용은 본 출원의 일부 내용으로 고려되며 여기에 참조문헌으로서 통합된다.
본 발명은 일반적으로 네트워크 통신에 관한 것이다. 특히, 본 발명은 대역폭 요건들을 감소시키면서 무선 통신 시스템에서 음성 품질을 향상시키고 비용을 낮추며 효율성을 증대시킨 신규하고 개선된 방법 및 장치에 관한 것이다.
CDMA 보코더들은 배경 잡음 정보를 통신하기 위하여 공지된 레이트로 1/8 프레임들을 연속적으로 전송한다. 스피치(speech) 품질을 일정하게 유지하면서 시스템 용량을 개선하기 위하여 이들 1/8 프레임들의 대부분을 제거(drop)하거나 또는 블랭킹(blank)"하는 것이 바람직하다. 따라서, 배경 잡음을 통신하는데 필요한 오버헤드를 감소시키기 위하여 공지된 레이트의 프레임들을 적절하게 선택하여 제거하는 방법에 대한 필요성이 요구된다.
본 발명의 기술된 특징들은 일반적으로 배경 잡음을 통신하기 위한 하나 이상의 개선된 시스템들, 방법들 및/장치들에 관한 것이다.
일 실시예에 있어서, 본 발명은 배경 잡음을 통신하기 위한 방법으로서, 상기 배경 잡음을 전송하는 단계; 상기 배경 잡음을 통신하기 위하여 사용된 다음 배경 잡음 데이터 레이트 프레임들을 블랭킹하는 단계; 상기 배경 잡음을 수신하는 단계; 및 상기 배경 잡음을 업데이트하는 단계를 포함하는, 배경 잡음 통신 방법을 포함한다.
다른 실시예에 있어서, 배경 잡음을 통신하기 위한 방법은 새로운 프로토타입 레이트 프레임을 전송함으로서 배경 잡음이 변화할때 배경 잡음의 업데이트를 트리거링하는 단계를 더 포함한다.
또 다른 실시예에 있어서, 배경 잡음을 통신하기 위한 방법은 배경 잡음 데이터 레이트 프레임을 필터링하고 배경 잡음 데이터 레이트 프레임들의 평균 에너지와 배경 잡음 데이터 레이트 프레임의 에너지를 비교하며 차이가 임계치를 초과하는 경우에 업데이트 배경 잡음 데이터 레이트 프레임을 전송함으로서 트리거링하는 단계를 더 포함한다.
또 다른 실시예에 있어서, 배경 잡음을 통신하기 위한 방법은 배경 잡음 데이터 레이트 프레임을 필터링하고 배경 잡음 데이터 레이트 프레임들의 평균 스펙트럼과 배경 잡음 데이터 레이트 프레임의 스펙트럼을 비교하며 차이가 임계치를 초과하는 경우에 업데이트 배경 잡음 데이터 레이트 프레임을 전송함으로서 트리거링하는 단계를 더 포함한다.
또 다른 실시예에 있어서, 본 발명은 배경 잡음을 통신하기 위한 장치로서,적어도 하나의 입력 및 적어도 하나의 출력을 가지며, 적어도 하나의 입력 및 적어도 하나의 출력을 가진 디코더 및 적어도 하나의 입력 및 적어도 하나의 출력을 가진 인코더를 포함하는 적어도 하나의 보코더; 메모리, 적어도 하나의 입력 및 적어도 하나의 출력을 가진 적어도 하나의 스마트 블랭킹 장치 ― 상기 적어도 하나의 입력중 제 1 입력은 상기 보코더의 적어도 하나의 출력에 동작가능하게 접속되며 상기 적어도 하나의 출력은 상기 보코더의 적어도 하나의 입력에 동작가능하게 접속됨―; 적어도 하나의 입력 및 적어도 하나의 출력을 가진 디-지터 버퍼(de-jitter buffer) ― 상기 적어도 하나의 출력은 상기 스마트 블랭커의 적어도 하나의 입력중 제 2 입력에 동작가능하게 접속됨―; 및 적어도 하나의 입력 및 적어도 하나의 출력을 가진 네트워크 스택 ― 상기 적어도 하나의 입력은 상기 디-지터 버퍼의 적어도 하나의 입력에 동작가능하게 접속되며, 상기 적어도 하나의 입력은 상기 스마트 블랭킹 장치의 적어도 하나의 출력에 동작가능하게 접속됨―;을 포함하는, 배경 잡음 통신 장치를 포함한다.
또 다른 실시예에 있어서, 스마트 블랭킹 장치는 메모리에 저장되며, 배경 잡음을 전송하고, 배경 잡음을 통신하기 위하여 사용된 다음 배경 잡음 데이터 레이트 프레임들을 블랭킹하며 배경 잡음을 업데이트하기 위한 명령들을 실행한다.
본 발명의 응용을 위한 추가 범위는 이하의 상세한 설명, 청구범위 및 도면으로부터 명백해 질 것이다. 그러나, 상세한 설명 및 특정 실시예는 본 발명의 사상 및 범위내에서의 다양한 수정 및 변형이 당업자에게 명백하기 때문에 단지 예시적으로 기술된다는 것이 이해되어야 한다.
본 발명은 이하의 상세한 설명, 첨부된 청구범위 및 첨부 도면들을 참조할때 완전하게 이해될 것이다.
도 1은 배경 잡음 생성기의 블록도.
도 2는 1/8 레이트 프레임들을 사용하여 잡음을 플레이(play)하는 디코더의 상위 레벨을 도시한 도면.
도 3은 인코더의 일 실시예를 기술한 도면.
도 4는 3개의 코드북 엔트리들, 즉 FGIDX, LSPIDX1 및 LSPIDX2을 포함하는 1/8 프레임을 도시한 도면.
도 5a는 스마트 블랭킹을 사용하는 시스템의 논리 블록도.
도 5b는 스마트 블랭킹 장치가 보코더에 통합되고 스마트 블랭킹을 사용하는 시스템을 도시한 논리 블록도.
도 5c는 스마트 블랭킹 장치가 본 발명의 전송 및 수신 단계를 수행한 하나의 블록 또는 장치를 포함하며, 스마트 블랭킹을 사용하는 시스템을 도시한 논리 블록도.
도 5d는 시간 와핑(warping)을 사용하여 압축된 스피치 세그먼트의 예를 도시한 도면.
도 5e는 시간 와핑을 사용하여 신장된 스피치 세그먼트의 예를 도시한 도면.
도 5f는 스마트 블랭킹 및 시간 와핑을 사용하는 시스템을 도시한 논리 블록도.
도 6은 컴퓨터 랙(computer rack)에서 침묵(silence)의 시작시에 평균 에너지 대 프레임 수에 대한 프레임 에너지의 플롯들(plot)을 도시한 도면.
도 7은 바람 부는 환경에서 침묵의 시작시에 평균 에너지 대 프레임 수에 대한 프레임 에너지의 플롯들을 도시한 도면.
도 8은 송신기에 의하여 실행되는 본 발명의 스마트 블랭킹 방법의 단계들 및 장치를 기술한 흐름도.
도 9는 수신기에 의하여 실행되는 본 발명의 스마트 블랭킹 방법의 단계들 및 장치를 기술한 흐름도.
도 10은 업데이트 레이트 프레임들의 전송 및 소거(erasure)들의 플레이를 기술한 도면.
도 11은 이전 1/8 레이트 프레임 업데이트가 새로운 또는 다음 1/8 레이트 프레임 업데이트와 혼합된, 에너지 대 시간의 플롯을 도시한 도면.
도 12는 이전 1/8 레이트 프레임 업데이트가 코드북 엔트리들을 사용하여 새로운 또는 다음 1/8 레이트 프레임 업데이트와 혼합되는 것을 기술한 도면.
도 13은 프레임 에너지의 차이에 기초하여 1/8 레이트 프레임 업데이트를 트리거링할때 실행되는 단계들을 기술한 흐름도.
도 14는 주파수 에너지의 차이에 기초하여 1/8 레이트 프레임 업데이트를 트리거링할때 실행되는 단계들을 기술한 흐름도.
도 15는 "저주파수" LSP들 및 "고주파수" LSP들에 대한 주파수 스펙트럼 코드북 엔트리들의 변형을 도시한 LSP 스펙트럴 차이들의 플롯을 도시한 도면.
도 16은 연결 유지 패킷(keep alive packet)을 전송할때 실행되는 단계들을 기술한 흐름도.
도 17은 보코더내에 있는 인코더 및 디코더가 초기화될때 실행되는 단계들을 기술한 흐름도.
용어 "예시적"은 예로서의 사용을 의미하는 것으로 여기에 기술된다. 여기에 기술된 임의의 실시예는 반드시 다른 실시예들에 비하여 바람직하거나 또는 유리한 것으로 해석되지 않아야 한다.
풀 듀플렉스 대화(full duplex conversation)동안, 통화 당사자들중 적어도 하나가 말을하지 않을때의 여러 예들이 존재한다. 이들 침묵 간격들동안, 채널은 배경 잡음 정보를 통신한다. 배경 잡음 정보의 적절한 통신은 대화에 포함된 통화 당사자들에 의하여 인식되는 음성 품질에 영향을 미치는 요소이다. IP 기반 통신에 있어서, 하나의 통화자가 말을 하지 않을때, 패킷은 발화자가 말을 하지 않고 배경 잡음이 재생되거나 또는 다시 플레이되어야 한다는 것을 지시하는 메시지들을 수신기에 전송하기 위하여 사용될 수 있다. 패킷은 모든 침묵 간격의 시작시에 전송될 수 있다. CDMA 보코더들은 배경 잡음 정보를 통신하기 위하여 공지된 레이트로 1/8 레이트 프레임들을 연속적으로 전송한다.
지상통신선 또는 유선 시스템들은 다른 시스템들에 비하여 대역폭과 관련하 여 많은 제약들이 존재하지 않기 때문에 대부분의 스피치 데이터를 전송한다. 따라서, 데이터는 최대 레이트(full rate) 프레임들에 의하여 연속적으로 통신될 수 있다. 그러나, 무선 통신 시스템들에 있어서는 대역폭을 절약해야 하는 필요성이 존재한다. 무선 시스템에 있어서 대역폭을 절약하는 한 방법은 전송되는 프레임의 크기를 감소시키는 것이다. 예컨대, 많은 CDMA 시스템들은 배경 잡음을 통신하기 위하여 1/8 레이트 프레임들을 연속저긍로 전송한다. 1/8 레이트 프레임은 침묵 지시자 프레임으로서 작용한다. 작은 프레임을 전송함으로서, 최대 또는 절반 프레임(half frame)과 대조적으로 대역폭이 절약된다.
본 발명은 제거 또는 "블랭킹" "침묵" 프레임들을 포함하는 대역폭을 절약하기 위한 장치 및 방법을 포함한다. 이들 1/8 레이트 프레임들의 제거 또는 "블랭킹" 대부분은 허용가능 레벨들로 스피치 품질을 유지하면서 시스템 용량을 개선한다. 본 발명의 장치 및 방법은 1/8 레이트 프레임들에 제한되지 않으며, 배경 잡음을 통신하는데 필요한 오버헤드를 감소시키기 위하여 배경 잡음을 통신하기 위하여 사용된 공지된 레이트의 프레임들을 선택항 제거하기 위하여 사용될 수 있다. 배경 잡음을 통신하기 위하여 사용된 임의의 레이트 프레임은 배경 잡음 레이트 프레임으로서 알려질 수 있으며 본 발명에서 사용될 수 있다. 따라서, 본 발명은 배경 잡음을 통신하기 위하여 사용되는 동안 임의의 크기의 프레임과 함께 사용될 수 있다. 게다가, 만일 배경 잡음이 침묵 간격의 중간에서 변화하면, 본 발명의 스마트 블랭킹 장치는 스피치 품질에 영향을 미치지 않고 배경 잡음의 변화를 반영하기 위하여 통신 시스템을 업데이트한다.
CDMA 통신에서, 공지된 레이트의 프레임은 발화자가 말을 하지 않을때 배경 잡음을 인코딩하기 위하여 사용될 수 있다. 예시적인 실시예에 있어서, 1/8 레이트 프레임은 높은 데이터 레이트(HDR)의 VoIP(Voice over Internet Protocol) 시스템에서 사용된다. HDR은 미국통신산업협회(TIA) 표준 IS-856에 개시되어 있으며 CDMA2000 1xEV-DO로서 공지되어 있다. 이러한 실시예에 있어서, 1/8 레이트 프레임들의 연속 열(train)은 침묵 주기동안 20msec마다 전송된다. 이는 음성 데이터를 전송하기 위하여 사용될 수 있는, 최대 레이트(레이트 1), 절반 레이트(레이트 1/2), 또는 1/4 레이트(레이트 1/4) 프레임들과 다르다. 비록 1/8 레이트 패킷이 최대 레이트 프레임과 비교하여 상대적으로 작을 지라도, 즉 적은 비트를 가질지라도, 통신 시스템의 패킷 오버헤드는 상당히 클 수 있다. 이는 스케줄러가 음성 패킷 레이트들을 구별할 수 없기 때문에 특히 진실이 될 수 있다. 스케줄러는 자자원들을 효율적으로 제공하기 위하여 이동국들에 시스템 자원들을 할당한다. 예컨대, 최대 스루풋 스케줄러는 최상의 무선 조건에 있는 이동국을 스케줄링함으로서 셀 스루풋을 최대로 한다. 라운드-로빈 스케줄러(round-robin scheduler)는 동시에 시스템 이동국들에 동일한 수의 스케줄링 슬롯들을 할당한다. 비례 페어 스케줄러(proportional fair scheduler)는 비례(사용자 무선 조건) 페어 방식으로 이동국들에 전송 시간을 할당한다. 본 발명의 방법 및 장치는 여러 타입의 스케줄러들과 함께 사용될 수 있으며 하나의 특정 스케줄러에 제한되지 않는다. 발화자가 전형적으로 대화의 약 60%동안 말을 하지 않기 때문에, 침묵 주기들동안 배경 잡음을 전송하기 위하여 사용되는 1/8 레이트 프레임들의 대부분을 제거하는 것은 이들 침묵 주기들동안 전송되는 전체 데이터 비트량을 감소시킴으로서 시스템 용량 이득을 제공한다.
스피치 품질이 거의 영향을 받지 않는 이유는 배경 잡음 정보가 필요한때에 업데이트되는 방식으로 스마트 블랭킹이 수행되는 사실 때문이다. 품질의 향상외에, 1/8 레이트 프레임 스마트 블랭킹을 사용하면 대역폭 요건들이 감소되기 때문에 전체 전송 비용이 줄여든다. 이들 모든 개선들은 인식된 음성 품질에 대한 영향을 최소화하면서 달성된다.
본 발명의 스마트 블랭킹은 많은 음성 통신 시스템들과 같이 패킷들이 전송되는 임의의 시스템과 함께 사용될 수 있다. 이는 다른 유선 시스템들과 통신하는 유선 시스템들, 다른 무선 시스템들과 통신하는 무선 시스템들 및 무선 시스템들과 통신하는 유선 시스템들을 포함한다(그러나, 이에 제한되지 않음).
배경 잡음의 생성
여기에 기술된 예시적인 실시예에서는 배경 잡음 생성을 위한 두개의 컴포넌트가 존재한다. 이들 컴포넌트들은 에너지 레벨 또는 잡음량 그리고 스펙트럴 주파수 특징들 또는 잡음의 "칼라"를 포함한다. 도 1은 배경 잡음(35)을 생성하는 장치, 즉 배경 잡음 생성기(10)를 기술한다. 신호 에너지(15)는 잡음 생성기(20)에 입력된다. 잡음 생성기(20)는 소형 프로세서이다. 잡음 생성기(20)는 평균값이 0인 수들의 랜덤 시퀀스의 형태로 백색 잡음(25)을 출력하는 소프트웨어를 실행한다. 이러한 백색 잡음은 선형 예측 계수(LPC) 필터 또는 선형 예측 코딩 필터(30)에 입력된다. 또한, LPC 필터(30)에는 LPC 계수들(72)이 입력된다. 이들 계수들(72)은 코드북 엔트리(71)로부터 발생할 수 있다. LPC 필터(30)는 배경 잡음(35)의 주파수 특징들을 정형화한다. 배경 잡음 생성기(10)는 시스템들이 배경 잡음(35)을 나타내는 볼륨(volume) 및 주파수를 사용하는 한 배경 잡음(35)을 전송하는 모든 시스템들에서 일반적이다. 바람직한 실시예에서, 배경 잡음 생성기(10)는 보코더(60)의 디코더(50)에 배치된 릴렉스 코드-여기 선형 예측(RCELP) 디코더(40)에 배치된다. 잡음(35)을 플레이하기 위하여 1/8 레이트 프레임들(70)을 사용하는 디코더(40)를 도시한 도 2를 참조하라.
도 2에서, 패킷 프레임(41) 및 패킷 타입 신호(42)는 프레임 에러 검출 장치(43)에 입력된다. 패킷 프레임(41)은 RCELP 디코더(40)에 입력된다. 프레임 에러 검출 장치(43)는 레이트 결정 신호(44) 및 프레임 소거 플래그 신호(45)를 RCELP 디코더(40)에 출력한다. RCELP 디코더(40)는 미가공 합성 스피치 벡터(46)를 포스트 필터(47)에 출력한다. 포스트 필터(47)는 포스트 필터링된 합성 스피치 벡터 신호(48)를 출력한다.
배경 잡음을 생성하기 위한 이러한 방법은 CDMA 보코더들에 제한되지 않는다. 강화된 풀 레이트(EFR), 적응 멀티 레이트(AMR), 강화된 가변 레이트 CODEC(EVRC), G.727, G.728, 및 G.722와 같은 다양한 다른 스피치 보코더들은 배경 잡음을 통신하기 위한 이러한 방법을 적용할 수 있다.
비록 침묵 간격동안 배경 잡음(89)과 대화동안 음성에 대한 무한 수의 에너지 레벨들 및 스펙트럴 주파수 특징들이 존재할지라도, 침묵 간격들동안의 배경 잡음(89)은 보통 유한수(비교적 적은수)의 값들에 의하여 기술될 수 있다. 배경 잡 음 정보를 통신하기 위하여 요구된 대역폭을 감소시키기 위하여, 특정 시스템에 대한 스펙트럴 및 에너지 잡음 정보는 양자화되어 하나 이상의 코드북들(65)에 저장된 코드북 엔트리들(71, 73)으로 인코딩될 수 있다. 따라서, 침묵 간격동안 나타나는 배경 잡음(35)은 보통 이들 코드북들(65)의 유한수의 엔트리들(71, 73)에 의하여 기술될 수 있다. 예컨대, 강화된 가변 레이트 코덱(EVRC) 시스템에서 사용되는 코드북 엔트리(73)는 전력에 대한 256개의 다른 1/8 레이트 상수들을 포함할 수 있다. 전형적으로, EVRC 시스템내에서 전송된 임의의 잡음은 이들 256개의 값들중 하나에 대응하는 전력 레벨을 가질 것이다. 게다가, 각각의 수는 3개의 전력 레벨들로 디코딩하며, EVRC 프레임내의 각각의 서브프레임에 대하여 하나의 수가 할당된다. 유사하게, EVRC 시스템은 인코딩된 배경 잡음(35)과 연관된 주파수 스펙트럼들에 대응하는 유한수의 엔트리들(71)을 포함할 것이다.
일 실시예에 있어서, 보코더(60)에 위치한 인코더(80)는 코드북 엔트리들(71, 73)을 생성할 수 있다. 이는 도 3에 기술되어 있다. 코드북 엔트리(71, 73)는 결국 원래의 값들의 근사치로 디코딩될 수 있다. 당업자는 잡음 인코딩 및 재생을 위하여 코드북들(65)의 에너지 볼륨(15) 및 주파수 "칼라" 계수들(72)을 사용하면 많은 보코더들(60)이 잡음 정보를 전송하기 위하여 등가 모드를 사용하기 때문에 여러 타입의 보코더들(60)로 확장될 수 있다는 것을 인식할 것이다.
도 3은 본 발명에 사용될 수 있는 인코더(80)의 일 실시예를 기술한다. 도 3에서, 두개의 신호들, 즉 스피치 신호(85) 및 외부 레이트 명령(107)은 인코더(80)에 입력된다. 스피치 신호 또는 펄스 코드 변조(PCM) 스피치 샘플들(또는 디지털 프레임들)(85)은 고역통과 필터 및 적응형 잡음 억제 필터인 보코더(60)의 신호 프로세서(90)에 입력된다. 처리되거나 또는 필터링된 펄스 코드 변조(PCM) 스피치 샘플들(95)은 음성 샘플들이 검출되는지의 여부를 결정하는 모델 파라미터 추정기(100)에 입력된다. 모델 파라미터 추정기(100)는 모델 파라미터들(105)을 제 1 스위치(110)에 출력한다. 스피치는 음성 및 침묵의 조합으로서 한정될 수 있다. 만일 음성(활성 스피치) 샘플들이 검출되면, 제 1 스위치(110)는 모델 파라미터들(105)을 최대 또는 1/2 레이트 인코더(115)로 라우팅하며, 보코더(60)는 포맷화된 패킷(125)에서 최대 또는 1/2 레이트 프레임들(117)의 샘플들을 출력한다.
만일 모델 파라미터 추정기(100)으로부터의 입력을 가진 레이트 결정기(122)가 침묵 프레임을 인코딩하는 것을 결정하면, 제 1 스위치(110)는 1/8 레이트 인코더(120)에 모델 파라미터들(105)을 라우팅하며, 보코더(60)는 1/8 레이트 프레임 파라미터들(119)을 출력한다. 패킷 포맷화 모듈(124)은 파라미터들(119)을 포맷화된 패킷(125)로 입력하는 장치를 포함한다. 만일 1/8 레이트 프레임(70)이 기술된 바와같이 생성되면, 보코더(60)는 음성 또는 침묵 샘플(85)의 스펙트럴 에너지 값들(LSPIDX1 또는 LSPIDX2)(71) 또는 에너지(FGIDX)(73)에 대응하는 코드북 엔트리들을 포함하는 패킷(125)을 출력할 수 있다.
레이트 결정기(122)는 어느 타입의 패킷이 발생하는지를 결정하기 위하여 음성 활성화 검출(VAD) 방법 및 레이트 선택 로직을 적용한다. 모델 파라미터들(105) 및 외부 레이트 명령 신호(107)는 레이트 결정기(122)에 입력된다. 레이트 결정기(122)는 레이트 결정 신호(109)를 출력한다.
1/8 레이트 프레임
도 4에서, 160 PCM 샘플들은 배경 잡음의 20msec의 샘플링으로부터 생성되는 스피치 세그먼트(89)를 나타낸다. 160 PCM 샘플들은 3개의 블록들(86, 87, 88)로 분할된다. 블록들(86, 87)은 53 PCM 샘플들의 길이를 가지는 반면에, 블록(88)은 54 PCM 샘플들의 길이를 가진다. 배경 잡음(89)의 160 PCM 샘플들 및 20 msec는 1/8 레이트 프레임(70)으로 표현될 수 있다. 예시적인 실시예에 있어서, 1/8 레이트 프레임(70)은 정보의 16 비트까지 포함할 수 있다. 그러나, 비트들의 수는 시스템의 특정 용도 및 요건들에 따라 변화할 수 있다. EVRC 보코더(60)는 전형적인 실시예에서 16 비트를 3개의 코드북들(65)에 분배하기 위하여 사용된다. 이는 도 4에 기술되어 있다. 제 1 8비트, LSPIDX1(4비트) 및 LSPIDX2(4비트)는 인코딩된 잡음(35)의 주파수 콘텐츠, 즉 배경 잡음(35)을 재생하는데 필요한 스펙트럴 정보를 나타낸다. 8비트의 제 2 세트, 즉 FGIDX(8비트)는 잡음(35)의 볼륨 콘텐츠, 즉 배경 잡음(35)을 재생하는데 필요한 에너지를 나타낸다. 코드북에 단지 유한수의 잠재 에너지 볼륨들이 포함되기 때문에, 이들 볼륨들의 각각은 8비트 길이를 가진 코드북의 엔트리(73)에 의하여 표현될 수 있다. 유사하게, 스펙트럴 주파수 정보는 4비트의 길이를 가진, 두개의 다른 코드북으로부터의 두개의 엔트리(71)에 의하여 표현될 수 있다. 따라서, 정보의 16 비트는 잡음(35)의 볼륨 및 주파수 특징들을 나타내기 위하여 사용되는 코드북 엔트리들(71, 73)이다.
도 4에 기술된 예시적인 실시예에 있어서, FGIDX 코드북 엔트리(73)는 침묵 샘플들의 에너지를 나타내기 위하여 사용된 에너지 값들을 포함한다. LSPIDX1 코 드북 엔트리(71)는 "저주파수" 스펙트럴 정보를 포함하며, LSPIDX2 코드북 엔트리(71)는 침묵 샘플들의 스펙트럼을 나타내기 위하여 사용된 "고주파수" 스펙트럴 정보를 포함한다. 다른 바람직한 실시예에 있어서, 코드북들은 보코더(60)에 위치한 메모리(130)에 저장된다. 메모리(130)는 보코더(60) 외부에 배치될 수 있다. 다른 바람직한 실시예에 있어서, 코드북들을 포함하는 메모리(130)는 스마트 블랭킹 장치 또는 스마트 블랭커(blanker)(140)에 위치할 수 있다. 이는 도 5a에 기술된다. 코드북들의 값들이 변화하지 않기 때문에, RAM, CD, DVD, 자기 코어 등과 같은 임의의 수의 다른 타입의 메모리가 사용될 수 있을지라도, 메모리(130)는 ROM 메모리일 수 있다.
1/8 레이트 프레임들의 블랭킹
전형적인 실시예에 있어서, 1/8 레이트 프레임들(70)을 블랭킹하기 위한 방법의 단계들은 송신장치(150) 및 수신장치(160)사이에서 분할될 수 있다. 이는 도 5a에 도시된다. 이러한 실시예에 있어서, 송신기(150)는 배경 잡음의 최상의 표현(representation)을 선택하며 이러한 정보를 수신기(160)에 전송한다. 송신기(150)는 샘플링된 입력 배경 잡음(89)의 변화들을 추적하며, 잡음 신호(70)를 업데이트할때를 결정하기 위하여 트리거(175)(또는 다른 형태의 통지(notification)를 사용하며, 이들 변화들을 수신기(160)에 통신한다. 수신기(160)는 대화의 상태(토킹(talking), 침묵)를 추적하며, 송신기(150)에 의하여 제공된 정보를 사용하여 "정확한" 배경 잡음(35)을 생성한다. 1/8 레이트 프레임들(70)을 블랭킹하기 위한 방법은 로직 회로, 아날로그 및 디지털 전자회로, 컴퓨터 실행 명령, 소프트 웨어, 펌웨어 등을 사용하여 다양한 방식으로 구현될 수 있다.
도 5a는 디코더(50) 및 인코더(80)가 단일 장치에 동작가능하게 접속될 수 있는 실시예를 기술한다. 점선은 디코더(50) 및 인코더(80)가 보코더(60)내에서 위치한다는 것을 나타내기 위하여 디코더(50) 및 인코더(80) 주위에 배치되었다. 인코더(50) 및 디코더(80)는 개별 장치에 배치될 수 있다. 디코더(80)는 디지털 표현의 신호를 합성 스피치 신호로 변환하기 위한 장치이다. 바람직한 실시예에 있어서, 디코더(80)는 음성의 디지털 표현을 합성 스피치 신호 또는 등가 PCM 표현으로 변환한다. 인코더(80)는 샘플링된 스피치 신호를 일반적으로 압축 및 패킹된 디지털 표현(compressed and packed digital representation)으로 변환한다. 바람직한 실시예에 있어서, 인코더(80)는 샘플링된 음성 또는 이의 등가 PCM 표현을 보코더 패킷(125)으로 변환한다. 이러한 하나의 인코딩 표현은 디지털 표현일 수 있다. 더욱이, EVRC 시스템들에서, 많은 보코더들(60)은 인코더(50)에 위치한, 120 Hz 주변에서 컷오프 주파수를 가진 고역통과 필터를 가진다. 컷오프 주파수는 보코더들(60)마다 다를 수 있다.
게다가, 도 5a에서, 스마트 블랭킹 장치(140)는 보코더(60) 외부에 배치된다. 그러나, 다른 실시예에서는 스마트 블랭킹 장치(140)가 보코더(60)내에 배치될 수 있다(도 5b 참조). 따라서, 블랭킹 장치(140)는 보코더 장치(60)의 부분이 되도록 보코더(60)와 집적될 수 있거나 또는 개별 장치로서 배치될 수 있다. 도 5a에 도시된 바와같이, 스마트 블랭킹 장치(140)는 디-지터 버퍼(d-jitter buffer)(180)로부터 음성 및 침묵 패킷들을 수신한다. 디-지터 버퍼(180)는 다수 의 기능들을 수행하며, 이들 기능중 하나는 스피치 패킷들이 수신되는 순서대로 스피치 패킷들을 입력하는 것이다. 네트워크 스택(185)은 송신기(150)로부터 인코더(80)에 접속된 스마트 블랭킹 장치 로직 블록(140) 및 수신기(160)의 디-지터 버퍼(180)를 동작가능하게 접속한다. 네트워크 스택(185)은 장치의 디코더(50)에 입력 프레임들을 라우팅하거나 또는 다른 장치의 스위칭 회로에 프레임들을 라우팅하기 위하여 사용된다. 바람직한 실시예에 있어서, 스택(185)은 IP 스택이다. IP 스택은 여러 통신 채널상에서, 바람직한 실시예에서 무선 통신 채널상에서 실행될 수 있다.
도 5a에 도시된 셀 전화들이 스피치를 전송하거나 또는 스피치를 수신할 수 있기 때문에, 스마트 블랭킹 장치는 각각의 전화에 대하여 두개의 블록들로 분할된다. 이하에서 논의되는 바와같이, 스피치의 송신기(150) 및 수신기(160)는 본 발명의 스마트 블랭킹 방법의 단계들을 실행한다. 따라서, 디코더(50)에 동작가능하게 접속된 스마트 블랭킹 장치(140)는 수신기(160)에 대한 본 발명의 단계들을 실행하는 반면에, 인코더에 동작가능하게 접속된 스마트 블랭킹 장치(140)는 송신기(150)에 대한 본 발명의 단계들을 실행한다.
각각의 셀 전화 사용자가 스피치를 전송하고(발화하고) 스피치를 수신한다는(청취한다는) 것에 유의해야 한다. 따라서, 스마트 블랭킹 장치(140)는 또한 송신 및 수신 단계들 둘다를 수행하는 각각의 셀 전화의 한 블록 또는 장치일 수 있다. 이는 도 5c에 기술된다. 바람직한 실시예에 있어서, 스마트 블랭킹 장치(140)는 마이크로프로세서이거나, 또는 다수의 장치중 일부, 즉 정보를 처리하고 명령들을 실행하기 위하여 사용될 수 있는 아날로그 및 디지털 장치이다.
최종적으로, 시간 와퍼(time warper)(190)는 스마트 블랭킹 장치(140)와 함께 사용될 수 있다. 스피치 시간 와핑은 스피치 세그먼트의 품질을 저하시키지 않고 스피치 세그먼트의 기간을 신장하거나 또는 압축하는 동작이다. 시간 와핑은 도 5d 및 도 5e에 기술되며, 도 5d 및 도 5e는 압축된(192) 및 신장된 스피치 세그먼트(194)의 예들을 각각 도시한다. 도 5f는 시간 와퍼(190)를 사용하는 본 발명의 실시예를 도시한다.
도 5d에서, 도면부호 195는 최대 상관이 오프셋되어 발견되는 위치이다. 스피치 샘플을 압축하기 위하여, 일부 세그먼트들은 홀수-중첩되며(196), 샘플들의 나머지들은 원래의 세그먼트(197)로부터 원래 그대로 복사된다. 도 5e에서, 도면부호 200은 최대 상관이 발견되는 위치(오프셋)이다. 도면부호 89a는 이전 프레임(160 PCM 샘플들)로부터의 스피치 세그먼트인 반면에, 도면부호 89b는 현재의 프레임(160 PCM 샘플들)으로부터의 스피치 세그먼트이다. 스피치 세그먼트를 신장시키기 위하여, 세그먼트들은 홀수-중첩된다(202). 신장된 스피치 세그먼트(194)는 160-오프셋 세그먼트들+160이다.
1/8 레이트 프레임들 분류
1. 임시(transitory) 1/8 레이트 프레임들
예시적인 실시예에 있어서, 프레임들은 토크 스퍼트(talk spurt)후에 그들의 포지셔닝에 따라 분류될 수 있다. 토크 프레임 바로 다음의 프레임들은 임시(transitory) 프레임이라 칭할 수 있다. 이러한 프레임들은 배경 잡음(89)외에 임의의 나머지 음성 에너지를 포함할 수 있거나 또는 보코더 수렴 동작때문에(인코더가 배경 잡음을 추정하기 때문에) 부정확할 수 있다. 따라서, 이들 프레임들내에 포함된 정보는 "잡음"의 현재 평균 볼륨 레벨과 다르다. 이들 임시 프레임들(205)은 침묵 주기동안 "참(true) 배경 잡음"의 양호한 예들이 아닐 수 있다. 다른 한편으로, 안정한 프레임들(210)은 평균 볼륨 레벨에 반영되는 최소량의 나머지 음성을 포함한다.
도 6 및 도 7은 두개의 다른 스피치 환경의 침묵 주기의 시작을 도시한다. 도 6은 여러 침묵 주기들의 시작이 도시된, 컴퓨터들의 랙(rack)으로부터의 잡음의 19 플롯들을 포함한다. 각각의 플롯은 시험 결과들을 나타낸다. y-축은 평균 에너지(212)에 대한 프레임 에너지 델타를 나타낸다. x-축은 프레임 번호(214)를 나타낸다. 도 7은 여러 침묵 주기들동안 침묵의 시작이 도시된, 바람부는 날 걸어갈때의 잡음의 9개의 플롯들을 포함한다. y-축은 평균 에너지(212)에 대한 프레임 에너지 델타를 나타낸다. x-축은 프레임 번호(214)를 나타낸다.
도 6은 1/8 레이트 프레임들(70)의 에너지가 제 2 프레임후 "안정한" 것으로 고려될 수 있는 스피치 샘플을 도시한다. 도 7은 여러 플롯들에 있어서 샘플이 침묵 간격을 나타내는 값에 수렴하도록 프레임 에너지에 대하여 4개 이상의 프레임을 가진다는 것을 도시한다. 사람이 말을 중지할때, 사람의 음성은 갑자기 중지되지 않으나 점차적으로 침묵상태로 간다. 따라서, 이는 잡음 신호가 일정한 값으로 되는데 몇 프레임들이 걸린다. 따라서, 제 1 몇 프레임들은 그들이 임의의 음성 나머지를 포함하기 때문에 또는 보코더 설계 때문에 임시 프레임이다.
2. 안정된 잡음 프레임들
침묵 간격동안 "임시" 잡음 프레임들(205) 다음의 프레임들은 "안정된" 잡음 프레임들(210)로 언급될 수 있다. 앞서 언급된 바와같이, 이들 프레임들은 마지막 토크 스퍼트의 영향을 최소로 받으면서 디스플레이되며 따라서 샘플링된 입력 배경 잡음(89)의 양호한 표현을 제공한다. 당업자는 배경 잡음(35)이 현저하게 변화할 수 있기 때문에 안정된 배경 잡음(35)이 상대적 용어라는 것을 인식해야 한다.
안정된 프레임들로부터 임시 프레임 구별
안정된 1/8 레이트 프레임들(210)로부터 임시 1/8 레이트 프레임들(205)을 구별하기 위한 여러 방법들이 존재한다. 이들 방법들중 두개의 방법은 이하에 기술된다.
고정 타이머 식별
일 실시예에 있어서, 공지된 레이트의 제 1 N 프레임들은 임시 프레임들로 고려될 수 있다. 예컨대, 다중 스피치 세그먼트들(89)의 분석은 1/8 레이트 프레임들(70)이 제 5 프레임후에 안정되는 것으로 고려될 수 있는 높은 확률이 존재한다는 것을 보여준다(도 6 및 도 7 참조).
차동 식별
다른 실시예에 있어서, 송신기(150)는 안정된 1/8 레이트 프레임들(210)의 필터링된 에너지값을 저장한후 이를 기준으로서 사용할 수 있다. 토크 스퍼트후에, 인코딩된 1/8 레이트 프레임들(70)은 그들의 에너지가 필터링된 값의 델티내로 떨어질때까지 임시 프레임들로 고려된다. 스펙트럼은 보통 프레임(70)의 에너지가 고려되는 경우에 그것의 스펙트럴 정보가 너무 수렴되는 높은 확률이 존재하기 때문에 비교되지 않는다.
그러나, 배경 잡음(35)의 특징이 침묵 주기마다 변화할 수 있는 높은 확률이 존재하며, 그 결과 송신기(150)에 의하여 현재 저장된 것과 다른, 안정된 1/8 레이트 프레임(210)에 대한 다른 필터링된 에너지 값이 발생한다. 결과적으로, 인코딩된 1/8 레이트 프레임들의 에너지는 필터링된 값의 델타내로 떨어지지 않을 수 있다. 이러한 문제를 해결하기 위하여, 수렴하는 타입-아웃(time-out)은 차동 식별 방법을 더 강력하게 만들기 위하여 사용될 수 있다. 따라서, 차동 방법은 고정 타이머 방법을 향상시킨 방법으로 고려될 수 있다.
스마트 블랭킹 방법
일 실시예에서는 임시 프레임 값들(205)을 사용하여 1/8 데이터 레이트 프레임들 또는 1/8 레이트 프레임들을 블랭킹하는 방법이 사용될 수 있다. 다른 실시예에서는 안정된 프레임 값들(210)이 사용될 수 있다. 제 3 실시예에 있어서, 블랭킹 방법은 "프로토타입 1/8 레이트 프레임"(215)을 사용할 수 있다. 이러한 제 3 실시예에 이썽서, 프로토타입 1/8 데이터 레이트 프레임(215)은 수신기측(160)에서 배경 잡음(35)을 재생하기 위하여 사용된다. 예시적으로, 초기화 과정들동안, 제 1 전송된 또는 수신된 1/8 레이트 프레임(70)은 "프로토타입"(215)인 것으로 고려될 수 있다. 프로토타입 프레임(215)은 송신기(150)에 의하여 블랭킹되는 다른 1/8 레이트 프레임들(70)을 나타낸다. 샘플링된 입력 배경 잡음(89)이 변화할때마다, 송신기(150)는 공지된 값의 새로운 프로토타입 프레임(215)을 수신기(160)에 전송한다. 적은 프레임들이 전송됨으로 인하여 각각의 사용자가 좁은 대역폭을 필요하기 때문에 전체 용량이 증가될 수 있다.
송신기측 스마트 블랭킹 방법
예시적인 실시예에 있어서, 송신기측(150)은 토크 스퍼트후에 적어도 제 1 N 임시 1/8 레이트 프레임들(205)을 전송한다. 그 다음에, 송신기측(150)은 침묵 간격에서 나머지 1/8 레이트 프레임들(70)을 블랭킹한다. 테스트 결과들은 단지 하나의 프레임을 전송하는 것이 양호한 결과들을 야기하고 하나 이상의 프레임을 전송하는 것이 품질을 무의미하게 개선한다는 것을 보여준다. 다른 실시예에서, 제 1 하나 또는 두개의 임시 프레임들외에 다음 임시 프레임들(205)이 전송될 수 있다.
신뢰할수 없는 채널들(높은 PER)에서의 동작을 위하여, 송신기(150)는 마지막 임시 1/8 레이트 프레임(205)을 전송한후에 프로토타입 1/8 레이트 프레임(215)을 전송할 수 있다. 바람직한 실시예에 있어서, 프로토타입 프레임(215)은 마지막 임시 1/8 레이트 프레임(205)후에 (40 내지 100) ms 전송된다. 다른 바람직한 실시예에 있어서, 프로토타입 프레임(215)은 마지막 임시 1/8 레이트 프레임(205)후에 80ms 전송된다. 이러한 지연 전송은 침묵 주기의 시작 및 침묵 상태로의 전환를 검출하기 위한 수신기(160)의 신뢰성을 개선하기 위한 것이다.
예시적인 실시예에 있어서, 침묵 간격의 나머지동안, 송신기(150)는 배경 잡음(35)의 업데이트가 트리거링되고 새로운 프로토타입 1/8 레이트 프레임(215)이 전송된 마지막 프레임과 다른 경우에 새로운 프로토타입 1/8 레이트 프레임(215)을 전송한다. 따라서, 1/8 프레임(70)이 20msec마다 전송되는 공지된 시스템들과 다르게, 본 발명은 인식된 대화 품질에 영향을 미치고 수신기(160)에서의 사용을 위하여 1/8 프레임(70)의 전송을 트리거링하여 배경 잡음(35)을 업데이트하도록 샘플링된 입력 배경 잡음(89)이 충분히 변화되었을때 1/8 프레임(70)을 전송한다. 따라서, 1/8 레이트 프레임(70)은 대역폭을 절약하기 위하여 필요한 경우에 전송된다.
도 8은 송신기에 의하여 실행되는 본 발명의 스마트 블랭킹 방법의 단계들 및 장치를 기술한 흐름도이다. 도 8에 기술된 단계들은 메모리(130)내에 있는 소프트웨어 또는 펌웨어(220)에 존재하는 명령들로서 저장된다. 메모리(130)는 스마트 블랭킹 장치(140)애 위치하거나 또는 개별적으로 위치할 수 있다.
도 8에서, 송신기는 프레임(300)을 수신한다. 다음으로, 수신기는 프레임이 침묵 프레임(305)인지의 여부를 결정한다. 만일 침묵을 통신하거나 또는 포함하는 프레임이 검출되지 않으면, 즉 프레임이 음성 프레임이면, 시스템은 활성 상태(310)로 전환하며 프레임은 수신기(315)에 전송된다.
만일 프레임이 침묵 프레임이면, 시스템은 시스템이 침묵 상태(320)에 있는지를 체크한다. 만일 시스템이 침묵 상태에 있지 않으면, 즉 침묵 상태 = 거짓이면, 시스템은 침묵 상태(325)로 전환하여 침묵 프레임을 수신기(330)에 전송한다. 만일 시스템이 침묵 상태에 있으면, 침묵 상태 = 참이면, 시스템은 프레임이 안정된 상태에 있는지를 체크할 것이다(단계 335).
만일 프레임이 안정된 프레임(210)이면, 시스템은 통계치(stats)를 업데이트 하고 업데이트(212)가 트리거링되었는지를 알기 위하여 체크한다(345). 만일 업데이트(212)가 트리거링되었으면, 시스템은 프로토타입을 구축하며(350) 새로운 프로토타입 프레임(215)을 수신기(160)에 전송할 것이다(355). 만일 업데이트(212)가 트리거링되지 않으면, 송신기(150)는 수신기(160)에 프레임을 전송하지 않으며 프레임(300)을 수신하도록 전환될 것이다.
만일 프레임이 안정적이지 않으면, 시스템은 임시 1/8 레이트 프레임들(205)을 전송할 수 있다(360). 그러나, 이러한 특징은 선택적이다.
수신기측 스마트 블랭킹
예시적인 실시예에 있어서, 수신기측(160)에서, 스마트 블랭킹 장치(140)는 대화 상태의 트랙을 유지한다. 수신기(160)는 프레임들을 수신할때 수신된 프레임들을 디코더(50)에 제공할 수 있다. 수신기(160)는 1/8 레이트 프레임(70)이 수신될때 침묵 상태로 전환한다. 다른 실시예에 있어서, 수신기(160)에 의한 침묵 상태로의 전환는 타임아웃에 기초할 수 있다. 또 다른 실시예에 있어서, 수신기(160)에 의한 침묵 상태로의 전환은 1/8 레이트(70)의 수신 및 타임아웃에 기초할 수 있다. 수신기(160)는 1/8 레이트와 다른 레이트가 수신될때 활성 상태로 전환할 수 있다. 예컨대, 수신기(160)는 최대 레이트 프레임 또는 1/2 레이트 프레임이 수신될때 활성 상태로 전환할 수 있다.
예시적인 실시예에 있어서, 수신기(160)가 침묵 상태에 있을대, 수신기(160)는 프로토타입 1/8 레이트 프레임(215)을 재생할 수 있다. 만일 1/8 레이트 프레임이 침묵 상태동안 수신되면, 수신기(160)는 수신된 프레임을 사용하여 프로토타 입 프레임(215)을 업데이트할 수 있다. 다른 실시예에 있어서, 수신기(160)가 침묵 상태에 있을때, 만일 1/8 레이트 프레임(70)이 이용가능하지 않으면, 수신기(160)는 마지막으로 수신된 1/8 레이트 프레임(70)을 플레이할 수 있다.
도 9는 수신기(160)에 의하여 실행되는 스마트 블랭킹 방법의 단계들 및 장치를 기술한 흐름도. 도 9에 기술된 단계들은 메모리(130)내에 있는 소프트웨어 또는 펌웨어에 위치한 명령들(230)로서 저장될 수 있다. 메모리(130)는 스마트 블랭킹 장치(140)내에 배치되거나 또는 개별적으로 배치될 수 있다. 게다가, 스마트 블랭킹 방법의 단계들중 많은 단계들은 메모리(130)내에 있는 소프트웨어 또는 펌웨어에 위치한 명령들로서 저장될 수 잇다.
수신기(160)는 프레임(400)을 수신한다. 첫째, 수신기(160)는 수신기의 음성 프레임인지를 결정한다(405). 만일 그렇다면, 수신기는 침묵 상태 + 거짓을 세팅하고(410) 음성 프레임을 플레이한다(415). 만일 수신된 프레임이 음성 프레임이 아니면, 수신기(160)는 수신된 프레임이 침묵 프레임인지를 체크한다(420). 만일 대답이 예이면, 수신기(160)는 상태가 침묵인지를 체크한다(425). 만일 수신기(160)가 침묵 프레임을 검출하나 침묵 상태가 거짓이면, 즉 수신기(160)가 음성 상태에 있으면, 수신기(160)는 침묵 상태(430)로 전환하며 수신된 프레임(435)을 플레이한다. 만일 수신기(160)가 침묵 프레임을 검출하고 침묵 상태가 참이면, 수신기는 프로토타입(215)을 업데이트하고(440) 프로토타입(215)을 플레이한다(445).
앞서 언급된 바와같이, 만일 수신된 프레임이 음성 프레임이 아니면, 수신기(160)는 수신된 프레임이 침묵 프레임인지를 체크한다. 만일 대답이 아니오이 면, 프레임은 수신되지 않으며(즉, 프레임은 소거 지시이며) 수신기(160)는 상태가 침묵인지를 체크한다(450). 만일 상태가 침묵이면, 즉 침묵 상태 = 참이면, 프로토타입 프레임(215)이 플레이된다(455). 만일 상태가 침묵이 아니면, 즉 침묵 상태 = 거짓이면, 수신기(160)는 N 연속 소거들(240)이 발생되었는지를 체크한다(460)(스마트 블록에서, 소거(240)는 본질적으로 플래그이며, 소거들(240)은 프레임이 예상되나 수신되지 않을때 수신기에 의하여 교환될 수 있다). 만일 대답이 아니오이면, N 연속 소거들(240)은 발생되지 않으며, 수신기(160)의 검출기(50)에 접속된 스마트 블랭킹 장치(140)는 디코더(50)에 대한 소거(240)를 플레이한다(465)(패킷 손실 은폐를 위하여). 만일 대답이 예이면, N 연속 소거들(240)이 발생되며, 수신기(160)는 침묵 상태(470)로 전환하며 프로토타입 프레임(215)을 플레이한다(475).
일 실시예에 있어서, 스마트 블랭킹 장치(140) 및 방법이 사용되는 시스템은 수신기(160)가 플랙시블 타이머이며 송신기(150)가 매 20msec마다 프레임들을 전송하는 고정 타이머를 사용하는 VoIP 시스템이다. 이는 수신기(160) 및 송신기(150)가 고정 타이머를 사용하는 회로 기반 시스템과 다르다. 따라서, 플랙시블 타이머가 사용되기 때문에, 스마트 블랭킹 장치(140)는 매 20msec 마다 프레임에 대하여 체크하지 않을 수 있다. 대신에, 스마트 블랭킹 장치(140)는 요청될때 프레임에 대하여 체크할 것이다.
초기에 언급된 바와같이, 시간 와핑이 사용될때, 스피치 세그먼트(89)는 신장되거나 또는 압축될 수 있다. 디코더(50)는 스피커(235)가 재생을 위한 정보를 런아웃(run-out)할때 실행할 수 있다. 만일 디코더(50)가 실행될 필요가 있으면, 디코더(50)는 디-지터 버퍼(180)로부터 새로운 프레임을 획득하려 할 것이다. 그 다음에, 스마트 블랭킹 방법이 실행된다.
도 10은 1/8 레이트 프레임들(70)이 인코더(80)에 의하여 송신기(150)의 스마트 블랭킹 장치(140)에 연속적으로 전송되는 것을 도시한다. 마찬가지로, 1/8 레이트 프레임들(70)은 수신기(160)의 디코더(50)에 동작가능하게 접속된 스마트 블랭킹 장치(140)에 의하여 연속적으로 전송된다. 그러나, 수신기(160) 및 송신기(150)사이에서, 프레임들의 연속 열은 전송되지 않는다. 대신에, 업데이트(212)는 필요한 경우에 전송된다. 스마트 블랭킹 장치(140)는 소거들(240)을 플레이할 수 잇으며, 송신기(150)로부터 프레임을 수신하지 않은 경우에 프로토타입들(215)을 플레이한다. 마이크로폰(250)은 송신기(150)의 인코더(80)에 부착되며, 스피커(235)는 수신기(160)의 디코더(50)에 부착된다.
배경 잡음의 평활화
예시적인 실시예에 있어서, 디코더(50)가 1/8 레이트 프레임(70)을 검출할때, 수신기(160)는 전체 침묵 간격동안 배경 잡음(35)을 재생하기 위하여 단지 하나의 1/8 레이트 프레임(70)을 사용할 수 있다. 다시 말해서, 배경 잡음(35)은 반복된다. 만일 업데이트(212)가 존재하면, 동일하게 업데이트된 1/8 레이트 프레임(212)은 배경 잡음(35)을 생성하기 위하여 20msec 마다 전송된다. 이는 동일한 1/8 레이트 프레임이 연장된 기간동안 사용되기 때문에 재구성된 배경 잡음(35)의 변형 또는 "평활화"를 부족하게 할 수 있으며 청취자에게 불편을 초래할 수 있다.
일 실시예에 있어서, "평활화"를 방지하기 위하여, 소거들(240)은 프로토타입 1/8 레이트 프레임(215) 대신에 수신기(160)에서 디코더(50)로 공급될 수 있다. 이는 도 10에 기술된다. 소거는 디코더(50)가 소거전에 업데이트(212)에 임의의 랜덤화를 추가한 것을 재생하기 위하여 재생을 시도하기 때문에 배경 잡음(35)에 랜덤화를 도입하여 재구성된 배경 잡음(35)을 변화시킨다. 시간의 0 내지 50%에서 소거(212)를 플레이하면 배경 잡음(35)에 적정 랜덤화가 적용될 것이다.
다른 실시예에 있어서, 랜덤 배경 잡음(35)은 함께 혼합(blend)될 수 있다. 이는 새로운 또는 다음 1/8 레이트 프레임 업데이트(212b)와 이전 1/8 레이트 프레임 업데이트(212a)를 혼합하는 단계, 및 이전 1/8 프레임 업데이트 값(212a)로부터 새로운 1/8 프레임 업데이트 값(212b)로 배경 잡음(35)을 점진적으로 변화시키는 단계를 포함한다. 따라서, 랜덤화 또는 변형이 배경 잡음(35)에 추가된다. 도시된 바와같이, 배경 잡음 에너지 레벨은 (이전 1/8 프레임 업데이트 값(212a)으로부터 새로운 1/8 프레임 업데이트 값(212b)로 상향으로 지시한 화살표로 표시한 바와같이) 점차적으로 증가할 수 있거나 또는 새로운 업데이트 레이트 프레임(212b)의 에너지 값이 이전 업데이트 프레임(212a)의 에너지 값보다 큰지 또는 작은지의 여부에 따라 (이전 1/8 프레임 업데이트 값(212a)으로부터 새로운 1/8 프레임 업데이트 값(212b)로 하향으로 지시한 화살표로 표시한 바와같이) 감소할 수 있다. 이는 도 11에 기술된다.
배경 잡음(35)의 이러한 점진적 변화는 이전 1/8 프레임 업데이트 값(212a) 및 새로운 1/8 프레임 업데이트 값(212b)사이에 있는 코드북 엔트리 값들을 전송된 프레임들이 가지는 코드북 엔트리들(70a, 70b)을 사용하여 달성될 수 있으며, 이에 따라 이전 1/8 업데이트 프레임(212a)을 나타내는 이전 코드북 엔트리(70a)로부터 새로운 업데이트 프레임(212b)을 나타내는 코드북 엔트리(70b)로 점진적으로 이동한다. 각각의 중간 코드북 엔트리(70aa, 79ab)는 이전 업데이트(212a)로부터 새로운 업데이트(212b)로의 증분 변화 Δ를 최소화하도록 선택된다. 예컨대, 도 12에서, 이전 1/8 데이터 레이트 업데이트 프레임(212a)은 코드북 엔트리(70a)에 의하여 표현된다. 다음 프레임은 이전 코드북 엔트리(70a)로부터 증분 변화 Δ를 나타내며 70aa에 의하여 표현된다. 제 1증분 변화를 가진 프레임 다음의 프레임은 이전 코드북 엔트리(70a)로부터 2Δ의 증분 변호를 나타내는 70ab에 의하여 표현된다. 도 12는 이전 업데이트(212a)로부터 증분 변화를 가진 코드북 엔트리들(70aa, 70ab)이 송신기(150)로부터 전송되지 않고 수신기(160)의 디코더(50)에 동작가능하게 접속된 스마트 블랭킹 장치(140)로부터 전송되는 것을 도시한다. 만일 코드북 엔트리들이 송신기(150)에 의하여 전송되면, 송신기(150)에 의하여 전송된 업데이트들(212)이 감소되지 않는다. 증분 변화들은 전송되지 않는다. 증분 변화들은 하나의 배경 잡음(35)으로부터 다른 배경 잡음으로부터의 전환을 스무스하게 하기 위하여 두개의 연속 업데이트들사이에서 수신기에서 자동적으로 생성된다.
1/8 레이트 프로토타입 업데이트 트리거링
예시적인 실시예에 있어서, 송신기(150)는 배경 잡음(35)의 업데이트가 트리거링되고 새로운 1/8 레이트 프레임(70)이 전송된 마지막 잡음 값과 다른 잡음 값을 포함하는 경우에 침묵 주기동안 업데이트(212)를 수신기(160)에 전송한다. 이 러한 방식에 있어서, 배경 잡음(35)은 필요한 경우에 업데이트된다. 트리거링은 여러 인자들에 좌우될 수 있다. 일 실시예에 있어서, 트리거링은 프레임 에너지의 차이에 기초할 수 있다.
도 13은 트리거링이 프레임 에너지의 차이에 기초할 수 있는 실시예를 기술한다. 이러한 실시예에 있어서, 송신기(150)는 인코더(80)에 의하여 생성된 모든 안정된 1/8 레이트 프레임(210)의 평균 에너지의 필터링된 값을 유지한다. 다음으로, 마지막으로 전송된 프로토타입(215)에 포함된 에너지 및 모든 안정된 1/8 데이터 레이트 프레임들의 필터링된 평균 에너지는 비교된다(510). 다음으로, 마지막으로 전송된 프로토타입(215)에 포함된 에너지 및 현재 필터링된 평균치간의 차이 또는 델타가 임계치(245)보다 큰 지의 여부가 결정된다(520). 만일 대답이 예이면, 업데이트(212)는 트리거링되며, 새로운 잡음 값을 포함하는 새로운 1/8 레이트 프레임(70)이 전송된다(530). 배경 잡음(35)의 러닝 평균(running average)은 차이를 계산하여 업데이트 프레임(212)의 전송을 트리거링할때 스파이크의 발생을 방지하기 위하여 사용된다. 사용된 차이는 품질 또는 스루풋에 기초하여 고정되거나 또는 적응될 수 있다.
다른 실시예에 있어서, 트리거링은 스펙트럴 차이에 기초할 수 있다. 이러한 실시예에 있어서, 송신기(150)는 인코더(80)에 의하여 생성된 안정된 1/8 레이트 프레임들(210)에 포함된 코드북 엔트리들(71, 73)사이의 스펙트럴 차이들의 코드북(65)마다 필터링된 값을 유지한다(600). 다음으로, 이와같이 필터링된 스펙트럴 차이는 임계치와 비교된다((610). 다음으로, 마지막으로 전송된 프로토타 입(215)의 스펙트럼사이의 차이 또는 델타와 안정된 1/8 레이트 프레임들(210)에 포함된 코드북 엔트리들(71, 73)사이의 필터링된 스펙트럴 차이들이 임계치(SDT1, SDT2)(235)보다 큰지가 결정된다(620). 만일 그렇다면, 업데이트(212)가 트리거링된다(630). 이는 도 14에 기술된다.
앞서 언급된 바와같이, 배경 잡음(35) 볼륨 또는 에너지의 변화들 및 배경 잡음(35) 주파수 스펙트럼의 변화들은 트리거(175)로서 사용될 수 있다. 스마트 블랭킹 방법 및 장치의 이전 실행에 있어서, 볼륨의 변화들은 업데이트 프레임들(212)을 트리거링한다. 또한, 40%의 주파수 스펙트럼의 변동은 주파수 변화들(212)을 트리거링하기 위하여 사용되었다.
스펙트럴 차이의 계산
초기에 언급된 바와같이, 선형 예측 계수(LPC) 필터(또는 선형 예측 코딩 필터)는 배경 잡음(35)의 주파수 특징들을 추출하기 위하여 사용된다. 선형 예측 코딩은 동일한 시퀀스의 이전 샘플들의 선형 결합에 의하여 시퀀스의 미래의 샘플들을 에측하는 방법이다. 스펙트럴 정보는 보통 두개의 다른 코드북들(65)에 의하여 생성된 계수들(72)의 선형 차이들이 코드북(65)의 스펙트럴 차이들에 비례하는 방식으로 인코딩된다. 도 3에 도시된 모델 파라미터 추정기(100)는 최적 피치 지연(
Figure 112007063687607-PCT00001
) 및 선형 예측 계수들(LPC)(72)의 세트를 생성하기 위하여 LPC 분석을 수행한다. 또한 모델 파라미터 추정기(100)는 LPC들(72)를 라인 스펙트럴 쌍들(LSP)로 변환한다. 선형 스펙트럴 쌍(LSP)은 의사-주파수 영역의 디지털 필터 계수들(72)의 표현이다. 이러한 표현은 양호한 양자화 및 보간 특성들을 가진다.
ECRV 보코더(60)를 구현하는 예시적인 실시예에 있어서, 스펙트럴 차이들은 이하의 두개의 수식을 사용하여 계산될 수 있다.
Figure 112007063687607-PCT00002
앞의 수식들에서, LSPIDX1은 "저주파수" 스펙트럴 정보를 포함하는 코드북(65)이며, LSPIDX2는 "고주파수" 스펙트럴 정보를 포함하는 코드북(65)이다. n 및 m은 두개의 다른 코드북 엔트리들(71)이다. qrate는 양자화된 LSP 파라미터이다. 이는 3개의 인덱스, 즉 k, i, j를 가진다. k는 LSPIDX1 및 LSPIDX2에 대하여 변화하는 테이블 수이며, 여기서 k=1,2이다. i는 동일한 코드북 엔트리(71)에 속하는 하나의 양자화된 엘리먼트이며, 여기서 i=1,2,3,4,5이다. j는 코드북 엔트리(71), 즉 통신 채널을 통해 실제로 전송되는 수이다. j는 m 및 n에 대응한다. m 및 n은 두개의 코드북들사이의 차이가 계산된 이후로 두개의 변수들이 요구되기 때문에 j 대신에 앞의 수식들에서 사용된다. 도 4에서, 코드북들 LSPIDX1 및 LSPIDX2는 코드북 엔트리들(71)에 의하여 표현되며, 코드북 FGIDX는 코드북 엔트리들(73)에 의하여 표현된다.
각각의 코드북 엔트리(71)는 5개의 수로 디코딩한다. 다른 프레임들로부터의 두개의 코드북 엔트리들(71)을 비교하기 위하여, 5개의 수의 각각의 수의 절대 차이의 합이 취해진다. 결과는 이들 두개의 코드북 엔트리들(71)간의 주파수/스펙 트럴 "거리"이다.
"저주파수" LSP들 및 "고주파수" LSP들에 대한 주파수 스펙트럼 코드북 엔트리들(71)의 변형이 도 15에 도시되어 있다. x-축은 코드북 엔트리들(71)간의 차이를 나타낸다. y-축은 x-축상에서 표현된 차이를 가진 코드북 엔트리들(71)의 백분율을 나타낸다.
새로운 프로토타입 1/8 레이트 프레임의 구축
업데이트가 요구될때, 새로운 프로토타입 1/8 레이트 프레임(70)은 코드북(65)에 포함된 정보에 기초하여 구축될 수 있다. 도 4는 초기에 언급된 3개의 코드북들(65), 즉 FGIDX, LSPIDX1 및 LSPIDX2로부터의 엔트리들을 포함하는 1/8 프레임(70)을 기술한다. 새로운 프로토타입(215)을 구축하는 동안, 선택된 코드북들(65)은 현재의 배경 잡음(35)을 나타낼 수 있다.
일 실시예에 있어서, 송신기(150)는 메모리(130)에 저장된 FGIDX 코드북(65)과 같은 "에너지 코드북"(65)에서 인코더(80)에 의하여 생성된 모든 안정된 1/8 레이트 프레임(210)의 평균 에너지의 필터링된 값을 유지한다. 업데이트가 요구될때, 필터링된 값에 근접한 FGIDX 코드북(65)의 평균 에너지 값은 프로토타입 1/8 레이트 프레임(215)을 사용하여 수신기(160)에 전송된다.
다른 실시예에 있어서, 송신기(150)는 인코더(80)에 의하여 생성된, 스펙트럴 코드를 포함하는 코드북들(65)의 필터링된 히스토그램을 유지한다. 스펙트럴 정보는 메모리(130)에 저장된 LSPIDX1(저주파수) 또는 LSPIDX2(고주파수) 코드북(65)과 같은 "저주파수" 또는 "고주파수" 정보일 수 있다. 1/8 레이트 프레임 업데이트(212)에 대하여, "가장 대중적인" 코드북(65)은 히스토그램이 필터링된 값에 근접한 스펙트럴 정보 코드북(65)에서 평균 에너지 값을 선택함으로서 배경 잡음(35)에 대한 업데이트된 값을 생성하기 위하여 사용된다.
마지막 N 코드북 엔트리들(71)의 히스토그램을 유지함으로서, 본 발명의 방법 및 장치는 1/8 레이트 프레임들의 최근 평균을 나타내는 코드북 엔트리(71)를 계산하는 것을 방지한다. 이는 동작 시간을 줄이는 역할을 한다.
트리거 임계치들
프로토타입 업데이트 트리거 임계치들(245)은 여러 방식으로 셋업될 수 있다. 이들 방법들은 "고정" 및 "적응" 임계치들(245)을 사용하는 것을 포함한다(그러나 이에 제한되지 않음). 고정 임계치를 실행하는 실시예에 있어서, 고정값은 다른 임계치들(245)에 할당된다. 이러한 고정값은 오버헤드 및 배경 잡음(35) 품질을 적절히 절충할 수 있다. 적응 임계치를 구현하는 실시예에 있어서, 제어 루프는 임계치들(245)의 각각을 위하여 사용될 수 있다. 제어 루프는 임계치들(245)의 각각에 의하여 트리거되는 업데이트들(212)의 특정 백분율을 목표로한다.
목표들로서 사용된 백분율은 목표 글로벌 오버헤드(global overhead)를 초과하지 않는 목적과 결합된다. 이러한 오버헤드는 인코더(80)에 의하여 생성된 안정된 1/8 레이트 프레임들(210)의 전체 수를 통해 전송되는 업데이트들(212)의 백분율로서 정의된다. 제어 루프는 임계치(245)마다 필터링된 오버헤드의 트랙을 유지할 것이다. 만일 오버헤드가 목표 이상이면, 오버헤드는 델타만큼 임계치(245)를 증가시키며, 그렇치 않으면 오버헤드는 델타만큼 임계치(245)를 감소시킨다.
얼라이브 (keep alive) 패킷 트리거
만일 패킷이 전송되지 않은 기간이 임계 시간을 초과하면, 통신이 이루어지고 있는 네트워크 또는 음성 통신을 실행하는 애플리케이션은 혼돈될 수 있으며 두명의 당사자들간의 통신이 종료된다고 인식한다. 그 다음에, 이는 두명의 당사자들의 연결을 종료할 것이다. 이러한 상황이 발생하는 것을 방지하기 위하여, 킵 얼라이브 패킷은 프로토타입을 업데이트하기 위하여 임계 시간이 만료되기전에 전송된다. 단계들이 도 16에 기술되어 있다. 마지막 업데이트(212)가 전송딘 이후로 경과된 시간을 측정한다(700). 경과된 시간이 임계치보다 큰가?(710). 만일 그렇다면, 업데이트(212)를 트리거링한다(720).
초기화
도 17은 보코더(60)내에 위치한 디코더(50) 및 인코더(80)가 초기화될때 실행되는 단계들을 기술한 흐름도이다. 인코더(80)는 비침묵 또는 음성 상태, 즉 침묵_상태=거짓으로 초기화된다(800). 디코더(50)는 두가지 파라미터들, i) 상태=침묵, 즉 침묵_상태=참(810), 및 ii) 프로토타입이 조용한(낮은 볼륨) 프레임, 예컨대 1/8 프레임(820)으로 세팅된다. 결과로서, 디코더(50)는 초기에 배경 잡음을 출력한다. 이 이유는 통화가 초기화될때 접속이 완료될때까지 정보를 전송하지 않으나 접속이 완료될때까지 수신기측이 무언가(배경 잡음)을 플레이할 필요가 있기 때문이다.
스마트 블랭킹 방법에 대한 부가 애플리케이션
본 명세서에서 한정된 알고리즘은 RFC 3389와 관련하여 사용되도록 용이하게 확장될 수 있으며 본 명세서에 리스트되지 않은 다른 보코더들을 커버한다. 이들은 G711, G727, G.728, G.722 등에 제한되지 않는다.
당업자는 정보 및 신호가 다양한 다른 기술들중 일부를 사용하여 표현될 수 있다는 것을 이해할 것이다. 예컨대, 앞의 상세한 설명 전반에 걸쳐 참조될 수 있는 데이터, 지시어, 명령어, 정보, 신호, 비트, 심볼 및 칩은 전압, 전류, 전자기 파, 자계 또는 자기입자, 광계 또는 광입자, 또는 이들의 임의의 결합에 의해 표현될 수 있다.
당업자들은 여기에 기술된 실시예들과 관련하여 설명된 다양한 예시적인 논리 블록, 모듈, 회로, 및 알고리즘 단계가 전자 하드웨어, 컴퓨터 소프트웨어, 또는 이들의 결합으로 구현될 수 있다는 것을 인식해야 한다. 이러한 하드웨어 및 소프트웨어의 상호 호환성을 명확하게 기술하기 위하여, 다양한 예시적인 소자, 블록, 모듈, 회로, 및 단계는 그들의 기능들과 관련하여 앞서 기술되었다. 이러한 기능이 하드웨어로 구현되는지 또는 소프트웨어로 구현되는지의 여부는 전체 시스템상에 부여된 특정 응용 및 설계 제약들에 따른다. 당업자는 각각의 특정 응용에 대하여 가변 방식으로 기술된 기능을 구현할 수 있으나 이러한 구현 결정은 본 발명의 범위를 벗어나지 않고 해석되어야 한다.
여기에 기술된 실시예들과 관련하여 설명된 다양한 예시적인 논리 블록, 모듈, 및 회로는 범용 프로세서, 디지털 신호 처리기(DSP), 주문형 집적 회로(ASIC), 필드 프로그램가능 게이트 어레이(FPGA) 또는 다른 프로그램가능 논리 디바이스, 개별 게이트 또는 트랜지스터 논리장치, 개별 하드웨어 소자, 또는 여기에 기술된 기능들을 수행하도록 설계된 임의의 결합에 의해 구현 또는 수행될 수 있다. 범용 프로세서는 마이크로 프로세서일 수 있으나, 대안적으로 프로세서는 임의의 종래의 프로세서, 제어기, 마이크로 제어기, 또는 상태 머신일 수 있다. 프로세서는 또한 계산장치들의 결합, 예컨대 DSP와 마이크로프로세서의 결합, 다수의 마이크로 프로세서들의 결합, DSP 코어와 관련된 하나 이상의 마이크로프로세서들의 결합, 또는 임의의 다른 구성들로서 구현될 수 있다.
여기에 기술된 실시예들과 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어, 프로세서에 의해 실행되는 소프트웨어 모듈, 또는 이들의 결합으로 직접 구현될 수 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터, 하드 디스크, 제거가능 디스크, CD-ROM, 또는 당업계에 공지된 임의의 다른 형태의 저장 매체에 상주할 수 있다. 예시적 저장 매체는 프로세서에 접속되며, 프로세서는 저장 매체로부터 정보를 판독하고 저장 매체에 정보를 기록할 수 있다. 대안으로써, 저장 매체는 프로세서와 통합될 수 있다. 프로세서 및 저장 매체는 ASIC에 배치될 수 있다. ASIC는 MS와 같은 사용자 단말에 배치될 수 있거나 또는 BS에 배치될 수 있다. 대안으로써, 프로세서 및 저장 매체는 사용자 단말에서 개별 소자로서 배치될 수 있다.
기술된 실시예들의 이전 설명은 당업자로 하여금 본 발명을 실시 및 이용할 수 있도록 하기 위하여 제공된다. 이들 실시예에 대한 다양한 수정들은 당업자들에게 자명할 것이고, 여기에서 한정된 일반적 원리들은 본 발명의 사상 또는 범위를 벗어나지 않으면서 다른 실시예들에 적용될 수 있다. 따라서, 본 발명은 여기 에 기술된 실시예들에 제한되지 않으며 여기에 기술된 원리들 및 신규한 특징들과 일치하는 가장 넓은 범위를 따를 것이다.

Claims (87)

  1. 배경 잡음을 통신하기 위한 방법으로서,
    상기 배경 잡음을 전송하는 단계;
    상기 배경 잡음을 통신하기 위하여 사용된 다음 배경 잡음 데이터 레이트 프레임들을 블랭킹하는 단계;
    상기 배경 잡음을 수신하는 단계; 및
    상기 배경 잡음을 업데이트하는 단계를 포함하는, 배경 잡음 통신 방법.
  2. 제 1항에 있어서, 트리거링 단계를 더 포함하는, 배경 잡음 통신 방법.
  3. 제 1항에 있어서, 배경 잡음을 플레이(play)하는 단계를 더 포함하며,
    상기 플레이 단계는 난수 시퀀스(random sequence of number)의 형태로 백색 잡음을 출력하는 단계, 및 상기 백색 잡음의 주파수 특징을 추출하는 단계를 포함하는, 배경 잡음 통신 방법.
  4. 제 1항에 있어서, 업데이트 배경 잡음 데이터 레이트 프레임을 전송하기전에 상기 배경 잡음 데이터 레이트 프레임들중 적어도 하나가 전송될때까지 대기하는 단계를 더 포함하며, 이에 따라 안정된 배경 잡음 레이트 프레임이 전송되는, 배경 잡음 통신 방법.
  5. 제 1항에 있어서, 업데이트 배경 잡음 프레임을 전송하기전 마지막 임시 배경 잡음 데이터 레이트 프레임들이 전송된후에 40 내지 100ms를 대기하는 단계를 더 포함하는, 배경 잡음 통신 방법.
  6. 제 1항에 있어서, 임계 시간이 종료되기전에 킵 얼라이브 패킷(keep alive packet)을 전송하는 단계를 더 포함하는, 배경 잡음 통신 방법.
  7. 제 1항에 있어서, 인코더 및 디코더를 초기화하는 단계를 더 포함하며,
    상기 인코더 및 디코더 초기화 단계는,
    상기 인코더의 상태를 음성 상태로 세팅하는 단계;
    상기 디코더의 상태를 침묵 상태로 세팅하는 단계; 및
    프로토타입을 1/8 데이터 레이트 프레임으로 세팅하는 단계를 포함하는, 배경 잡음 통신 방법.
  8. 제 1항에 있어서, 상기 배경 잡음을 혼합하는 단계를 더 포함하는, 배경 잡음 통신 방법.
  9. 제 1항에 있어서, 상기 배경 잡음 데이터 레이트 프레임이 수신되지 않은 경우에 소거(erasure)를 플레하는 단계를 더 포함하는, 배경 잡음 통신 방법.
  10. 제 1항에 있어서, 상기 배경 잡음 업데이트 단계는 적어도 하나의 코드북 엔트리를 가진 업데이트 배경 잡음 데이터 레이트 프레임을 전송하는 단계를 포함하는, 배경 잡음 통신 방법.
  11. 제 1항에 있어서, 상기 배경 잡음 전송 단계는,
    프레임을 수신하는 단계;
    상기 프레임이 침묵 프레임인지를 결정하는 단계;
    활성 상태로 전환하며, 상기 프레임이 상기 침묵 프레임이 아닌 경우에 상기 프레임을 전송하는 단계;
    상기 프레임이 상기 침묵 프레임인 경우에 상태가 침묵 상태인지를 결정하는 단계;
    상기 침북 상태로 전환하며, 상기 프레임이 상기 침묵 프레임이고 상기 상태가 상기 침묵 상태에 있지 않는 경우에 수신기에 상기 침묵 프레임을 전송하는 단계;
    상기 프레임이 상기 침묵 프레임이고 상기 상태가 침묵 상태에 있는 경우에 상기 프레임이 안정한지를 결정하는 단계;
    통계치를 업데이트하며, 상기 프레임이 안정되는 경우에 업데이트가 트리거링되는지를 결정하는 단계; 및
    상기 업데이트가 트리거링되는 경우에 프로토타입 프레임을 구축하여 전송하 는 단계를 포함하는, 배경 잡음 통신 방법.
  12. 제 11항에 있어서, 상기 배경 잡음 전송 단계는 상기 프레임이 안정하지 않은 경우에 임시 배경 잡음 데이터 레이트 프레임들을 전송하는 단계를 포함하는, 배경 잡음 통신 방법.
  13. 제 1항에 있어서, 상기 배경 잡음 수신 단계는,
    프레임을 수신하는 단계;
    상기 프레임이 음성 프레임인지를 결정하는 단계;
    상기 프레임이 상기 음성 프레임인 경우에 상태가 음성 상태인지를 결정하는 단계;
    상기 상태가 상기 음성 상태이고 상기 프레임이 상기 음성 프레임인 경우에 상기 프레임을 플레이하는 단계;
    상기 프레임이 상기 음성 프레임이 아닌 경우에 상기 프레임이 침묵 프레임인지를 체크하는 단계;
    상기 프레임이 상기 침묵 프레임인 경우에 상기 상태가 침묵 상태인지를 체크하는 단계;
    상기 침묵 상태로 전환하며, 상기 프레임이 상기 침묵 프레임이고 상기 상태가 상기 침묵 상태가 아닌 경우에 상기 프레임을 플레이하는 단계;
    업데이트를 생성하며, 상기 프레임이 상기 침묵 프레임이고 상기 상태가 상 기 침묵 상태인 경우에 상기 업데이터를 플레이하는 단게;
    상기 프레임이 상기 음성 프레임 또는 상기 침묵 프레임이 아닌 경우에 상태가 상기 침묵 상태인지를 체크하는 단계;
    상기 상태가 상기 침묵 상태이고 상기 프레임이 상기 음성 프레임 또는 상기 침묵 프레임인 경우에 프로토타입 프레임을 플레이하는 단계; 및
    상기 침묵 상태로 전환하며, N 연속 소거들이 전송되고 상기 상태가 상기 침묵 상태가 아니고 상기 프레임이 상기 음성 프레임 또는 상기 침묵 프레임이 아닌 경우에 상기 프로토타입 프레임을 플레이하는 단계를 포함하는, 배경 잡음 통신 방법.
  14. 제 2항에 있어서, 상기 트리거링 단계는,
    상기 배경 잡음 데이터 레이트 프레임들을 필터링하는 단계;
    상기 배경 잡음 데이터 레이트 프레임들의 평균 에너지와 상기 배경 잡음 데이터 레이트 프레임의 에너지를 비교하는 단계; 및
    차이가 임계치를 초과하는 경우에 업데이트 배경 잡음 데이터 레이트 프레임을 전송하는 단계를 포함하는, 배경 잡음 통신 방법.
  15. 제 2항에 있어서, 상기 트리거링 단계는,
    상기 배경 잡음 데이터 레이트 프레임들을 필터링하는 단계;
    상기 배경 잡음 데이터 레이트 프레임들의 평균 스펙트럼과 상기 배경 잡음 데이터 레이트 프레임의 스펙트럼을 비교하는 단계; 및
    차이가 임계치를 초과하는 경우에 업데이트 배경 잡음 데이터 레이트 프레임을 전송하는 단계를 포함하는, 배경 잡음 통신 방법.
  16. 제 2항에 있어서, 프레임이 수신되지 않은 경우에 소거를 플레이하는 단계를 더 포함하는, 배경 잡음 통신 방법.
  17. 제 8항에 있어서, 상기 혼합 단계는 이전 업데이트 값으로부터 새로운 업데이트 값으로 상기 배경 잡음을 점진적으로 변화시키는 단계를 포함하는, 배경 잡음 통신 방법.
  18. 제 9항에 있어서, 상기 소거는 시간의 50%보다 짧거나 또는 동일하게 플레이되는, 배경 잡음 통신 방법.
  19. 제 14항에 있어서, 상기 임계치는 1db과 동일하거나 또는 큰, 배경 잡음 통신 방법.
  20. 제 14항에 있어서, 상기 업데이트 배경 잡음 데이터 레이트 프레임 전송 단계는 적어도 하나의 코드북 엔트리를 전송하는 단계를 포함하는, 배경 잡음 통신 방법.
  21. 제 15항에 있어서, 상기 배경 잡음 데이터 레이트 프레임들의 평균 스펙트럼과 상기 배경 잡음 데이터 레이트 프레임들의 스펙트럼을 비교하는 상기 단계는 상기 배경 잡음 데이터 레이트 프레임들에 대한 코드북 엔트리들의 엘리먼트들의 절대 차이의 합을 취하는 단계를 포함하는, 배경 잡음 통신 방법.
  22. 제 15항에 있어서, 상기 임계치는 40%와 동일하거나 또는 큰, 배경 잡음 통신 방법.
  23. 제 15항에 있어서, 업데이트 배경 잡음 데이터 레이트 프레임을 전송하는 상기 단계는 적어도 하나의 코드북 엔트리를 전송하는 단계를 포함하는, 배경 잡음 통신 방법.
  24. 제 16항에 있어서, 상기 소거는 시간의 50%보다 짧거나 또는 동일하게 플레이되는, 배경 잡음 통신 방법.
  25. 제 20항에 있어서, 상기 적어도 하나의 코드북 엔트리는 적어도 하나의 에너지 코드북 엔트리 및 적어도 하나의 스펙트럴 코드북 엔트리를 포함하는, 배경 잡음 통신 방법.
  26. 제 25항에 있어서, 상기 업데이트는 자주 사용되는 코드북 엔트리를 포함하는, 배경 잡음 통신 방법.
  27. 배경 잡음을 전송하는 단계를 포함하는데, 상기 배경 잡음 전송 단계는,
    프레임을 수신하는 단계,
    상기 프레임이 침묵 프레임인지를 결정하는 단계,
    활성 상태로 전환하며, 상기 프레임이 침묵 프레임이 아닌 경우에 상기 프레임을 전송하는 단계,
    상기 프레임이 상기 침묵 프레임인 경우에 상태가 침묵 상태인지를 결정하는 단계,
    상기 침묵 상태로 전환하며, 상기 프레임이 상기 침묵 프레임이고 상기 상태가 상기 침묵 상태에 있지 않는 경우에 수신기에 상기 침묵 프레임을 전송하는 단계,
    상기 프레임이 상기 침묵 프레임이고 상기 상태가 침묵 상태에 있는 경우에 상기 프레임이 안정한지를 결정하는 단계,
    통계치를 업데이트하며, 상기 프레임이 안정되는 경우에 업데이트가 트리거링되는지를 결정하는 단계, 및
    상기 업데이트가 트리거링되는 경우에 프로토타입 프레임을 구축하여 전송하는 단계를 포함하며;
    배경 잡음을 수신하는 단계를 포함하는데, 상기 배경 잡음 수신 단계는,
    프레임을 수신하는 단계;
    상기 프레임이 음성 프레임인지를 결정하는 단계;
    상기 프레임이 상기 음성 프레임인 경우에 상태가 음성 상태인지를 결정하는 단계;
    상기 상태가 상기 음성 상태이고 상기 프레임이 상기 음성 프레임인 경우에 상기 프레임을 플레이하는 단계;
    상기 프레임이 상기 음성 프레임이 아닌 경우에 상기 프레임이 침묵 프레임인지를 체크하는 단계;
    상기 프레임이 상기 침묵 프레임인 경우에 상기 상태가 침묵 상태인지를 체크하는 단계;
    상기 침묵 상태로 전환하며, 상기 프레임이 상기 침묵 프레임이고 상기 상태가 상기 침묵 상태가 아닌 경우에 상기 프레임을 플레이하는 단계;
    업데이트를 생성하며, 상기 프레임이 상기 침묵 프레임이고 상기 상태가 상기 침묵 상태인 경우에 상기 업데이터를 플레이하는 단게;
    상기 프레임이 상기 음성 프레임 또는 상기 침묵 프레임이 아닌 경우에 상태가 상기 침묵 상태인지를 체크하는 단계;
    상기 상태가 상기 침묵 상태이고 상기 프레임이 상기 음성 프레임 또는 상기 침묵 프레임인 경우에 프로토타입 프레임을 플레이하는 단계; 및
    상기 침묵 상태로 전환하며, N 연속 소거들이 전송되고 상기 상태가 상기 침묵 상태가 아니고 상기 프레임이 상기 음성 프레임 또는 상기 침묵 프레임 이 아닌 경우에 상기 프로토타입 프레임을 플레이하는 단계를 포함하는, 배경 잡음 통신 방법.
  28. 배경 잡음을 통신하기 위한 장치로서,
    적어도 하나의 입력 및 적어도 하나의 출력을 가지며, 적어도 하나의 입력 및 적어도 하나의 출력을 가진 디코더 및 적어도 하나의 입력 및 적어도 하나의 출력을 가진 인코더를 포함하는 적어도 하나의 보코더;
    메모리, 적어도 하나의 입력 및 적어도 하나의 출력을 가진 적어도 하나의 스마트 블랭킹 장치를 포함하는데, 상기 적어도 하나의 입력중 제 1 입력은 상기 보코더의 적어도 하나의 출력에 동작가능하게 접속되며 상기 적어도 하나의 출력은 상기 보코더의 적어도 하나의 입력에 동작가능하게 접속되며;
    적어도 하나의 입력 및 적어도 하나의 출력을 가진 디-지터 버퍼(de-jitter buffer)를 포함하는데, 상기 적어도 하나의 출력은 상기 스마트 블랭커의 적어도 하나의 입력중 제 2 입력에 동작가능하게 접속되며; 및
    적어도 하나의 입력 및 적어도 하나의 출력을 가진 네트워크 스택을 포함하며, 상기 적어도 하나의 입력은 상기 디-지터 버퍼의 적어도 하나의 입력에 동작가능하게 접속되며, 상기 적어도 하나의 입력은 상기 스마트 블랭킹 장치의 적어도 하나의 출력에 동작가능하게 접속되는, 배경 잡음 통신 장치.
  29. 제 28항에 있어서, 상기 디코더는,
    다수의 입력 및 적어도 하나의 출력을 가지며 배경 잡음 생성기를 가진 릴렉스 코드-여기 선형 예측 디코더;
    다수의 입력 및 적어도 하나의 출력을 가진 프레임 에러 검출 장치 ― 상기 프레임 에러 검출 장치의 다수의 입력중 제 1 입력은 상기 릴렉스 코드-여기 선형 예측 디코더의 다수의 입력중 제 1 입력에 동작가능하게 접속되며, 상기 프레임 에러 검출 장치의 다수의 입력들중 제 2 입력은 상기 릴렉스 코드 여기 선형 예측 디코더의 다수의 입력중 제 2 입력에 동작가능하게 접속됨 ―; 및
    상기 적어도 하나의 입력 및 적어도 하나의 출력을 가진 포스트 필터를 포함하며; 상기 적어도 하나의 입력은 상기 릴렉스 코드 여기 선형 예측 디코더의 적어도 하나의 출력에 동작가능하게 접속되는, 배경 잡음 통신 장치.
  30. 제 28항에 있어서, 상기 인코더는,
    적어도 하나의 입력 및 적어도 하나의 출력을 가진 신호 프로세서;
    적어도 하나의 입력 및 적어도 하나의 출력을 가진 모델 추정기 ― 상기 적어도 하나의 입력은 상기 신호 프로세서의 적어도 하나의 출력에 동작가능하게 접속됨 ―;
    적어도 하나의 입력 및 적어도 하나의 출력을 가진 레이트 결정기 ― 상기 적어도 하나의 입력은 상기 모델 파라미터 추정기의 적어도 하나의 출력중 제 1 출력에 동작가능하게 접속됨 ―;
    적어도 하나의 입력 및 적어도 하나의 출력을 가진 1/8 레이트 인코 더;
    적어도 하나의 입력 및 적어도 하나의 출력을 가진 최대 레이트 인코더;
    적어도 하나의 입력 및 적어도 하나의 출력을 가진 제 1 스위치 ― 상기 적어도 하나의 입력은 상기 모델 파라미터 추정기의 적어도 하나의 출력에 동작가능하게 접속되며, 상기 적어도 하나의 출력중 제 1 출력은 상기 1/8 레이트 인코더의 적어도 하나의 입력에 동작가능하게 접속되며, 상기 적어도 하나의 출력들중 제 2출력은 상기 최대 레이트 인코더의 적어도 하나의 입력에 동작가능하게 접속됨 ―;
    적어도 하나의 입력 및 적어도 하나의 출력을 가진 제 2 스위치 ― 상기 적어도 하나의 입력중 제 1 입력은 상기 1/8 레이트 인코더의 적어도 하나의 출력에 동작가능하게 접속되며 상기 적어도 하나의 입력중 제 2 입력은 상기 최대 레이트 인코더의 적어도 하나의 출력에 동작가능하게 접속됨 ―; 및
    적어도 하나의 입력 및 적어도 하나의 출력을 가진 패킷 포매터 ― 상기 적어도 하나의 입력은 상기 제 2 스위치의 적어도 하나의 출력에 동작가능하게 접속됨 ―를 포함하는, 배경 잡음 통신 장치.
  31. 제 28항에 있어서, 상기 인코더는,
    적어도 하나의 입력 및 적어도 하나의 출력을 가진 신호 프로세서;
    적어도 하나의 입력 및 적어도 하나의 출력을 가진 모델 추정기 ― 상 기 적어도 하나의 입력은 상기 신호 프로세서의 적어도 하나의 출력에 동작가능하게 접속됨 ―;
    적어도 하나의 입력 및 적어도 하나의 출력을 가진 레이트 결정기 ― 상기 적어도 하나의 입력은 상기 모델 파라미터 추정기의 적어도 하나의 출력중 제 1 출력에 동작가능하게 접속됨 ―;
    적어도 하나의 입력 및 적어도 하나의 출력을 가진 1/8 레이트 인코더;
    적어도 하나의 입력 및 적어도 하나의 출력을 가진 1/2 레이트 인코더;
    적어도 하나의 입력 및 적어도 하나의 출력을 가진 제 1 스위치 ― 상기 적어도 하나의 입력은 상기 모델 파라미터 추정기의 적어도 하나의 출력에 동작가능하게 접속되며, 상기 적어도 하나의 출력중 제 1 출력은 상기 1/8 레이트 인코더의 적어도 하나의 입력에 동작가능하게 접속되며, 상기 적어도 하나의 출력들중 제 2출력은 상기 1/2 레이트 인코더의 적어도 하나의 입력에 동작가능하게 접속됨 ―;
    적어도 하나의 입력 및 적어도 하나의 출력을 가진 제 2 스위치 ― 상기 적어도 하나의 입력중 제 1 입력은 상기 1/8 레이트 인코더의 적어도 하나의 출력에 동작가능하게 접속되며 상기 적어도 하나의 입력중 제 2 입력은 상기 1/2 레이트 인코더의 적어도 하나의 출력에 동작가능하게 접속됨 ―; 및
    적어도 하나의 입력 및 적어도 하나의 출력을 가진 패킷 포매터 ― 상 기 적어도 하나의 입력은 상기 제 2 스위치의 적어도 하나의 출력에 동작가능하게 접속됨 ―를 포함하는, 배경 잡음 통신 장치.
  32. 제 28항에 있어서, 상기 메모리는 배경 에너지 코드북 엔트리들 및 배경 스펙트럼 코드북 엔트리들을 가진 코드북 엔트리들을 포함하는 코드북들을 포함하는, 배경 잡음 통신 장치.
  33. 제 28항에 있어서, 상기 스마트 블랭킹 장치는 상기 메모리에 저장된 명령들을 실행하며,
    상기 명령들은 상기 배경 잡음을 전송하기 위한 명령, 상기 배경 잡음을 통신하기 위하여 사용된 다음 배경 잡음 데이터 레이트 프레임들을 블랭킹하기 위한 명령, 상기 배경 잡음을 수신하기 위한 명령, 및 상기 배경 잡음을 업데이트하기 위한 명령을 포함하는, 배경 잡음 통신 장치.
  34. 제 28항에 있어서, 상기 스마트 블랭킹 장치는 상기 메모리에 저장된 명령들을 실행하며;
    상기 명령들은, 배경 잡음을 전송하기 위한 명령과 상기 배경 잡음을 수신하기 위한 명령을 포함하며;
    상기 배경 잡음을 전송하기 위한 명령은,
    프레임을 수신하는 단계,
    상기 프레임이 침묵 프레임인지를 결정하는 단계,
    활성 상태로 전환하며, 상기 프레임이 침묵 프레임이 아닌 경우에 상기 프레임을 전송하는 단계,
    상기 프레임이 상기 침묵 프레임인 경우에 상태가 침묵 상태인지를 결정하는 단계,
    상기 침묵 상태로 전환하며, 상기 프레임이 상기 침묵 프레임이고 상기 상태가 상기 침묵 상태에 있지 않는 경우에 수신기에 상기 침묵 프레임을 전송하는 단계,
    상기 프레임이 상기 침묵 프레임이고 상기 상태가 침묵 상태에 있는 경우에 상기 프레임이 안정한지를 결정하는 단계,
    통계치를 업데이트하며, 상기 프레임이 안정되는 경우에 업데이트가 트리거링되는지를 결정하는 단계, 및
    상기 업데이트가 트리거링되는 경우에 프로토타입 프레임을 구축하여 전송하는 단계를 포함하며;
    상기 배경 잡음을 수신하기 위한 명령은,
    프레임을 수신하는 단계;
    상기 프레임이 음성 프레임인지를 결정하는 단계;
    상기 프레임이 상기 음성 프레임인 경우에 상태가 음성 상태인지를 결정하는 단계;
    상기 상태가 상기 음성 상태이고 상기 프레임이 상기 음성 프레임인 경우에 상기 프레임을 플레이하는 단계;
    상기 프레임이 상기 음성 프레임이 아닌 경우에 상기 프레임이 침묵 프레임인지를 체크하는 단계;
    상기 프레임이 상기 침묵 프레임인 경우에 상기 상태가 침묵 상태인지를 체크하는 단계;
    상기 침묵 상태로 전환하며, 상기 프레임이 상기 침묵 프레임이고 상기 상태가 상기 침묵 상태가 아닌 경우에 상기 프레임을 플레이하는 단계;
    업데이트를 생성하며, 상기 프레임이 상기 침묵 프레임이고 상기 상태가 상기 침묵 상태인 경우에 상기 업데이터를 플레이하는 단게;
    상기 프레임이 상기 음성 프레임 또는 상기 침묵 프레임이 아닌 경우에 상태가 상기 침묵 상태인지를 체크하는 단계;
    상기 상태가 상기 침묵 상태이고 상기 프레임이 상기 음성 프레임 또는 상기 침묵 프레임이 아닌 경우에 프로토타입 프레임을 플레이하는 단계; 및
    상기 상태가 상기 침묵 상태가 아니고 상기 프레임이 상기 음성 프레임 또는 상기 침묵 프레임이 아닌 경우에 N 연속 소거들이 전송되는지를 체크하는 단계;
    N 연속 소거들이 전송되지 않고 상기 상태가 상기 침묵 상태가 아니고 상기 프레임이 상기 음성 프레임 또는 상기 침묵 프레임이 아닌 경우에 소거를 플레이하는 단계; 및
    상기 침묵 상태로 전환하며, 상기 N 연속 소거들이 전송되고 상기 상태가 상 기 침묵 상태가 아니며 상기 프레임이 상기 음성 프레임 또는 상기 침묵 프레임이 아닌 경우에 상기 프로토타입 프레임을 플레이하는 단계를 포함하는, 배경 잡음 통신 장치.
  35. 제 29항에 있어서, 상기 배경 잡음 생성기는,
    적어도 하나의 입력 및 적어도 하나의 출력을 가진 잡음 생성기; 및
    적어도 하나의 입력 및 적어도 하나의 출력을 가진 LPC 필터를 포함하며, 상기 LPC 필터의 적어도 하나의 입력은 상기 잡음 생성기의 적어도 하나의 출력에 동작가능하게 접속되는, 배경 잡음 통신 장치.
  36. 제 32항에 있어서, 상기 스마트 블랭킹 장치는 상기 메모리에 저장된 명령들을 실행하며;
    상기 명령들은,
    상기 배경 잡음을 전송하기 위한 명령,
    상기 배경 잡음을 통신하기 위하여 사용되는 다음 배경 잡음 데이터 레이트 프레임들을 블랭킹하기 위한 명령,
    상기 배경 잡음을 수신하기 위한 명령, 및
    상기 코드북 엔트리들중 적어도 하나를 가진 업데이트 배경 잡음 데이터 레이트 프레임을 전송함으로서 상기 배경 잡음을 업데이트하기 위한 명령을 포함하는, 배경 잡음 통신 장치.
  37. 제 33항에 있어서, 상기 스마트 블랭킹 장치는 상기 메모리에 저장된 트리거 명령을 실행하는, 배경 잡음 통신 장치.
  38. 제 33항에 있어서, 상기 스마트 블랭킹 장치는 상기 메모리에 저장된 플레이 배경 잡음 명령을 실행하며,
    상기 플레이 배경 잡음 명령은,
    난수 시퀀스의 형태로 백색 잡음을 출력하기 위한 명령,및
    상기 백색 잡음의 주파수 특징을 추출하기 위한 명령을 포함하는, 배경 잡음 통신 장치.
  39. 제 33항에 있어서, 상기 스마트 블랭킹 장치는 상기 메모리에 저장된 명령들을 실행하며;
    상기 명령들은 업데이트 배경 잡음 데이터 레이트 프레임을 전송하기전에 상기 배경 잡음 데이터 레이트 프레임들중 적어도 하나가 전송될때까지 대기하기 위한 명령을 포함하며, 이에 따라 안정된 배경 잡음 데이터 레이트 프레임이 전송되는, 배경 잡음 통신 장치.
  40. 제 33항에 있어서, 상기 스마트 블랭킹 장치는 상기 메모리에 저장된 명령을 실행하며;
    상기 명령은 업데이트 배경 잡음 프레임을 전송하기전 마지막 임시 배경 잡음 데이터 레이트 프레임들이 전송된후에 40 내지 100ms를 대기하기 위한 명령은 포함하며, 이에 따라 안정된 배경 잡음 데이터 레이트 프레임이 전송되는, 배경 잡음 통신 장치.
  41. 제 33항에 있어서, 상기 스마트 블랭킹 장치는 상기 메모리에 저장딘 명령을 실행하며,
    상기 명령은 임계 시간이 종료되기전에 킵 얼라이브 패킷(keep alive packet)을 전송하기 위한 명령을 포함하는, 배경 잡음 통신 장치.
  42. 제 33항에 있어서, 상기 스마트 블랭킹 장치는 상기 메모리에 저장되며 인코더 및 디코더를 초기화하는 명령을 포함하는 명령을 실행하며;
    상기 인코더 및 디코더를 초기화하기 위한 명령은,
    상기 인코더의 상태를 음성 상태로 세팅하기 위한 명령;
    상기 디코더의 상태를 침묵 상태로 세팅하기 위한 명령; 및
    프로토타입을 1/8 데이터 레이트 프레임으로 세팅하기 위한 명령을 포함하는, 배경 잡음 통신 장치.
  43. 제 33항에 있어서, 상기 스마트 블랭킹 장치는 상기 메모리에 저장되며 상기 배경 잡음을 혼합하기 위한 명령을 포함하는 명령을 실행하는, 배경 잡음 통신 장 치.
  44. 제 33항에 있어서, 상기 스마트 블랭킹 장치는 상기 메모리에 저장되며 상기 배경 잡음 데이터 레이트 프레임이 수신되지 않은 경우에 소거(erasure)를 플레이하기 위한 명령을 포함하는 명령을 실행하는, 배경 잡음 통신 장치.
  45. 제 33항에 있어서, 상기 스마트 블랭킹 장치는 상기 메모리에 저장되며 상기 배경 잡음을 전송하기 위한 명령을 포함하는 명령을 실행하며,
    상기 배경 잡음 전송 명령은,
    프레임을 수신하기 위한 명령;
    상기 프레임이 침묵 프레임인지를 결정하기 위한 명령;
    활성 상태로 전환하며, 상기 프레임이 상기 침묵 프레임이 아닌 경우에 상기 프레임을 전송하기 위한 명령;
    상기 프레임이 상기 침묵 프레임인 경우에 상태가 침묵 상태인지를 결정하기 위한 명령;
    상기 침묵 상태로 전환하며, 상기 프레임이 상기 침묵 프레임이고 상기 상태가 상기 침묵 상태에 있지 않는 경우에 수신기에 상기 침묵 프레임을 전송하기 위한 명령;
    상기 프레임이 상기 침묵 프레임이고 상기 상태가 침묵 상태에 있는 경우에 상기 프레임이 안정한지를 결정하기 위한 명령;
    통계치를 업데이트하며, 상기 프레임이 안정되는 경우에 업데이트가 트리거링되는지를 결정하기 위한 명령; 및
    상기 업데이트가 트리거링되는 경우에 프로토타입 프레임을 구축하여 전송하기 위한 명령을 포함하는, 배경 잡음 통신 장치.
  46. 제 33항에 있어서, 상기 스마트 블랭킹 장치는 상기 메모리에 저장되고 상기 배경 잡음을 수신하기 위한 명령을 포함하는 명령을 실행하며;
    상기 배경 잡음 수신 명령은,
    프레임을 수신하기 위한 명령;
    상기 프레임이 음성 프레임인지를 결정하기 위한 명령;
    상기 프레임이 상기 음성 프레임인 경우에 상태가 음성 상태인지를 결정하기 위한 명령;
    상기 상태가 상기 음성 상태이고 상기 프레임이 상기 음성 프레임인 경우에 상기 프레임을 플레이하기 위한 명령;
    상기 프레임이 상기 음성 프레임이 아닌 경우에 상기 프레임이 침묵 프레임인지를 체크하기 위한 명령;
    상기 프레임이 상기 침묵 프레임인 경우에 상기 상태가 침묵 상태인지를 체크하기 위한 명령;
    상기 침묵 상태로 전환하며, 상기 프레임이 상기 침묵 프레임이고 상기 상태가 상기 침묵 상태가 아닌 경우에 상기 프레임을 플레이하기 위한 명령;
    업데이트를 생성하며, 상기 프레임이 상기 침묵 프레임이고 상기 상태가 상기 침묵 상태인 경우에 상기 업데이터를 플레이하기 위한 명령;
    상기 프레임이 상기 음성 프레임 또는 상기 침묵 프레임이 아닌 경우에 상태가 상기 침묵 상태인지를 체크하기 위한 명령;
    상기 상태가 상기 침묵 상태이고 상기 프레임이 상기 음성 프레임 또는 상기 침묵 프레임인 경우에 프로토타입 프레임을 플레이하기 위한 명령; 및
    상기 상태가 상기 침묵 상태가 아니고 상기 프레임이 상기 음성 프레임 또는 상기 침묵 프레임이 아닌 경우에 N 연속 소거들이 전송되었는지를 체크하기 위한 명령;
    상기 N 연속 소거들이 전송되지 않고 상기 상태가 침묵 상태가 아니고 상기 프레임이 상기 음성 프레임 또는 상기 침묵 프레임이 아닌 경우에 소거를 플레이하기 위한 명령; 및
    상기 침묵 상태로 전환하며, N 연속 소거들이 전송되고 상기 상태가 상기 침묵 상태가 아니고 상기 프레임이 상기 음성 프레임 또는 상기 침묵 프레임이 아닌 경우에 상기 프로토타입 프레임을 플레이하기 위한 명령을 포함하는, 배경 잡음 통신 장치.
  47. 제 36항에 있어서, 상기 스마트 블랭킹 장치는 상기 메모리에 저장된 트리거 명령을 실행하며;
    상기 트리거 명령은,
    배경 잡음 레이트 프레임들을 필터링하기 위한 명령;
    상기 배경 잡음 데이터 레이트 프레임들의 평균 에너지와 상기 배경 잡음 데이터 레이트 프레임의 에너지를 비교하기 위한 명령; 및
    상기 차이가 임계치를 초과하는 경우에 업데이트 배경 잡음 데이터 레이트 프레임을 전송하기 위한 명령을 포함하며, 상기 업데이트 배경 잡음 데이터 레이트 프레임은 상기 코드북 엔트리들의 적어도 하나를 포함하는, 배경 잡음 통신 장치.
  48. 제 36항에 있어서, 상기 스마트 블랭킹 장치는 상기 메모리에 저장된 트리거 명령을 실행하며;
    상기 트리거 명령은,
    배경 잡음 레이트 프레임들을 필터링하기 위한 명령;
    상기 배경 잡음 데이터 레이트 프레임들의 평균 에너지와 상기 배경 잡음 데이터 레이트 프레임의 에너지의 스펙트럼을 비교하기 위한 명령; 및
    상기 차이가 임계치를 초과하는 경우에 업데이트 배경 잡음 데이터 레이트 프레임을 전송하기 위한 명령을 포함하며, 상기 업데이트 배경 잡음 데이터 레이트 프레임은 상기 코드북 엔트리들의 적어도 하나를 포함하는, 배경 잡음 통신 장치.
  49. 제 37항에 있어서, 상기 스마트 블랭킹 장치는 상기 메모리에 저장된 트리거 명령을 실행하며;
    상기 트리거 명령은,
    상기 배경 잡음 레이트 프레임들을 필터링하기 위한 명령;
    상기 배경 잡음 데이터 레이트 프레임들의 평균 에너지와 상기 배경 잡음 데이터 레이트 프레임의 에너지를 비교하기 위한 명령; 및
    상기 차이가 임계치를 초과하는 경우에 업데이트 배경 잡음 데이터 레이트 프레임을 전송하기 위한 명령을 포함하는, 배경 잡음 통신 장치.
  50. 제 37항에 있어서, 상기 스마트 블랭킹 장치는 상기 메모리에 저장된 트리거 명령을 실행하며;
    상기 트리거 명령은,
    배경 잡음 레이트 프레임들을 필터링하기 위한 명령;
    상기 배경 잡음 데이터 레이트 프레임들의 평균 스펙트럼과 상기 배경 잡음 데이터 레이트 프레임의 스펙트럼을 비교하기 위한 명령; 및
    상기 차이가 임계치를 초과하는 경우에 업데이트 배경 잡음 데이터 레이트 프레임을 전송하기 위한 명령을 포함하는, 배경 잡음 통신 장치.
  51. 제 37항에 있어서, 상기 스마트 블랭킹 장치는 상기 메모리에 저장되고 프레임이 수신되지 않는 경우에 소거를 플레이하기 위한 명령을 포함하는 명령을 실행하는, 배경 잡음 통신 장치.
  52. 제 43항에 있어서, 상기 스마트 블랭킹 장치는 상기 메모리에 저장된 혼합 명령을 실행하며, 상기 혼합 명령은 이전 업데이트 값으로부터 새로운 업데이트 값으로 점진적으로 배경을 변화시키기 위한 명령을 포함하는, 배경 잡음 통신 장치.
  53. 제 44항에 있어서, 상기 소거는 시간의 50%보다 짧거나 또는 동일하게 플레이되는, 배경 잡음 통신 장치.
  54. 제 45항에 있어서, 상기 스마트 블랭킹 장치는 상기 메모리에 저장되고 상기 배경 잡음을 전송하기 위한 명령을 포함하는 명령을 실행하며, 상기 명령은 상기 플임이 안정되지 않는 경우에 임시 배경 잡음 데이터 레이트 프레임들을 전송하기 위한 명령을 포함하는, 배경 잡음 통신 장치.
  55. 제 47항에 있어서, 상기 코드북 엔트리들의 적어도 하나는 적어도 하나의 에너지 코드북 엔트리 및 적어도 하나의 스펙트럴 코드북 엔트리를 포함하는, 배경 잡음 통신 장치.
  56. 제 49항에 있어서, 상기 임계치는 1db과 동일하거나 또는 큰, 배경 잡음 통신 장치.
  57. 제 50항에 있어서, 상기 스마트 블랭킹 장치는 상기 배경 잡음 데이터 레이트 프레임들에 대한 코드북 엔트리들의 엘리먼트들의 절대 차이의 합을 취함으로서 상기 배경 잡음 데이터 레이트 프레임들의 평균 스펙트럼과 상기 배경 잡음 데이터 레이트 프레임의 스펙트럼을 비교하기 위한 명령을 실행하는, 배경 잡음 통신 장치.
  58. 제 50항에 있어서, 상기 임계치는 50%와 동일하거나 또는 큰, 배경 잡음 통신 장치.
  59. 제 55항에 있어서, 상기 소거는 시간의 50%보다 짧거나 또는 동일하게 플레이되는, 배경 잡음 통신 장치.
  60. 제 57항에 있어서, 상기 업데이트 배경 잡음 데이터 레이트 프레임은 자주 사용되는 코드북 엔트리를 포함하는, 배경 잡음 통신 장치.
  61. 메모리;
    상기 메모리에 저장된 명령들을 포함하는 소프트웨어; 및
    적어도 하나의 입력 및 적어도 하나의 출력을 포함하는 스마트 블랭킹 장치로서,
    상기 스마트 블랭킹 장치는 상기 메모리에 저장된 명령들을 실행하며;
    상기 명령들은,
    상기 배경 잡음을 전송하기 위한 명령,
    상기 배경 잡음을 통신하기 위하여 사용되는 다음 배경 잡음 데이터 레이트 프레임들을 블랭킹하기 위한 명령,
    상기 배경 잡음을 수신하기 위한 명령, 및
    상기 배경 잡음을 업데이트하기 위한 명령을 포함하는, 스마트 블랭킹 장치.
  62. 제 61항에 있어서, 상기 스마트 블랭킹 장치는 상기 메모리에 포함되며 상기 배경 잡음을 전송하기 위한 명령을 포함하는 명령을 실행하며;
    상기 명령들은,
    프레임을 수신하기 위한 명령,
    상기 프레임이 침묵 프레임인지를 결정하기 위한 명령;
    활성 상태로 전환하며, 상기 프레임이 상기 침묵 프레임이 아닌 경우에 상기 프레임을 전송하기 위한 명령;
    상기 프레임이 상기 침묵 프레임인 경우에 상태가 침묵 상태인지를 결정하기 위한 명령;
    상기 침묵 상태로 전환하며, 상기 프레임이 상기 침묵 프레임이고 상기 상태가 상기 침묵 상태에 있지 않는 경우에 수신기에 상기 침묵 프레임을 전송하기 위한 명령;
    상기 프레임이 상기 침묵 프레임이고 상기 상태가 침묵 상태에 있는 경우에 상기 프레임이 안정한지를 결정하기 위한 명령;
    통계치를 업데이트하며, 상기 프레임이 안정되는 경우에 업데이트가 트리거링되는지를 결정하기 위한 명령; 및
    상기 업데이트가 트리거링되는 경우에 프로토타입 프레임을 구축하여 전송하기 위한 명령을 포함하며;
    상기 스마트 블랭킹 장치는 상기 메모리에 저장되고 상기 배경 잡음을 수신하기 위한 명령을 포함하는 명령을 실행하며, 상기 명령은,
    프레임을 수신하기 위한 명령;
    상기 프레임이 음성 프레임인지를 결정하기 위한 명령;
    상기 프레임이 상기 음성 프레임인 경우에 상태가 음성 상태인지를 결정하기 위한 명령;
    상기 상태가 상기 음성 상태이고 상기 프레임이 상기 음성 프레임인 경우에 상기 프레임을 플레이하기 위한 명령;
    상기 프레임이 상기 음성 프레임이 아닌 경우에 상기 프레임이 침묵 프레임인지를 체크하기 위한 명령;
    상기 프레임이 상기 침묵 프레임인 경우에 상기 상태가 침묵 상태인지를 체크하기 위한 명령;
    상기 침묵 상태로 전환하며, 상기 프레임이 상기 침묵 프레임이고 상기 상태가 상기 침묵 상태가 아닌 경우에 상기 프레임을 플레이하기 위한 명령;
    업데이트를 생성하며, 상기 프레임이 상기 침묵 프레임이고 상기 상태가 상기 침묵 상태인 경우에 상기 업데이터를 플레이하기 위한 명령;
    상기 프레임이 상기 음성 프레임 또는 상기 침묵 프레임이 아닌 경우에 상태가 상기 침묵 상태인지를 체크하기 위한 명령;
    상기 상태가 상기 침묵 상태이고 상기 프레임이 상기 음성 프레임 또는 상기 침묵 프레임이 아닌 경우에 프로토타입 프레임을 플레이하기 위한 명령; 및
    상기 상태가 상기 침묵 상태가 아니고 상기 프레임이 상기 음성 프레임 또는 상기 침묵 프레임이 아닌 경우에 N 연속 소거들이 전송되었는지를 체크하기 위한 명령;
    상기 N 연속 소거들이 전송되지 않고 상기 상태가 침묵 상태가 아니고 상기 프레임이 상기 음성 프레임 또는 상기 침묵 프레임이 아닌 경우에 소거를 플레이하기 위한 명령; 및
    상기 침묵 상태로 전환하며, N 연속 소거들이 전송되고 상기 상태가 상기 침묵 상태가 아니고 상기 프레임이 상기 음성 프레임 또는 상기 침묵 프레임이 아닌 경우에 상기 프로토타입 프레임을 플레이하기 위한 명령을 포함하는, 스마트 블랭킹 장치.
  63. 제 61항에 있어서, 상기 메모리는 배경 에너지 코드북 엔트리들 및 배경 스펙트럼을 가진 코드북 엔트리들을 포함하는 코드북들을 포함하며;
    상기 스마트 블랭킹 장치는 상기 메모리에 저장되며 상기 배경 잡음을 업데이트하기 위한 명령을 포함하는 명령을 실행하며; 상기 명령은 적어도 하나의 코드북 엔트리를 포함하는 업데이트 배경 잡음 데이터 레이트 프레임을 포함하는, 스마트 블랭킹 장치.
  64. 제 61항에 있어서, 상기 스마트 블랭킹 장치는 상기 메모리에 저장된 트리거 명령을 실행하는, 스마트 블랭킹 장치.
  65. 제 61항에 있어서, 상기 스마트 블랭킹 장치는 상기 메모리에 저장된 플레이 배경 잡음 명령을 실행하며,
    상기 플레이 배경 잡음 명령은,
    난수 시퀀스의 형태로 백색 잡음을 출력하기 위한 명령, 및
    상기 백색 잡음의 주파수 특징을 추출하기 위한 명령을 포함하는, 스마트 블랭킹 장치.
  66. 제 61항에 있어서, 상기 스마트 블랭킹 장치는 상기 메모리에 저장된 명령들을 실행하며;
    상기 명령들은 업데이트 배경 잡음 데이터 레이트 프레임을 전송하기전에 상기 배경 잡음 데이터 레이트 프레임들중 적어도 하나가 전송될때까지 대기하기 위한 명령을 포함하며, 이에 따라 안정된 배경 잡음 데이터 레이트 프레임이 전송되 는, 스마트 블랭킹 장치.
  67. 제 61항에 있어서, 상기 스마트 블랭킹 장치는 상기 메모리에 저장된 명령을 실행하며;
    상기 명령은 업데이트 배경 잡음 데이터 레이트 프레임을 전송하기전 마지막 임시 배경 잡음 데이터 레이트 프레임들이 전송된후에 40 내지 100ms를 대기하기 위한 명령은 포함하며, 이에 따라 안정된 배경 잡음 데이터 레이트 프레임이 전송되는, 스마트 블랭킹 장치.
  68. 제 61항에 있어서, 상기 스마트 블랭킹 장치는 상기 메모리에 저장딘 명령을 실행하며,
    상기 명령은 임계 시간이 종료되기전에 킵 얼라이브 패킷(keep alive packet)을 전송하기 위한 명령을 포함하는, 스마트 블랭킹 장치.
  69. 제 61항에 있어서, 상기 스마트 블랭킹 장치는 상기 메모리에 저장되며 인코더 및 디코더를 초기화하는 명령을 포함하는 명령을 실행하며;
    상기 인코더 및 디코더를 초기화하기 위한 명령은,
    상기 인코더의 상태를 음성 상태로 세팅하기 위한 명령;
    상기 디코더의 상태를 침묵 상태로 세팅하기 위한 명령; 및
    프로토타입을 1/8 데이터 레이트 프레임으로 세팅하기 위한 명령을 포 함하는, 스마트 블랭킹 장치.
  70. 제 61항에 있어서, 상기 스마트 블랭킹 장치는 상기 메모리에 저장되며 상기 배경 잡음을 혼합하기 위한 명령을 포함하는 명령을 실행하는, 스마트 블랭킹 장치.
  71. 제 61항에 있어서, 상기 스마트 블랭킹 장치는 상기 메모리에 저장되며 상기 배경 잡음 데이터 레이트 프레임이 수신되지 않은 경우에 소거(erasure)를 플레이하기 위한 명령을 포함하는 명령을 실행하는, 스마트 블랭킹 장치.
  72. 제 61항에 있어서, 상기 스마트 블랭킹 장치는 상기 메모리에 저장되며 상기 배경 잡음을 전송하기 위한 명령을 포함하는 명령을 실행하며,
    상기 명령은,
    프레임을 수신하기 위한 명령;
    상기 프레임이 침묵 프레임인지를 결정하기 위한 명령;
    활성 상태로 전환하며, 상기 프레임이 상기 침묵 프레임이 아닌 경우에 상기 프레임을 전송하기 위한 명령;
    상기 프레임이 상기 침묵 프레임인 경우에 상태가 침묵 상태인지를 결정하기 위한 명령;
    상기 침묵 상태로 전환하며, 상기 프레임이 상기 침묵 프레임이고 상 기 상태가 상기 침묵 상태에 있지 않는 경우에 수신기에 상기 침묵 프레임을 전송하기 위한 명령;
    상기 프레임이 상기 침묵 프레임이고 상기 상태가 침묵 상태에 있는 경우에 상기 프레임이 안정한지를 결정하기 위한 명령;
    통계치를 업데이트하며, 상기 프레임이 안정되는 경우에 업데이트가 트리거링되는지를 결정하기 위한 명령; 및
    상기 업데이트가 트리거링되는 경우에 프로토타입 프레임을 구축하여 전송하기 위한 명령을 포함하는, 스마트 블랭킹 장치.
  73. 제 61항에 있어서, 상기 스마트 블랭킹 장치는 상기 메모리에 저장되고 상기 배경 잡음을 수신하기 위한 명령을 포함하는 명령을 실행하며;
    상기 명령은,
    프레임을 수신하기 위한 명령;
    상기 프레임이 음성 프레임인지를 결정하기 위한 명령;
    상기 프레임이 상기 음성 프레임인 경우에 상태가 음성 상태인지를 결정하기 위한 명령;
    상기 상태가 상기 음성 상태이고 상기 프레임이 상기 음성 프레임인 경우에 상기 프레임을 플레이하기 위한 명령;
    상기 프레임이 상기 음성 프레임이 아닌 경우에 상기 프레임이 침묵 프레임인지를 체크하기 위한 명령;
    상기 프레임이 상기 침묵 프레임인 경우에 상기 상태가 침묵 상태인지를 체크하기 위한 명령;
    상기 침묵 상태로 전환하며, 상기 프레임이 상기 침묵 프레임이고 상기 상태가 상기 침묵 상태가 아닌 경우에 상기 프레임을 플레이하기 위한 명령;
    업데이트를 생성하며, 상기 프레임이 상기 침묵 프레임이고 상기 상태가 상기 침묵 상태인 경우에 상기 업데이터를 플레이하기 위한 명령;
    상기 프레임이 상기 음성 프레임 또는 상기 침묵 프레임이 아닌 경우에 상태가 상기 침묵 상태인지를 체크하기 위한 명령;
    상기 상태가 상기 침묵 상태이고 상기 프레임이 상기 음성 프레임 또는 상기 침묵 프레임이 아닌 경우에 프로토타입 프레임을 플레이하기 위한 명령; 및
    상기 상태가 상기 침묵 상태가 아니고 상기 프레임이 상기 음성 프레임 또는 상기 침묵 프레임이 아닌 경우에 N 연속 소거들이 전송되었는지를 체크하기 위한 명령;
    상기 N 연속 소거들이 전송되지 않고 상기 상태가 침묵 상태가 아니고 상기 프레임이 상기 음성 프레임 또는 상기 침묵 프레임이 아닌 경우에 소거를 플레이하기 위한 명령; 및
    상기 침묵 상태로 전환하며, N 연속 소거들이 전송되고 상기 상태가 상기 침묵 상태가 아니고 상기 프레임이 상기 음성 프레임 또는 상기 침묵 프레임이 아닌 경우에 상기 프로토타입 프레임을 플레이하기 위한 명령을 포함하는, 스마 트 블랭킹 장치.
  74. 제 63항에 있어서, 상기 스마트 블랭킹 장치는 상기 메모리에 저장된 트리거 명령을 실행하며;
    상기 트리거 명령은,
    배경 잡음 레이트 프레임들을 필터링하기 위한 명령;
    상기 배경 잡음 데이터 레이트 프레임들의 평균 에너지와 상기 배경 잡음 데이터 레이트 프레임의 에너지를 비교하기 위한 명령; 및
    상기 차이가 임계치를 초과하는 경우에 업데이트 배경 잡음 데이터 레이트 프레임을 전송하기 위한 명령을 포함하며, 상기 업데이트 배경 잡음 데이터 레이트 프레임은 상기 코드북 엔트리들의 적어도 하나를 포함하는, 스마트 블랭킹 장치.
  75. 제 63항에 있어서, 상기 스마트 블랭킹 장치는 상기 메모리에 저장된 트리거 명령을 실행하며;
    상기 트리거 명령은,
    배경 잡음 레이트 프레임들을 필터링하기 위한 명령;
    상기 배경 잡음 데이터 레이트 프레임들의 평균 스펙트럼과 상기 배경 잡음 데이터 레이트 프레임의 스펙트럼을 비교하기 위한 명령; 및
    상기 차이가 임계치를 초과하는 경우에 업데이트 배경 잡음 데이터 레 이트 프레임을 전송하기 위한 명령을 포함하며, 상기 업데이트 배경 잡음 데이터 레이트 프레임은 상기 코드북 엔트리들의 적어도 하나를 포함하는, 스마트 블랭킹 장치.
  76. 제 64항에 있어서, 상기 스마트 블랭킹 장치는 상기 메모리에 저장된 트리거 명령을 실행하며;
    상기 트리거 명령은,
    상기 배경 잡음 레이트 프레임들을 필터링하기 위한 명령;
    상기 배경 잡음 데이터 레이트 프레임들의 평균 에너지와 상기 배경 잡음 데이터 레이트 프레임의 에너지를 비교하기 위한 명령; 및
    상기 차이가 임계치를 초과하는 경우에 업데이트 배경 잡음 데이터 레이트 프레임을 전송하기 위한 명령을 포함하는, 스마트 블랭킹 장치.
  77. 제 64항에 있어서, 상기 스마트 블랭킹 장치는 상기 메모리에 저장된 트리거 명령을 실행하며;
    상기 트리거 명령은,
    배경 잡음 레이트 프레임들을 필터링하기 위한 명령;
    상기 배경 잡음 데이터 레이트 프레임들의 평균 스펙트럼과 상기 배경 잡음 데이터 레이트 프레임의 스펙트럼을 비교하기 위한 명령; 및
    상기 차이가 임계치를 초과하는 경우에 업데이트 배경 잡음 데이터 레 이트 프레임을 전송하기 위한 명령을 포함하는, 스마트 블랭킹 장치.
  78. 제 64항에 있어서, 상기 스마트 블랭킹 장치는 상기 메모리에 저장되고 프레임이 수신되지 않는 경우에 소거를 플레이하기 위한 명령을 포함하는 명령을 실행하는, 스마트 블랭킹 장치.
  79. 제 70항에 있어서, 상기 스마트 블랭킹 장치는 상기 메모리에 저장된 혼합 명령을 실행하며, 상기 혼합 명령은 이전 업데이트 값으로부터 새로운 업데이트 값으로 점진적으로 배경을 변화시키기 위한 명령을 포함하는, 스마트 블랭킹 장치.
  80. 제 71항에 있어서, 상기 소거는 시간의 50%보다 짧거나 또는 동일하게 플레이되는, 스마트 블랭킹 장치.
  81. 제 72항에 있어서, 상기 스마트 블랭킹 장치는 상기 메모리에 저장되고 상기 배경 잡음을 전송하기 위한 명령을 포함하는 명령을 실행하며, 상기 명령은 상기 플임이 안정되지 않는 경우에 임시 배경 잡음 데이터 레이트 프레임들을 전송하기 위한 명령을 포함하는, 스마트 블랭킹 장치.
  82. 제 47항에 있어서, 상기 코드북 엔트리들의 적어도 하나는 적어도 하나의 에너지 코드북 엔트리 및 적어도 하나의 스펙트럴 코드북 엔트리를 포함하는, 스마트 블랭킹 장치.
  83. 제 76항에 있어서, 상기 임계치는 1db과 동일하거나 또는 큰, 스마트 블랭킹 장치.
  84. 제 77항에 있어서, 상기 스마트 블랭킹 장치는 상기 배경 잡음 데이터 레이트 프레임들에 대한 코드북 엔트리들의 엘리먼트들의 절대 차이의 합을 취함으로서 상기 배경 잡음 데이터 레이트 프레임 명령의 평균 스펙트럼과 상기 배경 잡음 데이터 레이트 프레임의 스펙트럼을 비교하기 위한 명령을 실행하는, 스마트 블랭킹 장치.
  85. 제 77항에 있어서, 상기 임계치는 40%와 동일하거나 또는 큰, 스마트 블랭킹 장치.
  86. 제 82항에 있어서, 상기 소거는 시간의 50%보다 짧거나 또는 동일하게 플레이되는, 스마트 블랭킹 장치.
  87. 제 84항에 있어서, 상기 업데이트 배경 잡음 데이터 레이트 프레임은 자주 사용되는 코드북 엔트리를 포함하는, 스마트 블랭킹 장치.
KR1020077019996A 2005-02-01 2006-02-01 배경 잡음 정보의 불연속 전송 및 정확한 재생을 위한 방법 KR100974110B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US64919205P 2005-02-01 2005-02-01
US60/649,192 2005-02-01
US11/123,478 2005-05-05
US11/123,478 US8102872B2 (en) 2005-02-01 2005-05-05 Method for discontinuous transmission and accurate reproduction of background noise information

Publications (2)

Publication Number Publication Date
KR20070100412A true KR20070100412A (ko) 2007-10-10
KR100974110B1 KR100974110B1 (ko) 2010-08-04

Family

ID=36553037

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077019996A KR100974110B1 (ko) 2005-02-01 2006-02-01 배경 잡음 정보의 불연속 전송 및 정확한 재생을 위한 방법

Country Status (7)

Country Link
US (1) US8102872B2 (ko)
EP (1) EP1849158B1 (ko)
JP (3) JP2008530591A (ko)
KR (1) KR100974110B1 (ko)
CN (1) CN101208740B (ko)
TW (1) TWI390505B (ko)
WO (1) WO2006084003A2 (ko)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100964436B1 (ko) * 2004-08-30 2010-06-16 퀄컴 인코포레이티드 V o I P 용 적응성 디-지터 버퍼
US8085678B2 (en) * 2004-10-13 2011-12-27 Qualcomm Incorporated Media (voice) playback (de-jitter) buffer adjustments based on air interface
US8355907B2 (en) * 2005-03-11 2013-01-15 Qualcomm Incorporated Method and apparatus for phase matching frames in vocoders
US8155965B2 (en) * 2005-03-11 2012-04-10 Qualcomm Incorporated Time warping frames inside the vocoder by modifying the residual
KR20080003537A (ko) * 2006-07-03 2008-01-08 엘지전자 주식회사 이동 단말기의 통화 중 노이즈 제거 방법 및 이를 위한이동 단말기
US10084627B2 (en) * 2006-07-10 2018-09-25 Qualcomm Incorporated Frequency hopping in an SC-FDMA environment
US8208516B2 (en) * 2006-07-14 2012-06-26 Qualcomm Incorporated Encoder initialization and communications
US8532984B2 (en) * 2006-07-31 2013-09-10 Qualcomm Incorporated Systems, methods, and apparatus for wideband encoding and decoding of active frames
US8260609B2 (en) * 2006-07-31 2012-09-04 Qualcomm Incorporated Systems, methods, and apparatus for wideband encoding and decoding of inactive frames
US8725499B2 (en) * 2006-07-31 2014-05-13 Qualcomm Incorporated Systems, methods, and apparatus for signal change detection
US8848618B2 (en) * 2006-08-22 2014-09-30 Qualcomm Incorporated Semi-persistent scheduling for traffic spurts in wireless communication
US9064161B1 (en) * 2007-06-08 2015-06-23 Datalogic ADC, Inc. System and method for detecting generic items in image sequence
US8514754B2 (en) * 2007-10-31 2013-08-20 Research In Motion Limited Methods and apparatus for use in controlling discontinuous transmission (DTX) for voice communications in a network
CN100555414C (zh) * 2007-11-02 2009-10-28 华为技术有限公司 一种dtx判决方法和装置
US8554551B2 (en) * 2008-01-28 2013-10-08 Qualcomm Incorporated Systems, methods, and apparatus for context replacement by audio level
US8831936B2 (en) * 2008-05-29 2014-09-09 Qualcomm Incorporated Systems, methods, apparatus, and computer program products for speech signal processing using spectral contrast enhancement
US8538749B2 (en) 2008-07-18 2013-09-17 Qualcomm Incorporated Systems, methods, apparatus, and computer program products for enhanced intelligibility
FR2938688A1 (fr) * 2008-11-18 2010-05-21 France Telecom Codage avec mise en forme du bruit dans un codeur hierarchique
US9202456B2 (en) * 2009-04-23 2015-12-01 Qualcomm Incorporated Systems, methods, apparatus, and computer-readable media for automatic control of active noise cancellation
WO2011103924A1 (en) * 2010-02-25 2011-09-01 Telefonaktiebolaget L M Ericsson (Publ) Switching off dtx for music
US9020550B2 (en) * 2010-03-29 2015-04-28 Telefonaktiebolaget L M Ericsson (Publ) Methods and apparatuses for radio resource allocation and identification
US9053697B2 (en) 2010-06-01 2015-06-09 Qualcomm Incorporated Systems, methods, devices, apparatus, and computer program products for audio equalization
US9686815B2 (en) 2011-11-02 2017-06-20 Qualcomm Incorporated Devices and methods for managing discontinuous transmission at a wireless access terminal
US8774074B2 (en) * 2011-11-02 2014-07-08 Qualcomm Incorporated Apparatus and method for adaptively enabling discontinuous transmission (DTX) in a wireless communication system
JP2014167525A (ja) * 2013-02-28 2014-09-11 Mitsubishi Electric Corp 音声復号装置
CN104378474A (zh) * 2014-11-20 2015-02-25 惠州Tcl移动通信有限公司 一种降低通话输入噪音的移动终端及其方法
US20160323425A1 (en) * 2015-04-29 2016-11-03 Qualcomm Incorporated Enhanced voice services (evs) in 3gpp2 network
US9924451B2 (en) * 2015-12-02 2018-03-20 Motorola Solutions, Inc. Systems and methods for communicating half-rate encoded voice frames
CN107786317A (zh) * 2016-08-31 2018-03-09 乐视汽车(北京)有限公司 一种降噪数据传输方法和设备
US10659112B1 (en) 2018-11-05 2020-05-19 XCOM Labs, Inc. User equipment assisted multiple-input multiple-output downlink configuration
US10812216B2 (en) 2018-11-05 2020-10-20 XCOM Labs, Inc. Cooperative multiple-input multiple-output downlink scheduling
US10756860B2 (en) 2018-11-05 2020-08-25 XCOM Labs, Inc. Distributed multiple-input multiple-output downlink configuration
US10432272B1 (en) 2018-11-05 2019-10-01 XCOM Labs, Inc. Variable multiple-input multiple-output downlink user equipment
US11290172B2 (en) 2018-11-27 2022-03-29 XCOM Labs, Inc. Non-coherent cooperative multiple-input multiple-output communications
US11063645B2 (en) 2018-12-18 2021-07-13 XCOM Labs, Inc. Methods of wirelessly communicating with a group of devices
US10756795B2 (en) 2018-12-18 2020-08-25 XCOM Labs, Inc. User equipment with cellular link and peer-to-peer link
US11330649B2 (en) 2019-01-25 2022-05-10 XCOM Labs, Inc. Methods and systems of multi-link peer-to-peer communications
US10756767B1 (en) 2019-02-05 2020-08-25 XCOM Labs, Inc. User equipment for wirelessly communicating cellular signal with another user equipment
US10735057B1 (en) 2019-04-29 2020-08-04 XCOM Labs, Inc. Uplink user equipment selection
US10686502B1 (en) 2019-04-29 2020-06-16 XCOM Labs, Inc. Downlink user equipment selection
US11411778B2 (en) 2019-07-12 2022-08-09 XCOM Labs, Inc. Time-division duplex multiple input multiple output calibration
TWI721522B (zh) 2019-08-12 2021-03-11 驊訊電子企業股份有限公司 音訊處理系統及方法
JP7191792B2 (ja) * 2019-08-23 2022-12-19 株式会社東芝 情報処理装置、情報処理方法およびプログラム
US11411779B2 (en) 2020-03-31 2022-08-09 XCOM Labs, Inc. Reference signal channel estimation
CN113571072B (zh) * 2021-09-26 2021-12-14 腾讯科技(深圳)有限公司 一种语音编码方法、装置、设备、存储介质及产品

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BR9206143A (pt) * 1991-06-11 1995-01-03 Qualcomm Inc Processos de compressão de final vocal e para codificação de taxa variável de quadros de entrada, aparelho para comprimir im sinal acústico em dados de taxa variável, codificador de prognóstico exitado por córdigo de taxa variável (CELP) e descodificador para descodificar quadros codificados
JP3182032B2 (ja) * 1993-12-10 2001-07-03 株式会社日立国際電気 音声符号化通信方式及びその装置
TW271524B (ko) * 1994-08-05 1996-03-01 Qualcomm Inc
FI103700B1 (fi) * 1994-09-20 1999-08-13 Nokia Mobile Phones Ltd Samanaikainen puheen ja datan siirto matkaviestinjärjestelmässä
JPH08254997A (ja) * 1995-03-16 1996-10-01 Fujitsu Ltd 音声符号化・復号化方法
JPH08298523A (ja) * 1995-04-26 1996-11-12 Nec Corp ルータ
JP3157116B2 (ja) * 1996-03-29 2001-04-16 三菱電機株式会社 音声符号化伝送システム
GB2326308B (en) * 1997-06-06 2002-06-26 Nokia Mobile Phones Ltd Method and apparatus for controlling time diversity in telephony
JP3487158B2 (ja) * 1998-02-26 2004-01-13 三菱電機株式会社 音声符号化伝送システム
US6138040A (en) * 1998-07-31 2000-10-24 Motorola, Inc. Method for suppressing speaker activation in a portable communication device operated in a speakerphone mode
US6311154B1 (en) * 1998-12-30 2001-10-30 Nokia Mobile Phones Limited Adaptive windows for analysis-by-synthesis CELP-type speech coding
JP4438127B2 (ja) * 1999-06-18 2010-03-24 ソニー株式会社 音声符号化装置及び方法、音声復号装置及び方法、並びに記録媒体
DE69931783T2 (de) * 1999-10-18 2007-06-14 Lucent Technologies Inc. Verbesserung bei digitaler Kommunikationseinrichtung
AU1359601A (en) 1999-11-03 2001-05-14 Tellabs Operations, Inc. Integrated voice processing system for packet networks
FI116643B (fi) * 1999-11-15 2006-01-13 Nokia Corp Kohinan vaimennus
JP4221537B2 (ja) 2000-06-02 2009-02-12 日本電気株式会社 音声検出方法及び装置とその記録媒体
US6907030B1 (en) * 2000-10-02 2005-06-14 Telefonaktiebolaget Lm Ericsson (Publ) System and method for decoding multiplexed, packet-based signals in a telecommunications network
US6631139B2 (en) * 2001-01-31 2003-10-07 Qualcomm Incorporated Method and apparatus for interoperability between voice transmission systems during speech inactivity
US7103025B1 (en) * 2001-04-19 2006-09-05 Cisco Technology, Inc. Method and system for efficient utilization of transmission resources in a wireless network
US7031916B2 (en) * 2001-06-01 2006-04-18 Texas Instruments Incorporated Method for converging a G.729 Annex B compliant voice activity detection circuit
JP2003050598A (ja) * 2001-08-06 2003-02-21 Mitsubishi Electric Corp 音声復号装置
US6832195B2 (en) * 2002-07-03 2004-12-14 Sony Ericsson Mobile Communications Ab System and method for robustly detecting voice and DTX modes
CN100435485C (zh) * 2002-08-21 2008-11-19 广州广晟数码技术有限公司 用于从音频数据码流中解码重建多声道音频信号的解码器
JP4292767B2 (ja) 2002-09-03 2009-07-08 ソニー株式会社 データレート変換方法及びデータレート変換装置
WO2004034379A2 (en) 2002-10-11 2004-04-22 Nokia Corporation Methods and devices for source controlled variable bit-rate wideband speech coding
US20060149536A1 (en) * 2004-12-30 2006-07-06 Dunling Li SID frame update using SID prediction error

Also Published As

Publication number Publication date
US20060171419A1 (en) 2006-08-03
WO2006084003A3 (en) 2006-12-07
EP1849158A2 (en) 2007-10-31
EP1849158B1 (en) 2012-06-13
CN101208740A (zh) 2008-06-25
TW200632869A (en) 2006-09-16
JP5730682B2 (ja) 2015-06-10
JP2011250430A (ja) 2011-12-08
CN101208740B (zh) 2015-11-25
KR100974110B1 (ko) 2010-08-04
US8102872B2 (en) 2012-01-24
JP2013117729A (ja) 2013-06-13
WO2006084003A2 (en) 2006-08-10
TWI390505B (zh) 2013-03-21
JP5567154B2 (ja) 2014-08-06
JP2008530591A (ja) 2008-08-07

Similar Documents

Publication Publication Date Title
KR100974110B1 (ko) 배경 잡음 정보의 불연속 전송 및 정확한 재생을 위한 방법
JP2008530591A5 (ko)
US8560307B2 (en) Systems, methods, and apparatus for context suppression using receivers
US9053702B2 (en) Systems, methods, apparatus, and computer-readable media for bit allocation for redundant transmission
JP4444749B2 (ja) 減少レート、可変レートの音声分析合成を実行する方法及び装置
US20090168673A1 (en) Method and apparatus for detecting and suppressing echo in packet networks
EP1214705B1 (en) Method and apparatus for maintaining a target bit rate in a speech coder
KR20020093940A (ko) 가변율 음성 코더에서 프레임 삭제를 보상하는 방법
JP2014512575A (ja) マルチレート・スピーチ/オーディオ・コーデックのためのフレーム損失隠匿
KR20090110377A (ko) 오디오 신호 인코딩
CN112334980A (zh) 自适应舒适噪声参数确定
EP3080804A1 (en) Bandwidth extension mode selection
EP1212749A1 (en) Method and apparatus for interleaving line spectral information quantization methods in a speech coder
AU2008221657A1 (en) Method and arrangement for smoothing of stationary background noise
US20080103765A1 (en) Encoder Delay Adjustment
WO2007078186A1 (en) Method of processing audio signals for improving the quality of output audio signal which is transferred to subscriber's terminal over network and audio signal pre-processing apparatus of enabling the method
Makinen et al. The effect of source based rate adaptation extension in AMR-WB speech codec
ULLBERG Variable Frame Offset Coding

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130628

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140627

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160629

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20180628

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20190624

Year of fee payment: 10