KR20080010980A - Method and apparatus for encoding/decoding - Google Patents

Method and apparatus for encoding/decoding Download PDF

Info

Publication number
KR20080010980A
KR20080010980A KR1020060071752A KR20060071752A KR20080010980A KR 20080010980 A KR20080010980 A KR 20080010980A KR 1020060071752 A KR1020060071752 A KR 1020060071752A KR 20060071752 A KR20060071752 A KR 20060071752A KR 20080010980 A KR20080010980 A KR 20080010980A
Authority
KR
South Korea
Prior art keywords
data
bit string
alignment
bits
decoding
Prior art date
Application number
KR1020060071752A
Other languages
Korean (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 KR1020060071752A priority Critical patent/KR20080010980A/en
Priority to CN200680039336.2A priority patent/CN101292428B/en
Priority to US12/067,026 priority patent/US20080288263A1/en
Priority to JP2008531014A priority patent/JP2009516402A/en
Priority to EP06843808A priority patent/EP1932239A4/en
Priority to TW095134104A priority patent/TWI330004B/en
Priority to PCT/KR2006/003658 priority patent/WO2007066880A1/en
Publication of KR20080010980A publication Critical patent/KR20080010980A/en
Priority to HK09103506.2A priority patent/HK1125750A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • 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/167Audio streaming, i.e. formatting and decoding of an encoded audio signal representation into a data stream for transmission or storage purposes
    • 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/6011Encoder aspects

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

A method and an apparatus for encoding and decoding are provided to improve the quality of decoded data and the efficiency of data encoding by giving the insertable information to an array bit stream included in a bit stream for aligning the encoded data bit stream. A method for encoding and decoding includes the steps of: encoding data(300); generating the encoded data and a data bit stream which includes encoding information(310); determining the number of array bits by using the number of bits of the generated data bit stream(320); and generating an array bit stream which includes at least one 1 and has the determined number of array bits(330). The number of array bits is the difference between the number of bits of the data bit stream and the number of bits allocated to the data bit stream.

Description

부호화/복호화 방법 및 장치.{Method and apparatus for encoding/decoding}Encoding / decoding method and apparatus. {Method and apparatus for encoding / decoding}

도 1은 본 발명에 따른 부호화 장치의 구성에 대한 일실시예를 나타내는 블록도이다.1 is a block diagram showing an embodiment of a configuration of an encoding apparatus according to the present invention.

도 2는 본 발명에 따른 비트스트림(bitstream)의 데이터 구조에 대한 일실시예를 나타내는 도면이다.2 is a diagram illustrating an embodiment of a data structure of a bitstream according to the present invention.

도 3은 본 발명에 따른 부호화 방법에 대한 일실시예를 나타내는 흐름도이다.3 is a flowchart illustrating an embodiment of an encoding method according to the present invention.

도 4는 본 발명에 따른 복호화 장치의 구성에 대한 일실시예를 나타내는 블록도이다.4 is a block diagram illustrating an embodiment of a configuration of a decoding apparatus according to the present invention.

도 5는 본 발명에 따른 복호화 방법에 대한 일실시예를 나타내는 흐름도이다.5 is a flowchart illustrating an embodiment of a decoding method according to the present invention.

도 6은 멀티채널 오디오 신호의 부호화/복호화 장치의 구성에 대한 일실시예를 간략하게 나타내는 블록도이다.6 is a block diagram schematically illustrating an embodiment of a configuration of an apparatus for encoding / decoding a multichannel audio signal.

도 7은 멀티채널 오디오 신호의 부호화 장치의 구성에 대한 일실시예를 나타내는 블록도이다.7 is a block diagram illustrating an embodiment of a configuration of an apparatus for encoding a multichannel audio signal.

도 8은 멀티채널 오디오 신호의 복호화 장치의 구성에 대한 일실시예를 나타내는 블록도이다.8 is a block diagram illustrating an embodiment of a configuration of an apparatus for decoding a multichannel audio signal.

본 발명은 부호화/복호화 방법 및 장치에 관한 것으로서, 특히 부호화된 데이터와 부호화 정보를 이용해 비트스트림을 생성하고, 상기 비트스트림을 입력받아 데이터를 복호화하는 데이터의 부호화/복호화 방법 및 장치에 관한 것이다.The present invention relates to a method and apparatus for encoding / decoding, and more particularly, to a method and apparatus for encoding / decoding data for generating a bitstream using encoded data and encoded information and receiving the bitstream.

최근, 오디오(audio), 비디오(video), 텍스트(text) 등의 데이터를 통합적으로 취급하는 멀티미디어(multimedia)가 일반화됨에 따라, 상기 오디오(audio), 비디오(video), 텍스트(text) 등의 데이터를 압축 부호화하여 비트스트림(bitstream)으로 전송하고, 비트스트림을 입력받아 오디오, 비디오, 텍스트 등의 데이터를 복호화하여 재생하는 것에 많은 관심이 모아지고 있다.Recently, as multimedia that integrates data such as audio, video, text, and the like, has been generalized, such audio, video, text, and the like have been generalized. There is much interest in compressing and encoding data to be transmitted in a bitstream, receiving a bitstream, and decoding and playing back data such as audio, video, and text.

이하에서는, 종래의 오디오 신호의 부호화 방법을 예로 들어 일반적인 데이터 부호화 방법에 대해 설명하기로 한다.Hereinafter, a general data encoding method will be described by taking a conventional audio signal encoding method as an example.

먼저, 시간 영역의 오디오 신호는 주파수영역의 신호로 변환된다. 시간상으로 인간이 인지하는 신호의 특성의 차이가 그리 크지 않지만, 이렇게 변환된 주파수 영역의 신호들은 인간의 음향심리모델에 따라 각 대역에서 인간이 느낄 수 있는 신호와 느낄 수 없는 신호의 차이가 크기 때문에 각 주파수 대역에 따른 할당되는 비트의 수를 다르게 함으로써 압축의 효율을 높일 수 있다.First, an audio signal in the time domain is converted into a signal in the frequency domain. Although the differences in the characteristics of signals perceived by humans in time are not very large, the signals in the frequency domain thus converted have a large difference between signals that humans can and cannot sense in each band according to human psychoacoustic models. By varying the number of bits allocated to each frequency band, the efficiency of compression can be improved.

상기 주파수 영역의 성분으로 변환된 오디오 신호들에 대해 각 주파수 대역 별로 마스킹현상을 이용해 마스킹 문턱치(masking threshold)를 계산하고, 주파수 대역별 마스킹 문턱치를 이용하여 상기 주파수 대역의 오디오 신호들에 대해 인간이 느끼는 음질의 변화를 최소화하면서 부호화 효율을 높이기 위한 신호 처리를 수행한다.A masking threshold is calculated by using a masking phenomenon for each frequency band of the audio signals converted into components of the frequency domain, and a human mask is applied to the audio signals of the frequency band by using a masking threshold for each frequency band. Signal processing is performed to increase the coding efficiency while minimizing the change in sound quality.

인간이 들어도 느끼지 못하도록 각 대역의 양자화 잡음의 크기가 마스킹 문턱값보다 작도록 각 대역의 주파수 신호들을 스칼라(scalar) 양자화하고, 양자화된 오디오 신호와 부호화 정보를 결합하여 미리 정해진 데이터 구조에 맞추어서 비트스트림을 생성한다.Scalar quantizes the frequency signals of each band so that the quantization noise of each band is smaller than the masking threshold so that humans do not feel it. Create

종래의 방법을 이용하여 데이터를 부호화/복호화하는 경우, 데이터 부호화의 결과물로서 전송되는 비트스트림에 복호화에 필요한 정보를 전혀 포함하지 않은 비트열들이 포함되어 부호화/복호화 효율을 감소시키는 문제가 있었다. 특히, 저비트율로 데이터를 부호화함에 있어 상기와 같은 불필요한 비트열의 삽입은 부호화 효율 및 복호화된 데이터의 품질을 감소시키는 문제가 더욱 크게 나타났다.In the case of encoding / decoding data using the conventional method, there is a problem in that the bitstream transmitted as a result of data encoding includes bit strings that do not contain any information necessary for decoding, thereby reducing encoding / decoding efficiency. In particular, in the case of encoding data at a low bit rate, the insertion of unnecessary bit strings is more problematic in reducing coding efficiency and quality of decoded data.

본 발명이 이루고자 하는 기술적 과제는, 비트스트림이 복호화에 필요한 정보들만이 포함되도록 비트스트림을 생성하여 부호화/복호화 효율을 높일 수 있도록 하는 부호화/복호화 방법 및 장치를 제공하는 것이다.An object of the present invention is to provide an encoding / decoding method and apparatus for generating a bitstream such that the bitstream includes only information necessary for decoding to increase encoding / decoding efficiency.

본 발명이 이루고자 하는 다른 기술적 과제는, 복호화에 필요한 정보들만이 포함되도록 구성된 비트스트림의 데이터 구조를 제공하는 것이다.Another object of the present invention is to provide a data structure of a bitstream configured to include only information necessary for decoding.

상술한 기술적 과제를 해결하기 위한 본 발명에 의한 부호화 방법은, 데이터 를 부호화하는 단계; 상기 부호화된 데이터와 부호화 정보를 포함하는 데이터 비트열을 생성하는 단계; 상기 생성된 데이터 비트열의 비트수를 이용하여 정렬 비트수를 결정하는 단계; 및 상기 결정된 정렬 비트수를 가지며, 적어도 하나의 1을 포함하는 정렬 비트열을 생성하는 단계를 포함하는 것을 특징으로 한다.According to an aspect of the present invention, there is provided an encoding method comprising: encoding data; Generating a data bit string including the encoded data and encoding information; Determining the number of alignment bits using the number of bits of the generated data bit string; And generating an alignment bit string having the determined number of alignment bits and including at least one one.

바람직하게는, 상기 정렬 비트수는 상기 데이터 비트열의 비트수와 상기 데이터 비트열에 할당된 비트수 사이의 차이며, 상기 데이터 비트열에 할당된 비트수는 상기 데이터 비트열의 비트수 이상인 8의 배수들 중 최소값인 것이 바람직하다.Preferably, the number of alignment bits is a difference between the number of bits of the data bit string and the number of bits allocated to the data bit string, and the number of bits assigned to the data bit string is a multiple of eight that is equal to or greater than the number of bits of the data bit string. It is preferable that it is a minimum value.

상기 정렬 비트열은 프레임(frame) 단위로 생성되는 것이 바람직하다. 바람직하게는, 상기 정렬 비트열은 상기 부호화 단계에서 생성된 데이터 중 상기 생성된 데이터 비트열에 포함되지 않은 데이터를 포함한다.The alignment bit string is preferably generated in units of frames. Preferably, the alignment bit string includes data not included in the generated data bit string among data generated in the encoding step.

바람직하게는, 상기 정렬 비트열은 상기 비트열에 대한 정보를 가지는 메타 데이터와 상기 비트열의 복사 방지를 위한 워터 마킹 데이터 중 적어도 하나를 포함하며, 상기 메타 데이터는 상기 비트열에 대응되는 파일명, 제목, 장르, 가사 정보 중 적어도 하나를 포함하는 것이 바람직하다.Preferably, the alignment bit string includes at least one of metadata having information about the bit string and water marking data for copy protection of the bit string, and the metadata includes a file name, title, and genre corresponding to the bit string. It is preferable to include at least one of the lyrics information.

상기 정렬 비트열은 상기 비트열의 전송 오류 확인을 위한 에러 체크 데이터를 포함하는 것이 바람직하며, 상기 정렬 비트열을 생성하는 단계는 상기 결정된 정렬 비트수에 대응되는 에러 체크 데이터를 구하는 단계; 및 상기 구해진 에러 체크 데이터를 이용하여 상기 정렬 비트열을 생성하는 단계를 포함하는 것이 바람직하다.Preferably, the alignment bit string includes error check data for checking transmission error of the bit string, and the generating of the alignment bit string may include obtaining error check data corresponding to the determined number of alignment bits; And generating the alignment bit string using the obtained error check data.

상기 부호화 단계는 멀티채널 오디오 데이터를 다운믹스한 다운믹스 데이터 를 생성하여 부호화하는 단계; 및 상기 멀티채널 오디오 데이터의 공간정보를 산출하여 부호화하는 단계를 포함하는 것이 바람직하다.The encoding may include generating and encoding downmix data obtained by downmixing the multichannel audio data; And calculating and encoding spatial information of the multichannel audio data.

상술한 기술적 과제를 해결하기 위한 본 발명에 의한 복호화 방법은, 상기 비트 스트림으로부터 부호화된 데이터와 부호화 정보를 포함하는 데이터 비트열을 추출하는 단계; 상기 추출된 데이터 비트열을 이용하여 정렬 비트수를 결정하는 단계; 상기 비트 스트림으로부터 상기 결정된 정렬 비트수를 가지는 정렬 비트열을 추출하는 단계; 및 상기 추출된 데이터 비트열과 정렬 비트열을 이용하여 데이터를 복호화하는 단계를 포함하는 것을 특징으로 한다.According to an aspect of the present invention, there is provided a decoding method comprising: extracting a data bit string including encoded data and encoded information from the bit stream; Determining the number of alignment bits using the extracted data bit stream; Extracting an alignment bit string having the determined number of alignment bits from the bit stream; And decoding the data by using the extracted data bit stream and the alignment bit stream.

바람직하게는, 상기 정렬 비트수는 상기 데이터 비트열의 비트수와 상기 데이터 비트열에 할당된 비트수 사이의 차이며, 상기 데이터 비트열에 할당된 비트수는 상기 데이터 비트열의 비트수 이상인 8의 배수들 중 최소값인 것이 바람직하다.Preferably, the number of alignment bits is a difference between the number of bits of the data bit string and the number of bits allocated to the data bit string, and the number of bits assigned to the data bit string is a multiple of eight that is equal to or greater than the number of bits of the data bit string. It is preferable that it is a minimum value.

상기 복호화 단계는 상기 데이터 비트열에 상기 정렬 비트열을 추가하여 상기 데이터를 복호화하는 것이 바람직하다.In the decoding step, it is preferable to add the alignment bit string to the data bit string to decode the data.

바람직하게는, 상기 복호화 단계는 상기 추출된 데이터 비트열을 이용하여 데이터를 복호화하는 단계; 및 상기 추출된 정렬 비트열로부터 상기 복호화된 데이터에 대한 정보를 가지는 메타 데이터와 상기 데이터의 복사 방지를 위한 워터 마킹 데이터 중 적어도 하나를 복호화하는 단계를 포함한다. 상기 메타 데이터는 상기 복호화된 데이터에 대응되는 파일명, 제목, 장르, 가사 정보 중 적어도 하나를 포함하는 것이 바람직하다.Advantageously, said decoding step comprises: decoding data using said extracted data bit stream; And decoding at least one of metadata having information about the decoded data and watermarking data for copy protection of the data from the extracted alignment bit string. The metadata may preferably include at least one of a file name, a title, a genre, and lyrics information corresponding to the decoded data.

바람직하게는, 상기 메타 데이터와 워터 마킹 데이터 중 적어도 하나를 복호 화하는 단계는 이전 프레임의 비트 스트림으로부터 추출된 정렬 비트열과 상기 추출된 정렬 비트열을 합하는 단계; 및 상기 합해진 정렬 비트열을 이용하여 상기 메타 데이터와 워터 마킹 데이터 중 적어도 하나를 복호화하는 단계를 포함한다.Advantageously, decoding said at least one of said metadata and watermarking data comprises: summing said extracted bitstream and said alignment bitstream extracted from a bit stream of a previous frame; And decoding at least one of the meta data and the water marking data using the combined alignment bit string.

상기 복호화 단계는 상기 추출된 데이터 비트열을 이용하여 데이터를 복호화하는 단계; 및 상기 추출된 정렬 비트열의 에러 체크 데이터를 이용하여 상기 비트 스트림의 전송 오류 여부를 확인하는 단계를 포함하는 것이 바람직하다.The decoding step may include: decoding data using the extracted data bit string; And checking whether the bit stream has a transmission error by using the error check data of the extracted alignment bit string.

바람직하게는, 상기 전송 오류 여부를 확인하는 단계는 상기 결정된 정렬 비트수에 대응되는 에러 체크 데이터를 구하는 단계; 및 상기 추출된 정렬 비트열의 에러 체크 데이터와 상기 구해진 에러 체크 데이터를 비교하여, 상기 2개의 에러 체크 데이터가 일치하지 않는 경우 상기 비트 스트림 전송에 오류가 있는 것으로 판단하는 단계를 포함한다.Preferably, the step of checking whether there is a transmission error comprises: obtaining error check data corresponding to the determined number of alignment bits; And comparing the error check data of the extracted alignment bit string with the obtained error check data, and determining that there is an error in the bit stream transmission when the two error check data do not match.

상기 데이터를 복호화하는 단계는 상기 데이터 비트열에 포함된 다운믹스 데이터와 공간 정보를 복호화하는 단계; 및 상기 복호화된 다운믹스 데이터와 공간정보를 이용하여 멀티채널 오디오 데이터를 생성하는 단계를 포함하는 것이 바람직하다.The decoding of the data may include decoding downmix data and spatial information included in the data bit stream; And generating multi-channel audio data using the decoded downmix data and spatial information.

상술한 기술적 과제를 해결하기 위한 본 발명에 의한 부호화 장치는, 데이터를 부호화하는 부호화부; 및 상기 부호화된 데이터를 이용하여 비트스트림을 생성하는 비트스트림생성부를 포함하고, 상기 비트스트림생성부는 상기 부호화된 데이터와 부호화 정보를 포함하는 데이터 비트열을 생성하는 데이터비트열생성부; 상기 생성된 데이터 비트열의 비트수를 이용하여 정렬 비트수를 결정하는 정렬비트수결 정부; 및 상기 결정된 정렬 비트수를 가지며 적어도 하나의 1을 포함하는 정렬 비트열을 생성하는 정렬비트열생성부를 포함하는 것을 특징으로 한다.According to an aspect of the present invention, there is provided an encoding apparatus, including: an encoding unit encoding data; And a bitstream generator configured to generate a bitstream using the encoded data, wherein the bitstream generator comprises a data bitstream generator configured to generate a data bitstream including the encoded data and encoded information; An alignment bit correction unit for determining an alignment bit number using the number of bits of the generated data bit string; And an alignment bit string generator for generating an alignment bit string having the determined number of alignment bits and including at least one one.

바람직하게는, 상기 부호화부는 멀티채널 오디오 데이터를 다운믹스하여 다운믹스 데이터를 생성하는 다운믹스부; 상기 다운믹스 데이터를 부호화하는 코아인코더; 상기 멀티채널 오디오 데이터의 공간정보를 산출하는 공간정보 생성부; 및 상기 공간정보를 부호화하는 파라미터 인코더를 포함한다.Preferably, the encoder comprises a downmix unit for downmixing multi-channel audio data to generate downmix data; A core encoder for encoding the downmix data; A spatial information generator for calculating spatial information of the multichannel audio data; And a parameter encoder for encoding the spatial information.

상술한 기술적 과제를 해결하기 위한 본 발명에 의한 복호화 장치는, 상기 비트 스트림으로부터 부호화된 데이터와 부호화 정보를 포함하는 데이터 비트열을 추출하는 데이터비트열추출부; 상기 추출된 데이터 비트열을 이용하여 정렬 비트수를 결정하는 정렬비트수결정부; 상기 비트 스트림으로부터 상기 결정된 정렬 비트수를 가지는 정렬 비트열을 추출하는 정렬비트열추출부; 및 상기 추출된 데이터 비트열과 정렬 비트열을 이용하여 데이터를 복호화하는 복호화부를 포함하는 것을 특징으로 한다.According to another aspect of the present invention, there is provided a decoding apparatus comprising: a data bit string extracting unit configured to extract a data bit string including encoded data and encoded information from the bit stream; An alignment bit number determination unit that determines the number of alignment bits using the extracted data bit string; An alignment bit string extracting unit for extracting an alignment bit string having the determined number of alignment bits from the bit stream; And a decoder which decodes data by using the extracted data bit string and the alignment bit string.

바람직하게는, 상기 복호화부는 상기 데이터비트열에 포함된 부호화된 다운믹스 데이터를 복호화하는 코아 디코더; 상기 데이터비트열에 포함된 부호화된 공간 정보를 복호화하는 파라미터 디코더; 및 상기 복호화된 다운믹스 데이터와 공간 정보를 이용하여 멀티채널 오디오 데이터를 생성하는 멀티채널 합성부를 포함한다.Preferably, the decoding unit includes a core decoder for decoding the coded downmix data included in the data bit stream; A parameter decoder for decoding the encoded spatial information included in the data bit stream; And a multichannel synthesizer configured to generate multichannel audio data using the decoded downmix data and spatial information.

상술한 기술적 과제를 해결하기 위한 본 발명에 의한 비트 스트림 데이터 구조는, 상기 부호화된 데이터와 부호화 정보를 프레임(frame) 단위로 포함하는 프레임데이터필드; 및 상기 프레임데이터필드의 비트수 이상인 8의 배수들 중 최소값과 상기 프레임데이터필드의 비트수의 차에 해당하는 비트수를 가지며, 적어도 하나의 1을 포함하는 바이트정렬필드를 포함하는 것을 특징으로 한다.According to an aspect of the present invention, there is provided a bit stream data structure including: a frame data field including the encoded data and encoded information in units of frames; And a byte alignment field having a bit number corresponding to a difference between a minimum value of multiples of 8 that is greater than or equal to the number of bits of the frame data field and the number of bits of the frame data field, and including at least one 1. .

상기 부호화/복호화 방법은 바람직하게는 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체로 구현할 수 있다.The encoding / decoding method may be embodied as a computer-readable recording medium recording a program for execution on a computer.

이하, 첨부된 도면을 참조하면서 본 발명에 따른 부호화/복호화 방법 및 장치에 대해 상세히 설명한다.Hereinafter, a method and apparatus for encoding / decoding according to the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명에 따른 부호화 장치의 구성에 대한 일실시예를 블록도로 도시한 것으로, 도시된 부호화 장치는 부호화부(100) 및 비트스트림생성부(110)를 포함하며, 비트스트림생성부(110)는 데이터비트열생성부(120), 정렬비트수결정부(130) 및 정렬비트열생성부(140)를 포함하여 이루어진다. 도 1에 도시된 부호화 장치의 동작을 도 3의 본 발명에 따른 부호화 방법을 나타내는 흐름도와 결부시켜 설명하기로 한다.1 is a block diagram illustrating an embodiment of a configuration of an encoding apparatus according to the present invention. The illustrated encoding apparatus includes an encoding unit 100 and a bitstream generator 110, and includes a bitstream generator ( 110 includes a data bit string generation unit 120, an alignment bit number determination unit 130, and an alignment bit string generation unit 140. The operation of the encoding apparatus shown in FIG. 1 will be described in conjunction with a flowchart illustrating an encoding method according to the present invention of FIG. 3.

부호화부(100)는 부호화하고자하는 데이터에 대해 소정의 부호화 작업을 수행하여 데이터를 부호화한다(300단계). 상기 데이터는 오디오(audio), 비디오(video), 텍스트(text) 등 압축이 가능한 모든 데이터를 포함한다. 또한, 상기 부호화 단계에서는 모든 데이터 압축 방법이 사용 가능하며, 상기 부호화 단계(300단계)에서 수행가능한 부호화 작업에 대한 일실시예로 MPEG Surround SAC(Spatial Audio Coding) 부호화가 사용될 수 있다.The encoder 100 encodes the data by performing a predetermined encoding operation on the data to be encoded (step 300). The data includes all data that can be compressed, such as audio, video, and text. In addition, all data compression methods may be used in the encoding step, and MPEG Surround SAC (Spatial Audio Coding) encoding may be used as an embodiment of the encoding operation that may be performed in the encoding step (step 300).

비트스트림생성부(110)는 상기 부호화된 데이터 및 부호화 정보를 이용하여 비트스트림을 생성한다.The bitstream generator 110 generates a bitstream using the encoded data and the encoded information.

구체적으로 비트스트림생성부(110)의 동작을 살펴보면, 데이터비트열생성부(120)는 상기 부호화된 데이터 및 부호화 정보를 포함하는 데이터비트열을 생성한다(310단계). Specifically, referring to the operation of the bitstream generator 110, the databit string generator 120 generates a databit string including the encoded data and encoded information (S310).

도 2는 본 발명에 따른 비트스트림(bitstream)의 데이터 구조에 대한 일실시예를 도시한 것으로, 상기 비트스트림은 복호화가 가능한 최소의 단위인 프레임을 비트열 상에 연속적으로 이어 붙인 형태를 가진다. 비트스트림 상에서, 각각의 프레임에 해당되는 비트열은 특정 비트 단위, 바람직하게는 바이트(byte) 단위로 정렬된다. 따라서 하나의 프레임에 대해 부호화된 데이터 및 부호화 정보를 포함하는 데이터비트열의 비트수가 상기 특정 비트 단위, 바람직하게는 바이트(byte, 8bit) 단위의 배수가 아닌 경우, 다음 프레임의 시작점을 상기 특정 비트 단위로 맞추기 위해 정렬비트열이 비트스트림에 포함된다.2 illustrates an embodiment of a data structure of a bitstream according to the present invention, wherein the bitstream has a form in which a frame, which is a minimum unit that can be decoded, is successively pasted onto a bit string. On the bitstream, the bit strings corresponding to each frame are arranged in specific bit units, preferably in byte units. Therefore, when the number of bits of the data bit string including the encoded data and the encoding information for one frame is not a multiple of the specific bit unit, preferably byte, 8 bit, the start point of the next frame is determined by the specific bit unit. An alignment bit string is included in the bitstream to match the bit rate.

정렬비트수결정부(130)는 상기 생성된 데이터비트열의 비트수를 이용하여 정렬비트열의 비트수를 결정한다(320단계). 정렬비트수결정부(130)는 상기 데이터비트열에 할당된 비트수와 상기 데이터비트열의 비트수 사이의 차를 상기 정렬비트열의 비트수로 결정하는 것이 바람직하다.The alignment bit number determination unit 130 determines the number of bits of the alignment bit string by using the generated bits of the data bit string (step 320). The alignment bit number determination unit 130 preferably determines the difference between the number of bits allocated to the data bit string and the number of bits of the data bit string as the number of bits of the alignment bit string.

비트스트림이 각 프레임에 대한 비트열 이전에 config 데이터를 포함하는 경우, 상기 config 데이터 이후에도 상기와 같은 방법을 결정된 비트수를 가지는 정렬비트열이 포함될 수 있다.When the bitstream includes config data before the bit string for each frame, the alignment bit string having the number of bits determined by the above method may be included after the config data.

도 2를 참조하면, 프레임 n과 프레임(n+2)의 경우와 같이. 프레임 단위의 데이터비트열의 비트수가 상기 특정 비트 단위, 바람직하게는 8bit의 배수가 아닌 경 우에는, 상기 데이터비트열의 비트수 이상인 8의 배수들 중 최소값과 상기 데이터비트열의 비트수 사이의 차에 해당하는 비트수를 가지는 정렬비트열이 비트스트림에 포함된다. 예를 들어 프레임 n에 대응되는 데이터비트열의 비트수가 27bit인 경우, 27 이상의 8의 배수 중 최소값인 32와 상기 27 사이의 차인 5bit의 정렬비트열이 상기 데이터비트열에 연속하여 전송된다.Referring to Figure 2, as in the case of frame n and frame (n + 2). If the number of bits of the data bit string in the frame unit is not a multiple of the specific bit unit, preferably 8 bits, it corresponds to the difference between the minimum value of multiples of 8 that is greater than or equal to the bit number of the data bit string and the number of bits of the data bit string An alignment bit string having a number of bits to be included is included in the bitstream. For example, when the number of bits of the data bit string corresponding to frame n is 27 bits, an alignment bit string of 5 bits, which is a difference between 32, which is the minimum value of multiples of 8 and 27, and 27 is sequentially transmitted to the data bit string.

또한, 프레임 (n+1)과 같이, 프레임 단위의 데이터비트열의 비트수가 상기 특정 비트 단위, 바람직하게는 8bit의 배수인 경우에는 정렬비트열이 비트스트림에 포함되지 아니한다.Further, as in the frame (n + 1), when the number of bits of the data bit string in the frame unit is a multiple of the specific bit unit, preferably 8 bits, the alignment bit string is not included in the bit stream.

정렬비트열생성부(140) 320단계에서 결정된 비트수를 가지는 정렬비트열을 생성한다(330단계). 상기 정렬비트열은 적어도 하나의 1을 포함하는 것이 바람직하며, 복호화에 필요한 정보들을 포함하고 있는 것이 바람직하다. The alignment bit string generation unit 140 generates an alignment bit string having the number of bits determined in operation 320 (operation 330). Preferably, the alignment bit string includes at least one 1 and preferably includes information necessary for decoding.

상기 생성된 데이터비트열과 정렬비트열은 프레임 단위로 연속하여 전송된다(340단계).The generated data bit stream and the alignment bit stream are sequentially transmitted in units of frames (step 340).

이하에서는 상기 정렬비트열에 포함되는 정보에 대한 실시예들에 대해 설명하기로 한다.Hereinafter, embodiments of the information included in the alignment bit string will be described.

각 프레임의 부호화 과정에서 생성되는 정보가 상기 정렬비트열에 포함될 수 있다. 제1 실시예로, 부호화부(100)에서 부호화된 데이터들 중 전송 비트율 등의 제한에 의해 데이터비트열에 포함되지 못한 데이터가 상기 정렬데이터에 포함된다. 바람직하게는, 부호화부(100)에서 부호화된 데이터들 중 데이터비트열에 포함되지 못한 데이터는 저장부(미도시)에 저장되고, 정렬비트수결정부(130)에서 결정된 비 트수가 1 이상인 경우 상기 저장부(미도시)에 저장된 데이터들 중 상기 결정된 정렬비트수로 표현 가능한 데이터가 상기 정렬비트열에 포함된다.Information generated during encoding of each frame may be included in the alignment bit string. In the first embodiment, the alignment data includes data that is not included in the data bit string due to the limitation of the transmission bit rate among the data encoded by the encoder 100. Preferably, data that is not included in the data bit string among the data encoded by the encoder 100 is stored in a storage unit (not shown), and when the number of bits determined by the alignment bit number determination unit 130 is 1 or more, the storage is performed. Among the data stored in a portion (not shown), data that can be expressed by the determined number of alignment bits is included in the alignment bit string.

예컨데, 도 2의 경우, 프레임 n 또는 (n+2)에 대해 부호화부(100)에서 부호화된 데이터 중 데이터비트열에 포함되지 않은 데이터는 이후에 연속하는 정렬비트열의 비트수로 표현가능한 만큼 상기 정렬비트열에 포함되어 전송된다.For example, in FIG. 2, the data that is not included in the data bit string among the data encoded by the encoder 100 with respect to the frame n or (n + 2) is then aligned as much as can be represented by the number of bits of the subsequent alignment bit string. It is included in the bit string and transmitted.

각 프레임의 부호화 과정에서 생성된 정보 이외의 정보가 상기 정렬비트열에 포함될 수도 있다.Information other than the information generated in the encoding process of each frame may be included in the alignment bit string.

제2 실시예로서, 전송하는 비트스트림에 부가 정보, 예를 들어 메타 데이터(meta data) 또는 복사 방지를 위한 워터 마킹 데이터(watermarking data)가 상기 정렬비트열에 포함될 수 있다. 오디오 데이터의 경우, 상기 메타 데이터는 파일명, 제목, 장르, 가사정보 등을 포함하는 것이 바람직하다. 바람직하게는, 현재 전송하고자하려는 비트스트림에 관한 부가정보를 최초프레임 이전 또는 프레임의 진행 도중에 생성하여 저장부(미도시) 저장하고, 정렬비트열의 비트수가 1 이상으로 결정된 프레임이 나타날 경우마다 상기 프레임의 정렬비트열에 순차적으로 삽입하여 전송하는 것이 바람직하다.In a second embodiment, additional information, for example, meta data or watermarking data for copy protection may be included in the alignment bit string in the bitstream to be transmitted. In the case of audio data, the metadata may preferably include a file name, title, genre, lyrics information, and the like. Preferably, the storage unit (not shown) is generated by storing additional information about the bitstream to be transmitted before the first frame or while the frame is in progress, and whenever the frame in which the number of bits of the alignment bit string is determined to be 1 or more appears, the frame is displayed. It is preferable to sequentially insert the data into the alignment bit strings of and transmit the same.

제3 실시예로서, 부호화 장치와 복호화 장치가 미리 약속한 정보, 예를 들어 전송 에러 확인을 위한 에러 체크 데이터가 상기 정렬비트열에 포함될 수 있다. 바람직하게는, 비트수와 에러 체크 데이터를 대응시키는 비트-패턴 테이블을 저장하는 저장부(미도시)를 검색하여 현 프레임의 정렬비트열의 비트수에 대응되는 에러 체크 데이터를 정렬비트열에 포함시킨다. 복호화 장치도 상기 저장부(미도시)에 저 장된 비트-패턴 테이블과 동일한 테이블을 저장하고 있는 것이 바람직하다.As a third embodiment, information previously promised by the encoding apparatus and the decoding apparatus, for example, error check data for checking transmission error, may be included in the alignment bit string. Preferably, the storage unit (not shown) that stores a bit-pattern table that associates the number of bits with the error check data is searched to include error check data corresponding to the number of bits of the alignment bit string of the current frame. The decoding apparatus also preferably stores the same table as the bit-pattern table stored in the storage unit (not shown).

도 4는 본 발명에 따른 복호화 장치의 구성에 대한 일실시예를 블록도로 도시한 것으로, 도시된 복호화 장치는 데이터비트열추출부(400), 정렬비트수결정부(410), 졍렬비트열추출부(420) 및 복호화부(430)를 포함하여 이루어진다. 도 4에 도시된 복호화 장치의 동작을 도 5에 도시된 본 발명에 따른 복호화 방법을 나타내는 흐름도와 결부시켜 설명하기로 한다.4 is a block diagram illustrating an embodiment of a configuration of a decoding apparatus according to the present invention, in which the decoding apparatus includes a data bit string extracting unit 400, an alignment bit number determining unit 410, and a serial bit string extracting unit. 420 and a decoder 430. The operation of the decoding apparatus shown in FIG. 4 will be described in conjunction with a flowchart illustrating a decoding method according to the present invention shown in FIG. 5.

데이터비트열추출부(400)는 입력되는 비트스트림으로부터 데이터비트열을 추출한다(500단계). 정렬비트수결정부(410)는 상기 추출된 데이터비트열의 비트수를 이용하여 정렬비트수를 결정한다(510단계). 510단계에서 정렬비트수를 결정하는 방법은, 도 1 및 도 2를 참조하여 설명한 본 발명에 따른 부호화 장치의 정렬비트수 결정 방법과 동일하므로, 여기서는 생략하기로 한다.The data bit string extractor 400 extracts the data bit string from the input bit stream (step 500). The alignment bit number determination unit 410 determines the number of alignment bits by using the number of bits of the extracted data bit string (step 510). The method of determining the number of alignment bits in step 510 is the same as the method of determining the number of alignment bits of the encoding apparatus according to the present invention described with reference to FIGS. 1 and 2, and thus the description thereof will be omitted.

정렬비트열추출부(420)는 비트스트림으로부터 상기 510단계에서 결정된 비트수를 가지는 정렬비트열을 추출한다(520단계). 복호화부(430)는 상기 추출된 데이터비트열과 정렬비트열을 이용하여 프레임 단위로 데이터를 복호화한다(530단계). 상기 복호화 단계(530단계)에서는 모든 데이터 복호화 방법이 사용 가능하며, 상기 복호화 단계(530단계)에서 수행가능한 복호화 작업에 대한 일실시예로 MPEG Surround SAC(Spatial Audio Coding) 복호화가 바람직하다. 상기 MPEG Surround SAC(Spatial Audio Coding) 복호화에 대해서는 도 6 및 도 8을 참조하여 상세히 설명하기로 한다.The alignment bit string extractor 420 extracts an alignment bit string having the number of bits determined in operation 510 from the bit stream (operation 520). The decoder 430 decodes the data in units of frames by using the extracted data bit string and the alignment bit string (step 530). In the decoding step 530, all data decoding methods are available, and MPEG Surround SAC (Spatial Audio Coding) decoding is preferable as an embodiment of the decoding operation that can be performed in the decoding step 530. The MPEG Surround SAC (Spatial Audio Coding) decoding will be described in detail with reference to FIGS. 6 and 8.

상기 추출된 정렬비트열은 소정의 정보를 가지고 있으며, 상기 정렬비트열에 포함된 정보에 대한 실시예는 다음과 같다.The extracted sort bit string has predetermined information, and an embodiment of the information included in the sort bit string is as follows.

각 프레임의 부호화 과정에서 생성되는 정보가 상기 정렬비트열에 포함될 수 있다. 제1 실시예로, 부호화부(100)에서 부호화된 데이터들 중 전송 비트율 등의 제한에 의해 데이터비트열에 포함되지 못한 데이터가 상기 정렬데이터에 포함된다. 이 경우, 복호화부(430)는 상기 데이터비트열에 포함된 부호화된 데이터에 상기 정렬데이터에 포함된 데이터를 추가하여 복호화한다.Information generated during encoding of each frame may be included in the alignment bit string. In the first embodiment, the alignment data includes data that is not included in the data bit string due to the limitation of the transmission bit rate among the data encoded by the encoder 100. In this case, the decoder 430 adds and decodes the data included in the alignment data to the encoded data included in the data bit string.

각 프레임의 부호화 과정에서 생성된 정보 이외의 정보가 상기 정렬비트열에 포함될 수도 있다. 제2 실시예로서, 전송하는 비트스트림에 부가 정보, 예를 들어 메타 데이터(meta data) 또는 복사 방지를 위한 워터 마킹 데이터(watermarking data)가 상기 정렬비트열에 포함될 수 있다. 바람직하게는, 각 프레임에서 정렬비트열이 나타날때마다 상기 정렬비트열에 포함된 데이터를 연결하여 저장시킨 후, 상기 저장된 데이터가 소정의 크기가 되면 메타 데이터(meta data) 또는 복사 방지를 위한 워터 마킹 데이터(watermarking data)로 사용할 수 있다.Information other than the information generated in the encoding process of each frame may be included in the alignment bit string. In a second embodiment, additional information, for example, meta data or watermarking data for copy protection may be included in the alignment bit string in the bitstream to be transmitted. Preferably, whenever an alignment bit string appears in each frame, after connecting and storing data included in the alignment bit string, when the stored data has a predetermined size, watermarking for meta data or copy protection is performed. Can be used as watermarking data.

제3 실시예로서, 부호화 장치와 복호화 장치가 미리 약속한 정보, 예를 들어 전송 에러 확인을 위한 에러 체크 데이터가 상기 정렬비트열에 포함될 수 있다. 바람직하게는, 비트수와 에러 체크 데이터를 대응시키는 비트-패턴 테이블을 저장하는 저장부(미도시)를 검색하여 상기 추출된 정렬비트열의 비트수에 대응되는 에러 체크 데이터를 구하고, 상기 구해진 에러 체크 데이터와 상기 정렬비트열에 포함된 에러 체크 데이터를 비교한다. 상기 비교 결과, 두 에러 체크 데이터가 일치하면 상기 정렬비트열 이전의 데이터비트열 전송에 오류가 없음을 확인할 수 있다.As a third embodiment, information previously promised by the encoding apparatus and the decoding apparatus, for example, error check data for checking transmission error, may be included in the alignment bit string. Preferably, a storage unit (not shown) for storing a bit-pattern table that associates the number of bits with the error check data is obtained to obtain error check data corresponding to the number of bits of the extracted alignment bit string, and to obtain the obtained error check. Compare the data with the error check data included in the alignment bit string. As a result of the comparison, if the two error check data match, it can be confirmed that there is no error in data bit string transmission before the alignment bit string.

도 6은 멀티채널 오디오 신호의 부호화/복호화 장치의 구성에 대한 일실시예를 블록도로 도시한 것으로, MPEG Surround SAC(Spatial Audio Coding) 부호화 장치 및 복호화 장치의 개략적인 블록도이다.FIG. 6 is a block diagram illustrating an embodiment of a configuration of an apparatus for encoding / decoding a multichannel audio signal, and is a schematic block diagram of an MPEG Surround SAC (Spatial Audio Coding) encoding apparatus and a decoding apparatus.

도 6을 참조하면, 부호화부(600)는 멀티채널 오디오 신호를 스테레오 혹은 모노 신호로 다운믹스한 다운믹스 신호를 생성하는 다운믹스(downmix) 모듈 및 공간 정보(spatial parameter)들을 생성하는 공간 정보 예측(Spatial Parameter Estimation) 모듈을 구비한다. 부호화부(600)는 외부에서 다운믹스 처리된 임의의 다운믹스 신호(Artistic Downmix)로 입력받을 수도 있다. 복호화부(610)는 전송된 공간 정보들을 분석(Spatial Synthesis)한 후, 분석된 공간 정보를 이용해 입력된 다운믹스 신호로부터 원래의 멀티채널 오디오 신호를 복호화한다.Referring to FIG. 6, the encoder 600 predicts a downmix module for generating a downmix signal obtained by downmixing a multichannel audio signal into a stereo or mono signal and spatial information for generating spatial parameters. (Spatial Parameter Estimation) module. The encoder 600 may be input as an arbitrary downmix signal that is externally downmixed. The decoder 610 analyzes the transmitted spatial information and then decodes the original multichannel audio signal from the input downmix signal using the analyzed spatial information.

본 발명에 따른 멀티채널 오디오 신호의 부호화 및 복호화 방법과 그 장치는 기본적으로 MPEG Surround 표준을 기반으로 하는 멀티채널 오디오 신호의 처리 과정에 적용되지만, 반드시 이에 국한되는 것은 아니며 본 발명에 따른 조건을 만족하는 다른 신호의 처리 과정에 적용이 가능하다.The method and apparatus for encoding and decoding a multichannel audio signal according to the present invention are basically applied to a process of processing a multichannel audio signal based on the MPEG Surround standard, but are not necessarily limited thereto and satisfy the conditions according to the present invention. It can be applied to the processing of other signals.

도 7은 멀티채널 오디오 신호의 부호화 장치의 구성에 대한 일실시예를 블럭도로 도시한 것으로, MPEG Surround SAC(Spatial Audio Coding) 부호화 장치의 상세 블록도이다.FIG. 7 is a block diagram illustrating an embodiment of a configuration of an apparatus for encoding a multichannel audio signal, and is a detailed block diagram of an MPEG Surround SAC (Spatial Audio Coding) encoding apparatus.

도 7을 참조하면, 멀티채널 오디오 신호 부호화 장치는 다운믹스부(700), 공간정보산출부(710), 코아인코더(720) 및 파라미터인코더(730)를 포함하여 이루어진다.Referring to FIG. 7, the multi-channel audio signal encoding apparatus includes a downmixer 700, a spatial information calculator 710, a core encoder 720, and a parameter encoder 730.

다운믹스부(700)는 입력되는 멀티채널 오디오 신호를 다운믹스하여 다운믹스 신호를 생성한다. 예컨대, 5개의 채널을 갖는 멀티채널 오디오 신호를 스테레오 신호로 다운믹스하는 경우, 다운믹스 채널 1은 멀티채널 오디오 신호에서 1, 3, 4 채널의 성분을 조합하여 산출할 수 있고, 다운믹스 채널 2는 채널 2, 3, 5의 성분을 조합하여 산출할 수 있다.The downmix unit 700 downmixes the input multichannel audio signal to generate a downmix signal. For example, when downmixing a multichannel audio signal having five channels into a stereo signal, downmix channel 1 may be calculated by combining components of 1, 3, and 4 channels in the multichannel audio signal, and downmix channel 2 Can be calculated by combining the components of channels 2, 3, and 5.

공간정보산출부(710)는 공간정보를 산출한다. 공간정보에는, CLD(Channel Level Difference), ICC(Inter-channel Cross Correlation), CPC(Channel Prediction Coefficient) 등과 같은 공간 파라미터들이 포함된다.The spatial information calculator 710 calculates spatial information. The spatial information includes spatial parameters such as channel level difference (CLD), inter-channel cross correlation (ICC), channel prediction coefficient (CPC), and the like.

코아인코더(720)는 다운믹스 신호를 부호화하고, 파라미터 인코더(730)는 공간 정보를 부호화한다.The core encoder 720 encodes the downmix signal, and the parameter encoder 730 encodes spatial information.

도 8은 멀티채널 오디오 신호의 복호화 장치의 구성에 대한 일실시예를 블럭도로 도시한 것으로, MPEG Surround SAC(Spatial Audio Coding) 복호화 장치의 상세 블록도이다.8 is a block diagram illustrating an embodiment of a configuration of an apparatus for decoding a multichannel audio signal, which is a detailed block diagram of an MPEG Surround SAC (Spatial Audio Coding) decoding apparatus.

도 8을 참조하면, 멀티채널 오디오 신호의 복호화 장치는 디멀티플렉서(800), 코아디코더(810), 파라미터디코더(820) 및 멀티채널합성부(830)를 포함한다.Referring to FIG. 8, an apparatus for decoding a multichannel audio signal includes a demultiplexer 800, a co-decoder 810, a parameter decoder 820, and a multichannel synthesizer 830.

디멀티플렉서(800)는 입력되는 비트스트림으로부터 부호화된 다운믹스 신호와 공간정보를 각각 분리한다. 코아디코더(810)는 부호화된 다운믹스 신호를 복호화하여 다운믹스 신호를 생성하고, 파라미터디코더(820)는 부호화된 공간정보를 복호화하여 공간정보를 생성한다. 멀티채널합성부(830)는 상기 복호화된 공간정보와 다운믹스 신호를 이용하여 멀티채널 오디오 신호를 생성한다. The demultiplexer 800 separates the encoded downmix signal and the spatial information from the input bitstream, respectively. The codec decoder 810 decodes the encoded downmix signal to generate a downmix signal, and the parameter decoder 820 decodes the encoded spatial information to generate spatial information. The multi-channel synthesizer 830 generates a multi-channel audio signal using the decoded spatial information and the downmix signal.

본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다.The invention can also be embodied as computer readable code on a computer readable recording medium. The computer-readable recording medium includes all kinds of recording devices in which data that can be read by a computer system is stored. Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disks, optical data storage devices, and the like, which are also implemented in the form of carrier waves (for example, transmission over the Internet). Include.

이상 본 발명의 바람직한 실시예에 대해 상세히 기술하였지만, 본 발명이 속하는 기술분야에 있어서 통상의 지식을 가진 사람이라면, 첨부된 청구범위에 정의된 본 발명의 정신 및 범위에 벗어나지 않으면서 본 발명을 여러 가지로 변형 또는 변경하여 실시할 수 있음을 알 수 있을 것이다. 따라서, 본 발명의 앞으로의 실시예들의 변경은 본 발명의 기술을 벗어날 수 없을 것이다. Although a preferred embodiment of the present invention has been described in detail above, those skilled in the art to which the present invention pertains can make various changes without departing from the spirit and scope of the invention as defined in the appended claims. It will be appreciated that modifications or variations may be made. Accordingly, modifications to future embodiments of the present invention will not depart from the technology of the present invention.

이상에서 살펴본 바와 같이 본 발명에 따른 부호화/복호화 방법 및 장치에 의하면, 부호화된 데이터 비트열의 정렬을 위해 비트스트림에 포함되는 정렬 비트열에 삽입 가능한 정보를 부여함으로써, 복호화된 데이터의 품질을 향상시키고, 데이터 부호화 효율을 증가시켜, 특히 저비트율의 데이터 부호화/복호화에 있어 할당된 데이터 대역폭을 효율적으로 활용할 수 있다.As described above, according to the encoding / decoding method and apparatus according to the present invention, by inserting information into an alignment bit string included in a bitstream to align an encoded data bit string, the quality of the decoded data is improved, By increasing the data encoding efficiency, it is possible to efficiently utilize the allocated data bandwidth, particularly in the data encoding / decoding of low bit rate.

Claims (33)

데이터를 부호화하는 단계;Encoding data; 상기 부호화된 데이터와 부호화 정보를 포함하는 데이터 비트열을 생성하는 단계;Generating a data bit string including the encoded data and encoding information; 상기 생성된 데이터 비트열의 비트수를 이용하여 정렬 비트수를 결정하는 단계; 및Determining the number of alignment bits using the number of bits of the generated data bit string; And 상기 결정된 정렬 비트수를 가지며, 적어도 하나의 1을 포함하는 정렬 비트열을 생성하는 단계를 포함하는 것을 특징으로 하는 부호화 방법.And generating an alignment bit string having the determined number of alignment bits and including at least one one. 제1항에 있어서, 상기 정렬 비트수는The method of claim 1, wherein the number of alignment bits 상기 데이터 비트열의 비트수와 상기 데이터 비트열에 할당된 비트수 사이의 차인 것을 특징으로 하는 부호화 방법.And a difference between the number of bits of the data bit string and the number of bits allocated to the data bit string. 제2항에 있어서, 상기 데이터 비트열에 할당된 비트수는The number of bits allocated to the data bit stream is determined. 상기 데이터 비트열의 비트수 이상인 8의 배수들 중 최소값인 것을 특징으로 하는 부호화 방법.And a minimum value among multiples of 8 equal to or greater than the number of bits of the data bit string. 제1항에 있어서, 상기 정렬 비트열은The method of claim 1, wherein the alignment bit string 프레임(frame) 단위로 생성되는 것을 특징으로 하는 부호화 방법.The encoding method is generated in units of frames. 제1항에 있어서, 상기 정렬 비트열은The method of claim 1, wherein the alignment bit string 상기 부호화 단계에서 생성된 데이터 중 상기 생성된 데이터 비트열에 포함되지 않은 데이터를 포함하는 것을 특징으로 하는 부호화 방법.And encoding data not included in the generated data bit string among data generated in the encoding step. 제1항에 있어서, 상기 정렬 비트열은The method of claim 1, wherein the alignment bit string 상기 비트열에 대한 정보를 가지는 메타 데이터와 상기 비트열의 복사 방지를 위한 워터 마킹 데이터 중 적어도 하나를 포함하는 것을 특징으로 하는 부호화 방법.And at least one of metadata having information about the bit string and water marking data for copy protection of the bit string. 제6항에 있어서, 상기 메타 데이터는The method of claim 6, wherein the metadata is 상기 비트열에 대응되는 파일명, 제목, 장르, 가사 정보 중 적어도 하나를 포함하는 것을 특징으로 하는 부호화 방법.And at least one of a file name, a title, a genre, and lyrics information corresponding to the bit string. 제1항에 있어서, 상기 정렬 비트열은The method of claim 1, wherein the alignment bit string 상기 비트열의 전송 오류 확인을 위한 에러 체크 데이터를 포함하는 것을 특징으로 하는 부호화 방법.And error check data for checking transmission error of the bit string. 제8항에 있어서, 상기 정렬 비트열을 생성하는 단계는10. The method of claim 8, wherein generating the alignment bit string 상기 결정된 정렬 비트수에 대응되는 에러 체크 데이터를 구하는 단계; 및Obtaining error check data corresponding to the determined number of alignment bits; And 상기 구해진 에러 체크 데이터를 이용하여 상기 정렬 비트열을 생성하는 단계를 포함하는 것을 특징으로 하는 부호화 방법.And generating the alignment bit string by using the obtained error check data. 제1항 내지 제9항 중 어느 한 항에 있어서, 상기 부호화 단계는10. The method according to any one of claims 1 to 9, wherein the encoding step is 멀티채널 오디오 데이터를 다운믹스한 다운믹스 데이터를 생성하여 부호화하는 단계; 및Generating and encoding downmix data obtained by downmixing the multichannel audio data; And 상기 멀티채널 오디오 데이터의 공간정보를 산출하여 부호화하는 단계를 포함하는 것을 특징으로 하는 부호화 방법.And calculating and encoding spatial information of the multichannel audio data. 비트 스트림을 입력받아 데이터를 복호화하는 방법에 있어서,In the method for receiving a bit stream and decoding data, 상기 비트 스트림으로부터 부호화된 데이터와 부호화 정보를 포함하는 데이터 비트열을 추출하는 단계;Extracting a data bit string including encoded data and encoded information from the bit stream; 상기 추출된 데이터 비트열을 이용하여 정렬 비트수를 결정하는 단계;Determining the number of alignment bits using the extracted data bit stream; 상기 비트 스트림으로부터 상기 결정된 정렬 비트수를 가지는 정렬 비트열을 추출하는 단계; 및Extracting an alignment bit string having the determined number of alignment bits from the bit stream; And 상기 추출된 데이터 비트열과 정렬 비트열을 이용하여 데이터를 복호화하는 단계를 포함하는 것을 특징으로 하는 복호화 방법.And decoding the data using the extracted data bit stream and the alignment bit stream. 제11항에 있어서, 상기 정렬 비트수는The method of claim 11, wherein the number of alignment bits 상기 데이터 비트열의 비트수와 상기 데이터 비트열에 할당된 비트수 사이의 차인 것을 특징으로 하는 복호화 방법.And a difference between the number of bits of the data bit string and the number of bits allocated to the data bit string. 제12항에 있어서, 상기 데이터 비트열에 할당된 비트수는The method of claim 12, wherein the number of bits allocated to the data bit stream is 상기 데이터 비트열의 비트수 이상인 8의 배수들 중 최소값인 것을 특징으로 하는 복호화 방법.And a minimum value among multiples of 8 that is greater than or equal to the number of bits of the data bit string. 제11항에 있어서, 상기 복호화 단계는The method of claim 11, wherein the decoding step 상기 데이터 비트열에 상기 정렬 비트열을 추가하여 상기 데이터를 복호화하는 것을 특징으로 하는 복호화 방법.And decoding the data by adding the alignment bit string to the data bit string. 제11항에 있어서, 상기 복호화 단계는The method of claim 11, wherein the decoding step 상기 추출된 데이터 비트열을 이용하여 데이터를 복호화하는 단계; 및Decoding data using the extracted data bit string; And 상기 추출된 정렬 비트열로부터 상기 복호화된 데이터에 대한 정보를 가지는 메타 데이터와 상기 데이터의 복사 방지를 위한 워터 마킹 데이터 중 적어도 하나를 복호화하는 단계를 포함하는 것을 특징으로 하는 복호화 방법.And decoding at least one of metadata having information about the decoded data and watermarking data for copy protection of the data from the extracted alignment bit stream. 제15항에 있어서, 상기 메타 데이터는The method of claim 15, wherein the metadata is 상기 복호화된 데이터에 대응되는 파일명, 제목, 장르, 가사 정보 중 적어도 하나를 포함하는 것을 특징으로 하는 복호화 방법.And at least one of a file name, a title, a genre, and lyrics information corresponding to the decoded data. 제15항에 있어서, 상기 메타 데이터와 워터 마킹 데이터 중 적어도 하나를 복호화하는 단계는The method of claim 15, wherein the decoding of at least one of the metadata and the watermarking data comprises: 이전 프레임의 비트 스트림으로부터 추출된 정렬 비트열과 상기 추출된 정렬 비트열을 합하는 단계; 및Summing the extracted alignment bit string with the extracted alignment bit string from the bit stream of the previous frame; And 상기 합해진 정렬 비트열을 이용하여 상기 메타 데이터와 워터 마킹 데이터 중 적어도 하나를 복호화하는 단계를 포함하는 것을 특징으로 하는 복호화 방법.And decoding at least one of the meta data and the water marking data using the combined alignment bit string. 제11항에 있어서, 상기 복호화 단계는The method of claim 11, wherein the decoding step 상기 추출된 데이터 비트열을 이용하여 데이터를 복호화하는 단계; 및Decoding data using the extracted data bit string; And 상기 추출된 정렬 비트열의 에러 체크 데이터를 이용하여 상기 비트 스트림의 전송 오류 여부를 확인하는 단계를 포함하는 것을 특징으로 하는 복호화 방법.And checking whether the bit stream has a transmission error by using the error check data of the extracted alignment bit string. 제18항에 있어서, 상기 전송 오류 여부를 확인하는 단계는19. The method of claim 18, wherein the checking of the transmission error 상기 결정된 정렬 비트수에 대응되는 에러 체크 데이터를 구하는 단계; 및Obtaining error check data corresponding to the determined number of alignment bits; And 상기 추출된 정렬 비트열의 에러 체크 데이터와 상기 구해진 에러 체크 데이터를 비교하여, 상기 2개의 에러 체크 데이터가 일치하지 않는 경우 상기 비트 스트림 전송에 오류가 있는 것으로 판단하는 단계를 포함하는 것을 특징으로 하는 복호화 방법.And comparing the error check data of the extracted alignment bit string with the obtained error check data, and determining that there is an error in the bit stream transmission when the two error check data do not match. Way. 제11항 내지 제20항 중 어느 한 항에 있어서, 상기 데이터를 복호화하는 단 계는21. The method of any one of claims 11 to 20, wherein the step of decoding the data is 상기 데이터 비트열에 포함된 다운믹스 데이터와 공간 정보를 복호화하는 단계; 및Decoding downmix data and spatial information included in the data bit stream; And 상기 복호화된 다운믹스 데이터와 공간정보를 이용하여 멀티채널 오디오 데이터를 생성하는 단계를 포함하는 것을 특징으로 하는 복호화 방법.And generating multi-channel audio data using the decoded downmix data and spatial information. 데이터를 부호화하는 부호화부; 및An encoder for encoding data; And 상기 부호화된 데이터를 이용하여 비트스트림을 생성하는 비트스트림생성부를 포함하고,A bitstream generator configured to generate a bitstream using the encoded data; 상기 비트스트림생성부는The bit stream generation unit 상기 부호화된 데이터와 부호화 정보를 포함하는 데이터 비트열을 생성하는 데이터비트열생성부;A data bit string generator configured to generate a data bit string including the encoded data and encoded information; 상기 생성된 데이터 비트열의 비트수를 이용하여 정렬 비트수를 결정하는 정렬비트수결정부; 및An alignment bit number determination unit for determining an alignment bit number using the number of bits of the generated data bit string; And 상기 결정된 정렬 비트수를 가지며 적어도 하나의 1을 포함하는 정렬 비트열을 생성하는 정렬비트열생성부를 포함하는 것을 특징으로 하는 부호화 장치.And an alignment bit string generator for generating an alignment bit string having the determined number of alignment bits and including at least one one. 제21항에 있어서, 상기 정렬 비트수는The method of claim 21, wherein the number of alignment bits 상기 데이터 비트열의 비트수와 상기 데이터 비트열의 비트수 이상인 8의 배수들 중 최소값의 차인 것을 특징으로 하는 부호화 장치.And a difference between a minimum number of bits of the data bit string and a multiple of eight that is greater than or equal to the number of bits of the data bit string. 제21항에 있어서,The method of claim 21, 상기 부호화부에서 부호화된 데이터 중 상기 생성된 데이터 비트열에 포함되지 않은 데이터를 저장하는 저장부를 더 포함하고,The apparatus may further include a storage unit configured to store data which is not included in the generated data bit string among the data encoded by the encoder. 상기 정렬비트열생성부는The alignment bit string generation unit 상기 저장부에 저장된 데이터 중 상기 정렬 비트수에 상응하는 데이터를 이용하여 상기 정렬 비트열을 생성하는 것을 특징으로 하는 부호화 장치.And the alignment bit string is generated using data corresponding to the number of alignment bits among the data stored in the storage unit. 제21항에 있어서,The method of claim 21, 상기 비트스트림에 대한 정보를 가지는 메타 데이터와 상기 비트스트림의 복사 방지를 위한 워터 마킹 데이터 중 적어도 하나를 저장하는 저장부를 더 포함하고,And a storage unit for storing at least one of metadata having information about the bitstream and watermarking data for copy protection of the bitstream. 상기 정렬비트열생성부는The alignment bit string generation unit 상기 저장부에 저장된 데이터 중 상기 결정된 정렬 비트수에 상응하는 데이터를 이용하여 상기 정렬 비트열을 생성하는 것을 특징으로 하는 부호화 장치.And the alignment bit string is generated using data corresponding to the determined number of alignment bits among the data stored in the storage unit. 제21항에 있어서,The method of claim 21, 상기 비트열의 전송 오류 확인을 위한 에러 체크 데이터를 상기 정렬 비트수에 대응시켜 저장하는 저장부를 더 포함하고,A storage unit for storing error check data for checking transmission error of the bit string in correspondence with the number of alignment bits; 상기 정렬비트열생성부는The alignment bit string generation unit 상기 결정된 정렬 비트수에 대응되어 저장된 에러 체크 데이터를 상기 저장부로부터 읽어들이는 것을 특징으로 하는 부호화 장치.And the error check data stored corresponding to the determined number of alignment bits is read from the storage unit. 제21항 내지 제25항 중 어느 한 항에 있어서, 상기 부호화부는26. The apparatus of any one of claims 21 to 25, wherein the encoder 멀티채널 오디오 데이터를 다운믹스하여 다운믹스 데이터를 생성하는 다운믹스부;A downmix unit for downmixing multichannel audio data to generate downmix data; 상기 다운믹스 데이터를 부호화하는 코아인코더;A core encoder for encoding the downmix data; 상기 멀티채널 오디오 데이터의 공간정보를 산출하는 공간정보 생성부; 및A spatial information generator for calculating spatial information of the multichannel audio data; And 상기 공간정보를 부호화하는 파라미터 인코더를 포함하는 것을 특징으로 하는 부호화 장치. And a parameter encoder for encoding the spatial information. 비트스트림을 입력받아 데이터를 복호화하는 복호화 장치에 있어서,A decoding apparatus for receiving a bitstream and decoding data, 상기 비트 스트림으로부터 부호화된 데이터와 부호화 정보를 포함하는 데이터 비트열을 추출하는 데이터비트열추출부;A data bit string extracting unit extracting a data bit string including encoded data and encoded information from the bit stream; 상기 추출된 데이터 비트열을 이용하여 정렬 비트수를 결정하는 정렬비트수결정부;An alignment bit number determination unit that determines the number of alignment bits using the extracted data bit string; 상기 비트 스트림으로부터 상기 결정된 정렬 비트수를 가지는 정렬 비트열을 추출하는 정렬비트열추출부; 및An alignment bit string extracting unit for extracting an alignment bit string having the determined number of alignment bits from the bit stream; And 상기 추출된 데이터 비트열과 정렬 비트열을 이용하여 데이터를 복호화하는 복호화부를 포함하는 것을 특징으로 하는 복호화 장치.And a decoder which decodes data by using the extracted data bit string and the alignment bit string. 제27항에 있어서, 상기 정렬비트수는The method of claim 27, wherein the number of alignment bits 상기 데이터 비트열의 비트수와 상기 데이터 비트열의 비트수 이상인 8의 배수들 중 최소값 사이의 차인 것을 특징으로 하는 복호화 장치.And a difference between a minimum number of bits of the data bit string and a multiple of eight that is greater than or equal to the number of bits of the data bit string. 제27항에 있어서, 상기 복호화부는The method of claim 27, wherein the decoding unit 상기 추출된 데이터 비트열을 이용하여 데이터를 복호화하는 제1 복호화부; 및A first decoder which decodes data by using the extracted data bit string; And 상기 추출된 정렬 비트열로부터 상기 복호화된 데이터에 대한 정보를 가지는 메타 데이터와 상기 데이터의 복사 방지를 위한 워터 마킹 데이터 중 적어도 하나를 복호화하는 제2 복호화부를 포함하는 것을 특징으로 하는 복호화 장치.And a second decoder configured to decode at least one of metadata having information about the decoded data from the extracted alignment bit string and watermarking data for copy protection of the data. 제27항에 있어서, 상기 복호화부는The method of claim 27, wherein the decoding unit 상기 추출된 정렬 비트열의 에러 체크 데이터를 이용하여 상기 비트 스트림의 전송 오류 여부를 확인하는 전송오류확인부를 포함하는 것을 특징으로 하는 복호화 장치.And a transmission error checking unit for checking whether the bit stream has a transmission error by using the extracted error check data of the aligned bit stream. 제27항 내지 제30항 중 어느 한 항에 있어서, 상기 복호화부는31. The apparatus of any one of claims 27 to 30, wherein the decoder 상기 데이터비트열에 포함된 부호화된 다운믹스 데이터를 복호화하는 코아 디코더;A core decoder for decoding the encoded downmix data included in the data bit stream; 상기 데이터비트열에 포함된 부호화된 공간 정보를 복호화하는 파라미터 디코더; 및A parameter decoder for decoding the encoded spatial information included in the data bit stream; And 상기 복호화된 다운믹스 데이터와 공간 정보를 이용하여 멀티채널 오디오 데이터를 생성하는 멀티채널 합성부를 포함하는 것을 특징으로 하는 복호화 장치.And a multichannel synthesizer configured to generate multichannel audio data using the decoded downmix data and spatial information. 부호화된 데이터를 포함하는 비트 스트림의 데이터 구조에 있어서,In the data structure of a bit stream containing encoded data, 상기 부호화된 데이터와 부호화 정보를 프레임(frame) 단위로 포함하는 프레임데이터필드; 및A frame data field including the encoded data and encoding information in units of frames; And 상기 프레임데이터필드의 비트수 이상인 8의 배수들 중 최소값과 상기 프레임데이터필드의 비트수의 차에 해당하는 비트수를 가지며, 적어도 하나의 1을 포함하는 바이트정렬필드를 포함하는 것을 특징으로 하는 비트 스트림의 데이터 구조.A bit having a bit number corresponding to a difference between a minimum value of multiples of 8 equal to or greater than the number of bits of the frame data field and the number of bits of the frame data field, and including a byte alignment field including at least one 1 Data structure of the stream. 제1항 내지 제20항 중 어느 한 항에 기재된 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.A computer-readable recording medium having recorded thereon a program for executing the method according to any one of claims 1 to 20 on a computer.
KR1020060071752A 2005-09-14 2006-07-28 Method and apparatus for encoding/decoding KR20080010980A (en)

Priority Applications (8)

Application Number Priority Date Filing Date Title
KR1020060071752A KR20080010980A (en) 2006-07-28 2006-07-28 Method and apparatus for encoding/decoding
CN200680039336.2A CN101292428B (en) 2005-09-14 2006-09-14 Method and apparatus for encoding/decoding
US12/067,026 US20080288263A1 (en) 2005-09-14 2006-09-14 Method and Apparatus for Encoding/Decoding
JP2008531014A JP2009516402A (en) 2005-09-14 2006-09-14 Encoding / decoding method and apparatus
EP06843808A EP1932239A4 (en) 2005-09-14 2006-09-14 Method and apparatus for encoding/decoding
TW095134104A TWI330004B (en) 2005-09-14 2006-09-14 Method and apparatus for encoding/ decoding
PCT/KR2006/003658 WO2007066880A1 (en) 2005-09-14 2006-09-14 Method and apparatus for encoding/decoding
HK09103506.2A HK1125750A1 (en) 2005-09-14 2009-04-16 Method and apparatus for encoding/decoding

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060071752A KR20080010980A (en) 2006-07-28 2006-07-28 Method and apparatus for encoding/decoding

Publications (1)

Publication Number Publication Date
KR20080010980A true KR20080010980A (en) 2008-01-31

Family

ID=39222886

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060071752A KR20080010980A (en) 2005-09-14 2006-07-28 Method and apparatus for encoding/decoding

Country Status (2)

Country Link
KR (1) KR20080010980A (en)
TW (1) TWI330004B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100988010B1 (en) * 2008-04-23 2010-10-18 (주)휴맥스 Method and Apparatus for Coding and Decoding using Bit-Precision

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2082396A1 (en) * 2007-10-17 2009-07-29 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio coding using downmix

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100988010B1 (en) * 2008-04-23 2010-10-18 (주)휴맥스 Method and Apparatus for Coding and Decoding using Bit-Precision

Also Published As

Publication number Publication date
TWI330004B (en) 2010-09-01
TW200718034A (en) 2007-05-01

Similar Documents

Publication Publication Date Title
JP5006315B2 (en) Audio signal encoding and decoding method and apparatus
KR100936498B1 (en) Stereo compatible multi-channel audio coding
JP4601669B2 (en) Apparatus and method for generating a multi-channel signal or parameter data set
JP5254808B2 (en) Audio signal processing method and apparatus
US8364497B2 (en) Apparatus and method for coding and decoding multi-object audio signal with various channel
JP5302977B2 (en) Apparatus and method for calculating fingerprint of audio signal, apparatus and method for synchronization, and apparatus and method for characterization of test audio signal
US20080288263A1 (en) Method and Apparatus for Encoding/Decoding
US9570082B2 (en) Method, medium, and apparatus encoding and/or decoding multichannel audio signals
US8948891B2 (en) Method and apparatus for encoding/decoding multi-channel audio signal by using semantic information
WO2015056383A1 (en) Audio encoding device and audio decoding device
KR100718132B1 (en) Method and apparatus for generating bitstream of audio signal, audio encoding/decoding method and apparatus thereof
US20070183507A1 (en) Decoding scheme for variable block length signals
US7444289B2 (en) Audio decoding method and apparatus for reconstructing high frequency components with less computation
WO2009088257A2 (en) Method and apparatus for identifying frame type
RU2383941C2 (en) Method and device for encoding and decoding audio signals
JP4743228B2 (en) DIGITAL AUDIO SIGNAL ANALYSIS METHOD, ITS DEVICE, AND VIDEO / AUDIO RECORDING DEVICE
KR20080010980A (en) Method and apparatus for encoding/decoding
US20100286804A1 (en) Method and an apparatus for processing a signal
KR20070098726A (en) Method and apparatus for encoding/decoding a media signal
TWI412021B (en) Method and apparatus for encoding and decoding an audio signal
KR20080010981A (en) Method for encoding and decoding data
JP2008176339A (en) Voice coding method and voice decoding method
KR20070074442A (en) Apparatus and method for recovering multi-channel audio signal, and computer-readable medium storing a program performed in the apparatus
JP2008176340A (en) Voice coding method and voice decoding method
KR20080030847A (en) Method for encoding and decoding an audio signal

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid