기술적 과제
따라서, 본 발명의 목적은, 헤더 등에서 선택된 정보를 부가적 구성정보로 재전송가능하게 부호화하는 부호화 방법 및 그 장치를 제공함에 있다.
본 발명의 다른 목적은, 헤더 등에서 선택된 부가적 구성정보가 포함된 비트스트림을 복호화하는 복호화 방법 및 그 장치를 제공하는데 있다.
기술적 해결방법
상기 목적을 달성하기 위한 본 발명에 따른 부호화 방법은, 멀티채널 오디오 신호로부터 생성되는 다운믹스 신호 및 상기 멀티채널 오디오 신호와 다운믹스 신호에 기초하여 산출한 공간정보를 생성하는 단계; 상기 공간정보의 헤더에 포함되는 부가적 구성정보를, 프레임단위로 분할된 상기 공간정보의 프레임 내 소정 구간에 포함시켜 부가정보를 생성하는 단계;및 상기 다운믹스 신호와 상기 부가정보를 결합하고, 상기 부가정보내에 상기 부가적 구성정보가 삽입되었는지 여부를 나타내는 제 1 재전송정보 플래그를 삽입하여 비트스트림을 생성하는 단계를 포함한다.
또한, 상기 목적을 달성하기 위한 본 발명에 따른 부호화 장치는, 멀티채널 오디오 신호에 대한 다운믹스 신호를 생성하는 다운믹스부; 상기 다운믹스 신호를 부호화하는 코아 인코더; 상기 멀티채널 오디오 신호의 공간정보를 산출하는 공간정보 생성부; 상기 공간정보를 부호화하는 파라미터 인코더; 및 상기 부호화된 공간정보와 상기 부호화된 다운믹스 신호를 결합하고, 상기 부호화된 공간정보에서 선택된 부가적 구성정보를 소정 구간에 삽입한 비트스트림을 생성하는 비트스트림 생성부를 포함하고, 상기 비트스트림 생성부는, 상기 비트스트림 내에 상기 부호화된 공간정보로부터 선택된 부가적 구성정보 및 상기 부가적 구성정보가 상기 비트스트림에 삽입되었는지 여부를 나타내는 제 1 플래그를 삽입하는 것을 특징으로 한다.
한편, 본 발명에 따른 복호화 방법은, 다운믹스 신호 및 부가정보를 포함하는 비트스트림을 수신하는 단계; 상기 비트스트림에서 상기 다운믹스 신호 및 상기 부가정보를 분리하는 단계; 상기 부가정보로부터 상기 부가정보에 부가적 구성정보가 포함되었는지 여부를 나타내는 제 1 플래그를 획득하는 단계; 상기 제 1 플래그에 기초하여 상기 부가적 구성정보가 포함된 경우, 상기 부가적 구성정보를 추출하는 단계; 및 상기 추출된 부가적 구성정보를 이용하여 멀티채널 오디오 신호를 생성하는 단계;를 포함한다.
본 발명에 따르면, 입력받은 비트스트림의 프레임에서 부호화된 다운믹스 신호와 부가 정보를 각각 분리하는 디멀티플렉서; 상기 부호화된 다운믹스 신호를 복호화하여 다운믹스 신호를 생성하는 코아 디코더; 상기 부가정보에 포함된 정보를 참조하여, 부가적 구성정보가 상기 부가정보에 삽입되었는지 여부를 판단하여, 상기 부가적 구성정보가 상기 부가정보에 삽입된 경우, 상기 부가적 구성정보를 복호화하여 공간정보를 생성하는 파라미터 디코더; 상기 공간정보와 상기 다운믹스 신호를 이용하여 멀티채널 오디오 신호를 생성하는 멀티채널 합성부;를 포함하는 복호화 장치가 제공된다.
또한, 상기 목적을 달성하기 위하여 본 발명에서는, 상기 방법을 프로세서에서 실행시키기 위한 프로그램을 기록한 프로세서가 읽을 수 있는 기록매체를 제공한다.
유리한 효과
본 발명에 따르면, 헤더 등에 포함되는 정보의 일부 혹은 전부를 특정 프레임에 포함시켜 재전송할 수 있도록 부호화되므로, 스트리밍(streaming) 서비스의 경우 등에 유용하게 사용할 수 있다. 또한, 필요에 따라 프레임(frame)마다 다른 구성(config)을 갖도록 부호화 및 복호화할 수 있으므로, 사용환경에 따라 최적의 비트스트림 생성할 수 있다.
또한, 선택된 공간정보를 필요한 프레임에만 전송할 수 있으므로, 신호의 품질을 유지하면서도 전송할 데이터량을 효과적으로 감소시킬 수 있다.
도 1은 일반적인 멀티채널 오디오 신호의 비트스트림 구성을 나타낸 도면,
도 2는 본 발명에 따른 부호화 및 복호화 방법이 적용되는 멀티채널 오디오 부호화/복호화 장치의 일 예에 대한 블럭도,
도 3 및 도 4는 본 발명에서 사용되는 공간정보의 syntax의 일 예를 나타낸 도면,
도 5 및 도 6은 본 발명의 일실시예에 따른 복호화 방법의 설명에 제공되는 흐름도, 그리고
도 7은 본 발명의 다른 실시예에 따른 복호화 방법의 설명에 제공되는 흐름도이다.
발명의 실시를 위한 최선의 형태
이하에서는 도면을 참조하여 본 발명을 보다 상세하게 설명한다.
본 발명에 따른 멀티채널 오디오 신호 부호화 및 복호화 방법은 기본적으로 멀티채널 오디오 신호의 처리 과정에 적용되지만, 반드시 이에 국한되는 것은 아니며 본 발명에 따른 조건을 만족하는 다른 신호의 처리 과정에 적용이 가능하다.
도 2는 본 발명에 따른 부호화 및 복호화 방법이 적용되는 멀티채널 오디오 부호화/복호화 장치의 일 예에 대한 블럭도이다. 도 2를 참조하면, 본 실시예에 따른 부호화 장치(100)는 다운믹스부(110), 공간정보 생성부(120), 코아 인코더(130), 파라미터 인코더(135), 및 비트스트림 생성부(140)를 포함한다. 그리고, 멀티채널 오디오 복호화 장치(200)는, 디멀티 플렉서(210), 코아 디코더(220), 파라미터 디코더(230), 및 멀티채널 합성부(240)를 포함한다.
부호화 장치(100)에서, 다운믹스부(110)는 n개의 채널로 구성된 멀티채널 오디오 신호를 모노 혹은 스테레오 신호로 다운믹스(downmix)하여 다운믹스 신호를 생성한다. 사용 환경에 따라서는 외부에서 가공한 임의의 다운믹스 신호(Artistic Downmix)를 다운믹스 신호로 사용할 수도 있다. 공간정보 생성부(120)는 멀티채널 오디오 신호에 대한 공간정보(spatial information)를 산출하며, 코아 인코더(130)는 다운믹스부(110)에 출력되는 다운믹스 신호를 부호화하여 부호화된 다운믹스 신 호를 생성한다. 파라미터 인코더(135)는 공간정보 생성부(120)에서 생성한 공간정보를 부호화한다.
비트스트림 생성부(140)는 부호화된 다운믹스 신호 및 공간정보를 결합하여 비트스트림을 생성하며, 필요에 따라 비트스트림의 소정 구간에 부가적 구성정보를 삽입한다. 이때, 부가적 구성정보는 헤더 등에 포함된 공간정보나 기타정보의 전부 혹은 일부에 대응하는 정보이다. 따라서, 공간정보와 추가된 부가적 구성정보는 부가정보로써 비트스트림 생성부(140)에서 생성한 비트스트림에 포함가능하다.
복호화 장치(200)에서, 디멀티플렉서(210)는 전송된 비트스트림을 수신하여 부호화된 다운믹스 신호와 부가정보로 분리한다. 코아 디코더(220)는 부호화된 다운믹스 신호를 복호화하여 다운믹스 신호를 생성한다. 파라미터 디코더(230)는 부가정보를 복호화하여 공간정보를 생성한다. 이때, 부가정보에 추가된 부가적 구성정보가 포함되어 있으면, 추가된 부가적 구성정보를 이용하여 공간정보를 생성한다. 멀티채널 합성부(240)는 공간정보와 다운믹스 신호를 이용하여 멀티채널 오디오 신호를 생성한다.
도 3 및 도 4는 본 발명에서 사용되는 공간정보의 syntax의 일 예를 나타낸 도면이다. 도 3에서, SpatialSpecificConfig()는 헤더 영역에 포함되는 공간정보(spatial information)를 나타내며, 도 4에서 SpatialFrame()는 각 프레임에 대응하는 정보인 프레임 정보를 나타낸다.
SpatialSpecificConfig()는 SAC 구성 정보에 대응하며, 각 프레임에 공통적으로 적용될 수 있는 공간정보를 나타내며, 표본화 주파수를 나타내는 bsSamplingFrequency, 프레임 길이를 나타내는 bsFrameLength, 멀티 채널 신호가 어떤 조합으로 다운 믹스되어 있는지를 나타내는 bsTreeConfic 등과 같은 정보가 포함되어 있다. 그리고, SpatialFrame()은 파라미터 셋의 개수와 관련된 타임 슬롯에 대한 정보를 나타내는 Fraiminginfo() 등과 같이 각 프레임에 대응하는 공간정보가 포함된다.
이러한 정보에서, 본 발명에 따른 부호화 방법에서는, SpatialSpecficConfig (), 즉 SAC 구성 정보에 포함된 정보의 전부 혹은 일부에 대응하는 정보를 부가적 구성정보로 특정 프레임 혹은 모든 프레임마다 포함시켜 부호화할 수 있다. 따라서, SAC 구성 정보 등이 비트스트림의 헤더에 한 번만 포함되는 것이 아니라, 특정 프레임 혹은 모든 프레임마다 포함되도록 부호화된다.
이와 같이 부가적 구성정보가 소정 프레임에 삽입된 멀티채널 오디오 신호의 비트스트림을 복호화하기 위해 다음과 같은 방법을 사용하여 부호화한다.
먼저, SpatialSpecificConfig() 전체에 대응하는 부가적 구성정보를 특정 프레임에 재전송하기 위해, SpatialFrame() 내에 부가적 구성정보가 재전송되는지 여부를 나타내는 재전송 플래그를 설정한다. 예컨대, 이 재전송 플래그를 bsResendSptialSpecificConficFrame 라 하면, 복호화 과정에서는 이 재전송 플래그가 셋(set) 되어 있는 경우, SpatialSpecifigConfig() 전체에 대응하는 부가적 구성정보가 포함되어 있는 것을 알 수 있다.
또한, 헤더에 포함되는 SpatialSpecifigConfig() 안에 재전송 플래그를 설정할 수 있다. 예컨대, 헤더내 설정되는 재전송 플래그를 bsResendSpatialSpecificConfigHeader 라 하면, 이 재전송 플래그가 셋 되어 있는 경우, SpatialFrame()내의 재전송 플래그(bsResendSpatialSpecificConficFrame)의 셋 여부를 다시 검사하여, 이에 따라 부가적 구성정보를 다시 전송받을 수 있다. 만일, 헤더 안에 재전송 플래그가 셋 되어 있지 않으면, 부가적 구성정보가 포함되지 않은 비트스트림임을 알 수 있으므로, 프레임내 재전송 플래그를 체크하는 과정없이 복호화 과정이 진행될 수 있다.
부가적 구성정보를 SpatialSpecificConfig() 전체에 대응하도록 구성하는 대신, 이 중에서 선택된 특정 파라미터(parameter)만으로 구성할 수 있다. 특정 파라미터 셋(set)을 SpatialSpecificConfigParam 이라 하면, SpatialFrame() 안에 SpatialSpecifigConfigParam가 재전송되는지에 대한 플래그, 예컨대, bsResendSpatialSpecificConficParamFrame를 두어, 이 재전송 플래그가 셋 되어 있는 경우 SpatialSpecifigConfigParam 가 다시 전송되는 것을 알 수 있다.
마찬가지로, 헤더에 포함되는 SpatialSpecifigConfig()내에 재전송 가능 플래그, 예컨대 bsResendSpatialSpecificConfigParamHeader를 두어 이 플래그가 셋 되어 있는 경우, SpatialFrame()에서 SpatialSpecificConfigParam 가 재전송되는지에 대한 플래그(bsResendSpatialSpecificConficParamFrame)를 다시 체크하여, 이에 따라 부가적 구성정보를 다시 전송받을 수 있다. 이 경우에도, 헤더내 재전송 플래그가 셋 되어있지 않으면, 부가적 구성정보가 포함되지 않은 일반적인 비트스트림임을 알 수 있다.
이와 같은 방법을 통해 헤더 등에 포함되는 공간정보의 전부 혹은 일부를 주 기적으로 재전송하거나, 필요에 따라 선택된 프레임에 포함시켜 재전송할 수 있도록 부호화할 수 있다.
한편, 헤더에 포함되는 공간정보의 일부에 대응하는 SpatialSpecificConfigParam을 구성함에 있어서 SpatialSpecficConfig()에 포함된 정보 중 적어도 어느 하나를 포함하도록 구성할 수 있다.
다음의 [표 1]의 SpatialSpecConfig()에 포함된 각 변수를 정의한다.
표 1
예를 들어, 멀티채널 오디오 신호가 어떤 조합으로 다운믹스 되었는지를 나타내는 bsTreeConfig를 재전송하기 위하여, SpatialFrame() 안에 bsTreeConfig가 재전송되는지에 대한 플래그, 예컨대 bsResendTreeConfigFrame를 두어, 이 플래그 가 셋팅되어 있는 경우, bsTreeConfig 가 재전송되었음을 알 수 있다.
또한, 전술한 바와 같이, SpatialSpecifigConfigHeader 안에 재전송 가능 플래그, 예컨대 bsResendTreeConfigHeader를 두어 이 플래그가 셋 되어 있는 경우, SpatialFrame()에서 bsTreeConfig가 재전송되는지에 대한 플래그(bsResendTreeConfigFrame)를 다시 체크(check) 하도록 하는 것도 가능하다.
이와 같은 방법을 통해 bsTreeConfig를 주기적으로 재전송하거나 필요에 따라 선택적으로 재전송할 수 있으며, bsTreeConfig를 프레임마다 필요에 따라 다르게 설정할 경우, 보다 효율적으로 신호의 저장 및 전송이 가능해 진다.
예를 들어, 신호 구간에 따라 다섯 채널로 구성된 멀티채널 오디오 신호가 모노 신호로 표현되어도 그 품질이 유지되는 구간과 스테레오 신호로 압축되어야 하는 구간이 존재한다면, 종래의 방법은 품질 유지를 위해 계속 스테레오 신호로 부호화하여야 하지만, 본 발명에 따르면 필요한 구간에서만 스테레오 신호로 부호화할 수 있다. 또한, 같은 모노 신호로 부호화하는 경우에도, 신호 특성에 따라 모드를 변환할 수 있어 같은 비트율에서 더 좋은 품질의 신호를 얻을 수 있다.
그리고, bsTreeConfig를 재전송하는 대신 이를 bsTreeExt, bsTreeCh, bsTreeCfg 의 3 비트로 나누어 사용할 수 있다. 이 경우, bsTreeExt = 1이면, bsTreeConfig 이 15인 경우, 즉 extended signaling 으로 TreeDescription 을 받아들인다. 또한, bsTreeExt = 0 인 경우, bsTreeCh 를 받아서 bsTreeCh = 0 이면 515 구성, bsTesCh = 1 이면 525 구성으로 할 수 있다. 그리고, bsTreeExt = 0 이고 bsTreeCh = 0 인 경우에 대해, bsTreeCfg = 0 이면 5151, bsTreeCfg = 1 이면 5152 로 하는 방법을 사용할 수 있다. 이와 같은 방법으로, 최소 2비트를 가지고도 표현할 수 있어, 사용 비트수를 감소시킬 수 있다.
도 5 및 도 6은 본 발명의 일실시예에 따른 복호화 방법의 설명에 제공되는 흐름도이다. 도 5를 참조하면, 멀티채널 오디오 복호화 과정에서 멀티채널 오디오 신호의 헤더를 입력받으면(S400), 헤더내에 설정되어 있는 재전송 플래그(bsResendSpatialSpecificConfigHeader)가 셋(set) 되었는지 여부를 판단한다(S405). 판단 결과, 헤더내 재전송 플래그가 셋 되어있지 않으면, 부가적 구성정보가 포함되는 않은 경우이므로, 도 6에 도시한 바와 같이, 헤더에 포함된 구성정보를 공간정보로 이용하여 멀티채널 오디오 신호를 생성한다(S440 내지 S450).
그러나, 헤더내 재전송 플래그(bsResendSpatialSpecificConfigHeader)가 셋되어 있는 경우이면, 부가적 구성정보가 재전송되는 경우이므로, 다음 프레임을 입력받아(S410), 그 프레임내 포함된 재전송 플래그(bsResendSpatialSpecificConficFrame)가 셋 되었는지 여부를 판단한다(S415). 판단 결과, 프레임내 재전송 플래그가 셋 되어 있으면, 부가적 구성정보를 추출한다(S420). 이때, 부가적 구성정보는 현재의 프레임에 포함되어 있거나 혹은 이전 프레임내에 존재할 수 있다.
부가적 구성정보가 추출되면, 추출된 구성정보를 이용하여 다운믹스 신호로부터 멀티채널 오디오 신호를 생성한다(S425). 즉, 수신한 프레임에서 부호화된 다운믹스 신호와 프레임 정보를 각각 분리하고, 추출한 부가적 구성정보와 프레임 정보를 이용하여 공간정보를 생성하고, 생성한 공간정보와 다운믹스 신호를 이용하여 멀티채널 오디오 신호를 생성한다. 만일, 부가적 구성정보가 헤더내 포함된 공간정보의 일부라면, 공간정보의 생성에 필요한 나머지 정보는 헤더에서 추출한 공간정보를 이용한다. 프레임내 재전송 플래그가 셋되어 있지 않으면, 헤더에서 추출한 구성정보를 이용하여 멀티채널 오디오신호를 생성한다(S435). 이와 같은 과정은, 스트림 종료시까지 반복적으로 수행된다.
도 7은 본 발명의 다른 실시예에 따른 복호화 방법의 설명에 제공되는 흐름도이다. 본 실시예의 경우에는 헤더내에 재전송 플래그가 포함되지 않고, 프레임내에만 재전송 플래그가 포함된 경우이다. 도 6을 참조하면, 멀티채널 오디오 신호의 복호화 장치에서, 프레임을 입력받으면(S500), 프레임내 재전송 플래그가 셋 되었는지 여부를 판단한다(S505). 판단결과, 재전송 플래그가 셋되어 있으면, 부가적 구성정보를 추출한다(S510). 추출한 부가적 구성정보를 이용하여 멀티채널 오디오 신호를 생성한다(S515). 즉, 부가적 구성정보와 프레임내 정보를 이용하여 공간정보를 생성하고, 생성한 공간정보와 다운믹스 신호를 이용하여 멀티채널 오디오 신호를 생성한다.
이와 달리, 재전송 플래그가 셋되어 있지 않으면, 헤더에서 추출한 구성정보와 프레임 정보를 이용하여 공간정보를 생성하고, 생성한 공간정보와 다운믹스 신호를 이용하여 멀티채널 오디오 신호를 생성한다(S525).
이와 같은 방법에 의해, 선택된 프레임내 부가적 구성정보를 삽입하여, 스트리밍 서비스와 같이 처음부터 비트스트림을 수신하지 못하는 경우에도, 멀티채널 오디오 신호를 생성할 수 있다.
한편, 본 발명은 또한 프로세서가 읽을 수 있는 기록매체에 프로세서가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 프로세서가 읽을 수 있는 기록매체는 프로세서가 설치된 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 프로세서가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 인터넷을 통한 전송 등과 같은 캐리어 웨이브의 형태로 구현되는 것도 포함한다. 또한 프로세서가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 프로세서가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.