KR100844194B1 - 디지털 오디오 데이터의 복호화 방법, 디지털 오디오데이터의 복호화 장치 및 디지털 오디오 데이터의 복호화방법을 수행하는 기록매체 - Google Patents

디지털 오디오 데이터의 복호화 방법, 디지털 오디오데이터의 복호화 장치 및 디지털 오디오 데이터의 복호화방법을 수행하는 기록매체 Download PDF

Info

Publication number
KR100844194B1
KR100844194B1 KR1020060072983A KR20060072983A KR100844194B1 KR 100844194 B1 KR100844194 B1 KR 100844194B1 KR 1020060072983 A KR1020060072983 A KR 1020060072983A KR 20060072983 A KR20060072983 A KR 20060072983A KR 100844194 B1 KR100844194 B1 KR 100844194B1
Authority
KR
South Korea
Prior art keywords
packet
digital audio
audio data
decoding
synchronization information
Prior art date
Application number
KR1020060072983A
Other languages
English (en)
Other versions
KR20080012032A (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 엠텍비젼 주식회사
Priority to KR1020060072983A priority Critical patent/KR100844194B1/ko
Publication of KR20080012032A publication Critical patent/KR20080012032A/ko
Application granted granted Critical
Publication of KR100844194B1 publication Critical patent/KR100844194B1/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/008Multichannel audio signal coding or decoding using interchannel correlation to reduce redundancy, e.g. joint-stereo, intensity-coding or matrixing
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/60General implementation details not specific to a particular type of compression
    • H03M7/6052Synchronisation of encoder and decoder

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

데이터의 일부에 에러가 있는 디지털 오디오 데이터를 복호화할 수 있는 디지털 오디오 데이터의 복호화 방법, 디지털 오디오 데이터의 복호화 장치 및 디지털 오디오 데이터의 복호화 방법을 수행하는 기록매체가 개시된다. 먼저 디지털 오디오 데이터의 제1 패킷의 패킷 동기 위치를 확인하고, 제1 패킷의 패킷 동기 위치에 동기 정보가 존재하지 않는 경우에 제1 패킷의 다음 패킷인 제2 패킷의 패킷 동기 위치에서 동기 정보를 검색한다. 그리고, 동기 정보가 검색되면 패킷 상태 정보를 수정한 후 복호화 과정을 계속 진행한다. 따라서, 데이터의 일부에 에러가 있는 경우에도 에러가 있는 부분을 제외한 부분부터 계속 복호화를 수행하도록 함으로써 디지털 오디오 데이터를 계속 재생할 수 있다.

Description

디지털 오디오 데이터의 복호화 방법, 디지털 오디오 데이터의 복호화 장치 및 디지털 오디오 데이터의 복호화 방법을 수행하는 기록매체{METHOD AND DEVICE FOR DECODIG DIGITAL AUDIO DATA, AND RECODED MEDIUM FOR PERFORMING METHOD OF DECODING DIGITAL AUDIO DATA}
도 1은 일반적인 윈도우 미디어 오디오 파일의 포맷을 나타낸다.
도 2는 종래의 윈도우 미디어 오디오의 복호화 과정을 나타내는 흐름도이다.
도 3은 본 발명의 일실시예에 따른 디지털 오디오 데이터의 복호화 과정을 타나내는 흐름도이다.
도 4는 본 발명의 일실시예에 따른 디지털 오디오 데이터의 복호화 장치를 나타내는 블록도이다.
<도면의 주요 부분에 대한 부호의 설명>
310 : 입력버퍼 320 : 제어부
330 : ASF 헤더 디코더 340 : 패킷/페이로드 헤더 디코더
352 : 허프만 디코더 354 : 역양자화부
356 : IMDCT부 360 : 출력버퍼
본 디지털 오디오 데이터의 복호화 방법, 디지털 오디오 데이터의 복호화 장치 및 디지털 오디오 데이터의 복호화 방법을 수행하는 기록매체에 관한 것으로, 더욱 상세하게는 에러(error)를 포함하는 디지털 오디오 데이터의 재생에 적용할 수 있는 디지털 오디오 데이터의 복호화 방법, 디지털 오디오 데이터의 복호화 장치 및 디지털 오디오 데이터의 복호화 방법을 수행하는 기록매체에 관한 것이다.
최근들어 MP3(MPEG1 Audio Layer-3), Dolby AC-3(Audio Coding-3), Ogg Vorvis, WMA(Window Media Audio, 이하 WMA라 약칭함) 등과 같은 디지털 오디오를 재생할 수 있는 디지털 오디오 전용 기기 또는 디지털 오디오의 재생 기능을 구비한 휴대용 단말기가 급속하게 확산되어 시간과 장소에 상관없이 편리하게 음악을 청취할 수 있게 되었다.
디지털 오디오는 인간의 인지 능력에 기초한 지각 코딩(perceptual coding) 방법을 이용하여 압축함으로써 오디오 품질의 저하를 최소화하면서 파일의 크기를 1/10 이하로 줄일 수 있다는 장점이 있다.
디지털 오디오 중에서 WMA는 마이크로소프트사에서 개발한 오디오 압축 포맷으로서 스트리밍의 지원이 가능하고 MP3와 동등한 오디오 품질을 유지하면서 파일의 용량은 MP3의 절반 정도로 줄일 수 있다는 특징이 있다.
도 1은 일반적인 WMA 파일 또는 WMA 스트림의 포맷을 나타낸다.
도 1을 참조하면, WMA 파일 또는 WMA 스트림은 크게 ASF(Advanced Stream Format) 헤더(10)와 복수의 패킷들(20)로 구성된다. 각각의 패킷은 패킷 헤더(21), 페이로드 헤더(22) 및 페이로드(23)를 포함하여 구성된다. 그리고, 페이로드(23)는 적어도 하나의 프레임을 가지고 있으며, 페이로드(23)에 포함된 프레임의 개수는 가변적이다.
ASF 헤더(10)는 각 패킷의 크기와 같은 WMA 파일을 복호화하기 위해 필요한 정보를 포함한다. 또한, ASF 헤더(10)는 WMA 파일의 재생시간, 가사, 장르, 가수 등과 같은 기본적인 오디오 정보 및 부가 정보를 포함한다.
패킷 헤더(21)는 패킷의 동기(synchronization) 정보와 각 패킷에 포함된 프레임의 개수 정보를 포함한다. 또한, 패킷 헤더(21)는 각 패킷의 상태 정보를 포함한다. 패킷 헤더(21)에 포함된 상태 정보에는 패킷의 현재 위치에 따라 '시작 패킷', '연속 패킷', '종료 패킷' 중에서 어느 하나의 정보가 포함된다.
즉, 임의의 패킷이 WMA 파일 또는 WMA 스트림의 가장 앞에 위치하면 패킷 헤더(21)에 포함된 상태 정보는 '시작 패킷'이 되고, 임의의 패킷이 WMA 파일 또는 WMA 스트림의 가장 뒤에 위치하면 종료 패킷이 된다. 그리고 임의의 패킷이 상기의 패킷들 사이에 위치하면 '연속 패킷'이라는 상태 정보를 가진다.
페이로드 헤더(22)는 오디오 데이터에 대한 압축 정보를 포함한다. 즉, 페이로드 헤더(22)는 페이로드(23)에 대한 엔트로피 및 허프만 관련 정보를 포함한다. 그리고 페이로드(23)는 실제 압축된 오디오 정보를 포함한다.
도 2는 종래의 WMA 파일 또는 WMA 스트림에 대한 복호화 과정을 나타내는 흐름도이다.
도 2를 참조하면, WMA 파일의 복호화는 먼저, ASF 헤더(10)를 디코딩하고(단 계 101), ASF 헤더(10)에 포함된 패킷의 크기를 이용하여 각 패킷의 패킷 헤더(21)에 포함된 패킷 동기(sync.) 위치를 확인한다(단계 103).
이후, 패킷 동기 위치에 패킷의 동기 정보가 존재하는지를 판단한다(단계 105). 패킷 동기 위치에 동기 정보가 존재하는 것으로 판단되면 동기 정보를 포함하는 패킷은 정상적인 패킷임을 의미하므로 패킷 헤더(21)를 디코딩하고(단계 107), 페이로드 헤더(22)를 디코딩 한다(단계 109).
그리고, 패킷 헤더(21) 및 페이로드 헤더(22)를 디코딩하여 얻은 정보를 기초로 페이로드(23)를 디코딩한다(단계 111). 페이로드 디코딩은 허프만 디코딩, 역양자화 및 역이산여현변환(IMDCT :Inverse Modified Discrete Cosine Transform, 이하 IMDCT라 약칭함)을 포함한다.
그리고, IMDCT 처리 과정이 끝난 데이터는 샘플당 소정 비트를 가지는 PCM 데이터로 재생 된다(단계 113).
다음으로 WMA 파일이 모두 복호화 되었는지를 판단하고(단계 115), 모든 파일이 복호화된 것으로 판단되면 WMA 파일의 복호화 과정을 종료하고, 파일이 모두 복호화되지 않은 것으로 판단되면, 단계 103으로 되돌아가서 이후의 단계들을 순차적으로 반복함으로써, 다음 패킷에 대한 복호화 과정을 수행한다.
단계 105에서 판단 결과, 패킷 동기 위치에 동기 정보가 존재하지 않는 것으로 판단되면 패킷이 손상되었거나 손실되었음을 의미하므로 더 이상 복호화 과정을 수행하지 않고 WMA 파일에 대한 복호화 과정을 종료한다.
도 2에 도시한 바와 같이 종래의 WMA 복호화 과정에서는 각각의 패킷에 포함 된 패킷 헤더의 패킷 동기 위치에 동기 정보가 존재하지 않거나, 동기 정보의 일부에 에러가 발생한 경우에는 상기와 같은 에러를 포함한 패킷부터 복호화 과정을 수행하지 않고 복호화 과정이 강제 종료되기 때문에 이후의 정상적인 패킷들 까지도 재생되지 않는다는 단점이 있다.
또한, 패킷 헤더에 포함된 동기 정보는 정상이지만 페이로드의 일부가 제거된 경우에도 페이로드의 크기 변동으로 인해 다음 패킷의 패킷 동기 위치까지 변경되기 때문에 동기 정보가 존재하지 않는 것으로 판단되어 에러가 발생한 패킷의 이후에 존재하는 패킷은 정상적인 패킷이라 하더라도 복호화 과정이 강제로 종료되는 문제가 있다.
예를 들어, 전체 재생 시간이 5분인 WMA 파일을 30초 복호화한 후에 상기와 같은 에러가 발생하였다면 이후의 약 4분 30초에 해당하는 패킷들은 정상적인 패킷이라 하더라도 30초 정도에서 WMA 파일의 복호화 과정이 강제 종료 되기 때문에 사용자로 하여금 사용상의 불만을 유발할 수 있다.
따라서, 본 발명의 목적은 데이터의 일부에 에러가 있는 디지털 오디오 데이터를 복호화할 수 있는 디지털 오디오 데이터의 복호화 방법을 제공하는 것이다.
또한, 본 발명의 다른 목적은 상기 디지털 오디오 데이터의 복호화 방법을 수행하는 복호화 장치를 제공하는 것이다.
또한, 본 발명의 또 다른 목적은 상기 디지털 오디오 데이터의 복호화 장치에 의해 판독될 수 있는 상기 디지털 오디오 데이터의 복호화 방법이 기록된 기록 매체를 제공하는 것이다.
상술한 본 발명의 목적을 달성하기 위한 본 발명의 일측면에 따른 디지털 오디오 데이터의 복호화 방법은 디지털 오디오 데이터의 제1 패킷의 패킷 동기 위치를 확인하는 단계와, 상기 제1 패킷의 패킷 동기 위치에 동기 정보가 존재하지 않는 경우에 상기 제1 패킷의 다음 패킷인 제2 패킷의 패킷 동기 위치에서 상기 동기 정보를 검색하는 단계와, 상기 동기 정보를 검색하는 단계에서 상기 동기 정보가 검색되면 패킷 상태 정보를 수정하는 단계를 포함한다. 상기 동기 정보를 검색하는 단계는 상기 동기 정보가 검색되지 않는 경우 상기 동기 정보를 바이트 단위로 기설정된 동기 정보와 비교하여 상기 동기 정보를 검색하는 단계를 포함할 수 있다. 상기 바이트 단위로 기설정된 동기 정보와 비교하여 동기 정보와 비교하여 상기 동기 정보를 검색하는 단계는 비교된 상기 바이트를 카운트하는 단계 및 상기 카운트 값과 패킷의 크기를 비교하는 단계를 포함할 수 있다. 상기 카운트 값과 패킷의 크기를 비교하는 단계는 상기 카운트 값이 상기 패킷의 크기보다 크면 에러 메시지를 표시한 후 상기 디지털 오디오 데이터의 복호화를 종료할 수 있다. 상기 패킷 동기 위치는 ASF(Advanced Stream Format) 헤더를 디코딩한 후 상기 ASF 헤더에 포함된 패킷의 크기를 이용하여 상기 패킷 동기 위치를 확인할 수 있다. 상기 패킷 동기 위치를 확인하는 단계는 상기 패킷 동기 위치에 상기 동기 정보가 존재하는 경우 상기 디지털 오디오 데이터의 패킷 헤더 및 페이로드 헤더를 디코딩하는 단계와, 상기 디지털 오디오 데이터의 페이로드를 디코딩하는 단계 및 PCM(Pulse Code Modulation) 데이터를 재생하는 단계를 포함할 수 있다. 상기 패킷 상태 정보를 수정하는 단계는 패킷 헤더에 포함된 패킷 상태를 '연속 패킷'에서 '시작 패킷'으로 수정할 수 있다. 상기 패킷 상태 정보를 수정하는 단계는 상기 디지털 오디오 데이터의 패킷 헤더 및 페이로드 헤더를 디코딩하는 단계와, 상기 디지털 오디오 데이터의 페이로드를 디코딩하는 단계 및 PCM(Pulse Code Modulation) 데이터를 재생하는 단계를 포함할 수 있다. 상기 디지털 오디오 데이터는 윈도우 미디어 오디오(Window Media Audio)에 의해 부호화된 데이터가 될 수 있다.
또한, 본 발명의 다른 목적을 달성하기 위한 본 발명의 일측면에 따른 디지털 오디오 데이터의 복호화 장치는 디지털 오디오 데이터의 제1 패킷의 패킷 동기 위치에 동기 정보가 존재하지 않는 경우에 상기 제1 패킷의 다음 패킷인 제2 패킷의 패킷 동기 위치에서 상기 동기 정보를 검색하고 상기 동기 정보가 검색되면 패킷 상태 정보를 수정하는 제어부와, 상기 제어부에서 제공된 제1 디코딩 제어신호에 기초하여 상기 디지털 오디오의 ASF 헤더를 디코딩하는 ASF 헤더 디코더와, 상기 제어부의 제2 디코딩 제어신호에 기초하여 상기 디지털 오디오의 패킷 헤더 및 페이로드 헤더를 디코딩하는 패킷/페이로드 헤더 디코더 및 상기 제어부의 제어신호에 기초하여 상기 디지털 오디오의 페이로드를 디코딩하는 페이로드 처리부를 포함한다.
또한, 본 발명의 또 다른 목적을 달성하기 위한 본 발명의 일측면에 따른 디지털 오디오 데이터의 복호화 방법이 기록된 기록매체는 디지털 오디오 데이터의 제1 패킷의 패킷 동기 위치를 확인하는 단계와, 상기 제1 패킷의 패킷 동기 위치에 동기 정보가 존재하지 않는 경우에 상기 제1 패킷의 다음 패킷인 제2 패킷의 패킷 동기 위치에서 상기 동기 정보를 검색하는 단계 및 상기 동기 정보를 검색하는 단계에서 상기 동기 정보가 검색되면 패킷 상태 정보를 수정하는 단계를 수행하는 프로그램을 포함한다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다.
그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 이하, 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
그리고, 제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
이하에서, 디지털 오디오라 함은 WMA 스텐다드 버전, WMA 프로페셔널 버전, MP3, Dolby AC-3, 및 Ogg Vorvis를 모두 포함하는 개념이다.
도 3은 본 발명의 일실시예에 따른 디지털 오디오 데이터의 복호화 과정을 타나내는 흐름도이다. 도 3에서 디지털 오디오는 예를 들어 저장수단에 저장된 WMA 파일 또는 통신망을 통해 전송되는 WMA 스트림이 될 수 있다. 그리고 WMA 파일 또는 WMA 스트림은 동일한 크기를 가지는 복수의 패킷을 포함하고, 도 1에 도시한 바와 동일한 포맷을 가진다고 가정한다.
도 3을 참조하면, 본 발명의 일실시예에 따른 디지털 오디오 데이터의 복호화 과정은 먼저, ASF 헤더를 디코딩하고(단계 201), ASF 헤더에 포함된 패킷의 크기를 이용하여 패킷 헤더에 포함된 패킷 동기 위치를 확인한다(단계 203).
즉, 디지털 오디오 파일에 포함된 모든 패킷은 동일한 크기를 가지기 때문에 ASF 헤더에서 추출한 패킷의 크기를 이용하여 각 패킷을 구분하고, 각 패킷의 패킷 헤더에 포함된 패킷 동기 위치를 확인할 수 있다. 동기 정보는 특정 값을 가지며 실질적으로 7 바이트로 구성될 수 있다.
이후, 패킷 동기 위치에 동기 정보가 존재하는지를 판단한다(단계 205). 패킷 동기 위치에 동기 정보가 존재하는 것으로 판단되면 동기 정보를 포함하는 패킷은 정상적인 패킷임을 의미하므로 패킷 헤더를 디코딩하고(단계 207), 페이로드 헤더를 디코딩 한다(단계 209).
그리고, 패킷 헤더 및 페이로드 헤더를 디코딩하여 얻은 정보를 기초로 페이로드를 디코딩한다(단계 211). 페이로드 디코딩은 허프만 디코딩, 역양자화, IMDCT를 포함한다.
그리고, IMDCT 처리 과정이 끝난 데이터는 샘플당 소정 비트를 가지는 PCM 데이터로 재생 된다(단계 213). 예를 들어 IMDCT 처리 과정이 끝난 데이터는 샘플당 16 비트를 가지는 PCM 데이터로 재생될 수 있다.
다음으로 디지털 오디오 파일이 모두 복호화되었는지를 판단하고(단계 215), 파일이 모두 복호화된 것으로 판단되면 디지털 오디오 파일의 복호화 과정을 종료하고, 파일 복호화가 모두 수행되지 않은 것으로 판단되면, 단계 203으로 되돌아가서 이후의 단계들을 순차적으로 반복함으로써, 다음 패킷에 대한 복호화 과정을 수행한다.
단계 215에서는 각 패킷의 패킷 헤더에 포함된 패킷의 상태 정보를 기초로 모든 파일의 복호화가 종료되었는지를 판단한다. 즉, 각 패킷의 패킷 헤더에는 '시작 패킷', '연속 패킷', '종료 패킷'과 같은 패킷의 상태 정보가 포함되고, 패킷 헤더에 '종료 패킷'이라는 정보가 포함되면 현재 패킷이 디지털 오디오 파일의 마지막 패킷임을 의미한다.
단계 205에서 판단 결과, 패킷 동기 위치에 동기 정보가 존재하지 않는 것으로 판단되면 현재의 패킷이 손상되었거나 손실되었음을 의미하므로 다음 패킷으로 이동한다(단계 217). 즉, ASF 헤더에 포함된 패킷의 크기를 이용하여 현재의 위치에서 패킷의 크기 만큼 다음 패킷의 패킷 동기 위치로 이동한다.
그리고, 이동한 패킷의 패킷 동기 위치에 동기 정보가 존재하는가를 판단하고(단계 219), 동기 정보가 존재하는 것으로 판단되면 동기 정보를 포함한 현재의 패킷은 정상적인 패킷을 의미하므로 패킷 헤더에 포함된 패킷의 상태 정보를 '연속 패킷'에서 '시작 패킷'으로 수정한다(단계 221).
즉, 디지털 오디오 파일 또는 디지털 오디오 스트림은 제일 앞에 위치한 시작 패킷과 제일 마지막에 위치한 종료 패킷을 포함하고, 시작 패킷과 종료 패킷 사이에는 연속 패킷들이 순차적으로 포함되어 있고 각 패킷의 패킷 헤더에는 상기와 같은 패킷의 상태를 나타내는 정보가 포함된다.
디지털 오디오 파일을 구성하는 각 패킷에 이상이 없는 경우에는 각 패킷의 패킷 헤더에 포함된 패킷의 상태 정보를 이용하여 순차적으로 복호화를 수행하나 패킷에 이상이 발생하면 각 패킷 간의 연속성이 사라지게 되어 복호화가 중단되게 된다.
그러므로, 본 발명의 실시예에서는 패킷에 이상이 발생하여 패킷 간의 연속성이 제거된 경우에 이상이 발생한 다음 패킷의 패킷 상태 정보를 '시작 패킷'으로 수정하여 이전의 이상이 발생한 패킷과 독립적으로 이상이 없는 패킷부터 새롭게 복호화가 수행될 수 있도록 한다.
단계 219에서 동기 정보가 존재하지 않는 것으로 판단되면, 이는 동기 정보에 에러가 발생한 것이 아니고 패킷의 페이로드 부분이 손실되었거나 임으로 제거되어 각 패킷의 위치가 전체적으로 변동된 것을 의미한다.
따라서, 변동된 패킷의 동기 정보를 찾기 위해 바이트 단위로 동기 정보를 기설정된 동기 정보와 비교함으로써 동기 정보를 검색하고(단계 223), 하나의 바이트가 비교될 때마다 카운트값을 증가시킨다(단계 225).
그리고, 카운트 값을 패킷의 크기와 비교하여(단계 227), 카운트 값이 패킷 의 크기보다 큰 것으로 판단되면 두 개의 패킷만큼 에러가 발생한 것을 의미하므로 이에 상응하는 에러 처리를 수행하게 된다(단계 229).
단계 229의 에러 처리는 예를 들어 디스플레이(미도시)를 통해 에러 메시지를 표시함으로써 사용자에게 에러가 발생하였음을 통지하는 일련의 과정이 될 수 있다.
단계 227에서 판단 결과 카운트 값이 패킷의 크기보다 작은 것으로 판단되면 단계 219로 되돌아가서 이후의 단계를 순차적으로 수행한다.
단계 223에서 아무런 제한 없이 바이트 단위의 동기 정보 비교를 계속하게 되면 동기 정보 검색 시간만큼 사용자가 대기해야 하는 단점이 있다. 따라서 본 발명의 일실시예에서는 상기와 같은 단점을 극복하기 위해 바이트 단위의 동기 정보 검색을 패킷의 크기 만큼만 반복하여 수행한다.
그리고, 상기와 같이 패킷의 크기 만큼 반복하여 동기 정보 검색 과정을 수행한 이후에도 동기 정보가 존재하지 않는 것으로 판단되면 적어도 두 개의 패킷 크기 만큼 디지털 오디오 파일 또는 디지털 오디오 스트림에 에러가 발생한 것을 의미하므로 이후의 패킷들에서도 에러가 발생하였다고 판단하고 에러 처리를 수행한 후 복호화 과정을 종료한다.
도 4는 본 발명의 일실시예에 따른 디지털 오디오 데이터의 복호화 장치를 나타내는 블록도이다.
도 4를 참조하면 본 발명의 일실시예에 따른 디지털 오디오 데이터의 복호화 장치는 입력버퍼(310), 제어부(320), ASF 헤더 디코더(330), 패킷/페이로드 헤더 디코더(340), 페이로드 처리부(350), 출력버퍼(360)를 포함하여 구성된다. 페이로드 처리부(350)는 허프만 디코더(352), 역양자화부(354), IMDCT부(356)를 포함한다.
입력버퍼(310)는 저장장치(미도시)에 저장된 디지털 오디오 파일의 일부 데이터가 일시적으로 저장된다. 또는 입력버퍼(310)는 통신망을 통해 전송되는 디지털 오디오 파일의 스트림 중 일부 데이터가 저장될 수 있다.
제어부(320)는 디지털 오디오 파일을 복호화하기 위해 입력버퍼(310)에 저장된 디지털 오디오 데이터를 ASF 헤더 디코더(330), 패킷/페이로드 헤더 디코더(340) 및 허프만 디코더(352)에 제공한다.
또한, 제어부(320)는 ASF 헤더 디코더(330)에 ASF 헤더 디코딩 제어신호(dec_asf)를 제공하여 ASF 헤더가 디코딩되도록 하고, 패킷/페이로드 헤더 디코더(340)에 패킷 헤더 디코딩 제어신호(dec_pkt) 및 페이로드 헤더 디코딩 제어신호(dec_ply)를 제공하여 패킷 헤더 및 페이로드 헤더가 디코딩되도록 한다.
또한, 제어부(320)는 허프만 디코더(352)에 허프만 코드 디코딩 제어신호(dec_huff)를 전송하여 페이로드가 디코딩 되도록 한다. 그리고, 역양자화부(354) 및 IMDCT부(356)에 각각 역양자화 제어신호(con_iqn) 및 IMDCT 제어신호(con_imd)를 전송함으로써 허프만 디코더(352)에서 디코딩된 데이터가 역양자화되고, 역이산여현변환되도록 한다.
또한, 제어부(320)는 ASF 헤더 디코더(330)에서 디코딩된 헤더 정보를 기초로 각 패킷의 패킷 동기 위치를 확인하고, 패킷 동기 위치에 동기 정보가 존재하는 지를 판단하여 동기 정보가 존재하는 것으로 판단되면 패킷 헤더 디코딩 제어신호(dec_pkt), 페이로드 헤더 디코딩 제어신호(dec_ply), 허프만 코드 디코딩 제어신호(dec_huff), 역양자화 제어신호(con_iqn) 및 IMDCT 제어신호(con_imd)를 발생시킨다.
제어부(320)는 패킷 동기 위치에 동기 정보가 존재하지 않는 것으로 판단되면 패킷의 크기를 기초로 다음 패킷으로 이동하여 동기 정보를 찾는다. 그리고 다음 패킷에도 동기 정보가 존재하지 않는 것으로 판단되면 제어부(320)는 각각의 바이트를 미리 지정된 동기 정보와 비교한다. 그리고, 제어부(320)는 비교한 바이트를 카운트 하여 카운트 값이 패킷의 크기를 초과하면 에러 처리를 수행하고 복호화 과정을 종료한다.
그리고, 제어부(320)는 이동한 다음 패킷에서 동기 정보를 찾게 되면 패킷의 헤더에 포함된 패킷 상태 정보를 '연속 패킷'에서 '시작 패킷'으로 정함으로써 이전의 에러가 발생한 패킷과 독립적으로 이상이 없는 패킷부터 복호화가 수행될 수 있도록 한다.
ASF 헤더 디코더(330)는 제어부(320)로부터 제공된 ASF 헤더 디코딩 제어신호(dec_asf)에 기초하여 디지털 오디오 데이터의 ASF 헤더를 디코딩한다.
패킷/페이로드 헤더 디코더(340)는 제어부(320)로부터 제공된 패킷 헤더 디코딩 제어신호(dec_pkt) 및 페이로드 헤더 디코딩 제어신호(dec_ply)에 기초하여 각 패킷에 포함된 패킷 헤더와 페이로드 헤더를 디코딩한다.
허프만 디코더(352)는 제어부(320)로부터 제공된 허프만 코드 디코딩 제어신 호(dec_huff)에 기초하여 허프만 부호화 테이블을 이용하여 페이로드를 디코딩한다.
역양자화부(354)는 제어부(320)로부터 제공된 역양자화 제어신호(con_iqn)에 기초하여 허프만 디코더(352)에서 출력된 데이터를 역양자화한다.
IMDCT부(356)는 제어부(320)로부터 제공된 IMDCT 제어신호(con_imd)에 기초하여 역양자화부(354)에서 출력된 주파수 영역의 데이터를 시간 영역의 데이터로 변환한다.
출력버퍼(360)는 제어부(320)의 제어에 따라 IMDCT부(356)에서 출력된 데이터가 임시 저장된다. 출력버퍼(360)에 저장된 데이터는 예를 들어 디지털 오디오의 포맷에 적합하도록 재생된 PCM(Pulse Code Modulation) 데이터일 수 있다. 예를 들어 출력버퍼(360)에 저장된 데이터는 PCM 샘플당 16 비트를 가지는 데이터일 수 있다.
상기와 같은 디지털 오디오 데이터의 복호화 방법 및 장치에 따르면, 패킷의 크기를 기초로 패킷의 패킷 동기 위치를 확인하고, 패킷 동기 위치에 동기 정보가 존재하지 않으면 다음 패킷에서 동기 정보를 찾는다. 그리고, 다음 패킷에도 동기 정보가 존재하지 않으면 각각의 바이트를 미리 지정된 동기 정보와 비교하여 동기 정보를 검색한다. 이후, 동기 정보를 찾으면 패킷 헤더의 패킷 상태 정보를 수정하여 동기 정보에 이상이 없는 패킷부터 복호화를 수행하고, 비교한 바이트를 카운트하여 카운트값이 패킷의 크기를 초과하면 에러 처리를 수행하고 복호화 과정을 종 료한다.
따라서, 데이터의 일부에 에러가 있는 경우에도 에러가 있는 부분을 제외한 부분부터 계속 복호화를 수행하도록 함으로써 디지털 오디오 데이터를 계속 재생할 수 있다. 또한 디지털 오디오 데이터에 소정 크기 이상의 에러가 발생한 경우에는 에러 처리를 수행하고 복호화를 종료하여 데이터의 에러로 인해 디지털 오디오의 청취자가 계속 대기하지 않도록 함으로써 사용상의 편리성을 증가시킨다.
이상 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (17)

  1. 디지털 오디오 데이터의 제1 패킷의 패킷 동기 위치를 확인하는 단계;
    상기 제1 패킷의 패킷 동기 위치에 동기 정보가 존재하지 않는 경우에 상기 제1 패킷의 다음 패킷인 제2 패킷의 패킷 동기 위치에서 상기 동기 정보를 검색하는 단계; 및
    상기 동기 정보가 검색되면 상기 제2 패킷의 헤더에 포함된 패킷 상태를 '연속 패킷'에서 '시작 패킷'으로 수정하여 패킷 상태 정보를 수정하는 단계를 포함하는 디지털 오디오 데이터의 복호화 방법.
  2. 제1항에 있어서, 상기 동기 정보가 검색되지 않는 경우에는 상기 동기 정보를 바이트 단위로 기설정된 동기 정보와 비교하여 상기 동기 정보를 검색하는 단계를 더 포함하는 것을 특징으로 하는 디지털 오디오 데이터의 복호화 방법.
  3. 제2항에 있어서, 상기 바이트 단위로 기설정된 동기 정보와 비교하여 동기 정보와 비교하여 상기 동기 정보를 검색하는 단계는
    상기 비교된 바이트를 카운트하는 단계; 및
    상기 카운트 값과 상기 디지털 오디오 데이터의 패킷의 크기를 비교하는 단계를 포함하는 것을 특징으로 하는 디지털 오디오 데이터의 복호화 방법.
  4. 제3항에 있어서,
    상기 카운트 값과 상기 디지털 오디오 데이터의 패킷의 크기를 비교하는 단계는 상기 카운트 값이 상기 디지털 오디오 데이터의 패킷의 크기보다 크면 에러 메시지를 표시한 후 상기 디지털 오디오 데이터의 복호화를 종료하는 것을 특징으로 하는 디지털 오디오 데이터의 복호화 방법.
  5. 제1항에 있어서,
    상기 패킷 동기 위치는 ASF(Advanced Stream Format) 헤더를 디코딩한 후 상기 ASF 헤더에 포함된 패킷의 크기를 이용하여 상기 패킷 동기 위치를 확인하는 것을 특징으로 하는 디지털 오디오 데이터의 복호화 방법.
  6. 제1항에 있어서,
    상기 패킷 동기 위치를 확인하는 단계는
    상기 패킷 동기 위치에 상기 동기 정보가 존재하는 경우 상기 디지털 오디오 데이터의 패킷 헤더 및 페이로드 헤더를 디코딩하는 단계;
    상기 디지털 오디오 데이터의 페이로드를 디코딩하는 단계; 및
    PCM(Pulse Code Modulation) 데이터를 재생하는 단계를 포함하는 것을 특징으로 하는 디지털 오디오 데이터의 복호화 방법.
  7. 삭제
  8. 제1항에 있어서,
    상기 패킷 상태 정보를 수정하는 단계는
    상기 디지털 오디오 데이터의 패킷 헤더 및 페이로드 헤더를 디코딩하는 단계;
    상기 디지털 오디오 데이터의 페이로드를 디코딩하는 단계; 및
    PCM(Pulse Code Modulation) 데이터를 재생하는 단계를 포함하는 것을 특징으로 하는 디지털 오디오 데이터의 복호화 방법.
  9. 제1항에 있어서,
    상기 디지털 오디오 데이터는 윈도우 미디어 오디오(Window Media Audio)에 의해 부호화된 데이터인 것을 특징으로 하는 디지털 오디오 데이터의 복호화 방법.
  10. 디지털 오디오 데이터의 제1 패킷의 패킷 동기 위치에 동기 정보가 존재하지 않는 경우에 상기 제1 패킷의 다음 패킷인 제2 패킷의 패킷 동기 위치에서 상기 동기 정보를 검색하고 상기 동기 정보가 검색되면 상기 디지털 오디오 데이터의 패킷 상태 정보를 수정하는 제어부;
    상기 제어부에서 제공된 제1 디코딩 제어신호에 기초하여 상기 디지털 오디 오의 ASF 헤더를 디코딩하는 ASF 헤더 디코더;
    상기 제어부의 제2 디코딩 제어신호에 기초하여 상기 디지털 오디오의 패킷 헤더 및 페이로드 헤더를 디코딩하는 패킷/페이로드 헤더 디코더; 및
    상기 제어부의 제어신호에 기초하여 상기 디지털 오디오의 페이로드를 디코딩하는 페이로드 처리부를 포함하는 디지털 오디오 데이터의 복호화 장치.
  11. 제10항에 있어서, 상기 제어부는 상기 제2 패킷의 패킷 동기 위치에서 상기 동기 정보가 검색되지 않는 경우 상기 동기 정보를 바이트 단위로 기설정된 동기 정보와 비교하여 상기 동기 정보를 검색하는 것을 특징으로 하는 디지털 오디오 데이터의 복호화 장치.
  12. 청구항 12은(는) 설정등록료 납부시 포기되었습니다.
    제11항에 있어서,
    상기 제어부는 상기 바이트 단위로 기설정된 동기 정보와 비교하여 동기 정보를 검색하고 비교된 상기 바이트를 카운트하여 상기 카운트 값과 패킷의 크기를 비교하는 것을 특징으로 하는 디지털 오디오 데이터의 복호화 장치.
  13. 청구항 13은(는) 설정등록료 납부시 포기되었습니다.
    제12항에 있어서,
    상기 제어부는 상기 카운트 값과 패킷의 크기를 비교하여 상기 카운트 값이 상기 패킷의 크기보다 크면 에러 메시지를 표시한 후 상기 디지털 오디오 데이터의 복호화를 종료하는 것을 특징으로 하는 디지털 오디오 데이터의 복호화 장치.
  14. 청구항 14은(는) 설정등록료 납부시 포기되었습니다.
    제10항에 있어서,
    상기 제어부는 상기 ASF 헤더에 포함된 패킷의 크기를 이용하여 상기 패킷 동기 위치를 확인하는 것을 특징으로 하는 디지털 오디오 데이터의 복호화 장치.
  15. 제10항에 있어서,
    상기 제어부는 상기 제2 패킷의 패킷 동기 위치에서 상기 동기 정보가 검색되면 상기 패킷 상태 정보를 '연속 패킷'에서 '시작 패킷'으로 수정하는 것을 특징으로 하는 디지털 오디오 데이터의 복호화 장치.
  16. 청구항 16은(는) 설정등록료 납부시 포기되었습니다.
    제10항에 있어서,
    상기 디지털 오디오는 윈도우 미디어 오디오(Window Media Audio)에 의해 부호화된 데이터인 것을 특징으로 하는 디지털 오디오 데이터의 복호화 장치.
  17. 데이터의 일부에 에러가 있는 디지털 오디오 데이터의 복호화를 수행하는 디지털 처리 장치에 의해 실행될 수 있는 명령어의 프로그램이 유형적으로 구현되어 있으며, 상기 디지털 처리 장치에 의해 판독될 수 있는 프로그램을 기록한 기록매체에 있어서,
    디지털 오디오 데이터의 제1 패킷의 패킷 동기 위치를 확인하는 단계;
    상기 제1 패킷의 패킷 동기 위치에 동기 정보가 존재하지 않는 경우에 상기 제1 패킷의 다음 패킷인 제2 패킷의 패킷 동기 위치에서 상기 동기 정보를 검색하는 단계; 및
    상기 동기 정보가 검색되면 상기 제2 패킷의 헤더에 포함된 패킷 상태를 '연속 패킷'에서 '시작 패킷'으로 수정하여 패킷 상태 정보를 수정하는 단계를 수행하는 프로그램을 기록한 기록 매체.
KR1020060072983A 2006-08-02 2006-08-02 디지털 오디오 데이터의 복호화 방법, 디지털 오디오데이터의 복호화 장치 및 디지털 오디오 데이터의 복호화방법을 수행하는 기록매체 KR100844194B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060072983A KR100844194B1 (ko) 2006-08-02 2006-08-02 디지털 오디오 데이터의 복호화 방법, 디지털 오디오데이터의 복호화 장치 및 디지털 오디오 데이터의 복호화방법을 수행하는 기록매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060072983A KR100844194B1 (ko) 2006-08-02 2006-08-02 디지털 오디오 데이터의 복호화 방법, 디지털 오디오데이터의 복호화 장치 및 디지털 오디오 데이터의 복호화방법을 수행하는 기록매체

Publications (2)

Publication Number Publication Date
KR20080012032A KR20080012032A (ko) 2008-02-11
KR100844194B1 true KR100844194B1 (ko) 2008-07-04

Family

ID=39340409

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060072983A KR100844194B1 (ko) 2006-08-02 2006-08-02 디지털 오디오 데이터의 복호화 방법, 디지털 오디오데이터의 복호화 장치 및 디지털 오디오 데이터의 복호화방법을 수행하는 기록매체

Country Status (1)

Country Link
KR (1) KR100844194B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101345531B (zh) * 2008-08-19 2012-12-26 无锡中星微电子有限公司 Ogg格式码流的数据处理方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4755986A (en) 1985-09-13 1988-07-05 Nec Corporation Packet switching system
US5923812A (en) 1994-11-11 1999-07-13 Kabushiki Kaisha Toshiba Apparatus for recording and reproducing packetized data containing selectively recorded identification data
KR20040046649A (ko) * 2002-11-28 2004-06-05 삼성전자주식회사 에러 정정을 위한 부호화 장치 및 방법과 복호화 장치 및방법
KR20050042301A (ko) * 2003-11-01 2005-05-09 엘지전자 주식회사 에러 보정을 이용한 복호화 방법
KR20050052757A (ko) * 2003-12-01 2005-06-07 엘지전자 주식회사 에러 보정을 이용한 복호화 방법
KR20050065898A (ko) * 2003-12-26 2005-06-30 한국전자통신연구원 에러 핸들러를 포함한 디지털 오디오 복호화기 및 디지털오디오 재생기

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4755986A (en) 1985-09-13 1988-07-05 Nec Corporation Packet switching system
US5923812A (en) 1994-11-11 1999-07-13 Kabushiki Kaisha Toshiba Apparatus for recording and reproducing packetized data containing selectively recorded identification data
KR20040046649A (ko) * 2002-11-28 2004-06-05 삼성전자주식회사 에러 정정을 위한 부호화 장치 및 방법과 복호화 장치 및방법
KR20050042301A (ko) * 2003-11-01 2005-05-09 엘지전자 주식회사 에러 보정을 이용한 복호화 방법
KR20050052757A (ko) * 2003-12-01 2005-06-07 엘지전자 주식회사 에러 보정을 이용한 복호화 방법
KR20050065898A (ko) * 2003-12-26 2005-06-30 한국전자통신연구원 에러 핸들러를 포함한 디지털 오디오 복호화기 및 디지털오디오 재생기

Also Published As

Publication number Publication date
KR20080012032A (ko) 2008-02-11

Similar Documents

Publication Publication Date Title
US8190441B2 (en) Playback of compressed media files without quantization gaps
WO2017092340A1 (zh) 一种视频压缩、播放方法以及装置
EP2289245B1 (en) Method and apparatus for generating or cutting or changing a frame based bit stream format file including at least one header section, and a corresponding data structure
US20060107820A1 (en) Sound data encoding apparatus and sound data decoding apparatus
JP2009534696A (ja) 複数のデジタルデータセットを符号化および復号化するための装置および方法
JP2004524776A (ja) Mp3のトリック再生
US7840290B2 (en) Encoded digital audio reproducing apparatus
JP3937788B2 (ja) データ記録方法及び装置、データ再生方法及び装置、データ編集方法及び装置
US7970618B2 (en) Content distribution server for distributing content frame for reproducing music and terminal
JP2003006999A (ja) データ記録媒体、データ記録方法及び装置、並びに、データ伝送方法及び装置
KR100844194B1 (ko) 디지털 오디오 데이터의 복호화 방법, 디지털 오디오데이터의 복호화 장치 및 디지털 오디오 데이터의 복호화방법을 수행하는 기록매체
US20080147218A1 (en) Recording/reproduction apparatus
JP2004093729A (ja) 音楽データの記録装置及び再生装置
US7149159B2 (en) Method and apparatus for editing data streams
US6411226B1 (en) Huffman decoder with reduced memory size
US6832198B1 (en) Split and joint compressed audio with minimum mismatching and distortion
US20050197830A1 (en) Method for calculating a frame in audio decoding
KR20020069255A (ko) 멀티-속도 재생모드에서 압축 데이터의 재생을 위한 재생장치
JPH10106151A (ja) サブ情報の符号化方法、記録媒体、信号再生装置および信号再生方法
KR100424473B1 (ko) 멀티미디어 서비스 제공하는 이동통신 단말기에서의오디오 헤더 파싱방법
JP2000268539A (ja) 可変長圧縮音声データの記録編集方法
KR100826942B1 (ko) 디지털 오디오 데이터의 비트 변환 방법, 이를 수행하는디코더 장치 및 디지털 오디오 데이터의 재생 방법
KR100752874B1 (ko) 오디오 프레임의 복호 제어 방법
JP5191294B2 (ja) 情報処理装置及びプログラム
JP2010123225A (ja) 記録再生装置及び記録再生方法

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: 20130530

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140528

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20150526

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180528

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20190527

Year of fee payment: 12